Author: Drew Parsons <dparsons@debian.org>
Description: enables demos to run
Forwarded: not-needed

Index: petsc4py/demo/makefile
===================================================================
--- petsc4py.orig/demo/legacy/makefile	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/makefile	2024-01-04 14:02:42.405208354 +0100
@@ -8,10 +8,17 @@
 	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C bratu2d
 	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C bratu3d
 	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C poisson2d
-	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C poisson3d
+#	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C poisson3d
+	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C perftest
+#	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C wrap-swig
+#	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C wrap-f2py
+
+all-mpi: petsc
+	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C binary-io
+	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C kspsolve
+	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C bratu3d
+	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C poisson2d
 	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C perftest
-	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C wrap-swig
-	-@PYTHONPATH=${PYTHONPATH:+$PYTHONPATH:}${PETSC_MPI4PY_PYTHONPATH} ${MAKE} -C wrap-f2py
 
 .PHONY:petsc
 petsc:
Index: petsc4py/demo/legacy/wrap-f2py/makefile
===================================================================
--- petsc4py.orig/demo/legacy/wrap-f2py/makefile	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/wrap-f2py/makefile	2024-01-04 14:02:42.405208354 +0100
@@ -28,7 +28,7 @@
 	${RM} -r build ${MODULE}module.c
 
 .PHONY:clean
-clean::
+clean:
 	${RM} ${MODULE}*.so
 	${RM} *.py[co]
 	${RM} -r __pycache__
Index: petsc4py/demo/legacy/wrap-swig/makefile
===================================================================
--- petsc4py.orig/demo/legacy/wrap-swig/makefile	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/wrap-swig/makefile	2024-01-04 14:02:42.405208354 +0100
@@ -17,7 +17,7 @@
 
 .PHONY:run
 run: build
-	${MPIEXEC} ${PYTHON} ${SCRIPT}.py
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} ${SCRIPT}.py
 
 ${MODULE}.py _${MODULE}.so: ${MODULE}.i ${MODULE}.c ${MODULE}.h
 	CC=${CC} F90=${FC} LDSHARED='${CLINKER} -shared' \
@@ -25,7 +25,7 @@
 	${RM} -r build ${MODULE}_wrap.c
 
 .PHONY:clean
-clean::
+clean:
 	${RM} ${MODULE}.py _${MODULE}*.so
 	${RM} *.py[co]
 	${RM} -r __pycache__
Index: petsc4py/demo/legacy/kspsolve/petsc-ksp.py
===================================================================
--- petsc4py.orig/demo/legacy/kspsolve/petsc-ksp.py	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/kspsolve/petsc-ksp.py	2024-01-04 14:02:42.405208354 +0100
@@ -4,7 +4,8 @@
 # use conjugate gradients
 ksp.setType('cg')
 # and incomplete Cholesky
-ksp.getPC().setType('icc')
+# (only for PETSc with complex number support)
+#ksp.getPC().setType('icc')
 # obtain sol & rhs vectors
 x, b = A.createVecs()
 x.set(0)
Index: petsc4py/demo/legacy/poisson3d/makefile.petsc
===================================================================
--- petsc4py.orig/demo/legacy/poisson3d/makefile.petsc	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/poisson3d/makefile.petsc	2024-01-04 14:02:42.405208354 +0100
@@ -16,8 +16,8 @@
 OBJSF=${SOURCEF:.f90=.o}
 
 ${EXECUTABLE}.exe: ${SOURCEC} ${SOURCEF} ${SOURCEH}
-	${PETSC_FCOMPILE}
-	${PETSC_COMPILE}
+	${FC} -c ${FC_FLAGS} ${FFLAGS} ${FCPPFLAGS}  ${SOURCEF}
+	${PCC} -c ${PCC_FLAGS} ${PFLAGS} ${CCPPFLAGS}  $(SOURCEC:%=`pwd`/%)
 	${CLINKER} -o $@ ${OBJSC} ${OBJSF} ${PETSC_TS_LIB}
 	${RM} ${OBJSC} ${OBJSF}
 
