diff -Nru megaglest-3.13.0/debian/changelog megaglest-3.13.0/debian/changelog --- megaglest-3.13.0/debian/changelog 2019-08-04 08:30:20.000000000 +0000 +++ megaglest-3.13.0/debian/changelog 2020-02-28 12:20:51.000000000 +0000 @@ -1,3 +1,11 @@ +megaglest (3.13.0-5) unstable; urgency=medium + + * Declare compliance with Debian Policy 4.5.0. + * Add use-sdl2-config.cmake.patch. Fix FTBFS. Mitigate SDL2 bug 951087. + (Closes: #951959) + + -- Markus Koschany Fri, 28 Feb 2020 13:20:51 +0100 + megaglest (3.13.0-4) unstable; urgency=medium * Source-only upload to enable migration to testing. diff -Nru megaglest-3.13.0/debian/control megaglest-3.13.0/debian/control --- megaglest-3.13.0/debian/control 2019-08-04 08:30:20.000000000 +0000 +++ megaglest-3.13.0/debian/control 2020-02-28 12:11:45.000000000 +0000 @@ -29,7 +29,7 @@ libz-dev, xauth, xvfb -Standards-Version: 4.4.0 +Standards-Version: 4.5.0 Vcs-Git: https://salsa.debian.org/games-team/megaglest.git Vcs-Browser: https://salsa.debian.org/games-team/megaglest Homepage: http://megaglest.org/ diff -Nru megaglest-3.13.0/debian/copyright megaglest-3.13.0/debian/copyright --- megaglest-3.13.0/debian/copyright 2019-08-04 08:25:45.000000000 +0000 +++ megaglest-3.13.0/debian/copyright 2020-02-28 12:20:51.000000000 +0000 @@ -23,7 +23,7 @@ Files: debian/* Copyright: 2011-2014, Mark Vejvoda 2012-2013, Paul Wise - 2014-2017, Markus Koschany + 2014-2020, Markus Koschany License: GPL-3+ Files: mk/cmake/Modules/FindGLIB2.cmake diff -Nru megaglest-3.13.0/debian/patches/series megaglest-3.13.0/debian/patches/series --- megaglest-3.13.0/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ megaglest-3.13.0/debian/patches/series 2020-02-28 12:20:51.000000000 +0000 @@ -0,0 +1 @@ +use-sdl2-config.cmake.patch diff -Nru megaglest-3.13.0/debian/patches/use-sdl2-config.cmake.patch megaglest-3.13.0/debian/patches/use-sdl2-config.cmake.patch --- megaglest-3.13.0/debian/patches/use-sdl2-config.cmake.patch 1970-01-01 00:00:00.000000000 +0000 +++ megaglest-3.13.0/debian/patches/use-sdl2-config.cmake.patch 2020-02-28 12:20:51.000000000 +0000 @@ -0,0 +1,303 @@ +From: Markus Koschany +Date: Fri, 28 Feb 2020 13:19:34 +0100 +Subject: use sdl2 config.cmake + +--- + CMakeLists.txt | 3 + + mk/cmake/Modules/FindSDL2.cmake | 180 --------------------------------- + source/g3d_viewer/CMakeLists.txt | 6 +- + source/glest_game/CMakeLists.txt | 6 +- + source/glest_map_editor/CMakeLists.txt | 6 +- + source/shared_lib/CMakeLists.txt | 6 +- + source/tests/CMakeLists.txt | 6 +- + 7 files changed, 18 insertions(+), 195 deletions(-) + delete mode 100644 mk/cmake/Modules/FindSDL2.cmake + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e23a572..fe56a98 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -447,6 +447,9 @@ endforeach() + #MESSAGE( STATUS "=====> DirDefs: " ${DirDefs} ) + #MESSAGE(STATUS "*** Compiler definitions are [${COMPILE_DEFINITIONS}]") + ++FIND_PACKAGE(SDL2 REQUIRED CONFIG) ++INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIRS}) ++ + MARK_AS_ADVANCED(${SDL_VERSION_NAME}MAIN_LIBRARY) + MARK_AS_ADVANCED(${SDL_VERSION_NAME}_INCLUDE_DIR) + MARK_AS_ADVANCED(${SDL_VERSION_NAME}_LIBRARY) +diff --git a/mk/cmake/Modules/FindSDL2.cmake b/mk/cmake/Modules/FindSDL2.cmake +deleted file mode 100644 +index d1bc1fe..0000000 +--- a/mk/cmake/Modules/FindSDL2.cmake ++++ /dev/null +@@ -1,180 +0,0 @@ +-# Locate SDL2 library +-# This module defines +-# SDL2_LIBRARY, the name of the library to link against +-# SDL2_FOUND, if false, do not try to link to SDL2 +-# SDL2_INCLUDE_DIR, where to find SDL.h +-# +-# This module responds to the the flag: +-# SDL2_BUILDING_LIBRARY +-# If this is defined, then no SDL2_main will be linked in because +-# only applications need main(). +-# Otherwise, it is assumed you are building an application and this +-# module will attempt to locate and set the the proper link flags +-# as part of the returned SDL2_LIBRARY variable. +-# +-# Don't forget to include SDL2main.h and SDL2main.m your project for the +-# OS X framework based version. (Other versions link to -lSDL2main which +-# this module will try to find on your behalf.) Also for OS X, this +-# module will automatically add the -framework Cocoa on your behalf. +-# +-# +-# Additional Note: If you see an empty SDL2_LIBRARY_TEMP in your configuration +-# and no SDL2_LIBRARY, it means CMake did not find your SDL2 library +-# (SDL2.dll, libsdl2.so, SDL2.framework, etc). +-# Set SDL2_LIBRARY_TEMP to point to your SDL2 library, and configure again. +-# Similarly, if you see an empty SDL2MAIN_LIBRARY, you should set this value +-# as appropriate. These values are used to generate the final SDL2_LIBRARY +-# variable, but when these values are unset, SDL2_LIBRARY does not get created. +-# +-# +-# $SDL2DIR is an environment variable that would +-# correspond to the ./configure --prefix=$SDL2DIR +-# used in building SDL2. +-# l.e.galup 9-20-02 +-# +-# Modified by Eric Wing. +-# Added code to assist with automated building by using environmental variables +-# and providing a more controlled/consistent search behavior. +-# Added new modifications to recognize OS X frameworks and +-# additional Unix paths (FreeBSD, etc). +-# Also corrected the header search path to follow "proper" SDL2 guidelines. +-# Added a search for SDL2main which is needed by some platforms. +-# Added a search for threads which is needed by some platforms. +-# Added needed compile switches for MinGW. +-# +-# On OSX, this will prefer the Framework version (if found) over others. +-# People will have to manually change the cache values of +-# SDL2_LIBRARY to override this selection or set the CMake environment +-# CMAKE_INCLUDE_PATH to modify the search paths. +-# +-# Note that the header path has changed from SDL2/SDL.h to just SDL.h +-# This needed to change because "proper" SDL2 convention +-# is #include "SDL.h", not . This is done for portability +-# reasons because not all systems place things in SDL2/ (see FreeBSD). +-# +-# Ported by Johnny Patterson. This is a literal port for SDL2 of the FindSDL.cmake +-# module with the minor edit of changing "SDL" to "SDL2" where necessary. This +-# was not created for redistribution, and exists temporarily pending official +-# SDL2 CMake modules. +- +-#============================================================================= +-# Copyright 2003-2009 Kitware, Inc. +-# +-# Distributed under the OSI-approved BSD License (the "License"); +-# see accompanying file Copyright.txt for details. +-# +-# This software is distributed WITHOUT ANY WARRANTY; without even the +-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +-# See the License for more information. +-#============================================================================= +-# (To distribute this file outside of CMake, substitute the full +-# License text for the above reference.) +- +-FIND_PATH(SDL2_INCLUDE_DIR SDL.h +- HINTS +- $ENV{SDL2DIR} +- PATH_SUFFIXES include/SDL2 include +- PATHS +- ~/Library/Frameworks +- /Library/Frameworks +- /usr/local/include/SDL2 +- /usr/include/SDL2 +- /sw # Fink +- /opt/local # DarwinPorts +- /opt/csw # Blastwave +- /opt +-) +-#MESSAGE("SDL2_INCLUDE_DIR is ${SDL2_INCLUDE_DIR}") +- +-FIND_LIBRARY(SDL2_LIBRARY_TEMP +- NAMES SDL2 +- HINTS +- $ENV{SDL2DIR} +- PATH_SUFFIXES lib64 lib +- PATHS +- /sw +- /opt/local +- /opt/csw +- /opt +-) +-#MESSAGE("SDL2_LIBRARY_TEMP is ${SDL2_LIBRARY_TEMP}") +- +-IF(NOT SDL2_BUILDING_LIBRARY) +- IF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework") +- # Non-OS X framework versions expect you to also dynamically link to +- # SDL2main. This is mainly for Windows and OS X. Other (Unix) platforms +- # seem to provide SDL2main for compatibility even though they don't +- # necessarily need it. +- FIND_LIBRARY(SDL2MAIN_LIBRARY +- NAMES SDL2main +- HINTS +- $ENV{SDL2DIR} +- PATH_SUFFIXES lib64 lib +- PATHS +- /sw +- /opt/local +- /opt/csw +- /opt +- ) +- ENDIF() +-ENDIF() +- +-# SDL2 may require threads on your system. +-# The Apple build may not need an explicit flag because one of the +-# frameworks may already provide it. +-# But for non-OSX systems, I will use the CMake Threads package. +-IF(NOT APPLE) +- FIND_PACKAGE(Threads) +-ENDIF() +- +-# MinGW needs an additional library, mwindows +-# It's total link flags should look like -lmingw32 -lSDL2main -lSDL2 -lmwindows +-# (Actually on second look, I think it only needs one of the m* libraries.) +-IF(MINGW) +- SET(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW") +-ENDIF() +- +-SET(SDL2_FOUND "NO") +-IF(SDL2_LIBRARY_TEMP) +- # For SDL2main +- IF(NOT SDL2_BUILDING_LIBRARY) +- IF(SDL2MAIN_LIBRARY) +- SET(SDL2_LIBRARY_TEMP ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY_TEMP}) +- ENDIF() +- ENDIF() +- +- # For OS X, SDL2 uses Cocoa as a backend so it must link to Cocoa. +- # CMake doesn't display the -framework Cocoa string in the UI even +- # though it actually is there if I modify a pre-used variable. +- # I think it has something to do with the CACHE STRING. +- # So I use a temporary variable until the end so I can set the +- # "real" variable in one-shot. +- IF(APPLE) +- SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa") +- ENDIF() +- +- # For threads, as mentioned Apple doesn't need this. +- # In fact, there seems to be a problem if I used the Threads package +- # and try using this line, so I'm just skipping it entirely for OS X. +- IF(NOT APPLE) +- SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT}) +- ENDIF() +- +- # For MinGW library +- IF(MINGW) +- SET(SDL2_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL2_LIBRARY_TEMP}) +- ENDIF() +- +- # Set the final string here so the GUI reflects the final state. +- SET(SDL2_LIBRARY ${SDL2_LIBRARY_TEMP} CACHE STRING "Where the SDL2 Library can be found") +- # Set the temp variable to INTERNAL so it is not seen in the CMake GUI +- SET(SDL2_LIBRARY_TEMP "${SDL2_LIBRARY_TEMP}" CACHE INTERNAL "") +- #MESSAGE("SDL2_LIBRARY is ${SDL2_LIBRARY}") +- +- SET(SDL2_FOUND "YES") +-ENDIF() +- +-INCLUDE(FindPackageHandleStandardArgs) +- +-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 +- REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR) +diff --git a/source/g3d_viewer/CMakeLists.txt b/source/g3d_viewer/CMakeLists.txt +index 9099589..bb85da8 100644 +--- a/source/g3d_viewer/CMakeLists.txt ++++ b/source/g3d_viewer/CMakeLists.txt +@@ -16,9 +16,9 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER) + # Was required at least on bsd and macos. + ENDIF() + +- FIND_PACKAGE(${SDL_VERSION_NAME} REQUIRED) +- INCLUDE_DIRECTORIES(${${SDL_VERSION_NAME}_INCLUDE_DIR}) +- SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${${SDL_VERSION_NAME}_LIBRARY}) ++ FIND_PACKAGE(${SDL_VERSION_NAME} REQUIRED CONFIG) ++ INCLUDE_DIRECTORIES(${${SDL_VERSION_NAME}_INCLUDE_DIRS}) ++ SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${${SDL_VERSION_NAME}_LIBRARIES}) + + FIND_PACKAGE(OpenGL REQUIRED) + INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) +diff --git a/source/glest_game/CMakeLists.txt b/source/glest_game/CMakeLists.txt +index 42656bd..aa5ed1c 100644 +--- a/source/glest_game/CMakeLists.txt ++++ b/source/glest_game/CMakeLists.txt +@@ -29,10 +29,10 @@ IF(BUILD_MEGAGLEST) + link_directories(${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib) + ENDIF() + +- FIND_PACKAGE(${SDL_VERSION_NAME} REQUIRED) +- INCLUDE_DIRECTORIES(${${SDL_VERSION_NAME}_INCLUDE_DIR}) ++ FIND_PACKAGE(${SDL_VERSION_NAME} REQUIRED CONFIG) ++ INCLUDE_DIRECTORIES(${${SDL_VERSION_NAME}_INCLUDE_DIRS}) + IF(UNIX) +- SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${${SDL_VERSION_NAME}_LIBRARY}) ++ SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${${SDL_VERSION_NAME}_LIBRARIES}) + ENDIF() + + FIND_PACKAGE(OpenGL REQUIRED) +diff --git a/source/glest_map_editor/CMakeLists.txt b/source/glest_map_editor/CMakeLists.txt +index 378a3ac..df2d0ec 100644 +--- a/source/glest_map_editor/CMakeLists.txt ++++ b/source/glest_map_editor/CMakeLists.txt +@@ -16,9 +16,9 @@ IF(BUILD_MEGAGLEST_MAP_EDITOR) + # Was required at least on bsd and macos. + ENDIF() + +- FIND_PACKAGE(${SDL_VERSION_NAME} REQUIRED) +- INCLUDE_DIRECTORIES(${${SDL_VERSION_NAME}_INCLUDE_DIR}) +- SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${${SDL_VERSION_NAME}_LIBRARY}) ++ FIND_PACKAGE(${SDL_VERSION_NAME} REQUIRED CONFIG) ++ INCLUDE_DIRECTORIES(${${SDL_VERSION_NAME}_INCLUDE_DIRS}) ++ SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${${SDL_VERSION_NAME}_LIBRARIES}) + + FIND_PACKAGE(OpenGL REQUIRED) + INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) +diff --git a/source/shared_lib/CMakeLists.txt b/source/shared_lib/CMakeLists.txt +index afb03c1..67c60e1 100644 +--- a/source/shared_lib/CMakeLists.txt ++++ b/source/shared_lib/CMakeLists.txt +@@ -100,10 +100,10 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST + ENDIF() + ENDIF() + +- FIND_PACKAGE(${SDL_VERSION_NAME} REQUIRED) +- INCLUDE_DIRECTORIES(${${SDL_VERSION_NAME}_INCLUDE_DIR}) ++ FIND_PACKAGE(${SDL_VERSION_NAME} REQUIRED CONFIG) ++ INCLUDE_DIRECTORIES(${${SDL_VERSION_NAME}_INCLUDE_DIRS}) + IF(UNIX) +- SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${${SDL_VERSION_NAME}_LIBRARY}) ++ SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${${SDL_VERSION_NAME}_LIBRARIES}) + ENDIF() + + FIND_PACKAGE(OpenGL REQUIRED) +diff --git a/source/tests/CMakeLists.txt b/source/tests/CMakeLists.txt +index 820b696..044366b 100644 +--- a/source/tests/CMakeLists.txt ++++ b/source/tests/CMakeLists.txt +@@ -15,10 +15,10 @@ IF(BUILD_MEGAGLEST_TESTS) + SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${CPPUNIT_LIBRARY}) + ENDIF() + +- FIND_PACKAGE(${SDL_VERSION_NAME} REQUIRED) +- INCLUDE_DIRECTORIES(${${SDL_VERSION_NAME}_INCLUDE_DIR}) ++ FIND_PACKAGE(${SDL_VERSION_NAME} REQUIRED CONFIG) ++ INCLUDE_DIRECTORIES(${${SDL_VERSION_NAME}_INCLUDE_DIRS}) + IF(UNIX) +- SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${${SDL_VERSION_NAME}_LIBRARY}) ++ SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${${SDL_VERSION_NAME}_LIBRARIES}) + ENDIF() + + if(WANT_USE_FriBiDi)