summary refs log tree commit diff
path: root/pkgs/development/interpreters
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/interpreters')
-rw-r--r--pkgs/development/interpreters/bats/default.nix21
-rw-r--r--pkgs/development/interpreters/elixir/default.nix4
-rw-r--r--pkgs/development/interpreters/jruby/default.nix8
-rw-r--r--pkgs/development/interpreters/love/0.10.nix38
-rw-r--r--pkgs/development/interpreters/love/0.8.nix (renamed from pkgs/development/interpreters/love/default.nix)0
-rw-r--r--pkgs/development/interpreters/php/default.nix13
-rw-r--r--pkgs/development/interpreters/rakudo/default.nix4
-rw-r--r--pkgs/development/interpreters/ruby/build-ruby-gem/default.nix24
-rw-r--r--pkgs/development/interpreters/ruby/bundix/default.nix54
-rw-r--r--pkgs/development/interpreters/ruby/bundler-env/default.nix24
-rw-r--r--pkgs/development/interpreters/ruby/gemconfig/default.nix9
11 files changed, 149 insertions, 50 deletions
diff --git a/pkgs/development/interpreters/bats/default.nix b/pkgs/development/interpreters/bats/default.nix
new file mode 100644
index 000000000000..4eb86460be9a
--- /dev/null
+++ b/pkgs/development/interpreters/bats/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  name = "bats-${version}";
+  version = "0.4.0";
+
+  src = fetchzip {
+    url = "https://github.com/sstephenson/bats/archive/v${version}.tar.gz";
+    sha256 = "05xpvfm0xky1532i3hd2l3wznxzh99bv2hxgykwdpxh18h6jr6jm";
+  };
+
+  installPhase = "./install.sh $out";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sstephenson/bats;
+    description = "Bash Automated Testing System";
+    maintainers = [ maintainers.lnl7 ];
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix
index 642bde39e7e9..25b0b02a33bc 100644
--- a/pkgs/development/interpreters/elixir/default.nix
+++ b/pkgs/development/interpreters/elixir/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "elixir-${version}";
-  version = "1.2.0";
+  version = "1.2.2";
 
   src = fetchurl {
     url = "https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz";
-    sha256 = "0s3j7ra9gb2p3dwgfxghvc9mkv6ffgvz27aj5wgwk0xq2d9fws4z";
+    sha256 = "0ml0sl1l5ibb8qh505fsd7y87wq9qjvaxw9y1dyfcw00d3i1z989";
   };
 
   buildInputs = [ erlang rebar makeWrapper ];
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index bc76abb45460..1d05f9406b45 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -3,17 +3,17 @@
 stdenv.mkDerivation rec {
   name = "jruby-${version}";
 
-  version = "1.7.21";
+  version = "9.0.5.0";
 
   src = fetchurl {
-    url = "http://jruby.org.s3.amazonaws.com/downloads/${version}/jruby-bin-${version}.tar.gz";
-    sha1 = "4955b69a913b22f96bd599eff2a133d8d1ed42c6";
+    url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
+    sha256 = "1wysymqzc7591743f2ycgwpm232y6i050izn72lck44nhnyr5wwy";
   };
 
   buildInputs = [ makeWrapper ];
 
   installPhase = ''
-     mkdir -pv $out
+     mkdir -pv $out/docs
      mv * $out
      rm $out/bin/*.{bat,dll,exe,sh}
      mv $out/COPYING $out/LICENSE* $out/docs
diff --git a/pkgs/development/interpreters/love/0.10.nix b/pkgs/development/interpreters/love/0.10.nix
new file mode 100644
index 000000000000..ed5aa1e60de3
--- /dev/null
+++ b/pkgs/development/interpreters/love/0.10.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromBitbucket, pkgconfig, SDL2, mesa, openal, luajit,
+  libdevil, freetype, physfs, libmodplug, mpg123, libvorbis, libogg,
+  libtheora, which, autoconf, automake, libtool
+}:
+
+let
+  pname = "love";
+  version = "0.10.1";
+in
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  src = fetchFromBitbucket {
+    owner = "rude";
+    repo = "love";
+    rev = "${version}";
+    sha256 = "10a2kkyx7x9jkcj9xrqgmvp0b6gbapjqjx9fib9f6a0nbz0xaswj";
+  };
+
+  buildInputs = [
+    pkgconfig SDL2 mesa openal luajit libdevil freetype physfs libmodplug mpg123
+    libvorbis libogg libtheora autoconf which libtool automake
+  ];
+
+  preConfigure = "$shell ./platform/unix/automagic";
+
+  configureFlags = [
+    "--with-lua=luajit"
+  ];
+
+  meta = {
+    homepage = "http://love2d.org";
+    description = "A Lua-based 2D game engine/scripting language";
+    license = stdenv.lib.licenses.zlib;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.raskin ];
+  };
+}
diff --git a/pkgs/development/interpreters/love/default.nix b/pkgs/development/interpreters/love/0.8.nix
index fc1f01cb3730..fc1f01cb3730 100644
--- a/pkgs/development/interpreters/love/default.nix
+++ b/pkgs/development/interpreters/love/0.8.nix
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index c963c01e65bf..5503ee9c8870 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -287,19 +287,14 @@ let
 
 in {
 
-  php54 = generic {
-    version = "5.4.45";
-    sha256 = "10k59j7zjx2mrldmgfvjrrcg2cslr2m68azslspcz5acanqjh3af";
-  };
-
   php55 = generic {
-    version = "5.5.31";
-    sha256 = "0xx23gb70jsgbd772hy8f79wh2rja617s17gnx4vgklxk8mkhjpv";
+    version = "5.5.32";
+    sha256 = "1vljdvyqsq0vas4yhvpqycqyxl2gfndbmak6cfgxn1cfvc4c3wmh";
   };
 
   php56 = generic {
-    version = "5.6.17";
-    sha256 = "0fyxg95m918ngi6lnxyfb4y0ii4f8f5znb5l4axpagp6l5b5zd3p";
+    version = "5.6.18";
+    sha256 = "1vgl2zjq6ws5cjjb3llhwpfwg9gasq3q84ibdv9hj8snm4llmkf3";
   };
 
   php70 = generic {
diff --git a/pkgs/development/interpreters/rakudo/default.nix b/pkgs/development/interpreters/rakudo/default.nix
index dc9323f40efd..cd1631e23a16 100644
--- a/pkgs/development/interpreters/rakudo/default.nix
+++ b/pkgs/development/interpreters/rakudo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "rakudo-star-${version}";
-  version = "2015.03";
+  version = "2015.11";
 
   src = fetchurl {
     url    = "http://rakudo.org/downloads/star/${name}.tar.gz";
-    sha256 = "1fwvmjyc1bv3kq7p25xyl4sqinp19mbrspmf0h7rvxlwnfcrr5mv";
+    sha256 = "1rzabg8daxf2g4l1njhdv3gfav91mp3y9my0mpz2xw06cxqfsjki";
   };
 
   buildInputs = [ icu zlib gmp readline jdk perl ];
diff --git a/pkgs/development/interpreters/ruby/build-ruby-gem/default.nix b/pkgs/development/interpreters/ruby/build-ruby-gem/default.nix
index c5b9fba37aa0..effd343ecfd9 100644
--- a/pkgs/development/interpreters/ruby/build-ruby-gem/default.nix
+++ b/pkgs/development/interpreters/ruby/build-ruby-gem/default.nix
@@ -50,24 +50,24 @@ lib.makeOverridable (
 , passthru ? {}
 , ...} @ attrs:
 
-if ! builtins.elem type [ "git" "gem" ]
-then throw "buildRubyGem: don't know how to build a gem of type \"${type}\""
-else
-
 let
   shellEscape = x: "'${lib.replaceChars ["'"] [("'\\'" + "'")] x}'";
   rubygems = (attrs.rubygems or defs.rubygems).override {
     inherit ruby;
   };
   src = attrs.src or (
-    if type == "gem"
-    then fetchurl {
-      urls = map (remote: "${remote}/gems/${gemName}-${version}.gem") remotes;
-      inherit (attrs) sha256;
-    } else fetchgit {
-      inherit (attrs) url rev sha256 fetchSubmodules;
-      leaveDotGit = true;
-    }
+    if type == "gem" then
+      fetchurl {
+        urls = map (remote: "${remote}/gems/${gemName}-${version}.gem") remotes;
+        inherit (attrs) sha256;
+      }
+    else if type == "git" then
+      fetchgit {
+        inherit (attrs) url rev sha256 fetchSubmodules;
+        leaveDotGit = true;
+      }
+    else
+      throw "buildRubyGem: don't know how to build a gem of type \"${type}\""
   );
   documentFlag =
     if document == []
diff --git a/pkgs/development/interpreters/ruby/bundix/default.nix b/pkgs/development/interpreters/ruby/bundix/default.nix
index b5a49043c60b..1ce2528291eb 100644
--- a/pkgs/development/interpreters/ruby/bundix/default.nix
+++ b/pkgs/development/interpreters/ruby/bundix/default.nix
@@ -1,20 +1,44 @@
-{ ruby, fetchgit, buildRubyGem, bundler }:
+{ buildRubyGem, lib, bundler, ruby, nix, nix-prefetch-git }:
 
-let
-  thor = buildRubyGem {
-    gemName = "thor";
-    version = "0.19.1";
-    type = "gem";
-    sha256 = "08p5gx18yrbnwc6xc0mxvsfaxzgy2y9i78xq7ds0qmdm67q39y4z";
-  };
+buildRubyGem rec {
+  inherit ruby;
 
-in buildRubyGem {
+  name = "${gemName}-${version}";
   gemName = "bundix";
-  version = "1.0.4";
-  gemPath = [ thor bundler ];
-  src = fetchgit {
-    url = "https://github.com/cstrahan/bundix.git";
-    rev = "6dcf1f71c61584f5c9b919ee9df7b0c554862076";
-    sha256 = "1w17bvc9srcgr4ry81ispcj35g9kxihbyknmqp8rnd4h5090b7b2";
+  version = "2.0.5";
+
+  sha256 = "0bsynhr44jz6nih0xn7v32h1qvywnb5335ka208gn7jp6bjwabhy";
+
+  buildInputs = [bundler];
+
+  postInstall = ''
+    substituteInPlace $GEM_HOME/gems/${gemName}-${version}/lib/bundix.rb \
+      --replace \
+        "'nix-instantiate'" \
+        "'${nix}/bin/nix-instantiate'" \
+      --replace \
+        "'nix-hash'" \
+        "'${nix}/bin/nix-hash'" \
+      --replace \
+        "'nix-prefetch-url'" \
+        "'${nix}/bin/nix-prefetch-url'" \
+      --replace \
+        "'nix-prefetch-git'" \
+        "'${nix-prefetch-git}/bin/nix-prefetch-git'"
+  '';
+
+  meta = {
+    inherit version;
+    description = "Creates Nix packages from Gemfiles";
+    longDescription = ''
+      This is a tool that converts Gemfile.lock files to nix expressions.
+
+      The output is then usable by the bundlerEnv derivation to list all the
+      dependencies of a ruby package.
+    '';
+    homepage = "https://github.com/manveru/bundix";
+    license = "MIT";
+    maintainers = with lib.maintainers; [ manveru zimbatm ];
+    platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/interpreters/ruby/bundler-env/default.nix b/pkgs/development/interpreters/ruby/bundler-env/default.nix
index c7570d815e3b..0c9ed40d3f82 100644
--- a/pkgs/development/interpreters/ruby/bundler-env/default.nix
+++ b/pkgs/development/interpreters/ruby/bundler-env/default.nix
@@ -65,8 +65,24 @@ let
         "${bundler}/${ruby.gemPath}" \
         ${shellEscape (toString envPaths)}
     '' + lib.optionalString (postBuild != null) postBuild;
-    passthru = {
+    passthru = rec {
       inherit ruby bundler meta gems;
+
+      wrappedRuby = stdenv.mkDerivation {
+        name = "wrapped-ruby-${name}";
+        nativeBuildInputs = [ makeWrapper ];
+        buildCommand = ''
+          mkdir -p $out/bin
+          for i in ${ruby}/bin/*; do
+            makeWrapper "$i" $out/bin/$(basename "$i") \
+              --set BUNDLE_GEMFILE ${confFiles}/Gemfile \
+              --set BUNDLE_PATH ${bundlerEnv}/${ruby.gemPath} \
+              --set GEM_HOME ${bundlerEnv}/${ruby.gemPath} \
+              --set GEM_PATH ${bundlerEnv}/${ruby.gemPath}
+          done
+        '';
+      };
+
       env = let
         irbrc = builtins.toFile "irbrc" ''
           if !(ENV["OLD_IRBRC"].nil? || ENV["OLD_IRBRC"].empty?)
@@ -77,12 +93,8 @@ let
         '';
         in stdenv.mkDerivation {
           name = "interactive-${name}-environment";
-          nativeBuildInputs = [ ruby bundlerEnv ];
+          nativeBuildInputs = [ wrappedRuby bundlerEnv ];
           shellHook = ''
-            export BUNDLE_GEMFILE=${confFiles}/Gemfile
-            export BUNDLE_PATH=${bundlerEnv}/${ruby.gemPath}
-            export GEM_HOME=${bundlerEnv}/${ruby.gemPath}
-            export GEM_PATH=${bundlerEnv}/${ruby.gemPath}
             export OLD_IRBRC="$IRBRC"
             export IRBRC=${irbrc}
           '';
diff --git a/pkgs/development/interpreters/ruby/gemconfig/default.nix b/pkgs/development/interpreters/ruby/gemconfig/default.nix
index 787c3be54e35..dd4ae725095d 100644
--- a/pkgs/development/interpreters/ruby/gemconfig/default.nix
+++ b/pkgs/development/interpreters/ruby/gemconfig/default.nix
@@ -21,6 +21,7 @@
 , libiconv, postgresql, v8_3_16_14, clang, sqlite, zlib, imagemagick
 , pkgconfig , ncurses, xapian, gpgme, utillinux, fetchpatch, tzdata, icu, libffi
 , cmake, libssh2, openssl, mysql, darwin, git, perl, gecode_3, curl
+, libmsgpack
 }:
 
 let
@@ -40,6 +41,10 @@ in
     '';
   };
 
+  eventmachine = attrs: {
+    buildInputs = [ openssl ];
+  };
+
   ffi = attrs: {
     buildInputs = [ libffi pkgconfig ];
   };
@@ -56,6 +61,10 @@ in
     buildFlags = [ "--with-system-v8=true" ];
   };
 
+  msgpack = attrs: {
+    buildInputs = [ libmsgpack ];
+  };
+
   mysql2 = attrs: {
     buildInputs = [ mysql.lib zlib openssl ];
   };