Merge 'staging' into multiple-outputs
Conflicts: pkgs/applications/audio/flac/default.nix pkgs/build-support/gcc-wrapper/builder.sh pkgs/development/libraries/apr-util/default.nix pkgs/development/libraries/apr/default.nix pkgs/development/libraries/atk/default.nix pkgs/development/libraries/freetype/default.nix pkgs/development/libraries/gdk-pixbuf/default.nix pkgs/development/libraries/glib/default.nix pkgs/development/libraries/glibc/2.17/builder.sh pkgs/development/libraries/glibc/2.17/locales.nix pkgs/development/libraries/libjpeg/default.nix pkgs/development/libraries/libogg/default.nix pkgs/development/libraries/libsamplerate/default.nix pkgs/development/libraries/libtiff/default.nix pkgs/development/libraries/libvorbis/default.nix pkgs/development/libraries/mesa/default.nix pkgs/development/libraries/pango/default.nix pkgs/development/web/nodejs/default.nix pkgs/os-specific/linux/pam/default.nix pkgs/os-specific/linux/systemd/default.nix pkgs/stdenv/generic/setup.sh pkgs/stdenv/linux/default.nix pkgs/top-level/all-packages.nix pkgs/top-level/release-small.nix
This commit is contained in:
@@ -1,17 +0,0 @@
|
||||
args: with args;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ant-contrib-1.0b3";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
mv ant-contrib*.jar $out/
|
||||
'';
|
||||
|
||||
phases = "unpackPhase installPhase";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.bz2;
|
||||
sha256 = "96effcca2581c1ab42a4828c770b48d54852edf9e71cefc9ed2ffd6590571ad1";
|
||||
};
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
tar jxf $src || exit 1
|
||||
mkdir -p $out
|
||||
|
||||
mv apache-ant-*/* $out || exit 1
|
||||
|
||||
# add ant-contrib
|
||||
cp $antContrib/*.jar $out/lib
|
||||
|
||||
# remove crap in the root directory
|
||||
|
||||
for file in $out/*
|
||||
do
|
||||
if test -f $file ; then
|
||||
rm $file
|
||||
fi
|
||||
done
|
||||
rm -rf $out/docs
|
||||
|
||||
# prevent the use of hacky scripts. This will be handled in Nix.
|
||||
rm $out/bin/* || exit 1
|
||||
|
||||
# add ant script. This script is to be invoked with all
|
||||
# appropiate variables and will try to be clever or user-friendly.
|
||||
|
||||
cat >> $out/bin/ant <<EOF
|
||||
#! /bin/sh
|
||||
|
||||
export JAVA_HOME=$jdk
|
||||
export JAVACMD=$jdk/bin/java
|
||||
export LANG="en_US"
|
||||
|
||||
export ANT_HOME=$out
|
||||
|
||||
if [ -z "\$LOCALCLASSPATH" ] ; then
|
||||
LOCALCLASSPATH=\$ANT_HOME/lib/ant-launcher.jar
|
||||
else
|
||||
LOCALCLASSPATH=\$ANT_HOME/lib/ant-launcher.jar:\$LOCALCLASSPATH
|
||||
fi
|
||||
|
||||
if [ -n "\$JIKESPATH" ]; then
|
||||
exec "\$JAVACMD" \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" -Dant.home="\${ANT_HOME}" -Djikes.class.path="\$JIKESPATH" org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS -lib "$CLASSPATH" "\$@"
|
||||
else
|
||||
exec "\$JAVACMD" \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" -Dant.home="\${ANT_HOME}" org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS -lib "$CLASSPATH" "\$@"
|
||||
fi
|
||||
fi
|
||||
EOF
|
||||
|
||||
chmod a+x $out/bin/ant
|
||||
|
||||
ln -s $out/bin/ant $out/bin/antRun
|
||||
|
||||
@@ -1,30 +1,106 @@
|
||||
{ fetchurl, stdenv, jdk }:
|
||||
{ fetchurl, stdenv, makeWrapper }:
|
||||
|
||||
let
|
||||
|
||||
antContrib = import ./ant-contrib.nix {
|
||||
inherit fetchurl stdenv;
|
||||
};
|
||||
|
||||
version = "1.8.4";
|
||||
|
||||
in
|
||||
let version = "1.9.3"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ant-${(builtins.parseDrvName jdk.name).name}-${version}";
|
||||
name = "ant-${version}";
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
buildInputs = [ antContrib jdk ];
|
||||
|
||||
inherit antContrib jdk;
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2";
|
||||
sha1 = "d9e3e83dd9664cfe1dcd4841c082db3f559af922";
|
||||
sha1 = "efcf206e24b0dd1583c501182ad163af277951a4";
|
||||
};
|
||||
|
||||
contrib = fetchurl {
|
||||
url = mirror://sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.bz2;
|
||||
sha256 = "96effcca2581c1ab42a4828c770b48d54852edf9e71cefc9ed2ffd6590571ad1";
|
||||
};
|
||||
|
||||
installPhase =
|
||||
''
|
||||
mkdir -p $out/bin $out/lib/ant
|
||||
mv * $out/lib/ant/
|
||||
|
||||
# Get rid of the manual (35 MiB). Maybe we should put this in a
|
||||
# separate output. Also get rid of the Ant scripts since we
|
||||
# provide our own.
|
||||
rm -rf $out/lib/ant/{manual,bin,WHATSNEW}
|
||||
|
||||
# Install ant-contrib.
|
||||
unpackFile $contrib
|
||||
cp -p ant-contrib/ant-contrib-*.jar $out/lib/ant/lib/
|
||||
|
||||
cat >> $out/bin/ant <<EOF
|
||||
#! ${stdenv.shell} -e
|
||||
|
||||
ANT_HOME=$out/lib/ant
|
||||
|
||||
# Find the JDK by looking for javac. As a fall-back, find the
|
||||
# JRE by looking for java. The latter allows just the JRE to be
|
||||
# used with (say) ECJ as the compiler. Finally, allow the GNU
|
||||
# JVM.
|
||||
if [ -z "\$JAVA_HOME" ]; then
|
||||
for i in javac java gij; do
|
||||
if p="\$(type -p \$i)"; then
|
||||
export JAVA_HOME="\$(dirname \$(dirname \$(readlink -f \$p)))"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ -z "\$JAVA_HOME" ]; then
|
||||
echo "\$0: cannot find the JDK or JRE" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z \$NIX_JVM ]; then
|
||||
if [ -e \$JAVA_HOME/bin/java ]; then
|
||||
NIX_JVM=\$JAVA_HOME/bin/java
|
||||
elif [ -e \$JAVA_HOME/bin/gij ]; then
|
||||
NIX_JVM=\$JAVA_HOME/bin/gij
|
||||
else
|
||||
NIX_JVM=java
|
||||
fi
|
||||
fi
|
||||
|
||||
LOCALCLASSPATH="\$ANT_HOME/lib/ant-launcher.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH"
|
||||
|
||||
exec \$NIX_JVM \$NIX_ANT_OPTS \$ANT_OPTS -classpath "\$LOCALCLASSPATH" \
|
||||
-Dant.home=\$ANT_HOME -Dant.library.dir="\$ANT_LIB" \
|
||||
org.apache.tools.ant.launch.Launcher \$NIX_ANT_ARGS \$ANT_ARGS \
|
||||
-cp "\$CLASSPATH" "\$@"
|
||||
EOF
|
||||
|
||||
chmod +x $out/bin/ant
|
||||
''; # */
|
||||
|
||||
meta = {
|
||||
description = "Java-based build tool";
|
||||
homepage = http://ant.apache.org/;
|
||||
description = "A Java-based build tool";
|
||||
|
||||
longDescription = ''
|
||||
Apache Ant is a Java-based build tool. In theory, it is kind of like
|
||||
Make, but without Make's wrinkles.
|
||||
|
||||
Why another build tool when there is already make, gnumake, nmake, jam,
|
||||
and others? Because all those tools have limitations that Ant's
|
||||
original author couldn't live with when developing software across
|
||||
multiple platforms. Make-like tools are inherently shell-based -- they
|
||||
evaluate a set of dependencies, then execute commands not unlike what
|
||||
you would issue in a shell. This means that you can easily extend
|
||||
these tools by using or writing any program for the OS that you are
|
||||
working on. However, this also means that you limit yourself to the
|
||||
OS, or at least the OS type such as Unix, that you are working on.
|
||||
|
||||
Ant is different. Instead of a model where it is extended with
|
||||
shell-based commands, Ant is extended using Java classes. Instead of
|
||||
writing shell commands, the configuration files are XML-based, calling
|
||||
out a target tree where various tasks get executed. Each task is run
|
||||
by an object that implements a particular Task interface.
|
||||
'';
|
||||
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
maintainers = [ stdenv.lib.maintainers.eelco ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,90 +0,0 @@
|
||||
{ stdenv, fetchurl, gcj, junit }:
|
||||
|
||||
let version = "1.7.1"; in
|
||||
|
||||
/* TODO: Once we have Icedtea, use this Nix expression to build Ant with
|
||||
Sun's javac. */
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ant-gcj-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/ant/source/apache-ant-${version}-src.tar.bz2";
|
||||
sha256 = "19pvqvgkxgpgsqm4lvbki5sm0z84kxmykdqicvfad47gc1r9mi2d";
|
||||
};
|
||||
|
||||
patches = [ ./use-gcj.patch ];
|
||||
|
||||
buildInputs = [ gcj junit ];
|
||||
|
||||
configurePhase = ''
|
||||
mkdir -p "tool-aliases/bin"
|
||||
cd "tool-aliases/bin"
|
||||
cat > javac <<EOF
|
||||
#!/bin/sh
|
||||
opts="-C"
|
||||
echo 'running \`gcj '"\$opts \$@'..."
|
||||
exec "$(type -P gcj)" \$opts \$@
|
||||
EOF
|
||||
chmod +x javac
|
||||
ln -sv $(type -P gij) java
|
||||
export PATH="$PWD:$PATH"
|
||||
|
||||
cd ../..
|
||||
export JAVA_HOME="$PWD/tool-aliases"
|
||||
|
||||
# Make JUnit visible.
|
||||
export CLASSPATH="$(find ${junit} -name \*.jar -printf "%p:")"
|
||||
'';
|
||||
|
||||
# Note: We don't build the javadoc.
|
||||
buildPhase = ''
|
||||
mkdir -p "$out"
|
||||
./build.sh -Dant.install="$out" install-lite
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
# Actually, everything is already installed at this point, so we just
|
||||
# rearrange a few things.
|
||||
rm -v "$out/bin/"*.bat
|
||||
|
||||
mkdir -p "$out/lib/java"
|
||||
mv -v "$out/lib/"*.jar "$out/lib/java"
|
||||
sed -i "$out/bin/ant" \
|
||||
-e "s|^ANT_LIB=.*$|ANT_LIB=$out/lib/java|g ;
|
||||
s|JAVACMD=java.*$|JAVACMD=${gcj}/lib/jvm/bin/java|g ;
|
||||
/^ant_exec_command/i export ANT_HOME=$out"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Java-based build tool";
|
||||
|
||||
longDescription = ''
|
||||
Apache Ant is a Java-based build tool. In theory, it is kind of like
|
||||
Make, but without Make's wrinkles.
|
||||
|
||||
Why another build tool when there is already make, gnumake, nmake, jam,
|
||||
and others? Because all those tools have limitations that Ant's
|
||||
original author couldn't live with when developing software across
|
||||
multiple platforms. Make-like tools are inherently shell-based -- they
|
||||
evaluate a set of dependencies, then execute commands not unlike what
|
||||
you would issue in a shell. This means that you can easily extend
|
||||
these tools by using or writing any program for the OS that you are
|
||||
working on. However, this also means that you limit yourself to the
|
||||
OS, or at least the OS type such as Unix, that you are working on.
|
||||
|
||||
Ant is different. Instead of a model where it is extended with
|
||||
shell-based commands, Ant is extended using Java classes. Instead of
|
||||
writing shell commands, the configuration files are XML-based, calling
|
||||
out a target tree where various tasks get executed. Each task is run
|
||||
by an object that implements a particular Task interface.
|
||||
'';
|
||||
|
||||
homepage = http://ant.apache.org/;
|
||||
|
||||
license = "APLv2";
|
||||
|
||||
maintainers = [ ];
|
||||
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
|
||||
};
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
Setting `java.compiler' or `build.compiler' in `build.properties' isn't enough.
|
||||
|
||||
--- apache-ant-1.7.1/build.xml 2008-06-27 07:05:23.000000000 +0200
|
||||
+++ apache-ant-1.7.1/build.xml 2009-09-24 15:10:53.000000000 +0200
|
||||
@@ -578,12 +578,7 @@
|
||||
classname="com.jcraft.jsch.Session"
|
||||
classpathref="classpath"/>
|
||||
|
||||
- <condition property="build.compiler" value="classic">
|
||||
- <not>
|
||||
- <isset property="jdk1.3+"/>
|
||||
- </not>
|
||||
- </condition>
|
||||
- <property name="build.compiler" value="modern"/>
|
||||
+ <property name="build.compiler" value="gcj"/>
|
||||
|
||||
<!--check for XSD support in the parser-->
|
||||
<condition property="xmlschema.present">
|
||||
@@ -1,12 +1,12 @@
|
||||
{ stdenv, buildPythonPackage, fetchurl, coreutils, twisted }:
|
||||
|
||||
buildPythonPackage (rec {
|
||||
name = "buildbot-slave-0.8.7p1";
|
||||
name = "buildbot-slave-0.8.8";
|
||||
namePrefix = "";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://buildbot.googlecode.com/files/${name}.tar.gz";
|
||||
sha256 = "1p7a0srab6ifljh9vi25awvxfrxljj9s0hi1jipiiykyhjihgnxv";
|
||||
sha256 = "1k1pk3y0rk6j01wc491jblryr4ajqg1ing9m3sjaw9s5sga34xcb";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
@@ -34,7 +34,7 @@ buildPythonPackage (rec {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://buildbot.net/;
|
||||
|
||||
license = "GPLv2+";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
|
||||
description = "Continuous integration system that automates the build/test cycle";
|
||||
|
||||
|
||||
@@ -9,12 +9,12 @@
|
||||
assert enableDebugClient -> pygobject != null && pyGtkGlade != null;
|
||||
|
||||
buildPythonPackage (rec {
|
||||
name = "buildbot-0.8.7p1";
|
||||
name = "buildbot-0.8.8";
|
||||
namePrefix = "";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://buildbot.googlecode.com/files/${name}.tar.gz";
|
||||
sha256 = "0xjpk8510fhryl1g4mczz319h62il8hw9rh1rzvsfmffgf43zvld";
|
||||
sha256 = "1l1rsy82zv8582wypw00ac0k0wsr82ky74f3np4clbrxv3ry64sh";
|
||||
};
|
||||
|
||||
patchPhase =
|
||||
@@ -52,7 +52,7 @@ buildPythonPackage (rec {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://buildbot.net/;
|
||||
|
||||
license = "GPLv2+";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
|
||||
# Of course, we don't really need that on NixOS. :-)
|
||||
description = "Continuous integration system that automates the build/test cycle";
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx
|
||||
index e7491bb..57b4348 100644
|
||||
--- a/Source/CTest/cmCTestTestHandler.cxx
|
||||
+++ b/Source/CTest/cmCTestTestHandler.cxx
|
||||
@@ -1303,10 +1303,9 @@ int cmCTestTestHandler::ExecuteCommands(std::vector<cmStdString>& vec)
|
||||
for ( it = vec.begin(); it != vec.end(); ++it )
|
||||
{
|
||||
int retVal = 0;
|
||||
- std::string cmd = cmSystemTools::ConvertToOutputPath(it->c_str());
|
||||
- cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << cmd
|
||||
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << *it
|
||||
<< std::endl);
|
||||
- if ( !cmSystemTools::RunSingleCommand(cmd.c_str(), 0, &retVal, 0,
|
||||
+ if ( !cmSystemTools::RunSingleCommand((*it).c_str(), 0, &retVal, 0,
|
||||
cmSystemTools::OUTPUT_MERGE
|
||||
/*this->Verbose*/) || retVal != 0 )
|
||||
{
|
||||
@@ -1,4 +1,4 @@
|
||||
{ fetchurl, stdenv, replace, curl, expat, zlib, bzip2, libarchive
|
||||
{ stdenv, fetchurl, fetchpatch, replace, curl, expat, zlib, bzip2, libarchive
|
||||
, useNcurses ? false, ncurses, useQt4 ? false, qt4
|
||||
}:
|
||||
|
||||
@@ -7,7 +7,7 @@ with stdenv.lib;
|
||||
let
|
||||
os = stdenv.lib.optionalString;
|
||||
majorVersion = "2.8";
|
||||
minorVersion = "9";
|
||||
minorVersion = "12.2";
|
||||
version = "${majorVersion}.${minorVersion}";
|
||||
in
|
||||
|
||||
@@ -18,13 +18,26 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
|
||||
sha256 = "1yg68ng732cfm5c0h91chqwhg06zdh45bybm353kd1myk5rwqgfw";
|
||||
sha256 = "0phf295a9cby0v7zqdswr238v5aiy3rb2fs6dz39zjxbmzlp8rcc";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches =
|
||||
[(fetchpatch { # see http://www.cmake.org/Bug/view.php?id=13959
|
||||
name = "FindFreetype-2.5.patch";
|
||||
url = "http://www.cmake.org/Bug/file_download.php?file_id=4660&type=bug";
|
||||
sha256 = "136z63ff83hnwd247cq4m8m8164pklzyl5i2csf5h6wd8p01pdkj";
|
||||
})] ++
|
||||
# Don't search in non-Nix locations such as /usr, but do search in
|
||||
# Nixpkgs' Glibc.
|
||||
optional (stdenv ? glibc) ./search-path.patch;
|
||||
# Nixpkgs' Glibc.
|
||||
optional (stdenv ? glibc) ./search-path.patch ++
|
||||
optional (stdenv ? cross) (fetchurl {
|
||||
name = "fix-darwin-cross-compile.patch";
|
||||
url = "http://public.kitware.com/Bug/file_download.php?"
|
||||
+ "file_id=4981&type=bug";
|
||||
sha256 = "16acmdr27adma7gs9rs0dxdiqppm15vl3vv3agy7y8s94wyh4ybv";
|
||||
});
|
||||
|
||||
buildInputs = [ curl expat zlib bzip2 libarchive ]
|
||||
++ optional useNcurses ncurses
|
||||
@@ -51,6 +64,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://www.cmake.org/;
|
||||
description = "Cross-Platform Makefile Generator";
|
||||
platforms = if useQt4 then qt4.meta.platforms else stdenv.lib.platforms.all;
|
||||
maintainers = [ stdenv.lib.maintainers.urkud ];
|
||||
maintainers = with stdenv.lib.maintainers; [ urkud mornfall ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,41 +1,43 @@
|
||||
diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/Linux.cmake cmake-2.8.5/Modules/Platform/Linux.cmake
|
||||
--- cmake-2.8.5-orig/Modules/Platform/Linux.cmake 2011-07-08 14:21:44.000000000 +0200
|
||||
+++ cmake-2.8.5/Modules/Platform/Linux.cmake 2011-07-21 19:45:00.000000000 +0200
|
||||
@@ -36,13 +36,13 @@
|
||||
diff --git a/Modules/Platform/Linux.cmake b/Modules/Platform/Linux.cmake
|
||||
index fe8e003..378512c 100644
|
||||
--- a/Modules/Platform/Linux.cmake
|
||||
+++ b/Modules/Platform/Linux.cmake
|
||||
@@ -36,13 +36,13 @@ else()
|
||||
# checking the platform every time. This option is advanced enough
|
||||
# that only package maintainers should need to adjust it. They are
|
||||
# capable of providing a setting on the command line.
|
||||
- IF(EXISTS "/etc/debian_version")
|
||||
- SET(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
|
||||
- if(EXISTS "/etc/debian_version")
|
||||
- set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
|
||||
- "Install .so files without execute permission.")
|
||||
- ELSE(EXISTS "/etc/debian_version")
|
||||
+ #IF(EXISTS "/etc/debian_version")
|
||||
+ # SET(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
|
||||
+ # "Install .so files without execute permission.")
|
||||
+ #ELSE(EXISTS "/etc/debian_version")
|
||||
SET(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
|
||||
- else()
|
||||
+ # if(EXISTS "/etc/debian_version")
|
||||
+ # set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
|
||||
+ # "Install .so files without execute permission.")
|
||||
+ # else()
|
||||
set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
|
||||
"Install .so files without execute permission.")
|
||||
- ENDIF(EXISTS "/etc/debian_version")
|
||||
+ #ENDIF(EXISTS "/etc/debian_version")
|
||||
ENDIF(DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
||||
- endif()
|
||||
+ # endif()
|
||||
endif()
|
||||
|
||||
# Match multiarch library directory names.
|
||||
@@ -52,6 +52,6 @@
|
||||
@@ -52,6 +52,6 @@ include(Platform/UnixPaths)
|
||||
|
||||
# Debian has lib64 paths only for compatibility so they should not be
|
||||
# searched.
|
||||
-IF(EXISTS "/etc/debian_version")
|
||||
- SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
|
||||
-ENDIF(EXISTS "/etc/debian_version")
|
||||
+#IF(EXISTS "/etc/debian_version")
|
||||
+# SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
|
||||
+#ENDIF(EXISTS "/etc/debian_version")
|
||||
diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake cmake-2.8.5/Modules/Platform/UnixPaths.cmake
|
||||
--- cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake 2011-07-08 14:21:44.000000000 +0200
|
||||
+++ cmake-2.8.5/Modules/Platform/UnixPaths.cmake 2011-07-21 19:50:52.000000000 +0200
|
||||
@@ -33,55 +33,18 @@
|
||||
-if(EXISTS "/etc/debian_version")
|
||||
- set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
|
||||
-endif()
|
||||
+# if(EXISTS "/etc/debian_version")
|
||||
+# set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
|
||||
+#endif()
|
||||
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
|
||||
index ccb2663..39834e6 100644
|
||||
--- a/Modules/Platform/UnixPaths.cmake
|
||||
+++ b/Modules/Platform/UnixPaths.cmake
|
||||
@@ -33,55 +33,18 @@ get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
|
||||
# search types.
|
||||
LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
|
||||
list(APPEND CMAKE_SYSTEM_PREFIX_PATH
|
||||
# Standard
|
||||
- /usr/local /usr /
|
||||
-
|
||||
@@ -47,7 +49,7 @@ diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake cmake-2.8.5/M
|
||||
- )
|
||||
-
|
||||
-# List common include file locations not under the common prefixes.
|
||||
-LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH
|
||||
-list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
|
||||
- # Windows API on Cygwin
|
||||
- /usr/include/w32api
|
||||
-
|
||||
@@ -56,11 +58,11 @@ diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake cmake-2.8.5/M
|
||||
-
|
||||
- # Other
|
||||
- /usr/pkg/include
|
||||
- /opt/csw/include /opt/include
|
||||
- /opt/csw/include /opt/include
|
||||
- /usr/openwin/include
|
||||
- )
|
||||
-
|
||||
-LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH
|
||||
-list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
|
||||
- # Windows API on Cygwin
|
||||
- /usr/lib/w32api
|
||||
-
|
||||
@@ -69,25 +71,25 @@ diff -ru -x '*~' cmake-2.8.5-orig/Modules/Platform/UnixPaths.cmake cmake-2.8.5/M
|
||||
-
|
||||
- # Other
|
||||
- /usr/pkg/lib
|
||||
- /opt/csw/lib /opt/lib
|
||||
- /opt/csw/lib /opt/lib
|
||||
- /usr/openwin/lib
|
||||
- )
|
||||
-
|
||||
-LIST(APPEND CMAKE_SYSTEM_PROGRAM_PATH
|
||||
-list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
|
||||
- /usr/pkg/bin
|
||||
+ "@glibc@"
|
||||
)
|
||||
|
||||
LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
|
||||
list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
|
||||
- /lib /usr/lib /usr/lib32 /usr/lib64
|
||||
+ "@glibc@/lib"
|
||||
)
|
||||
|
||||
LIST(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
|
||||
list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
|
||||
- /usr/include
|
||||
+ "@glibc@/include"
|
||||
)
|
||||
LIST(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
|
||||
list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
|
||||
- /usr/include
|
||||
+ "@glibc@/include"
|
||||
)
|
||||
|
||||
@@ -47,7 +47,7 @@ cmakeConfigurePhase() {
|
||||
eval "$postConfigure"
|
||||
}
|
||||
|
||||
if [ -z "$dontUseCmakeConfigure" -a ! -v configurePhase ]; then
|
||||
if [ -z "$dontUseCmakeConfigure" -a -z "$configurePhase" ]; then
|
||||
configurePhase=cmakeConfigurePhase
|
||||
fi
|
||||
|
||||
@@ -56,3 +56,20 @@ if [ -n "$crossConfig" ]; then
|
||||
else
|
||||
envHooks+=(addCMakeParams)
|
||||
fi
|
||||
|
||||
makeCmakeFindLibs(){
|
||||
for flag in $NIX_CFLAGS_COMPILE $NIX_LDFLAGS; do
|
||||
case $flag in
|
||||
-I*)
|
||||
export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH${CMAKE_INCLUDE_PATH:+:}${flag:2}"
|
||||
;;
|
||||
-L*)
|
||||
export CMAKE_LIBRARY_PATH="$CMAKE_LIBRARY_PATH${CMAKE_LIBRARY_PATH:+:}${flag:2}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
# not using setupHook, because it could be a setupHook adding additional
|
||||
# include flags to NIX_CFLAGS_COMPILE
|
||||
postHooks+=(makeCmakeFindLibs)
|
||||
|
||||
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = {
|
||||
description = "Simple wrapper around make to colorize the output";
|
||||
license = "GPLv2";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
};
|
||||
}
|
||||
|
||||
+1
-1
@@ -41,7 +41,7 @@ stdenv.mkDerivation {
|
||||
|
||||
homepage = http://www.gnu.org/software/make/;
|
||||
|
||||
license = "GPLv2+";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||
};
|
||||
}
|
||||
+1
-1
@@ -56,7 +56,7 @@ stdenv.mkDerivation {
|
||||
|
||||
homepage = http://www.gnu.org/software/make/;
|
||||
|
||||
license = "GPLv3+";
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
@@ -0,0 +1,34 @@
|
||||
diff -rc read.c read.c
|
||||
*** read.c 2006-03-17 15:24:20.000000000 +0100
|
||||
--- read.c 2007-05-24 17:16:31.000000000 +0200
|
||||
***************
|
||||
*** 99,107 ****
|
||||
--- 99,109 ----
|
||||
#endif
|
||||
INCLUDEDIR,
|
||||
#ifndef _AMIGA
|
||||
+ #if 0
|
||||
"/usr/gnu/include",
|
||||
"/usr/local/include",
|
||||
"/usr/include",
|
||||
+ #endif
|
||||
#endif
|
||||
0
|
||||
};
|
||||
diff -rc reremake.c
|
||||
*** remake.c 2006-03-20 03:36:37.000000000 +0100
|
||||
--- remake.c 2007-05-24 17:06:54.000000000 +0200
|
||||
***************
|
||||
*** 1452,1460 ****
|
||||
--- 1452,1462 ----
|
||||
static char *dirs[] =
|
||||
{
|
||||
#ifndef _AMIGA
|
||||
+ #if 0
|
||||
"/lib",
|
||||
"/usr/lib",
|
||||
#endif
|
||||
+ #endif
|
||||
#if defined(WINDOWS32) && !defined(LIBDIR)
|
||||
/*
|
||||
* This is completely up to the user at product install time. Just define
|
||||
@@ -0,0 +1,17 @@
|
||||
Fixed default libpatttern on Darwin, imported from prefix overlay.
|
||||
Got merged upstream:
|
||||
https://savannah.gnu.org/bugs/?37197
|
||||
--- default.c.orig 2009-05-02 12:25:24 +0200
|
||||
+++ default.c 2009-05-02 12:25:58 +0200
|
||||
@@ -509,7 +509,11 @@
|
||||
#ifdef __MSDOS__
|
||||
".LIBPATTERNS", "lib%.a $(DJDIR)/lib/lib%.a",
|
||||
#else
|
||||
+#ifdef __APPLE__
|
||||
+ ".LIBPATTERNS", "lib%.dylib lib%.a",
|
||||
+#else
|
||||
".LIBPATTERNS", "lib%.so lib%.a",
|
||||
+#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
let version = "4.0"; in
|
||||
stdenv.mkDerivation {
|
||||
name = "gnumake-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/make/make-${version}.tar.bz2";
|
||||
sha256 = "1nyvn8mknw0mf7727lprva3lisl1y0n03lvar342rrpdmz3qc1p6";
|
||||
};
|
||||
|
||||
/* On Darwin, there are 3 test failures that haven't been investigated
|
||||
yet. */
|
||||
doCheck = !stdenv.isDarwin && !stdenv.isFreeBSD;
|
||||
|
||||
patches =
|
||||
[
|
||||
# Purity: don't look for library dependencies (of the form
|
||||
# `-lfoo') in /lib and /usr/lib. It's a stupid feature anyway.
|
||||
# Likewise, when searching for included Makefiles, don't look in
|
||||
# /usr/include and friends.
|
||||
./impure-dirs.patch
|
||||
|
||||
# a bunch of patches from Gentoo, mostly should be from upstream (unreleased)
|
||||
./darwin-library_search-dylib.patch
|
||||
];
|
||||
patchFlags = "-p0";
|
||||
|
||||
meta = {
|
||||
description = "GNU Make, a program controlling the generation of non-source files from sources";
|
||||
|
||||
longDescription =
|
||||
'' Make is a tool which controls the generation of executables and
|
||||
other non-source files of a program from the program's source files.
|
||||
|
||||
Make gets its knowledge of how to build your program from a file
|
||||
called the makefile, which lists each of the non-source files and
|
||||
how to compute it from other files. When you write a program, you
|
||||
should write a makefile for it, so that it is possible to use Make
|
||||
to build and install the program.
|
||||
'';
|
||||
|
||||
homepage = http://www.gnu.org/software/make/;
|
||||
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
diff -rc read.c read.c
|
||||
*** read.c 2006-03-17 15:24:20.000000000 +0100
|
||||
--- read.c 2007-05-24 17:16:31.000000000 +0200
|
||||
***************
|
||||
*** 99,107 ****
|
||||
--- 99,109 ----
|
||||
#endif
|
||||
INCLUDEDIR,
|
||||
#ifndef _AMIGA
|
||||
+ #if 0
|
||||
"/usr/gnu/include",
|
||||
"/usr/local/include",
|
||||
"/usr/include",
|
||||
+ #endif
|
||||
#endif
|
||||
0
|
||||
};
|
||||
diff -rc reremake.c
|
||||
*** remake.c 2006-03-20 03:36:37.000000000 +0100
|
||||
--- remake.c 2007-05-24 17:06:54.000000000 +0200
|
||||
***************
|
||||
*** 1452,1460 ****
|
||||
--- 1452,1462 ----
|
||||
static char *dirs[] =
|
||||
{
|
||||
#ifndef _AMIGA
|
||||
+ #if 0
|
||||
"/lib",
|
||||
"/usr/lib",
|
||||
#endif
|
||||
+ #endif
|
||||
#if defined(WINDOWS32) && !defined(LIBDIR)
|
||||
/*
|
||||
* This is completely up to the user at product install time. Just define
|
||||
@@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, unzip, jdk, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gradle-1.8";
|
||||
name = "gradle-1.11";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://services.gradle.org/distributions/${name}-bin.zip";
|
||||
sha256 = "00spxad9b5vddshp02cic0ds8icgb1clknl7494f467x2pxbnhm3";
|
||||
sha256 = "14a0qdzjiar97l9a0i3ds2y48p1lrqkj7skkkvhz0r29hbgkbqh7";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
makeWrapper ${jdk}/bin/java $out/bin/gradle \
|
||||
--set JAVA_HOME ${jdk} \
|
||||
--add-flags "-classpath $out/lib/gradle-launcher-1.8.jar org.gradle.launcher.GradleMain"
|
||||
--add-flags "-classpath $out/lib/gradle-launcher-1.11.jar org.gradle.launcher.GradleMain"
|
||||
'';
|
||||
|
||||
phases = "unpackPhase installPhase";
|
||||
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
|
||||
build-by-convention behavior.
|
||||
'';
|
||||
homepage = http://www.gradle.org/;
|
||||
license = "ASL2.0";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
source $stdenv/setup
|
||||
|
||||
mkdir -pv $out/bin $out/lib
|
||||
mkdir -pv $out/bin $out/share/java
|
||||
|
||||
out_bin=$out/bin/lein
|
||||
|
||||
cp -v $src $out_bin
|
||||
cp -v $jarsrc $out/lib
|
||||
cp -v $clojure/lib/java/* $out/lib
|
||||
cp -v $jarsrc $out/share/java
|
||||
cp -v $clojure/share/java/* $out/share/java/
|
||||
|
||||
for p in $patches;
|
||||
do
|
||||
@@ -21,5 +19,6 @@ chmod -v 755 $out_bin
|
||||
patchShebangs $out
|
||||
|
||||
wrapProgram $out_bin \
|
||||
--prefix PATH ":" ${rlwrap}/bin \
|
||||
--set LEIN_GPG ${gnupg}/bin/gpg
|
||||
--prefix PATH ":" "${rlwrap}/bin:${coreutils}/bin:${findutils}/bin" \
|
||||
--set LEIN_GPG ${gnupg}/bin/gpg \
|
||||
--set JAVA_CMD ${jdk}/bin/java
|
||||
|
||||
@@ -1,23 +1,24 @@
|
||||
{ stdenv, fetchurl, makeWrapper, jdk, rlwrap, clojure, gnupg }:
|
||||
{ stdenv, fetchurl, makeWrapper
|
||||
, coreutils, findutils, jdk, rlwrap, clojure, gnupg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "leiningen";
|
||||
version = "2.3.2";
|
||||
version = "2.4.2";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
|
||||
sha256 = "1dpvs6b2n309ixglmdpw64k8fbz8n4rd61xp4jrih0z7dgvcql6h";
|
||||
sha256 = "1qdq3v7wv9jacw4bipgx24knlipw6zdcx43yd1qyw6zwaad51ckw";
|
||||
};
|
||||
|
||||
jarsrc = fetchurl {
|
||||
url = "https://leiningen.s3.amazonaws.com/downloads/${pname}-${version}-standalone.jar";
|
||||
sha256 = "0g6sgmgl0azawwchi86qxqsknk753ffwiszsxg4idqb713ac6cda";
|
||||
url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.jar";
|
||||
sha256 = "0n4kpmzw9nvppq758lhnrr7xps5j6gwmdm98m772cj7j4vixsrzb";
|
||||
};
|
||||
|
||||
patches = ./lein_2.3.0.patch;
|
||||
patches = [ ./lein-fix-jar-path.patch ];
|
||||
|
||||
inherit rlwrap clojure gnupg;
|
||||
inherit rlwrap clojure gnupg findutils coreutils jdk;
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
@@ -30,6 +31,6 @@ stdenv.mkDerivation rec {
|
||||
description = "Project automation for Clojure";
|
||||
license = "EPL";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainer = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
46c47
|
||||
< LEIN_JAR=/usr/share/java/leiningen-$LEIN_VERSION-standalone.jar
|
||||
---
|
||||
> LEIN_JAR=$(find $(dirname $0)/../share/java -name *-standalone.jar | head -n 1)
|
||||
@@ -1,4 +0,0 @@
|
||||
46c47
|
||||
< LEIN_JAR=/usr/share/java/leiningen-$LEIN_VERSION-standalone.jar
|
||||
---
|
||||
> LEIN_JAR=$(find $(dirname $0)/../lib -name *-standalone.jar | head -n 1)
|
||||
@@ -2,12 +2,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ninja-${version}";
|
||||
version = "1.4.0";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchurl {
|
||||
name = "${name}.tar.gz";
|
||||
url = "https://github.com/martine/ninja/archive/v${version}.tar.gz";
|
||||
sha256 = "05y3whnp0fvfv1wsp862x0w1vrn3yjzzg8ypvbpcv6y6qlrsn73h";
|
||||
sha256 = "0z9rzay6ipy6q025n1f2im8d8jy6in9pcdsiqj30xpdlsjg7p9zv";
|
||||
};
|
||||
|
||||
buildInputs = [ python asciidoc re2c ];
|
||||
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
homepage = http://martine.github.io/ninja/;
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [maintainers.bjornfor];
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.thoughtpolice maintainers.bjornfor ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
{ stdenv, fetchurl, erlang }:
|
||||
|
||||
|
||||
let
|
||||
version = "2.5.1";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "rebar-2.1.0-pre";
|
||||
name = "rebar-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/basho/rebar/archive/2.1.0-pre.tar.gz";
|
||||
sha256 = "0dsbk9ssvk1hx9275900dg4bz79kpwcid4gsz09ziiwzv0jjbrjn";
|
||||
url = "https://github.com/rebar/rebar/archive/${version}.tar.gz";
|
||||
sha256 = "1y9b0smw0g5q197xf4iklzmcf8ad6w52p6mwzpf7b0ib1nd89jw6";
|
||||
};
|
||||
|
||||
buildInputs = [ erlang ];
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
let
|
||||
name = "scons";
|
||||
version = "2.1.0";
|
||||
version = "2.3.2";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/scons/${name}-${version}.tar.gz";
|
||||
sha256 = "4139ed14f60dd2ebcd47c59984d14705636180eb27b3d1b2949489e514b1921d";
|
||||
sha256 = "1m29lhwz7p6k4f8wc8qjpwa89058lzq3vrycgxbfc5cmbq6354zr";
|
||||
};
|
||||
|
||||
buildInputs = [python makeWrapper];
|
||||
@@ -23,10 +23,12 @@ stdenv.mkDerivation {
|
||||
buildPhase = "python setup.py install --prefix=$out --install-data=$out/share --install-lib=$(toPythonPath $out) --symlink-scons -O1";
|
||||
installPhase = "for n in $out/bin/*-${version}; do wrapProgram $n --suffix PYTHONPATH ':' \"$(toPythonPath $out)\"; done";
|
||||
|
||||
pythonPath = [];
|
||||
|
||||
meta = {
|
||||
homepage = "http://scons.org/";
|
||||
description = "An improved, cross-platform substitute for Make";
|
||||
license = "MIT";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
longDescription = ''
|
||||
SCons is an Open Source software construction tool. Think of
|
||||
SCons as an improved, cross-platform substitute for the classic
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
url http://sourceforge.net/projects/scons/files/scons/
|
||||
SF_version_dir
|
||||
version_link '[.]tar[.]gz/download$'
|
||||
SF_redirect
|
||||
ensure_hash
|
||||
|
||||
do_overwrite() {
|
||||
set_var_value version "$CURRENT_VERSION"
|
||||
set_var_value sha256 "$CURRENT_HASH"
|
||||
}
|
||||
@@ -1,93 +1,30 @@
|
||||
{ stdenv, versionedDerivation, fetchurl, version ? "xsbt-0.12.3" }:
|
||||
{ stdenv, fetchurl, jre }:
|
||||
|
||||
let
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sbt-${version}";
|
||||
version = "0.13.5";
|
||||
|
||||
description = "A build tool for Scala";
|
||||
longDescription = name: ''
|
||||
${name} is a simple build tool for Scala projects that aims to do the
|
||||
basics well.
|
||||
|
||||
This package is the sbt launcher which automatically manages
|
||||
and downloads dependencies, including the SBT package and the
|
||||
Scala compiler.
|
||||
'';
|
||||
|
||||
metaSBT = {
|
||||
inherit description;
|
||||
longDescription = longDescription "sbt";
|
||||
homepage = http://code.google.com/p/simple-build-tool/;
|
||||
license = "bsd";
|
||||
};
|
||||
|
||||
metaXSBT = {
|
||||
inherit description;
|
||||
longDescription = longDescription "xsbt";
|
||||
homepage = https://github.com/harrah/xsbt;
|
||||
license = "bsd";
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
# Depends on a JRE at runtime.
|
||||
|
||||
versionedDerivation "simple-build-tool" version {
|
||||
"0.7.3" = let version = "0.7.3"; in {
|
||||
name = "simple-build-tool-${version}";
|
||||
src = fetchurl {
|
||||
url = "http://simple-build-tool.googlecode.com/files/sbt-launch-${version}.jar";
|
||||
sha256 = "1nciifzf00cs54a4h57a7v1hyklm5vgln0sscmz5kzv96ggphs6k";
|
||||
};
|
||||
meta = metaSBT;
|
||||
src = fetchurl {
|
||||
url = "http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${version}/sbt-launch.jar";
|
||||
sha256 = "05zvb3j7xxswpz7fz2nwbl4dwfdf0cyx5xzjis5fyi2dbzmfdrmp";
|
||||
};
|
||||
|
||||
"0.7.7" = let version = "0.7.7"; in {
|
||||
name = "simple-build-tool-${version}";
|
||||
src = fetchurl {
|
||||
url = "http://simple-build-tool.googlecode.com/files/sbt-launch-${version}.jar";
|
||||
# sha256 = "1nciifzf00cs54a4h57a7v1hyklm5vgln0sscmz5kzv96ggphs6j";
|
||||
sha256 = "2720b033012a7509f7fbdfddfa69c07b105452a6f95bc410cb7dc34c1594ab3d";
|
||||
};
|
||||
meta = metaSBT;
|
||||
};
|
||||
|
||||
"xsbt-0.11.2" = let version = "0.11.2"; in { # scala 2.9
|
||||
name = "xsbt-${version}";
|
||||
|
||||
# scala needs much more PermGen space
|
||||
javaArgs = "-Xmx1024M";
|
||||
# from https://github.com/harrah/xsbt/wiki/Getting-Started-Setup
|
||||
src = fetchurl {
|
||||
url = http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt-launch/0.11.2/sbt-launch.jar;
|
||||
sha256 = "14fbzvb1s66wpbqznw65a7nn27qrq1i9pd7wlbydv8ffl49d262n";
|
||||
};
|
||||
meta = metaXSBT;
|
||||
};
|
||||
|
||||
"xsbt-0.12.3" = let version = "0.12.3"; in {
|
||||
name = "xsbt-${version}";
|
||||
|
||||
# Recommended java options from sbt Getting started guide
|
||||
javaArgs = "-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M";
|
||||
# from https://github.com/harrah/xsbt/wiki/Getting-Started-Setup
|
||||
src = fetchurl {
|
||||
url = http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/0.12.3/sbt-launch.jar;
|
||||
sha256 = "11r26abjzmnmpn65ndbq60qg31s3ichkvzpmxyrq941s1n1dbxgh";
|
||||
};
|
||||
meta = metaXSBT;
|
||||
};
|
||||
}
|
||||
{
|
||||
phases = [ "installPhase" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -pv "$out/lib/java"
|
||||
cp $src "$out/lib/java/sbt-launch-${version}.jar"
|
||||
mkdir -p "$out/bin"
|
||||
cat > "$out/bin/sbt" <<EOF
|
||||
#! /bin/sh
|
||||
exec java $javaArgs -jar $out/lib/java/sbt-launch-${version}.jar "\$@"
|
||||
mkdir -p $out/bin
|
||||
cat > $out/bin/sbt << EOF
|
||||
#!/bin/sh
|
||||
SBT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M"
|
||||
${jre}/bin/java \$SBT_OPTS -jar ${src} "\$@"
|
||||
EOF
|
||||
chmod u+x "$out/bin/sbt"
|
||||
chmod +x $out/bin/sbt
|
||||
'';
|
||||
|
||||
phases = "installPhase";
|
||||
meta = {
|
||||
homepage = http://www.scala-sbt.org/;
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
description = "A build tool for Scala, Java and more";
|
||||
maintainers = [ stdenv.lib.maintainers.rickynils ];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user