diff options
Diffstat (limited to 'net-print')
55 files changed, 1815 insertions, 754 deletions
diff --git a/net-print/Manifest.gz b/net-print/Manifest.gz Binary files differindex 671dd0484723..e889b5fd0a05 100644 --- a/net-print/Manifest.gz +++ b/net-print/Manifest.gz diff --git a/net-print/cups-browsed/Manifest b/net-print/cups-browsed/Manifest index 6c6caec45546..dd4abd74122a 100644 --- a/net-print/cups-browsed/Manifest +++ b/net-print/cups-browsed/Manifest @@ -1,5 +1,7 @@ AUX 0001-cups-browsed.c-Fix-build-with-avahi-disabled-20.patch 915 BLAKE2B 2349ba5021b42ab896cf277c64052c1e593fe3e6ec0665ab20476aaede23290f83d6ec58e8ed8402c29f9cece0fd7c79c294512410213fe731455c1b76337592 SHA512 2c5f75b748477cd19711c7ab2c6b158de94cc14ee4e0344e303b1e7f2e3c07ee0b3c04d110896d8db9d94486a9d80c0643e79a70fe6b1d1e27c7b0d910628be7 AUX cups-browsed.init.d 150 BLAKE2B c2098766ae08b38dead0a5bab2e30e1728ab93aa98e74edb6e20f8a885b62189f1368a041c4430ad24a1b92f0ae9cb317ac3390767db0a54ca1532022d44b0bd SHA512 c8a74ad0e5cfd3b565c12eeca50a55b7a6aa3ac92c689fc6632e2a6df5033e6fa7f16ce6c9c2cbf607ad4bd09453ab7d47448cdd04ad8c7e35f0e584b6d96d38 DIST cups-browsed-2.0.0.tar.xz 426132 BLAKE2B e1724c03302d61cf131c8886a95f6ad8f0236b134f1deaadb783fa185141b83cd8ac5c5d993ded37d04c7fd806c5cde157a792a90a2f372075f24a5bd2423dc5 SHA512 592493ef82c65b2418b86b555c4d24bdf352f78516993a021d106240b8c399fd9f4fcc27e396e895d94da889a97f2bbc5e96bfa92c58c8be80802ee8df43db80 -EBUILD cups-browsed-2.0.0.ebuild 2222 BLAKE2B 285eda5cff587627ac26584a74144c21d1c3f664a6a4fae380c0885a36c960ea0c46aa9878fca15d42e5a852695edd699383ca36efd957764db3d68b37ed9d06 SHA512 d7161ac6b61cfbf30b4ded6517860c4104bc4ac51c978ceb774e8324ec1b3b9674fced217ffebd3eb754ddd9c788af6cd8885ffbbc48b38cd1deb824fe75d0f4 +DIST cups-browsed-2.0.1.tar.xz 427060 BLAKE2B 06c9c8f8c50a165b11f029804dbb20db0ebfd7cddc93c274851e1ab849d0a200fcb8e7dfc489656fa1255c7d6540ae5407467161bd51edca3e8ce04e7d02b78f SHA512 9e9a11708daa861ef58b19a3bda636f1e1fccf0cf12ad5880096d61132f1df9bfa8b81f437247064d199e3aa6a5438061ba085a6d6df52c1ba6021f3b32d9d00 +EBUILD cups-browsed-2.0.0.ebuild 2216 BLAKE2B b679fb64054028c3ba94be410c11b05ff1587a037200313af490779a4339540458dcd73fdd191dfb6680359692e241e1ab13a8fb8aa576dbe07e302d2ca80181 SHA512 f94c6b5b30a3a5410d6e5a5b69b15af53c871a0370c3a00b93fa6ff49810614609c5da8e59462e915346d4a7c04bb4a54fdb8232c241b864d72fa680a50031cc +EBUILD cups-browsed-2.0.1.ebuild 2188 BLAKE2B 8e2f6ad79a5daa424920bafd841a53122781c1296be2486f32eceb5f4b43670809c6c551f125634a7c0fd36219ba7b3bd9c2a92a7f42b8f7955632f1cb93a72f SHA512 2d66cdabc476a75e6d89a3d3b0906a4d6915be1b4c9b8356657b23fcb6b14e086cf0a17a322aff5ab0c33eff9501bab60cb67c422b24e2062c93632a243e56e0 MISC metadata.xml 350 BLAKE2B d469f8a462c27bb1f22454a0141a67a6ac9c4c06058bf50576fd4d8324371042805464135777838a7ee787185c0f37e2ab06de00db9645b5737dcada51464f22 SHA512 53832a79e75d4ffb1896d3a984709cd06294b82ed7a0cab9a2c958a8fabf7d2d4252f09b4302336a42dbd3afd079b1688b86d04e63efbca5ee5065ac56c793ce diff --git a/net-print/cups-browsed/cups-browsed-2.0.0.ebuild b/net-print/cups-browsed/cups-browsed-2.0.0.ebuild index 20aedcf5cb6b..d888228930f5 100644 --- a/net-print/cups-browsed/cups-browsed-2.0.0.ebuild +++ b/net-print/cups-browsed/cups-browsed-2.0.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/OpenPrinting/cups-browsed/releases/download/${PV}/${ LICENSE="Apache-2.0" SLOT="0" IUSE="ldap test zeroconf" -KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86" RDEPEND=" dev-libs/glib:2 diff --git a/net-print/cups-browsed/cups-browsed-2.0.1.ebuild b/net-print/cups-browsed/cups-browsed-2.0.1.ebuild new file mode 100644 index 000000000000..1b600d43be39 --- /dev/null +++ b/net-print/cups-browsed/cups-browsed-2.0.1.ebuild @@ -0,0 +1,79 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd + +DESCRIPTION="helper daemon to browse for remote CUPS queues and IPP network printers" +HOMEPAGE="https://github.com/OpenPrinting/cups-browsed" +SRC_URI="https://github.com/OpenPrinting/cups-browsed/releases/download/${PV}/${P}.tar.xz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" +IUSE="ldap test zeroconf" + +RDEPEND=" + dev-libs/glib:2 + >=net-print/cups-2 + >=net-print/cups-filters-2.0.0 + ldap? ( net-nds/openldap:= ) + test? ( net-print/cups[zeroconf] ) + zeroconf? ( net-dns/avahi[dbus] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + dev-util/gdbus-codegen + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig +" + +# The tests are new since the split out of cups-filters. Actually running them +# seems to be challenging. You need: +# - cups tools that are USE-optional +# - running avahi-daemon (as root!) +# - disable portage's pid-sandbox, which interferes with avahi +# - ipptool still fails to connect to port 8xxx +# +# If anything fails, a `while true` loop fails to successfully launch and break +# out of the loop, leading to a hang. Until there's an obvious recipe for +# successfully running the tests, restrict it. +RESTRICT="test" + +src_configure() { + local myeconfargs=( + --localstatedir="${EPREFIX}"/var + # Omit cups here for bug #940311 (CVE-2024-47176 mitigation) + --with-browseremoteprotocols=dnssd + --with-cups-rundir="${EPREFIX}"/run/cups + --with-rcdir=no + + $(use_enable ldap) + $(use_enable zeroconf avahi) + ) + + econf "${myeconfargs[@]}" +} + +src_test() { + # Requires avahi running. Hangs forever if not available. + avahi-daemon --check 2>/dev/null || die "no running avahi daemon found, cannot run tests" + + default +} + +src_install() { + default + + cp "${FILESDIR}"/cups-browsed.init.d "${T}"/cups-browsed || die + + if ! use zeroconf ; then + sed -i -e 's:need cupsd avahi-daemon:need cupsd:g' "${T}"/cups-browsed || die + sed -i -e 's:cups\.service avahi-daemon\.service:cups.service:g' "${S}"/daemon/cups-browsed.service || die + fi + + doinitd "${T}"/cups-browsed + systemd_dounit "${S}"/daemon/cups-browsed.service + +} diff --git a/net-print/cups-filters/Manifest b/net-print/cups-filters/Manifest index 91555798ea2e..dfe960e946f0 100644 --- a/net-print/cups-filters/Manifest +++ b/net-print/cups-filters/Manifest @@ -4,8 +4,8 @@ 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 DIST cups-filters-2.0.1.tar.xz 447288 BLAKE2B 5bab10e10890332e873944f42cf53f00055a74898cd8139c3e3ee98f76f369f68c2a6c70f336167dbc43a48d92c3030e29cdfb30864bc52cdc5eb5e7b5158e7a SHA512 e80783a03722228fdd67ab5041082d1c2ad9c5c5d59a60ac1aee51a4600b2e9c0c90b78f6fdbc2c7928c2bf2bb634df7c1ec5db23de65e867a0498372f7a2c00 -EBUILD cups-filters-1.28.17-r2.ebuild 3679 BLAKE2B 6f49716b9a904f063cf4356d856a87af14ce1d8536ff87aa92fe025f2df53d863373b8268524143500a17993b6dc98ede742c85a8ea931d279402e4dc70d5c36 SHA512 0e5d1a2d6c63ae020cab8f598d9b06e72712b95af8f3daf0b8a6eccbce311d89596e57ebcfa19dc9fcbc55c20714f22792ae84d29d1decdc07d20f1e7a03d1a3 -EBUILD cups-filters-2.0.0-r1.ebuild 1564 BLAKE2B 1fb79205df28eaf9c0143c5445177e1adc06f7497914aa9e8f1cde310e39d444b7d5e18bb57826edf9ab852aab65c3e2d54f6b82c38689629c0f37433894252e SHA512 95790f607f4c2a25972eec786de21d0eae74af7259319206e150d140100e1a8df5a83d9f222579b16ef2c561a8a4e68f627fd2b097573c92c66141ed701cd022 -EBUILD cups-filters-2.0.0.ebuild 1422 BLAKE2B c85fcc33008f41ad75c2b8c25e5ed6671d18a3e6049afe410becf97c0f2821f8984fb78dbe301552b2972534af92cf6de1dddf381d3a241d5cd8f1edc6e5c8d8 SHA512 e997a777141dd75987c9f5b6a405076bb791d8e581471668a6a7719cc739d38388866bde5299f728174047fe4ee00c32e371b3094ed829f8599e73b2650a347f -EBUILD cups-filters-2.0.1.ebuild 1278 BLAKE2B bc7f953ae9c4784cfa90af33abd33b60b75d452478dcf6dbfc03446a7d8d35e298530fecb1f2fc76085d0f6163a12be7e72515146fecfed2a9eaefa7f66d85db SHA512 fc873fc95261cb95b18a47d3f6199917cd791a9f487db17e4fe3f5c8e4ceb35eb1334bc024eb1a9f8092ab1b760edb5accecec482eee01e2a2c7da9477d7cdb6 +EBUILD cups-filters-1.28.17-r2.ebuild 3673 BLAKE2B 93e2caab2e4e59ecf804cf61992058a55cc821fcda7b317765b6b6ef2614024bd2cc79c2d779a051a2e374cb9208042a7e149e99a71bbeca128e833b74f164b5 SHA512 5128ab15683c391047eb555e881fb94ec1b0cef7bb0e38d172c8220da30245ab2b2b3b3ba308d99a39328f41c41e9f3b4735f4636d91c3c5d121ef93a6119ec1 +EBUILD cups-filters-2.0.0-r1.ebuild 1558 BLAKE2B fe1467e1e52f23af3adbd9a378ca57894ec378aed6b6000c41e506ae4016e6f1975cf65ba0431499d0ae41611dc326d95d3f272186bf51f742c35c86948dbcb6 SHA512 3e9a6e4aabcf5d68a952db55e2ff01a953fe10080cd8186b6da2f3641bc99913d900c345161891dd8abf7cedecb086a9d3b763ed51d96f6fd5c0768b98cfc5d6 +EBUILD cups-filters-2.0.0.ebuild 1416 BLAKE2B ed29e65c4783917db124726648a9b54fc7fa4dee701c95348691fe56f462fe1a08c5e73c0e69b0285f57b46e761632bee7cda33f3a0f2a41e2d1ebac5ed3e519 SHA512 48009cc8a05ad407423f49e64eac1178de8472285b5490579922da2c7ae9642d68ef366cb288171b2ed35e5936ff6284fe753a7e153729891fd6ca19cca1752b +EBUILD cups-filters-2.0.1.ebuild 1266 BLAKE2B dbb6810ed663dde495415ee746e0266cce6e18e4331b170b0e84cabde365125893b63bfe9324e5122ab3f7c9cc412f4847636fe4635d6734380d03905393c867 SHA512 85fd1b9ea586f20c508c520ad2f7774744b1b3b8fdbb1a8a79ef3bacb50b95753fd0fa9b64589f5ffa9fd9ede39fd5c1a1cac98f8250a6e0ac2f0b57ff790431 MISC metadata.xml 585 BLAKE2B c3ae887bff09343b882156b9020c185a9bd0d7bfabee240c71d714b8811761ef23176e4ee71f731022103a3da2255e1683b7ac4aca0f677afd994de5bedc96ca SHA512 313722d8912f26c1a7754a837b1d64dd122ac005cd9bb644ae65cac7b7a442845b25befa7891669abbf43011e9958988a6ad084dfa6ed393decbd198e852b196 diff --git a/net-print/cups-filters/cups-filters-1.28.17-r2.ebuild b/net-print/cups-filters/cups-filters-1.28.17-r2.ebuild index 3198dc53fecc..75575112b866 100644 --- a/net-print/cups-filters/cups-filters-1.28.17-r2.ebuild +++ b/net-print/cups-filters/cups-filters-1.28.17-r2.ebuild @@ -16,7 +16,7 @@ SRC_URI=" LICENSE="MIT GPL-2" SLOT="0" IUSE="dbus exif +foomatic jpeg ldap pclm pdf perl png +postscript test tiff zeroconf" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" RESTRICT="!test? ( test )" 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 index f078ad85f487..ccc02d240cd0 100644 --- a/net-print/cups-filters/cups-filters-2.0.0-r1.ebuild +++ b/net-print/cups-filters/cups-filters-2.0.0-r1.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://github.com/OpenPrinting/cups-filters/releases/download/${PV}/${ LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86" +KEYWORDS="amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv sparc x86" IUSE="+foomatic" RDEPEND=" diff --git a/net-print/cups-filters/cups-filters-2.0.0.ebuild b/net-print/cups-filters/cups-filters-2.0.0.ebuild index 5e666fbd621b..c4e559f32d68 100644 --- a/net-print/cups-filters/cups-filters-2.0.0.ebuild +++ b/net-print/cups-filters/cups-filters-2.0.0.ebuild @@ -11,7 +11,7 @@ LICENSE="Apache-2.0" SLOT="0" IUSE="+foomatic" #IUSE="" -KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86" RDEPEND=" net-print/libcupsfilters diff --git a/net-print/cups-filters/cups-filters-2.0.1.ebuild b/net-print/cups-filters/cups-filters-2.0.1.ebuild index 2d11adb47728..be8a61b9a7a6 100644 --- a/net-print/cups-filters/cups-filters-2.0.1.ebuild +++ b/net-print/cups-filters/cups-filters-2.0.1.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://github.com/OpenPrinting/cups-filters/releases/download/${PV}/${ LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" IUSE="+foomatic" RDEPEND=" diff --git a/net-print/cups-meta/Manifest b/net-print/cups-meta/Manifest index 80159eed6cd5..9f5cb836bbb5 100644 --- a/net-print/cups-meta/Manifest +++ b/net-print/cups-meta/Manifest @@ -1,2 +1,2 @@ -EBUILD cups-meta-1.ebuild 672 BLAKE2B ec49a20e9fb6d5c020bb581c829eb9133ea14f33a9010f9e637262ae4a80ff453d89786180d92ecfd3f3ae8f1987e0022a51778f456c10a0d645dec2671f3907 SHA512 0e9524d677cf82e96058573b87db042bb9d58f8076336c78f2c2eb7babfb0283da4f8a7bd374afa8120e3b604c43317e086f3bfc82e5be384ca48973a4606a1b +EBUILD cups-meta-1.ebuild 666 BLAKE2B 17ce234763fbe473bdcf7d6cccce701cbd2902ccc7ec7f5040da045ca52d404d3be0ef42f86102b901f5cc174571ac6df0342dbcf9d92082369fa1c77ff44570 SHA512 9a1fca6ec70faa706fa5db10054333bea925401468dee85437a60558b7ec0113d123a13eec4caafaa87a14804de9413a1afec26c98ce96dfae6fd0c0f048afd7 MISC metadata.xml 571 BLAKE2B a4a8482afa7c787f26b83743d67acce88f9315cd0ca8b58e5516c459bdacd619fa1ec80cd7da0750401ee3d75f6e7b06807c19a977aa91287934212b876ae8e9 SHA512 ba1c34a1acffbf35e404a14bfc4a83b2c48de274119cb5800920f7511ff054759d954f6fe8254de0c144fb28f7c69abf0e00c334b1407883e787ab338e005f26 diff --git a/net-print/cups-meta/cups-meta-1.ebuild b/net-print/cups-meta/cups-meta-1.ebuild index 26e16556b814..7d88029f8ce8 100644 --- a/net-print/cups-meta/cups-meta-1.ebuild +++ b/net-print/cups-meta/cups-meta-1.ebuild @@ -9,7 +9,7 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" LICENSE="metapackage" SLOT="0" IUSE="+browsed +foomatic pdf +postscript +poppler zeroconf" -KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86" RDEPEND=" net-print/cups[zeroconf?] diff --git a/net-print/cups-pk-helper/Manifest b/net-print/cups-pk-helper/Manifest index 79ebeb4d87b8..8d09787f66e0 100644 --- a/net-print/cups-pk-helper/Manifest +++ b/net-print/cups-pk-helper/Manifest @@ -1,3 +1,3 @@ DIST cups-pk-helper-0.2.7.tar.xz 54500 BLAKE2B e9107c18396e87bc8e385a32d00ac6d15bfcc6f53e9c04514bbc9e7bee6b4a87ba16b97da321c72fb01fa273a0fdcb396a0eed335e9e37eb98d7a299ec480ca1 SHA512 8f1d5dce73a52552d00eb3f54b39e03ca7ae711a0591572a25bd8926e228457628f1ee7e6ae89bda1b0ef473f860ad85bff9036ca1bc244d2cbda530bab96d40 -EBUILD cups-pk-helper-0.2.7-r1.ebuild 787 BLAKE2B 224daeb4d939eddcade3492af6d2da0784094ce9fec9e90620d76a7713beb9a5d4110eabfd247921f0821f408a7a2c4ef1fd4e1326aadb2423b813b83d289d81 SHA512 23f1d1231e3b06decc28705473e530d8c818e5002741311e1b1a7b94ac11d22a6347b15e0e3b4b8b4e312f42f977c408ab3b70884cceeac06ac482e4a1c96e88 +EBUILD cups-pk-helper-0.2.7-r1.ebuild 781 BLAKE2B 552e993b32ff831a0ffed3bd7a36269a797097e0102075508627e0bc40af02c0f70b1fa9f930b4cb142fc151fd4c06bfa0e0a1df83cc10aa99e7ae8d1d99fbc1 SHA512 b49dbb282b3b8a8e9fd37a39b40bb3f4c9e7755c0492c7b35b45044ac02e77ced233b58aeed9bf15404bbf58d3d5f1f4d904ae39fe5a4beb18762078dd73b03b MISC metadata.xml 370 BLAKE2B 1914b6be4d0815b599dbe5530505c255c0c4cb36d72c72aad247dcf3c86eaf288e97f08ee97615154fa851be96d2b2ef251a4397ef6fe9d9ab984b8d2ec1cb60 SHA512 3328ea2af6adba62d7499a686dccbe273064a8faff026dcf821a1b11e64ee92fbddff3d4806fdce2df0c41cf7c0712e4e1406dd76308e55dd1222ef7b5ea767c diff --git a/net-print/cups-pk-helper/cups-pk-helper-0.2.7-r1.ebuild b/net-print/cups-pk-helper/cups-pk-helper-0.2.7-r1.ebuild index 52b9222c776c..ec08f4792930 100644 --- a/net-print/cups-pk-helper/cups-pk-helper-0.2.7-r1.ebuild +++ b/net-print/cups-pk-helper/cups-pk-helper-0.2.7-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.freedesktop.org/software/${PN}/releases/${P}.tar.xz" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" RESTRICT="test" # bug #864949 DEPEND=" diff --git a/net-print/cups-windows/Manifest b/net-print/cups-windows/Manifest index 7f3a8b34cbb8..da5d5386ad8e 100644 --- a/net-print/cups-windows/Manifest +++ b/net-print/cups-windows/Manifest @@ -1,3 +1,3 @@ DIST cups-windows-6.0-source.tar.bz2 38284 BLAKE2B 67722a99dc906ac9c39ba9a93b7fbbb24a44b7400de6209ac5d0ddedc4f891b48ad0284d6cfa8336400697af6eaa006e79349931cefe55cf72b428546c6ff43e SHA512 03bd66d210ee191d25139d9e462543a01d30e8a0dc797a9ee62673e84cfa9d057cc6d327792c74941a17e5021a7ffe52c40bcb52a3f3f4186f59f04796c809df -EBUILD cups-windows-6.0-r1.ebuild 562 BLAKE2B 5336e31814c9d0fb48015be7a2d510599e93f16cc4b601132d99cf505f6605ab3fbb272ecbe86ecbdad23a9f96b1e556e9c6f94022f5ffc3d3216bf00fb4d9aa SHA512 3eda7bed374eb608a09036e863dc9af1fa6e106e2c0752c57637e9a3fa8b13d1f7573088d190a5428e410120e41754c12e72ef27d2ca69e8575abc237fc25db5 +EBUILD cups-windows-6.0-r1.ebuild 556 BLAKE2B 9b4980226b9a40d48d150876a56b8d1d19afd1d43117e541d53b2ab24cb8e2c8533a7874e2ef0a3c24d57daf96f19483af7b3b2cab785f6983105258d1a5a232 SHA512 cda46b5a3d658a8603e63cf4ebeb08ff059f52f2d40d36b0ead859cfdee69ae88ce42b26f488ff33981f9366eda580223c997df242114a9786b0dc9a99bb7e29 MISC metadata.xml 256 BLAKE2B 16ea76357721c3ab7d672ade29d27338ddf9da983571e4ca4efe2520c741fc71315d9609b711850b00c19ed4eea848dea0d5b3955eecb401c42c4db257c300bf SHA512 2748afab7ffea0b3ddadf72dc720f7d83a1d76453fa569091abffe834ec187144a47f9365ccb4a97f676dbcfd799a6be92671f283b179fe4589d95486d7fd24d diff --git a/net-print/cups-windows/cups-windows-6.0-r1.ebuild b/net-print/cups-windows/cups-windows-6.0-r1.ebuild index d1f32d6457db..242f1ca8be67 100644 --- a/net-print/cups-windows/cups-windows-6.0-r1.ebuild +++ b/net-print/cups-windows/cups-windows-6.0-r1.ebuild @@ -9,7 +9,7 @@ SRC_URI="mirror://gentoo/${P}-source.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm ~hppa ~m68k ~mips ppc ppc64 ~s390 sparc x86" RDEPEND=">=net-print/cups-1.2" DEPEND="${RDEPEND}" diff --git a/net-print/cups/Manifest b/net-print/cups/Manifest index 4a38097a24a2..a4faf706af14 100644 --- a/net-print/cups/Manifest +++ b/net-print/cups/Manifest @@ -1,12 +1,16 @@ AUX cups-2.4.1-nostrip.patch 411 BLAKE2B 67b7ebe76e3586ef819a0dfee5729781ee6d5ece9ea3ff2e6805ed5bffd7cdaac039e62bbb0c47ef663fae46ae42041e025ada586f978301077124ff0ce85712 SHA512 6e792b90dbba541142f505563d37f5a567ef8469e298e2b373a9ac1900b31ffde3050b995d16fcbbeed792252b933e75c7517419a5907f9ce69e22e9c5656ff0 AUX cups-2.4.1-user-AR.patch 567 BLAKE2B 06e91a7601ebbe534808b310e80d482b0dc0b3df0d2c738979fc0917a6c497341dbb0c5f12eedc19b58a149546bab26c13324bc4d1916966d9628413a18d065f SHA512 136871e48c19be011e368dc004c39d104405a2f6729b7612c3c6355d6e1bb8dc112909c850cb58bffcbcf1efe0d4b1c3cfa3083bb63dbfc512dc93a2d0379a9e AUX cupsd.init.d-r4 577 BLAKE2B 48508b10a13ee73e905b3d061275f5cb12ebdc2175ce46affb2007d4a5d007719a147f490e7c17a3e9a5211b82d9b89be7111921b1c9d991a6fc4c457f63eae0 SHA512 23ec5714764f2bac4105130efe6f79a508a352ecb45ab3f6e08042b156af05065330b2ac85615d0ce792a4dcd8f5230302dba9d1a96fca84c11d8bf2573ccc0e +DIST cups-2.4.10-patches.tar.xz 6004 BLAKE2B d20d3ff9c4446e05546e531aa4806b29216555b8210071b9241340f772a2923a5441f8601f1fd87c8bb17d9dd534b0f996f88c0a9bf901849534842423cfc426 SHA512 e5051c28e18b0081acd57a99930ec3e36a657cc5a60156ce2248696eb7c0fbe14dd3740019decb5a0ca777f151f7ea0c05befe97e404df10cdb57b02be716f29 DIST cups-2.4.10-source.tar.gz 8145236 BLAKE2B 842a713d606c1e68d5113c0fc2f063cb58519891bb8f442fd64caeebf6b14fbf38b59d1fe4277cf8f9a01238c4c040fc7919234afa56dc86fcebb623a0058322 SHA512 6442207615f79c91de134ff5f438aa5060cbdf764113f7a338a53f7e12ad87bab147ea61302e84c94f259d31950f1a164c4574d11942ca838eb924827375748e +DIST cups-2.4.11-source.tar.gz 8147763 BLAKE2B 23641a406da2496b8048894b362b9502b669efa6df326a30cbb11d8fba1f012f61cbe36eacc3102841331c0bb8f5895d22b37ad70b319ce3ee3af94cbde05c9d SHA512 5868f069cb5eaa5c74e703ed7773914376fb819ebabd7881df8726092eab390c8a1db75c4d08377a836a87807765ad2c16a15b406ab0580fdda2b176e2da3162 DIST cups-2.4.6-source.tar.gz 8135135 BLAKE2B 4e61112ddaa46f20b1cfcb8f523dd07ba7d82604b9857754b288a2a9c5bc50ce242cfa119867347e4696818dc2eb505cf7fff1f9a0634e314edb2500395b83e4 SHA512 eb748680a748f599e4826c17054a24259d190e6c8e8339f6a7a37ee2a3f4c3fd1829e856b25a854cfdbee1b51279c70a0e847f6142225b8b68f1cd10c4ce4ce4 DIST cups-2.4.7-source.tar.gz 8134809 BLAKE2B d81de62cff37c576ef8fb125b97568c2d86602cec6151d7030552fad421d7bc77a5df1e860d5ac5a241e739cc0d1fe5fcac44b8451ad2fc4dc675cf74fd41382 SHA512 914b574ff6d85de9f3471528b52d4a436c484c441f47651846e1bdfa00aec26774efd416ff466216d2bccf468f8a797b1e0d666b5c82abc87e77550ce8b00d39 -EBUILD cups-2.4.10.ebuild 9645 BLAKE2B fafb22d0a346293ecb2fc3be493ef4dd5f2259eac977458b92cf355fc98670284fac0e3bfe5bddd4810901e37cda46964c3e4538fc0c4a8cfd341b2191997ad0 SHA512 8fad49ff09dec34200bbac25865f8b2a8a2c57c2e774ac898bd8c2675f26a4f3690f8f3191723bdfcf2a69faa7117b21f5bb51d032a020f5629bc124d4f9981f -EBUILD cups-2.4.6.ebuild 9552 BLAKE2B 04227d32d232dabbf378d9dd4c254b04bf582e41c569295c50db2990b23f14824287c5158f792da2b9a64d146883b5c8b096f7fc55f88ffdc3b1288293def759 SHA512 4d8e8028a98f338d6775ee3ca07490efdfcd5f9ac9ca4a6fa59405045e25e2280598bab302b6d2cbc6c69878253cba035dbcee8a6f09c6c989ffc62d78408406 -EBUILD cups-2.4.7-r1.ebuild 9467 BLAKE2B f4d2c631a5c5af07ea5cbf525cf80353d60f46b37273f9b4a58def9a26cd3de5f733a87f4108b513be5a20cb1a33add83d428e9c35fd5a5c175e15e45052bfa6 SHA512 d0ddd06b8d121533025e5c74124fab77240e820e79ed189200e20f3faa60c1cf8ca3b29453cf74e733da673206fb5855a926e0bcb50f27269395a349a0f906dd -EBUILD cups-2.4.7-r2.ebuild 9638 BLAKE2B 6f1ba280050a738e9c7505bb9b03281100fe2aadfd59509977d9f7437f013613781d8f1a2fe4da5387c1bb228d341c187ee08aa6a8c9fe04f6b45ec15122a36d SHA512 5406ebc558a59f978d33f28fc9ad59d564fb66d9b2e43f651fb19058a71e5801a738f0390d2061fe6c29bd452f9348f43bd9d35cb11239209c2ddd13538bb920 -EBUILD cups-9999.ebuild 9645 BLAKE2B fafb22d0a346293ecb2fc3be493ef4dd5f2259eac977458b92cf355fc98670284fac0e3bfe5bddd4810901e37cda46964c3e4538fc0c4a8cfd341b2191997ad0 SHA512 8fad49ff09dec34200bbac25865f8b2a8a2c57c2e774ac898bd8c2675f26a4f3690f8f3191723bdfcf2a69faa7117b21f5bb51d032a020f5629bc124d4f9981f +EBUILD cups-2.4.10-r1.ebuild 9749 BLAKE2B 499d7f555ac2576e558837a5ee94814473dfd0c8c4a49e060c681d49f309619b165406a4056fbf570015de664787efe82af390d9c131032d9d808fb3b4c3c451 SHA512 43c32e946c07d8a668b79aab11d0fe6df31ac3db4ebc65e605db115893ecf1871e01606804b97a7f352c7b3608b3e4bb8c7dd60de043bd66aa86ee9f917fc5d8 +EBUILD cups-2.4.10.ebuild 9639 BLAKE2B b0dfae3c38aa0196891318f4c87bf96c4a14700d52240270176db7c0ef251afc396f118c826bd35c52fa127ce10a4ac6f7fbc2bec9cce8c256f9670a4089d48e SHA512 29df0de683db650619afeef406f26ce96ec853433e06837e10f04781732b25562e63d21500111a3428084c9f071cbab70bcd071be6e87a2214395532b58068c8 +EBUILD cups-2.4.11.ebuild 9632 BLAKE2B b51e3873d139f01e68bbaf666e92e25ef621feb366ee7a4295648f24c29f5210fb4289b9675645a16d0f80d3624421accf06436fb197bd02d7deea95e3214f52 SHA512 ef9b5079b1e0cb0f2a8cab0f361981e1c87d087c189032b870e7272bc3530677fb53e0b6e0a8adfebcc8f48c267dbe3ec73c5690faae8cc75332ca84fcd6a236 +EBUILD cups-2.4.6.ebuild 9546 BLAKE2B d7706335f4b5f7d2c83067f3451a6ec8c2c19798fabc36e9a13b8ae307ae96b65f700cb8cd08cac1f93b4c834b60c43f39fe1184651360e53041b8642e06e38c SHA512 17737077831162beb5681b33c511405d5fe8fef0c90227847169695f64a3e38e8513f1b076d9f86a34c4c75796c42b2aacd589feb32ab4e2cbc590ee78ce4b54 +EBUILD cups-2.4.7-r1.ebuild 9461 BLAKE2B 025635024f9a3fe9ce89130296106d1d18668eb5614be97b3d4ca7dfdc55a2e73dc4b067c576c67015cc97641dc7a76b06f1a3e37c3ee6936357b2a752711627 SHA512 da1ccc462abcc582eeff2fbd8eeb0d9f6cf8b6dd62848c0079937ae409e1385719b23452ebdb200a96505ecc0bb4b117d13d7ce6075f98c25bd6154d8fd4dae7 +EBUILD cups-2.4.7-r2.ebuild 9632 BLAKE2B b51e3873d139f01e68bbaf666e92e25ef621feb366ee7a4295648f24c29f5210fb4289b9675645a16d0f80d3624421accf06436fb197bd02d7deea95e3214f52 SHA512 ef9b5079b1e0cb0f2a8cab0f361981e1c87d087c189032b870e7272bc3530677fb53e0b6e0a8adfebcc8f48c267dbe3ec73c5690faae8cc75332ca84fcd6a236 +EBUILD cups-9999.ebuild 9639 BLAKE2B b0dfae3c38aa0196891318f4c87bf96c4a14700d52240270176db7c0ef251afc396f118c826bd35c52fa127ce10a4ac6f7fbc2bec9cce8c256f9670a4089d48e SHA512 29df0de683db650619afeef406f26ce96ec853433e06837e10f04781732b25562e63d21500111a3428084c9f071cbab70bcd071be6e87a2214395532b58068c8 MISC metadata.xml 527 BLAKE2B 04a32175e666165226eaa97785a6b9e4b779644e352c503a4653870631f28089dddbaaa3db3143f09a1d97c7f57952e4d760d64005eafacb379c23035fe9ad19 SHA512 136c81a99b501ffcedfd71f4425ba556292b79abc0ac819d336d2c845401775955b8cd72e6194f02f4c48d0cd26bc93ee7c94c7438228b49410daca80a159523 diff --git a/net-print/cups/cups-2.4.10-r1.ebuild b/net-print/cups/cups-2.4.10-r1.ebuild new file mode 100644 index 000000000000..854f76151bad --- /dev/null +++ b/net-print/cups/cups-2.4.10-r1.ebuild @@ -0,0 +1,322 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools linux-info xdg multilib-minimal optfeature pam toolchain-funcs + +MY_PV="${PV/_beta/b}" +MY_PV="${MY_PV/_rc/rc}" +MY_PV="${MY_PV/_p/op}" +MY_P="${PN}-${MY_PV}" + +if [[ ${PV} == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/OpenPrinting/cups.git" + [[ ${PV} != 9999 ]] && EGIT_BRANCH=branch-${PV/.9999} +else + SRC_URI="https://github.com/OpenPrinting/cups/releases/download/v${MY_PV}/cups-${MY_PV}-source.tar.gz" + SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-patches.tar.xz" + if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" + fi +fi + +S="${WORKDIR}/${MY_P}" + +DESCRIPTION="The Common Unix Printing System" +HOMEPAGE="https://www.cups.org/ https://github.com/OpenPrinting/cups" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="acl dbus debug kerberos openssl pam selinux static-libs systemd test usb X xinetd zeroconf" + +RESTRICT="!test? ( test )" + +BDEPEND=" + acct-group/lp + acct-group/lpadmin + virtual/pkgconfig +" +COMMON_DEPEND=" + app-text/libpaper:= + sys-libs/zlib + acl? ( + kernel_linux? ( + sys-apps/acl + sys-apps/attr + ) + ) + dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + pam? ( sys-libs/pam ) + !pam? ( virtual/libcrypt:= ) + !openssl? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) + openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) + systemd? ( sys-apps/systemd ) + usb? ( virtual/libusb:1 ) + X? ( x11-misc/xdg-utils ) + xinetd? ( sys-apps/xinetd ) + zeroconf? ( >=net-dns/avahi-0.6.31-r2[dbus,${MULTILIB_USEDEP}] ) +" +# if libcupsfilters is installed, more tests are run. They fail without at least one of the two formats enabled. +DEPEND=" + ${COMMON_DEPEND} + test? ( || ( net-print/libcupsfilters[jpeg] net-print/libcupsfilters[png] ) ) +" +RDEPEND=" + ${COMMON_DEPEND} + acct-group/lp + acct-group/lpadmin + selinux? ( sec-policy/selinux-cups ) +" + +PATCHES=( + "${FILESDIR}/${PN}-2.4.1-nostrip.patch" + "${FILESDIR}/${PN}-2.4.1-user-AR.patch" + "${WORKDIR}/${P}-patches" +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/cups-config +) + +pkg_setup() { + if use kernel_linux; then + linux-info_pkg_setup + if ! linux_config_exists; then + ewarn "Can't check the linux kernel configuration." + ewarn "You might have some incompatible options enabled." + else + # Recheck that we don't have usblp to collide with libusb; this should now work in most cases (bug #501122) + if use usb; then + if linux_chkconfig_present USB_PRINTER; then + elog "Your USB printers will be managed via libusb. In case you run into problems, " + elog "please try disabling USB_PRINTER support in your kernel or blacklisting the" + elog "usblp kernel module." + elog "Alternatively, just disable the usb useflag for cups (your printer will still work)." + fi + else + if ! linux_chkconfig_present USB_PRINTER; then + ewarn "If you plan to use USB printers you should enable the USB_PRINTER" + ewarn "support in your kernel." + ewarn "Please enable it:" + ewarn " CONFIG_USB_PRINTER=y" + ewarn "in /usr/src/linux/.config or" + ewarn " Device Drivers --->" + ewarn " USB support --->" + ewarn " [*] USB Printer support" + ewarn "Alternatively, enable the usb useflag for cups and use the libusb code." + fi + fi + fi + fi +} + +src_prepare() { + default + + # Remove ".SILENT" rule for verbose output (bug #524338). + sed 's#^.SILENT:##g' -i Makedefs.in || die + + # Remove redefinition of _FORTIFY_SOURCE (bug #907683) + sed 's#-D_FORTIFY_SOURCE=3##g' -i config-scripts/cups-compiler.m4 || die + + AT_M4DIR="config-scripts" eautoreconf + + # Custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + export DSOFLAGS="${LDFLAGS}" + + # Explicitly specify compiler wrt bug #524340 + # + # Need to override KRB5CONFIG for proper flags + # https://github.com/apple/cups/issues/4423 + local myeconfargs=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + KRB5CONFIG="${EPREFIX}"/usr/bin/${CHOST}-krb5-config + --libdir="${EPREFIX}"/usr/$(get_libdir) + --localstatedir="${EPREFIX}"/var + # Follow Fedora permission setting + --with-cupsd-file-perm=0755 + --with-exe-file-perm=755 + --with-log-file-perm=0640 + # Used by Debian, also prevents printers from getting + # disabled and users not knowing how to re-enable them + --with-error-policy=retry-job + # Used in Debian and Fedora + --enable-sync-on-close + # + --with-rundir="${EPREFIX}"/run/cups + --with-pkgconfpath="${EPREFIX}"/usr/$(get_libdir)/pkgconfig + --with-cups-user=lp + --with-cups-group=lp + --with-docdir="${EPREFIX}"/usr/share/cups/html + # See bug #863221 for adding root + --with-system-groups="root lpadmin" + --with-xinetd="${EPREFIX}"/etc/xinetd.d + $(multilib_native_use_enable acl) + $(use_enable dbus) + $(use_enable debug) + $(use_enable debug debug-guards) + $(use_enable debug debug-printfs) + $(use_enable kerberos gssapi) + $(multilib_native_use_enable pam) + $(use_enable static-libs static) + --with-tls=$(usex openssl openssl gnutls) + $(use_with systemd ondemand systemd) + $(multilib_native_use_enable usb libusb) + $(use_with zeroconf dnssd avahi) + $(multilib_is_native_abi && echo --enable-libpaper || echo --disable-libpaper) + ) + + # Handle empty LINGUAS properly, bug #771162 + if [[ -n "${LINGUAS+x}" ]] ; then + myeconfargs+=( + --with-languages="${LINGUAS}" + ) + fi + + if tc-is-static-only; then + myeconfargs+=( + --disable-shared + ) + fi + + # Install in /usr/libexec always, instead of using /usr/lib/cups, as that + # makes more sense when facing multilib support. + sed -i -e 's:CUPS_SERVERBIN="$exec_prefix/lib/cups":CUPS_SERVERBIN="$exec_prefix/libexec/cups":g' configure ||die + + econf "${myeconfargs[@]}" + + sed -i -e "s:SERVERBIN.*:SERVERBIN = \"\$\(BUILDROOT\)${EPREFIX}/usr/libexec/cups\":" Makedefs || die + sed -i -e "s:#define CUPS_SERVERBIN.*:#define CUPS_SERVERBIN \"${EPREFIX}/usr/libexec/cups\":" config.h || die + sed -i -e "s:cups_serverbin=.*:cups_serverbin=\"${EPREFIX}/usr/libexec/cups\":" cups-config || die + + # Additional path corrections needed for prefix, see bug #597728 + sed \ + -e "s:ICONDIR.*:ICONDIR = ${EPREFIX}/usr/share/icons:" \ + -e "s:INITDIR.*:INITDIR = ${EPREFIX}/etc:" \ + -e "s:DBUSDIR.*:DBUSDIR = ${EPREFIX}/etc/dbus-1:" \ + -e "s:MENUDIR.*:MENUDIR = ${EPREFIX}/usr/share/applications:" \ + -i Makedefs || die +} + +multilib_src_compile() { + if multilib_is_native_abi; then + default + else + emake libs + fi +} + +multilib_src_test() { + # We only build some of CUPS for multilib, so can't run the tests. + if multilib_is_native_abi; then + # Avoid using /tmp + export CUPS_TESTBASE="${T}"/cups-tests + + mkdir "${T}"/cups-tests || die + + # avoid building *and running* test binaries in src_compile + # https://github.com/OpenPrinting/cups/commit/b1d42061e9286f50eefc851ed906d17c6e80c4b0 + emake UNITTESTS=unittests + default + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + emake BUILDROOT="${D}" install + else + emake BUILDROOT="${D}" install-libs install-headers + dobin cups-config + fi +} + +multilib_src_install_all() { + dodoc {CHANGES,CREDITS,README}.md + + # Move the default config file to docs + dodoc "${ED}"/etc/cups/cupsd.conf.default + rm "${ED}"/etc/cups/cupsd.conf.default || die + + # Clean out cups init scripts + rm -r "${ED}"/etc/{init.d/cups,rc*} || die + + # Install our init script + local neededservices=( + $(usex zeroconf avahi-daemon '') + $(usex dbus dbus '') + ) + [[ -n ${neededservices[@]} ]] && neededservices="need ${neededservices[@]}" + cp "${FILESDIR}"/cupsd.init.d-r4 "${T}"/cupsd || die + sed -i -e "s/@neededservices@/${neededservices}/" "${T}"/cupsd || die + doinitd "${T}"/cupsd + + if use pam ; then + rm "${ED}"/etc/pam.d/${PN} || die + pamd_mimic_system cups auth account + fi + + if use xinetd ; then + # Correct path + sed -i -e "s:server = .*:server = /usr/libexec/cups/daemon/cups-lpd:" \ + "${ED}"/etc/xinetd.d/cups-lpd || die + # It is safer to disable this by default, bug #137130 + grep -w 'disable' "${ED}"/etc/xinetd.d/cups-lpd || \ + { sed -i -e "s:}:\tdisable = yes\n}:" "${ED}"/etc/xinetd.d/cups-lpd || die ; } + # Write permission for file owner (root), bug #296221 + fperms u+w /etc/xinetd.d/cups-lpd + else + # Always configure with --with-xinetd= and clean up later, + # bug #525604 + rm -r "${ED}"/etc/xinetd.d || die + fi + + keepdir /etc/cups/{interfaces,ppd,ssl} + + if ! use X ; then + rm -r "${ED}"/usr/share/applications || die + fi + + # Create /etc/cups/client.conf, bug #196967 and bug #266678 + echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED}"/etc/cups/client.conf + + # The following file is now provided by cups-filter: + rm -r "${ED}"/usr/share/cups/banners || die + + # The following are created by the init script + rm -r "${ED}"/var/cache || die + rm -r "${ED}"/run || die + + keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} /var/log/cups /var/spool/cups/tmp +} + +pkg_postinst() { + xdg_pkg_postinst + local v + + for v in ${REPLACING_VERSIONS}; do + if ! ver_test ${v} -ge 2.2.2-r2 ; then + ewarn "The cupsd init script switched to using pidfiles. Shutting down" + ewarn "cupsd will fail the next time. To fix this, please run once as root" + ewarn " killall cupsd ; /etc/init.d/cupsd zap ; /etc/init.d/cupsd start" + break + fi + done + + for v in ${REPLACING_VERSIONS}; do + elog + elog "For information about installing a printer and general cups setup" + elog "take a look at: https://wiki.gentoo.org/wiki/Printing" + break + done + + optfeature_header "CUPS may need installing the following for certain features to work:" + use zeroconf && optfeature "local hostname resolution using a hostname.local naming scheme" sys-auth/nss-mdns +} diff --git a/net-print/cups/cups-2.4.10.ebuild b/net-print/cups/cups-2.4.10.ebuild index 561c0c7527d4..4e72b3e88b7a 100644 --- a/net-print/cups/cups-2.4.10.ebuild +++ b/net-print/cups/cups-2.4.10.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == *9999 ]] ; then else SRC_URI="https://github.com/OpenPrinting/cups/releases/download/v${MY_PV}/cups-${MY_PV}-source.tar.gz" if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" fi fi diff --git a/net-print/cups/cups-2.4.11.ebuild b/net-print/cups/cups-2.4.11.ebuild new file mode 100644 index 000000000000..8198b1c85935 --- /dev/null +++ b/net-print/cups/cups-2.4.11.ebuild @@ -0,0 +1,320 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools linux-info xdg multilib-minimal optfeature pam toolchain-funcs + +MY_PV="${PV/_beta/b}" +MY_PV="${MY_PV/_rc/rc}" +MY_PV="${MY_PV/_p/op}" +MY_P="${PN}-${MY_PV}" + +if [[ ${PV} == *9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/OpenPrinting/cups.git" + [[ ${PV} != 9999 ]] && EGIT_BRANCH=branch-${PV/.9999} +else + SRC_URI="https://github.com/OpenPrinting/cups/releases/download/v${MY_PV}/cups-${MY_PV}-source.tar.gz" + if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86" + fi +fi + +S="${WORKDIR}/${MY_P}" + +DESCRIPTION="The Common Unix Printing System" +HOMEPAGE="https://www.cups.org/ https://github.com/OpenPrinting/cups" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="acl dbus debug kerberos openssl pam selinux static-libs systemd test usb X xinetd zeroconf" + +RESTRICT="!test? ( test )" + +BDEPEND=" + acct-group/lp + acct-group/lpadmin + virtual/pkgconfig +" +COMMON_DEPEND=" + app-text/libpaper:= + sys-libs/zlib + acl? ( + kernel_linux? ( + sys-apps/acl + sys-apps/attr + ) + ) + dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] ) + kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] ) + pam? ( sys-libs/pam ) + !pam? ( virtual/libcrypt:= ) + !openssl? ( >=net-libs/gnutls-2.12.23-r6:=[${MULTILIB_USEDEP}] ) + openssl? ( dev-libs/openssl:=[${MULTILIB_USEDEP}] ) + systemd? ( sys-apps/systemd ) + usb? ( virtual/libusb:1 ) + X? ( x11-misc/xdg-utils ) + xinetd? ( sys-apps/xinetd ) + zeroconf? ( >=net-dns/avahi-0.6.31-r2[dbus,${MULTILIB_USEDEP}] ) +" +# if libcupsfilters is installed, more tests are run. They fail without at least one of the two formats enabled. +DEPEND=" + ${COMMON_DEPEND} + test? ( || ( net-print/libcupsfilters[jpeg] net-print/libcupsfilters[png] ) ) +" +RDEPEND=" + ${COMMON_DEPEND} + acct-group/lp + acct-group/lpadmin + selinux? ( sec-policy/selinux-cups ) +" + +PATCHES=( + "${FILESDIR}/${PN}-2.4.1-nostrip.patch" + "${FILESDIR}/${PN}-2.4.1-user-AR.patch" +) + +MULTILIB_CHOST_TOOLS=( + /usr/bin/cups-config +) + +pkg_setup() { + if use kernel_linux; then + linux-info_pkg_setup + if ! linux_config_exists; then + ewarn "Can't check the linux kernel configuration." + ewarn "You might have some incompatible options enabled." + else + # Recheck that we don't have usblp to collide with libusb; this should now work in most cases (bug #501122) + if use usb; then + if linux_chkconfig_present USB_PRINTER; then + elog "Your USB printers will be managed via libusb. In case you run into problems, " + elog "please try disabling USB_PRINTER support in your kernel or blacklisting the" + elog "usblp kernel module." + elog "Alternatively, just disable the usb useflag for cups (your printer will still work)." + fi + else + if ! linux_chkconfig_present USB_PRINTER; then + ewarn "If you plan to use USB printers you should enable the USB_PRINTER" + ewarn "support in your kernel." + ewarn "Please enable it:" + ewarn " CONFIG_USB_PRINTER=y" + ewarn "in /usr/src/linux/.config or" + ewarn " Device Drivers --->" + ewarn " USB support --->" + ewarn " [*] USB Printer support" + ewarn "Alternatively, enable the usb useflag for cups and use the libusb code." + fi + fi + fi + fi +} + +src_prepare() { + default + + # Remove ".SILENT" rule for verbose output (bug #524338). + sed 's#^.SILENT:##g' -i Makedefs.in || die + + # Remove redefinition of _FORTIFY_SOURCE (bug #907683) + sed 's#-D_FORTIFY_SOURCE=3##g' -i config-scripts/cups-compiler.m4 || die + + AT_M4DIR="config-scripts" eautoreconf + + # Custom Makefiles + multilib_copy_sources +} + +multilib_src_configure() { + export DSOFLAGS="${LDFLAGS}" + + # Explicitly specify compiler wrt bug #524340 + # + # Need to override KRB5CONFIG for proper flags + # https://github.com/apple/cups/issues/4423 + local myeconfargs=( + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + KRB5CONFIG="${EPREFIX}"/usr/bin/${CHOST}-krb5-config + --libdir="${EPREFIX}"/usr/$(get_libdir) + --localstatedir="${EPREFIX}"/var + # Follow Fedora permission setting + --with-cupsd-file-perm=0755 + --with-exe-file-perm=755 + --with-log-file-perm=0640 + # Used by Debian, also prevents printers from getting + # disabled and users not knowing how to re-enable them + --with-error-policy=retry-job + # Used in Debian and Fedora + --enable-sync-on-close + # + --with-rundir="${EPREFIX}"/run/cups + --with-pkgconfpath="${EPREFIX}"/usr/$(get_libdir)/pkgconfig + --with-cups-user=lp + --with-cups-group=lp + --with-docdir="${EPREFIX}"/usr/share/cups/html + # See bug #863221 for adding root + --with-system-groups="root lpadmin" + --with-xinetd="${EPREFIX}"/etc/xinetd.d + $(multilib_native_use_enable acl) + $(use_enable dbus) + $(use_enable debug) + $(use_enable debug debug-guards) + $(use_enable debug debug-printfs) + $(use_enable kerberos gssapi) + $(multilib_native_use_enable pam) + $(use_enable static-libs static) + --with-tls=$(usex openssl openssl gnutls) + $(use_with systemd ondemand systemd) + $(multilib_native_use_enable usb libusb) + $(use_with zeroconf dnssd avahi) + $(multilib_is_native_abi && echo --enable-libpaper || echo --disable-libpaper) + ) + + # Handle empty LINGUAS properly, bug #771162 + if [[ -n "${LINGUAS+x}" ]] ; then + myeconfargs+=( + --with-languages="${LINGUAS}" + ) + fi + + if tc-is-static-only; then + myeconfargs+=( + --disable-shared + ) + fi + + # Install in /usr/libexec always, instead of using /usr/lib/cups, as that + # makes more sense when facing multilib support. + sed -i -e 's:CUPS_SERVERBIN="$exec_prefix/lib/cups":CUPS_SERVERBIN="$exec_prefix/libexec/cups":g' configure ||die + + econf "${myeconfargs[@]}" + + sed -i -e "s:SERVERBIN.*:SERVERBIN = \"\$\(BUILDROOT\)${EPREFIX}/usr/libexec/cups\":" Makedefs || die + sed -i -e "s:#define CUPS_SERVERBIN.*:#define CUPS_SERVERBIN \"${EPREFIX}/usr/libexec/cups\":" config.h || die + sed -i -e "s:cups_serverbin=.*:cups_serverbin=\"${EPREFIX}/usr/libexec/cups\":" cups-config || die + + # Additional path corrections needed for prefix, see bug #597728 + sed \ + -e "s:ICONDIR.*:ICONDIR = ${EPREFIX}/usr/share/icons:" \ + -e "s:INITDIR.*:INITDIR = ${EPREFIX}/etc:" \ + -e "s:DBUSDIR.*:DBUSDIR = ${EPREFIX}/etc/dbus-1:" \ + -e "s:MENUDIR.*:MENUDIR = ${EPREFIX}/usr/share/applications:" \ + -i Makedefs || die +} + +multilib_src_compile() { + if multilib_is_native_abi; then + default + else + emake libs + fi +} + +multilib_src_test() { + # We only build some of CUPS for multilib, so can't run the tests. + if multilib_is_native_abi; then + # Avoid using /tmp + export CUPS_TESTBASE="${T}"/cups-tests + + mkdir "${T}"/cups-tests || die + + # avoid building *and running* test binaries in src_compile + # https://github.com/OpenPrinting/cups/commit/b1d42061e9286f50eefc851ed906d17c6e80c4b0 + emake UNITTESTS=unittests + default + fi +} + +multilib_src_install() { + if multilib_is_native_abi; then + emake BUILDROOT="${D}" install + else + emake BUILDROOT="${D}" install-libs install-headers + dobin cups-config + fi +} + +multilib_src_install_all() { + dodoc {CHANGES,CREDITS,README}.md + + # Move the default config file to docs + dodoc "${ED}"/etc/cups/cupsd.conf.default + rm "${ED}"/etc/cups/cupsd.conf.default || die + + # Clean out cups init scripts + rm -r "${ED}"/etc/{init.d/cups,rc*} || die + + # Install our init script + local neededservices=( + $(usex zeroconf avahi-daemon '') + $(usex dbus dbus '') + ) + [[ -n ${neededservices[@]} ]] && neededservices="need ${neededservices[@]}" + cp "${FILESDIR}"/cupsd.init.d-r4 "${T}"/cupsd || die + sed -i -e "s/@neededservices@/${neededservices}/" "${T}"/cupsd || die + doinitd "${T}"/cupsd + + if use pam ; then + rm "${ED}"/etc/pam.d/${PN} || die + pamd_mimic_system cups auth account + fi + + if use xinetd ; then + # Correct path + sed -i -e "s:server = .*:server = /usr/libexec/cups/daemon/cups-lpd:" \ + "${ED}"/etc/xinetd.d/cups-lpd || die + # It is safer to disable this by default, bug #137130 + grep -w 'disable' "${ED}"/etc/xinetd.d/cups-lpd || \ + { sed -i -e "s:}:\tdisable = yes\n}:" "${ED}"/etc/xinetd.d/cups-lpd || die ; } + # Write permission for file owner (root), bug #296221 + fperms u+w /etc/xinetd.d/cups-lpd + else + # Always configure with --with-xinetd= and clean up later, + # bug #525604 + rm -r "${ED}"/etc/xinetd.d || die + fi + + keepdir /etc/cups/{interfaces,ppd,ssl} + + if ! use X ; then + rm -r "${ED}"/usr/share/applications || die + fi + + # Create /etc/cups/client.conf, bug #196967 and bug #266678 + echo "ServerName ${EPREFIX}/run/cups/cups.sock" >> "${ED}"/etc/cups/client.conf + + # The following file is now provided by cups-filter: + rm -r "${ED}"/usr/share/cups/banners || die + + # The following are created by the init script + rm -r "${ED}"/var/cache || die + rm -r "${ED}"/run || die + + keepdir /usr/libexec/cups/driver /usr/share/cups/{model,profiles} /var/log/cups /var/spool/cups/tmp +} + +pkg_postinst() { + xdg_pkg_postinst + local v + + for v in ${REPLACING_VERSIONS}; do + if ! ver_test ${v} -ge 2.2.2-r2 ; then + ewarn "The cupsd init script switched to using pidfiles. Shutting down" + ewarn "cupsd will fail the next time. To fix this, please run once as root" + ewarn " killall cupsd ; /etc/init.d/cupsd zap ; /etc/init.d/cupsd start" + break + fi + done + + for v in ${REPLACING_VERSIONS}; do + elog + elog "For information about installing a printer and general cups setup" + elog "take a look at: https://wiki.gentoo.org/wiki/Printing" + break + done + + optfeature_header "CUPS may need installing the following for certain features to work:" + use zeroconf && optfeature "local hostname resolution using a hostname.local naming scheme" sys-auth/nss-mdns +} diff --git a/net-print/cups/cups-2.4.6.ebuild b/net-print/cups/cups-2.4.6.ebuild index 0419f6602052..c66753ad9d27 100644 --- a/net-print/cups/cups-2.4.6.ebuild +++ b/net-print/cups/cups-2.4.6.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == *9999 ]] ; then else SRC_URI="https://github.com/OpenPrinting/cups/releases/download/v${MY_PV}/cups-${MY_PV}-source.tar.gz" if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi fi diff --git a/net-print/cups/cups-2.4.7-r1.ebuild b/net-print/cups/cups-2.4.7-r1.ebuild index 1dbd7ec1b326..a6884fbdd04e 100644 --- a/net-print/cups/cups-2.4.7-r1.ebuild +++ b/net-print/cups/cups-2.4.7-r1.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == *9999 ]] ; then else SRC_URI="https://github.com/OpenPrinting/cups/releases/download/v${MY_PV}/cups-${MY_PV}-source.tar.gz" if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi fi diff --git a/net-print/cups/cups-2.4.7-r2.ebuild b/net-print/cups/cups-2.4.7-r2.ebuild index 0da25c8b8850..8198b1c85935 100644 --- a/net-print/cups/cups-2.4.7-r2.ebuild +++ b/net-print/cups/cups-2.4.7-r2.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == *9999 ]] ; then else SRC_URI="https://github.com/OpenPrinting/cups/releases/download/v${MY_PV}/cups-${MY_PV}-source.tar.gz" if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then - KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86" + KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86" fi fi diff --git a/net-print/cups/cups-9999.ebuild b/net-print/cups/cups-9999.ebuild index 561c0c7527d4..4e72b3e88b7a 100644 --- a/net-print/cups/cups-9999.ebuild +++ b/net-print/cups/cups-9999.ebuild @@ -17,7 +17,7 @@ if [[ ${PV} == *9999 ]] ; then else SRC_URI="https://github.com/OpenPrinting/cups/releases/download/v${MY_PV}/cups-${MY_PV}-source.tar.gz" if [[ ${PV} != *_beta* && ${PV} != *_rc* ]] ; then - KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" fi fi diff --git a/net-print/epson-inkjet-printer-escpr/Manifest b/net-print/epson-inkjet-printer-escpr/Manifest index 21fbd95154fc..59c88a5a4b24 100644 --- a/net-print/epson-inkjet-printer-escpr/Manifest +++ b/net-print/epson-inkjet-printer-escpr/Manifest @@ -1,12 +1,13 @@ AUX 1.6.5-warnings.patch 1115 BLAKE2B eac889dc8f5b39bbcf633c3ff2469ba1d3e07f475aa29f82e2ff81568aa72e2a3c25018c481b9d56bfd321314fb931561bbaed5b0883597c6fb296465ac486f1 SHA512 8a32ce7d22bb97cf1a7c1864353cab4a148eb4d1dc599f355420e0119dfb89abbfb66cbe58c8f35e2f8fc3a62b0c4018e0d48065acd21b17cb250e4722b9e027 +AUX 1.8.6-warnings.patch 1624 BLAKE2B bbbb104be24df30a8b9391b6a9e781b4e74d7ff59a50a14ad7c06a3da9d2b99bc221c2c962275f050e9e8051d30c5121dcbcd786b2025571fbdb43440f8ab418 SHA512 59c604214a67473d3d6ffb48c30e295548f5205ff5827acdefb3d2ad54948d404a202090fb92ce40f6087f4482dc1d77d5a2ad1713ce7adea72104bb18bc2594 AUX epson-inkjet-printer-escpr-1.7.7-fnocommon.patch 309 BLAKE2B 70e10c99dcf8b5d06acd38722f419c09f994253538d88cc9621051ee58b8a9cbe203c35c279c9ef8b5f0f7cd091118a0b2ccf802e09e2996f4e6346e7927f695 SHA512 5cff64797453868d1d0540a22fd72b53d7214d2e9c574cdf635206baf71fc227147babcfe97c73193ca356ad40afa5bb7ea80107576efee138b936e052b9fb2d AUX epson-inkjet-printer-escpr-1.8-missing-include.patch 6575 BLAKE2B 24e0d0e2674fb74b4cfabe27a695c08f4b1a87a26ddb82956157449c09c4f0e71ca9585db3507b92902ec7deb02a41a3aa9df770820379bcd851b47f4865b8e1 SHA512 392b4713ca94fd8656d39205f61db3f5491c09a15f5dc1f1239a07928d62d243d24941893c197bc227195129e7e346c8479de234aaafbf91d64716dba395068a AUX epson-inkjet-printer-escpr-2-gcc14.patch 11552 BLAKE2B 2ca31fa995937129cedd93945d1f8603e76f5239ac1aec802a4c58f889d78d4b514fe42ef16608f946c7f2895650ff8a89dace11b64a1cbfef78172ed92dc966 SHA512 c40741c96b462c938d54b646dcbf04ae69c7f9b227f0dbb5cc587e46730359c717e5cf0272c729c7343b18612110153cef454d85e19d76ca7b3e94f36ca0a498 AUX gcc-no-implicit-function-declaration-1.2.patch 2421 BLAKE2B 158c074ec7d37ee1a09b29bbee21c29da0ff2784fe25b22f64d2b199b07a8d8c90ca92477f7c284ded194c1a66bee219943b7c827bf7fb1b58227b3e7caedc3b SHA512 55533abc7b4f4cfa6c95868726721e59d187601722c0b2daa38d913f15ce9c695ae4c900274c46a770cfcdf85c46f77c724b936686a70bae34be5660c41a34aa DIST epson-inkjet-printer-escpr-1.8.5-1.tar.gz 5666905 BLAKE2B 549c948709993779b5615b501038fdceb6c3d6f173709b8cf99459346fff89923bdbe1babe34ee98eed4e1ebbd7a4b5962ddbc9cec9711aa15ff2056fec3d436 SHA512 4117b1efe903e4f506bbc67c45079f1d467ff6527691308734e55d32feeda3ec44b2dd85361e0243114f924eef04a91b0a5e86b5008f0a32ef323989b3d2896f +DIST epson-inkjet-printer-escpr-1.8.6-1.tar.gz 5715741 BLAKE2B 0da5e0af022bf2ce42ef94631c984b8308562bcb8f1f47a8f50b77be09326a80e9495ddaf02becdf72e78e50041f73cdd558c96d72046600452de50bc68f1bc8 SHA512 d0040c99793ba33e54ec5f0137f3b672628f089a6cd792916c24fc5edab75702561dade91eb63cd4b3b8e898f7b4647c899ca425e1449a401c7ff562f8cc0f1e DIST epson-inkjet-printer-escpr2-1.2.15-1.tar.gz 5560479 BLAKE2B 8180fe06df8175ec31044b0eec2a125b9567c11a827343401a07e59e8bd93e689617b9b29364374f1d6ba6d6bca320d6615f601791c59e966d3a4d63f7adbeb0 SHA512 62cd5161f65f8ca6f8c1a8bb755e06eb147d4a06b5f796a8068ed9235b3abf38e6ccb10e82bdd93fddc085b90a7f9332e024ba09679aa08490a05735c0372653 -DIST epson-inkjet-printer-escpr2-1.2.9-1.tar.gz 5367737 BLAKE2B 6868569a6bed622e2f50619a36ffb0a0f7e834fd8a794ae3bc906d971db26b0c86386c9545190ec384027d0b8e8f62ddda6cb24f1e3f60b9c535a1eeddff4332 SHA512 70ff744d42fac4c79d2994648763b0b3970ee5463a7a310a0721a63735d536cb9a0499c894289d946b30e6f564f9bf60aa61801580ab6635af211d50867921a1 -EBUILD epson-inkjet-printer-escpr-1.2.15.ebuild 985 BLAKE2B be3e9e4c4c9973124058cd95fa4b7392c220a770da4b255c9e69888264d6a9b59ad4d5aeba43d1a596f6c6b41bebb87bf2da017991bc4a4ba7ef4ccf49801b16 SHA512 a3eac5de105b129c01e95e4d73d68e05e27ce3aea6296dba73d671e2c18f940012b843e237a8f9f31dd1a715e5df2af50d5cbb218d5b65136e71049bf2ff3625 -EBUILD epson-inkjet-printer-escpr-1.2.9-r1.ebuild 881 BLAKE2B 4b4f4632e1e47c8bcf311950e35f9e400e397cb25f0ace2ef89b6c45163cdc86a81c67497e065ed95a643a1266c6796dedf16841ca21fbc078100f81cb4b9829 SHA512 0577511cedd44fd04ef6ef681e3d5cd0430a0a6626834fe19df60ac677052b5c64c4779e7e3eca9a5c2a074fcf634804d3e45f7f839a288d8a3e45da6bc1e376 +EBUILD epson-inkjet-printer-escpr-1.2.15.ebuild 984 BLAKE2B a652211011d88737af38b062d5a4a038a0f832374b5b232aaa9a5684541710052c431d377c4738bbd409f275990c0a94f3a2b1c4a042ef97883bda6d92a63812 SHA512 3ac40276d11f11f695de917faac0ee7be2cf702af748ce7af2dbb286c8f2e192bb27008ea98207734b8d79944924a3bada9789605775740a5287554120df4f99 EBUILD epson-inkjet-printer-escpr-1.8.5.ebuild 1079 BLAKE2B e718ecb13d39a8bfe03f65f8adad42895b853f686ad3f3166bfe3f0735b80aa7e5c7db34c7906a1dbc2bc1f8dff61b09d304dd118d90646cec39ab96a0a55753 SHA512 6ee84e32bd3701f8aa2bd1a6bff6b49044a1b3ebbe78599e04bf9355ffee8493013fe5bc78d04cc922053c9337266b9e66250e48b83dab8f42c1e75506fd8106 +EBUILD epson-inkjet-printer-escpr-1.8.6.ebuild 1226 BLAKE2B 2c3954effba4fe820388043cc4ce3b539bd553bac57f6be2f40e8d14b82df3d6a5805dcdcaefabf8cb88f8c99190d425950db046ac5cc1e3a74c04cbcc29e5a4 SHA512 45855a0ee79f593b06bc02201de3d74aeabc83bd68ab164cf1d0976a40ff94d199b4fcf0cbbb1e02829e844f5d0504ebb1cda66f0a13f1d427fb6870e21aec11 MISC metadata.xml 1890 BLAKE2B b90489bd80a2957d1a6287a727d847c1fdbdfb576f7e816b60196b7d82ac13c72fd19322202f651cdfd11b56fe09fe962230f0d2eb4f1a9565ff9ad9b9ab0c24 SHA512 8cb73e282d607a5699d4c3e4f6f6f4663153ea9a0240a5b6b73317ab7ffb8ba1d54ed00c7b6ed53045059b246f62ee841cf27cc83a56a7ed72d9b2131463bc24 diff --git a/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.2.15.ebuild b/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.2.15.ebuild index f29a147b08b4..7af630931f56 100644 --- a/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.2.15.ebuild +++ b/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.2.15.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://download3.ebz.epson.net/dsc/f/03/00/16/06/85/fddc1d5996d0cab4dc S="${WORKDIR}/${MY_P}" LICENSE="EPSON LGPL-2.1+" SLOT="2" -KEYWORDS="~amd64" +KEYWORDS="amd64" QA_FLAGS_IGNORED="/usr/lib64/libescpr2.so.1.0.0" diff --git a/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.2.9-r1.ebuild b/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.2.9-r1.ebuild deleted file mode 100644 index ee7aecc88746..000000000000 --- a/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.2.9-r1.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_P="${PN}2-${PV}" - -DESCRIPTION="Epson Inkjet Printer Driver 2 (ESC/P-R) for Linux" -HOMEPAGE="https://download.ebz.epson.net/dsc/search/01/search/?OSC=LX" -SRC_URI="https://download3.ebz.epson.net/dsc/f/03/00/15/33/96/607198a4f064daa9e7931913eaf27f3a58125f2b/${MY_P}-1.tar.gz" -S="${WORKDIR}/${MY_P}" -LICENSE="EPSON LGPL-2.1+" -SLOT="2" -KEYWORDS="amd64" - -QA_FLAGS_IGNORED="/usr/lib64/libescpr2.so.1.0.0" - -DEPEND="net-print/cups" -RDEPEND="${DEPEND}" - -PATCHES=( - "${FILESDIR}/${PN}-${SLOT}-gcc14.patch" -) - -src_configure() { - econf \ - --with-cupsfilterdir="${EPREFIX}/usr/libexec/cups/filter" - --with-cupsppddir="${EPREFIX}/usr/share/ppd" -} - -src_install() { - default - - find "${ED}/usr/lib64" -name "*.la" -delete \ - || die "Removal of libtool files (.la) has failed." -} diff --git a/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.8.6.ebuild b/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.8.6.ebuild new file mode 100644 index 000000000000..1bb1bb81960c --- /dev/null +++ b/net-print/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr-1.8.6.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools edos2unix + +DESCRIPTION="Epson Inkjet Printer Driver (ESC/P-R)" +HOMEPAGE="https://download.ebz.epson.net/dsc/search/01/search/?OSC=LX" + +# https://support.epson.net/linux/Printer/LSB_distribution_pages/en/escpr.php +# Use the "source package for arm CPU" to get a tarball instead of an srpm. +SRC_URI="https://download3.ebz.epson.net/dsc/f/03/00/16/21/81/74d098a47c3a616713079c9cd5904b468bb33dea/${P}-1.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc64" + +DEPEND="net-print/cups" +RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}/${PV}-warnings.patch" + "${FILESDIR}/${PN}-1.7.7-fnocommon.patch" + "${FILESDIR}/${PN}-1.8-missing-include.patch" +) + +src_prepare() { + local f + for f in $(find ./ -type f || die); do + edos2unix "${f}" + done + + eautoreconf + default +} + +src_configure() { + econf --disable-shared + + # Makefile calls ls to generate a file list which is included in Makefile.am + # Set the collation to C to avoid automake being called automatically + unset LC_ALL + export LC_COLLATE=C +} + +src_install() { + emake -C ppd DESTDIR="${D}" install + emake -C src DESTDIR="${D}" install + einstalldocs +} diff --git a/net-print/epson-inkjet-printer-escpr/files/1.8.6-warnings.patch b/net-print/epson-inkjet-printer-escpr/files/1.8.6-warnings.patch new file mode 100644 index 000000000000..6e83ed6e1404 --- /dev/null +++ b/net-print/epson-inkjet-printer-escpr/files/1.8.6-warnings.patch @@ -0,0 +1,53 @@ +--- a/lib/epson-escpr-api.h 2024-10-30 12:42:07.278862232 -0400 ++++ b/lib/epson-escpr-api.h 2024-10-30 12:43:46.975989499 -0400 +@@ -111,6 +111,10 @@ extern EPS_ERR_CODE epsGetUsersizeRange + /*** -------------------------------------------------------------------------------*/ + extern EPS_ERR_CODE epsMakeMainteCmd (EPS_INT32, EPS_UINT8*, EPS_UINT32* ); + ++extern EPS_ERR_CODE SetupJobAttrib (const EPS_JOB_ATTRIB* ); ++extern EPS_ERR_CODE SendStartJob (EPS_BOOL ); ++extern EPS_ERR_CODE PrintBand (const EPS_UINT8*, EPS_UINT32, EPS_UINT32* ); ++ + #ifdef __cplusplus + } + #endif +--- a/src/filter.c 2024-10-30 12:44:02.992729085 -0400 ++++ b/src/filter.c 2024-10-30 12:44:49.836274137 -0400 +@@ -32,7 +32,9 @@ + + #include "epson-protocol.h" + #include "epson-escpr-api.h" ++#include "epson-escpr-services.h" + #include "epson-escpr-mem.h" ++#include "epson-escpage.h" + + #include "err.h" + #include "mem.h" +@@ -42,6 +44,7 @@ + #include "optBase.h" + #include "linux_cmn.h" + #include "custompage.h" ++#include "xfifo.h" + + #define WIDTH_BYTES(bits) (((bits) + 31) / 32 * 4) + +--- a/src/mem.c 2024-10-30 12:42:31.732309679 -0400 ++++ b/src/mem.c 2024-10-30 12:43:15.375844801 -0400 +@@ -22,6 +22,7 @@ + #endif + + #include <stdlib.h> ++#include "err.h" + #include "mem.h" + + void * +--- a/src/wrapper.c 2024-10-30 12:48:35.673934604 -0400 ++++ b/src/wrapper.c 2024-10-30 12:49:00.237373816 -0400 +@@ -35,6 +35,7 @@ + #include <signal.h> + + #include "libprtX.h" ++#include "custompage.h" + + #define WIDTH_BYTES(bits) (((bits) + 31) / 32 * 4) + diff --git a/net-print/foomatic-db-engine/Manifest b/net-print/foomatic-db-engine/Manifest index 747aec97f1d3..4597142f79e2 100644 --- a/net-print/foomatic-db-engine/Manifest +++ b/net-print/foomatic-db-engine/Manifest @@ -2,5 +2,5 @@ AUX 4.0.12-use-pkgconfig.patch 1010 BLAKE2B d37cb4ad77e191229c0ca7ae64b8f51b7ce2 AUX 4.0.7-perl-module.patch 323 BLAKE2B c291580e579f27efe5d1bbf26ff1a5ad7345cae33a8e1499437f096691c53f6d43be3c4c55491bdcc7c852d9538064a1d9df575012f4d83c451a6c7920d466a3 SHA512 913cf4dca46b028581d7e5cf11ef8a4d03b3a0ad415059eea4db5825a67c18e2e62adff26c7a7d67b6af78109c176553849a28b57d06c383ff59c8b0c12a514a AUX 4.0.7-respect-ldflag.patch 596 BLAKE2B b540f6b0a03a8abe28e245069ce1703e8505862c326ae8fa95c9b548c8eb908b90b6c7681d928b0e74a9963daec0a8fba6f7e37efaadfd79d46aa8961da615d7 SHA512 afb080f281c1c5a6b0011964a7c73e9f843fa347543324b4441c40aabe7b534a5689ae4be285095e43b91f5cf37f4cbd1d8f091740fc3c1824eb0099aabc9ca8 DIST foomatic-db-engine-4.0.12.tar.gz 360499 BLAKE2B b03ba0a0cddc2d1c59a64ffa33e577f991d36c478e3f7b43f66474c749b7fb546f0ad5b04fee056c69532a6f126b87c95a72e5561443ef79bf3bdfed650d6b07 SHA512 b7e99ace6a632e9b0213183bd2c6c2d11ca072ea0414e8ca569082b7ec183dd81c80594ad63fdee82d761ae36d4fce9d3c881569a95a6085ec326ef7fd21154f -EBUILD foomatic-db-engine-4.0.12-r1.ebuild 1202 BLAKE2B 926bc57d053c2c1fa98d28ddf4fa3c1fc251b05b27c34b85e9683a528cdd16283410092d414fc95124c1482490ce26fda080edd320cfcf844f257c6d14e49b2f SHA512 1cab980f6dc6be95d1570ac6e1661ced45de007f49571870b059f3615a04a06fb2d533af11624020d66b7b3deb1696e975e9d65e698add5098d5df62dc775331 +EBUILD foomatic-db-engine-4.0.12-r1.ebuild 1196 BLAKE2B 83329c058c99c0f7853cdcdb59b1245c03113a5f114d47229afda721c214162d92d5c94171a7f4df0592a01b6bc92513b95c7e629ab5cd9bb15ed630712b307f SHA512 5f9748674ad8f8bdc08b87f6f2ac54b853f0b220b6a878dfa212b750265c5c5e3028d94dadb82e2939e51b029ccf3e4fb943ac51b2acb23bcd093da9b8214767 MISC metadata.xml 260 BLAKE2B ef27f93753b1b9b96d35941f8a39c7e3b1695a49bff8076cb92b718524ddf1449ffa97d26ae289ad493695a8bfbeadb6bee0030f649bef02e0ae155ca851713e SHA512 94c019f5d5e8bec9d817d4b192ae0b87effc9f73283800b6ee7b5fe50a85bf6e245eb9720c2d8f3b497b40c7e298969c5e23c5afe3af14384eee92e76afacc8c diff --git a/net-print/foomatic-db-engine/foomatic-db-engine-4.0.12-r1.ebuild b/net-print/foomatic-db-engine/foomatic-db-engine-4.0.12-r1.ebuild index ff3713e2c096..df2ae843dcfb 100644 --- a/net-print/foomatic-db-engine/foomatic-db-engine-4.0.12-r1.ebuild +++ b/net-print/foomatic-db-engine/foomatic-db-engine-4.0.12-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="http://www.openprinting.org/download/foomatic/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm ~hppa ~mips ppc ppc64 ~s390 sparc x86" BDEPEND=" net-print/cups diff --git a/net-print/foomatic-db-ppds/Manifest b/net-print/foomatic-db-ppds/Manifest index ec66844cca14..a269e1f4ebaa 100644 --- a/net-print/foomatic-db-ppds/Manifest +++ b/net-print/foomatic-db-ppds/Manifest @@ -1,4 +1,4 @@ AUX Makefile.in-4.0.20120117.patch 1161 BLAKE2B f935f674597d1edc4d70b2fc600e5a04dd55acbae7fa648089ded8f10f3d61390c62e24ba5d491b3a4ac2fb7c9636db3c4895842da798c5a870972d334b71b31 SHA512 75ab0f16ce0c187553fc7bdcdc9a23ae8fecd50942d3ba0282ec2d4001f141904e6f93c8a9b6496ab2b0205a31d46a082ea304e8dcbc25f5e38c86ff696d7935 DIST foomatic-db-4.0-20190226.tar.xz 6438248 BLAKE2B c5ce6b3ec5a29524f6f8c73fdaec88a97a3fd4521753c5058d470ebadf7c35c3218bd7e78023a26b267796ccfbca98368ee4d4bc5252b9339ee1c067adbe80b2 SHA512 308cf8b5648ae8f3be1a1a5af1885319ae9f263575e7b0b06bd66e6e3e0b495656124face65e285bfa657dbff3cff226bb00d78b873f16849b426641dc7d52fe -EBUILD foomatic-db-ppds-4.0.20190226-r1.ebuild 746 BLAKE2B 784aa6bfc8bb9b28ec80d8a0ddce6b336f5aa22f75c3e50f88bbd1fba870baef98c5006305337632b0c080444862a39bba9b233b98f56d41c2090a0c30fbd932 SHA512 4f98056553de0148c72229bc3061fceaef4d6d6095cc13dfbcb506a6ffb19cf24b9f9a791a8604f99321e8d756d25788ae695c4e99750d777d07a4e2544393ed +EBUILD foomatic-db-ppds-4.0.20190226-r1.ebuild 740 BLAKE2B 514cfbac8b03baa5e86b81e0433021d09aba9fe77f821ecb3abdbc9723c67ee2db4ebaa9005ac218174d306440227db8f017366720180263ba5aa10b2a722de8 SHA512 362c330f3198733e058b77f661d6145de4588fe3b01d8a93728dc83c977b1272926aa50e3775acacf309514f6fa17656cf54035f406d306ce6210ead0eb3c42a MISC metadata.xml 284 BLAKE2B 36426f95cb354d191a324eb7a89eb8a6a18ba1c85403f6a7a39bd5f3872f7d48d7d4d59ace082d75e3c01227e02c87e846412044d5f478d3db505d70b60dada7 SHA512 fd6b64e299ddaf025ad25216c5c7010b6928ecd3f92b0d4fc72697a03551e17f6fbbf8478ab736483a4f219cb1d7da66075cd1b6b69850977ff836d562f63740 diff --git a/net-print/foomatic-db-ppds/foomatic-db-ppds-4.0.20190226-r1.ebuild b/net-print/foomatic-db-ppds/foomatic-db-ppds-4.0.20190226-r1.ebuild index 0d96755a90e8..586380cb927c 100644 --- a/net-print/foomatic-db-ppds/foomatic-db-ppds-4.0.20190226-r1.ebuild +++ b/net-print/foomatic-db-ppds/foomatic-db-ppds-4.0.20190226-r1.ebuild @@ -10,7 +10,7 @@ S=${WORKDIR}/${PN/-ppds}-$(ver_cut 3) LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm ~hppa ~m68k ~mips ppc ppc64 ~s390 sparc x86" PATCHES=( "${FILESDIR}/Makefile.in-4.0.20120117.patch" diff --git a/net-print/foomatic-db/Manifest b/net-print/foomatic-db/Manifest index 894cb1cc6806..b9562fbcd9c4 100644 --- a/net-print/foomatic-db/Manifest +++ b/net-print/foomatic-db/Manifest @@ -1,3 +1,3 @@ DIST foomatic-db-4.0-20190226.tar.xz 6438248 BLAKE2B c5ce6b3ec5a29524f6f8c73fdaec88a97a3fd4521753c5058d470ebadf7c35c3218bd7e78023a26b267796ccfbca98368ee4d4bc5252b9339ee1c067adbe80b2 SHA512 308cf8b5648ae8f3be1a1a5af1885319ae9f263575e7b0b06bd66e6e3e0b495656124face65e285bfa657dbff3cff226bb00d78b873f16849b426641dc7d52fe -EBUILD foomatic-db-4.0.20190226-r1.ebuild 1223 BLAKE2B 4bbba98509f14c700dedfaa210db7a01cc7a95247264b4f1491109c8e9ca9ad22ed1eb4bd967f56d92d85a22f0268a6e1dbcf7dc30ae6b2c75c760e0690e5f98 SHA512 2fc50cacbcdee69b542d815dd233f17ebef6e3e59703ee86e0dc7d87ba047f6e53ad76b735c4c5509e232e9905883585f7d365664045c1985668b04d1c511f87 +EBUILD foomatic-db-4.0.20190226-r1.ebuild 1217 BLAKE2B 21504d96c9075777572ffe2679d1ae5b51c28eb52ead177af91e7acb27e0cdebebe8254f436314e4e324bbb673b72db3086839556e1cc8c2a3053ec795107be7 SHA512 bf51632d151f5960cea732aac66da2c33324036d2ef063461438cc3377040c9501e02759e2dd08fda1907be68203112151b413c3d3f0eeba75f385abcc2b6cef MISC metadata.xml 284 BLAKE2B 36426f95cb354d191a324eb7a89eb8a6a18ba1c85403f6a7a39bd5f3872f7d48d7d4d59ace082d75e3c01227e02c87e846412044d5f478d3db505d70b60dada7 SHA512 fd6b64e299ddaf025ad25216c5c7010b6928ecd3f92b0d4fc72697a03551e17f6fbbf8478ab736483a4f219cb1d7da66075cd1b6b69850977ff836d562f63740 diff --git a/net-print/foomatic-db/foomatic-db-4.0.20190226-r1.ebuild b/net-print/foomatic-db/foomatic-db-4.0.20190226-r1.ebuild index 89e2462b4179..50d93f48ace3 100644 --- a/net-print/foomatic-db/foomatic-db-4.0.20190226-r1.ebuild +++ b/net-print/foomatic-db/foomatic-db-4.0.20190226-r1.ebuild @@ -10,7 +10,7 @@ S=${WORKDIR}/${PN}-$(ver_cut 3) LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm ~hppa ~mips ppc ppc64 ~s390 sparc x86" RDEPEND=" net-print/foomatic-db-engine diff --git a/net-print/gutenprint/Manifest b/net-print/gutenprint/Manifest index 50f24630912b..6caf4550bc5e 100644 --- a/net-print/gutenprint/Manifest +++ b/net-print/gutenprint/Manifest @@ -1,4 +1,4 @@ AUX gutenprint-5.3.1-cflags.patch 659 BLAKE2B 90beb435d0b9a036f31e25f78afedca178b2b6d7bba3cf294ae45699e139d136bbc996dfca86db65d64a61ef004c343ba55f7e097e7304b1d6392efe0ed9cc31 SHA512 f7bac5fd0cff9c1e5b47c965c0304ffda47478241f715de4ada829a295ec54adf198046699bab866166f974c692ac525207f0541e7ba6959e18d63765128327d DIST gutenprint-5.3.4.tar.xz 5341824 BLAKE2B 134e59c7dbf9c0ba95b91c717f1e6841f35520b55105feb1ba40b82785c825b8e2a2429990e78186a1455e5c6de9880f911438d514c53c56d05575dd4e2d68a4 SHA512 63de0b62edbe255a7efaaeab1dcd22577b7b46d7e0e48441b79977f19e76bf3862e4e8e18c55dd1f2e7392d555f9e8ee875ea53b90c689852d2343491a8fbcc8 -EBUILD gutenprint-5.3.4-r2.ebuild 1916 BLAKE2B d3d27003be547d33179e858c6cc5e1e03fbff6bd44bd46dfcac4dd52e4af629ad1b3c6bf1342fdb01e79602af1034315b0b5724348a73276b12314702e118ac0 SHA512 790e208687d3714aae2247c954a27a370cc7427a79cecfd93a3af5c31a501737cd531a8f7f8016a0f5188aa432f9aa77860eacb8f94574d20eb6b1e77c4e7baf +EBUILD gutenprint-5.3.4-r2.ebuild 1910 BLAKE2B 20ef1a22dd8ae85a38a99e46d5b1f5407ecd0d17e07ea372d660824dc2959c403a52e1709f5f98ba022ae55d90f4a93fdd49ca3266b8b35bd33ccde649622559 SHA512 22914412a022924e7b35e5468098f433a79b911fdc61ea7b2c69d86e541a586a04756b1b06fc72742293980f36c74d0c88df345317f7d90a6f8f92d290c7ffde MISC metadata.xml 340 BLAKE2B 91ab730b8ea24dd11ef59949916cda1cb2a0b2a8b77144ef2a9287eb4145e5c38f98a0572381eb6f75a14dd73ff4ac4d1aaf495432ca4402ab75c6f3b7519e99 SHA512 f8fbc6a3db9143f2bd4094ae5a0a6e7ec0bba5e06c90082faed08d5c76e89972422751c5217e1dc118cd10eaee99ffd02249eba4b5ec885fe9e669e75cfdd595 diff --git a/net-print/gutenprint/gutenprint-5.3.4-r2.ebuild b/net-print/gutenprint/gutenprint-5.3.4-r2.ebuild index dfd4b5b50189..0fe23da68e57 100644 --- a/net-print/gutenprint/gutenprint-5.3.4-r2.ebuild +++ b/net-print/gutenprint/gutenprint-5.3.4-r2.ebuild @@ -14,7 +14,7 @@ SRC_URI="https://downloads.sourceforge.net/gimp-print/${MY_P}.tar.xz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 sparc x86" +KEYWORDS="~alpha amd64 arm ~hppa ppc ppc64 sparc x86" IUSE="cups gimp gtk nls readline ppds static-libs" RESTRICT="test" diff --git a/net-print/hplip-plugin/Manifest b/net-print/hplip-plugin/Manifest index 5f28d1cd4eca..70286a292040 100644 --- a/net-print/hplip-plugin/Manifest +++ b/net-print/hplip-plugin/Manifest @@ -1,5 +1,3 @@ -DIST hplip-3.23.12-plugin.run 11491524 BLAKE2B 9b87522a78588d65815992a170451888b4c6ac83809498fae01cfa4d2c333657a7cf49f2358e12ebfd0ae0f4169e29729e9ef8ba6716f74de0a83b11552275e3 SHA512 933c27040443584e0cfda71b50b8a251ebd34fdf4a2c90f40e36d1c155b3ae87c1474835356f685de2997469b4b7a3f000e216fd427118eea2542fa142783ab9 DIST hplip-3.24.4-plugin.run 11490921 BLAKE2B 8eeb0a292b1a132841c2d69808441b281de04950be2b906a5906b36b634f30ed42484cc14ac232ef4c50ae5e660c5e48e2afc407e64b12f1b8deb7cf38425bf2 SHA512 21b1636d4d4f7f1673f1a88abc13f4f81c225d6a36a4d45f4f0579ec5ca9bb4a3885ffd413ab6888290c3e2aa62eef45a27cd5eb84c8f20ef3e6c09e24c854b9 -EBUILD hplip-plugin-3.23.12.ebuild 1483 BLAKE2B c75f0e9c64e2f71916ec9b8a67b41faefffee00cce74e3ab2df526b271b90b26cd20ccbd0549cd43e0362f33650158b17334a063260a65734cf673ef8e9606d4 SHA512 166432f69b79f75c142db0febcb91cdccb9ecea2a98bf1a9afd6f10cc5ee52b357fd21772ededa54dcb6842400b34368659cfca51af33578c4cc292c58a5099c -EBUILD hplip-plugin-3.24.4.ebuild 1487 BLAKE2B d84b9416e2d8f29a3aef8c0d96e89116e4f6cdb282e6d8a4eac5ff7e6a26256dda52062945ada8ac6182186a049ab875665af0c0b645cde5f14916a2847f166c SHA512 31c6702526a7ef33ec665a4a89dc84d43e75485283d5ffa36083f6496d450d5b0694b97fc1496df64a905898a41f2fe23b5ef4bc18f45b4b4fe817d20feb3c73 +EBUILD hplip-plugin-3.24.4.ebuild 1483 BLAKE2B 90afb76f81fe38a00ee98554c49f4b0c5a282ef8bc0cfad75d2dd536e4d825b6c8f9ab8e3e123a5a66027a1e3289bcd7e2c91ea70162d88f6aad7daab2f6c9f5 SHA512 efa4f1ffe2565597fd72063d5c31f6e8715ba5158c35c9a3886b73754fe0fea1aa7ba26ced0da1a049c77566fd05bc59e2b35f5aaf2f95cc59eb3b087d9585b1 MISC metadata.xml 523 BLAKE2B 396a3e3f19f1929ac628fd3301f7de077e34d80b88f0f65dd4035a55b8ff16be6a89dc94b47085dafc7a8a2def19353aa52996a12e51e94154a61ba1329f8c91 SHA512 9d5abebbd6fdac76142c70aa911c4ac55eb5388fd39e010d72e8e6253f51a7924eda2a675cd8ce3475fea76b307805644cf8f7140b265e66b4fcd65a8546fd96 diff --git a/net-print/hplip-plugin/hplip-plugin-3.23.12.ebuild b/net-print/hplip-plugin/hplip-plugin-3.23.12.ebuild deleted file mode 100644 index 2574deffcb94..000000000000 --- a/net-print/hplip-plugin/hplip-plugin-3.23.12.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit unpacker - -DESCRIPTION="Proprietary plugins and firmware for HPLIP" -HOMEPAGE="https://developers.hp.com/hp-linux-imaging-and-printing/plugins" -SRC_URI="https://developers.hp.com/sites/default/files/hplip-${PV}-plugin.run" -S="${WORKDIR}" - -LICENSE="hplip-plugin" -SLOT="0" -KEYWORDS="amd64 arm arm64 x86" -IUSE="orblite" -# License does not allow us to redistribute the "source" package -RESTRICT="mirror" - -RDEPEND=" - ~net-print/hplip-${PV} - virtual/udev - orblite? ( - media-gfx/sane-backends - >=sys-libs/glibc-2.26 - virtual/libusb:0 - ) -" - -HPLIP_HOME=/usr/share/hplip - -# Binary prebuilt package -QA_PREBUILT="${HPLIP_HOME}/*.so" - -src_install() { - local hplip_arch plugin - case "${ARCH}" in - amd64) hplip_arch="x86_64" ;; - arm) hplip_arch="arm32" ;; - arm64) hplip_arch="arm64" ;; - x86) hplip_arch="x86_32" ;; - *) die "Unsupported architecture." ;; - esac - - insinto "${HPLIP_HOME}"/data/firmware - doins *.fw.gz - - for plugin in *-${hplip_arch}.so; do - local plugin_type=prnt - case "${plugin}" in - bb_orblite-*) - use orblite || continue - plugin_type=scan ;; - bb_*) - plugin_type=scan ;; - fax_*) - plugin_type=fax ;; - esac - - exeinto "${HPLIP_HOME}"/${plugin_type}/plugins - newexe ${plugin} ${plugin/-${hplip_arch}} - done - - insinto /var/lib/hp - newins - hplip.state <<-_EOF_ - [plugin] - installed = 1 - eula = 1 - version = ${PV} - _EOF_ -} diff --git a/net-print/hplip-plugin/hplip-plugin-3.24.4.ebuild b/net-print/hplip-plugin/hplip-plugin-3.24.4.ebuild index 2325efad4421..401c2dba5ec8 100644 --- a/net-print/hplip-plugin/hplip-plugin-3.24.4.ebuild +++ b/net-print/hplip-plugin/hplip-plugin-3.24.4.ebuild @@ -12,7 +12,7 @@ S="${WORKDIR}" LICENSE="hplip-plugin" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~x86" +KEYWORDS="amd64 arm arm64 x86" IUSE="orblite" # License does not allow us to redistribute the "source" package RESTRICT="mirror" diff --git a/net-print/hplip/Manifest b/net-print/hplip/Manifest index d022465e7d18..25d90bd87e6b 100644 --- a/net-print/hplip/Manifest +++ b/net-print/hplip/Manifest @@ -1,9 +1,4 @@ -DIST hplip-3.23.12-patches-1.tar.xz 21132 BLAKE2B 83cee13ef988618cf6537b3954649c733b3de99f4d1c2ffefe9aeaba8f21e61a92dfa2e4cdb87af3d4b56df244e7de1b1d6bf73d878aa8ccabe60c537e05916f SHA512 89a0139660b013c11ba1dfa6adf1840b8ccc5b49bc31580481967c85e75ca79aba537bc4b65834ee464013b7aa0544267235d14dc877cb5276cb6e89c6a3fafa -DIST hplip-3.23.12-patches-2.tar.xz 22484 BLAKE2B 919be82d0639bc30fdbe6a5651ec08c8b6951fc31284e52f09ea2aed254bb34024c7f757ec3eccec6c0fd5d261a625c2e77d6aa33d298287f26313811280e3b7 SHA512 bc9746fb748819ca06a0a3d5b2a66ab15ef499ed01177fd936f754d743a282253897db7f813ba8165e8336a9a3540c2f9b99e10908930b3842ef7452957afc13 -DIST hplip-3.23.12.tar.gz 30162044 BLAKE2B 752a5b75855677e4f8b5b8738181d40c426268be4e393e5df7565c78efca68389e86d92f21002a733c0b2d5d62913bef3986e4bedd36a9f35f205c11e6027e7a SHA512 7461ffec38be68421e4204021f53d2b1641e7a67c14f205390d45f487a1af90956fd221f7e1561635508103ae944f19e04d6052d3f8928f2c9685fdcdcf515df DIST hplip-3.24.4-patches-1.tar.xz 22068 BLAKE2B 9b388033b17315c407014b0b344e2994c456c84dd856f3f522e202b431a03fb315060d74ead98696af62934fa5e5d44185cae20cd3171252f33049a9832b15f5 SHA512 292c5717627ecbb5f50b2ecad82fdf43bb80c3128f1e4c3cc806167dd34ac9c7c5c2a988103ec18fc82483ba95221261c7935271a0b213523f00a4e9de23731c DIST hplip-3.24.4.tar.gz 30217933 BLAKE2B 0b5c93465f6d9e30916bf57fd7f2d490d2f04ef80ed1654a7d2c6adc57a5293e358720a71bbb76757a1496d9f7ca05f077f6e9ea62cfa243319fe9d551440710 SHA512 6162ec58289433659ed4c3a254b2a50863c01acb87a8c0e1a1f935fed2b1916c5ae211c2d84130f40963368ff53e0c8da1878a1fce4dd08bd517f65bbcf6a2d2 -EBUILD hplip-3.23.12-r1.ebuild 8535 BLAKE2B 5a5a723b5fc8461b683119b6be9d573d0670941498b3c979193cba7c12d3fa40d1296822293004700c7f8ebf4e2ea3b2d566f6c0d9d2344618a3af76ba5f7c17 SHA512 10c05f98b99667c8987c4b06f96e63a8981b31b5df38a849f952aa834b1ba077a8e2d9c1178b8448c8d35f07a72a3d285ecdb60855c60212ead57db10b3cf280 -EBUILD hplip-3.23.12-r3.ebuild 8538 BLAKE2B a1b3bae13e7e833274f959d7ef42f457338c92df5977cfbeb51e4e04947964bfd028d1e9940e8aefae910f0f9ff7d52013540d90542004fdbc9bc4b47d5cee2b SHA512 0244c4c5f75e6fef7020ad6818beb5064eff601ba0677b4d4911018a9f744b4522cf658f88aa63fc533ecbb9fbd9f6050e160675bd83e0465b2091ca24223517 -EBUILD hplip-3.24.4.ebuild 8543 BLAKE2B 26b4844790b289a7da111ae6605e793729e3799d4635bec5d68ed03d7cc83642ce526b018d1208b02d0e77629041565a84c57b4071ba5372b336cceed1cc39ab SHA512 2318246fb34cd9e84aea0b8e32b362408a84e4ebb5a6cf875a317594335a8927568c09277b3b512d6d8c469f8f262923d2e87be4b26256cbd51328a89c6fff47 +EBUILD hplip-3.24.4.ebuild 8537 BLAKE2B 02321455367d91fc80bcbaf55dd171696ce03de214fb5cdeb36686074dbcb4549ea0e9ca258c9c82649d6df729484ff555b8db27e929544c5bed86b34edb580e SHA512 246bc75f892fe2e1638e1198356a9dcc900adb2c7fa5b663667bfe034c363038dfeebba095ebbb0d1de3e19290d29245f6b87071f15bd08d9a2c219f902aefd0 MISC metadata.xml 1849 BLAKE2B 381cc0d0fe08d072487850a5f5ac6e264cb4ee5db8722b6f83ad9d4e6e78948a7768e80ea2a8a2313bdca1029b59a02d8c3ca309d9438d5e4d63585f7a6b2a83 SHA512 0f5f42b561099e943d99dc5e50cfd42577582b31590c0cd98f276e5acc364fb31f4a48cf91b33e923d24daa77b7b3a6bc54a0c24d9ebff9e3ec82c957a5671e3 diff --git a/net-print/hplip/hplip-3.23.12-r1.ebuild b/net-print/hplip/hplip-3.23.12-r1.ebuild deleted file mode 100644 index 24eb1e8fa894..000000000000 --- a/net-print/hplip/hplip-3.23.12-r1.ebuild +++ /dev/null @@ -1,296 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10,11} ) -PYTHON_REQ_USE="threads(+),xml(+)" - -inherit autotools flag-o-matic linux-info python-single-r1 readme.gentoo-r1 udev - -DESCRIPTION="HP Linux Imaging and Printing - Print, scan, fax drivers and service tools" -HOMEPAGE="https://developers.hp.com/hp-linux-imaging-and-printing" -SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/${P}.tar.gz - https://dev.gentoo.org/~billie/distfiles/${PN}-3.23.12-patches-1.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 arm arm64 ppc ppc64 x86" - -IUSE="doc fax +hpcups hpijs kde libnotify libusb0 minimal parport policykit qt5 scanner +snmp static-ppds X" - -COMMON_DEPEND=" - net-print/cups - media-libs/libjpeg-turbo:0 - hpijs? ( net-print/cups-filters[foomatic] ) - !libusb0? ( virtual/libusb:1 ) - libusb0? ( virtual/libusb:0 ) - ${PYTHON_DEPS} - !minimal? ( - sys-apps/dbus - scanner? ( - media-gfx/sane-backends - ) - snmp? ( - dev-libs/openssl:0= - net-analyzer/net-snmp:=[${PYTHON_SINGLE_USEDEP}] - net-dns/avahi[dbus,python,${PYTHON_SINGLE_USEDEP}] - ) - ) -" -BDEPEND=" - virtual/pkgconfig -" -DEPEND=" - ${COMMON_DEPEND} -" -RDEPEND=" - ${COMMON_DEPEND} - app-text/ghostscript-gpl - !minimal? ( - $(python_gen_cond_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]' 'python3*') - kernel_linux? ( virtual/udev ) - $(python_gen_cond_dep ' - >=dev-python/dbus-python-1.2.0-r1[${PYTHON_USEDEP}] - dev-python/distro[${PYTHON_USEDEP}] - fax? ( dev-python/reportlab[${PYTHON_USEDEP}] ) - qt5? ( - >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,${PYTHON_USEDEP}] - libnotify? ( dev-python/notify2[${PYTHON_USEDEP}] ) - ) - scanner? ( - >=dev-python/reportlab-3.2[${PYTHON_USEDEP}] - >=dev-python/pillow-3.1.1[${PYTHON_USEDEP}] - X? ( - || ( - kde? ( kde-misc/skanlite ) - media-gfx/xsane - media-gfx/sane-frontends - ) - ) - ) - ') - ) - policykit? ( sys-auth/polkit ) -" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -PATCHES=( - "${WORKDIR}/patches" -) - -CONFIG_CHECK="~PARPORT ~PPDEV" -ERROR_PARPORT="Please make sure kernel parallel port support is enabled (PARPORT and PPDEV)." - -#DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -For more information on setting up your printer please take -a look at the hplip section of the gentoo printing guide: -https://wiki.gentoo.org/wiki/Printing -" - -pkg_setup() { - python-single-r1_pkg_setup - - use scanner && ! use X && ewarn "You need USE=X for the scanner GUI." - - use parport && linux-info_pkg_setup - - if use minimal ; then - ewarn "Installing driver portions only, make sure you know what you are doing." - ewarn "Depending on the USE flags set for hpcups or hpijs the appropiate driver" - ewarn "is installed. If both USE flags are set hpijs overrides hpcups." - ewarn "This also disables fax, network, scanner and gui support!" - fi - - if ! use hpcups && ! use hpijs ; then - ewarn "Installing neither hpcups (USE=-hpcups) nor hpijs (USE=-hpijs) driver," - ewarn "which is probably not what you want." - ewarn "You will almost certainly not be able to print." - fi -} - -src_prepare() { - default - - python_fix_shebang . - - # Make desktop files follow the specification - # Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=443680 - # Upstream bug: https://bugs.launchpad.net/hplip/+bug/1080324 - sed -i -e '/^Categories=/s/Application;//' \ - -e '/^Encoding=.*/d' hplip.desktop.in || die - sed -i -e '/^Categories=/s/Application;//' \ - -e '/^Version=.*/d' \ - -e '/^Comment=.*/d' hplip-systray.desktop.in || die - - # Fix for Gentoo bug https://bugs.gentoo.org/show_bug.cgi?id=345725 - # Upstream bug: https://bugs.launchpad.net/hplip/+bug/880847, - # https://bugs.launchpad.net/hplip/+bug/500086 - local udevdir=$(get_udevdir) - sed -i -e "s|/etc/udev|${udevdir}|g" \ - $(find . -type f -exec grep -l /etc/udev {} +) || die - - # Force recognition of Gentoo distro by hp-check - sed -i \ - -e "s:file('/etc/issue', 'r').read():'Gentoo':" \ - installer/core_install.py || die - - eautoreconf -} - -src_configure() { - # -Werror=lto-type-mismatch - # https://bugs.gentoo.org/861851 - # https://bugs.launchpad.net/hplip/+bug/2055371 - filter-lto - - local drv_build minimal_build - - if use hpcups ; then - drv_build="$(use_enable hpcups hpcups-install)" - if use static-ppds ; then - drv_build="${drv_build} --enable-cups-ppd-install" - drv_build="${drv_build} --disable-cups-drv-install" - else - drv_build="${drv_build} --enable-cups-drv-install" - drv_build="${drv_build} --disable-cups-ppd-install" - fi - else - drv_build="--disable-hpcups-install" - drv_build="${drv_build} --disable-cups-drv-install" - drv_build="${drv_build} --disable-cups-ppd-install" - fi - - if use hpijs ; then - drv_build="${drv_build} $(use_enable hpijs hpijs-install)" - if use static-ppds ; then - drv_build="${drv_build} --enable-foomatic-ppd-install" - drv_build="${drv_build} --disable-foomatic-drv-install" - else - drv_build="${drv_build} --enable-foomatic-drv-install" - drv_build="${drv_build} --disable-foomatic-ppd-install" - fi - else - drv_build="${drv_build} --disable-hpijs-install" - drv_build="${drv_build} --disable-foomatic-drv-install" - drv_build="${drv_build} --disable-foomatic-ppd-install" - fi - - if use minimal ; then - if use hpijs ; then - minimal_build="--enable-hpijs-only-build" - else - minimal_build="--disable-hpijs-only-build" - fi - if use hpcups ; then - minimal_build="${minimal_build} --enable-hpcups-only-build" - else - minimal_build="${minimal_build} --disable-hpcups-only-build" - fi - minimal_build="${minimal_build} --disable-dbus-build" - minimal_build="${minimal_build} --disable-fax-build" - minimal_build="${minimal_build} --disable-network-build" - minimal_build="${minimal_build} --disable-scan-build" - minimal_build="${minimal_build} --disable-gui-build" - else - minimal_build="${minimal_build} --enable-dbus-build" - if use fax ; then - minimal_build="${minimal_build} --enable-fax-build" - else - minimal_build="${minimal_build} --disable-fax-build" - fi - if use snmp ; then - minimal_build="${minimal_build} --enable-network-build" - else - minimal_build="${minimal_build} --disable-network-build" - fi - if use scanner ; then - minimal_build="${minimal_build} --enable-scan-build" - else - minimal_build="${minimal_build} --disable-scan-build" - fi - if use qt5 ; then - minimal_build="${minimal_build} --enable-qt5" - minimal_build="${minimal_build} --enable-gui-build" - else - minimal_build="${minimal_build} --disable-gui-build" - minimal_build="${minimal_build} --disable-qt5" - fi - fi - - # disable class driver for now - econf \ - --disable-class-driver \ - --disable-cups11-build \ - --disable-foomatic-rip-hplip-install \ - --disable-imageProcessor-build \ - --disable-lite-build \ - --disable-shadow-build \ - --disable-qt3 \ - --disable-qt4 \ - --disable-udev_sysfs_rules \ - --with-cupsbackenddir=$(cups-config --serverbin)/backend \ - --with-cupsfilterdir=$(cups-config --serverbin)/filter \ - --with-docdir=/usr/share/doc/${PF} \ - --with-htmldir=/usr/share/doc/${PF}/html \ - --enable-hpps-install \ - ${drv_build} \ - ${minimal_build} \ - $(use_enable doc doc-build) \ - $(use_enable libusb0 libusb01_build) \ - $(use_enable parport pp-build) \ - $(use_enable policykit) - - # hpijs ppds are created at configure time but are not installed (3.17.11) - - # Use system foomatic-rip for hpijs driver instead of foomatic-rip-hplip - # The hpcups driver does not use foomatic-rip - #local i - #for i in ppd/hpijs/*.ppd.gz ; do - # rm -f ${i}.temp || die - # gunzip -c ${i} | sed 's/foomatic-rip-hplip/foomatic-rip/g' | \ - # gzip > ${i}.temp || die - # mv ${i}.temp ${i} || die - #done -} - -src_install() { - # Disable parallel install - # Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=578018 - emake -j1 DESTDIR="${D}" install - einstalldocs - # default - - # Installed by sane-backends - # Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=201023 - rm -f "${ED}"/etc/sane.d/dll.conf || die - - # Remove desktop and autostart files - # Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=638770 - use qt5 || { - rm -Rf "${ED}"/usr/share/applications "${ED}"/etc/xdg - } - - rm -f "${ED}"/usr/share/doc/${PF}/{copyright,README_LIBJPG,COPYING} || die - rmdir --ignore-fail-on-non-empty "${ED}"/usr/share/doc/${PF}/ || die - - # Remove hal fdi files - rm -rf "${ED}"/usr/share/hal || die - - find "${D}" -name '*.la' -delete || die - - python_optimize "${ED}"/usr/share/hplip - - readme.gentoo_create_doc -} - -pkg_postinst() { - udev_reload - readme.gentoo_print_elog -} - -pkg_postrm() { - udev_reload -} diff --git a/net-print/hplip/hplip-3.23.12-r3.ebuild b/net-print/hplip/hplip-3.23.12-r3.ebuild deleted file mode 100644 index cb892efbc01e..000000000000 --- a/net-print/hplip/hplip-3.23.12-r3.ebuild +++ /dev/null @@ -1,296 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10,11,12} ) -PYTHON_REQ_USE="threads(+),xml(+)" - -inherit autotools flag-o-matic linux-info python-single-r1 readme.gentoo-r1 udev - -DESCRIPTION="HP Linux Imaging and Printing - Print, scan, fax drivers and service tools" -HOMEPAGE="https://developers.hp.com/hp-linux-imaging-and-printing" -SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/${P}.tar.gz - https://dev.gentoo.org/~billie/distfiles/${PN}-3.23.12-patches-2.tar.xz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="amd64 arm arm64 ppc ppc64 x86" - -IUSE="doc fax +hpcups hpijs kde libnotify libusb0 minimal parport policykit qt5 scanner +snmp static-ppds X" - -COMMON_DEPEND=" - net-print/cups - media-libs/libjpeg-turbo:0 - hpijs? ( net-print/cups-filters[foomatic] ) - !libusb0? ( virtual/libusb:1 ) - libusb0? ( virtual/libusb:0 ) - ${PYTHON_DEPS} - !minimal? ( - sys-apps/dbus - scanner? ( - media-gfx/sane-backends - ) - snmp? ( - dev-libs/openssl:0= - net-analyzer/net-snmp:=[${PYTHON_SINGLE_USEDEP}] - net-dns/avahi[dbus,python,${PYTHON_SINGLE_USEDEP}] - ) - ) -" -BDEPEND=" - virtual/pkgconfig -" -DEPEND=" - ${COMMON_DEPEND} -" -RDEPEND=" - ${COMMON_DEPEND} - app-text/ghostscript-gpl - !minimal? ( - $(python_gen_cond_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]' 'python3*') - kernel_linux? ( virtual/udev ) - $(python_gen_cond_dep ' - >=dev-python/dbus-python-1.2.0-r1[${PYTHON_USEDEP}] - dev-python/distro[${PYTHON_USEDEP}] - fax? ( dev-python/reportlab[${PYTHON_USEDEP}] ) - qt5? ( - >=dev-python/PyQt5-5.5.1[dbus,gui,widgets,${PYTHON_USEDEP}] - libnotify? ( dev-python/notify2[${PYTHON_USEDEP}] ) - ) - scanner? ( - >=dev-python/reportlab-3.2[${PYTHON_USEDEP}] - >=dev-python/pillow-3.1.1[${PYTHON_USEDEP}] - X? ( - || ( - kde? ( kde-misc/skanlite ) - media-gfx/xsane - media-gfx/sane-frontends - ) - ) - ) - ') - ) - policykit? ( sys-auth/polkit ) -" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -PATCHES=( - "${WORKDIR}/patches" -) - -CONFIG_CHECK="~PARPORT ~PPDEV" -ERROR_PARPORT="Please make sure kernel parallel port support is enabled (PARPORT and PPDEV)." - -#DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -For more information on setting up your printer please take -a look at the hplip section of the gentoo printing guide: -https://wiki.gentoo.org/wiki/Printing -" - -pkg_setup() { - python-single-r1_pkg_setup - - use scanner && ! use X && ewarn "You need USE=X for the scanner GUI." - - use parport && linux-info_pkg_setup - - if use minimal ; then - ewarn "Installing driver portions only, make sure you know what you are doing." - ewarn "Depending on the USE flags set for hpcups or hpijs the appropiate driver" - ewarn "is installed. If both USE flags are set hpijs overrides hpcups." - ewarn "This also disables fax, network, scanner and gui support!" - fi - - if ! use hpcups && ! use hpijs ; then - ewarn "Installing neither hpcups (USE=-hpcups) nor hpijs (USE=-hpijs) driver," - ewarn "which is probably not what you want." - ewarn "You will almost certainly not be able to print." - fi -} - -src_prepare() { - default - - python_fix_shebang . - - # Make desktop files follow the specification - # Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=443680 - # Upstream bug: https://bugs.launchpad.net/hplip/+bug/1080324 - sed -i -e '/^Categories=/s/Application;//' \ - -e '/^Encoding=.*/d' hplip.desktop.in || die - sed -i -e '/^Categories=/s/Application;//' \ - -e '/^Version=.*/d' \ - -e '/^Comment=.*/d' hplip-systray.desktop.in || die - - # Fix for Gentoo bug https://bugs.gentoo.org/show_bug.cgi?id=345725 - # Upstream bug: https://bugs.launchpad.net/hplip/+bug/880847, - # https://bugs.launchpad.net/hplip/+bug/500086 - local udevdir=$(get_udevdir) - sed -i -e "s|/etc/udev|${udevdir}|g" \ - $(find . -type f -exec grep -l /etc/udev {} +) || die - - # Force recognition of Gentoo distro by hp-check - sed -i \ - -e "s:file('/etc/issue', 'r').read():'Gentoo':" \ - installer/core_install.py || die - - eautoreconf -} - -src_configure() { - # -Werror=lto-type-mismatch - # https://bugs.gentoo.org/861851 - # https://bugs.launchpad.net/hplip/+bug/2055371 - filter-lto - - local drv_build minimal_build - - if use hpcups ; then - drv_build="$(use_enable hpcups hpcups-install)" - if use static-ppds ; then - drv_build="${drv_build} --enable-cups-ppd-install" - drv_build="${drv_build} --disable-cups-drv-install" - else - drv_build="${drv_build} --enable-cups-drv-install" - drv_build="${drv_build} --disable-cups-ppd-install" - fi - else - drv_build="--disable-hpcups-install" - drv_build="${drv_build} --disable-cups-drv-install" - drv_build="${drv_build} --disable-cups-ppd-install" - fi - - if use hpijs ; then - drv_build="${drv_build} $(use_enable hpijs hpijs-install)" - if use static-ppds ; then - drv_build="${drv_build} --enable-foomatic-ppd-install" - drv_build="${drv_build} --disable-foomatic-drv-install" - else - drv_build="${drv_build} --enable-foomatic-drv-install" - drv_build="${drv_build} --disable-foomatic-ppd-install" - fi - else - drv_build="${drv_build} --disable-hpijs-install" - drv_build="${drv_build} --disable-foomatic-drv-install" - drv_build="${drv_build} --disable-foomatic-ppd-install" - fi - - if use minimal ; then - if use hpijs ; then - minimal_build="--enable-hpijs-only-build" - else - minimal_build="--disable-hpijs-only-build" - fi - if use hpcups ; then - minimal_build="${minimal_build} --enable-hpcups-only-build" - else - minimal_build="${minimal_build} --disable-hpcups-only-build" - fi - minimal_build="${minimal_build} --disable-dbus-build" - minimal_build="${minimal_build} --disable-fax-build" - minimal_build="${minimal_build} --disable-network-build" - minimal_build="${minimal_build} --disable-scan-build" - minimal_build="${minimal_build} --disable-gui-build" - else - minimal_build="${minimal_build} --enable-dbus-build" - if use fax ; then - minimal_build="${minimal_build} --enable-fax-build" - else - minimal_build="${minimal_build} --disable-fax-build" - fi - if use snmp ; then - minimal_build="${minimal_build} --enable-network-build" - else - minimal_build="${minimal_build} --disable-network-build" - fi - if use scanner ; then - minimal_build="${minimal_build} --enable-scan-build" - else - minimal_build="${minimal_build} --disable-scan-build" - fi - if use qt5 ; then - minimal_build="${minimal_build} --enable-qt5" - minimal_build="${minimal_build} --enable-gui-build" - else - minimal_build="${minimal_build} --disable-gui-build" - minimal_build="${minimal_build} --disable-qt5" - fi - fi - - # disable class driver for now - econf \ - --disable-class-driver \ - --disable-cups11-build \ - --disable-foomatic-rip-hplip-install \ - --disable-imageProcessor-build \ - --disable-lite-build \ - --disable-shadow-build \ - --disable-qt3 \ - --disable-qt4 \ - --disable-udev_sysfs_rules \ - --with-cupsbackenddir=$(cups-config --serverbin)/backend \ - --with-cupsfilterdir=$(cups-config --serverbin)/filter \ - --with-docdir=/usr/share/doc/${PF} \ - --with-htmldir=/usr/share/doc/${PF}/html \ - --enable-hpps-install \ - ${drv_build} \ - ${minimal_build} \ - $(use_enable doc doc-build) \ - $(use_enable libusb0 libusb01_build) \ - $(use_enable parport pp-build) \ - $(use_enable policykit) - - # hpijs ppds are created at configure time but are not installed (3.17.11) - - # Use system foomatic-rip for hpijs driver instead of foomatic-rip-hplip - # The hpcups driver does not use foomatic-rip - #local i - #for i in ppd/hpijs/*.ppd.gz ; do - # rm -f ${i}.temp || die - # gunzip -c ${i} | sed 's/foomatic-rip-hplip/foomatic-rip/g' | \ - # gzip > ${i}.temp || die - # mv ${i}.temp ${i} || die - #done -} - -src_install() { - # Disable parallel install - # Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=578018 - emake -j1 DESTDIR="${D}" install - einstalldocs - # default - - # Installed by sane-backends - # Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=201023 - rm -f "${ED}"/etc/sane.d/dll.conf || die - - # Remove desktop and autostart files - # Gentoo Bug: https://bugs.gentoo.org/show_bug.cgi?id=638770 - use qt5 || { - rm -Rf "${ED}"/usr/share/applications "${ED}"/etc/xdg - } - - rm -f "${ED}"/usr/share/doc/${PF}/{copyright,README_LIBJPG,COPYING} || die - rmdir --ignore-fail-on-non-empty "${ED}"/usr/share/doc/${PF}/ || die - - # Remove hal fdi files - rm -rf "${ED}"/usr/share/hal || die - - find "${D}" -name '*.la' -delete || die - - python_optimize "${ED}"/usr/share/hplip - - readme.gentoo_create_doc -} - -pkg_postinst() { - udev_reload - readme.gentoo_print_elog -} - -pkg_postrm() { - udev_reload -} diff --git a/net-print/hplip/hplip-3.24.4.ebuild b/net-print/hplip/hplip-3.24.4.ebuild index 684d9692524b..f2a418b6477c 100644 --- a/net-print/hplip/hplip-3.24.4.ebuild +++ b/net-print/hplip/hplip-3.24.4.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/${P}.tar.gz LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" +KEYWORDS="amd64 arm arm64 ppc ppc64 x86" IUSE="doc fax +hpcups hpijs kde libnotify libusb0 minimal parport policykit qt5 scanner +snmp static-ppds X" diff --git a/net-print/libcupsfilters/Manifest b/net-print/libcupsfilters/Manifest index 61eb1b54dbdb..87e7589c6480 100644 --- a/net-print/libcupsfilters/Manifest +++ b/net-print/libcupsfilters/Manifest @@ -2,7 +2,12 @@ AUX libcupsfilters-2.0.0-color-space.patch 8846 BLAKE2B 204e948b02db64854bc875fb 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 +AUX libcupsfilters-2.1_beta1-CVE-2024-47076.patch 868 BLAKE2B 4820e50f9a6a43133a201e4488906ad910c8aee6d61a3f1612fc3a4f79ab2a59bf24b91e308959ae730c94782a972b440e723b846db93214de1b1c17ca2c3620 SHA512 e58464efafc9cbc661ed1dc467db523a078f44bd765cc17cd82e6583cfec48c864c012fa734a805717351dbcd874ceccd8bcadc9a7d2d243f0396c90cad3288e 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-r5.ebuild 1732 BLAKE2B 71f40a7eaac7d6c40f8a1cf072ed836a69ca958a28458dd73c5d0dec05fea51af64f8d574b8378ae21876776df67c937f166914f3a503cd1d7488e1afa1620d5 SHA512 39f7dbdde7a8d2845ee4dad0f398f72f452cf7a18e5879f6d7214368672a801c179bac22f553b62b241467e284b5e5e0d1618de348ee8427be1777f2b5381fb9 +DIST libcupsfilters-2.1.0.tar.xz 1445276 BLAKE2B 7b7355c71b086dacfeb54d5ef4dbbe84ce23c5f65c36a7ef90c3f3b0a0a7630babebfd0d025dba01ad005714d7811dacf9c1983995e930212aee12b737a45c6a SHA512 2c15180a49f211215a13dac5b198a4f8d11fbc67c49d2112ec0c9a9cfd34f012867780bcf23dba81fae7bfaa7f05d4241b222dc6ad8dd83fc8ae29ce2869b235 +DIST libcupsfilters-2.1b1.tar.xz 1443976 BLAKE2B 043174e47c6c5de5393cfb4d6f41e3839646932cff42cf677319b2ea22fe8408fbf1d1edfb3b99c1d2c36916a92993069a40ed5f75552d47d88300e283b6aa84 SHA512 5b0cd2472f54188dda13b091f82b257ba926e12065c225ddbde9cab97597baa6d855f09d7352b7d7ee4af8416fc9c3ddb3c75e0c6a0a201b366d047abe47ecef +EBUILD libcupsfilters-2.0.0-r3.ebuild 1607 BLAKE2B 71c325100275ba46d3cd6fcbe992511c8c03f34fe22d6282ed6180572490de7d0ddb12f83d3a4fc9a7dcbd6414a659b47ec9b0bde6cc2a05f898b7b973906a96 SHA512 114b8120157f04c8d2e1852726cecfa048fec5946295a293f73553f11930b41d6bf5a4c2f1711bf05c4fd6a984528eb2299b3fe11691325c4dd52fdfd250715b +EBUILD libcupsfilters-2.0.0-r5.ebuild 1726 BLAKE2B 6f958ce33fd46210b93b14d628cf39d9efb8dfe9318da2921b5627c0400f2555d16e48d50493f523bf1b24de426127ee5375038c83661f411e04dbf8950fe831 SHA512 6bdddedb3fef61e8906a61cd0e01b387abff91513d9c3228d24be1e53507d6b3fc484b3e086b7ea23263741951e8925913c214c572c38679692e6b9658d42e56 +EBUILD libcupsfilters-2.1.0.ebuild 1604 BLAKE2B 842bad037c372e32e181ef8f4d2ae2acd4073c9d66e2eb3b54fa86389771bceaa33e887e2436f00c2bcb0e9c48d65b1eb00047a8146a0d7f7eeb7a75ce727430 SHA512 e5b00a54f2c2cc5d8e1f666acd377b0a513dda5c7af5f0b2631eb8153192f1bdda0dd0940432bd2d11fa0a3a6c440c1bfcaabcb8460a3ca2df9464dda87f50e7 +EBUILD libcupsfilters-2.1_beta1.ebuild 1659 BLAKE2B 6c80f532b72a4d77e4e6aca26b011dddcf1ca2e9334fcd1885055df3da07dd211d632e7416b54436de92f94625f43c1c9b956eb2b9cd6701e7a0b5ee26bf090c SHA512 657452c6cf74ed87b492aa21ee63e65ac0a37074908c043d6a52320acaeb72d58d2e2588aba20bb007c08d6df87c72a288f80315a420fdacaece2743e57de6e3 MISC metadata.xml 426 BLAKE2B 60d605203c938ba35e60bc4dfa121d6fb0223d70fdd1bdea4ed02693034a46ff039a580f5c0a5925aa3c4c33220243503096b8de233f6031447a6425a974182a SHA512 04811e0d82ce0365308b4391a33e03da423dc924cc7ff16a2eeedbdb51705b9a62cffe67d7e25b9221a0b511caaa3b19c184301fbecc59056a282a811ad9df7e diff --git a/net-print/libcupsfilters/files/libcupsfilters-2.1_beta1-CVE-2024-47076.patch b/net-print/libcupsfilters/files/libcupsfilters-2.1_beta1-CVE-2024-47076.patch new file mode 100644 index 000000000000..016d086ea2b1 --- /dev/null +++ b/net-print/libcupsfilters/files/libcupsfilters-2.1_beta1-CVE-2024-47076.patch @@ -0,0 +1,31 @@ +https://bugs.gentoo.org/940313 +https://github.com/OpenPrinting/libcupsfilters/commit/95576ec3d20c109332d14672a807353cdc551018 + +From 95576ec3d20c109332d14672a807353cdc551018 Mon Sep 17 00:00:00 2001 +From: Zdenek Dohnal <zdohnal@redhat.com> +Date: Thu, 26 Sep 2024 23:09:29 +0200 +Subject: [PATCH] cfGetPrinterAttributes5(): Validate response attributes + before return + +The destination can be corrupted or forged, so validate the response +to strenghten security measures. + +Fixes CVE-2024-47076 +--- a/cupsfilters/ipp.c ++++ b/cupsfilters/ipp.c +@@ -404,6 +404,14 @@ cfGetPrinterAttributes5(http_t *http_printer, + ippDelete(response2); + } + } ++ ++ // Check if the response is valid ++ if (!ippValidateAttributes(response)) ++ { ++ ippDelete(response); ++ response = NULL; ++ } ++ + if (have_http == 0) httpClose(http_printer); + if (uri) free(uri); + return (response); + diff --git a/net-print/libcupsfilters/libcupsfilters-2.0.0-r3.ebuild b/net-print/libcupsfilters/libcupsfilters-2.0.0-r3.ebuild index 6a44a004e2a7..b27e2fbd9e9d 100644 --- a/net-print/libcupsfilters/libcupsfilters-2.0.0-r3.ebuild +++ b/net-print/libcupsfilters/libcupsfilters-2.0.0-r3.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/OpenPrinting/libcupsfilters/releases/download/${PV}/ LICENSE="Apache-2.0" SLOT="0" IUSE="dbus exif jpeg pdf +poppler +postscript png test tiff" -KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv sparc x86" RESTRICT="!test? ( test )" diff --git a/net-print/libcupsfilters/libcupsfilters-2.0.0-r5.ebuild b/net-print/libcupsfilters/libcupsfilters-2.0.0-r5.ebuild index aee0c3bce0ec..04765a0c38fa 100644 --- a/net-print/libcupsfilters/libcupsfilters-2.0.0-r5.ebuild +++ b/net-print/libcupsfilters/libcupsfilters-2.0.0-r5.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://github.com/OpenPrinting/libcupsfilters/releases/download/${PV}/ LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86" +KEYWORDS="amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv sparc x86" IUSE="dbus exif jpeg pdf +poppler +postscript png test tiff" RESTRICT="!test? ( test )" diff --git a/net-print/libcupsfilters/libcupsfilters-2.1.0.ebuild b/net-print/libcupsfilters/libcupsfilters-2.1.0.ebuild new file mode 100644 index 000000000000..3d1bc26157a0 --- /dev/null +++ b/net-print/libcupsfilters/libcupsfilters-2.1.0.ebuild @@ -0,0 +1,71 @@ +# 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/_beta/b}/${P/_beta/b}.tar.xz" +S="${WORKDIR}"/${P/_beta/b} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~hppa ~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 ) +" + +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 +} diff --git a/net-print/libcupsfilters/libcupsfilters-2.1_beta1.ebuild b/net-print/libcupsfilters/libcupsfilters-2.1_beta1.ebuild new file mode 100644 index 000000000000..fa165e095afd --- /dev/null +++ b/net-print/libcupsfilters/libcupsfilters-2.1_beta1.ebuild @@ -0,0 +1,75 @@ +# 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/_beta/b}/${P/_beta/b}.tar.xz" +S="${WORKDIR}"/${P/_beta/b} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~hppa ~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}-CVE-2024-47076.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 +} diff --git a/net-print/libppd/Manifest b/net-print/libppd/Manifest index 049d2ca5deb7..a2ba4d856528 100644 --- a/net-print/libppd/Manifest +++ b/net-print/libppd/Manifest @@ -1,4 +1,10 @@ AUX libppd-2.0.0-slibtool.patch 2191 BLAKE2B 2a88a48542355d5f4189685979cd1cc24a992c4ad6c803e28d2420e7f974b962050d186d5cd7ec1642d22ac200137fe74e143df2270259d30ee6e30ee05e28b5 SHA512 d169bfaf4dd40917b197aa6d00b4ad9b1ad5d010781d492205c2656621bcadc1792ca5f589be97f8b9e15f431820c8af1c40cae5bf7fbf9fd14df8377cb1484a +AUX libppd-2.1_beta1-CVE-2024-47175.patch 22061 BLAKE2B 65b926bd5853f2f1cb6882412a21fc21e2a5440177efea99c5bdd887559f6fa5c941142c5525504459176504f18d11a90e89f786d23eb266d4c9df8a6832088b SHA512 59f4a0bb466b7cae7c5b38df7a3e3c761722defc395f8151ee80b840f67525743072a8df204514c51f6e687facb6ce32543c9f50bd123b5cddcaf7914dbf71dc DIST libppd-2.0.0.tar.xz 580716 BLAKE2B 8505c5ab5b515104308624a8f78505343b894df08ab8ac2727d7bd82d0d65d256d22ecaf384b212d9a5c45d2a619a6311722a8c5ed954b7a8a9780477aedb458 SHA512 8be9e67552528606fd804ba13b05710938ed7d02316c1c902ee657bc0e5fade663ffacb5b032609a1c1fdc80d976e7e54d2ca2f71db83cb8fdcee6a371e6bad4 -EBUILD libppd-2.0.0.ebuild 1545 BLAKE2B e1cc087f4eb46fd1c489e5c9fe58c09d56369f9537232e48934f29c566b01c4bb164b699c89d4fb3658bdf6b16feba93726f03fd43c5d2acb01582524fb27f8a SHA512 f13b2ad4281893a929a6a228c0a67f1af9f281a8a6ab863c00e40a06b6c737b7bf1f1ed330da14be234525a88b63b40d2aa60976d972cc39a6d195d111f3bb6c +DIST libppd-2.1.0.tar.xz 585288 BLAKE2B 87d325a659b98e2f489673fd2eb78daec83eafee990008380d852be17fbd990e4daa4a16bd5dc1e3a562040595b858c90d0747d815db0fb97fdccf97a3d4aa49 SHA512 06daf9149910298b2acd103c58f8bd345180219e42fab7dbc162b8370492e28b7bcecc6d72192fc8d053ec245a270d1901812662dd50687ff5b327a40ac0f475 +DIST libppd-2.1b1.tar.xz 583692 BLAKE2B f9889ba7758097d2f794b16bdd74758223036daa8e49b191d07789e36ad7e2d69693c9ebb0b89c1c52f23f90fee8b56e1532246da90b1898caf1c557a416c20c SHA512 2b1ab3444f9de4a856f116aae83fd2aaa61adec9862bdd6dcff5fe2672e593b1e69e4da3638994ac4762dcc0e2640c5e3cbf3af247017d3790f01ef10395f54a +EBUILD libppd-2.0.0.ebuild 1539 BLAKE2B 98c5a87008151ab86a9aa4fcc788576063ae9d53d59acbbfbf44352b0e15d7fb8460a5395ca557bf5e995298a4c55c1f8f9156dc836368debc761518ae8e84fc SHA512 d3265c1eccc7ee79634e51f1aca38b3016c327434ff3b564195f73bd59853d1f80de6c968ed638eb7c8d3fbab4ff0d06a5b9aeadb6bfc30a91ed46d7016e51d3 +EBUILD libppd-2.1.0.ebuild 1556 BLAKE2B 8d767e461d5f2f77fcbdee876394625ba73dc062e20884d8f1f8554d0785e88113fad0aac62dcc63576290266981e1c8d282dc27ac75032585f2f06af088dbed SHA512 8c04eabc6ace06720a3c26839f83b790ebe44fb398aa6892f6c0b81591221dad693ab46960051e80d3d4166aecf94c5c50f2a51941402df0162840704b4f3be3 +EBUILD libppd-2.1_beta1-r1.ebuild 1604 BLAKE2B efac40235db741e0ffed8aeb911852b677620415fce0cdd925a97301596a2f5d9242bd99fbd10a6b01d21dab22acd93ef5264e903faf6018451c017b9d073f8d SHA512 549ad4e9c6923f28ba0f8e441e59226c4a9b19ffc571ac243e2900285997ea51056226796e027a4d73e2cc286e4990cd3bb01cb4b61868a461f4e7f240e44047 +EBUILD libppd-2.1_beta1.ebuild 1556 BLAKE2B 8d767e461d5f2f77fcbdee876394625ba73dc062e20884d8f1f8554d0785e88113fad0aac62dcc63576290266981e1c8d282dc27ac75032585f2f06af088dbed SHA512 8c04eabc6ace06720a3c26839f83b790ebe44fb398aa6892f6c0b81591221dad693ab46960051e80d3d4166aecf94c5c50f2a51941402df0162840704b4f3be3 MISC metadata.xml 440 BLAKE2B 8cc1e3fa25d2c12efb0253a37a0dedb484fcac5930deacd37bc09534e9210e72e58669a07efc0d40612a428d190b852064f6175083c852a8b3a4153101483905 SHA512 79801ac1a34f4e5fc46bd8c45c638dccde3168c701dfaffb51d626405e77fe0e8fa190b32c0b76150e51197223363dea0163086f172b0dccccd0c94fc5cb2d0b diff --git a/net-print/libppd/files/libppd-2.1_beta1-CVE-2024-47175.patch b/net-print/libppd/files/libppd-2.1_beta1-CVE-2024-47175.patch new file mode 100644 index 000000000000..60817509cdb3 --- /dev/null +++ b/net-print/libppd/files/libppd-2.1_beta1-CVE-2024-47175.patch @@ -0,0 +1,560 @@ +https://bugs.gentoo.org/940314 +https://github.com/OpenPrinting/libppd/commit/d681747ebf12602cb426725eb8ce2753211e2477 + +From d681747ebf12602cb426725eb8ce2753211e2477 Mon Sep 17 00:00:00 2001 +From: Zdenek Dohnal <zdohnal@redhat.com> +Date: Thu, 26 Sep 2024 23:12:14 +0200 +Subject: [PATCH] Prevent PPD generation based on invalid IPP response + +Author: Mike Sweet +Minor fixes: Zdenek Dohnal + +Fixes CVE-2024-47175 +--- a/ppd/ppd-cache.c ++++ b/ppd/ppd-cache.c +@@ -3434,7 +3435,7 @@ ppdCacheGetBin( + + // + // Range check input... +- ++ + + if (!pc || !output_bin) + return (NULL); +@@ -3935,7 +3936,7 @@ ppdCacheGetPageSize( + { + // + // Check not only the base size (like "A4") but also variants (like +- // "A4.Borderless"). We check only the margins and orientation but do ++ // "A4.Borderless"). We check only the margins and orientation but do + // not re-check the size. + // + +@@ -4776,7 +4777,7 @@ ppdPwgPpdizeName(const char *ipp, // I - IPP keyword + *end; // End of name buffer + + +- if (!ipp) ++ if (!ipp || !_ppd_isalnum(*ipp)) + { + *name = '\0'; + return; +@@ -4786,13 +4787,19 @@ ppdPwgPpdizeName(const char *ipp, // I - IPP keyword + + for (ptr = name + 1, end = name + namesize - 1; *ipp && ptr < end;) + { +- if (*ipp == '-' && _ppd_isalnum(ipp[1])) ++ if (*ipp == '-' && isalnum(ipp[1])) + { + ipp ++; + *ptr++ = (char)toupper(*ipp++ & 255); + } +- else ++ else if (*ipp == '_' || *ipp == '.' || *ipp == '-' || isalnum(*ipp)) ++ { + *ptr++ = *ipp++; ++ } ++ else ++ { ++ ipp ++; ++ } + } + + *ptr = '\0'; +--- a/ppd/ppd-generator.c ++++ b/ppd/ppd-generator.c +@@ -71,6 +72,7 @@ typedef struct _ppd_size_s // **** Media Size (cups_size_t of lib + + static int http_connect(http_t **http, const char *url, char *resource, + size_t ressize); ++static void ppd_put_string(cups_file_t *fp, cups_lang_t *lang, const char *ppd_option, const char *ppd_choice, const char *pwg_msgid); + + + // +@@ -80,7 +82,7 @@ static int http_connect(http_t **http, const char *url, char *resource, + // than CUPS 2.2.x. We have also an additional test and development + // platform for this code. Taken from cups/ppd-cache.c, + // cups/string-private.h, cups/string.c. +-// ++// + // The advantage of PPD generation instead of working with System V + // interface scripts is that the print dialogs of the clients do not + // need to ask the printer for its options via IPP. So we have access +@@ -144,7 +146,7 @@ char ppdgenerator_msg[1024]; + // IPP 1.x legacy) + // + +-char * // O - PPD filename or NULL ++char * // O - PPD filename or NULL + // on error + ppdCreatePPDFromIPP(char *buffer, // I - Filename buffer + size_t bufsize, // I - Size of filename +@@ -195,7 +197,7 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + cups_array_t *conflicts, // I - Array of + // constraints + cups_array_t *sizes, // I - Media sizes we've +- // added ++ // added + char* default_pagesize, // I - Default page size + const char *default_cluster_color, // I - cluster def + // color (if cluster's +@@ -207,6 +209,7 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + size_t status_msg_size) // I - Size of status + // message buffer + { ++ cups_lang_t *lang; // Localization language + cups_file_t *fp; // PPD file + cups_array_t *printer_sizes; // Media sizes we've added + _ppd_size_t *size; // Current media size +@@ -219,9 +222,10 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + ipp_t *media_col, // Media collection + *media_size; // Media size collection + char make[256], // Make and model +- *model, // Model name ++ *mptr, // Pointer into make and model + ppdname[PPD_MAX_NAME]; + // PPD keyword ++ const char *model; // Model name + int i, j, // Looping vars + count = 0, // Number of values + bottom, // Largest bottom margin +@@ -303,6 +307,68 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + return (NULL); + } + ++ // ++ // Get a sanitized make and model... ++ // ++ ++ if ((attr = ippFindAttribute(supported, "printer-make-and-model", IPP_TAG_TEXT)) != NULL && ippValidateAttribute(attr)) ++ { ++ // Sanitize the model name to only contain PPD-safe characters. ++ strlcpy(make, ippGetString(attr, 0, NULL), sizeof(make)); ++ ++ for (mptr = make; *mptr; mptr ++) ++ { ++ if (*mptr < ' ' || *mptr >= 127 || *mptr == '\"') ++ { ++ // Truncate the make and model on the first bad character... ++ *mptr = '\0'; ++ break; ++ } ++ } ++ ++ while (mptr > make) ++ { ++ // Strip trailing whitespace... ++ mptr --; ++ if (*mptr == ' ') ++ *mptr = '\0'; ++ } ++ ++ if (!make[0]) ++ { ++ // Use a default make and model if nothing remains... ++ strlcpy(make, "Unknown", sizeof(make)); ++ } ++ } ++ else ++ { ++ // Use a default make and model... ++ strlcpy(make, "Unknown", sizeof(make)); ++ } ++ ++ if (!strncasecmp(make, "Hewlett Packard ", 16) || !strncasecmp(make, "Hewlett-Packard ", 16)) ++ { ++ // Normalize HP printer make and model... ++ model = make + 16; ++ strlcpy(make, "HP", sizeof(make)); ++ ++ if (!strncasecmp(model, "HP ", 3)) ++ model += 3; ++ } ++ else if ((mptr = strchr(make, ' ')) != NULL) ++ { ++ // Separate "MAKE MODEL"... ++ while (*mptr && *mptr == ' ') ++ *mptr++ = '\0'; ++ ++ model = mptr; ++ } ++ else ++ { ++ // No separate model name... ++ model = "Printer"; ++ } ++ + // + // Standard stuff for PPD file... + // +@@ -331,25 +397,6 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + } + } + +- if ((attr = ippFindAttribute(supported, "printer-make-and-model", +- IPP_TAG_TEXT)) != NULL) +- strlcpy(make, ippGetString(attr, 0, NULL), sizeof(make)); +- else if (make_model && make_model[0] != '\0') +- strlcpy(make, make_model, sizeof(make)); +- else +- strlcpy(make, "Unknown Printer", sizeof(make)); +- +- if (!strncasecmp(make, "Hewlett Packard ", 16) || +- !strncasecmp(make, "Hewlett-Packard ", 16)) +- { +- model = make + 16; +- strlcpy(make, "HP", sizeof(make)); +- } +- else if ((model = strchr(make, ' ')) != NULL) +- *model++ = '\0'; +- else +- model = make; +- + cupsFilePrintf(fp, "*Manufacturer: \"%s\"\n", make); + cupsFilePrintf(fp, "*ModelName: \"%s %s\"\n", make, model); + cupsFilePrintf(fp, "*Product: \"(%s %s)\"\n", make, model); +@@ -445,21 +492,19 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + } + cupsFilePuts(fp, "\"\n"); + +- if ((attr = ippFindAttribute(supported, "printer-more-info", IPP_TAG_URI)) != +- NULL) ++ if ((attr = ippFindAttribute(supported, "printer-more-info", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr)) + cupsFilePrintf(fp, "*APSupplies: \"%s\"\n", ippGetString(attr, 0, NULL)); + +- if ((attr = ippFindAttribute(supported, "printer-charge-info-uri", +- IPP_TAG_URI)) != NULL) +- cupsFilePrintf(fp, "*cupsChargeInfoURI: \"%s\"\n", ippGetString(attr, 0, +- NULL)); ++ if ((attr = ippFindAttribute(supported, "printer-charge-info-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr)) ++ cupsFilePrintf(fp, "*cupsChargeInfoURI: \"%s\"\n", ippGetString(attr, 0, NULL)); + + // Message catalogs for UI strings ++ lang = cupsLangDefault(); + opt_strings_catalog = cfCatalogOptionArrayNew(); + cfCatalogLoad(NULL, NULL, opt_strings_catalog); + + if ((attr = ippFindAttribute(supported, "printer-strings-uri", +- IPP_TAG_URI)) != NULL) ++ IPP_TAG_URI)) != NULL && ippValidateAttribute(attr)) + { + printer_opt_strings_catalog = cfCatalogOptionArrayNew(); + cfCatalogLoad(ippGetString(attr, 0, NULL), NULL, +@@ -512,7 +557,7 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + response = cupsDoRequest(http, request, resource); + + if ((attr = ippFindAttribute(response, "printer-strings-uri", +- IPP_TAG_URI)) != NULL) ++ IPP_TAG_URI)) != NULL && ippValidateAttribute(attr)) + cupsFilePrintf(fp, "*cupsStringsURI %s: \"%s\"\n", keyword, + ippGetString(attr, 0, NULL)); + +@@ -538,13 +583,10 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + IPP_TAG_BOOLEAN), 0)) + cupsFilePuts(fp, "*cupsJobAccountingUserId: True\n"); + +- if ((attr = ippFindAttribute(supported, "printer-privacy-policy-uri", +- IPP_TAG_URI)) != NULL) +- cupsFilePrintf(fp, "*cupsPrivacyURI: \"%s\"\n", +- ippGetString(attr, 0, NULL)); ++ if ((attr = ippFindAttribute(supported, "printer-privacy-policy-uri", IPP_TAG_URI)) != NULL && ippValidateAttribute(attr)) ++ cupsFilePrintf(fp, "*cupsPrivacyURI: \"%s\"\n", ippGetString(attr, 0, NULL)); + +- if ((attr = ippFindAttribute(supported, "printer-mandatory-job-attributes", +- IPP_TAG_KEYWORD)) != NULL) ++ if ((attr = ippFindAttribute(supported, "printer-mandatory-job-attributes", IPP_TAG_KEYWORD)) != NULL && ippValidateAttribute(attr)) + { + char prefix = '\"'; // Prefix for string + +@@ -564,8 +606,7 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + cupsFilePuts(fp, "\"\n"); + } + +- if ((attr = ippFindAttribute(supported, "printer-requested-job-attributes", +- IPP_TAG_KEYWORD)) != NULL) ++ if ((attr = ippFindAttribute(supported, "printer-requested-job-attributes", IPP_TAG_KEYWORD)) != NULL && ippValidateAttribute(attr)) + { + char prefix = '\"'; // Prefix for string + +@@ -684,7 +725,7 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + } + + // +- // Fax ++ // Fax + // + + if (is_fax) +@@ -734,21 +775,21 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + else if (cupsArrayFind(pdl_list, "image/urf") && + (ippFindAttribute(supported, "urf-supported", IPP_TAG_KEYWORD) != NULL)) + { +- int resStore = 0; // Variable for storing the no. of resolutions in the resolution array ++ int resStore = 0; // Variable for storing the no. of resolutions in the resolution array + int resArray[__INT16_MAX__]; // Creating a resolution array supporting a maximum of 32767 resolutions. + int lowdpi = 0, middpi = 0, hidpi = 0; // Lower , middle and higher resolution + if ((attr = ippFindAttribute(supported, "urf-supported", + IPP_TAG_KEYWORD)) != NULL) + { + for (int i = 0, count = ippGetCount(attr); i < count; i ++) +- { ++ { + const char *rs = ippGetString(attr, i, NULL); // RS values +- const char *rsCopy = ippGetString(attr, i, NULL); // RS values(copy) ++ const char *rsCopy = ippGetString(attr, i, NULL); // RS values(copy) + if (strncasecmp(rs, "RS", 2)) // Comparing attributes to have RS in + // the beginning to indicate the + // resolution feature + continue; +- int resCount = 0; // Using a count variable which can be reset ++ int resCount = 0; // Using a count variable which can be reset + while (*rsCopy != '\0') // Parsing through the copy pointer to + // determine the no. of resolutions + { +@@ -846,7 +887,7 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + formatfound = 1; + is_apple = 1; + } +- } ++ } + } + } + } +@@ -924,7 +965,7 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + if (manual_copies == 1) + cupsFilePuts(fp, "*cupsManualCopies: True\n"); + +- // No resolution requirements by any of the supported PDLs? ++ // No resolution requirements by any of the supported PDLs? + // Use "printer-resolution-supported" attribute + if (common_res == NULL) + { +@@ -1042,7 +1083,7 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + // + // PageSize/PageRegion/ImageableArea/PaperDimension + // +- ++ + cfGenerateSizes(supported, CF_GEN_SIZES_DEFAULT, &printer_sizes, &defattr, + NULL, NULL, NULL, NULL, NULL, NULL, + &min_width, &min_length, +@@ -1421,15 +1462,15 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + if (!strcmp(sources[j], keyword)) + break; + if (j >= 0) +- cupsFilePrintf(fp, "*InputSlot %s%s%s: \"<</MediaPosition %d>>setpagedevice\"\n", +- ppdname, +- (human_readable ? "/" : ""), +- (human_readable ? human_readable : ""), j); ++ { ++ cupsFilePrintf(fp, "*InputSlot %s: \"<</MediaPosition %d>>setpagedevice\"\n", ppdname, j); ++ ppd_put_string(fp, lang, "InputSlot", ppdname, human_readable); ++ } + else +- cupsFilePrintf(fp, "*InputSlot %s%s%s: \"\"\n", +- ppdname, +- (human_readable ? "/" : ""), +- (human_readable ? human_readable : "")); ++ { ++ cupsFilePrintf(fp, "*InputSlot %s%s%s:\"\"\n", ppdname, human_readable ? "/" : "", human_readable ? human_readable : ""); ++ ppd_put_string(fp, lang, "InputSlot", ppdname, human_readable); ++ } + } + cupsFilePuts(fp, "*CloseUI: *InputSlot\n"); + } +@@ -1464,11 +1505,8 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + human_readable = cfCatalogLookUpChoice((char *)keyword, "media-type", + opt_strings_catalog, + printer_opt_strings_catalog); +- cupsFilePrintf(fp, "*MediaType %s%s%s: \"<</MediaType(%s)>>setpagedevice\"\n", +- ppdname, +- (human_readable ? "/" : ""), +- (human_readable ? human_readable : ""), +- ppdname); ++ cupsFilePrintf(fp, "*MediaType %s: \"<</MediaType(%s)>>setpagedevice\"\n", ppdname, ppdname); ++ ppd_put_string(fp, lang, "MediaType", ppdname, human_readable); + } + cupsFilePuts(fp, "*CloseUI: *MediaType\n"); + } +@@ -1791,10 +1829,8 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + human_readable = cfCatalogLookUpChoice((char *)keyword, "output-bin", + opt_strings_catalog, + printer_opt_strings_catalog); +- cupsFilePrintf(fp, "*OutputBin %s%s%s: \"\"\n", +- ppdname, +- (human_readable ? "/" : ""), +- (human_readable ? human_readable : "")); ++ cupsFilePrintf(fp, "*OutputBin %s: \"\"\n", ppdname); ++ ppd_put_string(fp, lang, "OutputBin", ppdname, human_readable); + outputorderinfofound = 0; + faceupdown = 1; + firsttolast = 1; +@@ -1848,7 +1884,7 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + + // + // Finishing options... +- // ++ // + + if ((attr = ippFindAttribute(supported, "finishings-supported", + IPP_TAG_ENUM)) != NULL) +@@ -1973,9 +2009,8 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + human_readable = cfCatalogLookUpChoice(buf, "finishings", + opt_strings_catalog, + printer_opt_strings_catalog); +- cupsFilePrintf(fp, "*StapleLocation %s%s%s: \"\"\n", ppd_keyword, +- (human_readable ? "/" : ""), +- (human_readable ? human_readable : "")); ++ cupsFilePrintf(fp, "*StapleLocation %s: \"\"\n", ppd_keyword); ++ ppd_put_string(fp, lang, "StapleLocation", ppd_keyword, human_readable); + cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*StapleLocation %s\"\n", + value, keyword, ppd_keyword); + } +@@ -2065,9 +2100,8 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + human_readable = cfCatalogLookUpChoice(buf, "finishings", + opt_strings_catalog, + printer_opt_strings_catalog); +- cupsFilePrintf(fp, "*FoldType %s%s%s: \"\"\n", ppd_keyword, +- (human_readable ? "/" : ""), +- (human_readable ? human_readable : "")); ++ cupsFilePrintf(fp, "*FoldType %s: \"\"\n", ppd_keyword); ++ ppd_put_string(fp, lang, "FoldType", ppd_keyword, human_readable); + cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*FoldType %s\"\n", + value, keyword, ppd_keyword); + } +@@ -2164,9 +2198,8 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + human_readable = cfCatalogLookUpChoice(buf, "finishings", + opt_strings_catalog, + printer_opt_strings_catalog); +- cupsFilePrintf(fp, "*PunchMedia %s%s%s: \"\"\n", ppd_keyword, +- (human_readable ? "/" : ""), +- (human_readable ? human_readable : "")); ++ cupsFilePrintf(fp, "*PunchMedia %s: \"\"\n", ppd_keyword); ++ ppd_put_string(fp, lang, "PunchMedia", ppd_keyword, human_readable); + cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*PunchMedia %s\"\n", + value, keyword, ppd_keyword); + } +@@ -2257,9 +2290,8 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + human_readable = cfCatalogLookUpChoice(buf, "finishings", + opt_strings_catalog, + printer_opt_strings_catalog); +- cupsFilePrintf(fp, "*CutMedia %s%s%s: \"\"\n", ppd_keyword, +- (human_readable ? "/" : ""), +- (human_readable ? human_readable : "")); ++ cupsFilePrintf(fp, "*CutMedia %s: \"\"\n", ppd_keyword); ++ ppd_put_string(fp, lang, "CutMedia", ppd_keyword, human_readable); + cupsFilePrintf(fp, "*cupsIPPFinishings %d/%s: \"*CutMedia %s\"\n", + value, keyword, ppd_keyword); + } +@@ -2283,7 +2315,7 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + cupsFilePrintf(fp, "*OpenUI *cupsFinishingTemplate/%s: PickOne\n", + (human_readable ? human_readable : "Finishing Template")); + cupsFilePuts(fp, "*OrderDependency: 10 AnySetup *cupsFinishingTemplate\n"); +- cupsFilePuts(fp, "*DefaultcupsFinishingTemplate: none\n"); ++ cupsFilePuts(fp, "*DefaultcupsFinishingTemplate: None\n"); + human_readable = cfCatalogLookUpChoice("3", "finishings", + opt_strings_catalog, + printer_opt_strings_catalog); +@@ -2314,8 +2346,9 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + printer_opt_strings_catalog); + if (human_readable == NULL) + human_readable = (char *)keyword; +- cupsFilePrintf(fp, "*cupsFinishingTemplate %s/%s: \"\n", keyword, +- human_readable); ++ ppdPwgPpdizeName(keyword, ppdname, sizeof(ppdname)); ++ cupsFilePrintf(fp, "*cupsFinishingTemplate %s: \"\n", ppdname); ++ ppd_put_string(fp, lang, "cupsFinishingTemplate", ppdname, human_readable); + for (finishing_attr = ippGetFirstAttribute(finishing_col); finishing_attr; + finishing_attr = ippGetNextAttribute(finishing_col)) { + if (ippGetValueTag(finishing_attr) == IPP_TAG_BEGIN_COLLECTION) { +@@ -2579,14 +2612,14 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + if (!preset || !preset_name) + continue; + +- if ((localized_name = ++ ppdPwgPpdizeName(preset_name, ppdname, sizeof(ppdname)); ++ ++ localized_name = + cfCatalogLookUpOption((char *)preset_name, + opt_strings_catalog, +- printer_opt_strings_catalog)) == NULL) +- cupsFilePrintf(fp, "*APPrinterPreset %s: \"\n", preset_name); +- else +- cupsFilePrintf(fp, "*APPrinterPreset %s/%s: \"\n", preset_name, +- localized_name); ++ printer_opt_strings_catalog); ++ cupsFilePrintf(fp, "*APPrinterPreset %s: \"\n", ppdname); ++ ppd_put_string(fp, lang, "APPrinterPreset", ppdname, localized_name); + + for (member = ippGetFirstAttribute(preset); member; + member = ippGetNextAttribute(preset)) +@@ -2635,7 +2668,10 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + ippGetString(ippFindAttribute(fin_col, + "finishing-template", + IPP_TAG_ZERO), 0, NULL)) != NULL) +- cupsFilePrintf(fp, "*cupsFinishingTemplate %s\n", keyword); ++ { ++ ppdPwgPpdizeName(keyword, ppdname, sizeof(ppdname)); ++ cupsFilePrintf(fp, "*cupsFinishingTemplate %s\n", ppdname); ++ } + } + } + else if (!strcmp(member_name, "media")) +@@ -2674,7 +2710,7 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + NULL)) != NULL) + { + ppdPwgPpdizeName(keyword, ppdname, sizeof(ppdname)); +- cupsFilePrintf(fp, "*InputSlot %s\n", keyword); ++ cupsFilePrintf(fp, "*InputSlot %s\n", ppdname); + } + + if ((keyword = ippGetString(ippFindAttribute(media_col, "media-type", +@@ -2682,7 +2718,7 @@ ppdCreatePPDFromIPP2(char *buffer, // I - Filename buffer + NULL)) != NULL) + { + ppdPwgPpdizeName(keyword, ppdname, sizeof(ppdname)); +- cupsFilePrintf(fp, "*MediaType %s\n", keyword); ++ cupsFilePrintf(fp, "*MediaType %s\n", ppdname); + } + } + else if (!strcmp(member_name, "print-quality")) +@@ -2832,3 +2868,38 @@ http_connect(http_t **http, // IO - Current HTTP connection + + return (*http != NULL); + } ++ ++ ++/* ++ * 'ppd_put_strings()' - Write localization attributes to a PPD file. ++ */ ++ ++static void ++ppd_put_string(cups_file_t *fp, /* I - PPD file */ ++ cups_lang_t *lang, /* I - Language */ ++ const char *ppd_option,/* I - PPD option */ ++ const char *ppd_choice,/* I - PPD choice */ ++ const char *text) /* I - Localized text */ ++{ ++ if (!text) ++ return; ++ ++ // Add the first line of localized text... ++#if CUPS_VERSION_MAJOR > 2 ++ cupsFilePrintf(fp, "*%s.%s %s/", cupsLangGetName(lang), ppd_option, ppd_choice); ++#else ++ cupsFilePrintf(fp, "*%s.%s %s/", lang->language, ppd_option, ppd_choice); ++#endif // CUPS_VERSION_MAJOR > 2 ++ ++ while (*text && *text != '\n') ++ { ++ // Escape ":" and "<"... ++ if (*text == ':' || *text == '<') ++ cupsFilePrintf(fp, "<%02X>", *text); ++ else ++ cupsFilePutChar(fp, *text); ++ ++ text ++; ++ } ++ cupsFilePuts(fp, ": \"\"\n"); ++} + diff --git a/net-print/libppd/libppd-2.0.0.ebuild b/net-print/libppd/libppd-2.0.0.ebuild index 431deb11dbfc..dff811230b6f 100644 --- a/net-print/libppd/libppd-2.0.0.ebuild +++ b/net-print/libppd/libppd-2.0.0.ebuild @@ -12,7 +12,7 @@ SRC_URI="https://github.com/OpenPrinting/libppd/releases/download/${PV}/${P}.tar LICENSE="Apache-2.0" SLOT="0" IUSE="+postscript +poppler" -KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86" +KEYWORDS="amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv sparc x86" # pdftops has various possible implementations, but the default # really needs to be decent diff --git a/net-print/libppd/libppd-2.1.0.ebuild b/net-print/libppd/libppd-2.1.0.ebuild new file mode 100644 index 000000000000..577c98a38e63 --- /dev/null +++ b/net-print/libppd/libppd-2.1.0.ebuild @@ -0,0 +1,61 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool + +DESCRIPTION="Legacy library for PPD files, split out of cups-filters" +HOMEPAGE="https://github.com/OpenPrinting/libppd" +SRC_URI="https://github.com/OpenPrinting/libppd/releases/download/${PV/_beta/b}/${P/_beta/b}.tar.xz" +S="${WORKDIR}"/${P/_beta/b} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="+postscript +poppler" + +# pdftops has various possible implementations, but the default +# really needs to be decent +REQUIRED_USE="|| ( postscript poppler )" + +RDEPEND=" + >=net-print/cups-2 + net-print/libcupsfilters + !<net-print/cups-filters-2.0.0 + sys-libs/zlib + postscript? ( >=app-text/ghostscript-gpl-9.09[cups] ) + poppler? ( >=app-text/poppler-0.32[utils] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig +" + +src_prepare() { + default + elibtoolize +} + +src_configure() { + local myeconfargs=( + --localstatedir="${EPREFIX}"/var + --with-cups-rundir="${EPREFIX}"/run/cups + # This does build time checks for (preferred) tool interfaces. + $(use_enable postscript ghostscript) + $(use_enable poppler pdftops) + # These fallbacks are just probed for the path. Always enable them. + --with-mutool-path="${EPREFIX}"/usr/bin/mutool + --with-pdftocairo-path="${EPREFIX}"/usr/bin/pdftocairo # from poppler + # unpackaged + --disable-acroread + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} diff --git a/net-print/libppd/libppd-2.1_beta1-r1.ebuild b/net-print/libppd/libppd-2.1_beta1-r1.ebuild new file mode 100644 index 000000000000..29d10e2d9447 --- /dev/null +++ b/net-print/libppd/libppd-2.1_beta1-r1.ebuild @@ -0,0 +1,65 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool + +DESCRIPTION="Legacy library for PPD files, split out of cups-filters" +HOMEPAGE="https://github.com/OpenPrinting/libppd" +SRC_URI="https://github.com/OpenPrinting/libppd/releases/download/${PV/_beta/b}/${P/_beta/b}.tar.xz" +S="${WORKDIR}"/${P/_beta/b} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" +IUSE="+postscript +poppler" + +# pdftops has various possible implementations, but the default +# really needs to be decent +REQUIRED_USE="|| ( postscript poppler )" + +RDEPEND=" + >=net-print/cups-2 + net-print/libcupsfilters + !<net-print/cups-filters-2.0.0 + sys-libs/zlib + postscript? ( >=app-text/ghostscript-gpl-9.09[cups] ) + poppler? ( >=app-text/poppler-0.32[utils] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}"/${P}-CVE-2024-47175.patch +) + +src_prepare() { + default + elibtoolize +} + +src_configure() { + local myeconfargs=( + --localstatedir="${EPREFIX}"/var + --with-cups-rundir="${EPREFIX}"/run/cups + # This does build time checks for (preferred) tool interfaces. + $(use_enable postscript ghostscript) + $(use_enable poppler pdftops) + # These fallbacks are just probed for the path. Always enable them. + --with-mutool-path="${EPREFIX}"/usr/bin/mutool + --with-pdftocairo-path="${EPREFIX}"/usr/bin/pdftocairo # from poppler + # unpackaged + --disable-acroread + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} diff --git a/net-print/libppd/libppd-2.1_beta1.ebuild b/net-print/libppd/libppd-2.1_beta1.ebuild new file mode 100644 index 000000000000..577c98a38e63 --- /dev/null +++ b/net-print/libppd/libppd-2.1_beta1.ebuild @@ -0,0 +1,61 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit libtool + +DESCRIPTION="Legacy library for PPD files, split out of cups-filters" +HOMEPAGE="https://github.com/OpenPrinting/libppd" +SRC_URI="https://github.com/OpenPrinting/libppd/releases/download/${PV/_beta/b}/${P/_beta/b}.tar.xz" +S="${WORKDIR}"/${P/_beta/b} + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="+postscript +poppler" + +# pdftops has various possible implementations, but the default +# really needs to be decent +REQUIRED_USE="|| ( postscript poppler )" + +RDEPEND=" + >=net-print/cups-2 + net-print/libcupsfilters + !<net-print/cups-filters-2.0.0 + sys-libs/zlib + postscript? ( >=app-text/ghostscript-gpl-9.09[cups] ) + poppler? ( >=app-text/poppler-0.32[utils] ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig +" + +src_prepare() { + default + elibtoolize +} + +src_configure() { + local myeconfargs=( + --localstatedir="${EPREFIX}"/var + --with-cups-rundir="${EPREFIX}"/run/cups + # This does build time checks for (preferred) tool interfaces. + $(use_enable postscript ghostscript) + $(use_enable poppler pdftops) + # These fallbacks are just probed for the path. Always enable them. + --with-mutool-path="${EPREFIX}"/usr/bin/mutool + --with-pdftocairo-path="${EPREFIX}"/usr/bin/pdftocairo # from poppler + # unpackaged + --disable-acroread + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die +} |