diff options
Diffstat (limited to 'pkgs/misc/drivers/hplip/3.16.11.nix')
-rw-r--r-- | pkgs/misc/drivers/hplip/3.16.11.nix | 192 |
1 files changed, 0 insertions, 192 deletions
diff --git a/pkgs/misc/drivers/hplip/3.16.11.nix b/pkgs/misc/drivers/hplip/3.16.11.nix deleted file mode 100644 index 07a9f807772b8..0000000000000 --- a/pkgs/misc/drivers/hplip/3.16.11.nix +++ /dev/null @@ -1,192 +0,0 @@ -{ lib, stdenv, fetchurl, substituteAll -, pkg-config -, cups, libjpeg, libusb1, python2Packages, sane-backends, dbus, usbutils -, net-snmp, openssl, nettools -, bash, util-linux -, qtSupport ? true -, withPlugin ? false -}: - -let - - name = "hplip-${version}"; - version = "3.16.11"; - - src = fetchurl { - url = "mirror://sourceforge/hplip/${name}.tar.gz"; - sha256 = "094vkyr0rjng72m13dgr824cdl7q20x23qjxzih4w7l9njn0rqpn"; - }; - - plugin = fetchurl { - url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run"; - sha256 = "1y3wdax2wb6kdd8bi40wl7v9s8ffyjz95bz42sjcpzzddmlhcaxg"; - }; - - hplipState = substituteAll { - inherit version; - src = ./hplip.state; - }; - - hplipPlatforms = { - i686-linux = "x86_32"; - x86_64-linux = "x86_64"; - armv6l-linux = "arm32"; - armv7l-linux = "arm32"; - aarch64-linux = "arm64"; - }; - - hplipArch = hplipPlatforms.${stdenv.hostPlatform.system} - or (throw "HPLIP not supported on ${stdenv.hostPlatform.system}"); - - pluginArches = [ "x86_32" "x86_64" "arm32" "arm64" ]; - -in - -assert withPlugin -> builtins.elem hplipArch pluginArches - || throw "HPLIP plugin not supported on ${stdenv.hostPlatform.system}"; - -python2Packages.buildPythonApplication { - inherit name src; - format = "other"; - - buildInputs = [ - libjpeg - cups - libusb1 - sane-backends - dbus - net-snmp - openssl - ]; - - nativeBuildInputs = [ - pkg-config - ]; - - pythonPath = with python2Packages; [ - dbus - pillow - pygobject2 - reportlab - usbutils - ] ++ lib.optionals qtSupport [ - pyqt4 - ]; - - makeWrapperArgs = [ "--prefix" "PATH" ":" "${nettools}/bin" ]; - - prePatch = '' - # HPLIP hardcodes absolute paths everywhere. Nuke from orbit. - find . -type f -exec sed -i \ - -e s,/etc/hp,$out/etc/hp, \ - -e s,/etc/sane.d,$out/etc/sane.d, \ - -e s,/usr/include/libusb-1.0,${libusb1.dev}/include/libusb-1.0, \ - -e s,/usr/share/hal/fdi/preprobe/10osvendor,$out/share/hal/fdi/preprobe/10osvendor, \ - -e s,/usr/lib/systemd/system,$out/lib/systemd/system, \ - -e s,/var/lib/hp,$out/var/lib/hp, \ - {} + - ''; - - preConfigure = '' - export configureFlags="$configureFlags - --with-hpppddir=$out/share/cups/model/HP - --with-cupsfilterdir=$out/lib/cups/filter - --with-cupsbackenddir=$out/lib/cups/backend - --with-icondir=$out/share/applications - --with-systraydir=$out/xdg/autostart - --with-mimedir=$out/etc/cups - --enable-policykit - " - - export makeFlags=" - halpredir=$out/share/hal/fdi/preprobe/10osvendor - rulesdir=$out/etc/udev/rules.d - policykit_dir=$out/share/polkit-1/actions - policykit_dbus_etcdir=$out/etc/dbus-1/system.d - policykit_dbus_sharedir=$out/share/dbus-1/system-services - hplip_confdir=$out/etc/hp - hplip_statedir=$out/var/lib/hp - " - ''; - - enableParallelBuilding = true; - - postInstall = lib.optionalString withPlugin '' - sh ${plugin} --noexec --keep - cd plugin_tmp - - cp plugin.spec $out/share/hplip/ - - mkdir -p $out/share/hplip/data/firmware - cp *.fw.gz $out/share/hplip/data/firmware - - mkdir -p $out/share/hplip/data/plugins - cp license.txt $out/share/hplip/data/plugins - - mkdir -p $out/share/hplip/prnt/plugins - for plugin in lj hbpl1; do - cp $plugin-${hplipArch}.so $out/share/hplip/prnt/plugins - ln -s $out/share/hplip/prnt/plugins/$plugin-${hplipArch}.so \ - $out/share/hplip/prnt/plugins/$plugin.so - done - - mkdir -p $out/share/hplip/scan/plugins - for plugin in bb_soap bb_marvell bb_soapht fax_marvell; do - cp $plugin-${hplipArch}.so $out/share/hplip/scan/plugins - ln -s $out/share/hplip/scan/plugins/$plugin-${hplipArch}.so \ - $out/share/hplip/scan/plugins/$plugin.so - done - - mkdir -p $out/var/lib/hp - cp ${hplipState} $out/var/lib/hp/hplip.state - - mkdir -p $out/etc/sane.d/dll.d - mv $out/etc/sane.d/dll.conf $out/etc/sane.d/dll.d/hpaio.conf - ''; - - # The installed executables are just symlinks into $out/share/hplip, - # but wrapPythonPrograms ignores symlinks. We cannot replace the Python - # modules in $out/share/hplip with wrapper scripts because they import - # each other as libraries. Instead, we emulate wrapPythonPrograms by - # 1. Calling patchPythonProgram on the original script in $out/share/hplip - # 2. Making our own wrapper pointing directly to the original script. - dontWrapPythonPrograms = true; - preFixup = '' - buildPythonPath "$out $pythonPath" - - for bin in $out/bin/*; do - py=$(readlink -m $bin) - rm $bin - echo "patching \`$py'..." - patchPythonScript "$py" - echo "wrapping \`$bin'..." - makeWrapper "$py" "$bin" \ - --prefix PATH ':' "$program_PATH" \ - --set PYTHONNOUSERSITE "true" \ - $makeWrapperArgs - done - ''; - - postFixup = '' - substituteInPlace $out/etc/hp/hplip.conf --replace /usr $out - # Patch udev rules: - # with plugin, they upload firmware to printers, - # without plugin, they complain about the missing plugin. - substituteInPlace $out/etc/udev/rules.d/56-hpmud.rules \ - --replace {,${bash}}/bin/sh \ - --replace /usr/bin/nohup "" \ - --replace {,${util-linux}/bin/}logger \ - --replace {/usr,$out}/bin - ''; - - meta = with lib; { - description = "Print, scan and fax HP drivers for Linux"; - homepage = "http://hplipopensource.com/"; - downloadPage = "https://sourceforge.net/projects/hplip/files/hplip/"; - license = if withPlugin - then licenses.unfree - else with licenses; [ mit bsd2 gpl2Plus ]; - platforms = [ "i686-linux" "x86_64-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ ttuegel ]; - }; -} |