diff mbox series

[bug#51351] gnu: pplacer: Fix build.

Message ID 20211023163008.017145c3@tachikoma.lepiller.eu
State Accepted
Headers show
Series [bug#51351] gnu: pplacer: Fix build. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Julien Lepiller Oct. 23, 2021, 2:30 p.m. UTC
Hi Guix!

This patch series fixes pplacer. I noticed ocaml4.07-re was failing to
build, and others also failed, so this series fixes them, and pplacer.

Comments

Ricardo Wurmus Nov. 11, 2021, 5:47 p.m. UTC | #1
Hi Julien,

thank you for the patches.  These look good to me.

Unfortunately, there seems to be no newer version of pplacer that 
would work with more recent versions of ocaml.
Simon Tournier Nov. 15, 2021, 1:22 p.m. UTC | #2
Hi,

On Thu, 11 Nov 2021 at 17:47, Ricardo Wurmus <rekado@elephly.net> wrote:

> thank you for the patches.  These look good to me.

The series also LGTM.

> Unfortunately, there seems to be no newer version of pplacer that would work
> with more recent versions of ocaml.

Yeah, a similar issue as packages depending on Python2 (for instance
’gess’) is going to happen.

From my point of view, the best is to move this not-updated package to
the channel guix-past.  The Data Service [1] is not very helpful but it
should be the entry point to reach commit with working (built) packages.

1: <https://data.guix.gnu.org/repository/1/branch/master/package/pplacer/output-history>


Cheers,
simon
Efraim Flashner Nov. 15, 2021, 1:39 p.m. UTC | #3
On Sat, Oct 23, 2021 at 04:30:08PM +0200, Julien Lepiller wrote:
> From b77fb136a6f1e4ecceb0ddbd2a0318af80721d50 Mon Sep 17 00:00:00 2001
> Message-Id: <b77fb136a6f1e4ecceb0ddbd2a0318af80721d50.1634999221.git.julien@lepiller.eu>
> In-Reply-To: <5a85894ee405d2fbe909b61fb3817aa44d6a08df.1634999221.git.julien@lepiller.eu>
> References: <5a85894ee405d2fbe909b61fb3817aa44d6a08df.1634999221.git.julien@lepiller.eu>
> From: Julien Lepiller <julien@lepiller.eu>
> Date: Sat, 23 Oct 2021 15:26:54 +0200
> Subject: [PATCH 2/6] gnu: Add ocaml4.07-alcotest.
> 
> * gnu/packages/ocaml.scm (ocaml4.07-alcotest): New variable.
> ---
>  gnu/packages/ocaml.scm | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index 412e9e339d..a8f5faaf1d 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -2268,6 +2268,7 @@ (define-public ocaml-alcotest
>         ("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
>         ("ocaml-uuidm" ,ocaml-uuidm)
>         ("ocaml-uutf" ,ocaml-uutf)))
> +    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-alcotest))))
>      (home-page "https://github.com/mirage/alcotest")
>      (synopsis "Lightweight OCaml test framework")
>      (description "Alcotest exposes simple interface to perform unit tests.  It
> @@ -2278,6 +2279,30 @@ (define-public ocaml-alcotest
>  simple (yet expressive) query language to select the tests to run.")
>      (license license:isc)))
>  
> +(define-public ocaml4.07-alcotest
> +  (package-with-ocaml4.07
> +    (package
> +      (inherit ocaml-alcotest)
> +      (version "1.0.1")
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                      (url "https://github.com/mirage/alcotest")
> +                      (commit version)))
> +                (file-name (git-file-name "ocaml-alcotest" version))
> +                (sha256
> +                 (base32
> +                  "1frwi185z4aadmaf0vp8xk5227nyg7nmh28ijj5l7ncjr5slvhz8"))))

This package builds just fine without the changes to arguments.