Index: petsc4py/demo/legacy/perftest/makefile.petsc
===================================================================
--- petsc4py.orig/demo/legacy/perftest/makefile.petsc	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/perftest/makefile.petsc	2024-01-04 14:02:42.405208354 +0100
@@ -16,7 +16,7 @@
 
 ${EXECUTABLE}.exe: ${SOURCEC} ${SOURCEF}
 	${FC} -o ${OBJSF} ${SOURCEF} -c ${FC_FLAGS} ${FFLAGS}
-	${CC} -o ${OBJSC} ${SOURCEC} -c ${CC_FLAGS} ${CFLAGS} ${CCPPFLAGS}
+	${PCC} -o ${OBJSC} ${SOURCEC} -c ${CC_FLAGS} ${CFLAGS} ${CCPPFLAGS}
 	${CLINKER} -o $@ ${OBJSC} ${OBJSF} ${PETSC_TS_LIB}
 	${RM} ${OBJSC} ${OBJSF}
 
Index: petsc4py/demo/legacy/binary-io/makefile
===================================================================
--- petsc4py.orig/demo/legacy/binary-io/makefile	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/binary-io/makefile	2024-01-04 14:02:42.405208354 +0100
@@ -11,7 +11,7 @@
 
 .PHONY:run
 run:
-	${MPIEXEC} ${PYTHON} matvecio.py
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} matvecio.py
 
 .PHONY:clean
 clean:
Index: petsc4py/demo/legacy/bratu2d/makefile
===================================================================
--- petsc4py.orig/demo/legacy/bratu2d/makefile	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/bratu2d/makefile	2024-01-04 14:02:42.405208354 +0100
@@ -20,7 +20,7 @@
 
 .PHONY:run_py
 run_py:
-	${MPIEXEC} ${PYTHON} bratu2d.py -impl python
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} bratu2d.py -impl python
 
 MODULE=bratu2df90
 .PHONY:${MODULE}
@@ -30,7 +30,7 @@
 
 .PHONY:run_f90
 run_f90: ${MODULE}
-	${MPIEXEC} ${PYTHON} bratu2d.py -impl fortran
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} bratu2d.py -impl fortran
 
 .PHONY:clean
 clean:
Index: petsc4py/demo/legacy/bratu3d/makefile
===================================================================
--- petsc4py.orig/demo/legacy/bratu3d/makefile	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/bratu3d/makefile	2024-01-04 14:02:42.405208354 +0100
@@ -14,11 +14,11 @@
 
 .PHONY:run_fd
 run_fd:
-	${MPIEXEC} ${PYTHON} bratu3d.py -fd -nx 7 -ny 8 -nz 9
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} bratu3d.py -fd -nx 7 -ny 8 -nz 9
 
 .PHONY:run_mf
 run_mf:
-	${MPIEXEC} ${PYTHON} bratu3d.py -mf -nx 9 -ny 8 -nz 7
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} bratu3d.py -mf -nx 9 -ny 8 -nz 7
 
 .PHONY:clean
 clean:
Index: petsc4py/demo/legacy/kspsolve/makefile
===================================================================
--- petsc4py.orig/demo/legacy/kspsolve/makefile	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/kspsolve/makefile	2024-01-04 14:02:42.405208354 +0100
@@ -15,12 +15,12 @@
 SCRIPT1=test_mat_cg
 .PHONY:run_1
 run_1:
-	${MPIEXEC} ${PYTHON} ${SCRIPT1}.py
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} ${SCRIPT1}.py
 
 SCRIPT2= test_mat_ksp
 .PHONY:run_2
 run_2:
-	${MPIEXEC} ${PYTHON} ${SCRIPT2}.py
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} ${SCRIPT2}.py
 
 .PHONY:clean
 clean:
