Skip to content

Commit

Permalink
dev-db/couchdb: allow erlang-18 (fixes bug 554210)
Browse files Browse the repository at this point in the history
Package-Manager: portage-2.2.20.1
  • Loading branch information
djc committed Sep 24, 2015
1 parent 1ba3b6e commit f1e3aa1
Show file tree
Hide file tree
Showing 2 changed files with 175 additions and 0 deletions.
76 changes: 76 additions & 0 deletions dev-db/couchdb/couchdb-1.6.1-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# 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"
}
99 changes: 99 additions & 0 deletions dev-db/couchdb/files/1.6.1-erlang-18.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
From 95cb436be30305efa091809813b64ef31af968c8 Mon Sep 17 00:00:00 2001
From: Dave Cottlehuber <[email protected]>
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/>`_

0 comments on commit f1e3aa1

Please sign in to comment.