summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx/geeqie')
-rw-r--r--media-gfx/geeqie/ChangeLog11
-rw-r--r--media-gfx/geeqie/files/geeqie-1.1-fix_comment_update.patch129
-rw-r--r--media-gfx/geeqie/geeqie-1.0-r3.ebuild65
-rw-r--r--media-gfx/geeqie/geeqie-1.1.ebuild (renamed from media-gfx/geeqie/geeqie-1.0-r1.ebuild)22
4 files changed, 156 insertions, 71 deletions
diff --git a/media-gfx/geeqie/ChangeLog b/media-gfx/geeqie/ChangeLog
index e61651dfe7e7..781a515ea0f4 100644
--- a/media-gfx/geeqie/ChangeLog
+++ b/media-gfx/geeqie/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for media-gfx/geeqie
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/geeqie/ChangeLog,v 1.24 2012/08/14 12:56:30 ago Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/geeqie/ChangeLog,v 1.25 2012/08/28 13:45:36 voyageur Exp $
+
+*geeqie-1.1 (28 Aug 2012)
+
+ 28 Aug 2012; Bernard Cafarelli <voyageur@gentoo.org> -geeqie-1.0-r1.ebuild,
+ -geeqie-1.0-r3.ebuild, +geeqie-1.1.ebuild,
+ +files/geeqie-1.1-fix_comment_update.patch:
+ Version bump, support for stereoscopic images, custom tiff loader, rewritten
+ file grouping, and merged bugfixes. Reported by Andrew Savchenko in bug
+ #432892. Remove some 1.0 revisions
14 Aug 2012; Agostino Sarubbo <ago@gentoo.org> geeqie-1.0-r4.ebuild:
Stable for amd64, wrt bug #429116
diff --git a/media-gfx/geeqie/files/geeqie-1.1-fix_comment_update.patch b/media-gfx/geeqie/files/geeqie-1.1-fix_comment_update.patch
new file mode 100644
index 000000000000..42ef9ff40901
--- /dev/null
+++ b/media-gfx/geeqie/files/geeqie-1.1-fix_comment_update.patch
@@ -0,0 +1,129 @@
+From 085be43cb79e04341102a9922e0e0f531454089a Mon Sep 17 00:00:00 2001
+From: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Tue, 21 Aug 2012 20:39:03 +0200
+Subject: [PATCH] fixed updating of comment and keyword pane
+
+- temporary disabling of notifications does no longer work because
+the notification is called later, in idle cb.
+- regression introduced in 78cde6934008f79fe498e4adc64d187b0ed47417
+- now the update function checks if the new value is really different
+---
+ src/bar_comment.c | 20 ++++++++++++--------
+ src/bar_keywords.c | 37 +++++++++++++++++++++++--------------
+ 2 files changed, 35 insertions(+), 22 deletions(-)
+
+diff --git a/src/bar_comment.c b/src/bar_comment.c
+index e63695b..156ab6e 100644
+--- a/src/bar_comment.c
++++ b/src/bar_comment.c
+@@ -60,16 +60,22 @@ static void bar_pane_comment_write(PaneCommentData *pcd)
+ static void bar_pane_comment_update(PaneCommentData *pcd)
+ {
+ gchar *comment = NULL;
++ gchar *orig_comment = NULL;
++ gchar *comment_not_null;
+ GtkTextBuffer *comment_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pcd->comment_view));
+
+- g_signal_handlers_block_by_func(comment_buffer, bar_pane_comment_changed, pcd);
+-
++ orig_comment = text_widget_text_pull(pcd->comment_view);
+ comment = metadata_read_string(pcd->fd, pcd->key, METADATA_PLAIN);
+- gtk_text_buffer_set_text(comment_buffer,
+- (comment) ? comment : "", -1);
+- g_free(comment);
++ comment_not_null = (comment) ? comment : "";
+
+- g_signal_handlers_unblock_by_func(comment_buffer, bar_pane_comment_changed, pcd);
++ if (strcmp(orig_comment, comment_not_null) != 0)
++ {
++ g_signal_handlers_block_by_func(comment_buffer, bar_pane_comment_changed, pcd);
++ gtk_text_buffer_set_text(comment_buffer, comment_not_null, -1);
++ g_signal_handlers_unblock_by_func(comment_buffer, bar_pane_comment_changed, pcd);
++ }
++ g_free(comment);
++ g_free(orig_comment);
+
+ gtk_widget_set_sensitive(pcd->comment_view, (pcd->fd != NULL));
+ }
+@@ -177,9 +183,7 @@ static void bar_pane_comment_changed(GtkTextBuffer *buffer, gpointer data)
+ {
+ PaneCommentData *pcd = data;
+
+- file_data_unregister_notify_func(bar_pane_comment_notify_cb, pcd);
+ bar_pane_comment_write(pcd);
+- file_data_register_notify_func(bar_pane_comment_notify_cb, pcd, NOTIFY_PRIORITY_LOW);
+ }
+
+
+diff --git a/src/bar_keywords.c b/src/bar_keywords.c
+index df70fda..257915e 100644
+--- a/src/bar_keywords.c
++++ b/src/bar_keywords.c
+@@ -216,17 +216,33 @@ static void bar_pane_keywords_keyword_update_all(void)
+ static void bar_pane_keywords_update(PaneKeywordsData *pkd)
+ {
+ GList *keywords = NULL;
++ GList *orig_keywords = NULL;
++ GList *work1, *work2;
+ GtkTextBuffer *keyword_buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(pkd->keyword_view));
+
+- g_signal_handlers_block_by_func(keyword_buffer, bar_pane_keywords_changed, pkd);
+-
+ keywords = metadata_read_list(pkd->fd, KEYWORD_KEY, METADATA_PLAIN);
+- keyword_list_push(pkd->keyword_view, keywords);
+- bar_keyword_tree_sync(pkd);
+- string_list_free(keywords);
+-
+- g_signal_handlers_unblock_by_func(keyword_buffer, bar_pane_keywords_changed, pkd);
++ orig_keywords = keyword_list_pull(pkd->keyword_view);
+
++ /* compare the lists */
++ work1 = keywords;
++ work2 = orig_keywords;
++
++ while (work1 && work2)
++ {
++ if (strcmp(work1->data, work2->data) != 0) break;
++ work1 = work1->next;
++ work2 = work2->next;
++ }
++
++ if (work1 || work2) /* lists differs */
++ {
++ g_signal_handlers_block_by_func(keyword_buffer, bar_pane_keywords_changed, pkd);
++ keyword_list_push(pkd->keyword_view, keywords);
++ bar_keyword_tree_sync(pkd);
++ g_signal_handlers_unblock_by_func(keyword_buffer, bar_pane_keywords_changed, pkd);
++ }
++ string_list_free(keywords);
++ string_list_free(orig_keywords);
+ }
+
+ void bar_pane_keywords_set_fd(GtkWidget *pane, FileData *fd)
+@@ -426,10 +442,8 @@ static gboolean bar_pane_keywords_changed_idle_cb(gpointer data)
+ {
+ PaneKeywordsData *pkd = data;
+
+- file_data_unregister_notify_func(bar_pane_keywords_notify_cb, pkd);
+ bar_pane_keywords_write(pkd);
+ bar_keyword_tree_sync(pkd);
+- file_data_register_notify_func(bar_pane_keywords_notify_cb, pkd, NOTIFY_PRIORITY_LOW);
+ pkd->idle_id = 0;
+ return FALSE;
+ }
+@@ -962,12 +976,7 @@ static void bar_pane_keywords_connect_mark_cb(GtkWidget *menu_widget, gpointer d
+
+ gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model), &kw_iter, &iter);
+
+- file_data_unregister_notify_func(bar_pane_keywords_notify_cb, pkd);
+-
+ meta_data_connect_mark_with_keyword(keyword_tree, &kw_iter, mark);
+-
+- file_data_register_notify_func(bar_pane_keywords_notify_cb, pkd, NOTIFY_PRIORITY_LOW);
+-// bar_pane_keywords_update(pkd);
+ }
+
+
+--
+1.7.10
+
diff --git a/media-gfx/geeqie/geeqie-1.0-r3.ebuild b/media-gfx/geeqie/geeqie-1.0-r3.ebuild
deleted file mode 100644
index 936b81e0c004..000000000000
--- a/media-gfx/geeqie/geeqie-1.0-r3.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/geeqie/geeqie-1.0-r3.ebuild,v 1.1 2012/06/07 23:08:30 voyageur Exp $
-
-EAPI=4
-inherit autotools eutils
-
-DESCRIPTION="A lightweight GTK image viewer forked from GQview"
-HOMEPAGE="http://geeqie.sourceforge.net/"
-SRC_URI="mirror://sourceforge/geeqie/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-IUSE="doc exif lcms lirc xmp"
-
-RDEPEND="x11-libs/gtk+:2
- virtual/libintl
- doc? ( app-text/gnome-doc-utils )
- lcms? ( =media-libs/lcms-1* )
- lirc? ( app-misc/lirc )
- xmp? ( >=media-gfx/exiv2-0.17[xmp] )
- !xmp? ( exif? ( >=media-gfx/exiv2-0.17 ) )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig
- dev-util/intltool
- sys-devel/gettext"
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-automake-1.11.patch
- epatch "${FILESDIR}"/${P}-copy_chown.patch
- epatch "${FILESDIR}"/${P}-filedata_compare.patch
- epatch "${FILESDIR}"/${P}-fix_fullscreen.patch
- epatch "${FILESDIR}"/${P}-lfs_support.patch
- epatch "${FILESDIR}"/${P}-ui_pathsel.patch
- epatch "${FILESDIR}"/${P}-vflist-refresh.patch
-
- eautoreconf
-}
-
-src_configure() {
- local myconf="--disable-dependency-tracking
- --with-readmedir=/usr/share/doc/${PF}
- $(use_enable lcms)
- $(use_enable lirc)"
-
- if use exif || use xmp; then
- myconf="${myconf} --enable-exiv2"
- else
- myconf="${myconf} --disable-exiv2"
- fi
-
- econf ${myconf}
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- rm -f "${D}/usr/share/doc/${MY_P}/COPYING"
-}
-
-pkg_postinst() {
- elog "Some plugins may require additional packages"
- elog "- Image rotate plugin: media-gfx/fbida (JPEG), media-gfx/imagemagick (TIFF/PNG)"
- elog "- RAW images plugin: media-gfx/ufraw"
-}
diff --git a/media-gfx/geeqie/geeqie-1.0-r1.ebuild b/media-gfx/geeqie/geeqie-1.1.ebuild
index e6d739ad4687..e1e8f6b04219 100644
--- a/media-gfx/geeqie/geeqie-1.0-r1.ebuild
+++ b/media-gfx/geeqie/geeqie-1.1.ebuild
@@ -1,8 +1,9 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-gfx/geeqie/geeqie-1.0-r1.ebuild,v 1.9 2012/05/05 07:00:19 jdhore Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/geeqie/geeqie-1.1.ebuild,v 1.1 2012/08/28 13:45:36 voyageur Exp $
-EAPI=2
+EAPI=4
+inherit autotools base eutils
DESCRIPTION="A lightweight GTK image viewer forked from GQview"
HOMEPAGE="http://geeqie.sourceforge.net/"
@@ -10,7 +11,7 @@ SRC_URI="mirror://sourceforge/geeqie/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~ppc x86"
+KEYWORDS="~amd64 ~ppc ~x86"
IUSE="doc exif lcms lirc xmp"
RDEPEND="x11-libs/gtk+:2
@@ -25,6 +26,17 @@ DEPEND="${RDEPEND}
dev-util/intltool
sys-devel/gettext"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0-automake-1.11.patch
+ "${FILESDIR}"/${PN}-1.0-fix_fullscreen.patch
+ "${FILESDIR}"/${P}-fix_comment_update.patch
+)
+
+src_prepare() {
+ base_src_prepare
+ eautoreconf
+}
+
src_configure() {
local myconf="--disable-dependency-tracking
--with-readmedir=/usr/share/doc/${PF}
@@ -37,11 +49,11 @@ src_configure() {
myconf="${myconf} --disable-exiv2"
fi
- econf ${myconf} || die "econf failed"
+ econf ${myconf}
}
src_install() {
- emake DESTDIR="${D}" install || die "emake install failed"
+ emake DESTDIR="${D}" install
rm -f "${D}/usr/share/doc/${MY_P}/COPYING"
}