From 061acf21495a02e1f2520ae1c3953879ae4fb798 Mon Sep 17 00:00:00 2001 From: Bernd Waibel Date: Sat, 5 Dec 2020 15:23:35 +0100 Subject: dev-db/postgis: fix direct ar call Fix done during bugday 2020-12-05 Closes: https://bugs.gentoo.org/756046 Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Bernd Waibel Closes: https://github.com/gentoo/gentoo/pull/18518 Signed-off-by: Aaron W. Swenson --- .../postgis-3.0.3-avoid-calling-ar-directly.patch | 85 +++++++++++++ dev-db/postgis/postgis-3.0.3-r1.ebuild | 138 +++++++++++++++++++++ dev-db/postgis/postgis-3.0.3.ebuild | 135 -------------------- 3 files changed, 223 insertions(+), 135 deletions(-) create mode 100644 dev-db/postgis/files/postgis-3.0.3-avoid-calling-ar-directly.patch create mode 100644 dev-db/postgis/postgis-3.0.3-r1.ebuild delete mode 100644 dev-db/postgis/postgis-3.0.3.ebuild (limited to 'dev-db') diff --git a/dev-db/postgis/files/postgis-3.0.3-avoid-calling-ar-directly.patch b/dev-db/postgis/files/postgis-3.0.3-avoid-calling-ar-directly.patch new file mode 100644 index 000000000000..66a82e1e7261 --- /dev/null +++ b/dev-db/postgis/files/postgis-3.0.3-avoid-calling-ar-directly.patch @@ -0,0 +1,85 @@ +From 7c5acb8ab83ee278f6a16c7279c3a12ca93499e9 Mon Sep 17 00:00:00 2001 +From: Bernd Waibel +Date: Sat, 5 Dec 2020 13:38:03 +0100 +Subject: [PATCH] avoid calling ar directly + +Signed-off-by: Bernd Waibel +--- + configure.ac | 2 +- + deps/wagyu/Makefile.in | 4 +++- + libpgcommon/Makefile.in | 4 +++- + raster/rt_core/Makefile.in | 1 + + 4 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4f26390..362d3e6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -14,7 +14,7 @@ AC_CONFIG_HEADERS([postgis_config.h]) + AC_CONFIG_MACRO_DIR([macros]) + AC_CONFIG_AUX_DIR([build-aux]) + AC_PROG_INSTALL +- ++AM_PROG_AR + + dnl Invoke libtool: we do this as it is the easiest way to find the PIC + dnl flags required to build liblwgeom +diff --git a/deps/wagyu/Makefile.in b/deps/wagyu/Makefile.in +index 03d2279..05d6629 100644 +--- a/deps/wagyu/Makefile.in ++++ b/deps/wagyu/Makefile.in +@@ -28,6 +28,8 @@ LDFLAGS = @LDFLAGS@ + top_builddir = @top_builddir@ + libdir = @libdir@ + LIBTOOL = @LIBTOOL@ ++AR = @AR@ ++ARFLAGS = rs + + WAGYU_OBJS = \ + lwgeom_wagyu.o +@@ -78,7 +80,7 @@ WAGYU_HEADERS = \ + all: @WAGYU_LIB@ + + @WAGYU_LIB@: $(WAGYU_OBJS) +- ar rs @WAGYU_LIB@ $(WAGYU_OBJS) ++ $(AR) $(ARFLAGS) @WAGYU_LIB@ $(WAGYU_OBJS) + + $(WAGYU_OBJS): %.o: %.cpp ../../liblwgeom/liblwgeom.h $(WAGYU_HEADERS) + $(CXX) $(CXXFLAGS) -c -o $@ $< +diff --git a/libpgcommon/Makefile.in b/libpgcommon/Makefile.in +index c44cf5b..78eb282 100644 +--- a/libpgcommon/Makefile.in ++++ b/libpgcommon/Makefile.in +@@ -12,6 +12,8 @@ + CC=@CC@ + CFLAGS=-I../liblwgeom @WARNFLAGS@ @CFLAGS@ @PGSQL_BE_CPPFLAGS@ @PROJ_CPPFLAGS@ @PICFLAGS@ @GETTEXT_CFLAGS@ + LDFLAGS=@GETTEXT_LDFLAGS@ @LIBINTL@ ++AR = @AR@ ++ARFLAGS = rs + + NUMERICFLAGS=@NUMERICFLAGS@ + +@@ -39,7 +41,7 @@ all: libpgcommon.a + install uninstall: + + libpgcommon.a: $(SA_OBJS) $(SA_HEADERS) +- ar rs libpgcommon.a $(SA_OBJS) ++ $(AR) $(ARFLAGS) libpgcommon.a $(SA_OBJS) + + maintainer-clean: clean + +diff --git a/raster/rt_core/Makefile.in b/raster/rt_core/Makefile.in +index 380a3e7..b399661 100644 +--- a/raster/rt_core/Makefile.in ++++ b/raster/rt_core/Makefile.in +@@ -18,6 +18,7 @@ + # + ############################################################################# + ++AR = @AR@ + ARFLAGS = rs + + CC = @CC@ +-- +2.29.2 + diff --git a/dev-db/postgis/postgis-3.0.3-r1.ebuild b/dev-db/postgis/postgis-3.0.3-r1.ebuild new file mode 100644 index 000000000000..ef6c9bc20dbb --- /dev/null +++ b/dev-db/postgis/postgis-3.0.3-r1.ebuild @@ -0,0 +1,138 @@ +# 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" +) + +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=( + --with-protobuf # funky misdetection if enabled but --without-protobuf + $(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.0.3.ebuild b/dev-db/postgis/postgis-3.0.3.ebuild deleted file mode 100644 index 3e05e061edf1..000000000000 --- a/dev-db/postgis/postgis-3.0.3.ebuild +++ /dev/null @@ -1,135 +0,0 @@ -# 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" ) - -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=( - --with-protobuf # funky misdetection if enabled but --without-protobuf - $(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" -} -- cgit v1.2.3-65-gdbad