forked from swami/swami
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.OSX
158 lines (118 loc) · 5.53 KB
/
README.OSX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
SWAMI-2.0 Installation on Mac OS X.5.5 (Leopard)
================================================
Ebrahim Mayat <emayat at users dot sourceforge dot net>
Josh Green <jgreen at users dot sourceforge dot net>
Last updated: 9th October, 2008
Requirements:
- fluidsynth
- fink package distribution <http://www.finkproject.org/download/index.php?phpLang=en>
- X11.app, X11SDK.pkg, OpenGLSDK.pkg and QuickTimeSDK.pkg (Leopard Install DVD)
- fink packages: cairo, gtk+2, gtk+2-dev, audiofile, flac, gettext, intltool, libtool14,
libgnomecanvas2-dev, libxml2, pygtk2-py24-dev, pkgconfig, libart2, libglade2,
pango1-xft2-ft219-dev, fftw3 and gtksourceview
for example: "$ fink install gtk+2-dev"
libinstpatch: configure && make && sudo make install:
$ PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure "LDFLAGS=-L/usr/local/lib -L/sw/lib" "CFLAGS=-I/usr/local/include -I/sw/include"
SWAMI: configure && make && sudo make install
Building an app bundle with GTK-OSX
===================================
BALATON Zoltan <balaton at users dot sourceforge dot net>
Last updated: 16th November, 2013
Resources:
http://www.gtk.org/download/macos.php
IMPORTANT! If you have packages installed from MacPorts, Fink, Homebrew or other
repositories you have to make sure that these are not visible while building
GTK-OSX. The easiest way is to create a new user for this and run everything
while logged in as that user. Mixing GTK-OSX with packages from other builds
will fail so make sure your path and environment is clean before continuing!
1. Build GTK-OSX (see: https://live.gnome.org/GTK%2B/OSX/Building)
- Download and run gtk-osx-build-setup.sh
- Set up your environment:
$ cat <<EOF >>$HOME/.profile
DEVELOPER_DIR="/Volumes/10.7/Developer"
PATH="$DEVELOPER_DIR/usr/bin":$PATH:"$HOME/.local/bin"
export DEVELOPER_DIR PATH
EOF
$ . $HOME/.profile
- Customise .jhbuildrc-custom for example:
setup_sdk("10.6", sdk_version="10.6", architectures=["i386"])
moduleset=os.environ['HOME'] + '/custom.modules'
module_autogenargs['cairo'] = '--enable-ft=no'
skip=["gnome-doc-utils", "cups"]
- Bootstrap jhbuild and build some packages
$ jhbuild shell # make sure to enter the jhbuild shell first
$ jhbuild bootstrap
$ jhbuild build meta-gtk-osx-bootstrap
$ jhbuild build meta-gtk-osx-freetype
$ jhbuild build python
$ jhbuild build meta-gtk-osx-core
2. Teach jhbuild about some more dependencies and build them
- Edit $HOME/custom.modules to have something like this:
<?xml version="1.0" standalone="no"?> <!--*- mode: nxml -*-->
<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
<include href="/Users/gtkosx/Source/jhbuild/modulesets/gtk-osx.modules"/>
<tarball id="libfftw3" version="3.3.4" supports-non-srcdir-builds="no"
autogenargs="--enable-shared --enable-float --enable-sse2">
<source href="http://www.fftw.org/fftw-3.3.4.tar.gz"
size="3940427" md5sum="2edab8c06b24feeb3b82bbb3ebf3e7b3"/>
</tarball>
<tarball id="libsndfile" version="1.0.25" supports-non-srcdir-builds="no"
autogenargs="CPPFLAGS=-I$DEVELOPER_DIR/Headers/FlatCarbon">
<source href="http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.25.tar.gz"
size="1060692" md5sum="e2b7bb637e01022c7d20f95f9c3990a2"/>
</tarball>
<repository type="tarball" name="sourceforge"
href="http://downloads.sourceforge.net/sourceforge/"/>
<autotools id="fluidsynth" autogenargs="--without-readline">
<branch module="fluidsynth/fluidsynth-1.1.6.tar.gz"
version="1.1.6" repo="sourceforge"
size="958735" md5sum="ae5aca6de824b4173667cbd3a310b263" />
<dependencies>
<dep package="glib"/>
<dep package="libsndfile"/>
</dependencies>
</autotools>
<repository type="tarball" name="gnome"
href="http://ftp.gnome.org/pub/GNOME/sources/" />
<autotools id="libgnomecanvas">
<branch module="libgnomecanvas/2.30/libgnomecanvas-2.30.3.tar.gz"
version="2.30.3" repo="gnome"
size="760152" md5sum="3dbf66a8c492f4e044991669671234e2" />
<dependencies>
<dep package="intltool"/>
<dep package="gtk+"/>
<dep package="libart_lgpl"/>
<dep package="gnome-common"/>
</dependencies>
</autotools>
</moduleset>
- Build them:
$ jhbuild shell # re-enter shell if exited from it, otherwise not needed
$ jhbuild build libfftw3
$ jhbuild build fluidsynth
$ jhbuild build libgnomecanvas
$ jhbuild build libxml2
3. Now we could teach jhbuild to also build libinstpatch and swami like above if
we built a release from tarballs but I simply built these by hand instead:
$ jhbuild shell # always use the shell for anything needing stuff built by jhbuild
$ cd $HOME/swami/src/libinstpatch
$ ./configure --prefix=$HOME/swami/inst --build=i386-apple-darwin12.5.0 \
--host=i386-apple-darwin12.5.0 --target=i386-apple-darwin12.5.0
$ make && make install
$ cd $HOME/swami/src/swami
$ ./configure --prefix=$HOME/swami/inst --build=i386-apple-darwin12.5.0 \
--host=i386-apple-darwin12.5.0 --target=i386-apple-darwin12.5.0 \
PKG_CONFIG_PATH=$HOME/swami/inst/lib/pkgconfig:$PKG_CONFIG_PATH
$ make && make install
4. Now we have everything built, let's make an app bundle
- Install gtk-mac-bundler (see https://live.gnome.org/GTK%2B/OSX/Bundling)
$ cd $HOME/Source
$ git clone git://git.gnome.org/gtk-mac-bundler
$ cd gtk-mac-bundler
$ make install
- After reviewing the swami.bundle file for correct paths build a bundle:
$ cd $HOME/swami/src/swami/package/osxbundle
$ jhbuild run gtk-mac-bundler swami.bundle
$ ln -s Resources/lib/swami $HOME/swami/Swami.app/Contents/PlugIns