summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-admin/elektra
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-admin/elektra')
-rw-r--r--app-admin/elektra/Manifest5
-rw-r--r--app-admin/elektra/elektra-0.7.1-r5.ebuild81
-rw-r--r--app-admin/elektra/elektra-0.8.12.ebuild120
-rw-r--r--app-admin/elektra/elektra-0.8.3-r3.ebuild92
-rw-r--r--app-admin/elektra/elektra-0.8.6.ebuild69
-rw-r--r--app-admin/elektra/elektra-0.8.7.ebuild86
-rw-r--r--app-admin/elektra/elektra-9999.ebuild120
-rw-r--r--app-admin/elektra/files/elektra-0.7.1-automake-1.12.patch24
-rw-r--r--app-admin/elektra/files/elektra-0.7.1-ltdl.patch21
-rw-r--r--app-admin/elektra/files/elektra-0.7.1-remove-ddefault-link.patch16
-rw-r--r--app-admin/elektra/files/elektra-0.7.1-test.patch123
-rw-r--r--app-admin/elektra/files/elektra-0.8.11-conditional-glob-tests.patch22
-rw-r--r--app-admin/elektra/files/elektra-0.8.3-fix-yajl-if-user-config.patch31
-rw-r--r--app-admin/elektra/files/elektra-0.8.3-introduce-attributes.patch27
-rw-r--r--app-admin/elektra/files/elektra-0.8.7-conditional-glob-tests.patch21
-rw-r--r--app-admin/elektra/metadata.xml18
16 files changed, 876 insertions, 0 deletions
diff --git a/app-admin/elektra/Manifest b/app-admin/elektra/Manifest
new file mode 100644
index 000000000000..9e6e2a07c27f
--- /dev/null
+++ b/app-admin/elektra/Manifest
@@ -0,0 +1,5 @@
+DIST elektra-0.7.1.tar.gz 1347524 SHA256 ff90ae274935eac9c9c5c85ca7e66049be46a31d9ef08bc59a59858a15284c8c SHA512 25ca25e95d1a20a79ba97b094dc9630fb791f6653c2bacec751cc51492202831b7d28ae0786081e6be91581245bda3f5b7e2f3b523f7faa6bfb1d97b3d209684 WHIRLPOOL e90e7c126f2467c8ae29e3cffd5d8a6bfa444dfd38edcc8809d49562825aff8ec6c826139da4a2aa09e38935ee63b48674431c7cc27e2a14d372b2b8270b170d
+DIST elektra-0.8.12.tar.gz 2102450 SHA256 562432bea9455a61ff6e6b3263078ea9b26bef2ed177a04b5f9b181d605bc021 SHA512 be01dbeae5cc680973a7c7917f341506106139c7facc3d3f597f31f7aa91065dcee862121b8704d589f4c6dd916a99cadc9b67e2e9604bec2841b1ebafea89ea WHIRLPOOL 6661d9a337aa71fcc9764f127ec4055b3eb1456d60608c80ac8763aee2d680ab8691a16668da8ef694efb09e2415f58bf4e34a4f1f0e9a7498fecf88f56ce9da
+DIST elektra-0.8.3.tar.gz 1092409 SHA256 48fab82a6b1e8f0038c43ae9ade4da25b697d0aa74e39b7b94056ab7febc4be1 SHA512 e298c0515515a3a59fe28e695fd347ce775465d95f95f8d08c54e0223baf24300ec7e876d35fd3a07f2348290fdc7f740557333b26e847d09b4c41df63a1d886 WHIRLPOOL 64673416e96cc0a8f3ffbfc3f88525de3bc1270b381d0642b59f0a4f9d49db5cb296bd10a2839bc2baea82f58dcb6416ada1031553d378cba858d8f94df2d3b9
+DIST elektra-0.8.6.tar.gz 1188337 SHA256 e815cf69b070c339784472841aa0ee0b169fab7c78f41cbbd7044f53fa9ed216 SHA512 4df585e07ab461b924a506a8c58bcfbe55e6c1df72710bfdc13760559054ffef6b92f8da94c08f2d8f6a7a7692983d0e92d4ffa98506fcbfc166a71bf989e488 WHIRLPOOL b0dfa2841dcef35e03dfa04e5613576d5d8d74586e959c538399adbebf2d4d4842b15e912845c07f5c309614e33217b112124ec0971accf9fa4e521e1283732a
+DIST elektra-0.8.7.tar.gz 1566800 SHA256 698ebd41d540eb0c6427c17c13a6a0f03eef94655fbd40655c9b42d612ea1c9b SHA512 37b34abeb392e170f89a97f825153f925d7b11ea980832cb8f1bf8dbd8b098f8bd553b3998728ef84ce4f4c53ea1f420824984fe670f6752c1b50e98821eb07e WHIRLPOOL 7f3f290f9064488fd1c9927a76d3f9e235e144b1ebe91a02b392ee468b2bcc4881906a71b88822a75ac1506200c3c8d5857c31f35bdc8f9832eae67c2647a768
diff --git a/app-admin/elektra/elektra-0.7.1-r5.ebuild b/app-admin/elektra/elektra-0.7.1-r5.ebuild
new file mode 100644
index 000000000000..a15dac611bf5
--- /dev/null
+++ b/app-admin/elektra/elektra-0.7.1-r5.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools autotools-multilib eutils multilib
+
+DESCRIPTION="universal and secure framework to store config parameters in a hierarchical key-value pair mechanism"
+HOMEPAGE="http://freedesktop.org/wiki/Software/Elektra"
+SRC_URI="ftp://ftp.markus-raab.org/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gcov iconv static-libs test"
+
+RDEPEND="dev-libs/libxml2[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}
+ sys-devel/libtool[${MULTILIB_USEDEP}]
+ iconv? ( virtual/libiconv[${MULTILIB_USEDEP}] )"
+
+src_prepare() {
+ einfo 'Removing bundled libltdl'
+ rm -rf libltdl || die
+
+ epatch \
+ "${FILESDIR}"/${P}-test.patch \
+ "${FILESDIR}"/${P}-ltdl.patch \
+ "${FILESDIR}"/${P}-automake-1.12.patch \
+ "${FILESDIR}"/${P}-remove-ddefault-link.patch
+
+ touch config.rpath
+ eautoreconf
+}
+
+src_configure() {
+ # berkeleydb, daemon, fstab, gconf, python do not work
+ # avoid collision with kerberos (bug 403025, 447246)
+ local myeconfargs=(
+ --enable-filesys
+ --enable-hosts
+ --enable-ini
+ --enable-passwd
+ --disable-berkeleydb
+ --disable-fstab
+ --disable-gconf
+ --disable-daemon
+ --enable-cpp
+ --disable-python
+ $(use_enable gcov)
+ $(use_enable iconv)
+ $(use_enable static-libs static)
+ --with-docdir=/usr/share/doc/${PF}
+ --with-develdocdir=/usr/share/doc/${PF}a
+ --includedir=/usr/include/${PN}
+ )
+ autotools-multilib_src_configure
+ dodir /usr/share/man/man3
+}
+
+src_compile() {
+ autotools-multilib_src_compile LIBLTDL=-lltdl
+}
+
+src_install() {
+ autotools-multilib_src_install
+
+ #avoid collision with allegro (bug 409305)
+ local my_f=""
+ for my_f in $(find "${D}"/usr/share/man/man3 -name "key.3*") ; do
+ mv "${my_f}" "${my_f/key/elektra-key}" || die
+ elog "/usr/share/man/man3/$(basename "${my_f}") installed as $(basename "${my_f/key/elektra-key}")"
+ done
+
+ if ! use static-libs; then
+ find "${D}" -name "*.a" -delete || die
+ fi
+
+ dodoc AUTHORS ChangeLog NEWS README TODO
+}
diff --git a/app-admin/elektra/elektra-0.8.12.ebuild b/app-admin/elektra/elektra-0.8.12.ebuild
new file mode 100644
index 000000000000..d4eaaa050e58
--- /dev/null
+++ b/app-admin/elektra/elektra-0.8.12.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-multilib eutils java-pkg-opt-2
+
+DESCRIPTION="Universal and secure framework to store config parameters in a hierarchical key-value pair mechanism"
+HOMEPAGE="http://freedesktop.org/wiki/Software/Elektra"
+SRC_URI="ftp://ftp.markus-raab.org/${PN}/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+PLUGIN_IUSE="augeas iconv ini java simpleini syslog systemd tcl +uname xml yajl";
+IUSE="dbus doc qt5 static-libs test ${PLUGIN_IUSE}"
+
+RDEPEND="dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ >=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}]
+ augeas? ( app-admin/augeas )
+ dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jdk-1.8.0 )
+ qt5? (
+ >=dev-qt/qtdeclarative-5.3
+ >=dev-qt/qtgui-5.3
+ >=dev-qt/qttest-5.3
+ >=dev-qt/qtwidgets-5.3
+ )
+ uname? ( sys-apps/coreutils )
+ systemd? ( sys-apps/systemd[${MULTILIB_USEDEP}] )
+ yajl? ( >=dev-libs/yajl-1.0.11-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( >=dev-cpp/gtest-1.7.0 )"
+
+DOCS=( README.md doc/AUTHORS doc/CODING.md doc/NEWS.md doc/todo/TODO )
+# tries to write to user's home directory (and doesn't respect HOME)
+RESTRICT="test"
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/elektra/kdbconfig.h )
+
+PATCHES=( "${FILESDIR}/${PN}"-0.8.11-conditional-glob-tests.patch )
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ einfo remove bundled libs
+ # TODO: Remove bundled inih from src/plugins/ini (add to portage):
+ # https://code.google.com/p/inih/
+ rm -rf src/external || die
+
+ # move doc files to correct location
+ sed -e "s/elektra-api/${PF}/" \
+ -i cmake/ElektraCache.cmake || die
+
+ # avoid useless build time, nothing ends up installed
+ comment_add_subdirectory benchmarks
+ comment_add_subdirectory examples
+}
+
+multilib_src_configure() {
+ local my_plugins="ALL"
+
+ if multilib_is_native_abi ; then
+ use augeas || my_plugins+=";-augeas"
+ use java || my_plugins+=";-jni"
+ else
+ my_plugins+=";-augeas;-jni"
+ fi
+
+ use dbus || my_plugins+=";-dbus"
+ use iconv || my_plugins+=";-iconv"
+ use ini || my_plugins+=";-ini" # bundles inih
+ use simpleini || my_plugins+=";-simpleini"
+ use syslog || my_plugins+=";-syslog"
+ use systemd || my_plugins+=";-journald"
+ use tcl || my_plugins+=";-tcl"
+ use uname || my_plugins+=";-uname"
+ use xml || my_plugins+=";-xmltool"
+ use yajl || my_plugins+=";-yajl"
+
+ # Disabling for good (?):
+ # counter - Only useful for debugging the plugin framework
+ # doc - Explaining basic makeup of a function //bug #514402
+ # noresolver - Does not resolve, but can act as one
+ # template - Template for new plugin written in C
+ # wresolver - Resolver for non-POSIX, e.g. w32/w64 systems
+ my_plugins+=";-counter;-doc;-noresolver;-template;-wresolver"
+
+ local my_tools
+
+ if multilib_is_native_abi ; then
+ my_tools="kdb"
+ use qt5 && my_tools+=";qt-gui"
+ fi
+
+ mycmakeargs=(
+ "-DBUILD_SHARED=ON"
+ "-DPLUGINS=${my_plugins}"
+ "-DTOOLS=${my_tools}"
+ "-DLATEX_COMPILER=OFF"
+ "-DTARGET_CMAKE_FOLDER=share/cmake/Modules"
+ $(multilib_is_native_abi && cmake-utils_use doc BUILD_DOCUMENTATION \
+ || echo -DBUILD_DOCUMENTATION=OFF)
+ $(cmake-utils_use static-libs BUILD_STATIC)
+ $(cmake-utils_use test BUILD_TESTING)
+ $(cmake-utils_use test ENABLE_TESTING)
+ )
+
+ cmake-utils_src_configure
+}
+
+multilib_src_install_all() {
+ einfo remove test_data
+ rm -rvf "${D}/usr/share/${PN}" || die "Failed to remove test_data"
+ einfo remove tool_exec
+ rm -rvf "${D}/usr/$(get_libdir)/${PN}/tool_exec" || die "Failed to remove tool_exec"
+}
diff --git a/app-admin/elektra/elektra-0.8.3-r3.ebuild b/app-admin/elektra/elektra-0.8.3-r3.ebuild
new file mode 100644
index 000000000000..9d53dc617967
--- /dev/null
+++ b/app-admin/elektra/elektra-0.8.3-r3.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-multilib eutils
+
+DESCRIPTION="universal and secure framework to store config parameters in a hierarchical key-value pair mechanism"
+HOMEPAGE="http://freedesktop.org/wiki/Software/Elektra"
+SRC_URI="ftp://ftp.markus-raab.org/${PN}/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dbus doc examples iconv inifile simpleini static-libs syslog tcl test xml yajl"
+
+RDEPEND=">=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}]
+ dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ yajl? (
+ <dev-libs/yajl-2[${MULTILIB_USEDEP}]
+ >=dev-libs/yajl-1.0.11-r1[${MULTILIB_USEDEP}]
+ )"
+DEPEND="${RDEPEND}
+ sys-devel/libtool
+ doc? ( app-doc/doxygen )"
+
+# tries to write to user's home directory (and doesn't respect HOME)
+RESTRICT="test"
+
+src_prepare() {
+ #fix QA issues with upstream patches
+ epatch "${FILESDIR}/${P}-introduce-attributes.patch"
+ epatch "${FILESDIR}/${P}-fix-yajl-if-user-config.patch"
+
+ #move doc files to correct location
+ sed -e "s/elektra-api/${PF}/" \
+ -i cmake/ElektraCache.cmake || die
+
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local my_plugins="ccode;dump;error;fstab;glob;hexcode;hidden;hosts;network;ni;null;path;resolver;struct;success;template;timeofday;tracer;type;validation"
+
+ use dbus && my_plugins+=";dbus"
+ use doc && my_plugins+=";doc"
+ use iconv && my_plugins+=";iconv"
+ use inifile && my_plugins+=";simpleini"
+ use syslog && my_plugins+=";syslog"
+ use tcl && my_plugins+=";tcl"
+ use xml && my_plugins+=";xmltool"
+ use yajl && my_plugins+=";yajl"
+
+ mycmakeargs=(
+ "-DPLUGINS=${my_plugins}"
+ "-DLATEX_COMPILER=OFF"
+ "-DTARGET_CMAKE_FOLDER=share/cmake/Modules"
+ $(multilib_is_native_abi && cmake-utils_use doc BUILD_DOCUMENTATION \
+ || echo -DBUILD_DOCUMENTATION=OFF)
+ $(multilib_is_native_abi && cmake-utils_use examples BUILD_EXAMPLES \
+ || echo -DBUILD_EXAMPLES=OFF)
+ $(cmake-utils_use static-libs BUILD_STATIC)
+ $(cmake-utils_use test BUILD_TESTING)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ dodir /usr/share/man/man3
+ cmake-multilib_src_compile
+}
+
+multilib_src_install() {
+ cmake-utils_src_install
+
+ if multilib_is_native_abi && use doc; then
+ rm -rf "${D}/usr/share/doc/${PF}/man" || die
+ cd doc/man/man3 || die
+ local my_f
+ for my_f in *.3 ; do
+ newman ${my_f} ${PN}-${my_f}
+ elog "installed /usr/share/man/man3/${my_f} as ${PN}-${my_f}"
+ done
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc doc/{AUTHORS,CHANGES,NEWS,README,todo/TODO}
+}
diff --git a/app-admin/elektra/elektra-0.8.6.ebuild b/app-admin/elektra/elektra-0.8.6.ebuild
new file mode 100644
index 000000000000..b16fd291eabb
--- /dev/null
+++ b/app-admin/elektra/elektra-0.8.6.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-multilib eutils
+
+DESCRIPTION="universal and secure framework to store config parameters in a hierarchical key-value pair mechanism"
+HOMEPAGE="http://freedesktop.org/wiki/Software/Elektra"
+SRC_URI="ftp://ftp.markus-raab.org/${PN}/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dbus doc examples iconv simpleini static-libs syslog tcl test +uname xml yajl"
+
+RDEPEND=">=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}]
+ dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ uname? ( sys-apps/coreutils )
+ yajl? (
+ <dev-libs/yajl-2[${MULTILIB_USEDEP}]
+ >=dev-libs/yajl-1.0.11-r1[${MULTILIB_USEDEP}]
+ )"
+DEPEND="${RDEPEND}
+ sys-devel/libtool
+ doc? ( app-doc/doxygen )"
+
+DOCS="doc/AUTHORS doc/CHANGES doc/NEWS doc/README doc/todo/TODO"
+# tries to write to user's home directory (and doesn't respect HOME)
+RESTRICT="test"
+
+src_prepare() {
+
+ #move doc files to correct location
+ sed -e "s/elektra-api/${PF}/" \
+ -i cmake/ElektraCache.cmake || die
+
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local my_plugins="ccode;dump;error;fstab;glob;hexcode;hidden;hosts;network;ni;null;path;resolver;struct;success;template;timeofday;tracer;type;validation"
+
+ use dbus && my_plugins+=";dbus"
+ use doc && my_plugins+=";doc"
+ use iconv && my_plugins+=";iconv"
+ use simpleini && my_plugins+=";simpleini"
+ use syslog && my_plugins+=";syslog"
+ use tcl && my_plugins+=";tcl"
+ use uname && my_plugins+=";uname"
+ use xml && my_plugins+=";xmltool"
+ use yajl && my_plugins+=";yajl"
+
+ mycmakeargs=(
+ "-DPLUGINS=${my_plugins}"
+ "-DLATEX_COMPILER=OFF"
+ "-DTARGET_CMAKE_FOLDER=share/cmake/Modules"
+ $(multilib_is_native_abi && cmake-utils_use doc BUILD_DOCUMENTATION \
+ || echo -DBUILD_DOCUMENTATION=OFF)
+ $(multilib_is_native_abi && cmake-utils_use examples BUILD_EXAMPLES \
+ || echo -DBUILD_EXAMPLES=OFF)
+ $(cmake-utils_use static-libs BUILD_STATIC)
+ $(cmake-utils_use test BUILD_TESTING)
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/app-admin/elektra/elektra-0.8.7.ebuild b/app-admin/elektra/elektra-0.8.7.ebuild
new file mode 100644
index 000000000000..3ba336f0e50d
--- /dev/null
+++ b/app-admin/elektra/elektra-0.8.7.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-multilib eutils
+
+DESCRIPTION="universal and secure framework to store config parameters in a hierarchical key-value pair mechanism"
+HOMEPAGE="http://freedesktop.org/wiki/Software/Elektra"
+SRC_URI="ftp://ftp.markus-raab.org/${PN}/releases/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/${PV}"
+KEYWORDS="~amd64 ~x86"
+IUSE="dbus doc examples iconv ini keytometa simpleini static-libs syslog tcl test +uname xml yajl"
+
+RDEPEND=">=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}]
+ dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ uname? ( sys-apps/coreutils )
+ yajl? (
+ <dev-libs/yajl-2[${MULTILIB_USEDEP}]
+ >=dev-libs/yajl-1.0.11-r1[${MULTILIB_USEDEP}]
+ )"
+DEPEND="${RDEPEND}
+ sys-devel/libtool
+ doc? ( app-doc/doxygen )"
+
+DOCS="README.md doc/AUTHORS doc/CHANGES doc/NEWS doc/todo/TODO"
+# tries to write to user's home directory (and doesn't respect HOME)
+RESTRICT="test"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-conditional-glob-tests.patch"
+
+ einfo remove bundled libs
+ # TODO: Remove bundled inih from src/plugins/ini (add to portage):
+ # https://code.google.com/p/inih/
+ rm -rf src/external || die
+
+ local tests="augeas fstab hosts ini yajl"
+ if ! use test ; then
+ einfo remove test data
+ for test in ${tests}; do
+ sed -e '/TARGET_TEST_DATA_FOLDER/ s/^#*/#/' \
+ -i src/plugins/${test}/CMakeLists.txt || die
+ done
+ fi
+
+ #move doc files to correct location
+ sed -e "s/elektra-api/${PF}/" \
+ -i cmake/ElektraCache.cmake || die
+
+ cmake-utils_src_prepare
+}
+
+multilib_src_configure() {
+ local my_plugins="ccode;dump;error;fstab;glob;hexcode;hidden;hosts;network;ni;null;path;resolver;struct;success;template;timeofday;tracer;type;validation"
+
+ use dbus && my_plugins+=";dbus"
+ use iconv && my_plugins+=";iconv"
+ use ini && my_plugins+=";ini" #bundles inih
+ use keytometa && my_plugins+=";keytometa"
+ use simpleini && my_plugins+=";simpleini"
+ use syslog && my_plugins+=";syslog"
+ use tcl && my_plugins+=";tcl"
+ use uname && my_plugins+=";uname"
+ use xml && my_plugins+=";xmltool"
+ use yajl && my_plugins+=";yajl"
+
+ mycmakeargs=(
+ "-DPLUGINS=${my_plugins}"
+ "-DLATEX_COMPILER=OFF"
+ "-DTARGET_CMAKE_FOLDER=share/cmake/Modules"
+ $(multilib_is_native_abi && cmake-utils_use doc BUILD_DOCUMENTATION \
+ || echo -DBUILD_DOCUMENTATION=OFF)
+ $(multilib_is_native_abi && cmake-utils_use examples BUILD_EXAMPLES \
+ || echo -DBUILD_EXAMPLES=OFF)
+ $(cmake-utils_use static-libs BUILD_STATIC)
+ $(cmake-utils_use test BUILD_TESTING)
+ $(cmake-utils_use test ENABLE_TESTING)
+ )
+
+ cmake-utils_src_configure
+}
diff --git a/app-admin/elektra/elektra-9999.ebuild b/app-admin/elektra/elektra-9999.ebuild
new file mode 100644
index 000000000000..0c88c626bea7
--- /dev/null
+++ b/app-admin/elektra/elektra-9999.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-multilib eutils java-pkg-opt-2 git-r3
+
+DESCRIPTION="Universal and secure framework to store config parameters in a hierarchical key-value pair mechanism"
+HOMEPAGE="http://freedesktop.org/wiki/Software/Elektra"
+EGIT_REPO_URI="git://github.com/ElektraInitiative/libelektra.git"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS=""
+PLUGIN_IUSE="augeas iconv ini java simpleini syslog systemd tcl +uname xml yajl";
+IUSE="dbus doc qt5 static-libs test ${PLUGIN_IUSE}"
+
+RDEPEND="dev-libs/libltdl:0[${MULTILIB_USEDEP}]
+ >=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}]
+ augeas? ( app-admin/augeas )
+ dbus? ( >=sys-apps/dbus-1.6.18-r1[${MULTILIB_USEDEP}] )
+ iconv? ( >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}] )
+ java? ( >=virtual/jdk-1.8.0 )
+ qt5? (
+ >=dev-qt/qtdeclarative-5.3
+ >=dev-qt/qtgui-5.3
+ >=dev-qt/qttest-5.3
+ >=dev-qt/qtwidgets-5.3
+ )
+ uname? ( sys-apps/coreutils )
+ systemd? ( sys-apps/systemd[${MULTILIB_USEDEP}] )
+ yajl? ( >=dev-libs/yajl-1.0.11-r1[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ test? ( >=dev-cpp/gtest-1.7.0 )"
+
+DOCS=( README.md doc/AUTHORS doc/CODING.md doc/NEWS.md doc/todo/TODO )
+# tries to write to user's home directory (and doesn't respect HOME)
+RESTRICT="test"
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/elektra/kdbconfig.h )
+
+PATCHES=( "${FILESDIR}/${PN}"-0.8.11-conditional-glob-tests.patch )
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ einfo remove bundled libs
+ # TODO: Remove bundled inih from src/plugins/ini (add to portage):
+ # https://code.google.com/p/inih/
+ rm -rf src/external || die
+
+ # move doc files to correct location
+ sed -e "s/elektra-api/${PF}/" \
+ -i cmake/ElektraCache.cmake || die
+
+ # avoid useless build time, nothing ends up installed
+ comment_add_subdirectory benchmarks
+ comment_add_subdirectory examples
+}
+
+multilib_src_configure() {
+ local my_plugins="ALL"
+
+ if multilib_is_native_abi ; then
+ use augeas || my_plugins+=";-augeas"
+ use java || my_plugins+=";-jni"
+ else
+ my_plugins+=";-augeas;-jni"
+ fi
+
+ use dbus || my_plugins+=";-dbus"
+ use iconv || my_plugins+=";-iconv"
+ use ini || my_plugins+=";-ini" # bundles inih
+ use simpleini || my_plugins+=";-simpleini"
+ use syslog || my_plugins+=";-syslog"
+ use systemd || my_plugins+=";-journald"
+ use tcl || my_plugins+=";-tcl"
+ use uname || my_plugins+=";-uname"
+ use xml || my_plugins+=";-xmltool"
+ use yajl || my_plugins+=";-yajl"
+
+ # Disabling for good (?):
+ # counter - Only useful for debugging the plugin framework
+ # doc - Explaining basic makeup of a function //bug #514402
+ # noresolver - Does not resolve, but can act as one
+ # template - Template for new plugin written in C
+ # wresolver - Resolver for non-POSIX, e.g. w32/w64 systems
+ my_plugins+=";-counter;-doc;-noresolver;-template;-wresolver"
+
+ local my_tools
+
+ if multilib_is_native_abi ; then
+ my_tools="kdb"
+ use qt5 && my_tools+=";qt-gui"
+ fi
+
+ mycmakeargs=(
+ "-DBUILD_SHARED=ON"
+ "-DPLUGINS=${my_plugins}"
+ "-DTOOLS=${my_tools}"
+ "-DLATEX_COMPILER=OFF"
+ "-DTARGET_CMAKE_FOLDER=share/cmake/Modules"
+ $(multilib_is_native_abi && cmake-utils_use doc BUILD_DOCUMENTATION \
+ || echo -DBUILD_DOCUMENTATION=OFF)
+ $(cmake-utils_use static-libs BUILD_STATIC)
+ $(cmake-utils_use test BUILD_TESTING)
+ $(cmake-utils_use test ENABLE_TESTING)
+ )
+
+ cmake-utils_src_configure
+}
+
+multilib_src_install_all() {
+ einfo remove test_data
+ rm -rvf "${D}/usr/share/${PN}" || die "Failed to remove test_data"
+ einfo remove tool_exec
+ rm -rvf "${D}/usr/$(get_libdir)/${PN}/tool_exec" || die "Failed to remove tool_exec"
+}
diff --git a/app-admin/elektra/files/elektra-0.7.1-automake-1.12.patch b/app-admin/elektra/files/elektra-0.7.1-automake-1.12.patch
new file mode 100644
index 000000000000..e4539dbc1c20
--- /dev/null
+++ b/app-admin/elektra/files/elektra-0.7.1-automake-1.12.patch
@@ -0,0 +1,24 @@
+http://bugs.gentoo.org/421589
+
+--- configure.ac
++++ configure.ac
+@@ -46,6 +46,8 @@
+ AM_INIT_AUTOMAKE
+ AC_CONFIG_HEADER([src/include/config.h])
+
++AC_PROG_MKDIR_P
++
+ dnl select POSIX extensions, useful on solaris, for example
+ gl_USE_SYSTEM_EXTENSIONS
+
+--- doc/Makefile.am
++++ doc/Makefile.am
+@@ -223,7 +223,7 @@
+
+ install-man3: $(man3_MANS)
+ @$(NORMAL_INSTALL)
+- test -z "$(man3dir)" || $(mkdir_p) "$(DESTDIR)$(man3dir)"
++ test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
+ @if test -d elektra-api/man/; then man_d=elektra-api/man/; \
+ else man_d=$(srcdir)/elektra-api/man/; \
+ fi; \
diff --git a/app-admin/elektra/files/elektra-0.7.1-ltdl.patch b/app-admin/elektra/files/elektra-0.7.1-ltdl.patch
new file mode 100644
index 000000000000..65bccdf763e6
--- /dev/null
+++ b/app-admin/elektra/files/elektra-0.7.1-ltdl.patch
@@ -0,0 +1,21 @@
+--- elektra-0.7.1/Makefile.am
++++ elektra-0.7.1/Makefile.am
+@@ -1,6 +1,6 @@
+ ACLOCAL_AMFLAGS = -I m4
+
+-SUBDIRS = libltdl src doc benchmarks examples scripts xmlschema tests
++SUBDIRS = src doc benchmarks examples scripts xmlschema tests
+ EXTRA_DIST=elektra.pc elektratools.pc elektracpp.pc elektra.spec elektra.mandriva.spec elektra.xml
+
+ pkgconfigdir = $(ulibdir)/pkgconfig
+--- elektra-0.7.1/doc/Makefile.am
++++ elektra-0.7.1/doc/Makefile.am
+@@ -7,6 +7,8 @@
+ EXTRA_DIST+=$(all_mans)
+ EXTRA_DIST+= $(HTML_TITLE_LAYOUT_XSL)
+
++develdocDATA_INSTALL = install
++
+ SUBDIRS=images standards
+
+ # Dependencies for Doxygen documentation
diff --git a/app-admin/elektra/files/elektra-0.7.1-remove-ddefault-link.patch b/app-admin/elektra/files/elektra-0.7.1-remove-ddefault-link.patch
new file mode 100644
index 000000000000..4dd162dcaa62
--- /dev/null
+++ b/app-admin/elektra/files/elektra-0.7.1-remove-ddefault-link.patch
@@ -0,0 +1,16 @@
+--- a/src/backends/Makefile.am 2010-04-27 09:17:25.000000000 +0200
++++ b/src/backends/Makefile.am 2013-03-30 15:34:36.406336274 +0100
+@@ -7,13 +7,7 @@
+ cd $(DESTDIR)$(backenddir) && \
+ test -L libelektra-default.so || \
+ $(LN_S) libelektra-@default_backend@.so libelektra-default.so
+- cd $(DESTDIR)$(backenddir) && \
+- test -L libelektra-ddefault.so || \
+- $(LN_S) libelektra-@default_dbackend@.so libelektra-ddefault.so
+
+ uninstall-hook:
+ -cd $(DESTDIR)$(backenddir) && \
+ rm -f libelektra-default.so
+- -cd $(DESTDIR)$(backenddir) && \
+- rm -f libelektra-ddefault.so
+-
diff --git a/app-admin/elektra/files/elektra-0.7.1-test.patch b/app-admin/elektra/files/elektra-0.7.1-test.patch
new file mode 100644
index 000000000000..357f25848f8f
--- /dev/null
+++ b/app-admin/elektra/files/elektra-0.7.1-test.patch
@@ -0,0 +1,123 @@
+--- elektra-0.7.1/src/bindings/cpp/tests/test_kdb.cpp
++++ elektra-0.7.1/src/bindings/cpp/tests/test_kdb.cpp
+@@ -1,4 +1,5 @@
+ #include <tests.h>
++#include <stdio.h>
+
+ void test_kdbGetSet()
+ {
+--- elektra-0.7.1/src/bindings/cpp/tests/test_ks.cpp
++++ elektra-0.7.1/src/bindings/cpp/tests/test_ks.cpp
+@@ -1,4 +1,5 @@
+ #include <tests.h>
++#include <stdio.h>
+
+ void test_ksnew()
+ {
+--- elektra-0.7.1/src/bindings/cpp/tests/test_key.cpp
++++ elektra-0.7.1/src/bindings/cpp/tests/test_key.cpp
+@@ -1,4 +1,5 @@
+ #include <tests.h>
++#include <stdio.h>
+
+ void test_keynew()
+ {
+--- elektra-0.7.1/src/bindings/cpp/tests/Makefile.am
++++ elektra-0.7.1/src/bindings/cpp/tests/Makefile.am
+@@ -10,13 +10,13 @@
+ endif
+
+ test_key_SOURCES = test_key.cpp tests.h tests.cpp
+-test_key_LDADD = $(privatelibs) ../libelektra-cpp.a ../../../libelektra/libelektra.a
++test_key_LDADD = $(privatelibs) ../libelektra-cpp.a ../../../libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a
+
+ test_ks_SOURCES = test_ks.cpp tests.h tests.cpp
+-test_ks_LDADD = $(privatelibs) ../libelektra-cpp.a ../../../libelektra/libelektra.a
++test_ks_LDADD = $(privatelibs) ../libelektra-cpp.a ../../../libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a
+
+ test_kdb_SOURCES = test_kdb.cpp tests.h tests.cpp
+-test_kdb_LDADD = $(privatelibs) ../libelektra-cpp.a ../../../libelektra/libelektra.a
++test_kdb_LDADD = $(privatelibs) ../libelektra-cpp.a ../../../libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a
+
+ ../libelektra-cpp.a:
+ cd .. && $(MAKE) libelektra-cpp.a
+--- elektra-0.7.1/tests/Makefile.am
++++ elektra-0.7.1/tests/Makefile.am
+@@ -1,10 +1,10 @@
+ AM_CFLAGS = $(COPTFLAGS) $(CDBGFLAGS)
+ AM_CPPFLAGS = -I$(top_srcdir)/src/include $(LTDLINCL)
+
+-TESTS = test_key test_ks test_kdb test_xml test_validate.sh test_getset test_trie test_mount test_cap test_stream test_serialize test_split test_internals test_backendhelpers test_script.sh test_type
++TESTS = test_key test_ks test_kdb test_xml test_validate.sh test_getset test_trie test_mount test_cap test_stream test_serialize test_split test_internals test_script.sh test_type
+ #TESTS = test_backendhelpers
+
+-check_PROGRAMS = test_key test_ks test_kdb test_xml test_getset test_trie test_mount test_cap test_stream test_serialize test_split test_internals test_backendhelpers test_type print_info
++check_PROGRAMS = test_key test_ks test_kdb test_xml test_getset test_trie test_mount test_cap test_stream test_serialize test_split test_internals test_type print_info
+ #check_PROGRAMS = test_backendhelpers
+
+ if VALGRINDTESTS
+@@ -19,49 +19,49 @@
+ rm -f *.gcno *.gcda *.gcno
+
+ test_key_SOURCES = test_key.c tests.h tests.c
+-test_key_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_key_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_ks_SOURCES = test_ks.c tests.h tests.c
+-test_ks_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_ks_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_kdb_SOURCES = test_kdb.c tests.h tests.c
+-test_kdb_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_kdb_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_xml_SOURCES = test_xml.c tests.h tests.c
+-test_xml_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_xml_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_getset_SOURCES = test_getset.c tests.h tests.c
+-test_getset_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_getset_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_trie_SOURCES = test_trie.c tests.h tests.c
+-test_trie_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_trie_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_mount_SOURCES = test_mount.c tests.h tests.c
+-test_mount_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_mount_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_cap_SOURCES = test_cap.c tests.h tests.c
+-test_cap_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_cap_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_stream_SOURCES = test_stream.c tests.h tests.c
+-test_stream_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_stream_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_serialize_SOURCES = test_serialize.c tests.h tests.c
+-test_serialize_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_serialize_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_split_SOURCES = test_split.c tests.h tests.c
+-test_split_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_split_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_internals_SOURCES = test_internals.c tests.h tests.c
+-test_internals_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_internals_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_backendhelpers_SOURCES = test_backendhelpers.c tests.h tests.c
+-test_backendhelpers_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_backendhelpers_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ test_type_SOURCES = test_type.c tests.h tests.c
+-test_type_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++test_type_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ print_info_SOURCES = print_info.c tests.h tests.c
+-print_info_LDADD = $(privatelibs) ../src/libelektra/libelektra.a
++print_info_LDADD = $(privatelibs) ../src/libelektra/libelektra.a /usr/lib/libxml2.a /usr/lib/libz.a /usr/lib/libm.a
+
+ ../src/libelektra/libelektra.a:
+ cd ../src/libelektra && $(MAKE) libelektra.a
diff --git a/app-admin/elektra/files/elektra-0.8.11-conditional-glob-tests.patch b/app-admin/elektra/files/elektra-0.8.11-conditional-glob-tests.patch
new file mode 100644
index 000000000000..ad529e4fd059
--- /dev/null
+++ b/app-admin/elektra/files/elektra-0.8.11-conditional-glob-tests.patch
@@ -0,0 +1,22 @@
+--- a/src/libtools/tests/CMakeLists.txt 2014-08-22 20:52:14.634898037 +0200
++++ b/src/libtools/tests/CMakeLists.txt 2014-08-22 21:19:25.770506035 +0200
+@@ -4,10 +4,12 @@
+ add_cppheaders (HDR_FILES)
+ add_toolheaders(HDR_FILES)
+
+-include (LibAddTest)
++if (ENABLE_TESTING)
++ include (LibAddTest)
+
+-file (GLOB TESTS testtool_*.cpp)
+-foreach (file ${TESTS})
+- get_filename_component (name ${file} NAME_WE)
+- add_gtest (${name})
+-endforeach (file ${TESTS})
+\ No newline at end of file
++ file (GLOB TESTS testtool_*.cpp)
++ foreach (file ${TESTS})
++ get_filename_component (name ${file} NAME_WE)
++ add_gtest (${name})
++ endforeach (file ${TESTS})
++endif (ENABLE_TESTING)
diff --git a/app-admin/elektra/files/elektra-0.8.3-fix-yajl-if-user-config.patch b/app-admin/elektra/files/elektra-0.8.3-fix-yajl-if-user-config.patch
new file mode 100644
index 000000000000..9577f1e01956
--- /dev/null
+++ b/app-admin/elektra/files/elektra-0.8.3-fix-yajl-if-user-config.patch
@@ -0,0 +1,31 @@
+--- a/src/plugins/yajl/yajl.c
++++ b/src/plugins/yajl/yajl.c
+@@ -23,6 +23,10 @@
+ ***************************************************************************/
+
+
++#ifndef HAVE_KDBCONFIG
++# include "kdbconfig.h"
++#endif
++
+ #include "yajl.h"
+
+ #include <kdberrors.h>
+@@ -340,7 +344,7 @@
+ KeySet *config= elektraPluginGetConfig(handle);
+
+ // ksClear (returned);
+- if (keyIsUser(parentKey))
++ if (!strncmp(keyName(parentKey), "user", 4))
+ {
+ const Key * lookup = ksLookupByName(config, "/user_path", 0);
+ if (!lookup)
+@@ -422,7 +426,7 @@
+ return 1; /* success */
+ }
+
+-int elektraYajlSet(Plugin *handle, KeySet *returned, Key *parentKey)
++int elektraYajlSet(Plugin *handle ELEKTRA_UNUSED, KeySet *returned, Key *parentKey)
+ {
+ yajl_gen_config conf = { 1, " " };
+ yajl_gen g = yajl_gen_alloc(&conf, NULL);
diff --git a/app-admin/elektra/files/elektra-0.8.3-introduce-attributes.patch b/app-admin/elektra/files/elektra-0.8.3-introduce-attributes.patch
new file mode 100644
index 000000000000..b970544df010
--- /dev/null
+++ b/app-admin/elektra/files/elektra-0.8.3-introduce-attributes.patch
@@ -0,0 +1,27 @@
+--- a/src/include/CMakeLists.txt
++++ b/src/include/CMakeLists.txt
+@@ -22,6 +22,9 @@
+ check_include_file(time.h HAVE_TIME_H)
+ check_include_file(unistd.h HAVE_UNISTD_H)
+
++set (ELEKTRA_DEPRECATED "__attribute__ ((deprecated))")
++set (ELEKTRA_UNUSED "__attribute__ ((unused))")
++
+ configure_file (
+ "${CMAKE_CURRENT_SOURCE_DIR}/kdb.h"
+ "${CMAKE_CURRENT_BINARY_DIR}/kdb.h"
+--- a/src/include/kdbconfig.h
++++ b/src/include/kdbconfig.h
+@@ -30,6 +30,12 @@
+ * to search for user configuration. */
+ #define KDB_DB_HOME "@KDB_DB_HOME@"
+
++/** Declares a parameter as unused. */
++#define ELEKTRA_UNUSED @ELEKTRA_UNUSED@
++
++/** Declares an API as deprecated. */
++#define ELEKTRA_DEPRECATED @ELEKTRA_DEPRECATED@
++
+ /* disable debug output messages */
+ #define DEBUG @DEBUG@
+
diff --git a/app-admin/elektra/files/elektra-0.8.7-conditional-glob-tests.patch b/app-admin/elektra/files/elektra-0.8.7-conditional-glob-tests.patch
new file mode 100644
index 000000000000..16cc0f81513e
--- /dev/null
+++ b/app-admin/elektra/files/elektra-0.8.7-conditional-glob-tests.patch
@@ -0,0 +1,21 @@
+--- elektra-0.87/src/libtools/tests/CMakeLists.txt
++++ elektra-0.87/src/libtools/tests/CMakeLists.txt
+@@ -4,10 +4,12 @@
+ add_cppheaders (HDR_FILES)
+ add_toolheaders(HDR_FILES)
+
+-include (LibAddTest)
++if (ENABLE_TESTING)
++ include (LibAddTest)
+
+-file (GLOB TESTS testtool_*.cpp)
+-foreach (file ${TESTS})
+- get_filename_component (name ${file} NAME_WE)
+- add_gtest (${name})
+-endforeach (file ${TESTS})
++ file (GLOB TESTS testtool_*.cpp)
++ foreach (file ${TESTS})
++ get_filename_component (name ${file} NAME_WE)
++ add_gtest (${name})
++ endforeach (file ${TESTS})
++endif (ENABLE_TESTING)
diff --git a/app-admin/elektra/metadata.xml b/app-admin/elektra/metadata.xml
new file mode 100644
index 000000000000..c3fe5e3083bd
--- /dev/null
+++ b/app-admin/elektra/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>xmw@gentoo.org</email>
+<name>Michael Weber</name>
+</maintainer>
+<use>
+ <flag name="augeas">Enable plugin for reading and writing configuration files with help from Augeas</flag>
+ <flag name="ini">Enable new, advanced ini support</flag>
+ <flag name="gcov">Enable coverage support</flag>
+ <flag name="keytometa">Enable keytometa support</flag>
+ <flag name="simpleini">Enable simpleini support</flag>
+ <flag name="uname">Enable uname information for the key database</flag>
+ <flag name="yajl">Enable yajl support</flag>
+</use>
+</pkgmetadata>
+