From 79e65cb57db2cb1366453626b03970bda2304a9b Mon Sep 17 00:00:00 2001 From: DarkOnion0 Date: Mon, 3 Jan 2022 14:54:07 +0100 Subject: [PATCH] appflowy: init at 0.0.2 --- pkgs/applications/office/appflowy/default.nix | 76 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 78 insertions(+) create mode 100644 pkgs/applications/office/appflowy/default.nix diff --git a/pkgs/applications/office/appflowy/default.nix b/pkgs/applications/office/appflowy/default.nix new file mode 100644 index 000000000000..05bb88bdfe74 --- /dev/null +++ b/pkgs/applications/office/appflowy/default.nix @@ -0,0 +1,76 @@ +{ stdenv, + lib, + fetchzip, + autoPatchelfHook, + makeWrapper, + copyDesktopItems, + makeDesktopItem, + gtk3, + openssl, + xdg-user-dirs +}: + +stdenv.mkDerivation rec { + pname = "appflowy"; + version = "0.0.2"; + + src = fetchzip { + url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-linux-x86.tar.gz"; + sha256 = "1fvv4mlgf0vqcq5zh0zl2xr44saz0sm47r8whcywwrmcm0l66iv6"; + }; + + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + copyDesktopItems + ]; + + buildInputs = [ + gtk3 + openssl + ]; + + dontBuild = true; + dontConfigure = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/opt/ + mkdir -p $out/bin/ + + # Copy archive contents to the outpout directory + cp -r ./* $out/opt/ + + runHook postInstall + ''; + + preFixup = let + libPath = lib.makeLibraryPath [ + xdg-user-dirs + ]; + in '' + # Add missing libraries to appflowy using the ones it comes with + makeWrapper $out/opt/app_flowy $out/bin/appflowy \ + --set LD_LIBRARY_PATH "$out/opt/lib/:${libPath}" + ''; + + desktopItems = [ + (makeDesktopItem { + name = pname; + desktopName = "AppFlowy"; + comment = meta.description; + exec = "appflowy"; + categories = "Office;"; + }) + ]; + + meta = with lib; { + description = "An open-source alternative to Notion"; + homepage = "https://www.appflowy.io/"; + license = licenses.agpl3Only; + changelog = "https://github.com/AppFlowy-IO/appflowy/releases/tag/${version}"; + maintainers = with maintainers; [ darkonion0 ]; + platforms = [ "x86_64-linux" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c56d8a39b828..52a993f8a11b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -147,6 +147,8 @@ with pkgs; { name = "auto-patchelf-hook"; deps = [ bintools ]; } ../build-support/setup-hooks/auto-patchelf.sh; + appflowy = callPackage ../applications/office/appflowy { }; + appimageTools = callPackage ../build-support/appimage { buildFHSUserEnv = buildFHSUserEnvBubblewrap; };