From c50b586e06c1fa3ffd997adbd9d4e711a6c6ca46 Mon Sep 17 00:00:00 2001
From: Nathan <35582439+yee29@users.noreply.github.com>
Date: Wed, 13 May 2020 15:25:07 -0700
Subject: Helics: add python variant (#16625)

* Adding varient for python interface in HELICS

* Append python interface to pythonpath

* cleaning up blank lines

* Update var/spack/repos/builtin/packages/helics/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
---
 var/spack/repos/builtin/packages/helics/package.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/var/spack/repos/builtin/packages/helics/package.py b/var/spack/repos/builtin/packages/helics/package.py
index ba80478436..9736cb6d66 100644
--- a/var/spack/repos/builtin/packages/helics/package.py
+++ b/var/spack/repos/builtin/packages/helics/package.py
@@ -39,6 +39,7 @@ class Helics(CMakePackage):
     variant('asio', default=True, description="Compile with ASIO libraries")
     variant('swig', default=False, description="Build language bindings with SWIG")
     variant('webserver', default=True, description="Enable the integrated webserver in the HELICS broker server")
+    variant('python', default=False, description="Enable Python interface")
 
     # Build dependency
     depends_on('git', type='build', when='@master:')
@@ -48,6 +49,7 @@ class Helics(CMakePackage):
 
     depends_on('libzmq@4.3:', when='+zmq')
     depends_on('mpi@2', when='+mpi')
+    depends_on('python@3:', when='+python')
 
     # OpenMPI doesn't work with HELICS <=2.4.1
     conflicts('^openmpi', when='@:2.4.1 +mpi')
@@ -60,6 +62,8 @@ class Helics(CMakePackage):
     conflicts('+tcp', when='~asio')
     conflicts('+udp', when='~asio')
 
+    extends('python', when='+python')
+
     def cmake_args(self):
         spec = self.spec
         args = [
@@ -103,4 +107,13 @@ class Helics(CMakePackage):
         args.append('-DHELICS_ENABLE_SWIG={0}'.format(
             'ON' if '+swig' in spec else 'OFF'))
 
+        # Python
+        args.append('-DBUILD_PYTHON_INTERFACE={0}'.format(
+            'ON' if '+python' in spec else 'OFF'))
+
         return args
+
+    def setup_run_environment(self, env):
+        spec = self.spec
+        if '+python' in spec:
+            env.prepend_path('PYTHONPATH', self.prefix.python)
-- 
cgit v1.2.3-70-g09d2