88 lines
2.3 KiB
Nix
88 lines
2.3 KiB
Nix
{
|
|
lib,
|
|
buildNpmPackage,
|
|
pnpm_10,
|
|
fetchPnpmDeps,
|
|
pnpmConfigHook,
|
|
nodejs_24,
|
|
fetchFromGitHub,
|
|
}:
|
|
buildNpmPackage (
|
|
finalAttrs:
|
|
let
|
|
pnpm = pnpm_10.override {
|
|
nodejs = nodejs_24;
|
|
};
|
|
matrixrtcSrc = fetchFromGitHub {
|
|
owner = "SableClient";
|
|
repo = "matrix-rtc";
|
|
rev = "519fe6b863cfac78700f4e2b1748649103bb8a8d";
|
|
hash = "sha256-n5f7529RdRxY8/a43Xkgrhg4yRz5aNgfoZqWrB7kvak=";
|
|
};
|
|
livekitMobileSrc = fetchFromGitHub {
|
|
owner = "SableClient";
|
|
repo = "tauri-plugin-livekit-mobile";
|
|
rev = "c6f0d02ab3da1174535bc1dc8e598a2e6873f977";
|
|
hash = "sha256-ZPx6Ic+Gkvzg9LXYP9BaQALzOrvLCcQHOms8U3VfnU0=";
|
|
};
|
|
in
|
|
{
|
|
pname = "sable-unwrapped";
|
|
version = "1.21.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "SableClient";
|
|
repo = "Sable";
|
|
tag = "v${finalAttrs.version}";
|
|
hash = "sha256-vYoKNflV4vdJpgYVxYCxAQhvqDh1Qf+7qgIFHxriTTU=";
|
|
};
|
|
|
|
nodejs = nodejs_24;
|
|
|
|
nativeBuildInputs = [ pnpm ];
|
|
npmConfigHook = pnpmConfigHook;
|
|
|
|
npmDeps = finalAttrs.pnpmDeps;
|
|
pnpmDeps = fetchPnpmDeps {
|
|
inherit (finalAttrs) pname version src;
|
|
inherit pnpm;
|
|
fetcherVersion = 3;
|
|
hash = "sha256-tzIU/5DQ4SpLABKOt6/Z2aD2d6nVt+MJvY7vHHnO4No=";
|
|
};
|
|
|
|
npmInstallFlags = [
|
|
"--ignore-scripts"
|
|
];
|
|
|
|
preBuild = ''
|
|
cp -r --no-preserve=mode ${matrixrtcSrc}/. node_modules/@sableclient/matrixrtc/
|
|
pnpm exec tsc -p node_modules/@sableclient/matrixrtc/tsconfig.build.json
|
|
cp -r --no-preserve=mode ${livekitMobileSrc}/. node_modules/@sableclient/tauri-plugin-livekit-mobile/
|
|
pnpm exec tsc \
|
|
-p node_modules/@sableclient/tauri-plugin-livekit-mobile/tsconfig.json \
|
|
--noEmit false \
|
|
--declaration \
|
|
--rootDir node_modules/@sableclient/tauri-plugin-livekit-mobile/guest-js \
|
|
--outDir node_modules/@sableclient/tauri-plugin-livekit-mobile/dist-js
|
|
'';
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
cp -r dist $out
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = {
|
|
description = "An almost stable Matrix client";
|
|
homepage = "https://app.sable.moe/";
|
|
maintainers = with lib.maintainers; [
|
|
wymillerlinux
|
|
];
|
|
license = lib.licenses.agpl3Only;
|
|
platforms = lib.platforms.all;
|
|
};
|
|
}
|
|
)
|