commit:     dda85339144351783d56329cf286d2822ba4c5fd
Author:     Jonas Frei <freijon <AT> pm <DOT> me>
AuthorDate: Thu Apr 17 12:07:13 2025 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Wed Apr 23 17:35:11 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dda85339

app-shells/atuin: add 18.5.0

Signed-off-by: Jonas Frei <freijon <AT> pm.me>
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-shells/atuin/Manifest            |   2 +
 app-shells/atuin/atuin-18.5.0.ebuild | 144 +++++++++++++++++++++++++++++++++++
 2 files changed, 146 insertions(+)

diff --git a/app-shells/atuin/Manifest b/app-shells/atuin/Manifest
index d26054d75b42..61913ba74f6c 100644
--- a/app-shells/atuin/Manifest
+++ b/app-shells/atuin/Manifest
@@ -2,3 +2,5 @@ DIST atuin-18.3.0-crates.tar.xz 38525648 BLAKE2B 
e101d155bac99911055d0becdb01174
 DIST atuin-18.3.0.tar.gz 1592935 BLAKE2B 
97e3f84e3ba67101911de145c277f6b96bcfea86fa143d837d28a40ba26b7967364549f2b61c5be6fa20fd3770b82a2224fed65b4f301e6c25ca181deb285081
 SHA512 
cdee7029ad7c3c47af4653135d74c660b9275e8dfbc872a2b177896fc919c0062748f5d8cc9a39cc3a3f9e0b952c37eea30e4d1ad01fc2ed89196e451e0de3bc
 DIST atuin-18.4.0-crates.tar.xz 51123080 BLAKE2B 
c7266f1e8379a506fe3c5d66130b6f975fd64b58a408d11371207b9d825ebf3b80cef79d3e5076accfe539ea0f6918c21e5ec6784404b234bd41f0f8d008fa29
 SHA512 
38167c5f82eb4338b6f7cab0630e53b86b384a4618408d909097d02fe2c408a94700a07aaf6ede7cfc09fa5a117af2a4825cce41201cf541b2fdeb1510383884
 DIST atuin-18.4.0.tar.gz 641540 BLAKE2B 
234066aee376311a2336b35baf9114d3f52a8d71a5613a9d1f5d449bfce1087be20d7ebf92c8198c79d55359f53ad377334e1ea8f622b6580c8f10d1fa53b4df
 SHA512 
26728549a52cc37dfc4d2e42cae73d5a3bb0475233b2dc88dcb7446aba355b78970601e8693fcfa5eb19658b544b7c92f20bd9e19a1a75a1cef30bec27426e03
+DIST atuin-18.5.0-crates.tar.xz 43441568 BLAKE2B 
a6b3315429c441d1d4449ba962bad07320b8058a88269989e851d0925ff16ea1156ddee4b787a2bdbbeaf9d20445c3bd7157233b5ab032b1586c8e579f66d2b2
 SHA512 
57aeb6a361d11bb42d918ff9d55f2b7e73b487dfec3edf4f63726ed2b349e53d6450029a00a5c34a64f454d2f82b6084e554882125b62ee10b6c1d40b07fe7bf
+DIST atuin-18.5.0.tar.gz 664804 BLAKE2B 
72044a3fbf06e57c08cd10d8d4a70b08807f0e078367dac84e5c5411946346041308ddef1d88b6ceb82e281ea08c1a48aae5e8446881e62c3666d2e8af3ceb6d
 SHA512 
7f493ccd9c23b898e46238001752e20317be010bc2871cccf24f64770d5fbd3c45d6fba8e2143651f126f0119ef348fb543cb0017be6fd5738c6217bd6921eaf

