Kepka - free Telegram Desktop: сборка

Вопросы написания собственного программного кода (на любых языках)

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Kepka - free Telegram Desktop: сборка

Непрочитанное сообщение Olej » 30 сен 2019, 20:01

Проект здесь: Unofficial Telegram Desktop messaging app
This is the complete source code and the build instructions for the Kepka's alpha version based on the Telegram API and the MTProto secure protocol.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Kepka - freeTelegram Desktop: сборка

Непрочитанное сообщение Olej » 30 сен 2019, 20:05

Olej писал(а):
30 сен 2019, 20:01
Проект здесь: Unofficial Telegram Desktop messaging app

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/Telegram-Kepka$ git clone https://github.com/procxx/kepka.git
Клонирование в «kepka»…
remote: Enumerating objects: 40, done.
remote: Counting objects: 100% (40/40), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 56148 (delta 18), reused 21 (delta 11), pack-reused 56108
Получение объектов: 100% (56148/56148), 112.09 MiB | 3.22 MiB/s, готово.
Определение изменений: 100% (45879/45879), готово.
Проект собираю в:

Код: Выделить всё

olej@ACER:/$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 10 (buster)
Release:	10
Codename:	buster

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/Telegram-Kepka/kepka$ pwd
/home/olej/2019_WORK/own.WORK/Telegram-Kepka/kepka

olej@ACER:~/2019_WORK/own.WORK/Telegram-Kepka/kepka$ mkdir build

olej@ACER:~/2019_WORK/own.WORK/Telegram-Kepka/kepka/build$ pwd
/home/olej/2019_WORK/own.WORK/Telegram-Kepka/kepka/build

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Kepka - freeTelegram Desktop: сборка

Непрочитанное сообщение Olej » 30 сен 2019, 20:08

Olej писал(а):
30 сен 2019, 20:05
Проект собираю в:
Описание сборки - отвратительное!
Многое будет зависеть от дистрибутива:
- сборка делается Cmake;
- авторы сами используют компилятор Clang из LLVM;
- авторы собирают всё под WIndows ... а в Linux переносят потом за счёт переносимости инструментов сборки;
- сборка требует наличия многих дополнительных инструментов, библиотек...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Kepka - freeTelegram Desktop: сборка

Непрочитанное сообщение Olej » 30 сен 2019, 20:22

Olej писал(а):
30 сен 2019, 20:08
- сборка требует наличия многих дополнительных инструментов, библиотек...
Я не утверждаю что всё это обязательно требуется установить, но у меня сборка пошла только после всех этих инсталляций:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/Telegram-Kepka/kepka/build$ sudo apt install libopenal-dev
...
olej@ACER:~/2019_WORK/own.BOOKs/Kernel/Practis$ sudo apt install libopus-dev
...
olej@ACER:~/2019_WORK/own.BOOKs/Kernel/Practis$ sudo apt install qtbase5-dev
...
olej@ACER:~/2019_WORK/own.BOOKs/Kernel/Practis$ sudo apt install catch
...
olej@ACER:~/2019_WORK/own.BOOKs/Kernel/Practis$ sudo apt install ninja-build
...
olej@ACER:~/2019_WORK/own.BOOKs/Kernel/Practis$ sudo apt install libpulse-dev
...
olej@ACER:~/2019_WORK/own.BOOKs/Kernel/Practis$ sudo apt-get install libssl-dev libavformat-dev libavdevice-dev libswscale-dev libavutil-dev libpulse-dev libasound2-dev libswresample-dev libavresample-dev libopus-dev qtbase5-private-dev zlib1g-dev libopenal-dev libavcodec-dev libopenal-data libopenal1
[sudo] пароль для olej: 
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Уже установлен пакет libavcodec-dev самой новой версии (7:4.1.4-1~deb10u1).
Уже установлен пакет libavformat-dev самой новой версии (7:4.1.4-1~deb10u1).
Уже установлен пакет libavutil-dev самой новой версии (7:4.1.4-1~deb10u1).
libavutil-dev помечен как установленный вручную.
Уже установлен пакет libswresample-dev самой новой версии (7:4.1.4-1~deb10u1).
libswresample-dev помечен как установленный вручную.
Уже установлен пакет libswscale-dev самой новой версии (7:4.1.4-1~deb10u1).
Уже установлен пакет libopenal-data самой новой версии (1:1.19.1-1).
libopenal-data помечен как установленный вручную.
Уже установлен пакет libopenal-dev самой новой версии (1:1.19.1-1).
Уже установлен пакет libopenal1 самой новой версии (1:1.19.1-1).
libopenal1 помечен как установленный вручную.
Уже установлен пакет libssl-dev самой новой версии (1.1.1c-1).
Уже установлен пакет libopus-dev самой новой версии (1.3-1).
Уже установлен пакет libpulse-dev самой новой версии (12.2-4+deb10u1).
Уже установлен пакет zlib1g-dev самой новой версии (1:1.2.11.dfsg-1).
zlib1g-dev помечен как установленный вручную.
Будут установлены следующие дополнительные пакеты:
  libavfilter-dev libevdev-dev libinput-dev libmtdev-dev libpostproc-dev libudev-dev libwacom-dev libxkbcommon-dev
