gnome-base/nautilus: bump to 3.34.2
authorMart Raudsepp <leio@gentoo.org>
Tue, 3 Mar 2020 22:19:07 +0000 (00:19 +0200)
committerMart Raudsepp <leio@gentoo.org>
Tue, 3 Mar 2020 22:19:17 +0000 (00:19 +0200)
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
gnome-base/nautilus/Manifest
gnome-base/nautilus/files/3.34.2-pango-1.42-compat.patch [new file with mode: 0644]
gnome-base/nautilus/nautilus-3.34.2.ebuild [new file with mode: 0644]

index c27e9f9b5a94047c86c3826acb05e7b909a5024e..5928b3e7fc0d36d2bc3d219b9fb537bf9f78dccf 100644 (file)
@@ -1 +1,2 @@
 DIST nautilus-3.32.3.tar.xz 3197820 BLAKE2B 28140210a855fe62faba4f0833067a81c4d8f71c0cc870ba4fdcc016754b01df003e45f636836f67cced8515aba8c8fb7922de788a14bfe0f0cc4518010aed5f SHA512 f19710f02bd91edb2d2f6cb8f46be6bebea3edfed14a07612444d5990533bafd032b604d65533727eb377b574d6bd4c82dbe11894d85ad254ee1473b683c4392
