diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix index 2f2c787ffac..7ee28adfa47 100644 --- a/pkgs/applications/editors/vim/configurable.nix +++ b/pkgs/applications/editors/vim/configurable.nix @@ -1,7 +1,7 @@ # TODO tidy up eg The patchelf code is patching gvim even if you don't build it.. # but I have gvim with python support now :) - Marc -args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, gettext -, writeText, lib, config, glib, gtk2, gtk3, python, perl, tcl, ruby +{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, gettext +, writeText, config, glib, gtk2, gtk3, lua, python, perl, tcl, ruby , libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu , libICE , vimPlugins @@ -13,7 +13,7 @@ args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, ge , features ? "huge" # One of tiny, small, normal, big or huge , wrapPythonDrv ? false -, guiSupport ? config.vim.gui or "auto" +, guiSupport ? config.vim.gui or "gtk3" , luaSupport ? config.vim.lua or true , perlSupport ? config.vim.perl or false # Perl interpreter , pythonSupport ? config.vim.python or true # Python interpreter @@ -24,11 +24,10 @@ args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, ge , cscopeSupport ? config.vim.cscope or true # Enable cscope interface , netbeansSupport ? config.netbeans or true # Enable NetBeans integration support. , ximSupport ? config.vim.xim or true # less than 15KB, needed for deadkeys -# By default, compile with darwin support if we're compiling on darwin, but -# allow this to be disabled by setting config.vim.darwin to false -, darwinSupport ? stdenv.isDarwin && (config.vim.darwin or true) # Enable Darwin support +, darwinSupport ? config.vim.darwin or false # Enable Darwin support , ftNixSupport ? config.vim.ftNix or true # Add .nix filetype detection and minimal syntax highlighting support -, ... }: with args; +, ... +}: let @@ -99,8 +98,10 @@ in stdenv.mkDerivation rec { "--disable-carbon_check" "--disable-gtktest" ] + ++ stdenv.lib.optional stdenv.isDarwin + (if darwinSupport then "--enable-darwin" else "--disable-darwin") ++ stdenv.lib.optionals luaSupport [ - "--with-lua-prefix=${args.lua}" + "--with-lua-prefix=${lua}" "--enable-luainterp" ] ++ stdenv.lib.optionals pythonSupport [ @@ -128,7 +129,8 @@ in stdenv.mkDerivation rec { buildInputs = [ ncurses libX11 libXext libSM libXpm libXt libXaw libXau libXmu glib libICE ] - ++ (if guiSupport == "gtk3" then [gtk3] else [gtk2]) + ++ stdenv.lib.optional (guiSupport == "gtk2") gtk2 + ++ stdenv.lib.optional (guiSupport == "gtk3") gtk3 ++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc cf-private ] ++ stdenv.lib.optional luaSupport lua ++ stdenv.lib.optional pythonSupport python @@ -142,13 +144,10 @@ in stdenv.mkDerivation rec { cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim ''; - NIX_LDFLAGS = stdenv.lib.optionalString (darwinSupport && stdenv.isDarwin) - "/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation"; - postInstall = '' '' + stdenv.lib.optionalString stdenv.isLinux '' patchelf --set-rpath \ - "$(patchelf --print-rpath $out/bin/vim):${lib.makeLibraryPath buildInputs}" \ + "$(patchelf --print-rpath $out/bin/vim):${stdenv.lib.makeLibraryPath buildInputs}" \ "$out"/bin/{vim,gvim} ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1d7eb4747f0..975b526bc22 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9767,6 +9767,11 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) AppKit Cocoa; }; + # On darwin gtk uses cocoa by default instead of x11. + gtk3-x11 = gtk3.override { + x11Support = true; + }; + gtkmm2 = callPackage ../development/libraries/gtkmm/2.x.nix { }; gtkmm3 = callPackage ../development/libraries/gtkmm/3.x.nix { }; @@ -18986,9 +18991,8 @@ with pkgs; vim_configurable = vimUtils.makeCustomizable (callPackage ../applications/editors/vim/configurable.nix { inherit (darwin.apple_sdk.frameworks) CoreServices Cocoa Foundation CoreData; inherit (darwin) libobjc cf-private; - inherit lua; gtk2 = if stdenv.isDarwin then gtk2-x11 else gtk2; - guiSupport = if stdenv.isDarwin then "gtk2" else "gtk3"; + gtk3 = if stdenv.isDarwin then gtk3-x11 else gtk3; }); qpdfview = libsForQt5.callPackage ../applications/misc/qpdfview {};