diff options
Diffstat (limited to 'gnu/packages/patches/telegram-desktop-unbundle-cppgir.patch')
-rw-r--r-- | gnu/packages/patches/telegram-desktop-unbundle-cppgir.patch | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/gnu/packages/patches/telegram-desktop-unbundle-cppgir.patch b/gnu/packages/patches/telegram-desktop-unbundle-cppgir.patch new file mode 100644 index 00000000000..a24dbe25bbb --- /dev/null +++ b/gnu/packages/patches/telegram-desktop-unbundle-cppgir.patch @@ -0,0 +1,95 @@ +From a5c42e07ae223d440ff11347e0cf1fd58fd383df Mon Sep 17 00:00:00 2001 +From: Nicholas Guriev <nicholas@guriev.su> +Date: Sat, 26 Aug 2023 18:23:53 +0300 +Subject: [PATCH 1/2] Look for system-wide cppgir before fallback to the + bundled copy + +Closes: #282 +--- + external/glib/CMakeLists.txt | 4 +++- + external/glib/generate_cppgir.cmake | 7 ++++++- + 2 files changed, 9 insertions(+), 2 deletions(-) + +diff --git a/external/glib/CMakeLists.txt b/external/glib/CMakeLists.txt +index 3c6fe4be..c862705f 100644 +--- a/external/glib/CMakeLists.txt ++++ b/external/glib/CMakeLists.txt +@@ -13,9 +13,11 @@ function(add_cppgir) # isolate scope + set(BUILD_EXAMPLES OFF) + add_subdirectory(cppgir EXCLUDE_FROM_ALL) + endfunction() +-add_cppgir() + + include(generate_cppgir.cmake) ++if (NOT CppGir_FOUND) ++ add_cppgir() ++endif() + generate_cppgir(external_glib Gio-2.0) + + find_package(PkgConfig REQUIRED) +diff --git a/external/glib/generate_cppgir.cmake b/external/glib/generate_cppgir.cmake +index c15d3f9e..9b0a5ac8 100644 +--- a/external/glib/generate_cppgir.cmake ++++ b/external/glib/generate_cppgir.cmake +@@ -4,6 +4,8 @@ + # For license and copyright information please follow this link: + # https://github.com/desktop-app/legal/blob/master/LEGAL + ++find_package(CppGir 2.0) ++ + function(generate_cppgir target_name gir) + set(cppgir_loc ${cmake_helpers_loc}/external/glib/cppgir) + +@@ -17,6 +19,9 @@ function(generate_cppgir target_name gir) + ${cppgir_loc}/data/cppgir.ignore + ${cppgir_loc}/data/cppgir_unix.ignore + ) ++ if (CppGir_FOUND) ++ set(ignore_files) # rely on default ignore list ++ endif() + + set(gir_path) + if (IS_ABSOLUTE "${gir}") +@@ -33,7 +38,7 @@ function(generate_cppgir target_name gir) + --class + --class-full + --expected +- --ignore ++ "$<$<BOOL:${ignore_files}>:--ignore>" + "$<JOIN:${ignore_files},:>" + --output + ${gen_dst} + +From eed39522952c15f448c54290454806dd011c4996 Mon Sep 17 00:00:00 2001 +From: Nicholas Guriev <nicholas@guriev.su> +Date: Sat, 26 Aug 2023 18:23:53 +0300 +Subject: [PATCH 2/2] Look for system-wide cppgir before fallback to the + bundled copy + +Closes: #282 +--- + external/glib/generate_cppgir.cmake | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/external/glib/generate_cppgir.cmake b/external/glib/generate_cppgir.cmake +index 9b0a5ac8..2ad82277 100644 +--- a/external/glib/generate_cppgir.cmake ++++ b/external/glib/generate_cppgir.cmake +@@ -15,11 +15,12 @@ function(generate_cppgir target_name gir) + + set(gen_timestamp ${gen_dst}/${target_name}_cppgir.timestamp) + +- set(ignore_files +- ${cppgir_loc}/data/cppgir.ignore +- ${cppgir_loc}/data/cppgir_unix.ignore +- ) +- if (CppGir_FOUND) ++ if (NOT CppGir_FOUND) ++ set(ignore_files ++ ${cppgir_loc}/data/cppgir.ignore ++ ${cppgir_loc}/data/cppgir_unix.ignore ++ ) ++ else() + set(ignore_files) # rely on default ignore list + endif() + |