summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Richert <82525672+AlexanderRichert-NOAA@users.noreply.github.com>2023-08-12 11:42:53 -0700
committerGitHub <noreply@github.com>2023-08-12 20:42:53 +0200
commite67c61aac0d3c68e04a09da0b83c5771616cfa6a (patch)
tree5f2c1262c4752bc1f4b0c9c10f04c0122ff9c3e8
parent1b1ed1b1fad3115c384a9543853416aa3882aa74 (diff)
downloadspack-e67c61aac0d3c68e04a09da0b83c5771616cfa6a.tar.gz
spack-e67c61aac0d3c68e04a09da0b83c5771616cfa6a.tar.bz2
spack-e67c61aac0d3c68e04a09da0b83c5771616cfa6a.tar.xz
spack-e67c61aac0d3c68e04a09da0b83c5771616cfa6a.zip
Allow static-only openssl on Linux (#38098)
-rw-r--r--var/spack/repos/builtin/packages/openssl/package.py21
1 files 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"):