Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Aug 2014 13:55:11 +0000 (UTC)
From:      John Marino <marino@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r365380 - in head/lang/ocaml: . files
Message-ID:  <201408191355.s7JDtB4c051670@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: marino
Date: Tue Aug 19 13:55:11 2014
New Revision: 365380
URL: http://svnweb.freebsd.org/changeset/ports/365380
QAT: https://qat.redports.org/buildarchive/r365380/

Log:
  lang/ocaml: Improve jobcontrol in ocamlbuild
  
  Apply patch for upstream issue 0005371.  It improves job control in
  ocamlbuild and fixes some faulty sigpipe affecting ports build with
  ocamlbuild.
  
  PR:		189710
  Submitted by:	edwin (skylable.com)
  patch by:	glondu
  Approved by:	maintainer (Michael Gruenewald)

Added:
  head/lang/ocaml/files/patch-ocamlbuild   (contents, props changed)
Modified:
  head/lang/ocaml/Makefile

Modified: head/lang/ocaml/Makefile
==============================================================================
--- head/lang/ocaml/Makefile	Tue Aug 19 13:45:19 2014	(r365379)
+++ head/lang/ocaml/Makefile	Tue Aug 19 13:55:11 2014	(r365380)
@@ -4,7 +4,7 @@
 # for committer: bump PORTREVISION for math/facile whenever ocaml gets updated
 PORTNAME=	ocaml
 PORTVERSION=	4.01.0
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	lang
 MASTER_SITES=	http://caml.inria.fr/pub/distrib/${DISTNAME:R}/ \
 		${MASTER_SITE_GENTOO}

Added: head/lang/ocaml/files/patch-ocamlbuild
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/lang/ocaml/files/patch-ocamlbuild	Tue Aug 19 13:55:11 2014	(r365380)
@@ -0,0 +1,24 @@
+--- ocamlbuild/ocamlbuild_executor.ml.orig	2011-10-06 11:39:50.358159931 +0300
++++ ocamlbuild/ocamlbuild_executor.ml	2011-10-06 12:48:32.966029354 +0300
+@@ -200,7 +200,11 @@
+               try
+                 read fd u 0 (String.length u)
+               with
+-              | Unix.Unix_error(_,_,_) -> 0
++              | Unix.Unix_error(e,_,_)  ->
++                let msg = error_message e in
++                display (fun oc -> fp oc
++                        "Error while reading stdout/stderr: %s\n" msg);
++                0
+             in
+             if m = 0 then
+               if job.job_dying then
+@@ -236,6 +240,8 @@
+       (*display begin fun oc -> fp oc "Terminating job %a\n%!" print_job_id job.job_id; end;*)
+ 
+       decr jobs_active;
++      clear_nonblock (doi job.job_stdout);
++      clear_nonblock (doi job.job_stderr); (* we would get EAGAIN below otherwise *)
+       do_read ~loop:true (doi job.job_stdout) job;
+       do_read ~loop:true (doi job.job_stderr) job;
+       outputs := FDM.remove (doi job.job_stdout) (FDM.remove (doi job.job_stderr) !outputs);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201408191355.s7JDtB4c051670>