diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/mongo-c-driver/package.py')
-rw-r--r-- | var/spack/repos/builtin/packages/mongo-c-driver/package.py | 176 |
1 files changed, 86 insertions, 90 deletions
diff --git a/var/spack/repos/builtin/packages/mongo-c-driver/package.py b/var/spack/repos/builtin/packages/mongo-c-driver/package.py index a8f874fbe0..43dce46da7 100644 --- a/var/spack/repos/builtin/packages/mongo-c-driver/package.py +++ b/var/spack/repos/builtin/packages/mongo-c-driver/package.py @@ -10,90 +10,89 @@ class MongoCDriver(Package): """libmongoc is a client library written in C for MongoDB.""" homepage = "https://github.com/mongodb/mongo-c-driver" - url = "https://github.com/mongodb/mongo-c-driver/releases/download/1.7.0/mongo-c-driver-1.7.0.tar.gz" - - maintainers = ['michaelkuhn'] - - version('1.21.0', sha256='840ff79480070f98870743fbb332e2c10dd021b6b9c952d08010efdda4d70ee4') - version('1.17.6', sha256='8644deec7ae585e8d12566978f2017181e883f303a028b5b3ccb83c91248b150') - version('1.17.5', sha256='4b15b7e73a8b0621493e4368dc2de8a74af381823ae8f391da3d75d227ba16be') - version('1.17.0', sha256='90aa23a3f92be0a076fe0b903b68276a7973d4e472929943069f503d5ab50cb9') - version('1.16.2', sha256='0a722180e5b5c86c415b9256d753b2d5552901dc5d95c9f022072c3cd336887e') - version('1.9.5', sha256='4a4bd0b0375450250a3da50c050b84b9ba8950ce32e16555714e75ebae0b8019') - version('1.9.4', sha256='910c2f1b2e3df4d0ea39c2f242160028f90fcb8201f05339a730ec4ba70811fb') - version('1.9.3', sha256='c2c94ef63aaa09efabcbadc4ac3c8740faa102266bdd2559d550f1955b824398') - version('1.9.1', sha256='91951444d34581deeaff46cc2985c68805754f618a20ac369b761ce9b621c4cd') - version('1.8.1', sha256='87d87b7581018cde7edff85f522d43d9c0a226df26fa53b77ca1613a3aca8233') - version('1.8.0', sha256='1b53883b4cbf08e7d77ad7ab7a02deca90b1719c67f9ad132b47e60d0206ea4e') - version('1.7.0', sha256='48a0dbd44fef2124b51cf501f06be269b1a39452303b880b37473a6030c6e023') - version('1.6.3', sha256='82df03de117a3ccf563b9eccfd2e5365df8f215a36dea7446d439969033ced7b') - version('1.6.2', sha256='7ec27e9be4da2bf9e4b316374f8c29f816f0a0f019b984411777e9681e17f70e') - version('1.6.1', sha256='1bdfb27944c6da8e56da209a5d56efac70df1f8c4ca4498b46f75bf3f9360898') - - variant('ssl', default=True, description='Enable SSL support.') - variant('snappy', default=True, description='Enable Snappy support.') - variant('zlib', default=True, description='Enable zlib support.') - variant('zstd', default=True, description='Enable zstd support.') - - patch('https://github.com/mongodb/mongo-c-driver/pull/466.patch?full_index=1', - sha256='d8802d91226c176ba46d5b82413757121331d556a3a3d57ab65b70e175cab296', - when='@1.8.1') - - depends_on('cmake@3.1:', type='build', when='@1.10.0:') - - depends_on('autoconf', type='build', when='@1.8.1') - depends_on('automake', type='build', when='@1.8.1') - depends_on('libtool', type='build', when='@1.8.1') - depends_on('m4', type='build', when='@1.8.1') - - depends_on('pkgconfig', type='build') + url = "https://github.com/mongodb/mongo-c-driver/releases/download/1.7.0/mongo-c-driver-1.7.0.tar.gz" + + maintainers = ["michaelkuhn"] + + version("1.21.0", sha256="840ff79480070f98870743fbb332e2c10dd021b6b9c952d08010efdda4d70ee4") + version("1.17.6", sha256="8644deec7ae585e8d12566978f2017181e883f303a028b5b3ccb83c91248b150") + version("1.17.5", sha256="4b15b7e73a8b0621493e4368dc2de8a74af381823ae8f391da3d75d227ba16be") + version("1.17.0", sha256="90aa23a3f92be0a076fe0b903b68276a7973d4e472929943069f503d5ab50cb9") + version("1.16.2", sha256="0a722180e5b5c86c415b9256d753b2d5552901dc5d95c9f022072c3cd336887e") + version("1.9.5", sha256="4a4bd0b0375450250a3da50c050b84b9ba8950ce32e16555714e75ebae0b8019") + version("1.9.4", sha256="910c2f1b2e3df4d0ea39c2f242160028f90fcb8201f05339a730ec4ba70811fb") + version("1.9.3", sha256="c2c94ef63aaa09efabcbadc4ac3c8740faa102266bdd2559d550f1955b824398") + version("1.9.1", sha256="91951444d34581deeaff46cc2985c68805754f618a20ac369b761ce9b621c4cd") + version("1.8.1", sha256="87d87b7581018cde7edff85f522d43d9c0a226df26fa53b77ca1613a3aca8233") + version("1.8.0", sha256="1b53883b4cbf08e7d77ad7ab7a02deca90b1719c67f9ad132b47e60d0206ea4e") + version("1.7.0", sha256="48a0dbd44fef2124b51cf501f06be269b1a39452303b880b37473a6030c6e023") + version("1.6.3", sha256="82df03de117a3ccf563b9eccfd2e5365df8f215a36dea7446d439969033ced7b") + version("1.6.2", sha256="7ec27e9be4da2bf9e4b316374f8c29f816f0a0f019b984411777e9681e17f70e") + version("1.6.1", sha256="1bdfb27944c6da8e56da209a5d56efac70df1f8c4ca4498b46f75bf3f9360898") + + variant("ssl", default=True, description="Enable SSL support.") + variant("snappy", default=True, description="Enable Snappy support.") + variant("zlib", default=True, description="Enable zlib support.") + variant("zstd", default=True, description="Enable zstd support.") + + patch( + "https://github.com/mongodb/mongo-c-driver/pull/466.patch?full_index=1", + sha256="d8802d91226c176ba46d5b82413757121331d556a3a3d57ab65b70e175cab296", + when="@1.8.1", + ) + + depends_on("cmake@3.1:", type="build", when="@1.10.0:") + + depends_on("autoconf", type="build", when="@1.8.1") + depends_on("automake", type="build", when="@1.8.1") + depends_on("libtool", type="build", when="@1.8.1") + depends_on("m4", type="build", when="@1.8.1") + + depends_on("pkgconfig", type="build") # When updating mongo-c-driver, libbson has to be kept in sync. - depends_on('libbson@1.21.0:1.21', when='@1.21') - depends_on('libbson@1.17.0:1.17', when='@1.17') - depends_on('libbson@1.16.0:1.16', when='@1.16') - depends_on('libbson@1.9.0:1.9', when='@1.9') - depends_on('libbson@1.8.0:1.8', when='@1.8') - depends_on('libbson@1.7.0:1.7', when='@1.7') - depends_on('libbson@1.6.0:1.6', when='@1.6') - - depends_on('openssl', when='+ssl') - depends_on('snappy', when='+snappy') - depends_on('zlib', when='+zlib') - depends_on('zstd', when='+zstd') + depends_on("libbson@1.21.0:1.21", when="@1.21") + depends_on("libbson@1.17.0:1.17", when="@1.17") + depends_on("libbson@1.16.0:1.16", when="@1.16") + depends_on("libbson@1.9.0:1.9", when="@1.9") + depends_on("libbson@1.8.0:1.8", when="@1.8") + depends_on("libbson@1.7.0:1.7", when="@1.7") + depends_on("libbson@1.6.0:1.6", when="@1.6") + + depends_on("openssl", when="+ssl") + depends_on("snappy", when="+snappy") + depends_on("zlib", when="+zlib") + depends_on("zstd", when="+zstd") def cmake_args(self): spec = self.spec - args = [ - '-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF', - '-DENABLE_BSON=SYSTEM' - ] + args = ["-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF", "-DENABLE_BSON=SYSTEM"] - if '+ssl' in spec: - args.append('-DENABLE_SSL=OPENSSL') + if "+ssl" in spec: + args.append("-DENABLE_SSL=OPENSSL") else: - args.append('-DENABLE_SSL=OFF') + args.append("-DENABLE_SSL=OFF") - if '+snappy' in spec: - args.append('-DENABLE_SNAPPY=ON') + if "+snappy" in spec: + args.append("-DENABLE_SNAPPY=ON") else: - args.append('-DENABLE_SNAPPY=OFF') + args.append("-DENABLE_SNAPPY=OFF") - if '+zlib' in spec: - args.append('-DENABLE_ZLIB=SYSTEM') + if "+zlib" in spec: + args.append("-DENABLE_ZLIB=SYSTEM") else: - args.append('-DENABLE_ZLIB=OFF') + args.append("-DENABLE_ZLIB=OFF") - if '+zstd' in spec: - args.append('-DENABLE_ZSTD=ON') + if "+zstd" in spec: + args.append("-DENABLE_ZSTD=ON") else: - args.append('-DENABLE_ZSTD=OFF') + args.append("-DENABLE_ZSTD=OFF") return args def install(self, spec, prefix): - with working_dir('spack-build', create=True): + with working_dir("spack-build", create=True): # We cannot simply do # cmake('..', *std_cmake_args, *self.cmake_args()) # because that is not Python 2 compatible. Instead, collect @@ -101,48 +100,45 @@ class MongoCDriver(Package): args = [] args.extend(std_cmake_args) args.extend(self.cmake_args()) - cmake('..', *args) + cmake("..", *args) make() - make('install') + make("install") @property def force_autoreconf(self): # Run autoreconf due to build system patch - return self.spec.satisfies('@1.8.1') + return self.spec.satisfies("@1.8.1") def configure_args(self): spec = self.spec - args = [ - '--disable-automatic-init-and-cleanup', - '--with-libbson=system' - ] + args = ["--disable-automatic-init-and-cleanup", "--with-libbson=system"] - if '+ssl' in spec: - args.append('--enable-ssl=openssl') + if "+ssl" in spec: + args.append("--enable-ssl=openssl") else: - args.append('--enable-ssl=no') + args.append("--enable-ssl=no") - if spec.satisfies('@1.7.0:'): + if spec.satisfies("@1.7.0:"): # --with-{snappy,zlib}=system are broken for versions < 1.8.1 - if '+snappy' not in spec: - args.append('--with-snappy=no') - elif spec.satisfies('@1.8.1:'): - args.append('--with-snappy=system') + if "+snappy" not in spec: + args.append("--with-snappy=no") + elif spec.satisfies("@1.8.1:"): + args.append("--with-snappy=system") - if '+zlib' not in spec: - args.append('--with-zlib=no') - elif spec.satisfies('@1.8.1:'): - args.append('--with-zlib=system') + if "+zlib" not in spec: + args.append("--with-zlib=no") + elif spec.satisfies("@1.8.1:"): + args.append("--with-zlib=system") return args - @when('@:1.9') + @when("@:1.9") def install(self, spec, prefix): - configure('--prefix={0}'.format(prefix), *self.configure_args()) + configure("--prefix={0}".format(prefix), *self.configure_args()) make() if self.run_tests: - make('check') - make('install') + make("check") + make("install") if self.run_tests: - make('installcheck') + make("installcheck") |