;;; 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 © 2014, 2015, 2016, 2017, 2018, 2019 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, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2016, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Manuel Graf <graf@init.at>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages compression)
- #:use-module (gnu packages databases)
+ #:use-module (gnu packages dbm)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
(define-public linux-libre-headers
(package
(name "linux-libre-headers")
- (version "4.14.26")
+ (version "4.14.67")
(source (origin
(method url-fetch)
(uri (linux-libre-urls version))
(sha256
(base32
- "1m2zr17wpasg5riysbaa4g5i492jzr93py2jm088ki818s4a9cm3"))))
+ "050zvdxjy6sc64q75pr1gxsmh49chwav2pwxz8xlif39bvahnrpg"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(arguments
(base32
"1hk9swxxc80bmn2zd2qr5ccrjrk28xkypwhl4z0qx4hbivj7qm06"))))
+(define %linux-libre-arm-export-__sync_icache_dcache-patch
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://salsa.debian.org/kernel-team/linux"
+ "/raw/34a7d9011fcfcfa38b68282fd2b1a8797e6834f0"
+ "/debian/patches/bugfix/arm/"
+ "arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch"))
+ (file-name "linux-libre-4.19-arm-export-__sync_icache_dcache.patch")
+ (sha256
+ (base32 "1ifnfhpakzffn4b8n7x7w5cps9mzjxlkcfz9zqak2vaw8nzvl39f"))))
+
(define* (kernel-config arch #:key variant)
"Return the absolute file name of the Linux-Libre build configuration file
for ARCH and optionally VARIANT, or #f if there is no such configuration."
("elfutils" ,elfutils) ; Needed to enable CONFIG_STACK_VALIDATION
("flex" ,flex)
("bison" ,bison)
- ;; On x86, build with GCC-7 for full retpoline support.
+
+ ;; Build with GCC-7 for full retpoline support.
;; FIXME: Remove this when our default compiler has retpoline support.
- ,@(match (system->linux-architecture
- (or (%current-target-system) (%current-system)))
- ((or "x86_64" "i386")
- `(("gcc" ,gcc-7)))
- ("arm64"
- ;; Work around a binutils 2.30 bug where some kernel symbols would
- ;; be incorrectly marked as relocatable:
- ;; <https://sourceware.org/bugzilla/show_bug.cgi?id=22764>.
- `(("ld-wrapper" ,(make-ld-wrapper "ld-wrapper"
- #:binutils binutils/fixed))))
- (_
- '()))
+ ("gcc" ,gcc-7)
+
+ ;; These are needed to compile the GCC plugins.
+ ("gmp" ,gmp)
+ ("mpfr" ,mpfr)
+ ("mpc" ,mpc)
+
,@(match (and configuration-file
(configuration-file
(system->linux-architecture
(substitute* (find-files "." "^Makefile(\\.include)?$")
(("/bin/pwd") "pwd"))
#t))
+ (add-before 'configure 'work-around-gcc-7-include-path-issue
+ (lambda _
+ (unsetenv "C_INCLUDE_PATH")
+ (unsetenv "CPLUS_INCLUDE_PATH")
+ #t))
(replace 'configure
(lambda* (#:key inputs native-inputs target #:allow-other-keys)
;; Avoid introducing timestamps
It has been modified to remove all non-free binary blobs.")
(license license:gpl2)))
-(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
-(define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
-
-;; linux-libre configuration for armhf-linux is derived from Debian armmp. It
-;; supports qemu "virt" machine and possibly a large number of ARM boards.
-;; See : https://wiki.debian.org/DebianKernel/ARMMP.
-
-(define %linux-libre-version "4.19.4")
-(define %linux-libre-hash "0m5k14a89bf5avr3kdh3909qjfnd051fbsb0v7a52d54dkg2nbp6")
+(define %linux-libre-version "4.20.5")
+(define %linux-libre-hash "1fis4izy97d35wb5626av235agn22ww8dfmmcdlbiay37ihwwm98")
-(define %linux-libre-4.19-patches
+(define %linux-libre-4.20-patches
(list %boot-logo-patch
- (origin
- (method url-fetch)
- (uri (string-append
- "https://salsa.debian.org/kernel-team/linux"
- "/raw/34a7d9011fcfcfa38b68282fd2b1a8797e6834f0"
- "/debian/patches/bugfix/arm/"
- "arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch"))
- (file-name "linux-libre-4.18-arm-export-__sync_icache_dcache.patch")
- (sha256
- (base32 "1ifnfhpakzffn4b8n7x7w5cps9mzjxlkcfz9zqak2vaw8nzvl39f")))))
+ %linux-libre-arm-export-__sync_icache_dcache-patch))
(define-public linux-libre
(make-linux-libre %linux-libre-version
%linux-libre-hash
- %linux-compatible-systems
+ '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
+ #:patches %linux-libre-4.20-patches
+ #:configuration-file kernel-config))
+
+(define %linux-libre-4.19-version "4.19.18")
+(define %linux-libre-4.19-hash "1m3qbd09zd7llq0fjsccyjr070n6szl5dj10qrlpd54bnvry22fc")
+
+(define %linux-libre-4.19-patches
+ (list %boot-logo-patch
+ %linux-libre-arm-export-__sync_icache_dcache-patch))
+
+(define-public linux-libre-4.19
+ (make-linux-libre %linux-libre-4.19-version
+ %linux-libre-4.19-hash
+ '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
#:patches %linux-libre-4.19-patches
#:configuration-file kernel-config))
-(define %linux-libre-4.14-version "4.14.84")
-(define %linux-libre-4.14-hash "0mdf436bxlrsv0jbnzwd5bblpavv9vk5qx7h2x55jp0iy9pvp3n2")
+(define %linux-libre-4.14-version "4.14.96")
+(define %linux-libre-4.14-hash "03g28n9n4ci8y2qs59vili7dkqag7fmhr9q6ah8l66qn37d375k9")
(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.141"
- "1cjyni2wf1m9l8nvfl4gcswxlk9rwhpr0q3lvhnlg20761kvixp4"
- %intel-compatible-systems
+ (make-linux-libre "4.9.153"
+ "1ks910wk4nggp7ygai2pnr5b61ix2j3gxk95rv9wkd5za15sgbqa"
+ '("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.165"
- "1adpj8hbly5z3j7mlnydnm2kx2isi3194n1hszzwxki8gj0xnqk4"
- %intel-compatible-systems
+ (make-linux-libre "4.4.172"
+ "000bz3jfg0li3rwlf2c80df6682lhi59hj1kwm4hw7whgg69xi7b"
+ '("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
(define-public linux-libre-arm-generic
(make-linux-libre %linux-libre-version
%linux-libre-hash
'("armhf-linux")
+ #:patches %linux-libre-4.20-patches
+ #:defconfig "multi_v7_defconfig"
+ #:extra-version "arm-generic"))
+
+(define-public linux-libre-arm-generic-4.19
+ (make-linux-libre %linux-libre-4.19-version
+ %linux-libre-4.19-hash
+ '("armhf-linux")
#:patches %linux-libre-4.19-patches
#:defconfig "multi_v7_defconfig"
#:extra-version "arm-generic"))
(make-linux-libre %linux-libre-version
%linux-libre-hash
'("armhf-linux")
+ #:patches %linux-libre-4.20-patches
+ #:defconfig "omap2plus_defconfig"
+ #:extra-version "arm-omap2plus"))
+
+(define-public linux-libre-arm-omap2plus-4.19
+ (make-linux-libre %linux-libre-4.19-version
+ %linux-libre-4.19-hash
+ '("armhf-linux")
#:patches %linux-libre-4.19-patches
#:defconfig "omap2plus_defconfig"
#:extra-version "arm-omap2plus"))
(define-public linux-pam
(package
(name "linux-pam")
- (version "1.3.0")
+ (version "1.3.1")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "http://www.linux-pam.org/library/"
- "Linux-PAM-" version ".tar.bz2"))
- (sha256
- (base32
- "1fyi04d5nsh8ivd0rn2y0z83ylgc0licz7kifbb6xxi2ylgfs6i4"))
- (patches (search-patches "linux-pam-no-setfsuid.patch"))))
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/linux-pam/linux-pam/releases/download/v"
+ version "/Linux-PAM-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1nyh9kdi3knhxcbv5v4snya0g3gff0m671lnvqcbygw3rm77mx7g"))
+ (patches (search-patches "linux-pam-no-setfsuid.patch"))))
(build-system gnu-build-system)
(native-inputs
(define-public util-linux
(package
(name "util-linux")
- (version "2.32")
+ (version "2.32.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
name "-" version ".tar.xz"))
(sha256
(base32
- "0d2758kjll5xqm5fpp3sww1h66aahx161sf2b60jxqv4qymrfwvc"))
+ "1ck7d8srw5szpjq7v0gpmjahnjs6wgqzm311ki4gazww6xx71rl6"))
(patches (search-patches "util-linux-tests.patch"))
(modules '((guix build utils)))
(snippet
(rename-file file
(string-append static "/"
file)))
- (find-files "lib" "\\.a$")))
+ (find-files "lib" "\\.a$"))
+
+ ;; Remove references to the static library from the '.la'
+ ;; files so that Libtool does the right thing when both
+ ;; the shared and static library is available.
+ (substitute* (find-files "lib" "\\.la$")
+ (("old_library=.*") "old_library=''\n")))
+
#t))))))
(inputs `(("zlib" ,zlib)
("ncurses" ,ncurses)
(define-public e2fsprogs
(package
(name "e2fsprogs")
- (version "1.44.3")
+ (version "1.44.5")
(source (origin
(method url-fetch)
(uri (string-append
name "-" version ".tar.xz"))
(sha256
(base32
- "1djb9qnid1j0vvna2bhq4jsz2ig1xckbx7h4d86cr0gl61yrz2ax"))))
+ "1ff56h6h1h17sj2zvlddv5c88nmbx46p1fcbh6b0s5k9kl3b6pms"))))
(build-system gnu-build-system)
(inputs `(("util-linux" ,util-linux)))
(native-inputs `(("pkg-config" ,pkg-config)
(define-public strace
(package
(name "strace")
- (version "4.25")
+ (version "4.26")
(home-page "https://strace.io")
(source (origin
(method url-fetch)
"/strace-" version ".tar.xz"))
(sha256
(base32
- "00f7zagfh3np5gwi0z7hi7zjd7s5nixcaq7z78n87dvhakkgi1fn"))))
+ "070yz8xii8gnb4psiz628zwm5srh266sfb06f7f1qzagxzz2ykbw"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(description
"strace is a system call tracer, i.e. a debugging tool which prints out a
trace of all the system calls made by a another process/program.")
- (license license:bsd-3)))
+ (license license:lgpl2.1+)))
(define-public ltrace
(package
(define-public alsa-lib
(package
(name "alsa-lib")
- (version "1.1.6")
+ (version "1.1.7")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.bz2"))
(sha256
(base32
- "096pwrnhj36yndldvs2pj4r871zhcgisks0is78f1jkjn9sd4b2z"))))
+ "02fw7dw202mjid49w9ki3dsfcyvid5fj488561bdzcm3haw00q4x"))))
(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.6")
+ (version "1.1.7")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/utils/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "0vnkyymgwj9rfdb11nvab30dnfrylmakdfildxl0y8mj836awp0m"))))
+ "02jlw6a22j2rr7inggfgk2hzx3w0fjhvhs0dn1afpzdp9aspzchx"))))
(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.6")
+ (version "1.1.7")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/plugins/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "04qcwkisbh0d6lnh0rw1k6n869fbs6zbfq6yvb41rymiwgmk27bg"))))
+ "0iys4zl1davzyg3mn9lvil1n3k1ifrg3v1caj3k4dqyrnrd40jx7"))))
(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.
;; obsolete.
(outputs '("out" "pulseaudio" "jack"))
(arguments
- `(#:phases
+ `(#:configure-flags '(;; Do not install a "local" configuration targeted
+ ;; for /etc/alsa. On GuixSD plugins are loaded from
+ ;; the ALSA service, and other distributions likely
+ ;; won't use these files.
+ "--with-alsalconfdir=/tmp/noop")
+ #:phases
(modify-phases %standard-phases
(add-after 'install 'split
(lambda* (#:key inputs outputs #:allow-other-keys)
(jack (assoc-ref outputs "jack"))
(jacklib (string-append jack "/lib/alsa-lib"))
(pua (assoc-ref outputs "pulseaudio"))
- (pualib (string-append pua "/lib/alsa-lib"))
- (puaconf (string-append pua "/share/alsa/alsa.conf.d")))
+ (pualib (string-append pua "/lib/alsa-lib")))
;; For jack.
(mkdir-p jacklib)
(for-each (lambda (file)
(rename-file file (string-append jacklib "/" (basename file))))
(find-files out ".*jack\\.(la|so)"))
- ;; For pluseaudio.
- (mkdir-p puaconf)
+ ;; For pulseaudio.
(mkdir-p pualib)
- (chdir (string-append out "/share"))
- (for-each (lambda (file)
- (rename-file file (string-append puaconf "/" (basename file))))
- (find-files out "\\.(conf|example)"))
(for-each (lambda (file)
(rename-file file (string-append pualib "/" (basename file))))
(find-files out ".*pulse\\.(la|so)"))
- (chdir "..")
- ;; We have moved the files to output pulsaudio, the
- ;; directory is now empty.
- (delete-file-recursively (string-append out "/share"))
#t))))))
(inputs
`(("alsa-lib" ,alsa-lib)
(lambda _
;; Don't attempt to create /var/lib/arpd.
(substitute* "Makefile"
- (("^.*ARPDDIR.*$") "")))))))
+ (("^.*ARPDDIR.*$") ""))
+ #t)))))
(inputs
`(("iptables" ,iptables)
("db4" ,bdb)))
(add-after 'install 'install-python
(lambda* (#:key outputs #:allow-other-keys)
(define (python-inst python)
- (let ((ldflags (format #f "LDFLAGS=-Wl,-rpath=~a/lib"
- (assoc-ref %outputs "out")))
- (pyout (assoc-ref %outputs python)))
- (and
- (zero? (system (format #f "~a ~a setup.py build"
- ldflags python pyout)))
- (zero?
- (system (format #f "~a ~a setup.py install --prefix=~a"
- ldflags python pyout)))
- (zero? (system* python "setup.py" "clean")))))
+ (invoke python "setup.py" "build")
+ (invoke python "setup.py" "install"
+ (string-append "--prefix="
+ (assoc-ref %outputs python)))
+ (invoke python "setup.py" "clean"))
+ (setenv "LDFLAGS" (format #f "-Wl,-rpath=~a/lib"
+ (assoc-ref %outputs "out")))
(with-directory-excursion "./python"
- (every python-inst '("python2" "python3")))))
+ (for-each python-inst '("python2" "python3")))
+ #t))
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((dest (string-append (assoc-ref outputs "doc")
"/share/doc/libnl")))
(mkdir-p dest)
- (zero? (system* "tar" "xf" (assoc-ref inputs "libnl3-doc")
- "--strip-components=1" "-C" dest))))))))
+ (invoke "tar" "xf" (assoc-ref inputs "libnl3-doc")
+ "--strip-components=1" "-C" dest)))))))
(home-page "https://www.infradead.org/~tgr/libnl/")
(synopsis "NetLink protocol library suite")
(description
#t))))))
(inputs `(("fuse" ,fuse-static)))))
-(define-public sshfs-fuse
+(define-public sshfs
(package
- (name "sshfs-fuse")
+ (name "sshfs")
(version "2.10")
(source (origin
(method url-fetch)
file system is as easy as logging into the server with an SSH client.")
(license license:gpl2+)))
+(define-public sshfs-fuse
+ (package (inherit sshfs)
+ (name "sshfs-fuse")
+ (properties `((superseded . ,sshfs)))))
+
(define-public archivemount
(package
(name "archivemount")
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
- (version "3.2.5")
+ (version "3.2.7")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/gentoo/eudev/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference (url "https://github.com/gentoo/eudev")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0dlkcgy7j4fdcksqrpc373zfybiif1bal3n6lpy1kfc5280j02c7"))
+ "1la7x7v7yqb84wnc7w0kj53sa0an0m9xp6wn01ypi8drh02wjjy2"))
(patches (search-patches "eudev-rules-directory.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'make-source-writable
+ (lambda _
+ ;; XXX: Git checkouts are read-only, but this package needs to
+ ;; modify some of its files.
+ (for-each make-file-writable (find-files "."))
+ #t))
(add-before 'bootstrap 'patch-file-names
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "man/make.sh"
(package
(name "perf")
(version (package-version linux-libre))
- (source (origin
- (inherit (package-source linux-libre))
- (patches (search-patches "perf-gcc-ice.patch"))))
+ (source (package-source linux-libre))
(build-system gnu-build-system)
(arguments
'(#:phases
(define-public singularity
(package
(name "singularity")
- (version "2.5.1")
+ (version "2.6.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/singularityware/singularity/"
"/singularity-" version ".tar.gz"))
(sha256
(base32
- "0f28dgf2qcy8ljjfix7p9q36q12j7rxyicfzzi4n0fl8zr8ab88g"))))
+ "1whx0hqqi1326scgdxxxa1d94vn95mnq0drid6s8wdp84ni4d3gk"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
("libuuid:static" ,util-linux "static")
("lzo" ,lzo)
("zlib" ,zlib)
+ ("zlib:static" ,zlib "static")
("zstd" ,zstd)))
(native-inputs `(("pkg-config" ,pkg-config)
("asciidoc" ,asciidoc)
(let* ((out (assoc-ref outputs "out"))
(sbin (string-append out "/sbin")))
(symlink "mount.ntfs-3g"
- (string-append sbin "/mount.ntfs"))))))))
+ (string-append sbin "/mount.ntfs")))
+ #t)))))
(home-page "https://www.tuxera.com/community/open-source-ntfs-3g/")
(synopsis "Read-write access to NTFS file systems")
(description
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'enter-subdirectory
(lambda _
- (chdir "tools/power/cpupower")))
+ (chdir "tools/power/cpupower")
+ #t))
(delete 'configure)
(add-before 'build 'fix-makefiles
(lambda _
(("/usr/") "/")
(("/bin/(install|pwd)" _ command) command))
(substitute* "bench/Makefile"
- (("\\$\\(CC\\) -o") "$(CC) $(LDFLAGS) -o")))))
+ (("\\$\\(CC\\) -o") "$(CC) $(LDFLAGS) -o"))
+ #t)))
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "DESTDIR=" out)
(string-append "LDFLAGS=-Wl,-rpath=" out "/lib")
;; getver.sh uses ‘git --describe’, isn't worth an extra git
;; dependency, and doesn't even work on release(!) tarballs.
(add-after 'unpack 'report-correct-version
- (lambda _ (substitute* "getver.sh"
- (("ver=unknown")
- (string-append "ver=" ,version)))))
+ (lambda _
+ (substitute* "getver.sh"
+ (("ver=unknown")
+ (string-append "ver=" ,version)))
+ #t))
(delete 'configure)) ; no configure script
#:make-flags (list "CC=gcc"
(string-append "PREFIX=" %output))
(define-public efivar
(package
(name "efivar")
- (version "35")
+ (version "37")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rhboot/" name
"-" version ".tar.bz2"))
(sha256
(base32
- "153k2ifyl4giz5fkryxhz8z621diqjy7v25hfga4z94rs32ks0qy"))))
+ "17vvfivhsrszh7q39b6npjsrhrhsjf1cmmcpp3xrh6wh7ywzwrrw"))))
(build-system gnu-build-system)
(arguments
`(;; Tests require a UEFI system and is not detected in the chroot.
#t))
(replace 'install
(lambda _
- (invoke "make" "install-tlp" "install-man")
- #t))
+ (invoke "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"))
nfnetlink_queue, nfnetlink_conntrack) and their respective users and/or
management tools in userspace.")
(license license:gpl2)))
+
+(define-public xfsprogs
+ (package
+ (name "xfsprogs")
+ (version "4.19.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://kernel.org/linux/utils/fs/xfs/xfsprogs/"
+ "xfsprogs-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0gs39yiyamjw516jbak3nj4dy4h2a2g48c1mmv4wbppsccvwmwh5"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f)) ; Kernel/user integration tests are in package "xfstests"
+ (native-inputs
+ `(("gettext" ,gettext-minimal)
+ ("util-linux" ,util-linux)))
+ (home-page "https://xfs.wiki.kernel.org/")
+ (synopsis "XFS file system tools")
+ (description "This package provides commands to create and check XFS
+file systems.")
+ ;; The library "libhandle" and the headers in "xfslibs-dev" are
+ ;; licensed under lgpl2.1. the other stuff is licensed under gpl2.
+ (license (list license:gpl2 license:lgpl2.1))))
+
+(define-public genext2fs
+ (package
+ (name "genext2fs")
+ (version "1.4.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jeremie-koenig/genext2fs.git")
+ (commit (string-append "genext2fs-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1r0n74pyypv63qfqqpvx75dwijcsvcrvqrlv8sldbhv0nwr1gk53"))))
+ (build-system gnu-build-system)
+ (home-page "https://github.com/jeremie-koenig/genext2fs")
+ (synopsis "Generate ext2 filesystem as a normal user")
+ (description "This package provides a program to general an ext2
+filesystem as a normal (non-root) user. It does not require you to mount
+the image file to copy files on it, nor does it require that you become
+the superuser to make device nodes.")
+ (license license:gpl2)))
+
+(define-public fakeroot
+ (package
+ (name "fakeroot")
+ (version "1.23")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://ftp.debian.org/debian/pool/main/f/"
+ "fakeroot/fakeroot_" version ".orig.tar.xz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xpl0s2yjyjwlf832b6kbkaa5921liybaar13k7n45ckd9lxd700"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'patch-Makefile
+ (lambda _
+ ;; Note: The root of the problem is already in "Makefile.am".
+ (substitute* "Makefile"
+ (("/bin/sh") (which "sh")))
+ #t))
+ (add-after 'unpack 'patch-getopt
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "scripts/fakeroot.in"
+ (("getopt")
+ (string-append (assoc-ref inputs "util-linux")
+ "/bin/getopt")))
+ #t))
+ (add-before 'check 'prepare-check
+ (lambda _
+ (setenv "SHELL" (which "bash"))
+ (setenv "VERBOSE" "1")
+ (substitute* "test/t.touchinstall"
+ ;; We don't have the name of the root user, so use ID=0.
+ (("grep root") "grep \"\\<0\\>\""))
+ (substitute* "test/tartest"
+ ;; We don't have the name of the root group, so use ID=0.
+ (("ROOTGROUP=root") "ROOTGROUP=0")
+ ;; We don't have the name of the daemon user, so use IDs.
+ (("daemon:sys") "1:3")
+ (("daemon:") "1:"))
+ ;; We don't have an /etc/passwd entry for "root" - use numeric IDs.
+ (substitute* "test/compare-tar"
+ (("tar -tvf") "tar --numeric-owner -tvf"))
+ #t)))))
+ (native-inputs
+ `(("sharutils" ,sharutils) ; for the tests
+ ("xz" ,xz))) ; for the tests
+ (inputs
+ `(("libcap" ,libcap)
+ ("util-linux" ,util-linux)))
+ (synopsis "Provides a fake root environment")
+ (description "@command{fakeroot} runs a command in an environment where
+it appears to have root privileges for file manipulation. This is useful
+for allowing users to create archives (tar, ar, .deb etc.) with files in
+them with root permissions/ownership. Without fakeroot one would have to
+have root privileges to create the constituent files of the archives with
+the correct permissions and ownership, and then pack them up, or one would
+have to construct the archives directly, without using the archiver.")
+ (home-page "http://freshmeat.sourceforge.net/projects/fakeroot")
+ (license license:gpl3+)))