cpio: reuse patch for %gcc10: for %clang as well (#27589)

and replace patch download with simple filter_file() to fix the duplicate definition.

Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
This commit is contained in:
Piotr Luszczek 2021-11-30 17:09:00 -05:00 committed by GitHub
parent c96a6f990e
commit d57bcc0b85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -9,8 +9,8 @@
class Cpio(AutotoolsPackage, GNUMirrorPackage): class Cpio(AutotoolsPackage, GNUMirrorPackage):
"""GNU cpio copies files into or out of a cpio or tar archive. The """GNU cpio copies files into or out of a cpio or tar archive and the file system.
archive can be another file on the disk, a magnetic tape, or a pipe. The archive can be another file on the disk, a magnetic tape, or a pipe.
""" """
homepage = "https://www.gnu.org/software/cpio/" homepage = "https://www.gnu.org/software/cpio/"
gnu_mirror_path = "cpio/cpio-2.13.tar.gz" gnu_mirror_path = "cpio/cpio-2.13.tar.gz"
@ -19,10 +19,12 @@ class Cpio(AutotoolsPackage, GNUMirrorPackage):
version('2.13', sha256='e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8f3db88') version('2.13', sha256='e87470d9c984317f658567c03bfefb6b0c829ff17dbf6b0de48d71a4c8f3db88')
patch('https://src.fedoraproject.org/rpms/cpio/raw/dfe64c466d3ea2c8dfbd99700d9006f610064167/f/cpio-2.13-mutiple-definition.patch', sha256='d22633c368b8aedf4c08b23b6fbaa81a52404c8943ab04926404083ac10f1a4b', when='%gcc@10:')
build_directory = 'spack-build' build_directory = 'spack-build'
def patch(self):
"""Fix mutiple definition of char *program_name for gcc@10: and clang"""
filter_file(r'char \*program_name;', '', 'src/global.c')
@classmethod @classmethod
def determine_version(cls, exe): def determine_version(cls, exe):
output = Executable(exe)('--version', output=str, error=str) output = Executable(exe)('--version', output=str, error=str)