Add patch to fix FindPostgreSQL (bug 828467)
This commit is contained in:
parent
0cf590138b
commit
d36d5aa181
163
cmake-FindPostgreSQL.patch
Normal file
163
cmake-FindPostgreSQL.patch
Normal file
@ -0,0 +1,163 @@
|
|||||||
|
--- cmake-2.8.8/Modules/FindPostgreSQL.cmake 2012-04-18 20:10:54.000000000 +0200
|
||||||
|
+++ cmake-2.8.8/Modules/FindPostgreSQL.cmake 2012-07-04 23:05:30.532090522 +0200
|
||||||
|
@@ -97,76 +97,101 @@ set( PostgreSQL_ROOT_DIRECTORIES
|
||||||
|
#
|
||||||
|
# Look for an installation.
|
||||||
|
#
|
||||||
|
-find_path(PostgreSQL_INCLUDE_DIR
|
||||||
|
- NAMES libpq-fe.h
|
||||||
|
+find_path(PostgreSQL_CONFIG_DIR
|
||||||
|
+ NAMES pg_config
|
||||||
|
PATHS
|
||||||
|
# Look in other places.
|
||||||
|
${PostgreSQL_ROOT_DIRECTORIES}
|
||||||
|
PATH_SUFFIXES
|
||||||
|
- pgsql
|
||||||
|
- postgresql
|
||||||
|
- include
|
||||||
|
+ ""
|
||||||
|
+ bin
|
||||||
|
# Help the user find it if we cannot.
|
||||||
|
- DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
|
||||||
|
+ DOC "The ${PostgreSQL_ROOT_DIR_MESSAGE}"
|
||||||
|
)
|
||||||
|
|
||||||
|
-find_path(PostgreSQL_TYPE_INCLUDE_DIR
|
||||||
|
- NAMES catalog/pg_type.h
|
||||||
|
- PATHS
|
||||||
|
- # Look in other places.
|
||||||
|
- ${PostgreSQL_ROOT_DIRECTORIES}
|
||||||
|
- PATH_SUFFIXES
|
||||||
|
- pgsql/server
|
||||||
|
- postgresql/server
|
||||||
|
- include/server
|
||||||
|
- # Help the user find it if we cannot.
|
||||||
|
- DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
|
||||||
|
-)
|
||||||
|
+macro (fail_if)
|
||||||
|
+ if (${ARGV})
|
||||||
|
+ message (SEND_ERROR "Couldn't determine PostgreSQL configuration.")
|
||||||
|
+ unset (PostgreSQL_CONFIG_DIR)
|
||||||
|
+ break ()
|
||||||
|
+ endif ()
|
||||||
|
+endmacro ()
|
||||||
|
+
|
||||||
|
+macro (run_pg_config arg var)
|
||||||
|
+ execute_process(COMMAND ${PostgreSQL_CONFIG_DIR}/pg_config ${arg}
|
||||||
|
+ RESULT_VARIABLE pgsql_config_result
|
||||||
|
+ OUTPUT_VARIABLE ${var}
|
||||||
|
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
+
|
||||||
|
+ fail_if (NOT ${pgsql_config_result} EQUAL 0 OR NOT ${var})
|
||||||
|
+endmacro ()
|
||||||
|
+
|
||||||
|
+foreach (once only)
|
||||||
|
+ fail_if (NOT PostgreSQL_CONFIG_DIR)
|
||||||
|
+
|
||||||
|
+ run_pg_config (--version PostgreSQL_VERSION_STRING)
|
||||||
|
+ string (REGEX REPLACE "^PostgreSQL (.*)$" "\\1"
|
||||||
|
+ PostgreSQL_VERSION_STRING "${PostgreSQL_VERSION_STRING}")
|
||||||
|
+ fail_if (NOT PostgreSQL_VERSION_STRING)
|
||||||
|
+
|
||||||
|
+ run_pg_config (--includedir PostgreSQL_INCLUDE_DIR)
|
||||||
|
+ fail_if (NOT EXISTS "${PostgreSQL_INCLUDE_DIR}/libpq-fe.h")
|
||||||
|
+
|
||||||
|
+ find_path(PostgreSQL_TYPE_INCLUDE_DIR
|
||||||
|
+ NAMES catalog/pg_type.h
|
||||||
|
+ PATHS ${PostgreSQL_INCLUDE_DIR}
|
||||||
|
+ PATH_SUFFIXES
|
||||||
|
+ pgsql/server
|
||||||
|
+ postgresql/server
|
||||||
|
+ include/server
|
||||||
|
+ # Help the user find it if we cannot.
|
||||||
|
+ DOC "The ${PostgreSQL_INCLUDE_DIR_MESSAGE}"
|
||||||
|
+ )
|
||||||
|
+ fail_if (NOT PostgreSQL_TYPE_INCLUDE_DIR)
|
||||||
|
+
|
||||||
|
+ set (PostgreSQL_INCLUDE_DIRS
|
||||||
|
+ ${PostgreSQL_INCLUDE_DIR} ${PostgreSQL_TYPE_INCLUDE_DIR})
|
||||||
|
+
|
||||||
|
+ run_pg_config (--libdir PostgreSQL_LIBRARY_DIRS)
|
||||||
|
+
|
||||||
|
+ # The PostgreSQL library.
|
||||||
|
+ set (PostgreSQL_LIBRARY_TO_FIND pq)
|
||||||
|
+ # Setting some more prefixes for the library
|
||||||
|
+ set (PostgreSQL_LIB_PREFIX "")
|
||||||
|
+ if (WIN32)
|
||||||
|
+ set (PostgreSQL_LIB_PREFIX ${PostgreSQL_LIB_PREFIX} "lib")
|
||||||
|
+ set (PostgreSQL_LIBRARY_TO_FIND ${PostgreSQL_LIB_PREFIX}${PostgreSQL_LIBRARY_TO_FIND})
|
||||||
|
+ endif()
|
||||||
|
+
|
||||||
|
+ find_library (PostgreSQL_LIBRARY_FOUND
|
||||||
|
+ NAMES ${PostgreSQL_LIBRARY_TO_FIND}
|
||||||
|
+ PATHS ${PostgreSQL_LIBRARY_DIRS}
|
||||||
|
+ PATH_SUFFIXES lib
|
||||||
|
+ )
|
||||||
|
+ fail_if (NOT PostgreSQL_LIBRARY_FOUND)
|
||||||
|
+ set (PostgreSQL_LIBRARIES ${PostgreSQL_LIBRARY_TO_FIND})
|
||||||
|
|
||||||
|
-# The PostgreSQL library.
|
||||||
|
-set (PostgreSQL_LIBRARY_TO_FIND pq)
|
||||||
|
-# Setting some more prefixes for the library
|
||||||
|
-set (PostgreSQL_LIB_PREFIX "")
|
||||||
|
-if ( WIN32 )
|
||||||
|
- set (PostgreSQL_LIB_PREFIX ${PostgreSQL_LIB_PREFIX} "lib")
|
||||||
|
- set ( PostgreSQL_LIBRARY_TO_FIND ${PostgreSQL_LIB_PREFIX}${PostgreSQL_LIBRARY_TO_FIND})
|
||||||
|
-endif()
|
||||||
|
-
|
||||||
|
-find_library( PostgreSQL_LIBRARY
|
||||||
|
- NAMES ${PostgreSQL_LIBRARY_TO_FIND}
|
||||||
|
- PATHS
|
||||||
|
- ${PostgreSQL_ROOT_DIRECTORIES}
|
||||||
|
- PATH_SUFFIXES
|
||||||
|
- lib
|
||||||
|
-)
|
||||||
|
-get_filename_component(PostgreSQL_LIBRARY_DIR ${PostgreSQL_LIBRARY} PATH)
|
||||||
|
-
|
||||||
|
-if (PostgreSQL_INCLUDE_DIR AND EXISTS "${PostgreSQL_INCLUDE_DIR}/pg_config.h")
|
||||||
|
- file(STRINGS "${PostgreSQL_INCLUDE_DIR}/pg_config.h" pgsql_version_str
|
||||||
|
- REGEX "^#define[\t ]+PG_VERSION[\t ]+\".*\"")
|
||||||
|
-
|
||||||
|
- string(REGEX REPLACE "^#define[\t ]+PG_VERSION[\t ]+\"([^\"]*)\".*" "\\1"
|
||||||
|
- PostgreSQL_VERSION_STRING "${pgsql_version_str}")
|
||||||
|
- unset(pgsql_version_str)
|
||||||
|
-endif()
|
||||||
|
+endforeach ()
|
||||||
|
|
||||||
|
# Did we find anything?
|
||||||
|
-include(FindPackageHandleStandardArgs)
|
||||||
|
-find_package_handle_standard_args(PostgreSQL
|
||||||
|
- REQUIRED_VARS PostgreSQL_LIBRARY PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR
|
||||||
|
- VERSION_VAR PostgreSQL_VERSION_STRING)
|
||||||
|
-set( PostgreSQL_FOUND ${POSTGRESQL_FOUND})
|
||||||
|
+include (FindPackageHandleStandardArgs)
|
||||||
|
+find_package_handle_standard_args (PostgreSQL
|
||||||
|
+ REQUIRED_VARS
|
||||||
|
+ PostgreSQL_LIBRARY_DIRS
|
||||||
|
+ PostgreSQL_CONFIG_DIR
|
||||||
|
+ PostgreSQL_INCLUDE_DIRS
|
||||||
|
+ PostgreSQL_LIBRARIES
|
||||||
|
+ VERSION_VAR
|
||||||
|
+ PostgreSQL_VERSION_STRING
|
||||||
|
+)
|
||||||
|
+set (PostgreSQL_FOUND ${POSTGRESQL_FOUND})
|
||||||
|
|
||||||
|
# Now try to get the include and library path.
|
||||||
|
-if(PostgreSQL_FOUND)
|
||||||
|
-
|
||||||
|
- set(PostgreSQL_INCLUDE_DIRS ${PostgreSQL_INCLUDE_DIR} ${PostgreSQL_TYPE_INCLUDE_DIR} )
|
||||||
|
- set(PostgreSQL_LIBRARY_DIRS ${PostgreSQL_LIBRARY_DIR} )
|
||||||
|
- set(PostgreSQL_LIBRARIES ${PostgreSQL_LIBRARY_TO_FIND})
|
||||||
|
-
|
||||||
|
- #message("Final PostgreSQL include dir: ${PostgreSQL_INCLUDE_DIRS}")
|
||||||
|
- #message("Final PostgreSQL library dir: ${PostgreSQL_LIBRARY_DIRS}")
|
||||||
|
- #message("Final PostgreSQL libraries: ${PostgreSQL_LIBRARIES}")
|
||||||
|
+if (PostgreSQL_FOUND)
|
||||||
|
+ message (STATUS "PostgreSQL include dirs: ${PostgreSQL_INCLUDE_DIRS}")
|
||||||
|
+ message (STATUS "PostgreSQL library dirs: ${PostgreSQL_LIBRARY_DIRS}")
|
||||||
|
+ message (STATUS "PostgreSQL libraries: ${PostgreSQL_LIBRARIES}")
|
||||||
|
endif(PostgreSQL_FOUND)
|
||||||
|
|
||||||
|
-mark_as_advanced(PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR PostgreSQL_LIBRARY )
|
||||||
|
+mark_as_advanced (PostgreSQL_CONFIG_DIR PostgreSQL_LIB_DIR
|
||||||
|
+ PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR)
|
10
cmake.spec
10
cmake.spec
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
Name: cmake
|
Name: cmake
|
||||||
Version: 2.8.8
|
Version: 2.8.8
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
Summary: Cross-platform make system
|
Summary: Cross-platform make system
|
||||||
|
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
@ -28,6 +28,10 @@ Patch1: cmake-pkgconfig.patch
|
|||||||
# http://public.kitware.com/Bug/view.php?id=12965
|
# http://public.kitware.com/Bug/view.php?id=12965
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=822796
|
# https://bugzilla.redhat.com/show_bug.cgi?id=822796
|
||||||
Patch2: cmake-findruby.patch
|
Patch2: cmake-findruby.patch
|
||||||
|
# Patch to fix FindPostgreSQL
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=828467
|
||||||
|
# http://public.kitware.com/Bug/view.php?id=13378
|
||||||
|
Patch3: cmake-FindPostgreSQL.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
BuildRequires: gcc-gfortran
|
BuildRequires: gcc-gfortran
|
||||||
@ -79,6 +83,7 @@ The %{name}-gui package contains the Qt based GUI for CMake.
|
|||||||
%patch0 -p1 -b .dcmtk
|
%patch0 -p1 -b .dcmtk
|
||||||
%patch1 -p1 -b .pkgconfig
|
%patch1 -p1 -b .pkgconfig
|
||||||
%patch2 -p1 -b .findruby
|
%patch2 -p1 -b .findruby
|
||||||
|
%patch3 -p1 -b .findpostgresql
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -175,6 +180,9 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 5 2012 Orion Poplawski <orion@cora.nwra.com> 2.8.8-5
|
||||||
|
- Add patch to fix FindPostgreSQL (bug 828467)
|
||||||
|
|
||||||
* Mon May 21 2012 Orion Poplawski <orion@cora.nwra.com> 2.8.8-4
|
* Mon May 21 2012 Orion Poplawski <orion@cora.nwra.com> 2.8.8-4
|
||||||
- Add patch to fix FindRuby (bug 822796)
|
- Add patch to fix FindRuby (bug 822796)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user