summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorAdam J. Stewart <ajstewart426@gmail.com>2020-11-01 15:11:40 -0600
committerGitHub <noreply@github.com>2020-11-01 16:11:40 -0500
commit854aed25714b823820f0135322b6f0b6be9322d9 (patch)
tree0dab8beed072c6d19f7e17dc4dca09b0f20f85c7 /var
parentf62efe5e2eb73a4fb45d99a6e73d834bc9af8b56 (diff)
downloadspack-854aed25714b823820f0135322b6f0b6be9322d9.tar.gz
spack-854aed25714b823820f0135322b6f0b6be9322d9.tar.bz2
spack-854aed25714b823820f0135322b6f0b6be9322d9.tar.xz
spack-854aed25714b823820f0135322b6f0b6be9322d9.zip
krb5: fix build with Apple Clang 12 (#19657)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/krb5/package.py33
1 files changed, 23 insertions, 10 deletions
diff --git a/var/spack/repos/builtin/packages/krb5/package.py b/var/spack/repos/builtin/packages/krb5/package.py
index 93367a3461..bdc99e1059 100644
--- a/var/spack/repos/builtin/packages/krb5/package.py
+++ b/var/spack/repos/builtin/packages/krb5/package.py
@@ -3,7 +3,7 @@
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
-from spack import *
+import re
class Krb5(AutotoolsPackage):
@@ -23,19 +23,32 @@ class Krb5(AutotoolsPackage):
version('1.16.2', sha256='9f721e1fe593c219174740c71de514c7228a97d23eb7be7597b2ae14e487f027')
version('1.16.1', sha256='214ffe394e3ad0c730564074ec44f1da119159d94281bbec541dc29168d21117')
- def url_for_version(self, version):
- url = 'https://kerberos.org/dist/krb5/{0}/krb5-{1}.tar.gz'
- return url.format(version.up_to(2), version)
-
depends_on('bison', type='build')
depends_on('openssl')
configure_directory = 'src'
build_directory = 'src'
+ executables = ['^krb5-config$']
+
+ @classmethod
+ def determine_version(cls, exe):
+ output = Executable(exe)('--version', output=str, error=str)
+ match = re.search(r'Kerberos 5 release\s+(\S+)', output)
+ return match.group(1) if match else None
+
+ def url_for_version(self, version):
+ url = 'https://kerberos.org/dist/krb5/{0}/krb5-{1}.tar.gz'
+ return url.format(version.up_to(2), version)
+
+ def patch(self):
+ # https://github.com/Homebrew/homebrew-core/blob/master/Formula/krb5.rb
+ # https://krbdev.mit.edu/rt/Ticket/Display.html?id=8928
+ filter_file(
+ 'void foo1() __attribute__((constructor));',
+ '#include <unistd.h>\nvoid foo1() __attribute__((constructor));',
+ join_path(self.configure_directory, 'configure'),
+ string=True)
+
def configure_args(self):
- args = ['--disable-debug',
- '--disable-dependency-tracking',
- '--disable-silent-rules',
- '--without-system-verto']
- return args
+ return ['--without-system-verto']