diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/grep/Manifest b/sdk_container/src/third_party/portage-stable/sys-apps/grep/Manifest index acad192ff2..021a438f47 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/grep/Manifest +++ b/sdk_container/src/third_party/portage-stable/sys-apps/grep/Manifest @@ -1 +1,10 @@ +DIST grep-3.10.19-2ea9.tar.xz 1702712 BLAKE2B 93b6d07703039d6ace2a989498eb760d58bb57e01658d371ac4d010af7c6831f3e2908d38c8deaa300ff0d30b69449e975f08863a327acd71f18c5a0cf01b16b SHA512 4048b151a8c9004fc5d4a21f5b40cb5703945ba5635fcf262f847ba95dfa5022c1dae51b8efcb7ab288910623761d3daaa6f2c9352f2db667f288c86e8ee8791 +DIST grep-3.10.19-2ea9.tar.xz.sig 833 BLAKE2B 867c954910e160e271e048aa0476ab552640a8c52b3e018d0482734f79cb3ae20dc5259077fe09e0bb93284c88b8fbfdea19756d966c5df230bfe5df9f6a77f8 SHA512 e37ce1fcd36aafcf9e89c7603ce23b7cde207fc6ab5291140048091dea47c47505a282b4b2c666472ddfcc1fc0212112311f2ab88cff592ed4db31e51db67d83 +DIST grep-3.10.tar.xz 1687464 BLAKE2B 5ff169a4ed39e8af1e6729fd2e1bafd39036a4f56cf831f990d58bf9e76bc7d8b055254ae7f60509be4e8bf2f3737edb15431a8ecfc7fc058578d2abea3d73b9 SHA512 865e8f3fd7afc68f1a52f5e1e1ee05fb9c6d6182201efb0dbdf6075347b0b1d2bf0784537a8f8dd4fb050d523f7a1d2fb5b9c3e3245087d0e6cc12d6e9d3961b +DIST grep-3.10.tar.xz.sig 833 BLAKE2B 0b13c8c8955b4e38889cf79b426618e006b05bc3b224e0705b2cb592b1520a7fc751d5cc386371707a53c8b6888c4e1f9dd31c3ea2ef5cbf4c97ddef3ba7d037 SHA512 02224ff2d6b3a9a50d0e15f7a9b3c264aa717602d133ac32b36a7315bf29ec3b94ef7ec31ee979b199264d10003dc502e20f9bf932bb32b4abe4426ea564d4be DIST grep-3.7.tar.xz 1641196 BLAKE2B acf03b1fe8065dac48d686de070bab9ecddae65c97f3b0e2be484e8abdd06d1fbdbb396f3d73dadadf9618aad2f02cf6416094bad64d5f2f15eab6b6b3adfeda SHA512 e9e45dcd40af8367f819f2b93c5e1b4e98a251a9aa251841fa67a875380fae52cfa27c68c6dbdd6a4dde1b1017ee0f6b9833ef6dd6e419d32d71b6df5e972b82 +DIST grep-3.7.tar.xz.sig 833 BLAKE2B 02a2850e22e8054dcfd02b6f08747a97d43dae9adb908516bdaed35750aa7f773832ad1b0b4c53d7b0ebc8f1fe2979e7938bbbeeb09ea00c11b4a0d5846c7b9c SHA512 9db28883b696fbbb0fad32f4ecd168954dc475d5f0a8f2b4f960ff615ef7dd8348a7caaee85a96287824472a29485ff921af121c582083ca5ad5c30960f99cf4 +DIST grep-3.8.tar.xz 1709536 BLAKE2B 24cf6f7aa35c85f59f508969ee9731c5be1e5c613e64e636f464bbdde917bb99ba739e4b82abf08da127ad0400d62e27d139f85142035745121d381982ec6c36 SHA512 2014519a80c6dcd799837e1bd7d9d5ebe8729ec54b0dc76981dac4755a9a8a9f200470cdcc911e2825bed8162e61da39e3dd60289f7393b48bf67314077d0c79 +DIST grep-3.8.tar.xz.sig 833 BLAKE2B 40f472389705375611015ba0eb85eb32643304b1a324877a75821d086a128a20d00df3d7cd960ec45709f40f21488bbcf993c6fe667ef23663688b33296e650b SHA512 8266b58485f225c2189814e3898c72e59d251b729e0c302d31f57abdb7ac2e6e28dde2c5c8095673b6f007b2a3ebc26db1dca910a7771aba80dad4b3c6761ee4 +DIST grep-3.9.tar.xz 1680380 BLAKE2B 33fefce2a831ad6f00f2eb1d8a063cf280635f2d9c481c98981f7a2ff143c846ab570a448c9c02c3ba08cf2c98612cb364d2d033baf92d62c4515315453cc6f9 SHA512 38aaa28bded9f6d1d527356e9e63bb1dafb4ec8f09e83f2d3bc86c1d6af1a5a8cb9895067375b5b8929ec2cba6ab71c369ed4c6e2a0f7a01dec3c11a6f4c1836 +DIST grep-3.9.tar.xz.sig 833 BLAKE2B bbb8a07986368755276c6648378afdbec44da2873574ebb0dce634b0e90da2cb6fd0eaf64969843e2fe65ae5e83aba6b1fea9fde9b246fbedf982393cf54b715 SHA512 d50e11d0d333c09a6afcae511c93cfb54d9dd0a6600f271abf5e103cbf8bdcf9b8606924d7c71770e20c35df5d5468dc339cea1f05d257776734e17f8378d891 diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/grep/files/loong-fix-build.patch b/sdk_container/src/third_party/portage-stable/sys-apps/grep/files/loong-fix-build.patch new file mode 100644 index 0000000000..e3b346dd92 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/grep/files/loong-fix-build.patch @@ -0,0 +1,30 @@ +[xen0n: this is https://github.com/sunhaiyong1978/CLFS-for-LoongArch/blob/1.0/patches/stack-direction-add-loongarch.patch with change to generated file added as well.] +From: Sun Haiyong +Date: Tue, 31 Aug 2021 11:11:52 +0800 +Subject: [PATCH] stack-direction: Add support for loongarch CPU + +* m4/stack-direction.m4 (SV_STACK_DIRECTION): When the CPU is loongarch, +set "sv_cv_stack_direction" to "-1" . +--- a/m4/stack-direction.m4 ++++ b/m4/stack-direction.m4 +@@ -32,6 +32,7 @@ AC_DEFUN([SV_STACK_DIRECTION], + i?86 | x86_64 | \ + i860 | \ + ia64 | \ ++ loongarch* | \ + m32r | \ + m68* | \ + m88k | \ +--- a/configure ++++ b/configure +@@ -35668,6 +35668,7 @@ else $as_nop + i?86 | x86_64 | \ + i860 | \ + ia64 | \ ++ loongarch* | \ + m32r | \ + m68* | \ + m88k | \ +-- +2.17.2 + diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/grep/files/ppc-musl.patch b/sdk_container/src/third_party/portage-stable/sys-apps/grep/files/ppc-musl.patch index d7d8255a44..4aff0ba1cf 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/grep/files/ppc-musl.patch +++ b/sdk_container/src/third_party/portage-stable/sys-apps/grep/files/ppc-musl.patch @@ -1,7 +1,8 @@ -Needed to fix build on ppc + musl. Doesn't seem to yet be in upstream gnulib. +Needed to fix build on ppc + musl. Should pop up in next gnulib sync in release (different patch). https://www.openwall.com/lists/musl/2017/11/05/2 https://github.com/void-linux/void-packages/blob/master/srcpkgs/grep/patches/ppc-musl.patch +https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=2d830e4a792fcd9f614ed08a7f18584b8b21d23b --- a/lib/sigsegv.c +++ b/lib/sigsegv.c @@ -221,8 +221,10 @@ int libsigsegv_version = LIBSIGSEGV_VERSION; diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.10.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.10.ebuild new file mode 100644 index 0000000000..9b91be42e5 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.10.ebuild @@ -0,0 +1,115 @@ +# 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/grep.asc +inherit flag-o-matic verify-sig + +DESCRIPTION="GNU regular expression matcher" +HOMEPAGE="https://www.gnu.org/software/grep/" + +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="8-026c" + MY_P=${PN}-$(ver_cut 1-2).${MY_COMMIT} + SRC_URI="https://meyering.net/${PN}/${MY_P}.tar.xz" + SRC_URI+=" verify-sig? ( https://meyering.net/${PN}/${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 ~arm64-macos ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +LICENSE="GPL-3+" +SLOT="0" +IUSE="+egrep-fgrep nls pcre static" + +# We lack dev-libs/libsigsegv[static-libs] for now +REQUIRED_USE="static? ( !sparc )" + +LIB_DEPEND=" + pcre? ( >=dev-libs/libpcre2-7.8-r1[static-libs(+)] ) + sparc? ( dev-libs/libsigsegv ) +" +RDEPEND=" + !static? ( ${LIB_DEPEND//\[static-libs(+)]} ) + nls? ( virtual/libintl ) + virtual/libiconv +" +DEPEND=" + ${RDEPEND} + static? ( ${LIB_DEPEND} ) +" +BDEPEND=" + virtual/pkgconfig + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-grep ) +" + +DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) + +QA_CONFIG_IMPL_DECL_SKIP=( + # Either gnulib FPs or fixed in newer autoconf, not worth autoreconf here for now? + MIN + alignof + static_assert +) + +src_prepare() { + default + + # bug #523898 + sed -i \ + -e "s:@SHELL@:${EPREFIX}/bin/sh:g" \ + -e "s:@grep@:${EPREFIX}/bin/grep:" \ + src/egrep.sh || die +} + +src_configure() { + use static && append-ldflags -static + + # We used to turn this off unconditionally (bug #673524) but we now + # allow it for cases where libsigsegv is better for userspace handling + # of stack overflows. + # In particular, it's necessary for sparc: bug #768135 + export ac_cv_libsigsegv=$(usex sparc) + + local myeconfargs=( + --bindir="${EPREFIX}"/bin + $(use_enable nls) + $(use_enable pcre perl-regexp) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + if use egrep-fgrep ; then + # Delete the upstream wrapper variants which warn on egrep+fgrep use + rm "${ED}"/bin/{egrep,fgrep} || die + + into / + # Install egrep, fgrep which don't warn. + # + # We do this by default to avoid breakage in old scripts + # and such which don't expect unexpected output on stderr, + # we've had examples of builds failing because foo-config + # starts returning a warning. + # + # https://lists.gnu.org/archive/html/bug-grep/2022-10/msg00000.html + newbin - egrep <<-EOF + #!/usr/bin/env sh + exec "${EPREFIX}/bin/grep" -E "\$@" + EOF + + newbin - fgrep <<-EOF + #!/usr/bin/env sh + exec "${EPREFIX}/bin/grep" -F "\$@" + EOF + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.10_p20230430.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.10_p20230430.ebuild new file mode 100644 index 0000000000..05138ad583 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.10_p20230430.ebuild @@ -0,0 +1,115 @@ +# 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/grep.asc +inherit flag-o-matic verify-sig + +DESCRIPTION="GNU regular expression matcher" +HOMEPAGE="https://www.gnu.org/software/grep/" + +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="19-2ea9" + MY_P=${PN}-$(ver_cut 1-2).${MY_COMMIT} + SRC_URI="https://meyering.net/${PN}/${MY_P}.tar.xz" + SRC_URI+=" verify-sig? ( https://meyering.net/${PN}/${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 ~arm64-macos ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +LICENSE="GPL-3+" +SLOT="0" +IUSE="+egrep-fgrep nls pcre static" + +# We lack dev-libs/libsigsegv[static-libs] for now +REQUIRED_USE="static? ( !sparc )" + +LIB_DEPEND=" + pcre? ( >=dev-libs/libpcre2-10.42-r1[static-libs(+)] ) + sparc? ( dev-libs/libsigsegv ) +" +RDEPEND=" + !static? ( ${LIB_DEPEND//\[static-libs(+)]} ) + nls? ( virtual/libintl ) + virtual/libiconv +" +DEPEND=" + ${RDEPEND} + static? ( ${LIB_DEPEND} ) +" +BDEPEND=" + virtual/pkgconfig + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-grep ) +" + +DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) + +QA_CONFIG_IMPL_DECL_SKIP=( + # Either gnulib FPs or fixed in newer autoconf, not worth autoreconf here for now? + MIN + alignof + static_assert +) + +src_prepare() { + default + + # bug #523898 + sed -i \ + -e "s:@SHELL@:${EPREFIX}/bin/sh:g" \ + -e "s:@grep@:${EPREFIX}/bin/grep:" \ + src/egrep.sh || die +} + +src_configure() { + use static && append-ldflags -static + + # We used to turn this off unconditionally (bug #673524) but we now + # allow it for cases where libsigsegv is better for userspace handling + # of stack overflows. + # In particular, it's necessary for sparc: bug #768135 + export ac_cv_libsigsegv=$(usex sparc) + + local myeconfargs=( + --bindir="${EPREFIX}"/bin + $(use_enable nls) + $(use_enable pcre perl-regexp) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + if use egrep-fgrep ; then + # Delete the upstream wrapper variants which warn on egrep+fgrep use + rm "${ED}"/bin/{egrep,fgrep} || die + + into / + # Install egrep, fgrep which don't warn. + # + # We do this by default to avoid breakage in old scripts + # and such which don't expect unexpected output on stderr, + # we've had examples of builds failing because foo-config + # starts returning a warning. + # + # https://lists.gnu.org/archive/html/bug-grep/2022-10/msg00000.html + newbin - egrep <<-EOF + #!/usr/bin/env sh + exec "${EPREFIX}/bin/grep" -E "\$@" + EOF + + newbin - fgrep <<-EOF + #!/usr/bin/env sh + exec "${EPREFIX}/bin/grep" -F "\$@" + EOF + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.7.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.7.ebuild index 2a4b293b29..5ea929a88b 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.7.ebuild +++ b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.7.ebuild @@ -1,17 +1,19 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit flag-o-matic toolchain-funcs +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/grep.asc +inherit flag-o-matic toolchain-funcs verify-sig DESCRIPTION="GNU regular expression matcher" HOMEPAGE="https://www.gnu.org/software/grep/" SRC_URI="mirror://gnu/${PN}/${P}.tar.xz" +SRC_URI+=" verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="nls pcre static" # We lack dev-libs/libsigsegv[static-libs] for now @@ -27,9 +29,12 @@ DEPEND="${RDEPEND} BDEPEND=" virtual/pkgconfig nls? ( sys-devel/gettext ) -" + verify-sig? ( sec-keys/openpgp-keys-grep )" -PATCHES=( "${FILESDIR}/ppc-musl.patch" ) +PATCHES=( + "${FILESDIR}/ppc-musl.patch" + "${FILESDIR}/loong-fix-build.patch" +) DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) @@ -40,6 +45,12 @@ src_prepare() { src/egrep.sh || die #523898 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 ./config.hin ./configure || die + find . -name Makefile.in -exec touch {} + || die } src_configure() { diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.8-r1.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.8-r1.ebuild new file mode 100644 index 0000000000..d7b1b8233c --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.8-r1.ebuild @@ -0,0 +1,100 @@ +# 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/grep.asc +inherit flag-o-matic verify-sig + +DESCRIPTION="GNU regular expression matcher" +HOMEPAGE="https://www.gnu.org/software/grep/" + +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="98-c9ac" + MY_P=${PN}-$(ver_cut 1-2).${MY_COMMIT} + SRC_URI="https://meyering.net/${PN}/${MY_P}.tar.xz" + SRC_URI+=" verify-sig? ( https://meyering.net/${PN}/${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 ~arm64-macos ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +LICENSE="GPL-3+" +SLOT="0" +IUSE="+egrep-fgrep nls pcre static" + +# We lack dev-libs/libsigsegv[static-libs] for now +REQUIRED_USE="static? ( !sparc )" + +LIB_DEPEND="pcre? ( >=dev-libs/libpcre2-7.8-r1[static-libs(+)] ) + sparc? ( dev-libs/libsigsegv )" +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} ) + nls? ( virtual/libintl ) + virtual/libiconv" +DEPEND="${RDEPEND} + static? ( ${LIB_DEPEND} )" +BDEPEND="virtual/pkgconfig + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-grep )" + +DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) + +src_prepare() { + default + + # bug #523898 + sed -i \ + -e "s:@SHELL@:${EPREFIX}/bin/sh:g" \ + -e "s:@grep@:${EPREFIX}/bin/grep:" \ + src/egrep.sh || die +} + +src_configure() { + use static && append-ldflags -static + + # We used to turn this off unconditionally (bug #673524) but we now + # allow it for cases where libsigsegv is better for userspace handling + # of stack overflows. + # In particular, it's necessary for sparc: bug #768135 + export ac_cv_libsigsegv=$(usex sparc) + + local myeconfargs=( + --bindir="${EPREFIX}"/bin + $(use_enable nls) + $(use_enable pcre perl-regexp) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + if use egrep-fgrep ; then + # Delete the upstream wrapper variants which warn on egrep+fgrep use + rm "${ED}"/bin/{egrep,fgrep} || die + + into / + # Install egrep, fgrep which don't warn. + # + # We do this by default to avoid breakage in old scripts + # and such which don't expect unexpected output on stderr, + # we've had examples of builds failing because foo-config + # starts returning a warning. + # + # https://lists.gnu.org/archive/html/bug-grep/2022-10/msg00000.html + newbin - egrep <<-EOF + #!/usr/bin/env sh + exec "${EPREFIX}/bin/grep" -E "\$@" + EOF + + newbin - fgrep <<-EOF + #!/usr/bin/env sh + exec "${EPREFIX}/bin/grep" -F "\$@" + EOF + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.9.ebuild b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.9.ebuild new file mode 100644 index 0000000000..602e426f3f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/sys-apps/grep/grep-3.9.ebuild @@ -0,0 +1,115 @@ +# 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/grep.asc +inherit flag-o-matic verify-sig + +DESCRIPTION="GNU regular expression matcher" +HOMEPAGE="https://www.gnu.org/software/grep/" + +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="35-c860" + MY_P=${PN}-$(ver_cut 1-2).${MY_COMMIT} + SRC_URI="https://meyering.net/${PN}/${MY_P}.tar.xz" + SRC_URI+=" verify-sig? ( https://meyering.net/${PN}/${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 ~arm64-macos ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +LICENSE="GPL-3+" +SLOT="0" +IUSE="+egrep-fgrep nls pcre static" + +# We lack dev-libs/libsigsegv[static-libs] for now +REQUIRED_USE="static? ( !sparc )" + +LIB_DEPEND=" + pcre? ( >=dev-libs/libpcre2-7.8-r1[static-libs(+)] ) + sparc? ( dev-libs/libsigsegv ) +" +RDEPEND=" + !static? ( ${LIB_DEPEND//\[static-libs(+)]} ) + nls? ( virtual/libintl ) + virtual/libiconv +" +DEPEND=" + ${RDEPEND} + static? ( ${LIB_DEPEND} ) +" +BDEPEND=" + virtual/pkgconfig + nls? ( sys-devel/gettext ) + verify-sig? ( sec-keys/openpgp-keys-grep ) +" + +DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) + +QA_CONFIG_IMPL_DECL_SKIP=( + # Either gnulib FPs or fixed in newer autoconf, not worth autoreconf here for now? + MIN + alignof + static_assert +) + +src_prepare() { + default + + # bug #523898 + sed -i \ + -e "s:@SHELL@:${EPREFIX}/bin/sh:g" \ + -e "s:@grep@:${EPREFIX}/bin/grep:" \ + src/egrep.sh || die +} + +src_configure() { + use static && append-ldflags -static + + # We used to turn this off unconditionally (bug #673524) but we now + # allow it for cases where libsigsegv is better for userspace handling + # of stack overflows. + # In particular, it's necessary for sparc: bug #768135 + export ac_cv_libsigsegv=$(usex sparc) + + local myeconfargs=( + --bindir="${EPREFIX}"/bin + $(use_enable nls) + $(use_enable pcre perl-regexp) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + if use egrep-fgrep ; then + # Delete the upstream wrapper variants which warn on egrep+fgrep use + rm "${ED}"/bin/{egrep,fgrep} || die + + into / + # Install egrep, fgrep which don't warn. + # + # We do this by default to avoid breakage in old scripts + # and such which don't expect unexpected output on stderr, + # we've had examples of builds failing because foo-config + # starts returning a warning. + # + # https://lists.gnu.org/archive/html/bug-grep/2022-10/msg00000.html + newbin - egrep <<-EOF + #!/usr/bin/env sh + exec "${EPREFIX}/bin/grep" -E "\$@" + EOF + + newbin - fgrep <<-EOF + #!/usr/bin/env sh + exec "${EPREFIX}/bin/grep" -F "\$@" + EOF + fi +} diff --git a/sdk_container/src/third_party/portage-stable/sys-apps/grep/metadata.xml b/sdk_container/src/third_party/portage-stable/sys-apps/grep/metadata.xml index 3c76c29888..89eff5cf9f 100644 --- a/sdk_container/src/third_party/portage-stable/sys-apps/grep/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/sys-apps/grep/metadata.xml @@ -5,6 +5,18 @@ base-system@gentoo.org Gentoo Base System + + + Install deprecated 'egrep' and 'fgrep' wrappers + for 'grep -E' and 'grep -F' respectively. + + GNU grep 3.8 onwards warns about their usage by + default, but the versions installed by this flag do not. + + No deprecation warnings are emitted when this + flag is enabled. + + cpe:/a:gnu:grep