gnucash-on-osx master: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Fri Sep 26 16:12:52 EDT 2025


Updated	 via  https://github.com/Gnucash/gnucash-on-osx/commit/72b13979 (commit)
	 via  https://github.com/Gnucash/gnucash-on-osx/commit/f6d2eb3c (commit)
	 via  https://github.com/Gnucash/gnucash-on-osx/commit/7ce2cc0b (commit)
	from  https://github.com/Gnucash/gnucash-on-osx/commit/b8fa5ed9 (commit)



commit 72b13979091388776a59ec5f79d4fca8df0ffb8c
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Sep 26 13:10:50 2025 -0700

    Add script for producing and testing the dependencies tarball.
    
    And update dependencies.txt for the current (5.13) build requirements.

diff --git a/README.markdown b/README.markdown
index eb578d5..a0dbb5c 100644
--- a/README.markdown
+++ b/README.markdown
@@ -21,38 +21,19 @@ on your system.
 ##### Procedure #####
 1. Change the file versions in dependencies.txt to match the versions
    in the build you just made.
-2. Perform the following:
+   Change GNC_VERSION in depstarball.sh to match the current or next
+   release as appropriate. If that's not changing consider adding a
+   suffix (e.g. 5.13-1) so that the new and old can coexist on sourceforge.
+2. Build the dependencies:
    ```
    cd /Users/runner
    jhbuild --prefix /Users/runner/gnucash bootstrap-gtk-osx
    jhbuild --prefix /Users/runner/gnucash --moduleset=/Path/to/gnucash-on-osx/modules/gnucash.modules build meta-gnucash-dependencies
-   cd gnucash/inst
-   xargs < /Path/to/gnucash-on-osx/dependencies.txt tar -rf ~/gnucash-<version>-mac-dependencies.tar
-   jhbuild --prefix /Users/runner/gnucash shell
-   xz ~/gnucash-<version>-mac-dependencies.tar
    ```
-##### Testing the tarball #####
-While still in the jhbuild shell:
-```
-cd /Users/runner/gnucash
-mkdir parked
-mkdir gc-tarball
-cd gc-tarball
-tar -xf gnucash-<version>-mac-dependencies.tar.xz
-cd ../inst
-mv lib ../parked
-mv include ../parked
-mv share ../parked
-ln -s /Users/runner/gnucash/gc-tarball/include .
-ln -s /Users/runner/gnucash/gc-tarball/lib .
-ln -s /Users/runner/gnucash/gc-tarball/share .
-cd ../src
-git clone https://github.com/gnucash/gnucash
-mkdir ../build/gnucash-git && cd ../build/gnucash-git
-```
-Configure, build, and test GnuCash. If things go wrong then you need
-to figure out what's missing, add it to `dependencies.txt`, regenerate
-the tarball, untar it in `gc-tarball` and try again.
+3. Run `depstarball.sh`. It uses absolute paths so it can be run from
+   any directory. If GnuCash compiles and all the tests pass,
+   proceed. If not then diagnose the problem, adjust dependencies.txt
+   as needed, and try again.
 
 ##### Finish up #####
 1. Upload the result to the Dependencies folder in GnuCash's
@@ -60,4 +41,4 @@ the tarball, untar it in `gc-tarball` and try again.
 2. Change the dependencies file URI in
    `gnucash-git/.github/workflows/macos-tests.yaml` to match the file you
    just made, commit the result, and push it.
-3. Commit and push any changes you made to `dependencies.txt`.
+3. Commit and push any changes you made to `dependencies.txt` and `depstarball.sh`.
diff --git a/dependencies.txt b/dependencies.txt
index 37d82e5..a00210c 100644
--- a/dependencies.txt
+++ b/dependencies.txt
@@ -5,11 +5,12 @@ bin/aqebics-tool
 bin/aqhbci-tool4
 bin/aqofxconnect-tool
 bin/aqpaypal-tool
-bin/arm-apple-darwin23.5.0-pkg-config
 bin/ccache-swig
 bin/cardcommander
 bin/chipcard-config
 bin/chipcard-tool
