freebsd-ports/net/boinc-client/Makefile
Stefan Eßer b7f05445c0 Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.

Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.

There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.

This commit implements such a proposal and moves one of the WWW: entries
of each pkg-descr file into the respective port's Makefile. A heuristic
attempts to identify the most relevant URL in case there is more than
one WWW: entry in some pkg-descr file. URLs that are not moved into the
Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr
files in order to preserve them.

There are 1256 ports that had no WWW: entries in pkg-descr files. These
ports will not be touched in this commit.

The portlint port has been adjusted to expect a WWW entry in each port
Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as
deprecated.

Approved by:		portmgr (tcberner)
2022-09-07 23:10:59 +02:00

170 lines
5 KiB
Makefile

PORTNAME= boinc-client
PORTVERSION= 7.20.2
PORTREVISION= 2
DISTVERSIONPREFIX= client_release/7.20/
CATEGORIES= net
MAINTAINER= ler@FreeBSD.org
COMMENT= Berkeley Open Infrastructure for Network Computing client
WWW= https://boinc.berkeley.edu/
LICENSE= LGPL3
USES= autoreconf compiler:c++11-lang dos2unix gettext gmake libtool \
pkgconfig ssl tar:xz
INSTALL_TARGET= install-strip
GNU_CONFIGURE= yes
USE_GITHUB= yes
GH_ACCOUNT= BOINC
GH_PROJECT= boinc
USE_LDCONFIG= yes
DOS2UNIX_GLOB= *.xpm
USERS= boinc
GROUPS= boinc
BOINC_CLIENT_USER?= boinc
BOINC_CLIENT_GROUP?= boinc
BOINC_CLIENT_HOME?= /var/db/boinc
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}"
CONFIGURE_ARGS= --disable-server
CONFIGURE_ENV= OBJCXX="${CXX}"
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib -lexecinfo
OPTIONS_DEFINE= CLIENT LINUX MANAGER NLS SKINS USER X11
OPTIONS_DEFAULT= CLIENT MANAGER USER X11
OPTIONS_GROUP= SCRIPT
OPTIONS_GROUP_SCRIPT= NO_GUI_RPC NO_NET_INFO
CLIENT_DESC= BOINC Build client
MANAGER_DESC= BOINC Build GUI manager
X11_DESC= API Build graphics
LINUX_DESC= Accept applications Linux science
USER_DESC= and BOINC client Create/check directory user
SKINS_DESC= BOINC for Install manager more skins
SCRIPT_DESC= Command in line options script
NO_GUI_RPC_DESC= (breaks and boinc_curses) Disable GUI RPC socket
NO_NET_INFO_DESC= address and Do host name not send servers to
OPTIONS_SUB= yes
MANAGER_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libnotify.so:devel/libnotify \
libsqlite3.so:databases/sqlite3 \
libxcb-util.so:x11/xcb-util
MANAGER_CONFIGURE_ON= --with-sqlite3-prefix=${LOCALBASE}
MANAGER_CONFIGURE_OFF= --with-wx-config=false \
--without-x
MANAGER_CONFIGURE_ENABLE= manager
MANAGER_USES= gnome iconv
MANAGER_USE= GNOME=cairo,gdkpixbuf2,glib20,gtk20,pango \
WX=3.0 \
XORG=x11,xcb,xext,xscrnsaver
CLIENT_CONFIGURE_ENABLE= client
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
LINUX_CONFIGURE_ON= --with-boinc-alt-platform=i686-pc-linux-gnu
LINUX_USES= linux
X11_USES= gl jpeg xorg
X11_USE= GL=glut \
XORG=x11,xi,xmu,xscrnsaver
X11_CONFIGURE_OFF= --without-x \
ax_cv_check_glut_libglut=no
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MMANAGER}
WX_CONF_ARGS= absolute
SUB_LIST+= OPTION_MANAGER="true"
.else
SUB_LIST+= OPTION_MANAGER=""
CONFIGURE_ARGS+= --disable-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|@PREFIX@|${PREFIX}|' \
${WRKSRC}/client/hostinfo_unix.cpp
@${REINPLACE_CMD} -e 's|client/scripts||' \
${WRKSRC}/Makefile.am
# avoid build conflict with archivers/libzip
@${MV} ${WRKSRC}/zip/unzip/zip.h \
${WRKSRC}/zip/unzip/boinczip.h
@${MV} ${WRKSRC}/zip/zip/zip.h \
${WRKSRC}/zip/zip/boinczip.h
@${REINPLACE_CMD} -e 's|zip/zip.h|zip/boinczip.h|' \
${WRKSRC}/zip/boinc_zip.cpp
@${REINPLACE_CMD} -e 's|"zip.h"|"boinczip.h"|' \
${WRKSRC}/zip/unzip/crc32.c \
${WRKSRC}/zip/unzip/ttyio.c \
${WRKSRC}/zip/zip/deflate.c \
${WRKSRC}/zip/zip/trees.c \
${WRKSRC}/zip/zip/unix/z_unix.c \
${WRKSRC}/zip/zip/util.c \
${WRKSRC}/zip/zip/z_fileio.c \
${WRKSRC}/zip/zip/z_globals.c \
${WRKSRC}/zip/zip/zip.c \
${WRKSRC}/zip/zip/zipfile.c \
${WRKSRC}/zip/zip/zipup.c
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 name in 16 32 48
${INSTALL_DATA} ${WRKSRC}/packages/generic/sea/boincmgr.${name}x${name}.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 <bsd.port.mk>