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.9+
The scripts are executed on circle.ci, with xcode 9.3.
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-python bin/gpodder .
|
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
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 macOS 10.15.1)
-
Call
bootstrap.sh
to install jhbuild and set up dummy$HOME
as base. -
Call
build.sh
to download and build all the dependencies. -
Call
bundle.sh
to create the finished bundles for gPodder in_build
.
Development
-
After
bootstrap.sh
has finished executingsource 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 "modulesets. Doing so so should ideally be followed by a review of the gPodder module to reduce duplication and a rebuild to verify that everything still works.
Releasing
Releasing on OS X
-
test latest gPodder-base-xxx.zip on macOS
-
git tag -a -m "bla bla" base-x.y.z
-
git push
-
rerun the latest circleci master job (will pick the new tag)
-
GITHUB_TOKEN=xxxx ./github_release.py --download --circle-build LATEST_CI_BUILD --previous-tag THE_PREVIOUS_RELEASE_TAG base-x.y.z
where LATEST_CI_BUILD is the latest circleci master job number (eg. 123) -
repeat the command without
--download
to upload to github -
edit and publish the release on github
-
now you can update the tag in
.circleci/config.yml
of the gPodder project.
Releasing on Linux by patching deps:
-
./release_on_linux.sh ~/Downloads/gPodder-3.8.4_0.deps.zip /tmp/gpodder
Issues
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.