summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-python/python-gflags/ChangeLog8
-rw-r--r--dev-python/python-gflags/files/python-gflags-2.0-scripts-install.patch26
-rw-r--r--dev-python/python-gflags/files/python-gflags-2.0-tests-respect-tmpdir.patch55
-rw-r--r--dev-python/python-gflags/metadata.xml4
-rw-r--r--dev-python/python-gflags/python-gflags-2.0.ebuild32
5 files changed, 112 insertions, 13 deletions
diff --git a/dev-python/python-gflags/ChangeLog b/dev-python/python-gflags/ChangeLog
index 6cd495d22a5f..e0db40a8a94e 100644
--- a/dev-python/python-gflags/ChangeLog
+++ b/dev-python/python-gflags/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-python/python-gflags
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/python-gflags/ChangeLog,v 1.9 2012/12/16 14:15:02 pacho Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/python-gflags/ChangeLog,v 1.10 2012/12/16 16:14:31 mgorny Exp $
+
+ 16 Dec 2012; Michał Górny <mgorny@gentoo.org>
+ +files/python-gflags-2.0-scripts-install.patch,
+ +files/python-gflags-2.0-tests-respect-tmpdir.patch, metadata.xml,
+ python-gflags-2.0.ebuild:
+ Migrate to distutils-r1, run tests and make Python team a maintainer.
16 Dec 2012; Pacho Ramos <pacho@gentoo.org> -python-gflags-1.6.ebuild,
metadata.xml:
diff --git a/dev-python/python-gflags/files/python-gflags-2.0-scripts-install.patch b/dev-python/python-gflags/files/python-gflags-2.0-scripts-install.patch
new file mode 100644
index 000000000000..357121c61aab
--- /dev/null
+++ b/dev-python/python-gflags/files/python-gflags-2.0-scripts-install.patch
@@ -0,0 +1,26 @@
+From d544cdad63faa5a53ba524e39f091f4a18e1eeb8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 16 Dec 2012 16:27:13 +0100
+Subject: [PATCH] Install Python scripts using 'scripts' key.
+
+This is necessary to ensure that the shebangs are properly replaced when
+installing for multiple Python implementations.
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 573db2d..ddad318 100755
+--- a/setup.py
++++ b/setup.py
+@@ -39,6 +39,6 @@ setup(name='python-gflags',
+ author_email='google-gflags@googlegroups.com',
+ url='http://code.google.com/p/python-gflags',
+ py_modules=["gflags", "gflags_validators"],
+- data_files=[("bin", ["gflags2man.py"])],
++ scripts=["gflags2man.py"],
+ include_package_data=True,
+ )
+--
+1.8.0.2
+
diff --git a/dev-python/python-gflags/files/python-gflags-2.0-tests-respect-tmpdir.patch b/dev-python/python-gflags/files/python-gflags-2.0-tests-respect-tmpdir.patch
new file mode 100644
index 000000000000..035b6b6be404
--- /dev/null
+++ b/dev-python/python-gflags/files/python-gflags-2.0-tests-respect-tmpdir.patch
@@ -0,0 +1,55 @@
+From 4a430830e75bfe2228e9d953b12f74a20ec2cb8f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 16 Dec 2012 16:53:24 +0100
+Subject: [PATCH] Use tempfile.mkdtemp() to create temporary directory.
+
+This creates an unique directory, and respects TMPDIR.
+---
+ tests/gflags_unittest.py | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/tests/gflags_unittest.py b/tests/gflags_unittest.py
+index 8e948bf..fcddb7b 100755
+--- a/tests/gflags_unittest.py
++++ b/tests/gflags_unittest.py
+@@ -38,6 +38,7 @@ import cStringIO
+ import sys
+ import os
+ import shutil
++import tempfile
+
+ import gflags
+ from flags_modules_for_testing import module_foo
+@@ -907,17 +908,16 @@ class LoadFromFlagFileTest(googletest.TestCase):
+ flag_values=self.flag_values)
+ self.files_to_delete = []
+
++ # Figure out where to create temporary files
++ self.tmp_path = tempfile.mkdtemp(prefix='gflags_unittest')
++
+ def tearDown(self):
+ self._RemoveTestFiles()
+
+ def _SetupTestFiles(self):
+ """ Creates and sets up some dummy flagfile files with bogus flags"""
+
+- # Figure out where to create temporary files
+- tmp_path = '/tmp/flags_unittest'
+- if os.path.exists(tmp_path):
+- shutil.rmtree(tmp_path)
+- os.makedirs(tmp_path)
++ tmp_path = self.tmp_path
+
+ try:
+ tmp_flag_file_1 = open(tmp_path + '/UnitTestFile1.tst', 'w')
+@@ -973,6 +973,7 @@ class LoadFromFlagFileTest(googletest.TestCase):
+ os.remove(file_name)
+ except OSError, e_msg:
+ print '%s\n, Problem deleting test file' % e_msg
++ shutil.rmtree(self.tmp_path)
+ #end RemoveTestFiles def
+
+ def _ReadFlagsFromFiles(self, argv, force_gnu):
+--
+1.8.0.2
+
diff --git a/dev-python/python-gflags/metadata.xml b/dev-python/python-gflags/metadata.xml
index 3aa4bc9253ad..acab986467bf 100644
--- a/dev-python/python-gflags/metadata.xml
+++ b/dev-python/python-gflags/metadata.xml
@@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer>
- <email>maintainer-needed@gentoo.org</email>
- </maintainer>
+ <herd>python</herd>
<upstream>
<remote-id type="google-code">python-gflags</remote-id>
</upstream>
diff --git a/dev-python/python-gflags/python-gflags-2.0.ebuild b/dev-python/python-gflags/python-gflags-2.0.ebuild
index f9b910a65105..b48f4fc9800a 100644
--- a/dev-python/python-gflags/python-gflags-2.0.ebuild
+++ b/dev-python/python-gflags/python-gflags-2.0.ebuild
@@ -1,14 +1,14 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-python/python-gflags/python-gflags-2.0.ebuild,v 1.3 2012/06/27 05:05:34 xarthisius Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-python/python-gflags/python-gflags-2.0.ebuild,v 1.4 2012/12/16 16:14:31 mgorny Exp $
EAPI="4"
-PYTHON_COMPAT="python2_5 python2_6 python2_7 pypy1_8 pypy1_9"
+PYTHON_COMPAT=( python{2_5,2_6,2_7} pypy{1_8,1_9} )
-inherit python-distutils-ng
+inherit distutils-r1
-DESCRIPTION="Google's Python argument parsing library."
+DESCRIPTION="Google's Python argument parsing library"
HOMEPAGE="http://code.google.com/p/python-gflags/"
SRC_URI="http://python-gflags.googlecode.com/files/${P}.tar.gz"
@@ -17,11 +17,25 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
-DEPEND="dev-python/setuptools"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND=""
-python_prepare_all() {
- sed \
- -e 's/data_files=\[("bin", \["gflags2man.py"\])\]/scripts=\["gflags2man.py"\]/' \
- -i setup.py || die "sed failed"
+PATCHES=(
+ # The scripts are installed as 'data' rather than scripts.
+ # http://code.google.com/p/python-gflags/issues/detail?id=12
+ "${FILESDIR}"/${P}-scripts-install.patch
+
+ # Tests try to write to /tmp (sandbox).
+ # http://code.google.com/p/python-gflags/issues/detail?id=13
+ "${FILESDIR}"/${P}-tests-respect-tmpdir.patch
+)
+
+python_test() {
+ local t
+
+ cd tests || die
+ for t in *.py; do
+ # (it's ok to run the gflags_googletest.py too)
+ "${PYTHON}" "${t}" || die "Tests fail with ${EPYTHON}"
+ done
}