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