diff options
Diffstat (limited to 'pkgs/by-name/pr/pretalx')
-rw-r--r-- | pkgs/by-name/pr/pretalx/package.nix | 31 | ||||
-rw-r--r-- | pkgs/by-name/pr/pretalx/plugins/downstream.nix | 30 | ||||
-rw-r--r-- | pkgs/by-name/pr/pretalx/plugins/media-ccc-de.nix | 30 | ||||
-rw-r--r-- | pkgs/by-name/pr/pretalx/plugins/pages.nix | 30 | ||||
-rw-r--r-- | pkgs/by-name/pr/pretalx/plugins/public-voting.nix | 30 | ||||
-rw-r--r-- | pkgs/by-name/pr/pretalx/plugins/venueless.nix | 40 | ||||
-rw-r--r-- | pkgs/by-name/pr/pretalx/plugins/vimeo.nix | 30 | ||||
-rw-r--r-- | pkgs/by-name/pr/pretalx/plugins/youtube.nix | 30 |
8 files changed, 248 insertions, 3 deletions
diff --git a/pkgs/by-name/pr/pretalx/package.nix b/pkgs/by-name/pr/pretalx/package.nix index 9f733eeb8fe4b..8e1c213e2b2ad 100644 --- a/pkgs/by-name/pr/pretalx/package.nix +++ b/pkgs/by-name/pr/pretalx/package.nix @@ -3,6 +3,8 @@ , gettext , python3 , fetchFromGitHub +, fetchpatch2 +, plugins ? [ ] , nixosTests }: @@ -42,7 +44,7 @@ let homepage = "https://github.com/pretalx/pretalx"; changelog = "https://docs.pretalx.org/en/latest/changelog.html"; license = licenses.asl20; - maintainers = teams.c3d2.members; + maintainers = with maintainers; [ hexa] ++ teams.c3d2.members; platforms = platforms.linux; }; @@ -69,6 +71,15 @@ python.pkgs.buildPythonApplication rec { "static" ]; + patches = [ + (fetchpatch2 { + # Backport support for Djangorestframework 3.15.x + name = "pretalx-drf-3.15.patch"; + url = "https://github.com/pretalx/pretalx/commit/43a0416c6968d64ea57720abdb82f482940b11f8.patch"; + hash = "sha256-Iw1xVF7j7c712kwIk1SMbQSF0ixMUZr1BJib3KAb2HY="; + }) + ]; + postPatch = '' substituteInPlace src/pretalx/common/management/commands/rebuild.py \ --replace 'subprocess.check_call(["npm", "run", "build"], cwd=frontend_dir, env=env)' "" @@ -80,15 +91,23 @@ python.pkgs.buildPythonApplication rec { nativeBuildInputs = [ gettext ] ++ (with python.pkgs; [ - pythonRelaxDepsHook setuptools ]); pythonRelaxDeps = [ + "celery" + "css-inline" "cssutils" "django-csp" "django-filter" + "django-hierarkey" + "djangorestframework" + "markdown" + "pillow" "python-dateutil" + "reportlab" + "requests" + "rules" ]; propagatedBuildInputs = with python.pkgs; [ @@ -126,7 +145,7 @@ python.pkgs.buildPythonApplication rec { vobject whitenoise zxcvbn - ] ++ beautifulsoup4.optional-dependencies.lxml; + ] ++ beautifulsoup4.optional-dependencies.lxml ++ plugins; passthru.optional-dependencies = { mysql = with python.pkgs; [ @@ -204,6 +223,12 @@ python.pkgs.buildPythonApplication rec { tests = { inherit (nixosTests) pretalx; }; + plugins = lib.recurseIntoAttrs ( + lib.packagesFromDirectoryRecursive { + inherit (python.pkgs) callPackage; + directory = ./plugins; + } + ); }; inherit meta; diff --git a/pkgs/by-name/pr/pretalx/plugins/downstream.nix b/pkgs/by-name/pr/pretalx/plugins/downstream.nix new file mode 100644 index 0000000000000..074c84a90b031 --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/downstream.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "pretalx-downstream"; + version = "1.2.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-downstream"; + rev = "v${version}"; + hash = "sha256-MzoK/tzf6ajZ/THIXyad/tfb3lsQD9k9J6aBfoP9ONo="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "pretalx_downstream" ]; + + meta = { + description = "Use pretalx passively by importing another event's schedule"; + homepage = "https://github.com/pretalx/pretalx-downstream"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/pr/pretalx/plugins/media-ccc-de.nix b/pkgs/by-name/pr/pretalx/plugins/media-ccc-de.nix new file mode 100644 index 0000000000000..91cb42f791e35 --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/media-ccc-de.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "pretalx-media-ccc-de"; + version = "1.2.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-media-ccc-de"; + rev = "v${version}"; + hash = "sha256-QCnZZpYjHxj92Dl2nRd4lXapufcqRmlVH6LEq0rzQ2U="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "pretalx_media_ccc_de" ]; + + meta = { + description = "Pull recordings from media.ccc.de and embed them in talk pages"; + homepage = "https://github.com/pretalx/pretalx-media-ccc-de"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/pr/pretalx/plugins/pages.nix b/pkgs/by-name/pr/pretalx/plugins/pages.nix new file mode 100644 index 0000000000000..3f8d254542a7c --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/pages.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "pretalx-pages"; + version = "1.4.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-pages"; + rev = "v${version}"; + hash = "sha256-Wzd3uf+mdoyeMCZ4ZYcPLGqlUWCqSL02eeKRubTiH00="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "pretalx_pages" ]; + + meta = { + description = "Static pages for pretalx, e.g. information, venue listings, a Code of Conduct, etc"; + homepage = "https://github.com/pretalx/pretalx-pages"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/pr/pretalx/plugins/public-voting.nix b/pkgs/by-name/pr/pretalx/plugins/public-voting.nix new file mode 100644 index 0000000000000..49439ef92c51b --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/public-voting.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "pretalx-public-voting"; + version = "1.5.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-public-voting"; + rev = "v${version}"; + hash = "sha256-0dSnUVXtWEuu+m5PyFjjM2WVYE3+cNqZYlMkRQlI+2U="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "pretalx_public_voting" ]; + + meta = { + description = "Public voting plugin for pretalx"; + homepage = "https://github.com/pretalx/pretalx-public-voting"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/pr/pretalx/plugins/venueless.nix b/pkgs/by-name/pr/pretalx/plugins/venueless.nix new file mode 100644 index 0000000000000..5d082c9abd6a7 --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/venueless.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + gettext, + setuptools, + django, + pyjwt, +}: + +buildPythonPackage rec { + pname = "pretalx-venueless"; + version = "1.3.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-venueless"; + rev = "v${version}"; + hash = "sha256-h8o5q1roFm8Bct/Qf8obIJYkkGPcz3WJ15quxZH48H8="; + }; + + nativeBuildInputs = [ gettext ]; + + build-system = [ setuptools ]; + + dependencies = [ + django + pyjwt + ]; + + pythonImportsCheck = [ "pretalx_venueless" ]; + + meta = { + description = "Static venueless for pretalx, e.g. information, venue listings, a Code of Conduct, etc"; + homepage = "https://github.com/pretalx/pretalx-venueless"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/pr/pretalx/plugins/vimeo.nix b/pkgs/by-name/pr/pretalx/plugins/vimeo.nix new file mode 100644 index 0000000000000..c823b7bce4b33 --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/vimeo.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "pretalx-vimeo"; + version = "2.2.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-vimeo"; + rev = "v${version}"; + hash = "sha256-CVP9C2wY51p8UDnzPpjzdVv5b9CSVanGbkaJiOo+9eY="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "pretalx_vimeo" ]; + + meta = { + description = "Static vimeo for pretalx, e.g. information, venue listings, a Code of Conduct, etc"; + homepage = "https://github.com/pretalx/pretalx-vimeo"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/pr/pretalx/plugins/youtube.nix b/pkgs/by-name/pr/pretalx/plugins/youtube.nix new file mode 100644 index 0000000000000..4424225c7b091 --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/youtube.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "pretalx-youtube"; + version = "2.1.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-youtube"; + rev = "v${version}"; + hash = "sha256-j3NZ+5QBbdpE2bxenqq5bW/42CWvQ9FqrKMmfYIe4Lo="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "pretalx_youtube" ]; + + meta = { + description = "Static youtube for pretalx, e.g. information, venue listings, a Code of Conduct, etc"; + homepage = "https://github.com/pretalx/pretalx-youtube"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} |