summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNocifer2022-01-29 14:13:28 +0200
committerNocifer2022-01-29 14:13:28 +0200
commit0fc92d31c96d806414f4ad9d6c559d15c5c96f4c (patch)
treea6db1de0d4c3421b6ea19396f2f560a94e687f50
parentc381821c1acec7cef1c6914b86705c33a824ddb0 (diff)
downloadaur-0fc92d31c96d806414f4ad9d6c559d15c5c96f4c.tar.gz
v=3.3.10,r=1
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD111
2 files changed, 82 insertions, 51 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 151fb79af5a9..46bc2c3f31c0 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
-
diff --git a/PKGBUILD b/PKGBUILD
index 33f5f19c1661..dc1cbd269415 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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}
}