matrix-sdk-crypto-nodejs: 0.1.0-beta.6 -> 0.2.0-beta.1

This package has moved to a new repo which required changes in the phases
So I de-abstracted it from the generic.nix file here.

If there becomes a need to abstract over the newer versions we can reintrodue it
This commit is contained in:
Daniel Olsen 2024-10-14 03:55:09 +02:00
parent c65fe11c30
commit 72c529e9dc
5 changed files with 2425 additions and 6327 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,65 @@
import ./generic.nix {
{ lib, stdenv, fetchFromGitHub
, cargo, rustPlatform, rustc, napi-rs-cli, nodejs, libiconv
}:
stdenv.mkDerivation rec {
pname = "matrix-sdk-crypto-nodejs";
version = "0.1.0-beta.3";
hash = "sha256-0p+1cMn9PU+Jk2JW7G+sdzxhMaI3gEAk5w2nm05oBSU=";
outputHashes = {
"uniffi-0.21.0" = "sha256-blKCfCsSNtr8NtO7Let7VJ/9oGuW9Eu8j9A6/oHUcP0=";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "matrix-rust-sdk";
rev = "${pname}-v${version}";
hash = "sha256-0p+1cMn9PU+Jk2JW7G+sdzxhMaI3gEAk5w2nm05oBSU=";
};
cargoLock = ./Cargo-beta.3.lock;
patches = [
# This is needed because two versions of indexed_db_futures are present (which will fail to vendor, see https://github.com/rust-lang/cargo/issues/10310).
# (matrix-sdk-crypto-nodejs doesn't use this dependency, we only need to remove it to vendor the dependencies successfully.)
./remove-duplicate-dependency.patch
];
cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo-beta.3.lock;
outputHashes = {
"uniffi-0.21.0" = "sha256-blKCfCsSNtr8NtO7Let7VJ/9oGuW9Eu8j9A6/oHUcP0=";
};
};
nativeBuildInputs = [
rustPlatform.cargoSetupHook
cargo
rustc
napi-rs-cli
nodejs
];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
buildPhase = ''
runHook preBuild
cd bindings/${pname}
npm run release-build --offline
runHook postBuild
'';
installPhase = ''
runHook preInstall
local -r outPath="$out/lib/node_modules/@matrix-org/${pname}"
mkdir -p "$outPath"
cp package.json index.js index.d.ts matrix-sdk-crypto.*.node "$outPath"
runHook postInstall
'';
meta = with lib; {
description = "No-network-IO implementation of a state machine that handles E2EE for Matrix clients";
homepage = "https://github.com/matrix-org/matrix-rust-sdk/tree/${src.rev}/bindings/matrix-sdk-crypto-nodejs";
license = licenses.asl20;
maintainers = with maintainers; [ winter dandellion ];
inherit (nodejs.meta) platforms;
};
}

View File

@ -1,11 +1,61 @@
import ./generic.nix {
version = "0.1.0-beta.6";
hash = "sha256-0oLk7yq/XELS0GkeZj7PxY3KKXfzws0djF3KmxYisY0=";
outputHashes = {
"ruma-0.8.2" = "sha256-bKvcElIVugj+gZZhPFPGfCqva4fo1IqW/e9gf+q/Tfw=";
"uniffi-0.23.0" = "sha256-4WUp3PQm3ZgqHNMvz9+PBtNAeiq6m4PBViwXpQDglLk=";
"vodozemac-0.3.0" = "sha256-tAimsVD8SZmlVybb7HvRffwlNsfb7gLWGCplmwbLIVE=";
{ lib, stdenv, fetchFromGitHub
, cargo, rustPlatform, rustc, napi-rs-cli, nodejs, libiconv
}:
stdenv.mkDerivation rec {
pname = "matrix-sdk-crypto-nodejs";
version = "0.2.0-beta.1";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "matrix-rust-sdk-crypto-nodejs";
rev = "v${version}";
hash = "sha256-g86RPfhF9XHpbXhHRbyhl920VazCrQyRQrYV6tVCHy4=";
};
cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
outputHashes = {
"matrix-sdk-base-0.7.0" = "sha256-nCiG4T/MB7gvGrmadKOEbh8+54081PHee9Bm8oY/nl0=";
"ruma-0.10.1" = "sha256-Yc5RKk4aRjNIoQsMl30fFehTDCkRO9VvenAvLoVHzXo=";
"vodozemac-0.6.0" = "sha256-jJgrJJ0SFcy2oRRZ3ubuKnM2pLO8Tx6NyXordWJjz8o=";
};
};
nativeBuildInputs = [
rustPlatform.cargoSetupHook
cargo
rustc
napi-rs-cli
nodejs
];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
buildPhase = ''
runHook preBuild
npm run release-build --offline
runHook postBuild
'';
installPhase = ''
runHook preInstall
local -r outPath="$out/lib/node_modules/@matrix-org/${pname}"
mkdir -p "$outPath"
cp package.json index.js index.d.ts matrix-sdk-crypto.*.node "$outPath"
runHook postInstall
'';
meta = with lib; {
description = "No-network-IO implementation of a state machine that handles E2EE for Matrix clients";
homepage = "https://github.com/matrix-org/matrix-rust-sdk-crypto-nodejs";
changelog = "https://github.com/matrix-org/matrix-rust-sdk-crypto-nodejs/blob/main/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ winter dandellion ];
inherit (nodejs.meta) platforms;
};
cargoLock = ./Cargo-beta.6.lock;
patches = [];
}

View File

@ -1,60 +0,0 @@
{ version, hash, outputHashes, cargoLock, patches }:
{ lib, stdenv, fetchFromGitHub
, cargo, rustPlatform, rustc, napi-rs-cli, nodejs, libiconv
}:
stdenv.mkDerivation rec {
pname = "matrix-sdk-crypto-nodejs";
inherit version patches;
src = fetchFromGitHub {
owner = "matrix-org";
repo = "matrix-rust-sdk";
rev = "${pname}-v${version}";
inherit hash;
};
cargoDeps = rustPlatform.importCargoLock {
lockFile = cargoLock;
inherit outputHashes;
};
nativeBuildInputs = [
rustPlatform.cargoSetupHook
cargo
rustc
napi-rs-cli
nodejs
];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
buildPhase = ''
runHook preBuild
cd bindings/${pname}
npm run release-build --offline
runHook postBuild
'';
installPhase = ''
runHook preInstall
local -r outPath="$out/lib/node_modules/@matrix-org/${pname}"
mkdir -p "$outPath"
cp package.json index.js index.d.ts matrix-sdk-crypto.*.node "$outPath"
runHook postInstall
'';
meta = with lib; {
description = "No-network-IO implementation of a state machine that handles E2EE for Matrix clients";
homepage = "https://github.com/matrix-org/matrix-rust-sdk/tree/${src.rev}/bindings/matrix-sdk-crypto-nodejs";
license = licenses.asl20;
maintainers = with maintainers; [ winter ];
inherit (nodejs.meta) platforms;
};
}