unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23.
@ 2022-02-04 15:41 Simon South
  2022-02-04 15:43 ` [bug#53779] [PATCH 1/5] gnu: iwd: Remove input labels Simon South
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Simon South @ 2022-02-04 15:41 UTC (permalink / raw)
  To: 53779

Here's a patch series that aims to improve the iwd package by

- Migrating its "native-inputs" field to the new, label-less style;

- Building the package from revision control rather than a bootstrapped
  tarball, which involves copying into the source tree two private header
  files it shares with ell;[0]

- Updating ell itself to version 0.48, removing from its package definition
  its own input labels as well as the "fix-dbus-tests" phase that was
  obsoleted with upstream commit 49bb10f7b5;[1] and

- Updating iwd to 1.23.

Note there is an unavoidable dependency issue here: iwd 1.20 doesn't build
with ell 0.48, so a future time-traveller that arrives between the last two
commits will find the repository partially broken.  Unfortunately expanding
this into a longer series of commits doesn't help, as iwd 1.21 also doesn't
build with ell 0.48 while iwd 1.22 doesn't build with ell 0.47.  I don't see a
way around this that doesn't involve merging these two commits into one.

On x86-64, with these patches applied I've been able to build both packages
and all of their 40-odd dependents, and everything appears to be fine.

On AArch64, both packages and their one immediate dependent, network-manager,
build fine, as do the sub-dependent packages I can identify that don't rely on
Rust (currently unavailable on AArch64).

[0] As explained in passing at
    https://lists.01.org/hyperkitty/list/iwd@lists.01.org/thread/2YCWIA63EFCKQ7AYRSGIDMUO7GEMC4CW/
[1] https://git.kernel.org/pub/scm/libs/ell/ell.git/commit/?id=49bb10f7b5e4b97d74210cb72cc47a337ae64cad

--
Simon South
simon@simonsouth.net


Simon South (5):
  gnu: iwd: Remove input labels.
  gnu: iwd: Build from Git sources.
  gnu: ell: Remove input labels.
  gnu: ell: Update to 0.48.
  gnu: iwd: Update to 1.23.

 gnu/packages/linux.scm      | 19 +++-------------
 gnu/packages/networking.scm | 43 ++++++++++++++++++++++++++-----------
 2 files changed, 33 insertions(+), 29 deletions(-)


base-commit: 8f585083277e64ea1e9a0848ef3c49f12327618c
-- 
2.34.0





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

* [bug#53779] [PATCH 1/5] gnu: iwd: Remove input labels.
  2022-02-04 15:41 [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Simon South
@ 2022-02-04 15:43 ` Simon South
  2022-02-06 10:07   ` Maxime Devos
  2022-02-04 15:43 ` [bug#53779] [PATCH 2/5] gnu: iwd: Build from Git sources Simon South
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 19+ messages in thread
From: Simon South @ 2022-02-04 15:43 UTC (permalink / raw)
  To: 53779

* gnu/packages/networking.scm (iwd)[native-inputs]: Remove input labels.
---
 gnu/packages/networking.scm | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 3aa3e9b8e9..064248600e 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3581,10 +3581,7 @@ (define-public iwd
     (inputs
      (list dbus ell readline))
     (native-inputs
-     `(("pkgconfig" ,pkg-config)
-       ("python" ,python)
-       ("rst2man" ,python-docutils)
-       ("openssl" ,openssl)))
+     (list pkg-config python python-docutils openssl))
     (arguments
      `(#:configure-flags
        (let ((dbus (assoc-ref %outputs "out")))
-- 
2.34.0





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

* [bug#53779] [PATCH 2/5] gnu: iwd: Build from Git sources.
  2022-02-04 15:41 [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Simon South
  2022-02-04 15:43 ` [bug#53779] [PATCH 1/5] gnu: iwd: Remove input labels Simon South
@ 2022-02-04 15:43 ` Simon South
  2022-02-04 15:43 ` [bug#53779] [PATCH 3/5] gnu: ell: Remove input labels Simon South
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 19+ messages in thread
From: Simon South @ 2022-02-04 15:43 UTC (permalink / raw)
  To: 53779

* 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.
---
 gnu/packages/networking.scm | 38 ++++++++++++++++++++++++++++---------
 1 file changed, 29 insertions(+), 9 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 064248600e..dc42ec4d73 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.
 ;;;
@@ -3568,20 +3569,25 @@ (define-public iwd
     (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
        (let ((dbus (assoc-ref %outputs "out")))
@@ -3596,6 +3602,20 @@ (define-public iwd
                               dbus "/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"
-- 
2.34.0





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

* [bug#53779] [PATCH 3/5] gnu: ell: Remove input labels.
  2022-02-04 15:41 [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Simon South
  2022-02-04 15:43 ` [bug#53779] [PATCH 1/5] gnu: iwd: Remove input labels Simon South
  2022-02-04 15:43 ` [bug#53779] [PATCH 2/5] gnu: iwd: Build from Git sources Simon South
@ 2022-02-04 15:43 ` Simon South
  2022-02-04 15:43 ` [bug#53779] [PATCH 4/5] gnu: ell: Update to 0.48 Simon South
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 19+ messages in thread
From: Simon South @ 2022-02-04 15:43 UTC (permalink / raw)
  To: 53779

* gnu/packages/linux.scm (ell)[native-inputs]: Remove input labels.
---
 gnu/packages/linux.scm | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index e496b5e2b2..aabf759592 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8380,10 +8380,7 @@ (define-public ell
     (inputs
      (list dbus))
     (native-inputs
-     `(("autoconf" ,autoconf)
-       ("libtool" ,libtool)
-       ("pkgconfig" ,pkg-config)
-       ("automake" ,automake)))
+     (list autoconf automake libtool pkg-config))
     (home-page "https://01.org/ell")
     (synopsis "Embedded Linux Library")
     (description "The Embedded Linux* Library (ELL) provides core, low-level
-- 
2.34.0





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

* [bug#53779] [PATCH 4/5] gnu: ell: Update to 0.48.
  2022-02-04 15:41 [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Simon South
                   ` (2 preceding siblings ...)
  2022-02-04 15:43 ` [bug#53779] [PATCH 3/5] gnu: ell: Remove input labels Simon South
@ 2022-02-04 15:43 ` Simon South
  2022-02-04 15:43 ` [bug#53779] [PATCH 5/5] gnu: iwd: Update to 1.23 Simon South
  2022-02-07 14:26 ` [bug#53779] [PATCH v2 0/6] gnu: iwd: Build from Git; update to 1.24 Simon South
  5 siblings, 0 replies; 19+ messages in thread
From: Simon South @ 2022-02-04 15:43 UTC (permalink / raw)
  To: 53779

* gnu/packages/linux.scm (ell): Update to 0.48.
[arguments]: Remove obsolete "fix-dbus-tests" phase.
---
 gnu/packages/linux.scm | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index aabf759592..8ae19855d7 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8356,7 +8356,7 @@ (define-public wireplumber
 (define-public ell
   (package
     (name "ell")
-    (version "0.46")
+    (version "0.48")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -8365,18 +8365,8 @@ (define-public ell
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "15hwqicmll23cbrj13h3wd4lgrby416ap7l6w0434jsza4s4yv82"))))
+                "0lxjizby3zdyhzad5a0gbz4m2pp44jf1j4l1pn18d04rw9mr2gqy"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-dbus-tests
-           (lambda _
-             (substitute* '("unit/test-dbus-message-fds.c"
-                            "unit/test-dbus-properties.c"
-                            "unit/test-dbus.c")
-               (("/usr/bin/dbus-daemon") (which "dbus-daemon")))
-             #t)))))
     (inputs
      (list dbus))
     (native-inputs
-- 
2.34.0





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

* [bug#53779] [PATCH 5/5] gnu: iwd: Update to 1.23.
  2022-02-04 15:41 [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Simon South
                   ` (3 preceding siblings ...)
  2022-02-04 15:43 ` [bug#53779] [PATCH 4/5] gnu: ell: Update to 0.48 Simon South
@ 2022-02-04 15:43 ` Simon South
  2022-02-07 14:26 ` [bug#53779] [PATCH v2 0/6] gnu: iwd: Build from Git; update to 1.24 Simon South
  5 siblings, 0 replies; 19+ messages in thread
From: Simon South @ 2022-02-04 15:43 UTC (permalink / raw)
  To: 53779

* gnu/packages/networking.scm (iwd): Update to 1.23.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index dc42ec4d73..45184f8181 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3567,7 +3567,7 @@ (define-public bird
 (define-public iwd
   (package
     (name "iwd")
-    (version "1.20")
+    (version "1.23")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3576,7 +3576,7 @@ (define-public iwd
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0xlbnsgw9giakfj0xr526i7mcwyaryb18g66mv90njnrm8radjhr"))))
+                "0hb01cn5gyna3zgqzjzz5zqn94cd1q9i00n4dmc1ms4w4s25q4a1"))))
     (build-system gnu-build-system)
     (inputs
      (list dbus ell (package-source ell) readline))
-- 
2.34.0





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

* [bug#53779] [PATCH 1/5] gnu: iwd: Remove input labels.
  2022-02-04 15:43 ` [bug#53779] [PATCH 1/5] gnu: iwd: Remove input labels Simon South
@ 2022-02-06 10:07   ` Maxime Devos
  0 siblings, 0 replies; 19+ messages in thread
From: Maxime Devos @ 2022-02-06 10:07 UTC (permalink / raw)
  To: Simon South, 53779

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

Simon South schreef op vr 04-02-2022 om 10:43 [-0500]:
> +     (list pkg-config python python-docutils openssl))
>      (arguments
>       `(#:configure-flags
>         (let ((dbus (assoc-ref %outputs "out")))

While you're at it, could you remove the %outputs that is being phased
out in favour of the G-exp equivalent?

  #:configure-flags
  ,#~(let ((dbus #$output))
       ...)

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

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

* [bug#53779] [PATCH v2 0/6] gnu: iwd: Build from Git; update to 1.24.
  2022-02-04 15:41 [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Simon South
                   ` (4 preceding siblings ...)
  2022-02-04 15:43 ` [bug#53779] [PATCH 5/5] gnu: iwd: Update to 1.23 Simon South
@ 2022-02-07 14:26 ` Simon South
  2022-02-07 14:26   ` [bug#53779] [PATCH 1/6] gnu: iwd: Remove input labels Simon South
                     ` (6 more replies)
  5 siblings, 7 replies; 19+ messages in thread
From: Simon South @ 2022-02-07 14:26 UTC (permalink / raw)
  To: 53779

Here's an updated patch series that additionally

- Removes a reference to "%outputs" in the iwd package using a gexp, following
  Maxime's request; and

- Updates iwd to version 1.24, which was released in the last few days, rather
  than 1.23.

Everything else is unchanged from the original.

On x86-64, all of iwd's dependents reported by "guix refresh" build fine for
me with the updated patchset applied.

On AArch64, ell, iwd and their one immediate dependency, network-manager, all
build fine as well.

The cover letter from the original patch series follows.


Here's a patch series that aims to improve the iwd package by

- Migrating its "native-inputs" field to the new, label-less style;

- Building the package from revision control rather than a bootstrapped
  tarball, which involves copying into the source tree two private header
  files it shares with ell;[0]

- Updating ell itself to version 0.48, removing from its package definition
  its own input labels as well as the "fix-dbus-tests" phase that was
  obsoleted with upstream commit 49bb10f7b5;[1] and

- Updating iwd to 1.23.

Note there is an unavoidable dependency issue here: iwd 1.20 doesn't build
with ell 0.48, so a future time-traveller that arrives between the last two
commits will find the repository partially broken.  Unfortunately expanding
this into a longer series of commits doesn't help, as iwd 1.21 also doesn't
build with ell 0.48 while iwd 1.22 doesn't build with ell 0.47.  I don't see a
way around this that doesn't involve merging these two commits into one.

On x86-64, with these patches applied I've been able to build both packages
and all of their 40-odd dependents, and everything appears to be fine.

On AArch64, both packages and their one immediate dependent, network-manager,
build fine, as do the sub-dependent packages I can identify that don't rely on
Rust (currently unavailable on AArch64).

[0] As explained in passing at
    https://lists.01.org/hyperkitty/list/iwd@lists.01.org/thread/2YCWIA63EFCKQ7AYRSGIDMUO7GEMC4CW/
[1] https://git.kernel.org/pub/scm/libs/ell/ell.git/commit/?id=49bb10f7b5e4b97d74210cb72cc47a337ae64cad

--
Simon South
simon@simonsouth.net


Simon South (6):
  gnu: iwd: Remove input labels.
  gnu: iwd: Remove reference to %outputs.
  gnu: iwd: Build from Git sources.
  gnu: ell: Remove input labels.
  gnu: ell: Update to 0.48.
  gnu: iwd: Update to 1.24.

 gnu/packages/linux.scm      | 19 ++----------
 gnu/packages/networking.scm | 62 +++++++++++++++++++++++--------------
 2 files changed, 42 insertions(+), 39 deletions(-)


base-commit: 67817299808a03e2750cfb630dc09fe8eb99c468
-- 
2.34.0





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

* [bug#53779] [PATCH 1/6] gnu: iwd: Remove input labels.
  2022-02-07 14:26 ` [bug#53779] [PATCH v2 0/6] gnu: iwd: Build from Git; update to 1.24 Simon South
@ 2022-02-07 14:26   ` Simon South
  2022-02-07 14:26   ` [bug#53779] [PATCH v2 2/6] gnu: iwd: Remove reference to %outputs Simon South
                     ` (5 subsequent siblings)
  6 siblings, 0 replies; 19+ messages in thread
From: Simon South @ 2022-02-07 14:26 UTC (permalink / raw)
  To: 53779

* gnu/packages/networking.scm (iwd)[native-inputs]: Remove input labels.
---
 gnu/packages/networking.scm | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 3ae255e093..4258a14968 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3577,10 +3577,7 @@ (define-public iwd
     (inputs
      (list dbus ell readline))
     (native-inputs
-     `(("pkgconfig" ,pkg-config)
-       ("python" ,python)
-       ("rst2man" ,python-docutils)
-       ("openssl" ,openssl)))
+     (list pkg-config python python-docutils openssl))
     (arguments
      `(#:configure-flags
        (let ((dbus (assoc-ref %outputs "out")))
-- 
2.34.0





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

* [bug#53779] [PATCH v2 2/6] gnu: iwd: Remove reference to %outputs.
  2022-02-07 14:26 ` [bug#53779] [PATCH v2 0/6] gnu: iwd: Build from Git; update to 1.24 Simon South
  2022-02-07 14:26   ` [bug#53779] [PATCH 1/6] gnu: iwd: Remove input labels Simon South
@ 2022-02-07 14:26   ` Simon South
  2022-02-07 14:26   ` [bug#53779] [PATCH v2 3/6] gnu: iwd: Build from Git sources Simon South
                     ` (4 subsequent siblings)
  6 siblings, 0 replies; 19+ messages in thread
From: Simon South @ 2022-02-07 14:26 UTC (permalink / raw)
  To: 53779

* gnu/packages/networking.scm (iwd)[arguments]: Remove reference to %outputs
by using a gexp.
---
 gnu/packages/networking.scm | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 4258a14968..ef0ae12e49 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3580,16 +3580,15 @@ (define-public iwd
      (list pkg-config python python-docutils openssl))
     (arguments
      `(#:configure-flags
-       (let ((dbus (assoc-ref %outputs "out")))
-         (list "--disable-systemd-service"
-               "--enable-external-ell"
-               "--enable-hwsim"
-               "--enable-tools"
-               "--enable-wired"
-               "--localstatedir=/var"
-               (string-append "--with-dbus-datadir=" dbus "/share/")
-               (string-append "--with-dbus-busdir="
-                              dbus "/share/dbus-1/system-services")))
+       ,#~(list "--disable-systemd-service"
+                "--enable-external-ell"
+                "--enable-hwsim"
+                "--enable-tools"
+                "--enable-wired"
+                "--localstatedir=/var"
+                (string-append "--with-dbus-datadir=" #$output "/share/")
+                (string-append "--with-dbus-busdir="
+                               #$output "/share/dbus-1/system-services"))
        #:phases
        (modify-phases %standard-phases
          (add-after 'configure 'patch-Makefile
-- 
2.34.0





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

* [bug#53779] [PATCH v2 3/6] gnu: iwd: Build from Git sources.
  2022-02-07 14:26 ` [bug#53779] [PATCH v2 0/6] gnu: iwd: Build from Git; update to 1.24 Simon South
  2022-02-07 14:26   ` [bug#53779] [PATCH 1/6] gnu: iwd: Remove input labels Simon South
  2022-02-07 14:26   ` [bug#53779] [PATCH v2 2/6] gnu: iwd: Remove reference to %outputs Simon South
@ 2022-02-07 14:26   ` Simon South
  2022-02-07 14:26   ` [bug#53779] [PATCH v2 4/6] gnu: ell: Remove input labels Simon South
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 19+ messages in thread
From: Simon South @ 2022-02-07 14:26 UTC (permalink / raw)
  To: 53779

* 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.
---
 gnu/packages/networking.scm | 38 ++++++++++++++++++++++++++++---------
 1 file 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 @@ (define-public iwd
     (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 @@ (define-public iwd
                                #$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"
-- 
2.34.0





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

* [bug#53779] [PATCH v2 4/6] gnu: ell: Remove input labels.
  2022-02-07 14:26 ` [bug#53779] [PATCH v2 0/6] gnu: iwd: Build from Git; update to 1.24 Simon South
                     ` (2 preceding siblings ...)
  2022-02-07 14:26   ` [bug#53779] [PATCH v2 3/6] gnu: iwd: Build from Git sources Simon South
@ 2022-02-07 14:26   ` Simon South
  2022-02-07 14:26   ` [bug#53779] [PATCH v2 5/6] gnu: ell: Update to 0.48 Simon South
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 19+ messages in thread
From: Simon South @ 2022-02-07 14:26 UTC (permalink / raw)
  To: 53779

* gnu/packages/linux.scm (ell)[native-inputs]: Remove input labels.
---
 gnu/packages/linux.scm | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 2e2d01c656..138eab5ed2 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8386,10 +8386,7 @@ (define-public ell
     (inputs
      (list dbus))
     (native-inputs
-     `(("autoconf" ,autoconf)
-       ("libtool" ,libtool)
-       ("pkgconfig" ,pkg-config)
-       ("automake" ,automake)))
+     (list autoconf automake libtool pkg-config))
     (home-page "https://01.org/ell")
     (synopsis "Embedded Linux Library")
     (description "The Embedded Linux* Library (ELL) provides core, low-level
-- 
2.34.0





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

* [bug#53779] [PATCH v2 5/6] gnu: ell: Update to 0.48.
  2022-02-07 14:26 ` [bug#53779] [PATCH v2 0/6] gnu: iwd: Build from Git; update to 1.24 Simon South
                     ` (3 preceding siblings ...)
  2022-02-07 14:26   ` [bug#53779] [PATCH v2 4/6] gnu: ell: Remove input labels Simon South
@ 2022-02-07 14:26   ` Simon South
  2022-02-08 22:48     ` [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Ludovic Courtès
  2022-02-07 14:26   ` [bug#53779] [PATCH v2 6/6] gnu: iwd: Update to 1.24 Simon South
  2022-02-08 12:35   ` bug#53779: [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Ludovic Courtès
  6 siblings, 1 reply; 19+ messages in thread
From: Simon South @ 2022-02-07 14:26 UTC (permalink / raw)
  To: 53779

* gnu/packages/linux.scm (ell): Update to 0.48.
[arguments]: Remove obsolete "fix-dbus-tests" phase.
---
 gnu/packages/linux.scm | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 138eab5ed2..1c76d37166 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8362,7 +8362,7 @@ (define-public wireplumber
 (define-public ell
   (package
     (name "ell")
-    (version "0.46")
+    (version "0.48")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -8371,18 +8371,8 @@ (define-public ell
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "15hwqicmll23cbrj13h3wd4lgrby416ap7l6w0434jsza4s4yv82"))))
+                "0lxjizby3zdyhzad5a0gbz4m2pp44jf1j4l1pn18d04rw9mr2gqy"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'fix-dbus-tests
-           (lambda _
-             (substitute* '("unit/test-dbus-message-fds.c"
-                            "unit/test-dbus-properties.c"
-                            "unit/test-dbus.c")
-               (("/usr/bin/dbus-daemon") (which "dbus-daemon")))
-             #t)))))
     (inputs
      (list dbus))
     (native-inputs
-- 
2.34.0





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

* [bug#53779] [PATCH v2 6/6] gnu: iwd: Update to 1.24.
  2022-02-07 14:26 ` [bug#53779] [PATCH v2 0/6] gnu: iwd: Build from Git; update to 1.24 Simon South
                     ` (4 preceding siblings ...)
  2022-02-07 14:26   ` [bug#53779] [PATCH v2 5/6] gnu: ell: Update to 0.48 Simon South
@ 2022-02-07 14:26   ` Simon South
  2022-02-08 12:35   ` bug#53779: [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Ludovic Courtès
  6 siblings, 0 replies; 19+ messages in thread
From: Simon South @ 2022-02-07 14:26 UTC (permalink / raw)
  To: 53779

* gnu/packages/networking.scm (iwd): Update to 1.24.
---
 gnu/packages/networking.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 382b4cf96d..4d260249d7 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -3563,7 +3563,7 @@ (define-public bird
 (define-public iwd
   (package
     (name "iwd")
-    (version "1.20")
+    (version "1.24")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -3572,7 +3572,7 @@ (define-public iwd
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "0xlbnsgw9giakfj0xr526i7mcwyaryb18g66mv90njnrm8radjhr"))))
+                "1sdi7008j5jhlg2rqpczh1pzb8zay6mc9dpnjjsmdnsmrcr3v7wi"))))
     (build-system gnu-build-system)
     (inputs
      (list dbus ell (package-source ell) readline))
-- 
2.34.0





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

* bug#53779: [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23.
  2022-02-07 14:26 ` [bug#53779] [PATCH v2 0/6] gnu: iwd: Build from Git; update to 1.24 Simon South
                     ` (5 preceding siblings ...)
  2022-02-07 14:26   ` [bug#53779] [PATCH v2 6/6] gnu: iwd: Update to 1.24 Simon South
@ 2022-02-08 12:35   ` Ludovic Courtès
  6 siblings, 0 replies; 19+ messages in thread
From: Ludovic Courtès @ 2022-02-08 12:35 UTC (permalink / raw)
  To: Simon South; +Cc: 53779-done

Hi,

Simon South <simon@simonsouth.net> skribis:

> Note there is an unavoidable dependency issue here: iwd 1.20 doesn't build
> with ell 0.48, so a future time-traveller that arrives between the last two
> commits will find the repository partially broken.  Unfortunately expanding
> this into a longer series of commits doesn't help, as iwd 1.21 also doesn't
> build with ell 0.48 while iwd 1.22 doesn't build with ell 0.47.  I don't see a
> way around this that doesn't involve merging these two commits into one.

Merging into one is the right thing in this case, IMO.  I did that on
your behalf.

> On x86-64, with these patches applied I've been able to build both packages
> and all of their 40-odd dependents, and everything appears to be fine.
>
> On AArch64, both packages and their one immediate dependent, network-manager,
> build fine, as do the sub-dependent packages I can identify that don't rely on
> Rust (currently unavailable on AArch64).
>
> [0] As explained in passing at
>     https://lists.01.org/hyperkitty/list/iwd@lists.01.org/thread/2YCWIA63EFCKQ7AYRSGIDMUO7GEMC4CW/
> [1] https://git.kernel.org/pub/scm/libs/ell/ell.git/commit/?id=49bb10f7b5e4b97d74210cb72cc47a337ae64cad

OK.

>   gnu: iwd: Remove input labels.
>   gnu: iwd: Remove reference to %outputs.
>   gnu: iwd: Build from Git sources.
>   gnu: ell: Remove input labels.
>   gnu: ell: Update to 0.48.
>   gnu: iwd: Update to 1.24.

Applied.  Thanks for the code and for the explanations!

Ludo’.




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

* [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23.
  2022-02-07 14:26   ` [bug#53779] [PATCH v2 5/6] gnu: ell: Update to 0.48 Simon South
@ 2022-02-08 22:48     ` Ludovic Courtès
  2022-02-09 14:51       ` Simon South
  0 siblings, 1 reply; 19+ messages in thread
From: Ludovic Courtès @ 2022-02-08 22:48 UTC (permalink / raw)
  To: Simon South; +Cc: 53779

Hi again,

Simon South <simon@simonsouth.net> skribis:

> * gnu/packages/linux.scm (ell): Update to 0.48.
> [arguments]: Remove obsolete "fix-dbus-tests" phase.

I noticed this test failure on powerpc64le-linux:

--8<---------------cut here---------------start------------->8---
================================
   ell 0.48: ./test-suite.log
================================

# TOTAL: 40
# PASS:  38
# SKIP:  0
# XFAIL: 0
# FAIL:  2
# XPASS: 0
# ERROR: 0

.. contents:: :depth: 2

FAIL: unit/test-dbus-message-fds
================================

launching dbus-daemon
dbus-daemon process 16430 created
dbus-daemon[16430]: Failed to start message bus: Failed to bind socket "/tmp/ell-test-bus": Address already in use
process 16430 terminated with status=256

Disconnected from DBus
FAIL unit/test-dbus-message-fds (exit status: 134)

FAIL: unit/test-dbus-properties
===============================

launching dbus-daemon
dbus-daemon process 16445 created
dbus-daemon[16445]: Failed to start message bus: Failed to bind socket "/tmp/ell-test-bus": Address already in use
process 16445 terminated with status=256

Disconnected from DBus
FAIL unit/test-dbus-properties (exit status: 134)
--8<---------------cut here---------------end--------------->8---

(From <https://ci.guix.gnu.org/build/469659/log/raw>.)

This makes me think that perhaps we need #:parallel-tests? #f, WDYT?

Ludo’.




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

* [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23.
  2022-02-08 22:48     ` [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Ludovic Courtès
@ 2022-02-09 14:51       ` Simon South
  2022-02-09 14:54         ` [bug#53779] [PATCH] gnu: ell: Disable parallel tests Simon South
  0 siblings, 1 reply; 19+ messages in thread
From: Simon South @ 2022-02-09 14:51 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 53779

Ludovic Courtès <ludo@gnu.org> writes:
> This makes me think that perhaps we need #:parallel-tests? #f, WDYT?

That seems right; I can reproduce the failure by building just the three
D-Bus-related tests together in parallel.

I'll follow up with a patch.

-- 
Simon South
simon@simonsouth.net




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

* [bug#53779] [PATCH] gnu: ell: Disable parallel tests.
  2022-02-09 14:51       ` Simon South
@ 2022-02-09 14:54         ` Simon South
  2022-02-10 20:52           ` Ludovic Courtès
  0 siblings, 1 reply; 19+ messages in thread
From: Simon South @ 2022-02-09 14:54 UTC (permalink / raw)
  To: ludo; +Cc: 53779

* gnu/packages/linux.scm (ell)[arguments]: Disable parallel tests.
---
 gnu/packages/linux.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 08ef82efaf..e9db731614 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -8358,6 +8358,8 @@ (define-public ell
                (base32
                 "0lxjizby3zdyhzad5a0gbz4m2pp44jf1j4l1pn18d04rw9mr2gqy"))))
     (build-system gnu-build-system)
+    (arguments
+     '(#:parallel-tests? #f))
     (inputs
      (list dbus))
     (native-inputs

base-commit: ad9cd004c81a01e33a605221a102f4d20abe442d
-- 
2.34.0





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

* [bug#53779] [PATCH] gnu: ell: Disable parallel tests.
  2022-02-09 14:54         ` [bug#53779] [PATCH] gnu: ell: Disable parallel tests Simon South
@ 2022-02-10 20:52           ` Ludovic Courtès
  0 siblings, 0 replies; 19+ messages in thread
From: Ludovic Courtès @ 2022-02-10 20:52 UTC (permalink / raw)
  To: Simon South; +Cc: 53779

Hi,

Simon South <simon@simonsouth.net> skribis:

> * gnu/packages/linux.scm (ell)[arguments]: Disable parallel tests.
> ---
>  gnu/packages/linux.scm | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index 08ef82efaf..e9db731614 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -8358,6 +8358,8 @@ (define-public ell
>                 (base32
>                  "0lxjizby3zdyhzad5a0gbz4m2pp44jf1j4l1pn18d04rw9mr2gqy"))))
>      (build-system gnu-build-system)
> +    (arguments
> +     '(#:parallel-tests? #f))

I added a comment and applied it.

Thanks,
Ludo’.




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

end of thread, other threads:[~2022-02-10 20:53 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-04 15:41 [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Simon South
2022-02-04 15:43 ` [bug#53779] [PATCH 1/5] gnu: iwd: Remove input labels Simon South
2022-02-06 10:07   ` Maxime Devos
2022-02-04 15:43 ` [bug#53779] [PATCH 2/5] gnu: iwd: Build from Git sources Simon South
2022-02-04 15:43 ` [bug#53779] [PATCH 3/5] gnu: ell: Remove input labels Simon South
2022-02-04 15:43 ` [bug#53779] [PATCH 4/5] gnu: ell: Update to 0.48 Simon South
2022-02-04 15:43 ` [bug#53779] [PATCH 5/5] gnu: iwd: Update to 1.23 Simon South
2022-02-07 14:26 ` [bug#53779] [PATCH v2 0/6] gnu: iwd: Build from Git; update to 1.24 Simon South
2022-02-07 14:26   ` [bug#53779] [PATCH 1/6] gnu: iwd: Remove input labels Simon South
2022-02-07 14:26   ` [bug#53779] [PATCH v2 2/6] gnu: iwd: Remove reference to %outputs Simon South
2022-02-07 14:26   ` [bug#53779] [PATCH v2 3/6] gnu: iwd: Build from Git sources Simon South
2022-02-07 14:26   ` [bug#53779] [PATCH v2 4/6] gnu: ell: Remove input labels Simon South
2022-02-07 14:26   ` [bug#53779] [PATCH v2 5/6] gnu: ell: Update to 0.48 Simon South
2022-02-08 22:48     ` [bug#53779] [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Ludovic Courtès
2022-02-09 14:51       ` Simon South
2022-02-09 14:54         ` [bug#53779] [PATCH] gnu: ell: Disable parallel tests Simon South
2022-02-10 20:52           ` Ludovic Courtès
2022-02-07 14:26   ` [bug#53779] [PATCH v2 6/6] gnu: iwd: Update to 1.24 Simon South
2022-02-08 12:35   ` bug#53779: [PATCH 0/5] gnu: iwd: Build from Git; update to 1.23 Ludovic Courtès

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