From 30dc0baa3493076f3eddcdb731763eec42a46044 Mon Sep 17 00:00:00 2001
From: Sajid Ali <30510036+s-sajid-ali@users.noreply.github.com>
Date: Tue, 11 Aug 2020 02:44:51 -0500
Subject: [PATCH] openssl: added detection capabilities  (#16653)

---
 var/spack/repos/builtin/packages/openssl/package.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/var/spack/repos/builtin/packages/openssl/package.py b/var/spack/repos/builtin/packages/openssl/package.py
index ae47568ce8..a0bca1218b 100644
--- a/var/spack/repos/builtin/packages/openssl/package.py
+++ b/var/spack/repos/builtin/packages/openssl/package.py
@@ -9,6 +9,7 @@
 import spack.architecture
 
 import os
+import re
 
 
 class Openssl(Package):   # Uses Fake Autotools, should subclass Package
@@ -23,6 +24,8 @@ class Openssl(Package):   # Uses Fake Autotools, should subclass Package
     list_url = "http://www.openssl.org/source/old/"
     list_depth = 1
 
+    executables = ['openssl']
+
     # The latest stable version is the 1.1.1 series. This is also our Long Term
     # Support (LTS) version, supported until 11th September 2023.
     version('1.1.1g', sha256='ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46')
@@ -77,6 +80,12 @@ class Openssl(Package):   # Uses Fake Autotools, should subclass Package
 
     parallel = False
 
+    @classmethod
+    def determine_version(cls, exe):
+        output = Executable(exe)('version', output=str)
+        match = re.search(r'OpenSSL.(\S+)*', output)
+        return match.group(1) if match else None
+
     @property
     def libs(self):
         return find_libraries(['libssl', 'libcrypto'], root=self.prefix.lib)
-- 
GitLab