Add external package support to bzip2 (#19343)
* Add external package support to bzip2 * Flake-8 * Flake-8 part 2 Co-authored-by: iarspider <iarpsider@gmail.com>
This commit is contained in:
parent
a612be1c98
commit
e9da8d1633
1 changed files with 13 additions and 2 deletions
|
@ -3,6 +3,8 @@
|
|||
#
|
||||
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
|
||||
|
||||
import re
|
||||
|
||||
from spack import *
|
||||
|
||||
|
||||
|
@ -16,6 +18,8 @@ class Bzip2(Package, SourcewarePackage):
|
|||
homepage = "https://sourceware.org/bzip2/"
|
||||
sourceware_mirror_path = "bzip2/bzip2-1.0.8.tar.gz"
|
||||
|
||||
executables = [r'^bzip2$']
|
||||
|
||||
version('1.0.8', sha256='ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269')
|
||||
version('1.0.7', sha256='e768a87c5b1a79511499beb41500bcc4caf203726fff46a6f5f9ad27fe08ab2b')
|
||||
version('1.0.6', sha256='a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd')
|
||||
|
@ -24,6 +28,13 @@ class Bzip2(Package, SourcewarePackage):
|
|||
|
||||
depends_on('diffutils', type='build')
|
||||
|
||||
@classmethod
|
||||
def determine_version(cls, exe):
|
||||
output = Executable(exe)('--help', output=str, error=str)
|
||||
match = re.search(r'bzip2, a block-sorting file compressor.'
|
||||
' Version ([^,]+)', output)
|
||||
return match.group(1) if match else None
|
||||
|
||||
# override default implementation
|
||||
@property
|
||||
def libs(self):
|
||||
|
@ -95,8 +106,8 @@ def install(self, spec, prefix):
|
|||
|
||||
install(lib3, join_path(prefix.lib, lib3))
|
||||
with working_dir(prefix.lib):
|
||||
for l in (lib, lib1, lib2):
|
||||
symlink(lib3, l)
|
||||
for libname in (lib, lib1, lib2):
|
||||
symlink(lib3, libname)
|
||||
|
||||
with working_dir(prefix.bin):
|
||||
force_remove('bunzip2', 'bzcat')
|
||||
|
|
Loading…
Reference in a new issue