diff options
Diffstat (limited to 'gnu/packages/debian.scm')
-rw-r--r-- | gnu/packages/debian.scm | 235 |
1 files changed, 162 insertions, 73 deletions
diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index c54473f6f1..dcaf39c7a3 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -59,7 +59,7 @@ (define-public debian-archive-keyring (package (name "debian-archive-keyring") - (version "2023.4") + (version "2025.1") (source (origin (method git-fetch) @@ -68,10 +68,10 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0gn24dgzpg9zwq2hywkac4ljr5lrh7smyqxm21k2bivl0bhc4ca6")))) + (base32 "11i6gpff0sa7a6cngj3n3ysdphw745zp39zlhpw4iiv6mmqmp99m")))) (build-system gnu-build-system) (arguments - '(#:test-target "verify-results" + '(#:tests? #f ; no tests #:parallel-build? #f ; has race conditions #:phases (modify-phases %standard-phases @@ -158,6 +158,105 @@ contains the archive keys used for that.") ;; "The keys in the keyrings don't fall under any copyright." (license license:public-domain))) +(define-public elxr-archive-keyring + (package + (name "elxr-archive-keyring") + (version "2024.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://gitlab.com/elxr/packages/elxr-archive-keyring") + (commit (string-append "upstream/" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1cw7sn22g82g01g7xb4fp8pb6nvb4lck269w1i91rfcmhqxb4iz7")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (install-file "elxr-archive-keyring.gpg" + (string-append #$output "/share/keyrings/"))))))) + (native-inputs (list gnupg)) + (home-page "https://pkg.elxr.org/pkg/elxr-archive-keyring") + (synopsis "GnuPG archive keys of the Elxr archive") + (description "The Elxr distribution signs its packages. This package +contains the archive keys used for that.") + (license (list license:public-domain ;; the keys + license:gpl2+)))) + +(define-public kali-archive-keyring + (package + (name "kali-archive-keyring") + (version "2025.1") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://gitlab.com/kalilinux/packages/kali-archive-keyring") + (commit (string-append "kali/" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07iwh24myf3s2ziqd2wwzclm48vyv0qvddz0rb6771laaal4wd7w")) + (modules '((guix build utils))) + (snippet #~(delete-file-recursively "debian")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (install-file "kali-archive-keyring.gpg" + (string-append #$output "/share/keyrings/"))))))) + (native-inputs (list gnupg)) + (home-page "https://pkg.kali.org/pkg/kali-archive-keyring") + (synopsis "GnuPG archive keys of the Kali archive") + (description "The Kali distribution signs its packages. This package +contains the archive keys used for that.") + (license (list license:public-domain ;; the keys + license:gpl2+)))) + +(define-public pardus-archive-keyring + (package + (name "pardus-archive-keyring") + (version "2021.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://depo.pardus.org.tr/pardus/pool/main/p/" + "pardus-archive-keyring/pardus-archive-keyring_" + version ".tar.xz")) + (sha256 + (base32 "0h4y9clpcfprx7fq2yy2bb22ykax5a0wlw8zlcq9kbiya83q02yr")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda _ + (install-file "keyrings/pardus-archive-keyring.gpg" + (string-append #$output "/share/keyrings/"))))))) + (native-inputs (list jetring)) + (home-page "https://tracker.pardus.org.tr/yirmiuc/pardus-archive-keyring") + (synopsis "GnuPG archive keys of the Pardus archive") + (description "The Pardus distribution signs its packages. This package +contains the archive keys used for that.") + (license (list license:public-domain ;; the keys + license:gpl2+)))) + (define-public pureos-archive-keyring (package (name "pureos-archive-keyring") @@ -403,84 +502,74 @@ debbugs server.") (define-public debootstrap (package (name "debootstrap") - (version "1.0.134") + (version "1.0.141") (source - (origin - (method git-fetch) - (uri (git-reference + (origin + (method git-fetch) + (uri (git-reference (url "https://salsa.debian.org/installer-team/debootstrap.git") (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0k9gi6gn8qlqs81r2q1hx5wfyax3nvpkk450girdra7dh54iidr4")))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1xdw29cygp0ii65kz8ns8hf0lfrwdjhaxf3sm6q304cm0ic2m7aj")))) (build-system gnu-build-system) (arguments (list - #:phases - #~(modify-phases %standard-phases - (delete 'configure) - (add-after 'unpack 'patch-source - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((debian #$(this-package-input "debian-archive-keyring")) - (pureos #$(this-package-input "pureos-archive-keyring")) - (trisquel #$(this-package-input "trisquel-keyring")) - (ubuntu #$(this-package-input "ubuntu-keyring"))) - (substitute* "Makefile" - (("/usr") "")) - (substitute* '("scripts/etch" - "scripts/potato" - "scripts/sarge" - "scripts/sid" - "scripts/woody" - "scripts/woody.buildd") - (("/usr") debian)) - (substitute* "scripts/gutsy" - (("/usr") ubuntu)) - (substitute* "scripts/amber" - (("/usr/share/keyrings/pureos-archive-keyring.gpg") - (string-append - pureos - "/share/keyrings/pureos-archive-keyring.gpg"))) - (substitute* "scripts/robur" - (("/usr/share/keyrings/trisquel-archive-keyring.gpg") - (string-append - trisquel - "/share/keyrings/trisquel-archive-keyring.gpg"))) - (substitute* "debootstrap" - (("=/usr") (string-append "=" #$output)) - (("/usr/bin/dpkg") (search-input-file inputs "/bin/dpkg"))) - ;; Include the keyring locations by default. - (substitute* (find-files "scripts") - (("keyring.*(debian-archive-keyring.gpg)"_ keyring) - (string-append "keyring " debian "/share/keyrings/" keyring)) - (("keyring.*(pureos-archive-keyring.gpg)" _ keyring) - (string-append "keyring " pureos "/share/keyrings/" keyring)) - (("keyring.*(trisquel-archive-keyring.gpg)" _ keyring) - (string-append "keyring " trisquel "/share/keyrings/" keyring)) - (("keyring.*(ubuntu-archive-keyring.gpg)" _ keyring) - (string-append "keyring " ubuntu "/share/keyrings/" keyring))) - ;; Ensure PATH works both in guix and within the debian chroot - ;; workaround for: https://bugs.debian.org/929889 - (substitute* "functions" - (("PATH=/sbin:/usr/sbin:/bin:/usr/bin") - "PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin")) - (substitute* (find-files "scripts") - (("/usr/share/zoneinfo") - (search-input-directory inputs "/share/zoneinfo")))))) - (add-after 'install 'install-man-file - (lambda* (#:key outputs #:allow-other-keys) - (install-file "debootstrap.8" - (string-append #$output "/share/man/man8")))) - (add-after 'install 'wrap-executable - (lambda* (#:key outputs #:allow-other-keys) - (let ((debootstrap (string-append #$output "/sbin/debootstrap")) - (path (getenv "PATH"))) - (wrap-program debootstrap - `("PATH" ":" prefix (,path))))))) - #:make-flags #~(list (string-append "DESTDIR=" #$output)) - #:tests? #f)) ; no tests + #:tests? #f ; no tests + #:modules '((guix build gnu-build-system) + (guix build utils) + (ice-9 textual-ports) + (srfi srfi-1) + (srfi srfi-26)) + #:make-flags #~(list (string-append "DESTDIR=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'patch-source + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "Makefile" + (("/usr") "")) + (substitute* "debootstrap" + (("=/usr") (string-append "=" #$output)) + (("/usr/bin/dpkg") (search-input-file inputs "/bin/dpkg"))) + ;; XXX: For unsupported distros (here, tangly is abandonned), we + ;; simply remove the scripts, otherwise the following substitute* + ;; will error. + (for-each + delete-file + (find-files + "scripts" + (lambda (file stat) + (let ((content (call-with-input-file file get-string-all))) + (any (compose (cut string-contains content <>) + (cut string-append "/usr/share/keyrings/" <> + "-archive-keyring.gpg")) + (list "tanglu")))))) + (substitute* (find-files "scripts") + ;; Include the keyring locations by default. + (("/usr(/share/keyrings/.*.gpg)"_ keyring) + (search-input-file inputs keyring)) + ;; Patch zoneinfo. + (("/usr/share/zoneinfo") + (search-input-directory inputs "/share/zoneinfo"))) + ;; Ensure PATH works both in guix and within the debian chroot + ;; workaround for: https://bugs.debian.org/929889 + (substitute* "functions" + (("PATH=/sbin:/usr/sbin:/bin:/usr/bin") + "PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin")))) + (add-after 'install 'install-man-file + (lambda _ + (install-file "debootstrap.8" + (string-append #$output "/share/man/man8")))) + (add-after 'install 'wrap-executable + (lambda _ + (wrap-program (string-append #$output "/sbin/debootstrap") + `("PATH" ":" prefix (,(getenv "PATH"))))))))) (inputs (list debian-archive-keyring + elxr-archive-keyring + kali-archive-keyring + pardus-archive-keyring pureos-archive-keyring trisquel-keyring ubuntu-keyring |