summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Cafarelli <voyageur@gentoo.org>2012-06-07 23:08:30 +0000
committerBernard Cafarelli <voyageur@gentoo.org>2012-06-07 23:08:30 +0000
commit93580dce16bc43d12f95b256b1f4784887b71067 (patch)
tree41b5025eb3de791a7f45bbe19d28bf781159530e /media-gfx/geeqie
parentBe compatible with >=automake-1.11.4, thanks marienz for the patch in bug #41... (diff)
downloadhistorical-93580dce16bc43d12f95b256b1f4784887b71067.tar.gz
historical-93580dce16bc43d12f95b256b1f4784887b71067.tar.bz2
historical-93580dce16bc43d12f95b256b1f4784887b71067.zip
Add some patches from Debian and Fedora (better full screen support, file listing, ...). Also remove double fix for install directory
Package-Manager: portage-2.2.0_alpha110/cvs/Linux x86_64
Diffstat (limited to 'media-gfx/geeqie')
-rw-r--r--media-gfx/geeqie/ChangeLog12
-rw-r--r--media-gfx/geeqie/Manifest16
-rw-r--r--media-gfx/geeqie/files/geeqie-1.0-copy_chown.patch49
-rw-r--r--media-gfx/geeqie/files/geeqie-1.0-filedata_compare.patch53
-rw-r--r--media-gfx/geeqie/files/geeqie-1.0-fix_fullscreen.patch143
-rw-r--r--media-gfx/geeqie/files/geeqie-1.0-ui_pathsel.patch44
-rw-r--r--media-gfx/geeqie/files/geeqie-1.0-vflist-refresh.patch72
-rw-r--r--media-gfx/geeqie/geeqie-1.0-r2.ebuild4
-rw-r--r--media-gfx/geeqie/geeqie-1.0-r3.ebuild65
9 files changed, 449 insertions, 9 deletions
diff --git a/media-gfx/geeqie/ChangeLog b/media-gfx/geeqie/ChangeLog
index fa3273bd8ff8..bafc5ef1d494 100644
--- a/media-gfx/geeqie/ChangeLog
+++ b/media-gfx/geeqie/ChangeLog
@@ -1,6 +1,16 @@
# 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.21 2012/06/07 23:01:30 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/geeqie/ChangeLog,v 1.22 2012/06/07 23:08:30 voyageur Exp $
+
+*geeqie-1.0-r3 (07 Jun 2012)
+
+ 07 Jun 2012; Bernard Cafarelli <voyageur@gentoo.org> geeqie-1.0-r2.ebuild,
+ +geeqie-1.0-r3.ebuild, +files/geeqie-1.0-copy_chown.patch,
+ +files/geeqie-1.0-filedata_compare.patch,
+ +files/geeqie-1.0-fix_fullscreen.patch, +files/geeqie-1.0-ui_pathsel.patch,
+ +files/geeqie-1.0-vflist-refresh.patch:
+ Add some patches from Debian and Fedora (better full screen support, file
+ listing, ...). Also remove double fix for install directory
07 Jun 2012; Bernard Cafarelli <voyageur@gentoo.org> geeqie-1.0-r2.ebuild,
+files/geeqie-1.0-automake-1.11.patch:
diff --git a/media-gfx/geeqie/Manifest b/media-gfx/geeqie/Manifest
index 03d63d7fb015..c6ba8e0c41d7 100644
--- a/media-gfx/geeqie/Manifest
+++ b/media-gfx/geeqie/Manifest
@@ -2,16 +2,22 @@
Hash: SHA256
AUX geeqie-1.0-automake-1.11.patch 609 RMD160 468274e9fc9bfd31f5ae5efc45d09f0c97e44b16 SHA1 c48a9920d3ef7534c15ecbfb27beca22f03178e2 SHA256 0b576ab74fbfd0c1ad2c89b6ba50521bf74550820748e13f8ed2c90dfe4097af
+AUX geeqie-1.0-copy_chown.patch 1805 RMD160 bf06df4bc27a47bdf1dcd363be1172452965471e SHA1 6bcbc8318558f21072dfd1870e41ea5522bb9d1f SHA256 c84815794a6cdd6be6b0ab954760013f372b6fc1084d3cd1b5cfa67beefd7ba7
+AUX geeqie-1.0-filedata_compare.patch 1690 RMD160 69da274332b06d386896efefd8b76e2980e2e1c6 SHA1 e800480cbfcb12357e50ba4a096ab795688a15bb SHA256 c82471f323e8b01b46eb60f2be549456e1d75f08ab5cd3bf5144e493c5222ebb
+AUX geeqie-1.0-fix_fullscreen.patch 4917 RMD160 984c6fa92dc69636c28c00e18612e145f1b97637 SHA1 57c8b058e6ec1fc2f691650b212acc5dafcd5891 SHA256 b1e612f8373eb1dc457c64fdd5082edf988a63c9deefaf4c7bfd1d564c3f4bb2
AUX geeqie-1.0-lfs_support.patch 227 RMD160 5e4a5e99a89e9c5e1a345452bba4a92553e23186 SHA1 268acab4e6aec94a4dfd13781f188ba0594dc9b4 SHA256 1a12a99df42636cac424fc901bc7ce74c23b477b818812319986e1dcbb00c03e
+AUX geeqie-1.0-ui_pathsel.patch 1307 RMD160 fd0f0ca851633350173742fb9b3ec3d6842f5be0 SHA1 4da55b832adf3e133d8bafe00cc38b63cee4199c SHA256 2a42dc2a5ee4e4d5e4636d424e1adb6a707c74bde4a5ec28b24ff8fafee164ed
+AUX geeqie-1.0-vflist-refresh.patch 1968 RMD160 e68d6b04ade9fc9c039589eceaf4dd966818270b SHA1 8de73c82c28c76b11fd29caf87952a3b54a513a6 SHA256 5f7d53a22a42ed7afcb425bf3a9bb358e40225a6a356c2b3791349a2eda67bc0
DIST geeqie-1.0.tar.gz 1934236 RMD160 f410b5f7bca872f4e67dc2b9f9ffe8e0cedf291a SHA1 8494a557d67d20e6ad720645ec789dd2b33a3266 SHA256 d1ad64666446c1d490437a9441267e8d7c1b9dc6ab640716b213e386d9211fdd
EBUILD geeqie-1.0-r1.ebuild 1392 RMD160 bc7e45f0abdab24af63a9a2627fa541edf7f8d4d SHA1 e90b4deba8f0bb97c7cbf71c3c4ea27404376435 SHA256 ff0d3de3092295bb295229d170ae9395f6b2c04648cbe34cdb7774b9f6d1f326
-EBUILD geeqie-1.0-r2.ebuild 1538 RMD160 bd840a535c6c84b4e11d7b36b6105f06048dce96 SHA1 44cfddb6b0a22289a0e258353d23e9af7ce291e8 SHA256 6c9e708d09b25fe7c4b12d90a49df6b928aeb9c63f2c79708fcf83575ca5807d
-MISC ChangeLog 3501 RMD160 0bfe3292a73b9f6eecc1ccbb30bf490d4f0673f6 SHA1 9b613f99b0b1e301dc1799f37fd57353815cb7b2 SHA256 fb20016a2a54460308d96e2128ab8f52d8664bb59e6af2f63f394d7fc3438b52
+EBUILD geeqie-1.0-r2.ebuild 1491 RMD160 34139e4327afa872d30e13a4d3155c6aefcc3922 SHA1 67fe2add5efb1c00805dede94c0ccce58c80fd58 SHA256 3c5c690637fc5c2af2c9f3d0cf96cfacc0c838b04798b0ec1ec45c8fe67b69a7
+EBUILD geeqie-1.0-r3.ebuild 1728 RMD160 d6f3ed50369e9d87a7fd2bb7489031613a44f305 SHA1 1f4deb4d014ec49e50882db2d57798e57f275ee9 SHA256 a0df327c856d675117740b902b4fa74ce68a30a544bcbab22309cde2e9ddb69c
+MISC ChangeLog 3972 RMD160 75c4ac2abd8d3b0b090f2a2b506f5afb40b17777 SHA1 3880662ce6ea8d76ddc18a31cbb6109bab88a546 SHA256 206cf2fcc756b63d2e0c2f8b55270dfcb023488d2d41653a18e3714cfd18e242
MISC metadata.xml 527 RMD160 74ad34c80eac1c0603bb78439eaebcd522d88fe6 SHA1 ce09664156edf3e65864c383c59cb12afe226961 SHA256 0d271c29ec180ce0cad2f6129d90fcbd562996c76d59d56063c3e29d6e68b877
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
-iF4EAREIAAYFAk/RMtUACgkQFYEBGcdFJfK8LgEAp16CArdb+u3agIeh6NjOe0j1
-MYPHu0rtNo4DA7fp+D4A/AvVDGhOxsRcVfZyEPX7PwTU/B7p21qrVTqJK5vcJeJF
-=SXt7
+iF4EAREIAAYFAk/RNHcACgkQFYEBGcdFJfIEYwD+JmH2+pEozaFPI0gnytbtLeJn
+hkkNHahjmJJhAHUB3jMA/1z2LIBAT7pc2TNd8lCj/QowUMqs+OqubvaUIbeKO7Je
+=qprX
-----END PGP SIGNATURE-----
diff --git a/media-gfx/geeqie/files/geeqie-1.0-copy_chown.patch b/media-gfx/geeqie/files/geeqie-1.0-copy_chown.patch
new file mode 100644
index 000000000000..9aef27d69fed
--- /dev/null
+++ b/media-gfx/geeqie/files/geeqie-1.0-copy_chown.patch
@@ -0,0 +1,49 @@
+From dc8933e3c0ae3e0021d13beb666d6729267c7624 Mon Sep 17 00:00:00 2001
+From: Vladislav Naumov <vnaum@vnaum.com>
+Date: Thu, 16 Dec 2010 21:55:03 +0100
+Subject: [PATCH] Fix bug 2999830: do not report failed chown() on copy.
+
+Debian bug 574853 reported by Ian Zimmerman <itz@buug.org>
+
+I was trying to copy images from my camera which is mounted as a USB
+mass storage device. The files on the mount are owned by root, and
+geeqie tries to chown (and chgrp) the copy, fails, and displays an
+error message. This is only mildly annoying when copying a single
+file, but when I want to copy multiple files the failure stops the
+operation after the first file.
+
+Patch by Vladislav Naumov <vnaum@vnaum.com>
+
+This patch ignores chown errors, while still doing chown
+(so root still can copy files preserving ownership).
+
+http://sourceforge.net/tracker/?func=detail&aid=2999830&group_id=222125&atid=1054680
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574853 (original report)
+---
+ src/ui_fileops.c | 10 ++++++++--
+ 1 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/src/ui_fileops.c b/src/ui_fileops.c
+index aa3cc8d..33c6560 100644
+--- a/src/ui_fileops.c
++++ b/src/ui_fileops.c
+@@ -490,8 +490,14 @@ gboolean copy_file_attributes(const gchar *s, const gchar *t, gint perms, gint m
+
+ /* set the dest file attributes to that of source (ignoring errors) */
+
+- if (perms && chown(tl, st.st_uid, st.st_gid) < 0) ret = FALSE;
+- if (perms && chmod(tl, st.st_mode) < 0) ret = FALSE;
++ if (perms)
++ {
++ ret = chown(tl, st.st_uid, st.st_gid);
++ /* Ignores chown errors, while still doing chown
++ (so root still can copy files preserving ownership) */
++ ret = TRUE;
++ if (chmod(tl, st.st_mode) < 0) ret = FALSE;
++ }
+
+ tb.actime = st.st_atime;
+ tb.modtime = st.st_mtime;
+--
+1.6.1
+
diff --git a/media-gfx/geeqie/files/geeqie-1.0-filedata_compare.patch b/media-gfx/geeqie/files/geeqie-1.0-filedata_compare.patch
new file mode 100644
index 000000000000..50a1c0f8ac88
--- /dev/null
+++ b/media-gfx/geeqie/files/geeqie-1.0-filedata_compare.patch
@@ -0,0 +1,53 @@
+From 18d80ca385e38b3bf9bc4ef36264bb4d430aa1f6 Mon Sep 17 00:00:00 2001
+From: Vladimir Nadvornik <nadvornik@suse.cz>
+Date: Fri, 30 Sep 2011 23:57:31 +0200
+Subject: [PATCH] fixed filelist_sort_compare_filedata to not return 0 no different files
+
+---
+ src/filedata.c | 15 ++++++++++++---
+ 1 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/src/filedata.c b/src/filedata.c
+index f6e3896..78fd74e 100644
+--- a/src/filedata.c
++++ b/src/filedata.c
+@@ -852,6 +852,7 @@ static gboolean filelist_sort_ascend = TRUE;
+
+ gint filelist_sort_compare_filedata(FileData *fa, FileData *fb)
+ {
++ gint ret;
+ if (!filelist_sort_ascend)
+ {
+ FileData *tmp = fa;
+@@ -875,7 +876,8 @@ gint filelist_sort_compare_filedata(FileData *fa, FileData *fb)
+ break;
+ #ifdef HAVE_STRVERSCMP
+ case SORT_NUMBER:
+- return strverscmp(fa->name, fb->name);
++ ret = strverscmp(fa->name, fb->name);
++ if (ret != 0) return ret;
+ break;
+ #endif
+ default:
+@@ -883,9 +885,16 @@ gint filelist_sort_compare_filedata(FileData *fa, FileData *fb)
+ }
+
+ if (options->file_sort.case_sensitive)
+- return strcmp(fa->collate_key_name, fb->collate_key_name);
++ ret = strcmp(fa->collate_key_name, fb->collate_key_name);
+ else
+- return strcmp(fa->collate_key_name_nocase, fb->collate_key_name_nocase);
++ ret = strcmp(fa->collate_key_name_nocase, fb->collate_key_name_nocase);
++
++ if (ret != 0) return ret;
++
++ /* do not return 0 unless the files are really the same
++ file_data_pool ensures that original_path is unique
++ */
++ return strcmp(fa->original_path, fb->original_path);
+ }
+
+ gint filelist_sort_compare_filedata_full(FileData *fa, FileData *fb, SortType method, gboolean ascend)
+--
+1.6.1
+
diff --git a/media-gfx/geeqie/files/geeqie-1.0-fix_fullscreen.patch b/media-gfx/geeqie/files/geeqie-1.0-fix_fullscreen.patch
new file mode 100644
index 000000000000..0547395a3b2b
--- /dev/null
+++ b/media-gfx/geeqie/files/geeqie-1.0-fix_fullscreen.patch
@@ -0,0 +1,143 @@
+Description: Make fullscreen modes actually use the full screen.
+ The default fullscreen mode now leaves everything up to the window manager,
+ which usually produces the best result. Custom fullscreen modes now use
+ override-redirect to ensure docks and panels never obscure the image.
+Author: Daniel van Vugt <vanvugt@gmail.com>
+Bug: http://sourceforge.net/support/tracker.php?aid=2925034
+Bug-Ubuntu: https://launchpad.net/bugs/788321
+Forwarded: yes
+
+=== modified file 'src/fullscreen.c'
+--- old/src/fullscreen.c 2010-02-26 10:41:38 +0000
++++ new/src/fullscreen.c 2011-08-16 03:55:04 +0000
+@@ -218,75 +218,65 @@
+ void (*stop_func)(FullScreenData *, gpointer), gpointer stop_data)
+ {
+ FullScreenData *fs;
+- GdkScreen *screen;
+- gboolean same;
+- gint x, y;
+- gint w, h;
+- GdkGeometry geometry;
+
+ if (!window || !imd) return NULL;
+
++ DEBUG_1("full screen requests screen %d", options->fullscreen.screen);
++
+ fs = g_new0(FullScreenData, 1);
+-
+ fs->cursor_state = FULLSCREEN_CURSOR_HIDDEN;
+-
+ fs->normal_window = window;
+ fs->normal_imd = imd;
+-
+ fs->stop_func = stop_func;
+ fs->stop_data = stop_data;
+-
+- DEBUG_1("full screen requests screen %d", options->fullscreen.screen);
+- fullscreen_prefs_get_geometry(options->fullscreen.screen, window, &x, &y, &w, &h,
+- &screen, &same);
+-
+- fs->window = window_new(GTK_WINDOW_TOPLEVEL, "fullscreen", NULL, NULL, _("Full screen"));
+-
+- /* this requests no decorations, if you still have them complain to the window manager author(s) */
+- gtk_window_set_decorated(GTK_WINDOW(fs->window), FALSE);
++ fs->window = window_new(GTK_WINDOW_TOPLEVEL, "fullscreen", NULL, NULL,
++ _("Full screen"));
+
+ if (options->fullscreen.screen < 0)
+- {
+- /* If we want control of the window size and position this is not what we want.
+- * Geeqie needs control of which monitor(s) to use for full screen.
+- */
++ { /* Fullscreen as determined by the window manager... */
+ gtk_window_fullscreen(GTK_WINDOW(fs->window));
+ }
+- else if (options->fullscreen.above)
+- {
+- /* request to be above other windows */
+- gtk_window_set_keep_above(GTK_WINDOW(fs->window), TRUE);
++ else
++ { /* Custom fullscreen modes. Done by hand, the hard way... */
++ GdkScreen *screen;
++ gint x, y, w, h;
++ GdkGeometry geometry;
++ GtkWindow *gtkwin = GTK_WINDOW(fs->window);
++ GdkWindow *gdkwin;
++
++ fullscreen_prefs_get_geometry(options->fullscreen.screen,
++ window, &x, &y, &w, &h, &screen, NULL);
++
++ if (options->fullscreen.above)
++ gtk_window_set_keep_above(gtkwin, TRUE);
++
++ gtk_window_set_screen(gtkwin, screen);
++ gtk_window_set_decorated(gtkwin, FALSE);
++ gtk_window_set_resizable(gtkwin, FALSE);
++ gtk_container_set_border_width(GTK_CONTAINER(fs->window), 0);
++
++ geometry.min_width = w;
++ geometry.min_height = h;
++ geometry.max_width = w;
++ geometry.max_height = h;
++ geometry.base_width = w;
++ geometry.base_height = h;
++ gtk_window_set_geometry_hints(gtkwin, fs->window, &geometry,
++ GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE |
++ GDK_HINT_BASE_SIZE);
++
++ gtk_window_set_default_size(gtkwin, w, h);
++ gtk_window_move(gtkwin, x, y);
++
++ gtk_widget_realize(fs->window);
++ gdkwin = gtk_widget_get_window(fs->window);
++ if (gdkwin != NULL)
++ gdk_window_set_override_redirect(gdkwin, TRUE);
+ }
+
+- gtk_window_set_resizable(GTK_WINDOW(fs->window), FALSE);
+-
+- gtk_window_set_screen(GTK_WINDOW(fs->window), screen);
+- gtk_container_set_border_width(GTK_CONTAINER(fs->window), 0);
+ g_signal_connect(G_OBJECT(fs->window), "delete_event",
+ G_CALLBACK(fullscreen_delete_cb), fs);
+
+- geometry.min_width = w;
+- geometry.min_height = h;
+- geometry.max_width = w;
+- geometry.max_height = h;
+- geometry.base_width = w;
+- geometry.base_height = h;
+- geometry.win_gravity = GDK_GRAVITY_STATIC;
+- /* By setting USER_POS and USER_SIZE, most window managers will
+- * not request positioning of the full screen window (for example twm).
+- *
+- * In addition, setting gravity to STATIC will result in the
+- * decorations of twm to not effect the requested window position,
+- * the decorations will simply be off screen, except in multi monitor setups :-/
+- */
+- gtk_window_set_geometry_hints(GTK_WINDOW(fs->window), fs->window, &geometry,
+- GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE | GDK_HINT_BASE_SIZE |
+- GDK_HINT_WIN_GRAVITY |
+- GDK_HINT_USER_POS);
+-
+- gtk_window_set_default_size(GTK_WINDOW(fs->window), w, h);
+- gtk_window_move(GTK_WINDOW(fs->window), x, y);
+-
+ fs->imd = image_new(FALSE);
+
+ gtk_container_add(GTK_CONTAINER(fs->window), fs->imd->widget);
+@@ -393,7 +383,11 @@
+ else
+ {
+ gdk_screen_get_monitor_geometry(screen, j, &rect);
+- subname = g_strdup_printf("%s %d", _("Monitor"), j + 1);
++ subname = gdk_screen_get_monitor_plug_name(screen, j);
++ if (subname == NULL)
++ {
++ subname = g_strdup_printf("%s %d", _("Monitor"), j + 1);
++ }
+ }
+
+ sd = g_new0(ScreenData, 1);
+
diff --git a/media-gfx/geeqie/files/geeqie-1.0-ui_pathsel.patch b/media-gfx/geeqie/files/geeqie-1.0-ui_pathsel.patch
new file mode 100644
index 000000000000..019ce413ebb0
--- /dev/null
+++ b/media-gfx/geeqie/files/geeqie-1.0-ui_pathsel.patch
@@ -0,0 +1,44 @@
+From 738ed337ffaa80276901451847fa83f865b1c439 Mon Sep 17 00:00:00 2001
+From: Klaus Ethgen <Klaus@Ethgen.de>
+Date: Sat, 9 Apr 2011 19:47:30 +0100
+Subject: [PATCH] Do not delete path settings when adding new directory
+
+This patch will change the way, geeqie is mangling the path name in the
+rename (copy) dialog when creating new directory. Will fix the bugs
+Debian:529531 and SF:2795791.
+---
+ src/ui_pathsel.c | 11 +++++++++--
+ 1 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/src/ui_pathsel.c b/src/ui_pathsel.c
+index 6b69c05..d58c5ac 100644
+--- a/src/ui_pathsel.c
++++ b/src/ui_pathsel.c
+@@ -740,7 +740,10 @@ static void dest_new_dir_cb(GtkWidget *widget, gpointer data)
+ tmp = gtk_entry_get_text(GTK_ENTRY(dd->entry));
+ if (!isname(tmp))
+ {
+- path = g_strdup(tmp);
++ buf = remove_trailing_slash(tmp);
++ path = g_strdup(buf);
++ g_free(buf);
++ buf = remove_level_from_path(path);
+ from_text = TRUE;
+ }
+ else
+@@ -765,7 +768,11 @@ static void dest_new_dir_cb(GtkWidget *widget, gpointer data)
+ GtkListStore *store;
+ const gchar *text;
+
+- if (from_text) gtk_entry_set_text(GTK_ENTRY(dd->entry), dd->path);
++ if (from_text)
++ {
++ dest_populate(dd, buf);
++ g_free(buf);
++ }
+
+ store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(dd->d_view)));
+
+--
+1.6.1
+
diff --git a/media-gfx/geeqie/files/geeqie-1.0-vflist-refresh.patch b/media-gfx/geeqie/files/geeqie-1.0-vflist-refresh.patch
new file mode 100644
index 000000000000..a5e0aa32c218
--- /dev/null
+++ b/media-gfx/geeqie/files/geeqie-1.0-vflist-refresh.patch
@@ -0,0 +1,72 @@
+diff -Nur geeqie-1.0-orig/src/view_file_list.c geeqie-1.0/src/view_file_list.c
+--- geeqie-1.0-orig/src/view_file_list.c 2010-02-17 22:21:19.000000000 +0100
++++ geeqie-1.0/src/view_file_list.c 2011-04-15 13:47:10.727936556 +0200
+@@ -943,8 +943,6 @@
+ GList *work;
+ GtkTreeIter iter;
+ gboolean valid;
+- gint num_ordered = 0;
+- gint num_prepended = 0;
+
+ valid = gtk_tree_model_iter_children(GTK_TREE_MODEL(store), &iter, parent_iter);
+
+@@ -993,17 +991,11 @@
+
+ if (valid)
+ {
+- num_ordered++;
+ gtk_tree_store_insert_before(store, &new, parent_iter, &iter);
+ }
+ else
+ {
+- /*
+- here should be used gtk_tree_store_append, but this function seems to be O(n)
+- and it seems to be much faster to add new entries to the beginning and reorder later
+- */
+- num_prepended++;
+- gtk_tree_store_prepend(store, &new, parent_iter);
++ gtk_tree_store_append(store, &new, parent_iter);
+ }
+
+ vflist_setup_iter(vf, store, &new, file_data_ref(fd));
+@@ -1026,7 +1018,6 @@
+ }
+ else
+ {
+- num_ordered++;
+ if (fd->version != old_version || force)
+ {
+ vflist_setup_iter(vf, store, &iter, fd);
+@@ -1043,31 +1034,12 @@
+
+ while (valid)
+ {
+- FileData *old_fd;
++ FileData *old_fd = NULL;
+ gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, FILE_COLUMN_POINTER, &old_fd, -1);
+ file_data_unref(old_fd);
+
+ valid = gtk_tree_store_remove(store, &iter);
+ }
+-
+- /* move the prepended entries to the correct position */
+- if (num_prepended)
+- {
+- gint i;
+- gint num_total = num_prepended + num_ordered;
+- gint *new_order = g_malloc(num_total * sizeof(gint));
+-
+- for (i = 0; i < num_total; i++)
+- {
+- if (i < num_ordered)
+- new_order[i] = num_prepended + i;
+- else
+- new_order[i] = num_total - 1 - i;
+- }
+- gtk_tree_store_reorder(store, parent_iter, new_order);
+-
+- g_free(new_order);
+- }
+ }
+
+ void vflist_sort_set(ViewFile *vf, SortType type, gboolean ascend)
diff --git a/media-gfx/geeqie/geeqie-1.0-r2.ebuild b/media-gfx/geeqie/geeqie-1.0-r2.ebuild
index e20ec683626e..2fa2d42b4091 100644
--- a/media-gfx/geeqie/geeqie-1.0-r2.ebuild
+++ b/media-gfx/geeqie/geeqie-1.0-r2.ebuild
@@ -1,6 +1,6 @@
# 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-r2.ebuild,v 1.6 2012/06/07 23:01:30 voyageur Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/geeqie/geeqie-1.0-r2.ebuild,v 1.7 2012/06/07 23:08:29 voyageur Exp $
EAPI=4
inherit autotools eutils
@@ -48,8 +48,6 @@ src_configure() {
}
src_install() {
- # Bug 414863
- dodir /usr/share/doc/${PF}/html
emake DESTDIR="${D}" install
rm -f "${D}/usr/share/doc/${MY_P}/COPYING"
}
diff --git a/media-gfx/geeqie/geeqie-1.0-r3.ebuild b/media-gfx/geeqie/geeqie-1.0-r3.ebuild
new file mode 100644
index 000000000000..936b81e0c004
--- /dev/null
+++ b/media-gfx/geeqie/geeqie-1.0-r3.ebuild
@@ -0,0 +1,65 @@
+# 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"
+}