From 54f10ad0cdef2a02daa4c320e30f69e86ac0f748 Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Sun, 19 Jul 2020 03:23:18 -0400 Subject: [PATCH 03/36] gnu: evolution-data-server: Update package definition. * gnu/packages/gnome.scm (evolution-data-server) [version]: Update to 3.36.4. [source][sha256]: Modify base32. [outputs]: New output "doc". [arguments]<#:imported-modules>: New argument. <#:modules>: New argument. <#:configure-flags>[-DSENDMAIL_PATH]: New flag. [-DWITH_SYSTEMDUSERUNITDIR]: New flag. [-DENABLE_GTK_DOC]: New flag. [-DWITH_PRIVATE_DOCS]: New flag. [-DENABLE_BACKEND_PER_PROCESS]: New flag. [-DCMAKE_INSTALL_RPATH]: Modify flag. [-DENABLE_UOA]: Remove flag. [-DENABLE_GOOGLE]: Remove flag. [-DENABLE_GOOGLE_AUTH]: Remove flag. <#:phases>['patch-docbook-xml]: New phase. ['fix-errors]: New phase. ['disable-failing-tests]: Modify phase. ['move-doc]: New phase. ['glib-or-gtk-compile-schemas]: New phase. ['glib-or-gtk-wrap]: New phase. ['patch-paths]: Remove phase. ['dont-override-rpath]: Remove phase. [native-inputs]: Add docbook-xml, gsettings-desktop-schemas, gtk-doc and gtk+:bin. Remove gperf. [inputs]: Add gperf, icu4c, libgdata, liboauth and sendmail. [propagated-inputs]: Add glib, glib-networking, libxml2 and nspr. [synopsis]: Modify. [description]: Modify. * gnu/packages/patches/evolution-data-server-locales.patch: Remove file. * gnu/packages/patches/evolution-data-server-libical-compat.patch: Remove file. * gnu/local.mk (evolution-data-server-locales.patch): Remove reference. * gnu/local.mk (evolution-data-server-libical-compat.patch): Remove reference. --- gnu/local.mk | 2 - gnu/packages/gnome.scm | 198 ++++++++++++------ ...evolution-data-server-libical-compat.patch | 36 ---- .../evolution-data-server-locales.patch | 33 --- 4 files changed, 131 insertions(+), 138 deletions(-) delete mode 100644 gnu/packages/patches/evolution-data-server-libical-compat.patch delete mode 100644 gnu/packages/patches/evolution-data-server-locales.patch diff --git a/gnu/local.mk b/gnu/local.mk index 0786fa426b..7274f50264 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -908,8 +908,6 @@ dist_patch_DATA = \ %D%/packages/patches/erlang-man-path.patch \ %D%/packages/patches/eudev-rules-directory.patch \ %D%/packages/patches/evilwm-lost-focus-bug.patch \ - %D%/packages/patches/evolution-data-server-locales.patch \ - %D%/packages/patches/evolution-data-server-libical-compat.patch \ %D%/packages/patches/exercism-disable-self-update.patch \ %D%/packages/patches/exiv2-CVE-2017-14860.patch \ %D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 22ffeba3e8..1b8e93dcfd 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7222,91 +7222,155 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (define-public evolution-data-server (package (name "evolution-data-server") - (version "3.34.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (patches (search-patches "evolution-data-server-locales.patch" - "evolution-data-server-libical-compat.patch")) - (sha256 - (base32 - "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y")))) + (version "3.36.4") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "03sc7r6hpi62kcxpnzm5gv1ky3hmslh4fnf2vy2qghb5xqg3zy1r")))) (build-system cmake-build-system) + (outputs '("out" "doc")) (arguments - '(#:configure-flags - (let* ((lib (string-append (assoc-ref %outputs "out") "/lib")) - (runpaths (map (lambda (s) - (string-append lib "/evolution-data-server/" s)) - '("addressbook-backends" "calendar-backends" - "camel-providers" "credential-modules" - "registry-modules")))) - (list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support - "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support - "-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication - "-DENABLE_VALA_BINDINGS=ON" - (string-append "-DCMAKE_INSTALL_RPATH=" lib ";" - (string-append lib "/evolution-data-server;") - (string-join runpaths ";")) - "-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings + `(#:imported-modules + (,@%cmake-build-system-modules + (guix build glib-or-gtk-build-system)) + #:modules + ((guix build cmake-build-system) + ((guix build glib-or-gtk-build-system) + #:prefix glib-or-gtk:) + (guix build utils)) + #:configure-flags + (list + (string-append "-DSENDMAIL_PATH=" + (assoc-ref %build-inputs "sendmail")) + "-DWITH_SYSTEMDUSERUNITDIR=OFF" + "-DENABLE_INTROSPECTION=ON" + "-DENABLE_GTK_DOC=ON" + "-DWITH_PRIVATE_DOCS=ON" + "-DENABLE_BACKEND_PER_PROCESS=ON" + "-DENABLE_VALA_BINDINGS=ON" + ;; Required for RUNPATH validation. + (string-append "-DCMAKE_INSTALL_RPATH=" + (assoc-ref %outputs "out") + "/lib" + ":" + (assoc-ref %outputs "out") + "/lib/evolution-data-server" + ":" + (assoc-ref %outputs "out") + "/lib/evolution-data-server/addressbook-backends" + ":" + (assoc-ref %outputs "out") + "/lib/evolution-data-server/calendar-backends" + ":" + (assoc-ref %outputs "out") + "/lib/evolution-data-server/camel-providers" + ":" + (assoc-ref %outputs "out") + "/lib/evolution-data-server/credential-modules" + ":" + (assoc-ref %outputs "out") + "/lib/evolution-data-server/registry-modules")) #:phases (modify-phases %standard-phases - (add-after 'unpack 'disable-failing-tests - (lambda _ - ;; tests/book-migration/test-migration.c:160:test_fetch_contacts: - ;; assertion failed (g_slist_length (contacts) == 20): (0 == 20) - (delete-file-recursively "tests/book-migration") - (substitute* "tests/CMakeLists.txt" - (("add_subdirectory\\(book-migration\\)") "")) + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "docs/reference" + (substitute* '("camel/camel-docs.sgml.in" + "evolution-data-server/evolution-data-server-docs.sgml.in" + "private/libedbus-private-docs.sgml.in") + (("http://www.oasis-open.org/docbook/xml/4.1.2/") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/")))) #t)) - (add-after 'unpack 'patch-paths - (lambda _ - (substitute* '("tests/test-server-utils/e-test-server-utils.c" - "tests/libedata-book/data-test-utils.c" - "tests/libedata-book/test-book-cache-utils.c" - "tests/libedata-cal/test-cal-cache-utils.c") - (("/bin/rm") (which "rm"))) - #t)) - (add-before 'configure 'dont-override-rpath + (add-after 'patch-docbook-xml 'fix-errors (lambda _ + ;; Entity not available. + (substitute* "docs/reference/evolution-data-server/evolution-data-server-docs.sgml.in" + (("") + "")) + ;; CMakeLists.txt hard-codes runpath to just the libdir. + ;; Remove it so the configure flag is respected. (substitute* "CMakeLists.txt" - ;; CMakeLists.txt hard-codes runpath to just the libdir. - ;; Remove it so the configure flag is respected. - (("SET\\(CMAKE_INSTALL_RPATH .*") "")) - #t))))) + (("SET\\(CMAKE_INSTALL_RPATH \"\\$\\{privlibdir\\}\"\\)") + "")) + ;; Fix references to 'rm' program. + (substitute* '("tests/test-server-utils/e-test-server-utils.c" + "tests/libedata-book/data-test-utils.c" + "tests/libedata-book/test-book-cache-utils.c" + "tests/libedata-cal/test-cal-cache-utils.c") + (("/bin/rm") (which "rm"))) + #t)) + (add-after 'fix-errors 'disable-failing-tests + (lambda _ + (substitute* "tests/book-migration/CMakeLists.txt" + (("test-migration") + "")) + (substitute* "tests/libebook/client/CMakeLists.txt" + (("test-book-client-custom-summary") + "")) + #t)) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/gtk-doc") + (string-append doc "/share/gtk-doc")) + #t))) + (add-after 'move-doc 'glib-or-gtk-compile-schemas + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) + (add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc. + `(("docbook-xml" ,docbook-xml-4.1.2) + ("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) - ("gperf" ,gperf) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk-doc" ,gtk-doc) + ("gtk+:bin" ,gtk+ "bin") ("intltool" ,intltool) ("pkg-config" ,pkg-config) - ("vala" ,vala) - ("python" ,python-wrapper))) - (propagated-inputs - ;; These are all in the Requires field of .pc files. - `(("gtk+" ,gtk+) - ("libical" ,libical) - ("libsecret" ,libsecret) - ("libsoup" ,libsoup) - ("nss" ,nss) - ("sqlite" ,sqlite))) + ("python" ,python-wrapper) + ("vala" ,vala))) (inputs - `(("bdb" ,bdb) - ("gcr" ,gcr) + `(("gcr" ,gcr) + ("gweather" ,libgweather) ("gnome-online-accounts:lib" ,gnome-online-accounts "lib") + ("gperf" ,gperf) + ("icu" ,icu4c) ("json-glib" ,json-glib) + ("krb5" ,mit-krb5) ("libcanberra" ,libcanberra) - ("libgweather" ,libgweather) - ("mit-krb5" ,mit-krb5) + ("libdb" ,bdb) + ("libgdata" ,libgdata) + ("oauth" ,liboauth) ("openldap" ,openldap) + ("sendmail" ,sendmail) ("webkitgtk" ,webkitgtk))) - (synopsis "Store address books and calendars") + (propagated-inputs + `(("glib" ,glib) + ("glib-networking" ,glib-networking) + ("gtk+" ,gtk+) + ("libical" ,libical) + ("libsecret" ,libsecret) + ("libsoup" ,libsoup) + ("libxml2" ,libxml2) + ("nspr" ,nspr) + ("nss" ,nss) + ("sqlite" ,sqlite))) + (synopsis "Backend for Evolution") + (description "Evolution-Data-Server package provides a unified backend for +programs that work with contacts, tasks, and calendar information. It provides +a single database for common, desktop-wide information, such as a user's address +book or calendar events. It was originally developed for Evolution, but is now +used by other packages as well.") (home-page "https://wiki.gnome.org/Apps/Evolution") - (description - "This package provides a unified backend for programs that work with -contacts, tasks, and calendar information. It was originally developed for -Evolution (hence the name), but is now used by other packages as well.") (license license:lgpl2.0))) (define-public caribou diff --git a/gnu/packages/patches/evolution-data-server-libical-compat.patch b/gnu/packages/patches/evolution-data-server-libical-compat.patch deleted file mode 100644 index da4302d42e..0000000000 --- a/gnu/packages/patches/evolution-data-server-libical-compat.patch +++ /dev/null @@ -1,36 +0,0 @@ -Prevent test failure and possible data loss due to API change in libical 3.0.7. - -https://gitlab.gnome.org/GNOME/evolution-data-server/issues/185 -https://lists.infradead.org/pipermail/libical-devel/2020-January/000907.html - -Adapted from upstream: - -https://gitlab.gnome.org/GNOME/evolution-data-server/commit/77384ab552c19bf374dbeda53dc37f98d07bd4ec - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index e16b8b225..b3c881967 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -111,7 +111,7 @@ add_definitions(-DSOUP_VERSION_MIN_REQUIRED=${soup_encoded_version}) - - set(gcr_minimum_version 3.4) - set(libgdata_minimum_version 0.15.1) --set(libical_glib_minimum_version 3.0.5) -+set(libical_glib_minimum_version 3.0.7) - set(libsecret_minimum_version 0.5) - set(libxml_minimum_version 2.0.0) - set(sqlite_minimum_version 3.7.17) -diff --git a/src/calendar/libedata-cal/e-cal-meta-backend.c b/src/calendar/libedata-cal/e-cal-meta-backend.c -index 7501f2a43..93f4806ba 100644 ---- a/src/calendar/libedata-cal/e-cal-meta-backend.c -+++ b/src/calendar/libedata-cal/e-cal-meta-backend.c -@@ -4067,8 +4067,7 @@ e_cal_meta_backend_inline_local_attachments_sync (ECalMetaBackend *meta_backend, - gchar *base64; - - base64 = g_base64_encode ((const guchar *) content, len); -- new_attach = i_cal_attach_new_from_data (base64, NULL, NULL); -+ new_attach = i_cal_attach_new_from_data (base64, (GFunc) g_free, NULL); - g_free (content); -- g_free (base64); - - ecmb_remove_all_but_filename_parameter (prop); diff --git a/gnu/packages/patches/evolution-data-server-locales.patch b/gnu/packages/patches/evolution-data-server-locales.patch deleted file mode 100644 index 48baefb0d8..0000000000 --- a/gnu/packages/patches/evolution-data-server-locales.patch +++ /dev/null @@ -1,33 +0,0 @@ -This patch fixes locale canonicalization when using newer versions of -ICU. It comes from the upstream repo, and should appear starting in -version 3.33.5. - -From fe4ac94ce3c14f200e049a5d102fc0e4b811c71e Mon Sep 17 00:00:00 2001 -From: Milan Crha -Date: Tue, 16 Jul 2019 07:22:07 +0200 -Subject: [PATCH] I#137 - POSIX locale tests fail with ICU 64.x - -Closes https://gitlab.gnome.org/GNOME/evolution-data-server/issues/137 ---- - src/libedataserver/e-collator.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/src/libedataserver/e-collator.c b/src/libedataserver/e-collator.c -index 718eac5da..ec2cf7951 100644 ---- a/src/libedataserver/e-collator.c -+++ b/src/libedataserver/e-collator.c -@@ -132,6 +132,11 @@ canonicalize_locale (const gchar *posix_locale, - gint len; - const gchar *collation_type = NULL; - -+ if (posix_locale && ( -+ g_ascii_strcasecmp (posix_locale, "C") == 0 || -+ g_ascii_strcasecmp (posix_locale, "POSIX") == 0)) -+ posix_locale = "en_US_POSIX"; -+ - len = uloc_canonicalize (posix_locale, locale_buffer, LOCALE_BUFFER_LEN, &status); - - if (U_FAILURE (status)) { --- -2.22.0 - -- 2.27.0