diff --git a/dev-lua/lua-utf8/Manifest b/dev-lua/lua-utf8/Manifest index b867fe622a423..64dcdb8c66e84 100644 --- a/dev-lua/lua-utf8/Manifest +++ b/dev-lua/lua-utf8/Manifest @@ -1 +1,2 @@ DIST lua-utf8-0.1.5.tar.gz 47986 BLAKE2B 8902649f71b9b2f982278bfa697309474013f4b15788e268ee73aaeb80ceda93a03178ca00918c96478fa66623dbcea8b5bde89e216d8c73a18e9fe38aec7509 SHA512 2f7f1e80c27012d2ebcf3da8e9367f00dda9f7b1a7d4adee265ee37ab12a78ef7c94930945e88f060f0ec4186174dd87af80a50917d3b22a71c84f67b0df12d0 +DIST lua-utf8-0.2.0.tar.gz 550106 BLAKE2B 733ae135b5d7db2e6d0564e1b22cefbf2b915924f7d20a4c9d9aaef75e0a70a0ca069d67ac65864343cb1103ac4a0935e255f7a6239a13cb96cbae1de3fc2e78 SHA512 2bd24e9a20099bfa2dc164f1aab3333583ae5de3738155938114a5e08231d76d9380054629501b35b8236caa61777ef1f3654da1901c471a0da077cde50e0b59 diff --git a/dev-lua/lua-utf8/lua-utf8-0.2.0.ebuild b/dev-lua/lua-utf8/lua-utf8-0.2.0.ebuild new file mode 100644 index 0000000000000..b21c200762c5c --- /dev/null +++ b/dev-lua/lua-utf8/lua-utf8-0.2.0.ebuild @@ -0,0 +1,82 @@ +# Copyright 2020-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1..4} luajit ) + +inherit lua toolchain-funcs + +DESCRIPTION="A UTF-8 support module for Lua and LuaJIT" +HOMEPAGE="https://github.com/starwing/luautf8" +SRC_URI="https://github.com/starwing/luautf8/archive/${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN//-/}-${PV}" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="test" +REQUIRED_USE="${LUA_REQUIRED_USE}" +RESTRICT="!test? ( test )" + +RDEPEND="${LUA_DEPS}" +DEPEND="${RDEPEND}" +BDEPEND="virtual/pkgconfig" + +lua_src_compile() { + local compiler=( + "$(tc-getCC)" + "${CFLAGS}" + "-fPIC" + "${LDFLAGS}" + "$(lua_get_CFLAGS)" + "-c lutf8lib.c" + "-o lutf8lib-${ELUA}.o" + ) + einfo "${compiler[@]}" + ${compiler[@]} || die + + local linker=( + "$(tc-getCC)" + "-shared" + "${LDFLAGS}" + "-o lutf8lib-${ELUA}.so" + "lutf8lib-${ELUA}.o" + ) + einfo "${linker[@]}" + ${linker[@]} || die +} + +src_compile() { + lua_foreach_impl lua_src_compile +} + +lua_src_test() { + local mytests=( + "test.lua" + "test_compat.lua" + "test_pm.lua" + ) + + for mytest in ${mytests[@]}; do + LUA_CPATH="${S}/lutf8lib-${ELUA}.so" ${ELUA} ${mytest} || die + done +} + +src_test() { + lua_foreach_impl lua_src_test +} + +lua_src_install() { + exeinto "$(lua_get_cmod_dir)" + newexe "lutf8lib-${ELUA}.so" "lua-utf8.so" + + insinto "$(lua_get_lmod_dir)" + doins parseucd.lua +} + +src_install() { + lua_foreach_impl lua_src_install + + einstalldocs +} diff --git a/mail-client/neomutt/Manifest b/mail-client/neomutt/Manifest index d2354c3826fee..149d6105943f4 100644 --- a/mail-client/neomutt/Manifest +++ b/mail-client/neomutt/Manifest @@ -3,4 +3,5 @@ DIST neomutt-20250510.tar.gz 4182433 BLAKE2B 98f5b586a39044f545a749211bfe9f531ba DIST neomutt-20251211.tar.gz 4194272 BLAKE2B f72d6b20b79ed23d3a5bf0176b391e1cd4a4316d7020ac6882da4d5c81d62af8b06289ce0ea8a569fc9681dfd25eb2abea45431fa043c617d3abd77267e44e94 SHA512 9290a3d6a6cc68bdc567e5f727679f7fee3d69098b10417eeeee974e9fe2b402c3bfd5d4596e2b82f45a416f15bf659c6080c3cf3f8e49270df1f451615a8965 DIST neomutt-20260105.tar.gz 4194306 BLAKE2B 31af1d5a9f2391452027c61590e1535e0b813f7fbfdb525fc1e75c2116f12fb8c7c0b9535bfac045f6f69c1ba68e4b0420f80633b87f2f6c806b01ec8eb48efb SHA512 07fb4dcbebfc1b2c661232ce4d787e723a3278b02143f7f89732c77d56c9be315fe97431075d79a5e61d0a9bc5cd423c9ebe1a6bd1641f3df772ed455b35bc7a DIST neomutt-20260406.tar.gz 4197623 BLAKE2B 82d78e01ef386ce0489d65b460be8294225f573aaeacec61c8cd5abc4a65d803e88273b18215fff84dd16068f78c4234b658966cb0f8f07993f1e4b475be5145 SHA512 80d11ba54216e381852edd0f602d303ec3323691d2d5a73d557a63e11d0c8dfb72736a2febd17eebcedec9f4ce241517d4179127755168a176bfffb9fc7c578f +DIST neomutt-20260504.tar.gz 4200095 BLAKE2B 2825c89b5a2ec11d96010d4412196c52404d7d90be7d1416be1ce7f1f6b345cc2400fa11db7eab7282494506a180cc923db5fb1246ae0e85d2aea6fc74875546 SHA512 ba8276f1d7daa88c620fe9b5daa8f1dde0865d5a39c0d16d8e2a4144a457fdddeda75d977ce2b5ec040f6de824db3caf327af93a0674775ecc0febba975a998f DIST neomutt-test-files-8629adab700a75c54e8e28bf05ad092503a98f75.tar.gz 3673 BLAKE2B 50354f19aedc5fc07d59ecb5b38fa65de16119bc0929f47014bd35dab4d3a4e5953c8b35670f3440003cf0cbccc2d0d2b3a869dc929cdc3cd60b02790270fb54 SHA512 3d4962210bc558234d818801dcaa7851a0aef011c96d91c054af535186ffda42059fc61fb148c48e1b076999fe3159b31589a69a29ed1897f8928f52fcc157d3 diff --git a/mail-client/neomutt/neomutt-20260504.ebuild b/mail-client/neomutt/neomutt-20260504.ebuild new file mode 100644 index 0000000000000..bac6fca510252 --- /dev/null +++ b/mail-client/neomutt/neomutt-20260504.ebuild @@ -0,0 +1,178 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic toolchain-funcs + +DESCRIPTION="A small but very powerful text-based mail client" +HOMEPAGE="https://neomutt.org/" + +if [[ ${PV} =~ 99999999$ ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/neomutt/neomutt.git" +else + SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +fi + +TEST_FILES_COMMIT=8629adab700a75c54e8e28bf05ad092503a98f75 +SRC_URI+=" test? ( https://github.com/${PN}/neomutt-test-files/archive/${TEST_FILES_COMMIT}.tar.gz -> neomutt-test-files-${TEST_FILES_COMMIT}.tar.gz )" + +LICENSE="GPL-2" +SLOT="0" +IUSE="autocrypt berkdb doc gdbm gnutls gpgme idn kerberos kyotocabinet lmdb lz4 + nls notmuch pgp-classic qdbm sasl selinux smime-classic ssl tokyocabinet + test zlib zstd" +REQUIRED_USE=" + autocrypt? ( gpgme ) + gnutls? ( !ssl ) + ssl? ( !gnutls ) +" +CDEPEND=" + app-misc/mime-types + berkdb? ( + || ( + sys-libs/db:6.0 + sys-libs/db:5.3 + sys-libs/db:4.8 + ) + =net-libs/gnutls-1.0.17:= ) + gpgme? ( >=app-crypt/gpgme-1.13.1:= ) + autocrypt? ( >=dev-db/sqlite-3 ) + idn? ( net-dns/libidn2:= ) + kerberos? ( virtual/krb5 ) + notmuch? ( net-mail/notmuch:= ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ssl? ( >=dev-libs/openssl-1.0.2u:0= ) + lz4? ( app-arch/lz4 ) + zlib? ( virtual/zlib:= ) + zstd? ( app-arch/zstd ) +" +DEPEND="${CDEPEND} + dev-lang/tcl:= + net-mail/mailbase + doc? ( + dev-libs/libxml2 + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + || ( + www-client/lynx + www-client/w3m + www-client/elinks + ) + ) +" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-mutt ) +" + +RESTRICT="!test? ( test )" + +src_unpack() { + if [[ -n ${A} ]]; then + unpack ${A} + fi + if [[ ${PV} =~ 99999999$ ]]; then + git-r3_src_unpack + fi +} + +src_configure() { + local myconf=( + "$(usex doc --full-doc --disable-doc)" + "$(use_enable nls)" + "$(use_enable notmuch)" + + "$(use_enable autocrypt)" + "$(use_enable gpgme)" + "$(use_enable pgp-classic pgp)" + "$(use_enable smime-classic smime)" + + # Database backends. + "$(use_enable berkdb bdb)" + "$(use_enable gdbm)" + "$(use_enable kyotocabinet)" + "$(use_enable qdbm)" + "$(use_enable tokyocabinet)" + + # Header compression. + "$(use_enable lz4)" + "$(use_enable zlib)" + "$(use_enable zstd)" + + --disable-idn + "$(use_enable idn idn2)" + "$(use_enable kerberos gss)" + "$(use_enable lmdb)" + "$(use_enable sasl)" + "--sysconfdir=${EPREFIX}/etc/${PN}" + "$(use_enable ssl)" + "$(use_enable gnutls)" + + "$(usex test --testing --disable-testing)" + ) + + if is-flagq -fsanitize=address; then + myconf+=( --asan ) + fi + if is-flagq -fsanitize=undefined; then + myconf+=( --ubsan ) + fi + + econf CCACHE=none CC_FOR_BUILD="$(tc-getCC)" "${myconf[@]}" +} + +src_test() { + local test_dir="$(readlink --canonicalize "${S}"/../neomutt-test-files-${TEST_FILES_COMMIT})" + pushd ${test_dir} || die "Could not cd into test_dir" + NEOMUTT_TEST_DIR="${test_dir}" ./setup.sh \ + || die "Failed to run the setup.sh script" + popd || die "Could not cd back" + NEOMUTT_TEST_DIR="${test_dir}" emake test +} + +src_install() { + emake DESTDIR="${D}" install + + # A man-page is always handy, so fake one - here neomuttrc.5 (neomutt.1 + # already exists) + if use !doc; then + sed -n \ + -e '/^\(CC_FOR_BUILD\|CFLAGS_FOR_BUILD\)\s*=/p' \ + -e '/^\(EXTRA_CFLAGS_FOR_BUILD\|LDFLAGS_FOR_BUILD\)\s*=/p' \ + -e '/^\(EXEEXT\|SRCDIR\)\s*=/p' \ + Makefile > docs/Makefile.fakedoc || die + sed -n \ + -e '/^MAKEDOC_CPP\s*=/,/^\s*$/p' \ + -e '/^docs\/\(makedoc$(EXEEXT)\|neomutt\.1\|neomuttrc\.5\)\s*:/,/^\s*$/p' \ + docs/Makefile.autosetup >> docs/Makefile.fakedoc || die + emake -f docs/Makefile.fakedoc docs/neomutt.1 + emake -f docs/Makefile.fakedoc docs/neomuttrc.5 + doman docs/neomutt.1 docs/neomuttrc.5 + fi + + dodoc LICENSE* ChangeLog* README* +} + +pkg_postinst() { + if use gpgme && ( use pgp-classic || use smime-classic ); then + ewarn " Note that gpgme (old gpg) includes both pgp and smime" + ewarn " support. You can probably remove pgp-classic (old crypt)" + ewarn " and smime-classic (old smime) from your USE-flags and" + ewarn " only enable gpgme." + fi + + if use autocrypt && ! use idn; then + ewarn " It is highly recommended that NeoMutt be also configured" + ewarn " with idn when autocrypt is enabled." + fi +}