dev-libs/libpreludedb: Bump version 5.1
authorThomas Andrejak <thomas.andrejak@gmail.com>
Thu, 7 Nov 2019 01:37:29 +0000 (02:37 +0100)
committerGöktürk Yüksek <gokturk@gentoo.org>
Tue, 24 Dec 2019 21:54:24 +0000 (16:54 -0500)
Signed-off-by: Göktürk Yüksek <gokturk@gentoo.org>
dev-libs/libpreludedb/Manifest
dev-libs/libpreludedb/files/libpreludedb-5.1.0-fix_gtkdoc_1.32.patch [new file with mode: 0644]
dev-libs/libpreludedb/files/libpreludedb-5.1.0-fix_py38.patch [new file with mode: 0644]
dev-libs/libpreludedb/files/libpreludedb-5.1.0-update_m4_postgresql.patch [new file with mode: 0644]
dev-libs/libpreludedb/libpreludedb-5.1.0.ebuild [new file with mode: 0644]

index 4992f8d73c4ba9fcebbebaa22f69f025b8589aad..5310cde2e2fcd55cef229601e49251fda993156f 100644 (file)
@@ -2,3 +2,4 @@ DIST libpreludedb-3.0.0.tar.gz 1269937 BLAKE2B 6f6bad7b9529b88bd03b224c1ea4066b9
 DIST libpreludedb-3.1.0.tar.gz 1291186 BLAKE2B 90b3b6264f0042b14e54abfc3068071419646076fc6cfa3dd84ba6c14797fb0ea88885edef47b8a5d0dc455468e6daaa8e795b621a4f9001d19d8edc33630a88 SHA512 dcb98eff2521979c2956bdd6f3b661c346c0f6748ef820a75d77c948e426a996de26c7fc6b6c2abddc93277db3820eb2f44b61c87feb86483e720cf9b0e0124c
 DIST libpreludedb-4.0.0.tar.gz 1325812 BLAKE2B 7a506f7cd7b51898e26201f2cc640b1f34227f9cf7c5c6e2385480f1fc0ad854b6d747293ab502b641cc65f1ee9ae4a8f225e6a1d4489bcaa59901c6342f1279 SHA512 13f5dbcfa6af965f2075d60c645ebb19cbd6b18807b26f4f13a7a05f1cf552996f9846e856728a4e1dc621efda693016e82623d4a3cbf74849b3e7114f19faca
 DIST libpreludedb-4.1.0.tar.gz 1333638 BLAKE2B 380a6d4ef8836555510f9f9882b6100417f2567520c421355fb7eec8d2cd7e2f3942c4cb90ea21fa1557327026edd5c1e35e338a79e06a21cfb2bd6813a289c2 SHA512 de1fa5106d7f34edb5a23e726c968de84bb8b10257587b6ee36276ed75ddc54f4f9539aecb7836e114eb3bfa90104dd3b5e097be0c3d12347dcbded94f293dc4
