diff options
author | Sam James <sam@gentoo.org> | 2022-09-07 23:51:23 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-09-07 23:51:29 +0100 |
commit | d2adbf791493b27c42120df242478d5e3b35a9cc (patch) | |
tree | 3f66ac07d13142fe4ab91ad1abad03afe6cb3c9f /net-misc | |
parent | app-text/enscript: fix implicit function declarations (diff) | |
download | gentoo-d2adbf791493b27c42120df242478d5e3b35a9cc.tar.gz gentoo-d2adbf791493b27c42120df242478d5e3b35a9cc.tar.bz2 gentoo-d2adbf791493b27c42120df242478d5e3b35a9cc.zip |
net-misc/rsync: fix build w/ clang 15
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-misc')
-rw-r--r-- | net-misc/rsync/files/rsync-3.2.5-pedantic-errors.patch | 53 | ||||
-rw-r--r-- | net-misc/rsync/rsync-3.2.5-r1.ebuild | 12 | ||||
-rw-r--r-- | 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 <wayne@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 |