;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
-(define-public linux-libre-5.12-version "5.12.10")
+(define-public linux-libre-5.12-version "5.12.12")
(define deblob-scripts-5.12
(linux-libre-deblob-scripts
linux-libre-5.12-version
(base32 "1p1jzrci97sipjdx3h0vmdnw35z2vyvczinxmp65xi1ja7ww0g14")))
(define-public linux-libre-5.12-pristine-source
(let ((version linux-libre-5.12-version)
- (hash (base32 "03v3wzpbxb78gf4wsnc5wv6683g439cm2bzcjj4q657dagy9km68")))
+ (hash (base32 "1a1ymbgkp8ngrkf7cfjrn56zb9qz1mm1j1pmd60g85ln7nyb4ai1")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.12)))
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-5.10-version "5.10.43")
+(define-public linux-libre-5.10-version "5.10.45")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
linux-libre-5.10-version
(base32 "1zsr02zmpx3968277sy8pfs2mdlgh86ifymwyj0r56wnhzf5q6hk")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
- (hash (base32 "00yl1g6irpwy3sy0d43qvlk7x1gfk4v1dyv460afxy527d1ixf43")))
+ (hash (base32 "01rmw5rnxyybr8sh0v9rgamrg71ign2nr7m0ilrq9704k6dj9dzj")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
-(define-public linux-libre-5.4-version "5.4.125")
+(define-public linux-libre-5.4-version "5.4.127")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
linux-libre-5.4-version
(base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "0g73xfkmj4sahrk7gx72hm2i4m98gqghswqyf8yqh77b9857bvhp")))
+ (hash (base32 "1gr89x1ymxaslp9fqcchaa7939yvhxy67z3pgskmx6z2vrd9pgd0")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.194")
+(define-public linux-libre-4.19-version "4.19.195")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
linux-libre-4.19-version
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "15l80psfgffa756vpjxmjkwjqif2gpx441hpzr473xwryp6bvbma")))
+ (hash (base32 "02rdy5mdmwxli0cin5n7ab492y9fs01hhqxrjq6b4idwv5baa42m")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.236")
+(define-public linux-libre-4.14-version "4.14.237")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
linux-libre-4.14-version
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "0albmgxj3cb1dvjagj54l0ffa7kwi8brh7bqwj6gvzpylsby5sp4")))
+ (hash (base32 "0kib9p61hhwjbr8zhir9aw86qik7k6bm95503n3k09ayyachajpq")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.272")
+(define-public linux-libre-4.9-version "4.9.273")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
linux-libre-4.9-version
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "0n0hrszaijdpnbdvd8bvz15m7g268is0zw84w4vaf37418whrgzq")))
+ (hash (base32 "0jjarv3xfkc21j1xhgch53w8wm6rq3xw1i03rjw9fv5i9k4x6qsw")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.272")
+(define-public linux-libre-4.4-version "4.4.273")
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
linux-libre-4.4-version
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "1ar468ymk96v2pq9x209z2z4wbypppb91jpw8g22aa30pr9aagyi")))
+ (hash (base32 "1pd39cak0zhda3m9nvn9yxgd070wxvckaha5wl8pi7c8i6jfpclb")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
(define* (make-linux-libre version hash-string supported-systems
#:key
+ (extra-version #f)
;; A function that takes an arch and a variant.
;; See kernel-config for an example.
- (extra-version #f)
(configuration-file #f)
(defconfig "defconfig")
(extra-options %default-extra-linux-options)
(define* (make-linux-libre* version source supported-systems
#:key
+ (extra-version #f)
;; A function that takes an arch and a variant.
;; See kernel-config for an example.
- (extra-version #f)
(configuration-file #f)
(defconfig "defconfig")
(extra-options %default-extra-linux-options))
(format #t "`CROSS_COMPILE' set to `~a'~%"
(getenv "CROSS_COMPILE"))))
- (setenv "EXTRA_VERSION" ,extra-version)
+ (setenv "EXTRAVERSION" ,(and extra-version
+ (string-append "-" extra-version)))
(let ((build (assoc-ref %standard-phases 'build))
(config (assoc-ref (or native-inputs inputs) "kconfig")))
(patches (search-patches "gpm-glibc-2.26.patch"))
(sha256
(base32
- "13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh"))))
+ "13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Take a patch from upstream to fix building with -fno-common,
+ ;; which is default in GCC 10:
+ ;; https://github.com/telmich/gpm/pull/37
+ (substitute* "src/headers/daemon.h"
+ (("^time_t[[:blank:]]+last_selection_time;")
+ "extern time_t last_selection_time;"))))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(uri (string-append "https://github.com/rhboot/" name
"/releases/download/" version "/" name
"-" version ".tar.bz2"))
+ (patches (search-patches "efivar-gcc-compat.patch"))
(sha256
(base32
- "17vvfivhsrszh7q39b6npjsrhrhsjf1cmmcpp3xrh6wh7ywzwrrw"))))
+ "17vvfivhsrszh7q39b6npjsrhrhsjf1cmmcpp3xrh6wh7ywzwrrw"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Compile everything within a single LTO partition
+ ;; to work around ordering issues in the code. Try
+ ;; removing this for versions > 37.
+ (substitute* "Make.defaults"
+ (("-flto")
+ "-flto -flto-partition=one"))))))
(build-system gnu-build-system)
(arguments
`(;; Tests require a UEFI system and is not detected in the chroot.
#:tests? #f
#:make-flags (list (string-append "prefix=" %output)
(string-append "libdir=" %output "/lib")
- "CC_FOR_BUILD=gcc"
+ (string-append "CC_FOR_BUILD=" ,(cc-for-target))
(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
#:phases
(modify-phases %standard-phases