py-projectq: Added new package and fixed its dependency py-pybind11 (#8378)
* py-pybind11: Additionally install python extensions e.g. run python setup * py-projectq: Added new package for quantum computing * py-projectq: corrected typos * edited flake8 incompatibilities * additional flake8 faults * changes according to suggestions * flake8 errors fixed * typo and missing environment variable set * py-pybind11:added setup_environemt * py-projectq:changed version according to request * flake8 correction * py-pybind11:changed to setup_py and removed noop * py-projectq:removed dependency and changed type of py-pytest dependency * py-pybind11: flake8 error corrected * py-projectq: Small error correction
This commit is contained in:
		 toffer93
					toffer93
				
			
				
					committed by
					
						 Adam J. Stewart
						Adam J. Stewart
					
				
			
			
				
	
			
			
			 Adam J. Stewart
						Adam J. Stewart
					
				
			
						parent
						
							689e0cb24b
						
					
				
				
					commit
					8a97aa4c51
				
			
							
								
								
									
										60
									
								
								var/spack/repos/builtin/packages/py-projectq/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								var/spack/repos/builtin/packages/py-projectq/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| ############################################################################## | ||||
| # Copyright (c) 2013-2018, Lawrence Livermore National Security, LLC. | ||||
| # Produced at the Lawrence Livermore National Laboratory. | ||||
| # | ||||
| # This file is part of Spack. | ||||
| # Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. | ||||
| # LLNL-CODE-647188 | ||||
| # | ||||
| # For details, see https://github.com/spack/spack | ||||
| # Please also see the NOTICE and LICENSE files for our notice and the LGPL. | ||||
| # | ||||
| # This program is free software; you can redistribute it and/or modify | ||||
| # it under the terms of the GNU Lesser General Public License (as | ||||
| # published by the Free Software Foundation) version 2.1, February 1999. | ||||
| # | ||||
| # This program is distributed in the hope that it will be useful, but | ||||
| # WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and | ||||
| # conditions of the GNU Lesser General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU Lesser General Public | ||||
| # License along with this program; if not, write to the Free Software | ||||
| # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||||
| ############################################################################## | ||||
| from spack import * | ||||
|  | ||||
|  | ||||
| class PyProjectq(PythonPackage): | ||||
|     """ | ||||
|     ProjectQ is an open-source software framework for quantum computing started | ||||
|     at ETH Zurich. It allows users to implement their quantum programs in | ||||
|     Python using a powerful and intuitive syntax. ProjectQ can then translate | ||||
|     these programs to any type of back-end, be it a simulator run on a | ||||
|     classical computer of an actual quantum chip. | ||||
|     """ | ||||
|  | ||||
|     # URL and HOMEPAGE | ||||
|     homepage = "https://projectq.ch" | ||||
|     url      = "https://github.com/ProjectQ-Framework/ProjectQ/archive/v0.3.6.tar.gz" | ||||
|  | ||||
|     # Provided python modules | ||||
|     import_modules = ['projectq', 'projectq.backends', 'projectq.cengines', | ||||
|                       'projectq.libs', 'projectq.meta', 'projectq.ops', | ||||
|                       'projectq.setups', 'projectq.types'] | ||||
|  | ||||
|     # Versions | ||||
|     version('develop', branch='develop', | ||||
|             git='https://github.com/projectq-framework/projectq.git') | ||||
|     version('0.3.6', commit='fa484fe037a3a1772127bbd00fe4628ddba34611', | ||||
|             git='https://github.com/projectq-framework/projectq.git') | ||||
|  | ||||
|     # Dependencies | ||||
|     depends_on('py-setuptools', type=('build')) | ||||
|     depends_on('py-numpy', type=('build', 'run')) | ||||
|     depends_on('py-scipy', type=('build', 'run')) | ||||
|     depends_on('py-future', type=('build', 'run')) | ||||
|     depends_on('py-pytest@3.1.0:', type=('test')) | ||||
|     depends_on('py-requests', type=('build', 'run')) | ||||
|     # conflict with pybind11@2.2.0 -> see requirements.txt | ||||
|     depends_on('py-pybind11@1.7:2.1,2.2.1:', type=('build', 'run')) | ||||
| @@ -47,6 +47,7 @@ class PyPybind11(CMakePackage): | ||||
|     version('2.1.0', '3cf07043d677d200720c928569635e12') | ||||
|  | ||||
|     depends_on('py-pytest', type='test') | ||||
|     depends_on('py-setuptools', type='build')  | ||||
|  | ||||
|     extends('python') | ||||
|  | ||||
| @@ -64,3 +65,11 @@ def cmake_args(self): | ||||
|                 'ON' if self.run_tests else 'OFF') | ||||
|         ] | ||||
|         return args | ||||
|  | ||||
|     def setup_environment(self, spack_env, run_env): | ||||
|         spack_env.set('PYBIND11_USE_CMAKE', 1) | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|         super(PyPybind11, self).install(spec, prefix) | ||||
|         setup_py('install', '--single-version-externally-managed', '--root=/', | ||||
|                  '--prefix={0}'.format(prefix)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user