Make a GNUstep app!
Out of current occasion
I've stopped contributing to the GNUstep project and call all developers to do the same. See https://rms-open-letter.github.io/ on why.
Instead I've started contributing to development of a gui framework of ObjFW and suggest you to look into it as well.
About this project
Developers coming from macOS and Cocoa programming – or liking Objective C as a programming language – might want to create great cross-platform apps. Or might want to create Objective C(++) apps, which run on a free (as in free speech) environment using Free Software.
They want to use modern language features of Objective C and are used to a development environment which is up and usables in minutes.
This is perfectly possible using GNUstep and its libobjc2 runtime which provide modern language features leveraging clang, such as Automatic Reference Counting (ARC), blocks (closures) and synthesis of declared properties known from OS X 10.7 (Lion) and later.
It's just it took me more than a year to find out how this can be put together and delivered to users. Therefore I created this page. It will help you to get up and running within minutes.
Have fun and of course you're welcome to leave your feedback to improve information documented here!
Install and getting started
Install packages from repository via pacman
Add the following lines to your
sudo nano /etc/pacman.conf:
[home_letterus_gnustep-ngr_Arch] SigLevel = Optional TrustAll Server = https://download.opensuse.org/repositories/home:/letterus:/gnustep-ngr/Arch/$arch
Import the repo key:
wget https://download.opensuse.org/repositories/home:/letterus:/gnustep-ngr/Arch/x86_64/home_letterus_gnustep-ngr_Arch.key -O - | sudo pacman-key --add - sudo pacman-key --lsign-key 29F300A0D5CF9F32
Install the basic package groups:
sudo pacman -Syy gnustep-ngr gnustep-ngr-dev gnustep-ngr-desktop
If you use Manjaro it is possible you need to switch to the testing or unstable branch as that repo is built against Arch packages/dependencies. Currently you are ok with stable.
Direct download (manual installation)
The commands above will install all the GNUstep packages you need. Proceed further with:
- Integrate GNUstep into your desktop environment (DEI).
- Run an integrated development environment (IDE)
Strategy and help needed
Currently I target at users of Arch based Linux distributions like Manjaro. Desktop app developers often like using such distributions, because they are very up to date. I ship packages which are built from the latest (GNUstep) sources to enable developers to use the newest features and fixes available.
Once there are updates and releases of apps we created, I have plans to create a new dev fork of the whole repo and make it stable. I'd also consider migrating to Debian packaging due to the more extensive use by great projects and better support (of architectures) at openSUSE's build service. Calling for help on this.
If you've got a working state of your application, just point me to your git/svn repository. I'll happily provide you and your users a package and an API key which enables automatic builds on commit/push from your repository.