From 747c68001f94f6bc6d97c41791abffe600ed0791 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 14 Jun 2019 10:32:28 +0200
Subject: [PATCH 1/7] ocaml: update to 4.08.0.

---
 .../ocaml/patches/ocaml-4.04.2-elfv2.patch    | 198 ------------------
 srcpkgs/ocaml/patches/ocaml-4.04.2-pie.patch  |  20 --
 .../patches/ocaml-4.04.2-sigcontext.patch     |  19 --
 srcpkgs/ocaml/template                        |  12 +-
 4 files changed, 5 insertions(+), 244 deletions(-)
 delete mode 100644 srcpkgs/ocaml/patches/ocaml-4.04.2-elfv2.patch
 delete mode 100644 srcpkgs/ocaml/patches/ocaml-4.04.2-pie.patch
 delete mode 100644 srcpkgs/ocaml/patches/ocaml-4.04.2-sigcontext.patch

diff --git a/srcpkgs/ocaml/patches/ocaml-4.04.2-elfv2.patch b/srcpkgs/ocaml/patches/ocaml-4.04.2-elfv2.patch
deleted file mode 100644
index d1d195765ca..00000000000
--- a/srcpkgs/ocaml/patches/ocaml-4.04.2-elfv2.patch
+++ /dev/null
@@ -1,198 +0,0 @@
---- ocaml-4.04.2/asmcomp/power/arch.ml
-+++ ocaml-4.04.2/asmcomp/power/arch.ml
-@@ -28,7 +28,7 @@ type abi = ELF32 | ELF64v1 | ELF64v2
- let abi =
-   match Config.model with
-   | "ppc" -> ELF32
--  | "ppc64" -> ELF64v1
-+  | "ppc64" -> ELF64v2
-   | "ppc64le" -> ELF64v2
-   | _ -> assert false
- 
---- ocaml-4.04.2/asmrun/power.S
-+++ ocaml-4.04.2/asmrun/power.S
-@@ -13,7 +13,7 @@
- /*                                                                        */
- /**************************************************************************/
- 
--#if defined(MODEL_ppc64le)
-+#if _CALL_ELF == 2
-         .abiversion 2
- #endif
- 
-@@ -41,8 +41,7 @@
- #define TRAP_PREVIOUS_OFFSET 4
- #define CALLBACK_LINK_SIZE 16
- #define CALLBACK_LINK_OFFSET 0
--#endif
--#if defined(MODEL_ppc64)
-+#elif _CALL_ELF == 1
- #define RESERVED_STACK 48
- #define PARAM_SAVE_AREA (8*8)
- #define LR_SAVE 16
-@@ -53,8 +52,7 @@
- #define TRAP_PREVIOUS_OFFSET 64
- #define CALLBACK_LINK_SIZE 32
- #define CALLBACK_LINK_OFFSET 48
--#endif
--#if defined(MODEL_ppc64le)
-+#elif _CALL_ELF == 2
- #define RESERVED_STACK 32
- #define PARAM_SAVE_AREA 0
- #define LR_SAVE 16
-@@ -80,9 +78,8 @@
- #define ENDFUNCTION(name) \
-   .size name, . - name
- 
--#endif
- 
--#if defined(MODEL_ppc64)
-+#elif _CALL_ELF == 1
- #define FUNCTION(name) \
-   .section ".opd","aw"; \
-   .align 3; \
-@@ -96,9 +93,8 @@
- #define ENDFUNCTION(name) \
-   .size name, . - .L.name
- 
--#endif
- 
--#if defined(MODEL_ppc64le)
-+#elif _CALL_ELF == 2
- #define FUNCTION(name) \
-   .section ".text"; \
-   .globl name; \
-@@ -157,7 +153,7 @@
- 
- #endif
- 
--#if defined(MODEL_ppc64)
-+#if _CALL_ELF == 1
-         .section ".opd","aw"
- #else
-         .section ".text"
-@@ -338,14 +334,14 @@ FUNCTION(caml_c_call)
- #if defined(MODEL_ppc)
-         mtctr   28
-         bctrl
--#elif defined(MODEL_ppc64)
-+#elif _CALL_ELF == 1
-         ld      0, 0(28)
-         mr      26, 2   /* save current TOC in a callee-save register */
-         mtctr   0
-         ld      2, 8(28)
-         bctrl
-         mr      2, 26   /* restore current TOC */
--#elif defined(MODEL_ppc64le)
-+#elif _CALL_ELF == 2
-         mtctr   28
-         mr      12, 28
-         mr      26, 2   /* save current TOC in a callee-save register */
-@@ -514,14 +510,14 @@ FUNCTION(caml_start_program)
- #if defined(MODEL_ppc)
-         mtctr   12
- .L105:  bctrl
--#elif defined(MODEL_ppc64)
-+#elif _CALL_ELF == 1
-         ld      0, 0(12)
-         mtctr   0
-         std     2, TOC_SAVE(1)
-         ld      2, 8(12)
- .L105:  bctrl
-         ld      2, TOC_SAVE(1)
--#elif defined(MODEL_ppc64le)
-+#elif _CALL_ELF == 2
-         mtctr   12
-         std     2, TOC_SAVE(1)
- .L105:  bctrl
-@@ -634,7 +630,7 @@ FUNCTION(caml_callback3_exn)
-         b       .L102
- ENDFUNCTION(caml_callback3_exn)
- 
--#if defined(MODEL_ppc64)
-+#if _CALL_ELF == 1
-         .section ".opd","aw"
- #else
-         .section ".text"
---- ocaml-4.04.2/testsuite/tests/asmgen/power.S
-+++ ocaml-4.04.2/testsuite/tests/asmgen/power.S
-@@ -25,12 +25,10 @@
- #if defined(MODEL_ppc)
- #define RESERVED_STACK 16
- #define LR_SAVE_AREA 4
--#endif
--#if defined(MODEL_ppc64)
-+#elif _CALL_ELF == 1
- #define RESERVED_STACK 48
- #define LR_SAVE_AREA 16
--#endif
--#if defined(MODEL_ppc64le)
-+#elif _CALL_ELF == 2
- #define RESERVED_STACK 32
- #define LR_SAVE_AREA 16
- #endif
-@@ -44,9 +42,8 @@
-   .type name, @function; \
-   .align 2; \
-   name:
--#endif
- 
--#if defined(MODEL_ppc64)
-+#elif _CALL_ELF == 1
- #define FUNCTION(name) \
-   .section ".opd","aw"; \
-   .align 3; \
-@@ -56,9 +53,8 @@
-   .text; \
-   .align 2; \
-   .L.name:
--#endif
- 
--#if defined(MODEL_ppc64le)
-+#elif _CALL_ELF == 2
- #define FUNCTION(name) \
-   .section ".text"; \
-   .globl name; \
-@@ -118,11 +114,11 @@ FUNCTION(call_gen_code)
-     /* Get function pointer in CTR */
- #if defined(MODEL_ppc)
-         mtctr   3
--#elif defined(MODEL_ppc64)
-+#elif _CALL_ELF == 1
-         ld      0, 0(3)
-         mtctr   0
-         ld      2, 8(3)
--#elif defined(MODEL_ppc64le)
-+#elif _CALL_ELF == 2
-         mtctr   3
-         mr      12, 3
- #else
-@@ -184,11 +180,11 @@ FUNCTION(caml_c_call)
-     /* Jump to C function (address in r28) */
- #if defined(MODEL_ppc)
-         mtctr   28
--#elif defined(MODEL_ppc64)
-+#elif _CALL_ELF == 1
-         ld      0, 0(28)
-         mtctr   0
-         ld      2, 8(28)
--#elif defined(MODEL_ppc64le)
-+#elif _CALL_ELF == 2
-         mtctr   28
-         mr      12, 28
- #else
---- ocaml-4.04.2/byterun/caml/stack.h
-+++ ocaml-4.04.2/byterun/caml/stack.h
-@@ -40,10 +40,10 @@
- #if defined(MODEL_ppc)
- #define Saved_return_address(sp) *((intnat *)((sp) - 4))
- #define Callback_link(sp) ((struct caml_context *)((sp) + 16))
--#elif defined(MODEL_ppc64)
-+#elif _CALL_ELF == 1
- #define Saved_return_address(sp) *((intnat *)((sp) + 16))
- #define Callback_link(sp) ((struct caml_context *)((sp) + (48 + 32)))
--#elif defined(MODEL_ppc64le)
-+#elif _CALL_ELF == 2
- #define Saved_return_address(sp) *((intnat *)((sp) + 16))
- #define Callback_link(sp) ((struct caml_context *)((sp) + (32 + 32)))
- #else
diff --git a/srcpkgs/ocaml/patches/ocaml-4.04.2-pie.patch b/srcpkgs/ocaml/patches/ocaml-4.04.2-pie.patch
deleted file mode 100644
index 6aed5844d33..00000000000
--- a/srcpkgs/ocaml/patches/ocaml-4.04.2-pie.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ocaml-4.04.2/asmcomp/emitaux.ml
-+++ ocaml-4.04.2/asmcomp/emitaux.ml
-@@ -205,6 +205,7 @@ let emit_frames a =
-     | None -> a.efa_word 0
-     end
-   in
-+  a.efa_align Arch.size_addr;
-   a.efa_word (List.length !frame_descriptors);
-   List.iter emit_frame !frame_descriptors;
-   Label_table.iter emit_debuginfo debuginfos;
---- ocaml-4.04.2/asmrun/power.S
-+++ ocaml-4.04.2/asmrun/power.S
-@@ -642,6 +642,7 @@ caml_system__code_end:
- /* Frame table */
- 
-         .section ".data"
-+        .align  wordalign
-         .globl  caml_system__frametable
-         .type   caml_system__frametable, @object
- caml_system__frametable:
diff --git a/srcpkgs/ocaml/patches/ocaml-4.04.2-sigcontext.patch b/srcpkgs/ocaml/patches/ocaml-4.04.2-sigcontext.patch
deleted file mode 100644
index 9cad3403931..00000000000
--- a/srcpkgs/ocaml/patches/ocaml-4.04.2-sigcontext.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- ocaml-4.04.2/asmrun/signals_osdep.h
-+++ ocaml-4.04.2/asmrun/signals_osdep.h
-@@ -297,11 +297,11 @@
-      sigact.sa_flags = 0
- 
-   typedef unsigned long context_reg;
--  #define CONTEXT_PC (context->regs->nip)
--  #define CONTEXT_EXCEPTION_POINTER (context->regs->gpr[29])
--  #define CONTEXT_YOUNG_LIMIT (context->regs->gpr[30])
--  #define CONTEXT_YOUNG_PTR (context->regs->gpr[31])
--  #define CONTEXT_SP (context->regs->gpr[1])
-+  #define CONTEXT_PC (context->gp_regs[32])
-+  #define CONTEXT_EXCEPTION_POINTER (context->gp_regs[29])
-+  #define CONTEXT_YOUNG_LIMIT (context->gp_regs[30])
-+  #define CONTEXT_YOUNG_PTR (context->gp_regs[31])
-+  #define CONTEXT_SP (context->gp_regs[1])
- 
- /****************** s390x, ELF (Linux) */
- #elif defined(TARGET_s390x) && defined(SYS_elf)
diff --git a/srcpkgs/ocaml/template b/srcpkgs/ocaml/template
index 08cf3a232ca..382b8d417ee 100644
--- a/srcpkgs/ocaml/template
+++ b/srcpkgs/ocaml/template
@@ -1,21 +1,19 @@
 # Template file for 'ocaml'
 pkgname=ocaml
