Dave Love writes: > 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. Hello Dave, Sorry for the delay, these fell through the cracks a bit. To save these patches from bitrot, I went ahead and applied them with some changes, detailed below. Hope I didn't mess anything up! > From d4986401bfcb2eacd7c7f437a50ca85d752cc904 Mon Sep 17 00:00:00 2001 > From: Dave Love > 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. I ended up rewriting the install-doc phase so that it extracts directly to the "doc" output, and adjusted the commit message slightly. > From e64186082735f533bf172fcad491eaabed2928f0 Mon Sep 17 00:00:00 2001 > From: Dave Love > 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. Please mention all changed inputs here (e.g. for grepping purposes). > [outputs]: Add python2, python3. > [install-python]: New phase. > (native-inputs > - `(("flex" ,flex) ("bison" ,bison) > + `(("flex" ,flex) > + ("bison" ,bison) > + ("python-2" ,python-2) > + ("python-3" ,python-3) The Pythons here need to be regular inputs since they are referenced. > + (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" I went ahead and removed this comment since we are not an RPM derived distro, and always run "setup.py build" before "install" anyway. > + (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"))))) (for-each ...) does not check (or preserve) the return value, so I changed this to use (every ...) from SRFI-1. Thanks for the patches!