aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/misc/cups
diff options
context:
space:
mode:
authorKatharina Fey <kookie@spacekookie.de>2020-01-10 20:09:37 +0000
committerKatharina Fey <kookie@spacekookie.de>2020-01-10 20:09:37 +0000
commit45431c078bf8f54aef7c9fae2e5913395ec82c31 (patch)
treefd8ff1346a963ddd72e782421f05b623f9759e2a /nixpkgs/pkgs/misc/cups
parentc86fea6086c212ea489cfb023a5f5c9c8f188810 (diff)
parent3ccbc8d89153ecf13f3eae7d9c106d91cd4ab9e5 (diff)
Merge commit '3ccbc8d89153ecf13f3eae7d9c106d91cd4ab9e5' into fuckthisshit
Diffstat (limited to 'nixpkgs/pkgs/misc/cups')
-rw-r--r--nixpkgs/pkgs/misc/cups/default.nix33
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/canon/default.nix88
-rw-r--r--nixpkgs/pkgs/misc/cups/filters.nix4
3 files changed, 76 insertions, 49 deletions
diff --git a/nixpkgs/pkgs/misc/cups/default.nix b/nixpkgs/pkgs/misc/cups/default.nix
index c7df3f333b6..d18829673cc 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
]);
diff --git a/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix b/nixpkgs/pkgs/misc/cups/drivers/canon/default.nix
index b6219e1c749..adc4ead94b7 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/filters.nix b/nixpkgs/pkgs/misc/cups/filters.nix
index 05b8c1f7046..76f68e50750 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.6";
+ version = "1.25.12";
src = fetchurl {
url = "https://openprinting.org/download/cups-filters/${pname}-${version}.tar.xz";
- sha256 = "1pgjk7j2p8m17pwynqd86hxgvz9lyb09ivx18lv6inmygij0pm4j";
+ sha256 = "1kv25011iyzvd33n5zmmn1z2p6pzk26hmmw6qvjjnx8p3sp7raqn";
};
nativeBuildInputs = [ pkgconfig makeWrapper ];