Merge remote-tracking branch 'origin/master' into closure-size

This commit is contained in:
Luca Bruno
2015-11-25 21:37:30 +01:00
659 changed files with 46562 additions and 13611 deletions
@@ -1,62 +1,35 @@
x@{builderDefsPackage
, lua5, python
, ...}:
builderDefsPackage
(a :
let
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
[];
{ stdenv, fetchurl, lua5, python }:
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
baseName="bam";
version="0.4.0";
name="${baseName}-${version}";
url="http://github.com/downloads/matricks/bam/${name}.tar.bz2";
hash="0z90wvyd4nfl7mybdrv9dsd4caaikc6fxw801b72gqi1m9q0c0sn";
};
in
rec {
src = a.fetchurl {
url = sourceInfo.url;
sha256 = sourceInfo.hash;
stdenv.mkDerivation rec {
name = "bam-${version}";
version = "0.4.0";
src = fetchurl {
url = "http://github.com/downloads/matricks/bam/${name}.tar.bz2";
sha256 = "0z90wvyd4nfl7mybdrv9dsd4caaikc6fxw801b72gqi1m9q0c0sn";
};
inherit (sourceInfo) name version;
inherit buildInputs;
buildInputs = [ lua5 python ];
/* doConfigure should be removed if not needed */
phaseNames = ["check" "doDeploy"];
buildPhase = ''${stdenv.shell} make_unix.sh'';
build = a.fullDepEntry ''
sh make_unix.sh
'' ["minInit" "doUnpack" "addInputs"];
checkPhase = ''${python.interpreter} scripts/test.py'';
check = a.fullDepEntry ''
python scripts/test.py
'' ["build" "addInputs"];
doDeploy = a.fullDepEntry ''
installPhase = ''
mkdir -p "$out/share/bam"
cp -r docs examples tests "$out/share/bam"
mkdir -p "$out/bin"
cp bam "$out/bin"
'' ["minInit" "defEnsureDir" "build"];
'';
meta = {
meta = with stdenv.lib; {
description = "Yet another build manager";
maintainers = with a.lib.maintainers;
maintainers = with maintainers;
[
raskin
];
platforms = with a.lib.platforms;
linux;
license = a.lib.licenses.free;
platforms = platforms.linux;
license = licenses.free;
downloadPage = "http://matricks.github.com/bam/";
};
passthru = {
updateInfo = {
downloadPage = "http://matricks.github.com/bam/";
};
};
}) x
}
@@ -1,12 +1,12 @@
{ stdenv, fetchurl, makeWrapper, jdk }:
stdenv.mkDerivation rec {
version = "2.2.0";
version = "2.4.2";
name = "boot-${version}";
src = fetchurl {
url = "https://github.com/boot-clj/boot/releases/download/${version}/boot.sh";
sha256 = "0czavpdhmpgp20vywf326ix1f94dky51mqiwyblrmrd33d89qz9f";
url = "https://github.com/boot-clj/boot-bin/releases/download/${version}/boot.sh";
sha256 = "18d7dks6vvpwpw30jffzy7qqpypw6vhlp2sj838i5rj2q0imh14c";
};
inherit jdk;
@@ -1,4 +1,4 @@
{stdenv, version}:
{stdenv, version, rustc}:
{
inherit version;
@@ -11,6 +11,8 @@
"$out/lib/rustlib/rust-installer-version" \
"$out/lib/rustlib/uninstall.sh" \
"$out/lib/rustlib/manifest-cargo"
wrapProgram "$out/bin/cargo" --suffix PATH : "${rustc}/bin"
'';
platform = if stdenv.system == "i686-linux"
@@ -23,6 +25,8 @@
then "x86_64-apple-darwin"
else throw "no snapshot to bootstrap for this platform (missing platform url suffix)";
passthru.rustc = rustc;
meta = with stdenv.lib; {
homepage = http://crates.io;
description = "Downloads your Rust project's dependencies and builds your project";
@@ -1,12 +1,15 @@
{ stdenv, fetchgit, rustPlatform, file, curl, python, pkgconfig, openssl
, cmake, zlib }:
with ((import ./common.nix) { inherit stdenv; version = "0.6.0"; });
, cmake, zlib, makeWrapper }:
with rustPlatform;
with ((import ./common.nix) {
inherit stdenv rustc;
version = "0.6.0";
});
buildRustPackage rec {
inherit name version meta;
inherit name version meta passthru;
# Needs to use fetchgit instead of fetchFromGitHub to fetch submodules
src = fetchgit {
@@ -17,7 +20,7 @@ buildRustPackage rec {
depsSha256 = "1m045yywv67sx75idbsny59d3dzbqnhr07k41jial5n5zwp87mb9";
buildInputs = [ file curl pkgconfig python openssl cmake zlib ];
buildInputs = [ file curl pkgconfig python openssl cmake zlib makeWrapper ];
configurePhase = ''
./configure --enable-optimize --prefix=$out --local-cargo=${cargo}/bin/cargo
@@ -1,11 +1,14 @@
{ stdenv, fetchurl, zlib }:
{ stdenv, fetchurl, zlib, makeWrapper, rustc }:
/* Cargo binary snapshot */
let snapshotDate = "2015-06-17";
in
with ((import ./common.nix) { inherit stdenv; version = "snapshot-${snapshotDate}"; });
with ((import ./common.nix) {
inherit stdenv rustc;
version = "snapshot-${snapshotDate}";
});
let snapshotHash = if stdenv.system == "i686-linux"
then "g2h9l35123r72hqdwayd9h79kspfb4y9"
@@ -20,23 +23,23 @@ let snapshotHash = if stdenv.system == "i686-linux"
in
stdenv.mkDerivation {
inherit name version meta;
inherit name version meta passthru;
src = fetchurl {
url = "https://static-rust-lang-org.s3.amazonaws.com/cargo-dist/${snapshotDate}/${snapshotName}";
sha1 = snapshotHash;
};
buildInputs = [ makeWrapper ];
dontStrip = true;
installPhase = ''
mkdir -p "$out"
./install.sh "--prefix=$out"
${postInstall}
'' + (if stdenv.isLinux then ''
patchelf --interpreter "${stdenv.glibc.out}/lib/${stdenv.cc.dynamicLinker}" \
--set-rpath "${stdenv.cc.cc}/lib/:${stdenv.cc.cc}/lib64/:${zlib}/lib" \
"$out/bin/cargo"
'' else "");
'' else "") + postInstall;
}
@@ -1,39 +1,54 @@
{ stdenv, fetchurl, unzip, jdk, makeWrapper }:
stdenv.mkDerivation rec {
name = "gradle-2.8";
rec {
gradleGen = {name, src} : stdenv.mkDerivation rec {
inherit name src;
src = fetchurl {
url = "http://services.gradle.org/distributions/${name}-bin.zip";
sha256 = "1jq3m6ihvcxyp37mwsg3i8li9hd6rpv8ri8ih2mgvph4y71bk3d8";
installPhase = ''
mkdir -pv $out/lib/gradle/
cp -rv lib/ $out/lib/gradle/
gradle_launcher_jar=$(echo $out/gradle/lib/gradle-launcher-*.jar)
test -f $gradle_launcher_jar
makeWrapper ${jdk}/bin/java $out/bin/gradle \
--set JAVA_HOME ${jdk} \
--add-flags "-classpath $gradle_launcher_jar org.gradle.launcher.GradleMain"
'';
phases = "unpackPhase installPhase";
buildInputs = [ unzip jdk makeWrapper ];
meta = {
description = "Enterprise-grade build system";
longDescription = ''
Gradle is a build system which offers you ease, power and freedom.
You can choose the balance for yourself. It has powerful multi-project
build support. It has a layer on top of Ivy that provides a
build-by-convention integration for Ivy. It gives you always the choice
between the flexibility of Ant and the convenience of a
build-by-convention behavior.
'';
homepage = http://www.gradle.org/;
license = stdenv.lib.licenses.asl20;
};
};
installPhase = ''
mkdir -pv $out/gradle
cp -rv lib $out/gradle
gradle28 = gradleGen rec {
name = "gradle-2.8";
gradle_launcher_jar=$(echo $out/gradle/lib/gradle-launcher-*.jar)
test -f $gradle_launcher_jar
makeWrapper ${jdk}/bin/java $out/bin/gradle \
--set JAVA_HOME ${jdk} \
--add-flags "-classpath $gradle_launcher_jar org.gradle.launcher.GradleMain"
'';
src = fetchurl {
url = "http://services.gradle.org/distributions/${name}-bin.zip";
sha256 = "1jq3m6ihvcxyp37mwsg3i8li9hd6rpv8ri8ih2mgvph4y71bk3d8";
};
};
phases = "unpackPhase installPhase";
gradle25 = gradleGen rec {
name = "gradle-2.5";
buildInputs = [ unzip jdk makeWrapper ];
meta = {
description = "Enterprise-grade build system";
longDescription = ''
Gradle is a build system which offers you ease, power and freedom.
You can choose the balance for yourself. It has powerful multi-project
build support. It has a layer on top of Ivy that provides a
build-by-convention integration for Ivy. It gives you always the choice
between the flexibility of Ant and the convenience of a
build-by-convention behavior.
'';
homepage = http://www.gradle.org/;
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "http://services.gradle.org/distributions/${name}-bin.zip";
sha256 = "0mc5lf6phkncx77r0papzmfvyiqm0y26x50ipvmzkcsbn463x59z";
};
};
}