diff --git a/common/shlibs b/common/shlibs index a71728a..7ea31e6 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3521,6 +3521,7 @@ libcpptest.so.1 cpptest-2.0.0_1 libhandy-0.0.so.0 libhandy-0.0.3_1 libhandy-1.so.0 libhandy1-0.90.0_1 libadwaita-1.so.0 libadwaita-1.0.0alpha2_1 +libadwaita-1.so.0 libadwaita-without-libadwaita-1.3.1_1 libswitchboard-2.0.so.0 switchboard-2.3.2_1 libcodecore.so.0 libio.elementary.code-3.0_1 libpantheon-files-core.so.6 libio.elementary.files-6.0.0_1 diff --git a/srcpkgs/libadwaita-without-adwaita-demo b/srcpkgs/libadwaita-without-adwaita-demo new file mode 120000 index 0000000..d2b85b6 --- /dev/null +++ b/srcpkgs/libadwaita-without-adwaita-demo @@ -0,0 +1 @@ +libadwaita-without-adwaita \ No newline at end of file diff --git a/srcpkgs/libadwaita-without-adwaita-devel b/srcpkgs/libadwaita-without-adwaita-devel new file mode 120000 index 0000000..d2b85b6 --- /dev/null +++ b/srcpkgs/libadwaita-without-adwaita-devel @@ -0,0 +1 @@ +libadwaita-without-adwaita \ No newline at end of file diff --git a/srcpkgs/libadwaita-without-adwaita/patches/disable-broken-tests.patch b/srcpkgs/libadwaita-without-adwaita/patches/disable-broken-tests.patch new file mode 100644 index 0000000..dba1ca0 --- /dev/null +++ b/srcpkgs/libadwaita-without-adwaita/patches/disable-broken-tests.patch @@ -0,0 +1,10 @@ +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -36,7 +36,6 @@ + 'test-preferences-group', + 'test-preferences-page', + 'test-preferences-row', +- 'test-preferences-window', + 'test-split-button', + 'test-squeezer', + 'test-status-page', diff --git a/srcpkgs/libadwaita-without-adwaita/patches/theming_fix.patch b/srcpkgs/libadwaita-without-adwaita/patches/theming_fix.patch new file mode 100644 index 0000000..b3006eb --- /dev/null +++ b/srcpkgs/libadwaita-without-adwaita/patches/theming_fix.patch @@ -0,0 +1,55 @@ +diff --git a/src/adw-style-manager.c b/src/adw-style-manager.c +index 073e7890..85d96259 100644 +--- a/src/adw-style-manager.c ++++ b/src/adw-style-manager.c +@@ -229,6 +229,22 @@ notify_high_contrast_cb (AdwStyleManager *self) + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HIGH_CONTRAST]); + } + ++static void ++adw_style_manager_theme_changed(GSettings *settings, const char *key, GdkDisplay *display) ++{ ++ char *theme = g_settings_get_string(settings, "gtk-theme"); ++ if (!theme) { ++ theme = "Adwaita-empty"; ++ } ++ gboolean is_dark_variant = NULL != strstr(theme, "-dark"); ++ ++ g_object_set (gtk_settings_get_for_display (display), ++ "gtk-theme-name", theme, ++ "gtk-application-prefer-dark-theme", is_dark_variant, ++ NULL); ++} ++ ++ + static void + adw_style_manager_constructed (GObject *object) + { +@@ -254,19 +270,14 @@ adw_style_manager_constructed (GObject *object) + G_CONNECT_SWAPPED); + + if (!adw_is_granite_present () && !g_getenv ("GTK_THEME")) { +- g_object_set (gtk_settings_get_for_display (self->display), +- "gtk-theme-name", "Adwaita-empty", +- NULL); +- +- self->provider = gtk_css_provider_new (); +- gtk_style_context_add_provider_for_display (self->display, +- GTK_STYLE_PROVIDER (self->provider), +- GTK_STYLE_PROVIDER_PRIORITY_THEME); +- +- self->colors_provider = gtk_css_provider_new (); +- gtk_style_context_add_provider_for_display (self->display, +- GTK_STYLE_PROVIDER (self->colors_provider), +- GTK_STYLE_PROVIDER_PRIORITY_THEME); ++ GSettingsSchemaSource *schema_source = ++ g_settings_schema_source_get_default(); ++ GSettingsSchema *schema = g_settings_schema_source_lookup( ++ schema_source, "org.gnome.desktop.interface", true); ++ GSettings *interface_settings = g_settings_new_full(schema, NULL, NULL); ++ ++ adw_style_manager_theme_changed(interface_settings, "gtk-theme", self->display); ++ g_signal_connect (interface_settings, "changed", G_CALLBACK (adw_style_manager_theme_changed), self->display); + } + + self->animations_provider = gtk_css_provider_new (); diff --git a/srcpkgs/libadwaita-without-adwaita/template b/srcpkgs/libadwaita-without-adwaita/template new file mode 100644 index 0000000..53ecf0c --- /dev/null +++ b/srcpkgs/libadwaita-without-adwaita/template @@ -0,0 +1,57 @@ +# Template file for 'libadwaita-without-adwaita' +pkgname=libadwaita-without-adwaita +version=1.3.1 +revision=1 +repository="cereus-extra" +build_style=meson +build_helper="gir" +configure_args="-Dexamples=true -Dtests=true $(vopt_bool gtk_doc) + $(vopt_bool gir vapi) -Dintrospection=$(vopt_if gir enabled disabled)" +hostmakedepends="glib-devel pkg-config $(vopt_if gtk_doc gi-docgen) + $(vopt_if gir vala-devel) gettext sassc" +makedepends="gtk4-devel libglib-devel harfbuzz-devel awk" +checkdepends="xvfb-run cantarell-fonts" +short_desc="libadwaita; Includes a patch to not overwrite the system theme" +maintainer="Kevin F. " +license="LGPL-2.0-or-later" +homepage="https://gitlab.gnome.org/GNOME/libadwaita/" +changelog="https://gitlab.gnome.org/GNOME/libadwaita/-/raw/libadwaita-1-3/NEWS" +distfiles="${GNOME_SITE}/libadwaita/${version%.*}/libadwaita-${version}.tar.xz" +checksum=6b8bbf413c501b46c8616a0e5b836d7a34091140941412520bbd9ddda6df8cbd +make_check_pre="xvfb-run" +conflicts="libadwaita" + +build_options="gir gtk_doc" +build_options_default="gir gtk_doc" + +pre_build() { + # help gi-docgen find gi files on cross + if [ -n "$CROSS_BUILD" ]; then + export XDG_DATA_DIRS=/usr/$XBPS_CROSS_TRIPLET/usr/share/ + fi +} + +libadwaita-without-adwaita-devel_package() { + depends="${sourcepkg}>=${version}_${revision} gtk4-devel" + short_desc+=" - development files" + pkg_install() { + vmove "usr/lib/*.so" + vmove usr/include + vmove usr/lib/pkgconfig + if [ "$build_option_gir" ]; then + vmove usr/share/gir-1.0 + vmove usr/share/vala + fi + if [ "$build_option_gtk_doc" ]; then + vmove usr/share/doc/libadwaita-1 + fi + } +} + +libadwaita-without-adwaita-demo_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - demonstration application" + pkg_install() { + vmove usr/bin/adwaita-1-demo + } +}