8 Commits

Author SHA1 Message Date
Mathieu Arnold
6146cf6b51 Convert to USE_PYTHON=concurrent instead of doing it manually, and add
flavors.

While there, cleanup a bit.

Sponsored by:	Absolight
2017-12-18 13:10:14 +00:00
Mathieu Arnold
551be3c723 Convert Python ports to FLAVORS.
Ports using USE_PYTHON=distutils are now flavored.  They will
  automatically get flavors (py27, py34, py35, py36) depending on what
  versions they support.

  There is also a USE_PYTHON=flavors for ports that do not use distutils
  but need FLAVORS to be set.  A USE_PYTHON=noflavors can be set if
  using distutils but flavors are not wanted.

  A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
  added to cope with Python ports that did not have the Python
  PKGNAMEPREFIX but are flavored.

  USES=python now also exports a PY_FLAVOR variable that contains the
  current python flavor.  It can be used in dependency lines when the
  port itself is not python flavored.  For example, deskutils/calibre.

  By default, all the flavors are generated.  To only generate flavors
  for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define
  BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf.

  In all the ports with Python dependencies, the *_DEPENDS entries MUST
  end with the flavor so that the framework knows which to build/use.
  This is done by appending '@${PY_FLAVOR}' after the origin (or
  @${FLAVOR} if in a Python module with Python flavors, as the content
  will be the same).  For example:

    RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}

PR:		223071
Reviewed by:	portmgr, python
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D12464
2017-11-30 15:50:30 +00:00
Dmitry Marakasov
67971bd0fb Improve shebangfix framework
- Support multiple values in *_OLD_CMD, i.e. we can now fix both "/usr/bin/python" and "/usr/bin/env python" at the same time
- Default *_OLD_CMD values are now always appended, so you don't need to specify them in individual ports
- Add lua support (depends on USES=lua)
- Add more default values, such as "/usr/bin/env foo" for python, perl, bash, ruby and lua
- Shebangfix now matches whole words, e.g. we will no longer (erroneously) replace "/usr/bin/perl5.005" with "${perl_CMD}5.005" (but "/usr/bin/perl -tt" is still (correctly) replaced with "${perl_CMD} -tt")

Note that *_OLD_CMD items containing spaces must now be quoted (e.g. perl_OLD_CMD=/bin/perl /usr/bin/perl "/usr/bin/env perl")

Update shebangfix usage according to new rules in many ports:

- Remove *_OLD_CMD for patterns now replaced by default
- Quote custom *_OLD_CMD which contain spaces

Fix shebangfix usage in many ports (irrelevant to infrastructure change):

- Remove redundant SHEBANG_LANG (no need to duplicate default langs)
- Remove redundant *_CMD (such as python_CMD=${LOCALBASE}/bin/python${PYTHON_VER} when USES=python is present)
- Never use *_OLD_CMD in REINPLACE_CMD matchers, these should always look for exact string

Approved by:	portmgr (bapt)
Differential Revision:	D3756
2015-10-19 14:50:52 +00:00
Antoine Brodin
6e381a9d53 Switch default python_CMD used by shebangfix to ${PYTHON_CMD} for ports
using python

PR:		201077
Reviewed by:	mat
With hat:	portmgr
Differential Revision:	https://reviews.freebsd.org/D2955
2015-07-29 22:09:53 +00:00
Bernard Spil
318cae9c09 lang/python-(tools,doc-html): Update to 2.7.10
The FreeBSD Python team welcomes Python 2.7.10 to the Ports tree!

Announcement:	https://www.python.org/downloads/release/python-2710/
Changelog:	https://hg.python.org/cpython/raw-file/v2.7.10/Misc/NEWS

Important changes for this release:
 - Python 2.7.10 is a bug fix release of the Python 2.7.x series.
 - Fixes issues with LibreSSL 2.2+

PR: 		192511, 201088
Differentialr Revision:	D2637
Reviewed by:	koobs (mentor), vsevolod (mentor), antoine
Approved by:	koobs (mentor)
2015-07-03 13:34:41 +00:00
Antoine Brodin
1b85bc9332 Switch PYTHON_REL from a 3 digits number to a 4 digits number to handle
python 2.7.10

Differential Revision:	https://reviews.freebsd.org/D2639
Reviewed by:	sunpoet, mva
2015-05-26 16:47:02 +00:00
Mathieu Arnold
60d1a83c2a MASTER_SITES cleanup.
- Replace ${MASTER_SITE_FOO} with FOO.
- Merge MASTER_SITE_SUBDIR into MASTER_SITES when possible. (This means 99.9%
  of the time.)
- Remove occurrences of MASTER_SITE_LOCAL when no subdirectory was present and
  no hint of what it should be was present.
- Fix some logic.
- And generally, make things more simple and easy to understand.

While there, add magic values to the FESTIVAL, GENTOO, GIMP, GNUPG, QT and
SAMBA macros.

Also, replace some EXTRACT_SUFX occurences with USES=tar:*.

Checked by:	make fetch-urlall-list
With hat:	portmgr
Sponsored by:	Absolight
2015-05-14 10:15:04 +00:00
Marcus von Appen
3d62b77032 A selection of supplementary tools for the Python language, which ship with
the Python default distribution.

Phabric:	D561
Reviewed by:	antoine, koobs
With hat:	python@
2014-08-18 16:44:14 +00:00