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-06-03 Sigrid add setjmp.h 130289e73d40b0769065b2ecffd2e635125c7783
2021-05-30 Sigrid sdl2: use ARGB32, support SDL_BLENDMODE_BLEND. it IS slower, but stuff works as expected 83f387e7da28800d823cc5d9590f57f11d3e57d3
2021-05-27 Sigrid inttypes.h cbf06cb5d57dcf1c8fbe27090b9002479c47b92c
2021-05-27 Sigrid stdlib.h: EXIT_(SUCCESS|FAILURE) 6b2baeae7807e8c45df4aacdc36d3b6434d87c98
2021-05-18 Sigrid sdl2: fix scaling when logical render size has not been set f6fe1a93aa38f1bc72630d8514cacfb86f33e18b
Files (browse)
LICENSE
README.md
SDL2/
include/
libnpe/
libnpe_portmidi/
libnpe_pthread/
libnpe_sdl2/
mkfile
sys/