summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-libs/librdkafka/Manifest1
-rw-r--r--dev-libs/librdkafka/librdkafka-2.2.0.ebuild106
2 files changed, 107 insertions, 0 deletions
diff --git a/dev-libs/librdkafka/Manifest b/dev-libs/librdkafka/Manifest
index d309b6eb4f09..3a72062c282c 100644
--- a/dev-libs/librdkafka/Manifest
+++ b/dev-libs/librdkafka/Manifest
@@ -1,2 +1,3 @@
DIST librdkafka-1.8.2.tar.gz 4097028 BLAKE2B 37a3190417e973ea4629012e358ff61cda45eb0134448dd0054fd1f1cac57f3543b133331b0b0d518f219f30f79f7665a214c75084d6a8474687b7e686395724 SHA512 8c8ae291129b78e3b8367307ad1b1715af1438cd76d7160d64d13a58adf84c7c9f51efeba4656f55e101c25e4cb744db0d8bb5c01a2decb229e4567d16bdcb22
DIST librdkafka-2.1.1.tar.gz 4281061 BLAKE2B 8200c2aee0d04109cb78f13b186cf907f3260ee6a17a2fffc4f7706ed9cbea9436eb31d17167e9af783495ef2365f7401bbdc671d5a8d7e7f2ecb9b5c7d57fbb SHA512 6bf1761e7ed1820b587fda24277f6606ec046da281064df13c4380f49a92f3e2b165614b9c622d46b27078ec024a4dc211610e500e597265e8219f8869c4d203
+DIST librdkafka-2.2.0.tar.gz 4340164 BLAKE2B 394c9fd25db0a3a02b16fec3d5d5acc4808b4c8a6c8e025e71f15a91c6311206bf4d7c863860be36483c150bb10955cdc98ba0f088fa493b20ae52154e2a83d0 SHA512 1a85b5864efdeece1327e461b62a378f24b73eb7174168f630aeff01d4a5074d6b2f15744bc267665fcfc6384e804df00c20b7271ecd85a98dca84746b86b4d9
diff --git a/dev-libs/librdkafka/librdkafka-2.2.0.ebuild b/dev-libs/librdkafka/librdkafka-2.2.0.ebuild
new file mode 100644
index 000000000000..765477947b5f
--- /dev/null
+++ b/dev-libs/librdkafka/librdkafka-2.2.0.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit python-any-r1 toolchain-funcs
+
+DESCRIPTION="Apache Kafka C/C++ client library"
+HOMEPAGE="https://github.com/confluentinc/librdkafka"
+
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/confluentinc/${PN}.git"
+
+ inherit git-r3
+else
+ SRC_URI="https://github.com/confluentinc/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+fi
+
+LICENSE="BSD-2"
+
+# subslot = soname version
+SLOT="0/1"
+
+IUSE="lz4 sasl ssl static-libs zstd"
+
+LIB_DEPEND="
+ lz4? ( app-arch/lz4:=[static-libs(+)] )
+ sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
+ ssl? ( dev-libs/openssl:0=[static-libs(+)] )
+ zstd? ( app-arch/zstd:=[static-libs(+)] )
+ sys-libs/zlib:=[static-libs(+)]
+"
+
+BDEPEND="
+ virtual/pkgconfig
+ ${PYTHON_DEPS}
+"
+
+RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
+
+DEPEND="
+ ${RDEPEND}
+ static-libs? ( ${LIB_DEPEND} )
+"
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} != "9999" ]]; then
+ sed -i \
+ -e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
+ tests/run-test.sh || die
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
+
+ local myeconf=(
+ --prefix="${EPREFIX}/usr"
+ --build="${CBUILD}"
+ --host="${CHOST}"
+ --mandir="${EPREFIX}/usr/share/man"
+ --infodir="${EPREFIX}/usr/share/info"
+ --datadir="${EPREFIX}/usr/share"
+ --sysconfdir="${EPREFIX}/etc"
+ --localstatedir="${EPREFIX}/var"
+ --libdir="${EPREFIX}/usr/$(get_libdir)"
+ --no-cache
+ --no-download
+ --disable-debug-symbols
+ $(use_enable lz4)
+ $(use_enable sasl)
+ $(usex static-libs '--enable-static' '')
+ $(use_enable ssl)
+ $(use_enable zstd)
+ )
+
+ ./configure ${myeconf[@]} || die
+}
+
+src_test() {
+ # Simulate CI so we do not fail when tests are running longer than expected,
+ # https://github.com/confluentinc/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
+ local -x CI=true
+
+ emake -C tests run_local
+}
+
+src_install() {
+ emake -j1 \
+ DESTDIR="${D}" \
+ docdir="/usr/share/doc/${PF}" \
+ install
+
+ if ! use static-libs; then
+ find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
+ fi
+}