From 95ca6047161f27814c2b1527161ee67cd59b7e7d Mon Sep 17 00:00:00 2001 From: Harald van Dijk Date: Sat, 21 Aug 2010 18:29:39 +0000 Subject: Fix access violation in TGtk2WSCustomListBox with some GTK+ versions (#333761 by suilenroc1183@yahoo.de) (Portage version: 2.2_rc67/cvs/Linux x86_64) --- dev-lang/lazarus/ChangeLog | 16 ++++- .../files/lazarus-0.9.28.2-bug0015627.patch | 30 +++++++++ dev-lang/lazarus/lazarus-0.9.28.2-r1.ebuild | 74 ++++++++++++++++++++++ dev-lang/lazarus/lazarus-0.9.28.2.ebuild | 73 --------------------- 4 files changed, 119 insertions(+), 74 deletions(-) create mode 100644 dev-lang/lazarus/files/lazarus-0.9.28.2-bug0015627.patch create mode 100644 dev-lang/lazarus/lazarus-0.9.28.2-r1.ebuild delete mode 100644 dev-lang/lazarus/lazarus-0.9.28.2.ebuild (limited to 'dev-lang/lazarus') diff --git a/dev-lang/lazarus/ChangeLog b/dev-lang/lazarus/ChangeLog index 3951ca24a702..058d4e5d7220 100644 --- a/dev-lang/lazarus/ChangeLog +++ b/dev-lang/lazarus/ChangeLog @@ -1,6 +1,20 @@ # ChangeLog for dev-lang/lazarus # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/lazarus/ChangeLog,v 1.31 2010/02/06 09:15:14 truedfx Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/lazarus/ChangeLog,v 1.32 2010/08/21 18:29:39 truedfx Exp $ + + 21 Aug 2010; Harald van Dijk + -lazarus-0.9.28.2.ebuild, +lazarus-0.9.28.2-r1.ebuild, + +files/lazarus-0.9.28.2-bug0015627.patch: + Fix access violation in TGtk2WSCustomListBox with some GTK+ versions + (#333761 by suilenroc1183@yahoo.de) + +*lazarus-0.9.28.2-r1 (21 Aug 2010) + + 21 Aug 2010; Harald van Dijk + -lazarus-0.9.28.2.ebuild, +lazarus-0.9.28.2-r1.ebuild, + +files/lazarus-0.9.28.2-bug0015627.patch: + Fix access violation in TGtk2WSCustomListBox with recent GTK+ (#333761 by + suilenroc1183@yahoo.de) *lazarus-0.9.28.2 (06 Feb 2010) diff --git a/dev-lang/lazarus/files/lazarus-0.9.28.2-bug0015627.patch b/dev-lang/lazarus/files/lazarus-0.9.28.2-bug0015627.patch new file mode 100644 index 000000000000..8e3a05496726 --- /dev/null +++ b/dev-lang/lazarus/files/lazarus-0.9.28.2-bug0015627.patch @@ -0,0 +1,30 @@ +--- trunk/lcl/interfaces/gtk2/gtk2wsstdctrls.pp 2009/12/08 12:38:50 23028 ++++ trunk/lcl/interfaces/gtk2/gtk2wsstdctrls.pp 2010/02/12 02:22:04 23695 +@@ -477,16 +477,6 @@ + WidgetInfo: PWidgetInfo; + Selection: PGtkTreeSelection; + Path: PGtkTreePath; +- +- procedure ClearCursor; inline; +- begin +- if gtk_tree_row_reference_valid(PGtkTreeView(Widget)^.priv^.cursor) then +- begin +- gtk_tree_row_reference_free(PGtkTreeView(Widget)^.priv^.cursor); +- PGtkTreeView(Widget)^.priv^.cursor := nil; +- end; +- end; +- + begin + if not WSCheckHandleAllocated(ACustomListBox, 'SetItemIndex') then + Exit; +@@ -512,7 +502,9 @@ + end + else + begin +- ClearCursor; ++ Path := gtk_tree_path_new_from_indices(0, -1); ++ if PGtkTreeView(Widget)^.priv^.tree <> nil then ++ gtk_tree_view_set_cursor(PGtkTreeView(Widget), Path, nil, False); + gtk_tree_selection_unselect_all(Selection); + end; + diff --git a/dev-lang/lazarus/lazarus-0.9.28.2-r1.ebuild b/dev-lang/lazarus/lazarus-0.9.28.2-r1.ebuild new file mode 100644 index 000000000000..3f7c8aee7ac9 --- /dev/null +++ b/dev-lang/lazarus/lazarus-0.9.28.2-r1.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/lazarus/lazarus-0.9.28.2-r1.ebuild,v 1.1 2010/08/21 18:29:39 truedfx Exp $ + +EAPI=2 + +inherit eutils + +RESTRICT="strip" #269221 + +FPCVER="2.4.0" + +SLOT="0" # Note: Slotting Lazarus needs slotting fpc, see DEPEND. +LICENSE="GPL-2 LGPL-2.1 LGPL-2.1-linking-exception" +KEYWORDS="~amd64 ~ppc ~x86" +DESCRIPTION="Lazarus IDE is a feature rich visual programming environment emulating Delphi." +HOMEPAGE="http://www.lazarus.freepascal.org/" +IUSE="" +SRC_URI="mirror://sourceforge/lazarus/${P}-src.tar.bz2" + +DEPEND="~dev-lang/fpc-${FPCVER}[source] + net-misc/rsync + >=x11-libs/gtk+-2.0" +RDEPEND="${DEPEND} + !=gnome-base/librsvg-2.16.1" +DEPEND="${DEPEND} + >=sys-devel/binutils-2.19.1-r1" + +S=${WORKDIR}/${PN} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-0.9.26-fpcsrc.patch + epatch "${FILESDIR}"/${PN}-0.9.28.2-bug0015627.patch + + # Use default configuration (minus stripping) unless specifically requested otherwise + if ! test ${PPC_CONFIG_PATH+set} ; then + local FPCVER=$(fpc -iV) + export PPC_CONFIG_PATH="${WORKDIR}" + sed -e 's/^FPBIN=/#&/' /usr/lib/fpc/${FPCVER}/samplecfg | + sh -s /usr/lib/fpc/${FPCVER} "${PPC_CONFIG_PATH}" || die + #sed -i -e '/^-Xs/d' "${PPC_CONFIG_PATH}"/fpc.cfg || die + fi +} + +src_compile() { + LCL_PLATFORM=gtk2 emake -j1 || die "make failed!" +} + +src_install() { + diropts -m0755 + dodir /usr/share + # Using rsync to avoid unnecessary copies and cleaning... + # Note: *.o and *.ppu are needed + rsync -a \ + --exclude="CVS" --exclude=".cvsignore" \ + --exclude="*.ppw" --exclude="*.ppl" \ + --exclude="*.ow" --exclude="*.a"\ + --exclude="*.rst" --exclude=".#*" \ + --exclude="*.~*" --exclude="*.bak" \ + --exclude="*.orig" --exclude="*.rej" \ + --exclude=".xvpics" --exclude="*.compiled" \ + --exclude="killme*" --exclude=".gdb_hist*" \ + --exclude="debian" --exclude="COPYING*" \ + --exclude="*.app" \ + "${S}" "${D}"usr/share \ + || die "Unable to copy files!" + + dosym ../share/lazarus/startlazarus /usr/bin/startlazarus + dosym ../share/lazarus/startlazarus /usr/bin/lazarus + dosym ../share/lazarus/lazbuild /usr/bin/lazbuild + dosym ../lazarus/images/ide_icon48x48.png /usr/share/pixmaps/lazarus.png + + make_desktop_entry startlazarus "Lazarus IDE" "lazarus" || die "Failed making desktop entry!" +} diff --git a/dev-lang/lazarus/lazarus-0.9.28.2.ebuild b/dev-lang/lazarus/lazarus-0.9.28.2.ebuild deleted file mode 100644 index 8ac17254d82e..000000000000 --- a/dev-lang/lazarus/lazarus-0.9.28.2.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 1999-2010 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/lazarus/lazarus-0.9.28.2.ebuild,v 1.1 2010/02/06 09:15:14 truedfx Exp $ - -EAPI=2 - -inherit eutils - -RESTRICT="strip" #269221 - -FPCVER="2.4.0" - -SLOT="0" # Note: Slotting Lazarus needs slotting fpc, see DEPEND. -LICENSE="GPL-2 LGPL-2.1 LGPL-2.1-linking-exception" -KEYWORDS="~amd64 ~ppc ~x86" -DESCRIPTION="Lazarus IDE is a feature rich visual programming environment emulating Delphi." -HOMEPAGE="http://www.lazarus.freepascal.org/" -IUSE="" -SRC_URI="mirror://sourceforge/lazarus/${P}-src.tar.bz2" - -DEPEND="~dev-lang/fpc-${FPCVER}[source] - net-misc/rsync - >=x11-libs/gtk+-2.0" -RDEPEND="${DEPEND} - !=gnome-base/librsvg-2.16.1" -DEPEND="${DEPEND} - >=sys-devel/binutils-2.19.1-r1" - -S=${WORKDIR}/${PN} - -src_prepare() { - epatch "${FILESDIR}"/${PN}-0.9.26-fpcsrc.patch - - # Use default configuration (minus stripping) unless specifically requested otherwise - if ! test ${PPC_CONFIG_PATH+set} ; then - local FPCVER=$(fpc -iV) - export PPC_CONFIG_PATH="${WORKDIR}" - sed -e 's/^FPBIN=/#&/' /usr/lib/fpc/${FPCVER}/samplecfg | - sh -s /usr/lib/fpc/${FPCVER} "${PPC_CONFIG_PATH}" || die - #sed -i -e '/^-Xs/d' "${PPC_CONFIG_PATH}"/fpc.cfg || die - fi -} - -src_compile() { - LCL_PLATFORM=gtk2 emake -j1 || die "make failed!" -} - -src_install() { - diropts -m0755 - dodir /usr/share - # Using rsync to avoid unnecessary copies and cleaning... - # Note: *.o and *.ppu are needed - rsync -a \ - --exclude="CVS" --exclude=".cvsignore" \ - --exclude="*.ppw" --exclude="*.ppl" \ - --exclude="*.ow" --exclude="*.a"\ - --exclude="*.rst" --exclude=".#*" \ - --exclude="*.~*" --exclude="*.bak" \ - --exclude="*.orig" --exclude="*.rej" \ - --exclude=".xvpics" --exclude="*.compiled" \ - --exclude="killme*" --exclude=".gdb_hist*" \ - --exclude="debian" --exclude="COPYING*" \ - --exclude="*.app" \ - "${S}" "${D}"usr/share \ - || die "Unable to copy files!" - - dosym ../share/lazarus/startlazarus /usr/bin/startlazarus - dosym ../share/lazarus/startlazarus /usr/bin/lazarus - dosym ../share/lazarus/lazbuild /usr/bin/lazbuild - dosym ../lazarus/images/ide_icon48x48.png /usr/share/pixmaps/lazarus.png - - make_desktop_entry startlazarus "Lazarus IDE" "lazarus" || die "Failed making desktop entry!" -} -- cgit v1.2.3-65-gdbad