commit: cec1876c7d43596990f022e9862040fce1edcf39 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Tue Dec 3 02:42:34 2024 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Dec 3 02:44:25 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cec1876c
dev-db/postgis: don't call eautoheader Upstream commit their own edits to postgres_config.h(.in) *after* vanilla autoheader has run which means that running it ourselves clobbers those changes. Stop doing that. This would lead to a mismatched version being reported at least at runtime. Thanks to Timo Gurr for the debugging and help reproducing it. Closes: https://bugs.gentoo.org/912275 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-db/postgis/postgis-3.5.0-r1.ebuild | 137 +++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) diff --git a/dev-db/postgis/postgis-3.5.0-r1.ebuild b/dev-db/postgis/postgis-3.5.0-r1.ebuild new file mode 100644 index 000000000000..384e437c41b1 --- /dev/null +++ b/dev-db/postgis/postgis-3.5.0-r1.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +POSTGRES_COMPAT=( {12..17} ) +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-6.1.0:= + >=sci-libs/gdal-1.10.0:= + address-standardizer? ( dev-libs/libpcre2 ) + 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}-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" + + # bug #775968 + touch build-aux/ar-lib || die + + # eautoheader MUST be disabled as upstream manually modify its output + # rather than using it directly. The version at runtime at least is + # broken otherwise. See bug #912275. + AT_M4DIR="macros" AT_NOEAUTOHEADER="yes" 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_forbest 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 + postgres-multi_forbest emake DESTDIR="${D}" -C doc cheatsheet-install html-install html-assets-install + 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" +}