diff options
Diffstat (limited to 'pkgs/development/compilers')
45 files changed, 764 insertions, 505 deletions
diff --git a/pkgs/development/compilers/Agda-executable/default.nix b/pkgs/development/compilers/Agda-executable/default.nix index 823a412459fc..f9acff43ef71 100644 --- a/pkgs/development/compilers/Agda-executable/default.nix +++ b/pkgs/development/compilers/Agda-executable/default.nix @@ -7,6 +7,7 @@ cabal.mkDerivation (self: { isLibrary = false; isExecutable = true; buildDepends = [ Agda ]; + jailbreak = true; meta = { homepage = "http://wiki.portal.chalmers.se/agda/"; description = "Command-line program for type-checking and compiling Agda programs"; diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix index 54628fa509d9..7678c066df28 100644 --- a/pkgs/development/compilers/ccl/default.nix +++ b/pkgs/development/compilers/ccl/default.nix @@ -5,13 +5,13 @@ let ]; in rec { - version = "1.4"; + version = "1.8"; name = "ccl-${version}"; /* There are also MacOS and FreeBSD and Windows versions */ src = a.fetchurl { url = "ftp://ftp.clozure.com/pub/release/${version}/${name}-linuxx86.tar.gz"; - sha256 = "1z4x4kxjj2ligb2vfrx5mjww20gdkxbvgw1ax5l9c8ha802bfyg8"; + sha256 = "1dgg6a8i2csa6xidsq66hbw7zx62gm2178hpkp88yyzgxylszp01"; }; inherit buildInputs; diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix index c08fc3ee5852..fb801b6b8440 100644 --- a/pkgs/development/compilers/ecl/default.nix +++ b/pkgs/development/compilers/ecl/default.nix @@ -3,16 +3,23 @@ , ...} @ x: builderDefsPackage (a : let - s = import ./src-for-default.nix; propagatedBuildInputs = with a; [ gmp mpfr ]; buildInputs = [ gmp libffi mpfr ]; in rec { - src = a.fetchUrlFromSrcInfo s; + mainVersion = "12.7"; + revision = "1"; + version = "${mainVersion}.${revision}"; + + name = "ecl-${version}"; + + src = a.fetchurl { + url = "mirror://sourceforge/project/ecls/ecls/${mainVersion}/${name}.tar.gz"; + sha256 = "0k8ww142g3bybvvnlijqsbidl8clbs1pb4ympk2ds07z5swvy2ap"; + }; - inherit (s) name; inherit buildInputs propagatedBuildInputs; configureFlags = [ "--enable-threads" diff --git a/pkgs/development/compilers/ecl/src-for-default.nix b/pkgs/development/compilers/ecl/src-for-default.nix deleted file mode 100644 index 1baaf4bbec45..000000000000 --- a/pkgs/development/compilers/ecl/src-for-default.nix +++ /dev/null @@ -1,7 +0,0 @@ -rec { - version="12.2.1"; - name="ecl-12.2.1"; - hash="dbb3f83c27f3d2565ca22c1c6b4ab497bbfdd0d0a7b09dee76338f378621f091"; - url="http://downloads.sourceforge.net/project/ecls/ecls/12.2/ecl-${version}.tgz"; - advertisedUrl="http://downloads.sourceforge.net/project/ecls/ecls/12.2/ecl-12.2.1.tgz"; -} diff --git a/pkgs/development/compilers/ecl/src-info-for-default.nix b/pkgs/development/compilers/ecl/src-info-for-default.nix deleted file mode 100644 index 1f5f3270f53a..000000000000 --- a/pkgs/development/compilers/ecl/src-info-for-default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - downloadPage = "http://sourceforge.net/projects/ecls/files/"; - baseName = "ecl"; - choiceCommand = "head -1 | sed -e 's@/download@@;'\"$skipRedirectSF\""; - sourceRegexp = ".*[.](tar.gz|tgz|tbz2|tar.bz2)"; -} diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix index 53517e853e94..9633967da6a9 100644 --- a/pkgs/development/compilers/edk2/default.nix +++ b/pkgs/development/compilers/edk2/default.nix @@ -14,8 +14,8 @@ edk2 = stdenv.mkDerivation { src = fetchsvn { url = https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2; - rev = "13094"; - sha256 = "1qfpal0y4sas204ydg3pg3634dm25q1vr94mpgmbdh6yqcviah3h"; + rev = "13783"; + sha256 = "18sx0nwcnghij7737xdnmgwk5vm0ax4p0v3ybggqqs8cdhzfghil"; }; buildInputs = [ libuuid pythonFull ]; diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix index 4278f2c664f6..e2a9fd128e98 100644 --- a/pkgs/development/compilers/fpc/lazarus.nix +++ b/pkgs/development/compilers/fpc/lazarus.nix @@ -1,9 +1,10 @@ args : with args; rec { - version = "0.9.30.4"; + version = "1.0.2"; + versionSuffix = "-0"; src = fetchurl { - url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20${version}/lazarus-${version}-src.tar.bz2"; - sha256 = "0kndg4xf32r6w5hb58d9qvzkyiphhysgnhs2rd9bmlc8sy8c7zmv"; + url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20${version}/lazarus-${version}${versionSuffix}.tar.gz"; + sha256 = "17a94wig8b4yrkq42wng4qbal7n77axkynwh78wday5whsp7div8"; }; buildInputs = [fpc gtk glib libXi inputproto diff --git a/pkgs/development/compilers/gcc/4.3/default.nix b/pkgs/development/compilers/gcc/4.3/default.nix index 57fc0f805c47..4b9fd616d849 100644 --- a/pkgs/development/compilers/gcc/4.3/default.nix +++ b/pkgs/development/compilers/gcc/4.3/default.nix @@ -80,7 +80,8 @@ stdenv.mkDerivation ({ ++ optional noSysDirs ./no-sys-dirs.patch ++ optional (noSysDirs && langFortran) ./no-sys-dirs-fortran.patch ++ optional langJava ./java-jvgenmain-link.patch - ++ optional langVhdl ./ghdl-ortho-cflags.patch; + ++ optional langVhdl ./ghdl-ortho-cflags.patch + ++ optional langVhdl ./ghdl-runtime-o2.patch; inherit noSysDirs profiledCompiler staticCompiler crossStageStatic binutilsCross libcCross; diff --git a/pkgs/development/compilers/gcc/4.3/ghdl-runtime-o2.patch b/pkgs/development/compilers/gcc/4.3/ghdl-runtime-o2.patch new file mode 100644 index 000000000000..ddc455143c02 --- /dev/null +++ b/pkgs/development/compilers/gcc/4.3/ghdl-runtime-o2.patch @@ -0,0 +1,13 @@ +diff --git a/gcc/vhdl/Makefile.in b/gcc/vhdl/Makefile.in +index b8d2ed0..0e8bd55 100644 +--- a/gcc/vhdl/Makefile.in ++++ b/gcc/vhdl/Makefile.in +@@ -682,7 +682,7 @@ install-ghdllib: ghdllib grt.lst $(STD93_SRCS) $(STD87_SRCS) \ + PDIR=`pwd` && cd $(DESTDIR)$(VHDL_LIB_DIR) && \ + $(MAKE) -f $$PDIR/Makefile REL_DIR=../../.. \ + LIBSRC_DIR="src" LIB93_DIR=lib/v93 LIB87_DIR=lib/v87 \ +- ANALYZE="$$PDIR/../ghdl -a --GHDL1=$$PDIR/../ghdl1 --ieee=none" \ ++ ANALYZE="$$PDIR/../ghdl -a --GHDL1=$$PDIR/../ghdl1 --ieee=none -Wc,-O2" \ + std.v93 std.v87 ieee.v93 ieee.v87 synopsys.v93 synopsys.v87 mentor.v93 + # Copy std_standard (this is done after libraries, since they remove dirs). + $(INSTALL_DATA) std87_standard.o \ diff --git a/pkgs/development/compilers/gcc/4.7/default.nix b/pkgs/development/compilers/gcc/4.7/default.nix index 02733d042033..0267c1def5d0 100644 --- a/pkgs/development/compilers/gcc/4.7/default.nix +++ b/pkgs/development/compilers/gcc/4.7/default.nix @@ -49,7 +49,7 @@ assert langGo -> langCC; with stdenv.lib; with builtins; -let version = "4.7.1"; +let version = "4.7.2"; # Whether building a cross-compiler for GNU/Hurd. crossGNU = cross != null && cross.config == "i586-pc-gnu"; @@ -60,8 +60,7 @@ let version = "4.7.1"; # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its # target libraries and tools. ++ optional langAda ./gnat-cflags.patch - ++ optional langFortran ./gfortran-driving.patch - ++ optional (stdenv.isGNU || crossGNU) ./hurd-sigrtmin.patch; + ++ optional langFortran ./gfortran-driving.patch; javaEcj = fetchurl { # The `$(top_srcdir)/ecj.jar' file is automatically picked up at @@ -164,7 +163,7 @@ stdenv.mkDerivation ({ src = fetchurl { url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2"; - sha256 = "0vs0v89zzgkngkw2p8kdynyk7j8ky4wf6zyrg3rsschpl1pky28n"; + sha256 = "115h03hil99ljig8lkrq4qk426awmzh0g99wrrggxf8g07bq74la"; }; inherit patches; @@ -206,8 +205,6 @@ stdenv.mkDerivation ({ echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc}/include'..." sed -i "${gnu_h}" \ -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc}/include"|g' - sed -i gcc/config/t-gnu \ - -es'|NATIVE_SYSTEM_HEADER_DIR.*$|NATIVE_SYSTEM_HEADER_DIR = ${libc}/include|g' '' else if cross != null || stdenv.gcc.libc != null then # On NixOS, use the right path to the dynamic linker instead of @@ -308,7 +305,6 @@ stdenv.mkDerivation ({ else "install"; crossAttrs = { - patches = patches ++ [ ./hurd-sigrtmin.patch ]; AR = "${stdenv.cross.config}-ar"; LD = "${stdenv.cross.config}-ld"; CC = "${stdenv.cross.config}-gcc"; diff --git a/pkgs/development/compilers/gcc/4.7/hurd-sigrtmin.patch b/pkgs/development/compilers/gcc/4.7/hurd-sigrtmin.patch deleted file mode 100644 index dc8236d2b99f..000000000000 --- a/pkgs/development/compilers/gcc/4.7/hurd-sigrtmin.patch +++ /dev/null @@ -1,14 +0,0 @@ -GNU libc on GNU/Hurd doesn't define `__SIGRTMIN'. -From <http://patch-tracker.debian.org/patch/series/view/gcc-4.6/4.6.3-1/hurd-fixes.diff>. - ---- a/libgcc/generic-morestack.c 2011-12-19 21:14:52.000000000 +0100 -+++ b/libgcc/generic-morestack.c 2011-12-19 21:15:35.000000000 +0100 -@@ -507,7 +507,7 @@ - sigemptyset (&__morestack_initial_sp.mask); - - sigfillset (&__morestack_fullmask); --#ifdef __GLIBC__ -+#if defined(__GLIBC__) && defined(__SIGRTMIN) - /* In glibc, the first two real time signals are used by the NPTL - threading library. By taking them out of the set of signals, we - avoiding copying the signal mask in pthread_sigmask. More diff --git a/pkgs/development/compilers/ghc/6.10.1-binary.nix b/pkgs/development/compilers/ghc/6.10.1-binary.nix index 5a15cc0dff7e..353a4176ea46 100644 --- a/pkgs/development/compilers/ghc/6.10.1-binary.nix +++ b/pkgs/development/compilers/ghc/6.10.1-binary.nix @@ -1,11 +1,5 @@ {stdenv, fetchurl, perl, libedit, ncurses, gmp}: -let - supportedPlatforms = ["i686-darwin" "x86_64-linux" "i686-linux"]; -in - -assert stdenv.lib.elem stdenv.system supportedPlatforms; - stdenv.mkDerivation rec { version = "6.10.1"; @@ -104,5 +98,5 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; - meta.platforms = supportedPlatforms; + meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"]; } diff --git a/pkgs/development/compilers/ghc/6.10.2-binary.nix b/pkgs/development/compilers/ghc/6.10.2-binary.nix index 616c9de7edeb..02f1db354a1e 100644 --- a/pkgs/development/compilers/ghc/6.10.2-binary.nix +++ b/pkgs/development/compilers/ghc/6.10.2-binary.nix @@ -1,11 +1,5 @@ {stdenv, fetchurl, perl, libedit, ncurses, gmp}: -let - supportedPlatforms = ["x86_64-linux" "i686-linux"]; -in - -assert stdenv.lib.elem stdenv.system supportedPlatforms; - stdenv.mkDerivation rec { version = "6.10.2"; @@ -103,5 +97,5 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; - meta.platforms = supportedPlatforms; + meta.platforms = ["x86_64-linux" "i686-linux"]; } diff --git a/pkgs/development/compilers/ghc/6.12.1-binary.nix b/pkgs/development/compilers/ghc/6.12.1-binary.nix index a84b75d705b1..23486b5f4fa5 100644 --- a/pkgs/development/compilers/ghc/6.12.1-binary.nix +++ b/pkgs/development/compilers/ghc/6.12.1-binary.nix @@ -1,11 +1,5 @@ {stdenv, fetchurl, perl, ncurses, gmp}: -let - supportedPlatforms = ["x86_64-linux" "i686-linux"]; -in - -assert stdenv.lib.elem stdenv.system supportedPlatforms; - stdenv.mkDerivation rec { version = "6.12.1"; @@ -105,5 +99,5 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; - meta.platforms = supportedPlatforms; + meta.platforms = ["x86_64-linux" "i686-linux"]; } diff --git a/pkgs/development/compilers/ghc/6.4.2-binary.nix b/pkgs/development/compilers/ghc/6.4.2-binary.nix index 2ed6f2be4fe4..1a5bf059e9f5 100644 --- a/pkgs/development/compilers/ghc/6.4.2-binary.nix +++ b/pkgs/development/compilers/ghc/6.4.2-binary.nix @@ -1,11 +1,5 @@ {stdenv, fetchurl, perl, readline, ncurses, gmp}: -let - supportedPlatforms = ["i686-darwin" "x86_64-linux" "i686-linux"]; -in - -assert stdenv.lib.elem stdenv.system supportedPlatforms; - stdenv.mkDerivation { name = if stdenv.system == "i686-darwin" then "ghc-6.6.1-binary" else "ghc-6.4.2-binary"; @@ -68,5 +62,5 @@ stdenv.mkDerivation { '' else ""; - meta.platforms = supportedPlatforms; + meta.platforms = ["i686-darwin" "x86_64-linux" "i686-linux"]; } diff --git a/pkgs/development/compilers/ghc/7.0.4-binary.nix b/pkgs/development/compilers/ghc/7.0.4-binary.nix index 0baf9718f85e..0bfc81a17a4e 100644 --- a/pkgs/development/compilers/ghc/7.0.4-binary.nix +++ b/pkgs/development/compilers/ghc/7.0.4-binary.nix @@ -1,11 +1,5 @@ {stdenv, fetchurl, perl, ncurses, gmp}: -let - supportedPlatforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"]; -in - -assert stdenv.lib.elem stdenv.system supportedPlatforms; - stdenv.mkDerivation rec { version = "7.0.4"; @@ -93,5 +87,5 @@ stdenv.mkDerivation rec { [ $(./main) == "yes" ] ''; - meta.platforms = supportedPlatforms; + meta.platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"]; } diff --git a/pkgs/development/compilers/ghc/7.4.2-binary.nix b/pkgs/development/compilers/ghc/7.4.2-binary.nix new file mode 100644 index 000000000000..e0a8fee4b660 --- /dev/null +++ b/pkgs/development/compilers/ghc/7.4.2-binary.nix @@ -0,0 +1,91 @@ +{stdenv, fetchurl, perl, ncurses, gmp}: + +stdenv.mkDerivation rec { + version = "7.4.2"; + + name = "ghc-${version}-binary"; + + src = + if stdenv.system == "i686-linux" then + fetchurl { + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2"; + sha256 = "0gny7knhss0w0d9r6jm1gghrcb8kqjvj94bb7hxf9syrk4fxlcxi"; + } + else if stdenv.system == "x86_64-linux" then + fetchurl { + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2"; + sha256 = "043jabd0lh6n1zlqhysngbpvlsdznsa2mmsj08jyqgahw9sjb5ns"; + } + else if stdenv.system == "i686-darwin" then + fetchurl { + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-apple-darwin.tar.bz2"; + sha256 = "1vrbs3pzki37hzym1f1nh07lrqh066z3ypvm81fwlikfsvk4djc0"; + } + else if stdenv.system == "x86_64-darwin" then + fetchurl { + url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.bz2"; + sha256 = "1imzqc0slpg0r6p40n5a9m18cbcm0m86z8dgyhfxcckksw54mzwf"; + } + else throw "cannot bootstrap GHC on this platform"; + + buildInputs = [perl]; + + postUnpack = + # Strip is harmful, see also below. It's important that this happens + # first. The GHC Cabal build system makes use of strip by default and + # has hardcoded paths to /usr/bin/strip in many places. We replace + # those below, making them point to our dummy script. + '' + mkdir "$TMP/bin" + for i in strip; do + echo '#!/bin/sh' >> "$TMP/bin/$i" + chmod +x "$TMP/bin/$i" + PATH="$TMP/bin:$PATH" + done + '' + + # We have to patch the GMP paths for the integer-gmp package. + '' + find . -name integer-gmp.buildinfo \ + -exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \; + '' + + # On Linux, use patchelf to modify the executables so that they can + # find editline/gmp. + (if stdenv.isLinux then '' + find . -type f -perm +100 \ + -exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath "${ncurses}/lib:${gmp}/lib" {} \; + sed -i "s|/usr/bin/perl|perl\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 + sed -i "s|/usr/bin/gcc|gcc\x00 |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2 + for prog in ld ar gcc strip ranlib; do + find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \; + done + '' else ""); + + configurePhase = '' + ./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include + ''; + + # Stripping combined with patchelf breaks the executables (they die + # with a segfault or the kernel even refuses the execve). (NIXPKGS-85) + dontStrip = true; + + # No building is necessary, but calling make without flags ironically + # calls install-strip ... + buildPhase = "true"; + + postInstall = + '' + # Sanity check, can ghc create executables? + cd $TMP + mkdir test-ghc; cd test-ghc + cat > main.hs << EOF + module Main where + main = putStrLn "yes" + EOF + $out/bin/ghc --make main.hs + echo compilation ok + [ $(./main) == "yes" ] + ''; + + meta.platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"]; +} diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix index 566e7d80f865..67f2b4f5c7e2 100644 --- a/pkgs/development/compilers/ghc/head.nix +++ b/pkgs/development/compilers/ghc/head.nix @@ -1,13 +1,12 @@ { stdenv, fetchurl, ghc, perl, gmp, ncurses }: stdenv.mkDerivation rec { - version = "7.5.20120714"; - + version = "7.7.20121106"; name = "ghc-${version}"; src = fetchurl { url = "http://haskell.org/ghc/dist/current/dist/${name}-src.tar.bz2"; - sha256 = "02jicyqqr18yixf970f1rfrn64bm528aig6s9566galji063p6ah"; + sha256 = "1n3xj8arkzfvs3q1ymxsnbzs23ndsp8pl67sqirl837pkgcmq263"; }; buildInputs = [ ghc perl gmp ncurses ]; @@ -17,6 +16,7 @@ stdenv.mkDerivation rec { buildMK = '' libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" + DYNAMIC_BY_DEFAULT = NO ''; preConfigure = '' diff --git a/pkgs/development/compilers/ghc/with-packages.nix b/pkgs/development/compilers/ghc/with-packages.nix index 9313c54b9080..f4f567f30b39 100644 --- a/pkgs/development/compilers/ghc/with-packages.nix +++ b/pkgs/development/compilers/ghc/with-packages.nix @@ -59,6 +59,11 @@ stdenv.mkDerivation rec { ln -s $f $out/bin echo -n . done + for f in "$currentPath/etc/bash_completion.d/"*; do + mkdir -p $out/etc/bash_completion.d + ln -s $f $out/etc/bash_completion.d/ + echo -n . + done for f in "$currentPkgDir/"*.conf; do ln -s $f $linkedPkgDir echo -n . diff --git a/pkgs/development/compilers/ghc/wrapper.nix b/pkgs/development/compilers/ghc/wrapper.nix index 4407f16c9e02..bc28fdc91319 100644 --- a/pkgs/development/compilers/ghc/wrapper.nix +++ b/pkgs/development/compilers/ghc/wrapper.nix @@ -1,6 +1,10 @@ -{stdenv, ghc, makeWrapper, coreutils}: +{ stdenv, ghc, makeWrapper, coreutils }: -stdenv.mkDerivation { +let + ghc761OrLater = !stdenv.lib.versionOlder ghc.version "7.6.1"; + packageDBFlag = if ghc761OrLater then "-package-db" else "-package-conf"; +in +stdenv.mkDerivation ({ name = "ghc-${ghc.version}-wrapper"; buildInputs = [makeWrapper]; @@ -15,10 +19,10 @@ stdenv.mkDerivation { makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\")" done for prg in runghc runhaskell; do - makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\" \" -package-conf --ghc-arg=\")" + makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\" \" ${packageDBFlag} --ghc-arg=\")" done for prg in ghc-pkg ghc-pkg-${ghc.version}; do - makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\" --package-conf=)" + makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\" -${packageDBFlag}=)" done for prg in hp2ps hpc hasktags hsc2hs; do test -x $ghc/bin/$prg && ln -s $ghc/bin/$prg $out/bin/$prg @@ -29,7 +33,7 @@ stdenv.mkDerivation { for arg in \$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\"); do case "\$arg" in - -package-conf) ;; + ${packageDBFlag}) ;; *) CANONICALIZED="\$(${stdenv.lib.optionalString stdenv.isDarwin "${coreutils}/bin/"}readlink -f "\$arg")" GHC_PACKAGES_HASH["\$CANONICALIZED"]= ;; @@ -50,4 +54,4 @@ stdenv.mkDerivation { inherit ghc; inherit (ghc) meta; ghcVersion = ghc.version; -} +} // (stdenv.lib.optionalAttrs ghc761OrLater { preFixup = "sed -i -e 's|-package-conf|${packageDBFlag}|' $out/bin/ghc-get-packages.sh"; })) diff --git a/pkgs/development/compilers/go/default.nix b/pkgs/development/compilers/go/default.nix index 1d9765539bfc..60ea7981931d 100644 --- a/pkgs/development/compilers/go/default.nix +++ b/pkgs/development/compilers/go/default.nix @@ -7,11 +7,11 @@ let in stdenv.mkDerivation { - name = "go-1.0.2"; + name = "go-1.0.3"; src = fetchurl { - url = http://go.googlecode.com/files/go1.0.2.src.tar.gz; - sha256 = "1a4mpkb3bd9dwp0r3fgrfcyk5lgw0f0cfrbskg2lrhc7a12zpz3h"; + url = http://go.googlecode.com/files/go1.0.3.src.tar.gz; + sha256 = "1pz31az3icwqfqfy3avms05jnqr0qrbrx9yqsclkdwbjs4rkbfkz"; }; buildInputs = [ bison glibc bash makeWrapper ]; diff --git a/pkgs/development/compilers/gprolog/default.nix b/pkgs/development/compilers/gprolog/default.nix index f7a64da73096..bbc273365b98 100644 --- a/pkgs/development/compilers/gprolog/default.nix +++ b/pkgs/development/compilers/gprolog/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "gprolog-1.4.0"; + name = "gprolog-1.4.1"; src = fetchurl { urls = [ "mirror://gnu/gprolog/${name}.tar.gz" "http://www.gprolog.org/${name}.tar.gz" ]; - sha256 = "1l66k66ryfw1nfi2wlvsyq4cmr6mm95f4iay1fxdk3hdk3fjyjl0"; + sha256 = "e2819ed9c426138d3191e4d97ae5121cf97e132eecf102400f87f1e372a05b72"; }; configurePhase = "cd src ;" @@ -17,16 +17,17 @@ stdenv.mkDerivation rec { + "--with-examples-dir=$out/share/doc/${name}/examples " + "--with-doc-dir=$out/share/doc/${name}"; - doCheck = true; - postInstall = '' ln -vs "$out/share/${name}/include" "$out/include" + ln -vs "$out/share/${name}/lib" "$out/lib" ''; - meta = { - homepage = http://www.gnu.org/software/gprolog/; + doCheck = true; + meta = { + homepage = "http://www.gnu.org/software/gprolog/"; description = "GNU Prolog, a free Prolog compiler with constraint solving over finite domains"; + license = "GPLv2+"; longDescription = '' GNU Prolog is a free Prolog compiler with constraint solving @@ -52,8 +53,6 @@ stdenv.mkDerivation rec { declarativity of logic programming. ''; - license = "GPLv2+"; - maintainers = [ stdenv.lib.maintainers.simons ]; platforms = stdenv.lib.platforms.gnu; }; diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix index 8018b478e809..817e4573df24 100644 --- a/pkgs/development/compilers/haxe/default.nix +++ b/pkgs/development/compilers/haxe/default.nix @@ -1,141 +1,37 @@ -args: with args; +{ stdenv, fetchsvn, ocaml, zlib, neko }: -let +stdenv.mkDerivation { + name = "haxe-2.10"; - src_haxe_swflib = { - # REGION AUTO UPDATE: { name = "haxe_swflib"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/swflib"; groups = "haxe_group"; } - src = sourceFromHead "haxe_swflib-F_10-43-46.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_swflib-F_10-43-46.tar.gz"; sha256 = "a63de75e48bf500ef0e8ef715d178d32f0ef113ded8c21bbca698a8cc70e7b58"; }); - # END - }.src; + buildInputs = [ocaml zlib neko]; - src_haxe_extc = { - # REGION AUTO UPDATE: { name = "haxe_extc"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extc"; groups = "haxe_group"; } - src = sourceFromHead "haxe_extc-F_10-43-47.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extc-F_10-43-47.tar.gz"; sha256 = "d0a9980527d62ac6cfe27925ddb0964d334ec382f813fdfb8bd6c59fbbede730"; }); - # END - }.src; - - src_haxe_extlib_dev = { - # REGION AUTO UPDATE: { name = "haxe_extlib_dev"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extlib-dev"; groups = "haxe_group"; } - src = sourceFromHead "haxe_extlib_dev-F_10-43-48.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extlib_dev-F_10-43-48.tar.gz"; sha256 = "6b9037230e2615dd5e22f4e7f4165c84f2816bc526957683afc945394fcdf67e"; }); - # END - }.src; - - src_haxe_xml_light = { - # REGION AUTO UPDATE: { name = "haxe_xml_light"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/xml-light"; groups = "haxe_group"; } - src = sourceFromHead "haxe_xml_light-F_10-43-48.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_xml_light-F_10-43-48.tar.gz"; sha256 = "be29d9e22ad0dbcb3d447cbbc14907aff5f89bb562b8db369659d299f3a5b44f"; }); - # END - }.src; - - src_haxe_neko_include = { - # REGION AUTO UPDATE: { name = "haxe_neko_include"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko/libs/include/ocaml"; groups = "haxe_group"; } - src = sourceFromHead "haxe_neko_include-F_10-43-49.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_neko_include-F_10-43-49.tar.gz"; sha256 = "e49efc1b348fa6e0f6fb40079a2d380b947d9ebda31843bc293f3cc77f8453db"; }); - # END - }.src; - - src_haxe = { - # REGION AUTO UPDATE: { name="haxe-read-only"; type="svn"; url="http://haxe.googlecode.com/svn/trunk"; groups = "haxe_group"; } - src = sourceFromHead "haxe-read-only-3220.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe-read-only-3220.tar.gz"; sha256 = "2b6702dca95d0829e539cea07b8224e3848e584a425ce8f8e0984a7a2bf7b1f8"; }); - # END - }.src; - - - # the HaXe compiler - haxe = stdenv.mkDerivation { - name = "haxe-cvs"; - - buildInputs = [ocaml zlib makeWrapper]; - - src = src_haxe; - - inherit zlib; - - buildPhase = '' - set -x - mkdir -p ocaml/{swflib,extc,extlib-dev,xml-light} neko/libs - - # strange setup. install.ml seems to co the same repo again into haxe directory! - mkdir haxe - tar xfz $src --strip-components=1 -C haxe - - t(){ tar xfz $1 -C $2 --strip-components=2; } - t ${src_haxe_swflib} ocaml/swflib - t ${src_haxe_extc} ocaml/extc - t ${src_haxe_extlib_dev} ocaml/extlib-dev - t ${src_haxe_xml_light} ocaml/xml-light - t ${src_haxe_neko_include} neko/libs - - sed -e '/download();/d' \ - -e "s@/usr/lib/@''${zlib}/lib/@g" \ - doc/install.ml > install.ml - - ocaml install.ml - ''; - - # probably rpath should be set properly - installPhase = '' - mkdir -p $out/lib/haxe - cp -r bin $out/bin - wrapProgram "$out/bin/haxe" \ - --set "LD_LIBRARY_PATH" $zlib/lib \ - --set HAXE_LIBRARY_PATH "''${HAXE_LIBRARY_PATH}''${HAXE_LIBRARY_PATH:-:}:$out/lib/haxe/std:." - cp -r std $out/lib/haxe/ - ''; - - meta = { - description = "programming language targeting JavaScript, Flash, NekVM, PHP, C++"; - homepage = http://haxe.org; - license = ["GPLv2" "BSD2" /*?*/ ]; # -> docs/license.txt - maintainers = [args.lib.maintainers.marcweber]; - platforms = args.lib.platforms.linux; - }; - }; - - # build a tool found in std/tools/${name} source directory - # the .hxml files contain a recipe to cerate a binary. - tool = { name, description }: stdenv.mkDerivation { - - inherit name; - - src = src_haxe; - - buildPhase = '' - cd std/tools/${name}; - haxe *.hxml - mkdir -p $out/bin - mv ${name} $out/bin/ - ''; - - buildInputs = [haxe neko]; - - dontStrip=1; - - installPhase=":"; - - meta = { - inherit description; - homepage = http://haxe.org; - # license = "?"; TODO - maintainers = [args.lib.maintainers.marcweber]; - platforms = args.lib.platforms.linux; - }; - - }; - -in - -{ - - inherit haxe; - - haxelib = tool { - name = "haxelib"; - description = "haxelib is a HaXe library management tool similar to easyinstall or ruby gems"; + src = fetchsvn { + url = "http://haxe.googlecode.com/svn/tags/v2-10"; + sha256 = "dbd3c655e4136eb68a165ef83b96bfc1f0f2eb9ec8729603b19bcd717a61a679"; }; + prePatch = '' + sed -i -e 's|com.class_path <- \[|&"'"$out/lib/haxe/std/"'";|' main.ml + ''; + + postBuild = '' + find std/tools -name '*.n' -delete + rm std/tools/haxedoc/haxedoc std/tools/haxelib/haxelib + ''; + + installPhase = '' + install -vd "$out/bin" "$out/lib/haxe/std" + install -vt "$out/bin" haxe haxelib haxedoc + cp -vr std "$out/lib/haxe" + ''; + + dontStrip = true; + + meta = { + description = "Programming language targeting JavaScript, Flash, NekoVM, PHP, C++"; + homepage = http://haxe.org; + license = ["GPLv2" "BSD2" /*?*/ ]; # -> docs/license.txt + maintainers = [stdenv.lib.maintainers.marcweber]; + platforms = stdenv.lib.platforms.linux; + }; } diff --git a/pkgs/development/compilers/idris/default.nix b/pkgs/development/compilers/idris/default.nix index fe9ce209191e..dbd35d9e9482 100644 --- a/pkgs/development/compilers/idris/default.nix +++ b/pkgs/development/compilers/idris/default.nix @@ -1,15 +1,15 @@ -{ cabal, binary, Cabal, epic, filepath, happy, haskeline, mtl -, parsec, transformers +{ cabal, binary, Cabal, filepath, happy, haskeline, mtl, parsec +, transformers }: cabal.mkDerivation (self: { pname = "idris"; - version = "0.9.2.1"; - sha256 = "16jbmyza57066s3wmkvgwn11kqn0nzkjrrvsinh9xd69a79h2iiy"; + version = "0.9.5.1"; + sha256 = "0cy27b2kq696lw354y55mpx1gv66jdax1xjph989kxp0rd1v1sw9"; isLibrary = false; isExecutable = true; buildDepends = [ - binary Cabal epic filepath haskeline mtl parsec transformers + binary Cabal filepath haskeline mtl parsec transformers ]; buildTools = [ happy ]; meta = { diff --git a/pkgs/development/compilers/jhc/default.nix b/pkgs/development/compilers/jhc/default.nix new file mode 100644 index 000000000000..4b4d85df8907 --- /dev/null +++ b/pkgs/development/compilers/jhc/default.nix @@ -0,0 +1,29 @@ +{ + stdenv, fetchurl, perl, ghc, binary, zlib, utf8String, readline, fgl, + regexCompat, HsSyck, random +}: + +stdenv.mkDerivation rec { + + name = "jhc-${version}"; + + version = "0.8.0"; + + src = fetchurl { + url = "http://repetae.net/dist/${name}.tar.gz"; + sha256 = "0rbv0gpp7glhd9xqy7snbiaiizwnsfg9vzhvyywcvbmb35yivy2a"; + }; + + buildInputs = [ + perl ghc binary zlib utf8String readline fgl regexCompat HsSyck random + ]; + + meta = { + description = '' + A Haskell compiler which aims to produce the most efficient programs + ''; + license = stdenv.lib.licenses.gpl2; + maintainers = [ stdenv.lib.maintainers.aforemny ]; + }; + +} diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix index c1b607b725b8..4fd31d573cef 100644 --- a/pkgs/development/compilers/julia/default.nix +++ b/pkgs/development/compilers/julia/default.nix @@ -7,11 +7,11 @@ let in stdenv.mkDerivation rec { pname = "julia"; - date = "20120904"; + date = "20121106"; name = "${pname}-git-${date}"; grisu_ver = "1.1.1"; - dsfmt_ver = "2.1"; + dsfmt_ver = "2.2"; openblas_ver = "v0.2.2"; lapack_ver = "3.4.1"; arpack_ver = "3.1.2"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { dsfmt_src = fetchurl { url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmt_ver}.tar.gz"; name = "dsfmt-${dsfmt_ver}.tar.gz"; - sha256 = "e9d3e04bc984ec3b14033342f5ebdcd5202d8d8e40128dd737f566945612378f"; + sha256 = "bc3947a9b2253a869fcbab8ff395416cb12958be9dba10793db2cd7e37b26899"; }; openblas_src = fetchurl { url = "https://github.com/xianyi/OpenBLAS/tarball/${openblas_ver}"; @@ -54,8 +54,8 @@ stdenv.mkDerivation rec { src = fetchgit { url = "git://github.com/JuliaLang/julia.git"; - rev = "b842bf4ae4d80f28803ec54f3da412a0248046a9"; - sha256 = "4d67f4f4d35c76ea8981198e42feb1c30a50ac7e1e15b752fa41b26ebadcd828"; + rev = "8f4d073881beb42c9f272b9327efa0a5715bd31c"; + sha256 = "2df2ba800bd4fd9b0297a0b8cff53174a7c05ffbc889a7df5830a014fed8c433"; }; buildInputs = [ gfortran perl m4 gmp pcre llvm readline zlib @@ -92,14 +92,14 @@ stdenv.mkDerivation rec { sed -e "s@/usr/local/lib@$out/lib@g" -i deps/Makefile sed -e "s@/usr/lib@$out/lib@g" -i deps/Makefile - export makeFlags="$makeFlags PREFIX=$out" + export makeFlags="$makeFlags PREFIX=$out SHELL=${stdenv.shell}" export dontPatchELF=1 ''; preBuild = '' - make -C test/unicode all - make -C extras glpk_h.jl GLPK_PREFIX="$GLPK_PREFIX" + make -C test/unicode all SHELL="${stdenv.shell}" + make -C extras glpk_h.jl GLPK_PREFIX="$GLPK_PREFIX" SHELL="${stdenv.shell}" ''; postInstall = '' diff --git a/pkgs/development/compilers/llvm/3.1.nix b/pkgs/development/compilers/llvm/3.1.nix deleted file mode 100644 index 204c080b871a..000000000000 --- a/pkgs/development/compilers/llvm/3.1.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ stdenv, fetchurl, perl, groff, cmake, python }: - -let version = "3.1"; in - -stdenv.mkDerivation { - name = "llvm-${version}"; - - src = fetchurl { - url = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz"; - sha256 = "1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab"; - }; - - buildInputs = [ perl groff cmake python ]; - - cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]; - - enableParallelBuilding = true; - - meta = { - homepage = http://llvm.org/; - description = "Collection of modular and reusable compiler and toolchain technologies"; - license = "BSD"; - maintainers = with stdenv.lib.maintainers; [viric shlevy raskin]; - platforms = with stdenv.lib.platforms; all; - }; -} - diff --git a/pkgs/development/compilers/llvm/clang-include-paths.patch b/pkgs/development/compilers/llvm/clang-include-paths.patch index 828c554175e5..5e7370718ab4 100644 --- a/pkgs/development/compilers/llvm/clang-include-paths.patch +++ b/pkgs/development/compilers/llvm/clang-include-paths.patch @@ -1,49 +1,21 @@ -diff -Naur clang-3.0.src-orig/lib/Driver/ToolChains.cpp clang-3.0.src/lib/Driver/ToolChains.cpp ---- clang-3.0.src-orig/lib/Driver/ToolChains.cpp 2011-11-17 02:40:32.000000000 -0500 -+++ clang-3.0.src/lib/Driver/ToolChains.cpp 2011-12-19 06:29:27.562428830 -0500 -@@ -1926,14 +1926,17 @@ +diff -Naur clang-3.1.src-orig/lib/Driver/ToolChains.cpp clang-3.1.src/lib/Driver/ToolChains.cpp +--- clang-3.1.src-orig/lib/Driver/ToolChains.cpp 2012-05-11 20:16:02.000000000 -0400 ++++ clang-3.1.src/lib/Driver/ToolChains.cpp 2012-10-08 01:13:01.044083509 -0400 +@@ -2146,9 +2146,6 @@ if (DriverArgs.hasArg(options::OPT_nostdinc)) return; -+#if 0 - if (!DriverArgs.hasArg(options::OPT_nostdlibinc)) - addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/local/include"); - -+#endif +- if (!DriverArgs.hasArg(options::OPT_nostdlibinc)) +- addSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/local/include"); +- if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) { llvm::sys::Path P(D.ResourceDir); P.appendComponent("include"); - addSystemInclude(DriverArgs, CC1Args, P.str()); - } -+#if 0 - - if (DriverArgs.hasArg(options::OPT_nostdlibinc)) - return; -@@ -1998,6 +2001,8 @@ +@@ -2264,6 +2261,7 @@ return; - addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + "/usr/include"); -+#endif -+ addExternCSystemInclude(DriverArgs, CC1Args, D.SysRoot + C_INCLUDE_PATH); - } - - static bool addLibStdCXXIncludePaths(Twine Base, Twine TargetArchDir, -@@ -2030,6 +2035,7 @@ - bool IsTarget64Bit = (TargetArch == llvm::Triple::x86_64 || - TargetArch == llvm::Triple::ppc64); - -+#if 0 - StringRef CxxIncludeRoot(CXX_INCLUDE_ROOT); - if (!CxxIncludeRoot.empty()) { - StringRef CxxIncludeArch(CXX_INCLUDE_ARCH); -@@ -2072,6 +2078,10 @@ - GCCInstallation.getTriple() + Suffix, - DriverArgs, CC1Args); - } -+#endif -+ addLibStdCXXIncludePaths(CPP_INCLUDE_PATH, -+ CPP_HOST, -+ DriverArgs, CC1Args); - } - - /// DragonFly - DragonFly tool chain which can call as(1) and ld(1) directly. + // Check if libc++ has been enabled and provide its include paths if so. ++ // !!! Will need to modify this if/when nixpkgs uses libc++ + if (GetCXXStdlibType(DriverArgs) == ToolChain::CST_Libcxx) { + // libc++ is always installed at a fixed path on Linux currently. + addSystemInclude(DriverArgs, CC1Args, diff --git a/pkgs/development/compilers/llvm/clang-ld-flags.patch b/pkgs/development/compilers/llvm/clang-ld-flags.patch index 62b8bc763f9f..ffa67b464eca 100644 --- a/pkgs/development/compilers/llvm/clang-ld-flags.patch +++ b/pkgs/development/compilers/llvm/clang-ld-flags.patch @@ -1,38 +1,57 @@ -diff -Naur clang-3.0.src-orig/lib/Driver/ToolChains.cpp clang-3.0.src/lib/Driver/ToolChains.cpp ---- clang-3.0.src-orig/lib/Driver/ToolChains.cpp 2011-11-17 02:40:32.000000000 -0500 -+++ clang-3.0.src/lib/Driver/ToolChains.cpp 2011-12-19 05:32:38.695513475 -0500 -@@ -1800,6 +1800,7 @@ - - Linker = GetProgramPath("ld"); - -+#if 0 - LinuxDistro Distro = DetectLinuxDistro(Arch); +diff -Naur clang-3.1.src-orig/lib/Driver/ToolChains.cpp clang-3.1.src/lib/Driver/ToolChains.cpp +--- clang-3.1.src-orig/lib/Driver/ToolChains.cpp 2012-05-11 20:16:02.000000000 -0400 ++++ clang-3.1.src/lib/Driver/ToolChains.cpp 2012-10-08 01:22:53.458850737 -0400 +@@ -2077,16 +2077,6 @@ + addPathIfExists(LibPath + "/../" + Multilib, Paths); + } + } +- addPathIfExists(SysRoot + "/lib/" + MultiarchTriple, Paths); +- addPathIfExists(SysRoot + "/lib/../" + Multilib, Paths); +- addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths); +- addPathIfExists(SysRoot + "/usr/lib/../" + Multilib, Paths); +- +- // Try walking via the GCC triple path in case of multiarch GCC +- // installations with strange symlinks. +- if (GCCInstallation.isValid()) +- addPathIfExists(SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() + +- "/../../" + Multilib, Paths); - if (IsOpenSuse(Distro) || IsUbuntu(Distro)) { -@@ -1882,6 +1883,7 @@ - addPathIfExists(SysRoot + "/lib", Paths); - addPathIfExists(SysRoot + "/usr/lib/" + MultiarchTriple, Paths); - addPathIfExists(SysRoot + "/usr/lib", Paths); -+#endif + // Add the non-multilib suffixed paths (if potentially different). + if (GCCInstallation.isValid()) { +@@ -2100,8 +2090,6 @@ + addPathIfExists(LibPath, Paths); + } + } +- addPathIfExists(SysRoot + "/lib", Paths); +- addPathIfExists(SysRoot + "/usr/lib", Paths); } bool Linux::HasNativeLLVMSupport() const { -diff -Naur clang-3.0.src-orig/lib/Driver/Tools.cpp clang-3.0.src/lib/Driver/Tools.cpp ---- clang-3.0.src-orig/lib/Driver/Tools.cpp 2011-11-07 05:27:39.000000000 -0500 -+++ clang-3.0.src/lib/Driver/Tools.cpp 2011-12-19 05:34:44.075325534 -0500 -@@ -4306,6 +4306,7 @@ +diff -Naur clang-3.1.src-orig/lib/Driver/Tools.cpp clang-3.1.src/lib/Driver/Tools.cpp +--- clang-3.1.src-orig/lib/Driver/Tools.cpp 2012-04-18 17:32:25.000000000 -0400 ++++ clang-3.1.src/lib/Driver/Tools.cpp 2012-10-08 01:25:23.913501995 -0400 +@@ -5210,24 +5210,6 @@ ToolChain.getArch() == llvm::Triple::thumb || (!Args.hasArg(options::OPT_static) && !Args.hasArg(options::OPT_shared))) { -+#if 0 - CmdArgs.push_back("-dynamic-linker"); - if (ToolChain.getArch() == llvm::Triple::x86) - CmdArgs.push_back("/lib/ld-linux.so.2"); -@@ -4318,6 +4319,7 @@ - CmdArgs.push_back("/lib64/ld64.so.1"); - else - CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2"); -+#endif +- CmdArgs.push_back("-dynamic-linker"); +- if (ToolChain.getArch() == llvm::Triple::x86) +- CmdArgs.push_back("/lib/ld-linux.so.2"); +- else if (ToolChain.getArch() == llvm::Triple::arm || +- ToolChain.getArch() == llvm::Triple::thumb) +- CmdArgs.push_back("/lib/ld-linux.so.3"); +- else if (ToolChain.getArch() == llvm::Triple::mips || +- ToolChain.getArch() == llvm::Triple::mipsel) +- CmdArgs.push_back("/lib/ld.so.1"); +- else if (ToolChain.getArch() == llvm::Triple::mips64 || +- ToolChain.getArch() == llvm::Triple::mips64el) +- CmdArgs.push_back("/lib64/ld.so.1"); +- else if (ToolChain.getArch() == llvm::Triple::ppc) +- CmdArgs.push_back("/lib/ld.so.1"); +- else if (ToolChain.getArch() == llvm::Triple::ppc64) +- CmdArgs.push_back("/lib64/ld64.so.1"); +- else +- CmdArgs.push_back("/lib64/ld-linux-x86-64.so.2"); } CmdArgs.push_back("-o"); diff --git a/pkgs/development/compilers/llvm/clang.nix b/pkgs/development/compilers/llvm/clang.nix index 663e1bfab28b..48e4c4946f30 100644 --- a/pkgs/development/compilers/llvm/clang.nix +++ b/pkgs/development/compilers/llvm/clang.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, perl, groff, llvm, cmake }: -let version = "3.0"; in +let version = "3.1"; in stdenv.mkDerivation { name = "clang-${version}"; @@ -10,20 +10,19 @@ stdenv.mkDerivation { patches = stdenv.lib.optionals (stdenv.gcc.libc != null) [ ./clang-include-paths.patch ./clang-ld-flags.patch ]; - postPatch = stdenv.lib.optionalString (stdenv.gcc.libc != null) '' - sed -i -e 's,C_INCLUDE_PATH,"${stdenv.gcc.libc}/include/",' \ - -e 's,CPP_HOST,"'$(${stdenv.gcc}/bin/cc -dumpmachine)'",' \ - -e 's,CPP_INCLUDE_PATH,"${stdenv.gcc.gcc}/include/c++/${stdenv.gcc.gcc.version}",' \ - lib/Driver/ToolChains.cpp - ''; - - cmakeFlags = [ "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}" "-DCMAKE_BUILD_TYPE=Release" "-DLLVM_TARGETS_TO_BUILD=all"]; + cmakeFlags = [ + "-DCLANG_PATH_TO_LLVM_BUILD=${llvm}" + "-DCMAKE_BUILD_TYPE=Release" + "-DLLVM_TARGETS_TO_BUILD=all" + ] ++ stdenv.lib.optionals (stdenv.gcc.libc != null) [ + "-DC_INCLUDE_DIRS=${stdenv.gcc.libc}/include/" + ]; enableParallelBuilding = true; src = fetchurl { - url = "http://llvm.org/releases/${version}/clang-${version}.tar.gz"; - sha256 = "0v8j9rgmb7w74ihc44zfxa22q17c946n5b6prwl38z3d6pd74kmn"; + url = "http://llvm.org/releases/${version}/clang-${version}.src.tar.gz"; + sha256 = "11m7sm9f8qcrayckfg3z91zb3fimilpm0f7azn7q7qnkvhay4qzz"; }; passthru = { gcc = stdenv.gcc.gcc; }; diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index 0fb1cf82cc27..204c080b871a 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -1,16 +1,16 @@ -{ stdenv, fetchurl, perl, groff, cmake }: +{ stdenv, fetchurl, perl, groff, cmake, python }: -let version = "3.0"; in +let version = "3.1"; in stdenv.mkDerivation { name = "llvm-${version}"; src = fetchurl { - url = "http://llvm.org/releases/${version}/llvm-${version}.tar.gz"; - sha256 = "0xq4gi7lflv8ilfckslhfvnja5693xjii1yvzz39kklr6hfv37ji"; + url = "http://llvm.org/releases/${version}/llvm-${version}.src.tar.gz"; + sha256 = "1ea05135197b5400c1f88d00ff280d775ce778f8f9ea042e25a1e1e734a4b9ab"; }; - buildInputs = [ perl groff cmake ]; + buildInputs = [ perl groff cmake python ]; cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ]; @@ -20,7 +20,7 @@ stdenv.mkDerivation { homepage = http://llvm.org/; description = "Collection of modular and reusable compiler and toolchain technologies"; license = "BSD"; - maintainers = with stdenv.lib.maintainers; [viric shlevy]; + maintainers = with stdenv.lib.maintainers; [viric shlevy raskin]; platforms = with stdenv.lib.platforms; all; }; } diff --git a/pkgs/development/compilers/neko/default.nix b/pkgs/development/compilers/neko/default.nix index 28a98fe1e258..ddeeb51c25e4 100644 --- a/pkgs/development/compilers/neko/default.nix +++ b/pkgs/development/compilers/neko/default.nix @@ -1,69 +1,44 @@ -{ composableDerivation, lib, fetchurl, mysql, apacheHttpd, zlib, sqlite -, pcre, apr, gtk, boehmgc, pkgconfig, makeWrapper, sourceFromHead }: +{ stdenv, fetchurl, boehmgc, zlib, sqlite, pcre }: -let +stdenv.mkDerivation rec { + name = "neko-${version}"; + version = "1.8.2"; - inherit (composableDerivation) edf wwf; - - libs = [ mysql apacheHttpd zlib sqlite pcre apr gtk ]; - - includes = lib.concatMapStrings (x: ''"${x}/include",'' ) libs + ''"{gkt}/include/gtk-2.0",''; - -in - -composableDerivation.composableDerivation {} ( fixed : { - - name = "neko-cvs"; - - # REGION AUTO UPDATE: { name="neko"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko"; groups = "haxe_group"; } - src = sourceFromHead "neko-F_16-06-48.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/neko-F_16-06-48.tar.gz"; sha256 = "e952582a26099b7a5568d0798839a6d349331510ffe6d7936b4537d60b6ccf26"; }); - # END + src = fetchurl { + url = "http://nekovm.org/_media/neko-${version}.tar.gz"; + sha256 = "099727w6dk689z3pcgbhsqjl74zzrh82a5vb2abxynamcqxcgz1w"; + }; - # optionally remove apache mysql like gentoo does? - # they just remove libs/{apache,mod_neko} - buildInputs = [boehmgc pkgconfig makeWrapper] ++ libs; - # apr should be in apacheHttpd propagatedBuildInputs + prePatch = with stdenv.lib; let + libs = concatStringsSep "," (map (lib: "\"${lib}/include\"") buildInputs); + in '' + sed -i -e '/^search_includes/,/^}/c \ + search_includes = function(_) { return $array(${libs}) } + ' src/tools/install.neko + sed -i -e '/allocated = strdup/s|"[^"]*"|"'"$out/lib/neko:$out/bin"'"|' \ + vm/load.c + # temporarily, fixed in 1.8.3 + sed -i -e 's/^#if defined(_64BITS)/& || defined(__x86_64__)/' vm/neko.h + + for disabled_mod in mod_neko{,2} mod_tora{,2} mysql ui; do + sed -i -e '/^libs/,/^}/{/^\s*'"$disabled_mod"'\s*=>/,/^\s*}/d}' \ + src/tools/install.neko + done + ''; - preConfigure = '' - sed -i \ - -e 's@"/usr/include",@${includes}@' \ - src/tools/install.neko - sed -i "s@/usr/local@$out@" Makefile vm/load.c - # make sure that nekotools boot finds the neko executable and not our wrapper: - mkdir -p $out/{bin,lib} + makeFlags = "INSTALL_PREFIX=$(out)"; + buildInputs = [ boehmgc zlib sqlite pcre ]; + dontStrip = true; - sed -i "s@\"neko\"@\".neko-wrapped\"@" src/tools/nekoboot.neko - ln -s ./neko bin/.neko-wrapped + preInstall = '' + install -vd "$out/lib" "$out/bin" ''; - inherit zlib; - - meta = { - description = "Neko is an high-level dynamicly typed programming language"; + meta = { + description = "A high-level dynamically typed programming language"; homepage = http://nekovm.org; - license = ["GPLv2" ]; # -> docs/license.txt - maintainers = [ lib.maintainers.marcweber ]; - platforms = lib.platforms.linux; + license = stdenv.lib.licenses.lgpl21; + maintainers = [ stdenv.lib.maintainers.marcweber ]; + platforms = stdenv.lib.platforms.linux; }; - - # if stripping was done neko and nekoc would be the same. ?! - dontStrip = 1; - - # neko-wrapped: nekotools boot has to find it. So don't prefix wrapped executable by "." - postInstall = '' - for prog in nekotools nekoc; do - wrapProgram "$out/bin/$prog" \ - --prefix "LD_LIBRARY_PATH" $out/lib/neko - done - - wrapProgram "$out/bin/neko" \ - --prefix "LD_LIBRARY_PATH" $out/lib/neko - - # create symlink so that nekotools boot finds not wrapped neko-wrapped executable - ln -s ln -s ../../bin/.neko-wrapped $out/lib/neko - ''; - - # TODO make them optional and make them work - patches = [ ./disable-modules.patch ]; -}) +} diff --git a/pkgs/development/compilers/neko/disable-modules.patch b/pkgs/development/compilers/neko/disable-modules.patch deleted file mode 100644 index d4d5a8eb30ee..000000000000 --- a/pkgs/development/compilers/neko/disable-modules.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff --git a/src/tools/install.neko b/src/tools/install.neko -index 4cffa5e..5702add 100644 ---- a/src/tools/install.neko -+++ b/src/tools/install.neko -@@ -39,26 +39,6 @@ buffer_string = $loader.loadprim("std@buffer_string",1); - // LIBS DATAS - - libs = { -- mod_neko => { -- src => $array("../../vm/stats","mod_neko","cgi"), -- inc => "httpd.h", -- incname => "Apache 1.3.x" -- }, -- mod_neko2 => { -- src => $array("../../vm/stats","mod_neko","cgi"), -- inc => $array("httpd.h","apr.h"), -- incname => "Apache 2.2.x", -- cflags => "-D_LARGEFILE64_SOURCE", -- realdir => "mod_neko", -- apache2 => true, -- }, -- mysql => { -- src => $array("mysql"), -- inc => "mysql.h", -- incname => "MySQL 4.+" -- lib => "libmysqlclient_r.a", -- lparams => "-lz -lssl" -- }, - mysql5 => { - src => $array("../common/sha1","../common/socket","my_proto/my_proto","my_proto/my_api","mysql"), - inc => $array(), -@@ -83,27 +63,6 @@ libs = { - incname => "Sqlite 3", - lparams => "-lsqlite3", - }, -- ui => { -- src => $array("ui"), -- inc => switch system { "Mac" => "Carbon.h" default => "gtk/gtk.h" }, -- incname => switch system { "Mac" => "Carbon" default => "GTK+2.0" }, -- cflags => switch system { "Mac" => "" default => "`pkg-config --cflags gtk+-2.0`" }, -- lparams => switch system { "Mac" => "-framework Carbon" default => "`pkg-config --libs gtk+-2.0` -lgthread-2.0" }, -- }, -- mod_tora => { -- src => $array("../common/socket","protocol","mod_tora"), -- inc => "httpd.h", -- incname => "Apache 1.3.x", -- cflags => "-I../common", -- }, -- mod_tora2 => { -- src => $array("../common/socket","protocol","mod_tora"), -- inc => $array("httpd.h","apr.h"), -- incname => "Apache 2.2.x", -- cflags => "-D_LARGEFILE64_SOURCE -I../common", -- realdir => "mod_tora", -- apache2 => true, -- }, - } - - // PLATFORM diff --git a/pkgs/development/compilers/ocaml/3.12.1.nix b/pkgs/development/compilers/ocaml/3.12.1.nix index a70ba649d1fe..c719abc4abc7 100644 --- a/pkgs/development/compilers/ocaml/3.12.1.nix +++ b/pkgs/development/compilers/ocaml/3.12.1.nix @@ -2,7 +2,7 @@ let useX11 = !stdenv.isArm && !stdenv.isMips; - useNativeCompilers = !stdenv.isArm && !stdenv.isMips; + useNativeCompilers = !stdenv.isMips; inherit (stdenv.lib) optionals optionalString; in diff --git a/pkgs/development/compilers/ocaml/4.00.0.nix b/pkgs/development/compilers/ocaml/4.00.1.nix index da065356e851..d7c14e031b35 100644 --- a/pkgs/development/compilers/ocaml/4.00.0.nix +++ b/pkgs/development/compilers/ocaml/4.00.1.nix @@ -2,17 +2,17 @@ let useX11 = !stdenv.isArm && !stdenv.isMips; - useNativeCompilers = !stdenv.isArm && !stdenv.isMips; + useNativeCompilers = !stdenv.isMips; inherit (stdenv.lib) optionals optionalString; in stdenv.mkDerivation rec { - name = "ocaml-4.00.0"; + name = "ocaml-4.00.1"; src = fetchurl { url = "http://caml.inria.fr/pub/distrib/ocaml-4.00/${name}.tar.bz2"; - sha256 = "ec886d7bc587ce472fcbdf294feb4b1fa2d8e7ef78ab6a4e66551699435d5cd7"; + sha256 = "33c3f4acff51685f5bfd7c260f066645e767d4e865877bf1613c176a77799951"; }; prefixKey = "-prefix "; diff --git a/pkgs/development/compilers/openjdk-darwin/default.nix b/pkgs/development/compilers/openjdk-darwin/default.nix index cbd41033bfca..1e74acfae724 100644 --- a/pkgs/development/compilers/openjdk-darwin/default.nix +++ b/pkgs/development/compilers/openjdk-darwin/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl}: +{stdenv, fetchurl, ...}: stdenv.mkDerivation { name = "openjdk6-b16-24_apr_2009-r1"; diff --git a/pkgs/development/compilers/openjdk/default.nix b/pkgs/development/compilers/openjdk/default.nix index f243baab5919..246696f81e2b 100644 --- a/pkgs/development/compilers/openjdk/default.nix +++ b/pkgs/development/compilers/openjdk/default.nix @@ -17,8 +17,13 @@ , libXrender , libXtst , libXi +, libXinerama +, libXcursor +, fontconfig , cpio +, cacert , jreOnly ? false +, perl }: let @@ -82,8 +87,14 @@ stdenv.mkDerivation rec { libXrender libXtst libXi + libXinerama + libXcursor + fontconfig + perl ]; + NIX_LDFLAGS = "-lfontconfig -lXcursor -lXinerama"; + postUnpack = '' mkdir -p drops cp ${jaxp_src} drops/${jaxp_src_name} @@ -106,6 +117,7 @@ stdenv.mkDerivation rec { ./cppflags-include-fix.patch ./printf-fix.patch ./linux-version-check-fix.patch + ./no-crypto-restrictions.patch ]; makeFlags = [ @@ -122,7 +134,6 @@ stdenv.mkDerivation rec { "UNIXCOMMAND_PATH=" "BOOTDIR=${jdk}" "DROPS_DIR=$(DROPS_PATH)" - "SKIP_BOOT_CYCLE=false" ]; configurePhase = '' @@ -132,6 +143,10 @@ stdenv.mkDerivation rec { installPhase = '' mkdir -p $out cp -av build/*/j2${if jreOnly then "re" else "sdk"}-image/* $out + pushd $out/${if ! jreOnly then "jre/" else ""}lib/security + rm cacerts + perl ${./generate-cacerts.pl} $out/bin/keytool ${cacert}/etc/ca-bundle.crt + popd ''; # '' + (if jreOnly then "" else '' # if [ -z $jre ]; then diff --git a/pkgs/development/compilers/openjdk/generate-cacerts.pl b/pkgs/development/compilers/openjdk/generate-cacerts.pl new file mode 100644 index 000000000000..3bdd42f7274f --- /dev/null +++ b/pkgs/development/compilers/openjdk/generate-cacerts.pl @@ -0,0 +1,366 @@ +#!/usr/bin/perl + +# Copyright (C) 2007, 2008 Red Hat, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# generate-cacerts.pl generates a JKS keystore named 'cacerts' from +# OpenSSL's certificate bundle using OpenJDK's keytool. + +# First extract each of OpenSSL's bundled certificates into its own +# aliased filename. + +# Downloaded from http://cvs.fedoraproject.org/viewvc/rpms/ca-certificates/F-12/generate-cacerts.pl?revision=1.2 +# Check and prevention of duplicate aliases added by Vlastimil Babka <caster@gentoo.org> + +$file = $ARGV[1]; +open(CERTS, $file); +@certs = <CERTS>; +close(CERTS); + +$pem_file_count = 0; +$in_cert_block = 0; +$write_current_cert = 1; +foreach $cert (@certs) +{ + if ($cert =~ /Issuer: /) + { + $_ = $cert; + if ($cert =~ /personal-freemail/) + { + $cert_alias = "thawtepersonalfreemailca"; + } + elsif ($cert =~ /personal-basic/) + { + $cert_alias = "thawtepersonalbasicca"; + } + elsif ($cert =~ /personal-premium/) + { + $cert_alias = "thawtepersonalpremiumca"; + } + elsif ($cert =~ /server-certs/) + { + $cert_alias = "thawteserverca"; + } + elsif ($cert =~ /premium-server/) + { + $cert_alias = "thawtepremiumserverca"; + } + elsif ($cert =~ /Class 1 Public Primary Certification Authority$/) + { + $cert_alias = "verisignclass1ca"; + } + elsif ($cert =~ /Class 1 Public Primary Certification Authority - G2/) + { + $cert_alias = "verisignclass1g2ca"; + } + elsif ($cert =~ + /VeriSign Class 1 Public Primary Certification Authority - G3/) + { + $cert_alias = "verisignclass1g3ca"; + } + elsif ($cert =~ /Class 2 Public Primary Certification Authority$/) + { + $cert_alias = "verisignclass2ca"; + } + elsif ($cert =~ /Class 2 Public Primary Certification Authority - G2/) + { + $cert_alias = "verisignclass2g2ca"; + } + elsif ($cert =~ + /VeriSign Class 2 Public Primary Certification Authority - G3/) + { + $cert_alias = "verisignclass2g3ca"; + } + elsif ($cert =~ /Class 3 Public Primary Certification Authority$/) + { + $cert_alias = "verisignclass3ca"; + } + # Version 1 of Class 3 Public Primary Certification Authority + # - G2 is added. Version 3 is excluded. See below. + elsif ($cert =~ + /VeriSign Class 3 Public Primary Certification Authority - G3/) + { + $cert_alias = "verisignclass3g3ca"; + } + elsif ($cert =~ + /RSA Data Security.*Secure Server Certification Authority/) + { + $cert_alias = "verisignserverca"; + } + elsif ($cert =~ /GTE CyberTrust Global Root/) + { + $cert_alias = "gtecybertrustglobalca"; + } + elsif ($cert =~ /Baltimore CyberTrust Root/) + { + $cert_alias = "baltimorecybertrustca"; + } + elsif ($cert =~ /www.entrust.net\/Client_CA_Info\/CPS/) + { + $cert_alias = "entrustclientca"; + } + elsif ($cert =~ /www.entrust.net\/GCCA_CPS/) + { + $cert_alias = "entrustglobalclientca"; + } + elsif ($cert =~ /www.entrust.net\/CPS_2048/) + { + $cert_alias = "entrust2048ca"; + } + elsif ($cert =~ /www.entrust.net\/CPS /) + { + $cert_alias = "entrustsslca"; + } + elsif ($cert =~ /www.entrust.net\/SSL_CPS/) + { + $cert_alias = "entrustgsslca"; + } + elsif ($cert =~ /The Go Daddy Group/) + { + $cert_alias = "godaddyclass2ca"; + } + elsif ($cert =~ /Starfield Class 2 Certification Authority/) + { + $cert_alias = "starfieldclass2ca"; + } + elsif ($cert =~ /ValiCert Class 2 Policy Validation Authority/) + { + $cert_alias = "valicertclass2ca"; + } + elsif ($cert =~ /GeoTrust Global CA$/) + { + $cert_alias = "geotrustglobalca"; + } + elsif ($cert =~ /Equifax Secure Certificate Authority/) + { + $cert_alias = "equifaxsecureca"; + } + elsif ($cert =~ /Equifax Secure eBusiness CA-1/) + { + $cert_alias = "equifaxsecureebusinessca1"; + } + elsif ($cert =~ /Equifax Secure eBusiness CA-2/) + { + $cert_alias = "equifaxsecureebusinessca2"; + } + elsif ($cert =~ /Equifax Secure Global eBusiness CA-1/) + { + $cert_alias = "equifaxsecureglobalebusinessca1"; + } + elsif ($cert =~ /Sonera Class1 CA/) + { + $cert_alias = "soneraclass1ca"; + } + elsif ($cert =~ /Sonera Class2 CA/) + { + $cert_alias = "soneraclass2ca"; + } + elsif ($cert =~ /AAA Certificate Services/) + { + $cert_alias = "comodoaaaca"; + } + elsif ($cert =~ /AddTrust Class 1 CA Root/) + { + $cert_alias = "addtrustclass1ca"; + } + elsif ($cert =~ /AddTrust External CA Root/) + { + $cert_alias = "addtrustexternalca"; + } + elsif ($cert =~ /AddTrust Qualified CA Root/) + { + $cert_alias = "addtrustqualifiedca"; + } + elsif ($cert =~ /UTN-USERFirst-Hardware/) + { + $cert_alias = "utnuserfirsthardwareca"; + } + elsif ($cert =~ /UTN-USERFirst-Client Authentication and Email/) + { + $cert_alias = "utnuserfirstclientauthemailca"; + } + elsif ($cert =~ /UTN - DATACorp SGC/) + { + $cert_alias = "utndatacorpsgcca"; + } + elsif ($cert =~ /UTN-USERFirst-Object/) + { + $cert_alias = "utnuserfirstobjectca"; + } + elsif ($cert =~ /America Online Root Certification Authority 1/) + { + $cert_alias = "aolrootca1"; + } + elsif ($cert =~ /DigiCert Assured ID Root CA/) + { + $cert_alias = "digicertassuredidrootca"; + } + elsif ($cert =~ /DigiCert Global Root CA/) + { + $cert_alias = "digicertglobalrootca"; + } + elsif ($cert =~ /DigiCert High Assurance EV Root CA/) + { + $cert_alias = "digicerthighassuranceevrootca"; + } + elsif ($cert =~ /GlobalSign Root CA$/) + { + $cert_alias = "globalsignca"; + } + elsif ($cert =~ /GlobalSign Root CA - R2/) + { + $cert_alias = "globalsignr2ca"; + } + elsif ($cert =~ /Elektronik.*Kas.*2005/) + { + $cert_alias = "extra-elektronikkas2005"; + } + elsif ($cert =~ /Elektronik/) + { + $cert_alias = "extra-elektronik2005"; + } + # Mozilla does not provide these certificates: + # baltimorecodesigningca + # gtecybertrust5ca + # trustcenterclass2caii + # trustcenterclass4caii + # trustcenteruniversalcai + else + { + # Generate an alias using the OU and CN attributes of the + # Issuer field if both are present, otherwise use only the + # CN attribute. The Issuer field must have either the OU + # or the CN attribute. + $_ = $cert; + if ($cert =~ /OU=/) + { + s/Issuer:.*?OU=//; + # Remove other occurrences of OU=. + s/OU=.*CN=//; + # Remove CN= if there were not other occurrences of OU=. + s/CN=//; + s/\/emailAddress.*//; + s/Certificate Authority/ca/g; + s/Certification Authority/ca/g; + } + elsif ($cert =~ /CN=/) + { + s/Issuer:.*CN=//; + s/\/emailAddress.*//; + s/Certificate Authority/ca/g; + s/Certification Authority/ca/g; + } + s/\W//g; + tr/A-Z/a-z/; + $cert_alias = "extra-$_"; + + } + while (-e "$cert_alias.pem") + { + $cert_alias = "$cert_alias" . "_"; + } + } + # When it attempts to parse: + # + # Class 3 Public Primary Certification Authority - G2, Version 3 + # + # keytool says: + # + # #2: ObjectId: 1.3.6.1.5.5.7.1.1 Criticality=false + # Unparseable AuthorityInfoAccess extension due to + # java.io.IOException: Invalid encoding of URI + # + # If we do not exclude this file + # openjdk/jdk/test/lib/security/cacerts/VerifyCACerts.java fails + # on this cert, printing: + # + # Couldn't verify: java.security.SignatureException: Signature + # does not match. + # + elsif ($cert =~ + /A6:0F:34:C8:62:6C:81:F6:8B:F7:7D:A9:F6:67:58:8A:90:3F:7D:36/) + { + $write_current_cert = 0; + $pem_file_count--; + } + elsif ($cert eq "-----BEGIN CERTIFICATE-----\n") + { + $_ = $cert; + s/\W//g; + tr/A-Z/a-z/; + $cert_alias = "extra-$_"; + while (-e "$cert_alias.pem") + { + $cert_alias = "$cert_alias" . "_"; + } + if ($in_cert_block != 0) + { + die "$file is malformed."; + } + $in_cert_block = 1; + if ($write_current_cert == 1) + { + $pem_file_count++; + if (-e "$cert_alias.pem") + { + print "$cert_alias"; + die "already exists" + } + open(PEM, ">$cert_alias.pem"); + print PEM $cert; + } + } + elsif ($cert eq "-----END CERTIFICATE-----\n") + { + $in_cert_block = 0; + if ($write_current_cert == 1) + { + print PEM $cert; + close(PEM); + } + $write_current_cert = 1 + } + else + { + if ($in_cert_block == 1 && $write_current_cert == 1) + { + print PEM $cert; + } + } +} + +# Check that the correct number of .pem files were produced. +@pem_files = <*.pem>; +if (@pem_files != $pem_file_count) +{ + print "$pem_file_count"; + die "Number of .pem files produced does not match". + " number of certs read from $file."; +} + +# Now store each cert in the 'cacerts' file using keytool. +$certs_written_count = 0; +foreach $pem_file (@pem_files) +{ + system "$ARGV[0] -noprompt -import". + " -alias `basename $pem_file .pem`". + " -keystore cacerts -storepass 'changeit' -file $pem_file"; + unlink($pem_file); + $certs_written_count++; +} + +# Check that the correct number of certs were added to the keystore. +if ($certs_written_count != $pem_file_count) +{ + die "Number of certs added to keystore does not match". + " number of certs read from $file."; +} diff --git a/pkgs/development/compilers/openjdk/no-crypto-restrictions.patch b/pkgs/development/compilers/openjdk/no-crypto-restrictions.patch new file mode 100644 index 000000000000..427ef3534668 --- /dev/null +++ b/pkgs/development/compilers/openjdk/no-crypto-restrictions.patch @@ -0,0 +1,12 @@ +diff -Naur openjdk-orig/jdk/make/javax/crypto/Makefile openjdk/jdk/make/javax/crypto/Makefile +--- openjdk-orig/jdk/make/javax/crypto/Makefile 2011-06-27 13:18:45.000000000 -0400 ++++ openjdk/jdk/make/javax/crypto/Makefile 2012-11-08 14:12:01.360718616 -0500 +@@ -156,7 +156,7 @@ + # + + ifdef OPENJDK +-all: build-jar install-jar build-policy install-limited ++all: build-jar install-jar build-policy install-unlimited + else # OPENJDK + ifeq ($(strip $(FILES_java)),) + all: diff --git a/pkgs/development/compilers/pakcs/default.nix b/pkgs/development/compilers/pakcs/default.nix index 35771f6691f2..817559ffeccb 100644 --- a/pkgs/development/compilers/pakcs/default.nix +++ b/pkgs/development/compilers/pakcs/default.nix @@ -76,7 +76,7 @@ stdenv.mkDerivation { with dynamic web pages, prototyping embedded systems). ''; - maintainers = [ stdenv.lib.maintainers.kkallio stdenv.lib.maintainers.simons ]; + maintainers = [ stdenv.lib.maintainers.kkallio ]; platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix index eb3f47a15c00..adffb7c50742 100644 --- a/pkgs/development/compilers/sbcl/default.nix +++ b/pkgs/development/compilers/sbcl/default.nix @@ -1,7 +1,14 @@ a : let fetchurl = a.fetchurl; - s= import ./src-for-default.nix; + s= # Generated upstream information + rec { + baseName="sbcl"; + version="1.1.1"; + name="${baseName}-${version}"; + hash="1gkwz0248zl2nhx79ck5wiyxj8407c10gcrpgg1c67102pgyiikv"; + url="mirror://sourceforge/project/sbcl/sbcl/1.1.1/sbcl-1.1.1-source.tar.bz2"; + }; buildInputs = with a; [ clisp makeWrapper ]; @@ -73,12 +80,14 @@ rec { '') ["doBuild" "minInit" "addInputs"]; inherit(s) name; + inherit(s) version; meta = { description = "Lisp compiler"; homepage = "http://www.sbcl.org"; license = "bsd"; maintainers = [a.lib.maintainers.raskin]; platforms = with a.lib.platforms; all; + inherit(s) version; }; } diff --git a/pkgs/development/compilers/sbcl/default.upstream b/pkgs/development/compilers/sbcl/default.upstream new file mode 100644 index 000000000000..de69a2828c61 --- /dev/null +++ b/pkgs/development/compilers/sbcl/default.upstream @@ -0,0 +1,9 @@ +name sbcl +target default.nix +url http://sf.net/projects/sbcl/files/sbcl/ +version_link '/sbcl/[0-9.]+/$' +link "source.tar.bz2" +version '.*/sbcl-([0-9.]+)-source.*' '\1' +redirect +process 'http://[a-z]+[.]dl[.]sourceforge[.]net/' 'mirror://sourceforge/' +process '[?].*' '' diff --git a/pkgs/development/compilers/sbcl/src-for-default.nix b/pkgs/development/compilers/sbcl/src-for-default.nix deleted file mode 100644 index d56520d29021..000000000000 --- a/pkgs/development/compilers/sbcl/src-for-default.nix +++ /dev/null @@ -1,9 +0,0 @@ -rec { - version="1.0.58"; - name="sbcl-1.0.58"; - hash="0ifr96hy5ax5c5iv7igwgkwcqb3pwrc4ism957pkfb5yy39p4yc1"; - url="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.58/sbcl-1.0.58-source.tar.bz2"; - advertisedUrl="http://downloads.sourceforge.net/project/sbcl/sbcl/1.0.58/sbcl-1.0.58-source.tar.bz2"; - - -} diff --git a/pkgs/development/compilers/sbcl/src-info-for-default.nix b/pkgs/development/compilers/sbcl/src-info-for-default.nix deleted file mode 100644 index 597aded17921..000000000000 --- a/pkgs/development/compilers/sbcl/src-info-for-default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ - baseName = "sbcl"; - downloadPage = "http://sourceforge.net/projects/sbcl/files/sbcl/"; - choiceCommand = "head -n 1 | sed -re 's%.*/([0-9.]+)/%http://downloads.sourceforge.net/project/sbcl/sbcl/\\1/sbcl-\\1-source.tar.bz2%'"; - sourceRegexp = "[/][0-9.]+/\$"; - versionExtractorSedScript = "s/.*-([0-9.rc]+)-.*/\\1/"; -} diff --git a/pkgs/development/compilers/uhc/default.nix b/pkgs/development/compilers/uhc/default.nix index 2c812e8842b6..fa66306721d7 100644 --- a/pkgs/development/compilers/uhc/default.nix +++ b/pkgs/development/compilers/uhc/default.nix @@ -44,7 +44,6 @@ in stdenv.mkDerivation { platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.andres - stdenv.lib.maintainers.simons ]; }; } |