gnucash-on-windows master: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Sat Jul 12 21:13:26 EDT 2025


Updated	 via  https://github.com/Gnucash/gnucash-on-windows/commit/2b29c046 (commit)
	 via  https://github.com/Gnucash/gnucash-on-windows/commit/0f31ddc8 (commit)
	 via  https://github.com/Gnucash/gnucash-on-windows/commit/69ff4b26 (commit)
	 via  https://github.com/Gnucash/gnucash-on-windows/commit/0c1fa35c (commit)
	 via  https://github.com/Gnucash/gnucash-on-windows/commit/5b7b1242 (commit)
	 via  https://github.com/Gnucash/gnucash-on-windows/commit/e30abd53 (commit)
	 via  https://github.com/Gnucash/gnucash-on-windows/commit/cd680e21 (commit)
	 via  https://github.com/Gnucash/gnucash-on-windows/commit/6a947496 (commit)
	from  https://github.com/Gnucash/gnucash-on-windows/commit/ea8ddb51 (commit)



commit 2b29c04674c91aae15a585246400afc38a89985a
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Jul 12 18:12:57 2025 -0700

    Update README.

diff --git a/README.md b/README.md
index 9319fad..35eaa43 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,28 @@
 # Building GnuCash on Windows
 
-This repository provides a simple, repeatable means to build GnuCash on Microsoft Windows using [MinGW-W64](https://mingw-w64.org/doku.php), [Gnome's jhbuild](https://wiki.gnome.org/action/show/Projects/Jhbuild?action=show&redirect=Jhbuild), and [JRSoftware's Inno Setup](http://www.jrsoftware.org/isinfo.php). It is what drives building the official All-in-One installers and what the GnuCash core development team uses to create development environments.
+This repository provides a simple, repeatable means to build GnuCash
+on Microsoft Windows using
+[MSYS2](https://www.msys2.org/)/[MinGW-W64](https://mingw-w64.org),
+[Gnome's jhbuild](https://gnome.pages.gitlab.gnome.org/jhbuild/), and
+[JRSoftware's Inno Setup](http://www.jrsoftware.org/isinfo.php). It is
+what drives building the official All-in-One installers and what the
+GnuCash core development team uses to create Microsoft Windows
+development environments.
 
 ## Requirements
 
-* Windows Vista or later. You must have an account with Administrator privileges.
-* Powershell 3.0 or later. Note that Vista and Win7 provided only Powershell 2.0. [Get an upgrade from Microsoft](https://docs.microsoft.com/en-us/powershell/scripting/install/installing-windows-powershell?view=powershell-6).
+* Windows 10 or later. You must have an account with Administrator privileges.
+* Powershell 3.0 or later.
 
 ## Installation
 
-Download [setup-mingw.ps1](https://raw.githubusercontent.com/Gnucash/gnucash-on-windows/master/setup-mingw64.ps1).
+Download [setup-mingw.ps1](https://github.com/Gnucash/gnucash-on-windows/raw/refs/heads/master/setup-mingw64.ps1)
 
 Start a Powershell session:
 * Click the Start icon and start typing "powershell" until Windows recognizes it and presents a menu item. Click that.
 
 If you need Administrative Privileges:
-* Win10, right-click on the Start icon and select ```Windows Powershell (Admin)```
-* Win7, click the Start icon and start typing "powershell" until ```Windows PowerShell``` appears in the search dialog. Right-click on it and select ```Run as Administrator```.
+* Right-click on the Start icon and select ```Windows Powershell (Admin)```
 
 If you don't routinely run PowerShell scripts on your computer you will need to first set the [Execution Policy](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-3.0) to **RemoteSigned**. You will need Powershell session with Administrative Privileges for this step:
 1. Start Powershell with Admin Privileges
@@ -32,22 +38,26 @@ In a PowerShell session run ```path/to/setup-mingw64.ps1```; the path will depen
 
 * **-download_dir**: The name of the subdirectory in **target_dir** where source tarballs will be downloaded to. **Default**: **target_dir**```\downloads```.
 
-* **-msyw2_root**: The base directory of the MSYS2/MinGW-W64 environment. You can reuse an existing environment, but we don't recommend changing this. **Default**:**target_dir**```\msys2```.
+* **-msys2_root**: The base directory of the MSYS2/MinGW-W64 environment. You can reuse an existing environment, but we don't recommend changing this. **Default**:**target_dir**```\msys2```.
 
-* **-x86_64**: Setting this will build a 64-bit GnuCash. **Default**: Unset, for 32-bit builds able to run on older systems.
+* **-x86_64**: Setting this will build a 64-bit GnuCash. **Default**: Unset, for 32-bit builds able to run on very old systems. This is how we're currently building GnuCash distributions. The Mingw-w64 project is [dropping 32-bit builds of packages](https://www.msys2.org/news/#2023-12-13-starting-to-drop-some-32-bit-packages); they've already done for a few that GnuCash uses. `setup-mingw64.ps1` works around this.
 
 It will take a while to complete. When it's done you'll have a new group in your Start Menu named ```MSYS2 64bit``` or ```MSYS2 32bit``` depending on the bitness of your version of Windows. Note that this is independent of whether you set the **-x86_64** option. In that group you'll find 3 selections:
-* MSYS2 MSys2
-* MSYS2 MingGW 32-bit
-* MSYS2 MinGW 64-bit
+* MSYS2 MSYS2
+* MSYS2 MINGW32 (32-bit MSVCRT runtime, GCC Toolchain)
+* MSYS2 MINGW64 (64-bit MSVCRT runtime, GCC Toolchain)
+* MSYS2 CLANG64 (64-bit Universal runtime, Clang/LLVM Toolchain)
+* MSYS2 UCRT64  (64-bit Universal runtime, GCC Toolchain)
 
-These create terminal emulation sessions running the Bash shell with the environment configured for different uses. You will nearly always want to use the MinGW with the bitness you selected.
+These create terminal emulation sessions running the Bash shell with
+the environment configured for different uses. GnuCash is tested only
+with the MSVCRT runtime.
 
 ## Building GnuCash
 
 1. Start an MSYS MinGW shell for the selected bitness.
 1. Change directories to the installation directory ```cd /c/gcdev64/src/gnucash-on-windows.git```. Substitute the path if you set **-target_dir** to something else. Note that in this shell you'll use ```/c``` instead of ```C:``` for the drive letter.
-1. run ```TARGET=gnucash-stable jhbuild -f jhbuildrc build``` to build the ```stable``` branch. Substitute ```gnucash-release``` for ```gnucash-stable``` to build the latest release from the tarball. In the run-up to a major release there will be an unstable branch for beta testing; to build that use ```gnucash-unstable```. 
+1. run ```TARGET=gnucash-stable jhbuild -f jhbuildrc build``` to build the ```stable``` branch. Substitute ```gnucash-releases``` for ```gnucash-stable``` to build the latest release from the tarball. In the run-up to a major release there will be an unstable branch for beta testing; to build that use ```gnucash-unstable```. 
 
 ## Developing
 
@@ -55,7 +65,9 @@ Once you've built GnuCash all the way through you can get a build-and-run enviro
 
 ```cd $PREFIX/../build/gnucash-git``` to get to the build directory and ```cd $PREFIX/../src/gnucash-git``` to get to the local repo.
 
-To install the gdb debugger run ```pacman -Su gdb```. You need not be in a jhbuild shell.
+To install the gdb debugger run ```pacman -S mingw-w64-<arch>-gdb```,
+substituting `i686` or `x86_64` for `<arch>` depending on the MinGW
+environment you're using. You need not be in a jhbuild shell.
 
 ## Bundling GnuCash
 
@@ -63,10 +75,10 @@ To install the gdb debugger run ```pacman -Su gdb```. You need not be in a jhbui
 1. Change to the installation directory ```cd C:\gcdev64\src\gnucash-on-windows.git```
 1. run
 ```
-bundle-mingw64.ps1 -root_dir C:\gcdev64 -target_dir C:\gcdev64\gnucash\maint -package maint -git_build $true
+bundle-mingw64.ps1 -root_dir C:\gcdev64 -target_dir C:\gcdev64\gnucash\stable -package gnucash -git_build $true
 ```
 
-That will create a date-stamped and versioned ```gnucash-xxx-setup.exe``` in ```C:\gcdev64\gnucash\maint```. You'll need to adjust paths and versions accordingly if you changed **target_dir** when you ran ```setup-mingw64.ps1``` or built ```master``` instead of maint.
+That will create a date-stamped and versioned ```gnucash-xxx-setup.exe``` in ```C:\gcdev64\gnucash\stable```. You'll need to adjust paths and versions accordingly if you changed **target_dir** when you ran ```setup-mingw64.ps1```.
 
 ### bundle-mingw64.ps1 Parameters
 

commit 0f31ddc8970b2578f28343d266bbecfebf146614
Author: John Ralls <jralls at ceridwen.us>
Date:   Sat Jul 12 17:27:59 2025 -0700

    Update setup-mingw.ps1 to work with the current Mingw64.
    
    Includes a new build of WebKitGtk3 and operates correctly and
    without intervention with the Qt installer framework
    that they're using now.

diff --git a/setup-mingw64.ps1 b/setup-mingw64.ps1
index c969e71..a21e89f 100644
--- a/setup-mingw64.ps1
+++ b/setup-mingw64.ps1
@@ -145,29 +145,10 @@ if (!(test-path -path $bash_path)) {
     $mingw64_installer = If ([IntPtr]::size -eq 4) {$mingw64_installer32} Else {$mingw64_installer64}
     $msys_install_dir = (join-path $target_dir "msys2") -replace "\\", '/'
     $msys_setup_args = @"
-function Controller() {}
-Controller.prototype.IntroductionPageCallback = function() {
-    gui.clickButton(buttons.NextButton);
-}
-Controller.prototype.TargetDirectoryPageCallback = function() {
-    var page = gui.pageWidgetByObjectName("TargetDirectoryPage");
-    page.TargetDirectoryLineEdit.setText("$msys_install_dir");
-    gui.clickButton(buttons.NextButton);
-}
-Controller.prototype.StartMenuDirectoryPageCallback = function() {
-    gui.clickButton(buttons.NextButton);
-}
-Controller.prototype.FinishedPageCallback = function() {
-    var page = gui.pageWidgetByObjectName("FinishedPage");
-    page.RunItCheckBox.checked = false;
-    gui.clickButton(buttons.FinishButton);
-}
 "@
 
-    $setup_script = "$target_dir\input.qs"
-    set-content -path $setup_script -value $msys_setup_args | out-null
-    install-package -url $mingw64_installer -install_dir "$msys2_root" -setup_args "--script $setup_script"
-#    remove-item $setup_script
+    install-package -url $mingw64_installer -install_dir "$msys2_root" -setup_args "in --root $msys_install_dir --al --am -c"
+
 }
 if (!(test-path -path $bash_path)) {
     write-host "Failed to install MSys2, aborting."
@@ -228,22 +209,23 @@ There will be a second update.
 #Update the system.
 Write-Host @"
 
-Updating the installation. Accept the proposed changes. If the window doesn't close on its own then close it and re-run the script when it finishes.
+Updating the installation..
 "@
 
-bash-command -command "pacman -Syyuu --noconfirm"
 bash-command -command "pacman -Syyuu --noconfirm"
 
 # Set up aliases for the parts of msys-devtools and mingw-w64-toolchain that
 # we need:
-$devel = "appstream-glib asciidoc autoconf autoconf2.13 autogen automake-wrapper bison diffstat diffutils dos2unix file flex gawk gettext gettext-devel git gperf grep groff intltool libltdl libtool m4 make man-db pacman pactoys-git patch patchutils perl pkg-config python python-setuptools rsync sed texinfo texinfo-tex wget xmlto"
+$devel = "asciidoc autoconf autoconf2.13 autogen automake-wrapper bison diffstat diffutils dos2unix file flex gawk gettext gettext-devel git gperf grep groff intltool libltdl libtool m4 make man-db pacman pactoys-git patch patchutils perl pkg-config python python-setuptools rsync sed texinfo texinfo-tex wget xmlto"
 
-$toolchain = "binutils cmake crt-git gcc gcc-libs gdb headers-git libmangle-git libtool libwinpthread-git make pkg-config swig tools-git winpthreads-git"
+$toolchain = "appstream-glib binutils cmake crt-git gcc gcc-libs gdb headers-git libmangle-git libtool libwinpthread-git make pkg-config swig tools-git winpthreads-git"
 
 
 # Install the system and toolchain:
+
 $msys_devel = make-pkgnames -prefix "msys/" -items $devel
 bash-command -command "pacman -S $msys_devel --noconfirm --needed"
+
 $mingw_toolchain = make-pkgnames -prefix $mingw_prefix -items $toolchain
 bash-command -command "pacman -S $mingw_toolchain --noconfirm --needed"
 
@@ -251,6 +233,8 @@ bash-command -command "pacman -S $mingw_toolchain --noconfirm --needed"
 # project so we have our own build on SourceForge.
 Write-Host @"
 Now we'll install a pre-built webkitgtk3 package we've created and placed in the GnuCash project on SourceForge. It will install several more dependencies from Mingw-w64's repository.
+
+First we need to import the signing key for it. That might hang, so if it takes more than a few seconds open task manager, find gpg-agent.exe in the Details tab, and end the task. You may have to to this twice.
 "@
 $sourceforge_url = "https://downloads.sourceforge.net/gnucash/Dependencies/"
 $signing_keyfile = "jralls_public_signing_key.asc"
@@ -258,35 +242,41 @@ $key_url = $sourceforge_url + $signing_keyfile
 $key_id = "C1F4DE993CF5835F"
 $webkit = "$arch_long-webkitgtk3-2.4.11-999.8-any.pkg.tar.zst"
 $webkit_url = $sourceforge_url + $webkit
-bash-command -command "wget $key_url -O $signing_keyfile"
+$webkit_sig = $webkit_url + ".sig"
+$download_unix = make-unixpath $download_dir
+bash-command -command "curl -L -s -S -o $signing_keyfile $key_url"
 bash-command -command "pacman-key --add $signing_keyfile"
-bash-command -command "pacman-key --lsign $key_id"
-bash-command -command "pacman -U $webkit_url --noconfirm --needed"
+bash-command -command "pacman-key --lsign-key  $key_id"
+bash-command -command "curl -L -s -S -O --output-dir $download_unix $webkit_url"
+bash-command -command "curl -L -s -S -O --output-dir $download_unix $webkit_sig"
 
 $ignorefile = ""
 [IO.File]::WriteAllLines( "$msys2_root\etc\pacman.d\gnucash-ignores.pacman", $ignorefile)
 bash-command -command "perl -ibak -pe 'BEGIN{undef $/;} s#[[]options[]]\R(Include = [^\R]*\R)?#[options]\nInclude = /etc/pacman.d/gnucash-ignores.pacman\n#smg' /etc/pacman.conf"
 
 # Install the remaining dependencies.
-$deps = "boost icu gtk3 libgcrypt gnutls iso-codes shared-mime-info libmariadbclient libsecret libsoup libunistring libwebp ninja pdcurses sqlite3 docbook-xsl"
-
-Write-Host @"
+$deps = "boost libgcrypt iso-codes libsecret docbook-xsl"
+# Mingw-w64 has dropped 32-bit support of several packages that we need so we must install them from the archive.
+if (!($x86_64)) {
+    bash-command -command "pacman -U https://repo.msys2.org/mingw/mingw32/mingw-w64-i686-icu-76.1-1-any.pkg.tar.zst --noconfirm --needed"
+    bash-command -command "pacman -U https://repo.msys2.org/mingw/mingw32/mingw-w64-i686-libmariadbclient-3.3.8-2-any.pkg.tar.zst --noconfirm --needed"
+    bash-command -command "pacman -U https://repo.msys2.org/mingw/mingw32/mingw-w64-i686-libsoup-2.74.3-1-any.pkg.tar.zst --noconfirm --needed"
+    bash-command -command "pacman -Uhttps://repo.msys2.org/mingw/mingw32/mingw-w64-i686-pdcurses-4.4.0-1-any.pkg.tar.zst --noconfirm --needed"
+    bash-command -command "pacman -U https://repo.msys2.org/mingw/mingw32/mingw-w64-i686-harfbuzz-11.0.1-1-any.pkg.tar.zst --noconfirm --needed"
+    bash-command -command "pacman -U https://repo.msys2.org/mingw/mingw32/mingw-w64-i686-harfbuzz-icu-11.0.1-1-any.pkg.tar.zst --noconfirm --needed"
+    bash-command -command "sed -E -i 's/#IgnorePkg\s*=/IgnorePkg = mingw-w64-i686-harfbuzz/' /etc/pacman.conf"
+}
+else {
+    $deps += " icu libmariadbclient libsoup pdcurses"
+}
 
-Now we'll install the dependencies. Accept the installation as usual. About half-way through it will stop with a message about fontconfig. Just type "Return" at it and it will resume after a minute or two (be patient!) and complete the installation.
-"@
+bash-command -command "pacman -U $download_unix/$webkit --noconfirm --needed"
 
 $mingw_deps = make-pkgnames -prefix $mingw_prefix -items $deps
 bash-command -command "pacman -S $mingw_deps --noconfirm --needed"
 
-# Mingw-w64 has dropped 32-bit support of harfbuzz-icu so we need to downgrade it:
-if (!($x86_64)) {
-    bash-command --command "pacman -U https://repo.msys2.org/mingw/mingw32/mingw-w64-i686-harfbuzz-11.0.1-1-any.pkg.tar.zst"
-    bash-command --command "pacman -U https://repo.msys2.org/mingw/mingw32/mingw-w64-i686-harfbuzz-icu-11.0.1-1-any.pkg.tar.zst"
-    bash-command --command "sed -i s/#IgnorePkg\s*=/IgnorePkg = mingw-w64-i686-harfbuzz/"
-}
 
 $target_unix = make-unixpath $target_dir
-$download_unix = make-unixpath $download_dir
 
 Write-Host @"
 

commit 69ff4b263f78eb5b6d16e766a35b695642b53876
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Jul 11 15:25:07 2025 -0700

    Update setup-mingw64.ps1 to install the latest WebKitGtk build.
    
    Also downgrade harfbuzz on i686 to retain harfbuzz-icu, which WebKitGtk requires.

diff --git a/setup-mingw64.ps1 b/setup-mingw64.ps1
index 308d832..c969e71 100644
--- a/setup-mingw64.ps1
+++ b/setup-mingw64.ps1
@@ -256,7 +256,7 @@ $sourceforge_url = "https://downloads.sourceforge.net/gnucash/Dependencies/"
 $signing_keyfile = "jralls_public_signing_key.asc"
 $key_url = $sourceforge_url + $signing_keyfile
 $key_id = "C1F4DE993CF5835F"
-$webkit = "$arch_long-webkitgtk3-2.4.11-999.7-any.pkg.tar.zst"
+$webkit = "$arch_long-webkitgtk3-2.4.11-999.8-any.pkg.tar.zst"
 $webkit_url = $sourceforge_url + $webkit
 bash-command -command "wget $key_url -O $signing_keyfile"
 bash-command -command "pacman-key --add $signing_keyfile"
@@ -278,6 +278,13 @@ Now we'll install the dependencies. Accept the installation as usual. About half
 $mingw_deps = make-pkgnames -prefix $mingw_prefix -items $deps
 bash-command -command "pacman -S $mingw_deps --noconfirm --needed"
 
+# Mingw-w64 has dropped 32-bit support of harfbuzz-icu so we need to downgrade it:
+if (!($x86_64)) {
+    bash-command --command "pacman -U https://repo.msys2.org/mingw/mingw32/mingw-w64-i686-harfbuzz-11.0.1-1-any.pkg.tar.zst"
+    bash-command --command "pacman -U https://repo.msys2.org/mingw/mingw32/mingw-w64-i686-harfbuzz-icu-11.0.1-1-any.pkg.tar.zst"
+    bash-command --command "sed -i s/#IgnorePkg\s*=/IgnorePkg = mingw-w64-i686-harfbuzz/"
+}
+
 $target_unix = make-unixpath $target_dir
 $download_unix = make-unixpath $download_dir
 

commit 0c1fa35c275a2a148273b8d1f9ca7e4e37efa1f1
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Jul 11 15:06:18 2025 -0700

    Adjust Guile config params and CFlags to build with current Mingw-w64.

diff --git a/gnucash.modules b/gnucash.modules
index 201c6b2..b6ee786 100644
--- a/gnucash.modules
+++ b/gnucash.modules
@@ -103,7 +103,7 @@
     </dependencies>
   </autotools>
 
-  <autotools id="guile2" autogen-sh="autoreconf" autogenargs="--disable-rpath --enable-networking --enable-nls --enable-posix --enable-regex --with-threads=no --with-modules --disable-static">
+  <autotools id="guile2" autogen-sh="autoreconf" autogenargs="--disable-rpath --enable-networking --enable-nls --enable-posix --enable-regex --without-64-calls --with-threads=no --with-modules --disable-static">
     <branch repo="sourceforge" module="gnucash/Dependencies/guile-2.2.7.3-5ef31.tar.xz"
 	    version=" 2.2.7.3-5ef31">
       <patch file="guile-2.2.7.3-getpagesize-decl.patch" strip="0"/>
diff --git a/jhbuildrc.in b/jhbuildrc.in
index e758de8..44fe6f8 100644
--- a/jhbuildrc.in
+++ b/jhbuildrc.in
@@ -91,3 +91,5 @@ _cflags = os.environ['CFLAGS'] if 'CFLAGS' in os.environ else ""
 
 module_extra_env['bdw-gc']={'CFLAGS':_cflags + ' -fcommon'}
 module_extra_env['gwenhywfar'] = {'CFLAGS':_cflags + " -Wno-incompatible-pointer-types"}
+module_extra_env['pgsql'] = {'CFLAGS':_cflags + " -std=c11 -DWIN32 -D_cdecl=__cdecl"}
+module_extra_env['guile2'] = {'CFLAGS':_cflags + '-Wno-int-conversion -Wno-implicit-function-declaration -Wno-maybe-uninitialized'}

commit 5b7b12426502ed34d1f822cb1c1dc0940ed71f62
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Jul 11 15:05:27 2025 -0700

    Update pgsql and adjust CFlags so that it builds cleanly with current Mingw-w64.

diff --git a/gnucash.modules b/gnucash.modules
index a862099..201c6b2 100644
--- a/gnucash.modules
+++ b/gnucash.modules
@@ -226,9 +226,9 @@
   </autotools>
 
 <autotools id="pgsql">
-    <branch repo="postgres" module="v16.3/postgresql-16.3.tar.bz2" 
-            version="16.3"
-            hash="sha256:331963d5d3dc4caf4216a049fa40b66d6bcb8c730615859411b9518764e60585">
+    <branch repo="postgres" module="v17.5/postgresql-17.5.tar.bz2" 
+            version="17.5"
+            hash="sha256:fcb7ab38e23b264d1902cb25e6adafb4525a6ebcbd015434aeef9eda80f528d8">
     </branch>
     <dependencies>
       <dep package="openssl"/>

commit e30abd539bc9ec3d3133ced8bf00fa337de01506
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Jul 11 15:03:43 2025 -0700

    Gwenhywfar: Disable incompatible pointer errors.
    
    To allow it to build with gcc 15.1.

diff --git a/jhbuildrc.in b/jhbuildrc.in
index ab60dca..e758de8 100644
--- a/jhbuildrc.in
+++ b/jhbuildrc.in
@@ -90,3 +90,4 @@ module_extra_env["gnucash-git"]={'GUILE_LOAD_PATH':os.path.join(prefix, 'share',
 _cflags = os.environ['CFLAGS'] if 'CFLAGS' in os.environ else ""
 
 module_extra_env['bdw-gc']={'CFLAGS':_cflags + ' -fcommon'}
+module_extra_env['gwenhywfar'] = {'CFLAGS':_cflags + " -Wno-incompatible-pointer-types"}

commit cd680e217862c0797ded6b1b08da8f06b06ecb5e
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Jul 11 14:56:58 2025 -0700

    [jhbuildrc] Create a variable with conditional inclusion of $CFLAGS
    
    To make it easier to add CFLAGS for more modules.

diff --git a/jhbuildrc.in b/jhbuildrc.in
index 1d80e05..ab60dca 100644
--- a/jhbuildrc.in
+++ b/jhbuildrc.in
@@ -86,9 +86,7 @@ module_extra_env["gnucash"]={'GUILE_LOAD_PATH':os.path.join(prefix, 'share', 'gu
 module_extra_env["gnucash-unstable"]={'GUILE_LOAD_PATH':os.path.join(prefix, 'share', 'guile', '2.2'), 'GUILE_LOAD_COMPILED_PATH':os.path.join(prefix, 'lib', 'guile', '2.2', 'ccache')}
 module_extra_env["gnucash-git"]={'GUILE_LOAD_PATH':os.path.join(prefix, 'share', 'guile', '2.2'), 'GUILE_LOAD_COMPILED_PATH':os.path.join(prefix, 'lib', 'guile', '2.2', 'ccache')}
 
-_bdw_gc_cflags = '-fcommon'
-if 'CFLAGS' in os.environ:
-    _bdw_gc_cflags = os.environ['CFLAGS'] + ' -fcommon'
 
-module_extra_env['bdw-gc']={'CFLAGS':_bdw_gc_cflags}
+_cflags = os.environ['CFLAGS'] if 'CFLAGS' in os.environ else ""
 
+module_extra_env['bdw-gc']={'CFLAGS':_cflags + ' -fcommon'}

commit 6a94749606aec2dc193e692592229163a81ef951
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Jul 11 14:50:52 2025 -0700

    Disable parallel builds of gnucash-docs
    
    Workaround for https://bugs.gnucash.org/show_bug.cgi?id=799637

diff --git a/gnucash.modules b/gnucash.modules
index 68aa770..a862099 100644
--- a/gnucash.modules
+++ b/gnucash.modules
@@ -313,17 +313,17 @@
     </dependencies>
  </cmake>
 
-  <cmake id="gnucash-docs-git">
+  <cmake id="gnucash-docs-git" supports-parallel-builds="no">
     <branch  repo="github" module="Gnucash/gnucash-docs.git" revision="stable"
 	   checkoutdir="gnucash-docs-git"/>
   </cmake>
 
-  <cmake id="gnucash-docs">
+  <cmake id="gnucash-docs" supports-parallel-builds="no">
     <branch  module="project/gnucash/gnucash%20%28stable%29/5.12/gnucash-docs-5.12.tar.gz"
 	     version="5.12" repo="sourceforge"/>
   </cmake>
 
-  <cmake id="gnucash-unstable-docs">
+  <cmake id="gnucash-unstable-docs" supports-parallel-builds="no">
     <branch  module="project/gnucash/gnucash%20%28unstable%29/4.903/gnucash-docs-4.903.tar.gz"
 	     version="4.903" repo="sourceforge"/>
   </cmake>



Summary of changes:
 README.md         | 44 +++++++++++++++++++++++-------------
 gnucash.modules   | 14 ++++++------
 jhbuildrc.in      |  9 ++++----
 setup-mingw64.ps1 | 67 ++++++++++++++++++++++++++-----------------------------
 4 files changed, 72 insertions(+), 62 deletions(-)



More information about the gnucash-changes mailing list