> +      (arguments
> +       `(#:test-target "."
> +         #:package "alcotest"
> +         #:phases
> +         (modify-phases %standard-phases
> +           (add-after 'unpack 'fix-dune-version
> +             (lambda _
> +               (delete-file "dune-project"))))))
> +      (properties '()))))
> +
>  (define-public ocaml-ppx-tools
>    (package
>      (name "ocaml-ppx-tools")
> -- 
> 2.33.0
>
Efraim Flashner Nov. 15, 2021, 1:40 p.m. UTC | #4
On Sat, Oct 23, 2021 at 04:30:08PM +0200, Julien Lepiller wrote:
> From 5a85894ee405d2fbe909b61fb3817aa44d6a08df Mon Sep 17 00:00:00 2001
> Message-Id: <5a85894ee405d2fbe909b61fb3817aa44d6a08df.1634999221.git.julien@lepiller.eu>
> From: Julien Lepiller <julien@lepiller.eu>
> Date: Sat, 23 Oct 2021 15:22:11 +0200
> Subject: [PATCH 1/6] gnu: Add ocaml4.07-re.
> 
> * gnu/packages/ocaml.scm (ocaml4.07-re): New variable.
> ---
>  gnu/packages/ocaml.scm | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index 660bc44bc7..412e9e339d 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -3353,6 +3353,7 @@ (define-public ocaml-re
>       `(("ocaml-seq" ,ocaml-seq)))
>      (native-inputs
>       `(("ounit" ,ocaml-ounit)))
> +    (properties `((ocaml4.07-variant . ,(delay ocaml4.07-re))))
>      (home-page "https://github.com/ocaml/ocaml-re/")
>      (synopsis "Regular expression library for OCaml")
>      (description "Pure OCaml regular expressions with:
> @@ -3365,6 +3366,19 @@ (define-public ocaml-re
>  @end enumerate")
>      (license license:expat)))
>  

The alternate option I came up with was dropping this down to 1.9.0.