-version=4.07.1
+version=4.08.0
 revision=1
+build_style="gnu-configure"
+configure_args="--with-pic"
 makedepends="ncurses-devel libX11-devel"
-short_desc="The main implementation of the Caml language"
+short_desc="Main implementation of the Caml language"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="QPL-1.0, LGPL-2.1-only"
 homepage="http://ocaml.org/"
 distfiles="https://github.com/${pkgname}/${pkgname}/archive/${version}.tar.gz"
-checksum=83683ddad54bd23773591a9f757e702fa5cfa2ea1b124d8fe75a73729e592bfe
+checksum=c8ff78d010cb037ac6d6729e40ebdbee109218899007ef23a20b8f459ac186d6
 nocross=yes
-disable_parallel_build=yes
 patch_args="-Np1"
 
-do_configure() {
-	./configure -prefix /usr -mandir /usr/share/man -fPIC
-}
 do_build() {
 	make ${makejobs} world.opt
 }

From 2c785e6abb76d70c3711fbdb7d9adfd87cbb98b5 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 14 Jun 2019 10:33:12 +0200
Subject: [PATCH 2/7] ocamlbuild: rebuild for ocaml-4.08.0

---
 srcpkgs/ocamlbuild/template | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/srcpkgs/ocamlbuild/template b/srcpkgs/ocamlbuild/template
