blob: 5bd0665822090bd1a57d316ca0f516960536e98c (
plain)
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
|
PORTNAME= telegram-desktop
DISTVERSION= 4.1.1
PORTREVISION= 2
CATEGORIES= net-im
MASTER_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/releases/download/v${DISTVERSION}/
DISTNAME= tdesktop-${DISTVERSION}-full
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= osa@FreeBSD.org
COMMENT= Telegram Desktop messaging app
WWW= https://desktop.telegram.org/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
BROKEN_i386= does not build, webrtc related
NOT_FOR_ARCHS= powerpc powerpc64 powerpcspe
NOT_FOR_ARCHS_REASON= Only little endian is supported
BUILD_DEPENDS= alsa-lib>0:audio/alsa-lib \
microsoft-gsl>0:devel/microsoft-gsl \
pulseaudio>0:audio/pulseaudio \
range-v3>0:devel/range-v3 \
tl-expected>0:devel/tl-expected \
v4l_compat>0:multimedia/v4l_compat \
yasm:devel/yasm \
${LOCALBASE}/lib/libtg_owt.a:net-im/tg_owt
LIB_DEPENDS= libabsl_base.so:devel/abseil \
libavformat.so:multimedia/ffmpeg \
libdbus-1.so:devel/dbus \
libenchant-2.so:textproc/enchant2 \
libjpeg.so:graphics/jpeg-turbo \
liblz4.so:archivers/liblz4 \
libopenal.so:audio/openal-soft \
libopenh264.so:multimedia/openh264 \
libopus.so:audio/opus \
libpipewire-0.3.so:multimedia/pipewire \
libqrcodegencpp.so:graphics/qr-code-generator \
librnnoise.so:audio/rnnoise \
libxcb-keysyms.so:x11/xcb-util-keysyms \
libxkbcommon.so:x11/libxkbcommon \
libxxhash.so:devel/xxhash \
libvpx.so:multimedia/libvpx
FLAVORS= qt5 qt6
FLAVOR?= ${FLAVORS:[1]}
qt5_PKGNAMESUFFIX=
qt6_PKGNAMESUFFIX= -qt6
qt5_CONFLICTS_INSTALL= ${PORTNAME}-qt6
qt6_CONFLICTS_INSTALL= ${PORTNAME}
USES= cmake compiler:c++17-lang desktop-file-utils gl \
gnome pkgconfig python:3.7+,build ssl xorg
USE_GITHUB= nodefault
GH_ACCOUNT= telegramdesktop
GH_PROJECT= tdesktop
.if ${FLAVOR} == qt5
USES+= qt:5
USE_QT= buildtools_build core dbus gui imageformats network qmake_build \
svg wayland widgets
.else
USES+= qt:6
USE_QT= 5compat base imageformats svg wayland
.endif
USE_GL= gl
USE_GNOME= glib20 glibmm
USE_XORG= x11 xcb xcomposite xdamage xext xfixes xrandr xrender xtst
CMAKE_ARGS= -DDESKTOP_APP_SPECIAL_TARGET="" -DTDESKTOP_LAUNCHER_BASENAME="telegramdesktop" \
-DTDESKTOP_API_ID=${TELEGRAM_API_ID} -DTDESKTOP_API_HASH=${TELEGRAM_API_HASH} \
-Ddisable_autoupdate=1
CMAKE_ON= DESKTOP_APP_USE_PACKAGED DESKTOP_APP_DISABLE_CRASH_REPORTS \
DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION
CMAKE_OFF= DESKTOP_APP_USE_PACKAGED_FONTS
# Disable DCHECKs, otherwise video calls will crash.
CXXFLAGS+= -DNDEBUG
# see Bugzilla #245452 for details
NO_CCACHE= yes
# Telegram uses OpenAL for its audio, but libtgvoip (for voice calls) can use PulseAudio or ALSA.
# It dynamically loads PulseAudio, and if this fails, it loads ALSA.
# If both of them are not installed, then voice calls do not work, but other functionalities still work.
OPTIONS_DEFINE= WEBKIT
OPTIONS_DEFAULT= ALSA
OPTIONS_MULTI= AUDIO
OPTIONS_MULTI_AUDIO= ALSA PULSEAUDIO
AUDIO_DESC= Audio backend for voice calls
WEBKIT_DESC= WebKit-gtk integration for payments
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
WEBKIT_CMAKE_BOOL_OFF= DESKTOP_APP_DISABLE_WEBKITGTK
WEBKIT_LIB_DEPENDS= libwebkit2gtk-4.0.so:www/webkit2-gtk3
WEBKIT_USE= GNOME=cairo,gtk30
# Telegram asks each custom build to have its own API ID and hash.
TELEGRAM_API_HASH= 20a3432aab43f24bb4460fceac5ba38d
TELEGRAM_API_ID= 601761
.include <bsd.port.pre.mk>
.if ${COMPILER_VERSION} < 130
LLVM_VER= 13
BUILD_DEPENDS+= clang${LLVM_VER}:devel/llvm${LLVM_VER}
CC= ${LOCALBASE}/bin/clang${LLVM_VER}
CXX= ${LOCALBASE}/bin/clang++${LLVM_VER}
.endif
.include <bsd.port.post.mk>
|