commit:     3689190e77a22a41181390ff2b38746733046456
Author:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 18 18:49:55 2025 +0000
Commit:     Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Jul 18 18:50:12 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3689190e

app-shells/atuin: add 18.7.1

Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>

 app-shells/atuin/Manifest            |   2 +
 app-shells/atuin/atuin-18.7.1.ebuild | 141 +++++++++++++++++++++++++++++++++++
 2 files changed, 143 insertions(+)

diff --git a/app-shells/atuin/Manifest b/app-shells/atuin/Manifest
index 6487d67f4296..10e5c6199f7a 100644
--- a/app-shells/atuin/Manifest
+++ b/app-shells/atuin/Manifest
@@ -1,2 +1,4 @@
 DIST atuin-18.6.1-crates.tar.xz 43525080 BLAKE2B 
2b8eac104e61d506191d1027e1b73e09bdd177fb8d88fd50affdd57c146a7e57e1dcebc8ed524d4f052b4c9eb3df384324eb753ccf2535d0272c44166ad44b8b
 SHA512 
2c4d54b83db7101ae81ea3c0965249dab0143e4175ca7632d36fd9d3f9e1f8d29284c18742b8d16f8b1c8b430e2f76cdc905778da2fda11c13bb9ceface60144
 DIST atuin-18.6.1.tar.gz 666475 BLAKE2B 
64a072ce2cd683184f12886ffac94a580cddd09c5beb5f936cdecb3fe7afe7db2380529b9dc74cf7c967fa50a8d23491d571b3af8befad326ffef338a00096b1
 SHA512 
c1a75935ea4a5335315841e767c89cb2da5374449943497bbad8744e12fe2e64c49bb442f3987fd5cf4707dccfa2a066df3d7abcbf7a7ddadde29a6c9fcf5c56
+DIST atuin-18.7.1-crates.tar.xz 43525080 BLAKE2B 
2b8eac104e61d506191d1027e1b73e09bdd177fb8d88fd50affdd57c146a7e57e1dcebc8ed524d4f052b4c9eb3df384324eb753ccf2535d0272c44166ad44b8b
 SHA512 
2c4d54b83db7101ae81ea3c0965249dab0143e4175ca7632d36fd9d3f9e1f8d29284c18742b8d16f8b1c8b430e2f76cdc905778da2fda11c13bb9ceface60144
+DIST atuin-18.7.1.tar.gz 671392 BLAKE2B 
552c69f9774d556b68bf7e46069a611d90f7976bd90d9f1cb15c7dbc2849ec66983b77f34bfcce5f4294ef7c29337f2c6c2eadc3082c1d660d79c75e6cde5e15
 SHA512 
a60384dffd49a1455455324bb5b3e74073ee1594e74bd39bff8a22cd6c6502f76b8d1d86d3f130e66fc3aacc8dbaddb1a67ddf273d9037f623ce2e36809889d7

diff --git a/app-shells/atuin/atuin-18.7.1.ebuild 
b/app-shells/atuin/atuin-18.7.1.ebuild
new file mode 100644
index 000000000000..5ee9a1e6c3c5
--- /dev/null
+++ b/app-shells/atuin/atuin-18.7.1.ebuild
@@ -0,0 +1,141 @@
+# 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 readme.gentoo-r1 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 )
+"
+DEPEND="dev-db/sqlite:3"
+RDEPEND="${DEPEND}
+       server? ( acct-user/atuin )
+"
+BDEPEND="test? ( dev-db/postgresql )"
+
+QA_FLAGS_IGNORED="usr/bin/${PN}"
+
+DISABLE_AUTOFORMATTING=1
+
+DOCS=( CONTRIBUTING.md CONTRIBUTORS README.md )
+
+src_configure() {
+       export LIBSQLITE3_SYS_USE_PKG_CONFIG=1
+       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() {
+       readme.gentoo_create_doc
+       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
+}
+
+pkg_postinst() {
+       readme.gentoo_print_elog
+}

Reply via email to