summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Aznarán Laos2021-09-29 11:29:27 -0500
committerCarlos Aznarán Laos2021-09-29 11:29:27 -0500
commit7de72099b89169b3c84cadff6a54a8a8599ecd75 (patch)
treef425fe353d7e38f26dbfbea3c860a318ec7dc4eb
downloadaur-7de72099b89169b3c84cadff6a54a8a8599ecd75.tar.gz
Version bump to 2.8.0, adding python bindings
-rw-r--r--.SRCINFO35
-rw-r--r--.gitignore1
-rw-r--r--PKGBUILD67
3 files changed, 103 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..74eab8181a70
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,35 @@
+pkgbase = dune-istl
+ pkgdesc = Iterative Solver Template Library
+ pkgver = 2.8.0
+ pkgrel = 1
+ url = https://dune-project.org/modules/dune-istl
+ arch = x86_64
+ license = custom:GPL2 with runtime exception
+ makedepends = dune-common>=2.8.0
+ makedepends = texlive-latexextra
+ makedepends = biber
+ makedepends = doxygen
+ makedepends = graphviz
+ makedepends = python-setuptools
+ optdepends = vc: C++ Vectorization library
+ optdepends = doxygen: Generate the class documentation from C++ sources
+ optdepends = graphviz: Graph visualization software
+ optdepends = parmetis: Parallel Graph Partitioning and Fill-reducing Matrix Ordering
+ optdepends = scotch: Software package and libraries for graph, mesh and hypergraph partitioning, static mapping, and sparse matrix block ordering
+ optdepends = superlu: Set of subroutines to solve a sparse linear system
+ optdepends = arpackpp: C++ interface to ARPACK
+ optdepends = suitesparse: A collection of sparse matrix libraries
+ source = https://dune-project.org/download/2.8.0/dune-istl-2.8.0.tar.gz
+ source = https://dune-project.org/download/2.8.0/dune-istl-2.8.0.tar.gz.asc
+ validpgpkeys = ABE52C516431013C5874107C3F71FE0770D47FFB
+ sha512sums = 03139c71881bc83934a1468937196e77c42deaba776102f49309ee1e46163ff44263524733d2522a1d912bcfdf6de3ba792834f2435cfa6d01670a52a8b80289
+ sha512sums = SKIP
+
+pkgname = dune-istl
+ depends = dune-common>=2.8.0
+
+pkgname = python-dune-istl
+ pkgdesc = Iterative Solver Template Library (python bindings)
+ depends = dune-istl>=2.8.0
+ depends = python-dune-common>=2.8.0
+ depends = arpack
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..f59ec20aabf5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+* \ No newline at end of file
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..f6e60b6f9e6f
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,67 @@
+# Maintainer: Josh Hoffer < hoffer dot joshua at gmail dot com >
+# Maintainer: Carlos Aznarán <caznaranl@uni.pe>
+# Contributor: Lukas Böger <dev___AT___lboeger___DOT___de>
+pkgbase=dune-istl
+pkgname=(${pkgbase} python-${pkgbase})
+_tarver=2.8.0
+_tar="${_tarver}/${pkgbase}-${_tarver}.tar.gz"
+pkgver=${_tarver}
+pkgrel=1
+pkgdesc="Iterative Solver Template Library"
+arch=('x86_64')
+url="https://dune-project.org/modules/${pkgbase}"
+license=('custom:GPL2 with runtime exception')
+makedepends=('dune-common>=2.8.0' 'texlive-latexextra' 'biber' 'doxygen' 'graphviz' 'python-setuptools')
+optdepends=('vc: C++ Vectorization library'
+ 'doxygen: Generate the class documentation from C++ sources'
+ 'graphviz: Graph visualization software'
+ 'parmetis: Parallel Graph Partitioning and Fill-reducing Matrix Ordering'
+ 'scotch: Software package and libraries for graph, mesh and hypergraph partitioning, static mapping, and sparse matrix block ordering'
+ 'superlu: Set of subroutines to solve a sparse linear system'
+ 'arpackpp: C++ interface to ARPACK'
+ 'suitesparse: A collection of sparse matrix libraries')
+source=(https://dune-project.org/download/${_tar}{,.asc})
+sha512sums=('03139c71881bc83934a1468937196e77c42deaba776102f49309ee1e46163ff44263524733d2522a1d912bcfdf6de3ba792834f2435cfa6d01670a52a8b80289' 'SKIP')
+validpgpkeys=('ABE52C516431013C5874107C3F71FE0770D47FFB') # Markus Blatt (applied mathematician and DUNE core developer) <markus@dr-blatt.de>
+
+prepare() {
+ # install header for run test/linear/test_linearsolver.cc in DuMuX
+ sed -i '123 a install(FILES anisotropic.hh DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/istl/paamg/test)' ${pkgbase}-${_tarver}/dune/istl/paamg/test/CMakeLists.txt
+ sed -i '5 a BUILD_ON_INSTALL' ${pkgbase}-${_tarver}/doc/CMakeLists.txt
+}
+
+build() {
+ cmake \
+ -S ${pkgbase}-${_tarver} \
+ -B build-cmake \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=TRUE \
+ -DCMAKE_CXX_STANDARD=17 \
+ -DCMAKE_C_COMPILER=gcc \
+ -DCMAKE_CXX_COMPILER=g++ \
+ -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
+ -DENABLE_HEADERCHECK=ON \
+ -DDUNE_ENABLE_PYTHONBINDINGS=ON \
+ -DDUNE_PYTHON_INSTALL_LOCATION='none' \
+ -DCMAKE_DISABLE_FIND_PACKAGE_Vc=TRUE \
+ -Wno-dev
+ cmake --build build-cmake --target all
+ cd "build-cmake/python"
+ python setup.py build
+}
+
+package_dune-istl() {
+ depends=('dune-common>=2.8.0')
+ DESTDIR="${pkgdir}" cmake --build build-cmake --target install
+ install -Dm644 ${pkgbase}-${_tarver}/COPYING "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE"
+ find "${pkgdir}" -type d -empty -delete
+}
+
+package_python-dune-istl() {
+ depends=('dune-istl>=2.8.0' 'python-dune-common>=2.8.0' 'arpack')
+ pkgdesc+=" (python bindings)"
+ cd "build-cmake/python"
+ python setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
+}