aboutsummaryrefslogtreecommitdiffstats
path: root/finance/gnucash/Makefile
blob: d751d8af515c9b6053177cfad3fe265bbfe91ace (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# $FreeBSD$
#   $MCom: ports/finance/gnucash/Makefile,v 1.26 2008/12/31 03:25:18 mezz Exp $

PORTNAME=   gnucash
PORTVERSION=    3.4
CATEGORIES= finance gnome
MASTER_SITES=   SF/${PORTNAME}/${PORTNAME}%20%28stable%29/${PORTVERSION}

MAINTAINER= madpilot@FreeBSD.org
COMMENT=    Quicken-like money and finance manager

LICENSE=    GPLv2 GPLv3
LICENSE_COMB=   dual

LIB_DEPENDS=    libgnome-keyring.so:security/libgnome-keyring \
        libwebkit2gtk-4.0.so:www/webkit2-gtk3 \
        libfontconfig.so:x11-fonts/fontconfig \
        libfreetype.so:print/freetype2 \
        libsecret-1.so:security/libsecret \
        libsoup-2.4.so:devel/libsoup \
        libguile-2.0.so:lang/guile2 \
        libgc-threaded.so:devel/boehm-gc-threaded \
        libboost_date_time.so:devel/boost-libs \
        libicudata.so:devel/icu
RUN_DEPENDS=    p5-libwww>=0:www/p5-libwww \
        p5-Date-Manip>=0:devel/p5-Date-Manip \
        p5-Finance-Quote>=0:finance/p5-Finance-Quote

USES=       cmake:insource compiler:c++11-lib desktop-file-utils gettext-tools gnome libtool \
        localbase perl5 pkgconfig shebangfix tar:bzip2
USE_XORG=   x11
USE_CXXSTD= c++11
USE_GNOME=  cairo gtk30 intltool libxml2 libxslt
USE_LDCONFIG=   yes

INSTALLS_ICONS= yes
CMAKE_ARGS= -DCOMPILE_GSCHEMAS=OFF \
        -DENABLE_BINRELOC=OFF
SHEBANG_FILES=  common/gnc-test-env.pl libgnucash/quotes/gnc-fq-dump
WRKSRC=     ${WRKDIR}/${PORTNAME}-${DISTVERSION}

GLIB_SCHEMAS=   org.gnucash.dialogs.business.gschema.xml \
        org.gnucash.dialogs.checkprinting.gschema.xml \
        org.gnucash.dialogs.commodities.gschema.xml \
        org.gnucash.dialogs.export.csv.gschema.xml \
        org.gnucash.dialogs.gschema.xml \
        org.gnucash.dialogs.import.csv.gschema.xml \
        org.gnucash.dialogs.import.generic.gschema.xml \
        org.gnucash.dialogs.import.qif.gschema.xml \
        org.gnucash.dialogs.reconcile.gschema.xml \
        org.gnucash.dialogs.sxs.gschema.xml \
        org.gnucash.dialogs.totd.gschema.xml \
        org.gnucash.general.finance-quote.gschema.xml \
        org.gnucash.gschema.xml \
        org.gnucash.history.gschema.xml \
        org.gnucash.warnings.gschema.xml \
        org.gnucash.window.pages.account.tree.gschema.xml \
        org.gnucash.window.pages.gschema.xml

OPTIONS_DEFINE= AQBANKING DATABASE DOCS NLS OFX PYTHON TEST
OPTIONS_DEFAULT=    AQBANKING OFX

AQBANKING_DESC= AqBanking support (HBCI/OpenHBCI)
DATABASE_DESC=  Enable SQL database backends
OFX_DESC=   OFX support

OPTIONS_SUB=        yes
AQBANKING_CMAKE_BOOL=   WITH_AQBANKING
AQBANKING_LIB_DEPENDS=  libgwenhywfar.so:devel/gwenhywfar \
            libgwenhywfar.so:devel/gwenhywfar \
            libktoblzcheck.so:finance/ktoblzcheck \
            libaqbanking.so:finance/aqbanking
AQBANKING_VARS=     GLIB_SCHEMAS+=org.gnucash.dialogs.import.hbci.gschema.xml
DATABASE_CMAKE_BOOL=    WITH_SQL
DATABASE_BUILD_DEPENDS= libdbi-drivers>=0:databases/libdbi-drivers
DATABASE_LIB_DEPENDS=   libdbi.so:databases/libdbi
DATABASE_RUN_DEPENDS=   libdbi-drivers>=0:databases/libdbi-drivers
NLS_CMAKE_BOOL_OFF= DISABLE_NLS
NLS_USES=       gettext-runtime
OFX_CMAKE_BOOL=     WITH_OFX
OFX_LIB_DEPENDS=    libofx.so:finance/libofx
OFX_VARS=       GLIB_SCHEMAS+=org.gnucash.dialogs.import.ofx.gschema.xml
PYTHON_CMAKE_BOOL=  WITH_PYTHON
PYTHON_USES=        python:3.3+
TEST_BUILD_DEPENDS= ${NONEXISTENT}:devel/googlemock:build \
            gtest-config:devel/googletest

.include <bsd.port.pre.mk>

.if ${PORT_OPTIONS:MTEST}
GMOCK_WRKSRC!=  cd ${PORTSDIR}/devel/googlemock && ${MAKE} -V WRKSRC
CONFIGURE_ENV+= GMOCK_ROOT="${GMOCK_WRKSRC}"
.endif

post-patch-TEST-off:
    @(cd ${WRKSRC} ; \
        ${FIND} . -type f -name CMakeLists.txt \
        -exec ${REINPLACE_CMD} -e '/add_subdirectory *(test.*)/d' \
        -e '/enable_testing()/d' -e '/include (GncAddTest)/d' \
        -e '/gnc_gtest_configure()/d' {} +)

post-install:
    @(cd ${STAGEDIR}${DATADIR}/icons/hicolor && \
        ${RMDIR} 16x16/apps 22x22/apps 22x22 24x24/apps 32x32/apps 32x32\
        48x48/apps 48x48 64x64/apps 64x64 96x96/apps 96x96 \
        128x128/apps 128x128 256x256/apps 256x256 scalable/apps scalable)
    @(cd ${STAGEDIR}${PREFIX}/share/icons/hicolor && \
        ${RMDIR} 24x24/actions 16x16/actions)

post-install-PYTHON-on:
    @(cd ${STAGEDIR}${PREFIX} \
        && ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \
        -d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}/${PORTNAME})
    @(cd ${STAGEDIR}${PREFIX} \
        && ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \
        -d ${PYTHONPREFIX_SITELIBDIR} -f ${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;}/${PORTNAME})
    @${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/gnucash/_gnucash_core_c.so

.include <bsd.port.post.mk>