diff options
author | V3n3RiX <venerix@koprulu.sector> | 2024-04-08 18:31:11 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2024-04-08 18:31:11 +0100 |
commit | c510d9ec7aca9b092e381a7a4ff213757c7a9709 (patch) | |
tree | 761e15713e0c17f3211dc12e0dd9a82d5a96c1c8 /net-print | |
parent | 2cfe62a1f75cfb07a50f631f29d56bff5d09bf47 (diff) |
gentoo auto-resync : 08:04:2024 - 18:31:11
Diffstat (limited to 'net-print')
-rw-r--r-- | net-print/Manifest.gz | bin | 6417 -> 6418 bytes | |||
-rw-r--r-- | net-print/cups-filters/Manifest | 1 | ||||
-rw-r--r-- | net-print/cups-filters/cups-filters-2.0.0-r1.ebuild | 55 | ||||
-rw-r--r-- | net-print/libcupsfilters/Manifest | 4 | ||||
-rw-r--r-- | net-print/libcupsfilters/files/libcupsfilters-2.0.0-color-space.patch | 254 | ||||
-rw-r--r-- | net-print/libcupsfilters/files/libcupsfilters-2.0.0-raster-build-fix.patch | 28 | ||||
-rw-r--r-- | net-print/libcupsfilters/files/libcupsfilters-2.0.0-raster-gray.patch | 50 | ||||
-rw-r--r-- | net-print/libcupsfilters/libcupsfilters-2.0.0-r4.ebuild | 77 |
8 files changed, 469 insertions, 0 deletions
diff --git a/net-print/Manifest.gz b/net-print/Manifest.gz Binary files differindex d99ebd41572f..2e9d8311464a 100644 --- a/net-print/Manifest.gz +++ b/net-print/Manifest.gz diff --git a/net-print/cups-filters/Manifest b/net-print/cups-filters/Manifest index 01a1aa42bdf4..97e0ec3db94e 100644 --- a/net-print/cups-filters/Manifest +++ b/net-print/cups-filters/Manifest @@ -4,5 +4,6 @@ AUX cups-filters-1.28.17-c++17.patch 1066 BLAKE2B 149001a37c5799210a7cbc6c79ab1b DIST cups-filters-1.28.17.tar.xz 1516052 BLAKE2B 87258391901d55d9e59b06d54603d014e54d224a373529bd70fcd38cded9dc96c88ca73bcea63d7633c065caea3f9e3274cd450aec5f1bd90130d9a88c0d3421 SHA512 320544a48206165581adafb28dbef58f39c66bebd3641be3d180a692605349d9e6af6d464044db9f7bda17a67f4a079370d8cc880cd7873d684b2209882deb35 DIST cups-filters-2.0.0.tar.xz 447648 BLAKE2B be5e2aab4eb921aa67bfcc93aa5f95a9f1fe1a269ed73d18273a0e9a3e816187e9e32750ba6521c3ab083c3c7b7a60bb1fa679e16d4a5917f911a4ba8d4b7207 SHA512 fc8ba3bbf92d5ede295884023d1c42422c4c250dbbf21c948f160a04ded3259784df4bd17eea64492f9417f866e566be1a9fcde47d29655cd4204ef4cc7af134 EBUILD cups-filters-1.28.17-r2.ebuild 3679 BLAKE2B 6f49716b9a904f063cf4356d856a87af14ce1d8536ff87aa92fe025f2df53d863373b8268524143500a17993b6dc98ede742c85a8ea931d279402e4dc70d5c36 SHA512 0e5d1a2d6c63ae020cab8f598d9b06e72712b95af8f3daf0b8a6eccbce311d89596e57ebcfa19dc9fcbc55c20714f22792ae84d29d1decdc07d20f1e7a03d1a3 +EBUILD cups-filters-2.0.0-r1.ebuild 1572 BLAKE2B 554eeca88be668f81a632527fe7b7913d48bdb5b0958a4b5541b9495b5a301f2c62a143eb01d3e7ae701fcaa542e293783be626ed57d09dfdb9f6dada1f43485 SHA512 5151eb4505f7c6d014c013a048620cfe1aa67a304bb66971aced03a267d11c0649f598815197313d0abf18c526146b282011afed6750e356268a99162f1cad88 EBUILD cups-filters-2.0.0.ebuild 1422 BLAKE2B c85fcc33008f41ad75c2b8c25e5ed6671d18a3e6049afe410becf97c0f2821f8984fb78dbe301552b2972534af92cf6de1dddf381d3a241d5cd8f1edc6e5c8d8 SHA512 e997a777141dd75987c9f5b6a405076bb791d8e581471668a6a7719cc739d38388866bde5299f728174047fe4ee00c32e371b3094ed829f8599e73b2650a347f MISC metadata.xml 585 BLAKE2B c3ae887bff09343b882156b9020c185a9bd0d7bfabee240c71d714b8811761ef23176e4ee71f731022103a3da2255e1683b7ac4aca0f677afd994de5bedc96ca SHA512 313722d8912f26c1a7754a837b1d64dd122ac005cd9bb644ae65cac7b7a442845b25befa7891669abbf43011e9958988a6ad084dfa6ed393decbd198e852b196 diff --git a/net-print/cups-filters/cups-filters-2.0.0-r1.ebuild b/net-print/cups-filters/cups-filters-2.0.0-r1.ebuild new file mode 100644 index 000000000000..462a52f62558 --- /dev/null +++ b/net-print/cups-filters/cups-filters-2.0.0-r1.ebuild @@ -0,0 +1,55 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Cups filters" +HOMEPAGE="https://wiki.linuxfoundation.org/openprinting/cups-filters" +SRC_URI="https://github.com/OpenPrinting/cups-filters/releases/download/${PV}/${P}.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="+foomatic" + +RDEPEND=" + net-print/libcupsfilters + net-print/libppd + >=net-print/cups-1.7.3 +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig +" + +# The tests are composed of: +# - built program +# - test case itself: filter/test.sh +# +# The latter is not wired up, and it becomes immediately evident why. +# Bow to this reality and don't claim we can run anything. As a side +# effect, don't compile in src_test, that which we never use. +RESTRICT="test" + +src_configure() { + local myeconfargs=( + --enable-imagefilters + --enable-driverless + --enable-poppler + --localstatedir="${EPREFIX}"/var + --with-fontdir="fonts/conf.avail" + # cups-browsed is split out and avahi is not needed for filters + # https://github.com/OpenPrinting/cups-filters/pull/558 + --disable-avahi + # These are just probed for the path. Always enable them. + --with-gs-path="${EPREFIX}"/usr/bin/gs + --with-mutool-path="${EPREFIX}"/usr/bin/mutool + + $(use_enable foomatic) + ) + + # bash for configure until https://github.com/OpenPrinting/cups-filters/pull/567 (bug #920346) + # lands in a release. + CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}" +} diff --git a/net-print/libcupsfilters/Manifest b/net-print/libcupsfilters/Manifest index 711383a01147..4fff636cd4f3 100644 --- a/net-print/libcupsfilters/Manifest +++ b/net-print/libcupsfilters/Manifest @@ -1,4 +1,8 @@ +AUX libcupsfilters-2.0.0-color-space.patch 8846 BLAKE2B 204e948b02db64854bc875fbf97c19a59a64217dbedae8733bcff3a1bb142f6c4758521863a3d101eface20b23ecdd6d6e237aabd271e5139de06c096bebaeec SHA512 59655046cd7f4c75af75673ba244bb41bb95bb7f5cfc652acff741c8aa8e2797b6d82f01bff97cc37c4b2f14eb193b55327dcd30f6fd97ad6a2bdbc8673830f8 AUX libcupsfilters-2.0.0-r3-c++17.patch 622 BLAKE2B a36f3b54b7047cbf1c7b8ff1a615d53fcaa23d9a5cda7abd8a565b40b05ebf3dbf277c7008d99f17d907fb3c3a5e38ff3726a6a56c0bf9c4821d1c11665acff2 SHA512 4bfed9113913b8788f111334df3fa08536c965d316f5b627d614914d6ef2bb14747b8eb25a6c9bd69a092a6082829a97468111c70f3717ce1c762737faddcb07 +AUX libcupsfilters-2.0.0-raster-build-fix.patch 842 BLAKE2B 37abde9acc45311a62edc669498bef9d6f86e691de3c9632aec66ca575c5af9a0dab03b9e7bcf97ad1b927580825a98ee7dcad3fe3e00d1679e25ec7b0f0e843 SHA512 2e639d238c2dbb8646174c3b76c9b5c4450639c8fd0fd1969545d86370fe077f04720412e561108dde88bd86e8a29cf6fe2233a45398494b50a3f6908aa834aa +AUX libcupsfilters-2.0.0-raster-gray.patch 1889 BLAKE2B 515b29df1141389262458205d1104f430f986f2ef5eefb9e2624c34715c4afd1f07b01deb57267fc322707f0799f8b31f17408c96af9f39c38d5eabbdc5eb678 SHA512 b63d639ac5472848a54f23bf0562dff58704b31864d753ce2f3502f56bd427feef4d2439f79e6fa20ab3bfcb61a4d0ac9f783c98716e09e1ed289c01ee570da2 DIST libcupsfilters-2.0.0.tar.xz 1279856 BLAKE2B ce9d839bb700017c303c1301c7a97fd02e3657a908e685377be49557d995574a7fc5a31d4fcbda5eeb9ba2d3cd07858224540dbf0bc9fa078cfd25a58ee15a41 SHA512 279bff6dcfa76312b10dae97480914345defd90eab79c4716d4553870f73e0f9db404786fd7e2948a86ae5aedb10dca0c2984ccb4222acbd4e835cd572030d6a EBUILD libcupsfilters-2.0.0-r3.ebuild 1613 BLAKE2B 40d181809f6dab64c2318ca6036e1649443c8e6a2193ac563dfb422c953c50ec9e7c00b75216125c3497459c3b4834b09311d1e4aff64ea7f26deba48c27dde2 SHA512 280951268cd099fe5e69efab93fee02df42cff893b6b4a4f48d25b67ef2aacd926166af95c764a31f37064c9e16bd0f9c025c63ad378589aefc0df52f24c7b3f +EBUILD libcupsfilters-2.0.0-r4.ebuild 1738 BLAKE2B 911e77b10b8695417cb8ba3d0ed745921fa2c5a7ba26326e3fccaffc380647df90d00c1e461e3dc6c1b912a9af151b8c0daf0d36e7ad17f95525f8a9d3db5885 SHA512 5b6eccd14997f0766e686277409ba70729a6c23ed1440b714403b178b97488375295f97190c154cfb677133ae8114516a5f89fbb4dcb1e393553546f0394ef65 MISC metadata.xml 426 BLAKE2B 60d605203c938ba35e60bc4dfa121d6fb0223d70fdd1bdea4ed02693034a46ff039a580f5c0a5925aa3c4c33220243503096b8de233f6031447a6425a974182a SHA512 04811e0d82ce0365308b4391a33e03da423dc924cc7ff16a2eeedbdb51705b9a62cffe67d7e25b9221a0b511caaa3b19c184301fbecc59056a282a811ad9df7e diff --git a/net-print/libcupsfilters/files/libcupsfilters-2.0.0-color-space.patch b/net-print/libcupsfilters/files/libcupsfilters-2.0.0-color-space.patch new file mode 100644 index 000000000000..37a8bce64d7b --- /dev/null +++ b/net-print/libcupsfilters/files/libcupsfilters-2.0.0-color-space.patch @@ -0,0 +1,254 @@ +https://bugs.gentoo.org/927137 +https://github.com/OpenPrinting/cups-filters/issues/578 +https://github.com/OpenPrinting/libcupsfilters/commit/c6175a2f3f66dbf76bb35ec8d1ba0dc094c9dbac + +From c6175a2f3f66dbf76bb35ec8d1ba0dc094c9dbac Mon Sep 17 00:00:00 2001 +From: Till Kamppeter <till.kamppeter@gmail.com> +Date: Wed, 29 Nov 2023 00:25:16 +0100 +Subject: [PATCH] raster_base_header(): Several fixes on color space selection + +Fixes #38 + +The internal (static) funcrion raster_base_header() creates a CUPS or +PWG Raster header from scratch, without using data of a PPD file by +means of Raster header derived from the PPD. It solely uses IPP +attributes or command line options. + +It distinguishes between CUPS Raster and PWG/Apple Raster headers. + +There were several bugs in selecting the correct color space and depth +settings: + +- For PWG-Raster all attributes and options got ignored and standard + 8-bit sRGB set. + +- Without any valid color space/depth setting attribute or "auto" + always standard 8-bit sRGB got set as the default, regardless + whether the printer is actually a color printer. + +- Color spaces for printing in color could be set on monochrome + printers by options or atrributes. + +- Color spaces not valid on PWG Raster could be set on PWG Raster. + +- DeviceN modes could only be set by specifying a depth, like + "Device4_8" not just "Device4". + +Now we use 8-bit SGray as default for monochrome printers and 8-bit +RGB for color printers. We use the printer IPP attribute +"color-supported" to check whether the printer is color. + +IPP ttributes or command line options setting a color mode on a +monochrome printer are ignored now, also, if the output format is PWG +Raster, setting a color space not supported by PWG Raster is ignored. + +Now for monochrome AirPrint (Apple Raster) printers, the Raster data +sent should be actually monochrome (grayscale) and not color. +--- + cupsfilters/raster.c | 103 +++++++++++++++++++++++++------------------ + 1 file changed, 61 insertions(+), 42 deletions(-) + +diff --git a/cupsfilters/raster.c b/cupsfilters/raster.c +index 32a8b807..5e10f3bb 100644 +--- a/cupsfilters/raster.c ++++ b/cupsfilters/raster.c +@@ -792,7 +792,7 @@ cfRasterSetColorSpace(cups_page_header_t *h, // I - Raster header + + + static int // O - -1 on error, 0 on success +-raster_base_header(cups_page_header2_t *h, // O - Raster header ++raster_base_header(cups_page_header2_t *h, // O - Raster header + cf_filter_data_t *data, // I - Filter data + int pwg_raster) // I - 1 if PWG/Apple Raster + { +@@ -1420,41 +1420,46 @@ raster_base_header(cups_page_header_t *h, // O - Raster header + // TODO - Support for MediaType number + h->cupsMediaType = 0; + +- // Only for CUPS Raster, if we do not have a sample header from a PPD file +- if (pwg_raster == 0 && +- ((val = cupsGetOption("pwg-raster-document-type", num_options, +- options)) != NULL || +- (val = cupsGetOption("PwgRasterDocumentType", num_options, +- options)) != NULL || +- (val = cupsGetOption("color-space", num_options, options)) != NULL || +- (val = cupsGetOption("ColorSpace", num_options, options)) != NULL || +- (val = cupsGetOption("color-model", num_options, options)) != NULL || +- (val = cupsGetOption("ColorModel", num_options, options)) != NULL || +- (val = cupsGetOption("print-color-mode", num_options, options)) != +- NULL || +- (val = cupsGetOption("output-mode", num_options, options)) != NULL || +- (val = cupsGetOption("OutputMode", num_options, options)) != NULL || +- (val = cfIPPAttrEnumValForPrinter(data->printer_attrs, +- data->job_attrs, +- "print-color-mode")) != NULL)) ++ ++ // Do we have a color printer? ++ bool is_color = ++ ((attr = ippFindAttribute(data->printer_attrs, "color-supported", ++ IPP_TAG_BOOLEAN)) != NULL && ++ ippGetBoolean(attr, 0)); ++ ++ // Color modes ++ int numcolors = 0; // Number of colorants ++ if ((val = cupsGetOption("pwg-raster-document-type", num_options, ++ options)) != NULL || ++ (val = cupsGetOption("PwgRasterDocumentType", num_options, ++ options)) != NULL || ++ (val = cupsGetOption("color-space", num_options, options)) != NULL || ++ (val = cupsGetOption("ColorSpace", num_options, options)) != NULL || ++ (val = cupsGetOption("color-model", num_options, options)) != NULL || ++ (val = cupsGetOption("ColorModel", num_options, options)) != NULL || ++ (val = cupsGetOption("print-color-mode", num_options, options)) != ++ NULL || ++ (val = cupsGetOption("output-mode", num_options, options)) != NULL || ++ (val = cupsGetOption("OutputMode", num_options, options)) != NULL || ++ (val = cfIPPAttrEnumValForPrinter(data->printer_attrs, ++ data->job_attrs, ++ "print-color-mode")) != NULL) + { + int bitspercolor, // Bits per color + bitsperpixel, // Bits per pixel +- colorspace, // CUPS/PWG raster color space +- numcolors; // Number of colorants ++ colorspace; // CUPS/PWG raster color space; + const char *ptr; // Pointer into value + + ptr = NULL; +- numcolors = 0; + bitspercolor = 8; +- if (!strncasecmp(val, "AdobeRgb", 8)) ++ if (is_color && !strncasecmp(val, "AdobeRgb", 8)) + { + if (*(val + 8) == '_' || *(val + 8) == '-') + ptr = val + 9; + colorspace = 20; + numcolors = 3; + } +- else if (!strncasecmp(val, "adobe-rgb", 9)) ++ else if (is_color && !strncasecmp(val, "adobe-rgb", 9)) + { + if (*(val + 9) == '_' || *(val + 9) == '-') + ptr = val + 10; +@@ -1500,19 +1505,19 @@ raster_base_header(cups_page_header_t *h, // O - Raster header + colorspace = 18; + numcolors = 1; + } +- else if (!strcasecmp(val, "color")) ++ else if (is_color && !strcasecmp(val, "color")) + { + colorspace = 19; + numcolors = 3; + } +- else if (!strncasecmp(val, "Cmyk", 4)) ++ else if (is_color && !strncasecmp(val, "Cmyk", 4)) + { + if (*(val + 4) == '_' || *(val + 4) == '-') + ptr = val + 5; + colorspace = 6; + numcolors = 4; + } +- else if (!strncasecmp(val, "Cmy", 3)) ++ else if (!pwg_raster && is_color && !strncasecmp(val, "Cmy", 3)) + { + if (*(val + 3) == '_' || *(val + 3) == '-') + ptr = val + 4; +@@ -1524,10 +1529,9 @@ raster_base_header(cups_page_header_t *h, // O - Raster header + ptr = val + 6; + numcolors = strtol(ptr, (char **)&ptr, 10); + if (*ptr == '_' || *ptr == '-') +- { + ptr ++; ++ if (numcolors > 0 && numcolors < 16) + colorspace = 47 + numcolors; +- } + else + { + numcolors = 0; +@@ -1548,21 +1552,21 @@ raster_base_header(cups_page_header_t *h, // O - Raster header + colorspace = 18; + numcolors = 1; + } +- else if (!strncasecmp(val, "Srgb", 4)) ++ else if (is_color && !strncasecmp(val, "Srgb", 4)) + { + if (*(val + 4) == '_' || *(val + 4) == '-') + ptr = val + 5; + colorspace = 19; + numcolors = 3; + } +- else if (!strncasecmp(val, "Rgbw", 4)) ++ else if (!pwg_raster && is_color && !strncasecmp(val, "Rgbw", 4)) + { + if (*(val + 4) == '_' || *(val + 4) == '-') + ptr = val + 5; + colorspace = 17; + numcolors = 4; + } +- else if (!strncasecmp(val, "Rgb", 3)) ++ else if (is_color && !strncasecmp(val, "Rgb", 3)) + { + if (*(val + 3) == '_' || *(val + 3) == '-') + ptr = val + 4; +@@ -1572,12 +1576,22 @@ raster_base_header(cups_page_header_t *h, // O - Raster header + else if (!strcasecmp(val, "auto")) + { + // Let "auto" not look like an error +- colorspace = 19; +- numcolors = 3; ++ if (is_color) ++ { ++ colorspace = 19; ++ numcolors = 3; ++ } ++ else ++ { ++ colorspace = 18; ++ numcolors = 1; ++ } + } ++ ++ // Color mode found + if (numcolors > 0) + { +- if (ptr) ++ if (ptr && *ptr) + bitspercolor = strtol(ptr, (char **)&ptr, 10); + bitsperpixel = bitspercolor * numcolors; + // In 1-bit-per-color RGB modes we add a forth bit to each pixel +@@ -1590,20 +1604,25 @@ raster_base_header(cups_page_header_t *h, // O - Raster header + h->cupsColorSpace = colorspace; + h->cupsNumColors = numcolors; + } +- else ++ } ++ ++ // No color mode found ++ if (numcolors == 0) ++ { ++ if (is_color) + { + h->cupsBitsPerColor = 8; + h->cupsBitsPerPixel = 24; + h->cupsColorSpace = 19; + h->cupsNumColors = 3; + } +- } +- else +- { +- h->cupsBitsPerColor = 8; +- h->cupsBitsPerPixel = 24; +- h->cupsColorSpace = 19; +- h->cupsNumColors = 3; ++ else ++ { ++ h->cupsBitsPerColor = 8; ++ h->cupsBitsPerPixel = 8; ++ h->cupsColorSpace = 18; ++ h->cupsNumColors = 1; ++ } + } + + // TODO - Support for color orders 1 (banded) and 2 (planar) + + diff --git a/net-print/libcupsfilters/files/libcupsfilters-2.0.0-raster-build-fix.patch b/net-print/libcupsfilters/files/libcupsfilters-2.0.0-raster-build-fix.patch new file mode 100644 index 000000000000..c274b8473c47 --- /dev/null +++ b/net-print/libcupsfilters/files/libcupsfilters-2.0.0-raster-build-fix.patch @@ -0,0 +1,28 @@ +https://bugs.gentoo.org/927137 +https://github.com/OpenPrinting/cups-filters/issues/578 +https://github.com/OpenPrinting/libcupsfilters/commit/107091186dce1c0cb2f042f8b880f571089acaf1 + +From 107091186dce1c0cb2f042f8b880f571089acaf1 Mon Sep 17 00:00:00 2001 +From: zdohnal <zdohnal@redhat.com> +Date: Wed, 29 Nov 2023 13:30:48 +0100 +Subject: [PATCH] raster.c: Fix build after last fix (#40) + +Add header file `stdbool`, since we started to use `bool` in +`raster_base_header()`. +--- + cupsfilters/raster.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cupsfilters/raster.c b/cupsfilters/raster.c +index 5e10f3bb..e9a8ad1f 100644 +--- a/cupsfilters/raster.c ++++ b/cupsfilters/raster.c +@@ -29,6 +29,7 @@ + #include <cupsfilters/ipp.h> + #include <cupsfilters/libcups2-private.h> + #include <cups/pwg.h> ++#include <stdbool.h> + + // + // Local functions + diff --git a/net-print/libcupsfilters/files/libcupsfilters-2.0.0-raster-gray.patch b/net-print/libcupsfilters/files/libcupsfilters-2.0.0-raster-gray.patch new file mode 100644 index 000000000000..e1648c041e97 --- /dev/null +++ b/net-print/libcupsfilters/files/libcupsfilters-2.0.0-raster-gray.patch @@ -0,0 +1,50 @@ +https://bugs.gentoo.org/927137 +https://github.com/OpenPrinting/cups-filters/issues/578 +https://github.com/OpenPrinting/libcupsfilters/commit/78cc6758d98c31397c8addefaa3dfd8746331b72 + +From 78cc6758d98c31397c8addefaa3dfd8746331b72 Mon Sep 17 00:00:00 2001 +From: zdohnal <zdohnal@redhat.com> +Date: Thu, 7 Mar 2024 18:27:06 +0100 +Subject: [PATCH] raster.c: Always use sRGB/sGray if driver is PWG/URF and + RGB/Gray is requested (#51) + +Some driverless printers (EPSON L3160 in Fedora report) stopped working +after commit c6175a2 if `ColorModel=RGB` is passed as option. A +different CUPS color space is assigned with the fix - CUPS_CSPACE_RGB, +which results in no ICC profile being assigned into Ghostscript command +line. + +Probably we can try other .icc profiles with CUPS_CSPACE_RGB (srgb.icc +does not work with RGB color space), but I tested with reporter that +using sRGB space + srgb.icc works for the printer - so the patch is to +use sRGB if the driver is URF/PWG. + +Same logic applied for grayscale printing, if Gray is requested, sGray is +used for URF/PWG. +--- + cupsfilters/raster.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cupsfilters/raster.c b/cupsfilters/raster.c +index e9a8ad1f..7b62b922 100644 +--- a/cupsfilters/raster.c ++++ b/cupsfilters/raster.c +@@ -1550,7 +1550,7 @@ raster_base_header(cups_page_header_t *h, // O - Raster header + { + if (*(val + 4) == '_' || *(val + 4) == '-') + ptr = val + 5; +- colorspace = 18; ++ colorspace = pwg_raster ? 18 : 3; + numcolors = 1; + } + else if (is_color && !strncasecmp(val, "Srgb", 4)) +@@ -1571,7 +1571,7 @@ raster_base_header(cups_page_header_t *h, // O - Raster header + { + if (*(val + 3) == '_' || *(val + 3) == '-') + ptr = val + 4; +- colorspace = 1; ++ colorspace = pwg_raster ? 19 : 1; + numcolors = 3; + } + else if (!strcasecmp(val, "auto")) + diff --git a/net-print/libcupsfilters/libcupsfilters-2.0.0-r4.ebuild b/net-print/libcupsfilters/libcupsfilters-2.0.0-r4.ebuild new file mode 100644 index 000000000000..1d3b175d5905 --- /dev/null +++ b/net-print/libcupsfilters/libcupsfilters-2.0.0-r4.ebuild @@ -0,0 +1,77 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool + +DESCRIPTION="library for developing printing features, split out of cups-filters" +HOMEPAGE="https://github.com/OpenPrinting/libcupsfilters" +SRC_URI="https://github.com/OpenPrinting/libcupsfilters/releases/download/${PV}/${P}.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="dbus exif jpeg pdf +poppler +postscript png test tiff" +RESTRICT="!test? ( test )" + +RDEPEND=" + >=app-text/qpdf-8.3.0:= + media-libs/fontconfig + media-libs/lcms:2 + >=net-print/cups-2 + !<net-print/cups-filters-2.0.0 + + exif? ( media-libs/libexif ) + dbus? ( sys-apps/dbus ) + jpeg? ( media-libs/libjpeg-turbo:= ) + pdf? ( app-text/mupdf ) + postscript? ( app-text/ghostscript-gpl[cups] ) + poppler? ( >=app-text/poppler-0.32[cxx] ) + png? ( media-libs/libpng:= ) + tiff? ( media-libs/tiff:= ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig + test? ( media-fonts/dejavu ) +" + +PATCHES=( + "${FILESDIR}/${P}-r3-c++17.patch" + "${FILESDIR}/${P}-color-space.patch" + "${FILESDIR}/${P}-raster-build-fix.patch" + "${FILESDIR}/${P}-raster-gray.patch" +) + +src_prepare() { + default + + # respect --as-needed + elibtoolize +} + +src_configure() { + local myeconfargs=( + --enable-imagefilters + --localstatedir="${EPREFIX}"/var + --with-cups-rundir="${EPREFIX}"/run/cups + + $(use_enable exif) + $(use_enable dbus) + $(use_enable poppler) + $(use_enable postscript ghostscript) + $(use_enable pdf mutool) + $(use_with jpeg) + $(use_with png) + $(use_with tiff) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} |