From f40758b77e85eff2db38f7bfdfda020d08804a48 Mon Sep 17 00:00:00 2001 From: Kazunari Sekigawa Date: Sun, 19 Jan 2025 07:51:02 +0900 Subject: [PATCH] Using the Ruby 3.4 from Homebrew --- macbuild/ReadMe.md | 30 ++++++++-------- macbuild/Resources/script-bundle-B.zip | Bin 6606837 -> 6606838 bytes macbuild/build4mac.py | 28 +++++++-------- macbuild/build4mac_env.py | 20 +++++------ macbuild/makeDMG4mac.py | 12 +++---- macbuild/nightlyBuild.py | 48 ++++++++++++------------- 6 files changed, 69 insertions(+), 69 deletions(-) diff --git a/macbuild/ReadMe.md b/macbuild/ReadMe.md index 2e7516f12..9fea55364 100644 --- a/macbuild/ReadMe.md +++ b/macbuild/ReadMe.md @@ -1,9 +1,9 @@ -Relevant KLayout version: 0.29.7
+Relevant KLayout version: 0.29.11
Author: Kazzz-S
-Last modified: 2024-09-23
+Last modified: 2025-01-19
# 1. Introduction -This directory **`macbuild`** contains various files required for building KLayout (http://www.klayout.de/) version 0.29.7 or later for different 64-bit macOS, including: +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: * Sonoma (14.x) : the primary development environment * Ventura (13.x) : experimental * Sequoia (15.x) : -- ditto -- @@ -19,7 +19,7 @@ Pre-built DMG packages are also not provided.
* El Capitan (10.11) Throughout this document, the primary target machine is **Intel x86_64** with **macOS Sonoma**.
-All Apple (M1|M2|M3) chips are still untested, as the author does not own an (M1|M2|M3) Mac.
+All Apple (M1|M2|M3|M4) chips are still untested, as the author does not own an (M1|M2|M3|M4) Mac.
However, some kind volunteers told me they successfully built on an Apple silicon machine.
# 2. Qt Frameworks @@ -70,7 +70,7 @@ The operating system type is detected automatically. ``` ----------------------------------------------------------------------------------------------------------- << Usage of 'build4mac.py' >> - for building KLayout 0.29.7 or later on different Apple macOS platforms. + for building KLayout 0.29.11 or later on different Apple macOS platforms. $ [python] ./build4mac.py option & argument : descriptions (refer to 'macbuild/build4mac_env.py' for details) | default value @@ -83,11 +83,11 @@ $ [python] ./build4mac.py : Qt6MacPorts: use Qt6 from MacPorts (*) | : Qt6Brew: use Qt6 from Homebrew (*) | : (*) migration to Qt6 is ongoing | - [-r|--ruby ] : case-insensitive type=['nil', 'Sys', 'MP33', 'HB33', 'Ana3'] | sys + [-r|--ruby ] : case-insensitive type=['nil', 'Sys', 'MP33', 'HB34', 'Ana3'] | sys : nil: don't bind Ruby | : Sys: use [Sequoia|Sonoma|Ventura|Monterey]-bundled Ruby 2.6 | : MP33: use Ruby 3.3 from MacPorts | - : HB33: use Ruby 3.3 from Homebrew | + : HB34: use Ruby 3.4 from Homebrew | : Ana3: use Ruby 3.2 from Anaconda3 | [-p|--python ] : case-insensitive type=['nil', 'Sys', 'MP312', 'HB312', 'Ana3', | sys : 'MP311', 'HB311', 'HBAuto'] | @@ -195,10 +195,10 @@ $ ./build4mac.py -q qt5macports -r mp33 -p mp312 -Y > [!IMPORTANT] > To build KLayout >= 0.29.0, you need "Qt6" >= 6.7.0 to address [the compilation issue](https://github.com/KLayout/klayout/issues/1599).
-0. Install Homebrew, then install Qt6, Ruby 3.3, Python 3.12, and libgit2 by +0. Install Homebrew, then install Qt6, Ruby 3.4, Python 3.12, and libgit2 by ``` $ brew install qt@6 -$ brew install ruby@3.3 +$ brew install ruby@3.4 $ brew install python@3.12 $ brew install libgit2 $ cd /where/'build.sh'/exists @@ -208,20 +208,20 @@ $ ./python3HB.py -v 3.12 1. Invoke **`build4mac.py`** with the following options: ``` $ cd /where/'build.sh'/exists -$ ./build4mac.py -q qt6brew -r hb33 -p hb312 +$ ./build4mac.py -q qt6brew -r hb34 -p hb312 ``` 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.
The buddy command-line tools (strm*) will also be deployed under **klayout.app/Contents/Buddy/** in this step.
``` -$ ./build4mac.py -q qt6brew -r hb33 -p hb312 -Y +$ ./build4mac.py -q qt6brew -r hb34 -p hb312 -Y ``` The application bundle **`klayout.app`** is located under:
- **`LW-qt6Brew.pkg.macos-Sonoma-release-Rhb33Phb312`** directory, where + **`LW-qt6Brew.pkg.macos-Sonoma-release-Rhb34Phb312`** directory, where * "LW-" means this is a lightweight package. * "qt6Brew" means that Qt6 from Homebrew is used. -* "Rhb33Phb312" means that Ruby is 3.3 from Homebrew; Python is 3.12 from Homebrew. +* "Rhb34Phb312" means that Ruby is 3.4 from Homebrew; Python is 3.12 from Homebrew. 4. Copy/move the generated application bundle **`klayout.app`** to your **`/Applications`** directory for installation. > [!WARNING] @@ -397,8 +397,8 @@ $ cd /where/'build.sh'/exists $ ./makeDMG4mac.py -p LW-qt5MP.pkg.macos-Sonoma-release-Rmp33Pmp312 -m ``` This command will generate the two files below:
-* **`LW-klayout-0.29.7-macOS-Sonoma-1-qt5MP-Rmp33Pmp312.dmg`** ---(1) the main DMG file -* **`LW-klayout-0.29.7-macOS-Sonoma-1-qt5MP-Rmp33Pmp312.dmg.md5`** ---(2) MD5-value text file +* **`LW-klayout-0.29.11-macOS-Sonoma-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 # 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.
diff --git a/macbuild/Resources/script-bundle-B.zip b/macbuild/Resources/script-bundle-B.zip index 15db234031c0a01873dd0306906e14700b500fcd..e48f714404b43fd792806438afdc174c6146b05f 100644 GIT binary patch delta 4752 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 delta 4745 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 AJpcdz diff --git a/macbuild/build4mac.py b/macbuild/build4mac.py index ca279c34f..e5db7b1e6 100755 --- a/macbuild/build4mac.py +++ b/macbuild/build4mac.py @@ -5,7 +5,7 @@ # File: "macbuild/build4mac.py" # # The top Python script for building KLayout (http://www.klayout.de/index.php) -# version 0.29.7 or later on different Apple Mac OSX platforms. +# version 0.29.11 or later on different Apple Mac OSX platforms. #=============================================================================== import sys import os @@ -45,7 +45,7 @@ def GenerateUsage(platform): usage = "\n" usage += "-----------------------------------------------------------------------------------------------------------\n" usage += "<< Usage of 'build4mac.py' >>\n" - usage += " for building KLayout 0.29.7 or later on different Apple macOS platforms.\n" + usage += " for building KLayout 0.29.11 or later on different Apple macOS platforms.\n" usage += "\n" usage += "$ [python] ./build4mac.py\n" usage += " option & argument : descriptions (refer to 'macbuild/build4mac_env.py' for details) | default value\n" @@ -58,11 +58,11 @@ def GenerateUsage(platform): usage += " : Qt6MacPorts: use Qt6 from MacPorts (*) |\n" usage += " : Qt6Brew: use Qt6 from Homebrew (*) |\n" usage += " : (*) migration to Qt6 is ongoing |\n" - usage += " [-r|--ruby ] : case-insensitive type=['nil', 'Sys', 'MP33', 'HB33', 'Ana3'] | %s\n" % myRuby + usage += " [-r|--ruby ] : case-insensitive type=['nil', 'Sys', 'MP33', 'HB34', 'Ana3'] | %s\n" % myRuby usage += " : nil: don't bind Ruby |\n" usage += " : Sys: use [Sequoia|Sonoma|Ventura|Monterey]-bundled Ruby 2.6 |\n" usage += " : MP33: use Ruby 3.3 from MacPorts |\n" - usage += " : HB33: use Ruby 3.3 from Homebrew |\n" + usage += " : HB34: use Ruby 3.4 from Homebrew |\n" usage += " : Ana3: use Ruby 3.2 from Anaconda3 |\n" usage += " [-p|--python ] : case-insensitive type=['nil', 'Sys', 'MP312', 'HB312', 'Ana3', | %s\n" % myPython usage += " : 'MP311', 'HB311', 'HBAuto'] |\n" @@ -271,7 +271,7 @@ def Parse_CLI_Args(config): p.add_option( '-r', '--ruby', dest='type_ruby', - help="Ruby type=['nil', 'Sys', 'MP33', 'HB33', 'Ana3']" ) + help="Ruby type=['nil', 'Sys', 'MP33', 'HB34', 'Ana3']" ) p.add_option( '-p', '--python', dest='type_python', @@ -405,7 +405,7 @@ def Parse_CLI_Args(config): candidates['NIL'] = 'nil' candidates['SYS'] = 'Sys' candidates['MP33'] = 'MP33' - candidates['HB33'] = 'HB33' + candidates['HB34'] = 'HB34' candidates['ANA3'] = 'Ana3' try: choiceRuby = candidates[ opt.type_ruby.upper() ] @@ -428,8 +428,8 @@ def Parse_CLI_Args(config): elif choiceRuby == "MP33": ModuleRuby = 'Ruby33MacPorts' NonOSStdLang = True - elif choiceRuby == "HB33": - ModuleRuby = 'Ruby33Brew' + elif choiceRuby == "HB34": + ModuleRuby = 'Ruby34Brew' NonOSStdLang = True elif choiceRuby == "Ana3": ModuleRuby = 'RubyAnaconda3' @@ -730,7 +730,7 @@ def Get_Build_Parameters(config): # will be built if: # BuildPymodWhl = True # Platform = [ 'Sequoia', 'Sonoma', 'Ventura', 'Monterey'] - # ModuleRuby = [ 'Ruby33MacPorts', 'Ruby33Brew', 'RubyAnaconda3' ] + # ModuleRuby = [ 'Ruby33MacPorts', 'Ruby34Brew', 'RubyAnaconda3' ] # ModulePython = [ 'Python312MacPorts', 'Python311MacPorts', # 'Python311Brew', # 'PythonAnaconda3' ] @@ -741,7 +741,7 @@ def Get_Build_Parameters(config): PymodDistDir = dict() if Platform in [ 'Sequoia', 'Sonoma', 'Ventura', 'Monterey' ]: - if ModuleRuby in [ 'Ruby33MacPorts', 'Ruby33Brew', 'RubyAnaconda3' ]: + if ModuleRuby in [ 'Ruby33MacPorts', 'Ruby34Brew', 'RubyAnaconda3' ]: if ModulePython in [ 'Python312MacPorts', 'Python311MacPorts' ]: PymodDistDir[ModulePython] = 'dist-MP3-%s' % ModuleQt elif ModulePython in [ 'Python311Brew' ]: @@ -764,7 +764,7 @@ def Build_pymod_wheel(parameters): # [1] will be built if: # BuildPymodWhl = True # Platform = [ 'Sequoia', 'Sonoma', 'Ventura', 'Monterey'] - # ModuleRuby = [ 'Ruby33MacPorts', 'Ruby33Brew', 'RubyAnaconda3' ] + # ModuleRuby = [ 'Ruby33MacPorts', 'Ruby34Brew', 'RubyAnaconda3' ] # ModulePython = [ 'Python312MacPorts', 'Python311MacPorts', # 'Python311Brew', # 'PythonAnaconda3' ] @@ -777,7 +777,7 @@ def Build_pymod_wheel(parameters): return 0 if not Platform in [ 'Sequoia', 'Sonoma', 'Ventura', 'Monterey' ]: return 0 - elif not ModuleRuby in [ 'Ruby33MacPorts', 'Ruby33Brew', 'RubyAnaconda3' ]: + elif not ModuleRuby in [ 'Ruby33MacPorts', 'Ruby34Brew', 'RubyAnaconda3' ]: return 0 elif not ModulePython in [ 'Python312MacPorts', 'Python311MacPorts', \ 'Python311Brew', \ @@ -2158,11 +2158,11 @@ def Deploy_Binaries_For_Bundle(config, parameters): #------------------------------------------------------------- # [10] Special deployment of Ruby3.3 from Homebrew? #------------------------------------------------------------- - deploymentRuby33HB = (ModuleRuby == 'Ruby33Brew') + deploymentRuby33HB = (ModuleRuby == 'Ruby34Brew') if deploymentRuby33HB and NonOSStdLang: print( "" ) - print( " [10] You have reached optional deployment of Ruby from %s ..." % HBRuby33Path ) + print( " [10] You have reached optional deployment of Ruby from %s ..." % HBRuby34Path ) print( " [!!!] Sorry, the deployed package will not work properly since deployment of" ) print( " Ruby3.3 from Homebrew is not yet supported." ) print( " Since you have Homebrew development environment, there two options:" ) diff --git a/macbuild/build4mac_env.py b/macbuild/build4mac_env.py index dba18baaf..c1084a66b 100755 --- a/macbuild/build4mac_env.py +++ b/macbuild/build4mac_env.py @@ -6,7 +6,7 @@ # # Here are dictionaries of ... # different modules for building KLayout (http://www.klayout.de/index.php) -# version 0.29.7 or later on different Apple Mac OSX platforms. +# version 0.29.11 or later on different Apple Mac OSX platforms. # # This file is imported by 'build4mac.py' script. #=============================================================================== @@ -130,7 +130,7 @@ #----------------------------------------------------- RubyNil = [ 'nil' ] RubySys = [ 'RubyMonterey', 'RubyVentura', 'RubySonoma', 'RubySequoia' ] -RubyExt = [ 'Ruby33MacPorts', 'Ruby33Brew', 'RubyAnaconda3' ] +RubyExt = [ 'Ruby33MacPorts', 'Ruby34Brew', 'RubyAnaconda3' ] Rubies = RubyNil + RubySys + RubyExt #----------------------------------------------------- @@ -196,13 +196,13 @@ 'lib': '/opt/local/lib/libruby.3.3.dylib' } -# Ruby 3.3 from Homebrew -# install with 'brew install ruby@3.3' -# [Key Type Name] = 'HB33' -HBRuby33Path = '%s/opt/ruby@3.3' % DefaultHomebrewRoot -Ruby33Brew = { 'exe': '%s/bin/ruby' % HBRuby33Path, - 'inc': '%s/include/ruby-3.3.0' % HBRuby33Path, - 'lib': '%s/lib/libruby.3.3.dylib' % HBRuby33Path +# Ruby 3.4 from Homebrew +# install with 'brew install ruby@3.4' +# [Key Type Name] = 'HB34' +HBRuby34Path = '%s/opt/ruby@3.4' % DefaultHomebrewRoot +Ruby34Brew = { 'exe': '%s/bin/ruby' % HBRuby34Path, + 'inc': '%s/include/ruby-3.4.0' % HBRuby34Path, + 'lib': '%s/lib/libruby.3.4.dylib' % HBRuby34Path } # Ruby 3.2 bundled with anaconda3 installed under /Applications/anaconda3/ @@ -221,7 +221,7 @@ 'RubySonoma' : RubySonoma, 'RubySequoia' : RubySequoia, 'Ruby33MacPorts': Ruby33MacPorts, - 'Ruby33Brew' : Ruby33Brew, + 'Ruby34Brew' : Ruby34Brew, 'RubyAnaconda3' : RubyAnaconda3 } diff --git a/macbuild/makeDMG4mac.py b/macbuild/makeDMG4mac.py index 1e0b23d07..972a36374 100755 --- a/macbuild/makeDMG4mac.py +++ b/macbuild/makeDMG4mac.py @@ -78,7 +78,7 @@ def SetGlobals(): Usage = "\n" Usage += "---------------------------------------------------------------------------------------------------------\n" Usage += "<< Usage of 'makeDMG4mac.py' >>\n" - Usage += " for making a DMG file of KLayout 0.29.7 or later on different Apple macOS platforms.\n" + Usage += " for making a DMG file of KLayout 0.29.11 or later on different Apple macOS platforms.\n" Usage += "\n" Usage += "$ [python] ./makeDMG4mac.py\n" Usage += " option & argument : descriptions | default value\n" @@ -220,7 +220,7 @@ def SetGlobals(): # The package directory name should look like: # * ST-qt5MP.pkg.macos-Sonoma-release-RsysPsys # * LW-qt5Ana3.pkg.macos-Sonoma-release-Rana3Pana3 -# * LW-qt6Brew.pkg.macos-Sonoma-release-Rhb33Phb312 --- (1) +# * LW-qt6Brew.pkg.macos-Sonoma-release-Rhb34Phb312 --- (1) # * LW-qt5MP.pkg.macos-Sonoma-release-Rmp33Pmp312 # * HW-qt6Brew.pkg.macos-Sonoma-release-RsysPhb311 # @@ -228,7 +228,7 @@ def SetGlobals(): # * LW-qt6MP.pkg.macos-Sonoma-release-Rmp33Pmp312 # # Generated DMG will be, for example, -# (1) ---> LW-klayout-0.29.7-macOS-Sonoma-1-qt6Brew-Rhb33Phb312.dmg +# (1) ---> LW-klayout-0.29.7-macOS-Sonoma-1-qt6Brew-Rhb34Phb312.dmg # # @return on success, positive integer in [MB] that tells approx. occupied disc space; # on failure, -1 @@ -270,10 +270,10 @@ def CheckPkgDirectory(): # [2] Identify (Qt, Ruby, Python) from PkgDir # * ST-qt5MP.pkg.macos-Sonoma-release-RsysPsys # * LW-qt5Ana3.pkg.macos-Sonoma-release-Rana3Pana3 - # * LW-qt6Brew.pkg.macos-Sonoma-release-Rhb33Phb312 + # * LW-qt6Brew.pkg.macos-Sonoma-release-Rhb34Phb312 # * LW-qt5MP.pkg.macos-Sonoma-release-Rmp33Pmp312 # * HW-qt6Brew.pkg.macos-Sonoma-release-RsysPhb311 - # * EX-qt5MP.pkg.macos-Sonoma-release-Rhb33Pmp312 + # * EX-qt5MP.pkg.macos-Sonoma-release-Rhb34Pmp312 # # * ST-qt6MP.pkg.macos-Sonoma-release-RsysPsys # * LW-qt6MP.pkg.macos-Sonoma-release-Rmp33Pmp312 @@ -324,7 +324,7 @@ def CheckPkgDirectory(): LatestOSHomebrew = Platform == LatestOS LatestOSHomebrew &= PackagePrefix == "LW" LatestOSHomebrew &= QtIdentification in [ "qt5Brew", "qt6Brew", "qt5MP", "qt6MP" ] # "qt[5|6]MP" are the alternatives - LatestOSHomebrew &= RubyPythonID in [ "Rhb33Phb312", "Rhb33Phb311", "Rhb33Phbauto" ] + LatestOSHomebrew &= RubyPythonID in [ "Rhb34Phb312", "Rhb34Phb311", "Rhb34Phbauto" ] LatestOSAnaconda3 = Platform == LatestOS LatestOSAnaconda3 &= PackagePrefix == "LW" diff --git a/macbuild/nightlyBuild.py b/macbuild/nightlyBuild.py index c55a297e2..0cd27822a 100755 --- a/macbuild/nightlyBuild.py +++ b/macbuild/nightlyBuild.py @@ -106,10 +106,10 @@ def Get_Build_Options( targetDic, platform ): buildOp[(qtVer, "ports", "d")] = [ '-q', '%sMacPorts' % qtType, '-r', 'MP33', '-p', 'MP312', '--debug' ] logfile[(qtVer, "ports", "d")] = "%sMP.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "debug", "Rmp33Pmp312") elif target == "brew": - buildOp[(qtVer, "brew", "r")] = [ '-q', '%sBrew' % qtType, '-r', 'HB33', '-p', 'HB312' ] - logfile[(qtVer, "brew", "r")] = "%sBrew.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "release", "Rhb33Phb312") - buildOp[(qtVer, "brew", "d")] = [ '-q', '%sBrew' % qtType, '-r', 'HB33', '-p', 'HB312', '--debug' ] - logfile[(qtVer, "brew", "d")] = "%sBrew.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "debug", "Rhb33Phb312") + buildOp[(qtVer, "brew", "r")] = [ '-q', '%sBrew' % qtType, '-r', 'HB34', '-p', 'HB312' ] + logfile[(qtVer, "brew", "r")] = "%sBrew.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "release", "Rhb34Phb312") + buildOp[(qtVer, "brew", "d")] = [ '-q', '%sBrew' % qtType, '-r', 'HB34', '-p', 'HB312', '--debug' ] + logfile[(qtVer, "brew", "d")] = "%sBrew.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "debug", "Rhb34Phb312") elif target == "brewHW": buildOp[(qtVer, "brewHW", "r")] = [ '-q', '%sBrew' % qtType, '-r', 'sys', '-p', 'HB311' ] logfile[(qtVer, "brewHW", "r")] = "%sBrew.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "release", "RsysPhb311") @@ -121,20 +121,20 @@ def Get_Build_Options( targetDic, platform ): buildOp[(qtVer, "ana3", "d")] = [ '-q', '%sAna3' % qtType, '-r', 'Ana3', '-p', 'Ana3', '--debug' ] logfile[(qtVer, "ana3", "d")] = "%sAna3.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "debug", "Rana3Pana3") elif target == "brewA": - buildOp[(qtVer, "brewA", "r")] = [ '-q', '%sBrew' % qtType, '-r', 'HB33', '-p', 'HBAuto' ] - logfile[(qtVer, "brewA", "r")] = "%sBrew.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "release", "Rhb33Phbauto") - buildOp[(qtVer, "brewA", "d")] = [ '-q', '%sBrew' % qtType, '-r', 'HB33', '-p', 'HBAuto', '--debug' ] - logfile[(qtVer, "brewA", "d")] = "%sBrew.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "debug", "Rhb33Phbauto") + buildOp[(qtVer, "brewA", "r")] = [ '-q', '%sBrew' % qtType, '-r', 'HB34', '-p', 'HBAuto' ] + logfile[(qtVer, "brewA", "r")] = "%sBrew.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "release", "Rhb34Phbauto") + buildOp[(qtVer, "brewA", "d")] = [ '-q', '%sBrew' % qtType, '-r', 'HB34', '-p', 'HBAuto', '--debug' ] + logfile[(qtVer, "brewA", "d")] = "%sBrew.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "debug", "Rhb34Phbauto") elif target == "brewAHW": buildOp[(qtVer, "brewAHW", "r")] = [ '-q', '%sBrew' % qtType, '-r', 'sys', '-p', 'HBAuto' ] logfile[(qtVer, "brewAHW", "r")] = "%sBrew.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "release", "RsysPhbauto") buildOp[(qtVer, "brewAHW", "d")] = [ '-q', '%sBrew' % qtType, '-r', 'sys', '-p', 'HBAuto', '--debug' ] logfile[(qtVer, "brewAHW", "d")] = "%sBrew.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "debug", "RsysPhbauto") elif target == "pbrew": - buildOp[(qtVer, "pbrew", "r")] = [ '-q', '%sMacPorts' % qtType, '-r', 'HB33', '-p', 'HB312' ] - logfile[(qtVer, "pbrew", "r")] = "%sMP.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "release", "Rhb33Phb312") - buildOp[(qtVer, "pbrew", "d")] = [ '-q', '%sMacPorts' % qtType, '-r', 'HB33', '-p', 'HB312', '--debug' ] - logfile[(qtVer, "pbrew", "d")] = "%sMP.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "debug", "Rhb33Phb312") + buildOp[(qtVer, "pbrew", "r")] = [ '-q', '%sMacPorts' % qtType, '-r', 'HB34', '-p', 'HB312' ] + logfile[(qtVer, "pbrew", "r")] = "%sMP.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "release", "Rhb34Phb312") + buildOp[(qtVer, "pbrew", "d")] = [ '-q', '%sMacPorts' % qtType, '-r', 'HB34', '-p', 'HB312', '--debug' ] + logfile[(qtVer, "pbrew", "d")] = "%sMP.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "debug", "Rhb34Phb312") elif target == "pbrewHW": buildOp[(qtVer, "pbrewHW", "r")] = [ '-q', '%sMacPorts' % qtType, '-r', 'sys', '-p', 'HB311' ] logfile[(qtVer, "pbrewHW", "r")] = "%sMP.build.macos-%s-%s-%s.log" % (qtType.lower(), platform, "release", "RsysPhb311") @@ -180,8 +180,8 @@ def Get_QAT_Directory( targetDic, platform ): dirQAT[(qtVer, "ports", "r")] = '%sMP.build.macos-%s-release-Rmp33Pmp312.macQAT' % (qtType.lower(), platform) dirQAT[(qtVer, "ports", "d")] = '%sMP.build.macos-%s-debug-Rmp33Pmp312.macQAT' % (qtType.lower(), platform) elif target == "brew": - dirQAT[(qtVer, "brew", "r")] = '%sBrew.build.macos-%s-release-Rhb33Phb312.macQAT' % (qtType.lower(), platform) - dirQAT[(qtVer, "brew", "d")] = '%sBrew.build.macos-%s-debug-Rhb33Phb312.macQAT' % (qtType.lower(), platform) + dirQAT[(qtVer, "brew", "r")] = '%sBrew.build.macos-%s-release-Rhb34Phb312.macQAT' % (qtType.lower(), platform) + dirQAT[(qtVer, "brew", "d")] = '%sBrew.build.macos-%s-debug-Rhb34Phb312.macQAT' % (qtType.lower(), platform) elif target == "brewHW": dirQAT[(qtVer, "brewHW", "r")] = '%sBrew.build.macos-%s-release-RsysPhb311.macQAT' % (qtType.lower(), platform) dirQAT[(qtVer, "brewHW", "d")] = '%sBrew.build.macos-%s-debug-RsysPhb311.macQAT' % (qtType.lower(), platform) @@ -189,14 +189,14 @@ def Get_QAT_Directory( targetDic, platform ): dirQAT[(qtVer, "ana3", "r")] = '%sAna3.build.macos-%s-release-Rana3Pana3.macQAT' % (qtType.lower(), platform) dirQAT[(qtVer, "ana3", "d")] = '%sAna3.build.macos-%s-debug-Rana3Pana3.macQAT' % (qtType.lower(), platform) elif target == "brewA": - dirQAT[(qtVer, "brewA", "r")] = '%sBrew.build.macos-%s-release-Rhb33Phbauto.macQAT' % (qtType.lower(), platform) - dirQAT[(qtVer, "brewA", "d")] = '%sBrew.build.macos-%s-debug-Rhb33Phbauto.macQAT' % (qtType.lower(), platform) + dirQAT[(qtVer, "brewA", "r")] = '%sBrew.build.macos-%s-release-Rhb34Phbauto.macQAT' % (qtType.lower(), platform) + dirQAT[(qtVer, "brewA", "d")] = '%sBrew.build.macos-%s-debug-Rhb34Phbauto.macQAT' % (qtType.lower(), platform) elif target == "brewAHW": dirQAT[(qtVer, "brewAHW", "r")] = '%sBrew.build.macos-%s-release-RsysPhbauto.macQAT' % (qtType.lower(), platform) dirQAT[(qtVer, "brewAHW", "d")] = '%sBrew.build.macos-%s-debug-RsysPhbauto.macQAT' % (qtType.lower(), platform) elif target == "pbrew": - dirQAT[(qtVer, "pbrew", "r")] = '%sMP.build.macos-%s-release-Rhb33Phb312.macQAT' % (qtType.lower(), platform) - dirQAT[(qtVer, "pbrew", "d")] = '%sMP.build.macos-%s-debug-Rhb33Phb312.macQAT' % (qtType.lower(), platform) + dirQAT[(qtVer, "pbrew", "r")] = '%sMP.build.macos-%s-release-Rhb34Phb312.macQAT' % (qtType.lower(), platform) + dirQAT[(qtVer, "pbrew", "d")] = '%sMP.build.macos-%s-debug-Rhb34Phb312.macQAT' % (qtType.lower(), platform) elif target == "pbrewHW": dirQAT[(qtVer, "pbrewHW", "r")] = '%sMP.build.macos-%s-release-RsysPhb311.macQAT' % (qtType.lower(), platform) dirQAT[(qtVer, "pbrewHW", "d")] = '%sMP.build.macos-%s-debug-RsysPhb311.macQAT' % (qtType.lower(), platform) @@ -240,9 +240,9 @@ def Get_Package_Options( targetDic, platform, srlDMG, makeflag ): packOp[(qtVer, "ports", "d")] = [ '-p', 'LW-%sMP.pkg.macos-%s-debug-Rmp33Pmp312' % (qtType.lower(), platform), '-s', '%d' % srlDMG, '%s' % flag ] elif target == "brew": - packOp[(qtVer, "brew", "r")] = [ '-p', 'LW-%sBrew.pkg.macos-%s-release-Rhb33Phb312' % (qtType.lower(), platform), + packOp[(qtVer, "brew", "r")] = [ '-p', 'LW-%sBrew.pkg.macos-%s-release-Rhb34Phb312' % (qtType.lower(), platform), '-s', '%d' % srlDMG, '%s' % flag ] - packOp[(qtVer, "brew", "d")] = [ '-p', 'LW-%sBrew.pkg.macos-%s-debug-Rhb33Phb312' % (qtType.lower(), platform), + packOp[(qtVer, "brew", "d")] = [ '-p', 'LW-%sBrew.pkg.macos-%s-debug-Rhb34Phb312' % (qtType.lower(), platform), '-s', '%d' % srlDMG, '%s' % flag ] elif target == "brewHW": packOp[(qtVer, "brewHW", "r")] = [ '-p', 'HW-%sBrew.pkg.macos-%s-release-RsysPhb311' % (qtType.lower(), platform), @@ -255,9 +255,9 @@ def Get_Package_Options( targetDic, platform, srlDMG, makeflag ): packOp[(qtVer, "ana3", "d")] = [ '-p', 'LW-%sAna3.pkg.macos-%s-debug-Rana3Pana3' % (qtType.lower(), platform), '-s', '%d' % srlDMG, '%s' % flag ] elif target == "brewA": - packOp[(qtVer, "brewA", "r")] = [ '-p', 'LW-%sBrew.pkg.macos-%s-release-Rhb33Phbauto' % (qtType.lower(), platform), + packOp[(qtVer, "brewA", "r")] = [ '-p', 'LW-%sBrew.pkg.macos-%s-release-Rhb34Phbauto' % (qtType.lower(), platform), '-s', '%d' % srlDMG, '%s' % flag ] - packOp[(qtVer, "brewA", "d")] = [ '-p', 'LW-%sBrew.pkg.macos-%s-debug-Rhb33Phbauto' % (qtType.lower(), platform), + packOp[(qtVer, "brewA", "d")] = [ '-p', 'LW-%sBrew.pkg.macos-%s-debug-Rhb34Phbauto' % (qtType.lower(), platform), '-s', '%d' % srlDMG, '%s' % flag ] elif target == "brewAHW": packOp[(qtVer, "brewAHW", "r")] = [ '-p', 'HW-%sBrew.pkg.macos-%s-release-RsysPhbauto' % (qtType.lower(), platform), @@ -265,9 +265,9 @@ def Get_Package_Options( targetDic, platform, srlDMG, makeflag ): packOp[(qtVer, "brewAHW", "d")] = [ '-p', 'HW-%sBrew.pkg.macos-%s-debug-RsysPhbauto' % (qtType.lower(), platform), '-s', '%d' % srlDMG, '%s' % flag ] elif target == "pbrew": - packOp[(qtVer, "pbrew", "r")] = [ '-p', 'LW-%sMP.pkg.macos-%s-release-Rhb33Phb312' % (qtType.lower(), platform), + packOp[(qtVer, "pbrew", "r")] = [ '-p', 'LW-%sMP.pkg.macos-%s-release-Rhb34Phb312' % (qtType.lower(), platform), '-s', '%d' % srlDMG, '%s' % flag ] - packOp[(qtVer, "pbrew", "d")] = [ '-p', 'LW-%sMP.pkg.macos-%s-debug-Rhb33Phb312' % (qtType.lower(), platform), + packOp[(qtVer, "pbrew", "d")] = [ '-p', 'LW-%sMP.pkg.macos-%s-debug-Rhb34Phb312' % (qtType.lower(), platform), '-s', '%d' % srlDMG, '%s' % flag ] elif target == "pbrewHW": packOp[(qtVer, "pbrewHW", "r")] = [ '-p', 'HW-%sMP.pkg.macos-%s-release-RsysPhb311' % (qtType.lower(), platform),