summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch')
-rw-r--r--net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch151
1 files changed, 151 insertions, 0 deletions
diff --git a/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch
new file mode 100644
index 000000000000..e47f61ee894a
--- /dev/null
+++ b/net-fs/cvmfs/files/cvmfs-2.1.20.0_p05-geoip-missing-cmake.patch
@@ -0,0 +1,151 @@
+--- /dev/null
++++ cmake/Modules/FindLibGeoIP.cmake
+@@ -0,0 +1,68 @@
++# - Try to find GeoIP headers and libraries
++#
++# Usage of this module as follows:
++#
++# find_package(LibGeoIP)
++#
++# Variables used by this module, they can change the default behaviour and need
++# to be set before calling find_package:
++#
++# LibGeoIP_ROOT_DIR Set this variable to the root installation of
++# libGeoIP if the module has problems finding the
++# proper installation path.
++#
++# Variables defined by this module:
++#
++# LIBGEOIP_FOUND System has GeoIP libraries and headers
++# LibGeoIP_LIBRARY The GeoIP library
++# LibGeoIP_INCLUDE_DIR The location of GeoIP headers
++# HAVE_GEOIP_COUNTRY_EDITION_V6 Whether the API support IPv6 country edition
++# HAVE_GEOIP_CITY_EDITION_REV0_V6 Whether the API supports IPv6 city edition
++
++find_path(LibGeoIP_ROOT_DIR
++ NAMES include/GeoIPCity.h
++)
++
++if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
++ # the static version of the library is preferred on OS X for the
++ # purposes of making packages (libGeoIP doesn't ship w/ OS X)
++ set(libgeoip_names libGeoIp.a GeoIP)
++else ()
++ set(libgeoip_names GeoIP)
++endif ()
++
++find_library(LibGeoIP_LIBRARY
++ NAMES ${libgeoip_names}
++ HINTS ${LibGeoIP_ROOT_DIR}/lib
++)
++
++find_path(LibGeoIP_INCLUDE_DIR
++ NAMES GeoIPCity.h
++ HINTS ${LibGeoIP_ROOT_DIR}/include
++)
++
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(LibGeoIP DEFAULT_MSG
++ LibGeoIP_LIBRARY
++ LibGeoIP_INCLUDE_DIR
++)
++
++if (LIBGEOIP_FOUND)
++ include(CheckCXXSourceCompiles)
++ set(CMAKE_REQUIRED_INCLUDES ${LibGeoIP_INCLUDE_DIR})
++ check_cxx_source_compiles("
++ #include <GeoIPCity.h>
++ int main() { GEOIP_COUNTRY_EDITION_V6; return 0; }
++ " HAVE_GEOIP_COUNTRY_EDITION_V6)
++ check_cxx_source_compiles("
++ #include <GeoIPCity.h>
++ int main() { GEOIP_CITY_EDITION_REV0_V6; return 0; }
++ " HAVE_GEOIP_CITY_EDITION_REV0_V6)
++ set(CMAKE_REQUIRED_INCLUDES)
++endif ()
++
++mark_as_advanced(
++ LibGeoIP_ROOT_DIR
++ LibGeoIP_LIBRARY
++ LibGeoIP_INCLUDE_DIR
++)
+\ No newline at end of file
+diff --git a/cmake/Modules/FindPythonModule.cmake b/cmake/Modules/FindPythonModule.cmake
+new file mode 100644
+index 0000000..1a29315
+--- /dev/null
++++ cmake/Modules/FindPythonModule.cmake
+@@ -0,0 +1,24 @@
++# Find if a Python module is installed
++# Found at http://www.cmake.org/pipermail/cmake/2011-January/041666.html
++# To use do: find_python_module(PyQt4 REQUIRED)
++function(find_python_module module)
++ string(TOUPPER ${module} module_upper)
++ if(NOT PYTHON_${module_upper})
++ include (FindPythonInterp)
++ if(ARGC GREATER 1 AND ARGV1 STREQUAL "REQUIRED")
++ set(PY_${module}_FIND_REQUIRED TRUE)
++ endif()
++ # A module's location is usually a directory, but for binary modules
++ # it's a .so file.
++ execute_process(COMMAND "${PYTHON_EXECUTABLE}" "-c"
++ "import re, ${module}; print(re.compile('/__init__.py.*').sub('',${module}.__file__))"
++ RESULT_VARIABLE _${module}_status
++ OUTPUT_VARIABLE _${module}_location
++ ERROR_QUIET
++ OUTPUT_STRIP_TRAILING_WHITESPACE)
++ if(${_${module}_status} EQUAL 0)
++ set(PYTHON_${module_upper} ${_${module}_location} CACHE STRING "Location of Python module ${module}")
++ endif(${_${module}_status} EQUAL 0)
++ endif(NOT PYTHON_${module_upper})
++ find_package_handle_standard_args(PY_${module} DEFAULT_MSG PYTHON_${module_upper})
++endfunction(find_python_module)
+\ No newline at end of file
+diff --git a/cvmfs/CMakeLists.txt b/cvmfs/CMakeLists.txt
+index cb09b94..44be85e 100644
+--- cvmfs/CMakeLists.txt
++++ cvmfs/CMakeLists.txt
+@@ -347,9 +347,9 @@ if (BUILD_SERVER)
+ # create targets with corresponding sources and static link libraries
+ add_executable (cvmfs_swissknife ${CVMFS_SWISSKNIFE_SOURCES})
+ add_executable (cvmfs_suid_helper ${CVMFS_SUID_HELPER_SOURCES})
+- add_custom_target (geoip ALL)
+
+ if (GEOIP_BUILTIN)
++ add_custom_target (geoip ALL)
+ add_dependencies (python-geoip libgeoip)
+ add_dependencies (geoip python-geoip)
+ endif (GEOIP_BUILTIN)
+--- CMakeLists.txt.orig 2015-08-04 15:33:53.383868890 +0000
++++ CMakeLists.txt 2015-08-04 15:58:03.133842858 +0000
+@@ -145,6 +145,12 @@
+ endif (EXISTS "${CMAKE_SOURCE_DIR}/bootstrap.sh")
+
+ #
++# include some common functionality
++#
++include (FindPythonModule)
++
++
++#
+ # set some default flags
+ #
+ # flags in CMAKE_C**_FLAGS are always passed to the compiler
+@@ -309,13 +315,15 @@
+ set (INCLUDE_DIRECTORIES ${INCLUDE_DIRECTORIES} ${GTEST_INCLUDE_DIRS})
+ endif (GOOGLETEST_BUILTIN)
+
++if (BUILD_SERVER OR BUILD_UNITTESTS)
+ if (GEOIP_BUILTIN)
+ include (${LIBGEOIP_BUILTIN_LOCATION}/CVMFS-CMakeLists.txt)
+ include (${PYTHON_GEOIP_BUILTIN_LOCATION}/CVMFS-CMakeLists.txt)
+ else (GEOIP_BUILTIN)
+- find_package (GeoIP REQUIRED)
+- find_package (python-GeoIP REQUIRED)
++ find_package (LibGeoIP REQUIRED)
++ find_python_module (GeoIP REQUIRED)
+ endif (GEOIP_BUILTIN)
++endif (BUILD_SERVER OR BUILD_UNITTESTS)
+
+ # required libraries for client and libcvmfs
+ if (BUILD_CVMFS OR BUILD_LIBCVMFS)