diff options
Diffstat (limited to 'pkgs/applications/editors')
-rw-r--r-- | pkgs/applications/editors/bvi/default.nix | 15 | ||||
-rw-r--r-- | pkgs/applications/editors/emacs-24/default.nix | 9 | ||||
-rw-r--r-- | pkgs/applications/editors/emacs-24/macport.nix | 8 | ||||
-rw-r--r-- | pkgs/applications/editors/emacs-modes/git-modes/default.nix | 29 | ||||
-rw-r--r-- | pkgs/applications/editors/emacs-modes/magit/default.nix | 33 | ||||
-rw-r--r-- | pkgs/applications/editors/leafpad/default.nix | 24 | ||||
-rw-r--r-- | pkgs/applications/editors/vim/macvim.nix | 12 | ||||
-rw-r--r-- | pkgs/applications/editors/vim/macvim.patch | 33 | ||||
-rw-r--r-- | pkgs/applications/editors/yi/yi-contrib.nix | 21 | ||||
-rw-r--r-- | pkgs/applications/editors/yi/yi-custom-cabal/LICENSE | 24 | ||||
-rw-r--r-- | pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal | 17 | ||||
-rw-r--r-- | pkgs/applications/editors/yi/yi-custom.nix | 40 | ||||
-rw-r--r-- | pkgs/applications/editors/yi/yi.nix | 68 |
13 files changed, 232 insertions, 101 deletions
diff --git a/pkgs/applications/editors/bvi/default.nix b/pkgs/applications/editors/bvi/default.nix index e598fa19c5e..f3f44f769a9 100644 --- a/pkgs/applications/editors/bvi/default.nix +++ b/pkgs/applications/editors/bvi/default.nix @@ -1,18 +1,21 @@ { stdenv, fetchurl, ncurses }: -stdenv.mkDerivation { - name = "bvi-1.3.2"; +stdenv.mkDerivation rec { + name = "bvi-${version}"; + version = "1.4.0"; src = fetchurl { - url = mirror://sourceforge/bvi/bvi-1.3.2.src.tar.gz; - sha256 = "110wxqnyianqamxq4y53drqqxb9vp4k2fcvic45qggvlqkqhlfgz"; + url = "mirror://sourceforge/bvi/${name}.src.tar.gz"; + sha256 = "00pq9rv7s8inqxq2m3xshxi58691i3pxw9smibcrgh6768l3qnh1"; }; buildInputs = [ ncurses ]; - meta = { + meta = with stdenv.lib; { description = "Hex editor with vim style keybindings"; homepage = http://bvi.sourceforge.net/download.html; - license = stdenv.lib.licenses.gpl2; + license = licenses.gpl2; + maintainers = with maintainers; [ pSub ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/editors/emacs-24/default.nix b/pkgs/applications/editors/emacs-24/default.nix index 3bfee481c9c..8f954515b8f 100644 --- a/pkgs/applications/editors/emacs-24/default.nix +++ b/pkgs/applications/editors/emacs-24/default.nix @@ -9,13 +9,13 @@ assert (libXft != null) -> libpng != null; # probably a bug assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise stdenv.mkDerivation rec { - name = "emacs-24.3"; + name = "emacs-24.4"; builder = ./builder.sh; src = fetchurl { url = "mirror://gnu/emacs/${name}.tar.xz"; - sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh"; + sha256 = "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7"; }; patches = [ ./darwin-new-sections.patch ]; @@ -35,10 +35,7 @@ stdenv.mkDerivation rec { [ "--with-x-toolkit=lucid" "--with-xft" ] else [ "--with-x=no" "--with-xpm=no" "--with-jpeg=no" "--with-png=no" - "--with-gif=no" "--with-tiff=no" ] ) ) - # On NixOS, help Emacs find `crt*.o'. - ++ stdenv.lib.optional (stdenv ? glibc) - [ "--with-crt-dir=${stdenv.glibc}/lib" ]; + "--with-gif=no" "--with-tiff=no" ] ) ); NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (stdenv.isDarwin && withX) "-I${cairo}/include/cairo"; diff --git a/pkgs/applications/editors/emacs-24/macport.nix b/pkgs/applications/editors/emacs-24/macport.nix index d9b32351040..b357d19b674 100644 --- a/pkgs/applications/editors/emacs-24/macport.nix +++ b/pkgs/applications/editors/emacs-24/macport.nix @@ -2,19 +2,19 @@ }: stdenv.mkDerivation rec { - emacsName = "emacs-24.3"; - name = "${emacsName}-mac-4.8"; + emacsName = "emacs-24.4"; + name = "${emacsName}-mac-5.0"; #builder = ./builder.sh; src = fetchurl { url = "mirror://gnu/emacs/${emacsName}.tar.xz"; - sha256 = "1385qzs3bsa52s5rcncbrkxlydkw0ajzrvfxgv8rws5fx512kakh"; + sha256 = "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7"; }; macportSrc = fetchurl { url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz"; - sha256 = "194y341zrpjp75mc3099kjc0inr1d379wwsnav257bwsc967h8yx"; + sha256 = "14ipkwmzv0b02sclhgp2xj0cvhl3gk40sc2l21s87621kk640dzv"; }; patches = [ ./darwin-new-sections.patch ]; diff --git a/pkgs/applications/editors/emacs-modes/git-modes/default.nix b/pkgs/applications/editors/emacs-modes/git-modes/default.nix new file mode 100644 index 00000000000..8a2ca6eb909 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/git-modes/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchFromGitHub, emacs }: + +let + version = "0.15.0-8-g4e10851"; +in +stdenv.mkDerivation { + name = "git-modes-${version}"; + + src = fetchFromGitHub { + owner = "magit"; + repo = "git-modes"; + rev = "4e10851843145e0c05fc665683d3b487a57ad114"; + sha256 = "13j794a2p4ql9dnw2z0c1m0ybclxsicbk8cmmfqcchs4ygiyc6ag"; + }; + + buildInputs = [ emacs ]; + + installPhase = '' + mkdir -p $out/share/emacs/site-lisp + mv *.el *.elc $out/share/emacs/site-lisp/ + ''; + + meta = { + homepage = "https://github.com/magit/git-modes"; + description = "Emacs modes for various Git-related files"; + license = stdenv.lib.licenses.gpl3Plus; + maintainers = with stdenv.lib.maintainers; [ simons ]; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/magit/default.nix b/pkgs/applications/editors/emacs-modes/magit/default.nix index 076caf5235b..4a8d8b20d04 100644 --- a/pkgs/applications/editors/emacs-modes/magit/default.nix +++ b/pkgs/applications/editors/emacs-modes/magit/default.nix @@ -1,25 +1,35 @@ -{ stdenv, fetchurl, emacs, texinfo }: +{ stdenv, fetchFromGitHub, emacs, texinfo, gitModes, git }: let - version = "1.2.0"; + version = "90141016"; in stdenv.mkDerivation rec { name = "magit-${version}"; - src = fetchurl { - url = "https://github.com/downloads/magit/magit/${name}.tar.gz"; - sha256 = "1a8vvilhd5y5vmlpsh194qpl4qlg0a1brylfscxcacpfp0cmhlzg"; + src = fetchFromGitHub { + owner = "magit"; + repo = "magit"; + rev = version; + sha256 = "11d3gzj0hlb7wqsjzjb0vf9i0ik4xzwdyayjy4hfgx0gjmymkfx3"; }; - buildInputs = [ emacs texinfo ]; + buildInputs = [ emacs texinfo git ]; + propagatedUserEnvPkgs = [ gitModes ]; - configurePhase = "makeFlagsArray=( PREFIX=$out SYSCONFDIR=$out/etc )"; + configurePhase = '' + makeFlagsArray=( + PREFIX="$out" + EFLAGS="-L ${gitModes}/share/emacs/site-lisp" + lispdir="$out/share/emacs/site-lisp" + ) + ''; + + doCheck = true; + checkTarget = "test"; - # Add (require 'magit-site-init) to your ~/.emacs file to set-up magit mode. postInstall = '' - mv $out/etc/emacs/site-start.d/50magit.el $out/share/emacs/site-lisp/magit-site-init.el - sed -i -e 's|50magit|magit-site-init|' $out/share/emacs/site-lisp/magit-site-init.el - rmdir $out/etc/emacs/site-start.d $out/etc/emacs $out/etc + mkdir -p $out/bin + mv "bin/"* $out/bin/ ''; meta = { @@ -39,7 +49,6 @@ stdenv.mkDerivation rec { save you from learning Git itself. ''; - platforms = stdenv.lib.platforms.all; maintainers = with stdenv.lib.maintainers; [ simons ]; }; } diff --git a/pkgs/applications/editors/leafpad/default.nix b/pkgs/applications/editors/leafpad/default.nix new file mode 100644 index 00000000000..fc35a993bad --- /dev/null +++ b/pkgs/applications/editors/leafpad/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl, intltool, pkgconfig, gtk }: + +stdenv.mkDerivation rec { + version = "0.8.18.1"; + name = "leafpad-${version}"; + src = fetchurl { + url = "http://download.savannah.gnu.org/releases/leafpad/${name}.tar.gz"; + sha256 = "0b0az2wvqgvam7w0ns1j8xp2llslm1rx6h7zcsy06a7j0yp257cm"; + }; + + buildInputs = [ intltool pkgconfig gtk ]; + + configureFlags = [ + "--enable-chooser" + ]; + + meta = with stdenv.lib; { + description = "A notepad clone for GTK+ 2.0"; + homepage = http://tarot.freeshell.org/leafpad; + platforms = platforms.linux; + maintainers = [ maintainers.flosse ]; + license = licenses.gpl3; + }; +} diff --git a/pkgs/applications/editors/vim/macvim.nix b/pkgs/applications/editors/vim/macvim.nix index feafa7b9977..8fc3a4108d2 100644 --- a/pkgs/applications/editors/vim/macvim.nix +++ b/pkgs/applications/editors/vim/macvim.nix @@ -1,17 +1,16 @@ -{ stdenv, stdenvAdapters, gccApple, fetchFromGitHub, ncurses, gettext, +{ stdenv, fetchFromGitHub, ncurses, gettext, pkgconfig, cscope, python, ruby, tcl, perl, luajit }: -let inherit (stdenvAdapters.overrideGCC stdenv gccApple) mkDerivation; -in mkDerivation rec { +stdenv.mkDerivation rec { name = "macvim-${version}"; - version = "7.4.355"; + version = "7.4.479"; src = fetchFromGitHub { owner = "genoma"; repo = "macvim"; - rev = "c18a61f9723565664ffc2eda9179e96c95860e25"; + rev = "f9c084b97fa9d5cad2448dfd3eff3d9b7f0fac59"; sha256 = "190bngg8m4bwqcia7w24gn7mmqkhk0mavxy81ziwysam1f652ymf"; }; @@ -46,6 +45,7 @@ in mkDerivation rec { "--enable-perlinterp=dynamic" "--enable-rubyinterp=dynamic" "--enable-tclinterp=yes" + "--without-local-dir" "--with-luajit" "--with-lua-prefix=${luajit}" "--with-ruby-command=${ruby}/bin/ruby" @@ -54,6 +54,8 @@ in mkDerivation rec { "--with-compiledby=Nix" ]; + makeFlags = ''PREFIX=$(out) CPPFLAGS="-Wno-error"''; + preConfigure = '' DEV_DIR=$(/usr/bin/xcode-select -print-path)/Platforms/MacOSX.platform/Developer configureFlagsArray+=( diff --git a/pkgs/applications/editors/vim/macvim.patch b/pkgs/applications/editors/vim/macvim.patch index a789b9952d2..a42ebd4cc03 100644 --- a/pkgs/applications/editors/vim/macvim.patch +++ b/pkgs/applications/editors/vim/macvim.patch @@ -187,3 +187,36 @@ index bc9f074..9b9125e 100755 # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 + +diff --git a/src/Makefile b/src/Makefile +index 1c4d104..fff2015 100644 +--- a/src/Makefile ++++ b/src/Makefile +@@ -1298,7 +1298,7 @@ MACVIMGUI_SRC = gui.c gui_beval.c MacVim/gui_macvim.m MacVim/MMBackend.m \ + MacVim/MacVim.m + MACVIMGUI_OBJ = objects/gui.o objects/gui_beval.o objects/pty.o \ + objects/gui_macvim.o objects/MMBackend.o objects/MacVim.o +-MACVIMGUI_DEFS = -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe ++MACVIMGUI_DEFS = -DMACOS_X_UNIX -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe + MACVIMGUI_IPATH = + MACVIMGUI_LIBS_DIR = + MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon + +diff --git a/src/if_python.c b/src/if_python.c +index b356bf7..b7bfa78 100644 +--- a/src/if_python.c ++++ b/src/if_python.c +@@ -55,11 +55,7 @@ + + #define PY_SSIZE_T_CLEAN + +-#ifdef FEAT_GUI_MACVIM +-# include <Python/Python.h> +-#else +-# include <Python.h> +-#endif ++#include <Python.h> + + #if !defined(PY_VERSION_HEX) || PY_VERSION_HEX < 0x02050000 + # undef PY_SSIZE_T_CLEAN + MACVIMGUI_LIBS1 = -framework Cocoa -framework Carbon diff --git a/pkgs/applications/editors/yi/yi-contrib.nix b/pkgs/applications/editors/yi/yi-contrib.nix deleted file mode 100644 index 2678f0a0048..00000000000 --- a/pkgs/applications/editors/yi/yi-contrib.nix +++ /dev/null @@ -1,21 +0,0 @@ -# This file was auto-generated by cabal2nix. Please do NOT edit manually! - -{ cabal, filepath, lens, mtl, split, time, transformersBase, yi }: - -cabal.mkDerivation (self: { - pname = "yi-contrib"; - version = "0.8.2"; - sha256 = "17rbgrra1ghlywiraadf16n7igxp1k8jqqmb0iw8sc15y7825qqm"; - buildDepends = [ - filepath lens mtl split time transformersBase yi - ]; - meta = { - homepage = "http://haskell.org/haskellwiki/Yi"; - description = "Add-ons to Yi, the Haskell-Scriptable Editor"; - license = "GPL"; - broken = true; - platforms = self.ghc.meta.platforms; - hydraPlatforms = self.stdenv.lib.platforms.none; - maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; - }; -}) diff --git a/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE b/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE new file mode 100644 index 00000000000..cf1ab25da03 --- /dev/null +++ b/pkgs/applications/editors/yi/yi-custom-cabal/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to <http://unlicense.org> diff --git a/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal b/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal new file mode 100644 index 00000000000..d9ffbb8e481 --- /dev/null +++ b/pkgs/applications/editors/yi/yi-custom-cabal/yi-custom.cabal @@ -0,0 +1,17 @@ +name: yi-custom +version: 0.0.0.1 +category: Yi +synopsis: Convenience wrapper for nix +description: Convenience wrapper for nix +license: PublicDomain +license-file: LICENSE +author: Mateusz Kowalczyk +maintainer: fuuzetsu@fuuzetsu.co.uk +Cabal-Version: >= 1.10 +build-type: Simple + +library + hs-source-dirs: . + default-language: Haskell2010 + build-depends: base, yi + ghc-options: -threaded diff --git a/pkgs/applications/editors/yi/yi-custom.nix b/pkgs/applications/editors/yi/yi-custom.nix new file mode 100644 index 00000000000..3dbd4611998 --- /dev/null +++ b/pkgs/applications/editors/yi/yi-custom.nix @@ -0,0 +1,40 @@ +# This is a manually-written expression over an in-tree cabal file. +# It's awkward but this way allows the package user to pass in +# extraPackages without much extra hassle on their end, similarly how +# the XMonad service handles it: the difference is that we don't have +# anything like XMONAD_GHC… +# +# The idea is that the user changes their configs using any libraries +# he likes and then builds it using this expression. Once that's done, +# ‘reload’ and similar functions should all work as long as the user +# doesn't need new libraries at which point they should add them to +# extraPackages and rebuild from the expression. +{ cabal, yi, extraPackages, makeWrapper, ghcWithPackages }: +let + w = ghcWithPackages (self: [ yi ] ++ extraPackages self); + wrappedGhc = w.override { ignoreCollisions = true; }; +in +cabal.mkDerivation (self: rec { + pname = "yi-custom"; + version = "0.0.0.1"; + src = ./yi-custom-cabal; + isLibrary = true; + buildDepends = [ yi ]; + buildTools = [ makeWrapper ]; + noHaddock = true; + doCheck = false; + + postInstall = '' + makeWrapper ${yi}/bin/yi $out/bin/yi \ + --set NIX_GHC ${wrappedGhc}/bin/ghc \ + --set NIX_GHC_LIBDIR ${wrappedGhc}/lib/ghc-${self.ghc.version} + ''; + meta = { + homepage = "http://haskell.org/haskellwiki/Yi"; + description = "Wrapper over user-specified Haskell libraries for use in Yi config"; + license = self.stdenv.lib.licenses.publicDomain; + platforms = self.ghc.meta.platforms; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; + }; + +}) \ No newline at end of file diff --git a/pkgs/applications/editors/yi/yi.nix b/pkgs/applications/editors/yi/yi.nix index 9b9287a50f1..d6a601a0aef 100644 --- a/pkgs/applications/editors/yi/yi.nix +++ b/pkgs/applications/editors/yi/yi.nix @@ -1,65 +1,39 @@ -{ cabal, alex, binary, Cabal, cautiousFile, concreteTyperep -, dataDefault, derive, Diff, dlist, dyre, filepath, fingertree -, glib, gtk, hashable, hint, HUnit, lens, mtl, pango, parsec -, pointedlist, QuickCheck, random, regexBase, regexTdfa, safe -, split, tasty, tastyHunit, tastyQuickcheck, time, transformersBase -, uniplate, unixCompat, unorderedContainers, utf8String, vty -, xdgBasedir -, withPango ? true +# This file was auto-generated by cabal2nix. Please do NOT edit manually! -# User may need extra dependencies for their configuration file so we -# want to specify it here to have them available when wrapping the -# produced binary. -, extraDepends ? [ ] +{ cabal, binary, Cabal, cautiousFile, dataDefault, derive, dlist +, dynamicState, dyre, filepath, glib, gtk, hashable, hint, HUnit +, lens, mtl, ooPrototypes, pango, parsec, pointedlist, QuickCheck +, random, regexBase, regexTdfa, safe, semigroups, split, tagged +, tasty, tastyHunit, tastyQuickcheck, text, time, transformersBase +, unixCompat, unorderedContainers, utf8String, vty, wordTrie +, xdgBasedir, yiLanguage, yiRope }: cabal.mkDerivation (self: { pname = "yi"; - version = "0.8.2"; - sha256 = "18rnyswsdzkh0jdcqfg8pr90mpm6xf11siv598svqkxg12d2qql9"; + version = "0.10.1"; + sha256 = "1vj4ndp43w7xlji4p2px79a8g90p64g54sr3hx4pzimwrlpmifk8"; isLibrary = true; isExecutable = true; buildDepends = [ - binary Cabal cautiousFile concreteTyperep dataDefault derive Diff - dlist dyre filepath fingertree hashable hint lens mtl + binary Cabal cautiousFile dataDefault derive dlist dynamicState + dyre filepath glib gtk hashable hint lens mtl ooPrototypes pango parsec pointedlist QuickCheck random regexBase regexTdfa safe - split time transformersBase uniplate unixCompat unorderedContainers - utf8String vty xdgBasedir - ] ++ (if withPango then [ pango gtk glib ] else [ ]) ++ extraDepends; + semigroups split tagged text time transformersBase unixCompat + unorderedContainers utf8String vty wordTrie xdgBasedir yiLanguage + yiRope + ]; testDepends = [ - filepath HUnit QuickCheck tasty tastyHunit tastyQuickcheck + filepath HUnit lens QuickCheck semigroups tasty tastyHunit + tastyQuickcheck text yiLanguage yiRope ]; - buildTools = [ alex ]; - configureFlags = if withPango then "-fpango" else "-f-pango"; - doCheck = false; - - # https://ghc.haskell.org/trac/ghc/ticket/9170 - noHaddock = self.ghc.version == "7.6.3"; - - # Allows Yi to find the libraries it needs at runtime. - postInstall = '' - mv $out/bin/yi $out/bin/.yi-wrapped - cat - > $out/bin/yi <<EOF - #! ${self.stdenv.shell} - # Trailing : is necessary for it to pick up Prelude &c. - export GHC_PACKAGE_PATH=$(${self.ghc.GHCGetPackages} ${self.ghc.version} \ - | sed 's/-package-db\ //g' \ - | sed 's/^\ //g' \ - | sed 's/\ /:/g')\ - :$out/lib/ghc-${self.ghc.version}/package.conf.d/yi-$version.installedconf: - - eval exec $out/bin/.yi-wrapped "\$@" - EOF - chmod +x $out/bin/yi - ''; - + configureFlags = "-fpango -fvty"; + noHaddock = self.stdenv.lib.versionOlder self.ghc.version "7.8"; meta = { homepage = "http://haskell.org/haskellwiki/Yi"; description = "The Haskell-Scriptable Editor"; license = self.stdenv.lib.licenses.gpl2; platforms = self.ghc.meta.platforms; - hydraPlatforms = self.stdenv.lib.platforms.none; - maintainers = [ self.stdenv.lib.maintainers.fuuzetsu ]; - broken = true; + maintainers = with self.stdenv.lib.maintainers; [ fuuzetsu ]; }; }) |