PKGBUILD 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. # Maintainer: Noah Vogt <noah@noahvogt.com>
  2. # Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
  3. # Contributor: Ionut Biru <ibiru@archlinux.org>
  4. # Contributor: Flamelab <panosfilip@gmail.com
  5. _base_name=gnome-shell
  6. pkgname=gnome-shell-no-screenshot-notification
  7. pkgver=45.0+r17+gebf2f8036
  8. pkgrel=1
  9. epoch=1
  10. pkgdesc="Next generation desktop shell - without the screenshot notification"
  11. url="https://wiki.gnome.org/Projects/GnomeShell"
  12. arch=(x86_64)
  13. license=(GPL)
  14. depends=(
  15. accountsservice
  16. gcr-4
  17. gjs
  18. gnome-autoar
  19. gnome-session
  20. gnome-settings-daemon
  21. gsettings-desktop-schemas
  22. gtk4
  23. libadwaita
  24. libcanberra-pulse
  25. libgdm
  26. libgweather-4
  27. libibus
  28. libnma-gtk4
  29. libsecret
  30. libsoup3
  31. mutter
  32. unzip
  33. upower
  34. )
  35. makedepends=(
  36. asciidoc
  37. bash-completion
  38. evolution-data-server
  39. git
  40. gnome-control-center
  41. gobject-introspection
  42. gtk-doc
  43. meson
  44. sassc
  45. )
  46. checkdepends=(
  47. appstream-glib
  48. python-dbusmock
  49. xorg-server-xvfb
  50. )
  51. optdepends=(
  52. 'evolution-data-server: Evolution calendar integration'
  53. 'gnome-bluetooth-3.0: Bluetooth support'
  54. 'gnome-control-center: System settings'
  55. 'gnome-disk-utility: Mount with keyfiles'
  56. 'gst-plugin-pipewire: Screen recording'
  57. 'gst-plugins-good: Screen recording'
  58. 'power-profiles-daemon: Power profile switching'
  59. 'python-gobject: gnome-shell-test-tool performance tester'
  60. 'switcheroo-control: Multi-GPU support'
  61. )
  62. conflicts=(gnome-shell)
  63. provides=(gnome-shell)
  64. groups=(gnome)
  65. _commit=ebf2f80360f152c9d071a16c5caeecb4bd0927c4 # main
  66. source=(
  67. "git+https://gitlab.gnome.org/GNOME/gnome-shell.git#commit=$_commit"
  68. "git+https://gitlab.gnome.org/GNOME/libgnome-volume-control.git"
  69. "disable-screenshot-notification.patch"
  70. "disable-screenshot-sound.patch"
  71. )
  72. b2sums=('SKIP'
  73. 'SKIP'
  74. 'a726caac6ec6dea7f7c8d122cedf30ad0a44921321ed763e2b4422e6f455edf2a93f6d9de72ac8c10560f69bb987a37acf6de2580b36464345afc08ab439d86e'
  75. 'aca63da0703e44401fa987660d9542d92df7e89da66d93dbf0cd75bc25868b75d9502fb73c6981d964ebbb3b6a719c9b1d84629560dafbfedf3781a6fab7769a')
  76. pkgver() {
  77. cd $_base_name
  78. git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g'
  79. }
  80. prepare() {
  81. cd $_base_name
  82. patch -p1 -i "$srcdir/disable-screenshot-notification.patch"
  83. patch -p1 -i "$srcdir/disable-screenshot-sound.patch"
  84. git submodule init
  85. git submodule set-url subprojects/gvc "$srcdir/libgnome-volume-control"
  86. git -c protocol.file.allow=always submodule update
  87. }
  88. build() {
  89. local meson_options=(
  90. -D gtk_doc=true
  91. )
  92. CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition"
  93. LDFLAGS+=" -Wl,-Bsymbolic-functions"
  94. arch-meson $_base_name build "${meson_options[@]}"
  95. meson compile -C build
  96. }
  97. _check() (
  98. export XDG_RUNTIME_DIR="$PWD/rdir"
  99. mkdir -p -m 700 "$XDG_RUNTIME_DIR"
  100. export NO_AT_BRIDGE=1 GTK_A11Y=none
  101. # meson test -C build --print-errorlogs -t 3
  102. )
  103. check() {
  104. dbus-run-session xvfb-run -s '-nolisten local +iglx -noreset' \
  105. bash -c "$(declare -f _check); _check"
  106. }
  107. package() {
  108. depends+=(libmutter-13.so)
  109. meson install -C build --destdir "$pkgdir"
  110. }
  111. # vim:set sw=2 sts=-1 et: