Package: guix-patches;
Reported by: Steve George <steve <at> futurile.net>
Date: Tue, 26 Mar 2024 20:43:01 UTC
Severity: normal
Tags: patch
Done: Vagrant Cascadian <vagrant <at> debian.org>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Steve George <steve <at> futurile.net> To: 70020 <at> debbugs.gnu.org Cc: jlicht <at> fsfe.org, steve <at> futurile.net Subject: [bug#70020] [PATCH v2 1/1] * gnu: Add debian-devscripts. Date: Mon, 1 Apr 2024 21:52:15 +0100
* gnu/packages/debian.scm (debian-devscripts): New variable. Change-Id: Iff64afdb1f730f3d941617bc428a57d09c0381b2 --- gnu/packages/debian.scm | 104 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index 1715b963a93..88060d3395d 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -27,6 +27,7 @@ (define-module (gnu packages debian) #:use-module (guix packages) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) + #:use-module (guix build-system perl) #:use-module (guix build-system trivial) #:use-module (gnu packages autotools) #:use-module (gnu packages backup) @@ -34,6 +35,7 @@ (define-module (gnu packages debian) #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) + #:use-module (gnu packages databases) #:use-module (gnu packages dbm) #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) @@ -43,7 +45,10 @@ (define-module (gnu packages debian) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages web) #:use-module (gnu packages wget) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-26)) (define-public debian-archive-keyring @@ -211,6 +216,105 @@ (define-public ubuntu-keyring (license (list license:public-domain ; the keys license:gpl2+)))) ; see debian/copyright +(define-public debian-devscripts + (package + (name "debian-devscripts") + (version "2.23.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/debian/devscripts.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "031467rclglk1hdx8z2vzx5z88vpy0sk73qi8ni0sai3jx62ji75")))) + (build-system perl-build-system) ;; bioperl-live used perl - I was using gnu + (arguments + (let ((transitive-inputs + (map (compose package-name cadr) + (delete-duplicates + (concatenate + (map (compose package-transitive-target-inputs cadr) + (package-inputs this-package))))))) + (list + #:tests? #f ; tests assume various Debian specific capabilities + #:phases + ;; only includes the bts command as that's useful for Guix packagers + #~(modify-phases %standard-phases + (add-after 'bootstrap 'patch-programs + (lambda* (#:key inputs outputs #:allow-other-keys) + (with-directory-excursion "scripts" + (substitute* "bts.pl" (("/bin/bash") (which "bash"))) + (substitute* "bts.pl" (("/bin/rm") (which "rm"))) + (substitute* "bts.pl" (("/bin/cat") (which "cat"))) + ;; Avoid having to provide Debian's sensible-browser package + (substitute* "bts.pl" + (("my \\$browser;") "my $browser = $ENV{'BROWSER'};")) + (substitute* "bts.pl" + (("'sensible-browser',") "$browser,")) + (rename-file "bts.pl" "bts")))) + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((bin (string-append #$output "/bin")) + (bashcomp (string-append #$output + "/etc/bash_completion.d")) + (perl-lib (string-join + (cons (string-append #$output + "/lib/perl5/site_perl/Devscripts") + (map (lambda (name) + (assoc-ref %build-inputs name)) + #$transitive-inputs)) + ":")) + ;(perl-lib (string-append #$output + ; "/lib/perl5/site_perl/Devscripts")) + (doc (string-append #$output + "/share/doc/" #$name "-" #$version))) + (with-directory-excursion "scripts" + (for-each (lambda (f) (install-file f bin)) + '("bts")) + (mkdir-p bashcomp) + (copy-file "bts.bash_completion" (string-append bashcomp "/bts"))) + ;(with-directory-excursion "lib/Devscripts/" + ;(for-each (lambda (f) (install-file f perl-lib)) + ; (find-files "./"))) + (for-each (lambda (f) (install-file f doc)) + '("README"))))) + (add-after 'install 'manpage + ;; FIXME: missing the man page for bts, how is it created? + (lambda* (#:key outputs #:allow-other-keys) + (let ( (man1 (string-append #$output "/share/man/man1")) + (man5 (string-append #$output "/share/man/man5"))) + (with-directory-excursion "doc" + (invoke "make" "devscripts.1") + (install-file "devscripts.1" man1) + (install-file "devscripts.conf.5" man5))))))))) + (inputs (list dpkg perl-authen-sasl perl-db-file)) + (native-inputs (list perl perl-libwww perl-uri pkg-config python)) + (propagated-inputs + (list dpkg + perl-authen-sasl + perl-db-file + perl-encode + perl-file-homedir + perl-file-which + perl-ipc-run + perl-json + perl-libwww + perl-list-compare + perl-lwp-protocol-https + perl-moo + perl-uri)) + (home-page "https://tracker.debian.org/pkg/devscripts") + (synopsis "BTS script from Debian's devscripts") + (description "This package only provides the bts script from the Debian +devscripts archive. It's useful for Guix Developers that interacti with GNU's +debbugs server.") + (license license:gpl2))) + (define-public debootstrap (package (name "debootstrap") -- 2.41.0
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.