index 539c01f9929..bb7d2201edd 100644
--- a/srcpkgs/ocamlbuild/template
+++ b/srcpkgs/ocamlbuild/template
@@ -1,8 +1,10 @@
 # Template file for 'ocamlbuild'
 pkgname=ocamlbuild
 version=0.14.0
-revision=1
+revision=2
 build_style=gnu-makefile
+make_build_args="PREFIX=/usr"
+make_install_args="PREFIX=/usr"
 hostmakedepends="ocaml"
 short_desc="OCaml build tool"
 maintainer="Leah Neukirchen <leah@vuxu.org>"

From 5cfd0250004a47f3bc9ef1db27a50a5769d5befd Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 14 Jun 2019 10:45:53 +0200
Subject: [PATCH 3/7] ocaml-findlib: rebuild for ocaml-4.08.0

---
 srcpkgs/ocaml-findlib/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/ocaml-findlib/template b/srcpkgs/ocaml-findlib/template
index bef5edb6170..519aa89bbab 100644
--- a/srcpkgs/ocaml-findlib/template
+++ b/srcpkgs/ocaml-findlib/template
@@ -1,7 +1,7 @@
 # Template file for 'ocaml-findlib'
 pkgname=ocaml-findlib
 version=1.7.3
-revision=3
+revision=5
 build_style=configure
 configure_args="-config /etc/findlib.conf -sitelib /usr/lib/ocaml -mandir /usr/share/man"
 make_build_args="all opt"

