Commit graph

176 commits

Author SHA1 Message Date
Marcus von Appen
026a6cfc87 - Fix replacement expressions for manpages, if PYDISTUTILS_AUTOPLIST is set 2013-10-19 07:49:54 +00:00
Marcus von Appen
ae868cb7fb - Enable proper manpage handling for PYDISTUTILS_AUTOPLIST, if the
manpages are installed by distutils.

Requested by:	avg@
Improvements:	jhein@symmetricom.com
2013-10-18 16:28:48 +00:00
Marcus von Appen
f106670c04 The default versions of lang/python* have been changed to support the
new DEFAULT_VERSIONS variable.

PYTHON_DEFAULT_VERSION, PYTHON2_DEFAULT_VERSION and
PYTHON3_DEFAULT_VERSION are deprecated. If you have set them in your
make.conf, you should change them something like

DEFAULT_VERSIONS=python=2.7 python2=2.7 python3=3.3
2013-10-03 09:25:37 +00:00
Marcus von Appen
e313d07ec3 Enable python meta-ports to be used as direct dependencies
via USE_PYTHON=2 (for lang/python2) or USE_PYTHON=3 (for lang/python3).
This can be used for ports, which do not care, which specific minor
release version of Python 2.x or Python 3.x is used, as long as there
are proper symlinks to e.g. bin/python2 or bin/python3.
2013-09-30 17:56:28 +00:00
Marcus von Appen
7fa21a62f0 - Delete the whole directory hierarchy, not only directories containing
files, when using PYDISTUTILS_AUTOPLIST.

Spotted by:	wg@
2013-09-27 18:33:16 +00:00
Marcus von Appen
330a9beb82 - Introduce a new port Makefile knob PYDISTUTILS_AUTOPLIST.
This will cause the ports framework to create the plist automatically
  for distutils-based ports. All files installed via Python's distutils
  mechanisms (either the traditional distutils or easy_install) will be
  automtically added to the package list, regardless of the Python
  version. It is somewhat similar to the RUBYGEM_AUTOPLIST knob.

- Introduce a new port Makefile knob PYTHON_PY3K_PLIST_HACK.

  This automatically replaces .pyc and .pyo package list entries with
  the relevant __pycache__ entries for Python 3.x. It should only be
  used for ports, which do not use one of Python's default package
  installation mechanisms and which are guaranteed to work with any
  python version.
2013-09-26 18:27:02 +00:00
Ruslan Makhmatkhanov
dc659a215b - add new USES target: zope, and convert the tree to it
- old USE_ZOPE knob support was removed from bsd.python.mk
- update CHANGES and bsd.sanity.mk accordingly
- add ZOPE options knob and use it in lang/py-mx-base

The work is done by Marcus von Appen, but any problems are mine.

Submitted by:	mva (python ML)
2013-09-23 13:42:48 +00:00
Baptiste Daroussin
cf099c77fa Add support for staging area in the ports tree
The ports tree is now staged by default. With pkgng the sequence hasn't
changed, the main difference is that creating package is now independent
from installing it. With pkg_install, the package is now created first
and make install, do install the package.

New macros:
- STAGEDIR: PATH to the directory where the port will be staged.
- NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area)

Unsupported macro if NO_STAGE is not set:
- MAN* with staging man page compression and handling of hardlinks and
symlinks is automatically done in the stage. the manpages becomes then a
"normal" plist files and should be tracked in pkg-plist.
- MANCOMPRESSED the compress-man target is able to only compress when it
needed.

New target:
- stage: this installs everything into the stage directory
- makeplist: this will create a pkg-plist and print it to stdout. This is
a sample plist and it should always be _reviewed_ not directly used.

NOTE: with staging only what is in the plist will be installed, nothing more,
meaning a port staged cannot have leftovers exect directories left. It is
really important to double check the pkg-plist to make sure all the files
the maintainer want to package are in! make makeplist can help in that area.

The goal is to handle as quickly as possible a full removal of the NO_STAGE
support.

More features can be added once the full ports tree is converted to using the
staging area

Conversion notes:
- Remove NO_STAGE
- in {pre,do,post}-install
  * Before any usage of ${PREFIX}, ${ETCDIR}, ${PORTSDIR}, ${PORTEXAMPLES}
    prepend ${STAGEDIR}
  * Remove any thing that is done by @exec or +INSTALL script it will be
    done automatically when syncing packages
  * Remove any code to show PKG-MESSAGE it will be done automatically when
    syncing packages
  * Directory creation should remain in post-install (in particular because
    pkgng doesn't work like pkg_install in that area and pkgng ignores the
    @exec mkdir but directly pack the directory even if empty)
