isc-dhcp: Fix dhclient-script wrapper when cross-compiling.

This causes many rebuilds, but only when cross-compiling.
This should unbreak Internet access on cross-compiled pinebook
images.

Reported-By: Guest4977 (on IRC)

* gnu/gnunet/packages/admin.scm
  (isc-dhcp)[arguments]<#:phases>{post-install}: Use the
  cross-compiled bash when cross-compiling. Work-around
  <https://issues.guix.gnu.org/49290>.

Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This commit is contained in:
Maxime Devos 2021-06-30 15:43:42 +02:00 committed by Mathieu Othacehe
parent 9734da36f2
commit 7256d9d204
No known key found for this signature in database
GPG key ID: 8354763531769CA6

View file

@ -43,6 +43,7 @@
;;; Copyright © 2021 WinterHound <winterhound@yandex.com>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1232,7 +1233,11 @@ (define-public isc-dhcp
"--owner=root:0"
"--group=root:0")))))
(add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
;; TODO(core-updates): native-inputs isn't required anymore.
(lambda* (#:key ,@(if (%current-target-system)
'(native-inputs)
'())
inputs outputs #:allow-other-keys)
;; Install the dhclient script for GNU/Linux and make sure
;; if finds all the programs it needs.
(let* ((out (assoc-ref outputs "out"))
@ -1257,6 +1262,19 @@ (define-public isc-dhcp
(string-append dir "/bin:"
dir "/sbin"))
(list inetutils net-tools coreutils sed))))
;; TODO(core-updates): should not be required anymore,
;; once <https://issues.guix.gnu.org/49290> has been merged.
,@(if (%current-target-system)
'((for-each
(lambda (file)
(substitute* file
(((assoc-ref native-inputs "bash"))
(assoc-ref inputs "bash"))))
(list (string-append libexec
"/dhclient-script")
(string-append libexec
"/.dhclient-script-real"))))
'())
#t))))))
(native-inputs
@ -1264,6 +1282,11 @@ (define-public isc-dhcp
("file" ,file)))
(inputs `(("inetutils" ,inetutils)
;; TODO(core-updates): simply make this unconditional
,@(if (%current-target-system)
;; for wrap-program
`(("bash" ,(canonical-package bash-minimal)))
'())
,@(if (hurd-target?) '()
`(("net-tools" ,net-tools)
("iproute" ,iproute)))