summary refs log tree commit diff
path: root/pkgs/development/misc
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2009-02-17 12:56:35 +0000
committerMarc Weber <marco-oweber@gmx.de>2009-02-17 12:56:35 +0000
commitdab6268c797d7977507619d38c250c8131dc0810 (patch)
tree26e3925c8810181ff007c00b4458998f18cc4931 /pkgs/development/misc
parent25a9e7392456b54efd55b1ab42ab879ed4fd4fc0 (diff)
downloadnixlib-dab6268c797d7977507619d38c250c8131dc0810.tar
nixlib-dab6268c797d7977507619d38c250c8131dc0810.tar.gz
nixlib-dab6268c797d7977507619d38c250c8131dc0810.tar.bz2
nixlib-dab6268c797d7977507619d38c250c8131dc0810.tar.lz
nixlib-dab6268c797d7977507619d38c250c8131dc0810.tar.xz
nixlib-dab6268c797d7977507619d38c250c8131dc0810.tar.zst
nixlib-dab6268c797d7977507619d38c250c8131dc0810.zip
added avr gcc avrlibc dev environment. Its not worth doing this properly. It works this way
svn path=/nixpkgs/trunk/; revision=14095
Diffstat (limited to 'pkgs/development/misc')
-rw-r--r--pkgs/development/misc/avr-gcc-with-avr-libc/default.nix74
1 files changed, 74 insertions, 0 deletions
diff --git a/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
new file mode 100644
index 000000000000..46782889dfb3
--- /dev/null
+++ b/pkgs/development/misc/avr-gcc-with-avr-libc/default.nix
@@ -0,0 +1,74 @@
+args:
+args.stdenv.mkDerivation {
+  name = "avr-gcc-libc";
+
+  srcBinutils = args.fetchurl {
+    url = ftp://ftp.gnu.org/gnu/binutils/binutils-2.17.tar.bz2;
+    sha256 = "0pm20n2l9ddgdpgzk3zhnbb8nbyb4rb2kvcw21pkd6iwybk3rhz2";
+  };
+
+  srcGCC = args.fetchurl {
+    url = ftp://ftp.gnu.org/gnu/gcc/gcc-4.1.2/gcc-core-4.1.2.tar.bz2;
+    sha256 = "07binc1hqlr0g387zrg5sp57i12yzd5ja2lgjb83bbh0h3gwbsbv";
+  };
+
+  srcAVRLibc = args.fetchurl {
+    url = http://www.very-clever.com/download/nongnu/avr-libc/avr-libc-1.4.5.tar.bz2;
+    sha256 = "058iv3vs6syy01pfkd5894xap9zakjx8ki1bpjdnihn6vk6fr80l";
+  };
+
+  buildInputs =(with args; []);
+
+  phases = "doAll";
+
+  # don't call any wired $buildInputs/nix-support/* scripts or such. This makes the build fail 
+  builder = args.writeTextFile {
+    name = "avrbinutilsgccavrlibc-builder-script";
+    text =  ''
+    PATH=${args.coreutils}/bin:${args.gnumake}/bin:${args.gcc}/bin:${args.gnutar}/bin:${args.bzip2}/bin:${args.gnugrep}/bin:${args.gnused}/bin:${args.gawk}/bin
+    # that's all a bit too hacky...!
+    for i in `cat ${args.gcc}/nix-support/propagated-user-env-packages`; do
+      echo adding $i
+      PATH=$PATH:$i/bin
+    done
+    mkdir -p "$out"
+    export > env-vars
+
+    # important, without this gcc won't find the binutils executables
+    PATH=$PATH:$out/bin
+
+    prefix=$out
+
+    tar jxf $srcBinutils
+      cd binutils-*/
+      mkdir obj-avr
+      cd obj-avr
+      ../configure --target=avr --prefix="$prefix" --disable-nls --prefix=$prefix
+      make $MAKE_FLAGS
+      make install
+
+    cd $TMP
+    tar jxf $srcGCC
+      cd gcc-*
+      mkdir obj-avr
+      cd obj-avr
+      ../configure --target=avr --prefix="$prefix" --disable-nls --enable-languages=c --disable-libssp
+      make $MAKE_FLAGS
+      make install
+
+    cd $TMP
+      tar jxf $srcAVRLibc
+      cd avr-libc-*
+      ./configure --prefix="$prefix" --build=`./config.guess` --host=avr
+      make $MAKE_FLAGS
+      make install
+    '';
+  };
+
+  meta = { 
+      description = "avr gcc developement environment including binutils, avr-gcc and avr-libc";
+      # I've tried compiling the packages separately.. too much hassle. This just works. Fine.
+      license =  ["GPL" "LGPL"]; # see single packages ..
+      homepage = []; # dito
+  };
+}