Merge pull request #237698 from uninsane/pr/sequoia-0.30.1

sequoia: 0.28.0 -> 0.30.1
This commit is contained in:
Doron Behar 2023-06-27 07:30:11 +00:00 committed by GitHub
commit 01dcd2906f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 130 additions and 119 deletions

View File

@ -22,6 +22,8 @@
## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
- `python3.pkgs.sequoia` was removed in favor of `python3.pkgs.pysequoia`. The latter package is based on upstream's dedicated repository for sequoia's Python bindings, where the Python bindings from [gitlab:sequoia-pgp/sequoia](https://gitlab.com/sequoia-pgp/sequoia) were removed long ago.
- `writeTextFile` now requires `executable` to be boolean, values like `null` or `""` will now fail to evaluate.
- The latest version of `clonehero` now stores custom content in `~/.clonehero`. See the [migration instructions](https://clonehero.net/2022/11/29/v23-to-v1-migration-instructions.html). Typically, these content files would exist along side the binary, but the previous build used a wrapper script that would store them in `~/.config/unity3d/srylain Inc_/Clone Hero`.

View File

@ -0,0 +1,61 @@
{ lib
, buildPythonPackage
, fetchFromGitLab
, pkg-config
, rustPlatform
, cargo
, rustc
, bzip2
, nettle
, openssl
, pcsclite
, stdenv
, darwin
}:
buildPythonPackage rec {
pname = "pysequoia";
version = "0.1.14";
format = "pyproject";
src = fetchFromGitLab {
owner = "sequoia-pgp";
repo = "pysequoia";
rev = "v${version}";
hash = "sha256-63kUUxZTG33cB/IiD4AiDpLOI6Uew/fETgqhaGc7zp0=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-S/j3bGgU46nvVQFs35ih05teVEIJrFN4Ryq4B7rLFDE=";
};
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
rustPlatform.cargoSetupHook
rustPlatform.maturinBuildHook
cargo
rustc
];
buildInputs = [
bzip2
nettle
openssl
pcsclite
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreFoundation
darwin.apple_sdk.frameworks.Security
];
pythonImportsCheck = [ "pysequoia" ];
meta = with lib; {
description = "This library provides OpenPGP facilities in Python through the Sequoia PGP library";
homepage = "https://sequoia-pgp.gitlab.io/pysequoia";
license = licenses.asl20;
maintainers = with maintainers; [ doronbehar ];
};
}

View File

@ -0,0 +1,62 @@
{ stdenv
, fetchFromGitLab
, lib
, darwin
, nettle
, nix-update-script
, rustPlatform
, pkg-config
, openssl
, sqlite
}:
rustPlatform.buildRustPackage rec {
pname = "sequoia-sq";
version = "0.30.1";
src = fetchFromGitLab {
owner = "sequoia-pgp";
repo = "sequoia-sq";
rev = "v${version}";
hash = "sha256-uFcmuyz0JsUTvKqCb+3t8JdB4Dn4hJq00jeEhvMNW18=";
};
cargoHash = "sha256-9UQojec2jy9DVwQQplaKuPWYCeRXtWtdzj1d/LLyfJQ=";
nativeBuildInputs = [
pkg-config
rustPlatform.bindgenHook
];
buildInputs = [
openssl
sqlite
nettle
] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
# Sometimes, tests fail on CI (ofborg) & hydra without this
checkFlags = [
# doctest for sequoia-ipc fail for some reason
"--skip=macros::assert_send_and_sync"
"--skip=macros::time_it"
];
# 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
'';
doCheck = true;
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";
};
}

View File

