From f2b5c07e6667ebc49f566e962a474dd5d0b8531f Mon Sep 17 00:00:00 2001
From: Lars Bilke <lars.bilke@ufz.de>
Date: Thu, 11 Jun 2020 12:01:40 +0200
Subject: [PATCH] Removed --pm spack.

---
 README.md                         |  4 +-
 ogscm/building_blocks/__init__.py |  1 -
 ogscm/building_blocks/pm_spack.py | 87 -------------------------------
 ogscm/cli.py                      | 19 +------
 ogscm/cli_args.py                 |  2 +-
 ogscm/common.py                   |  1 -
 ogscm/config.py                   |  2 -
 7 files changed, 4 insertions(+), 112 deletions(-)
 delete mode 100644 ogscm/building_blocks/pm_spack.py

diff --git a/README.md b/README.md
index 96a736b..0be4da5 100644
--- a/README.md
+++ b/README.md
@@ -60,7 +60,7 @@ Check help for more options:
 ```
 $ ogscm --help
 usage: ogscm [-h] [--version] [--out OUT] [--file FILE] [--print] [--format [{docker,singularity} [{docker,singularity} ...]]]
-              [--pm [{system,conan,spack,off} [{system,conan,spack,off} ...]]] [--ompi [OMPI [OMPI ...]]] [--ogs [OGS [OGS ...]]]
+              [--pm [{system,conan,off} [{system,conan,off} ...]]] [--ompi [OMPI [OMPI ...]]] [--ogs [OGS [OGS ...]]]
               [--cmake_args [CMAKE_ARGS [CMAKE_ARGS ...]]] [--build] [--upload] [--registry REGISTRY] [--tag TAG] [--convert] [--runtime-only] [--ccache]
               [--parallel PARALLEL] [--base_image BASE_IMAGE] [--compiler COMPILER] [--compiler_version COMPILER_VERSION] [--gui] [--docs] [--jenkins]
               [--cvode] [--cppcheck] [--iwyy] [--gcovr] [--mpi_benchmarks] [--dev] [--insitu] [--pip [package [package ...]]]
@@ -77,7 +77,7 @@ Combinatorial options:
   All combinations of the given options will be generated
 
   --format [{docker,singularity} [{docker,singularity} ...]]
-  --pm [{system,conan,spack,off} [{system,conan,spack,off} ...]]
+  --pm [{system,conan,off} [{system,conan,off} ...]]
                         Package manager to install third-party dependencies (default: ['conan'])
   --ompi [OMPI [OMPI ...]]
                         OpenMPI version, e.g. 2.1.1, 2.1.5, 3.0.1, 3.1.2 (default: ['off'])
diff --git a/ogscm/building_blocks/__init__.py b/ogscm/building_blocks/__init__.py
index 57a7b67..46f1cbf 100644
--- a/ogscm/building_blocks/__init__.py
+++ b/ogscm/building_blocks/__init__.py
@@ -14,5 +14,4 @@ from ogscm.building_blocks.paraview import paraview
 from ogscm.building_blocks.petsc import petsc
 from ogscm.building_blocks.pm_conan import pm_conan
 from ogscm.building_blocks.pm_easybuild import pm_easybuild
-from ogscm.building_blocks.pm_spack import pm_spack
 from ogscm.building_blocks.vtk import vtk
diff --git a/ogscm/building_blocks/pm_spack.py b/ogscm/building_blocks/pm_spack.py
deleted file mode 100644
index adb1497..0000000
--- a/ogscm/building_blocks/pm_spack.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# pylint: disable=invalid-name, too-few-public-methods
-# pylint: disable=too-many-instance-attributes
-
-"""Package manager spack building block"""
-
-from __future__ import absolute_import
-from __future__ import unicode_literals
-from __future__ import print_function
-
-from hpccm.building_blocks.base import bb_base
-from hpccm.building_blocks.packages import packages
-from hpccm.primitives import copy
-from hpccm.primitives.comment import comment
-from hpccm.primitives.environment import environment
-from hpccm.primitives.label import label
-from hpccm.primitives.shell import shell
-import hpccm.templates.wget
-
-
-class pm_spack(bb_base, hpccm.templates.git):
-    """Package manager spack building block"""
-
-    def __init__(self, **kwargs):
-        super(pm_spack, self).__init__()
-
-
-        self.__ospackages = kwargs.get('ospackages', [])
-        self.__packages = kwargs.get('packages', [])
-        self.__repo = kwargs.get('repo', 'https://github.com/spack/spack')
-        self.__branch = kwargs.get('branch', 'devel')
-
-        self.__commands = []  # Filled in by __setup()
-        self.__environment_variables = {}
-        self.__labels = {}
-
-
-        self.__wd = '/var/tmp'  # working directory
-
-        self.__setup()
-
-        self.__instructions()
-
-
-    def __instructions(self):
-        self += comment(__doc__, reformat=False)
-        self += packages(ospackages=self.__ospackages)
-        self += packages(yum=['xz'], apt=['xz-utils'])
-        self += shell(commands=self.__commands)
-        if self.__environment_variables:
-            self += environment(variables=self.__environment_variables)
-        if self.__labels:
-            self += label(metadata=self.__labels)
-        if self.__packages:
-            self += copy(src='files/spack/packages.yml', dest='/etc/spack/packages.yaml')
-            install_cmds = []
-            for package in self.__packages:
-                install_cmds.append('/opt/spack/bin/spack install {0}'.format(package))
-            install_cmds.append('/opt/spack/bin/spack clean --all')
-            self += shell(commands=install_cmds)
-
-
-    def __setup(self):
-        self.__ospackages.extend(['patch', 'less', 'curl', 'bzip2'])
-        self.__commands.extend([
-            self.clone_step(repository=self.__repo, branch=self.__branch,
-                            path='/opt'),
-            '/opt/spack/bin/spack bootstrap',
-            # TODO: There is no init system inside the container -> files are
-            #       not sourced!
-            'ln -s /opt/spack/share/spack/setup-env.sh /etc/profile.d/spack.sh',
-            'ln -s /opt/spack/share/spack/spack-completion.bash /etc/profile.d',
-            '/opt/spack/bin/spack clean --all'
-        ])
-
-        # Environment
-        self.__environment_variables['PATH'] = '/opt/spack/bin:$PATH'
-        self.__environment_variables['FORCE_UNSAFE_CONFIGURE'] = '1'
-
-        # Labels
-        self.__labels['org.opengeosys.pm'] = 'spack'
-
-
-    def runtime(self, _from='0'):
-        """Install the runtime from a full build in a previous stage.  In this
-           case there is no difference between the runtime and the
-           full build."""
-        return str(self)
diff --git a/ogscm/cli.py b/ogscm/cli.py
index 1483dff..b442857 100644
--- a/ogscm/cli.py
+++ b/ogscm/cli.py
@@ -32,7 +32,7 @@ from ogscm.container_info import container_info
 from ogscm.version import __version__
 from ogscm.building_blocks import ccache, cppcheck, cvode, eigen, iwyy, \
     jenkins_node, ogs_base, ogs, osu_benchmarks, petsc, pm_conan, vtk, \
-    pm_spack, paraview
+    paraview
 
 
 def main():  # pragma: no cover
@@ -272,23 +272,6 @@ def main():  # pragma: no cover
             Stage0 += pm_conan(user_home=conan_user_home)
             if not args.jenkins:
                 Stage0 += environment(variables={'CONAN_SYSREQUIRES_SUDO': 0})
-        elif ogscm.config.g_package_manager == package_manager.SPACK:
-            vtk_variants = '+osmesa'
-            if ompi == 'off':
-                vtk_variants += ' -mpi'
-            spack_packages = [
-                # 'vtk@8.1.2' + vtk_variants,
-                'eigen@3.3.4',
-                'boost@1.68.0'
-            ]
-            Stage0 += pm_spack(
-                packages=spack_packages,
-                # ospackages=['libgl1-mesa-dev'],
-                repo='https://github.com/bilke/spack',
-                branch='patch-1')
-            Stage0 += shell(commands=[
-                '/opt/spack/bin/spack install --only dependencies vtk@8.1.2 +osmesa'
-            ])
         elif ogscm.config.g_package_manager == package_manager.SYSTEM:
             Stage0 += cmake(eula=True, version='3.16.6')
             # Use ldconfig to set library search path (instead of
diff --git a/ogscm/cli_args.py b/ogscm/cli_args.py
index 3d51948..2b49ba3 100644
--- a/ogscm/cli_args.py
+++ b/ogscm/cli_args.py
@@ -52,7 +52,7 @@ class Cli_Args(argparse.ArgumentParser):
         options_g.add_argument('--pm',
                                nargs='*',
                                type=str,
-                               choices=['system', 'conan', 'spack', 'off'],
+                               choices=['system', 'conan', 'off'],
                                default=['conan'],
                                help='Package manager to install third-party '
                                'dependencies')
diff --git a/ogscm/common.py b/ogscm/common.py
index 08c9bbb..fe8b966 100644
--- a/ogscm/common.py
+++ b/ogscm/common.py
@@ -4,7 +4,6 @@ class package_manager(Enum):
   """Supported container types"""
   OFF = 0
   CONAN = 1
-  SPACK = 2
   EASYBUILD = 3
   GUIX = 4
   SYSTEM = 5
diff --git a/ogscm/config.py b/ogscm/config.py
index 133c2df..74cd497 100644
--- a/ogscm/config.py
+++ b/ogscm/config.py
@@ -13,8 +13,6 @@ def set_package_manager(pm):
 
   if pm == 'conan':
     this.g_package_manager = package_manager.CONAN
-  elif pm == 'spack':
-    this.g_package_manager = package_manager.SPACK
   elif pm == 'easybuild':
     this.g_package_manager = package_manager.EASYBUILD
   elif pm == 'guix':
-- 
GitLab