Commit graph

6 commits

Author SHA1 Message Date
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
c0cd7bc6cc lang/python34: Fix build when semaphores are not enabled
Backport fix [1] for upstream Python Issue #21704 [2]: Fix build error for
_multiprocessing when semaphores are not available.

The symptom was originally reported by RedPorts 8.4-QAT/i386,
ultimately resulting in a packaging error:

  ...
  checking for sem_open... yes
  checking for sem_timedwait... yes
  checking for sem_getvalue... yes
  checking for sem_unlink... yes
  ...
  checking whether POSIX semaphores are enabled... no
  checking for broken sem_getvalue... yes
  ...

  *** WARNING: renaming "_multiprocessing" since importing it failed:
  build/lib.freebsd-8.4-RELEASE-i386-3.4/_multiprocessing.so: Undefined
  symbol "_PyMp_sem_unlink"

  ...

  pkg-static: lstat(/work/a/ports/lang/python34/work/stage/usr/local/lib/
  python3.4/lib-dynload/_multiprocessing.so): No such file or directory

Something is funny for Jail-based systems when it comes to host/jail
semaphore detection. A config.log would be handy to help determine why.

[1] http://hg.python.org/cpython/rev/f618f6739200
[2] http://bugs.python.org/issue21704
2014-08-25 07:59:45 +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
Antoine Brodin
53857e7276 - Create symlinks for non-ABI-suffixed python*-config and ABI-suffixed python-*.pc
- Fix DISABLED_EXTENSIONS extension patch, autoconf is not used so configure has to be patched

Phabric:	D225
Reviewed by:	koobs
2014-06-16 17:46:41 +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
51bf49a441 Welcome Python 3.4 to the FreeBSD Ports Tree!
The FreeBSD Python Team warmly welcomes Python 3.4 to the Ports tree:

- Add lang/python34
- Add devel/py-setuptools34
- Add Python 3.4.0 docs to lang/python-doc

Release Announcement and Major Features:

  https://www.python.org/download/releases/3.4.0/

This also marks the next stage of a cleaner, much-closer-to-upstream
approach to Python on FreeBSD, that builds upon the hard work of the
entire FreeBSD Python team over the last year.

This port is built "entirely" from scratch, retiring as much of the
legacy, workarounds, patches and hacks from the existing Python
ports as possible.

Of particular note: static + shared dual-build is gone, as it was flaky
at best, grossly untested upstream and caused more issues than it
solved. It is replaced by a shared build by default. The static python
library remains installed and usable.

Major changes in this structure are:

- Replace dual static and shared in-tree build with shared-only.
- Use options helpers
- Replace plat-freebsd* hacks with a lighter weight alternative
- Strip all libraries and shared extensions
- Only retain patches that are absolutely necessary
- Replace static disabled_module_list with one from upstream
- Retain NIS and sparc64 workarounds from python33
- Deprecate SEM option, no longer optional.
- Deprecate PTH option, no longer maintained or supported upstream
- Deprecate FPECTL option, no longer maintained or supported upstream
- Add upstream issue references & breadcrumb annotations where possible

Tested by:	many (Special thanks to Andrew Berg)
Reviewed by:	xmj, nemysis, antoine
2014-04-08 13:10:25 +00:00