Commit graph

71 commits

Author SHA1 Message Date
Danilo G. Baio
a4046066e9 lang/python{27,33,34,35,36}: Make Python curses module work with Unicode
Use readline from ports (USES= readline:port) and patch
setup.py to ignore readline from base. The patch is necessary for
FreeBSD < 1100000, as after this the readline library became an
INTERNALLIB, see base r268461 [1]

Link devel/readline against termcapw instead of termcap is part of
this change, see ports r444463 [2]

Note that this is the **ports** approach for getting Python curses
module working with Unicode. The other way is splitting libncurses
into separate libncurses and libtinfo in base, for which an open
issue exists [3].

Apart from Python language ports, at least www/rtv and
sysutils/py-ranger ports have been tested to work correctly
(display Unicode) after this change.

[1] https://svnweb.freebsd.org/changeset/base/268461
[2] https://svnweb.freebsd.org/changeset/ports/444463
[3] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197317

PR:		171246, 197317
Reported by:	Vitaly Magerya <vmagerya gmail com>
Reviewed by:	garga, koobs, miwi, sunpoet
Approved by:	garga (mentor), sunpoet (python, with hat)
Differential Revision:	https://reviews.freebsd.org/D11127
2017-06-28 02:37:53 +00:00
Sunpoet Po-Chuan Hsieh
cb037d3c98 Update devel/readline to 7.0 patch 3
- Bump PORTREVISION for shlib change

Changes:	https://cnswww.cns.cwru.edu/php/chet/readline/CHANGES
		https://lists.gnu.org/archive/html/bug-bash/2016-09/msg00107.html
		https://lists.gnu.org/archive/html/bug-readline/2017-01/msg00002.html
Differential Revision:	https://reviews.freebsd.org/D11172
PR:		219947
Exp-run by:	antoine
2017-06-27 13:46:53 +00:00
Sunpoet Po-Chuan Hsieh
8c151f7a0f Update DEPRECATED to latest default python3 2017-06-18 02:52:36 +00:00
Kubilay Kocak
2f6fe8dcec lang/python{27,33,34,35,36}: Install GDB debugging script
Users with a GDB that supports [1] Python extensions will automatically
load the extra debugging extensions when debugging programs that are
linked with libpythonX.Y.so.foo.

This enables extensions like 'py-bt' and 'py-frame' as described in
the Fedora Wiki Article: Easier Python Debugging [2], which can be
useful for debugging Python program state from crashes in C extensions,
for example.

[1] PYTHON option enabled in devel/gdb
[2] https://fedoraproject.org/wiki/Features/EasierPythonDebugging

PR:		203021
Submitted by:	cem
Reviewed by:	mat, koobs (python)
Approved by:	koobs (python)
Differential Revision: D10398
2017-06-06 12:56:47 +00:00
Sunpoet Po-Chuan Hsieh
026b804fad Update WWW 2017-04-16 11:08:30 +00:00
Martin Wilke
d69a0b0f5d - Fix shebang
Thanks to: amdmi3
2017-04-14 18:07:08 +00:00
Bernard Spil
930c6dac52 lang/python33: Fix HTTP Header injection vulnerability
- Backport of upstream fix for 3.4/3.5

PR:             210539
Submitted by:	Vladimir Krstulja <vlad-fbsd@acheronmedia.com>
Reported by:    Vladimir Krstulja <vlad-fbsd@acheronmedia.com>
Reviewed by:    robak, brnrd
MFH:		2016Q4
Security:       CVE-2016-5699
Security:       a61374fc-3a4d-11e6-a671-60a44ce6887b
Differential Revision:  D7107
2016-11-27 16:52:25 +00:00
Tijl Coosemans
0d2a64d2f9 Remove no-op patch.
This patch was submitted to upstream libffi and from there to upstream
libtool, but it doesn't do anything.  The original patch committed in
r158131 did do something but when it was no longer needed it was changed
into something that doesn't make sense in r221521 instead of being removed.
Remove it now before it causes more confusion.
2016-11-02 14:51:48 +00:00
Mathieu Arnold
a0bcd2cf68 Use USES=pathfix where applicable.
PR:		213195
Submitted by:	mat
Exp-run by:	antoine
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D8093
2016-10-21 15:21:13 +00:00
Bernard Spil
f1c0818850 lang/python3*: Backport upstream issue 24557
- Add backport of patch for EGD issue [1]
  - Change USE_OPENSSL to USES= ssl
  - Don't set CPE_VERSION to the default PORTVERSION

