changeset 6:064c971e194b

libpq/pg 8.1.3 are in portage
author holger@hoho.dyndns.org
date Wed, 26 Mar 2008 16:27:49 +0100
parents 7ea75d7ff405
children 13732669c9a1
files dev-db/libpq/Manifest dev-db/libpq/files/libpq-8.3.1-gentoo.patch dev-db/libpq/libpq-8.3.1.ebuild dev-db/postgresql/Manifest dev-db/postgresql/files/postgresql-8.3.1-gentoo.patch dev-db/postgresql/files/postgresql-8.3.1-regress_su.patch dev-db/postgresql/files/postgresql-8.3.1-sh.patch dev-db/postgresql/files/postgresql.conf-8.3 dev-db/postgresql/files/postgresql.init-8.3 dev-db/postgresql/postgresql-8.3.1.ebuild
diffstat 10 files changed, 0 insertions(+), 601 deletions(-) [+]
line wrap: on
line diff
--- a/dev-db/libpq/Manifest	Wed Mar 26 15:04:06 2008 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-AUX libpq-8.3.1-gentoo.patch 2138 RMD160 f932113fe89d0ced34bc988d87beaf0dbf2010d8 SHA1 1e77403c2a57231b8625826093aa6f8f3dbb2396 SHA256 f49402d88f63e096d7bf4a934f676fcfa9bfbfa3b3c45d37b6ac966b856dd37a
-DIST postgresql-8.3.1.tar.bz2 13995572 RMD160 075efb67126f2b308d2a5fe4f9097fdbfbe94c89 SHA1 7397e0d8fd3c420ee845d9ae4995ae347bfaea1d SHA256 7ccf1e5c987920e4d6eb98b8589939e29d3a361d285055d5af35ddd8e1a2d992
-EBUILD libpq-8.3.1.ebuild 3241 RMD160 1cef3e2875a3745d68df1c91843779a8dde979bc SHA1 6f84942df9e0b18d295ec28035cf362f7956f647 SHA256 32bc2adbc8b233e85a2761597d021a947fe35c19b892f7ad4f9b8932c3a5122c
--- a/dev-db/libpq/files/libpq-8.3.1-gentoo.patch	Wed Mar 26 15:04:06 2008 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
---- postgresql-8.3RC1.orig/src/interfaces/libpq/Makefile	2006-12-28 01:01:12.000000000 +0100
-+++ postgresql-8.3RC1/src/interfaces/libpq/Makefile	2007-03-29 10:24:27.000000000 +0200
-@@ -20,6 +20,8 @@
- SO_MINOR_VERSION= 0
- DLTYPE= library
- 
-+NAME_STATIC_LIB= $(NAME)-$(SO_MAJOR_VERSION)
-+
- override CPPFLAGS :=  -DFRONTEND -I$(srcdir) $(CPPFLAGS) -I$(top_builddir)/src/port
- ifneq ($(PORTNAME), win32)
- override CFLAGS += $(PTHREAD_CFLAGS)
-@@ -160,7 +162,7 @@
- 	$(INSTALL_DATA) $(srcdir)/libpq-fe.h '$(DESTDIR)$(includedir)'
- 	$(INSTALL_DATA) $(srcdir)/libpq-int.h '$(DESTDIR)$(includedir_internal)'
- 	$(INSTALL_DATA) $(srcdir)/pqexpbuffer.h '$(DESTDIR)$(includedir_internal)'
--	$(INSTALL_DATA) $(srcdir)/pg_service.conf.sample '$(DESTDIR)$(datadir)/pg_service.conf.sample'
-+	$(INSTALL_DATA) $(srcdir)/pg_service.conf.sample '$(DESTDIR)$(datadir)/pg_service-$(SO_MAJOR_VERSION).conf.sample'
- 
- installdirs:
- 	$(mkinstalldirs) '$(DESTDIR)$(libdir)' '$(DESTDIR)$(includedir)' '$(DESTDIR)$(includedir_internal)'
---- postgresql-8.3RC1.orig/src/interfaces/libpq/nls.mk	2005-01-14 09:57:06.000000000 +0100
-+++ postgresql-8.3RC1/src/interfaces/libpq/nls.mk	2007-03-29 10:24:55.000000000 +0200
-@@ -1,5 +1,5 @@
- # $PostgreSQL: pgsql/src/interfaces/libpq/nls.mk,v 1.21 2007/10/27 00:13:43 petere Exp $
--CATALOG_NAME	:= libpq
-+CATALOG_NAME	:= libpq-4
- AVAIL_LANGUAGES	:= af cs de es fr hr it ko nb pl pt_BR ru sk sl sv ta tr zh_CN zh_TW
- GETTEXT_FILES	:= fe-auth.c fe-connect.c fe-exec.c fe-lobj.c fe-misc.c fe-protocol2.c fe-protocol3.c fe-secure.c
- GETTEXT_TRIGGERS:= libpq_gettext pqInternalNotice:2
---- postgresql-8.3RC1.orig/src/Makefile.shlib	2006-09-19 17:36:07.000000000 +0200
-+++ postgresql-8.3RC1/src/Makefile.shlib	2007-03-29 10:28:42.000000000 +0200
-@@ -346,10 +346,10 @@
- install-lib: install-lib-static install-lib-shared
- 
- install-lib-static: lib$(NAME).a
--	$(INSTALL_STLIB) $< '$(DESTDIR)$(libdir)/lib$(NAME).a'
-+	$(INSTALL_STLIB) $< '$(DESTDIR)$(libdir)/lib$(NAME_STATIC_LIB).a'
- ifeq ($(PORTNAME), darwin)
- 	cd '$(DESTDIR)$(libdir)' && \
--	ranlib lib$(NAME).a
-+	ranlib lib$(NAME_STATIC_LIB).a
- endif
- 
- ifeq ($(enable_shared), yes)
--- a/dev-db/libpq/libpq-8.3.1.ebuild	Wed Mar 26 15:04:06 2008 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/libpq/libpq-8.2.6.ebuild,v 1.1 2008/01/13 01:38:02 mjolnir Exp $
-
-inherit eutils flag-o-matic toolchain-funcs
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
-
-MY_PV="${PV/_rc/RC}"
-DESCRIPTION="PostgreSQL libraries."
-HOMEPAGE="http://www.postgresql.org/"
-SRC_URI="mirror://postgresql/source/v${MY_PV}/postgresql-${MY_PV}.tar.bz2"
-LICENSE="POSTGRESQL"
-SLOT="4"
-IUSE="kerberos nls pam pg-intdatetime readline ssl threads zlib"
-RESTRICT="nomirror"
-
-RDEPEND="!<=dev-db/postgresql-8.1.4
-		kerberos? ( virtual/krb5 )
-		pam? ( virtual/pam )
-		readline? ( >=sys-libs/readline-4.1 )
-		ssl? ( >=dev-libs/openssl-0.9.6-r1 )
-		zlib? ( >=sys-libs/zlib-1.1.3 )"
-DEPEND="${RDEPEND}
-		sys-devel/autoconf
-		>=sys-devel/bison-1.875
-		nls? ( sys-devel/gettext )"
-
-S="${WORKDIR}/postgresql-${MY_PV}"
-
-pkg_preinst() {
-	# Removing wrong symlink created by previous ebuild
-	if [[ -L "${ROOT}/usr/include/libpq" ]] ; then
-		rm -f "${ROOT}/usr/include/libpq"
-	fi
-}
-
-src_unpack() {
-	unpack ${A}
-	cd "${S}"
-
-	epatch "${FILESDIR}/${PN}-${PV}-gentoo.patch"
-}
-
-src_compile() {
-	filter-flags -ffast-math -feliminate-dwarf2-dups
-
-	econf --prefix=/usr \
-		--includedir=/usr/include/postgresql/libpq-${SLOT} \
-		--sysconfdir=/etc/postgresql \
-		--mandir=/usr/share/man \
-		--host=${CHOST} \
-		--with-docdir=/usr/share/doc/${PF} \
-		--libdir=/usr/$(get_libdir) \
-		--enable-depend \
-		$(use_with kerberos krb5) \
-		$(use_enable nls ) \
-		$(use_with pam) \
-		--without-perl \
-		$(use_enable pg-intdatetime integer-datetimes ) \
-		--without-python \
-		$(use_with readline) \
-		$(use_with ssl openssl) \
-		--without-tcl \
-		$(use_enable threads thread-safety ) \
-		$(use_with zlib) \
-		|| die "configure failed"
-
-	cd "${S}/src/interfaces/libpq"
-	emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "emake libpq failed"
-
-	cd "${S}/src/bin/pg_config"
-	emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "emake pg_config failed"
-}
-
-src_install() {
-	cd "${S}/src/interfaces/libpq"
-	emake DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "emake install libpq failed"
-
-	cd "${S}/src/include"
-	emake DESTDIR="${D}" install || die "emake install headers failed"
-
-	cd "${S}/src/bin/pg_config"
-	emake DESTDIR="${D}" install || die "emake install pg_config failed"
-
-	cd "${S}"
-	dodoc README HISTORY
-
-	dosym libpq-${SLOT}.a /usr/$(get_libdir)/libpq.a
-
-	for f in $(ls -1 "${D}"/usr/include/postgresql/libpq-${SLOT}/*.h) ; do
-		dosym postgresql/libpq-${SLOT}/$(basename ${f}) /usr/include/
-	done
-
-	dodir /usr/include/libpq
-	for f in $(ls -1 "${D}"/usr/include/postgresql/libpq-${SLOT}/libpq/*.h) ; do
-		dosym ../postgresql/libpq-${SLOT}/libpq/$(basename ${f}) /usr/include/libpq/
-	done
-
-	cd "${D}/usr/include/postgresql/libpq-${SLOT}"
-	for f in $(find * -name '*.h' -print) ; do
-		destdir=$(dirname ${f})
-		if [[ ! -d "${D}/usr/include/postgresql/${destdir}" ]] ; then
-			dodir "/usr/include/postgresql/${destdir}"
-		fi
-		dosym /usr/include/postgresql/libpq-${SLOT}/${f} "/usr/include/postgresql/${destdir}/"
-	done
-}
-
-src_test() {
-	einfo "No tests available for libpq."
-}
--- a/dev-db/postgresql/Manifest	Wed Mar 26 15:04:06 2008 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-AUX postgresql-8.3.1-gentoo.patch 1708 RMD160 0ff283a2fe51d4053224dcb0e58d3d7c588905a8 SHA1 31443d3f0b0b60be72dd4ddecf1dbfb67533cc8e SHA256 5dde62b634169d608104eb0aa892ddfa84723670041db1abdbb614726df6cec9
-AUX postgresql-8.3.1-regress_su.patch 982 RMD160 e604fa527d8eca4f3ad79b480963060d6ab51ee6 SHA1 a2469d5034441fd11e5421fea3032ad0e15568da SHA256 55f624219e265146b9392454f3e6977e6924459c152409be50c86a0730d47bbb
-AUX postgresql-8.3.1-sh.patch 773 RMD160 c4b0588b04fe34330caede894b330e88c903d9a0 SHA1 79def1f5c1921d0d5bd7033e61416976ec11ab50 SHA256 a58eec9eb94a68e500b60220c12dfdc116dffa32af2983048bfdfb1bea109a54
-AUX postgresql.conf-8.3 1228 RMD160 b3a582a3158115c375e9e586c70107c9e4cc51f0 SHA1 7c92bc7160064ad0ec60b6b1d41f5d76c3be2b68 SHA256 7244d3de82836e94b663d6eb3ff9d7744fc3591bd9ad12303ae26bcac306227c
-AUX postgresql.init-8.3 1427 RMD160 74393b4eb2b851c01deaa3dea10757c9bb74bd73 SHA1 2b0365f9c8d1121f948a7e6c83d3f10dfa568a87 SHA256 c42e7ba85638a31826b4ed7a92a9f95cd242bbe7c846e52a8b87e0db28c17da5
-DIST postgresql-8.3.1.tar.bz2 13995572 RMD160 075efb67126f2b308d2a5fe4f9097fdbfbe94c89 SHA1 7397e0d8fd3c420ee845d9ae4995ae347bfaea1d SHA256 7ccf1e5c987920e4d6eb98b8589939e29d3a361d285055d5af35ddd8e1a2d992
-EBUILD postgresql-8.3.1.ebuild 8172 RMD160 972ac0e0ba27afd1d2766a889cbdf4c3f037865b SHA1 fd90aa5fd76ba8f9ab1b9e57e0bdb377afacda8e SHA256 40eb321ab343b845fe942d04167f522d38b348523dcb37fa0fde2b7ca5c3190d
-MISC postgresql-8.3.1.ebuild~ 8143 RMD160 3a59282bf31ef405bc9c9d1e2d372d9c5109241c SHA1 db192eccfa2bd65995f6d845bc1ec03b0738e542 SHA256 b47dd7e9ca23b26fb9285b1bc59c2696d035ce305d9b877d0dd862f10eb7262b
--- a/dev-db/postgresql/files/postgresql-8.3.1-gentoo.patch	Wed Mar 26 15:04:06 2008 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
---- postgresql-8.3RC1.orig/src/bin/Makefile	2006-03-05 16:58:50.000000000 +0100
-+++ postgresql-8.3RC1/src/bin/Makefile	2007-03-29 12:12:26.000000000 +0200
-@@ -14,7 +14,7 @@
- include $(top_builddir)/src/Makefile.global
- 
- DIRS = initdb ipcclean pg_ctl pg_dump \
--	psql scripts pg_config pg_controldata pg_resetxlog
-+	psql scripts pg_controldata pg_resetxlog
- ifeq ($(PORTNAME), win32)
- DIRS+=pgevent
- endif
---- postgresql-8.3RC1.orig/src/interfaces/Makefile	2004-04-20 02:33:51.000000000 +0200
-+++ postgresql-8.3RC1/src/interfaces/Makefile	2007-03-29 12:14:01.000000000 +0200
-@@ -12,7 +12,7 @@
- top_builddir = ../..
- include $(top_builddir)/src/Makefile.global
- 
--DIRS = libpq ecpg 
-+DIRS = ecpg 
- 
- ALLDIRS = $(DIRS) 
- 
---- postgresql-8.3RC1.orig/src/Makefile	2006-06-23 01:50:35.000000000 +0200
-+++ postgresql-8.3RC1/src/Makefile	2007-03-29 12:54:59.000000000 +0200
-@@ -19,12 +19,10 @@
- 	$(MAKE) -C backend $@
- 	$(MAKE) -C backend/utils/mb/conversion_procs $@
- 	$(MAKE) -C backend/snowball $@
--	$(MAKE) -C include $@
- 	$(MAKE) -C interfaces $@
- 	$(MAKE) -C bin $@
- 	$(MAKE) -C pl $@
- 	$(MAKE) -C makefiles $@
--	$(MAKE) -C test/regress $@
- 
- install: install-local
- 
-@@ -49,7 +47,6 @@
- 	$(MAKE) -C timezone $@
- 	$(MAKE) -C backend $@
- 	$(MAKE) -C backend/snowball $@
--	$(MAKE) -C include $@
- 	$(MAKE) -C interfaces $@
- 	$(MAKE) -C bin $@
- 	$(MAKE) -C pl $@
-@@ -63,12 +60,10 @@
- 	-$(MAKE) -C timezone $@
- 	-$(MAKE) -C backend $@
- 	-$(MAKE) -C backend/snowball $@
--	-$(MAKE) -C include $@
- 	-$(MAKE) -C interfaces $@
- 	-$(MAKE) -C bin $@
- 	-$(MAKE) -C pl $@
- 	-$(MAKE) -C makefiles $@
--	-$(MAKE) -C test $@
- 	-$(MAKE) -C tutorial NO_PGXS=1 $@
- 	-$(MAKE) -C test/thread $@
- 	rm -f Makefile.port Makefile.global
--- a/dev-db/postgresql/files/postgresql-8.3.1-regress_su.patch	Wed Mar 26 15:04:06 2008 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
---- postgresql-8.3RC1.orig/src/test/regress/GNUmakefile	2008-01-20 00:22:49.000000000 +0200
-+++ postgresql-8.3RC1/src/test/regress/GNUmakefile	2008-01-20 00:26:27.000000000 +0200
-@@ -141,7 +141,8 @@
- ##
- 
- check: all
--	./pg_regress --temp-install=./tmp_check --top-builddir=$(top_builddir) --srcdir=$(abs_srcdir) --temp-port=$(TEMP_PORT) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE) $(TEMP_CONF)
-+	chown portage testtablespace .
-+	su -s /bin/sh portage -c "./pg_regress --psqldir=`pwd`/../../bin/psql --temp-install=./tmp_check --top-builddir=$(top_builddir) --srcdir=$(abs_srcdir) --temp-port=$(TEMP_PORT) --schedule=$(srcdir)/parallel_schedule --multibyte=$(MULTIBYTE) --load-language=plpgsql $(MAXCONNOPT) $(NOLOCALE) $(TEMP_CONF)"
- 
- installcheck: all
- 	./pg_regress --psqldir=$(PSQLDIR) --schedule=$(srcdir)/serial_schedule --srcdir=$(abs_srcdir) --multibyte=$(MULTIBYTE) --load-language=plpgsql $(NOLOCALE)
--- a/dev-db/postgresql/files/postgresql-8.3.1-sh.patch	Wed Mar 26 15:04:06 2008 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
---- postgresql-8.3RC1.orig/src/include/storage/s_lock.h	2006-06-08 00:24:45.000000000 +0200
-+++ postgresql-8.3RC1/src/include/storage/s_lock.h	2007-03-29 12:25:56.000000000 +0200
-@@ -299,6 +299,31 @@
- #endif	 /* __s390__ || __s390x__ */
- 
- 
-+#if defined(__sh__)
-+#define HAS_TEST_AND_SET
-+
-+typedef unsigned char slock_t;
-+
-+#define TAS(lock) tas(lock)
-+
-+static __inline__ int
-+tas(volatile slock_t *lock)
-+{
-+       register int _res = 1;
-+
-+       __asm__ __volatile__(
-+               "tas.b  @%1\n\t"
-+               "movt   %0\n\t"
-+               "xor    #1,%0"
-+:               "=z"(_res)
-+:               "r"(lock)
-+:               "t","memory");
-+       return _res;
-+}
-+
-+#endif  /* __sh__ */
-+
-+
- #if defined(__sparc__)		/* Sparc */
- #define HAS_TEST_AND_SET
- 
--- a/dev-db/postgresql/files/postgresql.conf-8.3	Wed Mar 26 15:04:06 2008 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-# PostgreSQL's Database Directory
-PGDATA="/var/lib/postgresql/data"
-
-# PostgreSQL User
-PGUSER="postgres"
-
-# PostgreSQL Group
-PGGROUP="postgres"
-
-# Extra options to run postmaster with
-PGOPTS=""
-
-
-# SERVER SHUTDOWN:
-# The server will receive 3 signals in the worst case:
-# 1. SIGTERM
-#  This signals the server to ignore new connections and to
-#  wait for all clients to end their transactions before shutting down.
-#  Use WAIT_FOR_DISCONNECT to control how much time the clients
-#  should have until the next signal is being sent.
-# 2. SIGINT
-#  Tell the server to forcefully disconnect all clients.
-#  Terminating a client results in a rollback of the open transactions for this client.
-#  Use WAIT_FOR_CLEANUP to determine how much time the server has
-#  for cleanup. (Set it to "forever" if you want to wait forever.)
-# 3. SIGQUIT
-#  This will terminate the server immediately and results in a recovery run for the next start.
-
-# Wait for clients to disconnect (seconds or "forever")
-WAIT_FOR_DISCONNECT=10
-
-# Time the server has to clean up (seconds or "forever")
-WAIT_FOR_CLEANUP=10
-
-# If you have to export environment variables for the database process,
-# this can be done here.
-# Example:
-#   export R_HOME="/usr/lib/R"
--- a/dev-db/postgresql/files/postgresql.init-8.3	Wed Mar 26 15:04:06 2008 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2007 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/files/postgresql.init-8.2,v 1.2 2007/07/11 08:46:51 dev-zero Exp $
-
-opts="${opts} reload"
-
-depend() {
-	use net
-}
-
-checkconfig() {
-	if [ ! -d "$PGDATA" ] ; then
-		eerror "Directory not found: $PGDATA"
-		eerror "Please make sure that PGDATA points to the right path."
-		eerror "You can run 'emerge postgresql --config' to setup a new database cluster."
-		return 1
-	fi
-}
-
-start() {
-	checkconfig || return 1
-
-	ebegin "Starting PostgreSQL"
-
-	if [ -f "$PGDATA/postmaster.pid" ] ; then
-		rm -f "$PGDATA/postmaster.pid"
-	fi
-
-	start-stop-daemon --start \
-		--pidfile "${PGDATA}/postmaster.pid" \
-		--chuid ${PGUSER}:${PGGROUP} \
-		--exec /usr/bin/postmaster \
-		-- \
-		-D "${PGDATA}" \
-		--silent-mode=true \
-		${PGOPTS}
-
-	eend $?
-}
-
-stop() {
-	ebegin "Stopping PostgreSQL"
-	# Note: we have to do --oknodo here, otherwise it will always fail
-	#       when there are open transactions. This bug has been corrected
-	#       in baselayout-1.13.0_alpha8.
-	start-stop-daemon --stop --pidfile "${PGDATA}/postmaster.pid" \
-		--retry -TERM/${WAIT_FOR_DISCONNECT}/-INT/${WAIT_FOR_CLEANUP}/-QUIT --oknodo
-	eend $?
-}
-
-reload() {
-	ebegin "Reloading PostgreSQL configuration"
-	start-stop-daemon --stop --pidfile "${PGDATA}/postmaster.pid" --signal HUP --oknodo
-	eend $?
-}
--- a/dev-db/postgresql/postgresql-8.3.1.ebuild	Wed Mar 26 15:04:06 2008 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/postgresql/postgresql-8.2.6.ebuild,v 1.1 2008/01/13 01:44:21 mjolnir Exp $
-
-inherit eutils flag-o-matic multilib toolchain-funcs versionator
-
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
-
-MY_PV="${PV/_rc/RC}"
-DESCRIPTION="Sophisticated and powerful Object-Relational DBMS."
-HOMEPAGE="http://www.postgresql.org/"
-SRC_URI="mirror://postgresql/source/v${MY_PV}/${PN}-${MY_PV}.tar.bz2"
-LICENSE="POSTGRESQL"
-SLOT="0"
-IUSE="debug doc kerberos kernel_linux nls pam perl pg-intdatetime python readline selinux ssl tcl test xml zlib"
-RESTRICT="nomirror"
-S="${WORKDIR}/${PN}-${MY_PV}"
-
-RDEPEND="~dev-db/libpq-${PV}
-		>=sys-libs/ncurses-5.2
-		kerberos? ( virtual/krb5 )
-		pam? ( virtual/pam )
-		perl? ( >=dev-lang/perl-5.6.1-r2 )
-		python? ( >=dev-lang/python-2.2 dev-python/egenix-mx-base )
-		readline? ( >=sys-libs/readline-4.1 )
-		selinux? ( sec-policy/selinux-postgresql )
-		ssl? ( >=dev-libs/openssl-0.9.6-r1 )
-		tcl? ( >=dev-lang/tcl-8 )
-		xml? ( dev-libs/libxml2 )
-		zlib? ( >=sys-libs/zlib-1.1.3 )"
-DEPEND="${RDEPEND}
-		sys-devel/autoconf
-		>=sys-devel/bison-1.875
-		nls? ( sys-devel/gettext )
-		xml? ( dev-util/pkgconfig )"
-
-PG_DIR="/var/lib/postgresql"
-[[ -z "${PG_MAX_CONNECTIONS}" ]] && PG_MAX_CONNECTIONS="512"
-
-pkg_setup() {
-	if [[ -f "${PG_DIR}/data/PG_VERSION" ]] ; then
-		if [[ $(cat "${PG_DIR}/data/PG_VERSION") != $(get_version_component_range 1-2) ]] ; then
-			eerror "PostgreSQL ${PV} cannot upgrade your existing databases, you must"
-			eerror "use pg_dump to export your existing databases to a file, and then"
-			eerror "pg_restore to import them when you have upgraded completely."
-			eerror "You must remove your entire database directory to continue."
-			eerror "(database directory = ${PG_DIR})."
-			die "Remove your database directory to continue"
-		fi
-	fi
-	enewgroup postgres 70
-	enewuser postgres 70 /bin/bash /var/lib postgres
-}
-
-src_unpack() {
-	unpack ${A}
-	cd "${S}"
-
-	epatch "${FILESDIR}/${PN}-${PV}-gentoo.patch"
-	epatch "${FILESDIR}/${PN}-${PV}-sh.patch"
-
-	# Prepare package for future tests
-	if use test ; then
-		# Fix sandbox violation; note that we're stripping redundant slashes
-		# from ${S}, because otherwise the test would fail.
-		sed -e "s|/no/such/location|${S/\/\//\/}/src/test/regress/tmp_check/no/such/location|g" -i src/test/regress/{input,output}/tablespace.source
-
-		# We need to run the tests as a non-root user, portage seems the most fitting here,
-		# so if userpriv is enabled, we use it directly. If userpriv is disabled, we need to
-		# su - to a valid user, portage again, so we patch the test-scripts to do that.
-		mkdir -p "${S}/src/test/regress/tmp_check"
-		chown portage "${S}/src/test/regress/tmp_check"
-		einfo "Tests will be run as user portage."
-		if ! hasq userpriv ${FEATURES} ; then
-			mkdir -p "${S}/src/test/regress/results"
-			chown portage "${S}/src/test/regress/results"
-			epatch "${FILESDIR}/${PN}-${PV}-regress_su.patch"
-		fi
-	fi
-}
-
-src_compile() {
-	filter-flags -ffast-math -feliminate-dwarf2-dups
-
-	econf --prefix=/usr \
-		--includedir=/usr/include/postgresql/pgsql \
-		--sysconfdir=/etc/postgresql \
-		--mandir=/usr/share/man \
-		--host=${CHOST} \
-		--with-docdir=/usr/share/doc/${PF} \
-		--with-system-tzdata=/usr/share/zoneinfo \
-		--libdir=/usr/$(get_libdir) \
-		--enable-depend \
-		$(use_enable debug) \
-		$(use_with kerberos krb5) \
-		$(use_enable nls) \
-		$(use_with pam) \
-		$(use_with perl) \
-		$(use_enable pg-intdatetime integer-datetimes ) \
-		$(use_with python) \
-		$(use_with readline) \
-		$(use_with ssl openssl) \
-		$(use_with tcl) \
-		$(use_with xml libxml) \
-		$(use_with zlib) \
-		|| die "configure failed"
-
-	emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "main emake failed"
-
-	cd "${S}/contrib"
-	emake -j1 LD="$(tc-getLD) $(get_abi_LDFLAGS)" || die "contrib emake failed"
-}
-
-src_install() {
-	if use perl ; then
-		mv -f "${S}/src/pl/plperl/GNUmakefile" "${S}/src/pl/plperl/GNUmakefile_orig"
-		sed -e "s:\$(DESTDIR)\$(plperl_installdir):\$(plperl_installdir):" \
-			"${S}/src/pl/plperl/GNUmakefile_orig" > "${S}/src/pl/plperl/GNUmakefile"
-	fi
-
-	cd "${S}"
-	emake -j1 DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "main emake install failed"
-
-	cd "${S}/contrib"
-	emake -j1 DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "contrib emake install failed"
-
-	if use xml ; then
-		cd "${S}/contrib/xml2"
-		emake -j1 DESTDIR="${D}" LIBDIR="${D}/usr/$(get_libdir)" install || die "contrib/xml2 emake install failed"
-	fi
-
-	cd "${S}"
-	dodoc README HISTORY
-
-	cd "${S}/doc"
-	dodoc FAQ* README.* TODO bug.template
-
-	if use doc ; then
-		cd "${S}/doc"
-		docinto FAQ_html
-		dodoc src/FAQ/*
-		docinto sgml
-		dodoc src/sgml/*.{sgml,dsl}
-		docinto sgml/ref
-		dodoc src/sgml/ref/*.sgml
-		docinto TODO.detail
-		dodoc TODO.detail/*
-	fi
-
-	newinitd "${FILESDIR}/postgresql.init-${PV%[._]*}" postgresql || die "Inserting init.d-file failed"
-	newconfd "${FILESDIR}/postgresql.conf-${PV%[._]*}" postgresql || die "Inserting conf.d-file failed"
-}
-
-pkg_postinst() {
-	elog "Execute the following command to setup the initial database environment:"
-	elog
-	elog "emerge --config =${PF}"
-	elog
-	elog "The autovacuum function, which was in contrib, has been moved to the main"
-	elog "PostgreSQL functions starting with 8.1."
-	elog "You can enable it in ${ROOT}/etc/postgresql/postgresql.conf."
-	elog
-	elog "If you need a global psqlrc-file, you can place it in '${ROOT}/etc/postgresql/'."
-}
-
-pkg_config() {
-	einfo "Creating the data directory ..."
-	mkdir -p "${PG_DIR}/data"
-	chown -Rf postgres:postgres "${PG_DIR}"
-	chmod 0700 "${PG_DIR}/data"
-
-	einfo "Initializing the database ..."
-	if [[ -f "${PG_DIR}/data/PG_VERSION" ]] ; then
-		eerror "PostgreSQL ${PV} cannot upgrade your existing databases."
-		eerror "You must remove your entire database directory to continue."
-		eerror "(database directory = ${PG_DIR})."
-		die "Remove your database directory to continue"
-	else
-		if use kernel_linux ; then
-			local SEM=`sysctl -n kernel.sem | cut -f-3`
-			local SEMMNI=`sysctl -n kernel.sem | cut -f4`
-			local SEMMNI_MIN=`expr \( ${PG_MAX_CONNECTIONS} + 15 \) / 16`
-			local SHMMAX=`sysctl -n kernel.shmmax`
-			local SHMMAX_MIN=`expr 500000 + 30600 \* ${PG_MAX_CONNECTIONS}`
-
-			if [ ${SEMMNI} -lt ${SEMMNI_MIN} ] ; then
-				eerror "The current value of SEMMNI is too low"
-				eerror "for PostgreSQL to run ${PG_MAX_CONNECTIONS} connections!"
-				eerror "Temporary setting this value to ${SEMMNI_MIN} while creating the initial database."
-				echo ${SEM} ${SEMMNI_MIN} > /proc/sys/kernel/sem
-			fi
-
-			su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
-
-			if [ ! `sysctl -n kernel.sem | cut -f4` -eq ${SEMMNI} ] ; then
-				echo ${SEM} ${SEMMNI} > /proc/sys/kernel/sem
-				ewarn "Restoring the SEMMNI value to the previous value."
-				ewarn "Please edit the last value of kernel.sem in /etc/sysctl.conf"
-				ewarn "and set it to at least ${SEMMNI_MIN}:"
-				ewarn
-				ewarn "  kernel.sem = ${SEM} ${SEMMNI_MIN}"
-				ewarn
-			fi
-
-			if [ ${SHMMAX} -lt ${SHMMAX_MIN} ] ; then
-				eerror "The current value of SHMMAX is too low for postgresql to run."
-				eerror "Please edit /etc/sysctl.conf and set this value to at least ${SHMMAX_MIN}:"
-				eerror
-				eerror "  kernel.shmmax = ${SHMMAX_MIN}"
-				eerror
-			fi
-		else
-			su postgres -c "/usr/bin/initdb --pgdata ${PG_DIR}/data"
-		fi
-
-		einfo
-		einfo "You can use the '${ROOT}/etc/init.d/postgresql' script to run PostgreSQL instead of 'pg_ctl'."
-		einfo
-	fi
-}
-
-src_test() {
-	cd "${S}"
-
-	einfo ">>> Test phase [check]: ${CATEGORY}/${PF}"
-	if ! emake -j1 check ; then
-		hasq test ${FEATURES} && die "Make check failed. See above for details."
-		hasq test ${FEATURES} || eerror "Make check failed. See above for details."
-	fi
-
-	einfo "Yes, there are other tests which could be run."
-	einfo "... and no, we don't plan to add/support them."
-	einfo "For now, the main regressions tests will suffice."
-	einfo "If you think other tests are necessary, please submit a"
-	einfo "bug including a patch for this ebuild to enable them."
-}