diff options
Diffstat (limited to 'pkgs/misc/cups')
-rw-r--r-- | pkgs/misc/cups/drivers/canon/default.nix | 37 | ||||
-rw-r--r-- | pkgs/misc/cups/drivers/cnijfilter2/default.nix | 23 | ||||
-rw-r--r-- | pkgs/misc/cups/drivers/cnijfilter2/patches/get_protocol.patch | 14 |
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[]) |