PR:		205960 [1], 199050 [1]
Reviewed by:	koobs (python)
Approved by:	python (koobs)
Obtained from:	https://hg.python.org/cpython/rev/7c0432cf1f2e [1]
MFH:		2016Q3
2016-07-08 19:07:41 +00:00
Ruslan Makhmatkhanov
5643ed620a lang/python[xx]: backport upstream fix for CVE-2016-5636
Add patch for integer overflow in zipimport module to all our python ports.

While I'm here, get rid of -f flag in ${RM} invocation, because ${RM} already
expands to rm -f, so in result we are getting something like:

/bin/rm -f -f /wrkdirs/usr/ports/lang/python35/work/stage/usr/local/lib/libpython3.so

PR:		210325
Submitted by:	 Vladimir Krstulja <vlad-fbsd@acheronmedia.com>
Security:	1d0f6852-33d8-11e6-a671-60a44ce6887b
With hat:	python
2016-06-17 17:09:04 +00:00
Dmitry Marakasov
c86e9d9724 Remove NLS, DOCS, EXAMPLES and IPV6 from OPTIONS_DEFAULT, they are enabled by default anyway and don't need to be listed
Approved by:	portmgr blanket
2016-05-23 20:35:01 +00:00
Dimitry Andric
3ab35818fc For the various lang/python* ports, improve the __FreeBSD_version
check in pyport.h for working around a very old ctype issue.

If the workaround for this issue is enabled, pyport.h redefines
toupper() and some other ctype macros, and this wreaks havoc when
including newer libc++ headers (or any other system header which tries
to declare those functions).

Approved by:	portmgr (antoine)
PR:		208486
MFH:		2016Q2
2016-04-25 20:22:19 +00:00
Mathieu Arnold
a9dcad2fff Remove ${PORTSDIR}/ from dependencies, categories h, i, j, k, and l.
With hat:	portmgr
Sponsored by:	Absolight
2016-04-01 14:08:37 +00:00
Kubilay Kocak
474ff0ec6a lang/python{27,3*}: Backport patch in upstream issue20397
In certain situations, file references (.py[co]) for Python files that
fail to compile with compileall() are still added to distutils --record
output.

This output is used for pkg-plist generation and must only contain
references to files that will be installed.

One example of a failure condition is when a Python 2/3 compatible
package containing a file containing Python 3.x only code is built with
Python 2.x, such as Gunicorn's _gaiohttp.py [1]

This change backports patches submitted against upstream issue 20397 [2]
that has not yet been committed.

 - For Python 2.7 and 3.5, backport both install_lib and test
 - For Python 3.2, 3.3 and 3.4, only backport install_lib

[1] https://svnweb.freebsd.org/changeset/ports/404558
[2] https://bugs.python.org/issue20397

Thank you to Brendan Molloy for producing and submitting the patches
against upstream sources.

Reviewed by:		sbz (python)
MFH:			2016Q1
Differential Revision:	D4832
2016-01-08 16:45:09 +00:00
John Marino
6256117d69 lang/python27(3*), Mk/Uses/python.mk: remove make spawn
There are some inefficiencies in python.mk that significantly slow down
full tree scanning.  The use of bmake to obtain the current version of
a specific python is responsible for the majority of the slow done.

This commit splits out the PYTHON_PORTVERSION definition (which is the
same as the lang/python* PORTVERSION) into separate files.  With this
change, python.mk can simple include the makefile fragment instead of
spawning a new instance of make.

Different Revision:	https://reviews.freebsd.org/D4660
Approved by:		antoine (python), mva (python)
2015-12-29 12:03:09 +00:00
Bernard Spil
21989ce0a8 lang/python33: Fix typo in No-SSLv3 patch
- Fix typo that was introduced with the No-SSLv3 patch [1]

[1] http://svnweb.freebsd.org/changeset/ports/404347

Reported by:	antoine via pkg-fallout
Reviewed by:	koobs (mentor, python), antoine (python)
Approved by:	koobs (mentor, python), antoine (python)
Differential Revision:	https://reviews.freebsd.org/D4721
2015-12-28 12:42:40 +00:00
Antoine Brodin
daf5be1a3d Restore unixccompiler.py patch, it was not included upstream 2015-12-25 21:51:59 +00:00
Bernard Spil
8ecfacd239 lang/python33: Update to 3.3.6
- Update to 3.3.6 (released 2014-10-11)
  - Backport issue21356 RAND_egd fix [1]
  - Fix build for openssl -nossl3
  - Remove unixcompiler patch, included upstream
  - Switch regression-test to TEST_TARGET/TEST_ARGS
  - Mark DEPRECATED, EXPIRES Sept 2017 [2]

