;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 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 © 2015, 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2017 nee <nee-git@hidamari.blue>
;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
-;;; Copyright © 2018 Brendan Tildesley <mail@brendan.scot>
+;;; Copyright © 2018, 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2018 Manuel Graf <graf@init.at>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
"deblob-check"))
(sha256 deblob-check-hash))))
+(define deblob-scripts-5.6
+ (linux-libre-deblob-scripts
+ "5.6.7"
+ (base32 "196fdbfy1f8zbmnv0ik720snig2bacsh7hfyvgbmlsfk3cil2zgv")
+ (base32 "1g0bi3c8xzy1vz6w1xbpkb3a26bqn9d1yphcqz2ki4aikra81wid")))
+
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
- "5.4.28"
+ "5.4.37"
(base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25")
- (base32 "08ls4gx5vanyiq9rn0869nfq4piw4lx1dl8hh9w9xgkr4ypc1j4k")))
+ (base32 "10qb890is4z58vr8czh3xx69q62l3b3j38y410kgiw8nii3zx5lr")))
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
"linux-" version ".tar.xz"))
(sha256 hash)))
-(define-public linux-libre-5.4-version "5.4.28")
+
+(define-public linux-libre-5.6-version "5.6.11")
+(define-public linux-libre-5.6-pristine-source
+ (let ((version linux-libre-5.6-version)
+ (hash (base32 "1ahv4a3mnszqs3qcnwmhbvjgis1jg37anj5jvn70i7s2k6z6rpfn")))
+ (make-linux-libre-source version
+ (%upstream-linux-source version hash)
+ deblob-scripts-5.6)))
+
+(define-public linux-libre-5.4-version "5.4.39")
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "197p7rjmbs229ncj1y8s80f7n4bm8g9w0jrv1109m3rl8q9wqqy8")))
+ (hash (base32 "1j35yf1nilb9z7lw8w2drpww7q2zy8zfr0ip8hwcbcd7c5d9chai")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.113")
+(define-public linux-libre-4.19-version "4.19.121")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "1rf0jz7r1f4rb4k0g3glssfa1hm2ka6vlbwjlkmsx1bybxnmg85m")))
+ (hash (base32 "11bhjdaihhc42xhf4qxdkkjznc0i6igh0ahjbzr3fb8bmq9sirgv")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.174")
+(define-public linux-libre-4.14-version "4.14.179")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "12ai2lc2ny38s93d0m5ngrv030vwv1h2hhzp0fs6fhjxasikq8jc")))
+ (hash (base32 "10arrj3ppbxkn15yxqpxlz4k8yp2afzbfpp2nwfy6klhjiffp9sx")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.217")
+(define-public linux-libre-4.9-version "4.9.222")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "06b8av9f9pk2yp95nzv4322k0d5wsg40sxd9kfim1xzb093abckg")))
+ (hash (base32 "0aajgflf96bj7chbd83rdmgcdwd025c6mz6li4cwbfx7xcb91kjc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.217")
+(define-public linux-libre-4.4-version "4.4.222")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "0vsjchywznmjn01flgvm9vsja5zqni319rfwgy997afcbz0c9spx")))
+ (hash (base32 "02zxy5vjxgrqs0mkz5aj70v6pazhif7x5cm26rf8zh4idpmhk2zh")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
(patches (append (origin-patches source)
patches))))
+(define-public linux-libre-5.6-source
+ (source-with-patches linux-libre-5.6-pristine-source
+ (list %boot-logo-patch
+ %linux-libre-arm-export-__sync_icache_dcache-patch
+ ;; Pinebook Pro patch from linux-next,
+ ;; can be dropped for linux-libre 5.7
+ (search-patch
+ "linux-libre-support-for-Pinebook-Pro.patch"))))
+
(define-public linux-libre-5.4-source
(source-with-patches linux-libre-5.4-pristine-source
(list %boot-logo-patch
(description "Headers of the Linux-Libre kernel.")
(license license:gpl2)))
+(define-public linux-libre-headers-5.6
+ (make-linux-libre-headers* linux-libre-5.6-version
+ linux-libre-5.6-source))
+
(define-public linux-libre-headers-5.4
(make-linux-libre-headers* linux-libre-5.4-version
linux-libre-5.4-source))
linux-libre-source
'("armhf-linux")
#:defconfig "multi_v7_defconfig"
- #:extra-version "arm-generic"))
+ #:extra-version "arm-generic"
+ #:extra-options
+ (append
+ `(;; needed to fix the RTC on rockchip platforms
+ ("CONFIG_RTC_DRV_RK808" . #t))
+ %default-extra-linux-options)))
+
+(define-public linux-libre-arm-generic-5.6
+ (make-linux-libre* linux-libre-5.6-version
+ linux-libre-5.6-source
+ '("armhf-linux")
+ #:defconfig "multi_v7_defconfig"
+ #:extra-version "arm-generic"
+ #:extra-options
+ (append
+ `(;; needed to fix the RTC on rockchip platforms
+ ("CONFIG_RTC_DRV_RK808" . #t))
+ %default-extra-linux-options)))
(define-public linux-libre-arm-veyron
(deprecated-package "linux-libre-arm-veyron" linux-libre-arm-generic))
linux-libre-source
'("aarch64-linux")
#:defconfig "defconfig"
- #:extra-version "arm64-generic"))
+ #:extra-version "arm64-generic"
+ #:extra-options
+ (append
+ `(;; needed to fix the RTC on rockchip platforms
+ ("CONFIG_RTC_DRV_RK808" . #t))
+ %default-extra-linux-options)))
+
+(define-public linux-libre-arm64-generic-5.6
+ (make-linux-libre* linux-libre-5.6-version
+ linux-libre-5.6-source
+ '("aarch64-linux")
+ #:defconfig "defconfig"
+ #:extra-version "arm64-generic"
+ #:extra-options
+ (append
+ `(;; needed to fix the RTC on rockchip platforms
+ ("CONFIG_RTC_DRV_RK808" . #t))
+ %default-extra-linux-options)))
(define-public linux-libre-riscv64-generic
(make-linux-libre* linux-libre-version
;;;
(define-public acpi-call-linux-module
- (package
- (name "acpi-call-linux-module")
- (version "3.17")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/teleshoes/acpi_call.git")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "04mbv4lasm3vv1j4ndxhnz4hvp5wg8f5fc9q6qxv0nhvwjynmsl3"))))
- (build-system linux-module-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-for-linux-4.12
- (lambda _
- (substitute* "acpi_call.c"
- (("asm/uaccess\\.h")
- "linux/uaccess.h"))
- #t))
- (add-after 'install 'install-documentation
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (doc (string-append out "/share/doc/" ,name "-" ,version)))
- (for-each (lambda (file)
- (let ((target (string-append doc "/" file)))
- (mkdir-p (dirname target))
- (copy-recursively file target)))
- (list "README.md" "examples"))
- #t))))))
- (home-page "https://github.com/teleshoes/acpi_call")
- (synopsis "Linux kernel module to perform ACPI method calls")
- (description
- "This simple Linux kernel module allows calls from user space to any
+ (let ((commit "70b9c80bd700e6a4d10797eaac9fd34b7e8cbd4a")
+ (revision "0"))
+ (package
+ (name "acpi-call-linux-module")
+ (version (git-version "3.17" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/teleshoes/acpi_call.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09c1vw6vcrkqxbwhpgfgpj4d1grzn4qq6ka8pwwzm7cvm405xj7x"))))
+ (build-system linux-module-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (doc (string-append out "/share/doc/" ,name "-" ,version)))
+ (for-each (lambda (file)
+ (let ((target (string-append doc "/" file)))
+ (mkdir-p (dirname target))
+ (copy-recursively file target)))
+ (list "README.md" "examples"))
+ #t))))))
+ (home-page "https://github.com/teleshoes/acpi_call")
+ (synopsis "Linux kernel module to perform ACPI method calls")
+ (description
+ "This simple Linux kernel module allows calls from user space to any
@acronym{ACPI, Advanced Configuration and Power Interface} method provided by
your computer's firmware, by writing to @file{/proc/acpi/call}. You can pass
-any number of parameters of types @code{ACPI_INTEGER}, @code{ACPI_STRING},
+any number of parameters of types @code{ACPI_INTEGER}, @code{ACPI_STRING},
and @code{ACPI_BUFFER}.
It grants direct and undocumented access to your hardware that may cause damage
and should be used with caution, especially on untested models.")
- (license license:gpl3+))) ; see README.md (no licence headers)
+ (license license:gpl3+)))) ; see README.md (no licence headers)
(define-public rtl8812au-aircrack-ng-linux-module
(let ((commit "945d6ed6505c32f0993b1dba576388e92e78101b")
RTL8812AU, RTL8821AU, and RTL8814AU chips.")
(license license:gpl2+))))
+(define-public rtl8821ce-linux-module
+ (let ((commit "69765eb288a8dfad3b055b906760b53e02ab1dea")
+ (revision "0"))
+ (package
+ (name "rtl8821ce-linux-module")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tomaspinho/rtl8821ce.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17jiw25k74kv5lnvgycvj2g1n06hbrpjz6p4znk4a62g136rhn4s"))))
+ (build-system linux-module-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'build
+ (lambda* (#:key (make-flags '()) inputs #:allow-other-keys)
+ (setenv "CC" "gcc")
+ (invoke "make"
+ (string-append "KSRC="
+ (assoc-ref inputs "linux-module-builder")
+ "/lib/modules/build")))))
+ #:tests? #f))
+ (home-page "https://github.com/tomaspinho/rtl8821ce")
+ (synopsis "Linux driver for Realtek RTL8821CE wireless network adapters")
+ (description "This is Realtek's RTL8821CE Linux driver for wireless
+network adapters.")
+ (license license:gpl2))))
+
(define-public vhba-module
(package
(name "vhba-module")
;;; Miscellaneous.
;;;
+(define-public powerstat
+ (package
+ (name "powerstat")
+ (version "0.02.22")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://kernel.ubuntu.com/~cking/tarballs/"
+ "powerstat/powerstat-" version ".tar.gz"))
+ (sha256
+ (base32 "0r355b9syqa2nhfy8ksvxyy5d58v0isf983842js091s6liy0x7g"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (let* ((target ,(%current-target-system)))
+ (list (string-append "CC=" (if target
+ (string-append target "-gcc")
+ "gcc"))
+ (string-append "prefix=" (assoc-ref %outputs "out"))))
+ #:tests? #f ; no test suite
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'respect-$prefix
+ ;; https://bugs.launchpad.net/ubuntu/+source/powerstat/+bug/1877744
+ (lambda _
+ (substitute* "Makefile"
+ (("DIR=/usr/") "DIR=$(prefix)/"))
+ #t))
+ (delete 'configure)))) ; no configure script
+ (home-page "https://kernel.ubuntu.com/~cking/powerstat/")
+ (synopsis "Measure system power consumption")
+ (description
+ "Powerstat measures and reports your computer's power consumption in real
+time. On mobile PCs, it uses ACPI battery information to measure the power
+drain of the entire system.
+
+Powerstat can also report @acronym{RAPL, Running Average Power Limit} power
+domain measurements. These are available only on some hardware such as Intel
+Sandybridge and newer, and cover only part of the machine's components such as
+CPU, DRAM, and graphics. However, they provide accurate and immediate readings
+and don't require a battery at all.
+
+The output is like @command{vmstat} but also shows power consumption statistics:
+at the end of a run, @command{powerstat} will calculate the average, standard
+deviation, and minimum and maximum values. It can show a nice histogram too.")
+ (license license:gpl2)))
+
(define-public psmisc
(package
(name "psmisc")
(substitute* "tests/ts/column/invalid-multibyte"
(("C\\.UTF-8") "en_US.utf8"))
#t)))
+ ;; TODO: Remove the conditional on the next rebuild cycle.
+ ,@(if (string-prefix? "arm" (%current-system))
+ '((add-before 'check 'disable-setarch-test
+ (lambda _
+ ;; The setarch tests are unreliable in QEMU's
+ ;; user-mode emulation, which is our primary
+ ;; method of building ARMv7 packages.
+ ;; <https://github.com/karelzak/util-linux/issues/601>
+ (substitute* "tests/ts/misc/setarch"
+ (("ts_init_subtest.*" all)
+ (string-append
+ all "\n"
+ "ts_skip \"setarch tests are unreliable under QEMU\"")))
+ #t)))
+ '())
(add-after 'install 'move-static-libraries
(lambda* (#:key outputs #:allow-other-keys)
(let ((lib (assoc-ref outputs "lib"))
(define-public e2fsprogs
(package
(name "e2fsprogs")
- (version "1.45.5")
+ (version "1.45.6")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kernel.org/linux/kernel/people/tytso/"
- name "/v" version "/"
- name "-" version ".tar.xz"))
+ "e2fsprogs/v" version "/"
+ "e2fsprogs-" version ".tar.xz"))
(sha256
(base32
- "1pmf8inp736l587rqq7qsd8bv0mmg5cwrivxg5p5awqgv70crypr"))))
+ "0mj2yizwygs7xww8jfy5mxjn8ww4pvc0b1hg1p2vsnirailsx9zz"))))
(build-system gnu-build-system)
(inputs `(("util-linux" ,util-linux "lib")))
(native-inputs `(("pkg-config" ,pkg-config)
;; License is BSD-3 or GPLv2, at the user's choice.
(license license:gpl2)))
+;; libcap 2.31 causes problems for 'fakeroot', so provide this newer variant.
+;; To be merged with libcap on the next rebuild cycle.
+(define-public libcap/next
+ (package
+ (inherit libcap)
+ (version "2.34")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://kernel.org/linux/libs/security/linux-privs/"
+ "libcap2/libcap-" version ".tar.xz"))
+ (sha256
+ (base32
+ "048n1gy2p48vl9hkrr9wymfxxcpwj2aslz2bv79nhl4m2lhd9kdf"))))))
+
(define-public bridge-utils
(package
(name "bridge-utils")
(define-public powertop
(package
(name "powertop")
- (version "2.11")
+ (version "2.12")
(source
(origin
(method url-fetch)
(uri (string-append "https://01.org/sites/default/files/downloads/"
- "powertop-v" version "-1-g7ef7f79.tar_0.gz"))
+ "powertop-" version ".tar.gz"))
(sha256
- (base32 "0kynypj5cydfbma0ssblq1k4m1arixc1s2vf0ybv8y2gg09wjs5f"))))
+ (base32 "1kiiwa5p2r7h1lzcf53xq61ckaa4wk565s9fs6vw4bfk84y3mfsw"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(name "unionfs-fuse")
(version "2.0")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/rpodgorny/unionfs-fuse/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rpodgorny/unionfs-fuse")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0hsn8l1iblvx27bpd4dvnvnbh9ri3sv2f9xzpsnfz3379kb7skgj"))))
+ "0lb8zgdxnjy2fjr2284hvdfn7inc1in44ynzgcr66x54bxzvynj6"))))
(build-system cmake-build-system)
(native-inputs
`(("python" ,python)))
time.")
(license license:gpl2+)))
-(define-public eudev-with-hwdb
- (deprecated-package "eudev-with-hwdb" eudev))
+(define-public python-evdev
+ (package
+ (name "python-evdev")
+ (version "1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "evdev" version))
+ (sha256
+ (base32 "0kb3636yaw9l8xi8s184w0r0n9ic5dw3b8hx048jf9fpzss4kimi"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("kernel-headers" ,linux-libre-headers)))
+ (arguments
+ `(#:tests? #f ;no rule for tests
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'fix-hard-coded-directory
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "setup.py"
+ (("/usr/include/linux")
+ (string-append
+ (assoc-ref inputs "kernel-headers") "/include/linux")))
+ #t)))))
+ (home-page "https://github.com/gvalkov/python-evdev")
+ (synopsis "Bindings to the Linux input handling subsystem")
+ (description
+ "Python-evdev provides bindings to the generic input event interface in
+Linux. The @code{evdev} interface serves the purpose of passing events
+generated in the kernel directly to userspace through character devices that
+are typically located in @file{/dev/input/}.
+
+This package also comes with bindings to @code{uinput}, the userspace input
+subsystem. @code{uinput} allows userspace programs to create and handle input
+devices that can inject events directly into the input subsystem.")
+ (license license:bsd-3)))
(define-public lvm2
(package
(string-append "DESTDIR="
(assoc-ref %outputs "out"))
"SYSTEMDPATH=lib"
- ;; Add the libaio headers to GCCs system header
- ;; search path to suppress -Werror=cast-qual on
- ;; the included headers.
- (string-append "C_INCLUDE_PATH="
- (assoc-ref %build-inputs "libaio")
- "/include")
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib"))
(define-public btrfs-progs
(package
(name "btrfs-progs")
- (version "5.4.1")
+ (version "5.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
- "0scxg9p6z0wss92gmv5a8yxdmr8x449kb5v3bfnvs26n92r7zq7k"))))
+ "0srg276yccfmqz0skmmga3vbqx4wiqsk1l6h86n6ryhxa9viqcm1"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of the binaries in "out"
from the btrfs-progs package. It is meant to be used in initrds.")
(license (package-license btrfs-progs))))
+(define-public cramfs-tools
+ (package
+ (name "cramfs-tools")
+ (home-page "https://github.com/npitre/cramfs-tools")
+ (version "2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "183rfqqyzx52q0vxicdgf0p984idh3rqkvzfb93gjvyzfhc15c0p"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; No tests.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "mkcramfs" (string-append out "/sbin"))
+ (install-file "cramfsck" (string-append out "/sbin")))
+ #t)))))
+ (inputs
+ `(("zlib" ,zlib)))
+ (synopsis "Tools to manage Cramfs file systems")
+ (description "Cramfs is a Linux file system designed to be simple, small,
+and to compress things well. It is used on a number of embedded systems and
+small devices. This version has additional features such as uncompressed
+blocks and random block placement.")
+ (license license:gpl2+)))
+
(define-public compsize
(package
(name "compsize")
(inputs
`(("libuuid" ,util-linux "lib")))))
+(define-public f2fs-tools/static
+ (static-package
+ (package
+ (inherit f2fs-tools)
+ (name "f2fs-tools-static")
+ (arguments
+ `(#:configure-flags
+ (let ((libuuid-static (assoc-ref %build-inputs "libuuid:static"))
+ (libuuid (assoc-ref %build-inputs "libuuid")))
+ (list
+ (string-append "libuuid_CFLAGS=-I" libuuid "/include")
+ (string-append "libuuid_LIBS=-L" libuuid-static "/lib -luuid")
+ (string-append "libblkid_CFLAGS=-I" libuuid "/include")
+ (string-append "libblkid_LIBS=-L" libuuid-static "/lib -lblkid")))
+ #:disallowed-references (,util-linux)
+ #:phases
+ (modify-phases %standard-phases ; TODO: f2fs phases.
+ (add-after 'unpack 'make-static
+ (lambda _
+ (define (append-to-file name body)
+ (let ((file (open-file name "a")))
+ (display body file)
+ (close-port file)))
+ (append-to-file "mkfs/Makefile.am" "\nmkfs_f2fs_LDFLAGS = -all-static\n")
+ (append-to-file "fsck/Makefile.am" "\nfsck_f2fs_LDFLAGS = -all-static\n")
+ (append-to-file "tools/Makefile.am" "\nf2fscrypt_LDFLAGS = -all-static -luuid\n")
+ #t))
+ (add-after 'install 'remove-store-references
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Work around bug in our util-linux.
+ ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41019>.
+ (remove-store-references (string-append (assoc-ref outputs "out")
+ "/sbin/mkfs.f2fs"))
+ #t)))))
+ (inputs
+ `(("libuuid:static" ,util-linux "static")
+ ("libuuid" ,util-linux "lib")))))) ; for include files
+
+(define-public f2fs-fsck/static
+ (package
+ (name "f2fs-fsck-static")
+ (version (package-version f2fs-tools/static))
+ (source #f)
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-26))
+ (let* ((f2fs-tools (assoc-ref %build-inputs "f2fs-tools-static"))
+ (fsck "fsck.f2fs")
+ (out (assoc-ref %outputs "out"))
+ (sbin (string-append out "/sbin")))
+ (mkdir-p sbin)
+ (with-directory-excursion sbin
+ (install-file (string-append f2fs-tools "/sbin/" fsck)
+ ".")
+ (remove-store-references fsck)
+ (chmod fsck #o555))
+ #t))))
+ (inputs
+ `(("f2fs-tools-static" ,f2fs-tools/static)))
+ (home-page (package-home-page f2fs-tools/static))
+ (synopsis "Statically-linked fsck.f2fs command from f2fs-tools")
+ (description "This package provides statically-linked fsck.f2fs command taken
+from the f2fs-tools package. It is meant to be used in initrds.")
+ (license (package-license f2fs-tools/static))))
+
(define-public freefall
(package
(name "freefall")
(define-public thinkfan
(package
(name "thinkfan")
- (version "1.0.2")
+ (version "1.1")
(source
(origin
(method git-fetch)
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "107vw0962hrwva3wra9n3hxlbfzg82ldc10qssv3dspja88g8psr"))))
+ (base32 "1fxd1w3z65glw6y04myn7ihgswkx6sqnkky159mik4n96pfrsvr5"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
(share (string-append out "/share/" ,name)))
(substitute* "CMakeLists.txt"
(("pkg_check_modules\\((OPENRC|SYSTEMD) .*" _ package)
- (format "option(~a_FOUND \"Faked\" ON)\n" package))
+ (format #f "option(~a_FOUND \"Faked\" ON)\n" package))
;; That was easy! Now we just need to fix the destinations.
(("/etc" directory)
(string-append out directory)))
(lambda _
(substitute* "tpacpi-bat"
(("cat ")
- (format "~a " (which "cat")))
+ (format #f "~a " (which "cat")))
;; tpacpi-bat modprobes the acpi_call kernel module if it's not
;; loaded. That's the administrator's prerogative; disable it.
(("system \"(modprobe .*)\"" _ match)
- (format "die \"Please run ‘~a’ first.\\n\"" match)))
+ (format #f "die \"Please run ‘~a’ first.\\n\"" match)))
#t))
(delete 'configure) ; nothing to configure
(delete 'build) ; nothing to build
(define-public light
(package
(name "light")
- (version "1.2.1")
+ (version "1.2.2")
(source
(origin
(method git-fetch)
(url "https://github.com/haikarainen/light.git")
(commit (string-append "v" version))))
(sha256
- (base32 "0zrjipd392bzjvxx0rjrb0cgi0ix1d83fwgw1mcy8kc4d16cgyjg"))
+ (base32 "1a70zcf88ifsnwll486aicjnh48zisdf8f7vi34ihw61kdadsq9s"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(build-system gnu-build-system)
(arguments `(#:configure-flags
'("--disable-man-doc"))) ; FIXME: Needs docbook2x.
- (inputs `(("bison" ,bison)
- ("flex" ,flex)
- ("gmp" ,gmp)
+ (inputs `(("gmp" ,gmp)
("libmnl" ,libmnl)
("libnftnl" ,libnftnl)
("readline" ,readline)))
- (native-inputs `(("pkg-config" ,pkg-config)))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("bison" ,bison)
+ ("flex" ,flex)))
(home-page "https://www.nftables.org")
(synopsis "Userspace utility for Linux packet filtering")
(description "nftables is the project that aims to replace the existing
(base32 "1javw97yw0qvjmj14js8vw6nsfyf2xc0kfiyq5f2hsp0553w2cdq"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags '("--disable-silent-rules")))
- (native-inputs `(("pkg-config" ,pkg-config)))
- (inputs `(("expat" ,expat) ("libcap" ,libcap) ("check" ,check)
- ("groff" ,groff) ; for tests
+ (native-inputs `(("groff" ,groff) ; for tests
+ ("pkg-config" ,pkg-config)))
+ (inputs `(("check" ,check)
+ ("expat" ,expat)
+ ("libcap" ,libcap)
("libselinux" ,libselinux)))
(synopsis "Utility to show process environment")
(description "Procenv is a command-line tool that displays as much detail about
;; We don't have an /etc/passwd entry for "root" - use numeric IDs.
(substitute* "test/compare-tar"
(("tar -tvf") "tar --numeric-owner -tvf"))
+
+ ;; coreutils 8.32 changed 'ls' to use the statx() syscall instead
+ ;; of lstat(). fakeroot 1.24 does not support the former, so
+ ;; adjust these tests to use 'test -b' instead of 'ls' to test for
+ ;; block device. See <https://bugs.gnu.org/41090>.
+ (substitute* '("test/t.mknod" "test/t.chmod_dev")
+ (("ls -ld? \\$tmp/hda3")
+ "test -b $tmp/hda3 && echo block || echo fail"))
#t)))))
(native-inputs
`(("acl" ,acl)
("sharutils" ,sharutils) ; for the tests
("xz" ,xz))) ; for the tests
(inputs
- `(("libcap" ,libcap)
+ `(("libcap" ,libcap/next)
("util-linux" ,util-linux)))
(synopsis "Provides a fake root environment")
(description "@command{fakeroot} runs a command in an environment where
(("/usr/bin/dbus-daemon") (which "dbus-daemon")))
#t)))))
(inputs
- `(("dbus" ,dbus)
- ("libtool" ,libtool)))
+ `(("dbus" ,dbus)))
(native-inputs
`(("autoconf" ,autoconf)
+ ("libtool" ,libtool)
("pkgconfig" ,pkg-config)
("automake" ,automake)))
(home-page "https://01.org/ell")