summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-07-06 17:15:11 -0700
committerWilliam A. Kennington III <william@wkennington.com>2015-07-06 17:15:11 -0700
commitae28ff8b91b5d89add314d10c22467d224e2b953 (patch)
treefa8bfa0af5c34266c142001543c1168c7a384af3 /pkgs/development
parentb35da0edee1d1e035d1b1b68827c5d632e1652b7 (diff)
parent9eae9dd811b5704c8d8f0d014f0583a43de0911e (diff)
downloadnixlib-ae28ff8b91b5d89add314d10c22467d224e2b953.tar
nixlib-ae28ff8b91b5d89add314d10c22467d224e2b953.tar.gz
nixlib-ae28ff8b91b5d89add314d10c22467d224e2b953.tar.bz2
nixlib-ae28ff8b91b5d89add314d10c22467d224e2b953.tar.lz
nixlib-ae28ff8b91b5d89add314d10c22467d224e2b953.tar.xz
nixlib-ae28ff8b91b5d89add314d10c22467d224e2b953.tar.zst
nixlib-ae28ff8b91b5d89add314d10c22467d224e2b953.zip
Merge branch 'master.upstream' into staging.upstream
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/ghc/nokinds.nix74
-rw-r--r--pkgs/development/compilers/scala/default.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-nokinds.nix104
-rw-r--r--pkgs/development/interpreters/ruby/bundler.nix4
-rw-r--r--pkgs/development/interpreters/ruby/ruby-2.1.6.nix122
-rw-r--r--pkgs/development/interpreters/ruby/rvm-patchsets.nix4
-rw-r--r--pkgs/development/libraries/bobcat/default.nix8
-rw-r--r--pkgs/development/libraries/libeatmydata/default.nix9
8 files changed, 318 insertions, 11 deletions
diff --git a/pkgs/development/compilers/ghc/nokinds.nix b/pkgs/development/compilers/ghc/nokinds.nix
new file mode 100644
index 000000000000..1adb4207f059
--- /dev/null
+++ b/pkgs/development/compilers/ghc/nokinds.nix
@@ -0,0 +1,74 @@
+{ stdenv, fetchgit, ghc, perl, gmp, ncurses, libiconv, autoconf, automake, happy, alex }:
+
+let
+
+  buildMK = ''
+    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
+    libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-includes="${ncurses}/include"
+    libraries/terminfo_CONFIGURE_OPTS += --configure-option=--with-curses-libraries="${ncurses}/lib"
+    DYNAMIC_BY_DEFAULT = NO
+    SRC_HC_OPTS        = -H64m -O -fasm
+    GhcLibHcOpts       = -O -dcore-lint
+    GhcStage1HcOpts    = -Rghc-timing -O -fasm
+    GhcStage2HcOpts    = -Rghc-timing -O0 -DDEBUG
+    SplitObjs          = NO
+    HADDOCK_DOCS       = NO
+    BUILD_DOCBOOK_HTML = NO
+    BUILD_DOCBOOK_PS   = NO
+    BUILD_DOCBOOK_PDF  = NO
+    LAX_DEPENDENCIES   = YES
+    ${stdenv.lib.optionalString stdenv.isDarwin ''
+      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-includes="${libiconv}/include"
+      libraries/base_CONFIGURE_OPTS += --configure-option=--with-iconv-libraries="${libiconv}/lib"
+    ''}
+  '';
+
+in
+
+stdenv.mkDerivation rec {
+  version = "7.11.20150703";
+  name = "ghc-nokinds-${version}";
+  rev = "887170ac254aaacc2d5e29f2565ac61522fd8f61";
+
+  src = fetchgit {
+    url = "https://github.com/goldfirere/ghc.git";
+    inherit rev;
+    sha256 = "010x9ckig76sz97s2ss1j1sf70czqx1cn39nj4xbh49m8n2zvsqf";
+  };
+
+  postUnpack = ''
+    pushd ghc-${builtins.substring 0 7 rev}
+    patchShebangs .
+    ./boot
+    popd
+  '';
+
+  buildInputs = [ ghc perl autoconf automake happy alex ];
+
+  preConfigure = ''
+    echo >mk/build.mk "${buildMK}"
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
+  '';
+
+  configureFlags = [
+    "--with-gcc=${stdenv.cc}/bin/cc"
+    "--with-gmp-includes=${gmp}/include" "--with-gmp-libraries=${gmp}/lib"
+  ];
+
+  enableParallelBuilding = true;
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
+
+  meta = {
+    homepage = "http://haskell.org/ghc";
+    description = "The dependently-typed 'nokinds' branch of the Glasgow Haskell Compiler by Richard Eisenberg";
+    maintainers = with stdenv.lib.maintainers; [ ];
+    inherit (ghc.meta) license platforms;
+  };
+
+}
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index 9e55d9f3ac2c..289c63f7bcf9 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  name = "scala-2.11.6";
+  name = "scala-2.11.7";
 
   src = fetchurl {
     url = "http://www.scala-lang.org/files/archive/${name}.tgz";
-    sha256 = "10v58jm0wbb4v71sfi03gskd6n84jqn6nvd62x166104c3j4bfj1";
+    sha256 = "1l16571fw5l339wd02w2pnr3556j804zpbsbymnad67f2dpikr7z";
   };
 
   buildInputs = [ jre makeWrapper ] ;
