;;; Copyright © 2019 Alex Griffin ;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation, either version 3 of the License, or ;;; (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program. If not, see . (define-module (nonfree packages linux) #:use-module (gnu packages linux) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system trivial) #:use-module ((guix licenses) #:prefix license:)) (define (linux-urls version) "Return a list of URLS for Linux VERSION." (let ((major-version (string-take version 1))) (list (string-append "https://www.kernel.org/pub/linux/kernel/v" major-version ".x/linux-" version ".tar.xz")))) (define (corrupt-linux freedo version hash) (package (inherit freedo) (name "linux") (version version) (source (origin (method url-fetch) (uri (linux-urls version)) (sha256 (base32 hash)))) (home-page "https://www.kernel.org/") (synopsis "Linux kernel with nonfree binary blobs included") (description "The unmodified Linux kernel, including nonfree blobs, for running GuixSD on hardware which requires nonfree software to function."))) (define-public linux (corrupt-linux linux-libre "5.1.1" "1pcd0npnrjbc01rzmm58gh135w9nm5mf649asqlw50772qa9jkd0")) (define-public linux-firmware (let ((commit "92e17d0dd2437140fab044ae62baf69b35d7d1fa") (revision "1")) (package (name "linux-firmware") (version (string-append "20190502-" revision "." (string-take commit 7))) (source (origin (method git-fetch) (uri (git-reference (url (string-append "https://git.kernel.org/pub/scm/" "linux/kernel/git/firmware/linux-firmware.git")) (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 "1bsgp124jhs9bbjjq0fzmdsziwx1y5aivkgpj8v56ar0y2zmrw2d")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) #:builder (begin (use-modules (guix build utils)) (let ((source (assoc-ref %build-inputs "source")) (fw-dir (string-append %output "/lib/firmware/"))) (mkdir-p fw-dir) (copy-recursively source fw-dir) #t)))) (home-page "http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git") (synopsis "Non-free firmware blobs for Linux") (description "Non-free firmware blobs for enabling support for various hardware in the Linux kernel.") (license (license:non-copyleft (string-append "https://git.kernel.org/pub/scm/linux/kernel/git/" "firmware/linux-firmware.git/plain/WHENCE"))))))