summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-01-17 19:45:24 +0100
committerMichał Górny <mgorny@gentoo.org>2024-01-18 15:27:39 +0100
commitdfb9930ecd68a810ac82f2501f64338529532743 (patch)
treea4b6a7ff6acacafea3bbde3ef1994f66b56cf194 /dev-debug
parentMove {dev-util → dev-debug}/ald (diff)
downloadgentoo-dfb9930ecd68a810ac82f2501f64338529532743.tar.gz
gentoo-dfb9930ecd68a810ac82f2501f64338529532743.tar.bz2
gentoo-dfb9930ecd68a810ac82f2501f64338529532743.zip
Move {dev-util → dev-debug}/ddd
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-debug')
-rw-r--r--dev-debug/ddd/Manifest2
-rw-r--r--dev-debug/ddd/ddd-3.3.12-r5.ebuild85
-rw-r--r--dev-debug/ddd/ddd-3.4.0.ebuild82
-rw-r--r--dev-debug/ddd/files/ddd-3.3.12-clang.patch15
-rw-r--r--dev-debug/ddd/files/ddd-3.3.12-gcc44.patch10
-rw-r--r--dev-debug/ddd/files/ddd-3.3.12-gcc9.patch93
-rw-r--r--dev-debug/ddd/files/ddd-3.3.12-gdb-disassembler-bug.patch11
-rw-r--r--dev-debug/ddd/files/ddd-3.3.12-man.patch16
-rw-r--r--dev-debug/ddd/files/ddd-3.3.12-parallel.patch15
-rw-r--r--dev-debug/ddd/files/ddd-3.3.12-tinfo.patch11
-rw-r--r--dev-debug/ddd/metadata.xml18
11 files changed, 358 insertions, 0 deletions
diff --git a/dev-debug/ddd/Manifest b/dev-debug/ddd/Manifest
new file mode 100644
index 000000000000..3409e9cb445f
--- /dev/null
+++ b/dev-debug/ddd/Manifest
@@ -0,0 +1,2 @@
+DIST ddd-3.3.12.tar.gz 5687115 BLAKE2B 52c448eda46bfdc4f5720abda569a0c70f3680c3fdd543f6101c9af8c4c448496414c1c2a7be91590d9f14d0c8c2bb053a234d179bf900ca52df0ea8c2642131 SHA512 1249e4f5f25335f8f2c3616470f7a8f36262c00b8ac12b79f2b2806228de2831ebeb780fe09490e5e8b5b1ca108fe936ae70856f6a6ec02876fc75c7b4a7dbf3
+DIST ddd-3.4.0.tar.gz 5742233 BLAKE2B d67969ce2a9803875d8c22abb0708fae2b3e8ef7ce3e36d0969f60ee2f72251fe96774e2768f1dc57e9973684c07ba02d275a711a7a15af24585d6b1468d8eec SHA512 0498eeeb12da7c7f5e2343da2ec44b68ff2b7b9b6481386a8fb9f2d9ac3a9c7154361fe0be78ce81fd966afbc48ed212f40747d1e3b112109ec16f152c67786a
diff --git a/dev-debug/ddd/ddd-3.3.12-r5.ebuild b/dev-debug/ddd/ddd-3.3.12-r5.ebuild
new file mode 100644
index 000000000000..de0f8edcfecf
--- /dev/null
+++ b/dev-debug/ddd/ddd-3.3.12-r5.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools desktop optfeature
+
+DESCRIPTION="Graphical front-end for command-line debuggers"
+HOMEPAGE="https://www.gnu.org/software/ddd"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3 LGPL-3 FDL-1.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="readline"
+
+RESTRICT="test"
+
+COMMON_DEPEND="
+ dev-debug/gdb
+ sys-libs/ncurses:=
+ x11-libs/libX11
+ x11-libs/libXaw
+ x11-libs/libXmu
+ x11-libs/libXpm
+ x11-libs/libXt
+ >=x11-libs/motif-2.3:0
+ ppc? ( dev-libs/elfutils )
+ ppc64? ( dev-libs/elfutils )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${COMMON_DEPEND}
+ x11-base/xorg-proto
+"
+RDEPEND="${COMMON_DEPEND}
+ x11-apps/xfontsel
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-gcc44.patch"
+ "${FILESDIR}/${P}-gdb-disassembler-bug.patch"
+ "${FILESDIR}/${PN}-3.3.12-man.patch"
+ "${FILESDIR}/${PN}-3.3.12-tinfo.patch"
+ "${FILESDIR}/${PN}-3.3.12-gcc9.patch"
+ "${FILESDIR}/${PN}-3.3.12-parallel.patch"
+ "${FILESDIR}/${PN}-3.3.12-clang.patch"
+)
+
+DOCS=(
+ AUTHORS CREDITS INSTALL NEWS PROBLEMS README TIPS TODO
+ doc/ddd{-paper.ps,.pdf,-themes.pdf}
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_with readline)
+}
+
+src_install() {
+ # Remove app defaults
+ rm -f "${S}"/ddd/Ddd || die
+
+ # Install ddd distribution
+ default
+
+ # Install application icon
+ doicon "${S}"/icons/ddd.xpm
+}
+
+pkg_postinst() {
+ optfeature "Data visualisation" sci-visualization/gnuplot
+ optfeature "Java debugging" virtual/jdk
+ optfeature "Bash debugging" app-shells/bashdb
+ optfeature "Perl debugging" dev-lang/perl
+ optfeature "Python debugging" dev-python/pydb
+ elog
+ elog "Important notice: if you encounter DDD crashes during visualization, you might"
+ elog "have hit bug #459324. Try switching to plotting in external window:"
+ elog "Select Edit|Preferences|Helpers and switch 'plot window' to 'external'"
+}
diff --git a/dev-debug/ddd/ddd-3.4.0.ebuild b/dev-debug/ddd/ddd-3.4.0.ebuild
new file mode 100644
index 000000000000..57ef0f7ffdf5
--- /dev/null
+++ b/dev-debug/ddd/ddd-3.4.0.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools desktop optfeature
+
+DESCRIPTION="Graphical front-end for command-line debuggers"
+HOMEPAGE="https://www.gnu.org/software/ddd"
+SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3 LGPL-3 FDL-1.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="readline"
+
+RESTRICT="test"
+
+COMMON_DEPEND="
+ dev-debug/gdb
+ sys-libs/ncurses:=
+ x11-libs/libX11
+ x11-libs/libXaw
+ x11-libs/libXmu
+ x11-libs/libXpm
+ x11-libs/libXt
+ >=x11-libs/motif-2.3:0
+ ppc? ( dev-libs/elfutils )
+ ppc64? ( dev-libs/elfutils )
+ readline? ( sys-libs/readline:= )
+"
+DEPEND="${COMMON_DEPEND}
+ x11-base/xorg-proto
+"
+RDEPEND="${COMMON_DEPEND}
+ x11-apps/xfontsel
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.3.12-man.patch"
+ "${FILESDIR}/${PN}-3.3.12-tinfo.patch"
+# "${FILESDIR}/${PN}-3.4.0-gcc9.patch"
+ "${FILESDIR}/${PN}-3.3.12-parallel.patch"
+)
+
+DOCS=(
+ AUTHORS CREDITS INSTALL NEWS README TIPS
+ doc/ddd{.pdf,-themes.pdf}
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_with readline)
+}
+
+src_install() {
+ # Remove app defaults
+ rm -f "${S}"/ddd/Ddd || die
+
+ # Install ddd distribution
+ default
+
+ # Install application icon
+ doicon "${S}"/icons/ddd.xpm
+}
+
+pkg_postinst() {
+ optfeature "Data visualisation" sci-visualization/gnuplot
+ optfeature "Java debugging" virtual/jdk
+ optfeature "Bash debugging" app-shells/bashdb
+ optfeature "Perl debugging" dev-lang/perl
+ optfeature "Python debugging" dev-python/pydb
+ elog
+ elog "Important notice: if you encounter DDD crashes during visualization, you might"
+ elog "have hit bug #459324. Try switching to plotting in external window:"
+ elog "Select Edit|Preferences|Helpers and switch 'plot window' to 'external'"
+}
diff --git a/dev-debug/ddd/files/ddd-3.3.12-clang.patch b/dev-debug/ddd/files/ddd-3.3.12-clang.patch
new file mode 100644
index 000000000000..a1f8da27b116
--- /dev/null
+++ b/dev-debug/ddd/files/ddd-3.3.12-clang.patch
@@ -0,0 +1,15 @@
+diff -ruN ddd-3.3.12/ddd/exit.C ddd-my/ddd/exit.C
+--- ddd-3.3.12/ddd/exit.C 2009-02-11 18:25:07.000000000 +0100
++++ ddd-my/ddd/exit.C 2020-09-27 03:23:14.713650981 +0200
+@@ -769,7 +769,11 @@
+
+ static XtAppContext xt_error_app_context = 0;
+
++#ifdef __clang__
++static void ddd_xt_error(String message = 0) _X_NORETURN
++#else
+ static void ddd_xt_error(String message = 0)
++#endif
+ {
+ ddd_has_crashed = true;
+
diff --git a/dev-debug/ddd/files/ddd-3.3.12-gcc44.patch b/dev-debug/ddd/files/ddd-3.3.12-gcc44.patch
new file mode 100644
index 000000000000..2464b2b4a9c4
--- /dev/null
+++ b/dev-debug/ddd/files/ddd-3.3.12-gcc44.patch
@@ -0,0 +1,10 @@
+--- ddd-3.3.12-orig/ddd/strclass.C
++++ ddd-3.3.12/ddd/strclass.C
+@@ -39,6 +39,7 @@
+ #include <limits.h>
+ #include <new>
+ #include <stdlib.h>
++#include <stdio.h>
+
+ void string::error(const char* msg) const
+ {
diff --git a/dev-debug/ddd/files/ddd-3.3.12-gcc9.patch b/dev-debug/ddd/files/ddd-3.3.12-gcc9.patch
new file mode 100644
index 000000000000..ce12a41c91d2
--- /dev/null
+++ b/dev-debug/ddd/files/ddd-3.3.12-gcc9.patch
@@ -0,0 +1,93 @@
+diff -ruN -x '*.am' ddd-3.3.12/ddd/strclass.h my/ddd/strclass.h
+--- ddd-3.3.12/ddd/strclass.h 2009-02-11 18:25:06.000000000 +0100
++++ my/ddd/strclass.h 2019-11-22 22:00:49.000267420 +0100
+@@ -543,7 +543,6 @@
+ bool OK() const;
+ };
+
+-
+ class string
+ {
+ friend class subString;
+@@ -811,9 +810,9 @@
+ const regex& sep);
+
+ friend string common_prefix(const string& x, const string& y,
+- int startpos = 0);
++ int startpos);
+ friend string common_suffix(const string& x, const string& y,
+- int startpos = -1);
++ int startpos);
+ friend string replicate(char c, int n);
+ friend string replicate(const string& y, int n);
+ friend string join(const string *src, int n, const string& sep);
+@@ -864,8 +863,8 @@
+ friend std::istream& operator>>(std::istream& s, string& x);
+
+ friend int readline(std::istream& s, string& x,
+- char terminator = '\n',
+- int discard_terminator = 1);
++ char terminator,
++ int discard_terminator);
+
+ // Status
+ unsigned int length() const;
+@@ -882,6 +881,58 @@
+ bool OK() const;
+ };
+
++inline void cat(const string&, const string&, string&);
++inline void cat(const string&, const subString&, string&);
++inline void cat(const string&, const constSubString&, string&);
++inline void cat(const string&, const char*, string&);
++inline void cat(const string&, char*, string&);
++inline void cat(const string&, char, string&);
++
++inline void cat(const subString&, const string&, string&);
++inline void cat(const subString&, const subString&, string&);
++inline void cat(const subString&, const char*, string&);
++inline void cat(const subString&, char*, string&);
++inline void cat(const subString&, char, string&);
++
++inline void cat(const char*, const string&, string&);
++inline void cat(const char*, const subString&, string&);
++inline void cat(const char*, const char*, string&);
++inline void cat(const char*, char*, string&);
++inline void cat(const char*, char, string&);
++
++inline void cat(char*, const string&, string&);
++inline void cat(char*, const subString&, string&);
++inline void cat(char*, const char*, string&);
++inline void cat(char*, char*, string&);
++inline void cat(char*, char, string&);
++
++inline void cat(char, const string&, string&);
++inline void cat(char, const subString&, string&);
++inline void cat(char, const char*, string&);
++inline void cat(char, char*, string&);
++inline void cat(char, char, string&);
++
++int split(const string& x, string *res, int maxn,
++ const string& sep);
++int split(const string& x, string *res, int maxn,
++ const regex& sep);
++
++string common_prefix(const string& x, const string& y,
++ int startpos = 0);
++string common_suffix(const string& x, const string& y,
++ int startpos = -1);
++string replicate(char c, int n);
++string replicate(const string& y, int n);
++string join(const string *src, int n, const string& sep);
++
++inline std::ostream& operator<<(std::ostream& s, const string& x);
++inline std::ostream& operator<<(std::ostream& s, const subString& x);
++std::istream& operator>>(std::istream& s, string& x);
++
++int readline(std::istream& s, string& x,
++ char terminator = '\n',
++ int discard_terminator = 1);
++
+ // Inject names manually to accomodate argument-dependent name lookup (ADL)
+ // (aka Koenig lookup). The rule is that friend declarations are visible
+ // when found through ADL because an argument of the call happens to be
diff --git a/dev-debug/ddd/files/ddd-3.3.12-gdb-disassembler-bug.patch b/dev-debug/ddd/files/ddd-3.3.12-gdb-disassembler-bug.patch
new file mode 100644
index 000000000000..738cda5946f9
--- /dev/null
+++ b/dev-debug/ddd/files/ddd-3.3.12-gdb-disassembler-bug.patch
@@ -0,0 +1,11 @@
+--- a/ddd/GDBAgent.C 2004-09-01 20:07:38.000000000 +0200
++++ b/ddd/GDBAgent.C 2010-06-15 14:16:34.000000000 +0200
+@@ -3078,7 +3078,7 @@
+ {
+ string end_( end );
+ normalize_address(end_);
+- cmd += ' ';
++ cmd += ',';
+ cmd += end_;
+ }
+ return cmd;
diff --git a/dev-debug/ddd/files/ddd-3.3.12-man.patch b/dev-debug/ddd/files/ddd-3.3.12-man.patch
new file mode 100644
index 000000000000..06f9deb806f0
--- /dev/null
+++ b/dev-debug/ddd/files/ddd-3.3.12-man.patch
@@ -0,0 +1,16 @@
+diff -ruN ddd-3.3.12/ddd/Makefile.am ddd-my/ddd/Makefile.am
+--- ddd-3.3.12/ddd/Makefile.am 2009-02-11 18:25:07.000000000 +0100
++++ ddd-my/ddd/Makefile.am 2012-11-06 01:48:46.363493473 +0100
+@@ -1371,10 +1371,8 @@
+ man_MANS = ddd.1
+
+ # `ddd.man' has 8-bit format, `ddd.1' has 7-bit format
+-ddd.1: ddd.man $(srcdir)/unumlaut.sed
+- -$(SED) -f $(srcdir)/unumlaut.sed ddd.man | $(DELETE_CR) > $@~ \
+- && $(MV) $@~ $@
+-
++ddd.1: ddd.man
++ iconv -f ISO8859-15 -t UTF-8 ddd.man > ddd.1
+
+
+ # -----------------------------------------------------------------------------
diff --git a/dev-debug/ddd/files/ddd-3.3.12-parallel.patch b/dev-debug/ddd/files/ddd-3.3.12-parallel.patch
new file mode 100644
index 000000000000..21624a2ab614
--- /dev/null
+++ b/dev-debug/ddd/files/ddd-3.3.12-parallel.patch
@@ -0,0 +1,15 @@
+diff -ruN -x strclass.h ddd-3.3.12/ddd/Makefile.am my/ddd/Makefile.am
+--- ddd-3.3.12/ddd/Makefile.am 2009-02-11 18:25:07.000000000 +0100
++++ my/ddd/Makefile.am 2019-11-22 22:49:26.212765331 +0100
+@@ -580,9 +580,8 @@
+
+ # Make sure needed headers are built before trying to compile these files
+ # (Assume ddd.C is the first source file to be built.)
+-ddd.o: version.h host.h root.h
+-resources.o: Ddd.ad.h
+-show.o: build.h
++# MM: AND WHY WOULD YOU ASSUME THAT??
++BUILT_SOURCES = version.h host.h root.h Ddd.ad.h build.h
+
+ # -----------------------------------------------------------------------------
+ # Local Libraries.
diff --git a/dev-debug/ddd/files/ddd-3.3.12-tinfo.patch b/dev-debug/ddd/files/ddd-3.3.12-tinfo.patch
new file mode 100644
index 000000000000..ab7df14ae9d9
--- /dev/null
+++ b/dev-debug/ddd/files/ddd-3.3.12-tinfo.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -360,7 +360,7 @@
+ dnl
+ _termlib="${ddd_termlib}"
+ if test "x${ddd_termlib}" = x; then
+- _termlib="mytinfo ncurses curses termcap terminfo termlib"
++ _termlib="mytinfo ncurses tinfo curses termcap terminfo termlib"
+ fi
+ _termlib_path=
+ if test x"${ddd_termlib_libraries_path}" != x; then
diff --git a/dev-debug/ddd/metadata.xml b/dev-debug/ddd/metadata.xml
new file mode 100644
index 000000000000..0831f299a2df
--- /dev/null
+++ b/dev-debug/ddd/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>reavertm@gentoo.org</email>
+ <name>Maciej Mrozowski</name>
+ </maintainer>
+ <longdescription lang="en">
+ GNU DDD is a graphical front-end for command-line debuggers such as
+ GDB, DBX, WDB, Ladebug, JDB, XDB, the Perl debugger, the bash debugger,
+ or the Python debugger. Besides ``usual'' front-end features such as
+ viewing source texts, DDD has become famous through its interactive
+ graphical data display, where data structures are displayed as graphs.
+ </longdescription>
+ <upstream>
+ <remote-id type="savannah">ddd</remote-id>
+ </upstream>
+</pkgmetadata>