From 403b00d9b6bd0b6bd8259160b0077aa9162ce552 Mon Sep 17 00:00:00 2001 From: Clayton Craft <clayton@craftyguy.net> Date: Sat, 27 Apr 2024 14:28:30 -0700 Subject: [PATCH] systemd/gnome-shell: fork to enable systemd support (MR 5115) fixes #2767 [ci:skip-vercheck] --- extra-repos/systemd/gnome-shell/APKBUILD | 125 ++++++++++++++++++++++ extra-repos/systemd/gnome-shell/gsh.patch | 26 +++++ 2 files changed, 151 insertions(+) create mode 100644 extra-repos/systemd/gnome-shell/APKBUILD create mode 100644 extra-repos/systemd/gnome-shell/gsh.patch diff --git a/extra-repos/systemd/gnome-shell/APKBUILD b/extra-repos/systemd/gnome-shell/APKBUILD new file mode 100644 index 00000000000..2bfd4a50a4c --- /dev/null +++ b/extra-repos/systemd/gnome-shell/APKBUILD @@ -0,0 +1,125 @@ +# Forked from Alpine to add systemd! + +pkgname=gnome-shell +pkgver=99946.1 +_pkgver=46.1 +pkgrel=0 +pkgdesc="GNOME shell" +url="https://gitlab.gnome.org/GNOME/gnome-shell" +# gjs -> mozjs +arch="all !armhf !s390x" +license="GPL-2.0-or-later" +depends=" + accountsservice + adwaita-icon-theme + desktop-file-utils + font-adobe-source-code-pro + font-cantarell + gnome-bluetooth + gnome-control-center + gnome-shell-schemas + gsettings-desktop-schemas>=46 + gst-plugin-pipewire + gst-plugins-good + gstreamer + ibus + librsvg + networkmanager-common + systemd + tecla + unzip + upower + " +makedepends=" + asciidoc + evolution-data-server-dev evolution-dev + gcr4-dev + gjs-dev>=1.78.0 + gnome-autoar-dev + gnome-bluetooth-dev + gnome-control-center-dev + gnome-desktop-dev>=44.0 + gobject-introspection-dev + gstreamer-dev + ibus-dev + libcanberra-dev + libnma-dev + libxml2-dev + libxml2-utils + meson + mutter-dev>=46 + networkmanager-dev + pipewire-dev + polkit-dev + pulseaudio-dev + py3-setuptools + python3 + sassc + startup-notification-dev + systemd-dev + tecla-dev + " +checkdepends=" + mesa-dri-gallium + xvfb-run + " + # gdm is also needed but introduces circular dep +subpackages=" + $pkgname-dbg + $pkgname-doc + $pkgname-lang + $pkgname-schemas::noarch + gnome-extensions-app:extensions_app:noarch + " +source="https://download.gnome.org/sources/gnome-shell/${_pkgver%.*}/gnome-shell-$_pkgver.tar.xz + gsh.patch + " +options="!check" # Tests have circular dependency 'gnome-shell <-> gdm' +builddir="$srcdir/$pkgname-$_pkgver" + +# secfixes: +# 0: +# - CVE-2019-3820 + +build() { + abuild-meson \ + -Db_lto=true \ + -Dsystemd=false \ + -Dtests=false \ + . output + meson compile -C output +} + +check() { + xvfb-run meson test --no-rebuild --print-errorlogs -C output +} + +package() { + DESTDIR="$pkgdir" meson install --no-rebuild -C output +} + +extensions_app() { + pkgdesc="Manage GNOME Shell extensions" + depends="gnome-shell libadwaita" + replaces="gnome-shell" + + amove usr/bin/gnome-extensions-app + amove usr/share/applications/org.gnome.Extensions.desktop + amove usr/share/gnome-shell/org.gnome.Extensions + amove usr/share/gnome-shell/org.gnome.Extensions.data.gresource + amove usr/share/gnome-shell/org.gnome.Extensions.src.gresource +} + +schemas() { + pkgdesc="GNOME Shell gsetting schemas" + depends="" + replaces="gnome-shell" + + amove usr/share/glib-2.0/schemas + amove usr/share/gnome-control-center/keybindings +} + +sha512sums=" +2700b4187e5f6cc52d8a04704fb68aa7847bc70d5200819c4462729d2d15fd8b4f1fe67bfc83e643b8edf247511e40cf20a6561ff5a901c998a95d935ce4217c gnome-shell-46.1.tar.xz +ae4ac679bacd35948b44068e5a70407f473bd96986ee126abb1bdf066db5cbc2087a3ffae0b390286689cacbe8325870fd43663ba39f4f7543216e02bf083934 gsh.patch +" diff --git a/extra-repos/systemd/gnome-shell/gsh.patch b/extra-repos/systemd/gnome-shell/gsh.patch new file mode 100644 index 00000000000..4b631055c19 --- /dev/null +++ b/extra-repos/systemd/gnome-shell/gsh.patch @@ -0,0 +1,26 @@ +Patch-Source: https://github.com/chimera-linux/cports/blob/793dbd2807070fd0fd4f7ba37fd73d4c5ff47584/main/gnome-shell/patches/no-exe-introspection.patch +commit 1d1e96c094570c3a822f835abbff0a5bca4ca10e +Author: Daniel Kolesa <daniel@octaforge.org> +Date: Sun Mar 19 19:11:00 2023 +0100 + + Disable 9bc89b821cf09195418f20225bbec39c0567d263 + + Even if we manually define _DYNAMIC, it does not work (segfaults + somewhere in musl, coming from g_strsplit) and is pretty useless + for our case anyway. + +diff --git a/src/main.c b/src/main.c +index 8cccc0a..ef6408f 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -19,6 +19,10 @@ + #include <atk-bridge.h> + #include <link.h> + ++#ifdef HAVE_EXE_INTROSPECTION ++#undef HAVE_EXE_INTROSPECTION ++#endif ++ + #ifdef HAVE_EXE_INTROSPECTION + #include <elf.h> + #endif -- GitLab