mirror of https://github.com/KLayout/klayout.git
Updated the macOS build system to build KLayout 0.29.1
This commit is contained in:
parent
f95aef89d2
commit
432c962feb
|
|
@ -1,6 +1,6 @@
|
|||
Relevant KLayout version: 0.29.0<br>
|
||||
Relevant KLayout version: 0.29.1<br>
|
||||
Author: Kazzz-S<br>
|
||||
Last modified: 2024-03-27<br>
|
||||
Last modified: 2024-05-01<br>
|
||||
|
||||
# 1. Introduction
|
||||
This directory **`macbuild`** contains various files required for building KLayout (http://www.klayout.de/) version 0.29.0 or later for different 64-bit macOS, including:
|
||||
|
|
@ -188,8 +188,10 @@ $ ./build4mac.py -q qt5macports -r mp33 -p mp311 -Y
|
|||
4. Copy/move the generated application bundle **`klayout.app`** to your **`/Applications`** directory for installation.
|
||||
|
||||
### 6C. Fully Homebrew-flavored build with Homebrew Ruby 3.3 and Homebrew Python 3.11
|
||||
> [!IMPORTANT]
|
||||
> To build KLayout >= 0.29.0, you need "Qt6" to address [the compilation issue](https://github.com/KLayout/klayout/issues/1599).
|
||||
> [!CAUTION]
|
||||
> To build KLayout >= 0.29.0, you need "Qt6" to address [the compilation issue](https://github.com/KLayout/klayout/issues/1599).<br>
|
||||
> However, the current KLayout is not compliant with the latest Qt6.7.0, so you will get another compilation error.<br>
|
||||
> Therefore, this section will be disabled for the time being.
|
||||
|
||||
0. Install Homebrew, then install Qt6, Ruby 3.3, Python 3.11, and libgit2 by
|
||||
```
|
||||
|
|
@ -222,13 +224,10 @@ $ ./build4mac.py -q qt6brew -r hb33 -p hb311 -Y
|
|||
4. Copy/move the generated application bundle **`klayout.app`** to your **`/Applications`** directory for installation.
|
||||
|
||||
### 6D. Partially Homebrew-flavored build with System Ruby and Homebrew Python 3.11
|
||||
> [!IMPORTANT]
|
||||
> To build KLayout >= 0.29.0, you need "Qt6" to address [the compilation issue](https://github.com/KLayout/klayout/issues/1599).
|
||||
|
||||
> [!CAUTION]
|
||||
> Homebrew Qt6.6.2 seems buggy. More precisely, it does not perfectly deploy the required Qt frameworks.
|
||||
> If you plan to distribute an HW*.dmg package, consider using Qt6.4.x from MacPorts.
|
||||
> That is, substitute `qt6brew` with `qt6macports` in the following command lines.
|
||||
> To build KLayout >= 0.29.0, you need "Qt6" to address [the compilation issue](https://github.com/KLayout/klayout/issues/1599).<br>
|
||||
> However, the current KLayout is not compliant with the latest Qt6.7.0, so you will get another compilation error.<br>
|
||||
> Therefore, this section will be disabled for the time being.
|
||||
|
||||
0. Install Homebrew, then install Qt6, Python 3.11, and libgit2 by
|
||||
```
|
||||
|
|
@ -261,7 +260,46 @@ $ ./build4mac.py -q qt6brew -r sys -p hb311 -y
|
|||
> So far, the deployment of Homebrew Ruby is not supported.<br>
|
||||
> Therefore, if you intend to use the "-y" option for deployment, you need to use the "-r sys" option for building.
|
||||
|
||||
### 6E. Fully Anaconda3-flavored build with Anaconda3 Ruby 3.2 and Anaconda3 Python 3.11
|
||||
### 6E. Heterogeneous combination of MacPorts Qt5, System Ruby, and Homebrew Python 3.11
|
||||
> [!IMPORTANT]
|
||||
> This is a practical solution for building an HW*.dmg package.
|
||||
|
||||
0. Install MacPorts, then install Qt5 and libgit2 by
|
||||
```
|
||||
$ sudo port install coreutils
|
||||
$ sudo port install findutils
|
||||
$ sudo port install qt5
|
||||
$ sudo port install libgit2
|
||||
```
|
||||
|
||||
Then, install Homebrew, then install Python 3.11 by
|
||||
```
|
||||
$ brew install python@3.11
|
||||
$ cd /where/'build.sh'/exists
|
||||
$ cd macbuild
|
||||
$ ./python3HB.py -v 3.11
|
||||
```
|
||||
|
||||
1. Invoke **`build4mac.py`** with the following options:
|
||||
```
|
||||
$ cd /where/'build.sh'/exists
|
||||
$ ./build4mac.py -q qt5macports -r sys -p hb311
|
||||
```
|
||||
2. Confirm successful build (it will take about one hour, depending on your machine spec).
|
||||
3. Rerun **`build4mac.py`** with the same options used in 1. PLUS "-y" to deploy executables and libraries under **`klayout.app`** bundle.<br>
|
||||
The buddy command-line tools (strm*) will also be deployed under **klayout.app/Contents/Buddy/** in this step.<br>
|
||||
|
||||
```
|
||||
$ ./build4mac.py -q qt5macports -r sys -p hb311 -y
|
||||
```
|
||||
The application bundle **`klayout.app`** is located under:<br>
|
||||
**`HW-qt5MP.pkg.macos-Monterey-release-RsysPhb311`** directory, where
|
||||
* "HW-" means this is a heavyweight package because both Qt5 and Python Frameworks are deployed.
|
||||
* "qt5MP" means that Qt5 from MacPorts is used.
|
||||
* "RsysPhb311" means that Ruby is OS-bundled; Python is 3.11 from Homebrew.
|
||||
4. Copy/move the generated application bundle **`klayout.app`** to your **`/Applications`** directory for installation.
|
||||
|
||||
### 6F. Fully Anaconda3-flavored build with Anaconda3 Ruby 3.2 and Anaconda3 Python 3.11
|
||||
0. Install Anaconda3 (Anaconda3-2023.09-0-MacOSX-x86_64.pkg), then install Ruby 3.2 and libgit2 by
|
||||
```
|
||||
$ conda install ruby=3.2.2
|
||||
|
|
@ -292,11 +330,11 @@ $ ./build4mac.py -q qt5ana3 -r ana3 -p ana3 -Y
|
|||
export PYTHONHOME=$HOME/opt/anaconda3
|
||||
```
|
||||
|
||||
### 6F. Other combinations
|
||||
### 6G. Other combinations
|
||||
Logically, several module combinations other than 6B through 6E are possible, including `nil` choice.<br>
|
||||
The resultant package directory name will begin with **`EX-`** (exceptional) if you choose such a combination.
|
||||
|
||||
### 6G. Using the git-based Salt Package Manager through a proxy server
|
||||
### 6H. Using the git-based Salt Package Manager through a proxy server
|
||||
If you use the git-based Salt Package Manager through a proxy server, you need to set the `KLAYOUT_GIT_HTTP_PROXY` environment variable. For example,
|
||||
```
|
||||
$ export KLAYOUT_GIT_HTTP_PROXY="http://111.222.333.444:5678"
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -182,7 +182,7 @@ RubySonoma = { 'exe': '/System/Library/Frameworks/Ruby.framework/Versions/
|
|||
# install with 'sudo port install ruby33'
|
||||
# [Key Type Name] = 'MP33'
|
||||
Ruby33MacPorts = { 'exe': '/opt/local/bin/ruby3.3',
|
||||
'inc': '/opt/local/include/ruby-3.3.0',
|
||||
'inc': '/opt/local/include/ruby-3.3.1',
|
||||
'lib': '/opt/local/lib/libruby.3.3.dylib'
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue