public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Anna Vyalkova" <cyber+gentoo@sysrq.in>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/proj/guru:dev commit in: net-im/conduit/
Date: Tue, 07 Jan 2025 19:59:23 +0000 (UTC)	[thread overview]
Message-ID: <1736279939.e73850c45728d03f15d798b1224a15584b6120b0.cybertailor@gentoo> (raw)

commit:     e73850c45728d03f15d798b1224a15584b6120b0
Author:     Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
AuthorDate: Tue Jan  7 17:52:36 2025 +0000
Commit:     Anna Vyalkova <cyber+gentoo <AT> sysrq <DOT> in>
CommitDate: Tue Jan  7 19:58:59 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=e73850c4

net-im/conduit: use llvm-r2 eclass

Signed-off-by: Anna (cybertailor) Vyalkova <cyber+gentoo <AT> sysrq.in>

 net-im/conduit/conduit-0.9.0-r1.ebuild | 39 ++++++++++++++++++++++++----------
 1 file changed, 28 insertions(+), 11 deletions(-)

diff --git a/net-im/conduit/conduit-0.9.0-r1.ebuild b/net-im/conduit/conduit-0.9.0-r1.ebuild
index 8f3ceb4b9..7b8501af8 100644
--- a/net-im/conduit/conduit-0.9.0-r1.ebuild
+++ b/net-im/conduit/conduit-0.9.0-r1.ebuild
@@ -1,8 +1,6 @@
-# Copyright 2023-2024 Gentoo Authors
+# Copyright 2023-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-# Auto-Generated by cargo-ebuild 0.5.4
-
 EAPI=8
 
 CRATES="
@@ -373,6 +371,8 @@ CRATES="
 	zune-core@0.4.12
 	zune-jpeg@0.4.11
 "
+LLVM_COMPAT=( {15..19} )
+RUST_MIN_VER="1.79.0"
 
 declare -A GIT_CRATES=(
 	[ruma-appservice-api]='https://github.com/ruma/ruma;c06af4385e0e30c48a8e9ca3d488da32102d0db9;ruma-%commit%/crates/ruma-appservice-api'
@@ -390,9 +390,7 @@ declare -A GIT_CRATES=(
 	[ruma]='https://github.com/ruma/ruma;c06af4385e0e30c48a8e9ca3d488da32102d0db9;ruma-%commit%/crates/ruma'
 )
 
-RUST_MIN_VER="1.75.0"
-
-inherit cargo systemd toolchain-funcs
+inherit cargo llvm-r2 systemd toolchain-funcs
 
 MY_P="${PN}-v${PV}"
 DESCRIPTION="Matrix homeserver written in Rust"
@@ -430,7 +428,7 @@ IUSE="jemalloc rocksdb system-rocksdb"
 #	- app-arch/lz4 ("lz4-sys" crate doesn't look for system library... ironic)
 #	- dev-db/sqlite:3 ("conduit" pulls "rusqlite[bundled]" explicitly)
 #	- sys-libs/zlib ("rust-librocksdb-sys" pulls "libz-sys[static]" by default)
-DEPEND="
+COMMON_DEPEND="
 	jemalloc? ( dev-libs/jemalloc:= )
 	rocksdb? (
 		app-arch/snappy:=
@@ -438,13 +436,21 @@ DEPEND="
 		system-rocksdb? ( dev-libs/rocksdb )
 	)
 "
-RDEPEND="${DEPEND}
+RDEPEND="${COMMON_DEPEND}
 	acct-user/conduit
 	app-misc/ca-certificates
 "
+# clang needed for bindgen
+DEPEND="${COMMON_DEPEND}
+	rocksdb? (
+		$(llvm_gen_dep '
+			llvm-core/clang:${LLVM_SLOT}
+			llvm-core/llvm:${LLVM_SLOT}
+		')
+	)
+"
 BDEPEND="
 	rocksdb? (
-		llvm-core/clang
 		virtual/pkgconfig
 	)
 "
@@ -453,9 +459,12 @@ DOCS=( {APPSERVICES,CODE_OF_CONDUCT,DEPLOY,README,TURN}.md )
 
 QA_FLAGS_IGNORED="usr/bin/${PN}"
 
-src_configure() {
-	tc-export AR CC
+pkg_setup() {
+	use rocksdb && llvm-r2_pkg_setup
+	rust_pkg_setup
+}
 
+src_configure() {
 	# Tracker bug for that Cargo nonsense:
 	# https://bugs.gentoo.org/709568
 	export PKG_CONFIG_ALLOW_CROSS=1
@@ -466,6 +475,14 @@ src_configure() {
 	if use system-rocksdb; then
 		export ROCKSDB_INCLUDE_DIR="${ESYSROOT}/usr/include"
 		export ROCKSDB_LIB_DIR="${ESYSROOT}/usr/$(get_libdir)"
+	elif use rocksdb; then
+		# Rust uses 'gcc' or 'clang' (not 'g++' or 'clang++'), so C++ standard
+		# library needs to be linked explicitly.
+		if [[ $(tc-get-cxx-stdlib) == "libstdc++" ]]; then
+			append-ldflags -lstdc++
+		elif [[ $(tc-get-cxx-stdlib) == "libc++" ]]; then
+			append-ldflags -lc++
+		fi
 	fi
 
 	local myfeatures=(


             reply	other threads:[~2025-01-07 19:59 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-07 19:59 Anna Vyalkova [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-10-10  2:46 [gentoo-commits] repo/proj/guru:dev commit in: net-im/conduit/ Anna Vyalkova
2024-09-15 21:41 Julien Roy
2024-09-15 19:03 Julien Roy
2024-06-29  2:08 Anna Vyalkova
2024-06-29  2:08 Anna Vyalkova
2024-04-25 18:58 Anna Vyalkova
2023-10-16 21:20 Julien Roy
2023-08-30 23:16 Julien Roy
2023-03-31 15:54 Julien Roy
2023-03-31 15:47 Julien Roy
2023-03-31 15:47 Julien Roy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1736279939.e73850c45728d03f15d798b1224a15584b6120b0.cybertailor@gentoo \
    --to=cyber+gentoo@sysrq.in \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox