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