When compiling print/cups-base, if WITHOUT_X11=yes is present in /etc/make.conf, CUPS still tries to update the "Icons cache". For this, it tries to build graphics/gtk-update-icon-cache, which in turns requires graphics/cairo, but Cairo builds without X11 support as requested, and graphics/gtk-update-icon-cache fails to build because it needs X11. How-To-Repeat: 1. Add WITHOUT_X11=yes to /etc/make.conf 2. build print/cups-base with default options It will fail building at graphics/gtk-update-icon-cache.
This port is unmaintained, so providing a patch would help
cups-base builds the icons because the ICONS options is enabled by default. Disabling that option will prevent building of icons and related ports. IMHO this bug can be closed. These are the build dependencies that are added with ICONS: < /usr/ports/accessibility/atk < /usr/ports/devel/glib20 < /usr/ports/graphics/gdk-pixbuf2 < /usr/ports/graphics/gtk-update-icon-cache < /usr/ports/x11-toolkits/pango
Can the cups-base port detect the WITHOUT_X11 and disable ICONS ?
(In reply to Kurt Jaeger from comment #3) This feels wrong to me because cups had no direct dependency on X11 and the graphics/gtk-update-icon-cache is a build dependency only. Why should it care about WITHOUT_X11? That being said I could try adding a check for this if you think this is the way to go here.
I agree that it sounds strange, but the WITHOUT_X11 case causes the build to break, so if we can detect WITHOUT_X11 and disable ICONS, it avoids the break.
Created attachment 166935 [details] cups-base.diff Disable default option ICONS when using WITHOUT_X11
Created attachment 166936 [details] cups-base.diff Updated patch to refuse to compile when both ICONS and WITHOUT_X11 are set.
(In reply to Tobias Kortkamp from comment #6) bsd.sanity.mk has #WARNING+= "WITHOUT_X11 is deprecated use X11 option instead" so maybe we need a X11-option in the port, and combine it with ICONS ?
Created attachment 166959 [details] cups-base.diff Replaced the ICONS option with X11. I also experimented with introducing a X11 option and setting ICONS_IMPLIES=X11, X11_IMPLIES=ICONS etc, but this just seems to add noise to the port for no real gain AFAICT.
A commit references this bug: Author: pi Date: Sat Feb 13 22:35:49 UTC 2016 New revision: 408833 URL: https://svnweb.freebsd.org/changeset/ports/408833 Log: print/cups-base: rename ICONS option to X11 Why this change ? - When compiling print/cups-base, if WITHOUT_X11=yes is present in /etc/make.conf, CUPS still tries to update the "Icons cache". - For this, it tries to build graphics/gtk-update-icon-cache, which in turns requires graphics/cairo, but Cairo builds without X11 support as requested, and graphics/gtk-update-icon-cache fails to build because it needs X11. PR: 190434 Submitted by: Tobias Kortkamp <t@tobik.me> Reported by: hjf@hjf.com.ar Changes: head/print/cups-base/Makefile
Committed, thanks.
A commit references this bug: Author: pi Date: Sun Feb 14 05:34:25 UTC 2016 New revision: 408845 URL: https://svnweb.freebsd.org/changeset/ports/408845 Log: print/cups-base: revert change for ICONS option - This does not really solve the problem PR: 190434 Pointy hat to: pi Changes: head/print/cups-base/Makefile
A commit references this bug: Author: pi Date: Sun Feb 14 05:35:34 UTC 2016 New revision: 408846 URL: https://svnweb.freebsd.org/changeset/ports/408846 Log: print/cups-base: bump port revision PR: 190434 Pointy hat to: pi Changes: head/print/cups-base/Makefile
This needs more thought and testing.
Changing ICONS -> X11 would still build graphics/gtk-update-icon-cache with the WITHOUT_X11 from /etc/make.conf and would still break. So this is not a working approach.
Having just learned about OPTIONS_EXCLUDE I think we could add > .if defined(WITHOUT_X11) > OPTIONS_EXCLUDE= ICONS > .endif to the port. Or in addition to the ICONS -> X11 change: > .if defined(WITHOUT_X11) > OPTIONS_EXCLUDE= X11 > .endif this would solve all problems, no?
Fixed in ports r410825.