summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-09-07 23:51:23 +0100
committerSam James <sam@gentoo.org>2022-09-07 23:51:29 +0100
commitd2adbf791493b27c42120df242478d5e3b35a9cc (patch)
tree3f66ac07d13142fe4ab91ad1abad03afe6cb3c9f /net-misc
parentapp-text/enscript: fix implicit function declarations (diff)
downloadgentoo-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.patch53
-rw-r--r--net-misc/rsync/rsync-3.2.5-r1.ebuild12
-rw-r--r--net-misc/rsync/rsync-9999.ebuild8
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