;;; 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 © 2016, 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; 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 <brendan.tildesley@openmailbox.org>
+;;; Copyright © 2018 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>
;;; Copyright © 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
+;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages golang)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages swig)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
+ #:use-module (guix build-system linux-module)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
(search-auxiliary-file file)))
(define %default-extra-linux-options
- `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
- ("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t)
- ;; Modules required for initrd:
+ `(;; Modules required for initrd:
("CONFIG_NET_9P" . m)
("CONFIG_NET_9P_VIRTIO" . m)
("CONFIG_VIRTIO_BLK" . m)
(kmod (assoc-ref (or native-inputs inputs) "kmod")))
;; Install kernel image, kernel configuration and link map.
(for-each (lambda (file) (install-file file out))
- (find-files "." "^(\\.config|bzImage|zImage|Image|vmlinuz|System\\.map)$"))
+ (find-files "." "^(\\.config|bzImage|zImage|Image|vmlinuz|System\\.map|Module\\.symvers)$"))
;; Install device tree files
(unless (null? (find-files "." "\\.dtb$"))
(mkdir-p dtbdir)
It has been modified to remove all non-free binary blobs.")
(license license:gpl2)))
-(define %linux-libre-version "5.0.6")
-(define %linux-libre-hash "0zznxchsdljw4swnr4i0qlvdww7cxskmil1691baj53xjv3wsh3n")
+(define %linux-libre-version "5.0.14")
+(define %linux-libre-hash "1y9wfn814h8p9k75nh1h42m35qbz9jw0kzp7bvjmrw9gvwf98cdg")
(define %linux-libre-5.0-patches
(list %boot-logo-patch
#:patches %linux-libre-5.0-patches
#:configuration-file kernel-config))
-(define %linux-libre-4.19-version "4.19.33")
-(define %linux-libre-4.19-hash "147ksl3ksxdv2ifr18cbzq4647n9d7yr7kbxg02sljia7z3b70cm")
+(define-public vhba-module
+ (package
+ (name "vhba-module")
+ (version "20190410")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://downloads.sourceforge.net/cdemu/vhba-module/vhba-module-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1513hq130raxp9z5grj54cwfjfxj05apipxg425j0zicii59a60c"))))
+ (build-system linux-module-build-system)
+ (arguments
+ ;; TODO: No tests?
+ `(#:tests? #f))
+ (home-page "https://cdemu.sourceforge.io/")
+ (synopsis "Kernel module that emulates SCSI devices")
+ (description "VHBA module provides a Virtual (SCSI) HBA, which is the link
+between the CDemu userspace daemon and linux kernel.")
+ (license license:gpl2+)))
+
+(define %linux-libre-4.19-version "4.19.41")
+(define %linux-libre-4.19-hash "0lf1w72y4qkrg57qd78zs16r658qaqzwly0y9195nf7bdwqzb03v")
(define %linux-libre-4.19-patches
(list %boot-logo-patch
#:patches %linux-libre-4.19-patches
#:configuration-file kernel-config))
-(define %linux-libre-4.14-version "4.14.110")
-(define %linux-libre-4.14-hash "05cfb1wb4ml5a1vfakq5v6192f584j3701d2mf03mv5fzxb7l2dx")
+(define %linux-libre-4.14-version "4.14.117")
+(define %linux-libre-4.14-hash "14sy035zdikl3xr0wyg3srr4b2jjlvq7wzj6b0b74y90fa2s1rz5")
(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.168"
- "1nli5di7i7x4jyad7nappm1awz207rg18n08wb82b1w8rwqyqgy3"
+ (make-linux-libre "4.9.174"
+ "0f7v96qbxdcrr06b00lh3n2nljp1zfbx7iqvzha4y47z76hfv144"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.178"
- "1lgsd760md6b32qb5ng3anfq1n754a9d0c4xnf2mjxkimncb1jpp"
+ (make-linux-libre "4.4.179"
+ "025jl50sgi3bxj8hxlihqyfshmfphrg6z3cfi043qwkc8sbdy3af"
'("x86_64-linux" "i686-linux")
- #:configuration-file kernel-config))
+ #:configuration-file kernel-config
+ #:extra-options
+ (append
+ `(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
+ ;; This option was removed upstream in version 4.7.
+ ("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t))
+ %default-extra-linux-options)))
(define-public linux-libre-arm-generic
(make-linux-libre %linux-libre-version
(define-public usbutils
(package
(name "usbutils")
- (version "010")
+ (version "012")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/usb/usbutils/"
"usbutils-" version ".tar.xz"))
(sha256
- (base32
- "06aag4jfgsfjxk563xsp9ik9nadihmasrr37a1gb0vwqni5kdiv1"))))
+ (base32 "0iiy0q7fzikavmdsjsb0sl9kp3gfh701qwyjjccvqh0qz4jlcqw8"))))
(build-system gnu-build-system)
+ (outputs (list "out" "python"))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'patch-bootstrap-scripts
+ (lambda _
+ (substitute* "usbhid-dump/bootstrap"
+ (("/bin/bash") (which "bash")))
+
+ ;; Don't let autogen.sh run configure with bogus options & CFLAGS.
+ (substitute* "autogen.sh"
+ (("^\\./configure.*") ""))
+ #t))
+ (add-after 'install 'separate-python-output
+ ;; Separating one Python script shaves more than 106 MiB from :out.
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (out:python (assoc-ref outputs "python")))
+ (for-each (lambda (file)
+ (let ((old (string-append out "/" file))
+ (new (string-append out:python "/" file)))
+ (mkdir-p (dirname new))
+ (rename-file old new)))
+ (list "bin/lsusb.py"))
+ #t))))))
(inputs
- `(("libusb" ,libusb)
- ("eudev" ,eudev)))
+ `(("eudev" ,eudev)
+ ("libusb" ,libusb)
+ ("python" ,python)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
(home-page "http://www.linux-usb.org/")
(synopsis
"Tools for working with USB devices, such as lsusb")
(define-public alsa-lib
(package
(name "alsa-lib")
- (version "1.1.7")
+ (version "1.1.8")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.bz2"))
(sha256
(base32
- "02fw7dw202mjid49w9ki3dsfcyvid5fj488561bdzcm3haw00q4x"))))
+ "1pxf0zkmps03l3zzd0fr828xhkg6a8hxljmbxzc2cyj2ls9kmp1w"))))
(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.7")
+ (version "1.1.8")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/utils/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "02jlw6a22j2rr7inggfgk2hzx3w0fjhvhs0dn1afpzdp9aspzchx"))))
+ "1kx45yhrxai3k595yyqs4wj0p2n5b0c9mf0k36ljjf1bj8lgb6zx"))))
(build-system gnu-build-system)
(arguments
;; XXX: Disable man page creation until we have DocBook.
"/lib/udev/rules.d"))
#:phases
(modify-phases %standard-phases
+ (add-before 'check 'disable-broken-test
+ (lambda _
+ ;; XXX: The 1.1.8 release tarball is missing a header that's
+ ;; required for this test to work. Fixed in 1.1.9.
+ (substitute* "axfer/test/Makefile"
+ ((".*container-test.*") ""))
+ #t))
(add-before
'install 'pre-install
(lambda _
(define-public alsa-plugins
(package
(name "alsa-plugins")
- (version "1.1.7")
+ (version "1.1.8")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.alsa-project.org/pub/plugins/"
name "-" version ".tar.bz2"))
(sha256
(base32
- "0iys4zl1davzyg3mn9lvil1n3k1ifrg3v1caj3k4dqyrnrd40jx7"))))
+ "152r82i6f97gfilfgiax5prxkd4xlcipciv8ha8yrk452qbxyxvz"))))
(build-system gnu-build-system)
;; TODO: Split libavcodec and speex if possible. It looks like they can not
;; be split, there are references to both in files.
(define-public bridge-utils
(package
(name "bridge-utils")
- (version "1.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/bridge/bridge/"
- "bridge-utils-" version ".tar.gz"))
- (sha256
- (base32
- "12367cwqmi0yqphi6j8rkx97q8hw52yq2fx4k0xfclkcizxybya2"))))
+ (version "1.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://kernel.org/linux/utils/net/bridge-utils/"
+ "bridge-utils-" version ".tar.xz"))
+ (sha256
+ (base32 "1j16kr44csyr4yqxly26l1yw2bh4nkiasgwvask2i2gvsnsyyryc"))))
(build-system gnu-build-system)
;; The tarball lacks all the generated files.
(define-public kmod
(package
(name "kmod")
- (version "25")
+ (version "26")
(source (origin
(method url-fetch)
(uri
"kmod-" version ".tar.xz"))
(sha256
(base32
- "1kgixs4m3jvwk7fb3d18n6j77qhgi9qfv4csj35rs5ancr4ycrbi"))
+ "17dvrls70nr3b3x1wm8pwbqy4r8a5c20m0dhys8mjhsnpg425fsp"))
(patches (search-patches "kmod-module-directory.patch"))))
(build-system gnu-build-system)
(native-inputs
(define-public lm-sensors
(package
(name "lm-sensors")
- (version "3.4.0")
- (source (origin
- (method url-fetch)
- (uri (list (string-append
- "https://github.com/groeck/lm-sensors/archive/V"
- (string-join (string-split version #\.) "-")
- ".tar.gz")))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0knb09s9lvx0wzfsaizx3xq58q6kllqf7nkbwvir0wkgn31c2d73"))
- (patches (search-patches "lm-sensors-hwmon-attrs.patch"))))
+ (version "3.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/groeck/lm-sensors.git")
+ (commit (string-append "V" (string-join
+ (string-split version #\.) "-")))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1mdrnb9r01z1xfdm6dpkywvf9yy9a4yzb59paih9sijwmigv19fj"))
+ (patches (search-patches "lm-sensors-hwmon-attrs.patch"))))
(build-system gnu-build-system)
(inputs `(("rrdtool" ,rrdtool)
("perl" ,perl)
(string-append (assoc-ref inputs "coreutils")
"/bin/readlink -f")))
#t)))))
- (home-page "http://jdelvare.nerim.net/devel.html#lmsensors")
+ (home-page "https://hwmon.wiki.kernel.org/lm_sensors")
(synopsis "Utilities to read temperature/voltage/fan sensors")
(description
"Lm-sensors is a hardware health monitoring package for Linux. It allows
(source
(origin
(method url-fetch)
- (uri
- (string-append
- "https://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-"
- version ".tar.gz"))
+ (uri (string-append "mirror://kernel.org/linux/utils/kernel/cpufreq/"
+ "cpufrequtils-" version ".tar.gz"))
(sha256
(base32 "0qfqv7nqmjfr3p0bwrdlxkiqwqr7vmx053cadaa548ybqbghxmvm"))
(patches (search-patches "cpufrequtils-fix-aclocal.patch"))))
(version "1.3")
(source (origin
(method url-fetch)
- (uri (string-append "https://www.kernel.org/pub/linux/bluetooth/"
- name "-" version ".tar.xz"))
+ (uri (string-append "mirror://kernel.org/linux/bluetooth/sbc-"
+ version ".tar.xz"))
(sha256
(base32
"02ckd2z51z0h85qgv7x8vv8ybp5czm9if1z78411j53gaz7j4476"))))
(home-page "https://sourceforge.net/projects/fuseiso/")
(synopsis "Mount ISO file system images")
(description
- "FuseISO is a FUSE module to mount ISO filesystem images (.iso, .nrg,
+ "FuseISO is a FUSE module to mount ISO file system images (.iso, .nrg,
.bin, .mdf and .img files). It supports plain ISO9660 Level 1 and 2, Rock
Ridge, Joliet, and zisofs.")
(license license:gpl2)))
;; If users install ntfs-3g, they probably want to make it the
;; default driver as well, so we opt for sensible defaults and link
;; mount.ntfs to mount.ntfs-3g. (libmount tries to run mount.ntfs to
- ;; mount NTFS filesystems.)
+ ;; mount NTFS file systems.)
(add-after 'install 'install-link
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(define-public libseccomp
(package
(name "libseccomp")
- (version "2.4.0")
+ (version "2.4.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/seccomp/libseccomp/"
"/libseccomp-" version ".tar.gz"))
(sha256
(base32
- "0paj1szszpf8plykrd66jqg1x3kmqs395rbjskahld2bnplcfx1f"))))
+ "1s06h2cgk0xxwmhwj72z33bllafc1xqnxzk2yyra2rmg959778qw"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)))
(define-public tlp
(package
(name "tlp")
- (version "1.2.1")
+ (version "1.2.2")
(source (origin
(method url-fetch)
(uri (string-append
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0rcp9i0fisdm4h6799ffr696l1vl661fnwb2dij268nlwwmkr90g"))))
+ "059kxrpxx580mm6p0z2a421nxngszyh4yqqhbgvn04b6a7dbsa2w"))))
(inputs `(("bash" ,bash)
("dbus" ,dbus)
("ethtool" ,ethtool)
(setenv "TLP_FLIB" (string-append out "/share/tlp/func.d"))
(setenv "TLP_ULIB" (string-append out "/lib/udev"))
(setenv "TLP_CONF" "/etc/tlp")
+ (setenv "TLP_ELOD"
+ (string-append out "/lib/elogind/system-sleep"))
(setenv "TLP_SHCPL"
(string-append out "/share/bash-completion/completions"))
(setenv "TLP_MAN" (string-append out "/share/man"))
(add-before 'install 'fix-installation
(lambda _
;; Stop the Makefile from trying to create system directories.
- (substitute* "Makefile" (("\\[ -f \\$\\(_CONF\\) \\]") "#"))
+ (substitute* "Makefile"
+ (("\\[ -f \\$\\(_CONF\\) \\]") "#")
+ (("install -d -m 755 \\$\\(_VAR\\)") "#"))
#t))
(replace 'install
(lambda _
(define-public mbpfan
(package
(name "mbpfan")
- (version "2.1.0")
+ (version "2.1.1")
(source
(origin
(method git-fetch)
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "1gysq778rkl6dvvj9a1swxcl15wvz0bng5bn4nwq118cl8p8pask"))))
+ (base32 "0aijyxrqh01x0s80yr4cgxgd001iiqqph65pxvby7f0wz8lnxnqj"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; tests ask to be run as root
management tools in userspace.")
(license license:gpl2)))
+(define-public go-netlink
+ (package
+ (name "go-netlink")
+ (version "1.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/vishvananda/netlink.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0hpzghf1a4cwawzhkiwdzin80h6hd09fskl77d5ppgc084yvj8x0"))))
+ (build-system go-build-system)
+ (arguments
+ `(#:import-path "github.com/vishvananda/netlink"))
+ (native-inputs
+ `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)
+ ("go-netns" ,go-netns)))
+ (home-page "https://github.com/vishvananda/netlink")
+ (synopsis "Simple netlink library for Go")
+ (description "The netlink package provides a simple netlink library for
+Go. Netlink is the interface a user-space program in Linux uses to
+communicate with the kernel. It can be used to add and remove interfaces, set
+IP addresses and routes, and configure IPsec.")
+ (license license:asl2.0)))
+
(define-public xfsprogs
(package
(name "xfsprogs")
`(("autoconf" ,autoconf)
("automake" ,automake)))
(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
+ (synopsis "Generate ext2 file system as a normal user")
+ (description "This package provides a program to generate an ext2
+file system 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)))