From e67c61aac0d3c68e04a09da0b83c5771616cfa6a Mon Sep 17 00:00:00 2001 From: Alex Richert <82525672+AlexanderRichert-NOAA@users.noreply.github.com> Date: Sat, 12 Aug 2023 11:42:53 -0700 Subject: Allow static-only openssl on Linux (#38098) --- var/spack/repos/builtin/packages/openssl/package.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py index 991c01fbc3..bcf3382205 100644 --- a/var/spack/repos/builtin/packages/openssl/package.py +++ b/var/spack/repos/builtin/packages/openssl/package.py @@ -24,6 +24,8 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package list_url = "https://www.openssl.org/source/old/" list_depth = 1 + maintainers("AlexanderRichert-NOAA") + tags = ["core-packages", "windows"] executables = ["openssl"] @@ -359,7 +361,7 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package ), ) variant("docs", default=False, description="Install docs and manpages") - variant("shared", default=False, description="Build shared library version") + variant("shared", default=True, description="Build shared library version") with when("platform=windows"): variant("dynamic", default=False, description="Link with MSVC's dynamic runtime library") @@ -382,7 +384,12 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package @property def libs(self): - return find_libraries(["libssl", "libcrypto"], root=self.prefix, recursive=True) + return find_libraries( + ["libssl", "libcrypto"], + root=self.prefix, + recursive=True, + shared=self.spec.variants["shared"].value, + ) def handle_fetch_error(self, error): tty.warn( @@ -403,7 +410,7 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package # where it happens automatically?) env["KERNEL_BITS"] = "64" - options = ["zlib", "shared"] + options = ["zlib"] if spec.satisfies("@1.0"): options.append("no-krb5") # clang does not support the .arch directive in assembly files. @@ -433,8 +440,6 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package base_args.extend( ['CC="%s"' % os.environ.get("CC"), 'CXX="%s"' % os.environ.get("CXX"), "VC-WIN64A"] ) - if spec.satisfies("~shared"): - base_args.append("no-shared") else: base_args.extend( [ @@ -443,6 +448,12 @@ class Openssl(Package): # Uses Fake Autotools, should subclass Package ] ) base_args.extend(options) + + if spec.satisfies("~shared"): + base_args.append("no-shared") + else: + base_args.append("shared") + # On Windows, we use perl for configuration and build through MSVC # nmake. if spec.satisfies("platform=windows"): -- cgit v1.2.3-60-g2f50