nixpkgs/pkgs/servers/baserow/default.nix

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

161 lines
3.4 KiB
Nix
Raw Normal View History

2022-06-28 09:04:36 +00:00
{ lib
, fetchFromGitLab
2022-08-29 22:08:54 +00:00
, makeWrapper
, python3
, antlr4_9
2022-08-29 22:08:54 +00:00
}:
2022-06-28 09:04:36 +00:00
let
python = python3.override {
self = python;
packageOverrides = self: super: {
antlr4-python3-runtime = super.antlr4-python3-runtime.override {
antlr4 = antlr4_9;
};
2022-06-28 09:04:36 +00:00
baserow_premium = self.buildPythonPackage rec {
pname = "baserow_premium";
version = "1.12.1";
2024-04-30 04:40:25 +00:00
format = "setuptools";
2022-06-28 09:04:36 +00:00
src = fetchFromGitLab {
owner = "bramw";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-zT2afl3QNE2dO3JXjsZXqSmm1lv3EorG3mYZLQQMQ2Q=";
};
2022-06-28 09:04:36 +00:00
sourceRoot = "${src.name}/premium/backend";
2022-06-28 09:04:36 +00:00
doCheck = false;
};
2023-08-02 02:57:48 +00:00
django = super.django_3;
};
};
2022-06-28 09:04:36 +00:00
in
with python.pkgs; buildPythonApplication rec {
2022-06-28 09:04:36 +00:00
pname = "baserow";
2022-10-21 09:14:35 +00:00
version = "1.12.1";
2022-08-29 22:08:54 +00:00
format = "setuptools";
2022-06-28 09:04:36 +00:00
src = fetchFromGitLab {
owner = "bramw";
repo = pname;
2022-08-29 22:08:54 +00:00
rev = "refs/tags/${version}";
2022-10-21 09:14:35 +00:00
hash = "sha256-zT2afl3QNE2dO3JXjsZXqSmm1lv3EorG3mYZLQQMQ2Q=";
2022-06-28 09:04:36 +00:00
};
sourceRoot = "${src.name}/backend";
2022-06-28 09:04:36 +00:00
postPatch = ''
# use input files to not depend on outdated peer dependencies
mv requirements/base.{in,txt}
mv requirements/dev.{in,txt}
2022-06-28 09:04:36 +00:00
# remove dependency constraints
sed -i requirements/base.txt \
-e 's/[~<>=].*//' -i requirements/base.txt \
-e 's/zope-interface/zope.interface/' \
-e 's/\[standard\]//'
2022-06-28 09:04:36 +00:00
'';
2022-10-21 09:14:35 +00:00
nativeBuildInputs = [
makeWrapper
];
2022-08-29 22:08:54 +00:00
2022-06-28 09:04:36 +00:00
propagatedBuildInputs = [
2022-10-21 09:14:35 +00:00
autobahn
2022-06-28 09:04:36 +00:00
advocate
antlr4-python3-runtime
boto3
cached-property
celery-redbeat
channels
channels-redis
2022-10-21 09:14:35 +00:00
daphne
2022-06-28 09:04:36 +00:00
dj-database-url
django-celery-beat
django-celery-email
django-cors-headers
django-health-check
django-redis
django-storages
drf-jwt
drf-spectacular
faker
gunicorn
importlib-resources
itsdangerous
pillow
2023-03-12 18:27:18 +00:00
pyparsing
2022-06-28 09:04:36 +00:00
psutil
psycopg2
redis
regex
requests
service-identity
setuptools
tqdm
twisted
unicodecsv
uvicorn
2022-08-29 22:08:54 +00:00
watchgod
2022-06-28 09:04:36 +00:00
zipp
2022-08-29 22:08:54 +00:00
] ++ uvicorn.optional-dependencies.standard;
postInstall = ''
wrapProgram $out/bin/baserow \
--prefix PYTHONPATH : "$PYTHONPATH" \
--prefix DJANGO_SETTINGS_MODULE : "baserow.config.settings.base"
'';
2022-06-28 09:04:36 +00:00
nativeCheckInputs = [
2022-06-28 09:04:36 +00:00
baserow_premium
boto3
freezegun
httpretty
openapi-spec-validator
pyinstrument
pytestCheckHook
pytest-django
pytest-unordered
responses
zope-interface
2022-06-28 09:04:36 +00:00
];
fixupPhase = ''
cp -r src/baserow/contrib/database/{api,action,trash,formula,file_import} \
$out/${python.sitePackages}/baserow/contrib/database/
cp -r src/baserow/core/management/backup $out/${python.sitePackages}/baserow/core/management/
2022-06-28 09:04:36 +00:00
'';
disabledTests = [
2022-10-21 09:14:35 +00:00
# Disable linting checks
2022-06-28 09:04:36 +00:00
"flake8_plugins"
];
disabledTestPaths = [
# Disable premium tests
"../premium/backend/src/baserow_premium"
"../premium/backend/tests/baserow_premium"
# Disable database related tests
"tests/baserow/contrib/database"
"tests/baserow/api"
"tests/baserow/core"
"tests/baserow/ws"
];
DJANGO_SETTINGS_MODULE = "baserow.config.settings.test";
meta = with lib; {
description = "No-code database and Airtable alternative";
2022-10-21 09:14:35 +00:00
homepage = "https://baserow.io";
2022-06-28 09:04:36 +00:00
license = licenses.mit;
maintainers = with maintainers; [ onny ];
2023-11-23 21:09:35 +00:00
mainProgram = "baserow";
2022-06-28 09:04:36 +00:00
};
}