From b36b95afa176fe4b39ca1c2752623311927fc3c9 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 15 Mar 2024 02:47:05 +0100 Subject: pretix.plugins.passbook: init at 1.13.1 Support for Apple Wallet/Passbook files in pretix --- pkgs/by-name/pr/pretix/plugins/default.nix | 1 + .../pr/pretix/plugins/passbook-openssl.patch | 33 ++++++++++++ pkgs/by-name/pr/pretix/plugins/passbook.nix | 59 ++++++++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 pkgs/by-name/pr/pretix/plugins/passbook-openssl.patch create mode 100644 pkgs/by-name/pr/pretix/plugins/passbook.nix (limited to 'pkgs/by-name') diff --git a/pkgs/by-name/pr/pretix/plugins/default.nix b/pkgs/by-name/pr/pretix/plugins/default.nix index 6ab380409c11..aa5541525293 100644 --- a/pkgs/by-name/pr/pretix/plugins/default.nix +++ b/pkgs/by-name/pr/pretix/plugins/default.nix @@ -3,4 +3,5 @@ }: { + passbook = callPackage ./passbook.nix { }; } diff --git a/pkgs/by-name/pr/pretix/plugins/passbook-openssl.patch b/pkgs/by-name/pr/pretix/plugins/passbook-openssl.patch new file mode 100644 index 000000000000..44c0d56886af --- /dev/null +++ b/pkgs/by-name/pr/pretix/plugins/passbook-openssl.patch @@ -0,0 +1,33 @@ +diff --git a/pretix_passbook/apps.py b/pretix_passbook/apps.py +index e34eee1..a7ad382 100644 +--- a/pretix_passbook/apps.py ++++ b/pretix_passbook/apps.py +@@ -22,15 +22,6 @@ class PassbookApp(AppConfig): + def ready(self): + from . import signals # NOQA + +- @cached_property +- def compatibility_errors(self): +- import shutil +- +- errs = [] +- if not shutil.which("openssl"): +- errs.append("The OpenSSL binary is not installed or not in the PATH.") +- return errs +- + @cached_property + def compatibility_warnings(self): + errs = [] +diff --git a/pretix_passbook/forms.py b/pretix_passbook/forms.py +index 2a38604..aec38de 100644 +--- a/pretix_passbook/forms.py ++++ b/pretix_passbook/forms.py +@@ -41,7 +41,7 @@ class CertificateFileField(forms.FileField): + return SimpleUploadedFile("cert.pem", content, "text/plain") + + openssl_cmd = [ +- "openssl", ++ "@openssl@", + "x509", + "-inform", + "DER", diff --git a/pkgs/by-name/pr/pretix/plugins/passbook.nix b/pkgs/by-name/pr/pretix/plugins/passbook.nix new file mode 100644 index 000000000000..b7d380aa681d --- /dev/null +++ b/pkgs/by-name/pr/pretix/plugins/passbook.nix @@ -0,0 +1,59 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, substituteAll + +# build-system +, pretix-plugin-build +, setuptools + +# runtime +, openssl + +# dependencies +, googlemaps +, wallet-py3k +}: + +buildPythonPackage rec { + pname = "pretix-passbook"; + version = "1.13.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretix"; + repo = "pretix-passbook"; + rev = "v${version}"; + hash = "sha256-bp64wCEMon05JhOaDr/cVbqUxc+7ndcsSuSesxJt8GE="; + }; + + patches = [ + (substituteAll { + src = ./passbook-openssl.patch; + openssl = lib.getExe openssl; + }) + ]; + + build-system = [ + pretix-plugin-build + setuptools + ]; + + dependencies = [ + googlemaps + wallet-py3k + ]; + + doCheck = false; # no tests + + pythonImportsCheck = [ + "pretix_passbook" + ]; + + meta = with lib; { + description = "Support for Apple Wallet/Passbook files in pretix"; + homepage = "https://github.com/pretix/pretix-passbook"; + license = licenses.asl20; + maintainers = with maintainers; [ hexa ]; + }; +} -- cgit 1.4.1