summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-im/conduit/conduit-9999.ebuild89
1 files changed, 89 insertions, 0 deletions
diff --git a/net-im/conduit/conduit-9999.ebuild b/net-im/conduit/conduit-9999.ebuild
new file mode 100644
index 0000000..b5129dc
--- /dev/null
+++ b/net-im/conduit/conduit-9999.ebuild
@@ -0,0 +1,89 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Autogenerated by pycargoebuild 0.13.2
+
+EAPI=8
+
+inherit cargo systemd
+
+DESCRIPTION="A Matrix homeserver written in Rust"
+HOMEPAGE="https://conduit.rs"
+
+if [[ ${PV} = 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.com/famedly/${PN}.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://gitlab.com/famedly/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.bz2
+ ${CARGO_CRATE_URIS}
+ "
+ KEYWORDS="~amd64 ~arm64"
+ S="${WORKDIR}/${PN}-v${PV}"
+fi
+
+LICENSE="Apache-2.0"
+# Manually inspected crate licenses
+LICENSE+="
+ ISC openssl MIT
+"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 BSD-2 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 ZLIB
+"
+SLOT="0"
+
+IUSE="+rocksdb"
+
+BDEPEND="
+ virtual/rust
+ rocksdb? (
+ virtual/pkgconfig
+ sys-devel/clang
+ )
+"
+DEPEND="
+ rocksdb? ( dev-libs/rocksdb )
+"
+RDEPEND="${DEPEND}"
+
+src_unpack() {
+ if [[ ${PV} = 9999 ]]; then
+ git-r3_src_unpack
+ cargo_live_src_unpack
+ else
+ cargo_src_unpack
+ fi
+}
+
+src_configure() {
+ # See https://wiki.gentoo.org/wiki/Writing_Rust_ebuilds#Unbundling_C_libraries
+ local ld="${ESYSROOT}/usr/$(get_libdir)"
+ export PKG_CONFIG_ALLOW_CROSS=1
+
+ # This mess seems to be required based on librocksdb-sys' build.rs.
+ export ROCKSDB_LIB_DIR="${ld}"
+ export SNAPPY_LIB_DIR="${ld}"
+ export LZ4_LIB_DIR="${ld}"
+ export Z_LIB_DIR="${ld}"
+ export BZ2_LIB_DIR="${ld}"
+ export ZSTD_LIB_DIR="${ld}"
+ export ZSTD_SYS_USE_PKG_CONFIG=1
+
+ local myfeatures=(
+ backend_sqlite
+ systemd
+ conduit_bin
+ persy
+ $(usev rocksdb backend_rocksdb)
+ )
+ cargo_src_configure --no-default-features
+}
+
+src_install() {
+ local target_dir="$(usex debug debug release)"
+ dobin target/"${target_dir}"/conduit
+
+ systemd_dounit "${FILESDIR}"/matrix-conduit.service
+ dodoc README.md LICENSE conduit-example.toml
+}