diff options
author | david_e <david_e@32389bae-6d03-0410-99cf-db05cde120eb> | 2008-12-06 13:48:09 +0000 |
---|---|---|
committer | david_e <david_e@32389bae-6d03-0410-99cf-db05cde120eb> | 2008-12-06 13:48:09 +0000 |
commit | aafe17e0d3ac3bb8ea2e4cc705a1d3e40f46051a (patch) | |
tree | f0b1b90f45593029b81cf3cf2a368aa203e1e336 | |
parent | Removed spooles USE-flag for sci-libs/calculix-ccx (diff) | |
download | sci-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++/ChangeLog | 5 | ||||
-rw-r--r-- | sci-mathematics/freefem++/Manifest | 4 | ||||
-rw-r--r-- | sci-mathematics/freefem++/files/freefem++-P1-fix.patch | 24 | ||||
-rw-r--r-- | sci-mathematics/freefem++/freefem++-2.24.2-r2.ebuild | 134 |
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 +} |