diff --git a/app-shells/atuin/atuin-18.5.0.ebuild 
b/app-shells/atuin/atuin-18.5.0.ebuild
new file mode 100644
index 000000000000..9a0177e592f9
--- /dev/null
+++ b/app-shells/atuin/atuin-18.5.0.ebuild
@@ -0,0 +1,144 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES=""
+
+RUST_MIN_VER="1.86"
+
+inherit cargo greadme shell-completion systemd
+
+DESCRIPTION="Shell history manager supporting encrypted synchronisation"
+HOMEPAGE="https://atuin.sh https://github.com/atuinsh/atuin";
+SRC_URI="https://github.com/atuinsh/${PN}/archive/refs/tags/v${PV}.tar.gz -> 
${P}.tar.gz"
+SRC_URI+=" 
https://github.com/gentoo-crate-dist/atuin/releases/download/v${PV}/${P}-crates.tar.xz";
+
+LICENSE="MIT"
+# Dependent crate licenses
+# - openssl for ring crate
+LICENSE+=" Apache-2.0 BSD Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="+client +daemon server test +sync"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="
+       || ( client server )
+       sync? ( client )
+       test? ( client server sync )
+"
+RDEPEND="server? ( acct-user/atuin )"
+DEPEND="test? ( dev-db/postgresql )"
+
+QA_FLAGS_IGNORED="usr/bin/${PN}"
+
+GREADME_DISABLE_AUTOFORMAT=1
+
+DOCS=(
+       CONTRIBUTING.md
+       CONTRIBUTORS
+       README.md
+)
+
+src_configure() {
+       local myfeatures=(
+               $(usev client)
+               $(usev daemon)
+               $(usev server)
+               $(usev sync)
+       )
+       cargo_src_configure --no-default-features
+}
+
+src_compile() {
+       cargo_src_compile
+
+       ATUIN_BIN="$(cargo_target_dir)/${PN}"
+
+       # Prepare shell completion generation
+       mkdir completions || die
+       local shell
+       for shell in bash fish zsh; do
+               "${ATUIN_BIN}" gen-completions \
+                                        -s ${shell} \
+                                        -o completions \
+                       || die
+       done
+
+       if ! use client; then
+               return 0
+       fi
+
+       mkdir shell-init || die
+       for shell in bash fish zsh; do
+               "${ATUIN_BIN}" init ${shell} > shell-init/${shell} || die
+       done
+}
+
+src_test() {
+       local postgres_dir="${T}"/postgres
+       initdb "${postgres_dir}" || die
+
+       local port=11123
+       # -h '' → only socket connections allowed.
+       postgres -D "${postgres_dir}" \
+                        -k "${postgres_dir}" \
+                        -p "${port}" &
+       local postgres_pid=${!}
+
+       local timeout_secs=30
+       timeout "${timeout_secs}" bash -c \
+                       'until printf "" >/dev/tcp/${0}/${1} 2>> 
"${T}/portlog"; do sleep 1; done' \
+                       localhost "${port}" || die "Timeout waiting for 
postgres port ${port} to become available"
+
+       psql -h localhost -p "${port}" -d postgres <<-EOF || die "Failed to 
configure postgres"
+       create database atuin;
+       create user atuin with encrypted password 'pass';
+       grant all privileges on database atuin to atuin;
+       \connect atuin
+       grant all on schema public to atuin;
+       EOF
+
+       # Subshell so that postgres_pid is in scope when the trap is executed.
+       (
+               cleanup() {
+                       kill "${postgres_pid}" || die "failed to send SIGTERM 
to postgres"
+               }
+               trap cleanup EXIT
+
+               ATUIN_DB_URI="postgres://atuin:pass@localhost:${port}/atuin" 
cargo_src_test
+       )
+}
+
+src_install() {
+       dobin "${ATUIN_BIN}"
+
+       if use server; then
+               systemd_dounit "${FILESDIR}/atuin.service"
+       fi
+
+       dodoc -r "${DOCS[@]}"
+
+       newbashcomp "completions/${PN}.bash" "${PN}"
+       dozshcomp "completions/_${PN}"
+       dofishcomp "completions/${PN}.fish"
+
+       if use daemon; then
+               systemd_douserunit "${FILESDIR}"/atuin-daemon.{service,socket}
+       fi
+
+       if ! use client; then
+               return 0
+       fi
+
+       insinto "/usr/share/${PN}"
+       doins -r shell-init
+
+       greadme_stdin <<-EOF
+       Gentoo installs atuin's shell-init code under
+           /usr/share/atuin/shell-init/
+       Therefore, instead of using, e.g., 'eval \"\$(atuin init zsh)\"' in
+       your .zshrc you can simply put \"source 
/usr/share/atuin/shell-init/zsh\"
+       there, which avoids the cost of forking a process.
+EOF
+}

Reply via email to