diff options
-rw-r--r-- | testing/ocaml/010_all_execstacks.patch | 200 | ||||
-rw-r--r-- | testing/ocaml/020_all_configure.patch | 16 | ||||
-rw-r--r-- | testing/ocaml/040_all_yaccldflags.patch | 17 | ||||
-rw-r--r-- | testing/ocaml/050_all_objinfoldflags.patch | 16 | ||||
-rw-r--r-- | testing/ocaml/060_all_linkorder.patch | 50 | ||||
-rw-r--r-- | testing/ocaml/APKBUILD | 47 |
6 files changed, 73 insertions, 273 deletions
diff --git a/testing/ocaml/010_all_execstacks.patch b/testing/ocaml/010_all_execstacks.patch index 87e30f4028..fa47d0c309 100644 --- a/testing/ocaml/010_all_execstacks.patch +++ b/testing/ocaml/010_all_execstacks.patch @@ -1,110 +1,23 @@ Fix the EXEC_STACK in ocaml compiled binaries (#153382) -Index: ocaml-3.12.0/asmcomp/alpha/emit.mlp +Index: ocaml-4.02.2/asmrun/sparc.S =================================================================== ---- ocaml-3.12.0.orig/asmcomp/alpha/emit.mlp -+++ ocaml-3.12.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.12.0/asmrun/alpha.S -=================================================================== ---- ocaml-3.12.0.orig/asmrun/alpha.S -+++ ocaml-3.12.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.12.0/asmrun/arm.S -=================================================================== ---- ocaml-3.12.0.orig/asmrun/arm.S -+++ ocaml-3.12.0/asmrun/arm.S -@@ -316,3 +316,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.12.0/asmrun/hppa.S -=================================================================== ---- ocaml-3.12.0.orig/asmrun/hppa.S -+++ ocaml-3.12.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.12.0/asmrun/ia64.S -=================================================================== ---- ocaml-3.12.0.orig/asmrun/ia64.S -+++ ocaml-3.12.0/asmrun/ia64.S -@@ -521,3 +521,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.12.0/asmrun/m68k.S -=================================================================== ---- ocaml-3.12.0.orig/asmrun/m68k.S -+++ ocaml-3.12.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.12.0/asmrun/sparc.S -=================================================================== ---- ocaml-3.12.0.orig/asmrun/sparc.S -+++ ocaml-3.12.0/asmrun/sparc.S -@@ -405,3 +405,8 @@ Caml_system__frametable: - .type Caml_raise_exception, #function - .type Caml_system__frametable, #object +--- ocaml-4.02.2.orig/asmrun/sparc.S ++++ ocaml-4.02.2/asmrun/sparc.S +@@ -356,3 +356,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.12.0/asmcomp/arm/emit.mlp +Index: ocaml-4.02.2/asmcomp/arm/emit.mlp =================================================================== ---- ocaml-3.12.0.orig/asmcomp/arm/emit.mlp -+++ ocaml-3.12.0/asmcomp/arm/emit.mlp -@@ -601,6 +601,13 @@ let data l = +--- ocaml-4.02.2.orig/asmcomp/arm/emit.mlp ++++ ocaml-4.02.2/asmcomp/arm/emit.mlp +@@ -888,6 +888,13 @@ let data l = ` .data\n`; List.iter emit_item l @@ -118,68 +31,19 @@ Index: ocaml-3.12.0/asmcomp/arm/emit.mlp (* Beginning / end of an assembly file *) let begin_assembly() = -@@ -617,6 +624,7 @@ let begin_assembly() = +@@ -920,6 +927,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.12.0/asmcomp/hppa/emit.mlp -=================================================================== ---- ocaml-3.12.0.orig/asmcomp/hppa/emit.mlp -+++ ocaml-3.12.0/asmcomp/hppa/emit.mlp -@@ -996,6 +996,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() = -@@ -1024,6 +1030,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.12.0/asmcomp/ia64/emit.mlp -=================================================================== ---- ocaml-3.12.0.orig/asmcomp/ia64/emit.mlp -+++ ocaml-3.12.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.12.0/asmcomp/power/emit.mlp + ` .globl {emit_symbol lbl_end}\n`; +Index: ocaml-4.02.2/asmcomp/power/emit.mlp =================================================================== ---- ocaml-3.12.0.orig/asmcomp/power/emit.mlp -+++ ocaml-3.12.0/asmcomp/power/emit.mlp -@@ -927,6 +927,12 @@ let data l = +--- ocaml-4.02.2.orig/asmcomp/power/emit.mlp ++++ ocaml-4.02.2/asmcomp/power/emit.mlp +@@ -882,6 +882,12 @@ let data l = emit_string data_space; List.iter emit_item l @@ -192,7 +56,7 @@ Index: ocaml-3.12.0/asmcomp/power/emit.mlp (* Beginning / end of an assembly file *) let begin_assembly() = -@@ -943,6 +949,7 @@ let begin_assembly() = +@@ -898,6 +904,7 @@ let begin_assembly() = `{emit_symbol lbl_begin}:\n` let end_assembly() = @@ -200,11 +64,11 @@ Index: ocaml-3.12.0/asmcomp/power/emit.mlp if pic_externals then (* Emit the pointers to external functions *) StringSet.iter emit_external !external_functions; -Index: ocaml-3.12.0/asmcomp/sparc/emit.mlp +Index: ocaml-4.02.2/asmcomp/sparc/emit.mlp =================================================================== ---- ocaml-3.12.0.orig/asmcomp/sparc/emit.mlp -+++ ocaml-3.12.0/asmcomp/sparc/emit.mlp -@@ -742,6 +742,12 @@ let data l = +--- ocaml-4.02.2.orig/asmcomp/sparc/emit.mlp ++++ ocaml-4.02.2/asmcomp/sparc/emit.mlp +@@ -724,6 +724,12 @@ let data l = ` .data\n`; List.iter emit_item l @@ -217,7 +81,7 @@ Index: ocaml-3.12.0/asmcomp/sparc/emit.mlp (* Beginning / end of an assembly file *) let begin_assembly() = -@@ -755,6 +761,7 @@ let begin_assembly() = +@@ -737,6 +743,7 @@ let begin_assembly() = `{emit_symbol lbl_begin}:\n` let end_assembly() = @@ -225,11 +89,11 @@ Index: ocaml-3.12.0/asmcomp/sparc/emit.mlp ` .text\n`; let lbl_end = Compilenv.make_symbol (Some "code_end") in ` .global {emit_symbol lbl_end}\n`; -Index: ocaml-3.12.0/asmrun/power-elf.S +Index: ocaml-4.02.2/asmrun/power-elf.S =================================================================== ---- ocaml-3.12.0.orig/asmrun/power-elf.S -+++ ocaml-3.12.0/asmrun/power-elf.S -@@ -418,3 +418,8 @@ caml_system__frametable: +--- ocaml-4.02.2.orig/asmrun/power-elf.S ++++ ocaml-4.02.2/asmrun/power-elf.S +@@ -478,3 +478,8 @@ caml_system__frametable: .long .L105 + 4 /* return address into callback */ .short -1 /* negative size count => use callback link */ .short 0 /* no roots here */ @@ -238,3 +102,15 @@ Index: ocaml-3.12.0/asmrun/power-elf.S +.section .note.GNU-stack,"",%progbits +#endif + +Index: ocaml-4.02.2/asmrun/arm.S +=================================================================== +--- ocaml-4.02.2.orig/asmrun/arm.S ++++ ocaml-4.02.2/asmrun/arm.S +@@ -498,3 +498,7 @@ caml_system__frametable: + .align 2 + .type caml_system__frametable, %object + .size caml_system__frametable, .-caml_system__frametable ++ ++#ifdef __ELF__ ++.section .note.GNU-stack,"",%progbits ++#endif diff --git a/testing/ocaml/020_all_configure.patch b/testing/ocaml/020_all_configure.patch index 2ae0c49432..5c4dbf064e 100644 --- a/testing/ocaml/020_all_configure.patch +++ b/testing/ocaml/020_all_configure.patch @@ -2,20 +2,20 @@ The configure script doesn't inherit previous defined variables, overwriting previous declarations of bytecccompopts, bytecclinkopts, nativecccompopts and nativecclinkopts. Reported upstream as issue 0004267. -Index: ocaml-3.12.0/configure +Index: ocaml-4.02.2/configure =================================================================== ---- ocaml-3.12.0.orig/configure -+++ ocaml-3.12.0/configure -@@ -241,7 +241,7 @@ esac +--- ocaml-4.02.2.orig/configure ++++ ocaml-4.02.2/configure +@@ -314,7 +314,7 @@ esac # Configure the bytecode compiler bytecc="$cc" -mkexe="\$(BYTECC)" +mkexe="\$(BYTECC) \$(BYTECCLINKOPTS)" + mkexedebugflag="-g" bytecccompopts="" bytecclinkopts="" - dllccompopts="" -@@ -1582,7 +1582,15 @@ fi +@@ -1694,7 +1694,15 @@ sharedcccompopts="-O $sharedcccompopts" # Final twiddling of compiler options to work around known bugs @@ -31,7 +31,7 @@ Index: ocaml-3.12.0/configure case "$buggycc" in gcc.2.96) bytecccompopts="$bytecccompopts -fomit-frame-pointer" -@@ -1618,6 +1626,7 @@ echo "NATIVECC=$nativecc" >> Makefile +@@ -1730,6 +1738,7 @@ echo "NATIVECC=$nativecc" >> Makefile echo "NATIVECCCOMPOPTS=$nativecccompopts" >> Makefile echo "NATIVECCPROFOPTS=$nativeccprofopts" >> Makefile echo "NATIVECCLINKOPTS=$nativecclinkopts" >> Makefile @@ -39,7 +39,7 @@ Index: ocaml-3.12.0/configure echo "NATIVECCRPATH=$nativeccrpath" >> Makefile echo "NATIVECCLIBS=$cclibs $dllib" >> Makefile echo "ASM=$as" >> Makefile -@@ -1630,7 +1639,7 @@ echo "DEBUGGER=$debugger" >> Makefile +@@ -1741,7 +1750,7 @@ echo "OTHERLIBRARIES=$otherlibraries" >> echo "CC_PROFILE=$cc_profile" >> Makefile echo "SYSTHREAD_SUPPORT=$systhread_support" >> Makefile echo "PARTIALLD=$partialld" >> Makefile diff --git a/testing/ocaml/040_all_yaccldflags.patch b/testing/ocaml/040_all_yaccldflags.patch deleted file mode 100644 index 872f254e85..0000000000 --- a/testing/ocaml/040_all_yaccldflags.patch +++ /dev/null @@ -1,17 +0,0 @@ -Respect LDFLAGS for ocamlyacc - -http://caml.inria.fr/mantis/view.php?id=4698 - -Index: ocaml-3.12.0/yacc/Makefile -=================================================================== ---- ocaml-3.12.0.orig/yacc/Makefile -+++ ocaml-3.12.0/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 \"`sed -e 1q ../VERSION`\"" >version.h diff --git a/testing/ocaml/050_all_objinfoldflags.patch b/testing/ocaml/050_all_objinfoldflags.patch index 3c1ff9f46a..02f95e2876 100644 --- a/testing/ocaml/050_all_objinfoldflags.patch +++ b/testing/ocaml/050_all_objinfoldflags.patch @@ -1,13 +1,13 @@ -Index: ocaml-3.12.0/tools/Makefile.shared +Index: ocaml-4.02.2/tools/Makefile.shared =================================================================== ---- ocaml-3.12.0.orig/tools/Makefile.shared -+++ ocaml-3.12.0/tools/Makefile.shared -@@ -229,7 +229,7 @@ beforedepend:: opnames.ml - # Display info on compiled files +--- ocaml-4.02.2.orig/tools/Makefile.shared ++++ ocaml-4.02.2/tools/Makefile.shared +@@ -286,7 +286,7 @@ CCOUT = -o $(EMPTY) + endif objinfo_helper$(EXE): objinfo_helper.c ../config/s.h -- $(BYTECC) -o objinfo_helper$(EXE) $(BYTECCCOMPOPTS) \ -+ $(MKEXE) -o objinfo_helper$(EXE) $(BYTECCCOMPOPTS) \ +- $(BYTECC) $(CCOUT)objinfo_helper$(EXE) $(BYTECCCOMPOPTS) \ ++ $(MKEXE) $(CCOUT)objinfo_helper$(EXE) $(BYTECCCOMPOPTS) \ objinfo_helper.c $(LIBBFD_LINK) - OBJINFO=../utils/misc.cmo ../utils/config.cmo ../bytecomp/bytesections.cmo \ + OBJINFO=../compilerlibs/ocamlcommon.cma \ diff --git a/testing/ocaml/060_all_linkorder.patch b/testing/ocaml/060_all_linkorder.patch deleted file mode 100644 index 07176b47c6..0000000000 --- a/testing/ocaml/060_all_linkorder.patch +++ /dev/null @@ -1,50 +0,0 @@ -Always pass the libraries to link as last argument to the linker. -Should fix build failures with as-needed such as: -https://bugs.gentoo.org/show_bug.cgi?id=331075 -https://bugs.gentoo.org/show_bug.cgi?id=331377 - -Index: ocaml-3.12.0/utils/ccomp.ml -=================================================================== ---- ocaml-3.12.0.orig/utils/ccomp.ml -+++ ocaml-3.12.0/utils/ccomp.ml -@@ -98,8 +98,18 @@ type link_mode = - | MainDll - | Partial - -+let is_lib name = String.length name >= 2 && String.sub name 0 2 = "-l" -+ -+let rec link_order init libs = function -+ [] -> List.rev_append init (List.rev libs) -+ | t::q -> if is_lib t then link_order init (t::libs) q else link_order (t::init) libs q -+ -+let rec split_libs libs others = function -+ [] -> (libs, others) -+ | t::q -> if is_lib t then split_libs (t::libs) others q else split_libs libs (t::others) q -+ - let call_linker mode output_name files extra = -- let files = quote_files files in -+ let files = quote_files (link_order [] [] files) in - let cmd = - if mode = Partial then - Printf.sprintf "%s%s %s %s" -@@ -108,7 +118,8 @@ let call_linker mode output_name files e - files - extra - else -- Printf.sprintf "%s -o %s %s %s %s %s %s %s" -+ let (cclibs,ccopts) = split_libs [] [] !Clflags.ccopts in -+ Printf.sprintf "%s -o %s %s %s %s %s %s %s %s" - (match !Clflags.c_compiler, mode with - | Some cc, _ -> cc - | None, Exe -> Config.mkexe -@@ -120,8 +131,9 @@ let call_linker mode output_name files e - (if !Clflags.gprofile then Config.cc_profile else "") - "" (*(Clflags.std_include_flag "-I")*) - (quote_prefixed "-L" !Config.load_path) -- (String.concat " " (List.rev !Clflags.ccopts)) -+ (String.concat " " ccopts) - files -+ (String.concat " " cclibs) - extra - in - command cmd = 0 diff --git a/testing/ocaml/APKBUILD b/testing/ocaml/APKBUILD index 2c26c4148e..e9027fcb0d 100644 --- a/testing/ocaml/APKBUILD +++ b/testing/ocaml/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Borys Zhukov <mp5@mp5.im> # Maintainer: Borys Zhukov <mp5@mp5.im> pkgname=ocaml -pkgver=3.12.1 -pkgrel=1 +pkgver=4.02.3 +pkgrel=0 pkgdesc="Main implementation of the Caml programming language" url="http://caml.inria.fr" arch="all" @@ -11,12 +11,10 @@ makedepends="ncurses-dev zlib-dev gdbm-dev" install="" options="textrels" subpackages="$pkgname-doc" -source="http://caml.inria.fr/pub/distrib/ocaml-3.12/$pkgname-$pkgver.tar.gz +source="http://caml.inria.fr/pub/distrib/ocaml-${pkgver%.*}/$pkgname-$pkgver.tar.gz 010_all_execstacks.patch 020_all_configure.patch - 040_all_yaccldflags.patch 050_all_objinfoldflags.patch - 060_all_linkorder.patch " _builddir="$srcdir/$pkgname-$pkgver" @@ -44,12 +42,11 @@ build() { done LDFLAGS="$LDFLAGS -fno-pie" ./configure -cc "${CC:-gcc}" \ - -bindir /usr/bin \ - -libdir /usr/lib/ocaml \ - -mandir /usr/share/man \ - -no-tk \ + --bindir /usr/bin \ + --libdir /usr/lib/ocaml \ + --mandir /usr/share/man \ || return 1 - make -j1 world.opt || return 1 + make world.opt || return 1 } package() { @@ -64,21 +61,15 @@ package() { find "$pkgdir"/usr/lib/ocaml -name \*.ml -delete } -md5sums="814a047085f0f901ab7d8e3a4b7a9e65 ocaml-3.12.1.tar.gz -ef0810371df5ca55843f8faf6707cd6f 010_all_execstacks.patch -2a88918e39e30016b1575b3ac740bb63 020_all_configure.patch -2c7171ae2c8c77ceadabbd4db7f6e01b 040_all_yaccldflags.patch -baed56051b58c3a7aef9248e85771de0 050_all_objinfoldflags.patch -b52c8999a7bf66fc3eab0de79cd2b4cc 060_all_linkorder.patch" -sha256sums="4f81ab86258be0eea1507dd5338c8670490f8616249821e731f8ac1c64caa4a7 ocaml-3.12.1.tar.gz -083649669bcafb2778336f776bfa37e0448a2e52b104447ef3a4bc212f1df87b 010_all_execstacks.patch -ff91dc8def0a2829bca64cdd8af5cb59073ca958753f18172d3bbc3bfede6c11 020_all_configure.patch -f663febae991b57c8b02cfe2b25f7ee0cbc1c6307f6d1b8b4148fda6b8f8d871 040_all_yaccldflags.patch -29e4fb60d61c73cca31da65c0742c17a6f67ef18c04b24d591cbc44c3b8dec9a 050_all_objinfoldflags.patch -1ce54407303ff6e03c7c8ba39bac7ede7d252e8fcf56b5bde54ffe4c3843b3e9 060_all_linkorder.patch" -sha512sums="9d594721816bb5e0edbb50e35496bc5f228a4419b05d518ea7fc72975b18c27ee0f34247efc3bdd264214eb285e72ddb42516fbae2f499a780e62ea4f9b85756 ocaml-3.12.1.tar.gz -2f408565a249e26bceaf1055e7923b103bb0e94f2381b1294aa8de286e6c06942ae89958e1c1dc275fe85ad56ff95484c3ca8a836cd29edaf27dadb1d06f4706 010_all_execstacks.patch -7ff4ad6dfbfbf97d44269fae8cb3bee1ea4e55ae7c83385a5acf27c1041a8c96e9dbf25f6359be65d263f4b6ae854b447855eda9e6ac64da3d48a3083456c5a8 020_all_configure.patch -007a787fd57e209302c999b1fb018bae94fe2150f7ecbbddec7e637444ee8e3f9965b14d0f89eab4e68cf5c374cc7e4bdc1087120be64efe7a953a21cd160bce 040_all_yaccldflags.patch -02c3dcf8c18bafc984f1396c576704b20a566e08a963bad877295018ede86dd530a6f770bab156506532564606f148454407e2497c19985a52a1d68625f1330f 050_all_objinfoldflags.patch -888f3aac57751fc6944f62e8cb14e3c17184f331144a58058ee8ac49a3a9add49f7a6e0f6024a36b960d0b8e8db9e80fbf91318c63241f86248caab4b2fdd99e 060_all_linkorder.patch" +md5sums="ef1a324608c97031cbd92a442d685ab7 ocaml-4.02.3.tar.gz +fd073bf6c3a451a031b4900a86c0db48 010_all_execstacks.patch +3838542279e0367271bf4dfd3dbb73c7 020_all_configure.patch +2dbce3de02afd4041311c3eb0076fa1e 050_all_objinfoldflags.patch" +sha256sums="928fb5f64f4e141980ba567ff57b62d8dc7b951b58be9590ffb1be2172887a72 ocaml-4.02.3.tar.gz +63e22fa143c3503951e5f3919028969b1713e2818a1158e5b0a340c4cf27bef8 010_all_execstacks.patch +5344d1cf1a90fd5c12467da35688dde283cf2f0b19eefd7a04a6d570841a3fb8 020_all_configure.patch +817fac532237d986277476c6890a498e5095f584c1959b286d188b51b0de1dbc 050_all_objinfoldflags.patch" +sha512sums="be69e00abc2503582d7a07440a59db6bc992cce8ed2812bf02de07578760ead2858544013bb1a7a28a3c812b79c2f545cdaef11653b04a39c04a898510c36187 ocaml-4.02.3.tar.gz +9c3ed77d84c4d1766f4d5568ca6c33aff08bd9d118b5a8c7af84b1263e39d3bba1e74221aad7290a10bc79a2c8ee86a7fa57d02eacabc9d36c14c7dacdda42cb 010_all_execstacks.patch +a4fb27979a75d951ee5c065e628028f03527618855fac4af3321cd2466953e0d1d40dec01816c012596ae656fb5bee51a2112b5038122a98e60d190f13e474b1 020_all_configure.patch +7d3f60153ab7df98879c6acff04e90977633449e16d176a48f492a6995a0a201e0f14255e6c45788edb6174832316e1ab893622a0b24d8dd1864ab8a0109e6ba 050_all_objinfoldflags.patch" |