summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan O'Malley <rd.omalley@comcast.net>2021-07-12 16:13:31 -0500
committerGitHub <noreply@github.com>2021-07-12 14:13:31 -0700
commit9d6d2f0f9b71e6436e01a70830d7e42616859d75 (patch)
tree96eab7311ae1b96635fcf09131a6a59cf29bba44
parent6d22e9cd7b427f2d3d24bf1246215e0b9ba248e2 (diff)
downloadspack-9d6d2f0f9b71e6436e01a70830d7e42616859d75.tar.gz
spack-9d6d2f0f9b71e6436e01a70830d7e42616859d75.tar.bz2
spack-9d6d2f0f9b71e6436e01a70830d7e42616859d75.tar.xz
spack-9d6d2f0f9b71e6436e01a70830d7e42616859d75.zip
folly: added latest version and switched to CMakePackage (#23938)
* added latest version and switched to CMakePackage * Added optional dependencies and cxxstd variant * Added cxxstd variant and optional dependencies * Added lib. that Boost doesn't install by default * BUG: Removed previous broken versions of Folly * BUG: refactored comments * BUG: Fixed styling errors
-rw-r--r--var/spack/repos/builtin/packages/folly/package.py38
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'