Commit Graph

38 Commits

Author SHA1 Message Date
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
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
Lily Ballard
7724875cae macvim: 8.1.2234 -> 8.2.319 2020-03-03 18:02:27 -08: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
Lily Ballard
647ee3c2f0 macvim: snapshot-157 -> snapshot-161 2019-11-07 13:24:38 -08: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
volth
08f68313a4 treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
Frederik Rietdijk
fe9a3e3e63 Merge staging-next into staging 2019-08-17 09:39:23 +02: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
Lily Ballard
95bfb9938f macvim: 7.4.909 -> 8.1.1517
Fix up the macvim package to build again, with the latest snapshot. The
patchfile has been recreated by manually reapplying all of the changes
from the old patchfile, and the other changes in here were figured out
by trial and error (such as the need to unset `LD`).

Also tweak the package to use python37 by default, and add an option to
go back to python27 if desired.

Disable Sparkle so the user isn't prompted to update a readonly package.
2019-06-11 11:21:09 -07:00
volth
52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
zimbatm
e8194c2c5b
ruby: remove unsupported versions (#34927)
* remove EOL ruby versions for security and maintenance reasons.
* only expose ruby_MAJOR_MINOR to the top-level. we don't provide
guarantees for the TINY version.
* mark all related packages as broken
* switch the default ruby version from 2.3.x to 2.4.x
2018-02-14 09:53:54 +00:00
John Ericson
ed14223f8c treewide: Manual fix more pkg-config build-inputs 2017-09-21 15:49:54 -04:00
davidak
3270aa896b replace "Mac OS X" and "OS X" with "macOS"
as it is the official name since 2016

https://en.wikipedia.org/wiki/Macintosh_operating_systems#Desktop

exception are parts refering to older versions of macOS like

"GUI support for Mac OS X 10.6 - 10.12. Note that Emacs 23 and later [...]"
2017-08-07 21:41:30 +02:00
Charles Strahan
ec1c8071b1 macvim: fix build 2016-05-06 22:32:23 -04:00
Allan Espinosa
fd59345d73 macvim: remove extra MacVim.app
/MacVim.app is a duplicate of /Applications/MacVim.app
2016-03-10 10:38:13 -06:00
Charles Strahan
23e5ffa2e5 macvim: 7.4.648 -> 7.4.909 (and fix build) 2015-11-15 02:04:27 -05:00
Charles Strahan
7c1a3da1c4 macvim: fix bad copy/paste in 6f08fdd26
In 6f08fdd26, I left in a typo after copying from my `~/.nixpkgs/config`.
I would normally test this out locally, but I'm fixing up my conf locally,
and, in the interest of not forgetting to push this change up, made the edit
through GitHub's UI.
Oops.
2015-08-04 17:46:45 -05:00
Charles Strahan
6f08fdd26a macvim: 7.4.479 -> 7.4.648
This updates macvim to 7.4.648. This also fixes the build, which was broken when I set the default Ruby version to 2.2.2 (one of the symbols was renamed).
2015-08-04 17:42:08 -05:00
Tobias Geerinckx-Rice
158e1cfdd0 Don't use "with licenses;" for single licences
And don't use square brackets on such lines.
2015-05-28 19:20:29 +02:00
Tobias Geerinckx-Rice
b84588cbde vim (all builds): add licence information 2015-05-27 01:22:43 +02:00
John Wiegley
4c81ac3320 macvim: Update sha256 2014-11-03 15:27:32 -06:00
Allan Espinosa
c6089871bb Use fetchurl and the exact release tag 2014-11-03 22:15:58 +09:00
Allan Espinosa
21880ab6fb Update the sha256sum of the new MacVim build
Correct the update from #4576
2014-11-03 22:15:58 +09:00
Charles Strahan
bad51b0b02 Fix MacVim by using clang. 2014-10-18 01:15:45 -04:00
Eelco Dolstra
ff97b7dbe6 Merge remote-tracking branch 'origin/master' into staging 2014-07-14 17:04:55 +02:00
Charles Strahan
03391f9894 Update macvim package to v7.4.355
MacVim's maintenance has stagnated, so this moves `macvim` to a new maintainer.
Additionally, the `-headerpad_max_install_names` linker flag is passed to
prevent problems when setting the rpaths.
2014-07-07 00:16:55 -04:00
Eelco Dolstra
40f7b0f9df Another attempt to eradicate ensureDir
See c556a6ea46.
2014-06-30 14:56:10 +02:00
John Wiegley
6a3a9589e2 macvim: add missing call to ensureDir 2014-06-07 20:22:58 +00:00
John Wiegley
c06613a3af macvim: move the .app bundle to $out/Applications 2014-06-07 20:18:27 +00:00
Charles Strahan
72cd8ce56c add MacVim 2014-06-07 15:26:01 -04:00