Bug 224950 - www/links require USE_GNOME=librsvg2 glib20 gdkpixbuf2 cairo
Summary: www/links require USE_GNOME=librsvg2 glib20 gdkpixbuf2 cairo
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Tobias Kortkamp
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-06 11:33 UTC by Vladimir Druzenko
Modified: 2018-02-02 06:45 UTC (History)
3 users (show)

See Also:
tobik: maintainer-feedback+


Attachments
links.diff (1.28 KB, patch)
2018-01-08 08:00 UTC, Tobias Kortkamp
tobik: maintainer-approval? (portmaster)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Druzenko freebsd_committer freebsd_triage 2018-01-06 11:33:16 UTC
links require cairo, cairo require mesa, mesa require llvm50…
We made a monster from small and light console browser!

Patch is very simple - just remove line "USE_GNOME=librsvg2 glib20 gdkpixbuf2 cairo" from Makefile. Tested on 11.1 amd64.


diff -u Makefile Makefile
--- Makefile.orig
+++ Makefile
@@ -20,7 +20,6 @@
                --without-gpm --without-fb --without-windows
 
 USES=          cpe localbase:ldflags ssl gettext-runtime
-USE_GNOME=     librsvg2 glib20 gdkpixbuf2 cairo
 
 CPE_VENDOR=    twibright
Comment 1 Chris Hutchinson 2018-01-07 21:43:36 UTC
Hello, and thank you for the report!

> Patch is very simple - just remove line "USE_GNOME=librsvg2 glib20 gdkpixbuf2 cairo" from Makefile.

Hmm, I was forced to *add* this line for my version of the ports
tree, and FreeBSD (12-CURRENT). Make otherwise complained that
those *weren't* listed, and said:
you need to add USE_GNOME+= ibrsvg2 glib20 gdkpixbuf2 cairo
Which got it past the FATAL errors.

I'll setup a couple of jails, and test this further, and if your
suggestion holds up. I'll simply add a conditional for OSREL |
OSVERSION. This will *likely* prove an issue for may ports. As
there is a lot of churn in $BASE, and $PORTS due to the addition
of clang(1) versions 5 && 6, and the removal of 4 (not to
mention FLAVORS).

Thanks again for the report. I'll report back with a final
solution in the next couple days.

--Chris
Comment 2 Tobias Kortkamp freebsd_committer freebsd_triage 2018-01-08 07:24:34 UTC
(In reply to Chris Hutchinson from comment #1)
Adding OSVERSION checks is the wrong approach.

It's likely that the configure script picks up dependencies from the
build environment and also provides knobs like --disable-librsvg or
--without-librsvg to disable that functionality.  The patch proposed here
is not a solution to this since they'll just be accidentally be picked
up again on someone's machine.  If we don't want those features we
need to explicitly disable them by passing the right flags to
configure.

Stuff like this is why we build packages in a clean room environment
with Poudriere.  Building links in Poudriere without the USE_GNOME line
does not actually complain that cairo, rsvg2, etc. are missing.

Sorry for not catching this when I committed the update.  I thought it
was odd that it now depends on cairo but didn't question it further...
Comment 3 Tobias Kortkamp freebsd_committer freebsd_triage 2018-01-08 08:00:35 UTC
Created attachment 189501 [details]
links.diff

Here's a patch to make SVG support a non-default option.
Comment 4 Chris Hutchinson 2018-01-08 08:22:45 UTC
(In reply to Tobias Kortkamp from comment #2)
> (In reply to Chris Hutchinson from comment #1)
> Adding OSVERSION checks is the wrong approach.
> 
> It's likely that the configure script picks up dependencies from the
> build environment and also provides knobs like --disable-librsvg or
> --without-librsvg to disable that functionality.  The patch proposed here
> is not a solution to this since they'll just be accidentally be picked
> up again on someone's machine.  If we don't want those features we
> need to explicitly disable them by passing the right flags to
> configure.
> 
> Stuff like this is why we build packages in a clean room environment
> with Poudriere.
This is *exactly* why I indicated that I wanted to build up a couple
of jails, to perform further testing before proposing the final
solution here. Other problems also exist, depending on *which*
revision of $PORTS && $BASE one is running this on (11 v 12-CURRENT).
At the time I tested, and submitted this upgrade, I only had a
-CURRENT jail to work with.

Your proposed patch looks good to me. But I still plan to perform
additional testing.
If you feel confident that your patch will work as well on 12-CURRENT,
as on 11. Feel free to commit it. :-)

Thanks for all your time on this, Tobias.

--Chris
> Building links in Poudriere without the USE_GNOME line
> does not actually complain that cairo, rsvg2, etc. are missing.
> 
> Sorry for not catching this when I committed the update.  I thought it
> was odd that it now depends on cairo but didn't question it further...
Comment 5 commit-hook freebsd_committer freebsd_triage 2018-01-08 08:53:01 UTC
A commit references this bug:

Author: tobik
Date: Mon Jan  8 08:52:48 UTC 2018
New revision: 458398
URL: https://svnweb.freebsd.org/changeset/ports/458398

Log:
  www/links: Make SVG support optional

  Reduce links' dependency footprint and prevent pulling in many
  unnecessary dependencies like cairo -> mesa-libs -> llvm50.

  PR:		224950
  Reported by:	vvd@unislabs.com
  Approved by:	portmaster@BSDforge.com (maintainer)

Changes:
  head/www/links/Makefile
Comment 6 Tobias Kortkamp freebsd_committer freebsd_triage 2018-01-08 08:54:50 UTC
(In reply to Chris Hutchinson from comment #4)
Committed, thanks!

I'll leave this bug open for now in case you happen to find other problems.
Comment 7 Vladimir Druzenko freebsd_committer freebsd_triage 2018-01-08 10:39:42 UTC
(In reply to Tobias Kortkamp from comment #6)
Thanks! Work for me on 11.1 i386, 11.1 amd64, 10.3 amd64.
Comment 8 Chris Hutchinson 2018-01-08 14:58:25 UTC
(In reply to vvd from comment #7)
> (In reply to Tobias Kortkamp from comment #6)
> Thanks! Work for me on 11.1 i386, 11.1 amd64, 10.3 amd64.

Why was this pr(1) closed?

--Chris
Comment 9 Vladimir Druzenko freebsd_committer freebsd_triage 2018-01-08 15:10:59 UTC
(In reply to Chris Hutchinson from comment #8)
Ok, waiting your feedback about HEAD…
Comment 10 Tobias Kortkamp freebsd_committer freebsd_triage 2018-02-02 06:45:13 UTC
It's almost a month later now so I assume that everything was ok with this change.