diff options
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/ocaml/ChangeLog | 8 | ||||
-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 | 15 | ||||
-rw-r--r-- | dev-lang/ocaml/ocaml-3.11.1.ebuild | 22 |
5 files changed, 12 insertions, 308 deletions
diff --git a/dev-lang/ocaml/ChangeLog b/dev-lang/ocaml/ChangeLog index 238ec46c29b2..c8e0e1c27084 100644 --- a/dev-lang/ocaml/ChangeLog +++ b/dev-lang/ocaml/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/ocaml # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v 1.166 2009/06/19 21:55:06 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ChangeLog,v 1.167 2009/06/20 14:54:57 aballier Exp $ + + 20 Jun 2009; Alexis Ballier <aballier@gentoo.org> + -files/ocaml-3.11.0_beta1-configure.patch, + -files/ocaml-3.11.0_beta1-exec-stack-fixes.patch, + -files/ocaml-3.11.0_beta1-yaccldflags.patch, ocaml-3.11.1.ebuild: + Make a tarball from the various patches 19 Jun 2009; Alexis Ballier <aballier@gentoo.org> -ocaml-3.11.0.ebuild: remove old 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 67f68d6ff76c..000000000000 --- 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 4b15a35e123d..000000000000 --- 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 2bd64e0372a3..000000000000 --- a/dev-lang/ocaml/files/ocaml-3.11.0_beta1-yaccldflags.patch +++ /dev/null @@ -1,15 +0,0 @@ -http://caml.inria.fr/mantis/view.php?id=4698 - -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/ocaml-3.11.1.ebuild b/dev-lang/ocaml/ocaml-3.11.1.ebuild index d71d6ab92417..9bd975e9c29d 100644 --- a/dev-lang/ocaml/ocaml-3.11.1.ebuild +++ b/dev-lang/ocaml/ocaml-3.11.1.ebuild @@ -1,15 +1,17 @@ # Copyright 1999-2009 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.11.1.ebuild,v 1.1 2009/06/15 22:53:03 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.11.1.ebuild,v 1.2 2009/06/20 14:54:57 aballier Exp $ EAPI="1" inherit flag-o-matic eutils multilib versionator toolchain-funcs +PATCHLEVEL="1" MY_P="${P/_/+}" DESCRIPTION="Fast modern type-inferring functional programming language descended from the ML family" HOMEPAGE="http://www.ocaml.org/" -SRC_URI="ftp://ftp.inria.fr/INRIA/cristal/ocaml/ocaml-$( get_version_component_range 1-2)/${MY_P}.tar.gz" +SRC_URI="ftp://ftp.inria.fr/INRIA/cristal/ocaml/ocaml-$( get_version_component_range 1-2)/${MY_P}.tar.gz + mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.bz2" LICENSE="QPL-1.0 LGPL-2" SLOT="0" @@ -40,21 +42,7 @@ pkg_setup() { src_unpack() { unpack ${A} cd "${S}" - - # Fix the EXEC_STACK in ocaml compiled binaries (#153382) - epatch "${FILESDIR}"/${PN}-3.11.0_beta1-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.11.0_beta1-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" - - # Respect LDFLAGS for ocamlyacc - epatch "${FILESDIR}"/${PN}-3.11.0_beta1-yaccldflags.patch + EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" } src_compile() { |