diff options
author | Nocifer | 2022-01-29 14:13:28 +0200 |
---|---|---|
committer | Nocifer | 2022-01-29 14:13:28 +0200 |
commit | 0fc92d31c96d806414f4ad9d6c559d15c5c96f4c (patch) | |
tree | a6db1de0d4c3421b6ea19396f2f560a94e687f50 | |
parent | c381821c1acec7cef1c6914b86705c33a824ddb0 (diff) | |
download | aur-0fc92d31c96d806414f4ad9d6c559d15c5c96f4c.tar.gz |
v=3.3.10,r=1
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | PKGBUILD | 111 |
2 files changed, 82 insertions, 51 deletions
@@ -1,16 +1,26 @@ pkgbase = lib32-fftw pkgdesc = A library for computing the discrete Fourier transform (DFT) (32 bit) - pkgver = 3.3.8 + pkgver = 3.3.10 pkgrel = 1 - url = http://www.fftw.org/ + url = https://www.fftw.org/ arch = x86_64 license = GPL2 makedepends = gcc-fortran depends = lib32-glibc depends = fftw - options = !libtool - source = http://www.fftw.org/fftw-3.3.8.tar.gz - sha1sums = 59831bd4b2705381ee395e54aa6e0069b10c3626 + provides = libfftw3q_threads.so + provides = libfftw3q_omp.so + provides = libfftw3q.so + provides = libfftw3l_threads.so + provides = libfftw3l_omp.so + provides = libfftw3l.so + provides = libfftw3f_threads.so + provides = libfftw3f_omp.so + provides = libfftw3f.so + provides = libfftw3_threads.so + provides = libfftw3_omp.so + provides = libfftw3.so + source = https://www.fftw.org/fftw-3.3.10.tar.gz + sha256sums = 56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467 pkgname = lib32-fftw - @@ -4,69 +4,90 @@ _pkgname=fftw pkgname=lib32-${_pkgname} -pkgver=3.3.8 +pkgver=3.3.10 pkgrel=1 pkgdesc="A library for computing the discrete Fourier transform (DFT) (32 bit)" arch=('x86_64') license=('GPL2') -url="http://www.fftw.org/" +url="https://www.fftw.org/" depends=('lib32-glibc' "${_pkgname}") makedepends=('gcc-fortran') -options=('!libtool') -source=("http://www.fftw.org/${_pkgname}-${pkgver}.tar.gz") -sha1sums=('59831bd4b2705381ee395e54aa6e0069b10c3626') +provides=('libfftw3q_threads.so' 'libfftw3q_omp.so' 'libfftw3q.so' + 'libfftw3l_threads.so' 'libfftw3l_omp.so' 'libfftw3l.so' + 'libfftw3f_threads.so' 'libfftw3f_omp.so' 'libfftw3f.so' + 'libfftw3_threads.so' 'libfftw3_omp.so' 'libfftw3.so') +source=("https://www.fftw.org/${_pkgname}-${pkgver}.tar.gz") +sha256sums=('56c932549852cddcfafdab3820b0200c7742675be92179e59e6215b340e26467') -# notes: -# http://www.fftw.org/fftw2_doc/fftw_6.html#SEC69 -# http://www.fftw.org/faq/section2.html#singleprec -# http://www.fftw.org/fftw3_doc/Precision.html#Precision +prepare() { + cp -av ${_pkgname}-${pkgver} ${_pkgname}-${pkgver}-double + cp -av ${_pkgname}-${pkgver} ${_pkgname}-${pkgver}-long-double + cp -av ${_pkgname}-${pkgver} ${_pkgname}-${pkgver}-quad +} build() { -cd ${srcdir} -export CC='gcc -m32' -export CXX='g++ -m32' -export PKG_CONFIG_PATH='/usr/lib32/pkgconfig' - -cp -a ${_pkgname}-${pkgver} ${_pkgname}-${pkgver}-double -cp -a ${_pkgname}-${pkgver} ${_pkgname}-${pkgver}-long-double -mv ${_pkgname}-${pkgver} ${_pkgname}-${pkgver}-single + cd ${srcdir} -# use upstream default CFLAGS while keeping our -march/-mtune -CFLAGS+=" -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math" + export CC='gcc -m32' + export CXX='g++ -m32' + export PKG_CONFIG_PATH='/usr/lib32/pkgconfig' -CONFIGURE="./configure F77=gfortran --prefix=/usr \ - --enable-shared --enable-threads \ - --enable-openmp \ - --libdir=/usr/lib32" + # Use upstream default CFLAGS while keeping our -march/-mtune + CFLAGS+=" -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math" -# build double precision -cd ${srcdir}/${_pkgname}-${pkgver}-double -$CONFIGURE --enable-sse2 --enable-avx -make + CONFIGURE="./configure F77=gfortran \ + --prefix=/usr \ + --enable-shared + --enable-threads \ + --enable-openmp \ + --libdir=/usr/lib32" -# build and install long double precision -cd ${srcdir}/${_pkgname}-${pkgver}-long-double -$CONFIGURE --enable-long-double -make + # Configure single precision + ( + cd "${_pkgname}-${pkgver}" + $CONFIGURE --enable-sse --enable-avx --enable-single + # NOTE: Fix overlinking + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + ) -# build and install single precision -cd ${srcdir}/${_pkgname}-${pkgver}-single -$CONFIGURE --enable-float --enable-sse --enable-avx -make -} + # Configure double precision + ( + cd "${_pkgname}-${pkgver}-double" + $CONFIGURE --enable-sse2 --enable-avx + # NOTE: Fix overlinking + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + ) -package() { -cd ${srcdir} + # Configure long-double precision + ( + cd "${_pkgname}-${pkgver}-long-double" + $CONFIGURE --enable-long-double + # NOTE: Fix overlinking + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + ) -cd ${srcdir}/${_pkgname}-${pkgver}-double -make DESTDIR="${pkgdir}" install + # Configure quad precision + ( + cd "${_pkgname}-${pkgver}-quad" + $CONFIGURE --disable-mpi --enable-quad-precision + # NOTE: Fix overlinking + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + ) -cd ${srcdir}/${_pkgname}-${pkgver}-long-double -make DESTDIR="${pkgdir}" install + make -C "${_pkgname}-${pkgver}" + make -C "${_pkgname}-${pkgver}-double" + make -C "${_pkgname}-${pkgver}-long-double" + make -C "${_pkgname}-${pkgver}-quad" +} + +package() { + cd ${srcdir} -cd ${srcdir}/${_pkgname}-${pkgver}-single -make DESTDIR="${pkgdir}" install + make DESTDIR="${pkgdir}" install -C "${_pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install -C "${_pkgname}-${pkgver}-double" + make DESTDIR="${pkgdir}" install -C "${_pkgname}-${pkgver}-long-double" + make DESTDIR="${pkgdir}" install -C "${_pkgname}-${pkgver}-quad" -rm -rf "${pkgdir}/usr"/{bin,include,share} + rm -rf "${pkgdir}/usr"/{bin,include,share} } |