diff --git a/pkgs/development/haskell-modules/configuration-ghc-nokinds.nix b/pkgs/development/haskell-modules/configuration-ghc-nokinds.nix
new file mode 100644
index 000000000000..be78321b38a7
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-ghc-nokinds.nix
@@ -0,0 +1,104 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # Use the latest LLVM.
+  inherit (pkgs) llvmPackages;
+
+  # Disable GHC 7.11.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bin-package-db = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  filepath = null;
+  ghc-prim = null;
+  haskeline = null;
+  hoopl = null;
+  hpc = null;
+  integer-gmp = null;
+  pretty = null;
+  process = null;
+  rts = null;
+  template-haskell = null;
+  terminfo = null;
+  time = null;
+  transformers = null;
+  unix = null;
+  xhtml = null;
+
+  # Don't use jailbreak built with Cabal 1.22.x because of https://github.com/peti/jailbreak-cabal/issues/9.
+  jailbreak-cabal = pkgs.haskell.packages.ghc784.jailbreak-cabal;
+
+  # GHC 7.10.x's Haddock binary cannot generate hoogle files.
+  # https://ghc.haskell.org/trac/ghc/ticket/9921
+  mkDerivation = drv: super.mkDerivation (drv // { doHoogle = false; doHaddock = false; });
+
+  # haddock: No input file(s).
+  nats = dontHaddock super.nats;
+  bytestring-builder = dontHaddock super.bytestring-builder;
+
+  alex = dontCheck super.alex;
+
+  # We have time 1.5
+  aeson = disableCabalFlag super.aeson "old-locale";
+
+  # Show works differently for record syntax now, breaking haskell-src-exts' parser tests
+  # https://github.com/haskell-suite/haskell-src-exts/issues/224
+  haskell-src-exts = dontCheck super.haskell-src-exts;
+
+  mono-traversable = appendPatch super.mono-traversable (pkgs.fetchpatch {
+    url = "https://github.com/snoyberg/mono-traversable/pull/77.patch";
+    sha256 = "1qrvrh3cqfkymi5yb9y9z88rq4n7ag0ac2k00mcnqh4dz1vh4fg1";
+  });
+  yesod-auth = appendPatch super.yesod-auth (pkgs.fetchpatch {
+    url = "https://github.com/yesodweb/yesod/pull/1006.patch";
+    sha256 = "0l6wjj8cfz6jy6j92kywsccafyffhlm5240q82bzirb278adqvar";
+    stripLen = 1;
+  });
+
+  # Setup: At least the following dependencies are missing: base <4.8
+  hspec-expectations = overrideCabal super.hspec-expectations (drv: {
+    patchPhase = "sed -i -e 's|base < 4.8|base|' hspec-expectations.cabal";
+  });
+  utf8-string = overrideCabal super.utf8-string (drv: {
+    patchPhase = "sed -i -e 's|base >= 3 && < 4.8|base|' utf8-string.cabal";
+  });
+
+  # bos/attoparsec#92
+  attoparsec = dontCheck super.attoparsec;
+
+  # test suite hangs silently for at least 10 minutes
+  split = dontCheck super.split;
+
+  # Test suite fails with some (seemingly harmless) error.
+  # https://code.google.com/p/scrapyourboilerplate/issues/detail?id=24
+  syb = dontCheck super.syb;
+
+  # Test suite has stricter version bounds
+  retry = dontCheck super.retry;
+
+  # Test suite fails with time >= 1.5
+  http-date = dontCheck super.http-date;
+
+  # Version 1.19.5 fails its test suite.
+  happy = dontCheck super.happy;
+
+  # Workaround for a workaround, see comment for "ghcjs" flag.
+  jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
+            in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
+                                          self.webkitgtk3-javascriptcore ];
+
+  # The compat library is empty in the presence of mtl 2.2.x.
+  mtl-compat = dontHaddock super.mtl-compat;
+
+  # Won't work with LLVM 3.5.
+  llvm-general = markBrokenVersion "3.4.5.3" super.llvm-general;
+
+}
diff --git a/pkgs/development/interpreters/ruby/bundler.nix b/pkgs/development/interpreters/ruby/bundler.nix
index 336d40544225..d5278bed885a 100644
--- a/pkgs/development/interpreters/ruby/bundler.nix
+++ b/pkgs/development/interpreters/ruby/bundler.nix
@@ -1,9 +1,9 @@
 { buildRubyGem, makeWrapper, ruby, coreutils }:
 
 buildRubyGem {
-  name = "bundler-1.9.2";
+  name = "bundler-1.10.5";
   namePrefix = "";
-  sha256 = "0ck9bnqg7miimggj1d6qlabrsa5h9yaw241fqn15cvqh915209zk";
+  sha256 = "1zkxw6699bbmsamrij2lirscbh0j58p1p3bql22jsxvx34j6w5nc";
   dontPatchShebangs = true;
   postInstall = ''
     find $out -type f -perm +0100 | while read f; do
diff --git a/pkgs/development/interpreters/ruby/ruby-2.1.6.nix b/pkgs/development/interpreters/ruby/ruby-2.1.6.nix
new file mode 100644
index 000000000000..c9016a338af2
--- /dev/null
+++ b/pkgs/development/interpreters/ruby/ruby-2.1.6.nix
@@ -0,0 +1,122 @@
+{ stdenv, lib, fetchurl, fetchgit, fetchFromGitHub
+, zlib, zlibSupport ? true
+, openssl, opensslSupport ? true
+, gdbm, gdbmSupport ? true
+, ncurses, readline, cursesSupport ? true
+, groff, docSupport ? false
+, libyaml, yamlSupport ? true
+, libffi, fiddleSupport ? true
+, ruby_2_1_6, autoreconfHook, bison, useRailsExpress ? true
+}:
+
+let
+  op = stdenv.lib.optional;
+  ops = stdenv.lib.optionals;
+  patchSet = import ./rvm-patchsets.nix { inherit fetchFromGitHub; };
+  config = import ./config.nix fetchgit;
+  baseruby = ruby_2_1_6.override { useRailsExpress = false; };
+in
+
+stdenv.mkDerivation rec {
+  version = with passthru; "${majorVersion}.${minorVersion}.${teenyVersion}-p${patchLevel}";
+
+  name = "ruby-${version}";
+
+  src = if useRailsExpress then fetchFromGitHub {
+    owner  = "ruby";
+    repo   = "ruby";
+    rev    = "v2_1_6";
+    sha256 = "18kbjsbmgv6l3p1qxgmjnhh4jl7xdk3c20ycjpp62vrhq7pyzjsm";
+  } else fetchurl {
+    url = "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.6.tar.gz";
+    sha256 = "1r4bs8lfwsypbcf8j2lpv3by40729vp5mh697njizj97fjp644qy";
+  };
+
+  # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
+  NROFF = "${groff}/bin/nroff";
+
+  buildInputs = ops useRailsExpress [ autoreconfHook bison ]
+    ++ (op fiddleSupport libffi)
+    ++ (ops cursesSupport [ ncurses readline ])
+    ++ (op docSupport groff)
+    ++ (op zlibSupport zlib)
+    ++ (op opensslSupport openssl)
+    ++ (op gdbmSupport gdbm)
+    ++ (op yamlSupport libyaml)
+    # Looks like ruby fails to build on darwin without readline even if curses
+    # support is not enabled, so add readline to the build inputs if curses
+    # support is disabled (if it's enabled, we already have it) and we're
+    # running on darwin
+    ++ (op (!cursesSupport && stdenv.isDarwin) readline);
+
+  enableParallelBuilding = true;
+
+  # Fix a build failure on systems with nix store optimisation.
+  # (The build process attempted to copy file a overwriting file b, where a and
+  # b are hard-linked, which results in cp returning a non-zero exit code.)
+  # https://github.com/NixOS/nixpkgs/issues/4266
+  postUnpack = ''rm "$sourceRoot/enc/unicode/name2ctype.h"'';
+
+  patches = ops useRailsExpress [
+    "${patchSet}/patches/ruby/2.1.6/railsexpress/01-zero-broken-tests.patch"
+    "${patchSet}/patches/ruby/2.1.6/railsexpress/02-improve-gc-stats.patch"
+    "${patchSet}/patches/ruby/2.1.6/railsexpress/03-display-more-detailed-stack-trace.patch"
+    "${patchSet}/patches/ruby/2.1.6/railsexpress/04-show-full-backtrace-on-stack-overflow.patch"
+    "${patchSet}/patches/ruby/2.1.6/railsexpress/05-funny-falcon-stc-density.patch"
+    "${patchSet}/patches/ruby/2.1.6/railsexpress/06-funny-falcon-stc-pool-allocation.patch"
+    "${patchSet}/patches/ruby/2.1.6/railsexpress/07-aman-opt-aset-aref-str.patch"
+    "${patchSet}/patches/ruby/2.1.6/railsexpress/08-funny-falcon-method-cache.patch"
+    "${patchSet}/patches/ruby/2.1.6/railsexpress/09-heap-dump-support.patch"
+  ];
+
+  # Ruby >= 2.1.0 tries to download config.{guess,sub}
+  postPatch = ''
+    rm tool/config_files.rb
+    cp ${config}/config.guess tool/
+    cp ${config}/config.sub tool/
+  '';
+
+  configureFlags = ["--enable-shared" ]
+    ++ op useRailsExpress "--with-baseruby=${baseruby}/bin/ruby"
+    # on darwin, we have /usr/include/tk.h -- so the configure script detects
+    # that tk is installed
+    ++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
+
+  installFlags = stdenv.lib.optionalString docSupport "install-doc";
+  # Bundler tries to create this directory
+  postInstall = ''
+    # Bundler tries to create this directory
+    mkdir -pv $out/${passthru.gemPath}
+    mkdir -p $out/nix-support
+    cat > $out/nix-support/setup-hook <<EOF
+    addGemPath() {
+      addToSearchPath GEM_PATH \$1/${passthru.gemPath}
+    }
+
+    envHooks+=(addGemPath)
+    EOF
+  '' + lib.optionalString useRailsExpress ''
+    rbConfig=$(find $out/lib/ruby -name rbconfig.rb)
+
+    # Prevent the baseruby from being included in the closure.
+    sed -i '/^  CONFIG\["BASERUBY"\]/d' $rbConfig
+    sed -i "s|'--with-baseruby=${baseruby}/bin/ruby'||" $rbConfig
+  '';
+
+  meta = {
+    license = stdenv.lib.licenses.ruby;
+    homepage = "http://www.ruby-lang.org/en/";
+    description = "The Ruby language";
+    platforms = stdenv.lib.platforms.all;
+  };
+
+  passthru = rec {
+    majorVersion = "2";
+    minorVersion = "1";
+    teenyVersion = "6";
+    patchLevel = "0";
+    rubyEngine = "ruby";
+    libPath = "lib/${rubyEngine}/${majorVersion}.${minorVersion}.${teenyVersion}";
+    gemPath = "lib/${rubyEngine}/gems/${majorVersion}.${minorVersion}.${teenyVersion}";
+  };
+}
diff --git a/pkgs/development/interpreters/ruby/rvm-patchsets.nix b/pkgs/development/interpreters/ruby/rvm-patchsets.nix
index 7685bafddc94..908b4b36372f 100644
--- a/pkgs/development/interpreters/ruby/rvm-patchsets.nix
+++ b/pkgs/development/interpreters/ruby/rvm-patchsets.nix
@@ -3,6 +3,6 @@
 fetchFromGitHub {
   owner  = "skaes";
   repo   = "rvm-patchsets";
-  rev    = "da2e5b4d81e18154befef1448e037b844cb5a326";
-  sha256 = "0fslnkpirgsm7gjd6g194vd24i3y7kl0ihbq5gr94cgvdzzjgad0";
+  rev    = "68be466019aa592e0321e894487f090aa459d602";
+  sha256 = "12dw5shirnqbw037jg1sqk1aixyzl32w94y2nlan9by3cv7k3643";
 }
diff --git a/pkgs/development/libraries/bobcat/default.nix b/pkgs/development/libraries/bobcat/default.nix
index 791dab2d17aa..38dfce7583a7 100644
--- a/pkgs/development/libraries/bobcat/default.nix
+++ b/pkgs/development/libraries/bobcat/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, gcc49, icmake, libmilter, libX11, openssl, readline
 , utillinux, yodl }:
 
