summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2021-08-30 11:45:01 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2021-08-30 11:48:20 +0200
commita68c45459d64ab8e00b55a9cda37c74ef629a433 (patch)
tree7d6cec0e07dee7b2e9c156683967158b2a4433ae
parent651e1f17cc5d55b7d77b3c5d37e819c3fde89370 (diff)
downloadguix-a68c45459d64ab8e00b55a9cda37c74ef629a433.tar.gz
gnu: evolution-data-server: Fix building with cmake > 3.20.
* gnu/packages/patches/evolution-data-server-printableoptions.patch: New file.
* gnu/packages/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (evolution-data-server)[source]: Use it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/gnome.scm26
-rw-r--r--gnu/packages/patches/evolution-data-server-printableoptions.patch57
3 files changed, 72 insertions, 12 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index f53645abba..838eb13a29 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1008,6 +1008,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/evolution-CVE-2020-11879.patch		\
   %D%/packages/patches/evolution-data-server-CVE-2020-14928.patch	\
   %D%/packages/patches/evolution-data-server-CVE-2020-16117.patch	\
+  %D%/packages/patches/evolution-data-server-printableoptions.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	\
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index ec95c78601..b9079d12a3 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -7461,18 +7461,20 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
   (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"
-                                       "evolution-data-server-CVE-2020-14928.patch"
-                                       "evolution-data-server-CVE-2020-16117.patch"))
-              (sha256
-               (base32
-                "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y"))))
+    (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"
+                        "evolution-data-server-CVE-2020-14928.patch"
+                        "evolution-data-server-CVE-2020-16117.patch"
+                        "evolution-data-server-printableoptions.patch"))
+       (sha256
+        (base32 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y"))))
     (build-system cmake-build-system)
     (arguments
      '(#:configure-flags
diff --git a/gnu/packages/patches/evolution-data-server-printableoptions.patch b/gnu/packages/patches/evolution-data-server-printableoptions.patch
new file mode 100644
index 0000000000..e40c5f3875
--- /dev/null
+++ b/gnu/packages/patches/evolution-data-server-printableoptions.patch
@@ -0,0 +1,57 @@
+Patch adapted from upstream c3915bb99638c1ccf57217097b14b5db69bcac96
+by Milan Crha:
+
+    PrintableOptions.cmake: Correct variable name comparison
+    
+    CMake 3.20.1 errors out with:
+    
+    CMake Error at cmake/modules/PrintableOptions.cmake:38 (message):
+       variable name cannot be empty
+     Call Stack (most recent call first):
+       CMakeLists.txt:152 (add_printable_variable)
+    
+    Change how the parameter value is compared, to fix it.
+
+--- a/cmake/modules/PrintableOptions.cmake
++++ b/cmake/modules/PrintableOptions.cmake
+@@ -19,32 +19,32 @@
+ #    prints all the build options previously added with the above functions
+ 
+ macro(add_printable_variable_bare _name)
+-	if(_name STREQUAL "")
++	if("${_name}" STREQUAL "")
+ 		message(FATAL_ERROR "variable name cannot be empty")
+-	endif(_name STREQUAL "")
++	endif("${_name}" STREQUAL "")
+ 	list(APPEND _printable_options ${_name})
+ endmacro()
+ 
+ macro(add_printable_option _name _description _default_value)
+-	if(_name STREQUAL "")
++	if("${_name}" STREQUAL "")
+ 		message(FATAL_ERROR "option name cannot be empty")
+-	endif(_name STREQUAL "")
++	endif("${_name}" STREQUAL "")
+ 	option(${_name} ${_description} ${_default_value})
+ 	add_printable_variable_bare(${_name})
+ endmacro()
+ 
+ macro(add_printable_variable _name _description _default_value)
+-	if(_name STREQUAL "")
++	if("${_name}" STREQUAL "")
+ 		message(FATAL_ERROR "variable name cannot be empty")
+-	endif(_name STREQUAL "")
++	endif("${_name}" STREQUAL "")
+ 	set(${_name} ${_default_value} CACHE STRING ${_description})
+ 	add_printable_variable_bare(${_name})
+ endmacro()
+ 
+ macro(add_printable_variable_path _name _description _default_value)
+-	if(_name STREQUAL "")
++	if("${_name}" STREQUAL "")
+ 		message(FATAL_ERROR "path variable name cannot be empty")
+-	endif(_name STREQUAL "")
++	endif("${_name}" STREQUAL "")
+ 	set(${_name} ${_default_value} CACHE PATH ${_description})
+ 	add_printable_variable_bare(${_name})
+ endmacro()