diff --git a/default.nix b/default.nix index e928f3a..deb024a 100644 --- a/default.nix +++ b/default.nix @@ -47,5 +47,7 @@ in VisiCut = callPackage ./VisiCut { }; + wa-crypt-tools = callPythonPackage ./wa-crypt-tools { }; + whisper_cpp = callPackage ./whisper_cpp { }; } diff --git a/flake.nix b/flake.nix index 2c8dc58..3ff3bab 100644 --- a/flake.nix +++ b/flake.nix @@ -64,6 +64,7 @@ playgsf textidote unxwb + wa-crypt-tools whisper_cpp; mpvScripts = lib.recurseIntoAttrs { diff --git a/wa-crypt-tools/default.nix b/wa-crypt-tools/default.nix new file mode 100644 index 0000000..bb4a53b --- /dev/null +++ b/wa-crypt-tools/default.nix @@ -0,0 +1,63 @@ +#{ lib +#, buildPythonPackage +#, fetchPypi +#, setuptools +#, javaobj-py3 +#, protobuf +#}: +# +#buildPythonPackage rec { +# pname = "wa-crypt-tools"; +# version = "0.0.8"; +# +# src = fetchPypi { +# inherit pname version; +# sha256 = "sha256-H5uSVKtmcR+xZ+CWgpfUyF+YdO/s4VB7YV6r0ZX39/8="; +# }; +# +# format = "pyproject"; +# +# nativeBuildInputs = [ +# setuptools +# ]; +# +# propagatedBuildInputs = [ +# javaobj-py3 +# prtobuf +# ]; +# +# meta = with lib; { +# description = "Decryptor for WhatsApp’s databases"; +# homepage = "https://github.com/ElDavoo/wa-crypt-tools"; +# license = licenses.gpl3Only; +# maintainers = with maintainers; [ sbruder ]; +# platforms = platforms.all; +# }; +#} +{ poetry2nix, pkgs, lib }: +let + pythonPackages = (poetry2nix.mkPoetryPackages { + projectDir = ./.; + overrides = [ + poetry2nix.defaultPoetryOverrides + #(import ./poetry-git-overlay.nix { inherit pkgs; }) + (final: prev: { + wa-crypt-tools = prev.wa-crypt-tools.overridePythonAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ prev.setuptools ]; + #postInstall = '' + # install -D ${old.pname}.py $out/bin/${old.pname} + #''; + + meta = old.meta // (with lib; { + description = "Decryptor for WhatsApp’s databases"; + homepage = "https://github.com/ElDavoo/wa-crypt-tools"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ sbruder ]; + platforms = platforms.all; + }); + }); + }) + ]; + }).python.pkgs; +in +pythonPackages.wa-crypt-tools diff --git a/wa-crypt-tools/poetry.lock b/wa-crypt-tools/poetry.lock new file mode 100644 index 0000000..dcb9680 --- /dev/null +++ b/wa-crypt-tools/poetry.lock @@ -0,0 +1,100 @@ +# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. + +[[package]] +name = "javaobj-py3" +version = "0.4.3" +description = "Module for serializing and de-serializing Java objects." +category = "main" +optional = false +python-versions = "*" +files = [ + {file = "javaobj-py3-0.4.3.tar.gz", hash = "sha256:38f74db3a57e9998a9774e3614afb95cb396f139f29b3fdb130c5af554435259"}, + {file = "javaobj_py3-0.4.3-py2.py3-none-any.whl", hash = "sha256:f6ac64cab49e282cf8171d4c479de413dedbbb1a69c64499648185f974080db3"}, +] + +[[package]] +name = "protobuf" +version = "4.22.5" +description = "" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "protobuf-4.22.5-cp310-abi3-win32.whl", hash = "sha256:25bf47c4f6024d529369e6d41af997b5179dbe376d36a29060e0160308291206"}, + {file = "protobuf-4.22.5-cp310-abi3-win_amd64.whl", hash = "sha256:eeaaa542f0511ba8f806f0c27920e205a7fa46cddf78ff5b17ec165259262d7b"}, + {file = "protobuf-4.22.5-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bb3f764556a6815a6ac6a0ca3158bb7e8af6a21c5bca81ce84f36a6fe2a1323d"}, + {file = "protobuf-4.22.5-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:f3387ad1182b816171d60bc0017792e5aa25a0bc3dea63fe8906ff424f67c45a"}, + {file = "protobuf-4.22.5-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:443df9fdd435224384e0d30e748d2a01e15eb9d41b062f3173d1bd94ea400ed3"}, + {file = "protobuf-4.22.5-cp37-cp37m-win32.whl", hash = "sha256:eb8598d45084b097af66a8c6f6aaf727b901862cc58bfbc2cc3fad07d989d052"}, + {file = "protobuf-4.22.5-cp37-cp37m-win_amd64.whl", hash = "sha256:6456b03225abe27e357561ad6a72da6731a0644a1a639ad7dde65ea441f662bc"}, + {file = "protobuf-4.22.5-cp38-cp38-win32.whl", hash = "sha256:d888f81b502af8b3af72f5539d8ec5ef70391b672d99af23bf1e3c90a3bbb0e8"}, + {file = "protobuf-4.22.5-cp38-cp38-win_amd64.whl", hash = "sha256:f9715676c6c0aa4b965c49615421ad7b006cac41ee375f0d4935f46ca6d099a1"}, + {file = "protobuf-4.22.5-cp39-cp39-win32.whl", hash = "sha256:86cdca8c3f6dedc2e23063fff8ac6afe146534410d04e9ddd66ae8fb9243ed8c"}, + {file = "protobuf-4.22.5-cp39-cp39-win_amd64.whl", hash = "sha256:3e024197f8c2598b59715aa7a136b22a186323e2d843cdfe0d9fa05fe4dbf5e0"}, + {file = "protobuf-4.22.5-py3-none-any.whl", hash = "sha256:1c7e8e692567c4ace67146cea8f5c5694aec0ac8861b03e4d30d3d8e7e9ea283"}, + {file = "protobuf-4.22.5.tar.gz", hash = "sha256:cf858f99cbcd502efc9848587d5961178e94e498de604e14c7b669d51793dadf"}, +] + +[[package]] +name = "pycryptodomex" +version = "3.18.0" +description = "Cryptographic library for Python" +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +files = [ + {file = "pycryptodomex-3.18.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:160a39a708c36fa0b168ab79386dede588e62aec06eb505add870739329aecc6"}, + {file = "pycryptodomex-3.18.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:c2953afebf282a444c51bf4effe751706b4d0d63d7ca2cc51db21f902aa5b84e"}, + {file = "pycryptodomex-3.18.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:ba95abd563b0d1b88401658665a260852a8e6c647026ee6a0a65589287681df8"}, + {file = "pycryptodomex-3.18.0-cp27-cp27m-manylinux2014_aarch64.whl", hash = "sha256:192306cf881fe3467dda0e174a4f47bb3a8bb24b90c9cdfbdc248eec5fc0578c"}, + {file = "pycryptodomex-3.18.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:f9ab5ef0718f6a8716695dea16d83b671b22c45e9c0c78fd807c32c0192e54b5"}, + {file = "pycryptodomex-3.18.0-cp27-cp27m-win32.whl", hash = "sha256:50308fcdbf8345e5ec224a5502b4215178bdb5e95456ead8ab1a69ffd94779cb"}, + {file = "pycryptodomex-3.18.0-cp27-cp27m-win_amd64.whl", hash = "sha256:4d9379c684efea80fdab02a3eb0169372bca7db13f9332cb67483b8dc8b67c37"}, + {file = "pycryptodomex-3.18.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5594a125dae30d60e94f37797fc67ce3c744522de7992c7c360d02fdb34918f8"}, + {file = "pycryptodomex-3.18.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:8ff129a5a0eb5ff16e45ca4fa70a6051da7f3de303c33b259063c19be0c43d35"}, + {file = "pycryptodomex-3.18.0-cp27-cp27mu-manylinux2014_aarch64.whl", hash = "sha256:3d9314ac785a5b75d5aaf924c5f21d6ca7e8df442e5cf4f0fefad4f6e284d422"}, + {file = "pycryptodomex-3.18.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:f237278836dda412a325e9340ba2e6a84cb0f56b9244781e5b61f10b3905de88"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac614363a86cc53d8ba44b6c469831d1555947e69ab3276ae8d6edc219f570f7"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:302a8f37c224e7b5d72017d462a2be058e28f7be627bdd854066e16722d0fc0c"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-manylinux2014_aarch64.whl", hash = "sha256:6421d23d6a648e83ba2670a352bcd978542dad86829209f59d17a3f087f4afef"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84e105787f5e5d36ec6a581ff37a1048d12e638688074b2a00bcf402f9aa1c2"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6875eb8666f68ddbd39097867325bd22771f595b4e2b0149739b5623c8bf899b"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:27072a494ce621cc7a9096bbf60ed66826bb94db24b49b7359509e7951033e74"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:1949e09ea49b09c36d11a951b16ff2a05a0ffe969dda1846e4686ee342fe8646"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:6ed3606832987018615f68e8ed716a7065c09a0fe94afd7c9ca1b6777f0ac6eb"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-win32.whl", hash = "sha256:d56c9ec41258fd3734db9f5e4d2faeabe48644ba9ca23b18e1839b3bdf093222"}, + {file = "pycryptodomex-3.18.0-cp35-abi3-win_amd64.whl", hash = "sha256:e00a4bacb83a2627e8210cb353a2e31f04befc1155db2976e5e239dd66482278"}, + {file = "pycryptodomex-3.18.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:2dc4eab20f4f04a2d00220fdc9258717b82d31913552e766d5f00282c031b70a"}, + {file = "pycryptodomex-3.18.0-pp27-pypy_73-win32.whl", hash = "sha256:75672205148bdea34669173366df005dbd52be05115e919551ee97171083423d"}, + {file = "pycryptodomex-3.18.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bec6c80994d4e7a38312072f89458903b65ec99bed2d65aa4de96d997a53ea7a"}, + {file = "pycryptodomex-3.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d35a8ffdc8b05e4b353ba281217c8437f02c57d7233363824e9d794cf753c419"}, + {file = "pycryptodomex-3.18.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76f0a46bee539dae4b3dfe37216f678769349576b0080fdbe431d19a02da42ff"}, + {file = "pycryptodomex-3.18.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:71687eed47df7e965f6e0bf3cadef98f368d5221f0fb89d2132effe1a3e6a194"}, + {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:73d64b32d84cf48d9ec62106aa277dbe99ab5fbfd38c5100bc7bddd3beb569f7"}, + {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbdcce0a226d9205560a5936b05208c709b01d493ed8307792075dedfaaffa5f"}, + {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:58fc0aceb9c961b9897facec9da24c6a94c5db04597ec832060f53d4d6a07196"}, + {file = "pycryptodomex-3.18.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:215be2980a6b70704c10796dd7003eb4390e7be138ac6fb8344bf47e71a8d470"}, + {file = "pycryptodomex-3.18.0.tar.gz", hash = "sha256:3e3ecb5fe979e7c1bb0027e518340acf7ee60415d79295e5251d13c68dde576e"}, +] + +[[package]] +name = "wa-crypt-tools" +version = "0.0.8" +description = "Decrypts WhatsApp .crypt12, .crypt14 and .crypt15 files, given the key." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "wa-crypt-tools-0.0.8.tar.gz", hash = "sha256:1f9b9254ab66711fb167e0968297d4c85f9874efece1507b615eabd195f7f7ff"}, + {file = "wa_crypt_tools-0.0.8-py3-none-any.whl", hash = "sha256:170fa6c293353c34e6f9cea9d5d31abd463397bef26ec62d8d8d480de79b8e93"}, +] + +[package.dependencies] +javaobj-py3 = ">=0.4.3,<0.5.0" +protobuf = ">=4.22.3,<4.23.0" +pycryptodomex = ">=3.17,<4.0" + +[metadata] +lock-version = "2.0" +python-versions = "^3.9" +content-hash = "62f06f3db45dac2be76568bbbfa82bafe76b05b8362b6abd0436c0595c3b2ed5" diff --git a/wa-crypt-tools/pyproject.toml b/wa-crypt-tools/pyproject.toml new file mode 100644 index 0000000..ad8b1b7 --- /dev/null +++ b/wa-crypt-tools/pyproject.toml @@ -0,0 +1,15 @@ +[tool.poetry] +name = "wa-crypt-tools-env" +version = "0.1.0" +description = "" +authors = [] + +[tool.poetry.dependencies] +python = "^3.9" +wa-crypt-tools = "0.0.8" + +[tool.poetry.dev-dependencies] + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api"