Add scitokens-cpp recipe and also as a variant for xrootd (#30362)
* Add scitokens-cpp recipe * Add scitokens-cpp variant in xrootd * Fix typo * Fix flake8 style errors * Update license date Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com> Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
This commit is contained in:
parent
0be5dea13f
commit
5a434cb840
25
var/spack/repos/builtin/packages/scitokens-cpp/package.py
Normal file
25
var/spack/repos/builtin/packages/scitokens-cpp/package.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
|
||||||
|
# Spack Project Developers. See the top-level COPYRIGHT file for details.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||||
|
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class ScitokensCpp(CMakePackage):
|
||||||
|
""" A C++ implementation of the SciTokens library with a C library interface.
|
||||||
|
SciTokens provide a token format for distributed authorization. """
|
||||||
|
|
||||||
|
homepage = "https://github.com/scitokens/scitokens-cpp"
|
||||||
|
url = "https://github.com/scitokens/scitokens-cpp/archive/refs/tags/v0.7.0.tar.gz"
|
||||||
|
|
||||||
|
version('0.7.0', sha256='72600cf32523b115ec7abf4ac33fa369e0a655b3d3b390e1f68363e6c4e961b6')
|
||||||
|
|
||||||
|
depends_on('sqlite')
|
||||||
|
depends_on('curl')
|
||||||
|
depends_on('uuid', type='build')
|
||||||
|
|
||||||
|
# https://github.com/scitokens/scitokens-cpp/issues/72
|
||||||
|
@when('^openssl@3:')
|
||||||
|
def patch(self):
|
||||||
|
filter_file(' -Werror', '', 'CMakeLists.txt')
|
@ -60,6 +60,9 @@ class Xrootd(CMakePackage):
|
|||||||
multi=False,
|
multi=False,
|
||||||
description='Use the specified C++ standard when building.')
|
description='Use the specified C++ standard when building.')
|
||||||
|
|
||||||
|
variant('scitokens-cpp', default=False,
|
||||||
|
when='@5.1.0:', description='Enable support for SciTokens')
|
||||||
|
|
||||||
conflicts('cxxstd=98', when='@4.7.0:')
|
conflicts('cxxstd=98', when='@4.7.0:')
|
||||||
|
|
||||||
depends_on('bzip2')
|
depends_on('bzip2')
|
||||||
@ -74,6 +77,7 @@ class Xrootd(CMakePackage):
|
|||||||
depends_on('curl')
|
depends_on('curl')
|
||||||
depends_on('krb5', when='+krb5')
|
depends_on('krb5', when='+krb5')
|
||||||
depends_on('json-c')
|
depends_on('json-c')
|
||||||
|
depends_on('scitokens-cpp', when='+scitokens-cpp')
|
||||||
|
|
||||||
extends('python', when='+python')
|
extends('python', when='+python')
|
||||||
patch('python-support.patch', level=1, when='@:4.8+python')
|
patch('python-support.patch', level=1, when='@:4.8+python')
|
||||||
@ -105,6 +109,10 @@ def cmake_args(self):
|
|||||||
options.append('-DPYTHON_EXECUTABLE=%s' %
|
options.append('-DPYTHON_EXECUTABLE=%s' %
|
||||||
spec['python'].command.path)
|
spec['python'].command.path)
|
||||||
|
|
||||||
|
if '+scitokens-cpp' in self.spec:
|
||||||
|
options.append('-DSCITOKENS_CPP_DIR=%s' %
|
||||||
|
spec['scitokens-cpp'].prefix)
|
||||||
|
|
||||||
return options
|
return options
|
||||||
|
|
||||||
def setup_build_environment(self, env):
|
def setup_build_environment(self, env):
|
||||||
|
Loading…
Reference in New Issue
Block a user