diff --git a/testing/ocaml/010_all_execstacks.patch b/testing/ocaml/010_all_execstacks.patch
index 87e30f40287adb79ace7f7b4a7c2f78cecb679d1..fa47d0c309ec16072d432976a974e02f2030655f 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 2ae0c494328ccef808581cc285a98519bad92371..5c4dbf064e4f3aabfce3345ee9aa5204860fa3f5 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 872f254e8584695e5bf9e99faf31440b6e94111f..0000000000000000000000000000000000000000
--- 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 3c1ff9f46ac2a614e14d797ce152db09f047b400..02f95e287661d5e7842dbdfd9a25c5f7f961145f 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 07176b47c6aeedbd6ec6f5e114efacfa8ce42472..0000000000000000000000000000000000000000
--- 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 2c26c4148e98af0ac0f9053d605b2ae6f7d4796e..e9027fcb0d5d31d58a77da287acf3a580610633b 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"