This is an automated email from the git hooks/post-receive script. sebastic pushed a commit to branch experimental in repository gdal.
commit c32e524261b8e4fdcb9782a6430c88423072ac73 Author: Bas Couwenberg <sebas...@xs4all.nl> Date: Thu Aug 20 14:58:00 2015 +0200 Add patch to support pkg-config for the new libkml. --- debian/changelog | 1 + debian/patches/libkml-pkgconfig | 407 ++++++++++++++++++++++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 409 insertions(+) diff --git a/debian/changelog b/debian/changelog index 864aa04..c585025 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ gdal (1.11.2+dfsg-1~exp7) UNRELEASED; urgency=medium * Require at least libkml-dev 1.3.0~rc0-3 for boost dependencies. + * Add patch to support pkg-config for the new libkml. -- Bas Couwenberg <sebas...@debian.org> Thu, 20 Aug 2015 14:57:44 +0200 diff --git a/debian/patches/libkml-pkgconfig b/debian/patches/libkml-pkgconfig new file mode 100644 index 0000000..8b36dbb --- /dev/null +++ b/debian/patches/libkml-pkgconfig @@ -0,0 +1,407 @@ +Description: Add pkg-config support for libkml. + The libkml/libkml fork on GitHub supports pkg-config, + and no longer includes the third_partry libraries. +Author: Bas Couwenberg <sebas...@debian.org> +Forwarded: https://trac.osgeo.org/gdal/ticket/6077 + +--- a/m4/ax_lib_libkml.m4 ++++ b/m4/ax_lib_libkml.m4 +@@ -5,18 +5,26 @@ dnl + dnl This macro provides tests of availability of Google libkml library + dnl of particular version or newer. + dnl +-dnl libkml - http://code.google.com/p/libkml/ ++dnl libkml - https://github.com/google/libkml + dnl +-dnl This macros checks for Google libkml headers and libraries ++dnl A fork of libkml is also available: ++dnl ++dnl https://github.com/libkml/libkml ++dnl ++dnl This macros checks for Google libkml headers and libraries + dnl and defines compilation flags. +-dnl ++dnl ++dnl The libkml fork supports pkg-config, which is tried first. ++dnl If a suitable libkml version is not found with pkg-config, the manual ++dnl checks for the libkml library & include paths are performed. ++dnl + dnl Macro supports following options and their values: + dnl 1) Single-option usage: + dnl --with-libkml - yes, no or path to Google libkml installation prefix + dnl 2) Three-options usage (all options are required): + dnl --with-libkml=yes + dnl --with-libkml-inc - path to base directory with headers +-dnl --with-libkml-lib - linker flags for ++dnl --with-libkml-lib - linker flags for + dnl + dnl This macro calls: + dnl +@@ -45,7 +53,7 @@ AC_DEFUN([AX_LIB_LIBKML], + ), + [ + if test "$withval" = "yes"; then +- if test -d /usr/local/include/kml ; then ++ if test -d /usr/local/include/kml ; then + libkml_prefix=/usr/local + elif test -d /usr/include/kml ; then + libkml_prefix=/usr +@@ -63,12 +71,12 @@ AC_DEFUN([AX_LIB_LIBKML], + ], + [ + dnl Default behavior is implicit yes +- if test -d /usr/local/include/kml ; then ++ if test -d /usr/local/include/kml ; then + libkml_prefix=/usr/local + elif test -d /usr/include/kml ; then + libkml_prefix=/usr + else +- libkml_prefix="" ++ libkml_prefix="" + fi + ] + ) +@@ -88,181 +96,209 @@ AC_DEFUN([AX_LIB_LIBKML], + [libkml_lib_flags=""] + ) + +- LIBKML_CFLAGS="" +- LIBKML_LDFLAGS="" +- LIBKML_VERSION="" +- +- dnl +- dnl Collect include/lib paths and flags +- dnl +- run_libkml_test="no" +- +- if test -n "$libkml_prefix"; then +- libkml_include_dir="$libkml_prefix/include" +- libkml_include_dir2="$libkml_prefix/include/kml" +- libkml_include_dir3="$libkml_prefix/include/kml/third_party/boost_1_34_1" +- if test "$libkml_prefix" = "/usr"; then +- libkml_lib_flags="-lkmldom -lkmlbase -lkmlengine -lkmlconvenience -lminizip -luriparser" +- else +- libkml_lib_flags="-L$libkml_prefix/lib -lkmldom -lkmlbase -lkmlengine -lkmlconvenience -lminizip -luriparser" +- fi +- run_libkml_test="yes" +- elif test "$libkml_requested" = "yes"; then +- if test -n "$libkml_include_dir" -a -n "$libkml_lib_flags"; then +- libkml_include_dir2="$libkml_include_dir/kml" +- libkml_include_dir3="$libkml_include_dir/kml/third_party/boost_1_34_1" +- run_libkml_test="yes" +- fi +- else +- run_libkml_test="no" +- fi +- + dnl +- dnl Check libkml headers/libraries ++ dnl Try pkg-config first + dnl +- if test "$run_libkml_test" = "yes"; then ++ PKG_PROG_PKG_CONFIG([0.25]) # check and set $PKG_CONFIG ++ ++ PKG_CHECK_MODULES([LIBKML], [libkml >= $1], ++ [LIBKML_VERSION=`$PKG_CONFIG --modversion libkml`], ++ [LIBKML_VERSION=;]) ++ ++ if test -n "$LIBKML_VERSION" -a -n "$libkml_prefix"; then ++ HAVE_LIBKML="yes" + +- saved_CPPFLAGS="$CPPFLAGS" +- CPPFLAGS="$CPPFLAGS -I$libkml_include_dir -I$libkml_include_dir2 -I$libkml_include_dir3" ++ LIBKML_LDFLAGS="$LIBKML_LIBS" + +- saved_LIBS="$LIBS" +- LIBS="$LIBS $libkml_lib_flags" ++ AC_MSG_CHECKING([for LIBKML CFLAGS]) ++ AC_MSG_RESULT([$LIBKML_CFLAGS]) ++ ++ AC_MSG_CHECKING([for LIBKML LDFLAGS]) ++ AC_MSG_RESULT([$LIBKML_LDFLAGS]) ++ ++ AC_MSG_CHECKING([for LIBKML VERSION]) ++ AC_MSG_RESULT([$LIBKML_VERSION]) ++ ++ AC_SUBST([LIBKML_CFLAGS]) ++ AC_SUBST([LIBKML_LDLAGS]) ++ AC_SUBST([LIBKML_VERSION]) ++ else ++ LIBKML_CFLAGS="" ++ LIBKML_LDFLAGS="" ++ LIBKML_VERSION="" + + dnl +- dnl Check headers ++ dnl Collect include/lib paths and flags + dnl +- AC_MSG_CHECKING([for Google libkml headers in $libkml_include_dir, $libkml_include_dir2, and $libkml_include_dir3]) ++ run_libkml_test="no" ++ ++ if test -n "$libkml_prefix"; then ++ libkml_include_dir="$libkml_prefix/include" ++ libkml_include_dir2="$libkml_prefix/include/kml" ++ libkml_include_dir3="$libkml_prefix/include/kml/third_party/boost_1_34_1" ++ if test "$libkml_prefix" = "/usr"; then ++ libkml_lib_flags="-lkmldom -lkmlbase -lkmlengine -lkmlconvenience -lminizip -luriparser" ++ else ++ libkml_lib_flags="-L$libkml_prefix/lib -lkmldom -lkmlbase -lkmlengine -lkmlconvenience -lminizip -luriparser" ++ fi ++ run_libkml_test="yes" ++ elif test "$libkml_requested" = "yes"; then ++ if test -n "$libkml_include_dir" -a -n "$libkml_lib_flags"; then ++ libkml_include_dir2="$libkml_include_dir/kml" ++ libkml_include_dir3="$libkml_include_dir/kml/third_party/boost_1_34_1" ++ run_libkml_test="yes" ++ fi ++ else ++ run_libkml_test="no" ++ fi + +- AC_LANG_PUSH([C++]) +- AC_COMPILE_IFELSE([ +- AC_LANG_PROGRAM( +- [[ +-@%:@include <kml/dom.h> +- ]], +- [[]] +- )], +- [ +- LIBKML_CFLAGS="-I$libkml_include_dir -I$libkml_include_dir2 -I$libkml_include_dir3" +- libkml_header_found="yes" +- AC_MSG_RESULT([found]) +- ], +- [ +- libkml_header_found="no" +- AC_MSG_RESULT([not found]) +- ] +- ) +- AC_LANG_POP([C++]) +- + dnl +- dnl Check libraries ++ dnl Check libkml headers/libraries + dnl +- if test "$libkml_header_found" = "yes"; then ++ if test "$run_libkml_test" = "yes"; then + +- AC_MSG_CHECKING([for Google libkml libraries]) ++ saved_CPPFLAGS="$CPPFLAGS" ++ CPPFLAGS="$CPPFLAGS -I$libkml_include_dir -I$libkml_include_dir2 -I$libkml_include_dir3" ++ ++ saved_LIBS="$LIBS" ++ LIBS="$LIBS $libkml_lib_flags" ++ ++ dnl ++ dnl Check headers ++ dnl ++ AC_MSG_CHECKING([for Google libkml headers in $libkml_include_dir, $libkml_include_dir2, and $libkml_include_dir3]) + + AC_LANG_PUSH([C++]) +- AC_LINK_IFELSE([ ++ AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM( + [[ + @%:@include <kml/dom.h> + ]], +- [[ +-kmldom::KmlFactory* factory = kmldom::KmlFactory::GetFactory(); +- ]] ++ [[]] + )], + [ +- LIBKML_LDFLAGS="$libkml_lib_flags" +- libkml_lib_found="yes" ++ LIBKML_CFLAGS="-I$libkml_include_dir -I$libkml_include_dir2 -I$libkml_include_dir3" ++ libkml_header_found="yes" + AC_MSG_RESULT([found]) + ], + [ +- libkml_lib_found="no" ++ libkml_header_found="no" + AC_MSG_RESULT([not found]) + ] + ) + AC_LANG_POP([C++]) +- fi + +- CPPFLAGS="$saved_CPPFLAGS" +- LIBS="$saved_LIBS" +- fi ++ dnl ++ dnl Check libraries ++ dnl ++ if test "$libkml_header_found" = "yes"; then ++ ++ AC_MSG_CHECKING([for Google libkml libraries]) ++ ++ AC_LANG_PUSH([C++]) ++ AC_LINK_IFELSE([ ++ AC_LANG_PROGRAM( ++ [[ ++@%:@include <kml/dom.h> ++ ]], ++ [[ ++kmldom::KmlFactory* factory = kmldom::KmlFactory::GetFactory(); ++ ]] ++ )], ++ [ ++ LIBKML_LDFLAGS="$libkml_lib_flags" ++ libkml_lib_found="yes" ++ AC_MSG_RESULT([found]) ++ ], ++ [ ++ libkml_lib_found="no" ++ AC_MSG_RESULT([not found]) ++ ] ++ ) ++ AC_LANG_POP([C++]) ++ fi + +- AC_MSG_CHECKING([for Google libkml]) ++ CPPFLAGS="$saved_CPPFLAGS" ++ LIBS="$saved_LIBS" ++ fi + +- if test "$run_libkml_test" = "yes"; then +- if test "$libkml_header_found" = "yes" -a "$libkml_lib_found" = "yes"; then ++ AC_MSG_CHECKING([for Google libkml]) + +- AC_SUBST([LIBKML_CFLAGS]) +- AC_SUBST([LIBKML_LDFLAGS]) ++ if test "$run_libkml_test" = "yes"; then ++ if test "$libkml_header_found" = "yes" -a "$libkml_lib_found" = "yes"; then + +- HAVE_LIBKML="yes" +- else +- HAVE_LIBKML="no" +- fi ++ AC_SUBST([LIBKML_CFLAGS]) ++ AC_SUBST([LIBKML_LDFLAGS]) + +- AC_MSG_RESULT([$HAVE_LIBKML]) ++ HAVE_LIBKML="yes" ++ else ++ HAVE_LIBKML="no" ++ fi + +- dnl +- dnl Check version +- dnl +- if test "$HAVE_LIBKML" = "yes"; then ++ AC_MSG_RESULT([$HAVE_LIBKML]) + +- libkml_version_req=ifelse([$1], [], [], [$1]) +- +- if test -n "$libkml_version_req"; then +- +- AC_MSG_CHECKING([if Google libkml version is >= $libkml_version_req]) +- +- if test -f "$libkml_include_dir2/base/version.h"; then +- +- libkml_major=$(sed -n '/^#define LIBKML_MAJOR_VERSION.*$/{s/\([^0-9]*\)\([0-9]*\).*/\2/;P;}' \ +- $libkml_include_dir2/base/version.h) +- libkml_minor=$(sed -n '/^#define LIBKML_MINOR_VERSION.*$/{s/\([^0-9]*\)\([0-9]*\).*/\2/;P;}' \ +- $libkml_include_dir2/base/version.h) +- libkml_revision=$(sed -n '/^#define LIBKML_MICRO_VERSION.*$/{s/\([^0-9]*\)\([0-9]*\).*/\2/;P;}' \ +- $libkml_include_dir2/base/version.h) +- +- LIBKML_VERSION="$libkml_major.$libkml_minor.$libkml_revision" +- AC_SUBST([LIBKML_VERSION]) +- +- dnl Decompose required version string and calculate numerical representation +- libkml_version_req_major=`expr $libkml_version_req : '\([[0-9]]*\)'` +- libkml_version_req_minor=`expr $libkml_version_req : '[[0-9]]*\.\([[0-9]]*\)'` +- libkml_version_req_revision=`expr $libkml_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` +- if test "x$libkml_version_req_revision" = "x"; then +- libkml_version_req_revision="0" +- fi +- +- libkml_version_req_number=`expr $libkml_version_req_major \* 10000 \ +- \+ $libkml_version_req_minor \* 100 \ +- \+ $libkml_version_req_revision` +- +- dnl Calculate numerical representation of detected version +- libkml_version_number=`expr $libkml_major \* 10000 \ +- \+ $libkml_minor \* 100 \ +- \+ $libkml_revision` +- +- libkml_version_check=`expr $libkml_version_number \>\= $libkml_version_req_number` +- if test "$libkml_version_check" = "1"; then +- AC_MSG_RESULT([yes]) ++ dnl ++ dnl Check version ++ dnl ++ if test "$HAVE_LIBKML" = "yes"; then ++ ++ libkml_version_req=ifelse([$1], [], [], [$1]) ++ ++ if test -n "$libkml_version_req"; then ++ ++ AC_MSG_CHECKING([if Google libkml version is >= $libkml_version_req]) ++ ++ if test -f "$libkml_include_dir2/base/version.h"; then ++ ++ libkml_major=$(sed -n '/^#define LIBKML_MAJOR_VERSION.*$/{s/\([^0-9]*\)\([0-9]*\).*/\2/;P;}' \ ++ $libkml_include_dir2/base/version.h) ++ libkml_minor=$(sed -n '/^#define LIBKML_MINOR_VERSION.*$/{s/\([^0-9]*\)\([0-9]*\).*/\2/;P;}' \ ++ $libkml_include_dir2/base/version.h) ++ libkml_revision=$(sed -n '/^#define LIBKML_MICRO_VERSION.*$/{s/\([^0-9]*\)\([0-9]*\).*/\2/;P;}' \ ++ $libkml_include_dir2/base/version.h) ++ ++ LIBKML_VERSION="$libkml_major.$libkml_minor.$libkml_revision" ++ AC_SUBST([LIBKML_VERSION]) ++ ++ dnl Decompose required version string and calculate numerical representation ++ libkml_version_req_major=`expr $libkml_version_req : '\([[0-9]]*\)'` ++ libkml_version_req_minor=`expr $libkml_version_req : '[[0-9]]*\.\([[0-9]]*\)'` ++ libkml_version_req_revision=`expr $libkml_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` ++ if test "x$libkml_version_req_revision" = "x"; then ++ libkml_version_req_revision="0" ++ fi ++ ++ libkml_version_req_number=`expr $libkml_version_req_major \* 10000 \ ++ \+ $libkml_version_req_minor \* 100 \ ++ \+ $libkml_version_req_revision` ++ ++ dnl Calculate numerical representation of detected version ++ libkml_version_number=`expr $libkml_major \* 10000 \ ++ \+ $libkml_minor \* 100 \ ++ \+ $libkml_revision` ++ ++ libkml_version_check=`expr $libkml_version_number \>\= $libkml_version_req_number` ++ if test "$libkml_version_check" = "1"; then ++ AC_MSG_RESULT([yes]) ++ else ++ AC_MSG_RESULT([no]) ++ AC_MSG_WARN([Found Google libkml ${LIBKML_VERSION}, which is older than required (${libkml_version_req}). KML support disabled.]) ++ HAVE_LIBKML="no" ++ fi + else + AC_MSG_RESULT([no]) +- AC_MSG_WARN([Found Google libkml ${LIBKML_VERSION}, which is older than required (${libkml_version_req}). KML support disabled.]) +- HAVE_LIBKML="no" ++ AC_MSG_WARN([Missing header $libkml_include_dir2/base/bersion.hpp. Unable to determine Google libkml version.]) + fi +- else +- AC_MSG_RESULT([no]) +- AC_MSG_WARN([Missing header $libkml_include_dir2/base/bersion.hpp. Unable to determine Google libkml version.]) + fi + fi +- fi + +- else +- HAVE_LIBKML="no" +- AC_MSG_RESULT([$HAVE_LIBKML]) ++ else ++ HAVE_LIBKML="no" ++ AC_MSG_RESULT([$HAVE_LIBKML]) + +- if test "$libkml_requested" = "yes"; then +- AC_MSG_WARN([Google libkml support requested but headers or library not found. Specify valid prefix of libkml using --with-libkml=@<:@DIR@:>@ or provide include directory and linker flags using --with-libkml-inc and --with-libkml-lib]) ++ if test "$libkml_requested" = "yes"; then ++ AC_MSG_WARN([Google libkml support requested but headers or library not found. Specify valid prefix of libkml using --with-libkml=@<:@DIR@:>@ or provide include directory and linker flags using --with-libkml-inc and --with-libkml-lib]) ++ fi + fi + fi + ]) diff --git a/debian/patches/series b/debian/patches/series index ba0fef6..4938718 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -29,3 +29,4 @@ hardening recommanded-typo perl-vendor existant-typo +libkml-pkgconfig -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/gdal.git _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel