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