pretalx: 2025.2.2 -> 2026.1.0
https://pretalx.com/p/news/releasing-pretalx-2026-1-0/ https://docs.pretalx.org/changelog/v2026.1.0/ Fixes: GHSA-jm8c-9f3j-4378, GHSA-jm8c-9f3j-4378
This commit is contained in:
@@ -2,38 +2,27 @@
|
||||
lib,
|
||||
buildNpmPackage,
|
||||
gettext,
|
||||
python3,
|
||||
python314,
|
||||
fetchFromGitHub,
|
||||
plugins ? [ ],
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
let
|
||||
python = python3.override {
|
||||
python = python314.override {
|
||||
self = python;
|
||||
packageOverrides = final: prev: {
|
||||
django = prev.django_5;
|
||||
|
||||
django-countries = prev.django-countries.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "8.1.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "SmileyChris";
|
||||
repo = "django-countries";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-KtBFSkYNKwivCFlqlWm4idiMybqsqiV0SNZx3egLl6c=";
|
||||
};
|
||||
build-system = with final; [ uv-build ];
|
||||
});
|
||||
django = prev.django_6;
|
||||
};
|
||||
};
|
||||
|
||||
version = "2025.2.2";
|
||||
version = "2026.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pretalx";
|
||||
repo = "pretalx";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-2qru52/ZALBAdRh0I+3VimVsiRl71YZgbSUD/LdoA/0=";
|
||||
hash = "sha256-oSqeqVQ/L6DBI2ZP0h+qz2QBB4evt7V99tLMTkXvAic=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
@@ -55,7 +44,7 @@ let
|
||||
|
||||
sourceRoot = "${src.name}/src/pretalx/frontend/schedule-editor";
|
||||
|
||||
npmDepsHash = "sha256-voHiml0nFWZIST39D5ErB0xTiWAOHN9OZinYutuQcdg=";
|
||||
npmDepsHash = "sha256-66PA2COL3lqMspYGoF/bOJje5URRu1voQbZspM7DTxs=";
|
||||
|
||||
npmBuildScript = "build";
|
||||
|
||||
@@ -131,10 +120,8 @@ python.pkgs.buildPythonApplication rec {
|
||||
diff-match-patch
|
||||
django
|
||||
django-context-decorator
|
||||
django-countries
|
||||
django-csp
|
||||
django-filter
|
||||
django-formset-js-improved
|
||||
django-formtools
|
||||
django-hierarkey
|
||||
django-i18nfield
|
||||
@@ -159,6 +146,7 @@ python.pkgs.buildPythonApplication rec {
|
||||
]
|
||||
++ beautifulsoup4.optional-dependencies.lxml
|
||||
++ django.optional-dependencies.argon2
|
||||
++ whitenoise.optional-dependencies.brotli
|
||||
++ plugins;
|
||||
|
||||
optional-dependencies = {
|
||||
@@ -194,15 +182,16 @@ python.pkgs.buildPythonApplication rec {
|
||||
|
||||
preCheck = ''
|
||||
export PRETALX_CONFIG_FILE="$src/src/tests/ci_sqlite.cfg"
|
||||
cd src
|
||||
'';
|
||||
|
||||
nativeCheckInputs =
|
||||
with python.pkgs;
|
||||
[
|
||||
faker
|
||||
factory-boy
|
||||
freezegun
|
||||
jsonschema
|
||||
polib
|
||||
pytest-cov-stub
|
||||
pytest-django
|
||||
pytest-mock
|
||||
@@ -213,21 +202,8 @@ python.pkgs.buildPythonApplication rec {
|
||||
++ lib.concatAttrValues optional-dependencies;
|
||||
|
||||
disabledTests = [
|
||||
# tries to run npm run i18n:extract
|
||||
"test_common_custom_makemessages_does_not_blow_up"
|
||||
# Expected to perform X queries or less but Y were done
|
||||
"test_can_see_schedule"
|
||||
"test_schedule_export_public"
|
||||
"test_schedule_frab_json_export"
|
||||
"test_schedule_frab_xcal_export"
|
||||
"test_schedule_frab_xml_export"
|
||||
"test_schedule_frab_xml_export_control_char"
|
||||
"test_schedule_page_text_list"
|
||||
"test_schedule_page_text_table"
|
||||
"test_schedule_page_text_wrong_format"
|
||||
"test_versioned_schedule_page"
|
||||
# Test is racy
|
||||
"test_can_reset_password_by_email"
|
||||
# assert 'tests.dummy_app' in ['pretalx_pages']
|
||||
"test_event_wizard_plugin_form_init_creates_field_for_installed_plugins"
|
||||
];
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/src/pretalx/common/management/commands/rebuild.py b/src/pretalx/common/management/commands/rebuild.py
|
||||
index 45c83aab3..8c8c1e590 100644
|
||||
index b7412498f..f9e2e24c3 100644
|
||||
--- a/src/pretalx/common/management/commands/rebuild.py
|
||||
+++ b/src/pretalx/common/management/commands/rebuild.py
|
||||
@@ -45,16 +45,6 @@ def handle(self, *args, **options):
|
||||
@@ -57,16 +57,6 @@ def handle(self, *args, **options):
|
||||
call_command(
|
||||
"collectstatic", verbosity=silent, interactive=False, clear=options["clear"]
|
||||
)
|
||||
@@ -14,8 +14,8 @@ index 45c83aab3..8c8c1e590 100644
|
||||
- env["OUT_DIR"] = str(settings.STATIC_ROOT)
|
||||
- env["BASE_URL"] = settings.STATIC_URL
|
||||
- if options["npm_install"] or not (frontend_dir / "node_modules").exists():
|
||||
- subprocess.check_call(["npm", "ci"], cwd=frontend_dir)
|
||||
- subprocess.check_call(["npm", "run", "build"], cwd=frontend_dir, env=env)
|
||||
- subprocess.check_call(["npm", "ci"], cwd=frontend_dir) # noqa: S607 -- npm is commonly installed in user paths
|
||||
- subprocess.check_call(["npm", "run", "build"], cwd=frontend_dir, env=env) # noqa: S607 -- npm is commonly installed in user paths
|
||||
|
||||
# This fails if we don't have db access, which is fine
|
||||
with suppress(Exception):
|
||||
|
||||
Reference in New Issue
Block a user