PKGBUILD 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  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. pkgbase=$_base_name-no-screenshot-notification
  8. pkgname=(
  9. $pkgbase
  10. $pkgbase-docs
  11. )
  12. pkgver=48.0
  13. pkgrel=1
  14. epoch=1
  15. pkgdesc="Next generation desktop shell - without the screenshot notification"
  16. url="https://gitlab.gnome.org/GNOME/gnome-shell"
  17. arch=(x86_64)
  18. license=(GPL-3.0-or-later)
  19. depends=(
  20. accountsservice
  21. at-spi2-core
  22. bash
  23. cairo
  24. dconf
  25. gcc-libs
  26. gcr-4
  27. gdk-pixbuf2
  28. gjs
  29. glib2
  30. glibc
  31. gnome-autoar
  32. gnome-desktop-4
  33. gnome-session
  34. gnome-settings-daemon
  35. graphene
  36. gsettings-desktop-schemas
  37. gtk4
  38. hicolor-icon-theme
  39. json-glib
  40. libadwaita
  41. libcanberra-pulse
  42. libgdm
  43. libgirepository
  44. libglvnd
  45. libgweather-4
  46. libibus
  47. libical
  48. libnm
  49. libnma-gtk4
  50. libpipewire
  51. libpulse
  52. libsecret
  53. libsoup3
  54. libx11
  55. libxfixes
  56. mutter
  57. pango
  58. polkit
  59. systemd-libs
  60. unzip
  61. upower
  62. webkitgtk-6.0
  63. )
  64. makedepends=(
  65. asciidoc
  66. bash-completion
  67. evolution-data-server
  68. gi-docgen
  69. git
  70. glib2-devel
  71. gnome-keybindings
  72. gobject-introspection
  73. meson
  74. python-docutils
  75. sassc
  76. )
  77. conflicts=(gnome-shell)
  78. provides=(gnome-shell)
  79. # GNOME Shell tags use SSH signatures which makepkg doesn't understand
  80. source=(
  81. "git+https://gitlab.gnome.org/GNOME/gnome-shell.git#tag=${pkgver/[a-z]/.&}"
  82. "git+https://gitlab.gnome.org/GNOME/libgnome-volume-control.git#commit=5f9768a2eac29c1ed56f1fbb449a77a3523683b6"
  83. "git+https://github.com/ptomato/jasmine-gjs.git#commit=856465dddbd92e82e574891e1ebc79e17d7b708a"
  84. "disable-screenshot-notification.patch"
  85. "disable-screenshot-sound.patch"
  86. "change-screenshot-filenaming.patch"
  87. )
  88. b2sums=('8c399191765672c682a4288a8a6450871938588870fa177ffbadf26369221af49a85ec3e45ad1ffd00d3d4ee4b93e4076bb16ff40b7fcd98531f8365d3f9ee2b'
  89. 'e31ae379039dfc345e8032f7b9803a59ded075fc52457ba1553276d3031e7025d9304a7f2167a01be2d54c5e121bae00a2824a9c5ccbf926865d0b24520bb053'
  90. 'ecbbb9ce5895cc1caed2ddef39c70b4768d78ea0a929ea932d4149f923f92650973cdaefc2aacc9063f2ccf4ec965b57a9698a286f9a6561e39ce2e579ae4522'
  91. '50566ed521cb7fee15ad0ab25733848253ffc01827560181283eb2dafc3d6e9b6a917f1640ff3912e05e5fd6ff66e679e37e793cbe94927daa6e055198ac4de2'
  92. '4a70c4a8ca1aded2676873d9cfa15845c008b0747aa32646cd7e4f90d65dc13b1f58555f11957a59fe2e51a11c3409317fc8a2c290ebde0a4da380b11accbf36'
  93. '18c6930cf015ed55b635edebff9e685b5ddc0a20225e4e7e7289f3eaba9b626b1c036a16d4af68a676e6ac2e42b68cced7240229ba170c3e851a87543bf62435')
  94. prepare() {
  95. # Inject gvc
  96. ln -s libgnome-volume-control gvc
  97. cd $_base_name
  98. patch -p1 -i "$srcdir/disable-screenshot-notification.patch"
  99. patch -p1 -i "$srcdir/disable-screenshot-sound.patch"
  100. patch -p1 -i "$srcdir/change-screenshot-filenaming.patch"
  101. }
  102. build() {
  103. local meson_options=(
  104. -D gtk_doc=true
  105. -D tests=false
  106. )
  107. CFLAGS="${CFLAGS/-O2/-O3} -fno-semantic-interposition"
  108. LDFLAGS+=" -Wl,-Bsymbolic-functions"
  109. # Inject gvc
  110. export MESON_PACKAGE_CACHE_DIR="$srcdir"
  111. arch-meson $_base_name build "${meson_options[@]}"
  112. meson compile -C build
  113. }
  114. package_gnome-shell-no-screenshot-notification() {
  115. depends+=(libmutter-16.so)
  116. conflicts=($_base_name)
  117. provides=($_base_name)
  118. optdepends=(
  119. 'evolution-data-server: Evolution calendar integration'
  120. 'gnome-bluetooth-3.0: Bluetooth support'
  121. 'gnome-control-center: System settings'
  122. 'gnome-disk-utility: Mount with keyfiles'
  123. 'gst-plugin-pipewire: Screen recording'
  124. 'gst-plugins-good: Screen recording'
  125. 'power-profiles-daemon: Power profile switching'
  126. 'python-gobject: gnome-shell-test-tool performance tester'
  127. 'python-simplejson: gnome-shell-test-tool performance tester'
  128. 'switcheroo-control: Multi-GPU support'
  129. )
  130. groups=(gnome)
  131. meson install -C build --destdir "$pkgdir"
  132. mkdir -p doc/usr/share
  133. mv {"$pkgdir",doc}/usr/share/doc
  134. }
  135. package_gnome-shell-no-screenshot-notification-docs() {
  136. pkgdesc+=" (API documentation)"
  137. depends=()
  138. conflicts=($_base_name-docs)
  139. provides=($_base_name-docs)
  140. mv doc/* "$pkgdir"
  141. }
  142. # vim:set sw=2 sts=-1 et: