summaryrefslogtreecommitdiff
path: root/gnome-extra/nautilus-dropbox
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-12-04 21:03:51 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-12-04 21:03:51 +0000
commitc4d92ab721dfc646b4a58429d965e9446294ce26 (patch)
tree8c0c331362f99c256c191229ac424b1cc8698005 /gnome-extra/nautilus-dropbox
parent5565fb7867ee9faddf046e42a0a3a1a207803938 (diff)
gentoo auto-resync : 04:12:2022 - 21:03:51
Diffstat (limited to 'gnome-extra/nautilus-dropbox')
-rw-r--r--gnome-extra/nautilus-dropbox/Manifest4
-rw-r--r--gnome-extra/nautilus-dropbox/files/nautilus-dropbox-2020.03.04-nautilus43.patch416
-rw-r--r--gnome-extra/nautilus-dropbox/metadata.xml3
-rw-r--r--gnome-extra/nautilus-dropbox/nautilus-dropbox-2020.03.04-r1.ebuild73
4 files changed, 495 insertions, 1 deletions
diff --git a/gnome-extra/nautilus-dropbox/Manifest b/gnome-extra/nautilus-dropbox/Manifest
index 69e1900f589e..2d480d2142c7 100644
--- a/gnome-extra/nautilus-dropbox/Manifest
+++ b/gnome-extra/nautilus-dropbox/Manifest
@@ -1,4 +1,6 @@
AUX nautilus-dropbox-2019-system-rst2man.patch 464 BLAKE2B c0f25a56ee504a6070efdae70670e1a925a1718cfb5e1345d3acfdb0face02d1278d10f2f7172e172056834f99f309d50bbf5899f37fa6023e743042f6ffd7b8 SHA512 98c9e85a491991fd2afee3a12c8be4ab708ee47a42d08d4a11daefc1e964cb3031ffb94a27ab7758b3f1c71f7343dd4b0a49d24cb8aa2848baf65f83879a6cfb
+AUX nautilus-dropbox-2020.03.04-nautilus43.patch 13896 BLAKE2B f4925ecae7a0850c65c0e19b4cbdbaa1973c180fe1c70ea4aa36dcd30603f416db07542af908dfb4dc2a43ed06ece1ac4d0c652b6c724fc4b4e21b9085cd8381 SHA512 fc6e0c5adaab8e3dd33a8ab89bf3d21a461d7e6fdcaa69c86f0bf8a3739f93d3243d3fe42d3730309991be27d97062aadbe4b18994ddc6b488f783172ad34e64
DIST nautilus-dropbox-2020.03.04.tar.bz2 387351 BLAKE2B ff25716ef10759e014cffec8a7e9b1a40931686d6de3c69e9060c77cbf3aee65ffeed91ba809ba8cffc372f284180c74a8cb5b0ca4b342aa137d9e574a2a1abf SHA512 8f26165a48d1767b3bccb34f95f19357e8fd209f383270ac2d40f773df139d640c3fb33db28cf1fa7e2d7063a7a37b15ed7f4f22f85019e05885c097cea39a48
+EBUILD nautilus-dropbox-2020.03.04-r1.ebuild 1537 BLAKE2B 86d19db01c3692f0b26d9bc965774c0cdda9b267787386c5e8f6b5057b350b8eb288d7aa07ff86f73f1062881befd17d76e025b6dd8f193d147ef704480c4eda SHA512 abba351dfb909d2d47895ffc2fab1fb0743c57aa45092477e2a76fd655c6c8fc5296d335b77cdd50452a4713c79e1f733ff4617d74cb9c622a3baade8c8e5ed3
EBUILD nautilus-dropbox-2020.03.04.ebuild 1380 BLAKE2B 5f64280ae02e9bf723d7cde1e0aed8c9aeadd67d9ea2a4ee546bc08de769781ed5ca563a7508106cfafc3c3f74b14c4d6fff9003985445c2133edaf176c73aaf SHA512 165f156f5930797f95922867eb79bc7ce27206e4647d7aaa4951728c4576d8a6b35f30ec0e61db65fc5f27549ee4490b6e99e5e495b3b3619478274ae4c0d0db
-MISC metadata.xml 583 BLAKE2B 0c808eca535df63a12aa7272aec83b62cbe2c86bddfe3c605d7c189299b2bd09f60c40ffe89ca48e4b2b20aa9bf6de23248dfb5cc8fdebccbe6fca32e03eac51 SHA512 00e2a33e94a7742a9e3c0231d048f93220abae2add84d9c192c94b0a855864ce78a04b5ba6db45ecf7c114f350ab15b030ce80912d67015d5232a793f88793d0
+MISC metadata.xml 672 BLAKE2B 65a39d3019fb146357a8385c3a254919a12b65b58b2ce6e848c5dc9a1a404998247c48c48ad277f5c9ea741e72fdca87bc3aeff6373843bd635c17a0a031373d SHA512 1f4db8e346875512dcc88931f10eaa10a1b1f4c30413640c3e0581fa8e6ca6dfd82e9812ab9e01dce29ec98fbbdf5fb6a19e153ae3b9a954b3a35c85932a083f
diff --git a/gnome-extra/nautilus-dropbox/files/nautilus-dropbox-2020.03.04-nautilus43.patch b/gnome-extra/nautilus-dropbox/files/nautilus-dropbox-2020.03.04-nautilus43.patch
new file mode 100644
index 000000000000..efd0574115ca
--- /dev/null
+++ b/gnome-extra/nautilus-dropbox/files/nautilus-dropbox-2020.03.04-nautilus43.patch
@@ -0,0 +1,416 @@
+From 5587be23bec68281e5d6de2b302dbd2a79ea47aa Mon Sep 17 00:00:00 2001
+From: Corey Berla <corey@berla.me>
+Date: Tue, 13 Sep 2022 15:03:59 -0700
+Subject: [PATCH 1/9] Bump to libnautilus-extension-4
+
+Nautilus 43 comes with libnautilus-extension-4 which has several
+breaking changes
+---
+ configure.ac | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 025289c..737dc26 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -12,7 +12,7 @@ AM_CONFIG_HEADER(config.h)
+ #AC_PROG_INTLTOOL([0.29])
+
+ # Dependency checks
+-NAUTILUS_REQUIRED=2.16.0
++NAUTILUS_REQUIRED=43.rc
+ GLIB_REQUIRED=2.14.0
+
+ # Used programs
+@@ -26,7 +26,7 @@ if test "x$HAVE_PKGCONFIG" = "xno"; then
+ AC_MSG_ERROR(you need to have pkgconfig installed !)
+ fi
+
+-PKG_CHECK_MODULES(NAUTILUS, libnautilus-extension >= $NAUTILUS_REQUIRED)
++PKG_CHECK_MODULES(NAUTILUS, libnautilus-extension-4 >= $NAUTILUS_REQUIRED)
+ PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
+
+ AC_PATH_PROG([PYTHON3], [python3])
+@@ -84,10 +84,10 @@ AC_MSG_CHECKING([for nautilus extension directory])
+ if test -n "$with_nautilus_extension_dir"; then
+ NAUTILUS_EXTENSION_DIR=$with_nautilus_extension_dir
+ else
+- NAUTILUS_EXTENSION_DIR=`$PKG_CONFIG --variable=extensiondir libnautilus-extension`
++ NAUTILUS_EXTENSION_DIR=`$PKG_CONFIG --variable=extensiondir libnautilus-extension-4`
+ fi
+ if test -z "$NAUTILUS_EXTENSION_DIR"; then
+- NAUTILUS_EXTENSION_DIR='${exec_prefix}/lib/nautilus/extension-1.0'
++ NAUTILUS_EXTENSION_DIR='${exec_prefix}/lib/nautilus/extension-4'
+ fi
+
+ AC_MSG_RESULT([${NAUTILUS_EXTENSION_DIR}])
+
+From 90067c37aa0894b3e090dc5bdbaa963224226614 Mon Sep 17 00:00:00 2001
+From: Corey Berla <corey@berla.me>
+Date: Tue, 13 Sep 2022 15:06:07 -0700
+Subject: [PATCH 2/9] Update / remove deprecated (now removed) symbols and
+ headers
+
+---
+ src/nautilus-dropbox.c | 9 +++------
+ src/nautilus-dropbox.h | 2 +-
+ 2 files changed, 4 insertions(+), 7 deletions(-)
+
+diff --git a/src/nautilus-dropbox.c b/src/nautilus-dropbox.c
+index c75ccbf..837f9ab 100644
+--- a/src/nautilus-dropbox.c
++++ b/src/nautilus-dropbox.c
+@@ -37,9 +37,7 @@
+ #include <glib-object.h>
+ #include <gtk/gtk.h>
+
+-#include <libnautilus-extension/nautilus-extension-types.h>
+-#include <libnautilus-extension/nautilus-menu-provider.h>
+-#include <libnautilus-extension/nautilus-info-provider.h>
++#include <nautilus-extension.h>
+
+ #include "g-util.h"
+ #include "dropbox-command-client.h"
+@@ -661,7 +659,6 @@ get_file_items_callback(GHashTable *response, gpointer ud)
+
+ static GList *
+ nautilus_dropbox_get_file_items(NautilusMenuProvider *provider,
+- GtkWidget *window,
+ GList *files)
+ {
+ /*
+@@ -888,13 +885,13 @@ on_disconnect(NautilusDropbox *cvs) {
+
+
+ static void
+-nautilus_dropbox_menu_provider_iface_init (NautilusMenuProviderIface *iface) {
++nautilus_dropbox_menu_provider_iface_init (NautilusMenuProviderInterface *iface) {
+ iface->get_file_items = nautilus_dropbox_get_file_items;
+ return;
+ }
+
+ static void
+-nautilus_dropbox_info_provider_iface_init (NautilusInfoProviderIface *iface) {
++nautilus_dropbox_info_provider_iface_init (NautilusInfoProviderInterface *iface) {
+ iface->update_file_info = nautilus_dropbox_update_file_info;
+ iface->cancel_update = nautilus_dropbox_cancel_update;
+ return;
+diff --git a/src/nautilus-dropbox.h b/src/nautilus-dropbox.h
+index 65734be..44faa27 100644
+--- a/src/nautilus-dropbox.h
++++ b/src/nautilus-dropbox.h
+@@ -27,7 +27,7 @@
+ #include <glib.h>
+ #include <glib-object.h>
+
+-#include <libnautilus-extension/nautilus-info-provider.h>
++#include <nautilus-extension.h>
+
+ #include "dropbox-command-client.h"
+ #include "nautilus-dropbox-hooks.h"
+
+From 3f778e011daad826882893812e0d6290bdf12cba Mon Sep 17 00:00:00 2001
+From: Corey Berla <corey@berla.me>
+Date: Tue, 13 Sep 2022 15:06:46 -0700
+Subject: [PATCH 3/9] Include gtk4 directly
+
+This used to be included from libnautilus-extension, but now that
+Nautilus has been ported to gtk4, there is a desire to separate gtk
+from the extensions
+---
+ configure.ac | 3 +++
+ src/Makefile.am | 1 +
+ src/dropbox.c | 3 ---
+ 3 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 737dc26..42b49fa 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -28,6 +28,9 @@ fi
+
+ PKG_CHECK_MODULES(NAUTILUS, libnautilus-extension-4 >= $NAUTILUS_REQUIRED)
+ PKG_CHECK_MODULES(GLIB, glib-2.0 >= $GLIB_REQUIRED)
++PKG_CHECK_MODULES(GTK, gtk4 >= 4.6.0)
++
++AC_SUBST(GTK_CFLAGS)
+
+ AC_PATH_PROG([PYTHON3], [python3])
+
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 15d6687..c521ec5 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -13,6 +13,7 @@ libnautilus_dropbox_la_CFLAGS = \
+ $(WARN_CFLAGS) \
+ $(DISABLE_DEPRECATED_CFLAGS) \
+ $(NAUTILUS_CFLAGS) \
++ $(GTK_CFLAGS) \
+ $(GLIB_CFLAGS)
+
+ if DEBUG
+diff --git a/src/dropbox.c b/src/dropbox.c
+index 0d59559..f52e0fb 100644
+--- a/src/dropbox.c
++++ b/src/dropbox.c
+@@ -27,9 +27,6 @@
+
+ #include <glib-object.h>
+
+-#include <gdk/gdk.h>
+-#include <gtk/gtk.h>
+-
+ #include "nautilus-dropbox.h"
+
+ static GType type_list[1];
+
+From 4188fea5ce15a5bd0ac359e4c18eaa9039413c83 Mon Sep 17 00:00:00 2001
+From: Corey Berla <corey@berla.me>
+Date: Tue, 13 Sep 2022 15:07:54 -0700
+Subject: [PATCH 4/9] Remove old / unnecessary fix
+
+This was causes problems with the build and doesn't appear
+to be necessary anymore
+---
+ src/dropbox.c | 3 ---
+ src/nautilus-dropbox.c | 9 +--------
+ 2 files changed, 1 insertion(+), 11 deletions(-)
+
+diff --git a/src/dropbox.c b/src/dropbox.c
+index f52e0fb..8162aa9 100644
+--- a/src/dropbox.c
++++ b/src/dropbox.c
+@@ -38,9 +38,6 @@ nautilus_module_initialize (GTypeModule *module) {
+ nautilus_dropbox_register_type (module);
+ type_list[0] = NAUTILUS_TYPE_DROPBOX;
+
+- dropbox_use_nautilus_submenu_workaround
+- = (NAUTILUS_VERSION_MAJOR < 2 ||
+- (NAUTILUS_VERSION_MAJOR == 2 && NAUTILUS_VERSION_MINOR <= 22));
+ dropbox_use_operation_in_progress_workaround = TRUE;
+ }
+
+diff --git a/src/nautilus-dropbox.c b/src/nautilus-dropbox.c
+index 837f9ab..bc1b5bd 100644
+--- a/src/nautilus-dropbox.c
++++ b/src/nautilus-dropbox.c
+@@ -47,7 +47,7 @@
+ static char *emblems[] = {"dropbox-uptodate", "dropbox-syncing", "dropbox-unsyncable"};
+ gchar *DEFAULT_EMBLEM_PATHS[2] = { EMBLEMDIR , NULL };
+
+-gboolean dropbox_use_nautilus_submenu_workaround;
++
+ gboolean dropbox_use_operation_in_progress_workaround;
+
+ static GType dropbox_type = 0;
+@@ -628,13 +628,6 @@ nautilus_dropbox_parse_menu(gchar **options,
+ g_object_set_property (G_OBJECT(item), "sensitive", &sensitive);
+ }
+
+- /* taken from nautilus-file-repairer (http://repairer.kldp.net/):
+- * this code is a workaround for a bug of nautilus
+- * See: http://bugzilla.gnome.org/show_bug.cgi?id=508878 */
+- if (dropbox_use_nautilus_submenu_workaround) {
+- toret = g_list_append(toret, item);
+- }
+-
+ g_object_unref(item);
+ g_string_free(new_action_string, TRUE);
+ ret++;
+
+From def0ce2b69a5d3fec6e2fab360473c5560b947e6 Mon Sep 17 00:00:00 2001
+From: Corey Berla <corey@berla.me>
+Date: Tue, 13 Sep 2022 15:08:16 -0700
+Subject: [PATCH 5/9] Update code for gtk4
+
+---
+ src/nautilus-dropbox.c | 14 ++++++--------
+ 1 file changed, 6 insertions(+), 8 deletions(-)
+
+diff --git a/src/nautilus-dropbox.c b/src/nautilus-dropbox.c
+index bc1b5bd..b9c10b4 100644
+--- a/src/nautilus-dropbox.c
++++ b/src/nautilus-dropbox.c
+@@ -768,14 +768,13 @@ add_emblem_paths(GHashTable* emblem_paths_response)
+
+ gchar **emblem_paths_list;
+ int i;
+-
+- GtkIconTheme *theme = gtk_icon_theme_get_default();
++ GtkIconTheme *theme = gtk_icon_theme_get_for_display (gdk_display_get_default ());
+
+ if (emblem_paths_response &&
+ (emblem_paths_list = g_hash_table_lookup(emblem_paths_response, "path"))) {
+ for (i = 0; emblem_paths_list[i] != NULL; i++) {
+ if (emblem_paths_list[i][0])
+- gtk_icon_theme_append_search_path(theme, emblem_paths_list[i]);
++ gtk_icon_theme_add_search_path(theme, emblem_paths_list[i]);
+ }
+ }
+ g_hash_table_unref(emblem_paths_response);
+@@ -794,15 +793,14 @@ remove_emblem_paths(GHashTable* emblem_paths_response)
+ goto exit;
+
+ // We need to remove the old paths.
+- GtkIconTheme * icon_theme = gtk_icon_theme_get_default();
+ gchar ** paths;
+- gint path_count;
++ GtkIconTheme *theme = gtk_icon_theme_get_for_display (gdk_display_get_default ());
+
+- gtk_icon_theme_get_search_path(icon_theme, &paths, &path_count);
++ paths = gtk_icon_theme_get_search_path(theme);
+
+ gint i, j, out = 0;
+ gboolean found = FALSE;
+- for (i = 0; i < path_count; i++) {
++ for (i = 0; paths[i] != NULL; i++) {
+ gboolean keep = TRUE;
+ for (j = 0; emblem_paths_list[j] != NULL; j++) {
+ if (emblem_paths_list[j][0]) {
+@@ -824,7 +822,7 @@ remove_emblem_paths(GHashTable* emblem_paths_response)
+ accomodate the changes */
+ if (found) {
+ paths[out] = NULL; /* Clear the last one */
+- gtk_icon_theme_set_search_path(icon_theme, (const gchar **)paths, out);
++ gtk_icon_theme_set_search_path(theme, (const gchar **)paths);
+ }
+
+ g_strfreev(paths);
+
+From d0bb693ce7d2e48562e516771afcd310ccb14ae1 Mon Sep 17 00:00:00 2001
+From: Corey Berla <corey@berla.me>
+Date: Sun, 20 Nov 2022 13:56:38 -0800
+Subject: [PATCH 6/9] dropbox: Drop threads_init()
+
+This became unnecessary long ago
+
+https://pygobject.readthedocs.io/en/latest/guide/threading.html#threads-faq
+---
+ dropbox.in | 3 ---
+ 1 file changed, 3 deletions(-)
+ mode change 100755 => 100644 dropbox.in
+
+diff --git a/dropbox.in b/dropbox.in
+old mode 100755
+new mode 100644
+index 4a480bb..31519e2
+--- a/dropbox.in
++++ b/dropbox.in
+@@ -294,14 +294,11 @@ if GUI_AVAILABLE:
+ import gi
+ gi.require_version('Gdk', '3.0')
+ gi.require_version('Gtk', '3.0')
+- from gi.repository import GObject
+ from gi.repository import Gdk
+ from gi.repository import Gtk
+ from gi.repository import Pango
+ import webbrowser
+
+- GObject.threads_init()
+-
+ load_serialized_images()
+
+ global FatalVisibleError
+
+From 1e878e57023370f8932791e90bc6cd8814219c25 Mon Sep 17 00:00:00 2001
+From: Corey Berla <corey@berla.me>
+Date: Sun, 20 Nov 2022 13:57:17 -0800
+Subject: [PATCH 7/9] dropbox: Replace deprecated GObject.idle_add with
+ GLib.idle_add
+
+---
+ dropbox.in | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/dropbox.in b/dropbox.in
+index 31519e2..fc306b0 100644
+--- a/dropbox.in
++++ b/dropbox.in
+@@ -294,6 +294,7 @@ if GUI_AVAILABLE:
+ import gi
+ gi.require_version('Gdk', '3.0')
+ gi.require_version('Gtk', '3.0')
++ from gi.repository import GLib
+ from gi.repository import Gdk
+ from gi.repository import Gtk
+ from gi.repository import Pango
+@@ -328,17 +329,17 @@ if GUI_AVAILABLE:
+ ret = ()
+ if not isinstance(ret, tuple):
+ ret = (ret,)
+- GObject.idle_add(self.loop_callback, *ret)
++ GLib.idle_add(self.loop_callback, *ret)
+
+ if self._stopped:
+ _thread.exit()
+ except Exception as e:
+ print(e)
+ if self.on_exception is not None:
+- GObject.idle_add(self.on_exception, e)
++ GLib.idle_add(self.on_exception, e)
+ else:
+ if self.on_done is not None:
+- GObject.idle_add(self.on_done)
++ GLib.idle_add(self.on_done)
+
+ def start(self, *args, **kwargs):
+ t = threading.Thread(target=self._run, args=args, kwargs=kwargs)
+
+From de01c7f7cab560b226eeb1f1cbcfd348c922e5d4 Mon Sep 17 00:00:00 2001
+From: Corey Berla <corey@berla.me>
+Date: Sun, 20 Nov 2022 13:58:15 -0800
+Subject: [PATCH 8/9] dropbox: Threading set daemon as property
+
+setDaemon() is deprecated
+
+https://docs.python.org/3/library/threading.html#threading.Thread.setDaemon
+---
+ dropbox.in | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/dropbox.in b/dropbox.in
+index fc306b0..4b7f923 100644
+--- a/dropbox.in
++++ b/dropbox.in
+@@ -342,8 +342,7 @@ if GUI_AVAILABLE:
+ GLib.idle_add(self.on_done)
+
+ def start(self, *args, **kwargs):
+- t = threading.Thread(target=self._run, args=args, kwargs=kwargs)
+- t.setDaemon(True)
++ t = threading.Thread(target=self._run, args=args, kwargs=kwargs, daemon=True)
+ t.start()
+
+ def stop(self):
+
+From 34024ef1ccc60d905e810057c3e28e0e185eac78 Mon Sep 17 00:00:00 2001
+From: Corey Berla <corey@berla.me>
+Date: Sun, 20 Nov 2022 13:59:46 -0800
+Subject: [PATCH 9/9] dropbox: Stop using GtkStock
+
+It was deprecated in 3.10
+
+https://docs.gtk.org/gtk3/ctor.Button.new_from_stock.html
+---
+ dropbox.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dropbox.in b/dropbox.in
+index 4b7f923..380818f 100644
+--- a/dropbox.in
++++ b/dropbox.in
+@@ -447,12 +447,12 @@ if GUI_AVAILABLE:
+ self.user_cancelled = False
+ self.task = None
+
+- self.ok = ok = Gtk.Button(stock=Gtk.STOCK_OK)
++ self.ok = ok = Gtk.Button.new_with_mnemonic("_OK")
+ ok.connect('clicked', self.handle_ok)
+ self.action_area.add(ok)
+ ok.show()
+
+- cancel = Gtk.Button(stock=Gtk.STOCK_CANCEL)
++ cancel = Gtk.Button.new_with_mnemonic("_Cancel")
+ cancel.connect('clicked', self.handle_cancel)
+ self.action_area.add(cancel)
+ cancel.show()
diff --git a/gnome-extra/nautilus-dropbox/metadata.xml b/gnome-extra/nautilus-dropbox/metadata.xml
index ec639289b9c1..6c516c8f6940 100644
--- a/gnome-extra/nautilus-dropbox/metadata.xml
+++ b/gnome-extra/nautilus-dropbox/metadata.xml
@@ -9,6 +9,9 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">dropbox/nautilus-dropbox</remote-id>
+ </upstream>
<longdescription lang="en">
A extension of nautilus to display the sync state of an Dropbox folder and add a right click menu to mange files in the Dropbox folder.
</longdescription>
diff --git a/gnome-extra/nautilus-dropbox/nautilus-dropbox-2020.03.04-r1.ebuild b/gnome-extra/nautilus-dropbox/nautilus-dropbox-2020.03.04-r1.ebuild
new file mode 100644
index 000000000000..94473d0a1487
--- /dev/null
+++ b/gnome-extra/nautilus-dropbox/nautilus-dropbox-2020.03.04-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit autotools python-single-r1 xdg-utils
+
+DESCRIPTION="Dropbox Nautilus Extension"
+HOMEPAGE="https://github.com/dropbox/nautilus-dropbox"
+SRC_URI="https://linux.dropboxstatic.com/packages/${P}.tar.bz2"
+
+LICENSE="GPL-3 CC-BY-ND-3.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debug"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]' )
+ dev-libs/glib:2
+ >=gnome-base/nautilus-43
+ net-misc/dropbox"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(python_gen_cond_dep 'dev-python/docutils[${PYTHON_USEDEP}]' )
+ virtual/pkgconfig"
+
+# use system rst2man
+PATCHES=(
+ # use system rst2man
+ "${FILESDIR}/${PN}-2019-system-rst2man.patch"
+
+ # https://github.com/dropbox/nautilus-dropbox/pull/105
+ "${FILESDIR}/${P}-nautilus43.patch"
+)
+
+src_prepare() {
+ default
+
+ # use system dropbox
+ sed \
+ -e "s|~/[.]dropbox-dist|${EPREFIX}/opt/dropbox|" \
+ -e "s|\(DROPBOXD_PATH = \).*|\1\"${EPREFIX}/opt/dropbox/dropboxd\"|" \
+ -i dropbox.in || die
+ AT_NOELIBTOOLIZE=yes eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable debug) \
+ --disable-static
+}
+
+src_install() {
+ default
+
+ # removes files which conflicts with system dropbox
+ rm -r "${ED}"/usr/share/applications || die
+ rm -r "${ED}"/usr/bin || die
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+}