nixpkgs/pkgs/applications/misc/tandoor-recipes/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

169 lines
3.5 KiB
Nix
Raw Normal View History

2021-11-26 17:00:14 +00:00
{ callPackage
2022-09-17 16:07:18 +00:00
, nixosTests
2021-11-26 17:00:14 +00:00
, python3
2023-04-04 06:18:44 +00:00
, fetchFromGitHub
, fetchpatch
2021-11-26 17:00:14 +00:00
}:
let
2023-12-10 13:54:06 +00:00
python = python3.override {
packageOverrides = self: super: {
validators = super.validators.overridePythonAttrs (_: rec {
version = "0.20.0";
src = fetchFromGitHub {
owner = "python-validators";
repo = "validators";
rev = version;
hash = "sha256-ZnLyTHlsrXthGnaPzlV2ga/UTm5SSEHLTwC/tobiPak=";
};
propagatedBuildInputs = [ super.decorator super.six ];
});
};
};
2021-11-26 17:00:14 +00:00
common = callPackage ./common.nix { };
frontend = callPackage ./frontend.nix { };
in
python.pkgs.pythonPackages.buildPythonPackage rec {
pname = "tandoor-recipes";
inherit (common) version src;
format = "other";
patches = [
2024-04-06 14:02:36 +00:00
./pytest-xdist.patch # adapt pytest.ini the use $NIX_BUILD_CORES
2021-11-26 17:00:14 +00:00
];
2024-04-06 14:02:36 +00:00
postPatch = ''
substituteInPlace pytest.ini --subst-var NIX_BUILD_CORES
'';
2021-11-26 17:00:14 +00:00
propagatedBuildInputs = with python.pkgs; [
2024-04-06 14:02:36 +00:00
aiohttp
2021-11-26 17:00:14 +00:00
beautifulsoup4
bleach
bleach-allowlist
boto3
cryptography
django
django-allauth
django-annoying
django-auth-ldap
django-cleanup
django-cors-headers
django-crispy-forms
2023-12-06 22:09:34 +00:00
django-crispy-bootstrap4
2021-11-26 17:00:14 +00:00
django-hcaptcha
django-js-reverse
django-oauth-toolkit
django-prometheus
django-scopes
django-storages
django-tables2
django-webpack-loader
django-treebeard
2021-11-26 17:00:14 +00:00
djangorestframework
drf-writable-nested
gunicorn
icalendar
jinja2
lxml
markdown
microdata
pillow
psycopg2
pyppeteer
python-dotenv
pytube
pyyaml
recipe-scrapers
requests
six
uritemplate
validators
webdavclient3
whitenoise
];
configurePhase = ''
runHook preConfigure
ln -sf ${frontend}/ cookbook/static/vue
cp ${frontend}/webpack-stats.json vue/
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
# Disable debug logging
2021-11-26 17:00:14 +00:00
export DEBUG=0
# Avoid dependency on django debug toolbar
export DEBUG_TOOLBAR=0
2021-11-26 17:00:14 +00:00
# See https://github.com/TandoorRecipes/recipes/issues/2043
mkdir cookbook/static/themes/maps/
touch cookbook/static/themes/maps/style.min.css.map
touch cookbook/static/themes/bootstrap.min.css.map
touch cookbook/static/css/bootstrap-vue.min.css.map
${python.pythonOnBuildForHost.interpreter} manage.py collectstatic_js_reverse
${python.pythonOnBuildForHost.interpreter} manage.py collectstatic
2021-11-26 17:00:14 +00:00
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/lib
cp -r . $out/lib/tandoor-recipes
chmod +x $out/lib/tandoor-recipes/manage.py
makeWrapper $out/lib/tandoor-recipes/manage.py $out/bin/tandoor-recipes \
--prefix PYTHONPATH : "$PYTHONPATH"
2022-10-10 20:55:11 +00:00
# usually copied during frontend build (see vue.config.js)
cp vue/src/sw.js $out/lib/tandoor-recipes/cookbook/templates/
2021-11-26 17:00:14 +00:00
runHook postInstall
'';
nativeCheckInputs = with python.pkgs; [
2024-04-06 14:02:36 +00:00
mock
2021-11-26 17:00:14 +00:00
pytestCheckHook
2024-04-06 14:02:36 +00:00
pytest-asyncio
pytest-cov
2021-11-26 17:00:14 +00:00
pytest-django
pytest-factoryboy
2024-04-06 14:02:36 +00:00
pytest-html
pytest-xdist
2021-11-26 17:00:14 +00:00
];
2023-12-06 22:09:34 +00:00
# flaky
disabledTests = [
"test_search_count"
2024-02-03 22:12:50 +00:00
"test_url_import_regex_replace"
2024-04-06 14:02:36 +00:00
"test_delete"
2023-12-06 22:09:34 +00:00
];
2021-11-26 17:00:14 +00:00
passthru = {
inherit frontend python;
updateScript = ./update.sh;
2022-09-17 16:07:18 +00:00
tests = {
inherit (nixosTests) tandoor-recipes;
};
2021-11-26 17:00:14 +00:00
};
meta = common.meta // {
description = ''
Application for managing recipes, planning meals, building shopping lists
and much much more!
'';
2024-02-11 02:19:15 +00:00
mainProgram = "tandoor-recipes";
2021-11-26 17:00:14 +00:00
};
}