Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorj.spijker@ultimaker.com <jelle spijker>2022-07-01 06:39:22 +0300
committerJelle Spijker <j.spijker@ultimaker.com>2022-07-01 06:39:22 +0300
commitdc8c9bb2763c2eae2e39edf12597255c44beb98f (patch)
tree077784b6f03392d6d68069b99d0df17bd17f7c95 /packaging/dmg
parent9801402638cc267c15b43d8d3aeeda05269c0595 (diff)
Moved MacOS dmg to dedicated folder
Contributes to CURA-9365
Diffstat (limited to 'packaging/dmg')
-rw-r--r--packaging/dmg/cura.entitlements12
-rw-r--r--packaging/dmg/dmg_sign_noterize.py71
2 files changed, 83 insertions, 0 deletions
diff --git a/packaging/dmg/cura.entitlements b/packaging/dmg/cura.entitlements
new file mode 100644
index 0000000000..3b95f077c9
--- /dev/null
+++ b/packaging/dmg/cura.entitlements
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>com.apple.security.cs.allow-dyld-environment-variables</key>
+ <true/>
+ <key>com.apple.security.cs.disable-executable-page-protection</key>
+ <true/>
+ <key>com.apple.security.cs.disable-library-validation</key>
+ <true/>
+</dict>
+</plist>
diff --git a/packaging/dmg/dmg_sign_noterize.py b/packaging/dmg/dmg_sign_noterize.py
new file mode 100644
index 0000000000..803991594d
--- /dev/null
+++ b/packaging/dmg/dmg_sign_noterize.py
@@ -0,0 +1,71 @@
+import os
+import subprocess
+import shutil
+
+SOURCE_DIR = os.environ.get("SOURCE_DIR", "..")
+DIST_DIR = os.environ.get("DIST_DIR", os.path.join(SOURCE_DIR, "dist"))
+DMG_PATH = "Ultimaker-Cura.dmg"
+APP_PATH = "Ultimaker-Cura.app"
+ULTIMAKER_CURA_DOMAIN = os.environ.get("ULTIMAKER_CURA_DOMAIN", "nl.ultimaker.cura")
+
+
+def build_dmg() -> None:
+ create_dmg_executable = os.environ.get("CREATE_DMG_EXECUTABLE", "create-dmg")
+
+ arguments = [create_dmg_executable,
+ "--window-pos", "640", "360",
+ "--window-size", "690", "503",
+ "--app-drop-link", "520", "272",
+ "--volicon", f"{SOURCE_DIR}/packaging/icons/VolumeIcons_Cura.icns",
+ "--icon-size", "90",
+ "--icon", "Ultimaker-Cura.app", "169", "272",
+ "--eula", f"{SOURCE_DIR}/packaging/cura_license.txt",
+ "--background", f"{SOURCE_DIR}/packaging/icons/cura_background_dmg.png",
+ DMG_PATH,
+ APP_PATH]
+
+ subprocess.run(arguments)
+
+
+def sign(file_path: str) -> None:
+ codesign_executable = os.environ.get("CODESIGN", "codesign")
+ codesign_identity = os.environ.get("CODESIGN_IDENTITY", "A831301292FC30F84F3C137F2141401620EE5FA0")
+
+ arguments = [codesign_executable,
+ "-s", codesign_identity,
+ "--timestamp",
+ "-i", f"{ULTIMAKER_CURA_DOMAIN}.dmg",
+ file_path]
+
+ subprocess.run(arguments)
+
+
+def notarize() -> None:
+ notarize_user = os.environ.get("NOTARIZE_USER")
+ notarize_password = os.environ.get("NOTARIZE_PASSWORD")
+ altool_executable = os.environ.get("ALTOOL_EXECUTABLE", "altool")
+
+ arguments = [
+ "xcrun", altool_executable,
+ "--notarize-app",
+ "--primary-bundle-id", ULTIMAKER_CURA_DOMAIN,
+ "--username", notarize_user,
+ "--password", notarize_password,
+ "--file", DMG_PATH
+ ]
+
+ subprocess.run(arguments)
+
+
+if __name__ == "__main__":
+ try:
+ os.rename(os.path.join(DIST_DIR, "Ultimaker-Cura"), os.path.join(DIST_DIR, "Ultimaker-Cura.app"))
+ except:
+ pass
+ sign(APP_PATH)
+ build_dmg()
+ sign(DMG_PATH)
+
+ # notarize_dmg = bool(os.environ.get("NOTARIZE_DMG", "TRUE"))
+ # if notarize_dmg:
+ # notarize()