gnucash-on-windows future: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Sun Sep 13 17:34:30 EDT 2026
Updated via https://github.com/Gnucash/gnucash-on-windows/commit/2ec77941 (commit)
via https://github.com/Gnucash/gnucash-on-windows/commit/36cdfe0e (commit)
from https://github.com/Gnucash/gnucash-on-windows/commit/61926319 (commit)
commit 2ec77941120973eb9cdd494aa5e93f4520f02725
Author: John Ralls <jralls at ceridwen.us>
Date: Sun Sep 13 14:34:03 2026 -0700
Explicitly tell inno setup to put the dbi drivers in lib/dbd
Inno Setup v5 and later doesn't do so otherwise unlike Inno Setup 3
diff --git a/inno_setup/gnucash-mingw64.iss b/inno_setup/gnucash-mingw64.iss
index 3ba55b8..6cc62a3 100644
--- a/inno_setup/gnucash-mingw64.iss
+++ b/inno_setup/gnucash-mingw64.iss
@@ -208,7 +208,7 @@ Source: "@MINGW_DIR@\bin\zlib1.dll"; DestDir: "{app}\bin"; Components: main
Source: "@MINGW_DIR@\bin\gspawn-win64-helper.exe"; DestDir: "{app}\bin"; Components: main
Source: "@MINGW_DIR@\bin\gspawn-win64-helper-console.exe"; DestDir: "{app}\bin"; Components: main
-Source: "@MINGW_DIR@\lib\dbd\*.dll"; DestDir: "{app}\lib"; Components: main
+Source: "@MINGW_DIR@\lib\dbd\*.dll"; DestDir: "{app}\lib\dbd"; Components: main
Source: "@MINGW_DIR@\lib\aqbanking\*"; DestDir: "{app}\lib\aqbanking"; Excludes: "*.dll.a"; Flags: recursesubdirs; Components: main
Source: "@MINGW_DIR@\lib\gwenhywfar\*"; DestDir: "{app}\lib\gwenhywfar"; Excludes: "*.dll.a"; Flags: recursesubdirs; Components: main
Source: "@MINGW_DIR@\lib\gdk-pixbuf-2.0\2.10.0\loaders\*.dll"; DestDir: "{app}\lib\gdk-pixbuf-2.0\2.10.0\loaders"; Components: main
commit 36cdfe0e5d94f544bc52694482e2d75736d3d059
Author: John Ralls <jralls at ceridwen.us>
Date: Sun Sep 13 14:32:04 2026 -0700
Finish converting bundle-mingw.ps1 for the future branch.
diff --git a/bundle-mingw64.ps1 b/bundle-mingw64.ps1
index 0e11edf..7822622 100644
--- a/bundle-mingw64.ps1
+++ b/bundle-mingw64.ps1
@@ -51,14 +51,15 @@ Optional. Boolean to indicate whether or not this is a git build. Default $true
#>
[CmdletBinding()]
-Param(4
- [Parameter(Mandatory=$true)] [string]$mingw_prefix=c:\gcdev64\msys2\ucrt64,
- [Parameter(Mandatory=$true)] [string]$gnc_build_dir=c:\gcdev64\gnucash-build
- [Parameter(Mandatory=$true)] [string],$prefix=c:\gcdev64\inst
- [Parameter(Mandatory=$true)] [bool]$git_build=$true
+Param(
+ [Parameter(Mandatory=$false)] [string]$mingw_prefix="c:\gcdev64\msys2\ucrt64",
+ [Parameter(Mandatory=$false)] [string]$gnc_build_dir="c:\gcdev64\gnucash-build",
+ [Parameter(Mandatory=$false)] [string]$prefix="c:\gcdev64\inst",
+ [Parameter(Mandatory=$false)] [bool]$git_build=$true
)
$script_dir = Split-Path $script:MyInvocation.MyCommand.Path
+$root_dir = Split-Path -Path $mingw_prefix
$progressPreference = 'silentlyContinue'
@@ -79,25 +80,18 @@ function version_item([string]$tag, [string]$path) {
function bash-command() {
param ([string]$command = "")
- if (!(test-path -path $root_dir\msys2\usr\bin\bash.exe)) {
+ if (!(test-path -path $root_dir\usr\bin\bash.exe)) {
write-host "Shell program not found, aborting."
exit
}
#write-host "Running bash command ""$command"""
- Start-Process -FilePath "$root_dir\msys2\usr\bin\bash.exe" -ArgumentList "-c ""export PATH=/usr/bin; $command""" -NoNewWindow -Wait
+ Start-Process -FilePath "$root_dir\usr\bin\bash.exe" -ArgumentList "-c ""export PATH=/usr/bin; $command""" -NoNewWindow -Wait
}
function make-unixpath([string]$path) {
$path -replace "^([A-Z]):", '/$1' -replace "\\", '/'
}
-if ($git_build) {
- $gnucash = "gnucash-git"
-}
-else {
- $gnucash = get-childitem -path $target_dir\build | where-object {$_.Name -match "gnucash-[0-9.]+"} |sort-object -Property {$_.CreationTime} | select-object -last 1
-}
-
if ($PSVersionTable.PSVersion.Major -ge 3) {
$PSDefaultParameterValues['*:Encoding'] = 'utf8'
}
@@ -109,20 +103,22 @@ $minor_version = version_item -tag "PROJECT_VERSION_MINOR" -path $gnc_config_h
$package_version = "$major_version.$minor_version"
$date = get-date -format "yyyy-MM-dd"
-$setup_result = "$prefix\gnucash-$package_version.setup.exe"
+$setup_result = "gnucash-$package_version.setup.exe"
$final_file = ""
if ($git_build) {
- $gnc_vcsinfo_h = "$target_dir\build\gnucash-git\libgnucash\core-utils\gnc-vcs-info.h"
+ $gnc_vcsinfo_h = "$gnc_build_dir\libgnucash\core-utils\gnc-vcs-info.h"
$vcs_rev = version_item -tag "GNC_VCS_REV" -path $gnc_vcsinfo_h | %{$_ -replace """", ""}
- $final_file = "$target_dir\gnucash-$package_version-$date-git-$vcs_rev.setup.exe"
+ $final_file = "gnucash-$package_version-$date-git-$vcs_rev.setup.exe"
}
else {
- $final_file = "$target_dir\gnucash-$package_version.setup.exe"
+ $final_file = "gnucash-$package_version.setup.exe"
}
+# Consolidate the GLib Schemas and compile them:
$schema_dir = "share\glib-2.0\schemas"
$target_schema_dir = "$prefix\$schema_dir"
copy-item $mingw_prefix\$schema_dir\org.gtk.Settings.* $target_schema_dir
+copy-item $mingw_prefix\$schema_dir\org.gnome.desktop.enums.xml $target_schema_dir
$target_schema_unix = make-unixpath -path $target_schema_dir
$schema_compiler = make-unixpath -path "$mingw_prefix\bin\glib-compile-schemas"
bash-command("$schema_compiler $target_schema_unix")
@@ -141,17 +137,12 @@ foreach ($msgcat in "gtk30.mo", "gtk32-properties.mo", "iso_4217.mo ", "aqbankin
}
}
}
-# We also need to consolidate the GSettings schemas and compile them.
-copy-item "$mingw_prefix\share\glib-2.0\schemas\*.gschema.xml" "$prefix\share\glib-2.0\schemas"
-bash-command("$mingw_prefix/bin/glib-compile-schemas" "$prefix/share/glib-2.0/schemas")
# configure gnucash.iss
-$msys_prefix = (msys2 -c 'cygpath -w $MSYSTEM_PREFIX').trim()
-
$content = Get-Content -Raw -Path inno_setup\gnucash-mingw64.iss
-$content = $content.replace("@MINGW_DIR@", "$msys_prefix")
-$content = $content.replace("@INST_DIR@", "$Env:RUNNER_TEMP\inst")
+$content = $content.replace("@MINGW_DIR@", "$mingw_prefix")
+$content = $content.replace("@INST_DIR@", "$prefix")
$content = $content.replace("@PACKAGE_VERSION@", "$package_version")
$content = $content.replace("@PACKAGE@", "gnucash")
$content = $content.replace("@GNUCASH_MAJOR_VERSION@", "$major_version")
@@ -164,7 +155,7 @@ write-host "Running Inno Setup to create $final_file."
if (test-path -path $setup_result) {
remove-item -path $setup_result
}
-& ${env:ProgramFiles(x86)}\inno\iscc /Q $target_dir\gnucash.iss
+& "${env:ProgramFiles}\Inno Setup 7\ISCC.exe" /Q gnucash.iss
if ($git_build) {
if ((test-path -path $setup_result) -and (test-path -path $final_file)) {
Summary of changes:
bundle-mingw64.ps1 | 43 +++++++++++++++++-------------------------
inno_setup/gnucash-mingw64.iss | 2 +-
2 files changed, 18 insertions(+), 27 deletions(-)
More information about the gnucash-changes
mailing list