diff options
author | linsui <linsui555@gmail.com> | 2023-07-19 21:47:59 +0800 |
---|---|---|
committer | linsui <linsui555@gmail.com> | 2023-07-20 12:30:56 +0800 |
commit | 94ea0081e1357a0fa407097c884a7684053ca15b (patch) | |
tree | eb06e6d37a4fb40f4b40f1479d89c3af9cd44a02 /pkgs/applications/networking/instant-messengers/hydrogen-web | |
parent | da5286cd2b23e080b383594d6069e4487ef233de (diff) |
hydrogen-web: init at 0.4.0
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/hydrogen-web')
-rw-r--r-- | pkgs/applications/networking/instant-messengers/hydrogen-web/unwrapped.nix | 65 | ||||
-rw-r--r-- | pkgs/applications/networking/instant-messengers/hydrogen-web/wrapper.nix | 26 |
2 files changed, 91 insertions, 0 deletions
diff --git a/pkgs/applications/networking/instant-messengers/hydrogen-web/unwrapped.nix b/pkgs/applications/networking/instant-messengers/hydrogen-web/unwrapped.nix new file mode 100644 index 0000000000000..2308a4b61647f --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/hydrogen-web/unwrapped.nix @@ -0,0 +1,65 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchYarnDeps +, yarn +, fixup_yarn_lock +, nodejs +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "hydrogen-web"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "vector-im"; + repo = finalAttrs.pname; + rev = "v${finalAttrs.version}"; + hash = "sha256-u8Yex3r7EZH+JztQHJbfncYeyyl6hgb1ZNFIg//wcb0="; + }; + + offlineCache = fetchYarnDeps { + yarnLock = finalAttrs.src + "/yarn.lock"; + hash = "sha256-N9lUAhfYLlEAIaWSNS3Ecq+aBTz+f7Z22Sclwj9rp6w="; + }; + + 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/vector-im/hydrogen-web"; + maintainers = lib.teams.matrix.members; + license = lib.licenses.asl20; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/applications/networking/instant-messengers/hydrogen-web/wrapper.nix b/pkgs/applications/networking/instant-messengers/hydrogen-web/wrapper.nix new file mode 100644 index 0000000000000..9ea22e864f430 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/hydrogen-web/wrapper.nix @@ -0,0 +1,26 @@ +{ stdenv +, jq +, hydrogen-web-unwrapped +, conf ? { } +}: + +if (conf == { }) then hydrogen-web-unwrapped else +stdenv.mkDerivation { + pname = "${hydrogen-web-unwrapped.pname}-wrapped"; + inherit (hydrogen-web-unwrapped) version meta; + + dontUnpack = true; + + nativeBuildInputs = [ jq ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out + ln -s ${hydrogen-web-unwrapped}/* $out + rm $out/config.json + jq -s '.[0] * $conf' "${hydrogen-web-unwrapped}/config.json" --argjson "conf" '${builtins.toJSON conf}' > "$out/config.json" + + runHook postInstall + ''; +} |