Normally, bash-2.05b requires bison to rebuild its .y files. Because there's no easy way to build bison without already having a working Bash, we currently use yacc from heirloom-devtools instead - unfortunately this version of yacc is CDDL, while meslibc (the only libc available then) is GPL, which are incompatible licenses.
Another yacc implementation, byacc, is in the public domain, and comes with a simple makefile - unfortunately this makefile was abandoned a while ago, and doesn't build modern versions of byacc, which are instead meant to built via autotools. Rather than searching for an older version of byacc, I chose to update the makefile, resulting in https://gist.github.com/Googulator/9eee5c0ccd10fd819bf937b4f650b52f which is able to build a working byacc on my modern Linux system.
Normally, bash-2.05b requires bison to rebuild its .y files. Because there's no easy way to build bison without already having a working Bash, we currently use yacc from heirloom-devtools instead - unfortunately this version of yacc is CDDL, while meslibc (the only libc available then) is GPL, which are incompatible licenses.
Another yacc implementation, byacc, is in the public domain, and comes with a simple makefile - unfortunately this makefile was abandoned a while ago, and doesn't build modern versions of byacc, which are instead meant to built via autotools. Rather than searching for an older version of byacc, I chose to update the makefile, resulting in https://gist.github.com/Googulator/9eee5c0ccd10fd819bf937b4f650b52f which is able to build a working byacc on my modern Linux system.
With this, hopefully we can go from:
to:
hence only linking heirloom-devtools to musl, whose license is compatible with CDDL.