diff options
Diffstat (limited to 'pkgs/tools/misc/sharedown/default.nix')
-rw-r--r-- | pkgs/tools/misc/sharedown/default.nix | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/pkgs/tools/misc/sharedown/default.nix b/pkgs/tools/misc/sharedown/default.nix index 2fb9553a7fea9..048e8eb6008ad 100644 --- a/pkgs/tools/misc/sharedown/default.nix +++ b/pkgs/tools/misc/sharedown/default.nix @@ -3,6 +3,10 @@ , fetchFromGitHub , ffmpeg , yt-dlp +, libsecret +, python3 +, pkg-config +, nodejs , electron , makeWrapper , makeDesktopItem @@ -13,13 +17,13 @@ stdenvNoCC.mkDerivation rec { pname = "Sharedown"; - version = "3.0.1"; + version = "3.1.0"; src = fetchFromGitHub { owner = "kylon"; repo = pname; rev = version; - sha256 = "sha256-0moxrRxydH/g3J5cQmaFSDhTZh9OnUi8ncPVw7q1JC0="; + sha256 = "sha256-wQEP3fdp+Mhgoz873cgF65WouWtbEdCdXfLiVSmrjyA="; }; nativeBuildInputs = [ @@ -55,6 +59,34 @@ stdenvNoCC.mkDerivation rec { "--production" ]; + pkgConfig = { + keytar = { + nativeBuildInputs = [ + python3 + pkg-config + ]; + buildInputs = [ + libsecret + ]; + postInstall = '' + yarn --offline run build + # Remove unnecessary store path references. + rm build/config.gypi + ''; + }; + }; + + preBuild = '' + # Set up headers for node-gyp, which is needed to build keytar. + mkdir -p "$HOME/.cache/node-gyp/${nodejs.version}" + + # Set up version which node-gyp checks in <https://github.com/nodejs/node-gyp/blob/4937722cf597ccd1953628f3d5e2ab5204280051/lib/install.js#L87-L96> against the version in <https://github.com/nodejs/node-gyp/blob/4937722cf597ccd1953628f3d5e2ab5204280051/package.json#L15>. + echo 9 > "$HOME/.cache/node-gyp/${nodejs.version}/installVersion" + + # Link node headers so that node-gyp does not try to download them. + ln -sfv "${nodejs}/include" "$HOME/.cache/node-gyp/${nodejs.version}" + ''; + packageJSON = "${src}/package.json"; yarnLock = ./yarn.lock; yarnNix = ./yarndeps.nix; |