public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
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

             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).