From 193718ecd15671a536919a420136d47c21826dbb Mon Sep 17 00:00:00 2001 From: Tee KOBAYASHI Date: Sun, 30 Jan 2022 12:09:59 +0900 Subject: [PATCH] new package: yosys --- packages/yosys/Makefile.patch | 31 +++++++++++++++++++ packages/yosys/build.sh | 14 +++++++++ packages/yosys/passes-sat-qbfsat.cc.patch | 11 +++++++ .../yosys/techlibs-easic-synth_easic.cc.patch | 20 ++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 packages/yosys/Makefile.patch create mode 100644 packages/yosys/build.sh create mode 100644 packages/yosys/passes-sat-qbfsat.cc.patch create mode 100644 packages/yosys/techlibs-easic-synth_easic.cc.patch diff --git a/packages/yosys/Makefile.patch b/packages/yosys/Makefile.patch new file mode 100644 index 000000000..b8ecc2ea9 --- /dev/null +++ b/packages/yosys/Makefile.patch @@ -0,0 +1,31 @@ +--- a/Makefile ++++ b/Makefile +@@ -11,7 +11,7 @@ + + # features (the more the better) + ENABLE_TCL := 1 +-ENABLE_ABC := 1 ++ENABLE_ABC := 0 + ENABLE_GLOB := 1 + ENABLE_PLUGINS := 1 + ENABLE_READLINE := 1 +@@ -126,7 +126,6 @@ + + else + LDFLAGS += -rdynamic +-LDLIBS += -lrt + endif + + YOSYS_VER := 0.13 +@@ -187,9 +186,8 @@ + endif + + ifeq ($(CONFIG),clang) +-CXX = clang +-LD = clang++ +-CXXFLAGS += -std=$(CXXSTD) -Os ++LD = $(CXX) ++CXXFLAGS += -std=$(CXXSTD) + ABCMKARGS += ARCHFLAGS="-DABC_USE_STDINT_H" + + ifneq ($(SANITIZER),) diff --git a/packages/yosys/build.sh b/packages/yosys/build.sh new file mode 100644 index 000000000..df1a9c24e --- /dev/null +++ b/packages/yosys/build.sh @@ -0,0 +1,14 @@ +TERMUX_PKG_HOMEPAGE=https://yosyshq.net/yosys/ +TERMUX_PKG_DESCRIPTION="A framework for RTL synthesis tools" +TERMUX_PKG_LICENSE="ISC" +TERMUX_PKG_MAINTAINER="@termux" +TERMUX_PKG_VERSION=0.13 +TERMUX_PKG_SRCURL=https://github.com/YosysHQ/yosys/archive/refs/tags/yosys-${TERMUX_PKG_VERSION}.tar.gz +TERMUX_PKG_SHA256=004c203cb516887a8c76678a1fd76381198a8c46a17f4d893c34b7521df894b5 +TERMUX_PKG_DEPENDS="graphviz, libandroid-glob, libandroid-spawn, libc++, libffi, readline, tcl, zlib" +TERMUX_PKG_BUILD_IN_SRC=true +TERMUX_PKG_EXTRA_MAKE_ARGS="PREFIX=$TERMUX_PREFIX" + +termux_step_pre_configure() { + LDFLAGS+=" -landroid-glob -landroid-spawn" +} diff --git a/packages/yosys/passes-sat-qbfsat.cc.patch b/packages/yosys/passes-sat-qbfsat.cc.patch new file mode 100644 index 000000000..a4c9a2d9a --- /dev/null +++ b/packages/yosys/passes-sat-qbfsat.cc.patch @@ -0,0 +1,11 @@ +--- a/passes/sat/qbfsat.cc ++++ b/passes/sat/qbfsat.cc +@@ -251,7 +251,7 @@ + + QbfSolutionType qbf_solve(RTLIL::Module *mod, const QbfSolveOptions &opt) { + QbfSolutionType ret, best_soln; +- const std::string tempdir_name = make_temp_dir("/tmp/yosys-qbfsat-XXXXXX"); ++ const std::string tempdir_name = make_temp_dir("@TERMUX_PREFIX@/tmp/yosys-qbfsat-XXXXXX"); + RTLIL::Module *module = mod; + RTLIL::Design *design = module->design; + std::string module_name = module->name.str(); diff --git a/packages/yosys/techlibs-easic-synth_easic.cc.patch b/packages/yosys/techlibs-easic-synth_easic.cc.patch new file mode 100644 index 000000000..6b28b2a2b --- /dev/null +++ b/packages/yosys/techlibs-easic-synth_easic.cc.patch @@ -0,0 +1,20 @@ +--- a/techlibs/easic/synth_easic.cc ++++ b/techlibs/easic/synth_easic.cc +@@ -45,7 +45,7 @@ + log(" an output file is omitted if this parameter is not specified.\n"); + log("\n"); + log(" -etools \n"); +- log(" set path to the eTools installation. (default=/opt/eTools)\n"); ++ log(" set path to the eTools installation. (default=@TERMUX_PREFIX@/opt/eTools)\n"); + log("\n"); + log(" -run :\n"); + log(" only run the commands between the labels (see below). an empty\n"); +@@ -71,7 +71,7 @@ + { + top_opt = "-auto-top"; + vlog_file = ""; +- etools_path = "/opt/eTools"; ++ etools_path = "@TERMUX_PREFIX@/opt/eTools"; + flatten = true; + retime = false; + }