Getting Emacs ada-mode working

[ Previously incorrectly posted in wrong thread. ]

Finally getting around to trying to use Alire to build ada-mode infrastructure. This is on my Gentoo system, with alr 2.0:

$ ./build.sh
alr is /home/alexis/.local/bin/alr
building ada-mode executables via Alire
warn: Spent 0.14 seconds exploring complete solutions                    
warn:                                                                
warn:    New solution is incomplete.
warn:    +        emacs_wisi          4.3.2   (new)
warn:    +📦      gnat                13.2.1  (new,gnat_native,binary)
warn:    +        gnatcoll            22.0.0  (new,indirect)
warn:    +        libgpr              22.0.0  (new,indirect)
warn:    +        stephes_ada_library 3.7.3   (new)
warn:    +        wisitoken           4.2.1   (new)
warn:    +        xmlada              22.0.0  (new,indirect)
warn:    Missing:
warn:    +❗      re2c                >=2.0.3 (new,missing)
warn: 
warn: Could not find a complete solution for emacs_ada_mode=8.1.0
Build will fail unless externals are made available, do you want to continue?
[Y] Yes  [N] No  (default is No) no

But re2c 2.2 is installed:

$ eix re2c
[I] dev-util/re2c (2.2@13/06/23): Tool for generating C-based recognizers from regular expressions

with the specific files installed by that package being:

$ equery f re2c
 * Searching for re2c ...
 * Contents of dev-util/re2c-2.2:
