generate a native gtk+ quartz OS X application
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
fake_java
misc
modulesets
.gitignore
README.asciidoc
bootstrap.sh
build.sh
bundle.sh
env.sh
fetch_modules.sh
github_release.py
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.github.io/docs/

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.