PKGBUILD 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # Maintainer (arch): Jan Alexander Steffens (heftig) <heftig@archlinux.org>
  2. # Contributor: Ionut Biru <ibiru@archlinux.org>
  3. # Contributor: Andreas Grapentin <andreas@grapentin.org>
  4. # Contributor: Márcio Silva <coadde@hyperbola.info>
  5. # Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info>
  6. # Maintainer: Parabola Hackers <dev@lists.parabola.nu>
  7. # parabola changes and rationale:
  8. # privacy:
  9. # - removed support for possibly unsafe protocols
  10. # technical:
  11. # - build from versioned source-ball, rather than VCS sources
  12. pkgbase=gnome-online-accounts
  13. pkgname=(
  14. gnome-online-accounts
  15. libgoa
  16. )
  17. pkgver=3.48.0
  18. pkgrel=2
  19. pkgrel+=.nonprism1
  20. pkgdesc="Single sign-on framework for GNOME"
  21. pkgdesc+=", without support for unsafe and dangerous for privacy protocols"
  22. url="https://wiki.gnome.org/Projects/GnomeOnlineAccounts"
  23. arch=(x86_64)
  24. arch+=(armv7h i686)
  25. license=(LGPL)
  26. depends=(
  27. gcr
  28. json-glib
  29. krb5
  30. libnotify
  31. librest
  32. libsecret
  33. webkit2gtk-4.1
  34. )
  35. makedepends=(
  36. git
  37. gobject-introspection
  38. gtk-doc
  39. meson
  40. vala
  41. )
  42. makedepends=( ${makedepends[*]/git/} )
  43. source=(https://download.gnome.org/sources/gnome-online-accounts/3.48/gnome-online-accounts-3.48.0.tar.xz)
  44. sha256sums=('418bb9fcffdbd72a98205ad365137617fc1e3551a54de74f6a98d45d266175bf')
  45. prepare() {
  46. cd ${pkgname}-${pkgver}
  47. }
  48. build() {
  49. local meson_options=(
  50. -D gtk_doc=true
  51. -D man=true
  52. -D media_server=true
  53. )
  54. local privacy_options=( -D exchange=false \
  55. -D fedora=false \
  56. -D google=false \
  57. -D google_client_id=NONE \
  58. -D google_client_secret=NONE \
  59. -D imap_smtp=true \
  60. -D kerberos=true \
  61. -D lastfm=false \
  62. -D lastfm_client_id=NONE \
  63. -D lastfm_client_secret=NONE \
  64. -D media_server=false \
  65. -D owncloud=true \
  66. -D windows_live=false \
  67. -D windows_live_client_id=NONE )
  68. arch-meson ${pkgname}-${pkgver} build "${meson_options[@]}" "${privacy_options[@]}"
  69. meson compile -C build
  70. }
  71. check() {
  72. meson test -C build --print-errorlogs
  73. }
  74. _pick() {
  75. local p="$1" f d; shift
  76. for f; do
  77. d="$srcdir/$p/${f#$pkgdir/}"
  78. mkdir -p "$(dirname "$d")"
  79. mv "$f" "$d"
  80. rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")"
  81. done
  82. }
  83. package_gnome-online-accounts() {
  84. depends+=("libgoa=$pkgver-$pkgrel")
  85. optdepends=(
  86. 'gvfs-goa: Virtual file systems, e.g. OwnCloud'
  87. 'gvfs-google: Google Drive'
  88. )
  89. provides=(libgoa-backend-1.0.so)
  90. meson install -C build --destdir "$pkgdir"
  91. cd "$pkgdir"
  92. _pick goa usr/include/goa-1.0/goa
  93. _pick goa usr/lib/libgoa-1.0.so*
  94. _pick goa usr/lib/girepository-1.0/Goa-1.0.typelib
  95. _pick goa usr/lib/goa-1.0/include
  96. _pick goa usr/lib/pkgconfig/goa-1.0.pc
  97. _pick goa usr/share/gir-1.0/Goa-1.0.gir
  98. _pick goa usr/share/vala/vapi/goa-1.0.*
  99. _pick goa usr/share/gtk-doc
  100. }
  101. package_libgoa() {
  102. pkgdesc+=" - client library"
  103. depends=(libg{lib,object,io}-2.0.so)
  104. provides=(libgoa-1.0.so)
  105. mv goa/* "$pkgdir"
  106. }