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
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.
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
- Mk/bsd.database.mk rewrite, new default to db5.
- db6 is eligible by default only if installed on the system.
- Bump PORTREVISION of all ports that directly depend on BerkeleyDB or
where USE_BDB is found in the port's directory
- Patch a few ports such that they will pick up or work with newer
versions.
- Add UPDATING entry
- Drive-by format fix for pks
- Drop BerkeleyDB option from mail/popular for now, requires more work.
- Exp-run logs linked from the PR below.
- Ports that do not build (IGNORE, BROKEN, etc.) have pro-forma changes
for new Berkeley DB, but are untested.
NOTE: please read UPDATING and the Wiki page before proceeding!
Announcement: http://lists.freebsd.org/pipermail/freebsd-ports-announce/2014-August/000090.html
Wiki reference: https://wiki.freebsd.org/Ports/BerkeleyDBCleanup
PR: 192690
Approved by: portmgr (implicit, PORTREVISION bump on unstaged ports)
Mysteries in this port remain, such as why it depends on libreadline.so.6
directly, and why it brings in X11 dependencies only if you turn the
X11 OPTION off.
<ChangeLog>
Add PS4 port.
Add support for multilib distro builds.
Fix OSX build.
Fix MinGW build.
Fix Xbox 360 build.
Improve ULOAD forwarding for open upvalues.
Fix GC steps threshold handling when called by JIT-compiled code.
Fix argument checks for math.deg() and math.rad().
Fix jit.flush(func|true).
Respect jit.off(func) when returning to a function, too.
Fix compilation of string.byte(s, nil, n).
Fix line number for relocated bytecode after closure fixup.
Fix frame traversal for backtraces.
Fix ABC elimination.
Fix handling of redundant PHIs.
Fix snapshot restore for exit to function header.
Fix type punning alias analysis for constified pointers.
Fix call unroll checks in the presence of metamethod frames.
Fix initial maxslot for down-recursive traces.
Prevent BASE register coalescing if parent uses IR_RETF.
Don't purge modified function from stack slots in BC_RET.
Fix recording of BC_VARG.
Don't access dangling reference to reallocated IR.
Fix frame depth display for bytecode dump in -jdump.
ARM: Fix register allocation when rematerializing FPRs.
x64: Fix store to upvalue for lightuserdata values.
FFI: Add missing GC steps for callback argument conversions.
FFI: Properly unload loaded DLLs.
FFI: Fix argument checks for ffi.string().
FFI/x64: Fix passing of vector arguments to calls.
FFI: Rehash finalizer table after GC cycle, if needed.
FFI: Fix cts->L for cdata unsinking in snapshot restore.
</ChangeLog>
GCC 4.2 in FreeBSD 8.X/9.X base is now too old to compile OpenEXR, so
GCC-based systems will upgrade to the default ports compiler (GCC 4.7
currently.)
Add two patches to OpenEXR to permit building it in a live system with
the older OpenEXR version installed. Bug report filed to upstream Github
at https://github.com/openexr/openexr/issues/130
Couple OpenEXR more tightly to ilmbase and require its exact .so
version.
Add UPDATING note, and bump PORTREVISION of all dependent ports.
Proto-STAGE hugin-devel, and mark it IGNORE because hugin is newer.
Approved by: portmgr (implicit for bumping PORTREVISION on unstaged ports)