Commit graph

267 commits

Author SHA1 Message Date
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
530b17b7f1 Do not define __BSD_VISIBLE/_XOPEN_SOURCE/_POSIX_C_SOURCE in
include/python2.7/pyconfig.h
This fixes x11-toolkits/py-wxPython30 build on head

PR:		192365
Exp-run:	self
Reviewed by:	jilles
With hat:	portmgr
2014-09-12 20:52:18 +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
Antoine Brodin
c9eb3747b1 Add back ac_cv_opt_olimit_ok=no, this is misdected with clang and causes
failures for ports using python's BASEFLAGS (devel/py-mx-experimental
for instance)

See also:	r335669
With hat:	portmgr
2014-08-02 14:45:43 +00:00
Marcus von Appen
fc8d424c6b - 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.
- Remove the FPECTL option to align the build with the clean "template" from
  lang/python34.
- Remove support for GNU pthreads via the PTH option. It is a permanent
  troublemaker for ports using Python and pthread support.
- 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.
- Remove bin/smtpd. Only Python2.7 wants to install it, but we'd like to keep
  it consistent with the other lang/pythonXX ports
- Add CPE support.
- Reactivate curses/ncurses support.
- Use buildbottest in the regression-test: target.
- Move pkg-message to the right place.

Phabric:		D488
Exp-run:	192242, 192244
Reviewed by:	koobs
With hat:	python@
2014-08-02 06:54:20 +00:00
Kubilay Kocak
26ae40b6bc lang/python27: Update to 2.7.8
The FreeBSD Python team welcomes Python 2.7.8 to the Ports tree!

Announcement: https://www.python.org/download/releases/2.7.8/
Changelog:    http://hg.python.org/cpython/raw-file/v2.7.8/Misc/NEWS

- Update to 2.7.8, update pkg-plist
- OPTIONS: Reorder and sort alphabetically
- OPTIONS: Make POSIX SEM(aphores) a DEFAULT (Hi binary package users!)
- OPTIONS: Add better descriptions for UCS2 and UCS4
- OPTIONS: Use options helpers
- Remove patch-CVE-2014-1912: upstream, was backported
- Remove patch-issue20374: upstream, was backported
- Rename patch-Doc__library__fcntl.rst: underscore convention
- Rename patch-Modules__fcntlmodule.c: underscore convention
- Patch: setup.py: Remove ncurses overrides and return to upstream code
- Patch: setup.py: Add partial backport for ossaudio OS checks
- pkg-message: Remove warning for POSIX Semaphores. They are now in
  GENERIC for FreeBSD 8.x 9.x, 10.x and tested well upstream
- pkg-message: No longer needs substitutions, remove .in suffix and
  SUB_FILES
- Rework and simplify the platformX mechanism, update pkg-plist
  accordingly
- Add regression-test target
- Deprecate NOPORTDATA, remove pkg-plist entries with %%PORTDATA%%
- Replace bsd.{pre,post}.mk with bsd.port.options.mk

Based on original patch submitted by wen@ and worked on by lwhsu@,
thank you!

PR:             191405
PR:             178301
PR:             171246
Phabric:        D364
Reviewed by:    antoine, bapt, mat, mva, wg
2014-07-14 07:20:40 +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
Tijl Coosemans
9f8b4bcde3 Support LIBS like LDFLAGS.
- Add LIBS="${LIBS}" to MAKE_ENV and CONFIGURE_ENV.
- Add an option helper for LIBS.
- Adjust all ports that already use LIBS.  Also remove references to
  PTHREAD_CFLAGS and PTHREAD_LIBS while here.
- Some ports did not support having a LIBS environment variable and
  required additional patches.

Somewhat simplified a linker command line looks like:

${CC} ${src_LDFLAGS} ${LDFLAGS} ${src_LIBS} ${LIBS}

where src_LDFLAGS and src_LIBS are controlled by upstream and LDFLAGS and
LIBS can be controlled by us.  If possible -L and -l flags need to be
added to LIBS to make sure they appear after any -L and -l flags set by
upstream.  Many ports currently add -L${LOCALBASE}/lib to LDFLAGS but this
may appear too early on the command line causing installed libraries to
be linked in instead of freshly built ones.

Additional changes:
benchmarks/netio: Replace WITH_IPV6 with an IPV6 option.
comms/gnokii: Replace some patches with USES=pathfix.  Also remove -fPIC.
graphics/gimageview: USES=libtool and install desktop file in DESKTOPDIR.
graphics/visionworkbench: Remove FreeBSD 7 support.
multimedia/libmovtar: New LIB_DEPENDS syntax.
multimedia/opencinematools: Use standard do-build.
net/siproxd: USES=libtool:keepla (port actually needs .la files for plugins)
net-mgmt/nagios: Remove -fPIC.
net-mgmt/nagios4: Remove -fPIC.
print/cups-base: Only add -lssp_nonshared on i386 and OSVERSION < 1000036.
security/p11-kit: Replace PTHREAD_LIBS in CONFIGURE_ENV with
ac_cv_func_pthread_mutexattr_init=no in CONFIGURE_ARGS.  This skips a test
in configure that falsely detects pthread_mutexattr_init in our libc.
sysutils/dar: Fix iconv detection.
x11/rxvt-unicode: Remove -lstdc++ and patch configure to remove a FreeBSD
hack and use $CXX as linker as on other platforms.

