Building on MacOSX is a bit different then building on Linux because the Cocoa Foundation library is used instead of libFoundation.
Note: updated for SOPE 4.3 / OGo 1.0a.
Link Collection
MacOSX Port Info
MacOSX Porting Project
OGo Build Guide
Intro
Well, building on MacOSX is almost exactly the same like
building on Linux.
The major difference is that you do not need to compile gstep-objc and
libFoundation from ThirdParty and use the Cocoa Foundation library instead.
To get help with anything MacOSX related, feel free to
join the
OGo MacOSX Mailing List.
Configure GNUstep Make
First, fetch GNUstep Make:
gstep-make 1.10.0.
GNUstep Make is both, a makefile package as well as an
environment to run application in. Difficult too describe
;-), but the important point is that you always need to
source GNUstep.sh before trying to build OGo stuff
or trying to run OGo tools/apps!
The nice thing is that you can compile OGo into an own root,
so it doesn't clutter your system.
When the download is complete, you uncompress the sources
and run configure:
cd gnustep-make-1.10.0
OGoROOT="$HOME/OGoRoot"
./configure --prefix=$OGoROOT \
--without-system-root \
--with-user-root=$OGoROOT \
--with-local-root=$OGoROOT \
--with-network-root=$OGoROOT \
--with-library-combo=apple-apple-nil
When you are done, you need to install gstep-make:
make -s install
And never forget to source GNUstep.sh, best is to place
that in your ~/.profile:
source ~/OGoRoot/Library/Makefiles/GNUstep.sh
Building OGo Sources
When you are done with gstep-make, fetch the OGo sources,
either from Subversion or the snapshot on
download.opengroupware.org
(which is as current as the public Subversion!).
Again: before trying to build ensure that GNUstep.sh
is sourced (ensure by issuing env | grep GNUSTEP_USER).
Building ThirdParty stuff ...
MacOSX comes with batteries included, so you don't need
a lot of stuff from the
ThirdParty build page.
On Panther You only need to build libical.
Building SOPE
Before you can build SOPE (more exactly sope-gdl1), you need to have PostgreSQL client libraries and headers installed on your
system.
You can download a nice package over at
entropy.ch.
Except for that it is exactly like described in the
SOPE Build Guide.
Building OpenGroupware.org
Well, and finally just build OGo as described in the
OGo Build Guide.
I don't think there are any surprises.
Finally Configure the Environment...
You need to set up the Resources/WebServerResources links
from $GNUSTEP_USER_ROOT to the sources, set up the default,
maybe compile mod_ngobjweb (contained in SOPE/sope-appserver) and configure
Apache. Load the database schema into PostgreSQL.
Well, what else? Feel free to comment the document or send
feedback to
helge.hess@opengroupware.org
;-)
Load Database Schema
First you need to create an OGo database:
su - postgres
createuser OGo
createdb OGo
You might also need to patch pg_hba.conf so that this works:
psql -h localhost OGo OGo
With your own user account. If that works, load the schema:
cd OpenGroupware.org/Database/PostgreSQL/
psql -h localhost OGo OGo < pg-build-schema.psql
Setup Links
OGo locates some resources using links:
pushd $GNUSTEP_USER_ROOT
ln -s ~/myogosrctree/WebUI/Resources .
ln -s ~/myogosrctree/Themes/WebServerResources .
ln -s ~/myogosrctree/WebUI/Templates Library/OpenGroupware.org-1.0a/Templates
Defaults
Oh well, so many defaults ... The
MacOSX Port Page contains some info.
With OGo 1.0a most defaults are optional!
Apache Module
Like on Linux you should always connect OGo with Apache,
that is, with the OGo mod_ngobjweb module. Fortunately
mod_ngobjweb compiles without glitches out of the box :-)
cd OpenGroupware.org/SOPE/mod_ngobjweb
make
You need to copy the resulting .so into /usr/libexec/httpd/
and configure your httpd.conf like on Linux.