Skip to content

Commit

Permalink
cgdb: Upgrade to 0.7.1
Browse files Browse the repository at this point in the history
This is now a C++ package.

Cherry-pick a patch from the unreleased HEAD of cgdb for GDB 8.3+.

Take maintainership.

cgdb-0.7.1 (08/04/2019)

  * Status bar messages are now displayed properly in veritical mode.
    The message is now truncated according to the status bar width instead
    of the width of the terminal.

  * Fix spurious error from CGDB on shutdown. You may have seen,
       CGDB had unexpected results. Search the logs for more details.
    In the log there was a waitpid error. CGDB was using the API wrong.

  * Fix issue #161 - CGDB would lock up when doing a regex search from
    the status bar if the file was just opened from the file dialog and
    the search did not match any text in the file. Now the search fails
    to match text as expected.

  * Status bar commands and gdb console commands now both show gdb
    output in the gdb window (instead of only the gdb console commands).
    This fixed issue #154 on github.

  * Fixed issue where typing F8 would do a 'next', 'step' and
    screen refresh instead of just doing a 'next' command.

  * Fix issue #139 - Show appropriate logos when color disabled
    Previously, if the user had colors disabled, CGDB would still show
    logos that had ansi escape color sequences in them.

  * Fixed :highlight regression introduced in 0.7.0.
    In 0.6.8, if the user entered a :highlight command from the CGDB
    status bar, for instance:
        :highlight Comment ctermfg=Blue
    CGDB would updated the currently displayed source file
    with the requested highlighting changes. In 0.7.0 this would not occur.
    Both versions honored :highlight in the .cgdbrc file.

  * Fix issue #125 - CGDB can cross compile again.

  * The rust syntax highlighter is now case sensitive instead of case
    insensitive.

  * Fix issue #129. CGDB with old versions of ncurses (5.6 or before)
    would not display colors. Now it will display colors, but will
    not support ansi colors in the GDB window.

  * Fix issue #137. rustlexer.lpp fails to compile with some versions
    of GNU autotools.

  * Fix issue #135. CGDB would "freeze" when opening the file
    dialog if the number of files was very large. Updating the
    gdbwire parser resolved the issue.

  * Add support for readline's backward-kill-word and kill-word at gdb prompt

