diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix index 21d3c656d30..4981767f21f 100644 --- a/pkgs/applications/science/math/maxima/default.nix +++ b/pkgs/applications/science/math/maxima/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchurl, sbcl, texinfo, perl, makeWrapper, rlwrap ? null, tk ? null, gnuplot ? null }: +{ stdenv, fetchurl, sbcl, texinfo, perl, python, makeWrapper, rlwrap ? null, tk ? null, gnuplot ? null }: let name = "maxima"; - version = "5.36.1"; + version = "5.38.1"; searchPath = stdenv.lib.makeBinPath @@ -13,10 +13,10 @@ stdenv.mkDerivation { src = fetchurl { url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz"; - sha256 = "0x1rk659sn3cq0n5c90848ilzr1gb1wf0072fl6jhkdq00qgh2s0"; + sha256 = "1p6646rvq43hk09msyp0dk50cqpkh07mf4x0bc2fqisqmcv6b1hf"; }; - buildInputs = [sbcl texinfo perl makeWrapper]; + buildInputs = [sbcl texinfo perl python makeWrapper]; postInstall = '' # Make sure that maxima can find its runtime dependencies. diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index 6e0b4313b47..9e17fe60c29 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { name = "sage-6.8"; src = fetchurl { - url = "mirror://sagemath/${name}.tar.gz"; + url = "http://old.files.sagemath.org/src-old/${name}.tar.gz"; sha256 = "102mrzzi215g1xn5zgcv501x9sghwg758jagx2jixvg1rj2jijj9"; }; @@ -18,11 +18,14 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; + hardeningDisable = [ "format" ]; + preConfigure = '' export SAGE_NUM_THREADS=$NIX_BUILD_CORES export SAGE_ATLAS_ARCH=fast mkdir -p $out/sageHome export HOME=$out/sageHome + export CPPFLAGS="-P" ''; preBuild = "patchShebangs build"; @@ -30,7 +33,6 @@ stdenv.mkDerivation rec { installPhase = ''DESTDIR=$out make install''; meta = { - broken = true; homepage = "http://www.sagemath.org"; description = "A free open source mathematics software system"; license = stdenv.lib.licenses.gpl2Plus; diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index b84307a9dbf..9fa66338d8c 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -998,4 +998,7 @@ self: super: { ''; }); + # https://bitbucket.org/ssaasen/spy/pull-requests/3/fsnotify-dropped-system-filepath + spy = appendPatch super.spy ./patches/spy.patch; + } diff --git a/pkgs/development/haskell-modules/generic-stack-builder.nix b/pkgs/development/haskell-modules/generic-stack-builder.nix index 09bd38ccc93..c7cfbef7d13 100644 --- a/pkgs/development/haskell-modules/generic-stack-builder.nix +++ b/pkgs/development/haskell-modules/generic-stack-builder.nix @@ -19,12 +19,13 @@ stdenv.mkDerivation (args // { STACK_PLATFORM_VARIANT="nix"; STACK_IN_NIX_SHELL=1; STACK_IN_NIX_EXTRA_ARGS = - concatMap (pkg: ["--extra-lib-dirs=${pkg}/lib" - "--extra-include-dirs=${pkg}/include"]) buildInputs ++ + concatMap (pkg: ["--extra-lib-dirs=${getLib pkg}/lib" + "--extra-include-dirs=${getDev pkg}/include"]) buildInputs ++ extraArgs; # XXX: workaround for https://ghc.haskell.org/trac/ghc/ticket/11042. LD_LIBRARY_PATH = makeLibraryPath (LD_LIBRARY_PATH ++ buildInputs); + # ^^^ Internally uses `getOutput "lib"` (equiv. to getLib) preferLocalBuild = true; diff --git a/pkgs/development/haskell-modules/patches/spy.patch b/pkgs/development/haskell-modules/patches/spy.patch new file mode 100644 index 00000000000..4c4e1844361 --- /dev/null +++ b/pkgs/development/haskell-modules/patches/spy.patch @@ -0,0 +1,26 @@ +diff --git a/src/Spy/Watcher.hs b/src/Spy/Watcher.hs + index 8512613..4df67d4 100644 +--- a/src/Spy/Watcher.hs ++++ b/src/Spy/Watcher.hs +@@ -50,7 +50,7 @@ plainFormat = Plain + spy :: Spy -> IO b -> IO () + spy config after = withManager $ \wm -> + runIndefinitely +- (watchTree wm (decodeString $ dir config) ++ (watchTree wm (dir config) + (not . skipEvent config . eventPath) + (handleEvent config)) + (const after) +@@ -106,9 +106,9 @@ eventTime (Modified _ t) = t + eventTime (Removed _ t) = t + + eventPath :: Event -> FilePath +-eventPath (Added fp _) = encodeString fp +-eventPath (Modified fp _) = encodeString fp +-eventPath (Removed fp _) = encodeString fp ++eventPath (Added fp _) = fp ++eventPath (Modified fp _) = fp ++eventPath (Removed fp _) = fp + + eventType :: Event -> FilePath + eventType (Added _ _) = "Added" diff --git a/pkgs/development/tools/build-managers/bear/default.nix b/pkgs/development/tools/build-managers/bear/default.nix new file mode 100644 index 00000000000..cc34a73ecd5 --- /dev/null +++ b/pkgs/development/tools/build-managers/bear/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, cmake, python }: + +stdenv.mkDerivation rec { + name = "bear-${version}"; + version = "2.2.0"; + + src = fetchFromGitHub { + owner = "rizsotto"; + repo = "Bear"; + rev = version; + sha256 = "08llfqg8y6d7vfwaw5plrk1rrqzs0ywi2ldnlwvy917603971rg0"; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ python ]; # just for shebang of bin/bear + + doCheck = false; # all fail + + meta = with stdenv.lib; { + description = "Tool that generates a compilation database for clang tooling"; + longDescription = '' + Note: the bear command is very useful to generate compilation commands + e.g. for YouCompleteMe. You just enter your development nix-shell + and run `bear make`. It's not perfect, but it gets a long way. + ''; + homepage = https://github.com/rizsotto/Bear; + license = licenses.gpl3Plus; + platforms = platforms.unix; + maintainers = [ maintainers.vcunat ]; + }; +} + diff --git a/pkgs/development/tools/rtags/default.nix b/pkgs/development/tools/rtags/default.nix index 06ab4ffed3c..959681c7e1a 100644 --- a/pkgs/development/tools/rtags/default.nix +++ b/pkgs/development/tools/rtags/default.nix @@ -2,8 +2,7 @@ stdenv.mkDerivation rec { name = "rtags-${version}"; - version = "git-2016-04-29"; - rev = "233543d343bf86fa31c35ee21242fa2da3a965ab"; + version = "2.3"; buildInputs = [ cmake llvmPackages.llvm openssl llvmPackages.clang emacs ]; @@ -13,10 +12,10 @@ stdenv.mkDerivation rec { ''; src = fetchgit { - inherit rev; + rev = "refs/tags/v${version}"; fetchSubmodules = true; url = "https://github.com/andersbakken/rtags.git"; - sha256 = "10j1s7kvnd5823p1kgx3hyca9jz9j27y6xk0q208p095wf8hk105"; + sha256 = "05kzch88x2wiimygfli6vsr9i5hzgkybsya8qx4zvb6daip4b7yf"; }; meta = { diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index 6a49103a2f7..67ea56be847 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -13,7 +13,8 @@ in # TL;DR # Add your plugin to ./vim-plugin-names -# Generate via `vim-plugin-names-to-nix` +# Regenerate via `nix-build -Q -A vimPlugins.pluginnames2nix; ./result/bin/vim-plugin-names-to-nix` +# Copy the generated expression(s) into this file. # If plugin is complicated then make changes to ./vim2nix/additional-nix-code # This attrs contains two sections: @@ -885,6 +886,17 @@ rec { }; + vim-indent-guides = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "vim-indent-guides-2016-04-17"; + src = fetchgit { + url = "git://github.com/nathanaelkane/vim-indent-guides"; + rev = "018298ead9d3aa9cd3b4ae222f81022a33978b09"; + sha256 = "0zyrs9r3vza2kqhqir6qpkygy6yljpn877bvycspv89ljzczmwrs"; + }; + dependencies = []; + + }; + vim-stylish-haskell = buildVimPluginFrom2Nix { # created by nix#NixDerivation name = "vim-stylish-haskell-2015-05-10"; src = fetchgit { diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index 8f09ea935ed..6cef8885ce0 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -68,6 +68,7 @@ "github:mhinz/vim-startify" "github:mkasa/lushtags" "github:mpickering/hlint-refactor-vim" +"github:nathanaelkane/vim-indent-guides" "github:nbouscal/vim-stylish-haskell" "github:neovimhaskell/haskell-vim" "github:osyo-manga/shabadou.vim" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index afb1e6c6fc0..302069fd521 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6145,6 +6145,8 @@ in bazel = callPackage ../development/tools/build-managers/bazel { jdk = openjdk8; }; + bear = callPackage ../development/tools/build-managers/bear { }; + bin_replace_string = callPackage ../development/tools/misc/bin_replace_string { }; binutils = if stdenv.isDarwin then self.darwin.binutils else self.binutils-raw;