diff options
Diffstat (limited to 'gnu/packages/cdrom.scm')
-rw-r--r-- | gnu/packages/cdrom.scm | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 658d6c6bd5..cf095a17b7 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -225,6 +226,20 @@ reconstruction capability.") (sha256 (base32 "03w6ypsmwwy4d7vh6zgwpc60v541vc5ywp8bdb758hbc4yv2wa7d")) + (modules '((guix build utils))) + (snippet + '(begin + ;; By default 'cdda2wav --help' would print a string like + ;; "Version 3.01_linux_4.19.10-gnu_x86_64_x86_64". Change + ;; it to not capture the kernel version of the build + ;; machine, to allow for reproducible builds. + (substitute* "cdda2wav/local.cnf.in" + (("^VERSION_OS=.*") + (string-append + "actual_os := $(shell uname -o)\n" + "actual_arch := $(shell uname -m)\n" + "VERSION_OS = _$(actual_os)_$(actual_arch)\n"))) + #t)) (patches (search-patches "cdrtools-3.01-mkisofs-isoinfo.patch")))) (build-system gnu-build-system) ;; XXX cdrtools bundles a modified, relicensed early version of cdparanoia. @@ -343,7 +358,36 @@ or @command{xorrisofs} to create ISO 9660 images.") `(;; Parallel builds appear to be unsafe, see ;; <http://hydra.gnu.org/build/49331/nixlog/1/raw>. #:parallel-build? #f - #:tests? #f)) ; no check target + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (with-directory-excursion "regtest" + (substitute* "common.bash" + (("ISODIR=/var/tmp/regtest") "ISODIR=/tmp")) + (for-each invoke (find-files "." "rs.*\\.bash"))) + #t)) + (add-after 'install 'install-desktop + (lambda* (#:key outputs #:allow-other-keys) + (let* ((datadir (string-append (assoc-ref outputs "out") "/share"))) + (substitute* "contrib/dvdisaster.desktop" + (("dvdisaster48.png") "dvdisaster.png")) + (install-file "contrib/dvdisaster.desktop" + (string-append datadir "/applications")) + (for-each + (lambda (png) + (let* ((size (substring png + (string-index png char-set:digit) + (string-rindex png #\.))) + (icondir (string-append datadir "/icons/" + size "x" size "/apps"))) + (mkdir-p icondir) + (copy-file png (string-append icondir "/dvdisaster.png")))) + (find-files "contrib" "dvdisaster[0-9]*\\.png")) + (mkdir-p (string-append datadir "/pixmaps")) + (copy-file "contrib/dvdisaster48.xpm" + (string-append datadir "/pixmaps/dvdisaster.xpm")) + #t)))))) (home-page "http://dvdisaster.net/en/index.html") (synopsis "Error correcting codes for optical media images") (description "Optical media (CD,DVD,BD) keep their data only for a |