I've had problems, in the past, getting KMM, with OFX support, to build and run on FreeBSD. Since then, I've changed my desktop to OpenBSD, and I thought I'd give it another try. It works, but I ran into some problems on the way. Oh, just so you know:
KMyMoney is the Personal Finance Manager for KDE. It operates similar
to MS-Money and Quicken, supports different account types,
categorisation of expenses, QIF import/export, multiple currencies and
initial online banking support.
KMyMoney is not simply a clone of the commercially-available personal
finance programs. Although many of the features present in KMyMoney
can be found in other similar applications, KMyMoney strives to
present an individual and unique view of your finances.
-- kmymoney2.sourceforge.net
The first task was to get libofx working. I tried to use the existing
port for sp (James Clark's SGML/XML parser) but it had missing symbols.
The README for libofx recommended OpenSP so I made a port for that. The
patches made for this port are as follows:
patch-tests_Makefile_in
OpenSP has some unfixed bugs that cause some of the tests to always
fail. It doesn't look like these bugs will be fixed anytime soon,
so I disabled them in the port for USE_REGRESS.
patch-unicode_Makefile_in
patch-unicode_catalog
patch-unicode_unicode_soc
By default OpenSP installs a catalog with only some unicode
definitions. This series of patches enhances the catalog to
include the standard stuff (html.dtd, html.dcl, etc.).
Then found out that there was a collision with some files in the
openjade port. So I updated the openjade port to a newer version (1.3
to 1.3.2), and got it to use the libraries from opensp.
The libofx port was next, after some minor tweaking (added curl and
xmlpp dependencies to get ofx direct connect), it built fine with the
new opensp port. I added the docbook and xmlto build dependencies to get
the man pages, I hope that's not a problem. The patches made for this
port are as follows:
patch-Makefile_in
doc installation directory fix
patch-ofxconnect_ofxpartner_cpp
needs unistd.h
Then the kmymoney2 port had lots of problems; libtool issues, static
initialization order, etc. I'd like to thank Marc Espie for his recent
rant on MKDIR_P issues in autoconf/automake, it saved me a lot of time.
Even though automake is called for, I only modified the .in files. This
seems to work because automake fails to run for version reasons. Messy.
patch-configure_in
Remove bash'ism to detect if path is relative or absolute, and
replace with POSIX expr(1). I think this change is okay, but there
might be a better more well known way to do this. so let me know.
patch-kmymoney2_plugins_Makefile_in
Help libtool understand that plugins library is in the plugins
directory.
patch-kmymoney2_plugins_ofximport_Makefile_in
Remove duplicate plugin library spec, and use absolute path to build
directory.
patch-kmymoney2_mymoney_mymoneyreport_cpp
patch-kmymoney2_mymoney_mymoneyreport_h
patch-kmymoney2_mymoney_mymoneystatement_cpp
patch-kmymoney2_mymoney_mymoneytransactionfilter_cpp
patch-kmymoney2_mymoney_mymoneytransactionfilter_h
Juggle static initializers to make them follow the "construct on
first use" idiom. This is what caused all the core dumps on startup
when people would build KMM from source on OpenBSD (and FreeBSD?).
These are my first ports, so please let me know what you think. I had a
lot of fun putting them together. It would have taken a lot longer
without the recent presentation on OpenBSD porting (by Michael Erdely
and Bernd Ahlers at www.openbsd.org/papers/).
I didn't attach patches to existing ports, only full ports. I am hoping
for some feedback and to contact the maintainers before I try and make
patches.
If you plan on testing, it might be easier if you extracted these in
/usr/ports/mystuff/, as the category path is included in the archive.
For example, devel.libofx.tar.gz would extract as:
devel/libofx
devel/libofx/patches
devel/libofx/patches/patch-Makefile_in
devel/libofx/patches/patch-ofxconnect_ofxpartner_cpp
devel/libofx/pkg
devel/libofx/pkg/DESCR
devel/libofx/pkg/PLIST
devel/libofx/pkg/PFRAG.shared
devel/libofx/Makefile
devel/libofx/distinfo
Also build and install in this order:
deinstall openjade (if you have it installed)
openjade (the one included here)
opensp
libofx
kmymoney2
TESTED:
build and run on i386 and amd64
--
======================================================================
William Karh "Now look what you made me do."
[EMAIL PROTECTED] -- Ike Turner
textproc.opensp.tar.gz
Description: textproc.opensp.tar.gz
textproc.openjade.tar.gz
Description: textproc.openjade.tar.gz
devel.libofx.tar.gz
Description: devel.libofx.tar.gz
productivity.kmymoney2.tar.gz
Description: productivity.kmymoney2.tar.gz