Предлагаемые пакеты:
  libasound2-doc libevdev-doc
Следующие НОВЫЕ пакеты будут установлены:
  libasound2-dev libavdevice-dev libavfilter-dev libavresample-dev libevdev-dev libinput-dev libmtdev-dev libpostproc-dev libudev-dev libwacom-dev libxkbcommon-dev
  qtbase5-private-dev
Обновлено 0 пакетов, установлено 12 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
...

Код: Выделить всё

root@ACER:/etc# find / -name qt5
...
/usr/include/x86_64-linux-gnu/qt5
/usr/share/qt5
/usr/lib/x86_64-linux-gnu/qt5
/usr/lib/qt5
/etc/apparmor.d/abstractions/qt5

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/Telegram-Kepka/kepka/build$ cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="/usr/lib/qt5" ..
-- Found ALSA: /usr/lib/x86_64-linux-gnu/libasound.so (found version "1.1.8") 
CMake Warning at Telegram/CMakeLists.txt:17 (message):
  No custom API tokens detected.  You must grab your own tokens from
  https://core.telegram.org/api/obtaining_api_id and export them using
  environment options.  Will use default for testing purposes.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/olej/2019_WORK/own.WORK/Telegram-Kepka/kepka/build
Всё, можно делать компиляцию и сборку...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Kepka - freeTelegram Desktop: сборка

Непрочитанное сообщение Olej » 30 сен 2019, 20:27

Olej писал(а):
30 сен 2019, 20:22
Всё, можно делать компиляцию и сборку...
Сборка будет достаточно долгой - у меня на весьма неплохом процессоре это было несколько десятков минут:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/Telegram-Kepka/kepka/build$ make
Scanning dependencies of target tgvoip
[  0%] Building CXX object Telegram/ThirdParty/libtgvoip/CMakeFiles/tgvoip.dir/BlockingQueue.cpp.o
[  0%] Building CXX object Telegram/ThirdParty/libtgvoip/CMakeFiles/tgvoip.dir/BufferInputStream.cpp.o
[  0%] Building CXX object Telegram/ThirdParty/libtgvoip/CMakeFiles/tgvoip.dir/BufferOutputStream.cpp.o
...
[ 94%] Linking CXX executable kepka
[ 97%] Built target Kepka
Scanning dependencies of target tests_flat_map
[ 97%] Building CXX object Telegram/SourceFiles/base/tests/CMakeFiles/tests_flat_map.dir/flat_map_tests.cpp.o
[ 97%] Linking CXX executable tests_flat_map
[ 97%] Built target tests_flat_map
Scanning dependencies of target tests_flags
[ 98%] Building CXX object Telegram/SourceFiles/base/tests/CMakeFiles/tests_flags.dir/flags_tests.cpp.o
[ 98%] Linking CXX executable tests_flags
[ 98%] Built target tests_flags
Scanning dependencies of target tests_flat_set
[ 98%] Building CXX object Telegram/SourceFiles/base/tests/CMakeFiles/tests_flat_set.dir/flat_set_tests.cpp.o
[100%] Linking CXX executable tests_flat_set
[100%] Built target tests_flat_set
Там могут быть warning, но, естественно, нет error.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Kepka - freeTelegram Desktop: сборка

