diff options
Diffstat (limited to 'sys-devel/autogen')
-rw-r--r-- | sys-devel/autogen/Manifest | 3 | ||||
-rw-r--r-- | sys-devel/autogen/autogen-5.18.16-r3.ebuild | 74 | ||||
-rw-r--r-- | sys-devel/autogen/files/autogen-5.18.16-FORTIFY_SOURCE.patch | 100 | ||||
-rw-r--r-- | sys-devel/autogen/files/autogen-5.18.16-configure-c99.patch | 42 |
4 files changed, 219 insertions, 0 deletions
diff --git a/sys-devel/autogen/Manifest b/sys-devel/autogen/Manifest index e7ccea351813..8b3501b1828a 100644 --- a/sys-devel/autogen/Manifest +++ b/sys-devel/autogen/Manifest @@ -1,3 +1,5 @@ +AUX autogen-5.18.16-FORTIFY_SOURCE.patch 3582 BLAKE2B 324cd6455caaf116419cbea323439742e936242dc3e49f5068f0fce4090a13576fb59d43777b0026f1bd720f6dd2a7c8f120e2d8b405d216f7067e6ea2db2fcc SHA512 483d49422b7f724e44d6b1f1fe1216194131121edfa4736b3cf80e9da869ae2624613c0fa4ecccf40120f987eda0d4eba96bfc6243247b444dba8b1bd19bf9ba +AUX autogen-5.18.16-configure-c99.patch 1380 BLAKE2B ec007ffc3052d156e2dfa671cecac363f849f44e51958364967a113ceb79b28cf1bc94e96b8a7432f06878594fbee9b0f6ca40d81135cd8617048f55aeeb1cc2 SHA512 1f1a3f6c720b2bdaaad75fbf4ac3ecf5365df5ed1a60d2dd4248f31b035c7dbe670655f2842b5a6b9459d7f065b2e74ad6e68188cf5a6de37f9bc01b7d77121e AUX autogen-5.18.16-guile-3.patch 1277 BLAKE2B 18aea6b2da8afc14c37ad6dc6b21eafcf76a93715c399a167237d653aa133879093c6b0c430f28941db8f2b5c5760b9c9586a19836e9692cd080afb9c4e0efac SHA512 a006bcd4dd496274894f7d57c8884171a370fb1fd59bf2e61478c5848b3f3a2dedcda2e01a3f70a4904036ee097d570491065d1f2bf18bcb2ce7525727e17689 AUX autogen-5.18.16-make-4.3.patch 814 BLAKE2B 53c823c59d4c896881593190fa27242bc90cc47412ca79fa58a29ecebd6ba1f201aafca7262c7eec30749e684148ae845fb1db1f8687b15b9a332e12462a12a0 SHA512 27489e5fd3a9df979a43c479d30e8566e863cd70d20ebf5788582aeaf8144912b7153f42f8df7156cd11b21ab849ff984f5042667500ee041af76de85a8eea3e AUX autogen-5.18.16-no-werror.patch 738 BLAKE2B f6228e7eb39cbdffae794d62e352ee0b3bee7a60f46ef31585838fc24ac85a8dac813aa698670f0d94fc1767add8b083c646dd89c56527c2e3765fac0d61f51c SHA512 ecf7f910957bface75eb2b828c5ba90b49c205183ea9242c2f47907fbf6bfd1154b4dc1d2ed0fef8bbf3c8f01d05bfa1450ecdef73786ff0292bbfdd904bd193 @@ -7,4 +9,5 @@ DIST autogen-5.18.16-gnulib-3b57ddee0acffd23cc51bc8910a15cf879f90619-lib-verify. DIST autogen-5.18.16.tar.xz 1046276 BLAKE2B 23f9e0948f24ada715fb2bcbbfecba768cf51d169ea3ff4724a97b18f598d2d7fb2ffa7e23919ec8dcc0e352f9d3280f3740dab279a0af1412919cf10c6cb0bf SHA512 5f12c982dbe27873f5649a96049bf019ff183c90cc0c8a9196556b0ca02e72940cd422f6d6601f68cc7d8763b1124f2765c3b1a6335fc92ba07f84b03d2a53a1 EBUILD autogen-5.18.16-r1.ebuild 2179 BLAKE2B ff3c00f51e6987aadf1913a70161457438ddc7990bc88f01d13ad3a79ecb3f7b1af905a490b0e25016fa981670aa57522afecc975af000a7093e301c6ede5c6a SHA512 e02e57585d3b46675c01018aa00652a4632a7b80cbe24d2b1f94664f4a7bafcb53adaacd0a60cc38e36033139edcb9392d9974a7749bb3865f18a108b21d9f8f EBUILD autogen-5.18.16-r2.ebuild 2014 BLAKE2B 8df702391ab6c7f9b3fa21142e846a0bf1abf2743e05ec8a43d35c2678a9679f98ceeb341fb257c5e67508131cf7951e2cff8f1674eada2f0f5a6feac5c55ae2 SHA512 94e3df3faf7c50b1f134051c2ac724ddd84c10ea2baae823709e2958a44689579339d0ae966829f7a78920a72f1521ea944b24872a8cd0f8adabc6f265e107f5 +EBUILD autogen-5.18.16-r3.ebuild 2113 BLAKE2B 183549b43ddc3b973a09a0c4058e3ed97fb540d721ca70c0653c6537d3d94cc696b2b0302fe5a77e3c3c4b70337e88786dba14743d767941b8cb4bf67ba0c0b2 SHA512 f1229d199e5967b40d3d80a9bc70f3147a1af115ac50da92bca320c89bf8e52ff1963be622718d6764845173d7344d946cb69be63a691c91d312ed0fe0e19617 MISC metadata.xml 465 BLAKE2B d749ac3e74b39a006006e3f8d09ca2e8dd392f05385ffaf4d4d4cc95af4571c48e6ff6383e5f582ed6158d3536c9d9447c8f9587a8dc8ad9bce3ea3d5f8b2b5a SHA512 da4398891bf5ddd30545e5ca15b1591da5126d0ae22d00a5d5851864351c43465e6eac9010a9e35a029eb3009727fcd3264cb4fa87fd1f6545639f90b9cf2a47 diff --git a/sys-devel/autogen/autogen-5.18.16-r3.ebuild b/sys-devel/autogen/autogen-5.18.16-r3.ebuild new file mode 100644 index 000000000000..462f4d2b5059 --- /dev/null +++ b/sys-devel/autogen/autogen-5.18.16-r3.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs + +DESCRIPTION="Program and text file generation" +HOMEPAGE="https://www.gnu.org/software/autogen/" +SRC_URI=" + mirror://gnu/${PN}/rel${PV}/${P}.tar.xz + https://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob_plain;f=lib/verify.h;h=3b57ddee0acffd23cc51bc8910a15cf879f90619;hb=537a5511ab0b1326e69b32f87593a50aedb8a589 -> ${P}-gnulib-3b57ddee0acffd23cc51bc8910a15cf879f90619-lib-verify.h +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="libopts static-libs" + +RDEPEND=" + >=dev-scheme/guile-2.0:= + dev-libs/libxml2 +" +DEPEND="${RDEPEND}" +# TODO: investigate & drop this! +BDEPEND="sys-apps/which" + +# We don't pass the flag explicitly, bug #796776. +# Let's fix it upstream after next autogen release if it happens. +QA_CONFIGURE_OPTIONS+=" --enable-snprintfv-convenience" + +PATCHES=( + "${FILESDIR}"/${PN}-5.18.16-no-werror.patch + "${FILESDIR}"/${PN}-5.18.16-rpath.patch + "${FILESDIR}"/${PN}-5.18.16-respect-TMPDIR.patch + "${FILESDIR}"/${PN}-5.18.16-make-4.3.patch + "${FILESDIR}"/${PN}-5.18.16-guile-3.patch + "${FILESDIR}"/${PN}-5.18.16-configure-c99.patch + "${FILESDIR}"/${PN}-5.18.16-FORTIFY_SOURCE.patch +) + +src_prepare() { + default + + # missing tarball file + cp "${DISTDIR}"/${P}-gnulib-3b57ddee0acffd23cc51bc8910a15cf879f90619-lib-verify.h autoopts/verify.h || die + + # May be able to drop this on next release (>5.18.16) + eautoreconf +} + +src_configure() { + # suppress possibly incorrect -R flag + export ag_cv_test_ldflags= + + # autogen requires run-time sanity of regex and string functions. + # Use defaults of linux-glibc until we need somethig more advanced. + if tc-is-cross-compiler ; then + export ag_cv_run_strcspn=no + export libopts_cv_with_libregex=yes + fi + + econf $(use_enable static-libs static) +} + +src_install() { + default + + find "${ED}" -name '*.la' -delete || die + + if ! use libopts ; then + rm "${ED}"/usr/share/autogen/libopts-*.tar.gz || die + fi +} diff --git a/sys-devel/autogen/files/autogen-5.18.16-FORTIFY_SOURCE.patch b/sys-devel/autogen/files/autogen-5.18.16-FORTIFY_SOURCE.patch new file mode 100644 index 000000000000..b8108c1c0ed1 --- /dev/null +++ b/sys-devel/autogen/files/autogen-5.18.16-FORTIFY_SOURCE.patch @@ -0,0 +1,100 @@ +https://bugs.gentoo.org/889394 +https://sourceforge.net/p/autogen/bugs/212/ +https://bugzilla.redhat.com/2173623 +https://siddhesh.in/posts/that-is-not-a-number-that-is-a-freed-object.html +https://gcc.gnu.org/PR105217 +https://src.fedoraproject.org/rpms/autogen/blob/684b717191dd8bcd4e01a7775e62d50bc41b8ccb/f/autogen-fortify.patch + +commit 772b282a4e858a27af610bcdcc8b66925cbf1a83 +Author: Tomas Korbar <tkorbar@redhat.com> +Date: Tue Feb 28 16:08:13 2023 +0100 + + avoid GCC code analysis bug + +--- a/agen5/defLoad.c ++++ b/agen5/defLoad.c +@@ -448,17 +448,28 @@ read_defs(void) + FILE * fp; + def_input_mode_t in_mode = ready_def_input(&def_fname, &data_sz); + ++ /* ++ * "ready_def_input" has a lot of side effects. It's possible that ++ * there are no definitions, so "in_mode" is set to DONE and there's ++ * nothing to do. ++ */ + if (in_mode == INPUT_DONE) + return; + + /* + * Allocate the space we need for our definitions. ++ * "data_sz" was set by read_def_input to the size of the ++ * definitions file (or 4096 if we're reading from a fifo file). ++ * In that alternate case, we'll start the input size at 4096 bytes. ++ * The allocation includes space for context and a NUL byte or two + */ +- rem_sz = data_sz+4+sizeof(*base_ctx); +- base_ctx = (scan_ctx_t *)AGALOC(rem_sz, "file buf"); +- memset(VOIDP(base_ctx), 0, rem_sz); ++ { ++ size_t sz = data_sz + sizeof(long) + sizeof(*base_ctx); ++ base_ctx = (scan_ctx_t *)AGALOC(sz, "file buf"); ++ memset(VOIDP(base_ctx), 0, sz); ++ } + base_ctx->scx_line = 1; +- rem_sz = data_sz; ++ rem_sz = data_sz; // size available for storing def text + + /* + * Our base context will have its currency pointer set to this +@@ -482,6 +493,9 @@ read_defs(void) + if (fp == NULL) + AG_CANT(READ_DEF_OPEN, def_fname); + ++ /* ++ * If we're emitting dependency information, then do so. ++ */ + if (dep_fp != NULL) + add_source_file(def_fname); + } +@@ -516,8 +530,7 @@ read_defs(void) + * See if there is any space left + */ + if (rem_sz == 0) { +- scan_ctx_t * p; +- off_t dataOff; ++ off_t scan_off; + + /* + * IF it is a regular file, then we are done +@@ -527,24 +540,16 @@ read_defs(void) + + /* + * We have more data and we are out of space. +- * Try to reallocate our input buffer. ++ * AGREALOC will succeed or not return. + */ + data_sz += (rem_sz = 0x1000); +- dataOff = data - base_ctx->scx_data; +- p = AGREALOC(VOIDP(base_ctx), data_sz + 4 + sizeof(*base_ctx), +- "expand f buf"); ++ scan_off = data - base_ctx->scx_data; ++ base_ctx = AGREALOC(VOIDP(base_ctx), data_sz + 4 + sizeof(*base_ctx), ++ "expand f buf"); + +- /* +- * The buffer may have moved. Set the data pointer at an +- * offset within the new buffer and make sure our base pointer +- * has been corrected as well. +- */ +- if (p != base_ctx) { +- p->scx_scan = \ +- p->scx_data = (char *)(p + 1); +- data = p->scx_data + dataOff; +- base_ctx = p; +- } ++ base_ctx->scx_scan = \ ++ base_ctx->scx_data = (char *)(base_ctx + 1); ++ data = base_ctx->scx_data + scan_off; + } + } + diff --git a/sys-devel/autogen/files/autogen-5.18.16-configure-c99.patch b/sys-devel/autogen/files/autogen-5.18.16-configure-c99.patch new file mode 100644 index 000000000000..75e2e760a792 --- /dev/null +++ b/sys-devel/autogen/files/autogen-5.18.16-configure-c99.patch @@ -0,0 +1,42 @@ +https://bugs.gentoo.org/898590 +https://src.fedoraproject.org/rpms/autogen/c/7d157d98e73dcd1602111309a690643faa80e207?branch=rawhide +--- a/config/ag_macros.m4 ++++ b/config/ag_macros.m4 +@@ -113,7 +113,7 @@ AC_DEFUN([INVOKE_AG_MACROS_LAST],[ + fi + + AC_CACHE_CHECK([for static inline], [snv_cv_static_inline], [ +- AC_TRY_COMPILE([static inline foo(bar) int bar; { return bar; }], ++ AC_TRY_COMPILE([static inline int foo(bar) int bar; { return bar; }], + [return foo(0);], + [snv_cv_static_inline='static inline'], + [snv_cv_static_inline='static']) +@@ -428,7 +428,7 @@ int main (int argc, char ** argv) { + char zRej@<:@@:>@ = reject; + char zAcc@<:@@:>@ = "a-ok-eject"; + return strcspn( zAcc, zRej ) - 5; +-}] )] ++}] )], + [ag_cv_run_strcspn=yes],[ag_cv_run_strcspn=no],[ag_cv_run_strcspn=no] + ) # end of RUN_IFELSE + ]) # end of AC_CACHE_VAL for ag_cv_run_strcspn +--- a/configure ++++ b/configure +@@ -17338,7 +17338,7 @@ int main (int argc, char ** argv) { + char zAcc[] = "a-ok-eject"; + return strcspn( zAcc, zRej ) - 5; + } +- ag_cv_run_strcspn=yes ++#error + _ACEOF + if ac_fn_c_try_run "$LINENO"; then : + ag_cv_run_strcspn=no +@@ -18406,7 +18405,7 @@ else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +-static inline foo(bar) int bar; { return bar; } ++static inline int foo(bar) int bar; { return bar; } + int + main () + { |