--- /dev/null
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils multilib pax-utils user
+
+DESCRIPTION="Apache CouchDB is a distributed, fault-tolerant and schema-free document-oriented database."
+HOMEPAGE="http://couchdb.apache.org/"
+SRC_URI="mirror://apache/couchdb/source/${PV}/apache-${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="selinux test"
+
+RDEPEND=">=dev-libs/icu-4.3.1:=
+ dev-lang/erlang[ssl]
+ >=dev-libs/openssl-0.9.8j:0
+ >=net-misc/curl-7.18.2
+ <dev-lang/spidermonkey-1.8.7
+ selinux? ( sec-policy/selinux-couchdb )"
+
+DEPEND="${RDEPEND}"
+RESTRICT=test
+
+S="${WORKDIR}/apache-${P}"
+
+pkg_setup() {
+ enewgroup couchdb
+ enewuser couchdb -1 -1 /var/lib/couchdb couchdb
+}
+
+src_prepare() {
+ sed -i ./src/couchdb/priv/Makefile.* -e 's|-Werror||g'
+ epatch "${FILESDIR}/${PV}-erlang-18.patch"
+}
+
+src_configure() {
+ econf \
+ --with-erlang="${EPREFIX}"/usr/$(get_libdir)/erlang/usr/include \
+ --localstatedir="${EPREFIX}"/var \
+ --with-js-lib="${EPREFIX}"/usr/$(get_libdir)
+ # bug 296609, upstream bug #COUCHDB-621
+ sed -e "s#localdocdir = /usr/share/doc/couchdb#localdocdir = "${EPREFIX}"/usr/share/doc/${PF}#" -i Makefile || die "sed failed"
+}
+
+src_compile() {
+ emake
+ # bug 442616
+ pax-mark mr src/couchdb/priv/couchjs
+}
+
+src_test() {
+ emake distcheck
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ fowners couchdb:couchdb \
+ /var/lib/couchdb \
+ /var/log/couchdb
+
+ for f in "${ED}"/etc/couchdb/*.ini ; do
+ fowners root:couchdb "${f#${ED}}"
+ fperms 660 "${f#${ED}}"
+ done
+ fperms 664 /etc/couchdb/default.ini
+
+ newinitd "${FILESDIR}/couchdb.init-4" couchdb
+ newconfd "${FILESDIR}/couchdb.conf-2" couchdb
+
+ sed -i -e "s:LIBDIR:$(get_libdir):" "${ED}/etc/conf.d/couchdb"
+}
--- /dev/null
+From 95cb436be30305efa091809813b64ef31af968c8 Mon Sep 17 00:00:00 2001
+From: Dave Cottlehuber <dch@apache.org>
+Date: Fri, 26 Jun 2015 10:31:27 +0200
+Subject: [PATCH] build: support OTP-18.0
+
+---
+ INSTALL.Unix | 2 +-
+ INSTALL.Windows | 2 +-
+ configure.ac | 8 ++++----
+ share/doc/src/install/unix.rst | 2 +-
+ share/doc/src/install/windows.rst | 2 +-
+ 5 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/INSTALL.Unix b/INSTALL.Unix
+index f66f98c..4c63bc8 100644
+--- a/INSTALL.Unix
++++ b/INSTALL.Unix
+@@ -39,7 +39,7 @@ Dependencies
+
+ You should have the following installed:
+
+- * Erlang OTP (>=R14B01, =<R17) (http://erlang.org/)
++ * Erlang OTP (>=R14B01, =<R18) (http://erlang.org/)
+ * ICU (http://icu-project.org/)
+ * OpenSSL (http://www.openssl.org/)
+ * Mozilla SpiderMonkey (1.8.5) (http://www.mozilla.org/js/spidermonkey/)
+diff --git a/INSTALL.Windows b/INSTALL.Windows
+index 29c69b0..1ca04fd 100644
+--- a/INSTALL.Windows
++++ b/INSTALL.Windows
+@@ -29,7 +29,7 @@ Dependencies
+
+ You will need the following installed:
+
+- * Erlang OTP (>=14B01, <R17) (http://erlang.org/)
++ * Erlang OTP (>=14B01, <R18) (http://erlang.org/)
+ * ICU (>=4.*) (http://icu-project.org/)
+ * OpenSSL (>=0.9.8r) (http://www.openssl.org/)
+ * Mozilla SpiderMonkey (=1.8.5) (http://www.mozilla.org/js/spidermonkey/)
+diff --git a/configure.ac b/configure.ac
+index 103f029..bf9ffc4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -411,7 +411,7 @@ esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking Erlang version compatibility" >&5
+ $as_echo_n "checking Erlang version compatibility... " >&6; }
+-erlang_version_error="The installed Erlang version must be >= R14B (erts-5.8.1) and =< 17 (erts-6.0)"
++erlang_version_error="The installed Erlang version must be >= R14B (erts-5.8.1) and =< 18 (erts-7.0)"
+
+ version="`${ERL} -version 2>&1 | ${SED} 's/[[^0-9]]/ /g'` 0 0 0"
+ major_version=`echo $version | ${AWK} "{print \\$1}"`
+@@ -419,7 +419,7 @@ minor_version=`echo $version | ${AWK} "{print \\$2}"`
+ patch_version=`echo $version | ${AWK} "{print \\$3}"`
+ echo -n "detected Erlang version: $major_version.$minor_version.$patch_version..."
+
+-if test $major_version -lt 5 -o $major_version -gt 6; then
++if test $major_version -lt 5 -o $major_version -gt 7; then
+ as_fn_error $? "$erlang_version_error major_version does not match" "$LINENO" 5
+ fi
+
+@@ -438,9 +438,9 @@ otp_release="`\
+ AC_SUBST(otp_release)
+
+ AM_CONDITIONAL([USE_OTP_NIFS],
+- [can_use_nifs=$(echo $otp_release | grep -E "^(R14B|R15|R16|17)")])
++ [can_use_nifs=$(echo $otp_release | grep -E "^(R14B|R15|R16|17|18)")])
+ AM_CONDITIONAL([USE_EJSON_COMPARE_NIF],
+- [can_use_ejson=$(echo $otp_release | grep -E "^(R14B03|R15|R16|17)")])
++ [can_use_ejson=$(echo $otp_release | grep -E "^(R14B03|R15|R16|17|18)")])
+
+ has_crypto=`\
+ ${ERL} -eval "\
+diff --git a/share/doc/src/install/unix.rst b/share/doc/src/install/unix.rst
+index 76fe922..904c128 100644
+--- a/share/doc/src/install/unix.rst
++++ b/share/doc/src/install/unix.rst
+@@ -52,7 +52,7 @@ Dependencies
+
+ You should have the following installed:
+
+-* `Erlang OTP (>=R14B01, =<R17) <http://erlang.org/>`_
++* `Erlang OTP (>=R14B01, =<R18) <http://erlang.org/>`_
+ * `ICU <http://icu-project.org/>`_
+ * `OpenSSL <http://www.openssl.org/>`_
+ * `Mozilla SpiderMonkey (1.8.5) <http://www.mozilla.org/js/spidermonkey/>`_
+diff --git a/share/doc/src/install/windows.rst b/share/doc/src/install/windows.rst
+index b7b66af..494ef65 100644
+--- a/share/doc/src/install/windows.rst
++++ b/share/doc/src/install/windows.rst
+@@ -90,7 +90,7 @@ Dependencies
+
+ You should have the following installed:
+
+-* `Erlang OTP (>=14B01, <R17) <http://erlang.org/>`_
++* `Erlang OTP (>=14B01, <R18) <http://erlang.org/>`_
+ * `ICU (>=4.*) <http://icu-project.org/>`_
+ * `OpenSSL (>0.9.8r) <http://www.openssl.org/>`_
+ * `Mozilla SpiderMonkey (=1.8.5) <http://www.mozilla.org/js/spidermonkey/>`_