+bin/cmake
+bin/ctest
 bin/gettext
 bin/gio-querymodules
 bin/glib-compile-resources
@@ -24,12 +25,13 @@ bin/guile
 bin/guild
 bin/msgmerge
 bin/msgfmt
-bin/pkg-config
-bin/python3.11
+bin/pkgconf
+bin/python3.13
 bin/python3
 bin/python3-config
-bin/python3.11-config
+bin/python3.13-config
 bin/swig
+bin/xgettext
 bin/xsltproc
 lib/aqbanking/
 lib/dbd/libdbdpgsql.so
@@ -39,7 +41,7 @@ lib/gdk-pixbuf-2.0/
 lib/gio/
 lib/glib-2.0/
 lib/gtk-3.0/3.0.0/
-lib/guile/2.2/
+lib/guile/3.0/
 lib/gwenhywfar/
 lib/libaqbanking.dylib lib/libaqbanking.44.dylib
 lib/libatk-1.0.dylib lib/libatk-1.0.0.dylib
@@ -62,14 +64,14 @@ lib/libepoxy.dylib lib/libepoxy.0.dylib
 lib/libexslt.dylib lib/libexslt.0.dylib
 lib/libffi.dylib lib/libffi.8.dylib
 lib/libfontconfig.dylib lib/libfontconfig.1.dylib
-lib/libfreetype.dylib lib/libfreetype.6.dylib lib/libfreetype.6.20.0.dylib
+lib/libfreetype.dylib lib/libfreetype.6.dylib lib/libfreetype.6.20.2.dylib
 lib/libfribidi.dylib lib/libfribidi.0.dylib
-lib/libgc.dylib lib/libgc.1.dylib
+lib/libgc.dylib lib/libgc.1.dylib lib/libgc.1.5.3.dylib
 lib/libgcrypt.dylib lib/libgcrypt.20.dylib
 lib/libgdk-3.dylib lib/libgdk-3.0.dylib
 lib/libgdk_pixbuf-2.0.dylib lib/libgdk_pixbuf-2.0.0.dylib
-lib/libgettextsrc.dylib lib/libgettextsrc-0.22.3.dylib
-lib/libgettextlib.dylib lib/libgettextlib-0.22.3.dylib
+lib/libgettextsrc.dylib lib/libgettextsrc-0.23.1.dylib
+lib/libgettextlib.dylib lib/libgettextlib-0.23.1.dylib
 lib/libgio-2.0.dylib lib/libgio-2.0.0.dylib
 lib/libglib-2.0.dylib lib/libglib-2.0.0.dylib
 lib/libgmodule-2.0.dylib lib/libgmodule-2.0.0.dylib
@@ -80,22 +82,23 @@ lib/libgpg-error.dylib lib/libgpg-error.0.dylib
 lib/libgthread-2.0.dylib lib/libgthread-2.0.0.dylib
 lib/libgtk-3.dylib lib/libgtk-3.0.dylib
 lib/libgtkmacintegration-gtk3.dylib lib/libgtkmacintegration-gtk3.4.dylib
-lib/libguile-2.2.dylib lib/libguile-2.2.1.dylib
+lib/libguile-3.0.dylib lib/libguile-3.0.1.dylib
 lib/libgwengui-gtk3.dylib lib/libgwengui-gtk3.79.dylib
 lib/libgwenhywfar.dylib lib/libgwenhywfar.79.dylib
 lib/libharfbuzz-icu.dylib lib/libharfbuzz-icu.0.dylib
 lib/libharfbuzz.dylib lib/libharfbuzz.0.dylib