/usr
/usr/bin
/usr/bin/re2c
/usr/bin/re2go
/usr/share
/usr/share/doc
/usr/share/doc/re2c-2.2
/usr/share/doc/re2c-2.2/CHANGELOG.bz2
/usr/share/doc/re2c-2.2/README.md.bz2
/usr/share/doc/re2c-2.2/examples
/usr/share/doc/re2c-2.2/examples/c
/usr/share/doc/re2c-2.2/examples/c/01_basic.c
/usr/share/doc/re2c-2.2/examples/c/01_basic.re
/usr/share/doc/re2c-2.2/examples/c/__run_all.sh
/usr/share/doc/re2c-2.2/examples/c/conditions
/usr/share/doc/re2c-2.2/examples/c/conditions/parse_u32_blocks.c
/usr/share/doc/re2c-2.2/examples/c/conditions/parse_u32_blocks.re
/usr/share/doc/re2c-2.2/examples/c/conditions/parse_u32_conditions.c
/usr/share/doc/re2c-2.2/examples/c/conditions/parse_u32_conditions.re
/usr/share/doc/re2c-2.2/examples/c/encodings
/usr/share/doc/re2c-2.2/examples/c/encodings/unicode_identifier.c
/usr/share/doc/re2c-2.2/examples/c/encodings/unicode_identifier.re
/usr/share/doc/re2c-2.2/examples/c/eof
/usr/share/doc/re2c-2.2/examples/c/eof/01_sentinel.c
/usr/share/doc/re2c-2.2/examples/c/eof/01_sentinel.re
/usr/share/doc/re2c-2.2/examples/c/eof/02_bounds_checking.c
/usr/share/doc/re2c-2.2/examples/c/eof/02_bounds_checking.re
/usr/share/doc/re2c-2.2/examples/c/eof/03_eof_rule.c
/usr/share/doc/re2c-2.2/examples/c/eof/03_eof_rule.re
/usr/share/doc/re2c-2.2/examples/c/eof/04_generic_api_sentinel.c
/usr/share/doc/re2c-2.2/examples/c/eof/04_generic_api_sentinel.re
/usr/share/doc/re2c-2.2/examples/c/eof/05_generic_api_eof_rule.c
/usr/share/doc/re2c-2.2/examples/c/eof/05_generic_api_eof_rule.re
/usr/share/doc/re2c-2.2/examples/c/fill
/usr/share/doc/re2c-2.2/examples/c/fill/01_fill.c
/usr/share/doc/re2c-2.2/examples/c/fill/01_fill.re
/usr/share/doc/re2c-2.2/examples/c/fill/02_fill.c
/usr/share/doc/re2c-2.2/examples/c/fill/02_fill.re
/usr/share/doc/re2c-2.2/examples/c/generic_api
/usr/share/doc/re2c-2.2/examples/c/generic_api/ifstream.c
/usr/share/doc/re2c-2.2/examples/c/generic_api/ifstream.re
/usr/share/doc/re2c-2.2/examples/c/headers
/usr/share/doc/re2c-2.2/examples/c/headers/header.c
/usr/share/doc/re2c-2.2/examples/c/headers/header.re
/usr/share/doc/re2c-2.2/examples/c/headers/src
/usr/share/doc/re2c-2.2/examples/c/headers/src/lexer
/usr/share/doc/re2c-2.2/examples/c/headers/src/lexer/lexer.h
/usr/share/doc/re2c-2.2/examples/c/includes
/usr/share/doc/re2c-2.2/examples/c/includes/definitions.h
/usr/share/doc/re2c-2.2/examples/c/includes/extra_rules.re.inc
/usr/share/doc/re2c-2.2/examples/c/includes/include.c
/usr/share/doc/re2c-2.2/examples/c/includes/include.re
/usr/share/doc/re2c-2.2/examples/c/real_world
/usr/share/doc/re2c-2.2/examples/c/real_world/cxx98.c
/usr/share/doc/re2c-2.2/examples/c/real_world/cxx98.re
/usr/share/doc/re2c-2.2/examples/c/reuse
/usr/share/doc/re2c-2.2/examples/c/reuse/braille.c
/usr/share/doc/re2c-2.2/examples/c/reuse/braille.re
/usr/share/doc/re2c-2.2/examples/c/reuse/braille.ucs2.txt
/usr/share/doc/re2c-2.2/examples/c/reuse/braille.utf16.txt
/usr/share/doc/re2c-2.2/examples/c/reuse/braille.utf32.txt
/usr/share/doc/re2c-2.2/examples/c/reuse/braille.utf8.txt
/usr/share/doc/re2c-2.2/examples/c/reuse/reuse.c
/usr/share/doc/re2c-2.2/examples/c/reuse/reuse.re
/usr/share/doc/re2c-2.2/examples/c/reuse/usedir.c
/usr/share/doc/re2c-2.2/examples/c/reuse/usedir.re
/usr/share/doc/re2c-2.2/examples/c/state
/usr/share/doc/re2c-2.2/examples/c/state/push.c
/usr/share/doc/re2c-2.2/examples/c/state/push.re
/usr/share/doc/re2c-2.2/examples/c/submatch
/usr/share/doc/re2c-2.2/examples/c/submatch/01_stags.c
/usr/share/doc/re2c-2.2/examples/c/submatch/01_stags.re
/usr/share/doc/re2c-2.2/examples/c/submatch/01_stags_fill.c
/usr/share/doc/re2c-2.2/examples/c/submatch/01_stags_fill.re
/usr/share/doc/re2c-2.2/examples/c/submatch/02_mtags.c
/usr/share/doc/re2c-2.2/examples/c/submatch/02_mtags.re
/usr/share/doc/re2c-2.2/examples/c/submatch/03_posix.c
/usr/share/doc/re2c-2.2/examples/c/submatch/03_posix.re
/usr/share/doc/re2c-2.2/examples/c/submatch/http_rfc7230.c
/usr/share/doc/re2c-2.2/examples/c/submatch/http_rfc7230.re
/usr/share/doc/re2c-2.2/examples/c/submatch/parse_etc_passwd.c
/usr/share/doc/re2c-2.2/examples/c/submatch/parse_etc_passwd.re
/usr/share/doc/re2c-2.2/examples/c/submatch/parse_options.c
/usr/share/doc/re2c-2.2/examples/c/submatch/parse_options.re
/usr/share/doc/re2c-2.2/examples/c/submatch/parse_records.c
/usr/share/doc/re2c-2.2/examples/c/submatch/parse_records.re
/usr/share/doc/re2c-2.2/examples/c/submatch/uri_rfc3986.c
/usr/share/doc/re2c-2.2/examples/c/submatch/uri_rfc3986.re
/usr/share/doc/re2c-2.2/examples/go
/usr/share/doc/re2c-2.2/examples/go/01_basic.go
/usr/share/doc/re2c-2.2/examples/go/01_basic.re
/usr/share/doc/re2c-2.2/examples/go/__run_all.sh
/usr/share/doc/re2c-2.2/examples/go/conditions
/usr/share/doc/re2c-2.2/examples/go/conditions/parse_u32_blocks.go
/usr/share/doc/re2c-2.2/examples/go/conditions/parse_u32_blocks.re
/usr/share/doc/re2c-2.2/examples/go/conditions/parse_u32_conditions.go
/usr/share/doc/re2c-2.2/examples/go/conditions/parse_u32_conditions.re
/usr/share/doc/re2c-2.2/examples/go/encodings
/usr/share/doc/re2c-2.2/examples/go/encodings/unicode_identifier.go
/usr/share/doc/re2c-2.2/examples/go/encodings/unicode_identifier.re
/usr/share/doc/re2c-2.2/examples/go/eof
/usr/share/doc/re2c-2.2/examples/go/eof/01_sentinel.go
/usr/share/doc/re2c-2.2/examples/go/eof/01_sentinel.re
/usr/share/doc/re2c-2.2/examples/go/eof/02_bounds_checking.go
/usr/share/doc/re2c-2.2/examples/go/eof/02_bounds_checking.re
/usr/share/doc/re2c-2.2/examples/go/eof/03_eof_rule.go
/usr/share/doc/re2c-2.2/examples/go/eof/03_eof_rule.re
/usr/share/doc/re2c-2.2/examples/go/eof/04_generic_api_sentinel.go
/usr/share/doc/re2c-2.2/examples/go/eof/04_generic_api_sentinel.re
/usr/share/doc/re2c-2.2/examples/go/eof/05_generic_api_eof_rule.go
/usr/share/doc/re2c-2.2/examples/go/eof/05_generic_api_eof_rule.re
/usr/share/doc/re2c-2.2/examples/go/fill
/usr/share/doc/re2c-2.2/examples/go/fill/01_fill.go
/usr/share/doc/re2c-2.2/examples/go/fill/01_fill.re
/usr/share/doc/re2c-2.2/examples/go/fill/02_fill.go
/usr/share/doc/re2c-2.2/examples/go/fill/02_fill.re
/usr/share/doc/re2c-2.2/examples/go/headers
/usr/share/doc/re2c-2.2/examples/go/headers/header.go
/usr/share/doc/re2c-2.2/examples/go/headers/header.re
/usr/share/doc/re2c-2.2/examples/go/headers/src
/usr/share/doc/re2c-2.2/examples/go/headers/src/lexer
/usr/share/doc/re2c-2.2/examples/go/headers/src/lexer/lexer.go
/usr/share/doc/re2c-2.2/examples/go/includes
/usr/share/doc/re2c-2.2/examples/go/includes/definitions.go
/usr/share/doc/re2c-2.2/examples/go/includes/extra_rules.re.inc
/usr/share/doc/re2c-2.2/examples/go/includes/include.go
/usr/share/doc/re2c-2.2/examples/go/includes/include.re
/usr/share/doc/re2c-2.2/examples/go/reuse
/usr/share/doc/re2c-2.2/examples/go/reuse/reuse.go
/usr/share/doc/re2c-2.2/examples/go/reuse/reuse.re
/usr/share/doc/re2c-2.2/examples/go/reuse/usedir.go
/usr/share/doc/re2c-2.2/examples/go/reuse/usedir.re
/usr/share/doc/re2c-2.2/examples/go/state
/usr/share/doc/re2c-2.2/examples/go/state/push.go
/usr/share/doc/re2c-2.2/examples/go/state/push.re
/usr/share/doc/re2c-2.2/examples/go/submatch
/usr/share/doc/re2c-2.2/examples/go/submatch/01_stags.go
/usr/share/doc/re2c-2.2/examples/go/submatch/01_stags.re
/usr/share/doc/re2c-2.2/examples/go/submatch/01_stags_fill.go
/usr/share/doc/re2c-2.2/examples/go/submatch/01_stags_fill.re
/usr/share/doc/re2c-2.2/examples/go/submatch/02_mtags.go
/usr/share/doc/re2c-2.2/examples/go/submatch/02_mtags.re
/usr/share/doc/re2c-2.2/examples/go/submatch/03_posix.go
/usr/share/doc/re2c-2.2/examples/go/submatch/03_posix.re
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/re2c.1
/usr/share/man/man1/re2go.1
/usr/share/re2c
/usr/share/re2c/stdlib
/usr/share/re2c/stdlib/unicode_categories.re