(address . guix-patches@gnu.org)
These put the extra bits from what I previously did as libnl3 into
libnl. I don't know whether the handling of the Python interface is the
right way to do it, but I don't think the Python is important anyway --
Debian doesn't ship it.
From d4986401bfcb2eacd7c7f437a50ca85d752cc904 Mon Sep 17 00:00:00 2001
From: Dave Love <fx@gnu.org>
Date: Wed, 2 Aug 2017 12:09:02 +0100
Subject: [PATCH 3/4] gnu: libnl: Add "doc" output.
* gnu/packages/linux.scm (libnl)[native-inputs, outputs]: Add doc source.
[arguments]: New field.
---
gnu/packages/linux.scm | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
Toggle diff (38 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index a189458ad..3902560a8 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1463,7 +1463,30 @@ transparently through a bridge.")
(base32
"1r3lw3hjvqxi5zqyq2w1qadm3gisd9nlf71dkl4yplacmssnhm3h"))))
(build-system gnu-build-system)
- (native-inputs `(("flex" ,flex) ("bison" ,bison)))
+ (native-inputs
+ `(("flex" ,flex) ("bison" ,bison)
+ ("libnl3-doc"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/thom311/libnl/releases/download/libnl"
+ (string-join (string-split version #\.) "_")
+ "/libnl-doc-" version ".tar.gz"))
+ (sha256
+ (base32 "0srab805yj8wb13l64qjyp3mdbqapxg5vk46v3zlhhzpmxqw8j7r"))))))
+ (outputs '("out" "doc"))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-doc
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((dest (format #f "~a/share/doc"
+ (assoc-ref outputs "doc"))))
+ (mkdir-p dest)
+ (with-directory-excursion dest
+ (and
+ (zero? (system* "tar" "xf" (assoc-ref inputs "libnl3-doc")))
+ (zero? (system "mv *libnl-doc* libnl3"))))))))))
(home-page "http://www.infradead.org/~tgr/libnl/")
(synopsis "NetLink protocol library suite")
(description
--
2.11.0
From e64186082735f533bf172fcad491eaabed2928f0 Mon Sep 17 00:00:00 2001
From: Dave Love <fx@gnu.org>
Date: Wed, 2 Aug 2017 13:39:28 +0100
Subject: [PATCH 4/4] gnu: libnl: Add "python2" and "python3" outputs.
* gnu/packages/linux.scm (libnl)[native-inputs]: Extend.
[outputs]: Add python2, python3.
[install-python]: New phase.
---
gnu/packages/linux.scm | 27 +++++++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
Toggle diff (57 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 3902560a8..dd9c34999 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -101,6 +101,7 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages groff)
#:use-module (gnu packages selinux)
+ #:use-module (gnu packages swig)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
@@ -1464,7 +1465,12 @@ transparently through a bridge.")
"1r3lw3hjvqxi5zqyq2w1qadm3gisd9nlf71dkl4yplacmssnhm3h"))))
(build-system gnu-build-system)
(native-inputs
- `(("flex" ,flex) ("bison" ,bison)
+ `(("flex" ,flex)
+ ("bison" ,bison)
+ ("python-2" ,python-2)
+ ("python-3" ,python-3)
+ ("swig" ,swig)
+ ("pkg-config" ,pkg-config)
("libnl3-doc"
,(origin
(method url-fetch)
@@ -1474,10 +1480,27 @@ transparently through a bridge.")
"/libnl-doc-" version ".tar.gz"))
(sha256
(base32 "0srab805yj8wb13l64qjyp3mdbqapxg5vk46v3zlhhzpmxqw8j7r"))))))
- (outputs '("out" "doc"))
+ (outputs '("out" "doc" "python2" "python3"))
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-after 'install 'install-python
+ (lambda* (#:key outputs #:allow-other-keys)
+ (define (python-inst python)
+ (let ((ldflags (format #f "LDFLAGS=-Wl,-rpath=~a/lib"
+ (assoc-ref %outputs "out")))
+ (pyout (assoc-ref %outputs python)))
+ (and
+ ;; The rpm spec quoth "build twice, otherwise capi.py is
+ ;; not copied to the build directory"
+ (zero? (system (format #f "~a ~a setup.py build"
+ ldflags python pyout)))
+ (zero?
+ (system (format #f "~a ~a setup.py install --prefix=~a"
+ ldflags python pyout)))
+ (zero? (system* python "setup.py" "clean")))))
+ (with-directory-excursion "./python"
+ (for-each python-inst '("python2" "python3")))))
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((dest (format #f "~a/share/doc"
--
2.11.0