Telegram: rename recipe and fix checksum

This commit is contained in:
Sergei Reznikov
2017-11-12 15:35:13 +03:00
parent d76123728a
commit 9582f4a9b2
4 changed files with 3147 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Telegram",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E63696604031D93CF03EBF5FB03C1D7E9039DBFD605000BBF08B41EBF08B41E"
$"C1B3B3EDC68BB65DC46AB4C2C883B7D2CAAABC47C9FBB9EECB6CBEC4CA41C3E7"
$"CB43C183C936C673C4B9C9C9C732C893C2BDCABDBE4ACAD8C079CB24BC4CCA99"
$"B8C8C899BA5FC9D3B70FC74AB4FDC374B5BCC57CB450C196B473BD98B41BBF8D"
$"B4E7BAD4B8A2B68BB670B846BA74B51ABF08B41EBCB6B43DBF08B41E020FC499"
$"BA94C4DBBA77C0DABBFCB963BED9BD20BD70B90FBEF9B86DBF44B8BABF17B81B"
$"BF6AB87FC00DB828BFF5B984C068BB90C11ABA87C0C9BBF6C249BCB6C4ACBC4E"
$"C37EBCC7C4D0BD05C50CBCD4C50DBD05C50CBD04C526BD04C526BD4FC528BDB0"
$"C4BBBD7DC4E7BE37C442BF4D49BEC0C3C9C035C3FEC200C555C11AC4A9C23BC5"
$"7FC2CFC598C283C5B2C31AC586C344C4F4C333C536C404C203C52FBC0CC4B1BF"
$"0CC53CBBA84EBADEC55BBB44C53FBA8F0212C499BA94C0DABBFCC4DBBA774EBA"
$"DEC53FBA8FC55BBB44C52FBC0CC53CBBA8C4B1BF0CC344C4F4C404C203C333C5"
$"36C2CFC598C31AC586C283C5B2C200C555C23BC57FC11AC4A9BF4D49C035C3FE"
$"BEACC2DDBD69C1F2BE0EC264BD89C1B2BDFAC15ABDC9C18BBF04C05EC11FBE70"
$"C015BF6BC1AFBDFCC2BBBCF9C228BD6CC2E0BCD2C31EBC76C31EBCB3C2D9BC76"
$"C26CBCC3C2A3BCA1C09CBDEFBCF9C03FBEC9BF14BC80C086BB90C11ABC10C0DE"
$"BA87C0C9B87FC00DB984C068B828BFF5B86DBF44B81BBF6AB8BABF17B963BED9"
$"B90FBEF9BD20BD70020AC26CBCC3C09CBDEFC2A3BCA1C31EBC76C2D9BC76C31E"
$"BCB3C2BBBCF9C2E0BCD2C228BD6CC11FBE70C1AFBDFCC015BF6BBDFAC15ABF04"
$"C05EBDC9C18BBD69C1F2BD89C1B2BD35C2F8BD05C50CBD21C404BCD4C50DBCB6"
$"C4ACBCC7C4D0BC4EC37EBB90C11ABBF6C249BC10C0DEBCF9C03FBC80C086BEC9"
$"BF140205BD69C1F2BD35C2F8BE0EC264BF4D49BEACC2DDBEC0C3C9BDB0C4BBBE"
$"37C442BD7DC4E7BD04C526BD4FC528BD04C526BD05C50CBD05C50CBD21C40404"
$"0A00020001000A010102000A020103000A03010400"
};

View File

