gnu: emacs-consult: Fix grammar.
[jackhill/guix/guix.git] / gnu / packages / patches / linphone-desktop-without-sdk.patch
1 From cfdf6d1c2051d6a20d0cbb94d81fe398f70dea4d Mon Sep 17 00:00:00 2001
2 From: Raghav Gururajan <rg@raghavgururajan.name>
3 Date: Sun, 21 Mar 2021 21:13:53 -0400
4 Subject: [PATCH] [PATCH]: Fix building from git.
5
6 ---
7 CMakeLists.txt | 73 +------------------
8 linphone-app/CMakeLists.txt | 12 +--
9 .../cmake_builder/additional_steps.cmake | 2 +-
10 .../linphone_package/CMakeLists.txt | 38 ----------
11 linphone-app/linphoneqt_version.cmake | 1 +
12 linphone-app/src/config.h.cmake | 1 +
13 6 files changed, 6 insertions(+), 121 deletions(-)
14 create mode 100644 linphone-app/linphoneqt_version.cmake
15
16 diff --git a/CMakeLists.txt b/CMakeLists.txt
17 index f7eb05f2..3e853bdd 100644
18 --- a/CMakeLists.txt
19 +++ b/CMakeLists.txt
20 @@ -48,16 +48,6 @@ project(linphoneqt)
21 include(GNUInstallDirs)
22 include(CheckCXXCompilerFlag)
23
24 -# Prepare gobal CMAKE configuration specific to the current project
25 -set(SDK_BUILD_DIR "${CMAKE_BINARY_DIR}/WORK") # SDK build in WORK. Keep all in it.
26 -set(LINPHONE_OUTPUT_DIR "${CMAKE_BINARY_DIR}/linphone-sdk/desktop")
27 -
28 -set(APPLICATION_OUTPUT_DIR "${CMAKE_BINARY_DIR}/OUTPUT")
29 -
30 -set(CMAKE_PREFIX_PATH "${LINPHONE_OUTPUT_DIR};${APPLICATION_OUTPUT_DIR}${PREFIX_PATH}")
31 -string(REPLACE ";" "|" PREFIX_PATH "${CMAKE_PREFIX_PATH}")
32 -#set(PREFIX_PATH "${LINPHONE_OUTPUT_DIR}|${APPLICATION_OUTPUT_DIR}${PREFIX_PATH}")
33 -
34 # Avoid cmake warning if CMP0071 is not set.
35 if (POLICY CMP0071)
36 cmake_policy(SET CMP0071 NEW)
37 @@ -116,9 +106,6 @@ if(ENABLE_V4L)
38 endif()
39 list(APPEND APP_OPTIONS "-DENABLE_RELATIVE_PREFIX=${ENABLE_RELATIVE_PREFIX}")
40
41 -list(APPEND APP_OPTIONS "-DLINPHONE_OUTPUT_DIR=${LINPHONE_OUTPUT_DIR}")
42 -
43 -include(ExternalProject)
44 set(PROJECT_BUILD_COMMAND "")
45 if(CMAKE_BUILD_PARALLEL_LEVEL)
46 list(APPEND APP_OPTIONS "-DCMAKE_BUILD_PARALLEL_LEVEL=${CMAKE_BUILD_PARALLEL_LEVEL}")
47 @@ -133,32 +120,10 @@ if(CMAKE_VERBOSE_MAKEFILE)
48 endif()
49 endif()
50 if(UNIX AND NOT APPLE)
51 - set(CMAKE_INSTALL_RPATH "$ORIGIN:$ORIGIN/lib64:$ORIGIN/../lib64:$ORIGIN/lib:$ORIGIN/../lib:${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}")
52 list(APPEND APP_OPTIONS "-DCMAKE_INSTALL_RPATH=${CMAKE_INSTALL_RPATH}")
53 endif()
54 -ExternalProject_Add(sdk PREFIX "${CMAKE_BINARY_DIR}/sdk"
55 - SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-sdk"
56 - INSTALL_DIR "${LINPHONE_OUTPUT_DIR}"
57 - STAMP_DIR "${SDK_BUILD_DIR}/stamp"
58 - BINARY_DIR "${SDK_BUILD_DIR}"
59 - STEP_TARGETS build
60 - BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
61 - INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
62 - LIST_SEPARATOR | # Use the alternate list separator
63 - CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
64 - #BUILD_ALWAYS NO #${DO_BUILD}
65 -)
66 -ExternalProject_Add_Step(sdk force_build
67 - COMMENT "Forcing build for 'desktop'"
68 - DEPENDEES configure
69 - DEPENDERS build
70 - ALWAYS 1
71 -)
72 include(FindPkgConfig)
73
74 -set(APP_DEPENDS sdk)
75 -
76 -
77 find_package(Qt5 5.12 COMPONENTS Core REQUIRED)
78
79 if ( NOT Qt5_FOUND )
80 @@ -173,39 +138,5 @@ find_package(Mediastreamer2 CONFIG QUIET)
81 find_package(ortp CONFIG QUIET)
82
83
84 -if(NOT (LinphoneCxx_FOUND) OR NOT (Linphone_FOUND) OR NOT (bctoolbox_FOUND) OR NOT (belcard_FOUND) OR NOT (Mediastreamer2_FOUND) OR NOT (ortp_FOUND) OR FORCE_APP_EXTERNAL_PROJECTS)
85 - message("Projects are set as External projects. You can start building them by using for example : cmake --build . --target install")
86 - ExternalProject_Add(linphone-qt PREFIX "${CMAKE_BINARY_DIR}/linphone-app"
87 - SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-app"
88 - INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
89 - BINARY_DIR "${CMAKE_BINARY_DIR}/linphone-app"
90 - DEPENDS ${APP_DEPENDS}
91 - BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
92 - INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step will not be done by external project"
93 - LIST_SEPARATOR | # Use the alternate list separator
94 - CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
95 - # ${APP_OPTIONS}
96 - BUILD_ALWAYS ON
97 - )
98 - install(CODE "message(STATUS Running install)")
99 - set(AUTO_REGENERATION auto_regeneration)
100 - add_custom_target(${AUTO_REGENERATION} ALL
101 - COMMAND ${CMAKE_COMMAND} ${CMAKE_CURRENT_SOURCE_DIR}
102 - DEPENDS linphone-qt)
103 -else()
104 - message("Adding Linphone Desktop in an IDE-friendly state")
105 - set(CMAKE_INSTALL_PREFIX "${APPLICATION_OUTPUT_DIR}")
106 - add_subdirectory(${CMAKE_SOURCE_DIR}/linphone-app)
107 - add_dependencies(app-library ${APP_DEPENDS})
108 -endif()
109 -ExternalProject_Add(linphone-qt-only PREFIX "${CMAKE_BINARY_DIR}/linphone-app"
110 - SOURCE_DIR "${CMAKE_SOURCE_DIR}/linphone-app"
111 - INSTALL_DIR "${APPLICATION_OUTPUT_DIR}"
112 - BINARY_DIR "${CMAKE_BINARY_DIR}/linphone-app"
113 - BUILD_COMMAND ${CMAKE_COMMAND} --build <BINARY_DIR> --config $<CONFIG> ${PROJECT_BUILD_COMMAND}
114 -# INSTALL_COMMAND ${CMAKE_COMMAND} -E echo "Install step is already done at build time."
115 - LIST_SEPARATOR | # Use the alternate list separator
116 - CMAKE_ARGS ${APP_OPTIONS} ${USER_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${PREFIX_PATH}
117 - EXCLUDE_FROM_ALL ON
118 - BUILD_ALWAYS ON
119 -)
120 +message("Adding Linphone Desktop in an IDE-friendly state")
121 +add_subdirectory(${CMAKE_SOURCE_DIR}/linphone-app)
122 diff --git a/linphone-app/CMakeLists.txt b/linphone-app/CMakeLists.txt
123 index 3bc9420a..5267cd4a 100644
124 --- a/linphone-app/CMakeLists.txt
125 +++ b/linphone-app/CMakeLists.txt
126 @@ -21,17 +21,8 @@
127 ################################################################################
128 cmake_minimum_required(VERSION 3.1)
129
130 +include(linphoneqt_version.cmake)
131 find_package(bctoolbox CONFIG)
132 -set(FULL_VERSION )
133 -bc_compute_full_version(FULL_VERSION)
134 -set(version_major )
135 -set(version_minor )
136 -set(version_patch )
137 -set(identifiers )
138 -set(metadata )
139 -bc_parse_full_version("${FULL_VERSION}" version_major version_minor version_patch identifiers metadata)
140 -
141 -project(linphoneqt VERSION "${version_major}.${version_minor}.${version_patch}")
142
143 if(ENABLE_BUILD_VERBOSE)
144 #message("CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH}")
145 @@ -49,7 +40,6 @@ if(UNIX AND NOT APPLE)
146 set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
147 endif()
148 list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../cmake")
149 -list(APPEND CMAKE_MODULE_PATH "${LINPHONE_OUTPUT_DIR}/cmake")
150
151 set(APP_LIBRARY app-library)
152 include(application_info.cmake)
153 diff --git a/linphone-app/cmake_builder/additional_steps.cmake b/linphone-app/cmake_builder/additional_steps.cmake
154 index 7f7fd573..48e3c716 100644
155 --- a/linphone-app/cmake_builder/additional_steps.cmake
156 +++ b/linphone-app/cmake_builder/additional_steps.cmake
157 @@ -61,7 +61,7 @@ if (ENABLE_PACKAGING)
158 SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/linphone_package"
159 DOWNLOAD_COMMAND ""
160 CMAKE_GENERATOR ${CMAKE_GENERATOR}
161 - CMAKE_ARGS ${LINPHONE_BUILDER_EP_ARGS} -DCMAKE_INSTALL_PREFIX=${LINPHONE_BUILDER_WORK_DIR}/PACKAGE -DTOOLS_DIR=${CMAKE_BINARY_DIR}/programs -DLINPHONE_OUTPUT_DIR=${CMAKE_INSTALL_PREFIX} -DLINPHONE_DESKTOP_DIR=${CMAKE_CURRENT_LIST_DIR}/.. -DLINPHONE_SOURCE_DIR=${EP_linphone_SOURCE_DIR} ${ENABLE_VARIABLES} -DLINPHONE_BUILDER_SIGNING_IDENTITY=${LINPHONE_BUILDER_SIGNING_IDENTITY}
162 + CMAKE_ARGS ${LINPHONE_BUILDER_EP_ARGS} -DCMAKE_INSTALL_PREFIX=${LINPHONE_BUILDER_WORK_DIR}/PACKAGE -DTOOLS_DIR=${CMAKE_BINARY_DIR}/programs -DLINPHONE_DESKTOP_DIR=${CMAKE_CURRENT_LIST_DIR}/.. -DLINPHONE_SOURCE_DIR=${EP_linphone_SOURCE_DIR} ${ENABLE_VARIABLES} -DLINPHONE_BUILDER_SIGNING_IDENTITY=${LINPHONE_BUILDER_SIGNING_IDENTITY}
163 )
164 endif ()
165 endif ()
166 diff --git a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt
167 index baea03cf..d06dcb74 100644
168 --- a/linphone-app/cmake_builder/linphone_package/CMakeLists.txt
169 +++ b/linphone-app/cmake_builder/linphone_package/CMakeLists.txt
170 @@ -200,44 +200,6 @@ elseif (APPLE)
171 endif ()
172 # install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${APPLICATION_NAME}.app" DESTINATION "." USE_SOURCE_PERMISSIONS)
173 else()# Not Windows and Apple
174 - foreach (LIBRARY ${SHARED_LIBRARIES})
175 - get_filename_component(LIBRARY_FILENAME ${LIBRARY} NAME)
176 - message("Changing RPATH of ${LIBRARY_FILENAME} from '${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}' to '$ORIGIN/../${CMAKE_INSTALL_LIBDIR}'")
177 - execute_process(COMMAND install_name_tool -rpath "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}" "$ORIGIN/../lib" "${LIBRARY}")
178 - execute_process(COMMAND install_name_tool -addrpath "$ORIGIN/../lib64" "${LIBRARY}")
179 - endforeach ()
180 - install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_BINDIR}/" DESTINATION "${CMAKE_INSTALL_BINDIR}" USE_SOURCE_PERMISSIONS)
181 -#Just in case. This is useless because we have to use CMAKE_INSTALL_LIBDIR
182 - if( EXISTS "${LINPHONE_OUTPUT_DIR}/lib/")
183 - file(GLOB SHARED_LIBRARIES "${LINPHONE_OUTPUT_DIR}/lib/*.so*")
184 - if( ENABLE_OPENH264 )# Remove openH264 lib from the installation. this codec will be download by user
185 - foreach(item ${SHARED_LIBRARIES})
186 - get_filename_component(LIBRARY_FILENAME ${item} NAME)
187 - if("${LIBRARY_FILENAME}" MATCHES "^libopenh264.*$")
188 - list(REMOVE_ITEM SHARED_LIBRARIES ${item})
189 - endif()
190 - endforeach(item)
191 - endif()
192 - install(FILES ${SHARED_LIBRARIES} DESTINATION "lib")
193 - endif()
194 - if( EXISTS "${LINPHONE_OUTPUT_DIR}/lib64/")
195 - file(GLOB SHARED_LIBRARIES "${LINPHONE_OUTPUT_DIR}/lib64/*.so*")
196 - if( ENABLE_OPENH264 )# Remove openH264 lib from the installation. this codec will be download by user
197 - foreach(item ${SHARED_LIBRARIES})
198 - get_filename_component(LIBRARY_FILENAME ${item} NAME)
199 - if("${LIBRARY_FILENAME}" MATCHES "^libopenh264.*$")
200 - list(REMOVE_ITEM SHARED_LIBRARIES ${item})
201 - endif()
202 - endforeach(item)
203 - endif()
204 - install(FILES ${SHARED_LIBRARIES} DESTINATION "lib64")
205 - endif()
206 - install(DIRECTORY "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}" USE_SOURCE_PERMISSIONS)
207 - if(ENABLE_BUILD_VERBOSE)
208 - message("INSTALLATION : ${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_DATAROOTDIR}/" )
209 - endif()
210 - file(GLOB PLUGINS_FILES "${LINPHONE_OUTPUT_DIR}/${CMAKE_INSTALL_LIBDIR}/mediastreamer/plugins/*")
211 - install(FILES ${PLUGINS_FILES} DESTINATION "plugins/mediastreamer/" )
212 # Install desktop/icon files.
213 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/../../assets/linphone.desktop.cmake" "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}.desktop" @ONLY)
214 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/../../${EXECUTABLE_NAME}.desktop" DESTINATION "${CMAKE_INSTALL_DATADIR}/applications")
215 diff --git a/linphone-app/linphoneqt_version.cmake b/linphone-app/linphoneqt_version.cmake
216 new file mode 100644
217 index 00000000..a85d3455
218 --- /dev/null
219 +++ b/linphone-app/linphoneqt_version.cmake
220 @@ -0,0 +1 @@
221 +project(linphoneqt VERSION ${GUIX-SET-VERSION})
222 \ No newline at end of file
223 diff --git a/linphone-app/src/config.h.cmake b/linphone-app/src/config.h.cmake
224 index 093539e0..5a238c70 100644
225 --- a/linphone-app/src/config.h.cmake
226 +++ b/linphone-app/src/config.h.cmake
227 @@ -28,3 +28,4 @@
228 #cmakedefine ENABLE_UPDATE_CHECK 1
229 #cmakedefine EXECUTABLE_NAME "${EXECUTABLE_NAME}"
230 #cmakedefine MSPLUGINS_DIR "${MSPLUGINS_DIR}"
231 +#define LINPHONE_QT_GIT_VERSION "${PROJECT_VERSION}"
232 \ No newline at end of file
233 --
234 2.31.0
235