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>
This commit is contained in:
parent
0d0f2b9c35
commit
20516fbb92
1 changed files with 29 additions and 9 deletions
|
|
@ -47,6 +47,7 @@
|
||||||
;;; Copyright © 2021 Milkey Mouse <milkeymouse@meme.institute>
|
;;; Copyright © 2021 Milkey Mouse <milkeymouse@meme.institute>
|
||||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||||
|
;;; Copyright © 2022 Simon South <simon@simonsouth.net>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
|
@ -3564,20 +3565,25 @@ powerful route filtering syntax and an easy-to-use configuration interface.")
|
||||||
(name "iwd")
|
(name "iwd")
|
||||||
(version "1.20")
|
(version "1.20")
|
||||||
(source (origin
|
(source (origin
|
||||||
;; FIXME: We're using the bootstrapped sources because
|
(method git-fetch)
|
||||||
;; otherwise using an external ell library is impossible.
|
(uri (git-reference
|
||||||
;; How to bootstrap with Guix?
|
(url "https://git.kernel.org/pub/scm/network/wireless/iwd.git")
|
||||||
(method url-fetch)
|
(commit version)))
|
||||||
(uri (string-append "https://www.kernel.org/pub/linux/network"
|
(file-name (git-file-name name version))
|
||||||
"/wireless/iwd-" version ".tar.xz"))
|
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"03q5scahyg86h4bdxqxm32shyssgpmfp5b3183j01ig7mg6f4lbx"))))
|
"0xlbnsgw9giakfj0xr526i7mcwyaryb18g66mv90njnrm8radjhr"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
(list dbus ell readline))
|
(list dbus ell (package-source ell) readline))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list pkg-config python python-docutils openssl))
|
(list autoconf
|
||||||
|
automake
|
||||||
|
libtool
|
||||||
|
pkg-config
|
||||||
|
python
|
||||||
|
python-docutils
|
||||||
|
openssl))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags
|
`(#:configure-flags
|
||||||
,#~(list "--disable-systemd-service"
|
,#~(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"))
|
#$output "/share/dbus-1/system-services"))
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-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
|
(add-after 'configure 'patch-Makefile
|
||||||
(lambda _
|
(lambda _
|
||||||
(substitute* "Makefile"
|
(substitute* "Makefile"
|
||||||
|
|
|
||||||
Reference in a new issue