unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#35280] [PATCH] Remove ocaml-4.02
@ 2019-04-14 20:25 Julien Lepiller
  2019-04-14 20:32 ` [bug#35280] [PATCH 1/5] gnu: Add ocaml-bigarray-compat Julien Lepiller
  2019-04-25 17:04 ` bug#35280: [PATCH] Remove ocaml-4.02 Julien Lepiller
  0 siblings, 2 replies; 7+ messages in thread
From: Julien Lepiller @ 2019-04-14 20:25 UTC (permalink / raw)
  To: 35280

Hi!

This patch series removes ocaml-4.02 and dependent packages. I updated
bap to 1.6.0 (so it can build with the latest ocaml) and downgraded
ocamlify for the same reason. I removed the obsolete jbuilder and
adapted two dependents.

Thanks!

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#35280] [PATCH 1/5] gnu: Add ocaml-bigarray-compat.
  2019-04-14 20:25 [bug#35280] [PATCH] Remove ocaml-4.02 Julien Lepiller
@ 2019-04-14 20:32 ` Julien Lepiller
  2019-04-14 20:32   ` [bug#35280] [PATCH 2/5] gnu: bap: Update to 1.6.0 Julien Lepiller
                     ` (3 more replies)
  2019-04-25 17:04 ` bug#35280: [PATCH] Remove ocaml-4.02 Julien Lepiller
  1 sibling, 4 replies; 7+ messages in thread
From: Julien Lepiller @ 2019-04-14 20:32 UTC (permalink / raw)
  To: 35280

* gnu/packages/ocaml.scm (ocaml-bigarray-compat): New variable.
---
 gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0190c3937a..92489ba52d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -859,6 +859,28 @@ Knuth’s LR(1) parser construction technique.")
     (inputs `(("ocaml" ,ocaml-4.02)))
     (native-inputs '())))
 
+(define-public ocaml-bigarray-compat
+  (package
+    (name "ocaml-bigarray-compat")
+    (version "1.0.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/mirage/bigarray-compat")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "06j1dwlpisxshdd0nab4n4x266gg1s1n8na16lpgw3fvcznwnimz"))))
+    (build-system dune-build-system)
+    (arguments
+     `(#:tests? #f)); no tests
+    (home-page "https://github.com/mirage/bigarray-compat")
+    (synopsis "OCaml compatibility library")
+    (description "This package contains a compatibility library for
+@code{Stdlib.Bigarray} in OCaml.")
+    (license license:isc)))
+
 (define-public lablgtk
   (package
     (name "lablgtk")
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#35280] [PATCH 2/5] gnu: bap: Update to 1.6.0.
  2019-04-14 20:32 ` [bug#35280] [PATCH 1/5] gnu: Add ocaml-bigarray-compat Julien Lepiller
@ 2019-04-14 20:32   ` Julien Lepiller
  2019-04-14 20:32   ` [bug#35280] [PATCH 3/5] gnu: Remove ocaml-jbuilder Julien Lepiller
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Julien Lepiller @ 2019-04-14 20:32 UTC (permalink / raw)
  To: 35280

* gnu/packages/ocaml.scm (bap): Update to 1.6.0.
(ocaml-frontc): Update to 3.4.1.
(ocaml-fileutils, ocaml-cstruct, ocaml-hex, ocaml-ezjsonm, ocaml-uri):
New variables.
(ocaml4.02-fileutils, ocaml4.02-cstruct, ocaml4.02-hex,
ocaml4.02-ezjsonm, ocaml4.02-uri): Remove variables.
---
 gnu/packages/ocaml.scm | 215 ++++++++++++++++++-----------------------
 1 file changed, 95 insertions(+), 120 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 92489ba52d..18c2531658 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1247,19 +1247,20 @@ for speed and space economy.")
 (define-public ocaml-frontc
   (package
     (name "ocaml-frontc")
-    (version "3.4")
+    (version "3.4.1")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://www.irit.fr/recherches/ARCHI/MARCH/"
-                                  "frontc/Frontc-" version ".tgz"))
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/BinaryAnalysisPlatform/FrontC")
+                     (commit (string-append
+                               "V_" (string-join (string-split version #\.) "_")))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "16dz153s92dgbw1rrfwbhscy73did87kfmjwyh3qpvs748h1sc4g"))))
+                "1dq5nks0c9gsbr1m8k39m1bniawr5hqcy1r8x5px7naa95ch06ak"))))
     (build-system ocaml-build-system)
     (arguments
-     `(#:ocaml ,ocaml-4.02
-       #:findlib ,ocaml4.02-findlib
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
          (delete 'configure)
          (add-after 'install 'install-meta
@@ -2712,9 +2713,9 @@ language.")
 can match the question using a regular expression or a timeout.")
     (license license:lgpl2.1+))) ; with the OCaml static compilation exception
 
-(define-public ocaml4.02-fileutils
+(define-public ocaml-fileutils
   (package
-    (name "ocaml4.02-fileutils")
+    (name "ocaml-fileutils")
     (version "0.5.3")
     (source (origin
               (method url-fetch)
@@ -2723,11 +2724,9 @@ can match the question using a regular expression or a timeout.")
                (base32
                 "1rc4cqlvdhbs55i85zfbfhz938fsy4fj6kwlkfm3ra7bpwn8bmpd"))))
     (build-system ocaml-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.02
-       #:findlib ,ocaml4.02-findlib))
     (native-inputs
-     `(("ounit" ,ocaml4.02-ounit)))
+     `(("ocamlbuild" ,ocamlbuild)
+       ("ounit" ,ocaml-ounit)))
     (home-page "http://ocaml-fileutils.forge.ocamlcore.org")
     (synopsis "Pure OCaml functions to manipulate real file and filename")
     (description "Library to provide pure OCaml functions to manipulate real
@@ -3896,43 +3895,24 @@ big- and little-endian, with their unsafe counter-parts.")
 (define-public ocaml4.02-ocplib-endian
   (package-with-ocaml4.02 ocaml-ocplib-endian))
 
-(define-public ocaml4.02-cstruct
+(define-public ocaml-cstruct
   (package
-    (name "ocaml4.02-cstruct")
-    (version "2.3.1")
+    (name "ocaml-cstruct")
+    (version "4.0.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/mirage/ocaml-cstruct/"
-                                  "archive/v" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/mirage/ocaml-cstruct")
+                     (commit (string-append "v" version))))
               (sha256
                (base32
-                "15qpdc8421shq4pprdas9jznpva45229wkfqbwcxw9khaiiz7949"))
-              (file-name (string-append name "-" version ".tar.gz"))))
-    (build-system ocaml-build-system)
+                "0m4bz0digcsc8l2msfikwcbi1y371kccx6xnkwrz212mf5mp98bv"))))
+    (build-system dune-build-system)
     (arguments
-     `(#:ocaml ,ocaml-4.02
-       #:findlib ,ocaml4.02-findlib
-       #:configure-flags
-       (list "--enable-lwt" "--enable-async")
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'link-stubs
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (stubs (string-append out "/lib/ocaml/site-lib/stubslibs"))
-                    (lib (string-append out "/lib/ocaml/site-lib/cstruct")))
-               (mkdir-p stubs)
-               (symlink (string-append lib "/dllcstruct_stubs.so")
-                        (string-append stubs "/dllcstruct_stubs.so"))))))))
+     `(#:package "cstruct"
+       #:test-target "."))
     (native-inputs
-     `(("ounit" ,ocaml4.02-ounit)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("camlp4" ,camlp4-4.02)))
-    (propagated-inputs
-     `(("ocplib-endian" ,ocaml4.02-ocplib-endian)
-       ("lwt" ,ocaml4.02-lwt)
-       ("async" ,ocaml4.02-async)
-       ("sexplib" ,ocaml4.02-sexplib)))
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
     (home-page "https://github.com/mirage/ocaml-cstruct")
     (synopsis "Access C structures via a camlp4 extension")
     (description "Cstruct is a library and syntax extension to make it easier
@@ -3940,33 +3920,34 @@ to access C-like structures directly from OCaml.  It supports both reading and
 writing to these structures, and they are accessed via the Bigarray module.")
     (license license:isc)))
 
-(define-public ocaml4.02-hex
+(define-public ocaml-hex
   (package
-    (name "ocaml4.02-hex")
-    (version "1.0.0")
+    (name "ocaml-hex")
+    (version "1.4.0")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/mirage/ocaml-hex/"
-                                  "archive/" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/mirage/ocaml-hex")
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0s63g0b8gfv2xm6fv6xg7bva8h76b5pcjb0zw3f8cygs0lq9072v"))
-              (file-name (string-append name "-" version ".tar.gz"))))
-    (build-system ocaml-build-system)
+                "0c8nhibcwy0ykzca4jn3gqb8ylq21ff88y82gl60wyzijr64rn0q"))))
+    (build-system dune-build-system)
     (arguments
-     `(#:ocaml ,ocaml-4.02
-       #:findlib ,ocaml4.02-findlib))
+     `(#:test-target "."))
     (propagated-inputs
-     `(("cstruct" ,ocaml4.02-cstruct)))
+     `(("ocaml-bigarray-compat" ,ocaml-bigarray-compat)
+       ("cstruct" ,ocaml-cstruct)))
     (home-page "https://github.com/mirage/ocaml-hex/")
     (synopsis "Minimal library providing hexadecimal converters")
     (description "Hex is a minimal library providing hexadecimal converters.")
     (license license:isc)))
 
-(define-public ocaml4.02-ezjsonm
+(define-public ocaml-ezjsonm
   (package
-    (name "ocaml4.02-ezjsonm")
-    (version "0.4.3")
+    (name "ocaml-ezjsonm")
+    (version "1.0.0")
     (source
      (origin
        (method git-fetch)
@@ -3975,19 +3956,17 @@ writing to these structures, and they are accessed via the Bigarray module.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "1y6p3ga6vj1wx5dyns7hjgd0qgrrn2hnn323a7y5didgci5pybls"))))
-    (build-system ocaml-build-system)
+        (base32 "1dzjqrj7nl15ij921r7439fp0m7jrl3vskkdqb4syihjvsbvq1sj"))))
+    (build-system dune-build-system)
+    (arguments
+     `(#:package "ezjsonm"
+       #:test-target "."))
     (native-inputs
-     `(("alcotest" ,ocaml4.02-alcotest)))
+     `(("ocaml-alcotest" ,ocaml-alcotest)))
     (propagated-inputs
-     `(("hex" ,ocaml4.02-hex)
-       ("jsonm" ,ocaml4.02-jsonm)
-       ("lwt" ,ocaml4.02-lwt)
-       ("sexplib" ,ocaml4.02-sexplib)))
-    (arguments
-     `(#:configure-flags (list "--enable-lwt")
-       #:ocaml ,ocaml-4.02
-       #:findlib ,ocaml4.02-findlib))
+     `(("ocaml-hex" ,ocaml-hex)
+       ("ocaml-jsonm" ,ocaml-jsonm)
+       ("ocaml-sexplib" ,ocaml-sexplib)))
     (home-page "https://github.com/mirage/ezjsonm/")
     (synopsis "Read and write JSON data")
     (description "Ezjsonm provides more convenient (but far less flexible) input
@@ -3996,10 +3975,10 @@ the need to write signal code, which is useful for quick scripts that manipulate
 JSON.")
     (license license:isc)))
 
