pimsync-0.5.8jacksonchen666
download
# Copyright 2026 JacksonChen666
# Distributed under the terms of the GNU General Public License v2
# Autogenerated by pycargoebuild 0.15.1
EAPI=8
CRATES="
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]+wasi-snapshot-preview1
[email protected]+wasi-0.2.4
[email protected]+wasi-0.2.4
[email protected]+wasi-0.3.0-rc-2026-01-06
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
"
RUST_MIN_VER="1.88.0"
inherit cargo shell-completion systemd
DESCRIPTION="Synchronize calendars and contacts (vdirsyncer rewrite)"
HOMEPAGE="https://pimsync.whynothugo.nl/"
# vstorage doesn't have a v0.8.0 tag yet, for some reason. so commit hash
# instead. 2026-05-09T07:24:38+02:00
SRC_URI="
https://git.sr.ht/~whynothugo/pimsync/archive/v${PV}.tar.gz -> ${P}.tar.gz
${CARGO_CRATE_URIS}
https://git.sr.ht/~whynothugo/vstorage/archive/f77520288df1a2c439bbe578289aa8c3f2c2b972.tar.gz ->
vstorage-f77520288df1a2c439bbe578289aa8c3f2c2b972.tar.gz
https://git.sr.ht/~whynothugo/libdav/archive/v0.10.4.tar.gz -> libdav-0.10.4.tar.gz
https://git.sr.ht/~whynothugo/libjmap/archive/2fb17ed328d4d7692ffd64024f67e908c574c0a3.tar.gz ->
libjmap-2fb17ed328d4d7692ffd64024f67e908c574c0a3.tar.gz
"
S="${WORKDIR}/${PN}-v${PV}"
# upstream asks for this, build script requires this
export PIMSYNC_VERSION="${PVR}+jacksonchen666-gentoo"
# https://pimsync.whynothugo.nl/install.html#requirements
# make is a @system dependency
DEPEND="
dev-db/sqlite
doc? (
app-text/mandoc
dev-python/sphinx
)
"
LICENSE="EUPL-1.2"
# Dependent crate licenses
LICENSE+=" Apache-2.0 BSD EUPL-1.2 ISC MIT MPL-2.0 Unicode-3.0 ZLIB"
SLOT="0"
KEYWORDS="~amd64"
IUSE="jmap doc lto"
# no mirrors available
RESTRICT="mirror"
src_configure() {
local myfeatures=(
$(usev jmap)
)
cargo_src_configure
}
src_prepare() {
default
if use lto; then
sed -E -i 's/lto = .*/lto = true/' Cargo.toml || die
else
sed -E -i 's/lto = .*/lto = false/' Cargo.toml || die
fi
}
src_unpack() {
# this seems to unpack everything else too, even the other .tar.gz, even
# though that won't be used as it's unpacked into directories
# separately. that will be used in this ebuild
cargo_src_unpack
# due to 16fe0fc in upstream pimsync making the vstorage rust dependency
# a git submodule, the same must be emulated (or it could be reverted
# for whatever reason, but not sure about that).
#
# the submodules:
# ./vstorage
# ./vstorage/libdav
# ./vstorage/libjmap (optional dependency, but cargo refuses to work
# without it)
cd "$S"
rmdir vstorage || die
mv "${WORKDIR}/vstorage-"* "vstorage/" || die
cd "./vstorage"
rmdir libdav libjmap || die
mv "${WORKDIR}/libdav-"* "libdav" || die
mv "${WORKDIR}/libjmap-"* "libjmap" || die
}
src_compile() {
cargo_src_compile
if use doc; then
emake docs
HTML_DOCS="${S}/docs/build/html/"
fi
}
src_install() {
cargo_src_install
doman pimsync.1
doman pimsync.conf.5
doman pimsync-migration.7
dozshcomp contrib/_pimsync
exeinto /etc/user/init.d
newexe contrib/pimsync.openrc pimsync
systemd_douserunit "${FILESDIR}/pimsync.service"
if use doc; then
einstalldocs
fi
}
src_test() {
local CARGO_SKIP_TESTS=(
sync_vdir_to_xandikos_via_unix_socket # uses external program
)
cargo_src_test
}
# XXX: test jmap functionality
# TODO: linux-raw-sys
# TODO: inotify-sys