generate a native gtk+ quartz OS X application
Python Shell Perl XSLT
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
fake_java
misc
modulesets
.gitignore
README.asciidoc
bootstrap.sh
build.sh
bundle.sh
env.sh
fetch_modules.sh
release.sh
release_deps.sh
release_on_linux.sh

README.asciidoc

OS X Bundle Build Scripts

Don’t Panic

This is a collection of files required to build gPodder.app : gPodder as a native GTK+ Quartz application for Mac OS X 10.6+

The scripts are verified on an OSX 10.11.4 (15E65) x86_64 machine with Xcode 7.3 (7D175).

Note
In case you want just want to run gPodder from source you can ignore all this and use the released bundle as a development environment. Download the official bundle, git clone the gPodder repo and do ./gPodder.app/Contents/MacOS/run gpodder.py.

Uses jhbuild and the stable module set provided by gtk-osx with a gPodder specific module set overlay to build all needed dependencies for gPodder. Everything will be downloaded/installed into this directory and your user directory will not be touched.

Builds upon the great scripts by Christoph Reiter to automate my previously tedious description.

Creating a Bundle

Prerequisites: OS X 10.6+ and a working Xcode and git.

Verify that Xcode and git is installed and in your $PATH by invoking git --version and gcc --version. The env.sh script resets your $PATH to the default value ({,/usr}/{,s}bin) to make sure non-native programs, installed by other package managers like homebrew or macports, are not used (read more here).

(Tested on OS X 10.6.10 and 10.11.4)

  1. Call bootstrap.sh to install jhbuild and set up dummy $HOME as base.

  2. Call build.sh to download and build all the dependencies.

  3. Call bundle.sh to create the finished bundles for gPodder in _build.

Development

  • After bootstrap.sh has finished executing source env.sh will put you in the build environment. After that jhbuild can be used directly.

  • fetch_modules.sh downloads the git master of the gtk-osx module set and replaces the modules under "modulessets" and the misc/gtk-osx-jhbuildrc file. Doing so so should ideally be followed by a review of the gPodder module to reduce duplication and a rebuilt to verify that everything still works.

Releasing

Releasing on OS X

  1. see Creating a Bundle

  2. ./release.sh _build/gPodder.app version_buildnumber

  3. ./release_deps.sh _build/gPodder.app version_buildnumber

Releasing on Linux by patching deps:

  1. ./release_on_linux.sh ~/Downloads/gPodder-3.8.4_0.deps.zip /tmp/gpodder master f699341

Using gPodder:

See https://github.com/elelay/gpoder-osx-bundle/wiki/Using for instructions…​ And the official help guide http://gpodder.org/documentation

Content Description

  • modulesets contains the gtk-osx stable module set and a gpodder module which adds new packages replaces existing ones.

  • misc: see each file or directory README for a description.