diff options
Diffstat (limited to 'gnu/packages/telegram.scm')
-rw-r--r-- | gnu/packages/telegram.scm | 225 |
1 files changed, 224 insertions, 1 deletions
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm index 66b94baf28..00aabbde6c 100644 --- a/gnu/packages/telegram.scm +++ b/gnu/packages/telegram.scm @@ -34,27 +34,35 @@ #:use-module (gnu packages gcc) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages kde-frameworks) #:use-module (gnu packages language) + #:use-module (gnu packages libevent) #:use-module (gnu packages libreoffice) #:use-module (gnu packages linux) #:use-module (gnu packages lxqt) + #:use-module (gnu packages lua) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages qt) + #:use-module (gnu packages readline) + #:use-module (gnu packages textutils) #:use-module (gnu packages telephony) #:use-module (gnu packages tls) #:use-module (gnu packages video) + #:use-module (gnu packages web) #:use-module (gnu packages xiph) #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) @@ -512,7 +520,8 @@ Telegram project, for its use in telegram desktop client.") ("libjpeg" ,libjpeg-turbo) ("libtgvoip" ,libtgvoip-for-telegram-desktop) ("lz4" ,lz4) - ("materialdecoration" ,materialdecoration) + ;; TODO: Uncomment materialdecoration if build successfully. + ;; ("materialdecoration" ,materialdecoration) ("minizip" ,minizip) ("nimf" ,nimf) ("openal" ,openal) @@ -555,3 +564,217 @@ Telegram instant messager.") license:lgpl2.1+ ;; Others license:gpl3+)))) + +(define-public tl-parser + (let ((commit "1933e76f8f4fb74311be723b432e4c56e3a5ec06") + (revision "21")) + (package + (name "tl-parser") + (version + (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/vysheng/tl-parser.git") + (commit commit))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "13cwi247kajzpkbl86hnwmn1sn2h6rqndz6khajbqj0mlw9mv4hq")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No target + #:imported-modules + ((guix build copy-build-system) + ,@%cmake-build-system-modules) + #:modules + (((guix build copy-build-system) + #:prefix copy:) + (guix build cmake-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda args + (apply (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("." "bin" + #:include ("tl-parser")) + ("../source" "include/tl-parser" + #:include-regexp ("\\.h$"))) + args)))))) + (synopsis "Parse tl scheme to tlo") + (description "TL-Parser is a tl scheme to tlo file parser. It was formely +a part of telegram-cli, but now being maintained separately.") + (home-page "https://github.com/vysheng/tl-parser") + (license license:gpl2+)))) + +(define-public tgl + (let ((commit "ffb04caca71de0cddf28cd33a4575922900a59ed") + (revision "181")) + (package + (name "tgl") + (version + (git-version "2.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/vysheng/tgl.git") + (commit commit))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "0cf5s7ygslb5klg1qv9qdc3hivhspmvh3zkacyyhd2yyikb5p0f9")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No target + #:imported-modules + ((guix build copy-build-system) + ,@%gnu-build-system-modules) + #:modules + (((guix build copy-build-system) + #:prefix copy:) + (guix build gnu-build-system) + (guix build utils)) + #:configure-flags + (list + ;; Use gcrypt instead of openssl. + "--disable-openssl" + ;; Enable extended queries system. + "--enable-extf" + ;; Include libevent-based net and timers. + "--enable-libevent") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'trigger-bootstrap + (lambda _ + (delete-file "configure") + #t)) + (add-after 'trigger-bootstrap 'patch-tl-parser + (lambda _ + (delete-file "Makefile.tl-parser") + (substitute* "Makefile.in" + (("include \\$\\{srcdir\\}/Makefile\\.tl-parser") + "") + (("\\$\\{EXE\\}/tl-parser") + "tl-parser")) + #t)) + (replace 'install + (lambda args + (apply (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("bin" "bin") + ("." "include/tgl" + #:include-regexp ("\\.h$")) + ("libs" "lib/tgl")) + args)))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("libevent" ,libevent) + ("libgcrypt" ,libgcrypt) + ("tl-parser" ,tl-parser) + ("zlib" ,zlib))) + (synopsis "Telegram Library") + (description "TGL is the telegram library for telegram-cli.") + (home-page "https://github.com/vysheng/tgl") + (license license:lgpl2.1+)))) + +(define-public telegram-cli + (let ((commit "6547c0b21b977b327b3c5e8142963f4bc246187a") + (revision "324")) + (package + (name "telegram-cli") + (version + (git-version "1.3.1" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/vysheng/tg.git") + (commit commit))) + (file-name + (git-file-name name version)) + (sha256 + (base32 "0c1w7jgska71jjbvg1y09v52549pwa4zkdjly18yxywn7gayd2p6")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; No target + #:imported-modules + ((guix build copy-build-system) + ,@%gnu-build-system-modules) + #:modules + (((guix build copy-build-system) + #:prefix copy:) + (guix build gnu-build-system) + (guix build utils)) + #:configure-flags + (list + ;; Use gcrypt instead of openssl. + "--disable-openssl") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'trigger-bootstrap + (lambda _ + (delete-file "configure") + #t)) + (add-after 'trigger-bootstrap 'patch-tgl-and-tlparser + (lambda* (#:key inputs #:allow-other-keys) + (for-each delete-file + (list + "Makefile.tgl" + "Makefile.tl-parser")) + (substitute* "Makefile.in" + (("include \\$\\{srcdir\\}/Makefile\\.tl-parser") + "") + (("include \\$\\{srcdir\\}/Makefile\\.tgl") + "") + (("-I\\$\\{srcdir\\}/tgl") + (string-append "-I" (assoc-ref inputs "tgl") + "/include/tgl")) + (("AUTO=auto") + (string-append "AUTO=" (assoc-ref inputs "tgl") + "/include/tgl/auto")) + (("LIB=libs") + (string-append "LIB=" (assoc-ref inputs "tgl") + "/lib/tgl"))) + #t)) + (replace 'install + (lambda args + (apply (assoc-ref copy:%standard-phases 'install) + #:install-plan + '(("bin" "bin") + ("." "etc/telegram-cli" + #:include-regexp ("\\.pub$") + #:exclude ("tg-server.pub"))) + args)))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("jansson" ,jansson) + ("libconfig" ,libconfig) + ("libevent" ,libevent) + ("libgcrypt" ,libgcrypt) + ("lua" ,lua) + ("openssl" ,openssl) + ("perl" ,perl) + ("python" ,python) + ("readline" ,readline) + ("tgl" ,tgl) + ("tl-parser" ,tl-parser) + ("zlib" ,zlib))) + (synopsis "Telegram Messenger CLI") + (description "TG is the command-line interface for Telegram Messenger.") + (home-page "https://github.com/vysheng/tg") + (license license:gpl2+)))) |