diff --git a/pkgs/development/python-modules/inflate64/default.nix b/pkgs/development/python-modules/inflate64/default.nix new file mode 100644 index 000000000000..35da809726c4 --- /dev/null +++ b/pkgs/development/python-modules/inflate64/default.nix @@ -0,0 +1,47 @@ +{ + lib, + buildPythonPackage, + fetchFromGitea, + setuptools, + setuptools-scm, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "inflate64"; + version = "1.0.1"; + pyproject = true; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "miurahr"; + repo = "inflate64"; + tag = "v${version}"; + hash = "sha256-deFx8NMbGLP51CdNvmZ25LQ5FLPBb1PB3QhGhIfTMfc="; + }; + + build-system = [ + setuptools + setuptools-scm + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "inflate64" + ]; + + meta = { + description = "Compress and decompress with Enhanced Deflate compression algorithm"; + homepage = "https://codeberg.org/miurahr/inflate64"; + changelog = "https://codeberg.org/miurahr/inflate64/src/tag/v${version}/docs/Changelog.rst#v${version}"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ + pitkling + PopeRigby + ]; + }; + +} diff --git a/pkgs/development/python-modules/multivolumefile/default.nix b/pkgs/development/python-modules/multivolumefile/default.nix new file mode 100644 index 000000000000..5ae5bacb33f4 --- /dev/null +++ b/pkgs/development/python-modules/multivolumefile/default.nix @@ -0,0 +1,58 @@ +{ + lib, + buildPythonPackage, + fetchFromGitea, + setuptools, + setuptools-scm, + hypothesis, + pytest-timeout, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "multivolumefile"; + version = "0.2.3"; + pyproject = true; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "miurahr"; + repo = "multivolume"; + tag = "v${version}"; + hash = "sha256-7gjfF7biQZOcph2dfwi2ouDn/uIYik/KBQ0k6u5Ne+Q="; + }; + + postPatch = + # Fix typo: `tools` -> `tool` + # upstream PR: https://codeberg.org/miurahr/multivolume/pulls/9 + '' + substituteInPlace pyproject.toml \ + --replace-fail 'tools.setuptools_scm' 'tool.setuptools_scm' + ''; + + build-system = [ + setuptools + setuptools-scm + ]; + + nativeCheckInputs = [ + hypothesis + pytest-timeout + pytestCheckHook + ]; + + pythonImportsCheck = [ + "multivolumefile" + ]; + + meta = { + description = "Library to provide a file-object wrapping multiple files as virtually like as a single file"; + homepage = "https://codeberg.org/miurahr/multivolume"; + changelog = "https://codeberg.org/miurahr/multivolume/src/tag/v${version}/Changelog.rst#v${version}"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ + pitkling + PopeRigby + ]; + }; +} diff --git a/pkgs/development/python-modules/py7zr/default.nix b/pkgs/development/python-modules/py7zr/default.nix new file mode 100644 index 000000000000..e852a8317212 --- /dev/null +++ b/pkgs/development/python-modules/py7zr/default.nix @@ -0,0 +1,84 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + setuptools-scm, + brotli, + inflate64, + multivolumefile, + psutil, + pybcj, + pycryptodomex, + pyppmd, + pyzstd, + texttable, + py-cpuinfo, + pytest-benchmark, + pytest-remotedata, + pytest-timeout, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "py7zr"; + version = "0.22.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "miurahr"; + repo = "py7zr"; + tag = "v${version}"; + hash = "sha256-YR2cuHZWwqrytidAMbNvRV1/N4UZG8AMMmzcTcG9FvY="; + }; + + postPatch = + # Replace inaccessible mirror (qt.mirrors.tds.net): + # upstream PR: https://github.com/miurahr/py7zr/pull/637 + '' + substituteInPlace tests/test_concurrent.py \ + --replace-fail 'http://qt.mirrors.tds.net/qt/' 'https://download.qt.io/' + ''; + + build-system = [ + setuptools + setuptools-scm + ]; + + dependencies = [ + brotli + inflate64 + multivolumefile + psutil + pybcj + pycryptodomex + pyppmd + pyzstd + texttable + ]; + + nativeCheckInputs = [ + py-cpuinfo + pytest-benchmark + pytest-remotedata + pytest-timeout + pytestCheckHook + ]; + + pythonImportsCheck = [ + "py7zr" + ]; + + meta = { + description = "7zip in Python 3 with ZStandard, PPMd, LZMA2, LZMA1, Delta, BCJ, BZip2"; + homepage = "https://github.com/miurahr/py7zr"; + changelog = "https://github.com/miurahr/py7zr/blob/v${version}/docs/Changelog.rst#v${ + builtins.replaceStrings [ "." ] [ "" ] version + }"; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ + pitkling + PopeRigby + ]; + }; +} diff --git a/pkgs/development/python-modules/pybcj/default.nix b/pkgs/development/python-modules/pybcj/default.nix new file mode 100644 index 000000000000..c82a9bff2a95 --- /dev/null +++ b/pkgs/development/python-modules/pybcj/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchFromGitea, + setuptools, + setuptools-scm, + hypothesis, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "pybcj"; + version = "1.0.3"; + pyproject = true; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "miurahr"; + repo = "pybcj"; + tag = "v${version}"; + hash = "sha256-ExSt7E7ZaVEa0NwAQHU0fOaXJW9jYmEUUy/1iUilGz8="; + }; + + build-system = [ + setuptools + setuptools-scm + ]; + + nativeCheckInputs = [ + hypothesis + pytestCheckHook + ]; + + pythonImportsCheck = [ + "bcj" + ]; + + meta = { + description = "BCJ (Branch-Call-Jump) filter for Python"; + homepage = "https://codeberg.org/miurahr/pybcj"; + changelog = "https://codeberg.org/miurahr/pybcj/src/tag/v${version}/Changelog.rst#v${version}"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ + pitkling + PopeRigby + ]; + }; +} diff --git a/pkgs/development/python-modules/pyppmd/default.nix b/pkgs/development/python-modules/pyppmd/default.nix new file mode 100644 index 000000000000..511b696e17d6 --- /dev/null +++ b/pkgs/development/python-modules/pyppmd/default.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitea, + setuptools, + setuptools-scm, + hypothesis, + pytest-benchmark, + pytest-timeout, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "pyppmd"; + version = "1.1.1"; + pyproject = true; + + src = fetchFromGitea { + domain = "codeberg.org"; + owner = "miurahr"; + repo = "pyppmd"; + tag = "v${version}"; + hash = "sha256-0t1vyVMtmhb38C2teJ/Lq7dx4usm4Bzx+k7Zalf/nXE="; + }; + + build-system = [ + setuptools + setuptools-scm + ]; + + nativeCheckInputs = [ + hypothesis + pytest-benchmark + pytest-timeout + pytestCheckHook + ]; + + pythonImportsCheck = [ + "pyppmd" + ]; + + meta = { + description = "PPMd compression/decompression library"; + homepage = "https://codeberg.org/miurahr/pyppmd"; + changelog = "https://codeberg.org/miurahr/pyppmd/src/tag/v${version}/Changelog.rst#v${version}"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ + pitkling + PopeRigby + ]; + }; +} diff --git a/pkgs/development/python-modules/pyzstd/default.nix b/pkgs/development/python-modules/pyzstd/default.nix index 62e77d821d08..df57669e8dcf 100644 --- a/pkgs/development/python-modules/pyzstd/default.nix +++ b/pkgs/development/python-modules/pyzstd/default.nix @@ -56,6 +56,7 @@ buildPythonPackage rec { license = lib.licenses.bsd3; maintainers = with lib.maintainers; [ MattSturgeon + pitkling PopeRigby ]; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bd1df376f72d..5b3e79a75a6f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1058,6 +1058,8 @@ with pkgs; pricehist = python3Packages.callPackage ../tools/misc/pricehist { }; + py7zr = with python3Packages; toPythonApplication py7zr; + q = callPackage ../tools/networking/q { }; qFlipper = libsForQt5.callPackage ../tools/misc/qflipper { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 29594d1af46c..dd62d638acfb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6396,6 +6396,8 @@ self: super: with self; { infinity = callPackage ../development/python-modules/infinity { }; + inflate64 = callPackage ../development/python-modules/inflate64 { }; + inflect = callPackage ../development/python-modules/inflect { }; inflection = callPackage ../development/python-modules/inflection { }; @@ -8702,6 +8704,8 @@ self: super: with self; { multitasking = callPackage ../development/python-modules/multitasking { }; + multivolumefile = callPackage ../development/python-modules/multivolumefile { }; + munch = callPackage ../development/python-modules/munch { }; mung = callPackage ../development/python-modules/mung { }; @@ -10714,6 +10718,8 @@ self: super: with self; { py65 = callPackage ../development/python-modules/py65 { }; + py7zr = callPackage ../development/python-modules/py7zr { }; + pyabpoa = toPythonModule (pkgs.abpoa.override { enablePython = true; python3Packages = self; @@ -10729,6 +10735,8 @@ self: super: with self; { pyatome = callPackage ../development/python-modules/pyatome { }; + pybcj = callPackage ../development/python-modules/pybcj { }; + pycketcasts = callPackage ../development/python-modules/pycketcasts { }; pycolorecho = callPackage ../development/python-modules/pycolorecho { }; @@ -10858,6 +10866,8 @@ self: super: with self; { pypoolstation = callPackage ../development/python-modules/pypoolstation { }; + pyppmd = callPackage ../development/python-modules/pyppmd { }; + pyrail = callPackage ../development/python-modules/pyrail { }; pyrdfa3 = callPackage ../development/python-modules/pyrdfa3 { };