# HG changeset patch # User Ronald Jordan # Date 1476212112 25200 # Node ID cad8ee01213d092b0c73b3b8dd56742aaa9fb702 # Parent 332c44bd55bf44bf6a31c4af20cfafe91fa106b2 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 diff -r 332c44bd55bf -r cad8ee01213d components/python/cffi/Makefile --- 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 diff -r 332c44bd55bf -r cad8ee01213d components/python/cffi/cffi-PYVER.p5m --- 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) \ diff -r 332c44bd55bf -r cad8ee01213d components/python/cffi/cffi.license --- /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. + + + diff -r 332c44bd55bf -r cad8ee01213d components/python/cffi/patches/alloca.patch --- 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 -@@ -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 -+#endif - #endif - - #if PY_MAJOR_VERSION < 3 diff -r 332c44bd55bf -r cad8ee01213d components/python/cffi/patches/anonymous.patch --- 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 -# 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 -@@ -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 -@@ -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) -@@ -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 -@@ -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 * -@@ -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(): diff -r 332c44bd55bf -r cad8ee01213d components/python/cffi/patches/barrier.patch --- /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 +@@ -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 ++# 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 +@@ -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 ++# include ++# 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 diff -r 332c44bd55bf -r cad8ee01213d components/python/cffi/patches/s11.patch --- 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 -@@ -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 -@@ -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' diff -r 332c44bd55bf -r cad8ee01213d components/python/cffi/patches/test.patch --- 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 -@@ -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 -@@ -1,4 +1,4 @@ --import py, sys -+import os, py, sys - import subprocess, weakref - from cffi import FFI - from cffi.backend_ctypes import CTypesBackend -@@ -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 -@@ -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') -@@ -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) -@@ -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 -@@ -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 +@@ -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'] +@@ -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 -@@ -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') +@@ -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, ... };") -@@ -1629,7 +1627,7 @@ +@@ -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 -@@ -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 +@@ -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))')) +@@ -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)) == "" +- assert repr(ffi.cast("enum foq", -1)) == ( # enums are unsigned, if +- "") or ( # they contain no neg value +- sys.platform == "win32") # (but not on msvc) ++ assert repr(ffi.cast("enum foq", -1)) == ( # enums are unsigned, if ++ "") 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" +@@ -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 +@@ -1211,7 +1215,7 @@ + assert repr(p.a).startswith(" +--- 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 +@@ -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'] +@@ -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') +@@ -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, ... };") +@@ -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 +@@ -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 +@@ -1,4 +1,4 @@ +-import py, sys ++import os, py, sys + import subprocess, weakref + from cffi import FFI + from cffi.backend_ctypes import CTypesBackend +@@ -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')) +@@ -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')) + diff -r 332c44bd55bf -r cad8ee01213d components/python/cryptography/Makefile --- 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 diff -r 332c44bd55bf -r cad8ee01213d components/python/cryptography/cryptography-PYVER.p5m --- 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) diff -r 332c44bd55bf -r cad8ee01213d components/python/cryptography/depend.mk --- /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 diff -r 332c44bd55bf -r cad8ee01213d components/python/cryptography/patches/01-deprecation-fix.patch --- /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 +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 +@@ -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, +@@ -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 diff -r 332c44bd55bf -r cad8ee01213d components/python/idna/Makefile --- /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) diff -r 332c44bd55bf -r cad8ee01213d components/python/idna/idna-PYVER.p5m --- /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 " +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/idna@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) diff -r 332c44bd55bf -r cad8ee01213d components/python/idna/idna.license --- /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 `_: + + 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 + . + + 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. + diff -r 332c44bd55bf -r cad8ee01213d components/python/idna/test/results-2.7-64.master --- /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) diff -r 332c44bd55bf -r cad8ee01213d components/python/idna/test/results-3.4-64.master --- /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 diff -r 332c44bd55bf -r cad8ee01213d components/python/idna/test/results-3.5-64.master --- /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 diff -r 332c44bd55bf -r cad8ee01213d components/python/ipaddress/Makefile --- /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) diff -r 332c44bd55bf -r cad8ee01213d components/python/ipaddress/ipaddress-PYVER.p5m --- /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 " +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/ipaddress@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION) diff -r 332c44bd55bf -r cad8ee01213d components/python/ipaddress/ipaddress.license --- /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. diff -r 332c44bd55bf -r cad8ee01213d components/python/ipaddress/test/results-all.master --- /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 diff -r 332c44bd55bf -r cad8ee01213d transforms/standard-python-libraries --- 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 @@ drop> drop> drop> + drop> drop> drop> drop>