Unverified Commit bc47f473 authored by emilylange's avatar emilylange
Browse files

sharedown: unbreak build

This is essentially a partial revert of
c271196d which was a successful attempt
at unbreaking this build back in November 2023.

That workaround, however, no longer, well.. works.

Instead I figured out what was wrong with the initial version and fixed
that.
Hopefully this fix lasts longer than the one before.

The important bit that was missing is that `export npm_config_nodedir`
line.

The code in question is copied from
https://nixos.org/manual/nixpkgs/unstable/#javascript-yarn2nix-pitfalls
https://github.com/NixOS/nixpkgs/blob/d176767c02cb2a048e766215078c3d231e666091/doc/languages-frameworks/javascript.section.md#pitfalls-javascript-yarn2nix-pitfalls)

I suggest following the link for even more links as to why some commands
from there are the way they are.
parent f36635be
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@
, libsecret
, python3
, pkg-config
, nodePackages
, nodejs
, electron
, makeWrapper
, makeDesktopItem
@@ -63,7 +63,6 @@ stdenvNoCC.mkDerivation rec {
            nativeBuildInputs = [
              python3
              pkg-config
              nodePackages.node-gyp
            ];
            buildInputs = [
              libsecret
@@ -76,6 +75,15 @@ stdenvNoCC.mkDerivation rec {
          };
        };

        # needed for node-gyp, copied from https://nixos.org/manual/nixpkgs/unstable/#javascript-yarn2nix-pitfalls
        # permalink: https://github.com/NixOS/nixpkgs/blob/d176767c02cb2a048e766215078c3d231e666091/doc/languages-frameworks/javascript.section.md#pitfalls-javascript-yarn2nix-pitfalls
        preBuild = ''
          mkdir -p $HOME/.node-gyp/${nodejs.version}
          echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion
          ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version}
          export npm_config_nodedir=${nodejs}
        '';

        packageJSON = "${src}/package.json";
        yarnLock = ./yarn.lock;