cgdb-0.7.0 (03/21/2017)

  * Remove help2man dependency. CGDB has a good info page which
    should suffice.

  * The hlsearch option has been added to CGDB. This improves the
    searching and displaying of searching functionality within CGDB.
    By default the option is off. When enabled, and there exists a
    previous search, CGDB will display the search results using
    the Search highlighting group. The IncSearch highlighting group
    is used to display the active search. The hlsearch option
    highlights previous searches in the source window, the gdb window
    when in scroll mode and the file dialog window.

  * CGDB now supports showing assembly code! By default, CGDB will
    display source code when it is available and assembly code
    when no source code is available. The option 'set disasm'
    allows you to show mixed source/assembly when both are available.

  * Add support to enable/disable showing assembly code in CGDB.
    The default is disabled. The 'set disasm' enables showing
    mixed assembly mode by default. See the documentation for more
    information.

  * Add the :logo command to cgdb. This tells CGDB to display a logo
    in the source window.

  * Add an initial Rust syntax highlighter.

  * Support vi type <digit>j and <digit>k motions. Previously only
    typing j or k with out a number was supported.

  * Add support for marks. m[a-z] will set a local file mark and
    m[A-Z] will set a global mark. '[a-z] will jump to the
    corresponding local mark and '[A-Z] will jump to the corresponding
    global mark. As an added bonus '' will jump to the last jump location
    and '. will jump to the last executing line.
    The showmarks option was introduced to show the marks in the source
    window. It defaults to true. You can disable the viewing of marks
    using 'set noshowmarks'.

  * Add support to enable or disable color in the source window.
    The default is enabled. See the documentation for more information.

  * Add support for showing colors in the debug window. If gdb or the
    program being debugged output an ansi escape code representing color,
        https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
    then CGDB will display the corresponding color instead of the escape
    code. This option is configurable with the set debugwincolor option.

  * Add the winminwidth option to CGDB. It controls the minimum width
    that a window can be resized. It corresponds to the winminheight
    option. This was introduced now that CGDB can have vertically split
    windows.

  * Add support for vertical or horizontal splitting of the CGDB/GDB
    windows. Thanks to Daniel Cohen for the original implementation
    of this idea! You can change the window orientation by using the
    command 'set winsplitorientation=horizontal or vertical'.
    horizontal is the default orientation. Type Ctrl-w to switch between
    vertical and horizontal viewing.

  * Remove the TTY mode and TTY window from CGDB. This previously allowed
    you to send input to the program being debugged through the TTY
    window in CGDB. It is better for the user to run their program in
    one terminal and attach to it with CGDB from another terminal in
    order to get terminal input and terminal output working correctly.

  * Add the -w command line option to CGDB. It directs CGDB to wait
    to start until either a debugger is attached to it, or until a key
    is written to it's stdin. This helps simplify debugging CGDB itself.

  * Added GDB scroll mode in addition to the existing GDB command mode.
    To enter scroll mode, type 'page up' when in GDB mode and to exit
    type 'q', 'i' or 'Enter'. In scroll mode, you can scroll through
    the GDB output. You can also search the GDB output with the /, ?, n
    and N keys. Marks are also supported. You can set a mark by typing
    m[a-z] and you can jump to a mark by typing '[a-z]. See the
    documentation for more details.

  * Extended support for the G command when in CGDB mode. The new supported
    syntax is [<number>]G, allowing users to jump to a specific line within
    the source file, rather than just the end of the source file. This is
    identical to the :<number> command.

  * Added support for 'executinglinedisplay' and 'selectedlinedisplay'
    configuration options. See documentation for full explanation.
    This allows you to configure how CGDB displays both the currently
    executing line and the currently selected line.
    The default for executing line is set to longarrow.
    The default for selected line is set to block.

    The 'arrowstyle' option has been deprecated (but still supported)
    and users should use the 'executinglinedisplay' option instead.

  * CGDB now only supports ncurses. Support for curses was removed.
    The curses support was previously very out of date and untested.
    If curses support is needed, please let us know.
  • Loading branch information
krytarowski committed Oct 14, 2020
1 parent 1d23c75 commit f49be86
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 17 deletions.
11 changes: 5 additions & 6 deletions devel/cgdb/Makefile
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
# $NetBSD: Makefile,v 1.28 2020/03/20 11:57:26 nia Exp $
# $NetBSD: Makefile,v 1.29 2020/10/14 05:32:16 kamil Exp $

DISTNAME= cgdb-0.6.8
PKGREVISION= 1
DISTNAME= cgdb-0.7.1
CATEGORIES= devel
MASTER_SITES= http://cgdb.me/files/

MAINTAINER= pkgsrc-users@NetBSD.org
MAINTAINER= kamil@NetBSD.org
HOMEPAGE= http://cgdb.sourceforge.net/
COMMENT= Curses-based interface to the GNU Debugger (GDB)
LICENSE= gnu-gpl-v2

BUILD_DEPENDS+= help2man-[0-9]*:../../converters/help2man

GNU_CONFIGURE= yes
USE_TOOLS+= gmake flex
INFO_FILES= yes
Expand All @@ -29,4 +26,6 @@ MAKE_ENV+= AM_LDFLAGS=-L${WRKSRC}/lib/util/src
CONFIGURE_ARGS+= --with-curses
.endif

USE_LANGUAGES= c c++

.include "../../mk/bsd.pkg.mk"
3 changes: 1 addition & 2 deletions devel/cgdb/PLIST
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
@comment $NetBSD: PLIST,v 1.3 2015/04/20 07:35:00 wiz Exp $
@comment $NetBSD: PLIST,v 1.4 2020/10/14 05:32:16 kamil Exp $
bin/cgdb
info/cgdb.info
man/man1/cgdb.1
share/cgdb/cgdb.txt
13 changes: 7 additions & 6 deletions devel/cgdb/distinfo
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
$NetBSD: distinfo,v 1.8 2015/11/03 03:27:18 agc Exp $
$NetBSD: distinfo,v 1.9 2020/10/14 05:32:16 kamil Exp $

