Merge pull request #232210 from e1mo/paperless-1-14-5

paperless-ngx: 1.14.4 -> 1.16.1, python3Packages.python-ipware: init at 0.9.0, python3Packages.tika-client: init at 0.1.0

authored by Martin Weinelt and committed by GitHub f4b5cda2 328523b5

+95 -37
+14 -37
pkgs/applications/office/paperless-ngx/default.nix
··· 17 }: 18 19 let 20 - version = "1.14.4"; 21 22 src = fetchFromGitHub { 23 owner = "paperless-ngx"; 24 repo = "paperless-ngx"; 25 rev = "refs/tags/v${version}"; 26 - hash = "sha256-9+8XqENpSdsND6g59oJkVoCe5tJ1Pwo8HD7Cszv/t7o="; 27 }; 28 29 # Use specific package versions required by paperless-ngx ··· 31 packageOverrides = self: super: { 32 django = super.django_4; 33 34 - aioredis = super.aioredis.overridePythonAttrs (oldAttrs: rec { 35 - version = "1.3.1"; 36 src = oldAttrs.src.override { 37 - inherit version; 38 - sha256 = "0fi7jd5hlx8cnv1m97kv9hc4ih4l8v15wzkqwsp73is4n0qazy0m"; 39 - }; 40 - }); 41 - 42 - channels = super.channels.overridePythonAttrs (oldAttrs: rec { 43 - version = "3.0.5"; 44 - pname = "channels"; 45 - src = fetchFromGitHub { 46 - owner = "django"; 47 - repo = pname; 48 rev = version; 49 - sha256 = "sha256-bKrPLbD9zG7DwIYBst1cb+zkDsM8B02wh3D80iortpw="; 50 }; 51 - propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ self.daphne ]; 52 - pytestFlagsArray = [ "--asyncio-mode=auto" ]; 53 }); 54 - 55 - daphne = super.daphne.overridePythonAttrs (oldAttrs: rec { 56 - version = "3.0.2"; 57 - pname = "daphne"; 58 - src = fetchFromGitHub { 59 - owner = "django"; 60 - repo = pname; 61 - rev = version; 62 - hash = "sha256-KWkMV4L7bA2Eo/u4GGif6lmDNrZAzvYyDiyzyWt9LeI="; 63 - }; 64 - }); 65 - 66 }; 67 }; 68 ··· 82 pname = "paperless-ngx-frontend"; 83 inherit version src; 84 85 - npmDepsHash = "sha256-XTk4DpQAU/rI2XoUvLm0KVjuXFWdz2wb2EAg8EBVEdU="; 86 87 nativeBuildInputs = [ 88 python3 ··· 118 ]; 119 120 propagatedBuildInputs = with python.pkgs; [ 121 - aioredis 122 amqp 123 anyio 124 asgiref ··· 142 concurrent-log-handler 143 constantly 144 cryptography 145 - daphne 146 dateparser 147 django-celery-results 148 django-cors-headers ··· 150 django-extensions 151 django-filter 152 django-guardian 153 - django-ipware 154 django 155 djangorestframework-guardian2 156 djangorestframework ··· 174 msgpack 175 mysqlclient 176 nltk 177 - numpy 178 ocrmypdf 179 packaging 180 pathvalidate 181 pdf2image 182 - pdfminer-six 183 pikepdf 184 pillow 185 pluggy ··· 192 pyopenssl 193 python-dateutil 194 python-dotenv 195 python-gnupg 196 python-magic 197 pytz ··· 209 sniffio 210 sqlparse 211 threadpoolctl 212 - tika 213 tornado 214 tqdm 215 twisted ··· 266 ''; 267 268 nativeCheckInputs = with python.pkgs; [ 269 factory_boy 270 imagehash 271 pytest-django 272 pytest-env 273 pytest-xdist 274 pytestCheckHook 275 ]; 276 277 pytestFlagsArray = [
··· 17 }: 18 19 let 20 + version = "1.16.1"; 21 22 src = fetchFromGitHub { 23 owner = "paperless-ngx"; 24 repo = "paperless-ngx"; 25 rev = "refs/tags/v${version}"; 26 + hash = "sha256-KmCUViKyjS/1+PL48TOeamYjSkg4J6ywvHgcIhNtVss="; 27 }; 28 29 # Use specific package versions required by paperless-ngx ··· 31 packageOverrides = self: super: { 32 django = super.django_4; 33 34 + # Paperless tests fail with tika-client==0.1.0. Upstream WIP fix is at 35 + # https://github.com/paperless-ngx/paperless-ngx/pull/3617 36 + tika-client = super.tika-client.overridePythonAttrs (oldAttrs: rec { 37 + version = "0.0.3"; 38 src = oldAttrs.src.override { 39 rev = version; 40 + hash = "sha256-IKPTQ4n/j/W292F0JpSEUC0X8E1tr961WEcNCN5ymoU="; 41 }; 42 }); 43 }; 44 }; 45 ··· 59 pname = "paperless-ngx-frontend"; 60 inherit version src; 61 62 + npmDepsHash = "sha256-GDdHlrU1x/uxDy4mwK7G4F9b7AJat3nhQESUpfDdKeE="; 63 64 nativeBuildInputs = [ 65 python3 ··· 95 ]; 96 97 propagatedBuildInputs = with python.pkgs; [ 98 amqp 99 anyio 100 asgiref ··· 118 concurrent-log-handler 119 constantly 120 cryptography 121 dateparser 122 django-celery-results 123 django-cors-headers ··· 125 django-extensions 126 django-filter 127 django-guardian 128 django 129 djangorestframework-guardian2 130 djangorestframework ··· 148 msgpack 149 mysqlclient 150 nltk 151 ocrmypdf 152 packaging 153 pathvalidate 154 pdf2image 155 pikepdf 156 pillow 157 pluggy ··· 164 pyopenssl 165 python-dateutil 166 python-dotenv 167 + python-ipware 168 python-gnupg 169 python-magic 170 pytz ··· 182 sniffio 183 sqlparse 184 threadpoolctl 185 + tika-client 186 tornado 187 tqdm 188 twisted ··· 239 ''; 240 241 nativeCheckInputs = with python.pkgs; [ 242 + daphne 243 factory_boy 244 imagehash 245 + pdfminer-six 246 pytest-django 247 pytest-env 248 + pytest-httpx 249 pytest-xdist 250 pytestCheckHook 251 + reportlab 252 ]; 253 254 pytestFlagsArray = [
+35
pkgs/development/python-modules/python-ipware/default.nix
···
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , pythonOlder 5 + , unittestCheckHook 6 + }: 7 + buildPythonPackage rec { 8 + pname = "python-ipware"; 9 + version = "0.9.0"; 10 + format = "setuptools"; 11 + 12 + disabled = pythonOlder "3.7"; 13 + 14 + src = fetchFromGitHub { 15 + owner = "un33k"; 16 + repo = "python-ipware"; 17 + rev = "v${version}"; 18 + hash = "sha256-RK624ktIzoLBD/2mB65zcYZ+o8axDE16bJpB6TwG4h4="; 19 + }; 20 + 21 + pythonImportsCheck = [ 22 + "ipware" 23 + ]; 24 + nativeCheckInputs = [ 25 + unittestCheckHook 26 + ]; 27 + 28 + meta = with lib; { 29 + description = "A python package for server applications to retrieve client's IP address"; 30 + homepage = "https://github.com/un33k/python-ipware"; 31 + changelog = "https://github.com/un33k/python-ipware/blob/v${version}/CHANGELOG.md"; 32 + license = licenses.mit; 33 + maintainers = with maintainers; [ e1mo ]; 34 + }; 35 + }
+42
pkgs/development/python-modules/tika-client/default.nix
···
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , pythonOlder 5 + , hatchling 6 + , httpx 7 + }: 8 + buildPythonPackage rec { 9 + pname = "tika-client"; 10 + version = "0.1.0"; 11 + format = "pyproject"; 12 + 13 + disabled = pythonOlder "3.8"; 14 + 15 + src = fetchFromGitHub { 16 + owner = "stumpylog"; 17 + repo = "tika-client"; 18 + rev = version; 19 + hash = "sha256-c/4zoXxxrKA5uIz0esdNBmX1DYOiXrkCH1ePGUpEXRY="; 20 + }; 21 + 22 + propagatedBuildInputs = [ 23 + hatchling 24 + httpx 25 + ]; 26 + pythonImportsCheck = [ 27 + "tika_client" 28 + ]; 29 + # Almost all of the tests (all except one in 0.1.0) fail since there 30 + # is no tika http API endpoint reachable. Since tika is not yet 31 + # packaged for nixpkgs, it seems like an unreasonable amount of effort 32 + # fixing these tests. 33 + doChecks = false; 34 + 35 + meta = with lib; { 36 + description = "A modern Python REST client for Apache Tika server"; 37 + homepage = "https://github.com/stumpylog/tika-client"; 38 + changelog = "https://github.com/stumpylog/tika-client/blob/${version}/CHANGELOG.md"; 39 + license = licenses.gpl3; 40 + maintainers = with maintainers; [ e1mo ]; 41 + }; 42 + }
+4
pkgs/top-level/python-packages.nix
··· 7829 7830 python-ipmi = callPackage ../development/python-modules/python-ipmi { }; 7831 7832 python-ironicclient = callPackage ../development/python-modules/python-ironicclient { }; 7833 7834 python-izone = callPackage ../development/python-modules/python-izone { }; ··· 12199 tifffile = callPackage ../development/python-modules/tifffile { }; 12200 12201 tika = callPackage ../development/python-modules/tika { }; 12202 12203 tiktoken = callPackage ../development/python-modules/tiktoken { }; 12204
··· 7829 7830 python-ipmi = callPackage ../development/python-modules/python-ipmi { }; 7831 7832 + python-ipware = callPackage ../development/python-modules/python-ipware { }; 7833 + 7834 python-ironicclient = callPackage ../development/python-modules/python-ironicclient { }; 7835 7836 python-izone = callPackage ../development/python-modules/python-izone { }; ··· 12201 tifffile = callPackage ../development/python-modules/tifffile { }; 12202 12203 tika = callPackage ../development/python-modules/tika { }; 12204 + 12205 + tika-client = callPackage ../development/python-modules/tika-client { }; 12206 12207 tiktoken = callPackage ../development/python-modules/tiktoken { }; 12208