IRC channel logs

2025-01-31.log

back to list of logs

<ludocode>Has anyone bootstrapped re2c without generated files? It uses itself to generate its lexer and bison to generate its parsers. It's used in tools like ninja and cmark
<jackdk>The guix package does not seem to be bothered by this fact =| : https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/re2c.scm
<plasma41>ludocode: Unfortunately, it looks like even in the earliest easily-accessible version of re2c, it is a build dependency of itself. https://github.com/skvadrik/re2c/commit/bcf633273c9b17c1985df17b526dab97c1bd9395 Bonus points to anyone who can uncover an old CVS repository with even older revisions.
<plasma41>This 1993 paper on re2c may prove useful to anyone attempting to write bootstrapping code for re2c from scratch.
<plasma41> https://dl.acm.org/doi/abs/10.1145/176454.176487
<plasma41>If only the FTP server mentioned on this page were still in operation: https://web.archive.org/web/19990912034430/http://www.tildeslash.org/re2c/index.html
<lanodan>How old should it get? http://snapshot.debian.org/package/re2c/
<lanodan>Not old enough…
<lanodan>Although I feel like this one could be replaced with a hand-written version
<lanodan>Wew pre C++98 code
<aggi>ninja utility got a drop-in replacement implemented in ANSI C, that's samurai
<lanodan>Yeah, which is why I don't have re2c here, that said it's used by few other things as well: https://packages.gentoo.org/packages/dev-util/re2c/reverse-dependencies
<lanodan>Anyway, tried to see how far I could get but old C++ made me give up and then later versions like 0.14 is a bit more complex and requires autotools which probably ought to be tossed out
<aggi>the development baseline to built upon implies a no-c++ profile fully supported with alternative toolchain, including required development utilties to bootstrap any further _optional_ c++ dependency
<aggi>so far, i got linux2.4 back on board, sanitized musl-libc for linux2 ABI, and a _complete_ @system package set containing all required development utilities
<aggi>i've git-pushed latest kernel patches yesterday: https://codeberg.org/aggi/linux-tcc
<aggi>musl-libc patches reside inside an uncommitted git-workspace still, besides a complete fork of a gentoo hotfix-overlay for tinycc/static-linking support
<aggi>i've had a phone interview just today, with some job placement coaches, explaining some labor market compliant contracting was necessary asap
<matrix_bridge><Andrius Štikonas> argh, re2c is depending on itself too...
<matrix_bridge><Andrius Štikonas> and ninja is quite common tool... So hard to avoid re2c
<lanodan>ninja can be replaced by samurai at least
<stikonas>lanodan: for you own builds yes, but I guess it's harder to avoid hardcoded dependencies in distro packages
<stikonas>well, I guess depends on distro
<stikonas>on Gentoo it seems that you can use alternatives mechanism
<lanodan>Yeah works fine on gentoo and Alpine (which I also use) has been defaulting to samurai as well.
<stikonas>yeah, switched to samurai too
<stikonas>mid-kid: CC ^^
<stikonas>maybe worth switching in your instructions too?
<jackdk>also note: muon is a c99 pseudo-replacement for meson