summaryrefslogtreecommitdiff
path: root/dev-libs/OpenSRF
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/OpenSRF')
-rw-r--r--dev-libs/OpenSRF/Manifest4
-rw-r--r--dev-libs/OpenSRF/OpenSRF-2.1.1.ebuild122
-rw-r--r--dev-libs/OpenSRF/files/OpenSRF-2.1.1-buildfix.patch70
-rw-r--r--dev-libs/OpenSRF/metadata.xml7
4 files changed, 203 insertions, 0 deletions
diff --git a/dev-libs/OpenSRF/Manifest b/dev-libs/OpenSRF/Manifest
new file mode 100644
index 000000000000..140ebaf42810
--- /dev/null
+++ b/dev-libs/OpenSRF/Manifest
@@ -0,0 +1,4 @@
+AUX OpenSRF-2.1.1-buildfix.patch 3436 BLAKE2B 9aff428ea42562bddbbc59f063d2902e55ee1c5f14fbb0a49b801840d8fc8ac02f703e8d4f95139bd90a54c689e1cd4fa9d5a4b23e9e56b8f16dbf4c6ad622db SHA512 5db2d704a3d539c1c57ee3b5d4e0965f60c23134c68746ab84655d698388e10b7d611dff0e25db4c633fce462816c4d76afae9d74acdee5a95baeb99528e2b5b
+DIST opensrf-2.1.1.tar.gz 1058060 BLAKE2B 83c702727d21bea4683530857cd67037bde9eab94b91a801f64ebe70f5ad3b4994eea956cb9aaf531fbc663d4e9cb3242740f1941604a69aceaab8e396ae0e0e SHA512 5294ae2c9410ae52964067cd9090f9b7b5424e96f1731868cd896c1928ef1e89729af4a83f804f491bf2da0c6d129149105309afa18531b184098ebff2820306
+EBUILD OpenSRF-2.1.1.ebuild 3650 BLAKE2B 1b4fce57366084438d4e5b9bd296a1fb26845deb22ffd3df580d5d39aa4484b04d6db7240465c691c6abb6facde8e4fb7949911ed0ac3e3bcb82fa5e6115cd44 SHA512 20a963a4ab4ebb19fb86920bff737967a73d4af15e82b5b2a22d5f1852f5b43bffec3bf823535d32cf2a49f2e6acfc226a207fa402fc91dc450b0350eeab80a6
+MISC metadata.xml 216 BLAKE2B 20531789dc11e43feee7ec315a0c1c7249fdf73764e29cb7d6db439826e9ff72f24a5cdb8eb7f1ab99bbb41fb6e4226874a1d1fa4185de52598602bb3b0479a3 SHA512 e881b59fe49746eb25ad66c258b41aba501e4eb563129093a3898ea970a20506e7898f7c355cfcf99605234962bf2c77c1309c258b9a2b84ee4302ccb71c9dbd
diff --git a/dev-libs/OpenSRF/OpenSRF-2.1.1.ebuild b/dev-libs/OpenSRF/OpenSRF-2.1.1.ebuild
new file mode 100644
index 000000000000..7080fd53a102
--- /dev/null
+++ b/dev-libs/OpenSRF/OpenSRF-2.1.1.ebuild
@@ -0,0 +1,122 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils multilib flag-o-matic apache-module autotools perl-module
+
+DESCRIPTION="Framework for the high-level development of the Evergreen ILS software"
+HOMEPAGE="https://open-ils.org/"
+MY_PN="opensrf" # upstream lowercased the tarball in 2.x
+MY_P="${MY_PN}-${PV}"
+SRC_URI="https://open-ils.org/downloads/${MY_P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="postgres +sqlite"
+DEPEND=">=www-servers/apache-2.2.9
+ >=dev-db/libdbi-drivers-0.8.2
+ >=dev-db/libdbi-0.8.2
+ net-im/ejabberd
+ dev-libs/libmemcached
+ dev-perl/Cache-Memcached
+ dev-perl/Class-DBI-AbstractSearch
+ sqlite? ( dev-perl/DBD-SQLite )
+ postgres? ( dev-perl/DBD-Pg )
+ virtual/perl-Digest-MD5
+ dev-perl/JSON-XS
+ dev-perl/Net-Server
+ dev-perl/UNIVERSAL-require
+ dev-perl/Unix-Syslog
+ dev-perl/XML-LibXML
+ "
+
+S="${WORKDIR}/${MY_P}"
+PERL_S="${S}/src/perl"
+
+APXS2_S="${S}/src/gateway/.libs/"
+APACHE2_MOD_FILE="${APXS2_S}/osrf_json_gateway.so ${APXS2_S}/osrf_http_translator.so"
+#APACHE2_MOD_CONF="42_${PN}"
+#APACHE2_MOD_DEFINE="FOO"
+#DOCFILES="docs/*.html"
+need_apache2_2
+
+RDEPEND="${DEPEND}"
+
+pkg_setup() {
+ perl_set_version
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.1.1-buildfix.patch
+ eautoreconf
+}
+
+#src_compile() {
+# LIBXML2_CFLAGS=$(xml2-config --cflags)
+# LIBXML2_CFLAGS="${LIBXML2_CFLAGS//*-I}"
+# LIBXML2_HEADERS="${LIBXML2_CFLAGS// *}"
+# APR_HEADERS=$(apr-1-config --includedir)
+# APACHE2_HEADERS=$(apxs2 -q INCLUDEDIR)
+# sed -i \
+# -e '/^export PREFIX=/s,/.*,/usr,' \
+# -e '/^export BINDIR=/s,/.*,${PREFIX}/bin,' \
+# -e "/^export LIBDIR=/s,/.*,\${PREFIX}/$(get_libdir)," \
+# -e '/^export PERLDIR=/s,/.*,${LIBDIR}/perl5,' \
+# -e '/^export INCLUDEDIR=/s,/.*,${PREFIX}/include,' \
+# -e '/^export ETCDIR=/s,/.*,/etc,' \
+# -e '/^export SOCK=/s,/.*,/var/run/opensrf,' \
+# -e '/^export PID=/s,/.*,/var/run/opensrf,' \
+# -e '/^export LOG=/s,/.*,/var/log,' \
+# -e '/^export TMP=/s,/.*,/tmp,' \
+# -e '/^export APXS2=/s,/.*,/usr/sbin/apxs2,' \
+# -e "/^export APACHE2_HEADERS=/s,/.*,${APACHE2_HEADERS}," \
+# -e "/^export APR_HEADERS=/s,/.*,${APR_HEADERS}," \
+# -e "/^export LIBXML2_HEADERS=/s,/.*,${LIBXML2_HEADERS}," \
+# install.conf
+# emake verbose || die "Failed to build"
+#}
+src_configure() {
+ APXS2_INSTALL="-i" \
+ econf \
+ --with-apxs=/usr/sbin/apxs2 \
+ --sysconfdir=/etc/opensrf \
+ --localstatedir=/var \
+ || die "econf failed"
+ cd "${PERL_S}" && S="${PERL_S}" perl-module_src_configure || die "perl-module_src_configure failed"
+}
+
+src_compile() {
+ emake
+ cd "${PERL_S}" && S="${PERL_S}" perl-module_src_compile || die "perl-module_src_compile failed"
+}
+
+src_install() {
+ einfo "Doing src_install"
+ #emake install-verbose DESTDIR="${D}" || die "Failed to install"
+ emake install DESTDIR="${D}" APXS2_INSTALL="-i"
+ apache-module_src_install || die "apache-module_src_install failed"
+ cd "${PERL_S}" && S="${PERL_S}" perl-module_src_install || die "perl-module_src_install failed"
+ cd "${S}"
+
+ # Docs
+ dodoc README doc/*
+}
+
+src_test() {
+ emake check
+ cd "${PERL_S}" && S="${PERL_S}" perl-module_src_test || die "perl-module_src_test failed"
+}
+
+pkg_config() {
+ :
+ #JABBER_SERVER=${JABBER_SERVER:=localhost}
+ #JABBER_PORT=${JABBER_PORT:=5222}
+ #PASSWORD=${PASSWORD:=osrf}
+ #einfo "Using Jabber server at ${JABBER_SERVER}:${JABBER_PORT}"
+ #einfo "Adding 'osrf' and 'router' users with password ${PASSWORD}"
+ #cd "${ROOT}"/usr/share/doc/${PF}/examples
+ #for user in osrf router ; do
+ # perl register.pl ${JABBER_SERVER} ${JABBER_PORT} ${user} ${PASSWORD} \
+ # || die "Failed to add $user user to server"
+ #done
+}
diff --git a/dev-libs/OpenSRF/files/OpenSRF-2.1.1-buildfix.patch b/dev-libs/OpenSRF/files/OpenSRF-2.1.1-buildfix.patch
new file mode 100644
index 000000000000..767a478b53a8
--- /dev/null
+++ b/dev-libs/OpenSRF/files/OpenSRF-2.1.1-buildfix.patch
@@ -0,0 +1,70 @@
+Upstream uses DESTDIR, but then tries to hard-install the apache config
+modules, as well as not allowing other arguments to Build.PL easily.
+
+Split apache modules to be built during compile phase, and allow control of
+apxs2 install mode (for Gentoo, pass APXS2_INSTALL=-i).
+
+For the Build.PL problem, just disable it entirely here, and use the Gentoo
+build functions to call Build.PL instead
+(presently does --installdirs=vendor --libdoc= --destdir="${D}" --create_packlist=0).
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -Nuar opensrf-2.1.1.orig/src/gateway/Makefile.am opensrf-2.1.1/src/gateway/Makefile.am
+--- opensrf-2.1.1.orig/src/gateway/Makefile.am 2012-11-06 17:39:46.000000000 +0000
++++ opensrf-2.1.1/src/gateway/Makefile.am 2012-11-12 21:56:52.108564157 +0000
+@@ -17,20 +17,23 @@
+ AM_CFLAGS = -D_LARGEFILE64_SOURCE -Wall -I@abs_top_srcdir@/include/ -I$(LIBXML2_HEADERS) -I$(APACHE2_HEADERS) -I$(APR_HEADERS)
+ AM_LDFLAGS = -L$(LIBDIR) -L@top_builddir@/src/libopensrf
+ AP_LIBEXECDIR = `$(APXS2) -q LIBEXECDIR`
++APXS2_INSTALL = -i -a
+
+ DISTCLEANFILES = Makefile.in Makefile
+
+-install-exec-local:
+- d=`$(APXS2) -q SYSCONFDIR` && \
+- if ! grep mod_placeholder $${d}/httpd.conf 2>&1 >/dev/null ; \
+- then echo -e "#\n#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so" \
+- >> $${d}/httpd.conf; \
+- fi
++all:
+ $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) @srcdir@/osrf_json_gateway.c apachetools.c apachetools.h libopensrf.so
+ $(APXS2) -c $(DEF_LDLIBS) $(AM_CFLAGS) $(AM_LDFLAGS) @srcdir@/osrf_http_translator.c apachetools.c apachetools.h libopensrf.so
++
++install-exec-local:
++# d=`$(APXS2) -q SYSCONFDIR` && \
++# if ! grep mod_placeholder $${d}/httpd.conf 2>&1 >/dev/null ; \
++# then echo -e "#\n#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so" \
++# >> $${d}/httpd.conf; \
++# fi
+ $(MKDIR_P) $(DESTDIR)$(AP_LIBEXECDIR)
+- $(APXS2) -i -S LIBEXECDIR=$(DESTDIR)$(AP_LIBEXECDIR) -a @srcdir@/osrf_json_gateway.la
+- $(APXS2) -i -S LIBEXECDIR=$(DESTDIR)$(AP_LIBEXECDIR) -a @srcdir@/osrf_http_translator.la
++ $(APXS2) $(APXS2_INSTALL) -S LIBEXECDIR=$(DESTDIR)$(AP_LIBEXECDIR) @srcdir@/osrf_json_gateway.la
++ $(APXS2) $(APXS2_INSTALL) -S LIBEXECDIR=$(DESTDIR)$(AP_LIBEXECDIR) @srcdir@/osrf_http_translator.la
+
+ clean-local:
+ rm -f @srcdir@/osrf_http_translator.la @srcdir@/osrf_http_translator.lo @srcdir@/osrf_http_translator.slo @srcdir@/osrf_json_gateway.la @srcdir@/osrf_json_gateway.lo @srcdir@/osrf_json_gateway.slo
+diff -Nuar opensrf-2.1.1.orig/configure.ac opensrf-2.1.1/configure.ac
+--- opensrf-2.1.1.orig/configure.ac 2012-11-06 17:39:46.000000000 +0000
++++ opensrf-2.1.1/configure.ac 2012-11-12 22:04:38.673403306 +0000
+@@ -352,7 +352,6 @@
+ src/gateway/Makefile
+ src/jserver/Makefile
+ src/libopensrf/Makefile
+- src/perl/Makefile
+ src/ports/strn_compat/Makefile
+ src/python/opensrf.py
+ src/router/Makefile
+diff -Nuar opensrf-2.1.1.orig/src/Makefile.am opensrf-2.1.1/src/Makefile.am
+--- opensrf-2.1.1.orig/src/Makefile.am 2012-11-06 17:39:46.000000000 +0000
++++ opensrf-2.1.1/src/Makefile.am 2012-11-12 22:04:35.580149012 +0000
+@@ -40,7 +40,7 @@
+ endif
+
+ if BUILDCORE
+-MAYBE_CORE = libopensrf c-apps router srfsh gateway perl
++MAYBE_CORE = libopensrf c-apps router srfsh gateway
+ if BUILDPYTHON
+ dist_bin_SCRIPTS = @top_srcdir@/bin/opensrf-perl.pl @top_srcdir@/src/python/opensrf.py @top_srcdir@/src/python/srfsh.py
+ else
diff --git a/dev-libs/OpenSRF/metadata.xml b/dev-libs/OpenSRF/metadata.xml
new file mode 100644
index 000000000000..79d462e85571
--- /dev/null
+++ b/dev-libs/OpenSRF/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>robbat2@gentoo.org</email>
+</maintainer>
+</pkgmetadata>