@@ -0,0 +1,452 @@
From ec7bde5fd17969a08b8149785445ecb69b09c729 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 15 Sep 2017 22:18:56 +1000
Subject: Fix opus header path
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/OpusDecoder.h b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/OpusDecoder.h
index 51bbbac..31c8b29 100644
--- a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/OpusDecoder.h
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/OpusDecoder.h
@@ -9,7 +9,11 @@
#include "MediaStreamItf.h"
+#ifdef __HAIKU__
+#include <opus/opus.h>
+#else
#include "opus.h"
+#endif
#include "threading.h"
#include "BlockingQueue.h"
#include "BufferPool.h"
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/OpusEncoder.h b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/OpusEncoder.h
index 9329f89..b2a9305 100644
--- a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/OpusEncoder.h
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/OpusEncoder.h
@@ -9,7 +9,11 @@
#include "MediaStreamItf.h"
+#ifdef __HAIKU__
+#include <opus/opus.h>
+#else
#include "opus.h"
+#endif
#include "threading.h"
#include "BlockingQueue.h"
#include "BufferPool.h"
--
2.13.1
From 11ec9121c35bcf4127ff2e982329ba2c354d0259 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Fri, 15 Sep 2017 22:22:31 +1000
Subject: Add haiku
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/audio/AudioInput.cpp b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/audio/AudioInput.cpp
index 674b955..6021425 100644
--- a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/audio/AudioInput.cpp
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/audio/AudioInput.cpp
@@ -23,6 +23,8 @@
#elif defined(__linux__)
#include "../os/linux/AudioInputALSA.h"
#include "../os/linux/AudioInputPulse.h"
+#elif defined(__HAIKU__)
+#include "../os/haiku/AudioInputHaiku.h"
#else
#error "Unsupported operating system"
#endif
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/audio/AudioOutput.cpp b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/audio/AudioOutput.cpp
index 4f5fdfa..a0409e6 100644
--- a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/audio/AudioOutput.cpp
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/audio/AudioOutput.cpp
@@ -24,6 +24,8 @@
#elif defined(__linux__)
#include "../os/linux/AudioOutputALSA.h"
#include "../os/linux/AudioOutputPulse.h"
+#elif defined(__HAIKU__)
+#include "../os/haiku/AudioOutputHaiku.h"
#else
#error "Unsupported operating system"
#endif
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/libtgvoip.gyp b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/libtgvoip.gyp
index 52fbea1..6a44ab3 100644
--- a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/libtgvoip.gyp
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/libtgvoip.gyp
@@ -81,18 +81,12 @@
'<(tgvoip_src_loc)/os/darwin/AudioOutputAudioUnitOSX.h',
'<(tgvoip_src_loc)/os/darwin/DarwinSpecific.mm',
'<(tgvoip_src_loc)/os/darwin/DarwinSpecific.h',
-
- # Linux
- '<(tgvoip_src_loc)/os/linux/AudioInputALSA.cpp',
- '<(tgvoip_src_loc)/os/linux/AudioInputALSA.h',
- '<(tgvoip_src_loc)/os/linux/AudioOutputALSA.cpp',
- '<(tgvoip_src_loc)/os/linux/AudioOutputALSA.h',
- '<(tgvoip_src_loc)/os/linux/AudioOutputPulse.cpp',
- '<(tgvoip_src_loc)/os/linux/AudioOutputPulse.h',
- '<(tgvoip_src_loc)/os/linux/AudioInputPulse.cpp',
- '<(tgvoip_src_loc)/os/linux/AudioInputPulse.h',
- '<(tgvoip_src_loc)/os/linux/PulseAudioLoader.cpp',
- '<(tgvoip_src_loc)/os/linux/PulseAudioLoader.h',
+
+ # Haiku
+ '<(tgvoip_src_loc)/os/haiku/AudioInputHaiku.cpp',
+ '<(tgvoip_src_loc)/os/haiku/AudioInputHaiku.h',
+ '<(tgvoip_src_loc)/os/haiku/AudioOutputHaiku.cpp',
+ '<(tgvoip_src_loc)/os/haiku/AudioOutputHaiku.h',
# POSIX
'<(tgvoip_src_loc)/os/posix/NetworkSocketPosix.cpp',
@@ -253,6 +247,11 @@
},
],
[
+ '"<(OS)" != "haiku"', {
+ 'sources/': [['exclude', '<(tgvoip_src_loc)/os/haiku/']],
+ },
+ ],
+ [
'"<(OS)" != "linux"', {
'sources/': [['exclude', '<(tgvoip_src_loc)/os/linux/']],
},
@@ -371,6 +370,22 @@
},
],
[
+ '"<(OS)" == "haiku"', {
+ 'defines': [
+ 'WEBRTC_POSIX',
+ ],
+ 'cflags_cc': [
+ '-std=gnu11',
+ '-std=gnu++14',
+ ],
+ 'direct_dependent_settings': {
+ 'libraries': [
+
+ ],
+ },
+ },
+ ],
+ [
'"<(OS)" == "linux"', {
'defines': [
'WEBRTC_POSIX',
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/haiku/AudioInputHaiku.cpp b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/haiku/AudioInputHaiku.cpp
new file mode 100644
index 0000000..0bf2433
--- /dev/null
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/haiku/AudioInputHaiku.cpp
@@ -0,0 +1,52 @@
+//
+// libtgvoip is free and unencumbered public domain software.
+// For more information, see http://unlicense.org or the UNLICENSE file
+// you should have received with this source code distribution.
+//
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <assert.h>
+#include <dlfcn.h>
+#include "AudioInputHaiku.h"
+#include "../../logging.h"
+#include "../../VoIPController.h"
+
+using namespace tgvoip::audio;
+
+
+AudioInputHaiku::AudioInputHaiku(std::string devID){
+ isRecording=false;
+ failed=true;
+ return;
+}
+
+AudioInputHaiku::~AudioInputHaiku(){
+}
+
+void AudioInputHaiku::Configure(uint32_t sampleRate, uint32_t bitsPerSample, uint32_t channels){
+
+}
+
+void AudioInputHaiku::Start(){
+ if(failed || isRecording)
+ return;
+
+ isRecording=true;
+}
+
+void AudioInputHaiku::Stop(){
+ if(!isRecording)
+ return;
+
+ isRecording=false;
+}
+
+void AudioInputHaiku::RunThread(){
+}
+
+void AudioInputHaiku::SetCurrentDevice(std::string devID){
+}
+
+void AudioInputHaiku::EnumerateDevices(std::vector<AudioInputDevice>& devs){
+}
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/haiku/AudioInputHaiku.h b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/haiku/AudioInputHaiku.h
new file mode 100644
index 0000000..e268ee5
--- /dev/null
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/haiku/AudioInputHaiku.h
@@ -0,0 +1,36 @@
+//
+// libtgvoip is free and unencumbered public domain software.
+// For more information, see http://unlicense.org or the UNLICENSE file
+// you should have received with this source code distribution.
+//
+
+#ifndef LIBTGVOIP_AUDIOINPUTHAIKU_H
+#define LIBTGVOIP_AUDIOINPUTHAIKU_H
+
+#include "../../audio/AudioInput.h"
+#include "../../threading.h"
+
+namespace tgvoip{
+namespace audio{
+
+class AudioInputHaiku : public AudioInput{
+
+public:
+ AudioInputHaiku(std::string devID);
+ virtual ~AudioInputHaiku();
+ virtual void Configure(uint32_t sampleRate, uint32_t bitsPerSample, uint32_t channels);
+ virtual void Start();
+ virtual void Stop();
+ virtual void SetCurrentDevice(std::string devID);
+ static void EnumerateDevices(std::vector<AudioInputDevice>& devs);
+
+private:
+ void RunThread();
+ tgvoip_thread_t thread;
+ bool isRecording;
+};
+
+}
+}
+
+#endif //LIBTGVOIP_AUDIOINPUTALSA_H
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/haiku/AudioOutputHaiku.cpp b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/haiku/AudioOutputHaiku.cpp
new file mode 100644
index 0000000..c5d88b4
--- /dev/null
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/haiku/AudioOutputHaiku.cpp
@@ -0,0 +1,54 @@
+//
+// libtgvoip is free and unencumbered public domain software.
+// For more information, see http://unlicense.org or the UNLICENSE file
+// you should have received with this source code distribution.
+//
+
+
+#include <assert.h>
+#include <dlfcn.h>
+#include "AudioOutputHaiku.h"
+#include "../../logging.h"
+#include "../../VoIPController.h"
+
+using namespace tgvoip::audio;
+
+AudioOutputHaiku::AudioOutputHaiku(std::string devID){
+ isPlaying=false;
+ failed=true;
+ return;
+}
+
+AudioOutputHaiku::~AudioOutputHaiku(){
+}
+
+void AudioOutputHaiku::Configure(uint32_t sampleRate, uint32_t bitsPerSample, uint32_t channels){
+
+}
+
+void AudioOutputHaiku::Start(){
+ if(failed || isPlaying)
+ return;
+
+ isPlaying=true;
+}
+
+void AudioOutputHaiku::Stop(){
+ if(!isPlaying)
+ return;
+
+ isPlaying=false;
+}
+
+bool AudioOutputHaiku::IsPlaying(){
+ return isPlaying;
+}
+
+void AudioOutputHaiku::RunThread(){
+}
+
+void AudioOutputHaiku::SetCurrentDevice(std::string devID){
+}
+
+void AudioOutputHaiku::EnumerateDevices(std::vector<AudioOutputDevice>& devs){
+}
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/haiku/AudioOutputHaiku.h b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/haiku/AudioOutputHaiku.h
new file mode 100644
index 0000000..759e867
--- /dev/null
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/haiku/AudioOutputHaiku.h
@@ -0,0 +1,36 @@
+//
+// libtgvoip is free and unencumbered public domain software.
+// For more information, see http://unlicense.org or the UNLICENSE file
+// you should have received with this source code distribution.
+//
+
+#ifndef LIBTGVOIP_AUDIOOUTPUTHAIKU_H
+#define LIBTGVOIP_AUDIOOUTPUTHAIKU_H
+
+#include "../../audio/AudioOutput.h"
+#include "../../threading.h"
+
+namespace tgvoip{
+namespace audio{
+
+class AudioOutputHaiku : public AudioOutput{
+public:
+ AudioOutputHaiku(std::string devID);
+ virtual ~AudioOutputHaiku();
+ virtual void Configure(uint32_t sampleRate, uint32_t bitsPerSample, uint32_t channels);
+ virtual void Start();
+ virtual void Stop();
+ virtual bool IsPlaying();
+ virtual void SetCurrentDevice(std::string devID);
+ static void EnumerateDevices(std::vector<AudioOutputDevice>& devs);
+
+private:
+ void RunThread();
+ tgvoip_thread_t thread;
+ bool isPlaying;
+};
+
+}
+}
+
+#endif //LIBTGVOIP_AudioOutputHaiku_H
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/posix/NetworkSocketPosix.cpp b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/posix/NetworkSocketPosix.cpp
index 7fa7063..0b90f8a 100644
--- a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/posix/NetworkSocketPosix.cpp
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/os/posix/NetworkSocketPosix.cpp
@@ -39,6 +39,7 @@ NetworkSocketPosix::~NetworkSocketPosix(){
}
void NetworkSocketPosix::SetMaxPriority(){
+#ifndef __HAIKU__
#ifdef __APPLE__
int prio=NET_SERVICE_TYPE_VO;
int res=setsockopt(fd, SOL_SOCKET, SO_NET_SERVICE_TYPE, &prio, sizeof(prio));
@@ -57,6 +58,7 @@ void NetworkSocketPosix::SetMaxPriority(){
LOGE("error setting ip tos: %d / %s", errno, strerror(errno));
}
#endif
+#endif
}
void NetworkSocketPosix::Send(NetworkPacket *packet){
@@ -295,6 +297,10 @@ void NetworkSocketPosix::OnActiveInterfaceChanged(){
}
std::string NetworkSocketPosix::GetLocalInterfaceInfo(IPv4Address *v4addr, IPv6Address *v6addr){
+#ifdef __HAIKU__
+ std::string name="";
+ return name;
+#else
struct ifconf ifc;
struct ifreq* ifr;
char buf[16384];
@@ -344,6 +350,7 @@ std::string NetworkSocketPosix::GetLocalInterfaceInfo(IPv4Address *v4addr, IPv6A
}
close(sd);
return name;
+#endif
}
uint16_t NetworkSocketPosix::GetLocalPort(){
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/threading.h b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/threading.h
index 8a6f438..c45d3fb 100644
--- a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/threading.h
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/threading.h
@@ -7,7 +7,7 @@
#ifndef __THREADING_H
#define __THREADING_H
-#if defined(_POSIX_THREADS) || defined(_POSIX_VERSION) || defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__))
+#if defined(_POSIX_THREADS) || defined(_POSIX_VERSION) || defined(__unix__) || defined(__unix) || (defined(__APPLE__) && defined(__MACH__)) || defined(__HAIKU__)
#include <pthread.h>
#include <semaphore.h>
@@ -19,7 +19,7 @@ typedef pthread_cond_t tgvoip_lock_t;
#define start_thread(ref, entry, arg) pthread_create(&ref, NULL, entry, arg)
#define join_thread(thread) pthread_join(thread, NULL)
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__HAIKU__)
#define set_thread_name(thread, name) pthread_setname_np(thread, name)
#else
#define set_thread_name(thread, name)
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.c b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.c
index c9c4e65..9d93596 100644
--- a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.c
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.c
@@ -99,7 +99,12 @@ static void once(void (*func)(void)) {
static pthread_once_t lock = PTHREAD_ONCE_INIT;
pthread_once(&lock, func);
}
-
+#elif defined(__HAIKU__)
+#include <pthread.h>
+static void once(void (*func)(void)) {
+ static pthread_once_t lock = PTHREAD_ONCE_INIT;
+ pthread_once(&lock, func);
+}
#elif defined(_WIN32)
#include <windows.h>
--
2.13.1
From 7e861e2b3c0d02e0fabdab46b9e5f88b56585716 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Mon, 18 Sep 2017 22:05:53 +1000
Subject: Fix for crash when calls
diff --git a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/VoIPController.cpp b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/VoIPController.cpp
index 78e9e4b..a9c34b7 100644
--- a/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/VoIPController.cpp
+++ b/libtgvoip-757a5d8ec31aadcf387ac3cb135256152c18de1c/VoIPController.cpp
@@ -276,6 +276,7 @@ VoIPController::~VoIPController(){
sendQueue->Put(PendingOutgoingPacket{0});
if(openingTcpSocket)
openingTcpSocket->Close();
+#ifndef __HAIKU__
LOGD("before join sendThread");
join_thread(sendThread);
LOGD("before join recvThread");
@@ -284,6 +285,7 @@ VoIPController::~VoIPController(){
join_thread(tickThread);
free_mutex(sendBufferMutex);
LOGD("before close socket");
+#endif
if(udpSocket)
delete udpSocket;
if(udpSocket!=realUdpSocket)
--
2.13.1

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,116 @@
SUMMARY="Telegram Desktop Messenger"
DESCRIPTION="Official desktop version of Telegram messaging app."
HOMEPAGE="https://www.telegram.org/"
COPYRIGHT="2013-2017 Telegram"
LICENSE="GNU GPL v3"
REVISION="5"
SOURCE_URI="https://github.com/telegramdesktop/tdesktop/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="56b7fce84adf85a4af1c3174353169f32d0b0c052a4e7a284fc741fa96b04030"
COMMIT_2="757a5d8ec31aadcf387ac3cb135256152c18de1c"
SOURCE_URI_2="https://github.com/telegramdesktop/libtgvoip/archive/$COMMIT_2.zip"
CHECKSUM_SHA256_2="afd82dde02fb43c0e66e462a3da1d9e84ae76aa3e71d37e696c261aa151d3cdd"
COMMIT_3="550ac2f159ca883d360c196149b466955c77a573"
SOURCE_URI_3="https://github.com/mapbox/variant/archive/$COMMIT_3.zip"
CHECKSUM_SHA256_3="3676117c49db1ef1ff2818f6f70713c3a4469f0da8ecb5c98c157499322501fc"
COMMIT_4="c5851a8161938798c5594a66420cb814fea92711"
SOURCE_URI_4="https://github.com/Microsoft/GSL/archive/$COMMIT_4.zip"
CHECKSUM_SHA256_4="2fe4befdd1cd69de435797c8c50cd7ce749d140982f2260eead90f31721d2c95"
COMMIT_5="5ca44b68721833ae3731802ed99af67c6f38a53a"
SOURCE_URI_5="https://github.com/philsquared/Catch/archive/$COMMIT_5.zip"
CHECKSUM_SHA256_5="bec93e64dea2dd0c6662a75a81cdd1747a753ccd86025ef436b7d2fac3b408d2"
ADDITIONAL_FILES="tdesktop.rdef.in"
PATCHES="tdesktop-$portVersion.patchset"
PATCHES_2="tdesktop-$portVersion-libtgvoip.patchset"
ARCHITECTURES="!x86_gcc2 x86_64"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
tdesktop$secondaryArchSuffix = $portVersion
app:Telegram$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libavcodec$secondaryArchSuffix
lib:libavformat$secondaryArchSuffix
lib:libavutil$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgthread_2.0$secondaryArchSuffix
lib:liblzma$secondaryArchSuffix
lib:libminizip$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libopus$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Network$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libswresample$secondaryArchSuffix
lib:libswscale$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libavcodec$secondaryArchSuffix
devel:libavformat$secondaryArchSuffix
devel:libavutil$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgthread_2.0$secondaryArchSuffix
devel:liblzma$secondaryArchSuffix
devel:libminizip$secondaryArchSuffix
devel:libopenal$secondaryArchSuffix
devel:libopus$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5Gui$secondaryArchSuffix
devel:libQt5Network$secondaryArchSuffix
devel:libQt5Widgets$secondaryArchSuffix
devel:libswresample$secondaryArchSuffix
devel:libswscale$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gyp >= 20160504
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
# link submodules
rm -rf Telegram/ThirdParty/{libtgvoip,variant,GSL,Catch}
ln -sfn $sourceDir2/libtgvoip-$COMMIT_2 Telegram/ThirdParty/libtgvoip
ln -sfn $sourceDir3/variant-$COMMIT_3 Telegram/ThirdParty/variant
ln -sfn $sourceDir4/GSL-$COMMIT_4 Telegram/ThirdParty/GSL
ln -sfn $sourceDir5/Catch-$COMMIT_5 Telegram/ThirdParty/Catch
Telegram/gyp/refresh.sh ; cd out/Release
# multi-job takes too much memory
make
}
INSTALL()
{
mkdir -p $appsDir
cp out/Release/Telegram $appsDir
strip $appsDir/Telegram
local APP_SIGNATURE="application/x-vnd.telegram"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/tdesktop.rdef.in > tdesktop.rdef
addResourcesToBinaries tdesktop.rdef $appsDir/Telegram
addAppDeskbarSymlink $appsDir/Telegram
}