@ -1,109 +0,0 @@
{ 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";
src = fetchFromGitLab {
owner = "sequoia-pgp";
repo = "sequoia";
rev = "sq/v${version}";
hash = "sha256-T7WOYMqyBeVHs+4w8El99t0NTUKqMW1QeAkNGKcaWr0=";
};
cargoHash = "sha256-zaAAEFBumfHU4hGzAOmLvBu3X4J7LAlmexqixHtVPr8=";
patches = [
(fetchpatch {
url = "https://gitlab.com/sequoia-pgp/sequoia/-/commit/4dc6e624c2394936dc447f18aedb4a4810bb2ddb.patch";
hash = "sha256-T6hh7U1gvKvyn/OCuJBvLM7TG1VFnpvpAiWS72m3P6I=";
})
];
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"
];
# Sometimes, tests fail on CI (ofborg) & hydra without this
checkFlags = [
# doctest for sequoia-ipc fail for some reason
"--skip=macros::assert_send_and_sync"
"--skip=macros::time_it"
];
preInstall = lib.optionalString pythonSupport ''
export installFlags="PYTHONPATH=$PYTHONPATH:$out/${pythonPackages.python.sitePackages}"
'' + lib.optionalString (!pythonSupport) ''
export makeFlags="PYTHON=disable"
'';
# 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/";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ minijackson doronbehar ];
mainProgram = "sq";
};
}

View File

@ -1537,6 +1537,7 @@ mapAliases ({
seeks = throw "seeks has been removed from nixpkgs, as it was unmaintained"; # Added 2020-06-21
sepolgen = throw "sepolgen was merged into selinux-python"; # Added 2021-11-11
session-desktop-appimage = session-desktop;
sequoia = sequoia-sq; # Added 2023-06-26
sget = throw "sget has been removed from nixpkgs, as it is not supported upstream anymore see https://github.com/sigstore/sget/issues/145"; # Added 2023-05-26
shared_mime_info = throw "'shared_mime_info' has been renamed to/replaced by 'shared-mime-info'"; # Converted to throw 2022-02-22
inherit (libsForQt5.mauiPackages) shelf; # added 2022-05-17

View File

@ -12443,9 +12443,7 @@ with pkgs;
seqdiag = with python3Packages; toPythonApplication seqdiag;
sequoia = callPackage ../tools/security/sequoia {
pythonPackages = python3Packages;
};
sequoia-sq = callPackage ../tools/security/sequoia-sq { };
sequoia-chameleon-gnupg = callPackage ../tools/security/sequoia-chameleon-gnupg { };

View File

@ -297,6 +297,7 @@ mapAliases ({
scikitimage = scikit-image; # added 2023-05-14
scikitlearn = scikit-learn; # added 2021-07-21
selectors34 = throw "selectors34 has been removed: functionality provided by Python itself; archived by upstream."; # added 2021-06-10
sequoia = throw "python3Packages.sequoia was replaced by pysequoia - built from a dedicated repository, with a new API."; # added 2023-06-24
setuptools_scm = setuptools-scm; # added 2021-06-03
sharkiqpy = sharkiq; # added 2022-05-21
ssh-mitm = throw "ssh-mitm was removed in favor of the top-level ssh-mitm"; # added 2023-05-09

View File

@ -7823,6 +7823,8 @@ self: super: with self; {
pysbd = callPackage ../development/python-modules/pysbd { };
pysequoia = callPackage ../development/python-modules/pysequoia { };
pyschemes = callPackage ../development/python-modules/pyschemes { };
pyschlage = callPackage ../development/python-modules/pyschlage { };
@ -11149,11 +11151,6 @@ self: super: with self; {
seqeval = callPackage ../development/python-modules/seqeval { };
sequoia = disabledIf isPyPy (toPythonModule (pkgs.sequoia.override {
pythonPackages = self;
pythonSupport = true;
}));
serialio = callPackage ../development/python-modules/serialio { };
serpent = callPackage ../development/python-modules/serpent { };

View File

@ -71,8 +71,6 @@ with self; with super; {
scandir = callPackage ../development/python2-modules/scandir { };
sequoia = disabled super.sequoia;
setuptools = callPackage ../development/python2-modules/setuptools { };
setuptools-scm = callPackage ../development/python2-modules/setuptools-scm { };