diff options
author | Symphorien Gibol <symphorien+git@xlumurb.eu> | 2021-02-19 18:04:09 +0100 |
---|---|---|
committer | Symphorien Gibol <symphorien+git@xlumurb.eu> | 2021-03-21 11:07:14 +0100 |
commit | c20cd1834f675153f87bb8544053b4069688f0c8 (patch) | |
tree | 45a30277e0762721da2d8ffc6aecc48b12552f48 /pkgs/applications/graphics/sane/backends | |
parent | f5e8bdd07d1afaabf6b37afc5497b1e498b8046f (diff) | |
download | nixpkgs-c20cd1834f675153f87bb8544053b4069688f0c8.tar nixpkgs-c20cd1834f675153f87bb8544053b4069688f0c8.tar.gz nixpkgs-c20cd1834f675153f87bb8544053b4069688f0c8.tar.bz2 nixpkgs-c20cd1834f675153f87bb8544053b4069688f0c8.tar.lz nixpkgs-c20cd1834f675153f87bb8544053b4069688f0c8.tar.xz nixpkgs-c20cd1834f675153f87bb8544053b4069688f0c8.tar.zst nixpkgs-c20cd1834f675153f87bb8544053b4069688f0c8.zip |
sane-backends: 1.0.30 -> 1.0.32
sane-backends-git: remove, it's not updated often enough to be useful
Diffstat (limited to 'pkgs/applications/graphics/sane/backends')
-rw-r--r-- | pkgs/applications/graphics/sane/backends/default.nix | 109 | ||||
-rw-r--r-- | pkgs/applications/graphics/sane/backends/generic.nix | 95 | ||||
-rw-r--r-- | pkgs/applications/graphics/sane/backends/git.nix | 10 |
3 files changed, 103 insertions, 111 deletions
diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix index ad2681d25fe..821a97e3587 100644 --- a/pkgs/applications/graphics/sane/backends/default.nix +++ b/pkgs/applications/graphics/sane/backends/default.nix @@ -1,10 +1,107 @@ -{ callPackage, fetchurl, ... } @ args: +{ stdenv, lib, fetchurl, runtimeShell +, gettext, pkg-config, python3 +, avahi, libgphoto2, libieee1284, libjpeg, libpng, libtiff, libusb1, libv4l, net-snmp +, curl, systemd, libxml2, poppler -callPackage ./generic.nix (args // rec { - version = "1.0.30"; +# List of { src name backend } attibute sets - see installFirmware below: +, extraFirmware ? [] + +# For backwards compatibility with older setups; use extraFirmware instead: +, gt68xxFirmware ? null, snapscanFirmware ? null +}: + +stdenv.mkDerivation { + pname = "sane-backends"; + version = "1.0.32"; src = fetchurl { - url = "https://gitlab.com/sane-project/backends/uploads/c3dd60c9e054b5dee1e7b01a7edc98b0/sane-backends-${version}.tar.gz"; - sha256 = "18vryaycps3zpjzxh0wjgg8nv2f4pdvcfxxmdfj28qbzqjlrcp9z"; + # raw checkouts of the repo do not work because, the configure script is + # only functional in manually uploaded release tarballs. + # https://gitlab.com/sane-project/backends/-/issues/440 + # unfortunately this make the url unpredictable on update, to find the link + # go to https://gitlab.com/sane-project/backends/-/releases and choose + # the link with other in the URL. + url = "https://gitlab.com/sane-project/backends/uploads/104f09c07d35519cc8e72e604f11643f/sane-backends-1.0.32.tar.gz"; + sha256 = "055iicihxa6b28iv5fnz13n67frdr5nrydq2c846f9x7q0vw4a1s"; + }; + + outputs = [ "out" "doc" "man" ]; + + nativeBuildInputs = [ + gettext + pkg-config + python3 + ]; + + buildInputs = [ + avahi + libgphoto2 + libieee1284 + libjpeg + libpng + libtiff + libusb1 + libv4l + net-snmp + curl + systemd + libxml2 + poppler + ]; + + enableParallelBuilding = true; + + configureFlags = + lib.optional (avahi != null) "--with-avahi" + ++ lib.optional (libusb1 != null) "--with-usb" + ; + + postInstall = let + + compatFirmware = extraFirmware + ++ lib.optional (gt68xxFirmware != null) { + src = gt68xxFirmware.fw; + inherit (gt68xxFirmware) name; + backend = "gt68xx"; + } + ++ lib.optional (snapscanFirmware != null) { + src = snapscanFirmware; + name = "your-firmwarefile.bin"; + backend = "snapscan"; + }; + + installFirmware = f: '' + mkdir -p $out/share/sane/${f.backend} + ln -sv ${f.src} $out/share/sane/${f.backend}/${f.name} + ''; + + in '' + mkdir -p $out/etc/udev/rules.d/ + ./tools/sane-desc -m udev > $out/etc/udev/rules.d/49-libsane.rules || \ + cp tools/udev/libsane.rules $out/etc/udev/rules.d/49-libsane.rules + # the created 49-libsane references /bin/sh + substituteInPlace $out/etc/udev/rules.d/49-libsane.rules \ + --replace "RUN+=\"/bin/sh" "RUN+=\"${runtimeShell}" + + substituteInPlace $out/lib/libsane.la \ + --replace "-ljpeg" "-L${lib.getLib libjpeg}/lib -ljpeg" + + # net.conf conflicts with the file generated by the nixos module + rm $out/etc/sane.d/net.conf + '' + lib.concatStrings (builtins.map installFirmware compatFirmware); + + meta = with lib; { + description = "SANE (Scanner Access Now Easy) backends"; + longDescription = '' + Collection of open-source SANE backends (device drivers). + SANE is a universal scanner interface providing standardized access to + any raster image scanner hardware: flatbed scanners, hand-held scanners, + video- and still-cameras, frame-grabbers, etc. For a list of supported + scanners, see http://www.sane-project.org/sane-backends.html. + ''; + homepage = "http://www.sane-project.org/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ peti ]; + platforms = platforms.linux; }; -}) +} diff --git a/pkgs/applications/graphics/sane/backends/generic.nix b/pkgs/applications/graphics/sane/backends/generic.nix deleted file mode 100644 index 88d47b58932..00000000000 --- a/pkgs/applications/graphics/sane/backends/generic.nix +++ /dev/null @@ -1,95 +0,0 @@ -{ lib, stdenv -, gettext, pkg-config -, avahi, libgphoto2, libieee1284, libjpeg, libpng, libtiff, libusb1, libv4l, net-snmp - -# List of { src name backend } attibute sets - see installFirmware below: -, extraFirmware ? [] - -# For backwards compatibility with older setups; use extraFirmware instead: -, gt68xxFirmware ? null, snapscanFirmware ? null - -# Passed from versioned package (e.g. default.nix, git.nix): -, version, src, ... -}: - -stdenv.mkDerivation { - inherit src version; - - name = "sane-backends-${version}"; - - outputs = [ "out" "doc" "man" ]; - - nativeBuildInputs = [ - gettext - pkg-config - ]; - - buildInputs = [ - avahi - libgphoto2 - libieee1284 - libjpeg - libpng - libtiff - libusb1 - libv4l - net-snmp - ]; - - enableParallelBuilding = true; - - configureFlags = [] - ++ lib.optional (avahi != null) "--enable-avahi" - ++ lib.optional (libusb1 != null) "--with-usb" - ; - - postInstall = let - - compatFirmware = extraFirmware - ++ lib.optional (gt68xxFirmware != null) { - src = gt68xxFirmware.fw; - inherit (gt68xxFirmware) name; - backend = "gt68xx"; - } - ++ lib.optional (snapscanFirmware != null) { - src = snapscanFirmware; - name = "your-firmwarefile.bin"; - backend = "snapscan"; - }; - - installFirmware = f: '' - mkdir -p $out/share/sane/${f.backend} - ln -sv ${f.src} $out/share/sane/${f.backend}/${f.name} - ''; - - in '' - mkdir -p $out/etc/udev/rules.d/ - ./tools/sane-desc -m udev > $out/etc/udev/rules.d/49-libsane.rules || \ - cp tools/udev/libsane.rules $out/etc/udev/rules.d/49-libsane.rules - # the created 49-libsane references /bin/sh - substituteInPlace $out/etc/udev/rules.d/49-libsane.rules \ - --replace "RUN+=\"/bin/sh" "RUN+=\"${stdenv.shell}" - - substituteInPlace $out/lib/libsane.la \ - --replace "-ljpeg" "-L${libjpeg.out}/lib -ljpeg" - - # net.conf conflicts with the file generated by the nixos module - rm -f $out/etc/sane.d/net.conf - '' + lib.concatStrings (builtins.map installFirmware compatFirmware); - - meta = with lib; { - description = "SANE (Scanner Access Now Easy) backends"; - longDescription = '' - Collection of open-source SANE backends (device drivers). - SANE is a universal scanner interface providing standardized access to - any raster image scanner hardware: flatbed scanners, hand-held scanners, - video- and still-cameras, frame-grabbers, etc. For a list of supported - scanners, see http://www.sane-project.org/sane-backends.html. - ''; - homepage = "http://www.sane-project.org/"; - license = licenses.gpl2Plus; - - maintainers = with maintainers; [ peti ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/graphics/sane/backends/git.nix b/pkgs/applications/graphics/sane/backends/git.nix deleted file mode 100644 index 2edd739068d..00000000000 --- a/pkgs/applications/graphics/sane/backends/git.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ callPackage, fetchgit, ... } @ args: - -callPackage ./generic.nix (args // { - version = "2017-12-01"; - src = fetchgit { - sha256 = "0qf7d7268kdxnb723c03m6icxhbgx0vw8gqvck2q1w5b948dy9g8"; - rev = "e895ee55bec8a3320a0e972b32c05d35b47fe226"; - url = "https://gitlab.com/sane-project/backends.git"; - }; -}) |