SHA1 (cgdb-0.6.8.tar.gz) = 0892ae59358fa98264269cf6fe57928314ef7942
RMD160 (cgdb-0.6.8.tar.gz) = 6f72836a168ebe4c530187b02185f9e0aaaa23ea
SHA512 (cgdb-0.6.8.tar.gz) = 22580f0c2ad9c4f4efc429f94465fe54518c38f5efc95fa544ebbd93188d8e2ec740d7c3f22df1447df9af96eb4a317e4a4fbf5c771173f86ebdccbcbd776ab2
Size (cgdb-0.6.8.tar.gz) = 716988 bytes
SHA1 (patch-aa) = f4ff0d3ca52c41fdd42f3899e56950487d4052eb
SHA1 (cgdb-0.7.1.tar.gz) = 23eb5a8f0fda6b974d422be6f23f500d124edeb0
RMD160 (cgdb-0.7.1.tar.gz) = c3de8f0f229595cf622481b3f4eaaf7cbdc7adca
SHA512 (cgdb-0.7.1.tar.gz) = 34f1fa53cfc9fbf7a2603db169e8338c0bf32200ed7a63e9944951f446e295e49f4ff3c5d0998a4c70bc872376263e1469d7e518becc13b4959f66495d5b9521
Size (cgdb-0.7.1.tar.gz) = 731818 bytes
SHA1 (patch-aa) = a880e12228d102e98d9a50fa493ae922ebce7b67
SHA1 (patch-lib_util_fork__util.cpp) = 2717251ef4d0b042a1e760d9dcc531095cf726c3
6 changes: 3 additions & 3 deletions devel/cgdb/patches/patch-aa
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
$NetBSD: patch-aa,v 1.4 2015/04/20 07:35:00 wiz Exp $
$NetBSD: patch-aa,v 1.5 2020/10/14 05:32:16 kamil Exp $

--- lib/util/pseudo.c.orig 2014-07-23 01:45:41.000000000 +0000
+++ lib/util/pseudo.c
--- lib/util/pseudo.cpp.orig 2014-07-23 01:45:41.000000000 +0000
+++ lib/util/pseudo.cpp
@@ -325,6 +325,7 @@ int pty_open(int *masterfd, int *slavefd

#ifndef HAVE_CYGWIN
Expand Down
25 changes: 25 additions & 0 deletions devel/cgdb/patches/patch-lib_util_fork__util.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
$NetBSD: patch-lib_util_fork__util.cpp,v 1.1 2020/10/14 05:32:16 kamil Exp $

Make CGDB work again with GDB 8.3 and newer.
https://github.com/cgdb/cgdb/commit/00e26a33579e4b3e553d26fdbe26eb98b4b062ac

--- lib/util/fork_util.cpp.orig 2019-05-17 23:22:33.000000000 +0000
+++ lib/util/fork_util.cpp
@@ -188,7 +188,7 @@ int invoke_debugger(const char *path,
const char *const ANNOTATE_TWO = "--annotate=2";
const char *const GDBMI = "-i=mi2";
const char *const SET_ANNOTATE_TWO = "set annotate 2";
- const char *const SET_HEIGHT_ZERO = "set height 0";
+ const char *const SET_PAGINATION_OFF = "set pagination off";
char **local_argv;
int i, j = 0, extra = 8;
int malloc_size = argc + extra;
@@ -213,7 +213,7 @@ int invoke_debugger(const char *path,
local_argv[j++] = cgdb_strdup(SET_ANNOTATE_TWO);

local_argv[j++] = cgdb_strdup(EX);
- local_argv[j++] = cgdb_strdup(SET_HEIGHT_ZERO);
+ local_argv[j++] = cgdb_strdup(SET_PAGINATION_OFF);

/* add the init file that the user did not type */
if (choice == 0)

0 comments on commit f49be86

Please sign in to comment.