From d503f0347318d6afb5b38ac5082f15a1843e04cb Mon Sep 17 00:00:00 2001 From: Gerry Knapp Date: Mon, 6 Jan 2025 21:32:09 -0500 Subject: [PATCH] additivefoam: update build scripts for @main (#48223) --- .../assets/{ => assets_1.0.0}/Allwmake | 0 .../{ => assets_1.0.0}/applications/Allwmake | 0 .../additivefoam/assets/assets_main/Allwmake | 4 +++ .../assets/assets_main/applications/Allwmake | 9 ++++++ .../builtin/packages/additivefoam/package.py | 32 +++++++++++++++++-- 5 files changed, 42 insertions(+), 3 deletions(-) rename var/spack/repos/builtin/packages/additivefoam/assets/{ => assets_1.0.0}/Allwmake (100%) rename var/spack/repos/builtin/packages/additivefoam/assets/{ => assets_1.0.0}/applications/Allwmake (100%) create mode 100755 var/spack/repos/builtin/packages/additivefoam/assets/assets_main/Allwmake create mode 100755 var/spack/repos/builtin/packages/additivefoam/assets/assets_main/applications/Allwmake diff --git a/var/spack/repos/builtin/packages/additivefoam/assets/Allwmake b/var/spack/repos/builtin/packages/additivefoam/assets/assets_1.0.0/Allwmake similarity index 100% rename from var/spack/repos/builtin/packages/additivefoam/assets/Allwmake rename to var/spack/repos/builtin/packages/additivefoam/assets/assets_1.0.0/Allwmake diff --git a/var/spack/repos/builtin/packages/additivefoam/assets/applications/Allwmake b/var/spack/repos/builtin/packages/additivefoam/assets/assets_1.0.0/applications/Allwmake similarity index 100% rename from var/spack/repos/builtin/packages/additivefoam/assets/applications/Allwmake rename to var/spack/repos/builtin/packages/additivefoam/assets/assets_1.0.0/applications/Allwmake diff --git a/var/spack/repos/builtin/packages/additivefoam/assets/assets_main/Allwmake b/var/spack/repos/builtin/packages/additivefoam/assets/assets_main/Allwmake new file mode 100755 index 00000000000..e0aa5c6b87a --- /dev/null +++ b/var/spack/repos/builtin/packages/additivefoam/assets/assets_main/Allwmake @@ -0,0 +1,4 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +applications/Allwmake $targetType $* diff --git a/var/spack/repos/builtin/packages/additivefoam/assets/assets_main/applications/Allwmake b/var/spack/repos/builtin/packages/additivefoam/assets/assets_main/applications/Allwmake new file mode 100755 index 00000000000..3f3ed28dab7 --- /dev/null +++ b/var/spack/repos/builtin/packages/additivefoam/assets/assets_main/applications/Allwmake @@ -0,0 +1,9 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +# Parse arguments for library compilation +. $WM_PROJECT_DIR/wmake/scripts/AllwmakeParseArguments + +wmake $targetType solvers/additiveFoam/functionObjects/ExaCA +wmake $targetType solvers/additiveFoam/movingHeatSource +wmake $targetType solvers/additiveFoam \ No newline at end of file diff --git a/var/spack/repos/builtin/packages/additivefoam/package.py b/var/spack/repos/builtin/packages/additivefoam/package.py index 55bd8c64cb5..5512578bf70 100644 --- a/var/spack/repos/builtin/packages/additivefoam/package.py +++ b/var/spack/repos/builtin/packages/additivefoam/package.py @@ -2,10 +2,14 @@ # # SPDX-License-Identifier: (Apache-2.0 OR MIT) +import inspect import os +import llnl.util.tty as tty + +import spack.pkg.builtin.openfoam as openfoam from spack.package import * -from spack.pkg.builtin.openfoam import add_extra_files +from spack.version import Version class Additivefoam(Package): @@ -29,14 +33,36 @@ class Additivefoam(Package): depends_on("openfoam-org@10") common = ["spack-derived-Allwmake"] - assets = ["applications/Allwmake", "Allwmake"] + assets = [join_path("applications", "Allwmake"), "Allwmake"] build_script = "./spack-derived-Allwmake" phases = ["configure", "build", "install"] + def add_extra_files(self, common, local_prefix, local): + """Copy additional common and local files into the stage.source_path + from the openfoam/common and the package/assets directories, + respectively. Modified from `spack.pkg.builtin.openfoam.add_extra_files()`. + """ + outdir = self.stage.source_path + indir = join_path(os.path.dirname(inspect.getfile(openfoam)), "common") + for f in common: + tty.info("Added file {0}".format(f)) + openfoam.install(join_path(indir, f), join_path(outdir, f)) + + indir = join_path(self.package_dir, "assets", local_prefix) + for f in local: + tty.info("Added file {0}".format(f)) + openfoam.install(join_path(indir, f), join_path(outdir, f)) + def patch(self): - add_extra_files(self, self.common, self.assets) + spec = self.spec + asset_dir = "" + if Version("main") in spec.versions: + asset_dir = "assets_main" + elif Version("1.0.0") in spec.versions: + asset_dir = "assets_1.0.0" + self.add_extra_files(self.common, asset_dir, self.assets) def configure(self, spec, prefix): pass