diff options
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | PKGBUILD | 79 |
2 files changed, 38 insertions, 55 deletions
@@ -1,11 +1,15 @@ pkgbase = scotch pkgdesc = Software package and libraries for graph, mesh and hypergraph partitioning, static mapping, and sparse matrix block ordering. This is the all-inclusive version (MPI/serial/esmumps). - pkgver = 6.0.9 - pkgrel = 1 + pkgver = 7.0.4 + pkgrel = 2 url = https://gitlab.inria.fr/scotch/scotch arch = i686 arch = x86_64 license = custom:CeCILL-C + makedepends = gcc-fortran + makedepends = cmake + makedepends = flex + makedepends = bison depends = zlib depends = openmpi depends = bzip2 @@ -16,8 +20,8 @@ pkgbase = scotch conflicts = ptscotch-openmpi conflicts = scotch_esmumps conflicts = scotch_esmumps5 - source = https://gitlab.inria.fr/scotch/scotch/-/archive/v6.0.9/scotch-v6.0.9.tar.gz - sha256sums = b9bc86c50b65781eb416663e938d57555373c2517ea8b9acf680fd3acde0cb0c + options = !emptydirs + source = https://gitlab.inria.fr/scotch/scotch/-/archive/v7.0.4/scotch-v7.0.4.tar.gz + sha512sums = 7c2a770c8b0932372a01613668d200fb934596df76293c7ed0e51ed8c1b57447d441937d98a2ad1d53e5579c0320d499910e7b1451b319c2acd9bcc56e6cfac3 pkgname = scotch - @@ -1,70 +1,49 @@ +# Maintainer: Martin Diehl <aur@martin-diehl.net> +# Contributor: Samuel Williams <samuel.williams@oriontransfer.co.nz> pkgname=scotch -pkgver=6.0.9 -pkgrel=1 +pkgver=7.0.4 +pkgrel=2 pkgdesc="Software package and libraries for graph, mesh and hypergraph partitioning, static mapping, and sparse matrix block ordering. This is the all-inclusive version (MPI/serial/esmumps)." url="https://gitlab.inria.fr/scotch/scotch" license=("custom:CeCILL-C") depends=('zlib' 'openmpi' 'bzip2') +makedepends=('gcc-fortran' 'cmake' 'flex' 'bison') provides=('ptscotch' 'ptscotch-openmpi' 'scotch_esmumps' 'scotch_ptesmumps') conflicts=('ptscotch-openmpi' 'scotch_esmumps' 'scotch_esmumps5') arch=('i686' 'x86_64') source=("https://gitlab.inria.fr/scotch/scotch/-/archive/v${pkgver}/${pkgname}-v${pkgver}.tar.gz") -sha256sums=('b9bc86c50b65781eb416663e938d57555373c2517ea8b9acf680fd3acde0cb0c') +sha512sums=('7c2a770c8b0932372a01613668d200fb934596df76293c7ed0e51ed8c1b57447d441937d98a2ad1d53e5579c0320d499910e7b1451b319c2acd9bcc56e6cfac3') -prepare() { - cd "${srcdir}/${pkgname}-v${pkgver}/src" +options=(!emptydirs) - [ -e Makefile.inc ] && rm Makefile.inc - cp "Make.inc/Makefile.inc.${CARCH/_/-}_pc_linux2.shlib" Makefile.inc - - # Apply patch to fix shared library ldflags - sed -i 's/$(AR) $(ARFLAGS) $(@) $(?)/$(AR) $(ARFLAGS) $(@) $(?) $(LDFLAGS)/g' libscotch/Makefile - - # Use the CFLAGS defined /etc/makepkg.conf - sed -i "s/-O3/${CFLAGS} -fPIC/g" Makefile.inc - - # Fix C compiler - sed -i "s/CCD\t.*=.*gcc/CCD = mpicc/" Makefile.inc - - # Also enable bzip2 compression - sed -i "s/-DCOMMON_FILE_COMPRESS_GZ/-DCOMMON_FILE_COMPRESS_GZ -DCOMMON_FILE_COMPRESS_BZ2/" Makefile.inc - sed -i "s/-lz/-lz -lbz2/" Makefile.inc - - # Fix the creation of directories - sed -i "s/mkdir/mkdir\ -p/" Makefile.inc - - # To install headers and libs also for esmumps - sed -i 's/scotch\*/{scotch,esmumps}\*/g' Makefile +prepare(){ + sed -i 's/DESTINATION man/DESTINATION share\/man/g' ${pkgname}-v${pkgver}/CMakeLists.txt } - -build() { - cd "${srcdir}/${pkgname}-v${pkgver}/src" - - make scotch - make -j1 esmumps - - # MPI implementation is not thread-safe: compile the parallel versions without SCOTCH_PTHREAD - sed -i "s/-DSCOTCH_PTHREAD//" Makefile.inc - make ptscotch - make -j1 ptesmumps +build() { + cmake -S ${pkgname}-v${pkgver} \ + -B build \ + -D CMAKE_INSTALL_PREFIX:PATH=/usr \ + -D CMAKE_BUILD_TYPE:STRING=Release \ + -D BUILD_SHARED_LIBS:BOOL=ON \ + -D INSTALL_METIS_HEADERS:BOOL=OFF \ + -D COMMON_PTHREAD_FILE:BOOL=ON \ + -D SCOTCH_PTHREAD:BOOL=ON \ + -D SCOTCH_PTHREAD_MPI:BOOL=ON \ + -D COMMON_PTHREAD_AFFINITY_LINUX:BOOL=ON + make -C build } - + check() { - cd "${srcdir}/${pkgname}-v${pkgver}/src" - - make check LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:../../lib" - make ptcheck LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:../../lib" + if [ -z "$(ldconfig -p | grep libcuda.so.1)" ]; then + export _libcuda=0 + fi + make -C build test } - + package() { - cd "${srcdir}/${pkgname}-v${pkgver}/src" - - make install prefix="${pkgdir}/usr" includedir="${pkgdir}/usr/include/scotch" - + DESTDIR=${pkgdir} cmake --install build # To avoid conflict with extra/gpart, maybe move the package to /opt/scotch ? - mv "${pkgdir}/usr/bin/gpart" "${pkgdir}/usr/bin/gpart-scotch" - - install -m 644 -D "../doc/CeCILL-C_V1-en.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + install -m 644 -D "${pkgname}-v${pkgver}/doc/CeCILL-C_V1-en.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" } |