anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / editors / vim / common.nix
blobafe60212baf77b6f33bd7ed57f1c12a33684916f
1 { lib, fetchFromGitHub }:
2 rec {
3   version = "9.1.0787";
5   outputs = [ "out" "xxd" ];
7   src = fetchFromGitHub {
8     owner = "vim";
9     repo = "vim";
10     rev = "v${version}";
11     hash = "sha256-kV2SaIOUv+ZcDsqBibZZ38gCevVLhejcYtY0TCQVtig=";
12   };
14   enableParallelBuilding = true;
15   enableParallelInstalling = false;
17   hardeningDisable = [ "fortify" ];
19   # Use man from $PATH; escape sequences are still problematic.
20   postPatch = ''
21     substituteInPlace runtime/ftplugin/man.vim \
22       --replace "/usr/bin/man " "man "
23   '';
25   # man page moving is done in postFixup instead of postInstall otherwise fixupPhase moves it right back where it was
26   postFixup = ''
27     moveToOutput bin/xxd "$xxd"
28     moveToOutput share/man/man1/xxd.1.gz "$xxd"
29     for manFile in $out/share/man/*/man1/xxd.1*; do
30       # moveToOutput does not take full paths or wildcards...
31       moveToOutput "share/man/$(basename "$(dirname "$(dirname "$manFile")")")/man1/xxd.1.gz" "$xxd"
32     done
33   '';
35   meta = with lib; {
36     description = "Most popular clone of the VI editor";
37     homepage    = "http://www.vim.org";
38     license     = licenses.vim;
39     maintainers = with maintainers; [ das_j equirosa philiptaron ];
40     platforms   = platforms.unix;
41     mainProgram = "vim";
42     outputsToInstall = [ "out" "xxd" ];
43   };