diff options
-rw-r--r-- | var/spack/repos/builtin/packages/folly/package.py | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/var/spack/repos/builtin/packages/folly/package.py b/var/spack/repos/builtin/packages/folly/package.py index 86e8d54332..c76a5f3901 100644 --- a/var/spack/repos/builtin/packages/folly/package.py +++ b/var/spack/repos/builtin/packages/folly/package.py @@ -7,7 +7,7 @@ from spack import * -class Folly(AutotoolsPackage): +class Folly(CMakePackage): """Folly (acronymed loosely after Facebook Open Source Library) is a library of C++11 components designed with practicality and efficiency in mind. @@ -18,29 +18,31 @@ class Folly(AutotoolsPackage): """ homepage = "https://github.com/facebook/folly" - url = "https://github.com/facebook/folly/archive/v2017.06.05.00.tar.gz" - - version('2017.06.05.00', sha256='d22ceda4dfe33583828be1193fa3929d70c51998f0797236e293c44ef828c6d0') - version('2016.11.14.00', sha256='cde5b3e1a38d181f7c4e52d590de1c1aca58da7b27b3020d08e9aa45b4c3ed74') - version('2016.11.07.00', sha256='4400d7f0fead90d88ce4caee9f0e9aeb8008c9954ea9034e19ae7226175206ba') - version('2016.10.31.00', sha256='7bef9ee956248f68f1c4e96be67561842ee6cc030a58e132b93b9be57b6b29ea') - version('2016.10.24.00', sha256='d54b609d3750a6a1cfbda7c62e1457af60cf5efc48d7a8e6552d67909e064757') - version('2016.10.17.00', sha256='0f83685016d020111ba54ddc48c0cf33e1e0b9b35cee5ae82d5f2cbc5f6b0e82') - - depends_on('m4', type='build') - depends_on('autoconf', type='build') - depends_on('automake', type='build') - depends_on('libtool', type='build') + url = "https://github.com/facebook/folly/releases/download/v2021.05.24.00/folly-v2021.05.24.00.tar.gz" + version('2021.05.24.00', sha256='9d308adefe4670637f5c7d96309b3b394ac3fa129bc954f5dfbdd8b741c02aad') + + # CMakePackage Dependency depends_on('pkgconfig', type='build') - # TODO: folly requires gcc 4.9+ and a version of boost compiled with - # TODO: C++14 support (but there's no neat way to check that these - # TODO: constraints are met right now) - depends_on('boost') + # folly requires gcc 4.9+ and a version of boost compiled with >= C++14 + # TODO: Specify the boost components + variant('cxxstd', default='14', values=('14', '17'), multi=False, description='Use the specified C++ standard when building.') + depends_on('boost+context+container cxxstd=14', when='cxxstd=14') + depends_on('boost+context+container cxxstd=17', when='cxxstd=17') + # required dependencies depends_on('gflags') depends_on('glog') depends_on('double-conversion') depends_on('libevent') + depends_on('fmt') + + # optional dependencies + variant('libdwarf', default=False, description="Optional Dependency") + variant('elfutils', default=False, description="Optional Dependency") + variant('libunwind', default=False, description="Optional Dependency") + depends_on('libdwarf', when='+libdwarf') + depends_on('elfutils', when='+elfutils') + depends_on('libunwind', when='+libunwind') configure_directory = 'folly' |