From 6df1c56223496ac21598f24aa409e8e46cbeb5e2 Mon Sep 17 00:00:00 2001 From: Colin Date: Wed, 14 Jun 2023 05:42:44 +0000 Subject: [PATCH] sequoia: 0.28.0 -> 0.30.1 and fetch from the new upstream, since sequoia-sq (the CLI) was split out of the main sequoia repo (the library). - for the record, python bindings were deprecated and split out into their own repo in 0.25.0, but our build script wasn't updated and has been silently not building bindings since then. - python ffi library: - commit which removed them: --- pkgs/tools/security/sequoia/default.nix | 69 ++++--------------------- pkgs/top-level/all-packages.nix | 4 +- pkgs/top-level/python-packages.nix | 5 +- 3 files changed, 13 insertions(+), 65 deletions(-) diff --git a/pkgs/tools/security/sequoia/default.nix b/pkgs/tools/security/sequoia/default.nix index aed53b57f55d..939e8ab6b77d 100644 --- a/pkgs/tools/security/sequoia/default.nix +++ b/pkgs/tools/security/sequoia/default.nix @@ -1,81 +1,38 @@ { stdenv , fetchFromGitLab -, fetchpatch , lib , darwin -, git , nettle , nix-update-script -, cargo -, rustc , rustPlatform , pkg-config , openssl , sqlite -, capnproto -, ensureNewerSourcesForZipFilesHook -, pythonSupport ? true -, pythonPackages ? null }: -assert pythonSupport -> pythonPackages != null; - rustPlatform.buildRustPackage rec { pname = "sequoia"; - # Upstream has separate version numbering for the library and the CLI frontend. - # This derivation provides the CLI frontend, and thus uses its version number. - version = "0.28.0"; + version = "0.30.1"; src = fetchFromGitLab { owner = "sequoia-pgp"; - repo = "sequoia"; - rev = "sq/v${version}"; - hash = "sha256-T7WOYMqyBeVHs+4w8El99t0NTUKqMW1QeAkNGKcaWr0="; + repo = "sequoia-sq"; + rev = "v${version}"; + hash = "sha256-uFcmuyz0JsUTvKqCb+3t8JdB4Dn4hJq00jeEhvMNW18="; }; - cargoHash = "sha256-zaAAEFBumfHU4hGzAOmLvBu3X4J7LAlmexqixHtVPr8="; - - patches = [ - (fetchpatch { - url = "https://gitlab.com/sequoia-pgp/sequoia/-/commit/4dc6e624c2394936dc447f18aedb4a4810bb2ddb.patch"; - hash = "sha256-T6hh7U1gvKvyn/OCuJBvLM7TG1VFnpvpAiWS72m3P6I="; - }) - ]; + cargoHash = "sha256-9UQojec2jy9DVwQQplaKuPWYCeRXtWtdzj1d/LLyfJQ="; nativeBuildInputs = [ pkg-config - cargo - rustc - git rustPlatform.bindgenHook - ensureNewerSourcesForZipFilesHook - capnproto - ] ++ - lib.optionals pythonSupport [ pythonPackages.setuptools ] - ; - - nativeCheckInputs = lib.optionals pythonSupport [ - pythonPackages.pytest - pythonPackages.pytest-runner ]; buildInputs = [ openssl sqlite nettle - ] ++ lib.optionals pythonSupport [ pythonPackages.python pythonPackages.cffi ] - ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ] - ; - - makeFlags = [ - "PREFIX=${placeholder "out"}" - # Defaults to "ginstall" from some reason, although upstream's Makefiles check uname - "INSTALL=install" - ]; - - buildFlags = [ - "build-release" - ]; + ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ]; # Sometimes, tests fail on CI (ofborg) & hydra without this checkFlags = [ @@ -84,24 +41,20 @@ rustPlatform.buildRustPackage rec { "--skip=macros::time_it" ]; - preInstall = lib.optionalString pythonSupport '' - export installFlags="PYTHONPATH=$PYTHONPATH:$out/${pythonPackages.python.sitePackages}" - '' + lib.optionalString (!pythonSupport) '' - export makeFlags="PYTHON=disable" + # Install manual pages, see https://gitlab.com/sequoia-pgp/sequoia-sq#building + postInstall = '' + mkdir -p $out/share/man + SQ_MAN=$out/share/man/man1 cargo run ''; - # Don't use buildRustPackage phases, only use it for rust deps setup - configurePhase = null; - buildPhase = null; doCheck = true; - checkPhase = null; - installPhase = null; passthru.updateScript = nix-update-script { }; meta = with lib; { description = "A cool new OpenPGP implementation"; homepage = "https://sequoia-pgp.org/"; + changelog = "https://gitlab.com/sequoia-pgp/sequoia-sq/-/blob/v${version}/NEWS"; license = licenses.gpl2Plus; maintainers = with maintainers; [ minijackson doronbehar ]; mainProgram = "sq"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 119a086fc789..35ab8bef5587 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12371,9 +12371,7 @@ with pkgs; seqdiag = with python3Packages; toPythonApplication seqdiag; - sequoia = callPackage ../tools/security/sequoia { - pythonPackages = python3Packages; - }; + sequoia = callPackage ../tools/security/sequoia { }; sequoia-chameleon-gnupg = callPackage ../tools/security/sequoia-chameleon-gnupg { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4c260b693c24..f42dd57a954a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11104,10 +11104,7 @@ self: super: with self; { seqeval = callPackage ../development/python-modules/seqeval { }; - sequoia = disabledIf isPyPy (toPythonModule (pkgs.sequoia.override { - pythonPackages = self; - pythonSupport = true; - })); + sequoia = disabledIf isPyPy (toPythonModule pkgs.sequoi); serialio = callPackage ../development/python-modules/serialio { };