summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorAaron W. Swenson <titanofold@gentoo.org>2013-01-30 14:46:58 +0000
committerAaron W. Swenson <titanofold@gentoo.org>2013-01-30 14:46:58 +0000
commit7ca504ec0dcfd556690eb338fa05713943aedece (patch)
tree316dbae2a522f67acfce7ccd6f12133d9d5411db /dev-db
parentDo not install the update checker. (diff)
downloadgentoo-2-7ca504ec0dcfd556690eb338fa05713943aedece.tar.gz
gentoo-2-7ca504ec0dcfd556690eb338fa05713943aedece.tar.bz2
gentoo-2-7ca504ec0dcfd556690eb338fa05713943aedece.zip
Version bumps. Fixes bugs 339116, 423349, and 454276.
(Portage version: 2.1.11.31/cvs/Linux x86_64, signed Manifest commit with key D1BBFDA0)
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/postgis/ChangeLog15
-rw-r--r--dev-db/postgis/files/postgis-1.5-ldflags.patch28
-rw-r--r--dev-db/postgis/files/postgis-2.0-ldflags.patch26
-rw-r--r--dev-db/postgis/postgis-1.3.6-r2.ebuild206
-rw-r--r--dev-db/postgis/postgis-1.4.2-r2.ebuild255
-rw-r--r--dev-db/postgis/postgis-1.5.8.ebuild252
-rw-r--r--dev-db/postgis/postgis-2.0.2.ebuild250
7 files changed, 1030 insertions, 2 deletions
diff --git a/dev-db/postgis/ChangeLog b/dev-db/postgis/ChangeLog
index 4b38b292fcb3..2c70e2fcff4e 100644
--- a/dev-db/postgis/ChangeLog
+++ b/dev-db/postgis/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for dev-db/postgis
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/ChangeLog,v 1.71 2012/11/01 06:39:12 patrick Exp $
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/ChangeLog,v 1.72 2013/01/30 14:46:58 titanofold Exp $
+
+*postgis-2.0.2 (30 Jan 2013)
+*postgis-1.5.8 (30 Jan 2013)
+*postgis-1.4.2-r2 (30 Jan 2013)
+*postgis-1.3.6-r2 (30 Jan 2013)
+
+ 30 Jan 2013; Aaron W. Swenson <titanofold@gentoo.org>
+ +postgis-1.3.6-r2.ebuild, +postgis-1.4.2-r2.ebuild, +postgis-1.5.8.ebuild,
+ +files/postgis-1.5-ldflags.patch, +postgis-2.0.2.ebuild,
+ +files/postgis-2.0-ldflags.patch:
+ Version bumps. Fixes bugs 339116, 423349, and 454276.
*postgis-1.5.5 (01 Nov 2012)
diff --git a/dev-db/postgis/files/postgis-1.5-ldflags.patch b/dev-db/postgis/files/postgis-1.5-ldflags.patch
new file mode 100644
index 000000000000..3ccbb712c2d4
--- /dev/null
+++ b/dev-db/postgis/files/postgis-1.5-ldflags.patch
@@ -0,0 +1,28 @@
+diff -Naurw postgis-1.5.8.orig/loader/Makefile.in postgis-1.5.8/loader/Makefile.in
+--- postgis-1.5.8.orig/loader/Makefile.in 2010-09-10 20:44:05.000000000 +0000
++++ postgis-1.5.8/loader/Makefile.in 2013-01-30 14:31:01.189692941 +0000
+@@ -79,16 +79,16 @@
+ $(CC) $(CFLAGS) $(ICONV_CFLAGS) $(PGSQL_FE_CPPFLAGS) -c $<
+
+ $(PGSQL2SHP): shpopen.o dbfopen.o safileio.o getopt.o pgsql2shp.o $(LIBLWGEOM)
+- $(CC) $(CFLAGS) $^ $(ICONV_LDFLAGS) $(PGSQL_FE_LDFLAGS) -lm -o $@
++ $(CC) $(CFLAGS) $^ $(LDFLAGS) $(ICONV_LDFLAGS) $(PGSQL_FE_LDFLAGS) -lm -o $@
+
+ $(SHP2PGSQL-CLI): stringbuffer.o shpopen.o dbfopen.o safileio.o getopt.o shp2pgsql-core.o shp2pgsql-cli.o $(LIBLWGEOM)
+- $(CC) $(CFLAGS) $^ -o $@ $(ICONV_LDFLAGS) -lm
++ $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(ICONV_LDFLAGS) -lm
+
+ shp2pgsql-gui.o: shp2pgsql-gui.c
+ $(CC) $(CFLAGS) $(PGSQL_FE_CPPFLAGS) $(GTK_CFLAGS) -o $@ -c shp2pgsql-gui.c
+
+ $(SHP2PGSQL-GUI): stringbuffer.o shpopen.o dbfopen.o safileio.o shp2pgsql-core.o shp2pgsql-gui.o getopt.o $(LIBLWGEOM) $(GTK_WIN32_RES)
+- $(CC) $(CFLAGS) $(GTK_WIN32_FLAGS) $^ -o $@ $(GTK_LIBS) $(ICONV_LDFLAGS) $(PGSQL_FE_LDFLAGS) -lm
++ $(CC) $(CFLAGS) $(GTK_WIN32_FLAGS) $^ -o $@ $(LDFLAGS) $(GTK_LIBS) $(ICONV_LDFLAGS) $(PGSQL_FE_LDFLAGS) -lm
+
+ installdir:
+ @mkdir -p $(DESTDIR)$(bindir)
+@@ -106,4 +106,3 @@
+
+ clean:
+ @rm -f *.o $(SHP2PGSQL-CLI) $(PGSQL2SHP) $(GTK_WIN32_RES)
+-
diff --git a/dev-db/postgis/files/postgis-2.0-ldflags.patch b/dev-db/postgis/files/postgis-2.0-ldflags.patch
new file mode 100644
index 000000000000..f48617cd64a9
--- /dev/null
+++ b/dev-db/postgis/files/postgis-2.0-ldflags.patch
@@ -0,0 +1,26 @@
+diff -Naurw postgis-2.0.2.orig/loader/Makefile.in postgis-2.0.2/loader/Makefile.in
+--- postgis-2.0.2.orig/loader/Makefile.in 2012-03-21 21:36:59.000000000 +0000
++++ postgis-2.0.2/loader/Makefile.in 2013-01-29 21:44:12.566318760 +0000
+@@ -97,11 +97,11 @@
+
+ $(PGSQL2SHP-CLI): $(SHPLIB_OBJS) pgsql2shp-core.o pgsql2shp-cli.o $(LIBLWGEOM)
+ $(LIBTOOL) --mode=link \
+- $(CC) $(CFLAGS) $^ $(ICONV_LDFLAGS) $(PGSQL_FE_LDFLAGS) $(GETTEXT_LDFLAGS) -o $@
++ $(CC) $(CFLAGS) $^ $(LDFLAGS) $(ICONV_LDFLAGS) $(PGSQL_FE_LDFLAGS) $(GETTEXT_LDFLAGS) -o $@
+
+ $(SHP2PGSQL-CLI): $(SHPLIB_OBJS) shp2pgsql-core.o shp2pgsql-cli.o $(LIBLWGEOM)
+ $(LIBTOOL) --mode=link \
+- $(CC) $(CFLAGS) $^ -o $@ $(GETTEXT_LDFLAGS) $(ICONV_LDFLAGS)
++ $(CC) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(GETTEXT_LDFLAGS) $(ICONV_LDFLAGS)
+
+ shp2pgsql-gui.o: shp2pgsql-gui.c shp2pgsql-core.h shpcommon.h
+ $(CC) $(CFLAGS) $(GTK_CFLAGS) $(PGSQL_FE_CPPFLAGS) -o $@ -c shp2pgsql-gui.c
+@@ -109,7 +109,7 @@
+ $(SHP2PGSQL-GUI): $(SHPLIB_OBJS) shp2pgsql-core.o shp2pgsql-gui.o pgsql2shp-core.o $(LIBLWGEOM) $(GTK_WIN32_RES)
+ $(LIBTOOL) --mode=link \
+ $(CC) $(CFLAGS) $(GTK_WIN32_FLAGS) $^ -o $@ \
+- $(GTK_LIBS) $(ICONV_LDFLAGS) $(PGSQL_FE_LDFLAGS) $(GETTEXT_LDFLAGS)
++ $(LDFLAGS) $(GTK_LIBS) $(ICONV_LDFLAGS) $(PGSQL_FE_LDFLAGS) $(GETTEXT_LDFLAGS)
+
+ installdir:
+ @mkdir -p $(DESTDIR)$(bindir)
diff --git a/dev-db/postgis/postgis-1.3.6-r2.ebuild b/dev-db/postgis/postgis-1.3.6-r2.ebuild
new file mode 100644
index 000000000000..673108a46a0b
--- /dev/null
+++ b/dev-db/postgis/postgis-1.3.6-r2.ebuild
@@ -0,0 +1,206 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/postgis-1.3.6-r2.ebuild,v 1.1 2013/01/30 14:46:58 titanofold Exp $
+
+EAPI="1"
+
+inherit eutils multilib versionator
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="http://postgis.net"
+SRC_URI="http://download.osgeo.org/postgis/source/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="geos proj doc"
+
+RDEPEND=" || (
+ dev-db/postgresql-server:8.4
+ dev-db/postgresql-server:8.3
+ dev-db/postgresql-server:8.2
+ dev-db/postgresql-server:8.1
+ dev-db/postgresql-server:8.0
+ )
+ geos? ( sci-libs/geos )
+ proj? ( sci-libs/proj )"
+
+DEPEND="${RDEPEND}
+ doc? ( app-text/docbook-xsl-stylesheets )"
+
+RESTRICT="test"
+
+pkg_setup(){
+ export PGSLOT="$(postgresql-config show)"
+
+ if [[ ${PGSLOT//.} < 71 || ${PGSLOT//.} > 84 ]] ; then
+ eerror "You must build ${CATEGORY}/${P} against PostgreSQL 7.1 - 8.4."
+ eerror "Set an appropriate slot with postgresql-config."
+ die 'Select a PostgreSQL slot between 8.4 and 9.2'
+ fi
+
+ if [ ! -z "${PGUSER}" ]; then
+ eval unset PGUSER
+ fi
+ if [ ! -z "${PGDATABASE}" ]; then
+ eval unset PGDATABASE
+ fi
+ local tmp
+ tmp="$(portageq match / ${CATEGORY}/${PN} | cut -d'.' -f2)"
+ if [ "${tmp}" != "$(get_version_component_range 2)" ]; then
+ elog "You must soft upgrade your existing postgis enabled databases"
+ elog "by adding their names in the ${ROOT}conf.d/postgis_dbs file"
+ elog "then using 'emerge --config postgis'."
+ require_soft_upgrade="1"
+ ebeep 2
+ fi
+}
+
+src_compile(){
+ local myconf
+ if use geos; then
+ myconf="--with-geos"
+ fi
+
+ if use doc; then
+ myconf="${myconf} --with-xsl=$(ls "${ROOT}"usr/share/sgml/docbook/* | \
+ grep xsl\- | cut -d':' -f1)"
+ fi
+
+ econf --enable-autoconf \
+ --datadir=/usr/share/postgresql/contrib/ \
+ --libdir=/usr/$(get_libdir)/postgresql/ \
+ --with-docdir=/usr/share/doc/${PF}/html/ \
+ ${myconf} \
+ $(use_with proj) ||\
+ die "Error: econf failed"
+
+ emake || die "Error: emake failed"
+
+ cd topology/
+ emake || die "Unable to build topology sql file"
+
+ if use doc ; then
+ cd "${S}"
+ emake docs || die "Unable to build documentation"
+ fi
+}
+
+src_install(){
+ dodir /usr/$(get_libdir)/postgresql /usr/share/postgresql/contrib/
+ emake DESTDIR="${D}" install || die "emake install failed"
+ cd "${S}/topology/"
+ emake DESTDIR="${D}" install || die "emake install topology failed"
+
+ cd "${S}"
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+ dobin ./utils/postgis_restore.pl
+
+ cd "${S}"
+ if use doc; then
+ emake DESTDIR="${D}" docs-install || die "emake install docs failed"
+ fi
+
+ echo "template_gis" > postgis_dbs
+ doconfd postgis_dbs
+
+ if [ ! -z "${require_soft_upgrade}" ]; then
+ grep "'C'" -B 4 "${D}"usr/share/postgresql/contrib/lwpostgis.sql | \
+ grep -v "'sql'" > \
+ "${D}"usr/share/postgresql/contrib/load_before_upgrade.sql
+ fi
+}
+
+pkg_postinst() {
+ elog "To create new (upgrade) spatial databases add their names in the"
+ elog "${ROOT}conf.d/postgis_dbs file, then use 'emerge --config postgis'."
+}
+
+pkg_config(){
+ einfo "Create or upgrade a spatial templates and databases."
+ einfo "Please add your databases names into ${ROOT}conf.d/postgis_dbs"
+ einfo "(templates name have to be prefixed with 'template')."
+ for i in $(cat "${ROOT}etc/conf.d/postgis_dbs"); do
+ source "${ROOT}"etc/conf.d/postgresql
+ PGDATABASE=${i}
+ eval set PGDATABASE=${i}
+ myuser="${PGUSER:-postgres}"
+ mydb="${PGDATABASE:-template_gis}"
+ eval set PGUSER=${myuser}
+
+ is_template=false
+ if [ "${mydb:0:8}" == "template" ];then
+ is_template=true
+ mytype="template database"
+ else
+ mytype="database"
+ fi
+
+ einfo
+ einfo "Using the user ${myuser} and the ${mydb} ${mytype}."
+
+ logfile=$(mktemp "${ROOT}tmp/error.log.XXXXXX")
+ safe_exit(){
+ eerror "Removing created ${mydb} ${mytype}"
+ dropdb -q -U "${myuser}" "${mydb}" ||\
+ (eerror "${1}"
+ die "Removing old db failed, you must do it manually")
+ eerror "Please read ${logfile} for more information."
+ die "${1}"
+ }
+
+ # if there is not a table or a template existing with the same name, create.
+ if [ -z "$(psql -U ${myuser} -l | grep "${mydb}")" ]; then
+ createdb -q -O ${myuser} -U ${myuser} ${mydb} ||\
+ die "Unable to create the ${mydb} ${mytype} as ${myuser}"
+ createlang -U ${myuser} plpgsql ${mydb}
+ if [ "$?" == 2 ]; then
+ safe_exit "Unable to createlang plpgsql ${mydb}."
+ fi
+ (psql -q -U ${myuser} ${mydb} -f \
+ "${ROOT}"usr/share/postgresql/contrib/lwpostgis.sql &&
+ psql -q -U ${myuser} ${mydb} -f \
+ "${ROOT}"usr/share/postgresql/contrib/spatial_ref_sys.sql) 2>\
+ "${logfile}"
+ if [ "$(grep -c ERROR "${logfile}")" \> 0 ]; then
+ safe_exit "Unable to load sql files."
+ fi
+ if ${is_template}; then
+ psql -q -U ${myuser} ${mydb} -c \
+ "UPDATE pg_database SET datistemplate = TRUE
+ WHERE datname = '${mydb}';
+ GRANT ALL ON table spatial_ref_sys, geometry_columns TO PUBLIC;" \
+ || die "Unable to create ${mydb}"
+ psql -q -U ${myuser} ${mydb} -c \
+ "VACUUM FREEZE;" || die "Unable to set VACUUM FREEZE option"
+ fi
+ else
+ if [ -e "${ROOT}"usr/share/postgresql/contrib/load_before_upgrade.sql ];
+ then
+ einfo "Updating the dynamic library references"
+ psql -q -f \
+ "${ROOT}"usr/share/postgresql/contrib/load_before_upgrade.sql\
+ 2> "${logfile}"
+ if [ "$(grep -c ERROR "${logfile}")" \> 0 ]; then
+ safe_exit "Unable to update references."
+ fi
+ fi
+ if [ -e "${ROOT}"usr/share/postgresql/contrib/lwpostgis_upgrade.sql ];
+ then
+ einfo "Running soft upgrade"
+ psql -q -U ${myuser} ${mydb} -f \
+ "${ROOT}"usr/share/postgresql/contrib/lwpostgis_upgrade.sql 2>\
+ "${logfile}"
+ if [ "$(grep -c ERROR "${logfile}")" \> 0 ]; then
+ safe_exit "Unable to run soft upgrade."
+ fi
+ fi
+ fi
+ if ${is_template}; then
+ einfo "You can now create a spatial database using :"
+ einfo "'createdb -T ${mydb} test'"
+ fi
+ done
+}
diff --git a/dev-db/postgis/postgis-1.4.2-r2.ebuild b/dev-db/postgis/postgis-1.4.2-r2.ebuild
new file mode 100644
index 000000000000..60d23f2b0c3f
--- /dev/null
+++ b/dev-db/postgis/postgis-1.4.2-r2.ebuild
@@ -0,0 +1,255 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/postgis-1.4.2-r2.ebuild,v 1.1 2013/01/30 14:46:58 titanofold Exp $
+
+EAPI="4"
+
+inherit eutils versionator
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="http://postgis.net"
+SRC_URI="http://download.osgeo.org/postgis/source/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc gtk"
+
+RDEPEND="
+ || (
+ dev-db/postgresql-server:8.4
+ dev-db/postgresql-server:8.3
+ dev-db/postgresql-server:8.2
+ )
+ >=sci-libs/geos-3.1
+ >=sci-libs/proj-4.5.0
+ gtk? ( x11-libs/gtk+:2 )
+"
+
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.3
+ dev-libs/libxslt
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[imagemagick,png]
+ )
+ )
+"
+
+RESTRICT="test"
+
+PGIS="$(get_version_component_range 1-2)"
+
+# not parallel safe
+MAKEOPTS+=" -j1"
+
+pkg_setup() {
+ export PGSLOT="$(postgresql-config show)"
+
+ if [[ ${PGSLOT//.} < 82 || ${PGSLOT//.} > 84 ]] ; then
+ eerror "You must build ${CATEGORY}/${P} against PostgreSQL 8.2 - 8.4."
+ eerror "Set an appropriate slot with postgresql-config."
+ die 'Select a PostgreSQL slot between 8.2 and 8.4'
+ fi
+}
+
+src_configure() {
+ # Configure interprets --without-gui as being the same as --with-gui
+ local myargs=""
+ use gtk && myargs+=" --with-gui"
+ econf \
+ ${myargs}
+}
+
+src_compile() {
+ # Occasionally, builds fail because of out of order compilation.
+ # Otherwise, it'd be fine.
+ emake
+ cd topology/
+ emake
+
+ if use doc ; then
+ cd "${S}/doc/"
+ emake
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ cd topology/
+ emake DESTDIR="${D}" install
+
+ cd "${S}"
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+ dobin ./utils/postgis_restore.pl
+
+ if use doc; then
+ cd doc/html
+ dohtml -r *
+ fi
+
+ insinto /usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}/
+ doins postgis_comments.sql
+
+ insinto /etc
+ doins "${FILESDIR}/postgis_dbs-${PGIS}"
+
+ cd "${S}/doc"
+ doman man/*
+}
+
+pkg_postinst() {
+ postgresql-config update
+
+ elog "To finish installing or updating PostGIS edit:"
+ elog " ${EROOT%/}/etc/postgis_dbs"
+ elog
+ elog "Then, run:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+}
+
+pkg_config(){
+ source "${EROOT%/}/etc/conf.d/postgresql-${PGSLOT}"
+ source "${EROOT%/}/etc/postgis_dbs-${PGIS}"
+ local postgis_path="${EROOT%/}/usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}"
+
+ if [[ -n ${configured} ]] ; then
+ einfon "Password for PostgreSQL user '${pguser}': "
+ read -s PGPASSWORD
+ export PGPASSWORD
+ echo
+ else
+ eerror "You must edit:"
+ eerror " ${EROOT%/}/etc/postgis_dbs"
+ eerror "Before running 'emerge --config =${CATEGORY}/${PF}'"
+ eerror
+ die "Edit postgis_dbs"
+ fi
+
+ # The server we work with must be the same slot we built against.
+ local server_version
+ server_version=$(psql -U ${pguser} -d postgres -p ${PGPORT} \
+ -Aqwtc 'SELECT version()' 2> /dev/null)
+ if [[ $? = 0 ]] ; then
+ server_version=$(echo ${server_version} | cut -d " " -f 2 | \
+ cut -d "." -f -2 | tr -d .)
+ if [[ $server_version != ${PGSLOT//.} ]] ; then
+ unset PGPASSWORD
+ eerror "Server version must be ${PGSLOT}.x"
+ die "Server version isn't ${PGSLOT}.x"
+ fi
+ else
+ unset PGPASSWORD
+ eerror "Is the server running?"
+ die "Couldn't connect to server."
+ fi
+
+ local retval
+ safe_exit() {
+ unset PGPASSWORD
+ sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
+ eend $retval
+ eerror "All actions could not be performed."
+ eerror "Read above to see what failed."
+ eerror "Once you fix the issue, you'll need to edit:"
+ eerror " ${EROOT%/}/etc/postgis_dbs"
+ eerror "As some things may have succeeded."
+ eerror
+ die "All actions could not be performed"
+ }
+
+ local db
+ for db in ${databases[@]} ; do
+ ebegin "Performing CREATE LANGUAGE on ${db}"
+ createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
+ retval=$?
+ # In this case, only error code 1 is fatal
+ [[ $retval == 1 ]] && safe_exit || eend 0
+
+ ebegin "Enabling PostGIS on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${templates[@]} ; do
+ ebegin "Creating template database '${db}'"
+ createdb -p ${PGPORT} -U ${pguser} -O ${pguser} -T ${from_template} \
+ ${db} "PostGIS Template"
+ retval=$?
+ [[ $retval != 0 ]] && safe_exit
+
+ psql -q -U ${pguser} -p ${PGPORT} -c \
+ "UPDATE pg_database \
+ SET datistemplate = TRUE, datallowconn = TRUE \
+ WHERE datname = '${db}'"
+ retval=$?
+ [[ $retval != 0 ]] && safe_exit
+
+ createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
+ retval=$?
+ # In this case, only error code 1 is fatal
+ [[ $retval == 1 ]] && safe_exit
+
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${epsg_databases[@]} ; do
+ ebegin "Adding EPSG to ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/spatial_ref_sys.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${comment_databases[@]} ; do
+ ebegin "Adding comments on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_comments.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${upgrade_from_1_2[@]} ; do
+ ebegin "Upgrading from PostGIS 1.2 to ${PGIS} on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_upgrade_12_to_${PGIS//.}.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${upgrade_from_1_3[@]} ; do
+ ebegin "Upgrading from PostGIS 1.3 to ${PGIS} on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_upgrade_13_to_${PGIS//.}.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${upgrade_from_1_4[@]} ; do
+ ebegin "Minor upgrade for PostGIS ${PGIS} on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_upgrade_${PGIS//.}_minor.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ # Clean up and make it so the user has to edit postgis_dbs again that
+ # way this script won't step on any toes due to user error.
+ unset PGPASSWORD
+ sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
+ einfo "PostgreSQL ${PGSLOT} is now PostGIS enabled."
+ einfo
+ einfo "To enable other databases, change the default slot:"
+ einfo " postgresql-config set <slot>"
+ einfo "Then, emerge this package again:"
+ einfo " emerge -av =${CATEGORY}/${PF}"
+}
diff --git a/dev-db/postgis/postgis-1.5.8.ebuild b/dev-db/postgis/postgis-1.5.8.ebuild
new file mode 100644
index 000000000000..ab58ac1d5b8f
--- /dev/null
+++ b/dev-db/postgis/postgis-1.5.8.ebuild
@@ -0,0 +1,252 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/postgis-1.5.8.ebuild,v 1.1 2013/01/30 14:46:58 titanofold Exp $
+
+EAPI="4"
+
+inherit eutils versionator
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="http://postgis.net"
+SRC_URI="http://download.osgeo.org/postgis/source/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="doc gtk"
+
+RDEPEND="
+ || (
+ dev-db/postgresql-server:9.1
+ dev-db/postgresql-server:9.0
+ dev-db/postgresql-server:8.4
+ dev-db/postgresql-server:8.3
+ )
+ dev-libs/libxml2:2
+ >=sci-libs/geos-3.2
+ >=sci-libs/proj-4.6.0
+ gtk? ( x11-libs/gtk+:2 )
+"
+
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.3
+ dev-libs/libxslt
+ || (
+ media-gfx/imagemagick
+ media-gfx/graphicsmagick[imagemagick]
+ )
+ )
+"
+
+RESTRICT="test"
+
+PGIS="$(get_version_component_range 1-2)"
+
+# not parallel safe
+MAKEOPTS+=" -j1"
+
+pkg_setup() {
+ export PGSLOT="$(postgresql-config show)"
+
+ if [[ ${PGSLOT//.} < 83 || ${PGSLOT//.} > 91 ]] ; then
+ eerror "You must build ${CATEGORY}/${P} against PostgreSQL 8.3 - 9.1."
+ eerror "Set an appropriate slot with postgresql-config."
+ die 'Select a PostgreSQL slot between 8.3 and 9.1'
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-${PGIS}-ldflags.patch"
+}
+
+src_configure() {
+ local myargs=""
+ use gtk && myargs+=" --with-gui"
+ econf ${myargs}
+}
+
+src_compile() {
+ # Occasionally, builds fail because of out of order compilation.
+ # Otherwise, it'd be fine.
+ emake
+ emake -C topology
+ use doc && emake -C doc
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake -C topology DESTDIR="${D}" install
+
+ cd "${S}"
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ docinto topology
+ dodoc topology/{TODO,README}
+ dobin ./utils/postgis_restore.pl
+
+ if use doc; then
+ cd doc/html
+ dohtml -r *
+ fi
+
+ insinto /etc
+ doins "${FILESDIR}/postgis_dbs"
+
+ cd "${S}/doc"
+ doman man/*
+ insinto /usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}/
+ doins postgis_comments.sql
+}
+
+pkg_postinst() {
+ postgresql-config update
+
+ elog "To finish installing or updating PostGIS edit:"
+ elog " ${EROOT%/}/etc/postgis_dbs"
+ elog
+ elog "Then, run:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+}
+
+pkg_config(){
+ source "${EROOT%/}/etc/conf.d/postgresql-${PGSLOT}"
+ source "${EROOT%/}/etc/postgis_dbs"
+ local postgis_path="${EROOT%/}/usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}"
+
+ if [[ -n ${configured} ]] ; then
+ einfon "Password for PostgreSQL user '${pguser}': "
+ read -s PGPASSWORD
+ export PGPASSWORD
+ echo
+ else
+ eerror "You must edit:"
+ eerror " ${EROOT%/}/etc/postgis_dbs"
+ eerror "Before running 'emerge --config =${CATEGORY}/${PF}'"
+ eerror
+ die "Edit postgis_dbs"
+ fi
+
+ # The server we work with must be the same slot we built against.
+ local server_version
+ server_version=$(psql -U ${pguser} -d postgres -p ${PGPORT} \
+ -Aqwtc 'SELECT version()' 2> /dev/null)
+ if [[ $? = 0 ]] ; then
+ server_version=$(echo ${server_version} | cut -d " " -f 2 | \
+ cut -d "." -f -2 | tr -d .)
+ if [[ $server_version != ${PGSLOT//.} ]] ; then
+ unset PGPASSWORD
+ eerror "Server version must be ${PGSLOT}.x"
+ die "Server version isn't ${PGSLOT}.x"
+ fi
+ else
+ unset PGPASSWORD
+ eerror "Is the server running?"
+ die "Couldn't connect to server."
+ fi
+
+ local retval
+ safe_exit() {
+ unset PGPASSWORD
+ sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
+ eend $retval
+ eerror "All actions could not be performed."
+ eerror "Read above to see what failed."
+ eerror "Once you fix the issue, you'll need to edit:"
+ eerror " ${EROOT%/}/etc/postgis_dbs"
+ eerror "As some things may have succeeded."
+ eerror
+ die "All actions could not be performed"
+ }
+
+ local db
+ for db in ${databases[@]} ; do
+ ebegin "Performing CREATE LANGUAGE on ${db}"
+ createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
+ retval=$?
+ # In this case, only error code 1 is fatal
+ [[ $retval == 1 ]] && safe_exit || eend 0
+
+ ebegin "Enabling PostGIS on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${templates[@]} ; do
+ ebegin "Creating template database '${db}'"
+ createdb -p ${PGPORT} -U ${pguser} -O ${pguser} -T ${from_template} \
+ ${db} "PostGIS Template"
+ retval=$?
+ [[ $retval != 0 ]] && safe_exit
+
+ psql -q -U ${pguser} -p ${PGPORT} -c \
+ "UPDATE pg_database \
+ SET datistemplate = TRUE, datallowconn = TRUE \
+ WHERE datname = '${db}'"
+ retval=$?
+ [[ $retval != 0 ]] && safe_exit
+
+ createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
+ retval=$?
+ # In this case, only error code 1 is fatal
+ [[ $retval == 1 ]] && safe_exit
+
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${epsg_databases[@]} ; do
+ ebegin "Adding EPSG to ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/spatial_ref_sys.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${comment_databases[@]} ; do
+ ebegin "Adding comments on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_comments.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${upgrade_from_1_3[@]} ; do
+ ebegin "Upgrading from PostGIS 1.3 to ${PGIS} on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_upgrade_13_to_${PGIS//.}.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${upgrade_from_1_4[@]} ; do
+ ebegin "Upgrading from PostGIS 1.4 to ${PGIS} on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_upgrade_14_to_${PGIS//.}.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${upgrade_from_1_5[@]} ; do
+ ebegin "Minor upgrade for PostGIS ${PGIS} on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_upgrade_${PGIS//.}_minor.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ # Clean up and make it so the user has to edit postgis_dbs again that
+ # way this script won't step on any toes due to user error.
+ unset PGPASSWORD
+ sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
+ einfo "PostgreSQL ${PGSLOT} is now PostGIS enabled."
+ einfo
+ einfo "To enable other databases, change the default slot:"
+ einfo " postgresql-config set <slot>"
+ einfo "Then, emerge this package again:"
+ einfo " emerge -av =${CATEGORY}/${PF}"
+}
diff --git a/dev-db/postgis/postgis-2.0.2.ebuild b/dev-db/postgis/postgis-2.0.2.ebuild
new file mode 100644
index 000000000000..a89561f21a93
--- /dev/null
+++ b/dev-db/postgis/postgis-2.0.2.ebuild
@@ -0,0 +1,250 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-db/postgis/postgis-2.0.2.ebuild,v 1.1 2013/01/30 14:46:58 titanofold Exp $
+
+EAPI="4"
+
+inherit eutils versionator
+
+DESCRIPTION="Geographic Objects for PostgreSQL"
+HOMEPAGE="http://postgis.net"
+SRC_URI="http://download.osgeo.org/postgis/source/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc gtk"
+
+RDEPEND="
+ || (
+ dev-db/postgresql-server:9.2
+ dev-db/postgresql-server:9.1
+ dev-db/postgresql-server:9.0
+ dev-db/postgresql-server:8.4
+ )
+ dev-libs/libxml2:2
+ >=sci-libs/geos-3.3.3
+ >=sci-libs/proj-4.6.0
+ >=sci-libs/gdal-1.9
+ gtk? ( x11-libs/gtk+:2 )
+"
+
+DEPEND="${RDEPEND}
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ app-text/docbook-xml-dtd:4.3
+ dev-libs/libxslt
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[imagemagick,png]
+ )
+ )
+"
+
+PGIS="$(get_version_component_range 1-2)"
+
+RESTRICT="test"
+
+# 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"
+
+pkg_setup() {
+ export PGSLOT="$(postgresql-config show)"
+
+ if [[ ${PGSLOT//.} < 84 || ${PGSLOT//.} > 92 ]] ; then
+ eerror "You must build ${CATEGORY}/${P} against PostgreSQL 8.4 - 9.2."
+ eerror "Set an appropriate slot with postgresql-config."
+ die 'Select a PostgreSQL slot between 8.4 and 9.2'
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/${PN}-${PGIS}-ldflags.patch"
+}
+
+src_configure() {
+ local myargs=""
+ use gtk && myargs+=" --with-gui"
+ econf ${myargs}
+}
+
+src_compile() {
+ # Occasionally, builds fail because of out of order compilation.
+ # Otherwise, it'd be fine.
+ emake
+ emake -C topology
+ use doc && emake -C doc html -j1
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ emake DESTDIR="${D}" comments-install
+ emake -C topology DESTDIR="${D}" install
+ dobin ./utils/postgis_restore.pl
+
+ dodoc CREDITS TODO loader/README.* doc/*txt
+
+ use doc && dohtml -r doc/html/*
+
+ docinto topology
+ dodoc topology/{TODO,README}
+
+ insinto /etc
+ doins "${FILESDIR}/postgis_dbs"
+}
+
+pkg_postinst() {
+ postgresql-config update
+
+ elog "To finish installing or updating PostGIS edit:"
+ elog " ${EROOT%/}/etc/postgis_dbs"
+ elog
+ elog "Then, run:"
+ elog " emerge --config =${CATEGORY}/${PF}"
+}
+
+pkg_config(){
+ source "${EROOT%/}/etc/conf.d/postgresql-${PGSLOT}"
+ source "${EROOT%/}/etc/postgis_dbs"
+ local postgis_path="${EROOT%/}/usr/share/postgresql-${PGSLOT}/contrib/postgis-${PGIS}"
+
+ if [[ -n ${configured} ]] ; then
+ einfon "Password for PostgreSQL user '${pguser}': "
+ read -s PGPASSWORD
+ export PGPASSWORD
+ echo
+ else
+ eerror "You must edit:"
+ eerror " ${EROOT%/}/etc/postgis_dbs"
+ eerror "Before running 'emerge --config =${CATEGORY}/${PF}'"
+ eerror
+ die "Edit postgis_dbs"
+ fi
+
+ # The server we work with must be the same slot we built against.
+ local server_version
+ server_version=$(psql -U ${pguser} -d postgres -p ${PGPORT} \
+ -Aqwtc 'SELECT version()' 2> /dev/null)
+ if [[ $? = 0 ]] ; then
+ server_version=$(echo ${server_version} | cut -d " " -f 2 | \
+ cut -d "." -f -2 | tr -d .)
+ if [[ $server_version != ${PGSLOT//.} ]] ; then
+ unset PGPASSWORD
+ eerror "Server version must be ${PGSLOT}.x"
+ die "Server version isn't ${PGSLOT}.x"
+ fi
+ else
+ unset PGPASSWORD
+ eerror "Is the server running?"
+ die "Couldn't connect to server."
+ fi
+
+ local retval
+ safe_exit() {
+ unset PGPASSWORD
+ sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
+ eend $retval
+ eerror "All actions could not be performed."
+ eerror "Read above to see what failed."
+ eerror "Once you fix the issue, you'll need to edit:"
+ eerror " ${EROOT%/}/etc/postgis_dbs"
+ eerror "As some things may have succeeded."
+ eerror
+ die "All actions could not be performed"
+ }
+
+ local db
+ for db in ${databases[@]} ; do
+ ebegin "Performing CREATE LANGUAGE on ${db}"
+ createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
+ retval=$?
+ # In this case, only error code 1 is fatal
+ [[ $retval == 1 ]] && safe_exit || eend 0
+
+ ebegin "Enabling PostGIS on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${templates[@]} ; do
+ ebegin "Creating template database '${db}'"
+ createdb -p ${PGPORT} -U ${pguser} -O ${pguser} -T ${from_template} \
+ ${db} "PostGIS Template"
+ retval=$?
+ [[ $retval != 0 ]] && safe_exit
+
+ psql -q -U ${pguser} -p ${PGPORT} -c \
+ "UPDATE pg_database \
+ SET datistemplate = TRUE, datallowconn = TRUE \
+ WHERE datname = '${db}'"
+ retval=$?
+ [[ $retval != 0 ]] && safe_exit
+
+ createlang -U ${pguser} -p ${PGPORT} plpgsql ${db}
+ retval=$?
+ # In this case, only error code 1 is fatal
+ [[ $retval == 1 ]] && safe_exit
+
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${epsg_databases[@]} ; do
+ ebegin "Adding EPSG to ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/spatial_ref_sys.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${comment_databases[@]} ; do
+ ebegin "Adding comments on ${db}"
+ local comment_file
+ for comment_file in "${postgis_path}"/*_comments.sql ; do
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} -f "${comment_file}"
+ retval=$?
+ [[ $retval == 0 ]] && continue || safe_exit
+ done
+ eend 0
+ done
+
+ for db in ${upgrade_from_1_3[@]} ; do
+ ebegin "Upgrading from PostGIS 1.3 to ${PGIS} on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_upgrade_13_to_${PGIS//.}.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${upgrade_from_1_4[@]} ; do
+ ebegin "Upgrading from PostGIS 1.4 to ${PGIS} on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_upgrade_14_to_${PGIS//.}.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ for db in ${upgrade_from_1_5[@]} ; do
+ ebegin "Minor upgrade for PostGIS ${PGIS} on ${db}"
+ psql -q -U ${pguser} -p ${PGPORT} -d ${db} \
+ -f "${postgis_path}/postgis_upgrade_${PGIS//.}_minor.sql"
+ retval=$?
+ [[ $retval == 0 ]] && eend 0 || safe_exit
+ done
+
+ # Clean up and make it so the user has to edit postgis_dbs again that
+ # way this script won't step on any toes due to user error.
+ unset PGPASSWORD
+ sed -e 's/\(configured\)/#\1/' -i "${EROOT%/}/etc/postgis_dbs"
+ einfo "PostgreSQL ${PGSLOT} is now PostGIS enabled."
+ einfo
+ einfo "To enable other databases, change the default slot:"
+ einfo " postgresql-config set <slot>"
+ einfo "Then, emerge this package again:"
+ einfo " emerge -av =${CATEGORY}/${PF}"
+}