Index: petsc4py/demo/legacy/perftest/makefile
===================================================================
--- petsc4py.orig/demo/legacy/perftest/makefile	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/perftest/makefile	2024-01-04 14:02:42.405208354 +0100
@@ -16,12 +16,12 @@
 MODULE=App
 .PHONY:run_py
 run_py: ${MODULE}.so
-	${MPIEXEC} ${PYTHON} ${SCRIPT}.py
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} ${SCRIPT}.py
 
 EXECUTABLE=driver
 .PHONY:run_cc
 run_cc: ${EXECUTABLE}.exe
-	${MPIEXEC} ./${EXECUTABLE}.exe
+	${MPIEXEC} ${MPIEXEC_FLAGS} ./${EXECUTABLE}.exe
 
 ${MODULE}.so:
 	${MAKE} -f makefile.f2py
Index: petsc4py/demo/legacy/petsc-examples/ksp/makefile
===================================================================
--- petsc4py.orig/demo/legacy/petsc-examples/ksp/makefile	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/petsc-examples/ksp/makefile	2024-01-04 14:02:42.405208354 +0100
@@ -1,6 +1,7 @@
 # -*- makefile -*-
 
-MPIEXEC=mpiexec -n 2
+MPIEXEC=mpiexec
+MPIEXEC_FLAGS=-n 2
 PYTHON=python3
 
 -include ../../../../../../petscdir.mk
@@ -12,4 +13,4 @@
 
 $(scripts):
 	${PYTHON} $@.py
-	${MPIEXEC} ${PYTHON} $@.py
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} $@.py
Index: petsc4py/demo/legacy/poisson3d/makefile
===================================================================
--- petsc4py.orig/demo/legacy/poisson3d/makefile	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/poisson3d/makefile	2024-01-04 14:02:42.405208354 +0100
@@ -21,7 +21,7 @@
 MODULE=del2lib
 .PHONY:run_py
 run_py: ${MODULE}.so
-	${MPIEXEC} ${PYTHON} ${SCRIPT}.py
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} ${SCRIPT}.py
 
 ${MODULE}.so: ${MODULE}.f90
 	${F2PY} ${F2PY_FLAGS} -c $< -m ${MODULE}
@@ -29,7 +29,7 @@
 EXECUTABLE=poisson3d
 .PHONY:run_cc
 run_cc: ${EXECUTABLE}.exe
-	${MPIEXEC} ./${EXECUTABLE}.exe
+	${MPIEXEC} ${MPIEXEC_FLAGS} ./${EXECUTABLE}.exe
 
 ${EXECUTABLE}.exe:
 	${MAKE} -f makefile.petsc \
Index: petsc4py/demo/legacy/wrap-cython/makefile
===================================================================
--- petsc4py.orig/demo/legacy/wrap-cython/makefile	2024-01-04 14:02:42.409208395 +0100
+++ petsc4py/demo/legacy/wrap-cython/makefile	2024-01-04 14:02:42.405208354 +0100
@@ -17,7 +17,7 @@
 
 .PHONY:run
 run: build
-	${MPIEXEC} ${PYTHON} ${SCRIPT}.py
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} ${SCRIPT}.py
 
 ${MODULE}.so: ${MODULE}.pyx ${MODULE}impl.h ${MODULE}impl.c
 	CC=${CC} F90=${FC} \
Index: petsc4py/demo/legacy/poisson2d/makefile
===================================================================
--- petsc4py.orig/demo/legacy/poisson2d/makefile	2024-01-04 14:02:32.865110757 +0100
+++ petsc4py/demo/legacy/poisson2d/makefile	2024-01-04 14:02:54.865335436 +0100
@@ -11,7 +11,7 @@
 
 .PHONY:run
 run:
-	${MPIEXEC} ${PYTHON} poisson2d.py -nx 15 -ny 16
+	${MPIEXEC} ${MPIEXEC_FLAGS} ${PYTHON} poisson2d.py -nx 15 -ny 16
 
 .PHONY:clean
 clean:
