mirror of https://github.com/KLayout/klayout.git
successful build with qt 5.9.4 and py 3.6.4
This commit is contained in:
parent
7aaf391044
commit
ac2bd96ace
|
|
@ -84,4 +84,25 @@ $ ./makeDMG4mac.py -p qt5.pkg.macos-HighSierra-release -m
|
|||
```
|
||||
|
||||
By: Kazzz (January 16, 2018)
|
||||
|
||||
# 5. Alternative building options
|
||||
### 5.1 Python 3.6 from brew, Qt 5.9.4 from offline installer
|
||||
|
||||
Homebrew's installation of python3 places a `Python.framework` in `/usr/local/opt/python/Frameworks/Python.framework/`, which you can use to build KLayout from. Qt can be downloaded for [offline installation](https://www1.qt.io/offline-installers/). You can place it in your home folder: e.g. `/home/username/Qt5.9.4/`. Given these two dependencies, you can successfully compile KLayout with the following commands:
|
||||
|
||||
```
|
||||
# Build step
|
||||
./build4mac.py -p B36 -q Qt5Custom
|
||||
|
||||
# Deploy step
|
||||
./build4mac.py -p B36 -q Qt5Custom -y # normal deploy
|
||||
./build4mac.py -p B36 -q Qt5Custom -y -v 3 2>&1 | tee qt5.pkg.macos-HighSierra-release.log # deploy with debug options
|
||||
|
||||
# Packaging step
|
||||
./makeDMG4mac.py -p qt5.pkg.macos-HighSierra-release -m -q Qt594
|
||||
|
||||
```
|
||||
|
||||
PS: If you get a syntax error in one of ruby's libraries because it is not compatible with C++11, do not fret. You only have to change one offending file.
|
||||
|
||||
[End of File]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,116 @@
|
|||
-------------------------------------------------------------------------------------------------
|
||||
(*
|
||||
* Template File:
|
||||
* macbuild/Resources/template-KLayoutDMG.applescript
|
||||
*
|
||||
* Actual AppleScrip File to be generated:
|
||||
* macbuild/Resources/KLayoutDMG.applescript
|
||||
*
|
||||
* Description:
|
||||
* A template AppleScript to make a fancy DMG installer of KLayout
|
||||
* (http://www.klayout.de/index.php) bundles.
|
||||
* "makeDMG4mac.py" will read this template and generate the actual AppleScript to execute.
|
||||
* Values to be found and replaced by "makeDMG4mac.py" are marked by ${KEYWORD}.
|
||||
*
|
||||
* The background image was designed using Logoist2 (http://www.syniumsoftware.com/en/logoist)
|
||||
* and exported to a PNG file of 1000 x 700 pix size.
|
||||
*-----------------------------------------------------------------------------------------------
|
||||
* This is a derivative work of Ref. 2) below. Refer to "macbuild/LICENSE" file.
|
||||
* Ref.
|
||||
* 1) https://el-tramo.be/guides/fancy-dmg/
|
||||
* 2) https://github.com/andreyvit/create-dmg.git
|
||||
*)
|
||||
-------------------------------------------------------------------------------------------------
|
||||
on run (volumeName) -- most likely, the volume name is "KLayout"
|
||||
tell application "Finder"
|
||||
tell disk (volumeName as string)
|
||||
-- [1] Open the volume
|
||||
open
|
||||
|
||||
-- [2] Set the key coordinates and windows size
|
||||
-- The size of given background PNG image is 1000 x 700 pix
|
||||
-- ORGX = [50] pix
|
||||
-- ORGY = [100] pix
|
||||
-- WIN_WIDTH = [1000] pix
|
||||
-- WIN_HEIGHT = [700] pix
|
||||
set posMargin to 50
|
||||
set negMargin to 10
|
||||
set theTopLeftX to 50
|
||||
set theTopLeftY to 100
|
||||
set theWidth to 1000
|
||||
set theHeight to 700
|
||||
set theBottomRightX to (theTopLeftX + theWidth + posMargin)
|
||||
set theBottomRightY to (theTopLeftY + theHeight + posMargin)
|
||||
|
||||
-- [3] Set the full path to .DS_Store file
|
||||
set dotDSStore to "/Volumes/KLayout/.DS_Store"
|
||||
|
||||
-- [4] Set global view options
|
||||
tell container window
|
||||
set current view to icon view
|
||||
set toolbar visible to false
|
||||
set statusbar visible to false
|
||||
set statusbar visible to false
|
||||
set bounds to {theTopLeftX, theTopLeftY, theBottomRightX, theBottomRightY}
|
||||
set position of every item to {theTopLeftX + 150, theTopLeftY + 350}
|
||||
end tell
|
||||
|
||||
-- [5] Set icon view options
|
||||
set opts to the icon view options of container window
|
||||
tell opts
|
||||
set icon size to 80
|
||||
set text size to 16
|
||||
set arrangement to not arranged
|
||||
end tell
|
||||
|
||||
-- [6] Set the background PNG image (1000 x 700 pix) file name stored
|
||||
set background picture of opts to file ".background:KLayoutDMG-Back.png"
|
||||
|
||||
-- [7] Set positions of each icon
|
||||
-- ITEM_1 = klayout.app {960, 140}
|
||||
-- ITEM_2 = klayout.scripts {610, 140}
|
||||
-- ITEM_3 = Applications {790, 140}
|
||||
set position of item "klayout.app" to {960, 140}
|
||||
set position of item "klayout.scripts" to {610, 140}
|
||||
set position of item "Applications" to {790, 140}
|
||||
|
||||
-- [8] Update the contents of container
|
||||
close
|
||||
open
|
||||
update without registering applications
|
||||
|
||||
-- [9] Force save the negatively resized window size
|
||||
delay 2
|
||||
tell container window
|
||||
set statusbar visible to false
|
||||
set bounds to {theTopLeftX, theTopLeftY, theBottomRightX - negMargin, theBottomRightY - negMargin}
|
||||
end tell
|
||||
update without registering applications
|
||||
end tell
|
||||
|
||||
-- [10] Restore back the original window size
|
||||
delay 2
|
||||
tell disk (volumeName as string)
|
||||
tell container window
|
||||
set statusbar visible to false
|
||||
set bounds to {theTopLeftX, theTopLeftY, theBottomRightX, theBottomRightY}
|
||||
end tell
|
||||
update without registering applications
|
||||
end tell
|
||||
|
||||
-- [11] Wait for some time so that "Finder" can complete writing to .DS_Store file
|
||||
delay 3
|
||||
set elapsedTime to 0
|
||||
set ejected to false
|
||||
repeat while ejected is false
|
||||
delay 1
|
||||
set elapsedTime to elapsedTime + 1
|
||||
if (do shell script "[ -f " & dotDSStore & " ]; echo $?") = "0" then set ejected to true
|
||||
end repeat
|
||||
log "### Elapsed <" & elapsedTime & "> [sec] for writing .DS_Store file."
|
||||
end tell
|
||||
end run
|
||||
|
||||
--
|
||||
-- End of file
|
||||
--
|
||||
|
|
@ -192,9 +192,9 @@ Python36MacPorts= { 'exe': '/opt/local/Library/Frameworks/Python.framework/Versi
|
|||
|
||||
# Python 3.6 from Brew *+*+*+ EXPERIMENTAL *+*+*+
|
||||
# [Key Type Name] = 'pybrew'
|
||||
Python36Brew= { 'exe': '/usr/local/Cellar/python3/3.6.4_3/Frameworks/Python.framework/Versions/3.6/bin/python3.6m' ,
|
||||
'inc': '/usr/local/Cellar/python3/3.6.4_3/Frameworks/Python.framework/Versions/3.6/include/python3.6m',
|
||||
'lib': '/usr/local/Cellar/python3/3.6.4_3/Frameworks/Python.framework/Versions/3.6/lib/libpython3.6m.dylib'
|
||||
Python36Brew= { 'exe': '/usr/local/opt/python3/Frameworks/Python.framework/Versions/Current/bin/python3.6m' ,
|
||||
'inc': '/usr/local/opt/python3/Frameworks/Python.framework/Versions/Current/include/python3.6m',
|
||||
'lib': '/usr/local/opt/python3/Frameworks/Python.framework/Versions/Current/lib/libpython3.6m.dylib'
|
||||
}
|
||||
|
||||
# Consolidated dictionary kit for Python
|
||||
|
|
|
|||
Loading…
Reference in New Issue