summaryrefslogtreecommitdiffstats
path: root/packaging/macos/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/macos/README.md')
-rw-r--r--packaging/macos/README.md50
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`