summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-shells/esh/esh-0.8.5-r3.ebuild (renamed from app-shells/esh/esh-0.8.5-r2.ebuild)11
-rw-r--r--app-shells/esh/files/esh-0.8.5-fix-build-for-clang16.patch38
2 files changed, 46 insertions, 3 deletions
diff --git a/app-shells/esh/esh-0.8.5-r2.ebuild b/app-shells/esh/esh-0.8.5-r3.ebuild
index 164a969d91f4..29ed1611a7a0 100644
--- a/app-shells/esh/esh-0.8.5-r2.ebuild
+++ b/app-shells/esh/esh-0.8.5-r3.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit flag-o-matic toolchain-funcs
@@ -19,13 +19,18 @@ DEPEND=">=sys-libs/readline-4.1:="
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-build-for-clang16.patch
+)
+
src_prepare() {
- default
# For some reason, this tarball has binary files in it for x86.
# Make clean so we can rebuild for our arch and optimization.
emake clean
+ default
+
sed -i \
-e 's|-g ||' \
-e 's|-DMEM_DEBUG ||' \
diff --git a/app-shells/esh/files/esh-0.8.5-fix-build-for-clang16.patch b/app-shells/esh/files/esh-0.8.5-fix-build-for-clang16.patch
new file mode 100644
index 000000000000..1d87f583f53a
--- /dev/null
+++ b/app-shells/esh/files/esh-0.8.5-fix-build-for-clang16.patch
@@ -0,0 +1,38 @@
+This fixes the build for clang16.
+
+Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
+
+diff --git a/hash.c b/hash.c
+index f3d7a3d..cf3c25a 100644
+--- a/hash.c
++++ b/hash.c
+@@ -148,7 +148,7 @@ void hash_init(hash_table* _hash_array, hash_entry data[]) {
+ }
+
+ void hash_free(hash_table* tab,
+- void (*func)()) {
++ void (*func)(void* data)) {
+ int i;
+ list* iter;
+
+
+--- a/read-rl.c
++++ b/read-rl.c
+@@ -99,7 +99,7 @@ static char** rl_esh_completion(char* word, int start, int end) {
+ }
+
+ if (openparen(rl_line_buffer[start])) {
+- return completion_matches(word, rl_find_builtin);
++ return rl_completion_matches(word, (rl_compentry_func_t *)rl_find_builtin);
+
+ } else {
+ return NULL;
+@@ -110,7 +110,7 @@ void read_init(void) {
+ rl_bind_key('\012', rl_literal_newline);
+
+ /* rl_catch_signals = 0; */
+- rl_attempted_completion_function = rl_esh_completion;
++ rl_attempted_completion_function = (rl_completion_func_t *)rl_esh_completion;
+ }
+
+ char* read_read(char* prompt) {