Subject: Re: [bug#38128] [PATCH] gnu: Add boost-with-python3

From: Marius Bakke <[email-masked]>
Date: Sun, 10 Nov 2019 22:50:18 +0100

Giacomo,

[email-masked] writes:

> Hello Guixers!
>
> Given the recent discussion about dropping python 2 completely I thought 
> it's time to build our libboost against python 3. I didn't have the time 
> to check if every boost dependency (there are a lot ;) ) supported 
> python 3, so I added a new variable "boost-with-python3". I'm not sure 
> if I should have made it hidden or if I should have update directly 
> boost definition so any feedback is welcome.

Thank you for this patch!  Have you tried building anything with this
new Boost yet?

Boost has 4623 dependent packages according to 'guix refresh -l boost',
so we can not change the package definition on the master branch.  Such
changes has to go through the 'core-updates' branch.  Adding a separate
variable was the right choice.

It would be great if you could work on a follow-up patch for
'core-updates' that merges this variant with the regular 'Boost'.  I
left that as a TODO comment.  :-)

> From 6eef72ea2bc904ff1371fbbe1211a3890625d99c Mon Sep 17 00:00:00 2001
> From: Giacomo Leidi <[email-masked]>
> Date: Fri, 8 Nov 2019 11:52:42 +0100
> Subject: [PATCH] gnu: Add boost-with-python3.
>
> * gnu/packages/boost.scm (boost-with-python3): New variable.

[...]
  
> +(define-public boost-with-python3
> +  (package
> +    (inherit boost)
> +    (source (origin
> +              (inherit (package-source boost))))

I removed this part, as the source is already inherited.

I also gave it a different name (boost-python3) to avoid a naming
conflict on the CLI.

[...]

> +                     (replace 'provide-libboost_python
> +                       (lambda* (#:key outputs #:allow-other-keys)
> +                         (let ((out (assoc-ref outputs "out")))
> +                           (with-directory-excursion (string-append out "/lib")
> +                             ;; Boost can build support for both Python 2 and Python 3 since
> +                             ;; version 1.67.0, and suffixes each library with the Python
> +                             ;; version.  Many consumers only check for libboost_python
> +                             ;; however, so we provide it here as suggested in
> +                             ;; <https://github.com/boostorg/python/issues/203>.

...and dropped this comment, since it is already explained in the
regular Boost package.

Applied, thanks!