commit:     caeea30dd8c67de1f8e09db73346457d1131349b
Author:     brettalcox <brettalcox <AT> gmail <DOT> com>
AuthorDate: Thu Oct  5 14:26:02 2023 +0000
Commit:     Brett Alcox <brettalcox <AT> gmail <DOT> com>
CommitDate: Thu Oct  5 14:26:02 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=caeea30d

net-news/gfeeds: new package, add 2.2.0

Signed-off-by: brettalcox <brettalcox <AT> gmail.com>

 net-news/gfeeds/Manifest                           |   1 +
 .../files/gfeeds-2.2.0-blueprint-0.80-fix.patch    | 336 +++++++++++++++++++++
 net-news/gfeeds/gfeeds-2.2.0.ebuild                |  70 +++++
 net-news/gfeeds/metadata.xml                       |  10 +
 4 files changed, 417 insertions(+)

diff --git a/net-news/gfeeds/Manifest b/net-news/gfeeds/Manifest
new file mode 100644
index 0000000000..35a2ce4591
--- /dev/null
+++ b/net-news/gfeeds/Manifest
@@ -0,0 +1 @@
+DIST gfeeds-2.2.0.tar.bz2 184323 BLAKE2B 
47b259be8b788405e082250bf320ec91a5c199cfa75e20b4989d9b378e58dffb021c71677a9f31256cb8ef5c2dfd250ab1b09a3cf4e85a6f8c62098d154b7a41
 SHA512 
27409dd01a1ce59e9d5e4c6a3b34e63a0724c63a0db35390279d14287cbeef5578b266c316f7b170382a446ad0b280be3be7297ec6ee8739e3a4e1eff07a269c

