dev-python/PyECLib: fixing install to /usr/local
authorMatthew Thode <mthode@mthode.org>
Wed, 26 Aug 2015 21:29:47 +0000 (16:29 -0500)
committerMatthew Thode <mthode@mthode.org>
Wed, 26 Aug 2015 21:30:09 +0000 (16:30 -0500)
gentoo-bug: 558850

Package-Manager: portage-2.2.20.1

dev-python/PyECLib/PyECLib-1.0.7-r1.ebuild [new file with mode: 0644]
dev-python/PyECLib/PyECLib-1.0.7.ebuild
dev-python/PyECLib/files/PyECLib-usr-local.patch [new file with mode: 0644]

diff --git a/dev-python/PyECLib/PyECLib-1.0.7-r1.ebuild b/dev-python/PyECLib/PyECLib-1.0.7-r1.ebuild
new file mode 100644 (file)
index 0000000..772f076
--- /dev/null
@@ -0,0 +1,30 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1
+
+DESCRIPTION="Messaging API for RPC and notifications over a number of different messaging transports"
+HOMEPAGE="https://pypi.python.org/pypi/PyECLib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="dev-libs/liberasurecode"
+
+PATCHES=(
+       "${FILESDIR}/1.0.7-erasurecode_locations.patch"
+       "${FILESDIR}/PyECLib-usr-local.patch"
+)
+
+python_install() {
+       distutils-r1_python_install
+       sed -i "s/^libdir.*$/libdir='\/usr\/lib'/g" "${D}"/usr/lib/libgf_complete.la || die
+}
index 7e2428fc67648d8bae63e8143a8c92f30b0336f5..cf533ffc80e26e982e72366f1c725fb17c36a100 100644 (file)
@@ -19,4 +19,12 @@ IUSE="test"
 DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
 RDEPEND="dev-libs/liberasurecode"
 
-PATCHES=( "${FILESDIR}/1.0.7-erasurecode_locations.patch" )
+PATCHES=(
+       "${FILESDIR}/1.0.7-erasurecode_locations.patch"
+       "${FILESDIR}/PyECLib-usr-local.patch"
+)
+
+python_install() {
+       distutils-r1_python_install
+       sed -i "s/^libdir.*$/libdir='\/usr\/lib'/g" "${D}"/usr/lib/libgf_complete.la || die
+}
diff --git a/dev-python/PyECLib/files/PyECLib-usr-local.patch b/dev-python/PyECLib/files/PyECLib-usr-local.patch
new file mode 100644 (file)
index 0000000..d2697c4
--- /dev/null
@@ -0,0 +1,83 @@
+--- setup.py   2015-08-26 16:11:51.163684633 -0500
++++ setup.py.new       2015-08-26 16:14:24.203682415 -0500
+@@ -55,18 +55,16 @@
+ # and Tushar) cannot explain what is going on with
+ # distutils or libtool here.
+ #
+-standard_library_paths = [('%s/usr/local/lib' % _exec_prefix),
+-                          '/lib', '/usr/lib', '/usr/local/lib']
++standard_library_paths = [('%s/usr/lib' % _exec_prefix),
++                          '/lib', '/usr/lib']
+ default_library_paths = [default_python_libdir,
+-                         ('%s/usr/local/lib' % _exec_prefix),
+-                         '/lib', '/usr/lib', '/usr/local/lib',
+-                         'src/c/liberasurecode-1.0.7/src/.libs']
++                         ('%s/usr/lib' % _exec_prefix),
++                         '/lib', '/usr/lib']
+ default_include_paths = [default_python_incdir,
+-                         '/usr/local/include', '/usr/local/include/jerasure',
+-                         '/usr/include', 'src/c/pyeclib_c',
+-                         '/usr/include/liberasurecode', '/usr/local/include']
++                         '/usr/include', '/usr/include/jerasure', 'src/c/pyeclib_c',
++                         '/usr/include', '/usr/include/liberasurecode']
+ libflags = ''
+ includeflags = ''
+@@ -131,8 +129,9 @@
+         if (os.path.isdir(locallibsrcdir)):
+             # patch default include, lib paths
+             topdir = os.getcwd()
+-            libdirs = [ (topdir + "/" + locallibsrcdir + "/.libs "),
+-                        (topdir + "/" + locallibsrcdir + "/src/.libs ")] 
++            libdirs = []
++            #libdirs = [ (topdir + "/" + locallibsrcdir + "/.libs "),
++            #            (topdir + "/" + locallibsrcdir + "/src/.libs ")] 
+             for d in libdirs:
+                 libflags = libflags + " -L" + d
+                 default_library_paths.append(d)
+@@ -148,7 +147,7 @@
+             statefile = "." + library + "_configured"
+             if (not os.path.isfile(statefile)):
+                 configure_cmd = ("CFLAGS=\"%s\" LDFLAGS=\"%s\" " % (includeflags, libflags))
+-                configure_cmd = ("%s ./configure --prefix=%s/usr/local" % \
++                configure_cmd = ("%s ./configure --prefix=%s/usr" % \
+                     (configure_cmd, installroot))
+                 print(configure_cmd)
+                 retval = os.system(configure_cmd)
+@@ -218,7 +217,7 @@
+                        "http://lab.jerasure.org/jerasure/jerasure.git",
+                        "install", self.distribution)
+         installroot = _get_installroot(self.distribution)
+-        default_library_paths.insert(0, "%s/usr/local/lib" % installroot)
++        default_library_paths.insert(0, "%s/usr/lib" % installroot)
+         _install.run(self)
+         # Another Mac-ism...  If the libraries are installed
+@@ -231,13 +230,13 @@
+         print("***************************************************")
+         print("**                                                 ")
+         print("** PyECLib libraries have been installed to:       ")
+-        print("**   %susr/local/lib" % installroot)
++        print("**   %susr/lib" % installroot)
+         print("**                                                 ")
+         print("** Any user using this library must update:        ")
+         print("**   %s" % ldpath_str)
+         print("**                                                 ")
+         print("** Run 'ldconfig' or place this line:              ")
+-        print("**   export %s=%s" % (ldpath_str, "%susr/local/lib"
++        print("**   export %s=%s" % (ldpath_str, "%susr/lib"
+                                      % installroot))
+         print("**                                                 ")
+         print("** into .bashrc, .profile, or the appropriate shell")
+@@ -256,8 +255,7 @@
+                    libraries=['erasurecode'],
+                    # The extra arguments are for debugging
+                    # extra_compile_args=['-g', '-O0'],
+-                   extra_link_args=['-Wl,-rpath,%s' %
+-                                    l for l in default_library_paths],
++                   extra_link_args=[],
+                    sources=['src/c/pyeclib_c/pyeclib_c.c'])
+ setup(name='PyECLib',