summary refs log tree commit diff
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-03-06 15:23:38 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-03-07 15:06:22 +0100
commitac033c7ba1e14da42a67f493802be5a59dc66a57 (patch)
treea63c33067e463ffe09034a0e2c59fff0c4718221
parent613ef763a52d7825f062eb7b58354504b64d2869 (diff)
downloadguix-ac033c7ba1e14da42a67f493802be5a59dc66a57.tar.gz
gnu: evolution-data-server: Update to 3.26.6.
* gnu/packages/gnome.scm (evolution-data-server): Update to 3.26.6.
[arguments]: Set RUNPATH in #:configure-flags to match new libdir structure.
Add phase 'dont-override-rpath' to make the build system respect it.
-rw-r--r--gnu/packages/gnome.scm39
1 files changed, 28 insertions, 11 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index c876dbb6a9..2ce78ba73d 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -4875,7 +4875,7 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
 (define-public evolution-data-server
   (package
     (name "evolution-data-server")
-    (version "3.24.3")
+    (version "3.26.6")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/" name "/"
@@ -4883,27 +4883,44 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
                                   name "-" version ".tar.xz"))
               (sha256
                (base32
-                "1jj1q81bl3r0c8rnsfqi83igqlprzdcjim1fvygbyfy7b8gigqqk"))))
+                "1v0hwlrlm23bz5dmamdavm771f4gs64fyq82argrc0nwgn2a2fp4"))))
     (build-system cmake-build-system)
     (arguments
      '(;; XXX FIXME: 11/85 tests are failing.
        #:tests? #f
        #:configure-flags
-       (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"
-             ;; FIXME: Building against ICU 60 requires C++11 or higher.  Remove
-             ;; this when our default compiler is >= GCC6.
-             "-DCMAKE_CXX_FLAGS=-std=gnu++11"
-             "-DENABLE_INTROSPECTION=ON")   ;required for Vala bindings
+       (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"
+               ;; FIXME: Building against ICU 60 requires C++11 or higher.  Remove
+               ;; this when our default compiler is >= GCC6.
+               "-DCMAKE_CXX_FLAGS=-std=gnu++11"
+               (string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
+                              (string-append lib "/evolution-data-server;")
+                              (string-join runpaths ";"))
+               "-DENABLE_INTROSPECTION=ON"))  ;required for Vala bindings
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-paths
           (lambda _
             (substitute* "tests/test-server-utils/e-test-server-utils.c"
               (("/bin/rm") (which "rm")))
-            #t)))))
+            #t))
+         (add-before 'configure 'dont-override-rpath
+           (lambda _
+             (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)))))
     (native-inputs
      `(("glib:bin" ,glib "bin") ; for glib-mkenums, etc.
        ("gobject-introspection" ,gobject-introspection)