From b76056aebcdddf7e68170a57314c4c6afd599d49 Mon Sep 17 00:00:00 2001 From: Louis Bettens Date: Sat, 20 Feb 2021 10:16:45 +0100 Subject: [PATCH 1/2] spacevim: fix #110407 --- pkgs/applications/editors/spacevim/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/spacevim/default.nix b/pkgs/applications/editors/spacevim/default.nix index c32130986b8..88d18573240 100644 --- a/pkgs/applications/editors/spacevim/default.nix +++ b/pkgs/applications/editors/spacevim/default.nix @@ -1,5 +1,5 @@ { ripgrep, git, fzf, makeWrapper, vim_configurable, vimPlugins, fetchFromGitHub -, lib, stdenv, formats, spacevim_config ? import ./init.nix }: +, lib, stdenv, formats, runCommand, spacevim_config ? import ./init.nix }: let format = formats.toml {}; @@ -10,7 +10,10 @@ let # ~/.cache/vimfiles/repos vimrcConfig.packages.myVimPackage = with vimPlugins; { start = [ ]; }; }; - spacevimdir = format.generate "init.toml" spacevim_config; + spacevimdir = runCommand "SpaceVim.d" { } '' + mkdir -p $out + cp ${format.generate "init.toml" spacevim_config} $out/init.toml + ''; in stdenv.mkDerivation rec { pname = "spacevim"; version = "1.5.0"; From 92bc0f7bc61baf88e40a6c846f9ce352407f49a2 Mon Sep 17 00:00:00 2001 From: Louis Bettens Date: Sat, 20 Feb 2021 18:08:41 +0100 Subject: [PATCH 2/2] spacevim: best practices --- pkgs/applications/editors/spacevim/default.nix | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/spacevim/default.nix b/pkgs/applications/editors/spacevim/default.nix index 88d18573240..930c8f919e4 100644 --- a/pkgs/applications/editors/spacevim/default.nix +++ b/pkgs/applications/editors/spacevim/default.nix @@ -28,13 +28,19 @@ in stdenv.mkDerivation rec { buildInputs = [ vim-customized ]; buildPhase = '' + runHook preBuild # generate the helptags vim -u NONE -c "helptags $(pwd)/doc" -c q + runHook postBuild ''; - patches = [ ./helptags.patch ]; + patches = [ + # Don't generate helptags at runtime into read-only $SPACEVIMDIR + ./helptags.patch + ]; installPhase = '' + runHook preInstall mkdir -p $out/bin cp -r $(pwd) $out/SpaceVim @@ -43,6 +49,7 @@ in stdenv.mkDerivation rec { makeWrapper "${vim-customized}/bin/vim" "$out/bin/spacevim" \ --add-flags "-u $out/SpaceVim/vimrc" --set SPACEVIMDIR "${spacevimdir}/" \ --prefix PATH : ${lib.makeBinPath [ fzf git ripgrep]} + runHook postInstall ''; meta = with lib; {