From ee5ae14a3b02e4b44f9ea34aec771b9c03212027 Mon Sep 17 00:00:00 2001 From: vvolkl Date: Mon, 16 Nov 2020 23:12:53 +0100 Subject: [xerces-c] add netaccessor variant, new version (#19927) * [xerces-c] add netaccessor variant, new version * [geant4] add xerces-c netaccessor requirement * [xerces-c] format --- var/spack/repos/builtin/packages/geant4/package.py | 2 +- var/spack/repos/builtin/packages/xerces-c/package.py | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/geant4/package.py b/var/spack/repos/builtin/packages/geant4/package.py index a8e6ea73fd..8f5d3c18f2 100644 --- a/var/spack/repos/builtin/packages/geant4/package.py +++ b/var/spack/repos/builtin/packages/geant4/package.py @@ -66,7 +66,7 @@ class Geant4(CMakePackage): when='@10.3.3: cxxstd=' + std) # Spack only supports Xerces-c 3 and above, so no version req - depends_on('xerces-c cxxstd=' + std, when='cxxstd=' + std) + depends_on('xerces-c netaccessor=curl cxxstd=' + std, when='cxxstd=' + std) # Vecgeom specific versions for each Geant4 version depends_on('vecgeom@1.1.5 cxxstd=' + std, diff --git a/var/spack/repos/builtin/packages/xerces-c/package.py b/var/spack/repos/builtin/packages/xerces-c/package.py index 21caf00e83..d24ef904de 100644 --- a/var/spack/repos/builtin/packages/xerces-c/package.py +++ b/var/spack/repos/builtin/packages/xerces-c/package.py @@ -17,6 +17,7 @@ class XercesC(AutotoolsPackage): homepage = "https://xerces.apache.org/xerces-c" url = "https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-3.2.1.tar.bz2" + version('3.2.3', sha256='45c2329e684405f2b8854ecbddfb8d5b055cdf0fe4d35736cc352c504989bbb6') version('3.2.2', sha256='1f2a4d1dbd0086ce0f52b718ac0fa4af3dc1ce7a7ff73a581a05fbe78a82bce0') version('3.2.1', sha256='a36b6e162913ec218cfb84772d2535d43c3365355a601d45d4b8ce11f0ece0da') version('3.1.4', sha256='9408f12c1628ecf80730bedbe8b2caad810edd01bb4c66f77b60c873e8cc6891') @@ -31,6 +32,14 @@ class XercesC(AutotoolsPackage): multi=False, description='Use the specified C++ standard when building') + variant('netaccessor', + default='curl', + # todo: add additional values (platform-specific) + # 'socket', 'cfurl', 'winsock' + values=('curl', 'none'), + multi=False, + description='Net Accessor (used to access network resources') + # It's best to be explicit about the transcoder or else xerces may # choose another value. if sys.platform == 'darwin': @@ -47,6 +56,7 @@ class XercesC(AutotoolsPackage): depends_on('iconv', type='link', when='transcoder=gnuiconv') depends_on('icu4c', type='link', when='transcoder=icu') + depends_on('curl', when='netaccessor=curl') # Pass flags to configure. This is necessary for CXXFLAGS or else # the xerces default will override the spack wrapper. @@ -67,7 +77,12 @@ class XercesC(AutotoolsPackage): def configure_args(self): spec = self.spec - args = ['--disable-network'] + args = [] + + if 'netaccessor=curl' in spec: + args.append('--enable-netaccessor-curl') + else: + args.append('--disable-network') if 'transcoder=gnuiconv' in spec: args.append('--enable-transcoder-gnuiconv') -- cgit v1.2.3-60-g2f50