summary refs log tree commit diff
diff options
context:
space:
mode:
authorIhar Hrachyshka <ihrachys@redhat.com>2019-06-12 11:46:58 -0700
committerDmitry Kalinkin <dmitry.kalinkin@gmail.com>2019-06-12 14:46:57 -0400
commit35ee15ded888a00e13448f912321f0c698452e16 (patch)
tree7e52ab9bddf4116cecc93bc643331abeca89ec70
parent876660fed983111d46765cc9354dee7d5c4f9e67 (diff)
downloadnixpkgs-35ee15ded888a00e13448f912321f0c698452e16.tar
nixpkgs-35ee15ded888a00e13448f912321f0c698452e16.tar.gz
nixpkgs-35ee15ded888a00e13448f912321f0c698452e16.tar.bz2
nixpkgs-35ee15ded888a00e13448f912321f0c698452e16.tar.lz
nixpkgs-35ee15ded888a00e13448f912321f0c698452e16.tar.xz
nixpkgs-35ee15ded888a00e13448f912321f0c698452e16.tar.zst
nixpkgs-35ee15ded888a00e13448f912321f0c698452e16.zip
epkowa: add support for network scanners (#60568)
-rw-r--r--pkgs/misc/drivers/epkowa/default.nix32
1 files changed, 31 insertions, 1 deletions
diff --git a/pkgs/misc/drivers/epkowa/default.nix b/pkgs/misc/drivers/epkowa/default.nix
index 6bb021c4958..d865a8906cf 100644
--- a/pkgs/misc/drivers/epkowa/default.nix
+++ b/pkgs/misc/drivers/epkowa/default.nix
@@ -7,7 +7,7 @@ libusb,
 sane-backends,
 rpm, cpio,
 getopt,
-patchelf, gcc
+patchelf, autoPatchelfHook, gcc
 }:
 
 let common_meta = {
@@ -161,6 +161,34 @@ let plugins = {
 
     meta = common_meta // { description = "iscan esci s80 plugin for "+passthru.hw; };
   };
+  network = stdenv.mkDerivation rec {
+    pname = "iscan-nt-bundle";
+    version = "1.0.0";
+    ntPluginVersion = "1.1.1-1";
+
+    buildInputs = [ stdenv.cc.cc.lib ];
+    nativeBuildInputs = [ autoPatchelfHook ];
+
+    src = fetchurl {
+      url = "https://download2.ebz.epson.net/iscan/general/rpm/x64/iscan-bundle-${version}.x64.rpm.tar.gz";
+      sha256 = "1k3dmv4ml21k6mafvcvgfymb1acpcdxpvyrbfh2yf07jzmn5if4f";
+    };
+    installPhase = ''
+      cd plugins
+      ${rpm}/bin/rpm2cpio iscan-network-nt-${ntPluginVersion}.x86_64.rpm | ${cpio}/bin/cpio -idmv
+
+      mkdir $out
+      cp -r usr/share $out
+      cp -r usr/lib64 $out/lib
+      mkdir $out/share/esci
+      '';
+    passthru = {
+      registrationCommand = "";
+      hw = "network";
+    };
+
+    meta = common_meta // { description = "iscan network plugin"; };
+  };
 };
 in
 
@@ -226,6 +254,8 @@ stdenv.mkDerivation rec {
     cp backend/epkowa.conf $out/etc/sane.d
     echo "epkowa" > $out/etc/sane.d/dll.conf
     ln -s ${iscan-data}/share/iscan-data $out/share/iscan-data
+    mkdir -p $out/lib/iscan
+    ln -s ${plugins.network}/lib/iscan/network $out/lib/iscan/network
     '';
   postFixup = ''
     # iscan-registry is a shell script requiring getopt