summaryrefslogtreecommitdiffstats
path: root/system/pixma
diff options
context:
space:
mode:
Diffstat (limited to 'system/pixma')
-rw-r--r--system/pixma/05_ipp.diff124
-rw-r--r--system/pixma/README38
-rw-r--r--system/pixma/pixma.SlackBuild58
-rw-r--r--system/pixma/pixma.info2
4 files changed, 183 insertions, 39 deletions
diff --git a/system/pixma/05_ipp.diff b/system/pixma/05_ipp.diff
new file mode 100644
index 0000000000..2919a3fa40
--- /dev/null
+++ b/system/pixma/05_ipp.diff
@@ -0,0 +1,124 @@
+--- cngpij/cngpij/bjcups.c.orig 2013-07-17 11:33:45.000000000 +1000
++++ cngpij/cngpij/bjcups.c 2022-03-06 11:35:54.874000000 +1000
+@@ -698,8 +698,8 @@
+ else {
+ pRequest = ippNew();
+
+- pRequest->request.op.operation_id = CUPS_GET_PRINTERS;
+- pRequest->request.op.request_id = 1;
++ ippSetOperation(pRequest, CUPS_GET_PRINTERS);
++ ippSetRequestId(pRequest, 1);
+
+ pLanguage = bjcupsLangDefault(); // cupsLangDefault() -> bjcupsLangDefault() for cups-1.1.19
+
+@@ -708,29 +708,29 @@
+ ippAddString(pRequest, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, NULL);
+
+ if ((pResponse = cupsDoRequest(pHTTP, pRequest, "/")) != NULL) {
+- if (pResponse->request.status.status_code > IPP_OK_CONFLICT) {
++ if (ippGetStatusCode(pResponse) > IPP_OK_CONFLICT) {
+ fputs("ERROR: IPP ERROR\n", stderr);
+ goto onErr;
+ }
+ else {
+- pAttribute = pResponse->attrs;
++ pAttribute = ippFirstAttribute(pResponse);
+
+ while (pAttribute != NULL) {
+- while (pAttribute != NULL && pAttribute->group_tag != IPP_TAG_PRINTER) {
+- pAttribute = pAttribute->next;
++ while (pAttribute != NULL && ippGetGroupTag(pAttribute) != IPP_TAG_PRINTER) {
++ pAttribute = ippNextAttribute(pResponse);
+ }
+ if (pAttribute == NULL) {
+ break;
+ }
+
+- while (pAttribute != NULL && pAttribute->group_tag == IPP_TAG_PRINTER) {
+- if (strcmp(pAttribute->name, "printer-name") == 0 && pAttribute->value_tag == IPP_TAG_NAME) {
+- pPrinter = pAttribute->values[0].string.text;
++ while (pAttribute != NULL && ippGetGroupTag(pAttribute) == IPP_TAG_PRINTER) {
++ if (strcmp(ippGetName(pAttribute), "printer-name") == 0 && ippGetValueTag(pAttribute) == IPP_TAG_NAME) {
++ pPrinter = ippGetString(pAttribute, 0, NULL);
+ }
+- if (strcmp(pAttribute->name, "device-uri") == 0 && pAttribute->value_tag == IPP_TAG_URI) {
+- pDUri = pAttribute->values[0].string.text;
++ if (strcmp(ippGetName(pAttribute), "device-uri") == 0 && ippGetValueTag(pAttribute) == IPP_TAG_URI) {
++ pDUri = ippGetString(pAttribute, 0, NULL);
+ }
+- pAttribute = pAttribute->next;
++ pAttribute = ippNextAttribute(pResponse);
+ }
+
+ if (strcasecmp(pDestName, pPrinter) == 0) {
+@@ -739,7 +739,7 @@
+ }
+
+ if (pAttribute != NULL)
+- pAttribute = pAttribute->next;
++ pAttribute = ippNextAttribute(pResponse);
+ }
+ }
+
+--- cngpijmnt/src/main.c.orig 2022-03-06 11:44:22.748000000 +1000
++++ cngpijmnt/src/main.c 2022-03-06 12:01:18.331000000 +1000
+@@ -322,8 +322,8 @@
+ else {
+ pRequest = ippNew();
+
+- pRequest->request.op.operation_id = CUPS_GET_PRINTERS;
+- pRequest->request.op.request_id = 1;
++ ippSetOperation(pRequest, CUPS_GET_PRINTERS);
++ ippSetRequestId(pRequest, 1);
+
+ pLanguage = bjcupsLangDefault(); // cupsLangDefault() -> bjcupsLangDefault() for cups-1.1.19
+
+@@ -332,29 +332,29 @@
+ ippAddString(pRequest, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL, NULL);
+
+ if ((pResponse = cupsDoRequest(pHTTP, pRequest, "/")) != NULL) {
+- if (pResponse->request.status.status_code > IPP_OK_CONFLICT) {
++ if (ippGetStatusCode(pResponse) > IPP_OK_CONFLICT) {
+ fputs("ERROR: IPP ERROR\n", stderr);
+ goto onErr;
+ }
+ else {
+- pAttribute = pResponse->attrs;
++ pAttribute = ippFirstAttribute(pResponse);
+
+ while (pAttribute != NULL) {
+- while (pAttribute != NULL && pAttribute->group_tag != IPP_TAG_PRINTER) {
+- pAttribute = pAttribute->next;
++ while (pAttribute != NULL && ippGetGroupTag(pAttribute) != IPP_TAG_PRINTER) {
++ pAttribute = ippNextAttribute(pResponse);
+ }
+ if (pAttribute == NULL) {
+ break;
+ }
+
+- while (pAttribute != NULL && pAttribute->group_tag == IPP_TAG_PRINTER) {
+- if (strcmp(pAttribute->name, "printer-name") == 0 && pAttribute->value_tag == IPP_TAG_NAME) {
+- pPrinter = pAttribute->values[0].string.text;
++ while (pAttribute != NULL && ippGetGroupTag(pAttribute) == IPP_TAG_PRINTER) {
++ if (strcmp(ippGetName(pAttribute), "printer-name") == 0 && ippGetValueTag(pAttribute) == IPP_TAG_NAME) {
++ pPrinter = ippGetString(pAttribute, 0, NULL);
+ }
+- if (strcmp(pAttribute->name, "device-uri") == 0 && pAttribute->value_tag == IPP_TAG_URI) {
+- pDUri = pAttribute->values[0].string.text;
++ if (strcmp(ippGetName(pAttribute), "device-uri") == 0 && ippGetValueTag(pAttribute) == IPP_TAG_URI) {
++ pDUri = ippGetString(pAttribute, 0, NULL);
+ }
+- pAttribute = pAttribute->next;
++ pAttribute = ippNextAttribute(pResponse);
+ }
+
+ if (strcasecmp(pDestName, pPrinter) == 0) {
+@@ -363,7 +363,7 @@
+ }
+
+ if (pAttribute != NULL)
+- pAttribute = pAttribute->next;
++ pAttribute = ippNextAttribute(pResponse);
+ }
+ }
+
diff --git a/system/pixma/README b/system/pixma/README
index ae3198c72d..17fffd8988 100644
--- a/system/pixma/README
+++ b/system/pixma/README
@@ -1,30 +1,30 @@
Driver & PPD files for Canon PIXMA printers.
-By default, this SlackBuild supports all the following Canon PIXMA printer
-families:
- cnijfilter-mg2500-429
- cnijfilter-mg2400-428
- cnijfilter-mg3500-427
- cnijfilter-mg5500-426
- cnijfilter-mg6400-425
- cnijfilter-mg6500-424
- cnijfilter-mg7100-423
- cnijfilter-p200-430
-
-Support for only certain printers may be built by specifying one/some of the
-listed printer families in the MODELS environment variable.
+By default, this SlackBuild supports all the following Canon PIXMA
+printer families:
+ cnijfilter-mg2500-429
+ cnijfilter-mg2400-428
+ cnijfilter-mg3500-427
+ cnijfilter-mg5500-426
+ cnijfilter-mg6400-425
+ cnijfilter-mg6500-424
+ cnijfilter-mg7100-423
+ cnijfilter-p200-430
+
+Support for only certain printers may be built by specifying one/some
+of the listed printer families in the MODELS environment variable.
For example to support only the MG2522 printer, run:
MODELS="cnijfilter-mg2500-429" sh pixma.SlackBuild
To support both the MG2522 and MG7164 printers, run:
- MODELS="cnijfilter-mg2500-429 cnijfilter-mg7100-423" sh pixma.SlackBuild
+ MODELS="cnijfilter-mg2500-429 cnijfilter-mg7100-423" \
+ sh pixma.SlackBuild
To support all available printers, don't specify any MODELS; just run:
sh pixma.SlackBuild
-
-NB. see also SBo system/cnijfilter2 SlackBuild for support of related Canon
-printers. It supports MG7500, MG6700, MG6600, MG5600, MG2900, MB2000, MB2300,
-iB4000, MB5000, MB5300, iP110, E450, MX490 and E480 series.
-
+NB. see also SBo system/cnijfilter2 SlackBuild for support of related
+Canon printers. It supports MG7500, MG6700, MG6600, MG5600, MG2900,
+MB2000, MB2300, iB4000, MB5000, MB5300, iP110, E450, MX490 and E480
+series.
diff --git a/system/pixma/pixma.SlackBuild b/system/pixma/pixma.SlackBuild
index 1770fffead..48e3ed14fa 100644
--- a/system/pixma/pixma.SlackBuild
+++ b/system/pixma/pixma.SlackBuild
@@ -1,8 +1,8 @@
-#!/bin/sh
+#!/bin/bash
# Slackware build script for pixma
-# Copyright 2019 Christoph Willing Brisbane, Australia
+# Copyright 2019-2022 Christoph Willing Brisbane, Australia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,10 +22,16 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 20230515 bkw: Modified by SlackBuilds.org, BUILD=4:
+# revert PKG= to template, fix permissions in doc dir.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=pixma
VERSION=${VERSION:-4.00.1}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-4}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
SRCNAM=cnijfilter-source
SRCVERSION=${SRCVERSION:-4.00-1}
@@ -38,23 +44,32 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$SRCNAM
+PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
+ BUILD_LIBDIRSUFFIX=32
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
+ BUILD_LIBDIRSUFFIX=32
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
+ BUILD_LIBDIRSUFFIX=64
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
+ echo "$ARCH not supported"
+ exit 1
fi
PRINTER_PKG_PROGRAM="ppd cnijfilter"
@@ -83,10 +98,14 @@ cd $SRCNAM-$SRCVERSION
patch -p0 < $CWD/00_IPP_PRIVATE_STRUCTURES.diff
patch -p0 < $CWD/04_ppd_h.diff
+# SL15.0
+patch -p0 < $CWD/05_ipp.diff
+sed -i -e "/sys\/sysctl.h/d" cnijnpr/src/cnijnpr.c
+
# Correct cups directory location
-sed -i -e "s/lib\/cups/lib$LIBDIRSUFFIX\/cups/" cnijbe/src/Makefile.am
-sed -i -e "s/lib\/cups/lib$LIBDIRSUFFIX\/cups/" backend/src/Makefile.am
-sed -i -e "s/lib\/cups/lib$LIBDIRSUFFIX\/cups/" backendnet/backend/Makefile.am
+sed -i -e "s:lib/cups:lib$LIBDIRSUFFIX/cups:" cnijbe/src/Makefile.am
+sed -i -e "s:lib/cups:lib$LIBDIRSUFFIX/cups:" backend/src/Makefile.am
+sed -i -e "s:lib/cups:lib$LIBDIRSUFFIX/cups:" backendnet/backend/Makefile.am
chown -R root:root .
find -L . \
@@ -102,10 +121,10 @@ find -L . \
(cd ./cngpijmnt; CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./autogen.sh --prefix=/usr --enable-progpath=/usr/bin )
(cd ./pstocanonij; CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./autogen.sh --libdir=/usr/lib$LIBDIRSUFFIX --enable-progpath=/usr/bin )
(cd ./backend; CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./autogen.sh --prefix=/usr --enable-progpath=/usr/bin )
-(cd ./backendnet; CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./autogen.sh --prefix=/usr --enable-progpath=/usr/bin LDFLAGS="-L../../com/libs_bin$LIBDIRSUFFIX" )
+(cd ./backendnet; CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./autogen.sh --prefix=/usr --enable-progpath=/usr/bin LDFLAGS="-L../../com/libs_bin$BUILD_LIBDIRSUFFIX" )
(cd ./cmdtocanonij; CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./autogen.sh --prefix=/usr --libdir=/usr/lib$LIBDIRSUFFIX )
(cd ./cnijbe; CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./autogen.sh --prefix=/usr --enable-progpath=/usr/bin )
-(cd ./lgmon2; CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./autogen.sh --prefix=/usr --enable-progpath=/usr/bin LDFLAGS="-L../../com/libs_bin$LIBDIRSUFFIX" )
+(cd ./lgmon2; CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./autogen.sh --prefix=/usr --enable-progpath=/usr/bin LDFLAGS="-L../../com/libs_bin$BUILD_LIBDIRSUFFIX" )
(cd ./ppd; CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./autogen.sh --prefix=/usr --enable-ppdpath=/usr/share/ppd --program-suffix=CN_IJ_MODEL )
(cd ./cnijfilter; CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./autogen.sh --prefix=/usr --enable-libpath=/usr/lib$LIBDIRSUFFIX/bjlib --enable-binpath=/usr/bin --program-suffix=CN_IJ_MODEL )
@@ -129,12 +148,12 @@ for pkg in $PRINTER_DEPEND_PKG ; do
popd
done
mkdir -p ${PKG}/usr/lib${LIBDIRSUFFIX}
- install -m 755 ${model_num}/libs_bin${LIBDIRSUFFIX}/libcnbpcmcm${model_num}.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
- install -m 755 ${model_num}/libs_bin${LIBDIRSUFFIX}/libcnbpcnclapi${model_num}.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
- install -m 755 ${model_num}/libs_bin${LIBDIRSUFFIX}/libcnbpcnclbjcmd${model_num}.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
- install -m 755 ${model_num}/libs_bin${LIBDIRSUFFIX}/libcnbpcnclui${model_num}.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
- install -m 755 ${model_num}/libs_bin${LIBDIRSUFFIX}/libcnbpess${model_num}.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
- install -m 755 ${model_num}/libs_bin${LIBDIRSUFFIX}/libcnbpo${model_num}.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
+ install -m 755 ${model_num}/libs_bin${BUILD_LIBDIRSUFFIX}/libcnbpcmcm${model_num}.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
+ install -m 755 ${model_num}/libs_bin${BUILD_LIBDIRSUFFIX}/libcnbpcnclapi${model_num}.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
+ install -m 755 ${model_num}/libs_bin${BUILD_LIBDIRSUFFIX}/libcnbpcnclbjcmd${model_num}.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
+ install -m 755 ${model_num}/libs_bin${BUILD_LIBDIRSUFFIX}/libcnbpcnclui${model_num}.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
+ install -m 755 ${model_num}/libs_bin${BUILD_LIBDIRSUFFIX}/libcnbpess${model_num}.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
+ install -m 755 ${model_num}/libs_bin${BUILD_LIBDIRSUFFIX}/libcnbpo${model_num}.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
mkdir -p ${PKG}/usr/lib${LIBDIRSUFFIX}/bjlib
install -m 644 ${model_num}/database/cif${model_name}.conf ${PKG}/usr/lib${LIBDIRSUFFIX}/bjlib
install -m 644 ${model_num}/database/cnb_${model_num}0.tbl ${PKG}/usr/lib${LIBDIRSUFFIX}/bjlib
@@ -156,8 +175,8 @@ done
( cd ./cnijbe; make clean; make; make install DESTDIR=$PKG )
( cd ./lgmon2; make clean; make; make install DESTDIR=$PKG )
-install -m 755 com/libs_bin${LIBDIRSUFFIX}/libcnnet.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
-install -m 755 com/libs_bin${LIBDIRSUFFIX}/libcnbpcnclapicom.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
+install -m 755 com/libs_bin${BUILD_LIBDIRSUFFIX}/libcnnet.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
+install -m 755 com/libs_bin${BUILD_LIBDIRSUFFIX}/libcnbpcnclapicom.so.* ${PKG}/usr/lib${LIBDIRSUFFIX}/
install -m 644 -o lp -g lp com/ini/cnnet.ini ${PKG}/usr/lib${LIBDIRSUFFIX}/bjlib/ || true
mkdir -p $PKG/etc/udev/rules.d
@@ -167,6 +186,7 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+chmod 644 LICENSE-cnijfilter-4*.txt
cp -a LICENSE-cnijfilter-4*.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
@@ -174,4 +194,4 @@ mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/system/pixma/pixma.info b/system/pixma/pixma.info
index faff1ae9ba..5f3207f559 100644
--- a/system/pixma/pixma.info
+++ b/system/pixma/pixma.info
@@ -1,6 +1,6 @@
PRGNAM="pixma"
VERSION="4.00.1"
-HOMEPAGE="https://www.canon-wireless.com/2018/11/canon-pixma-mg2522-driver-download.html"
+HOMEPAGE="https://www.usa.canon.com/internet/portal/us/home/support/details/printers/support-inkjet-printer/mg-series/pixma-mg2522/pixma-mg2522"
DOWNLOAD="http://gdlp01.c-wss.com/gds/5/0100005515/01/cnijfilter-source-4.00-1.tar.gz"
MD5SUM="52e625dfa42459ead1929c07900b8e44"
DOWNLOAD_x86_64=""