diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs/default.nix | 64 | ||||
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/misc/drivers/foo2zjs/no-hardcode-fw.diff | 98 |
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" |