diff --git a/pkgs/development/emilua-plugins/bech32/default.nix b/pkgs/development/emilua-plugins/bech32/default.nix new file mode 100644 index 000000000000..338913764b66 --- /dev/null +++ b/pkgs/development/emilua-plugins/bech32/default.nix @@ -0,0 +1,64 @@ +{ + lib, + stdenv, + meson, + ninja, + fetchFromGitLab, + gperf, + gawk, + gitUpdater, + pkg-config, + boost, + luajit_openresty, + asciidoctor, + emilua, + liburing, + openssl, + fmt, + cmake, + range-v3, +}: + +stdenv.mkDerivation rec { + pname = "emilua-bech32"; + version = "1.1.0"; + + src = fetchFromGitLab { + owner = "emilua"; + repo = "bech32"; + rev = "v${version}"; + hash = "sha256-f4KFL2RV+fAVJrgaAQWKuLwlN440j9vBbiyk5fHrwiE="; + }; + + buildInputs = [ + emilua + liburing + fmt + range-v3 + luajit_openresty + openssl + boost + ]; + + nativeBuildInputs = [ + gperf + gawk + pkg-config + asciidoctor + meson + ninja + cmake + ]; + + passthru = { + updateScript = gitUpdater { rev-prefix = "v"; }; + }; + + meta = with lib; { + description = "Bech32 codec for Emilua"; + homepage = "https://emilua.org/"; + license = licenses.mit; + maintainers = with maintainers; [ manipuladordedados ]; + platforms = platforms.linux; + }; +} 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; + }; +} diff --git a/pkgs/development/emilua-plugins/this-thread/default.nix b/pkgs/development/emilua-plugins/this-thread/default.nix new file mode 100644 index 000000000000..1430359d133c --- /dev/null +++ b/pkgs/development/emilua-plugins/this-thread/default.nix @@ -0,0 +1,60 @@ +{ + lib, + stdenv, + meson, + ninja, + fetchFromGitLab, + gperf, + gawk, + gitUpdater, + pkg-config, + boost, + luajit_openresty, + asciidoctor, + emilua, + liburing, + openssl, + fmt, +}: + +stdenv.mkDerivation rec { + pname = "emilua-this-thread"; + version = "1.0.0"; + + src = fetchFromGitLab { + owner = "emilua"; + repo = "this-thread"; + rev = "v${version}"; + hash = "sha256-JmAe69heZ406LE2aaSxQXJYu/iv1cS90KHecQJYoiKQ="; + }; + + buildInputs = [ + emilua + liburing + fmt + luajit_openresty + openssl + boost + ]; + + nativeBuildInputs = [ + gperf + gawk + pkg-config + asciidoctor + meson + ninja + ]; + + passthru = { + updateScript = gitUpdater { rev-prefix = "v"; }; + }; + + meta = with lib; { + description = "Access C++'s this_thread from Lua"; + homepage = "https://emilua.org/"; + license = licenses.mit; + maintainers = with maintainers; [ manipuladordedados ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/emilua-plugins.nix b/pkgs/top-level/emilua-plugins.nix index 9706ef5ce9a8..ff1d2c7f645f 100644 --- a/pkgs/top-level/emilua-plugins.nix +++ b/pkgs/top-level/emilua-plugins.nix @@ -9,6 +9,7 @@ emilua: (lib.makeScope newScope (self: { inherit emilua; beast = self.callPackage ../development/emilua-plugins/beast { }; + bech32 = self.callPackage ../development/emilua-plugins/bech32 { }; botan = self.callPackage ../development/emilua-plugins/botan { inherit (pkgs) botan3; }; @@ -17,4 +18,6 @@ emilua: secp256k1 = self.callPackage ../development/emilua-plugins/secp256k1 { inherit (pkgs) secp256k1; }; + tdlib = self.callPackage ../development/emilua-plugins/tdlib { }; + this-thread = self.callPackage ../development/emilua-plugins/this-thread { }; }))