commit: 89222c66fb50f790c85b309866d3554d02fe72bf Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Sun Dec 21 13:54:19 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Dec 21 13:56:09 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=89222c66
net-irc/soju: add 0.10.1 Signed-off-by: Sam James <sam <AT> gentoo.org> net-irc/soju/Manifest | 2 + net-irc/soju/soju-0.10.1.ebuild | 84 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) diff --git a/net-irc/soju/Manifest b/net-irc/soju/Manifest index edcecc3c63fc..04632ff1a56b 100644 --- a/net-irc/soju/Manifest +++ b/net-irc/soju/Manifest @@ -1,3 +1,5 @@ +DIST soju-0.10.1-vendor.tar.xz 8281156 BLAKE2B 53333b949cc5be6a3a962388eee847315cf0cf3dfac9249e9c6179c413830cede7509d7c98e5abaf7fdb4f2dbbbc25ba0281e96eae56508c19eb8d7250fd51e7 SHA512 11a3412db1306739883050f58def5cd0e658dcf3091b8d4ce0b59fab0e1951f4e257c1adc0bada92bf44c184831b4be38917db1f6b144e5790e2f448086e0ad9 +DIST soju-0.10.1.tar.gz 171517 BLAKE2B 6386ed647c046b7aa3004c01e00b98b1edd9b031cabe74197c390e249a6fe7f85eb0a0e949c1a462656783ebaa311b35dcb475dc8155ae0fdf7bd90ba31c4d75 SHA512 9c7367e6a0371f232b25269942fd384410f21aa76713024e66ca11b4b8a81716d20567931b36a178beaaacfa32c169adb755e484d826df31270d3e7f10b4f468 DIST soju-0.8.2-deps.tar.xz 72699036 BLAKE2B 5abfa3d683a0f06be7361bfeec751b6f4892fde51f1d9216cca163eac125e72f68a8116279b16b8ce6f5076293b7ad67b6098f887ac3cea3f099f2b27643ed48 SHA512 64fa60a90a33021661f51f2f6456bf8f2e8d01282143ad41b966ade105e6b4f2310f83f81f45bcea6baa2f76857e549f1548844ec1c3f17c1f1e0615523ef813 DIST soju-0.8.2.tar.gz 155059 BLAKE2B 17f220440c8135abeb570808d7a4cb5cdb6993c076ffe9eb2fa0bb0e8487f9b29831049b2702692cc0903277399603dbe8e0ad27ed6356b932c29979a6eeddef SHA512 7e5bc27394223c021ce6e1b9d93b617ade5bd803f37e030ea05e079efdf343ff0128753803a2e1c86ca2c83786bdaf21600cb6457b4404dd0cf2ff0e5646c62b DIST soju-0.9.0-deps.tar.xz 165948980 BLAKE2B b6274b4b5fefd003c03948c58fcfb20095c9c27e3f9d6bb74155bc5cb63a53cce47727eecbe8d0a4e9b9ca37a7cd0beab8f98ac86787b3d4ad42a0405da46df8 SHA512 7bca581b5d455d761d16ae8786e3cc7ee5aff658dc1ae942aa9d220cc311320a3c00a7c303f3bc99965c4aa6337c31255d0d5a140220974938fc341c9beeac66 diff --git a/net-irc/soju/soju-0.10.1.ebuild b/net-irc/soju/soju-0.10.1.ebuild new file mode 100644 index 000000000000..d1199da921b5 --- /dev/null +++ b/net-irc/soju/soju-0.10.1.ebuild @@ -0,0 +1,84 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit go-module systemd tmpfiles + +DESCRIPTION="soju is a user-friendly IRC bouncer" +HOMEPAGE="https://soju.im/" +SRC_URI="https://codeberg.org/emersion/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +SRC_URI+=" https://github.com/gentoo-golang-dist/soju/releases/download/v${PV}/${P}-vendor.tar.xz" + +LICENSE="AGPL-3 Apache-2.0 MIT BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~riscv" +IUSE="moderncsqlite +sqlite pam" +REQUIRED_USE="?? ( moderncsqlite sqlite )" + +BDEPEND=" + app-text/scdoc +" +RDEPEND=" + acct-user/soju + acct-group/soju + sqlite? ( dev-db/sqlite:3 ) +" +DEPEND="${RDEPEND}" + +src_prepare() { + cp -r "${WORKDIR}"/${PN} -T "${S}" || die + default +} + +src_compile() { + # musl removed legacy LFS64 interfaces in version 1.2.4 temporarily + # reenabled using _LARGEFILE64_SOURCE until this is resolved + # upstream https://github.com/mattn/go-sqlite3/issues/1164 + CGO_CFLAGS="${CGO_CFLAGS}" + if use sqlite; then + GOFLAGS+=" -tags=libsqlite3" + CGO_CFLAGS="-D_LARGEFILE64_SOURCE" + elif use moderncsqlite; then + GOFLAGS+=" -tags=moderncsqlite" + CGO_CFLAGS="-D_LARGEFILE64_SOURCE" + else + GOFLAGS+=" -tags=nosqlite" + fi + # Only way to pass CFLAGS to CGO at the + # moment. https://github.com/gentoo/gentoo/pull/33539/ + export CGO_CFLAGS + use pam && GOFLAGS+=" -tags=pam" + + ego build ${GOFLAGS} ./cmd/soju + ego build ${GOFLAGS} ./cmd/sojudb + ego build ${GOFLAGS} ./cmd/sojuctl + + scdoc <doc/soju.1.scd >doc/soju.1 || die + scdoc <doc/sojuctl.1.scd >doc/sojuctl.1 || die +} + +src_install() { + dobin soju + dobin sojudb + dobin sojuctl + + doman doc/soju.1 + doman doc/sojuctl.1 + systemd_dounit contrib/soju.service + + newtmpfiles "${FILESDIR}/soju.tmpfiles" soju.conf + + keepdir /etc/soju + insinto /etc/soju + newins config.in config + newinitd "${FILESDIR}"/soju.initd soju + einstalldocs +} + +pkg_postinst() { + tmpfiles_process soju.conf + + elog "${PN} requires a user database for authenticating clients." + elog "As the soju user, create a database using:" + elog "$ sojudb -config ${EROOT}/etc/soju/config create-user <username> [-admin]" +}
