From 231b04201c2bd09f1c739343369400356c531242 Mon Sep 17 00:00:00 2001 From: SaltyKitkat <954537646@qq.com> Date: Wed, 15 Jun 2022 10:44:34 +0800 Subject: [PATCH] logseq: make dugite use the `git` in nixpkgs --- pkgs/applications/misc/logseq/default.nix | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix index 70d21acc05b4..ff1e13299932 100644 --- a/pkgs/applications/misc/logseq/default.nix +++ b/pkgs/applications/misc/logseq/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, appimageTools, makeWrapper, autoPatchelfHook, electron, git, curl, expat, gcc, openssl, zlib }: +{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron, git }: stdenv.mkDerivation rec { pname = "logseq"; @@ -19,8 +19,7 @@ stdenv.mkDerivation rec { dontConfigure = true; dontBuild = true; - nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; - buildInputs = [ stdenv.cc.cc curl expat openssl zlib ]; + nativeBuildInputs = [ makeWrapper ]; installPhase = '' runHook preInstall @@ -29,6 +28,12 @@ stdenv.mkDerivation rec { cp -a ${appimageContents}/{locales,resources} $out/share/${pname} cp -a ${appimageContents}/Logseq.desktop $out/share/applications/${pname}.desktop + # remove the `git` in `dugite` because we want the `git` in `nixpkgs` + chmod +w -R $out/share/${pname}/resources/app/node_modules/dugite/git + chmod +w $out/share/${pname}/resources/app/node_modules/dugite + rm -rf $out/share/${pname}/resources/app/node_modules/dugite/git + chmod -w $out/share/${pname}/resources/app/node_modules/dugite + substituteInPlace $out/share/applications/${pname}.desktop \ --replace Exec=Logseq Exec=${pname} \ --replace Icon=Logseq Icon=$out/share/${pname}/resources/app/icons/logseq.png @@ -37,8 +42,9 @@ stdenv.mkDerivation rec { ''; postFixup = '' + # set the env "LOCAL_GIT_DIRECTORY" for dugite so that we can use the git in nixpkgs makeWrapper ${electron}/bin/electron $out/bin/${pname} \ - --prefix PATH : ${lib.makeBinPath [ git ]} \ + --set "LOCAL_GIT_DIRECTORY" ${git} \ --add-flags $out/share/${pname}/resources/app '';