;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington ;;; Copyright © 2015 Andy Wingo ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu packages scanner) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages pkg-config) #:use-module (gnu packages libusb) #:use-module ((guix licenses) #:prefix licence:)) (define-public sane-backends (package (name "sane-backends") (version "1.0.25") (source (origin (method url-fetch) (uri (string-append "https://alioth.debian.org/frs/download.php/file/4146/" name "-" version ".tar.gz")) (sha256 (base32 "0b3fvhrxl4l82bf3v0j47ypjv6a0k5lqbgknrq1agpmjca6vmmx4")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("libusb-compat" ,libusb-compat))) (arguments `(#:tests? #f #:phases (modify-phases %standard-phases (add-after 'install 'install-udev-rules (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (mkdir-p (string-append out "/lib/udev/rules.d")) (copy-file "tools/udev/libsane.rules" (string-append out "/lib/udev/rules.d/" "60-libsane.rules")))))))) ;; It would seem that tests are not maintained - fails with ;; the following: ;; ;; < This page was last updated on Wed Jul 31 07:52:48 2013 ;; < by sane-desc 3.5 from sane-backends 1.0.24git ;; --- ;; > This page was last updated on Sun Oct 19 15:41:39 2014 ;; > by sane-desc 3.5 from sane-backends 1.0.24 ;; **** File generated for html-backends-split mode is different from reference ;; Makefile:501: recipe for target 'check.local' failed (home-page "http://www.sane-project.org") (synopsis "Raster image scanner library and drivers") (description "SANE stands for \"Scanner Access Now Easy\" and is an API proving access to any raster image scanner hardware (flatbed scanner, hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The package contains the library and drivers.") (license licence:gpl2+))) ; plus linking exception >guix hash: Add git serializer....* guix/scripts/hash.scm (git-hash): New procedure. (%options): Use it. * tests/guix-hash.sh: Test it. * doc/guix.texi: Update. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun 2021-12-17guix hash: Add 'serializer' option....* guix/scripts/hash.scm (%options): Deprecate 'recursive', add 'serializer'. (%default-options): Add 'serializer'. (nar-hash): New procedure. (default-hash): New procedure. (guix-hash)[file-hash]: Use them. (show-help): Adjust. * tests/guix-hash.scm: Adjust. * doc/guix.texi: Update. Signed-off-by: Ludovic Courtès <ludo@gnu.org> zimoun 2021-12-17guix hash: Support several files....* guix/scripts/hash.scm (guix-hash): Allow several files. [file-hash]: Catch system-error. [formatted-hash]: New procedure. * tests/guix-hash.sh: Add test. * doc/guix.texi (Invoking guix hash): Mention "one or more files". Co-authored-by: Ludovic Courtès <ludo@gnu.org> zimoun 2021-01-04guix hash: Honor '-H' when used alongside '-r'....* guix/scripts/hash.scm (guix-hash): When 'recursive? is true, use 'open-hash-port' instead of 'open-sha256-port'. * tests/guix-hash.sh: Add test for 'guix hash -r -H sha512'. Ludovic Courtès 2020-09-28tests: Simplify shell exit status negation;...* tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-environment.sh, tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh, tests/guix-hash.sh, tests/guix-lint.sh, tests/guix-pack-relocatable.sh, tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh, tests/guix-package.sh: Use the shell '!' keyword to negate command exit status in place of 'if ...; then false; else true; fi' Eric Bavier 2020-05-22guix hash, guix download: Support base64 format....* guix/scripts/download.scm (show-help, %options): Support "base64" format. * guix/scripts/hash.scm (show-help, %options): Likewise. * tests/guix-hash.sh: Test it. * doc/guix.texi (Invoking guix hash): Document it. Ludovic Courtès 2020-05-22guix hash, guix download: Add '--hash'....* guix/scripts/download.scm (%default-options): Add 'hash-algorithm'. (show-help, %options): Add "--hash". (guix-download): Honor it. * guix/scripts/hash.scm (%default-options): Add 'hash-algorithm'. (show-help, %options): Add "--hash". (guix-hash): Honor it. * tests/guix-hash.sh: Test '-H sha512'. * doc/guix.texi (Invoking guix download): Document it. (Invoking guix hash): Document it. Ludovic Courtès