- PORTDOCS/PORTEXAMPELS
  To support PORTDOCS, PORTEXAMPLES most of the time there is no more need
  for hacks. just add the right %%PORTDOCS%% or %%PORTEXAMPLES%% in your
  plist then the given files from the stagedir will or will not sync
  according to NOPORTDOCS and NOPORTEXAMPLES.

With hat:	portmgr
Reviewed by:	bdrewery
2013-09-23 05:56:35 +00:00
Marcus von Appen
1e35ab7368 - Introduce PYTHON2_DEFAULT_VERSION, the version of the default python2
binary in $PATH. It can be set in case the user wants to use a
  specific python2 version as a default. Its behaviour is similar
  to the existing PYTHON3_DEFAULT_VERSION and fixes a small issue with
  package builds for different python versions.
- Outline that PYTHON_DEFAULT_VERSION always takes precedence for a
  specific python major version.
- Update lang/python2 to use PYTHON2_DEFAULT_VERSION and bump the
  PORTREVISION to let the installed port catch up with the change.
- Allow PYTHON3_DEFAULT_VERSION to overriden by a user choice, if
  PYTHON_DEFAULT_VERSION is not set to a python3 port.

Reported by:	David Demelier <demelier.david@gmail.com>
Reviewed by:	koobs@, sbz@
With hat on:	python@
2013-09-15 12:52:28 +00:00
Sunpoet Po-Chuan Hsieh
90f9630c5f - Update comment of PYTHON_DISTFILE 2013-09-07 17:21:58 +00:00
Marcus von Appen
c46a353b83 - document the PYTHON_VER variable for port Makefiles 2013-08-25 08:12:59 +00:00
Marcus von Appen
0d2b99cdf6 - Add lang/python as temporary RUN and BUILD dependency, if USE_PYTHON*
is set. This should avoid most of the problems, the lang/python change
  introduced.
2013-08-18 14:46:41 +00:00
Chris Rees
3d119ba514 When python ports are installed that depend on the architecture/ABI of the
system currently installed (i.e. PYEASYINSTALL_ARCHDEP) the entire version
string of the system is used in the destination directory, for example;

python_ldap-2.4.12-py2.7-freebsd-10.0-CURRENT-amd64.egg

This plays havoc when STABLE, RELEASE and RELENG are used, not forgetting
patchlevels as well.  Now, only the major FreeBSD version number is included;

python_ldap-2.4.12-py2.7-freebsd-10-amd64.egg

Given that ABI should be stable at least over major releases, this now allows
packages to be created and installed correctly.

PR:		ports/133081
Submitted by:	Stef Walter <stef@memberwebs.com>
		(this patch used as a starting point)
Reviewed by:	No objections from python@
2013-06-29 11:43:01 +00:00
Martin Wilke
14422a1b1e - Remove support for USE_CMAKE and KDE4_BUILDENV, they are no of use anymore.
Unconditionally set CMAKE_ARGS in bsd.python.mk, as it don't affect non-cmake ports

PR:		177356
Submitted by:	makc@
2013-05-31 16:03:49 +00:00
Ruslan Makhmatkhanov
96f67b5600 Update lang/python32 to 3.2.5 and lang/python33 to 3.3.2 2013-05-18 08:21:00 +00:00
Ruslan Makhmatkhanov
11bf569497 - update to latest upstream versions:
. lang/python27: 2.7.3 -> 2.7.5
  . lang/python32: 3.2.3 -> 3.2.4
  . lang/python33: 3.3.0 -> 3.3.1
- update Mk/bsd.python.mk with new versions
- mark lang/python26 and lang/python31 as deprecated (set them to
  upstream EoL dates)
- update docs (lang/python-doc-html)
- align databases/py-bsddb patch for python27 - most of it was applied
  upstream. Raise BDB version to 4.3 atleast, according to
  upstream requirements.

Many thanks to Martin (miwi) for his time on this update.

PR:		178506
Submitted by:	rm (myself)
Exp-run by:	    portmgr (miwi)

- revert erroneous threads patch in lang/python26 and lang/python27,
  that was added after ports/131080. It was rejected upstream, because it's
  not actually a bug, but misuse.

  Gabor Pali (pgj) in collaboration with Kubilay Kocak (koobs) did an
  independent investigation regard the issue. See here for details:

  http://lists.freebsd.org/pipermail/freebsd-python/2013-April/005376.html

PR:	    153167
Submitted by:	Duncan Findlay <duncan@duncf.ca>
Reported by:	pgj/koobs (at python@ ML)
Exp-run by:     portmgr (miwi)
2013-05-17 04:17:22 +00:00
Ruslan Makhmatkhanov
f831a5f25d Commit all the non-functional changes to python ports to reduce the diff size
for an exp-run of updated python versions.

