~ruther/guix-local

b77d0523ed7d4484076f79b567c3d5afa63068a3 — Sören Tempel 1 year, 2 months ago b213b0d
gnu: Add dhcpcd.

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

Change-Id: I963b7b32dd4c5aaf40371e310bb96fa20e51504d
Signed-off-by: Zheng Junjie <873216071@qq.com>
1 files changed, 55 insertions(+), 0 deletions(-)

M gnu/packages/admin.scm
M gnu/packages/admin.scm => gnu/packages/admin.scm +55 -0
@@ 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")