PKGBUILD 2.9 KB

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