anytype: improve local build (#393125)

Changed files
+16 -8
pkgs
by-name
an
anytype
anytype-heart
ta
+4 -2
pkgs/by-name/an/anytype/anytype-heart/default.nix pkgs/by-name/an/anytype-heart/package.nix
···
{
stdenv,
lib,
-
callPackage,
fetchFromGitHub,
buildGoModule,
protoc-gen-grpc-web,
protoc-gen-js,
protobuf,
+
tantivy-go,
}:
let
-
tantivy-go = callPackage ../tantivy-go { };
pname = "anytype-heart";
version = "0.39.11";
src = fetchFromGitHub {
···
mkdir -p $out/share
cp LICENSE.md $out/share
'';
+
+
# disable tests to save time, as it's mostly built by users, not CI
+
doCheck = false;
meta = {
description = "Shared library for Anytype clients";
+12 -6
pkgs/by-name/an/anytype/package.nix
···
{
lib,
-
callPackage,
runCommand,
fetchFromGitHub,
buildNpmPackage,
pkg-config,
+
anytype-heart,
libsecret,
electron,
makeDesktopItem,
···
}:
let
-
anytype-heart = callPackage ./anytype-heart { };
pname = "anytype";
version = "0.45.3";
···
runHook postBuild
'';
+
# remove unnecessary files
+
preInstall = ''
+
npm prune --omit=dev
+
chmod u+w -R dist
+
find -type f \( -name "*.ts" -o -name "*.map" \) -exec rm -rf {} +
+
'';
+
installPhase = ''
runHook preInstall
-
mkdir -p $out/lib/node_modules/anytype
-
cp -r electron.js electron dist node_modules package.json $out/lib/node_modules/anytype/
+
mkdir -p $out/lib/anytype
+
cp -r electron.js electron dist node_modules package.json $out/lib/anytype/
-
for icon in $out/lib/node_modules/anytype/electron/img/icons/*.png; do
+
for icon in $out/lib/anytype/electron/img/icons/*.png; do
mkdir -p "$out/share/icons/hicolor/$(basename $icon .png)/apps"
ln -s "$icon" "$out/share/icons/hicolor/$(basename $icon .png)/apps/anytype.png"
done
···
makeWrapper '${lib.getExe electron}' $out/bin/anytype \
--set-default ELECTRON_IS_DEV 0 \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
-
--add-flags $out/lib/node_modules/anytype/ \
+
--add-flags $out/lib/anytype/ \
--add-flags ${lib.escapeShellArg commandLineArgs}
runHook postInstall
pkgs/by-name/an/anytype/tantivy-go/add-Cargo.lock.patch pkgs/by-name/ta/tantivy-go/add-Cargo.lock.patch
pkgs/by-name/an/anytype/tantivy-go/default.nix pkgs/by-name/ta/tantivy-go/package.nix