sigrid/npe

Description
# npe

"Native Porting Environment" for 9front, pronounced "nope".

*WIP*

The project tries to provide a minimalistic (and mostly
non-conformant) POSIX environment with several additional libraries to
ease up porting of software to 9front.  The goal is to be able to
build and run non-native GUI software with very minimal changes, if
any.

Unlike APE, NPE is fully native and is not trying to hide any of the
native Plan 9 APIs.

## Status

* Some POSIX stuff is available
* SDL2 basics (video, audio, input, events)
* pthread basics

## Using NPE

Clone, run `mk install`.

Create a `mkfile` for the software to be built, and set `CFLAGS`:

	CFLAGS=$CFLAGS -p -I/sys/include/npe -D__plan9__ -D__${objtype}__

By default npe will override the `main` function with its own
`threadmain`.  If that behaviour isn't desired, add
`-D__plan9_keep_main__` to `CFLAGS`.

Stack size is set to 256k.

[General porting guide](http://docs.9front.org/porting).

## Helping out

Patches and bug reports are always welcome.

	g FIXME
Last 5 commits (shortlog)
Date Author Short message Commit hash
2021-04-13 Sigrid sdl2: define SDL_zero and SDL_realloc fa433522dcff818d71ced0e30279a541e0024f75
2021-03-30 Sigrid sdl2: fix inverted mouse scrolling c40dabd91310f12d3e13687e890bf4274c7ddcfa
2021-03-20 Sigrid turn exit() into a func pointer 95b60462d104de5f64bdf5cfba9a1ffab6e77e73
2021-03-20 Sigrid forgot to push gettimeofday dd1055daf99d53d1d16ed1ae37a7dd24e68f1f93
2021-03-20 Sigrid sdl2: fix wrong func name and missing scale.c from the build a3cd60bca8a6d5e808df4adec51d52c3fce64a18
Files (browse)
LICENSE
README.md
SDL2/
include/
libnpe/
libnpe_pthread/
libnpe_sdl2/
mkfile
sys/