diff options
Diffstat (limited to 'dev-lang/ocaml')
-rw-r--r-- | dev-lang/ocaml/Manifest | 11 | ||||
-rw-r--r-- | dev-lang/ocaml/files/ocaml-3.10.0-automagic.patch | 51 | ||||
-rw-r--r-- | dev-lang/ocaml/files/ocaml-3.10.0-call-ld-with-proper-ldflags.patch | 30 | ||||
-rw-r--r-- | dev-lang/ocaml/files/ocaml-3.10.0-configure.patch | 133 | ||||
-rw-r--r-- | dev-lang/ocaml/files/ocaml-3.10.0-exec-stack-fixes.patch | 312 | ||||
-rw-r--r-- | dev-lang/ocaml/files/ocaml-3.10.2-tk85.patch | 53 | ||||
-rw-r--r-- | dev-lang/ocaml/files/ocaml-3.11.0_beta1-configure.patch | 38 | ||||
-rw-r--r-- | dev-lang/ocaml/files/ocaml-3.11.0_beta1-exec-stack-fixes.patch | 237 | ||||
-rw-r--r-- | dev-lang/ocaml/files/ocaml-3.11.0_beta1-yaccldflags.patch | 13 | ||||
-rw-r--r-- | dev-lang/ocaml/files/ocaml-rebuild.sh | 46 | ||||
-rw-r--r-- | dev-lang/ocaml/ocaml-3.10.2.ebuild | 134 |
11 files changed, 0 insertions, 1058 deletions
diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest deleted file mode 100644 index 6cc25b3..0000000 --- a/dev-lang/ocaml/Manifest +++ /dev/null @@ -1,11 +0,0 @@ -AUX ocaml-3.10.0-automagic.patch 1849 RMD160 6986c47d9d2d9bdaf246f3399ccc59a5751fe86d SHA1 d999c1023c5aa07316d8405fde6ebf3a1bcb2b9f SHA256 f959da02f8b31f3d1ad5b76426d493b50c87dc3a6241204470866a321ece40f9 -AUX ocaml-3.10.0-call-ld-with-proper-ldflags.patch 1497 RMD160 7eef667019e79f2877836f77a31466f9d301725b SHA1 36d95fb8b05e7bbff8e5f49a8f1faec5f11f0c78 SHA256 13d6cc7401c8374327e438517975fe9abf1b99030bb3243f2adb91d12570bc8d -AUX ocaml-3.10.0-configure.patch 5644 RMD160 1a63847a6e632f59fef8ff448b96bc45da15eae5 SHA1 6a030e48dd5fc399b985dd99e21b6c0e6b95a12e SHA256 f42e11db2d184532aa561b0b117f7ce5850bb50981ea997d08eee34f826360ac -AUX ocaml-3.10.0-exec-stack-fixes.patch 9395 RMD160 00d5e1ac85a090baeaf9b9cba2e277c72bef5792 SHA1 15bc9692307f4781c3d01db7724869f7e9a401d7 SHA256 a260416a0fc1cf05ff3b2dceac83bd00043ee7ad6a8f2487934723f5b9f406da -AUX ocaml-3.10.2-tk85.patch 2414 RMD160 1b8dc94de1c90264684a300f5f31ffce02e94cec SHA1 98c7a48c167500d3e7d8c34e79124dc0cedc315d SHA256 ba539578fbec539ff481b5fc786612d5e85b01cc2d6eee22a2f9ed340d2d0fd3 -AUX ocaml-3.11.0_beta1-configure.patch 1379 RMD160 88d927738686dfe566e53568bc921ff74d45cb51 SHA1 819a2de1e30c9e55af245ccd11483e100b7a2641 SHA256 734b7ede6f22bfb48e46bf7b10c9e7b448d15c62f5b5087104c3a1b34ad920b7 -AUX ocaml-3.11.0_beta1-exec-stack-fixes.patch 7262 RMD160 1a3d125b775494bf8e0f8d9b85edb101447d5756 SHA1 a0f762f089679f8f273ea0e44998a9c5e364ded7 SHA256 e8d7cded5ebc494df8be81764e80982cba0192d1e010472690ccff75e5d0e03b -AUX ocaml-3.11.0_beta1-yaccldflags.patch 508 RMD160 d89f899db37f5f469f42c750a972683a640d71f1 SHA1 508863141631669712f40df185a87b85434ee7bd SHA256 7396a13d80ab691f59a9e60fa93355c869245f6944e9b2d49cb0c4bce7816117 -AUX ocaml-rebuild.sh 1055 RMD160 a75f61820cfdc262912cc5af1241779bf900d4d7 SHA1 a673a51e05d6103863061109c4d5956ca6efdf2b SHA256 446aab21ab2d757d37666c28a634f5d0da5f690f2694354d77cdb73b202a37ae -DIST ocaml-3.10.2.tar.bz2 2284860 RMD160 f631230b090dbd9bf9a9f71631cd0347c033cbb1 SHA1 f604580bf2943891d8faf265eeb900bbe90abce0 SHA256 3755a32da1a7490d47fff7838c12c754d3fcfe69d7c9ff2358704259dc477c58 -EBUILD ocaml-3.10.2.ebuild 4439 RMD160 8156133f210d74f2cb9f88a7fde7520c47130c07 SHA1 e5ed09ce81c4155d742f9938f93355e701cf5593 SHA256 995b5fb36677173cb523b83db5eafec8d828bd029c611f68ae40baf12ffc6943 diff --git a/dev-lang/ocaml/files/ocaml-3.10.0-automagic.patch b/dev-lang/ocaml/files/ocaml-3.10.0-automagic.patch deleted file mode 100644 index 0aa9097..0000000 --- a/dev-lang/ocaml/files/ocaml-3.10.0-automagic.patch +++ /dev/null @@ -1,51 +0,0 @@ -Index: ocaml-3.10.0/configure -=================================================================== ---- ocaml-3.10.0.orig/configure -+++ ocaml-3.10.0/configure -@@ -31,6 +31,8 @@ x11_include_dir='' - x11_lib_dir='' - tk_wanted=yes - pthread_wanted=yes -+graph_wanted=yes -+dbm_wanted=yes - tk_defs='' - tk_libs='' - tk_x11=yes -@@ -87,6 +89,10 @@ while : ; do - ;; # Ignored for backward compatibility - -no-pthread*|--no-pthread*) - pthread_wanted=no;; -+ -no-dbm|--no-dbm) -+ dbm_wanted=no;; -+ -no-graph|--no-graph) -+ graph_wanted=no;; - -no-tk|--no-tk) - tk_wanted=no;; - -tkdefs*|--tkdefs*) -@@ -1233,7 +1239,7 @@ do - done - - --if test "$x11_include" = "not found" || test "$x11_link" = "not found" -+if test "$x11_include" = "not found" || test "$x11_link" = "not found" || test "$graph_wanted" = "no" - then - echo "X11 not found, the \"graph\" library will not be supported." - x11_include="" -@@ -1281,7 +1287,7 @@ for dir in /usr/include /usr/include/db1 - break - fi - done --if test "$dbm_include" = "not found" || test "$dbm_link" = "not found"; then -+if test "$dbm_include" = "not found" || test "$dbm_link" = "not found" || test "$dbm_wanted" = "no"; then - echo "NDBM not found, the \"dbm\" library will not be supported." - else - echo "NDBM found (in $dbm_include)" -@@ -1546,7 +1552,7 @@ echo " $otherlibraries" - echo "Configuration for the \"num\" library:" - echo " target architecture ...... $bng_arch (asm level $bng_asm_level)" - --if test "$x11_include" != "not found" && test "$x11_lib" != "not found"; then -+if test "$x11_include" != "not found" && test "$x11_lib" != "not found" && test "$graph_wanted" != "no"; then - echo "Configuration for the \"graph\" library:" - echo " options for compiling .... $x11_include" - echo " options for linking ...... $x11_link" diff --git a/dev-lang/ocaml/files/ocaml-3.10.0-call-ld-with-proper-ldflags.patch b/dev-lang/ocaml/files/ocaml-3.10.0-call-ld-with-proper-ldflags.patch deleted file mode 100644 index 29d94aa..0000000 --- a/dev-lang/ocaml/files/ocaml-3.10.0-call-ld-with-proper-ldflags.patch +++ /dev/null @@ -1,30 +0,0 @@ -As we now support LDFLAGS in NATIVECCLINKOPTS -it can happen that -Wl,--foo,--bar option is in that variable -As ocaml happens to call ld with NATIVECCLINKOPTS -we have to "translate" it so that ld doesn't bail out with unrecognized option -Initial patch from Julien Cristau : http://caml.inria.fr/mantis/view.php?id=4142 -Modified a bit to catch comma separated options -Index: ocaml-3.10.0/Makefile -=================================================================== ---- ocaml-3.10.0.orig/Makefile -+++ ocaml-3.10.0/Makefile -@@ -316,6 +316,8 @@ partialclean:: - rm -f ocaml toplevel/toplevellib.cma - - # The configuration file -+comma = , -+Wl = -Wl, - - utils/config.ml: utils/config.mlp config/Makefile - @rm -f utils/config.ml -@@ -326,8 +328,8 @@ utils/config.ml: utils/config.mlp config - -e 's|%%BYTELINK%%|$(BYTECC) $(BYTECCLINKOPTS)|' \ - -e 's|%%NATIVECC%%|$(NATIVECC) $(NATIVECCCOMPOPTS)|' \ - -e 's|%%NATIVELINK%%|$(NATIVECC) $(NATIVECCLINKOPTS)|' \ -- -e 's|%%PARTIALLD%%|$(PARTIALLD) $(NATIVECCLINKOPTS)|' \ -- -e 's|%%PACKLD%%|$(PARTIALLD) $(NATIVECCLINKOPTS) -o |' \ -+ -e 's|%%PARTIALLD%%|$(PARTIALLD) $(subst $(comma), ,$(subst $(Wl),,$(NATIVECCLINKOPTS)))|' \ -+ -e 's|%%PACKLD%%|$(PARTIALLD) $(subst $(comma), ,$(subst $(Wl),,$(NATIVECCLINKOPTS))) -o |' \ - -e 's|%%BYTECCLIBS%%|$(BYTECCLIBS)|' \ - -e 's|%%NATIVECCLIBS%%|$(NATIVECCLIBS)|' \ - -e 's|%%RANLIBCMD%%|$(RANLIBCMD)|' \ diff --git a/dev-lang/ocaml/files/ocaml-3.10.0-configure.patch b/dev-lang/ocaml/files/ocaml-3.10.0-configure.patch deleted file mode 100644 index d96d3f5..0000000 --- a/dev-lang/ocaml/files/ocaml-3.10.0-configure.patch +++ /dev/null @@ -1,133 +0,0 @@ -Index: ocaml-3.10.0/configure -=================================================================== ---- ocaml-3.10.0.orig/configure -+++ ocaml-3.10.0/configure -@@ -233,75 +233,75 @@ esac - # Configure the bytecode compiler - - bytecc="$cc" --bytecccompopts="" --bytecclinkopts="" -+bytecccompopts="${CFLAGS}" -+bytecclinkopts="${LDFLAGS}" - ostype="Unix" - exe="" - - case "$bytecc,$host" in - cc,*-*-nextstep*) - # GNU C extensions disabled, but __GNUC__ still defined! -- bytecccompopts="-fno-defer-pop $gcc_warnings -U__GNUC__ -posix" -- bytecclinkopts="-posix";; -+ bytecccompopts="$bytecccompopts -fno-defer-pop $gcc_warnings -U__GNUC__ -posix" -+ bytecclinkopts="$bytecclinkopts -posix";; - *,*-*-rhapsody*) - # Almost the same as NeXTStep -- bytecccompopts="-fno-defer-pop $gcc_warnings -DSHRINKED_GNUC" -+ bytecccompopts="$bytecccompopts -fno-defer-pop $gcc_warnings -DSHRINKED_GNUC" - mathlib="";; - *,*-*-darwin*) -- bytecccompopts="-fno-defer-pop -no-cpp-precomp $gcc_warnings" -+ bytecccompopts="$bytecccompopts -fno-defer-pop -no-cpp-precomp $gcc_warnings" - mathlib="" - # Tell gcc that we can use 32-bit code addresses for threaded code - # even if we compile in 64-bit mode - echo "#define ARCH_CODE32" >> m.h;; - *,*-*-beos*) -- bytecccompopts="-fno-defer-pop $gcc_warnings" -+ bytecccompopts="$bytecccompopts -fno-defer-pop $gcc_warnings" - # No -lm library - mathlib="";; - gcc,alpha*-*-osf*) -- bytecccompopts="-fno-defer-pop $gcc_warnings" -+ bytecccompopts="$bytecccompopts -fno-defer-pop $gcc_warnings" - if cc="$bytecc" sh ./hasgot -mieee; then - bytecccompopts="-mieee $bytecccompopts"; - fi - # Put code and static data in lower 4GB -- bytecclinkopts="-Wl,-T,12000000 -Wl,-D,14000000" -+ bytecclinkopts="$bytecclinkopts -Wl,-T,12000000 -Wl,-D,14000000" - # Tell gcc that we can use 32-bit code addresses for threaded code - echo "#define ARCH_CODE32" >> m.h;; - cc,alpha*-*-osf*) -- bytecccompopts="-std1 -ieee";; -+ bytecccompopts="$bytecccompopts -std1 -ieee";; - gcc,alpha*-*-linux*) - if cc="$bytecc" sh ./hasgot -mieee; then - bytecccompopts="-mieee $bytecccompopts"; - fi;; - cc,mips-*-irix6*) - # Add -n32 flag to ensure compatibility with native-code compiler -- bytecccompopts="-n32" -+ bytecccompopts="$bytecccompopts -n32" - # Turn off warning "unused library" -- bytecclinkopts="-n32 -Wl,-woff,84";; -+ bytecclinkopts="$bytecclinkopts -n32 -Wl,-woff,84";; - cc*,mips-*-irix6*) - # (For those who want to force "cc -64") - # Turn off warning "unused library" -- bytecclinkopts="-Wl,-woff,84";; -+ bytecclinkopts="$bytecclinkopts -Wl,-woff,84";; - *,alpha*-*-unicos*) - # For the Cray T3E -- bytecccompopts="-DUMK";; -+ bytecccompopts="$bytecccompopts -DUMK";; - gcc*,powerpc-*-aix*) - # Avoid name-space pollution by requiring Unix98-conformant includes -- bytecccompopts="-fno-defer-pop $gcc_warnings -D_XOPEN_SOURCE=500";; -+ bytecccompopts="$bytecccompopts -fno-defer-pop $gcc_warnings -D_XOPEN_SOURCE=500";; - *,powerpc-*-aix*) -- bytecccompopts="-D_XOPEN_SOURCE=500";; -+ bytecccompopts="$bytecccompopts -D_XOPEN_SOURCE=500";; - gcc*,*-*-cygwin*) -- bytecccompopts="-fno-defer-pop $gcc_warnings -U_WIN32" -+ bytecccompopts="$bytecccompopts -fno-defer-pop $gcc_warnings -U_WIN32" - exe=".exe" - ostype="Cygwin";; - gcc*,x86_64-*-linux*) -- bytecccompopts="-fno-defer-pop $gcc_warnings" -+ bytecccompopts="$bytecccompopts -fno-defer-pop $gcc_warnings" - # Tell gcc that we can use 32-bit code addresses for threaded code - # unless we are compiled for a shared library (-fPIC option) - echo "#ifndef __PIC__" >> m.h - echo "# define ARCH_CODE32" >> m.h - echo "#endif" >> m.h;; - gcc*) -- bytecccompopts="-fno-defer-pop $gcc_warnings";; -+ bytecccompopts="$bytecccompopts -fno-defer-pop $gcc_warnings";; - esac - - # Configure compiler to use in further tests -@@ -616,22 +616,22 @@ else - nativecc="$ccoption" - fi - --nativecccompopts='' --nativecclinkopts='' -+nativecccompopts="${CFLAGS}" -+nativecclinkopts="${LDFLAGS}" - nativeccrpath="$byteccrpath" - - case "$arch,$nativecc,$system,$host_type" in -- alpha,cc*,digital,*) nativecccompopts=-std1;; -- mips,cc*,irix,*) nativecccompopts=-n32 -- nativecclinkopts="-n32 -Wl,-woff,84";; -- *,*,nextstep,*) nativecccompopts="$gcc_warnings -U__GNUC__ -posix" -- nativecclinkopts="-posix";; -+ alpha,cc*,digital,*) nativecccompopts="$nativecccompopts -std1";; -+ mips,cc*,irix,*) nativecccompopts="$nativecccompopts -n32" -+ nativecclinkopts="$nativecclinkopts -n32 -Wl,-woff,84";; -+ *,*,nextstep,*) nativecccompopts="$nativecccompopts $gcc_warnings -U__GNUC__ -posix" -+ nativecclinkopts="$nativecclinkopts -posix";; - *,*,rhapsody,*darwin[1-5].*) -- nativecccompopts="$gcc_warnings -DSHRINKED_GNUC";; -- *,*,rhapsody,*) nativecccompopts="$gcc_warnings -DDARWIN_VERSION_6 $dl_defs" -+ nativecccompopts="$nativecccompopts $gcc_warnings -DSHRINKED_GNUC";; -+ *,*,rhapsody,*) nativecccompopts="$nativecccompopts $gcc_warnings -DDARWIN_VERSION_6 $dl_defs" - if $arch64; then partialld="ld -r -arch ppc64"; fi;; -- *,gcc*,cygwin,*) nativecccompopts="$gcc_warnings -U_WIN32";; -- *,gcc*,*,*) nativecccompopts="$gcc_warnings";; -+ *,gcc*,cygwin,*) nativecccompopts="$nativecccompopts $gcc_warnings -U_WIN32";; -+ *,gcc*,*,*) nativecccompopts="$nativecccompopts $gcc_warnings";; - esac - - asflags='' diff --git a/dev-lang/ocaml/files/ocaml-3.10.0-exec-stack-fixes.patch b/dev-lang/ocaml/files/ocaml-3.10.0-exec-stack-fixes.patch deleted file mode 100644 index 1236360..0000000 --- a/dev-lang/ocaml/files/ocaml-3.10.0-exec-stack-fixes.patch +++ /dev/null @@ -1,312 +0,0 @@ -Index: ocaml-3.10.0/asmcomp/alpha/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/alpha/emit.mlp -+++ ocaml-3.10.0/asmcomp/alpha/emit.mlp -@@ -811,6 +811,11 @@ let data l = - ` .data\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -843,6 +848,7 @@ let begin_assembly() = - `{emit_symbol lbl_begin}:\n` - - let end_assembly () = -+ nx_stack(); - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .text\n`; - ` .globl {emit_symbol lbl_end}\n`; -Index: ocaml-3.10.0/asmrun/alpha.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/alpha.S -+++ ocaml-3.10.0/asmrun/alpha.S -@@ -438,3 +438,7 @@ caml_system__frametable: - .word -1 /* negative frame size => use callback link */ - .word 0 /* no roots here */ - .align 3 -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -Index: ocaml-3.10.0/asmrun/amd64.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/amd64.S -+++ ocaml-3.10.0/asmrun/amd64.S -@@ -366,3 +366,7 @@ caml_negf_mask: - .align 16 - caml_absf_mask: - .quad 0x7FFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -Index: ocaml-3.10.0/asmrun/arm.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/arm.S -+++ ocaml-3.10.0/asmrun/arm.S -@@ -337,3 +337,7 @@ caml_system__frametable: - .short -1 /* negative frame size => use callback link */ - .short 0 /* no roots */ - .align 2 -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -Index: ocaml-3.10.0/asmrun/hppa.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/hppa.S -+++ ocaml-3.10.0/asmrun/hppa.S -@@ -532,3 +532,8 @@ G(caml_system__frametable): - .long L104 + 3 /* return address into callback */ - .short -1 /* negative frame size => use callback link */ - .short 0 /* no roots */ -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -+ -Index: ocaml-3.10.0/asmrun/i386.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/i386.S -+++ ocaml-3.10.0/asmrun/i386.S -@@ -416,3 +416,8 @@ Lmcount$stub: - hlt ; hlt ; hlt ; hlt ; hlt - .subsections_via_symbols - #endif -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -+ -Index: ocaml-3.10.0/asmrun/ia64.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/ia64.S -+++ ocaml-3.10.0/asmrun/ia64.S -@@ -528,3 +528,8 @@ caml_system__frametable: - - .common caml_saved_bsp#, 8, 8 - .common caml_saved_rnat#, 8, 8 -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -+ -Index: ocaml-3.10.0/asmrun/m68k.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/m68k.S -+++ ocaml-3.10.0/asmrun/m68k.S -@@ -242,3 +242,8 @@ _caml_system__frametable: - .long L107 | return address into callback - .word -1 | negative frame size => use callback link - .word 0 | no roots here -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -+ -Index: ocaml-3.10.0/asmrun/power-elf.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/power-elf.S -+++ ocaml-3.10.0/asmrun/power-elf.S -@@ -419,3 +419,7 @@ caml_system__frametable: - .short -1 /* negative size count => use callback link */ - .short 0 /* no roots here */ - -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -+ -Index: ocaml-3.10.0/asmrun/sparc.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/sparc.S -+++ ocaml-3.10.0/asmrun/sparc.S -@@ -405,3 +405,8 @@ Caml_system__frametable: - .type Caml_raise_exception, #function - .type Caml_system__frametable, #object - #endif -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -+ -Index: ocaml-3.10.0/asmcomp/amd64/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/amd64/emit.mlp -+++ ocaml-3.10.0/asmcomp/amd64/emit.mlp -@@ -676,6 +676,13 @@ let data l = - ` .data\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ -+ -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -689,6 +696,7 @@ let begin_assembly() = - `{emit_symbol lbl_begin}:\n` - - let end_assembly() = -+ nx_stack(); - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .text\n`; - ` .globl {emit_symbol lbl_end}\n`; -Index: ocaml-3.10.0/asmcomp/arm/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/arm/emit.mlp -+++ ocaml-3.10.0/asmcomp/arm/emit.mlp -@@ -642,6 +642,13 @@ let data l = - ` .data\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ -+ -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -661,6 +668,7 @@ let begin_assembly() = - `{emit_symbol lbl_begin}:\n` - - let end_assembly () = -+ nx_stack(); - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .text\n`; - ` .global {emit_symbol lbl_end}\n`; -Index: ocaml-3.10.0/asmcomp/hppa/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/hppa/emit.mlp -+++ ocaml-3.10.0/asmcomp/hppa/emit.mlp -@@ -994,6 +994,12 @@ let data l = - ` .data\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -1022,6 +1028,7 @@ let begin_assembly() = - - - let end_assembly() = -+ nx_stack(); - ` .code\n`; - let lbl_end = Compilenv.make_symbol (Some "code_end") in - declare_global lbl_end; -Index: ocaml-3.10.0/asmcomp/i386/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/i386/emit.mlp -+++ ocaml-3.10.0/asmcomp/i386/emit.mlp -@@ -947,6 +947,11 @@ let data l = - ` .data\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux_elf" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -960,6 +965,7 @@ let begin_assembly() = - `{emit_symbol lbl_begin}:\n` - - let end_assembly() = -+ nx_stack(); - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .text\n`; - ` .globl {emit_symbol lbl_end}\n`; -Index: ocaml-3.10.0/asmcomp/ia64/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/ia64/emit.mlp -+++ ocaml-3.10.0/asmcomp/ia64/emit.mlp -@@ -1306,6 +1306,11 @@ let data l = - ` .align 8\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -1315,6 +1320,7 @@ let begin_assembly() = - emit_define_symbol (Compilenv.make_symbol (Some "code_begin")) - - let end_assembly () = -+ nx_stack(); - ` .data\n`; - emit_define_symbol (Compilenv.make_symbol (Some "data_end")); - ` .text\n`; -Index: ocaml-3.10.0/asmcomp/power/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/power/emit.mlp -+++ ocaml-3.10.0/asmcomp/power/emit.mlp -@@ -916,6 +916,12 @@ let data l = - emit_string data_space; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "elf" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -932,6 +938,7 @@ let begin_assembly() = - `{emit_symbol lbl_begin}:\n` - - let end_assembly() = -+ nx_stack(); - if pic_externals then - (* Emit the pointers to external functions *) - StringSet.iter emit_external !external_functions; -Index: ocaml-3.10.0/asmcomp/sparc/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/sparc/emit.mlp -+++ ocaml-3.10.0/asmcomp/sparc/emit.mlp -@@ -741,6 +741,12 @@ let data l = - ` .data\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -754,6 +760,7 @@ let begin_assembly() = - `{emit_symbol lbl_begin}:\n` - - let end_assembly() = -+ nx_stack(); - ` .text\n`; - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .global {emit_symbol lbl_end}\n`; diff --git a/dev-lang/ocaml/files/ocaml-3.10.2-tk85.patch b/dev-lang/ocaml/files/ocaml-3.10.2-tk85.patch deleted file mode 100644 index b612ef8..0000000 --- a/dev-lang/ocaml/files/ocaml-3.10.2-tk85.patch +++ /dev/null @@ -1,53 +0,0 @@ -Index: ocaml-3.10.2/configure -=================================================================== ---- ocaml-3.10.2.orig/configure -+++ ocaml-3.10.2/configure -@@ -1339,6 +1339,8 @@ if test $has_tk = true; then - tcl_version=`sh ./runtest $tk_defs $tk_x11_include tclversion.c` - for tk_incs in \ - "-I/usr/local/include" \ -+ "-I/usr/local/include/tcl8.5 -I/usr/local/include/tk8.5" \ -+ "-I/usr/include/tcl8.5 -I/usr/include/tk8.5" \ - "-I/usr/local/include/tcl8.4 -I/usr/local/include/tk8.4" \ - "-I/usr/include/tcl8.4 -I/usr/include/tk8.4" \ - "-I/usr/local/include/tcl8.3 -I/usr/local/include/tk8.3" \ -@@ -1361,6 +1363,7 @@ if test $has_tk = true; then - 8.2) tclmaj=8 tclmin=2 tkmaj=8 tkmin=2 ;; - 8.3) tclmaj=8 tclmin=3 tkmaj=8 tkmin=3 ;; - 8.4) tclmaj=8 tclmin=4 tkmaj=8 tkmin=4 ;; -+ 8.5) tclmaj=8 tclmin=5 tkmaj=8 tkmin=5 ;; - *) echo "This version is not known."; has_tk=false ;; - esac - else -Index: ocaml-3.10.2/otherlibs/labltk/support/cltkImg.c -=================================================================== ---- ocaml-3.10.2.orig/otherlibs/labltk/support/cltkImg.c -+++ ocaml-3.10.2/otherlibs/labltk/support/cltkImg.c -@@ -98,7 +98,11 @@ camltk_setimgdata_native (value imgname, - pib.offset[0] = 0; - pib.offset[1] = 1; - pib.offset[2] = 2; -+#if (TK_MAJOR_VERSION == 8 && TK_MINOR_VERSION >= 5 || TK_MAJOR_VERSION > 8) -+ Tk_PhotoPutBlock(cltclinterp,ph,&pib,Int_val(x),Int_val(y),Int_val(w),Int_val(h) -+#else - Tk_PhotoPutBlock(ph,&pib,Int_val(x),Int_val(y),Int_val(w),Int_val(h) -+#endif - #if (TK_MAJOR_VERSION == 8 && TK_MINOR_VERSION >= 4 || TK_MAJOR_VERSION > 8) - , TK_PHOTO_COMPOSITE_SET - #endif -Index: ocaml-3.10.2/otherlibs/labltk/tkanim/tkAnimGIF.c -=================================================================== ---- ocaml-3.10.2.orig/otherlibs/labltk/tkanim/tkAnimGIF.c -+++ ocaml-3.10.2/otherlibs/labltk/tkanim/tkAnimGIF.c -@@ -334,7 +334,11 @@ FileReadGIF(interp, f, fileName, formatS - goto error; - } - } -+#if (TK_MAJOR_VERSION == 8 && TK_MINOR_VERSION >= 5 || TK_MAJOR_VERSION > 8) -+ Tk_PhotoPutBlock(interp, photoHandle, &block, 0, 0, imageWidth, imageHeight -+#else - Tk_PhotoPutBlock(photoHandle, &block, 0, 0, imageWidth, imageHeight -+#endif - #if (TK_MAJOR_VERSION == 8 && TK_MINOR_VERSION >= 4 || TK_MAJOR_VERSION > 8) - , TK_PHOTO_COMPOSITE_SET - #endif diff --git a/dev-lang/ocaml/files/ocaml-3.11.0_beta1-configure.patch b/dev-lang/ocaml/files/ocaml-3.11.0_beta1-configure.patch deleted file mode 100644 index 67f68d6..0000000 --- a/dev-lang/ocaml/files/ocaml-3.11.0_beta1-configure.patch +++ /dev/null @@ -1,38 +0,0 @@ -Index: ocaml-3.11.0+beta1/configure -=================================================================== ---- ocaml-3.11.0+beta1.orig/configure -+++ ocaml-3.11.0+beta1/configure -@@ -245,7 +245,7 @@ esac - # Configure the bytecode compiler - - bytecc="$cc" --mkexe="\$(BYTECC)" -+mkexe="\$(BYTECC) \$(BYTECCLINKOPTS)" - bytecccompopts="" - bytecclinkopts="" - dllccompopts="" -@@ -1500,7 +1500,15 @@ fi - - # Final twiddling of compiler options to work around known bugs - -+bytecccompopts="$CFLAGS $bytecccompopts" -+bytecclinkopts="$LDFLAGS $bytecclinkopts" -+natdynlinkopts="$LDFLAGS $natdynlinkopts" -+nativeccrawlinkopts="$RAW_LDFLAGS $nativecclinkopts" -+nativecclinkopts="$LDFLAGS $nativecclinkopts" -+nativecccompopts="$CFLAGS $nativecccompopts" - nativeccprofopts="$nativecccompopts" -+mksharedlib="$mksharedlib $LDFLAGS" -+mkmaindll="$mkmaindll $LDFLAGS" - case "$buggycc" in - gcc.2.96) - bytecccompopts="$bytecccompopts -fomit-frame-pointer" -@@ -1548,7 +1556,7 @@ echo "DEBUGGER=$debugger" >> Makefile - echo "CC_PROFILE=$cc_profile" >> Makefile - echo "SYSTHREAD_SUPPORT=$systhread_support" >> Makefile - echo "PARTIALLD=$partialld" >> Makefile --echo "PACKLD=\$(PARTIALLD) \$(NATIVECCLINKOPTS) -o " >> Makefile -+echo "PACKLD=\$(PARTIALLD) $nativeccrawlinkopts -o " >> Makefile - echo "DLLCCCOMPOPTS=$dllccompopts" >> Makefile - echo "IFLEXDIR=$iflexdir" >> Makefile - echo "O=o" >> Makefile diff --git a/dev-lang/ocaml/files/ocaml-3.11.0_beta1-exec-stack-fixes.patch b/dev-lang/ocaml/files/ocaml-3.11.0_beta1-exec-stack-fixes.patch deleted file mode 100644 index 4b15a35..0000000 --- a/dev-lang/ocaml/files/ocaml-3.11.0_beta1-exec-stack-fixes.patch +++ /dev/null @@ -1,237 +0,0 @@ -Index: ocaml-3.10.0/asmcomp/alpha/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/alpha/emit.mlp -+++ ocaml-3.10.0/asmcomp/alpha/emit.mlp -@@ -811,6 +811,11 @@ let data l = - ` .data\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -843,6 +848,7 @@ let begin_assembly() = - `{emit_symbol lbl_begin}:\n` - - let end_assembly () = -+ nx_stack(); - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .text\n`; - ` .globl {emit_symbol lbl_end}\n`; -Index: ocaml-3.10.0/asmrun/alpha.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/alpha.S -+++ ocaml-3.10.0/asmrun/alpha.S -@@ -438,3 +438,7 @@ caml_system__frametable: - .word -1 /* negative frame size => use callback link */ - .word 0 /* no roots here */ - .align 3 -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -Index: ocaml-3.10.0/asmrun/arm.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/arm.S -+++ ocaml-3.10.0/asmrun/arm.S -@@ -337,3 +337,7 @@ caml_system__frametable: - .short -1 /* negative frame size => use callback link */ - .short 0 /* no roots */ - .align 2 -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -Index: ocaml-3.10.0/asmrun/hppa.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/hppa.S -+++ ocaml-3.10.0/asmrun/hppa.S -@@ -532,3 +532,8 @@ G(caml_system__frametable): - .long L104 + 3 /* return address into callback */ - .short -1 /* negative frame size => use callback link */ - .short 0 /* no roots */ -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -+ -Index: ocaml-3.10.0/asmrun/ia64.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/ia64.S -+++ ocaml-3.10.0/asmrun/ia64.S -@@ -528,3 +528,8 @@ caml_system__frametable: - - .common caml_saved_bsp#, 8, 8 - .common caml_saved_rnat#, 8, 8 -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -+ -Index: ocaml-3.10.0/asmrun/m68k.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/m68k.S -+++ ocaml-3.10.0/asmrun/m68k.S -@@ -242,3 +242,8 @@ _caml_system__frametable: - .long L107 | return address into callback - .word -1 | negative frame size => use callback link - .word 0 | no roots here -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -+ -Index: ocaml-3.10.0/asmrun/power-elf.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/power-elf.S -+++ ocaml-3.10.0/asmrun/power-elf.S -@@ -419,3 +419,7 @@ caml_system__frametable: - .short -1 /* negative size count => use callback link */ - .short 0 /* no roots here */ - -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -+ -Index: ocaml-3.10.0/asmrun/sparc.S -=================================================================== ---- ocaml-3.10.0.orig/asmrun/sparc.S -+++ ocaml-3.10.0/asmrun/sparc.S -@@ -405,3 +405,8 @@ Caml_system__frametable: - .type Caml_raise_exception, #function - .type Caml_system__frametable, #object - #endif -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -+ -Index: ocaml-3.10.0/asmcomp/arm/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/arm/emit.mlp -+++ ocaml-3.10.0/asmcomp/arm/emit.mlp -@@ -642,6 +642,13 @@ let data l = - ` .data\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ -+ -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -661,6 +668,7 @@ let begin_assembly() = - `{emit_symbol lbl_begin}:\n` - - let end_assembly () = -+ nx_stack(); - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .text\n`; - ` .global {emit_symbol lbl_end}\n`; -Index: ocaml-3.10.0/asmcomp/hppa/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/hppa/emit.mlp -+++ ocaml-3.10.0/asmcomp/hppa/emit.mlp -@@ -994,6 +994,12 @@ let data l = - ` .data\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -1022,6 +1028,7 @@ let begin_assembly() = - - - let end_assembly() = -+ nx_stack(); - ` .code\n`; - let lbl_end = Compilenv.make_symbol (Some "code_end") in - declare_global lbl_end; -Index: ocaml-3.10.0/asmcomp/ia64/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/ia64/emit.mlp -+++ ocaml-3.10.0/asmcomp/ia64/emit.mlp -@@ -1306,6 +1306,11 @@ let data l = - ` .align 8\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -1315,6 +1320,7 @@ let begin_assembly() = - emit_define_symbol (Compilenv.make_symbol (Some "code_begin")) - - let end_assembly () = -+ nx_stack(); - ` .data\n`; - emit_define_symbol (Compilenv.make_symbol (Some "data_end")); - ` .text\n`; -Index: ocaml-3.10.0/asmcomp/power/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/power/emit.mlp -+++ ocaml-3.10.0/asmcomp/power/emit.mlp -@@ -916,6 +916,12 @@ let data l = - emit_string data_space; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "elf" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -932,6 +938,7 @@ let begin_assembly() = - `{emit_symbol lbl_begin}:\n` - - let end_assembly() = -+ nx_stack(); - if pic_externals then - (* Emit the pointers to external functions *) - StringSet.iter emit_external !external_functions; -Index: ocaml-3.10.0/asmcomp/sparc/emit.mlp -=================================================================== ---- ocaml-3.10.0.orig/asmcomp/sparc/emit.mlp -+++ ocaml-3.10.0/asmcomp/sparc/emit.mlp -@@ -741,6 +741,12 @@ let data l = - ` .data\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -754,6 +760,7 @@ let begin_assembly() = - `{emit_symbol lbl_begin}:\n` - - let end_assembly() = -+ nx_stack(); - ` .text\n`; - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .global {emit_symbol lbl_end}\n`; diff --git a/dev-lang/ocaml/files/ocaml-3.11.0_beta1-yaccldflags.patch b/dev-lang/ocaml/files/ocaml-3.11.0_beta1-yaccldflags.patch deleted file mode 100644 index b3dd1ea..0000000 --- a/dev-lang/ocaml/files/ocaml-3.11.0_beta1-yaccldflags.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: ocaml-3.11.0+beta1/yacc/Makefile -=================================================================== ---- ocaml-3.11.0+beta1.orig/yacc/Makefile -+++ ocaml-3.11.0+beta1/yacc/Makefile -@@ -25,7 +25,7 @@ OBJS= closure.o error.o lalr.o lr0.o mai - all: ocamlyacc$(EXE) - - ocamlyacc$(EXE): $(OBJS) -- $(CC) $(CFLAGS) $(CCLINKFLAGS) -o ocamlyacc $(OBJS) -+ $(CC) $(LDFLAGS) $(CFLAGS) $(CCLINKFLAGS) -o ocamlyacc $(OBJS) - - version.h : ../VERSION - echo "#define OCAML_VERSION \"`head -1 ../VERSION`\"" >version.h diff --git a/dev-lang/ocaml/files/ocaml-rebuild.sh b/dev-lang/ocaml/files/ocaml-rebuild.sh deleted file mode 100644 index 4871989..0000000 --- a/dev-lang/ocaml/files/ocaml-rebuild.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# run like this: ocaml-rebuild.sh [-h | -f] [emerge_options] - -emerge=/usr/bin/emerge - -if [ "$1" = "-h" ] -then - echo "usage: ocaml-rebuild.sh [-h | -f(orce)] [emerge_options]" - echo "With -f, the packages will first be unmerged and then emerged" - echo "with the given options to ensuree correct dependancy analysis." - echo "Otherwise emerge is run with the --pretend flag and the given" - echo "options." - echo "It is recommended to keep the list of rebuilt packages printed" - echo "in pretend mode in case something go wrong" - exit 1 -fi - -if [ "$1" = "-f" ] -then - pretend=0 - shift -else - pretend=1 -fi - -depends=`find /var/db/pkg -name DEPEND -exec grep -l 'dev-lang/ocaml\\|dev-ml/findlib' {} \;` - -for dep in $depends -do - dir=`dirname $dep` - pkg=`basename $dir` - category=`cat $dir/CATEGORY` - slot=`cat $dir/SLOT` - - tobuild=">=$category/$pkg:$slot $tobuild" - tobuildstr="\">=$category/$pkg:$slot\" $tobuildstr" -done - -echo Building $tobuildstr - -if [ $pretend -eq 1 ] -then - $emerge --pretend $@ $tobuild -else - $emerge --oneshot $@ $tobuild -fi diff --git a/dev-lang/ocaml/ocaml-3.10.2.ebuild b/dev-lang/ocaml/ocaml-3.10.2.ebuild deleted file mode 100644 index 599761f..0000000 --- a/dev-lang/ocaml/ocaml-3.10.2.ebuild +++ /dev/null @@ -1,134 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.10.2.ebuild,v 1.10 2008/09/22 18:56:34 armin76 Exp $ - -inherit flag-o-matic eutils multilib versionator toolchain-funcs - -EAPI="1" - -MY_P="${P/_rc/+rc}" -DESCRIPTION="Fast modern type-inferring functional programming language descended from the ML family" -HOMEPAGE="http://www.ocaml.org/" -SRC_URI="http://caml.inria.fr/distrib/ocaml-$( get_version_component_range 1-2)/${MY_P}.tar.bz2" - -LICENSE="QPL-1.0 LGPL-2" -SLOT="0" -KEYWORDS="alpha amd64 ~arm hppa ia64 ppc ppc64 sparc x86 ~x86-fbsd" -IUSE="emacs gdbm latex ncurses +ocamlopt tk X xemacs" - -DEPEND="tk? ( >=dev-lang/tk-3.3.3 ) - ncurses? ( sys-libs/ncurses ) - X? ( x11-libs/libX11 x11-proto/xproto ) - gdbm? ( sys-libs/gdbm )" - -PDEPEND="emacs? ( app-emacs/ocaml-mode ) - xemacs? ( app-xemacs/ocaml )" - -S="${WORKDIR}/${MY_P}" -pkg_setup() { - # dev-lang/ocaml creates its own objects but calls gcc for linking, which will - # results in relocations if gcc wants to create a PIE executable - if gcc-specs-pie ; then - append-ldflags -nopie - ewarn "Ocaml generates its own native asm, you're using a PIE compiler" - ewarn "We have appended -nopie to ocaml build options" - ewarn "because linking an executable with pie while the objects are not pic will not work" - fi -} - -src_unpack() { - unpack ${A} - cd "${S}" - - # Fix the EXEC_STACK in ocaml compiled binaries (#153382) - epatch "${FILESDIR}"/${PN}-3.10.0-exec-stack-fixes.patch - - # The configure script doesn't inherit previous defined variables, - # overwriting previous declarations of bytecccompopts, bytecclinkopts, - # nativecccompopts and nativecclinkopts. Reported upstream as issue 0004267. - epatch "${FILESDIR}"/${PN}-3.10.0-configure.patch - - # ocaml has automagics on libX11 and gdbm - # http://caml.inria.fr/mantis/view.php?id=4278 - epatch "${FILESDIR}/${PN}-3.10.0-automagic.patch" - - # Call ld with proper flags, different from gcc ones - # This happens when calling ocamlc -pack - # See comment in the patch - epatch "${FILESDIR}/${PN}-3.10.0-call-ld-with-proper-ldflags.patch" - - # Adapted from mandriva to get labltk built with tk8.5 - epatch "${FILESDIR}/${P}-tk85.patch" -} - -src_compile() { - local myconf="--host ${CHOST}" - - # dev-lang/ocaml tends to break/give unexpected results with "unsafe" CFLAGS. - strip-flags - append-flags -O0 - - # It doesn't compile on alpha without this LDFLAGS - use alpha && append-ldflags "-Wl,--no-relax" - - use tk || myconf="${myconf} -no-tk" - use ncurses || myconf="${myconf} -no-curses" - use X || myconf="${myconf} -no-graph" - use gdbm || myconf="${myconf} -no-dbm" - - # ocaml uses a home-brewn configure script, preventing it to use econf. - ./configure -prefix /usr \ - --bindir /usr/bin \ - --libdir /usr/$(get_libdir)/ocaml \ - --mandir /usr/share/man \ - --with-pthread ${myconf} || die "configure failed!" - - make world || die "make world failed!" - - # Native code generation can be disabled now - if use ocamlopt ; then - make opt || die "make opt failed!" - make opt.opt || die "make opt.opt failed!" - fi -} - -src_install() { - make BINDIR="${D}"/usr/bin \ - LIBDIR="${D}"/usr/$(get_libdir)/ocaml \ - MANDIR="${D}"/usr/share/man \ - install || die "make install failed!" - - # Install the compiler libs - dodir /usr/$(get_libdir)/ocaml/compiler-libs - insinto /usr/$(get_libdir)/ocaml/compiler-libs - doins {utils,typing,parsing}/*.{mli,cmi,cmo,cmx,o} - - # Symlink the headers to the right place - dodir /usr/include - dosym /usr/$(get_libdir)/ocaml/caml /usr/include/ - - # Remove ${D} from ld.conf, as the buildsystem isn't $(DESTDIR) aware - dosed "s:${D}::g" /usr/$(get_libdir)/ocaml/ld.conf - - dodoc Changes INSTALL README Upgrading - - # Create and envd entry for latex input files (this definitely belongs into - # CONTENT and not in pkg_postinst. - if use latex ; then - echo "TEXINPUTS=/usr/$(get_libdir)/ocaml/ocamldoc:" > "${T}"/99ocamldoc - doenvd "${T}"/99ocamldoc - fi - - # Install ocaml-rebuild.sh script rather than keeping it in $PORTDIR - dosbin "${FILESDIR}/ocaml-rebuild.sh" -} - -pkg_postinst() { - echo - ewarn "OCaml is not binary compatible from version to version, so you" - ewarn "need to rebuild all packages depending on it, that are actually" - ewarn "installed on your system. To do so, you can run:" - ewarn "/usr/sbin/ocaml-rebuild.sh [-h | emerge options]" - ewarn "Which will call emerge on all old packages with the given options" - echo -} |