diff options
Diffstat (limited to 'pkgs/development/emilua-plugins/tdlib/default.nix')
-rw-r--r-- | pkgs/development/emilua-plugins/tdlib/default.nix | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/pkgs/development/emilua-plugins/tdlib/default.nix b/pkgs/development/emilua-plugins/tdlib/default.nix new file mode 100644 index 000000000000..96c33efee197 --- /dev/null +++ b/pkgs/development/emilua-plugins/tdlib/default.nix @@ -0,0 +1,84 @@ +{ + lib, + stdenv, + fetchFromGitLab, + fetchFromGitHub, + gperf, + gawk, + gitUpdater, + pkg-config, + boost, + luajit_openresty, + asciidoctor, + emilua, + liburing, + openssl, + cmake, + fmt, + zlib, +}: + +let + td-wrap = fetchFromGitHub { + owner = "tdlib"; + repo = "td"; + rev = "4041ecb535802ba1c55fcd11adf5d3ada41c2be7"; + hash = "sha256-/TaPYy+FUOVhyocDZ13zwR07xbzp6g8c6xvAGVFLQvk="; + }; + + trial-circular-wrap = fetchFromGitHub { + owner = "breese"; + repo = "trial.protocol"; + rev = "79149f604a49b8dfec57857ca28aaf508069b669"; + hash = "sha256-Xd8bX3z9PZWU17N9R95HXdj6qo9at5FBL/+PTVaJgkw="; + }; +in +stdenv.mkDerivation rec { + pname = "emilua-tdlib"; + version = "1.0.3"; + + src = fetchFromGitLab { + owner = "emilua"; + repo = "tdlib"; + rev = "v${version}"; + hash = "sha256-14jg71m1za+WW0PP9cg1XniCupl9/RXqeEP1SE+62Ng="; + fetchSubmodules = true; + }; + + buildInputs = [ + emilua + liburing + fmt + luajit_openresty + openssl + boost + td-wrap + trial-circular-wrap + ]; + + nativeBuildInputs = [ + gperf + gawk + pkg-config + asciidoctor + cmake + zlib + ]; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace-warn 'pkg_get_variable(EMILUA_PLUGINSDIR emilua pluginsdir)' 'set(EMILUA_PLUGINSDIR "${"$"}{CMAKE_INSTALL_PREFIX}/${emilua.sitePackages}")' + ''; + + passthru = { + updateScript = gitUpdater { rev-prefix = "v"; }; + }; + + meta = with lib; { + description = "Telegram Database Library bindings for Emilua"; + homepage = "https://emilua.org/"; + license = licenses.mit; + maintainers = with maintainers; [ manipuladordedados ]; + platforms = platforms.linux; + }; +} |