nixpkgs-suyu/pkgs/applications/editors/vim/default.nix
William A. Kennington III d438d0e98b vim: 7.4.683 -> 7.4.826
Also, since googlecode is shutting down in <1 month move this to the new
github tree. This removes the dependence on mercurial.
2015-08-14 14:06:58 -07:00

66 lines
2 KiB
Nix

{ stdenv, fetchFromGitHub, ncurses, gettext, pkgconfig
# apple frameworks
, CoreServices, CoreData, Cocoa, Foundation, libobjc }:
stdenv.mkDerivation rec {
name = "vim-${version}";
version = "7.4.826";
src = fetchFromGitHub {
owner = "vim";
repo = "vim";
rev = "v${stdenv.lib.replaceChars ["."] ["-"] version}";
sha256 = "147lkcjdd0jbc7y2hflfzwnyjhdgi1971pmkizihybxmmj1a4g8y";
};
# this makes maintainers very sad
# open source CF doesn't have anything NSArray-related, causing linking errors. the
# missing symbol is in system CoreFoundation.
NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
enableParallelBuilding = true;
buildInputs = [ ncurses pkgconfig ]
++ stdenv.lib.optionals stdenv.isDarwin [ CoreData CoreServices Cocoa Foundation libobjc ];
nativeBuildInputs = [ gettext ];
configureFlags = [
"--enable-multibyte"
"--enable-nls"
];
postInstall = "ln -s $out/bin/vim $out/bin/vi";
crossAttrs = {
configureFlags = [
"vim_cv_toupper_broken=no"
"--with-tlib=ncurses"
"vim_cv_terminfo=yes"
"vim_cv_tty_group=tty"
"vim_cv_tty_mode=0660"
"vim_cv_getcwd_broken=no"
"vim_cv_stat_ignores_slash=yes"
"ac_cv_sizeof_int=4"
"vim_cv_memmove_handles_overlap=yes"
"vim_cv_memmove_handles_overlap=yes"
"STRIP=${stdenv.cross.config}-strip"
];
};
# 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
# patchPhase = ''
# sed -i -e 's/as_fn_error.*int32.*/:/' src/auto/configure
# '';
meta = with stdenv.lib; {
description = "The most popular clone of the VI editor";
homepage = http://www.vim.org;
license = licenses.vim;
maintainers = with maintainers; [ lovek323 ];
platforms = platforms.unix;
};
}