-(define-public ocaml4.02-uri
+(define-public ocaml-uri
   (package
-    (name "ocaml4.02-uri")
-    (version "1.9.2")
+    (name "ocaml-uri")
+    (version "2.2.0")
     (source
      (origin
        (method git-fetch)
@@ -4008,19 +3987,17 @@ JSON.")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
-        (base32 "137pg8j654x7r0d1664iy2zp3l82nki1kkh921lwdrwc5qqdl6jx"))))
-    (build-system ocaml-build-system)
+        (base32 "1ppbav41mszpjcl0zi3fyg958cxyfs57i7kvha4ds9ydn89bjmrh"))))
+    (build-system dune-build-system)
     (arguments
-     `(#:ocaml ,ocaml-4.02
-       #:findlib ,ocaml4.02-findlib))
+     `(#:test-target "."))
     (native-inputs
-     `(("ounit" ,ocaml4.02-ounit)))
+     `(("ocaml-ounit" ,ocaml-ounit)
+       ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)))
     (propagated-inputs
-     `(("ppx-sexp-conv" ,ocaml4.02-ppx-sexp-conv)
-       ("re" ,ocaml4.02-re)
-       ("ppx-deriving" ,ocaml4.02-ppx-deriving)
-       ("sexplib" ,ocaml4.02-sexplib)
-       ("stringext" ,ocaml4.02-stringext)))
+     `(("ocaml-re" ,ocaml-re)
+       ("ocaml-sexplib0" ,ocaml-sexplib0)
+       ("ocaml-stringext" ,ocaml-stringext)))
     (home-page "https://github.com/mirage/ocaml-uri")
     (synopsis "RFC3986 URI/URL parsing library")
     (description "OCaml-uri is a library for parsing URI/URL in the RFC3986 format.")
@@ -4258,50 +4235,52 @@ XML and Protocol Buffers formats.")
 (define-public bap
   (package
     (name "bap")
-    (version "1.3.0")
+    (version "1.6.0")
     (home-page "https://github.com/BinaryAnalysisPlatform/bap")
     (source (origin
-              (method url-fetch)
-              (uri (string-append home-page "/archive/v" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                     (url home-page)
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "0v95v9mp7mg8fj25ry0w7566zd9xp6cs8nnqj4l38q54fb1hfav9"))
-              (file-name (string-append name "-" version ".tar.gz"))))
+                "0ryf2xb37pj2f9mc3p5prqgqrylph9qgq7q9jnbx8b03nzzpa6h6"))))
    (build-system ocaml-build-system)
    (native-inputs
-    `(("oasis" ,ocaml4.02-oasis)
+    `(("ocaml-oasis" ,ocaml-oasis)
       ("clang" ,clang-3.8)
-      ("ounit" ,ocaml4.02-ounit)))
+      ("ocaml-ounit" ,ocaml-ounit)))
    (propagated-inputs
-    `(("core-kernel" ,ocaml4.02-core-kernel)
-      ("ppx-driver" ,ocaml4.02-ppx-driver)
-      ("bin-prot" ,ocaml4.02-bin-prot)
-      ("uri" ,ocaml4.02-uri)
-      ("llvm" ,llvm-3.8)
-      ("gmp" ,gmp)
-      ("clang-runtime" ,clang-runtime)
-      ("fileutils" ,ocaml4.02-fileutils)
-      ("cmdliner" ,ocaml4.02-cmdliner)
-      ("zarith" ,ocaml4.02-zarith)
-      ("uuidm" ,ocaml4.02-uuidm)
-      ("camlzip" ,ocaml4.02-camlzip)
-      ("frontc" ,ocaml-frontc)
-      ("ezjsonm" ,ocaml4.02-ezjsonm)
-      ("ocurl" ,ocaml4.02-ocurl)
-      ("piqi" ,ocaml4.02-piqi)
-      ("ocamlgraph" ,ocaml4.02-graph)
-      ("bitstring" ,ocaml4.02-bitstring)
-      ("ppx-jane" ,ocaml4.02-ppx-jane)
-      ("re" ,ocaml4.02-re)))
-   (inputs `(("llvm" ,llvm-3.8)))
+    `(("camlzip" ,camlzip)
+      ("ocaml-bitstring" ,ocaml-bitstring)
+      ("ocaml-cmdliner" ,ocaml-cmdliner)
+      ("ocaml-core-kernel" ,ocaml-core-kernel)
+      ("ocaml-ezjsonm" ,ocaml-ezjsonm)
+      ("ocaml-fileutils" ,ocaml-fileutils)
+      ("ocaml-frontc" ,ocaml-frontc)
+      ("ocaml-graph" ,ocaml-graph)
+      ("ocaml-ocurl" ,ocaml-ocurl)
+      ("ocaml-piqi" ,ocaml-piqi)
+      ("ocaml-ppx-jane" ,ocaml-ppx-jane)
+      ("ocaml-uuidm" ,ocaml-uuidm)
+      ("ocaml-uri" ,ocaml-uri)
+      ("ocaml-zarith" ,ocaml-zarith)))
+   (inputs
+    `(("llvm" ,llvm-3.8)
+      ("gmp" ,gmp)))
    (arguments
-    `(#:ocaml ,ocaml-4.02
-      #:findlib ,ocaml4.02-findlib
-      #:use-make? #t
+    `(#:use-make? #t
       #:phases
       (modify-phases %standard-phases
         (replace 'configure
           (lambda* (#:key outputs inputs #:allow-other-keys)
+            ;; add write for user, to prevent a failure in the install phase
+            (for-each
+              (lambda (file)
+                (let ((stat (stat file)))
+                  (chmod file (+ #o200 (stat:mode stat)))))
+              (find-files "." "."))
             (invoke "./configure" "--prefix"
                     (assoc-ref outputs "out")
                     "--libdir"
@@ -4310,11 +4289,7 @@ XML and Protocol Buffers formats.")
                       "/lib/ocaml/site-lib")
                     "--with-llvm-version=3.8"
                     "--with-llvm-config=llvm-config"
-                    "--enable-everything")
-            (substitute* "plugins/objdump/objdump_main.ml"
-              (("Re_perl") "Re.Perl"))
-            (substitute* "oasis/objdump"
-              (("re.pcre") "re.pcre, re.perl")))))))
+                    "--enable-everything"))))))
    (synopsis "Binary Analysis Platform")
    (description "Binary Analysis Platform is a framework for writing program
 analysis tools, that target binary files.  The framework consists of a plethora
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#35280] [PATCH 3/5] gnu: Remove ocaml-jbuilder.
  2019-04-14 20:32 ` [bug#35280] [PATCH 1/5] gnu: Add ocaml-bigarray-compat Julien Lepiller
  2019-04-14 20:32   ` [bug#35280] [PATCH 2/5] gnu: bap: Update to 1.6.0 Julien Lepiller
@ 2019-04-14 20:32   ` Julien Lepiller
  2019-04-14 20:32   ` [bug#35280] [PATCH 4/5] gnu: ocamlify: Downgrade to 0.0.1 Julien Lepiller
  2019-04-14 20:32   ` [bug#35280] [PATCH 5/5] gnu: ocaml@4.02: Remove the package, affected by a CVE, and its dependent packages Julien Lepiller
  3 siblings, 0 replies; 7+ messages in thread
From: Julien Lepiller @ 2019-04-14 20:32 UTC (permalink / raw)
  To: 35280

Jbuilder is deprecated and replaced by dune.

* gnu/packages/ocaml.scm (ocaml-jbuilder): Remove variable.
(ocaml-zed, ocaml-utop): Use dune-build-system.
---
 gnu/packages/ocaml.scm | 75 +++++-------------------------------------
 1 file changed, 8 insertions(+), 67 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 18c2531658..252d9b8496 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4326,42 +4326,6 @@ library is currently designed for Unicode Standard 3.2.")
 (define-public ocaml4.02-camomile
   (package-with-ocaml4.02 ocaml-camomile))
 
-(define-public ocaml-jbuilder
-  (package
-    (name "ocaml-jbuilder")
-    (version "1.0+beta16")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/janestreet/jbuilder.git")
-             (commit version)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "1y3fgf570w3vrnhianrg26jy5j749zczq3f78s2dy5ylbp1hrx71"))))
-    (build-system ocaml-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.02
-       #:findlib ,ocaml4.02-findlib
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'configure
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (setenv "PREFIX" out))
-             #t)))))
-    (native-inputs
-     `(("menhir" ,ocaml4.02-menhir)))
-    (propagated-inputs
-     `(("opam" ,opam)))
-    (home-page "https://github.com/janestreet/jbuilder")
-    (synopsis "Composable build system for OCaml")
-    (description "Jbuilder is a build system designed for OCaml/Reason projects
-only.  It focuses on providing the user with a consistent experience and takes
-care of most of the low-level details of OCaml compilation.  All you have to do
-is provide a description of your project and Jbuilder will do the rest.")
-    (license license:asl2.0)))
-
 (define-public ocaml-zed
   (package
     (name "ocaml-zed")
@@ -4375,20 +4339,10 @@ is provide a description of your project and Jbuilder will do the rest.")
        (file-name (git-file-name name version))
        (sha256
         (base32 "00hhxcjf3bj3w2qm8nzs9x6vrqkadf4i0277s5whzy2rmiknj63v"))))
-    (build-system ocaml-build-system)
+    (build-system dune-build-system)
     (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (replace 'build
-           (lambda _ (invoke "jbuilder" "build")))
-         (delete 'check)
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (invoke "jbuilder" "install" "--prefix" out)))))))
-    (native-inputs
-     `(("jbuilder" ,ocaml-jbuilder)))
+     `(#:jbuild? #t
+       #:test-target "."))
     (propagated-inputs
      `(("camomile" ,ocaml-camomile)
        ("react" ,ocaml-react)))
@@ -4449,27 +4403,14 @@ instead of bindings to a C library.")
        (file-name (git-file-name name version))
        (sha256
         (base32 "02hjkc0rdzfq3bqy9mqm5wmw312r3187v9cl66ynb6hxkj6s3glb"))))
