summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAviel Warschawski2020-02-01 08:46:56 +0200
committerAviel Warschawski2020-02-01 08:50:55 +0200
commitbdfccdefde81dbac6beafa08ea6ca2bc1b9da806 (patch)
tree0a31a9efa331ee89bb6e6c95dae69e4ec0a77dd1
parentbddcefd839ffc1a4fde63cd6a0a3210fbd184d7d (diff)
downloadaur-bdfccdefde81dbac6beafa08ea6ca2bc1b9da806.tar.gz
upgpkg: gdb-multiarch 8.3.1-1
-rwxr-xr-x.SRCINFO10
-rwxr-xr-xPKGBUILD16
-rw-r--r--python-3.8.patch128
3 files changed, 143 insertions, 11 deletions
diff --git a/.SRCINFO b/.SRCINFO
index a5ec2010bd62..f06d5b01cb18 100755
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = gdb-multiarch
pkgdesc = The GNU Debugger for all gdb supported architectures (i386/arm/mips...)
- pkgver = 8.3
+ pkgver = 8.3.1
pkgrel = 1
url = http://www.gnu.org/software/gdb/
arch = i686
@@ -13,11 +13,13 @@ pkgbase = gdb-multiarch
depends = guile2.0
depends = gdb-common
options = !emptydirs
- source = https://ftp.gnu.org/gnu/gdb/gdb-8.3.tar.xz
- source = https://ftp.gnu.org/gnu/gdb/gdb-8.3.tar.xz.sig
+ source = https://ftp.gnu.org/gnu/gdb/gdb-8.3.1.tar.xz
+ source = https://ftp.gnu.org/gnu/gdb/gdb-8.3.1.tar.xz.sig
+ source = python-3.8.patch
validpgpkeys = F40ADB902B24264AA42E50BF92EDB04BFF325CF3
- sha256sums = 802f7ee309dcc547d65a68d61ebd6526762d26c3051f52caebe2189ac1ffd72e
+ sha256sums = 1e55b4d7cdca7b34be12f4ceae651623aa73b2fd640152313f9f66a7149757c4
sha256sums = SKIP
+ sha256sums = 77d93856d1272e30494e8180e2fb3adc124cb939eee6447f45326087e49cdd6e
pkgname = gdb-multiarch
diff --git a/PKGBUILD b/PKGBUILD
index aa227b09e64a..c9a7b83d3720 100755
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,21 +1,24 @@
# Maintainer: Aviel Warschawski <mail@aviel.org>
pkgname=gdb-multiarch
-pkgver=8.3
+pkgver=8.3.1
pkgrel=1
pkgdesc='The GNU Debugger for all gdb supported architectures (i386/arm/mips...)'
arch=(i686 x86_64)
url='http://www.gnu.org/software/gdb/'
license=(GPL3)
-depends=(xz ncurses expat python guile2.0 gdb-common)
+depends=(xz ncurses expat python guile2.0 gdb-common=$pkgver)
options=(!emptydirs)
-source=(https://ftp.gnu.org/gnu/gdb/gdb-8.3.tar.xz{,.sig})
-sha256sums=('802f7ee309dcc547d65a68d61ebd6526762d26c3051f52caebe2189ac1ffd72e'
- 'SKIP')
+source=(https://ftp.gnu.org/gnu/gdb/gdb-8.3.1.tar.xz{,.sig}
+ python-3.8.patch)
+sha256sums=('1e55b4d7cdca7b34be12f4ceae651623aa73b2fd640152313f9f66a7149757c4'
+ 'SKIP'
+ '77d93856d1272e30494e8180e2fb3adc124cb939eee6447f45326087e49cdd6e')
validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker <brobecker@adacore.com>
prepare() {
cd gdb-$pkgver
+ patch -Np1 -i ../python-3.8.patch
sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
}
@@ -24,8 +27,7 @@ build() {
./configure \
--enable-targets=all \
- --prefix=/build \
- --enable-languages=c,c++ \
+ --enable-languages=all \
--enable-multilib \
--enable-interwork \
--with-system-readline \
diff --git a/python-3.8.patch b/python-3.8.patch
new file mode 100644
index 000000000000..c0e7ce29819f
--- /dev/null
+++ b/python-3.8.patch
@@ -0,0 +1,128 @@
+From b6484282f85bf7f11451b2441599c241d302ad9d Mon Sep 17 00:00:00 2001
+From: Raul Tambre <raul@tambre.ee>
+Date: Sat, 4 May 2019 15:48:17 -0400
+Subject: [PATCH] Fix incorrect use of 'is' operator for comparison in
+ python/lib/gdb/command/prompt.py
+
+The 'is' operator is not meant to be used for comparisons. It currently working
+is an implementation detail of CPython. CPython 3.8 has added a SyntaxWarning
+for this.
+
+diff --git a/gdb/python/lib/gdb/command/prompt.py b/gdb/python/lib/gdb/command/prompt.py
+index 3d662a7..04b9e49 100644
+--- a/gdb/python/lib/gdb/command/prompt.py
++++ b/gdb/python/lib/gdb/command/prompt.py
+@@ -45,7 +45,7 @@ The currently defined substitutions are:
+ self.hook_set = False
+
+ def get_show_string (self, pvalue):
+- if self.value is not '':
++ if self.value:
+ return "The extended prompt is: " + self.value
+ else:
+ return "The extended prompt is not set."
+@@ -57,7 +57,7 @@ The currently defined substitutions are:
+ return ""
+
+ def before_prompt_hook(self, current):
+- if self.value is not '':
++ if self.value:
+ return gdb.prompt.substitute_prompt(self.value)
+ else:
+ return None
+
+From d9c4ba536c522b8dc2194d4100270a159be7894a Mon Sep 17 00:00:00 2001
+From: Sergio Durigan Junior <sergiodj@redhat.com>
+Date: Sun, 25 Aug 2019 12:10:35 -0400
+Subject: [PATCH] Use raw strings on gdb.python/py-xmethods.exp (and fix Python
+ 3.8's "SyntaxWarning: invalid escape sequence")
+
+The way unrecognized escape sequences are handled has changed in
+Python 3.8: users now see a SyntaxWarning message, which will
+eventually become a SyntaxError in future versions of Python:
+
+ (gdb) source /blabla/gdb.python/py-xmethods/py-xmethods.py
+ /blabla/gdb.python/py-xmethods/py-xmethods.py:204: SyntaxWarning: invalid escape seque
+ nce \+
+ 'operator\+',
+ /blabla/gdb.python/py-xmethods/py-xmethods.py:211: SyntaxWarning: invalid escape seque
+ nce \+
+ 'operator\+\+',
+
+One of our testcases, gdb.python/py-xmethods.exp, contains strings in
+the form of "operator\+". This is not recognized by Python, but is
+still needed by the testsuite to work properly. The solution is
+simple: we just have to make sure these strings are marked as
+raw (i.e, r""). This is what this patch does. I took the opportunity
+to also convert other strings to raw, which, in two cases, allowed the
+removal of an extra backslash.
+
+I tested this using Python 3.7 and Python 3.8, and everything works
+fine.
+
+I think I could push this as obvious, but decided to send it to
+gdb-patches just in case.
+
+gdb/testsuite/ChangeLog:
+2019-08-26 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * gdb.python/py-xmethods.exp: Use raw strings when passing
+ arguments to SimpleXMethodMatcher.
+
+diff --git a/gdb/testsuite/gdb.python/py-xmethods.py b/gdb/testsuite/gdb.python/py-xmethods.py
+index 587842d7360..cea48b80d8c 100644
+--- a/gdb/testsuite/gdb.python/py-xmethods.py
++++ b/gdb/testsuite/gdb.python/py-xmethods.py
+@@ -199,34 +199,34 @@ def match(self, class_type, method_name):
+
+
+ global_dm_list = [
+- SimpleXMethodMatcher('A_plus_A',
+- '^dop::A$',
+- 'operator\+',
++ SimpleXMethodMatcher(r'A_plus_A',
++ r'^dop::A$',
++ r'operator\+',
+ A_plus_A,
+ # This is a replacement, hence match the arg type
+ # exactly!
+ type_A.const().reference()),
+- SimpleXMethodMatcher('plus_plus_A',
+- '^dop::A$',
+- 'operator\+\+',
++ SimpleXMethodMatcher(r'plus_plus_A',
++ r'^dop::A$',
++ r'operator\+\+',
+ plus_plus_A),
+- SimpleXMethodMatcher('A_geta',
+- '^dop::A$',
+- '^geta$',
++ SimpleXMethodMatcher(r'A_geta',
++ r'^dop::A$',
++ r'^geta$',
+ A_geta),
+- SimpleXMethodMatcher('A_getarrayind',
+- '^dop::A$',
+- '^getarrayind$',
++ SimpleXMethodMatcher(r'A_getarrayind',
++ r'^dop::A$',
++ r'^getarrayind$',
+ A_getarrayind,
+ type_int),
+- SimpleXMethodMatcher('A_indexoper',
+- '^dop::A$',
+- 'operator\\[\\]',
++ SimpleXMethodMatcher(r'A_indexoper',
++ r'^dop::A$',
++ r'operator\[\]',
+ A_indexoper,
+ type_int),
+- SimpleXMethodMatcher('B_indexoper',
+- '^dop::B$',
+- 'operator\\[\\]',
++ SimpleXMethodMatcher(r'B_indexoper',
++ r'^dop::B$',
++ r'operator\[\]',
+ B_indexoper,
+ type_int)
+ ]