summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Le Vaillant <glv@posteo.net>2021-08-30 13:27:10 +0200
committerGuillaume Le Vaillant <glv@posteo.net>2021-08-30 13:27:10 +0200
commit8948bc7e44c844b68f660d160dbc940fef085e0c (patch)
treea78ab599c662ca125523c9277658a2a2d2c3dc73
parentbbb0420e44384f8750377631274fa971e6bf93e2 (diff)
downloadguix-8948bc7e44c844b68f660d160dbc940fef085e0c.tar.gz
gnu: evolution: Fix building with cmake > 3.20.
* gnu/packages/patches/evolution-printableoptions.patch: New file.
* gnu/packages/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (evolution)[source]: Use it.
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/gnome.scm3
-rw-r--r--gnu/packages/patches/evolution-printableoptions.patch57
3 files changed, 61 insertions, 2 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 838eb13a29..0226440228 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -20,7 +20,7 @@
 # Copyright © 2018, 2019, 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com>
 # Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
 # Copyright © 2018, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-# Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
+# Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
 # Copyright © 2019, 2020 John Soo <jsoo1@asu.edu>
 # Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
 # Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
@@ -1006,6 +1006,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/eudev-rules-directory.patch		\
   %D%/packages/patches/evilwm-lost-focus-bug.patch		\
   %D%/packages/patches/evolution-CVE-2020-11879.patch		\
+  %D%/packages/patches/evolution-printableoptions.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	\
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index b9079d12a3..e0e9c47458 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -10701,7 +10701,8 @@ generic enough to work for everyone.")
               (sha256
                (base32
                 "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c"))
-              (patches (search-patches "evolution-CVE-2020-11879.patch"))))
+              (patches (search-patches "evolution-CVE-2020-11879.patch"
+                                       "evolution-printableoptions.patch"))))
     (build-system cmake-build-system)
     (arguments
      `(#:imported-modules (,@%cmake-build-system-modules
diff --git a/gnu/packages/patches/evolution-printableoptions.patch b/gnu/packages/patches/evolution-printableoptions.patch
new file mode 100644
index 0000000000..55bee381f4
--- /dev/null
+++ b/gnu/packages/patches/evolution-printableoptions.patch
@@ -0,0 +1,57 @@
+Patch adapted from evolution-data-server's
+c3915bb99638c1ccf57217097b14b5db69bcac96 upstream patch 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()