GNU bug report logs - #26150
[PATCH 0/15]: Add pplacer and OCaml dependencies.

Previous Next

Package: guix-patches;

Reported by: Ben Woodcroft <b.woodcroft <at> uq.edu.au>

Date: Sat, 18 Mar 2017 00:38:02 UTC

Severity: normal

Tags: patch

Done: Ben Woodcroft <b.woodcroft <at> uq.edu.au>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 26150 in the body.
You can then email your comments to 26150 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#26150; Package guix-patches. (Sat, 18 Mar 2017 00:38:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ben Woodcroft <b.woodcroft <at> uq.edu.au>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sat, 18 Mar 2017 00:38:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ben Woodcroft <b.woodcroft <at> uq.edu.au>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: guix-patches <at> gnu.org
Subject: Re: [PATCH 0/15]: Add pplacer and OCaml dependencies.
Date: Sat, 18 Mar 2017 10:36:31 +1000
[Message part 1 (text/plain, inline)]
Hi Ludo, thanks for the feedback.

On 06/03/17 19:16, Ludovic Courtès wrote:
> Hi Ben,
>
> Sorry for the delay.
>
> Ben Woodcroft <b.woodcroft <at> uq.edu.au> skribis:
>
>> On 10/02/17 08:32, Ludovic Courtès wrote:
>>> Hi Ben,
>>>
>>> Ben Woodcroft <b.woodcroft <at> uq.edu.au> skribis:
>>>
>>>> I'm quite happy to send these patches in, pplacer has been near the
>>>> top of my most wanted list since I started contributing. There's two
>>>> parts that are a little out of the ordinary:
>>>>
>>>> 1) Unfortunately pplacer requires the outdated OCaml 4.01, so I
>>>> adapted the package-with-python2 approach.
>>> Is there really no way upstream could update the package to current
>>> OCaml?  That would save us a lot of packages and associated work.
>> I'm afraid I don't think so. I asked about this, but haven't received
>> a response for 3 weeks.
>> https://github.com/matsen/pplacer/issues/354
>>
>> The recommended way of installing this software is to download
>> binaries, so updating the OCaml dependency may not be at the top of
>> the priority list. This is maintained software and there's a number of
>> pieces of software which rely on pplacer (including a few of my own),
>> so I think it is worth packaging. So, IMO we should wear the costs on
>> this one.
> OK, that makes sense.
>
> To make progress, how about applying the non-4.01-specific parts of the
> patch series first (I think you didn’t get any feedback on these, so
> it’s safe to assume they’re OK if ‘guix lint’ has nothing to say)?
>
> Second, could you submit the bits about supporting 4.01 to guix-patches?
> I’ll take a look if nobody beats me at it.
OK. I've pushed the non-4.01-specific parts to master, and attached here 
a modified patch series which contains the rest. There's 15 steps but 
most are quite trivial.

Thanks, ben.
[pplacer_v2.patch (text/x-patch, attachment)]

Information forwarded to guix-patches <at> gnu.org:
bug#26150; Package guix-patches. (Wed, 05 Apr 2017 21:19:01 GMT) Full text and rfc822 format available.

Message #8 received at 26150 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Ben Woodcroft <b.woodcroft <at> uq.edu.au>
Cc: 26150 <at> debbugs.gnu.org
Subject: Re: bug#26150: [PATCH 0/15]: Add pplacer and OCaml dependencies.
Date: Wed, 05 Apr 2017 23:18:12 +0200
Hi Ben,

Ben Woodcroft <b.woodcroft <at> uq.edu.au> skribis:

> On 06/03/17 19:16, Ludovic Courtès wrote:

[...]

>> To make progress, how about applying the non-4.01-specific parts of the
>> patch series first (I think you didn’t get any feedback on these, so
>> it’s safe to assume they’re OK if ‘guix lint’ has nothing to say)?
>>
>> Second, could you submit the bits about supporting 4.01 to guix-patches?
>> I’ll take a look if nobody beats me at it.
> OK. I've pushed the non-4.01-specific parts to master, and attached
> here a modified patch series which contains the rest. There's 15 steps
> but most are quite trivial.

[...]

>>From 1e39824159fe0a43276c810fb514f56761fb8dcd Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Mon, 2 Jan 2017 17:18:59 +1000
> Subject: [PATCH 01/15] gnu: Add ocaml-4.01.
>
> * gnu/packages/ocaml.scm (ocaml-4.01): New variable.

