diff options
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/capnproto/package.py | 71 |
1 files changed, 64 insertions, 7 deletions
diff --git a/var/spack/repos/builtin/packages/capnproto/package.py b/var/spack/repos/builtin/packages/capnproto/package.py index 453864aede..879e31653b 100644 --- a/var/spack/repos/builtin/packages/capnproto/package.py +++ b/var/spack/repos/builtin/packages/capnproto/package.py @@ -7,16 +7,73 @@ from spack.package import * class Capnproto(AutotoolsPackage): - """Cap'n Proto is an insanely fast data interchange - format and capability-based RPC system. + """Cap'n'Proto is an insanely fast data interchange + format and capability-based RPC system """ - homepage = "https://capnproto.org/" - url = "https://capnproto.org/capnproto-c++-0.7.0.tar.gz" + homepage = "https://capnproto.org" + url = "https://github.com/capnproto/capnproto/archive/refs/tags/v0.8.0.tar.gz" git = "https://github.com/capnproto/capnproto" - version("0.8.0", sha256="d1f40e47574c65700f0ec98bf66729378efabe3c72bc0cda795037498541c10d") - version("0.7.0", sha256="c9a4c0bd88123064d483ab46ecee777f14d933359e23bff6fb4f4dbd28b4cd41") + maintainers = ["alexrobomind"] + + version("master", branch="master") + + version("0.10.2", sha256="756262841fa66260c9969e900701cc86720c2548584fb96c8153348fd7edfe69") + version("0.10.0", sha256="0e46a72d086830762c001116c0a146098fbdce3cd40665a0ffd4742962d42bfd") + version("0.9.1", sha256="daf49f794560f715e2f4651c842aaece2d065d4216834c5c3d3254962e35b535") + version("0.9.0", sha256="a156efe56b42957ea2d118340d96509af2e40c7ef8f3f8c136df48001a5eb2ac") + version("0.8.0", sha256="6d8b43a7ec2a764b4dfe4139a7cdd070ad9057f106898050d9f4db3754b98820") + version("0.7.0", sha256="76c7114a3d142ad08b7208b3964a26e72a6320ee81331d3f0b87569fc9c47a28") + version("0.6.1", sha256="85210424c09693d8fe158c1970a2bca37af3a0424f02b263f566a1b8a5451a2d") + version("0.6.0", sha256="3b73a3dc39592a30b1bb6d00dff930e5fb277c774a1d40bf6a1aa7758c5fec74") + version("0.5.3.1", sha256="e9af9ccfcb6d61be2dca1daf75e90daea32cf6f4c7c24a19919815ce527d9ac8") + version("0.5.3", sha256="13c66dc1ce2a038562cddeaf48f71f0bb0e15a1d1a1775efa80dff3cdebeea6c") + version("0.5.2", sha256="bd8aa7c45120c3bc5e1857d72006171b78a4b698af54dd1e3bfc966b54faedaf") + version("0.5.1.2", sha256="e76c2b55e2b6fe8b6db8df46a348c36e7056e95507359118e54db60d746ff244") + version("0.5.1.1", sha256="caf308e92683b278bc6c568d4fb5558eca78180cac1eb4a3db15d435bf25116f") + version("0.4.1.2", sha256="6376c1910e9bc9d09dc46d53b063c5bdcb5cdf066a8210e9fffe299fb863f0d9") + + depends_on("zlib", when="+zlib") + depends_on("openssl", when="+tls") + + depends_on("autoconf", type="build", when="build_system=autotools") + depends_on("automake", type="build", when="build_system=autotools") + depends_on("libtool", type="build", when="build_system=autotools") + + variant("zlib", default=True, description="Enable compression") + variant("tls", default=False, description="Enable TLS support") + + configure_directory = "c++" def configure_args(self): - return ["--without-openssl"] + args = [] + + if "+tls" in self.spec: + args.append("--with-openssl") + else: + args.append("--without-openssl") + + if "+zlib" in self.spec: + args.append("--with-zlib") + else: + args.append("--without-zlib") + + return args + + def patch(self): + # The master branch has version versions of type '0.11-dev', which is incompatible with + # CMake's find_package call. + # Therefore, these are patched to the respective release-type versions. + if self.version == Version("master"): + filter_file( + "set\\(VERSION 0\\.(\\d*)\\-dev\\)", "set(VERSION 0.\\1)", "c++/CMakeLists.txt" + ) + filter_file( + ( + "AC_INIT\\(\\[Capn Proto\\],\\[0\\.(\\d*)\\-dev\\]," + "\\[capnproto@googlegroups\\.com\\],\\[capnproto\\-c\\+\\+\\]\\)" + ), + "AC_INIT([Capn Proto],[0.\\1],[capnproto@googlegroups.com],[capnproto-c++])", + "c++/configure.ac", + ) |