Don’t Panic
This is a collection of files required to build pythonbase.app: native dependencies to run gPodder as a native GTK+ Quartz application for Mac OS X 10.9+, with a working python interpreter and pip utility.
The scripts are executed on circle.ci, with xcode 9.4.1.
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.
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
.
-
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 on OS X
-
test latest pythonbase-xxx.zip on macOS
-
git tag -a -m "bla bla" YY.MM.DD
-
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 macOS by using the working pip:
git clone https://github.com/gpodder/gpodder.git cd gpodder ./tools/mac-osx/release_on_mac.sh ~/Downloads/pythonbase-21.4.27.zips
See the official help guide http://gpodder.github.io/docs/