dev-python/pysvn: 1.9.11 + EAPI 7 + py37/py38
authorSebastian Pipping <sping@gentoo.org>
Sun, 1 Mar 2020 13:52:52 +0000 (14:52 +0100)
committerSebastian Pipping <sping@gentoo.org>
Sun, 1 Mar 2020 13:56:27 +0000 (14:56 +0100)
Closes: https://bugs.gentoo.org/602152
Signed-off-by: Sebastian Pipping <sping@gentoo.org>
Package-Manager: Portage-2.3.84, Repoman-2.3.20

dev-python/pysvn/Manifest
dev-python/pysvn/files/pysvn-1.9.11-respect-flags.patch [new file with mode: 0644]
dev-python/pysvn/pysvn-1.9.11.ebuild [new file with mode: 0644]

index 340ef8cb793cff68771347e80c67785e25e08a1f..ed402f4d9d5291cf063306d6e1f3e3af0d12d786 100644 (file)
@@ -1 +1,2 @@
 DIST pysvn-1.8.0.tar.gz 366583 BLAKE2B b7aae274bd2387901df4075ffa70d73e4462a127aa6690aecc406288a9e8dc2f31599297480cfc5fef14ef39c47daa3c309b6c61f49d781abb4d8c0f9a9fcb12 SHA512 14a70b910be986eba638a903edde5046c93314fedb08a7c15d464dc51da1c7efeb87147cc68c00ff9ac1b4ca506d099d3aedf7e4d86f92642c7304ef9540653b