-lib/libhogweed.dylib lib/libhogweed.6.dylib lib/libhogweed.6.8.dylib
+lib/libhogweed.dylib lib/libhogweed.6.dylib lib/libhogweed.6.10.dylib
+lib/libiconv.dylib lib/libiconv.2.dylib
 lib/libicudata.dylib lib/libicudata.73.dylib lib/libicudata.73.2.dylib
 lib/libicui18n.dylib lib/libicui18n.73.dylib lib/libicui18n.73.2.dylib
 lib/libicuio.dylib lib/libicuio.73.dylib lib/libicuio.73.2.dylib
 lib/libicuuc.dylib lib/libicuuc.73.dylib lib/libicuuc.73.2.dylib
 lib/libintl.dylib lib/libintl.8.dylib
 lib/libjavascriptcoregtk-4.0.dylib lib/libjavascriptcoregtk-4.0.18.dylib lib/libjavascriptcoregtk-4.0.18.18.4.dylib
-lib/libjpeg.dylib lib/libjpeg.9.dylib
+lib/libjpeg.dylib lib/libjpeg.62.dylib lib/libjpeg.62.4.0.dylib
 lib/libltdl.dylib lib/libltdl.7.dylib
 lib/liblzma.dylib lib/liblzma.5.dylib
-lib/libnettle.dylib lib/libnettle.8.dylib lib/libnettle.8.8.dylib
+lib/libnettle.dylib lib/libnettle.8.dylib lib/libnettle.8.10.dylib
 lib/libofx.dylib lib/libofx.7.dylib
 lib/libosp.dylib lib/libosp.5.dylib
 lib/libp11-kit.dylib lib/libp11-kit.0.dylib
@@ -105,20 +108,22 @@ lib/libpangoft2-1.0.dylib lib/libpangoft2-1.0.0.dylib
 lib/libpcre.dylib lib/libpcre.1.dylib
 lib/libpcre2-8.dylib lib/libpcre2-8.0.dylib
 lib/libpixman-1.dylib lib/libpixman-1.0.dylib
+lib/libpkgconf.dylib lib/libpkgconf.5.dylib
 lib/libpng16.dylib lib/libpng16.16.dylib
-lib/libpq.dylib lib/libpq.5.dylib lib/libpq.5.12.dylib
+lib/libpq.dylib lib/libpq.5.dylib
 lib/libproxy.dylib lib/libproxy.1.dylib
 lib/libproxy/libpxbackend-1.0.dylib
 lib/libpsl.dylib lib/libpsl.5.dylib
+lib/libpython3.13.dylib
 lib/librsvg-2.dylib lib/librsvg-2.2.dylib
 lib/libsharpyuv.dylib lib/libsharpyuv.0.dylib
 lib/libsoup-2.4.dylib lib/libsoup-2.4.1.dylib
-lib/libsqlite3.dylib lib/libsqlite3.0.dylib
+lib/libsqlite3.dylib lib/libsqlite3.0.dylib lib/libsqlite3.3.49.1.dylib
 lib/libssl.dylib lib/libssl.3.dylib
 lib/libtasn1.dylib lib/libtasn1.6.dylib
 lib/libtextstyle.dylib lib/libtextstyle.0.dylib
-lib/libtiff.dylib lib/libtiff.6.dylib
-lib/libunistring.dylib lib/libunistring.2.dylib
+lib/libtiff.dylib lib/libtiff.6.dylib lib/libtiff.6.1.0.dylib
+lib/libunistring.dylib lib/libunistring.5.dylib
 lib/libwebkit2gtk-4.0.dylib lib/libwebkit2gtk-4.0.37.dylib lib/libwebkit2gtk-4.0.37.53.1.dylib
 lib/libwebp.dylib lib/libwebp.7.dylib
 lib/libwebpdemux.dylib lib/libwebpdemux.2.dylib
@@ -128,8 +133,8 @@ lib/libxmlsec1.dylib lib/libxmlsec1.1.dylib
 lib/libz.dylib lib/libz.1.dylib lib/libz.1.3.1.dylib
 lib/mariadb/libmariadb.dylib lib/mariadb/libmariadb.3.dylib lib/mariadb/libmysqlclient.dylib
 lib/pkgconfig/
+lib/python3.13/
 lib/webkit2gtk-4.0/injected-bundle/libwebkit2gtkinjectedbundle.so
