summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2016-08-24 14:39:05 -0500
committerAdam J. Stewart <ajstewart426@gmail.com>2016-08-24 14:39:05 -0500
commit70bb1f1707b5f6ce8a0c79a2cf51a8f27b9dc67f (patch)
tree82f7e607d22ef32c4dbddc491392283f141d15b6 /var
parentb47357d73c66c3ae9f2a5fa6bcba011b14f1d162 (diff)
downloadspack-70bb1f1707b5f6ce8a0c79a2cf51a8f27b9dc67f.tar.gz
spack-70bb1f1707b5f6ce8a0c79a2cf51a8f27b9dc67f.tar.bz2
spack-70bb1f1707b5f6ce8a0c79a2cf51a8f27b9dc67f.tar.xz
spack-70bb1f1707b5f6ce8a0c79a2cf51a8f27b9dc67f.zip
Reduce number of variants, just use system or no-system libs
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/cmake/package.py43
-rw-r--r--var/spack/repos/builtin/packages/libarchive/package.py51
2 files changed, 30 insertions, 64 deletions
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index 4e2c37993c..19b9b45d17 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -42,25 +42,19 @@ class Cmake(Package):
version('3.0.2', 'db4c687a31444a929d2fdc36c4dfb95f')
version('2.8.10.2', '097278785da7182ec0aea8769d06860c')
- variant('curl', default=True, description='Build external curl library')
- variant('expat', default=True, description='Build external expat library')
- # variant('jsoncpp', default=True, description='Build external jsoncpp library') # NOQA: ignore=E501
- variant('zlib', default=True, description='Build external zlib library')
- variant('bzip2', default=True, description='Build external bzip2 library')
- variant('xz', default=True, description='Build external lzma library')
- variant('archive', default=True, description='Build external archive library')
+ variant('ownlibs', default=False, description='Use CMake-provided third-party libraries')
variant('qt', default=False, description='Enables the build of cmake-gui')
variant('doc', default=False, description='Enables the generation of html and man page documentation')
variant('openssl', default=True, description="Enables CMake's OpenSSL features")
variant('ncurses', default=True, description='Enables the build of the ncurses gui')
- depends_on('curl', when='+curl')
- depends_on('expat', when='+expat')
- # depends_on('jsoncpp', when='+jsoncpp') # circular dependency
- depends_on('zlib', when='+zlib')
- depends_on('bzip2', when='+bzip2')
- depends_on('xz', when='+xz')
- depends_on('libarchive', when='+archive')
+ depends_on('curl', when='~ownlibs')
+ depends_on('expat', when='~ownlibs')
+ # depends_on('jsoncpp', when='~ownlibs') # circular dependency
+ depends_on('zlib', when='~ownlibs')
+ depends_on('bzip2', when='~ownlibs')
+ depends_on('xz', when='~ownlibs')
+ depends_on('libarchive', when='~ownlibs')
depends_on('qt', when='+qt')
depends_on('python@2.7.11:', when='+doc', type='build')
depends_on('py-sphinx', when='+doc', type='build')
@@ -92,22 +86,21 @@ class Cmake(Package):
# Consistency check
self.validate(spec)
- def variant_to_bool(variant):
- return 'system' if variant in spec else 'no-system'
-
- # configure, build, install:
options = [
'--prefix={0}'.format(prefix),
'--parallel={0}'.format(make_jobs),
- '--{0}-curl'.format(variant_to_bool('+curl')),
- '--{0}-expat'.format(variant_to_bool('+expat')),
- '--{0}-jsoncpp'.format(variant_to_bool('+jsoncpp')),
- '--{0}-zlib'.format(variant_to_bool('+zlib')),
- '--{0}-bzip2'.format(variant_to_bool('+bzip2')),
- '--{0}-liblzma'.format(variant_to_bool('+xz')),
- '--{0}-libarchive'.format(variant_to_bool('+archive'))
+ # jsoncpp requires CMake to build
+ # use CMake-provided library to avoid circular dependency
+ '--no-system-jsoncpp'
]
+ if '+ownlibs' in spec:
+ # Build and link to the CMake-provided third-party libraries
+ options.append('--no-system-libs')
+ else:
+ # Build and link to the Spack-installed third-party libraries
+ options.append('--system-libs')
+
if '+qt' in spec:
options.append('--qt-gui')
else:
diff --git a/var/spack/repos/builtin/packages/libarchive/package.py b/var/spack/repos/builtin/packages/libarchive/package.py
index 387af47b26..6278563875 100644
--- a/var/spack/repos/builtin/packages/libarchive/package.py
+++ b/var/spack/repos/builtin/packages/libarchive/package.py
@@ -28,6 +28,7 @@ from spack import *
class Libarchive(Package):
"""libarchive: C library and command-line tools for reading and
writing tar, cpio, zip, ISO, and other archive formats."""
+
homepage = "http://www.libarchive.org"
url = "http://www.libarchive.org/downloads/libarchive-3.1.2.tar.gz"
@@ -36,47 +37,19 @@ class Libarchive(Package):
version('3.1.1', '1f3d883daf7161a0065e42a15bbf168f')
version('3.1.0', '095a287bb1fd687ab50c85955692bf3a')
- variant('zlib', default=True, description='Build support for gzip through zlib')
- variant('bzip2', default=True, description='Build support for bzip2 through bz2lib')
- variant('lzma', default=True, description='Build support for lzma through lzmadec')
- variant('lz4', default=True, description='Build support for lz4 through liblz4')
- variant('xz', default=True, description='Build support for xz through lzma')
- variant('lzo', default=True, description='Build support for lzop through liblzo2')
- variant('nettle', default=True, description='Build with crypto support from Nettle')
- variant('openssl', default=True, description='Build support for mtree and xar hashes through openssl')
- variant('libxml2', default=True, description='Build support for xar through libxml2')
- variant('expat', default=True, description='Build support for xar through expat')
-
- depends_on('zlib', when='+zlib')
- depends_on('bzip2', when='+bzip2')
- depends_on('lzma', when='+lzma')
- depends_on('lz4', when='+lz4')
- depends_on('xz', when='+xz')
- depends_on('lzo', when='+lzo')
- depends_on('nettle', when='+nettle')
- depends_on('openssl', when='+openssl')
- depends_on('libxml2', when='+libxml2')
- depends_on('expat', when='+expat')
+ depends_on('zlib')
+ depends_on('bzip2')
+ depends_on('lzma')
+ depends_on('lz4')
+ depends_on('xz')
+ depends_on('lzo')
+ depends_on('nettle')
+ depends_on('openssl')
+ depends_on('libxml2')
+ depends_on('expat')
def install(self, spec, prefix):
- def variant_to_bool(variant):
- return 'with' if variant in spec else 'without'
-
- config_args = [
- '--prefix={0}'.format(prefix),
- '--{0}-zlib'.format(variant_to_bool('+zlib')),
- '--{0}-bz2lib'.format(variant_to_bool('+bzip2')),
- '--{0}-lzmadec'.format(variant_to_bool('+lzma')),
- '--{0}-lz4'.format(variant_to_bool('+lz4')),
- '--{0}-lzma'.format(variant_to_bool('+xz')),
- '--{0}-lzo2'.format(variant_to_bool('+lzo')),
- '--{0}-nettle'.format(variant_to_bool('+nettle')),
- '--{0}-openssl'.format(variant_to_bool('+openssl')),
- '--{0}-xml2'.format(variant_to_bool('+libxml2')),
- '--{0}-expat'.format(variant_to_bool('+expat'))
- ]
-
- configure(*config_args)
+ configure('--prefix={0}'.format(prefix))
make()
# make('check') # cannot build test suite with Intel compilers