From: Dave Love <fx@gnu.org>
To: 27912@debbugs.gnu.org
Subject: [bug#27912] add libnl3
Date: Tue, 01 Aug 2017 21:29:30 +0100 [thread overview]
Message-ID: <87y3r3821h.fsf@i-ulialbion.it.manchester.ac.uk> (raw)
[-- Attachment #1: Type: text/plain, Size: 156 bytes --]
This is the first step in openfabrics support. I've also done
libibverbs, but need to check that. Let me know if someone else is
working on openfabrics.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0052-gnu-Add-libnl3.patch --]
[-- Type: text/x-diff, Size: 4164 bytes --]
From 8eb82c832622761e9a50a860f33addc3c15caf13 Mon Sep 17 00:00:00 2001
From: Dave Love <fx@gnu.org>
Date: Tue, 01 Aug 2017 21:22:26 +0100
Subject: [PATCH 52/69] gnu: Add libnl3.
* gnu/packages/linux.scm (libnl3): New variable.
---
gnu/packages/linux.scm | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 93a6a583a..6914e60a8 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4195,3 +4195,78 @@ tool, to understand the type of environment a process runs in, and for
comparing system environments.")
(home-page "http://github.com/jamesodhunt/procenv/")
(license license:gpl3+)))
+
+;; Fixme: Is this the right way/a good way to deal with the Python bits?
+(define-public libnl3
+ (begin
+ (use-modules (gnu packages swig))
+ (package
+ (name "libnl3")
+ (version "3.3.0")
+ (build-system gnu-build-system)
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/thom311/libnl/releases/download/libnl"
+ (string-join (string-split version #\.) "_")
+ "/libnl-" version ".tar.gz"))
+ (sha256
+ (base32 "1r3lw3hjvqxi5zqyq2w1qadm3gisd9nlf71dkl4yplacmssnhm3h"))))
+ (native-inputs
+ `(("flex" ,flex)
+ ("bison" ,bison)
+ ("python-2" ,python-2)
+ ("python-3" ,python-3)
+ ("swig" ,swig)
+ ("pkg-config" ,pkg-config)
+ ("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"))
+ (arguments
+ `(#:configure-flags
+ `(,(format #f "LDFLAGS=-Wl,-rpath=~a/lib" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-python
+ (let ((out (assoc-ref %outputs "out")))
+ (lambda* (#:key outputs #:allow-other-keys)
+ (define (python-inst python)
+ (let ((ldflags (format #f "LDFLAGS=-Wl,-rpath=~a/lib" out)))
+ (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 out)))
+ (zero?
+ (system (format #f "~a ~a setup.py install --prefix=~a"
+ ldflags python out)))
+ (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"
+ (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 "Convenience library for Linux netlink sockets")
+ (description
+ "The libnl suite is a collection of libraries providing APIs to netlink
+protocol based Linux kernel interfaces.
+
+Netlink is an IPC mechanism primarly between the kernel and user space
+processes. It was designed to be a more flexible successor to ioctl to
+provide mainly networking related kernel configuration and monitoring
+interfaces.")
+ (license license:lgpl2.1))))
--
2.11.0
next reply other threads:[~2017-08-01 20:30 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-01 20:29 Dave Love [this message]
2017-08-01 21:07 ` [bug#27912] add libnl3 Marius Bakke
2017-08-02 9:28 ` Dave Love
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y3r3821h.fsf@i-ulialbion.it.manchester.ac.uk \
--to=fx@gnu.org \
--cc=27912@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.