aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavid_e <david_e@32389bae-6d03-0410-99cf-db05cde120eb>2008-10-29 10:17:38 +0000
committerdavid_e <david_e@32389bae-6d03-0410-99cf-db05cde120eb>2008-10-29 10:17:38 +0000
commit4e969c0c2e6155be86f5bed1b26cada6d5ea6223 (patch)
tree248b1c7846185b228f4b2307b8b8fec9a8a94db6
parentremoved cgal, now in main tree (diff)
downloadsci-4e969c0c2e6155be86f5bed1b26cada6d5ea6223.tar.gz
sci-4e969c0c2e6155be86f5bed1b26cada6d5ea6223.tar.bz2
sci-4e969c0c2e6155be86f5bed1b26cada6d5ea6223.zip
sci-mathematics/freefem++: gcc-4.3 and no-X11R6 symlink fixes
git-svn-id: http://overlays.gentoo.org/svn/proj/science/overlay@1329 32389bae-6d03-0410-99cf-db05cde120eb
-rw-r--r--sci-mathematics/freefem++/ChangeLog6
-rw-r--r--sci-mathematics/freefem++/Manifest7
-rw-r--r--sci-mathematics/freefem++/files/freefem++-gcc43.patch180
-rw-r--r--sci-mathematics/freefem++/files/freefem++-no-x11r6-dir.patch15
-rw-r--r--sci-mathematics/freefem++/freefem++-2.24.2-r1.ebuild (renamed from sci-mathematics/freefem++/freefem++-2.23.2.ebuild)28
5 files changed, 222 insertions, 14 deletions
diff --git a/sci-mathematics/freefem++/ChangeLog b/sci-mathematics/freefem++/ChangeLog
index 2f7a0f426..149b219cb 100644
--- a/sci-mathematics/freefem++/ChangeLog
+++ b/sci-mathematics/freefem++/ChangeLog
@@ -2,6 +2,12 @@
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 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:
+ Fixed building with gcc-4.3, thanks to Dominik 'Rathann' Mierzejewski for the
+ patch. Fixed building with X when there is not the /usr/X11R6 symlink.
+
*freefem++-2.24.2 (08 May 2008)
08 May 2008; David Radice <david.e.pi.3.14@gmail.com>
diff --git a/sci-mathematics/freefem++/Manifest b/sci-mathematics/freefem++/Manifest
index deb06722d..67b52a32d 100644
--- a/sci-mathematics/freefem++/Manifest
+++ b/sci-mathematics/freefem++/Manifest
@@ -1,7 +1,8 @@
AUX freefem++-acoptim.patch 663 RMD160 6294d436eaf8bdea7258b3ca704e5ff9f942f019 SHA1 0ebe27e991bdd3949d3bf671056a15ce23f4f29f SHA256 6d07f4cd1a061d401879e54568fbeb2a035951b50195dfd3b88b05086a87cbb7
-DIST freefem++-2.23-2.tar.gz 10966822 RMD160 07a4beb1da5b7f2366c5e3434b29ebb201291884 SHA1 5de2601e8f5cbed8e3c324e60c5043003b368984 SHA256 761c3c4cd62ef4d125f05b87e7e4e0c37bb324e61a3200e2f3979a123a3bd7c5
+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.23.2.ebuild 3053 RMD160 52c96b44e20059e18da9dde2b9ed0b86e23de5d9 SHA1 52bf87e581548a647ccdba1ae985382cef1a6641 SHA256 fcafdd70a40036f0f8cdd1348fa5f2e5284df8c0626f05e0d4b4d63ce3baca00
+EBUILD freefem++-2.24.2-r1.ebuild 3212 RMD160 af35eb62247aaa31a75032b51cab0a5838f6cde8 SHA1 df886e912dd425d33f7efd2b2a9bfa9627eccd9d SHA256 a8d10d3bb621212c7f93f836daa5fbb8f7d746ddddc3e6d5cd6968134a2c77dd
EBUILD freefem++-2.24.2.ebuild 3106 RMD160 498179afe0ded9df56557f6f623033574bf7216b SHA1 6725391e90c9f05c8d2473ea5d59c2929eb397ce SHA256 a25854dda2081a4e9331c50eecad317cd1d6edf685499621100b579013bc553b
-MISC ChangeLog 987 RMD160 7b44b83b4fb50e8629298762c4872bf1f7563249 SHA1 1cfdc795deb86584eef1109380f54c73c31cdec6 SHA256 831efa4954ce2673956ccf845b7d80d5c83f9d331f64291d36c5ce60876ce861
+MISC ChangeLog 1323 RMD160 1c3e76ce497f4a244b133a595f4deadb988ba650 SHA1 f171d4764e98a866c9fba0ffa006f7deb5ab2738 SHA256 b8a5c95451680d65e2175305ecff48d1e74ae97d8ad0cdb5b24075539f479152
MISC metadata.xml 381 RMD160 17dca0ed77bf65c0d2d8aa2148243f67c4a05edf SHA1 f583b125502b06a151f200849e2892bd08dbc70e SHA256 d7569d977d779a55533651e01e4d45e5ae7a1ada36b634e8b988ae4db86cdb83
diff --git a/sci-mathematics/freefem++/files/freefem++-gcc43.patch b/sci-mathematics/freefem++/files/freefem++-gcc43.patch
new file mode 100644
index 000000000..60177fa4f
--- /dev/null
+++ b/sci-mathematics/freefem++/files/freefem++-gcc43.patch
@@ -0,0 +1,180 @@
+diff -up freefem++-2.23/src/Graphics/getprog-unix.hpp.gcc43 freefem++-2.23/src/Graphics/getprog-unix.hpp
+--- freefem++-2.23/src/Graphics/getprog-unix.hpp.gcc43 2007-12-11 22:37:39.000000000 +0100
++++ freefem++-2.23/src/Graphics/getprog-unix.hpp 2008-02-20 21:50:16.000000000 +0100
+@@ -1,3 +1,4 @@
++#include <cstring>
+
+ extern long verbosity;
+
+diff -up freefem++-2.23/src/Graphics/sansrgraph.cpp.gcc43 freefem++-2.23/src/Graphics/sansrgraph.cpp
+diff -up freefem++-2.23/src/Algo/LineSearch.hpp.gcc43 freefem++-2.23/src/Algo/LineSearch.hpp
+--- freefem++-2.23/src/Algo/LineSearch.hpp.gcc43 2006-04-03 19:23:33.000000000 +0200
++++ freefem++-2.23/src/Algo/LineSearch.hpp 2008-02-21 17:39:08.000000000 +0100
+@@ -30,7 +30,7 @@ public:
+ typedef M Mat;
+ typedef P Param;
+ typedef V Vect;
+- typedef NRJ<Param,Vect,VMat,Real> NRJ;
++ typedef NRJ<Param,Vect,VMat,Real> lsNRJ;
+
+ private:
+ //ne sert que si on calcule le gradient de mani?re num?rique
+@@ -57,7 +57,7 @@ protected:
+ // c'est du meme type que le gradient
+ Vect* step;
+ //pointer to the nrj
+- NRJ * nrj;
++ lsNRJ * nrj;
+
+ void appendSearchNumber();
+
+@@ -65,7 +65,7 @@ public:
+
+ //a constructor with pointer to the nrj and
+ //to the step if numerical gradient is computed
+- LineSearch(NRJ* f,Vect* interval = NULL);
++ LineSearch(lsNRJ* f,Vect* interval = NULL);
+ virtual ~LineSearch();
+
+ // point de d?part et direction de descente + des param?tres
+@@ -92,7 +92,7 @@ public:
+ };
+
+ template <class P, class V,class M,class VM,class R>
+-LineSearch<P,V,M,VM,R>::LineSearch(NRJ* p, Vect* interval )
++LineSearch<P,V,M,VM,R>::LineSearch(lsNRJ* p, Vect* interval )
+ {
+ iterMax = MAX_IT_LS;
+ iterNum = 0;
+diff -up freefem++-2.23/src/Algo/CubicLS.hpp.gcc43 freefem++-2.23/src/Algo/CubicLS.hpp
+--- freefem++-2.23/src/Algo/CubicLS.hpp.gcc43 2006-04-03 19:23:32.000000000 +0200
++++ freefem++-2.23/src/Algo/CubicLS.hpp 2008-02-21 17:39:08.000000000 +0100
+@@ -31,12 +31,12 @@ class CubicLineSearch : public LS
+ typedef typename LS::Vect Vect;
+ typedef typename LS::VMat VMat;
+ typedef LS LineSearch;
+- typedef NRJ<Param,Vect,VMat,Real> NRJ;
++ typedef NRJ<Param,Vect,VMat,Real> clsNRJ;
+ public:
+ //a constructor with the default delta
+- CubicLineSearch(NRJ* f, int iter);
++ CubicLineSearch(clsNRJ* f, int iter);
+ //a constructor with the specified delta
+- CubicLineSearch(NRJ* f, int iter, Vect* delta);
++ CubicLineSearch(clsNRJ* f, int iter, Vect* delta);
+ /* The parameter $delta$ is not used by the line search
+ itself. Rather it is used in the numerical computation
+ of the derivatives using centered differences. For
+@@ -65,13 +65,13 @@ public:
+ };
+
+ template <class LS>
+-CubicLineSearch<LS>::CubicLineSearch(NRJ* f, int it)
++CubicLineSearch<LS>::CubicLineSearch(clsNRJ* f, int it)
+ : LS(f)
+ { this->iterMax = it;
+ }
+
+ template <class LS>
+-CubicLineSearch<LS>::CubicLineSearch(NRJ* f, int it, Vect* interval)
++CubicLineSearch<LS>::CubicLineSearch(clsNRJ* f, int it, Vect* interval)
+ : LS(f,interval)
+ { this->iterMax = it;
+ }
+diff -up freefem++-2.23/src/ide/testhighlight.cpp.gcc43 freefem++-2.23/src/ide/testhighlight.cpp
+--- freefem++-2.23/src/ide/testhighlight.cpp.gcc43 2007-04-20 17:18:59.000000000 +0200
++++ freefem++-2.23/src/ide/testhighlight.cpp 2008-02-21 17:39:08.000000000 +0100
+@@ -33,6 +33,7 @@ using namespace std;
+ #include "hl_lexyacc.hpp"
+ #include <iostream>
+ #include <fstream>
++#include <cstdlib>
+
+ extern int yydebug;
+
+diff -up freefem++-2.23/src/ide/highlight.cpp.gcc43 freefem++-2.23/src/ide/highlight.cpp
+--- freefem++-2.23/src/ide/highlight.cpp.gcc43 2006-09-29 22:30:15.000000000 +0200
++++ freefem++-2.23/src/ide/highlight.cpp 2008-02-21 17:39:08.000000000 +0100
+@@ -31,6 +31,7 @@
+
+ #include <iostream>
+ #include <cassert>
++#include <cstring>
+ using namespace std;
+ #include "highlight.hpp"
+ #include "hl_lexyacc.hpp"
+diff -up freefem++-2.23/src/ide/commands.cpp.gcc43 freefem++-2.23/src/ide/commands.cpp
+--- freefem++-2.23/src/ide/commands.cpp.gcc43 2006-09-25 17:36:43.000000000 +0200
++++ freefem++-2.23/src/ide/commands.cpp 2008-02-21 17:39:08.000000000 +0100
+@@ -32,6 +32,7 @@
+ // together, or through sockets if they are separated.
+
+ #include <FL/Fl.H>
++#include <cstdlib>
+ #include "commands.hpp"
+ #include "editor.hpp"
+ #include "draw.hpp"
+diff -up freefem++-2.23/src/ide/socket.cpp.gcc43 freefem++-2.23/src/ide/socket.cpp
+--- freefem++-2.23/src/ide/socket.cpp.gcc43 2006-09-29 22:30:15.000000000 +0200
++++ freefem++-2.23/src/ide/socket.cpp 2008-02-21 17:39:08.000000000 +0100
+@@ -33,6 +33,7 @@
+
+ #include <iostream>
+ #include <cassert>
++#include <cstring>
+ #include "socket.hpp"
+ using namespace std;
+
+diff -up freefem++-2.23/src/ide/spawn.cpp.gcc43 freefem++-2.23/src/ide/spawn.cpp
+--- freefem++-2.23/src/ide/spawn.cpp.gcc43 2006-09-29 22:30:15.000000000 +0200
++++ freefem++-2.23/src/ide/spawn.cpp 2008-02-21 17:39:08.000000000 +0100
+@@ -35,6 +35,7 @@
+ #define SPAWN_HPP
+
+ #include <iostream>
++#include <cstdlib>
+ using namespace std;
+ #include <cassert>
+ #include <FL/Fl.H>
+diff -up freefem++-2.23/src/fflib/Serialize.hpp.gcc43 freefem++-2.23/src/fflib/Serialize.hpp
+--- freefem++-2.23/src/fflib/Serialize.hpp.gcc43 2008-01-13 11:17:49.000000000 +0100
++++ freefem++-2.23/src/fflib/Serialize.hpp 2008-02-20 20:57:33.000000000 +0100
+@@ -28,6 +28,8 @@
+ #ifndef SERIALEZE_HPP_
+ #define SERIALEZE_HPP_
+
++#include <cstring>
++
+ struct MPIrank;
+ class Serialize {
+ // we store a refcounter in the pointer p a adresse p-sizeof(long)
+diff -up freefem++-2.23/src/femlib/fem.hpp.gcc43 freefem++-2.23/src/femlib/fem.hpp
+--- freefem++-2.23/src/femlib/fem.hpp.gcc43 2008-01-17 18:00:42.000000000 +0100
++++ freefem++-2.23/src/femlib/fem.hpp 2008-02-21 17:39:57.000000000 +0100
+@@ -5,6 +5,7 @@
+ #include "Serialize.hpp"
+ // some usefull function
+
++#include <algorithm>
+
+ template<class K> class KN_;
+
+@@ -132,7 +133,6 @@ inline R2 Maxc(const R3 & A,const R3& B,
+ // def de numerotation dans un triangles direct sens (trigo)
+ // the edge is oposite of the vertex
+ //// [3] is a edge
+-#include <algorithm>
+ //#include <Functional>
+ struct SortedTriplet {
+ static const int empty = -1;
+diff -up freefem++-2.23/src/femlib/MatriceCreuse_tpl.hpp.gcc43 freefem++-2.23/src/femlib/MatriceCreuse_tpl.hpp
+--- freefem++-2.23/src/femlib/MatriceCreuse_tpl.hpp.gcc43 2007-12-12 18:12:37.000000000 +0100
++++ freefem++-2.23/src/femlib/MatriceCreuse_tpl.hpp 2008-02-20 19:37:28.000000000 +0100
+@@ -4,6 +4,7 @@
+ #include <set>
+ #include <list>
+ #include <map>
++#include <limits>
+ #endif
+
+ #ifndef __MWERKS__
diff --git a/sci-mathematics/freefem++/files/freefem++-no-x11r6-dir.patch b/sci-mathematics/freefem++/files/freefem++-no-x11r6-dir.patch
new file mode 100644
index 000000000..096d791c4
--- /dev/null
+++ b/sci-mathematics/freefem++/files/freefem++-no-x11r6-dir.patch
@@ -0,0 +1,15 @@
+diff -urN freefem++-2.24-2.old/configure.ac freefem++-2.24-2.new/configure.ac
+--- freefem++-2.24-2.old/configure.ac 2008-03-27 13:22:17.000000000 +0100
++++ freefem++-2.24-2.new/configure.ac 2008-10-26 16:46:21.000000000 +0100
+@@ -331,10 +331,7 @@
+
+ if test "$ff_mingw" = no && test "$with_x" != "no";
+ then
+- if test -d /usr/X11R6
+- then
+- ff_x11=yes
+- fi
++ ff_x11=yes
+ fi
+
+ AC_MSG_RESULT($ff_x11)
diff --git a/sci-mathematics/freefem++/freefem++-2.23.2.ebuild b/sci-mathematics/freefem++/freefem++-2.24.2-r1.ebuild
index ded259731..9bd1025db 100644
--- a/sci-mathematics/freefem++/freefem++-2.23.2.ebuild
+++ b/sci-mathematics/freefem++/freefem++-2.24.2-r1.ebuild
@@ -12,14 +12,15 @@ SRC_URI="http://www.freefem.org/ff%2B%2B/ftp/${PN}-${MY_PV}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc examples fltk mpi X"
+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 )
@@ -37,14 +38,17 @@ src_unpack() {
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
+
eautoreconf
}
src_compile() {
local myconf
- # Tested using mpich2, upstream built freefem++ with mpich and lam-mpi.
- # So it should work, at least with this three MPI implementations.
if use mpi; then
if has_version sys-cluster/mpich2 ; then
myconf="${myconf} --with-mpi=mpicxx"
@@ -76,13 +80,15 @@ src_compile() {
}
src_test() {
- # 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
+ 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"
}