unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* bug#26150: [PATCH 0/15]: Add pplacer and OCaml dependencies.
       [not found]       ` <d4cc770f-f2d0-4a93-cc54-8302eed1d4c7@uq.edu.au>
@ 2017-04-05 21:18         ` Ludovic Courtès
  2017-05-10 20:28           ` Ben Woodcroft
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2017-04-05 21:18 UTC (permalink / raw)
  To: Ben Woodcroft; +Cc: 26150

Hi Ben,

Ben Woodcroft <b.woodcroft@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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@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’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#26150: [PATCH 0/15]: Add pplacer and OCaml dependencies.
  2017-04-05 21:18         ` bug#26150: [PATCH 0/15]: Add pplacer and OCaml dependencies Ludovic Courtès
@ 2017-05-10 20:28           ` Ben Woodcroft
  2017-05-10 21:44             ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Ben Woodcroft @ 2017-05-10 20:28 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 26150, 26150-done

Hi Ludo,

On 05/04/17 23:18, Ludovic Courtès wrote:
> Ben Woodcroft <b.woodcroft@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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#26150: [PATCH 0/15]: Add pplacer and OCaml dependencies.
  2017-05-10 20:28           ` Ben Woodcroft
@ 2017-05-10 21:44             ` Ludovic Courtès
  0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2017-05-10 21:44 UTC (permalink / raw)
  To: Ben Woodcroft; +Cc: 26150, 26150-done

Hi Ben,

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

> On 05/04/17 23:18, Ludovic Courtès wrote:
>> Ben Woodcroft <b.woodcroft@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’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-05-10 21:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <9e1d5f35-c6dc-e55f-dbb2-2649ba5843df@uq.edu.au>
     [not found] ` <87wpczatcg.fsf@gnu.org>
     [not found]   ` <5c839114-e4d6-41b2-5b18-fd4d459d56e6@uq.edu.au>
     [not found]     ` <87mvcyzrxl.fsf@gnu.org>
     [not found]       ` <d4cc770f-f2d0-4a93-cc54-8302eed1d4c7@uq.edu.au>
2017-04-05 21:18         ` bug#26150: [PATCH 0/15]: Add pplacer and OCaml dependencies Ludovic Courtès
2017-05-10 20:28           ` Ben Woodcroft
2017-05-10 21:44             ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).