commit: 2877a7951774ccfbd346ac536da23ce740c16dc3 Author: Viorel Munteanu <ceamac <AT> gentoo <DOT> org> AuthorDate: Sat Dec 14 10:38:00 2024 +0000 Commit: Viorel Munteanu <ceamac <AT> gentoo <DOT> org> CommitDate: Sat Dec 14 10:45:51 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2877a795
net-dialup/lrzsz: fix compilation with C23 Include older gettext macros (from 0.19). Unfortunately, running autopoint breaks the makefiles; so does using AM_GNU_GETTEXT([external]). Add a patch to fix compilation with gcc-15. Also tested with clang-19 -std=gnu23. Closes: https://bugs.gentoo.org/836585 Closes: https://bugs.gentoo.org/943880 Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org> net-dialup/lrzsz/Manifest | 1 + net-dialup/lrzsz/lrzsz-0.12.20-r10.ebuild | 77 +++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/net-dialup/lrzsz/Manifest b/net-dialup/lrzsz/Manifest index 7e386a9ee3bb..d492485ee7df 100644 --- a/net-dialup/lrzsz/Manifest +++ b/net-dialup/lrzsz/Manifest @@ -1,2 +1,3 @@ +DIST gettext-0.19.8-runtime-m4.tar.xz 26092 BLAKE2B 671c43cbdc393658c0f9960cf6b743b5126a52ff0a87dbd8a59f6a8c398eecfab7509421d6e01096d73e40f2feb7b2bc229822c4d475d91a703c941134a506b5 SHA512 a5e5a64c7e2bd1a0fa6d426ff72a286027451ff034050541a92ba5a4d7889f925e4674e1df89e0c7e9657329209284995afcb0180a2e441136694556450e4edd DIST lrzsz-0.12.20.tar.gz 280938 BLAKE2B 86511ab112da849f5894f18c045f2c8a9dd4c4e97426c1d98c5b91aade6c39e26f4a7e5674e057c9596a240dfd3ef32053fcdc8ee58b33654cf15eec64779b1e SHA512 9bce64036f1f1c65f5910f19802aecaf3dc5ffeab0feeca10fa8d2fe1b83e212391cce23056d22fd0eda52df89e12ede68eb5d22ffcf22f935910d2af7399f12 DIST lrzsz-m4-0.12.20.tar.bz2 23959 BLAKE2B 933e43f80a40478baef77d69f81fcb04947f2d0afb87f777b0c000ea4223408bf3e55d687cf625ab4835fb30e274f7058ff09ee3b51ad90e09723cd3053ee038 SHA512 c8818381f2e5271bc2dd7d469c0a33a6b22d42d3159b41f168223473a8b03322f3ff91a49ce398e3ef5abe7b355d92b83b1429d0c6d450d19985a60e2e1190d4 diff --git a/net-dialup/lrzsz/lrzsz-0.12.20-r10.ebuild b/net-dialup/lrzsz/lrzsz-0.12.20-r10.ebuild new file mode 100644 index 000000000000..d1ea630d21b1 --- /dev/null +++ b/net-dialup/lrzsz/lrzsz-0.12.20-r10.ebuild @@ -0,0 +1,77 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs + +DESCRIPTION="Communication package providing the X, Y, and ZMODEM file transfer protocols" +HOMEPAGE="https://www.ohse.de/uwe/software/lrzsz.html" +SRC_URI=" + https://www.ohse.de/uwe/releases/${P}.tar.gz + https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/gettext-0.19.8-runtime-m4.tar.xz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="nls" + +DEPEND="nls? ( virtual/libintl )" +BDEPEND="nls? ( sys-devel/gettext )" + +PATCHES=( + "${FILESDIR}"/${PN}-autotools.patch + "${FILESDIR}"/${PN}-implicit-decl.patch + "${FILESDIR}"/${P}-automake-1.12.patch + "${FILESDIR}"/${P}-automake-1.13.patch + "${FILESDIR}"/${P}-gettext-0.20.patch + "${FILESDIR}"/${P}-AR.patch + "${FILESDIR}"/${P}-configure-clang16.patch + "${FILESDIR}"/${P}-gettext-0.22.patch + "${FILESDIR}"/${P}-disable-nls.patch + "${FILESDIR}"/${P}-c99.patch + "${FILESDIR}"/${P}-fix-integer-overflow.patch + "${FILESDIR}"/${P}-c23.patch +) + +DOCS=( AUTHORS COMPATABILITY ChangeLog NEWS \ + README{,.cvs,.gettext,.isdn4linux,.tests} THANKS TODO ) + +src_prepare() { + default + + # automake is unhappy if this is missing + >> config.rpath || die + # This is too old. Remove it so automake puts in a newer copy. + rm missing || die + # Autoheader does not like seeing this file. + rm acconfig.h || die + # embed default m4 files in case gettext is not installed + mv "${WORKDIR}"/m4 . || die + + eautoreconf +} + +src_configure() { + tc-export CC + + econf $(use_enable nls) +} + +src_test() { + # Don't use check target. + # See bug #120748 before changing this function. + emake vcheck +} + +src_install() { + default + + local x + for x in {r,s}{b,x,z} ; do + dosym l${x} /usr/bin/${x} + dosym l${x:0:1}z.1 /usr/share/man/man1/${x}.1 + [ "${x:1:1}" = "z" ] || dosym l${x:0:1}z.1 /usr/share/man/man1/l${x}.1 + done +}
