termux / termux-packages

A package build system for Termux.
https://termux.dev
Other
12.79k stars 2.93k forks source link

[Package]: ragel6 #20690

Closed bottle2 closed 3 weeks ago

bottle2 commented 3 weeks ago

Why is it worth to add this package?

Ragel 6.10 is the stable release and the one with readily available documentation. Although it is important to use and test software under development, such as Ragel version 7, I really don't have the spare time to deal with undocumented breaking changes and unstable behavior, because I have to finish this college assignment, which I'm developing both on my smartphone and sometimes on my Windows laptop, where Ragel 6.10 is available through MSYS2.

Home page URL

https://www.colm.net/open-source/ragel/

Source code URL

https://github.com/adrian-thurston/ragel/tree/ragel-6.10

Packaging policy acknowledgement

Additional information

Currently available Ragel used to be 6.10.

bottle2 commented 3 weeks ago

Regarding "undocumented breaking changes":

I was about to sprea fakenews defaming Ragel 7, when I noticed I misunderstood noend option for write exec statement. I got everything working now! I'll reopen this issue if I face actual problems again.

TomJo2000 commented 3 weeks ago

Why do we even have a ragel package? The only package that depends on it got moved to disabled-packages 2+ years ago.

Is Ragel actually used as anything other than a build time DSL?

bottle2 commented 3 weeks ago

Why do we even have a ragel package? The only package that depends on it got moved to disabled-packages 2+ years ago.

* [hiptext: Move to disabled packages #8655](https://github.com/termux/termux-packages/pull/8655)

Is Ragel actually used as anything other than a build time DSL?

Yes, it is exclusively a build dependency, used to generate source files. It is not equivalent to runtime libraries such as PCRE, but it serves the same purpose of flex and re2c. In particular, its misuse led to the Cloudbleed vulnerability in 2017. Apparently Ruby users are particularly interested about it. I would love if it is kept around, as I'm learning it and parsing things like pet DSLs, command-line arguments and HTTP with zero dynamic memory overhead. However, aside from my personal enthusiasm, I did not find much online presence nor known high-profile users of Ragel other than CloudFlare.