diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2014-01-18 14:35:07 +0100 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2014-01-18 14:46:20 +0100 |
commit | 0a58b512cb696b2482cbac4fd3a20b43ae31c1bc (patch) | |
tree | 7ae35a255ac57b66696c3db743f6ed9a4dab7431 /pkgs/development/tools | |
parent | 284833649192072959a335367374fc0a6ec667df (diff) | |
parent | 9c1d3bfa9f7d7b95eb20d0f729e3b3c9d7abcd4b (diff) | |
download | nixpkgs-0a58b512cb696b2482cbac4fd3a20b43ae31c1bc.tar nixpkgs-0a58b512cb696b2482cbac4fd3a20b43ae31c1bc.tar.gz nixpkgs-0a58b512cb696b2482cbac4fd3a20b43ae31c1bc.tar.bz2 nixpkgs-0a58b512cb696b2482cbac4fd3a20b43ae31c1bc.tar.lz nixpkgs-0a58b512cb696b2482cbac4fd3a20b43ae31c1bc.tar.xz nixpkgs-0a58b512cb696b2482cbac4fd3a20b43ae31c1bc.tar.zst nixpkgs-0a58b512cb696b2482cbac4fd3a20b43ae31c1bc.zip |
Merge master into stdenv-updates
Conflicts (simple): pkgs/development/compilers/gcc/4.8/default.nix pkgs/development/compilers/llvm/default.nix pkgs/development/libraries/gmp/5.1.1.nix pkgs/development/libraries/gmp/5.1.3.nix pkgs/development/libraries/gmp/5.1.x.nix pkgs/top-level/all-packages.nix
Diffstat (limited to 'pkgs/development/tools')
12 files changed, 124 insertions, 225 deletions
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix index 9d3859851ee..5b2de20e33f 100644 --- a/pkgs/development/tools/analysis/cppcheck/default.nix +++ b/pkgs/development/tools/analysis/cppcheck/default.nix @@ -4,14 +4,14 @@ let name = "cppcheck"; - version = "1.62"; + version = "1.63"; in stdenv.mkDerivation { name = "${name}-${version}"; src = fetchurl { url = "mirror://sourceforge/${name}/${name}-${version}.tar.bz2"; - sha256 = "031x2khbk0anlacpdk5g5r3q3y4xj0z5zsfhf2wcv189hxl7698c"; + sha256 = "0r10z44qydqxxxlxiggl2nzksd3gkb7bp784dfmpnnr1jd2zqjwj"; }; configurePhase = "makeFlags=PREFIX=$out"; diff --git a/pkgs/development/tools/build-managers/apache-ant/ant-contrib.nix b/pkgs/development/tools/build-managers/apache-ant/ant-contrib.nix deleted file mode 100644 index ca61f43c738..00000000000 --- a/pkgs/development/tools/build-managers/apache-ant/ant-contrib.nix +++ /dev/null @@ -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"; - }; -} diff --git a/pkgs/development/tools/build-managers/apache-ant/builder.sh b/pkgs/development/tools/build-managers/apache-ant/builder.sh deleted file mode 100644 index 68aa89d475e..00000000000 --- a/pkgs/development/tools/build-managers/apache-ant/builder.sh +++ /dev/null @@ -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 - diff --git a/pkgs/development/tools/build-managers/apache-ant/default.nix b/pkgs/development/tools/build-managers/apache-ant/default.nix index c14e09e25b7..19c664c2ea7 100644 --- a/pkgs/development/tools/build-managers/apache-ant/default.nix +++ b/pkgs/development/tools/build-managers/apache-ant/default.nix @@ -1,30 +1,110 @@ -{ fetchurl, stdenv, jdk }: +{ fetchurl, stdenv, makeWrapper }: -let +let version = "1.9.3"; in - antContrib = import ./ant-contrib.nix { - inherit fetchurl stdenv; +stdenv.mkDerivation { + name = "ant-${version}"; + + buildInputs = [ makeWrapper ]; + + src = fetchurl { + url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2"; + sha1 = "efcf206e24b0dd1583c501182ad163af277951a4"; }; - version = "1.8.4"; + contrib = fetchurl { + url = mirror://sourceforge/ant-contrib/ant-contrib-1.0b3-bin.tar.bz2; + sha256 = "96effcca2581c1ab42a4828c770b48d54852edf9e71cefc9ed2ffd6590571ad1"; + }; -in + installPhase = + '' + mkdir -p $out/bin $out/lib/ant + mv * $out/lib/ant/ -stdenv.mkDerivation { - name = "ant-${(builtins.parseDrvName jdk.name).name}-${version}"; + # 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} - builder = ./builder.sh; - - buildInputs = [ antContrib jdk ]; + # Install ant-contrib. + unpackFile $contrib + cp -p ant-contrib/ant-contrib-*.jar $out/lib/ant/lib/ - inherit antContrib jdk; + cat >> $out/bin/ant <<EOF + #! ${stdenv.shell} -e - src = fetchurl { - url = "mirror://apache/ant/binaries/apache-ant-${version}-bin.tar.bz2"; - sha1 = "d9e3e83dd9664cfe1dcd4841c082db3f559af922"; - }; + 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" + + if [ -e \$JAVA_HOME/lib/tools.jar ]; then + LOCALCLASSPATH="\$JAVA_HOME/lib/tools.jar\''${LOCALCLASSPATH:+:}\$LOCALCLASSPATH" + fi + + 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; }; } diff --git a/pkgs/development/tools/build-managers/apache-ant/from-source.nix b/pkgs/development/tools/build-managers/apache-ant/from-source.nix deleted file mode 100644 index 14213415ff8..00000000000 --- a/pkgs/development/tools/build-managers/apache-ant/from-source.nix +++ /dev/null @@ -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 - }; -} diff --git a/pkgs/development/tools/build-managers/apache-ant/use-gcj.patch b/pkgs/development/tools/build-managers/apache-ant/use-gcj.patch deleted file mode 100644 index db82d3ba689..00000000000 --- a/pkgs/development/tools/build-managers/apache-ant/use-gcj.patch +++ /dev/null @@ -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"> diff --git a/pkgs/development/tools/build-managers/leiningen/builder.sh b/pkgs/development/tools/build-managers/leiningen/builder.sh index 8d0924028cc..6a66466506c 100644 --- a/pkgs/development/tools/build-managers/leiningen/builder.sh +++ b/pkgs/development/tools/build-managers/leiningen/builder.sh @@ -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 diff --git a/pkgs/development/tools/build-managers/leiningen/lein_2.3.0.patch b/pkgs/development/tools/build-managers/leiningen/lein_2.3.0.patch index 23f6b624776..f7d5bc4d9a7 100644 --- a/pkgs/development/tools/build-managers/leiningen/lein_2.3.0.patch +++ b/pkgs/development/tools/build-managers/leiningen/lein_2.3.0.patch @@ -1,4 +1,4 @@ 46c47 < LEIN_JAR=/usr/share/java/leiningen-$LEIN_VERSION-standalone.jar --- -> LEIN_JAR=$(find $(dirname $0)/../lib -name *-standalone.jar | head -n 1) +> LEIN_JAR=$(find $(dirname $0)/../share/java -name *-standalone.jar | head -n 1) diff --git a/pkgs/development/tools/haskell/hasktags/default.nix b/pkgs/development/tools/haskell/hasktags/default.nix index f1e1f639e80..8f72edb1f80 100644 --- a/pkgs/development/tools/haskell/hasktags/default.nix +++ b/pkgs/development/tools/haskell/hasktags/default.nix @@ -1,13 +1,14 @@ -{ cabal, filepath }: +{ cabal, filepath, HUnit, interlude, json }: cabal.mkDerivation (self: { pname = "hasktags"; - version = "0.68.2"; - sha256 = "0lb28vj8mhaskw3n7wpjgbj0311ywh76yc0ajczzsiqa3p6mypss"; + version = "0.68.5"; + sha256 = "0yr7icaww5kiczmi64n2ypkwabs4yl8wl2kf67zmgclp12kqik81"; isLibrary = false; isExecutable = true; - buildDepends = [ filepath ]; + buildDepends = [ filepath HUnit interlude json ]; meta = { + homepage = "http://github.com/MarcWeber/hasktags"; description = "Produces ctags \"tags\" and etags \"TAGS\" files for Haskell programs"; license = self.stdenv.lib.licenses.bsd3; platforms = self.ghc.meta.platforms; diff --git a/pkgs/development/tools/misc/automake/automake-1.14.x.nix b/pkgs/development/tools/misc/automake/automake-1.14.x.nix index d6f8117f9b8..d20ea2c2e91 100644 --- a/pkgs/development/tools/misc/automake/automake-1.14.x.nix +++ b/pkgs/development/tools/misc/automake/automake-1.14.x.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl, autoconf, makeWrapper, doCheck ? false }: stdenv.mkDerivation rec { - name = "automake-1.14"; + name = "automake-1.14.1"; src = fetchurl { url = "mirror://gnu/automake/${name}.tar.xz"; - sha256 = "0nc0zqq8j336kamizzd86wb19vhbwywv5avcjh3cyx230xfqy671"; + sha256 = "0s86rzdayj1licgj35q0mnynv5xa8f4p32m36blc5jk9id5z1d59"; }; buildInputs = [ perl autoconf ]; diff --git a/pkgs/development/tools/parsing/jikespg/builder.sh b/pkgs/development/tools/parsing/jikespg/builder.sh deleted file mode 100644 index e63ec9808f2..00000000000 --- a/pkgs/development/tools/parsing/jikespg/builder.sh +++ /dev/null @@ -1,15 +0,0 @@ -source $stdenv/setup - -set -e - -configurePhase() { - tar zxvf $src - cd jikespg/src -} - -installPhase() { - mkdir -p $out/bin - cp jikespg $out/bin -} - -genericBuild diff --git a/pkgs/development/tools/parsing/jikespg/default.nix b/pkgs/development/tools/parsing/jikespg/default.nix index 290e9a3a003..ea66204d9cd 100644 --- a/pkgs/development/tools/parsing/jikespg/default.nix +++ b/pkgs/development/tools/parsing/jikespg/default.nix @@ -2,9 +2,22 @@ stdenv.mkDerivation { name = "jikespg-1.3"; - builder = ./builder.sh; + src = fetchurl { url = mirror://sourceforge/jikes/jikespg-1.3.tar.gz; md5 = "eba183713d9ae61a887211be80eeb21f"; }; + + sourceRoot = "jikespg/src"; + + installPhase = + '' + mkdir -p $out/bin + cp jikespg $out/bin + ''; + + meta = { + homepage = http://jikes.sourceforge.net/; + description = "The Jikes Parser Generator"; + }; } |