[gentoo-dev] Package up for grabs: net-dns/opendnssec
Hi, net-dns/opendnssec needs a new maintainer as I am not using it anymore. Current version is in tree now and works fine. Three open bugs exist: One for failing tests and two for future compiler compatibilty. -Marc
[gentoo-dev] Packages up for grabs: net-misc/seafile-client, net-misc/seafile, net-libs/libsearpc
Hi, Packages up for grabs because the proxied maintainer no longer uses them. There are 3 open bugs and a pkgcheck issue about using a deprecated Python dep: dev-python/future. net-misc/seafile-client net-misc/seafile net-libs/libsearpc Regards, Viorel.
Re: [gentoo-dev-announce] Re: [gentoo-dev] Last rites: app-text/gocr, media-video/subtitleripper
Sorry, the subject should've included gocr. On Sat, Nov 25, 2023 at 07:12:40AM -0800, John Helmert III wrote: # John Helmert III (2023-11-24) # Multiple vulnerabilities, unmaintained upstream and in Gentoo. # subtitleripper included as sole reverse dependency, similarly # unmaintained, and with no other reverse dependencies. # Removal on 2023-12-24, bug #824290. app-text/gocr media-video/subtitleripper media-gfx/xsane ocr depends on app-text/gocr https://gitweb.gentoo.org/repo/gentoo.git/tree/media-gfx/xsane/xsane-0.999-r5.ebuild#n34 -- Best, Jonas
Re: [gentoo-dev-announce] Re: [gentoo-dev] Last rites: app-text/gocr, media-video/subtitleripper
Jonas Stein writes: >> Sorry, the subject should've included gocr. > >> On Sat, Nov 25, 2023 at 07:12:40AM -0800, John Helmert III wrote: >>> # John Helmert III (2023-11-24) >>> # Multiple vulnerabilities, unmaintained upstream and in Gentoo. >>> # subtitleripper included as sole reverse dependency, similarly >>> # unmaintained, and with no other reverse dependencies. >>> # Removal on 2023-12-24, bug #824290. >>> app-text/gocr >>> media-video/subtitleripper > > > media-gfx/xsane ocr depends on app-text/gocr > > https://gitweb.gentoo.org/repo/gentoo.git/tree/media-gfx/xsane/xsane-0.999-r5.ebuild#n34 ... and media-gfx/xsane[ocr] is masked, so there's no problem.
[gentoo-dev] [RFC PATCH 00/10] Upgrading cups-filters to 2.0.0
I've been working with Sam for a bit on this update. It's a bit of a fiddly one, as a lot of stuff has changed upstream. It's probably best described via my proposed news post. Please review. It would also be quite nice to get a bit of testing -- I'm especially concerned about cups-browsed's testsuite, so if anyone has any ideas how to actually run it, that would be fantastic. I do not use cups-browsed myself... News post: - Title: CUPS no longer directly depends on its filters Author: Eli Schwartz Posted: 2023-11-20 Revision: 1 News-Item-Format: 2.0 Display-If-Installed: <=net-print/cups-2.4.7-r1 Reasons === Historically, net-print/cups has both depended on and been a dependency of net-print/cups-filters. The latter is required for usability of a CUPS printing setup, but also must build against the former's libraries. This results in an ugly dependency cycle, and forcing the entire CUPS printing setup wherever USE=cups is enabled on a framework. Current upstream work on CUPS has focused on modularizing the codebase. There are now several packages, and there will be more in the future. Installing net-print/cups-filters is no longer sufficient to ensure all components are installed. In the future, when CUPS v3 is released, filters will be exclusive to legacy printers, and largely replaced with IPP Everywhere.[1] A more future-proof way to install a CUPS production printing setup is needed. User Action Required === cups-filters is required for current versions of CUPS. To prevent depcleaning if you are a CUPS user (and it was not installed just as a dependency for something else): emerge net-print/cups-meta If cups-browsed support is desired, add the following package.use: net-print/cups-meta browsed [1] https://openprinting.github.io/current/#the-new-architecture-for-printing-and-scanning Eli Schwartz (10): net-print/libcupsfilters: new package, add 2.0.0 net-print/libppd: new package, add 2.0.0 net-print/cups-filters: add 2.0.0 net-print/cups-browsed: new package, add 2.0.0 net-print/cups-meta: new package, add 1 net-print/cups: drop cyclic dependency on cups-filters net-print/cups: re-enable tests net-print/cups: avoid running unittests in src_compile net-print/cups-browsed: restrict tests net-print/cups-filters: restrict tests net-print/cups-browsed/Manifest | 1 + .../cups-browsed/cups-browsed-2.0.0.ebuild| 82 + ...d.c-Fix-build-with-avahi-disabled-20.patch | 34 ++ net-print/cups-browsed/metadata.xml | 11 + net-print/cups-filters/Manifest | 1 + .../cups-filters/cups-filters-2.0.0.ebuild| 54 +++ net-print/cups-meta/cups-meta-1.ebuild| 21 ++ net-print/cups-meta/metadata.xml | 9 + net-print/cups/cups-2.4.7-r2.ebuild | 320 ++ net-print/libcupsfilters/Manifest | 1 + .../libcupsfilters-2.0.0.ebuild | 60 net-print/libcupsfilters/metadata.xml | 14 + net-print/libppd/Manifest | 1 + net-print/libppd/libppd-2.0.0.ebuild | 52 +++ net-print/libppd/metadata.xml | 14 + 15 files changed, 675 insertions(+) create mode 100644 net-print/cups-browsed/Manifest create mode 100644 net-print/cups-browsed/cups-browsed-2.0.0.ebuild create mode 100644 net-print/cups-browsed/files/0001-cups-browsed.c-Fix-build-with-avahi-disabled-20.patch create mode 100644 net-print/cups-browsed/metadata.xml create mode 100644 net-print/cups-filters/cups-filters-2.0.0.ebuild create mode 100644 net-print/cups-meta/cups-meta-1.ebuild create mode 100644 net-print/cups-meta/metadata.xml create mode 100644 net-print/cups/cups-2.4.7-r2.ebuild create mode 100644 net-print/libcupsfilters/Manifest create mode 100644 net-print/libcupsfilters/libcupsfilters-2.0.0.ebuild create mode 100644 net-print/libcupsfilters/metadata.xml create mode 100644 net-print/libppd/Manifest create mode 100644 net-print/libppd/libppd-2.0.0.ebuild create mode 100644 net-print/libppd/metadata.xml -- 2.41.0
[gentoo-dev] [RFC PATCH 01/10] net-print/libcupsfilters: new package, add 2.0.0
Part of the CUPS v3 evolution. Now, cups-filters has been split out into multiple sub-packages. This is the core library. Signed-off-by: Eli Schwartz --- net-print/libcupsfilters/Manifest | 1 + .../libcupsfilters-2.0.0.ebuild | 60 +++ net-print/libcupsfilters/metadata.xml | 14 + 3 files changed, 75 insertions(+) create mode 100644 net-print/libcupsfilters/Manifest create mode 100644 net-print/libcupsfilters/libcupsfilters-2.0.0.ebuild create mode 100644 net-print/libcupsfilters/metadata.xml diff --git a/net-print/libcupsfilters/Manifest b/net-print/libcupsfilters/Manifest new file mode 100644 index ..9145aecf6f6d --- /dev/null +++ b/net-print/libcupsfilters/Manifest @@ -0,0 +1 @@ +DIST libcupsfilters-2.0.0.tar.xz 1279856 BLAKE2B ce9d839bb700017c303c1301c7a97fd02e3657a908e685377be49557d995574a7fc5a31d4fcbda5eeb9ba2d3cd07858224540dbf0bc9fa078cfd25a58ee15a41 SHA512 279bff6dcfa76312b10dae97480914345defd90eab79c4716d4553870f73e0f9db404786fd7e2948a86ae5aedb10dca0c2984ccb4222acbd4e835cd572030d6a diff --git a/net-print/libcupsfilters/libcupsfilters-2.0.0.ebuild b/net-print/libcupsfilters/libcupsfilters-2.0.0.ebuild new file mode 100644 index ..511d423289b8 --- /dev/null +++ b/net-print/libcupsfilters/libcupsfilters-2.0.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="library for developing printing features, split out of cups-filters" +HOMEPAGE="https://github.com/OpenPrinting/libcupsfilters"; +SRC_URI="https://github.com/OpenPrinting/libcupsfilters/releases/download/${PV}/${P}.tar.xz"; + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="dbus exif jpeg pdf +poppler +postscript png test tiff" +KEYWORDS="~amd64" + +RESTRICT="!test? ( test )" + +RDEPEND=" + >=app-text/qpdf-8.3.0:= + media-libs/fontconfig + media-libs/lcms:2 + >=net-print/cups-2 + !=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_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) + $(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/metadata.xml b/net-print/libcupsfilters/metadata.xml new file mode 100644 index ..d31059e1c097 --- /dev/null +++ b/net-print/libcupsfilters/metadata.xml @@ -0,0 +1,14 @@ + +https://www.gentoo.org/dtd/metadata.dtd";> + + + print...@gentoo.org + Gentoo Printing Project + + + Build the pdftoraster filter + + + OpenPrinting/libcupsfilters + + -- 2.41.0
[gentoo-dev] [RFC PATCH 02/10] net-print/libppd: new package, add 2.0.0
Part of the CUPS v3 evolution. Now, cups-filters has been split out into multiple sub-packages. This is the legacy PPD filters core library. Signed-off-by: Eli Schwartz --- net-print/libppd/Manifest| 1 + net-print/libppd/libppd-2.0.0.ebuild | 52 net-print/libppd/metadata.xml| 14 3 files changed, 67 insertions(+) create mode 100644 net-print/libppd/Manifest create mode 100644 net-print/libppd/libppd-2.0.0.ebuild create mode 100644 net-print/libppd/metadata.xml diff --git a/net-print/libppd/Manifest b/net-print/libppd/Manifest new file mode 100644 index ..bc6ba554c08c --- /dev/null +++ b/net-print/libppd/Manifest @@ -0,0 +1 @@ +DIST libppd-2.0.0.tar.xz 580716 BLAKE2B 8505c5ab5b515104308624a8f78505343b894df08ab8ac2727d7bd82d0d65d256d22ecaf384b212d9a5c45d2a619a6311722a8c5ed954b7a8a9780477aedb458 SHA512 8be9e67552528606fd804ba13b05710938ed7d02316c1c902ee657bc0e5fade663ffacb5b032609a1c1fdc80d976e7e54d2ca2f71db83cb8fdcee6a371e6bad4 diff --git a/net-print/libppd/libppd-2.0.0.ebuild b/net-print/libppd/libppd-2.0.0.ebuild new file mode 100644 index ..174c775a213f --- /dev/null +++ b/net-print/libppd/libppd-2.0.0.ebuild @@ -0,0 +1,52 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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}/${P}.tar.xz"; + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="+postscript +poppler" +KEYWORDS="~amd64" + +# 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 + !=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_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/metadata.xml b/net-print/libppd/metadata.xml new file mode 100644 index ..67a6452ca268 --- /dev/null +++ b/net-print/libppd/metadata.xml @@ -0,0 +1,14 @@ + +https://www.gentoo.org/dtd/metadata.dtd";> + + + print...@gentoo.org + Gentoo Printing Project + + + Use the app-text/poppler pdftops filter + + + OpenPrinting/libppd + + -- 2.41.0
[gentoo-dev] [RFC PATCH 03/10] net-print/cups-filters: add 2.0.0
Part of the CUPS v3 evolution. Now, cups-filters has been split out into multiple sub-packages. The new version of cups-filters depends on a couple of extracted libraries, and builds on these to distribute the actual filters. It no longer handles browsed at all -- this is a completely separate, optional component. Most options are no longer relevant, as they are encapsulated in the subpackages. Signed-off-by: Eli Schwartz --- net-print/cups-filters/Manifest | 1 + .../cups-filters/cups-filters-2.0.0.ebuild| 45 +++ 2 files changed, 46 insertions(+) create mode 100644 net-print/cups-filters/cups-filters-2.0.0.ebuild diff --git a/net-print/cups-filters/Manifest b/net-print/cups-filters/Manifest index 96b28980e619..3e7f08806c56 100644 --- a/net-print/cups-filters/Manifest +++ b/net-print/cups-filters/Manifest @@ -1 +1,2 @@ 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 diff --git a/net-print/cups-filters/cups-filters-2.0.0.ebuild b/net-print/cups-filters/cups-filters-2.0.0.ebuild new file mode 100644 index ..fde6177f0322 --- /dev/null +++ b/net-print/cups-filters/cups-filters-2.0.0.ebuild @@ -0,0 +1,45 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Cups filters" +HOMEPAGE="https://wiki.linuxfoundation.org/openprinting/cups-filters"; +SRC_URI="https://github.com/OpenPrinting/cups-filters/releases/download/${PV}/${P}.tar.xz"; + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="+foomatic" +#IUSE="" +KEYWORDS="~amd64" + +RDEPEND=" + net-print/libcupsfilters + net-print/libppd + >=net-print/cups-1.7.3 +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=sys-devel/gettext-0.18.3 + virtual/pkgconfig +" + +src_configure() { + local myeconfargs=( + --enable-imagefilters + --enable-driverless + --enable-poppler + --localstatedir="${EPREFIX}"/var + --with-fontdir="fonts/conf.avail" + # cups-browsed is split out and avahi is not needed for filters + # https://github.com/OpenPrinting/cups-filters/pull/558 + --disable-avahi + # These are just probed for the path. Always enable them. + --with-gs-path="${EPREFIX}"/usr/bin/gs + --with-mutool-path="${EPREFIX}"/usr/bin/mutool + + $(use_enable foomatic) + ) + + econf "${myeconfargs[@]}" +} -- 2.41.0
[gentoo-dev] [RFC PATCH 04/10] net-print/cups-browsed: new package, add 2.0.0
Part of the CUPS v3 evolution. Now, cups-filters has been split out into multiple sub-packages. This contains the standalone browsed component. Signed-off-by: Eli Schwartz --- net-print/cups-browsed/Manifest | 1 + .../cups-browsed/cups-browsed-2.0.0.ebuild| 63 +++ ...d.c-Fix-build-with-avahi-disabled-20.patch | 34 ++ net-print/cups-browsed/metadata.xml | 11 4 files changed, 109 insertions(+) create mode 100644 net-print/cups-browsed/Manifest create mode 100644 net-print/cups-browsed/cups-browsed-2.0.0.ebuild create mode 100644 net-print/cups-browsed/files/0001-cups-browsed.c-Fix-build-with-avahi-disabled-20.patch create mode 100644 net-print/cups-browsed/metadata.xml diff --git a/net-print/cups-browsed/Manifest b/net-print/cups-browsed/Manifest new file mode 100644 index ..e9a2ce2398ba --- /dev/null +++ b/net-print/cups-browsed/Manifest @@ -0,0 +1 @@ +DIST cups-browsed-2.0.0.tar.xz 426132 BLAKE2B e1724c03302d61cf131c8886a95f6ad8f0236b134f1deaadb783fa185141b83cd8ac5c5d993ded37d04c7fd806c5cde157a792a90a2f372075f24a5bd2423dc5 SHA512 592493ef82c65b2418b86b555c4d24bdf352f78516993a021d106240b8c399fd9f4fcc27e396e895d94da889a97f2bbc5e96bfa92c58c8be80802ee8df43db80 diff --git a/net-print/cups-browsed/cups-browsed-2.0.0.ebuild b/net-print/cups-browsed/cups-browsed-2.0.0.ebuild new file mode 100644 index ..6baeb697f2cd --- /dev/null +++ b/net-print/cups-browsed/cups-browsed-2.0.0.ebuild @@ -0,0 +1,63 @@ +# Copyright 2023 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" +IUSE="ldap test zeroconf" +KEYWORDS="~amd64" + +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 +" + +PATCHES=( + "${FILESDIR}"/0001-cups-browsed.c-Fix-build-with-avahi-disabled-20.patch +) + +src_configure() { + local myeconfargs=( + --localstatedir="${EPREFIX}"/var + --with-browseremoteprotocols=DNSSD,CUPS + --with-cups-rundir="${EPREFIX}"/run/cups + --with-rcdir=no + + $(use_enable ldap) + $(use_enable zeroconf avahi) + ) + + econf "${myeconfargs[@]}" +} + +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-browsed/files/0001-cups-browsed.c-Fix-build-with-avahi-disabled-20.patch b/net-print/cups-browsed/files/0001-cups-browsed.c-Fix-build-with-avahi-disabled-20.patch new file mode 100644 index ..f72d3919c037 --- /dev/null +++ b/net-print/cups-browsed/files/0001-cups-browsed.c-Fix-build-with-avahi-disabled-20.patch @@ -0,0 +1,34 @@ +Upstream: https://github.com/OpenPrinting/cups-browsed/commit/08af74bfbf9aa8ccab45a2ee74e95951839756ba.patch +From 08af74bfbf9aa8ccab45a2ee74e95951839756ba Mon Sep 17 00:00:00 2001 +From: Timo Gurr +Date: Wed, 27 Sep 2023 13:01:46 +0200 +Subject: [PATCH] cups-browsed.c: Fix build with avahi disabled (#20) + +Fixes #19 +--- + daemon/cups-browsed.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/daemon/cups-browsed.c b/daemon/cups-browsed.c +index b06461b4..c1e64fab 100644 +--- a/daemon/cups-browsed.c b/daemon/cups-browsed.c +@@ -400,6 +400,7 @@ typedef struct pagesize_count_s + int count; + } pagesize_count_t; + ++#ifdef HAVE_AVAHI + typedef struct resolver_args_s + { + AvahiIfIndex interface; +@@ -414,6 +415,7 @@ typedef struct resolver_args_s + AvahiLookupResultFlags flags; + void* userdata; + } resolver_args_t; ++#endif // HAVE_AVAHI + + typedef struct create_args_s + { +-- +2.41.0 + diff --git a/net-print/cups-browsed/metadata.xml b/net-print/cups-browsed/metadata.xml new file mode 100644 index ..1b9a77a07ab0 --- /dev/null +++ b/net-print/cups-browsed/metadata.xml @@ -0,0 +1,11 @@ + +https://www.gentoo.org/dtd/metadata.dtd";> + + + print...@gentoo.org + Gentoo Printing Project + + + OpenPrinting/cups-browsed + + -- 2.41.0
[gentoo-dev] [RFC PATCH 05/10] net-print/cups-meta: new package, add 1
New metapackage to pull in all the parts for a functional cups printing stack. This will allow to avoid relying on net-print/cups for that purpose -- because, with the advent of cups-filters 2.0.0 and the ongoing work to refactor CUPS 3, things are broken out into various interconnected components and configuring each one is not perfectly straightforward. Eventually, there will not be a "cups" package at all anyway. Additionally, this helps solve a longstanding cycle with cups <--> cups-filters that has only gotten worse since the latter was broken up into various packages which require libcups from cups, which in turn depends on -filters. There are a number of use cases for having cups installed in "minimal" mode so that other packages can build against it. Signed-off-by: Eli Schwartz --- net-print/cups-meta/cups-meta-1.ebuild | 21 + net-print/cups-meta/metadata.xml | 9 + 2 files changed, 30 insertions(+) create mode 100644 net-print/cups-meta/cups-meta-1.ebuild create mode 100644 net-print/cups-meta/metadata.xml diff --git a/net-print/cups-meta/cups-meta-1.ebuild b/net-print/cups-meta/cups-meta-1.ebuild new file mode 100644 index ..f4d404d2be8e --- /dev/null +++ b/net-print/cups-meta/cups-meta-1.ebuild @@ -0,0 +1,21 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="Metapackage for a fully configured cups printer setup" + +SLOT="0" +IUSE="+browsed +foomatic pdf +postscript +poppler zeroconf" +KEYWORDS="~amd64" + +RDEPEND=" + net-print/cups[zeroconf?] + net-print/libppd[postscript?,poppler?] + net-print/libcupsfilters[pdf?,poppler?] + net-print/cups-filters[foomatic?] + + browsed? ( net-print/cups-browsed ) + pdf? ( app-text/mupdf ) + postscript? ( >=app-text/ghostscript-gpl-9.09[cups] ) +" diff --git a/net-print/cups-meta/metadata.xml b/net-print/cups-meta/metadata.xml new file mode 100644 index ..07456818fddc --- /dev/null +++ b/net-print/cups-meta/metadata.xml @@ -0,0 +1,9 @@ + +https://www.gentoo.org/dtd/metadata.dtd";> + + + print...@gentoo.org + Gentoo Printing Project + + + -- 2.41.0
[gentoo-dev] [RFC PATCH 06/10] net-print/cups: drop cyclic dependency on cups-filters
It is a PDEPEND which forces installing both, and makes building a modular cups-filters more challenging. Additionally, many "users" of cups may not actually want cups-filters at all. A primary reason is because cups provides libcups, which other packages need as an RDEPEND in order to support USE=cups while not having any expectation of using a printing stack (at least, yet). Rely instead on a metapackage for the full cups experience. Signed-off-by: Eli Schwartz --- net-print/cups/cups-2.4.7-r2.ebuild | 313 1 file changed, 313 insertions(+) create mode 100644 net-print/cups/cups-2.4.7-r2.ebuild diff --git a/net-print/cups/cups-2.4.7-r2.ebuild b/net-print/cups/cups-2.4.7-r2.ebuild new file mode 100644 index ..d63cb0132e9a --- /dev/null +++ b/net-print/cups/cups-2.4.7-r2.ebuild @@ -0,0 +1,313 @@ +# Copyright 1999-2023 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} == * ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/OpenPrinting/cups.git"; + [[ ${PV} != ]] && EGIT_BRANCH=branch-${PV/.} +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" + 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" + +# As of 2.4.2, they don't actually seem to be interactive (they pass some flags +# by default to input for us), but they fail on some greyscale issue w/ poppler? +RESTRICT="!test? ( test ) test" + +BDEPEND=" + acct-group/lp + acct-group/lpadmin + virtual/pkgconfig +" +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}] ) +" +RDEPEND=" + ${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 --->" +
[gentoo-dev] [RFC PATCH 07/10] net-print/cups: re-enable tests
They appear to work at the moment. There's a fun oddity, in that if libcupsfilters is installed you need image support of some variety. Signed-off-by: Eli Schwartz --- net-print/cups/cups-2.4.7-r2.ebuild | 13 + 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/net-print/cups/cups-2.4.7-r2.ebuild b/net-print/cups/cups-2.4.7-r2.ebuild index d63cb0132e9a..3f63cd43a70c 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} == * ]] ; 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="~amd64" fi fi @@ -32,14 +32,14 @@ IUSE="acl dbus debug kerberos openssl pam selinux static-libs systemd test usb X # As of 2.4.2, they don't actually seem to be interactive (they pass some flags # by default to input for us), but they fail on some greyscale issue w/ poppler? -RESTRICT="!test? ( test ) test" +RESTRICT="!test? ( test )" BDEPEND=" acct-group/lp acct-group/lpadmin virtual/pkgconfig " -DEPEND=" +COMMON_DEPEND=" app-text/libpaper:= sys-libs/zlib acl? ( @@ -60,8 +60,13 @@ DEPEND=" 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=" - ${DEPEND} + ${COMMON_DEPEND} acct-group/lp acct-group/lpadmin selinux? ( sec-policy/selinux-cups ) -- 2.41.0
[gentoo-dev] [RFC PATCH 08/10] net-print/cups: avoid running unittests in src_compile
If USE=test, an option was passed to configure that makes unittest binaries be built, and as a side effect also runs them. But we really do not want to run tests in src_compile, as FEATURES=test might not be set. Crudely hack around this by overriding the autoconf variable that would normally be set by `$(use_enable test unit-tests)`, when running the test invocation itself. As a side effect, this also moves the test-program compilation to src_test. Signed-off-by: Eli Schwartz --- net-print/cups/cups-2.4.7-r2.ebuild | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/net-print/cups/cups-2.4.7-r2.ebuild b/net-print/cups/cups-2.4.7-r2.ebuild index 3f63cd43a70c..d8a193a64337 100644 --- a/net-print/cups/cups-2.4.7-r2.ebuild +++ b/net-print/cups/cups-2.4.7-r2.ebuild @@ -30,8 +30,6 @@ LICENSE="Apache-2.0" SLOT="0" IUSE="acl dbus debug kerberos openssl pam selinux static-libs systemd test usb X xinetd zeroconf" -# As of 2.4.2, they don't actually seem to be interactive (they pass some flags -# by default to input for us), but they fail on some greyscale issue w/ poppler? RESTRICT="!test? ( test )" BDEPEND=" @@ -167,7 +165,6 @@ multilib_src_configure() { $(use_enable kerberos gssapi) $(multilib_native_use_enable pam) $(use_enable static-libs static) - $(use_enable test unit-tests) --with-tls=$(usex openssl openssl gnutls) $(use_with systemd ondemand systemd) $(multilib_native_use_enable usb libusb) @@ -222,7 +219,12 @@ multilib_src_test() { mkdir "${T}"/cups-tests || die # We only build some of CUPS for multilib, so can't run the tests. - multilib_is_native_abi && default + if multilib_is_native_abi; then + # avoid building *and running* test binaries in src_compile + # https://github.com/OpenPrinting/cups/commit/b1d42061e9286f50eefc851ed906d17c6e80c4b0 + emake UNITTESTS=unittests + default + fi } multilib_src_install() { -- 2.41.0
[gentoo-dev] [RFC PATCH 09/10] net-print/cups-browsed: restrict tests
The tests are newly created during the 2.x upgrade. They will hang forever if they cannot run properly. And running them properly has hit a wall. I'm not sure where to go on from here. Even getting this far means stepping outside of what portage can reasonably require. Avahi only runs as root, and doesn't seem to have a mocking mode, and even if it is running, the sandbox prevents src_test from seeing it. Signed-off-by: Eli Schwartz --- .../cups-browsed/cups-browsed-2.0.0.ebuild| 19 +++ 1 file changed, 19 insertions(+) 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 6baeb697f2cd..0232d57c8b51 100644 --- a/net-print/cups-browsed/cups-browsed-2.0.0.ebuild +++ b/net-print/cups-browsed/cups-browsed-2.0.0.ebuild @@ -29,6 +29,18 @@ BDEPEND=" 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" + PATCHES=( "${FILESDIR}"/0001-cups-browsed.c-Fix-build-with-avahi-disabled-20.patch ) @@ -47,6 +59,13 @@ src_configure() { 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 -- 2.41.0
[gentoo-dev] [RFC PATCH 10/10] net-print/cups-filters: restrict tests
Checking the test phase output, it is not implemented and does nothing. Or to be more accurate, it compiles one executable but never runs anything. The former testsuite in the 1.x series has been divided up, just like the constituent installable components, and it turns out that all testable parts are in the split-out packages and none are left here. Signed-off-by: Eli Schwartz --- net-print/cups-filters/cups-filters-2.0.0.ebuild | 9 + 1 file changed, 9 insertions(+) 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 fde6177f0322..e07acf911895 100644 --- a/net-print/cups-filters/cups-filters-2.0.0.ebuild +++ b/net-print/cups-filters/cups-filters-2.0.0.ebuild @@ -24,6 +24,15 @@ BDEPEND=" virtual/pkgconfig " +# The tests are composed of: +# - built program +# - test case itself: filter/test.sh +# +# The latter is not wired up, and it becomes immediately evident why. +# Bow to this reality and don't claim we can run anything. As a side +# effect, don't compile in src_test, that which we never use. +RESTRICT="test" + src_configure() { local myeconfargs=( --enable-imagefilters -- 2.41.0