summaryrefslogtreecommitdiff
path: root/gnu/packages/debian.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/debian.scm')
-rw-r--r--gnu/packages/debian.scm235
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