diff options
author | Sam James <sam@gentoo.org> | 2023-02-12 06:18:03 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-02-12 06:18:03 +0000 |
commit | 675f20bce1d8ec148072e6447dc4a365d2c9936a (patch) | |
tree | 504bd607b99639d82fae85eabf49068cc9e36c64 /sys-apps | |
parent | sys-apps/rng-tools: Stabilize 6.16 amd64, #893112 (diff) | |
download | gentoo-675f20bce1d8ec148072e6447dc4a365d2c9936a.tar.gz gentoo-675f20bce1d8ec148072e6447dc4a365d2c9936a.tar.bz2 gentoo-675f20bce1d8ec148072e6447dc4a365d2c9936a.zip |
sys-apps/diffutils: backport regression fix for -D
This also fixes the groff tests.
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/diffutils/diffutils-3.9-r1.ebuild | 58 | ||||
-rw-r--r-- | sys-apps/diffutils/files/diffutils-3.9-diff-D-option-regression.patch | 27 |
2 files changed, 85 insertions, 0 deletions
diff --git a/sys-apps/diffutils/diffutils-3.9-r1.ebuild b/sys-apps/diffutils/diffutils-3.9-r1.ebuild new file mode 100644 index 000000000000..b33f99dcdb75 --- /dev/null +++ b/sys-apps/diffutils/diffutils-3.9-r1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/diffutils.asc +inherit flag-o-matic verify-sig + +DESCRIPTION="Tools to make diffs and compare files" +HOMEPAGE="https://www.gnu.org/software/diffutils/" + +if [[ ${PV} == *_p* ]] ; then + # Subscribe to the 'platform-testers' ML to find these. + # Useful to test on our especially more niche arches and report issues upstream. + MY_COMMIT="43-2d50" + MY_P=${PN}-$(ver_cut 1-2).${MY_COMMIT} + SRC_URI="https://meyering.net/diff/${MY_P}.tar.xz" + SRC_URI+=" verify-sig? ( https://meyering.net/diff/${MY_P}.tar.xz.sig )" + S="${WORKDIR}"/${MY_P} +else + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" + SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="nls static" + +BDEPEND=" + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-diffutils ) +" + +PATCHES=( + "${FILESDIR}"/${P}-make-4.4-test-color.patch + "${FILESDIR}"/${P}-diff-D-option-regression.patch +) + +src_configure() { + use static && append-ldflags -static + + # Disable automagic dependency over libsigsegv; see bug #312351. + export ac_cv_libsigsegv=no + + # required for >=glibc-2.26, bug #653914 + use elibc_glibc && export gl_cv_func_getopt_gnu=yes + + local myeconfargs=( + # Interferes with F_S (sets F_S=2) + --disable-gcc-warnings + --with-packager="Gentoo" + --with-packager-version="${PVR}" + --with-packager-bug-reports="https://bugs.gentoo.org/" + $(use_enable nls) + ) + econf "${myeconfargs[@]}" +} diff --git a/sys-apps/diffutils/files/diffutils-3.9-diff-D-option-regression.patch b/sys-apps/diffutils/files/diffutils-3.9-diff-D-option-regression.patch new file mode 100644 index 000000000000..a12e1bc673a0 --- /dev/null +++ b/sys-apps/diffutils/files/diffutils-3.9-diff-D-option-regression.patch @@ -0,0 +1,27 @@ +https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61193 +https://git.savannah.gnu.org/cgit/groff.git/commit/?id=10274fb69e517b2c4b10fcd0ba3347e5bd0eefd7 +https://git.savannah.gnu.org/cgit/diffutils.git/commit/?id=ba08fbbb0ca5da455bf695236c57bc50e7faed50 + +From ba08fbbb0ca5da455bf695236c57bc50e7faed50 Mon Sep 17 00:00:00 2001 +From: Paul Eggert <eggert@cs.ucla.edu> +Date: Fri, 10 Feb 2023 15:33:40 -0800 +Subject: diff: fix bug where -D does not work +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Problem reported by Robert Webb (bug#61193). +* src/diff.c (main): Omit stray ‘sizeof’. +* tests/ifdef: New test. +* tests/Makefile.am (TESTS): Add it. +--- a/src/diff.c ++++ b/src/diff.c +@@ -416,7 +416,7 @@ main (int argc, char **argv) + char *base = b; + int changes = 0; + +- for (i = 0; i < sizeof sizeof C_ifdef_group_formats; i++) ++ for (i = 0; i < sizeof C_ifdef_group_formats; i++) + { + char ch = C_ifdef_group_formats[i]; + switch (ch) |