1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-16 03:50:45 +02:00

gnu: Add dhcpcd.

* gnu/packages/admin.scm (dhcpcd): new procedure.

Change-Id: I963b7b32dd4c5aaf40371e310bb96fa20e51504d
Signed-off-by: Zheng Junjie <873216071@qq.com>
This commit is contained in:
Sören Tempel 2025-01-11 13:55:14 +01:00 committed by Zheng Junjie
parent b213b0d360
commit b77d0523ed
No known key found for this signature in database
GPG key ID: 3B5AA993E1A2DFF0

View file

@ -1787,6 +1787,61 @@ maintenance releases.")
(license license:mpl2.0)
(properties '((cpe-name . "dhcp"))))))
(define-public dhcpcd
(package
(name "dhcpcd")
(version "10.0.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/NetworkConfiguration/dhcpcd")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07n7d5wsmy955i6l8rkcmxhgxjygj2cxgpw79id2hx9w41fbkl5l"))))
(inputs (list bash-minimal coreutils-minimal eudev sed))
(build-system gnu-build-system)
(arguments
(list
#:test-target "test"
#:configure-flags #~(list "--enable-ipv6"
"--enable-privsep"
"--privsepuser=dhcpcd"
(string-append "--dbdir=" "/var/db/dhcpcd")
(string-append "--rundir=" "/var/run/dhcpcd")
(string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'do-not-create-dbdir
(lambda _
;; Make sure that the Makefile doesn't attempt to create
;; /var/db/dhcpcd for which it doesn't have permissions.
(substitute* "src/Makefile"
(("\\$\\{INSTALL\\} -m \\$\\{DBMODE\\} -d\
\\$\\{DESTDIR\\}\\$\\{DBDIR\\}")
""))))
(add-before 'build 'setenv
(lambda _
(setenv "HOST_SH" (which "sh"))))
(add-after 'install 'wrap-hooks
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((sed (search-input-file inputs "/bin/sed"))
(rm (search-input-file inputs "/bin/rm")))
(wrap-program (string-append
#$output "/libexec/dhcpcd-run-hooks")
`("PATH" ":" suffix
(,(dirname sed)
,(dirname rm))))))))))
(home-page "https://roy.marples.name/projects/dhcpcd")
(synopsis "Feature-rich DHCP and DHCPv6 client")
(description
"Provides a DHCP and a DHCPv6 client. Additionally,
dhcpcd is also an IPv4LL (aka ZeroConf) client. In layperson's terms,
dhcpcd runs on your machine and silently configures your computer to work
on the attached networks without trouble and mostly without configuration.")
(license license:bsd-2)))
(define-public radvd
(package
(name "radvd")