From 3aed95d8103c0ca429c27dc41006545ed8d3260b Mon Sep 17 00:00:00 2001 From: Brian <18603393+brian6932@users.noreply.github.com> Date: Tue, 26 Dec 2023 01:59:46 -0500 Subject: [PATCH] openssl: Fix environment variables (2) (#5372) * Revert "openssl@3.2.0: Revert scripts introduced in #5336 (Close #5361)" This reverts commit dea5d39088aecc290b64f4ab8688b3e6ed9f2875. * openssl: Fix environment variables (2) * openssl: Use job to isolate type scope prevents the creation of `[Microsoft.PowerShell.Commands.AddType.AutoGeneratedTypes._]` --- bucket/openssl.json | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/bucket/openssl.json b/bucket/openssl.json index 9bafe2badc..0495ff4cd9 100644 --- a/bucket/openssl.json +++ b/bucket/openssl.json @@ -1,5 +1,4 @@ { - "##": "TODO: A script for create symlinks of lib files", "version": "3.2.0", "description": "TLS/SSL toolkit", "homepage": "https://slproweb.com/products/Win32OpenSSL.html", @@ -18,14 +17,28 @@ "hash": "4550f6d18cc359358436975db5f00f528e14860d6277da584fb7b60febd84a17" } }, + "pre_install": [ + "$arch = switch ($architecture) {", + " '64bit' { 'x64'; break }", + " '32bit' { 'x32'; break }", + " 'arm64' { $architecture; break }", + "}", + "if ([System.Environment]::OSVersion.Version -lt [Version]10.0.14972.0) {", + " return $null = Get-ChildItem \"$dir/lib/VC/$arch/MT\" | ForEach-Object { Copy-Item $_.FullName \"$dir/lib/$($_.Name)\" }", + "}", + "Receive-Job -Wait (Start-Job {", + " $kernel32 = Add-Type -MemberDefinition '[DllImport(\"kernel32.dll\")] public static extern bool CreateSymbolicLink(string lpSymlinkFileName, string lpTargetFileName, byte dwFlags);' -Name '_' -PassThru", + " $null = Get-ChildItem \"$Using:dir/lib/VC/$Using:arch/MT\" | ForEach-Object { $kernel32::CreateSymbolicLink(\"$Using:dir/lib/$($_.Name)\", $_.FullName, 2) }", + "})" + ], "innosetup": true, "env_add_path": "bin", "env_set": { - "OPENSSL_CONF": "$dir\\bin\\cnf\\openssl.cnf", - "OPENSSL_INCLUDE_DIR": "$dir\\include", + "OPENSSL_ROOT_DIR": "$dir", "OPENSSL_LIB_DIR": "$dir\\lib", + "OPENSSL_INCLUDE_DIR": "$dir\\include", "OPENSSL_MODULES": "$dir\\bin", - "OPENSSL_ROOT_DIR": "$dir" + "OPENSSL_CONF": "$dir\\bin\\cnf\\openssl.cnf" }, "checkver": { "url": "https://raw.githubusercontent.com/slproweb/opensslhashes/master/win32_openssl_hashes.json",