aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm127
1 files changed, 93 insertions, 34 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 5953c09c24..ce35a199e5 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -231,6 +231,18 @@ defconfig. Return the appropriate make target if applicable, otherwise return
(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."
@@ -294,14 +306,16 @@ 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)))
- (_
- '()))
+ ("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
@@ -323,6 +337,11 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(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
@@ -393,38 +412,36 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
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.20")
+(define %linux-libre-hash "07ss8nx95f4pqzzjy382fy5hk7anjm3hpbb3mzl1x8fzfq05q3dq")
-(define %linux-libre-version "4.19.12")
-(define %linux-libre-hash "1cgcg3bw55adx3ivk1aiivrqx5p0ydbz1hzjwzwns0cdqi838cyp")
-
-(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.19-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.13")
+(define %linux-libre-4.19-hash "0ac0ywy542fiwdiab2z12rbjn9zw8vjbzkbpmpk9nfic2mcyrg8r")
+
+(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.90")
-(define %linux-libre-4.14-hash "19my91gb54whgk83vyd45ri0c3jb57jfdb670s80fp02ilr7x5ka")
+(define %linux-libre-4.14-version "4.14.91")
+(define %linux-libre-4.14-hash "1xr4q6hqjg4fjcd1w8qi2x9a11ms9wvascy9b1p6czblg9j9dd6a")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@@ -433,21 +450,29 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
- (make-linux-libre "4.9.147"
- "0gpzf04lmwxh675lam4m8pbwrgxzd7y1y50b6yfzhxa4bb3c4yfb"
- %intel-compatible-systems
+ (make-linux-libre "4.9.148"
+ "0yrjgvdzbcp750j4fhlxi4ia1v0fqh0y3p99wnbpfvg17j01lbjl"
+ '("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(make-linux-libre "4.4.169"
"1snjdih9iv3fg7f9h2r1gldcqmvzj1w398aysws4fialj488x1p4"
- %intel-compatible-systems
+ '("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"))
@@ -463,6 +488,14 @@ It has been modified to remove all non-free binary blobs.")
(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"))
@@ -4974,3 +5007,29 @@ infrastructure for in-kernel netfilter subsystems (such as nfnetlink_log,
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))))