From e2a0fa9a812d2ef61b1de710a8209c1b6e881a9d Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 14 Jun 2019 10:49:57 +0200
Subject: [PATCH 4/7] ocaml-num: rebuild for ocaml-4.08.0

---
 srcpkgs/ocaml-num/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/ocaml-num/template b/srcpkgs/ocaml-num/template
index 0aca785c495..8afe7d8ff40 100644
--- a/srcpkgs/ocaml-num/template
+++ b/srcpkgs/ocaml-num/template
@@ -1,7 +1,7 @@
 # Template file for 'ocaml-num'
 pkgname=ocaml-num
 version=1.1
-revision=4
+revision=5
 build_style=gnu-makefile
 makedepends="ocaml ocaml-findlib"
 short_desc="OCaml legacy Num library for arbitrary-precision integers"

From bbddef383f8b16a8f76a6bdc986dee0198146bb3 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 14 Jun 2019 10:56:37 +0200
Subject: [PATCH 5/7] polygen: rebuild for ocaml-4.08.0

---
 srcpkgs/polygen/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/polygen/template b/srcpkgs/polygen/template
index a7ceca1d687..7c5df93839c 100644
--- a/srcpkgs/polygen/template
+++ b/srcpkgs/polygen/template
@@ -1,7 +1,7 @@
 # Template file for 'polygen'
 pkgname=polygen
 version=1.0.6.ds2
-revision=3
+revision=4
 build_style=gnu-makefile
 build_wrksrc="src"
 hostmakedepends="ocaml unzip"

From 620bbfefd113d9cf901d787e6a3b010e9a305d70 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 14 Jun 2019 10:58:29 +0200
Subject: [PATCH 6/7] supermin: rebuild for ocaml-4.08.0

---
 srcpkgs/supermin/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/supermin/template b/srcpkgs/supermin/template
index 6845ae9aff3..07fe80f46b3 100644
--- a/srcpkgs/supermin/template
+++ b/srcpkgs/supermin/template
@@ -1,7 +1,7 @@
 # Template file for 'supermin'
 pkgname=supermin
 version=5.1.20
-revision=1
+revision=2
 build_style=gnu-configure
 hostmakedepends="ocaml ocaml-findlib pkg-config e2fsprogs cpio perl"
 makedepends="e2fsprogs-devel"

From 208fa412eb0372e2d66db6b94709b02cdd3018a6 Mon Sep 17 00:00:00 2001
From: Leah Neukirchen <leah@vuxu.org>
Date: Fri, 14 Jun 2019 11:04:19 +0200
Subject: [PATCH 7/7] z3: rebuild for ocaml-4.08.0

---
 srcpkgs/z3/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/z3/template b/srcpkgs/z3/template
index f4f7af3a8f9..ccd40cf932f 100644
--- a/srcpkgs/z3/template
+++ b/srcpkgs/z3/template
@@ -1,7 +1,7 @@
 # Template file for 'z3'
 pkgname=z3
 version=4.8.5
-revision=1
+revision=2
 wrksrc="${pkgname}-Z3-${version}"
 build_style=configure
 configure_args="--prefix=/usr -g --python $(vopt_if ocaml --ml)"
