Commit Graph

252 Commits

Author SHA1 Message Date
Mario Rodas
77cf8388be
Merge pull request #93733 from lilyball/macvim-plugins
macvim: add configuration similar to vim_configurable and neovim
2020-09-29 05:13:35 -05:00
Lily Ballard
72e3217bf1 macvim: add configuration similar to vim_configurable and neovim
vim_configurable and neovim have both supported a mechanism to build
them with a custom vimrc that supports plugins from Nix. This updates
MacVim to support the same sort of configuration using an expression
like

  macvim.configure {
    customRC = ''
      # custom configuration goes here
    '';
    packages.myVimPackage = with pkgs.vimPlugins; {
      start = [ youcompleteme fugitive ];
      opt = [ phpCompletion elm-vim ];
    }
  }

Once configured, .override will allow for editing the configuration.

Like vim_configurable and neovim, configuring macvim does not require
rebuilding it. Also like them, configuring macvim turns off the user
vimrc file.
2020-09-28 16:03:34 -07:00
Lily Ballard
9daf3b994b macvim: 8.2.539 -> 8.2.1719 2020-09-28 15:33:36 -07:00
Lily Ballard
d3b1d59d84 macvim: Properly link against Nix ncurses
Since we're not using the Nix compiler, our buildInputs aren't
automatically exposed to the compiler, which means it was actually
compiling against system libncurses instead of Nix libncurses.

Also remove the `-Wno-error` from the make flags (and the unnecessary
`PREFIX` definition) in favor of using a much more targeted error
suppression at the configure flags. This works around an issue where
implicit function definitions are considered an error and the configure
script was trying to compile a file tht invoked an ncurses function
without including the relevant header.
2020-09-28 15:12:07 -07:00
R. RyanTM
f02984aace vim: 8.2.1123 -> 8.2.1522 2020-08-31 17:33:28 -07:00
Peter Hoeg
8401a6262e qvim: drop it
Upstream has moved development to neovim instead where this frontend is
now based on Qt5.
2020-08-31 23:04:00 +08:00
Frederik Rietdijk
a3a40ac7cc Merge staging-next into staging 2020-07-11 09:00:18 +02:00
R. RyanTM
8d28b320b9 vim: 8.2.0701 -> 8.2.1123 2020-07-07 22:36:41 +00:00
Benjamin Esham
e45ddb7588 vim_configurable: only run patchelf on gvim if gvim was built 2020-07-05 15:17:23 -04:00
Doron Behar
8acdd6db79 vim_configureable: improve luajit support 2020-06-21 14:45:11 +02:00
R. RyanTM
1ad8565422 vim: 8.2.0510 -> 8.2.0701 2020-05-10 21:33:28 +00:00
Dmitry Kalinkin
20eff68d97
Merge pull request #85321 from lilyball/macvim
macvim: 8.2.319 -> 8.2.539
2020-05-03 15:49:03 -04:00
Lily Ballard
ee28064389 macvim: Clean up hybrid compilation environment
MacVim compiles the Vim part using `/usr/bin/clang` and the GUI part
using Xcode. The Xcode portion always uses Xcode's own SDK and we have
no workable alternative. The Vim portion so far has been compiling using
a hybrid compilation environment, where it uses the SDK for most stuff
but picks up a bunch of library linker paths (including libSystem) by
virtue of Ruby's LDFLAGS. This hybrid compilation environment meant that
if the SDK headers referenced a symbol that the library itself didn't
have, this could produce link errors.

Previously we attempted to fix this by synthesizing an include path that
contained just the one header from Nix's Libsystem that referenced the
missing symbol, to get rid of the reference and allow linking to work
again, but this was very hacky and runs the risk of future Xcode SDK
changes producing the same errors with different headers, or of future
SDK versions expecting the intercepted header to contain a definition
that Nix's doesn't.

