diff options
Diffstat (limited to 'dev-db/postgis/postgis-3.1.8-r1.ebuild')
-rw-r--r-- | dev-db/postgis/postgis-3.1.8-r1.ebuild | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/dev-db/postgis/postgis-3.1.8-r1.ebuild b/dev-db/postgis/postgis-3.1.8-r1.ebuild new file mode 100644 index 000000000000..d1478aa5d62d --- /dev/null +++ b/dev-db/postgis/postgis-3.1.8-r1.ebuild @@ -0,0 +1,143 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +POSTGRES_COMPAT=( 9.6 {10..14} ) +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/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}-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" + + # bug #775968 + touch build-aux/ar-lib || die + + 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" +} |