;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
-;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
-;;; Copyright © 2016 ng0 <ng0@libertad.pw>
+;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
+;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>
;;; 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>
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages rrdtool)
+ #:use-module (gnu packages samba)
#:use-module (gnu packages slang)
#:use-module (gnu packages storage)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages video)
+ #:use-module (gnu packages web)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
((string-prefix? "alpha" arch) "alpha")
(else arch))))
+(define-public (system->defconfig system)
+ "Some systems (notably powerpc-linux) require a special target for kernel
+defconfig. Return the appropiate make target if applicable, otherwise return
+\"defconfig\"."
+ (cond ((string-prefix? "powerpc-" system) "pmac32_defconfig")
+ (else "defconfig")))
+
(define (linux-libre-urls version)
"Return a list of URLs for Linux-Libre VERSION."
(list (string-append
(define-public linux-libre-headers
(package
(name "linux-libre-headers")
- (version "4.4.18")
+ (version "4.4.47")
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256
(base32
- "0k8k17in7dkjd9d8zg3i8l1ax466dba6bxw28flxizzyq8znljps"))))
+ "00zdq7swhvzbbnnhzizq6m34q5k4fycpcp215bmkbxh1ic76v7bs"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(arguments
(lambda _
(let ((arch ,(system->linux-architecture
(or (%current-target-system)
- (%current-system)))))
+ (%current-system))))
+ (defconfig ,(system->defconfig
+ (or (%current-target-system)
+ (%current-system)))))
(setenv "ARCH" arch)
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
-
- (and (zero? (system* "make" "defconfig"))
+ (and (zero? (system* "make" defconfig))
(zero? (system* "make" "mrproper" "headers_check"))))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
-(define %linux-libre-version "4.10.7")
-(define %linux-libre-hash "0cjhnq67h3kk2dx0kd3nw0f1lbxvc8jr8n5khb9bh07913ag2pyq")
+(define %linux-libre-version "4.11.2")
+(define %linux-libre-hash "0vp6hjc7cb6q6bhbg6jcf08r27xbf293cdib2vfng15ygvxpyfij")
(define-public linux-libre
(make-linux-libre %linux-libre-version
#:configuration-file kernel-config))
(define-public linux-libre-4.9
- (make-linux-libre "4.9.19"
- "19x6hasx7pvrjj08vy8mhylx1s63j3dwxzgqh4k18jwzjfkv3p3g"
+ (make-linux-libre "4.9.29"
+ "0yj4gajdzilxnh9lhb2zl0hs654lagdfx8cp7bv2w4q41bnmc3l9"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.58"
- "1q5y26r65wkhcav7qq3x9mvz54dgcvcw2a5scpgya61b3kpnahb2"
+ (make-linux-libre "4.4.69"
+ "14q5lqsfmwyiilbhffr3bwsm6i3z1jv6y09rg8x3faibcg766wny"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public psmisc
(package
(name "psmisc")
- (version "22.20")
+ (version "22.21")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "052mfraykmxnavpi8s78aljx8w87hyvpx8mvzsgpjsjz73i28wmi"))))
+ "0nhlm1vrrwn4a845p6y4nnnb4liq70n74zbdd5dq844jc6nkqclp"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
- (home-page "http://psmisc.sourceforge.net/")
+ (home-page "https://gitlab.com/psmisc/psmisc")
(synopsis
"Small utilities that use the proc file system")
(description
(define-public util-linux
(package
(name "util-linux")
- (replacement util-linux/fixed)
- (version "2.28.1")
+ (version "2.29.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
name "-" version ".tar.xz"))
(sha256
(base32
- "03xnaw3c7pavxvvh1vnimcr44hlhhf25whawiyv8dxsflfj4xkiy"))
+ "1qz81w8vzrmy8xn9yx7ls4amkbgwx6vr62pl6kv9g7r0g3ba9kmc"))
(patches (search-patches "util-linux-tests.patch"))
(modules '((guix build utils)))
(snippet
"static")) ; >2 MiB of static .a libraries
(arguments
`(#:configure-flags (list "--disable-use-tty-group"
-
+ "--enable-fs-paths-default=/run/current-system/profile/sbin"
;; Install completions where our
;; bash-completion package expects them.
(string-append "--with-bashcompletiondir="
(license (list license:gpl3+ license:gpl2+ license:gpl2 license:lgpl2.0+
license:bsd-4 license:public-domain))))
-(define util-linux/fixed
- (package
- (inherit util-linux)
- (source
- (origin
- (inherit (package-source util-linux))
- (patches
- (append
- (origin-patches (package-source util-linux))
- (search-patches "util-linux-CVE-2017-2616.patch")))))))
-
(define-public procps
(package
(name "procps")
(define-public e2fsprogs
(package
(name "e2fsprogs")
- (version "1.42.13")
+ (version "1.43.4")
(source (origin
(method url-fetch)
(uri (string-append
name "-" version ".tar.xz"))
(sha256
(base32
- "1ix0b83zgw5n0p2grh2961c6796m92yr2jqc2sbr23x3lfsp8r71"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "MCONFIG.in"
- (("INSTALL_SYMLINK = /bin/sh")
- "INSTALL_SYMLINK = sh"))
-
- ;; Do not include a timestamp in libext2fs.info.gz.
- (substitute* "doc/Makefile.in"
- (("gzip -9")
- "gzip -9n"))))))
+ "092absr4vrlqrkdf9nwh4ykj40ab6hhwrkdr6sjsccd54c8z5csl"))))
(build-system gnu-build-system)
(inputs `(("util-linux" ,util-linux)))
(native-inputs `(("pkg-config" ,pkg-config)
- ("texinfo" ,texinfo))) ;for the libext2fs Info manual
+ ("texinfo" ,texinfo) ;for the libext2fs Info manual
+
+ ;; For tests.
+ ("perl" ,perl)
+ ("procps" ,procps)))
(arguments
- '(;; Parallel building reliably yields a failure like this:
- ;; "make[2]: *** No rule to make target '../lib/libss.so', needed by
- ;; 'debugfs'. Stop."
- #:parallel-build? #f
- ;; util-linux is the preferred source for some of the libraries and
+ '(;; util-linux is the preferred source for some of the libraries and
;; commands, so disable them (see, e.g.,
;; <http://git.buildroot.net/buildroot/commit/?id=e1ffc2f791b33633>.)
- #:configure-flags '("--disable-libblkid"
- "--disable-libuuid" "--disable-uuidd"
- "--disable-fsck"
+ #:configure-flags (list "--disable-libblkid"
+ "--disable-libuuid" "--disable-uuidd"
+ "--disable-fsck"
- ;; Use symlinks instead of hard links for
- ;; 'fsck.extN' etc. This makes the resulting nar
- ;; smaller and is preserved across copies.
- "--enable-symlink-install"
+ ;; Use symlinks instead of hard links for
+ ;; 'fsck.extN' etc. This makes the resulting nar
+ ;; smaller and is preserved across copies.
+ "--enable-symlink-install"
- ;; Install libext2fs et al.
- "--enable-elf-shlibs")
+ (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib")
- #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath="
- (assoc-ref %outputs "out")
- "/lib"))
+ ;; Install libext2fs et al.
+ "--enable-elf-shlibs")
- #:phases (alist-cons-before
- 'configure 'patch-shells
- (lambda _
- (substitute* "configure"
- (("/bin/sh (.*)parse-types.sh" _ dir)
- (string-append (which "sh") " " dir
- "parse-types.sh")))
- (substitute* (find-files "." "^Makefile.in$")
- (("#!/bin/sh")
- (string-append "#!" (which "sh")))))
- (alist-cons-after
- 'install 'install-libs
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (lib (string-append out "/lib")))
- (and (zero? (system* "make" "install-libs"))
-
- ;; Make the .a writable so that 'strip' works.
- ;; Failing to do that, due to debug symbols, we
- ;; retain a reference to the final
- ;; linux-libre-headers, which refer to the
- ;; bootstrap binaries.
- (let ((archives (find-files lib "\\.a$")))
- (for-each (lambda (file)
- (chmod file #o666))
- archives)
- #t))))
- %standard-phases))
-
- ;; FIXME: Tests work by comparing the stdout/stderr of programs, that
- ;; they fail because we get an extra line that says "Can't check if
- ;; file system is mounted due to missing mtab file".
- #:tests? #f))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'configure 'patch-shells
+ (lambda _
+ (substitute* "configure"
+ (("/bin/sh (.*)parse-types.sh" _ dir)
+ (string-append (which "sh") " " dir
+ "parse-types.sh")))
+ (substitute* "MCONFIG.in"
+ (("INSTALL_SYMLINK = /bin/sh")
+ "INSTALL_SYMLINK = sh"))
+ (substitute* (find-files "." "^Makefile.in$")
+ (("#!/bin/sh")
+ (string-append "#!" (which "sh"))))
+ #t))
+ (add-after 'install 'install-libs
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib")))
+ (and (zero? (system* "make" "install-libs"))
+
+ ;; Make the .a writable so that 'strip' works.
+ ;; Failing to do that, due to debug symbols, we
+ ;; retain a reference to the final
+ ;; linux-libre-headers, which refer to the
+ ;; bootstrap binaries.
+ (let ((archives (find-files lib "\\.a$")))
+ (for-each (lambda (file)
+ (chmod file #o666))
+ archives)
+ #t))))))))
(home-page "http://e2fsprogs.sourceforge.net/")
(synopsis "Creating and checking ext2/ext3/ext4 file systems")
(description
(define-public strace
(package
(name "strace")
- (version "4.16")
+ (version "4.17")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/strace/strace/" version
"/strace-" version ".tar.xz"))
(sha256
(base32
- "1vzhmpcy989i4k12q4cc438yal2ghhm6x7ychscjbhcf2yspqj4q"))))
+ "06bl4dld5fk4a3iiq4pyrkm6sh63599ah8dmds0glg5vbw45pww1"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(define-public alsa-lib
(package
(name "alsa-lib")
- (version "1.0.27.1")
+ (version "1.1.3")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.bz2"))
(sha256
(base32
- "0fx057746dj7rjdi0jnvx2m9b0y1lgdkh1hks87d8w32xyihf3k9"))
- (patches (search-patches "alsa-lib-mips-atomic-fix.patch"))))
+ "174n2psp0328xcy2f1ayls67598bxli6q9cf00d2qnac3012aa3i"))))
(build-system gnu-build-system)
- (home-page "http://www.alsa-project.org/")
+ (home-page "https://www.alsa-project.org/")
(synopsis "The Advanced Linux Sound Architecture libraries")
(description
"The Advanced Linux Sound Architecture (ALSA) provides audio and
(define-public iptables
(package
(name "iptables")
- (version "1.4.21")
+ (version "1.6.1")
(source (origin
(method url-fetch)
(uri (string-append
- "http://www.netfilter.org/projects/iptables/files/iptables-"
+ "mirror://netfilter.org/iptables/iptables-"
version ".tar.bz2"))
(sha256
(base32
- "1q6kg7sf0pgpq0qhab6sywl23cngxxfzc9zdzscsba8x09l4q02j"))))
+ "1x8c9y340x79djsq54bc1674ryv59jfphrk4f88i7qbvbnyxghhg"))))
(build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("flex" ,flex)
+ ("bison" ,bison)))
+ (inputs
+ `(("libmnl" ,libmnl)
+ ("libnftnl" ,libnftnl)))
(arguments
'(#:tests? #f ; no test suite
#:configure-flags ; add $libdir to the RUNPATH of executables
(list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))))
- (home-page "http://www.netfilter.org/projects/iptables/index.html")
+ (home-page "https://www.netfilter.org/projects/iptables/index.html")
(synopsis "Program to configure the Linux IP packet filtering rules")
(description
"iptables is the userspace command line program used to configure the
(define-public libcap
(package
(name "libcap")
- (version "2.24")
+ (version "2.25")
(source (origin
(method url-fetch)
(uri (string-append
"libcap2/libcap-" version ".tar.xz"))
(sha256
(base32
- "0rbc9qbqs5bp9am9s9g83wxj5k4ixps2agy9dxr1v1fwg27mdr6f"))))
+ "0qjiqc5pknaal57453nxcbz3mn1r4hkyywam41wfcglq3v2qlg39"))))
(build-system gnu-build-system)
(arguments '(#:phases
(modify-phases %standard-phases
(define-public fuse
(package
(name "fuse")
- (version "2.9.6")
+ (version "2.9.7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/libfuse/libfuse/releases/"
"/fuse-" version ".tar.gz"))
(sha256
(base32
- "0szi2vlsjxg03y4ji51jks34p269jqj5ify6l0ajsqq6f6y8pd0c"))))
+ "0x486nri30f7cgy0acj87v9sjxsjrr0cymrvw4h3r0sgmp8k4943"))
+ (patches (search-patches "fuse-overlapping-headers.patch"))))
(build-system gnu-build-system)
(inputs `(("util-linux" ,util-linux)))
(arguments
(define-public unionfs-fuse
(package
(name "unionfs-fuse")
- (version "0.26")
+ (version "2.0")
(source (origin
(method url-fetch)
(uri (string-append
- "http://podgorny.cz/unionfs-fuse/releases/unionfs-fuse-"
- version ".tar.xz"))
+ "https://github.com/rpodgorny/unionfs-fuse/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0qpnr4czgc62vsfnmv933w62nq3xwcbnvqch72qakfgca75rsp4d"))))
+ "0hsn8l1iblvx27bpd4dvnvnbh9ri3sv2f9xzpsnfz3379kb7skgj"))))
(build-system cmake-build-system)
+ (native-inputs
+ `(("python" ,python)
+ ("python-pytest" ,python-pytest)))
(inputs `(("fuse" ,fuse)))
- (arguments '(#:tests? #f)) ; no tests
- (home-page "http://podgorny.cz/moin/UnionFsFuse")
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ ;; Borrowed from the Makefile
+ (lambda _ (zero? (system* "python3" "-m" "pytest")))))))
+ (home-page "https://github.com/rpodgorny/unionfs-fuse")
(synopsis "User-space union file system")
(description
"UnionFS-FUSE is a flexible union file system implementation in user
(exe (string-append out "/bin/unionfs")))
;; By default, 'unionfs' keeps references to
;; $glibc/share/locale and similar stuff. Remove them.
- (remove-store-references exe)))
+ (remove-store-references exe)
+
+ ;; 'unionfsctl' has references to glibc as well. Since
+ ;; we don't need it, remove it.
+ (delete-file (string-append out "/bin/unionfsctl"))
+ #t))
%standard-phases)))
(inputs `(("fuse" ,fuse-static)))))
(define-public sshfs-fuse
(package
(name "sshfs-fuse")
- (version "2.8")
+ (version "2.9")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/libfuse/sshfs/releases/"
- "download/sshfs_" version
- "/sshfs-" version ".tar.gz"))
+ "download/sshfs-" version "/sshfs-" version
+ ".tar.gz"))
(sha256
(base32
- "08mdd4rs7yys7hmyig6i08qlid76p17xlvrh64k7wsrfs1s92s3z"))))
+ "1pp5wsl1jx11apkv2fpp559miifqhi8ka400npy5awp9ghlf3la6"))))
(build-system gnu-build-system)
(inputs
`(("fuse" ,fuse)
("glib" ,glib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
- (home-page "http://fuse.sourceforge.net/sshfs.html")
+ (home-page "https://github.com/libfuse/sshfs")
(synopsis "Mount remote file systems over SSH")
(description
"This is a file system client based on the SSH File Transfer Protocol.
(license (list license:gpl2 ;programs
license:lgpl2.1)))) ;library
+(define-public kbd-neo
+ (package
+ (name "kbd-neo")
+ (version "2486")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://svn.neo-layout.org/!svn/bc/"
+ version "/linux/console/neo.map"))
+ (file-name (string-append name "-" version ".map"))
+ (sha256
+ (base32
+ "19mfrd31vzpsjiwc7pshxm0b0sz5dd17xrz6k079cy4im1vf0r4g"))))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils))
+ (let ((out (string-append %output "/share/keymaps"))
+ (source (assoc-ref %build-inputs "source")))
+ (mkdir-p out)
+ (copy-file source (string-append out "/neo.map"))
+ #t))))
+ (home-page "https://neo-layout.org")
+ (synopsis "Neo2 console layout")
+ (description
+ "Kbd-neo provides the Neo2 keyboard layout for use with
+@command{loadkeys(1)} from @code{kbd(4)}.")
+ ;; The file is located in an svn directory, the entire content of
+ ;; the directory is licensed as GPL3.
+ (license license:gpl3+)))
+
(define-public kbd
(package
(name "kbd")
("gzip" ,gzip)
("bzip2" ,bzip2)
("pam" ,linux-pam)))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LOADKEYS_KEYMAP_PATH")
+ (files (list "share/keymaps")))))
(native-inputs `(("pkg-config" ,pkg-config)))
- (home-page "ftp://ftp.kernel.org/pub/linux/utils/kbd/")
+ (home-page "http://kbd-project.org/")
(synopsis "Linux keyboard utilities and keyboard maps")
(description
"This package contains keytable files and keyboard utilities compatible
(define-public kmod
(package
(name "kmod")
- (version "23")
+ (version "24")
(source (origin
(method url-fetch)
(uri
"kmod-" version ".tar.xz"))
(sha256
(base32
- "0mc12sx06p8il1ym3hdmgxxb37apn9yv7xij26gddjdfkx8xa0yk"))
+ "15xkkkzvca9flvkm48gkh8y8f13vlm3sl7nz9ydc7b3jy4fqs2v1"))
(patches (search-patches "kmod-module-directory.patch"))))
(build-system gnu-build-system)
(native-inputs
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
- (version "3.2")
+ (version "3.2.1")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "099w62ncq78nxpxizf910mx18hc8x4qvzw3azjd00fir89wmyjnq"))
- (patches (search-patches "eudev-rules-directory.patch"))))
+ "06gyyl90n85x8i7lfhns514y1kg1ians13l467admyzy3kjxkqsp"))
+ (patches (search-patches "eudev-rules-directory.patch"
+ "eudev-conflicting-declaration.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
(define-public lvm2
(package
(name "lvm2")
- (version "2.02.168")
+ (version "2.02.171")
(source (origin
(method url-fetch)
(uri (string-append "ftp://sources.redhat.com/pub/lvm2/releases/LVM2."
version ".tgz"))
(sha256
(base32
- "03b62hcsj9z37ckd8c21wwpm07s9zblq7grfh58yzcs1vp6x38r3"))
+ "0r4r9fsvpj9hjmf0zz7h4prz12r6y16jhjhsvk1sbfpsl88sf5dq"))
(modules '((guix build utils)))
(snippet
'(begin
;; The tests use 'mknod', which requires root access.
#:tests? #f))
- (home-page "http://sourceware.org/lvm2/")
+ (home-page "https://sourceware.org/lvm2/")
(synopsis "Logical volume management for Linux")
(description
"LVM2 is the logical volume management tool set for Linux-based systems.
;; ("newt" ,newt)
("python" ,python-2) ;'perf' links against libpython
("elfutils" ,elfutils)
+ ("libiberty" ,libiberty) ;used alongside BDF for symbol demangling
;; Documentation.
("libxml2" ,libxml2) ;for $XML_CATALOG_FILES
(define-public hdparm
(package
(name "hdparm")
- (version "9.51")
+ (version "9.52")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/" name "/"
name "-" version ".tar.gz"))
(sha256
(base32
- "14ax5lyzhigx58ing7adbfyzisv0fqajbmzphg149rnb3s4xiyhs"))))
+ "1djgxhfadd865dcrl6dp7dvjxpaisy7mk17mbdbglwg24ga9qhn3"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (let ((out (assoc-ref %outputs "out")))
(define-public multipath-tools
(package
(name "multipath-tools")
- (version "0.6.4")
+ (version "0.7.1")
(source (origin
(method url-fetch)
(uri (string-append "http://git.opensvc.com/?p=multipath-tools/"
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "12smwmljrkl2afc06dghd2253rqnfawvzr818a2xpxr06f44f9qy"))
+ "0w0rgi3lqksaki30yvd4l5rgjqb0d7js1sh7masl8aw6xbrsm26p"))
(modules '((guix build utils)))
(snippet
'(begin
'(#:tests? #f ; No tests.
#:make-flags (list (string-append "DESTDIR="
(assoc-ref %outputs "out"))
+ "SYSTEMDPATH=lib"
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib"))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((lvm2 (assoc-ref inputs "lvm2"))
+ (udev (assoc-ref inputs "udev")))
+ (substitute* "Makefile.inc"
+ (("\\$\\(prefix\\)/usr") "$(prefix)"))
+ (substitute* '("kpartx/Makefile" "libmultipath/Makefile")
+ (("/usr/include/libdevmapper.h")
+ (string-append lvm2 "/include/libdevmapper.h"))
+ (("/usr/include/libudev.h")
+ (string-append udev "/include/libudev.h")))
+ #t)))
(delete 'configure)
(add-before 'build 'set-CC
(lambda _
(setenv "CC" "gcc")
#t)))))
(native-inputs
- `(("valgrind" ,valgrind)))
+ `(("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("valgrind" ,valgrind)))
(inputs
`(("ceph:lib" ,ceph "lib")
+ ("json-c" ,json-c)
("libaio" ,libaio)
("liburcu" ,liburcu)
("lvm2" ,lvm2)
(method url-fetch)
(uri (list
(string-append "mirror://debian/pool/main/liba/libaio/"
- name "_" version ".orig.tar.gz")
- (string-append "https://fedorahosted.org/releases/l/i/libaio/"
- name "-" version ".tar.gz")))
+ name "_" version ".orig.tar.gz")))
(sha256
(base32
"0zjzfkwd1kdvq6zpawhzisv7qbq1ffs343i5fs9p498pcf7046g0"))))
(define-public bluez
(package
(name "bluez")
- (version "5.43")
+ (version "5.44")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "05cdnpz0w2lwq2x5ba87q1h2wgb4lfnpbnbh6p7499hx59fw1j8n"))))
+ "11bc6pndivd0rkqr3c8a1xd9ar9bb60gx79piskycicb3wliwchc"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(define-public btrfs-progs
(package
(name "btrfs-progs")
- (version "4.10.1")
+ (version "4.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
- "06hs20jwa15xybbmlalba8wvhv3slq1g0wrqrgyh7ll5y11bc5kc"))))
+ "03mzv89f08gdsqv4ima793g44kdavcfyjialf5dr0zd2ab66hyp1"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of binaries in "out" (~16MiB!)
(define-public mcelog
(package
(name "mcelog")
- (version "149")
+ (version "151")
(source (origin
(method url-fetch)
(uri (string-append "https://git.kernel.org/cgit/utils/cpu/mce/"
"mcelog.git/snapshot/v" version ".tar.gz"))
(sha256
(base32
- "08hd8bl9rgss990icb69srarrfwcg8k7py979ak753j92ybbkhdm"))
+ "1cgfdlz51hv2zbph00ylzm8z94gv8wakx7dva1pa4jcl3hnq0dh5"))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet
(define-public radeontop
(package
(name "radeontop")
- (version "0.9")
+ (version "1.0")
(home-page "https://github.com/clbr/radeontop/")
(source (origin
(method url-fetch)
- (uri (string-append home-page "/archive/v" version ".tar.gz"))
+ (uri (string-append home-page "archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "07fnimn6wwablmdjw0av11hk9a6xilbryh09izq4b2ic4b8md2p7"))))
+ "1z38nibirqxrbsfyhfcrnzlcw16cqjp4ds6qnjfxalwayf9fm5x9"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(inputs
`(("libdrm" ,libdrm)
("libpciaccess" ,libpciaccess)
+ ("libxcb" ,libxcb)
("ncurses" ,ncurses)))
(synopsis "Usage monitor for AMD Radeon graphics")
(description "RadeonTop monitors resource consumption on supported AMD
(arguments
`(#:phases
(modify-phases %standard-phases
- (delete 'configure)
+ (delete 'configure) ; no configure script
(add-before 'build 'setenv
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "TLP_SHCPL"
(string-append out "/share/bash-completion/completions"))
(setenv "TLP_MAN" (string-append out "/share/man")))))
- (delete 'check)
+ (delete 'check) ; no tests
+ (add-before 'install 'fix-installation
+ (lambda _
+ ;; Stop the Makefile from trying to create system directories.
+ (substitute* "Makefile" (("\\[ -f \\$\\(_CONF\\) \\]") "#"))))
(replace 'install
(lambda _
- (system "make install-tlp install-man")))
+ (zero? (system* "make" "install-tlp" "install-man"))))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin"))
machines (PowerMac G4 is known to work).")
(home-page "https://www.ezix.org/project/wiki/HardwareLiSter")
(license license:gpl2+)))
+
+(define-public libmnl
+ (package
+ (name "libmnl")
+ (version "1.0.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://netfilter.org/libmnl/"
+ "libmnl-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "108zampspaalv44zn0ar9h386dlfixpd149bnxa5hsi8kxlqj7qp"))))
+ (build-system gnu-build-system)
+ (home-page "https://www.netfilter.org/projects/libmnl/")
+ (synopsis "Netlink utility library")
+ (description "Libmnl is a minimalistic user-space library oriented to
+Netlink developers. There are a lot of common tasks in parsing, validating,
+constructing of both the Netlink header and TLVs that are repetitive and easy to
+get wrong. This library aims to provide simple helpers that allows you to
+re-use code and to avoid re-inventing the wheel.")
+ (license license:lgpl2.1+)))
+
+(define-public libnftnl
+ (package
+ (name "libnftnl")
+ (version "1.0.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://netfilter.org/libnftnl/"
+ "libnftnl-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "10irjrylcfkbp11617yr19vpfhgl54w0kw02jhj0i1abqv5nxdlv"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libmnl" ,libmnl)))
+ (home-page "https://www.netfilter.org/projects/libnftnl/index.html")
+ (synopsis "Netlink programming interface to the Linux nf_tables subsystem")
+ (description "Libnftnl is a userspace library providing a low-level netlink
+programming interface to the in-kernel nf_tables subsystem. The library
+libnftnl has been previously known as libnftables. This library is currently
+used by nftables.")
+ (license license:gpl2+)))
+
+(define-public proot
+ (package
+ (name "proot")
+ (version "5.1.0")
+ (home-page "https://github.com/proot-me/PRoot")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append home-page "/archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "11h30i83vdhc3khlj6hrh3a21sbmmz8nhfv09vkf6b9bcs1biz2h"))
+ (patches (search-patches "proot-test-fhs.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:make-flags '("-C" "src")
+
+ #:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'set-shell-file-name
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* (find-files "src" "\\.[ch]$")
+ (("\"/bin/sh\"")
+ (string-append "\""
+ (assoc-ref inputs "bash")
+ "/bin/sh\"")))
+ #t))
+ (add-before 'check 'fix-fhs-assumptions-in-tests
+ (lambda _
+ (substitute* "tests/test-c6b77b77.mk"
+ (("/bin/bash") (which "bash"))
+ (("/usr/bin/test") (which "test")))
+ (substitute* '("tests/test-16573e73.c")
+ (("/bin/([a-z-]+)" _ program)
+ (which program)))
+
+ (substitute* (find-files "tests" "\\.sh$")
+ ;; Some of the tests try to "bind-mount" /bin/true.
+ (("-b /bin/true:")
+ (string-append "-b " (which "true") ":"))
+ ;; Likewise for /bin.
+ (("-b /bin:") "-b /gnu:")
+ ;; Others try to run /bin/sh.
+ (("/bin/sh") (which "sh"))
+ ;; Others assume /etc/fstab exists.
+ (("/etc/fstab") "/etc/passwd"))
+
+ (substitute* "tests/GNUmakefile"
+ (("-b /bin:") "-b /gnu:"))
+
+ ;; XXX: This test fails in an obscure corner case, just
+ ;; skip it.
+ (delete-file "tests/test-kkkkkkkk.c")
+
+ #t))
+ (replace 'check
+ (lambda _
+ (let ((n (parallel-job-count)))
+ ;; For some reason we get lots of segfaults with
+ ;; seccomp support (x86_64, Linux-libre 4.11.0).
+ (setenv "PROOT_NO_SECCOMP" "1")
+
+ ;; Most of the tests expect "/bin" to be in $PATH so
+ ;; they can run things that live in $ROOTFS/bin.
+ (setenv "PATH"
+ (string-append (getenv "PATH") ":/bin"))
+
+ (zero? (system* "make" "check" "-C" "tests"
+ ;;"V=1"
+ "-j" (number->string n))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; The 'install' rule does nearly nothing.
+ (let ((out (assoc-ref outputs "out")))
+ (and (zero?
+ ;; TODO: 'make install-care' (does not even
+ ;; build currently.)
+ (system* "make" "-C" "src" "install"
+ (string-append "PREFIX=" out)))
+ (begin
+ (install-file "doc/proot/man.1"
+ (string-append out "/share"
+ "/man/man1"))
+ #t))))))))
+ (native-inputs `(("which" ,which)
+
+ ;; For 'mcookie', used by some of the tests.
+ ("util-linux" ,util-linux)))
+ (inputs `(("talloc" ,talloc)))
+ (synopsis "Unprivileged chroot, bind mount, and binfmt_misc")
+ (description
+ "PRoot is a user-space implementation of @code{chroot}, @code{mount --bind},
+and @code{binfmt_misc}. This means that users don't need any privileges or
+setup to do things like using an arbitrary directory as the new root
+filesystem, making files accessible somewhere else in the file system
+hierarchy, or executing programs built for another CPU architecture
+transparently through QEMU user-mode. Also, developers can use PRoot as a
+generic process instrumentation engine thanks to its extension mechanism.
+Technically PRoot relies on @code{ptrace}, an unprivileged system-call
+available in the kernel Linux.")
+ (license license:gpl2+)))
+
+(define-public proot-static
+ (package
+ (inherit proot)
+ (name "proot-static")
+ (synopsis
+ "Unprivileged chroot, bind mount, and binfmt_misc (statically linked)")
+ (inputs `(("talloc" ,talloc/static)))
+ (arguments
+ (substitute-keyword-arguments (package-arguments proot)
+ ((#:make-flags flags)
+ `(cons "LDFLAGS = -ltalloc -static -static-libgcc" ,flags))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (add-after 'strip 'remove-store-references
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (with-directory-excursion out
+ (remove-store-references "bin/proot")
+ #t))))))
+ ((#:allowed-references _ '("out"))
+ '("out"))))))