PKGBUILD 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. # Maintainer: Noah Vogt <noah@noahvogt.com>
  2. # Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
  3. # Maintainer: Fabian Bornschein <fabiscafe@archlinux.org>
  4. # Contributor: Ionut Biru <ibiru@archlinux.org>
  5. # Contributor: Flamelab <panosfilip@gmail.com
  6. _base_name=gnome-shell
  7. pkgname=gnome-shell-no-screenshot-notification
  8. pkgver=45.4
  9. pkgrel=2
  10. epoch=1
  11. pkgdesc="Next generation desktop shell - without the screenshot notification"
  12. url="https://wiki.gnome.org/Projects/GnomeShell"
  13. arch=(x86_64)
  14. license=(GPL-3.0-or-later)
  15. depends=(
  16. accountsservice
  17. at-spi2-core
  18. bash
  19. cairo
  20. dconf
  21. gcc-libs
  22. gcr-4
  23. gdk-pixbuf2
  24. gjs
  25. glib2
  26. glibc
  27. gnome-autoar
  28. gnome-desktop-4
  29. gnome-session
  30. gnome-settings-daemon
  31. graphene
  32. gsettings-desktop-schemas
  33. gtk4
  34. hicolor-icon-theme
  35. json-glib
  36. libadwaita
  37. libcanberra-pulse
  38. libgdm
  39. libgirepository
  40. libglvnd
  41. libgweather-4
  42. libibus
  43. libical
  44. libnm
  45. libnma-gtk4
  46. libpipewire
  47. libpulse
  48. libsecret
  49. libsoup3
  50. libx11
  51. libxfixes
  52. mutter
  53. pango
  54. polkit
  55. systemd-libs
  56. unzip
  57. upower
  58. )
  59. makedepends=(
  60. asciidoc
  61. bash-completion
  62. evolution-data-server
  63. git
  64. gnome-control-center
  65. gobject-introspection
  66. gtk-doc
  67. meson
  68. sassc
  69. )
  70. checkdepends=(
  71. appstream-glib
  72. python-dbusmock
  73. xorg-server-xvfb
  74. )
  75. optdepends=(
  76. 'evolution-data-server: Evolution calendar integration'
  77. 'gnome-bluetooth-3.0: Bluetooth support'
  78. 'gnome-control-center: System settings'
  79. 'gnome-disk-utility: Mount with keyfiles'
  80. 'gst-plugin-pipewire: Screen recording'
  81. 'gst-plugins-good: Screen recording'
  82. 'power-profiles-daemon: Power profile switching'
  83. 'python-gobject: gnome-shell-test-tool performance tester'
  84. 'python-simplejson: gnome-shell-test-tool performance tester'
  85. 'switcheroo-control: Multi-GPU support'
  86. )
  87. conflicts=(gnome-shell)
  88. provides=(gnome-shell)
  89. groups=(gnome)
  90. _commit=58522920b5ae96d2b95dad0371ce13eb4bd955ce # tags/45.4^0
  91. source=(
  92. "git+https://gitlab.gnome.org/GNOME/gnome-shell.git#commit=$_commit"
  93. "git+https://gitlab.gnome.org/GNOME/libgnome-volume-control.git"
  94. "0001-subprojects-gvc-Bump-gvc-submodule-to-newest-commit.patch"
  95. "disable-screenshot-notification.patch"
  96. "disable-screenshot-sound.patch"
  97. "change-screenshot-filenaming.patch"
  98. )
  99. b2sums=('SKIP'
  100. 'SKIP'
  101. 'ee7b40aefdf751feaa661de6d0aed28efcd282250f41b25b6c0413bd75503bb2cd5413fce96d33336206448a777be04b701a4465e38c799e91328fb4197d011b'
  102. 'a726caac6ec6dea7f7c8d122cedf30ad0a44921321ed763e2b4422e6f455edf2a93f6d9de72ac8c10560f69bb987a37acf6de2580b36464345afc08ab439d86e'
  103. 'aca63da0703e44401fa987660d9542d92df7e89da66d93dbf0cd75bc25868b75d9502fb73c6981d964ebbb3b6a719c9b1d84629560dafbfedf3781a6fab7769a'
  104. 'e3d93ff6565a4e2db845fe95bfd965d39a042beb47a89a91aea5f7c21b7c4d52d377470b9803082d33924780cb5a82b06159cd6ace14e1ae4249ba08eda71dac')
  105. pkgver() {
  106. cd $_base_name
  107. git describe --tags | sed -r 's/\.([a-z])/\1/;s/([a-z])\./\1/;s/[^-]*-g/r&/;s/-/+/g'
  108. }
  109. prepare() {
  110. cd $_base_name
  111. # Update libgnome-volume-control
  112. # https://gitlab.archlinux.org/archlinux/packaging/packages/gnome-shell/-/issues/3
  113. git apply -3 ../0001-subprojects-gvc-Bump-gvc-submodule-to-newest-commit.patch
  114. patch -p1 -i "$srcdir/disable-screenshot-notification.patch"
  115. patch -p1 -i "$srcdir/disable-screenshot-sound.patch"
  116. patch -p1 -i "$srcdir/change-screenshot-filenaming.patch"
  117. git submodule init
  118. git submodule set-url subprojects/gvc "$srcdir/libgnome-volume-control"
  119. git -c protocol.file.allow=always submodule update
  120. }
  121. build() {
  122. local meson_options=(
  123. -D gtk_doc=true
  124. )
  125. CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition"
  126. LDFLAGS+=" -Wl,-Bsymbolic-functions"
  127. arch-meson $_base_name build "${meson_options[@]}"
  128. meson compile -C build
  129. }
  130. _check() (
  131. export XDG_RUNTIME_DIR="$PWD/rdir"
  132. mkdir -p -m 700 "$XDG_RUNTIME_DIR"
  133. export NO_AT_BRIDGE=1 GTK_A11Y=none
  134. # meson test -C build --print-errorlogs -t 3
  135. )
  136. check() {
  137. dbus-run-session xvfb-run -s '-nolisten local +iglx -noreset' \
  138. bash -c "$(declare -f _check); _check"
  139. }
  140. package() {
  141. depends+=(libmutter-13.so)
  142. meson install -C build --destdir "$pkgdir"
  143. }
  144. # vim:set sw=2 sts=-1 et: