2022-06-20 18:34:21 +00:00
|
|
|
{ lib, stdenv, fetchurl, callPackage, ncurses, bash, gawk, gettext, pkg-config
|
2016-02-26 15:03:53 +00:00
|
|
|
# default vimrc
|
|
|
|
, vimrc ? fetchurl {
|
|
|
|
name = "default-vimrc";
|
2021-07-14 00:41:39 +00:00
|
|
|
url = "https://raw.githubusercontent.com/archlinux/svntogit-packages/68f6d131750aa778807119e03eed70286a17b1cb/trunk/archlinux.vim";
|
2016-02-26 15:03:53 +00:00
|
|
|
sha256 = "18ifhv5q9prd175q3vxbqf6qyvkk6bc7d2lhqdk0q78i68kv9y0c";
|
|
|
|
}
|
2015-06-26 16:53:44 +00:00
|
|
|
# apple frameworks
|
2019-06-19 21:18:39 +00:00
|
|
|
, Carbon, Cocoa
|
2017-05-31 04:53:47 +00:00
|
|
|
}:
|
2010-02-28 17:54:41 +00:00
|
|
|
|
2016-11-07 14:10:32 +00:00
|
|
|
let
|
|
|
|
common = callPackage ./common.nix {};
|
|
|
|
in
|
2019-08-13 21:52:01 +00:00
|
|
|
stdenv.mkDerivation {
|
2019-08-15 12:41:18 +00:00
|
|
|
pname = "vim";
|
2013-08-29 21:27:48 +00:00
|
|
|
|
2016-11-07 15:29:20 +00:00
|
|
|
inherit (common) version src postPatch hardeningDisable enableParallelBuilding meta;
|
2013-08-29 21:27:48 +00:00
|
|
|
|
2021-01-19 06:50:56 +00:00
|
|
|
nativeBuildInputs = [ gettext pkg-config ];
|
2022-06-20 18:34:21 +00:00
|
|
|
buildInputs = [ ncurses bash gawk ]
|
2021-01-15 13:21:58 +00:00
|
|
|
++ lib.optionals stdenv.hostPlatform.isDarwin [ Carbon Cocoa ];
|
2010-10-03 09:17:22 +00:00
|
|
|
|
2022-06-20 18:34:21 +00:00
|
|
|
strictDeps = true;
|
|
|
|
|
2010-10-03 09:17:22 +00:00
|
|
|
configureFlags = [
|
|
|
|
"--enable-multibyte"
|
|
|
|
"--enable-nls"
|
2021-01-15 13:21:58 +00:00
|
|
|
] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
2017-05-31 04:53:47 +00:00
|
|
|
"vim_cv_toupper_broken=no"
|
|
|
|
"--with-tlib=ncurses"
|
|
|
|
"vim_cv_terminfo=yes"
|
2018-01-22 18:45:48 +00:00
|
|
|
"vim_cv_tgetent=zero" # it does on native anyway
|
2022-07-30 18:58:59 +00:00
|
|
|
"vim_cv_timer_create=yes"
|
2017-05-31 04:53:47 +00:00
|
|
|
"vim_cv_tty_group=tty"
|
|
|
|
"vim_cv_tty_mode=0660"
|
|
|
|
"vim_cv_getcwd_broken=no"
|
|
|
|
"vim_cv_stat_ignores_slash=yes"
|
|
|
|
"vim_cv_memmove_handles_overlap=yes"
|
2010-10-03 09:17:22 +00:00
|
|
|
];
|
2007-08-11 11:14:36 +00:00
|
|
|
|
2022-06-20 18:34:21 +00:00
|
|
|
# which.sh is used to for vim's own shebang patching, so make it find
|
|
|
|
# binaries for the host platform.
|
|
|
|
preConfigure = ''
|
|
|
|
export HOST_PATH
|
|
|
|
substituteInPlace src/which.sh --replace '$PATH' '$HOST_PATH'
|
|
|
|
'';
|
|
|
|
|
2016-02-26 15:03:53 +00:00
|
|
|
postInstall = ''
|
|
|
|
ln -s $out/bin/vim $out/bin/vi
|
|
|
|
mkdir -p $out/share/vim
|
|
|
|
cp "${vimrc}" $out/share/vim/vimrc
|
|
|
|
'';
|
2010-08-11 20:14:25 +00:00
|
|
|
|
2015-11-25 18:09:35 +00:00
|
|
|
__impureHostDeps = [ "/dev/ptmx" ];
|
2015-11-13 02:59:17 +00:00
|
|
|
|
2010-10-12 18:33:02 +00:00
|
|
|
# To fix the trouble in vim73, that it cannot cross-build with this patch
|
|
|
|
# to bypass a configure script check that cannot be done cross-building.
|
|
|
|
# http://groups.google.com/group/vim_dev/browse_thread/thread/66c02efd1523554b?pli=1
|
2013-09-04 01:32:06 +00:00
|
|
|
# patchPhase = ''
|
|
|
|
# sed -i -e 's/as_fn_error.*int32.*/:/' src/auto/configure
|
|
|
|
# '';
|
2004-07-30 12:57:27 +00:00
|
|
|
}
|