--- a/components/libxml2/Makefile Wed Aug 06 10:14:32 2014 -0700
+++ b/components/libxml2/Makefile Wed Feb 04 07:11:04 2015 -0800
@@ -74,12 +74,16 @@
# 64-bit only, so we have an extra sed edit below to force the .py files into
# the 32-bit location and we manually specify the 32-bit path in the manifest
# to correct for the .so file being installed there instead of the 64-bit path
-# where it belongs.
+# where it belongs. Further, Python 3.4 needs an extra 'm' on the link and
+# include paths, plus a tweak to the binary path; see PEP 3149 for details.
COMPONENT_POST_CONFIGURE_ACTION = \
(cd $(@D) ; cp -rp python python2.7 ; \
$(GSED) -i -e 's/2[.]6/2.7/g' `find python2.7 -name Makefile` ; \
cd $(@D) ; cp -rp python python3.4 ; \
- $(GSED) -i -e 's/2[.]6/3.4/g' -e 's|vendor-packages/64|vendor-packages|' \
+ $(GSED) -i -e 's|-lpython2[.]6|-lpython3.4m|' \
+ -e 's|usr/bin/$(MACH64)/python2[.]6|usr/bin/python3.4m|' \
+ -e 's|usr/include/python2[.]6|usr/include/python3.4m|' \
+ -e 's/2[.]6/3.4/g' -e 's|vendor-packages/64|vendor-packages|' \
`find python3.4 -name Makefile` ; \
)
--- a/components/python/pep8/pep8-PYVER.p5m Wed Aug 06 10:14:32 2014 -0700
+++ b/components/python/pep8/pep8-PYVER.p5m Wed Feb 04 07:11:04 2015 -0800
@@ -47,9 +47,12 @@
file path=usr/lib/python$(PYVER)/vendor-packages/pep8-$(COMPONENT_VERSION)-py$(PYVER).egg-info/namespace_packages.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pep8-$(COMPONENT_VERSION)-py$(PYVER).egg-info/not-zip-safe
file path=usr/lib/python$(PYVER)/vendor-packages/pep8-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
+# The bypass for time is temporary until pkgdepend learns about PEP 3149,
+# new in Python 3.x; see 19510349.
file path=usr/lib/python$(PYVER)/vendor-packages/pep8.py \
pkg.depend.bypass-generate=.*/[Cc]onfig[Pp]arser.* \
- pkg.depend.bypass-generate=.*/testsuite.*
+ pkg.depend.bypass-generate=.*/testsuite.* \
+ pkg.depend.bypass-generate=.*/time.*
file usr/share/man/man1/pep8.1 path=usr/share/man/man1/pep8-$(PYVER).1
link path=usr/share/man/man1/pep8.1 target=pep8-$(PYVER).1 mediator=python \
mediator-version=$(PYVER)
--- a/components/python/prettytable/prettytable-PYVER.p5m Wed Aug 06 10:14:32 2014 -0700
+++ b/components/python/prettytable/prettytable-PYVER.p5m Wed Feb 04 07:11:04 2015 -0800
@@ -42,8 +42,11 @@
file path=usr/lib/python$(PYVER)/vendor-packages/prettytable-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
# Python 2.x & 3.x, import "html" modules with slightly different syntax:
# 2.x uses lower-case; 3.x uses upper-case; hence the expression below.
+# The bypass for unicodedata is temporary until pkgdepend learns about PEP
+# 3149, new in Python 3.x; see 19510349.
file path=usr/lib/python$(PYVER)/vendor-packages/prettytable.py \
- pkg.depend.bypass-generate=.*[Hh][Tt][Mm][Ll].*
+ pkg.depend.bypass-generate=.*[Hh][Tt][Mm][Ll].* \
+ pkg.depend.bypass-generate=.*unicodedata.*
license prettytable.license license=BSD
# force the rename with an optional dependency on the old name
--- a/components/python/pytest/pytest-PYVER.p5m Wed Aug 06 10:14:32 2014 -0700
+++ b/components/python/pytest/pytest-PYVER.p5m Wed Feb 04 07:11:04 2015 -0800
@@ -66,8 +66,10 @@
file path=usr/lib/python$(PYVER)/vendor-packages/_pytest/skipping.py
# Python 3 has pickle instead of cPickle. The code is written properly, but
# pkgdepend is not (yet) smart enough to grok the difference; see 18697587.
+# The bypass for zlib is temporary until pkgdepend learns about PEP 3149,
+# new in Python 3.x; see 19510349.
file path=usr/lib/python$(PYVER)/vendor-packages/_pytest/standalonetemplate.py \
- pkg.depend.bypass-generate=.*cPickle.*
+ pkg.depend.bypass-generate=.*cPickle.* pkg.depend.bypass-generate=.*zlib.*
file path=usr/lib/python$(PYVER)/vendor-packages/_pytest/terminal.py
file path=usr/lib/python$(PYVER)/vendor-packages/_pytest/tmpdir.py
file path=usr/lib/python$(PYVER)/vendor-packages/_pytest/unittest.py
--- a/components/python/python34/Makefile Wed Aug 06 10:14:32 2014 -0700
+++ b/components/python/python34/Makefile Wed Feb 04 07:11:04 2015 -0800
@@ -101,9 +101,6 @@
CONFIGURE_OPTIONS += --with-system-expat
CONFIGURE_OPTIONS += --with-system-ffi
CONFIGURE_OPTIONS += --without-gcc
-# Building with pymalloc is the default, but that causes core dumps;
-# see http://bugs.python.org/issue21412 for details.
-CONFIGURE_OPTIONS += --without-pymalloc
CONFIGURE_OPTIONS += --without-ensurepip
CONFIGURE_OPTIONS += --enable-ipv6
CONFIGURE_OPTIONS += CPPFLAGS="$(CPPFLAGS)"
--- a/components/python/python34/patches/06-solaris-64-bit.patch Wed Aug 06 10:14:32 2014 -0700
+++ b/components/python/python34/patches/06-solaris-64-bit.patch Wed Feb 04 07:11:04 2015 -0800
@@ -125,15 +125,15 @@
sysconfig.get_config_var('CC'))
--- Python-3.4.1/Lib/importlib/_bootstrap.py.~1~ 2014-05-18 22:19:38.000000000 -0700
-+++ Python-3.4.1/Lib/importlib/_bootstrap.py 2014-08-06 08:37:18.145242823 -0700
++++ Python-3.4.1/Lib/importlib/_bootstrap.py 2014-08-27 08:46:00.145242823 -0700
@@ -2046,6 +2046,15 @@
is_namespace = _path_isdir(base_path)
# Check for a file w/ a proper suffix exists.
for suffix, loader_class in self._loaders:
+ message = 'checking {!r}: {!r}'.format(self.path, suffix)
+ _verbose_message(message, verbosity=2)
-+ # If in 64-bit mode, append /64 to the path.
-+ if suffix == '.so' and sys.maxsize != 2 ** 31 - 1:
++ # If in 64-bit mode, append /64 to the path for .so files.
++ if suffix.endswith('.so') and sys.maxsize != 2 ** 31 - 1:
+ full_path = _path_join(self.path, '64', tail_module + suffix)
+ _verbose_message('trying {}'.format(full_path), verbosity=2)
+ if _path_isfile(full_path):
--- a/components/python/python34/patches/12-py_db.patch Wed Aug 06 10:14:32 2014 -0700
+++ b/components/python/python34/patches/12-py_db.patch Wed Feb 04 07:11:04 2015 -0800
@@ -18,16 +18,16 @@
+SHLIB_FLAGS = -shared -fpic
+
-+libpython3.4_db.so.1.0: $(srcdir)/py_db/libpython34_db.c
++libpython$(LDVERSION)_db.so.1.0: $(srcdir)/py_db/libpython34_db.c
+ $(CC) -o $@ $(CFLAGS) $(PY_CPPFLAGS) $(CPPFLAGS) $(SHLIB_FLAGS) $<
+
+check_offset: $(srcdir)/py_db/check_offsets.c
+ $(CC) -o $@ $(CFLAGS) $(PY_CPPFLAGS) $(CPPFLAGS) $<
+
-+build-py_db: libpython3.4_db.so.1.0 check_offset
++build-py_db: libpython$(LDVERSION)_db.so.1.0 check_offset
+
-+install-py_db: libpython3.4_db.so.1.0 check_offset
-+ $(INSTALL_SHARED) libpython3.4_db.so.1.0 $(DESTDIR)$(LIBDIR)
++install-py_db: libpython$(LDVERSION)_db.so.1.0 check_offset
++ $(INSTALL_SHARED) libpython$(LDVERSION)_db.so.1.0 $(DESTDIR)$(LIBDIR)
+ $(INSTALL_PROGRAM) check_offset $(DESTDIR)$(BINDIR)
Modules/Setup: $(srcdir)/Modules/Setup.dist
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/python34/patches/18-pymalloc.patch Wed Feb 04 07:11:04 2015 -0800
@@ -0,0 +1,45 @@
+This patch comes from upstream; it will likely no longer be needed whenever
+Python 3.4.2 becomes available.
+
+# HG changeset patch
+# Parent 7fafbb7e1a8fbcb8875e25d8cd07273069127556
+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.
+
+--- Python-3.4.1/Makefile.pre.in Mon Aug 11 15:01:28 2014 -0500
++++ Python-3.4.1/Makefile.pre.in Mon Aug 11 18:16:56 2014 -0700
+@@ -557,8 +557,18 @@
+ # Create build directory and generate the sysconfig build-time data there.
+ # pybuilddir.txt contains the name of the build dir and is used for
+ # sys.path fixup -- see Modules/getpath.c.
++# Since this step runs before shared modules are built, try to avoid bootstrap
++# problems by creating a dummy pybuildstr.txt just to allow interpreter
++# initialization to succeed. It will be overwritten by generate-posix-vars
++# or removed in case of failure.
+ pybuilddir.txt: $(BUILDPYTHON)
+- $(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars
++ @echo "none" > ./pybuilddir.txt
++ $(RUNSHARED) $(PYTHON_FOR_BUILD) -S -m sysconfig --generate-posix-vars ;\
++ if test $$? -ne 0 ; then \
++ echo "generate-posix-vars failed" ; \
++ rm -f ./pybuilddir.txt ; \
++ exit 1 ; \
++ fi
+
+ # Build the shared modules
+ # Under GNU make, MAKEFLAGS are sorted and normalized; the 's' for
+--- Python-3.4.1/configure.ac Mon Aug 11 15:01:28 2014 -0500
++++ Python-3.4.1/configure.ac Mon Aug 11 18:16:56 2014 -0700
+@@ -53,6 +53,9 @@
+ AC_SUBST(build)
+ AC_SUBST(host)
+
++# pybuilddir.txt will be created by --generate-posix-vars in the Makefile
++rm -f pybuilddir.txt
++
+ if test "$cross_compiling" = yes; then
+ AC_MSG_CHECKING([for python interpreter for cross build])
+ if test -z "$PYTHON_FOR_BUILD"; then
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/python34/patches/19-SOABI.patch Wed Feb 04 07:11:04 2015 -0800
@@ -0,0 +1,14 @@
+This patch was developed in-house. We have not yet decided whether to offer
+it upstream or not.
+
+--- Python-3.4.1/configure.ac.~4~ 2014-08-19 14:56:06.370409509 -0700
++++ Python-3.4.1/configure.ac 2014-08-19 14:56:45.423571774 -0700
+@@ -4129,7 +4129,7 @@
+
+ AC_SUBST(EXT_SUFFIX)
+ case $ac_sys_system in
+- Linux*|GNU*)
++ Linux*|GNU*|SunOS)
+ EXT_SUFFIX=.${SOABI}${SHLIB_SUFFIX};;
+ *)
+ EXT_SUFFIX=${SHLIB_SUFFIX};;
--- a/components/python/python34/python-34.p5m Wed Aug 06 10:14:32 2014 -0700
+++ b/components/python/python34/python-34.p5m Wed Feb 04 07:11:04 2015 -0800
@@ -46,133 +46,123 @@
value=PSARC/2009/529 value=PSARC/2013/235 value=PSARC/2014/151
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
#
-link path=usr/bin/$(MACH64)/2to3 target=2to3-3.4 mediator=python \
- mediator-version=3.4
-file path=usr/bin/$(MACH64)/2to3-3.4
-link path=usr/bin/$(MACH64)/idle3 target=idle3.4 mediator=python \
- mediator-version=3.4
-file path=usr/bin/$(MACH64)/idle3.4
-link path=usr/bin/$(MACH64)/pydoc3 target=pydoc3.4 mediator=python \
- mediator-version=3.4
-file path=usr/bin/$(MACH64)/pydoc3.4
-link path=usr/bin/$(MACH64)/python3-config target=python3.4-config \
- mediator=python mediator-version=3.4
-file path=usr/bin/$(MACH64)/python3.4
-file path=usr/bin/$(MACH64)/python3.4-config
-link path=usr/bin/$(MACH64)/pyvenv target=pyvenv-3.4 mediator=python \
- mediator-version=3.4
-file path=usr/bin/$(MACH64)/pyvenv-3.4
link path=usr/bin/2to3 target=2to3-3.4 mediator=python mediator-version=3.4
-link path=usr/bin/2to3-3.4 target=$(MACH64)/2to3-3.4
-link path=usr/bin/idle3 target=idle3.4 mediator=python mediator-version=3.4
-link path=usr/bin/idle3.4 target=$(MACH64)/idle3.4
-link path=usr/bin/pydoc3 target=pydoc3.4 mediator=python mediator-version=3.4
-link path=usr/bin/pydoc3.4 target=$(MACH64)/pydoc3.4
-link path=usr/bin/python3-config target=python3.4-config mediator=python \
+file usr/bin/$(MACH64)/2to3-3.4 path=usr/bin/2to3-3.4
+link path=usr/bin/idle target=idle3.4 mediator=python mediator-version=3.4
+file usr/bin/$(MACH64)/idle3.4 path=usr/bin/idle3.4
+link path=usr/bin/pydoc target=pydoc3.4 mediator=python mediator-version=3.4
+file usr/bin/$(MACH64)/pydoc3.4 path=usr/bin/pydoc3.4
+link path=usr/bin/python target=python3.4 mediator=python mediator-version=3.4
+link path=usr/bin/python-config target=python3.4-config mediator=python \
mediator-version=3.4
-link path=usr/bin/python3.4 target=$(MACH64)/python3.4
-link path=usr/bin/python3.4-config target=$(MACH64)/python3.4-config
-link path=usr/bin/pyvenv target=pyvenv-3.4 mediator=python mediator-version=3.4
-link path=usr/bin/pyvenv-3.4 target=$(MACH64)/pyvenv-3.4
-file path=usr/include/python3.4/Python-ast.h
-file path=usr/include/python3.4/Python.h
-file path=usr/include/python3.4/abstract.h
-file path=usr/include/python3.4/accu.h
-file path=usr/include/python3.4/asdl.h
-file path=usr/include/python3.4/ast.h
-file path=usr/include/python3.4/bitset.h
-file path=usr/include/python3.4/bltinmodule.h
-file path=usr/include/python3.4/boolobject.h
-file path=usr/include/python3.4/bytearrayobject.h
-file path=usr/include/python3.4/bytes_methods.h
-file path=usr/include/python3.4/bytesobject.h
-file path=usr/include/python3.4/cellobject.h
-file path=usr/include/python3.4/ceval.h
-file path=usr/include/python3.4/classobject.h
-file path=usr/include/python3.4/code.h
-file path=usr/include/python3.4/codecs.h
-file path=usr/include/python3.4/compile.h
-file path=usr/include/python3.4/complexobject.h
-file path=usr/include/python3.4/datetime.h
-file path=usr/include/python3.4/descrobject.h
-file path=usr/include/python3.4/dictobject.h
-file path=usr/include/python3.4/dtoa.h
-file path=usr/include/python3.4/dynamic_annotations.h
-file path=usr/include/python3.4/enumobject.h
-file path=usr/include/python3.4/errcode.h
-file path=usr/include/python3.4/eval.h
-file path=usr/include/python3.4/fileobject.h
-file path=usr/include/python3.4/fileutils.h
-file path=usr/include/python3.4/floatobject.h
-file path=usr/include/python3.4/frameobject.h
-file path=usr/include/python3.4/funcobject.h
-file path=usr/include/python3.4/genobject.h
-file path=usr/include/python3.4/graminit.h
-file path=usr/include/python3.4/grammar.h
-file path=usr/include/python3.4/import.h
-file path=usr/include/python3.4/intrcheck.h
-file path=usr/include/python3.4/iterobject.h
-file path=usr/include/python3.4/listobject.h
-file path=usr/include/python3.4/longintrepr.h
-file path=usr/include/python3.4/longobject.h
-file path=usr/include/python3.4/marshal.h
-file path=usr/include/python3.4/memoryobject.h
-file path=usr/include/python3.4/metagrammar.h
-file path=usr/include/python3.4/methodobject.h
-file path=usr/include/python3.4/modsupport.h
-file path=usr/include/python3.4/moduleobject.h
-file path=usr/include/python3.4/namespaceobject.h
-file path=usr/include/python3.4/node.h
-file path=usr/include/python3.4/object.h
-file path=usr/include/python3.4/objimpl.h
-file path=usr/include/python3.4/opcode.h
-file path=usr/include/python3.4/osdefs.h
-file path=usr/include/python3.4/parsetok.h
-file path=usr/include/python3.4/patchlevel.h
-file path=usr/include/python3.4/pgen.h
-file path=usr/include/python3.4/pgenheaders.h
-file path=usr/include/python3.4/py_curses.h
-file path=usr/include/python3.4/pyarena.h
-file path=usr/include/python3.4/pyatomic.h
-file path=usr/include/python3.4/pycapsule.h
-file path=usr/include/python3.4/pyconfig.h
-file path=usr/include/python3.4/pyctype.h
-file path=usr/include/python3.4/pydebug.h
-file path=usr/include/python3.4/pyerrors.h
-file path=usr/include/python3.4/pyexpat.h
-file path=usr/include/python3.4/pyfpe.h
-file path=usr/include/python3.4/pygetopt.h
-file path=usr/include/python3.4/pyhash.h
-file path=usr/include/python3.4/pymacconfig.h
-file path=usr/include/python3.4/pymacro.h
-file path=usr/include/python3.4/pymath.h
-file path=usr/include/python3.4/pymem.h
-file path=usr/include/python3.4/pyport.h
-file path=usr/include/python3.4/pystate.h
-file path=usr/include/python3.4/pystrcmp.h
-file path=usr/include/python3.4/pystrtod.h
-file path=usr/include/python3.4/pythonrun.h
-file path=usr/include/python3.4/pythread.h
-file path=usr/include/python3.4/pytime.h
-file path=usr/include/python3.4/rangeobject.h
-file path=usr/include/python3.4/setobject.h
-file path=usr/include/python3.4/sliceobject.h
-file path=usr/include/python3.4/structmember.h
-file path=usr/include/python3.4/structseq.h
-file path=usr/include/python3.4/symtable.h
-file path=usr/include/python3.4/sysmodule.h
-file path=usr/include/python3.4/token.h
-file path=usr/include/python3.4/traceback.h
-file path=usr/include/python3.4/tupleobject.h
-file path=usr/include/python3.4/typeslots.h
-file path=usr/include/python3.4/ucnhash.h
-file path=usr/include/python3.4/unicodeobject.h
-file path=usr/include/python3.4/warnings.h
-file path=usr/include/python3.4/weakrefobject.h
-link path=usr/lib/$(MACH64)/libpython3.4.so target=libpython3.4.so.1.0
-file path=usr/lib/$(MACH64)/libpython3.4.so.1.0
-link path=usr/lib/$(MACH64)/libpython3.4_db.so target=libpython3.4_db.so.1.0
-file path=usr/lib/$(MACH64)/libpython3.4_db.so.1.0
+hardlink path=usr/bin/python3.4 target=python3.4m
+file usr/bin/$(MACH64)/python3.4m path=usr/bin/python3.4m
+link path=usr/bin/python3.4-config target=python3.4m-config
+file usr/bin/$(MACH64)/python3.4m-config path=usr/bin/python3.4m-config
+# pyvenv is new in 3.x, so no need for a mediator now, but one will be needed
+# when we add 3.5 .
+link path=usr/bin/pyvenv target=pyvenv-3.4
+file usr/bin/$(MACH64)/pyvenv-3.4 path=usr/bin/pyvenv-3.4
+#
+file path=usr/include/python3.4m/Python-ast.h
+file path=usr/include/python3.4m/Python.h
+file path=usr/include/python3.4m/abstract.h
+file path=usr/include/python3.4m/accu.h
+file path=usr/include/python3.4m/asdl.h
+file path=usr/include/python3.4m/ast.h
+file path=usr/include/python3.4m/bitset.h
+file path=usr/include/python3.4m/bltinmodule.h
+file path=usr/include/python3.4m/boolobject.h
+file path=usr/include/python3.4m/bytearrayobject.h
+file path=usr/include/python3.4m/bytes_methods.h
+file path=usr/include/python3.4m/bytesobject.h
+file path=usr/include/python3.4m/cellobject.h
+file path=usr/include/python3.4m/ceval.h
+file path=usr/include/python3.4m/classobject.h
+file path=usr/include/python3.4m/code.h
+file path=usr/include/python3.4m/codecs.h
+file path=usr/include/python3.4m/compile.h
+file path=usr/include/python3.4m/complexobject.h
+file path=usr/include/python3.4m/datetime.h
+file path=usr/include/python3.4m/descrobject.h
+file path=usr/include/python3.4m/dictobject.h
+file path=usr/include/python3.4m/dtoa.h
+file path=usr/include/python3.4m/dynamic_annotations.h
+file path=usr/include/python3.4m/enumobject.h
+file path=usr/include/python3.4m/errcode.h
+file path=usr/include/python3.4m/eval.h
+file path=usr/include/python3.4m/fileobject.h
+file path=usr/include/python3.4m/fileutils.h
+file path=usr/include/python3.4m/floatobject.h
+file path=usr/include/python3.4m/frameobject.h
+file path=usr/include/python3.4m/funcobject.h
+file path=usr/include/python3.4m/genobject.h
+file path=usr/include/python3.4m/graminit.h
+file path=usr/include/python3.4m/grammar.h
+file path=usr/include/python3.4m/import.h
+file path=usr/include/python3.4m/intrcheck.h
+file path=usr/include/python3.4m/iterobject.h
+file path=usr/include/python3.4m/listobject.h
+file path=usr/include/python3.4m/longintrepr.h
+file path=usr/include/python3.4m/longobject.h
+file path=usr/include/python3.4m/marshal.h
+file path=usr/include/python3.4m/memoryobject.h
+file path=usr/include/python3.4m/metagrammar.h
+file path=usr/include/python3.4m/methodobject.h
+file path=usr/include/python3.4m/modsupport.h
+file path=usr/include/python3.4m/moduleobject.h
+file path=usr/include/python3.4m/namespaceobject.h
+file path=usr/include/python3.4m/node.h
+file path=usr/include/python3.4m/object.h
+file path=usr/include/python3.4m/objimpl.h
+file path=usr/include/python3.4m/opcode.h
+file path=usr/include/python3.4m/osdefs.h
+file path=usr/include/python3.4m/parsetok.h
+file path=usr/include/python3.4m/patchlevel.h
+file path=usr/include/python3.4m/pgen.h
+file path=usr/include/python3.4m/pgenheaders.h
+file path=usr/include/python3.4m/py_curses.h
+file path=usr/include/python3.4m/pyarena.h
+file path=usr/include/python3.4m/pyatomic.h
+file path=usr/include/python3.4m/pycapsule.h
+file path=usr/include/python3.4m/pyconfig.h
+file path=usr/include/python3.4m/pyctype.h
+file path=usr/include/python3.4m/pydebug.h
+file path=usr/include/python3.4m/pyerrors.h
+file path=usr/include/python3.4m/pyexpat.h
+file path=usr/include/python3.4m/pyfpe.h
+file path=usr/include/python3.4m/pygetopt.h
+file path=usr/include/python3.4m/pyhash.h
+file path=usr/include/python3.4m/pymacconfig.h
+file path=usr/include/python3.4m/pymacro.h
+file path=usr/include/python3.4m/pymath.h
+file path=usr/include/python3.4m/pymem.h
+file path=usr/include/python3.4m/pyport.h
+file path=usr/include/python3.4m/pystate.h
+file path=usr/include/python3.4m/pystrcmp.h
+file path=usr/include/python3.4m/pystrtod.h
+file path=usr/include/python3.4m/pythonrun.h
+file path=usr/include/python3.4m/pythread.h
+file path=usr/include/python3.4m/pytime.h
+file path=usr/include/python3.4m/rangeobject.h
+file path=usr/include/python3.4m/setobject.h
+file path=usr/include/python3.4m/sliceobject.h
+file path=usr/include/python3.4m/structmember.h
+file path=usr/include/python3.4m/structseq.h
+file path=usr/include/python3.4m/symtable.h
+file path=usr/include/python3.4m/sysmodule.h
+file path=usr/include/python3.4m/token.h
+file path=usr/include/python3.4m/traceback.h
+file path=usr/include/python3.4m/tupleobject.h
+file path=usr/include/python3.4m/typeslots.h
+file path=usr/include/python3.4m/ucnhash.h
+file path=usr/include/python3.4m/unicodeobject.h
+file path=usr/include/python3.4m/warnings.h
+file path=usr/include/python3.4m/weakrefobject.h
+link path=usr/lib/$(MACH64)/libpython3.4m.so target=libpython3.4m.so.1.0
+file path=usr/lib/$(MACH64)/libpython3.4m.so.1.0
+link path=usr/lib/$(MACH64)/libpython3.4m_db.so target=libpython3.4m_db.so.1.0
+file path=usr/lib/$(MACH64)/libpython3.4m_db.so.1.0
file path=usr/lib/$(MACH64)/libpython3.so
file path=usr/lib/$(MACH64)/pkgconfig/python-3.4.pc
link path=usr/lib/$(MACH64)/pkgconfig/python3.pc target=python-3.4.pc \
@@ -246,17 +236,17 @@
file path=usr/lib/python3.4/concurrent/futures/_base.py
file path=usr/lib/python3.4/concurrent/futures/process.py
file path=usr/lib/python3.4/concurrent/futures/thread.py
-file usr/lib/python3.4/config-3.4/python.o \
- path=usr/lib/python3.4/config-3.4/64/python.o
-file path=usr/lib/python3.4/config-3.4/Makefile
-file path=usr/lib/python3.4/config-3.4/Setup
-file path=usr/lib/python3.4/config-3.4/Setup.config
-file path=usr/lib/python3.4/config-3.4/Setup.local
-file path=usr/lib/python3.4/config-3.4/config.c
-file path=usr/lib/python3.4/config-3.4/config.c.in
-file path=usr/lib/python3.4/config-3.4/install-sh
-file path=usr/lib/python3.4/config-3.4/libpython3.4.a
-file path=usr/lib/python3.4/config-3.4/makesetup
+file usr/lib/python3.4/config-3.4m/python.o \
+ path=usr/lib/python3.4/config-3.4m/64/python.o
+file path=usr/lib/python3.4/config-3.4m/Makefile
+file path=usr/lib/python3.4/config-3.4m/Setup
+file path=usr/lib/python3.4/config-3.4m/Setup.config
+file path=usr/lib/python3.4/config-3.4m/Setup.local
+file path=usr/lib/python3.4/config-3.4m/config.c
+file path=usr/lib/python3.4/config-3.4m/config.c.in
+file path=usr/lib/python3.4/config-3.4m/install-sh
+file path=usr/lib/python3.4/config-3.4m/libpython3.4m.a
+file path=usr/lib/python3.4/config-3.4m/makesetup
file path=usr/lib/python3.4/configparser.py
file path=usr/lib/python3.4/contextlib.py
file path=usr/lib/python3.4/copy.py
@@ -752,74 +742,74 @@
file path=usr/lib/python3.4/json/scanner.py
file path=usr/lib/python3.4/json/tool.py
file path=usr/lib/python3.4/keyword.py
-file path=usr/lib/python3.4/lib-dynload/64/_bisect.so
-file path=usr/lib/python3.4/lib-dynload/64/_bz2.so
-file path=usr/lib/python3.4/lib-dynload/64/_codecs_cn.so
-file path=usr/lib/python3.4/lib-dynload/64/_codecs_hk.so
-file path=usr/lib/python3.4/lib-dynload/64/_codecs_iso2022.so
-file path=usr/lib/python3.4/lib-dynload/64/_codecs_jp.so
-file path=usr/lib/python3.4/lib-dynload/64/_codecs_kr.so
-file path=usr/lib/python3.4/lib-dynload/64/_codecs_tw.so
-file path=usr/lib/python3.4/lib-dynload/64/_crypt.so
-file path=usr/lib/python3.4/lib-dynload/64/_csv.so
-file path=usr/lib/python3.4/lib-dynload/64/_ctypes.so
-file path=usr/lib/python3.4/lib-dynload/64/_ctypes_test.so
-file path=usr/lib/python3.4/lib-dynload/64/_curses.so
-file path=usr/lib/python3.4/lib-dynload/64/_curses_panel.so
-file path=usr/lib/python3.4/lib-dynload/64/_datetime.so
-file path=usr/lib/python3.4/lib-dynload/64/_dbm.so
-file path=usr/lib/python3.4/lib-dynload/64/_decimal.so
-file path=usr/lib/python3.4/lib-dynload/64/_elementtree.so
-file path=usr/lib/python3.4/lib-dynload/64/_gdbm.so
-file path=usr/lib/python3.4/lib-dynload/64/_hashlib.so
-file path=usr/lib/python3.4/lib-dynload/64/_heapq.so
-file path=usr/lib/python3.4/lib-dynload/64/_json.so
-file path=usr/lib/python3.4/lib-dynload/64/_lsprof.so
-file path=usr/lib/python3.4/lib-dynload/64/_lzma.so
-file path=usr/lib/python3.4/lib-dynload/64/_md5.so
-file path=usr/lib/python3.4/lib-dynload/64/_multibytecodec.so
-file path=usr/lib/python3.4/lib-dynload/64/_multiprocessing.so
-file path=usr/lib/python3.4/lib-dynload/64/_opcode.so
-file path=usr/lib/python3.4/lib-dynload/64/_pickle.so
-file path=usr/lib/python3.4/lib-dynload/64/_posixsubprocess.so
-file path=usr/lib/python3.4/lib-dynload/64/_random.so
-file path=usr/lib/python3.4/lib-dynload/64/_sha1.so
-file path=usr/lib/python3.4/lib-dynload/64/_sha256.so
-file path=usr/lib/python3.4/lib-dynload/64/_sha512.so
-file path=usr/lib/python3.4/lib-dynload/64/_socket.so
-file path=usr/lib/python3.4/lib-dynload/64/_sqlite3.so
-file path=usr/lib/python3.4/lib-dynload/64/_ssl.so
-file path=usr/lib/python3.4/lib-dynload/64/_struct.so
+file path=usr/lib/python3.4/lib-dynload/64/_bisect.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_bz2.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_codecs_cn.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_codecs_hk.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_codecs_iso2022.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_codecs_jp.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_codecs_kr.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_codecs_tw.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_crypt.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_csv.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_ctypes.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_ctypes_test.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_curses.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_curses_panel.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_datetime.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_dbm.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_decimal.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_elementtree.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_gdbm.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_hashlib.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_heapq.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_json.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_lsprof.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_lzma.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_md5.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_multibytecodec.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_multiprocessing.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_opcode.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_pickle.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_posixsubprocess.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_random.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_sha1.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_sha256.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_sha512.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_socket.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_sqlite3.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_ssl.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_struct.cpython-34m.so
file path=usr/lib/python3.4/lib-dynload/64/_sysconfigdata.py
-file path=usr/lib/python3.4/lib-dynload/64/_testbuffer.so
-file path=usr/lib/python3.4/lib-dynload/64/_testcapi.so
-file path=usr/lib/python3.4/lib-dynload/64/_testimportmultiple.so
-file path=usr/lib/python3.4/lib-dynload/64/array.so
-file path=usr/lib/python3.4/lib-dynload/64/audioop.so
-file path=usr/lib/python3.4/lib-dynload/64/binascii.so
-file path=usr/lib/python3.4/lib-dynload/64/cmath.so
-file path=usr/lib/python3.4/lib-dynload/64/dlpi.so
-file path=usr/lib/python3.4/lib-dynload/64/fcntl.so
-file path=usr/lib/python3.4/lib-dynload/64/grp.so
-file path=usr/lib/python3.4/lib-dynload/64/math.so
-file path=usr/lib/python3.4/lib-dynload/64/mmap.so
-file path=usr/lib/python3.4/lib-dynload/64/nis.so
-file path=usr/lib/python3.4/lib-dynload/64/ossaudiodev.so
-file path=usr/lib/python3.4/lib-dynload/64/parser.so
-file path=usr/lib/python3.4/lib-dynload/64/privileges.so
-file path=usr/lib/python3.4/lib-dynload/64/pyexpat.so
-file path=usr/lib/python3.4/lib-dynload/64/rbac.so
-file path=usr/lib/python3.4/lib-dynload/64/readline.so
-file path=usr/lib/python3.4/lib-dynload/64/resource.so
-file path=usr/lib/python3.4/lib-dynload/64/select.so
-file path=usr/lib/python3.4/lib-dynload/64/spwd.so
-file path=usr/lib/python3.4/lib-dynload/64/syslog.so
-file path=usr/lib/python3.4/lib-dynload/64/termios.so
-file path=usr/lib/python3.4/lib-dynload/64/time.so
-file path=usr/lib/python3.4/lib-dynload/64/ucred.so
-file path=usr/lib/python3.4/lib-dynload/64/unicodedata.so
-file path=usr/lib/python3.4/lib-dynload/64/xxlimited.so
-file path=usr/lib/python3.4/lib-dynload/64/zlib.so
+file path=usr/lib/python3.4/lib-dynload/64/_testbuffer.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_testcapi.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/_testimportmultiple.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/array.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/audioop.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/binascii.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/cmath.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/dlpi.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/fcntl.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/grp.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/math.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/mmap.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/nis.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/ossaudiodev.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/parser.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/privileges.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/pyexpat.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/rbac.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/readline.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/resource.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/select.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/spwd.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/syslog.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/termios.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/time.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/ucred.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/unicodedata.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/xxlimited.cpython-34m.so
+file path=usr/lib/python3.4/lib-dynload/64/zlib.cpython-34m.so
file path=usr/lib/python3.4/lib2to3/Grammar$(COMPONENT_VERSION).final.0.pickle
file path=usr/lib/python3.4/lib2to3/Grammar.txt
file path=usr/lib/python3.4/lib2to3/PatternGrammar$(COMPONENT_VERSION).final.0.pickle
--- a/components/python/python34/tkinter-34.p5m Wed Aug 06 10:14:32 2014 -0700
+++ b/components/python/python34/tkinter-34.p5m Wed Feb 04 07:11:04 2015 -0800
@@ -43,7 +43,7 @@
value=PSARC/2009/529 value=PSARC/2013/235 value=PSARC/2014/151
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
#
-file path=usr/lib/python3.4/lib-dynload/64/_tkinter.so
+file path=usr/lib/python3.4/lib-dynload/64/_tkinter.cpython-34m.so
file path=usr/lib/python3.4/tkinter/__init__.py
file path=usr/lib/python3.4/tkinter/__main__.py
file path=usr/lib/python3.4/tkinter/_fix.py
--- a/components/python/websockify/websockify-PYVER.p5m Wed Aug 06 10:14:32 2014 -0700
+++ b/components/python/websockify/websockify-PYVER.p5m Wed Feb 04 07:11:04 2015 -0800
@@ -20,7 +20,7 @@
#
#
-# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
#
# python-extra is part of python 2.6 only
@@ -53,12 +53,18 @@
file path=usr/lib/python$(PYVER)/vendor-packages/websockify-$(COMPONENT_VERSION)-py$(PYVER).egg-info/requires.txt
file path=usr/lib/python$(PYVER)/vendor-packages/websockify-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
file path=usr/lib/python$(PYVER)/vendor-packages/websockify/__init__.py
+# The bypasses for array, select & time are temporary until pkgdepend learns
+# about PEP 3149, new in Python 3.x; see 19510349.
file path=usr/lib/python$(PYVER)/vendor-packages/websockify/websocket.py \
pkg.depend.bypass-generate=.*/SimpleHTTPServer.* \
+ pkg.depend.bypass-generate=.*/array.* \
pkg.depend.bypass-generate=.*/cStringIO.* \
pkg.depend.bypass-generate=.*/http.* pkg.depend.bypass-generate=.*/md5.* \
- pkg.depend.bypass-generate=.*/sha.*
+ pkg.depend.bypass-generate=.*/select.* \
+ pkg.depend.bypass-generate=.*/sha.* pkg.depend.bypass-generate=.*/time.*
file path=usr/lib/python$(PYVER)/vendor-packages/websockify/websocketproxy.py \
+ pkg.depend.bypass-generate=.*/select.* \
+ pkg.depend.bypass-generate=.*/time.* \
pkg.depend.bypass-generate=.*/urllib.* \
pkg.depend.bypass-generate=.*/urlparse.*
#
--- a/components/python/xattr/xattr-PYVER.p5m Wed Aug 06 10:14:32 2014 -0700
+++ b/components/python/xattr/xattr-PYVER.p5m Wed Feb 04 07:11:04 2015 -0800
@@ -53,7 +53,10 @@
$(PYTHON_2.6_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/xattr/_cffi__x65092e53xe621c3cb.so
$(PYTHON_2.7_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/xattr/_cffi__x93e1032axe621c3cb.so
file path=usr/lib/python$(PYVER)/vendor-packages/xattr/lib.py
-file path=usr/lib/python$(PYVER)/vendor-packages/xattr/tool.py
+# The bypass for zlib is temporary until pkgdepend learns about PEP 3149,
+# new in Python 3.x; see 19510349.
+file path=usr/lib/python$(PYVER)/vendor-packages/xattr/tool.py \
+ pkg.depend.bypass-generate=.*zlib.*
#
license LICENSE.txt license=MIT
--- a/make-rules/ips.mk Wed Aug 06 10:14:32 2014 -0700
+++ b/make-rules/ips.mk Wed Feb 04 07:11:04 2015 -0800
@@ -72,6 +72,7 @@
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/standard-libraries-past-py2.6
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/python-rename
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/python-3-groups
+PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/python-3-soabi
PUBLISH_TRANSFORMS += $(PKGMOGRIFY_TRANSFORMS)
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/incorporate
PUBLISH_TRANSFORMS += $(WS_TOP)/transforms/publish-cleanup
--- a/make-rules/shared-macros.mk Wed Aug 06 10:14:32 2014 -0700
+++ b/make-rules/shared-macros.mk Wed Feb 04 07:11:04 2015 -0800
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
-# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
#
PATH=/usr/bin:/usr/gnu/bin
@@ -276,17 +276,6 @@
LD = /usr/bin/ld
-PYTHON.2.6.VENDOR_PACKAGES.32 = /usr/lib/python2.6/vendor-packages
-PYTHON.2.6.VENDOR_PACKAGES.64 = /usr/lib/python2.6/vendor-packages/64
-PYTHON.2.6.VENDOR_PACKAGES = $(PYTHON.2.6.VENDOR_PACKAGES.$(BITS))
-
-PYTHON.2.7.VENDOR_PACKAGES.32 = /usr/lib/python2.7/vendor-packages
-PYTHON.2.7.VENDOR_PACKAGES.64 = /usr/lib/python2.7/vendor-packages/64
-PYTHON.2.7.VENDOR_PACKAGES = $(PYTHON.2.7.VENDOR_PACKAGES.$(BITS))
-
-PYTHON.3.4.VENDOR_PACKAGES.64 = /usr/lib/python3.4/vendor-packages/64
-PYTHON.3.4.VENDOR_PACKAGES = $(PYTHON.3.4.VENDOR_PACKAGES.$(BITS))
-
ifeq ($(strip $(PARFAIT_BUILD)),yes)
CC.studio.32 = $(PARFAIT_TOOLS)/cc
CXX.studio.32 = $(PARFAIT_TOOLS)/CC
@@ -316,6 +305,17 @@
# both the ruby version and the ruby library version are needed.
RUBY_VERSIONS = $(RUBY_LIB_VERSION)
+PYTHON.2.6.VENDOR_PACKAGES.32 = /usr/lib/python2.6/vendor-packages
+PYTHON.2.6.VENDOR_PACKAGES.64 = /usr/lib/python2.6/vendor-packages/64
+PYTHON.2.6.VENDOR_PACKAGES = $(PYTHON.2.6.VENDOR_PACKAGES.$(BITS))
+
+PYTHON.2.7.VENDOR_PACKAGES.32 = /usr/lib/python2.7/vendor-packages
+PYTHON.2.7.VENDOR_PACKAGES.64 = /usr/lib/python2.7/vendor-packages/64
+PYTHON.2.7.VENDOR_PACKAGES = $(PYTHON.2.7.VENDOR_PACKAGES.$(BITS))
+
+PYTHON.3.4.VENDOR_PACKAGES.64 = /usr/lib/python3.4/vendor-packages/64
+PYTHON.3.4.VENDOR_PACKAGES = $(PYTHON.3.4.VENDOR_PACKAGES.$(BITS))
+
PYTHON_VENDOR_PACKAGES.32 = /usr/lib/python$(PYTHON_VERSION)/vendor-packages
PYTHON_VENDOR_PACKAGES.64 = /usr/lib/python$(PYTHON_VERSION)/vendor-packages/64
PYTHON_VENDOR_PACKAGES = $(PYTHON_VENDOR_PACKAGES.$(BITS))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/transforms/python-3-soabi Wed Feb 04 07:11:04 2015 -0800
@@ -0,0 +1,8 @@
+# Python 2's ABI for .so files is to simply append ".so". But for Python
+# 3, it appends ".cpython-3#[d][m][u].so", where # is the minor version,
+# "d" is added if built --with-pydebug (we don't), "m" is added if built
+# --with-pymalloc (we do) and "u" is added if built --with-wide-unicode
+# (we don't). See http://legacy.python.org/dev/peps/pep-3149/ for details.
+<transform file -> edit path \
+ (usr/lib/python3.)([0-9])(/vendor-packages/(.*/)?64/.*)\.so \
+ \\1\\2\\3.cpython-3\\2m.so >