diff options
Diffstat (limited to 'nonprism/evolution-data-server/PKGBUILD')
-rw-r--r-- | nonprism/evolution-data-server/PKGBUILD | 195 |
1 files changed, 155 insertions, 40 deletions
diff --git a/nonprism/evolution-data-server/PKGBUILD b/nonprism/evolution-data-server/PKGBUILD index cb1f06240..d55e38c22 100644 --- a/nonprism/evolution-data-server/PKGBUILD +++ b/nonprism/evolution-data-server/PKGBUILD @@ -1,72 +1,187 @@ +# Maintainer (arch): Fabian Bornschein <fabiscafe-at-mailbox-dot-org> # Maintainer (arch): Jan Alexander Steffens (heftig) <heftig@archlinux.org> -# Contributor (arch): Jan de Groot <jgc@archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> # Contributor: Andreas Grapentin <andreas@grapentin.org> # Contributor: Márcio Silva <coadde@hyperbola.info> # Contributor: Isaac David <isacdaavid@at@isacdaavid@dot@info> # Contributor: Freemor <freemor@freemor.ca> # Contributor: bill-auger <bill-auger@programmer.net> +# Maintainer: Parabola Hackers <dev@lists.parabola.nu> # parabola changes and rationale: -# - removed libgdata support -# - pinned to 'icu' sodep +# privacy: +# - removed libgweather->geocode-glib-2 support +# - removed libgdata support +# - removed google support +# technical: +# - pinned to 'icu' sodep +# - build from versioned source-ball, rather than VCS sources +# - build in build(), rather than in package() -pkgname=evolution-data-server -pkgver=3.38.2 +pkgbase=evolution-data-server +pkgname=( + evolution-data-server + libedataserverui4 + evolution-data-server-docs +) +pkgver=3.50.1 pkgrel=2 -pkgrel+=.nonprism1 -pkgdesc="Centralized access to appointments and contacts" -pkgdesc+=", without libgdata support" +[[ "${CARCH}" == i686 ]] && pkgver=3.46.2 pkgrel=3.0 +pkgrel+=.nonprism2 +pkgdesc="Unified contacts, tasks and calendar backend" +pkgdesc+=", without google, libgweather, and libgdata support" url="https://wiki.gnome.org/Apps/Evolution" arch=(x86_64) arch+=(armv7h i686) -depends=(gnome-online-accounts nss krb5 libgweather libical db libgdata libphonenumber) -depends=(${depends[@]/libgdata/}) -makedepends=(intltool gperf gobject-introspection vala gtk-doc boost git cmake ninja) -provides=(libcamel-1.2.so libebackend-1.2.so libebook-1.2.so libebook-contacts-1.2.so - libecal-2.0.so libedata-book-1.2.so libedata-cal-2.0.so libedataserver-1.2.so - libedataserverui-1.2.so) +depends=( + gtk3 + krb5 + libcanberra + libgoa + libgweather-4 + libical + libphonenumber + libsecret + nss + sqlite + webkit2gtk-4.1 +) +depends=(${depends[*]/libgweather-4/}) +makedepends=( + boost + cmake + git + gobject-introspection + gperf + gtk-doc + ninja + vala + webkitgtk-6.0 +) +makedepends=( ${makedepends[*]/git/} ) +checkdepends=(db) license=(GPL) -_commit=e5135dcf71a7f4ac0e60acb7ba2b3ac551e9578e # tags/3.38.2^0 -source=("git+https://gitlab.gnome.org/GNOME/evolution-data-server.git#commit=$_commit") -sha256sums=('SKIP') +source=(https://gitlab.gnome.org/GNOME/${pkgname}/-/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz) +sha256sums=('8859b3f25dffbef13fb0117b0c6812ad54805bd168933a6ce5c4aedb5e740cfc') +[[ "${CARCH}" == i686 ]] && sha256sums=('34de49ab682b9c9d176b842476a6682bf0ca1bd23e992239bfd2d14cc3cf86e2') + + +## dependency tweaks ## + +case "${CARCH}" in +i686) + #depends+=( glib2=2.74.0 ) # Package dependency requirement 'glib-2.0 >= 2.74.0' could not be satisfied. If you want to disable GObject introspection, please use -DENABLE_INTROSPECTION=OFF + + makedepends=( ${makedepends[*]/webkitgtk-6.0/webkit2gtk-4.1} webkit2gtk-5.0 ) # arch32 does not have 'webkitgtk-6.0' + + # i686 FTBS (python is inconsistent): ModuleNotFoundError: No module named 'giscanner._giscanner' + ;; +esac -pkgver() { - cd $pkgname - git describe --tags | sed 's/^EVOLUTION_DATA_SERVER_//;s/_/./g;s/-/+/g' -} prepare() { - cd $pkgname + cd ${pkgname}-${pkgver} } build() { - CFLAGS+=" $CPPFLAGS" - CXXFLAGS+=" $CPPFLAGS" - cmake -S $pkgname -B build -G Ninja \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIBEXEC_INSTALL_DIR=/usr/lib \ - -DSYSCONF_INSTALL_DIR=/etc \ - -DENABLE_INTROSPECTION=ON \ - -DENABLE_VALA_BINDINGS=ON \ - -DENABLE_UOA=OFF \ - -DENABLE_GOOGLE=OFF \ - -DHAVE_LIBGDATA=OFF \ - -DENABLE_GOOGLE_AUTH=OFF \ - -DENABLE_GTK_DOC=ON \ + local cmake_options=( + -DCMAKE_INSTALL_PREFIX=/usr + -DLIBEXEC_INSTALL_DIR=/usr/lib + -DSYSCONF_INSTALL_DIR=/etc + -DENABLE_GTK_DOC=ON + -DENABLE_INTROSPECTION=ON + -DENABLE_VALA_BINDINGS=ON + -DWITH_GWEATHER4=ON + -DWITH_LIBDB=OFF -DWITH_PHONENUMBER=ON - cmake --build build + ) + cmake_options+=(-Wno-dev) # suppress noise + local privacy_options=( -DENABLE_GOOGLE=OFF \ + -DENABLE_GOOGLE_AUTH=OFF \ + -DENABLE_UOA=OFF \ + -DHAVE_LIBGDATA=OFF \ + -DWITH_GWEATHER4=OFF \ + -DENABLE_WEATHER=OFF \ + -DWITH_GOOGLE_CLIENT_ID='NONE' \ + -DWITH_GOOGLE_CLIENT_SECRET='NONE' \ + -DWITH_OUTLOOK_CLIENT_ID='NONE' \ + -DWITH_OUTLOOK_CLIENT_SECRET='NONE' \ + -DWITH_YAHOO_CLIENT_ID='NONE' \ + -DWITH_YAHOO_CLIENT_SECRET='NONE' ) + [[ "${CARCH}" == i686 ]] && privacy_options+=( -DWITH_PHONENUMBER=OFF ) # libphonenumber cannot be used. Use -DWITH_PHONENUMBER=PATH to specify the library prefix, or -DWITH_PHONENUMBER=OFF to disable it. + cmake -S ${pkgname}-${pkgver} -B build -G Ninja "${cmake_options[@]}" ${privacy_options[*]} + + cd build + ninja # arch recipe builds in package() } check() { - # libedata-book tests fail because they try to - # mkdir /usr/lib/evolution-data-server/camel-providers - cmake --build build --target test || : + local exclude_tests=() + # tests likely to fail + [[ "${CARCH}" != armv7h ]] || + exclude_tests=( test-book-client-e164-param \ + test-book-client-view-operations ) + + cd build + ctest --output-on-failure --repeat until-pass:42 ${exclude_tests[*]/#/-E } +} + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done } -package() { +package_evolution-data-server() { + provides=( + libcamel-1.2.so + libebackend-1.2.so + libebook-1.2.so + libebook-contacts-1.2.so + libecal-2.0.so + libedata-book-1.2.so + libedata-cal-2.0.so + libedataserver-1.2.so + libedataserverui-1.2.so + ) depends+=(libicui18n.so libicuuc.so) DESTDIR="$pkgdir" cmake --install build + + cd $pkgdir + + _pick ui4 usr/include/evolution-data-server/libedataserverui4 + _pick ui4 usr/lib/libedataserverui4-1.0.so* + _pick ui4 usr/lib/pkgconfig/libedataserverui4-1.0.pc + _pick ui4 usr/lib/girepository-1.0/EDataServerUI4-1.0.typelib + _pick ui4 usr/share/gir-1.0/EDataServerUI4-1.0.gir + _pick ui4 usr/share/vala/vapi/libedataserverui4-1.0.* + + _pick docs usr/share/gtk-doc +} + +package_libedataserverui4() { + pkgdesc+=" - GTK 4 UI library" + depends=( + "evolution-data-server=$pkgver-$pkgrel" + libgtk-4.so + libwebkitgtk-6.0.so + ) + provides=(libedataserverui4-1.0.so) + + mv ui4/* "$pkgdir" } + +package_evolution-data-server-docs() { + pkgdesc+=" - documentation" + depends=() + + mv docs/* "$pkgdir" +} + |