summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFilip Parag2020-03-05 20:54:17 +0100
committerFilip Parag2020-03-05 20:54:17 +0100
commit413b50eca80b98531e68658f928d94568a05e31d (patch)
tree0cc7e62a3e51089a69afcac27c7651febd902fad
downloadaur-413b50eca80b98531e68658f928d94568a05e31d.tar.gz
patched for gcc 9.2
-rw-r--r--.SRCINFO26
-rw-r--r--PKGBUILD39
-rw-r--r--ddd-3.3.12-gcc44.patch10
-rw-r--r--friend-default.patch68
-rw-r--r--tmd018135
5 files changed, 278 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..1c725a78848a
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,26 @@
+pkgbase = ddd-ftn
+ pkgdesc = A graphical front-end for command-line debuggers such as GDB, JDB, pydb, perl debugger adapted for use at Faculty of Technical Sciences, University of Novi Sad
+ pkgver = 3.3.12
+ pkgrel = 12
+ url = http://www.gnu.org/software/ddd/
+ arch = x86_64
+ license = GPL3
+ license = LGPL3
+ depends = gcc-libs
+ depends = openmotif
+ depends = libxaw
+ optdepends = gdb: to use the Gnu debugger
+ optdepends = java-runtime-openjdk: to use the Java debugger
+ optdepends = pydb: to use the Python debugger
+ optdepends = perl: to use the Perl debugger
+ source = http://ftp.gnu.org/gnu/ddd/ddd-ftn-3.3.12.tar.gz
+ source = ddd-3.3.12-gcc44.patch
+ source = friend-default.patch
+ source = tmd018
+ sha1sums = b91d2dfb1145af409138bd34517a898341724e56
+ sha1sums = 3d43c9d56347f248732b1d72f29c7bf799f03864
+ sha1sums = 4fcb220ed3f2b84b9f6a9090a7e147341ed98ee2
+ sha1sums = 951627de48d73ec85c8270b781374adba25fc4c0
+
+pkgname = ddd-ftn
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..e176fe7b6ae9
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Filip Parag <aur@filiparag.com>
+# Maintainer: Bojan Stipić <bojanstipic@uns.ac.rs>
+
+pkgname=ddd-ftn
+pkgver=3.3.12
+pkgrel=12
+pkgdesc="A graphical front-end for command-line debuggers such as GDB, JDB, pydb, perl debugger adapted for use at Faculty of Technical Sciences, University of Novi Sad"
+arch=('x86_64')
+url="http://www.gnu.org/software/ddd/"
+license=('GPL3' 'LGPL3')
+depends=('gcc-libs' 'openmotif' 'libxaw')
+optdepends=('gdb: to use the Gnu debugger'
+ 'java-runtime-openjdk: to use the Java debugger'
+ 'pydb: to use the Python debugger'
+ 'perl: to use the Perl debugger')
+source=(http://ftp.gnu.org/gnu/ddd/${pkgname}-${pkgver}.tar.gz ddd-3.3.12-gcc44.patch friend-default.patch tmd018)
+sha1sums=('b91d2dfb1145af409138bd34517a898341724e56'
+ '3d43c9d56347f248732b1d72f29c7bf799f03864'
+ '4fcb220ed3f2b84b9f6a9090a7e147341ed98ee2'
+ '951627de48d73ec85c8270b781374adba25fc4c0')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+ patch -p1 -i "${srcdir}/ddd-3.3.12-gcc44.patch"
+ patch -p1 -i "${srcdir}/friend-default.patch"
+ patch -p1 -i "${srcdir}/tmd018"
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+ LIBS+="-pthread" ./configure --prefix=/usr
+ make -O2
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+ install -D -m644 icons/ddd.xpm "${pkgdir}/usr/share/pixmaps/ddd.xpm"
+}
diff --git a/ddd-3.3.12-gcc44.patch b/ddd-3.3.12-gcc44.patch
new file mode 100644
index 000000000000..2464b2b4a9c4
--- /dev/null
+++ b/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/friend-default.patch b/friend-default.patch
new file mode 100644
index 000000000000..4175f4ad70a8
--- /dev/null
+++ b/friend-default.patch
@@ -0,0 +1,68 @@
+--- ddd-3.3.12-orig/ddd/strclass.C
++++ ddd-3.3.12/ddd/strclass.C
+index 7ef16fa..faea640 100644
+--- i/ddd/strclass.h
++++ w/ddd/strclass.h
+@@ -810,10 +810,10 @@ public:
+ friend int split(const string& x, string *res, int maxn,
+ const regex& sep);
+
+- friend string common_prefix(const string& x, const string& y,
+- int startpos = 0);
+- friend string common_suffix(const string& x, const string& y,
+- int startpos = -1);
++ inline string common_prefix(const string& x, const string& y);
++ friend string common_prefix(const string& x, const string& y, int startpos);
++ inline string common_suffix(const string& x, const string& y);
++ friend string common_suffix(const string& x, const string& y, 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);
+@@ -863,9 +863,10 @@ public:
+ friend inline std::ostream& operator<<(std::ostream& s, const subString& x);
+ friend std::istream& operator>>(std::istream& s, string& x);
+
+- friend int readline(std::istream& s, string& x,
+- char terminator = '\n',
+- int discard_terminator = 1);
++ inline int readline(std::istream& s, string& x);
++ inline int readline(std::istream& s, string& x, char terminator);
++ friend int readline(std::istream& s, string& x, char terminator,
++ int discard_terminator);
+
+ // Status
+ unsigned int length() const;
+@@ -1456,6 +1457,16 @@ inline string operator + (char x, const subString& y)
+ string r; cat(x, y, r); return r;
+ }
+
++inline string common_prefix(const string& x, const string& y)
++{
++ return common_prefix(x, y, 0);
++}
++
++inline string common_suffix(const string& x, const string& y)
++{
++ return common_suffix(x, y, -1);
++}
++
+ inline string reverse(const string& x)
+ {
+ string r; r.rep = string_Sreverse(x.rep, r.rep); return r;
+@@ -1476,6 +1487,16 @@ inline string capitalize(const string& x)
+ string r; r.rep = string_Scapitalize(x.rep, r.rep); return r;
+ }
+
++inline int readline(std::istream& s, string& x)
++{
++ return readline(s, x, '\n', 1);
++}
++
++inline int readline(std::istream& s, string& x, char terminator)
++{
++ return readline(s, x, terminator, 1);
++}
++
+ // prepend
+
+ inline string& string::prepend(const string& y)
diff --git a/tmd018 b/tmd018
new file mode 100644
index 000000000000..d1b1f5dabafc
--- /dev/null
+++ b/tmd018
@@ -0,0 +1,135 @@
+Index: ddd-3.3.12/ddd/Ddd.in.m4
+===================================================================
+--- ddd-3.3.12.orig/ddd/Ddd.in.m4 2014-10-10 23:13:16.569640891 +0200
++++ ddd-3.3.12/ddd/Ddd.in.m4 2014-10-10 23:13:16.561640891 +0200
+@@ -109,7 +109,7 @@
+ Ddd*openDebuggerConsole: on
+ Ddd*openSourceWindow: on
+ Ddd*openDataWindow: off
+-
++Ddd*displayPlacement: XmHORIZONTAL
+
+ ! On if programs are to be run in a separate top-level window.
+ ! If this is off, input/output is sent to the debugger console.
+@@ -122,7 +122,7 @@
+
+ ! On if DDD windows are to be iconified/uniconified as a whole.
+ ! If this is off, every DDD window can be iconified on its own.
+-Ddd*groupIconify: off
++Ddd*groupIconify: on
+
+
+ ! On if DDD windows are to be uniconified when GDB becomes ready.
+@@ -145,7 +145,7 @@
+ !
+ ! In this release, the default is still Motif, but this may change to KDE
+ ! in some future version.
+-Ddd*cutCopyPasteBindings: Motif
++Ddd*cutCopyPasteBindings: KDE
+
+
+ ! The key bindings to use for Ctrl+A (Select All):
+@@ -474,9 +474,46 @@
+ ! Ddd*sourceButtons: \
+ ! run\nstep\nnext\nstepi\nnexti\ncont\nfinish\nkill\n\
+ ! up\ndown\nBack\nForward\nEdit\ninterrupt^C
++Ddd*sourceButtons: \
++Reload\n\
++run\n\
++interrupt\n\
++step\n\
++next\n\
++stepi\n\
++nexti\n\
++cont\n\
++kill
+
+ ! The data window buttons (none: no buttons)
+-Ddd*dataButtons:
++! Ddd*dataButtons:
++Ddd*dataButtons: \
++graph display `x /1sb &()` //String\n\
++graph display `x /1cb &()` //Char\n\
++graph display `x /1db &()` //ByteD\n\
++graph display `x /1xb &()` //ByteH\n\
++graph display `x /1ub &()` //ByteU\n\
++graph display `x /1dh &()` //WordD\n\
++graph display `x /1xh &()` //WordH\n\
++graph display `x /1uh &()` //WordU\n\
++graph display `x /20xw ($esp)` //Stack\n\
++graph display ($eflags & 1) != 0 // c\n\
++graph display ($eflags & 64) != 0 // z\n\
++graph display ($eflags & 128) != 0 // s\n\
++graph display ($eflags & 1024) != 0 // d\n\
++graph display ($eflags & 2048) != 0 // o\n\
++graph display $eax & 255 // al\n\
++graph display $eax >> 8 & 255 // ah\n\
++graph display $eax & 65535 // ax\n\
++graph display $ebx & 255 // bl\n\
++graph display $ebx >> 8 & 255 // bh\n\
++graph display $ebx & 65535 // bx\n\
++graph display $ecx & 255 // cl\n\
++graph display $ecx >> 8 & 255 // ch\n\
++graph display $ecx & 65535 // cx\n\
++graph display $edx & 255 // dl\n\
++graph display $edx >> 8 & 255 // dh\n\
++graph display $edx & 65535 // dx
+
+ ! The command tool buttons, as of DDD 2.0 and later.
+ Ddd*toolButtons: \
+@@ -833,7 +870,7 @@
+ ! Ddd*cacheGlyphImages: on
+
+ ! Do we wish to display line numbers? (Default in DDD 2.1.1 and earlier)
+-Ddd*displayLineNumbers: off
++Ddd*displayLineNumbers: on
+
+ ! Do we wish to cache source files in memory?
+ Ddd*cacheSourceFiles: on
+@@ -946,11 +983,11 @@
+
+ ! Focus Policy
+ ! POINTER means point-and-type, EXPLICIT means click-and-type.
+-Ddd*keyboardFocusPolicy: POINTER
++Ddd*keyboardFocusPolicy: EXPLICIT
+
+ ! Warnings
+ ! Do we wish to suppress X warnings?
+-Ddd*suppressWarnings: off
++Ddd*suppressWarnings: on
+
+ ! Do we wish to warn if multiple DDD instances are running?
+ Ddd*warnIfLocked: off
+Index: ddd-3.3.12/ddd/examine.C
+===================================================================
+--- ddd-3.3.12.orig/ddd/examine.C 2014-10-10 23:13:16.569640891 +0200
++++ ddd-3.3.12/ddd/examine.C 2014-10-10 23:13:16.561640891 +0200
+@@ -196,7 +196,7 @@
+ strip_space(repeat);
+ strip_space(address);
+
+- if (GDB == gdb->type() && gdb->cpu == cpu_intel) {
++ if (GDB == gdb->type()) {
+
+ /* Intel x86 8 and 16-bit handling:
+ When you have an assembly line like this:
+Index: ddd-3.3.12/ddd/fonts.C
+===================================================================
+--- ddd-3.3.12.orig/ddd/fonts.C 2014-10-10 23:13:16.569640891 +0200
++++ ddd-3.3.12/ddd/fonts.C 2014-10-10 23:13:16.561640891 +0200
+@@ -162,12 +162,12 @@
+ switch (font)
+ {
+ case DefaultDDDFont:
+- return "-*-helvetica-bold-r-*-*-*-120-*-*-*-*-iso8859-*";
++ return "-*-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*";
+ case VariableWidthDDDFont:
+- return "-*-helvetica-medium-r-*-*-*-120-*-*-*-*-iso8859-*";
++ return "-*-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*";
+ case FixedWidthDDDFont:
+ case DataDDDFont:
+- return "-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-iso8859-*";
++ return "-*-lucidatypewriter-medium-r-*-*-*-120-*-*-*-*-*-*";
+ case SymbolDDDFont:
+ return "-*-symbol-*-*-*-*-*-120-*-*-*-*-adobe-*";
+ }