OK.

>>From 6acdb4749edfeeb8a8fac3b6df75eeebad9c42cd Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Mon, 2 Jan 2017 22:29:28 +1000
> Subject: [PATCH 02/15] gnu: Add ocaml4.01-findlib.
>
> * gnu/packages/ocaml.scm (ocaml4.01-findlib): New variable.

OK.

>>From ec75318098c99f57bb7f769c7989e929cc3fa380 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Mon, 2 Jan 2017 22:23:34 +1000
> Subject: [PATCH 03/15] build-system: Add package-with-ocaml4.01.
>
> * guix/build-system/ocaml.scm (default-ocaml4.01, default-ocaml4.01-findlib,
> package-with-explicit-ocaml, package-with-ocaml4.01,
> strip-ocaml4.01-variant): New variables.

[...]

> +(define package-with-ocaml4.01
> +  (package-with-explicit-ocaml (delay (default-ocaml4.01))
> +                               (delay (default-ocaml4.01-findlib))
> +                                "ocaml-" "ocaml4.01-"
> +                                #:variant-property 'ocaml4.01-variant))

I choked for a few hours on this one, my main problem being that I
didn’t want us to duplicate the logic from build-system/python.scm.
This led to commits f37f2b83fa95c1fe2bf01c4b8072cfc23d4c67ec and
1618006d0bc9bfdc63f4d199fd980f29ecc78ec4.

Is the “variant” property really needed?  In Python it’s needed because
the 2.x variants sometimes need a different set of dependencies that
‘package-with-python2’ cannot automatically guess.  Conversely,
‘package-with-guile-2.0’ has no need for that.

If the variant is not needed, then I recommend using
‘package-with-input-rewriting’.

If the variant is needed, then could you use ‘package-mapping’ as in
1618006d0bc9bfdc63f4d199fd980f29ecc78ec4?

>>From 6b98a10a41179654788f49f9eb837fff0f94de65 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Sat, 18 Mar 2017 08:59:01 +1000
> Subject: [PATCH 04/15] gnu: Add ocaml4.01-bisect.
>
> * gnu/packages/ocaml.scm (ocaml4.01-bisect): New variable.
> (ocaml-bisect)[properties]: New field.

[...]

> +(define-public ocaml4.01-bisect
> +  (let ((base (package-with-ocaml4.01 (strip-ocaml4.01-variant ocaml-bisect))))
> +    (package
> +      (inherit base)
> +      (arguments
> +       `(#:ocaml ,ocaml-4.01
> +         ,@(strip-keyword-arguments '(#:make-flags) (package-arguments base))))
> +      (native-inputs `(,@(alist-delete "camlp4" (package-native-inputs base))))
> +      (propagated-inputs
> +       `(,@(alist-delete "camlp4" (package-propagated-inputs base)))))))

Could you add comments explaining why camlp4 needs to be propagated and
 why #:make-flags is removed?

>>From e9deb37a918beba30fb3ce3c1f39f14dba28f6d4 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Sat, 18 Mar 2017 07:10:55 +1000
> Subject: [PATCH 05/15] gnu: Add ocaml4.01-sqlite3.
>
> * gnu/packages/ocaml.scm: (ocaml4.01-sqlite3): New variable.
> (ocaml-sqlite3)[properties]: New field.

OK.

>>From 6861038410dee1ea663a5129d84f10a6f1cd6227 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Sat, 18 Mar 2017 07:14:17 +1000
> Subject: [PATCH 06/15] gnu: Add ocaml4.01-csv.
>
> * gnu/packages/ocaml.scm (ocaml4.01-csv): New variable.
> (ocaml-csv)[properties]: New field.

OK.

>>From a64bee2e8d248cb227801a0b915df06530d657e0 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Sat, 18 Mar 2017 07:15:58 +1000
> Subject: [PATCH 07/15] gnu: Add ocaml4.01-gsl.
>
> * gnu/packages/maths.scm (ocaml4.01-gsl): New variable.
> (ocaml-gsl)[properties]: New field.

OK.

>>From 7c0aaffa5e556e46a9a61319714e43f93cc808d4 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Sat, 18 Mar 2017 07:17:07 +1000
> Subject: [PATCH 08/15] gnu: Add ocaml4.01-mcl.
>
> * gnu/packages/machine-learning.scm (ocaml4.01-mcl): New variable.
> (ocaml-mcl)[properties]: New field.

OK.

>>From 2d132b3c0d0604992dc5176cb5304978c06ed007 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Fri, 6 Jan 2017 22:15:12 +1000
> Subject: [PATCH 09/15] gnu: Add ocaml4.01-camlzip.
>
> * gnu/packages/ocaml.scm (ocaml4.01-camlzip): New variable.

OK.

>>From 9902aa5db83ee2b0879f4f350f7e827607b21cfd Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Fri, 6 Jan 2017 22:17:34 +1000
> Subject: [PATCH 10/15] gnu: Add ocaml4.01-qtest.
>
> * gnu/packages/ocaml.scm (ocaml4.01-qtest): New variable.
> (ocaml-qtest)[properties]: New field.

OK.

>>From 6d3b0543c22323944f13d5ca7c7233b94828a144 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Fri, 6 Jan 2017 22:34:01 +1000
> Subject: [PATCH 11/15] gnu: Add ocaml4.01-ounit.
>
> * gnu/packages/ocaml.scm (ocaml4.01-ounit): New variable.
> (ocaml-ounit)[properties]: New field.

OK.

>>From f907957a0243c43dfe9c0c29400545b115ec92f8 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Sat, 4 Feb 2017 12:15:39 +1000
> Subject: [PATCH 12/15] gnu: Add ocaml4.01-xmlm.
>
> * gnu/packages/ocaml.scm (ocaml4.01-xmlm): New variable.
> (ocaml-xmlm)[properties]: New field.

OK.

>>From 38c70285408cf1fd3c0d571df6b8e35abcc63236 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Sat, 4 Feb 2017 12:16:50 +1000
> Subject: [PATCH 13/15] gnu: Add ocaml4.01-batteries.
>
> * gnu/packages/ocaml.scm (ocaml4.01-batteries): New variable.
> (ocaml-batteries)[properties]: New field.

OK.

>>From 0253fdf1f723a8029f6e2511bfcad6543394b00a Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Sat, 4 Feb 2017 15:23:45 +1000
> Subject: [PATCH 14/15] gnu: Add taxtastic.
>
> * gnu/packages/bioinformatics.scm (taxtastic): New variable.

OK.

>>From 3d4e5e2e73067c5968e38abd1fe0e88204d6d9f8 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <donttrustben <at> gmail.com>
> Date: Sat, 4 Feb 2017 15:25:29 +1000
> Subject: [PATCH 15/15] gnu: Add pplacer.
>
> * gnu/packages/bioinformatics.scm (pplacer, pplacer-scripts): New
> variables.

[...]

> +      (home-page "http://matsen.fhcrc.org/pplacer")
> +      (license license:gpl3))))

Version 3 only?

> +;; This package is installed alongside 'pplacer'.  It is a separate package so
> +;; that it can use the python-build-system for the scripts that are
> +;; distributed alongside the main OCaml binaries.
> +(define pplacer-scripts
> +  (package
> +    (inherit pplacer)
> +    (name "pplacer-scripts")

Maybe add a different synopsis?

Apologies for taking so long!

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#26150; Package guix-patches. (Wed, 10 May 2017 20:29:01 GMT) Full text and rfc822 format available.

Message #11 received at 26150 <at> debbugs.gnu.org (full text, mbox):

From: Ben Woodcroft <b.woodcroft <at> uq.edu.au>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 26150 <at> debbugs.gnu.org, 26150-done <at> debbugs.gnu.org
Subject: Re: bug#26150: [PATCH 0/15]: Add pplacer and OCaml dependencies.
Date: Wed, 10 May 2017 22:28:02 +0200
Hi Ludo,

On 05/04/17 23:18, Ludovic Courtès wrote:
> Ben Woodcroft <b.woodcroft <at> uq.edu.au> skribis:
> [...]
>
>> +(define package-with-ocaml4.01
>> +  (package-with-explicit-ocaml (delay (default-ocaml4.01))
>> +                               (delay (default-ocaml4.01-findlib))
>> +                                "ocaml-" "ocaml4.01-"
>> +                                #:variant-property 'ocaml4.01-variant))
> I choked for a few hours on this one, my main problem being that I
> didn’t want us to duplicate the logic from build-system/python.scm.
> This led to commits f37f2b83fa95c1fe2bf01c4b8072cfc23d4c67ec and
> 1618006d0bc9bfdc63f4d199fd980f29ecc78ec4.
>
> Is the “variant” property really needed?  In Python it’s needed because
> the 2.x variants sometimes need a different set of dependencies that
> ‘package-with-python2’ cannot automatically guess.  Conversely,
> ‘package-with-guile-2.0’ has no need for that.
>
> If the variant is not needed, then I recommend using
> ‘package-with-input-rewriting’.
>
> If the variant is needed, then could you use ‘package-mapping’ as in
> 1618006d0bc9bfdc63f4d199fd980f29ecc78ec4?
I ended up pushing this series, ending in 
c033f5d6b5b565c43588d25b7b47d177f0c0933c.

There was one package where a different set of inputs was required 
(ocaml4.01-bisect), so I used 'package-mapping' as suggested. Your 
solution seemed very clean to me, thank you for spending those few hours.

> [...]
>> +      (home-page "http://matsen.fhcrc.org/pplacer")
>> +      (license license:gpl3))))
> Version 3 only?
Afraid so.

>> +;; This package is installed alongside 'pplacer'.  It is a separate package so
>> +;; that it can use the python-build-system for the scripts that are
>> +;; distributed alongside the main OCaml binaries.
>> +(define pplacer-scripts
>> +  (package
>> +    (inherit pplacer)
>> +    (name "pplacer-scripts")
> Maybe add a different synopsis?
OK, good.

> Apologies for taking so long!
Not at all, thank your for help. Very happy to see this package in Guix 
at last.
ben




Reply sent to Ben Woodcroft <b.woodcroft <at> uq.edu.au>:
You have taken responsibility. (Wed, 10 May 2017 20:29:02 GMT) Full text and rfc822 format available.

Notification sent to Ben Woodcroft <b.woodcroft <at> uq.edu.au>:
bug acknowledged by developer. (Wed, 10 May 2017 20:29:03 GMT) Full text and rfc822 format available.

Information forwarded to guix-patches <at> gnu.org:
bug#26150; Package guix-patches. (Wed, 10 May 2017 21:46:02 GMT) Full text and rfc822 format available.

Message #19 received at 26150 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Ben Woodcroft <b.woodcroft <at> uq.edu.au>
Cc: 26150 <at> debbugs.gnu.org, 26150-done <at> debbugs.gnu.org
Subject: Re: bug#26150: [PATCH 0/15]: Add pplacer and OCaml dependencies.
Date: Wed, 10 May 2017 23:44:57 +0200
Hi Ben,

Ben Woodcroft <b.woodcroft <at> uq.edu.au> skribis:

> On 05/04/17 23:18, Ludovic Courtès wrote:
>> Ben Woodcroft <b.woodcroft <at> uq.edu.au> skribis:
>> [...]
>>
>>> +(define package-with-ocaml4.01
>>> +  (package-with-explicit-ocaml (delay (default-ocaml4.01))
>>> +                               (delay (default-ocaml4.01-findlib))
>>> +                                "ocaml-" "ocaml4.01-"
>>> +                                #:variant-property 'ocaml4.01-variant))
>> I choked for a few hours on this one, my main problem being that I
>> didn’t want us to duplicate the logic from build-system/python.scm.
>> This led to commits f37f2b83fa95c1fe2bf01c4b8072cfc23d4c67ec and
>> 1618006d0bc9bfdc63f4d199fd980f29ecc78ec4.
>>
>> Is the “variant” property really needed?  In Python it’s needed because
>> the 2.x variants sometimes need a different set of dependencies that
>> ‘package-with-python2’ cannot automatically guess.  Conversely,
>> ‘package-with-guile-2.0’ has no need for that.
>>
>> If the variant is not needed, then I recommend using
>> ‘package-with-input-rewriting’.
>>
>> If the variant is needed, then could you use ‘package-mapping’ as in
>> 1618006d0bc9bfdc63f4d199fd980f29ecc78ec4?
> I ended up pushing this series, ending in
> c033f5d6b5b565c43588d25b7b47d177f0c0933c.
>
> There was one package where a different set of inputs was required
> (ocaml4.01-bisect), so I used 'package-mapping' as suggested. Your
> solution seemed very clean to me, thank you for spending those few
> hours.

That’s good news, thank you!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#26150; Package guix-patches. (Wed, 10 May 2017 21:46:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 08 Jun 2017 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 324 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.