-include/python3.11/
 include/atk-1.0/
 include/libxml2/
 include/aqbanking6/
@@ -154,11 +159,14 @@ include/libsoup-2.4/
 include/libxml2/
 include/pango-1.0/
 include/pixman-1
+include/python3.13/
 include/unicode/
 include/webkitgtk-4.0/webkit2/
 include/webkitgtk-4.0/jsc/
+include/webp/
+share/cmake-3.31/
 share/gettext/
-share/gettext-0.22.3/
-share/guile/
+share/gettext-0.23.1/
+share/guile/3.0
 share/pkgconfig/
 share/swig/
diff --git a/depstarball.sh b/depstarball.sh
new file mode 100755
index 0000000..2aa034e
--- /dev/null
+++ b/depstarball.sh
@@ -0,0 +1,111 @@
+#!/usr/bin/env bash
+if [ -z "$JHBUILD_PREFIX" ]; then
+    echo "This script requires that you be in a JHBuild shell for making dependencies"
+    exit -1
+fi
+
+GC_VERSION="5.13"
+SRC_URI="https://github.com/gnucash/gnucash"
+#Paths:
+ROOT_DIR="/Users/runner/gnucash"
+INST_DIR="$ROOT_DIR/inst"
+PARK_DIR="$ROOT_DIR/parked"
+TAR_DIR="$ROOT_DIR/gc-tarball"
+SRC_DIR="$ROOT_DIR/src/gnucash-git"
+BUILD_DIR="$ROOT_DIR/build/gnucash-git"
+DEPS_FILE="$HOME/Development/GTK-OSX/gnucash-on-osx/dependencies.txt"
+TARBALL="$HOME/gnucash-$GC_VERSION-mac-dependencies.tar"
+COMP_TARBALL="$TARBALL.xz"
+
+if [ ! -d $INST_DIR ]; then
+    mkdir -p $INST_DIR
+fi
+if [ ! -d $PARK_DIR ]; then
+    mkdir -p $PARK_DIR
+fi
+if [ ! -d $TAR_DIR ]; then
+    mkdir -p $TAR_DIR
+fi
+if [ ! -d $BUILD_DIR ]; then
+    if [ ! -d $SRC_DIR ]; then
+        mkdir -p $SRC_DIR
+        pushd $SRC_DIR
+        git clone $SRC_URI
+        popd
+    fi
+    mkdir -p $BUILD_DIR
+fi
+
+function reset_from_tarball
+{
+    pushd $INST_DIR
+    rm bin include lib share
+    mv "$PARK_DIR/bin" .
+    mv "$PARK_DIR/include" .
+    mv "$PARK_DIR/lib" .
+    mv "$PARK_DIR/share" .
+    popd
+}
+
+function enable_tarball
+{
+    pushd $INST_DIR
+    mv bin "$PARK_DIR"
+    mv include "$PARK_DIR"
+    mv lib "$PARK_DIR"
+    mv share "$PARK_DIR"
+    ln -s "$TAR_DIR/bin" .
+    ln -s "$TAR_DIR/include" .
+    ln -s "$TAR_DIR/lib" .
+    ln -s "$TAR_DIR/share" .
+    popd
+}
+
+function create_tarball
+{
+    pushd "$INST_DIR"
+    if [ -f "$COMP_TARBALL" ]; then
+        rm "$COMP_TARBALL"
+    fi
+    xargs < "$DEPS_FILE" tar -rf "$TARBALL"
+    xz "$TARBALL"
+    popd
+}
+
+function test_tarball
+{
+    pushd "$TAR_DIR"
+    rm -rf *
+    tar -xf "$COMP_TARBALL"
+    popd
+    enable_tarball
+    pushd "$BUILD_DIR"
+    rm -rf *
+    cmake -G Ninja -DPython3_ROOT_DIR=$PREFIX -DPKG_CONFIG_EXECUTABLE=$PREFIX/bin/pkgconf -DCMAKE_PREFIX_PATH=$PRFIX -DCMAKE_INSTALL_PREFIX=$PREFIX \
+          -DGTEST_ROOT=$SRCROOT/googletest -DWITH_PYTHON=YES $SRCROOT/gnucash-git \
+        && ninja && ninja check
+    popd
+    reset_from_tarball
+}
+
+if [ "x$1" = "xuse_tarball" ] ; then
+    enable_tarball
+    exit 0
+fi
+
+if [ "x$1" = "xrestore" ] ; then
+    reset_from_tarball
+    exit 0
+fi
+
+if [ "x$1" = "xbuild" ] ; then
+       test_tarball
+       exit 0
+fi
+
+if [ -L "$INST_DIR/bin" ]; then
+    reset_from_tarball
+fi
+create_tarball
+test_tarball
+exit 0

