tAdd support for petsc4py - petsc-git-PKGBUILD - build template for non-complex PETSC with petsc4py
 (HTM) git clone git://src.adamsgaard.dk/petsc-git-PKGBUILD
 (DIR) Log
 (DIR) Files
 (DIR) Refs
       ---
 (DIR) commit 9e588e9dcb2f1284e64a72619878342e58951ff1
 (DIR) parent c9778d69cd8056f3970c854218222ab91b146a5c
 (HTM) Author: Lucas Heitzmann Gabrielli <heitzmann@gmail.com>
       Date:   Wed,  3 Feb 2021 09:12:19 -0300
       
       Add support for petsc4py
       
       Diffstat:
         M .SRCINFO                            |       6 ++++--
         M PKGBUILD                            |      34 ++++++++++++++++++++++++++-----
       
       2 files changed, 33 insertions(+), 7 deletions(-)
       ---
 (DIR) diff --git a/.SRCINFO b/.SRCINFO
       t@@ -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
       t@@ -13,6 +13,7 @@ pkgbase = petsc-git
                makedepends = sowing
                makedepends = python
                makedepends = git
       +        makedepends = cython
                depends = openmpi
                depends = lapack
                depends = fftw
       t@@ -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
 (DIR) diff --git a/PKGBUILD b/PKGBUILD
       t@@ -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)"
       t@@ -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')
       t@@ -92,6 +91,7 @@ build() {
              --download-mumps=1
              --download-scalapack=1
              --download-hypre=1
       +      --download-petsc4py=1
            )
        
            CONFOPTS=( "${CONFOPTS[@]}" )
       t@@ -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"
        }