diff --git a/net-news/gfeeds/files/gfeeds-2.2.0-blueprint-0.80-fix.patch 
b/net-news/gfeeds/files/gfeeds-2.2.0-blueprint-0.80-fix.patch
new file mode 100644
index 0000000000..4bb95bc1c0
--- /dev/null
+++ b/net-news/gfeeds/files/gfeeds-2.2.0-blueprint-0.80-fix.patch
@@ -0,0 +1,336 @@
+diff --git a/data/ui/add_feed_popover.blp b/data/ui/add_feed_popover.blp
+index 13806f5..b61f2ea 100644
+--- a/data/ui/add_feed_popover.blp
++++ b/data/ui/add_feed_popover.blp
+@@ -1,6 +1,6 @@
+ using Gtk 4.0;
+ 
+-template AddFeedPopover : Gtk.Popover {
++template $AddFeedPopover : Gtk.Popover {
+     autohide: true;
+     Gtk.Box container_box {
+         width-request: 290;
+@@ -18,13 +18,13 @@ template AddFeedPopover : Gtk.Popover {
+                 placeholder-text: 'https://…';
+                 input-purpose: url;
+                 hexpand: true;
+-                activate => on_url_entry_activate();
+-                changed => on_url_entry_changed();
++                activate => $on_url_entry_activate();
++                changed => $on_url_entry_changed();
+             }
+             Gtk.Button confirm_btn {
+                 styles ['suggested-action']
+                 label: _("Add");
+-                clicked => on_confirm_btn_clicked();
++                clicked => $on_confirm_btn_clicked();
+             }
+         }
+         Gtk.Revealer already_subscribed_revealer {
+diff --git a/data/ui/empty_state.blp b/data/ui/empty_state.blp
+index dbdbf2c..a9c91b9 100644
+--- a/data/ui/empty_state.blp
++++ b/data/ui/empty_state.blp
+@@ -1,7 +1,7 @@
+ using Gtk 4.0;
+ using Adw 1;
+ 
+-template EmptyState : Adw.Bin {
++template $EmptyState : Adw.Bin {
+     Adw.StatusPage {
+         styles ['navigation-sidebar']
+         title: _("Let's get started");
+diff --git a/data/ui/filter_view.blp b/data/ui/filter_view.blp
+index 7b5e0a3..9c060d3 100644
+--- a/data/ui/filter_view.blp
++++ b/data/ui/filter_view.blp
+@@ -2,7 +2,7 @@ using Gtk 4.0;
+ using Adw 1;
+ 
+ 
+-template FilterView : Adw.Bin {
++template $FilterView : Adw.Bin {
+     styles ['background']
+     ScrolledWindow {
+         hscrollbar-policy: never;
+@@ -13,13 +13,13 @@ template FilterView : Adw.Bin {
+             ListBox all_listbox {
+                 styles ['navigation-sidebar']
+                 selection-mode: single;
+-                row-activated => on_all_row_activated();
++                row-activated => $on_all_row_activated();
+             }
+             Separator { orientation: horizontal; margin-start: 6; margin-end: 
6; }
+             ListBox tags_listbox {
+                 styles ['navigation-sidebar']
+                 selection-mode: single;
+-                row-activated => on_tags_row_activated();
++                row-activated => $on_tags_row_activated();
+             }
+             Separator { orientation: horizontal; margin-start: 6; margin-end: 
6; }
+             Adw.Bin feeds_listbox_bin {}
+diff --git a/data/ui/left_headerbar.blp b/data/ui/left_headerbar.blp
+index 113a839..10e0195 100644
+--- a/data/ui/left_headerbar.blp
++++ b/data/ui/left_headerbar.blp
+@@ -20,7 +20,7 @@ menu generalMenu {
+     }
+ }
+ 
+-template LeftHeaderbar : WindowHandle {
++template $LeftHeaderbar : WindowHandle {
+     vexpand: false; hexpand: true;
+     Adw.HeaderBar left_headerbar {
+         [title] Adw.Bin {}
+@@ -40,7 +40,7 @@ template LeftHeaderbar : WindowHandle {
+         [end] Button refresh_btn {
+             tooltip-text: _("Refresh");
+             icon-name: 'view-refresh-symbolic';
+-            clicked => on_refresh_btn_clicked();
++            clicked => $on_refresh_btn_clicked();
+         }
+         [end] ToggleButton search_btn {
+             tooltip-text: _("Search");
+@@ -50,7 +50,7 @@ template LeftHeaderbar : WindowHandle {
+             tooltip-text: _("There Are Errors");
+             icon-name: 'dialog-warning-symbolic';
+             visible: false;
+-            clicked => show_errors_dialog();
++            clicked => $show_errors_dialog();
+         }
+     }
+ }
+diff --git a/data/ui/main_leaflet.blp b/data/ui/main_leaflet.blp
+index c2e49f5..8fe5d27 100644
+--- a/data/ui/main_leaflet.blp
++++ b/data/ui/main_leaflet.blp
+@@ -1,20 +1,20 @@
+ using Gtk 4.0;
+ using Adw 1;
+ 
+-template MainLeaflet : Adw.Bin {
++template $MainLeaflet : Adw.Bin {
+     Adw.Leaflet leaflet {
+         homogeneous: false;
+         can-navigate-back: true;
+         transition-type: over;
+         visible-child: left_box;
+-        notify::folded => on_leaflet_folded();
++        notify::folded => $on_leaflet_folded();
+         Adw.LeafletPage left_page {
+             child: Gtk.Box left_box {
+                 hexpand: false;
+                 orientation: vertical;
+                 width-request: 360;
+                 height-request: 100;
+-                .LeftHeaderbar left_headerbar {
++                $LeftHeaderbar left_headerbar {
+                     searchbar: searchbar;
+                 }
+                 SearchBar searchbar {
+@@ -50,9 +50,9 @@ template MainLeaflet : Adw.Bin {
+                     reveal-flap: false;
+                     swipe-to-open: true;
+                     swipe-to-close: true;
+-                    [flap] .FilterView filter_view {}
+-                    [content] .StackWithEmptyState sidebar_stack {
+-                        main-widget: .GFeedsSidebar sidebar {
++                    [flap] $FilterView filter_view {}
++                    [content] $StackWithEmptyState sidebar_stack {
++                        main-widget: $GFeedsSidebar sidebar {
+ 
+                         };
+                     }
+@@ -66,11 +66,11 @@ template MainLeaflet : Adw.Bin {
+         Adw.LeafletPage right_page {
+             child: Gtk.Box right_box {
+                 orientation: vertical;
+-                .RightHeaderbar right_headerbar {
++                $RightHeaderbar right_headerbar {
+                     webview: webview;
+-                    go_back => on_back_btn_clicked();
++                    go_back => $on_back_btn_clicked();
+                 }
+-                .GFeedsWebView webview {}
++                $GFeedsWebView webview {}
+             };
+         }
+     }
+diff --git a/data/ui/manage_feeds_headerbar.blp 
b/data/ui/manage_feeds_headerbar.blp
+index 8e862a9..ea130ec 100644
+--- a/data/ui/manage_feeds_headerbar.blp
++++ b/data/ui/manage_feeds_headerbar.blp
+@@ -1,7 +1,7 @@
+ using Gtk 4.0;
+ using Adw 1;
+ 
+-template ManageFeedsHeaderbar : Gtk.HeaderBar {
++template $ManageFeedsHeaderbar : Gtk.HeaderBar {
+     show-title-buttons: true;
+     [title] Adw.WindowTitle {
+         title: _("Manage Feeds");
+diff --git a/data/ui/manage_tags_content.blp b/data/ui/manage_tags_content.blp
+index b6b009f..b47f99d 100644
+--- a/data/ui/manage_tags_content.blp
++++ b/data/ui/manage_tags_content.blp
+@@ -1,7 +1,7 @@
+ using Gtk 4.0;
+ using Adw 1;
+ 
+-template ManageTagsContent : Adw.Bin {
++template $ManageTagsContent : Adw.Bin {
+     styles ['background']
+     Box {
+         spacing: 6;
+@@ -16,14 +16,14 @@ template ManageTagsContent : Adw.Bin {
+             Entry tags_entry {
+                 placeholder-text: _("New tag name…");
+                 hexpand: true;
+-                changed => on_tags_entry_changed();
+-                activate => on_submit_add_tag();
++                changed => $on_tags_entry_changed();
++                activate => $on_submit_add_tag();
+             }
+             Button add_tag_btn {
+                 styles ['suggested-action']
+                 tooltip-text: _("Add Tag");
+                 icon-name: 'list-add-symbolic';
+-                clicked => on_submit_add_tag();
++                clicked => $on_submit_add_tag();
+             }
+         }
+         Separator { orientation: horizontal; }
+@@ -34,7 +34,7 @@ template ManageTagsContent : Adw.Bin {
+                 ListBox tags_listbox {
+                     styles ['navigation-sidebar']
+                     selection-mode: none;
+-                    row-activated => on_tags_listbox_row_activated();
++                    row-activated => $on_tags_listbox_row_activated();
+                     [placeholder] Adw.StatusPage {
+                         title: _("There are no tags yet");
+                         description: _("Add some using the entry above");
+diff --git a/data/ui/manage_tags_listbox_row.blp 
b/data/ui/manage_tags_listbox_row.blp
+index 21124d2..0350c8f 100644
+--- a/data/ui/manage_tags_listbox_row.blp
++++ b/data/ui/manage_tags_listbox_row.blp
+@@ -1,6 +1,6 @@
+ using Gtk 4.0;
+ 
+-template ManageTagsListboxRow : ListBoxRow {
++template $ManageTagsListboxRow : ListBoxRow {
+     Box main_box {
+         spacing: 6;
+         orientation: horizontal;
+@@ -12,7 +12,7 @@ template ManageTagsListboxRow : ListBoxRow {
+             styles ['destructive-action']
+             margin-start: 12;
+             icon-name: 'user-trash-symbolic';
+-            clicked => on_delete_btn_clicked();
++            clicked => $on_delete_btn_clicked();
+         }
+     }
+ }
+diff --git a/data/ui/right_headerbar.blp b/data/ui/right_headerbar.blp
+index 992dfa6..b033c20 100644
+--- a/data/ui/right_headerbar.blp
++++ b/data/ui/right_headerbar.blp
+@@ -3,7 +3,7 @@ using Adw 1;
+ 
+ menu webviewMenu {
+     section {
+-        item { custom: zoom; }
++        item { custom: 'zoom'; }
+     }
+     section {
+         item (_("Open in _Browser"), 'app.open_externally')
+@@ -42,25 +42,25 @@ PopoverMenu extra_popover {
+             styles ['flat', 'circular']
+             icon-name: 'zoom-out-symbolic';
+             tooltip-text: _("Zoom Out");
+-            clicked => on_zoom_out_btn_clicked();
++            clicked => $on_zoom_out_btn_clicked();
+         }
+         Button zoom_reset_btn {
+             styles ['flat']
+             label: '100%';
+             width-request: 80;
+             tooltip-text: _("Reset Zoom");
+-            clicked => on_zoom_reset_btn_clicked();
++            clicked => $on_zoom_reset_btn_clicked();
+         }
+         Button zoom_in_btn {
+             styles ['flat', 'circular']
+             icon-name: 'zoom-in-symbolic';
+             tooltip-text: _("Zoom In");
+-            clicked => on_zoom_in_btn_clicked();
++            clicked => $on_zoom_in_btn_clicked();
+         }
+     }
+ }
+ 
+-template RightHeaderbar : WindowHandle {
++template $RightHeaderbar : WindowHandle {
+     vexpand: false; hexpand: true;
+     Adw.HeaderBar right_headerbar {
+         hexpand: true;
+@@ -89,7 +89,7 @@ template RightHeaderbar : WindowHandle {
+             visible: false;
+             tooltip-text: _("Back to Articles");
+             icon-name: 'go-previous-symbolic';
+-            clicked => on_back_btn_clicked();
++            clicked => $on_back_btn_clicked();
+         }
+         MenuButton view_mode_menu_btn {
+             sensitive: false;
+diff --git a/data/ui/sidebar_listbox_row.blp b/data/ui/sidebar_listbox_row.blp
+index 2e873bd..fbeb032 100644
+--- a/data/ui/sidebar_listbox_row.blp
++++ b/data/ui/sidebar_listbox_row.blp
+@@ -7,7 +7,7 @@ menu row_menu {
+     }
+ }
+ 
+-template SidebarRow : Box {
++template $SidebarRow : Box {
+     spacing: 6;
+     orientation: vertical;
+     margin-top: 12; margin-bottom: 12;
+diff --git a/data/ui/webview.blp b/data/ui/webview.blp
+index c1c68de..55dc2b3 100644
+--- a/data/ui/webview.blp
++++ b/data/ui/webview.blp
+@@ -2,7 +2,7 @@ using Gtk 4.0;
+ using WebKit 6.0;
+ using Adw 1;
+ 
+-template GFeedsWebView : Stack {
++template $GFeedsWebView : Stack {
+     width-request: 360; height-request: 400;
+     hexpand: true; vexpand: true;
+     transition-type: crossfade;
+@@ -40,9 +40,9 @@ template GFeedsWebView : Stack {
+             hexpand: true; vexpand: true;
+             WebKit.WebView webkitview {
+                 hexpand: true; vexpand: true;
+-                load-changed => on_load_changed();
+-                decide-policy => on_decide_policy();
+-                mouse-target-changed => on_mouse_target_changed();
++                load-changed => $on_load_changed();
++                decide-policy => $on_decide_policy();
++                mouse-target-changed => $on_mouse_target_changed();
+             }
+         }
+     }
+diff --git a/gfeeds/base_app.py b/gfeeds/base_app.py
+index 0ace634..a414cf2 100644
+--- a/gfeeds/base_app.py
++++ b/gfeeds/base_app.py
+@@ -24,7 +24,7 @@ class AppAction:
+         self.state_type = state_type
+         self.state_default = state_default
+ 
+-        assert not self.stateful or self.state_default is not None
++        assert (not self.stateful or self.state_default is not None)
+ 
+     def get_action(self):
+         action = None

diff --git a/net-news/gfeeds/gfeeds-2.2.0.ebuild 
b/net-news/gfeeds/gfeeds-2.2.0.ebuild
new file mode 100644
index 0000000000..d89034b495
--- /dev/null
+++ b/net-news/gfeeds/gfeeds-2.2.0.ebuild
@@ -0,0 +1,70 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_11 )
+
+inherit gnome2-utils meson python-single-r1
+
+DESCRIPTION="An RSS/Atom feed reader for GNOME."
+HOMEPAGE="https://gitlab.gnome.org/World/gfeeds";
+SRC_URI="https://gitlab.gnome.org/World/gfeeds/-/archive/${PV}/${P}.tar.bz2";
+
+# This fixes 1 syntax-related compilation error and syntax warnings (usage of 
$)
+PATCHES="${FILESDIR}/${P}-blueprint-0.80-fix.patch"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="debug"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+       ${PYTHON_DEPS}
+       $(python_gen_cond_dep '
+               dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+               dev-python/html5lib[${PYTHON_USEDEP}]
+               dev-python/humanize[${PYTHON_USEDEP}]
+               dev-python/pillow[${PYTHON_USEDEP}]
+               dev-python/pygments[${PYTHON_USEDEP}]
+               dev-python/python-magic[${PYTHON_USEDEP}]
+               dev-python/pytz[${PYTHON_USEDEP}]
+               dev-python/readability-lxml[${PYTHON_USEDEP}]
+               dev-python/requests[${PYTHON_USEDEP}]   
+       ')
+       gui-libs/gtk:4
+       gui-libs/libadwaita
+       ~net-libs/syndication-domination-9999[python]
+       net-libs/webkit-gtk:6
+"
+RDEPEND="${DEPEND}"
+BDEPEND=">=dev-util/meson-0.58"
+
+src_configure() {
+       local emesonargs=(
+               --buildtype $(usex debug debug release)
+               --prefix=/usr
+       )
+       meson_src_configure
+}
+
+src_compile() {
+       meson_src_compile
+}
+
+src_install() {
+       meson_src_install
+       python_fix_shebang "${D}"/usr/bin/gfeeds
+}
+
+pkg_postinst() {
+       gnome2_schemas_update
+       xdg_icon_cache_update
+       xdg_desktop_database_update
+}
+
+pkg_postrm() {
+       gnome2_schemas_update
+       xdg_icon_cache_update
+       xdg_desktop_database_update
+}

diff --git a/net-news/gfeeds/metadata.xml b/net-news/gfeeds/metadata.xml
new file mode 100644
index 0000000000..5e7fab22d3
--- /dev/null
+++ b/net-news/gfeeds/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'https://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+       <maintainer type="person">
+               <email>[email protected]</email>
+       </maintainer>
+       <upstream>
+               <remote-id type="gnome-gitlab">World/gfeeds</remote-id>
+       </upstream>
+</pkgmetadata>

Reply via email to