summaryrefslogtreecommitdiffstats
path: root/academic/FreeFem
diff options
context:
space:
mode:
Diffstat (limited to 'academic/FreeFem')
-rw-r--r--academic/FreeFem/FreeFem.SlackBuild39
-rw-r--r--academic/FreeFem/FreeFem.info12
-rw-r--r--academic/FreeFem/README19
3 files changed, 42 insertions, 28 deletions
diff --git a/academic/FreeFem/FreeFem.SlackBuild b/academic/FreeFem/FreeFem.SlackBuild
index 392e25396d..982341fdae 100644
--- a/academic/FreeFem/FreeFem.SlackBuild
+++ b/academic/FreeFem/FreeFem.SlackBuild
@@ -1,9 +1,9 @@
-#!/bin/sh
+#!/bin/bash
-# Slackware build script for SciDAVis
-# Based on the Slackware 14.2 SlackBuild and on PKGBUILD script for freefem from AUR
+# Slackware build script for FreeFem
+# Based on the Slackware 15.0 SlackBuild and on PKGBUILD script for freefem from AUR
#
-# Copyright 2019, Fellype do Nascimento, Campinas - Brazil
+# Copyright 2019-2023, Fellype do Nascimento, Guaratinguetá - Brazil
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,10 +23,14 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+cd $(dirname $0) ; CWD=$(pwd)
+
PRGNAM=FreeFem
-VERSION=${VERSION:-4.4}
+VERSION=${VERSION:-4.14}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+SRCVER=${SRCVER:-4.14}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -36,7 +40,11 @@ if [ -z "$ARCH" ]; then
esac
fi
-CWD=$(pwd)
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
@@ -44,21 +52,24 @@ OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
SPEC=""
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
SPEC=""
+ LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
SPEC="-spec linux-g++-64"
+ LIBDIRSUFFIX="64"
fi
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-sources-$VERSION
-tar xvf $CWD/$PRGNAM-sources-$VERSION.tar.gz
-cd $PRGNAM-sources-$VERSION
+rm -rf $PRGNAM-sources-$SRCVER
+tar xvf $CWD/$PRGNAM-sources-$SRCVER.tar.gz
+cd $PRGNAM-sources-$SRCVER
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -73,6 +84,7 @@ cp $CWD/tetgen1.5.1-beta1.tar.gz 3rdparty/pkg
autoreconf -i
./configure \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
--prefix=/usr \
--sysconfdir=/etc \
--disable-mumps \
@@ -82,23 +94,24 @@ autoreconf -i
find . -name Makefile -exec sed -i 's+^gcc+gcc =+' {} \;
find . -name Makefile -exec sed -i 's+^dir+dir =+' {} \;
+find . -name Makefile -exec sed -i "s:/usr/lib/ff++/:/usr/lib${LIBDIRSUFFIX}/ff++/:" {} \;
-## TODO: Enable mumps - FreeFem fails to compile with this option enabled up to now
+## TODO: Enable mumps
make
make install DESTDIR=$PKG
-find "$PKG"/usr/lib/ff++/ -name "*.h" -exec chmod o+r {} \;
+find "$PKG"/usr/lib${LIBDIRSUFFIX}/ff++/ -name "*.h" -exec chmod o+r {} \;
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS CHANGELOG.md README.md $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS CHANGELOG.md LICENSE.md README.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/academic/FreeFem/FreeFem.info b/academic/FreeFem/FreeFem.info
index 2f74b29ae1..d936d143c5 100644
--- a/academic/FreeFem/FreeFem.info
+++ b/academic/FreeFem/FreeFem.info
@@ -1,14 +1,14 @@
PRGNAM="FreeFem"
-VERSION="4.4"
+VERSION="4.14"
HOMEPAGE="https://freefem.org/"
-DOWNLOAD="https://github.com/FreeFem/FreeFem-sources/archive/v4.4/FreeFem-sources-4.4.tar.gz \
- http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/metis-5.1.0.tar.gz \
+DOWNLOAD="https://github.com/FreeFem/FreeFem-sources/archive/v4.14/FreeFem-sources-4.14.tar.gz \
+ https://master.dl.sourceforge.net/project/openfoam-extend/foam-extend-3.0/ThirdParty/metis-5.1.0.tar.gz \
http://www.tetgen.org/1.5/src/tetgen1.5.1-beta1.tar.gz"
-MD5SUM="f839e7d80344552f07a195ef7a2d47eb \
+MD5SUM="ca73e2353138e6c6cebdd9cc8df60b7f \
5465e67079419a69e0116de24fce58fe \
3d55c197bcbfc611b7ced6f343643756"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="arpack-ng hdf5 openmpi suitesparse"
+REQUIRES="arpack-ng camd hdf5 suitesparse"
MAINTAINER="Fellype do Nascimento"
-EMAIL="fellype(at)gmail.com"
+EMAIL="fellype (at) gmail (dot) com"
diff --git a/academic/FreeFem/README b/academic/FreeFem/README
index 99703a0063..c9a6765f55 100644
--- a/academic/FreeFem/README
+++ b/academic/FreeFem/README
@@ -1,12 +1,13 @@
FreeFem is a high level multiphysics finite element software
-FreeFEM is a popular 2D and 3D partial differential equations (PDE) solver used
-by thousands of researchers across the world. It allows you to easily implement
-your own physics modules using the provided FreeFEM language. FreeFEM offers a
-large list of finite elements, like the Lagrange, Taylor-Hood, etc., usable in
-the continuous and discontinuous Galerkin method framework.
+FreeFEM is a popular 2D and 3D partial differential equations (PDE)
+solver used by thousands of researchers across the world. It allows
+you to easily implement your own physics modules using the provided
+FreeFEM language. FreeFEM offers a large list of finite elements,
+like the Lagrange, Taylor-Hood, etc., usable in the continuous and
+discontinuous Galerkin method framework.
-FreeFEM has it own internal mesher, called BAMG, and is compatible with the best
-open-source mesh and visualization software like Tetgen, Gmsh, Mmg and ParaView.
-Written in C++ to optimize for speed, FreeFEM is interfaced with the popular
-mumps, PETSc and HPDDM solvers.
+FreeFEM has it own internal mesher, called BAMG, and is compatible
+with the best open-source mesh and visualization software like Tetgen,
+Gmsh, Mmg and ParaView. Written in C++ to optimize for speed, FreeFEM
+is interfaced with the popular mumps, PETSc and HPDDM solvers.