[-- Attachment #1: Type: text/plain, Size: 260 bytes --] The added "release" make parameter, fixes the following bug: make: ./dune.exe: Command not found Tested with ocaml-menhir package update (which will follow soon) This may force a lot of other rebuildings, so may not be suitable for master -- Vincent Legoll [-- Attachment #2: 0001-gnu-dune-Update-to-2.4.0.patch --] [-- Type: text/x-patch, Size: 1586 bytes --] From 1cd0debdbf5acbbba634feb25b72d46c8d53ea98 Mon Sep 17 00:00:00 2001 From: Vincent Legoll <vincent.legoll@gmail.com> Date: Mon, 16 Mar 2020 16:41:11 +0100 Subject: [PATCH] gnu: dune: Update to 2.4.0. * gnu/packages/ocaml.scm (dune): Update to 2.4.0 [arguments]: Add "release" to make parameters to force rebuilding "dune.exe" --- gnu/packages/ocaml.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 35701039ad..ea4fb3edb1 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -1242,7 +1242,7 @@ full_split, cut, rcut, etc..") (define-public dune (package (name "dune") - (version "1.11.3") + (version "2.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -1251,11 +1251,12 @@ full_split, cut, rcut, etc..") (file-name (git-file-name name version)) (sha256 (base32 - "0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr")))) + "0i8b84mi38r431z4a1yh4xnn9z5mnk1g3di0qz6h4lsxq8pg2m0v")))) (build-system ocaml-build-system) (arguments `(#:tests? #f; require odoc - #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + #:make-flags (list "release" + (string-append "PREFIX=" (assoc-ref %outputs "out")) (string-append "LIBDIR=" (assoc-ref %outputs "out") "/lib/ocaml/site-lib")) #:phases -- 2.25.1
Thanks for the patch! I tried using it, but even though dune builds
fine, this new version removed support for jbuild, which creates build
errors when building e.g. ocaml4.07-sexplib0.
Note that according to "guix refresh -l dune" there are only 137
dependents, so this change could go to master. However, we need to find
a solution to the above issue. The guix refresh command should give you
the list of packages that depend on dune. Make sure that those who
build now still build after your patch, or fix them. We could also
duplicate the dune package and uses the older dune for our packages
that still use jbuild. Alternatively, as suggested by dune, maybe we
can try to run "dune upgrade" in these packages.
What do you think would work best?
Le Mon, 16 Mar 2020 17:44:02 +0100,
Vincent Legoll <vincent.legoll@gmail.com> a écrit :
> The added "release" make parameter, fixes the following bug:
> make: ./dune.exe: Command not found
>
> Tested with ocaml-menhir package update
> (which will follow soon)
>
> This may force a lot of other rebuildings, so
> may not be suitable for master
>
> --
> Vincent Legoll
Hello, On Mon, Mar 16, 2020 at 8:46 PM Julien Lepiller <julien@lepiller.eu> wrote: > Thanks for the patch! I tried using it, but even though dune builds > fine, this new version removed support for jbuild, which creates > build errors when building e.g. ocaml4.07-sexplib0. Ah, that explains the build problem I met in my attempt to package coccinelle... It surprised me since I read in the dune doc that jbuild should be supported by dune. Maybe that doc is outdated... > Note that according to "guix refresh -l dune" there are only 137 > dependents, so this change could go to master. Yep, I saw that, but I also tried "guix refresh -lr" and that gave a huge list. Maybe that's not relevant, I'm still low on the guix / guile learning curve... > However, we need to find a solution to the above issue. Yes > The guix refresh command should give you > the list of packages that depend on dune. > Make sure that those who > build now still build after your patch, or fix them. Yes > We could also > duplicate the dune package and uses the older dune for our > packages that still use jbuild. This may be the path of least resistance, and would let us handle problems without a flag day... > Alternatively, as suggested by dune, maybe we > can try to run "dune upgrade" in these packages. > > What do you think would work best? That is a question I cannot answer, I did not know about dune before today ;-) But I'll try to "dune upgrade" a few of them and we'll see where this'll lead... I was not expecting to fall in such a rabbit hole... But this is fun, I'll keep at it. -- Vincent Legoll
Dear Vincent,
On Mon, 16 Mar 2020 at 17:44, Vincent Legoll <vincent.legoll@gmail.com> wrote:
> The added "release" make parameter, fixes the following bug:
> make: ./dune.exe: Command not found
>
> Tested with ocaml-menhir package update
> (which will follow soon)
>
> This may force a lot of other rebuildings, so
> may not be suitable for master
Thank you for your contribution. The recent commit 339177956a updates
dune to 2.7.1. Does it work for your use-case?
If yes, feel free to close this.
All the best,
simon
[-- Attachment #1: Type: text/plain, Size: 47 bytes --] Closing, as dune has been updated past 2.4.0. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 987 bytes --]