aboutsummaryrefslogtreecommitdiff
path: root/deskutils/syncthingtray/Makefile
blob: 42f32885e2c21e18c80aa6804cf9662eb111005e (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
119
120
121
122
123
124
PORTNAME=	syncthingtray
DISTVERSIONPREFIX=	v
DISTVERSION=	2.0.4
CATEGORIES=	deskutils

MAINTAINER=	dsh@bamus.cz
COMMENT=	Qt ${FLAVOR:S/qt//}-based Syncthing tray application
WWW=		https://martchus.github.io/syncthingtray/

LICENSE=	GPLv2
LICENSE_FILE=	${WRKDIR}/syncthingtray/LICENSE

BUILD_DEPENDS=	p5-YAML-LibYAML>0:textproc/p5-YAML-LibYAML
LIB_DEPENDS=	libboost_iostreams.so:devel/boost-libs

FLAVORS=	qt6 qt5
FLAVOR?=	${FLAVORS:[1]}
FLAVORS_SUB=	yes

qt5_PKGNAMESUFFIX=	-qt5

USES=		cmake:insource iconv perl5 xorg

USE_GITHUB=	nodefault
GH_ACCOUNT=	Martchus
GH_TUPLE:=	${GH_ACCOUNT}:${PORTNAME}:${DISTVERSIONPREFIX}${DISTVERSION}:${PORTNAME}/../${PORTNAME} \
		${GH_ACCOUNT}:cpp-utilities:v5.32.0:cpputilities/../c++utilities \
		${GH_ACCOUNT}:qtutilities:v6.18.4:qtutilities/../qtutilities \
		${GH_ACCOUNT}:qtforkawesome:v0.3.2:qtforkawesome/../qtforkawesome \
		ForkAwesome:Fork-Awesome:4fef70f:ForkAwesome/../forkawesome \
		${GH_ACCOUNT}:subdirs:95d599d:subdirs/../subdirs

USE_PERL5=	build
USE_QT=		declarative svg
USE_XORG=	x11

CMAKE_ARGS=	-DFORK_AWESOME_FONT_FILE=${WRKDIR}/forkawesome/fonts/forkawesome-webfont.ttf \
		-DFORK_AWESOME_ICON_DEFINITIONS=${WRKDIR}/forkawesome/src/icons/icons.yml
CMAKE_ON=	NO_DOXYGEN
CMAKE_OFF=	SYSTEMD_SUPPORT USE_STANDARD_FILESYSTEM
CMAKE_SOURCE_PATH=	${WRKDIR}/subdirs/syncthingtray

.if ${FLAVOR} == qt5
USES+=		qt:5
USE_QT+=	concurrent core dbus gui location network qdbus \
		quickcontrols2:build widgets x11extras:build buildtools:build \
		linguist:build qmake:build testlib:build
.else
CMAKE_ARGS+=	-DQT_PACKAGE_PREFIX:STRING=Qt6 -DKF_PACKAGE_PREFIX:STRING=KF6
USES+=		gl qt:6
USE_GL=		opengl
USE_QT+=	base positioning tools:build
.endif

CONFLICTS_INSTALL=	${PORTNAME} ${PORTNAME}-*

BUILD_WRKSRC=		${WRKDIR}
CONFIGURE_WRKSRC=	${WRKDIR}
INSTALL_WRKSRC=		${WRKDIR}
PATCH_WRKSRC=		${WRKDIR}

OPTIONS_DEFINE=		PLASMA WEBENGINE
OPTIONS_DEFAULT=	PLASMA WEBENGINE
OPTIONS_SUB=	yes

PLASMA_DESC=	Plasma integration (KF dependency)
WEBENGINE_DESC=		Built-in web view (webengine dependency)

PLASMA_USE=	KDE=ecm:build
PLASMA_CMAKE_BOOL_OFF=	NO_FILE_ITEM_ACTION_PLUGIN NO_PLASMOID

.if ${FLAVOR} == qt5
PLASMA_USES=	kde:5
PLASMA_USE+=	KDE=plasma-framework:build
WEBENGINE_USE=	QT=printsupport,webchannel,webengine
.else
PLASMA_USES=	kde:6
PLASMA_USE+=	KDE=libplasma:build
WEBENGINE_USE=	QT=webchannel,webengine
.endif

WEBENGINE_CMAKE_ON=	-DWEBVIEW_PROVIDER:STRING=webengine
WEBENGINE_CMAKE_OFF=	-DWEBVIEW_PROVIDER:STRING=none

post-install:
	${RM} -r \
		${STAGEDIR}${PREFIX}/include/c++utilities \
		${STAGEDIR}${PREFIX}/include/qtforkawesome \
		${STAGEDIR}${PREFIX}/include/qtquickforkawesome \
		${STAGEDIR}${PREFIX}/include/qtutilities \
		${STAGEDIR}${PREFIX}/include/syncthingconnector \
		${STAGEDIR}${PREFIX}/include/syncthingmodel \
		${STAGEDIR}${PREFIX}/include/syncthingwidgets \
		${STAGEDIR}${PREFIX}/lib/libc++utilities.a \
		${STAGEDIR}${PREFIX}/lib/libqtforkawesome.a \
		${STAGEDIR}${PREFIX}/lib/libqtquickforkawesome.a \
		${STAGEDIR}${PREFIX}/lib/libqtutilities.a \
		${STAGEDIR}${PREFIX}/lib/libsyncthingconnector.a \
		${STAGEDIR}${PREFIX}/lib/libsyncthingmodel.a \
		${STAGEDIR}${PREFIX}/lib/libsyncthingwidgets.a \
		${STAGEDIR}${PREFIX}/libdata/pkgconfig/c++utilities.pc \
		${STAGEDIR}${PREFIX}/libdata/pkgconfig/qtforkawesome.pc \
		${STAGEDIR}${PREFIX}/libdata/pkgconfig/qtforkawesomeiconengine.pc \
		${STAGEDIR}${PREFIX}/libdata/pkgconfig/qtquickforkawesome.pc \
		${STAGEDIR}${PREFIX}/libdata/pkgconfig/qtutilities.pc \
		${STAGEDIR}${PREFIX}/libdata/pkgconfig/syncthingconnector.pc \
		${STAGEDIR}${PREFIX}/libdata/pkgconfig/syncthingfileitemaction.pc \
		${STAGEDIR}${PREFIX}/libdata/pkgconfig/syncthingmodel.pc \
		${STAGEDIR}${PREFIX}/libdata/pkgconfig/syncthingplasmoid.pc \
		${STAGEDIR}${PREFIX}/libdata/pkgconfig/syncthingwidgets.pc \
		${STAGEDIR}${PREFIX}/share/c++utilities \
		${STAGEDIR}${PREFIX}/share/qtforkawesome \
		${STAGEDIR}${PREFIX}/share/qtforkawesomeiconengine \
		${STAGEDIR}${PREFIX}/share/qtquickforkawesome \
		${STAGEDIR}${PREFIX}/share/qtutilities \
		${STAGEDIR}${PREFIX}/share/syncthingconnector/cmake \
		${STAGEDIR}${PREFIX}/share/syncthingfileitemaction/cmake \
		${STAGEDIR}${PREFIX}/share/syncthingmodel/cmake \
		${STAGEDIR}${PREFIX}/share/syncthingplasmoid/cmake \
		${STAGEDIR}${PREFIX}/share/syncthingwidgets/cmake \
		${STAGEDIR}${QT_PLUGINDIR} \
		${STAGEDIR}${QT_LIBDIR}

.include <bsd.port.mk>