Date: Wednesday, November 13, 2019 @ 17:44:17 Author: foutrelis Revision: 368390
archrelease: copy trunk to staging-x86_64 Added: flex/repos/staging-x86_64/ flex/repos/staging-x86_64/PKGBUILD (from rev 368389, flex/trunk/PKGBUILD) flex/repos/staging-x86_64/flex-pie.patch (from rev 368389, flex/trunk/flex-pie.patch) ----------------+ PKGBUILD | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ flex-pie.patch | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) Copied: flex/repos/staging-x86_64/PKGBUILD (from rev 368389, flex/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2019-11-13 17:44:17 UTC (rev 368390) @@ -0,0 +1,48 @@ +# Maintainer: Lukas Fleischer <lfleisc...@archlinux.org> +# Contributor: Allan McRae <al...@archlinux.org> +# Contributor: judd <jvi...@zeroflux.org> + +pkgname=flex +pkgver=2.6.4 +pkgrel=3 +pkgdesc="A tool for generating text-scanning programs" +arch=('x86_64') +url="https://github.com/westes/flex" +license=('custom') +groups=('base-devel') +depends=('glibc' 'm4' 'sh') +makedepends=('help2man') +source=("https://github.com/westes/flex/releases/download/v$pkgver/flex-$pkgver.tar.gz"{,.sig} + "flex-pie.patch") +md5sums=('2882e3179748cc9f9c23ec593d6adc8d' + 'SKIP' + '0a8e8242b37c57b0bc0c6f673bceb5b7') +validpgpkeys=('56C67868E93390AA1039AD1CE4B29C8D64885307') # Will Estes + +prepare() { + cd "$pkgname-$pkgver" + patch -p1 -i "$srcdir"/flex-pie.patch + autoreconf +} + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +check() { + cd "$pkgname-$pkgver" + + # cxx_restart fails - https://github.com/westes/flex/issues/98 + make -k check || true +} + +package() { + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + ln -s flex "${pkgdir}/usr/bin/lex" + + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/license.txt" +} Copied: flex/repos/staging-x86_64/flex-pie.patch (from rev 368389, flex/trunk/flex-pie.patch) =================================================================== --- staging-x86_64/flex-pie.patch (rev 0) +++ staging-x86_64/flex-pie.patch 2019-11-13 17:44:17 UTC (rev 368390) @@ -0,0 +1,39 @@ +This patch fixes a flex-2.6.4 build failure on x86_64 and possibly other +architectures where `size_t' is larger than `int'. The failure occurs as +follows: + +A missing `reallocarray' prototype during compilation means that the +compiler assumes an `int' return type. When compiling with `-pie' (standard +for Fedora), addresses on the heap can be larger than `int' can store. Thus, +pointers returned from `reallocarray' are truncated and any read/write to +them leads to a SIGSEGV. + +From 24fd0551333e7eded87b64dd36062da3df2f6380 Mon Sep 17 00:00:00 2001 +From: Explorer09 <explore...@gmail.com> +Date: Mon, 4 Sep 2017 10:47:33 +0800 +Subject: [PATCH] build: AC_USE_SYSTEM_EXTENSIONS in configure.ac. + +This would, e.g. define _GNU_SOURCE in config.h, enabling the +reallocarray() prototype in glibc 2.26+ on Linux systems with that +version of glibc. + +Fixes #241. +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -25,8 +25,10 @@ + # autoconf requirements and initialization + + AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-h...@lists.sourceforge.net],[flex]) ++AC_PREREQ([2.60]) + AC_CONFIG_SRCDIR([src/scan.l]) + AC_CONFIG_AUX_DIR([build-aux]) ++AC_USE_SYSTEM_EXTENSIONS + LT_INIT + AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign check-news std-options dist-lzip parallel-tests subdir-objects]) + AC_CONFIG_HEADER([src/config.h])