1
+ OS X Bundle Build Scripts
2
+ =========================
3
+
4
+
1
5
This is a collection of files required to build gPodder.app :
2
6
gPodder as a native GTK+ Quartz application for Mac OS X 10.6 and 10.7
3
7
4
8
I used them to build on a 10.6 X86_64 machine.
5
9
6
- # Instructions
10
+ **Note:**
11
+ In case you want just want to run gPodder from source you can ignore
12
+ all this and use the released bundle as a development environment.
13
+ Download the official bundle, git clone the gPodder repo and do
14
+ `./gPodder.app/Contents/MacOS/run gpodder.py`.
15
+
7
16
8
- place into ~/mymodules
17
+ Uses jhbuild [3] and the stable module set provided by gtk-osx [2] with a
18
+ gPodder specific module set overlay to build all needed dependencies for gPodder.
19
+ Everything will be downloaded/installed into this directory and your
20
+ user directory will not be touched.
9
21
10
- copy dot_jhbuildrc-custom to ~/.jhbuildrc-custom or better, merge my modifications to your config file
22
+ Builds upon the great scripts by Christoph Reiter to automate my previously
23
+ tedious description.
11
24
12
- If you have MacPorts installed, you must ensure to remove it from the path,
13
- to only build against system libraries.
14
- It might also be a good idea to move it to some non standard location
15
- during the build: some configure scripts are a bit too clever and will use it even if it's not in the path.
25
+ # Creating a Bundle
16
26
17
- Follow instructions in http://live.gnome.org/GTK%2B/OSX/Building
18
- - bootstrap
19
- Be sure to skip building libiconv (see https://mail.gnome.org/archives/gtk-osx-users-list/2011-July/msg00001.html)
20
- otherwise the resulting application will not run under 10.7.
21
- edit gtk-osx.modules to comment out gtk-osx-javascript.modules (would give an error as soon as one tries to build meta-gtk-osx-bootstrap)
22
- - meta-gtk-osx-bootstrap
23
- - meta-gtk-osx-freetype (this is the key to getting pangoft2 and also fontconfig for librsvg)
24
- - meta-gtk-osx-core
25
- - python
26
- - meta-gtk-osx-python
27
+ Prerequisites: `OS X` 10.6+ and a working `Xcode` [0] and `git` [1]
27
28
28
- chmod u+w ~/gtk/inst/lib/libpython2.7.dylib
29
- chmod u+w ~/gtk/inst/lib/libreadline.6.2.dylib
29
+ Verify that Xcode and git is installed and in your `$PATH` by invoking `git
30
+ --version` and `gcc --version`. Also make sure that other package managers
31
+ like homebrew or macports aren't in your `$PATH`. To be extra sure, move
32
+ `/opt/local` away, because some configure scripts are clever enough to look
33
+ for it by themselves.
30
34
31
- # Installing gPodder
32
- Latest version of gPodder is used, with a few custom patches (see postproc.sh)
35
+ (Tested on OS X 10.6.8)
33
36
34
- jhbuild build gpodder (error checkout libproxy: missing patch 404, ignore and move on)
35
- jhbuild build meta-gtk-osx-themes
37
+ 1) Call `bootstrap.sh` to install jhbuild and set up dummy `$HOME` as base.
38
+ 2) Call `build.sh` to download and build all the dependencies.
39
+ I get an error with openssl, but it still installs correctly.
40
+ Simply choose `[2] ignore error` and move forward.
41
+ 3) Call `bundle.sh` to create the finished bundles for gPodder in
42
+ `_build`.
36
43
37
44
45
+ # Development
38
46
39
- # Bundling gPodder
40
- install gtk-mac-bundler, following http://live.gnome.org/GTK%2B/OSX/Bundling
41
- cd mymodules/gpodder-bundle
42
- jhbuild shell
43
- ~/.local/bin/gtk-mac-bundler gpodder.bundle && ./postproc.sh
47
+ * After `bootstrap.sh` has finished executing `source env.sh` will put you
48
+ in the build environment. After that jhbuild can be used directly.
49
+ * `fetch_modules()` downloads the git master of the gtk-osx module set
50
+ and replaces the modules under "modulessets" and the
51
+ `misc/gtk-osx-jhbuildrc` file. Doing so so should ideally be followed by a
52
+ review of the gPodder module to reduce duplication and a rebuilt to verify
53
+ that everything still works.
44
54
45
- produces gPodder.app in Desktop
46
- test by double-clicking on gPodder.app
47
- test by moving ~/gtk/inst away and re-launching
48
55
49
56
# Releasing
50
57
51
58
Releasing on OS X
52
- 1. see *Bundling gPodder *
53
- 2. ./release.sh ~ /gPodder.app version_buildnumber
54
- 3. ./release_deps.sh ~ /gPodder.app version_buildnumber
59
+ 1. see *Creating a Bundle *
60
+ 2. ` ./release.sh _build /gPodder.app version_buildnumber`
61
+ 3. ` ./release_deps.sh _build /gPodder.app version_buildnumber`
55
62
56
63
Releasing on Linux by patching deps:
57
64
4. ./release_on_linux.sh ~/Downloads/gPodder-3.8.4_0.deps.zip /tmp/gpodder master f699341
@@ -63,4 +70,18 @@ See https://github.com/elelay/gpodder-osx-bundle
63
70
# Using gPodder:
64
71
65
72
See https://github.com/elelay/gpoder-osx-bundle/wiki/Using for instructions...
66
- And the official help guide http://gpodder.org/documentation
73
+ And the official help guide http://gpodder.org/documentation
74
+
75
+
76
+
77
+ # Content Description
78
+
79
+ * `modulesets` contains the gtk-osx stable module set and a gpodder module
80
+ which adds new packages replaces existing ones.
81
+ * `misc`: see each file or directory README for a description.
82
+
83
+
84
+ | [0] https://developer.apple.com/xcode/downloads/
85
+ | [1] https://git-scm.com/download/mac
86
+ | [2] https://git.gnome.org/browse/gtk-osx/
87
+ | [3] https://git.gnome.org/browse/jhbuild/
0 commit comments