Non-prefix safe ports
John Hein
jh-fbml at snkmail.com
Mon Nov 23 09:44:08 UTC 2015
Jan Beich wrote at 01:18 +0100 on Nov 22, 2015:
> "Mikhail T." <mi+thun at aldan.algebra.com> writes:
>
> > Building out a new machine from scratch using /opt (rather than the
> > usual /usr/local) as LOCALBASE, I found the following two ports, which
> > break:
>
> poudriere testport -P would have been easier. That said it would be nice
> to have them as periodic exp-runs. I'm sure there're way more ports
> with broken PREFIX != LOCALBASE e.g., anything lua-*.
>
> >
> > * multimedia/openh264 - the files built by the port get installed into
> > stage/usr/local/... instead of stage/opt -- I had to manually move
> > the files around before "make install" succeeded
>
> This affects all ports with USES=webplugin. Fixing isn't trivial, so
> better file a bug or it will be forgotten.
>
> > * graphics/gtk-update-icon-cache - at configure-stage, the port
> > wrongly complaints, that the cairo installed on the system does not
> > support X11. After I created a symlink: /usr/local -> ../opt, the
> > problem went away.
>
> make(1) flow control is evaluated at parsing time. Try using sh(1)
> conditional to postpone it until the target is run.
I've had this patch in my ports tree forever - one of those patches
for which I just never got around to the last step: actually
submitting a bug. Instead of hard-coding a path, it uses the
pkg-config tool to detect. But it postpones the detection until
the target just as Jan did.
Index: Makefile
===================================================================
--- graphics/gtk-update-icon-cache/Makefile (revision 402233)
+++ graphics/gtk-update-icon-cache/Makefile (working copy)
@@ -43,10 +43,10 @@
${WRKSRC}/configure
pre-configure:
-.if !exists(${LOCALBASE}/libdata/pkgconfig/cairo-xlib.pc)
- @${ECHO_CMD} "${PKGNAME}: Needs cairo with X11 support enabled."
- @${FALSE}
-.endif
+ @if ! pkg-config --exists cairo-xlib; then \
+ ${ECHO_CMD} "${PKGNAME}: Needs cairo with X11 support enabled."; \
+ ${FALSE}; \
+ fi
do-install:
@${INSTALL_PROGRAM} ${WRKSRC}/gtk/gtk-update-icon-cache \
More information about the freebsd-gecko
mailing list