[1] http://bugs.python.org/issue21356
[2] https://www.python.org/dev/peps/pep-0398/#lifespan

This is a bug/security fix update. Changelog:

  https://docs.python.org/3.3/whatsnew/changelog.html#python-3-3-6

PR:		195511
Reviewed by:	koobs (mentor, python), feld, miwi, AMDmi3
Approved by:	koobs (python), miwi, AMDmi3
Differential_Revision:	https://reviews.freebsd.org/D4695
2015-12-24 12:06:30 +00:00
Li-Wen Hsu
4c536e83f0 Add version specified ports of separated standard Python modules for
non-default Python versions:

- Add pyXY-{sqlite3,gdbm,tkinter} ports for generating binary packages
- Improve/add pkg-message to point users to install respective packages of
  separated Python standard modules
- Add COMMENT to explicitly show the Python version that package should be
  used with
- Simplify version-related PYTHON_* for lang/python35

Reviewed by:	koobs
Differential Revision:	https://reviews.freebsd.org/D4170
2015-11-19 01:28:38 +00:00
Kubilay Kocak
479c987464 lang/python{27,32,33}: Fix missing shlib path in python-config
In Python 3.4+, upstream added and switched to using a shell
implementation of the python-config script [1]. The Python
implementation  (python-config.py) remained used by all versions < 3.4.

While the shell implementation returns the path to the Python
shared library when using the --ldflags script argument, the Python
implementation of the script does not. The bug has been reported, but
has not yet been merged [2].

The Python ports currently default to including ${LOCALBASE}/lib
in LIBS when the NLS option is enabled (which it is by default).

When built *with* NLS (gettext) support, the flags added to LIBS
are returned in `pythonX.Y-config --ldflags` output, which happens
to match the path to the Python shared library.

If the NLS option is disabled, ${LOCALBASE}/lib is not added to LIBS,
and are therefore not returned in --ldflags output.

This results in potential linking errors for software that uses
python-config to obtain the correct library path, when the NLS option is
disabled:

$ make WITH=PYTHON -C audio/alsa-lib
[...]
--- smixer-python.la ---
CCLD     smixer-python.la
/usr/bin/ld: cannot find -lpython2.7

This change modifies the python-config.in script to match the shell
implementation, outputting the library path in --ldflags output.

While I'm here:

for Python 3.2 and Python 3.3 ports, backport a library order
change [3]. This could affect linking with static libraries.

Use standard length lines and reduce diffs in pkg-message

[1] https://bugs.python.org/issue16235
[2] https://bugs.python.org/issue7352
[2] https://bugs.python.org/issue18096

