unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#27912] add libnl3
@ 2017-08-01 20:29 Dave Love
  2017-08-01 21:07 ` Marius Bakke
  0 siblings, 1 reply; 3+ messages in thread
From: Dave Love @ 2017-08-01 20:29 UTC (permalink / raw)
  To: 27912

[-- 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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#27912] add libnl3
  2017-08-01 20:29 [bug#27912] add libnl3 Dave Love
@ 2017-08-01 21:07 ` Marius Bakke
  2017-08-02  9:28   ` Dave Love
  0 siblings, 1 reply; 3+ messages in thread
From: Marius Bakke @ 2017-08-01 21:07 UTC (permalink / raw)
  To: Dave Love, 27912

[-- Attachment #1: Type: text/plain, Size: 464 bytes --]

Dave Love <fx@gnu.org> writes:

> 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.

Hi Dave,

We already have the netlink bindings under the name 'libnl', but it
probably doesn't install the Python bits. Can you adjust this patch to
improve the existing package?

We also have libibverbs in 'rdma-core'. I haven't tested the
functionality of it, though.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [bug#27912] add libnl3
  2017-08-01 21:07 ` Marius Bakke
@ 2017-08-02  9:28   ` Dave Love
  0 siblings, 0 replies; 3+ messages in thread
From: Dave Love @ 2017-08-02  9:28 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 27912

Marius Bakke <mbakke@fastmail.com> writes:

> Hi Dave,
>
> We already have the netlink bindings under the name 'libnl', but it
> probably doesn't install the Python bits. Can you adjust this patch to
> improve the existing package?
>
> We also have libibverbs in 'rdma-core'. I haven't tested the
> functionality of it, though.

Oops -- thanks!  I'm puzzled how I missed libnl, in particular.  I don't
know whether the Python support is really worth it, but it's in the
Fedora rpm, and I'll try to fit it in.

I'd expect rdma-core in linux.scm not to be the userspace components,
but then I'm also puzzled why I didn't find verbs with --search and it
was on Ludo's todo list.  I'll look at psm support and libfabrics when I
have a chance.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-08-02  9:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-01 20:29 [bug#27912] add libnl3 Dave Love
2017-08-01 21:07 ` Marius Bakke
2017-08-02  9:28   ` Dave Love

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).