Reusable Ubuntu 22.04 based Docker image for native Linux desktop development with X11 and GNUstep.
2.9K
Support: wischner.co.uk/support
wischner/gcc-x86_64-linux-gnustep is a reusable Ubuntu 22.04 based Docker image for native Linux desktop development with X11 and GNUstep.
It is designed for GNUstep Foundation and AppKit projects, Objective-C and Objective-C++ applications, gnustep-make based builds, and classic GNUstep GUI workflows with Gorm and ProjectCenter.
wischner/gcc-x86_64-linux-x11gnustep-makeCompile a Foundation tool:
docker run --rm \
-u $(id -u):$(id -g) \
-v "$PWD":/work -w /work \
wischner/gcc-x86_64-linux-gnustep:latest \
bash -lc '. /usr/share/GNUstep/Makefiles/GNUstep.sh && gcc -o hello hello.m $(gnustep-config --objc-flags) $(gnustep-config --base-libs)'
Compile a GUI app:
docker run --rm \
-u $(id -u):$(id -g) \
-v "$PWD":/work -w /work \
wischner/gcc-x86_64-linux-gnustep:latest \
bash -lc '. /usr/share/GNUstep/Makefiles/GNUstep.sh && gcc -o app app.m $(gnustep-config --objc-flags) $(gnustep-config --gui-libs)'
Build with gnustep-make:
docker run --rm \
-u $(id -u):$(id -g) \
-v "$PWD":/work -w /work \
wischner/gcc-x86_64-linux-gnustep:latest \
bash -lc '. /usr/share/GNUstep/Makefiles/GNUstep.sh && make'
Interactive shell:
docker run --rm -it \
-u $(id -u):$(id -g) \
-v "$PWD":/work -w /work \
wischner/gcc-x86_64-linux-gnustep:latest \
bash -l
docker run --rm -it \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v "$PWD":/work -w /work \
wischner/gcc-x86_64-linux-gnustep:latest \
bash -lc '. /usr/share/GNUstep/Makefiles/GNUstep.sh && ./app'
wischner/gcc-x86_64-linux-x11 for the general X11/OpenGL Linux desktop basewischner/gcc-x86_64-linux-motif for Open Motif based X11 developmentwischner/gcc-x86_64-linux-sdl for SDL2 and SDL3 Linux desktop developmentContributions are welcome. Please open an issue or pull request: https://github.com/wischner/docker-toolchains
Content type
Image
Digest
sha256:634a7d3d8…
Size
555.4 MB
Last updated
about 2 months ago
docker pull wischner/gcc-x86_64-linux-gnustep