-    (build-system gnu-build-system)
+    (build-system dune-build-system)
     (arguments
-     `(#:test-target "test"
-       #:phases
-       (modify-phases %standard-phases
-         (delete 'configure)
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let* ((out (assoc-ref outputs "out"))
-                    (libdir (string-append out "/lib/ocaml/site-lib")))
-               (mkdir-p libdir)
-               (invoke "jbuilder" "install"
-                       "--prefix" out
-                       "--libdir" libdir)))))))
+     `(#:jbuild? #t
+       #:test-target "."))
     (native-inputs
-     `(("ocaml" ,ocaml)
-       ("cppo" ,ocaml-cppo)
-       ("jbuilder" ,ocaml-jbuilder)))
+     `(("cppo" ,ocaml-cppo)))
     (propagated-inputs
-     `(("ocaml-findlib" ,ocaml-findlib)
-       ("lambda-term" ,ocaml-lambda-term)
+     `(("lambda-term" ,ocaml-lambda-term)
        ("lwt" ,ocaml-lwt)
        ("react" ,ocaml-react)
        ("camomile" ,ocaml-camomile)
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#35280] [PATCH 4/5] gnu: ocamlify: Downgrade to 0.0.1.
  2019-04-14 20:32 ` [bug#35280] [PATCH 1/5] gnu: Add ocaml-bigarray-compat Julien Lepiller
  2019-04-14 20:32   ` [bug#35280] [PATCH 2/5] gnu: bap: Update to 1.6.0 Julien Lepiller
  2019-04-14 20:32   ` [bug#35280] [PATCH 3/5] gnu: Remove ocaml-jbuilder Julien Lepiller
@ 2019-04-14 20:32   ` Julien Lepiller
  2019-04-14 20:32   ` [bug#35280] [PATCH 5/5] gnu: ocaml@4.02: Remove the package, affected by a CVE, and its dependent packages Julien Lepiller
  3 siblings, 0 replies; 7+ messages in thread
From: Julien Lepiller @ 2019-04-14 20:32 UTC (permalink / raw)
  To: 35280

Version 0.0.2 cannot be built with the latest OCaml, whereas this
version does.  This is also the version used by opam.

* gnu/packages/ocaml.scm (ocamlify): Downgrade to 0.0.1.
[arguments]: Do not use ocaml-4.02.
---
 gnu/packages/ocaml.scm | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 252d9b8496..b750dbe9f4 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2500,21 +2500,25 @@ radix-64 representation.  It is specified in RFC 4648.")
 (define-public ocamlify
   (package
     (name "ocamlify")
-    (version "0.0.2")
+    (version "0.0.1")
     (source (origin
               (method url-fetch)
-              (uri (ocaml-forge-uri name version 1209))
+              (uri "https://download.ocamlcore.org/ocamlify/ocamlify/0.0.1/ocamlify-0.0.1.tar.gz")
               (sha256
                (base32
-                "1f0fghvlbfryf5h3j4as7vcqrgfjb4c8abl5y0y5h069vs4kp5ii"))))
+                "1j9nb3vjqbdsx3d6jazixgrh776051zkrc06nsc5q5ilp1jhrwkm"))))
     (build-system ocaml-build-system)
     ; tests are done during build
     (arguments
-     `(#:ocaml ,ocaml-4.02
-       #:findlib ,ocaml4.02-findlib
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         (delete 'check))))
+         (delete 'check)
+         (replace 'configure
+           (lambda* (#:key outputs #:allow-other-keys)
+             (invoke "ocaml" "setup.ml" "-configure" "--prefix"
+                     (assoc-ref outputs "out")))))))
+    (native-inputs
+     `(("ocamlbuild" ,ocamlbuild)))
     (home-page "https://forge.ocamlcore.org/projects/ocamlify")
     (synopsis "Include files in OCaml code")
     (description "OCamlify allows to create OCaml source code by including
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#35280] [PATCH 5/5] gnu: ocaml@4.02: Remove the package, affected by a CVE, and its dependent packages.
  2019-04-14 20:32 ` [bug#35280] [PATCH 1/5] gnu: Add ocaml-bigarray-compat Julien Lepiller
                     ` (2 preceding siblings ...)
  2019-04-14 20:32   ` [bug#35280] [PATCH 4/5] gnu: ocamlify: Downgrade to 0.0.1 Julien Lepiller
@ 2019-04-14 20:32   ` Julien Lepiller
  3 siblings, 0 replies; 7+ messages in thread
From: Julien Lepiller @ 2019-04-14 20:32 UTC (permalink / raw)
  To: 35280

This fixes <https://bugs.gnu.org/27462>.

* gnu/packages/ocaml.scm (ocaml-4.02, camlp4-4.02, ocaml4.02-menhir)
(ocaml4.02-lablgtk, ocaml4.02-findlib, ocaml4.02-ounit)
(ocaml4.02-camlzip, ocaml4.02-ocamlmod, ocaml4.02-zarith)
(ocaml4.02-qcheck, ocaml4.02-qtest, ocaml4.02-stringext)
(ocaml4.02-bisect, ocaml4.02-bitstring, ocaml4.02-result)
(ocaml4.02-topkg, ocaml4.02-rresult, ocaml4.02-sqlite3, ocaml4.02-csv)
(ocaml4.02-mtime, ocaml4.02-cmdliner, ocaml4.02-fmt, ocaml4.02-astring)
(ocaml4.02-alcotest, ocaml4.02-ppx-tools, ocaml4.02-react, ocaml4.02-ssl)
(ocaml4.02-lwt, ocaml4.02-lwt-log, ocaml4.02-logs, ocaml4.02-fpath)
(ocaml4.02-bos, ocaml4.02-xmlm, ocaml4.02-ulex, ocaml4.02-uchar)
(ocaml4.02-uutf, ocaml4.02-jsonm, ocaml4.02-ocurl, ocaml4.02-base64)
(ocaml4.02-omake, ocaml4.02-batteries, ocaml4.02-pcre, ocaml4.02-oasis)
(ocaml4.02-js-build-tools, ocaml4.02-bin-prot, ocaml4.02-fieldslib)
(ocaml4.02-ppx-core, ocaml4.02-ppx-optcomp, ocaml4.02-ppx-driver)
(ocaml4.02-cppo, ocaml4.02-ppx-deriving, ocaml4.02-ppx-type-conv)
(ocaml4.02-ppx-inline-test, ocaml4.02-ppx-bench, ocaml4.02-ppx-compare)
(ocaml4.02-sexplib, ocaml4.02-typerep, ocaml4.02-variantslib)
(ocaml4.02-ppx-sexp-conv, ocaml4.02-ppx-variants-conv)
(ocaml4.02-ppx-here, ocaml4.02-ppx-assert, ocaml4.02-ppx-enumerate)
(ocaml4.02-ppx-let, ocaml4.02-ppx-typerep-conv, ocaml4.02-ppx-sexp-value)
(ocaml4.02-ppx-pipebang, ocaml4.02-ppx-bin-prot, ocaml4.02-ppx-fail)
(ocaml4.02-ppx-custom-printf, ocaml4.02-ppx-sexp-message)
(ocaml4.02-ppx-fields-conv, ocaml4.02-seq, ocaml4.02-re)
(ocaml4.02-ppx-expect, ocaml4.02-ppx-jane, ocaml4.02-core-kernel)
(ocaml4.02-async-kernel, ocaml4.02-async-rpc-kernel, ocaml4.02-core)
(ocaml4.02-async-unix, ocaml4.02-async-extra, ocaml4.02-async)
(ocaml4.02-ocplib-endian, ocaml4.02-easy-format, optcomp)
(ocaml4.02-piqilib, ocaml4.02-uuidm, ocaml4.02-graph, ocaml4.02-piqi)
(ocaml4.02-camomile, ocaml4.02-zed, ocaml4.02-lambda-term): Remove variables.
* guix/build-system/ocaml.scm (default-ocaml4.02)
(default-ocaml4.02-findlib, package-with-ocaml4.02)
(strip-ocaml4.02-variant): Remove variables.
---
 gnu/packages/ocaml.scm      | 1410 +----------------------------------
 guix/build-system/ocaml.scm |   22 -
 2 files changed, 20 insertions(+), 1412 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index b750dbe9f4..51435b2155 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -129,10 +129,10 @@
                          "/lib/ocaml/site-lib"))
     #:phases (modify-phases %standard-phases (delete 'configure))))
 
-(define-public ocaml-4.02
+(define-public ocaml-4.07
   (package
     (name "ocaml")
-    (version "4.02.3")
+    (version "4.07.1")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -141,12 +141,7 @@
                     "/ocaml-" version ".tar.xz"))
               (sha256
                (base32
-                "1qwwvy8nzd87hk8rd9sm667nppakiapnx4ypdwcrlnav2dz6kil3"))
-              (patches
-               (search-patches
-                "ocaml-CVE-2015-8869.patch"
-                "ocaml-Add-a-.file-directive.patch"
-                "ocaml-enable-ocamldoc-reproducibility.patch"))))
+                "1f07hgj5k45cylj1q3k5mk8yi02cwzx849b1fwnwia8xlcfqpr6z"))))
     (build-system gnu-build-system)
     (native-search-paths
      (list (search-path-specification
@@ -204,25 +199,7 @@ patch-/bin/sh-references: ~a: changing `\"/bin/sh\"' to `~a'~%"
          (add-after 'install 'check
            (lambda _
              (with-directory-excursion "testsuite"
-               (invoke "make" "all"))))
-         (add-before 'check 'prepare-socket-test
-           (lambda _
-             (format (current-error-port)
-                     "Spawning local test web server on port 8080~%")
-             (when (zero? (primitive-fork))
-               (run-server (lambda (request request-body)
-                             (values '((content-type . (text/plain)))
-                                     "Hello!"))
-                           'http '(#:port 8080)))
-             (let ((file "testsuite/tests/lib-threads/testsocket.ml"))
-               (format (current-error-port)
-                       "Patching ~a to use localhost port 8080~%"
-                       file)
-               (substitute* file
-                 (("caml.inria.fr") "localhost")
-                 (("80") "8080")
-                 (("HTTP1.0") "HTTP/1.0"))
-               #t))))))
+               (invoke "make" "all")))))))
     (home-page "https://ocaml.org/")
     (synopsis "The OCaml programming language")
     (description
@@ -235,30 +212,6 @@ functional, imperative and object-oriented styles of programming.")
     ;; distributed under lgpl2.0.
     (license (list license:qpl license:lgpl2.0))))
 
-(define-public ocaml-4.07
-  (package
-    (inherit ocaml-4.02)
-    (version "4.07.1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://caml.inria.fr/pub/distrib/ocaml-"
-                    (version-major+minor version)
-                    "/ocaml-" version ".tar.xz"))
-              (sha256
-               (base32
-                "1f07hgj5k45cylj1q3k5mk8yi02cwzx849b1fwnwia8xlcfqpr6z"))))
-    (arguments
-     (substitute-keyword-arguments (package-arguments ocaml-4.02)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (delete 'prepare-socket-test)
-           (replace 'check
-             (lambda _
-               (with-directory-excursion "testsuite"
-                 (invoke "make" "all"))
-               #t))))))))
-
 (define-public ocaml ocaml-4.07)
 
 (define-public ocamlbuild
@@ -560,23 +513,25 @@ Git-friendly development workflow.")
     ;; The 'LICENSE' file waives some requirements compared to LGPLv3.
     (license license:lgpl3)))
 
-(define-public camlp4-4.02
+(define-public camlp4-4.07
   (package
     (name "camlp4")
-    (version "4.02+6")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/ocaml/camlp4.git")
-             (commit version)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "06yl4q0qazl7g25b0axd1gdkfd4qpqzs1gr5fkvmkrcbz113h1hj"))))
+    (version "4.07+1")
+    (source (origin
+             (method git-fetch)
+             (uri (git-reference
+                   (url "https://github.com/ocaml/camlp4.git")
+                   (commit version)))
+             (file-name (git-file-name name version))
+             (sha256
+              (base32
+               "0cxl4hkqcvspvkx4f2k83217rh6051fll9i2yz7cw6m3bq57mdvl"))))
     (build-system gnu-build-system)
-    (native-inputs `(("ocaml" ,ocaml-4.02)
-                     ("which" ,which)))
-    (inputs `(("ocaml" ,ocaml-4.02)))
+    (native-inputs
+     `(("ocaml" ,ocaml-4.07)
+       ("ocamlbuild" ,ocamlbuild)
+       ("which" ,which)))
+    (inputs `(("ocaml" ,ocaml-4.07)))
     (arguments
      '(#:tests? #f                                ;no documented test target
        ;; a race-condition will lead byte and native targets to  mkdir _build
@@ -617,28 +572,6 @@ syntax of OCaml.")
     ;; against the library to be released under any terms.
     (license license:lgpl2.0)))
 
-(define-public camlp4-4.07
-  (package
-    (inherit camlp4-4.02)
-    (name "camlp4")
-    (version "4.07+1")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/ocaml/camlp4/archive/"
-                                  version ".tar.gz"))
-              (sha256
-               (base32
-                "143hhxv1i6aq413z0i1pynrjcfl2g5gnh5r3863v6h9z0riqknzc"))
-              (file-name (string-append name "-" version ".tar.gz"))))
-    (properties
-     `((ocaml4.02-variant . ,(delay camlp4-4.02))))
-    (native-inputs
-     `(("ocaml" ,ocaml-4.07)
-       ("ocamlbuild" ,ocamlbuild)
-       ("which" ,which)))
-    (inputs
-     `(("ocaml" ,ocaml-4.07)))))
-
 (define-public camlp4 camlp4-4.07)
 
 (define-public camlp5
@@ -839,8 +772,6 @@ Emacs.")
              (let ((out (assoc-ref outputs "out")))
                (setenv "PREFIX" out))
              #t)))))
-    (properties
-     `((ocaml4.02-variant . ,(delay ocaml4.02-menhir))))
     (home-page "http://gallium.inria.fr/~fpottier/menhir")
     (synopsis "Parser generator")
     (description "Menhir is a parser generator.  It turns high-level grammar
@@ -852,13 +783,6 @@ Knuth’s LR(1) parser construction technique.")
     ;; are QPL licensed.
     (license (list license:gpl2+ license:qpl))))
 
-(define-public ocaml4.02-menhir
-  (package
-    (inherit ocaml-menhir)
-    (name "ocaml4.02-menhir")
-    (inputs `(("ocaml" ,ocaml-4.02)))
-    (native-inputs '())))
-
 (define-public ocaml-bigarray-compat
   (package
     (name "ocaml-bigarray-compat")
@@ -892,8 +816,6 @@ Knuth’s LR(1) parser construction technique.")
                (base32
                 "1y38fdvswy6hmppm65qvgdk4pb3ghhnvz7n4ialf46340r1s5p2d"))))
     (build-system gnu-build-system)
-    (properties
-     `((ocaml4.02-variant . ,(delay ocaml4.02-lablgtk))))
     (native-inputs
      `(("camlp4" ,camlp4)
        ("ocaml" ,ocaml)
@@ -944,23 +866,6 @@ libglade (and it an generate OCaml code from .glade files),
 libpanel, librsvg and quartz.")
     (license license:lgpl2.1)))
 
-(define-public ocaml4.02-lablgtk
-  (package
-    (inherit lablgtk)
-    (name "ocaml4.02-lablgtk")
-    (version "2.18.5")
-    (source (origin
-              (method url-fetch)
-              (uri (ocaml-forge-uri name version 1627))
-              (sha256
-               (base32
-                "0cyj6sfdvzx8hw7553lhgwc0krlgvlza0ph3dk9gsxy047dm3wib"))))
-    (native-inputs
-     `(("camlp4" ,camlp4-4.02)
-       ("ocaml" ,ocaml-4.02)
-       ("findlib" ,ocaml4.02-findlib)
-       ("pkg-config" ,pkg-config)))))
-
 (define-public unison
   (package
     (name "unison")
@@ -1103,15 +1008,6 @@ compilation and linkage, there are new frontends of the various OCaml
 compilers that can directly deal with packages.")
     (license license:x11)))
 
-(define-public ocaml4.02-findlib
-  (package
-    (inherit ocaml-findlib)
-    (name "ocaml4.02-findlib")
-    (native-inputs
-     `(("camlp4" ,camlp4-4.02)
-       ("m4" ,m4)
-       ("ocaml" ,ocaml-4.02)))))
-
 ;; note that some tests may hang for no obvious reason.
 (define-public ocaml-ounit
   (package
@@ -1137,9 +1033,6 @@ compilers that can directly deal with packages.")
 other XUnit testing frameworks.")
     (license license:expat)))
 
-(define-public ocaml4.02-ounit
-  (package-with-ocaml4.02 ocaml-ounit))
-
 (define-public camlzip
   (package
     (name "camlzip")
@@ -1182,9 +1075,6 @@ JAR format.  It provides functions for reading from and writing to compressed
 files in these formats.")
     (license license:lgpl2.1+)))
 
-(define-public ocaml4.02-camlzip
-  (package-with-ocaml4.02 camlzip))
-
 (define-public ocamlmod
   (package
     (name "ocamlmod")
@@ -1209,9 +1099,6 @@ files in these formats.")
     (description "Generate modules from OCaml source files.")
     (license license:lgpl2.1+))) ; with an exception
 
-(define-public ocaml4.02-ocamlmod
-  (package-with-ocaml4.02 ocamlmod))
-
 (define-public ocaml-zarith
   (package
     (name "ocaml-zarith")
@@ -1241,9 +1128,6 @@ over big integers. Small integers are represented as Caml unboxed integers,
 for speed and space economy.")
     (license license:lgpl2.1+))) ; with an exception
 
-(define-public ocaml4.02-zarith
-  (package-with-ocaml4.02 ocaml-zarith))
-
 (define-public ocaml-frontc
   (package
     (name "ocaml-frontc")
@@ -1314,9 +1198,6 @@ generated instances of the type. It provides combinators for generating
 instances and printing them.")
     (license license:lgpl3+)))
 
-(define-public ocaml4.02-qcheck
-  (package-with-ocaml4.02 ocaml-qcheck))
-
 (define-public ocaml-qtest
   (package
     (name "ocaml-qtest")
@@ -1350,9 +1231,6 @@ qcheck library.  The possibilities range from trivial tests -- extremely simple
 to use -- to sophisticated random generation of test cases.")
     (license license:lgpl3+)))
 
-(define-public ocaml4.02-qtest
-  (package-with-ocaml4.02 ocaml-qtest))
-
 (define-public ocaml-stringext
   (package
     (name "ocaml-stringext")
@@ -1378,9 +1256,6 @@ full_split, cut, rcut, etc..")
     ;; where it says `mit'.
     (license license:expat)))
 
-(define-public ocaml4.02-stringext
-  (package-with-ocaml4.02 ocaml-stringext))
-
 (define-public ocaml-bisect
   (package
     (name "ocaml-bisect")
@@ -1426,21 +1301,8 @@ a camlp4-based tool that allows to instrument your application before running
 tests.  After application execution, it is possible to generate a report in HTML
 format that is the replica of the application source code annotated with code
 coverage information.")
-    (properties
-     `((ocaml4.02-variant . ,(delay ocaml4.02-bisect))))
     (license license:gpl3+)))
 
-(define-public ocaml4.02-bisect
-  (let ((base (package-with-ocaml4.02 (strip-ocaml4.02-variant ocaml-bisect))))
-    (package
-      (inherit base)
-      (native-inputs
-       `(("camlp4" ,camlp4-4.02)
-         ("libxml2" ,libxml2)
-         ("which" ,which)))
-      (propagated-inputs
-       `(("camlp4" ,camlp4-4.02))))))
-
 (define-public dune
   (package
     (name "dune")
@@ -1547,8 +1409,6 @@ ocaml-migrate-parsetree")
     (arguments
      `(#:tests? #f; Tests fail to build
        #:jbuild? #t))
-    (properties
-      `((ocaml4.02-variant . ,(delay ocaml4.02-bitstring))))
     (home-page "https://github.com/xguerin/bitstring")
     (synopsis "Bitstrings and bitstring matching for OCaml")
     (description "Adds Erlang-style bitstrings and matching over bitstrings as
@@ -1558,68 +1418,6 @@ as primitives to the language, making it exceptionally simple to use and very
 powerful.")
     (license license:isc)))
  
-(define-public ocaml4.02-bitstring
-  (let ((base (package-with-ocaml4.02 (strip-ocaml4.02-variant ocaml-bitstring))))
-    (package
-      (inherit base)
-      (version "2.1.1")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "https://github.com/xguerin/bitstring"
-                                    "/archive/v" version ".tar.gz"))
-                (file-name (string-append "ocaml-bitstring-" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "0vy8ibrxccii1jbsk5q6yh1kxjigqvi7lhhcmizvd5gfhf7mfyc8"))
-                (patches (search-patches "ocaml-bitstring-fix-configure.patch"))))
-      (build-system ocaml-build-system)
-      (arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib
-         #:configure-flags
-         (list "CAMLP4OF=camlp4of" "--enable-coverage")
-         #:make-flags
-         (list (string-append "BISECTLIB="
-                              (assoc-ref %build-inputs "bisect")
-                              "/lib/ocaml/site-lib")
-               (string-append "OCAMLCFLAGS=-g -I "
-                              (assoc-ref %build-inputs "camlp4")
-                              "/lib/ocaml/site-lib/camlp4 -I "
-                              "$(BISECTLIB)/bisect")
-               (string-append "OCAMLOPTFLAGS=-g -I "
-                              (assoc-ref %build-inputs "camlp4")
-                              "/lib/ocaml/site-lib/camlp4 -I "
-                              "$(BISECTLIB)/bisect"))
-         #:phases
-         (modify-phases %standard-phases
-           (add-after 'install 'link-lib
-             (lambda* (#:key outputs #:allow-other-keys)
-               (let* ((out (assoc-ref outputs "out"))
-                      (stubs (string-append out
-                                            "/lib/ocaml/site-lib/stubslibs"))
-                      (lib (string-append out
-                                          "/lib/ocaml/site-lib/bitstring")))
-                 (mkdir-p stubs)
-                 (symlink (string-append lib "/dllbitstring.so")
-                          (string-append stubs "/dllbitstring.so")))
-               #t))
-           (add-before 'configure 'fix-configure
-             (lambda* (#:key inputs #:allow-other-keys)
-               (substitute* "Makefile.in"
-                 (("@abs_top_builddir@")
-                  (string-append "@abs_top_builddir@:" (getenv "LIBRARY_PATH"))))
-               (substitute* "configure"
-                 (("-/bin/sh") (string-append "-" (assoc-ref inputs "bash")
-                                              "/bin/sh"))))))))
-      (native-inputs
-       `(("camlp4" ,camlp4-4.02)
-         ("time" ,time)
-         ("autoconf" ,autoconf)
-         ("automake" ,automake)
-         ("bisect" ,ocaml4.02-bisect)))
-      (propagated-inputs
-       `(("camlp4" ,camlp4-4.02))))))
-
 (define-public ocaml-result
   (package
     (name "ocaml-result")
@@ -1645,9 +1443,6 @@ staying compatible with older version of OCaml should use the Result module
 defined in this library.")
     (license license:bsd-3)))
  
-(define-public ocaml4.02-result
-  (package-with-ocaml4.02 ocaml-result))
-
 (define-public ocaml-topkg
   (package
     (name "ocaml-topkg")
@@ -1679,9 +1474,6 @@ configuration and to specify information about the package's distribution,
 creation and publication procedures.")
     (license license:isc)))
  
-(define-public ocaml4.02-topkg
-  (package-with-ocaml4.02 ocaml-topkg))
-
 (define-public ocaml-rresult
   (package
     (name "ocaml-rresult")
@@ -1713,9 +1505,6 @@ to operate on the result type available from OCaml 4.03 in the standard
 library.")
     (license license:isc)))
 
-(define-public ocaml4.02-rresult
-  (package-with-ocaml4.02 ocaml-rresult))
-
 (define-public ocaml-sqlite3
   (package
     (name "ocaml-sqlite3")
@@ -1746,9 +1535,6 @@ coexistence with the old (version 2) SQLite and its OCaml wrapper
 @code{ocaml-sqlite}.")
     (license license:expat)))
 
-(define-public ocaml4.02-sqlite3
-  (package-with-ocaml4.02 ocaml-sqlite3))
-
 (define-public ocaml-csv
   (package
     (name "ocaml-csv")
@@ -1775,9 +1561,6 @@ read and write files in this format as well as some convenience functions to
 manipulate such data.")
     (license (package-license camlp4))))
 
-(define-public ocaml4.02-csv
-  (package-with-ocaml4.02 ocaml-csv))
-
 (define-public ocaml-mtime
   (package
     (name "ocaml-mtime")
@@ -1808,9 +1591,6 @@ manipulate such data.")
 spans without being subject to operating system calendar time adjustments.")
     (license license:isc)))
 
-(define-public ocaml4.02-mtime
-  (package-with-ocaml4.02 ocaml-mtime))
-
 (define-public ocaml-cmdliner
   (package
     (name "ocaml-cmdliner")
@@ -1834,8 +1614,6 @@ spans without being subject to operating system calendar time adjustments.")
        #:phases
        (modify-phases %standard-phases
          (delete 'configure))))
-    (properties
-     `((ocaml4.02-variant . ,(delay ocaml4.02-cmdliner))))
     (home-page "http://erratique.ch/software/cmdliner")
     (synopsis "Declarative definition of command line interfaces for OCaml")
     (description "Cmdliner is a module for the declarative definition of command
@@ -1846,19 +1624,6 @@ generation. It supports programs with single or multiple commands and respects
 most of the POSIX and GNU conventions.")
     (license license:bsd-3)))
 
-(define-public ocaml4.02-cmdliner
-  (let ((base (package-with-ocaml4.02 (strip-ocaml4.02-variant ocaml-cmdliner))))
-    (package
-      (inherit base)
-      (version "1.0.2")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "http://erratique.ch/software/cmdliner/releases/"
-                                    "cmdliner-" version ".tbz"))
-                (sha256
-                 (base32
-                  "18jqphjiifljlh9jg8zpl6310p3iwyaqphdkmf89acyaix0s4kj1")))))))
-
 (define-public ocaml-fmt
   (package
     (name "ocaml-fmt")
@@ -1891,9 +1656,6 @@ most of the POSIX and GNU conventions.")
 functions.")
     (license license:isc)))
 
-(define-public ocaml4.02-fmt
-  (package-with-ocaml4.02 ocaml-fmt))
-
 (define-public ocaml-astring
   (package
     (name "ocaml-astring")
@@ -1927,9 +1689,6 @@ adds a few missing functions and fully exploits OCaml's newfound string
 immutability.")
     (license license:isc)))
 
-(define-public ocaml4.02-astring
-  (package-with-ocaml4.02 ocaml-astring))
-
 (define-public ocaml-alcotest
   (package
     (name "ocaml-alcotest")
@@ -1963,9 +1722,6 @@ displayed at the end of the run (with the full logs ready to inspect), with a
 simple (yet expressive) query language to select the tests to run.")
     (license license:isc)))
 
-(define-public ocaml4.02-alcotest
-  (package-with-ocaml4.02 ocaml-alcotest))
-
 (define-public ocaml-ppx-tools
   (package
     (name "ocaml-ppx-tools")
@@ -1982,27 +1738,11 @@ simple (yet expressive) query language to select the tests to run.")
     (arguments
      `(#:phases (modify-phases %standard-phases (delete 'configure))
        #:tests? #f))
-    (properties
-     `((ocaml4.02-variant . ,(delay ocaml4.02-ppx-tools))))
     (home-page "https://github.com/alainfrisch/ppx_tools")
     (synopsis "Tools for authors of ppx rewriters and other syntactic tools")
     (description "Tools for authors of ppx rewriters and other syntactic tools.")
     (license license:expat)))
 
-(define-public ocaml4.02-ppx-tools
-  (let ((base (package-with-ocaml4.02 (strip-ocaml4.02-variant ocaml-ppx-tools))))
-    (package
-      (inherit base)
-      (version "5.0+4.02.0")
-      (source
-       (origin
-         (method git-fetch)
-         (uri (git-reference
-               (url "https://github.com/alainfrisch/ppx_tools.git")
-               (commit version)))
-         (sha256
-          (base32 "16drjk0qafjls8blng69qiv35a84wlafpk16grrg2i3x19p8dlj8")))))))
-
 (define-public ocaml-react
   (package
     (name "ocaml-react")
@@ -2033,9 +1773,6 @@ events and signals.  React doesn't define any primitive event or signal, it
 lets the client choose the concrete timeline.")
     (license license:bsd-3)))
 
-(define-public ocaml4.02-react
-  (package-with-ocaml4.02 ocaml-react))
-
 (define-public ocaml-ssl
   (package
     (name "ocaml-ssl")
@@ -2075,9 +1812,6 @@ lets the client choose the concrete timeline.")
 through Transport Layer Security (@dfn{TLS}) encrypted connections.")
     (license license:lgpl2.1)))
 
-(define-public ocaml4.02-ssl
-  (package-with-ocaml4.02 ocaml-ssl))
-
 (define-public ocaml-lwt
   (package
     (name "ocaml-lwt")
@@ -2120,9 +1854,6 @@ process.  Also, in many cases, Lwt threads can interact without the need for
 locks or other synchronization primitives.")
     (license license:lgpl2.1)))
 
-(define-public ocaml4.02-lwt
-  (package-with-ocaml4.02 ocaml-lwt))
-
 (define-public ocaml-lwt-log
   (package
     (name "ocaml-lwt-log")
@@ -2147,9 +1878,6 @@ locks or other synchronization primitives.")
 ocaml lwt.")
     (license license:lgpl2.1)))
 
-(define-public ocaml4.02-lwt-log
-  (package-with-ocaml4.02 ocaml-lwt-log))
-
 (define-public ocaml-logs
   (package
     (name "ocaml-logs")
@@ -2185,9 +1913,6 @@ performed on sources whose reporting level can be set independently.  Log
 message report is decoupled from logging and is handled by a reporter.")
     (license license:isc)))
 
-(define-public ocaml4.02-logs
-  (package-with-ocaml4.02 ocaml-logs))
-
 (define-public ocaml-fpath
   (package
     (name "ocaml-fpath")
@@ -2219,9 +1944,6 @@ POSIX or Windows conventions.  Fpath processes paths without accessing the
 file system and is independent from any system library.")
     (license license:isc)))
 
-(define-public ocaml4.02-fpath
-  (package-with-ocaml4.02 ocaml-fpath))
-
 (define-public ocaml-bos
   (package
     (name "ocaml-bos")
@@ -2258,9 +1980,6 @@ environment, parse command line arguments, interact with the file system and
 run command line programs.")
     (license license:isc)))
 
-(define-public ocaml4.02-bos
-  (package-with-ocaml4.02 ocaml-bos))
-
 (define-public ocaml-xmlm
   (package
     (name "ocaml-xmlm")
@@ -2290,9 +2009,6 @@ format.  It can process XML documents without a complete in-memory
 representation of the data.")
     (license license:isc)))
 
-(define-public ocaml4.02-xmlm
-  (package-with-ocaml4.02 ocaml-xmlm))
-
 (define-public ocaml-ulex
   (package
     (name "ocaml-ulex")
@@ -2323,9 +2039,6 @@ representation of the data.")
     (description "Lexer generator for Unicode and OCaml.")
     (license license:expat)))
 
-(define-public ocaml4.02-ulex
-  (package-with-ocaml4.02 ocaml-ulex))
-
 (define-public ocaml-uchar
   (package
     (name "ocaml-uchar")
@@ -2353,9 +2066,6 @@ representation of the data.")
 `Uchar` module introduced in OCaml 4.03.")
     (license license:lgpl2.1)))
 
-(define-public ocaml4.02-uchar
-  (package-with-ocaml4.02 ocaml-uchar))
-
 (define-public ocaml-uutf
   (package
     (name "ocaml-uutf")
@@ -2392,9 +2102,6 @@ Functions are also provided to fold over the characters of UTF encoded OCaml
 string values and to directly encode characters in OCaml Buffer.t values.")
     (license license:isc)))
 
-(define-public ocaml4.02-uutf
-  (package-with-ocaml4.02 ocaml-uutf))
-
 (define-public ocaml-jsonm
   (package
     (name "ocaml-jsonm")
@@ -2427,9 +2134,6 @@ the JSON data format.  It can process JSON text without blocking on IO and
 without a complete in-memory representation of the data.")
     (license license:isc)))
 
-(define-public ocaml4.02-jsonm
-  (package-with-ocaml4.02 ocaml-jsonm))
-
 (define-public ocaml-ocurl
   (package
     (name "ocaml-ocurl")
@@ -2458,9 +2162,6 @@ without a complete in-memory representation of the data.")
 multitude of other network protocols (FTP/SMTP/RTSP/etc).")
     (license license:isc)))
 
-(define-public ocaml4.02-ocurl
-  (package-with-ocaml4.02 ocaml-ocurl))
-
 (define-public ocaml-base64
   (package
     (name "ocaml-base64")
@@ -2494,9 +2195,6 @@ that represent binary data in an ASCII string format by translating it into a
 radix-64 representation.  It is specified in RFC 4648.")
     (license license:isc)))
 
-(define-public ocaml4.02-base64
-  (package-with-ocaml4.02 ocaml-base64))
-
 (define-public ocamlify
   (package
     (name "ocamlify")
@@ -2550,8 +2248,6 @@ OCaml code.")
                      (lambda* (#:key outputs #:allow-other-keys)
                        (substitute* "mk/osconfig_unix.mk"
                                     (("CC = cc") "CC = gcc")))))))
-    (properties
-      `((ocaml4.02-variant . ,(delay ocaml4.02-omake))))
     (native-inputs `(("hevea" ,hevea)))
     (home-page "http://projects.camlcity.org/projects/omake.html")
     (synopsis "Build system designed for scalability and portability")
@@ -2573,20 +2269,6 @@ many additional enhancements, including:
                    license:gpl2)))) ; OMake itself, with ocaml linking exception
                                     ; see LICENSE.OMake
 
-(define-public ocaml4.02-omake
-  (let ((base (package-with-ocaml4.02 (strip-ocaml4.02-variant omake))))
-    (package
-      (inherit base)
-      (version "0.10.2")
-      (source (origin
-                (method url-fetch)
-                (uri (string-append "http://download.camlcity.org/download/"
-                                    "omake-" version ".tar.gz"))
-                (sha256
-                 (base32
-                  "1znnlkpz89hk44byvnl1pr92ym6hwfyyw2qm9clq446r6l2z4m64"))
-                (patches (search-patches "omake-fix-non-determinism.patch")))))))
-
 (define-public ocaml-batteries
   (package
     (name "ocaml-batteries")
@@ -2630,8 +2312,6 @@ many additional enhancements, including:
              (copy-file "_build/build/mkconf.byte" "build/mkconf.byte")
              (invoke "make" "all")
              #t)))))
-    (properties
-      `((ocaml4.02-variant . ,(delay ocaml4.02-batteries))))
     (home-page "http://batteries.forge.ocamlcore.org/")
     (synopsis "Development platform for the OCaml programming language")
     (description "Define a standard set of libraries which may be expected on
@@ -2639,19 +2319,6 @@ every compliant installation of OCaml and organize these libraries into a
 hierarchy of modules.")
     (license license:lgpl2.1+)))
 
-(define-public ocaml4.02-batteries
-  (let ((base (package-with-ocaml4.02 (strip-ocaml4.02-variant ocaml-batteries))))
-    (package
-      (inherit base)
-      (version "2.5.3")
-      (source (origin
-                (method url-fetch)
-                (uri (ocaml-forge-uri "batteries" version 1650))
-                (sha256
-                 (base32
-                  "1a97w3x2l1jr5x9kj5gqm1x6b0q9fjqdcsvls7arnl3bvzgsia0n"))))
-      (propagated-inputs '()))))
-
 (define-public ocaml-pcre
   (package
     (name "ocaml-pcre")
@@ -2689,9 +2356,6 @@ matching and substitution, similar to the functionality offered by the Perl
 language.")
     (license license:lgpl2.1+))); with the OCaml link exception
 
-(define-public ocaml4.02-pcre
-  (package-with-ocaml4.02 ocaml-pcre))
-
 (define-public ocaml-expect
   (package
     (name "ocaml-expect")
@@ -2776,9 +2440,6 @@ system in your OCaml projects.  It helps to create standard entry points in your
 build system and allows external tools to analyse your project easily.")
     (license license:lgpl2.1+))) ; with ocaml static compilation exception
 
-(define-public ocaml4.02-oasis
-  (package-with-ocaml4.02 ocaml-oasis))
-
 (define-public ocaml-js-build-tools
   (package
     (name "ocaml-js-build-tools")
@@ -2802,137 +2463,6 @@ from the oasis build log
 @end enumerate")
     (license license:asl2.0)))
 
-(define-public ocaml4.02-js-build-tools
-  (package-with-ocaml4.02 ocaml-js-build-tools))
-
-(define-public ocaml4.02-bin-prot
-  (package
-    (name "ocaml4.02-bin-prot")
-    (version "113.33.03")
-    (source (janestreet-origin "bin_prot" version
-               "1ws8c017z8nbj3vw92ndvjk9011f71rmp3llncbv8r5fc76wqv3l"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/bin_prot/")
-    (synopsis "Binary protocol generator")
-    (description "This library contains functionality for reading and writing
-OCaml-values in a type-safe binary protocol.  It is extremely efficient,
-typically supporting type-safe marshalling and unmarshalling of even highly
-structured values at speeds sufficient to saturate a gigabit connection.  The
-protocol is also heavily optimized for size, making it ideal for long-term
-storage of large amounts of data.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-fieldslib
-  (package
-    (name "ocaml4.02-fieldslib")
-    (version "113.33.03")
-    (source (janestreet-origin "fieldslib" version
-               "1rm3bn54bzk2hlq8f3w067ak8s772w4a8f78i3yh79vxfzq8ncvv"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/fieldslib/")
-    (synopsis "Syntax extension to record fields")
-    (description "Syntax extension to define first class values representing
-record fields, to get and set record fields, iterate and fold over all fields
-of a record and create new record values.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-core
-  (package
-    (name "ocaml4.02-ppx-core")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_core" version
-               "0f69l4czhgssnhb5ds2j9dbqjyz8dp1y3i3x0i4h6pxnms20zbxa"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (inputs `(("ppx-tools" ,ocaml4.02-ppx-tools)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_core/")
-    (synopsis "Standard library for ppx rewriters")
-    (description "Ppx_core is a standard library for OCaml AST transformers.
-It contains:
-@enumerate
-@item various auto-generated AST traversal using an open recursion scheme
-@item helpers for building AST fragments
-@item helpers for matching AST fragments
-@item a framework for dealing with attributes and extension points.
-@end enumerate")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-optcomp
-  (package
-    (name "ocaml4.02-ppx-optcomp")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_optcomp" version
-               "13an8p2r7sd0d5lv54mlzrxdni47408bwqi3bjcx4m6005170q30"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_optcomp/")
-    (synopsis "Optional compilation for OCaml")
-    (description "Ppx_optcomp stands for Optional Compilation.  It is a tool
-used to handle optional compilations of pieces of code depending of the word
-size, the version of the compiler, ...")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-driver
-  (package
-    (name "ocaml4.02-ppx-driver")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_driver" version
-              "011zzr45897j49b7iiybb29k7pspcx36mlnp7nh6pxb8b0ga76fh"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)
-       ("ppx-optcomp" ,ocaml4.02-ppx-optcomp)))
-    (propagated-inputs
-     `(("ppx-optcomp" ,ocaml4.02-ppx-optcomp)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_driver/")
-    (synopsis "Feature-full driver for OCaml AST transformers")
-    (description "A driver is an executable created from a set of OCaml AST
-transformers linked together with a command line frontend.  The aim is to
-provide a tool that can be used to:
-@enumerate
-@item easily view the pre-processed version of a file, no need to construct a
-      complex command line: @command{ppx file.ml} will do
-@item use a single executable to run several transformations: no need to fork
-      many times just for pre-processing
-@item improved errors for misspelled/misplaced attributes and extension points.
-@end enumerate")
-    (license license:asl2.0)))
-
 (define-public ocaml-cppo
   (package
     (name "ocaml-cppo")
@@ -2963,572 +2493,6 @@ programs.  It allows the definition of simple macros and file inclusion.  Cpp oi
 @end enumerate")
     (license license:bsd-3)))
 
-(define-public ocaml4.02-cppo
-  (package-with-ocaml4.02 ocaml-cppo))
-
-;; this package is not reproducible. This is related to temporary filenames
-;; such as findlib_initxxxxx where xxxxx is random.
-(define-public ocaml4.02-ppx-deriving
-  (package
-    (name "ocaml4.02-ppx-deriving")
-    (version "4.1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/whitequark/ppx_deriving.git")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0cy9p8d8cbcxvqyyv8fz2z9ypi121zrgaamdlp4ld9f3jnwz7my9"))))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("cppo" ,ocaml4.02-cppo)
-       ("ounit" ,ocaml4.02-ounit)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("result" ,ocaml4.02-result)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)))
-    (arguments
-     `(#:ocaml ,ocaml-4.02
-       #:findlib ,ocaml4.02-findlib
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'make-git-checkout-writable
-           (lambda _
-             (for-each make-file-writable (find-files "."))
-             #t))
-         (delete 'configure)
-         (add-before 'install 'fix-environment
-           (lambda* (#:key outputs #:allow-other-keys)
-             ;; the installation procedures looks for the installed module
-             (setenv "OCAMLPATH"
-                     (string-append (getenv "OCAMLPATH") ":"
-                                    (getenv "OCAMLFIND_DESTDIR"))))))))
-    (home-page "https://github.com/whitequark/ppx_deriving/")
-    (synopsis "Type-driven code generation for OCaml >=4.02")
-    (description "Ppx_deriving provides common infrastructure for generating
-code based on type definitions, and a set of useful plugins for common tasks.")
-    (license license:expat)))
-
-(define-public ocaml4.02-ppx-type-conv
-  (package
-    (name "ocaml4.02-ppx-type-conv")
-    (version "113.33.03")
-    (source
-      (janestreet-origin "ppx_type_conv" version
-        "1sp602ads2f250nv4d4rgw54d14k7flyhb4w8ff084f657hhmxv2"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-deriving" ,ocaml4.02-ppx-deriving)
-       ("ppx-core" ,ocaml4.02-ppx-core)
-       ("ppx-driver" ,ocaml4.02-ppx-driver)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_type_conv/")
-    (synopsis "Support Library for type-driven code generators")
-    (description "The type_conv library factors out functionality needed by
-different preprocessors that generate code from type specifications.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-inline-test
-  (package
-    (name "ocaml4.02-ppx-inline-test")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_inline_test" version
-              "0859ni43fl39dd5g6cxfhq0prxmx59bd2bfq8jafp593ba4q0icq"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (propagated-inputs
-      `(("ppx-driver" ,ocaml4.02-ppx-driver)
-        ("ppx-tools" ,ocaml4.02-ppx-tools)
-        ("ppx-core" ,ocaml4.02-ppx-core)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_inline_test/")
-    (synopsis "Syntax extension for writing in-line tests in ocaml code")
-    (description "Syntax extension for writing in-line tests in ocaml code.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-bench
-  (package
-    (name "ocaml4.02-ppx-bench")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_bench" version
-                   "1hky3y17qpb925rymf97wv54di9gaqdmkix7wpkjw14qzl512b68"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (propagated-inputs
-     `(("ppx-driver" ,ocaml4.02-ppx-driver)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-inline-test" ,ocaml4.02-ppx-inline-test)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_bench/")
-    (synopsis "Syntax extension for writing in-line benchmarks in ocaml code")
-    (description "Syntax extension for writing in-line benchmarks in ocaml code.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-compare
-  (package
-    (name "ocaml4.02-ppx-compare")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_compare" version
-              "0bfhi33kq9l4q6zzc6svki2csracz5j4731c3npcy6cs73jynn0z"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (propagated-inputs
-     `(("ppx-driver" ,ocaml4.02-ppx-driver)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-core" ,ocaml4.02-ppx-core)
-       ("ppx-type-conv" ,ocaml4.02-ppx-type-conv)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_compare/")
-    (synopsis "Generation of comparison functions from types")
-    (description "Generation of fast comparison functions from type expressions
-and definitions.  Ppx_compare is a ppx rewriter that derives comparison functions
-from type representations.  The scaffolded functions are usually much faster
-than ocaml's Pervasives.compare.  Scaffolding functions also gives you more
-flexibility by allowing you to override them for a specific type and more safety
-by making sure that you only compare comparable values.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-sexplib
-  (package
-    (name "ocaml4.02-sexplib")
-    (version "113.33.03")
-    (source (janestreet-origin "sexplib" version
-              "1ffjmj8if9lyv965cgn2ld1xv7g52qsr8mqflbm515ck1i8l2ima"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/sexplib/")
-    (synopsis "Library for serializing OCaml values to and from S-expressions")
-    (description "Sexplib contains functionality for parsing and pretty-printing
-s-expressions.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-typerep
-  (package
-    (name "ocaml4.02-typerep")
-    (version "113.33.03")
-    (source (janestreet-origin "typerep" version
-              "1b9v5bmi824a9d4sx0f40ixq0yfcbiqxafg4a1jx95xg9199zafy"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/typerep/")
-    (synopsis "Typerep is a library for runtime types")
-    (description "Typerep is a library for runtime types.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-variantslib
-  (package
-    (name "ocaml4.02-variantslib")
-    (version "113.33.03")
-    (source (janestreet-origin "variantslib" version
-              "05vp799vl38fvl98ga5miwbzh09cnnpapi6q6gdvwyqi6w7s919n"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/variantslib")
-    (synopsis "OCaml variants as first class values")
-    (description "OCaml variants as first class values.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-sexp-conv
-  (package
-    (name "ocaml4.02-ppx-sexp-conv")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_sexp_conv" version
-              "1rbj6d5dl625gdxih34xcrdvikci6h8i2dl9x3wraa4qrgishiw7"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (propagated-inputs
-     `(("sexplib" ,ocaml4.02-sexplib)
-       ("ppx-core" ,ocaml4.02-ppx-core)
-       ("ppx-type-conv" ,ocaml4.02-ppx-type-conv)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_sexp_conv")
-    (synopsis "Generation of S-expression conversion functions from type definitions")
-    (description "Generation of S-expression conversion functions from type
-definitions.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-variants-conv
-  (package
-    (name "ocaml4.02-ppx-variants-conv")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_variants_conv" version
-              "0vnn2l1118cj72413d3f7frlw6yc09l8f64jlzkzbgb9bxpalx34"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-core" ,ocaml4.02-ppx-core)
-       ("variantslib" ,ocaml4.02-variantslib)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-type-conv" ,ocaml4.02-ppx-type-conv)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_variants_conv")
-    (synopsis "Generation of accessor and iteration functions for ocaml variant
-types")
-    (description "Generation of accessor and iteration functions for ocaml
-variant types.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-here
-  (package
-    (name "ocaml4.02-ppx-here")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_here" version
-              "1ay8lfxi0qg3ib2zkwh4h0vqk3gjmxaz572gzab0bbxyqn3z86v7"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-driver" ,ocaml4.02-ppx-driver)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_here")
-    (synopsis "Expands [%here] into its location")
-    (description "Expands [%here] into its location.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-assert
-  (package
-    (name "ocaml4.02-ppx-assert")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_assert" version
-              "1k5kxmqkibp5fk25pgz81f3c1r4mgvb5byzf6bnmxd24y60wn46p"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-compare" ,ocaml4.02-ppx-compare)
-       ("ppx-core" ,ocaml4.02-ppx-core)
-       ("ppx-driver" ,ocaml4.02-ppx-driver)
-       ("ppx-sexp-conv" ,ocaml4.02-ppx-sexp-conv)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-type-conv" ,ocaml4.02-ppx-type-conv)
-       ("ppx-sexplib" ,ocaml4.02-sexplib)
-       ("ppx-here" ,ocaml4.02-ppx-here)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_assert")
-    (synopsis "Assert-like extension nodes that raise useful errors on failure")
-    (description "Assert-like extension nodes that raise useful errors on failure.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-enumerate
-  (package
-    (name "ocaml4.02-ppx-enumerate")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_enumerate" version
-              "15g7yfv9wg2h9r6k6q1zrhygmsl4xrfn25mrb0i4czjjivzmxjh4"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-type-conv" ,ocaml4.02-ppx-type-conv)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_enumerate")
-    (synopsis "Generate a list containing all values of a finite type")
-    (description "Ppx_enumerate is a ppx rewriter which generates a definition
-for the list of all values of a type (for a type which only has finitely
-many values).")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-let
-  (package
-    (name "ocaml4.02-ppx-let")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_let" version
-              "0gd6d3gdaqfwjcs7gaw1qxc30i584q6a86ndaj1bx1q63xqd6yx9"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-driver" ,ocaml4.02-ppx-driver)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_let")
-    (synopsis "Monadic let-bindings")
-    (description "A ppx rewriter for monadic and applicative let bindings,
-match expressions, and if expressions.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-typerep-conv
-  (package
-    (name "ocaml4.02-ppx-typerep-conv")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_typerep_conv" version
-              "0g0xqm9s1b2jjvxb8yp69281q2s3bwz6sibn10fvgcdawpa0rmrg"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-type-conv" ,ocaml4.02-ppx-type-conv)
-       ("ppx-core" ,ocaml4.02-ppx-core)
-       ("typerep" ,ocaml4.02-typerep)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_typerep_conv")
-    (synopsis "Generation of runtime types from type declarations")
-    (description "Automatic generation of runtime types from type definitions.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-sexp-value
-  (package
-    (name "ocaml4.02-ppx-sexp-value")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_sexp_value" version
-              "0m3ag23mbqm0i2pv1dzilfks15ipa5q60mf57a0cd3p0pvarq10g"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-driver" ,ocaml4.02-ppx-driver)
-       ("ppx-here" ,ocaml4.02-ppx-here)
-       ("ppx-sexp-conv" ,ocaml4.02-ppx-sexp-conv)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_sexp_value/")
-    (synopsis "Simplify building s-expressions from ocaml values")
-    (description "A ppx rewriter that simplifies building s-expressions from
-ocaml values.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-pipebang
-  (package
-    (name "ocaml4.02-ppx-pipebang")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_pipebang" version
-              "1965c7hymp26ncmjs0pfxi2s5jlj60z2c9b194lgcwxqiav56pcw"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-driver" ,ocaml4.02-ppx-driver)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_pipebang/")
-    (synopsis "Inline reverse application operators `|>` and `|!`")
-    (description "A ppx rewriter that inlines reverse application operators
-@code{|>} and @code{|!}.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-bin-prot
-  (package
-    (name "ocaml4.02-ppx-bin-prot")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_bin_prot" version
-              "173kjv36giik11zgfvsbzwfbpr66dm2pcha9vf990jgzh8hqz39h"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("bin-prot" ,ocaml4.02-bin-prot)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-type-conv" ,ocaml4.02-ppx-type-conv)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_bin_prot/")
-    (synopsis "Generation of bin_prot readers and writers from types")
-    (description "Generation of binary serialization and deserialization
-functions from type definitions.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-fail
-  (package
-    (name "ocaml4.02-ppx-fail")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_fail" version
-              "1dwgad0f05gqp5rnwf9dcasidpfi7q3mrpazsw3a2vijjblbhjgn"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-driver" ,ocaml4.02-ppx-driver)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-here" ,ocaml4.02-ppx-here)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_fail/")
-    (synopsis "Add location to calls to failwiths")
-    (description "Syntax extension that makes [failwiths] always include a
-position.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-custom-printf
-  (package
-    (name "ocaml4.02-ppx-custom-printf")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_custom_printf" version
-              "11jlx0n87g2j1vyyp343dibx7lvvwig5j5q0nq0b80kbsq0k6yr8"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-sexp-conv" ,ocaml4.02-ppx-sexp-conv)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-core" ,ocaml4.02-ppx-core)
-       ("ppx-driver" ,ocaml4.02-ppx-driver)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_custom_printf/")
-    (synopsis "Printf-style format-strings for user-defined string conversion")
-    (description "Extensions to printf-style format-strings for user-defined
-string conversion.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-sexp-message
-  (package
-    (name "ocaml4.02-ppx-sexp-message")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_sexp_message" version
-              "084w1l3gnyw4ri9vbn7bv9b2xkw1520qczfxpxdarfivdrz8xr68"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-driver" ,ocaml4.02-ppx-driver)
-       ("ppx-here" ,ocaml4.02-ppx-here)
-       ("ppx-sexp-conv" ,ocaml4.02-ppx-sexp-conv)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_sexp_message/")
-    (synopsis "A ppx rewriter for easy construction of s-expressions")
-    (description "Ppx_sexp_message aims to ease the creation of s-expressions
-in OCaml.  This is mainly motivated by writing error and debugging messages,
-where one needs to construct a s-expression based on various element of the
-context such as function arguments.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-fields-conv
-  (package
-    (name "ocaml4.02-ppx-fields-conv")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_fields_conv" version
-              "1vzbdz27g5qhhfs7wx6rjf979q4xyssxqbmp6sc1sxknbghslbdv"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)
-       ("ppx-core" ,ocaml4.02-ppx-core)))
-    (propagated-inputs
-     `(("fieldslib" ,ocaml4.02-fieldslib)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-core" ,ocaml4.02-ppx-core)
-       ("ppx-type-conv" ,ocaml4.02-ppx-type-conv)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_fields_conv/")
-    (synopsis "Generation of accessor and iteration functions for ocaml records")
-    (description "Ppx_fields_conv is a ppx rewriter that can be used to define
-first class values representing record fields, and additional routines, to get
-and set record fields, iterate and fold over all fields of a record and create
-new record values.")
-    (license license:asl2.0)))
-
 (define-public ocaml-seq
   (package
     (name "ocaml-seq")
@@ -3561,24 +2525,12 @@ version=\"[distributed with ocaml]\"
 description=\"dummy package for compatibility\"
 requires=\"\"")))
                #t))))))
-    (properties
-     `((ocaml4.02-variant . ,(delay ocaml4.02-seq))))
     (home-page "https://github.com/c-cube/seq")
     (synopsis "OCaml's standard iterator type")
     (description "This package is a compatibility package for OCaml's
 standard iterator type starting from 4.07.")
     (license license:lgpl2.1+)))
 
-(define-public ocaml4.02-seq
-  (let ((base (package-with-ocaml4.02 (strip-ocaml4.02-variant ocaml-seq))))
-    (package
-      (inherit base)
-      (arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib
-         #:tests? #f; no tests
-         #:phases (modify-phases %standard-phases (delete 'configure)))))))
-
 (define-public ocaml-re
   (package
     (name "ocaml-re")
@@ -3612,265 +2564,6 @@ standard iterator type starting from 4.07.")
 @end enumerate")
     (license license:expat)))
 
-(define-public ocaml4.02-re
-  (package-with-ocaml4.02 ocaml-re))
-
-(define-public ocaml4.02-ppx-expect
-  (package
-    (name "ocaml4.02-ppx-expect")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_expect" version
-              "03sbs4s5i8l9syr45v25f5hzy7msd2b47k2a9wsq9m43d4imgkrc"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("fieldslib" ,ocaml4.02-fieldslib)
-       ("ppx-tools" ,ocaml4.02-ppx-tools)
-       ("ppx-assert" ,ocaml4.02-ppx-assert)
-       ("ppx-compare" ,ocaml4.02-ppx-compare)
-       ("ppx-core" ,ocaml4.02-ppx-core)
-       ("ppx-custom-printf" ,ocaml4.02-ppx-custom-printf)
-       ("ppx-driver" ,ocaml4.02-ppx-driver)
-       ("ppx-fields-conv" ,ocaml4.02-ppx-fields-conv)
-       ("ppx-inline-test" ,ocaml4.02-ppx-inline-test)
-       ("ppx-sexp-conv" ,ocaml4.02-ppx-sexp-conv)
-       ("ppx-variants-conv" ,ocaml4.02-ppx-variants-conv)
-       ("re" ,ocaml4.02-re)
-       ("sexplib" ,ocaml4.02-sexplib)
-       ("variantslib" ,ocaml4.02-variantslib)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_expect/")
-    (synopsis "Cram like framework for OCaml")
-    (description "Expect-test is a framework for writing tests in OCaml, similar
-to Cram.  Expect-tests mimic the existing inline tests framework with the
-let%expect_test construct.  The body of an expect-test can contain
-output-generating code, interleaved with %expect extension expressions to denote
-the expected output.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-ppx-jane
-  (package
-    (name "ocaml4.02-ppx-jane")
-    (version "113.33.03")
-    (source (janestreet-origin "ppx_jane" version
-              "0bjxkhmzgm6x9dcvjwybbccn34khbvyyjimcbaja30fp6qcqk5yl"))
-    (build-system ocaml-build-system)
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("ppx-assert" ,ocaml4.02-ppx-assert)
-       ("ppx-bench" ,ocaml4.02-ppx-bench)
-       ("ppx-bin-prot" ,ocaml4.02-ppx-bin-prot)
-       ("ppx-compare" ,ocaml4.02-ppx-compare)
-       ("ppx-custom-printf" ,ocaml4.02-ppx-custom-printf)
-       ("ppx-deriving" ,ocaml4.02-ppx-deriving)
-       ("ppx-enumerate" ,ocaml4.02-ppx-enumerate)
-       ("ppx-expect" ,ocaml4.02-ppx-expect)
-       ("ppx-fail" ,ocaml4.02-ppx-fail)
-       ("ppx-fields-conv" ,ocaml4.02-ppx-fields-conv)
-       ("ppx-here" ,ocaml4.02-ppx-here)
-       ("ppx-inline-test" ,ocaml4.02-ppx-inline-test)
-       ("ppx-let" ,ocaml4.02-ppx-let)
-       ("ppx-pipebang" ,ocaml4.02-ppx-pipebang)
-       ("ppx-sexp-conv" ,ocaml4.02-ppx-sexp-conv)
-       ("ppx-sexp-message" ,ocaml4.02-ppx-sexp-message)
-       ("ppx-sexp-value" ,ocaml4.02-ppx-sexp-value)
-       ("ppx-typerep-conv" ,ocaml4.02-ppx-typerep-conv)
-       ("ppx-variants-conv" ,ocaml4.02-ppx-variants-conv)))
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/ppx_jane/")
-    (synopsis "Standard Jane Street ppx rewriters")
-    (description "Ppx_jane is a ppx_driver including all standard ppx rewriters.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-core-kernel
-  (package
-    (name "ocaml4.02-core-kernel")
-    (version "113.33.03")
-    (source (janestreet-origin "core_kernel" version
-               "0fl23jrwivixawhxinbwaw9cabqnzn7fini7dxpxjjvkxdc8ip5y"))
-    (native-inputs
-     `(("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("ppx-jane" ,ocaml4.02-ppx-jane)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("bin_prot" ,ocaml4.02-bin-prot)
-       ("ppx-assert" ,ocaml4.02-ppx-assert)
-       ("ppx-bench" ,ocaml4.02-ppx-bench)
-       ("ppx-driver" ,ocaml4.02-ppx-driver)
-       ("ppx-expect" ,ocaml4.02-ppx-expect)
-       ("ppx-inline-test" ,ocaml4.02-ppx-inline-test)
-       ("typerep" ,ocaml4.02-typerep)
-       ("sexplib" ,ocaml4.02-sexplib)
-       ("variantslib" ,ocaml4.02-variantslib)
-       ("result" ,ocaml4.02-result)
-       ("fieldslib" ,ocaml4.02-fieldslib)))
-    (build-system ocaml-build-system)
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/core_kernel/")
-    (synopsis "Portable standard library for OCaml")
-    (description "Core is an alternative to the OCaml standard library.
-
-Core_kernel is the system-independent part of Core.  It is aimed for cases when
-the full Core is not available, such as in Javascript.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-async-kernel
-  (package
-    (name "ocaml4.02-async-kernel")
-    (version "113.33.03")
-    (source (janestreet-origin "async_kernel" version
-              "04bjsaa23j831r09r38x6xx9nhryvp0z5ihickvhxqa4fb2snyvd"))
-    (native-inputs
-     `(("oasis" ,ocaml-oasis)
-       ("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("ppx-jane" ,ocaml4.02-ppx-jane)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("core-kernel" ,ocaml4.02-core-kernel)))
-    (build-system ocaml-build-system)
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/async_kernel/")
-    (synopsis "Monadic concurrency library")
-    (description "Async-kernel is a library for concurrent programming in OCaml.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-async-rpc-kernel
-  (package
-    (name "ocaml4.02-async-rpc-kernel")
-    (version "113.33.03")
-    (source (janestreet-origin "async_rpc_kernel" version
-             "0y97h9pkb00v7jpf87m8cbb0ffkclj9g26ph6sq97q8dpisnkjwh"))
-    (native-inputs
-     `(("oasis" ,ocaml-oasis)
-       ("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("ppx-jane" ,ocaml4.02-ppx-jane)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("async-kernel" ,ocaml4.02-async-kernel)))
-    (build-system ocaml-build-system)
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/async_rpc_kernel/")
-    (synopsis "Platform-independent core of the Async RPC library")
-    (description "Async_rpc_kernel is the platform-independent core of
-the Async RPC library.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-core
-  (package
-    (name "ocaml4.02-core")
-    (version "113.33.03")
-    (source (janestreet-origin "core" version
-              "1znll157qg56g9d3247fjibv1hxv3r9wxgr4nhy19j2vzdh6a268"))
-    (native-inputs
-     `(("oasis" ,ocaml-oasis)
-       ("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("ppx-jane" ,ocaml4.02-ppx-jane)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("core-kernel" ,ocaml4.02-core-kernel)))
-    (build-system ocaml-build-system)
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/core/")
-    (synopsis "Alternative to OCaml's standard library")
-    (description "The Core suite of libraries is an alternative to OCaml's
-standard library that was developed by Jane Street.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-async-unix
-  (package
-    (name "ocaml4.02-async-unix")
-    (version "113.33.03")
-    (source (janestreet-origin "async_unix" version
-              "1fwl0lfrizllcfjk8hk8m7lsz9ha2jg6qgk4gssfyz377qvpcq4h"))
-    (native-inputs
-     `(("oasis" ,ocaml-oasis)
-       ("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("ppx-jane" ,ocaml4.02-ppx-jane)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("async-kernel" ,ocaml4.02-async-kernel)
-       ("core" ,ocaml4.02-core)))
-    (build-system ocaml-build-system)
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/async_unix")
-    (synopsis "Asynchronous execution library for Unix")
-    (description "Async_unix is an asynchronous execution library for Unix.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-async-extra
-  (package
-    (name "ocaml4.02-async-extra")
-    (version "113.33.03")
-    (source (janestreet-origin "async_extra" version
-              "1si8jgiq5xh5sl9f2b7f9p17p7zx5h1pg557x2cxywi2x7pxqg4f"))
-    (native-inputs
-     `(("oasis" ,ocaml-oasis)
-       ("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("ppx-jane" ,ocaml4.02-ppx-jane)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("async-rpc-kernel" ,ocaml4.02-async-rpc-kernel)
-       ("async-unix" ,ocaml4.02-async-unix)
-       ("core" ,ocaml4.02-core)))
-    (build-system ocaml-build-system)
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/async_extra")
-    (synopsis "Extra functionnalities for the async library")
-    (description "Async_extra provides additional functionnalities for the
-async library.")
-    (license license:asl2.0)))
-
-(define-public ocaml4.02-async
-  (package
-    (name "ocaml4.02-async")
-    (version "113.33.03")
-    (source (janestreet-origin "async" version
-              "0210fyhcs12kpmmd26015bgivkfd2wqkyn3c5wd7688d0f872y25"))
-    (native-inputs
-     `(("oasis" ,ocaml-oasis)
-       ("js-build-tools" ,ocaml4.02-js-build-tools)
-       ("ppx-jane" ,ocaml4.02-ppx-jane)
-       ("opam" ,opam)))
-    (propagated-inputs
-     `(("async-extra" ,ocaml4.02-async-extra)))
-    (build-system ocaml-build-system)
-    (arguments
-      (ensure-keyword-arguments janestreet-arguments
-       `(#:ocaml ,ocaml-4.02
-         #:findlib ,ocaml4.02-findlib)))
-    (home-page "https://github.com/janestreet/async")
-    (synopsis "Monadic concurrency library")
-    (description "Async is a library for concurrent programming in OCaml.")
-    (license license:asl2.0)))
-
 (define-public ocaml-ocplib-endian
   (package
     (name "ocaml-ocplib-endian")
@@ -3896,9 +2589,6 @@ strings, bytes and bigstring (Bigarrys of chars), and provides submodules for
 big- and little-endian, with their unsafe counter-parts.")
     (license license:lgpl2.1)))
 
-(define-public ocaml4.02-ocplib-endian
-  (package-with-ocaml4.02 ocaml-ocplib-endian))
-
 (define-public ocaml-cstruct
   (package
     (name "ocaml-cstruct")
@@ -4030,39 +2720,6 @@ JSON.")
 Format module of the OCaml standard library.")
     (license license:bsd-3)))
 
-(define-public ocaml4.02-easy-format
-  (package-with-ocaml4.02 ocaml-easy-format))
-
-(define-public optcomp
-  (package
-    (name "optcomp")
-    (version "1.6")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/diml/optcomp.git")
-             (commit version)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0bm4f3fs9g1yiz48hdxvcjwnrgymwisqilxhmm87ndz81wp47zfy"))))
-    (build-system ocaml-build-system)
-    (arguments
-     `(#:ocaml ,ocaml-4.02
-       #:findlib ,ocaml4.02-findlib
-       #:use-make? #t
-       #:make-flags
-       (list (string-append "BUILDFLAGS=\"-cflags -I,"
-                            (assoc-ref %build-inputs "camlp4")
-                            "/lib/ocaml/site-lib/camlp4/Camlp4Parsers\""))))
-    (native-inputs `(("camlp4" ,camlp4-4.02)))
-    (propagated-inputs `(("camlp4" ,camlp4-4.02)))
-    (home-page "https://github.com/diml/optcomp")
-    (synopsis "Optional compilation for OCaml")
-    (description "Optcomp provides an optional compilation facility with
-cpp-like directives.")
-    (license license:bsd-3)))
-
 (define-public ocaml-piqilib
   (package
     (name "ocaml-piqilib")
@@ -4124,9 +2781,6 @@ cpp-like directives.")
 tool and piqi-ocaml.")
     (license license:asl2.0)))
 
-(define-public ocaml4.02-piqilib
-  (package-with-ocaml4.02 ocaml-piqilib))
-
 (define-public ocaml-uuidm
   (package
     (name "ocaml-uuidm")
@@ -4158,9 +2812,6 @@ unique identifiers (UUIDs) version 3, 5 (named based with MD5, SHA-1 hashing)
 and 4 (random based) according to RFC 4122.")
     (license license:isc)))
 
-(define-public ocaml4.02-uuidm
-  (package-with-ocaml4.02 ocaml-uuidm))
-
 (define-public ocaml-graph
   (package
     (name "ocaml-graph")
@@ -4189,9 +2840,6 @@ and 4 (random based) according to RFC 4122.")
     (description "OCamlgraph is a generic graph library for OCaml.")
     (license license:lgpl2.1)))
 
-(define-public ocaml4.02-graph
-  (package-with-ocaml4.02 ocaml-graph))
-
 (define-public ocaml-piqi
   (package
     (name "ocaml-piqi")
@@ -4220,8 +2868,6 @@ and 4 (random based) according to RFC 4122.")
     (propagated-inputs
      `(("num" ,ocaml-num)
        ("piqilib" ,ocaml-piqilib)))
-    (properties
-      `((ocaml4.02-variant . ,(delay ocaml4.02-piqi))))
     (home-page "https://github.com/alavrik/piqi-ocaml")
     (synopsis "Protocol serialization system for OCaml")
     (description "Piqi is a multi-format data serialization system for OCaml.
@@ -4229,13 +2875,6 @@ It provides a uniform interface for serializing OCaml data structures to JSON,
 XML and Protocol Buffers formats.")
     (license license:asl2.0)))
 
-(define-public ocaml4.02-piqi
-  (let ((base (package-with-ocaml4.02 (strip-ocaml4.02-variant ocaml-piqi))))
-    (package
-      (inherit base)
-      (propagated-inputs
-       `(("piqilib" ,ocaml4.02-piqilib))))))
-
 (define-public bap
   (package
     (name "bap")
@@ -4327,9 +2966,6 @@ library is currently designed for Unicode Standard 3.2.")
     ;; with an exception for linked libraries to use a different license
     (license license:lgpl2.0+)))
 
-(define-public ocaml4.02-camomile
-  (package-with-ocaml4.02 ocaml-camomile))
-
 (define-public ocaml-zed
   (package
     (name "ocaml-zed")
@@ -4357,9 +2993,6 @@ to write text editors, edition widgets, readlines, etc.  You just have to
 connect an engine to your inputs and rendering functions to get an editor.")
     (license license:bsd-3)))
 
-(define-public ocaml4.02-zed
-  (package-with-ocaml4.02 ocaml-zed))
-
 (define-public ocaml-lambda-term
   (package
     (name "ocaml-lambda-term")
@@ -4391,9 +3024,6 @@ manipulation than, for example, ncurses, by providing a native OCaml interface
 instead of bindings to a C library.")
     (license license:bsd-3)))
 
-(define-public ocaml4.02-lambda-term
-  (package-with-ocaml4.02 ocaml-lambda-term))
-
 (define-public ocaml-utop
   (package
     (name "ocaml-utop")
diff --git a/guix/build-system/ocaml.scm b/guix/build-system/ocaml.scm
index 07c69fac76..cbd33d9a89 100644
--- a/guix/build-system/ocaml.scm
+++ b/guix/build-system/ocaml.scm
@@ -28,9 +28,7 @@
   #:use-module (srfi srfi-1)
   #:export (%ocaml-build-system-modules
             package-with-ocaml4.01
-            package-with-ocaml4.02
             strip-ocaml4.01-variant
-            strip-ocaml4.02-variant
             default-findlib
             default-ocaml
             lower
@@ -94,14 +92,6 @@
   (let ((module (resolve-interface '(gnu packages ocaml))))
     (module-ref module 'ocaml4.01-findlib)))
 
-(define (default-ocaml4.02)
-  (let ((ocaml (resolve-interface '(gnu packages ocaml))))
-    (module-ref ocaml 'ocaml-4.02)))
-
-(define (default-ocaml4.02-findlib)
-  (let ((module (resolve-interface '(gnu packages ocaml))))
-    (module-ref module 'ocaml4.02-findlib)))
-
 (define* (package-with-explicit-ocaml ocaml findlib old-prefix new-prefix
                                        #:key variant-property)
   "Return a procedure of one argument, P.  The procedure creates a package
@@ -161,24 +151,12 @@ pre-defined variants."
                                "ocaml-" "ocaml4.01-"
                                #:variant-property 'ocaml4.01-variant))
 
-(define package-with-ocaml4.02
-  (package-with-explicit-ocaml (delay (default-ocaml4.02))
-                               (delay (default-ocaml4.02-findlib))
-                               "ocaml-" "ocaml4.02-"
-                               #:variant-property 'ocaml4.02-variant))
-
 (define (strip-ocaml4.01-variant p)
   "Remove the 'ocaml4.01-variant' property from P."
   (package
     (inherit p)
     (properties (alist-delete 'ocaml4.01-variant (package-properties p)))))
 
-(define (strip-ocaml4.02-variant p)
-  "Remove the 'ocaml4.02-variant' property from P."
-  (package
-    (inherit p)
-    (properties (alist-delete 'ocaml4.02-variant (package-properties p)))))
-
 (define* (lower name
                 #:key source inputs native-inputs outputs system target
                 (ocaml (default-ocaml))
-- 
2.21.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* bug#35280: [PATCH] Remove ocaml-4.02
  2019-04-14 20:25 [bug#35280] [PATCH] Remove ocaml-4.02 Julien Lepiller
  2019-04-14 20:32 ` [bug#35280] [PATCH 1/5] gnu: Add ocaml-bigarray-compat Julien Lepiller
@ 2019-04-25 17:04 ` Julien Lepiller
  1 sibling, 0 replies; 7+ messages in thread
From: Julien Lepiller @ 2019-04-25 17:04 UTC (permalink / raw)
  To: 35280-done

Le Sun, 14 Apr 2019 22:25:36 +0200,
Julien Lepiller <julien@lepiller.eu> a écrit :

> Hi!
> 
> This patch series removes ocaml-4.02 and dependent packages. I updated
> bap to 1.6.0 (so it can build with the latest ocaml) and downgraded
> ocamlify for the same reason. I removed the obsolete jbuilder and
> adapted two dependents.
> 
> Thanks!
> 

Pushed as ce9a30e6f4a34df45a4a165fea315f61745bb1d3 -
c3634df2a48a5b981a97c85f425784cee9f94bc7 since there was no answer.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-04-25 17:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-14 20:25 [bug#35280] [PATCH] Remove ocaml-4.02 Julien Lepiller
2019-04-14 20:32 ` [bug#35280] [PATCH 1/5] gnu: Add ocaml-bigarray-compat Julien Lepiller
2019-04-14 20:32   ` [bug#35280] [PATCH 2/5] gnu: bap: Update to 1.6.0 Julien Lepiller
2019-04-14 20:32   ` [bug#35280] [PATCH 3/5] gnu: Remove ocaml-jbuilder Julien Lepiller
2019-04-14 20:32   ` [bug#35280] [PATCH 4/5] gnu: ocamlify: Downgrade to 0.0.1 Julien Lepiller
2019-04-14 20:32   ` [bug#35280] [PATCH 5/5] gnu: ocaml@4.02: Remove the package, affected by a CVE, and its dependent packages Julien Lepiller
2019-04-25 17:04 ` bug#35280: [PATCH] Remove ocaml-4.02 Julien Lepiller

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).