+DIST pysvn-1.9.11.tar.gz 624408 BLAKE2B 2ca13388717cc82b68509843e3b1780bceb5c088c41fadc81206c909eb185ec7c73d0a7453fc4e0c1a78a5186e21d382c79af0fb666edce7f5e72c0cf63e25db SHA512 078dc0e19a1f29d40571de002734943415594bcbe132a4d0e6bf8e8781175345ca1b3a4967a183a15efb1462871a40d8e3879a22c913a649555ca593fb99db89
diff --git a/dev-python/pysvn/files/pysvn-1.9.11-respect-flags.patch b/dev-python/pysvn/files/pysvn-1.9.11-respect-flags.patch
new file mode 100644 (file)
index 0000000..9a9bcd7
--- /dev/null
@@ -0,0 +1,124 @@
+From 73655a682b69fd514f7060eb67e60ecb617c5f27 Mon Sep 17 00:00:00 2001
+From: Sebastian Pipping <sebastian@pipping.org>
+Date: Sun, 1 Mar 2020 14:16:13 +0100
+Subject: [PATCH] Respect CC, CXX, LDFLAGS
+
+---
+ Patches/test_proplist.mak |  4 ++--
+ Source/setup_configure.py | 24 ++++++++++--------------
+ 2 files changed, 12 insertions(+), 16 deletions(-)
+
+diff --git a/Patches/test_proplist.mak b/Patches/test_proplist.mak
+index 9d9a58a..02e7a68 100644
+--- a/Patches/test_proplist.mak
++++ b/Patches/test_proplist.mak
+@@ -2,7 +2,7 @@ CCCFLAGS=-fPIC -fexceptions -frtti -I$(SVN_INC) -I$(APR_INC)
+ LDLIBS=-L$(SVN_LIB) -lsvn_client-1 -lapr-0
+ test_proplist: test_proplist.o
+-      g++ -g -o test_proplist test_proplist.o $(LDLIBS)
++      $(CXX) $(LDFLAGS) -o test_proplist test_proplist.o $(LDLIBS)
+ test_proplist.o: test_proplist.cpp
+-      g++ -c -g $(CCCFLAGS) -o $@ $<
++      $(CXX) -c $(LDFLAGS) $(CCCFLAGS) -o $@ $<
+diff --git a/Source/setup_configure.py b/Source/setup_configure.py
+index e02a6a5..bbe7ec7 100644
+--- a/Source/setup_configure.py
++++ b/Source/setup_configure.py
+@@ -900,8 +900,8 @@ class CompilerGCC(Compiler):
+     def __init__( self, setup ):
+         Compiler.__init__( self, setup )
+-        self._addVar( 'CCC',            'g++' )
+-        self._addVar( 'CC',             'gcc' )
++        self._addVar( 'CCC',            '$(CXX)' )
++        self._addVar( 'CC',             '$(CC)' )
+     def getPythonExtensionFileExt( self ):
+         return '.so'
+@@ -1037,8 +1037,8 @@ class MacOsxCompilerGCC(CompilerGCC):
+         else:
+             arch_options = ''
+-        self._addVar( 'CCC',            'g++ %s' % (arch_options,) )
+-        self._addVar( 'CC',             'gcc %s' % (arch_options,) )
++        self._addVar( 'CCC',            '$(CXX) %s' % (arch_options,) )
++        self._addVar( 'CC',             '$(CC) %s' % (arch_options,) )
+         self._find_paths_pycxx_dir = [
+                         '../Import/pycxx-%d.%d.%d' % min_pycxx_version,
+@@ -1104,11 +1104,10 @@ class MacOsxCompilerGCC(CompilerGCC):
+     def setupUtilities( self ):
+         self._addVar( 'CCCFLAGS',
+-                                        '-g  '
+                                         '-Wall -fPIC -fexceptions -frtti '
+                                         '-I. -I%(APR_INC)s -I%(APU_INC)s -I%(SVN_INC)s '
+                                         '-D%(DEBUG)s' )
+-        self._addVar( 'LDEXE',          '%(CCC)s -g' )
++        self._addVar( 'LDEXE',          '%(CCC)s $(LDFLAGS)' )
+     def setupPySvn( self ):
+         # Support building in a virtualenv.
+@@ -1132,7 +1131,6 @@ class MacOsxCompilerGCC(CompilerGCC):
+         self._addVar( 'PYTHON_INC',         distutils.sysconfig.get_python_inc() )
+         py_cflags_list = [
+-                    '-g',
+                     '-Wall -fPIC',
+                     '-I. -I%(APR_INC)s -I%(APU_INC)s -I%(SVN_INC)s',
+                     '-DPYCXX_PYTHON_2TO3 -I%(PYCXX)s -I%(PYCXX_SRC)s -I%(PYTHON_INC)s',
+@@ -1166,7 +1164,7 @@ class MacOsxCompilerGCC(CompilerGCC):
+         if self.options.hasOption( '--link-python-framework-via-dynamic-lookup' ):
+             # preferred link method on homebrew for pysvn
+-            self._addVar( 'LDSHARED',   '%(CCC)s -bundle -g '
++            self._addVar( 'LDSHARED',   '%(CCC)s -bundle $(LDFLAGS) '
+                                         '-framework System '
+                                         '-framework CoreFoundation '
+                                         '-framework Kerberos '
+@@ -1174,7 +1172,7 @@ class MacOsxCompilerGCC(CompilerGCC):
+                                         '-undefined dynamic_lookup '
+                                         '%(LDLIBS)s' )
+         else:
+-            self._addVar( 'LDSHARED',   '%(CCC)s -bundle -g '
++            self._addVar( 'LDSHARED',   '%(CCC)s -bundle $(LDFLAGS) '
+                                         '-framework System '
+                                         '%(PYTHON_FRAMEWORK)s '
+                                         '-framework CoreFoundation '
+@@ -1247,11 +1245,10 @@ class UnixCompilerGCC(CompilerGCC):
+     def setupUtilities( self ):
+         self._addVar( 'CCCFLAGS',
+-                                        '-g  '
+                                         '-Wall -fPIC -fexceptions -frtti '
+                                         '-I. -I%(APR_INC)s -I%(APU_INC)s -I%(SVN_INC)s '
+                                         '-D%(DEBUG)s' )
+-        self._addVar( 'LDEXE',          '%(CCC)s -g' )
++        self._addVar( 'LDEXE',          '%(CCC)s $(LDFLAGS)' )
+     def setupPySvn( self ):
+         self._pysvnModuleSetup()
+@@ -1279,8 +1276,7 @@ class UnixCompilerGCC(CompilerGCC):
+         py_cflags_list.extend( self._getDefines( '-D%s' ) )
+         if self.options.hasOption( '--enable-debug' ):
+-            print( 'Info: Debug enabled' )
+-            py_cflags_list.append( '-g' )
++            print( 'Info: --enable-debug ignored' )
+         if self.options.hasOption( '--disable-deprecated-functions-warnings' ):
+             print( 'Info: Disable deprecated functions warnings' )
+@@ -1289,7 +1285,7 @@ class UnixCompilerGCC(CompilerGCC):
+         self._addVar( 'CCFLAGS',    ' '.join( py_cflags_list ) )
+         self._addVar( 'CCCFLAGS',   ' '.join( py_cflags_list+['-fexceptions -frtti'] ) )
+         self._addVar( 'LDLIBS',     ' '.join( self._getLdLibs() ) )
+-        self._addVar( 'LDSHARED',   '%(CCC)s -shared -g' )
++        self._addVar( 'LDSHARED',   '%(CCC)s -shared $(LDFLAGS)' )
+ #--------------------------------------------------------------------------------
+ class LinuxCompilerGCC(UnixCompilerGCC):
+-- 
+2.24.1
+
diff --git a/dev-python/pysvn/pysvn-1.9.11.ebuild b/dev-python/pysvn/pysvn-1.9.11.ebuild
new file mode 100644 (file)
index 0000000..2e18b73
--- /dev/null
@@ -0,0 +1,59 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit eutils distutils-r1 toolchain-funcs
+
+DESCRIPTION="Object-oriented python bindings for subversion"
+HOMEPAGE="https://pysvn.sourceforge.io/"
+SRC_URI="mirror://sourceforge/project/pysvn/pysvn/V${PV}/${P}.tar.gz"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
+IUSE="doc examples"
+
+DEPEND="
+       >=dev-python/pycxx-7.0.2[${PYTHON_USEDEP}]
+       >=dev-vcs/subversion-1.9"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-respect-flags.patch )
+
+DISTUTILS_IN_SOURCE_BUILD=true
+
+python_prepare_all() {
+       # Don't use internal copy of dev-python/pycxx.
+       rm -r Import || die
+
+       distutils-r1_python_prepare_all
+}
+
+python_configure() {
+       cd Source || die
+       # all config options from 1.7.6 are all already set
+       esetup.py configure
+}
+
+python_compile() {
+       cd Source || die
+       emake CC="$(tc-getCC)" CXX="$(tc-getCXX)"
+}
+
+python_test() {
+       cd Tests || die
+       emake
+}
+
+python_install() {
+       cd Source || die
+       python_domodule pysvn
+}
+
+python_install_all() {
+       use doc && local HTML_DOCS=( Docs/. )
+       use examples && local EXAMPLES=( Examples/Client/. )
+       distutils-r1_python_install_all
+}