PKGBUILD 3.0 KB

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