summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/ldb/files/ldb-1.1.24-optional-python.patch72
-rw-r--r--sys-libs/ldb/ldb-1.1.24-r1.ebuild94
2 files changed, 166 insertions, 0 deletions
diff --git a/sys-libs/ldb/files/ldb-1.1.24-optional-python.patch b/sys-libs/ldb/files/ldb-1.1.24-optional-python.patch
new file mode 100644
index 000000000000..d8dda63d44b7
--- /dev/null
+++ b/sys-libs/ldb/files/ldb-1.1.24-optional-python.patch
@@ -0,0 +1,72 @@
+--- a/wscript 2015-12-10 06:01:40.000000000 -0500
++++ b/wscript 2016-01-06 15:05:57.013617848 -0500
+@@ -5,6 +5,7 @@
+
+ blddir = 'bin'
+
++import Logs
+ import sys, os
+
+ # find the buildtools directory
+@@ -13,7 +14,7 @@
+ srcdir = srcdir + '/..'
+ sys.path.insert(0, srcdir + '/buildtools/wafsamba')
+
+-import wafsamba, samba_dist, Utils
++import wafsamba, samba_dist, Utils, Options
+
+ samba_dist.DIST_DIRS('''lib/ldb:. lib/replace:lib/replace lib/talloc:lib/talloc
+ lib/tdb:lib/tdb lib/tdb:lib/tdb lib/tevent:lib/tevent
+@@ -28,8 +29,17 @@
+ opt.RECURSE('lib/tevent')
+ opt.RECURSE('lib/replace')
+ opt.tool_options('python') # options for disabling pyc or pyo compilation
++ if opt.IN_LAUNCH_DIR():
++ opt.add_option('--disable-python',
++ help=("disable the pyldb modules"),
++ action="store_true", dest='disable_python', default=False)
++
+
+ def configure(conf):
++ conf.env.standalone_ldb = conf.IN_LAUNCH_DIR()
++
++ conf.env.disable_python = getattr(Options.options, 'disable_python', False)
++
+ conf.RECURSE('lib/tdb')
+ conf.RECURSE('lib/tevent')
+
+@@ -44,16 +54,18 @@
+ conf.RECURSE('lib/replace')
+ conf.find_program('python', var='PYTHON')
+ conf.find_program('xsltproc', var='XSLTPROC')
+- conf.check_tool('python')
+- conf.check_python_version((2,4,2))
+- conf.SAMBA_CHECK_PYTHON_HEADERS(mandatory=True)
++
++ if not conf.env.disable_python:
++ conf.SAMBA_CHECK_PYTHON(mandatory=False, version=(2,4,2))
++ conf.SAMBA_CHECK_PYTHON_HEADERS(mandatory=False)
++ if not conf.env.HAVE_PYTHON_H:
++ Logs.warn('Disabling pyldb-util as python devel libs not found')
++ conf.env.disable_python = True
+
+ # where does the default LIBDIR end up? in conf.env somewhere?
+ #
+ conf.CONFIG_PATH('LDB_MODULESDIR', conf.SUBST_ENV_VAR('MODULESDIR') + '/ldb')
+
+- conf.env.standalone_ldb = conf.IN_LAUNCH_DIR()
+-
+ if not conf.env.standalone_ldb:
+ if conf.CHECK_BUNDLED_SYSTEM_PKG('pyldb-util', minversion=VERSION,
+ onlyif='talloc tdb tevent',
+--- a/lib/talloc/wscript 2015-11-06 08:28:25.000000000 -0500
++++ b/lib/talloc/wscript 2016-01-06 15:07:43.673478788 -0500
+@@ -48,7 +48,7 @@
+ if conf.CHECK_BUNDLED_SYSTEM_PKG('talloc', minversion=VERSION,
+ implied_deps='replace'):
+ conf.define('USING_SYSTEM_TALLOC', 1)
+- if conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', minversion=VERSION,
++ if not conf.env.disable_python and conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', minversion=VERSION,
+ implied_deps='talloc replace'):
+ conf.define('USING_SYSTEM_PYTALLOC_UTIL', 1)
+
diff --git a/sys-libs/ldb/ldb-1.1.24-r1.ebuild b/sys-libs/ldb/ldb-1.1.24-r1.ebuild
new file mode 100644
index 000000000000..9633389c559c
--- /dev/null
+++ b/sys-libs/ldb/ldb-1.1.24-r1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+
+inherit python-single-r1 waf-utils multilib-minimal eutils
+
+DESCRIPTION="An LDAP-like embedded database"
+HOMEPAGE="http://ldb.samba.org"
+SRC_URI="http://www.samba.org/ftp/pub/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="doc"
+
+RDEPEND="dev-libs/popt[${MULTILIB_USEDEP}]
+ >=sys-libs/talloc-2.1.5[python,${MULTILIB_USEDEP}]
+ >=sys-libs/tevent-0.9.26[python(+),${MULTILIB_USEDEP}]
+ >=sys-libs/tdb-1.3.8[python,${MULTILIB_USEDEP}]
+ net-nds/openldap
+ !!<net-fs/samba-3.6.0[ldb]
+ !!>=net-fs/samba-4.0.0[ldb]
+ ${PYTHON_DEPS}
+ "
+
+DEPEND="dev-libs/libxslt
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig
+ ${RDEPEND}"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+WAF_BINARY="${S}/buildtools/bin/waf"
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h )
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-optional-python.patch
+ epatch_user
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myconf=(
+ --disable-rpath \
+ --disable-rpath-install --bundled-libraries=NONE \
+ --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba \
+ --builtin-libraries=NONE \
+ --blddir="${BUILD_DIR}"
+ )
+ if ! multilib_is_native_abi; then
+ myconf+=( --disable-python )
+ fi
+ waf-utils_src_configure "${myconf[@]}"
+}
+
+multilib_src_compile(){
+ waf-utils_src_compile
+ multilib_is_native_abi && use doc && doxygen Doxyfile
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi; then
+ WAF_MAKE=1 \
+ PATH=buildtools/bin:../../../buildtools/bin:$PATH:"${BUILD_DIR}"/bin/shared/private/ \
+ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"${BUILD_DIR}"/bin/shared/private/:"${BUILD_DIR}"/bin/shared \
+ waf test || die
+ fi
+}
+
+multilib_src_install() {
+ waf-utils_src_install
+
+ if multilib_is_native_abi && use doc; then
+ dohtml -r apidocs/html/*
+ doman apidocs/man/man3/*.3
+ fi
+}
+
+pkg_postinst() {
+ if has_version sys-auth/sssd; then
+ ewarn "You have sssd installed. It is known to break after ldb upgrades,"
+ ewarn "so please try to rebuild it before reporting bugs."
+ ewarn "See https://bugs.gentoo.org/404281"
+ fi
+}