summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastien Fabbro <bicatali@gentoo.org>2008-11-25 18:45:52 +0000
committerSebastien Fabbro <bicatali@gentoo.org>2008-11-25 18:45:52 +0000
commit7254e854beac7f37861dbbef28cf8c0875080b4e (patch)
tree966c0bc004a41c238d486d13a5372485f0013e08 /sci-physics/mpb
parentSparc stable, Bug #247464, accepting the invitation in Comment #4. (diff)
downloadhistorical-7254e854beac7f37861dbbef28cf8c0875080b4e.tar.gz
historical-7254e854beac7f37861dbbef28cf8c0875080b4e.tar.bz2
historical-7254e854beac7f37861dbbef28cf8c0875080b4e.zip
Added hdf5, doc and examples flags. Many autotools and QA fixes: quotes, compilers, missing headers. Added also mpi versions of hermitian epsilon and inverse symmetry
Package-Manager: portage-2.2_rc15/cvs/Linux 2.6.25-gentoo-r7 x86_64
Diffstat (limited to 'sci-physics/mpb')
-rw-r--r--sci-physics/mpb/ChangeLog13
-rw-r--r--sci-physics/mpb/Manifest18
-rw-r--r--sci-physics/mpb/files/mpb-1.4.2-autotools.patch262
-rw-r--r--sci-physics/mpb/files/mpb-1.4.2-headers.patch11
-rw-r--r--sci-physics/mpb/metadata.xml15
-rw-r--r--sci-physics/mpb/mpb-1.4.2-r2.ebuild121
-rw-r--r--sci-physics/mpb/mpb-1.4.2.ebuild72
7 files changed, 435 insertions, 77 deletions
diff --git a/sci-physics/mpb/ChangeLog b/sci-physics/mpb/ChangeLog
index 023fe864638d..11765c22bd51 100644
--- a/sci-physics/mpb/ChangeLog
+++ b/sci-physics/mpb/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for sci-physics/mpb
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sci-physics/mpb/ChangeLog,v 1.9 2007/10/26 16:33:44 pbienst Exp $
+# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/mpb/ChangeLog,v 1.10 2008/11/25 18:45:52 bicatali Exp $
+
+*mpb-1.4.2-r2 (25 Nov 2008)
+
+ 25 Nov 2008; SĂ©bastien Fabbro <bicatali@gentoo.org>
+ +files/mpb-1.4.2-autotools.patch, +files/mpb-1.4.2-headers.patch,
+ metadata.xml, -mpb-1.4.2.ebuild, +mpb-1.4.2-r2.ebuild:
+ Added hdf5, doc and examples flags. Many autotools and QA fixes: quotes,
+ compilers, missing headers. Added also mpi versions of hermitian epsilon
+ and inverse symmetry
*mpb-1.4.2-r1 (26 Oct 2007)
diff --git a/sci-physics/mpb/Manifest b/sci-physics/mpb/Manifest
index 87c661f0a831..cd3f82a26cc1 100644
--- a/sci-physics/mpb/Manifest
+++ b/sci-physics/mpb/Manifest
@@ -1,6 +1,18 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX mpb-1.4.2-autotools.patch 8563 RMD160 878928323396336911f6a317bbe9884c038c583b SHA1 76e25aa64a3f962f6c7e4b972e14585ee366cbe1 SHA256 112a37123c2d9151b120824111c9ce8a66c15e958fd51b64a45d6b3a6a98388f
AUX mpb-1.4.2-gcc4.patch 1133 RMD160 f314858cd4154a12c2bdca5dc23ec4e3f7cefc91 SHA1 fde1483b2715aae12ba93d592011c540fa977b53 SHA256 5a58dd77d8b7d068f11496a61aa9001d657383b3f18274568de717e07d46ac3d
+AUX mpb-1.4.2-headers.patch 340 RMD160 b3c0f06657a9b67439d27a21ff1ed79ccb022aeb SHA1 8a647ae414dc51f7744a4bc5499c931d3a8e5377 SHA256 ffa8e166e8da83fd4b573d564de9c4f533b0b0903f7768547eeb7d662ea96416
DIST mpb-1.4.2.tar.gz 686488 RMD160 6440f0e19d4b5b8354c135034429ea2031c4301d SHA1 2d4052566cff6c6befd31183253a908654b534f8 SHA256 e44c0720a5969a879fb93e48f6098d4d87e2f99d6ef49711d822f4c2249ccd61
EBUILD mpb-1.4.2-r1.ebuild 2172 RMD160 e1a3ab9d6e8c34f913ad3cb46c852b279387d333 SHA1 930af1a0fc26c1292ef7d0c449f8b81815b05b70 SHA256 d869417ba7674fa3242b14e36408e346b77ce7b9d0697e7c9a1284c5ea99f862
-EBUILD mpb-1.4.2.ebuild 1753 RMD160 f21c7d7b20fddf86c9ff3f6f2d060f851a7143a4 SHA1 1764742bf4549835ec2d9a71008207f68a5687d3 SHA256 07314d4e98a3c025f512795d7120b771492989e7b939caed48abcc4f1db8aff5
-MISC ChangeLog 1177 RMD160 26b00718fa8fe570c42e1951df716d3c639fb2fb SHA1 b2817d959f0e9a04191d99c0dc56254bd404d3d0 SHA256 db8900c1d3d6029f3f0354cadd13995539c94cf23522c3ed6e6864999707117d
-MISC metadata.xml 165 RMD160 840aa504e67f34116dd1ba13722fcbd592d81b9f SHA1 39bef947fadb6a625221c100f87865483a0fba09 SHA256 513a2cc70d89b1319ae5451d96e75519f0c539e809b2f7d41ee6eccabe16c2b9
+EBUILD mpb-1.4.2-r2.ebuild 2868 RMD160 922ecfc3b585ca94d7558bd10be1a0e970172a14 SHA1 5c650057c306a9c5d9e6498a055dd36ef9b812bb SHA256 4ae0a61b44e32f5c1ee13b20ea1e143fcf03e0b8584d002046afa666621a8f33
+MISC ChangeLog 1562 RMD160 522202ab39757a0db147452b2fea9bf0f2fcd8d8 SHA1 cb1a58d3e68ef4be4a2d91a16c751326d2221de7 SHA256 9f0cba2570ec98975d912c2b0b34834a055786e2333376517c6dfae80f904bb5
+MISC metadata.xml 1010 RMD160 28b3ab1d9a4b0b36801c7d6adccd90a6bdfcddcc SHA1 638d1564111f138b6c7609fb31fbb57349e092f0 SHA256 56808d2ceabecc68e966a1e82a2c2480c05e3c353db67753bd8382c0279c5ae8
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.9 (GNU/Linux)
+
+iEYEARECAAYFAkksR+oACgkQ1ycZbhPLE2DyVwCePP3Dl72lSwcgouDq2br8bSdk
+BxYAni95qYA5zeZ6m3dXJ33weGq8/JaW
+=WxQ+
+-----END PGP SIGNATURE-----
diff --git a/sci-physics/mpb/files/mpb-1.4.2-autotools.patch b/sci-physics/mpb/files/mpb-1.4.2-autotools.patch
new file mode 100644
index 000000000000..b6faf07d2bcf
--- /dev/null
+++ b/sci-physics/mpb/files/mpb-1.4.2-autotools.patch
@@ -0,0 +1,262 @@
+diff -Nur mpb-1.4.2.orig/configure.ac mpb-1.4.2/configure.ac
+--- mpb-1.4.2.orig/configure.ac 2003-03-04 02:38:41.000000000 +0000
++++ mpb-1.4.2/configure.ac 2008-11-25 17:31:12.000000000 +0000
+@@ -6,15 +6,8 @@
+ MPB_VERSION=1.4.2
+ AC_SUBST(MPB_VERSION)
+
+-AC_MSG_CHECKING([for vendor f77 to be used instead of g77])
+-AC_MSG_RESULT()
+-AC_CHECK_PROGS(F77, f77 xlf77 cf77 fort77 f90 xlf90)
+ AC_PROG_F77
+-
+-# Get C compiler.
+-AC_MSG_CHECKING([for vendor cc to be used instead of gcc])
+-AC_MSG_RESULT()
+-AC_CHECK_PROGS(CC, cc xlc) # prefer vendor cc, to stay in sync with Fortran
++AC_F77_WRAPPERS
+ AC_PROG_CC
+
+ # Checks for programs.
+@@ -79,12 +72,6 @@
+ echo "*********************** HERMITIAN EPS. ***********************"
+ fi
+
+-# Add lots of compiler warnings to check for if we are using gcc:
+-# (The variable $GCC is set to "yes" by AC_PROG_CC if we are using gcc.)
+-if test "$GCC" = "yes"; then
+- CFLAGS="$CFLAGS -Wall -W -Wbad-function-cast -Wcast-qual -Wpointer-arith -Wcast-align -pedantic"
+-fi
+-
+ ##############################################################################
+ # Checks for libraries:
+ ##############################################################################
+@@ -203,6 +190,10 @@
+ # how to run mpb-mpi in general
+ fi
+
++# Checks for header files.
++AC_HEADER_STDC
++AC_CHECK_HEADERS(unistd.h getopt.h)
++
+ ##############################################################################
+ # Check for HDF5 library
+ AC_ARG_WITH(hdf5, [AC_HELP_STRING([--without-hdf5],[do not use HDF5 output])], ok=$withval, ok=yes)
+@@ -349,9 +340,7 @@
+ ]], [AC_MSG_RESULT(ok)], [AC_MSG_ERROR([libctl version ${LIBCTL_MAJOR}.${LIBCTL_MINOR}.${LIBCTL_BUGFIX} or later is required])])
+
+ ##############################################################################
+-# Checks for header files.
+-AC_HEADER_STDC
+-AC_CHECK_HEADERS(unistd.h getopt.h)
++
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+diff -Nur mpb-1.4.2.orig/Makefile.in mpb-1.4.2/Makefile.in
+--- mpb-1.4.2.orig/Makefile.in 2002-01-18 22:52:41.000000000 +0000
++++ mpb-1.4.2/Makefile.in 2008-11-25 17:31:12.000000000 +0000
+@@ -2,6 +2,9 @@
+
+ SHELL = @SHELL@
+
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++VPATH = @srcdir@
+ CC = @CC@
+ CFLAGS = @CFLAGS@
+ CPPFLAGS = @CPPFLAGS@
+diff -Nur mpb-1.4.2.orig/mpb-ctl/Makefile.in mpb-1.4.2/mpb-ctl/Makefile.in
+--- mpb-1.4.2.orig/mpb-ctl/Makefile.in 2002-09-14 23:20:55.000000000 +0100
++++ mpb-1.4.2/mpb-ctl/Makefile.in 2008-11-25 18:23:20.000000000 +0000
+@@ -13,6 +13,12 @@
+
+ SHELL = @SHELL@
+
++mandir = @mandir@
++
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++VPATH = @srcdir@
++
+ ##############################################################################
+
+ # Makefile.in for programs using libctl (assumes that autoconf is
+@@ -37,8 +43,8 @@
+ ../src/util/util.a
+
+ MY_LDFLAGS = # extra -L flags go here
+-MY_CPPFLAGS = -I. -I../src/util -I../src/matrices -I../src/matrixio \
+- -I../src/maxwell
++MY_CPPFLAGS = -I$(srcdir) -I$(top_srcdir)/src/util -I$(top_srcdir)/src/matrices -I$(top_srcdir)/src/matrixio \
++ -I$(top_srcdir)/src/maxwell
+ MY_DEFS = -DHAVE_CTL_HOOKS=1 -DHAVE_CTL_EXPORT_HOOK=1
+
+ # The following variables should be detected and set by autoconf:
+@@ -134,11 +140,11 @@
+
+ install-mpb: $(PROGRAM_NAME)
+ $(INSTALL) -d $(prefix)/bin
+- $(INSTALL) -m 0755 -s .$(PROGRAM_NAME) $(prefix)/bin/`echo $(PROGRAM_NAME)|sed '$(transform)'`
++ $(INSTALL) -m 0755 .$(PROGRAM_NAME) $(prefix)/bin/`echo $(PROGRAM_NAME)|sed '$(transform)'`
+ $(INSTALL) -d $(prefix)/share/libctl/specs
+ $(INSTALL) -m 0644 $(SPECIFICATION_FILE) $(prefix)/share/libctl/specs
+ $(INSTALL) -d $(mandir)/man1
+- $(INSTALL) -m 0644 $(PROGRAM_NAME).1 $(mandir)/man1
++ $(INSTALL) -m 0644 $(srcdir)/$(PROGRAM_NAME).1 $(mandir)/man1
+
+ mpb-split-tmp:
+ rm -f mpb-split-tmp
+@@ -149,7 +155,7 @@
+ mpb_name=`echo mpb | sed '$(transform)'`; \
+ $(INSTALL) -m 0755 mpb-split-tmp $(prefix)/bin/$${mpb_name}-split
+ $(INSTALL) -d $(mandir)/man1
+- $(INSTALL) -m 0644 mpb-split.1 $(mandir)/man1
++ $(INSTALL) -m 0644 $(srcdir)/mpb-split.1 $(mandir)/man1
+
+ clean:
+ rm -f $(ALL_OBJECTS) ctl-io.c ctl-io.h main.c geom.c \
+diff -Nur mpb-1.4.2.orig/src/matrices/Makefile.in mpb-1.4.2/src/matrices/Makefile.in
+--- mpb-1.4.2.orig/src/matrices/Makefile.in 2002-09-14 23:20:55.000000000 +0100
++++ mpb-1.4.2/src/matrices/Makefile.in 2008-11-25 17:31:12.000000000 +0000
+@@ -2,9 +2,11 @@
+
+ SHELL = @SHELL@
+
+-CC = @CC@
+-CFLAGS = @CFLAGS@
+-CPPFLAGS = -I../util -I. @CPPFLAGS@
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++VPATH = @srcdir@
++
++CPPFLAGS = -I$(top_srcdir)/src/util -I$(srcdir) -I. @CPPFLAGS@
+ DEFS = @DEFS@
+ LDFLAGS = @LDFLAGS@
+ LIBS = @LIBS@
+diff -Nur mpb-1.4.2.orig/src/matrixio/Makefile.in mpb-1.4.2/src/matrixio/Makefile.in
+--- mpb-1.4.2.orig/src/matrixio/Makefile.in 2002-09-14 23:20:55.000000000 +0100
++++ mpb-1.4.2/src/matrixio/Makefile.in 2008-11-25 17:31:12.000000000 +0000
+@@ -2,9 +2,11 @@
+
+ SHELL = @SHELL@
+
+-CC = @CC@
+-CFLAGS = @CFLAGS@
+-CPPFLAGS = -I../util -I../matrices -I. @CPPFLAGS@
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++VPATH = @srcdir@
++
++CPPFLAGS = -I$(top_srcdir)/src/util -I$(top_srcdir)/src/matrices -I$(srcdir) -I. @CPPFLAGS@
+ DEFS = @DEFS@
+ LDFLAGS = @LDFLAGS@
+ LIBS = @LIBS@
+diff -Nur mpb-1.4.2.orig/src/maxwell/Makefile.in mpb-1.4.2/src/maxwell/Makefile.in
+--- mpb-1.4.2.orig/src/maxwell/Makefile.in 2002-09-14 23:20:55.000000000 +0100
++++ mpb-1.4.2/src/maxwell/Makefile.in 2008-11-25 17:31:12.000000000 +0000
+@@ -2,9 +2,11 @@
+
+ SHELL = @SHELL@
+
+-CC = @CC@
+-CFLAGS = @CFLAGS@
+-CPPFLAGS = -I../util -I../matrices @CPPFLAGS@
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++VPATH = @srcdir@
++
++CPPFLAGS = -I$(top_srcdir)/src/util -I$(top_srcdir)/src/matrices -I. @CPPFLAGS@
+ DEFS = @DEFS@
+ LDFLAGS = @LDFLAGS@
+ LIBS = @LIBS@
+diff -Nur mpb-1.4.2.orig/src/util/Makefile.in mpb-1.4.2/src/util/Makefile.in
+--- mpb-1.4.2.orig/src/util/Makefile.in 2002-09-14 23:20:55.000000000 +0100
++++ mpb-1.4.2/src/util/Makefile.in 2008-11-25 17:31:12.000000000 +0000
+@@ -2,9 +2,11 @@
+
+ SHELL = @SHELL@
+
+-CC = @CC@
+-CFLAGS = @CFLAGS@
+-CPPFLAGS = -I. @CPPFLAGS@
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++VPATH = @srcdir@
++
++CPPFLAGS = -I$(top_srcdir) -I. @CPPFLAGS@
+ DEFS = @DEFS@
+ LDFLAGS = @LDFLAGS@
+ LIBS = @LIBS@
+diff -Nur mpb-1.4.2.orig/tests/Makefile.in mpb-1.4.2/tests/Makefile.in
+--- mpb-1.4.2.orig/tests/Makefile.in 2002-09-14 23:20:55.000000000 +0100
++++ mpb-1.4.2/tests/Makefile.in 2008-11-25 17:31:58.000000000 +0000
+@@ -2,12 +2,14 @@
+
+ SHELL = @SHELL@
+
+-CC = @CC@
+-CFLAGS = @CFLAGS@
+-CPPFLAGS = -I../src/util -I../src/matrices -I../src/maxwell @CPPFLAGS@
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++VPATH = @srcdir@
++
++CPPFLAGS = -I$(top_srcdir)/src/util -I$(top_srcdir)/src/matrices -I$(top_srcdir)/src/maxwell -I. @CPPFLAGS@
+ DEFS = @DEFS@
+-LDFLAGS = @LDFLAGS@
+ LIBS = @LIBS@
++LDFLAGS = @LDFLAGS@
+ RANLIB = @RANLIB@
+ @SET_MAKE@
+
+@@ -15,11 +17,11 @@
+ ../src/matrices/matrices.a \
+ ../src/util/util.a
+
+-all: blastest eigs_test maxwell_test malloctest normal_vectors
++all:
+
+ libs:
+
+-check: all
++check: blastest eigs_test maxwell_test malloctest normal_vectors
+ rm -f blastest.out.test
+ ./blastest | sed 's/\-0\.000\([ ,)]\)/ 0.000\1/g' | sed 's/\-0\.000$$/ 0.000/g' > blastest.out.test
+ diff blastest.@SCALAR_TYPE@.out blastest.out.test
+diff -Nur mpb-1.4.2.orig/utils/Makefile.in mpb-1.4.2/utils/Makefile.in
+--- mpb-1.4.2.orig/utils/Makefile.in 2002-09-14 23:20:55.000000000 +0100
++++ mpb-1.4.2/utils/Makefile.in 2008-11-25 18:23:46.000000000 +0000
+@@ -1,13 +1,16 @@
+ # Variables substituted by the autoconf configure script:
+
+ SHELL = @SHELL@
++mandir = @mandir@
++
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++VPATH = @srcdir@
+
+-CC = @CC@
+-CFLAGS = @CFLAGS@
+-CPPFLAGS = -I../src/util -I../src/matrices -I../src/matrixio @CPPFLAGS@
++CPPFLAGS = -I$(top_srcdir)/src/util -I$(top_srcdir)/src/matrices -I$(top_srcdir)/src/matrixio -I. @CPPFLAGS@
+ DEFS = @DEFS@ -DMPB_VERSION='"'"@MPB_VERSION@"'"'
+-LDFLAGS = @LDFLAGS@
+ LIBS = @LIBS@
++LDFLAGS=@LDFLAGS@
+ RANLIB = @RANLIB@
+ @SET_MAKE@
+
+@@ -36,9 +39,9 @@
+
+ install-mpb-data: mpb-data
+ $(INSTALL) -d $(prefix)/bin
+- $(INSTALL) -m 0755 -s mpb-data $(prefix)/bin/`echo mpb-data|sed '$(transform)'`
++ $(INSTALL) -m 0755 mpb-data $(prefix)/bin/`echo mpb-data|sed '$(transform)'`
+ $(INSTALL) -d $(mandir)/man1
+- $(INSTALL) -m 0644 mpb-data.1 $(mandir)/man1
++ $(INSTALL) -m 0644 $(srcdir)/mpb-data.1 $(mandir)/man1
+
+ clean:
+ rm -f mpb-data mpb-data.o core
diff --git a/sci-physics/mpb/files/mpb-1.4.2-headers.patch b/sci-physics/mpb/files/mpb-1.4.2-headers.patch
new file mode 100644
index 000000000000..937e5fc373d4
--- /dev/null
+++ b/sci-physics/mpb/files/mpb-1.4.2-headers.patch
@@ -0,0 +1,11 @@
+diff -Nur mpb-1.4.2.orig/mpb-ctl/matrix-smob.c mpb-1.4.2/mpb-ctl/matrix-smob.c
+--- mpb-1.4.2.orig/mpb-ctl/matrix-smob.c 2002-09-13 19:27:35.000000000 +0100
++++ mpb-1.4.2/mpb-ctl/matrix-smob.c 2008-11-25 18:20:11.000000000 +0000
+@@ -17,6 +17,7 @@
+
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <math.h>
+
+ #include "../src/config.h"
+
diff --git a/sci-physics/mpb/metadata.xml b/sci-physics/mpb/metadata.xml
index f6101a7218d8..a7870e267ce6 100644
--- a/sci-physics/mpb/metadata.xml
+++ b/sci-physics/mpb/metadata.xml
@@ -2,5 +2,20 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>sci-physics</herd>
+<longdescription lang="en">
+ The MIT Photonic-Bands (MPB) package is a program for computing
+ the band structures (dispersion relations) and electromagnetic modes of
+ periodic dielectric structures, on both serial and parallel computers. It was
+ developed by Steven G. Johnson at MIT in the Joannopoulos Ab Initio Physics
+ group.
+ This program computes definite-frequency eigenstates of Maxwell's
+ equations in periodic dielectric structures for arbitrary wavevectors, using
+ fully-vectorial and three-dimensional methods. It is especially
+ designed for the study of photonic crystals (a.k.a. photonic
+ band-gap materials), but is also applicable to many other problems
+ in optics, such as waveguides and resonator systems.
+ (For example, it can solve for the modes of waveguides with arbitrary
+ cross-sections.)
+</longdescription>
</pkgmetadata>
diff --git a/sci-physics/mpb/mpb-1.4.2-r2.ebuild b/sci-physics/mpb/mpb-1.4.2-r2.ebuild
new file mode 100644
index 000000000000..31473d4275b3
--- /dev/null
+++ b/sci-physics/mpb/mpb-1.4.2-r2.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sci-physics/mpb/mpb-1.4.2-r2.ebuild,v 1.1 2008/11/25 18:45:52 bicatali Exp $
+
+EAPI=2
+inherit eutils autotools
+
+DESCRIPTION="Photonic band structure program"
+SRC_URI="http://ab-initio.mit.edu/mpb/${P}.tar.gz"
+HOMEPAGE="http://ab-initio.mit.edu/mpb/"
+
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~amd64"
+IUSE="doc examples hdf5 mpi"
+
+SLOT="0"
+
+RDEPEND="virtual/lapack
+ dev-scheme/guile
+ sci-libs/libctl
+ sci-libs/fftw:2.1[mpi?]
+ sys-libs/readline
+ hdf5? ( sci-libs/hdf5 )
+ mpi? ( virtual/mpi )"
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ epatch "${FILESDIR}"/${P}-headers.patch
+ cd "${S}"
+ rm -f config.*
+ AT_NOELIBTOOLIZE=yes eautoreconf
+ # version with inversion symmetry (mpbi).
+ cp -r "${S}" "${S}_inv"
+ # version with hermitian eps (mpbh).
+ cp -r "${S}" "${S}_herm"
+ # mpi versions (mpb-mpi).
+ if use mpi; then
+ cp -r "${S}" "${S}_mpi"
+ cp -r "${S}" "${S}_inv_mpi"
+ cp -r "${S}" "${S}_herm_mpi"
+ fi
+}
+
+src_configure() {
+ local myconf="$(use_with hdf5)"
+ export BLAS_LIBS="$(pkg-config --libs blas)"
+ export LAPACK_LIBS="$(pkg-config --libs lapack)"
+
+ econf ${myconf}
+
+ cd "${S}_inv"
+ econf ${myconf} \
+ --with-inv-symmetry
+
+ cd "${S}_herm"
+ econf ${myconf} \
+ --with-hermitian-eps
+
+ if use mpi; then
+ cd "${S}_mpi"
+ econf ${myconf} \
+ --with-mpi
+ cd "${S}_inv_mpi"
+ econf ${myconf} \
+ --with-inv-symmetry \
+ --with-mpi
+ cd "${S}_herm_mpi"
+ econf ${myconf} \
+ --with-hermitian-eps \
+ --with-mpi \
+ CC=mpicc
+ fi
+}
+
+src_compile() {
+ local dirs="${S} ${S}_inv ${S}_herm"
+ for d in ${dirs}; do
+ cd "${d}"
+ emake -C mpb-ctl ctl-io.c || die
+ emake || die "emake in ${d} failed"
+ done
+ local dirs="${S} ${S}_inv ${S}_herm"
+ if use mpi; then
+ for d in ${dirs}; do
+ cd "${d}_mpi"
+ emake -C mpb-ctl ctl-io.c CC=mpicc || die
+ emake CC=mpicc LD=mpicc || die "emake in ${d}_mpi failed"
+ done
+ fi
+}
+
+src_install() {
+ einstall || die "einstall failed"
+ dodoc README NEWS AUTHORS COPYRIGHT ChangeLog TODO
+
+ if use doc; then
+ dohtml doc/* || die
+ fi
+ if use examples; then
+ insinto /usr/share/doc/${PF}
+ doins -r mpb-ctl/examples || die
+ fi
+
+ newbin "${d}"/mpb-ctl/.mpb mpbi || die
+ newbin "${S}_herm"/mpb-ctl/.mpb mpbh || die
+ einfo "Several versions of mpb have been installed:"
+ einfo "mpb : regular version"
+ einfo "mpbi: configured for inversion symmetry"
+ einfo "mpbh: configured for hermitian epsilon"
+ if use mpi; then
+ newbin "${S}_mpi"/mpb-ctl/.mpb mpb-mpi || die
+ newbin "${S}_inv_mpi"/mpb-ctl/.mpb mpbh-mpi || die
+ newbin "${S}_herm_mpi"/mpb-ctl/.mpb mpbi-mpi || die
+ einfo "mpb-mpi : regular version with mpi"
+ einfo "mpbi-mpi: configured for inversion symmetry with mpi"
+ einfo "mpbh-mpi: configured for hermitian epsilon with mpi"
+ fi
+}
diff --git a/sci-physics/mpb/mpb-1.4.2.ebuild b/sci-physics/mpb/mpb-1.4.2.ebuild
deleted file mode 100644
index ff4f14974ee8..000000000000
--- a/sci-physics/mpb/mpb-1.4.2.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sci-physics/mpb/mpb-1.4.2.ebuild,v 1.6 2007/08/21 20:43:48 pbienst Exp $
-
-inherit fortran
-
-DESCRIPTION="Program for computing the band structures and electromagnetic modes of periodic dielectric structures"
-SRC_URI="http://ab-initio.mit.edu/mpb/${P}.tar.gz"
-HOMEPAGE="http://ab-initio.mit.edu/mpb/"
-
-LICENSE="GPL-2"
-KEYWORDS="~x86 ~amd64"
-
-SLOT="0"
-
-DEPEND="virtual/lapack
- dev-scheme/guile
- sci-libs/libctl
- sci-libs/hdf5
- ~sci-libs/fftw-2.1.5
- sys-libs/readline"
-RDEPEND="~sci-libs/fftw-2.1.5"
-
-src_unpack() {
- unpack ${A}
-
- epatch "${FILESDIR}"/${P}-gcc4.patch
- # Create directories to compile the versions with inversion
- # symmetry and with hermitian eps.
-
- cp -r ${S} ${S}_inv
- cp -r ${S} ${S}_herm
-}
-
-src_compile() {
- # Create the normal version (mpb).
- cd ${S}
- econf || die
- MAKEOPTS="-j1" emake || die # Parallel 'make' gives syntax errors.
-
- # Create the version with inversion symmetry (mpbi).
- cd ${S}_inv
- econf --with-inv-symmetry || die
- MAKEOPTS="-j1" emake || die
-
- # Create the version with hermitian eps (mpbh).
- cd ${S}_herm
- econf --with-hermitian-eps || die
- MAKEOPTS="-j1" emake || die
-}
-
-src_install() {
-
- cd ${S}
- einstall || die
-
- dodoc README COPYING NEWS AUTHORS COPYRIGHT ChangeLog TODO
- dohtml doc/*
-
- # Install mpbi and mpbh as well.
-
- mv ${S}_inv/mpb-ctl/.mpb ${S}_inv/mpb-ctl/mpbi
- dobin ${S}_inv/mpb-ctl/mpbi
-
- mv ${S}_herm/mpb-ctl/.mpb ${S}_herm/mpb-ctl/mpbh
- dobin ${S}_herm/mpb-ctl/mpbh
-
- einfo "Three versions of mpb have been installed:"
- einfo "mpb : regular version"
- einfo "mpbi : configured for inversion symmetry"
- einfo "mpbh : configured for hermitian epsilon"
-}