aboutsummaryrefslogtreecommitdiffstats
path: root/net/boinc-client/Makefile
blob: ea5ace5e0c23021e1c5ba6dfde14c132028e6726 (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
# New ports collection makefile for:    boinc
# Date created:             01 October 2004
# Whom:                 J.R. Oldroyd <fbsd@opal.com>
#
# $FreeBSD$
#

PORTNAME=   boinc-client
PORTVERSION=    4.68.20050601
PORTREVISION=   2
CATEGORIES= net
MASTER_SITES=   http://boinc.berkeley.edu/source/nightly/ \
        ${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= pav
DISTNAME=   boinc-cvs-2005-06-01

MAINTAINER= fbsd@opal.com
COMMENT=    Berkeley Open Infrastructure for Network Computing client

.include <bsd.port.pre.mk>

# Disable GUI on FreeBSD 4.x due to problems with wxgtk lib
.if ${OSVERSION} < 500000
WITHOUT_X11=    yes
.endif

.if !defined(WITHOUT_X11)
LIB_DEPENDS+=   iconv:${PORTSDIR}/converters/libiconv \
        wx_base:${PORTSDIR}/x11-toolkits/wxgtk26 \
        jpeg:${PORTSDIR}/graphics/jpeg \
        glut:${PORTSDIR}/graphics/libglut
USE_XLIBS=  yes
.endif

USE_AUTOTOOLS=  automake:19 autoheader:259 autoconf:259 libtool:15
USE_REINPLACE=  yes
GNU_CONFIGURE=  yes

MAN1=       boinc.1
.if !defined(WITHOUT_X11)
MLINKS=     boinc.1 boincmgr.1
.endif

BOINC_USER= boinc
BOINC_GROUP=    nobody
BOINC_HOME= /var/db/boinc
BOINC_BINARY=   boinc-client

PLIST_SUB=  BOINC_BINARY="${BOINC_BINARY}" BOINC_HOME="${BOINC_HOME}" \
        BOINC_USER="${BOINC_USER}" BOINC_GROUP="${BOINC_GROUP}"
.if !defined(WITHOUT_X11)
PLIST_SUB+= BOINC_GUI=""
.else
PLIST_SUB+= BOINC_GUI="@comment "
.endif

SUB_FILES=  bin-boinc.sh boinc.1 boinc.sh pkg-install
SUB_LIST=   BOINC_BINARY="${BOINC_BINARY}" BOINC_HOME="${BOINC_HOME}" \
        BOINC_USER="${BOINC_USER}" BOINC_GROUP="${BOINC_GROUP}"

USE_RC_SUBR=    boinc.sh

CONFIGURE_ARGS= --disable-server
.if !defined(WITHOUT_X11)
CONFIGURE_ARGS+=    --with-wx-config=wxgtk2-2.6-config
.else
CONFIGURE_ARGS+=    --with-wx-config=false
.endif
CONFIGURE_ENV=  CPPFLAGS=-I${X11BASE}/include CXXFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include"

FIND_BOINC_BINARY=(cd ${WRKSRC}/client; make -V CLIENT_BIN_FILENAME)
FIND_BOINCMGR_BINARY=(cd ${WRKSRC}/client; make -V CLIENT_GUI_BIN_FILENAME)

WRKSRC=     ${WRKDIR}/boinc
PKGINSTALL= ${WRKDIR}/pkg-install
PKGPLIST=   ${WRKDIR}/pkg-plist

.if ${OSVERSION} < 500000
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-client-time_stats.C
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui-MainDocument.cpp
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui-MainFrame.cpp
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui-ViewProjects.cpp
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui-ViewResources.cpp
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui-ViewTransfers.cpp
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui-ViewWork.cpp
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clientgui-stdwx.h
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-lib-acct_mgr_client.C
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-lib-diagnostics.h
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-lib-gui_rpc_client.C
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-lib-parse.C
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-zip-boinc_zip.cpp
.endif

pre-configure:
    cd ${WRKSRC}; ${ACLOCAL} -I m4

do-install:
    ${MKDIR} ${PREFIX}/lib/boinc
    ${INSTALL_PROGRAM} ${WRKSRC}/client/`${FIND_BOINC_BINARY}` ${PREFIX}/lib/boinc/${BOINC_BINARY}
.if !defined(WITHOUT_X11)
    ${INSTALL_PROGRAM} ${WRKSRC}/clientgui/`${FIND_BOINCMGR_BINARY}` ${PREFIX}/bin
.endif
    ${MKDIR} ${PREFIX}/include/BOINC
    ${INSTALL} ${WRKSRC}/api/*.h ${PREFIX}/include/BOINC
    ${INSTALL} ${WRKSRC}/lib/*.h ${PREFIX}/include/BOINC
    ${INSTALL} ${WRKSRC}/zip/*.h ${PREFIX}/include/BOINC
    ${INSTALL} ${WRKSRC}/api/*.a ${PREFIX}/lib
    ${INSTALL} ${WRKSRC}/lib/*.a ${PREFIX}/lib
    ${INSTALL} ${WRKSRC}/zip/*.a ${PREFIX}/lib
    ${INSTALL} ${WRKSRC}/RSAEuro/source/librsaeuro.a ${PREFIX}/lib
    ${INSTALL_SCRIPT} ${WRKDIR}/bin-boinc.sh ${PREFIX}/bin/boinc
    ${INSTALL_MAN} ${WRKDIR}/boinc.1 ${PREFIX}/man/man1
    ${CAT} ${PKGMESSAGE}

post-install:
    @PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL

.include <bsd.port.post.mk>