fluffychat: 1.22.1 -> 1.23.0 (#364091)
[NixPkgs.git] / pkgs / by-name / cn / cnijfilter2 / package.nix
blobc040987773cd04b0989396a8bbd90074b56476fd
2   stdenv,
3   lib,
4   fetchzip,
5   autoconf,
6   automake,
7   cups,
8   glib,
9   libxml2,
10   libusb1,
11   libtool,
12   withDebug ? false,
15 stdenv.mkDerivation {
16   pname = "cnijfilter2";
18   version = "6.40";
20   src = fetchzip {
21     url = "https://gdlp01.c-wss.com/gds/1/0100011381/01/cnijfilter2-source-6.40-1.tar.gz";
22     sha256 = "3RoG83jLOsdTEmvUkkxb7wa8oBrJA4v1mGtxTGwSowU=";
23   };
25   nativeBuildInputs = [
26     automake
27     autoconf
28   ];
29   buildInputs = [
30     cups
31     glib
32     libxml2
33     libusb1
34     libtool
35   ];
37   patches = [
38     ./patches/get_protocol.patch
39   ];
41   # lgmon3's --enable-libdir flag is used soley for specifying in which
42   # directory the cnnnet.ini cache file should reside.
43   # NixOS uses /var/cache/cups, and given the name, it seems like a reasonable
44   # place to put the cnnet.ini file, and thus we do so.
45   #
46   # Note that the drivers attempt to dlopen
47   # $out/lib/cups/filter/libcnbpcnclapicom2.so
48   buildPhase =
49     ''
50       mkdir -p $out/lib
51       cp com/libs_bin_x86_64/* $out/lib
52       mkdir -p $out/lib/cups/filter
53       ln -s $out/lib/libcnbpcnclapicom2.so $out/lib/cups/filter
55       export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib"
56     ''
57     + lib.optionalString withDebug ''
58       export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -D__DEBUG__ -DDEBUG_LOG"
59     ''
60     + ''
62       (
63         cd lgmon3
64         substituteInPlace src/Makefile.am \
65           --replace /usr/include/libusb-1.0 \
66                     ${libusb1.dev}/include/libusb-1.0
67         ./autogen.sh --prefix=$out --enable-progpath=$out/bin \
68                      --datadir=$out/share \
69                      --enable-libdir=/var/cache/cups
70         make
71       )
73       (
74         cd cmdtocanonij2
75         ./autogen.sh --prefix=$out
76         make
77       )
79       (
80         cd cmdtocanonij3
81         ./autogen.sh --prefix=$out
82         make
83       )
85       (
86         cd cnijbe2
87         substituteInPlace src/Makefile.am \
88           --replace "/usr/lib/cups/backend" \
89                     "$out/lib/cups/backend"
90         ./autogen.sh --prefix=$out --enable-progpath=$out/bin
91         make
92       )
94       (
95         cd rastertocanonij
96         ./autogen.sh --prefix=$out --enable-progpath=$out/bin
97         make
98       )
100       (
101         cd tocanonij
102         ./autogen.sh --prefix=$out --enable-progpath=$out/bin
103         make
104       )
106       (
107         cd tocnpwg
108         ./autogen.sh --prefix=$out --enable-progpath=$out/bin
109         make
110       )
111     '';
113   installPhase = ''
114     (
115       cd lgmon3
116       make install
117     )
119     (
120       cd cmdtocanonij2
121       make install
122     )
124     (
125       cd cmdtocanonij3
126       make install
127     )
129     (
130       cd cnijbe2
131       make install
132     )
134     (
135       cd rastertocanonij
136       make install
137     )
139     (
140       cd tocanonij
141       make install
142     )
144     (
145       cd tocnpwg
146       make install
147     )
149     mkdir -p $out/share/cups/model
150     cp ppd/*.ppd $out/share/cups/model
151   '';
153   meta = with lib; {
154     description = "Canon InkJet printer drivers for many Pixma series printers";
155     longDescription = ''
156       Canon InjKet printer drivers for series E200, E300, E3100, E3300, E4200, E450, E470, E480,
157       G3000, G3010, G4000, G4010, G5000, G5080, G6000, G6050, G6080, G7000, G7050, G7080, GM2000,
158       GM2080, GM4000, GM4080, iB4000, iB4100, iP110, MB2000, MB2100, MB2300, MB2700, MB5000,
159       MB5100, MB5300, MB5400, MG2900, MG3000, MG3600, MG5600, MG5700, MG6600, MG6700, MG6800,
160       MG6900, MG7500, MG7700, MX490, TR4500, TR703, TR7500, TR7530, TR8500, TR8530, TR8580, TR9530,
161       TS200, TS300, TS3100, TS3300, TS5000, TS5100, TS5300, TS5380, TS6000, TS6100, TS6130, TS6180,
162       TS6200, TS6230, TS6280, TS6300, TS6330, TS6380, TS700, TS708, TS7330, TS8000, TS8100, TS8130,
163       TS8180, TS8200, TS8230, TS8280, TS8300, TS8330, TS8380, TS9000, TS9100, TS9180, TS9500,
164       TS9580, XK50, XK60, XK70, XK80.
165     '';
166     homepage = "https://hk.canon/en/support/0101048401/1";
167     license = licenses.unfree;
168     platforms = [
169       "i686-linux"
170       "x86_64-linux"
171     ];
172     maintainers = [ ];
173   };