[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
15/22: gnu: libnl: Move python outputs to separate packages.
From: |
guix-commits |
Subject: |
15/22: gnu: libnl: Move python outputs to separate packages. |
Date: |
Fri, 15 Nov 2019 11:32:46 -0500 (EST) |
mothacehe pushed a commit to branch core-updates
in repository guix.
commit c41f88699d8dce182ab422433d9f87cdb83ce2a4
Author: Mathieu Othacehe <address@hidden>
Date: Mon Sep 30 15:03:18 2019 +0200
gnu: libnl: Move python outputs to separate packages.
Cross compiling python extensions is currently broken. To allow libnl
cross compilation, move its python2 and python3 outputs to separate
packages.
* gnu/packages/linux.scm (libnl)[outputs]: Remove python2 and python3
and replace by ...
(libnl-python-package): ... this new procedure,
(libnl-python2, libnl-python3): new variables.
---
gnu/packages/linux.scm | 66 ++++++++++++++++++++++++++++++++------------------
1 file changed, 43 insertions(+), 23 deletions(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index ed6df21..911bd59 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1997,35 +1997,18 @@ transparently through a bridge.")
"/libnl-doc-" version ".tar.gz"))
(sha256
(base32
"19p5y8q3cm5wqvamqc4s5syxnnkvzxy3gw8ivxk6fv9ybn8jm35h"))))))
- (inputs
- `(("python-2" ,python-2)
- ("python-3" ,python-3)))
- (outputs '("out" "doc" "python2" "python3"))
+ (outputs `("out" "doc"))
(arguments
- `(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (srfi srfi-1))
- #:phases
+ `(#:phases
(modify-phases %standard-phases
- (add-after 'install 'install-python
- (lambda* (#:key outputs #:allow-other-keys)
- (define (python-inst python)
- (invoke python "setup.py" "build")
- (invoke python "setup.py" "install"
- (string-append "--prefix="
- (assoc-ref %outputs python)))
- (invoke python "setup.py" "clean"))
- (setenv "LDFLAGS" (format #f "-Wl,-rpath=~a/lib"
- (assoc-ref %outputs "out")))
- (with-directory-excursion "./python"
- (for-each python-inst '("python2" "python3")))
- #t))
(add-after 'install 'install-doc
- (lambda* (#:key inputs outputs #:allow-other-keys)
+ (lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
(let ((dest (string-append (assoc-ref outputs "doc")
"/share/doc/libnl")))
(mkdir-p dest)
- (invoke "tar" "xf" (assoc-ref inputs "libnl3-doc")
+ (invoke "tar" "xf" (assoc-ref
+ (or native-inputs inputs)
+ "libnl3-doc")
"--strip-components=1" "-C" dest)))))))
(home-page "https://www.infradead.org/~tgr/libnl/")
(synopsis "NetLink protocol library suite")
@@ -2040,6 +2023,43 @@ configuration and monitoring interfaces.")
;; 'nl-addr-add.c'), so the result is GPLv2-only.
(license license:gpl2)))
+;; libnl python extensions used to be outputs of libnl. However, as
+;; cross-compiling python extensions is currently broken, create separate
+;; packages for libnl python extensions.
+(define (libnl-python-package python)
+ (let ((name (string-append "libnl-" python)))
+ (package
+ (inherit libnl)
+ (name name)
+ (inputs `(,@(cond
+ ((string=? python "python2")
+ `(("python-2" ,python-2)))
+ ((string=? python "python3")
+ `(("python-3" ,python-3))))))
+ (propagated-inputs `(("libnl" ,libnl)))
+ (outputs '("out"))
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-1))
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (define (python-inst python)
+ (invoke python "setup.py" "build")
+ (invoke python "setup.py" "install"
+ (string-append "--prefix="
+ (assoc-ref %outputs "out")))
+ (invoke python "setup.py" "clean"))
+ (setenv "LDFLAGS" (format #f "-Wl,-rpath=~a/lib"
+ (assoc-ref inputs "libnl")))
+ (with-directory-excursion "./python" (python-inst ,python))
+ #t))))))))
+
+(define-public libnl-python2 (libnl-python-package "python2"))
+(define-public libnl-python3 (libnl-python-package "python3"))
+
(define-public iw
(package
(name "iw")
- 05/22: gnu: icu4c: Fix cross-compilation., (continued)
- 05/22: gnu: icu4c: Fix cross-compilation., guix-commits, 2019/11/15
- 10/22: gnu: swig: Fix cross-compilation., guix-commits, 2019/11/15
- 11/22: gnu: git: Fix cross-compilation., guix-commits, 2019/11/15
- 04/22: gnu: cyrus-sasl: Fix cross-compilation., guix-commits, 2019/11/15
- 17/22: gnu: cmake: Fix cross-compilation., guix-commits, 2019/11/15
- 13/22: gnu: guile-gcrypt: Fix cross-compilation., guix-commits, 2019/11/15
- 12/22: gnu: doxygen: Fix cross-compilation., guix-commits, 2019/11/15
- 08/22: gnu: bdb: Fix cross-compilation., guix-commits, 2019/11/15
- 07/22: gnu: eudev: Fix cross-compilation., guix-commits, 2019/11/15
- 18/22: utils: Use target-aarch64? and target-arm? helpers., guix-commits, 2019/11/15
- 15/22: gnu: libnl: Move python outputs to separate packages.,
guix-commits <=
- 09/22: gnu: openldap: Fix cross-compilation., guix-commits, 2019/11/15
- 19/22: build: vm: Fix arm32 support., guix-commits, 2019/11/15
- 21/22: system: vm: Support cross-compilation., guix-commits, 2019/11/15
- 20/22: system: vm: Add arm64 support., guix-commits, 2019/11/15
- 06/22: gnu: boost: Fix cross-compilation., guix-commits, 2019/11/15
- 22/22: scripts: system: Add --target option., guix-commits, 2019/11/15
- 16/22: gnu: crda: Fix cross-compilation, guix-commits, 2019/11/15
- 03/22: gnu: groff: Fix cross compilation., guix-commits, 2019/11/15
- 14/22: gnu: guile-sqlite3: Fix cross-compilation., guix-commits, 2019/11/15