> +(define-public ocaml4.07-re
> +  (package-with-ocaml4.07
> +    (package
> +      (inherit ocaml-re)
> +      (arguments
> +       `(#:test-target "."
> +         #:phases
> +         (modify-phases %standard-phases
> +           (add-after 'unpack 'fix-dune-version
> +             (lambda _
> +               (delete-file "dune-project"))))))
> +      (properties '()))))
> +
>  (define-public ocaml-ocplib-endian
>    (package
>      (name "ocaml-ocplib-endian")
> -- 
> 2.33.0
>
Efraim Flashner Nov. 15, 2021, 1:42 p.m. UTC | #5
On Sat, Oct 23, 2021 at 04:30:08PM +0200, Julien Lepiller wrote:
> From e7413cc1b1759ad7049b044d3e6743f572ced836 Mon Sep 17 00:00:00 2001
> Message-Id: <e7413cc1b1759ad7049b044d3e6743f572ced836.1634999221.git.julien@lepiller.eu>
> In-Reply-To: <5a85894ee405d2fbe909b61fb3817aa44d6a08df.1634999221.git.julien@lepiller.eu>
> References: <5a85894ee405d2fbe909b61fb3817aa44d6a08df.1634999221.git.julien@lepiller.eu>
> From: Julien Lepiller <julien@lepiller.eu>
> Date: Sat, 23 Oct 2021 15:27:56 +0200
> Subject: [PATCH 4/6] gnu: Add ocaml4.07-bisect-ppx.
> 
> * gnu/packages/ocaml.scm (ocaml4.07-bisect-ppx): New variable.
> ---
>  gnu/packages/ocaml.scm | 30 +++++++++++++++++++++++++++++-
>  1 file changed, 29 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index 43011a0aab..87429b92ac 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -6625,7 +6625,8 @@ (define-public ocaml-bisect-ppx
>      (arguments
>       ;; Tests require ocamlformat which would lead to circular dependencies
>       '(#:tests? #f))
> -    (properties '((upstream-name . "bisect_ppx")))
> +    (properties `((upstream-name . "bisect_ppx")
> +                  (ocaml4.07-variant . ,(delay ocaml4.07-bisect-ppx))))
>      (home-page "https://github.com/aantron/bisect_ppx")
>      (synopsis "Code coverage for OCaml")
>      (description "Bisect_ppx helps you test thoroughly.  It is a small
> @@ -6637,6 +6638,33 @@ (define-public ocaml-bisect-ppx
>  then run the Bisect_ppx report tool on the generated visitation files.")
>      (license license:mpl2.0)))
>  
> +(define-public ocaml4.07-bisect-ppx
> +  (package-with-ocaml4.07
> +    (package
> +      (inherit ocaml-bisect-ppx)

I tried 2.4.1.

> +      (version "2.4.0")
> +      (source
> +       (origin
> +         (method git-fetch)
> +         (uri (git-reference
> +               (url "https://github.com/aantron/bisect_ppx")
> +               (commit version)))
> +         (file-name (git-file-name "ocaml-bisect-ppx" version))
> +         (sha256
> +          (base32
> +           "1njs8xc108rrpx5am5zhhcn6vjva7rsphm8034qp5lgyvnhfgh7q"))))
> +      (propagated-inputs

With 2.4.1 the only change I had to make was to add
ocaaml-ppx-tools-versioned. And of course the properties change.

> +       `(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
> +         ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)
> +         ,@(package-propagated-inputs ocaml-bisect-ppx)))
> +      (native-inputs
> +       `(("ocaml-ounit2" ,ocaml-ounit2)))
> +      (arguments
> +       `(#:test-target "."
> +         ;; tests require git and network
> +         #:tests? #f))
> +      (properties '()))))
> +
>  (define-public ocaml-odoc
>    (package
>      (name "ocaml-odoc")
> -- 
> 2.33.0
>
Efraim Flashner Nov. 16, 2021, 1:47 p.m. UTC | #6
On Sat, Oct 23, 2021 at 04:30:08PM +0200, Julien Lepiller wrote:
> Hi Guix!
> 
> This patch series fixes pplacer. I noticed ocaml4.07-re was failing to
> build, and others also failed, so this series fixes them, and pplacer.

I ended up pushing this patch set for you. Thanks!
diff mbox series

Patch

From 9a5d8c50f30a25b5246d321d5331b72a88f587f9 Mon Sep 17 00:00:00 2001
Message-Id: <9a5d8c50f30a25b5246d321d5331b72a88f587f9.1634999221.git.julien@lepiller.eu>
In-Reply-To: <5a85894ee405d2fbe909b61fb3817aa44d6a08df.1634999221.git.julien@lepiller.eu>
References: <5a85894ee405d2fbe909b61fb3817aa44d6a08df.1634999221.git.julien@lepiller.eu>
From: Julien Lepiller <julien@lepiller.eu>
Date: Sat, 23 Oct 2021 15:30:04 +0200
Subject: [PATCH 6/6] gnu: pplacer: Fix build.

* gnu/packages/bioinformatics.scm (pplacer): Add missing input.
---
 gnu/packages/bioinformatics.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 63b391683c..41a2e52ac8 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -141,6 +141,7 @@  (define-module (gnu packages bioinformatics)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages shells)
   #:use-module (gnu packages sphinx)
+  #:use-module (gnu packages sqlite)
   #:use-module (gnu packages statistics)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tbb)
@@ -13501,7 +13502,8 @@  (define-public pplacer
          ("ocaml-sqlite3" ,(package-with-ocaml4.07 ocaml-sqlite3))
          ("ocaml-xmlm" ,(package-with-ocaml4.07 ocaml-xmlm))
          ("ocaml-mcl" ,(package-with-ocaml4.07 ocaml-mcl))
-         ("ocaml-gsl" ,ocaml4.07-gsl-1)))
+         ("ocaml-gsl" ,ocaml4.07-gsl-1)
+         ("sqlite:static" ,sqlite "static")))
       (native-inputs
        `(("cddlib-src" ,(package-source cddlib))
          ("ocamlbuild" ,(package-with-ocaml4.07 ocamlbuild))
-- 
2.33.0