summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Aznarán Laos2022-12-07 00:22:33 -0500
committerCarlos Aznarán Laos2022-12-07 00:22:33 -0500
commite73114fa55d02e4f3eaa4e5381ba3f22ce50354e (patch)
treed72ee11a7fa5784f8531c42195e55b7b6f48c0aa
parent2769eef64f39a2623d9689d5961176586f8ca820 (diff)
downloadaur-e73114fa55d02e4f3eaa4e5381ba3f22ce50354e.tar.gz
Fix python bindings
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD85
2 files changed, 51 insertions, 56 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fd21892e5676..8c289057527a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,17 +1,17 @@
pkgbase = dumux
pkgdesc = An open-source simulator and research code in modern C++
pkgver = 3.6.0
- pkgrel = 1
+ pkgrel = 2
url = https://dumux.org
arch = x86_64
- license = GPL3
- makedepends = dune-grid>=2.8.0
- makedepends = dune-istl>=2.8.0
- makedepends = dune-localfunctions>=2.8.0
makedepends = doxygen
makedepends = graphviz
- makedepends = python-setuptools
- optdepends = dune-alugrid
+ makedepends = python-scikit-build
+ makedepends = python-ninja
+ depends = dune-grid>=2.9.0
+ depends = dune-istl>=2.9.0
+ depends = dune-localfunctions>=2.9.0
+ optdepends = dune-alugrid: for grid manager ALUGrid support
optdepends = dune-foamgrid: for grid manager FoamGrids support
optdepends = dune-functions: for functions spaces support
optdepends = opm-grid: for cornerpoint grid support
@@ -22,11 +22,3 @@ pkgbase = dumux
sha512sums = c47f478297865baddbf3a0770f92a035807f3b87e2ba4becbb03fcc08d073684973a621688c13750d3840fb34f83ad19a091018e5529382a1e049c68bee18d08
pkgname = dumux
- depends = dune-grid>=2.8.0
- depends = dune-istl>=2.8.0
- depends = dune-localfunctions>=2.8.0
-
-pkgname = python-dumux
- pkgdesc = An open-source simulator and research code in modern C++ (python bindings)
- depends = dumux>=3.6.0
- depends = python-dune-common>=2.8.0
diff --git a/PKGBUILD b/PKGBUILD
index b665a7d02c93..b93c2bbf394b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,68 +1,71 @@
# Maintainer: Carlos Aznarán <caznaranl@uni.pe>
-pkgbase=dumux
-pkgname=(${pkgbase} python-${pkgbase})
-pkgver=3.6.0
-_tar="${pkgver}/${pkgbase}-${pkgver}.tar.gz"
-pkgrel=1
+pkgname=dumux
+_dunever=2.9.0
+_tarver=3.6.0
+_tar="${_tarver}/${pkgname}-${_tarver}.tar.gz"
+pkgver="${_tarver}"
+pkgrel=2
pkgdesc="An open-source simulator and research code in modern C++"
arch=(x86_64)
-url="https://${pkgbase}.org"
-license=(GPL3)
-_dunever=2.8.0
-makedepends=("dune-grid>=${_dunever}" "dune-istl>=${_dunever}" "dune-localfunctions>=${_dunever}" doxygen graphviz python-setuptools)
-optdepends=('dune-alugrid'
+url="https://${pkgname}.org"
+depends=("dune-grid>=${_dunever}" "dune-istl>=${_dunever}" "dune-localfunctions>=${_dunever}")
+makedepends=(doxygen graphviz python-scikit-build python-ninja)
+optdepends=('dune-alugrid: for grid manager ALUGrid support'
'dune-foamgrid: for grid manager FoamGrids support'
'dune-functions: for functions spaces support'
'opm-grid: for cornerpoint grid support'
'dune-subgrid: for grid manager SubGrid support'
'dune-spgrid: for grid manager SPGrid support'
'dune-mmesh: for grid manager MMesh support')
-source=(https://git.iws.uni-stuttgart.de/${pkgbase}-repositories/${pkgbase}/-/archive/${_tar})
+source=(https://git.iws.uni-stuttgart.de/${pkgname}-repositories/${pkgname}/-/archive/${_tar})
sha512sums=('c47f478297865baddbf3a0770f92a035807f3b87e2ba4becbb03fcc08d073684973a621688c13750d3840fb34f83ad19a091018e5529382a1e049c68bee18d08')
prepare() {
- sed -i 's/#include <opm\/parser\/eclipse\/Parser\/Parser.hpp>/#include <opm\/input\/eclipse\/Parser\/Parser.hpp>/' ${pkgbase}-${pkgver}/dumux/io/grid/cpgridmanager.hh
- sed -i 's/#include <opm\/parser\/eclipse\/Parser\/ParseContext.hpp>/#include <opm\/input\/eclipse\/Parser\/ParseContext.hpp>/' ${pkgbase}-${pkgver}/dumux/io/grid/cpgridmanager.hh
- sed -i 's/#include <opm\/parser\/eclipse\/Deck\/Deck.hpp>/#include <opm\/input\/eclipse\/Deck\/Deck.hpp>/' ${pkgbase}-${pkgver}/dumux/io/grid/cpgridmanager.hh
- sed -i 's/#include <opm\/parser\/eclipse\/EclipseState\/EclipseState.hpp>/#include <opm\/input\/eclipse\/EclipseState\/EclipseState.hpp>/' ${pkgbase}-${pkgver}/dumux/io/grid/cpgridmanager.hh
+ cd ${pkgname}-${pkgver}
+ export _pyversion=$(python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')")
- sed -i 's/#include <opm\/parser\/eclipse\/Deck\/Deck.hpp>/#include <opm\/input\/eclipse\/Deck\/Deck.hpp>/' ${pkgbase}-${pkgver}/test/porousmediumflow/2p/cornerpoint/spatialparams.hh
- sed -i 's/getKeyword("PORO").getRawDoubleData()/getKeywordList("PORO").back()->getRawDoubleData()/' ${pkgbase}-${pkgver}/test/porousmediumflow/2p/cornerpoint/spatialparams.hh
- sed -i 's/getKeyword("PERMX").getRawDoubleData()/getKeywordList("PERMX").back()->getRawDoubleData()/' ${pkgbase}-${pkgver}/test/porousmediumflow/2p/cornerpoint/spatialparams.hh
- sed -i 's/getKeyword("PERMZ").getRawDoubleData()/getKeywordList("PERMZ").back()->getRawDoubleData()/' ${pkgbase}-${pkgver}/test/porousmediumflow/2p/cornerpoint/spatialparams.hh
- sed -i 's/^Version: '"${pkgver::3}"'-git/Version: '"${pkgver}"'/' ${pkgbase}-${pkgver}/dune.module
+ sed -i 's/#include <opm\/parser\/eclipse\/Parser\/Parser.hpp>/#include <opm\/input\/eclipse\/Parser\/Parser.hpp>/' dumux/io/grid/cpgridmanager.hh
+ sed -i 's/#include <opm\/parser\/eclipse\/Parser\/ParseContext.hpp>/#include <opm\/input\/eclipse\/Parser\/ParseContext.hpp>/' dumux/io/grid/cpgridmanager.hh
+ sed -i 's/#include <opm\/parser\/eclipse\/Deck\/Deck.hpp>/#include <opm\/input\/eclipse\/Deck\/Deck.hpp>/' dumux/io/grid/cpgridmanager.hh
+ sed -i 's/#include <opm\/parser\/eclipse\/EclipseState\/EclipseState.hpp>/#include <opm\/input\/eclipse\/EclipseState\/EclipseState.hpp>/' dumux/io/grid/cpgridmanager.hh
+
+ sed -i 's/#include <opm\/parser\/eclipse\/Deck\/Deck.hpp>/#include <opm\/input\/eclipse\/Deck\/Deck.hpp>/' test/porousmediumflow/2p/cornerpoint/spatialparams.hh
+ sed -i 's/getKeyword("PORO").getRawDoubleData()/getKeywordList("PORO").back()->getRawDoubleData()/' test/porousmediumflow/2p/cornerpoint/spatialparams.hh
+ sed -i 's/getKeyword("PERMX").getRawDoubleData()/getKeywordList("PERMX").back()->getRawDoubleData()/' test/porousmediumflow/2p/cornerpoint/spatialparams.hh
+ sed -i 's/getKeyword("PERMZ").getRawDoubleData()/getKeywordList("PERMZ").back()->getRawDoubleData()/' test/porousmediumflow/2p/cornerpoint/spatialparams.hh
+ sed -i 's/^Version: '"${pkgver%%.0}"'-git/Version: '"${pkgver}"'/' dune.module
+ python -m venv --system-site-packages _skbuild/linux-${CARCH}-${_pyversion}/cmake-build/dune-env
}
build() {
- cmake \
- -S ${pkgbase}-${pkgver} \
- -B build-cmake \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
+ cd ${pkgname}-${pkgver}
+
+ XDG_CACHE_HOME="${PWD}" \
+ python setup.py build \
+ --build-type=None \
+ -G 'Unix Makefiles' \
-DBUILD_SHARED_LIBS=TRUE \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_C_COMPILER=gcc \
-DCMAKE_CXX_COMPILER=g++ \
+ -DCMAKE_C_FLAGS='-Wall -fdiagnostics-color=always' \
+ -DCMAKE_CXX_FLAGS="-O2 -Wall -fdiagnostics-color=always -mavx" \
+ -DCMAKE_VERBOSE_MAKEFILE=ON \
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
+ -DALLOW_CXXFLAGS_OVERWRITE=ON \
+ -DCMAKE_DISABLE_FIND_PACKAGE_LATEX=FALSE \
+ -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=FALSE \
-DENABLE_HEADERCHECK=ON \
-DDUNE_ENABLE_PYTHONBINDINGS=ON \
- -DCMAKE_DISABLE_FIND_PACKAGE_Vc=TRUE \
- -Wno-dev
- cmake --build build-cmake --target all
- cd build-cmake/python
- python setup.py build
+ -DDUNE_PYTHON_INSTALL_LOCATION='none' \
+ -DDUNE_PYTHON_WHEELHOUSE="dist"
}
-package_dumux() {
- depends=("dune-grid>=${_dunever}" "dune-istl>=${_dunever}" "dune-localfunctions>=${_dunever}")
- DESTDIR="${pkgdir}" cmake --build build-cmake --target install
- install -Dm644 ${pkgbase}-${pkgver}/LICENSE.md "${pkgdir}/usr/share/licenses/${pkgbase}/LICENSE"
+package() {
+ cd ${pkgname}-${pkgver}
+ PYTHONPYCACHEPREFIX="${PWD}/.cache/cpython/" python setup.py --skip-cmake install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
+ install -Dm 644 LICENSE.md -t "${pkgdir}/usr/share/licenses/${pkgname}"
find "${pkgdir}" -type d -empty -delete
-}
-
-package_python-dumux() {
- depends=("dumux>=${pkgver}" "python-dune-common>=${_dunever}")
- pkgdesc+=" (python bindings)"
- cd build-cmake/python
- PYTHONPYCACHEPREFIX="${PWD}/.cache/cpython/" python setup.py install --prefix=/usr --root="${pkgdir}" --optimize=1 --skip-build
+ cd "${pkgdir}"
+ rm -r usr/python
}