;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
-;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
+;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
((string-prefix? "aarch64" arch) "arm64")
((string-prefix? "alpha" arch) "alpha")
((string-prefix? "powerpc" arch) "powerpc") ;including "powerpc64le"
+ ((string-prefix? "s390" arch) "s390")
(else arch))))
(define-public (system->defconfig system)
(define-public linux-libre-headers
(package
(name "linux-libre-headers")
- (version "4.4.47")
+ (version "4.14.26")
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256
(base32
- "00zdq7swhvzbbnnhzizq6m34q5k4fycpcp215bmkbxh1ic76v7bs"))))
+ "1m2zr17wpasg5riysbaa4g5i492jzr93py2jm088ki818s4a9cm3"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(arguments
(%current-system)))))
(setenv "ARCH" arch)
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
- (and (zero? (system* "make" defconfig))
- (zero? (system* "make" "mrproper" "headers_check"))))))
+ (invoke "make" defconfig)
+ (invoke "make" "mrproper" "headers_check"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
- (and (zero? (system* "make"
- (string-append "INSTALL_HDR_PATH=" out)
- "headers_install"))
- (begin
- (mkdir (string-append out "/include/config"))
- (call-with-output-file
- (string-append out
- "/include/config/kernel.release")
- (lambda (p)
- (format p "~a-default~%" ,version)))
-
- ;; Remove the '.install' and '..install.cmd' files; the
- ;; latter contains store paths, which pulls in bootstrap
- ;; binaries in the build environment, and prevents bit
- ;; reproducibility for the bootstrap binaries.
- (for-each delete-file (find-files out "\\.install"))
-
- #t))))))
+ (invoke "make"
+ (string-append "INSTALL_HDR_PATH=" out)
+ "headers_install")
+
+ (mkdir (string-append out "/include/config"))
+ (call-with-output-file
+ (string-append out
+ "/include/config/kernel.release")
+ (lambda (p)
+ (format p "~a-default~%" ,version)))
+
+ ;; Remove the '.install' and '..install.cmd' files; the
+ ;; latter contains store paths, which pulls in bootstrap
+ ;; binaries in the build environment, and prevents bit
+ ;; reproducibility for the bootstrap binaries.
+ (for-each delete-file (find-files out "\\.install"))
+
+ #t))))
#:allowed-references ()
#:tests? #f))
(home-page "https://www.gnu.org/software/linux-libre/")
(begin
(copy-file config ".config")
(chmod ".config" #o666))
- (system* "make" ,defconfig))
+ (invoke "make" ,defconfig))
;; Appending works even when the option wasn't in the
;; file. The last one prevails if duplicated.
(display extra-configuration port)
(close-port port))
- (zero? (system* "make" "oldconfig")))))
+ (invoke "make" "oldconfig"))))
(replace 'install
(lambda* (#:key inputs native-inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(find-files "." "\\.dtb$"))
;; Install kernel modules
(mkdir-p moddir)
- (zero? (system* "make"
- (string-append "DEPMOD=" kmod "/bin/depmod")
- (string-append "MODULE_DIR=" moddir)
- (string-append "INSTALL_PATH=" out)
- (string-append "INSTALL_MOD_PATH=" out)
- "INSTALL_MOD_STRIP=1"
- "modules_install"))))))
+ (invoke "make"
+ (string-append "DEPMOD=" kmod "/bin/depmod")
+ (string-append "MODULE_DIR=" moddir)
+ (string-append "INSTALL_PATH=" out)
+ (string-append "INSTALL_MOD_PATH=" out)
+ "INSTALL_MOD_STRIP=1"
+ "modules_install")))))
#:tests? #f))
(home-page "https://www.gnu.org/software/linux-libre/")
(synopsis "100% free redistribution of a cleaned Linux kernel")
;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
-(define %linux-libre-version "4.15.3")
-(define %linux-libre-hash "1svn7v0gdqh7mi1f139g3nhf18g4vr9958x1zh24zww0lyic8l27")
+(define %linux-libre-version "4.15.11")
+(define %linux-libre-hash "0nrsmw7x5nsc3906dfvfakkibv8pv09r1sf5ckzbkcbkwpyq62h8")
(define-public linux-libre
(make-linux-libre %linux-libre-version
%linux-compatible-systems
#:configuration-file kernel-config))
-(define %linux-libre-4.14-version "4.14.19")
-(define %linux-libre-4.14-hash "1zns8nxx1j1fxpgqgsm9z0kffn0ji1pcsav1r77gxqllsn49wa8m")
+(define %linux-libre-4.14-version "4.14.28")
+(define %linux-libre-4.14-hash "0xg3zsm1yjsvxir8sz7zliz8gcc8d45xh23qyiszl75cfqjl36l3")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
#:configuration-file kernel-config))
(define-public linux-libre-4.9
- (make-linux-libre "4.9.81"
- "1x89llah2hklh36rgx7cywacdmvbs9334101qhpycicdi5sv7mnn"
+ (make-linux-libre "4.9.88"
+ "0qlhd8xw3g00i7krpfndkwxzjszk067h26qsxxsszvxyx2s6gp4x"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.115"
- "1jjq33jgixkljp3ngxhra0khmfd4mjmp08kw84h422gldb1n2j0q"
+ (make-linux-libre "4.4.122"
+ "1ayilv7474vsif3jpb723jbcy4kymv1fpdr96c1g743bad1wkqqq"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.1
- (make-linux-libre "4.1.49"
- "0dklmqj6ayjlkz97b811zdvpgb3yppahinji9l9jmkz4ssi7a1gs"
+ (make-linux-libre "4.1.50"
+ "1hl1pk724v2waa55bhxfmxyz9nl6pkcj4dc3l80jfvqdfgr55mm2"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public util-linux
(package
(name "util-linux")
- (version "2.30.1")
+ (version "2.31.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0hdq2fz405a89fyha4bgwg0rx8b65inxq17w8fg8qhmcj4x3dr0v"))
- (patches (search-patches "util-linux-tests.patch"))
+ "04fzrnrr3pvqskvjn9f81y0knh0jvvqx4lmbz5pd4lfdm5pv2l8s"))
+ (patches (search-patches "util-linux-tests.patch"
+ "util-linux-CVE-2018-7738.patch"))
(modules '((guix build utils)))
(snippet
- ;; We take the 'logger' program from GNU Inetutils and 'kill'
- ;; from GNU Coreutils.
+ ;; We take 'nologin' from Shadow, the 'logger' program from
+ ;; GNU Inetutils and 'kill' from GNU Coreutils.
'(begin
(substitute* "configure"
+ (("build_nologin=yes") "build_nologin=no")
(("build_logger=yes") "build_logger=no")
(("build_kill=yes") "build_kill=no"))
#t))))
(arguments
`(#:configure-flags (list "--disable-use-tty-group"
"--enable-fs-paths-default=/run/current-system/profile/sbin"
+ ;; Don't try to chown root:root mount and umount
+ "--disable-makeinstall-chown"
;; Install completions where our
;; bash-completion package expects them.
(string-append "--with-bashcompletiondir="
(define-public zerofree
(package
(name "zerofree")
- (version "1.1.0")
+ (version "1.1.1")
(home-page "https://frippery.org/uml/")
(source (origin
(method url-fetch)
".tgz"))
(sha256
(base32
- "059g29x5r1xj6wcj4xj85l8w6qrxyl86yqbybjqqz6nxz4falxzf"))))
+ "0rrqfa5z103ws89vi8kfvbks1cfs74ix6n1wb6vs582vnmhwhswm"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(define-public strace
(package
(name "strace")
- (version "4.20")
+ (version "4.21")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/strace/strace/" version
- "/strace-" version ".tar.xz"))
+ (uri (string-append "https://github.com/strace/strace/releases/"
+ "download/v" version "/strace-" version ".tar.xz"))
(sha256
(base32
- "08y5b07vb8jc7ak5xc3x2kx1ly6xiwv1gnppcqjs81kks66i9wsv"))))
+ "0dsw6xcfrmygidp1dj2ch8cl8icrar7789snkb2r8gh78kdqhxjw"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(define-public alsa-lib
(package
(name "alsa-lib")
- (version "1.1.4.1")
+ (version "1.1.5")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.bz2"))
(sha256
(base32
- "0xjvi381105gldhv0z872a0x58sghznyx19j45lw5iyi2h68gfwi"))))
+ "1rhacnlj0grvfagjx5qzsnbhw7m7lyccghqs4jsv0dnsqv9qmxpl"))))
(build-system gnu-build-system)
(home-page "https://www.alsa-project.org/")
(synopsis "The Advanced Linux Sound Architecture libraries")
(define-public alsa-utils
(package
(name "alsa-utils")
- (version "1.1.4")
+ (version "1.1.5")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/utils/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "17cxih9ibjp1193dyd79j50pyfa9dvrs6r9kpwrvzicjvr2110x7"))))
+ "1s727md6mb408y2cfwzjkx23abxhampyrjdkgpyygdhxx62x42rj"))))
(build-system gnu-build-system)
(arguments
;; XXX: Disable man page creation until we have DocBook.
(define-public alsa-plugins
(package
(name "alsa-plugins")
- (version "1.1.4")
+ (version "1.1.5")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/plugins/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "12hsvm6rpinjkg06pa9hzndkdrbfw6wk6yk00cm8y1gbv8xiq3ak"))))
+ "073zpgvj4pldmzqq97l40wngvbqnvrkc8yw153mgny9kypwaazbr"))))
(build-system gnu-build-system)
;; TODO: Split libavcodec and speex if possible. It looks like they can not
;; be split, there are references to both in files.
(define-public iptables
(package
(name "iptables")
- (version "1.6.1")
+ (version "1.6.2")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.bz2"))
(sha256
(base32
- "1x8c9y340x79djsq54bc1674ryv59jfphrk4f88i7qbvbnyxghhg"))))
+ "0crp0lvh5m2f15pr8cw97h8yb8zjj10x95zj06j46cr68vx2vl2m"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
#:configure-flags ; add $libdir to the RUNPATH of executables
(list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))))
(home-page "https://www.netfilter.org/projects/iptables/index.html")
- (synopsis "Program to configure the Linux IP packet filtering rules")
+ (synopsis "Programs to configure Linux IP packet filtering rules")
(description
- "iptables is the userspace command line program used to configure the
-Linux 2.4.x and later IPv4 packet filtering ruleset (firewall). It is targeted at
-system administrators. Since Network Address Translation is also configured
-from the packet filter ruleset, iptables is used for this, too. The iptables
-package also includes ip6tables. ip6tables is used for configuring the IPv6
-packet filter.")
+ "@command{iptables} is the user-space command line program used to
+configure the Linux 2.4.x and later IPv4 packet filtering ruleset
+(@dfn{firewall}), including @dfn{NAT} (Network Address Translation).
+
+This package also includes @command{ip6tables}, which is used to configure the
+IPv6 packet filter.
+
+Both commands are targeted at system administrators.
+")
(license license:gpl2+)))
(define-public ebtables
inadequately in modern network environments, and both should be deprecated.")
(license license:gpl2+)))
-;; There are two packages for net-tools. The first, net-tools, is more recent
-;; and probably safer to use with untrusted inputs (i.e. the internet). The
-;; second, net-tools-for-tests, is relatively old and buggy. It can be used in
-;; package test suites and should never be referred to by a built package. Use
-;; #:disallowed-references to enforce this.
-;;
-;; When we are able to rebuild many packages (i.e. core-updates), we can update
-;; net-tools-for-tests if appropriate.
-;;
-;; See <https://bugs.gnu.org/27811> for more information.
(define-public net-tools
;; XXX: This package is basically unmaintained, but it provides a few
;; commands not yet provided by Inetutils, such as 'route', so we have to
;; think about adding them later.
(substitute* '("config.make" "config.h")
(("^.*HAVE_(AFDECnet|HWSTRIP|HWTR|SELINUX|AFBLUETOOTH)[ =]1.*$")
- "")))))
+ ""))
+ #t)))
(add-after 'install 'remove-redundant-commands
(lambda* (#:key outputs #:allow-other-keys)
;; Remove commands and man pages redundant with Inetutils.
configuration (iptunnel, ipmaddr).")
(license license:gpl2+))))
-(define-public net-tools-for-tests
- (hidden-package (package (inherit net-tools)
- (version "1.60")
- ;; Git depends on net-tools-for-tests via GnuTLS, so we can't use git-fetch
- ;; here. We should find a better workaround for this problem so that we can
- ;; use the latest upstream source.
- (source (origin
- (method url-fetch)
- (uri (list (string-append
- "mirror://sourceforge/net-tools/net-tools-"
- version ".tar.bz2")
- (string-append
- "http://distro.ibiblio.org/rootlinux/rootlinux-ports"
- "/base/net-tools/net-tools-1.60.tar.bz2")))
- (sha256
- (base32
- "0yvxrzk0mzmspr7sa34hm1anw6sif39gyn85w4c5ywfn8inxvr3s"))
- (patches (search-patches "net-tools-bitrot.patch"))))
- (build-system gnu-build-system)
- (arguments
- '(#:modules ((guix build gnu-build-system)
- (guix build utils)
- (srfi srfi-1)
- (srfi srfi-26))
- #:phases (alist-cons-after
- 'unpack 'patch
- (lambda* (#:key inputs #:allow-other-keys)
- (define (apply-patch file)
- (zero? (system* "patch" "-p1" "--force"
- "--input" file)))
-
- (let ((patch.gz (assoc-ref inputs "patch")))
- (format #t "applying Debian patch set '~a'...~%"
- patch.gz)
- (system (string-append "gunzip < " patch.gz " > the-patch"))
- (and (apply-patch "the-patch")
- (for-each apply-patch
- (find-files "debian/patches"
- "\\.patch")))))
- (alist-replace
- 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (mkdir-p (string-append out "/bin"))
- (mkdir-p (string-append out "/sbin"))
-
- ;; Pretend we have everything...
- (system "yes | make config")
-
- ;; ... except for the things we don't have.
- ;; HAVE_AFDECnet requires libdnet, which we don't have.
- ;; HAVE_HWSTRIP and HAVE_HWTR require kernel headers
- ;; that have been removed.
- (substitute* '("config.make" "config.h")
- (("^.*HAVE_(AFDECnet|HWSTRIP|HWTR)[ =]1.*$") ""))))
- (alist-cons-after
- 'install 'remove-redundant-commands
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Remove commands and man pages redundant with
- ;; Inetutils.
- (let* ((out (assoc-ref outputs "out"))
- (dup (append-map (cut find-files out <>)
- '("^hostname"
- "^(yp|nis|dns)?domainname"))))
- (for-each delete-file dup)
- #t))
- %standard-phases)))
-
- ;; Binaries that depend on libnet-tools.a don't declare that
- ;; dependency, making it parallel-unsafe.
- #:parallel-build? #f
-
- #:tests? #f ; no test suite
- #:make-flags (let ((out (assoc-ref %outputs "out")))
- (list "CC=gcc"
- (string-append "BASEDIR=" out)
- (string-append "INSTALLNLSDIR=" out "/share/locale")
- (string-append "mandir=/share/man")))))
-
- ;; We added unzip to the net-tools package's native-inputs when
- ;; switching its source from a Git checkout to a zip archive. We
- ;; need to specify the native-inputs here to keep unzip out of the
- ;; build of net-tools-for-tests, so that we don't have to rebuild
- ;; many packages on the master branch. We can make
- ;; net-tools-for-tests inherit directly from net-tools in the next
- ;; core-updates cycle.
- (native-inputs `(("gettext" ,gettext-minimal)))
-
- ;; Use the big Debian patch set (the thing does not even compile out of
- ;; the box.)
- ;; XXX The patch is not actually applied, due to a bug in the 'patch' phase
- ;; above. However, this package variant is only used in GnuTLS's tests. It
- ;; will be adjusted when convenient for the build farm.
- ;; See <https://bugs.gnu.org/27811> for more information.
- (inputs `(("patch" ,(origin
- (method url-fetch)
- (uri
- "http://ftp.de.debian.org/debian/pool/main/n/net-tools/net-tools_1.60-24.2.diff.gz")
- (sha256
- (base32
- "0p93lsqx23v5fv4hpbrydmfvw1ha2rgqpn2zqbs2jhxkzhjc030p")))))))))
-
(define-public libcap
(package
(name "libcap")
(substitute* "Make.Rules"
(("LDFLAGS := #-g")
(string-append "LDFLAGS := -Wl,-rpath="
- %output "/lib"))))))
+ %output "/lib")))
+ #t)))
#:tests? #f ; no 'check' target
#:make-flags (list "lib=lib"
(string-append "prefix="
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (add-before 'bootstrap 'patch-stuff
(lambda _
;; Fix "field ‘ip6’ has incomplete type" errors.
(substitute* "libbridge/libbridge.h"
(("\\$\\(MAKE\\) \\$\\(MFLAGS\\) -C \\$\\$x ;")
"$(MAKE) $(MFLAGS) -C $$x || exit 1;"))
- (zero? (system* "autoreconf" "-vf")))))
+ #t)))
#:tests? #f)) ; no 'check' target
(home-page
"0hsn8l1iblvx27bpd4dvnvnbh9ri3sv2f9xzpsnfz3379kb7skgj"))))
(build-system cmake-build-system)
(native-inputs
- `(("python" ,python)
- ("python-pytest" ,python-pytest)))
+ `(("python" ,python)))
(inputs `(("fuse" ,fuse)))
(arguments
- '(#:phases
- (modify-phases %standard-phases
- (replace 'check
- ;; Borrowed from the Makefile
- (lambda _ (zero? (system* "python3" "-m" "pytest")))))))
+ ;; The tests were never actually run ("collected 0 items"), but in recent
+ ;; versions of pytest that causes an error.
+ '(#:tests? #f))
(home-page "https://github.com/rpodgorny/unionfs-fuse")
(synopsis "User-space union file system")
(description
(source (origin (inherit (package-source fuse))
(modules '((guix build utils)))
(snippet
- ;; Normally libfuse invokes mount(8) so that /etc/mtab is
- ;; updated. Change calls to 'mtab_needs_update' to 0 so that
- ;; it doesn't do that, allowing us to remove the dependency on
- ;; util-linux (something that is useful in initrds.)
- '(substitute* '("lib/mount_util.c"
- "util/mount_util.c")
- (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)")
- "0")
- (("/bin/")
- "")))))))
+ '(begin
+ ;; Normally libfuse invokes mount(8) so that /etc/mtab is
+ ;; updated. Change calls to 'mtab_needs_update' to 0 so
+ ;; that it doesn't do that, allowing us to remove the
+ ;; dependency on util-linux (something that is useful in
+ ;; initrds.)
+ (substitute* '("lib/mount_util.c"
+ "util/mount_util.c")
+ (("mtab_needs_update[[:blank:]]*\\([a-z_]+\\)")
+ "0")
+ (("/bin/")
+ ""))
+ #t))))))
(define-public unionfs-fuse/static
(package (inherit unionfs-fuse)
(source (origin (inherit (package-source unionfs-fuse))
(modules '((guix build utils)))
(snippet
- ;; Add -ldl to the libraries, because libfuse.a needs that.
- '(substitute* "src/CMakeLists.txt"
- (("target_link_libraries(.*)\\)" _ libs)
- (string-append "target_link_libraries"
- libs " dl)"))))))
+ '(begin
+ ;; Add -ldl to the libraries, because libfuse.a needs that.
+ (substitute* "src/CMakeLists.txt"
+ (("target_link_libraries(.*)\\)" _ libs)
+ (string-append "target_link_libraries"
+ libs " dl)")))
+ #t))))
(arguments
'(#:tests? #f
#:configure-flags '("-DCMAKE_EXE_LINKER_FLAGS=-static")
(define-public archivemount
(package
(name "archivemount")
- (version "0.8.7")
+ (version "0.8.9")
(source
(origin
(method url-fetch)
"archivemount-" version ".tar.gz"))
(sha256
(base32
- "1diiw6pnlnrnikn6l5ld92dx59lhrxjlqms8885vwbynsjl5q127"))))
+ "0v4si1ri6lhnq9q87gkx7fsh6lv6xz4bynknwndqncpvfp5cy1jg"))))
(build-system gnu-build-system)
- (inputs `(("fuse", fuse)
- ("libarchive", libarchive)))
- (native-inputs `(("pkg-config", pkg-config)))
+ (inputs `(("fuse" ,fuse)
+ ("libarchive" ,libarchive)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
(home-page "http://www.cybernoia.de/software/archivemount")
(synopsis "Tool for mounting archive files with FUSE")
(description "archivemount is a FUSE-based file system for Unix variants,
(substitute* '("src/unicode_start" "src/unicode_stop")
;; Assume the Coreutils are in $PATH.
(("/usr/bin/tty")
- "tty"))))))
+ "tty"))
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases
(define-public kmod
(package
(name "kmod")
- (version "24")
+ (version "25")
(source (origin
(method url-fetch)
(uri
"kmod-" version ".tar.xz"))
(sha256
(base32
- "15xkkkzvca9flvkm48gkh8y8f13vlm3sl7nz9ydc7b3jy4fqs2v1"))
+ "1kgixs4m3jvwk7fb3d18n6j77qhgi9qfv4csj35rs5ancr4ycrbi"))
(patches (search-patches "kmod-module-directory.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("xz" ,xz)
("zlib" ,zlib)))
(arguments
- `(#:tests? #f ; FIXME: Investigate test failures
+ `(#:tests? #f ; FIXME: Investigate test failures
#:configure-flags '("--with-xz" "--with-zlib")
- #:phases (alist-cons-after
- 'install 'install-modprobe&co
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin")))
- (for-each (lambda (tool)
- (symlink "kmod"
- (string-append bin "/" tool)))
- '("insmod" "rmmod" "lsmod" "modprobe"
- "modinfo" "depmod"))))
- %standard-phases)))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-modprobe&co
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (for-each (lambda (tool)
+ (symlink "kmod"
+ (string-append bin "/" tool)))
+ '("insmod" "rmmod" "lsmod" "modprobe"
+ "modinfo" "depmod"))
+ #t))))))
(home-page "https://www.kernel.org/")
(synopsis "Kernel module tools")
(description "Kmod is a set of tools to handle common tasks with Linux
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
- (version "3.2.2")
+ (version "3.2.5")
(source (origin
(method url-fetch)
- (uri (string-append
- "http://dev.gentoo.org/~blueness/eudev/eudev-"
- version ".tar.gz"))
+ (uri (string-append "https://github.com/gentoo/eudev/archive/v"
+ version ".zip"))
+ (file-name (string-append name "-" version ".zip"))
(sha256
(base32
- "0qqgbgpm5wdllk0s04pf80nwc8pr93xazwri1bylm1f15zn5ck1y"))
+ "0c9l3m3mr1nvrvlcnzh5gjdg9p9k7hh0jk04wh596cbmbass2nhd"))
(patches (search-patches "eudev-rules-directory.patch"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (modify-phases %standard-phases
- (add-after 'install 'build-hwdb
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
- ;; similar tools to display product names.
- (let ((out (assoc-ref outputs "out")))
- (zero? (system* (string-append out "/bin/udevadm")
- "hwdb" "--update"))))))))
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'patch-file-names
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "man/make.sh"
+ (("/usr/bin/xsltproc")
+ (string-append (assoc-ref inputs "xsltproc")
+ "/bin/xsltproc")))
+ #t))
+ (add-after 'install 'build-hwdb
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and
+ ;; similar tools to display product names.
+ (let ((out (assoc-ref outputs "out")))
+ (invoke (string-append out "/bin/udevadm")
+ "hwdb" "--update")))))
+ #:configure-flags (list "--enable-manpages")))
(native-inputs
- `(("pkg-config" ,pkg-config)
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gperf" ,gperf)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ;; For tests.
("perl" ,perl)
- ("gperf" ,gperf)))
+ ("python" ,python-wrapper)
+ ;; For documentation.
+ ("docbook-xml" ,docbook-xml-4.2)
+ ("docbook-xsl" ,docbook-xsl)
+ ("libxml2" ,libxml2) ;for $XML_CATALOG_FILES
+ ("xsltproc" ,libxslt)))
(inputs
;; When linked against libblkid, eudev can populate /dev/disk/by-label
;; and similar; it also installs the '60-persistent-storage.rules' file,
(("confdir = .*$")
"confdir = @sysconfdir@\n")
(("DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@")
- "DEFAULT_SYS_DIR = @sysconfdir@"))))
+ "DEFAULT_SYS_DIR = @sysconfdir@"))
+ #t))
(patches (search-patches "lvm2-static-link.patch"))))
(build-system gnu-build-system)
(native-inputs
;; Replace /bin/sh with the right file name.
(patch-makefile-SHELL "make.tmpl")
- #t))
- (add-before 'strip 'make-objects-writable
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Make compiled objects writable so they can be stripped.
- (let ((out (assoc-ref outputs "out")))
- (for-each (lambda (file)
- (chmod file #o755))
- (append
- (find-files (string-append out "/lib"))
- (find-files (string-append out "/sbin"))))
- #t))))
+ #t)))
#:configure-flags (list (string-append "--sysconfdir="
(assoc-ref %outputs "out")
(arguments
'(#:phases (modify-phases %standard-phases
(delete 'configure)
+ (add-after 'unpack 'gzip-determinism
+ (lambda _
+ (substitute* "Makefile"
+ (("gzip") "gzip --no-name"))
+ #t))
(add-before
'build 'no-werror-no-ldconfig
(lambda _
"1f9mcp78sdd4sci6v32vxfcl1rfjpv205jisz1p93kkfnaisy7ip"))
;; We're building 'regulatory.bin' by ourselves.
- (snippet '(delete-file "regulatory.bin"))))
+ (snippet '(begin
+ (delete-file "regulatory.bin")
+ #t))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
+ (add-after 'unpack 'gzip-determinism
+ (lambda _
+ (substitute* "Makefile"
+ (("gzip") "gzip --no-name"))
+ #t))
(delete 'configure))
;; The 'all' target of the makefile depends on $(REGDB_CHANGED), which
(define-public hdparm
(package
(name "hdparm")
- (version "9.53")
+ (version "9.55")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/"
name "-" version ".tar.gz"))
(sha256
(base32
- "1rb5086gp4l1h1fn2nk10ziqxjxigsd0c1zczahwc5k9vy8zawr6"))))
+ "1ivdvrzimaayiq03by8mcq0mhmdljndj06h012zkdpw34irnpixm"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (let ((out (assoc-ref %outputs "out")))
which is used to enable and disable wireless networking devices, typically
WLAN, Bluetooth and mobile broadband.")
(license (license:non-copyleft "file://COPYING"
- "See COPYING in the distribution."))))
+ "See COPYING in the distribution."))
+ ;; rfkill is part of util-linux as of 2.31.
+ (properties `((superseded . ,util-linux)))))
(define-public acpi
(package
"includedir = @includedir@"))
(substitute* "configure"
(("includedir='(\\$\\{prefix\\}/include)'" all orig)
- (string-append "includedir='" orig "/sysfs'")))))))
+ (string-append "includedir='" orig "/sysfs'")))
+ #t))))
(synopsis "System utilities based on Linux sysfs (version 1.x)")))
(define-public cpufrequtils
(define-public multipath-tools
(package
(name "multipath-tools")
- (version "0.7.1")
+ (version "0.7.4")
(source (origin
(method url-fetch)
- (uri (string-append "http://git.opensvc.com/?p=multipath-tools/"
+ (uri (string-append "https://git.opensvc.com/?p=multipath-tools/"
".git;a=snapshot;h=" version ";sf=tgz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0w0rgi3lqksaki30yvd4l5rgjqb0d7js1sh7masl8aw6xbrsm26p"))
+ "02lk453wa2gfxkl8zmdws15nkcibln2yw76zm779pkngkhggl6w8"))
(modules '((guix build utils)))
(snippet
'(begin
(define-public bluez
(package
(name "bluez")
- (version "5.47")
+ (version "5.49")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "1j22hfjz0fp4pgclgz9mfcwjbr4wqgah3gd2qhfg4r6msmybyxfg"))))
+ "15ffsaz7l3fgdg03l7g1xx9jw7xgs6pc548zxqsxawsca5x1sc1k"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(string-append "--with-udevdir=" out "/lib/udev")))
#:phases
(modify-phases %standard-phases
- ,@(if (string=? (%current-system) "armhf-linux")
- ;; This test fails unpredictably.
- ;; TODO: skip it for all architectures.
- `((add-before 'check 'skip-wonky-test
- (lambda _
- (substitute* "unit/test-gatt.c"
- (("tester_init\\(&argc, &argv\\);") "return 77;"))
- #t)))
- `())
-
+ ;; Test unit/test-gatt fails unpredictably. Seems to be a timing
+ ;; issue (discussion on upstream mailing list:
+ ;; https://marc.info/?t=149578476300002&r=1&w=2)
+ (add-before 'check 'skip-wonky-test
+ (lambda _
+ (substitute* "unit/test-gatt.c"
+ (("tester_init\\(&argc, &argv\\);") "return 77;"))
+ #t))
(add-after 'install 'post-install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(uri (string-append
"http://www.nico.schottelius.org/software/gpm/archives/gpm-"
version ".tar.bz2"))
+ (patches (search-patches "gpm-glibc-2.26.patch"))
(sha256
(base32
"13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda _
;; The tarball was not generated with 'make dist' so we
;; need to bootstrap things ourselves.
(lambda _ (zero? (system* "make" "static"))))
(add-after 'install 'install-bash-completion
(lambda* (#:key outputs #:allow-other-keys)
- (install-file "btrfs-completion"
- (string-append (assoc-ref outputs "out")
- "/etc/bash_completion.d"))
- #t))
+ (let* ((out (assoc-ref outputs "out"))
+ (bashcomp (string-append out "/etc/bash_completion.d")))
+ (mkdir-p bashcomp)
+ (copy-file "btrfs-completion"
+ (string-append bashcomp "/btrfs"))
+ #t)))
(add-after 'install 'install-static
(let ((staticbin (string-append (assoc-ref %outputs "static")
"/bin")))
(base32
"1bir9ladb58ijlcvrjrq1fb1xv5ys50zdjaq0yzliib0apsyrnyl"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "autoreconf" "-vif")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
(modules '((guix build utils)))
;; Fix erroneous man page location in Makefile leading to
;; a compilation failure.
- (snippet
- '(substitute* "CMakeLists.txt"
- (("thinkfan\\.1") "src/thinkfan.1")))))
+ (snippet '(begin
+ (substitute* "CMakeLists.txt"
+ (("thinkfan\\.1") "src/thinkfan.1"))
+ #t))))
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
(base32
"1mb228p80hv97pgk3myyvgp975r9mxq56c6bdn1n24kngcfh4niy"))
(modules '((guix build utils)))
- (snippet
- ;; Install under $prefix.
- '(substitute* '("src/Makefile.in" "ntfsprogs/Makefile.in")
- (("/sbin")
- "@sbindir@")))))
+ (snippet '(begin
+ ;; Install under $prefix.
+ (substitute* '("src/Makefile.in" "ntfsprogs/Makefile.in")
+ (("/sbin")
+ "@sbindir@"))
+ #t))))
(build-system gnu-build-system)
(inputs `(("util-linux" ,util-linux)
("fuse" ,fuse))) ;libuuid
;; Upstream uses the "ninja" build system and encourage distros
;; to do the same for consistency. They also recommend using the
;; "Release" build type.
- #:configure-flags (list "-GNinja"
- ;; Defaults to "lib64" on 64-bit archs.
- (string-append "-DCMAKE_INSTALL_LIBDIR="
- (assoc-ref %outputs "out") "/lib")
- "-DCMAKE_BUILD_TYPE=Release")
+ #:build-type "Release"
+ #:configure-flags (list "-GNinja")
#:phases
(modify-phases %standard-phases
(replace 'build
(build-system gnu-build-system)
(arguments
`(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB.
- #:configure-flags '("--without-nistbeacon")
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
- (lambda _
- (zero? (system* "sh" "autogen.sh")))))))
+ #:configure-flags '("--without-nistbeacon")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet
- ;; The snapshots lack a .git directory, breaking ‘git describe’.
- `(substitute* "Makefile"
- (("\"unknown\"") (string-append "\"v" ,version "\""))))))
+ `(begin
+ ;; The snapshots lack a .git directory,
+ ;; breaking ‘git describe’.
+ (substitute* "Makefile"
+ (("\"unknown\"") (string-append "\"v" ,version "\"")))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(inputs
`(("acl" ,acl)
("libuuid" ,util-linux)
- ("lzo", lzo)
+ ("lzo" ,lzo)
("zlib" ,zlib)))
(build-system gnu-build-system)
(arguments
(define-public libseccomp
(package
(name "libseccomp")
- (version "2.3.2")
+ (version "2.3.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/seccomp/libseccomp/"
"/libseccomp-" version ".tar.gz"))
(sha256
(base32
- "18dwfxzsw3agiy2dxbflrkhmjgvlji0wwkk636nabh2ng41qrp1x"))))
+ "0mdiyfljrkfl50q1m3ws8yfcyfjwf1zgkvcva8ffcwncji18zhkz"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)))
(define-public efivar
(package
(name "efivar")
- (version "30")
+ (version "34")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rhinstaller/" name
"-" version ".tar.bz2"))
(sha256
(base32
- "12qjnm44yi55ffqxjpgrxy82s89yjziy84w2rfjjknsd8flj0mqz"))))
+ "09a31y6sl3b33myy42gl9k732k1f440ycd07l6ac5d5l53kk8zhv"))))
(build-system gnu-build-system)
(arguments
`(;; Tests require a UEFI system and is not detected in the chroot.
#:tests? #f
#:make-flags (list (string-append "prefix=" %output)
(string-append "libdir=" %output "/lib")
+ "CC_FOR_BUILD=gcc"
(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
#:phases
(modify-phases %standard-phases
(base32
"1i1gfy8l7qyhc5vlrpp63s0n5kybmc9pi4dywiq8rmkhrrnddsla"))))
(build-system gnu-build-system)
- (inputs `(("bison", bison)
- ("flex", flex)
- ("gmp", gmp)
- ("libmnl", libmnl)
- ("libnftnl", libnftnl)
- ("readline", readline)))
- (native-inputs `(("pkg-config", pkg-config)))
+ (inputs `(("bison" ,bison)
+ ("flex" ,flex)
+ ("gmp" ,gmp)
+ ("libmnl" ,libmnl)
+ ("libnftnl" ,libnftnl)
+ ("readline" ,readline)))
+ (native-inputs `(("pkg-config" ,pkg-config)))
(home-page "http://www.nftables.org")
(synopsis "Userspace utility for Linux packet filtering")
(description "nftables is the project that aims to replace the existing