summary refs log tree commit diff
path: root/pkgs/tools/graphics/scanbd/default.nix
blob: ba376af1c3cdc5305c8bfdc675cfca076c689ab1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{ stdenv, fetchurl, pkgconfig
, dbus, libconfuse, libjpeg, sane-backends, systemd }:

stdenv.mkDerivation rec {
  name = "scanbd-${version}";
  version = "1.4.4";

  src = fetchurl {
    sha256 = "07a59jk9b2hh49v5lcpckp64f5lny9sq8h0h2p2jcs9cqazf6q9s";
    url = "mirror://sourceforge/scanbd/${name}.tgz";
  };

  nativeBuildInputs = [ pkgconfig ];
  buildInputs = [ dbus libconfuse libjpeg sane-backends systemd ];

  configureFlags = [
    "--disable-Werror"
    "--enable-udev"
    "--with-scanbdconfdir=/etc/scanbd"
    "--with-systemdsystemunitdir=$out/lib/systemd/system"
  ];

  enableParallelBuilding = true;

  installFlags = [
    "scanbdconfdir=$(out)/etc/scanbd"
    "scannerconfdir=$(scanbdconfdir)/scanner.d"
  ];

  doCheck = true;

  meta = with stdenv.lib; {
    description = "Scanner button daemon";
    longDescription = ''
      scanbd polls a scanner's buttons, looking for button presses, function
      knob changes, or other scanner events such as paper inserts and removals,
      while at the same time allowing scan-applications to access the scanner.
      
      Various actions can be submitted (scan, copy, email, ...) via action
      scripts. The function knob values are passed to the action scripts as
      well. Scan actions are also signaled via dbus. This can be useful for
      foreign applications. Scans can also be triggered via dbus from foreign
      applications.
      
      On platforms which support signaling of dynamic device insertion/removal
      (libudev, dbus, hal), scanbd supports this as well.

      scanbd can use all sane-backends or some special backends from the (old)
      scanbuttond project. 
    '';
    homepage = http://scanbd.sourceforge.net/;
    downloadPage = http://sourceforge.net/projects/scanbd/;
    license = licenses.gpl2Plus;
    platforms = platforms.linux;
  };
}