ports/contrib (3.7): fftw: fixed problems with dependent software
commit 92856485f453ee74a9c28b7b64aeb892bacb25a5 Author: Tim Biermann <tbier@posteo.de> Date: Sat Sep 24 16:03:04 2022 +0200 fftw: fixed problems with dependent software diff --git a/fftw/.signature b/fftw/.signature index 388b49af9..a8a3cc1a0 100644 --- a/fftw/.signature +++ b/fftw/.signature @@ -1,5 +1,5 @@ untrusted comment: verify with /etc/ports/contrib.pub -RWSagIOpLGJF3yO8N5sh2TxXTD6FILYUAi74zFY/E99SSw17iAB+hTGliGUGbU66aHSKNQxmkp1zoOhl/lLsKuHbpWR6QdxF+wM= -SHA256 (Pkgfile) = 32f58ea8eb328fefa861cd1873023a1025fb08afeddcf9e21f438bab755badba +RWSagIOpLGJF39g9D/3Pjj7hScxSpdZs2ZLXIygxc0BXZ0Kk9pjm5JBmn2hDU5ipb+KAbLyMVsnfh1Vlb7EysKqM3rtdtsr+TgA= +SHA256 (Pkgfile) = ca26a6ee27fea00bceab04f62445f234b2b0f64acf429cdb904013b219be593d SHA256 (.footprint) = 21c52df24478e05ef8e774a9e9e0d1d06147380c21dbe698077596d4ae6fe681 SHA256 (fftw-3.3.10.tar.gz) = 56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467 diff --git a/fftw/Pkgfile b/fftw/Pkgfile index 7f686dcec..09978c6e2 100644 --- a/fftw/Pkgfile +++ b/fftw/Pkgfile @@ -1,71 +1,55 @@ # Description: C subroutine library for computing discrete Fourier transform. # URL: https://www.fftw.org/ -# Maintainer: Danny Rawlins, crux at romster dot me -# Depends on: gcc-fortran openmpi +# Maintainer: Tim Biermann, tbier at posteo dot de +# Depends on: openmpi gcc-fortran name=fftw version=3.3.10 release=2 -source=(https://www.fftw.org/$name-$version.tar.gz) +source=(http://www.fftw.org/$name-$version.tar.gz) build() { - cd $name-$version + cp -av $name-$version ${name}-${version}-double + cp -av $name-$version ${name}-${version}-long-double + cp -av $name-$version ${name}-${version}-quad + + export F77='gfortran' + CFLAGS+=" -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math" + # default configure call + _default_configure="./configure --prefix=/usr --enable-shared --enable-threads --enable-mpi --enable-openmp" # libtool fails to link with ccache in the path [ -e '/usr/bin/ccache' ] && PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//') + # configure single precision + cd $SRC/$name-$version + ${_default_configure} --enable-sse --enable-avx --enable-single + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + # configure double precision + cd $SRC/$name-$version-double + ${_default_configure} --enable-sse2 --enable-avx + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + # configure long-double precission + cd $SRC/$name-$version-long-double + ${_default_configure} --enable-long-double + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + # configure quad precision + cd $SRC/$name-$version-quad + ${_default_configure} --disable-mpi --enable-quad-precision + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make -C $SRC/$name-$version + make -C $SRC/$name-$version-double + make -C $SRC/$name-$version-long-double + make -C $SRC/$name-$version-quad + + make DESTDIR=$PKG install -C $SRC/$name-$version + make DESTDIR=$PKG install -C $SRC/$name-$version-double + make DESTDIR=$PKG install -C $SRC/$name-$version-long-double + make DESTDIR=$PKG install -C $SRC/$name-$version-quad - local config=" -F77=gfortran ---prefix=/usr ---enable-threads ---enable-shared ---enable-openmp" - - # use upstream default CFLAGS while keeping our -march/-mtune - CFLAGS+=" -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -fno-schedule-insns -ffast-math -fPIC -mavx2" - - # compiling single precision library - ./configure \ - $config \ - --enable-single \ - --enable-avx \ - --enable-sse \ - --enable-mpi - - make - make DESTDIR=$PKG install - make clean - - # compiling double precision library - ./configure \ - $config \ - --enable-avx \ - --enable-mpi \ - --enable-sse2 - - make - make DESTDIR=$PKG install - make clean - - # compiling long double precision library - ./configure \ - $config \ - --enable-long-double \ - --enable-mpi - - make - make DESTDIR=$PKG install - make clean - - # compiling quad precision library - ./configure \ - $config \ - --enable-quad-precision - - make - make DESTDIR=$PKG install - - # clean up rm -r $PKG/usr/share/info rm $PKG/usr/lib/*.la }
participants (1)
-
crux@crux.nu