Date: Wednesday, February 1, 2023 @ 13:57:59
  Author: arojas
Revision: 1391744

upgpkg: openblas 0.3.21-2: Add 64-bit integer variant, switch to cmake

Modified:
  openblas/trunk/PKGBUILD

----------+
 PKGBUILD |   72 ++++++++++++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 52 insertions(+), 20 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2023-02-01 13:37:15 UTC (rev 1391743)
+++ PKGBUILD    2023-02-01 13:57:59 UTC (rev 1391744)
@@ -1,28 +1,47 @@
 # Maintainer: Felix Yan <[email protected]>
 # Contributor: Giuseppe Borzi <gborzi _AT_ ieee _DOT_ org>
 
-pkgname=openblas
+pkgbase=openblas
+pkgname=(openblas openblas64)
 _pkgname=OpenBLAS
 pkgver=0.3.21
-pkgrel=1
+pkgrel=2
+_blasver=3.9.0
 pkgdesc="An optimized BLAS library based on GotoBLAS2 1.13 BSD"
 arch=('x86_64')
 url="https://www.openblas.net/";
 license=('BSD')
 depends=('gcc-libs')
-makedepends=('perl' 'gcc-fortran')
-checkdepends=('cblas')
-provides=('blas=3.9.0')
-conflicts=('blas')
+makedepends=('cmake' 'perl' 'gcc-fortran')
+#checkdepends=('cblas')
 
source=(${_pkgname}-v${pkgver}.tar.gz::https://github.com/xianyi/OpenBLAS/archive/v${pkgver}.tar.gz)
 
sha512sums=('4625c8e6ccfa9120281fd714d3f6b7c3ba2265470c1be76121d6b25dc3dacb899d26e5d9a417ddc616d23909f1411495aa995ef8d8d6df8511cd5cefbabcb1c5')
 
 build() {
-  cd $_pkgname-$pkgver
+  cmake -B build -S $_pkgname-$pkgver \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DBUILD_SHARED_LIBS=ON \
+    -DBUILD_WITHOUT_LAPACK=ON \
+    -DBUILD_WITHOUT_CBLAS=ON \
+    -DBUILD_TESTING=OFF \
+    -DNO_AFFINITY=ON \
+    -DUSE_OPENMP=1 \
+    -DCORE=CORE2 \
+    -DDYNAMIC_ARCH=ON 
+  cmake --build build
 
-  make NO_STATIC=1 NO_LAPACK=1 NO_LAPACKE=1 NO_CBLAS=1 NO_AFFINITY=1 
USE_OPENMP=1 \
-       CFLAGS="$CPPFLAGS $CFLAGS" TARGET=CORE2 DYNAMIC_ARCH=1 \
-       NUM_THREADS=64 MAJOR_VERSION=3 libs shared
+  cmake -B build64 -S $_pkgname-$pkgver \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DBUILD_SHARED_LIBS=ON \
+    -DBUILD_WITHOUT_LAPACK=ON \
+    -DBUILD_WITHOUT_CBLAS=ON \
+    -DBUILD_TESTING=OFF \
+    -DNO_AFFINITY=ON \
+    -DUSE_OPENMP=1 \
+    -DCORE=CORE2 \
+    -DDYNAMIC_ARCH=ON \
+    -DINTERFACE64=1
+  cmake --build build64
 }
 
 check() {
@@ -31,21 +50,34 @@
   #make CFLAGS="$CPPFLAGS $CFLAGS -lcblas" TARGET=CORE2 tests
 }
 
-package() {
-  cd $_pkgname-$pkgver
+package_openblas() {
+  provides=("blas=$_blasver")
+  conflicts=('blas')
 
-  make PREFIX="$pkgdir"/usr NUM_THREADS=64 MAJOR_VERSION=3 install
-  rm -f "$pkgdir"/usr/include/cblas.h "$pkgdir"/usr/include/lapack*
-  install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+  DESTDIR="$pkgdir" cmake --install build
+#  rm -f "$pkgdir"/usr/include/cblas.h "$pkgdir"/usr/include/lapack*
+  install -Dm644 $_pkgname-$pkgver/LICENSE 
"$pkgdir"/usr/share/licenses/$pkgname/LICENSE
 
   cd "$pkgdir"/usr/lib/
-  ln -s libopenblasp-r$pkgver.so libblas.so
-  ln -s libopenblasp-r$pkgver.so libblas.so.3
-  sed -i -e "s%$pkgdir%%" "$pkgdir"/usr/lib/cmake/openblas/OpenBLASConfig.cmake
-  sed -i -e "s%$pkgdir%%" "$pkgdir"/usr/lib/pkgconfig/openblas.pc
+  ln -s libopenblas.so.${pkgver%.*} libblas.so
+  ln -s libopenblas.so.${pkgver%.*} libblas.so.3
   ln -s openblas.pc "$pkgdir"/usr/lib/pkgconfig/blas.pc
+}
 
-  rmdir "$pkgdir"/usr/bin
+package_openblas64() {
+  pkgdesc+=" (64-bit integers)"
+  provides=("blas64=$_blasver")
+  conflicts=('blas64')
+
+  DESTDIR="$pkgdir" cmake --install build64
+#  rm -f "$pkgdir"/usr/include/cblas.h "$pkgdir"/usr/include/lapack*
+  install -Dm644 $_pkgname-$pkgver/LICENSE 
"$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ 
+  cd "$pkgdir"/usr/lib/
+  ln -s libopenblas_64.so.${pkgver%.*} libblas64.so
+  ln -s libopenblas_64.so.${pkgver%.*} libblas64.so.3
+  ln -s libopenblas_64.so.${pkgver%.*} libopenblas64_.so # Needed by julia
+  ln -s openblas64.pc "$pkgdir"/usr/lib/pkgconfig/blas64.pc
 }
 
 # vim:set ts=2 sw=2 et:

Reply via email to