diff --git a/.gitignore b/.gitignore
index 42c4a5cb5..29f6d0f19 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,6 +37,8 @@ build-*
bin-*
mkqtdecl.tmp
testtmp
+*build.macos*
+*bin.macos*
# private data
private
@@ -54,3 +56,12 @@ src/klayout.pro.user
*.egg-info/
build/
dist/
+
+
+# IDEs
+.vscode
+
+
+# Macos artifacts
+*.dmg
+*.dmg.md5
diff --git a/.travis.yml b/.travis.yml
index 34ac00e1e..bbe40495a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -162,37 +162,6 @@ matrix:
directories:
- ccache
- - name: "cp34-cp34m-manylinux1_x86_64.whl"
- os: linux
- sudo: true
- language: python
- python: '3.4'
- services:
- - docker
- env:
- - DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
- - PY_VERSION="cp34-cp34m"
- - DOCKER_BUILD=true
- - TEST_IN_HOST=true
- - MATRIX_EVAL=""
- cache:
- directories:
- - ccache
-
- - name: "cp34-cp34m-manylinux1_i686.whl"
- os: linux
- sudo: true
- services:
- - docker
- env:
- - DOCKER_IMAGE="quay.io/pypa/manylinux1_i686"
- - PY_VERSION="cp34-cp34m"
- - DOCKER_BUILD=true
- - MATRIX_EVAL=""
- cache:
- directories:
- - ccache
-
- name: "cp27-cp27mu-manylinux1_x86_64.whl"
os: linux
sudo: true
@@ -255,6 +224,229 @@ matrix:
directories:
- ccache
+ # python 3 osx
+
+ # MacOS 10.15
+
+ # MacOS 10.15, Python 3.9
+ - name: "cp39-cp39m-macosx_10_15_x86_64.whl"
+ os: osx
+ osx_image: xcode12 # macOS 10.15
+ cache:
+ directories:
+ - ccache
+ addons:
+ homebrew:
+ packages:
+ - python@3.9
+ - ccache
+ update: true
+ env:
+ - MATRIX_EVAL="shopt -s expand_aliases; alias python='/usr/local/opt/python@3.9/bin/python3'; alias pip='/usr/local/opt/python@3.9/bin/pip3';"
+ - ARCHFLAGS="-std=c++11"
+ - PIP_UPDATE="1"
+ - PYTHON_BUILD=true
+
+ # MacOS 10.15, Python 3.8
+ - name: "cp38-cp38m-macosx_10_15_x86_64.whl"
+ os: osx
+ osx_image: xcode12 # macOS 10.15
+ cache:
+ directories:
+ - ccache
+ addons:
+ homebrew:
+ packages:
+ - python@3.8
+ - ccache
+ update: true
+ env:
+ - MATRIX_EVAL="shopt -s expand_aliases; alias python='/usr/local/opt/python@3.8/bin/python3'; alias pip='/usr/local/opt/python@3.8/bin/pip3';"
+ - ARCHFLAGS="-std=c++11"
+ - PIP_UPDATE="1"
+ - PYTHON_BUILD=true
+
+ # MacOS 10.15, Python 3.7
+ - name: "cp37-cp37m-macosx_10_15_x86_64.whl"
+ os: osx
+ osx_image: xcode12 # macOS 10.15
+ cache:
+ directories:
+ - ccache
+ addons:
+ homebrew:
+ packages:
+ - python@3.7
+ - ccache
+ update: true
+ env:
+ - MATRIX_EVAL="shopt -s expand_aliases; alias python='/usr/local/opt/python@3.7/bin/python3'; alias pip='/usr/local/opt/python@3.7/bin/pip3';"
+ - ARCHFLAGS="-std=c++11"
+ - PIP_UPDATE="1"
+ - PYTHON_BUILD=true
+
+ # MacOS 10.14
+
+ # MacOS 10.14, Python 3.9
+ - name: "cp39-cp39m-macosx_10_14_x86_64.whl"
+ os: osx
+ osx_image: xcode11 # macOS 10.14
+ cache:
+ directories:
+ - ccache
+ addons:
+ homebrew:
+ packages:
+ - python@3.9
+ - ccache
+ update: true
+ env:
+ - MATRIX_EVAL="shopt -s expand_aliases; alias python='/usr/local/opt/python@3.9/bin/python3'; alias pip='/usr/local/opt/python@3.9/bin/pip3';"
+ - ARCHFLAGS="-std=c++11"
+ - PIP_UPDATE="1"
+ - PYTHON_BUILD=true
+
+ # MacOS 10.14, Python 3.8
+ - name: "cp38-cp38m-macosx_10_14_x86_64.whl"
+ os: osx
+ osx_image: xcode11 # macOS 10.14
+ cache:
+ directories:
+ - ccache
+ addons:
+ homebrew:
+ packages:
+ - python@3.8
+ - ccache
+ update: true
+ env:
+ - MATRIX_EVAL="shopt -s expand_aliases; alias python='/usr/local/opt/python@3.8/bin/python3'; alias pip='/usr/local/opt/python@3.8/bin/pip3';"
+ - ARCHFLAGS="-std=c++11"
+ - PIP_UPDATE="1"
+ - PYTHON_BUILD=true
+
+ # MacOS 10.14, Python 3.7
+ - name: "cp37-cp37m-macosx_10_14_x86_64.whl"
+ os: osx
+ osx_image: xcode11 # macOS 10.14
+ cache:
+ directories:
+ - ccache
+ addons:
+ homebrew:
+ packages:
+ - python@3.7
+ - ccache
+ update: true
+ env:
+ - MATRIX_EVAL="shopt -s expand_aliases; alias python='/usr/local/opt/python@3.7/bin/python3'; alias pip='/usr/local/opt/python@3.7/bin/pip3';"
+ - ARCHFLAGS="-std=c++11"
+ - PIP_UPDATE="1"
+ - PYTHON_BUILD=true
+
+ # MacOS 10.13
+
+ # MacOS 10.13, Python 3.9
+ - name: "cp39-cp39m-macosx_10_13_x86_64.whl"
+ os: osx
+ osx_image: xcode10.1 # macOS 10.13
+ cache:
+ directories:
+ - ccache
+ addons:
+ homebrew:
+ packages:
+ - python@3.9
+ - ccache
+ update: true
+ env:
+ - MATRIX_EVAL="shopt -s expand_aliases; alias python='/usr/local/opt/python@3.9/bin/python3'; alias pip='/usr/local/opt/python@3.9/bin/pip3';"
+ - ARCHFLAGS="-std=c++11"
+ - PIP_UPDATE="1"
+ - PYTHON_BUILD=true
+
+ # MacOS 10.13, Python 3.8
+ - name: "cp38-cp38m-macosx_10_13_x86_64.whl"
+ os: osx
+ osx_image: xcode10.1 # macOS 10.13
+ cache:
+ directories:
+ - ccache
+ addons:
+ homebrew:
+ packages:
+ - python@3.8
+ - ccache
+ update: true
+ env:
+ - MATRIX_EVAL="shopt -s expand_aliases; alias python='/usr/local/opt/python@3.8/bin/python3'; alias pip='/usr/local/opt/python@3.8/bin/pip3';"
+ - ARCHFLAGS="-std=c++11"
+ - PIP_UPDATE="1"
+ - PYTHON_BUILD=true
+
+ # MacOS 10.13, Python 3.7
+ - name: "cp37-cp37m-macosx_10_13_x86_64.whl"
+ os: osx
+ osx_image: xcode10.1 # macOS 10.13
+ cache:
+ directories:
+ - ccache
+ addons:
+ homebrew:
+ packages:
+ - python@3.7
+ - ccache
+ update: true
+ env:
+ - MATRIX_EVAL="shopt -s expand_aliases; alias python='/usr/local/opt/python@3.7/bin/python3'; alias pip='/usr/local/opt/python@3.7/bin/pip3';"
+ - ARCHFLAGS="-std=c++11"
+ - PIP_UPDATE="1"
+ - PYTHON_BUILD=true
+
+ # MacOS 10.12, Python 3.7
+
+ # - name: "klayout python3 osx10.12"
+ - name: "cp37-cp37m-macosx_10_12_x86_64.whl"
+ os: osx
+ osx_image: xcode9.2 # macOS 10.12
+ cache:
+ directories:
+ - ccache
+ addons:
+ homebrew:
+ packages:
+ - python3
+ - ccache
+ update: true
+ env:
+ - MATRIX_EVAL="shopt -s expand_aliases; alias python='python3'; alias pip='pip3';"
+ - ARCHFLAGS="-std=c++11"
+ - PIP_UPDATE="1"
+ - PYTHON_BUILD=true
+
+ exclude:
+
+ # No XCode 8.2.1 for Mac OS 10.11
+
+ # - name: "klayout python3 osx10.11"
+ - name: "cp37-cp37m-macosx_10_11_x86_64.whl"
+ os: osx
+ osx_image: xcode8 # macOS 10.11
+ cache:
+ directories:
+ - ccache
+ addons:
+ homebrew:
+ packages:
+ - ccache
+ update: true
+ env:
+ - MATRIX_EVAL="brew update; brew config; brew upgrade python; brew postinstall python; ls -l /usr/local/opt/python/libexec/bin/; shopt -s expand_aliases; alias python='/usr/local/opt/python/libexec/bin/python'; alias pip='/usr/local/opt/python/libexec/bin/pip';"
+ - ARCHFLAGS="-std=c++11"
+ - PIP_UPDATE="1"
+ - PYTHON_BUILD=true
+
+ # Python 2 is EOL
# python 2 osx
@@ -312,99 +504,7 @@ matrix:
- PIP_UPDATE="1"
- PYTHON_BUILD=true
- # python 3 osx
-
- # - name: "klayout python3 osx10.13"
- - name: "cp37-cp37m-macosx_10_13_x86_64.whl"
- os: osx
- osx_image: xcode9.4 # macOS 10.13
- cache:
- directories:
- - ccache
- addons:
- homebrew:
- packages:
- - python3
- - ccache
- update: true
- env:
- - MATRIX_EVAL="shopt -s expand_aliases; alias python='python3'; alias pip='pip3';"
- - ARCHFLAGS="-std=c++11"
- - PIP_UPDATE="1"
- - PYTHON_BUILD=true
-
- # - name: "klayout python3.6.6 osx10.13"
- - name: "cp36-cp36m-macosx_10_13_x86_64.whl"
- os: osx
- osx_image: xcode9.4 # macOS 10.13
- cache:
- directories:
- - ccache
- addons:
- homebrew:
- packages:
- - ccache
- update: true
- env:
- - MATRIX_EVAL="brew update; brew tap sashkab/python; brew install sashkab/python/python36; brew link --force --overwrite python36; shopt -s expand_aliases; alias python='/usr/local/opt/python36/bin/python3.6'; alias pip='/usr/local/opt/python36/bin/pip3.6';"
- - ARCHFLAGS="-std=c++11"
- - PIP_UPDATE="1"
- - PYTHON_BUILD=true
-
- # - name: "klayout python3.5.6 osx10.13"
- - name: "cp35-cp35m-macosx_10_13_x86_64.whl"
- os: osx
- osx_image: xcode9.4 # macOS 10.13
- cache:
- directories:
- - ccache
- addons:
- homebrew:
- packages:
- - ccache
- update: true
- env:
- - MATRIX_EVAL="brew update; brew tap sashkab/python; brew install sashkab/python/python35; brew link --force --overwrite python35; shopt -s expand_aliases; alias python='/usr/local/opt/python35/bin/python3.5'; alias pip='/usr/local/opt/python35/bin/pip3.5';"
- - ARCHFLAGS="-std=c++11"
- - PIP_UPDATE="1"
- - PYTHON_BUILD=true
-
- # - name: "klayout python3 osx10.12"
- - name: "cp37-cp37m-macosx_10_12_x86_64.whl"
- os: osx
- osx_image: xcode8.3 # macOS 10.12
- cache:
- directories:
- - ccache
- addons:
- homebrew:
- packages:
- - python3
- - ccache
- update: true
- env:
- - MATRIX_EVAL="shopt -s expand_aliases; alias python='python3'; alias pip='pip3';"
- - ARCHFLAGS="-std=c++11"
- - PIP_UPDATE="1"
- - PYTHON_BUILD=true
-
- # - name: "klayout python3 osx10.11"
- - name: "cp37-cp37m-macosx_10_11_x86_64.whl"
- os: osx
- osx_image: xcode8 # macOS 10.11
- cache:
- directories:
- - ccache
- addons:
- homebrew:
- packages:
- - ccache
- update: true
- env:
- - MATRIX_EVAL="brew update; brew config; brew upgrade python; brew postinstall python; ls -l /usr/local/opt/python/libexec/bin/; shopt -s expand_aliases; alias python='/usr/local/opt/python/libexec/bin/python'; alias pip='/usr/local/opt/python/libexec/bin/pip';"
- - ARCHFLAGS="-std=c++11"
- - PIP_UPDATE="1"
- - PYTHON_BUILD=true
+ # KLayout builds not enabled for now on MacOS
# KLayout builds for mac
# Python 3
diff --git a/MANIFEST.in b/MANIFEST.in
index 8088e14c0..4116c5b22 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -9,3 +9,4 @@ include src/plugins/*/*/db_plugin/*.cc
include src/plugins/*/db_plugin/*.h
include src/plugins/*/*/db_plugin/*.h
recursive-include src/plugins/common *.h
+include version.sh
diff --git a/Makefile b/Makefile
index a8e1d727b..b96f80895 100644
--- a/Makefile
+++ b/Makefile
@@ -3,10 +3,10 @@
GITCOMMIT := $(shell git rev-parse --short HEAD)
KLAYOUT_VERSION := $(shell source version.sh && echo $$KLAYOUT_VERSION)
ifndef PYTHON_VERSION
- PYTHON_VERSION := B37
+ PYTHON_VERSION := HB38
endif
ifndef MACOS_VERSION
- MACOS_VERSION := HighSierra
+ MACOS_VERSION := Catalina
endif
.ONESHELL:
@@ -15,11 +15,11 @@ default: help
help:
@echo "For Mac OS only"
- @echo "make build PYTHON_VERSION=B37"
- @echo "make deploy PYTHON_VERSION=B37"
+ @echo "make build PYTHON_VERSION=HB38"
+ @echo "make deploy PYTHON_VERSION=HB38"
@echo "make test MACOS_VERSION=HighSierra"
- @echo "Valid Mac OS Versions: [Yosemite, ElCapitan, Sierra, HighSierra]"
- @echo "Valid Python Version: [nil, Sys, B37]"
+ @echo "Valid Mac OS Versions: [Yosemite, ElCapitan, Sierra, HighSierra, Mojave, Catalina]"
+ @echo "Valid Python Version: [nil, Sys, HB38]"
build:
@echo "Building for Mac $(GITCOMMIT)"
@@ -29,11 +29,11 @@ build:
deploy:
@echo "Deploying 4 Mac $(GITCOMMIT)"
./build4mac.py -p $(PYTHON_VERSION) -q Qt5Brew -y
-
+
test:
@echo "Testing 4 Mac $(GITCOMMIT)"
- qt5.pkg.macos-$(MACOS_VERSION)-release/klayout.app/Contents/MacOS/klayout -b -r test-pylib-script.py; \
- cd qt5.build.macos-$(MACOS_VERSION)-release; \
+ PIP_REQUIRE_VIRTUALENV="false" HW-qt5Brew.pkg.macos-$(MACOS_VERSION)-release-RsysPhb38/klayout.app/Contents/MacOS/klayout -b -r test-pylib-script.py; \
+ cd qt5Brew.build.macos-$(MACOS_VERSION)-release-RsysPhb38; \
ln -s klayout.app/Contents/MacOS/klayout klayout; \
export TESTTMP=testtmp; \
export TESTSRC=..; \
@@ -41,18 +41,24 @@ test:
./ut_runner -h || true; \
cd ..
+dmg-template:
+ mkdir -p testtemplate/klayout.app
+ ./makeDMG4mac.py -p testtemplate -m -z -t klayoutDMGTemplate.dmg
+ cp -a klayoutDMGTemplate.dmg* macbuild/Resources/
+ rm -Rf testtemplate
+
dropbox-deploy:
@echo "Preparing for dropbox deployment $(MACOS_VERSION) $(GITCOMMIT)"
- mkdir -p deploy/$(MACOS_VERSION)/$(PYTHON_VERSION)/$(KLAYOUT_VERSION); \
- pwd; \
- ls -lah; \
- touch build.txt; \
- cp build.txt deploy/$(MACOS_VERSION)/$(PYTHON_VERSION)/$(KLAYOUT_VERSION)/qt5.pkg.macos-$(MACOS_VERSION)-$(PYTHON_VERSION)-release-$(KLAYOUT_VERSION)-$(GITCOMMIT).log.txt; \
- hdiutil convert macbuild/Resources/klayoutDMGTemplate.dmg -format UDRW -o work-KLayout.dmg; \
- hdiutil resize -size 500m work-KLayout.dmg; \
- hdiutil attach work-KLayout.dmg -readwrite -noverify -quiet -mountpoint tempKLayout -noautoopen; \
- cp -a qt5.pkg.macos-$(MACOS_VERSION)-release/ tempKLayout/; \
- hdiutil detach tempKLayout; \
- hdiutil convert work-KLayout.dmg -format UDZO -imagekey zlib-level=9 -o deploy/$(MACOS_VERSION)/$(PYTHON_VERSION)/$(KLAYOUT_VERSION)/qt5.pkg.macos-$(MACOS_VERSION)-$(PYTHON_VERSION)-release-$(KLAYOUT_VERSION)-$(GITCOMMIT).dmg; \
- md5 -q deploy/$(MACOS_VERSION)/$(PYTHON_VERSION)/$(KLAYOUT_VERSION)/qt5.pkg.macos-$(MACOS_VERSION)-$(PYTHON_VERSION)-release-$(KLAYOUT_VERSION)-$(GITCOMMIT).dmg > deploy/$(MACOS_VERSION)/$(PYTHON_VERSION)/$(KLAYOUT_VERSION)/qt5.pkg.macos-$(MACOS_VERSION)-$(PYTHON_VERSION)-release-$(KLAYOUT_VERSION)-$(GITCOMMIT).dmg.md5; \
+ mkdir -p deploy/$(MACOS_VERSION)/$(PYTHON_VERSION)/$(KLAYOUT_VERSION)
+ pwd
+ ls -lah
+ touch build.txt
+ cp build.txt deploy/$(MACOS_VERSION)/$(PYTHON_VERSION)/$(KLAYOUT_VERSION)/qt5.pkg.macos-$(MACOS_VERSION)-$(PYTHON_VERSION)-release-$(KLAYOUT_VERSION)-$(GITCOMMIT).log.txt
+ hdiutil convert macbuild/Resources/klayoutDMGTemplate.dmg -ov -format UDRW -o work-KLayout.dmg
+ hdiutil resize -size 500m work-KLayout.dmg
+ hdiutil attach -readwrite -noverify -quiet -mountpoint tempKLayout -noautoopen work-KLayout.dmg
+ cp -a HW-qt5Brew.pkg.macos-$(MACOS_VERSION)-release-RsysPhb38/ tempKLayout/
+ hdiutil detach tempKLayout
+ hdiutil convert work-KLayout.dmg -ov -format UDZO -imagekey zlib-level=9 -o deploy/$(MACOS_VERSION)/$(PYTHON_VERSION)/$(KLAYOUT_VERSION)/qt5.pkg.macos-$(MACOS_VERSION)-$(PYTHON_VERSION)-release-$(KLAYOUT_VERSION)-$(GITCOMMIT).dmg
+ md5 -q deploy/$(MACOS_VERSION)/$(PYTHON_VERSION)/$(KLAYOUT_VERSION)/qt5.pkg.macos-$(MACOS_VERSION)-$(PYTHON_VERSION)-release-$(KLAYOUT_VERSION)-$(GITCOMMIT).dmg > deploy/$(MACOS_VERSION)/$(PYTHON_VERSION)/$(KLAYOUT_VERSION)/qt5.pkg.macos-$(MACOS_VERSION)-$(PYTHON_VERSION)-release-$(KLAYOUT_VERSION)-$(GITCOMMIT).dmg.md5
rm work-KLayout.dmg
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 55921a370..33e89610e 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -28,6 +28,9 @@ jobs:
cp38-cp38-win_amd64.whl:
python.version: '3.8'
python.architecture: 'x64'
+ cp39-cp39-win_amd64.whl:
+ python.version: '3.9'
+ python.architecture: 'x64'
cp35-cp35m-win32.whl:
python.version: '3.5'
python.architecture: 'x86'
@@ -40,6 +43,9 @@ jobs:
cp38-cp38-win32.whl:
python.version: '3.8'
python.architecture: 'x86'
+ cp39-cp39-win32.whl:
+ python.version: '3.9'
+ python.architecture: 'x86'
maxParallel: 6
steps:
@@ -123,6 +129,11 @@ jobs:
vmImage: 'vs2017-win2016' # other options: 'macOS-10.13', 'ubuntu-16.04'
steps:
- checkout: none #skip checking out the default repository resource
+ - task: DownloadBuildArtifacts@0
+ displayName: 'Download Build Artifacts wheel-3.9.x64'
+ inputs:
+ artifactName: 'wheel-3.9.x64'
+ downloadPath: '$(System.DefaultWorkingDirectory)'
- task: DownloadBuildArtifacts@0
displayName: 'Download Build Artifacts wheel-3.8.x64'
inputs:
@@ -143,6 +154,11 @@ jobs:
inputs:
artifactName: 'wheel-3.5.x64'
downloadPath: '$(System.DefaultWorkingDirectory)'
+ - task: DownloadBuildArtifacts@0
+ displayName: 'Download Build Artifacts wheel-3.9.x86'
+ inputs:
+ artifactName: 'wheel-3.9.x86'
+ downloadPath: '$(System.DefaultWorkingDirectory)'
- task: DownloadBuildArtifacts@0
displayName: 'Download Build Artifacts wheel-3.8.x86'
inputs:
diff --git a/build.sh b/build.sh
index 6c6150e8f..676d8aa99 100755
--- a/build.sh
+++ b/build.sh
@@ -532,6 +532,11 @@ if [ "$BIN" = "" ]; then
BIN=$CURR_DIR/bin-$CONFIG
fi
+if [ "$QMAKE_CCACHE" = 1 ]; then
+ echo " Compilation caching is activated."
+else
+ echo " Compilation caching is deactivated!"
+fi
echo " Installation target: $BIN"
echo " Build directory: $BUILD"
diff --git a/etc/klayout.desktop b/etc/klayout.desktop
index a84e2abcf..2be01f169 100644
--- a/etc/klayout.desktop
+++ b/etc/klayout.desktop
@@ -3,7 +3,7 @@ Version=1.0
Name=Klayout, viewer and editor of mask layouts.
GenericName=layout viewer
Comment=Klayout is a viewer (and editor) of mask layout in a.o. GDSII and CIF format.
-Exec=klayout
+Exec=klayout %f
Icon=klayout
Type=Application
Categories=Development;Engineering;Electronics;
diff --git a/macbuild/.gitignore b/macbuild/.gitignore
index 0d20b6487..4081080e3 100644
--- a/macbuild/.gitignore
+++ b/macbuild/.gitignore
@@ -1 +1,2 @@
*.pyc
+KLayoutDMG.applescript
diff --git a/macbuild/ReadMe.md b/macbuild/ReadMe.md
index 09344755b..c23589f7b 100644
--- a/macbuild/ReadMe.md
+++ b/macbuild/ReadMe.md
@@ -1,27 +1,28 @@
-Relevant KLayout version: 0.26.7
+Relevant KLayout version: 0.26.9
# 1. Introduction
-This directory **`macbuild`** contains different files required for building KLayout (http://www.klayout.de/) version 0.26.1 or later for different 64-bit Mac OSXs including:
+This directory **`macbuild`** contains different files required for building KLayout (http://www.klayout.de/) version 0.26.1 or later for different 64-bit Mac OSXs, including:
* El Capitan (10.11)
* Sierra (10.12)
* High Sierra (10.13)
* Mojave (10.14)
-* Catalina (10.15)
+* Catalina (10.15) : the primary development environment
+* Big Sur (11.0) : under development for the future support
# 2. Qt5 Frameworks
-By default, Qt frameworks are "Qt5" from MacPorts (https://www.macports.org/) which is usually located under:
+By default, the Qt framework is "Qt5" from MacPorts (https://www.macports.org/), which is usually located under:
```
/opt/local/libexec/qt5/
```
-Alternatively, you can use "Qt5" from Homebrew (https://brew.sh/) which is usually located under:
+Alternatively, you can use "Qt5" from Homebrew (https://brew.sh/), which is usually located under:
```
/usr/local/opt/qt/
```
OR
-"Qt5" from Anaconda3 (https://www.anaconda.com/) which is usually located under:
+"Qt5" from Anaconda3 (https://www.anaconda.com/), which is usually located under:
```
$HOME/opt/anaconda3/pkgs/qt-{version}
```
@@ -41,9 +42,9 @@ $ /usr/bin/ruby -v
$ /usr/bin/python --version
Python 2.7.16
```
-Even in the latest OS as of today (December 2019), Python 3.x is not bundled with the OS, and this is the main reason why users want non-OS-standard script language support.
+Even in the latest OS (11.0 Big Sur) as of today (November 2020), Python 3.x is not bundled with the OS, which is why users want non-OS-standard script language support.
-To meet such a requirement, the build script **`build4mac.py`** provides several possible combinations of Qt5, Ruy and Python module.
+To meet such a requirement, the build script **`build4mac.py`** provides several possible combinations of Qt5, Ruy, and Python module.
Some typical use cases are described in Section 6.
# 4. Prerequisites
@@ -66,22 +67,24 @@ $ [python] ./build4mac.py
: Qt5MacPorts: use Qt5 from MacPorts |
: Qt5Brew: use Qt5 from Homebrew |
: Qt5Ana3: use Qt5 from Anaconda3 |
- [-r|--ruby ] : case-insensitive type=['nil', 'Sys', 'MP26', 'HB27', 'Ana3'] | sys
+ [-r|--ruby ] : case-insensitive type=['nil', 'Sys', 'MP27', 'HB27', 'Ana3'] | sys
: nil: don't bind Ruby |
: Sys: use OS-bundled Ruby [2.0 - 2.6] depending on OS |
- : MP26: use Ruby 2.6 from MacPorts |
+ : MP27: use Ruby 2.7 from MacPorts |
: HB27: use Ruby 2.7 from Homebrew |
: Ana3: use Ruby 2.5 from Anaconda3 |
- [-p|--python ] : case-insensitive type=['nil', 'Sys', 'MP38', 'HB38', 'Ana3'] | sys
+ [-p|--python ] : case-insensitive type=['nil', 'Sys', 'MP38', 'HB38', 'Ana3', | sys
+ : 'HBAuto'] |
: nil: don't bind Python |
- : Sys: use OS-bundled Python 2.7 [ElCapitan -- Catalina] |
+ : Sys: use OS-bundled Python 2.7 [ElCapitan -- BigSur] |
: MP38: use Python 3.8 from MacPorts |
: HB38: use Python 3.8 from Homebrew |
- : Ana3: use Python 3.8 from Anaconda3 |
+ : Ana3: use Python 3.7 from Anaconda3 |
+ : HBAuto: use the latest Python 3.x auto-detected from Homebrew |
[-n|--noqtbinding] : don't create Qt bindings for ruby scripts | disabled
[-m|--make