Mac OS X
Setup development environment
- Install xcode
Install macports
Modify file /opt/local/share/macports/Tcl/port1.0/portconfigure.tcl
, change the line
default configure.ldflags {-L${prefix}/lib}
to
default configure.ldflags {"-L${prefix}/lib -Xlinker -headerpad_max_install_names"}
Install following libraries and tools using
port
autoconf,intltool,automake, pkgconfig,libtool,glib2,ossp-uuid,libevent,vala,openssl, git-core
Install python
port install python27
port select python python27
export PATH=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH
Then download and install pip from http://pypi.python.org/pypi/pip
Set pkg config environment
export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig:/usr/local/lib/pkgconfig
Compiling libsearpc
Download libsearpc, then:
./autogen.sh
LDFLAGS="-Xlinker -headerpad_max_install_names" ./configure
make
sudo make install
Compiling ccnet
Download ccnet, then:
./autogen.sh
CFLAGS="-Wall" LDFLAGS="-L/opt/local/lib -Xlinker -headerpad_max_install_names" ./configure
make
sudo make install
Compiling seafile
- Download seafile
Install python libs and tools
sudo pip-2.7 install py2app web.py mako simplejson
Compile
./autogen.sh
LDFLAGS="-L/opt/local/lib -Xlinker -headerpad_max_install_names -framework CoreServices" ./configure
make
sudo make install
Packaging
seafileweb. First setup python path:
export PYTHONPATH=.:/usr/local/lib/python2.7/site-packages
This path is where pyccnet and pysearpc installed.
./setupmac.sh web
This will generate seafileweb.app
, and copy it to gui/mac/seafile
ccnet, seaf-daemon:
./setupmac.sh dylib
This will copy ccnet, seaf-daemon and other libraries to gui/mac/seafile, and use install_name_tool
to modify the library paths in ccnet, seaf-daemon.
Compile seafile.app:
./setupmac.sh 10.6 or ./setupmac.sh 10.7
After compiling, it will copy seafile.app to ${top_dir}/../seafile-${VERSION}
. You can also compiling seafile.app in xcode.
Go to seafile-${VERSION} and see if it can run correctly.
Construct dmg using dropdmg. Use
dmg-backgroud.jpg
as dmg background, add link of/Application
to seafile-${VERSION}, then packaging seafile-${VERSION} to seafile-${VERSION}.dmg.
Problem you may encounter
- If
install_name_tool
reports "malformed object" "unknown load command", It may be the version of xcode command line tools incompatible withinstall_name_tool
. - If xcode can"t find glib, Corrects xcode"s "build settings/search paths/header search".