# Forked from Alpine to add phone adaptivity patches

pkgname=gnome-shell-mobile
pkgver=44_git20230405
pkgrel=1
pkgdesc="GNOME shell"
url="https://wiki.gnome.org/Projects/GnomeShell"
arch="all !armhf !s390x !riscv64" # gjs / riscv64: mutter-mobile
license="GPL-2.0-or-later"
depends="
	accountsservice
	caribou
	elogind
	gcr4
	gsettings-desktop-schemas
	gst-plugins-good
	upower
	ibus
	librsvg
	gnome-bluetooth
	gnome-control-center
	gnome-shell-mobile-schemas
	font-adobe-source-code-pro
	font-cantarell
	adwaita-icon-theme
	unzip
	"
makedepends="
	gnome-desktop-dev>=3.35.91
	libxml2-dev
	libcanberra-dev
	gobject-introspection-dev
	startup-notification-dev
	libsoup3-dev
	polkit-dev
	git
	gcr4-dev
	gjs-dev>=1.64.0
	mutter-mobile-dev>=44_git20230405
	pulseaudio-dev
	evolution-data-server-dev evolution-dev
	python3
	meson
	libxml2-utils
	ibus-dev
	sassc
	networkmanager-dev
	libnma-dev
	gnome-control-center-dev
	py3-setuptools
	gnome-bluetooth-dev
	gstreamer-dev
	gnome-autoar-dev
	asciidoc
	elogind-dev
	pipewire-dev
	gtk4.0-dev
	"
checkdepends="
	xvfb-run
	mesa-dri-gallium
	"
	# gdm is also needed but introduces circular dep
provides="gnome-shell=$pkgver-r$pkgrel"
subpackages="$pkgname-dbg $pkgname-doc $pkgname-lang $pkgname-schemas::noarch"
_commit="7244a2d0ba30ff4927da14f2611db0dc777c668b"
_gvc_commit="8e7a5a4c3e51007ce6579292642517e3d3eb9c50"
source="gnome-shell-$_commit.tar.gz::https://gitlab.gnome.org/verdre/gnome-shell/-/archive/$_commit/gnome-shell-$_commit.tar.gz
	libgnome-volume-control-$_gvc_commit.tar.gz::https://gitlab.gnome.org/GNOME/libgnome-volume-control/-/archive/$_gvc_commit/gnome-shell-$_gvc_commit.tar.gz
	disable-telepathy-integration.patch
	gsh.patch"
builddir="$srcdir/gnome-shell-$_commit"
options="!check" # Tests have circular dependency 'gnome-shell <-> gdm'

# secfixes:
#   0:
#     - CVE-2019-3820

prepare() {
	default_prepare
	rm -rf "$builddir/subprojects/gvc"
	mv "$srcdir/libgnome-volume-control-$_gvc_commit" $builddir/subprojects/gvc

	sed -i "s/mutter_api_version = '.*'/mutter_api_version = '99'/g" meson.build
}

build() {
	abuild-meson \
		-Dsystemd=false \
		-Dtests=false \
		. output
	meson compile ${JOBS:+-j ${JOBS}} -C output
}

check() {
	xvfb-run meson test --no-rebuild -v -C output
}

schemas() {
	pkgdesc="GNOME Shell gsetting schemas"
	depends=""
	provides="gnome-shell-schemas=$pkgver-r$pkgrel"

	amove usr/share/glib-2.0/schemas
	amove usr/share/gnome-control-center/keybindings
}

lang() {
	default_lang
	provides="gnome-shell-lang=$pkgver-r$pkgrel"
}

package() {
	DESTDIR="$pkgdir" meson install --no-rebuild -C output

	# owned by postmarketos-hidden-desktop-entries
	rm $pkgdir/usr/share/applications/org.gnome.Extensions.desktop
}

sha512sums="
3165e8994444eae5409cbe6e74b31b866816f86a5adda809d61390f407ee676938d31da149d2a04b0a9eb52c25d4ba10d276ad867ab53bd470ce6d59d3d273a4  gnome-shell-7244a2d0ba30ff4927da14f2611db0dc777c668b.tar.gz
ebc6985afbda5ddebcda44d8b6732a9abc2d7249aff3adf7a76a90aa681590f830dcf2e5f3534a624adc32d1f0445e261ee149d65c221f733e0c33e0690a004d  libgnome-volume-control-8e7a5a4c3e51007ce6579292642517e3d3eb9c50.tar.gz
2ca70115fab957fdf276b7f0772786e1afd56b0b22bcfd92f5b5f1d29676dc97c19cfb079434d0dbf7b459f1d133dbd8d1faa0d88f7b94846040a23856f951f8  disable-telepathy-integration.patch
dba79b94ab4bcf0db51aa4a19c5fb52f9dae05909fe13531fe9dc06d9db334ac3328bd4040484eac8ef851057ee471a28d86800aa2ae82eec7274f5f79b9146a  gsh.patch
"
