summaryrefslogtreecommitdiff
path: root/dev-libs/librdkafka
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/librdkafka')
-rw-r--r--dev-libs/librdkafka/Manifest6
-rw-r--r--dev-libs/librdkafka/files/librdkafka-0.11.3-fix-memory-leak-issue1534.patch19
-rw-r--r--dev-libs/librdkafka/librdkafka-0.11.3-r1.ebuild73
-rw-r--r--dev-libs/librdkafka/librdkafka-0.11.4.ebuild71
-rw-r--r--dev-libs/librdkafka/metadata.xml15
5 files changed, 184 insertions, 0 deletions
diff --git a/dev-libs/librdkafka/Manifest b/dev-libs/librdkafka/Manifest
new file mode 100644
index 000000000000..1f79a577af73
--- /dev/null
+++ b/dev-libs/librdkafka/Manifest
@@ -0,0 +1,6 @@
+AUX librdkafka-0.11.3-fix-memory-leak-issue1534.patch 938 BLAKE2B acc607465285b2d5860f74a313a70bd153e0e850d1949cd345a920de69d466a8e75c89983b85056c6d8e40fbe93d40e4a5dac26b6a617705fd376cfe6c1baa75 SHA512 6f6406589ddf76e4168a6df50b00d8f499d3a6c22404696a4160eac3a10de7f8c8e03d01d6fd1aff831eb5cab962aec0eb164031e5aee3751e15a12c75e9f15f
+DIST librdkafka-0.11.3.tar.gz 1849838 BLAKE2B 570713642b5ec9c2487a37b9146edda5f844427dbf55d6cb654ca9a8690cd6f77bcc9325800ac2a34da21f1cca33187f390c00132f9e5c28503f816ee256c4f9 SHA512 e9bb97ea1597019a841dd4ba3666ad72dcbc0539054155ce0caee92f1324f1a490515b0310405f822b829c05ed2688b48e2ca205a91cf88bf9ad6411f7c12b26
+DIST librdkafka-0.11.4.tar.gz 1900117 BLAKE2B 3e755c91d6a2e12829ba841749977f8c05c9f243d79db64247547e4a49790e67d07f7d82633f45689dcc5f88caaef200027e6af3866de283c1de6120d7f98467 SHA512 6b34e7c476d328a2f8e8321f6ddcaeaf43730284bb3aaddac81c3cd9a1fa5d7f7ef7481f1093b36d89edde7b766da6cd27a9eb9a635b12b640e8a46a269bafc8
+EBUILD librdkafka-0.11.3-r1.ebuild 1299 BLAKE2B 38941daac5f384ebd687939dec6f91afb15906c8b0d80790fd11df4d61c0bc9043f9bf70d9924269b9d51186fc59f934537b589cc2c5b5a590ad66068ddd4b90 SHA512 fa53f16810c902c7a72e2df7077acf193873bf2a04ca6553233b83709ae3213c54bf350e1ac7b8a431cf076e845d97e1c68a32616eed54eade7404ba3e2e9bd7
+EBUILD librdkafka-0.11.4.ebuild 1236 BLAKE2B cd0ad6ac6ccfebbe37583fd03f3317f835bf7dda598e3b8c71b922b48db3541a28ac0462577ffdc62c9e219be4a6f1852cf6c591e7240626dda12bf5e636f5e6 SHA512 80e38fb2244bf009ea3102a34a10fc2de324576b77965583d04077af7281d00e6c259cef3a260eeb224eabc8fdb929ee9513bec19e6584f9c159022a9c335580
+MISC metadata.xml 533 BLAKE2B 51fa8b199e9126c2942044008614a47915d17ea2e11edbc4254e995ceddf71649018feed0655fa3a5a73d6d7f2c17ab0b4e963bd0b7f4922f1a3fbcd85e04052 SHA512 7f859dce01869e64712cb9042a1ab982255ec524334f2a1fbaf3f0e50fbc08bd3dd21e4bdf2ccef5b539aef94e0bfa2b7af95ef215cfddea4202608005934308
diff --git a/dev-libs/librdkafka/files/librdkafka-0.11.3-fix-memory-leak-issue1534.patch b/dev-libs/librdkafka/files/librdkafka-0.11.3-fix-memory-leak-issue1534.patch
new file mode 100644
index 000000000000..ae4c3e5bc81e
--- /dev/null
+++ b/dev-libs/librdkafka/files/librdkafka-0.11.3-fix-memory-leak-issue1534.patch
@@ -0,0 +1,19 @@
+https://github.com/edenhill/librdkafka/commit/8fed971043e642c195860cd77006622d23616c22
+
+--- a/src/rdkafka_msgset_writer.c
++++ b/src/rdkafka_msgset_writer.c
+@@ -436,10 +436,12 @@ rd_kafka_msgset_writer_write_msg_payload (rd_kafka_msgset_writer_t *msetw,
+ * room in the buffer we'll copy the payload to the buffer,
+ * otherwise we push a reference to the memory. */
+ if (rkm->rkm_len <= (size_t)rk->rk_conf.msg_copy_max_size &&
+- rd_buf_write_remains(&rkbuf->rkbuf_buf) > rkm->rkm_len)
++ rd_buf_write_remains(&rkbuf->rkbuf_buf) > rkm->rkm_len) {
+ rd_kafka_buf_write(rkbuf,
+ rkm->rkm_payload, rkm->rkm_len);
+- else
++ if (free_cb)
++ free_cb(rkm->rkm_payload);
++ } else
+ rd_kafka_buf_push(rkbuf, rkm->rkm_payload, rkm->rkm_len,
+ free_cb);
+ }
diff --git a/dev-libs/librdkafka/librdkafka-0.11.3-r1.ebuild b/dev-libs/librdkafka/librdkafka-0.11.3-r1.ebuild
new file mode 100644
index 000000000000..ef4921fdc0a1
--- /dev/null
+++ b/dev-libs/librdkafka/librdkafka-0.11.3-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit toolchain-funcs
+
+DESCRIPTION="Apache Kafka C/C++ client library"
+HOMEPAGE="https://github.com/edenhill/librdkafka"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 arm ~arm64 hppa ~ppc x86"
+
+ PATCHES=( "${FILESDIR}"/${P}-fix-memory-leak-issue1534.patch )
+fi
+
+LICENSE="BSD-2"
+
+# subslot = soname version
+SLOT="0/1"
+
+IUSE="lz4 sasl ssl static-libs"
+
+RDEPEND="
+ lz4? ( app-arch/lz4:= )
+ sasl? ( dev-libs/cyrus-sasl:= )
+ ssl? ( dev-libs/openssl:0= )
+ sys-libs/zlib
+"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ tc-export CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
+
+ local myeconf=(
+ --no-cache
+ --no-download
+ --disable-debug-symbols
+ $(use_enable lz4)
+ $(use_enable sasl)
+ $(usex static-libs '--enable-static' '')
+ $(use_enable ssl)
+ )
+
+ econf ${myeconf[@]}
+}
+
+src_test() {
+ emake -C tests run_local
+}
+
+src_install() {
+ local DOCS=(
+ README.md
+ CONFIGURATION.md
+ INTRODUCTION.md
+ )
+
+ default
+
+ if ! use static-libs; then
+ find "${ED}"usr/lib* -name '*.la' -o -name '*.a' -delete || die
+ fi
+}
diff --git a/dev-libs/librdkafka/librdkafka-0.11.4.ebuild b/dev-libs/librdkafka/librdkafka-0.11.4.ebuild
new file mode 100644
index 000000000000..00872b0eadc7
--- /dev/null
+++ b/dev-libs/librdkafka/librdkafka-0.11.4.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit toolchain-funcs
+
+DESCRIPTION="Apache Kafka C/C++ client library"
+HOMEPAGE="https://github.com/edenhill/librdkafka"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc x86"
+fi
+
+LICENSE="BSD-2"
+
+# subslot = soname version
+SLOT="0/1"
+
+IUSE="lz4 sasl ssl static-libs"
+
+RDEPEND="
+ lz4? ( app-arch/lz4:= )
+ sasl? ( dev-libs/cyrus-sasl:= )
+ ssl? ( dev-libs/openssl:0= )
+ sys-libs/zlib
+"
+
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ tc-export CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
+
+ local myeconf=(
+ --no-cache
+ --no-download
+ --disable-debug-symbols
+ $(use_enable lz4)
+ $(use_enable sasl)
+ $(usex static-libs '--enable-static' '')
+ $(use_enable ssl)
+ )
+
+ econf ${myeconf[@]}
+}
+
+src_test() {
+ emake -C tests run_local
+}
+
+src_install() {
+ local DOCS=(
+ README.md
+ CONFIGURATION.md
+ INTRODUCTION.md
+ )
+
+ default
+
+ if ! use static-libs; then
+ find "${ED}"usr/lib* -name '*.la' -o -name '*.a' -delete || die
+ fi
+}
diff --git a/dev-libs/librdkafka/metadata.xml b/dev-libs/librdkafka/metadata.xml
new file mode 100644
index 000000000000..1d277adeaf22
--- /dev/null
+++ b/dev-libs/librdkafka/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>whissi@gentoo.org</email>
+ <name>Thomas Deutschmann</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/edenhill/librdkafka/issues</bugs-to>
+ <remote-id type="github">edenhill/librdkafka</remote-id>
+ </upstream>
+ <use>
+ <flag name="lz4">Enable support for Kafka's LZ4 compression based on KIP-57 (uses <pkg>app-arch/lz4</pkg>)</flag>
+ </use>
+</pkgmetadata>