Непрочитанное сообщение Olej » 30 сен 2019, 20:30

Olej писал(а):
30 сен 2019, 20:27
Сборка будет достаточно долгой - у меня на весьма неплохом процессоре это было несколько десятков минут:
Тут же сразу можно уже проверить:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/Telegram-Kepka/kepka/build$ cd Telegram

olej@ACER:~/2019_WORK/own.WORK/Telegram-Kepka/kepka/build/Telegram$ ./kepka
QApplication: invalid style override passed, ignoring it.
/home/olej/.local/share/applications/telegramdesktop.desktop: error: file contains multiple keys named "StartupWMClass" in group "Desktop Entry"
Error on file "/home/olej/.local/share/Kepka/tdata/telegramdesktop.desktop": Failed to validate the created desktop file
...
^C
Вложения
k1.png
k2.png
k3.png
(21.91 КБ) 915 скачиваний
k4.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Kepka - freeTelegram Desktop: сборка

Непрочитанное сообщение Olej » 30 сен 2019, 20:37

Olej писал(а):
30 сен 2019, 20:30
Тут же сразу можно уже проверить:
... и установить:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/Telegram-Kepka/kepka/build$ sudo make install
[sudo] пароль для olej: 
[ 18%] Built target tgvoip
[ 19%] Built target codegen_common
[ 21%] Built target codegen_emoji
[ 22%] Built target codegen_lang
[ 23%] Built target codegen_numbers
[ 26%] Built target codegen_style
[ 26%] Automatic MOC for target Kepka
[ 30%] Built target Kepka_autogen
[ 97%] Built target Kepka
[ 97%] Built target tests_flat_map
[ 98%] Built target tests_flags
[100%] Built target tests_flat_set
Install the project...
-- Install configuration: "Debug"
-- Installing: /usr/local/bin/kepka
-- Installing: /usr/local/share/applications/kepka.desktop
-- Installing: /usr/local/share/kservices5/tg.protocol
-- Installing: /usr/local/share/metainfo/kepka.appdata.xml
-- Installing: /usr/local/share/icons/hicolor/16x16/apps/kepka.png
-- Installing: /usr/local/share/icons/hicolor/32x32/apps/kepka.png
-- Installing: /usr/local/share/icons/hicolor/48x48/apps/kepka.png
-- Installing: /usr/local/share/icons/hicolor/64x64/apps/kepka.png
-- Installing: /usr/local/share/icons/hicolor/128x128/apps/kepka.png
-- Installing: /usr/local/share/icons/hicolor/256x256/apps/kepka.png
-- Installing: /usr/local/share/icons/hicolor/512x512/apps/kepka.png
+ сделал значок на рабочий стол, иконка вот отсюда: /usr/local/share/icons/hicolor/64x64/apps/kepka.png
Вложения
kepka.png
kepka.png (4.31 КБ) 2953 просмотра

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Kepka - freeTelegram Desktop: сборка

Непрочитанное сообщение Olej » 03 окт 2019, 09:52

Внешний вид & HELP этого клиента настолько повторяет официальный бинарный *.tgz клиент Telegram, что возникает подозрение, что это он и есть ... но мимикрировавший в связи с ограничениями в РФ.
Вложения
Снимок экрана от 2019-10-03 09-49-14.png

Ответить

Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя