From 045e4fc2c453ec67197558755b862f2b7f195d1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Dzi=C4=99giel?= Date: Thu, 31 Mar 2022 16:20:47 +0200 Subject: [PATCH 1/6] flatpak: Sync with Flathub --- pkgs/flatpak/flathub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/flatpak/flathub b/pkgs/flatpak/flathub index 4b3bdfab..4f3bee93 160000 --- a/pkgs/flatpak/flathub +++ b/pkgs/flatpak/flathub @@ -1 +1 @@ -Subproject commit 4b3bdfab8cf2f2e45273b22448af4ad312b0ecf2 +Subproject commit 4f3bee93b765ae5cf64cdb4422daa1352c954c1b From 980e1d9e1a5dbe94c93ee128241779a30cba853e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Dzi=C4=99giel?= Date: Thu, 31 Mar 2022 16:28:30 +0200 Subject: [PATCH 2/6] flatpak: Update git actions runtime to 42 --- .github/workflows/flatpak.yml | 2 +- pkgs/flatpak/com.github.rafostar.Clapper.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml index 99061674..64bd2073 100644 --- a/.github/workflows/flatpak.yml +++ b/.github/workflows/flatpak.yml @@ -12,7 +12,7 @@ jobs: name: "Flatpak" runs-on: ubuntu-latest container: - image: bilelmoussaoui/flatpak-github-actions:gnome-41 + image: bilelmoussaoui/flatpak-github-actions:gnome-42 options: --privileged strategy: matrix: diff --git a/pkgs/flatpak/com.github.rafostar.Clapper.json b/pkgs/flatpak/com.github.rafostar.Clapper.json index 8f6ad681..d03621e1 100644 --- a/pkgs/flatpak/com.github.rafostar.Clapper.json +++ b/pkgs/flatpak/com.github.rafostar.Clapper.json @@ -1,7 +1,7 @@ { "app-id": "com.github.rafostar.Clapper", "runtime": "org.gnome.Platform", - "runtime-version": "41", + "runtime-version": "42", "sdk": "org.gnome.Sdk", "command": "com.github.rafostar.Clapper", "finish-args": [ From 3074051b3da2c54733dda09b6608e9b4e4025fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Dzi=C4=99giel?= Date: Thu, 31 Mar 2022 16:46:09 +0200 Subject: [PATCH 3/6] flatpak: Build recent GTK 4.6.2 version We are gonna move into depending on at least 4.6.0, build it for CI to pass --- pkgs/flatpak/com.github.rafostar.Clapper.json | 2 +- .../testing/gtk4-popover-unrealize.patch | 31 +++++++++++++++++ pkgs/flatpak/testing/gtk4.json | 33 +++++++++++++++++++ 3 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 pkgs/flatpak/testing/gtk4-popover-unrealize.patch create mode 100644 pkgs/flatpak/testing/gtk4.json diff --git a/pkgs/flatpak/com.github.rafostar.Clapper.json b/pkgs/flatpak/com.github.rafostar.Clapper.json index d03621e1..39c3eabd 100644 --- a/pkgs/flatpak/com.github.rafostar.Clapper.json +++ b/pkgs/flatpak/com.github.rafostar.Clapper.json @@ -35,7 +35,7 @@ "flathub/lib/uchardet.json", "testing/libsoup3.json", "flathub/gstreamer-1.0/gstreamer.json", - "flathub/lib/gtk4.json", + "testing/gtk4.json", "flathub/lib/libadwaita.json", "testing/gtuber.json", { diff --git a/pkgs/flatpak/testing/gtk4-popover-unrealize.patch b/pkgs/flatpak/testing/gtk4-popover-unrealize.patch new file mode 100644 index 00000000..c5b90efd --- /dev/null +++ b/pkgs/flatpak/testing/gtk4-popover-unrealize.patch @@ -0,0 +1,31 @@ +From b413ee2c7d458c7005d3d3d1da8822cd86893ac0 Mon Sep 17 00:00:00 2001 +From: Rafostar <40623528+Rafostar@users.noreply.github.com> +Date: Fri, 4 Dec 2020 19:25:34 +0100 +Subject: [PATCH] popover: Call unrealize on hide + +When popover is shown "realize" method is called which creates a new +surface for popup. Unfortunately this causes performance drop on Wayland until that +surface is destroyed what happens inside "unrealize" method during popover destruction. + +This commit changes default behavior in a way that surface will be destroyed +when popover is closed and app will ragain the performance it lost when +popover was shown. +--- + gtk/gtkpopover.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c +index 504dcd6cc1..a7a764d483 100644 +--- a/gtk/gtkpopover.c ++++ b/gtk/gtkpopover.c +@@ -951,6 +951,7 @@ gtk_popover_hide (GtkWidget *widget) + + gtk_popover_set_mnemonics_visible (GTK_POPOVER (widget), FALSE); + _gtk_widget_set_visible_flag (widget, FALSE); ++ gtk_widget_unrealize (widget); + gtk_widget_unmap (widget); + g_signal_emit (widget, signals[CLOSED], 0); + } +-- +GitLab + diff --git a/pkgs/flatpak/testing/gtk4.json b/pkgs/flatpak/testing/gtk4.json new file mode 100644 index 00000000..aac780d8 --- /dev/null +++ b/pkgs/flatpak/testing/gtk4.json @@ -0,0 +1,33 @@ +{ + "name": "gtk", + "buildsystem": "meson", + "config-opts": [ + "--buildtype=release", + "--wrap-mode=nofallback", + + "-Dwin32-backend=false", + "-Dmacos-backend=false", + "-Dmedia-ffmpeg=disabled", + "-Dprint-cups=disabled", + "-Dintrospection=enabled", + "-Ddemos=false", + "-Dbuild-examples=false", + "-Dbuild-tests=false" + ], + "cleanup": [ + "/bin/gtk4-builder-tool", + "/bin/gtk4-encode-symbolic-svg" + ], + "sources": [ + { + "type": "git", + "url": "https://gitlab.gnome.org/GNOME/gtk.git", + "tag": "4.6.2", + "commit": "aec7ca82007dbe07faee6be084d20758ebac2b91" + }, + { + "type": "patch", + "path": "gtk4-popover-unrealize.patch" + } + ] +} From c5c289d46662490ba4961ddd42f2acc7cf72dd5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Dzi=C4=99giel?= Date: Thu, 31 Mar 2022 16:47:50 +0200 Subject: [PATCH 4/6] flatpak: Do not build libsoup3 anymore It is now included in GNOME 42 runtime --- .../com.github.rafostar.Clapper-nightly.json | 1 - pkgs/flatpak/com.github.rafostar.Clapper.json | 1 - pkgs/flatpak/testing/libsoup3.json | 24 ------------------- 3 files changed, 26 deletions(-) delete mode 100644 pkgs/flatpak/testing/libsoup3.json diff --git a/pkgs/flatpak/com.github.rafostar.Clapper-nightly.json b/pkgs/flatpak/com.github.rafostar.Clapper-nightly.json index 5134b73f..b65d089c 100644 --- a/pkgs/flatpak/com.github.rafostar.Clapper-nightly.json +++ b/pkgs/flatpak/com.github.rafostar.Clapper-nightly.json @@ -40,7 +40,6 @@ "flathub/lib/libdvdnav.json", "flathub/lib/libass.json", "flathub/lib/ffmpeg.json", - "testing/libsoup3.json", "testing/gstreamer.json", "testing/gst-plugins-rs.json", "testing/gtuber.json", diff --git a/pkgs/flatpak/com.github.rafostar.Clapper.json b/pkgs/flatpak/com.github.rafostar.Clapper.json index 39c3eabd..e68bf5f1 100644 --- a/pkgs/flatpak/com.github.rafostar.Clapper.json +++ b/pkgs/flatpak/com.github.rafostar.Clapper.json @@ -33,7 +33,6 @@ "flathub/lib/libass.json", "flathub/lib/ffmpeg.json", "flathub/lib/uchardet.json", - "testing/libsoup3.json", "flathub/gstreamer-1.0/gstreamer.json", "testing/gtk4.json", "flathub/lib/libadwaita.json", diff --git a/pkgs/flatpak/testing/libsoup3.json b/pkgs/flatpak/testing/libsoup3.json deleted file mode 100644 index 384251f7..00000000 --- a/pkgs/flatpak/testing/libsoup3.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "libsoup3", - "buildsystem": "meson", - "config-opts": [ - "-Dintrospection=enabled", - "-Dvapi=disabled", - "-Dtests=false", - "-Dsysprof=disabled", - "-Dhttp2_tests=disabled", - "-Dpkcs11_tests=disabled" - ], - "cleanup": [ - "/include", - "/lib/pkgconfig" - ], - "sources": [ - { - "type": "git", - "url": "https://gitlab.gnome.org/GNOME/libsoup.git", - "tag": "3.0.4", - "commit": "25a728020c4b53b5db4c4c675070e92f947fbd4d" - } - ] -} From ffb481b52b9841b31c88e83b245a1d9ae09c55a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Dzi=C4=99giel?= Date: Thu, 31 Mar 2022 16:53:17 +0200 Subject: [PATCH 5/6] pkgs: Remove RPM build files from git Clapper is now available in official repos on both Fedora and openSUSE. Considering that, I will not have time to properly maintain them here, so they go away. --- pkgs/rpm/.gitignore | 3 - pkgs/rpm/clapper.rpmlintrc | 1 - pkgs/rpm/clapper.spec | 193 ------------------------------------- 3 files changed, 197 deletions(-) delete mode 100644 pkgs/rpm/.gitignore delete mode 100644 pkgs/rpm/clapper.rpmlintrc delete mode 100644 pkgs/rpm/clapper.spec diff --git a/pkgs/rpm/.gitignore b/pkgs/rpm/.gitignore deleted file mode 100644 index 7cc4cb38..00000000 --- a/pkgs/rpm/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -.osc/ -clapper/ -.lock diff --git a/pkgs/rpm/clapper.rpmlintrc b/pkgs/rpm/clapper.rpmlintrc deleted file mode 100644 index 329e0784..00000000 --- a/pkgs/rpm/clapper.rpmlintrc +++ /dev/null @@ -1 +0,0 @@ -addFilter("explicit-lib-dependency") diff --git a/pkgs/rpm/clapper.spec b/pkgs/rpm/clapper.spec deleted file mode 100644 index e97e7df7..00000000 --- a/pkgs/rpm/clapper.spec +++ /dev/null @@ -1,193 +0,0 @@ -# -# spec file for package clapper -# -# Copyright (C) 2020 sp1rit -# Copyright (C) 2020-21 Rafostar -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -%define debug_package %{nil} - -%global appname com.github.rafostar.Clapper -%global gst_version 1.18.0 -%global gtk4_version 4.0.0 -%global meson_version 0.50 -%global glib2_version 2.56.0 -%global soup_version 3.0.0 - -Name: clapper -Version: 0.4.1 -Release: 1%{?dist} -Summary: Simple and modern GNOME media player - -License: GPL-3.0 -URL: https://github.com/Rafostar/clapper -BuildRoot: %{_builddir}/%{name}-%{version}-build -Source0: _service - -BuildRequires: meson >= %{meson_version} -BuildRequires: gtk4-devel >= %{gtk4_version} -BuildRequires: glib2-devel >= %{glib2_version} -BuildRequires: gobject-introspection-devel -BuildRequires: gjs -BuildRequires: gcc-c++ -BuildRequires: desktop-file-utils -BuildRequires: hicolor-icon-theme - -Requires: gjs -Requires: gtk4 >= %{gtk4_version} -Requires: libadwaita -Requires: hicolor-icon-theme - -%if 0%{?suse_version} -# SUSE recommends group tag, while Fedora discourages their use -Group: Productivity/Multimedia/Video/Players - -BuildRequires: update-desktop-files -BuildRequires: gstreamer-devel >= %{gst_version} -BuildRequires: gstreamer-plugins-base-devel >= %{gst_version} -BuildRequires: Mesa-libGLESv2-devel -BuildRequires: Mesa-libGLESv3-devel - -Requires: libsoup-devel >= %{soup_version} -Requires: gstreamer >= %{gst_version} -Requires: gstreamer-plugins-base >= %{gst_version} -Requires: gstreamer-plugins-good >= %{gst_version} -Requires: gstreamer-plugins-bad >= %{gst_version} - -# Popular video decoders -Recommends: gstreamer-plugins-libav >= %{gst_version} - -# CD Playback -Suggests: gstreamer-plugins-ugly -# Intel/AMD video acceleration -Suggests: gstreamer-plugins-vaapi -%else -BuildRequires: glibc-all-langpacks -BuildRequires: gstreamer1-devel >= %{gst_version} -BuildRequires: gstreamer1-plugins-base-devel >= %{gst_version} -BuildRequires: mesa-libGL-devel -BuildRequires: mesa-libGLES-devel -BuildRequires: mesa-libGLU-devel -BuildRequires: mesa-libEGL-devel - -Requires: libsoup3-devel -Requires: gstreamer1 >= %{gst_version} -Requires: gstreamer1-plugins-base >= %{gst_version} -Requires: gstreamer1-plugins-good >= %{gst_version} -Requires: gstreamer1-plugins-bad-free >= %{gst_version} - -# ASS subtitles (assrender) -Recommends: gstreamer1-plugins-bad-free-extras >= %{gst_version} - -# CD Playback -Suggests: gstreamer1-plugins-ugly-free -# Intel/AMD video acceleration -Suggests: gstreamer1-vaapi -%endif - -%description -A GNOME media player built using GJS with GTK4 toolkit and powered by GStreamer with OpenGL rendering. - -%prep -%setup -q -n %{_sourcedir}/%{name}-%{version} -T -D - -%build -%meson -%meson_build - -%install -%meson_install -%if 0%{?suse_version} -%suse_update_desktop_file %{appname} -%endif - -%check -desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop - -%files -%license COPYING -%doc README.md -%{_bindir}/%{appname}* -%{_bindir}/clapper -%{_datadir}/%{appname}/ -%{_datadir}/icons/hicolor/*/apps/*.svg -%{_datadir}/glib-2.0/schemas/%{appname}.gschema.xml -%{_datadir}/mime/packages/%{appname}.xml -%{_datadir}/applications/*.desktop -%{_datadir}/metainfo/*.metainfo.xml -%{_datadir}/gir-1.0/GstClapper-1.0.gir -%{_datadir}/locale/*/LC_MESSAGES/%{appname}.mo -%{_libdir}/%{appname}/ - -%changelog -* Thu Feb 17 2022 Rafostar - 0.4.1-2 -- Require libsoup3 - -* Mon Dec 20 2021 Rafostar - 0.4.1-1 -- New version - -* Sun Sep 12 2021 Rafostar - 0.4.0-1 -- New version - -* Thu Aug 26 2021 Rafostar - 0.3.0-4 -- Install translations - -* Thu Aug 26 2021 Rafostar - 0.3.0-3 -- Install clapper symlink - -* Mon Aug 23 2021 Rafostar - 0.3.0-2 -- Require libadwaita - -* Fri Jun 18 2021 Rafostar - 0.3.0-1 -- New version - -* Mon Apr 19 2021 Rafostar - 0.2.1-1 -- New version - -* Tue Apr 13 2021 Rafostar - 0.2.0-1 -- New version - -* Fri Feb 26 2021 Rafostar - 0.1.0-1 -- New version - -* Sun Feb 7 2021 Rafostar - 0.0.0-10 -- Install gstclapper libs to app named subdirectory - -* Fri Feb 5 2021 Rafostar - 0.0.0-9 -- Update build with gstclapper libs support - -* Thu Jan 21 2021 Rafostar - 0.0.0-8 -- Use metainfo instead of deprecated appdata - -* Mon Jan 18 2021 Rafostar - 0.0.0-7 -- Remove gjs-1.0 files - -* Sun Dec 20 2020 Rafostar - 0.0.0-6 -- Include additional app binaries - -* Sat Oct 31 2020 Rafostar - 0.0.0-5 -- Added metainfo - -* Sun Oct 25 2020 Rafostar - 0.0.0-4 -- Added gschema - -* Wed Oct 14 2020 Rafostar - 0.0.0-3 -- Update to GTK4 - -* Sat Sep 19 22:02:00 CEST 2020 sp1rit - 0.0.0-2 -- Added suse_update_desktop_file macro for SuSE packages - -* Fri Sep 18 2020 Rafostar - 0.0.0-1 -- Initial package From 2818d3c91bb34f018c6012e88fd91f433b1ac7c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Dzi=C4=99giel?= Date: Thu, 31 Mar 2022 19:51:01 +0200 Subject: [PATCH 6/6] flatpak: Enable network access for CI GTK4 builds Make sure CI can satisfy latest GTK4 dependency requirements by allowing it to download libs it needs as fallback projects --- pkgs/flatpak/testing/gtk4.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/flatpak/testing/gtk4.json b/pkgs/flatpak/testing/gtk4.json index aac780d8..8291f49e 100644 --- a/pkgs/flatpak/testing/gtk4.json +++ b/pkgs/flatpak/testing/gtk4.json @@ -1,9 +1,13 @@ { "name": "gtk", "buildsystem": "meson", + "build-options": { + "build-args": [ + "--share=network" + ] + }, "config-opts": [ "--buildtype=release", - "--wrap-mode=nofallback", "-Dwin32-backend=false", "-Dmacos-backend=false",