From patchwork Thu Dec 23 13:01:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Julien Lepiller X-Patchwork-Id: 35599 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6F38927BBEA; Thu, 23 Dec 2021 13:10:48 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 629CB27BBE9 for ; Thu, 23 Dec 2021 13:10:47 +0000 (GMT) Received: from localhost ([::1]:46146 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n0Nrn-00037L-4b for patchwork@mira.cbaines.net; Thu, 23 Dec 2021 08:10:43 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55266) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n0NjU-0000vM-Oc for guix-patches@gnu.org; Thu, 23 Dec 2021 08:02:11 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:49080) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n0NjO-0002Mu-MP for guix-patches@gnu.org; Thu, 23 Dec 2021 08:02:06 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1n0NjO-0006Ux-GG for guix-patches@gnu.org; Thu, 23 Dec 2021 08:02:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#52729] [PATCH v2] gnu: ocaml: Update to 4.13. Resent-From: Julien Lepiller Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 23 Dec 2021 13:02:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52729 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: zimoun Cc: 52729@debbugs.gnu.org Received: via spool by 52729-submit@debbugs.gnu.org id=B52729.164026451924971 (code B ref 52729); Thu, 23 Dec 2021 13:02:02 +0000 Received: (at 52729) by debbugs.gnu.org; 23 Dec 2021 13:01:59 +0000 Received: from localhost ([127.0.0.1]:60626 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n0NjK-0006Ug-M3 for submit@debbugs.gnu.org; Thu, 23 Dec 2021 08:01:59 -0500 Received: from lepiller.eu ([89.234.186.109]:60160) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n0NjH-0006UV-Lb for 52729@debbugs.gnu.org; Thu, 23 Dec 2021 08:01:56 -0500 Received: from lepiller.eu (localhost [127.0.0.1]) by lepiller.eu (OpenSMTPD) with ESMTP id d7463fbf; Thu, 23 Dec 2021 13:01:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=lepiller.eu; h=date:from :to:cc:subject:message-id:in-reply-to:references:mime-version :content-type; s=dkim; bh=rffQgl08S/ZzIhWQqqXgolS72EMRB6DujVOz13 BN+uI=; b=dox6e68Dm0Lp+Z9AkbjDuNcsXPvuLkGTrLrzZQIsaMkIMUXkDpY0kB ewa8rcaumdlSZvKBTo38hzxE21+yDPT446+sW550fDbhF0C54OXWn0+SHG1VBI8L Y60ooJPpqJj+P1gd5GBALlF1C0O74g4gYHiGOI/6ndaVWJpQW+Xie8rXJcuprj8B 6zjAIQIvGVP2cUORavEnVnc7+3tESrCpOfpRYLCwZS/vVZve4lqwmLINGI8fKFZD ezpPvFwrs6lpYtfT1zrF+nccx86L4vfrOlebcj7GREEWvb1NST6OqbXu5E4mp08H o4BXDvH8yNs3YWgbwJsVKmCTGt9SWoZQ== Received: by lepiller.eu (OpenSMTPD) with ESMTPSA id d13e3765 (TLSv1.3:AEAD-AES256-GCM-SHA384:256:NO); Thu, 23 Dec 2021 13:01:53 +0000 (UTC) Date: Thu, 23 Dec 2021 14:01:09 +0100 From: Julien Lepiller Message-ID: <20211223140109.7716a446@tachikoma.lepiller.eu> In-Reply-To: References: <20211222041609.2fde841e@tachikoma.lepiller.eu> <86r1a4n4qk.fsf@gmail.com> X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.24; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Le Wed, 22 Dec 2021 14:51:49 +0100, zimoun a écrit : > Hi, > > On Wed, 22 Dec 2021 at 14:43, Julien Lepiller > wrote: > > > >On a side note, have you tried to replace boot/ocamlc (and > > >friends) with the bootstrapped ones (camlboot -> ocaml-4.07 -> *). > > > Other said, what is the most affordable path to exploit camlboot > > > and have a good > > >bootstrapping story for OCaml. > > > > Currently we can only use camlboot to bootstrap ocaml 4.07, which > > is what we do. We plan to improve it so it can build newer versions > > though. > > Yes, I remember when discussing the patch adding camlboot and > ocaml4.07-boot. :-) That's what you explained [1]. > > Well, a direct bootstrap camlboot -> ocaml-4.13 is better for sure, > but harder. Instead, my question is: have you tried a chain of > boostrap: camlboot -> ocaml-4.07 -> ? -> ocaml-4.13. I could be > temporary solution waiting camlboot improvements, no? > > 1: > > > Cheers, > simon Here's v2 of the patch series: the first two patches build only the 4.07 version for migrate-parsetree@1 and for ppx-tools-versioned. That way, they don't fail when updating to ocaml 4.13. I checked that everything builds like before. I still have issues with bap because llvm@3.8.1 fails. From bb660bfc763b38747f67c8421663efd5acb7a1cb Mon Sep 17 00:00:00 2001 Message-Id: In-Reply-To: References: From: Julien Lepiller Date: Wed, 22 Dec 2021 04:13:53 +0100 Subject: [PATCH 3/3] gnu: ocaml: Update to 4.13. * gnu/packages/ocaml.scm (ocaml-4.13): New variable. (ocaml-4.11): Remove variable. (ocaml-dot-merlin-reader): Update to 4.4-413. (js-of-ocaml): Update to 3.11.0. --- gnu/packages/ocaml.scm | 75 +++++++++++++++++++++++++++++------------- 1 file changed, 53 insertions(+), 22 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index fd410c1ba9..5eaa0836e7 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -182,10 +182,10 @@ (define-public camlboot This package produces a native @command{ocamlc} and a bytecode @command{ocamllex}.") (license license:expat)))) -(define-public ocaml-4.11 +(define-public ocaml-4.13 (package (name "ocaml") - (version "4.11.1") + (version "4.13.1") (source (origin (method url-fetch) (uri (string-append @@ -194,7 +194,7 @@ (define-public ocaml-4.11 "/ocaml-" version ".tar.xz")) (sha256 (base32 - "0k4521c0p10c5ams6vjv5qkkjhmpkb0bfn04llcz46ah0f3r2jpa")))) + "1s7xwqidpjwfhnpfma4nb93gxfr7g9jfn03s1j03iyavmpgph7ck")))) (build-system gnu-build-system) (native-search-paths (list (search-path-specification @@ -210,7 +210,10 @@ (define-public ocaml-4.11 (list libx11 libiberty ;needed for objdump support zlib)) ;also needed for objdump support (arguments - `(#:phases + `(#:configure-flags '("--enable-ocamltest") + #:test-target "tests" + #:make-flags '("world.opt") + #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-/bin/sh-references (lambda* (#:key inputs #:allow-other-keys) @@ -226,16 +229,7 @@ (define-public ocaml-4.11 patch-/bin/sh-references: ~a: changing `\"/bin/sh\"' to `~a'~%" file quoted-sh) quoted-sh)))) - (find-files "." "\\.ml$")) - #t)))) - (replace 'build - (lambda _ - (invoke "make" "-j" (number->string (parallel-job-count)) - "world.opt"))) - (replace 'check - (lambda _ - (with-directory-excursion "testsuite" - (invoke "make" "all"))))))) + (find-files "." "\\.ml$"))))))))) (home-page "https://ocaml.org/") (synopsis "The OCaml programming language") (description @@ -250,7 +244,7 @@ (define-public ocaml-4.11 (define-public ocaml-4.09 (package - (inherit ocaml-4.11) + (inherit ocaml-4.13) (version "4.09.0") (source (origin (method url-fetch) @@ -261,7 +255,33 @@ (define-public ocaml-4.09 (patches (search-patches "ocaml-4.09-multiple-definitions.patch")) (sha256 (base32 - "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj")))))) + "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-/bin/sh-references + (lambda* (#:key inputs #:allow-other-keys) + (let* ((sh (search-input-file inputs "/bin/sh")) + (quoted-sh (string-append "\"" sh "\""))) + (with-fluids ((%default-port-encoding #f)) + (for-each + (lambda (file) + (substitute* file + (("\"/bin/sh\"") + (begin + (format (current-error-port) "\ +patch-/bin/sh-references: ~a: changing `\"/bin/sh\"' to `~a'~%" + file quoted-sh) + quoted-sh)))) + (find-files "." "\\.ml$")))))) + (replace 'build + (lambda _ + (invoke "make" "-j" (number->string (parallel-job-count)) + "world.opt"))) + (replace 'check + (lambda _ + (with-directory-excursion "testsuite" + (invoke "make" "all"))))))))) ;; This package is a bootstrap package for ocaml-4.07. It builds from camlboot, ;; using the upstream sources for ocaml 4.07. It installs a bytecode ocamllex @@ -440,7 +460,7 @@ (define-public ocaml-4.07 ("perl" ,perl) ("pkg-config" ,pkg-config))))) -(define-public ocaml ocaml-4.11) +(define-public ocaml ocaml-4.13) (define-public ocamlbuild (package @@ -4739,7 +4759,7 @@ (define-public ocaml-craml (define-public ocaml-dot-merlin-reader (package (name "ocaml-dot-merlin-reader") - (version "4.3.1-411") + (version "4.4-413") (source (origin (method git-fetch) @@ -4749,7 +4769,7 @@ (define-public ocaml-dot-merlin-reader (file-name (git-file-name name version)) (sha256 (base32 - "1nwgc9nyy80dc9cgkskyfwv9c785yjyg39s005d4wiagj4fy68v8")))) + "0wijg1vh2q6yr46vkv34vvksligd0ajl4hv7m6qbz3ywqr8akg23")))) (build-system dune-build-system) (arguments '(#:package "dot-merlin-reader" #:tests? #f)) ; no tests @@ -7621,7 +7641,7 @@ (define-public ocaml-cohttp (define-public js-of-ocaml (package (name "js-of-ocaml") - (version "3.9.1") + (version "3.11.0") (source (origin (method git-fetch) @@ -7630,9 +7650,20 @@ (define-public js-of-ocaml (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "00hdjaj94j3nc6f6wbbpx59h4yc79siphs34i1hry11r56paaqyk")))) + (base32 "1x5f1ph9wgx0mgyibssssnrcwp69ihw66gzhsnz9h79czgzyjpp2")))) (build-system dune-build-system) - (arguments `(#:test-target ".")) + (arguments + `(#:test-target "." + #:phases + (modify-phases %standard-phases + (add-before 'check 'fix-failing-test + (lambda _ + ;; Formating difference + (with-output-to-file "compiler/tests-jsoo/bin/error2.expected" + (lambda _ + (format #t + "Fatal error: exception Match_failure(\ +\"compiler/tests-jsoo/bin/error2.ml\", 11, 2)\n\n")))))))) (propagated-inputs (list ocaml-ppxlib ocaml-uchar -- 2.34.0