summaryrefslogtreecommitdiffstats
path: root/windows
diff options
context:
space:
mode:
Diffstat (limited to 'windows')
-rw-r--r--windows/build.ps115
-rw-r--r--windows/const.ps116
-rwxr-xr-xwindows/cygwin.ps111
-rw-r--r--windows/release.ps114
4 files changed, 35 insertions, 21 deletions
diff --git a/windows/build.ps1 b/windows/build.ps1
index ff43d8b..abc139e 100644
--- a/windows/build.ps1
+++ b/windows/build.ps1
@@ -98,6 +98,13 @@ New-Item -Type Directory "${STAGE}\${LIBRESSL}" -Force
New-Item -Type Directory "${STAGE}\${LIBCBOR}" -Force
New-Item -Type Directory "${STAGE}\${ZLIB}" -Force
+# Create GNUPGHOME with an empty common.conf to disable use-keyboxd.
+# Recent default is to enable keyboxd which in turn ignores --keyring
+# arguments.
+$GpgHome = "${BUILD}\.gnupg"
+New-Item -Type Directory "${GpgHome}" -Force
+New-Item -Type File "${GpgHome}\common.conf" -Force
+
# Create output directories.
New-Item -Type Directory "${OUTPUT}" -Force
New-Item -Type Directory "${OUTPUT}\${Arch}" -Force
@@ -117,8 +124,9 @@ try {
}
Copy-Item "$PSScriptRoot\libressl.gpg" -Destination "${BUILD}"
- & $GPG --list-keys
- & $GPG --quiet --no-default-keyring --keyring ./libressl.gpg `
+ & $GPG --homedir ${GpgHome} --list-keys
+ & $GPG --homedir ${GpgHome} --quiet --no-default-keyring `
+ --keyring ./libressl.gpg `
--verify .\${LIBRESSL}.tar.gz.asc .\${LIBRESSL}.tar.gz
if ($LastExitCode -ne 0) {
throw "GPG signature verification failed"
@@ -144,8 +152,9 @@ Push-Location ${STAGE}\${LIBRESSL}
try {
& $CMake ..\..\..\${LIBRESSL} -A "${Arch}" `
-DBUILD_SHARED_LIBS="${SHARED}" -DLIBRESSL_TESTS=OFF `
- -DCMAKE_C_FLAGS_DEBUG="${CFLAGS_DEBUG}" `
+ -DLIBRESSL_APPS=OFF -DCMAKE_C_FLAGS_DEBUG="${CFLAGS_DEBUG}" `
-DCMAKE_C_FLAGS_RELEASE="${CFLAGS_RELEASE}" `
+ -DCMAKE_MSVC_RUNTIME_LIBRARY="${CMAKE_MSVC_RUNTIME_LIBRARY}" `
-DCMAKE_INSTALL_PREFIX="${PREFIX}" "${CMAKE_SYSTEM_VERSION}"; `
ExitOnError
& $CMake --build . --config ${Config} --verbose; ExitOnError
diff --git a/windows/const.ps1 b/windows/const.ps1
index 7fac21e..7a39b01 100644
--- a/windows/const.ps1
+++ b/windows/const.ps1
@@ -1,24 +1,24 @@
-# Copyright (c) 2021-2023 Yubico AB. All rights reserved.
+# Copyright (c) 2021-2024 Yubico AB. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
# SPDX-License-Identifier: BSD-2-Clause
# LibreSSL coordinates.
New-Variable -Name 'LIBRESSL_URL' `
- -Value 'https://cloudflare.cdn.openbsd.org/pub/OpenBSD/LibreSSL' `
+ -Value 'https://ftp.openbsd.org/pub/OpenBSD/LibreSSL' `
-Option Constant
-New-Variable -Name 'LIBRESSL' -Value 'libressl-3.7.3' -Option Constant
-New-Variable -Name 'CRYPTO_LIBRARIES' -Value 'crypto-50' -Option Constant
+New-Variable -Name 'LIBRESSL' -Value 'libressl-3.9.2' -Option Constant
+New-Variable -Name 'CRYPTO_LIBRARIES' -Value 'crypto' -Option Constant
# libcbor coordinates.
-New-Variable -Name 'LIBCBOR' -Value 'libcbor-0.10.2' -Option Constant
-New-Variable -Name 'LIBCBOR_BRANCH' -Value 'v0.10.2' -Option Constant
+New-Variable -Name 'LIBCBOR' -Value 'libcbor-0.11.0' -Option Constant
+New-Variable -Name 'LIBCBOR_BRANCH' -Value 'v0.11.0' -Option Constant
New-Variable -Name 'LIBCBOR_GIT' -Value 'https://github.com/pjk/libcbor' `
-Option Constant
# zlib coordinates.
-New-Variable -Name 'ZLIB' -Value 'zlib-1.3' -Option Constant
-New-Variable -Name 'ZLIB_BRANCH' -Value 'v1.3' -Option Constant
+New-Variable -Name 'ZLIB' -Value 'zlib-1.3.1' -Option Constant
+New-Variable -Name 'ZLIB_BRANCH' -Value 'v1.3.1' -Option Constant
New-Variable -Name 'ZLIB_GIT' -Value 'https://github.com/madler/zlib' `
-Option Constant
diff --git a/windows/cygwin.ps1 b/windows/cygwin.ps1
index 0681830..253b452 100755
--- a/windows/cygwin.ps1
+++ b/windows/cygwin.ps1
@@ -38,6 +38,13 @@ Write-Host "GPG: $GPG"
New-Item -Type Directory "${Cygwin}" -Force
New-Item -Type Directory "${Root}" -Force
+# Create GNUPGHOME with an empty common.conf to disable use-keyboxd.
+# Recent default is to enable keyboxd which in turn ignores --keyring
+# arguments.
+$GpgHome = "${Cygwin}\.gnupg"
+New-Item -Type Directory "${GpgHome}" -Force
+New-Item -Type File "${GpgHome}\common.conf" -Force
+
# Fetch and verify Cygwin.
try {
if (-Not (Test-Path ${Cygwin}\${Setup} -PathType leaf)) {
@@ -48,8 +55,8 @@ try {
Invoke-WebRequest ${URL}/${Setup}.sig `
-OutFile ${Cygwin}\${Setup}.sig
}
- & $GPG --list-keys
- & $GPG --quiet --no-default-keyring `
+ & $GPG --homedir ${GpgHome} --list-keys
+ & $GPG --homedir ${GpgHome} --quiet --no-default-keyring `
--keyring ${PSScriptRoot}/cygwin.gpg `
--verify ${Cygwin}\${Setup}.sig ${Cygwin}\${Setup}
if ($LastExitCode -ne 0) {
diff --git a/windows/release.ps1 b/windows/release.ps1
index cc5f635..6989a5c 100644
--- a/windows/release.ps1
+++ b/windows/release.ps1
@@ -1,4 +1,4 @@
-# Copyright (c) 2021-2022 Yubico AB. All rights reserved.
+# Copyright (c) 2021-2024 Yubico AB. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
# SPDX-License-Identifier: BSD-2-Clause
@@ -60,14 +60,12 @@ Function Package-PDBs(${SRC}, ${DEST}) {
}
Function Package-StaticPDBs(${SRC}, ${DEST}) {
+ # NOTE: original file names must be preserved
Copy-Item "${SRC}\${LIBRESSL}\crypto\crypto_obj.dir\${Config}\crypto_obj.pdb" `
- "${DEST}\${CRYPTO_LIBRARIES}.pdb"
- Copy-Item "${SRC}\${LIBCBOR}\src\${Config}\cbor.pdb" `
- "${DEST}\cbor.pdb"
- Copy-Item "${SRC}\${ZLIB}\${Config}\zlibstatic.pdb" `
- "${DEST}\zlib1.pdb"
- Copy-Item "${SRC}\src\${Config}\fido2_static.pdb" `
- "${DEST}\fido2.pdb"
+ "${DEST}"
+ Copy-Item "${SRC}\${LIBCBOR}\src\${Config}\cbor.pdb" "${DEST}"
+ Copy-Item "${SRC}\${ZLIB}\${Config}\zlibstatic.pdb" "${DEST}"
+ Copy-Item "${SRC}\src\${Config}\fido2_static.pdb" "${DEST}"
}
Function Package-Tools(${SRC}, ${DEST}) {