commit f6d2eb3c40897e7c5dd1b4813758e583dad8f9c9
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Sep 26 13:09:32 2025 -0700

    Correct the dependency for guile and don't install bdw-gc with @rpath.

diff --git a/modulesets/gnucash.modules b/modulesets/gnucash.modules
index f08acfb..9a61ae7 100644
--- a/modulesets/gnucash.modules
+++ b/modulesets/gnucash.modules
@@ -210,8 +210,8 @@
     </after>
   </cmake>
 
-  <cmake id="bdw-gc" autogen-sh="configure"
-             cmakeargs="-Denable_large_config">
+  <cmake id="bdw-gc" 
+             cmakeargs="-Denable_large_config=true -DCMAKE_MACOSX_RPATH=true -DCMAKE_INSTALL_NAME_DIR="${JHBUILD_PREFIX}/lib" -DCMAKE_INSTALL_LIBDIR:PATH=lib">
     <branch repo="github-tarball"
             module="ivmai/bdwgc/releases/download/v8.2.6/gc-8.2.6.tar.gz"
             version="82.6"/>
@@ -277,7 +277,7 @@
       <dep package="aqbanking"/>
       <dep package="boost"/>
       <dep package="googletest"/>
-      <dep package="guile22"/>
+      <dep package="guile30"/>
       <dep package="iso-codes"/>
       <dep package="libdbi-drivers"/>
       <dep package="libofx"/>

commit 7ce2cc0b955cd6b08bd05652a8360043b0555572
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Sep 26 13:08:55 2025 -0700

    Update gwenhywfar and libofx to latest releases.

diff --git a/modulesets/gnucash.modules b/modulesets/gnucash.modules
index d17e70c..f08acfb 100644
--- a/modulesets/gnucash.modules
+++ b/modulesets/gnucash.modules
@@ -59,7 +59,7 @@
 
   <autotools id="gwenhywfar" autogen-sh="autoreconf"
 	     autogenargs="--with-guis='gtk3' --enable-local-install">
-    <branch module="533/gwenhywfar-5.12.1.tar.gz" version="5.12.1"
+    <branch module="539/gwenhywfar-5.12.2.tar.gz" version="5.12.2"
             repo="aqbanking" >
       <patch file="gwen-include-file.patch" strip="1"/>
       <patch file="gwen-macos-bundle-path.patch" strip="1"/>
@@ -139,8 +139,8 @@
   </autotools>
 
   <autotools id="libofx" autogen-sh='configure'>
-    <branch repo="github-tarball" module="libofx/libofx/releases/download/0.10.5/libofx-0.10.5.tar.gz"
-            version="0.10.5">
+    <branch repo="github-tarball" module="libofx/libofx/releases/download/0.10.9/libofx-0.10.9.tar.gz"
+            version="0.10.9">
     </branch>
     <dependencies>
       <dep package="OpenSP"/>



Summary of changes:
 README.markdown            |  37 ++++-----------
 dependencies.txt           |  48 ++++++++++++--------
 depstarball.sh             | 111 +++++++++++++++++++++++++++++++++++++++++++++
 modulesets/gnucash.modules |  12 ++---
 4 files changed, 154 insertions(+), 54 deletions(-)
 create mode 100755 depstarball.sh



More information about the gnucash-changes mailing list