PR:		190592
Exp-run by:	antoine
Approved by:	portmgr (antoine)
2014-06-11 14:49:59 +00:00
Kubilay Kocak
5d7a9aceb6 lang/python{27,31,32}: Replace USE_XZ with USES=tar:xz
USE_XZ has been deprecated, replace it with the new USES value.

Python 3.3 and 3.4 ports have already been converted.
2014-04-22 14:37:04 +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
Antoine Brodin
7acf693fdf Allow staging/packaging as a regular user:
- pycompile only once, previously it would pycompile 3 imported modules
  (getopt, struct and py_compile) and make them read-only, and later try
  to pycompile them again and fail
- ranlib before installing archive read-only

With hat:	portmgr
2014-04-05 09:04:28 +00:00
Antoine Brodin
8376e27862 - Fix build with readline 6.3 from ports
the patch was obtained from upstream (issue #20374)
- Add missing USES=readline

PR:		ports/187174
Reported by:	O. Hartmann
Reviewed by:	koobs
Obtained from:	python
2014-03-01 14:10:13 +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
Sean Bruno
6de6c75db3 Unbreak python module builds across the tree as a result of clang 3.4 import
now disallowing the use of -R.

Submitted by:	antoine
Reviewed by:	gjb
2014-02-28 03:04:19 +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
Alexey Dokuchaev
542dbc8cc7 Remove references to long unsupported alpha. 2014-01-29 14:54:52 +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
Kubilay Kocak
d536d1d88b All Python ports: Address abort() for ctypes import on FreeBSD/ARM
The current FreeBSD/ARM __clear_cache() implementation does nothing #if
__i386__ || __x86_64__ #else abort();

cognet@ advises this is an issue for anything !Apple that is using the
libcompiler_rt provided by Clang on ARM, and requires upstreaming.

This is the root cause of abort() on import for the ctypes module in
Python, as they bundle libffi. [1]

This change patches the bundled libffi library in all Python ports, even
though it is a NOOP for the ports that use devel/libffi. These ports,
currently python31, will get the fix via ports/184517

A huge shout out to cognet@ who helped diagnose the issue and created
the patch to address it. Thank you!

PR:		ports/149167 [1]
PR:		ports/184517
Submitted by:	cognet [3]
Reviewed by:	cognet, eadler, milki, ak
2013-12-08 06:22:07 +00:00
Kubilay Kocak
a8610b8d32 lang/python27: Remove patch-configure, its now a NOOP
lang/python26, lang/python27 and lang/python31 now add
ac_cv_opt_olimit_ok=no to CONFIGURE_ENV to disable functionality that
was removed in Python 3.2+ [1]

Pending a backport of the commit [2] to 2.7, we can now remove the
locally maintained patch to configure that disabled the functionality
when CC = clang.

Apart from being narrower in scope than ac_cv_opt_olimit_ok=no, the patch
doesn't work for FreeBSD versions where clang *is* cc (eg: 10.0+)

[1] http://hg.python.org/lookup/r85656
[2] http://bugs.python.org/issue877121

Reviewed by:	antoine
2013-12-05 13:33:17 +00:00
Kubilay Kocak
9c597eecc6 lang/python27: Update to 2.7.6
- Update to 2.7.6
- Update pkg-plist
- Temporarily override OPT:Olimit using CONFIGURE_ENV (ports/182952) [1]
- Replace patch: extra-patch-configure-pth with CONFIGURE_ENV instead
- Remove patch: patch-Modules-_ctypes-libffi_fficonfig.py.in [2]
- QA: Clean up and group related USE_*, WRKSRC and CONFIGURE entries
- QA: Whitespace alignment

Changes: 2.7.6 - November 10, 2013

http://www.python.org/download/releases/2.7.6/

[1] Python removed OPT:Olimit in 3.2+, requested backport or
    alternative upstream patch: http://bugs.python.org/issue877121
[2] Upstreamed: http://bugs.python.org/issue18178

PR:		ports/182952
PR:		ports/156759
Reviewed by:	antoine, mva
2013-11-24 13:22:40 +00:00
William Grzybowski
f451bf37d7 lang/python27: fix patch for SEM option
PR:		ports/183884
2013-11-13 09:42:04 +00:00
William Grzybowski
f760a28ec7 lang/python27: add support for freebsd11
PR:		ports/183597
Submitted by:	avilla
2013-11-11 12:01:22 +00:00
Baptiste Daroussin
888ab73a81 Add NO_STAGE all over the place in preparation for the staging support (cat: lang) 2013-09-20 19:53:09 +00:00
Kubilay Kocak
ec7259ec32 Resolve gettext (libintl) detection and linking in all Python ports
Fix gettext (NLS) detection, includes and linking:
- all: Use LDFLAGS and CPPFLAGS over CFLAGS for NLS option (with comment)
- python26,27: Pass LIBS="-lintl" to CONFIGURE_ENV

Workaround Pythons odd build mechanics causing duplicate args:
- all: Remove CFLAGS from OPT= in CONFIGURE_ENV
- python32,33: Remove CONFIGURE_* variables from Makefile.pre.in

Other:
- python32: Patch setup.py to pass OPT correctly to shared modules

PR:		ports/181721
Reported by:	pawel
Reviewed by:	bapt mva sbz
2013-09-08 14:05:18 +00:00
Marcus von Appen
7452555915 - Move the symlink magic for the default python version into lang/python
and lang/python2 and lang/python3. This change brings us closer to the goal
  of making Python ports usable with different Python versions at the same
  time.
- Add a new lang/python2 port to handle the symlinks for bin/python2,
  bin/idle2, bin/pydoc2 and so on.
- Add a new lang/python3 port to handle the symlinks for bin/python3,
  bin/idle3, bin/pydoc3 and so on.
- Bump the PORTREVISION on all lang/python* ports.
2013-08-17 19:10:59 +00:00
Alex Kozlov
d4041784dc - Remove MAKE_JOBS_SAFE variable
Approved by:	portmgr (bdrewery)
2013-08-14 22:35:50 +00:00
Li-Wen Hsu
5ad157df04 Correct syntax in kernel config is 'options'
Submitted by:	kevlo
2013-07-03 08:14:13 +00:00
Ruslan Makhmatkhanov
b922bed77e Add patch that resolves the issue, found after r250991 in src HEAD.
Investigation and the patch are from Marcel Moolenaar.

I also added upstream bug-report, based on Marcel's info:
http://bugs.python.org/issue18178

There also was relevant discussion on current@:
http://lists.freebsd.org/pipermail/freebsd-current/2013-June/

Please see there for details of the issue.

Submitted by:	marcel (python@ ML)
Reported by:	many
2013-06-10 08:20:15 +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
Jason Helfman
7cdc62b981 - adoption of USES for gettext
Approved by:	portmgr (bapt@)
2013-05-06 06:32:22 +00:00
Jung-uk Kim
57945c1ebe - Update devel/libffi to 3.0.11.
- Reset maintainership for libffi.  See ports/164941.

PR:		ports/171768
Submitted by:	Takefu <takefu@airport.fm>
2013-01-29 00:35:32 +00:00
Marcus von Appen
996e4b60c3 - Fix the -OPT:Olimit=X detection for clang, which could pollute the
output of python27-config --cflags

PR:		ports/172859 ports/161494 ports/174525
Submitted by:	Oleg Nauman <oleg.nauman@gmail.com>
2013-01-14 17:56:47 +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
10277be714 Create python2 symlink for the latest version of python2.X executable and
python3 symlink for the latest version of python3.X executable.

People who really want to use older python version for both python branches
should specify explicit version number in interpreter invocation.

Discussed on python@ long ago.
2012-12-21 15:45:29 +00:00
Koop Mast
4e9d93dbac Don't try to tidy up user-created directories.
Approved by:	crees (python@)
2012-10-06 08:01:29 +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
Olli Hauer
f1ddff4b92 - fix PORT_OPTIONS s/)/}/ 2012-09-08 11:48:59 +00:00
Marcus von Appen
a9682d1571 - Fix Python OPT flags for WITH_PTH knob
PR:		ports/168767
Submitted by:	Marcus von Appen <mva@freebsd.org>
2012-07-22 09:45:24 +00:00
Marcus von Appen
2f377af2d0 - Fix builds, if the NLS option switch is set. In some cases
expat-related modules are not built correctly.

PR:		ports/169276
Submitted by:	Greg Byshenk <freebsd@byshenk.net>
2012-06-20 22:35:15 +00:00
Marcus von Appen
b89f9ab26f - Fix gettext detection for the locale module
- Explicitly enable/disable gettext support via a new NLS OPTION switch.

PR:		ports/168684 ports/136917
On behalf of:	python@
2012-06-19 17:48:42 +00:00
Marcus von Appen
66adb13649 - unbreak WITH_PTH option support
PR:		ports/155936
Submitted by:	Kalten <kalten@gmx.at>
On behalf of:	python@
2012-06-16 14:53:56 +00:00