From c2c9d0ea7c0fbb99c549c03cc5912272f18e491e Mon Sep 17 00:00:00 2001 From: Igor <1659590+pozirk@users.noreply.github.com> Date: Wed, 8 Jan 2025 14:02:50 -0500 Subject: [PATCH 01/15] Setting ios.non-exempt-encryption to false by default. --- tools/platforms/IOSPlatform.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/platforms/IOSPlatform.hx b/tools/platforms/IOSPlatform.hx index e13a9cdff..bc4c31095 100644 --- a/tools/platforms/IOSPlatform.hx +++ b/tools/platforms/IOSPlatform.hx @@ -349,7 +349,7 @@ class IOSPlatform extends PlatformTarget } context.IOS_LINKER_FLAGS = ["-stdlib=libc++"].concat(project.config.getArrayString("ios.linker-flags")); - context.IOS_NON_EXEMPT_ENCRYPTION = project.config.getBool("ios.non-exempt-encryption", true); + context.IOS_NON_EXEMPT_ENCRYPTION = project.config.getBool("ios.non-exempt-encryption", false); switch (project.window.orientation) { From f604ae3b0e8a5e32af563c5cb875da6b46c7087e Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 17 Jan 2025 09:14:17 -0800 Subject: [PATCH 02/15] tools: fix haxe 4 function syntax for haxe 3 backcompat --- tools/platforms/MacPlatform.hx | 2 +- tools/platforms/WindowsPlatform.hx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/platforms/MacPlatform.hx b/tools/platforms/MacPlatform.hx index 6c540b430..771afd738 100644 --- a/tools/platforms/MacPlatform.hx +++ b/tools/platforms/MacPlatform.hx @@ -706,7 +706,7 @@ class MacPlatform extends PlatformTarget continue; } } - if (Lambda.exists(homebrewDirs, dirPath -> StringTools.startsWith(resolvedLibPath, dirPath))) + if (Lambda.exists(homebrewDirs, function(dirPath:String):Bool { return StringTools.startsWith(resolvedLibPath, dirPath); })) { homebrewDependencyPaths.push(libPath); pathsToSearchForHomebrewDependencies.push(resolvedLibPath); diff --git a/tools/platforms/WindowsPlatform.hx b/tools/platforms/WindowsPlatform.hx index a3019c0ae..967de958e 100644 --- a/tools/platforms/WindowsPlatform.hx +++ b/tools/platforms/WindowsPlatform.hx @@ -383,7 +383,7 @@ class WindowsPlatform extends PlatformTarget var visualStudioPath = StringTools.trim(vswhereOutput); var vcvarsallPath = visualStudioPath + "\\VC\\Auxiliary\\Build\\vcvarsall.bat"; // this command sets up the environment variables and things that visual studio requires - var vcvarsallCommand = [vcvarsallPath, "x64"].map(arg -> ~/([&|\(\)<>\^ ])/g.replace(arg, "^$1")); + var vcvarsallCommand = [vcvarsallPath, "x64"].map(function(arg:String):String { return ~/([&|\(\)<>\^ ])/g.replace(arg, "^$1"); }); // this command runs the cl.exe c compiler from visual studio var clCommand = ["cl.exe", "/Ox", "/Fe:" + executablePath, "-I", Path.combine(targetDirectory, "obj"), Path.combine(targetDirectory, "obj/ApplicationMain.c")]; for (file in System.readDirectory(applicationDirectory)) @@ -398,7 +398,7 @@ class WindowsPlatform extends PlatformTarget } clCommand.push("/link"); clCommand.push("/subsystem:windows"); - clCommand = clCommand.map(arg -> ~/([&|\(\)<>\^ ])/g.replace(arg, "^$1")); + clCommand = clCommand.map(function(arg:String):String { return ~/([&|\(\)<>\^ ])/g.replace(arg, "^$1"); }); // combine both commands into one command = ["cmd.exe", "/s", "/c", vcvarsallCommand.join(" ") + " && " + clCommand.join(" ")]; } From 2d22455e5095abdec0a31520c744b62fd55957ae Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 17 Jan 2025 09:25:08 -0800 Subject: [PATCH 03/15] HTML5Thread: Haxe 3 compatibility fixes --- src/lime/_internal/backend/html5/HTML5Thread.hx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lime/_internal/backend/html5/HTML5Thread.hx b/src/lime/_internal/backend/html5/HTML5Thread.hx index 022a085da..9f744e59e 100644 --- a/src/lime/_internal/backend/html5/HTML5Thread.hx +++ b/src/lime/_internal/backend/html5/HTML5Thread.hx @@ -96,7 +96,7 @@ class HTML5Thread { var thread:HTML5Thread = new HTML5Thread(url.href, new Worker(url.href)); // Run `job` on the new thread. - thread.sendMessage(job); + thread.sendMessage(#if !haxe4 cast #end job); return thread; #else @@ -416,7 +416,7 @@ abstract WorkFunction(WorkFunctionData) from Wor else { #if !macro - this.sourceCode = (cast this.func:Function).toString(); + this.sourceCode = (cast this.func #if haxe4 :Function #end).toString(); if (this.sourceCode.indexOf("[native code]") < 0) { // All set. From 5ed71b1204a40bec6bbb61e51dffde6a913d7f57 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 17 Jan 2025 09:28:07 -0800 Subject: [PATCH 04/15] actions: html5-samples job should have a Haxe version matrix --- .github/workflows/main.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index dba772755..168a13cd2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -757,13 +757,16 @@ jobs: html5-samples: runs-on: ubuntu-20.04 + strategy: + matrix: + haxe-version: [3.4.7, 4.0.5, 4.1.5, 4.2.5, 4.3.6] steps: - uses: actions/checkout@v4 - uses: krdlab/setup-haxe@v1 with: - haxe-version: ${{ env.HAXE_VERSION }} + haxe-version: ${{ matrix.haxe-version }} - name: Set HAXEPATH run: | From f08cebf9e5b2d48c3a99f585f0150a690a65deed Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 17 Jan 2025 09:30:19 -0800 Subject: [PATCH 05/15] actions: bump haxe 4.3 references to haxe 4.3.6 --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 168a13cd2..cbddb9103 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -606,7 +606,7 @@ jobs: runs-on: windows-latest strategy: matrix: - haxe-version: [4.0.5, 4.1.5, 4.2.5, 4.3.1] + haxe-version: [4.0.5, 4.1.5, 4.2.5, 4.3.6] steps: - uses: actions/checkout@v4 @@ -715,7 +715,7 @@ jobs: - uses: krdlab/setup-haxe@v1 with: - haxe-version: 4.3.3 # minimum required version for HL/C + haxe-version: 4.3.6 # minimum required version for HL/C is 4.3.3 - name: Set HAXEPATH (Windows) if: runner.os == 'Windows' From 2fdbcd1460529570ba60a656b3fec9252f11fe5c Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 17 Jan 2025 09:41:51 -0800 Subject: [PATCH 06/15] actions: make html5-samples depend on package-haxelib because -eval flag fails on Haxe 3 --- .github/workflows/main.yml | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cbddb9103..11e6bc79d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -756,6 +756,7 @@ jobs: lime build SimpleAudio hlc -release -verbose -nocolor html5-samples: + needs: package-haxelib runs-on: ubuntu-20.04 strategy: matrix: @@ -774,45 +775,48 @@ jobs: - name: Install Haxe dependencies run: | - haxelib install format --quiet - haxelib install hxp --quiet haxelib install genes --quiet haxelib git lime-samples https://github.com/openfl/lime-samples --quiet + - uses: actions/download-artifact@v4 + with: + name: lime-haxelib + path: lime-haxelib + - name: Prepare Lime run: | - haxelib dev lime ${{ github.workspace }} - haxelib run lime setup -alias -y -nocffi -eval + haxelib dev lime lime-haxelib + haxelib run lime setup -alias -y -nocffi - name: Build HelloWorld sample run: | - lime create HelloWorld -verbose -nocolor -eval - lime build HelloWorld html5 -release -verbose -nocolor -eval + lime create HelloWorld -verbose -nocolor + lime build HelloWorld html5 -release -verbose -nocolor - name: Build HelloWorld variants run: | - lime build HelloWorld html5 -clean -release -verbose -nocolor --haxelib=genes -eval - lime build HelloWorld html5 -clean -release -verbose -nocolor -minify -terser -eval + lime build HelloWorld html5 -clean -release -verbose -nocolor --haxelib=genes + lime build HelloWorld html5 -clean -release -verbose -nocolor -minify -terser - name: Build SimpleImage sample run: | - lime create SimpleImage -verbose -nocolor -eval - lime build SimpleImage html5 -release -verbose -nocolor -eval + lime create SimpleImage -verbose -nocolor + lime build SimpleImage html5 -release -verbose -nocolor - name: Build SimpleImage variants run: | - lime build SimpleImage html5 -clean -release -verbose -nocolor --haxelib=genes -eval - lime build SimpleImage html5 -clean -release -verbose -nocolor -minify -terser -eval + lime build SimpleImage html5 -clean -release -verbose -nocolor --haxelib=genes + lime build SimpleImage html5 -clean -release -verbose -nocolor -minify -terser - name: Build SimpleAudio sample run: | - lime create SimpleAudio -verbose -nocolor -eval - lime build SimpleAudio html5 -release -verbose -nocolor -eval + lime create SimpleAudio -verbose -nocolor + lime build SimpleAudio html5 -release -verbose -nocolor - name: Build SimpleAudio variants run: | - lime build SimpleAudio html5 -clean -release -verbose -nocolor --haxelib=genes -eval - lime build SimpleAudio html5 -clean -release -verbose -nocolor -minify -terser -eval + lime build SimpleAudio html5 -clean -release -verbose -nocolor --haxelib=genes + lime build SimpleAudio html5 -clean -release -verbose -nocolor -minify -terser neko-samples: needs: package-haxelib From 5472974379401517f73f0b44e6d336026fed0a46 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 17 Jan 2025 10:13:22 -0800 Subject: [PATCH 07/15] actions: skip html5-samples variables on Haxe 3 --- .github/workflows/main.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 11e6bc79d..0ff85206d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -794,6 +794,7 @@ jobs: lime build HelloWorld html5 -release -verbose -nocolor - name: Build HelloWorld variants + if: ${{ matrix.haxe-version != '3.4.7' }} run: | lime build HelloWorld html5 -clean -release -verbose -nocolor --haxelib=genes lime build HelloWorld html5 -clean -release -verbose -nocolor -minify -terser @@ -804,6 +805,7 @@ jobs: lime build SimpleImage html5 -release -verbose -nocolor - name: Build SimpleImage variants + if: ${{ matrix.haxe-version != '3.4.7' }} run: | lime build SimpleImage html5 -clean -release -verbose -nocolor --haxelib=genes lime build SimpleImage html5 -clean -release -verbose -nocolor -minify -terser @@ -814,6 +816,7 @@ jobs: lime build SimpleAudio html5 -release -verbose -nocolor - name: Build SimpleAudio variants + if: ${{ matrix.haxe-version != '3.4.7' }} run: | lime build SimpleAudio html5 -clean -release -verbose -nocolor --haxelib=genes lime build SimpleAudio html5 -clean -release -verbose -nocolor -minify -terser From abb92a2a849a7ae18d5112fa647e4e6e6f28919d Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 17 Jan 2025 11:47:32 -0800 Subject: [PATCH 08/15] actions: does Haxe 4.3.3 work better on this job than 4.3.6? --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0ff85206d..7e6d041c6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -715,7 +715,7 @@ jobs: - uses: krdlab/setup-haxe@v1 with: - haxe-version: 4.3.6 # minimum required version for HL/C is 4.3.3 + haxe-version: 4.3.3 # minimum required version for HL/C is 4.3.3 - name: Set HAXEPATH (Windows) if: runner.os == 'Windows' From e0c734d8fe6109e34ccba780d75fc73866cea133 Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Wed, 22 Jan 2025 02:08:55 +0000 Subject: [PATCH 09/15] Remove MAC_USE_CURRENT_SDK from lime setup MAC_USE_CURRENT_SDK is an incredibly old relic from a very old version of hxcpp (haxe 2 days). It was removed in: https://github.com/HaxeFoundation/hxcpp/commit/9a7f7f931fbdc4a4d4812c333ead14519b7c05e0 This is now instead controlled by the flag `MACOSX_DEPLOYMENT_TARGET`. The setup command now only does two things: - Sets up haxelibs - Adds cli alias --- tools/utils/PlatformSetup.hx | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/tools/utils/PlatformSetup.hx b/tools/utils/PlatformSetup.hx index 9dee297a5..7e2dee07c 100644 --- a/tools/utils/PlatformSetup.hx +++ b/tools/utils/PlatformSetup.hx @@ -816,11 +816,6 @@ class PlatformSetup setupHaxelib(new Haxelib("lime")); } - if (System.hostPlatform == MAC) - { - ConfigHelper.writeConfigValue("MAC_USE_CURRENT_SDK", "1"); - } - if (targetFlags.exists("noalias")) { return; @@ -1079,11 +1074,6 @@ class PlatformSetup setupHaxelib(new Haxelib("openfl")); } - if (System.hostPlatform == MAC) - { - ConfigHelper.writeConfigValue("MAC_USE_CURRENT_SDK", "1"); - } - if (targetFlags.exists("noalias")) { return; From 725587389307a51e7f06600960aa6fe8dad5d942 Mon Sep 17 00:00:00 2001 From: Josh Tynjala Date: Fri, 24 Jan 2025 09:46:56 -0800 Subject: [PATCH 10/15] AudioManager: if alc.openDevice() returns null, don't call alc.createContext() to avoid a SIGNAL 11 crash --- src/lime/media/AudioManager.hx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lime/media/AudioManager.hx b/src/lime/media/AudioManager.hx index 162ed40e7..8a085f253 100644 --- a/src/lime/media/AudioManager.hx +++ b/src/lime/media/AudioManager.hx @@ -34,9 +34,12 @@ class AudioManager var alc = context.openal; var device = alc.openDevice(); - var ctx = alc.createContext(device); - alc.makeContextCurrent(ctx); - alc.processContext(ctx); + if (device != null) + { + var ctx = alc.createContext(device); + alc.makeContextCurrent(ctx); + alc.processContext(ctx); + } } #end } From 9bda9ecb32c4bde863dbbe3ef8d13da2e1005768 Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Mon, 27 Jan 2025 19:02:41 +0000 Subject: [PATCH 11/15] Update cairo to 1.18.2 The previous version 1.17.6 was an unstable snapshot release. Updating to 1.18.2 seems to resolve some font size bugs on windows. --- project/lib/cairo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/lib/cairo b/project/lib/cairo index b43e7c6f3..200441e68 160000 --- a/project/lib/cairo +++ b/project/lib/cairo @@ -1 +1 @@ -Subproject commit b43e7c6f3cf7855e16170a06d3a9c7234c60ca94 +Subproject commit 200441e6855854eb4dbf338e44d67b00ababe07f From 65e2c6ba45b72a4850e7f7a424b8b79e21b215e5 Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Mon, 27 Jan 2025 19:03:03 +0000 Subject: [PATCH 12/15] Add missing files to freetype build These are required by newer versions of cairo --- project/lib/freetype-files.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/project/lib/freetype-files.xml b/project/lib/freetype-files.xml index c9e9e69e5..722fc2508 100644 --- a/project/lib/freetype-files.xml +++ b/project/lib/freetype-files.xml @@ -16,6 +16,7 @@ + @@ -79,6 +80,7 @@ + From 077ba7e5cad382c3d844ca8057c758d12e34b90c Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Tue, 28 Jan 2025 19:23:07 +0000 Subject: [PATCH 13/15] Update harfbuzz to 10.2.0 --- project/lib/harfbuzz | 2 +- project/lib/harfbuzz-files.xml | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/project/lib/harfbuzz b/project/lib/harfbuzz index afcae83a0..7b27c8edd 160000 --- a/project/lib/harfbuzz +++ b/project/lib/harfbuzz @@ -1 +1 @@ -Subproject commit afcae83a064843d71d47624bc162e121cc56c08b +Subproject commit 7b27c8edd46c674e01dd226fa9e1aa7549f5c436 diff --git a/project/lib/harfbuzz-files.xml b/project/lib/harfbuzz-files.xml index 68f882a6b..74726e491 100644 --- a/project/lib/harfbuzz-files.xml +++ b/project/lib/harfbuzz-files.xml @@ -32,6 +32,7 @@ + @@ -39,6 +40,7 @@ + @@ -62,6 +64,9 @@ + + + From a9347de8cea8a83aef74464113c604cd880079b5 Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Tue, 28 Jan 2025 20:20:28 +0000 Subject: [PATCH 14/15] Update hb-coretext to hb-coretext-shape The name of this file was changed, see: https://github.com/harfbuzz/harfbuzz/commit/064b24177b398a9ebab16207e303c6725cb544da --- project/lib/harfbuzz-files.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/lib/harfbuzz-files.xml b/project/lib/harfbuzz-files.xml index 74726e491..b3496caa9 100644 --- a/project/lib/harfbuzz-files.xml +++ b/project/lib/harfbuzz-files.xml @@ -30,7 +30,7 @@ - + From 5fd2b560c49c0d27c5c0b097b8637130965f69de Mon Sep 17 00:00:00 2001 From: Tobiasz Laskowski Date: Wed, 29 Jan 2025 01:28:22 +0000 Subject: [PATCH 15/15] Add missing harfbuzz hb-face-builder file --- project/lib/harfbuzz-files.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/project/lib/harfbuzz-files.xml b/project/lib/harfbuzz-files.xml index b3496caa9..60625a997 100644 --- a/project/lib/harfbuzz-files.xml +++ b/project/lib/harfbuzz-files.xml @@ -34,6 +34,7 @@ +