Fixes for PYTHON ABIs, #316245
authorJustin Lecher <jlec@gentoo.org>
Fri, 25 Jun 2010 13:25:00 +0000 (13:25 +0000)
committerJustin Lecher <jlec@gentoo.org>
Fri, 25 Jun 2010 13:25:00 +0000 (13:25 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

sci-physics/camfr/ChangeLog
sci-physics/camfr/Manifest
sci-physics/camfr/camfr-20070717-r2.ebuild [new file with mode: 0644]
sci-physics/camfr/files/camfr-20070717-python.patch [new file with mode: 0644]

index fbf455b11f4bc66cd98d979f671c509f96d02368..27c51bbb93ab512644303fe8abd64845cdab48ea 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sci-physics/camfr
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-physics/camfr/ChangeLog,v 1.16 2010/06/04 16:34:26 arfrever Exp $
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/camfr/ChangeLog,v 1.17 2010/06/25 13:25:00 jlec Exp $
+
+*camfr-20070717-r2 (25 Jun 2010)
+
+  25 Jun 2010; Justin Lecher <jlec@gentoo.org> +camfr-20070717-r2.ebuild,
+  +files/camfr-20070717-python.patch:
+  Fixes for PYTHON ABIs, #316245
 
   04 Jun 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
   camfr-20070717-r1.ebuild:
index 4978df5bb44a80123fe081883aaff0de3b557e46..a600473dea71d854013fb42fd14fb5e4f7d3ca29 100644 (file)
@@ -1,6 +1,18 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX camfr-20070717-gcc43.patch 391 RMD160 4addf806c2d8ddb5ee5dbd2cc1b02381dbf3f6b8 SHA1 41ef3f6be02d4d6b6bf6d03b4b1f6e9ef0fca3d9 SHA256 50cfc3e04c4774fd0404d044c128cf8346c1762e64808ca77147cb4207729db3
+AUX camfr-20070717-python.patch 766 RMD160 1b8539c4977e5486da3439eb504196987fbe4a2f SHA1 a0c261d1f95ff4ccb84cb27bbd6c23b2ff47440f SHA256 ac025ae363a54789421ed759d4267854e6141a5d0ebb52c9c859439384cb15f7
 AUX machine_cfg.py.gentoo 638 RMD160 9a2016338d094e1b1d32444bd2ed281cfca1551e SHA1 96084ebc5ae03698b52a1b9a82899869f43c2532 SHA256 8942256f99ad1432d7092cb616727ffd6ef82834435e185f9b9863e420bf08f0
 DIST camfr-20070717.tgz 763070 RMD160 4e4237188caecd4dca3980b9cab381479e6382bc SHA1 7838482db8557b365dac51769950d49746397e29 SHA256 f675ba7d58947076c0679c8760c9282e2efc82828bec67de90567fd8a4f135de
 EBUILD camfr-20070717-r1.ebuild 1902 RMD160 afc2f5d4e58b8be4029e1c7ca2012a13b74dfaad SHA1 ecef4d23dabf097a96bc7bd567772fc42491f494 SHA256 fa724ebcab88d4af38924f39696a3b5cb8a61cb7c415d2ceb5e6be2b8d9471d5
-MISC ChangeLog 2889 RMD160 123e6ee51279d37444df378a69a5566cc915e7c5 SHA1 28d632406c80a32859bca4043d79c42274be3495 SHA256 a247630594bf46fb8d141d7e23fcc518d7cf8a5ec42317a1e6fcb5197a34424e
+EBUILD camfr-20070717-r2.ebuild 2137 RMD160 533b1b0d5ccc1bc47e7028d9bdafb9be4a4102e3 SHA1 3f9a2b156dc495a581dfafcdcf952071f53908b5 SHA256 5fa2867e0ce23f793e7cb15c526a879b96d4167de1d2a8cd99ed976591563eaa
+MISC ChangeLog 3065 RMD160 0bfa8cb5f31ed0f2023b75ece947b485e0fe3e65 SHA1 665bc025d4f1bf385d280f237ea33534a4e55b53 SHA256 d008af0481e4fb4d27b48d520bd6189822fb592527b5ae3e69ea7fa1a6a95435
 MISC metadata.xml 164 RMD160 6e4c63a6f70f174f40277eed39ac05fba4a49566 SHA1 e1af6f2028e69dee3c76e7e85353a144c83d3383 SHA256 9eddaccbdd2f6b3f93213d72782f07518dff1625fd8d63faf61dc97bd328b5e7
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.15 (GNU/Linux)
+
+iEYEARECAAYFAkwkrjIACgkQgAnW8HDreRZdwwCbBaVULJputUMr3zuIWZ/zW2Tm
+Q0gAni2C56jqmzX/Ts3wg0pZKMmvwfyw
+=I28l
+-----END PGP SIGNATURE-----
diff --git a/sci-physics/camfr/camfr-20070717-r2.ebuild b/sci-physics/camfr/camfr-20070717-r2.ebuild
new file mode 100644 (file)
index 0000000..633ff31
--- /dev/null
@@ -0,0 +1,86 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/camfr/camfr-20070717-r2.ebuild,v 1.1 2010/06/25 13:25:00 jlec Exp $
+
+EAPI=2
+
+PYTHON_DEPEND="2"
+PYTHON_USE_WITH="tk"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit eutils distutils toolchain-funcs
+
+DISTUTILS_USE_SEPARATE_SOURCE_DIRECTORIES="true"
+
+DESCRIPTION="Full vectorial Maxwell solver based on eigenmode expansion"
+HOMEPAGE="http://camfr.sourceforge.net/"
+SRC_URI="mirror://sourceforge/camfr/${P}.tgz"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND="
+       dev-libs/blitz
+       dev-libs/boost[python]
+       dev-python/imaging[tk]
+       dev-python/matplotlib
+       sci-libs/scipy
+       virtual/lapack"
+DEPEND="${RDEPEND}
+       dev-util/pkgconfig
+       >=dev-util/scons-0.98"
+
+RESTRICT_PYTHON_ABIS="3.*"
+
+S="${WORKDIR}/${P/-/_}"
+
+src_prepare() {
+       epatch "${FILESDIR}"/${P}-gcc43.patch
+       epatch "${FILESDIR}"/${P}-python.patch
+       cp "${FILESDIR}"/machine_cfg.py.gentoo machine_cfg.py || die
+       python_copy_sources
+
+       preparation() {
+               local libfort
+               local lapack_libs=
+               local lapack_libdirs=
+               # Configure to compile against selected python version
+               cat <<-EOF >> machine_cfg.py
+                       include_dirs = []
+                       include_dirs.append("$(python_get_includedir)")
+                       include_dirs.append("$(python_get_sitedir)")
+               EOF
+
+               for x in $(pkg-config --libs-only-l lapack); do
+                       lapack_libs="${lapack_libs}, \"${x#-l}\""
+               done
+               for x in $(pkg-config --libs-only-L lapack); do
+                       lapack_libdirs="${lapack_libdirs}, \"${x#-L}\""
+               done
+               case "$(tc-getF77)" in
+                       *gfortran) libfort=gfortran ;;
+                       *g77) libfort=g2c ;;
+               esac
+               cat <<-EOF >> machine_cfg.py
+                       library_dirs = [${lapack_libdirs#,}]
+                       libs = ["boost_python", "${libfort}", "blitz"${lapack_libs}]
+               EOF
+       }
+       python_execute_function -s preparation
+       export F77=$(tc-getF77)
+}
+
+src_test() {
+       # trick to avoid X in testing (bug #229753)
+       echo "backend : Agg" > matplotlibrc
+       PYTHONPATH=".:visualisation" "$(PYTHON)" testsuite/camfr_test.py \
+               || die "tests failed"
+       rm -f matplotlibrc
+}
+
+src_install() {
+       distutils_src_install
+       dodoc docs/camfr.pdf || die "doc install failed"
+}
diff --git a/sci-physics/camfr/files/camfr-20070717-python.patch b/sci-physics/camfr/files/camfr-20070717-python.patch
new file mode 100644 (file)
index 0000000..1cf2ee7
--- /dev/null
@@ -0,0 +1,31 @@
+diff --git a/setup.py b/setup.py
+index bfefba1..ea09efc 100755
+--- a/setup.py
++++ b/setup.py
+@@ -1,7 +1,6 @@
+ #! /usr/bin/env python
+ 
+ from distutils.core import setup
+-from distutils.util import byte_compile
+ from distutils.command.build import build
+ from distutils.command.install_data import install_data
+ 
+@@ -32,18 +31,6 @@ class camfr_build(build):
+ class camfr_install_data(install_data):
+   def run(self):
+ 
+-    # Byte-compile Python files.
+-
+-    scripts = []
+-          
+-    for i in self.data_files:
+-      for j in i[1]:
+-        if j[-2:] == "py":
+-          scripts.append(j)
+-          i[1].append(j+'c')
+-
+-    byte_compile(scripts)
+-      
+     # Change install dir to library dir.
+     
+     install_cmd = self.get_finalized_command('install')