Unverified Commit 1ad0542a authored by Ben Siraphob's avatar Ben Siraphob Committed by GitHub
Browse files

Merge pull request #132601 from petabyteboy/feature/seshat2

element-desktop: build native modules
parents f8ebc00f 55682979
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
{ lib, fetchFromGitHub
, makeWrapper, makeDesktopItem, mkYarnPackage
, electron, element-web
, callPackage
}:
# Notes for maintainers:
# * versions of `element-web` and `element-desktop` should be kept in sync.
@@ -24,6 +25,9 @@ in mkYarnPackage rec {

  nativeBuildInputs = [ makeWrapper ];

  seshat = callPackage ./seshat {};
  keytar = callPackage ./keytar {};

  buildPhase = ''
    runHook preBuild
    export HOME=$(mktemp -d)
@@ -32,6 +36,9 @@ in mkYarnPackage rec {
    yarn run i18n
    node ./scripts/copy-res.js
    popd
    rm -rf node_modules/matrix-seshat node_modules/keytar
    ln -s $keytar node_modules/keytar
    ln -s $seshat node_modules/matrix-seshat
    runHook postBuild
  '';

+41 −0
Original line number Diff line number Diff line
{ stdenv, fetchFromGitHub, nodejs-14_x, python3, callPackage, fixup_yarn_lock, yarn, pkg-config, libsecret }:

stdenv.mkDerivation rec {
  pname = "keytar";
  version = "7.7.0";

  src = fetchFromGitHub {
    owner = "atom";
    repo = "node-keytar";
    rev = "v${version}";
    sha256 = "0ajvr4kjbyw2shb1y14c0dsghdlnq30f19hk2sbzj6n9y3xa3pmi";
  };

  nativeBuildInputs = [ nodejs-14_x python3 yarn pkg-config];
  buildInputs = [ libsecret ];

  npm_config_nodedir = nodejs-14_x;

  yarnOfflineCache = (callPackage ./yarn.nix {}).offline_cache;

  buildPhase = ''
    cp ${./yarn.lock} ./yarn.lock
    chmod u+w . ./yarn.lock
    export HOME=/tmp
    yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
    ${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
    yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
    patchShebangs node_modules/
    node_modules/.bin/node-gyp rebuild
  '';

  doCheck = false;

  installPhase = ''
    shopt -s extglob
    rm -rf node_modules
    mkdir -p $out
    cp -r ./!(build) $out
    install -D -t $out/build/Release build/Release/keytar.node
  '';
}
+19 −0
Original line number Diff line number Diff line
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../ -i bash -p wget yarn2nix yarn

set -euo pipefail

if [ "$#" -ne 1 ] || [[ "$1" == -* ]]; then
  echo "Regenerates the Yarn dependency lock files."
  echo "Usage: $0 <git release tag>"
  exit 1
fi

SRC="https://raw.githubusercontent.com/atom/node-keytar/$1"

wget "$SRC/package-lock.json"
wget "$SRC/package.json"
rm -f yarn.lock
yarn import
yarn2nix > yarn.nix
rm -rf node_modules package.json package-lock.json
+2531 −0

File added.

Preview size limit exceeded, changes collapsed.

+2869 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading