commit:     0fa80295af29bf426677f4f7fbdb7dc1f0fc1f4e
Author:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 24 03:42:36 2020 +0000
Commit:     Aaron W. Swenson <titanofold <AT> gentoo <DOT> org>
CommitDate: Thu Dec 24 03:42:36 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0fa80295

dev-db/postgis: Version Bump and Fix

Bump to 3.1.0.

No longer auto-magically depend on libcxx, and tries more names for a compatible
CPP interface.

Bug: https://bugs.gentoo.org/731104
Bug: https://bugs.gentoo.org/747544
Signed-off-by: Aaron W. Swenson <titanofold <AT> gentoo.org>

 dev-db/postgis/Manifest                            |   1 +
 .../files/postgis-3.0.3-detect-only-stdc.patch     |  17 +++
 .../files/postgis-3.0.3-try-other-cpp-names.patch  |  12 ++
 dev-db/postgis/postgis-3.0.3-r2.ebuild             | 139 ++++++++++++++++++++
 dev-db/postgis/postgis-3.1.0.ebuild                | 140 +++++++++++++++++++++
 5 files changed, 309 insertions(+)

diff --git a/dev-db/postgis/Manifest b/dev-db/postgis/Manifest
index 705f54c7fd9..7d45c2f6ebb 100644
--- a/dev-db/postgis/Manifest
+++ b/dev-db/postgis/Manifest
@@ -5,4 +5,5 @@ DIST postgis-3.0.0.tar.gz 17359802 BLAKE2B 
aa83bdc2d1950c517f99cbdd877eb7261f6c2
 DIST postgis-3.0.1.tar.gz 16839923 BLAKE2B 
6888fa49562ab71929e92007de305fd6610c74988faaf08fbeabbf1d13029ebbb5da788826dc63d03ae5c873fbe408ae6c0f108b2975755d2b13bc69bed53558
 SHA512 
5ebce2303d672bb342f7fae6cade08140c8a687fc38e82e5b41eebb8465cdf3dc7bdbeae53b1179df8112a01842dd65f362fc107b381e2a1fa6e161b77a50227
 DIST postgis-3.0.2.tar.gz 16855299 BLAKE2B 
99ee872abf52651ab53e4dd6203d99d428d366f60b949fabcae938980f5c17809872e9b23f7ab1f3480a60242e735c926e54122492e1b8966ed8c748eb7c4fe6
 SHA512 
763d7818d195eca0b07d94a864b13da68e5734ae57b7c93c285dc2d0fa4a155715745e5da67e1a3bca49d8d4f89dc495ed3912c079722290ce9f220afca33f4d
 DIST postgis-3.0.3.tar.gz 16871696 BLAKE2B 
891f814271de9193cd17013d6d971a752d2e984cb0f68b05510450adef97fc96827e3d1a1c7e4fa4cf79a5d15eb3f74b32e6e9a8db1947f7bad7c2b23656bc8f
 SHA512 
478f0971e18c2a1bd651c9bf7b995236aad32fda037762505cf8ac9e67a4e40917436248c1e62827a1a6da96c15c4ae8d0b606d548fa080cdff453642b897115
+DIST postgis-3.1.0.tar.gz 17262134 BLAKE2B 
dbc6edde826328b84ca7d6cc9329d648c7874d51528252759499131d7ad5dbc1a7a4ef881054f2fa1fc255810157270dc1c0ae0e2ea24ec702f06b9fd5f6dfed
 SHA512 
c5b063ff7cbe855ab6ce4104d170b27eea04ae632fd6fcb8de38b14699296a8e0c9ce06bfb48ab14cba51b7a1b3f7e0a3996d9377a954dfc39fd68fe3f839e8f
 DIST postgis-3.1.0alpha3.tar.gz 17197128 BLAKE2B 
f3b777efa8542b82db6031fa77a5728be94689542b45e4515887306cd0ae42cd9d802eae94b07e5a70f308e82fe6afc49a29f43ad2c302d9913f00797118764c
 SHA512 
758b688aa01babc5ac9cc703d3d64fd751639425df7e1a2aa5bb72f1707a8279f87e7b3d84e23f465a51d08787858e0eb54e0afc38039d69ddfe7668e2dce256

diff --git a/dev-db/postgis/files/postgis-3.0.3-detect-only-stdc.patch 
b/dev-db/postgis/files/postgis-3.0.3-detect-only-stdc.patch
new file mode 100644
index 00000000000..5b97102bb23
--- /dev/null
+++ b/dev-db/postgis/files/postgis-3.0.3-detect-only-stdc.patch
@@ -0,0 +1,17 @@
+diff -Naruw postgis-3.1.0.orig/configure.ac postgis-3.1.0/configure.ac
+--- postgis-3.1.0.orig/configure.ac    2020-12-18 14:39:26.000000000 -0500
++++ postgis-3.1.0/configure.ac 2020-12-19 07:35:13.232167083 -0500
+@@ -1501,12 +1501,9 @@
+             dnl ============================================================
+             CC="$WAGYU_CXX"
+ 
+-            AC_CHECK_LIB(c++, main, [HAVE_CPP=yes], [HAVE_CPP=no])
+             AC_CHECK_LIB(stdc++, main, [HAVE_STDCPP=yes], [HAVE_STDCPP=no])
+ 
+-            if test "x$HAVE_CPP" = "xyes"; then
+-                WAGYU_LDFLAGS="-lc++"
+-            elif test "x$HAVE_STDCPP" = "xyes"; then
++            if test "x$HAVE_STDCPP" = "xyes"; then
+                 WAGYU_LDFLAGS="-lstdc++"
+             else
+                 AC_MSG_WARN("Could not find a C++ standard library")

diff --git a/dev-db/postgis/files/postgis-3.0.3-try-other-cpp-names.patch 
b/dev-db/postgis/files/postgis-3.0.3-try-other-cpp-names.patch
new file mode 100644
index 00000000000..691cf8d1936
--- /dev/null
+++ b/dev-db/postgis/files/postgis-3.0.3-try-other-cpp-names.patch
@@ -0,0 +1,12 @@
+diff -Naruw postgis-3.1.0.orig/configure.ac postgis-3.1.0/configure.ac
+--- postgis-3.1.0.orig/configure.ac    2020-12-18 14:39:26.000000000 -0500
++++ postgis-3.1.0/configure.ac 2020-12-23 21:44:09.223273050 -0500
+@@ -31,7 +31,7 @@
+ dnl
+ dnl SQL Preprocessor
+ dnl
+-AC_PATH_PROG([CPPBIN], [cpp], [])
++AC_PATH_PROGS([CPPBIN], [cpp x86_64-pc-linux-gnu-cpp x86-pc-linux-gnu-cpp], 
[])
+ if test "x$CPPBIN" != "x"; then
+   SQLPP="${CPPBIN} -traditional-cpp -w -P"
+ else

diff --git a/dev-db/postgis/postgis-3.0.3-r2.ebuild 
b/dev-db/postgis/postgis-3.0.3-r2.ebuild
new file mode 100644
index 00000000000..407f889068d
--- /dev/null
+++ b/dev-db/postgis/postgis-3.0.3-r2.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 9.{5..6} {10..13} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git";
+else
+       PGIS="$(ver_cut 1-2)"
+       SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz";
+       KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net";
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk static-libs test topology"
+
+REQUIRED_USE="test? ( doc ) ${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+       dev-libs/json-c:=
+       dev-libs/libxml2:2
+       dev-libs/protobuf-c:=
+       >=sci-libs/geos-3.6.0
+       >=sci-libs/proj-4.9.0:=
+       >=sci-libs/gdal-1.10.0:=
+       address-standardizer? ( dev-libs/libpcre )
+       gtk? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+       doc? (
+               app-text/docbook-xsl-stylesheets
+               app-text/docbook-xml-dtd:4.5
+               dev-libs/libxslt
+               virtual/imagemagick-tools[png]
+       )
+       test? ( dev-util/cunit )
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-2.2.0-arflags.patch"
+       "${FILESDIR}/${P}-avoid-calling-ar-directly.patch"
+       "${FILESDIR}/${PN}-3.0.3-detect-only-stdc.patch"
+       "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
+)
+
+src_prepare() {
+       default
+
+       if [[ ${PV} = *9999* ]] ; then
+               source "${S}"/Version.config
+               PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+       fi
+
+       # These modules are built using the same *FLAGS that were used to build
+       # dev-db/postgresql. The right thing to do is to ignore the current
+       # *FLAGS settings.
+       QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+       local AT_M4DIR="macros"
+       eautoreconf
+
+       postgres-multi_src_prepare
+}
+
+src_configure() {
+       local myeconfargs=(
+               $(use_with address-standardizer)
+               $(use_with gtk gui)
+               $(use_with topology)
+       )
+       postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+       postgres-multi_foreach emake
+       postgres-multi_foreach emake -C topology
+
+       if use doc ; then
+               postgres-multi_foreach emake comments
+               postgres-multi_foreach emake cheatsheets
+               postgres-multi_forbest emake -C doc html
+       fi
+}
+
+src_install() {
+       postgres-multi_foreach emake DESTDIR="${D}" install
+       postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+       postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+       dodoc CREDITS TODO loader/README.* doc/*txt
+
+       docinto topology
+       dodoc topology/{TODO,README}
+
+       if use doc ; then
+               postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+               docinto html
+               postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+               docinto html/images
+               postgres-multi_forbest dodoc doc/html/images/*
+       fi
+
+       use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+       ebegin "Refreshing PostgreSQL symlinks"
+       postgresql-config update
+       eend $?
+
+       local base_uri="https://postgis.net/docs/manual-";
+       if [[ ${PV} = *9999* ]] ; then
+               base_uri+="dev"
+       else
+               base_uri+="${PGIS}"
+       fi
+
+       elog "To finish installing PostGIS, follow the directions detailed at:"
+       elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}

diff --git a/dev-db/postgis/postgis-3.1.0.ebuild 
b/dev-db/postgis/postgis-3.1.0.ebuild
new file mode 100644
index 00000000000..b7ace852615
--- /dev/null
+++ b/dev-db/postgis/postgis-3.1.0.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+POSTGRES_COMPAT=( 9.6 {10..13} )
+POSTGRES_USEDEP="server"
+inherit autotools postgres-multi toolchain-funcs
+
+MY_P="${PN}-$(ver_rs 3 '')"
+
+if [[ ${PV} = *9999* ]] ; then
+       inherit git-r3
+       EGIT_REPO_URI="https://git.osgeo.org/gitea/postgis/postgis.git";
+else
+       PGIS="$(ver_cut 1-2)"
+       SRC_URI="https://download.osgeo.org/postgis/source/${MY_P}.tar.gz";
+       KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+fi
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="https://postgis.net";
+
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="address-standardizer doc gtk static-libs topology"
+
+REQUIRED_USE="${POSTGRES_REQ_USE}"
+
+# Needs a running psql instance, doesn't work out of the box
+RESTRICT="test"
+
+RDEPEND="${POSTGRES_DEP}
+       dev-libs/json-c:=
+       dev-libs/libxml2:2
+       dev-libs/protobuf-c:=
+       >=sci-libs/geos-3.9.0
+       >=sci-libs/proj-4.9.0:=
+       >=sci-libs/gdal-1.10.0:=
+       address-standardizer? ( dev-libs/libpcre )
+       gtk? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+       virtual/pkgconfig
+       doc? (
+               app-text/docbook-xsl-stylesheets
+               app-text/docbook-xml-dtd:4.5
+               dev-libs/libxslt
+               virtual/imagemagick-tools[png]
+       )
+"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-2.2.0-arflags.patch"
+       "${FILESDIR}/${PN}-3.0.3-avoid-calling-ar-directly.patch"
+       "${FILESDIR}/${PN}-3.0.3-detect-only-stdc.patch"
+       "${FILESDIR}/${PN}-3.0.3-try-other-cpp-names.patch"
+)
+
+src_prepare() {
+       default
+
+       if [[ ${PV} = *9999* ]] ; then
+               source "${S}"/Version.config
+               PGIS="${POSTGIS_MAJOR_VERSION}.${POSTGIS_MINOR_VERSION}"
+       fi
+
+       # These modules are built using the same *FLAGS that were used to build
+       # dev-db/postgresql. The right thing to do is to ignore the current
+       # *FLAGS settings.
+       QA_FLAGS_IGNORED="usr/lib(64)?/(rt)?postgis-${PGIS}\.so"
+
+       local AT_M4DIR="macros"
+       eautoreconf
+
+       postgres-multi_src_prepare
+}
+
+src_configure() {
+       export CPP=$(tc-getCPP)
+
+       local myeconfargs=(
+               $(use_with address-standardizer)
+               $(use_with gtk gui)
+               $(use_with topology)
+       )
+       postgres-multi_foreach econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+       postgres-multi_foreach emake
+       postgres-multi_foreach emake -C topology
+
+       if use doc ; then
+               postgres-multi_foreach emake comments
+               postgres-multi_foreach emake cheatsheets
+               postgres-multi_forbest emake -C doc html
+       fi
+}
+
+src_install() {
+       postgres-multi_foreach emake DESTDIR="${D}" install
+       postgres-multi_foreach emake -C topology DESTDIR="${D}" install
+       postgres-multi_forbest dobin ./utils/postgis_restore.pl
+
+       dodoc CREDITS TODO loader/README.* doc/*txt
+
+       docinto topology
+       dodoc topology/{TODO,README}
+
+       if use doc ; then
+               postgres-multi_foreach emake DESTDIR="${D}" comments-install
+
+               docinto html
+               postgres-multi_forbest dodoc doc/html/{postgis.html,style.css}
+
+               docinto html/images
+               postgres-multi_forbest dodoc doc/html/images/*
+       fi
+
+       use static-libs || find "${ED}" -name '*.a' -delete
+}
+
+pkg_postinst() {
+       ebegin "Refreshing PostgreSQL symlinks"
+       postgresql-config update
+       eend $?
+
+       local base_uri="https://postgis.net/docs/manual-";
+       if [[ ${PV} = *9999* ]] ; then
+               base_uri+="dev"
+       else
+               base_uri+="${PGIS}"
+       fi
+
+       elog "To finish installing PostGIS, follow the directions detailed at:"
+       elog "${base_uri}/postgis_installation.html#create_new_db_extensions"
+}

Reply via email to