[bug#39754,v2] gnu: z3: Build the Python bindings
diff mbox series

Message ID 20200223163245.10253-1-kuba@kadziolka.net
State Accepted
Headers show
Series
  • [bug#39754,v2] gnu: z3: Build the Python bindings
Related show

Checks

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

Commit Message

Jakub Kądziołka Feb. 23, 2020, 4:32 p.m. UTC
* gnu/packages/maths.scm (z3)[arguments]: Add the --python and
  --pypkgdir flags to configure.
---
Changed the #:modules argument to only import site-packages from (guix
build python-build-system) as, as Ludo' pointed out on IRC, it also
exports %standard-phases, which could conflict with (guix build
gnu-build-system).

I considered putting the Python bindings in a separate output; I decided not to
do so as this change increases `guix size z3' from 116.4 MiB to 117.5
MiB, which is barely noticeable.

 gnu/packages/maths.scm | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

Comments

Ludovic Courtès Feb. 23, 2020, 4:48 p.m. UTC | #1
Hi!

Jakub Kądziołka <kuba@kadziolka.net> skribis:

> * gnu/packages/maths.scm (z3)[arguments]: Add the --python and
>   --pypkgdir flags to configure.

Could you also mention the addition of #:modules and #:imported-modules?

> Changed the #:modules argument to only import site-packages from (guix
> build python-build-system) as, as Ludo' pointed out on IRC, it also
> exports %standard-phases, which could conflict with (guix build
> gnu-build-system).
>
> I considered putting the Python bindings in a separate output; I decided not to
> do so as this change increases `guix size z3' from 116.4 MiB to 117.5
> MiB, which is barely noticeable.

Makes sense to me.

LGTM, thanks!

Ludo’.
Jakub Kądziołka Feb. 23, 2020, 4:59 p.m. UTC | #2
On Sun, Feb 23, 2020 at 05:48:48PM +0100, Ludovic Courtès wrote:
> Hi!
> 
> Jakub Kądziołka <kuba@kadziolka.net> skribis:
> 
> > * gnu/packages/maths.scm (z3)[arguments]: Add the --python and
> >   --pypkgdir flags to configure.
> 
> Could you also mention the addition of #:modules and #:imported-modules?
Sure thing!

> 
> > Changed the #:modules argument to only import site-packages from (guix
> > build python-build-system) as, as Ludo' pointed out on IRC, it also
> > exports %standard-phases, which could conflict with (guix build
> > gnu-build-system).
> >
> > I considered putting the Python bindings in a separate output; I decided not to
> > do so as this change increases `guix size z3' from 116.4 MiB to 117.5
> > MiB, which is barely noticeable.
> 
> Makes sense to me.
> 
> LGTM, thanks!
Thanks! Pushed:

commit f6b4d395fd321d43fd548ba832c78320ac3f8d51
Author: Jakub Kądziołka <kuba@kadziolka.net>
Date:   Sun Feb 23 16:11:30 2020 +0100

    gnu: z3: Build the Python bindings

    * gnu/packages/maths.scm (z3)[arguments]: Add the --python and
      --pypkgdir flags to configure. To facilitate the latter, add
      (guix build python-build-system) to #:modules and #:imported-modules.

Patch
diff mbox series

diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 535ba02ea6..cab84a520b 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -33,6 +33,7 @@ 
 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
 ;;; Copyright © 2019 Robert Smith <robertsmith@posteo.net>
+;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -4181,7 +4182,12 @@  as equations, scalars, vectors, and matrices.")
                 "0hprcdwhhyjigmhhk6514m71bnmvqci9r8gglrqilgx424r6ff7q"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:phases
+     `(#:imported-modules ((guix build python-build-system)
+                           ,@%gnu-build-system-modules)
+       #:modules (((guix build python-build-system) #:select (site-packages))
+                  (guix build gnu-build-system)
+                  (guix build utils))
+       #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'fix-compatability
            ;; Versions after 4.8.3 have immintrin.h IFDEFed for Windows only.
@@ -4198,7 +4204,9 @@  as equations, scalars, vectors, and matrices.")
          (replace 'configure
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (invoke "./configure"
-                     (string-append "--prefix=" (assoc-ref outputs "out")))))
+                     "--python"
+                     (string-append "--prefix=" (assoc-ref outputs "out"))
+                     (string-append "--pypkgdir=" (site-packages inputs outputs)))))
          (add-after 'configure 'change-directory
            (lambda _
              (chdir "build")