summaryrefslogtreecommitdiff
path: root/dev-util/rizin/files/rizin-0.4.0-never-rebuild-parser.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/rizin/files/rizin-0.4.0-never-rebuild-parser.patch')
-rw-r--r--dev-util/rizin/files/rizin-0.4.0-never-rebuild-parser.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/dev-util/rizin/files/rizin-0.4.0-never-rebuild-parser.patch b/dev-util/rizin/files/rizin-0.4.0-never-rebuild-parser.patch
new file mode 100644
index 000000000000..0e6e95c09318
--- /dev/null
+++ b/dev-util/rizin/files/rizin-0.4.0-never-rebuild-parser.patch
@@ -0,0 +1,38 @@
+commit 7af437dbedaaa478b579d19133b6711923b037d8
+Author: John Helmert III <ajak@gentoo.org>
+Date: Mon Jul 4 12:44:43 2022 -0500
+
+ subprojects/rizin-shell-parser/src: Never rebuild parser.c
+
+ This requires dev-libs/tree-sitter[ts-cli] and net-libs/nodejs, both
+ of which would be heavy new dependencies. However, these are only
+ needed to rebuild the already-existing tree-sitter parser, which
+ doesn't do much for us (if anything) since it already exists. In this
+ case, it's better to just reduce fragility by unconditionally
+ disabling this.
+
+ Newly forward-ported from the 0.3.2 version.
+
+ Bug: https://bugs.gentoo.org/830068
+ Signed-off-by: John Helmert III <ajak@gentoo.org>
+
+diff --git a/subprojects/rizin-shell-parser/src/meson.build b/subprojects/rizin-shell-parser/src/meson.build
+index ae31896a98..14324daba0 100644
+--- a/subprojects/rizin-shell-parser/src/meson.build
++++ b/subprojects/rizin-shell-parser/src/meson.build
+@@ -1,14 +1,4 @@
+-tree_sitter_bin = find_program('tree-sitter', required: false)
+-node_bin = find_program('node', required: false)
+-if tree_sitter_bin.found() and node_bin.found() and tree_sitter_dep.type_name() != 'internal'
+- parser_c = custom_target('parser_src_c',
+- command: [tree_sitter_wrap_py, tree_sitter_bin, '@OUTDIR@/..', '@INPUT@'],
+- input: [grammar_js],
+- output: 'parser.c',
+- )
+-else
+- parser_c = files('parser.c')
+-endif
++parser_c = files('parser.c')
+
+ shell_parser_files = [files('scanner.c'), parser_c]
+ shell_parser_inc = [include_directories('tree_sitter')]