This package depends on the two previously ITP'd packages, kelbt and colm, so
it
probably can't be reviewed easily until those are in the distro.
ragel is in Debian and Fedora:
https://packages.debian.org/source/stretch/ragel
https://apps.fedoraproject.org/packages/ragel
My cygport file and patch are attached.
The build requires a bootstrapping procedure, as explained in the cygport file.
For maximum transparency, I propose to first make a preliminary unannounced
release 1 using the attached cygport file as is. Once that's in the distro,
I'll install it, bump the release to 2, uncomment the "bootstrap=1" line, and
make a new release.
Package files for release 1:
http://sanibeltranquility.com/cygwin/x86/release/ragel/ragel-7.0.0.11-1-src.tar.xz
http://sanibeltranquility.com/cygwin/x86/release/ragel/ragel-7.0.0.11-1.tar.xz
http://sanibeltranquility.com/cygwin/x86/release/ragel/ragel-7.0.0.11-1.hint
http://sanibeltranquility.com/cygwin/x86/release/ragel/libragel-devel/libragel-devel-7.0.0.11-1.hint
http://sanibeltranquility.com/cygwin/x86/release/ragel/libragel-devel/libragel-devel-7.0.0.11-1.tar.xz
http://sanibeltranquility.com/cygwin/x86/release/ragel/ragel-debuginfo/ragel-debuginfo-7.0.0.11-1.hint
http://sanibeltranquility.com/cygwin/x86/release/ragel/ragel-debuginfo/ragel-debuginfo-7.0.0.11-1.tar.xz
http://sanibeltranquility.com/cygwin/x86/release/ragel/libragel0/libragel0-7.0.0.11-1.hint
http://sanibeltranquility.com/cygwin/x86/release/ragel/libragel0/libragel0-7.0.0.11-1.tar.xz
http://sanibeltranquility.com/cygwin/x86_64/release/ragel/ragel-7.0.0.11-1-src.tar.xz
http://sanibeltranquility.com/cygwin/x86_64/release/ragel/ragel-7.0.0.11-1.tar.xz
http://sanibeltranquility.com/cygwin/x86_64/release/ragel/ragel-7.0.0.11-1.hint
http://sanibeltranquility.com/cygwin/x86_64/release/ragel/libragel-devel/libragel-devel-7.0.0.11-1.hint
http://sanibeltranquility.com/cygwin/x86_64/release/ragel/libragel-devel/libragel-devel-7.0.0.11-1.tar.xz
http://sanibeltranquility.com/cygwin/x86_64/release/ragel/ragel-debuginfo/ragel-debuginfo-7.0.0.11-1.hint
http://sanibeltranquility.com/cygwin/x86_64/release/ragel/ragel-debuginfo/ragel-debuginfo-7.0.0.11-1.tar.xz
http://sanibeltranquility.com/cygwin/x86_64/release/ragel/libragel0/libragel0-7.0.0.11-1.hint
http://sanibeltranquility.com/cygwin/x86_64/release/ragel/libragel0/libragel0-7.0.0.11-1.tar.xz
License: MIT and LGPLv2+
Ken
NAME="ragel"
VERSION=7.0.0.11
RELEASE=1
inherit vim
HOMEPAGE="http://www.colm.net/open-source/${NAME};
SRC_URI="https://www.colm.net/files/${NAME}/${NAME}-${VERSION}.tar.gz;
PATCH_URI="ragel-no_undefined.patch"
CATEGORY="Devel"
SUMMARY="Finite state machine compiler"
DESCRIPTION="Ragel compiles executable finite state machines from regular
languages. Ragel targets C, C++, and ASM. Ragel state machines can
not only recognize byte sequences as regular expression machines do,
but can also execute code at arbitrary points in the recognition of a
regular language. Code embedding is done using inline operators that
do not disrupt the regular language syntax."
PKG_NAMES="ragel libragel0 libragel-devel"
ragel_CONTENTS="usr/bin/*.exe usr/share"
libragel0_SUMMARY="${SUMMARY} (runtime)"
libragel0_CONTENTS="usr/bin/cyg*-0.dll"
libragel_devel_SUMMARY="${SUMMARY} (devel)"
libragel_devel_CONTENTS="usr/include usr/lib"
DEPEND="colm libcolm-devel"
# The build of a fully-functional ragel package requires some version
# of ragel.exe. Until that's available, we can build and install a
# less functional package for bootstrapping.
# The following line should be commented out for the initial build,
# and uncommented after the bootstrap ragel is installed.
# bootstrap=1
if defined bootstrap
then
DEPEND+=" ragel kelbt"
fi
src_compile() {
cd ${S}
cygautoreconf
lndirs
cd ${B}
cygconf
cygmake
}
src_install() {
cd ${B}
cyginstall
cd ${S}
viminto syntax
dovim ragel.vim
}
--- origsrc/ragel-7.0.0.11/src/Makefile.am 2018-05-18 12:42:37.0
-0400
+++ src/ragel-7.0.0.11/src/Makefile.am 2018-11-14 17:35:09.132763500 -0500
@@ -35,6 +35,8 @@ data_DATA = ragel.lm
#
libfsm_la_CPPFLAGS = -I$(top_srcdir)/aapl
+libfsm_la_LDFLAGS = -no-undefined
+
dist_libfsm_la_SOURCES = \
buffer.h codegen.h \
actloop.h actexp.h \
@@ -61,36 +63,40 @@ nodist_libfsm_la_SOURCES = \
#
libragel_la_CPPFLAGS = -I$(top_srcdir)/aapl -DBINDIR='"@bindir@"'
+libragel_la_LDFLAGS = -no-undefined
+
+libragel_la_LIBADD = libfsm.la $(COLM_LD)
+
dist_libragel_la_SOURCES = \
parsedata.h parsetree.h inputdata.h pcheck.h reducer.h rlscan.h load.h \
parsetree.cc parsedata.cc inputdata.cc load.cc reducer.cc
-#
-# ragel program.
-#
-ragel_CPPFLAGS = -I$(top_srcdir)/aapl
-
-dist_ragel_SOURCES = \
- main.cc
-
-nodist_ragel_SOURCES = \
+nodist_libragel_la_SOURCES = \
parse.c rlreduce.cc
-ragel_LDADD = libragel.la libfsm.la $(COLM_LD)
-ragel_DEPENDENCIES = libragel.la libfsm.la