commit: d2adbf791493b27c42120df242478d5e3b35a9cc Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Wed Sep 7 22:51:23 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Sep 7 22:51:29 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d2adbf79
net-misc/rsync: fix build w/ clang 15 Signed-off-by: Sam James <sam <AT> gentoo.org> .../rsync/files/rsync-3.2.5-pedantic-errors.patch | 53 ++++++++++++++++++++++ net-misc/rsync/rsync-3.2.5-r1.ebuild | 12 ++++- net-misc/rsync/rsync-9999.ebuild | 8 +++- 3 files changed, 71 insertions(+), 2 deletions(-) diff --git a/net-misc/rsync/files/rsync-3.2.5-pedantic-errors.patch b/net-misc/rsync/files/rsync-3.2.5-pedantic-errors.patch new file mode 100644 index 000000000000..33afbd954a12 --- /dev/null +++ b/net-misc/rsync/files/rsync-3.2.5-pedantic-errors.patch @@ -0,0 +1,53 @@ +https://github.com/WayneD/rsync/commit/9a3449a3980421f84ac55498ba565bc112b20d6c + +In particular, avoids attr configure test failing. + +From 9a3449a3980421f84ac55498ba565bc112b20d6c Mon Sep 17 00:00:00 2001 +From: Wayne Davison <wa...@opencoder.net> +Date: Thu, 18 Aug 2022 17:33:54 -0700 +Subject: [PATCH] Stop enabling -pedantic-errors. + +--- a/configure.ac ++++ b/configure.ac +@@ -1071,21 +1071,6 @@ elif test x"$ac_cv_header_popt_h" != x"yes"; then + with_included_popt=yes + fi + +-if test x"$GCC" = x"yes"; then +- if test x"$with_included_popt" != x"yes"; then +- # Turn pedantic warnings into errors to ensure an array-init overflow is an error. +- CFLAGS="$CFLAGS -pedantic-errors" +- else +- # Our internal popt code cannot be compiled with pedantic warnings as errors, so try to +- # turn off pedantic warnings (which will not lose the error for array-init overflow). +- # Older gcc versions don't understand -Wno-pedantic, so check if --help=warnings lists +- # -Wpedantic and use that as a flag. +- case `$CC --help=warnings 2>/dev/null | grep Wpedantic` in +- *-Wpedantic*) CFLAGS="$CFLAGS -pedantic-errors -Wno-pedantic" ;; +- esac +- fi +-fi +- + AC_MSG_CHECKING([whether to use included libpopt]) + if test x"$with_included_popt" = x"yes"; then + AC_MSG_RESULT($srcdir/popt) + +--- a/configure.sh ++++ b/configure.sh +@@ -9982,14 +9982,14 @@ fi + if test x"$GCC" = x"yes"; then + if test x"$with_included_popt" != x"yes"; then + # Turn pedantic warnings into errors to ensure an array-init overflow is an error. +- CFLAGS="$CFLAGS -pedantic-errors" ++ CFLAGS="$CFLAGS " + else + # Our internal popt code cannot be compiled with pedantic warnings as errors, so try to + # turn off pedantic warnings (which will not lose the error for array-init overflow). + # Older gcc versions don't understand -Wno-pedantic, so check if --help=warnings lists + # -Wpedantic and use that as a flag. + case `$CC --help=warnings 2>/dev/null | grep Wpedantic` in +- *-Wpedantic*) CFLAGS="$CFLAGS -pedantic-errors -Wno-pedantic" ;; ++ *-Wpedantic*) CFLAGS="$CFLAGS -Wno-pedantic" ;; + esac + fi + fi diff --git a/net-misc/rsync/rsync-3.2.5-r1.ebuild b/net-misc/rsync/rsync-3.2.5-r1.ebuild index 1abfebf444ed..6e6e4bd34c3e 100644 --- a/net-misc/rsync/rsync-3.2.5-r1.ebuild +++ b/net-misc/rsync/rsync-3.2.5-r1.ebuild @@ -3,6 +3,8 @@ EAPI=8 +# Uncomment when introducing a patch which touches configure +RSYNC_NEEDS_AUTOCONF=1 PYTHON_COMPAT=( python3_{8..10} ) inherit prefix python-single-r1 systemd @@ -17,6 +19,10 @@ else VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/waynedavison.asc inherit verify-sig + if [[ -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then + inherit autotools + fi + if [[ ${PV} == *_pre* ]] ; then SRC_DIR="src-previews" else @@ -60,6 +66,10 @@ else BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-waynedavison )" fi +PATCHES=( + "${FILESDIR}"/${P}-pedantic-errors.patch +) + pkg_setup() { # - USE=examples needs Python itself at runtime, but nothing else # - 9999 needs commonmark at build time @@ -71,7 +81,7 @@ pkg_setup() { src_prepare() { default - if [[ ${PV} == *9999 ]] ; then + if [[ ${PV} == *9999 || -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then eaclocal -I m4 eautoconf -o configure.sh eautoheader && touch config.h.in diff --git a/net-misc/rsync/rsync-9999.ebuild b/net-misc/rsync/rsync-9999.ebuild index 1abfebf444ed..804909ae11e6 100644 --- a/net-misc/rsync/rsync-9999.ebuild +++ b/net-misc/rsync/rsync-9999.ebuild @@ -3,6 +3,8 @@ EAPI=8 +# Uncomment when introducing a patch which touches configure +#RSYNC_NEEDS_AUTOCONF=1 PYTHON_COMPAT=( python3_{8..10} ) inherit prefix python-single-r1 systemd @@ -17,6 +19,10 @@ else VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/waynedavison.asc inherit verify-sig + if [[ -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then + inherit autotools + fi + if [[ ${PV} == *_pre* ]] ; then SRC_DIR="src-previews" else @@ -71,7 +77,7 @@ pkg_setup() { src_prepare() { default - if [[ ${PV} == *9999 ]] ; then + if [[ ${PV} == *9999 || -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then eaclocal -I m4 eautoconf -o configure.sh eautoheader && touch config.h.in