Date: Thursday, November 14, 2019 @ 11:07:32 Author: foutrelis Revision: 368488
archrelease: copy trunk to testing-x86_64 Added: gdb/repos/testing-x86_64/PKGBUILD (from rev 368487, gdb/trunk/PKGBUILD) gdb/repos/testing-x86_64/python-3.8.patch (from rev 368487, gdb/trunk/python-3.8.patch) Deleted: gdb/repos/testing-x86_64/PKGBUILD ------------------+ PKGBUILD | 120 +++++++++++++++++++++++++------------------------ python-3.8.patch | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 190 insertions(+), 58 deletions(-) Deleted: PKGBUILD =================================================================== --- PKGBUILD 2019-11-14 11:07:27 UTC (rev 368487) +++ PKGBUILD 2019-11-14 11:07:32 UTC (rev 368488) @@ -1,58 +0,0 @@ -# Maintainer: Allan McRae <al...@archlinux.org> -# Contributor: Jan de Groot <j...@archlinux.org> - -pkgbase=gdb -# gdb-common is a package that contains files common for all cross compiled versions -# of gdb (for arm/avr/...) -pkgname=(gdb gdb-common) -pkgver=8.3.1 -pkgrel=3 -pkgdesc='The GNU Debugger' -arch=(x86_64) -url='https://www.gnu.org/software/gdb/' -license=(GPL3) -makedepends=(texinfo python guile2.0 ncurses expat xz) -source=(https://ftp.gnu.org/gnu/gdb/${pkgname}-${pkgver}.tar.xz{,.sig}) -sha1sums=('d403ba208945bbf04f8130ea4853730cdf0c8fc7' - 'SKIP') -validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker - -prepare() { - cd gdb-$pkgver - - # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS" - sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure -} - -build() { - cd gdb-$pkgver - - ./configure --prefix=/usr --disable-nls \ - --with-system-readline \ - --with-python=/usr/bin/python3 \ - --with-guile=guile-2.0 \ - --with-system-gdbinit=/etc/gdb/gdbinit - make -} - -package_gdb-common() { - depends=(python guile2.0) - - cd gdb-$pkgver - make -C gdb/data-directory DESTDIR=$pkgdir install -} - -package_gdb() { - depends=(ncurses expat xz mpfr gdb-common=$pkgver) - backup=(etc/gdb/gdbinit) - - cd gdb-$pkgver - make -C gdb DESTDIR=$pkgdir install - - # install "custom" system gdbinit - install -dm755 $pkgdir/etc/gdb - touch $pkgdir/etc/gdb/gdbinit - - # comes from gdb-common - rm -r $pkgdir/usr/share/gdb/ -} Copied: gdb/repos/testing-x86_64/PKGBUILD (from rev 368487, gdb/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2019-11-14 11:07:32 UTC (rev 368488) @@ -0,0 +1,62 @@ +# Maintainer: Allan McRae <al...@archlinux.org> +# Contributor: Jan de Groot <j...@archlinux.org> + +pkgbase=gdb +# gdb-common is a package that contains files common for all cross compiled versions +# of gdb (for arm/avr/...) +pkgname=(gdb gdb-common) +pkgver=8.3.1 +pkgrel=4 +pkgdesc='The GNU Debugger' +arch=(x86_64) +url='https://www.gnu.org/software/gdb/' +license=(GPL3) +makedepends=(texinfo python guile2.0 ncurses expat xz) +source=(https://ftp.gnu.org/gnu/gdb/${pkgname}-${pkgver}.tar.xz{,.sig} + python-3.8.patch) +sha1sums=('d403ba208945bbf04f8130ea4853730cdf0c8fc7' + 'SKIP' + '14e76d9f9806168cd8a7f5052ce6421a980371a3') +validpgpkeys=('F40ADB902B24264AA42E50BF92EDB04BFF325CF3') # Joel Brobecker + +prepare() { + cd gdb-$pkgver + + patch -Np1 -i ../python-3.8.patch + + # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS" + sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure +} + +build() { + cd gdb-$pkgver + + ./configure --prefix=/usr --disable-nls \ + --with-system-readline \ + --with-python=/usr/bin/python3 \ + --with-guile=guile-2.0 \ + --with-system-gdbinit=/etc/gdb/gdbinit + make +} + +package_gdb-common() { + depends=(python guile2.0) + + cd gdb-$pkgver + make -C gdb/data-directory DESTDIR=$pkgdir install +} + +package_gdb() { + depends=(ncurses expat xz mpfr gdb-common=$pkgver) + backup=(etc/gdb/gdbinit) + + cd gdb-$pkgver + make -C gdb DESTDIR=$pkgdir install + + # install "custom" system gdbinit + install -dm755 $pkgdir/etc/gdb + touch $pkgdir/etc/gdb/gdbinit + + # comes from gdb-common + rm -r $pkgdir/usr/share/gdb/ +} Copied: gdb/repos/testing-x86_64/python-3.8.patch (from rev 368487, gdb/trunk/python-3.8.patch) =================================================================== --- python-3.8.patch (rev 0) +++ python-3.8.patch 2019-11-14 11:07:32 UTC (rev 368488) @@ -0,0 +1,128 @@ +From b6484282f85bf7f11451b2441599c241d302ad9d Mon Sep 17 00:00:00 2001 +From: Raul Tambre <r...@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 <sergi...@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 <sergi...@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) + ]