diff --git a/FindPROJ4.patch b/FindPROJ4.patch new file mode 100644 index 0000000..d89c2d8 --- /dev/null +++ b/FindPROJ4.patch @@ -0,0 +1,158 @@ +Description: Add FindPROJ4.cmake. +Origin: https://salsa.debian.org/debian/openorienteering-mapper/raw/debian/0.8.4-1/cmake/FindPROJ4.cmake + +--- /dev/null ++++ b/cmake/Modules/FindPROJ4.cmake +@@ -0,0 +1,152 @@ ++#.rst: ++# FindPROJ4 ++# -------- ++# ++# Find the proj includes and library. ++# ++# IMPORTED Targets ++# ^^^^^^^^^^^^^^^^ ++# ++# This module defines :prop_tgt:`IMPORTED` target ``PROJ4::proj``, ++# if Proj.4 has been found. ++# ++# Result Variables ++# ^^^^^^^^^^^^^^^^ ++# ++# This module defines the following variables: ++# ++# :: ++# ++# PROJ4_INCLUDE_DIRS - where to find proj_api.h, etc. ++# PROJ4_LIBRARIES - List of libraries when using libproj. ++# PROJ4_FOUND - True if libproj found. ++# ++# :: ++# ++# PROJ4_VERSION - The version of libproj found (x.y.z) ++# PROJ4_VERSION_MAJOR - The major version of libproj ++# PROJ4_VERSION_MINOR - The minor version of libproj ++# PROJ4_VERSION_PATCH - The patch version of libproj ++# PROJ4_VERSION_TWEAK - always 0 ++# PROJ4_VERSION_COUNT - The number of version components, always 3 ++# ++# Hints ++# ^^^^^ ++# ++# A user may set ``PROJ4_ROOT`` to a libproj installation root to tell this ++# module where to look exclusively. ++ ++#============================================================================= ++# Copyright 2016 Kai Pastor ++# ++# ++# This file was derived from CMake 3.5's module FindZLIB.cmake ++# which has the following terms: ++# ++# Copyright 2001-2011 Kitware, Inc. ++# ++# Redistribution and use in source and binary forms, with or without ++# modification, are permitted provided that the following conditions are ++# met: ++# ++# * Redistributions of source code must retain the above copyright notice, ++# this list of conditions and the following disclaimer. ++# ++# * Redistributions in binary form must reproduce the above copyright notice, ++# this list of conditions and the following disclaimer in the documentation ++# and/or other materials provided with the distribution. ++# ++# * The names of Kitware, Inc., the Insight Consortium, or the names of ++# any consortium members, or of any contributors, may not be used to ++# endorse or promote products derived from this software without ++# specific prior written permission. ++# ++# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS ``AS IS'' ++# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ++# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ++# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ++# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL ++# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR ++# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER ++# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ++# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ++# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++#============================================================================= ++ ++# Search PROJ4_ROOT exclusively if it is set. ++if(PROJ4_ROOT) ++ set(_PROJ4_SEARCH PATHS ${PROJ4_ROOT} NO_DEFAULT_PATH) ++else() ++ set(_PROJ4_SEARCH) ++endif() ++ ++find_path(PROJ4_INCLUDE_DIR NAMES proj_api.h ${_PROJ4_SEARCH} PATH_SUFFIXES include) ++mark_as_advanced(PROJ4_INCLUDE_DIR) ++ ++if(PROJ4_INCLUDE_DIR AND EXISTS "${PROJ4_INCLUDE_DIR}/proj_api.h") ++ file(STRINGS "${PROJ4_INCLUDE_DIR}/proj_api.h" PROJ4_H REGEX "^#define PJ_VERSION [0-9]+$") ++ ++ string(REGEX REPLACE "^.*PJ_VERSION ([0-9]).*$" "\\1" PROJ4_VERSION_MAJOR "${PROJ4_H}") ++ string(REGEX REPLACE "^.*PJ_VERSION [0-9]([0-9]).*$" "\\1" PROJ4_VERSION_MINOR "${PROJ4_H}") ++ string(REGEX REPLACE "^.*PJ_VERSION [0-9][0-9]([0-9]).*$" "\\1" PROJ4_VERSION_PATCH "${PROJ4_H}") ++ set(PROJ4_VERSION "${PROJ4_VERSION_MAJOR}.${PROJ4_VERSION_MINOR}.${PROJ4_VERSION_PATCH}") ++ set(PROJ4_VERSION_COUNT 3) ++endif() ++ ++# Allow PROJ4_LIBRARY to be set manually, as the location of the proj library ++if(NOT PROJ4_LIBRARY) ++ set(PROJ4_NAMES proj) ++ set(PROJ4_NAMES_DEBUG projd) ++ if(WIN32 AND DEFINED PROJ4_VERSION_MAJOR AND DEFINED PROJ4_VERSION_MINOR) ++ list(APPEND PROJ4_NAMES proj_${PROJ4_VERSION_MAJOR}_${PROJ4_VERSION_MINOR}) ++ list(APPEND PROJ4_NAMES projd_${PROJ4_VERSION_MAJOR}_${PROJ4_VERSION_MINOR}) ++ endif() ++ find_library(PROJ4_LIBRARY_RELEASE NAMES ${PROJ4_NAMES} ${_PROJ4_SEARCH} PATH_SUFFIXES lib) ++ find_library(PROJ4_LIBRARY_DEBUG NAMES ${PROJ4_NAMES_DEBUG} ${_PROJ4_SEARCH} PATH_SUFFIXES lib) ++ include(SelectLibraryConfigurations) ++ select_library_configurations(PROJ4) ++endif() ++ ++# handle the QUIETLY and REQUIRED arguments and set PROJ4_FOUND to TRUE if ++# all listed variables are TRUE ++include(FindPackageHandleStandardArgs) ++find_package_handle_standard_args(PROJ4 ++ REQUIRED_VARS ++ PROJ4_LIBRARY ++ PROJ4_INCLUDE_DIR ++ VERSION_VAR ++ PROJ4_VERSION ++) ++ ++if(PROJ4_FOUND) ++ set(PROJ4_INCLUDE_DIRS ${PROJ4_INCLUDE_DIR}) ++ ++ if(NOT PROJ4_LIBRARIES) ++ set(PROJ4_LIBRARIES ${PROJ4_LIBRARY}) ++ endif() ++ ++ if(NOT TARGET PROJ4::proj) ++ add_library(PROJ4::proj UNKNOWN IMPORTED) ++ set_target_properties(PROJ4::proj PROPERTIES ++ INTERFACE_INCLUDE_DIRECTORIES "${PROJ4_INCLUDE_DIRS}") ++ ++ if(PROJ4_LIBRARY_RELEASE) ++ set_property(TARGET PROJ4::proj APPEND PROPERTY ++ IMPORTED_CONFIGURATIONS RELEASE) ++ set_target_properties(PROJ4::proj PROPERTIES ++ IMPORTED_LOCATION_RELEASE "${PROJ4_LIBRARY_RELEASE}") ++ endif() ++ ++ if(PROJ4_LIBRARY_DEBUG) ++ set_property(TARGET PROJ4::proj APPEND PROPERTY ++ IMPORTED_CONFIGURATIONS DEBUG) ++ set_target_properties(PROJ4::proj PROPERTIES ++ IMPORTED_LOCATION_DEBUG "${PROJ4_LIBRARY_DEBUG}") ++ endif() ++ ++ if(NOT PROJ4_LIBRARY_RELEASE AND NOT PROJ4_LIBRARY_DEBUG) ++ set_property(TARGET PROJ4::proj APPEND PROPERTY ++ IMPORTED_LOCATION "${PROJ4_LIBRARY}") ++ endif() ++ endif() ++endif() diff --git a/qmapshack.spec b/qmapshack.spec index bad3140..7702ce8 100644 --- a/qmapshack.spec +++ b/qmapshack.spec @@ -1,6 +1,6 @@ Name: qmapshack Version: 1.13.0 -Release: 5%{?dist} +Release: 6%{?dist} Summary: GPS mapping and management tool License: GPLv3+ and BSD @@ -8,6 +8,8 @@ URL: https://bitbucket.org/maproom/qmapshack/wiki/Home Source0: https://bitbucket.org/maproom/%{name}/downloads/%{name}-%{version}.tar.gz # revert to routino 3.0 API Patch1: %{name}-1.11.0-routino30.patch +# don't rely on proj for cmake config +Patch2: FindPROJ4.patch Requires: proj-epsg %if 0%{?fedora} Recommends: routino @@ -73,6 +75,10 @@ QMapShack. # starting with F-26 we have routino 3.2 %patch1 -p1 %endif +%if 0%{?rhel} || 0%{?fedora} < 31 +# starting with F-31 we have proj package with the cmake config +%patch2 -p1 +%endif # create build directory mkdir build @@ -118,6 +124,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/qmaptool.desktop %changelog +* Tue May 14 2019 Dan Horák - 1.13.0-6 +- allow build in F<=30 + * Tue Apr 16 2019 Dan Horák - 1.13.0-5 - update to 1.13.0 (#1697564)