Date: Saturday, December 3, 2022 @ 18:04:49
Author: spupykin
Revision: 1356379
archrelease: copy trunk to community-x86_64
Added:
remmina/repos/community-x86_64/0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch
(from rev 1356378,
remmina/trunk/0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch)
remmina/repos/community-x86_64/PKGBUILD
(from rev 1356378, remmina/trunk/PKGBUILD)
Deleted:
remmina/repos/community-x86_64/0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch
remmina/repos/community-x86_64/PKGBUILD
---------------------------------------------------------------+
0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch | 2274 +++++-----
PKGBUILD | 106
2 files changed, 1190 insertions(+), 1190 deletions(-)
Deleted: 0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch
===================================================================
--- 0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch
2022-12-03 18:04:03 UTC (rev 1356378)
+++ 0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch
2022-12-03 18:04:49 UTC (rev 1356379)
@@ -1,1137 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: "Antenore Gatta (tmow)" <[email protected]>
-Date: Mon, 3 Oct 2022 17:38:35 +0000
-Subject: [PATCH] Multiple changes to build and run with libsoup 3.0
-
----
- ...{FindLIBSOUP24.cmake => FindLIBSOUP.cmake} | 27 +--
- cmake/FindWEBKIT2GTK.cmake | 6 +-
- flatpak/org.remmina.Remmina-local.json | 93 ++++----
- flatpak/org.remmina.Remmina.json | 67 +++---
- flatpak/requirements/webkit.json | 60 +++++
- plugins/www/CMakeLists.txt | 10 +-
- src/CMakeLists.txt | 8 +-
- src/rmnews.c | 222 +++++++++++++-----
- 8 files changed, 326 insertions(+), 167 deletions(-)
- rename cmake/{FindLIBSOUP24.cmake => FindLIBSOUP.cmake} (55%)
- create mode 100644 flatpak/requirements/webkit.json
-
-diff --git a/cmake/FindLIBSOUP24.cmake b/cmake/FindLIBSOUP.cmake
-similarity index 55%
-rename from cmake/FindLIBSOUP24.cmake
-rename to cmake/FindLIBSOUP.cmake
-index 96ec22239947..23cc06ff632a 100644
---- a/cmake/FindLIBSOUP24.cmake
-+++ b/cmake/FindLIBSOUP.cmake
-@@ -1,46 +1,43 @@
- # Remmina - The GTK+ Remote Desktop Client
- #
--# Copyright (C) 2011 Marc-Andre Moreau
--# Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo
- # Copyright (C) 2016-2022 Antenore Gatta, Giovanni Panozzo
- #
- # 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 2 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, write to the Free Software
- # Foundation, Inc., 51 Franklin Street, Fifth Floor,
- # Boston, MA 02110-1301, USA.
-
- include(FindPackageHandleStandardArgs)
-
--pkg_check_modules(PC_LIBSOUP24 libsoup-2.4)
-+pkg_search_module(PC_LIBSOUP REQUIRED libsoup-3.0 libsoup-2.4)
-
--
--find_path(LIBSOUP24_INCLUDE_DIR NAMES libsoup/soup.h
-- HINTS ${PC_LIBSOUP24_INCLUDEDIR} ${PC_LIBSOUP24_INCLUDE_DIRS}
-+find_path(LIBSOUP_INCLUDE_DIR NAMES libsoup/soup.h
-+ HINTS ${PC_LIBSOUP_INCLUDEDIR} ${PC_LIBSOUP_INCLUDE_DIRS}
- )
-
--find_library(LIBSOUP24_LIBRARY
-- NAMES soup-2.4
-- HINTS ${PC_LIBSOUP24_LIBDIR} ${PC_LIBSOUP24_LIBRARY_DIRS}
-+find_library(LIBSOUP_LIBRARY
-+ NAMES soup soup-3.0 soup-2.4
-+ HINTS ${PC_LIBSOUP_LIBDIR} ${PC_LIBSOUP_LIBRARY_DIRS}
- )
-
--if (LIBSOUP24_INCLUDE_DIR AND LIBSOUP24_LIBRARY)
-- find_package_handle_standard_args(LIBSOUP24 DEFAULT_MSG
LIBSOUP24_LIBRARY LIBSOUP24_INCLUDE_DIR)
-+if (LIBSOUP_INCLUDE_DIR AND LIBSOUP_LIBRARY)
-+ find_package_handle_standard_args(LIBSOUP DEFAULT_MSG LIBSOUP_LIBRARY
LIBSOUP_INCLUDE_DIR)
- endif()
-
--if (LIBSOUP24_FOUND)
-- set(LIBSOUP24_LIBRARIES ${LIBSOUP24_LIBRARY})
-- set(LIBSOUP24_INCLUDE_DIRS ${LIBSOUP24_INCLUDE_DIR})
-+if (LIBSOUP_FOUND)
-+ set(LIBSOUP_LIBRARIES ${LIBSOUP_LIBRARY})
-+ set(LIBSOUP_INCLUDE_DIRS ${LIBSOUP_INCLUDE_DIR})
- endif()
-
--mark_as_advanced(LIBSOUP24_INCLUDE_DIR LIBSOUP24_LIBRARY)
-+mark_as_advanced(LIBSOUP_INCLUDE_DIR LIBSOUP_LIBRARY)
-
-diff --git a/cmake/FindWEBKIT2GTK.cmake b/cmake/FindWEBKIT2GTK.cmake
-index 391fdfe9dc7b..0af554cff4ed 100644
---- a/cmake/FindWEBKIT2GTK.cmake
-+++ b/cmake/FindWEBKIT2GTK.cmake
-@@ -33,16 +33,18 @@
- find_package(PkgConfig)
-
- if(PKG_CONFIG_FOUND)
-- pkg_check_modules(_WEBKIT2GTK webkit2gtk-4.0)
-+ #pkg_check_modules(_WEBKIT2GTK webkit2gtk-4.0)
-+ pkg_search_module(_WEBKIT2GTK webkit2gtk-4.1 webkit2gtk-4.0)
- endif(PKG_CONFIG_FOUND)
-
- set(WEBKIT2GTK_DEFINITIONS ${_WEBKIT2GTK_CFLAGS_OTHER})
-
- find_path(WEBKIT2GTK_INCLUDE_DIR NAMES webkit2/webkit2.h
- HINTS ${_WEBKIT2GTK_INCLUDEDIR} ${_WEBKIT2GTK_INCLUDE_DIRS}
- )
-
--find_library(WEBKIT2GTK_LIB webkit2gtk-4.0
-+find_library(WEBKIT2GTK_LIB
-+ NAMES webkit2gtk-4.1 webkit2gtk-4.0
- HINTS
- ${_WEBKIT2GTK_LIBDIR}
- ${_WEBKIT2GTK_LIBRARY_DIRS}
-diff --git a/flatpak/org.remmina.Remmina-local.json
b/flatpak/org.remmina.Remmina-local.json
-index 6bf4a0aad815..b2da8f60f5cd 100644
---- a/flatpak/org.remmina.Remmina-local.json
-+++ b/flatpak/org.remmina.Remmina-local.json
-@@ -1,7 +1,7 @@
- {
- "app-id": "org.remmina.Remmina",
- "runtime": "org.gnome.Platform",
-- "runtime-version": "42",
-+ "runtime-version": "43",
- "sdk": "org.gnome.Sdk",
- "command": "remmina",
- "cleanup": [
-@@ -49,20 +49,20 @@
- "add-extensions": {
- "org.freedesktop.Platform.ffmpeg-full": {
- "directory": "lib/ffmpeg",
-- "version": "21.08",
-+ "version": "22.08",
- "add-ld-path": ".",
-- "no-autodownload": false,
-+ "no-autodownload": true,
- "autodelete": false
- },
- "org.freedesktop.Platform.openh264": {
- "directory": "lib/openh264",
- "version": "2.1.0",
- "add-ld-path": "."
- }
- },
- "cleanup-commands": [
-- "mkdir -p /app/lib/ffmpeg",
-- "mkdir -p /app/lib/openh264"
-+ "mkdir -p ${FLATPAK_DEST}/lib/ffmpeg",
-+ "mkdir -p ${FLATPAK_DEST}/lib/openh264"
- ],
- "modules": [
- "shared-modules/intltool/intltool-0.51.json",
-@@ -113,64 +113,65 @@
- "sources": [
- {
- "type": "archive",
-- "url":
"https://xorg.freedesktop.org/archive/individual/app/xauth-1.1.1.tar.bz2",
-- "sha256":
"164ea0a29137b284a47b886ef2affcb0a74733bf3aad04f9b106b1a6c82ebd92",
-+ "url":
"https://xorg.freedesktop.org/archive/individual/app/xauth-1.1.2.tar.xz",
-+ "sha256":
"78ba6afd19536ced1dddb3276cba6e9555a211b468a06f95f6a97c62ff8ee200",
- "x-checker-data": {
- "type": "anitya",
- "project-id": 5253,
-- "url-template":
"https://xorg.freedesktop.org/archive/individual/app/xauth-$version.tar.bz2"
-+ "stable-only": true,
-+ "url-template":
"https://xorg.freedesktop.org/archive/individual/app/xauth-$version.tar.xz"
- }
- }
- ]
- },
- {
- "name": "libcups",
- "make-args": [
- "libs"
- ],
- "no-make-install": true,
- "post-install": [
- "make install-headers install-libs"
- ],
- "sources": [
- {
- "type": "archive",
-- "url":
"https://github.com/OpenPrinting/cups/archive/refs/tags/v2.4.1.tar.gz",
-- "sha256":
"df195c931349949293c832e1337527e7831e1225f567b60caf5d9c206c2bffdc",
-+ "url":
"https://github.com/OpenPrinting/cups/archive/refs/tags/v2.4.2.tar.gz",
-+ "sha256":
"7095b2977bb728ded5566a5c802866062840d6541fd027836865949a407c3682",
- "x-checker-data": {
- "type": "anitya",
- "project-id": 380,
- "stable-only": false,
- "url-template":
"https://github.com/OpenPrinting/cups/archive/refs/tags/v$version.tar.gz"
- }
- }
- ]
- },
- {
- "name": "gtk-vnc",
- "buildsystem": "meson",
- "sources": [
- {
- "type": "archive",
-- "url":
"https://download.gnome.org/sources/gtk-vnc/1.3/gtk-vnc-1.3.0.tar.xz",
-- "sha256":
"5faaa5823b8cbe8c0b0ba1e456c4e70c4b1ae6685c9fe81a4282d98cf00a211d",
-+ "url":
"https://download.gnome.org/sources/gtk-vnc/1.3/gtk-vnc-1.3.1.tar.xz",
-+ "sha256":
"512763ac4e0559d0158b6682ca5dd1a3bd633f082f5e4349d7158e6b5f80f1ce",
- "x-checker-data": {
- "type": "gnome",
- "name": "gtk-vnc",
- "stable-only": false
- }
- }
- ]
- },
- {
- "name": "vte",
- "buildsystem": "meson",
- "sources": [
- {
- "type": "git",
- "url": "https://gitlab.gnome.org/GNOME/vte.git",
-- "tag": "0.68.0",
-- "commit": "0f438924f9f8a858b1b82434c876e31c2de180d4",
-+ "tag": "0.70.0",
-+ "commit": "ae4a5d7df9e32ab40ceca5e06240561e819db148",
- "x-checker-data": {
- "type": "git",
- "tag-pattern": "^([\\d.]+)$"
-@@ -252,52 +253,53 @@
- {
- "type": "git",
- "url": "https://github.com/LudovicRousseau/PCSC.git",
-- "tag": "pcsc-1.9.0",
-- "commit": "e796a0f12fbefa459bff0d25e27089615fa91f21",
-+ "tag": "1.9.9",
-+ "commit": "15c16c7796607b1c8a2ce253d3f536918ab26b4a",
- "x-checker-data": {
- "type": "git",
- "tag-pattern": "^pcsc-([\\d.]+)$"
- }
- }
- ]
- },
- {
- "name": "spice-gtk",
- "buildsystem": "meson",
- "build-options": {
- "env": {
- "PYTHONPATH": "/app"
- }
- },
- "config-opts": [
- "-Dvapi=enabled",
- "-Dwebdav=enabled",
-- "-Dgtk_doc=disabled"
-+ "-Dgtk_doc=disabled",
-+ "-Dpolkit=disabled"
- ],
- "sources": [
- {
- "type": "archive",
-- "url":
"https://www.spice-space.org/download/gtk/spice-gtk-0.40.tar.xz",
-- "sha256":
"23f5ff7fa80b75647ce73cda5eaf8b322f3432dbbb7f6f3a839634618adbced3",
-+ "url":
"https://www.spice-space.org/download/gtk/spice-gtk-0.41.tar.xz",
-+ "sha256":
"d8f8b5cbea9184702eeb8cc276a67d72acdb6e36e7c73349fb8445e5bca0969f",
- "x-checker-data": {
- "type": "anitya",
- "project-id": 11576,
- "url-template":
"https://www.spice-space.org/download/gtk/spice-gtk-$version.tar.xz"
- }
- }
- ],
- "modules": [
- {
- "name": "python-pyparsing",
- "buildsystem": "simple",
- "build-commands": [
- "pip3 install --verbose --exists-action=i --no-index
--find-links=file://${PWD} --prefix=${FLATPAK_DEST} pyparsing
--no-build-isolation"
- ],
- "sources": [
- {
- "type": "file",
-- "url":
"https://files.pythonhosted.org/packages/d9/41/d9cfb4410589805cd787f8a82cddd13142d9bf7449d12adf2d05a4a7d633/pyparsing-3.0.8-py3-none-any.whl",
-- "sha256":
"ef7b523f6356f763771559412c0d7134753f037822dad1b16945b7b846f7ad06",
-+ "url":
"https://files.pythonhosted.org/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl",
-+ "sha256":
"5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc",
- "x-checker-data": {
- "type": "pypi",
- "name": "pyparsing",
-@@ -339,35 +341,31 @@
- "sources": [
- {
- "type": "archive",
-- "url":
"https://github.com/lz4/lz4/archive/v1.9.3/lz4-1.9.3.tar.gz",
-- "sha256":
"030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1",
-+ "url":
"https://github.com/lz4/lz4/archive/v1.9.4/lz4-1.9.4.tar.gz",
-+ "sha256":
"0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b",
- "x-checker-data": {
- "type": "anitya",
- "project-id": 1865,
- "url-template":
"https://github.com/lz4/lz4/archive/v$version/lz4-$version.tar.gz"
- }
- }
- ]
- },
- {
- /**
- * For webdav (shared folder) support
- */
- "name": "phodav",
- "buildsystem": "meson",
- "cleanup": [
- "/bin",
- "/sbin"
- ],
-- "config-opts": [
-- "-Dgtk_doc=disabled",
-- "-Dsystemd=disabled"
-- ],
- "sources": [
- {
- "type": "archive",
-- "url":
"https://download.gnome.org/sources/phodav/2.5/phodav-2.5.tar.xz",
-- "sha256":
"71f0a9cd70afd4dd1412a0298331dbb8ac71c0377f52117afc15eb88dc6fb910",
-+ "url":
"https://download.gnome.org/sources/phodav/3.0/phodav-3.0.tar.xz",
-+ "sha256":
"392ec2d06d50300dcff1ef269a2a985304e29bce3520002fca29f2edc1d138d1",
- "x-checker-data": {
- "type": "gnome",
- "name": "phodav",
-@@ -412,14 +410,9 @@
- "name": "libsodium",
- "sources": [
- {
-- "type": "archive",
-- "url":
"https://github.com/jedisct1/libsodium/archive/1.0.18-RELEASE.tar.gz",
-- "sha256":
"b7292dd1da67a049c8e78415cd498ec138d194cfdb302e716b08d26b80fecc10",
-- "x-checker-data": {
-- "type": "anitya",
-- "project-id": 1728,
-- "url-template":
"https://github.com/jedisct1/libsodium/archive/$version.tar.gz"
-- }
-+ "type": "git",
-+ "url": "https://github.com/jedisct1/libsodium.git",
-+ "commit": "7389bf7f2968be75520e932704f18f038c29e581"
- }
- ],
- "post-install": [
-@@ -462,71 +455,69 @@
- ],
- "sources": [
- {
-- "type": "archive",
-- "url":
"https://github.com/LibVNC/libvncserver/archive/LibVNCServer-0.9.13.tar.gz",
-- "sha256":
"0ae5bb9175dc0a602fe85c1cf591ac47ee5247b87f2bf164c16b05f87cbfa81a",
-- "x-checker-data": {
-- "type": "anitya",
-- "project-id": 1756,
-- "url-template":
"https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$version.tar.gz"
-- }
-+ "type": "git",
-+ "url": "https://github.com/LibVNC/libvncserver.git",
-+ "branch": "master"
- }
- ]
- },
- {
- "name": "freerdp",
- "buildsystem": "cmake-ninja",
- "cleanup": [],
- "config-opts": [
-+ "-DCMAKE_VERBOSE_MAKEFILE=ON",
- "-DCMAKE_BUILD_TYPE:STRING=Release",
- "-DCMAKE_INSTALL_LIBDIR:PATH=lib",
- "-DWITH_WAYLAND:BOOL=ON",
-- "-DCHANNEL_TSMF:BOOL=ON",
-+ "-DCHANNEL_TSMF:BOOL=OFF",
- "-DCHANNEL_URBDRC:BOOL=ON",
- "-DBUILD_TESTING:BOOL=OFF",
-- "-DWITH_ICU:BOOL=ON",
- "-DWITH_MANPAGES:BOOL=OFF",
- "-DWITH_GSSAPI:BOOL=OFF",
- "-DWITH_PCSC:BOOL=ON",
-+ "-DWITH_PKCS11:BOOL=ON",
-+ "-DWITH_SWSCALE:BOOL=ON",
- "-DWITH_SERVER:BOOL=OFF",
- "-DWITH_CUPS:BOOL=ON",
- "-DWITH_FFMPEG:BOOL=ON",
-+ "-DWITH_DSP_FFMPEG:BOOL=ON",
- "-DWITH_OSS:BOOL=OFF",
- "-DWITH_PULSE:BOOL=ON",
-- "-DWITH_CHANNELS:BOOL=ON",
- "-DWITH_LIBSYSTEMD:BOOL=OFF"
- ],
- "sources": [
- {
- "type": "git",
- "url": "https://github.com/FreeRDP/FreeRDP.git",
-- "tag": "2.7.0",
-- "commit": "40ee5d3bcc70343af6c0300d71968858c1f1948f",
-+ "tag": "2.8.0",
-+ "commit": "e3fc97feb512053189e276b2ca79762990bb8c4c",
- "x-checker-data": {
- "type": "git",
- "tag-pattern": "^([\\d.]+)$"
- }
- }
- ]
- },
- {
- /* Remmina main build */
- "name": "remmina",
- "buildsystem": "cmake-ninja",
- "cleanup": [
- "/bin/remmina-gnome",
- "/bin/gnome-session-remmina",
- "/share/applications/remmina-gnome.desktop"
- ],
- "config-opts": [
- "-DCMAKE_BUILD_TYPE:STRING=Debug",
- "-DWITH_NEWS:BOOL=ON",
- "-DCMAKE_INSTALL_LIBDIR:PATH=lib",
- "-DWITH_FREERDP3:BOOL=OFF",
- "-DWITH_GVNC:BOOL=ON",
- "-DWITH_CUPS:BOOL=ON",
- "-DWITH_PYTHONLIBS:BOOL=ON",
-- "-DWITH_MANPAGES:BOOL=OFF"
-+ "-DWITH_MANPAGES:BOOL=OFF",
-+ "-DWITH_WWW=ON"
- ],
- "sources": [
- {
-diff --git a/flatpak/org.remmina.Remmina.json
b/flatpak/org.remmina.Remmina.json
-index c044ee5ece24..756d3fae42af 100644
---- a/flatpak/org.remmina.Remmina.json
-+++ b/flatpak/org.remmina.Remmina.json
-@@ -1,7 +1,7 @@
- {
- "app-id": "org.remmina.Remmina",
- "runtime": "org.gnome.Platform",
-- "runtime-version": "42",
-+ "runtime-version": "43",
- "sdk": "org.gnome.Sdk",
- "command": "remmina",
- "cleanup": [
-@@ -49,20 +49,20 @@
- "add-extensions": {
- "org.freedesktop.Platform.ffmpeg-full": {
- "directory": "lib/ffmpeg",
-- "version": "21.08",
-+ "version": "22.08",
- "add-ld-path": ".",
-- "no-autodownload": false,
-+ "no-autodownload": true,
- "autodelete": false
- },
- "org.freedesktop.Platform.openh264": {
- "directory": "lib/openh264",
- "version": "2.1.0",
- "add-ld-path": "."
- }
- },
- "cleanup-commands": [
-- "mkdir -p /app/lib/ffmpeg",
-- "mkdir -p /app/lib/openh264"
-+ "mkdir -p ${FLATPAK_DEST}/lib/ffmpeg",
-+ "mkdir -p ${FLATPAK_DEST}/lib/openh264"
- ],
- "modules": [
- "shared-modules/intltool/intltool-0.51.json",
-@@ -153,25 +153,25 @@
- "sources": [
- {
- "type": "archive",
-- "url":
"https://download.gnome.org/sources/gtk-vnc/1.3/gtk-vnc-1.3.0.tar.xz",
-- "sha256":
"5faaa5823b8cbe8c0b0ba1e456c4e70c4b1ae6685c9fe81a4282d98cf00a211d",
-+ "url":
"https://download.gnome.org/sources/gtk-vnc/1.3/gtk-vnc-1.3.1.tar.xz",
-+ "sha256":
"512763ac4e0559d0158b6682ca5dd1a3bd633f082f5e4349d7158e6b5f80f1ce",
- "x-checker-data": {
- "type": "gnome",
- "name": "gtk-vnc",
- "stable-only": false
- }
- }
- ]
- },
- {
- "name": "vte",
- "buildsystem": "meson",
- "sources": [
- {
- "type": "git",
- "url": "https://gitlab.gnome.org/GNOME/vte.git",
-- "tag": "0.68.0",
-- "commit": "0f438924f9f8a858b1b82434c876e31c2de180d4",
-+ "tag": "0.70.0",
-+ "commit": "ae4a5d7df9e32ab40ceca5e06240561e819db148",
- "x-checker-data": {
- "type": "git",
- "tag-pattern": "^([\\d.]+)$"
-@@ -253,33 +253,34 @@
- {
- "type": "git",
- "url": "https://github.com/LudovicRousseau/PCSC.git",
-- "tag": "pcsc-1.9.0",
-- "commit": "e796a0f12fbefa459bff0d25e27089615fa91f21",
-+ "tag": "1.9.9",
-+ "commit": "15c16c7796607b1c8a2ce253d3f536918ab26b4a",
- "x-checker-data": {
- "type": "git",
- "tag-pattern": "^pcsc-([\\d.]+)$"
- }
- }
- ]
- },
- {
- "name": "spice-gtk",
- "buildsystem": "meson",
- "build-options": {
- "env": {
- "PYTHONPATH": "/app"
- }
- },
- "config-opts": [
- "-Dvapi=enabled",
- "-Dwebdav=enabled",
-- "-Dgtk_doc=disabled"
-+ "-Dgtk_doc=disabled",
-+ "-Dpolkit=disabled"
- ],
- "sources": [
- {
- "type": "archive",
-- "url":
"https://www.spice-space.org/download/gtk/spice-gtk-0.40.tar.xz",
-- "sha256":
"23f5ff7fa80b75647ce73cda5eaf8b322f3432dbbb7f6f3a839634618adbced3",
-+ "url":
"https://www.spice-space.org/download/gtk/spice-gtk-0.41.tar.xz",
-+ "sha256":
"d8f8b5cbea9184702eeb8cc276a67d72acdb6e36e7c73349fb8445e5bca0969f",
- "x-checker-data": {
- "type": "anitya",
- "project-id": 11576,
-@@ -340,35 +341,31 @@
- "sources": [
- {
- "type": "archive",
-- "url":
"https://github.com/lz4/lz4/archive/v1.9.3/lz4-1.9.3.tar.gz",
-- "sha256":
"030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1",
-+ "url":
"https://github.com/lz4/lz4/archive/v1.9.4/lz4-1.9.4.tar.gz",
-+ "sha256":
"0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b",
- "x-checker-data": {
- "type": "anitya",
- "project-id": 1865,
- "url-template":
"https://github.com/lz4/lz4/archive/v$version/lz4-$version.tar.gz"
- }
- }
- ]
- },
- {
- /**
- * For webdav (shared folder) support
- */
- "name": "phodav",
- "buildsystem": "meson",
- "cleanup": [
- "/bin",
- "/sbin"
- ],
-- "config-opts": [
-- "-Dgtk_doc=disabled",
-- "-Dsystemd=disabled"
-- ],
- "sources": [
- {
- "type": "archive",
-- "url":
"https://download.gnome.org/sources/phodav/2.5/phodav-2.5.tar.xz",
-- "sha256":
"71f0a9cd70afd4dd1412a0298331dbb8ac71c0377f52117afc15eb88dc6fb910",
-+ "url":
"https://download.gnome.org/sources/phodav/3.0/phodav-3.0.tar.xz",
-+ "sha256":
"392ec2d06d50300dcff1ef269a2a985304e29bce3520002fca29f2edc1d138d1",
- "x-checker-data": {
- "type": "gnome",
- "name": "phodav",
-@@ -458,71 +455,69 @@
- ],
- "sources": [
- {
-- "type": "archive",
-- "url":
"https://github.com/LibVNC/libvncserver/archive/LibVNCServer-0.9.13.tar.gz",
-- "sha256":
"0ae5bb9175dc0a602fe85c1cf591ac47ee5247b87f2bf164c16b05f87cbfa81a",
-- "x-checker-data": {
-- "type": "anitya",
-- "project-id": 1756,
-- "url-template":
"https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$version.tar.gz"
-- }
-+ "type": "git",
-+ "url": "https://github.com/LibVNC/libvncserver.git",
-+ "branch": "master"
- }
- ]
- },
- {
- "name": "freerdp",
- "buildsystem": "cmake-ninja",
- "cleanup": [],
- "config-opts": [
-+ "-DCMAKE_VERBOSE_MAKEFILE=ON",
- "-DCMAKE_BUILD_TYPE:STRING=Release",
- "-DCMAKE_INSTALL_LIBDIR:PATH=lib",
- "-DWITH_WAYLAND:BOOL=ON",
-- "-DCHANNEL_TSMF:BOOL=ON",
-+ "-DCHANNEL_TSMF:BOOL=OFF",
- "-DCHANNEL_URBDRC:BOOL=ON",
- "-DBUILD_TESTING:BOOL=OFF",
-- "-DWITH_ICU:BOOL=ON",
- "-DWITH_MANPAGES:BOOL=OFF",
- "-DWITH_GSSAPI:BOOL=OFF",
- "-DWITH_PCSC:BOOL=ON",
-+ "-DWITH_PKCS11:BOOL=ON",
-+ "-DWITH_SWSCALE:BOOL=ON",
- "-DWITH_SERVER:BOOL=OFF",
- "-DWITH_CUPS:BOOL=ON",
- "-DWITH_FFMPEG:BOOL=ON",
-+ "-DWITH_DSP_FFMPEG:BOOL=ON",
- "-DWITH_OSS:BOOL=OFF",
- "-DWITH_PULSE:BOOL=ON",
-- "-DWITH_CHANNELS:BOOL=ON",
- "-DWITH_LIBSYSTEMD:BOOL=OFF"
- ],
- "sources": [
- {
- "type": "git",
- "url": "https://github.com/FreeRDP/FreeRDP.git",
-- "tag": "2.7.0",
-- "commit": "40ee5d3bcc70343af6c0300d71968858c1f1948f",
-+ "tag": "2.8.0",
-+ "commit": "e3fc97feb512053189e276b2ca79762990bb8c4c",
- "x-checker-data": {
- "type": "git",
- "tag-pattern": "^([\\d.]+)$"
- }
- }
- ]
- },
- {
- /* Remmina main build */
- "name": "remmina",
- "buildsystem": "cmake-ninja",
- "cleanup": [
- "/bin/remmina-gnome",
- "/bin/gnome-session-remmina",
- "/share/applications/remmina-gnome.desktop"
- ],
- "config-opts": [
- "-DCMAKE_BUILD_TYPE:STRING=Release",
- "-DWITH_NEWS:BOOL=ON",
- "-DCMAKE_INSTALL_LIBDIR:PATH=lib",
- "-DWITH_FREERDP3:BOOL=OFF",
- "-DWITH_GVNC:BOOL=ON",
- "-DWITH_CUPS:BOOL=ON",
- "-DWITH_PYTHON_LIBS:BOOL=ON",
-- "-DWITH_MANPAGES:BOOL=OFF"
-+ "-DWITH_MANPAGES:BOOL=OFF",
-+ "-DWITH_WWW=ON"
- ],
- "sources": [
- {
-diff --git a/flatpak/requirements/webkit.json
b/flatpak/requirements/webkit.json
-new file mode 100644
-index 000000000000..429b2dcb4f76
---- /dev/null
-+++ b/flatpak/requirements/webkit.json
-@@ -0,0 +1,60 @@
-+/*
-+Shared module for building and installing webkit2gtk
-+
-+This file was written by hand.
-+
-+File based on gfeeds:
-+commit f3e8575d62b1701e885b0bda54222634130c6864
-+
-+Changes applied to this version of the file:
-+* added this header
-+* reformatted
-+*/
-+{
-+ "name": "webkit2gtk-5",
-+ "buildsystem": "cmake-ninja",
-+ "config-opts": [
-+ "-DPORT=GTK",
-+ "-DCMAKE_BUILD_TYPE=Release",
-+ "-DCMAKE_INSTALL_PREFIX=/app",
-+ "-DCMAKE_INSTALL_LIBDIR=lib",
-+ "-DCMAKE_INSTALL_LIBEXECDIR=lib",
-+ "-DCMAKE_SKIP_RPATH=ON",
-+ "-DUSE_GTK4=ON",
-+ "-DENABLE_GAMEPAD=OFF",
-+ "-DENABLE_GTKDOC=OFF"
-+ ],
-+ "modules": [
-+ {
-+ "name": "bubblewrap",
-+ "buildsystem": "meson",
-+ "config-opts": [],
-+ "sources": [
-+ {
-+ "type": "archive",
-+ "url":
"https://github.com/containers/bubblewrap/archive/refs/tags/v0.6.1.tar.gz",
-+ "sha256":
"2b21ee6d2bead1aaf7c35742e5e53b061ec6eb1644889a4379fda662b03e8121"
-+ }
-+ ]
-+ },
-+ {
-+ "name": "xdg-dbus-proxy",
-+ "buildsystem": "autotools",
-+ "config-opts": [],
-+ "sources": [
-+ {
-+ "type": "archive",
-+ "url":
"https://github.com/flatpak/xdg-dbus-proxy/archive/refs/tags/0.1.3.tar.gz",
-+ "sha256":
"a1d57f0d478bee4cc2be67e84ac6fcfe729460345d8a4fadd6555ae83b14a789"
-+ }
-+ ]
-+ }
-+ ],
-+ "sources": [
-+ {
-+ "type": "archive",
-+ "url": "https://webkitgtk.org/releases/webkitgtk-2.36.1.tar.xz",
-+ "sha256":
"0149ea5fb1d20f2a9981677d45c952a047330001ea24a8dc29035239f12c0c8f"
-+ }
-+ ]
-+}
-diff --git a/plugins/www/CMakeLists.txt b/plugins/www/CMakeLists.txt
-index cd1ab3a3287f..39f44a0c7f9c 100644
---- a/plugins/www/CMakeLists.txt
-+++ b/plugins/www/CMakeLists.txt
-@@ -45,12 +45,12 @@ set_target_properties(remmina-plugin-www PROPERTIES
NO_SONAME 1)
-
- add_definitions(${WEBKIT2GTK_CFLAGS_OTHER})
-
--find_required_package(LIBSOUP24)
--if(LIBSOUP24_FOUND)
-- include_directories(${REMMINA_COMMON_INCLUDE_DIRS}
${WEBKIT2GTK_INCLUDE_DIRS} ${LIBSOUP24_INCLUDE_DIRS})
-- target_link_libraries(remmina-plugin-www ${REMMINA_COMMON_LIBRARIES}
${LIBSOUP24_LIBRARIES} ${WEBKIT2GTK_LIBRARIES})
-+find_required_package(LIBSOUP)
-+if(LIBSOUP_FOUND)
-+ include_directories(${REMMINA_COMMON_INCLUDE_DIRS}
${WEBKIT2GTK_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS})
-+ target_link_libraries(remmina-plugin-www ${REMMINA_COMMON_LIBRARIES}
${LIBSOUP_LIBRARIES} ${WEBKIT2GTK_LIBRARIES})
- else()
-- message(FATAL_ERROR "libsoup 2.4 library not found")
-+ message(FATAL_ERROR "libsoup library not found")
- endif()
-
- install(TARGETS remmina-plugin-www DESTINATION ${REMMINA_PLUGINDIR})
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 8d7ddadbb06f..eb1fec2e0ab5 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -255,10 +255,10 @@ if(GTK3_FOUND)
- else()
- message(FATAL_ERROR "json-glib library not found")
- endif()
-- find_required_package(LIBSOUP24)
-- if(LIBSOUP24_FOUND)
-- include_directories(${LIBSOUP24_INCLUDE_DIRS})
-- target_link_libraries(remmina ${LIBSOUP24_LIBRARIES})
-+ find_required_package(LIBSOUP)
-+ if(LIBSOUP_FOUND)
-+ include_directories(${LIBSOUP_INCLUDE_DIRS})
-+ target_link_libraries(remmina ${LIBSOUP_LIBRARIES})
- else()
- message(FATAL_ERROR "libsoup 2.4 library not found")
- endif()
-diff --git a/src/rmnews.c b/src/rmnews.c
-index d4ae81d220ae..f44af8704232 100644
---- a/src/rmnews.c
-+++ b/src/rmnews.c
-@@ -74,28 +74,51 @@ static RemminaNewsDialog *rmnews_news_dialog;
- #define GET_OBJ(object_name)
gtk_builder_get_object(rmnews_news_dialog->builder, object_name)
-
- static SoupSession *session;
-+
-+#if SOUP_MAJOR_VERSION < 3
-+#define soup_message_get_status(message) message->status_code
-+#define soup_message_get_response_headers(message) message->response_headers
-+#endif
-+
- static const gchar *output_file_path = NULL;
-
- static
- const gchar *supported_mime_types[] = {
- "x-scheme-handler/rdp",
- "x-scheme-handler/spice",
- "x-scheme-handler/vnc",
- "x-scheme-handler/remmina",
- "application/x-remmina",
- NULL
- };
-
- gint eweekdays[7] = {
- 86400,
- 172800,
- 259200,
- 345600,
- 432000,
- 518400,
- 604800
- };
-
-+
-+#if SOUP_CHECK_VERSION (2, 99, 2)
-+static void rmnews_on_stream_splice (GObject *source, GAsyncResult *result,
gpointer user_data)
-+{
-+ GError *error = NULL;
-+ g_output_stream_splice_finish (G_OUTPUT_STREAM (source),
-+ result,
-+ &error);
-+ if (error) {
-+ g_printerr ("Failed to download: %s\n", error->message);
-+ g_error_free (error);
-+ return;
-+ }
-+
-+}
-+#endif
-+
- void rmnews_news_switch_state_set_cb()
- {
- TRACE_CALL(__func__);
-@@ -225,147 +248,219 @@ void rmnews_show_news(GtkWindow *parent)
- gtk_window_set_modal(GTK_WINDOW(rmnews_news_dialog->dialog), TRUE);
- }
-
-+#if SOUP_CHECK_VERSION (2, 99, 2)
-+static void rmnews_get_url_cb (GObject *source, GAsyncResult *result,
gpointer user_data)
-+{
-+ TRACE_CALL(__func__);
-+ const char *name;
-+ const char *header;
-+ GFile *output_file;
-+ gchar *filesha = NULL;
-+ gchar *filesha_after = NULL;
-+
-+ GError *error = NULL;
-+ GInputStream *in = soup_session_send_finish (SOUP_SESSION (source),
result, &error);
-+
-+ if (error) {
-+ REMMINA_DEBUG ("Failed to send request: %s", error->message);
-+ g_error_free (error);
-+ return;
-+ }
-+
-+ GDateTime *gdt = g_date_time_new_now_utc();
-+ gint64 unixts = g_date_time_to_unix(gdt);
-+ g_date_time_unref(gdt);
-+
-+ if (output_file_path) {
-+ REMMINA_DEBUG("Calculating the SHA1 of the local file");
-+ filesha = remmina_sha1_file(output_file_path);
-+ REMMINA_DEBUG("SHA1 is %s", filesha);
-+ if (filesha == NULL || filesha[0] == 0) filesha = "0\0";
-+ REMMINA_DEBUG("Opening %s output file for writing",
output_file_path);
-+ GFile *output_file = g_file_new_for_commandline_arg
(output_file_path);
-+ GOutputStream *out = G_OUTPUT_STREAM (g_file_replace
(output_file, NULL, NULL,
-+
G_FILE_CREATE_REPLACE_DESTINATION, NULL, &error));
-+ if (error) {
-+ REMMINA_DEBUG("Failed to create \"%s\": %s",
output_file_path, error->message);
-+ remmina_pref.periodic_rmnews_last_get = unixts;
-+ REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
-+ REMMINA_DEBUG ("Saving preferences");
-+ remmina_pref_save();
-+ g_free(filesha); filesha = NULL;
-+ g_error_free (error);
-+ g_object_unref (in);
-+ g_object_unref (output_file);
-+ g_object_unref (out);
-+ return;
-+ }
-+
-+ /* Start downloading to the file */
-+ // g_output_stream_splice_async (G_OUTPUT_STREAM (out), in,
-+ // G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE |
G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
-+ // G_PRIORITY_DEFAULT,
-+ // NULL,
-+ // rmnews_on_stream_splice,
-+ // NULL);
-+ g_output_stream_splice (G_OUTPUT_STREAM (out), in,
-+ G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE |
G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
-+ NULL,
-+ &error);
-+
-+ if (error) {
-+ REMMINA_DEBUG ("Failed to download: %s",
error->message);
-+ remmina_pref.periodic_rmnews_last_get = unixts;
-+ REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
-+ REMMINA_DEBUG ("Saving preferences");
-+ remmina_pref_save();
-+ g_free(filesha); filesha = NULL;
-+ g_error_free (error);
-+ g_object_unref (in);
-+ g_object_unref (output_file);
-+ g_object_unref (out);
-+ return;
-+ }
-+
-+
-+ filesha_after = remmina_sha1_file(output_file_path);
-+
-+ REMMINA_DEBUG("SHA1 after download is %s", filesha_after);
-+ if (g_strcmp0(filesha, filesha_after) != 0) {
-+ REMMINA_DEBUG("SHA1 differs, we show the news and reset
the counter");
-+ remmina_pref.periodic_rmnews_last_get = 0;
-+ REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
-+ REMMINA_DEBUG ("Saving preferences");
-+ GtkWindow *parent = remmina_main_get_window();
-+ if (!kioskmode && kioskmode == FALSE)
-+ rmnews_show_news(parent);
-+ } else {
-+ remmina_pref.periodic_rmnews_last_get = unixts;
-+ }
-+ /* Increase counter with number of successful GETs */
-+ remmina_pref.periodic_rmnews_get_count =
remmina_pref.periodic_rmnews_get_count + 1;
-+ remmina_pref_save();
-+ g_free(filesha); filesha = NULL;
-+ g_object_unref (out);
-+ } else {
-+ REMMINA_DEBUG("Cannot open output file for writing, because
output_file_path is NULL");
-+ remmina_pref.periodic_rmnews_last_get = unixts;
-+ REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
-+ REMMINA_DEBUG ("Saving preferences");
-+ remmina_pref_save();
-+ return;
-+ }
-+
-+ g_object_unref (in);
-+
-+
-+}
-+#else
- static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg,
gpointer data)
- {
- TRACE_CALL(__func__);
- const char *name;
- const char *header;
-- SoupBuffer *sb;
-+ g_autoptr(SoupBuffer) sb;
- FILE *output_file = NULL;
- gchar *filesha = NULL;
- gchar *filesha_after = NULL;
- GDateTime *gdt;
- gint64 unixts;
-+ gint status;
-
-- REMMINA_DEBUG("Status code %d", msg->status_code);
-+ status = soup_message_get_status(msg);
-+ REMMINA_DEBUG("Status code %d", status);
-
- name = soup_message_get_uri(msg)->path;
-
- gdt = g_date_time_new_now_utc();
- unixts = g_date_time_to_unix(gdt);
- g_date_time_unref(gdt);
-
-- if (SOUP_STATUS_IS_CLIENT_ERROR(msg->status_code)) {
-- REMMINA_DEBUG("Status 404 - Release file not available");
-- remmina_pref.periodic_rmnews_last_get = unixts;
-- REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
-- REMMINA_DEBUG ("Saving preferences");
-- remmina_pref_save();
-- return;
-- }
--
-- if (SOUP_STATUS_IS_SERVER_ERROR(msg->status_code)) {
-- REMMINA_DEBUG("Server not available");
-- remmina_pref.periodic_rmnews_last_get = unixts;
-- REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
-- REMMINA_DEBUG ("Saving preferences");
-- remmina_pref_save();
-- return;
-- }
--
-- if (SOUP_STATUS_IS_TRANSPORT_ERROR(msg->status_code)) {
-- REMMINA_DEBUG("Transport Error");
-- remmina_pref.periodic_rmnews_last_get = unixts;
-- REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
-- REMMINA_DEBUG ("Saving preferences");
-- remmina_pref_save();
-- return;
-- }
--
-- if (msg->status_code == SOUP_STATUS_SSL_FAILED) {
-- GTlsCertificateFlags flags;
--
-- if (soup_message_get_https_status(msg, NULL, &flags))
-- REMMINA_DEBUG("%s: %d %s (0x%x)\n", name,
msg->status_code, msg->reason_phrase, flags);
-- else
-- REMMINA_DEBUG("%s: %d %s (no handshake status)\n",
name, msg->status_code, msg->reason_phrase);
-- remmina_pref.periodic_rmnews_last_get = unixts;
-- REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
-- REMMINA_DEBUG ("Saving preferences");
-- remmina_pref_save();
-- return;
-- } else if (SOUP_STATUS_IS_TRANSPORT_ERROR(msg->status_code)) {
-- REMMINA_DEBUG("%s: %d %s\n", name, msg->status_code,
msg->reason_phrase);
-- }
--
-- if (SOUP_STATUS_IS_REDIRECTION(msg->status_code)) {
-- header = soup_message_headers_get_one(msg->response_headers,
-+ if (SOUP_STATUS_IS_REDIRECTION(status)) {
-+ header =
soup_message_headers_get_one(soup_message_get_response_headers(msg),
- "Location");
- REMMINA_DEBUG("Redirection detected");
- if (header) {
- SoupURI *uri;
- char *uri_string;
-
- REMMINA_DEBUG(" -> %s\n", header);
-
- uri = soup_uri_new_with_base(soup_message_get_uri(msg),
header);
- uri_string = soup_uri_to_string(uri, FALSE);
- rmnews_get_url(uri_string);
- g_free(uri_string);
- soup_uri_free(uri);
- }
- remmina_pref.periodic_rmnews_last_get = unixts;
- REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
- REMMINA_DEBUG ("Saving preferences");
- remmina_pref_save();
- return;
-- } else if (SOUP_STATUS_IS_SUCCESSFUL(msg->status_code)) {
-+ }
-+
-+ if (!SOUP_STATUS_IS_SUCCESSFUL(status)) {
-+ REMMINA_DEBUG ("Could not access %s: %s", name ,
soup_status_get_phrase(status));
-+ REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
-+ REMMINA_DEBUG ("Saving preferences");
-+ remmina_pref_save();
-+ return;
-+ } else {
- REMMINA_DEBUG("Status 200");
- if (output_file_path) {
- REMMINA_DEBUG("Calculating the SHA1 of the local file");
- filesha = remmina_sha1_file(output_file_path);
- REMMINA_DEBUG("SHA1 is %s", filesha);
-- if (filesha == NULL || filesha[0] == 0)
-- filesha = "0\0";
-+ if (filesha == NULL || filesha[0] == 0) filesha = "0\0";
- REMMINA_DEBUG("Opening %s output file for writing",
output_file_path);
- output_file = fopen(output_file_path, "w");
- if (!output_file) {
-- g_printerr("Error trying to create file %s.\n",
output_file_path);
-+ REMMINA_DEBUG("Error trying to create file
%s.", output_file_path);
- remmina_pref.periodic_rmnews_last_get = unixts;
- REMMINA_DEBUG ("periodic_rmnews_last_get set to
%ld", remmina_pref.periodic_rmnews_last_get);
- REMMINA_DEBUG ("Saving preferences");
- remmina_pref_save();
- g_free(filesha); filesha = NULL;
- return;
- }
- } else {
- REMMINA_DEBUG("Cannot open output file for writing,
because output_file_path is NULL");
- remmina_pref.periodic_rmnews_last_get = unixts;
- REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
- REMMINA_DEBUG ("Saving preferences");
- remmina_pref_save();
- return;
- }
--
--
- sb = soup_message_body_flatten(msg->response_body);
- if (output_file) {
- fwrite(sb->data, 1, sb->length, output_file);
-
- if (output_file_path) {
- fclose(output_file);
- filesha_after =
remmina_sha1_file(output_file_path);
- }
- REMMINA_DEBUG("SHA1 after download is %s",
filesha_after);
- if (g_strcmp0(filesha, filesha_after) != 0) {
- REMMINA_DEBUG("SHA1 differs, we show the news
and reset the counter");
- remmina_pref.periodic_rmnews_last_get = 0;
- REMMINA_DEBUG ("periodic_rmnews_last_get set to
%ld", remmina_pref.periodic_rmnews_last_get);
- REMMINA_DEBUG ("Saving preferences");
- GtkWindow *parent = remmina_main_get_window();
- if (!kioskmode && kioskmode == FALSE)
- rmnews_show_news(parent);
- } else {
- remmina_pref.periodic_rmnews_last_get = unixts;
- }
- /* Increase counter with number of successful GETs */
- remmina_pref.periodic_rmnews_get_count =
remmina_pref.periodic_rmnews_get_count + 1;
- remmina_pref_save();
- g_free(filesha); filesha = NULL;
- }
- }
-+
- g_object_unref(msg);
- }
-+#endif
-
- /**
- * Try to get a unique system+user ID to identify this remmina user
-@@ -417,8 +512,16 @@ void rmnews_get_url(const char *url)
-
- REMMINA_DEBUG("Fetching %s", url);
-
-+#if SOUP_CHECK_VERSION (2, 99, 2)
-+ // Use soup_session_send_async or soup_session_send_and_read_async
-+ soup_session_send_async ( session, msg, G_PRIORITY_DEFAULT,
-+ NULL, // cancellable
-+ rmnews_get_url_cb, // callback
-+ NULL); // user_data
-+#else
- g_object_ref(msg);
- soup_session_queue_message(session, msg, rmnews_get_url_cb, NULL);
-+#endif
- }
-
- void rmnews_get_news()
-@@ -466,14 +569,25 @@ void rmnews_get_news()
- }
-
- REMMINA_DEBUG("Gathering news");
-+ /* Build the session with all of the features we need */
-+ session = soup_session_new_with_options ("user-agent", "get ",
-+ "accept-language-auto", TRUE,
-+ "timeout", 15,
-+ NULL);
-+
-+#if SOUP_CHECK_VERSION (2, 99, 2)
-+ soup_session_add_feature_by_type (session, SOUP_TYPE_COOKIE_JAR);
-+ logger = soup_logger_new(SOUP_LOGGER_LOG_NONE);
-+#else
- session = g_object_new(SOUP_TYPE_SESSION,
- SOUP_SESSION_ADD_FEATURE_BY_TYPE,
SOUP_TYPE_CONTENT_DECODER,
- SOUP_SESSION_ADD_FEATURE_BY_TYPE,
SOUP_TYPE_COOKIE_JAR,
- SOUP_SESSION_USER_AGENT, "get ",
- SOUP_SESSION_ACCEPT_LANGUAGE_AUTO, TRUE,
- NULL);
-- /* TODO: Catch log level and set SOUP_LOGGER_LOG_MINIMAL or more */
- logger = soup_logger_new(SOUP_LOGGER_LOG_NONE, -1);
-+#endif
-+ /* TODO: Catch log level and set SOUP_LOGGER_LOG_MINIMAL or more */
- soup_session_add_feature(session, SOUP_SESSION_FEATURE(logger));
- g_object_unref(logger);
-
Copied:
remmina/repos/community-x86_64/0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch
(from rev 1356378,
remmina/trunk/0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch)
===================================================================
--- 0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch
(rev 0)
+++ 0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch
2022-12-03 18:04:49 UTC (rev 1356379)
@@ -0,0 +1,1137 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: "Antenore Gatta (tmow)" <[email protected]>
+Date: Mon, 3 Oct 2022 17:38:35 +0000
+Subject: [PATCH] Multiple changes to build and run with libsoup 3.0
+
+---
+ ...{FindLIBSOUP24.cmake => FindLIBSOUP.cmake} | 27 +--
+ cmake/FindWEBKIT2GTK.cmake | 6 +-
+ flatpak/org.remmina.Remmina-local.json | 93 ++++----
+ flatpak/org.remmina.Remmina.json | 67 +++---
+ flatpak/requirements/webkit.json | 60 +++++
+ plugins/www/CMakeLists.txt | 10 +-
+ src/CMakeLists.txt | 8 +-
+ src/rmnews.c | 222 +++++++++++++-----
+ 8 files changed, 326 insertions(+), 167 deletions(-)
+ rename cmake/{FindLIBSOUP24.cmake => FindLIBSOUP.cmake} (55%)
+ create mode 100644 flatpak/requirements/webkit.json
+
+diff --git a/cmake/FindLIBSOUP24.cmake b/cmake/FindLIBSOUP.cmake
+similarity index 55%
+rename from cmake/FindLIBSOUP24.cmake
+rename to cmake/FindLIBSOUP.cmake
+index 96ec22239947..23cc06ff632a 100644
+--- a/cmake/FindLIBSOUP24.cmake
++++ b/cmake/FindLIBSOUP.cmake
+@@ -1,46 +1,43 @@
+ # Remmina - The GTK+ Remote Desktop Client
+ #
+-# Copyright (C) 2011 Marc-Andre Moreau
+-# Copyright (C) 2014-2015 Antenore Gatta, Fabio Castelli, Giovanni Panozzo
+ # Copyright (C) 2016-2022 Antenore Gatta, Giovanni Panozzo
+ #
+ # 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 2 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, write to the Free Software
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ # Boston, MA 02110-1301, USA.
+
+ include(FindPackageHandleStandardArgs)
+
+-pkg_check_modules(PC_LIBSOUP24 libsoup-2.4)
++pkg_search_module(PC_LIBSOUP REQUIRED libsoup-3.0 libsoup-2.4)
+
+-
+-find_path(LIBSOUP24_INCLUDE_DIR NAMES libsoup/soup.h
+- HINTS ${PC_LIBSOUP24_INCLUDEDIR} ${PC_LIBSOUP24_INCLUDE_DIRS}
++find_path(LIBSOUP_INCLUDE_DIR NAMES libsoup/soup.h
++ HINTS ${PC_LIBSOUP_INCLUDEDIR} ${PC_LIBSOUP_INCLUDE_DIRS}
+ )
+
+-find_library(LIBSOUP24_LIBRARY
+- NAMES soup-2.4
+- HINTS ${PC_LIBSOUP24_LIBDIR} ${PC_LIBSOUP24_LIBRARY_DIRS}
++find_library(LIBSOUP_LIBRARY
++ NAMES soup soup-3.0 soup-2.4
++ HINTS ${PC_LIBSOUP_LIBDIR} ${PC_LIBSOUP_LIBRARY_DIRS}
+ )
+
+-if (LIBSOUP24_INCLUDE_DIR AND LIBSOUP24_LIBRARY)
+- find_package_handle_standard_args(LIBSOUP24 DEFAULT_MSG
LIBSOUP24_LIBRARY LIBSOUP24_INCLUDE_DIR)
++if (LIBSOUP_INCLUDE_DIR AND LIBSOUP_LIBRARY)
++ find_package_handle_standard_args(LIBSOUP DEFAULT_MSG LIBSOUP_LIBRARY
LIBSOUP_INCLUDE_DIR)
+ endif()
+
+-if (LIBSOUP24_FOUND)
+- set(LIBSOUP24_LIBRARIES ${LIBSOUP24_LIBRARY})
+- set(LIBSOUP24_INCLUDE_DIRS ${LIBSOUP24_INCLUDE_DIR})
++if (LIBSOUP_FOUND)
++ set(LIBSOUP_LIBRARIES ${LIBSOUP_LIBRARY})
++ set(LIBSOUP_INCLUDE_DIRS ${LIBSOUP_INCLUDE_DIR})
+ endif()
+
+-mark_as_advanced(LIBSOUP24_INCLUDE_DIR LIBSOUP24_LIBRARY)
++mark_as_advanced(LIBSOUP_INCLUDE_DIR LIBSOUP_LIBRARY)
+
+diff --git a/cmake/FindWEBKIT2GTK.cmake b/cmake/FindWEBKIT2GTK.cmake
+index 391fdfe9dc7b..0af554cff4ed 100644
+--- a/cmake/FindWEBKIT2GTK.cmake
++++ b/cmake/FindWEBKIT2GTK.cmake
+@@ -33,16 +33,18 @@
+ find_package(PkgConfig)
+
+ if(PKG_CONFIG_FOUND)
+- pkg_check_modules(_WEBKIT2GTK webkit2gtk-4.0)
++ #pkg_check_modules(_WEBKIT2GTK webkit2gtk-4.0)
++ pkg_search_module(_WEBKIT2GTK webkit2gtk-4.1 webkit2gtk-4.0)
+ endif(PKG_CONFIG_FOUND)
+
+ set(WEBKIT2GTK_DEFINITIONS ${_WEBKIT2GTK_CFLAGS_OTHER})
+
+ find_path(WEBKIT2GTK_INCLUDE_DIR NAMES webkit2/webkit2.h
+ HINTS ${_WEBKIT2GTK_INCLUDEDIR} ${_WEBKIT2GTK_INCLUDE_DIRS}
+ )
+
+-find_library(WEBKIT2GTK_LIB webkit2gtk-4.0
++find_library(WEBKIT2GTK_LIB
++ NAMES webkit2gtk-4.1 webkit2gtk-4.0
+ HINTS
+ ${_WEBKIT2GTK_LIBDIR}
+ ${_WEBKIT2GTK_LIBRARY_DIRS}
+diff --git a/flatpak/org.remmina.Remmina-local.json
b/flatpak/org.remmina.Remmina-local.json
+index 6bf4a0aad815..b2da8f60f5cd 100644
+--- a/flatpak/org.remmina.Remmina-local.json
++++ b/flatpak/org.remmina.Remmina-local.json
+@@ -1,7 +1,7 @@
+ {
+ "app-id": "org.remmina.Remmina",
+ "runtime": "org.gnome.Platform",
+- "runtime-version": "42",
++ "runtime-version": "43",
+ "sdk": "org.gnome.Sdk",
+ "command": "remmina",
+ "cleanup": [
+@@ -49,20 +49,20 @@
+ "add-extensions": {
+ "org.freedesktop.Platform.ffmpeg-full": {
+ "directory": "lib/ffmpeg",
+- "version": "21.08",
++ "version": "22.08",
+ "add-ld-path": ".",
+- "no-autodownload": false,
++ "no-autodownload": true,
+ "autodelete": false
+ },
+ "org.freedesktop.Platform.openh264": {
+ "directory": "lib/openh264",
+ "version": "2.1.0",
+ "add-ld-path": "."
+ }
+ },
+ "cleanup-commands": [
+- "mkdir -p /app/lib/ffmpeg",
+- "mkdir -p /app/lib/openh264"
++ "mkdir -p ${FLATPAK_DEST}/lib/ffmpeg",
++ "mkdir -p ${FLATPAK_DEST}/lib/openh264"
+ ],
+ "modules": [
+ "shared-modules/intltool/intltool-0.51.json",
+@@ -113,64 +113,65 @@
+ "sources": [
+ {
+ "type": "archive",
+- "url":
"https://xorg.freedesktop.org/archive/individual/app/xauth-1.1.1.tar.bz2",
+- "sha256":
"164ea0a29137b284a47b886ef2affcb0a74733bf3aad04f9b106b1a6c82ebd92",
++ "url":
"https://xorg.freedesktop.org/archive/individual/app/xauth-1.1.2.tar.xz",
++ "sha256":
"78ba6afd19536ced1dddb3276cba6e9555a211b468a06f95f6a97c62ff8ee200",
+ "x-checker-data": {
+ "type": "anitya",
+ "project-id": 5253,
+- "url-template":
"https://xorg.freedesktop.org/archive/individual/app/xauth-$version.tar.bz2"
++ "stable-only": true,
++ "url-template":
"https://xorg.freedesktop.org/archive/individual/app/xauth-$version.tar.xz"
+ }
+ }
+ ]
+ },
+ {
+ "name": "libcups",
+ "make-args": [
+ "libs"
+ ],
+ "no-make-install": true,
+ "post-install": [
+ "make install-headers install-libs"
+ ],
+ "sources": [
+ {
+ "type": "archive",
+- "url":
"https://github.com/OpenPrinting/cups/archive/refs/tags/v2.4.1.tar.gz",
+- "sha256":
"df195c931349949293c832e1337527e7831e1225f567b60caf5d9c206c2bffdc",
++ "url":
"https://github.com/OpenPrinting/cups/archive/refs/tags/v2.4.2.tar.gz",
++ "sha256":
"7095b2977bb728ded5566a5c802866062840d6541fd027836865949a407c3682",
+ "x-checker-data": {
+ "type": "anitya",
+ "project-id": 380,
+ "stable-only": false,
+ "url-template":
"https://github.com/OpenPrinting/cups/archive/refs/tags/v$version.tar.gz"
+ }
+ }
+ ]
+ },
+ {
+ "name": "gtk-vnc",
+ "buildsystem": "meson",
+ "sources": [
+ {
+ "type": "archive",
+- "url":
"https://download.gnome.org/sources/gtk-vnc/1.3/gtk-vnc-1.3.0.tar.xz",
+- "sha256":
"5faaa5823b8cbe8c0b0ba1e456c4e70c4b1ae6685c9fe81a4282d98cf00a211d",
++ "url":
"https://download.gnome.org/sources/gtk-vnc/1.3/gtk-vnc-1.3.1.tar.xz",
++ "sha256":
"512763ac4e0559d0158b6682ca5dd1a3bd633f082f5e4349d7158e6b5f80f1ce",
+ "x-checker-data": {
+ "type": "gnome",
+ "name": "gtk-vnc",
+ "stable-only": false
+ }
+ }
+ ]
+ },
+ {
+ "name": "vte",
+ "buildsystem": "meson",
+ "sources": [
+ {
+ "type": "git",
+ "url": "https://gitlab.gnome.org/GNOME/vte.git",
+- "tag": "0.68.0",
+- "commit": "0f438924f9f8a858b1b82434c876e31c2de180d4",
++ "tag": "0.70.0",
++ "commit": "ae4a5d7df9e32ab40ceca5e06240561e819db148",
+ "x-checker-data": {
+ "type": "git",
+ "tag-pattern": "^([\\d.]+)$"
+@@ -252,52 +253,53 @@
+ {
+ "type": "git",
+ "url": "https://github.com/LudovicRousseau/PCSC.git",
+- "tag": "pcsc-1.9.0",
+- "commit": "e796a0f12fbefa459bff0d25e27089615fa91f21",
++ "tag": "1.9.9",
++ "commit": "15c16c7796607b1c8a2ce253d3f536918ab26b4a",
+ "x-checker-data": {
+ "type": "git",
+ "tag-pattern": "^pcsc-([\\d.]+)$"
+ }
+ }
+ ]
+ },
+ {
+ "name": "spice-gtk",
+ "buildsystem": "meson",
+ "build-options": {
+ "env": {
+ "PYTHONPATH": "/app"
+ }
+ },
+ "config-opts": [
+ "-Dvapi=enabled",
+ "-Dwebdav=enabled",
+- "-Dgtk_doc=disabled"
++ "-Dgtk_doc=disabled",
++ "-Dpolkit=disabled"
+ ],
+ "sources": [
+ {
+ "type": "archive",
+- "url":
"https://www.spice-space.org/download/gtk/spice-gtk-0.40.tar.xz",
+- "sha256":
"23f5ff7fa80b75647ce73cda5eaf8b322f3432dbbb7f6f3a839634618adbced3",
++ "url":
"https://www.spice-space.org/download/gtk/spice-gtk-0.41.tar.xz",
++ "sha256":
"d8f8b5cbea9184702eeb8cc276a67d72acdb6e36e7c73349fb8445e5bca0969f",
+ "x-checker-data": {
+ "type": "anitya",
+ "project-id": 11576,
+ "url-template":
"https://www.spice-space.org/download/gtk/spice-gtk-$version.tar.xz"
+ }
+ }
+ ],
+ "modules": [
+ {
+ "name": "python-pyparsing",
+ "buildsystem": "simple",
+ "build-commands": [
+ "pip3 install --verbose --exists-action=i --no-index
--find-links=file://${PWD} --prefix=${FLATPAK_DEST} pyparsing
--no-build-isolation"
+ ],
+ "sources": [
+ {
+ "type": "file",
+- "url":
"https://files.pythonhosted.org/packages/d9/41/d9cfb4410589805cd787f8a82cddd13142d9bf7449d12adf2d05a4a7d633/pyparsing-3.0.8-py3-none-any.whl",
+- "sha256":
"ef7b523f6356f763771559412c0d7134753f037822dad1b16945b7b846f7ad06",
++ "url":
"https://files.pythonhosted.org/packages/6c/10/a7d0fa5baea8fe7b50f448ab742f26f52b80bfca85ac2be9d35cdd9a3246/pyparsing-3.0.9-py3-none-any.whl",
++ "sha256":
"5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc",
+ "x-checker-data": {
+ "type": "pypi",
+ "name": "pyparsing",
+@@ -339,35 +341,31 @@
+ "sources": [
+ {
+ "type": "archive",
+- "url":
"https://github.com/lz4/lz4/archive/v1.9.3/lz4-1.9.3.tar.gz",
+- "sha256":
"030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1",
++ "url":
"https://github.com/lz4/lz4/archive/v1.9.4/lz4-1.9.4.tar.gz",
++ "sha256":
"0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b",
+ "x-checker-data": {
+ "type": "anitya",
+ "project-id": 1865,
+ "url-template":
"https://github.com/lz4/lz4/archive/v$version/lz4-$version.tar.gz"
+ }
+ }
+ ]
+ },
+ {
+ /**
+ * For webdav (shared folder) support
+ */
+ "name": "phodav",
+ "buildsystem": "meson",
+ "cleanup": [
+ "/bin",
+ "/sbin"
+ ],
+- "config-opts": [
+- "-Dgtk_doc=disabled",
+- "-Dsystemd=disabled"
+- ],
+ "sources": [
+ {
+ "type": "archive",
+- "url":
"https://download.gnome.org/sources/phodav/2.5/phodav-2.5.tar.xz",
+- "sha256":
"71f0a9cd70afd4dd1412a0298331dbb8ac71c0377f52117afc15eb88dc6fb910",
++ "url":
"https://download.gnome.org/sources/phodav/3.0/phodav-3.0.tar.xz",
++ "sha256":
"392ec2d06d50300dcff1ef269a2a985304e29bce3520002fca29f2edc1d138d1",
+ "x-checker-data": {
+ "type": "gnome",
+ "name": "phodav",
+@@ -412,14 +410,9 @@
+ "name": "libsodium",
+ "sources": [
+ {
+- "type": "archive",
+- "url":
"https://github.com/jedisct1/libsodium/archive/1.0.18-RELEASE.tar.gz",
+- "sha256":
"b7292dd1da67a049c8e78415cd498ec138d194cfdb302e716b08d26b80fecc10",
+- "x-checker-data": {
+- "type": "anitya",
+- "project-id": 1728,
+- "url-template":
"https://github.com/jedisct1/libsodium/archive/$version.tar.gz"
+- }
++ "type": "git",
++ "url": "https://github.com/jedisct1/libsodium.git",
++ "commit": "7389bf7f2968be75520e932704f18f038c29e581"
+ }
+ ],
+ "post-install": [
+@@ -462,71 +455,69 @@
+ ],
+ "sources": [
+ {
+- "type": "archive",
+- "url":
"https://github.com/LibVNC/libvncserver/archive/LibVNCServer-0.9.13.tar.gz",
+- "sha256":
"0ae5bb9175dc0a602fe85c1cf591ac47ee5247b87f2bf164c16b05f87cbfa81a",
+- "x-checker-data": {
+- "type": "anitya",
+- "project-id": 1756,
+- "url-template":
"https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$version.tar.gz"
+- }
++ "type": "git",
++ "url": "https://github.com/LibVNC/libvncserver.git",
++ "branch": "master"
+ }
+ ]
+ },
+ {
+ "name": "freerdp",
+ "buildsystem": "cmake-ninja",
+ "cleanup": [],
+ "config-opts": [
++ "-DCMAKE_VERBOSE_MAKEFILE=ON",
+ "-DCMAKE_BUILD_TYPE:STRING=Release",
+ "-DCMAKE_INSTALL_LIBDIR:PATH=lib",
+ "-DWITH_WAYLAND:BOOL=ON",
+- "-DCHANNEL_TSMF:BOOL=ON",
++ "-DCHANNEL_TSMF:BOOL=OFF",
+ "-DCHANNEL_URBDRC:BOOL=ON",
+ "-DBUILD_TESTING:BOOL=OFF",
+- "-DWITH_ICU:BOOL=ON",
+ "-DWITH_MANPAGES:BOOL=OFF",
+ "-DWITH_GSSAPI:BOOL=OFF",
+ "-DWITH_PCSC:BOOL=ON",
++ "-DWITH_PKCS11:BOOL=ON",
++ "-DWITH_SWSCALE:BOOL=ON",
+ "-DWITH_SERVER:BOOL=OFF",
+ "-DWITH_CUPS:BOOL=ON",
+ "-DWITH_FFMPEG:BOOL=ON",
++ "-DWITH_DSP_FFMPEG:BOOL=ON",
+ "-DWITH_OSS:BOOL=OFF",
+ "-DWITH_PULSE:BOOL=ON",
+- "-DWITH_CHANNELS:BOOL=ON",
+ "-DWITH_LIBSYSTEMD:BOOL=OFF"
+ ],
+ "sources": [
+ {
+ "type": "git",
+ "url": "https://github.com/FreeRDP/FreeRDP.git",
+- "tag": "2.7.0",
+- "commit": "40ee5d3bcc70343af6c0300d71968858c1f1948f",
++ "tag": "2.8.0",
++ "commit": "e3fc97feb512053189e276b2ca79762990bb8c4c",
+ "x-checker-data": {
+ "type": "git",
+ "tag-pattern": "^([\\d.]+)$"
+ }
+ }
+ ]
+ },
+ {
+ /* Remmina main build */
+ "name": "remmina",
+ "buildsystem": "cmake-ninja",
+ "cleanup": [
+ "/bin/remmina-gnome",
+ "/bin/gnome-session-remmina",
+ "/share/applications/remmina-gnome.desktop"
+ ],
+ "config-opts": [
+ "-DCMAKE_BUILD_TYPE:STRING=Debug",
+ "-DWITH_NEWS:BOOL=ON",
+ "-DCMAKE_INSTALL_LIBDIR:PATH=lib",
+ "-DWITH_FREERDP3:BOOL=OFF",
+ "-DWITH_GVNC:BOOL=ON",
+ "-DWITH_CUPS:BOOL=ON",
+ "-DWITH_PYTHONLIBS:BOOL=ON",
+- "-DWITH_MANPAGES:BOOL=OFF"
++ "-DWITH_MANPAGES:BOOL=OFF",
++ "-DWITH_WWW=ON"
+ ],
+ "sources": [
+ {
+diff --git a/flatpak/org.remmina.Remmina.json
b/flatpak/org.remmina.Remmina.json
+index c044ee5ece24..756d3fae42af 100644
+--- a/flatpak/org.remmina.Remmina.json
++++ b/flatpak/org.remmina.Remmina.json
+@@ -1,7 +1,7 @@
+ {
+ "app-id": "org.remmina.Remmina",
+ "runtime": "org.gnome.Platform",
+- "runtime-version": "42",
++ "runtime-version": "43",
+ "sdk": "org.gnome.Sdk",
+ "command": "remmina",
+ "cleanup": [
+@@ -49,20 +49,20 @@
+ "add-extensions": {
+ "org.freedesktop.Platform.ffmpeg-full": {
+ "directory": "lib/ffmpeg",
+- "version": "21.08",
++ "version": "22.08",
+ "add-ld-path": ".",
+- "no-autodownload": false,
++ "no-autodownload": true,
+ "autodelete": false
+ },
+ "org.freedesktop.Platform.openh264": {
+ "directory": "lib/openh264",
+ "version": "2.1.0",
+ "add-ld-path": "."
+ }
+ },
+ "cleanup-commands": [
+- "mkdir -p /app/lib/ffmpeg",
+- "mkdir -p /app/lib/openh264"
++ "mkdir -p ${FLATPAK_DEST}/lib/ffmpeg",
++ "mkdir -p ${FLATPAK_DEST}/lib/openh264"
+ ],
+ "modules": [
+ "shared-modules/intltool/intltool-0.51.json",
+@@ -153,25 +153,25 @@
+ "sources": [
+ {
+ "type": "archive",
+- "url":
"https://download.gnome.org/sources/gtk-vnc/1.3/gtk-vnc-1.3.0.tar.xz",
+- "sha256":
"5faaa5823b8cbe8c0b0ba1e456c4e70c4b1ae6685c9fe81a4282d98cf00a211d",
++ "url":
"https://download.gnome.org/sources/gtk-vnc/1.3/gtk-vnc-1.3.1.tar.xz",
++ "sha256":
"512763ac4e0559d0158b6682ca5dd1a3bd633f082f5e4349d7158e6b5f80f1ce",
+ "x-checker-data": {
+ "type": "gnome",
+ "name": "gtk-vnc",
+ "stable-only": false
+ }
+ }
+ ]
+ },
+ {
+ "name": "vte",
+ "buildsystem": "meson",
+ "sources": [
+ {
+ "type": "git",
+ "url": "https://gitlab.gnome.org/GNOME/vte.git",
+- "tag": "0.68.0",
+- "commit": "0f438924f9f8a858b1b82434c876e31c2de180d4",
++ "tag": "0.70.0",
++ "commit": "ae4a5d7df9e32ab40ceca5e06240561e819db148",
+ "x-checker-data": {
+ "type": "git",
+ "tag-pattern": "^([\\d.]+)$"
+@@ -253,33 +253,34 @@
+ {
+ "type": "git",
+ "url": "https://github.com/LudovicRousseau/PCSC.git",
+- "tag": "pcsc-1.9.0",
+- "commit": "e796a0f12fbefa459bff0d25e27089615fa91f21",
++ "tag": "1.9.9",
++ "commit": "15c16c7796607b1c8a2ce253d3f536918ab26b4a",
+ "x-checker-data": {
+ "type": "git",
+ "tag-pattern": "^pcsc-([\\d.]+)$"
+ }
+ }
+ ]
+ },
+ {
+ "name": "spice-gtk",
+ "buildsystem": "meson",
+ "build-options": {
+ "env": {
+ "PYTHONPATH": "/app"
+ }
+ },
+ "config-opts": [
+ "-Dvapi=enabled",
+ "-Dwebdav=enabled",
+- "-Dgtk_doc=disabled"
++ "-Dgtk_doc=disabled",
++ "-Dpolkit=disabled"
+ ],
+ "sources": [
+ {
+ "type": "archive",
+- "url":
"https://www.spice-space.org/download/gtk/spice-gtk-0.40.tar.xz",
+- "sha256":
"23f5ff7fa80b75647ce73cda5eaf8b322f3432dbbb7f6f3a839634618adbced3",
++ "url":
"https://www.spice-space.org/download/gtk/spice-gtk-0.41.tar.xz",
++ "sha256":
"d8f8b5cbea9184702eeb8cc276a67d72acdb6e36e7c73349fb8445e5bca0969f",
+ "x-checker-data": {
+ "type": "anitya",
+ "project-id": 11576,
+@@ -340,35 +341,31 @@
+ "sources": [
+ {
+ "type": "archive",
+- "url":
"https://github.com/lz4/lz4/archive/v1.9.3/lz4-1.9.3.tar.gz",
+- "sha256":
"030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1",
++ "url":
"https://github.com/lz4/lz4/archive/v1.9.4/lz4-1.9.4.tar.gz",
++ "sha256":
"0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b",
+ "x-checker-data": {
+ "type": "anitya",
+ "project-id": 1865,
+ "url-template":
"https://github.com/lz4/lz4/archive/v$version/lz4-$version.tar.gz"
+ }
+ }
+ ]
+ },
+ {
+ /**
+ * For webdav (shared folder) support
+ */
+ "name": "phodav",
+ "buildsystem": "meson",
+ "cleanup": [
+ "/bin",
+ "/sbin"
+ ],
+- "config-opts": [
+- "-Dgtk_doc=disabled",
+- "-Dsystemd=disabled"
+- ],
+ "sources": [
+ {
+ "type": "archive",
+- "url":
"https://download.gnome.org/sources/phodav/2.5/phodav-2.5.tar.xz",
+- "sha256":
"71f0a9cd70afd4dd1412a0298331dbb8ac71c0377f52117afc15eb88dc6fb910",
++ "url":
"https://download.gnome.org/sources/phodav/3.0/phodav-3.0.tar.xz",
++ "sha256":
"392ec2d06d50300dcff1ef269a2a985304e29bce3520002fca29f2edc1d138d1",
+ "x-checker-data": {
+ "type": "gnome",
+ "name": "phodav",
+@@ -458,71 +455,69 @@
+ ],
+ "sources": [
+ {
+- "type": "archive",
+- "url":
"https://github.com/LibVNC/libvncserver/archive/LibVNCServer-0.9.13.tar.gz",
+- "sha256":
"0ae5bb9175dc0a602fe85c1cf591ac47ee5247b87f2bf164c16b05f87cbfa81a",
+- "x-checker-data": {
+- "type": "anitya",
+- "project-id": 1756,
+- "url-template":
"https://github.com/LibVNC/libvncserver/archive/LibVNCServer-$version.tar.gz"
+- }
++ "type": "git",
++ "url": "https://github.com/LibVNC/libvncserver.git",
++ "branch": "master"
+ }
+ ]
+ },
+ {
+ "name": "freerdp",
+ "buildsystem": "cmake-ninja",
+ "cleanup": [],
+ "config-opts": [
++ "-DCMAKE_VERBOSE_MAKEFILE=ON",
+ "-DCMAKE_BUILD_TYPE:STRING=Release",
+ "-DCMAKE_INSTALL_LIBDIR:PATH=lib",
+ "-DWITH_WAYLAND:BOOL=ON",
+- "-DCHANNEL_TSMF:BOOL=ON",
++ "-DCHANNEL_TSMF:BOOL=OFF",
+ "-DCHANNEL_URBDRC:BOOL=ON",
+ "-DBUILD_TESTING:BOOL=OFF",
+- "-DWITH_ICU:BOOL=ON",
+ "-DWITH_MANPAGES:BOOL=OFF",
+ "-DWITH_GSSAPI:BOOL=OFF",
+ "-DWITH_PCSC:BOOL=ON",
++ "-DWITH_PKCS11:BOOL=ON",
++ "-DWITH_SWSCALE:BOOL=ON",
+ "-DWITH_SERVER:BOOL=OFF",
+ "-DWITH_CUPS:BOOL=ON",
+ "-DWITH_FFMPEG:BOOL=ON",
++ "-DWITH_DSP_FFMPEG:BOOL=ON",
+ "-DWITH_OSS:BOOL=OFF",
+ "-DWITH_PULSE:BOOL=ON",
+- "-DWITH_CHANNELS:BOOL=ON",
+ "-DWITH_LIBSYSTEMD:BOOL=OFF"
+ ],
+ "sources": [
+ {
+ "type": "git",
+ "url": "https://github.com/FreeRDP/FreeRDP.git",
+- "tag": "2.7.0",
+- "commit": "40ee5d3bcc70343af6c0300d71968858c1f1948f",
++ "tag": "2.8.0",
++ "commit": "e3fc97feb512053189e276b2ca79762990bb8c4c",
+ "x-checker-data": {
+ "type": "git",
+ "tag-pattern": "^([\\d.]+)$"
+ }
+ }
+ ]
+ },
+ {
+ /* Remmina main build */
+ "name": "remmina",
+ "buildsystem": "cmake-ninja",
+ "cleanup": [
+ "/bin/remmina-gnome",
+ "/bin/gnome-session-remmina",
+ "/share/applications/remmina-gnome.desktop"
+ ],
+ "config-opts": [
+ "-DCMAKE_BUILD_TYPE:STRING=Release",
+ "-DWITH_NEWS:BOOL=ON",
+ "-DCMAKE_INSTALL_LIBDIR:PATH=lib",
+ "-DWITH_FREERDP3:BOOL=OFF",
+ "-DWITH_GVNC:BOOL=ON",
+ "-DWITH_CUPS:BOOL=ON",
+ "-DWITH_PYTHON_LIBS:BOOL=ON",
+- "-DWITH_MANPAGES:BOOL=OFF"
++ "-DWITH_MANPAGES:BOOL=OFF",
++ "-DWITH_WWW=ON"
+ ],
+ "sources": [
+ {
+diff --git a/flatpak/requirements/webkit.json
b/flatpak/requirements/webkit.json
+new file mode 100644
+index 000000000000..429b2dcb4f76
+--- /dev/null
++++ b/flatpak/requirements/webkit.json
+@@ -0,0 +1,60 @@
++/*
++Shared module for building and installing webkit2gtk
++
++This file was written by hand.
++
++File based on gfeeds:
++commit f3e8575d62b1701e885b0bda54222634130c6864
++
++Changes applied to this version of the file:
++* added this header
++* reformatted
++*/
++{
++ "name": "webkit2gtk-5",
++ "buildsystem": "cmake-ninja",
++ "config-opts": [
++ "-DPORT=GTK",
++ "-DCMAKE_BUILD_TYPE=Release",
++ "-DCMAKE_INSTALL_PREFIX=/app",
++ "-DCMAKE_INSTALL_LIBDIR=lib",
++ "-DCMAKE_INSTALL_LIBEXECDIR=lib",
++ "-DCMAKE_SKIP_RPATH=ON",
++ "-DUSE_GTK4=ON",
++ "-DENABLE_GAMEPAD=OFF",
++ "-DENABLE_GTKDOC=OFF"
++ ],
++ "modules": [
++ {
++ "name": "bubblewrap",
++ "buildsystem": "meson",
++ "config-opts": [],
++ "sources": [
++ {
++ "type": "archive",
++ "url":
"https://github.com/containers/bubblewrap/archive/refs/tags/v0.6.1.tar.gz",
++ "sha256":
"2b21ee6d2bead1aaf7c35742e5e53b061ec6eb1644889a4379fda662b03e8121"
++ }
++ ]
++ },
++ {
++ "name": "xdg-dbus-proxy",
++ "buildsystem": "autotools",
++ "config-opts": [],
++ "sources": [
++ {
++ "type": "archive",
++ "url":
"https://github.com/flatpak/xdg-dbus-proxy/archive/refs/tags/0.1.3.tar.gz",
++ "sha256":
"a1d57f0d478bee4cc2be67e84ac6fcfe729460345d8a4fadd6555ae83b14a789"
++ }
++ ]
++ }
++ ],
++ "sources": [
++ {
++ "type": "archive",
++ "url": "https://webkitgtk.org/releases/webkitgtk-2.36.1.tar.xz",
++ "sha256":
"0149ea5fb1d20f2a9981677d45c952a047330001ea24a8dc29035239f12c0c8f"
++ }
++ ]
++}
+diff --git a/plugins/www/CMakeLists.txt b/plugins/www/CMakeLists.txt
+index cd1ab3a3287f..39f44a0c7f9c 100644
+--- a/plugins/www/CMakeLists.txt
++++ b/plugins/www/CMakeLists.txt
+@@ -45,12 +45,12 @@ set_target_properties(remmina-plugin-www PROPERTIES
NO_SONAME 1)
+
+ add_definitions(${WEBKIT2GTK_CFLAGS_OTHER})
+
+-find_required_package(LIBSOUP24)
+-if(LIBSOUP24_FOUND)
+- include_directories(${REMMINA_COMMON_INCLUDE_DIRS}
${WEBKIT2GTK_INCLUDE_DIRS} ${LIBSOUP24_INCLUDE_DIRS})
+- target_link_libraries(remmina-plugin-www ${REMMINA_COMMON_LIBRARIES}
${LIBSOUP24_LIBRARIES} ${WEBKIT2GTK_LIBRARIES})
++find_required_package(LIBSOUP)
++if(LIBSOUP_FOUND)
++ include_directories(${REMMINA_COMMON_INCLUDE_DIRS}
${WEBKIT2GTK_INCLUDE_DIRS} ${LIBSOUP_INCLUDE_DIRS})
++ target_link_libraries(remmina-plugin-www ${REMMINA_COMMON_LIBRARIES}
${LIBSOUP_LIBRARIES} ${WEBKIT2GTK_LIBRARIES})
+ else()
+- message(FATAL_ERROR "libsoup 2.4 library not found")
++ message(FATAL_ERROR "libsoup library not found")
+ endif()
+
+ install(TARGETS remmina-plugin-www DESTINATION ${REMMINA_PLUGINDIR})
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 8d7ddadbb06f..eb1fec2e0ab5 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -255,10 +255,10 @@ if(GTK3_FOUND)
+ else()
+ message(FATAL_ERROR "json-glib library not found")
+ endif()
+- find_required_package(LIBSOUP24)
+- if(LIBSOUP24_FOUND)
+- include_directories(${LIBSOUP24_INCLUDE_DIRS})
+- target_link_libraries(remmina ${LIBSOUP24_LIBRARIES})
++ find_required_package(LIBSOUP)
++ if(LIBSOUP_FOUND)
++ include_directories(${LIBSOUP_INCLUDE_DIRS})
++ target_link_libraries(remmina ${LIBSOUP_LIBRARIES})
+ else()
+ message(FATAL_ERROR "libsoup 2.4 library not found")
+ endif()
+diff --git a/src/rmnews.c b/src/rmnews.c
+index d4ae81d220ae..f44af8704232 100644
+--- a/src/rmnews.c
++++ b/src/rmnews.c
+@@ -74,28 +74,51 @@ static RemminaNewsDialog *rmnews_news_dialog;
+ #define GET_OBJ(object_name)
gtk_builder_get_object(rmnews_news_dialog->builder, object_name)
+
+ static SoupSession *session;
++
++#if SOUP_MAJOR_VERSION < 3
++#define soup_message_get_status(message) message->status_code
++#define soup_message_get_response_headers(message) message->response_headers
++#endif
++
+ static const gchar *output_file_path = NULL;
+
+ static
+ const gchar *supported_mime_types[] = {
+ "x-scheme-handler/rdp",
+ "x-scheme-handler/spice",
+ "x-scheme-handler/vnc",
+ "x-scheme-handler/remmina",
+ "application/x-remmina",
+ NULL
+ };
+
+ gint eweekdays[7] = {
+ 86400,
+ 172800,
+ 259200,
+ 345600,
+ 432000,
+ 518400,
+ 604800
+ };
+
++
++#if SOUP_CHECK_VERSION (2, 99, 2)
++static void rmnews_on_stream_splice (GObject *source, GAsyncResult *result,
gpointer user_data)
++{
++ GError *error = NULL;
++ g_output_stream_splice_finish (G_OUTPUT_STREAM (source),
++ result,
++ &error);
++ if (error) {
++ g_printerr ("Failed to download: %s\n", error->message);
++ g_error_free (error);
++ return;
++ }
++
++}
++#endif
++
+ void rmnews_news_switch_state_set_cb()
+ {
+ TRACE_CALL(__func__);
+@@ -225,147 +248,219 @@ void rmnews_show_news(GtkWindow *parent)
+ gtk_window_set_modal(GTK_WINDOW(rmnews_news_dialog->dialog), TRUE);
+ }
+
++#if SOUP_CHECK_VERSION (2, 99, 2)
++static void rmnews_get_url_cb (GObject *source, GAsyncResult *result,
gpointer user_data)
++{
++ TRACE_CALL(__func__);
++ const char *name;
++ const char *header;
++ GFile *output_file;
++ gchar *filesha = NULL;
++ gchar *filesha_after = NULL;
++
++ GError *error = NULL;
++ GInputStream *in = soup_session_send_finish (SOUP_SESSION (source),
result, &error);
++
++ if (error) {
++ REMMINA_DEBUG ("Failed to send request: %s", error->message);
++ g_error_free (error);
++ return;
++ }
++
++ GDateTime *gdt = g_date_time_new_now_utc();
++ gint64 unixts = g_date_time_to_unix(gdt);
++ g_date_time_unref(gdt);
++
++ if (output_file_path) {
++ REMMINA_DEBUG("Calculating the SHA1 of the local file");
++ filesha = remmina_sha1_file(output_file_path);
++ REMMINA_DEBUG("SHA1 is %s", filesha);
++ if (filesha == NULL || filesha[0] == 0) filesha = "0\0";
++ REMMINA_DEBUG("Opening %s output file for writing",
output_file_path);
++ GFile *output_file = g_file_new_for_commandline_arg
(output_file_path);
++ GOutputStream *out = G_OUTPUT_STREAM (g_file_replace
(output_file, NULL, NULL,
++
G_FILE_CREATE_REPLACE_DESTINATION, NULL, &error));
++ if (error) {
++ REMMINA_DEBUG("Failed to create \"%s\": %s",
output_file_path, error->message);
++ remmina_pref.periodic_rmnews_last_get = unixts;
++ REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
++ REMMINA_DEBUG ("Saving preferences");
++ remmina_pref_save();
++ g_free(filesha); filesha = NULL;
++ g_error_free (error);
++ g_object_unref (in);
++ g_object_unref (output_file);
++ g_object_unref (out);
++ return;
++ }
++
++ /* Start downloading to the file */
++ // g_output_stream_splice_async (G_OUTPUT_STREAM (out), in,
++ // G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE |
G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
++ // G_PRIORITY_DEFAULT,
++ // NULL,
++ // rmnews_on_stream_splice,
++ // NULL);
++ g_output_stream_splice (G_OUTPUT_STREAM (out), in,
++ G_OUTPUT_STREAM_SPLICE_CLOSE_SOURCE |
G_OUTPUT_STREAM_SPLICE_CLOSE_TARGET,
++ NULL,
++ &error);
++
++ if (error) {
++ REMMINA_DEBUG ("Failed to download: %s",
error->message);
++ remmina_pref.periodic_rmnews_last_get = unixts;
++ REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
++ REMMINA_DEBUG ("Saving preferences");
++ remmina_pref_save();
++ g_free(filesha); filesha = NULL;
++ g_error_free (error);
++ g_object_unref (in);
++ g_object_unref (output_file);
++ g_object_unref (out);
++ return;
++ }
++
++
++ filesha_after = remmina_sha1_file(output_file_path);
++
++ REMMINA_DEBUG("SHA1 after download is %s", filesha_after);
++ if (g_strcmp0(filesha, filesha_after) != 0) {
++ REMMINA_DEBUG("SHA1 differs, we show the news and reset
the counter");
++ remmina_pref.periodic_rmnews_last_get = 0;
++ REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
++ REMMINA_DEBUG ("Saving preferences");
++ GtkWindow *parent = remmina_main_get_window();
++ if (!kioskmode && kioskmode == FALSE)
++ rmnews_show_news(parent);
++ } else {
++ remmina_pref.periodic_rmnews_last_get = unixts;
++ }
++ /* Increase counter with number of successful GETs */
++ remmina_pref.periodic_rmnews_get_count =
remmina_pref.periodic_rmnews_get_count + 1;
++ remmina_pref_save();
++ g_free(filesha); filesha = NULL;
++ g_object_unref (out);
++ } else {
++ REMMINA_DEBUG("Cannot open output file for writing, because
output_file_path is NULL");
++ remmina_pref.periodic_rmnews_last_get = unixts;
++ REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
++ REMMINA_DEBUG ("Saving preferences");
++ remmina_pref_save();
++ return;
++ }
++
++ g_object_unref (in);
++
++
++}
++#else
+ static void rmnews_get_url_cb(SoupSession *session, SoupMessage *msg,
gpointer data)
+ {
+ TRACE_CALL(__func__);
+ const char *name;
+ const char *header;
+- SoupBuffer *sb;
++ g_autoptr(SoupBuffer) sb;
+ FILE *output_file = NULL;
+ gchar *filesha = NULL;
+ gchar *filesha_after = NULL;
+ GDateTime *gdt;
+ gint64 unixts;
++ gint status;
+
+- REMMINA_DEBUG("Status code %d", msg->status_code);
++ status = soup_message_get_status(msg);
++ REMMINA_DEBUG("Status code %d", status);
+
+ name = soup_message_get_uri(msg)->path;
+
+ gdt = g_date_time_new_now_utc();
+ unixts = g_date_time_to_unix(gdt);
+ g_date_time_unref(gdt);
+
+- if (SOUP_STATUS_IS_CLIENT_ERROR(msg->status_code)) {
+- REMMINA_DEBUG("Status 404 - Release file not available");
+- remmina_pref.periodic_rmnews_last_get = unixts;
+- REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
+- REMMINA_DEBUG ("Saving preferences");
+- remmina_pref_save();
+- return;
+- }
+-
+- if (SOUP_STATUS_IS_SERVER_ERROR(msg->status_code)) {
+- REMMINA_DEBUG("Server not available");
+- remmina_pref.periodic_rmnews_last_get = unixts;
+- REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
+- REMMINA_DEBUG ("Saving preferences");
+- remmina_pref_save();
+- return;
+- }
+-
+- if (SOUP_STATUS_IS_TRANSPORT_ERROR(msg->status_code)) {
+- REMMINA_DEBUG("Transport Error");
+- remmina_pref.periodic_rmnews_last_get = unixts;
+- REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
+- REMMINA_DEBUG ("Saving preferences");
+- remmina_pref_save();
+- return;
+- }
+-
+- if (msg->status_code == SOUP_STATUS_SSL_FAILED) {
+- GTlsCertificateFlags flags;
+-
+- if (soup_message_get_https_status(msg, NULL, &flags))
+- REMMINA_DEBUG("%s: %d %s (0x%x)\n", name,
msg->status_code, msg->reason_phrase, flags);
+- else
+- REMMINA_DEBUG("%s: %d %s (no handshake status)\n",
name, msg->status_code, msg->reason_phrase);
+- remmina_pref.periodic_rmnews_last_get = unixts;
+- REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
+- REMMINA_DEBUG ("Saving preferences");
+- remmina_pref_save();
+- return;
+- } else if (SOUP_STATUS_IS_TRANSPORT_ERROR(msg->status_code)) {
+- REMMINA_DEBUG("%s: %d %s\n", name, msg->status_code,
msg->reason_phrase);
+- }
+-
+- if (SOUP_STATUS_IS_REDIRECTION(msg->status_code)) {
+- header = soup_message_headers_get_one(msg->response_headers,
++ if (SOUP_STATUS_IS_REDIRECTION(status)) {
++ header =
soup_message_headers_get_one(soup_message_get_response_headers(msg),
+ "Location");
+ REMMINA_DEBUG("Redirection detected");
+ if (header) {
+ SoupURI *uri;
+ char *uri_string;
+
+ REMMINA_DEBUG(" -> %s\n", header);
+
+ uri = soup_uri_new_with_base(soup_message_get_uri(msg),
header);
+ uri_string = soup_uri_to_string(uri, FALSE);
+ rmnews_get_url(uri_string);
+ g_free(uri_string);
+ soup_uri_free(uri);
+ }
+ remmina_pref.periodic_rmnews_last_get = unixts;
+ REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
+ REMMINA_DEBUG ("Saving preferences");
+ remmina_pref_save();
+ return;
+- } else if (SOUP_STATUS_IS_SUCCESSFUL(msg->status_code)) {
++ }
++
++ if (!SOUP_STATUS_IS_SUCCESSFUL(status)) {
++ REMMINA_DEBUG ("Could not access %s: %s", name ,
soup_status_get_phrase(status));
++ REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
++ REMMINA_DEBUG ("Saving preferences");
++ remmina_pref_save();
++ return;
++ } else {
+ REMMINA_DEBUG("Status 200");
+ if (output_file_path) {
+ REMMINA_DEBUG("Calculating the SHA1 of the local file");
+ filesha = remmina_sha1_file(output_file_path);
+ REMMINA_DEBUG("SHA1 is %s", filesha);
+- if (filesha == NULL || filesha[0] == 0)
+- filesha = "0\0";
++ if (filesha == NULL || filesha[0] == 0) filesha = "0\0";
+ REMMINA_DEBUG("Opening %s output file for writing",
output_file_path);
+ output_file = fopen(output_file_path, "w");
+ if (!output_file) {
+- g_printerr("Error trying to create file %s.\n",
output_file_path);
++ REMMINA_DEBUG("Error trying to create file
%s.", output_file_path);
+ remmina_pref.periodic_rmnews_last_get = unixts;
+ REMMINA_DEBUG ("periodic_rmnews_last_get set to
%ld", remmina_pref.periodic_rmnews_last_get);
+ REMMINA_DEBUG ("Saving preferences");
+ remmina_pref_save();
+ g_free(filesha); filesha = NULL;
+ return;
+ }
+ } else {
+ REMMINA_DEBUG("Cannot open output file for writing,
because output_file_path is NULL");
+ remmina_pref.periodic_rmnews_last_get = unixts;
+ REMMINA_DEBUG ("periodic_rmnews_last_get set to %ld",
remmina_pref.periodic_rmnews_last_get);
+ REMMINA_DEBUG ("Saving preferences");
+ remmina_pref_save();
+ return;
+ }
+-
+-
+ sb = soup_message_body_flatten(msg->response_body);
+ if (output_file) {
+ fwrite(sb->data, 1, sb->length, output_file);
+
+ if (output_file_path) {
+ fclose(output_file);
+ filesha_after =
remmina_sha1_file(output_file_path);
+ }
+ REMMINA_DEBUG("SHA1 after download is %s",
filesha_after);
+ if (g_strcmp0(filesha, filesha_after) != 0) {
+ REMMINA_DEBUG("SHA1 differs, we show the news
and reset the counter");
+ remmina_pref.periodic_rmnews_last_get = 0;
+ REMMINA_DEBUG ("periodic_rmnews_last_get set to
%ld", remmina_pref.periodic_rmnews_last_get);
+ REMMINA_DEBUG ("Saving preferences");
+ GtkWindow *parent = remmina_main_get_window();
+ if (!kioskmode && kioskmode == FALSE)
+ rmnews_show_news(parent);
+ } else {
+ remmina_pref.periodic_rmnews_last_get = unixts;
+ }
+ /* Increase counter with number of successful GETs */
+ remmina_pref.periodic_rmnews_get_count =
remmina_pref.periodic_rmnews_get_count + 1;
+ remmina_pref_save();
+ g_free(filesha); filesha = NULL;
+ }
+ }
++
+ g_object_unref(msg);
+ }
++#endif
+
+ /**
+ * Try to get a unique system+user ID to identify this remmina user
+@@ -417,8 +512,16 @@ void rmnews_get_url(const char *url)
+
+ REMMINA_DEBUG("Fetching %s", url);
+
++#if SOUP_CHECK_VERSION (2, 99, 2)
++ // Use soup_session_send_async or soup_session_send_and_read_async
++ soup_session_send_async ( session, msg, G_PRIORITY_DEFAULT,
++ NULL, // cancellable
++ rmnews_get_url_cb, // callback
++ NULL); // user_data
++#else
+ g_object_ref(msg);
+ soup_session_queue_message(session, msg, rmnews_get_url_cb, NULL);
++#endif
+ }
+
+ void rmnews_get_news()
+@@ -466,14 +569,25 @@ void rmnews_get_news()
+ }
+
+ REMMINA_DEBUG("Gathering news");
++ /* Build the session with all of the features we need */
++ session = soup_session_new_with_options ("user-agent", "get ",
++ "accept-language-auto", TRUE,
++ "timeout", 15,
++ NULL);
++
++#if SOUP_CHECK_VERSION (2, 99, 2)
++ soup_session_add_feature_by_type (session, SOUP_TYPE_COOKIE_JAR);
++ logger = soup_logger_new(SOUP_LOGGER_LOG_NONE);
++#else
+ session = g_object_new(SOUP_TYPE_SESSION,
+ SOUP_SESSION_ADD_FEATURE_BY_TYPE,
SOUP_TYPE_CONTENT_DECODER,
+ SOUP_SESSION_ADD_FEATURE_BY_TYPE,
SOUP_TYPE_COOKIE_JAR,
+ SOUP_SESSION_USER_AGENT, "get ",
+ SOUP_SESSION_ACCEPT_LANGUAGE_AUTO, TRUE,
+ NULL);
+- /* TODO: Catch log level and set SOUP_LOGGER_LOG_MINIMAL or more */
+ logger = soup_logger_new(SOUP_LOGGER_LOG_NONE, -1);
++#endif
++ /* TODO: Catch log level and set SOUP_LOGGER_LOG_MINIMAL or more */
+ soup_session_add_feature(session, SOUP_SESSION_FEATURE(logger));
+ g_object_unref(logger);
+
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2022-12-03 18:04:03 UTC (rev 1356378)
+++ PKGBUILD 2022-12-03 18:04:49 UTC (rev 1356379)
@@ -1,53 +0,0 @@
-# Maintainer: Sergej Pupykin <[email protected]>
-
-pkgname=remmina
-epoch=1
-pkgver=1.4.27
-pkgrel=4
-pkgdesc="remote desktop client written in GTK+"
-url="https://www.remmina.org/"
-arch=('x86_64')
-license=('GPL')
-depends=('avahi' 'libgcrypt' 'libssh' 'vte3' 'libsodium'
'libappindicator-gtk3' 'libsoup3')
-makedepends=('cmake' 'freerdp' 'libvncserver' 'spice-gtk' 'spice-protocol'
- 'harfbuzz' 'xorgproto' 'gobject-introspection' 'kwallet'
- 'webkit2gtk-4.1' 'gtk-vnc' 'ninja')
-optdepends=('freerdp: RDP plugin'
- 'libsecret: Secret plugin'
- 'libvncserver: VNC plugin'
- 'spice-gtk: Spice plugin'
-# 'pyhoca-cli: X2Go plugin'
- 'webkit2gtk-4.1: WWW plugin'
- 'gtk-vnc: GVNC plugin'
- 'kwallet: kwallet plugin'
- 'gnome-terminal: external tools')
-replaces=('remmina-plugins')
-provides=('remmina-plugins')
-options=('debug')
-source=("$pkgname-$pkgver.tar.bz2::https://gitlab.com/Remmina/Remmina/-/archive/v${pkgver/rc/-rc}/Remmina-v${pkgver/rc/-rc}.tar.bz2"
- '0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch')
-sha512sums=('44bc067eaf2c4c10e42182aa7c3ec2aa18ec5c0ce51a2fc765884cbfc11261d3c0db537b1674424aa092caf171e647714dcc8af6d813273f7b96876a251e0575'
-
'bcdf834a2506e1ad11b313956cc68726711086fb70a4b2f59c1082f4dc2274f0fa77d2fad94b55afe35ef384f498cc600c129f3945c9ae28bc9d9f277c1419c4')
-
-prepare() {
- cd Remmina-v${pkgver/rc/-rc}
-
- # We require libsoup 3.0 because of spice-gtk
- patch -Np1 -i
../0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch
-}
-
-build() {
- cmake -S Remmina-v${pkgver/rc/-rc} -B build -G Ninja \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=/usr/lib \
- -DWITH_APPINDICATOR=ON \
- -DWITH_NEWS=OFF \
- -DWITH_KF5WALLET=ON \
- -DWITH_X2GO=ON \
- -DWITH_GVNC=ON
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
Copied: remmina/repos/community-x86_64/PKGBUILD (from rev 1356378,
remmina/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2022-12-03 18:04:49 UTC (rev 1356379)
@@ -0,0 +1,53 @@
+# Maintainer: Sergej Pupykin <[email protected]>
+
+pkgname=remmina
+epoch=1
+pkgver=1.4.28
+pkgrel=1
+pkgdesc="remote desktop client written in GTK+"
+url="https://www.remmina.org/"
+arch=('x86_64')
+license=('GPL')
+depends=('avahi' 'libgcrypt' 'libssh' 'vte3' 'libsodium'
'libappindicator-gtk3' 'libsoup3')
+makedepends=('cmake' 'freerdp' 'libvncserver' 'spice-gtk' 'spice-protocol'
+ 'harfbuzz' 'xorgproto' 'gobject-introspection' 'kwallet'
+ 'webkit2gtk-4.1' 'gtk-vnc' 'ninja')
+optdepends=('freerdp: RDP plugin'
+ 'libsecret: Secret plugin'
+ 'libvncserver: VNC plugin'
+ 'spice-gtk: Spice plugin'
+# 'pyhoca-cli: X2Go plugin'
+ 'webkit2gtk-4.1: WWW plugin'
+ 'gtk-vnc: GVNC plugin'
+ 'kwallet: kwallet plugin'
+ 'gnome-terminal: external tools')
+replaces=('remmina-plugins')
+provides=('remmina-plugins')
+options=('debug')
+source=("$pkgname-$pkgver.tar.bz2::https://gitlab.com/Remmina/Remmina/-/archive/v${pkgver/rc/-rc}/Remmina-v${pkgver/rc/-rc}.tar.bz2"
+ '0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch')
+sha512sums=('a144f90a9c300f0c5dcd9ab01d1ab323874ef3373dc95d8c62eb36821ef73318d0e0334431fa7cdddb5bef8bfc3838bb609f5c8179d36b19950f203653601482'
+
'bcdf834a2506e1ad11b313956cc68726711086fb70a4b2f59c1082f4dc2274f0fa77d2fad94b55afe35ef384f498cc600c129f3945c9ae28bc9d9f277c1419c4')
+
+prepare() {
+ cd Remmina-v${pkgver/rc/-rc}
+
+ # We require libsoup 3.0 because of spice-gtk
+# patch -Np1 -i
../0001-Multiple-changes-to-build-and-run-with-libsoup-3.0.patch
+}
+
+build() {
+ cmake -S Remmina-v${pkgver/rc/-rc} -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DWITH_APPINDICATOR=ON \
+ -DWITH_NEWS=OFF \
+ -DWITH_KF5WALLET=ON \
+ -DWITH_X2GO=ON \
+ -DWITH_GVNC=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}