summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorheracles <heracles@localhost>2007-10-09 19:22:02 +0000
committerheracles <heracles@localhost>2007-10-09 19:22:02 +0000
commit2ffb03afd3d5936c295f7da446e6255adda6f79b (patch)
tree3182e50065719e68a40d790afd5a21bb3e5d88ad
parentdev-db/postgresql-libs-8.3_beta1: first cut on 8.3beta1 (diff)
downloadexperimental-2ffb03afd3d5936c295f7da446e6255adda6f79b.tar.gz
experimental-2ffb03afd3d5936c295f7da446e6255adda6f79b.tar.bz2
experimental-2ffb03afd3d5936c295f7da446e6255adda6f79b.zip
dev-db/postgresql-client-8.3_beta1: first cut on 8.3beta1
svn path=/experimental/; revision=293
-rw-r--r--dev-db/postgresql-client/Manifest29
-rw-r--r--dev-db/postgresql-client/files/digest-postgresql-client-8.3_beta16
-rw-r--r--dev-db/postgresql-client/files/postgresql-8.3-client.patch134
-rw-r--r--dev-db/postgresql-client/files/postgresql-8.3-common.patch73
-rw-r--r--dev-db/postgresql-client/postgresql-client-8.3_beta1.ebuild99
5 files changed, 329 insertions, 12 deletions
diff --git a/dev-db/postgresql-client/Manifest b/dev-db/postgresql-client/Manifest
index 495af32..e8f2ec5 100644
--- a/dev-db/postgresql-client/Manifest
+++ b/dev-db/postgresql-client/Manifest
@@ -66,16 +66,26 @@ AUX postgresql-8.2-no-interfaces.patch 430 RMD160 ffd1ad9591c887a8ccc4002067e604
MD5 486acb579010282ead6c424c6fb46ba1 files/postgresql-8.2-no-interfaces.patch 430
RMD160 ffd1ad9591c887a8ccc4002067e604f7d8a59d28 files/postgresql-8.2-no-interfaces.patch 430
SHA256 8707ff8105c3d9dccef95111becdc601eec0a161bd1aaf535b6cecd9a1f0cda5 files/postgresql-8.2-no-interfaces.patch 430
+AUX postgresql-8.3-client.patch 2928 RMD160 2990635ab392b7971116ea2949dc0095d68d4dc0 SHA1 7f79bc151b8f36e1180c2f968e3476c02f072a1a SHA256 06b2931f96b5a403bd26d66178355b6526815b0efaabb6770cb95e11bef4ef40
+MD5 71389a43b21461351ea06246fb8afc0a files/postgresql-8.3-client.patch 2928
+RMD160 2990635ab392b7971116ea2949dc0095d68d4dc0 files/postgresql-8.3-client.patch 2928
+SHA256 06b2931f96b5a403bd26d66178355b6526815b0efaabb6770cb95e11bef4ef40 files/postgresql-8.3-client.patch 2928
+AUX postgresql-8.3-common.patch 1930 RMD160 938a4df3e592fb95683ed35efa3ba91d72424ef0 SHA1 2365d9ba190a73f223fb77ebd90cd71dcff147ed SHA256 30aa24dd4016ae51f8003928cc96fc00c7abc36302195b2e2e454b4dda4b06bb
+MD5 ca57645c7e7903cb6f8db93392ecca23 files/postgresql-8.3-common.patch 1930
+RMD160 938a4df3e592fb95683ed35efa3ba91d72424ef0 files/postgresql-8.3-common.patch 1930
+SHA256 30aa24dd4016ae51f8003928cc96fc00c7abc36302195b2e2e454b4dda4b06bb files/postgresql-8.3-common.patch 1930
DIST postgresql-base-7.3.20.tar.bz2 5711312 RMD160 1230e544979d7d22352ef66741568190e1ee533d SHA1 b60eb82bc7728a54b9766ac862410c43aa5299cf SHA256 009695d3c04004c7ba6365b112dee0cad6738daa2550fdb37c2adab52994e636
DIST postgresql-base-7.4.18.tar.bz2 6662169 RMD160 b7f788ca7cd66032fb73f82259efcb4e12e8f3c5 SHA1 a2038811ca0d6daf0ce024976cc7bbbff8321bfb SHA256 0eff5ab743db9d413b5fe95a2ee907e86b1d32ce3727011ee5c308c0dc7db0af
DIST postgresql-base-8.0.14.tar.bz2 7907547 RMD160 4e1c627af447ef24ec343baa3121edd2427d9fa9 SHA1 55880d8e398faffb4a88e808a3dca2cef77b1b79 SHA256 8201ce5a99051c2b561f4b58ce07f17fe4959383ef38afcb25ab802119f9755e
DIST postgresql-base-8.1.10.tar.bz2 8110015 RMD160 473e1c66ccc9d4ec47b01b03dff7951749afc785 SHA1 6d4c53d9946386d44f6ee33a9f76d92e00fc1f9c SHA256 c49b8b094838024ef09d1e574181c409dbc3bb13c8470ae495e74a0185aed981
DIST postgresql-base-8.2.5.tar.bz2 8602348 RMD160 784924608f8bad40d079b3f54a75d98ea302ac34 SHA1 437b5e0144485be16557cbb3d48102063e7df69d SHA256 b70a2cc0d0613944ce0eae99c1001894354b77e81c8ae45f6c8c890709861929
+DIST postgresql-base-8.3beta1.tar.bz2 9496130 RMD160 bbc1250cc901124c4eec5c2b4cc5b2dbb3acf7b6 SHA1 bca05623cb23cd7fe9ee775f53a0a0925a658966 SHA256 fd2777dadfb6699df83cbdc26388f2d7e9a95680a0a4db3f7d35ea96d7244d2c
DIST postgresql-opt-7.3.20.tar.bz2 344312 RMD160 f3f4723a7dd28e2d961d67d06db5de6978d0e9b9 SHA1 9feeef2b8a250b1cc29b75e372758566c67cb444 SHA256 050c79c87d9dbf443fbda20b0f8fd40523231c2c6bcf1a24808214fe599f4d17
DIST postgresql-opt-7.4.18.tar.bz2 334631 RMD160 ee734caaee206e178aebd71ec20d0506777b1f43 SHA1 cec201bbddbd8df69ff48d454f6cd852b900bfe6 SHA256 63b9ce09e66a90267d70ab766cb6dc833cafa93f52253fe83699b8fce39a9a88
DIST postgresql-opt-8.0.14.tar.bz2 134706 RMD160 ff8773b373aa33f6c43f2d7cc3a56b4484197fc7 SHA1 359127fba3130e46309b24f019eea0fb278ea033 SHA256 b097922bb346c039dc605b45927dca2916394d587000d5412b30c9ca5a1c117a
DIST postgresql-opt-8.1.10.tar.bz2 144584 RMD160 fd9f11216465513494320b43fe27614c01b98e98 SHA1 d316b1a3b2a8f766ecf871537cf5d8067232a978 SHA256 9c99a8c31515107e29201e2ba1c5362871851b54bcf6bb9a5d3f81848196834f
DIST postgresql-opt-8.2.5.tar.bz2 167549 RMD160 92f6ee646eaf0268ee165fd592013cc3acaee5ca SHA1 bc1bf7528033bc17ae4e93ed071dd2b40bd19f94 SHA256 0d64c3fd4fb097126d9cb7d599fbd86435f23d887f7985c9fdb441db4e3c9ae5
+DIST postgresql-opt-8.3beta1.tar.bz2 178035 RMD160 405eb92402c8b3013adb72329fe27f4cfc1fc607 SHA1 65f5973c381f64966b8011d315410ad732825e13 SHA256 35f808b7d058ceedc26f297ec312f01354a062224324815ae8c082f7e98995a0
EBUILD postgresql-client-7.3.20.ebuild 2811 RMD160 b5da633e972393911b0d6cb92ec7f9ceb9d72b38 SHA1 dd9575291f4e60c5f85ae8ddb6b0a9a607beffca SHA256 33fe8a82327a96eb86b36e75246ad2483ea9560041a7817b84901224cd5cfb2a
MD5 5d0d713cb32bb773e6a1eabd1a9e53a6 postgresql-client-7.3.20.ebuild 2811
RMD160 b5da633e972393911b0d6cb92ec7f9ceb9d72b38 postgresql-client-7.3.20.ebuild 2811
@@ -96,22 +106,14 @@ EBUILD postgresql-client-8.2.5.ebuild 3377 RMD160 66c666c7e8b7b706c0fc2b7d02546a
MD5 73d8bd67a02c795e87569f8f03d50685 postgresql-client-8.2.5.ebuild 3377
RMD160 66c666c7e8b7b706c0fc2b7d02546a3e2e87adc6 postgresql-client-8.2.5.ebuild 3377
SHA256 ab440a35fa18ef677c23f518dfb202ed8980541fdc787b66d2340bd582840f3d postgresql-client-8.2.5.ebuild 3377
+EBUILD postgresql-client-8.3_beta1.ebuild 3334 RMD160 d3e553f18ab0de6cf3a3a0b75ae98a8c740f7aef SHA1 370c0cec1dce119ac2448b1da20463c22a636a74 SHA256 fbd17636e5b56b9af32b4f7c9c981379de1dffc6a1efbe5d827dd3084f728004
+MD5 6a61f2346976097399457a659338f616 postgresql-client-8.3_beta1.ebuild 3334
+RMD160 d3e553f18ab0de6cf3a3a0b75ae98a8c740f7aef postgresql-client-8.3_beta1.ebuild 3334
+SHA256 fbd17636e5b56b9af32b4f7c9c981379de1dffc6a1efbe5d827dd3084f728004 postgresql-client-8.3_beta1.ebuild 3334
MISC ChangeLog 400 RMD160 202fdecd325c69bd3e320935dd4a482004ab3230 SHA1 cde5fb2153e5d699a5b81832fa8982e975102f7a SHA256 33dfa19bf969f887c795d0a79da85fb66f089f721713ff453e8357468ab37ad9
MD5 f46c4d0bd3dd41451e001bf66e6ccc5b ChangeLog 400
RMD160 202fdecd325c69bd3e320935dd4a482004ab3230 ChangeLog 400
SHA256 33dfa19bf969f887c795d0a79da85fb66f089f721713ff453e8357468ab37ad9 ChangeLog 400
-MISC postgresql-client-7.4.18.ebuild.orig 3076 RMD160 8c0ab3c9c7498aa3f4f3444228fd8d1886524367 SHA1 e6be23608d036a28df0998200ecbe493a7227a8b SHA256 e15361ddb63f5d9690969521e46ec2c74756f8be89ff97e5f3e3dd02713160a3
-MD5 99226182c5fded7c7a022784ed772e83 postgresql-client-7.4.18.ebuild.orig 3076
-RMD160 8c0ab3c9c7498aa3f4f3444228fd8d1886524367 postgresql-client-7.4.18.ebuild.orig 3076
-SHA256 e15361ddb63f5d9690969521e46ec2c74756f8be89ff97e5f3e3dd02713160a3 postgresql-client-7.4.18.ebuild.orig 3076
-MISC postgresql-client-8.0.14.ebuild.orig 3447 RMD160 d66975a3467d426cb1b96cc864fdb4ffc13724e4 SHA1 1088b4d8c96c9be003e1592df312a419e7522f50 SHA256 07c0c337f8b8cdd659684155c649bd9e231b0a5a3fc609b421df4696fabe9442
-MD5 d98f2feb27121567f8b496f279d99f6d postgresql-client-8.0.14.ebuild.orig 3447
-RMD160 d66975a3467d426cb1b96cc864fdb4ffc13724e4 postgresql-client-8.0.14.ebuild.orig 3447
-SHA256 07c0c337f8b8cdd659684155c649bd9e231b0a5a3fc609b421df4696fabe9442 postgresql-client-8.0.14.ebuild.orig 3447
-MISC postgresql-client-8.1.10.ebuild.orig 3174 RMD160 dfc26933c1c6899a81fac7ea8bcfce2441016f70 SHA1 65a3def93672bdbad8fcefb46636de40e152e78b SHA256 594bb1cbf2574c98aa5eef0f8b51b079f43499ca129bea5be2029c529dd1f37b
-MD5 d57ca3e8ca1016451adf8c46a77cab71 postgresql-client-8.1.10.ebuild.orig 3174
-RMD160 dfc26933c1c6899a81fac7ea8bcfce2441016f70 postgresql-client-8.1.10.ebuild.orig 3174
-SHA256 594bb1cbf2574c98aa5eef0f8b51b079f43499ca129bea5be2029c529dd1f37b postgresql-client-8.1.10.ebuild.orig 3174
MD5 301116857d81ba6531c93bd5f46ba5bb files/digest-postgresql-client-7.3.20 542
RMD160 fd98b4200904f8846dab9e923e9ff505362b211f files/digest-postgresql-client-7.3.20 542
SHA256 13c6bb4798bafc41e6f2cb924597c3f1d30b8256e267bf986072c2b1ccefb7e7 files/digest-postgresql-client-7.3.20 542
@@ -127,3 +129,6 @@ SHA256 6d1ad8779eff0cb78d7bd239a45eccf3777acabedf3eddb0301b26cfc07a44b5 files/di
MD5 e0c4c34fcfcd7245c57be1d6994f5796 files/digest-postgresql-client-8.2.5 536
RMD160 2f36804d0f2efac3a4987b2433f82414084e9d18 files/digest-postgresql-client-8.2.5 536
SHA256 84d7927d6ea44f7f8e04b546ac47e46c509f2c0dc6e8c00f9748db34b789e8fd files/digest-postgresql-client-8.2.5 536
+MD5 8f700aa861d808c2cee0152efb446fd5 files/digest-postgresql-client-8.3_beta1 554
+RMD160 cea9ad43374440aaa234deba49daea08fe2edc37 files/digest-postgresql-client-8.3_beta1 554
+SHA256 ad09d2ea84f4a8e3efb06633a95bd5f2e5c3420bc7aee35f7a8122e99ffaf710 files/digest-postgresql-client-8.3_beta1 554
diff --git a/dev-db/postgresql-client/files/digest-postgresql-client-8.3_beta1 b/dev-db/postgresql-client/files/digest-postgresql-client-8.3_beta1
new file mode 100644
index 0000000..3e12e6c
--- /dev/null
+++ b/dev-db/postgresql-client/files/digest-postgresql-client-8.3_beta1
@@ -0,0 +1,6 @@
+MD5 e142031cdc181aab8f97c7957cb12715 postgresql-base-8.3beta1.tar.bz2 9496130
+RMD160 bbc1250cc901124c4eec5c2b4cc5b2dbb3acf7b6 postgresql-base-8.3beta1.tar.bz2 9496130
+SHA256 fd2777dadfb6699df83cbdc26388f2d7e9a95680a0a4db3f7d35ea96d7244d2c postgresql-base-8.3beta1.tar.bz2 9496130
+MD5 0fe6fc6ea38a5bec8593b9017934fdd7 postgresql-opt-8.3beta1.tar.bz2 178035
+RMD160 405eb92402c8b3013adb72329fe27f4cfc1fc607 postgresql-opt-8.3beta1.tar.bz2 178035
+SHA256 35f808b7d058ceedc26f297ec312f01354a062224324815ae8c082f7e98995a0 postgresql-opt-8.3beta1.tar.bz2 178035
diff --git a/dev-db/postgresql-client/files/postgresql-8.3-client.patch b/dev-db/postgresql-client/files/postgresql-8.3-client.patch
new file mode 100644
index 0000000..abd6777
--- /dev/null
+++ b/dev-db/postgresql-client/files/postgresql-8.3-client.patch
@@ -0,0 +1,134 @@
+diff --git a/GNUmakefile.in b/GNUmakefile.in
+index f7bcc67..ec8fcf1 100644
+--- a/GNUmakefile.in
++++ b/GNUmakefile.in
+@@ -11,19 +11,16 @@ include $(top_builddir)/src/Makefile.global
+ all:
+ $(MAKE) -C doc all
+ $(MAKE) -C src all
+- $(MAKE) -C config all
+ @echo "All of PostgreSQL successfully made. Ready to install."
+
+ install:
+ $(MAKE) -C doc $@
+ $(MAKE) -C src $@
+- $(MAKE) -C config $@
+ @echo "PostgreSQL installation complete."
+
+ installdirs uninstall:
+ $(MAKE) -C doc $@
+ $(MAKE) -C src $@
+- $(MAKE) -C config $@
+
+ distprep:
+ $(MAKE) -C doc $@
+diff --git a/contrib/Makefile b/contrib/Makefile
+index fe86803..5816870 100644
+--- a/contrib/Makefile
++++ b/contrib/Makefile
+@@ -5,48 +5,10 @@ top_builddir = ..
+ include $(top_builddir)/src/Makefile.global
+
+ WANTED_DIRS = \
+- adminpack \
+- btree_gist \
+- chkpass \
+- cube \
+- dblink \
+- earthdistance \
+- fuzzystrmatch \
+- hstore \
+- intagg \
+- intarray \
+- isn \
+- lo \
+- ltree \
+ oid2name \
+- pageinspect \
+- pg_buffercache \
+- pg_freespacemap \
+- pg_standby \
+- pg_trgm \
+ pgbench \
+- pgcrypto \
+- pgrowlocks \
+- pgstattuple \
+- seg \
+- spi \
+- tablefunc \
+ vacuumlo
+
+-ifeq ($(with_openssl),yes)
+-WANTED_DIRS += sslinfo
+-endif
+-
+-ifeq ($(with_ossp_uuid),yes)
+-WANTED_DIRS += uuid-ossp
+-endif
+-
+-ifeq ($(with_libxml),yes)
+-ifeq ($(with_libxslt),yes)
+-WANTED_DIRS += xml2
+-endif
+-endif
+-
+ # Missing:
+ # start-scripts \ (does not have a makefile)
+
+diff --git a/src/Makefile b/src/Makefile
+index 8d66bf6..8db6434 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -13,20 +13,10 @@ top_builddir = ..
+ include Makefile.global
+
+
+-all install installdirs uninstall distprep:
+- $(MAKE) -C port $@
+- $(MAKE) -C timezone $@
+- $(MAKE) -C backend $@
+- $(MAKE) -C backend/utils/mb/conversion_procs $@
+- $(MAKE) -C backend/snowball $@
+- $(MAKE) -C include $@
+- $(MAKE) -C interfaces $@
++all install installdirs uninstall dep depend distprep:
+ $(MAKE) -C bin $@
+- $(MAKE) -C pl $@
+- $(MAKE) -C makefiles $@
+- $(MAKE) -C test/regress $@
+
+-install: install-local
++install:
+
+ install-local: installdirs-local
+ $(INSTALL_DATA) Makefile.global '$(DESTDIR)$(pgxsdir)/$(subdir)/Makefile.global'
+diff --git a/src/Makefile.global.in b/src/Makefile.global.in
+index cbe2634..0c534f8 100644
+--- a/src/Makefile.global.in
++++ b/src/Makefile.global.in
+@@ -372,10 +372,8 @@ endif
+
+
+ submake-libpq:
+- $(MAKE) -C $(libpq_builddir) all
+
+ submake-libpgport:
+- $(MAKE) -C $(top_builddir)/src/port all
+
+ .PHONY: submake-libpq submake-libpgport
+
+diff --git a/src/bin/Makefile b/src/bin/Makefile
+index 1f319d5..fbade52 100644
+--- a/src/bin/Makefile
++++ b/src/bin/Makefile
+@@ -13,8 +13,8 @@ subdir = src/bin
+ top_builddir = ../..
+ include $(top_builddir)/src/Makefile.global
+
+-DIRS = initdb ipcclean pg_ctl pg_dump \
+- psql scripts pg_config pg_controldata pg_resetxlog
++DIRS = pg_dump \
++ psql scripts
+ ifeq ($(PORTNAME), win32)
+ DIRS+=pgevent
+ endif
diff --git a/dev-db/postgresql-client/files/postgresql-8.3-common.patch b/dev-db/postgresql-client/files/postgresql-8.3-common.patch
new file mode 100644
index 0000000..bab8258
--- /dev/null
+++ b/dev-db/postgresql-client/files/postgresql-8.3-common.patch
@@ -0,0 +1,73 @@
+diff --git a/config/programs.m4 b/config/programs.m4
+index 9434113..d72b35c 100644
+--- a/config/programs.m4
++++ b/config/programs.m4
+@@ -202,8 +202,12 @@ AC_DEFUN([PGAC_CHECK_GETTEXT],
+ dnl FIXME: We should probably check for version >=0.10.36.
+ AC_CHECK_PROGS(XGETTEXT, xgettext)
+
+- # Note: share/locale is always the default, independent of $datadir
+- localedir='${prefix}/share/locale'
++ # Note: share/locale *WAS* always the default, independent of $datadir
++ AC_ARG_WITH([locale-dir],
++ AC_HELP_STRING([--with-locale-dir],[Set path to locale files]),
++ [ localedir="${withval}" ],
++ [ localedir='${prefix}/share/locale' ]
++ )
+ AC_SUBST(localedir)
+ ])# PGAC_CHECK_GETTEXT
+
+diff --git a/src/include/storage/s_lock.h b/src/include/storage/s_lock.h
+index a9cbeac..d5c2764 100644
+--- a/src/include/storage/s_lock.h
++++ b/src/include/storage/s_lock.h
+@@ -298,6 +298,29 @@ tas(volatile slock_t *lock)
+
+ #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
+diff --git a/src/makefiles/Makefile.darwin b/src/makefiles/Makefile.darwin
+index 9f761d4..83b2974 100644
+--- a/src/makefiles/Makefile.darwin
++++ b/src/makefiles/Makefile.darwin
+@@ -5,7 +5,15 @@ DLSUFFIX = .so
+ CFLAGS_SL =
+
+ ifdef PGXS
++ifdef PGXS_IN_SERVER
++ifndef PGXS_WITH_SERVER
++BE_DLLLIBS= -bundle_loader $(top_builddir)/src/backend/postgres
++else
++BE_DLLLIBS= -bundle_loader ${PGXS_WITH_SERVER}
++endif
++else
+ BE_DLLLIBS= -bundle_loader $(bindir)/postgres
++endif
+ else
+ BE_DLLLIBS= -bundle_loader $(top_builddir)/src/backend/postgres
+ endif
diff --git a/dev-db/postgresql-client/postgresql-client-8.3_beta1.ebuild b/dev-db/postgresql-client/postgresql-client-8.3_beta1.ebuild
new file mode 100644
index 0000000..afc7422
--- /dev/null
+++ b/dev-db/postgresql-client/postgresql-client-8.3_beta1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+WANT_AUTOCONF="latest"
+WANT_AUTOMAKE="none"
+
+inherit eutils multilib toolchain-funcs versionator autotools
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+
+DESCRIPTION="PostgreSQL client applications"
+HOMEPAGE="http://www.postgresql.org/"
+SRC_URI="mirror://postgresql/source/v${PV/_/}/postgresql-base-${PV/_/}.tar.bz2
+ mirror://postgresql/source/v${PV/_/}/postgresql-opt-${PV/_/}.tar.bz2"
+LICENSE="POSTGRESQL"
+SLOT="$(get_version_component_range 1-2)"
+# find . -name \*.po | xargs -n 1 basename | cut -d. -f1|sort|uniq|sed 's/^/linguas_/'
+IUSE_LINGUAS="
+ linguas_af linguas_cs linguas_de linguas_es linguas_fa linguas_fr
+ linguas_hr linguas_hu linguas_it linguas_ko linguas_nb linguas_pl
+ linguas_pt_BR linguas_ro linguas_ru linguas_sk linguas_sl linguas_sv
+ linguas_tr linguas_zh_CN linguas_zh_TW"
+IUSE="doc nls ${IUSE_LINGUAS}"
+
+wanted_languages() {
+ for u in ${IUSE_LINGUAS} ; do
+ use $u && echo ${u#linguas_}
+ done
+}
+
+DEPEND="~dev-db/postgresql-libs-${PV}"
+RDEPEND="${DEPEND}"
+PDEPEND="doc? ( ~dev-db/postgresql-docs-${PV} )"
+
+S="${WORKDIR}/postgresql-${PV/_/}"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/postgresql-${SLOT}-common.patch"
+ epatch "${FILESDIR}/postgresql-${SLOT}-client.patch"
+
+ # to avoid collision - it only should be installed by server
+ rm "${S}/src/backend/nls.mk"
+
+ # because psql/help.c includes the file
+ ln -s "${S}/src/include/libpq/pqsignal.h" "${S}/src/bin/psql/"
+
+ eautoconf
+}
+
+src_compile() {
+ # TODO: test if PPC really cannot work with other CFLAGS settings
+ # use ppc && CFLAGS="-pipe -fsigned-char"
+
+ # 1. threadsafety is disabled to avoid pulling in test tarball in absense of
+ # which configure would fail. The configure output in the large part goes
+ # unnoticed as the installed pgxs stuff is used instead.
+ # 2. eval is needed to get along with pg_config quotation of space-rich
+ # entities.
+ eval econf "$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --configure)" \
+ "$(built_with_use ~dev-db/postgresql-libs-${PV} nls && use_enable nls nls "$(wanted_languages)")" \
+ --disable-thread-safety \
+ || die "configure failed"
+
+ for bd in . contrib ; do
+ PATH="/usr/lib/postgresql-${SLOT}/bin:${PATH}" \
+ emake -C $bd LD="$(tc-getLD) $(get_abi_LDFLAGS)" \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ NO_PGXS=0 USE_PGXS=1 docdir=/usr/share/doc/${PF} || die "emake in $bd failed"
+ done
+}
+
+src_install() {
+
+ for bd in . contrib ; do
+ PATH="/usr/lib/postgresql-${SLOT}/bin:${PATH}" \
+ emake -C $bd install DESTDIR="${D}" \
+ PGXS=$(/usr/$(get_libdir)/postgresql-${SLOT}/bin/pg_config --pgxs) \
+ NO_PGXS=0 USE_PGXS=1 docdir=/usr/share/doc/${PF} || die "emake install in $bd failed"
+ done
+
+ rm "${D}/usr/share/postgresql-${SLOT}/man/man1"/{initdb,ipcclean,pg_config,pg_controldata,pg_ctl,pg_resetxlog,pg_restore,postgres,postmaster,ecpg}.1
+
+ dodoc README HISTORY doc/{README.*,TODO,bug.template}
+
+ dodir /usr/lib/eselect-postgresql/slots/${SLOT}
+ echo "postgres_ebuilds=\"\${postgres_ebuilds} ${PF}\"" >${D}/usr/lib/eselect-postgresql/slots/${SLOT}/client
+}
+
+pkg_postinst() {
+ eselect postgresql update
+}
+
+pkg_postrm() {
+ eselect postgresql update
+}