+DIST nautilus-3.34.2.tar.xz 3196976 BLAKE2B 38424061cb5591fc1df5824dd80e282637345bde148955c81632d4894153e10f3840389bb4e43dffe8c28f10eb6e64c1cc89f1bffdcf80fa581a5d47b7724dee SHA512 1a4e24fea3201f68b0316b95425bbc90078baa1ae7dccef2d2e48beda4007ecf2986254cde243d310c548e47a4693d84d1255654199649ce08429a99fb3a3a51
diff --git a/gnome-base/nautilus/files/3.34.2-pango-1.42-compat.patch b/gnome-base/nautilus/files/3.34.2-pango-1.42-compat.patch
new file mode 100644 (file)
index 0000000..76ab1fb
--- /dev/null
@@ -0,0 +1,106 @@
+From a9cd85a7bc045ae4b4661f0e6f9ece362a26c0c3 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@gnome.org>
+Date: Wed, 27 Nov 2019 14:08:27 +0000
+Subject: [PATCH] Conditionally depend on Pango 1.44.4
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We're using newly introduced Pango API, but we're not doing a version
+check on it. One option is to force a Pango ≥ 1.44.4 dependency; another
+is to do a compile time check and only use the new API if we're building
+against a new enough Pango.
+---
+ src/nautilus-canvas-item.c       | 14 +++++++++-----
+ src/nautilus-view-icon-item-ui.c | 16 ++++++++++------
+ 2 files changed, 19 insertions(+), 11 deletions(-)
+
+diff --git a/src/nautilus-canvas-item.c b/src/nautilus-canvas-item.c
+index 4d33d119b..5b5d3312f 100644
+--- a/src/nautilus-canvas-item.c
++++ b/src/nautilus-canvas-item.c
+@@ -1381,14 +1381,12 @@ create_label_layout (NautilusCanvasItem *item,
+     GString *str;
+     char *zeroified_text;
+     const char *p;
+-    PangoAttrList *attr_list;
+     canvas_item = EEL_CANVAS_ITEM (item);
+     container = NAUTILUS_CANVAS_CONTAINER (canvas_item->canvas);
+     context = gtk_widget_get_pango_context (GTK_WIDGET (canvas_item->canvas));
+     layout = pango_layout_new (context);
+-    attr_list = pango_attr_list_new ();
+     zeroified_text = NULL;
+@@ -1417,8 +1415,15 @@ create_label_layout (NautilusCanvasItem *item,
+     pango_layout_set_spacing (layout, LABEL_LINE_SPACING);
+     pango_layout_set_wrap (layout, PANGO_WRAP_WORD_CHAR);
+-    pango_attr_list_insert (attr_list, pango_attr_insert_hyphens_new (FALSE));
+-    pango_layout_set_attributes (layout, attr_list);
++#if PANGO_VERSION_CHECK (1, 44, 4)
++    {
++        PangoAttrList *attr_list = pango_attr_list_new ();
++
++        pango_attr_list_insert (attr_list, pango_attr_insert_hyphens_new (FALSE));
++        pango_layout_set_attributes (layout, attr_list);
++        pango_attr_list_unref (attr_list);
++    }
++#endif
+     /* Create a font description */
+     if (container->details->font)
+@@ -1432,7 +1437,6 @@ create_label_layout (NautilusCanvasItem *item,
+     pango_layout_set_font_description (layout, desc);
+     pango_font_description_free (desc);
+     g_free (zeroified_text);
+-    pango_attr_list_unref (attr_list);
+     return layout;
+ }
+diff --git a/src/nautilus-view-icon-item-ui.c b/src/nautilus-view-icon-item-ui.c
+index d192e28fa..837dc54a9 100644
+--- a/src/nautilus-view-icon-item-ui.c
++++ b/src/nautilus-view-icon-item-ui.c
+@@ -128,7 +128,6 @@ constructed (GObject *object)
+     GtkBox *container;
+     GtkBox *item_selection_background;
+     GtkLabel *label;
+-    PangoAttrList *attr_list;
+     GtkStyleContext *style_context;
+     NautilusFile *file;
+     guint icon_size;
+@@ -150,9 +149,16 @@ constructed (GObject *object)
+     label = GTK_LABEL (gtk_label_new (nautilus_file_get_display_name (file)));
+     gtk_widget_show (GTK_WIDGET (label));
+-    attr_list = pango_attr_list_new ();
+-    pango_attr_list_insert (attr_list, pango_attr_insert_hyphens_new (FALSE));
+-    gtk_label_set_attributes (label, attr_list);
++
++#if PANGO_VERSION_CHECK (1, 44, 4)
++    {
++        PangoAttrList *attr_list = pango_attr_list_new ();
++        pango_attr_list_insert (attr_list, pango_attr_insert_hyphens_new (FALSE));
++        gtk_label_set_attributes (label, attr_list);
++        pango_attr_list_unref (attr_list);
++    }
++#endif
++
+     gtk_label_set_ellipsize (label, PANGO_ELLIPSIZE_MIDDLE);
+     gtk_label_set_line_wrap (label, TRUE);
+     gtk_label_set_line_wrap_mode (label, PANGO_WRAP_WORD_CHAR);
+@@ -182,8 +188,6 @@ constructed (GObject *object)
+                       (GCallback) on_view_item_size_changed, self);
+     g_signal_connect (self->model, "notify::file",
+                       (GCallback) on_view_item_file_changed, self);
+-
+-    pango_attr_list_unref (attr_list);
+ }
+ static void
+-- 
+2.20.1
+
diff --git a/gnome-base/nautilus/nautilus-3.34.2.ebuild b/gnome-base/nautilus/nautilus-3.34.2.ebuild
new file mode 100644 (file)
index 0000000..5678b21
--- /dev/null
@@ -0,0 +1,107 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit gnome.org gnome2-utils meson readme.gentoo-r1 virtualx xdg
+
+DESCRIPTION="Default file manager for the GNOME desktop"
+HOMEPAGE="https://wiki.gnome.org/Apps/Nautilus"
+
+LICENSE="GPL-3+ LGPL-2.1+"
+SLOT="0"
+IUSE="gnome +gstreamer gtk-doc +introspection packagekit +previewer selinux sendto"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+       >=dev-libs/glib-2.58.1:2
+       >=media-libs/gexiv2-0.10.0
+       gstreamer? ( media-libs/gstreamer:1.0
+               media-libs/gst-plugins-base:1.0 )
+       >=app-arch/gnome-autoar-0.2.1
+       >=gnome-base/gnome-desktop-3.0.0:3=
+       >=x11-libs/gtk+-3.22.27:3[X,introspection?]
+       >=x11-libs/pango-1.28.3
+       selinux? ( >=sys-libs/libselinux-2.0 )
+       >=app-misc/tracker-2.0:=
+       x11-libs/libX11
+       >=dev-libs/libxml2-2.7.8:2
+       introspection? ( >=dev-libs/gobject-introspection-1.54:= )
+"
+RDEPEND="${DEPEND}
+       packagekit? ( app-admin/packagekit-base )
+       sendto? ( !<gnome-extra/nautilus-sendto-3.0.1 )
+       gstreamer? ( !<media-video/totem-3.31.91[nautilus] )
+       >=app-misc/tracker-miners-2.0:=
+" # uses org.freedesktop.Tracker.Miner.Files gsettings schema from tracker-miners
+BDEPEND="
+       >=dev-util/gdbus-codegen-2.51.2
+       dev-util/glib-utils
+       gtk-doc? (
+               >=dev-util/gtk-doc-1.10
+               app-text/docbook-xml-dtd:4.1.2 )
+       >=sys-devel/gettext-0.19.8
+       virtual/pkgconfig
+       x11-base/xorg-proto
+"
+PDEPEND="
+       gnome? ( x11-themes/adwaita-icon-theme )
+       previewer? ( >=gnome-extra/sushi-0.1.9 )
+       sendto? ( >=gnome-extra/nautilus-sendto-3.0.1 )
+       >=gnome-base/gvfs-1.14[gtk(+)]
+" # Need gvfs[gtk] for recent:/// support; always built (without USE=gtk) since gvfs-1.34
+
+PATCHES=(
+       "${FILESDIR}"/3.30.5-docs-build.patch # Always install pregenerated manpage, keeping docs option for gtk-doc
+       "${FILESDIR}"/3.32.3-optional-gstreamer.patch # Allow controlling audio-video-properties build
+       "${FILESDIR}"/${PV}-pango-1.42-compat.patch
+)
+
+src_prepare() {
+       if use previewer; then
+               DOC_CONTENTS="nautilus uses gnome-extra/sushi to preview media files.
+                       To activate the previewer, select a file and press space; to
+                       close the previewer, press space again."
+       fi
+       xdg_src_prepare
+}
+
+src_configure() {
+       local emesonargs=(
+               $(meson_use gtk-doc docs)
+               -Dextensions=true # image file properties, sendto support; also required for -Dgstreamer=true
+               $(meson_use gstreamer) # gstreamer audio-video-properties extension
+               $(meson_use introspection)
+               $(meson_use packagekit)
+               $(meson_use selinux)
+               -Dprofiling=false
+               -Dtests=$(usex test all none)
+       )
+       meson_src_configure
+}
+
+src_install() {
+       use previewer && readme.gentoo_create_doc
+       meson_src_install
+}
+
+src_test() {
+       virtx meson_src_test
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+       gnome2_schemas_update
+
+       if use previewer; then
+               readme.gentoo_print_elog
+       else
+               elog "To preview media files, emerge nautilus with USE=previewer"
+       fi
+}
+
+pkg_postrm() {
+       xdg_pkg_postrm
+       gnome2_schemas_update
+}