summaryrefslogtreecommitdiff
path: root/gnu/packages/debian.scm
diff options
context:
space:
mode:
authorSteve George <steve@futurile.net>2024-05-30 23:07:19 +0100
committerVagrant Cascadian <vagrant@debian.org>2024-05-31 11:22:04 -0700
commitfba6896f625dcbeef112387fc90abe83acae1720 (patch)
tree6672cbeb735d4a78c8b4d44c249cf4af3fd6b65e /gnu/packages/debian.scm
parentc7888f5361fbdbe5182e7dbe90ccc12e2d95d3c3 (diff)
gnu: Add debian-devscripts-bts.
* gnu/packages/debian.scm (debian-devscripts-bts): New variable. Modified-by: Vagrant Cascadian <vagrant@debian.org> Signed-off-by: Vagrant Cascadian <vagrant@debian.org> Change-Id: Iff64afdb1f730f3d941617bc428a57d09c0381b2
Diffstat (limited to 'gnu/packages/debian.scm')
-rw-r--r--gnu/packages/debian.scm159
1 files changed, 159 insertions, 0 deletions
diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm
index a88fb04feba..415c1d515d3 100644
--- a/gnu/packages/debian.scm
+++ b/gnu/packages/debian.scm
@@ -27,6 +27,7 @@
27 #:use-module (guix packages) 27 #:use-module (guix packages)
28 #:use-module (guix build-system copy) 28 #:use-module (guix build-system copy)
29 #:use-module (guix build-system gnu) 29 #:use-module (guix build-system gnu)
30 #:use-module (guix build-system perl)
30 #:use-module (guix build-system trivial) 31 #:use-module (guix build-system trivial)
31 #:use-module (gnu packages autotools) 32 #:use-module (gnu packages autotools)
32 #:use-module (gnu packages backup) 33 #:use-module (gnu packages backup)
@@ -34,6 +35,7 @@
34 #:use-module (gnu packages bash) 35 #:use-module (gnu packages bash)
35 #:use-module (gnu packages compression) 36 #:use-module (gnu packages compression)
36 #:use-module (gnu packages crypto) 37 #:use-module (gnu packages crypto)
38 #:use-module (gnu packages databases)
37 #:use-module (gnu packages dbm) 39 #:use-module (gnu packages dbm)
38 #:use-module (gnu packages gettext) 40 #:use-module (gnu packages gettext)
39 #:use-module (gnu packages gnupg) 41 #:use-module (gnu packages gnupg)
@@ -43,7 +45,10 @@
43 #:use-module (gnu packages ncurses) 45 #:use-module (gnu packages ncurses)
44 #:use-module (gnu packages perl) 46 #:use-module (gnu packages perl)
45 #:use-module (gnu packages pkg-config) 47 #:use-module (gnu packages pkg-config)
48 #:use-module (gnu packages python)
49 #:use-module (gnu packages web)
46 #:use-module (gnu packages wget) 50 #:use-module (gnu packages wget)
51 #:use-module (srfi srfi-1)
47 #:use-module (srfi srfi-26)) 52 #:use-module (srfi srfi-26))
48 53
49(define-public debian-archive-keyring 54(define-public debian-archive-keyring
@@ -236,6 +241,160 @@ contains the archive keys used for that.")
236 (license (list license:public-domain ; the keys 241 (license (list license:public-domain ; the keys
237 license:gpl2+)))) ; see debian/copyright 242 license:gpl2+)))) ; see debian/copyright
238 243
244(define-public debian-devscripts-bts
245 (package
246 (name "debian-devscripts-bts")
247 (version "2.23.7")
248 (source
249 (origin
250 (method git-fetch)
251 (uri (git-reference
252 (url "https://salsa.debian.org/debian/devscripts.git")
253 (commit (string-append "v" version))))
254 (file-name (git-file-name name version))
255 (sha256
256 (base32
257 "031467rclglk1hdx8z2vzx5z88vpy0sk73qi8ni0sai3jx62ji75"))))
258 (build-system perl-build-system)
259 (arguments
260 (list
261 #:tests? #f ; tests assume various Debian specific capabilities
262 #:phases
263 ;; only includes the bts command as that's useful for Guix packagers
264 #~(modify-phases %standard-phases
265 (add-after 'unpack 'patch-programs
266 (lambda* (#:key inputs outputs #:allow-other-keys)
267 (with-directory-excursion "scripts"
268 (substitute* "bts.pl" (("/bin/bash") (which "bash")))
269 (substitute* "bts.pl" (("/bin/rm") (which "rm")))
270 (substitute* "bts.pl" (("/bin/cat") (which "cat")))
271 ;; Avoid having to provide Debian's sensible-browser package
272 (substitute* "bts.pl"
273 (("my \\$browser;") "my $browser = $ENV{'BROWSER'};"))
274 (substitute* "bts.pl"
275 (("'sensible-browser',") "$browser,"))
276 ;; Use Guix's debbugs - patching the source as putting a config
277 ;; file into #$output/etc doesn't work
278 (substitute* "bts.pl"
279 (("= 'https://bugs.debian.org'")
280 "= 'https://debbugs.gnu.org'"))
281 (rename-file "bts.pl" "bts"))))
282 (delete 'configure)
283 (delete 'build)
284 (replace 'install
285 (lambda* (#:key inputs outputs #:allow-other-keys)
286 (let* ((bindir (string-append #$output "/bin"))
287 (bashcomp (string-append #$output
288 "/etc/bash_completion.d"))
289 (perl-lib (string-append #$output
290 "/lib/perl5/site_perl/Devscripts"))
291 (wrap.pl
292 (lambda (scripts keys)
293 (for-each
294 (lambda (script)
295 (wrap-program script
296 `("PERL5LIB" ":" prefix
297 ,(cons*
298 (getenv "PERL5LIB")
299 (string-append #$output
300 "/lib/perl5/site_perl")
301 (map
302 (lambda (key)
303 (string-append
304 (assoc-ref inputs key)
305 "/lib/perl5/site_perl"))
306 keys)))))
307 scripts)))
308 (doc (string-append #$output
309 "/share/doc/" #$name "-" #$version)))
310 (with-directory-excursion "scripts"
311 (for-each (lambda (f) (install-file f bindir))
312 '("bts"))
313 (mkdir-p bashcomp)
314 (copy-file "bts.bash_completion" (string-append bashcomp "/bts")))
315 (wrap.pl (find-files bindir)
316 (list "dpkg"
317 "perl-authen-sasl"
318 "perl-db-file"
319 "perl-encode"
320 "perl-encode-locale"
321 "perl-file-homedir"
322 "perl-file-listing"
323 "perl-file-which"
324 "perl-http-cookies"
325 "perl-http-daemon"
326 "perl-http-date"
327 "perl-http-message"
328 "perl-http-negotiate"
329 "perl-http-parser"
330 "perl-io-socket-ssl"
331 "perl-ipc-run"
332 "perl-json"
333 "perl-libwww"
334 "perl-list-compare"
335 "perl-lwp-protocol-https"
336 "perl-moo"
337 "perl-mozilla-ca"
338 "perl-net-http"
339 "perl-try-tiny"
340 "perl-uri"
341 "perl-www-robotrules"))
342 (with-directory-excursion "lib/Devscripts/"
343 (for-each (lambda (f) (install-file f perl-lib))
344 (find-files "./")))
345 (for-each (lambda (f) (install-file f doc))
346 '("README")))))
347 (add-after 'install 'manpage
348 (lambda* (#:key outputs #:allow-other-keys)
349 (let ( (man1 (string-append #$output "/share/man/man1"))
350 (man5 (string-append #$output "/share/man/man5")))
351 (with-directory-excursion "scripts"
352 (invoke "pod2man" "--utf8" "--center=' '" "bts" "bts.1")
353 (install-file "bts.1" man1))
354 (with-directory-excursion "doc"
355 (invoke "make" "devscripts.1")
356 (install-file "devscripts.1" man1)
357 (install-file "devscripts.conf.5" man5))))))))
358 (inputs
359 (list
360 bash-minimal
361 dpkg
362 perl-authen-sasl
363 perl-db-file
364 perl-encode
365 perl-encode-locale
366 perl-file-homedir
367 perl-file-listing
368 perl-file-which
369 perl-http-cookies
370 perl-http-daemon
371 perl-http-date
372 perl-http-message
373 perl-http-negotiate
374 perl-http-parser
375 perl-io-socket-ssl
376 perl-ipc-run
377 perl-json
378 perl-libwww
379 perl-list-compare
380 perl-lwp-protocol-https
381 perl-moo
382 perl-mozilla-ca
383 perl-net-http
384 perl-try-tiny
385 perl-uri
386 perl-www-robotrules))
387 (native-inputs
388 (list perl perl-libwww perl-uri pkg-config python))
389 (propagated-inputs
390 (list perl-lwp-protocol-https))
391 (home-page "https://tracker.debian.org/pkg/devscripts")
392 (synopsis "BTS script from Debian's devscripts")
393 (description "This package only provides the bts script from the Debian
394devscripts archive. It's useful for Guix Developers that interact with GNU's
395debbugs server.")
396 (license license:gpl2+)))
397
239(define-public debootstrap 398(define-public debootstrap
240 (package 399 (package
241 (name "debootstrap") 400 (name "debootstrap")