Installing GNUStep in FreeBSD 15.0 RELEASE
Installing FreeBSD ports
For installing the required ports at first update the ports tree. Us can use portmaster or pkg.
As user root do a:
# portsnap fetch extract update# cd /usr/ports/ports-mgmt/portmaster && make install clean# portsnap fetch update
# pkg version -l "<"
# portmaster -L
# portmaster -a# portmaster -af
(if some port fails) on a regular basis.
Install bash as root do:
# pkg install bash
# pkg install xorg# pkg install gnustepInstalling the Virtual Box Guest Additions port
as root:
# pkg install virtualbox-ose-additions
pw groupmod wheel -m gnustep vboxguest_enable="YES"
vboxservice_enable="YES" hald_enable="YES"
dbus_enable="YES"
Reboot or start both services by hand:
/usr/local/etc/rc.d/dbus start
/usr/local/etc/rc.d/hald startInstalling the Window Maker port as root:
# pkg install windowmaker
enabling Window Maker
#!/bin/sh
exec wmaker
Installing GNUstep from FreeBSD ports into the System Domain
Installing the necessary tools
# pkg install subversion
# pkg install sudo
# visudo
# %wheel ALL=(ALL) ALL
Installing the GNUstep libraries and framewoks
I've chosen the way of installing the GNUstep ports into the System
domain so I don't need to look after the right dependencies for myself
but let the FreeBSD's port system handle this.
Installing the Objective-C 2 runtime as root:
# pkg install libobjc2
# pkg install gnustep-make
# pkg install gnustep-base
# pkg install gnustep-gui
# pkg install gnustep-back
GNUstep examples are a collection of simple GNUstep apps to guide you into developing for GNUstep.
# portmaster misc/gnustep-examples
# portmaster deskutils/systempreferences
# portmaster deskutils/gworkspace
# portmaster x11/terminal.app
# portmaster devel/projectcenter
# portmaster devel/gorm
$ echo . /usr/local/GNUstep/System/Library/Makefiles/GNUstep.sh >> ~/.profile
$ echo gdnc >> ~/.profile
# echo source /usr/local/GNUstep/System/Library/Makefiles/GNUstep.csh >> ~/.cshrc
# echo gdnc >> ~/.cshrc
as root and as gnustep, edit the .xinitrc file:
$ vi ~/.xinitrc
#!/bin/sh. /usr/local/GNUstep/System/Library/Makefiles/GNUstep.sh
exec wmaker exec openapp Workspace
$ startx
$ mkdir GNUstep-sources
$ cd GNUstep-sources/
$ svn co svn://svn.gna.org/svn/gnustep/trunk .Building libobjc2 (GNUstep Objective-C 2.0 runtime) from source
$ cd ~/GNUstep-sources/modules/dev-libs/libobjc2/
$ CC=clang CXX=clang++ make
$ sudo -E make install
$ mkdir Build
$ cd Build/
$ cmake .. -DCMAKE_C_COMPILER=clang -DCMKAE_CXX_COMPILER=clang++
$ make && sudo -E make install
Building GNUstep make from source
$ cd ~/GNUstep-sources/modules/core/make/
$ ./configure --prefix=/usr/local/GNUstep --with-config-file=/usr/local/GNUstep/GNUstep-trunk.conf --enable-objc-nonfragile-abi --enable-native-objc-exceptions --with-layout=gnustep --enable-debug-by-default CC=clang CXX=clang++
$ sudo -E gmake GNUSTEP_INSTALLATION_DOMAIN=LOCAL install
Don't forget to source GNUstep.sh and make sure this is done on every login:
$ . /System/Library/Makefiles/GNUstep.sh
$ echo . /System/Library/Makefiles/GNUstep.sh >> ~/.profileBuilding GNUstep base from source
$ cd ~/GNUstep-sources/modules/core/base/
$ ./configure --disable-mixedabi CC=clang CXX=clang++
$ gmake && sudo -E gmake GNUSTEP_INSTALLATION_DOMAIN=LOCAL install
Building GNUstep gui from source
$ cd ~/GNUstep-sources/modules/core/gui/
$ gmake && sudo -E gmake GNUSTEP_INSTALLATION_DOMAIN=LOCAL install
Building GNUstep back from source
$ cd ~/GNUstep-sources/modules/core/back/
$ gmake -j 8 && sudo -E gmake GNUSTEP_INSTALLATION_DOMAIN=LOCAL install
Building GNUstep examples
$ cd ~/GNUstep-sources/modules/usr-apps/examples/
$ gmake -j 8 && sudo -E gmake GNUSTEP_INSTALLATION_DOMAIN=LOCAL install
$ su -
# portmaster databases/postgresql94-server
# portmaster databases/postgresql-odbc # echo postgresql_enable=\"YES\" >> /etc/rc.conf
# /usr/local/etc/rc.d/postgresql initdb
# /usr/local/etc/rc.d/postgresql start $ cd ~/GNUstep-sources/modules/dev-libs/renaissance/
$ gmake -j 8 && sudo -E gmake GNUSTEP_INSTALLATION_DOMAIN=LOCAL install
$ cd ~/GNUstep-sources/modules/dev-libs/gdl2/
$ ./configure CC=clang CXX=clang++
$ gmake -j 8 && sudo -E gmake GNUSTEP_INSTALLATION_DOMAIN=LOCAL install
$ cd ~/GNUstep-sources/modules/dev-apps/projectcenter/
$ gmake -j 8 && sudo -E gmake GNUSTEP_INSTALLATION_DOMAIN=LOCAL install
$ cd ~/GNUstep-sources/modules/dev-apps/gorm/
$ gmake -j 8 && sudo -E gmake GNUSTEP_INSTALLATION_DOMAIN=LOCAL install
That's it for now.
Have fun developing with and for GNUstep!
