aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
committerMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
commitc4625b175f8200f643fd6e11010932ea44c78433 (patch)
treebce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs
parent49f735974dd103039ddc4cb576bb76555164a9e7 (diff)
parentd661aa56a8843e991261510c1bb28fdc2f6975ae (diff)
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7 git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs/default.nix64
-rw-r--r--infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs/no-hardcode-fw.diff98
2 files changed, 162 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs/default.nix b/infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs/default.nix
new file mode 100644
index 000000000000..7e1ff01bda05
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, foomatic-filters, bc, unzip, ghostscript, systemd, vim, time }:
+
+stdenv.mkDerivation rec {
+ name = "foo2zjs-20180519";
+
+ src = fetchurl {
+ url = "http://www.loegria.net/mirrors/foo2zjs/${name}.tar.gz";
+ sha256 = "1rmw4jmxn2lqp124mapvnic0ma8ipyvisx2vj848mvad5g5w9x3z";
+ };
+
+ buildInputs = [ foomatic-filters bc unzip ghostscript systemd vim ];
+
+ patches = [ ./no-hardcode-fw.diff ];
+
+ makeFlags = [
+ "PREFIX=$(out)"
+ "APPL=$(out)/share/applications"
+ "PIXMAPS=$(out)/share/pixmaps"
+ "UDEVBIN=$(out)/bin"
+ "UDEVDIR=$(out)/etc/udev/rules.d"
+ "UDEVD=${systemd}/sbin/udevd"
+ "LIBUDEVDIR=$(out)/lib/udev/rules.d"
+ "USBDIR=$(out)/etc/hotplug/usb"
+ "FOODB=$(out)/share/foomatic/db/source"
+ "MODEL=$(out)/share/cups/model"
+ ];
+
+ installFlags = [ "install-hotplug" ];
+
+ postPatch = ''
+ touch all-test
+ sed -e "/BASENAME=/iPATH=$out/bin:$PATH" -i *-wrapper *-wrapper.in
+ sed -e "s@PREFIX=/usr@PREFIX=$out@" -i *-wrapper{,.in}
+ sed -e "s@/usr/share@$out/share@" -i hplj10xx_gui.tcl
+ sed -e "s@\[.*-x.*/usr/bin/logger.*\]@type logger >/dev/null 2>\&1@" -i *wrapper{,.in}
+ sed -e '/install-usermap/d' -i Makefile
+ sed -e "s@/etc/hotplug/usb@$out&@" -i *rules*
+ sed -e "s@/usr@$out@g" -i hplj1020.desktop
+ sed -e "/PRINTERID=/s@=.*@=$out/bin/usb_printerid@" -i hplj1000
+ '';
+
+ checkInputs = [ time ];
+ doCheck = false; # fails to find its own binary. Also says "Tests will pass only if you are using ghostscript-8.71-16.fc14".
+
+ preInstall = ''
+ mkdir -pv $out/{etc/udev/rules.d,lib/udev/rules.d,etc/hotplug/usb}
+ mkdir -pv $out/share/foomatic/db/source/{opt,printer,driver}
+ mkdir -pv $out/share/cups/model
+ mkdir -pv $out/share/{applications,pixmaps}
+
+ mkdir -pv "$out/bin"
+ cp -v getweb arm2hpdl "$out/bin"
+ '';
+
+ meta = with stdenv.lib; {
+ description = "ZjStream printer drivers";
+ maintainers = with maintainers;
+ [
+ raskin
+ ];
+ platforms = platforms.linux;
+ license = licenses.gpl2Plus;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs/no-hardcode-fw.diff b/infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs/no-hardcode-fw.diff
new file mode 100644
index 000000000000..003272858a42
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs/no-hardcode-fw.diff
@@ -0,0 +1,98 @@
+#
+#
+# patch "hplj1000"
+# from [d5336e74866d31735d97874191351a0dcc092b44]
+# to [55102b37684ee5181674d19d866caec2cf603412]
+#
+============================================================
+--- a/hplj1000 d5336e74866d31735d97874191351a0dcc092b44
++++ b/hplj1000 55102b37684ee5181674d19d866caec2cf603412
+@@ -39,11 +39,6 @@ DEV=""
+ DEV=""
+
+ #
+-# Directory to find downloadable HP firmware files sihpMMMM.dl
+-#
+-FWDIR=/usr/share/foo2zjs/firmware
+-
+-#
+ # Program used to determine USB printer id information
+ #
+ # NOTE: /usr/bin is NOT mounted at this point
+@@ -83,57 +78,61 @@ case "$0" in
+ MODEL=P1005; FWMODEL=$MODEL
+ USB1=0x03f0 #Vendor
+ USB2=0x3d17 #Model
+- FWDIR=/usr/share/foo2xqx/firmware
++ DRIVER=foo2xqx
+ ;;
+ *P1006)
+ MODEL=P1006; FWMODEL=$MODEL
+ USB1=0x03f0 #Vendor
+ USB2=0x3e17 #Model
+- FWDIR=/usr/share/foo2xqx/firmware
++ DRIVER=foo2xqx
+ ;;
+ *P1007)
+ MODEL=P1007; FWMODEL=P1005 # Alias
+ USB1=0x03f0 #Vendor
+ USB2=0x4817 #Model
+- FWDIR=/usr/share/foo2xqx/firmware
++ DRIVER=foo2xqx
+ ;;
+ *P1008)
+ MODEL=P1008; FWMODEL=P1006 # Alias
+ USB1=0x03f0 #Vendor
+ USB2=0x4917 #Model
+- FWDIR=/usr/share/foo2xqx/firmware
++ DRIVER=foo2xqx
+ ;;
+ *P1505)
+ MODEL=P1505; FWMODEL=$MODEL
+ USB1=0x03f0 #Vendor
+ USB2=0x3f17 #Model
+- FWDIR=/usr/share/foo2xqx/firmware
++ DRIVER=foo2xqx
+ ;;
+ *P1505n)
+ MODEL=P1505n; FWMODEL=$MODEL
+ USB1=0x03f0 #Vendor
+ USB2=0x4017 #Model
+- FWDIR=/usr/share/foo2xqx/firmware
++ DRIVER=foo2xqx
+ ;;
+ *1000)
+ MODEL=1000; FWMODEL=$MODEL
+ USB1=0x03f0 #Vendor
+ USB2=0x0517 #Model
++ DRIVER=foo2zjs
+ ;;
+ *1005)
+ MODEL=1005; FWMODEL=$MODEL
+ USB1=0x03f0 #Vendor
+ USB2=0x1317 #Model
++ DRIVER=foo2zjs
+ ;;
+ *1018)
+ MODEL=1018; FWMODEL=$MODEL
+ USB1=0x03f0 #Vendor
+ USB2=0x4117 #Model
++ DRIVER=foo2zjs
+ ;;
+ *1020)
+ MODEL=1020; FWMODEL=$MODEL
+ USB1=0x03f0 #Vendor
+ USB2=0x2b17 #Model
++ DRIVER=foo2zjs
+ ;;
+ *)
+ log "Only HP LaserJet 100[05],1018,1020,P100[5678],P1505 are supported"
+@@ -203,7 +202,7 @@ load1() {
+ #
+ load1() {
+ _dev="$1"
+- fw="$FWDIR/sihp$FWMODEL.dl"
++ fw="${FOO2ZJS_DATADIR:-/usr/share}/$DRIVER/firmware/sihp$FWMODEL.dl"
+ if [ ! -f "$fw" ]; then
+ log "Missing HP LaserJet $MODEL firmware file $fw"
+ log "...read foo2zjs installation instructions and run ./getweb $MODEL"