blob: 3e05e061edf12420b84332ad0dd95bb656af9a4c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
# 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"
}
|