Skip to content
Jens Staal edited this page Oct 5, 2026 · 3 revisions

Welcome to the APExp wiki!

The purpose of APExp is to provide a (temporary) build environment, where any POSIX software should be easy to configure and compile with minimal patching and manual intervention. To do this, APExp has diverged quite significantly from the original Plan9 APE on several points:

APE libraries and compilers

Several APE libraries (libap, lib9, libbsd, libv, libnet, libpthreads, ...) have been merged into a single libap.a. In addition to this, a large portion of musl libc has been imported into this merged libap, and the sources have been re-organized into a directory structure resembling that of musl libc. Lately have bug fixes and complementations to the library been added using generative AI (especially Claude). AI has also been instrumental in improving the compiler. The original compiler is mainly C89 with some C99 support. The APExp compilers have an almost complete support for C99, C11 and C23.

Utilities

Since the main aim of the project is to let configure scripts run with minimal interuptions, we focus on de facto standard utilities. This means that we have ported several utilities from GNU to Plan9:

  • awk
  • bash
  • bison
  • coreutils
  • diffutils
  • flex
  • grep
  • make
  • patch
  • sed
  • tar

We also have some additional utilities from sbase.

Archivers

Part as a proof-of-concept and part because many sources are released as archives, we build several different (un)archivers by default in APExp:

  • bzip2
  • gunzip
  • clzip
  • unace
  • unarj
  • unrar
  • xz
  • zstd

Additional languages

  • BASIC
  • Chicken scheme
  • ObjC
  • Perl
  • sqlite
  • Tcl with Tk GUI libraries and the iTcl extensions.

Additional libraries and utilities

  • libcurl and curl
  • libcurses
  • libdwarf and dwarfdump
  • libressl and openssl
  • libpng
  • libxml2

Clone this wiki locally