petsc-git-PKGBUILD

build template for non-complex PETSC with petsc4py
git clone git://src.adamsgaard.dk/petsc-git-PKGBUILD # fast
git clone https://src.adamsgaard.dk/petsc-git-PKGBUILD.git # slow
Log | Files | Refs Back to index

commit 9e588e9dcb2f1284e64a72619878342e58951ff1
parent c9778d69cd8056f3970c854218222ab91b146a5c
Author: Lucas Heitzmann Gabrielli <heitzmann@gmail.com>
Date:   Wed,  3 Feb 2021 09:12:19 -0300

Add support for petsc4py

Diffstat:
M.SRCINFO | 6++++--
MPKGBUILD | 34+++++++++++++++++++++++++++++-----
2 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/.SRCINFO b/.SRCINFO @@ -1,6 +1,6 @@ pkgbase = petsc-git pkgdesc = Portable, extensible toolkit for scientific computation (external downloads enabled) - pkgver = 20201018 + pkgver = 20210203 pkgrel = 1 url = https://gitlab.com/petsc/petsc install = petsc.install @@ -13,6 +13,7 @@ pkgbase = petsc-git makedepends = sowing makedepends = python makedepends = git + makedepends = cython depends = openmpi depends = lapack depends = fftw @@ -22,13 +23,14 @@ pkgbase = petsc-git depends = parmetis depends = superlu depends = eigen + depends = cython + depends = python-mpi4py optdepends = opencl: GPU computing optdepends = hwloc: hardware locality optdepends = cgns: CFD data support optdepends = libpng: PNG support optdepends = libyaml: YAML configuration support optdepends = libx11: GUI tools - optdepends = python: Tools, examples, tutorials provides = petsc conflicts = petsc source = petsc::git+https://gitlab.com/petsc/petsc.git#branch=release diff --git a/PKGBUILD b/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: Lucas H. Gabrielli <heitzmann@gmail.com> pkgname=petsc-git -pkgver=20201018 +pkgver=20210203 pkgrel=1 _config=linux-c-opt pkgdesc="Portable, extensible toolkit for scientific computation (external downloads enabled)" @@ -10,15 +10,14 @@ conflicts=(petsc) arch=('i686' 'x86_64') url="https://gitlab.com/petsc/petsc" license=('BSD') -depends=('openmpi' 'lapack' 'fftw' 'hdf5' 'suitesparse' 'metis' 'parmetis' 'superlu' 'eigen') -makedepends=('gcc' 'gcc-fortran' 'cmake' 'sowing' 'python' 'git') +depends=('openmpi' 'lapack' 'fftw' 'hdf5' 'suitesparse' 'metis' 'parmetis' 'superlu' 'eigen' 'cython' 'python-mpi4py') +makedepends=('gcc' 'gcc-fortran' 'cmake' 'sowing' 'python' 'git' 'cython') optdepends=("opencl: GPU computing" "hwloc: hardware locality" "cgns: CFD data support" "libpng: PNG support" "libyaml: YAML configuration support" - "libx11: GUI tools" - "python: Tools, examples, tutorials") + "libx11: GUI tools") install=petsc.install source=(petsc::git+https://gitlab.com/petsc/petsc.git#branch=release) sha256sums=('SKIP') @@ -92,6 +91,7 @@ build() { --download-mumps=1 --download-scalapack=1 --download-hypre=1 + --download-petsc4py=1 ) CONFOPTS=( "${CONFOPTS[@]}" ) @@ -169,4 +169,28 @@ package() { sed -i "s#${_rem_dir}#${_install_dir}#g" "${pkgdir}${_install_dir}/lib/petsc/conf/pkg.conf.mumps" sed -i "s#${_rem_dir}#${_install_dir}#g" "${pkgdir}${_install_dir}/lib/petsc/conf/pkg.conf.hypre" sed -i "s#${_rem_dir}#${_install_dir}#g" "${pkgdir}${_install_dir}/lib/petsc/conf/petscvariables" + + # install petsc4py + _python_package="${pkgdir}/usr/lib/python3.9/site-packages" + install -Dm 644 "${_rem_dir}/lib/petsc4py-3.14.1-py3.9.egg-info/PKG-INFO" "${_python_package}/petsc4py-3.14.1-py3.9.egg-info/PKG-INFO" + install -Dm 644 "${_rem_dir}/lib/petsc4py-3.14.1-py3.9.egg-info/SOURCES.txt" "${_python_package}/petsc4py-3.14.1-py3.9.egg-info/SOURCES.txt" + install -Dm 644 "${_rem_dir}/lib/petsc4py-3.14.1-py3.9.egg-info/dependency_links.txt" "${_python_package}/petsc4py-3.14.1-py3.9.egg-info/dependency_links.txt" + install -Dm 644 "${_rem_dir}/lib/petsc4py-3.14.1-py3.9.egg-info/not-zip-safe" "${_python_package}/petsc4py-3.14.1-py3.9.egg-info/not-zip-safe" + install -Dm 644 "${_rem_dir}/lib/petsc4py-3.14.1-py3.9.egg-info/requires.txt" "${_python_package}/petsc4py-3.14.1-py3.9.egg-info/requires.txt" + install -Dm 644 "${_rem_dir}/lib/petsc4py-3.14.1-py3.9.egg-info/top_level.txt" "${_python_package}/petsc4py-3.14.1-py3.9.egg-info/top_level.txt" + install -Dm 644 "${_rem_dir}/lib/petsc4py/__init__.py" "${_python_package}/petsc4py/__init__.py" + install -Dm 644 "${_rem_dir}/lib/petsc4py/__main__.py" "${_python_package}/petsc4py/__main__.py" + install -Dm 644 "${_rem_dir}/lib/petsc4py/PETSc.pxd" "${_python_package}/petsc4py/PETSc.pxd" + install -Dm 644 "${_rem_dir}/lib/petsc4py/PETSc.py" "${_python_package}/petsc4py/PETSc.py" + install -Dm 644 "${_rem_dir}/lib/petsc4py/include/petsc4py/__init__.pxd" "${_python_package}/petsc4py/include/petsc4py/__init__.pxd" + install -Dm 644 "${_rem_dir}/lib/petsc4py/include/petsc4py/__init__.pyx" "${_python_package}/petsc4py/include/petsc4py/__init__.pyx" + install -Dm 644 "${_rem_dir}/lib/petsc4py/include/petsc4py/numpy.h" "${_python_package}/petsc4py/include/petsc4py/numpy.h" + install -Dm 644 "${_rem_dir}/lib/petsc4py/include/petsc4py/petsc4py.h" "${_python_package}/petsc4py/include/petsc4py/petsc4py.h" + install -Dm 644 "${_rem_dir}/lib/petsc4py/include/petsc4py/petsc4py.i" "${_python_package}/petsc4py/include/petsc4py/petsc4py.i" + install -Dm 644 "${_rem_dir}/lib/petsc4py/include/petsc4py/petsc4py.PETSc_api.h" "${_python_package}/petsc4py/include/petsc4py/petsc4py.PETSc_api.h" + install -Dm 644 "${_rem_dir}/lib/petsc4py/include/petsc4py/petsc4py.PETSc.h" "${_python_package}/petsc4py/include/petsc4py/petsc4py.PETSc.h" + install -Dm 644 "${_rem_dir}/lib/petsc4py/include/petsc4py/PETSc.pxd" "${_python_package}/petsc4py/include/petsc4py/PETSc.pxd" + install -Dm 644 "${_rem_dir}/lib/petsc4py/lib/__init__.py" "${_python_package}/petsc4py/lib/__init__.py" + install -Dm 644 "${_rem_dir}/lib/petsc4py/lib/petsc.cfg" "${_python_package}/petsc4py/lib/petsc.cfg" + install -Dm 755 "${_rem_dir}/lib/petsc4py/lib/PETSc.cpython-39-x86_64-linux-gnu.so" "${_python_package}/petsc4py/lib/PETSc.cpython-39-x86_64-linux-gnu.so" }