pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / applications / editors / vim / common.nix
blob67cf247fe72a9c4a7e82830b317218731772510a
1 { lib, fetchFromGitHub }:
2 rec {
3   version = "9.1.0765";
5   outputs = [ "out" "xxd" ];
7   src = fetchFromGitHub {
8     owner = "vim";
9     repo = "vim";
10     rev = "v${version}";
11     hash = "sha256-LtEEMpdWXA6qyjAIjgsZoc4hNXXG2ZXxCsbWKC5aEPI=";
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   };