diff options
author | Simon South <simon@simonsouth.net> | 2022-02-07 09:26:28 -0500 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-02-08 13:34:03 +0100 |
commit | 20516fbb9253304f5f46245283f70e1578a7a6b2 (patch) | |
tree | cbaae83a5598d9b536a08fbc39b86261bcfb9352 | |
parent | 0d0f2b9c358f81b6fbdc84b020b209f865646707 (diff) | |
download | guix-20516fbb9253304f5f46245283f70e1578a7a6b2.tar.gz |
gnu: iwd: Build from Git sources.
* gnu/packages/networking.scm (iwd)[source]: Use "git-fetch" and "git-file-name". [inputs]: Add ell source code. [native-inputs]: Add autoconf, automake, libtool. [arguments]<#:phases>: Add "copy-ell-header-files" phase to copy shared header files from ell source into source tree. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/networking.scm | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index ef0ae12e49..382b4cf96d 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -47,6 +47,7 @@ ;;; Copyright © 2021 Milkey Mouse <milkeymouse@meme.institute> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2022 Simon South <simon@simonsouth.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -3564,20 +3565,25 @@ powerful route filtering syntax and an easy-to-use configuration interface.") (name "iwd") (version "1.20") (source (origin - ;; FIXME: We're using the bootstrapped sources because - ;; otherwise using an external ell library is impossible. - ;; How to bootstrap with Guix? - (method url-fetch) - (uri (string-append "https://www.kernel.org/pub/linux/network" - "/wireless/iwd-" version ".tar.xz")) + (method git-fetch) + (uri (git-reference + (url "https://git.kernel.org/pub/scm/network/wireless/iwd.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "03q5scahyg86h4bdxqxm32shyssgpmfp5b3183j01ig7mg6f4lbx")))) + "0xlbnsgw9giakfj0xr526i7mcwyaryb18g66mv90njnrm8radjhr")))) (build-system gnu-build-system) (inputs - (list dbus ell readline)) + (list dbus ell (package-source ell) readline)) (native-inputs - (list pkg-config python python-docutils openssl)) + (list autoconf + automake + libtool + pkg-config + python + python-docutils + openssl)) (arguments `(#:configure-flags ,#~(list "--disable-systemd-service" @@ -3591,6 +3597,20 @@ powerful route filtering syntax and an easy-to-use configuration interface.") #$output "/share/dbus-1/system-services")) #:phases (modify-phases %standard-phases + (add-after 'unpack 'copy-ell-header-files + ;; Copy into the source tree two of ell's private header files that + ;; it shares with iwd, as is required to build with the + ;; "--enable-external-ell" configure option. + ;; See the definition of "ell_shared" in iwd's Makefile.am. + (lambda* (#:key inputs #:allow-other-keys) + (let ((ell-header-dir (search-input-directory inputs "/ell")) + (target-dir "ell")) + (mkdir target-dir) + (for-each + (lambda (file-name) + (copy-file (string-append ell-header-dir "/" file-name) + (string-append target-dir "/" file-name))) + '("asn1-private.h" "useful.h"))))) (add-after 'configure 'patch-Makefile (lambda _ (substitute* "Makefile" |