summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-build/remake')
-rw-r--r--dev-build/remake/Manifest1
-rw-r--r--dev-build/remake/files/remake-4.3.1.1.5-fno-common.patch103
-rw-r--r--dev-build/remake/metadata.xml9
-rw-r--r--dev-build/remake/remake-4.3.1.1.5.ebuild40
4 files changed, 153 insertions, 0 deletions
diff --git a/dev-build/remake/Manifest b/dev-build/remake/Manifest
new file mode 100644
index 000000000000..b96c6a20d2ab
--- /dev/null
+++ b/dev-build/remake/Manifest
@@ -0,0 +1 @@
+DIST remake-4.3+dbg-1.5.tar.gz 2546056 BLAKE2B c5c1b254d0533e0d9787d408f79e8aba93cab5185de76519dabef7ddca5c9d2021671099f9ff80df345732552f859ce31d1131b89cd56fb185bae4cee676b412 SHA512 90aa9674ed5d88b72fda5a99a103d0b1a643d10b18c1de1186478b026f6b4da73628bff75a180df880157b5cbfff1bfd782f4ee81880e0635d79113fcc0f7497
diff --git a/dev-build/remake/files/remake-4.3.1.1.5-fno-common.patch b/dev-build/remake/files/remake-4.3.1.1.5-fno-common.patch
new file mode 100644
index 000000000000..6c8650472e4e
--- /dev/null
+++ b/dev-build/remake/files/remake-4.3.1.1.5-fno-common.patch
@@ -0,0 +1,103 @@
+Adapted version of https://github.com/rocky/remake/commit/08113a28b9be25cf157ace5d63c2d36d7dbefc04
+--- a/src/debugger/file2line.c
++++ b/src/debugger/file2line.c
+@@ -26,6 +26,8 @@ Boston, MA 02111-1307, USA. */
+ #include "../src/rule.h"
+ #include "./file2line.h"
+
++struct hash_table file2lines;
++
+ unsigned long
+ file2lines_hash_1 (const void *key)
+ {
+--- a/src/debugger/file2line.h
++++ b/src/debugger/file2line.h
+@@ -19,15 +19,15 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+ #ifndef REMAKE_FILE2LINE
+ #define REMAKE_FILE2LINE
+-struct hash_table file2lines;
++extern struct hash_table file2lines;
+
+ typedef enum {
+ F2L_TARGET,
+ F2L_PATTERN
+ } f2l_entry_t;
+
+-
+-typedef struct lineo_array_s
++
++typedef struct lineo_array_s
+ {
+ const char *hname; /**< Name stored in hash table */
+ unsigned int size; /**< Number of entries in array */
+@@ -40,13 +40,13 @@ typedef struct lineo_array_s
+ only. So we do this on demand.
+ */
+ extern bool file2lines_init(void);
+-extern file_t *target_for_file_and_line (const char *psz_filename,
++extern file_t *target_for_file_and_line (const char *psz_filename,
+ unsigned int lineno,
+ /*out*/ f2l_entry_t *entry_type);
+ extern void file2lines_dump(void);
+ #endif
+
+-/*
++/*
+ * Local variables:
+ * eval: (c-set-style "gnu")
+ * indent-tabs-mode: nil
+--- a/src/dep.h
++++ b/src/dep.h
+@@ -139,7 +139,7 @@ struct dep *copy_dep_chain (const struct dep *d);
+ struct goaldep *read_all_makefiles (const char **makefiles);
+
+ /*! The chain of makefiles read by read_makefile. */
+-struct goaldep *read_makefiles;
++extern struct goaldep *read_makefiles;
+
+ void eval_buffer (char *buffer, const gmk_floc *floc);
+ enum update_status update_goal_chain (struct goaldep *goals);
+--- a/src/globals.h
++++ b/src/globals.h
+@@ -89,6 +89,6 @@ extern int in_debugger;
+ extern bool b_debugger_preread;
+
+ /* Remember the original value of the SHELL variable, from the environment. */
+-struct variable shell_var;
++extern struct variable shell_var;
+
+ #endif /*GLOBALS_H*/
+--- a/src/main.c
++++ b/src/main.c
+@@ -45,6 +45,8 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
+ # include <fcntl.h>
+ #endif
+
++struct goaldep *read_makefiles;
++
+ extern void initialize_stopchar_map ();
+
+ #if defined HAVE_WAITPID || defined HAVE_WAIT3
+--- a/src/make.h
++++ b/src/make.h
+@@ -324,7 +324,7 @@ extern int unixy_shell;
+ #endif
+ #ifdef SET_STACK_SIZE
+ # include <sys/resource.h>
+-struct rlimit stack_limit;
++extern struct rlimit stack_limit;
+ #endif
+
+ /* We have to have stdarg.h or varargs.h AND v*printf or doprnt to use
+--- a/src/print.h
++++ b/src/print.h
+@@ -39,7 +39,7 @@ void fatal_err (target_stack_node_t *p_call, const char *fmt, ...);
+
+ /* Think of the below not as an enumeration but as #defines done in a
+ way that we'll be able to use the value in a gdb. */
+-enum debug_print_enums_e {
++extern enum debug_print_enums_e {
+ MAX_STACK_SHOW = 1000,
+ } debug_print_enums1;
+
diff --git a/dev-build/remake/metadata.xml b/dev-build/remake/metadata.xml
new file mode 100644
index 000000000000..17bb5f7f22f9
--- /dev/null
+++ b/dev-build/remake/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">rocky/remake</remote-id>
+ <remote-id type="sourceforge">bashdb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/remake/remake-4.3.1.1.5.ebuild b/dev-build/remake/remake-4.3.1.1.5.ebuild
new file mode 100644
index 000000000000..2ecae49335c2
--- /dev/null
+++ b/dev-build/remake/remake-4.3.1.1.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_MAKE_BASE=$(ver_cut 1-2)
+MY_REMAKE_PATCH=$(ver_cut 4-)
+MY_P="${PN}-${MY_MAKE_BASE}+dbg-${MY_REMAKE_PATCH}"
+
+DESCRIPTION="Patched version of GNU Make with improved error reporting, tracing and debugging"
+HOMEPAGE="http://bashdb.sourceforge.net/remake/"
+SRC_URI="https://github.com/rocky/remake/releases/download/release_${MY_P/remake-/}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sparc x86"
+IUSE="guile readline"
+
+DEPEND="readline? ( sys-libs/readline:0= )"
+RDEPEND="${DEPEND}
+ guile? ( >=dev-scheme/guile-1.8:= )"
+BDEPEND="guile? ( >=dev-scheme/guile-1.8 )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fno-common.patch
+)
+
+src_configure() {
+ use readline || export vl_cv_lib_readline=no
+ econf $(use_with guile)
+}
+
+src_install() {
+ default
+
+ # delete files GNU make owns and remake doesn't care about.
+ rm -r "${ED}"/usr/include || die
+ rm "${ED}"/usr/share/info/make.info* || die
+}