net/boinc-client: configure alternate platform according to ${ARCH}, fix options

Improve port:
- fix options - dependencies, plist, configure options;
- fix check for symlinks in pkg-deinstall;
- fix warnings from portclippy;
- configure alternate platform according to ${ARCH} for option LINUX
(patch from Älven <alster@vinterdalen.se>).

PR:		272727
Approved by:	ler (maintainer, timeout > 7 months)
This commit is contained in:
Vladimir Druzenko 2025-02-01 01:56:46 +03:00
parent c580801b31
commit 209307e6d5
3 changed files with 43 additions and 33 deletions

View File

@ -1,7 +1,7 @@
PORTNAME= boinc-client
DISTVERSIONPREFIX= client_release/8.0/
DISTVERSION= 8.0.2
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= net
MAINTAINER= ler@FreeBSD.org
@ -10,8 +10,8 @@ WWW= https://boinc.berkeley.edu/
LICENSE= LGPL3
USES= autoreconf compiler:c++11-lang desktop-file-utils dos2unix \
gmake libtool pkgconfig ssl tar
USES= autoreconf compiler:c++11-lang dos2unix gmake libtool \
pkgconfig ssl tar
DOS2UNIX_GLOB= *.xpm
USE_GITHUB= yes
GH_ACCOUNT= BOINC
@ -37,14 +37,17 @@ SUB_LIST= BOINC_CLIENT_GROUP="${BOINC_CLIENT_GROUP}" \
USERS= boinc
GROUPS= boinc
OPTIONS_DEFINE= CLIENT LINUX MANAGER NLS SKINS USER X11
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
OPTIONS_SUB= yes
CLIENT_DESC= BOINC Build client
LINUX_DESC= Accept applications Linux science
LINUX_DESC= Accept science applications for GNU/Linux
MANAGER_DESC= BOINC Build GUI manager
NLS_DESC= Install language translations for use in the GUI
NO_GUI_RPC_DESC= (breaks and boinc_curses) Disable GUI RPC socket
@ -59,26 +62,30 @@ CLIENT_LIB_DEPENDS= libcurl.so:ftp/curl \
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= --with-boinc-alt-platform=x86_64-pc-linux-gnu
MANAGER_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libnotify.so:devel/libnotify \
libsqlite3.so:databases/sqlite3 \
libxcb-util.so:x11/xcb-util
MANAGER_USES= gnome iconv
MANAGER_USE= GNOME=cairo,gdkpixbuf2,glib20,pango \
WX=3.2+ \
XORG=x11,xcb,xext,xscrnsaver
MANAGER_CONFIGURE_ON= --with-sqlite3-prefix=${LOCALBASE}
MANAGER_CONFIGURE_OFF= --with-wx-config=false \
--without-x
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= libnotify.so:devel/libnotify \
libxcb-util.so:x11/xcb-util \
libfreetype.so:print/freetype2 \
libxkbcommon.so:x11/libxkbcommon
MANAGER_USES= desktop-file-utils gnome iconv xorg
MANAGER_USE= GNOME=atk,cairo,gdkpixbuf2,glib20,gtk30,pango \
WX=3.2+ XORG=x11,xcb,xext,xscrnsaver
MANAGER_CONFIGURE_ENABLE= manager
NLS_USES= gettext
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
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
@ -91,7 +98,6 @@ WX_CONF_ARGS= absolute
SUB_LIST+= OPTION_MANAGER="true"
.else
SUB_LIST+= OPTION_MANAGER=""
CONFIGURE_ARGS+= --disable-manager
.endif
.if ${PORT_OPTIONS:MCLIENT}

View File

@ -11,11 +11,15 @@ option_user=%%OPTION_USER%%
case $2 in
POST-DEINSTALL)
if [ -n "${option_user}" ] ; then
if [ -n "${option_manager}" -a -e "${home}/skins" -a `readlink "${home}/skins"` = "%%PREFIX%%/share/boinc/skins" ]; then
rm -f "${home}/skins"
if [ -n "${option_manager}" -a -L "${home}/skins" ]; then
if [ `readlink "${home}/skins"` = "%%PREFIX%%/share/boinc/skins" ]; then
rm -f "${home}/skins"
fi
fi
if [ -e "${home}/ca-bundle.crt" -a `readlink "${home}/ca-bundle.crt"` = "%%LOCALBASE%%/share/certs/ca-root-nss.crt" ]; then
rm -f "${home}/ca-bundle.crt"
if [ -L "${home}/ca-bundle.crt" ]; then
if [ `readlink "${home}/ca-bundle.crt"` = "%%LOCALBASE%%/share/certs/ca-root-nss.crt" ]; then
rm -f "${home}/ca-bundle.crt"
fi
fi
rmdir "${home}" >/dev/null 2>&1
fi

View File

@ -60,14 +60,14 @@ lib/libboinc_api.a
lib/libboinc_api.so
lib/libboinc_api.so.8
lib/libboinc_api.so.8.0.2
lib/libboinc_crypt.a
%%CLIENT%%lib/libboinc_crypt.a
lib/libboinc_opencl.a
lib/libboinc_opencl.so
lib/libboinc_opencl.so.8
lib/libboinc_opencl.so.8.0.2
libdata/pkgconfig/libboinc.pc
libdata/pkgconfig/libboinc_api.pc
libdata/pkgconfig/libboinc_crypt.pc
%%CLIENT%%libdata/pkgconfig/libboinc_crypt.pc
libdata/pkgconfig/libboinc_opencl.pc
%%X11%%lib/libboinc_graphics2.a
%%X11%%lib/libboinc_graphics2.so
@ -236,7 +236,7 @@ libdata/pkgconfig/libboinc_opencl.pc
%%MANAGER%%share/pixmaps/boincmgr.32x32.png
%%MANAGER%%share/pixmaps/boincmgr.48x48.png
%%X11%%libdata/pkgconfig/libboinc_graphics2.pc
%%X11%%share/applications/boinc.desktop
%%MANAGER%%%%X11%%share/applications/boinc.desktop
%%SKINS%%share/boinc/skins/Makefile
%%SKINS%%share/boinc/skins/Makefile.am
%%SKINS%%share/boinc/skins/Makefile.in