- trim Makefile headers
- remove leading indefinite article from COMMENT
- use PYTHON shortcut in MASTER_SITES
- whitespace fixes
- remove checks for unsupported versions of FreeBSD
- use static value ``33'' instead of PYTHON_SUFFIX in lang/python33/pkg-plist,
  because this value is not supposed to be changed across the branch and for
  consistency with other python3 ports
- remove conflicts in lang/python-mode.el with not more existing python-2.4
2013-05-11 11:37:54 +00:00
Baptiste Daroussin
e727f72ce8 Only try to retrieve python's version is the python command is installed to please bmake
Obtained from: 	dports
2013-05-02 14:11:03 +00:00
Sunpoet Po-Chuan Hsieh
6cfb605b6b - Update USE_PYTHON example
- Add cosmetic tab
2013-03-09 15:58:45 +00:00
Ruslan Makhmatkhanov
b06fadc69e - replace deprecated devel/py-setuptools with devel/py-distribute
- change explicit dependency for the ports, that don't utilize USE_DISTUTILS feature
- add UPDATING entry

PR:		176142
Submitted by:	rm (myself)
Approved by:	portmgr (miwi)
Tested by:  	exp-run by miwi
2013-03-05 07:12:24 +00:00
Li-Wen Hsu
6e2fa0573b - Remove "first-installed-win" logic for automatically setting
${PYTHON_DEFAULT_VERSION}, this generates conflicting packages.

- Create symbolic links as PEP 394 [1] suggests. ${PYTHON_DEFAULT_VERSION}
  will create python and python${MAJOR_VERSION} links.  In current default,
  lang/python27 will create: python -> python2 -> python2.7

- Introduce ${PYTHON3_DEFAULT_VERSION}, which will handle bin/python3 link.
  At this point, lang/python33 will create python3 -> python3.3

- Minor cleanups
  * Trim Makefile headers
  * Remove ${OSVERSION} detection for xz, whihc is done by USE_XZ

