Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#55446 closed update (fixed)

gnucash-devel: update to version 2.7.2, modernize dependencies

Reported by: dbevans (David B. Evans) Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: ryandesign (Ryan Carsten Schmidt), mopihopi
Port: gnucash-devel

Description

The current unstable version of gnucash-devel is version 2.7.2 and (finally) is a gtk3 port with modernized dependencies.

In particular, libgnomecanvas and libgoffice08 are no longer required and the webkit requirement has been updated to webkit2-gtk as requested in #52404.

Hopefully gnucash will be similarly updated in the 2.8 stable branch.

Change History (6)

comment:1 Changed 6 years ago by drkp (Dan Ports)

Status: newaccepted

I've been working on this and have made some progress, but don't have a working port yet...

comment:2 Changed 6 years ago by drkp (Dan Ports)

Cc: ryandesign added

Ugh. So the problem I am dealing with now is that gnucash 2.7 uses gint64 (from glib) and int64_t (from the C++ stdlib) interchangeably. Unfortunately, on 64-bit architectures, glib defines gint64 as long and Apple defines int64_t as long long for some reason. They are both 8 bytes long, but clang rightly doesn't consider them interchangeable.

(The glib port patches the header file with these definitions, but just to make it do the right thing under +universal; the sizes are the same as a stock glib build)

It seems like fixing this properly would be a really extensive change, and it doesn't sound like the gnucash developers are interested in it. Their official gnucash builds for MacOS are done by patching glib to make gint64 a long long instead, which seems pretty awful.

So I'm at a loss. Any ideas?

[+cc Ryan in case he has any glib insights]

comment:3 Changed 6 years ago by mopihopi

Cc: mopihopi added

comment:4 in reply to:  2 Changed 6 years ago by drkp (Dan Ports)

Replying to drkp:

Their official gnucash builds for MacOS are done by patching glib to make gint64 a long long instead, which seems pretty awful.

Well, it looks like one answer is to use their patched glibconfig.h for the build (by putting it in the source tree, overriding the real one from glib2), since the sizes are in fact the same in the end. This is really awful, but it seems to work...

comment:5 Changed 6 years ago by Dan R. K. Ports <drkp@…>

Resolution: fixed
Status: acceptedclosed

In 25d1fce001cdd88ba4e77fb934eb9f09efb47953/macports-ports:

gnucash-devel: update to v2.7.2

Closes: #55446

comment:6 Changed 6 years ago by drkp (Dan Ports)

Note that this still uses guile 1.8, although gnucash also supports 2.0 (but not 2.2). And there is still an indirect gtk2 dependency. But it's a start.

Also, I haven't tested it extensively: gnucash crashes when I try to load my accounts file (as does the official build, so it's not a bug in the port)

Note: See TracTickets for help on using tickets.