flex: new package
authorW. Michael Petullo <mike@flyn.org>
Wed, 13 Apr 2022 19:27:31 +0000 (14:27 -0500)
committerNick Hainke <vincent@systemli.org>
Thu, 14 Apr 2022 04:40:58 +0000 (06:40 +0200)
Signed-off-by: W. Michael Petullo <mike@flyn.org>
devel/flex/Makefile [new file with mode: 0644]
devel/flex/patches/100-disable-tests-docs.patch [new file with mode: 0644]
devel/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch [new file with mode: 0644]

diff --git a/devel/flex/Makefile b/devel/flex/Makefile
new file mode 100644 (file)
index 0000000..0f4751c
--- /dev/null
@@ -0,0 +1,46 @@
+# SPDX-Identifier-License: GPL-2.0-only
+#
+# Copyright (C) 2022 W. Michael Petullo <mike@flyn.org>
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=flex
+PKG_VERSION:=2.6.4
+PKG_RELEASE:=$(AUTORELEASE)
+PKG_CPE_ID:=cpe:/a:flex_project:flex
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://github.com/westes/flex/releases/download/v$(PKG_VERSION)/
+PKG_HASH:=e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995
+
+PKG_FIXUP:=autoreconf
+
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+PKG_LICENSE:=BSD-2-Clause
+PKG_LICENSE_FILES:=COPYING
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/flex
+  SECTION:=devel
+  CATEGORY:=Development
+  TITLE:=flex
+  URL:=https://github.com/westes/flex
+endef
+
+define Package/flex/description
+  flex is a tool for generating scanners: programs which recognize lexical patterns in text
+endef
+
+CONFIGURE_ARGS += --disable-shared --disable-bootstrap
+
+define Package/flex/install
+       $(INSTALL_DIR) $(1)/usr/bin/
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/bin/flex \
+               $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,flex))
diff --git a/devel/flex/patches/100-disable-tests-docs.patch b/devel/flex/patches/100-disable-tests-docs.patch
new file mode 100644 (file)
index 0000000..f7097f2
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -43,10 +43,7 @@ EXTRA_DIST = \
+ SUBDIRS = \
+       src \
+-      doc \
+-      examples \
+       po \
+-      tests \
+       tools
+ # Create the ChangeLog, but only if we're inside a git working directory
diff --git a/devel/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch b/devel/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch
new file mode 100644 (file)
index 0000000..7c3645c
--- /dev/null
@@ -0,0 +1,27 @@
+From 24fd0551333e7eded87b64dd36062da3df2f6380 Mon Sep 17 00:00:00 2001
+From: Explorer09 <explorer09@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(+)
+
+--- 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-help@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])