Merge pull request #273098 from nicolas-goudry/gitkraken-bundled-git
gitkraken: devendor bundled git
This commit is contained in:
commit
6ca1d21489
1 changed files with 25 additions and 10 deletions
|
@ -3,7 +3,8 @@
|
||||||
, libX11, libXi, libxcb, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst
|
, libX11, libXi, libxcb, libXext, libXcursor, glib, libXScrnSaver, libxkbfile, libXtst
|
||||||
, nss, nspr, cups, fetchzip, expat, gdk-pixbuf, libXdamage, libXrandr, dbus
|
, nss, nspr, cups, fetchzip, expat, gdk-pixbuf, libXdamage, libXrandr, dbus
|
||||||
, makeDesktopItem, openssl, wrapGAppsHook, at-spi2-atk, at-spi2-core, libuuid
|
, makeDesktopItem, openssl, wrapGAppsHook, at-spi2-atk, at-spi2-core, libuuid
|
||||||
, e2fsprogs, krb5, libdrm, mesa, unzip, copyDesktopItems, libxshmfence, libxkbcommon
|
, e2fsprogs, krb5, libdrm, mesa, unzip, copyDesktopItems, libxshmfence, libxkbcommon, git
|
||||||
|
, libGL, zlib, cacert
|
||||||
}:
|
}:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
@ -91,12 +92,14 @@ let
|
||||||
mesa
|
mesa
|
||||||
libxshmfence
|
libxshmfence
|
||||||
libxkbcommon
|
libxkbcommon
|
||||||
|
libGL
|
||||||
|
zlib
|
||||||
];
|
];
|
||||||
|
|
||||||
desktopItems = [ (makeDesktopItem {
|
desktopItems = [ (makeDesktopItem {
|
||||||
name = pname;
|
name = "GitKraken";
|
||||||
exec = pname;
|
exec = "gitkraken";
|
||||||
icon = pname;
|
icon = "gitkraken";
|
||||||
desktopName = "GitKraken";
|
desktopName = "GitKraken";
|
||||||
genericName = "Git Client";
|
genericName = "Git Client";
|
||||||
categories = [ "Development" ];
|
categories = [ "Development" ];
|
||||||
|
@ -112,25 +115,37 @@ let
|
||||||
mkdir -p $out/share/${pname}/
|
mkdir -p $out/share/${pname}/
|
||||||
cp -R $src/* $out/share/${pname}
|
cp -R $src/* $out/share/${pname}
|
||||||
|
|
||||||
mkdir -p $out/bin
|
|
||||||
ln -s $out/share/${pname}/${pname} $out/bin/
|
|
||||||
|
|
||||||
mkdir -p $out/share/pixmaps
|
mkdir -p $out/share/pixmaps
|
||||||
cp ${pname}.png $out/share/pixmaps/${pname}.png
|
cp gitkraken.png $out/share/pixmaps/
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
pushd $out/share/${pname}
|
pushd $out/share/${pname}
|
||||||
for file in ${pname} chrome-sandbox chrome_crashpad_handler; do
|
for file in gitkraken chrome-sandbox chrome_crashpad_handler; do
|
||||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $file
|
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $file
|
||||||
done
|
done
|
||||||
|
|
||||||
for file in $(find . -type f \( -name \*.node -o -name ${pname} -o -name \*.so\* \) ); do
|
for file in $(find . -type f \( -name \*.node -o -name gitkraken -o -name git -o -name git-\* -o -name scalar -o -name \*.so\* \) ); do
|
||||||
patchelf --set-rpath ${libPath}:$out/share/${pname} $file || true
|
patchelf --set-rpath ${libPath}:$out/share/${pname} $file || true
|
||||||
done
|
done
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
# SSL and permissions fix for bundled nodegit
|
||||||
|
pushd $out/share/${pname}/resources/app.asar.unpacked/node_modules/@axosoft/nodegit/build/Release
|
||||||
|
mv nodegit-ubuntu-18.node nodegit-ubuntu-18-ssl-1.1.1.node
|
||||||
|
mv nodegit-ubuntu-18-ssl-static.node nodegit-ubuntu-18.node
|
||||||
|
chmod 755 nodegit-ubuntu-18.node
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Devendor bundled git
|
||||||
|
rm -rf $out/share/${pname}/resources/app.asar.unpacked/git
|
||||||
|
ln -s ${git} $out/share/${pname}/resources/app.asar.unpacked/git
|
||||||
|
|
||||||
|
# GitKraken expects the CA bundle to be located in the bundled git directory. Since we replace it with
|
||||||
|
# the one from nixpkgs, which doesn't provide a CA bundle, we need to explicitly set its location at runtime
|
||||||
|
makeWrapper $out/share/${pname}/gitkraken $out/bin/gitkraken --set GIT_SSL_CAINFO "${cacert}/etc/ssl/certs/ca-bundle.crt"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue