sys-apps/diffutils: Added gcc-7 build fix (bug #617538).
authorLars Wendler <polynomial-c@gentoo.org>
Mon, 8 May 2017 11:28:01 +0000 (13:28 +0200)
committerLars Wendler <polynomial-c@gentoo.org>
Mon, 8 May 2017 11:29:07 +0000 (13:29 +0200)
Thanks to lekto for providing a patch in GH PR #4553.

Closes: https://github.com/gentoo/gentoo/pull/4553
Package-Manager: Portage-2.3.5, Repoman-2.3.2

sys-apps/diffutils/diffutils-3.5.ebuild
sys-apps/diffutils/files/diffutils-3.5-fix_macros.patch [new file with mode: 0644]

index da215965bb04e2bbd98136ae2c825e9f4a0ee06a..426af27f7e96587afbd5cfd2c86612cea44dfc07 100644 (file)
@@ -20,17 +20,27 @@ DEPEND="app-arch/xz-utils
 
 DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO )
 
+PATCHES=(
+       "${FILESDIR}/${P}-fix_macros.patch"
+)
+
+src_prepare() {
+       epatch "${PATCHES[@]}"
+}
+
 src_configure() {
        use static && append-ldflags -static
 
        # Disable automagic dependency over libsigsegv; see bug #312351.
        export ac_cv_libsigsegv=no
 
-       econf \
-               --with-packager="Gentoo" \
-               --with-packager-version="${PVR}" \
-               --with-packager-bug-reports="https://bugs.gentoo.org/" \
+       local myeconfargs=(
+               --with-packager="Gentoo"
+               --with-packager-version="${PVR}"
+               --with-packager-bug-reports="https://bugs.gentoo.org/"
                $(use_enable nls)
+       )
+       econf "${myeconfargs[@]}"
 }
 
 src_test() {
diff --git a/sys-apps/diffutils/files/diffutils-3.5-fix_macros.patch b/sys-apps/diffutils/files/diffutils-3.5-fix_macros.patch
new file mode 100644 (file)
index 0000000..ae820fc
--- /dev/null
@@ -0,0 +1,19 @@
+http://git.savannah.gnu.org/cgit/gnulib.git/commit/lib/intprops.h?id=175b4e22f99e00996b72f822f5ae54dca8243d19
+
+--- diffutils-3.5/lib/intprops.h
++++ diffutils-3.5/lib/intprops.h
+@@ -230,11 +230,11 @@
+    (e.g., A and B) have the same type as MIN and MAX.  Instead, they assume
+    that the result (e.g., A + B) has that type.  */
+ #if _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL
+-# define _GL_ADD_OVERFLOW(a, b, min, max)
++# define _GL_ADD_OVERFLOW(a, b, min, max) \
+    __builtin_add_overflow (a, b, (__typeof__ ((a) + (b)) *) 0)
+-# define _GL_SUBTRACT_OVERFLOW(a, b, min, max)
++# define _GL_SUBTRACT_OVERFLOW(a, b, min, max) \
+    __builtin_sub_overflow (a, b, (__typeof__ ((a) - (b)) *) 0)
+-# define _GL_MULTIPLY_OVERFLOW(a, b, min, max)
++# define _GL_MULTIPLY_OVERFLOW(a, b, min, max) \
+    __builtin_mul_overflow (a, b, (__typeof__ ((a) * (b)) *) 0)
+ #else
+ # define _GL_ADD_OVERFLOW(a, b, min, max)                                \