[1] http://www.python.org/dev/peps/pep-0394/
2012-12-23 17:52:46 +00:00
Dmitry Sivachenko
7c0f9fe801 Introduce PYTHON_MAJOR_VER variable.
Discussed on python@ a while ago.
2012-12-21 15:38:06 +00:00
Dmitry Sivachenko
c3793c1fde Port for python version 3.3.
Submitted by:	Kubilay Kocak <koobs.freebsd@gmail.com>
2012-12-20 11:55:54 +00:00
Ruslan Makhmatkhanov
309da33d2f - do not hardcode distfile extension for lang/python ports in bsd.python.mk
(PYTHON_DISTFILE variable)
- switch lang/python ports (and it's slaves) to tar.xz

I compared all the four pairs .tgz/.tar.xz and they have no content differences.

Discussed on:	python@
2012-10-03 04:06:37 +00:00
Ruslan Makhmatkhanov
a42c55a4cd - remove PYDISTUTILS "dependency line" since USE_PYTHON will garantee
availability of distutils module. There is no consumers of this in the tree.
- add PYGAME shortcut for devel/py-game
2012-09-13 04:05:41 +00:00
Ruslan Makhmatkhanov
8a2c694e65 - trim check for unsupported python versions
- change depends for USE_ZOPE case to make it work with current zope version

Submitted by:	lwhsu (final patch revision)
Reviewed by:	crees
Discussed in:	python
2012-09-11 14:27:22 +00:00
Ruslan Makhmatkhanov
473f7fc2dc - remove expired ports
* lang/python24 and lang/python25: unmaintained upstream
  * www/zope and www/zope211: unmaintained upstream (the only
    consumers of python24)
- clean-up python versions < 2.6 from lang/python-doc-html
- clean-up python24/25 from Mk/bsd.ports.mk
- add www/zope213 glue to bsd.python.mk
- clean-up zope versions != 2.13 from bsd.python.mk

Submitted by:	miwi (based on)
Approved by:	portmgr (miwi)
2012-07-16 17:04:29 +00:00
Sunpoet Po-Chuan Hsieh
83b5f64d38 - Revert accidental commit 2012-06-26 13:54:59 +00:00
Sunpoet Po-Chuan Hsieh
8ae901c16d - Add shared TLS description 2012-06-26 13:42:52 +00:00
Marcus von Appen
abb9ab5e87 - Force cmake to use PYTHON_VER as version to detect, so that it uses
the same Python version for the interpreter and library linking, if
  multiple Python versions are installed.

PR:		ports/168159
On behalf of:	python@
2012-06-19 17:18:13 +00:00
Marcus von Appen
ceb60c1ed0 - Ensure that PYTHONOPTIMIZE and PYTHONDONTWRITEBYTECODE are ignored on
using PY_DISTUTILS to avoid plist corruptions

PR:		ports/146957
Reported by:	swell.k@gmail.com
On behalf of:	python@
2012-06-17 12:28:19 +00:00
Sunpoet Po-Chuan Hsieh
7ef8361ca5 - Fix format:
- Remove superfluous colon
  - Change tab to space in the message
2012-05-30 14:54:34 +00:00
Ruslan Makhmatkhanov
9c08ea7fd8 Fix incompatibilities with python 3.x (mostly calling print as function).
PR:		166226
Submitted by:	Mel Flynn <rflynn at acsalaska dot net>
Approved by:    portmgr (pav)
2012-05-25 17:13:10 +00:00
Martin Wilke
61d8acdb49 - Remove emacs mode, -*- mode: ...; -*- [1]
- Comments for BUILD_ and RUN_DEPENDS fail to mention alternate means to specify dependencie [2]
- Fix make reinstall [3]
- Trivial comment change for PORTDATA [4]

PR:		151954 [1]
		161314 [2]
		167085 [3]
		167465 [4]
Submitted by:	Anonymous <swell.k@gmail.com> [1]
		dougb@ and Chris Rees <utisoft@gmail.com> [2]
		Garrett Cooper <yanegomi@gmail.com> [3]
		"Bryan Drewery" <bryan@shatow.net> [4]
Tested via:	phw
2012-05-23 08:17:49 +00:00
Martin Wilke
19425757a8 - Update:
* python26 -> 2.6.8
  * python27 -> 2.7.3
  * python31 -> 3.1.5
  * python32 -> 3.2.1

Security:	http://www.vuxml.org/freebsd/b4f8be9e-56b2-11e1-9fb7-003067b2972c.html
		CVE-2012-0845 CVE-2012-0876 CVE-2012-1150 CVE-2012-0845 CVE-2011-3389
2012-04-11 12:52:17 +00:00
Pav Lucistnik
0e654d3512 - Stop resolving dependencies on deinstall when juggling python eggs
PR:		ports/159962
Submitted by:	Ruslan Mahmatkhanov <cvs-src@yandex.ru>
2011-11-07 12:40:53 +00:00
Sofian Brabez
36b48d77cf - Update to 11.0.0
- Update MASTER_SITES
- Add LICENSE

Reviewed by:	lwhsu@
Approved by:	jadawin@ (mentor)
2011-09-07 09:27:54 +00:00
Wen Heping
adf82ac916 - Update lang/python32 to 3.2.2 2011-09-05 01:28:56 +00:00
Sunpoet Po-Chuan Hsieh
62896e4934 - Revert accidental commit 2011-09-04 17:35:07 +00:00
Sunpoet Po-Chuan Hsieh
65e103c48f - Remove ftp.net.ohio-state.edu
PR:		ports/160311
Submitted by:	Anton Shterenlikht <mexas@bristol.ac.uk>
2011-09-04 17:31:01 +00:00
Sunpoet Po-Chuan Hsieh
6138ed34b5 - Fix formatting
Submitted by:	obrien@
2011-08-03 01:14:21 +00:00
Li-Wen Hsu
9569935fbd - Make 3.2 higher priority than 3.1
PR:		ports/156811
Submitted by:	Volodymyr Kostyrko <c.kworr@gmail.com>
2011-07-22 15:38:11 +00:00
Li-Wen Hsu
1aeea51c58 - Update to 3.2.1
PR:		ports/158850
Submitted by:	wen
2011-07-22 15:12:07 +00:00
Sunpoet Po-Chuan Hsieh
96cd508600 - Introduce PYTHON_ABIVER: fix PYTHON_INCLUDEDIR for python32 users (PYMALLOC and UCS4 are on by default)
- 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
2011-07-14 04:13:24 +00:00
Wen Heping
d3a995e088 - Update to 2.7.2
- Mark BROKEN when build with pth

Reviewed by:	miwi@
2011-06-27 02:37:39 +00:00
Wen Heping
0ca8bc3717 - Update lang/python31 to 3.1.4 2011-06-16 08:18:09 +00:00
Wen Heping
1dd8e6661c - Update to 2.6.7 2011-06-08 08:17:06 +00:00
Wen Heping
93470f7aa5 - Update to 2.5.6 2011-05-30 12:08:39 +00:00
Brendan Fabeny
d163b8c30c Tell ports that USE_PYDISTUTILS to link shared objects
with the same compiler used to build them. While here,
fix a typo.

PR:		154742
Approved by:	miwi
2011-03-05 00:39:33 +00:00
Martin Wilke
5d9b68c9f2 - Restore python 2.4 in _PYTHON_ALLBRANCHES
Reported by:	ale@
2011-03-04 16:25:05 +00:00