mirror of
https://github.com/flatcar/scripts.git
synced 2026-05-05 20:26:44 +02:00
sys-devel/m4: Sync with Gentoo
It's from Gentoo commit 231e4e05dfbf967ae40fe2c2e4c0eebac9ac496f.
This commit is contained in:
parent
fcdec9bd96
commit
f7a35aad67
50
sdk_container/src/third_party/portage-stable/sys-devel/m4/files/m4-1.4.19-fortify-source.patch
vendored
Normal file
50
sdk_container/src/third_party/portage-stable/sys-devel/m4/files/m4-1.4.19-fortify-source.patch
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
https://lists.gnu.org/archive/html/m4-patches/2023-01/msg00001.html
|
||||
https://bugs.gentoo.org/890273
|
||||
|
||||
From 960b9b4d0774f78d286932251d6f53f638aefb19 Mon Sep 17 00:00:00 2001
|
||||
From: Sam James <sam@gentoo.org>
|
||||
Date: Mon, 9 Jan 2023 08:00:34 +0000
|
||||
Subject: [PATCH] build: Don't add _FORTIFY_SOURCE if already set by
|
||||
user/toolchain
|
||||
|
||||
Newer toolchains (GCC 12+ or Clang 9+, glibc-2.34) allow _FORTIFY_SOURCE=3.
|
||||
|
||||
The current macro used in configure.ac will forcefully downgrade to F_S=2
|
||||
and emit a warning if the user set something else:
|
||||
```
|
||||
x86_64-pc-linux-gnu-gcc -DEXEEXT=\"\" -I. -I../lib -DIN_M4_GNULIB_TESTS=1 -I. -I. -I.. -I./.. -I../lib -I./../lib -O2 -pipe -march=native -fdiagnostics-color=always -frecord-gcc-switches -Wreturn-type -ggdb3 -Werror=implicit-function-declaration -Werror=implicit-int -c -o glthread/thread.o glthread/thread.c
|
||||
In file included from glthread/thread.c:20:
|
||||
../lib/config.h:202: warning: "_FORTIFY_SOURCE" redefined
|
||||
202 | # define _FORTIFY_SOURCE 2
|
||||
|
|
||||
<built-in>: note: this is the location of the previous definition
|
||||
```
|
||||
|
||||
See: 390d259efe8e1c7e4b6babb4738fef7427416857
|
||||
Signed-off-by: Sam James <sam@gentoo.org>
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -133,7 +133,9 @@ if test "$gl_gcc_warnings" = yes; then
|
||||
[/* Enable compile-time and run-time bounds-checking, and some warnings,
|
||||
without upsetting newer glibc. */
|
||||
#if defined __OPTIMIZE__ && __OPTIMIZE__
|
||||
- # define _FORTIFY_SOURCE 2
|
||||
+ # ifndef _FORTIFY_SOURCE
|
||||
+ # define _FORTIFY_SOURCE 2
|
||||
+ # endif
|
||||
#endif
|
||||
])
|
||||
fi
|
||||
--- a/lib/config.hin
|
||||
+++ b/lib/config.hin
|
||||
@@ -198,7 +198,9 @@
|
||||
/* Enable compile-time and run-time bounds-checking, and some warnings,
|
||||
without upsetting newer glibc. */
|
||||
#if defined __OPTIMIZE__ && __OPTIMIZE__
|
||||
- # define _FORTIFY_SOURCE 2
|
||||
+ # ifndef _FORTIFY_SOURCE
|
||||
+ # define _FORTIFY_SOURCE 2
|
||||
+ # endif
|
||||
#endif
|
||||
|
||||
|
||||
101
sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19-r1.ebuild
vendored
Normal file
101
sdk_container/src/third_party/portage-stable/sys-devel/m4/m4-1.4.19-r1.ebuild
vendored
Normal file
@ -0,0 +1,101 @@
|
||||
# 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/m4.asc
|
||||
inherit verify-sig
|
||||
|
||||
DESCRIPTION="GNU macro processor"
|
||||
HOMEPAGE="https://www.gnu.org/software/m4/m4.html"
|
||||
if [[ ${PV} == *_beta* ]] ; then
|
||||
MY_P="${PN}-1.4.18d"
|
||||
SRC_URI="https://alpha.gnu.org/gnu/${PN}/${MY_P}.tar.xz"
|
||||
SRC_URI+=" verify-sig? ( https://alpha.gnu.org/gnu/${PN}/${MY_P}.tar.xz.sig )"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
else
|
||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
||||
SRC_URI+=" https://dev.gentoo.org/~floppym/dist/${P}-test-198-sysval-r1.patch.gz"
|
||||
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-3"
|
||||
SLOT="0"
|
||||
IUSE="examples nls"
|
||||
|
||||
RDEPEND="
|
||||
virtual/libiconv
|
||||
nls? (
|
||||
sys-devel/gettext
|
||||
virtual/libintl
|
||||
)"
|
||||
DEPEND="${RDEPEND}"
|
||||
# Remember: cannot dep on autoconf since it needs us
|
||||
BDEPEND="app-arch/xz-utils
|
||||
nls? ( sys-devel/gettext )
|
||||
verify-sig? ( sec-keys/openpgp-keys-m4 )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/ppc-musl.patch
|
||||
"${FILESDIR}"/loong-fix-build.patch
|
||||
"${FILESDIR}"/${PN}-1.4.19-make-4.4-tests.patch
|
||||
"${WORKDIR}"/${P}-test-198-sysval-r1.patch
|
||||
"${FILESDIR}"/${PN}-1.4.19-fortify-source.patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig ; then
|
||||
# Needed for downloaded patch (which is unsigned, which is fine)
|
||||
verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.sig}
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# touch generated files after patching m4, to avoid activating maintainer
|
||||
# mode
|
||||
# remove when loong-fix-build.patch is no longer necessary
|
||||
touch ./aclocal.m4 ./lib/config.hin ./configure ./doc/stamp-vti || die
|
||||
find . -name Makefile.in -exec touch {} + || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local -a myeconfargs=(
|
||||
--enable-changeword
|
||||
|
||||
--with-packager="Gentoo Linux"
|
||||
--with-packager-version="${PVR}"
|
||||
--with-packager-bug-reports="https://bugs.gentoo.org/"
|
||||
|
||||
$(usex nls '' '--disable-nls')
|
||||
|
||||
# Disable automagic dependency over libsigsegv; see bug #278026
|
||||
ac_cv_libsigsegv=no
|
||||
)
|
||||
|
||||
[[ ${USERLAND} != GNU ]] && myeconfargs+=( --program-prefix=g )
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
[[ -d /none ]] && die "m4 tests will fail with /none/" #244396
|
||||
emake check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# autoconf-2.60 for instance, first checks gm4, then m4. If we don't have
|
||||
# gm4, it might find gm4 from outside the prefix on for instance Darwin
|
||||
use prefix && dosym m4 /usr/bin/gm4
|
||||
|
||||
if use examples ; then
|
||||
dodoc -r examples
|
||||
rm -f "${ED}"/usr/share/doc/${PF}/examples/Makefile*
|
||||
fi
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user