From c2346b8782d7e6c8dfef610aa26cae3fb2b273e4 Mon Sep 17 00:00:00 2001 From: Ulrich Müller Date: Fri, 24 Oct 2008 19:20:43 +0000 Subject: Fix crash on window resizes, bug 243754. (Portage version: 2.2_rc12/cvs/Linux 2.6.26-gentoo-r1 i686) --- dev-util/cscope/ChangeLog | 9 ++- dev-util/cscope/cscope-15.6-r3.ebuild | 71 ++++++++++++++++++++++++ dev-util/cscope/files/cscope-15.6-sigwinch.patch | 30 ++++++++++ 3 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 dev-util/cscope/cscope-15.6-r3.ebuild create mode 100644 dev-util/cscope/files/cscope-15.6-sigwinch.patch (limited to 'dev-util/cscope') diff --git a/dev-util/cscope/ChangeLog b/dev-util/cscope/ChangeLog index becaab0cd62b..244b270340d4 100644 --- a/dev-util/cscope/ChangeLog +++ b/dev-util/cscope/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-util/cscope # Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/cscope/ChangeLog,v 1.101 2008/09/20 21:00:13 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-util/cscope/ChangeLog,v 1.102 2008/10/24 19:20:43 ulm Exp $ + +*cscope-15.6-r3 (24 Oct 2008) + + 24 Oct 2008; Ulrich Mueller + +files/cscope-15.6-sigwinch.patch, +cscope-15.6-r3.ebuild: + Fix crash on window resizes, bug 243754. Thanks to Michael Hordijk + . 20 Sep 2008; Ulrich Mueller -files/50xcscope-gentoo.el, -cscope-15.6-r1.ebuild: diff --git a/dev-util/cscope/cscope-15.6-r3.ebuild b/dev-util/cscope/cscope-15.6-r3.ebuild new file mode 100644 index 000000000000..000e8a2c16f8 --- /dev/null +++ b/dev-util/cscope/cscope-15.6-r3.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/cscope/cscope-15.6-r3.ebuild,v 1.1 2008/10/24 19:20:43 ulm Exp $ + +inherit elisp-common eutils + +DESCRIPTION="Interactively examine a C program" +HOMEPAGE="http://cscope.sourceforge.net/" +SRC_URI="mirror://sourceforge/cscope/${P}.tar.gz" + +LICENSE="as-is GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="emacs" + +RDEPEND=">=sys-libs/ncurses-5.2" +DEPEND="${RDEPEND} + sys-devel/flex + sys-devel/bison + >=sys-devel/autoconf-2.60 + emacs? ( virtual/emacs )" + +SITEFILE=50${PN}-gentoo.el + +src_unpack() { + unpack ${A} + cd "${S}" + + # warn users of insecure web frontend, see bug #158831 + epatch "${FILESDIR}/${PN}-158831-warning_webscope.patch" + # fix crash on window resizes, bug 243754 (patch from upstream cvs) + epatch "${FILESDIR}/${P}-sigwinch.patch" +} + +src_compile() { + STRIP="no" + + econf || die "econf failed" + make clean || die "make clean failed" + emake || die "emake failed" + + if use emacs ; then + cd "${S}"/contrib/xcscope || die + elisp-compile *.el || die + fi +} + +src_install() { + einstall || die "einstall failed" + dodoc AUTHORS ChangeLog NEWS README* TODO || die "dodoc failed" + + if use emacs ; then + cd "${S}"/contrib/xcscope || die + elisp-install ${PN} *.el *.elc || die + elisp-site-file-install "${FILESDIR}/${SITEFILE}" || die + dobin cscope-indexer || die "dobin failed" + fi + + cd "${S}"/contrib/webcscope || die + docinto webcscope + dodoc INSTALL TODO cgi-lib.pl cscope hilite.c || die "dodoc failed" + insinto /usr/share/doc/${PF}/webcscope/icons; doins icons/*.gif +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-util/cscope/files/cscope-15.6-sigwinch.patch b/dev-util/cscope/files/cscope-15.6-sigwinch.patch new file mode 100644 index 000000000000..c861db7d4ad9 --- /dev/null +++ b/dev-util/cscope/files/cscope-15.6-sigwinch.patch @@ -0,0 +1,30 @@ +--- cscope-15.6-orig/src/main.c 2006/10/10 11:42:17 1.42 ++++ cscope-15.6/src/main.c 2006/10/23 12:37:36 1.43 +@@ -154,12 +154,7 @@ + yyout = stdout; + /* save the command name for messages */ + argv0 = argv[0]; +-#if defined(KEY_RESIZE) && !defined(__DJGPP__) +- winch_action.sa_sigaction = sigwinch_handler; +- sigemptyset(&winch_action.sa_mask); +- winch_action.sa_flags = SA_SIGINFO; +- sigaction(SIGWINCH,&winch_action,NULL); +-#endif ++ + /* set the options */ + while (--argc > 0 && (*++argv)[0] == '-') { + /* HBB 20030814: add GNU-style --help and --version options */ +@@ -404,6 +399,13 @@ + signal(SIGINT, SIG_IGN); /* ignore interrupts */ + signal(SIGPIPE, SIG_IGN);/* | command can cause pipe signal */ + ++#if defined(KEY_RESIZE) && !defined(__DJGPP__) ++ winch_action.sa_sigaction = sigwinch_handler; ++ sigemptyset(&winch_action.sa_mask); ++ winch_action.sa_flags = SA_SIGINFO; ++ sigaction(SIGWINCH,&winch_action,NULL); ++#endif ++ + /* initialize the curses display package */ + initscr(); /* initialize the screen */ + entercurses(); -- cgit v1.2.3-65-gdbad