mirror of https://github.com/KLayout/klayout.git
Switch the main development environment to Sequoia
This commit is contained in:
parent
5173a2aad7
commit
c4a588d8be
|
|
@ -1,12 +1,12 @@
|
||||||
Relevant KLayout version: 0.29.11<br>
|
Relevant KLayout version: 0.30.2<br>
|
||||||
Author: Kazzz-S<br>
|
Author: Kazzz-S<br>
|
||||||
Last modified: 2025-01-19<br>
|
Last modified: 2025-05-30<br>
|
||||||
|
|
||||||
# 1. Introduction
|
# 1. Introduction
|
||||||
This directory **`macbuild`** contains various files required for building KLayout (http://www.klayout.de/) version 0.29.11 or later for different 64-bit macOS, including:
|
This directory **`macbuild`** contains various files required for building KLayout (http://www.klayout.de/) version 0.30.2 or later for different 64-bit macOS, including:
|
||||||
* Sonoma (14.x) : the primary development environment
|
* Sequoia (15.x) : the primary development environment
|
||||||
* Ventura (13.x) : experimental
|
* Sonoma (14.x) : experimental
|
||||||
* Sequoia (15.x) : -- ditto --
|
* Ventura (13.x) : -- ditto --
|
||||||
|
|
||||||
Building KLayout for the previous operating systems listed below has been discontinued.<br>
|
Building KLayout for the previous operating systems listed below has been discontinued.<br>
|
||||||
Pre-built DMG packages are also not provided.<br>
|
Pre-built DMG packages are also not provided.<br>
|
||||||
|
|
@ -18,7 +18,7 @@ Pre-built DMG packages are also not provided.<br>
|
||||||
* Sierra (10.12)
|
* Sierra (10.12)
|
||||||
* El Capitan (10.11)
|
* El Capitan (10.11)
|
||||||
|
|
||||||
Throughout this document, the primary target machine is **Intel x86_64** with **macOS Sonoma**.<br>
|
Throughout this document, the primary target machine is **Intel x86_64** with **macOS Sequoia**.<br>
|
||||||
All Apple (M1|M2|M3|M4) chips are still untested, as the author does not own an (M1|M2|M3|M4) Mac.<br>
|
All Apple (M1|M2|M3|M4) chips are still untested, as the author does not own an (M1|M2|M3|M4) Mac.<br>
|
||||||
However, some kind volunteers told me they successfully built on an Apple silicon machine.<br>
|
However, some kind volunteers told me they successfully built on an Apple silicon machine.<br>
|
||||||
|
|
||||||
|
|
@ -43,7 +43,7 @@ If you have installed Anaconda3 under $HOME/opt/anaconda3/, make a symbolic link
|
||||||
/Applications/anaconda3/ ---> $HOME/opt/anaconda3/
|
/Applications/anaconda3/ ---> $HOME/opt/anaconda3/
|
||||||
```
|
```
|
||||||
|
|
||||||
The migration work to "Qt6" is ongoing. You can try to use it; however, you might encounter some build and runtime errors.<br>
|
The migration work to "Qt6" is ongoing. You can try to use it; however, you might encounter some build or runtime errors.<br>
|
||||||
If you use **Homebrew** to build KLayout >= 0.29.0, you need "Qt6" to address [the compilation issue](https://github.com/KLayout/klayout/issues/1599).<br>
|
If you use **Homebrew** to build KLayout >= 0.29.0, you need "Qt6" to address [the compilation issue](https://github.com/KLayout/klayout/issues/1599).<br>
|
||||||
I have also tried migrating to "Python 3.12.x" (earlier, Python 3.11.x) in this version.
|
I have also tried migrating to "Python 3.12.x" (earlier, Python 3.11.x) in this version.
|
||||||
|
|
||||||
|
|
@ -70,7 +70,7 @@ The operating system type is detected automatically.
|
||||||
```
|
```
|
||||||
-----------------------------------------------------------------------------------------------------------
|
-----------------------------------------------------------------------------------------------------------
|
||||||
<< Usage of 'build4mac.py' >>
|
<< Usage of 'build4mac.py' >>
|
||||||
for building KLayout 0.29.11 or later on different Apple macOS platforms.
|
for building KLayout 0.30.2 or later on different Apple macOS platforms.
|
||||||
|
|
||||||
$ [python] ./build4mac.py
|
$ [python] ./build4mac.py
|
||||||
option & argument : descriptions (refer to 'macbuild/build4mac_env.py' for details) | default value
|
option & argument : descriptions (refer to 'macbuild/build4mac_env.py' for details) | default value
|
||||||
|
|
@ -123,7 +123,7 @@ $ [python] ./build4mac.py
|
||||||
```
|
```
|
||||||
|
|
||||||
# 6. Use-cases
|
# 6. Use-cases
|
||||||
In this section, the actual file and directory names are those obtained on macOS Sonoma.<br>
|
In this section, the actual file and directory names are those obtained on macOS Sequoia.<br>
|
||||||
On different OS, those names differ accordingly.
|
On different OS, those names differ accordingly.
|
||||||
|
|
||||||
### 6A. Standard build using the OS-bundled Ruby and Python with MacPorts Qt5
|
### 6A. Standard build using the OS-bundled Ruby and Python with MacPorts Qt5
|
||||||
|
|
@ -141,7 +141,7 @@ Confirm that you have:
|
||||||
```
|
```
|
||||||
As of this writing, the provided Python version is `3.9.6`.
|
As of this writing, the provided Python version is `3.9.6`.
|
||||||
|
|
||||||
1. Invoke **`build4mac.py`** with the following options: **((Notes))** These options are the default values for Sonoma, Ventura, and Sequioa.
|
1. Invoke **`build4mac.py`** with the following options: **((Notes))** These options are the default values for Sequoia, Sonoma, and Ventura.
|
||||||
```
|
```
|
||||||
$ cd /where/'build.sh'/exists
|
$ cd /where/'build.sh'/exists
|
||||||
$ ./build4mac.py -q qt5macports -r sys -p sys
|
$ ./build4mac.py -q qt5macports -r sys -p sys
|
||||||
|
|
@ -154,7 +154,7 @@ $ ./build4mac.py -q qt5macports -r sys -p sys
|
||||||
$ ./build4mac.py -q qt5macports -r sys -p sys -y
|
$ ./build4mac.py -q qt5macports -r sys -p sys -y
|
||||||
```
|
```
|
||||||
The application bundle **`klayout.app`** is located under:<br>
|
The application bundle **`klayout.app`** is located under:<br>
|
||||||
**`ST-qt5MP.pkg.macos-Sonoma-release-RsysPsys`** directory, where
|
**`ST-qt5MP.pkg.macos-Sequoia-release-RsysPsys`** directory, where
|
||||||
* "ST-" means this is a standard package.
|
* "ST-" means this is a standard package.
|
||||||
* "qt5MP" means that Qt5 from MacPorts is used.
|
* "qt5MP" means that Qt5 from MacPorts is used.
|
||||||
* "RsysPsys" means that Ruby is 2.6 provided by OS; Python is 3.9 provided by OS.
|
* "RsysPsys" means that Ruby is 2.6 provided by OS; Python is 3.9 provided by OS.
|
||||||
|
|
@ -185,7 +185,7 @@ $ ./build4mac.py -q qt5macports -r mp33 -p mp312
|
||||||
$ ./build4mac.py -q qt5macports -r mp33 -p mp312 -Y
|
$ ./build4mac.py -q qt5macports -r mp33 -p mp312 -Y
|
||||||
```
|
```
|
||||||
The application bundle **`klayout.app`** is located under:<br>
|
The application bundle **`klayout.app`** is located under:<br>
|
||||||
**`LW-qt5MP.pkg.macos-Sonoma-release-Rmp33Pmp312`** directory, where
|
**`LW-qt5MP.pkg.macos-Sequoia-release-Rmp33Pmp312`** directory, where
|
||||||
* "LW-" means this is a lightweight package.
|
* "LW-" means this is a lightweight package.
|
||||||
* "qt5MP" means that Qt5 from MacPorts is used.
|
* "qt5MP" means that Qt5 from MacPorts is used.
|
||||||
* "Rmp33Pmp312" means that Ruby is 3.3 from MacPorts; Python is 3.12 from MacPorts.
|
* "Rmp33Pmp312" means that Ruby is 3.3 from MacPorts; Python is 3.12 from MacPorts.
|
||||||
|
|
@ -218,7 +218,7 @@ $ ./build4mac.py -q qt6brew -r hb34 -p hb312
|
||||||
$ ./build4mac.py -q qt6brew -r hb34 -p hb312 -Y
|
$ ./build4mac.py -q qt6brew -r hb34 -p hb312 -Y
|
||||||
```
|
```
|
||||||
The application bundle **`klayout.app`** is located under:<br>
|
The application bundle **`klayout.app`** is located under:<br>
|
||||||
**`LW-qt6Brew.pkg.macos-Sonoma-release-Rhb34Phb312`** directory, where
|
**`LW-qt6Brew.pkg.macos-Sequoia-release-Rhb34Phb312`** directory, where
|
||||||
* "LW-" means this is a lightweight package.
|
* "LW-" means this is a lightweight package.
|
||||||
* "qt6Brew" means that Qt6 from Homebrew is used.
|
* "qt6Brew" means that Qt6 from Homebrew is used.
|
||||||
* "Rhb34Phb312" means that Ruby is 3.4 from Homebrew; Python is 3.12 from Homebrew.
|
* "Rhb34Phb312" means that Ruby is 3.4 from Homebrew; Python is 3.12 from Homebrew.
|
||||||
|
|
@ -258,7 +258,7 @@ $ ./build4mac.py -q qt6brew -r sys -p hb311
|
||||||
$ ./build4mac.py -q qt6brew -r sys -p hb311 -y
|
$ ./build4mac.py -q qt6brew -r sys -p hb311 -y
|
||||||
```
|
```
|
||||||
The application bundle **`klayout.app`** is located under:<br>
|
The application bundle **`klayout.app`** is located under:<br>
|
||||||
**`HW-qt6Brew.pkg.macos-Sonoma-release-RsysPhb311`** directory, where
|
**`HW-qt6Brew.pkg.macos-Sequoia-release-RsysPhb311`** directory, where
|
||||||
* "HW-" means this is a heavyweight package because both Qt6 and Python Frameworks are deployed.
|
* "HW-" means this is a heavyweight package because both Qt6 and Python Frameworks are deployed.
|
||||||
* "qt6Brew" means that Qt6 from Homebrew is used.
|
* "qt6Brew" means that Qt6 from Homebrew is used.
|
||||||
* "RsysPhb311" means that Ruby is OS-bundled; Python is 3.11 from Homebrew.
|
* "RsysPhb311" means that Ruby is OS-bundled; Python is 3.11 from Homebrew.
|
||||||
|
|
@ -300,14 +300,14 @@ $ ./build4mac.py -q qt5macports -r sys -p hb311
|
||||||
$ ./build4mac.py -q qt5macports -r sys -p hb311 -y
|
$ ./build4mac.py -q qt5macports -r sys -p hb311 -y
|
||||||
```
|
```
|
||||||
The application bundle **`klayout.app`** is located under:<br>
|
The application bundle **`klayout.app`** is located under:<br>
|
||||||
**`HW-qt5MP.pkg.macos-Sonoma-release-RsysPhb311`** directory, where
|
**`HW-qt5MP.pkg.macos-Sequoia-release-RsysPhb311`** directory, where
|
||||||
* "HW-" means this is a heavyweight package because both Qt5 and Python Frameworks are deployed.
|
* "HW-" means this is a heavyweight package because both Qt5 and Python Frameworks are deployed.
|
||||||
* "qt5MP" means that Qt5 from MacPorts is used.
|
* "qt5MP" means that Qt5 from MacPorts is used.
|
||||||
* "RsysPhb311" means that Ruby is OS-bundled; Python is 3.11 from Homebrew.
|
* "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.
|
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.12
|
### 6F. Fully Anaconda3-flavored build with Anaconda3 Ruby 3.2 and Anaconda3 Python 3.12
|
||||||
0. Install Anaconda3 (Anaconda3-2024.06-1-MacOSX-x86_64.pkg), then install Ruby 3.2 and libgit2 by
|
0. Install Anaconda3 (Anaconda3-2024.10-1-MacOSX-x86_64.pkg), then install Ruby 3.2 and libgit2 by
|
||||||
```
|
```
|
||||||
$ conda install ruby=3.2.2
|
$ conda install ruby=3.2.2
|
||||||
$ conda install libgit2=1.6.4
|
$ conda install libgit2=1.6.4
|
||||||
|
|
@ -327,7 +327,7 @@ $ ./build4mac.py -q qt5ana3 -r ana3 -p ana3
|
||||||
$ ./build4mac.py -q qt5ana3 -r ana3 -p ana3 -Y
|
$ ./build4mac.py -q qt5ana3 -r ana3 -p ana3 -Y
|
||||||
```
|
```
|
||||||
The application bundle **`klayout.app`** is located under:<br>
|
The application bundle **`klayout.app`** is located under:<br>
|
||||||
**`LW-qt5Ana3.pkg.macos-Sonoma-release-Rana3Pana3`** directory, where
|
**`LW-qt5Ana3.pkg.macos-Sequoia-release-Rana3Pana3`** directory, where
|
||||||
* "LW-" means this is a lightweight package.
|
* "LW-" means this is a lightweight package.
|
||||||
* "qt5Ana3" means that Qt5 from Anaconda3 is used.
|
* "qt5Ana3" means that Qt5 from Anaconda3 is used.
|
||||||
* "Rana3Pana3" means that Ruby (3.2) is from Anaconda3; Python (3.12) is from Anaconda3.
|
* "Rana3Pana3" means that Ruby (3.2) is from Anaconda3; Python (3.12) is from Anaconda3.
|
||||||
|
|
@ -394,11 +394,11 @@ makeDMG4mac.py -> macbuild/makeDMG4mac.py
|
||||||
2. Invoke **`makeDMG4mac.py`** with -p and -m options, for example,
|
2. Invoke **`makeDMG4mac.py`** with -p and -m options, for example,
|
||||||
```
|
```
|
||||||
$ cd /where/'build.sh'/exists
|
$ cd /where/'build.sh'/exists
|
||||||
$ ./makeDMG4mac.py -p LW-qt5MP.pkg.macos-Sonoma-release-Rmp33Pmp312 -m
|
$ ./makeDMG4mac.py -p LW-qt5MP.pkg.macos-Sequoia-release-Rmp33Pmp312 -m
|
||||||
```
|
```
|
||||||
This command will generate the two files below:<br>
|
This command will generate the two files below:<br>
|
||||||
* **`LW-klayout-0.29.11-macOS-Sonoma-1-qt5MP-Rmp33Pmp312.dmg`** ---(1) the main DMG file
|
* **`LW-klayout-0.30.2-macOS-Sequoia-1-qt5MP-Rmp33Pmp312.dmg`** ---(1) the main DMG file
|
||||||
* **`LW-klayout-0.29.11-macOS-Sonoma-1-qt5MP-Rmp33Pmp312.dmg.md5`** ---(2) MD5-value text file
|
* **`LW-klayout-0.30.2-macOS-Sequoia-1-qt5MP-Rmp33Pmp312.dmg.md5`** ---(2) MD5-value text file
|
||||||
|
|
||||||
# Known issues
|
# Known issues
|
||||||
Because we assume some specific versions of non-OS-standard Ruby and Python, updating Homebrew, MacPorts, or Anaconda3 may cause build- and link errors.<br>
|
Because we assume some specific versions of non-OS-standard Ruby and Python, updating Homebrew, MacPorts, or Anaconda3 may cause build- and link errors.<br>
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -5,7 +5,7 @@
|
||||||
# File: "macbuild/build4mac.py"
|
# File: "macbuild/build4mac.py"
|
||||||
#
|
#
|
||||||
# The top Python script for building KLayout (http://www.klayout.de/index.php)
|
# The top Python script for building KLayout (http://www.klayout.de/index.php)
|
||||||
# version 0.29.11 or later on different Apple Mac OSX platforms.
|
# version 0.30.2 or later on different Apple Mac OSX platforms.
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
|
|
@ -45,7 +45,7 @@ def GenerateUsage(platform):
|
||||||
usage = "\n"
|
usage = "\n"
|
||||||
usage += "-----------------------------------------------------------------------------------------------------------\n"
|
usage += "-----------------------------------------------------------------------------------------------------------\n"
|
||||||
usage += "<< Usage of 'build4mac.py' >>\n"
|
usage += "<< Usage of 'build4mac.py' >>\n"
|
||||||
usage += " for building KLayout 0.29.11 or later on different Apple macOS platforms.\n"
|
usage += " for building KLayout 0.30.2 or later on different Apple macOS platforms.\n"
|
||||||
usage += "\n"
|
usage += "\n"
|
||||||
usage += "$ [python] ./build4mac.py\n"
|
usage += "$ [python] ./build4mac.py\n"
|
||||||
usage += " option & argument : descriptions (refer to 'macbuild/build4mac_env.py' for details) | default value\n"
|
usage += " option & argument : descriptions (refer to 'macbuild/build4mac_env.py' for details) | default value\n"
|
||||||
|
|
@ -847,29 +847,30 @@ def Build_pymod_wheel(parameters):
|
||||||
cmd3_args = " <wheel file> \\\n"
|
cmd3_args = " <wheel file> \\\n"
|
||||||
cmd4_args = " -m setup clean --all \\\n"
|
cmd4_args = " -m setup clean --all \\\n"
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------
|
||||||
# [4] Make the consolidated command lines
|
# [4] Make the consolidated command lines
|
||||||
#--------------------------------------------------------------------
|
# "caffeinate" makes the CPU run at full speed even when the screen is locked.
|
||||||
|
#-----------------------------------------------------------------------------------
|
||||||
command1 = "time"
|
command1 = "time"
|
||||||
command1 += " \\\n %s \\\n" % parameters['python']
|
command1 += " \\\n caffeinate -i %s \\\n" % parameters['python']
|
||||||
command1 += cmd1_args
|
command1 += cmd1_args
|
||||||
command1 += " 2>&1 | tee -a %s; \\\n" % parameters['logfile']
|
command1 += " 2>&1 | tee -a %s; \\\n" % parameters['logfile']
|
||||||
command1 += " test ${PIPESTATUS[0]} -eq 0" # tee always exits with 0
|
command1 += " test ${PIPESTATUS[0]} -eq 0" # tee always exits with 0
|
||||||
|
|
||||||
command2 = "time"
|
command2 = "time"
|
||||||
command2 += " \\\n %s \\\n" % parameters['python']
|
command2 += " \\\n caffeinate -i %s \\\n" % parameters['python']
|
||||||
command2 += cmd2_args
|
command2 += cmd2_args
|
||||||
command2 += " 2>&1 | tee -a %s; \\\n" % parameters['logfile']
|
command2 += " 2>&1 | tee -a %s; \\\n" % parameters['logfile']
|
||||||
command2 += " test ${PIPESTATUS[0]} -eq 0" # tee always exits with 0
|
command2 += " test ${PIPESTATUS[0]} -eq 0" # tee always exits with 0
|
||||||
|
|
||||||
command3 = "time"
|
command3 = "time"
|
||||||
command3 += " \\\n %s \\\n" % deloc_cmd
|
command3 += " \\\n caffeinate -i %s \\\n" % deloc_cmd
|
||||||
command3 += cmd3_args
|
command3 += cmd3_args
|
||||||
command3 += " 2>&1 | tee -a %s; \\\n" % parameters['logfile']
|
command3 += " 2>&1 | tee -a %s; \\\n" % parameters['logfile']
|
||||||
command3 += " test ${PIPESTATUS[0]} -eq 0" # tee always exits with 0
|
command3 += " test ${PIPESTATUS[0]} -eq 0" # tee always exits with 0
|
||||||
|
|
||||||
command4 = "time"
|
command4 = "time"
|
||||||
command4 += " \\\n %s \\\n" % parameters['python']
|
command4 += " \\\n caffeinate -i %s \\\n" % parameters['python']
|
||||||
command4 += cmd4_args
|
command4 += cmd4_args
|
||||||
command4 += " 2>&1 | tee -a %s; \\\n" % parameters['logfile']
|
command4 += " 2>&1 | tee -a %s; \\\n" % parameters['logfile']
|
||||||
command4 += " test ${PIPESTATUS[0]} -eq 0" # tee always exits with 0
|
command4 += " test ${PIPESTATUS[0]} -eq 0" # tee always exits with 0
|
||||||
|
|
@ -923,10 +924,10 @@ def Build_pymod_wheel(parameters):
|
||||||
# Refer to: https://github.com/Kazzz-S/klayout/issues/49#issuecomment-1432154118
|
# Refer to: https://github.com/Kazzz-S/klayout/issues/49#issuecomment-1432154118
|
||||||
# https://pypi.org/project/delocate/
|
# https://pypi.org/project/delocate/
|
||||||
#---------------------------------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------------------------------
|
||||||
cmd3_args = glob.glob( "dist/*.whl" ) # like ['dist/klayout-0.29.7-cp312-cp312-macosx_12_0_x86_64.whl']
|
cmd3_args = glob.glob( "dist/*.whl" ) # like ['dist/klayout-0.30.2-cp312-cp312-macosx_10_15_x86_64.whl']
|
||||||
if len(cmd3_args) == 1:
|
if len(cmd3_args) == 1:
|
||||||
command3 = "time"
|
command3 = "time"
|
||||||
command3 += " \\\n %s \\\n" % deloc_cmd
|
command3 += " \\\n caffeinate -i %s \\\n" % deloc_cmd
|
||||||
command3 += " %s \\\n" % cmd3_args[0]
|
command3 += " %s \\\n" % cmd3_args[0]
|
||||||
command3 += " 2>&1 | tee -a %s; \\\n" % parameters['logfile']
|
command3 += " 2>&1 | tee -a %s; \\\n" % parameters['logfile']
|
||||||
command3 += " test ${PIPESTATUS[0]} -eq 0" # tee always exits with 0
|
command3 += " test ${PIPESTATUS[0]} -eq 0" # tee always exits with 0
|
||||||
|
|
@ -953,13 +954,13 @@ def Build_pymod_wheel(parameters):
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
# [5-C] Forcibly change the wheel file name for anaconda3
|
# [5-C] Forcibly change the wheel file name for anaconda3
|
||||||
# Ref. https://github.com/Kazzz-S/klayout/issues/53
|
# Ref. https://github.com/Kazzz-S/klayout/issues/53
|
||||||
# original: klayout-0.29.7-cp312-cp312-macosx_12_0_x86_64.whl
|
# original: klayout-0.30.2-cp312-cp312-macosx_10_15_x86_64.whl
|
||||||
# |
|
# |
|
||||||
# V
|
# V
|
||||||
# new: klayout-0.29.7-cp312-cp312-macosx_10_9_x86_64.whl
|
# new: klayout-0.30.2-cp312-cp312-macosx_10_9_x86_64.whl
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
if whlTarget == "ana3":
|
if whlTarget == "ana3":
|
||||||
wheels = glob.glob( "dist/*.whl" ) # like ['dist/klayout-0.29.7-cp312-cp312-macosx_12_0_x86_64.whl']
|
wheels = glob.glob( "dist/*.whl" ) # like ['dist/klayout-0.30.2-cp312-cp312-macosx_10_15_x86_64.whl']
|
||||||
if not len(wheels) == 1:
|
if not len(wheels) == 1:
|
||||||
print( "", file=sys.stderr )
|
print( "", file=sys.stderr )
|
||||||
print( "-------------------------------------------------------------", file=sys.stderr )
|
print( "-------------------------------------------------------------", file=sys.stderr )
|
||||||
|
|
@ -1114,11 +1115,12 @@ def Run_Build_Command(config, parameters):
|
||||||
else:
|
else:
|
||||||
cmd_args += " \\\n -nopython"
|
cmd_args += " \\\n -nopython"
|
||||||
|
|
||||||
#-----------------------------------------------------
|
#-----------------------------------------------------------------------------------
|
||||||
# [4] Make the consolidated command line
|
# [4] Make the consolidated command line
|
||||||
#-----------------------------------------------------
|
# "caffeinate" makes the CPU run at full speed even when the screen is locked.
|
||||||
|
#-----------------------------------------------------------------------------------
|
||||||
command = "time"
|
command = "time"
|
||||||
command += " \\\n %s" % parameters['build_cmd']
|
command += " \\\n caffeinate -i %s" % parameters['build_cmd']
|
||||||
command += cmd_args
|
command += cmd_args
|
||||||
command += " 2>&1 | tee %s; \\\n" % parameters['logfile']
|
command += " 2>&1 | tee %s; \\\n" % parameters['logfile']
|
||||||
command += "test ${PIPESTATUS[0]} -eq 0" # tee always exits with 0
|
command += "test ${PIPESTATUS[0]} -eq 0" # tee always exits with 0
|
||||||
|
|
@ -1831,33 +1833,33 @@ def Deploy_Binaries_For_Bundle(config, parameters):
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------------------
|
||||||
# [9] Special deployment of Python3.11 from Homebrew
|
# [9] Special deployment of Python3.11 from Homebrew
|
||||||
# To use Python3.1 from Homebrew on Sonoma...
|
# To use Python3.11 from Homebrew on Sequoia...
|
||||||
# in "/usr/local/opt/python@3.11/lib/"
|
# in "/usr/local/opt/python@3.11/lib/"
|
||||||
# Python.framework -> ../Frameworks/Python.framework/ <=== this symbolic was needed
|
# Python.framework -> ../Frameworks/Python.framework/ <=== this symbolic was needed
|
||||||
# pkgconfig/
|
# pkgconfig/
|
||||||
#
|
#
|
||||||
# Use the "python3HB.py" tool to make different symbolic links [*] including the above one.
|
# Use the "python3HB.py" tool to make different symbolic links [*] including the above one.
|
||||||
# Sonoma{kazzz-s} lib (1)% pwd
|
# Sequoia{kazzz-s} lib (1)% pwd
|
||||||
# /usr/local/opt/python@3.11/lib
|
# /usr/local/opt/python@3.11/lib
|
||||||
# Sonoma{kazzz-s} lib (2)% ll
|
# Sequoia{kazzz-s} lib (2)% ll
|
||||||
# total 0
|
# total 0
|
||||||
# drwxr-xr-x 4 kazzz-s admin 128 9 21 23:03 .
|
# drwxr-xr-x 4 kazzz-s admin 128 9 21 23:03 .
|
||||||
# drwxr-xr-x 14 kazzz-s admin 448 9 21 18:33 ..
|
# drwxr-xr-x 14 kazzz-s admin 448 9 21 18:33 ..
|
||||||
# [*] lrwxr-xr-x 1 kazzz-s admin 31 9 21 23:03 Python.framework -> ../Frameworks/Python.framework/
|
# [*] lrwxr-xr-x 1 kazzz-s admin 31 9 21 23:03 Python.framework -> ../Frameworks/Python.framework/
|
||||||
# drwxr-xr-x 4 kazzz-s admin 128 9 7 10:03 pkgconfig
|
# drwxr-xr-x 4 kazzz-s admin 128 9 7 10:03 pkgconfig
|
||||||
#
|
#
|
||||||
# Sonoma{kazzz-s} Python.framework (3)% pwd
|
# Sequoia{kazzz-s} Python.framework (3)% pwd
|
||||||
# /usr/local/opt/python@3.11/Frameworks/Python.framework/Versions
|
# /usr/local/opt/python@3.11/Frameworks/Python.framework/Versions
|
||||||
# Sonoma{kazzz-s} Versions (4)% ll
|
# Sequoia{kazzz-s} Versions (4)% ll
|
||||||
# total 0
|
# total 0
|
||||||
# drwxr-xr-x 4 kazzz-s admin 128 9 21 23:03 .
|
# drwxr-xr-x 4 kazzz-s admin 128 9 21 23:03 .
|
||||||
# drwxr-xr-x 6 kazzz-s admin 192 9 21 23:03 ..
|
# drwxr-xr-x 6 kazzz-s admin 192 9 21 23:03 ..
|
||||||
# drwxr-xr-x 9 kazzz-s admin 288 9 7 10:03 3.11
|
# drwxr-xr-x 9 kazzz-s admin 288 9 7 10:03 3.11
|
||||||
# [*] lrwxr-xr-x 1 kazzz-s admin 5 9 21 23:03 Current -> 3.11/
|
# [*] lrwxr-xr-x 1 kazzz-s admin 5 9 21 23:03 Current -> 3.11/
|
||||||
#
|
#
|
||||||
# Sonoma{kazzz-s} Python.framework (5)% pwd
|
# Sequoia{kazzz-s} Python.framework (5)% pwd
|
||||||
# /usr/local/opt/python@3.11/Frameworks/Python.framework
|
# /usr/local/opt/python@3.11/Frameworks/Python.framework
|
||||||
# Sonoma{kazzz-s} Python.framework (6)% ll
|
# Sequoia{kazzz-s} Python.framework (6)% ll
|
||||||
# total 0
|
# total 0
|
||||||
# drwxr-xr-x 6 kazzz-s admin 192 9 21 23:03 .
|
# drwxr-xr-x 6 kazzz-s admin 192 9 21 23:03 .
|
||||||
# drwxr-xr-x 3 kazzz-s admin 96 9 7 10:03 ..
|
# drwxr-xr-x 3 kazzz-s admin 96 9 7 10:03 ..
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Here are dictionaries of ...
|
# Here are dictionaries of ...
|
||||||
# different modules for building KLayout (http://www.klayout.de/index.php)
|
# different modules for building KLayout (http://www.klayout.de/index.php)
|
||||||
# version 0.29.11 or later on different Apple Mac OSX platforms.
|
# version 0.30.2 or later on different Apple Mac OSX platforms.
|
||||||
#
|
#
|
||||||
# This file is imported by 'build4mac.py' script.
|
# This file is imported by 'build4mac.py' script.
|
||||||
#===============================================================================
|
#===============================================================================
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
# Here are utility functions and classes ...
|
# Here are utility functions and classes ...
|
||||||
# for building KLayout (http://www.klayout.de/index.php)
|
# for building KLayout (http://www.klayout.de/index.php)
|
||||||
# version 0.29.7 or later on different Apple Mac OSX platforms.
|
# version 0.30.2 or later on different Apple Mac OSX platforms.
|
||||||
#
|
#
|
||||||
# This file is imported by 'build4mac.py' script.
|
# This file is imported by 'build4mac.py' script.
|
||||||
#========================================================================================
|
#========================================================================================
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
# File: "macbuild/macQAT.py"
|
# File: "macbuild/macQAT.py"
|
||||||
#
|
#
|
||||||
# The top Python script to run "ut_runner" after building KLayout
|
# The top Python script to run "ut_runner" after building KLayout
|
||||||
# (http://www.klayout.de/index.php) version 0.29.7 or later on different
|
# (http://www.klayout.de/index.php) version 0.30.2 or later on different
|
||||||
# Apple Mac OSX platforms.
|
# Apple Mac OSX platforms.
|
||||||
#
|
#
|
||||||
# This script must be copied to a "*.macQAT/" directory to run.
|
# This script must be copied to a "*.macQAT/" directory to run.
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
# File: "macbuild/macQAT.sh"
|
# File: "macbuild/macQAT.sh"
|
||||||
#
|
#
|
||||||
# The top Bash script to run "ut_runner" after building KLayout
|
# The top Bash script to run "ut_runner" after building KLayout
|
||||||
# (http://www.klayout.de/index.php) version 0.29.7 or later on different
|
# (http://www.klayout.de/index.php) version 0.30.2 or later on different
|
||||||
# Apple Mac OSX platforms.
|
# Apple Mac OSX platforms.
|
||||||
#
|
#
|
||||||
# This script must be copied to a "*.macQAT/" directory to run.
|
# This script must be copied to a "*.macQAT/" directory to run.
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
# File: "macbuild/macQAT2.sh"
|
# File: "macbuild/macQAT2.sh"
|
||||||
#
|
#
|
||||||
# The top Bash script to run "ut_runner" after building KLayout
|
# The top Bash script to run "ut_runner" after building KLayout
|
||||||
# (http://www.klayout.de/index.php) version 0.29.7 or later on different
|
# (http://www.klayout.de/index.php) version 0.30.2 or later on different
|
||||||
# Apple Mac OSX platforms.
|
# Apple Mac OSX platforms.
|
||||||
#
|
#
|
||||||
# This script must be copied to a directory that can be found in $PATH.
|
# This script must be copied to a directory that can be found in $PATH.
|
||||||
|
|
|
||||||
|
|
@ -78,13 +78,13 @@ def SetGlobals():
|
||||||
Usage = "\n"
|
Usage = "\n"
|
||||||
Usage += "---------------------------------------------------------------------------------------------------------\n"
|
Usage += "---------------------------------------------------------------------------------------------------------\n"
|
||||||
Usage += "<< Usage of 'makeDMG4mac.py' >>\n"
|
Usage += "<< Usage of 'makeDMG4mac.py' >>\n"
|
||||||
Usage += " for making a DMG file of KLayout 0.29.11 or later on different Apple macOS platforms.\n"
|
Usage += " for making a DMG file of KLayout 0.30.2 or later on different Apple macOS platforms.\n"
|
||||||
Usage += "\n"
|
Usage += "\n"
|
||||||
Usage += "$ [python] ./makeDMG4mac.py\n"
|
Usage += "$ [python] ./makeDMG4mac.py\n"
|
||||||
Usage += " option & argument : descriptions | default value\n"
|
Usage += " option & argument : descriptions | default value\n"
|
||||||
Usage += " ----------------------------------------------------------------------------------+-----------------\n"
|
Usage += " ----------------------------------------------------------------------------------+-----------------\n"
|
||||||
Usage += " <-p|--pkg <dir>> : package directory created by `build4mac.py` with [-y|-Y] | ``\n"
|
Usage += " <-p|--pkg <dir>> : package directory created by `build4mac.py` with [-y|-Y] | ``\n"
|
||||||
Usage += " : like 'LW-qt5MP.pkg.macos-Monterey-release-Rmp33Pmp311' | \n"
|
Usage += " : like 'LW-qt5MP.pkg.macos-Sequoia-release-Rmp33Pmp312' | \n"
|
||||||
Usage += " <-c|--clean> : clean the work directory | disabled\n"
|
Usage += " <-c|--clean> : clean the work directory | disabled\n"
|
||||||
Usage += " <-m|--make> : make a compressed DMG file | disabled\n"
|
Usage += " <-m|--make> : make a compressed DMG file | disabled\n"
|
||||||
Usage += " : <-c|--clean> and <-m|--make> are mutually exclusive | \n"
|
Usage += " : <-c|--clean> and <-m|--make> are mutually exclusive | \n"
|
||||||
|
|
@ -218,17 +218,17 @@ def SetGlobals():
|
||||||
## To check the contents of the package directory
|
## To check the contents of the package directory
|
||||||
#
|
#
|
||||||
# The package directory name should look like:
|
# The package directory name should look like:
|
||||||
# * ST-qt5MP.pkg.macos-Sonoma-release-RsysPsys
|
# * ST-qt5MP.pkg.macos-Sequoia-release-RsysPsys
|
||||||
# * LW-qt5Ana3.pkg.macos-Sonoma-release-Rana3Pana3
|
# * LW-qt5Ana3.pkg.macos-Sequoia-release-Rana3Pana3
|
||||||
# * LW-qt6Brew.pkg.macos-Sonoma-release-Rhb34Phb312 --- (1)
|
# * LW-qt6Brew.pkg.macos-Sequoia-release-Rhb34Phb312 --- (1)
|
||||||
# * LW-qt5MP.pkg.macos-Sonoma-release-Rmp33Pmp312
|
# * LW-qt5MP.pkg.macos-Sequoia-release-Rmp33Pmp312
|
||||||
# * HW-qt6Brew.pkg.macos-Sonoma-release-RsysPhb311
|
# * HW-qt6Brew.pkg.macos-Sequoia-release-RsysPhb311
|
||||||
#
|
#
|
||||||
# * ST-qt6MP.pkg.macos-Sonoma-release-RsysPsys
|
# * ST-qt6MP.pkg.macos-Sequoia-release-RsysPsys
|
||||||
# * LW-qt6MP.pkg.macos-Sonoma-release-Rmp33Pmp312
|
# * LW-qt6MP.pkg.macos-Sequoia-release-Rmp33Pmp312
|
||||||
#
|
#
|
||||||
# Generated DMG will be, for example,
|
# Generated DMG will be, for example,
|
||||||
# (1) ---> LW-klayout-0.29.7-macOS-Sonoma-1-qt6Brew-Rhb34Phb312.dmg
|
# (1) ---> LW-klayout-0.30.2-macOS-Sequoia-1-qt6Brew-Rhb34Phb312.dmg
|
||||||
#
|
#
|
||||||
# @return on success, positive integer in [MB] that tells approx. occupied disc space;
|
# @return on success, positive integer in [MB] that tells approx. occupied disc space;
|
||||||
# on failure, -1
|
# on failure, -1
|
||||||
|
|
@ -268,15 +268,15 @@ def CheckPkgDirectory():
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------------------
|
||||||
# [2] Identify (Qt, Ruby, Python) from PkgDir
|
# [2] Identify (Qt, Ruby, Python) from PkgDir
|
||||||
# * ST-qt5MP.pkg.macos-Sonoma-release-RsysPsys
|
# * ST-qt5MP.pkg.macos-Sequoia-release-RsysPsys
|
||||||
# * LW-qt5Ana3.pkg.macos-Sonoma-release-Rana3Pana3
|
# * LW-qt5Ana3.pkg.macos-Sequoia-release-Rana3Pana3
|
||||||
# * LW-qt6Brew.pkg.macos-Sonoma-release-Rhb34Phb312
|
# * LW-qt6Brew.pkg.macos-Sequoia-release-Rhb34Phb312
|
||||||
# * LW-qt5MP.pkg.macos-Sonoma-release-Rmp33Pmp312
|
# * LW-qt5MP.pkg.macos-Sequoia-release-Rmp33Pmp312
|
||||||
# * HW-qt6Brew.pkg.macos-Sonoma-release-RsysPhb311
|
# * HW-qt6Brew.pkg.macos-Sequoia-release-RsysPhb311
|
||||||
# * EX-qt5MP.pkg.macos-Sonoma-release-Rhb34Pmp312
|
# * EX-qt5MP.pkg.macos-Sequoia-release-Rhb34Pmp312
|
||||||
#
|
#
|
||||||
# * ST-qt6MP.pkg.macos-Sonoma-release-RsysPsys
|
# * ST-qt6MP.pkg.macos-Sequoia-release-RsysPsys
|
||||||
# * LW-qt6MP.pkg.macos-Sonoma-release-Rmp33Pmp312
|
# * LW-qt6MP.pkg.macos-Sequoia-release-Rmp33Pmp312
|
||||||
#-----------------------------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------------------------
|
||||||
# 0 1 2 3 4 5 6 7
|
# 0 1 2 3 4 5 6 7
|
||||||
patQRP = r'(ST|LW|HW|EX)([-])([qt5|qt6][0-9A-Za-z]+)([.]pkg[.])([A-Za-z]+[-][A-Za-z]+[-])(release|debug)([-])([0-9A-Za-z]+)'
|
patQRP = r'(ST|LW|HW|EX)([-])([qt5|qt6][0-9A-Za-z]+)([.]pkg[.])([A-Za-z]+[-][A-Za-z]+[-])(release|debug)([-])([0-9A-Za-z]+)'
|
||||||
|
|
|
||||||
|
|
@ -339,7 +339,7 @@ def Parse_CommandLine_Arguments():
|
||||||
Usage += " (3) $ ./nightlyBuild.py --test |\n"
|
Usage += " (3) $ ./nightlyBuild.py --test |\n"
|
||||||
Usage += " (4) $ ./nightlyBuild.py --check (confirm the QA Test results) |\n"
|
Usage += " (4) $ ./nightlyBuild.py --check (confirm the QA Test results) |\n"
|
||||||
Usage += " (5) $ ./nightlyBuild.py --makedmg 1 |\n"
|
Usage += " (5) $ ./nightlyBuild.py --makedmg 1 |\n"
|
||||||
Usage += " (6) $ ./nightlyBuild.py --upload '0.29.7' |\n"
|
Usage += " (6) $ ./nightlyBuild.py --upload '0.30.2' |\n"
|
||||||
Usage += " (7) $ ./nightlyBuild.py --cleandmg 1 |\n"
|
Usage += " (7) $ ./nightlyBuild.py --cleandmg 1 |\n"
|
||||||
Usage += "-----------------------------------------------------------------------------+----------------------------\n"
|
Usage += "-----------------------------------------------------------------------------+----------------------------\n"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ qtVer,target,bdType
|
||||||
5,0,r
|
5,0,r
|
||||||
5,1,r
|
5,1,r
|
||||||
6,2,r
|
6,2,r
|
||||||
6,13,r
|
5,13,r
|
||||||
5,4,r
|
5,4,r
|
||||||
#6,0,r
|
#6,0,r
|
||||||
#6,1,r
|
#6,1,r
|
||||||
|
|
|
||||||
|
Can't render this file because it contains an unexpected character in line 5 and column 30.
|
|
|
@ -33,8 +33,7 @@ def SetGlobals():
|
||||||
Usage += "\n"
|
Usage += "\n"
|
||||||
Usage += " option & argument : descriptions | default value\n"
|
Usage += " option & argument : descriptions | default value\n"
|
||||||
Usage += " -------------------------------------------------------------------+---------------\n"
|
Usage += " -------------------------------------------------------------------+---------------\n"
|
||||||
Usage += " <-v|--version <number>>: in ['3.8', '3.9', '3.10', '3.11', '3.12', | ''\n"
|
Usage += " <-v|--version <number>>: in ['3.11', '3.12','3.13'] | ''\n"
|
||||||
Usage += " '3.13'] |\n"
|
|
||||||
Usage += " [-u|-unlink] : unlink only | disabled\n"
|
Usage += " [-u|-unlink] : unlink only | disabled\n"
|
||||||
Usage += " [-?|--?] : print this usage and exit | disabled\n"
|
Usage += " [-?|--?] : print this usage and exit | disabled\n"
|
||||||
Usage += "----------------------------------------------------------------------+-----------------\n"
|
Usage += "----------------------------------------------------------------------+-----------------\n"
|
||||||
|
|
@ -50,7 +49,7 @@ def Parse_CLI_Args():
|
||||||
|
|
||||||
p.add_option( '-v', '--version',
|
p.add_option( '-v', '--version',
|
||||||
dest='version',
|
dest='version',
|
||||||
help="python3 version=['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']" )
|
help="python3 version=['3.11', '3.12', '3.13']" )
|
||||||
|
|
||||||
p.add_option( '-u', '--unlink',
|
p.add_option( '-u', '--unlink',
|
||||||
action='store_true',
|
action='store_true',
|
||||||
|
|
@ -75,7 +74,7 @@ def Parse_CLI_Args():
|
||||||
|
|
||||||
Version = opt.version
|
Version = opt.version
|
||||||
UnlinkOnly = opt.unlink
|
UnlinkOnly = opt.unlink
|
||||||
if not Version in [ '3.8', '3.9', '3.10', '3.11', '3.12', '3.13' ]:
|
if not Version in [ '3.11', '3.12', '3.13' ]:
|
||||||
print( "! Unsupported Python 3 version <%s>" % Version )
|
print( "! Unsupported Python 3 version <%s>" % Version )
|
||||||
print(Usage)
|
print(Usage)
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue