Control: tag -1 patch Hi,
On 16.07.2015 20:23, Andreas Cadhalpun wrote: > On 12.06.2015 19:15, Andreas Cadhalpun wrote: >> freerdp currently fails to build in sid/stretch with the following error: >> CMake Error at channels/client/CMakeLists.txt:33 (list): >> list sub-command REMOVE_DUPLICATES requires list to be present. > > This is fixed-upstream as part of commit [1]. > However, there are more issues, but current git HEAD compiles fine. [...] > 1: > https://github.com/FreeRDP/FreeRDP/commit/1b663ceffe51008af7ae9749e5b7999b2f7d6698?diff=unified Attached is a patch for the debian package backporting this commit and additionally fixing winpr/libwinpr/CMakeLists.txt in a similar way. This is now the last package not yet rebuilt for the ffmpeg-libav transition [2], so please upload the fix as soon as possible. Best regards, Andreas 2: https://release.debian.org/transitions/html/ffmpeg-libav.html
diff --git a/debian/patches/0004_build-cmake-3.1-compatibility.patch b/debian/patches/0004_build-cmake-3.1-compatibility.patch new file mode 100644 index 0000000..71df3ec --- /dev/null +++ b/debian/patches/0004_build-cmake-3.1-compatibility.patch @@ -0,0 +1,78 @@ +From 1b663ceffe51008af7ae9749e5b7999b2f7d6698 Mon Sep 17 00:00:00 2001 +From: Bernhard Miklautz <bernhard.mikla...@shacknet.at> +Date: Fri, 12 Dec 2014 18:26:45 +0100 +Subject: [PATCH] build: cmake 3.1 compatibility + +* fix problem with REMOVE_DUPLICATES on undefined lists +* since 3.1 file(GLOB FILEPATHS RELATIVE .. returns single / instead of // as + previously - necessary adoptions for regex and matches done. Should + work with all cmake versions. + +Tested with 3.1.0-rc3 + +Origin: upstream, https://github.com/FreeRDP/FreeRDP/commit/1b663ceffe51008af7ae9749e5b7999b2f7d6698?diff=unified + +diff --git a/channels/CMakeLists.txt b/channels/CMakeLists.txt +index d9e8402..006e50f 100644 +--- a/channels/CMakeLists.txt ++++ b/channels/CMakeLists.txt +@@ -202,8 +202,8 @@ set(FILENAME "ChannelOptions.cmake") + file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}") + + foreach(FILEPATH ${FILEPATHS}) +- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}") +- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" DIR ${FILEPATH}) ++ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}") ++ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" DIR ${FILEPATH}) + set(CHANNEL_OPTION) + include(${FILEPATH}) + if(${CHANNEL_OPTION}) +diff --git a/channels/client/CMakeLists.txt b/channels/client/CMakeLists.txt +index fc42466..a78cdeb 100644 +--- a/channels/client/CMakeLists.txt ++++ b/channels/client/CMakeLists.txt +@@ -30,7 +30,9 @@ set(${MODULE_PREFIX}_SRCS + ${CMAKE_CURRENT_SOURCE_DIR}/channels.c + ${CMAKE_CURRENT_SOURCE_DIR}/channels.h) + ++if(CHANNEL_STATIC_CLIENT_ENTRIES) + list(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES) ++endif() + + foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES}) + foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES}) +diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt +index 09b1fd4..610f35e 100644 +--- a/third-party/CMakeLists.txt ++++ b/third-party/CMakeLists.txt +@@ -22,11 +22,11 @@ + file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt") + + foreach(dir ${all_valid_subdirs}) +- if(${dir} MATCHES "^([^/]*)//CMakeLists.txt") +- string(REGEX REPLACE "^([^/]*)//CMakeLists.txt" "\\1" dir_trimmed ${dir}) ++ if(${dir} MATCHES "^([^/]*)/+CMakeLists.txt") ++ string(REGEX REPLACE "^([^/]*)/+CMakeLists.txt" "\\1" dir_trimmed ${dir}) + message(STATUS "Adding third-party component ${dir_trimmed}") + add_subdirectory(${dir_trimmed}) + endif() + endforeach(dir) + +-set(THIRD_PARTY_INCLUDES ${THIRD_PARTY_INCLUDES} PARENT_SCOPE) +\ No newline at end of file ++set(THIRD_PARTY_INCLUDES ${THIRD_PARTY_INCLUDES} PARENT_SCOPE) +diff --git a/winpr/libwinpr/CMakeLists.txt b/winpr/libwinpr/CMakeLists.txt +index fdb2bda..7e1603b 100644 +--- a/winpr/libwinpr/CMakeLists.txt ++++ b/winpr/libwinpr/CMakeLists.txt +@@ -32,8 +32,8 @@ set(FILENAME "ModuleOptions.cmake") + file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}") + + foreach(FILEPATH ${FILEPATHS}) +- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}") +- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" ${MODULE_PREFIX}_SUBMODULE ${FILEPATH}) ++ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}") ++ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" ${MODULE_PREFIX}_SUBMODULE ${FILEPATH}) + set(${MODULE_PREFIX}_SUBMODULES ${${MODULE_PREFIX}_SUBMODULES} ${${MODULE_PREFIX}_SUBMODULE}) + endif() + endforeach(FILEPATH) diff --git a/debian/patches/series b/debian/patches/series index c6fa6bb..40d6e0a 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -10,3 +10,4 @@ 0001_fix-cmdline-parser.patch 0002_handle-old-style-cmdline-options.patch 0003_copy-data-when-adding-glyph-to-cache.patch +0004_build-cmake-3.1-compatibility.patch
_______________________________________________ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers