diff options
author | Teague Sterling <teaguesterling@users.noreply.github.com> | 2024-07-23 14:47:04 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-23 14:47:04 -0700 |
commit | 8d33c2e7c04795f39e1bdb93e24c28823e627b2e (patch) | |
tree | 86142aa5c24e5eb0d394d7ec439795e78b4a3573 | |
parent | b3d82dc3a8fda9344f47e395accaeaf4bffbd561 (diff) | |
download | spack-8d33c2e7c04795f39e1bdb93e24c28823e627b2e.tar.gz spack-8d33c2e7c04795f39e1bdb93e24c28823e627b2e.tar.bz2 spack-8d33c2e7c04795f39e1bdb93e24c28823e627b2e.tar.xz spack-8d33c2e7c04795f39e1bdb93e24c28823e627b2e.zip |
generate-ninja: new package (#45391)
Signed-off-by: Teague Sterling <teaguesterling@gmail.com>
-rw-r--r-- | var/spack/repos/builtin/packages/generate-ninja/package.py | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/generate-ninja/package.py b/var/spack/repos/builtin/packages/generate-ninja/package.py new file mode 100644 index 0000000000..408152abc0 --- /dev/null +++ b/var/spack/repos/builtin/packages/generate-ninja/package.py @@ -0,0 +1,50 @@ +# Copyright 2013-2024 Lawrence Livermore National Security, LLC and other +# Spack Project Developers. See the top-level COPYRIGHT file for details. +# +# SPDX-License-Identifier: (Apache-2.0 OR MIT) +from spack.package import * + + +class GenerateNinja(Package): + """ + A meta-build system that generates build files for Ninja. + This is a fork of the Google GN package with some minor features and bug fixes + """ + + homepage = "https://github.com/o-lim/generate-ninja" + url = "https://github.com/o-lim/generate-ninja/archive/refs/tags/v0.4.1.tar.gz" + + license("BSD", checked_by="teaguesterling") + + version("0.4.1", sha256="1b2bec9dd18602a4af9dc8782ca809e44305f1435d43c55f35ec9eec50ca7e9a") + version("0.4.0", sha256="3575ed41eec49fe756dbd2c402f70cd80ba2952cc59ce2091d0a82b7bd3ce8a0") + version("0.3.2", sha256="82e949c3970d77b28c9df7cf3f3df409798b65848e05ff415009e7e2118460a8") + version("0.3.1", sha256="ed0112b434b80c322fcc9203646eaef17c306a804bf2ff5e5df91677c4e58678") + version("0.3.0", sha256="e6091d34cfc6bc625bfad4bbdc001e10ed951651d0ae98785b509bdfadad6822") + version("0.2.2", sha256="3146bdef1db9dfdc2d48bb5ee5e8e4ef9642ebea7cf39c432681685db8a11c86") + version("0.2.1", sha256="bf27ddde69bd0791ce86bd3ab9ead51dcfb00d3f202168057b721fdc39d417c5") + version("0.2.0", sha256="6cfd6f4a2f6d656e8d5f64d7f03a575a569b2c0f662d1d828ee790c9d9c2be25") + version("0.1.0", sha256="eb94e0bb170416010d3efa296fce63e7fec19f1e3e9b5988b2418166ec068896") + + depends_on("ninja") + depends_on("python", type="build") + depends_on("llvm+clang", type="build") + + def setup_build_environment(self, env): + env.set("DEPLOY", "1") + env.set("CC", self.spec["llvm"].home.bin.clang) + env.set("CXX", self.spec["llvm"].home.bin.join("clang++")) + + phases = ["configure", "build", "install"] + # build_targets = ["bootstrap", "gn"] + out_dir = "out" + + def configure(self, spec, prefix): + python("build/gen.py") + + def build(self, spec, prefix): + ninja("-C", self.out_dir) + + def install(self, spec, prefix): + mkdir(prefix.bin) + install(join_path(self.out_dir, "gn"), prefix.bin.gn) |