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:
Vladimír Čunát
2014-08-23 16:04:53 +02:00
6628 changed files with 165219 additions and 65293 deletions
@@ -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;
};
}
@@ -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 ];
};
}
@@ -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 ];
};
}