-let version = "3.25.01"; in
-stdenv.mkDerivation rec {
+let version = "3.25.02"; in
+stdenv.mkDerivation {
   name = "bobcat-${version}";
 
   src = fetchurl {
-    sha256 = "07qc10hnjpmc2wq14kw01vfww5i049y0jmdvkiiafw33ffy0wdca";
-    url = "mirror://sourceforge/bobcat/bobcat/${version}/bobcat_${version}.orig.tar.gz";
+    sha256 = "0b1370li4q82fqj982vng9cwkf23k2c1df5jsdcgkrk01r53dxry";
+    url = "mirror://debian/pool/main/b/bobcat/bobcat_${version}.orig.tar.gz";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libeatmydata/default.nix b/pkgs/development/libraries/libeatmydata/default.nix
index 8d2d820a2301..2fdd1658f19f 100644
--- a/pkgs/development/libraries/libeatmydata/default.nix
+++ b/pkgs/development/libraries/libeatmydata/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "libeatmydata-82";
@@ -8,6 +8,13 @@ stdenv.mkDerivation rec {
     sha256 = "0aavq71bf0yxdgyf8gvyzq086shszzwpbsz5rqkjg4cz0rc5yrqb";
   };
 
+  buildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram $out/bin/eatmydata \
+      --prefix PATH : $out/bin
+  '';
+
   meta = {
     homepage = http://www.flamingspork.com/projects/libeatmydata/;
     license = stdenv.lib.licenses.gpl3Plus;