PR:		197757
Submitted by:	jbeich
MFH:		2015Q4
2015-10-18 09:50:39 +00:00
Kubilay Kocak
63e4144b8e lang/python{27,32,33,34}: Mark MAKE_JOBS_UNSAFE
Parser/pgen code intermittently and non-deterministically fails
at build time causing errors including, among others:

 * Parser/pgen.o: file not recognized: File truncated
 * pgenmain.c:(.text+0x244): undefined reference to `_Py_pgen'

This is apparently due to incorrect uses of recursive make [1] which
was fixed in the upstream Python 'default' (3.5) branch [2].

This change marks all Python port versions as MAKE_JOBS_UNSANFE until
the the original changeset [1] and the resulting regression in
cross-builds [3], whos fix is still pending, can be backported.

[1] https://bugs.python.org/issue22359
[2] https://hg.python.org/cpython/rev/c2a53aa27cad
[3] https://bugs.python.org/issue22625

PR:		200622
Reported by:	marino
MFH:		2015Q3
2015-07-30 03:31:55 +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
Bryan Drewery
412afd34ba Force a rebuild/upgrade to chase head r280306 which removed SSLv2 support.
This fixes head package users so they have working SSL support. There was
already a built-time fix for this.
2015-04-06 16:58:36 +00:00
John Marino
d945d5ea98 lang category: Remove $PTHREAD_LIBS
Note: ecl did not pass check-plist (pre-existing), PR 198897 submitted.

approved by:	PTHREAD blanket
2015-03-25 12:58:33 +00:00
Kubilay Kocak
df8bd0d006 lang/python33: BROKEN on i386 without LIBFFI
As per lang/python27 (r377581):

- Add BROKEN for i386 without LIBFFI option, and add upstream
  issue references.

While I'm here, clean up after the LIBFFI option addition:

- Sort options variables: OPTIONS_* and *_DESC
- Use OPTIONS helpers
- Reduce diffs between lang/python* ports
2015-02-11 08:22:29 +00:00
Marcus von Appen
21c90c5467 - Revert the previous NIS check, since it does not help at all
PR:		196195
Submitted by:	ache@
With hat:	python@
2014-12-22 16:45:41 +00:00
Marcus von Appen
4a19da7af9 - Python 3.x: try to improve the NIS detection for FreeBSD
PR:		193650
With hat:	python
2014-12-22 09:47:36 +00:00
Dmitry Sivachenko
aa02163c14 Add an option to use libffi from ports instead of bundled version.
Submitted by:	cy
Reviewed by:	koobs
2014-11-04 09:14:21 +00:00
Baptiste Daroussin
77cba41a62 Cleanup plist 2014-10-27 15:23:30 +00:00
Antoine Brodin
228ab58873 Change INSTALL_DATA to install with mode 644
Remove patches and hacks that were used to work around the previous
situation
This allows to stage more ports as a regular user

Differential Revision:	https://reviews.freebsd.org/D703
Reviewed by and discussed with:	bapt
With hat:	portmgr
2014-09-04 19:26:24 +00:00
Kubilay Kocak
0d6e53966b lang/python{27,33,34}: Bump PORTREVISION, sanitizes builds.
Bump PORTREVISION, as prior to the previous change that fixed upstream Issue
#21166, Python builds could be potentially polluted by the host environment
which could caused runtime issues because of ABI differences.
2014-08-23 05:19:50 +00:00
Kubilay Kocak
3e8425cb1e lang/python{27,33,34}: Backport fix for upstream Issue #21166
Backport fix for upstream Issue #21166:

Prevent possible segfaults and other random failures of python
--generate-posix-vars in pybuilddir.txt build target by ensuring
that pybuilddir.txt is always regenerated when configure is run and
that the newly built skeleton python does not inadvertently import
modules from previously installed instances. [1]

This changeset has been committed for release in 2.7.9, 3.4.2, and 3.5.0.

A HUGE thank you to Ned Deily from the Python Core Development Team
for helping to identify the underlying cause, produce a fix and
wonderfully document the explanation.

[1] http://bugs.python.org/issue21166
2014-08-23 03:53:25 +00:00
Marcus von Appen
600af559c2 - Add USE_OPENSSL, since all lang/python ports build the _ssl module, which
requires a working OpenSSL implementation

Phabric:		D569
Reviewed by:	wg@
With hat:	python@
2014-08-10 18:36:27 +00:00
Marcus von Appen
d76d35ef87 - Remove everything related to USE_PYTHON and bsd.python.mk. This is a
preparatory step to convert bsd.python.mk into a USES file.
- Remove the shared/static build separation, which is the source of many
  problems and even more hacks. Instead build only the shared version, which
  greatly simplifies the build.
- Use NLS_LIBS instead of NLS_LDFLAGS as done for lang/python27 (r357486)
- Remove the FPECTL option to align the build with the clean "template" from
  lang/python34.
- Remove PORTDATA and EXAMPLES. Those will be made available via separate
  ports.
- Add a new DEBUG option to enable debug builds as for lang/python34.
- Add a new TSC option for precise timestamp counter support as for
  lang/python34.
- Reactivate curses/ncurses support.
- Use buildbottest in the regression-test: target.

Phabric:	D410
Exp-run:	192242, 192244
Reviewed by:	koobs, bapt
With hat:	python@
2014-08-02 06:39:17 +00:00
Antoine Brodin
47334312c6 Drop some %%PORTDATA%%
With hat:	portmgr
2014-07-20 19:57:14 +00:00
Sofian Brabez
b5d9bfb7a4 - Add CPE entries for python
- Remove NOPORTDATA as it's deprecated since r359061
2014-07-11 18:09:01 +00:00
Baptiste Daroussin
a33191366c Convert GMAKE to MAKE_CMD
Please note that lots of invocation of MAKE_CMD here are wrong as they do not
properly respect MAKE_ENV and friends

With hat:	portmgr
2014-06-25 05:35:31 +00:00
Kubilay Kocak
aab3da8d2a lang/python{31,32,33}: Fix stage/package as non-root
Copy the second part of a change previously made to python27 [1], to
python31, python32 and python33.

This fixes staging and packaging of these ports by a non-root user by
running ranlib on the archive prior to it being installed read-only.

While I'm here:

- python27: Add breadcrumbs and references to the patch header
- python34: Update breadcrumbs and references to the patch header

[1] https://svnweb.freebsd.org/ports?view=revision&revision=350207

Submitted by:	antoine
Reviewed by:	kwm, sbz
2014-04-22 12:14:26 +00:00
Kubilay Kocak
21c7eb2952 lang/python{31,32,33}: Add clang 3.4 fix from python27
Copy change committed to python27 [1] to python31, python32 and
python33 to fix builds of some extensions with Clang 3.4.

Also add breadcrumbs to the patch header in lang/python27 referencing
the upstream issue. [2]

The Python 3.4 port (lang/python34) already carries the patch.

[1] https://svnweb.freebsd.org/ports?view=revision&revision=346428
[2] http://bugs.python.org/issue20767
2014-04-20 01:35:39 +00:00
Sunpoet Po-Chuan Hsieh
c5569783bd - Pet portlint: use PYTHON_DISTNAME instead of PYTHON_DISTFILE 2014-04-11 08:25:47 +00:00
Sunpoet Po-Chuan Hsieh
0520820ce2 - Fix shebang
- Use USES=tar:xz
- Bump PORTREVISION for package change
- Space/Tab twiddle
2014-04-06 05:47:08 +00:00
Dmitry Sivachenko
79cd466b4d Update python33: 3.3.4 --> 3.3.5. 2014-03-10 11:28:55 +00:00
Kubilay Kocak
ea56f87d19 lang/python33: Update to 3.3.4
- Update to 3.3.4
- Update pkg-plist
- Remove patch-CVE-2014-1912 (upstream)
- Remove patch-issue20374 (upstream)
- Repatch and rename patch-Modules__fcntlmodule.c
- Add patch-issue-20695-Lib__test__test_urllibnet.py (tests) [1]
- Add regression-test target for QA

Changes: 3.3.4 - 09/02/2014

    http://docs.python.org/3.3/whatsnew/changelog.html#python-3-3-4

Extra:

- Update python-doc-html distinfo for Python 3.3 docs
- Update bsd.python.mk to support the new version

[1] http://bugs.python.org/issue20695
2014-03-04 12:38:02 +00:00
Antoine Brodin
bacc41af94 - Fix build with readline 6.3 from ports
the patch was obtained from upstream (issue #20374)
- Add missing USES=readline

PR:		ports/187176
Reported by:	O. Hartmann
Reviewed by:	koobs
Obtained from:	python
2014-03-01 14:28:08 +00:00
Kubilay Kocak
7a2c2ce6e7 lang/python*: Backport security fix for CVE-2014-1912
A vulnerability was reported [1] in Python's socket module, due to a
boundary error within the sock_recvfrom_into() function, which could be
exploited to cause a buffer overflow.

This could be used to crash a Python application that uses the
socket.recvfrom_info() function or, possibly, execute arbitrary code
with the permissions of the user running vulnerable Python code.

This vulnerable function, socket.recvfrom_into(), was introduced in
Python 2.5. Earlier versions are not affected by this flaw.  This is
fixed in upstream branches for version 2.7, 3.1, 3.2 and 3.3.

[1] http://bugs.python.org/issue20246

MFH:		2014Q1
Security:	8e5e6d42-a0fa-11e3-b09a-080027f2d077
2014-03-01 10:52:55 +00:00
Marcus von Appen
a23998721f - Fix bad libpython* symlinks after enabling the lang/python* ports to
be stagedir-aware

PR:		ports/186284
Submitted by:	marino@
Pointyhat to:	myself
2014-02-01 09:21:23 +00:00
Marcus von Appen
6e3723845d - Enable stagedir support
- Convert to new LIB_DEPENDS
2014-01-26 14:47:56 +00:00
Kubilay Kocak
7db9db9528 Bump PORTREVISION for all Python ports to pickup the recent ARM patch
PR:		ports/149167
2013-12-08 09:03:01 +00:00
Kubilay Kocak
9b3e3f814b Reduce diffs, sort sections & Add LICENSE for Python 2.6, 2.7 & 3.3
- Sort USE_*, *_WRKSRC and CONFIGURE/MAKE sections
- Whitespace alignment for readability
- Add LICENSE (PSFL)

Reviewed by:	milki
2013-12-08 08:57:34 +00:00