diff --git a/gvsbuild/patches/libadwaita/0001-remove-appstream-dependency.patch b/gvsbuild/patches/libadwaita/0001-remove-appstream-dependency.patch
index fbf80e5a0..7c652483e 100644
--- a/gvsbuild/patches/libadwaita/0001-remove-appstream-dependency.patch
+++ b/gvsbuild/patches/libadwaita/0001-remove-appstream-dependency.patch
@@ -1,283 +1,23 @@
Subject: [PATCH] Remove appstream
---
-Index: tests/org.gnome.Adwaita1.Test.metainfo.xml
-===================================================================
-diff --git a/tests/org.gnome.Adwaita1.Test.metainfo.xml b/tests/org.gnome.Adwaita1.Test.metainfo.xml
-deleted file mode 100644
---- a/tests/org.gnome.Adwaita1.Test.metainfo.xml (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ /dev/null (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-@@ -1,29 +0,0 @@
--
--
-- org.gnome.Adwaita1.Test
-- CC0-1.0
-- LGPL-2.1-or-later
-- org.gnome.Adwaita1.Test.desktop
-- The GNOME Project
--
-- Adwaita Test
--
--
--
--
-- Testing Build
--
--
--
--
-- Testing Build Older
--
--
--
--
-- GNOME
--
-- https://gitlab.gnome.org/GNOME/libadwaita
-- https://gitlab.gnome.org/GNOME/libadwaita/issues
-- http://www.gnome.org/friends/
--
-Index: tests/tests.gresources.xml
-===================================================================
-diff --git a/tests/tests.gresources.xml b/tests/tests.gresources.xml
-deleted file mode 100644
---- a/tests/tests.gresources.xml (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ /dev/null (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-@@ -1,6 +0,0 @@
--
--
--
-- org.gnome.Adwaita1.Test.metainfo.xml
--
--
-Index: tests/test-about-window.c
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/tests/test-about-window.c b/tests/test-about-window.c
---- a/tests/test-about-window.c (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ b/tests/test-about-window.c (date 1726337776197)
-@@ -8,49 +8,6 @@
-
- #include
-
--#include "adwaita-test-resources.h"
--
--static void
--test_adw_about_window_from_appdata (void)
--{
-- AdwAboutWindow *window = ADW_ABOUT_WINDOW (adw_about_window_new_from_appdata ("/org/gnome/Adwaita1/Test/org.gnome.Adwaita1.Test.metainfo.xml", "1.0"));
--
-- g_assert_nonnull (window);
--
-- g_assert_cmpstr (adw_about_window_get_release_notes (window), ==, "Testing Build
\n");
-- g_assert_cmpstr (adw_about_window_get_release_notes_version (window), ==, "1.0");
-- g_assert_cmpstr (adw_about_window_get_version (window), ==, "1.0");
-- g_assert_cmpstr (adw_about_window_get_application_icon (window), ==, "org.gnome.Adwaita1.Test");
-- g_assert_cmpstr (adw_about_window_get_application_name (window), ==, "Adwaita Test");
-- g_assert_cmpstr (adw_about_window_get_developer_name (window), ==, "The GNOME Project");
-- g_assert_cmpstr (adw_about_window_get_issue_url (window), ==, "https://gitlab.gnome.org/GNOME/libadwaita/issues");
-- g_assert_cmpstr (adw_about_window_get_support_url (window), ==, "http://www.gnome.org/friends/");
-- g_assert_cmpstr (adw_about_window_get_website (window), ==, "https://gitlab.gnome.org/GNOME/libadwaita");
-- g_assert_cmpuint (adw_about_window_get_license_type (window), ==, GTK_LICENSE_LGPL_2_1);
--
-- g_assert_finalize_object (window);
--
-- window = ADW_ABOUT_WINDOW (adw_about_window_new_from_appdata ("/org/gnome/Adwaita1/Test/org.gnome.Adwaita1.Test.metainfo.xml", "0.1"));
--
-- g_assert_nonnull (window);
--
-- g_assert_cmpstr (adw_about_window_get_release_notes (window), ==, "Testing Build Older
\n");
-- g_assert_cmpstr (adw_about_window_get_release_notes_version (window), ==, "0.1");
-- g_assert_cmpstr (adw_about_window_get_version (window), ==, "1.0");
--
-- g_assert_finalize_object (window);
--
-- window = ADW_ABOUT_WINDOW (adw_about_window_new_from_appdata ("/org/gnome/Adwaita1/Test/org.gnome.Adwaita1.Test.metainfo.xml", NULL));
--
-- g_assert_nonnull (window);
--
-- g_assert_cmpstr (adw_about_window_get_release_notes (window), ==, "");
-- g_assert_cmpstr (adw_about_window_get_release_notes_version (window), ==, "");
-- g_assert_cmpstr (adw_about_window_get_version (window), ==, "1.0");
--
-- g_assert_finalize_object (window);
--}
--
- static void
- test_adw_about_window_create (void)
- {
-@@ -143,16 +100,10 @@
- main (int argc,
- char *argv[])
- {
-- GResource *test_resources;
--
- gtk_test_init (&argc, &argv, NULL);
- adw_init ();
-
-- test_resources = test_get_resource ();
-- g_resources_register (test_resources);
--
- g_test_add_func ("/Adwaita/AboutWindow/create", test_adw_about_window_create);
-- g_test_add_func ("/Adwaita/AboutWindow/from_appdata", test_adw_about_window_from_appdata);
-
- return g_test_run ();
- }
-Index: src/adw-about-window.h
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/src/adw-about-window.h b/src/adw-about-window.h
---- a/src/adw-about-window.h (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ b/src/adw-about-window.h (date 1726337776087)
-@@ -25,10 +25,6 @@
- ADW_DEPRECATED_IN_1_6_FOR(adw_about_dialog_new)
- GtkWidget *adw_about_window_new (void) G_GNUC_WARN_UNUSED_RESULT;
-
--ADW_DEPRECATED_IN_1_6_FOR(adw_about_dialog_new_from_appdata)
--GtkWidget *adw_about_window_new_from_appdata (const char *resource_path,
-- const char *release_notes_version) G_GNUC_WARN_UNUSED_RESULT;
--
- ADW_DEPRECATED_IN_1_6_FOR(adw_about_dialog_get_application_name)
- const char *adw_about_window_get_application_name (AdwAboutWindow *self);
- ADW_DEPRECATED_IN_1_6_FOR(adw_about_dialog_set_application_name)
-@@ -175,12 +171,5 @@
- void adw_show_about_window (GtkWindow *parent,
- const char *first_property_name,
- ...) G_GNUC_NULL_TERMINATED;
--
--ADW_DEPRECATED_IN_1_6_FOR(adw_show_about_dialog_from_appdata)
--void adw_show_about_window_from_appdata (GtkWindow *parent,
-- const char *resource_path,
-- const char *release_notes_version,
-- const char *first_property_name,
-- ...) G_GNUC_NULL_TERMINATED;
-
- G_END_DECLS
-Index: src/meson.build
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/src/meson.build b/src/meson.build
---- a/src/meson.build (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ b/src/meson.build (date 1726337776130)
-@@ -302,20 +302,12 @@
-
- gio_dep = dependency('gio-2.0', version: glib_min_version)
- gtk_dep = dependency('gtk4', version: gtk_min_version)
--appstream_dep = dependency('appstream',
-- fallback : ['appstream', 'appstream_dep'],
-- default_options : [
-- 'systemd=false', 'apidocs=false', 'install-docs=false',
-- 'stemming=false', 'svg-support=false', 'gir=false',
-- ],
--)
-
- libadwaita_deps = [
- dependency('glib-2.0', version: glib_min_version),
- dependency('fribidi'),
- gio_dep,
- gtk_dep,
-- appstream_dep,
- cc.find_library('m', required: false),
- ]
-
-Index: tests/test-about-dialog.c
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/tests/test-about-dialog.c b/tests/test-about-dialog.c
---- a/tests/test-about-dialog.c (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ b/tests/test-about-dialog.c (date 1726337776184)
-@@ -9,49 +9,6 @@
-
- #include
-
--#include "adwaita-test-resources.h"
--
--static void
--test_adw_about_dialog_from_appdata (void)
--{
-- AdwAboutDialog *dialog = g_object_ref_sink (ADW_ABOUT_DIALOG (adw_about_dialog_new_from_appdata ("/org/gnome/Adwaita1/Test/org.gnome.Adwaita1.Test.metainfo.xml", "1.0")));
--
-- g_assert_nonnull (dialog);
--
-- g_assert_cmpstr (adw_about_dialog_get_release_notes (dialog), ==, "Testing Build
\n");
-- g_assert_cmpstr (adw_about_dialog_get_release_notes_version (dialog), ==, "1.0");
-- g_assert_cmpstr (adw_about_dialog_get_version (dialog), ==, "1.0");
-- g_assert_cmpstr (adw_about_dialog_get_application_icon (dialog), ==, "org.gnome.Adwaita1.Test");
-- g_assert_cmpstr (adw_about_dialog_get_application_name (dialog), ==, "Adwaita Test");
-- g_assert_cmpstr (adw_about_dialog_get_developer_name (dialog), ==, "The GNOME Project");
-- g_assert_cmpstr (adw_about_dialog_get_issue_url (dialog), ==, "https://gitlab.gnome.org/GNOME/libadwaita/issues");
-- g_assert_cmpstr (adw_about_dialog_get_support_url (dialog), ==, "http://www.gnome.org/friends/");
-- g_assert_cmpstr (adw_about_dialog_get_website (dialog), ==, "https://gitlab.gnome.org/GNOME/libadwaita");
-- g_assert_cmpuint (adw_about_dialog_get_license_type (dialog), ==, GTK_LICENSE_LGPL_2_1);
--
-- g_assert_finalize_object (dialog);
--
-- dialog = g_object_ref_sink (ADW_ABOUT_DIALOG (adw_about_dialog_new_from_appdata ("/org/gnome/Adwaita1/Test/org.gnome.Adwaita1.Test.metainfo.xml", "0.1")));
--
-- g_assert_nonnull (dialog);
--
-- g_assert_cmpstr (adw_about_dialog_get_release_notes (dialog), ==, "Testing Build Older
\n");
-- g_assert_cmpstr (adw_about_dialog_get_release_notes_version (dialog), ==, "0.1");
-- g_assert_cmpstr (adw_about_dialog_get_version (dialog), ==, "1.0");
--
-- g_assert_finalize_object (dialog);
--
-- dialog = g_object_ref_sink (ADW_ABOUT_DIALOG (adw_about_dialog_new_from_appdata ("/org/gnome/Adwaita1/Test/org.gnome.Adwaita1.Test.metainfo.xml", NULL)));
--
-- g_assert_nonnull (dialog);
--
-- g_assert_cmpstr (adw_about_dialog_get_release_notes (dialog), ==, "");
-- g_assert_cmpstr (adw_about_dialog_get_release_notes_version (dialog), ==, "");
-- g_assert_cmpstr (adw_about_dialog_get_version (dialog), ==, "1.0");
--
-- g_assert_finalize_object (dialog);
--}
--
- static void
- test_adw_about_dialog_create (void)
- {
-@@ -144,16 +101,10 @@
- main (int argc,
- char *argv[])
- {
-- GResource *test_resources;
--
- gtk_test_init (&argc, &argv, NULL);
- adw_init ();
-
-- test_resources = test_get_resource ();
-- g_resources_register (test_resources);
--
- g_test_add_func ("/Adwaita/AboutDialog/create", test_adw_about_dialog_create);
-- g_test_add_func ("/Adwaita/AboutDialog/from_appdata", test_adw_about_dialog_from_appdata);
-
- return g_test_run ();
- }
-Index: src/adw-about-window.c
+Index: src/adw-about-dialog.c
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
-diff --git a/src/adw-about-window.c b/src/adw-about-window.c
---- a/src/adw-about-window.c (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ b/src/adw-about-window.c (date 1726342004953)
-@@ -6,7 +6,6 @@
+diff --git a/src/adw-about-dialog.c b/src/adw-about-dialog.c
+--- a/src/adw-about-dialog.c (revision dc7327fcc11cff0f1d4062ae187a501cdf93cb31)
++++ b/src/adw-about-dialog.c (date 1762917253654)
+@@ -7,7 +7,6 @@
#include "config.h"
#include
-#include
- #include "adw-about-window.h"
+ #include "adw-about-dialog.h"
-@@ -421,13 +420,6 @@
- g_idle_add_once ((GSourceOnceFunc) legal_showing_idle_cb, self);
+@@ -431,13 +430,6 @@
+ self->legal_showing_idle_id = 0;
}
-static gboolean
@@ -288,49 +28,48 @@ diff --git a/src/adw-about-window.c b/src/adw-about-window.c
-}
-
static void
- update_credits_legal_group (AdwAboutWindow *self)
+ update_credits_legal_group (AdwAboutDialog *self)
{
-@@ -1986,189 +1978,6 @@
- return g_object_new (ADW_TYPE_ABOUT_WINDOW, NULL);
+@@ -1979,188 +1971,6 @@
+ return g_object_new (ADW_TYPE_ABOUT_DIALOG, NULL);
}
-/**
-- * adw_about_window_new_from_appdata:
+- * adw_about_dialog_new_from_appdata:
- * @resource_path: The resource to use
- * @release_notes_version: (nullable): The version to retrieve release notes for
- *
-- * Creates a new `AdwAboutWindow` using AppStream metadata.
+- * Creates a new `AdwAboutDialog` using AppStream metadata.
- *
- * This automatically sets the following properties with the following AppStream
- * values:
- *
-- * * [property@AboutWindow:application-icon] is set from the ``
-- * * [property@AboutWindow:application-name] is set from the ``
-- * * [property@AboutWindow:developer-name] is set from the `` within
+- * * [property@AboutDialog:application-icon] is set from the ``
+- * * [property@AboutDialog:application-name] is set from the ``
+- * * [property@AboutDialog:developer-name] is set from the `` within
- * ``
-- * * [property@AboutWindow:version] is set from the version of the latest release
-- * * [property@AboutWindow:website] is set from the ``
-- * * [property@AboutWindow:support-url] is set from the ``
-- * * [property@AboutWindow:issue-url] is set from the ``
-- * * [property@AboutWindow:license-type] is set from the ``.
+- * * [property@AboutDialog:version] is set from the version of the latest release
+- * * [property@AboutDialog:website] is set from the ``
+- * * [property@AboutDialog:support-url] is set from the ``
+- * * [property@AboutDialog:issue-url] is set from the ``
+- * * [property@AboutDialog:license-type] is set from the ``.
- * If the license type retrieved from AppStream is not listed in
- * [enum@Gtk.License], it will be set to `GTK_LICENCE_CUSTOM`.
- *
- * If @release_notes_version is not `NULL`,
-- * [property@AboutWindow:release-notes-version] is set to match it, while
-- * [property@AboutWindow:release-notes] is set from the AppStream release
+- * [property@AboutDialog:release-notes-version] is set to match it, while
+- * [property@AboutDialog:release-notes] is set from the AppStream release
- * description for that version.
- *
-- * Returns: the newly created `AdwAboutWindow`
+- * Returns: the newly created `AdwAboutDialog`
- *
-- * Since: 1.4
-- * Deprecated: 1.6: Use [class@AboutDialog].
+- * Since: 1.5
- */
--GtkWidget *
--adw_about_window_new_from_appdata (const char *resource_path,
+-AdwDialog *
+-adw_about_dialog_new_from_appdata (const char *resource_path,
- const char *release_notes_version)
-{
-- AdwAboutWindow *self;
+- AdwAboutDialog *self;
- GFile *appdata_file;
- char *appdata_uri;
- AsMetadata *metadata;
@@ -346,7 +85,7 @@ diff --git a/src/adw-about-window.c b/src/adw-about-window.c
- appdata_uri = g_strconcat ("resource://", resource_path, NULL);
- appdata_file = g_file_new_for_uri (appdata_uri);
-
-- self = ADW_ABOUT_WINDOW (adw_about_window_new ());
+- self = ADW_ABOUT_DIALOG (adw_about_dialog_new ());
- metadata = as_metadata_new ();
-
- if (!as_metadata_parse_file (metadata, appdata_file, AS_FORMAT_KIND_UNKNOWN, &error)) {
@@ -402,8 +141,8 @@ diff --git a/src/adw-about-window.c b/src/adw-about-window.c
- version = as_release_get_version (notes_release);
-
- if (release_notes && version) {
-- adw_about_window_set_release_notes (self, release_notes);
-- adw_about_window_set_release_notes_version (self, version);
+- adw_about_dialog_set_release_notes (self, release_notes);
+- adw_about_dialog_set_release_notes_version (self, version);
- }
- } else {
- g_critical ("No valid release found for version %s", release_notes_version);
@@ -415,7 +154,7 @@ diff --git a/src/adw-about-window.c b/src/adw-about-window.c
- const char *version = as_release_get_version (latest_release);
-
- if (version)
-- adw_about_window_set_version (self, version);
+- adw_about_dialog_set_version (self, version);
- }
-
- name = as_component_get_name (component);
@@ -430,20 +169,20 @@ diff --git a/src/adw-about-window.c b/src/adw-about-window.c
- developer_name = as_component_get_developer_name (component);
-#endif
-
-- adw_about_window_set_application_icon (self, application_id);
+- adw_about_dialog_set_application_icon (self, application_id);
-
- if (name)
-- adw_about_window_set_application_name (self, name);
+- adw_about_dialog_set_application_name (self, name);
-
- if (developer_name)
-- adw_about_window_set_developer_name (self, developer_name);
+- adw_about_dialog_set_developer_name (self, developer_name);
-
- if (project_license) {
- int i;
-
- for (i = 0; i < G_N_ELEMENTS (gtk_license_info); i++) {
- if (g_strcmp0 (gtk_license_info[i].spdx_id, project_license) == 0) {
-- adw_about_window_set_license_type (self, (GtkLicense) i);
+- adw_about_dialog_set_license_type (self, (GtkLicense) i);
- break;
- }
- }
@@ -451,138 +190,128 @@ diff --git a/src/adw-about-window.c b/src/adw-about-window.c
- /* Handle deprecated SPDX IDs */
- for (i = 0; i < G_N_ELEMENTS (license_aliases); i++) {
- if (g_strcmp0 (license_aliases[i].spdx_id, project_license) == 0) {
-- adw_about_window_set_license_type (self, license_aliases[i].license);
+- adw_about_dialog_set_license_type (self, license_aliases[i].license);
- break;
- }
- }
-
-- if (adw_about_window_get_license_type (self) == GTK_LICENSE_UNKNOWN)
-- adw_about_window_set_license_type (self, GTK_LICENSE_CUSTOM);
+- if (adw_about_dialog_get_license_type (self) == GTK_LICENSE_UNKNOWN)
+- adw_about_dialog_set_license_type (self, GTK_LICENSE_CUSTOM);
- }
-
- if (issue_url)
-- adw_about_window_set_issue_url (self, issue_url);
+- adw_about_dialog_set_issue_url (self, issue_url);
-
- if (support_url)
-- adw_about_window_set_support_url (self, support_url);
+- adw_about_dialog_set_support_url (self, support_url);
-
- if (website_url)
-- adw_about_window_set_website (self, website_url);
+- adw_about_dialog_set_website (self, website_url);
-
- g_object_unref (appdata_file);
- g_object_unref (metadata);
- g_free (application_id);
- g_free (appdata_uri);
-
-- return GTK_WIDGET (self);
+- return ADW_DIALOG (self);
-}
-
/**
- * adw_about_window_get_application_icon:
- * @self: an about window
-@@ -3511,43 +3320,3 @@
+ * adw_about_dialog_get_application_icon:
+ * @self: an about dialog
+@@ -3536,42 +3346,3 @@
- gtk_window_present (GTK_WINDOW (window));
+ adw_dialog_present (dialog, parent);
}
-
-/**
-- * adw_show_about_window_from_appdata: (skip)
-- * @parent: (nullable): the parent top-level window
+- * adw_show_about_dialog_from_appdata: (skip)
+- * @parent: the parent widget
- * @resource_path: The resource to use
- * @release_notes_version: (nullable): The version to retrieve release notes for
- * @first_property_name: the name of the first property
- * @...: value of first property, followed by more pairs of property name and
- * value, `NULL`-terminated
- *
-- * A convenience function for showing an application’s about window from
+- * A convenience function for showing an application’s about dialog from
- * AppStream metadata.
- *
-- * See [ctor@AboutWindow.new_from_appdata] for details.
+- * See [ctor@AboutDialog.new_from_appdata] for details.
- *
-- * Since: 1.4
-- * Deprecated: 1.6: Use [func@show_about_dialog_from_appdata].
+- * Since: 1.5
- */
-void
--adw_show_about_window_from_appdata (GtkWindow *parent,
+-adw_show_about_dialog_from_appdata (GtkWidget *parent,
- const char *resource_path,
- const char *release_notes_version,
- const char *first_property_name,
- ...)
-{
-- GtkWidget *window;
+- AdwDialog *dialog;
- va_list var_args;
-
-- window = adw_about_window_new_from_appdata (resource_path,
+- g_return_if_fail (GTK_IS_WIDGET (parent));
+-
+- dialog = adw_about_dialog_new_from_appdata (resource_path,
- release_notes_version);
-
- va_start (var_args, first_property_name);
-- g_object_set_valist (G_OBJECT (window), first_property_name, var_args);
+- g_object_set_valist (G_OBJECT (dialog), first_property_name, var_args);
- va_end (var_args);
-
-- if (parent)
-- gtk_window_set_transient_for (GTK_WINDOW (window), parent);
--
-- gtk_window_present (GTK_WINDOW (window));
+- adw_dialog_present (dialog, parent);
-}
-Index: demo/adwaita-demo.gresources.xml
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/demo/adwaita-demo.gresources.xml b/demo/adwaita-demo.gresources.xml
---- a/demo/adwaita-demo.gresources.xml (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ b/demo/adwaita-demo.gresources.xml (date 1726337208007)
-@@ -3,7 +3,6 @@
-
- data/org.gnome.Adwaita1.Demo.svg
- data/org.gnome.Adwaita1.Demo-symbolic.svg
-- data/org.gnome.Adwaita1.Demo.metainfo.xml
- icons/scalable/actions/avatar-delete-symbolic.svg
- icons/scalable/actions/avatar-save-symbolic.svg
- icons/scalable/actions/clock-alarm-symbolic.svg
-Index: demo/meson.build
+-
+Index: src/adw-about-window.h
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
-diff --git a/demo/meson.build b/demo/meson.build
---- a/demo/meson.build (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ b/demo/meson.build (date 1726337208016)
-@@ -3,7 +3,6 @@
- subdir('data')
-
- demo_config_data = configuration_data()
--demo_config_data.set_quoted('ADW_METAINFO', appstream_file.full_path())
- demo_config_data.set_quoted('ADW_DEMO_VCS_TAG', '@VCS_TAG@')
-
- demo_config_h = vcs_tag(
-@@ -19,8 +18,6 @@
- 'adwaita-demo.gresources.xml',
+diff --git a/src/adw-about-window.h b/src/adw-about-window.h
+--- a/src/adw-about-window.h (revision dc7327fcc11cff0f1d4062ae187a501cdf93cb31)
++++ b/src/adw-about-window.h (date 1762917253640)
+@@ -25,10 +25,6 @@
+ ADW_DEPRECATED_IN_1_6_FOR(adw_about_dialog_new)
+ GtkWidget *adw_about_window_new (void) G_GNUC_WARN_UNUSED_RESULT;
- c_name: 'adw',
-- dependencies: appstream_file,
-- source_dir: meson.current_build_dir(),
- )
+-ADW_DEPRECATED_IN_1_6_FOR(adw_about_dialog_new_from_appdata)
+-GtkWidget *adw_about_window_new_from_appdata (const char *resource_path,
+- const char *release_notes_version) G_GNUC_WARN_UNUSED_RESULT;
+-
+ ADW_DEPRECATED_IN_1_6_FOR(adw_about_dialog_get_application_name)
+ const char *adw_about_window_get_application_name (AdwAboutWindow *self);
+ ADW_DEPRECATED_IN_1_6_FOR(adw_about_dialog_set_application_name)
+@@ -175,12 +171,5 @@
+ void adw_show_about_window (GtkWindow *parent,
+ const char *first_property_name,
+ ...) G_GNUC_NULL_TERMINATED;
+-
+-ADW_DEPRECATED_IN_1_6_FOR(adw_show_about_dialog_from_appdata)
+-void adw_show_about_window_from_appdata (GtkWindow *parent,
+- const char *resource_path,
+- const char *release_notes_version,
+- const char *first_property_name,
+- ...) G_GNUC_NULL_TERMINATED;
- adwaita_demo_sources = [
-Index: src/adw-about-dialog.c
+ G_END_DECLS
+Index: src/adw-about-window.c
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
-diff --git a/src/adw-about-dialog.c b/src/adw-about-dialog.c
---- a/src/adw-about-dialog.c (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ b/src/adw-about-dialog.c (date 1726337233258)
-@@ -7,7 +7,6 @@
+diff --git a/src/adw-about-window.c b/src/adw-about-window.c
+--- a/src/adw-about-window.c (revision dc7327fcc11cff0f1d4062ae187a501cdf93cb31)
++++ b/src/adw-about-window.c (date 1762917253640)
+@@ -6,7 +6,6 @@
#include "config.h"
#include
-#include
- #include "adw-about-dialog.h"
+ #include "adw-about-window.h"
-@@ -422,13 +421,6 @@
- self->legal_showing_idle_id = 0;
+@@ -423,13 +422,6 @@
+ g_idle_add_once ((GSourceOnceFunc) legal_showing_idle_cb, self);
}
-static gboolean
@@ -593,48 +322,49 @@ diff --git a/src/adw-about-dialog.c b/src/adw-about-dialog.c
-}
-
static void
- update_credits_legal_group (AdwAboutDialog *self)
+ update_credits_legal_group (AdwAboutWindow *self)
{
-@@ -1964,188 +1956,6 @@
- return g_object_new (ADW_TYPE_ABOUT_DIALOG, NULL);
+@@ -1992,188 +1984,6 @@
+ return g_object_new (ADW_TYPE_ABOUT_WINDOW, NULL);
}
-/**
-- * adw_about_dialog_new_from_appdata:
+- * adw_about_window_new_from_appdata:
- * @resource_path: The resource to use
- * @release_notes_version: (nullable): The version to retrieve release notes for
- *
-- * Creates a new `AdwAboutDialog` using AppStream metadata.
+- * Creates a new `AdwAboutWindow` using AppStream metadata.
- *
- * This automatically sets the following properties with the following AppStream
- * values:
- *
-- * * [property@AboutDialog:application-icon] is set from the ``
-- * * [property@AboutDialog:application-name] is set from the ``
-- * * [property@AboutDialog:developer-name] is set from the `` within
+- * * [property@AboutWindow:application-icon] is set from the ``
+- * * [property@AboutWindow:application-name] is set from the ``
+- * * [property@AboutWindow:developer-name] is set from the `` within
- * ``
-- * * [property@AboutDialog:version] is set from the version of the latest release
-- * * [property@AboutDialog:website] is set from the ``
-- * * [property@AboutDialog:support-url] is set from the ``
-- * * [property@AboutDialog:issue-url] is set from the ``
-- * * [property@AboutDialog:license-type] is set from the ``.
+- * * [property@AboutWindow:version] is set from the version of the latest release
+- * * [property@AboutWindow:website] is set from the ``
+- * * [property@AboutWindow:support-url] is set from the ``
+- * * [property@AboutWindow:issue-url] is set from the ``
+- * * [property@AboutWindow:license-type] is set from the ``.
- * If the license type retrieved from AppStream is not listed in
- * [enum@Gtk.License], it will be set to `GTK_LICENCE_CUSTOM`.
- *
- * If @release_notes_version is not `NULL`,
-- * [property@AboutDialog:release-notes-version] is set to match it, while
-- * [property@AboutDialog:release-notes] is set from the AppStream release
+- * [property@AboutWindow:release-notes-version] is set to match it, while
+- * [property@AboutWindow:release-notes] is set from the AppStream release
- * description for that version.
- *
-- * Returns: the newly created `AdwAboutDialog`
+- * Returns: the newly created `AdwAboutWindow`
- *
-- * Since: 1.5
+- * Since: 1.4
+- * Deprecated: 1.6: Use [class@AboutDialog].
- */
--AdwDialog *
--adw_about_dialog_new_from_appdata (const char *resource_path,
+-GtkWidget *
+-adw_about_window_new_from_appdata (const char *resource_path,
- const char *release_notes_version)
-{
-- AdwAboutDialog *self;
+- AdwAboutWindow *self;
- GFile *appdata_file;
- char *appdata_uri;
- AsMetadata *metadata;
@@ -650,7 +380,7 @@ diff --git a/src/adw-about-dialog.c b/src/adw-about-dialog.c
- appdata_uri = g_strconcat ("resource://", resource_path, NULL);
- appdata_file = g_file_new_for_uri (appdata_uri);
-
-- self = ADW_ABOUT_DIALOG (adw_about_dialog_new ());
+- self = ADW_ABOUT_WINDOW (adw_about_window_new ());
- metadata = as_metadata_new ();
-
- if (!as_metadata_parse_file (metadata, appdata_file, AS_FORMAT_KIND_UNKNOWN, &error)) {
@@ -706,8 +436,8 @@ diff --git a/src/adw-about-dialog.c b/src/adw-about-dialog.c
- version = as_release_get_version (notes_release);
-
- if (release_notes && version) {
-- adw_about_dialog_set_release_notes (self, release_notes);
-- adw_about_dialog_set_release_notes_version (self, version);
+- adw_about_window_set_release_notes (self, release_notes);
+- adw_about_window_set_release_notes_version (self, version);
- }
- } else {
- g_critical ("No valid release found for version %s", release_notes_version);
@@ -719,7 +449,7 @@ diff --git a/src/adw-about-dialog.c b/src/adw-about-dialog.c
- const char *version = as_release_get_version (latest_release);
-
- if (version)
-- adw_about_dialog_set_version (self, version);
+- adw_about_window_set_version (self, version);
- }
-
- name = as_component_get_name (component);
@@ -734,20 +464,20 @@ diff --git a/src/adw-about-dialog.c b/src/adw-about-dialog.c
- developer_name = as_component_get_developer_name (component);
-#endif
-
-- adw_about_dialog_set_application_icon (self, application_id);
+- adw_about_window_set_application_icon (self, application_id);
-
- if (name)
-- adw_about_dialog_set_application_name (self, name);
+- adw_about_window_set_application_name (self, name);
-
- if (developer_name)
-- adw_about_dialog_set_developer_name (self, developer_name);
+- adw_about_window_set_developer_name (self, developer_name);
-
- if (project_license) {
- int i;
-
- for (i = 0; i < G_N_ELEMENTS (gtk_license_info); i++) {
- if (g_strcmp0 (gtk_license_info[i].spdx_id, project_license) == 0) {
-- adw_about_dialog_set_license_type (self, (GtkLicense) i);
+- adw_about_window_set_license_type (self, (GtkLicense) i);
- break;
- }
- }
@@ -755,215 +485,144 @@ diff --git a/src/adw-about-dialog.c b/src/adw-about-dialog.c
- /* Handle deprecated SPDX IDs */
- for (i = 0; i < G_N_ELEMENTS (license_aliases); i++) {
- if (g_strcmp0 (license_aliases[i].spdx_id, project_license) == 0) {
-- adw_about_dialog_set_license_type (self, license_aliases[i].license);
+- adw_about_window_set_license_type (self, license_aliases[i].license);
- break;
- }
- }
-
-- if (adw_about_dialog_get_license_type (self) == GTK_LICENSE_UNKNOWN)
-- adw_about_dialog_set_license_type (self, GTK_LICENSE_CUSTOM);
+- if (adw_about_window_get_license_type (self) == GTK_LICENSE_UNKNOWN)
+- adw_about_window_set_license_type (self, GTK_LICENSE_CUSTOM);
- }
-
- if (issue_url)
-- adw_about_dialog_set_issue_url (self, issue_url);
+- adw_about_window_set_issue_url (self, issue_url);
-
- if (support_url)
-- adw_about_dialog_set_support_url (self, support_url);
+- adw_about_window_set_support_url (self, support_url);
-
- if (website_url)
-- adw_about_dialog_set_website (self, website_url);
+- adw_about_window_set_website (self, website_url);
-
- g_object_unref (appdata_file);
- g_object_unref (metadata);
- g_free (application_id);
- g_free (appdata_uri);
-
-- return ADW_DIALOG (self);
+- return GTK_WIDGET (self);
-}
--
+
/**
- * adw_about_dialog_get_application_icon:
- * @self: an about dialog
-@@ -3440,43 +3250,4 @@
- g_object_set_valist (G_OBJECT (dialog), first_property_name, var_args);
- va_end (var_args);
+ * adw_about_window_get_application_icon:
+@@ -3519,42 +3329,3 @@
+ gtk_window_present (GTK_WINDOW (window));
+ }
-- adw_dialog_present (dialog, parent);
--}
--
-/**
-- * adw_show_about_dialog_from_appdata: (skip)
-- * @parent: the parent widget
+- * adw_show_about_window_from_appdata: (skip)
+- * @parent: (nullable): the parent top-level window
- * @resource_path: The resource to use
- * @release_notes_version: (nullable): The version to retrieve release notes for
- * @first_property_name: the name of the first property
- * @...: value of first property, followed by more pairs of property name and
- * value, `NULL`-terminated
- *
-- * A convenience function for showing an application’s about dialog from
+- * A convenience function for showing an application’s about window from
- * AppStream metadata.
- *
-- * See [ctor@AboutDialog.new_from_appdata] for details.
+- * See [ctor@AboutWindow.new_from_appdata] for details.
- *
-- * Since: 1.5
+- * Since: 1.4
+- * Deprecated: 1.6: Use [func@show_about_dialog_from_appdata].
- */
-void
--adw_show_about_dialog_from_appdata (GtkWidget *parent,
+-adw_show_about_window_from_appdata (GtkWindow *parent,
- const char *resource_path,
- const char *release_notes_version,
- const char *first_property_name,
- ...)
-{
-- AdwDialog *dialog;
+- GtkWidget *window;
- va_list var_args;
-
-- g_return_if_fail (GTK_IS_WIDGET (parent));
--
-- dialog = adw_about_dialog_new_from_appdata (resource_path,
+- window = adw_about_window_new_from_appdata (resource_path,
- release_notes_version);
-
- va_start (var_args, first_property_name);
-- g_object_set_valist (G_OBJECT (dialog), first_property_name, var_args);
+- g_object_set_valist (G_OBJECT (window), first_property_name, var_args);
- va_end (var_args);
-
-- adw_dialog_present (dialog, parent);
- }
-Index: demo/adwaita-demo.c
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/demo/adwaita-demo.c b/demo/adwaita-demo.c
---- a/demo/adwaita-demo.c (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ b/demo/adwaita-demo.c (date 1726337207957)
-@@ -1,5 +1,3 @@
--#include "config.h"
--
- #include
- #include
- #include
-@@ -56,15 +54,23 @@
-
- debug_info = adw_demo_generate_debug_info ();
-
-- about = adw_about_dialog_new_from_appdata ("/org/gnome/Adwaita1/Demo/org.gnome.Adwaita1.Demo.metainfo.xml", NULL);
-- adw_about_dialog_set_version (ADW_ABOUT_DIALOG (about), ADW_VERSION_S);
-- adw_about_dialog_set_debug_info (ADW_ABOUT_DIALOG (about), debug_info);
-- adw_about_dialog_set_debug_info_filename (ADW_ABOUT_DIALOG (about), "adwaita-1-demo-debug-info.txt");
-- adw_about_dialog_set_copyright (ADW_ABOUT_DIALOG (about), "© 2017–2022 Purism SPC\n© 2023-2024 GNOME Foundation Inc.");
-- adw_about_dialog_set_developers (ADW_ABOUT_DIALOG (about), developers);
-- adw_about_dialog_set_designers (ADW_ABOUT_DIALOG (about), designers);
-- adw_about_dialog_set_artists (ADW_ABOUT_DIALOG (about), designers);
-- adw_about_dialog_set_translator_credits (ADW_ABOUT_DIALOG (about), _("translator-credits"));
-+ about =
-+ g_object_new (ADW_TYPE_ABOUT_DIALOG,
-+ "application-icon", "org.gnome.Adwaita1.Demo",
-+ "application-name", _("Adwaita Demo"),
-+ "developer-name", _("The GNOME Project"),
-+ "version", ADW_VERSION_S,
-+ "website", "https://gitlab.gnome.org/GNOME/libadwaita",
-+ "issue-url", "https://gitlab.gnome.org/GNOME/libadwaita/-/issues/new",
-+ "debug-info", debug_info,
-+ "debug-info-filename", "adwaita-1-demo-debug-info.txt",
-+ "copyright", "© 2017–2022 Purism SPC",
-+ "license-type", GTK_LICENSE_LGPL_2_1,
-+ "developers", developers,
-+ "designers", designers,
-+ "artists", designers,
-+ "translator-credits", _("translator-credits"),
-+ NULL);
-
- adw_about_dialog_add_link (ADW_ABOUT_DIALOG (about),
- _("_Documentation"),
-Index: tests/meson.build
+- if (parent)
+- gtk_window_set_transient_for (GTK_WINDOW (window), parent);
+-
+- gtk_window_present (GTK_WINDOW (window));
+-}
+Index: meson.build
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
-diff --git a/tests/meson.build b/tests/meson.build
---- a/tests/meson.build (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ b/tests/meson.build (date 1726337776151)
-@@ -2,13 +2,6 @@
-
- subdir('manual')
-
--test_resources = gnome.compile_resources(
-- 'adwaita-test-resources',
-- 'tests.gresources.xml',
--
-- c_name: 'test',
+diff --git a/meson.build b/meson.build
+--- a/meson.build (revision dc7327fcc11cff0f1d4062ae187a501cdf93cb31)
++++ b/meson.build (date 1762917025969)
+@@ -40,13 +40,6 @@
+ gio_dep = dependency('gio-2.0', version: glib_min_version)
+ gtk_dep = dependency('gtk4', version: gtk_min_version)
+ fribidi_dep = dependency('fribidi')
+-appstream_dep = dependency('appstream',
+- fallback : ['appstream', 'appstream_dep'],
+- default_options : [
+- 'systemd=false', 'apidocs=false', 'install-docs=false',
+- 'stemming=false', 'svg-support=false', 'gir=false',
+- ],
-)
--
- test_env = [
- 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()),
- 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()),
-@@ -21,6 +14,7 @@
- test_cflags = [
- '-DADW_LOG_DOMAIN="Adwaita"',
-+ '-DTEST_DATA_DIR="@0@/data"'.format(meson.current_source_dir()),
- ]
-
- test_link_args = []
-@@ -94,13 +88,7 @@
- ]
-
- foreach test_name : test_names
-- test_sources = [
-- test_name + '.c',
-- test_resources,
-- libadwaita_generated_headers
-- ]
--
-- t = executable(test_name, test_sources,
-+ t = executable(test_name, [test_name + '.c'] + libadwaita_generated_headers,
- c_args: test_cflags,
- link_args: test_link_args,
- dependencies: libadwaita_deps + [libadwaita_internal_dep],
+ target_system = host_machine.system()
+ if target_system == 'darwin'
Index: src/adw-about-dialog.h
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/adw-about-dialog.h b/src/adw-about-dialog.h
---- a/src/adw-about-dialog.h (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ b/src/adw-about-dialog.h (date 1726337233304)
-@@ -178,11 +178,4 @@
+--- a/src/adw-about-dialog.h (revision dc7327fcc11cff0f1d4062ae187a501cdf93cb31)
++++ b/src/adw-about-dialog.h (date 1762917253640)
+@@ -27,10 +27,6 @@
+ ADW_AVAILABLE_IN_1_5
+ AdwDialog *adw_about_dialog_new (void) G_GNUC_WARN_UNUSED_RESULT;
+
+-ADW_AVAILABLE_IN_1_5
+-AdwDialog *adw_about_dialog_new_from_appdata (const char *resource_path,
+- const char *release_notes_version) G_GNUC_WARN_UNUSED_RESULT;
+-
+ ADW_AVAILABLE_IN_1_5
+ const char *adw_about_dialog_get_application_name (AdwAboutDialog *self);
+ ADW_AVAILABLE_IN_1_5
+@@ -183,12 +179,5 @@
+ void adw_show_about_dialog (GtkWidget *parent,
const char *first_property_name,
...) G_GNUC_NULL_TERMINATED;
-
+-
-ADW_AVAILABLE_IN_1_5
-void adw_show_about_dialog_from_appdata (GtkWidget *parent,
- const char *resource_path,
- const char *release_notes_version,
- const char *first_property_name,
- ...) G_GNUC_NULL_TERMINATED;
--
+
G_END_DECLS
-Index: demo/data/meson.build
+Index: src/meson.build
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
-diff --git a/demo/data/meson.build b/demo/data/meson.build
---- a/demo/data/meson.build (revision 42b47f0438fc2b24910c58e00bd2bd970b499379)
-+++ b/demo/data/meson.build (date 1726341703583)
-@@ -35,18 +35,6 @@
- appdata_config.set('BUILD_VERSION', meson.project_version())
- appdata_config.set('BUILD_DATE', today)
+diff --git a/src/meson.build b/src/meson.build
+--- a/src/meson.build (revision dc7327fcc11cff0f1d4062ae187a501cdf93cb31)
++++ b/src/meson.build (date 1762917025960)
+@@ -322,7 +322,6 @@
+ fribidi_dep,
+ gio_dep,
+ gtk_dep,
+- appstream_dep,
+ cc.find_library('m', required: false),
+ ]
--appstream_file = i18n.merge_file(
-- input: configure_file(
-- input: 'org.gnome.Adwaita1.Demo.metainfo.xml.in.in',
-- output: 'org.gnome.Adwaita1.Demo.metainfo.xml.in',
-- configuration: appdata_config
-- ),
-- output: 'org.gnome.Adwaita1.Demo.metainfo.xml',
-- po_dir: '../../po',
-- install: true,
-- install_dir: datadir / 'metainfo'
--)
--
- appstreamcli = find_program('appstreamcli', required: false)
- if appstreamcli.found()
- test('Validate appstream file', appstreamcli,
diff --git a/gvsbuild/patches/libsass/LICENSE.build b/gvsbuild/patches/libsass/LICENSE.build
new file mode 100644
index 000000000..b59833ded
--- /dev/null
+++ b/gvsbuild/patches/libsass/LICENSE.build
@@ -0,0 +1,19 @@
+Copyright (c) 2021 The Meson development team
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/gvsbuild/patches/libsass/include/meson.build b/gvsbuild/patches/libsass/include/meson.build
new file mode 100644
index 000000000..2985dba50
--- /dev/null
+++ b/gvsbuild/patches/libsass/include/meson.build
@@ -0,0 +1,19 @@
+install_headers('sass.h', 'sass2scss.h')
+
+version_conf_data = configuration_data()
+version_conf_data.set('PACKAGE_VERSION', meson.project_version())
+
+version_h = configure_file(
+ input: 'sass/version.h.in',
+ output: 'version.h',
+ configuration: version_conf_data,
+)
+
+install_headers(
+ 'sass/base.h',
+ 'sass/context.h',
+ 'sass/functions.h',
+ 'sass/values.h',
+ version_h,
+ subdir: 'sass',
+)
diff --git a/gvsbuild/patches/libsass/meson.build b/gvsbuild/patches/libsass/meson.build
new file mode 100644
index 000000000..9a3dafe14
--- /dev/null
+++ b/gvsbuild/patches/libsass/meson.build
@@ -0,0 +1,20 @@
+project(
+ 'libsass',
+ 'c',
+ 'cpp',
+ version: '3.6.6',
+ license: 'MIT',
+ meson_version: '>= 0.48.0',
+ default_options: ['c_std=c99', 'cpp_std=c++11'],
+)
+
+add_project_arguments(
+ '-DLIBSASS_VERSION="@0@"'.format(meson.project_version()),
+ language: ['cpp'],
+)
+
+inc = include_directories('include')
+winres_path = files(join_paths('res', 'resource.rc'))
+
+subdir('include')
+subdir('src')
diff --git a/gvsbuild/patches/libsass/src/meson.build b/gvsbuild/patches/libsass/src/meson.build
new file mode 100644
index 000000000..0bb364fbf
--- /dev/null
+++ b/gvsbuild/patches/libsass/src/meson.build
@@ -0,0 +1,120 @@
+cpp_sources = [
+ 'ast.cpp',
+ 'ast_values.cpp',
+ 'ast_supports.cpp',
+ 'ast_sel_cmp.cpp',
+ 'ast_sel_unify.cpp',
+ 'ast_sel_super.cpp',
+ 'ast_sel_weave.cpp',
+ 'ast_selectors.cpp',
+ 'context.cpp',
+ 'constants.cpp',
+ 'fn_utils.cpp',
+ 'fn_miscs.cpp',
+ 'fn_maps.cpp',
+ 'fn_lists.cpp',
+ 'fn_colors.cpp',
+ 'fn_numbers.cpp',
+ 'fn_strings.cpp',
+ 'fn_selectors.cpp',
+ 'color_maps.cpp',
+ 'environment.cpp',
+ 'ast_fwd_decl.cpp',
+ 'bind.cpp',
+ 'file.cpp',
+ 'util.cpp',
+ 'util_string.cpp',
+ 'json.cpp',
+ 'units.cpp',
+ 'values.cpp',
+ 'plugins.cpp',
+ 'source.cpp',
+ 'position.cpp',
+ 'lexer.cpp',
+ 'parser.cpp',
+ 'parser_selectors.cpp',
+ 'prelexer.cpp',
+ 'eval.cpp',
+ 'eval_selectors.cpp',
+ 'expand.cpp',
+ 'listize.cpp',
+ 'cssize.cpp',
+ 'extender.cpp',
+ 'extension.cpp',
+ 'stylesheet.cpp',
+ 'output.cpp',
+ 'inspect.cpp',
+ 'emitter.cpp',
+ 'check_nesting.cpp',
+ 'remove_placeholders.cpp',
+ 'sass.cpp',
+ 'sass_values.cpp',
+ 'sass_context.cpp',
+ 'sass_functions.cpp',
+ 'sass2scss.cpp',
+ 'backtrace.cpp',
+ 'operators.cpp',
+ 'ast2c.cpp',
+ 'c2ast.cpp',
+ 'to_value.cpp',
+ 'source_map.cpp',
+ 'error_handling.cpp',
+ 'memory/allocator.cpp',
+ 'memory/shared_ptr.cpp',
+ 'utf8_string.cpp',
+ 'base64vlq.cpp',
+]
+
+c_sources = ['cencode.c']
+
+sass_sources = cpp_sources + c_sources
+
+if host_machine.system() == 'windows'
+ windows = import('windows')
+ sass_sources += [windows.compile_resources(winres_path)]
+endif
+
+if host_machine.system() != 'windows'
+ if meson.version().version_compare('>= 0.62')
+ dl_dep = dependency('dl')
+ else
+ dl_dep = cc.find_library(
+ 'dl',
+ required: false,
+ )
+ endif
+else
+ dl_dep = dependency(
+ '',
+ required: false,
+ )
+endif
+
+lib_args = []
+if host_machine.system() == 'windows' and get_option('default_library') != 'static'
+ lib_args += ['-DADD_EXPORTS']
+endif
+
+libsass = library(
+ 'sass',
+ sass_sources,
+ dependencies: [dl_dep],
+ c_args: lib_args,
+ cpp_args: lib_args,
+ include_directories: inc,
+ soversion: '1',
+ install: true,
+)
+
+libsass_dep = declare_dependency(
+ link_with: libsass,
+ include_directories: [inc],
+)
+
+pkg = import('pkgconfig')
+pkg.generate(
+ libsass,
+ name: 'libsass',
+ description: 'A C implementation of a Sass compiler',
+ url: 'https://github.com/sass/libsass',
+)
diff --git a/gvsbuild/patches/sassc/LICENSE.build b/gvsbuild/patches/sassc/LICENSE.build
new file mode 100644
index 000000000..b59833ded
--- /dev/null
+++ b/gvsbuild/patches/sassc/LICENSE.build
@@ -0,0 +1,19 @@
+Copyright (c) 2021 The Meson development team
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/gvsbuild/patches/sassc/meson.build b/gvsbuild/patches/sassc/meson.build
new file mode 100644
index 000000000..26b7137bc
--- /dev/null
+++ b/gvsbuild/patches/sassc/meson.build
@@ -0,0 +1,51 @@
+project(
+ 'sassc',
+ 'c',
+ version: '3.6.2',
+ meson_version: '>= 0.48.0',
+ default_options: ['c_std=c99'],
+)
+
+version_conf_data = configuration_data()
+version_conf_data.set('PACKAGE_VERSION', meson.project_version())
+
+add_project_arguments(
+ '-D_POSIX_C_SOURCE',
+ '-DSASSC_VERSION="@0@"'.format(meson.project_version()),
+ language: ['c'],
+)
+
+configure_file(
+ input: 'sassc_version.h.in',
+ output: 'sassc_version.h',
+ configuration: version_conf_data,
+)
+
+libsass_dep = dependency(
+ 'libsass',
+ fallback: ['libsass', 'libsass_dep'],
+)
+
+sassc_sources = ['sassc.c']
+
+incs = []
+if host_machine.system() == 'windows'
+ windows = import('windows')
+ win_res = windows.compile_resources(
+ 'res/libsass.rc',
+ depend_files: ['res/libsass.ico'],
+ )
+ sassc_sources += win_res
+ incs += include_directories('win/posix')
+ sassc_sources += 'win/posix/getopt.c'
+endif
+
+sassc = executable(
+ 'sassc',
+ sassc_sources,
+ dependencies: [libsass_dep],
+ include_directories: incs,
+ install: true,
+)
+
+meson.override_find_program('sassc', sassc)
diff --git a/gvsbuild/projects/cairomm.py b/gvsbuild/projects/cairomm.py
index 3ca2ef1de..eb0a6b309 100644
--- a/gvsbuild/projects/cairomm.py
+++ b/gvsbuild/projects/cairomm.py
@@ -24,10 +24,10 @@ def __init__(self):
Meson.__init__(
self,
"cairomm",
- version="1.18.0",
+ version="1.19.0",
repository="https://gitlab.freedesktop.org/cairo/cairomm",
archive_url="https://cairographics.org/releases/cairomm-{version}.tar.xz",
- hash="b81255394e3ea8e8aa887276d22afa8985fc8daef60692eb2407d23049f03cfb",
+ hash="8b14f03a0e5178c7ff8f7b288cb342a61711c84c9fbed6e663442cfcc873ce5b",
dependencies=["meson", "ninja", "libsigc++", "cairo"],
)
diff --git a/gvsbuild/projects/gtk.py b/gvsbuild/projects/gtk.py
index 0af7c4e92..27e2446f9 100644
--- a/gvsbuild/projects/gtk.py
+++ b/gvsbuild/projects/gtk.py
@@ -124,12 +124,12 @@ def __init__(self):
self,
"gtk4",
prj_dir="gtk4",
- version="4.18.6",
+ version="4.20.1",
lastversion_major=4,
lastversion_even=True,
repository="https://gitlab.gnome.org/GNOME/gtk",
archive_url="https://download.gnome.org/sources/gtk/{major}.{minor}/gtk-{version}.tar.xz",
- hash="e1817c650ddc3261f9a8345b3b22a26a5d80af154630dedc03cc7becefffd0fa",
+ hash="bf32fac019171c45681b2c45d05658ee8598c6341572e32a6a6bcb0b5673998d",
dependencies=[
"gdk-pixbuf",
"pango",
diff --git a/gvsbuild/projects/gtkmm.py b/gvsbuild/projects/gtkmm.py
index 6563eb07a..ec8b42d68 100644
--- a/gvsbuild/projects/gtkmm.py
+++ b/gvsbuild/projects/gtkmm.py
@@ -25,12 +25,12 @@ def __init__(self):
self,
"gtkmm",
prj_dir="gtkmm",
- version="4.18.0",
+ version="4.20.0",
lastversion_major=4,
lastversion_even=True,
repository="https://gitlab.gnome.org/GNOME/gtkmm",
archive_url="https://download.gnome.org/sources/gtkmm/{major}.{minor}/gtkmm-{version}.tar.xz",
- hash="2ee31c15479fc4d8e958b03c8b5fbbc8e17bc122c2a2f544497b4e05619e33ec",
+ hash="daad9bf9b70f90975f91781fc7a656c923a91374261f576c883cd3aebd59c833",
dependencies=[
"gdk-pixbuf",
"pangomm",
diff --git a/gvsbuild/projects/libadwaita.py b/gvsbuild/projects/libadwaita.py
index 20752fcdb..918acfbed 100644
--- a/gvsbuild/projects/libadwaita.py
+++ b/gvsbuild/projects/libadwaita.py
@@ -25,9 +25,9 @@ def __init__(self):
self,
"libadwaita",
repository="https://gitlab.gnome.org/GNOME/libadwaita",
- version="1.7.6",
+ version="1.8.1",
archive_url="https://download.gnome.org/sources/libadwaita/{major}.{minor}/libadwaita-{version}.tar.xz",
- hash="5eacc5550f0bdbba6a1568aebf25a3d88f5ee07d6b558becc6fd9487579c9a29",
+ hash="8b1d4d5f89373a5b6eea8d93ecdaee34cd26ad27a4dd396c06f5d9929fb313bc",
dependencies=[
"ninja",
"meson",
@@ -35,6 +35,7 @@ def __init__(self):
"pkgconf",
"glib",
"gtk4",
+ "sassc",
],
patches=[
"0001-remove-appstream-dependency.patch",
@@ -46,9 +47,9 @@ def __init__(self):
gir = "enabled"
self.add_param(f"-Dintrospection={gir}")
- self.add_param("-Dgtk_doc=false")
+ self.add_param("-Ddocumentation=false")
self.add_param("-Dvapi=false")
- # https://gitlab.gnome.org/GNOME/libadwaita/-/issues/931
+ self.add_param("-Dexamples=false")
self.add_param("-Dtests=false")
def build(self, **kwargs):
diff --git a/gvsbuild/projects/libnice.py b/gvsbuild/projects/libnice.py
index 1cee46801..9cc88507f 100644
--- a/gvsbuild/projects/libnice.py
+++ b/gvsbuild/projects/libnice.py
@@ -25,7 +25,7 @@ def __init__(self):
self,
"libnice",
version="0.1.22",
- repository="https://gitlab.freedesktop.org/libnice/libnice",
+ repository="https://gitlab.freedesktop.org/libnice/libnice.git",
fetch_submodules=False,
tag="ae3eb16fd7d1237353bf64e899c612b8a63bca8a",
dependencies=[
diff --git a/gvsbuild/projects/sass.py b/gvsbuild/projects/sass.py
new file mode 100644
index 000000000..e56329b55
--- /dev/null
+++ b/gvsbuild/projects/sass.py
@@ -0,0 +1,54 @@
+# Copyright (C) 2025 The Gvsbuild Authors
+#
+# 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, see .
+
+from gvsbuild.utils.base_builders import Meson
+from gvsbuild.utils.base_expanders import Tarball
+from gvsbuild.utils.base_project import Project, project_add
+
+
+@project_add
+class Libsass(Tarball, Meson):
+ def __init__(self):
+ Project.__init__(
+ self,
+ "libsass",
+ version="3.6.6",
+ archive_url="https://github.com/sass/libsass/archive/refs/tags/{version}.tar.gz",
+ hash="11f0bb3709a4f20285507419d7618f3877a425c0131ea8df40fe6196129df15d",
+ archive_filename="libsass-{version}.tar.gz",
+ dependencies=["ninja", "meson"],
+ )
+
+ def build(self):
+ Meson.build(self)
+ self.install(r"LICENSE share\doc\libsass")
+
+
+@project_add
+class Sassc(Tarball, Meson):
+ def __init__(self):
+ Project.__init__(
+ self,
+ "sassc",
+ version="3.6.2",
+ archive_url="https://github.com/sass/sassc/archive/refs/tags/{version}.tar.gz",
+ hash="608dc9002b45a91d11ed59e352469ecc05e4f58fc1259fc9a9f5b8f0f8348a03",
+ archive_filename="sassc-{version}.tar.gz",
+ dependencies=["ninja", "meson", "libsass"],
+ )
+
+ def build(self):
+ Meson.build(self)
+ self.install(r"LICENSE share\doc\sassc")