I started looking at this, but it appears to be a mess. https://github.com/OpenPrinting/cups-filters/commit/808f439f73b947eb1b376e2c3d5c576e445de543 explains the details, but >=cups-filters-2.0.0 seems to have split into libppd to accommodate legacy printer drivers. We don't currently have net-print/libppd packaged, but concerningly, libppd seems to need cups-filters to build, while cups-filters needs libppd to build? From libppd (showing it needs *new* cups-filters, not just any cups-filters): ``` [...] libtool: compile: x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -O2 -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches -Wreturn-type -ggdb3 -Wall -D_GNU_SOURCE -c ppd/ppdc-import.cxx -fPIC -DPIC -o ppd/.libs/ppdc-import.o In file included from ppd/ppdc-import.cxx:16: ./ppd/ppd.h:26:12: fatal error: cupsfilters/log.h: No such file or directory 26 | # include <cupsfilters/log.h> | ^~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [Makefile:1578: ppd/ppdc-import.lo] Error 1 [...] ``` And from cups-filters-2.0.0: ``` [...] checking for libcupsfilters... yes checking for libppd... no configure: error: Package requirements (libppd) were not met: Package 'libppd', required by 'virtual:world', not found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBPPD_CFLAGS and LIBPPD_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. !!! Please attach the following file when seeking support: !!! /var/tmp/portage/net-print/cups-filters-2.0.0/work/cups-filters-2.0.0/config.log * ERROR: net-print/cups-filters-2.0.0::gentoo failed (configure phase): [...] ``` And from cups-filters-2.0.0 when no earlier cups-filters is installed: ``` checking for libcupsfilters... no configure: error: Package requirements (libcupsfilters) were not met: Package 'libcupsfilters', required by 'virtual:world', not found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBCUPSFILTERS_CFLAGS and LIBCUPSFILTERS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. !!! Please attach the following file when seeking support: !!! /var/tmp/portage/net-print/cups-filters-2.0.0/work/cups-filters-2.0.0/config.log * ERROR: net-print/cups-filters-2.0.0::gentoo failed (configure phase): ``` I'm really hoping I'm missing something, because otherwise we have: cups-filters <-> cups-filters (libcupsfilters) <-> libppd which seems ridiculous.
Created attachment 871215 [details, diff] 0001-net-print-cups-filters-add-2.0.0.patch Attached the draft I had before I started looking at libppd and concluded I must be missing something...
tl;dr: * cups-filters-2.0.0 reworks a lot (the ebuild basically gets rewritten, attached a draft) * cups-filters-2.0.0 seems to need any cups-filters installed already for libcupsfilters * cups-filters-2.0.0 needs libppd * libppd needs cups-filters-2.0.0
while rubberducking it w/ kangie, I found https://github.com/OpenPrinting/libcupsfilters, which I think makes everything a lot more sane as the library has moved out, but it's still a big job to package & test all of this
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/data/gentoo-news.git/commit/?id=5f4b2f96819a82f3713e78bb72438eeda80ce8f2 commit 5f4b2f96819a82f3713e78bb72438eeda80ce8f2 Author: Eli Schwartz <eschwartz93@gmail.com> AuthorDate: 2023-12-04 06:09:54 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-12-18 03:35:32 +0000 2023-12-17-cups-filters.en.txt: add news item Bug: https://bugs.gentoo.org/914586 Bug: https://bugs.gentoo.org/813507 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> .../2023-12-17-cups-filters.en.txt | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54a85de9dab134cf17c1fd4def0aa8d003e7a1e8 commit 54a85de9dab134cf17c1fd4def0aa8d003e7a1e8 Author: Eli Schwartz <eschwartz93@gmail.com> AuthorDate: 2023-11-09 21:06:17 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-12-18 03:53:21 +0000 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. Closes: https://bugs.gentoo.org/914586 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> net-print/cups-filters/Manifest | 1 + net-print/cups-filters/cups-filters-2.0.0.ebuild | 45 ++++++++++++++++++++++++ 2 files changed, 46 insertions(+) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c409cdc5e5e455341cb30783fb6101349d98c6a6 commit c409cdc5e5e455341cb30783fb6101349d98c6a6 Author: Eli Schwartz <eschwartz93@gmail.com> AuthorDate: 2023-11-12 16:34:13 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-12-18 03:53:23 +0000 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). - Even more fun, sometimes users have -bin packages where upstream has built the binaries against libcups on the assumption that users who want cups support will automatically get it and users who don't want cups support "just" need the debian libcups2 split binary package. This isn't really solvable without providing a minimal libcups-only experience. Rely instead on a metapackage for the full cups experience. Bug: https://bugs.gentoo.org/222601 Bug: https://bugs.gentoo.org/914586 Closes: https://bugs.gentoo.org/813507 Closes: https://github.com/gentoo/gentoo/pull/31784 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> net-print/cups/cups-2.4.7-r2.ebuild | 313 ++++++++++++++++++++++++++++++++++++ 1 file changed, 313 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=023cf4bb702d50efb263b6287e9cf4df8c0367dc commit 023cf4bb702d50efb263b6287e9cf4df8c0367dc Author: Eli Schwartz <eschwartz93@gmail.com> AuthorDate: 2023-11-10 00:33:17 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-12-18 03:53:21 +0000 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. Bug: https://bugs.gentoo.org/914586 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> net-print/cups-browsed/Manifest | 1 + net-print/cups-browsed/cups-browsed-2.0.0.ebuild | 63 ++++++++++++++++++++++ ...rowsed.c-Fix-build-with-avahi-disabled-20.patch | 34 ++++++++++++ net-print/cups-browsed/metadata.xml | 11 ++++ 4 files changed, 109 insertions(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1b9e392f8518a09cdf02dd819583f7312e6e5432 commit 1b9e392f8518a09cdf02dd819583f7312e6e5432 Author: Eli Schwartz <eschwartz93@gmail.com> AuthorDate: 2023-11-09 20:59:36 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-12-18 03:53:20 +0000 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. Bug: https://bugs.gentoo.org/914586 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> 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(+) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=faf70b3f666a811c029e7cd9d612ed9e01cf2a77 commit faf70b3f666a811c029e7cd9d612ed9e01cf2a77 Author: Eli Schwartz <eschwartz93@gmail.com> AuthorDate: 2023-11-09 20:51:53 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-12-18 03:53:20 +0000 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. Bug: https://bugs.gentoo.org/914586 Signed-off-by: Eli Schwartz <eschwartz93@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> net-print/libcupsfilters/Manifest | 1 + .../libcupsfilters/libcupsfilters-2.0.0.ebuild | 60 ++++++++++++++++++++++ net-print/libcupsfilters/metadata.xml | 14 +++++ 3 files changed, 75 insertions(+)