summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-12-16 09:28:27 +0000
committerSam James <sam@gentoo.org>2023-12-16 09:30:54 +0000
commit337fb51a0fa6a491ef4f808887f1ffab82c17612 (patch)
tree1f3814268f05c2a8fc2029b3132b3c819a351f38 /net-nntp
parentnet-nntp/tin: drop 2.6.1-r1 (diff)
downloadgentoo-337fb51a0fa6a491ef4f808887f1ffab82c17612.tar.gz
gentoo-337fb51a0fa6a491ef4f808887f1ffab82c17612.tar.bz2
gentoo-337fb51a0fa6a491ef4f808887f1ffab82c17612.zip
net-nntp/tin: fix modern C issue(s)
Closes: https://bugs.gentoo.org/900278 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-nntp')
-rw-r--r--net-nntp/tin/files/tin-2.6.2-c99.patch93
-rw-r--r--net-nntp/tin/tin-2.6.2-r2.ebuild127
2 files changed, 220 insertions, 0 deletions
diff --git a/net-nntp/tin/files/tin-2.6.2-c99.patch b/net-nntp/tin/files/tin-2.6.2-c99.patch
new file mode 100644
index 000000000000..f9c9cff697f1
--- /dev/null
+++ b/net-nntp/tin/files/tin-2.6.2-c99.patch
@@ -0,0 +1,93 @@
+https://src.fedoraproject.org/rpms/tin/c/1f724cd60f641c3599f65e819dd2a878efa6b1a2?branch=rawhide
+
+diff --git a/aclocal.m4 b/aclocal.m4
+index 2891764c68c773c4..5620aad356b67762 100644
+--- a/aclocal.m4
++++ b/aclocal.m4
+@@ -3517,7 +3517,7 @@ RETSIGTYPE signal_handler (int sig)
+ int system_status;
+ wait (&wait_status);
+ system_status = WEXITSTATUS(wait_status); /* should be nonzero */
+- ${cf_cv_main_return:-return}(system_status != 23);
++ exit(system_status != 23);
+ }
+
+ int main(void)
+@@ -5173,7 +5173,7 @@ AC_CACHE_CHECK([for passwd.pw_gecos], cf_cv_pw_gecos,[
+ #include <pwd.h>
+ ],[
+ struct passwd foo;
+- char bar = foo.pw_gecos],
++ char *bar = foo.pw_gecos],
+ [cf_cv_pw_gecos=yes],
+ [cf_cv_pw_gecos=no])])
+ test $cf_cv_pw_gecos = no && AC_DEFINE(DONT_HAVE_PW_GECOS,1,[Define this to 1 if passwd struct has .pw_gecos])
+diff --git a/configure b/configure
+index 9e2d9ab4b6c46581..a85eaf929db2c820 100755
+--- a/configure
++++ b/configure
+@@ -24209,7 +24209,8 @@ int
+ main (void)
+ {
+
+- int32_t needed, ustr = NULL;
++ int32_t needed;
++ const UChar *ustr = NULL;
+ UErrorCode status;
+ needed = unorm_normalize(ustr, -1, UNORM_DEFAULT, 0, NULL, 0, &status);
+ ;
+@@ -26820,8 +26821,8 @@ cat >"conftest.$ac_ext" <<_ACEOF
+ int
+ main (void)
+ {
+-struct timeval *tv;
+-struct timezone *tz;
++struct timeval tv;
++struct timezone tz;
+ gettimeofday(&tv, &tz);
+ ;
+ return 0;
+@@ -27669,7 +27670,7 @@ main (void)
+ {
+
+ struct passwd foo;
+- char bar = foo.pw_gecos
++ char *bar = foo.pw_gecos
+ ;
+ return 0;
+ }
+@@ -28106,7 +28107,7 @@ RETSIGTYPE signal_handler (int sig)
+ int system_status;
+ wait (&wait_status);
+ system_status = WEXITSTATUS(wait_status); /* should be nonzero */
+- ${cf_cv_main_return:-return}(system_status != 23);
++ exit(system_status != 23);
+ }
+
+ int main(void)
+diff --git a/configure.in b/configure.in
+index 7d24b24176f7c3a6..810eaf6158dc9b48 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1013,7 +1013,8 @@ AC_CHECK_HEADER(unicode/unorm.h,[
+ cf_try_icuuc="no"
+ LIBS="$LIBS -licuuc"
+ AC_TRY_LINK([#include <unicode/unorm.h>], [
+- int32_t needed, ustr = NULL;
++ int32_t needed;
++ const UChar *ustr = NULL;
+ UErrorCode status;
+ needed = unorm_normalize(ustr, -1, UNORM_DEFAULT, 0, NULL, 0, &status);], [
+ AC_DEFINE(HAVE_LIBICUUC,1,[Define this to 1 if we have libicuuc])
+@@ -1280,8 +1281,8 @@ AC_TRY_COMPILE([
+ #if HAVE_SYS_TIME_H
+ #include <sys/time.h>
+ #endif],
+-[struct timeval *tv;
+-struct timezone *tz;
++[struct timeval tv;
++struct timezone tz;
+ gettimeofday(&tv, &tz);],
+ ac_cv_func_gettimeofday_2args=yes, ac_cv_func_gettimeofday_2args=no)
+ AC_MSG_RESULT($ac_cv_func_gettimeofday_2args)
+
diff --git a/net-nntp/tin/tin-2.6.2-r2.ebuild b/net-nntp/tin/tin-2.6.2-r2.ebuild
new file mode 100644
index 000000000000..9eb463615776
--- /dev/null
+++ b/net-nntp/tin/tin-2.6.2-r2.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit optfeature toolchain-funcs
+
+DESCRIPTION="A threaded NNTP and spool based UseNet newsreader"
+HOMEPAGE="http://www.tin.org/"
+SRC_URI="ftp://ftp.tin.org/pub/news/clients/tin/stable/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="cancel-locks debug gnutls gpg libtls nls sasl socks5 ssl"
+
+RDEPEND="
+ dev-libs/icu:=
+ dev-libs/libpcre2:=
+ dev-libs/uulib
+ sys-libs/ncurses:=
+ virtual/libiconv
+ cancel-locks? ( >=net-libs/canlock-3.0:= )
+ gpg? ( app-crypt/gnupg )
+ nls? ( virtual/libintl )
+ sasl? ( net-misc/gsasl[client] )
+ socks5? ( net-proxy/dante )
+ ssl? (
+ gnutls? ( net-libs/gnutls:= )
+ !gnutls? (
+ libtls? ( dev-libs/libretls:= )
+ !libtls? ( dev-libs/openssl:= )
+ )
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-alternatives/yacc
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+"
+
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # Windows only (bug #900278)
+ memset_s
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gnutls.patch
+ "${FILESDIR}"/${PN}-2.6.2-c99.patch
+)
+
+DOCS=(
+ README{,.MAC,.WIN}
+ doc/{CHANGES{,.old},CREDITS,TODO,WHATSNEW,filtering}
+)
+
+src_configure() {
+ tc-export AR CC RANLIB
+ tc-export_build_env
+
+ # The build incorrectly discards its local -I if $CPPFLAGS is set.
+ if [[ -n ${BUILD_CPPFLAGS} ]]; then
+ BUILD_CPPFLAGS+=' -I$(INCDIR)'
+ fi
+
+ local myeconfargs=(
+ $(use_enable cancel-locks)
+ $(use_with cancel-locks canlock)
+
+ $(use_enable debug)
+ $(use_enable gpg pgp-gpg)
+ $(use_enable nls)
+ $(use_with socks5 socks)
+ --disable-mime-strict-charset
+ --enable-nntp
+ --enable-prototypes
+ --without-pcre
+ --with-pcre2-config
+ --with-coffee # easter egg :)
+ --with-nntp-default-server="${TIN_DEFAULT_SERVER:-${NNTPSERVER:-news.gmane.io}}"
+ --with-screen=ncursesw
+ )
+
+ if use ssl; then
+ if use gnutls; then
+ myeconfargs+=( --with-nntps=gnutls )
+ elif use libtls; then
+ myeconfargs+=( --with-nntps=libtls )
+ else
+ myeconfargs+=( --with-nntps=openssl )
+ fi
+ fi
+
+ myeconfargs+=(
+ # set default paths for utilities
+ --with-editor="${EPREFIX}"/usr/libexec/editor
+ --with-gpg="${EPREFIX}"/usr/bin/gpg
+ --with-ispell="${EPREFIX}"/usr/bin/aspell
+ --with-mailer="${EPREFIX}"/bin/mail
+ --with-sum="${EPREFIX}"/usr/bin/sum
+
+ # set default paths for directories
+ --with-libdir="${EPREFIX}"/var/lib/news
+ --with-spooldir="${EPREFIX}"/var/spool/news
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ # To build from the root dir you have to call `make build`, not just `make`.
+ emake build
+}
+
+src_install() {
+ default
+
+ emake DESTDIR="${D}" install_sysdefs
+ emake -C src DESTDIR="${D}" install_nls_man
+
+ dodoc doc/{*.sample,*.txt}
+}
+
+pkg_postinst() {
+ optfeature "spell checker support" app-text/aspell
+}