git: 74b7e3ece514 - main - x11/xsnow: update to 3.8.4 pre01 (+)
Date: Mon, 27 Jan 2025 18:30:03 UTC
The branch main has been updated by fluffy:
URL: https://cgit.FreeBSD.org/ports/commit/?id=74b7e3ece5145165ae8d96af8ba42857e2a86004
commit 74b7e3ece5145165ae8d96af8ba42857e2a86004
Author: Dima Panov <fluffy@FreeBSD.org>
AuthorDate: 2025-01-27 12:08:53 +0000
Commit: Dima Panov <fluffy@FreeBSD.org>
CommitDate: 2025-01-27 18:29:43 +0000
x11/xsnow: update to 3.8.4 pre01 (+)
Changelog: https://www.ratrabbit.nl/ratrabbit/xsnow/changelog/index.html
---
x11/xsnow/Makefile | 160 ++++++++++++++++++++++++++++++++++++++++++++---------
x11/xsnow/distinfo | 6 +-
2 files changed, 138 insertions(+), 28 deletions(-)
diff --git a/x11/xsnow/Makefile b/x11/xsnow/Makefile
index 7b60f6faaa21..587ec3c69f86 100644
--- a/x11/xsnow/Makefile
+++ b/x11/xsnow/Makefile
@@ -1,35 +1,145 @@
-PORTNAME= xsnow
-PORTVERSION= 3.7.9
-CATEGORIES= x11
-MASTER_SITES= https://ratrabbit.nl/downloads/xsnow/ \
- SF/${PORTNAME}/
+PORTNAME= telegram-desktop
+DISTVERSION= 5.10.6
+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= fluffy@FreeBSD.org
-COMMENT= Create a snowy and Santa-y desktop
-WWW= https://www.ratrabbit.nl/ratrabbit/xsnow/
+MAINTAINER= ports@FreeBSD.org
+COMMENT= Telegram Desktop messaging app
+WWW= https://desktop.telegram.org/
LICENSE= GPLv3
-LICENSE_FILE= ${WRKSRC}/COPYING
+LICENSE_FILE= ${WRKSRC}/LICENSE
-LIB_DEPENDS= libgsl.so:math/gsl \
- libxkbcommon.so:x11/libxkbcommon
+BROKEN_i386= does not build, webrtc related
+#BROKEN_SSL= openssl openssl31
+#BROKEN_SSL_REASON= undefined symbol: ERR_load_BIO_strings
+NOT_FOR_ARCHS= powerpc powerpc64 powerpcspe
+NOT_FOR_ARCHS_REASON= Only little endian is supported
-USES= compiler:c11 gmake gnome pkgconfig xorg
-USE_GNOME= cairo gdkpixbuf2 glib20 gtk30 libxml2
-USE_XORG= x11 xext xinerama xpm xt xtst xorgproto
-GNU_CONFIGURE= yes
-GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
+BUILD_DEPENDS= boost-libs>0:devel/boost-libs \
+ microsoft-gsl>0:devel/microsoft-gsl \
+ 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 \
+ libada.so:devel/libada \
+ libavformat.so:multimedia/ffmpeg \
+ libcrc32c.so:devel/crc32c \
+ libdbus-1.so:devel/dbus \
+ libdispatch.so:devel/libdispatch \
+ libfmt.so:devel/libfmt \
+ libhunspell-1.7.so:textproc/hunspell \
+ liblz4.so:archivers/liblz4 \
+ libopenh264.so:multimedia/openh264 \
+ libopus.so:audio/opus \
+ libpipewire-0.3.so:multimedia/pipewire \
+ libprotobuf-lite.so:devel/protobuf \
+ libqrcodegencpp.so:graphics/qr-code-generator \
+ librnnoise.so:audio/rnnoise \
+ libsrtp2.so:net/libsrtp2 \
+ libxxhash.so:devel/xxhash \
+ libvpx.so:multimedia/libvpx
-OPTIONS_DEFINE= NLS
-OPTIONS_DEFAULT= NLS
-OPTIONS_SUB= yes
+USES= cmake compiler:c++20-lang desktop-file-utils gl gnome jpeg kde:6 localbase \
+ minizip openal pkgconfig python:build qt:6 ssl
-NLS_USES= gettext-tools
-NLS_CONFIGURE_ENABLE= nls
+USE_GITHUB= nodefault
+GH_ACCOUNT= telegramdesktop
+GH_PROJECT= tdesktop
+
+USE_QT= 5compat base declarative imageformats lottie shadertools svg tools:build
+USE_KDE= coreaddons kimageformats
+
+USE_GL= gl
+USE_GNOME= glib20 glibmm26 introspection
+
+CMAKE_ARGS= -DTDESKTOP_API_ID=${TELEGRAM_API_ID} -DTDESKTOP_API_HASH=${TELEGRAM_API_HASH} \
+ -DQT_VERSION_MAJOR=6
+CMAKE_ON= DESKTOP_APP_USE_PACKAGED DESKTOP_APP_DISABLE_CRASH_REPORTS \
+ DESKTOP_APP_DISABLE_JEMALLOC \
+ DESKTOP_APP_DISABLE_SCUDO
+
+# Since cmake 3.25.0, BSDs are no longer recognised as Linux (in this port).
+CMAKE_ARGS+= -DLINUX=true
+
+# libdispatch components
+LDFLAGS+= -lBlocksRuntime
+
+# 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= SYSTEM_FONTS
+OPTIONS_DEFAULT= ALSA X11 WAYLAND
+OPTIONS_GROUP= AUDIO
+OPTIONS_MULTI= DESKTOP
+OPTIONS_GROUP_AUDIO= ALSA PULSEAUDIO
+OPTIONS_MULTI_DESKTOP= X11 WAYLAND
+
+AUDIO_DESC= Audio backend for voice calls
+DESKTOP_DESC= Desktop integration
+SYSTEM_FONTS_DESC= Use system fonts instead of bundled patched ones
+
+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+ALSA_CMAKE_BOOL_OFF= LIBTGVOIP_DISABLE_ALSA
+PULSEAUDIO_CMAKE_BOOL_OFF= LIBTGVOIP_DISABLE_PULSEAUDIO
+SYSTEM_FONTS_CMAKE_BOOL_OFF= DESKTOP_APP_USE_PACKAGED_FONTS
+WAYLAND_CMAKE_BOOL_OFF= DESKTOP_APP_DISABLE_WAYLAND_INTEGRATION
+WAYLAND_USE= qt=wayland
+X11_CMAKE_BOOL_OFF= DESKTOP_APP_DISABLE_X11_INTEGRATION
+X11_USES= xorg
+X11_USE= xorg=x11,xcb,xcomposite,xdamage,xext,xfixes,xrandr,xrender,xtst
+X11_LIB_DEPENDS= libxcb-keysyms.so:x11/xcb-util-keysyms \
+ libxkbcommon.so:x11/libxkbcommon
+
+# 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> # for COMPILER_VERSION
+
+.if ${OPSYS} == FreeBSD && defined(WITH_CCACHE_BUILD) && !defined(NO_CCACHE)
+CMAKE_ARGS+= -DCMAKE_CC_COMPILER_LAUNCHER="${LOCALBASE}/bin/ccache" \
+ -DCMAKE_CPP_COMPILER_LAUNCHER="${LOCALBASE}/bin/ccache" \
+ -DCMAKE_CXX_COMPILER_LAUNCHER="${LOCALBASE}/bin/ccache"
+.endif
+
+.if ${OPSYS} == FreeBSD && ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} < 190
+EXTRA_PATCHES= ${PATCHDIR}/extrapatch-Telegram_lib__base_base_qt_qt__compare.h
+.endif
+
+post-extract:
+ # Some of the third-party components already built, and
+ # can be safely removed
+ ${RM} -rf \
+ ${WRKSRC}/Telegram/ThirdParty/GSL \
+ ${WRKSRC}/Telegram/ThirdParty/QR \
+ ${WRKSRC}/Telegram/ThirdParty/dispatch \
+ ${WRKSRC}/Telegram/ThirdParty/expected \
+ ${WRKSRC}/Telegram/ThirdParty/fcitx5-qt \
+ ${WRKSRC}/Telegram/ThirdParty/hime \
+ ${WRKSRC}/Telegram/ThirdParty/hunspell \
+ ${WRKSRC}/Telegram/ThirdParty/jemalloc \
+ ${WRKSRC}/Telegram/ThirdParty/jimf \
+ ${WRKSRC}/Telegram/ThirdParty/kcoreaddons \
+ ${WRKSRC}/Telegram/ThirdParty/kimageformats \
+ ${WRKSRC}/Telegram/ThirdParty/lz4 \
+ ${WRKSRC}/Telegram/ThirdParty/minizip \
+ ${WRKSRC}/Telegram/ThirdParty/plasma-wayland-protocols \
+ ${WRKSRC}/Telegram/ThirdParty/range-v3 \
+ ${WRKSRC}/Telegram/ThirdParty/wayland \
+ ${WRKSRC}/Telegram/ThirdParty/wayland-protocols \
+ ${WRKSRC}/Telegram/ThirdParty/xxHash
post-patch:
- @${REINPLACE_CMD} \
- -e 's,/games,/bin,g' \
- ${WRKSRC}/src/Makefile.in
+ # XXX fix the following on every source file
+ # warning: unknown warning option '-Wno-maybe-uninitialized'
+ # warning: argument unused during compilation: '-fstack-clash-protection'
+ ${REINPLACE_CMD} -e /-Wno-maybe-uninitialized/d -e /-fstack-clash-protection/d \
+ ${WRKSRC}/cmake/options_linux.cmake
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/x11/xsnow/distinfo b/x11/xsnow/distinfo
index 399f445ca846..129ac1ef7ad9 100644
--- a/x11/xsnow/distinfo
+++ b/x11/xsnow/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1722509895
-SHA256 (xsnow-3.7.9.tar.gz) = 0c4cd06e551f9b691dd08db5b14c0edc45549bf5879ce93b4fa88c828dfe1006
-SIZE (xsnow-3.7.9.tar.gz) = 1409749
+TIMESTAMP = 1737958854
+SHA256 (tdesktop-5.10.6-full.tar.gz) = 4429e4e5ee538432b10c920b8b920b0e7a8f13cb47cea997d187fb4ef4ae8d2b
+SIZE (tdesktop-5.10.6-full.tar.gz) = 72571646