libssh2: fix crypto (#47393)

This commit is contained in:
Harmen Stoppels 2024-11-04 10:48:35 +01:00 committed by GitHub
parent 1ee344c75c
commit 5b93466340
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -14,6 +14,7 @@ class Libssh2(AutotoolsPackage, CMakePackage):
license("BSD-3-Clause") license("BSD-3-Clause")
version("1.11.1", sha256="d9ec76cbe34db98eec3539fe2c899d26b0c837cb3eb466a56b0f109cabf658f7")
version("1.11.0", sha256="3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461") version("1.11.0", sha256="3736161e41e2693324deb38c26cfdc3efe6209d634ba4258db1cecff6a5ad461")
version("1.10.0", sha256="2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51") version("1.10.0", sha256="2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51")
version("1.9.0", sha256="d5fb8bd563305fd1074dda90bd053fb2d29fc4bce048d182f96eaa466dfadafd") version("1.9.0", sha256="d5fb8bd563305fd1074dda90bd053fb2d29fc4bce048d182f96eaa466dfadafd")
@ -23,8 +24,7 @@ class Libssh2(AutotoolsPackage, CMakePackage):
"1.4.3", sha256="eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d" "1.4.3", sha256="eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d"
) # CentOS7 ) # CentOS7
depends_on("c", type="build") # generated depends_on("c", type="build")
depends_on("cxx", type="build") # generated
build_system("autotools", "cmake", default="autotools") build_system("autotools", "cmake", default="autotools")
@ -53,7 +53,7 @@ class Libssh2(AutotoolsPackage, CMakePackage):
# and fails to prepend the -L flags, which is causing issues in libgit2, as # and fails to prepend the -L flags, which is causing issues in libgit2, as
# it tries to locate e.g. libssl in the dirs of the pc file's -L flags, and # it tries to locate e.g. libssl in the dirs of the pc file's -L flags, and
# cannot find the lib. # cannot find the lib.
patch("pr-1114.patch", when="@1.7:") patch("pr-1114.patch", when="@1.7:1.11.0")
class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder): class CMakeBuilder(spack.build_systems.cmake.CMakeBuilder):
@ -77,14 +77,27 @@ def cmake_args(self):
class AutotoolsBuilder(spack.build_systems.autotools.AutotoolsBuilder): class AutotoolsBuilder(spack.build_systems.autotools.AutotoolsBuilder):
def configure_args(self): def configure_args(self):
args = ["--disable-tests", "--disable-docker-tests", "--disable-examples-build"] args = [
args += self.enable_or_disable("shared") "--disable-tests",
"--disable-docker-tests",
"--disable-examples-build",
"--without-libgcrypt",
"--without-wincng",
*self.enable_or_disable("shared"),
]
crypto = self.spec.variants["crypto"].value crypto = self.spec.variants["crypto"].value
if self.spec.satisfies("@1.9:"):
# single flag for all crypto backends
args.append(f"--with-crypto={crypto}")
else:
# one flag per crypto backend
if crypto == "openssl": if crypto == "openssl":
args.append(f"--with-libssl-prefix={self.spec['openssl'].prefix}") args.append(f"--with-libssl-prefix={self.spec['openssl'].prefix}")
args.append("--without-mbedtls")
elif crypto == "mbedtls": elif crypto == "mbedtls":
args.append(f"--with-libmbedcrypto-prefix={self.spec['mbedtls'].prefix}") args.append(f"--with-libmbedcrypto-prefix={self.spec['mbedtls'].prefix}")
args.append("--without-openssl")
return args return args