PORTNAME= boinc-client DISTVERSIONPREFIX= client_release/8.2/ DISTVERSION= 8.2.8 CATEGORIES= net MAINTAINER= alven@FreeBSD.org COMMENT= Berkeley Open Infrastructure for Network Computing client WWW= https://boinc.berkeley.edu/ \ https://github.com/BOINC/boinc/ LICENSE= LGPL3+ LICENSE_FILE= ${WRKSRC}/COPYING.LESSER USES= autoreconf compiler:c++11-lang gmake libtool localbase:ldflags pkgconfig ssl USE_GITHUB= yes GH_ACCOUNT= BOINC GH_PROJECT= boinc USE_LDCONFIG= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --disable-server CONFIGURE_ENV= OBJCXX="${CXX}" INSTALL_TARGET= install-strip LDFLAGS+= -lexecinfo PORTSCOUT= limit:^8\.2\.\d+ SUB_FILES= pkg-deinstall pkg-install SUB_LIST= BOINC_CLIENT_GROUP="${BOINC_CLIENT_GROUP}" \ BOINC_CLIENT_HOME="${BOINC_CLIENT_HOME}" \ BOINC_CLIENT_USER="${BOINC_CLIENT_USER}" \ LOCALBASE="${LOCALBASE}" \ PREFIX="${PREFIX}" USERS= boinc GROUPS= boinc PLIST_SUB= SOVERSION=${DISTVERSION} OPTIONS_DEFINE= CLIENT MANAGER NLS SKINS USER X11 OPTIONS_DEFINE_aarch64= LINUX OPTIONS_DEFINE_amd64= LINUX OPTIONS_DEFINE_i386= LINUX OPTIONS_DEFAULT= CLIENT MANAGER USER X11 OPTIONS_GROUP= SCRIPT OPTIONS_GROUP_SCRIPT= NO_GUI_RPC NO_NET_INFO OPTIONS_SUB= yes CLIENT_DESC= Build BOINC client LINUX_DESC= Accept science applications for GNU/Linux MANAGER_DESC= Build BOINC GUI manager NLS_DESC= Install language translations for use in the GUI NO_GUI_RPC_DESC= Disable GUI RPC socket (breaks boinc_curses) NO_NET_INFO_DESC= Do not send host name and address to servers SCRIPT_DESC= Command-line options in script SKINS_DESC= Install more skins for BOINC manager USER_DESC= Create/check user directory X11_DESC= Build graphics API CLIENT_LIB_DEPENDS= libcurl.so:ftp/curl \ libfreetype.so:print/freetype2 CLIENT_RUN_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss CLIENT_USE= RC_SUBR=boinc-client CLIENT_CONFIGURE_ENABLE= client LINUX_USES= linux LINUX_CONFIGURE_ON= ${LINUX_CONFIGURE_ON_${ARCH}} # https://boinc.berkeley.edu/trac/wiki/BoincPlatforms LINUX_CONFIGURE_ON_aarch64= --with-boinc-alt-platform=aarch64-unknown-linux-gnu LINUX_CONFIGURE_ON_amd64= --with-boinc-alt-platform=x86_64-pc-linux-gnu LINUX_CONFIGURE_ON_i386= --with-boinc-alt-platform=i686-pc-linux-gnu MANAGER_LIB_DEPENDS= libfreetype.so:print/freetype2 \ libnotify.so:devel/libnotify \ libxcb-util.so:x11/xcb-util \ libxkbcommon.so:x11/libxkbcommon MANAGER_USES= desktop-file-utils gnome iconv xorg MANAGER_USE= GNOME=atk,cairo,gdkpixbuf,glib20,gtk30,pango \ WX=3.2+ \ XORG=x11,xcb,xext,xscrnsaver MANAGER_CONFIGURE_ENABLE= manager MANAGER_CONFIGURE_WITH= wx-config NLS_USES= gettext-tools X11_USES= desktop-file-utils gl jpeg xorg X11_USE= GL=glut \ XORG=x11,xi,xmu,xscrnsaver X11_CONFIGURE_OFF= ax_cv_check_glut_libglut=no X11_CONFIGURE_WITH= x BOINC_CLIENT_GROUP?= boinc BOINC_CLIENT_HOME?= /var/db/boinc BOINC_CLIENT_USER?= boinc .include .if ${PORT_OPTIONS:MMANAGER} WX_CONF_ARGS= absolute SUB_LIST+= OPTION_MANAGER="true" .else SUB_LIST+= OPTION_MANAGER="" .endif .if ${PORT_OPTIONS:MCLIENT} SUB_LIST+= OPTION_NO_GUI_RPC=${PORT_OPTIONS:MNO_GUI_RPC:S/^NO_GUI_RPC$/--no_gui_rpc/} \ OPTION_NO_NET_INFO=${PORT_OPTIONS:MNO_NET_INFO:S/^NO_NET_INFO$/--suppress_net_info/} .endif .if ${PORT_OPTIONS:MUSER} SUB_LIST+= OPTION_USER="true" .else SUB_LIST+= OPTION_USER="" .endif post-patch: @${REINPLACE_CMD} -e 's|client/scripts||' \ ${WRKSRC}/Makefile.am post-patch-X11-off: @${REINPLACE_CMD} -e 's|enable_xss="yes"|enable_xss="no"|' \ ${WRKSRC}/configure.ac post-install: .for name in config.h project_specific_defines.h api/reduce.h lib/keyword.h \ lib/opencl_boinc.h lib/shmem.h lib/std_fixes.h lib/str_replace.h ${INSTALL_DATA} ${WRKSRC}/${name} \ ${STAGEDIR}${PREFIX}/include/boinc .endfor post-install-MANAGER-on: ${MKDIR} ${STAGEDIR}${PREFIX}/share/boinc .for size in 16 32 48 ${INSTALL_DATA} ${WRKSRC}/packages/generic/sea/boincmgr.${size}x${size}.png \ ${STAGEDIR}${PREFIX}/share/pixmaps .endfor .if ${PORT_OPTIONS:MSKINS} (cd ${WRKSRC}/clientgui && \ ${COPYTREE_SHARE} skins ${STAGEDIR}${PREFIX}/share/boinc/ \ ) .else ${MKDIR} ${STAGEDIR}${PREFIX}/share/boinc/skins (cd ${WRKSRC}/clientgui/skins && \ ${COPYTREE_SHARE} Default ${STAGEDIR}${PREFIX}/share/boinc/skins/ \ ) .endif post-install-X11-on: .for name in api/boinc_gl.h api/graphics_api.h api/graphics_data.h api/ttfont.h ${INSTALL_DATA} ${WRKSRC}/${name} \ ${STAGEDIR}${PREFIX}/include/boinc .endfor ${MKDIR} ${STAGEDIR}${PREFIX}/share/boinc/ttf cd ${WRKSRC}/api/ttf/liberation-fonts-ttf-2.00.0 && \ ${COPYTREE_SHARE} \*.ttf ${STAGEDIR}${PREFIX}/share/boinc/ttf/ .include