diff options
| author | René de Hesselle <dehesselle@web.de> | 2019-09-09 14:08:53 +0000 |
|---|---|---|
| committer | René de Hesselle <dehesselle@web.de> | 2019-09-09 14:08:53 +0000 |
| commit | 291a27405559f0f6dcc3d0a6aa209acef458a152 (patch) | |
| tree | 9709368041bd70c02422927917c5a1add55e630b /packaging/macos/README.md | |
| parent | 1.0 beta release (diff) | |
| download | inkscape-291a27405559f0f6dcc3d0a6aa209acef458a152.tar.gz inkscape-291a27405559f0f6dcc3d0a6aa209acef458a152.zip | |
Change build OS and target
We no longer user El Capitan (10.11) as build platform. We now use
Mojave (10.14) in combination with the Mavericks SDK (10.9). This
simplifies the build process as we can use a current platform
and gives backward compatibility down to Mavericks (10.9).
Use a newer Python build that we turn non-relocatable for JHBuild,
avoiding to build it ourselves (time consuming!) in 120-python3.sh.
New default build location is /Users/Shared/work. This is a user-
independent location and user-writable and simplifies WKR_DIR
handling.
Diffstat (limited to 'packaging/macos/README.md')
| -rw-r--r-- | packaging/macos/README.md | 50 |
1 files changed, 22 insertions, 28 deletions
diff --git a/packaging/macos/README.md b/packaging/macos/README.md index bd755d941..a0d5dff6a 100644 --- a/packaging/macos/README.md +++ b/packaging/macos/README.md @@ -4,49 +4,43 @@ This folder contains the scripts that make up the build pipeline for Inkscape on ## Requirements -_In some regards it would've been more fair if this section was called "recommendations" instead, but that would only encourage carelessness or deviating from a known-good setup._ - -- Use a __dedicated, clean macOS installation__ as build machine. "clean" as in "freshly installed + Xcode". Nothing more, nothing less. - - Especially no MacPorts, no Fink, no Homebrew, ... because they could interfere with the build system we're using. - - macOS 10.11.6 with Xcode 8.2.1. - - macOS 10.11 SDK from Xcode 7.3.1 - - Place it inside your `Xcode.app` and re-symlink to make look as follows: - - ```bash - elcapitan:SDKs rene$ pwd - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs - elcapitan:SDKs rene$ ls -lah - total 8 - drwxr-xr-x 5 root wheel 170B 20 Jun 12:23 . - drwxr-xr-x 5 root wheel 170B 15 Dez 2016 .. - lrwxr-xr-x 1 root wheel 15B 20 Jun 12:23 MacOSX.sdk -> MacOSX10.11.sdk - drwxr-xr-x 5 root wheel 170B 21 Okt 2020 MacOSX10.11.sdk - drwxr-xr-x 5 root wheel 170B 17 Sep 2017 MacOSX10.12.sdk.disabled - ``` +_These requirements have changed a few times over the course of development. So it would be more fair to call them "recommendations" instead, but I want to emphasize the importance of sticking to a known-good setup because of the huge number of moving parts involved._ + +- __A clean environment is key__. Ideally, you'd have a __dedicated, clean macOS installation__ (as in "freshly installed + Xcode") available as build machine. + - Make sure there are no remnants from other build environments (e.g. MacPorts, Fink, Homebrew) on your system. Rule of thumb: clear out `/usr/local`. + - macOS 10.14.6 with Xcode 10.3. + - OS X Mavericks 10.9 SDK from Xcode 6.4 + `/Library/Developer/CommandLineTools/SDKs/MacOSX10.9.sdk` - __Use a dedicated user account__ unless you're prepared that these scripts will delete and overwrite your data in the following locations: _(based on default configuration)_ ```bash - $HOME/.cache # will be linked to $TMP_DIR - $HOME/.config/jhbuildrc* # will be overwritten - $HOME/.local # will be linked to $OPT_DIR + $HOME/.cache # will be removed, then linked to $TMP_DIR + $HOME/.config/jhbuildrc* # will be removed, then linked to $DEVCONFIG + $HOME/.local # will be removed, then linked to $OPT_DIR $HOME/.profile # will be overwritten ``` - __16 GiB RAM__, since we're using a 9 GiB ramdisk to build everything. - Using a ramdisk speeds up the process significantly and avoids wearing out your SSD. - - You can choose to not use a ramdisk by overriding `RAMDISK_ENABLE=false` in a e.g. `021-custom.sh` file. - - The build environment takes up ~6.1 GiB of disk space, the Inkscape Git repository ~1.6 GiB. Subject to change and YMMV. + - You can choose to not use a ramdisk by overriding the configuration. + + ```bash + echo "RAMDISK_ENABLE=false" > 021-vars-custom.sh + ``` + + - The build environment takes up ~6.1 GiB of disk space, the rest is buffer to be used during compilation and packaging. Subject to change and YMMV. + + - If you only want to build Inkscape and not the build environment itself, a 5 GiB ramdisk is sufficient. + - somewhat decent __internet connection__ for all the downloads ## Usage ### standalone -> TODO: These scripts were initially designed as part of a dedicated repository, not the Inkscape repository itself. Therefore they contain a step that shallow-clones the Inkscape repository to build. This behaviour will be improved upon in a future version. - -You can either run all the executable scripts that have a numerical prefix yourself and in the given order (`1nn`, `2nn` - not the `0nn` ones), or, if you're feeling bold, use +You can either run all the executable scripts that have a numerical prefix (>100) yourself and in the given order, or, if you're feeling bold, use ```bash ./build_all.sh @@ -56,7 +50,7 @@ to have everything run for you. If you are doing this the first time, my advice ### GitLab CI -> TODO: configuration examples need to be updated! +> TODO: this section needs to be updated! #### configuration example `.gitlab-runner/config.toml` |