+DIST libpreludedb-5.1.0.tar.gz 1374511 BLAKE2B 569324a5ae484b1d13ac729f25a2f7f8924a8dced923859cdc393289acf0c0cf098ae6e0f9f572a707c85aa9af4a27bbaa0927e20d610b423e2aae86718d232b SHA512 9e45e0f7a945eef254f8e59c0c7212c6afca897584ea8f2c88e16478fde448abdeeb991828cc2482373d2c735e1229f1a11fe9780e40da1a8aed867fe158f481
diff --git a/dev-libs/libpreludedb/files/libpreludedb-5.1.0-fix_gtkdoc_1.32.patch b/dev-libs/libpreludedb/files/libpreludedb-5.1.0-fix_gtkdoc_1.32.patch
new file mode 100644 (file)
index 0000000..ecc6d5d
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/docs/api/libpreludedb-docs.xml
++++ b/docs/api/libpreludedb-docs.xml
+@@ -26,10 +26,6 @@
+     <xi:include href="xml/preludedb-sql-settings.xml"/>
+   </chapter>
+-  <chapter id="object-tree">
+-    <title>Object Hierarchy</title>
+-     <xi:include href="xml/tree_index.sgml"/>
+-  </chapter>
+   <index id="api-index-full">
+     <title>API Index</title>
+     <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
diff --git a/dev-libs/libpreludedb/files/libpreludedb-5.1.0-fix_py38.patch b/dev-libs/libpreludedb/files/libpreludedb-5.1.0-fix_py38.patch
new file mode 100644 (file)
index 0000000..a2a6a0a
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/bindings/python/_preludedb.cxx
++++ b/bindings/python/_preludedb.cxx
+@@ -3133,7 +3133,7 @@
+ SWIGINTERN void
+ SwigPyStaticVar_dealloc(PyDescrObject *descr) {
+-  _PyObject_GC_UNTRACK(descr);
++  PyObject_GC_UnTrack(descr);
+   Py_XDECREF(PyDescr_TYPE(descr));
+   Py_XDECREF(PyDescr_NAME(descr));
+   PyObject_GC_Del(descr);
diff --git a/dev-libs/libpreludedb/files/libpreludedb-5.1.0-update_m4_postgresql.patch b/dev-libs/libpreludedb/files/libpreludedb-5.1.0-update_m4_postgresql.patch
new file mode 100644 (file)
index 0000000..5bd38a6
--- /dev/null
@@ -0,0 +1,544 @@
+--- a/m4/ax_lib_postgresql.m4
++++ b/m4/ax_lib_postgresql.m4
+@@ -1,10 +1,10 @@
+ # ===========================================================================
+-#     http://www.gnu.org/software/autoconf-archive/ax_lib_postgresql.html
++#    https://www.gnu.org/software/autoconf-archive/ax_lib_postgresql.html
+ # ===========================================================================
+ #
+ # SYNOPSIS
+ #
+-#   AX_LIB_POSTGRESQL([MINIMUM-VERSION])
++#   AX_LIB_POSTGRESQL([MINIMUM-VERSION],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND])
+ #
+ # DESCRIPTION
+ #
+@@ -23,133 +23,225 @@
+ #   should be in the PATH)
+ #
+ #   path - complete path to pg_config utility, use this option if pg_config
+-#   can't be found in the PATH
++#   can't be found in the PATH (You could set also PG_CONFIG variable)
+ #
+ #   This macro calls:
+ #
+-#     AC_SUBST(POSTGRESQL_CFLAGS)
++#     AC_SUBST(POSTGRESQL_CPPFLAGS)
+ #     AC_SUBST(POSTGRESQL_LDFLAGS)
++#     AC_SUBST(POSTGRESQL_LIBS)
+ #     AC_SUBST(POSTGRESQL_VERSION)
+ #
+ #   And sets:
+ #
+ #     HAVE_POSTGRESQL
+ #
++#   It execute if found ACTION-IF-FOUND (empty by default) and
++#   ACTION-IF-NOT-FOUND (AC_MSG_FAILURE by default) if not found.
++#
+ # LICENSE
+ #
+ #   Copyright (c) 2008 Mateusz Loskot <mateusz@loskot.net>
++#   Copyright (c) 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
++#   Copyright (c) 2018 Bastien Roucaries <rouca@debian.org>
+ #
+ #   Copying and distribution of this file, with or without modification, are
+ #   permitted in any medium without royalty provided the copyright notice
+ #   and this notice are preserved. This file is offered as-is, without any
+ #   warranty.
+-#serial 9
++#serial 22
++
++AC_DEFUN([_AX_LIB_POSTGRESQL_OLD],[
++      found_postgresql="no"
++      _AX_LIB_POSTGRESQL_OLD_fail="no"
++      while true; do
++        AC_CACHE_CHECK([for the pg_config program], [ac_cv_path_PG_CONFIG],
++          [AC_PATH_PROGS_FEATURE_CHECK([PG_CONFIG], [pg_config],
++            [[ac_cv_path_PG_CONFIG="";$ac_path_PG_CONFIG --includedir > /dev/null \
++              && ac_cv_path_PG_CONFIG=$ac_path_PG_CONFIG ac_path_PG_CONFIG_found=:]],
++            [ac_cv_path_PG_CONFIG=""])])
++        PG_CONFIG=$ac_cv_path_PG_CONFIG
++        AS_IF([test "X$PG_CONFIG" = "X"],[break])
++
++        AC_CACHE_CHECK([for the PostgreSQL libraries CPPFLAGS],[ac_cv_POSTGRESQL_CPPFLAGS],
++                     [ac_cv_POSTGRESQL_CPPFLAGS="-I`$PG_CONFIG --includedir`" || _AX_LIB_POSTGRESQL_OLD_fail=yes])
++        AS_IF([test "X$_AX_LIB_POSTGRESQL_OLD_fail" = "Xyes"],[break])
++        POSTGRESQL_CPPFLAGS="$ac_cv_POSTGRESQL_CPPFLAGS"
++
++        AC_CACHE_CHECK([for the PostgreSQL libraries LDFLAGS],[ac_cv_POSTGRESQL_LDFLAGS],
++                     [ac_cv_POSTGRESQL_LDFLAGS="-L`$PG_CONFIG --libdir`" || _AX_LIB_POSTGRESQL_OLD_fail=yes])
++        AS_IF([test "X$_AX_LIB_POSTGRESQL_OLD_fail" = "Xyes"],[break])
++        POSTGRESQL_LDFLAGS="$ac_cv_POSTGRESQL_LDFLAGS"
++
++        AC_CACHE_CHECK([for the PostgreSQL libraries LIBS],[ac_cv_POSTGRESQL_LIBS],
++                     [ac_cv_POSTGRESQL_LIBS="-lpq"])
++        POSTGRESQL_LIBS="$ac_cv_POSTGRESQL_LIBS"
++
++        AC_CACHE_CHECK([for the PostgreSQL version],[ac_cv_POSTGRESQL_VERSION],
++                     [
++                      ac_cv_POSTGRESQL_VERSION=`$PG_CONFIG --version | sed "s/^PostgreSQL[[[:space:]]][[[:space:]]]*\([[0-9.]][[0-9.]]*\).*/\1/"` \
++                            || _AX_LIB_POSTGRESQL_OLD_fail=yes
++                     ])
++        AS_IF([test "X$_AX_LIB_POSTGRESQL_OLD_fail" = "Xyes"],[break])
++        POSTGRESQL_VERSION="$ac_cv_POSTGRESQL_VERSION"
++
++
++        dnl
++        dnl Check if required version of PostgreSQL is available
++        dnl
++        AS_IF([test X"$postgresql_version_req" != "X"],[
++           AC_MSG_CHECKING([if PostgreSQL version $POSTGRESQL_VERSION is >= $postgresql_version_req])
++           AX_COMPARE_VERSION([$POSTGRESQL_VERSION],[ge],[$postgresql_version_req],
++                              [found_postgresql_req_version=yes],[found_postgresql_req_version=no])
++           AC_MSG_RESULT([$found_postgresql_req_version])
++        ])
++        AS_IF([test "Xfound_postgresql_req_version" = "Xno"],[break])
++
++        found_postgresql="yes"
++        break
++      done
++])
++
++AC_DEFUN([_AX_LIB_POSTGRESQL_PKG_CONFIG],
++[
++  AC_REQUIRE([PKG_PROG_PKG_CONFIG])
++  found_postgresql=no
++
++  while true; do
++    PKG_PROG_PKG_CONFIG
++    AS_IF([test X$PKG_CONFIG = X],[break])
++
++    _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=no;
++    AS_IF([test "X$postgresql_version_req" = "X"],
++        [PKG_CHECK_EXISTS([libpq],[found_postgresql_pkg_config=yes],[found_postgresql=no])],
++        [PKG_CHECK_EXISTS([libpq >= "$postgresql_version_req"],
++                         [found_postgresql=yes],[found_postgresql=no])])
++    AS_IF([test "X$found_postgresql" = "no"],[break])
++
++    AC_CACHE_CHECK([for the PostgreSQL libraries CPPFLAGS],[ac_cv_POSTGRESQL_CPPFLAGS],
++                 [ac_cv_POSTGRESQL_CPPFLAGS="`$PKG_CONFIG libpq --cflags-only-I`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=yes])
++    AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break])
++    POSTGRESQL_CPPFLAGS="$ac_cv_POSTGRESQL_CPPFLAGS"
++
++
++    AC_CACHE_CHECK([for the PostgreSQL libraries LDFLAGS],[ac_cv_POSTGRESQL_LDFLAGS],
++                 [ac_cv_POSTGRESQL_LDFLAGS="`$PKG_CONFIG libpq --libs-only-L --libs-only-other`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=yes])
++    AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break])
++    POSTGRESQL_LDFLAGS="$ac_cv_POSTGRESQL_LDFLAGS"
++
++
++    AC_CACHE_CHECK([for the PostgreSQL libraries LIBS],[ac_cv_POSTGRESQL_LIBS],
++                 [ac_cv_POSTGRESQL_LIBS="`$PKG_CONFIG libpq --libs-only-l`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=ye])
++    AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break])
++    POSTGRESQL_LIBS="$ac_cv_POSTGRESQL_LIBS"
++
++    dnl already checked by exist but need to be recovered
++    AC_CACHE_CHECK([for the PostgreSQL version],[ac_cv_POSTGRESQL_VERSION],
++                 [ac_cv_POSTGRESQL_VERSION="`$PKG_CONFIG libpq --modversion`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=yes])
++    AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break])
++    POSTGRESQL_VERSION="$ac_cv_POSTGRESQL_VERSION"
++
++    found_postgresql=yes
++    break;
++  done
++
++])
++
++
+ AC_DEFUN([AX_LIB_POSTGRESQL],
+ [
+     AC_ARG_WITH([postgresql],
+-        AS_HELP_STRING([--with-postgresql=@<:@ARG@:>@],
+-            [use PostgreSQL library @<:@default=yes@:>@, optionally specify path to pg_config]
+-        ),
+-        [
+-        if test "$withval" = "no"; then
+-            want_postgresql="no"
+-        elif test "$withval" = "yes"; then
+-            want_postgresql="yes"
+-        else
+-            want_postgresql="yes"
+-            PG_CONFIG="$withval"
+-        fi
+-        ],
+-        [want_postgresql="yes"]
++      AS_HELP_STRING([--with-postgresql=@<:@ARG@:>@],
++          [use PostgreSQL library @<:@default=yes@:>@, optionally specify path to pg_config]
++      ),
++      [
++      AS_CASE([$withval],
++              [[[nN]][[oO]]],[want_postgresql="no"],
++              [[[yY]][[eE]][[sS]]],[want_postgresql="yes"],
++              [
++                      want_postgresql="yes"
++                      PG_CONFIG="$withval"
++              ])
++      ],
++      [want_postgresql="yes"]
+     )
+-    POSTGRESQL_CFLAGS=""
+-    POSTGRESQL_LDFLAGS=""
+-    POSTGRESQL_VERSION=""
++    AC_ARG_VAR([POSTGRESQL_CPPFLAGS],[cpp flags for PostgreSQL overriding detected flags])
++    AC_ARG_VAR([POSTGRESQL_LIBFLAGS],[libs for PostgreSQL overriding detected flags])
++    AC_ARG_VAR([POSTGRESQL_LDFLAGS],[linker flags for PostgreSQL overriding detected flags])
++
++    # populate cache
++    AS_IF([test "X$POSTGRESQL_CPPFLAGS" != X],[ac_cv_POSTGRESQL_CPPFLAGS="$POSTGRESQL_CPPFLAGS"])
++    AS_IF([test "X$POSTGRESQL_LDFLAGS" != X],[ac_cv_POSTGRESQL_LDFLAGS="$POSTGRESQL_LDFLAGS"])
++    AS_IF([test "X$POSTGRESQL_LIBS" != X],[ac_cv_POSTGRESQL_LIBS="$POSTGRESQL_LIBS"])
+-    dnl
+-    dnl Check PostgreSQL libraries (libpq)
+-    dnl
++    postgresql_version_req=ifelse([$1], [], [], [$1])
++    found_postgresql="no"
+-    if test "$want_postgresql" = "yes"; then
+-        AC_MSG_CHECKING([for $PG_CONFIG])
+-        if test -z "$PG_CONFIG" -o test; then
+-            AC_PATH_PROG([PG_CONFIG], [pg_config], [])
+-        fi
+-
+-        if test ! -x "$PG_CONFIG"; then
+-            AC_MSG_RESULT([$PG_CONFIG does not exist or it is not an exectuable file])
+-            PG_CONFIG="no"
+-            found_postgresql="no"
+-        fi
+-
+-        if test "$PG_CONFIG" != "no"; then
+-            AC_MSG_CHECKING([for PostgreSQL libraries])
+-
+-            POSTGRESQL_CFLAGS="-I`$PG_CONFIG --includedir`"
+-            POSTGRESQL_LDFLAGS="-L`$PG_CONFIG --libdir` -lpq"
+-
+-            POSTGRESQL_VERSION=`$PG_CONFIG --version | sed -e 's#PostgreSQL ##'`
+-
+-            AC_DEFINE([HAVE_POSTGRESQL], [1],
+-                [Define to 1 if PostgreSQL libraries are available])
+-
+-            found_postgresql="yes"
+-            AC_MSG_RESULT([yes])
+-        else
+-            found_postgresql="no"
+-            AC_MSG_RESULT([no])
+-        fi
+-    fi
++    POSTGRESQL_VERSION=""
+     dnl
+-    dnl Check if required version of PostgreSQL is available
++    dnl Check PostgreSQL libraries (libpq)
+     dnl
++    AS_IF([test X"$want_postgresql" = "Xyes"],[
++      _AX_LIB_POSTGRESQL_PKG_CONFIG
+-    postgresql_version_req=ifelse([$1], [], [], [$1])
+-
+-    if test "$found_postgresql" = "yes" -a -n "$postgresql_version_req"; then
+-
+-        AC_MSG_CHECKING([if PostgreSQL version is >= $postgresql_version_req])
++      AS_IF([test X"$found_postgresql" = "Xno"],
++          [_AX_LIB_POSTGRESQL_OLD])
+-        dnl Decompose required version string of PostgreSQL
+-        dnl and calculate its number representation
+-        postgresql_version_req_major=`expr $postgresql_version_req : '\([[0-9]]*\)'`
+-        postgresql_version_req_minor=`expr $postgresql_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
+-        postgresql_version_req_micro=`expr $postgresql_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+-        if test "x$postgresql_version_req_micro" = "x"; then
+-            postgresql_version_req_micro="0"
+-        fi
+-
+-        postgresql_version_req_number=`expr $postgresql_version_req_major \* 1000000 \
+-                                   \+ $postgresql_version_req_minor \* 1000 \
+-                                   \+ $postgresql_version_req_micro`
+-
+-        dnl Decompose version string of installed PostgreSQL
+-        dnl and calculate its number representation
+-        postgresql_version_major=`expr $POSTGRESQL_VERSION : '\([[0-9]]*\)'`
+-        postgresql_version_minor=`expr $POSTGRESQL_VERSION : '[[0-9]]*\.\([[0-9]]*\)'`
+-        postgresql_version_micro=`expr $POSTGRESQL_VERSION : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
+-        if test "x$postgresql_version_micro" = "x"; then
+-            postgresql_version_micro="0"
+-        fi
+-
+-        postgresql_version_number=`expr $postgresql_version_major \* 1000000 \
+-                                   \+ $postgresql_version_minor \* 1000 \
+-                                   \+ $postgresql_version_micro`
+-
+-        postgresql_version_check=`expr $postgresql_version_number \>\= $postgresql_version_req_number`
+-        if test "$postgresql_version_check" = "1"; then
+-            AC_MSG_RESULT([yes])
+-        else
+-            AC_MSG_RESULT([no])
+-        fi
+-    fi
++      AS_IF([test X"$found_postgresql" = Xyes],[
++        _AX_LIB_POSTGRESQL_OLD_CPPFLAGS="$CPPFLAGS"
++        CPPFLAGS="$CPPFLAGS $POSTGRESQL_CPPFLAGS"
++        _AX_LIB_POSTGRESQL_OLD_LDFLAGS="$LDFLAGS"
++        LDFLAGS="$LDFLAGS $POSTGRESQL_LDFLAGS"
++        _AX_LIB_POSTGRESQL_OLD_LIBS="$LIBS"
++        LIBS="$LIBS $POSTGRESQL_LIBS"
++        while true; do
++          dnl try to compile
++          AC_CHECK_HEADER([libpq-fe.h],[],[found_postgresql=no])
++          AS_IF([test "X$found_postgresql" = "Xno"],[break])
++          dnl try now to link
++          AC_CACHE_CHECK([for the PostgreSQL library linking is working],[ac_cv_postgresql_found],
++          [
++            AC_LINK_IFELSE([
++              AC_LANG_PROGRAM(
++                [
++                 #include <libpq-fe.h>
++                ],
++                [[
++                  char conninfo[]="dbname = postgres";
++                  PGconn     *conn;
++                  conn = PQconnectdb(conninfo);
++                ]]
++               )
++              ],[ac_cv_postgresql_found=yes],
++                [ac_cv_postgresql_found=no])
++           ])
++          found_postgresql="$ac_cv_postgresql_found"
++          AS_IF([test "X$found_postgresql" = "Xno"],[break])
++          break
++      done
++      CPPFLAGS="$_AX_LIB_POSTGRESQL_OLD_CPPFLAGS"
++      LDFLAGS="$_AX_LIB_POSTGRESQL_OLD_LDFLAGS"
++      LIBS="$_AX_LIB_POSTGRESQL_OLD_LIBS"
++      ])
++
++
++      AS_IF([test "x$found_postgresql" = "xyes"],[
++              AC_DEFINE([HAVE_POSTGRESQL], [1],
++                        [Define to 1 if PostgreSQL libraries are available])])
++    ])
+     AC_SUBST([POSTGRESQL_VERSION])
+-    AC_SUBST([POSTGRESQL_CFLAGS])
++    AC_SUBST([POSTGRESQL_CPPFLAGS])
+     AC_SUBST([POSTGRESQL_LDFLAGS])
++    AC_SUBST([POSTGRESQL_LIBS])
++
++    AS_IF([test "x$found_postgresql" = "xyes"],
++     [ifelse([$2], , :, [$2])],
++     [ifelse([$3], , AS_IF([test X"$want_postgresql" = "Xyes"],[AC_MSG_ERROR([Library requirements (PostgreSQL) not met.])],[:]), [$3])])
++
+ ])
+--- a/configure.ac
++++ b/configure.ac
+@@ -158,7 +158,7 @@
+ dnl ********************************************************
+ dnl * Check for the PostgreSQL library (PostgreSQL plugin) *
+ dnl ********************************************************
+-AX_LIB_POSTGRESQL()
++AX_LIB_POSTGRESQL([9.0])
+ with_pgsql="no"
+ if test x$POSTGRESQL_VERSION != x; then
+--- /dev/null
++++ b/m4/ax_compare_version.m4
+@@ -0,0 +1,177 @@
++# ===========================================================================
++#    https://www.gnu.org/software/autoconf-archive/ax_compare_version.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_COMPARE_VERSION(VERSION_A, OP, VERSION_B, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
++#
++# DESCRIPTION
++#
++#   This macro compares two version strings. Due to the various number of
++#   minor-version numbers that can exist, and the fact that string
++#   comparisons are not compatible with numeric comparisons, this is not
++#   necessarily trivial to do in a autoconf script. This macro makes doing
++#   these comparisons easy.
++#
++#   The six basic comparisons are available, as well as checking equality
++#   limited to a certain number of minor-version levels.
++#
++#   The operator OP determines what type of comparison to do, and can be one
++#   of:
++#
++#    eq  - equal (test A == B)
++#    ne  - not equal (test A != B)
++#    le  - less than or equal (test A <= B)
++#    ge  - greater than or equal (test A >= B)
++#    lt  - less than (test A < B)
++#    gt  - greater than (test A > B)
++#
++#   Additionally, the eq and ne operator can have a number after it to limit
++#   the test to that number of minor versions.
++#
++#    eq0 - equal up to the length of the shorter version
++#    ne0 - not equal up to the length of the shorter version
++#    eqN - equal up to N sub-version levels
++#    neN - not equal up to N sub-version levels
++#
++#   When the condition is true, shell commands ACTION-IF-TRUE are run,
++#   otherwise shell commands ACTION-IF-FALSE are run. The environment
++#   variable 'ax_compare_version' is always set to either 'true' or 'false'
++#   as well.
++#
++#   Examples:
++#
++#     AX_COMPARE_VERSION([3.15.7],[lt],[3.15.8])
++#     AX_COMPARE_VERSION([3.15],[lt],[3.15.8])
++#
++#   would both be true.
++#
++#     AX_COMPARE_VERSION([3.15.7],[eq],[3.15.8])
++#     AX_COMPARE_VERSION([3.15],[gt],[3.15.8])
++#
++#   would both be false.
++#
++#     AX_COMPARE_VERSION([3.15.7],[eq2],[3.15.8])
++#
++#   would be true because it is only comparing two minor versions.
++#
++#     AX_COMPARE_VERSION([3.15.7],[eq0],[3.15])
++#
++#   would be true because it is only comparing the lesser number of minor
++#   versions of the two values.
++#
++#   Note: The characters that separate the version numbers do not matter. An
++#   empty string is the same as version 0. OP is evaluated by autoconf, not
++#   configure, so must be a string, not a variable.
++#
++#   The author would like to acknowledge Guido Draheim whose advice about
++#   the m4_case and m4_ifvaln functions make this macro only include the
++#   portions necessary to perform the specific comparison specified by the
++#   OP argument in the final configure script.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Tim Toolan <toolan@ele.uri.edu>
++#
++#   Copying and distribution of this file, with or without modification, are
++#   permitted in any medium without royalty provided the copyright notice
++#   and this notice are preserved. This file is offered as-is, without any
++#   warranty.
++
++#serial 13
++
++dnl #########################################################################
++AC_DEFUN([AX_COMPARE_VERSION], [
++  AC_REQUIRE([AC_PROG_AWK])
++
++  # Used to indicate true or false condition
++  ax_compare_version=false
++
++  # Convert the two version strings to be compared into a format that
++  # allows a simple string comparison.  The end result is that a version
++  # string of the form 1.12.5-r617 will be converted to the form
++  # 0001001200050617.  In other words, each number is zero padded to four
++  # digits, and non digits are removed.
++  AS_VAR_PUSHDEF([A],[ax_compare_version_A])
++  A=`echo "$1" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
++                     -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
++                     -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
++                     -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
++                     -e 's/[[^0-9]]//g'`
++
++  AS_VAR_PUSHDEF([B],[ax_compare_version_B])
++  B=`echo "$3" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \
++                     -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \
++                     -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \
++                     -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \
++                     -e 's/[[^0-9]]//g'`
++
++  dnl # In the case of le, ge, lt, and gt, the strings are sorted as necessary
++  dnl # then the first line is used to determine if the condition is true.
++  dnl # The sed right after the echo is to remove any indented white space.
++  m4_case(m4_tolower($2),
++  [lt],[
++    ax_compare_version=`echo "x$A
++x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/false/;s/x${B}/true/;1q"`
++  ],
++  [gt],[
++    ax_compare_version=`echo "x$A
++x$B" | sed 's/^ *//' | sort | sed "s/x${A}/false/;s/x${B}/true/;1q"`
++  ],
++  [le],[
++    ax_compare_version=`echo "x$A
++x$B" | sed 's/^ *//' | sort | sed "s/x${A}/true/;s/x${B}/false/;1q"`
++  ],
++  [ge],[
++    ax_compare_version=`echo "x$A
++x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/true/;s/x${B}/false/;1q"`
++  ],[
++    dnl Split the operator from the subversion count if present.
++    m4_bmatch(m4_substr($2,2),
++    [0],[
++      # A count of zero means use the length of the shorter version.
++      # Determine the number of characters in A and B.
++      ax_compare_version_len_A=`echo "$A" | $AWK '{print(length)}'`
++      ax_compare_version_len_B=`echo "$B" | $AWK '{print(length)}'`
++
++      # Set A to no more than B's length and B to no more than A's length.
++      A=`echo "$A" | sed "s/\(.\{$ax_compare_version_len_B\}\).*/\1/"`
++      B=`echo "$B" | sed "s/\(.\{$ax_compare_version_len_A\}\).*/\1/"`
++    ],
++    [[0-9]+],[
++      # A count greater than zero means use only that many subversions
++      A=`echo "$A" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
++      B=`echo "$B" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"`
++    ],
++    [.+],[
++      AC_WARNING(
++        [invalid OP numeric parameter: $2])
++    ],[])
++
++    # Pad zeros at end of numbers to make same length.
++    ax_compare_version_tmp_A="$A`echo $B | sed 's/./0/g'`"
++    B="$B`echo $A | sed 's/./0/g'`"
++    A="$ax_compare_version_tmp_A"
++
++    # Check for equality or inequality as necessary.
++    m4_case(m4_tolower(m4_substr($2,0,2)),
++    [eq],[
++      test "x$A" = "x$B" && ax_compare_version=true
++    ],
++    [ne],[
++      test "x$A" != "x$B" && ax_compare_version=true
++    ],[
++      AC_WARNING([invalid OP parameter: $2])
++    ])
++  ])
++
++  AS_VAR_POPDEF([A])dnl
++  AS_VAR_POPDEF([B])dnl
++
++  dnl # Execute ACTION-IF-TRUE / ACTION-IF-FALSE.
++  if test "$ax_compare_version" = "true" ; then
++    m4_ifvaln([$4],[$4],[:])dnl
++    m4_ifvaln([$5],[else $5])dnl
++  fi
++]) dnl AX_COMPARE_VERSION
+--- a/configure.ac
++++ b/configure.ac
+@@ -170,7 +170,7 @@
+         LIBS=$LIBS_bkp;
+         CPPFLAGS_bkp=$CPPFLAGS
+-        CPPFLAGS="$POSTGRESQL_CFLAGS"
++        CPPFLAGS="$POSTGRESQL_CPPFLAGS"
+         AC_CHECK_HEADER(libpq-fe.h, with_pgsql=yes, with_pgsql=no)
+         CPPFLAGS=$CPPFLAGS_bkp;
+ fi
+--- a/plugins/sql/pgsql/Makefile.am
++++ b/plugins/sql/pgsql/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CPPFLAGS=@PCFLAGS@ -I$(top_srcdir)/src/include -I$(top_srcdir)/libmissing -I$(top_builddir)/libmissing @LIBPRELUDE_CFLAGS@ @POSTGRESQL_CFLAGS@
++AM_CPPFLAGS=@PCFLAGS@ -I$(top_srcdir)/src/include -I$(top_srcdir)/libmissing -I$(top_builddir)/libmissing @LIBPRELUDE_CFLAGS@ @POSTGRESQL_CPPFLAGS@
+ pgsql_la_LDFLAGS = -module -avoid-version @LIBPRELUDE_LDFLAGS@ 
+ if HAVE_PGSQL
diff --git a/dev-libs/libpreludedb/libpreludedb-5.1.0.ebuild b/dev-libs/libpreludedb/libpreludedb-5.1.0.ebuild
new file mode 100644 (file)
index 0000000..f8f0d82
--- /dev/null
@@ -0,0 +1,95 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7} )
+DISTUTILS_OPTIONAL=1
+
+inherit autotools distutils-r1
+
+DESCRIPTION="Framework to easy access to the Prelude database"
+HOMEPAGE="https://www.prelude-siem.org"
+SRC_URI="https://www.prelude-siem.org/pkg/src/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="mysql postgres python sqlite"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND=">=dev-libs/libprelude-5.1.0
+       <dev-libs/libprelude-6
+       net-libs/gnutls:=
+       mysql? ( dev-db/mysql-connector-c:= )
+       postgres? ( dev-db/postgresql:* )
+       python? ( ${PYTHON_DEPS} )
+       sqlite? ( dev-db/sqlite:3 )"
+
+DEPEND="${RDEPEND}"
+
+BDEPEND=">=dev-lang/swig-3.0.11
+       dev-util/gtk-doc-am
+       sys-devel/flex
+       virtual/pkgconfig
+       virtual/yacc
+       python? ( ${PYTHON_DEPS} )"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-4.0.0-fix-python-bindings.patch"
+       "${FILESDIR}/${PN}-5.1.0-fix_gtkdoc_1.32.patch"
+       "${FILESDIR}/${PN}-5.1.0-fix_py38.patch"
+       "${FILESDIR}/${PN}-5.1.0-update_m4_postgresql.patch"
+)
+
+src_prepare() {
+       default
+
+       eautoreconf
+
+       if use python; then
+               cd bindings/python || die
+               distutils-r1_src_prepare
+       fi
+}
+
+src_configure() {
+       local myconf=(
+               --enable-easy-bindings
+               --with-swig
+               $(use_with mysql)
+               $(use_with postgres postgresql)
+               $(use_with sqlite sqlite3)
+       )
+
+       if use python; then
+               python_setup
+               if python_is_python3; then
+                       myconf+=(--without-python2 --with-python3="${EPYTHON}")
+               else
+                       myconf+=(--without-python3 --with-python2="${EPYTHON}")
+               fi
+       else
+               myconf+=(--without-python2 --without-python3)
+       fi
+
+       econf "${myconf[@]}"
+}
+
+src_compile() {
+       default
+       if use python; then
+               cd bindings/python || die
+               distutils-r1_src_compile
+       fi
+}
+
+src_install() {
+       default
+       find "${D}" -name '*.la' -delete || die
+       if use python; then
+               cd bindings/python || die
+               distutils-r1_src_install
+       fi
+}