Today I learned that Telegram Desktop is in Debian Sid repository...
Tadinya saya sedang mencari di internet bagaimana cara mengganti huruf pada Telegram Desktop yang huruf asalinya dirasa tidak begitu bagus. Sekilas mencari, sepertinya saya menemui jalan buntu karena isu yang berupa usulan penambahan fitur mengganti huruf pada Telegram Desktop ini kurang mendapat sambutan dari pengembangnya, bahkan issue-nya pun dikunci.
Namun demikian, issue tersebut wajib dibaca bagi mereka yang berminat mengganti huruf pada Telegram Desktop, selain untuk mengetahui alasan dibalik "penolakan" juga ada beberapa pesan yang menerangkan jalan bagaimana kita dapat mengubah huruf Telegram Desktop dengan cara melakukan kompilasi mandiri.
Dibalik kabar buruk, muncul sebuah kejutan. Kejutan yang menyenangkan.
Ternyata salah satu hasil pencarian yang muncul adalah laman paket telegram-desktop
di situs packages.debian. Mengapa ini sebuah kejutan yang menyenangkan? Karena dengan masuknya paket Telegram Desktop ke dalam repositori Debian maka proses kompilasinya dipastikan lebih mudah.
Sejauh yang saya ketahui, pada awal perkembangannya, demi mencapai tujuan tampilan yang sama di semua sistem operasi maka pengembang Telegram Desktop menggunakan Qt sebagai toolkit GUI. Namun itu saja ternyata belum cukup karena ada beberapa "pernik" yang tidak sama antara satu dengan lain sistem operasi. Hal ini memaksa mereka melakukan penambalan (patch) pada beberapa pustaka Qt yang digunakan. Penggunaan patch ini menyebabkan Telegram Desktop sulit masuk ke dalam repositori berbagai distro besar dengan alasan penggunaan patch menjadikan proses kompilasi menjadi rumit dan terutama pustaka Qt mereka menjadi proprietary yang berbeda baik secara kode ataupun lisensi dengan Qt upstream.
Dengan telah masuknya Telegram Desktop ke dalam repositori Debian, berarti permasalahan soal dependencies atau pun lisensi sepertinya bukan lagi menjadi halangan karena Debian terkenal sangat ketat mengenai lisensi dan penggunaan pustaka di luar repositori Debian.
Sekarang kita kembali ke awal cerita.
Jadi akhirnya walau pihak Telegram Desktop sepertinya masih lama untuk menambhakn fitur penggantian huruf, namun setidaknya dengan telah masuknya Telegram Dekstop ke dalam repositori Debian menjadikan proses kompilasi Telegram Desktop untuk mengganti hurufnya menjadi lebih mudah.
So, here it is... Sebuah artikel mengenai bagaimana cara mengompilasi Telegram Desktop secara mandiri. Saya akan menghindari pembahasan di luar kompilasi karena hal tersebut bisa cukup rumit. Terserah alasan Anda mengapa melakukan kompilasi, mungkin untuk mengganti huruf, menambah language file, atau memang sekedar ingin mencoba.
- Pertama, aktifkan repositori source. Gunakan
apt edit-sources
untuk menyunting berkas/etc/apt/sources.list
.
Tambahkan cermin lumbung paket tempat sistem akan mengambil berkas source.sudo apt edit-sources
Misal saya menggunakan:
Sebenarnya, untuk paket biasa saya mengambilnya dari http://suro.ubaya.ac.id, namun karena selalu gagal dalam mengambil source dari sana saya beralih ke cermin lain.deb-src http://mirror.0x.sg/debian/ sid main contrib non-free
- Langkah kedua, mutakhirkan sistem.
sudo apt update
- Unduh berkas sumber untuk Telegram Desktop.
Perintah ini akan mengunduh 3 berkas; berkas source, patch dari Debian, dan signature dari Debian. Saat artikel ini dibuat, paket Telegram Desktop di repo Debian Sid adalah versiapt source telegram-desktop
1.1.10
. Dan ketiga berkas tersebut adalahtelegram-desktop_1.1.10.orig.tar.gz
(source),telegram-desktop_1.1.10-1.debian.tar.xz
(patch) dantelegram-desktop_1.1.10-1.dsc
(signature).
Ketiga berkas ini akan langsung dijalankan; source akan diuraikan dan signature serta patch akan diterapkan. Karenanya di dalam direktori tempat Anda menjalankan perintah ini akhirnya akan terdapat empat berkas; satu folder hasil extract dan patch, serta tiga berkas sebagaimana tersebut di awal. - Kini saatnya untuk melakukan penyuntingan pada map (folder) source Telegram Desktop.
Do what you need to do know... - Usai melakukan penyuntingan, kini saatnya untuk melakukan kompilasi.
Masuk ke dalam folder hasil extract. Dalam contoh ini adalahtelegram-desktop-1.1.10
.
cd telegram-desktop-1.1.10
- Jalankan perintah untuk melakukan kompilasi langsung menjadi berkas Debian.
Pastikan Anda telah memasang paketbuild-essential
.
Jika paket-paket yang menjadi ketergantungan Telegram Desktop telah terdapat dalam sistem, maka yang perlu Anda lakukan hanya menunggu hingga kompilasi selesai. Namun jika ternyata dependencies-nya tidak terpenuhi, proses kompilasi akan terhenti. Perhatikan log yang muncul, misal dalam kompilasi yang pernah gagal saya lakukan:dpkg-buildpackage -rfakeroot -uc -b
Seperti terlihat,iza@sid:~/telegram-desktop-1.1.10$ dpkg-buildpackage -rfakeroot -uc -b dpkg-buildpackage: info: source package telegram-desktop dpkg-buildpackage: info: source version 1.1.10-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Nicholas Guriev
dpkg-buildpackage: info: host architecture amd64 dpkg-source --before-build telegram-desktop-1.1.10 dpkg-checkbuilddeps: error: Unmet build dependencies: cmake (>= 3.0) dh-exec gyp libappindicator-dev libdee-dev liblzma-dev libmapbox-variant-dev libminizip-dev (>= 1.1) libmsgsl-dev libopenal-dev libopus-dev (>= 1.1) libssl1.0-dev | libssl-dev (<< 1.1) libtgvoip-dev qtbase5-dev (>= 5.5) qtbase5-private-dev (>= 5.5) dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting dpkg-buildpackage: warning: (Use -d flag to override.) dpkg-checkbuilddeps
mengeluhkan tidak adanya paket-paket tertentu. Yang perlu kita lakukan adalah memasang paket-paket tersebut, misalnya:
Ulangi lagi perintahsudo apt install cmake dh-exec gyp libappindicator-dev libdee-dev liblzma-dev libmapbox-variant-dev libminizip-dev libmsgsl-dev libopenal-dev libopus-dev libssl1.0-dev libtgvoip-dev qtbase5-dev qtbase5-private-dev
dpkg-buildpackage -rfakeroot -uc -b
. Dan mestinya proses kompilasi kini berjalan lancar.
Di laptop jadul saya prosesnya lumayan lama, sekitar 20 menit. Ketika kompilasi selesai, akan ada empat berkas baru di luar foldertelegram-desktop-1.1.10
;telegram-desktop_1.1.10-1_amd64.buildinfo
,telegram-desktop_1.1.10-1_amd64.changes
,telegram-desktop_1.1.10-1_amd64.deb
dantelegram-desktop-dbgsym_1.1.10-1_amd64.deb
.
Yang perlu kita pasang umumnya hanyalah berkastelegram-desktop_1.1.10-1_amd64.deb
, kecuali Anda hendak melakukan debugging, maka berkas yang patut dipasang adalahtelegram-desktop-dbgsym_1.1.10-1_amd64.deb
. - Berkas hasil kompilasi dapat dipasang menggunakan perintah:
sudo dpkg -i telegram-desktop_1.1.10-1_amd64.deb
Berikut contoh tampilan Telegram Desktop yang telah saya ganti huruf yang tadinya Open Sans menjadi Arimo (kembaran Liberation Sans). Tidak terlalu memuaskan. Maklumlah, saya tidak begitu paham C/C++
jadi tidak paham bagian mana saja dari source code yang perlu disunting.
Telegram Desktop hasil kompilasi |
Tidak ada komentar:
Posting Komentar