diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/editors/vim/macvim.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/editors/vim/macvim.nix | 40 |
1 files changed, 30 insertions, 10 deletions
diff --git a/nixpkgs/pkgs/applications/editors/vim/macvim.nix b/nixpkgs/pkgs/applications/editors/vim/macvim.nix index 9eabadae3b0..93ec48e54e0 100644 --- a/nixpkgs/pkgs/applications/editors/vim/macvim.nix +++ b/nixpkgs/pkgs/applications/editors/vim/macvim.nix @@ -27,13 +27,13 @@ in stdenv.mkDerivation { pname = "macvim"; - version = "8.2.319"; + version = "8.2.539"; src = fetchFromGitHub { owner = "macvim-dev"; repo = "macvim"; - rev = "snapshot-162"; - sha256 = "1mg55jlrz533wlqrx028fyv86rfhdzvm5kdi8xlf67flc5hh9vrp"; + rev = "snapshot-163"; + sha256 = "0ibc6h7zmk81dygkxd8a2rcq72zbqmr9kh64xhsm9h0p70505cdk"; }; enableParallelBuilding = true; @@ -66,7 +66,6 @@ stdenv.mkDerivation { "--with-tlib=ncurses" "--with-compiledby=Nix" "--disable-sparkle" - "LDFLAGS=-headerpad_max_install_names" ]; makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"''; @@ -81,11 +80,6 @@ stdenv.mkDerivation { # This is unfortunate, but we need to use the same compiler as Xcode, # but Xcode doesn't provide a way to configure the compiler. - # - # If you're willing to modify the system files, you can do this: - # http://hamelot.co.uk/programming/add-gcc-compiler-to-xcode-6/ - # - # But we don't have that option. preConfigure = '' CC=/usr/bin/clang @@ -101,8 +95,34 @@ stdenv.mkDerivation { '' ; + # Because we're building with system clang, this means we're building against Xcode's SDK and + # linking against system libraries. The configure script is picking up Nix Libsystem (via ruby) + # so we need to patch that out or we'll get linker issues. The MacVim binary built by Xcode links + # against the system anyway so it doesn't really matter that the Vim binary will too. If we + # decide that matters, we can always patch it back to the Nix libsystem post-build. + # It also picks up libiconv, libunwind, and objc4 from Nix. These seem relatively harmless but + # let's strip them out too. + # + # Note: If we do add a post-build install_name_tool patch, we need to add the + # "LDFLAGS=-headerpad_max_install_names" flag to configureFlags and either patch it into the + # Xcode project or pass it as a flag to xcodebuild as well. postConfigure = '' - substituteInPlace src/auto/config.mk --replace "PERL_CFLAGS =" "PERL_CFLAGS = -I${darwin.libutil}/include" + substituteInPlace src/auto/config.mk \ + --replace "PERL_CFLAGS =" "PERL_CFLAGS = -I${darwin.libutil}/include" \ + --replace " -L${stdenv.cc.libc}/lib" "" \ + --replace " -L${darwin.libobjc}/lib" "" \ + --replace " -L${darwin.libunwind}/lib" "" \ + --replace " -L${darwin.libiconv}/lib" "" + + # All the libraries we stripped have -osx- in their name as of this time. + # Assert now that this pattern no longer appears in config.mk. + ( # scope variable + while IFS="" read -r line; do + if [[ "$line" == LDFLAGS*-osx-* ]]; then + echo "WARNING: src/auto/config.mk contains reference to Nix osx library" >&2 + fi + done <src/auto/config.mk + ) substituteInPlace src/MacVim/vimrc --subst-var-by CSCOPE ${cscope}/bin/cscope ''; |