From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:42322) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iYg0e-0000f0-Kl for guix-patches@gnu.org; Sat, 23 Nov 2019 19:44:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iYg0c-0004uj-DX for guix-patches@gnu.org; Sat, 23 Nov 2019 19:44:15 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:49171) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iYg0c-0004uS-9X for guix-patches@gnu.org; Sat, 23 Nov 2019 19:44:14 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iYg0Q-0003Aw-My for guix-patches@gnu.org; Sat, 23 Nov 2019 19:44:02 -0500 Subject: [bug#38355] [PATCH] gnu: Add scanbd. Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:42195) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iYfzF-0000ZD-E1 for guix-patches@gnu.org; Sat, 23 Nov 2019 19:42:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iYfzD-0004DG-M3 for guix-patches@gnu.org; Sat, 23 Nov 2019 19:42:48 -0500 Received: from tobias.gr ([2001:470:7405::1]:50018) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iYfzD-0004Bk-6j for guix-patches@gnu.org; Sat, 23 Nov 2019 19:42:47 -0500 Received: by tobias.gr (OpenSMTPD) with ESMTP id 250b6a7f for ; Sun, 24 Nov 2019 00:42:43 +0000 (UTC) Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 4bc06756 (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Sun, 24 Nov 2019 00:42:43 +0000 (UTC) Date: Sun, 24 Nov 2019 01:42:19 +0100 Message-Id: <20191124004219.16428-1-me@tobias.gr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" Reply-to: Tobias Geerinckx-Rice , Tobias Geerinckx-Rice via Guix-patches From: Tobias Geerinckx-Rice via Guix-patches via To: 38355@debbugs.gnu.org * gnu/packages/scanner.scm (scanbd): New public variable. --- gnu/packages/scanner.scm | 65 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 98f7fd203a..25389f19aa 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -24,10 +24,13 @@ #:use-module (gnu packages) #:use-module (gnu packages freedesktop) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages textutils) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix git-download) @@ -154,6 +157,68 @@ 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."))) +(define-public scanbd + (package + (name "scanbd") + (version "1.5.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/scanbd/releases/" + "scanbd-" version ".tgz")) + (sha256 + (base32 "0pvy4qirfjdfm8aj6x5rkbgl7hk3jfa2s21qkk8ic5dqfjjab75n")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--disable-debug" + "--sysconfdir=/etc") + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key make-flags outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (conf (string-append out "/etc/scanbd"))) + (apply invoke "make" "install" + ;; Install example configuration to the store, not /etc. + ;; These don't inherit from each other, so we need both. + (string-append "scanbdconfdir=" conf) + (string-append "scannerconfdir=" conf "/scanner.d") + make-flags) + #t))) + (add-after 'install 'install-extra-documentation + ;; The README provides more detailed set-up instructions than the + ;; man page. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" + ,name "-" ,version))) + (install-file "doc/README.txt" doc) + #t)))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("dbus" ,dbus) + ("libconfuse" ,libconfuse) + ("sane-backends" ,sane-backends) + ("udev" ,eudev))) + (home-page "https://scanbd.sourceforge.io") + (synopsis "Configurable scanner button monitor") + (description + "Scanbd stands for scanner button daemon. It regulary polls scanners for +pressed buttons, function knob changes, or other events such as (un)plugging +the scanner or inserting and removing paper. Then it performs the desired +action(s) such as saving, copying, or e-mailing the image. + +Actions can be fully customised through scripts, based on any combination of +switch or knob settings. Events are also signaled over D-Bus and scans can +even be triggered over D-Bus from foreign applications. + +Scanbd talks to scanners through the @acronym{SANE, Scanner Access Now Easy} +back-end library. This means that it supports almost all existing scanners, +provided the driver also exposes the buttons.") + (license licence:gpl2+))) + (define-public xsane (package (name "xsane") -- 2.23.0