;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
-;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2017, 2018, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Anders Thuné <asse.97@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
+ #:use-module (gnu packages boost)
#:use-module (gnu packages calendar)
#:use-module (gnu packages check)
#:use-module (gnu packages cpio)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
+ #:use-module (gnu packages llvm)
+ #:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages video)
+ #:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
"deblob-check"))
(sha256 deblob-check-hash))))
+(define deblob-scripts-5.8
+ (linux-libre-deblob-scripts
+ "5.8"
+ (base32 "07z7sglyrfh0706icqqf3shadf638pvyid9386r661ds5lbsa2mw")
+ (base32 "1nzf1wzva52bm41j2ba0m1vr0cpfwnybdwv5ff6km49l0gziaqx7")))
+
(define deblob-scripts-5.7
(linux-libre-deblob-scripts
- "5.7.1"
- (base32 "1c0n39wg6xij4x63ppg0m80kfcffkn3iilm3chyiix09n9g7vb78")
- (base32 "02is246xaql1br3kizqicrkp982nw4gdwpn7nlzjazvsmyd1hcv2")))
+ "5.7.14"
+ (base32 "1gharhw104wxp9dxjkzzvsqc2xn44mc9yvacc3v7jh7b6bb0a64a")
+ (base32 "1n198gx18rxc7xflgiwya43inkwayc91pgb129kngfza8sm6v8ks")))
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
- "5.4.37"
+ "5.4.57"
(base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25")
(base32 "10qb890is4z58vr8czh3xx69q62l3b3j38y410kgiw8nii3zx5lr")))
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
- "4.19.103"
+ "4.19.138"
(base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy")
(base32 "1w2wgxblpq09i33qmqgw5v3r5rm9vkkygr6m0sgv4zgczk9s29wr")))
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
- "4.14.170"
+ "4.14.193"
(base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6")
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
- "4.9.213"
+ "4.9.231"
(base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg")
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
- "4.4.213"
+ "4.4.231"
(base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw")
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(sha256 hash)))
-(define-public linux-libre-5.7-version "5.7.7")
+(define-public linux-libre-5.8-version "5.8")
+(define-public linux-libre-5.8-pristine-source
+ (let ((version linux-libre-5.8-version)
+ (hash (base32 "1xgibkwb1yfl6qdlbxyagai0qc1pk5ark7giz1512hh6ma353xz7")))
+ (make-linux-libre-source version
+ (%upstream-linux-source version hash)
+ deblob-scripts-5.8)))
+
+(define-public linux-libre-5.7-version "5.7.14")
(define-public linux-libre-5.7-pristine-source
(let ((version linux-libre-5.7-version)
- (hash (base32 "0zzff78fjn0a87lr1j11hx97gcpbf0q5qn0nalb3qd43j9kvjh7q")))
+ (hash (base32 "0irgfw50fvlbgvn33as75chn2qilmpalbmhi9k8a9ckh6rwdz6hq")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.7)))
-(define-public linux-libre-5.4-version "5.4.50")
+(define-public linux-libre-5.4-version "5.4.57")
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "1qm6m3ww7cxr0mqzma9swq6jax6anjy5vdh397my7x00x70z845d")))
+ (hash (base32 "1fhprnkc7066iz6zxhskqarjmvwcan2jpfp00hd1q7rw2sw1n398")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.131")
+(define-public linux-libre-4.19-version "4.19.138")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "1fk4i7lkbblfbxyp8rmkihcax920hbbygk2xnq2038sbrkvbkpqr")))
+ (hash (base32 "00jy3lxzx95smgc0mq7741byaj17jxrcqc2vnxlp4lkcbz82fp6i")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.187")
+(define-public linux-libre-4.14-version "4.14.193")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "1gal2kfyrq8c4dswlwnwmzc3ap6a7cjkyz8jgsm9d8gfx9sk88jv")))
+ (hash (base32 "00wziff12xphafyspb02rnjim5a15zywnhdk70ks9q9h8hfv83qb")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.229")
+(define-public linux-libre-4.9-version "4.9.232")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "1p0g6zya8bdk2fds37x3fg7c5sk3sc18prq3jrrilnnrby1w4mij")))
+ (hash (base32 "0q2gpkazfw93r79aq21kv1y3hwxawl0swyvd3nd73p254gl75x2q")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.229")
+(define-public linux-libre-4.4-version "4.4.232")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "0crrawivri5i0ks7pg3snfjlxily4aimw5xzbzr5nlnsz0rjwhbq")))
+ (hash (base32 "0d7x30sy9c27n9bqf5f5mf64c6j5iljnw1gm7g8z00xgvrjqibjf")))
(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.8-source
+ (source-with-patches linux-libre-5.8-pristine-source
+ (list %boot-logo-patch
+ %linux-libre-arm-export-__sync_icache_dcache-patch)))
+
(define-public linux-libre-5.7-source
(source-with-patches linux-libre-5.7-pristine-source
(list %boot-logo-patch
(description "Headers of the Linux-Libre kernel.")
(license license:gpl2)))
+(define-public linux-libre-headers-5.8
+ (make-linux-libre-headers* linux-libre-5.8-version
+ linux-libre-5.8-source))
+
(define-public linux-libre-headers-5.7
(make-linux-libre-headers* linux-libre-5.7-version
linux-libre-5.7-source))
;;; Generic kernel packages.
;;;
+(define-public linux-libre-5.7
+ (make-linux-libre* linux-libre-5.7-version
+ linux-libre-5.7-source
+ '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
+ #:configuration-file kernel-config))
+
+(define-public linux-libre-version linux-libre-5.7-version)
+(define-public linux-libre-pristine-source linux-libre-5.7-pristine-source)
+(define-public linux-libre-source linux-libre-5.7-source)
+(define-public linux-libre linux-libre-5.7)
+
(define-public linux-libre-5.4
(make-linux-libre* linux-libre-5.4-version
linux-libre-5.4-source
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux")
#:configuration-file kernel-config))
-(define-public linux-libre-version linux-libre-5.4-version)
-(define-public linux-libre-pristine-source linux-libre-5.4-pristine-source)
-(define-public linux-libre-source linux-libre-5.4-source)
-(define-public linux-libre linux-libre-5.4)
-
(define-public linux-libre-4.19
(make-linux-libre* linux-libre-4.19-version
linux-libre-4.19-source
("CONFIG_RTC_DRV_RK808" . #t))
%default-extra-linux-options)))
-(define-public linux-libre-arm-generic-5.7
- (make-linux-libre* linux-libre-5.7-version
- linux-libre-5.7-source
+(define-public linux-libre-arm-veyron
+ (deprecated-package "linux-libre-arm-veyron" linux-libre-arm-generic))
+
+(define-public linux-libre-arm-generic-5.4
+ (make-linux-libre* linux-libre-5.4-version
+ linux-libre-5.4-source
'("armhf-linux")
#:defconfig "multi_v7_defconfig"
#:extra-version "arm-generic"
("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))
-
(define-public linux-libre-arm-generic-4.19
(make-linux-libre* linux-libre-4.19-version
linux-libre-4.19-source
("CONFIG_RTC_DRV_RK808" . #t))
%default-extra-linux-options)))
-(define-public linux-libre-arm64-generic-5.7
- (make-linux-libre* linux-libre-5.7-version
- linux-libre-5.7-source
+(define-public linux-libre-arm64-generic-5.8
+ (make-linux-libre* linux-libre-5.8-version
+ linux-libre-5.8-source
'("aarch64-linux")
#:defconfig "defconfig"
#:extra-version "arm64-generic"
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/teleshoes/acpi_call.git")
+ (url "https://github.com/teleshoes/acpi_call")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/aircrack-ng/rtl8812au.git")
+ (url "https://github.com/aircrack-ng/rtl8812au")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/tomaspinho/rtl8821ce.git")
+ (url "https://github.com/tomaspinho/rtl8821ce")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/umlaeute/v4l2loopback.git")
+ (url "https://github.com/umlaeute/v4l2loopback")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
"1n9lnf9gjs72kbj1g354v1xhi2j27aqaah15vykh7cnkq08i4arl"))
(patches (search-patches "linux-pam-no-setfsuid.patch"))))))
+(define-public python-pamela
+ (package
+ (name "python-pamela")
+ (version "1.0.0")
+ (source
+ (origin
+ ;; Tests not distributed in pypi release.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minrk/pamela.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0cg3w6np1fbjpvzhv54xg567hpf38szwp2d4gvzb9r736nxbv0vr"))))
+ (build-system python-build-system)
+ (arguments
+ '(#:tests? #f ; Test suite isn't designed to be run inside a container.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'hardcode-pam.so
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((pam (assoc-ref inputs "linux-pam")))
+ (substitute* "pamela.py"
+ (("find_library\\(\"pam\")")
+ (string-append "'" pam "/lib/libpam.so'")))
+ #t)))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (if tests?
+ (if (file-exists? "test_pamela.py")
+ (invoke "py.test" "--assert=plain" "test_pamela.py")
+ (invoke "python" "-m" "pamela" "-a" "`whoami`"))
+ #t))))))
+ (inputs
+ `(("linux-pam" ,linux-pam)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/minrk/pamela")
+ (synopsis "PAM interface using ctypes")
+ (description "This package provides a PAM interface using @code{ctypes}.")
+ (license license:expat)))
+
;;;
;;; Miscellaneous.
(define-public strace
(package
(name "strace")
- (version "5.7")
+ (version "5.8")
(home-page "https://strace.io")
(source (origin
(method url-fetch)
"/strace-" version ".tar.xz"))
(sha256
(base32
- "1n6cfz3i2krkyvxpdp3kmxhf7sy5xp0danzaiirbk5fdkfgvb15j"))))
+ "1abs3svkg9985f4jrxx34sj1dcpsf95vv1a0g01c777zgygncjnz"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(define-public iproute
(package
(name "iproute2")
- (version "5.7.0")
+ (version "5.8.0")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "088gs56iqhdlpw1iqjwrss4zxd4zbl2wl8s2implrrdajjxcfpbj"))))
+ "0vk4vickrpahdhl3zazr2qn2bf99v5549ncirjpwiy4h0a4izkfg"))))
(build-system gnu-build-system)
(arguments
`( ;; There is a test suite, but it wants network namespaces and sudo.
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/rvoicilas/inotify-tools.git")
+ (url "https://github.com/rvoicilas/inotify-tools")
(commit version)))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/rfjakob/earlyoom.git")
+ (url "https://github.com/rfjakob/earlyoom")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
#t))))))
(synopsis "Logical volume management for Linux (statically linked)")))
+(define-public thin-provisioning-tools
+ (package
+ (name "thin-provisioning-tools")
+ (version "0.8.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jthornber/thin-provisioning-tools")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01wl8c0cjbx1smbhj8dx6av5bnw5775m58gasc3vqwvsj0s9hq19"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; Doesn't build with --enable-testing due to a function name collision
+ ;; with glibc. Fixed upstream. TODO: Enable tests when 0.9.0 is released.
+ `(#:tests? #f))
+ (native-inputs
+ `(("automake" ,automake)
+ ("autoreconf" ,autoconf)))
+ (inputs
+ `(("boost" ,boost)
+ ("expat" ,expat)
+ ("libaio" ,libaio)))
+ (synopsis "Tools for manipulating the metadata of device-mapper targets")
+ (description "A suite of tools for manipulating the metadata of the
+dm-thin, dm-cache and dm-era device-mapper targets.")
+ (home-page "https://github.com/jthornber/thin-provisioning-tools")
+ (license license:gpl3+)))
+
(define-public wireless-tools
(package
(name "wireless-tools")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/groeck/lm-sensors.git")
+ (url "https://github.com/groeck/lm-sensors")
(commit (string-append "V" (string-join
(string-split version #\.) "-")))))
(file-name (git-file-name name version))
;; There are build scripts written in these languages.
("perl" ,perl)
- ("python" ,python-2)))
+ ("python2" ,python-2)
+ ("python3" ,python-3)))
(inputs
`(("slang" ,slang) ;for the interactive TUI
;; ("newt" ,newt)
`(#:configure-flags '("--localstatedir=/var")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-reference-to-squashfs-tools
+ (add-after 'unpack 'patch-references
(lambda _
(substitute* "libexec/cli/build.exec"
(("if ! singularity_which mksquashfs") "if 0")
(("if ! mksquashfs")
(string-append "if ! " (which "mksquashfs"))))
+ (substitute* (list "libexec/cli/help.exec"
+ "libexec/bootstrap-scripts/functions"
+ "libexec/bootstrap-scripts/post.sh"
+ "libexec/functions")
+ (("egrep ")
+ (string-append (which "egrep") " ")))
#t))
(add-after 'install 'set-PATH
(lambda* (#:key inputs outputs #:allow-other-keys)
(define-public btrfs-progs
(package
(name "btrfs-progs")
- (version "5.6")
+ (version "5.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
- "0srg276yccfmqz0skmmga3vbqx4wiqsk1l6h86n6ryhxa9viqcm1"))))
+ "0p6ycbr8sw5bq3mj84gh9rvh5sk8sjr2l9hb9dhm4j41ij5h8bsw"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of the binaries in "out"
(define-public thinkfan
(package
(name "thinkfan")
- (version "1.2")
+ (version "1.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/vmatare/thinkfan.git")
+ (url "https://github.com/vmatare/thinkfan")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0vmkpj575a1w52zx1jn6kdrk8rc9vp0f1bldi1bajicpgbs6rjd3"))))
+ (base32 "18vgm5w5pjnpipa34j4x87q10695w2jnqwvc2f027afy7mnzw7kz"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/teleshoes/tpacpi-bat.git")
+ (url "https://github.com/teleshoes/tpacpi-bat")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/jirka-h/haveged.git")
+ (url "https://github.com/jirka-h/haveged")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(define-public mtd-utils
(package
(name "mtd-utils")
- (version "2.1.1")
+ (version "2.1.2")
(source (origin
(method url-fetch)
(uri (string-append
"mtd-utils-" version ".tar.bz2"))
(sha256
(base32
- "1lijl89l7hljx8xx70vrz9srd3h41v5gh4b0lvqnlv831yvyh5cd"))))
+ "1mp9fqgnz5r69s8ly98ry6k2blqnaqpllwi8m930dm0n8zrwbm4a"))))
(arguments
'(#:configure-flags '("--enable-unit-tests")))
(native-inputs
(define-public libseccomp
(package
(name "libseccomp")
- (version "2.4.3")
+ (version "2.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/seccomp/libseccomp/"
"/libseccomp-" version ".tar.gz"))
(sha256
(base32
- "07crwxqzvl5k2b90a47ii9wgvi09s9hsy5b5jddw9ylp351d25fg"))))
+ "1wql62cg8f95cwpy057cl764nni9g4sdn5lqj68x22kjs8w71yhz"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")
+ #:phases (modify-phases %standard-phases
+ (add-before 'check 'skip-load-test
+ (lambda _
+ ;; This test does a native system call and fails when
+ ;; run under QEMU user-mode emulation. Just skip it.
+ (delete-file "tests/52-basic-load.tests")
+ #t)))))
(native-inputs
- `(("which" ,which)))
+ `(("gperf" ,gperf)
+ ("which" ,which)))
(synopsis "Interface to Linux's seccomp syscall filtering mechanism")
(description "The libseccomp library provides an easy to use, platform
independent, interface to the Linux Kernel's syscall filtering mechanism. The
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/clbr/radeontop.git")
+ (url "https://github.com/clbr/radeontop")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/haikarainen/light.git")
+ (url "https://github.com/haikarainen/light")
(commit (string-append "v" version))))
(sha256
(base32 "1a70zcf88ifsnwll486aicjnh48zisdf8f7vi34ihw61kdadsq9s"))
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/linrunner/TLP.git")
+ (url "https://github.com/linrunner/TLP")
(commit version)))
(file-name (git-file-name name version))
(sha256
(define-public lshw
(package
(name "lshw")
- (version "B.02.18")
+ (version "B.02.19.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.ezix.org/software/"
".tar.gz"))
(sha256
(base32
- "0brwra4jld0d53d7jsgca415ljglmmx1l2iazpj4ndilr48yy8mf"))))
+ "100gm1c6gb2hkfws22h0xhvv7nz38p49lxd1csikj8qlhyn4gcwv"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases (delete 'configure))
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/proot-me/PRoot.git")
+ (url "https://github.com/proot-me/PRoot")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ilrsw1rc85w29mkbkmm5n5w427gapv43yrjzvkb4kc9xhscgdjn"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags '("--disable-silent-rules")))
- (native-inputs `(("groff" ,groff) ; for tests
- ("pkg-config" ,pkg-config)))
- (inputs `(("check" ,check)
- ("expat" ,expat)
- ("libcap" ,libcap)
- ("libselinux" ,libselinux)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+
+ ;; For tests.
+ ("check" ,check)
+ ("groff" ,groff)))
+ (inputs
+ `(("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
itself and its environment as possible. It can be used as a test
tool, to understand the type of environment a process runs in, and for
comparing system environments.")
- (home-page "http://github.com/jamesodhunt/procenv/")
+ (home-page "https://github.com/jamesodhunt/procenv/")
(license license:gpl3+)))
(define-public libfabric
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/dgraziotin/mbpfan.git")
+ (url "https://github.com/dgraziotin/mbpfan")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/intel/opa-psm2.git")
+ (url "https://github.com/intel/opa-psm2")
(commit (string-append "PSM2_" version))))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/vishvananda/netlink.git")
+ (url "https://github.com/vishvananda/netlink")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/jeremie-koenig/genext2fs.git")
+ (url "https://github.com/jeremie-koenig/genext2fs")
;; 1.4.1-3 had a VCS tag but 1.4.1-4 doesn't.
(commit "9ee43894634998b0b2b309d636f25c64314c9421")))
(file-name (git-file-name name version))
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/linuxwacom/input-wacom.git")
+ (url "https://github.com/linuxwacom/input-wacom")
(commit (string-append "input-wacom-" version))))
(file-name (git-file-name name version))
(sha256
of Linux application development.")
(license license:lgpl2.0+)))
+(define-public pipewire-0.3
+ (package
+ (inherit pipewire)
+ (name "pipewire")
+ (version "0.3.7")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/PipeWire/pipewire")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "04l66p0wj553gp2zf3vwwh6jbr1vkf6wrq4za9zlm9dn144am4j2"))))
+ (arguments
+ '(#:configure-flags '("-Dsystemd=false")
+ #:phases
+ (modify-phases %standard-phases
+ ;; Skip shrink-runpath, otherwise validate-runpath fails
+ (delete 'shrink-runpath))))
+ (inputs
+ (append (package-inputs pipewire)
+ `(("bluez" ,bluez)
+ ("jack" ,jack-2)
+ ("pulseaudio" ,pulseaudio)
+ ("vulkan-loader" ,vulkan-loader)
+ ("vulkan-headers" ,vulkan-headers))))))
+
(define-public ell
(package
(name "ell")
contrast to BCC, do not require the Clang/LLVM runtime or linux kernel
headers.")
(license `(,license:lgpl2.1 ,license:bsd-2))))
+
+(define-public bcc
+ (package
+ (name "bcc")
+ (version "0.15.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/iovisor/bcc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1d5j9zanffa1c7lpi5fcrdlx1n7hy86xl82fam2xqr0s41q4ipxw"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)))
+ (inputs
+ `(("clang-toolchain" ,clang-toolchain)
+ ("libbpf" ,(package-source libbpf))
+ ;; LibElf required but libelf does not contain
+ ;; archives, only object files.
+ ;; https://github.com/iovisor/bcc/issues/504
+ ("elfutils" ,elfutils)
+ ("linux-libre-headers" ,linux-libre-headers)
+ ("luajit" ,luajit)
+ ("python-wrapper" ,python-wrapper)))
+ (arguments
+ `(;; Tests all require root permissions and a "standard" file hierarchy.
+ #:tests? #f
+ #:configure-flags
+ (let ((revision ,version))
+ `(,(string-append "-DREVISION=" revision)))
+ #:phases
+ (modify-phases %standard-phases
+ ;; FIXME: Use "-DCMAKE_USE_LIBBPF_PACKAGE=ON".
+ (add-after 'unpack 'copy-libbpf
+ (lambda* (#:key inputs #:allow-other-keys)
+ (delete-file-recursively "src/cc/libbpf")
+ (copy-recursively
+ (assoc-ref inputs "libbpf") "src/cc/libbpf")))
+ (add-after 'copy-libbpf 'substitute-libbc
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "src/python/bcc/libbcc.py"
+ (("(libbcc\\.so.*)\\b" _ libbcc)
+ (string-append
+ (assoc-ref outputs "out") "/lib/" libbcc)))))
+ (add-after 'install 'wrap-tools
+ (lambda* (#:key outputs #:allow-other-keys)
+ (use-modules (ice-9 textual-ports))
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib"))
+ (tools (string-append out "/share/bcc/tools"))
+ (python-executable?
+ (lambda (filename _)
+ (call-with-input-file filename
+ (lambda (port)
+ (string-contains (get-line port)
+ "/bin/python"))))))
+ (for-each
+ (lambda (python-executable)
+ (format #t "Wrapping: ~A.~%" python-executable)
+ (wrap-program python-executable
+ `("PYTHONPATH" ":" prefix
+ (,(string-append lib
+ "/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")))))
+ (find-files tools python-executable?))
+ #t))))))
+ (home-page "https://github.com/iovisor/bcc")
+ (synopsis "Tools for BPF on Linux")
+ (description
+ "BCC is a toolkit for creating efficient kernel tracing and manipulation
+programs, and includes several useful tools and examples. It makes use of
+extended BPF (Berkeley Packet Filters), formally known as eBPF, a new feature
+that was first added to Linux 3.15. Much of what BCC uses requires Linux 4.1
+and above.")
+ (license license:asl2.0)))
+
+(define-public bpftrace
+ (package
+ (name "bpftrace")
+ (version "0.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/iovisor/bpftrace")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "023ardywbw5w8815j2ny9rrp2xlpxndqaa7v2njjm8109p7ilsdn"))
+ (patches (search-patches "bpftrace-disable-bfd-disasm.patch"))))
+ (build-system cmake-build-system)
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)))
+ (inputs
+ `(("bcc" ,bcc)
+ ("clang-toolchain" ,clang-toolchain)
+ ("elfutils" ,elfutils)
+ ("libbpf" ,libbpf)
+ ("linux-libre-headers" ,linux-libre-headers)))
+ (arguments
+ `(#:tests? #f ;Tests require googletest sources.
+ #:configure-flags
+ '("-DBUILD_TESTING=OFF"
+ ;; FIXME: libbfd misses some link dependencies, when fixed, remove
+ ;; the associated patch.
+ "-DHAVE_BFD_DISASM=OFF")))
+ (home-page "https://github.com/iovisor/bpftrace")
+ (synopsis "High-level tracing language for Linux eBPF")
+ (description
+ "bpftrace is a high-level tracing language for Linux enhanced Berkeley
+Packet Filter (eBPF) available in recent Linux kernels (4.x). bpftrace uses
+LLVM as a backend to compile scripts to BPF-bytecode and makes use of BCC for
+interacting with the Linux BPF system, as well as existing Linux tracing
+capabilities: kernel dynamic tracing (kprobes), user-level dynamic
+tracing (uprobes), and tracepoints. The bpftrace language is inspired by awk
+and C, and predecessor tracers such as DTrace and SystemTap. bpftrace was
+created by Alastair Robertson.")
+ (license license:asl2.0)))