This new approach is to just clean up the compilation environment such
that the Vim portion is compiling against the Xcode SDK as well, by
sanitizing the LDFLAGS produced by the configure script so it stops
referencing Nix's versions of OS libraries. This means the resulting Vim
binary no longer depends at runtime on Nix for anything except the
scripting language support, but that's how it's been for the MacVim
binary all along anyway, and this approach should keep us insulated
against future Xcode SDK changes.
2020-04-28 13:54:33 -07:00
R. RyanTM
1c7bcaa6db vim: 8.2.0343 -> 8.2.0510 2020-04-21 08:39:52 +02:00
Lily Ballard
e4311a77b4 macvim: 8.2.319 -> 8.2.539 2020-04-15 11:16:24 -07:00
Lily Ballard
f3ccd5d6ba macvim: Fix compatibility with Xcode 11.4
Xcode 11.4 has an updated sys/_types/_fd_def.h header that references a
new symbol from libSystem. This is a problem because we're using
`/usr/bin/clang` to compile the non-Xcode portion, and this pulls in
headers from Xcode's SDK. Somehow it's still linking to the Nix
libraries (I can't figure out where configure finds these to put into
`LDFLAGS` as we're not using the cc-wrapper). The end result is we get a
linker error where this new symbol can't be found at link time, even
though it's a weak import and isn't required at runtime.

Ideally we'd provide a full 10.12 SDK to `/usr/bin/clang`, but we can't
do that because even the DevSDK package we use for our 10.12 SDK doesn't
contain everything (in particular it's missing nearly all dylibs) so we
just get linker errors if we do that.

Instead we'll just do a horrible hack and provide an `-isystem` path to
a folder structure that contains only the 10.12 `sys/_types/_fd_def.h`
header. This avoids the new symbol without causing all the errors that
happen if we pull in the entire `${darwin.Libsystem}/include`.
2020-04-15 11:16:24 -07:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
Daiderd Jordan
67938c1bfd
Merge pull request #82097 from millerjason/bugfix/vim_configurable
vim_configurable: fix default gui for darwin
2020-03-28 11:50:32 +01:00
Jason Miller
4234ef550c vimacs: init at 2016-03-24 2020-03-27 14:39:22 -04:00
Jason Miller
43ff2ab350 vim_configurable: fix default gui for darwin 2020-03-19 21:08:51 -04:00
Frederik Rietdijk
0eb0ddc4db Merge staging-next into master 2020-03-08 08:11:01 +01:00
R. RyanTM
43ccb035b9 vim: 8.2.0227 -> 8.2.0343 2020-03-06 07:08:49 +01:00
Lily Ballard
7724875cae macvim: 8.1.2234 -> 8.2.319 2020-03-03 18:02:27 -08:00
R. RyanTM
452f481853 vim: 8.2.0013 -> 8.2.0227 2020-02-16 08:36:56 +01:00
Eduardo Quiros
3e50d4a6f3 vim: 8.1.2407 -> 8.2.0013 2019-12-31 09:28:42 +01:00
R. RyanTM
f45df9cd47 vimHugeX: 8.1.2237 -> 8.1.2407 2019-12-10 18:49:04 +01:00
Frederik Rietdijk
65edeb8633 Merge master into staging-next 2019-11-20 10:01:49 +01:00
Daniel Schaefer
3de2aeb519 vim_configurable: Add vi symlink to vim 2019-11-19 22:05:06 +01:00
Frederik Rietdijk
f6b39f852e Merge master into staging-next 2019-11-19 10:53:44 +01:00
Lily Ballard
505f913ceb macvim: Add -headerpad_max_install_names (#73592)
We were adding this to the compilation of MacVim, but not to the
compilation of the separate Vim binary. We may not actually need it for
MacVim at all, but omitting it for the Vim binary meant our postInstall
phase would fail for some people.

Fixes #73514
2019-11-17 20:16:47 -05:00
markuskowa
5979caeab0
Merge pull request #72687 from r-ryantm/auto-update/vim
vim: 8.1.2188 -> 8.1.2237
2019-11-12 01:05:22 +01:00
Lily Ballard
647ee3c2f0 macvim: snapshot-157 -> snapshot-161 2019-11-07 13:24:38 -08:00
R. RyanTM
02c3bcee61 vim: 8.1.2188 -> 8.1.2237 2019-11-03 01:49:38 -08:00
R. RyanTM
bacc6dcd56 vim: 8.1.1967 -> 8.1.2188
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/vim/versions
2019-10-24 21:17:47 -07:00
worldofpeace
586208204e
Merge pull request #69576 from lilyball/macvim-no-chroot
macvim: Add sandboxProfile
2019-10-09 20:41:29 +00:00
Lily Ballard
cf6fd91804 macvim: Add sandboxProfile
This allows full filesystem access except for Homebrew. This is because
we don't know where Xcode will be installed so we can't just whitelist
it and its dependencies.
2019-09-27 09:40:25 -07:00
Jörg Thalheim
05a92768f2
Merge pull request #68534 from lilyball/macvim-xcode-11-fix
macvim: fix compatibility with Xcode 11
2019-09-26 22:22:46 +01:00
Lily Ballard
4563496375 macvim: fix compatibility with Xcode 11
This fixes several Xcode 11 incompatibilities with MacVim, including an
issue where it wasn't inheriting the deployment target correctly to
begin with.
2019-09-11 20:13:36 -07:00
Lily Ballard
7f481e807f macvim: work around ibtool issue
It seems that /usr/bin/ibtool marks stdin/stdout/stderr as nonblocking,
which can cause the subsequent build phase to fail when it tries to
write to stdout. I don't know why this problem just started happening
for me, but preventing ibtool from inheriting fds fixes the problem.
2019-09-11 16:44:13 -07:00
Vladimír Čunát
4aad2947f8
Merge branch 'master' into staging-next 2019-09-04 11:00:56 +02:00
averelld
42607bb059 vim: 8.1.1547 -> 8.1.1967 (#68011) 2019-09-03 22:34:37 +02:00
volth
08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
volth
35d68ef143 treewide: remove redundant quotes 2019-08-26 21:40:19 +00:00
Marek Mahut
783a689ded
Merge pull request #67157 from r-ryantm/auto-update/vim
vim: 8.1.1547 -> 8.1.1866
2019-08-24 15:59:49 +02:00
R. RyanTM
0fdf3933fb vim: 8.1.1547 -> 8.1.1866
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/vim/versions
2019-08-20 20:32:53 -07:00
Frederik Rietdijk
fe9a3e3e63 Merge staging-next into staging 2019-08-17 09:39:23 +02:00
Aaron Andersen
08161d9013
Merge pull request #65713 from lilyball/macvim
macvim: 8.1.1517 -> 8.1.1722
2019-08-16 22:08:25 -04:00
volth
46420bbaa3 treewide: name -> pname (easy cases) (#66585)
treewide replacement of

stdenv.mkDerivation rec {
  name = "*-${version}";
  version = "*";

to pname
2019-08-15 13:41:18 +01:00
Lily Ballard
e7f5a19f4a macvim: 8.1.1517 -> 8.1.1722 2019-08-01 00:24:23 -07:00
R. RyanTM
2b974b576c vim: 8.1.1432 -> 8.1.1547
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/vim/versions
2019-07-20 14:13:43 +02:00