[gimp-macos-build] Add process description



commit 4ea614be99ac972f17070412a9de0e2a8f7c0145
Author: Oleksii Samorukov <oleksii_samorukov mckinsey com>
Date:   Fri Aug 30 18:19:28 2019 +0200

    Add process description

 README.md | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)
---
diff --git a/README.md b/README.md
index 35f946b..7f8cc85 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,34 @@
 
 This repository contains files related to GIMP/OSX build using CircleCI.
 
+## Build process description
+
+To build GIMP/MacOS we are using [fork](https://gitlab.gnome.org/samm-git/gtk-osx/tree/fork-test)
+of the [gtk-osx](https://gitlab.gnome.org/GNOME/gtk-osx) project. Fork adds modules related to GIMP
+and some gimp-specific patches to GTK. Currently build is done using CircleCI.
+
+### Steps in the [CircleCI 
config.yml](https://github.com/GNOME/gimp-macos-build/blob/master/.circleci/config.yml) are:
+
+- Install gfortran and rust as they are required for the GIMP dependencies.
+- Setup OSX 10.9 SDK. This is needed to ensure that GIMP is able to run on MacOS 10.9+. See [this 
article](https://smallhacks.wordpress.com/2018/11/11/how-to-support-old-osx-version-with-a-recent-xcode/) for 
the details.
+- Setting up jhbuild with a custom `~/.config/jhbuildrc-custom` file (see 
https://github.com/GNOME/gimp-macos-build/blob/master/jhbuildrc-gtk-osx-gimp). As part of setup it is running 
`bootstrap-gtk-osx-gimp` jhbuild command to compile required modules to run jhbuild. Jhbuild is using Python3 
venv to run.
+- Install [fork of the gtk-mac-bundler](https://github.com/samm-git/gtk-mac-bundler/tree/fix-otool) - tool 
which helps to create MacOS application bundles for the GTK apps. Only difference with official one is [this 
PR](https://github.com/jralls/gtk-mac-bundler/pull/10)
+- Installing all gtk-osx, gimp and WebKit dependencies using jhbuild
+- Building WebKit v1. This step could be avoided as it takes a lot of time, this is a soft dependency.
+- Building GIMP and gimp-help (from git).
+- Importing signing certificate/key from the environment variables
+- Launching `build.sh` which:
+  - Building package using `gtk-mac-bundler`
+  - Using `install_name_tool` fixing all library path to make package relocatable.
+  - generating debug symbols
+  - fixing pixmap and imm cache files to remove absolute pathnames
+  - compiles all py files to pyc to avoid writes to the Application folders
+  - Signing all binaries
+  - Creating DMG package and signing it
+- Uploading DMG to the CircleCI build artifacts
+
 ## Branches
 
 - master: latest GIMP release
 - gimp-2-10: gimp-2-10 build
 - debug: same as master, but with full debug symbols
-


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]