diff options
Diffstat (limited to 'system/pixma')
-rw-r--r-- | system/pixma/05_ipp.diff | 124 | ||||
-rw-r--r-- | system/pixma/README | 38 | ||||
-rw-r--r-- | system/pixma/pixma.SlackBuild | 58 | ||||
-rw-r--r-- | system/pixma/pixma.info | 2 |
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="" |