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

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Fri, 31 Jan 2025 23:02:57 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=209307e6d5bc4b3a48a5e7d7447378f2fa786aec

commit 209307e6d5bc4b3a48a5e7d7447378f2fa786aec
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2025-01-31 22:56:46 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-01-31 23:02:45 +0000

    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)
---
 net/boinc-client/Makefile               | 58 ++++++++++++++++++---------------
 net/boinc-client/files/pkg-deinstall.in | 12 ++++---
 net/boinc-client/pkg-plist              |  6 ++--
 3 files changed, 43 insertions(+), 33 deletions(-)

diff --git a/net/boinc-client/Makefile b/net/boinc-client/Makefile
index 1b4de7bf5d7a..8f2e1f429e09 100644
--- a/net/boinc-client/Makefile
+++ b/net/boinc-client/Makefile
@@ -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}
diff --git a/net/boinc-client/files/pkg-deinstall.in b/net/boinc-client/files/pkg-deinstall.in
index 3ec7676ec922..749067ab74ba 100644
--- a/net/boinc-client/files/pkg-deinstall.in
+++ b/net/boinc-client/files/pkg-deinstall.in
@@ -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
diff --git a/net/boinc-client/pkg-plist b/net/boinc-client/pkg-plist
index b17ab19d1698..d933c1015dd1 100644
--- a/net/boinc-client/pkg-plist
+++ b/net/boinc-client/pkg-plist
@@ -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