svn commit: r365380 - in head/lang/ocaml: . files
John Marino
marino at FreeBSD.org
Tue Aug 19 13:55:12 UTC 2014
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);
More information about the svn-ports-head
mailing list