aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lang/python27/Makefile1
-rw-r--r--lang/python27/files/patch-Lib_distutils_command_install__lib.py34
-rw-r--r--lang/python27/files/patch-Lib_distutils_tests_test__install__lib.py30
-rw-r--r--lang/python32/Makefile1
-rw-r--r--lang/python32/files/patch-Lib_distutils_command_install__lib.py34
-rw-r--r--lang/python33/Makefile2
-rw-r--r--lang/python33/files/patch-Lib_distutils_command_install__lib.py34
-rw-r--r--lang/python34/Makefile2
-rw-r--r--lang/python34/files/patch-Lib_distutils_command_install__lib.py35
-rw-r--r--lang/python35/Makefile1
-rw-r--r--lang/python35/files/patch-Lib_distutils_command_install__lib.py41
-rw-r--r--lang/python35/files/patch-Lib_distutils_tests_test__install__lib.py33
12 files changed, 246 insertions, 2 deletions
diff --git a/lang/python27/Makefile b/lang/python27/Makefile
index 70190f5185ab..eea02f1c8436 100644
--- a/lang/python27/Makefile
+++ b/lang/python27/Makefile
@@ -2,6 +2,7 @@
PORTNAME= python27
PORTVERSION= ${PYTHON_PORTVERSION}
+PORTREVISION= 1
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON/ftp/python/${PORTVERSION}
DISTNAME= Python-${PORTVERSION}
diff --git a/lang/python27/files/patch-Lib_distutils_command_install__lib.py b/lang/python27/files/patch-Lib_distutils_command_install__lib.py
new file mode 100644
index 000000000000..f7dfb21c8336
--- /dev/null
+++ b/lang/python27/files/patch-Lib_distutils_command_install__lib.py
@@ -0,0 +1,34 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+---
+ Lib/distutils/command/install_lib.py | 17 +++++++++++++----
+ Lib/distutils/tests/test_install_lib.py | 8 ++++++--
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+--- Lib/distutils/command/install_lib.py.orig 2015-12-05 19:46:56 UTC
++++ Lib/distutils/command/install_lib.py
+@@ -168,10 +168,14 @@ class install_lib(Command):
+ ext = os.path.splitext(os.path.normcase(py_file))[1]
+ if ext != PYTHON_SOURCE_EXTENSION:
+ continue
+- if self.compile:
+- bytecode_files.append(py_file + "c")
+- if self.optimize > 0:
+- bytecode_files.append(py_file + "o")
++
++ pyc_file = py_file + "c"
++ if self.compile and os.path.isfile(pyc_file):
++ bytecode_files.append(pyc_file)
++
++ pyo_file = py_file + "o"
++ if self.optimize > 0 and os.path.isfile(pyo_file):
++ bytecode_files.append(pyo_file)
+
+ return bytecode_files
+
diff --git a/lang/python27/files/patch-Lib_distutils_tests_test__install__lib.py b/lang/python27/files/patch-Lib_distutils_tests_test__install__lib.py
new file mode 100644
index 000000000000..9313cf2e211e
--- /dev/null
+++ b/lang/python27/files/patch-Lib_distutils_tests_test__install__lib.py
@@ -0,0 +1,30 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+---
+ Lib/distutils/command/install_lib.py | 17 +++++++++++++----
+ Lib/distutils/tests/test_install_lib.py | 8 ++++++--
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+--- Lib/distutils/tests/test_install_lib.py.orig 2015-12-05 19:46:57 UTC
++++ Lib/distutils/tests/test_install_lib.py
+@@ -64,8 +64,12 @@ class InstallLibTestCase(support.Tempdir
+ cmd.distribution.packages = [pkg_dir]
+ cmd.distribution.script_name = 'setup.py'
+
+- # get_output should return 4 elements
+- self.assertGreaterEqual(len(cmd.get_outputs()), 2)
++ # Create rubbish, uncompilable file
++ f = os.path.join(pkg_dir, 'rubbish.py')
++ self.write_file(f, 'rubbish()')
++
++ # get_output should return 3 elements
++ self.assertEqual(len(cmd.get_outputs()), 3)
+
+ def test_get_inputs(self):
+ pkg_dir, dist = self.create_dist()
diff --git a/lang/python32/Makefile b/lang/python32/Makefile
index 43f045754cb2..1578eb315bd8 100644
--- a/lang/python32/Makefile
+++ b/lang/python32/Makefile
@@ -2,6 +2,7 @@
PORTNAME= python32
PORTVERSION= ${PYTHON_PORTVERSION}
+PORTREVISION= 1
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON/ftp/python/${PORTVERSION}
DISTNAME= Python-${PORTVERSION}
diff --git a/lang/python32/files/patch-Lib_distutils_command_install__lib.py b/lang/python32/files/patch-Lib_distutils_command_install__lib.py
new file mode 100644
index 000000000000..816395cbf2a7
--- /dev/null
+++ b/lang/python32/files/patch-Lib_distutils_command_install__lib.py
@@ -0,0 +1,34 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+
+--- Lib/distutils/command/install_lib.py.orig 2014-10-12 06:52:02 UTC
++++ Lib/distutils/command/install_lib.py
+@@ -165,11 +165,18 @@ class install_lib(Command):
+ if ext != PYTHON_SOURCE_EXTENSION:
+ continue
+ if self.compile:
+- bytecode_files.append(imp.cache_from_source(
+- py_file, debug_override=True))
++ candidate = imp.cache_from_source(
++ py_file, debug_override=True)
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
++
+ if self.optimize > 0:
+- bytecode_files.append(imp.cache_from_source(
+- py_file, debug_override=False))
++ candidate = imp.cache_from_source(
++ py_file, debug_override=False)
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
+
+ return bytecode_files
+
diff --git a/lang/python33/Makefile b/lang/python33/Makefile
index e49c1f9d9b1d..6fbe8155e3db 100644
--- a/lang/python33/Makefile
+++ b/lang/python33/Makefile
@@ -2,7 +2,7 @@
PORTNAME= python33
PORTVERSION= ${PYTHON_PORTVERSION}
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON/ftp/python/${PORTVERSION}
DISTNAME= Python-${PORTVERSION}
diff --git a/lang/python33/files/patch-Lib_distutils_command_install__lib.py b/lang/python33/files/patch-Lib_distutils_command_install__lib.py
new file mode 100644
index 000000000000..816395cbf2a7
--- /dev/null
+++ b/lang/python33/files/patch-Lib_distutils_command_install__lib.py
@@ -0,0 +1,34 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+
+--- Lib/distutils/command/install_lib.py.orig 2014-10-12 06:52:02 UTC
++++ Lib/distutils/command/install_lib.py
+@@ -165,11 +165,18 @@ class install_lib(Command):
+ if ext != PYTHON_SOURCE_EXTENSION:
+ continue
+ if self.compile:
+- bytecode_files.append(imp.cache_from_source(
+- py_file, debug_override=True))
++ candidate = imp.cache_from_source(
++ py_file, debug_override=True)
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
++
+ if self.optimize > 0:
+- bytecode_files.append(imp.cache_from_source(
+- py_file, debug_override=False))
++ candidate = imp.cache_from_source(
++ py_file, debug_override=False)
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
+
+ return bytecode_files
+
diff --git a/lang/python34/Makefile b/lang/python34/Makefile
index b2c076e87f9d..e06ac3c486b3 100644
--- a/lang/python34/Makefile
+++ b/lang/python34/Makefile
@@ -3,7 +3,7 @@
PORTNAME= python34
PORTVERSION= ${PYTHON_PORTVERSION}
-PORTREVISION= 0
+PORTREVISION= 1
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON/ftp/python/${PORTVERSION}
DISTNAME= Python-${PORTVERSION}
diff --git a/lang/python34/files/patch-Lib_distutils_command_install__lib.py b/lang/python34/files/patch-Lib_distutils_command_install__lib.py
new file mode 100644
index 000000000000..78b107068ec0
--- /dev/null
+++ b/lang/python34/files/patch-Lib_distutils_command_install__lib.py
@@ -0,0 +1,35 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+
+--- Lib/distutils/command/install_lib.py.orig 2016-01-08 12:38:49 UTC
++++ Lib/distutils/command/install_lib.py
+@@ -165,11 +165,19 @@ class install_lib(Command):
+ if ext != PYTHON_SOURCE_EXTENSION:
+ continue
+ if self.compile:
+- bytecode_files.append(importlib.util.cache_from_source(
+- py_file, debug_override=True))
++ candidate = importlib.util.cache_from_source(
++ py_file, debug_override=True)
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
++
+ if self.optimize > 0:
+- bytecode_files.append(importlib.util.cache_from_source(
+- py_file, debug_override=False))
++ candidate = importlib.util.cache_from_source(
++ py_file, debug_override=False)
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
++
+
+ return bytecode_files
+
diff --git a/lang/python35/Makefile b/lang/python35/Makefile
index 1aa52fa5ae8a..48982ed88811 100644
--- a/lang/python35/Makefile
+++ b/lang/python35/Makefile
@@ -3,6 +3,7 @@
PORTNAME= python
DISTVERSION= ${PYTHON_PORTVERSION}
+PORTREVISION= 1
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON/ftp/python/${PYTHON_PORTVERSION}
PKGNAMESUFFIX= ${PYTHON_SUFFIX}
diff --git a/lang/python35/files/patch-Lib_distutils_command_install__lib.py b/lang/python35/files/patch-Lib_distutils_command_install__lib.py
new file mode 100644
index 000000000000..6e925311e57d
--- /dev/null
+++ b/lang/python35/files/patch-Lib_distutils_command_install__lib.py
@@ -0,0 +1,41 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+---
+ Lib/distutils/command/install_lib.py | 17 +++++++++++++----
+ Lib/distutils/tests/test_install_lib.py | 8 ++++++--
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+--- Lib/distutils/command/install_lib.py.orig 2015-12-07 01:39:07 UTC
++++ Lib/distutils/command/install_lib.py
+@@ -164,12 +164,21 @@ class install_lib(Command):
+ ext = os.path.splitext(os.path.normcase(py_file))[1]
+ if ext != PYTHON_SOURCE_EXTENSION:
+ continue
++
+ if self.compile:
+- bytecode_files.append(importlib.util.cache_from_source(
+- py_file, optimization=''))
++ candidate = importlib.util.cache_from_source(
++ py_file, optimization='')
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
++
+ if self.optimize > 0:
+- bytecode_files.append(importlib.util.cache_from_source(
+- py_file, optimization=self.optimize))
++ candidate = importlib.util.cache_from_source(
++ py_file, optimization=self.optimize)
++
++ if os.path.isfile(candidate):
++ bytecode_files.append(candidate)
++
+
+ return bytecode_files
+
diff --git a/lang/python35/files/patch-Lib_distutils_tests_test__install__lib.py b/lang/python35/files/patch-Lib_distutils_tests_test__install__lib.py
new file mode 100644
index 000000000000..c5531b92ee92
--- /dev/null
+++ b/lang/python35/files/patch-Lib_distutils_tests_test__install__lib.py
@@ -0,0 +1,33 @@
+From 9934ce31b8447667f71c211e559a8de71e8263db Mon Sep 17 00:00:00 2001
+From: Brendan Molloy <brendan@bbqsrc.net>
+Date: Mon, 4 Jan 2016 23:14:06 +1100
+Subject: [PATCH] Check bytecode file actually exists and tests
+
+Should solve issue 20397, where using the --record argument results
+in files that failed to generate bytecode files are added to the
+record file nonetheless.
+---
+ Lib/distutils/command/install_lib.py | 17 +++++++++++++----
+ Lib/distutils/tests/test_install_lib.py | 8 ++++++--
+ 2 files changed, 19 insertions(+), 6 deletions(-)
+
+--- Lib/distutils/tests/test_install_lib.py.orig 2015-12-07 01:39:07 UTC
++++ Lib/distutils/tests/test_install_lib.py
+@@ -64,11 +64,15 @@ class InstallLibTestCase(support.Tempdir
+ cmd.distribution.ext_modules = [Extension('foo', ['xxx'])]
+ cmd.distribution.packages = ['spam']
+ cmd.distribution.script_name = 'setup.py'
++
++ # Create rubbish, uncompilable file
++ f = os.path.join(project_dir, 'spam', 'rubbish.py')
++ self.write_file(f, 'rubbish()')
+
+ # get_outputs should return 4 elements: spam/__init__.py and .pyc,
+- # foo.import-tag-abiflags.so / foo.pyd
++ # foo.import-tag-abiflags.so / foo.pyd and rubbish.py (no .pyc)
+ outputs = cmd.get_outputs()
+- self.assertEqual(len(outputs), 4, outputs)
++ self.assertEqual(len(outputs), 5, outputs)
+
+ def test_get_inputs(self):
+ project_dir, dist = self.create_dist()