summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAtsushi Hori <ahori@me.com>2022-08-24 18:35:08 +0900
committerGitHub <noreply@github.com>2022-08-24 11:35:08 +0200
commit14e99a1a5d27221d4a997dadeeacc7a519fa485a (patch)
treecfd47f6a76b4c692620a4da7cf8002fce10d9bf8 /var
parente2468c89288f1312ae058949918f4a9c70bd5901 (diff)
downloadspack-14e99a1a5d27221d4a997dadeeacc7a519fa485a.tar.gz
spack-14e99a1a5d27221d4a997dadeeacc7a519fa485a.tar.bz2
spack-14e99a1a5d27221d4a997dadeeacc7a519fa485a.tar.xz
spack-14e99a1a5d27221d4a997dadeeacc7a519fa485a.zip
process-in-process: overhaul package recipe (#32347)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/process-in-process/package.py252
1 files changed, 134 insertions, 118 deletions
diff --git a/var/spack/repos/builtin/packages/process-in-process/package.py b/var/spack/repos/builtin/packages/process-in-process/package.py
index 3e480d8b9a..458c3d7be3 100644
--- a/var/spack/repos/builtin/packages/process-in-process/package.py
+++ b/var/spack/repos/builtin/packages/process-in-process/package.py
@@ -9,14 +9,25 @@ from spack.package import *
class ProcessInProcess(Package):
"""Process-in-Process"""
- homepage = "https://github.com/RIKEN-SysSoft/PiP"
- git = "https://github.com/RIKEN-SysSoft/PiP.git"
+ # we cannot install pip-gdb (pip-aware gdb)
+ # since the ncureses package cannot be installed by using Spack
+ # --> https://github.com/spack/spack/issues/8675
+ variant("pipgdb", default=False, sticky=True, description="PiP-gdb")
+
+ homepage = "https://github.com/procinproc/procinproc.github.io"
+ git = "https://github.com/procinproc/PiP.git"
maintainers = ["ahori"]
+ conflicts("platform=darwin", msg="Darwin is not supported.")
+ conflicts("platform=windows", msg="Windows is not supported.")
+
# PiP version 1 is obsolete
+ version("1", branch="pip-1", deprecated=True)
+ # PiP version 2 is stable one
version("2", branch="pip-2", preferred=True)
- version("3", branch="pip-3") # experimental
+ # PiP version 3 is experimental and unstable yet
+ version("3", branch="pip-3", deprecated=True)
conflicts("%gcc@:3", when="os=centos7")
conflicts("%gcc@5:", when="os=centos7")
@@ -28,22 +39,26 @@ class ProcessInProcess(Package):
conflicts("%gcc@9:", when="os=rhel8")
# packages required for building PiP-gdb
- depends_on("texinfo", type="build")
- depends_on("systemtap")
+ with when("+pipgdb"):
+ depends_on("ncurses")
+ depends_on("texinfo")
+ depends_on("systemtap")
+ depends_on("libxml2")
+ depends_on("pigz")
# resources for PiP version 2
# PiP-glibc resource
# for rhel/centos 7
resource(
name="PiP-glibc",
- git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
+ git="https://github.com/procinproc/PiP-glibc.git",
branch="centos/glibc-2.17-260.el7.pip.branch",
destination="PiP-glibc",
when="@2 os=centos7",
)
resource(
name="PiP-glibc",
- git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
+ git="https://github.com/procinproc/PiP-glibc.git",
branch="centos/glibc-2.17-260.el7.pip.branch",
destination="PiP-glibc",
when="@2 os=rhel7",
@@ -51,133 +66,135 @@ class ProcessInProcess(Package):
# for rhel/centos 8
resource(
name="PiP-glibc",
- git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
+ git="https://github.com/procinproc/PiP-glibc.git",
branch="centos/glibc-2.28-72.el8_1.1.pip.branch",
destination="PiP-glibc",
when="@2 os=centos8",
)
resource(
name="PiP-glibc",
- git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
+ git="https://github.com/procinproc/PiP-glibc.git",
branch="centos/glibc-2.28-72.el8_1.1.pip.branch",
destination="PiP-glibc",
when="@2 os=rhel8",
)
- # PiP-gdb resource
- # for rhel/centos 7
- resource(
- name="PiP-gdb",
- git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
- branch="centos/gdb-7.6.1-94.el7.pip.branch",
- destination="PiP-gdb",
- when="@2 os=centos7",
- )
- resource(
- name="PiP-gdb",
- git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
- branch="centos/gdb-7.6.1-94.el7.pip.branch",
- destination="PiP-gdb",
- when="@2 os=rhel7",
- )
- # for rhel/centos 8
- resource(
- name="PiP-gdb",
- git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
- branch="centos/gdb-8.2-12.el8.pip.branch",
- destination="PiP-gdb",
- when="@2 os=centos8",
- )
- resource(
- name="PiP-gdb",
- git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
- branch="centos/gdb-8.2-12.el8.pip.branch",
- destination="PiP-gdb",
- when="@2 os=rhel8",
- )
-
- # resources for PiP version 3
- # PiP-glibc resource
- # for rhel/centos 7
- resource(
- name="PiP-glibc",
- git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
- branch="centos/glibc-2.17-260.el7.pip.branch",
- destination="PiP-glibc",
- when="@3 os=centos7",
- )
- resource(
- name="PiP-glibc",
- git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
- branch="centos/glibc-2.17-260.el7.pip.branch",
- destination="PiP-glibc",
- when="@3 os=rhel7",
- )
- # for rhel/centos 8
- resource(
- name="PiP-glibc",
- git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
- branch="centos/glibc-2.28-72.el8_1.1.pip.branch",
- destination="PiP-glibc",
- when="@3 os=centos8",
- )
- resource(
- name="PiP-glibc",
- git="https://github.com/RIKEN-SysSoft/PiP-glibc.git",
- branch="centos/glibc-2.28-72.el8_1.1.pip.branch",
- destination="PiP-glibc",
- when="@3 os=rhel8",
- )
-
- # PiP-gdb resource
- # for rhel/centos 7
- resource(
- name="PiP-gdb",
- git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
- branch="centos/gdb-7.6.1-94.el7.pip.branch",
- destination="PiP-gdb",
- when="@3 os=centos7",
- )
- resource(
- name="PiP-gdb",
- git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
- branch="centos/gdb-7.6.1-94.el7.pip.branch",
- destination="PiP-gdb",
- when="@3 os=rhel7",
- )
- # for rhel/centos 8
- resource(
- name="PiP-gdb",
- git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
- branch="centos/gdb-8.2-12.el8.pip.branch",
- destination="PiP-gdb",
- when="@3 os=centos8",
- )
- resource(
- name="PiP-gdb",
- git="https://github.com/RIKEN-SysSoft/PiP-gdb.git",
- branch="centos/gdb-8.2-12.el8.pip.branch",
- destination="PiP-gdb",
- when="@3 os=rhel8",
- )
+ with when("+pipgdb"):
+ # PiP-gdb resource
+ # for rhel/centos 7
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/procinproc/PiP-gdb.git",
+ branch="centos/gdb-7.6.1-94.el7.pip.branch",
+ destination="PiP-gdb",
+ when="@2 os=centos7",
+ )
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/procinproc/PiP-gdb.git",
+ branch="centos/gdb-7.6.1-94.el7.pip.branch",
+ destination="PiP-gdb",
+ when="@2 os=rhel7",
+ )
+ # for rhel/centos 8
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/procinproc/PiP-gdb.git",
+ branch="centos/gdb-8.2-12.el8.pip.branch",
+ destination="PiP-gdb",
+ when="@2 os=centos8",
+ )
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/procinproc/PiP-gdb.git",
+ branch="centos/gdb-8.2-12.el8.pip.branch",
+ destination="PiP-gdb",
+ when="@2 os=rhel8",
+ )
+
+ # resources for PiP version 3
+ # PiP-glibc resource
+ # for rhel/centos 7
+ resource(
+ name="PiP-glibc",
+ git="https://github.com/procinproc/PiP-glibc.git",
+ branch="centos/glibc-2.17-260.el7.pip.branch",
+ destination="PiP-glibc",
+ when="@3 os=centos7",
+ )
+ resource(
+ name="PiP-glibc",
+ git="https://github.com/procinproc/PiP-glibc.git",
+ branch="centos/glibc-2.17-260.el7.pip.branch",
+ destination="PiP-glibc",
+ when="@3 os=rhel7",
+ )
+ # for rhel/centos 8
+ resource(
+ name="PiP-glibc",
+ git="https://github.com/procinproc/PiP-glibc.git",
+ branch="centos/glibc-2.28-72.el8_1.1.pip.branch",
+ destination="PiP-glibc",
+ when="@3 os=centos8",
+ )
+ resource(
+ name="PiP-glibc",
+ git="https://github.com/procinproc/PiP-glibc.git",
+ branch="centos/glibc-2.28-72.el8_1.1.pip.branch",
+ destination="PiP-glibc",
+ when="@3 os=rhel8",
+ )
+
+ with when("+pipgdb"):
+ # PiP-gdb resource
+ # for rhel/centos 7
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/procinproc/PiP-gdb.git",
+ branch="centos/gdb-7.6.1-94.el7.pip.branch",
+ destination="PiP-gdb",
+ when="@3 os=centos7",
+ )
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/procinproc/PiP-gdb.git",
+ branch="centos/gdb-7.6.1-94.el7.pip.branch",
+ destination="PiP-gdb",
+ when="@3 os=rhel7",
+ )
+ # for rhel/centos 8
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/procinproc/PiP-gdb.git",
+ branch="centos/gdb-8.2-12.el8.pip.branch",
+ destination="PiP-gdb",
+ when="@3 os=centos8",
+ )
+ resource(
+ name="PiP-gdb",
+ git="https://github.com/procinproc/PiP-gdb.git",
+ branch="centos/gdb-8.2-12.el8.pip.branch",
+ destination="PiP-gdb",
+ when="@3 os=rhel8",
+ )
# PiP testsuite (agnostic with PiP and OS versions)
resource(
name="PiP-Testsuite",
- git="https://github.com/RIKEN-SysSoft/PiP-Testsuite.git",
+ git="https://github.com/procinproc/PiP-Testsuite.git",
destination="PiP-Testsuite",
)
def install(self, spec, prefix):
- "Install Process-in-Process including PiP-glibc, PiP-gdb"
+ "Install Process-in-Process including PiP-glibc (, PiP-gdb)"
# checking os and arch
arch = self.spec.architecture
target = self.spec.target
if arch.os not in ["centos7", "rhel7", "centos8", "rhel8"]:
- raise InstallError("PIP only supports rhel/centos 7 and 8")
+ raise InstallError("PiP only supports rhel/centos 7 and 8")
if target.family not in ["x86_64", "aarch64"]:
- raise InstallError("PIP only supports x86_64 and aarch64")
+ raise InstallError("PiP only supports x86_64 and aarch64")
bash = which("bash")
@@ -194,6 +211,14 @@ class ProcessInProcess(Package):
# installing already-doxygen-ed documents (man pages, html, ...)
make("doc")
+ with when("+pipgdb" in spec):
+ # installing PiP-gdb
+ with working_dir(join_path("PiP-gdb", "PiP-gdb")):
+ # build.sh does build and install
+ bash("build.sh", "--prefix=%s" % prefix, "--with-pip=%s" % prefix)
+ # testing PiP-gdb
+ bash("test.sh", parallel=False)
+
# testing PiP by using PiP-Testsuite (another repo), no need install
with working_dir(join_path("PiP-Testsuite", "PiP-Testsuite")):
bash("configure", "--with-pip=%s" % prefix)
@@ -201,12 +226,3 @@ class ProcessInProcess(Package):
make()
# and run the test programs
make("test10", parallel=False)
-
- # installing PiP-gdb
- with working_dir(join_path("PiP-gdb", "PiP-gdb")):
- # build.sh does build and install
- bash("build.sh", "--prefix=%s" % prefix, "--with-pip=%s" % prefix)
- # testing PiP-gdb
- bash("test.sh", parallel=False)
-
- # all done !!