GithubHelp home page GithubHelp logo

fellen / gnucash-on-osx Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gnucash/gnucash-on-osx

0.0 1.0 0.0 986 KB

Gtk-OSX moduleset, gtk-mac-bundler bundles, and ancillary files for creating GnuCash OSX Application Bundle.

Python 42.39% Shell 57.61%

gnucash-on-osx's Introduction

Building GnuCash with GTK-OSX

GnuCash can be built to run more or less natively on OSX -- meaning without X11. Better yet, the build is almost automatic.

Please see http://wiki.gnucash.org/wiki/MacOSX/Quartz for instructions.

Building the dependencies tarball for CI tests

The Github Mac runners are Apple Silicon so this must be done on an Apple Silicon Mac.

Prerequisites
  1. Set up gtk-osx on your system.
  2. Clone this repository.
  3. Create a build directory and change its ownership to you:
    sudo mkdir -p /Users/runner/gnucash/inst
    sudo chown -R <your userid> /Users/runner
    
Procedure
  1. Change the file versions in dependencies.txt to match the versions in the build you just made.
  2. Perform the following:
    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.

Finish up
  1. Upload the result to the Dependencies folder in GnuCash's Sourceforge project.
  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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.