aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavid_e <david_e@32389bae-6d03-0410-99cf-db05cde120eb>2008-12-06 13:48:09 +0000
committerdavid_e <david_e@32389bae-6d03-0410-99cf-db05cde120eb>2008-12-06 13:48:09 +0000
commitaafe17e0d3ac3bb8ea2e4cc705a1d3e40f46051a (patch)
treef0b1b90f45593029b81cf3cf2a368aa203e1e336
parentRemoved spooles USE-flag for sci-libs/calculix-ccx (diff)
downloadsci-aafe17e0d3ac3bb8ea2e4cc705a1d3e40f46051a.tar.gz
sci-aafe17e0d3ac3bb8ea2e4cc705a1d3e40f46051a.tar.bz2
sci-aafe17e0d3ac3bb8ea2e4cc705a1d3e40f46051a.zip
sci-mathematics/freefem++: fix a P1 FE bug and examples++-load
git-svn-id: http://overlays.gentoo.org/svn/proj/science/overlay@1352 32389bae-6d03-0410-99cf-db05cde120eb
-rw-r--r--sci-mathematics/freefem++/ChangeLog5
-rw-r--r--sci-mathematics/freefem++/Manifest4
-rw-r--r--sci-mathematics/freefem++/files/freefem++-P1-fix.patch24
-rw-r--r--sci-mathematics/freefem++/freefem++-2.24.2-r2.ebuild134
4 files changed, 166 insertions, 1 deletions
diff --git a/sci-mathematics/freefem++/ChangeLog b/sci-mathematics/freefem++/ChangeLog
index 149b219cb..80a8f567c 100644
--- a/sci-mathematics/freefem++/ChangeLog
+++ b/sci-mathematics/freefem++/ChangeLog
@@ -2,6 +2,11 @@
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 06 Dec 2008; David Radice <david.e.pi.3.14@gmail.com>
+ +files/freefem++-P1-fix.patch, +freefem++-2.24.2-r2.ebuild:
+ Install needed headers with the examples. Backport a fix for the second
+ derivative of P1 FE.
+
29 Oct 2008; David Radice <david.e.pi.3.14@gmail.com>
+files/freefem++-gcc43.patch, -freefem++-2.23.2.ebuild,
+files/freefem++-no-x11r6-dir.patch, +freefem++-2.24.2-r1.ebuild:
diff --git a/sci-mathematics/freefem++/Manifest b/sci-mathematics/freefem++/Manifest
index 67b52a32d..1db6d2459 100644
--- a/sci-mathematics/freefem++/Manifest
+++ b/sci-mathematics/freefem++/Manifest
@@ -1,8 +1,10 @@
+AUX freefem++-P1-fix.patch 793 RMD160 493ec623aae985130f0ad7d8a152d84844f24f6a SHA1 4a57fe0b7c1c39510e58a001d55e3027bd1d0d8a SHA256 6f228dca25c40658eddd183ab898f6e69e9503c5e40ae1b9de67881c3997685a
AUX freefem++-acoptim.patch 663 RMD160 6294d436eaf8bdea7258b3ca704e5ff9f942f019 SHA1 0ebe27e991bdd3949d3bf671056a15ce23f4f29f SHA256 6d07f4cd1a061d401879e54568fbeb2a035951b50195dfd3b88b05086a87cbb7
AUX freefem++-gcc43.patch 6566 RMD160 5d8dcb917ec2e5367eb04ddc25e083f6fbb36cfe SHA1 70e4e373d204ccc774d08557cc4ed366688dd6fc SHA256 b114df6f1079c8e7e8a2c393d6dc0c414c38c5c15fe3c4df7ec5c670e0628383
AUX freefem++-no-x11r6-dir.patch 401 RMD160 e655fee7b078162aa04e08289e8aceaa6663b884 SHA1 bbe3e6b32573abcb45e75b2a9844a5ee175d6694 SHA256 867136ede23c25a8e7ea61fa542e589c1f35a3d6a8a37658da0ced8a25d4bb26
DIST freefem++-2.24-2.tar.gz 10974055 RMD160 db4ce51f42eabd00b0f85f37c0a3c9e1f126c17c SHA1 ea5968f49d4c9b682a6e09998c7bc254187de422 SHA256 58865bf6679c78c21448abd3c824b511f152e360e4c436368f36a9c54c0aeaf1
EBUILD freefem++-2.24.2-r1.ebuild 3212 RMD160 af35eb62247aaa31a75032b51cab0a5838f6cde8 SHA1 df886e912dd425d33f7efd2b2a9bfa9627eccd9d SHA256 a8d10d3bb621212c7f93f836daa5fbb8f7d746ddddc3e6d5cd6968134a2c77dd
+EBUILD freefem++-2.24.2-r2.ebuild 3480 RMD160 4208d316f1545a6172a54bb3ec33e184e95cf185 SHA1 b400d10c1711fe06fe851ca420f550616862625a SHA256 fd26d8f4582230a69691b62d57cc16aa54e88876554fb5d09773856991091001
EBUILD freefem++-2.24.2.ebuild 3106 RMD160 498179afe0ded9df56557f6f623033574bf7216b SHA1 6725391e90c9f05c8d2473ea5d59c2929eb397ce SHA256 a25854dda2081a4e9331c50eecad317cd1d6edf685499621100b579013bc553b
-MISC ChangeLog 1323 RMD160 1c3e76ce497f4a244b133a595f4deadb988ba650 SHA1 f171d4764e98a866c9fba0ffa006f7deb5ab2738 SHA256 b8a5c95451680d65e2175305ecff48d1e74ae97d8ad0cdb5b24075539f479152
+MISC ChangeLog 1539 RMD160 dc7adb94a312221e1da9de052532fac119c41691 SHA1 e6b404c64a317fb124c4c7feb7d8f327a25f847c SHA256 da05e550087a78b0a497aab28ce011fa9e4f5d812bea81dcf443c45b758b691c
MISC metadata.xml 381 RMD160 17dca0ed77bf65c0d2d8aa2148243f67c4a05edf SHA1 f583b125502b06a151f200849e2892bd08dbc70e SHA256 d7569d977d779a55533651e01e4d45e5ae7a1ada36b634e8b988ae4db86cdb83
diff --git a/sci-mathematics/freefem++/files/freefem++-P1-fix.patch b/sci-mathematics/freefem++/files/freefem++-P1-fix.patch
new file mode 100644
index 000000000..258366b2d
--- /dev/null
+++ b/sci-mathematics/freefem++/files/freefem++-P1-fix.patch
@@ -0,0 +1,24 @@
+diff -urN freefem++-2.24-2.old/src/femlib/FESpace.cpp freefem++-2.24-2.new/src/femlib/FESpace.cpp
+--- freefem++-2.24-2.old/src/femlib/FESpace.cpp 2008-01-09 10:12:30.000000000 +0100
++++ freefem++-2.24-2.new/src/femlib/FESpace.cpp 2008-12-04 15:37:07.000000000 +0100
+@@ -1193,7 +1193,7 @@
+ {
+ R u0(u(K(0))), u1(u(K(1))), u2(u(K(2)));
+ R r=0;
+- if (op==0)
++ if (op==op_id)
+ {
+ R l0=1-PHat.x-PHat.y,l1=PHat.x,l2=PHat.y;
+ r = u0*l0+u1*l1+l2*u2;
+@@ -1202,9 +1202,9 @@
+ {
+ const Triangle & T=K.T;
+ R2 D0 = T.H(0) , D1 = T.H(1) , D2 = T.H(2) ;
+- if (op==1)
++ if (op==op_dx)
+ r = D0.x*u0 + D1.x*u1 + D2.x*u2 ;
+- else
++ else if(op==op_dy)
+ r = D0.y*u0 + D1.y*u1 + D2.y*u2 ;
+ }
+ // cout << r << "\t";
diff --git a/sci-mathematics/freefem++/freefem++-2.24.2-r2.ebuild b/sci-mathematics/freefem++/freefem++-2.24.2-r2.ebuild
new file mode 100644
index 000000000..905f4e532
--- /dev/null
+++ b/sci-mathematics/freefem++/freefem++-2.24.2-r2.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+inherit eutils autotools versionator flag-o-matic
+
+MY_PV=$(replace_version_separator 2 '-')
+
+DESCRIPTION="Solve PDEs using FEM on 2d domains"
+HOMEPAGE="http://www.freefem.org/ff++/"
+SRC_URI="http://www.freefem.org/ff%2B%2B/ftp/${PN}-${MY_PV}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="doc examples fltk mpi vim-syntax X"
+
+RDEPEND="sci-libs/fftw
+ virtual/cblas
+ virtual/lapack
+ sci-libs/umfpack
+ >=sci-libs/arpack-96-r2
+ vim-syntax? ( app-vim/freefem++-syntax )
+ X? (
+ x11-libs/libXpm
+ fltk? ( x11-libs/fltk )
+ )
+ mpi? ( virtual/mpi )"
+
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig
+ doc? ( virtual/latex-base media-gfx/imagemagick )"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ # acoptim.m4 forced -O2 removal
+ epatch "${FILESDIR}"/${PN}-acoptim.patch
+ # build an X11 version even if there is not an X11R6 directory
+ epatch "${FILESDIR}"/${PN}-no-x11r6-dir.patch
+ # fix building with gcc-4.3 (thanks to Dominik 'Rathann' Mierzejewsk)
+ epatch "${FILESDIR}"/${PN}-gcc43.patch
+ # backport a fix to a problem with P1 fespace
+ epatch "${FILESDIR}"/${PN}-P1-fix.patch
+
+ eautoreconf
+}
+
+src_compile() {
+ local myconf
+
+ if use mpi; then
+ if has_version sys-cluster/mpich2 ; then
+ myconf="${myconf} --with-mpi=mpicxx"
+ else
+ myconf="${myconf} --with-mpi=mpiCC"
+ fi
+ else
+ myconf="--without-mpi"
+ fi
+
+ use fltk && append-cppflags $(fltk-config --cflags)
+
+ econf \
+ --disable-download \
+ --disable-optim \
+ --enable-generic \
+ --with-blas="$(pkg-config --libs blas)" \
+ --with-lapack="$(pkg-config --libs lapack)" \
+ $(use_with fltk) \
+ $(use_with X x) \
+ ${myconf} \
+ || die "econf failed"
+
+ emake || die "emake failed"
+
+ if use doc; then
+ emake documentation || die "emake documentation failed"
+ fi
+}
+
+src_test() {
+ if use mpi; then
+ # This may depend on the used MPI implementation. It is needed
+ # with mpich2, but should not be needed with lam-mpi or mpich
+ # (if the system is configured correctly).
+ ewarn "Please check that your MPI root ring is on before running"
+ ewarn "the test phase. Failing to start it before that phase may"
+ ewarn "result in a failing emerge."
+ epause
+ fi
+ emake -j1 check || die "check test failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ if use fltk; then
+ einfo "\"FreeFem++-ide\" is not intended for user use."
+ einfo "Use the \"FreeFem++-cs\" command to access the IDE."
+ einfo
+ fi
+
+ insinto /usr/share/doc/${PF}
+ if use doc; then
+ doins DOC/freefem++doc.pdf || die
+ fi
+
+ if use examples; then
+ einfo "Installing examples..."
+
+ # Remove compiled examples:
+ emake clean || die "emake clean failed"
+
+ einfo "Some of the installed examples assumes that the user has write"
+ einfo "permissions in the working directory and other will look for"
+ einfo "data files in the working directory. For this reason in order to"
+ einfo "run the examples it's better to temporary copy them somewhere"
+ einfo "in the user folder. For example to run the tutorial examples"
+ einfo "it's better to copy the entire examples++-tutorial folder into"
+ einfo "the user directory."
+ doins regtests.sh
+
+ # Install the needed headers with examples++-load
+ tar -xzhf examples++-load/include.tar.gz -C examples++-load
+ rm -f examples++-load/._*
+ rm examples++-load/include.tar.gz
+
+ rm -f examples*/Makefile*
+ doins -r examples*
+ fi
+}