nixpkgs/pkgs/applications/networking/instant-messengers/hydrogen-web/unwrapped.nix
2024-09-17 13:35:59 +08:00

73 lines
1.4 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
fetchYarnDeps,
yarn,
fixup-yarn-lock,
nodejs,
olm,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hydrogen-web";
version = "0.5.0";
src = fetchFromGitHub {
owner = "element-hq";
repo = "hydrogen-web";
rev = "v${finalAttrs.version}";
hash = "sha256-pXrmWPp4/MYIS1FHEGzAxGbh4OnTaiPudg+NauvA6Vc=";
};
offlineCache = fetchYarnDeps {
yarnLock = finalAttrs.src + "/yarn.lock";
hash = "sha256-j+BwlmL0ncaccy9qQbzb9GpDRC4KB9MwOR2ISx+vbLE=";
};
nativeBuildInputs = [
yarn
fixup-yarn-lock
nodejs
];
configurePhase = ''
runHook preConfigure
export HOME=$PWD/tmp
mkdir -p $HOME
fixup-yarn-lock yarn.lock
yarn config --offline set yarn-offline-mirror $offlineCache
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
patchShebangs node_modules
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
yarn build --offline
runHook postBuild
'';
installPhase = ''
runHook preInstall
cp -R target $out
runHook postInstall
'';
meta = {
description = "Lightweight matrix client with legacy and mobile browser support";
homepage = "https://github.com/element-hq/hydrogen-web";
maintainers = lib.teams.matrix.members;
license = lib.licenses.asl20;
platforms = lib.platforms.all;
inherit (olm.meta) knownVulnerabilities;
};
})