summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Keeshan <96727608+davekeeshan@users.noreply.github.com>2023-12-24 14:57:32 +0000
committerGitHub <noreply@github.com>2023-12-24 06:57:32 -0800
commitc32d5a4eba260b1b3f15c7761c54bc30a90d91ff (patch)
tree9c31740d97d3e67a469f63cec6f675e2a39546b7
parent3ff7b8d381ee66c22ba35d06f43ca50b202cf24e (diff)
downloadspack-c32d5a4eba260b1b3f15c7761c54bc30a90d91ff.tar.gz
spack-c32d5a4eba260b1b3f15c7761c54bc30a90d91ff.tar.bz2
spack-c32d5a4eba260b1b3f15c7761c54bc30a90d91ff.tar.xz
spack-c32d5a4eba260b1b3f15c7761c54bc30a90d91ff.zip
yosys: version update and added functionality (#41844)
* Add all versions back to 0.20, add more depends_on (flex, bison, libffi and ccache), add the ability to enable or disable both abc and ccache, abc is enabled by default, ccache is disabled by default * Fixed style with black * Removed unused f-string setups * Fixed style with black (again)
-rw-r--r--var/spack/repos/builtin/packages/yosys/package.py40
1 files changed, 38 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/yosys/package.py b/var/spack/repos/builtin/packages/yosys/package.py
index 29b36aff94..214341a452 100644
--- a/var/spack/repos/builtin/packages/yosys/package.py
+++ b/var/spack/repos/builtin/packages/yosys/package.py
@@ -20,22 +20,50 @@ class Yosys(MakefilePackage):
"""
homepage = "https://yosyshq.net/yosys"
- url = "https://github.com/YosysHQ/yosys/archive/refs/tags/yosys-0.35.tar.gz"
+ url = "https://github.com/YosysHQ/yosys/archive/refs/tags/yosys-0.36.tar.gz"
git = "https://github.com/YosysHQ/yosys.git"
maintainers("davekeeshan")
version("master", branch="master")
+ version("0.36", sha256="d69beedcb76db80681c2a0f445046311f3ba16716d5d0c3c5034dabcb6bd9b23")
version("0.35", sha256="a00643cf4cf83701bfa2b358066eb9d360393d30e8f5a8e65f619ab1fd10474a")
version("0.34", sha256="57897bc3fe5fdc940e9f3f3ae03b84f5f8e9149b6f26d3699f7ecb9f31a41ae0")
+ version("0.33", sha256="c240fa4fcc71c73b8989ab500f7bfa3109436fa1d7ba8d7e1028af4c42688f29")
+ version("0.32", sha256="07b168491fa103a57231483a80f8e03545d0c957672e96b73d4eb9c8c8c43930")
+ version("0.31", sha256="aadbd885b72a6c705035abcf7e2eb58d25689b18824ad91c71efd1d966f0bf50")
+ version("0.30", sha256="1b29c9ed3d396046b67c48f0900a5f2156c6136f2e0651671d05ee26369f147d")
+ version("0.29", sha256="475ba8cd06eec9050ebfd63a01e7a7c894d8f06c838b35459b7e29bbc89f4a22")
+ version("0.28", sha256="36048ef3493ab43cfaac0bb89fa405715b22acd3927bf7fd3c4b25f8ad541c22")
+ version("0.27", sha256="bd6c933daf48c0929b4a9b3f75713d1f79c173be4bdb82fc5d2f5feb97f3668b")
+ version("0.26", sha256="e869e3770797f7edf352fd3033d5bba8606d40d6b32bae5051d917d120b9a177")
+ version("0.25", sha256="673e87eecb68fd5e889ac94b93dc9ae070f1a27d94dacbd738212cf09f39578c")
+ version("0.24", sha256="6a00b60e2d6bc8df0db1e66aa27af42a0694121cfcd6a3cf6f39c9329ed91263")
+ version("0.23", sha256="ec982a9393b3217deecfbd3cf9a64109b85310a949e46a51cf2e07fba1071aeb")
+ version("0.22", sha256="2a0c29b6f66b3ee70316dd734eceb14f452445a83ccac600b97100ffd7c7a7aa")
+ version("0.21", sha256="2b0e140f47d682e1069b1ca53b1fd91cbb1c1546932bd5cb95566f59a673cd8d")
+ version("0.20", sha256="ee261487badf1b554616d555da8496a7c84ef21ae66a979ddd946b6949a780a4")
+
+ variant("abc", default=True, description="build with abc support")
+ variant("ccache", default=False, description="build with ccache support")
depends_on("automake", type="build")
+ depends_on("flex")
+ depends_on("bison")
+ depends_on("libffi")
depends_on("readline")
depends_on("pkg-config")
depends_on("tcl")
depends_on("zlib")
depends_on("llvm")
+ depends_on("ccache", type=("build", "run"), when="+ccache")
+
+ def edit(self, spec, prefix):
+ makefile = FileFilter("Makefile")
+
+ makefile.filter(r"ENABLE_ABC :=", "ENABLE_ABC ?=")
+ makefile.filter(r"ENABLE_CCACHE :=", "ENABLE_CCACHE ?=")
def setup_build_environment(self, env):
env.set("PREFIX", self.prefix)
@@ -43,4 +71,12 @@ class Yosys(MakefilePackage):
env.set(
"LDFLAGS", f'-L{self.spec["readline"].prefix.lib} -L{self.spec["zlib"].prefix.lib}'
)
- env.set("ABC_READLINE_INCLUDES", f'-I{self.spec["readline"].prefix.include}')
+ if self.spec.satisfies("+abc"):
+ env.set("ENABLE_ABC", "1")
+ env.set("ABC_READLINE_INCLUDES", f'-I{self.spec["readline"].prefix.include}')
+ else:
+ env.set("ENABLE_ABC", "0")
+ if self.spec.satisfies("+ccache"):
+ env.set("ENABLE_CCACHE", "1")
+ else:
+ env.set("ENABLE_CCACHE", "0")