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.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 70020 in the body.
You can then email your comments to 70020 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Tue, 26 Mar 2024 20:43:02 GMT) Full text and rfc822 format available.Steve George <steve <at> futurile.net>
:guix-patches <at> gnu.org
.
(Tue, 26 Mar 2024 20:43:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Steve George <steve <at> futurile.net> To: guix-patches <at> gnu.org Cc: Steve George <steve <at> futurile.net> Subject: [PATCH 1/1] * gnu: Add debian-devscripts. Date: Tue, 26 Mar 2024 20:41:25 +0000
* gnu/packages/debian.scm (debian-devscripts): New variable. Change-Id: Iff64afdb1f730f3d941617bc428a57d09c0381b2 --- gnu/packages/debian.scm | 66 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index 1715b963a93..ecec816d872 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,6 +45,8 @@ (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-26)) @@ -211,6 +215,68 @@ (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 gnu-build-system) + (arguments + (list + #:tests? #f ; tests assume various Debian specific capabilities + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin")) + (devscripts-lib (string-append (assoc-ref outputs "out") + "/lib/perl5/site_perl/Devscripts"))) + (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") + (install-file "bts" bin)) + (with-directory-excursion "lib/Devscripts/" + (for-each (lambda (f) (install-file f devscripts-lib)) + (find-files "./"))))))))) + (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 "Scripts to make the life of a Debian Package maintainer easier") + (description "Scripts that assist Debian packagers. Guix developers +may find the bts command useful for interacting with GNU's debbugs server.") + (license license:gpl2))) + (define-public debootstrap (package (name "debootstrap") base-commit: 40f53e8fb5b867e3a1e8fa798328423718282aac -- 2.41.0
guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Sun, 31 Mar 2024 21:10:02 GMT) Full text and rfc822 format available.Message #8 received at 70020 <at> debbugs.gnu.org (full text, mbox):
From: Jelle Licht <jlicht <at> fsfe.org> To: Steve George <steve <at> futurile.net>, 70020 <at> debbugs.gnu.org Subject: Re: [bug#70020] [PATCH 1/1] * gnu: Add debian-devscripts. Date: Sun, 31 Mar 2024 23:08:53 +0200
Hi Steve, Steve George <steve <at> futurile.net> writes: > * gnu/packages/debian.scm (debian-devscripts): New variable. > > Change-Id: Iff64afdb1f730f3d941617bc428a57d09c0381b2 > --- > gnu/packages/debian.scm | 66 +++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 66 insertions(+) > > diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm > index 1715b963a93..ecec816d872 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,6 +45,8 @@ (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-26)) > > @@ -211,6 +215,68 @@ (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 gnu-build-system) > + (arguments > + (list > + #:tests? #f ; tests assume various Debian specific capabilities > + #:phases > + #~(modify-phases %standard-phases > + (delete 'configure) > + (delete 'build) > + (replace 'install > + (lambda* (#:key outputs #:allow-other-keys) > + (let ((bin (string-append (assoc-ref outputs "out") "/bin")) > + (devscripts-lib (string-append (assoc-ref outputs "out") > + "/lib/perl5/site_perl/Devscripts"))) > + (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,")) This could be separate phase, such as: (add-after 'unpack 'patch-programs ...) > + (rename-file "bts.pl" "bts") > + (install-file "bts" bin)) It seems this "only" installs bts, compared to the (huge) list of helper scripts I see listed in the repo README. IMHO not a blocker, but it should probably be reflected in either a comment or the package synopsis, name or description. Perhaps an acceptable compromise is to spin this off into just a 'bts' package? > + (with-directory-excursion "lib/Devscripts/" > + (for-each (lambda (f) (install-file f devscripts-lib)) > + (find-files "./"))))))))) This seems to not install any bash completions or manpages. IWBN to also install those, of at least make a comment w.r.t. them not being installed at this time. > + (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)) Would it be possible to wrap relevant scripts, in a similar manner to bioperl-minimal, and make most of these normal inputs instead of propagated-inputs? dpkg seems like something that could be patched to directly refer to a version directly in the store. > + (home-page "https://tracker.debian.org/pkg/devscripts") > + (synopsis "Scripts to make the life of a Debian Package maintainer easier") > + (description "Scripts that assist Debian packagers. Guix developers > +may find the bts command useful for interacting with GNU's debbugs server.") The description should contain full sentences. When you refer to bts, I'd use @code{bts} Texinfo markup as well. > + (license license:gpl2))) I did not check by going though all source files, but AFAICS, it's gplv2+. Or does the gplv2 refer to the devscripts files and bts.pl? In that case, a clarifying comment would be a welcome addition here. > (define-public debootstrap > (package > (name "debootstrap") > > base-commit: 40f53e8fb5b867e3a1e8fa798328423718282aac > -- > 2.41.0 Thanks, Jelle
guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Mon, 01 Apr 2024 20:54:02 GMT) Full text and rfc822 format available.Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Steve George <steve <at> futurile.net> To: 70020 <at> debbugs.gnu.org Cc: jlicht <at> fsfe.org, guix-patches <at> gnu.org, Steve George <steve <at> futurile.net> Subject: [PATCH v2 0/1] RE: Add Debian-devscripts Date: Mon, 1 Apr 2024 21:52:14 +0100
Hi Jelle - thanks for taking a look at this. I need some help with one of your requests, if you are able. Stuck on: I looked at bioperl-minimal and how it's creating a list of transitive inputs. I thought I had it but I'm stuck trying to 'unquote' in a Gexp context (I think that's the problem). Do you know any way to fix this? I guess the other option is to convert to the old type quoted list that bioperl-minimal is using. Fixed: 1. Split phases 2. Set-up so additional scripts can be added later - decided not to for now 2. Install man pages (mostly - can't figure out how it's creating the bts man page) 3. Install completions (bts) 4. Rework the synopsis / description 5. Add comment about other scripts Not changed: * Left the name as-is, because I think some people will find 'bts' through the 'debian devscripts' name. But, changed the synopsis / description to clarify that it's not the massive list of scripts Debian has. * Need to double check the license from your comment, and add a Texinfo markup. Steve George (1): * gnu: Add debian-devscripts. gnu/packages/debian.scm | 104 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) base-commit: 40f53e8fb5b867e3a1e8fa798328423718282aac -- 2.41.0
guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Mon, 01 Apr 2024 20:54:02 GMT) Full text and rfc822 format available.Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Steve George <steve <at> futurile.net> To: 70020 <at> debbugs.gnu.org Cc: jlicht <at> fsfe.org, guix-patches <at> gnu.org, Steve George <steve <at> futurile.net> Subject: [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
guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Mon, 01 Apr 2024 20:54:03 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Mon, 01 Apr 2024 20:54:03 GMT) Full text and rfc822 format available.guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Mon, 15 Apr 2024 09:31:02 GMT) Full text and rfc822 format available.Message #23 received at 70020 <at> debbugs.gnu.org (full text, mbox):
From: Steve George <steve <at> futurile.net> To: 70020 <at> debbugs.gnu.org Cc: jlicht <at> fsfe.org, Steve George <steve <at> futurile.net> Subject: [PATCH v3 0/1] RE: Add Debian-devscripts Date: Mon, 15 Apr 2024 10:29:50 +0100
Hi, Fixed the propagated inputs; just one there now which I think is pretty reasonable. All other changes requested included from the v2. Steve George (1): gnu: Add debian-devscripts. gnu/packages/debian.scm | 151 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) base-commit: 238e4ec73e4143f3a5a85b56ca00d395cdf60197 -- 2.41.0
guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Mon, 15 Apr 2024 09:32:03 GMT) Full text and rfc822 format available.Message #26 received at 70020 <at> debbugs.gnu.org (full text, mbox):
From: Steve George <steve <at> futurile.net> To: 70020 <at> debbugs.gnu.org Cc: jlicht <at> fsfe.org, Steve George <steve <at> futurile.net> Subject: [PATCH v3 1/1] gnu: Add debian-devscripts. Date: Mon, 15 Apr 2024 10:29:51 +0100
* gnu/packages/debian.scm (debian-devscripts): New variable. Change-Id: Iff64afdb1f730f3d941617bc428a57d09c0381b2 --- gnu/packages/debian.scm | 151 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index a88fb04feb..2c79afdc75 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 @@ -236,6 +241,152 @@ (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 gnu-build-system) + (arguments + (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 inputs outputs #:allow-other-keys) + (let* ((bindir (string-append #$output "/bin")) + (bashcomp (string-append #$output + "/etc/bash_completion.d")) + (perl-lib (string-append #$output + "/lib/perl5/site_perl/Devscripts")) + (wrap.pl + (lambda (scripts keys) + (for-each + (lambda (script) + (wrap-program script + `("PERL5LIB" ":" prefix + ,(cons + (string-append #$output + "/lib/perl5/site_perl") + (map + (lambda (key) + (string-append + (assoc-ref inputs key) + "/lib/perl5/site_perl")) + keys))))) + scripts))) + (doc (string-append #$output + "/share/doc/" #$name "-" #$version))) + (with-directory-excursion "scripts" + (for-each (lambda (f) (install-file f bindir)) + '("bts")) + (mkdir-p bashcomp) + (copy-file "bts.bash_completion" (string-append bashcomp "/bts"))) + (wrap.pl (find-files bindir) + (list "dpkg" + "perl-authen-sasl" + "perl-db-file" + "perl-encode" + "perl-encode-locale" + "perl-file-homedir" + "perl-file-listing" + "perl-file-which" + "perl-http-cookies" + "perl-http-daemon" + "perl-http-date" + "perl-http-message" + "perl-http-negotiate" + "perl-http-parser" + "perl-io-socket-ssl" + "perl-ipc-run" + "perl-json" + "perl-libwww" + "perl-list-compare" + "perl-lwp-protocol-https" + "perl-moo" + "perl-mozilla-ca" + "perl-net-http" + "perl-try-tiny" + "perl-uri" + "perl-www-robotrules")) + (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 + bash-minimal + dpkg + perl-authen-sasl + perl-db-file + perl-encode + perl-encode-locale + perl-file-homedir + perl-file-listing + perl-file-which + perl-http-cookies + perl-http-daemon + perl-http-date + perl-http-message + perl-http-negotiate + perl-http-parser + perl-io-socket-ssl + perl-ipc-run + perl-json + perl-libwww + perl-list-compare + perl-lwp-protocol-https + perl-moo + perl-mozilla-ca + perl-net-http + perl-try-tiny + perl-uri + perl-www-robotrules)) + (native-inputs + (list perl perl-libwww perl-uri pkg-config python)) + (propagated-inputs + (list perl-lwp-protocol-https)) + (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 interacting with GNU's +debbugs server.") + (license license:gpl2))) + (define-public debootstrap (package (name "debootstrap") -- 2.41.0
guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Sat, 04 May 2024 02:43:01 GMT) Full text and rfc822 format available.Message #29 received at 70020 <at> debbugs.gnu.org (full text, mbox):
From: Vagrant Cascadian <vagrant <at> debian.org> To: Steve George <steve <at> futurile.net> Cc: 70020 <at> debbugs.gnu.org, jlicht <at> fsfe.org Subject: Re: [bug#70020] [PATCH v3 1/1] gnu: Add debian-devscripts. Date: Fri, 03 May 2024 19:42:11 -0700
[Message part 1 (text/plain, inline)]
On 2024-04-15, Steve George wrote: > * gnu/packages/debian.scm (debian-devscripts): New variable. > > Change-Id: Iff64afdb1f730f3d941617bc428a57d09c0381b2 > --- > gnu/packages/debian.scm | 151 ++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 151 insertions(+) > > diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm > index a88fb04feb..2c79afdc75 100644 > --- a/gnu/packages/debian.scm > +++ b/gnu/packages/debian.scm ... > +(define-public debian-devscripts > + (package > + (name "debian-devscripts") As someone who has used devscripts for years (decades?), I would find it very surprising that it includes a single script! :) It is essentially a huge grab bag of scripts (most of which I have never used) ... so I would suggest "debian-devscripts-bts" or simply "debian-bts". Or packaging more of the scripts? Not sure what would be generally useful on guix as most are very debian-specific, but I am sometimes surprised. :) > + (add-after 'install 'manpage > + ;; FIXME: missing the man page for bts, how is it created? I have not quite figured out exactly how it gets there, but according the last build on debian: https://buildd.debian.org/status/fetch.php?pkg=devscripts&arch=all&ver=2.23.7&stamp=1702422001&raw=0 it calls: pod2man --utf8 --center=" " --release="Debian Utilities" bts.pl > bts.1 Presumably this is in one of the scripts/Makefile targets: %.1: %.pl podchecker $< pod2man --utf8 --center=" " --release="Debian Utilities" $< > $@ Seems like they get pulled into SCRIPTS via a wildcard: PL_FILES := $(wildcard *.pl) SH_FILES = $(wildcard *.sh) SCRIPTS = $(patsubst %.pl,%,$(PL_FILES)) $(patsubst %.sh,%,$(SH_FILES)) So it might be possible to get the Makefile to do the right thing ... or just call pod2man (from "perl") directly since you're only packaging bts.pl... > + (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 interacting with GNU's > +debbugs server.") > + (license license:gpl2))) This should definitely be changed to gpl2+ looking at scripts/bts.pl and debian/copyright documents some exceptions; a few of the common files might actually be a smattering of other licenses; this is where shipping only a subset is very nice. :) Hope that is helpful! :) live well, vagrant
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Sat, 04 May 2024 07:08:01 GMT) Full text and rfc822 format available.Message #32 received at 70020 <at> debbugs.gnu.org (full text, mbox):
From: Vagrant Cascadian <vagrant <at> debian.org> To: Steve George <steve <at> futurile.net> Cc: vagrant <at> debian.org, 70020 <at> debbugs.gnu.org, jlicht <at> fsfe.org Subject: Re: [bug#70020] [PATCH v3 1/1] gnu: Add debian-devscripts. Date: Sat, 04 May 2024 00:06:50 -0700
[Message part 1 (text/plain, inline)]
On 2024-04-15, Steve George wrote: > diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm > index a88fb04feb..2c79afdc75 100644 > --- a/gnu/packages/debian.scm > +++ b/gnu/packages/debian.scm ... > + (wrap.pl (find-files bindir) > + (list "dpkg" ... > + "perl-lwp-protocol-https" ... > + (inputs > + (list ... > + perl-lwp-protocol-https ... > + (native-inputs > + (list perl perl-libwww perl-uri pkg-config python)) > + (propagated-inputs > + (list perl-lwp-protocol-https)) Despite perl-lwp-protocol-https being in inputs, propagated-inputs, and included in a perl wrapper.... ./pre-inst-env guix shell debian-devscripts -- bts --bts-server=debbugs.gnu.org show 70020 .bts-real: couldn't download http://debbugs.gnu.org/70020: 501 Protocol scheme 'https' is not supported (LWP::Protocol::https not installed) Explicitly adding perl-lwp-protocol-https to guix shell did not help... live well, vagrant
[signature.asc (application/pgp-signature, inline)]
guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Wed, 22 May 2024 15:21:03 GMT) Full text and rfc822 format available.Message #35 received at 70020 <at> debbugs.gnu.org (full text, mbox):
From: Simon Tournier <zimon.toutoune <at> gmail.com> To: Vagrant Cascadian <vagrant <at> debian.org>, Steve George <steve <at> futurile.net> Cc: vagrant <at> debian.org, 70020 <at> debbugs.gnu.org, jlicht <at> fsfe.org Subject: Re: [bug#70020] [PATCH v3 1/1] gnu: Add debian-devscripts. Date: Wed, 22 May 2024 15:44:04 +0200
Hi, Nice addition! On sam., 04 mai 2024 at 00:06, Vagrant Cascadian <vagrant <at> debian.org> wrote: > ./pre-inst-env guix shell debian-devscripts -- bts --bts-server=debbugs.gnu.org show 70020 Is it possible to patch ’bts’ to have debbugs.gnu.org as the default server? Cheers, simon
guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Thu, 30 May 2024 22:29:02 GMT) Full text and rfc822 format available.Message #38 received at 70020 <at> debbugs.gnu.org (full text, mbox):
From: Steve George <steve <at> futurile.net> To: 70020 <at> debbugs.gnu.org Cc: vagrant <at> debian.org, jlicht <at> fsfe.org, Steve George <steve <at> futurile.net>, zimon.toutoune <at> gmail.com Subject: [PATCH v4 0/1] Add debian-devscripts-bts Date: Thu, 30 May 2024 23:07:18 +0100
* Renamed following Vagrant's v2 review: chose 'debian-devscripts-bts' so that potential Debian knowledgable users will find it if they search for devscripts, rather than debian-bts * General bts man page following Vagrants help - thanks! * Correctly wrapped Perl from inputs, so that imports work correctly * Patched source to default to debbugs.gnu.org - tried to provide a config file but this didn't work To test: guix shell --development guix --container --nesting --network --preserve=^TERM$ --share=/var/log/guix --share=/etc/ssl coreutils nss-certs ./pre-inst-env guix package --install mutt w3m man-db bash-completion ./pre-inst-env guix install debian-devscripts-bts <at> 2.23.7 GUIX_PROFILE="/home/steve/.guix-profile" ; . "$GUIX_PROFILE/etc/profile" export DEBEMAIL=your <at> email.com bts --online --mbox show 66208 export BROWSER=w3m bts show 62262 man devscripts man bts Steve George (1): gnu: Add debian-devscripts-bts. gnu/packages/debian.scm | 159 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) base-commit: ee8ff44519650706a563da96cf22b0f64dd22c34 -- 2.41.0
guix-patches <at> gnu.org
:bug#70020
; Package guix-patches
.
(Thu, 30 May 2024 22:29:02 GMT) Full text and rfc822 format available.Message #41 received at 70020 <at> debbugs.gnu.org (full text, mbox):
From: Steve George <steve <at> futurile.net> To: 70020 <at> debbugs.gnu.org Cc: vagrant <at> debian.org, jlicht <at> fsfe.org, Steve George <steve <at> futurile.net>, zimon.toutoune <at> gmail.com Subject: [PATCH v4 1/1] gnu: Add debian-devscripts-bts. Date: Thu, 30 May 2024 23:07:19 +0100
* gnu/packages/debian.scm (debian-devscripts-bts): New variable. Change-Id: Iff64afdb1f730f3d941617bc428a57d09c0381b2 --- gnu/packages/debian.scm | 159 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index a88fb04feb..03c007b1e2 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 @@ -236,6 +241,160 @@ (define-public ubuntu-keyring (license (list license:public-domain ; the keys license:gpl2+)))) ; see debian/copyright +(define-public debian-devscripts-bts + (package + (name "debian-devscripts-bts") + (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) + (arguments + (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 'unpack '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,")) + ;; Use Guix's debbugs - patching the source as putting a config + ;; file into #$output/etc doesn't work + (substitute* "bts.pl" + (("= 'https://bugs.debian.org'") + "= 'https://debbugs.gnu.org'")) + (rename-file "bts.pl" "bts")))) + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((bindir (string-append #$output "/bin")) + (bashcomp (string-append #$output + "/etc/bash_completion.d")) + (perl-lib (string-append #$output + "/lib/perl5/site_perl/Devscripts")) + (wrap.pl + (lambda (scripts keys) + (for-each + (lambda (script) + (wrap-program script + `("PERL5LIB" ":" prefix + ,(cons* + (getenv "PERL5LIB") + (string-append #$output + "/lib/perl5/site_perl") + (map + (lambda (key) + (string-append + (assoc-ref inputs key) + "/lib/perl5/site_perl")) + keys))))) + scripts))) + (doc (string-append #$output + "/share/doc/" #$name "-" #$version))) + (with-directory-excursion "scripts" + (for-each (lambda (f) (install-file f bindir)) + '("bts")) + (mkdir-p bashcomp) + (copy-file "bts.bash_completion" (string-append bashcomp "/bts"))) + (wrap.pl (find-files bindir) + (list "dpkg" + "perl-authen-sasl" + "perl-db-file" + "perl-encode" + "perl-encode-locale" + "perl-file-homedir" + "perl-file-listing" + "perl-file-which" + "perl-http-cookies" + "perl-http-daemon" + "perl-http-date" + "perl-http-message" + "perl-http-negotiate" + "perl-http-parser" + "perl-io-socket-ssl" + "perl-ipc-run" + "perl-json" + "perl-libwww" + "perl-list-compare" + "perl-lwp-protocol-https" + "perl-moo" + "perl-mozilla-ca" + "perl-net-http" + "perl-try-tiny" + "perl-uri" + "perl-www-robotrules")) + (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 + (lambda* (#:key outputs #:allow-other-keys) + (let ( (man1 (string-append #$output "/share/man/man1")) + (man5 (string-append #$output "/share/man/man5"))) + (with-directory-excursion "scripts" + (invoke "pod2man" "--utf8" "--center=' '" "bts" "bts.1") + (install-file "bts.1" man1)) + (with-directory-excursion "doc" + (invoke "make" "devscripts.1") + (install-file "devscripts.1" man1) + (install-file "devscripts.conf.5" man5)))))))) + (inputs + (list + bash-minimal + dpkg + perl-authen-sasl + perl-db-file + perl-encode + perl-encode-locale + perl-file-homedir + perl-file-listing + perl-file-which + perl-http-cookies + perl-http-daemon + perl-http-date + perl-http-message + perl-http-negotiate + perl-http-parser + perl-io-socket-ssl + perl-ipc-run + perl-json + perl-libwww + perl-list-compare + perl-lwp-protocol-https + perl-moo + perl-mozilla-ca + perl-net-http + perl-try-tiny + perl-uri + perl-www-robotrules)) + (native-inputs + (list perl perl-libwww perl-uri pkg-config python)) + (propagated-inputs + (list perl-lwp-protocol-https)) + (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 interacting with GNU's +debbugs server.") + (license license:gpl2+))) + (define-public debootstrap (package (name "debootstrap") -- 2.41.0
Vagrant Cascadian <vagrant <at> debian.org>
:Steve George <steve <at> futurile.net>
:Message #46 received at 70020-done <at> debbugs.gnu.org (full text, mbox):
From: Vagrant Cascadian <vagrant <at> debian.org> To: Steve George <steve <at> futurile.net>, 70020-done <at> debbugs.gnu.org Cc: jlicht <at> fsfe.org, zimon.toutoune <at> gmail.com Subject: Re: [PATCH v4 1/1] gnu: Add debian-devscripts-bts. Date: Fri, 31 May 2024 11:29:56 -0700
[Message part 1 (text/plain, inline)]
On 2024-05-30, Steve George wrote: > * gnu/packages/debian.scm (debian-devscripts-bts): New variable. > > Change-Id: Iff64afdb1f730f3d941617bc428a57d09c0381b2 Thanks! Pushed as fba6896f625dcbeef112387fc90abe83acae1720. Made some minor changes ... there was some trailing whitespace in one of the comments that guix lint complained about... > + (description "This package only provides the bts script from the Debian > +devscripts archive. It's useful for Guix Developers that interacting with GNU's > +debbugs server.") And improved the grammar in the description: (description "This package only provides the bts script from the Debian -devscripts archive. It's useful for Guix Developers that interacting with GNU's +devscripts archive. It's useful for Guix Developers that interact with GNU's debbugs server.") live well, vagrant
[signature.asc (application/pgp-signature, inline)]
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Sat, 29 Jun 2024 11:24:09 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.