mirror of
https://github.com/JulienMalka/snowfield.git
synced 2025-03-27 22:30:54 +01:00
Fixed paperless not building
This commit is contained in:
parent
a5a55af5d5
commit
0fad8200a3
2 changed files with 203 additions and 0 deletions
|
@ -33,6 +33,7 @@ in
|
||||||
flaresolverr = prev.pkgs.callPackage ../packages/flaresolverr { };
|
flaresolverr = prev.pkgs.callPackage ../packages/flaresolverr { };
|
||||||
htpdate = prev.pkgs.callPackage ../packages/htpdate { };
|
htpdate = prev.pkgs.callPackage ../packages/htpdate { };
|
||||||
authelia = prev.pkgs.callPackage ../packages/authelia { };
|
authelia = prev.pkgs.callPackage ../packages/authelia { };
|
||||||
|
paperless-ng = prev.pkgs.callPackage ../packages/paperless-ng { };
|
||||||
})
|
})
|
||||||
inputs.neovim-nightly-overlay.overlay
|
inputs.neovim-nightly-overlay.overlay
|
||||||
];
|
];
|
||||||
|
|
202
packages/paperless-ng/default.nix
Normal file
202
packages/paperless-ng/default.nix
Normal file
|
@ -0,0 +1,202 @@
|
||||||
|
{ lib
|
||||||
|
, fetchurl
|
||||||
|
, nixosTests
|
||||||
|
, python3
|
||||||
|
, ghostscript
|
||||||
|
, imagemagick
|
||||||
|
, jbig2enc
|
||||||
|
, optipng
|
||||||
|
, pngquant
|
||||||
|
, qpdf
|
||||||
|
, tesseract4
|
||||||
|
, unpaper
|
||||||
|
, liberation_ttf
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
py = python3.override {
|
||||||
|
packageOverrides = self: super: {
|
||||||
|
django = super.django_3;
|
||||||
|
django-picklefield = super.django-picklefield.overrideAttrs (oldAttrs: {
|
||||||
|
# Checks do not pass with django 3
|
||||||
|
doInstallCheck = false;
|
||||||
|
});
|
||||||
|
# Avoid warning in django-q versions > 1.3.4
|
||||||
|
# https://github.com/jonaswinkler/paperless-ng/issues/857
|
||||||
|
# https://github.com/Koed00/django-q/issues/526
|
||||||
|
django-q = super.django-q.overridePythonAttrs (oldAttrs: rec {
|
||||||
|
version = "1.3.4";
|
||||||
|
src = oldAttrs.src.override {
|
||||||
|
inherit version;
|
||||||
|
sha256 = "Uj1U3PG2YVLBtlj5FPAO07UYo0MqnezUiYc4yo274Q8=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
# Incompatible with aioredis 2
|
||||||
|
aioredis = super.aioredis.overridePythonAttrs (oldAttrs: rec {
|
||||||
|
version = "1.3.1";
|
||||||
|
src = oldAttrs.src.override {
|
||||||
|
inherit version;
|
||||||
|
sha256 = "0fi7jd5hlx8cnv1m97kv9hc4ih4l8v15wzkqwsp73is4n0qazy0m";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
path = lib.makeBinPath [ ghostscript imagemagick jbig2enc optipng pngquant qpdf tesseract4 unpaper ];
|
||||||
|
in
|
||||||
|
py.pkgs.pythonPackages.buildPythonApplication rec {
|
||||||
|
pname = "paperless-ng";
|
||||||
|
version = "1.5.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/jonaswinkler/paperless-ng/releases/download/ng-${version}/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "oVSq0AWksuWC81MF5xiZ6ZbdKKtqqphmL+xIzJLaDMw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
format = "other";
|
||||||
|
|
||||||
|
# Make bind address configurable
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace gunicorn.conf.py --replace "bind = '0.0.0.0:8000'" ""
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = with py.pkgs.pythonPackages; [
|
||||||
|
aioredis
|
||||||
|
arrow
|
||||||
|
asgiref
|
||||||
|
async-timeout
|
||||||
|
attrs
|
||||||
|
autobahn
|
||||||
|
automat
|
||||||
|
blessed
|
||||||
|
certifi
|
||||||
|
cffi
|
||||||
|
channels-redis
|
||||||
|
channels
|
||||||
|
chardet
|
||||||
|
click
|
||||||
|
coloredlogs
|
||||||
|
concurrent-log-handler
|
||||||
|
constantly
|
||||||
|
cryptography
|
||||||
|
daphne
|
||||||
|
dateparser
|
||||||
|
django-cors-headers
|
||||||
|
django_extensions
|
||||||
|
django-filter
|
||||||
|
django-picklefield
|
||||||
|
django-q
|
||||||
|
django
|
||||||
|
djangorestframework
|
||||||
|
filelock
|
||||||
|
fuzzywuzzy
|
||||||
|
gunicorn
|
||||||
|
h11
|
||||||
|
hiredis
|
||||||
|
httptools
|
||||||
|
humanfriendly
|
||||||
|
hyperlink
|
||||||
|
idna
|
||||||
|
imap-tools
|
||||||
|
img2pdf
|
||||||
|
incremental
|
||||||
|
inotify-simple
|
||||||
|
inotifyrecursive
|
||||||
|
joblib
|
||||||
|
langdetect
|
||||||
|
lxml
|
||||||
|
msgpack
|
||||||
|
numpy
|
||||||
|
ocrmypdf
|
||||||
|
pathvalidate
|
||||||
|
pdfminer
|
||||||
|
pikepdf
|
||||||
|
pillow
|
||||||
|
pluggy
|
||||||
|
portalocker
|
||||||
|
psycopg2
|
||||||
|
pyasn1-modules
|
||||||
|
pyasn1
|
||||||
|
pycparser
|
||||||
|
pyopenssl
|
||||||
|
python-dateutil
|
||||||
|
python-dotenv
|
||||||
|
python-gnupg
|
||||||
|
python-Levenshtein
|
||||||
|
python_magic
|
||||||
|
pytz
|
||||||
|
pyyaml
|
||||||
|
redis
|
||||||
|
regex
|
||||||
|
reportlab
|
||||||
|
requests
|
||||||
|
scikit-learn
|
||||||
|
scipy
|
||||||
|
service-identity
|
||||||
|
six
|
||||||
|
sortedcontainers
|
||||||
|
sqlparse
|
||||||
|
threadpoolctl
|
||||||
|
tika
|
||||||
|
tqdm
|
||||||
|
twisted.extras.tls
|
||||||
|
txaio
|
||||||
|
tzlocal
|
||||||
|
urllib3
|
||||||
|
uvicorn
|
||||||
|
uvloop
|
||||||
|
watchdog
|
||||||
|
watchgod
|
||||||
|
wcwidth
|
||||||
|
websockets
|
||||||
|
whitenoise
|
||||||
|
whoosh
|
||||||
|
zope_interface
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
checkInputs = with py.pkgs.pythonPackages; [
|
||||||
|
pytest
|
||||||
|
pytest-cov
|
||||||
|
pytest-django
|
||||||
|
pytest-env
|
||||||
|
pytest-sugar
|
||||||
|
pytest-xdist
|
||||||
|
factory_boy
|
||||||
|
];
|
||||||
|
|
||||||
|
# The tests require:
|
||||||
|
# - PATH with runtime binaries
|
||||||
|
# - A temporary HOME directory for gnupg
|
||||||
|
# - XDG_DATA_DIRS with test-specific fonts
|
||||||
|
# checkPhase = ''
|
||||||
|
# pushd src
|
||||||
|
# PATH="${path}:$PATH" HOME=$(mktemp -d) XDG_DATA_DIRS="${liberation_ttf}/share:$XDG_DATA_DIRS" pytest
|
||||||
|
# popd
|
||||||
|
# '';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/lib
|
||||||
|
cp -r . $out/lib/paperless-ng
|
||||||
|
chmod +x $out/lib/paperless-ng/src/manage.py
|
||||||
|
makeWrapper $out/lib/paperless-ng/src/manage.py $out/bin/paperless-ng \
|
||||||
|
--prefix PYTHONPATH : "$PYTHONPATH" \
|
||||||
|
--prefix PATH : "${path}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
# PYTHONPATH of all dependencies used by the package
|
||||||
|
pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs;
|
||||||
|
inherit path;
|
||||||
|
|
||||||
|
tests = { inherit (nixosTests) paperless-ng; };
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A supercharged version of paperless: scan, index, and archive all of your physical documents";
|
||||||
|
homepage = "https://paperless-ng.readthedocs.io/en/latest/";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
maintainers = with maintainers; [ earvstedt Flakebi ];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue