mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-17 18:34:38 +00:00
19bb652ec2
When launching logseq, it outputs Error: libstdc++.so.6: cannot open shared object file but, continues operatiing. This makes the log message disappear but does not seem to change its ability to function.
74 lines
2.4 KiB
Nix
74 lines
2.4 KiB
Nix
{ lib
|
|
, stdenv
|
|
, fetchurl
|
|
, appimageTools
|
|
, makeWrapper
|
|
, electron
|
|
, git
|
|
, nix-update-script
|
|
}:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "logseq";
|
|
version = "0.9.4";
|
|
|
|
src = fetchurl {
|
|
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
|
|
hash = "sha256-K04iIa/WnRtcHwRUHJbKqXO9c4l5xwHPvnwN5WX/Row=";
|
|
name = "${pname}-${version}.AppImage";
|
|
};
|
|
|
|
appimageContents = appimageTools.extract {
|
|
inherit pname src version;
|
|
};
|
|
|
|
dontUnpack = true;
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
|
|
nativeBuildInputs = [ makeWrapper ];
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/bin $out/share/${pname} $out/share/applications
|
|
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
|
|
|
|
mkdir -p $out/share/pixmaps
|
|
ln -s $out/share/${pname}/resources/app/icons/logseq.png $out/share/pixmaps/${pname}.png
|
|
|
|
substituteInPlace $out/share/applications/${pname}.desktop \
|
|
--replace Exec=Logseq Exec=${pname} \
|
|
--replace Icon=Logseq Icon=${pname}
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
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} \
|
|
--set "LOCAL_GIT_DIRECTORY" ${git} \
|
|
--add-flags $out/share/${pname}/resources/app \
|
|
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
|
|
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}"
|
|
'';
|
|
|
|
passthru.updateScript = nix-update-script { };
|
|
|
|
meta = with lib; {
|
|
description = "A local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base";
|
|
homepage = "https://github.com/logseq/logseq";
|
|
changelog = "https://github.com/logseq/logseq/releases/tag/${version}";
|
|
license = licenses.agpl3Plus;
|
|
maintainers = with maintainers; [ ];
|
|
platforms = [ "x86_64-linux" ];
|
|
};
|
|
}
|