On Sun, 13 Sep 2026 16:39:10 +0200
Kirill A. Korinsky <[email protected]> wrote:

> On Sun, 13 Sep 2026 13:09:36 +0200,
> Nazarenko Mykyta <[email protected]> wrote:
> > 
> > On Sat, 12 Sep 2026 23:34:30 +0200
> > Kirill A. Korinsky <[email protected]> wrote:
> >   
> > > On Sat, 12 Sep 2026 22:08:59 +0200,
> > > Nazarenko Mykyta <[email protected]> wrote:  
> > > > 
> > > > [1  <text/plain; UTF-8 (quoted-printable)>]
> > > > On Sat, 12 Sep 2026 12:15:11 +0000
> > > > Klemens Nanni <[email protected]> wrote:
> > > >     
> > > > > 12.09.2026 01:42, Nazarenko Mykyta пишет:    
> > > > > > Hola ports@, kirill@, kn@.
> > > > > > 
> > > > > > 64Gram has been updated to version 1.2.8, synchronized with 
> > > > > > tdesktop 7.1.3.
> > > > > > 
> > > > > > Here is the updated port that I suggest importing.
> > > > > > 
> > > > > > Compared to the original tdesktop, 64Gram provides additional
> > > > > > security and privacy controls, including screenshot mode and
> > > > > > the ability to disable cloud synchronization of message drafts.
> > > > > > 
> > > > > > It also exposes user IDs for consistent account identification 
> > > > > > across
> > > > > > username or avatar changes, and supports exporting messages in
> > > > > > JSON format.
> > > > > > 
> > > > > > The full list of additional features is documented here :
> > > > > > https://github.com/TDesktop-x64/tdesktop/blob/dev/features.md      
> > > > > 
> > > > > I'm not very keen another heavy telegram desktop port that will want
> > > > > frequent commits, syncing with net/tdesktop and testing...
> > > > > 
> > > > > But that'd be the maintainer's job not mine and we also have a bunch
> > > > > of similar chrom* flavoured ports, so If others deem 64gram useful,
> > > > > I don't object.
> > > > > 
> > > > > 
> > > > > Port-wise this looks fine with the following diff to
> > > > > a) drop unused gsl dep
> > > > > b) reduce diff with tdesktop
> > > > > c) usual style (empty lines between targets and most variables)    
> > > > > > 
> > > > > > Thanks :)
> > > > > > 
> > > > > > With best regards,
> > > > > > Nazarenko Mykyta      
> > > > > 
> > > > > diff --git a/net/64gram/Makefile b/net/64gram/Makefile
> > > > > index 4de2eeb8d..e443c7d78 100644
> > > > > --- a/net/64gram/Makefile
> > > > > +++ b/net/64gram/Makefile
> > > > > @@ -52,7 +52,6 @@ BUILD_DEPENDS =             devel/boost,-main \
> > > > >                       devel/crc32c \
> > > > >                       devel/fmt \
> > > > >                       devel/gobject-introspection \
> > > > > -                     devel/microsoft-gsl \
> > > > >                       devel/range-v3>=0.11.0p0 \
> > > > >                       devel/tl-expected \
> > > > >                       net/tdlib/tde2e \
> > > > > @@ -86,11 +85,13 @@ RUN_DEPENDS =             
> > > > > devel/desktop-file-utils \
> > > > >  
> > > > >  # opt-out since 5.15, requires more bundled stuff like fcitx5-qt, 
> > > > > hime, nimf
> > > > >  CONFIGURE_ARGS +=    -DDESKTOP_APP_DISABLE_QT_PLUGINS=ON
> > > > > +
> > > > >  # Follow suit with most other distribution packages, i.e. use the 
> > > > > token from
> > > > >  # Telegram's official Snap package
> > > > >  # https://github.com/telegramdesktop/tdesktop/issues/17435
> > > > >  CONFIGURE_ARGS +=    -DTDESKTOP_API_ID=611335 \
> > > > >                       
> > > > > -DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c
> > > > > +
> > > > >  # Since cmake 3.25.1, BSDs are no longer recognised as Linux (in 
> > > > > this port).
> > > > >  # Upstream should probably become BSD aware, but until that happens,
> > > > >  # pretend we're Linux to keep building...
> > > > > @@ -100,6 +101,7 @@ NO_TEST =         Yes
> > > > >  
> > > > >  # unported and required
> > > > >  NEEDED_BUNDLES =     cld3 libprisma rlottie tgcalls MicroTeX 
> > > > > cmark-gfm
> > > > > +
> > > > >  # ported but CMake code hardcodes bundled file paths
> > > > >  NEEDED_BUNDLES +=    xdg-desktop-portal
> > > > >  
> > > > > @@ -111,9 +113,10 @@ post-extract:
> > > > >       # All bundles:
> > > > >       @cd ${WRKSRC}/Telegram/ThirdParty/ && ls -x
> > > > >       # Needed bundles (others are removed to prevent accidential 
> > > > > use):
> > > > > -     @cd ${WRKSRC}/Telegram/ThirdParty/ && mkdir -p .need/ && \
> > > > > +     @cd ${WRKSRC}/Telegram/ThirdParty/ && mkdir .need/ && \
> > > > >               mv ${NEEDED_BUNDLES} .need/ && rm -fr -- ./* && \
> > > > >               mv .need/* . && rmdir .need/ && ls -x
> > > > > +
> > > > >  post-patch:
> > > > >       # XXX fix the following on every source file
> > > > >       # warning: unknown warning option '-Wno-maybe-uninitialized'
> > > > > @@ -126,6 +129,7 @@ post-patch:
> > > > >  # placed in cppgir.ignore
> > > > >  pre-configure:
> > > > >       ${INSTALL_SCRIPT} ${FILESDIR}/cppgir_clean.sh ${WRKSRC}
> > > > > +
> > > > >  # reduce binary size fromm +660M to ~250M
> > > > >  do-install:
> > > > >       ${MODCMAKE_INSTALL_TARGET} --strip
> > > > >     
> > > > 
> > > > Thanks kn@.
> > > > 
> > > > New tarball attached with applied diff.
> > > >     
> > > 
> > > I potentially interested in this port.
> > > 
> > > So far I see ony one remaning question.
> > > 
> > > Let assume that tomorrow new release tdesktop and 64gram is here, and it
> > > needs new tdlib and tde2e.
> > > 
> > > Am I right that it somehow compatible and it can be updated?
> > > 
> > > Or one of ports ends with broken state on update and it should be updated 
> > > at
> > > the same time?
> > > 
> > > If yes, that happens with time which 64gram team need to sync with their 
> > > upstream?
> > >   
> > 
> > I don't think anything will break, since in the ports-tree, tdlib isn't
> > updated often enough for the ABI/API to break, 64gram doesn't catch up
> > with tdesktop quite as quickly, but compatibility with the versions of
> > the libraries used by tdesktop is ensured.
> >  
> 
> I had tried a build in clean chroot, it fails as:
> 
> In file included from 
> /usr/ports/pobj/64gram-1.2.8/64Gram-1.2.8-full/Telegram/SourceFiles/webauthn/cable_scanner_linux.cpp:17:
> In file included from 
> /usr/ports/pobj/64gram-1.2.8/build-amd64/gen/bluez/bluez.hpp:9:
> In file included from 
> /usr/ports/pobj/64gram-1.2.8/build-amd64/gen/gio/gio.hpp:9:
> In file included from 
> /usr/ports/pobj/64gram-1.2.8/build-amd64/gen/glib/glib.hpp:34:
> /usr/ports/pobj/64gram-1.2.8/build-amd64/gen/glib/_constants.hpp:26:46: 
> error: use of undeclared identifier 'G_C_STD_VERSION'; did you mean 
> 'C_STD_VERSION_'?
>    26 | GI_MODULE_INLINE const gint C_STD_VERSION_ = G_C_STD_VERSION;
>       |                                              ^~~~~~~~~~~~~~~
> /usr/ports/pobj/64gram-1.2.8/build-amd64/gen/glib/_constants.hpp:26:29: note: 
> 'C_STD_VERSION_' declared here
>    26 | GI_MODULE_INLINE const gint C_STD_VERSION_ = G_C_STD_VERSION;
>       |                             ^
> /usr/ports/pobj/64gram-1.2.8/build-amd64/gen/glib/_constants.hpp:148:30: 
> error: cannot initialize a variable of type 'const gchar' (aka 'const char') 
> with an
>  rvalue of type 'gchar *' (aka 'char *')
>   148 | GI_MODULE_INLINE const gchar LOG_DOMAIN_ = G_LOG_DOMAIN;
>       |                              ^             ~~~~~~~~~~~~
> 
> whole build log attach.
> 

Oops. Some minor issues were found, and it seems cppgir_clean.sh caused
a race condition. I removed it and instead patched the generator of
cppgir so that it skips the problematic wrappers; other stuff that can
be skipped using cppgir.ignore was moved to files/cppgir_extra_ignore.

Thanks kirill@! New tarball attached.

With best regards,
Nazarenko Mykyta

Attachment: 64gram-1.2.8.tar.gz
Description: application/gzip

Reply via email to