summaryrefslogtreecommitdiff
path: root/nongnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'nongnu/packages')
-rw-r--r--nongnu/packages/linux.scm28
1 files changed, 17 insertions, 11 deletions
diff --git a/nongnu/packages/linux.scm b/nongnu/packages/linux.scm
index 0fd2153..5c0c890 100644
--- a/nongnu/packages/linux.scm
+++ b/nongnu/packages/linux.scm
@@ -24,7 +24,7 @@
24;;; Copyright © 2023 Adam Kandur <rndd@tuta.io> 24;;; Copyright © 2023 Adam Kandur <rndd@tuta.io>
25;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> 25;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
26;;; Copyright © 2023, 2024, 2025 Ada Stevenson <adanskana@gmail.com> 26;;; Copyright © 2023, 2024, 2025 Ada Stevenson <adanskana@gmail.com>
27;;; Copyright © 2023 Tomas Volf <~@wolfsden.cz> 27;;; Copyright © 2023, 2026 Tomas Volf <~@wolfsden.cz>
28;;; Copyright © 2023 PRESFIL <presfil@protonmail.com> 28;;; Copyright © 2023 PRESFIL <presfil@protonmail.com>
29;;; Copyright © 2024-2026 Maxim Cournoyer <maxim@guixotic.com> 29;;; Copyright © 2024-2026 Maxim Cournoyer <maxim@guixotic.com>
30;;; Copyright © 2025 David Wilson <david@systemcrafters.net> 30;;; Copyright © 2025 David Wilson <david@systemcrafters.net>
@@ -126,21 +126,27 @@ some freedo package or an output of package-version procedure."
126 (define extract-gexp-inputs 126 (define extract-gexp-inputs
127 (compose gexp-inputs force origin-uri)) 127 (compose gexp-inputs force origin-uri))
128 128
129 (define (find-source-hash sources url) 129 (define (origin->input-things origin)
130 (let ((versioned-origin 130 (map gexp-input-thing (extract-gexp-inputs origin)))
131 (find (lambda (source) 131
132 (let ((uri (origin-uri source))) 132 (define (extract-sources inputs)
133 (and (string? uri) (string=? uri url)))) sources))) 133 (fold (λ (input sources)
134 (if versioned-origin 134 (if (origin? input)
135 (origin-hash versioned-origin) 135 (if (string? (origin-uri input))
136 #f))) 136 (acons (origin-uri input) (origin-hash input) sources)
137 (append sources
138 (extract-sources (origin->input-things input))))
139 sources))
140 '()
141 inputs))
137 142
138 (let* ((version (package-version freedo)) 143 (let* ((version (package-version freedo))
139 (url (linux-url version)) 144 (url (linux-url version))
140 (pristine-source (package-source freedo)) 145 (pristine-source (package-source freedo))
141 (inputs (map gexp-input-thing (extract-gexp-inputs pristine-source))) 146 (inputs (map gexp-input-thing (extract-gexp-inputs pristine-source)))
142 (sources (filter origin? inputs)) 147 (sources (extract-sources inputs))
143 (hash (find-source-hash sources url)) 148 (hash (or (assoc-ref sources url)
149 (error "fail to find hash for" freedo)))
144 (patches 150 (patches
145 (delete (@@ (gnu packages linux) %boot-logo-patch) 151 (delete (@@ (gnu packages linux) %boot-logo-patch)
146 (origin-patches pristine-source)))) 152 (origin-patches pristine-source))))