diff options
author | 2014-01-18 13:12:48 +0000 | |
---|---|---|
committer | 2014-01-18 13:12:48 +0000 | |
commit | 09abaf3c4b08f137b43d6e90299587e7e4f9b7c2 (patch) | |
tree | 1241131007de5b32333e6f5e58c49e6180ac1ea2 /dev-lang/ocaml/files | |
parent | version bump (diff) | |
download | gentoo-2-09abaf3c4b08f137b43d6e90299587e7e4f9b7c2.tar.gz gentoo-2-09abaf3c4b08f137b43d6e90299587e7e4f9b7c2.tar.bz2 gentoo-2-09abaf3c4b08f137b43d6e90299587e7e4f9b7c2.zip |
Fix bug #459512 - dev-lang/ocaml with sys-libs/ncurses[tinfo] - .../work/ocaml-4.00.1/byterun/terminfo.c:54: undefined reference to 'tgetent', thanks to Reinis Danne for reporting (patch by me). Add virtual/pkg-config to DEPEND as the ocaml configure script calls pkg-config. Apply patch from upstream for upstream bug http://caml.inria.fr/mantis/view.php?id=5237 to ocaml-3.11.2.
(Portage version: 2.2.8/cvs/Linux x86_64, signed Manifest commit with key 618E971F)
Diffstat (limited to 'dev-lang/ocaml/files')
-rw-r--r-- | dev-lang/ocaml/files/ocaml-3.11.2-Fix-ocamlopt-w.r.t.-binutils-2.21.patch | 66 | ||||
-rw-r--r-- | dev-lang/ocaml/files/ocaml-4.01.0-pkg-config-ncurses.patch | 15 |
2 files changed, 81 insertions, 0 deletions
diff --git a/dev-lang/ocaml/files/ocaml-3.11.2-Fix-ocamlopt-w.r.t.-binutils-2.21.patch b/dev-lang/ocaml/files/ocaml-3.11.2-Fix-ocamlopt-w.r.t.-binutils-2.21.patch new file mode 100644 index 000000000000..fa7664cecc98 --- /dev/null +++ b/dev-lang/ocaml/files/ocaml-3.11.2-Fix-ocamlopt-w.r.t.-binutils-2.21.patch @@ -0,0 +1,66 @@ +From: Stephane Glondu <steph@glondu.net> +Date: Tue, 8 Mar 2011 21:17:40 +0100 +Subject: [PATCH] Fix ocamlopt w.r.t. binutils 2.21 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Bug: http://caml.inria.fr/mantis/view.php?id=5237 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617404 +Authors: Eric Cooper, spiralvoice +Reviewed-by: Stéphane Glondu <steph@glondu.net> +--- + asmcomp/amd64/emit.mlp | 13 +++++++------ + asmcomp/i386/emit.mlp | 6 +++--- + 2 files changed, 10 insertions(+), 9 deletions(-) + +diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp +index 4a3f844..525c6e6 100644 +--- a/asmcomp/amd64/emit.mlp ++++ b/asmcomp/amd64/emit.mlp +@@ -679,17 +679,18 @@ let fundecl fundecl = + emit_all true fundecl.fun_body; + List.iter emit_call_gc !call_gc_sites; + emit_call_bound_errors (); ++ begin match Config.system with ++ "linux" | "gnu" -> ++ ` .type {emit_symbol fundecl.fun_name},@function\n`; ++ ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n` ++ | _ -> () ++ end; + if !float_constants <> [] then begin + if macosx + then ` .literal8\n` + else ` .section .rodata.cst8,\"a\",@progbits\n`; + List.iter emit_float_constant !float_constants +- end; +- match Config.system with +- "linux" | "gnu" -> +- ` .type {emit_symbol fundecl.fun_name},@function\n`; +- ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n` +- | _ -> () ++ end + + (* Emission of data *) + +diff --git a/asmcomp/i386/emit.mlp b/asmcomp/i386/emit.mlp +index 2992f29..0b1252c 100644 +--- a/asmcomp/i386/emit.mlp ++++ b/asmcomp/i386/emit.mlp +@@ -905,12 +905,12 @@ let fundecl fundecl = + emit_all true fundecl.fun_body; + List.iter emit_call_gc !call_gc_sites; + emit_call_bound_errors (); +- List.iter emit_float_constant !float_constants; +- match Config.system with ++ begin match Config.system with + "linux_elf" | "bsd_elf" | "gnu" -> + ` .type {emit_symbol fundecl.fun_name},@function\n`; + ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n` +- | _ -> () ++ | _ -> () end; ++ List.iter emit_float_constant !float_constants + + + (* Emission of data *) +-- diff --git a/dev-lang/ocaml/files/ocaml-4.01.0-pkg-config-ncurses.patch b/dev-lang/ocaml/files/ocaml-4.01.0-pkg-config-ncurses.patch new file mode 100644 index 000000000000..b9fa750ff07d --- /dev/null +++ b/dev-lang/ocaml/files/ocaml-4.01.0-pkg-config-ncurses.patch @@ -0,0 +1,15 @@ +--- ocaml-4.01.0-orig/configure 2013-08-23 16:22:36.000000000 +1000 ++++ ocaml-4.01.0/configure 2014-01-18 20:06:50.669644267 +1100 +@@ -892,7 +892,11 @@ + # For the terminfo module + + if test "$withcurses" = "yes"; then +- for libs in "" "-lcurses" "-ltermcap" "-lcurses -ltermcap" "-lncurses"; do ++ ncurseslibs="" ++ if pkg-config --exists ncurses 2>/dev/null; then ++ ncurseslibs=`pkg-config --libs ncurses` ++ fi ++ for libs in "${ncurseslibs}" "-lcurses" "-ltermcap" "-lcurses -ltermcap" "-lncurses"; do + if sh ./hasgot $libs tgetent tgetstr tgetnum tputs; then + echo "termcap functions found (with libraries '$libs')" + echo "#define HAS_TERMCAP" >> s.h |