diff --git a/pkgs/development/compilers/gcc-4.4/default.nix b/pkgs/development/compilers/gcc-4.4/default.nix index 1149da0a4cc..25beaeb20bd 100644 --- a/pkgs/development/compilers/gcc-4.4/default.nix +++ b/pkgs/development/compilers/gcc-4.4/default.nix @@ -22,7 +22,7 @@ assert langJava -> zip != null && unzip != null with stdenv.lib; -let version = "4.4.1"; +let version = "4.4.2"; javaEcj = fetchurl { # The `$(top_srcdir)/ecj.jar' file is automatically picked up at # `configure' time. @@ -55,28 +55,11 @@ stdenv.mkDerivation ({ name = "${name}-${version}"; builder = ./builder.sh; - - src = - optional /*langC*/ true (fetchurl { - url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2"; - sha256 = "0jgwa98i964jhnjg6acvvhz0wb51v00kk3gal8qbps8j09g2mgag"; - }) ++ - - optional langCC (fetchurl { - url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2"; - sha256 = "1pfgfgpvkq0i4023n4v1cghzmcq8c15xn4n967n29vmdrrwk8754"; - }) ++ - - optional langFortran (fetchurl { - url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2"; - sha256 = "1406r8ndl7pjyas5naw8ygqpfrl72ypyn71llfzf953j736kmi50"; - }) ++ - - optional langJava (fetchurl { - url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2"; - sha256 = "07lgph5zxskqqkzbq67wma2067dqr5my110l8rgzspqjq5rhgdil"; - }); + src = (import ./sources.nix) { + inherit fetchurl optional version; + inherit langC langCC langFortran langJava; + }; patches = [./pass-cxxcpp.patch] diff --git a/pkgs/development/compilers/gcc-4.4/sources.nix b/pkgs/development/compilers/gcc-4.4/sources.nix new file mode 100644 index 00000000000..54cf14749bf --- /dev/null +++ b/pkgs/development/compilers/gcc-4.4/sources.nix @@ -0,0 +1,22 @@ +/* Automatically generated by `update-gcc.sh', do not edit. + For GCC 4.4.2. */ +{ fetchurl, optional, version, langC, langCC, langFortran, langJava }: + +assert version == "4.4.2"; +optional /* langC */ true (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2"; + sha256 = "03cgv3b9bqhap4bks5wfg7nyj64l5c3qyn1igpqc6gk60bxm9wym"; +}) ++ +optional langCC (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2"; + sha256 = "0al23gnx4v50j1y6xb23by34m2qhavm2xxn3f1v8kis7ajlbm1j1"; +}) ++ +optional langFortran (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2"; + sha256 = "0zk3j5r1cc5ahm0njxba1xfvv2h39d17aqakgg354pig4hpjkidc"; +}) ++ +optional langJava (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2"; + sha256 = "0ydk0qyhi1fdyz2xvj6m6l7cav4wg3962a1jxpf2j3nppm0p1dvp"; +}) ++ +[] diff --git a/pkgs/development/compilers/gcc-4.4/update-gcc.sh b/pkgs/development/compilers/gcc-4.4/update-gcc.sh new file mode 100755 index 00000000000..d4fff825f61 --- /dev/null +++ b/pkgs/development/compilers/gcc-4.4/update-gcc.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +if [ $# -ne 1 ] +then + echo "Usage: $(basename $0) VERSION" + echo + echo "Download and GPG-check component tarballs for GCC VERSION." + exit 1 +fi + +version="$1" + +set -e + +out="sources.nix" + +declare -A options + +options["core"]="/* langC */ true" +options["g++"]="langCC" +options["fortran"]="langFortran" +options["java"]="langJava" + +cat > "$out"<&1 | grep -E '^(hash|path) is')" + path="$(echo $path_and_hash | sed -e's/^.*path is \([^ ]\+\).*$/\1/g')" + hash="$(echo $path_and_hash | sed -e's/^.*hash is \([^ ]\+\).*$/\1/g')" + + rm -f "${url}.sig" + wget "${url}.sig" + gpg --verify "${file}.sig" "${path}" + rm "${file}.sig" + + cat >> "$out" <> "$out" <