[bug#34627] gnu: ocaml-menhir: Update to 20181113.

Message ID 87zhp31qu1.fsf@gmail.com
State Accepted
Headers show
Series [bug#34627] gnu: ocaml-menhir: Update to 20181113. | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

Gabriel Hondet April 6, 2019, 8:27 a.m. UTC
Hi Leo,

> Can you add comments explaining why these phases are replaced?
Sorry for taking so long!

Gabriel

Comments

Ricardo Wurmus April 8, 2019, 1:30 p.m. UTC | #1
Hi Gabriel,

>> Can you add comments explaining why these phases are replaced?
> From dde2129019d0490909e764181b1f332c3faefa5f Mon Sep 17 00:00:00 2001
> From: gabrielhdt <gabrielhondet@gmail.com>
> Date: Sat, 23 Feb 2019 09:50:38 +0100
> Subject: [PATCH] gnu: ocaml-menhir: Update to 20181113.
>
> * gnu/packages/ocaml.scm (ocaml-menhir): Update to 20181113.
> ---
>  gnu/packages/ocaml.scm | 34 +++++++++++++++++++++-------------
>  1 file changed, 21 insertions(+), 13 deletions(-)
>
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index 9a807a4cb6..0ad33f6b25 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -639,37 +639,45 @@ Emacs.")
>  (define-public ocaml-menhir
>    (package
>      (name "ocaml-menhir")
> -    (version "20161115")
> +    (version "20181113")
>      (source (origin
> -              (method url-fetch)
> -              (uri (string-append
> -                    "http://gallium.inria.fr/~fpottier/menhir/"
> -                    "menhir-" version ".tar.gz"))
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://gitlab.inria.fr/fpottier/menhir.git")
> +                    (commit version)))
> +              (file-name (git-file-name name version))
>                (sha256
>                 (base32
> -                "1j8nmcj2gq6hyyi16z27amiahplgrnk4ppchpm0v4qy80kwkf47k"))))
> -    (build-system gnu-build-system)
> -    (inputs
> -     `(("ocaml" ,ocaml)))
> +                "1iqdf64ayq4s3d9jkwhs3s8wqc2s48b292hp0kcjsskfhcvwg0kr"))))
> +    (build-system ocaml-build-system)
>      (native-inputs
>       `(("ocamlbuild" ,ocamlbuild)))
>      (arguments
> -     `(#:parallel-build? #f ; Parallel build causes failure
> -       #:tests? #f ; No check target
> +     `(#:tests? #f ; No check target
>         #:phases
>         (modify-phases %standard-phases
>           (replace 'configure
>             (lambda* (#:key outputs #:allow-other-keys)
>               (let ((out (assoc-ref outputs "out")))
>                 (setenv "PREFIX" out))
> +             #t))
> +         (replace 'build
> +           (lambda _
> +             ;; invoke the right makefile
> +             (invoke "make" "-f" "Makefile" "USE_OCAMLFIND=true" "all")
> +             #t))
> +         (replace 'install
> +           (lambda _
> +             ;; invoke the right makefile
> +             (invoke "make" "-f" "Makefile" "install")

Is the problem here that GNUmakefile exists?  Could we simply remove
that file instead of replacing the phases?  When replacing the phases
you should also pass the default make-flags and ensure that parallel
building is enabled.

Removing the other makefile seems to be the better option.

--
Ricardo

Patch

From dde2129019d0490909e764181b1f332c3faefa5f Mon Sep 17 00:00:00 2001
From: gabrielhdt <gabrielhondet@gmail.com>
Date: Sat, 23 Feb 2019 09:50:38 +0100
Subject: [PATCH] gnu: ocaml-menhir: Update to 20181113.

* gnu/packages/ocaml.scm (ocaml-menhir): Update to 20181113.
---
 gnu/packages/ocaml.scm | 34 +++++++++++++++++++++-------------
 1 file changed, 21 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 9a807a4cb6..0ad33f6b25 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -639,37 +639,45 @@  Emacs.")
 (define-public ocaml-menhir
   (package
     (name "ocaml-menhir")
-    (version "20161115")
+    (version "20181113")
     (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://gallium.inria.fr/~fpottier/menhir/"
-                    "menhir-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://gitlab.inria.fr/fpottier/menhir.git")
+                    (commit version)))
+              (file-name (git-file-name name version))
               (sha256
                (base32
-                "1j8nmcj2gq6hyyi16z27amiahplgrnk4ppchpm0v4qy80kwkf47k"))))
-    (build-system gnu-build-system)
-    (inputs
-     `(("ocaml" ,ocaml)))
+                "1iqdf64ayq4s3d9jkwhs3s8wqc2s48b292hp0kcjsskfhcvwg0kr"))))
+    (build-system ocaml-build-system)
     (native-inputs
      `(("ocamlbuild" ,ocamlbuild)))
     (arguments
-     `(#:parallel-build? #f ; Parallel build causes failure
-       #:tests? #f ; No check target
+     `(#:tests? #f ; No check target
        #:phases
        (modify-phases %standard-phases
          (replace 'configure
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
                (setenv "PREFIX" out))
+             #t))
+         (replace 'build
+           (lambda _
+             ;; invoke the right makefile
+             (invoke "make" "-f" "Makefile" "USE_OCAMLFIND=true" "all")
+             #t))
+         (replace 'install
+           (lambda _
+             ;; invoke the right makefile
+             (invoke "make" "-f" "Makefile" "install")
              #t)))))
     (properties
      `((ocaml4.02-variant . ,(delay ocaml4.02-menhir))))
-    (home-page "http://gallium.inria.fr/~fpottier/menhir")
+    (home-page "http://gallium.inria.fr/~fpottier/menhir/")
     (synopsis "Parser generator")
     (description "Menhir is a parser generator.  It turns high-level grammar
 specifications, decorated with semantic actions expressed in the OCaml
-programming language into parsers, again expressed in OCaml. It is based on
+programming language into parsers, again expressed in OCaml.  It is based on
 Knuth’s LR(1) parser construction technique.")
     ;; The file src/standard.mly and all files listed in src/mnehirLib.mlpack
     ;; that have an *.ml or *.mli extension are GPL licensed. All other files
-- 
2.21.0