From: Ken Brown <kbrown@cornell.edu>
To: cygwin-apps <cygwin-apps@cygwin.com>
Subject: [ITP] ragel 7.0.0.11
Date: Thu, 15 Nov 2018 14:55:00 -0000 [thread overview]
Message-ID: <e71d840b-8ea7-7db7-a0f8-79004d9d682b@cornell.edu> (raw)
[-- Attachment #1: Type: text/plain, Size: 2463 bytes --]
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
[-- Attachment #2: ragel.cygport --]
[-- Type: text/plain, Size: 1531 bytes --]
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
}
[-- Attachment #3: ragel-no_undefined.patch --]
[-- Type: text/plain, Size: 1593 bytes --]
--- origsrc/ragel-7.0.0.11/src/Makefile.am 2018-05-18 12:42:37.000000000 -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 $(COLM_LIBDEP)
-
BUILT_SOURCES = \
version.h \
parse.c rlreduce.cc
if WITH_RAGEL_KELBT
-nodist_ragel_SOURCES += \
+nodist_libragel_la_SOURCES += \
rlscan.cc rlparse.cc rlparse.h
BUILT_SOURCES += \
rlscan.cc rlparse.cc rlparse.h
endif
+#
+# ragel program.
+#
+ragel_CPPFLAGS = -I$(top_srcdir)/aapl
+
+dist_ragel_SOURCES = \
+ main.cc
+
+ragel_LDADD = libragel.la libfsm.la $(COLM_LD)
+ragel_DEPENDENCIES = libragel.la libfsm.la $(COLM_LIBDEP)
+
version.h: Makefile
echo '#define VERSION "$(PACKAGE_VERSION)"' > version.h
echo '#define PUBDATE "$(PUBDATE)"' >> version.h
next reply other threads:[~2018-11-15 14:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-15 14:55 Ken Brown [this message]
2018-11-15 16:09 ` Marco Atzeri
2018-11-20 19:00 ` Achim Gratz
2018-11-20 21:08 ` Ken Brown
2018-11-25 19:34 ` Achim Gratz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e71d840b-8ea7-7db7-a0f8-79004d9d682b@cornell.edu \
--to=kbrown@cornell.edu \
--cc=cygwin-apps@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).