From nobody Sat Apr 23 16:42:09 2022 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 88D72199D077; Sat, 23 Apr 2022 16:42:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Klxrd3JNhz3QmF; Sat, 23 Apr 2022 16:42:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1650732129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GTDB5egics4qm2m5OJ1TkzhVRWWF51uQwB0hBpLwxQw=; b=jD5Ntrt+4T1ZrS5pt2Bi37VQUDBFtkHWPlzGJlpz9DbgpdzPyInbjdDbyhmeU49idfnlpB Df7XbscjDmZqk16MOMz5M7QmZTbMVygiHKmqASMLXUCxxjffqVoGBYjcMdbYMsPusz9R10 q9xM7yyb8aCDKxKUL1xYcqRatnaXg2CKY/vBVonAcXPCzSLOJVyvVjGTrwSfNqUvhT+QAr Q9sHKWQlhIP+nBDrgxHQd4yuKgQfBBzcuWdSwrQQgqRrM8Z6qTHjDKOinSuInXurMHCQ+y EIdVaSEw6Zf21h/aUFVrpZZue5F79QX7ZNwsJyvA8FIfIAQZsIg9XWwuPZGoXQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4FFF4156EF; Sat, 23 Apr 2022 16:42:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 23NGg9Yw036051; Sat, 23 Apr 2022 16:42:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 23NGg9n3036042; Sat, 23 Apr 2022 16:42:09 GMT (envelope-from git) Date: Sat, 23 Apr 2022 16:42:09 GMT Message-Id: <202204231642.23NGg9n3036042@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Thierry Thomas Subject: git: 09d882192d28 - main - science/pastix: adding PaStiX, a sparse direct solver List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: thierry X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 09d882192d28914c254493309c1224c09c94b67b Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1650732129; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=GTDB5egics4qm2m5OJ1TkzhVRWWF51uQwB0hBpLwxQw=; b=NAtjIJ4dO/nd2CFcIpPw+9p8rs3BjWPf4odglUwS/zzv+DajvdfgBew/Sg9SMes+/OdFJI LlW2hjSKKqCBJlqSmN0hHCs32E5HBgq5OZDJXk/GwCy2e61G83M02NxwDVXsAqrmF0YEp9 I34lAi+hXBDYaM70WNQHp4JgyXqRZMk3dfrluQ2karE+s07bYUte8wzmX0qNE3poUHRHfY bjP39RL3ybDFN1pFJXncyJRGqUqT1MhMkF80DpIEhQUj5CWs2DS1TT+qMk7LCY8nEUq6U8 CdTsI0Pt1JypzmJwLkQKNR2E1EDlcfLqWqjfnj8WsLQEb+JwDDsRmpszl9vxwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1650732129; a=rsa-sha256; cv=none; b=CUoN/Nbm15N88y/5zd9R5+yKcdlcMaFPg2dnKN5th/uan0ewZZ2iSKWWZ/bUm8R58Ro8VO s61ljwg7opJ0P4X15xdfwBXh603a05HvElrBG0qgelg7HrMvNf+qDiSU+Ow9ePCxPgc8VC LvrEy2sftxBil6GTNQiQMHbBa2aUqkT445xP/wni9A4asOShXn85aSG3KQmvoXIb8iM94j ANy+nUjp9CKEVEVzKmm4yORf1EqT02F91im2SsthIDMwoTsuLp+WZ1cElkTlgh/k07sMki r1MoyxBK0+TOMAJLGf3wc5AFU8hHOBQ6OibKNiWpyts0gWjbnrW7XBF5s1ptCQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by thierry: URL: https://cgit.FreeBSD.org/ports/commit/?id=09d882192d28914c254493309c1224c09c94b67b commit 09d882192d28914c254493309c1224c09c94b67b Author: Thierry Thomas AuthorDate: 2022-04-23 16:23:45 +0000 Commit: Thierry Thomas CommitDate: 2022-04-23 16:41:10 +0000 science/pastix: adding PaStiX, a sparse direct solver Requested by: pfg --- science/Makefile | 1 + science/pastix/Makefile | 49 ++++++ science/pastix/distinfo | 7 + ..._cmake_modules_find_LibrariesAbsolutePath.cmake | 18 +++ science/pastix/pkg-descr | 9 ++ science/pastix/pkg-plist | 173 +++++++++++++++++++++ 6 files changed, 257 insertions(+) diff --git a/science/Makefile b/science/Makefile index 27aa2234236c..19c165fea154 100644 --- a/science/Makefile +++ b/science/Makefile @@ -231,6 +231,7 @@ SUBDIR += packmol SUBDIR += pagmo2 SUBDIR += paje + SUBDIR += pastix SUBDIR += pcmsolver SUBDIR += phonopy SUBDIR += plumed diff --git a/science/pastix/Makefile b/science/pastix/Makefile new file mode 100644 index 000000000000..5f7ff4300b0c --- /dev/null +++ b/science/pastix/Makefile @@ -0,0 +1,49 @@ +# Created by: thierry@pompo.net + +PORTNAME= pastix +PORTVERSION= 6.2.1 +DISTVERSIONPREFIX= v +CATEGORIES= science + +MAINTAINER= thierry@FreeBSD.org +COMMENT= PaStiX: a sparse direct solver + +LICENSE= LGPL3 + +BUILD_DEPENDS= bash:shells/bash \ + ${PYNUMPY} +LIB_DEPENDS= libcblas.so:math/cblas \ + libmetis.so:math/metis \ + libscotch.so:cad/scotch \ + liblapacke.so:math/lapacke \ + libhwloc.so:devel/hwloc2 +RUN_DEPENDS= bash:shells/bash \ + ${PYNUMPY} + +USES= cmake blaslapack:openblas fortran pkgconfig python + +USE_GITLAB= yes +GL_SITE= https://gitlab.inria.fr/ +GL_ACCOUNT= solverstack +GL_PROJECT= pastix spm:s morse_cmake:m +GL_COMMIT= 071d5ae165c744ec3e62f5bdd246b12f8fa90662 \ + ebbd88ff3808c50e04119d0b42faf055c6eada2a:s \ + 31cd2bbb0d76f2b9fd83011d8f079d97540b0ba8:m +GL_SUBDIR= spm:s cmake_modules/morse_cmake:m + +CMAKE_ARGS= -DBUILD_SHARED_LIBS:BOOL=ON \ + -DPASTIX_ORDERING_METIS:BOOL=ON +USE_LDCONFIG= yes +TEST_TARGET= test + +OPTIONS_DEFINE= EXAMPLES +EX2FIX= example spm/examples spm/wrappers/fortran90 spm/wrappers/python \ + wrappers/fortran90 wrappers/python example/old + +pre-configure: +.for ex in ${EX2FIX} + ${REINPLACE_CMD} -e 's|DESTINATION examples|DESTINATION ${EXAMPLESDIR}/${ex:C/examples//:C/example//}|' \ + ${WRKSRC}/${ex}/CMakeLists.txt +.endfor + +.include diff --git a/science/pastix/distinfo b/science/pastix/distinfo new file mode 100644 index 000000000000..f80ef2007e9e --- /dev/null +++ b/science/pastix/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1650640815 +SHA256 (solverstack-pastix-071d5ae165c744ec3e62f5bdd246b12f8fa90662_GL0.tar.gz) = c712f41d0dc2881fe9f8d91908b7d7e8a30d496fb60680992dd01a0cf06b288c +SIZE (solverstack-pastix-071d5ae165c744ec3e62f5bdd246b12f8fa90662_GL0.tar.gz) = 1116421 +SHA256 (solverstack-spm-ebbd88ff3808c50e04119d0b42faf055c6eada2a_GL0.tar.gz) = bf744fc2dca9691f03a25585d7f304d230401a50649d93b9ef2d95b432bf44a6 +SIZE (solverstack-spm-ebbd88ff3808c50e04119d0b42faf055c6eada2a_GL0.tar.gz) = 698306 +SHA256 (solverstack-morse_cmake-31cd2bbb0d76f2b9fd83011d8f079d97540b0ba8_GL0.tar.gz) = b1bc4e97dece9260667409fa238798caf738e30a655a3c53ddf7a94163240329 +SIZE (solverstack-morse_cmake-31cd2bbb0d76f2b9fd83011d8f079d97540b0ba8_GL0.tar.gz) = 77602 diff --git a/science/pastix/files/patch-cmake__modules_morse__cmake_modules_find_LibrariesAbsolutePath.cmake b/science/pastix/files/patch-cmake__modules_morse__cmake_modules_find_LibrariesAbsolutePath.cmake new file mode 100644 index 000000000000..2a28d0d2cd71 --- /dev/null +++ b/science/pastix/files/patch-cmake__modules_morse__cmake_modules_find_LibrariesAbsolutePath.cmake @@ -0,0 +1,18 @@ +--- cmake_modules/morse_cmake/modules/find/LibrariesAbsolutePath.cmake.orig 2021-06-14 12:08:21 UTC ++++ cmake_modules/morse_cmake/modules/find/LibrariesAbsolutePath.cmake +@@ -55,6 +55,7 @@ macro(LIBRARIES_ABSOLUTE_PATH lib_list hints_paths) + endif() + endif() + ++ if (NOT ${_library} STREQUAL "-pthread") + # try to find the lib + find_library(_library_path + NAMES ${_library} +@@ -66,6 +67,7 @@ macro(LIBRARIES_ABSOLUTE_PATH lib_list hints_paths) + message(FATAL_ERROR "Dependency of ${lib_list} '${_library}' NOT FOUND") + endif() + unset(_library_path CACHE) ++ endif() + endif() + endforeach() + endmacro() diff --git a/science/pastix/pkg-descr b/science/pastix/pkg-descr new file mode 100644 index 000000000000..8f4702677f92 --- /dev/null +++ b/science/pastix/pkg-descr @@ -0,0 +1,9 @@ +PaStiX (Parallel Sparse matriX package) is a scientific library that provides a +high performance parallel solver for very large sparse linear systems based on +direct methods. Numerical algorithms are implemented in single or double +precision (real or complex) using LLt, LDLt and LU with static pivoting (for non +symmetric matrices having a symmetric pattern). This solver also provides some +low-rank compression methods to reduce the memory footprint and/or the +time-to-solution. + +WWW: https://solverstack.gitlabpages.inria.fr/pastix/ diff --git a/science/pastix/pkg-plist b/science/pastix/pkg-plist new file mode 100644 index 000000000000..837d299c6b6d --- /dev/null +++ b/science/pastix/pkg-plist @@ -0,0 +1,173 @@ +bin/pastix_env.sh +include/pastix.h +include/pastix/api.h +include/pastix/cblas.h +include/pastix/config.h +include/pastix/datatypes.h +include/pastix/graph.h +include/pastix/lapacke.h +include/pastix/old_api.h +include/pastix/order.h +include/pastix_enums.mod +include/pastixf.mod +include/spm.h +include/spm/c_spm.h +include/spm/config.h +include/spm/const.h +include/spm/d_spm.h +include/spm/datatypes.h +include/spm/mpi.h +include/spm/p_spm.h +include/spm/s_spm.h +include/spm/z_spm.h +include/spm_enums.mod +include/spmf.mod +lib/cmake/pastix/PASTIXConfig.cmake +lib/cmake/pastix/PASTIXConfigVersion.cmake +lib/cmake/pastix/find/FindBLASEXT.cmake +lib/cmake/pastix/find/FindCBLAS.cmake +lib/cmake/pastix/find/FindEZTRACE.cmake +lib/cmake/pastix/find/FindGTG.cmake +lib/cmake/pastix/find/FindHWLOC.cmake +lib/cmake/pastix/find/FindHeadersAndLibs.cmake +lib/cmake/pastix/find/FindLAPACKE.cmake +lib/cmake/pastix/find/FindLAPACKEXT.cmake +lib/cmake/pastix/find/FindLITL.cmake +lib/cmake/pastix/find/FindM.cmake +lib/cmake/pastix/find/FindMETIS.cmake +lib/cmake/pastix/find/FindMorseCommon.cmake +lib/cmake/pastix/find/FindMorseInit.cmake +lib/cmake/pastix/find/FindPARMETIS.cmake +lib/cmake/pastix/find/FindPARSEC.cmake +lib/cmake/pastix/find/FindPTSCOTCH.cmake +lib/cmake/pastix/find/FindSCOTCH.cmake +lib/cmake/pastix/find/FindSTARPU.cmake +lib/cmake/pastix/find/FindTMG.cmake +lib/cmake/pastix/find/LibrariesAbsolutePath.cmake +lib/cmake/pastix/find/MORSE-Copyright.txt +lib/cmake/pastix/find/ParseArguments.cmake +lib/cmake/pastix/find/PrintFindStatus.cmake +lib/cmake/pastix/pastixTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/pastix/pastixTargets.cmake +lib/cmake/pastix/pastix_kernelsTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/pastix/pastix_kernelsTargets.cmake +lib/cmake/pastix/pastixfTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/pastix/pastixfTargets.cmake +lib/cmake/spm/SPMConfig.cmake +lib/cmake/spm/SPMConfigVersion.cmake +lib/cmake/spm/find/FindCBLAS.cmake +lib/cmake/spm/find/FindHeadersAndLibs.cmake +lib/cmake/spm/find/FindLAPACKE.cmake +lib/cmake/spm/find/FindM.cmake +lib/cmake/spm/find/FindMorseCommon.cmake +lib/cmake/spm/find/FindMorseInit.cmake +lib/cmake/spm/find/FindSCOTCH.cmake +lib/cmake/spm/find/LibrariesAbsolutePath.cmake +lib/cmake/spm/find/MORSE-Copyright.txt +lib/cmake/spm/find/ParseArguments.cmake +lib/cmake/spm/find/PrintFindStatus.cmake +lib/cmake/spm/spmTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/spm/spmTargets.cmake +lib/cmake/spm/spmfTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/spm/spmfTargets.cmake +lib/julia/PaStiX/Project.toml +lib/julia/PaStiX/examples/schur.jl +lib/julia/PaStiX/examples/simple.jl +lib/julia/PaStiX/examples/step-by-step.jl +lib/julia/PaStiX/src/PaStiX.jl +lib/julia/PaStiX/src/pastix_enums.jl +lib/julia/spm/Project.toml +lib/julia/spm/examples/spm_driver.jl +lib/julia/spm/examples/spm_user.jl +lib/julia/spm/src/spm.jl +lib/julia/spm/src/spm_enums.jl +lib/libpastix.so +lib/libpastix.so.6.2 +lib/libpastix.so.6.2.1 +lib/libpastix_kernels.so +lib/libpastixf.so +lib/libpastixf.so.6 +lib/libpastixf.so.6.2.1 +lib/libspm.so +lib/libspm.so.1 +lib/libspm.so.1.1.0 +lib/libspmf.so +lib/libspmf.so.1 +lib/libspmf.so.1.1.0 +lib/python/pypastix/__init__.py +lib/python/pypastix/__pastix__.py +lib/python/pypastix/enum.py +lib/python/pypastix/pastix.py +lib/python/pypastix/solver.py +lib/python/spm/__init__.py +lib/python/spm/__spm__.py +lib/python/spm/enum.py +lib/python/spm/spm.py +libdata/pkgconfig/pastix.pc +libdata/pkgconfig/pastixf.pc +libdata/pkgconfig/spm.pc +libdata/pkgconfig/spmf.pc +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/Makefile +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/analyze +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/analyze.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/bench_facto +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/bench_facto.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/compress +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/compress.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/multidof +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/multidof.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/old/old/Makefile +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/old/old/old_simple +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/old/old/old_step-by-step +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/old/old/simple.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/old/old/step-by-step.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/personal +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/personal.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/reentrant +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/reentrant.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/refinement +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/refinement.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/schur +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/schur.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple_dist +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple_dist.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple_trans +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/simple_trans.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/Makefile +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_drivers +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_drivers.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_lap1 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_lap1.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_lap2 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_lap2.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_mdof1 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_mdof1.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_mdof2 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/example_mdof2.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/wrappers/fortran90/spmf_driver +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/wrappers/fortran90/spmf_driver.F90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/wrappers/fortran90/spmf_user +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/wrappers/fortran90/spmf_user.F90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/wrappers/python/spm_driver.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/spm/wrappers/python/spm_scipy.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/step-by-step +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/step-by-step.c +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/fortran90/flaplacian +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/fortran90/flaplacian.f90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/fortran90/fmultidof +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/fortran90/fmultidof.f90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/fortran90/fmultilap +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/fortran90/fmultilap.f90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/fortran90/fsimple +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/fortran90/fsimple.f90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/fortran90/fstep-by-step +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/fortran90/fstep-by-step.f90 +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/fortran90/test_mt.in +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/fortran90/test_seq.in +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/python/python/schur.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/python/python/schur_obj.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/python/python/simple.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/python/python/simple_obj.py +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/wrappers/python/python/step-by-step.py