From 7064bf5ea9939244bc020bf11cf5c2fbf1bad8c5 Mon Sep 17 00:00:00 2001 From: Harmen Stoppels Date: Sat, 14 Feb 2026 22:24:05 +0100 Subject: [PATCH] repo: inline filter_file(..., **kwargs) Type checkers have issue with `kwargs = {...}`, `f(**kwargs)` due to type erasure, but the pattern is often not needed and probably just copied over from existing packages. * Inline `**kwargs` * Remove kwargs that repeat defaults Signed-off-by: Harmen Stoppels --- .../builtin/packages/astral/package.py | 5 +- .../builtin/packages/beagle/package.py | 5 +- .../builtin/packages/bowtie2/package.py | 8 ++-- .../builtin/packages/bref3/package.py | 5 +- .../builtin/packages/bzip2/package.py | 10 ++-- .../builtin/packages/cantera/package.py | 26 +++++++--- .../builtin/packages/cctools/package.py | 3 +- .../builtin/packages/chexmix/package.py | 5 +- .../builtin/packages/corenlp/package.py | 3 +- .../builtin/packages/cromwell/package.py | 5 +- .../packages/cromwell_womtool/package.py | 5 +- .../builtin/packages/daligner/package.py | 3 +- .../builtin/packages/eccodes/package.py | 12 ++--- .../builtin/packages/gatk/package.py | 8 +--- .../packages/genomefinisher/package.py | 5 +- .../builtin/packages/haploview/package.py | 5 +- .../builtin/packages/igvtools/package.py | 5 +- .../builtin/packages/libxstream/package.py | 8 ++-- .../builtin/packages/mono/package.py | 3 +- .../builtin/packages/multitail/package.py | 5 +- .../builtin/packages/mummer/package.py | 3 +- .../builtin/packages/parallel/package.py | 3 +- .../builtin/packages/perl/package.py | 9 ++-- .../builtin/packages/pgdspider/package.py | 5 +- .../builtin/packages/picard/package.py | 5 +- .../builtin/packages/pilon/package.py | 5 +- .../builtin/packages/psi4/package.py | 25 +++++++--- .../builtin/packages/python/package.py | 5 +- .../builtin/packages/qorts/package.py | 5 +- .../builtin/packages/rna_seqc/package.py | 5 +- .../builtin/packages/scalpel/package.py | 4 +- .../builtin/packages/sessreg/package.py | 3 +- .../builtin/packages/snpeff/package.py | 7 +-- .../builtin/packages/sundials/package.py | 47 +++++++++++++++---- .../builtin/packages/trimmomatic/package.py | 5 +- .../builtin/packages/varscan/package.py | 5 +- .../builtin/packages/vcftools/package.py | 3 +- 37 files changed, 147 insertions(+), 131 deletions(-) diff --git a/repos/spack_repo/builtin/packages/astral/package.py b/repos/spack_repo/builtin/packages/astral/package.py index be82073c401..7e4a7075d4b 100644 --- a/repos/spack_repo/builtin/packages/astral/package.py +++ b/repos/spack_repo/builtin/packages/astral/package.py @@ -44,9 +44,8 @@ def install(self, spec, prefix): set_executable(script) java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("astral.jar", join_path(prefix.tools, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file("astral.jar", join_path(prefix.tools, jar_file), script) def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("ASTRAL_HOME", self.prefix.tools) diff --git a/repos/spack_repo/builtin/packages/beagle/package.py b/repos/spack_repo/builtin/packages/beagle/package.py index 9fd2da21763..84767032879 100644 --- a/repos/spack_repo/builtin/packages/beagle/package.py +++ b/repos/spack_repo/builtin/packages/beagle/package.py @@ -58,6 +58,5 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the # jar file. java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("beagle.jar", join_path(prefix.bin, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file("beagle.jar", join_path(prefix.bin, jar_file), script) diff --git a/repos/spack_repo/builtin/packages/bowtie2/package.py b/repos/spack_repo/builtin/packages/bowtie2/package.py index 31755be4096..c9a12b57fa0 100644 --- a/repos/spack_repo/builtin/packages/bowtie2/package.py +++ b/repos/spack_repo/builtin/packages/bowtie2/package.py @@ -51,19 +51,17 @@ class Bowtie2(MakefilePackage): conflicts("@2.4.1", when="target=aarch64:") def edit(self, spec, prefix): - kwargs = {"ignore_absent": True, "backup": False, "string": False} - match = "^#!/usr/bin/env perl" perl = spec["perl"].command substitute = "#!{perl}".format(perl=perl) files = ["bowtie2"] - filter_file(match, substitute, *files, **kwargs) + filter_file(match, substitute, *files, ignore_absent=True) match = "^#!/usr/bin/env python.*" python = spec["python"].command substitute = "#!{python}".format(python=python) files = ["bowtie2-build", "bowtie2-inspect"] - filter_file(match, substitute, *files, **kwargs) + filter_file(match, substitute, *files, ignore_absent=True) if self.spec.satisfies("@2.4.0:2.4.2 target=aarch64:") or self.spec.satisfies( "@2.4.0:2.4.2 target=ppc64le:" @@ -72,7 +70,7 @@ def edit(self, spec, prefix): simdepath = spec["simde"].prefix.include substitute = "-I{simdepath}".format(simdepath=simdepath) files = ["Makefile"] - filter_file(match, substitute, *files, **kwargs) + filter_file(match, substitute, *files, ignore_absent=True) @property def build_targets(self): diff --git a/repos/spack_repo/builtin/packages/bref3/package.py b/repos/spack_repo/builtin/packages/bref3/package.py index e8112e07273..23454a15cd8 100644 --- a/repos/spack_repo/builtin/packages/bref3/package.py +++ b/repos/spack_repo/builtin/packages/bref3/package.py @@ -54,6 +54,5 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the # jar file. java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("bref.jar", join_path(prefix.bin, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file("bref.jar", join_path(prefix.bin, jar_file), script) diff --git a/repos/spack_repo/builtin/packages/bzip2/package.py b/repos/spack_repo/builtin/packages/bzip2/package.py index ff5695ffa16..43f52cb2fee 100644 --- a/repos/spack_repo/builtin/packages/bzip2/package.py +++ b/repos/spack_repo/builtin/packages/bzip2/package.py @@ -98,8 +98,6 @@ def patch(self): v = self.spec.version v1, v2, v3 = (v.up_to(i) for i in (1, 2, 3)) - kwargs = {"ignore_absent": False, "backup": False, "string": True} - mf = FileFilter("Makefile-libbz2_so") mf.filter( "$(CC) -shared -Wl,-soname -Wl,libbz2.so.{0} -o libbz2.so.{1} $(OBJS)".format( @@ -109,21 +107,21 @@ def patch(self): "$(CC) -dynamiclib -Wl,-install_name -Wl,@rpath/libbz2.{0}.dylib " "-current_version {1} -compatibility_version {2} -o libbz2.{3}.dylib $(OBJS)" ).format(v1, v2, v3, v3), - **kwargs, + string=True, ) mf.filter( "$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.{0}".format(v3), "$(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.{0}.dylib".format(v3), - **kwargs, + string=True, ) mf.filter( - "rm -f libbz2.so.{0}".format(v2), "rm -f libbz2.{0}.dylib".format(v2), **kwargs + "rm -f libbz2.so.{0}".format(v2), "rm -f libbz2.{0}.dylib".format(v2), string=True ) mf.filter( "ln -s libbz2.so.{0} libbz2.so.{1}".format(v3, v2), "ln -s libbz2.{0}.dylib libbz2.{1}.dylib".format(v3, v2), - **kwargs, + string=True, ) def install(self, spec, prefix): diff --git a/repos/spack_repo/builtin/packages/cantera/package.py b/repos/spack_repo/builtin/packages/cantera/package.py index b7339c493b9..4c227faffa3 100644 --- a/repos/spack_repo/builtin/packages/cantera/package.py +++ b/repos/spack_repo/builtin/packages/cantera/package.py @@ -357,8 +357,6 @@ def filter_compilers(self): If this isn't done, they'll have CC, CXX, F77, and FC set to Spack's generic cc, c++, f77, and f90. We want them to be bound to whatever compiler they were built with.""" - - kwargs = {"ignore_absent": True, "backup": False, "string": True} dirname = os.path.join(self.prefix, "share/cantera/samples") cc_files = [ @@ -384,20 +382,36 @@ def filter_compilers(self): for filename in cc_files: filter_file( - os.environ["CC"], self.compiler.cc, os.path.join(dirname, filename), **kwargs + os.environ["CC"], + self.compiler.cc, + os.path.join(dirname, filename), + ignore_absent=True, + string=True, ) for filename in cxx_files: filter_file( - os.environ["CXX"], self.compiler.cxx, os.path.join(dirname, filename), **kwargs + os.environ["CXX"], + self.compiler.cxx, + os.path.join(dirname, filename), + ignore_absent=True, + string=True, ) for filename in f77_files: filter_file( - os.environ["F77"], self.compiler.f77, os.path.join(dirname, filename), **kwargs + os.environ["F77"], + self.compiler.f77, + os.path.join(dirname, filename), + ignore_absent=True, + string=True, ) for filename in fc_files: filter_file( - os.environ["FC"], self.compiler.fc, os.path.join(dirname, filename), **kwargs + os.environ["FC"], + self.compiler.fc, + os.path.join(dirname, filename), + ignore_absent=True, + string=True, ) diff --git a/repos/spack_repo/builtin/packages/cctools/package.py b/repos/spack_repo/builtin/packages/cctools/package.py index b6e7225380c..df1b490bc2d 100644 --- a/repos/spack_repo/builtin/packages/cctools/package.py +++ b/repos/spack_repo/builtin/packages/cctools/package.py @@ -57,8 +57,7 @@ def patch(self): before = "#if defined(__linux__) && defined(SYS_memfd_create)" after = "#if defined(__linux__) && defined(SYS_memfd_create) && defined(__NR_memfd_create)" f = "dttools/src/memfdexe.c" - kwargs = {"ignore_absent": False, "backup": True, "string": True} - filter_file(before, after, f, **kwargs) + filter_file(before, after, f, backup=True, string=True) if self.spec.satisfies("%fj"): makefiles = ["chirp/src/Makefile", "grow/src/Makefile"] for m in makefiles: diff --git a/repos/spack_repo/builtin/packages/chexmix/package.py b/repos/spack_repo/builtin/packages/chexmix/package.py index 479b9f977a8..c0c6e85fc6c 100644 --- a/repos/spack_repo/builtin/packages/chexmix/package.py +++ b/repos/spack_repo/builtin/packages/chexmix/package.py @@ -45,6 +45,5 @@ def install(self, spec, prefix): set_executable(script) # set the helper script to explicitly point to java and the .jar file java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("chexmix.jar", join_path(prefix.bin, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file("chexmix.jar", join_path(prefix.bin, jar_file), script) diff --git a/repos/spack_repo/builtin/packages/corenlp/package.py b/repos/spack_repo/builtin/packages/corenlp/package.py index 254ed493f5c..d850aef6d7f 100644 --- a/repos/spack_repo/builtin/packages/corenlp/package.py +++ b/repos/spack_repo/builtin/packages/corenlp/package.py @@ -60,8 +60,7 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the # jar file. java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) + filter_file("^java", java, script) def setup_run_environment(self, env: EnvironmentModifications) -> None: class_paths = [] diff --git a/repos/spack_repo/builtin/packages/cromwell/package.py b/repos/spack_repo/builtin/packages/cromwell/package.py index 8f86250fc99..418cf32f921 100644 --- a/repos/spack_repo/builtin/packages/cromwell/package.py +++ b/repos/spack_repo/builtin/packages/cromwell/package.py @@ -45,6 +45,5 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the # jar file. java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("cromwell.jar", join_path(prefix.bin, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file("cromwell.jar", join_path(prefix.bin, jar_file), script) diff --git a/repos/spack_repo/builtin/packages/cromwell_womtool/package.py b/repos/spack_repo/builtin/packages/cromwell_womtool/package.py index b975ff45a54..d06f718655d 100644 --- a/repos/spack_repo/builtin/packages/cromwell_womtool/package.py +++ b/repos/spack_repo/builtin/packages/cromwell_womtool/package.py @@ -40,6 +40,5 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the # jar file. java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("womtool.jar", join_path(prefix.bin, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file("womtool.jar", join_path(prefix.bin, jar_file), script) diff --git a/repos/spack_repo/builtin/packages/daligner/package.py b/repos/spack_repo/builtin/packages/daligner/package.py index cc681a7ca36..4237ee7a6e1 100644 --- a/repos/spack_repo/builtin/packages/daligner/package.py +++ b/repos/spack_repo/builtin/packages/daligner/package.py @@ -19,8 +19,7 @@ class Daligner(MakefilePackage): def edit(self, spec, prefix): makefile = FileFilter("Makefile") - kwargs = {"ignore_absent": False, "backup": False, "string": True} - makefile.filter("cp $(ALL) ~/bin", "cp $(ALL) {0}".format(prefix.bin), **kwargs) + makefile.filter("cp $(ALL) ~/bin", "cp $(ALL) {0}".format(prefix.bin), string=True) # He changed the Makefile in commit dae119. # You'll need this instead if/when he cuts a new release # or if you try to build from the tip of master. diff --git a/repos/spack_repo/builtin/packages/eccodes/package.py b/repos/spack_repo/builtin/packages/eccodes/package.py index 8d68e523936..87dae44b437 100644 --- a/repos/spack_repo/builtin/packages/eccodes/package.py +++ b/repos/spack_repo/builtin/packages/eccodes/package.py @@ -227,20 +227,18 @@ def patch(self): ] ) - kwargs = {"string": False, "backup": False, "ignore_absent": True} - # Return the kind and not the size: filter_file( r"(^\s*kind_of_double\s*=\s*)(\d{1,2})(\s*$)", "\\1kind(real\\2)\\3", "fortran/grib_types.f90", - **kwargs, + ignore_absent=True, ) filter_file( r"(^\s*kind_of_\w+\s*=\s*)(\d{1,2})(\s*$)", "\\1kind(x\\2)\\3", "fortran/grib_types.f90", - **kwargs, + ignore_absent=True, ) # Replace integer kinds: @@ -249,7 +247,7 @@ def patch(self): r"(^\s*integer\((?:kind=)?){0}(\).*)".format(size), "\\1selected_int_kind({0})\\2".format(r), *patch_kind_files, - **kwargs, + ignore_absent=True, ) # Replace real kinds: @@ -258,7 +256,7 @@ def patch(self): r"(^\s*real\((?:kind=)?){0}(\).*)".format(size), "\\1selected_real_kind({0}, {1})\\2".format(p, r), *patch_kind_files, - **kwargs, + ignore_absent=True, ) # Enable getarg and exit subroutines: @@ -266,7 +264,7 @@ def patch(self): r"(^\s*program\s+\w+)(\s*$)", "\\1; use f90_unix_env; use f90_unix_proc\\2", *patch_unix_ext_files, - **kwargs, + ignore_absent=True, ) @property diff --git a/repos/spack_repo/builtin/packages/gatk/package.py b/repos/spack_repo/builtin/packages/gatk/package.py index 4c8d33db822..55e7200d05e 100644 --- a/repos/spack_repo/builtin/packages/gatk/package.py +++ b/repos/spack_repo/builtin/packages/gatk/package.py @@ -94,13 +94,9 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the # jar file. java = join_path(self.spec["java"].prefix, "bin", "java") - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) + filter_file("^java", java, script) filter_file( - "GenomeAnalysisTK.jar", - join_path(prefix.bin, "GenomeAnalysisTK.jar"), - script, - **kwargs, + "GenomeAnalysisTK.jar", join_path(prefix.bin, "GenomeAnalysisTK.jar"), script ) def setup_run_environment(self, env: EnvironmentModifications) -> None: diff --git a/repos/spack_repo/builtin/packages/genomefinisher/package.py b/repos/spack_repo/builtin/packages/genomefinisher/package.py index be88d3ef6e4..c3b077da58d 100644 --- a/repos/spack_repo/builtin/packages/genomefinisher/package.py +++ b/repos/spack_repo/builtin/packages/genomefinisher/package.py @@ -38,6 +38,5 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the jar file # jar file. java = spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file(jar_file, join_path(prefix.bin, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file(jar_file, join_path(prefix.bin, jar_file), script) diff --git a/repos/spack_repo/builtin/packages/haploview/package.py b/repos/spack_repo/builtin/packages/haploview/package.py index 42d749732f8..515699ee056 100644 --- a/repos/spack_repo/builtin/packages/haploview/package.py +++ b/repos/spack_repo/builtin/packages/haploview/package.py @@ -35,6 +35,5 @@ def install(self, spec, prefix): set_executable(script) java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("haploview.jar", join_path(prefix.bin, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file("haploview.jar", join_path(prefix.bin, jar_file), script) diff --git a/repos/spack_repo/builtin/packages/igvtools/package.py b/repos/spack_repo/builtin/packages/igvtools/package.py index 9f79e8eb4d4..1609bc06de9 100644 --- a/repos/spack_repo/builtin/packages/igvtools/package.py +++ b/repos/spack_repo/builtin/packages/igvtools/package.py @@ -36,6 +36,5 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the # jar file. java = spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file(jar_file, join_path(prefix.bin, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file(jar_file, join_path(prefix.bin, jar_file), script) diff --git a/repos/spack_repo/builtin/packages/libxstream/package.py b/repos/spack_repo/builtin/packages/libxstream/package.py index d58f90e0efd..0141dc127fc 100644 --- a/repos/spack_repo/builtin/packages/libxstream/package.py +++ b/repos/spack_repo/builtin/packages/libxstream/package.py @@ -24,12 +24,10 @@ class Libxstream(Package): depends_on("gmake", type="build") def patch(self): - kwargs = {"ignore_absent": False, "backup": True, "string": True} makefile = FileFilter("Makefile.inc") - - makefile.filter("CC =", "CC ?=", **kwargs) - makefile.filter("CXX =", "CXX ?=", **kwargs) - makefile.filter("FC =", "FC ?=", **kwargs) + makefile.filter("CC =", "CC ?=", backup=True, string=True) + makefile.filter("CXX =", "CXX ?=", backup=True, string=True) + makefile.filter("FC =", "FC ?=", backup=True, string=True) def install(self, spec, prefix): make() diff --git a/repos/spack_repo/builtin/packages/mono/package.py b/repos/spack_repo/builtin/packages/mono/package.py index a3c86e9566b..02878f23042 100644 --- a/repos/spack_repo/builtin/packages/mono/package.py +++ b/repos/spack_repo/builtin/packages/mono/package.py @@ -76,8 +76,7 @@ def patch(self): before = 'return "/usr/share";' after = 'return "{0}";'.format(self.prefix.share) f = "mcs/class/corlib/System/Environment.cs" - kwargs = {"ignore_absent": False, "backup": True, "string": True} - filter_file(before, after, f, **kwargs) + filter_file(before, after, f, backup=True, string=True) def configure_args(self): args = [] diff --git a/repos/spack_repo/builtin/packages/multitail/package.py b/repos/spack_repo/builtin/packages/multitail/package.py index 8f1086c08b4..0488d6e2825 100644 --- a/repos/spack_repo/builtin/packages/multitail/package.py +++ b/repos/spack_repo/builtin/packages/multitail/package.py @@ -41,7 +41,8 @@ def edit(self, spec, prefix): # Copy the conf file directly into place (don't worry about # overwriting an existing file...) - kwargs = {"ignore_absent": False, "backup": False, "string": True} makefile.filter( - r"cp multitail.conf $(CONFIG_FILE).new", "cp multitail.conf $(CONFIG_FILE)", **kwargs + r"cp multitail.conf $(CONFIG_FILE).new", + "cp multitail.conf $(CONFIG_FILE)", + string=True, ) diff --git a/repos/spack_repo/builtin/packages/mummer/package.py b/repos/spack_repo/builtin/packages/mummer/package.py index 4b5063c8625..0ae1357a02b 100644 --- a/repos/spack_repo/builtin/packages/mummer/package.py +++ b/repos/spack_repo/builtin/packages/mummer/package.py @@ -31,8 +31,7 @@ def patch(self): """Fix mummerplot's use of defined on hashes (deprecated since perl@5.10, made illegal in perl@5.20.""" - kwargs = {"string": True} - filter_file("defined (%", "(%", "scripts/mummerplot.pl", **kwargs) + filter_file("defined (%", "(%", "scripts/mummerplot.pl", string=True) def install(self, spec, prefix): if self.run_tests: diff --git a/repos/spack_repo/builtin/packages/parallel/package.py b/repos/spack_repo/builtin/packages/parallel/package.py index 82e9bd4cb47..ea5049c9138 100644 --- a/repos/spack_repo/builtin/packages/parallel/package.py +++ b/repos/spack_repo/builtin/packages/parallel/package.py @@ -45,13 +45,12 @@ def filter_sbang(self): can fix up the path to the perl binary. """ perl = self.spec["perl"].command - kwargs = {"ignore_absent": False, "backup": False, "string": False} with working_dir("src"): match = "^#!/usr/bin/env perl|^#!/usr/bin/perl.*" substitute = f"#!{perl}" files = ["parallel", "niceload", "parcat", "sql"] - filter_file(match, substitute, *files, **kwargs) + filter_file(match, substitute, *files) # Since scripts are run during installation, we need to add sbang for file in files: filter_shebang(file) diff --git a/repos/spack_repo/builtin/packages/perl/package.py b/repos/spack_repo/builtin/packages/perl/package.py index eb6f4e4f87c..ddb65e69c7c 100644 --- a/repos/spack_repo/builtin/packages/perl/package.py +++ b/repos/spack_repo/builtin/packages/perl/package.py @@ -358,7 +358,6 @@ def filter_config_dot_pm(self): """ if sys.platform == "win32": return - kwargs = {"ignore_absent": True, "backup": False, "string": False} # Find the actual path to the installed Config.pm file. config_dot_pm = self.command( @@ -369,7 +368,7 @@ def filter_config_dot_pm(self): with self.make_briefly_writable(config_dot_pm): match = "cc *=>.*" substitute = "cc => '{cc}',".format(cc=c_compiler) - filter_file(match, substitute, config_dot_pm, **kwargs) + filter_file(match, substitute, config_dot_pm, ignore_absent=True) # And the path Config_heavy.pl d = os.path.dirname(config_dot_pm) @@ -378,15 +377,15 @@ def filter_config_dot_pm(self): with self.make_briefly_writable(config_heavy): match = "^cc=.*" substitute = "cc='{cc}'".format(cc=c_compiler) - filter_file(match, substitute, config_heavy, **kwargs) + filter_file(match, substitute, config_heavy, ignore_absent=True) match = "^ld=.*" substitute = "ld='{ld}'".format(ld=c_compiler) - filter_file(match, substitute, config_heavy, **kwargs) + filter_file(match, substitute, config_heavy, ignore_absent=True) match = "^ccflags='" substitute = "ccflags='%s " % " ".join(self.spec.compiler_flags["cflags"]) - filter_file(match, substitute, config_heavy, **kwargs) + filter_file(match, substitute, config_heavy, ignore_absent=True) @contextmanager def make_briefly_writable(self, path): diff --git a/repos/spack_repo/builtin/packages/pgdspider/package.py b/repos/spack_repo/builtin/packages/pgdspider/package.py index 5b102341d55..763df29d686 100644 --- a/repos/spack_repo/builtin/packages/pgdspider/package.py +++ b/repos/spack_repo/builtin/packages/pgdspider/package.py @@ -37,6 +37,5 @@ def install(self, spec, prefix): set_executable(script) java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("pgdspider.jar", join_path(prefix.bin, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file("pgdspider.jar", join_path(prefix.bin, jar_file), script) diff --git a/repos/spack_repo/builtin/packages/picard/package.py b/repos/spack_repo/builtin/packages/picard/package.py index 4e1fc1ec698..cffde8a4fa2 100644 --- a/repos/spack_repo/builtin/packages/picard/package.py +++ b/repos/spack_repo/builtin/packages/picard/package.py @@ -197,9 +197,8 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the # jar file. java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("picard.jar", join_path(prefix.bin, "picard.jar"), script, **kwargs) + filter_file("^java", java, script) + filter_file("picard.jar", join_path(prefix.bin, "picard.jar"), script) def setup_run_environment(self, env: EnvironmentModifications) -> None: """The Picard docs suggest setting this as a convenience.""" diff --git a/repos/spack_repo/builtin/packages/pilon/package.py b/repos/spack_repo/builtin/packages/pilon/package.py index f626fe8b555..1c78554ba5a 100644 --- a/repos/spack_repo/builtin/packages/pilon/package.py +++ b/repos/spack_repo/builtin/packages/pilon/package.py @@ -44,6 +44,5 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the # jar file. java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("pilon-{0}.jar", join_path(prefix.bin, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file("pilon-{0}.jar", join_path(prefix.bin, jar_file), script) diff --git a/repos/spack_repo/builtin/packages/psi4/package.py b/repos/spack_repo/builtin/packages/psi4/package.py index 1149e7f9d95..39dc9a40484 100644 --- a/repos/spack_repo/builtin/packages/psi4/package.py +++ b/repos/spack_repo/builtin/packages/psi4/package.py @@ -71,25 +71,37 @@ def filter_compilers(self): spec = self.spec prefix = spec.prefix - kwargs = {"ignore_absent": True, "backup": False, "string": True} - cc_files = ["bin/psi4-config"] cxx_files = ["bin/psi4-config", "include/psi4/psiconfig.h"] template = "share/psi4/plugin/Makefile.template" for filename in cc_files: filter_file( - os.environ["CC"], self.compiler.cc, os.path.join(prefix, filename), **kwargs + os.environ["CC"], + self.compiler.cc, + os.path.join(prefix, filename), + ignore_absent=True, + string=True, ) for filename in cxx_files: filter_file( - os.environ["CXX"], self.compiler.cxx, os.path.join(prefix, filename), **kwargs + os.environ["CXX"], + self.compiler.cxx, + os.path.join(prefix, filename), + ignore_absent=True, + string=True, ) # The binary still keeps track of the compiler used to install Psi4 # and uses it when creating a plugin template - filter_file("@PLUGIN_CXX@", self.compiler.cxx, os.path.join(prefix, template), **kwargs) + filter_file( + "@PLUGIN_CXX@", + self.compiler.cxx, + os.path.join(prefix, template), + ignore_absent=True, + string=True, + ) # The binary links to the build include directory instead of the # installation include directory: @@ -109,5 +121,6 @@ def filter_compilers(self): ) ), os.path.join(prefix, template), - **kwargs, + ignore_absent=True, + string=True, ) diff --git a/repos/spack_repo/builtin/packages/python/package.py b/repos/spack_repo/builtin/packages/python/package.py index d1b30111d0e..c0bd0277574 100644 --- a/repos/spack_repo/builtin/packages/python/package.py +++ b/repos/spack_repo/builtin/packages/python/package.py @@ -763,13 +763,12 @@ def filter_compilers(self): they were built with.""" if sys.platform == "win32": return - kwargs = {"ignore_absent": True, "backup": False, "string": True} filenames = [self.get_sysconfigdata_name(), self.config_vars["makefile_filename"]] - filter_file(spack_cc, self["c"].cc, *filenames, **kwargs) + filter_file(spack_cc, self["c"].cc, *filenames, ignore_absent=True, string=True) if spack_cxx: - filter_file(spack_cxx, self["cxx"].cxx, *filenames, **kwargs) + filter_file(spack_cxx, self["cxx"].cxx, *filenames, ignore_absent=True, string=True) @run_after("install") def symlink(self): diff --git a/repos/spack_repo/builtin/packages/qorts/package.py b/repos/spack_repo/builtin/packages/qorts/package.py index 0af4163e0a5..4de67322e8e 100644 --- a/repos/spack_repo/builtin/packages/qorts/package.py +++ b/repos/spack_repo/builtin/packages/qorts/package.py @@ -46,6 +46,5 @@ def install_jar(self): # Munge the helper script to explicitly point to java and the # jar file. java = self.spec["java"].prefix.bin.java - kwargs = {"backup": False} - filter_file("^java", java, script, **kwargs) - filter_file("QoRTs.jar", join_path(self.prefix.bin, "QoRTs.jar"), script, **kwargs) + filter_file("^java", java, script) + filter_file("QoRTs.jar", join_path(self.prefix.bin, "QoRTs.jar"), script) diff --git a/repos/spack_repo/builtin/packages/rna_seqc/package.py b/repos/spack_repo/builtin/packages/rna_seqc/package.py index 94d893a12b6..9d1ad57557c 100644 --- a/repos/spack_repo/builtin/packages/rna_seqc/package.py +++ b/repos/spack_repo/builtin/packages/rna_seqc/package.py @@ -59,6 +59,5 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the # jar file. java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("RNA-SeQC_v{0}.jar", join_path(prefix.bin, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file("RNA-SeQC_v{0}.jar", join_path(prefix.bin, jar_file), script) diff --git a/repos/spack_repo/builtin/packages/scalpel/package.py b/repos/spack_repo/builtin/packages/scalpel/package.py index f87a07cd693..dab77d4725b 100644 --- a/repos/spack_repo/builtin/packages/scalpel/package.py +++ b/repos/spack_repo/builtin/packages/scalpel/package.py @@ -37,8 +37,6 @@ def filter_sbang(self): """ with working_dir(self.stage.source_path): - kwargs = {"ignore_absent": True, "backup": False, "string": False} - match = "^#!/usr/bin/env perl" perl = self.spec["perl"].command substitute = "#!{perl}".format(perl=perl) @@ -49,7 +47,7 @@ def filter_sbang(self): "FindVariants.pl", "FindSomatic.pl", ] - filter_file(match, substitute, *files, **kwargs) + filter_file(match, substitute, *files, ignore_absent=True) # Scalpel doesn't actually *have* an install step. The authors # expect you to unpack the tarball, build it in the resulting diff --git a/repos/spack_repo/builtin/packages/sessreg/package.py b/repos/spack_repo/builtin/packages/sessreg/package.py index dc1d84fa7aa..97fcd1e4261 100644 --- a/repos/spack_repo/builtin/packages/sessreg/package.py +++ b/repos/spack_repo/builtin/packages/sessreg/package.py @@ -30,5 +30,4 @@ class Sessreg(AutotoolsPackage, XorgPackage): depends_on("util-macros", type="build") def patch(self): - kwargs = {"string": True} - filter_file("$(CPP) $(DEFS)", "$(CPP) -P $(DEFS)", "man/Makefile.in", **kwargs) + filter_file("$(CPP) $(DEFS)", "$(CPP) -P $(DEFS)", "man/Makefile.in", string=True) diff --git a/repos/spack_repo/builtin/packages/snpeff/package.py b/repos/spack_repo/builtin/packages/snpeff/package.py index 20fa5fd829f..4eada92f38d 100644 --- a/repos/spack_repo/builtin/packages/snpeff/package.py +++ b/repos/spack_repo/builtin/packages/snpeff/package.py @@ -40,8 +40,5 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the # jar file. java = self.spec["java"].prefix.bin.java - kwargs = {"backup": False} - filter_file("^java", java, script_path, **kwargs) - filter_file( - script + ".jar", join_path(prefix.bin, script + ".jar"), script_path, **kwargs - ) + filter_file("^java", java, script_path) + filter_file(script + ".jar", join_path(prefix.bin, script + ".jar"), script_path) diff --git a/repos/spack_repo/builtin/packages/sundials/package.py b/repos/spack_repo/builtin/packages/sundials/package.py index 8831cf0385b..f8c51a0b908 100644 --- a/repos/spack_repo/builtin/packages/sundials/package.py +++ b/repos/spack_repo/builtin/packages/sundials/package.py @@ -553,7 +553,6 @@ def filter_compilers(self): spec = self.spec - kwargs = {"ignore_absent": True, "backup": False, "string": True} dirname = os.path.join(self.prefix, "examples") cc_files = [ @@ -643,36 +642,68 @@ def filter_compilers(self): for filename in cc_files: filter_file( - os.environ["CC"], self.compiler.cc, os.path.join(dirname, filename), **kwargs + os.environ["CC"], + self.compiler.cc, + os.path.join(dirname, filename), + ignore_absent=True, + string=True, ) for filename in cc_files: - filter_file(r"^CPP\s*=.*", self.compiler.cc, os.path.join(dirname, filename), **kwargs) + filter_file( + r"^CPP\s*=.*", + self.compiler.cc, + os.path.join(dirname, filename), + ignore_absent=True, + string=True, + ) for filename in cxx_files: filter_file( - os.environ["CXX"], self.compiler.cxx, os.path.join(dirname, filename), **kwargs + os.environ["CXX"], + self.compiler.cxx, + os.path.join(dirname, filename), + ignore_absent=True, + string=True, ) for filename in cxx_files: - filter_file(r"^CPP\s*=.*", self.compiler.cc, os.path.join(dirname, filename), **kwargs) + filter_file( + r"^CPP\s*=.*", + self.compiler.cc, + os.path.join(dirname, filename), + ignore_absent=True, + string=True, + ) if ("+fcmix" in spec) and ("+examples" in spec): for filename in f77_files: filter_file( - os.environ["F77"], self.compiler.f77, os.path.join(dirname, filename), **kwargs + os.environ["F77"], + self.compiler.f77, + os.path.join(dirname, filename), + ignore_absent=True, + string=True, ) if ("+fcmix" in spec) and ("+examples" in spec): for filename in f90_files: filter_file( - os.environ["FC"], self.compiler.fc, os.path.join(dirname, filename), **kwargs + os.environ["FC"], + self.compiler.fc, + os.path.join(dirname, filename), + ignore_absent=True, + string=True, ) if ("+f2003" in spec) and ("+examples" in spec): for filename in f2003_files: filter_file( - os.environ["FC"], self.compiler.fc, os.path.join(dirname, filename), **kwargs + os.environ["FC"], + self.compiler.fc, + os.path.join(dirname, filename), + ignore_absent=True, + string=True, ) @property diff --git a/repos/spack_repo/builtin/packages/trimmomatic/package.py b/repos/spack_repo/builtin/packages/trimmomatic/package.py index 089c5566d7f..f6dff2b10d1 100644 --- a/repos/spack_repo/builtin/packages/trimmomatic/package.py +++ b/repos/spack_repo/builtin/packages/trimmomatic/package.py @@ -45,6 +45,5 @@ def install(self, spec, prefix): # Munge the helper script to explicitly point to java and the # jar file. java = self.spec["java"].prefix.bin.java - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("trimmomatic.jar", join_path(prefix.bin, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file("trimmomatic.jar", join_path(prefix.bin, jar_file), script) diff --git a/repos/spack_repo/builtin/packages/varscan/package.py b/repos/spack_repo/builtin/packages/varscan/package.py index 8633783ab55..5c11d6cef53 100644 --- a/repos/spack_repo/builtin/packages/varscan/package.py +++ b/repos/spack_repo/builtin/packages/varscan/package.py @@ -36,9 +36,8 @@ def install(self, spec, prefix): set_executable(script) java = join_path(self.spec["java"].prefix, "bin", "java") - kwargs = {"ignore_absent": False, "backup": False, "string": False} - filter_file("^java", java, script, **kwargs) - filter_file("varscan.jar", join_path(prefix.jar, jar_file), script, **kwargs) + filter_file("^java", java, script) + filter_file("varscan.jar", join_path(prefix.jar, jar_file), script) def setup_run_environment(self, env: EnvironmentModifications) -> None: env.set("VARSCAN_HOME", self.prefix.jar) diff --git a/repos/spack_repo/builtin/packages/vcftools/package.py b/repos/spack_repo/builtin/packages/vcftools/package.py index cc8e6ea2929..a20f46214d9 100644 --- a/repos/spack_repo/builtin/packages/vcftools/package.py +++ b/repos/spack_repo/builtin/packages/vcftools/package.py @@ -81,8 +81,7 @@ def filter_sbang(self): "vcf-tstv", "vcf-validator", ] - kwargs = {"ignore_absent": True, "backup": False, "string": False} - filter_file(match, substitute, *files, **kwargs) + filter_file(match, substitute, *files, ignore_absent=True) def setup_run_environment(self, env: EnvironmentModifications) -> None: env.prepend_path("PERL5LIB", self.prefix.lib)