summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore31
-rw-r--r--packaging/re2c.manifest5
-rw-r--r--packaging/re2c.spec48
3 files changed, 53 insertions, 31 deletions
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 7a17b7b8..00000000
--- a/.gitignore
+++ /dev/null
@@ -1,31 +0,0 @@
-# Please do not use this ignore file to define platform specific files
-# e.g. autogenerated files by IDE.
-#
-# For these purposes create a global .gitignore file, which is a list of rules
-# for ignoring files in every Git repository on your computer.
-#
-# https://help.github.com/articles/ignoring-files/#create-a-global-gitignore
-
-# The directories to ignore (do not add trailing '/'s, they skip symlinks).
-/autom4te.cache
-/m4
-/test_*
-/.build*
-/bazel-*
-
-# Ignore user defined CMake presets
-CMakeUserPresets.json
-
-# The files autogenerated by automake.
-Makefile.in
-aclocal.m4
-configure
-compile
-config.h.in
-config.guess
-config.sub
-depcomp
-install-sh
-ltmain.sh
-missing
-test-driver
diff --git a/packaging/re2c.manifest b/packaging/re2c.manifest
new file mode 100644
index 00000000..017d22d3
--- /dev/null
+++ b/packaging/re2c.manifest
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
diff --git a/packaging/re2c.spec b/packaging/re2c.spec
new file mode 100644
index 00000000..dd4e9165
--- /dev/null
+++ b/packaging/re2c.spec
@@ -0,0 +1,48 @@
+Name: re2c
+Version: 3.1
+Release: 0
+License: PD
+Summary: Tool for generating C-based recognizers from regular expressions
+Url: http://re2c.org/
+Group: Development/Libraries/C and C++
+Source: %{name}-%{version}.tar.bz2
+Source1001: re2c.manifest
+
+BuildRequires: gcc-c++
+BuildRequires: pkgconfig(python3)
+
+%description
+re2c is a tool for writing fast and flexible lexers. Unlike other such
+tools, it concentrates solely on generating efficient code for matching
+regular expressions. This makes it suitable for a wide variety of
+applications. The generated scanners approach hand-crafted ones in
+terms of size and speed.
+
+%prep
+%setup -q
+cp %{SOURCE1001} .
+find -type d -name .svn -print0 | xargs -r0 rm -rf
+find CHANGELOG lessons examples -type f -print0 \
+ | xargs -r0 chmod -v a-x
+
+%build
+export CFLAGS+=" -fPIC"
+export CXXFLAGS+=" -fPIC"
+export LDFLAGS+=" -pie"
+mkdir -p m4
+autoreconf -i -W all
+
+%configure
+%{__make} %{?_smp_mflags}
+
+%install
+%make_install
+%remove_docs
+
+%files
+%manifest %{name}.manifest
+%defattr(-,root,root,-)
+%{_bindir}/re2c
+%{_bindir}/re2go
+%{_bindir}/re2rust
+%{_datadir}/re2c/stdlib/unicode_categories.re