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 17 }: 18 18 19 19 let 20 - version = "1.14.4"; 20 + version = "1.16.1"; 21 21 22 22 src = fetchFromGitHub { 23 23 owner = "paperless-ngx"; 24 24 repo = "paperless-ngx"; 25 25 rev = "refs/tags/v${version}"; 26 - hash = "sha256-9+8XqENpSdsND6g59oJkVoCe5tJ1Pwo8HD7Cszv/t7o="; 26 + hash = "sha256-KmCUViKyjS/1+PL48TOeamYjSkg4J6ywvHgcIhNtVss="; 27 27 }; 28 28 29 29 # Use specific package versions required by paperless-ngx ··· 31 31 packageOverrides = self: super: { 32 32 django = super.django_4; 33 33 34 - aioredis = super.aioredis.overridePythonAttrs (oldAttrs: rec { 35 - version = "1.3.1"; 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"; 36 38 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 39 rev = version; 49 - sha256 = "sha256-bKrPLbD9zG7DwIYBst1cb+zkDsM8B02wh3D80iortpw="; 40 + hash = "sha256-IKPTQ4n/j/W292F0JpSEUC0X8E1tr961WEcNCN5ymoU="; 50 41 }; 51 - propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ self.daphne ]; 52 - pytestFlagsArray = [ "--asyncio-mode=auto" ]; 53 42 }); 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 43 }; 67 44 }; 68 45 ··· 82 59 pname = "paperless-ngx-frontend"; 83 60 inherit version src; 84 61 85 - npmDepsHash = "sha256-XTk4DpQAU/rI2XoUvLm0KVjuXFWdz2wb2EAg8EBVEdU="; 62 + npmDepsHash = "sha256-GDdHlrU1x/uxDy4mwK7G4F9b7AJat3nhQESUpfDdKeE="; 86 63 87 64 nativeBuildInputs = [ 88 65 python3 ··· 118 95 ]; 119 96 120 97 propagatedBuildInputs = with python.pkgs; [ 121 - aioredis 122 98 amqp 123 99 anyio 124 100 asgiref ··· 142 118 concurrent-log-handler 143 119 constantly 144 120 cryptography 145 - daphne 146 121 dateparser 147 122 django-celery-results 148 123 django-cors-headers ··· 150 125 django-extensions 151 126 django-filter 152 127 django-guardian 153 - django-ipware 154 128 django 155 129 djangorestframework-guardian2 156 130 djangorestframework ··· 174 148 msgpack 175 149 mysqlclient 176 150 nltk 177 - numpy 178 151 ocrmypdf 179 152 packaging 180 153 pathvalidate 181 154 pdf2image 182 - pdfminer-six 183 155 pikepdf 184 156 pillow 185 157 pluggy ··· 192 164 pyopenssl 193 165 python-dateutil 194 166 python-dotenv 167 + python-ipware 195 168 python-gnupg 196 169 python-magic 197 170 pytz ··· 209 182 sniffio 210 183 sqlparse 211 184 threadpoolctl 212 - tika 185 + tika-client 213 186 tornado 214 187 tqdm 215 188 twisted ··· 266 239 ''; 267 240 268 241 nativeCheckInputs = with python.pkgs; [ 242 + daphne 269 243 factory_boy 270 244 imagehash 245 + pdfminer-six 271 246 pytest-django 272 247 pytest-env 248 + pytest-httpx 273 249 pytest-xdist 274 250 pytestCheckHook 251 + reportlab 275 252 ]; 276 253 277 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 7829 7830 7830 python-ipmi = callPackage ../development/python-modules/python-ipmi { }; 7831 7831 7832 + python-ipware = callPackage ../development/python-modules/python-ipware { }; 7833 + 7832 7834 python-ironicclient = callPackage ../development/python-modules/python-ironicclient { }; 7833 7835 7834 7836 python-izone = callPackage ../development/python-modules/python-izone { }; ··· 12199 12201 tifffile = callPackage ../development/python-modules/tifffile { }; 12200 12202 12201 12203 tika = callPackage ../development/python-modules/tika { }; 12204 + 12205 + tika-client = callPackage ../development/python-modules/tika-client { }; 12202 12206 12203 12207 tiktoken = callPackage ../development/python-modules/tiktoken { }; 12204 12208