* 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).