ports/175276: [patch] devel/py-gobject OPTIONSFILE eval order problem
John W. O'Brien
john at saltant.com
Sun Mar 17 03:40:01 UTC 2013
The following reply was made to PR ports/175276; it has been noted by GNATS.
From: "John W. O'Brien" <john at saltant.com>
To: bug-followup at FreeBSD.org, jhein at symmetricom.com
Cc: freebsd-python at freebsd.org
Subject: Re: ports/175276: [patch] devel/py-gobject OPTIONSFILE eval order
problem
Date: Sat, 16 Mar 2013 23:26:39 -0400
This is a multi-part message in MIME format.
--------------080709000504060405060108
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
When applied together, the two attached patches implement a very rough
example of the "B" option I described in my 2013-02-23 response to
ports/175276.
I have smoke tested this patch by building and installing from scratch
some representative ports that might be affected by it. For example:
math/py-pandas and many of its dependencies don't use OptionsNG;
devel/py-bison and devel/py-gobject use OptionsNG and are currently
broken as described in this PR; while graphics/py-blockdiag and
devel/py-mock use OptionsNG but implement one of the workarounds.
# pkg_delete -x py27- python27
# portmaster -Dg \
math/py-pandas \
devel/py-bison \
devel/py-gobject \
graphics/py-blockdiag \
devel/py-mock
Everything builds, installs, and packages without apparent error.
This shows that approach "B" is viable, though these patches would
need work to improve the quality to a sufficient level. I suspect that
approach "B" will not gain much traction, though, given that the
maintainers of so many of the affected ports (74%) have elected to use
the following workaround, or a variation of it, omitting ${PYTHON_SUFFIX}.
OPTIONSFILE= ${PORT_DBDIR}/py-${PORTNAME}/options
Nevertheless, I welcome slings, arrows, and outrageous suggestions.
PS: gnome@, please decide: commit the original patch to fix
devel/py-gobject via OPTIONSFILE, close this PR, and I will file a new
PR for the larger scope issue; or consider assigning this to python@
for resolution and closure.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAEBAgAGBQJRRTfvAAoJEBRzAKlhyP/FYCsIAIkzfSnuvHAOfxdwCxjgimOq
vYgsTPE65UNjjsXIWOUMC9Tpg684lFfxwJ4brxvmtpKWnSCKHwSEHOD9cXPaNAwj
yufLuGMB4FYZLahJpxqKek+g1cI6g01E3OXvM2c0VT9rfiJplrE58DlBHSkNwqH/
X0lg8e/U5Ikrma7HtoZxy94SM+CgRhUU5leQzP2jjI8GUP2XWuBhAzbdLYCd7obE
mU4Y1M8hk4jZfxWwWD5TK1GLE9Zu2gweLfnbEEML9fPGNPp5sY0wF8Jx/cBjXzPC
RyjvzgirOdNykaVdqg/hWU/j7MjBHDc8wANfsUzn89hZSssU4PNJf/HMRgfiUCU=
=3B7a
-----END PGP SIGNATURE-----
--------------080709000504060405060108
Content-Type: text/plain; charset=UTF-8;
name="patch-usr__ports__Mk__bsd.port.mk.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="patch-usr__ports__Mk__bsd.port.mk.txt"
Index: Mk/bsd.port.mk
===================================================================
--- Mk/bsd.port.mk (revision 314388)
+++ Mk/bsd.port.mk (working copy)
@@ -1308,6 +1308,11 @@
STRIP= #none
.endif
+# Latest possible point to correctly influence location of OPTIONSFILE
+INEARLYMK=
+.include "${PORTSDIR}/Mk/bsd.python.mk"
+.undef INEARLYMK
+
.include "${PORTSDIR}/Mk/bsd.options.mk"
# Start of pre-makefile section.
--------------080709000504060405060108
Content-Type: text/plain; charset=UTF-8;
name="patch-usr__ports__Mk__bsd.python.mk.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="patch-usr__ports__Mk__bsd.python.mk.txt"
Index: Mk/bsd.python.mk
===================================================================
--- Mk/bsd.python.mk (revision 314388)
+++ Mk/bsd.python.mk (working copy)
@@ -4,10 +4,9 @@
# $FreeBSD$
#
-.if !defined(_POSTMKINCLUDED) && !defined(Python_Pre_Include)
+.if defined(INEARLYMK) && !defined(Python_Early_Include)
-Python_Pre_Include= bsd.python.mk
-Python_Include_MAINTAINER= python at FreeBSD.org
+Python_Early_Include=
# This file contains some variable definitions that are supposed to
# make your life easier when dealing with ports related to the Python
@@ -458,6 +457,14 @@
PYTHONPREFIX_LIBDIR= ${PYTHON_LIBDIR:S;${PYTHONBASE};${PREFIX};}
PYTHONPREFIX_SITELIBDIR= ${PYTHON_SITELIBDIR:S;${PYTHONBASE};${PREFIX};}
+.endif # Python_Early_Include
+
+
+.if !defined(_POSTMKINCLUDED) && !defined(Python_Pre_Include) && !defined(INEARLYMK)
+
+Python_Pre_Include= bsd.python.mk
+Python_Include_MAINTAINER= python at FreeBSD.org
+
# setuptools support
.if defined(USE_PYDISTUTILS) && ${USE_PYDISTUTILS} == "easy_install"
BUILD_DEPENDS+= ${PYEASYINSTALL_CMD}:${PORTSDIR}/devel/py-distribute
--------------080709000504060405060108
Content-Type: application/octet-stream;
name="patch-usr__ports__Mk__bsd.port.mk.txt.sig"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="patch-usr__ports__Mk__bsd.port.mk.txt.sig"
iQEcBAABAgAGBQJRRTfvAAoJEBRzAKlhyP/FU08IAMCsM10/Jk5ffZnEMsduEKvxhQDmF9pd
mXrLzdToc3Gm6+NtKPkmrAqv5hY6zOl56Hs7TnIxSWqs65jG2RqjIabZaU3J931bx14EOQr0
O0P1fy2CKm65ODFcrt5T0QhfdKnnmNSNqzHEoI3vi8DIJDI/Z22GBJb6HAjQwlNNoHfI7wPI
c5KLzINi+Nh6lfLJ/xL2RzHJHLalPjtI9EDF70QDn0Y4tmT2hpkmEzxz0jUPWZNqa+dV1TYn
hgYq6ILnkKqYrf5XtIQkcVJ5N/IdrPYd5wK5tgCmLWSrvzotFh72l2WEXI1VXR97qpzI+Dy8
i/cZd5N1PqKGLN7rxcaQzqs=
--------------080709000504060405060108
Content-Type: application/octet-stream;
name="patch-usr__ports__Mk__bsd.python.mk.txt.sig"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="patch-usr__ports__Mk__bsd.python.mk.txt.sig"
iQEcBAABAgAGBQJRRTfvAAoJEBRzAKlhyP/Fk7MIAIj+m5/5VTHQnqcxAHBNFPL9R7BNcfvG
XDp/bNb9AdxCtIWvzuvy02GJji0GvyZMeUYXRcxnR17j9LEUfW35rTi1nyH0s3mL8S3SL5YB
oV1FY1rcD7j9fXJMkoVSX7hR7/7L/XOOhDUMo6Ya0PKDUv6dkRjdTkWttxQ5Ihu5cWWomjHn
gV5rABZy1Kz4sUAtUH7kplHtZI5XIUX/Oeq3AmgvgLWc2xdvLVWtzJf6n+H5VYoS+3dYlUxf
uXd1V3Bq4TuAjFY2XBo35uOaaVPCaWUhh3Ci4U1DhJRYnemR0+jUgD+ulQiqOFFKmhHhCOdb
dqhlrdt6+Q0A5KyKlJmVH8s=
--------------080709000504060405060108--
More information about the freebsd-gnome
mailing list