From owner-freebsd-gecko@freebsd.org Mon Nov 23 09:44:08 2015 Return-Path: Delivered-To: freebsd-gecko@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7CB93A35583 for ; Mon, 23 Nov 2015 09:44:08 +0000 (UTC) (envelope-from jh-fbml@snkmail.com) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 639F41085 for ; Mon, 23 Nov 2015 09:44:08 +0000 (UTC) (envelope-from jh-fbml@snkmail.com) Received: by mailman.ysv.freebsd.org (Postfix) id 63C66A35581; Mon, 23 Nov 2015 09:44:08 +0000 (UTC) Delivered-To: gecko@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6369AA35580 for ; Mon, 23 Nov 2015 09:44:08 +0000 (UTC) (envelope-from jh-fbml@snkmail.com) Received: from sneak2.sneakemail.com (sneak2.sneakemail.com [38.113.6.65]) by mx1.freebsd.org (Postfix) with SMTP id 13E531084 for ; Mon, 23 Nov 2015 09:44:07 +0000 (UTC) (envelope-from jh-fbml@snkmail.com) Received: (qmail 21594 invoked from network); 23 Nov 2015 09:36:43 -0000 Received: from unknown (HELO localhost.localdomain) (192.168.0.2) by sneak2.sneakemail.com with SMTP; 23 Nov 2015 09:36:43 -0000 Received: from 206.168.13.214 by mail.sneakemail.com with SMTP; 23 Nov 2015 09:36:43 -0000 Received: (sneakemail censored 21450-1448271401-856348 #2); 23 Nov 2015 09:36:43 -0000 Received: (sneakemail censored 21450-1448271401-856348 #1); 23 Nov 2015 09:36:43 -0000 Message-ID: <21450-1448271401-856348@sneakemail.com> Date: Mon, 23 Nov 2015 02:36:41 -0700 From: "John Hein" To: gecko@freebsd.org To: , , "gecko@freebsd.org>, "@microsemi.com In-Reply-To: <4mge-yjhj-wny@vfemail.net> References: <563A5861.6020706__9360.56868308715$1446667952$gmane$org@aldan.algebra.com> <4mge-yjhj-wny@vfemail.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: Re: Non-prefix safe ports X-Mailer: Perl5 Mail::Internet v X-BeenThere: freebsd-gecko@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Gecko Rendering Engine issues List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Nov 2015 09:44:08 -0000 Jan Beich wrote at 01:18 +0100 on Nov 22, 2015: > "Mikhail T." 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 \