diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-01-11 23:37:02 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-01-11 23:41:30 +0000 |
commit | 6c557e3f1c28cf87e9fba232811d6875dd1399c1 (patch) | |
tree | 035a071d5d8980df6de0fa42e2ef8fc0cce7055e /nixpkgs/pkgs/misc/cups | |
parent | da7500bc026e937ac7fce7b50f67a0e1765737a7 (diff) | |
parent | e4134747f5666bcab8680aff67fa3b63384f9a0f (diff) | |
download | nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.gz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.bz2 nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.lz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.xz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.zst nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.zip |
Merge commit 'e4134747f5666bcab8680aff67fa3b63384f9a0f'
Diffstat (limited to 'nixpkgs/pkgs/misc/cups')
-rw-r--r-- | nixpkgs/pkgs/misc/cups/cups-pk-helper.nix | 10 | ||||
-rw-r--r-- | nixpkgs/pkgs/misc/cups/default.nix | 35 | ||||
-rw-r--r-- | nixpkgs/pkgs/misc/cups/drivers/canon/default.nix | 88 | ||||
-rw-r--r-- | nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix | 2 | ||||
-rw-r--r-- | nixpkgs/pkgs/misc/cups/drivers/dymo/fix-includes.patch | 13 | ||||
-rw-r--r-- | nixpkgs/pkgs/misc/cups/filters.nix | 4 |
6 files changed, 100 insertions, 52 deletions
diff --git a/nixpkgs/pkgs/misc/cups/cups-pk-helper.nix b/nixpkgs/pkgs/misc/cups/cups-pk-helper.nix index 5e7596032b3d..6534d300e824 100644 --- a/nixpkgs/pkgs/misc/cups/cups-pk-helper.nix +++ b/nixpkgs/pkgs/misc/cups/cups-pk-helper.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, intltool, pkgconfig, glib, polkit, cups }: +{ stdenv, fetchurl, intltool, pkgconfig, glib, polkit, cups, fetchpatch }: stdenv.mkDerivation rec { version = "0.2.6"; @@ -12,6 +12,14 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig intltool ]; buildInputs = [ glib polkit cups ]; + patches = [ + # Don't use etc/dbus-1/system.d + (fetchpatch { + url = "https://gitlab.freedesktop.org/cups-pk-helper/cups-pk-helper/merge_requests/2.patch"; + sha256 = "1kamhr5kn8c1y0q8xbip0fgr7maf3dyddlvab4n0iypk7rwwikl0"; + }) + ]; + meta = with stdenv.lib; { description = "PolicyKit helper to configure cups with fine-grained privileges"; homepage = http://www.freedesktop.org/wiki/Software/cups-pk-helper/; diff --git a/nixpkgs/pkgs/misc/cups/default.nix b/nixpkgs/pkgs/misc/cups/default.nix index 6e27fdb0a524..d18829673cc7 100644 --- a/nixpkgs/pkgs/misc/cups/default.nix +++ b/nixpkgs/pkgs/misc/cups/default.nix @@ -1,9 +1,27 @@ -{ stdenv, fetchurl, pkgconfig, removeReferencesTo -, zlib, libjpeg, libpng, libtiff, pam, dbus, systemd, acl, gmp, darwin -, libusb ? null, gnutls ? null, avahi ? null, libpaper ? null +{ stdenv +, fetchurl +, pkgconfig +, removeReferencesTo +, zlib +, libjpeg +, libpng +, libtiff +, pam +, dbus +, enableSystemd ? stdenv.isLinux && !stdenv.hostPlatform.isMusl +, systemd ? null +, acl +, gmp +, darwin +, libusb ? null +, gnutls ? null +, avahi ? null +, libpaper ? null , coreutils }: +assert enableSystemd -> systemd != null; + ### IMPORTANT: before updating cups, make sure the nixos/tests/printing.nix test ### works at least for your platform. @@ -12,7 +30,7 @@ stdenv.mkDerivation rec { pname = "cups"; # After 2.2.6, CUPS requires headers only available in macOS 10.12+ - version = if stdenv.isDarwin then "2.2.6" else "2.2.12"; + version = if stdenv.isDarwin then "2.2.6" else "2.3.0"; passthru = { inherit version; }; @@ -20,7 +38,7 @@ stdenv.mkDerivation rec { url = "https://github.com/apple/cups/releases/download/v${version}/cups-${version}-source.tar.gz"; sha256 = if version == "2.2.6" then "16qn41b84xz6khrr2pa2wdwlqxr29rrrkjfi618gbgdkq9w5ff20" - else "1a4sgx5y7z16flmpnchd2ix294bnzy0v8mdkd96a4j27kr2anq8g"; + else "19d1jpdpxy0fclq37pchi7ldnw9dssxx3zskcgqai3h0rwlh5bxc"; }; outputs = [ "out" "lib" "dev" "man" ]; @@ -33,7 +51,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig removeReferencesTo ]; buildInputs = [ zlib libjpeg libpng libtiff libusb gnutls libpaper ] - ++ optionals stdenv.isLinux [ avahi pam dbus systemd acl ] + ++ optionals stdenv.isLinux [ avahi pam dbus ] + ++ optional enableSystemd systemd + # Separate from above only to not modify order, to avoid mass rebuilds; merge this with the above at next big change. + ++ optionals stdenv.isLinux [ acl ] ++ optionals stdenv.isDarwin (with darwin; [ configd apple_sdk.frameworks.ApplicationServices ]); @@ -48,6 +69,7 @@ stdenv.mkDerivation rec { ] ++ optionals stdenv.isLinux [ "--enable-dbus" "--enable-pam" + "--with-dbusdir=${placeholder "out"}/share/dbus-1" ] ++ optional (libusb != null) "--enable-libusb" ++ optional (gnutls != null) "--enable-ssl" ++ optional (avahi != null) "--enable-avahi" @@ -81,7 +103,6 @@ stdenv.mkDerivation rec { "STATEDIR=$(TMPDIR)/dummy" # Idem for /etc. "PAMDIR=$(out)/etc/pam.d" - "DBUSDIR=$(out)/etc/dbus-1" "XINETD=$(out)/etc/xinetd.d" "SERVERROOT=$(out)/etc/cups" # Idem for /usr. diff --git a/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix b/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix index b6219e1c749e..adc4ead94b79 100644 --- a/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix +++ b/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix @@ -1,49 +1,55 @@ -{stdenv, fetchurl, unzip, autoreconfHook, libtool, makeWrapper, cups, ghostscript, pkgsi686Linux }: +{stdenv, fetchurl, unzip, autoreconfHook, libtool, makeWrapper, cups, ghostscript, pkgsi686Linux, zlib }: let i686_NIX_GCC = pkgsi686Linux.callPackage ({gcc}: gcc) {}; i686_libxml2 = pkgsi686Linux.callPackage ({libxml2}: libxml2) {}; + commonVer = "4.10"; + version = "3.70"; + dl = "8/0100007658/08"; + + versionNoDots = builtins.replaceStrings ["."] [""] version; src_canon = fetchurl { - url = "https://files.canon-europe.com/files/soft45378/software/o147jen_linuxufrII_0290.zip"; - sha256 = "1qpdmaaw42gm5fi21rp4lf05skffkq42ka5c8xkw8rckzb13sy9j"; + url = "http://gdlp01.c-wss.com/gds/${dl}/linux-UFRII-drv-v${versionNoDots}-uken-05.tar.gz"; + sha256 = "0424lvyrsvsb94qga4p4ldis7f714c5yw5ydv3f84mdl2a7papg0"; }; in stdenv.mkDerivation { - name = "canon-cups-ufr2-2.90"; + pname = "canon-cups-ufr2"; + version = version; src = src_canon; phases = [ "unpackPhase" "installPhase" ]; postUnpack = '' - (cd $sourceRoot; tar -xzf Sources/cndrvcups-common-2.90-1.tar.gz) - (cd $sourceRoot; tar -xzf Sources/cndrvcups-lb-2.90-1.tar.gz) + (cd $sourceRoot; tar -xzf Sources/cndrvcups-common-${commonVer}-1.tar.gz) + (cd $sourceRoot; tar -xzf Sources/cndrvcups-lb-${version}-1.tar.gz) ''; nativeBuildInputs = [ makeWrapper unzip autoreconfHook libtool ]; - buildInputs = [ cups ]; + buildInputs = [ cups zlib ]; installPhase = '' ## ## cndrvcups-common buildPhase ## - ( cd cndrvcups-common-2.90/buftool + ( cd cndrvcups-common-${commonVer}/buftool autoreconf -fi ./autogen.sh --prefix=$out --enable-progpath=$out/bin --libdir=$out/lib --disable-shared --enable-static make ) - ( cd cndrvcups-common-2.90/backend + ( cd cndrvcups-common-${commonVer}/backend ./autogen.sh --prefix=$out --libdir=$out/lib make ) - ( cd cndrvcups-common-2.90/c3plmod_ipc + ( cd cndrvcups-common-${commonVer}/c3plmod_ipc make ) @@ -51,19 +57,19 @@ stdenv.mkDerivation { ## cndrvcups-common installPhase ## - ( cd cndrvcups-common-2.90/buftool + ( cd cndrvcups-common-${commonVer}/buftool make install ) - ( cd cndrvcups-common-2.90/backend + ( cd cndrvcups-common-${commonVer}/backend make install ) - ( cd cndrvcups-common-2.90/c3plmod_ipc + ( cd cndrvcups-common-${commonVer}/c3plmod_ipc make install DESTDIR=$out/lib ) - ( cd cndrvcups-common-2.90/libs + ( cd cndrvcups-common-${commonVer}/libs chmod 755 * mkdir -p $out/lib32 mkdir -p $out/bin @@ -72,15 +78,22 @@ stdenv.mkDerivation { cp libc3pl.so.0.0.1 $out/lib32 cp libcaepcm.so.1.0 $out/lib32 cp libColorGear.so.0.0.0 $out/lib32 - cp libColorGearC.so.0.0.0 $out/lib32 + cp libColorGearC.so.1.0.0 $out/lib32 cp libcanon_slim.so.1.0.0 $out/lib32 cp c3pldrv $out/bin ) - (cd cndrvcups-common-2.90/data + (cd cndrvcups-common-${commonVer}/Rule + mkdir -p $out/share/usb + chmod 644 *.usb-quirks $out/share/usb + ) + + (cd cndrvcups-common-${commonVer}/data chmod 644 *.ICC mkdir -p $out/share/caepcm cp *.ICC $out/share/caepcm + cp *.icc $out/share/caepcm + cp *.PRF $out/share/caepcm ) (cd $out/lib32 @@ -96,8 +109,8 @@ stdenv.mkDerivation { ln -sf libcanon_slim.so.1.0.0 libcanon_slim.so ln -sf libColorGear.so.0.0.0 libColorGear.so.0 ln -sf libColorGear.so.0.0.0 libColorGear.so - ln -sf libColorGearC.so.0.0.0 libColorGearC.so.0 - ln -sf libColorGearC.so.0.0.0 libColorGearC.so + ln -sf libColorGearC.so.1.0.0 libColorGearC.so.1 + ln -sf libColorGearC.so.1.0.0 libColorGearC.so ) (cd $out/lib @@ -106,7 +119,7 @@ stdenv.mkDerivation { ) patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGear.so.0.0.0 - patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGearC.so.0.0.0 + patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib" $out/lib32/libColorGearC.so.1.0.0 patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/c3pldrv @@ -127,18 +140,13 @@ stdenv.mkDerivation { ## cndrvcups-lb buildPhase ## - ( cd cndrvcups-lb-2.90/ppd - ./autogen.sh --prefix=$out + ( cd cndrvcups-lb-${version}/buftool + ./autogen.sh --prefix=$out --libdir=$out/lib --enable-progpath=$out/bin --enable-static make ) - ( cd cndrvcups-lb-2.90/pstoufr2cpca - CPPFLAGS="-I$out/include" LDFLAGS=" -L$out/lib" ./autogen.sh --prefix=$out --enable-progpath=$out/bin - make - ) - - ( cd cndrvcups-lb-2.90/cpca - CPPFLAGS="-I$out/include" LDFLAGS=" -L$out/lib" ./autogen.sh --prefix=$out --enable-progpath=$out/bin --enable-static + ( cd cndrvcups-lb-${version}/pstoufr2cpca + ./autogen.sh --prefix=$out --libdir=$out/lib make ) @@ -146,19 +154,11 @@ stdenv.mkDerivation { ## cndrvcups-lb installPhase ## - ( cd cndrvcups-lb-2.90/ppd + ( cd cndrvcups-lb-${version}/pstoufr2cpca make install ) - ( cd cndrvcups-lb-2.90/pstoufr2cpca - make install - ) - - ( cd cndrvcups-lb-2.90/cpca - make install - ) - - ( cd cndrvcups-lb-2.90/libs + ( cd cndrvcups-lb-${version}/libs chmod 755 * mkdir -p $out/lib32 mkdir -p $out/bin @@ -189,7 +189,7 @@ stdenv.mkDerivation { ln -sf libcnlbcm.so.1.0 libcnlbcm.so ) - ( cd cndrvcups-lb-2.90 + ( cd cndrvcups-lb-${version} chmod 644 data/CnLB* chmod 644 libs/cnpkbidi_info* chmod 644 libs/ThLB* @@ -201,6 +201,9 @@ stdenv.mkDerivation { cp libs/ThLB* $out/share/ufr2filter ) + mkdir -p $out/share/cups/model + install -c -m 644 cndrvcups-lb-${version}/ppd/CN*.ppd $out/share/cups/model/ + patchelf --set-rpath "$out/lib32:${i686_libxml2.out}/lib" $out/lib32/libcanonufr2.so.1.0.0 patchelf --interpreter "$(cat ${i686_NIX_GCC}/nix-support/dynamic-linker)" --set-rpath "$out/lib32" $out/bin/cnpkmoduleufr2 @@ -211,9 +214,12 @@ stdenv.mkDerivation { --prefix PATH ":" "$out/bin" ''; - meta = { + meta = with stdenv.lib; { description = "CUPS Linux drivers for Canon printers"; homepage = http://www.canon.com/; - license = stdenv.lib.licenses.unfree; + license = licenses.unfree; + maintainers = with maintainers; [ + kylesferrazza + ]; }; } diff --git a/nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix b/nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix index f38ed7f0309e..0c91b782117d 100644 --- a/nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix +++ b/nixpkgs/pkgs/misc/cups/drivers/cups-bjnp/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { preConfigure = ''configureFlags="--with-cupsbackenddir=$out/lib/cups/backend"''; buildInputs = [cups]; - NIX_CFLAGS_COMPILE = "-include stdio.h"; + NIX_CFLAGS_COMPILE = [ "-include stdio.h" "-Wno-error=stringop-truncation" ]; meta = { description = "CUPS back-end for Canon printers"; diff --git a/nixpkgs/pkgs/misc/cups/drivers/dymo/fix-includes.patch b/nixpkgs/pkgs/misc/cups/drivers/dymo/fix-includes.patch index fa7df5591dda..55f71369a001 100644 --- a/nixpkgs/pkgs/misc/cups/drivers/dymo/fix-includes.patch +++ b/nixpkgs/pkgs/misc/cups/drivers/dymo/fix-includes.patch @@ -65,3 +65,16 @@ diff -rp dymo-cups-drivers-1.4.0.5/src/lw/CupsFilterLabelWriter.h dymo-cups-driv #include <cups/raster.h> #include "LabelWriterDriver.h" #include "LabelWriterLanguageMonitor.h" +diff -rp dymo-cups-drivers-1.4.0.5/src/common/CupsPrintEnvironment.cpp dymo-cups-drivers-1.4.0.5-fix/src/common/CupsPrintEnvironment.cpp +*** dymo-cups-drivers-1.4.0.5/src/common/CupsPrintEnvironment.cpp 2019-12-16 19:37:23.429662838 +0000 +--- dymo-cups-drivers-1.4.0.5-fix/src/common/CupsPrintEnvironment.cpp 2019-12-16 19:41:48.506991614 +0000 +*************** +*** 23,28 **** +--- 23,29 ---- + #include "CupsPrintEnvironment.h" + #include <errno.h> + #include <cups/cups.h> ++ #include <cups/sidechannel.h> + #include <cassert> + + namespace DymoPrinterDriver diff --git a/nixpkgs/pkgs/misc/cups/filters.nix b/nixpkgs/pkgs/misc/cups/filters.nix index 927755fdb743..76f68e507506 100644 --- a/nixpkgs/pkgs/misc/cups/filters.nix +++ b/nixpkgs/pkgs/misc/cups/filters.nix @@ -9,11 +9,11 @@ let in stdenv.mkDerivation rec { pname = "cups-filters"; - version = "1.25.0"; + version = "1.25.12"; src = fetchurl { url = "https://openprinting.org/download/cups-filters/${pname}-${version}.tar.xz"; - sha256 = "1laiscq8yvynw862calkgbz9irrdkmd5l821q6a6wik1ifd186c1"; + sha256 = "1kv25011iyzvd33n5zmmn1z2p6pzk26hmmw6qvjjnx8p3sp7raqn"; }; nativeBuildInputs = [ pkgconfig makeWrapper ]; |