;;; Copyright © 2014, 2015 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 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages linux)
#:use-module ((guix licenses)
- #:hide (zlib))
+ #:hide (zlib openssl))
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages gcc)
#:use-module (gnu packages asciidoc)
#:use-module (gnu packages readline)
#:use-module (gnu packages calendar)
+ #:use-module (gnu packages tls)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#f)))
(define-public linux-libre
- (let* ((version "4.1.6")
+ (let* ((version "4.3.3")
(build-phase
'(lambda* (#:key system inputs #:allow-other-keys #:rest args)
;; Apply the neat patch.
(let ((arch (car (string-split system #\-))))
(setenv "ARCH"
(cond ((string=? arch "i686") "i386")
+ ((string=? arch "mips64el") "mips")
(else arch)))
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH")))
(for-each (lambda (file)
(copy-file file
(string-append out "/" (basename file))))
- (find-files "." "^(bzImage|System\\.map)$"))
+ (find-files "." "^(bzImage|vmlinuz|System\\.map)$"))
(copy-file ".config" (string-append out "/config"))
(zero? (system* "make"
(string-append "DEPMOD=" mit "/sbin/depmod")
(uri (linux-libre-urls version))
(sha256
(base32
- "07gmpy32v90bx78bm1khc1hw7x0akdh2sxpkxkavwj4fjc6f732v"))))
+ "1z43kzs1pzwq5mkyh7zk8nq38sxlswp65824v54dzwngyc252a18"))))
(build-system gnu-build-system)
+ (supported-systems '("x86_64-linux" "i686-linux"))
(native-inputs `(("perl" ,perl)
("bc" ,bc)
+ ("openssl" ,openssl)
("module-init-tools" ,module-init-tools)
("patch/freedo+gnu" ,%boot-logo-patch)
(define-public linux-pam
(package
(name "linux-pam")
- (version "1.1.6")
+ (version "1.2.1")
(source
(origin
(method url-fetch)
version ".tar.bz2")))
(sha256
(base32
- "1hlz2kqvbjisvwyicdincq7nz897b9rrafyzccwzqiqg53b8gf5s"))))
+ "1n9lnf9gjs72kbj1g354v1xhi2j27aqaah15vykh7cnkq08i4arl"))))
(build-system gnu-build-system)
(native-inputs
`(("flex" ,flex)
(define-public util-linux
(package
(name "util-linux")
- (version "2.25.2")
+ (version "2.27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/"
name "-" version ".tar.xz"))
(sha256
(base32
- "1miwwdq1zwvhf0smrxx3fjddq3mz22s8rc5cw54s7x3kbdqpyig0"))
+ "1ivdx1bhjbakf77agm9dn3wyxia1wgz9lzxgd61zqxw3xzih9gzw"))
(patches (list (search-patch "util-linux-tests.patch")))
(modules '((guix build utils)))
(snippet
;; We take the 'logger' program from GNU Inetutils and 'kill'
;; from GNU Coreutils.
- '(substitute* "configure"
- (("build_logger=yes") "build_logger=no")
- (("build_kill=yes") "build_kill=no")))))
+ '(begin
+ (substitute* "configure"
+ (("build_logger=yes") "build_logger=no")
+ (("build_kill=yes") "build_kill=no"))
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--disable-use-tty-group"
- "--enable-ddate"
;; Install completions where our
;; bash-completion package expects them.
("net-base" ,net-base))) ;for tests
(home-page "https://www.kernel.org/pub/linux/utils/util-linux/")
(synopsis "Collection of utilities for the Linux kernel")
- (description
- "Util-linux is a random collection of utilities for the Linux kernel.")
+ (description "Util-linux is a diverse collection of Linux kernel
+utilities. It provides dmesg and includes tools for working with filesystems,
+block devices, UUIDs, TTYs, and many other tools.")
;; Note that util-linux doesn't use the same license for all the
;; code. GPLv2+ is the default license for a code without an
(arguments
'(;; util-linux is not the preferred source for some of the libraries and
;; commands, so disable them (see, e.g.,
- ;; <http://git.buildroot.net/buildroot/commit/?id=e1ffc2f791b336339909c90559b7db40b455f172>.)
+ ;; <http://git.buildroot.net/buildroot/commit/?id=e1ffc2f791b33633>.)
#:configure-flags '("--disable-libblkid"
"--disable-libuuid" "--disable-uuidd"
"--disable-fsck"
(define-public libcap
(package
(name "libcap")
- (version "2.22")
+ (version "2.24")
(source (origin
(method url-fetch)
-
- ;; Tarballs used to be available from
- ;; <https://www.kernel.org/pub/linux/libs/security/linux-privs/>
- ;; but they never came back after kernel.org was compromised.
(uri (string-append
- "mirror://debian/pool/main/libc/libcap2/libcap2_"
- version ".orig.tar.gz"))
+ "mirror://kernel.org/linux/libs/security/linux-privs/"
+ "libcap2/libcap-" version ".tar.xz"))
(sha256
(base32
- "07vjhkznm82p8dm4w6j8mmg7h5c70lp5s9bwwfdmgwpbixfydjp1"))))
+ "0rbc9qbqs5bp9am9s9g83wxj5k4ixps2agy9dxr1v1fwg27mdr6f"))))
(build-system gnu-build-system)
(arguments '(#:phases
(modify-phases %standard-phases
(define-public powertop
(package
(name "powertop")
- (version "2.5")
+ (version "2.8")
(source
(origin
(method url-fetch)
(uri (string-append
- "https://01.org/powertop/sites/default/files/downloads/powertop-"
+ "https://01.org/sites/default/files/downloads/powertop/powertop-"
version ".tar.gz"))
(sha256
(base32
- "02rwqbpasdayl201v0549gbp2f82rd0hqiv3i111r7npanjhhb4b"))))
+ "0nlwazxbnn0k6q5f5b09wdhw0f194lpzkp3l7vxansqhfczmcyx8"))))
(build-system gnu-build-system)
(inputs
- ;; TODO: Add pciutils.
`(("zlib" ,zlib)
- ;; ("pciutils" ,pciutils)
+ ("pciutils" ,pciutils)
("ncurses" ,ncurses)
("libnl" ,libnl)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)))
(home-page "https://01.org/powertop/")
(synopsis "Analyze power consumption on Intel-based laptops")
(description
(define-public numactl
(package
(name "numactl")
- (version "2.0.9")
+ (version "2.0.11")
(source (origin
(method url-fetch)
(uri (string-append
".tar.gz"))
(sha256
(base32
- "073myxlyyhgxh1w3r757ajixb7s2k69czc3r0g12c3scq7k3784w"))))
+ "0qbqa9gac2vlahrngi553hws2mqgqdwv2lc69a3yx4gq6l90j325"))))
(build-system gnu-build-system)
(arguments
- '(#:phases (alist-replace
- 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- ;; There's no 'configure' script, just a raw makefile.
- (substitute* "Makefile"
- (("^prefix := .*$")
- (string-append "prefix := " (assoc-ref outputs "out")
- "\n"))
- (("^libdir := .*$")
- ;; By default the thing tries to install under
- ;; $prefix/lib64 when on a 64-bit platform.
- (string-append "libdir := $(prefix)/lib\n"))))
- %standard-phases)
-
- #:make-flags (list
- ;; By default the thing tries to use 'cc'.
- "CC=gcc"
-
- ;; Make sure programs have an RPATH so they can find
- ;; libnuma.so.
- (string-append "LDLIBS=-Wl,-rpath="
- (assoc-ref %outputs "out") "/lib"))
-
- ;; There's a 'test' target, but it requires NUMA support in the kernel
+ '(;; There's a 'test' target, but it requires NUMA support in the kernel
;; to run, which we can't assume to have.
#:tests? #f))
+
(home-page "http://oss.sgi.com/projects/libnuma/")
(synopsis "Tools for non-uniform memory access (NUMA) machines")
(description
;; The post-systemd fork, maintained by Gentoo.
(package
(name "eudev")
- (version "2.1.1")
+ (version "3.1.5")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "0shf5vqiz9fdxl95aa1a8vh0xjxwim3psc39wr2xr8lnahf11vva"))
- (patches (list (search-patch "eudev-rules-directory.patch")))
- (modules '((guix build utils)))
- (snippet
- ;; 'configure' checks uses <linux/btrfs.h> as an indication of
- ;; whether Linux headers are available, but it doesn't actually
- ;; use it, and our 'linux-libre-headers' package doesn't
- ;; provide it. So just remove that.
- '(substitute* "configure"
- (("linux/btrfs\\.h")
- "")))))
+ "0akg9gcc3c2p56xbhlvbybqavcprly5q0bvk655zwl6d62j8an7p"))
+ (patches (list (search-patch "eudev-rules-directory.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
- ("gperf" ,gperf)
- ("glib" ,glib "bin") ; glib-genmarshal, etc.
- ("perl" ,perl) ; for the tests
- ("python" ,python-2))) ; ditto
+ ("perl" ,perl)
+ ("gperf" ,gperf)))
(inputs
- `(("kmod" ,kmod)
- ("pciutils" ,pciutils)
- ("usbutils" ,usbutils)
- ("util-linux" ,util-linux)
- ("glib" ,glib)
- ("gobject-introspection" ,gobject-introspection)))
- (arguments
- `(#:configure-flags (list "--enable-libkmod"
-
- (string-append
- "--with-pci-ids-path="
- (assoc-ref %build-inputs "pciutils")
- "/share/pci.ids.gz")
-
- "--with-firmware-path=/no/firmware"
-
- ;; Work around undefined reference to
- ;; 'mq_getattr' in sc-daemon.c.
- "LDFLAGS=-lrt")
- #:phases
- (alist-cons-before
- 'build 'pre-build
- ;; The program 'g-ir-scanner' (part of the package
- ;; 'gobject-introspection'), to generate .gir files, makes some
- ;; library pre-processing. During that phase it looks for the C
- ;; compiler as either 'cc' or as defined by the environment variable
- ;; 'CC' (with code in 'giscanner/dumper.py').
- (lambda* _
- (setenv "CC" "gcc"))
- %standard-phases)))
+ `(("kmod" ,kmod)))
(home-page "http://www.gentoo.org/proj/en/eudev/")
(synopsis "Userspace device management")
(description "Udev is a daemon which dynamically creates and removes
"wireless-regdb-" version ".tar.xz"))
(sha256
(base32
- "0czi83k311fp27z42hxjm8vi88fsbc23mhavv96lkb4pmari0jjc"))))
+ "0czi83k311fp27z42hxjm8vi88fsbc23mhavv96lkb4pmari0jjc"))
+
+ ;; We're building 'regulatory.bin' by ourselves.
+ (snippet '(delete-file "regulatory.bin"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(delete 'configure))
+
+ ;; The 'all' target of the makefile depends on $(REGDB_CHANGED), which
+ ;; is computed and can be equal to 'maintainer-clean'; when that
+ ;; happens, we can end up deleting the 'regulatory.bin' file that we
+ ;; just built. Thus, build things sequentially.
+ #:parallel-build? #f
+
#:tests? #f ;no tests
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "PREFIX=" out)
(define-public bluez
(package
(name "bluez")
- (version "5.30")
+ (version "5.36")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.xz"))
(sha256
(base32
- "0b1qbnq1xzcdw5rajg9yyg31bf21jnff0n6gnf1snz89bbdllfhy"))))
+ "1wkqwmi5krr37mxcqqlp5m2xnw7vw70v3ww7j09vvlskxcdflhx3"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
"BlueZ provides support for the core Bluetooth layers and protocols. It
is flexible, efficient and uses a modular implementation.")
(license gpl2+)))
+
+(define-public fuse-exfat
+ (package
+ (name "fuse-exfat")
+ (version "1.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri "https://docs.google.com/uc?export=download&\
+id=0B7CLI-REKbE3VTdaa0EzTkhYdU0")
+ (sha256
+ (base32
+ "0glmgwrf0nv09am54i6s35ksbvrywrwc51w6q32mv5by8475530r"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("scons" ,scons)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("fuse" ,fuse)))
+ (arguments
+ '(#:tests? #f ;no test suite
+
+ ;; XXX: Factorize with 'exfat-utils'.
+ #:phases (modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'scons-propagate-environment
+ (lambda _
+ ;; Modify the SConstruct file to arrange for
+ ;; environment variables to be propagated.
+ (substitute* "SConstruct"
+ (("^env = Environment\\(")
+ "env = Environment(ENV=os.environ, "))))
+ (replace 'build
+ (lambda _
+ (zero? (system* "scons"))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (man8 (string-append out
+ "/share/man/man8")))
+ (mkdir-p bin)
+ (mkdir-p man8)
+ (for-each (lambda (file)
+ (copy-file
+ file
+ (string-append man8 "/"
+ (basename file))))
+ (find-files "." "\\.8$"))
+ (zero? (system* "scons" "install"
+ (string-append "DESTDIR="
+ bin)))))))))
+ (home-page "http://code.google.com/p/exfat/")
+ (synopsis "Mount exFAT file systems")
+ (description
+ "This package provides a FUSE-based file system that provides read and
+write access to exFAT devices.")
+ (license gpl2+)))
+
+(define-public gpm
+ (package
+ (name "gpm")
+ (version "1.20.7")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.nico.schottelius.org/software/gpm/archives/gpm-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'bootstrap
+ (lambda _
+ ;; The tarball was not generated with 'make dist' so we
+ ;; need to bootstrap things ourselves.
+ (and (zero? (system* "./autogen.sh"))
+ (begin
+ (patch-makefile-SHELL "Makefile.include.in")
+ #t)))))
+
+ ;; Make sure programs find libgpm.so.
+ #:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib"))))
+ (native-inputs
+ `(("texinfo" ,texinfo)
+ ("bison" ,bison)
+ ("flex" ,flex)
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)))
+ (home-page "http://www.nico.schottelius.org/software/gpm/")
+ (synopsis "Mouse support for the Linux console")
+ (description
+ "The GPM (general-purpose mouse) daemon is a mouse server for
+applications running on the Linux console. It allows users to select items
+and copy/paste text in the console and in xterm.")
+ (license gpl2+)))