23206271 Upgrade cffi to 1.5.2
22871503 Upgrade cryptography to version 1.2.3
22520335 Integrate idna into Userland
22520346 Integrate ipaddress into Userland
--- a/components/python/cffi/Makefile Fri Oct 07 15:08:18 2016 -0700
+++ b/components/python/cffi/Makefile Tue Oct 11 11:55:12 2016 -0700
@@ -20,29 +20,35 @@
#
#
-# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
#
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME= cffi
-COMPONENT_VERSION= 0.8.2
+COMPONENT_VERSION= 1.5.2
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
COMPONENT_ARCHIVE_HASH= \
- sha256:8192393640f7bc304ce82669b35eb90592566a30abbb4924456f52079afc18e2
+ sha256:da9bde99872e46f7bb5cff40a9b1cc08406765efafb583c704de108b6cb821dd
COMPONENT_ARCHIVE_URL= $(call pypi_url)
COMPONENT_PROJECT_URL= http://cffi.readthedocs.org/
COMPONENT_BUGDB= python-mod/cffi
-TPNO= 16913
+TPNO= 29371
include $(WS_MAKE_RULES)/prep.mk
include $(WS_MAKE_RULES)/setup.py.mk
include $(WS_MAKE_RULES)/ips.mk
+# SolarisStudio12.4 is needed for mbarrier.h
+SPRO_VROOT = $(SPRO_ROOT)/solarisstudio12.4
+
ASLR_MODE = $(ASLR_NOT_APPLICABLE)
+LDSHARED= $(CC) -G
+PYTHON_ENV += LDSHARED="$(LDSHARED)"
+
COMPONENT_TEST_DIR = $(@D)/tests
COMPONENT_TEST_ENV = $(PYTHON_ENV)
COMPONENT_TEST_ENV += PYTHONPATH=$(PROTO_DIR)/$(PYTHON_LIB)
@@ -52,22 +58,17 @@
COMPONENT_TEST_ARGS += -p no:codechecker
COMPONENT_TEST_ARGS += $(TEST_SKIPS)
COMPONENT_TEST_ARGS += c testing
-# The following tests cause core dumps on SPARC (bus error, illegal hardware
-# instruction). We don't skip test_install_and_reload_module{,_package}, which
-# fail on both 64-bit platforms, since those don't cause the interpreter to
-# crash.
-$(BUILD_DIR)/sparcv7-%/.tested: TEST_SKIPS = -k "not test_callback_return_type and not test_struct_packed and not test_opaque_integer_as_function_result"
-$(BUILD_DIR)/sparcv9-%/.tested: TEST_SKIPS = -k "not test_callback and not test_a_lot_of_callbacks and not test_struct_packed and not test_opaque_integer_as_function_result and not test_wchar"
# Copy the tests and a few of the source files they read into a scratch
# directory so running the tests don't leave turds in the source directory.
COMPONENT_PRE_TEST_ACTION = \
$(MKDIR) $(@D)/tests/doc/source; \
- $(CP) -r $(SOURCE_DIR)/c $(SOURCE_DIR)/testing $(@D)/tests; \
+ $(CP) -r $(SOURCE_DIR)/c $(SOURCE_DIR)/testing $(SOURCE_DIR)/cffi $(@D)/tests; \
$(CP) $(SOURCE_DIR)/setup.py $(@D)/tests; \
$(CP) \
$(SOURCE_DIR)/doc/source/conf.py \
$(SOURCE_DIR)/doc/source/index.rst \
+ $(SOURCE_DIR)/doc/source/installation.rst \
$(@D)/tests/doc/source
# common targets
@@ -77,6 +78,11 @@
test: $(TEST_32_and_64)
+system-test: $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+
REQUIRED_PACKAGES += library/libffi
+REQUIRED_PACKAGES += library/python/pycparser-27
+REQUIRED_PACKAGES += library/python/pycparser-34
+REQUIRED_PACKAGES += library/python/pycparser-35
REQUIRED_PACKAGES += system/library
--- a/components/python/cffi/cffi-PYVER.p5m Fri Oct 07 15:08:18 2016 -0700
+++ b/components/python/cffi/cffi-PYVER.p5m Tue Oct 11 11:55:12 2016 -0700
@@ -20,7 +20,7 @@
#
#
-# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
#
set name=pkg.fmri \
@@ -44,23 +44,30 @@
file path=usr/lib/python$(PYVER)/vendor-packages/cffi-$(COMPONENT_VERSION)-py$(PYVER).egg-info/PKG-INFO
file path=usr/lib/python$(PYVER)/vendor-packages/cffi-$(COMPONENT_VERSION)-py$(PYVER).egg-info/SOURCES.txt
file path=usr/lib/python$(PYVER)/vendor-packages/cffi-$(COMPONENT_VERSION)-py$(PYVER).egg-info/dependency_links.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/cffi-$(COMPONENT_VERSION)-py$(PYVER).egg-info/entry_points.txt
file path=usr/lib/python$(PYVER)/vendor-packages/cffi-$(COMPONENT_VERSION)-py$(PYVER).egg-info/not-zip-safe
file path=usr/lib/python$(PYVER)/vendor-packages/cffi-$(COMPONENT_VERSION)-py$(PYVER).egg-info/requires.txt
file path=usr/lib/python$(PYVER)/vendor-packages/cffi-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
file path=usr/lib/python$(PYVER)/vendor-packages/cffi/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cffi/_cffi_include.h
+file path=usr/lib/python$(PYVER)/vendor-packages/cffi/_embedding.h
file path=usr/lib/python$(PYVER)/vendor-packages/cffi/api.py
file path=usr/lib/python$(PYVER)/vendor-packages/cffi/backend_ctypes.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cffi/cffi_opcode.py
file path=usr/lib/python$(PYVER)/vendor-packages/cffi/commontypes.py
file path=usr/lib/python$(PYVER)/vendor-packages/cffi/cparser.py
file path=usr/lib/python$(PYVER)/vendor-packages/cffi/ffiplatform.py
file path=usr/lib/python$(PYVER)/vendor-packages/cffi/gc_weakref.py
file path=usr/lib/python$(PYVER)/vendor-packages/cffi/lock.py
file path=usr/lib/python$(PYVER)/vendor-packages/cffi/model.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cffi/parse_c_type.h
+file path=usr/lib/python$(PYVER)/vendor-packages/cffi/recompiler.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cffi/setuptools_ext.py
file path=usr/lib/python$(PYVER)/vendor-packages/cffi/vengine_cpy.py
file path=usr/lib/python$(PYVER)/vendor-packages/cffi/vengine_gen.py
file path=usr/lib/python$(PYVER)/vendor-packages/cffi/verifier.py
#
-license LICENSE license=MIT
+license cffi.license license=MIT
#
# force a dependency on the Python runtime
depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/cffi/cffi.license Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,33 @@
+Except when otherwise stated (look for LICENSE files in directories or
+information at the beginning of each file) all software and
+documentation is licensed as follows:
+
+ The MIT License
+
+ Copyright (c) 1996-2003 Red Hat, Inc.
+ Copyright (c) 2001 John Beniton
+ Copyright (c) 2002 Bo Thorsen
+ Copyright (c) 2002 Ranjit Mathew
+ Copyright (c) 2002 Roger Sayle
+
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+
+
--- a/components/python/cffi/patches/alloca.patch Fri Oct 07 15:08:18 2016 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-Need to include alloca.h when using alloca(). This is filed upstream as:
-
- https://bitbucket.org/cffi/cffi/issue/144/fix-for-issue-128-is-incomplete
-
-and fixed in
-
- https://bitbucket.org/cffi/cffi/commits/41b3ef920695
-
-diff --git a/cffi/vengine_cpy.py b/cffi/vengine_cpy.py
---- a/cffi/vengine_cpy.py
-+++ b/cffi/vengine_cpy.py
[email protected]@ -771,6 +771,10 @@
- typedef unsigned __int32 uint32_t;
- typedef unsigned __int64 uint64_t;
- typedef unsigned char _Bool;
-+#else
-+#if (defined (__SVR4) && defined (__sun)) || defined(_AIX)
-+# include <alloca.h>
-+#endif
- #endif
-
- #if PY_MAJOR_VERSION < 3
--- a/components/python/cffi/patches/anonymous.patch Fri Oct 07 15:08:18 2016 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-# HG changeset patch
-# User Armin Rigo <[email protected]>
-# Date 1396624834 -7200
-# Node ID facaf5de29c9e8cdaa148112ece17a4205cf2d84
-# Parent 0457fbb2d45243a93cb8ed242646d7487bd36dc4
-Issue #142: don't generate C files that use '$' in identifiers.
-
-diff --git a/cffi/vengine_cpy.py b/cffi/vengine_cpy.py
---- a/cffi/vengine_cpy.py
-+++ b/cffi/vengine_cpy.py
[email protected]@ -632,13 +632,18 @@
- # ----------
- # enums
-
-+ def _enum_funcname(self, prefix, name):
-+ # "$enum_$1" => "___D_enum____D_1"
-+ name = name.replace('$', '___D_')
-+ return '_cffi_e_%s_%s' % (prefix, name)
-+
- def _generate_cpy_enum_decl(self, tp, name, prefix='enum'):
- if tp.partial:
- for enumerator in tp.enumerators:
- self._generate_cpy_const(True, enumerator, delayed=False)
- return
- #
-- funcname = '_cffi_e_%s_%s' % (prefix, name)
-+ funcname = self._enum_funcname(prefix, name)
- prnt = self._prnt
- prnt('static int %s(PyObject *lib)' % funcname)
- prnt('{')
-diff --git a/cffi/vengine_gen.py b/cffi/vengine_gen.py
---- a/cffi/vengine_gen.py
-+++ b/cffi/vengine_gen.py
[email protected]@ -410,13 +410,18 @@
- # ----------
- # enums
-
-+ def _enum_funcname(self, prefix, name):
-+ # "$enum_$1" => "___D_enum____D_1"
-+ name = name.replace('$', '___D_')
-+ return '_cffi_e_%s_%s' % (prefix, name)
-+
- def _generate_gen_enum_decl(self, tp, name, prefix='enum'):
- if tp.partial:
- for enumerator in tp.enumerators:
- self._generate_gen_const(True, enumerator)
- return
- #
-- funcname = '_cffi_e_%s_%s' % (prefix, name)
-+ funcname = self._enum_funcname(prefix, name)
- self.export_symbols.append(funcname)
- prnt = self._prnt
- prnt('int %s(char *out_error)' % funcname)
[email protected]@ -453,7 +458,7 @@
- else:
- BType = self.ffi._typeof_locked("char[]")[0]
- BFunc = self.ffi._typeof_locked("int(*)(char*)")[0]
-- funcname = '_cffi_e_%s_%s' % (prefix, name)
-+ funcname = self._enum_funcname(prefix, name)
- function = module.load_function(BFunc, funcname)
- p = self.ffi.new(BType, 256)
- if function(p) < 0:
-diff --git a/testing/test_verify.py b/testing/test_verify.py
---- a/testing/test_verify.py
-+++ b/testing/test_verify.py
[email protected]@ -1,4 +1,4 @@
--import py
-+import py, re
- import sys, os, math, weakref
- from cffi import FFI, VerificationError, VerificationMissing, model
- from testing.support import *
[email protected]@ -29,6 +29,24 @@
- def setup_module():
- import cffi.verifier
- cffi.verifier.cleanup_tmpdir()
-+ #
-+ # check that no $ sign is produced in the C file; it used to be the
-+ # case that anonymous enums would produce '$enum_$1', which was
-+ # used as part of a function name. GCC accepts such names, but it's
-+ # apparently non-standard.
-+ _r_comment = re.compile(r"/\*.*?\*/|//.*?$", re.DOTALL | re.MULTILINE)
-+ _r_string = re.compile(r'\".*?\"')
-+ def _write_source_and_check(self, file=None):
-+ base_write_source(self, file)
-+ if file is None:
-+ f = open(self.sourcefilename)
-+ data = f.read()
-+ f.close()
-+ data = _r_comment.sub(' ', data)
-+ data = _r_string.sub('"skipped"', data)
-+ assert '$' not in data
-+ base_write_source = cffi.verifier.Verifier._write_source
-+ cffi.verifier.Verifier._write_source = _write_source_and_check
-
-
- def test_module_type():
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/cffi/patches/barrier.patch Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,36 @@
+In-house (for now) patch to allow cffi 1.5.2 to compile with both
+Studio and on SPARC.
+
+--- cffi-1.5.2/c/call_python.c.~1~ 2016-02-13 07:33:29.000000000 -0800
++++ cffi-1.5.2/c/call_python.c 2016-05-18 10:10:49.505449785 -0700
[email protected]@ -150,7 +150,8 @@ static int _update_cache_to_call_python(
+ #if (defined(WITH_THREAD) && !defined(_MSC_VER) && \
+ !defined(__amd64__) && !defined(__x86_64__) && \
+ !defined(__i386__) && !defined(__i386))
+-# define read_barrier() __sync_synchronize()
++# include <mbarrier.h>
++# define read_barrier() __compiler_barrier()
+ #else
+ # define read_barrier() (void)0
+ #endif
+--- cffi-1.5.2/cffi/_embedding.h.~1~ 2016-02-13 07:33:29.000000000 -0800
++++ cffi-1.5.2/cffi/_embedding.h 2016-05-18 10:15:53.285798295 -0700
[email protected]@ -32,12 +32,14 @@ static _cffi_call_python_fnptr _cffi_cal
+
+
+ #ifndef _MSC_VER
+- /* --- Assuming a GCC not infinitely old --- */
+-# define cffi_compare_and_swap(l,o,n) __sync_bool_compare_and_swap(l,o,n)
+-# define cffi_write_barrier() __sync_synchronize()
++# include <atomic.h>
++# include <mbarrier.h>
++# define cffi_compare_and_swap(l,o,n) \
++ (atomic_cas_ptr((l), (o), (n)), *(l) == (n))
++# define cffi_write_barrier() __compiler_barrier()
+ # if !defined(__amd64__) && !defined(__x86_64__) && \
+ !defined(__i386__) && !defined(__i386)
+-# define cffi_read_barrier() __sync_synchronize()
++# define cffi_read_barrier() __compiler_barrier()
+ # else
+ # define cffi_read_barrier() (void)0
+ # endif
--- a/components/python/cffi/patches/s11.patch Fri Oct 07 15:08:18 2016 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-This patch contains some workarounds specially needed for Solaris 11.
-
-Due to
-
- 18617452 SIZEOF_WCHAR_T undefined in pyconfig.h on 11.2
-
-SIZEOF_WCHAR_T isn't ever defined, leading to poor support of wchar_t and
-unicode. Defining that constant prior to including wchar_helper.h helps
-work around most of the resulting test failures.
-
-In Solaris 12, libnsl has been turned into a filter library for libc, and
-symbols like inet_ntoa are available directly from libc. But this has not
-happened in Solaris 11, so opening libnsl is required in order to find that
-particular symbol.
-
---- cffi-0.8.2/c/_cffi_backend.c 2014-03-06 22:51:56.000000000 -0800
-+++ cffi-0.8.2/c/_cffi_backend.c 2014-04-17 15:46:17.277512131 -0700
[email protected]@ -219,6 +219,7 @@ static void init_errno(void) { }
- # include "file_emulator.h"
- #endif
-
-+#define SIZEOF_WCHAR_T 4
- #ifdef HAVE_WCHAR_H
- # include "wchar_helper.h"
- #endif
---- cffi-0.8.2/testing/test_function.py 2014-03-06 22:51:56.000000000 -0800
-+++ cffi-0.8.2/testing/test_function.py 2014-04-17 13:37:51.091873904 -0700
[email protected]@ -286,7 +286,7 @@ class TestFunction(object):
- struct in_addr { unsigned int s_addr; };
- char *inet_ntoa(struct in_addr in);
- """)
-- ffi.C = ffi.dlopen(None)
-+ ffi.C = ffi.dlopen("nsl")
- ina = ffi.new("struct in_addr *", [0x04040404])
- a = ffi.C.inet_ntoa(ina[0])
- assert ffi.string(a) == b'4.4.4.4'
--- a/components/python/cffi/patches/test.patch Fri Oct 07 15:08:18 2016 -0700
+++ b/components/python/cffi/patches/test.patch Tue Oct 11 11:55:12 2016 -0700
@@ -1,52 +1,33 @@
+
The testsuite makes some incorrect assumptions:
- - we need to not assume "a standard gcc", so replace the -Werror flag
- with -errwarn to turn on the warnings are expected to cause compilation
- to fail.
-
- - don't use the -pthread flag for compilation; as Studio doesn't have any
+ - Don't use the -pthread flag for compilation; as Studio doesn't have any
clue what to do with it, and we don't need it on Solaris, anyway.
- - don't force the use of gcc when compiling a test shared object; get
- that passed in from the makefile.
-
- - don't assume that stdin/stdout/stderr are changeable:
-
- https://bitbucket.org/cffi/cffi/issue/145/solaris-stdout-and-stderr-not-in-libc-not
-
- fixed in
-
- https://bitbucket.org/cffi/cffi/commits/237031079adc
+ - We need to not assume "a standard gcc", so replace the -Werror flag
+ with -errwarn to turn on the warnings are expected to cause compilation
+ to fail. Also, there is no equivalent for -Wconversion in Studio, so turn
+ off testing for conversion errors.
- don't assume that enums can be unsigned or are the same size as long:
https://bitbucket.org/cffi/cffi/issue/143/test_enum_size-makes-invalid-assumptions
-Also fix a problem with some assignments to void*:
-
- https://bitbucket.org/cffi/cffi/issue/146/incorrect-type-for-c_callback-variable
-
-fixed in
-
- https://bitbucket.org/cffi/cffi/commits/51d87933eb4b
+ - There is one test helper in test_recompiler where we suddenly try to do C++
+ but without changing the compiler executable. This works in gcc but not with
+ Studio.
---- cffi-0.8.2/testing/test_verify.py Thu Mar 6 22:51:56 2014
-+++ cffi-0.8.2/testing/test_verify.py Thu Mar 20 18:39:01 2014
[email protected]@ -18,8 +18,10 @@
- extra_compile_args = [
- '-Werror', '-Qunused-arguments', '-Wno-error=shorten-64-to-32']
- else:
-- # assume a standard gcc
-- extra_compile_args = ['-Werror']
-+ extra_compile_args = [
-+ '-errtags=yes',
-+ '-errwarn=E_ASSIGNMENT_TYPE_MISMATCH,E_RETURN_VALUE_TYPE_MISMATCH'
-+ ]
-
- class FFI(FFI):
- def verify(self, *args, **kwds):
---- cffi-0.8.2/testing/callback_in_thread.py Fri Mar 21 15:58:21 2014
-+++ cffi-0.8.2/testing/callback_in_thread.py Fri Mar 21 15:58:30 2014
+ - test_recompiler has some test cases work in gcc or clang but not with Studio:
+ test_some_float_type and test_some_float_invalid_3 raise an error "non-constant
+ initializer involving a cast".
+ test_restrict_fields uses the __restrict keyword, which seems to require gcc.
+
+ - Don't force the use of gcc when compiling a test shared object; get
+ that passed in from the makefile.
+
+
+--- cffi-1.1.2/testing/cffi0/callback_in_thread.py 2015-06-09 03:04:07.000000000 -0700
++++ cffi-1.1.2/testing/cffi0/callback_in_thread.py 2015-08-11 10:56:22.822161292 -0700
@@ -22,7 +22,7 @@
pthread_create(&thread, NULL, my_wait_function, (void*)mycb);
return 0;
@@ -56,68 +37,31 @@
seen = []
@ffi.callback('int(*)(int,int)')
def mycallback(x, y):
---- cffi-0.8.2/testing/test_ownlib.py Tue Oct 9 02:10:04 2012
-+++ cffi-0.8.2/testing/test_ownlib.py Tue Mar 25 15:39:35 2014
[email protected]@ -1,4 +1,4 @@
--import py, sys
-+import os, py, sys
- import subprocess, weakref
- from cffi import FFI
- from cffi.backend_ctypes import CTypesBackend
[email protected]@ -28,7 +28,7 @@
- from testing.udir import udir
- udir.join('testownlib.c').write(SOURCE)
- subprocess.check_call(
-- 'gcc testownlib.c -shared -fPIC -o testownlib.so',
-+ os.getenv('TESTOWNLIB_CC') % ('testownlib.c', 'testownlib.so'),
- cwd=str(udir), shell=True)
- cls.module = str(udir.join('testownlib.so'))
-
---- cffi-0.8.2/c/test_c.py Thu Mar 6 22:51:56 2014
-+++ cffi-0.8.2/c/test_c.py Mon Mar 24 14:53:27 2014
[email protected]@ -1102,7 +1102,7 @@
- def test_read_variable():
- ## FIXME: this test assumes glibc specific behavior, it's not compliant with C standard
- ## https://bugs.pypy.org/issue1643
-- if sys.platform == 'win32' or sys.platform == 'darwin' or sys.platform.startswith('freebsd'):
-+ if not sys.platform.startswith("linux"):
- py.test.skip("untested")
- BVoidP = new_pointer_type(new_void_type())
- ll = find_and_load_library('c')
[email protected]@ -1112,7 +1112,7 @@
- def test_read_variable_as_unknown_length_array():
- ## FIXME: this test assumes glibc specific behavior, it's not compliant with C standard
- ## https://bugs.pypy.org/issue1643
-- if sys.platform == 'win32' or sys.platform == 'darwin' or sys.platform.startswith('freebsd'):
-+ if not sys.platform.startswith("linux"):
- py.test.skip("untested")
- BCharP = new_pointer_type(new_primitive_type("char"))
- BArray = new_array_type(BCharP, None)
[email protected]@ -1124,7 +1124,7 @@
- def test_write_variable():
- ## FIXME: this test assumes glibc specific behavior, it's not compliant with C standard
- ## https://bugs.pypy.org/issue1643
-- if sys.platform == 'win32' or sys.platform == 'darwin' or sys.platform.startswith('freebsd'):
-+ if not sys.platform.startswith("linux"):
- py.test.skip("untested")
- BVoidP = new_pointer_type(new_void_type())
- ll = find_and_load_library('c')
---- cffi-0.8.2/testing/test_verify.py Thu Mar 6 22:51:56 2014
-+++ cffi-0.8.2/testing/test_verify.py Mon Mar 24 15:03:49 2014
[email protected]@ -1472,8 +1474,8 @@
- assert func() == 42
-
- def test_FILE_stored_in_stdout():
-- if sys.platform == 'win32':
-- py.test.skip("MSVC: cannot assign to stdout")
-+ if not sys.platform.startswith("linux"):
-+ py.test.skip("likely, we cannot assign to stdout")
+--- cffi-1.1.2/testing/cffi0/test_verify.py 2015-06-09 03:04:07.000000000 -0700
++++ cffi-1.1.2/testing/cffi0/test_verify.py 2015-08-12 14:17:18.300215250 -0700
[email protected]@ -18,6 +18,9 @@
+ extra_compile_args = ['-Werror', '-Wall', '-Wextra', '-Wconversion']
+ # special things for clang
+ extra_compile_args.append('-Qunused-arguments')
++ elif (sys.platform == 'sunos5'):
++ extra_compile_args = ["-errtags=yes",
++ "-errwarn=E_ASSIGNMENT_TYPE_MISMATCH,E_RETURN_VALUE_TYPE_MISMATCH"]
+ else:
+ # assume a standard gcc
+ extra_compile_args = ['-Werror', '-Wall', '-Wextra', '-Wconversion']
[email protected]@ -95,6 +98,11 @@
+ py.test.skip("needs GCC or Clang")
ffi = FFI()
- ffi.cdef("int printf(const char *, ...); FILE *setstdout(FILE *);")
- lib = ffi.verify("""
---- cffi-0.8.2/testing/test_verify.py Thu Mar 6 22:51:56 2014
-+++ cffi-0.8.2/testing/test_verify.py Mon Mar 24 15:06:23 2014
[email protected]@ -1598,13 +1598,13 @@
+ ffi.cdef(cdef)
++
++ if sys.platform == 'sunos5':
++ lib = ffi.verify(source, **kargs)
++ return lib
++
+ py.test.raises(VerificationError, ffi.verify, source, **kargs)
+ extra_compile_args_orig = extra_compile_args[:]
+ extra_compile_args.remove('-Wconversion')
[email protected]@ -1737,13 +1745,13 @@
('-123', 4, -1),
('-2147483647-1', 4, -1),
]
@@ -133,7 +77,7 @@
continue # skipped on Windows
ffi = FFI()
ffi.cdef("enum foo_e { AA, BB, ... };")
[email protected]@ -1629,7 +1627,7 @@
[email protected]@ -1768,7 +1776,7 @@
(maxulong, -1, ''),
(-1, 0xffffffff, 'U'),
(-1, maxulong, 'UL')]:
@@ -142,16 +86,159 @@
continue # enums may always be signed with MSVC
ffi = FFI()
ffi.cdef("enum foo_e { AA=%s };" % c1)
---- a/testing/test_verify.py
-+++ b/testing/test_verify.py
[email protected]@ -1656,8 +1656,8 @@
+--- cffi-1.1.2/testing/cffi1/test_new_ffi_1.py 2015-06-09 03:04:07.000000000 -0700
++++ cffi-1.1.2/testing/cffi1/test_new_ffi_1.py 2015-08-12 15:18:12.105387245 -0700
[email protected]@ -81,6 +81,10 @@
+ DEFS = DEFS.replace('data[0]', 'data[1]') # not supported
+ CCODE = (DEFS + "\n#pragma pack(push,1)\n" + DEFS_PACKED +
+ "\n#pragma pack(pop)\n")
++ elif sys.platform == "sunos5":
++ DEFS = DEFS.replace('data[0]', 'data[1]') # not supported
++ CCODE = (DEFS +
++ DEFS_PACKED.replace('/*here*/', '__attribute__((packed))'))
+ else:
+ CCODE = (DEFS +
+ DEFS_PACKED.replace('/*here*/', '__attribute__((packed))'))
[email protected]@ -893,9 +897,9 @@
+ assert ffi.cast("enum foq", 0) != ffi.cast("enum bar", 0)
+ assert ffi.cast("enum bar", 0) != ffi.cast("int", 0)
+ assert repr(ffi.cast("enum bar", -1)) == "<cdata 'enum bar' -1: CC1>"
+- assert repr(ffi.cast("enum foq", -1)) == ( # enums are unsigned, if
+- "<cdata 'enum foq' 4294967295>") or ( # they contain no neg value
+- sys.platform == "win32") # (but not on msvc)
++ assert repr(ffi.cast("enum foq", -1)) == ( # enums are unsigned, if
++ "<cdata 'enum foq' 4294967295>") or ( # they contain no neg value
++ sys.platform in ("win32", "sunos5")) # (but not on msvc or SS)
+ # enum baz { A2=0x1000, B2=0x2000 };
+ assert ffi.string(ffi.cast("enum baz", 0x1000)) == "A2"
+ assert ffi.string(ffi.cast("enum baz", 0x2000)) == "B2"
[email protected]@ -1011,7 +1015,7 @@
+ def test_bitfield_enum(self):
+ # typedef enum { AA1, BB1, CC1 } foo_e_t;
+ # typedef struct { foo_e_t f:2; } bfenum_t;
+- if sys.platform == "win32":
++ if sys.platform in ("win32", "sunos5"):
+ py.test.skip("enums are not unsigned")
+ s = ffi.new("bfenum_t *")
+ s.f = 2
[email protected]@ -1211,7 +1215,7 @@
+ assert repr(p.a).startswith("<cdata 'int[2]' 0x")
+
+ def test_struct_containing_array_varsize_workaround(self):
+- if sys.platform == "win32":
++ if sys.platform in ("win32", "sunos5"):
+ py.test.skip("array of length 0 not supported")
+ # struct array0 { int len; short data[0]; };
+ p = ffi.new("char[]", ffi.sizeof("struct array0") + 7 * SIZE_OF_SHORT)
+--- cffi-1.1.2/testing/cffi1/test_recompiler.py 2015-06-09 03:04:10.000000000 -0700
++++ cffi-1.1.2/testing/cffi1/test_recompiler.py 2015-08-11 11:08:16.757848317 -0700
[email protected]@ -22,10 +22,14 @@
+ kwds.setdefault('undef_macros', ['NDEBUG'])
+ module_name = '_CFFI_' + module_name
+ ffi.set_source(module_name, source)
+- if not os.environ.get('NO_CPP'): # test the .cpp mode too
++ if sys.platform == 'sunos5':
++ kwds['extra_compile_args'] = (kwds.get('extra_compile_args', []) +
++ ["-errtags=yes", "-errwarn=E_ASSIGNMENT_TYPE_MISMATCH,"
++ "E_RETURN_VALUE_TYPE_MISMATCH"])
++ elif not os.environ.get('NO_CPP'): # test the .cpp mode too
+ kwds.setdefault('source_extension', '.cpp')
+ source = 'extern "C" {\n%s\n}' % (source,)
+ else:
+ kwds['extra_compile_args'] = (kwds.get('extra_compile_args', []) +
+ ['-Werror'])
+ return recompiler._verify(ffi, module_name, source, *args, **kwds)
[email protected]@ -1076,2 +1076,3 @@
+ def test_some_float_type():
++ py.test.skip("needs GCC or Clang")
+ ffi = FFI()
[email protected]@ -1111,2 +1111,3 @@
+ def test_some_float_invalid_3():
++ py.test.skip("needs GCC or Clang")
+ ffi = FFI()
[email protected]@ -1225,2 +1225,3 @@
+ def test_restrict_fields():
++ py.test.skip("needs GCC or Clang")
ffi = FFI()
- ffi.cdef("""
- int (*python_callback)(int how_many, int *values);
-- void *const c_callback; /* pass this ptr to C routines */
-- int some_c_function(void *cb);
-+ int (*const c_callback)(int,...); /* pass this ptr to C routines */
-+ int some_c_function(int(*cb)(int,...));
- """)
- lib = ffi.verify("""
- #include <stdarg.h>
+--- cffi-1.1.2/testing/cffi1/test_verify1.py 2015-06-09 03:04:07.000000000 -0700
++++ cffi-1.1.2/testing/cffi1/test_verify1.py 2015-08-12 15:02:07.774160223 -0700
[email protected]@ -18,6 +18,9 @@
+ extra_compile_args = ['-Werror', '-Wall', '-Wextra', '-Wconversion']
+ # special things for clang
+ extra_compile_args.append('-Qunused-arguments')
++ elif (sys.platform == 'sunos5'):
++ extra_compile_args = ["-errtags=yes",
++ "-errwarn=E_ASSIGNMENT_TYPE_MISMATCH,E_RETURN_VALUE_TYPE_MISMATCH"]
+ else:
+ # assume a standard gcc
+ extra_compile_args = ['-Werror', '-Wall', '-Wextra', '-Wconversion']
[email protected]@ -75,6 +77,10 @@
+ py.test.skip("needs GCC or Clang")
+ ffi = FFI()
+ ffi.cdef(cdef)
++ if sys.platform == 'sunos5':
++ lib = ffi.verify(source, **kargs)
++ return lib
++
+ py.test.raises(VerificationError, ffi.verify, source, **kargs)
+ extra_compile_args_orig = extra_compile_args[:]
+ extra_compile_args.remove('-Wconversion')
[email protected]@ -1726,13 +1732,13 @@
+ ('-123', 4, -1),
+ ('-2147483647-1', 4, -1),
+ ]
+- if FFI().sizeof("long") == 8:
++ if FFI().sizeof("long") == 8 and sys.platform != 'sunos5':
+ cases += [('4294967296L', 8, 2**64-1),
+ ('%dUL' % (2**64-1), 8, 2**64-1),
+ ('-2147483649L', 8, -1),
+ ('%dL-1L' % (1-2**63), 8, -1)]
+ for hidden_value, expected_size, expected_minus1 in cases:
+- if sys.platform == 'win32' and 'U' in hidden_value:
++ if sys.platform in ('win32', 'sunos5') and 'U' in hidden_value:
+ continue # skipped on Windows
+ ffi = FFI()
+ ffi.cdef("enum foo_e { AA, BB, ... };")
[email protected]@ -1740,7 +1746,7 @@
+ assert lib.AA == 0
+ assert lib.BB == eval(hidden_value.replace('U', '').replace('L', ''))
+ assert ffi.sizeof("enum foo_e") == expected_size
+- if sys.platform != 'win32':
++ if sys.platform not in ('win32', 'sunos5'):
+ assert int(ffi.cast("enum foo_e", -1)) == expected_minus1
+ # test with the large value hidden:
+ # disabled so far, doesn't work
[email protected]@ -1759,7 +1765,7 @@
+ (0xffffffff, 'U'),
+ (maxulong, 'UL'),
+ (-int(maxulong / 3), 'L')]:
+- if c2c and sys.platform == 'win32':
++ if c2c and sys.platform in ('win32', 'sunos5'):
+ continue # enums may always be signed with MSVC
+ ffi = FFI()
+ ffi.cdef("enum foo_e { AA };")
+--- cffi-1.1.2/testing/cffi0/test_ownlib.py 2015-06-09 03:04:07.000000000 -0700
++++ cffi-1.1.2/testing/cffi0/test_ownlib.py 2015-08-12 13:55:21.239982926 -0700
[email protected]@ -1,4 +1,4 @@
+-import py, sys
++import os, py, sys
+ import subprocess, weakref
+ from cffi import FFI
+ from cffi.backend_ctypes import CTypesBackend
[email protected]@ -102,7 +102,6 @@
+ from testing.udir import udir
+ udir.join('testownlib.c').write(SOURCE)
+ if sys.platform == 'win32':
+- import os
+ # did we already build it?
+ if os.path.exists(str(udir.join('testownlib.dll'))):
+ cls.module = str(udir.join('testownlib.dll'))
[email protected]@ -129,7 +128,7 @@
+ cls.module = str(udir.join('testownlib.dll'))
+ else:
+ subprocess.check_call(
+- 'gcc testownlib.c -shared -fPIC -o testownlib.so',
++ os.getenv('TESTOWNLIB_CC') % ('testownlib.c', 'testownlib.so'),
+ cwd=str(udir), shell=True)
+ cls.module = str(udir.join('testownlib.so'))
+
--- a/components/python/cryptography/Makefile Fri Oct 07 15:08:18 2016 -0700
+++ b/components/python/cryptography/Makefile Tue Oct 11 11:55:12 2016 -0700
@@ -20,22 +20,22 @@
#
#
-# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
#
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME= cryptography
-COMPONENT_VERSION= 0.8.2
+COMPONENT_VERSION= 1.2.3
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
COMPONENT_ARCHIVE_HASH= \
- sha256:1c9a022ab3decaf152093e2ef2d5ee4258c72c7d429446c86bd68ff8c0929db6
+ sha256:8eb11c77dd8e73f48df6b2f7a7e16173fe0fe8fdfe266232832e88477e08454e
COMPONENT_ARCHIVE_URL= $(call pypi_url)
COMPONENT_PROJECT_URL= https://cryptography.io/
COMPONENT_BUGDB= python-mod/cryptography
-TPNO= 22524
+TPNO= 27254
include $(WS_MAKE_RULES)/prep.mk
include $(WS_MAKE_RULES)/setup.py.mk
@@ -43,26 +43,12 @@
ASLR_MODE = $(ASLR_NOT_APPLICABLE)
-#
-# Until enum is available in the build environment, it needs to be built
-# in order for setuptools to work here.
-#
-ENUM= $(WS_COMPONENTS)/python/enum/build/prototype/$(MACH)/$(PYTHON_LIB)
-
-$(ENUM):
- (cd ../enum ; $(MAKE) install)
+# Use the CFFI version in the gate because if the CFFI version changes
+# everything using CFFI will break.
+CFFI = $(WS_COMPONENTS)/python/cffi/build/prototype/$(MACH)/$(PYTHON_LIB)
-COMPONENT_BUILD_ENV += PYTHONPATH=$(ENUM)
-
-COMPONENT_INSTALL_ENV += PYTHONPATH=$(ENUM)
-
-$(BUILD_32_and_64): $(ENUM)
-
-clean::
- (cd ../enum ; $(MAKE) clean)
-
-clobber::
- (cd ../enum ; $(MAKE) clobber)
+COMPONENT_BUILD_ENV += PYTHONPATH=$(CFFI)
+COMPONENT_INSTALL_ENV += PYTHONPATH=$(CFFI)
# common targets
build: $(BUILD_32_and_64)
@@ -70,11 +56,17 @@
install: $(INSTALL_32_and_64)
#
-# tests require cryptography_vectors, iso8601, pretend, pytest, and six,
-# some of which have not yet integrated.
+# tests require cryptography_vectors, iso8601, pretend, pytest>= 2.8.7,
+# hypothesis>=1.11.4 and pyasn1_modules, some of which have not yet integrated.
+# On a i386 kernel zone with the test dependencies installed, test results are:
+# Python2.7: 74000 passed, 6136 skipped
+# Python3.4: 74000 passed, 6136 skipped
+# Python3.5: 74000 passed, 6136 skipped
#
test: $(NO_TESTS)
+system-test: $(SYSTEM_TESTS_NOT_IMPLEMENTED)
+REQUIRED_PACKAGES += library/python/cffi
REQUIRED_PACKAGES += library/security/openssl
REQUIRED_PACKAGES += system/library
--- a/components/python/cryptography/cryptography-PYVER.p5m Fri Oct 07 15:08:18 2016 -0700
+++ b/components/python/cryptography/cryptography-PYVER.p5m Tue Oct 11 11:55:12 2016 -0700
@@ -20,7 +20,7 @@
#
#
-# Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
#
set name=pkg.fmri \
@@ -47,21 +47,6 @@
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography-$(COMPONENT_VERSION)-py$(PYVER).egg-info/not-zip-safe
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography-$(COMPONENT_VERSION)-py$(PYVER).egg-info/requires.txt
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
-$(PYTHON_2.7_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/64/_Cryptography_cffi_26cb75b8x62b488b1.so
-$(PYTHON_2.6_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/64/_Cryptography_cffi_353274b2xffc7b1ce.so
-$(PYTHON_2.6_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/64/_Cryptography_cffi_383020b0x62b488b1.so
-$(PYTHON_2.7_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/64/_Cryptography_cffi_590da19fxffc7b1ce.so
-$(PYTHON_2.6_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/64/_Cryptography_cffi_93dac7cbx399b1113.so
-$(PYTHON_3.4_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/64/_Cryptography_cffi_a8febd48xffc7b1ce.so
-$(PYTHON_3.4_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/64/_Cryptography_cffi_b03f9c7x62b488b1.so
-$(PYTHON_3.4_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/64/_Cryptography_cffi_e9178e86x399b1113.so
-$(PYTHON_2.7_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/64/_Cryptography_cffi_f3e4673fx399b1113.so
-$(PYTHON_2.7_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/_Cryptography_cffi_26cb75b8x62b488b1.so
-$(PYTHON_2.6_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/_Cryptography_cffi_353274b2xffc7b1ce.so
-$(PYTHON_2.6_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/_Cryptography_cffi_383020b0x62b488b1.so
-$(PYTHON_2.7_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/_Cryptography_cffi_590da19fxffc7b1ce.so
-$(PYTHON_2.6_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/_Cryptography_cffi_93dac7cbx399b1113.so
-$(PYTHON_2.7_ONLY)file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/_Cryptography_cffi_f3e4673fx399b1113.so
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/__about__.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/exceptions.py
@@ -86,53 +71,18 @@
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/backends/openssl/rsa.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/backends/openssl/utils.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/backends/openssl/x509.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/64/_constant_time.so
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/64/_openssl.so
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/64/_padding.so
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/_constant_time.so
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/_openssl.so
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/_padding.so
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/commoncrypto/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/commoncrypto/binding.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/commoncrypto/cf.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/commoncrypto/common_cryptor.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/commoncrypto/common_digest.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/commoncrypto/common_hmac.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/commoncrypto/common_key_derivation.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/commoncrypto/secimport.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/commoncrypto/secitem.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/commoncrypto/seckey.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/commoncrypto/seckeychain.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/commoncrypto/sectransform.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/__init__.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/aes.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/asn1.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/bignum.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/_conditional.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/binding.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/bio.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/cmac.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/cms.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/conf.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/crypto.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/dh.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/dsa.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/ec.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/ecdh.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/ecdsa.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/engine.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/err.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/evp.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/hmac.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/nid.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/objects.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/opensslv.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/osrandom_engine.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/pem.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/pkcs12.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/pkcs7.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/rand.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/rsa.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/ssl.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/x509.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/x509_vfy.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/x509name.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/openssl/x509v3.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/bindings/utils.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/asymmetric/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/asymmetric/dh.py
@@ -151,28 +101,29 @@
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/hmac.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/interfaces/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/kdf/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/kdf/concatkdf.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/kdf/hkdf.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/kdf/pbkdf2.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/kdf/x963kdf.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/keywrap.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/padding.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/serialization.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/src/constant_time.c
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/src/constant_time.h
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/src/padding.c
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/src/padding.h
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/twofactor/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/twofactor/hotp.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/twofactor/totp.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/hazmat/primitives/twofactor/utils.py
file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/utils.py
-file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/x509.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/x509/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/x509/base.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/x509/extensions.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/x509/general_name.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/x509/name.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cryptography/x509/oid.py
#
-license LICENSE license="Apache 2.0"
+license LICENSE.BSD license=BSD-like
# Dependencies on cffi must be incorporated.
-depend type=incorporate fmri=library/python/cffi-$(PYV)@0.8.2
-
-# force a dependency on the Python runtime
-depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
- pkg.debug.depend.path=usr/bin
+depend type=incorporate fmri=library/python/cffi-$(PYV)@1.5.2
# force a dependency on cffi; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/cffi-$(PYV)
@@ -184,6 +135,12 @@
# force a dependency on enum; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/enum-$(PYV)
+# force a dependency on idna; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/idna-$(PYV)
+
+# force a dependency on ipaddress; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/ipaddress-$(PYV)
+
# force a dependency on pyasn1; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/pyasn1-$(PYV)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/cryptography/depend.mk Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,1 @@
+python/cryptography: python/cffi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/cryptography/patches/01-deprecation-fix.patch Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,47 @@
+Upstream patch that addresses
+
+ https://github.com/pyca/cryptography/issues/2710
+
+which is already fixed in cryptography 1.3 and above.
+
+commit 0639db99c916e61ac8ee2687c4a9d37c7c67ba76
+Author: Alex Gaynor <[email protected]>
+Date: Sat Feb 6 13:39:16 2016 -0500
+
+ Fixes #2710 -- silence a deprecation warning.
+
+ Use the new name and alias to the old one
+
+diff --git a/src/cryptography/x509/__init__.py b/src/cryptography/x509/__init__.py
+index a1deb7f..787f1a6 100644
+--- a/src/cryptography/x509/__init__.py
++++ b/src/cryptography/x509/__init__.py
[email protected]@ -4,6 +4,7 @@
+
+ from __future__ import absolute_import, division, print_function
+
++from cryptography import utils
+ from cryptography.x509.base import (
+ Certificate, CertificateBuilder, CertificateRevocationList,
+ CertificateRevocationListBuilder,
[email protected]@ -30,12 +31,19 @@ from cryptography.x509.general_name import (
+ )
+ from cryptography.x509.name import Name, NameAttribute
+ from cryptography.x509.oid import (
+- AuthorityInformationAccessOID, CRLEntryExtensionOID, CRLExtensionOID,
++ AuthorityInformationAccessOID, CRLEntryExtensionOID,
+ CertificatePoliciesOID, ExtendedKeyUsageOID, ExtensionOID, NameOID,
+ ObjectIdentifier, SignatureAlgorithmOID, _SIG_OIDS_TO_HASH
+ )
+
+
++CRLExtensionOID = utils.deprecated(
++ CRLEntryExtensionOID,
++ __name__,
++ "CRLExtensionOID has been renamed to CRLEntryExtensionOID",
++ utils.DeprecatedIn12
++)
++
+ OID_AUTHORITY_INFORMATION_ACCESS = ExtensionOID.AUTHORITY_INFORMATION_ACCESS
+ OID_AUTHORITY_KEY_IDENTIFIER = ExtensionOID.AUTHORITY_KEY_IDENTIFIER
+ OID_BASIC_CONSTRAINTS = ExtensionOID.BASIC_CONSTRAINTS
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/idna/Makefile Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,67 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+include ../../../make-rules/shared-macros.mk
+
+COMPONENT_NAME= idna
+COMPONENT_VERSION= 2.0
+COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
+COMPONENT_ARCHIVE_HASH= \
+ sha256:16199aad938b290f5be1057c0e1efc6546229391c23cea61ca940c115f7d3d3b
+COMPONENT_ARCHIVE_URL= $(call pypi_url)
+COMPONENT_PROJECT_URL= https://github.com/kjd/idna
+COMPONENT_BUGDB= python-mod/idna
+
+TPNO= 25771
+
+include $(WS_MAKE_RULES)/prep.mk
+include $(WS_MAKE_RULES)/setup.py.mk
+include $(WS_MAKE_RULES)/ips.mk
+
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
+
+COMPONENT_TEST_DIR = $(SOURCE_DIR)/tests
+COMPONENT_TEST_ARGS = -m unittest discover --pattern=*.py
+
+# The test output contains arbitrary output. Use nawk to extract just the
+# sections that summarizes the test result.
+# Most of the test cases skipped in Python 2.7 because 'Test requires Python
+# wide Unicode support'.
+COMPONENT_TEST_TRANSFORMER = $(NAWK)
+COMPONENT_TEST_TRANSFORMS = "'/^Ran .+ / { sub(\" tests in .+s\", \" tests in\"); print }; /!NF/ { print }; /^OK/ { print };'"
+
+# common targets
+build: $(BUILD_64)
+
+install: $(INSTALL_64)
+
+# Note: test will fail to run for 2.6 because the 'discover' unit test module
+# is not available for 2.6. This will short-circuit the run for 2.7. To run
+# tests manually for 2.7, cd to idna-2.0/tests and run:
+# /usr/bin/python2.7 -m unittest discover --pattern=*.py
+test: $(TEST_64)
+
+system-test: $(SYSTEM_TESTS_NOT_IMPLEMENTED)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/idna/idna-PYVER.p5m Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,58 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+ value=pkg:/library/python/idna-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Internationalized Domain Names in Applications"
+set name=pkg.description \
+ value="A library to support the Internationalised Domain Names in Applications (IDNA) protocol as specified in RFC 5891. The library is also intended to act as a suitable drop-in replacement for the encodings.idna module that comes with the Python standard library but currently only supports the older 2003 specification."
+set name=com.oracle.info.description value="the idna Python module"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+ value=org.opensolaris.category.2008:Development/Python
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream value="Kim Davies <[email protected]>"
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2015/489
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file path=usr/lib/python$(PYVER)/vendor-packages/idna-$(COMPONENT_VERSION)-py$(PYVER).egg-info/PKG-INFO
+file path=usr/lib/python$(PYVER)/vendor-packages/idna-$(COMPONENT_VERSION)-py$(PYVER).egg-info/SOURCES.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/idna-$(COMPONENT_VERSION)-py$(PYVER).egg-info/dependency_links.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/idna-$(COMPONENT_VERSION)-py$(PYVER).egg-info/pbr.json
+file path=usr/lib/python$(PYVER)/vendor-packages/idna-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/idna/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/idna/codec.py
+file path=usr/lib/python$(PYVER)/vendor-packages/idna/compat.py
+file path=usr/lib/python$(PYVER)/vendor-packages/idna/core.py
+file path=usr/lib/python$(PYVER)/vendor-packages/idna/idnadata.py
+file path=usr/lib/python$(PYVER)/vendor-packages/idna/uts46data.py
+license idna.license license=BSD-like
+# force a dependency on the Python runtime
+depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
+ pkg.debug.depend.path=usr/bin
+
+# force a dependency on the idna package
+depend type=require \
+ fmri=library/python/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/idna/idna.license Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,78 @@
+Copyright (c) 2013-2015, Kim Davies. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+#. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+#. Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided with
+ the distribution.
+
+#. Neither the name of the copyright holder nor the names of the
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+#. THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS "AS IS" AND ANY
+ EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
+
+Portions of the codec implementation and unit tests are derived from the
+Python standard library, which carries the `Python Software Foundation
+License <https://docs.python.org/2/license.html>`_:
+
+ Copyright (c) 2001-2014 Python Software Foundation; All Rights Reserved
+
+Portions of the unit tests are derived from the Unicode standard, which
+is subject to the Unicode, Inc. License Agreement:
+
+ Copyright (c) 1991-2014 Unicode, Inc. All rights reserved.
+ Distributed under the Terms of Use in
+ <http://www.unicode.org/copyright.html>.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of the Unicode data files and any associated documentation
+ (the "Data Files") or Unicode software and any associated documentation
+ (the "Software") to deal in the Data Files or Software
+ without restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, and/or sell copies of
+ the Data Files or Software, and to permit persons to whom the Data Files
+ or Software are furnished to do so, provided that
+
+ (a) this copyright and permission notice appear with all copies
+ of the Data Files or Software,
+
+ (b) this copyright and permission notice appear in associated
+ documentation, and
+
+ (c) there is clear notice in each modified Data File or in the Software
+ as well as in the documentation associated with the Data File(s) or
+ Software that the data or software has been modified.
+
+ THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT OF THIRD PARTY RIGHTS.
+ IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS
+ NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+ DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THE DATA FILES OR SOFTWARE.
+
+ Except as contained in this notice, the name of a copyright holder
+ shall not be used in advertising or otherwise to promote the sale,
+ use or other dealings in these Data Files or Software without prior
+ written authorization of the copyright holder.
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/idna/test/results-2.7-64.master Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,2 @@
+Ran 5054 tests in
+OK (skipped=5038)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/idna/test/results-3.4-64.master Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,2 @@
+Ran 5054 tests in
+OK
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/idna/test/results-3.5-64.master Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,2 @@
+Ran 5054 tests in
+OK
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/ipaddress/Makefile Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,63 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+include ../../../make-rules/shared-macros.mk
+
+COMPONENT_NAME= ipaddress
+COMPONENT_VERSION= 1.0.16
+COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
+COMPONENT_ARCHIVE_HASH= \
+ sha256:5a3182b322a706525c46282ca6f064d27a02cffbd449f9f47416f1dc96aa71b0
+COMPONENT_ARCHIVE_URL= $(call pypi_url)
+COMPONENT_PROJECT_URL= https://github.com/phihag/ipaddress
+COMPONENT_BUGDB= python-mod/ipaddress
+
+TPNO= 27996
+
+# ipaddress is superfluous in Python 3.4
+PYTHON_VERSIONS = $(PYTHON2_VERSIONS)
+
+include $(WS_MAKE_RULES)/prep.mk
+include $(WS_MAKE_RULES)/setup.py.mk
+include $(WS_MAKE_RULES)/ips.mk
+
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
+
+COMPONENT_TEST_DIR = $(SOURCE_DIR)
+COMPONENT_TEST_ARGS = test_ipaddress.py
+COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
+
+COMPONENT_TEST_TRANSFORMS += \
+ '-e "s|\(^Ran [0-9]\+ tests in\).*|\1|" '
+
+# common targets
+build: $(BUILD_NO_ARCH)
+
+install: $(INSTALL_NO_ARCH)
+
+test: $(TEST_NO_ARCH)
+
+system-test: $(SYSTEM_TESTS_NOT_IMPLEMENTED)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/ipaddress/ipaddress-PYVER.p5m Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,55 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+set name=pkg.fmri \
+ value=pkg:/library/python/ipaddress-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Python IPv4/IPv6 manipulation library"
+set name=pkg.description \
+ value="This library is a fast, lightweight IPv4/IPv6 manipulation library in Python. It is used to create/poke/manipulate IPv4/IPv6 addresses and networks. This is a port of 3.3+ ipaddress module to 2.7."
+set name=com.oracle.info.description value="the ipaddress Python module"
+set name=com.oracle.info.tpno value=$(TPNO)
+set name=info.classification \
+ value=org.opensolaris.category.2008:Development/Python
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream value="Philipp Hagemeister <[email protected]>"
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2015/490
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+#
+file path=usr/lib/python$(PYVER)/vendor-packages/ipaddress-$(COMPONENT_VERSION)-py$(PYVER).egg-info/PKG-INFO
+file path=usr/lib/python$(PYVER)/vendor-packages/ipaddress-$(COMPONENT_VERSION)-py$(PYVER).egg-info/SOURCES.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/ipaddress-$(COMPONENT_VERSION)-py$(PYVER).egg-info/dependency_links.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/ipaddress-$(COMPONENT_VERSION)-py$(PYVER).egg-info/top_level.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/ipaddress.py
+#
+license ipaddress.license license="PSF v2"
+
+# force a dependency on the Python runtime
+depend type=require fmri=__TBD pkg.debug.depend.file=python$(PYVER) \
+ pkg.debug.depend.path=usr/bin
+
+# force a dependency on the ipaddress package
+depend type=require \
+ fmri=library/python/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/ipaddress/ipaddress.license Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,38 @@
+PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2
+--------------------------------------------
+
+1. This LICENSE AGREEMENT is between the Python Software Foundation
+("PSF"), and the Individual or Organization ("Licensee") accessing and
+otherwise using this software ("Python") in source or binary form and its associated documentation.
+2. Subject to the terms and conditions of this License Agreement, PSF hereby
+grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
+analyze, test, perform and/or display publicly, prepare derivative works,
+distribute, and otherwise use Python alone or in any derivative version,
+provided, however, that PSF's License Agreement and PSF's notice of copyright,
+i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+2011, 2012, 2013, 2014 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on
+or incorporates Python or any part thereof, and wants to make
+the derivative work available to others as provided herein, then
+Licensee hereby agrees to include in any such work a brief summary of the changes made to Python.
+4. PSF is making Python available to Licensee on an "AS IS"
+basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
+IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
+DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
+FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT
+INFRINGE ANY THIRD PARTY RIGHTS.
+5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON,
+OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material
+breach of its terms and conditions.
+7. Nothing in this License Agreement shall be deemed to create any
+relationship of agency, partnership, or joint venture between PSF and
+Licensee. This License Agreement does not grant permission to use PSF
+trademarks or trade name in a trademark sense to endorse or promote
+products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using Python, Licensee agrees to be bound by the terms and conditions of this License
+Agreement.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/ipaddress/test/results-all.master Tue Oct 11 11:55:12 2016 -0700
@@ -0,0 +1,5 @@
+...........................................................................................................................................................................................
+----------------------------------------------------------------------
+Ran 187 tests in
+
+OK
--- a/transforms/standard-python-libraries Fri Oct 07 15:08:18 2016 -0700
+++ b/transforms/standard-python-libraries Tue Oct 11 11:55:12 2016 -0700
@@ -8,6 +8,7 @@
<transform depend fmri=library/python/futures-34 -> drop>
<transform depend fmri=library/python/importlib-27 -> drop>
<transform depend fmri=library/python/importlib-34 -> drop>
+<transform depend fmri=library/python/ipaddress-34 -> drop>
<transform depend fmri=library/python/ordereddict-27 -> drop>
<transform depend fmri=library/python/ordereddict-34 -> drop>
<transform depend fmri=library/python/singledispatch-34 -> drop>