commit: 321b68c46689e967c349038f6aa259f8096ecfe5 Author: Eli Schwartz <eschwartz <AT> gentoo <DOT> org> AuthorDate: Fri Nov 21 20:40:46 2025 +0000 Commit: Eli Schwartz <eschwartz <AT> gentoo <DOT> org> CommitDate: Sun Nov 23 15:03:24 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=321b68c4
net-irc/weechat: add 4.7.2 Bug: https://bugs.gentoo.org/966398 Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org> net-irc/weechat/Manifest | 5 +- net-irc/weechat/weechat-4.7.2.ebuild | 255 +++++++++++++++++++++++++++++++++++ 2 files changed, 259 insertions(+), 1 deletion(-) diff --git a/net-irc/weechat/Manifest b/net-irc/weechat/Manifest index edcd92fbf4e6..852de2e31763 100644 --- a/net-irc/weechat/Manifest +++ b/net-irc/weechat/Manifest @@ -1,4 +1,7 @@ DIST weechat-4.4.3.tar.xz 2730188 BLAKE2B ef77a48953a23f41dcbb16e45565118ec0c45743006284c97792e59d78a8beb7b4ae91075bf4087ab96270378cd628fdcfe463d123986ef3b8d24f40f5c31fcd SHA512 32df8d6021ed63d11646127920197a1f80dfbbec0cdf4e9a282fc789fcd1c270082806c237ab16ebd0c07a94c6d40bc22432211feac638623d6f2a0a59606dcc -DIST weechat-4.4.3.tar.xz.asc 833 BLAKE2B 9d4309c70279b5abd5d2cd7266d70e31d07e67f77f0d00dbca6f3d9c74ba90ef86d8d2b149bf202214e63abe4d60c569704ecf19f77a7fc8c4d44b20ec2389e0 SHA512 5097b0b7d97aac926c72057d51a4ea125ad0edcf7159d275b20ec484127c49d0b58b61fa71a91ce954f87dca47651084243f5440aaee5be315af3376e2b7ef1a +DIST weechat-4.4.3.tar.xz.asc 833 BLAKE2B 8cd1924f916911aa70adfacc4a2a1b9c72a2e645af2c00862a294c0c94e847c4634724eb4e6c50c36965bfa45b5bbad6fb8b6c4dbcbf758ff34d8e7b03bbc928 SHA512 27f8b1efbbcef5bba56b691622a116202e8fc2d7928b2832e1e1f7bf94c22d7f75c24a7083d509dfb771f2e53546b94d585b54fa682d1fedcaa2d2c569c1394b DIST weechat-4.5.2.tar.xz 2745648 BLAKE2B 6eb8d726e3bc7dee290a9569301be0c75a55fe653f0de650da39cf554b23c940ee43dfaa41e371dd7b2ea74794d0d7b5373547cb86c76bc0ca3ccadbb3459269 SHA512 5d1595b83ffc8045493e263adccd9ed81cc41299274864b18b94226deebfaa323222b571a297c66993cdbbddf1239b181f5332729a8dcf569117d214ce2b583b DIST weechat-4.5.2.tar.xz.asc 833 BLAKE2B 68c6b695ce76f95fd0e85ad73f489c6b58d00e5753b5268fa88dc51ea1735fba90effb11b5507a8b1d4914a0c7f441ca07b9ab0205dd88c1f81280db87cd1912 SHA512 27fc61721507b371626ba67c733810cd0f4bcac390539b4f3ec5100dd18061f3dc57d1a0cbf0347d2e96f51a79c30e629520bbcce386c9489b108d51fa96c472 +DIST weechat-4.7.1-manpages.tar.xz 15740 BLAKE2B ab7b8f4c5fb781f1b1fdd5bf24bce1e684df57bcaf76efb961a0e17d2b770a6b41726e6ac22701ea31c14e89203f2172577e02ddaed1b1f63ec740fc08a85d64 SHA512 bbb053df8c25458f73dd7e0f32f82d95a5379c877f3c0c936eeef87187e72fc3ef39101b77e2add70624e7828e95c15adf71335253c2dcd51a191eb5e56c9415 +DIST weechat-4.7.1.tar.xz 2768340 BLAKE2B c43c4aee960d8829c436f62c6ab2731a2166b46db5ec3603d86307d2e9758cc716191dcb746f5a74c7f6c385c4e59f5d6d2a539467a93f0a520488b1cdd6ef67 SHA512 39a98772c260abb831f70df3881942bcb65713c2f344acfd600c5d3828018e463793b1e1bac557a7726de43cec4161ba46a6927c9e615996a6353311c99c551f +DIST weechat-4.7.1.tar.xz.asc 833 BLAKE2B c7b227374f4ad5b431fb196b98589253841a5cdd48c70cbc7d354987577180434a4ed6aeda8137cd0026a67c0ea03d79a46bf01252966a088e171d04c461a0b0 SHA512 21af7411c1243ddaf21f9bcda8f0ce44e1aae1d6cb02a1bc23abb382da0a1169291ef549751f7c7f98f3fee58901d76fa5efb3d199a82e42d025542c15ade8d8 diff --git a/net-irc/weechat/weechat-4.7.2.ebuild b/net-irc/weechat/weechat-4.7.2.ebuild new file mode 100644 index 000000000000..c4c53b95ad39 --- /dev/null +++ b/net-irc/weechat/weechat-4.7.2.ebuild @@ -0,0 +1,255 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +GUILE_COMPAT=( 2-2 3-0 ) +LUA_COMPAT=( lua5-{1..4} ) +PYTHON_COMPAT=( python3_{11..14} ) +GENTOO_DEPEND_ON_PERL=no + +inherit guile-single lua-single perl-module python-single-r1 cmake xdg + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/weechat/weechat.git" + EGIT_MIN_CLONE_TYPE=single + BDEPEND+=" + app-arch/libarchive + >=dev-ruby/asciidoctor-1.5.4 + " +else + inherit verify-sig + SRC_URI=" + https://weechat.org/files/src/${P}.tar.xz + verify-sig? ( https://weechat.org/files/src/${P}.tar.xz.asc ) + https://dev.gentoo.org/~eschwartz/distfiles/${CATEGORY}/${PN}/${P}-manpages.tar.xz + " + VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/weechat.org.asc + BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-weechat )" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86 ~x64-macos" +fi + +DESCRIPTION="Portable and multi-interface IRC client" +HOMEPAGE="https://weechat.org/" + +LICENSE="GPL-3+" +SLOT="0/${PV}" + +NETWORKS="+irc" +PLUGINS="+alias +buflist +charset +exec +fifo +fset +logger +relay +scripts +spell +trigger +typing +xfer" +# dev-lang/v8 was dropped from Gentoo so we can't enable javascript support +# dev-lang/php eclass support is lacking, php plugins don't work. bug #705702 +SCRIPT_LANGS="guile lua +perl +python ruby tcl ${GENTOO_PERL_USESTRING}" +LANGS=" cs de es fr hu it ja pl pt pt_BR ru sr tr" +IUSE="doc enchant nls relay-api selinux test +zstd ${SCRIPT_LANGS} ${PLUGINS} ${INTERFACES} ${NETWORKS}" + +REQUIRED_USE=" + enchant? ( spell ) + guile? ( ${GUILE_REQUIRED_USE} ) + lua? ( ${LUA_REQUIRED_USE} ) + python? ( ${PYTHON_REQUIRED_USE} ) + test? ( nls ) + relay-api? ( relay ) +" + +RDEPEND=" + dev-libs/libgcrypt:0= + net-libs/gnutls:= + sys-libs/ncurses:0= + virtual/zlib:= + net-misc/curl[ssl] + charset? ( virtual/libiconv ) + guile? ( ${GUILE_DEPS} ) + lua? ( ${LUA_DEPS} ) + nls? ( virtual/libintl ) + perl? ( + ${GENTOO_PERL_DEPSTRING} + dev-lang/perl:= + virtual/libcrypt:= + ) + python? ( ${PYTHON_DEPS} ) + relay-api? ( dev-libs/cJSON ) + ruby? ( + || ( + dev-lang/ruby:3.3 + dev-lang/ruby:3.2 + dev-lang/ruby:3.1 + ) + ) + selinux? ( sec-policy/selinux-irc ) + spell? ( + enchant? ( app-text/enchant:* ) + !enchant? ( app-text/aspell ) + ) + tcl? ( >=dev-lang/tcl-8.4.15:0= ) + zstd? ( app-arch/zstd:= ) +" + +DEPEND="${RDEPEND} + test? ( dev-util/cpputest ) +" + +BDEPEND+=" + virtual/pkgconfig + doc? ( >=dev-ruby/asciidoctor-1.5.4 ) + nls? ( >=sys-devel/gettext-0.15 ) +" + +DOCS="AUTHORS.md CHANGELOG.md CONTRIBUTING.md UPGRADING.md README.md" + +RESTRICT="!test? ( test )" + +maint_pkg_create() { + pushd "${S}" > /dev/null + + local -x BUILD_DIR=${S}-docsonly + local mycmakeargs=( + "${mycmakeargs[@]}" + -DENABLE_HEADLESS=ON + -DENABLE_MAN=ON + ) + cmake_src_configure + cmake_build doc/all + + local ver=$(git describe --exact-match) + ver=${ver#v} + + cd "${BUILD_DIR}"/doc || die + local i + for i in *.en.1; do + mv "${i}" "${i/.en/}" || die + done + mkdir -p "${WORKDIR}"/${P}-manpages || die + cp *.1 "${WORKDIR}"/${P}-manpages/ || die + + if [[ -n ${ver} ]]; then + local MY_P="${PN}-${ver}" + local tar="${T}/${MY_P}-manpages.tar.xz" + bsdtar -s "#^#${MY_P}-manpages/#S" -caf "${tar}" *.1 || die + einfo "Packaged tar now available:" + einfo "$(du -b "${tar}")" + fi + popd >/dev/null || die +} + +src_unpack() { + if [[ ${PV} = 9999 ]]; then + git-r3_src_unpack + else + use verify-sig && verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.asc} + default + fi +} + +pkg_setup() { + use guile && guile-single_pkg_setup + use lua && lua-single_pkg_setup + use python && python-single-r1_pkg_setup +} + +src_prepare() { + cmake_src_prepare + + use guile && guile_bump_sources + + # install only required translations + local i + for i in ${LANGS} ; do + if ! has ${i} ${LINGUAS-${i}} ; then + sed -i \ + -e "/${i}.po/d" \ + po/CMakeLists.txt || die + fi + done + + # install only required documentation ; en always + local j + for i in $(grep -e 'set(.*en.*)$' doc/CMakeLists.txt \ + | sed -e 's/.*set(\(\w\+\).*/\1/'); do + for j in $(grep set.${i} doc/CMakeLists.txt \ + | sed -e "s/.*${i}\(.*\)).*/\1/" -e 's/ en//'); do + if ! has ${j} ${LINGUAS-${j}} ; then + sed -i \ + -e "s/\(set(${i}.*\) ${j}/\1/" \ + doc/CMakeLists.txt || die + fi + done + done + + # install docs in correct directory + sed -i "s#\${DATAROOTDIR}/doc/\${PROJECT_NAME}#\0-${PVR}/html#" doc/CMakeLists.txt || die + + if [[ ${CHOST} == *-darwin* ]]; then + # fix linking error on Darwin + sed -i "s/+ get_config_var('LINKFORSHARED')//" \ + cmake/FindPython.cmake || die + # allow to find the plugins by default + sed -i 's/".so,.dll"/".bundle,.so,.dll"/' \ + src/core/wee-config.c || die + fi +} + +src_configure() { + local mycmakeargs=( + -DLIBDIR="${EPREFIX}/usr/$(get_libdir)" + -DENABLE_JAVASCRIPT=OFF + -DENABLE_LARGEFILE=ON + -DENABLE_NCURSES=ON + -DENABLE_PHP=OFF + -DENABLE_ALIAS=$(usex alias) + -DENABLE_BUFLIST=$(usex buflist) + -DENABLE_CHARSET=$(usex charset) + -DENABLE_DOC=$(usex doc) + # To build complete documentation weechat requires all plugins (except + # javascript) to be enabled. That's impossible since php was dropped in + # net-irc/weechat-3.5.r1.ebuild. bug #705702 + # If user chooses to build documentation via -DENABLE_DOC we must force + # building incomplete documentation, for which support was added in 4.0.0 + # https://github.com/weechat/weechat/blob/v4.0.0/ReleaseNotes.adoc#documentation + -DENABLE_DOC_INCOMPLETE=ON + -DENABLE_ENCHANT=$(usex enchant) + -DENABLE_EXEC=$(usex exec) + -DENABLE_FIFO=$(usex fifo) + -DENABLE_FSET=$(usex fset) + -DENABLE_GUILE=$(usex guile) + -DENABLE_IRC=$(usex irc) + -DENABLE_LOGGER=$(usex logger) + -DENABLE_LUA=$(usex lua) + -DENABLE_NLS=$(usex nls) + -DENABLE_PERL=$(usex perl) + -DENABLE_PYTHON=$(usex python) + -DENABLE_RELAY=$(usex relay) + -DENABLE_CJSON=$(usex relay-api) + -DENABLE_RUBY=$(usex ruby) + -DENABLE_SCRIPT=$(usex scripts) + -DENABLE_SCRIPTS=$(usex scripts) + -DENABLE_SPELL=$(usex spell) + -DENABLE_TCL=$(usex tcl) + -DENABLE_TESTS=$(usex test) + -DENABLE_TRIGGER=$(usex trigger) + -DENABLE_TYPING=$(usex typing) + -DENABLE_XFER=$(usex xfer) + -DENABLE_ZSTD=$(usex zstd) + ) + cmake_src_configure + if [[ ${PV} = 9999 ]]; then + maint_pkg_create + fi +} + +src_test() { + if $(locale -a | grep -iq "en_US\.utf.*8"); then + cmake_src_test -V + else + eerror "en_US.UTF-8 locale is required to run ${PN}'s ${FUNCNAME}" + die "required locale missing" + fi +} + +src_install() { + cmake_src_install + doman "${WORKDIR}"/${P}-manpages/*.1 + + use guile && guile_unstrip_ccache +}
