summary refs log tree commit diff
path: root/pkgs/misc/cups
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/misc/cups')
-rw-r--r--pkgs/misc/cups/drivers/canon/default.nix37
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter2/default.nix23
-rw-r--r--pkgs/misc/cups/drivers/cnijfilter2/patches/get_protocol.patch14
3 files changed, 51 insertions, 23 deletions
diff --git a/pkgs/misc/cups/drivers/canon/default.nix b/pkgs/misc/cups/drivers/canon/default.nix
index f20f3104911..07b81ce9bc2 100644
--- a/pkgs/misc/cups/drivers/canon/default.nix
+++ b/pkgs/misc/cups/drivers/canon/default.nix
@@ -27,7 +27,6 @@
 }:
 
 let
-
   i686_NIX_GCC = pkgsi686Linux.callPackage ({ gcc }: gcc) { };
   ld32 =
     if stdenv.hostPlatform.system == "x86_64-linux" then "${stdenv.cc}/nix-support/dynamic-linker-m32"
@@ -46,31 +45,31 @@ let
   };
 
   buildInputs = [ cups zlib jbigkit glib gtk3 pkg-config gnome2.libglade libxml2 gdk-pixbuf pango cairo atk ];
-
 in
-
-
 stdenv.mkDerivation rec {
   pname = "canon-cups-ufr2";
   inherit version;
   src = src_canon;
 
   postUnpack = ''
-    (cd $sourceRoot; tar -xzf Sources/cnrdrvcups-lb-${version}-1.tar.gz)
-    (cd $sourceRoot; sed -ie "s@_prefix=/usr@_prefix=$out@" cnrdrvcups-common-${version}/allgen.sh)
-    (cd $sourceRoot; sed -ie "s@_libdir=/usr/lib@_libdir=$out/lib@" cnrdrvcups-common-${version}/allgen.sh)
-    (cd $sourceRoot; sed -ie "s@_bindir=/usr/bin@_libdir=$out/bin@" cnrdrvcups-common-${version}/allgen.sh)
-    (cd $sourceRoot; sed -ie "s@etc/cngplp@$out/etc/cngplp@" cnrdrvcups-common-${version}/cngplp/Makefile.am)
-    (cd $sourceRoot; sed -ie "s@usr/share/cngplp@$out/usr/share/cngplp@" cnrdrvcups-common-${version}/cngplp/src/Makefile.am)
-    (cd $sourceRoot; patchShebangs cnrdrvcups-common-${version})
-
-    (cd $sourceRoot; sed -ie "s@_prefix=/usr@_prefix=$out@" cnrdrvcups-lb-${version}/allgen.sh)
-    (cd $sourceRoot; sed -ie "s@_libdir=/usr/lib@_libdir=$out/lib@" cnrdrvcups-lb-${version}/allgen.sh)
-    (cd $sourceRoot; sed -ie "s@_bindir=/usr/bin@_libdir=$out/bin@" cnrdrvcups-lb-${version}/allgen.sh)
-    (cd $sourceRoot; sed -ie '/^cd \.\.\/cngplp/,/^cd files/{/^cd files/!{d}}' cnrdrvcups-lb-${version}/allgen.sh)
-    (cd $sourceRoot; sed -ie "s@cd \.\./pdftocpca@cd pdftocpca@" cnrdrvcups-lb-${version}/allgen.sh)
-    (cd $sourceRoot; sed -i "/CNGPLPDIR/d" cnrdrvcups-lb-${version}/Makefile)
-    (cd $sourceRoot; patchShebangs cnrdrvcups-lb-${version})
+    (
+      cd $sourceRoot
+      tar -xzf Sources/cnrdrvcups-lb-${version}-1.tar.gz
+      sed -ie "s@_prefix=/usr@_prefix=$out@" cnrdrvcups-common-${version}/allgen.sh
+      sed -ie "s@_libdir=/usr/lib@_libdir=$out/lib@" cnrdrvcups-common-${version}/allgen.sh
+      sed -ie "s@_bindir=/usr/bin@_bindir=$out/bin@" cnrdrvcups-common-${version}/allgen.sh
+      sed -ie "s@etc/cngplp@$out/etc/cngplp@" cnrdrvcups-common-${version}/cngplp/Makefile.am
+      sed -ie "s@usr/share/cngplp@$out/usr/share/cngplp@" cnrdrvcups-common-${version}/cngplp/src/Makefile.am
+      patchShebangs cnrdrvcups-common-${version}
+
+      sed -ie "s@_prefix=/usr@_prefix=$out@" cnrdrvcups-lb-${version}/allgen.sh
+      sed -ie "s@_libdir=/usr/lib@_libdir=$out/lib@" cnrdrvcups-lb-${version}/allgen.sh
+      sed -ie "s@_bindir=/usr/bin@_bindir=$out/bin@" cnrdrvcups-lb-${version}/allgen.sh
+      sed -ie '/^cd \.\.\/cngplp/,/^cd files/{/^cd files/!{d}}' cnrdrvcups-lb-${version}/allgen.sh
+      sed -ie "s@cd \.\./pdftocpca@cd pdftocpca@" cnrdrvcups-lb-${version}/allgen.sh
+      sed -i "/CNGPLPDIR/d" cnrdrvcups-lb-${version}/Makefile
+      patchShebangs cnrdrvcups-lb-${version}
+    )
   '';
 
   nativeBuildInputs = [ makeWrapper unzip autoconf automake libtool_1_5 ];
diff --git a/pkgs/misc/cups/drivers/cnijfilter2/default.nix b/pkgs/misc/cups/drivers/cnijfilter2/default.nix
index 40a1414cfab..8390d5e0ba8 100644
--- a/pkgs/misc/cups/drivers/cnijfilter2/default.nix
+++ b/pkgs/misc/cups/drivers/cnijfilter2/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation {
   pname = "cnijfilter2";
 
-  version = "6.10";
+  version = "6.40";
 
   src = fetchzip {
-    url = "https://gdlp01.c-wss.com/gds/1/0100010921/01/cnijfilter2-source-6.10-1.tar.gz";
-    sha256 = "0w121issdjxdv5i9ksa5m23if6pz1r9ql8p894f1pqn16w0kw1ix";
+    url = "https://gdlp01.c-wss.com/gds/1/0100011381/01/cnijfilter2-source-6.40-1.tar.gz";
+    sha256 = "3RoG83jLOsdTEmvUkkxb7wa8oBrJA4v1mGtxTGwSowU=";
   };
 
   nativeBuildInputs = [ automake autoconf ];
@@ -16,6 +16,10 @@ stdenv.mkDerivation {
     cups glib libxml2 libusb1 libtool
   ];
 
+  patches = [
+    ./patches/get_protocol.patch
+  ];
+
   # lgmon3's --enable-libdir flag is used soley for specifying in which
   # directory the cnnnet.ini cache file should reside.
   # NixOS uses /var/cache/cups, and given the name, it seems like a reasonable
@@ -25,7 +29,7 @@ stdenv.mkDerivation {
   # $out/lib/cups/filter/libcnbpcnclapicom2.so
   buildPhase = ''
     mkdir -p $out/lib
-    cp com/libs_bin64/* $out/lib
+    cp com/libs_bin_x86_64/* $out/lib
     mkdir -p $out/lib/cups/filter
     ln -s $out/lib/libcnbpcnclapicom2.so $out/lib/cups/filter
 
@@ -52,6 +56,12 @@ stdenv.mkDerivation {
     )
 
     (
+      cd cmdtocanonij3
+      ./autogen.sh --prefix=$out
+      make
+    )
+
+    (
       cd cnijbe2
       substituteInPlace src/Makefile.am \
         --replace "/usr/lib/cups/backend" \
@@ -91,6 +101,11 @@ stdenv.mkDerivation {
     )
 
     (
+      cd cmdtocanonij3
+      make install
+    )
+
+    (
       cd cnijbe2
       make install
     )
diff --git a/pkgs/misc/cups/drivers/cnijfilter2/patches/get_protocol.patch b/pkgs/misc/cups/drivers/cnijfilter2/patches/get_protocol.patch
new file mode 100644
index 00000000000..18cb1ce1d01
--- /dev/null
+++ b/pkgs/misc/cups/drivers/cnijfilter2/patches/get_protocol.patch
@@ -0,0 +1,14 @@
+# Resolves the compilation issue reported at https://github.com/NixOS/nixpkgs/pull/180681#issuecomment-1192304711
+# An identical issue was previously reported in Gentoo: https://bugs.gentoo.org/723186
+# This patch is taken from the solution of Alfredo Tupone (https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24688d64544b43f2c14be54531ad8764419dde09)
+--- a/lgmon3/src/cnijlgmon3.c	2022-07-22 12:44:32.194641628 +0100
++++ b/lgmon3/src/cnijlgmon3.c	2022-07-22 12:43:53.954817724 +0100
+@@ -55,7 +55,7 @@
+ int (*GET_STATUS)(char *, int, int *, int * , char *);
+ int (*GET_STATUS2)(char *, int, char *, int *, int * , char *, char *);
+ int (*GET_STATUS2_MAINTENANCE)(char *, int, char *, int *, int * , char *, char *);
+-int (*GET_PROTOCOL)(char *, size_t);
++static int (*GET_PROTOCOL)(char *, size_t);
+ 
+ 
+  int main(int argc, char *argv[])