- Use devel/py-distribute as setuptools for python 3.x users
- Use py${PYTHON_VER} instead of ${PYTHON_VERSION:S/thon//}
- Use "yes"
PR: ports/158662
Submitted by: sunpoet (myself)
Reviewed by: lwhsu
Tested by: exp-run by pav
With Hat: python
- Clean up bsd.python.mk (remove PYWSGIREF, PYHASHLIB, PYCTYPES and PYEXPAT) all these is now part of python
since python25
Remove:
textproc/py-expat
devel/py-ctypes
security/py-hashlib
www/py-wsgiref
- turn devel/py-twisted into a meta port.
- Update USE_TWISTED{,_BUILD,_RUN} in bsd.python.mk:
* Remove flow, pair, xish, which are deprecated
(but still update them to latest release in the tree)
* Remove USE_TWISTED=13 (no port uses this)
* Fix typos in twisted components _DEPENDS
PR: ports/130001
Submitted by: lwhsu
Approved by: maintainer timeout
Python 2.6 will be the next default python version when enough
testings of consumer ports are done. The new "2to3" program is
renamed to 2to3-2.6 and 2to3-3.0 for each version, respectively.
Repo-copied by: marcus
targets.
* Use /rescue/sh for index builds instead of /bin/sh, when it exists.
The former is statically linked and faster to execute, which becomes
significant when executing it tens of thousands of times. This
trick can be used with other recursive targets by passing in
__MAKE_SHELL.
* Get rid of make variable assignments that use != command invocations
in the critical path, using several methods:
- rewriting logic to use shell or make builtins instead of external command executions
- macroizing commands and executing them in the targets where they
are needed instead of with every invocation of make
- precomputing the results of invariant commands in
bsd.port.subdir.mk and passing them in explicitly to child makes,
and using this to avoid recalculation in all the children. NB: the
commands are still run one per top-level subdirectory but this
does not currently seem to be a major issue. They could be moved
further up into the top-level Makefile at the cost of some
cleanliness.
- Committers are strongly discouraged from adding further "bare" !=
assignments to the ports tree, even in their own ports. One of
the above strategies should be used to avoid future bloat.
* Rewrite the core 'describe' target to work entirely within a single
shell process using only builtin commands. The old version is
retained as a backup for use on systems older than 603104, which
does not have the make :u modifier. This cuts down the number of
processes executed during the course of a 'make index' by an order
of magnitude, and we are essentially now amortized to the minimum of
a single make + sh instance per port, plus whatever commands the
port makefile itself executes (which are usually unnecessary and
bogus).
* Less validation of the WWW: target is performed; this can become
policed at a port level by portlint. Specifically we look at the
second word of the first line beginning with "WWW:" in pkg-descr,
and append "http://" to it unless it already begins with "http://",
"https://" or "ftp://". Thanks to dougb for the idea of how to
extract WWW: using shell builtins.
* Use the "true" shell builtin instead of echo > /dev/null for a
measurable decrease in CPU use.
* Add a note about dubious escaping strategy in bsd.port.subdir.mk
* Minor change in output of 'make describe': it no longer strips
trailing CR characters from pkg-descr files with MSDOS CR/LF
termination. Instead the makeindex perl script that post-processes
make describe into the INDEX is tweaked to strip on input.
The bottom line is that on my test hardware INDEX builds are now
faster by more than a factor of 2 and with a reduction in system time
by a factor of 4-8 depending on configuration.