Making the xburst-tools for the Ben Nanonote build the firmware they need to
communicate with it. This involves making a cross-compiler for mipsel. svn path=/nixpkgs/trunk/; revision=22818
This commit is contained in:
parent
537ad15e86
commit
b044e64989
@ -1,4 +1,5 @@
|
|||||||
{stdenv, fetchgit, libusb, autoconf, automake, confuse}:
|
{stdenv, fetchgit, libusb, autoconf, automake, confuse
|
||||||
|
, gccCross ? null}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "2010-07-29";
|
version = "2010-07-29";
|
||||||
@ -6,19 +7,30 @@ in
|
|||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "xburst-tools-${version}";
|
name = "xburst-tools-${version}";
|
||||||
|
|
||||||
patches = [ ./gcc-4.4.patch ];
|
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = git://projects.qi-hardware.com/xburst-tools.git;
|
url = git://projects.qi-hardware.com/xburst-tools.git;
|
||||||
rev = "00be212db22643ad602eaf60b30eb943f119e78d";
|
rev = "00be212db22643ad602eaf60b30eb943f119e78d";
|
||||||
sha256 = "66ea1a81b71bad599d76691f07a986f9bb2ccecf397e8486b661d8baace3460e";
|
sha256 = "66ea1a81b71bad599d76691f07a986f9bb2ccecf397e8486b661d8baace3460e";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
prePatch = ''
|
||||||
|
find . -name Makefile* -exec sed -i \
|
||||||
|
-e s/mipsel-openwrt-linux-/mipsel-unknown-linux-/ {} \;
|
||||||
|
'';
|
||||||
|
|
||||||
|
patches = [ ./gcc-4.4.patch ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
sh autogen.sh
|
sh autogen.sh
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ libusb autoconf automake confuse ];
|
configureFlags = if gccCross != null then "--enable-firmware" else "";
|
||||||
|
|
||||||
|
# Not to strip cross build binaries (this is for the gcc-cross-wrapper)
|
||||||
|
dontCrossStrip = true;
|
||||||
|
|
||||||
|
buildInputs = [ libusb autoconf automake confuse ] ++
|
||||||
|
stdenv.lib.optional (gccCross != null) gccCross;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Qi tools to access the Ben Nanonote USB_BOOT mode";
|
description = "Qi tools to access the Ben Nanonote USB_BOOT mode";
|
||||||
|
@ -1948,6 +1948,34 @@ let
|
|||||||
|
|
||||||
xbursttools = import ../tools/misc/xburst-tools {
|
xbursttools = import ../tools/misc/xburst-tools {
|
||||||
inherit stdenv fetchgit autoconf automake libusb confuse;
|
inherit stdenv fetchgit autoconf automake libusb confuse;
|
||||||
|
# It needs a cross compiler for mipsel to build the firmware it will
|
||||||
|
# load into the Ben Nanonote
|
||||||
|
gccCross = let
|
||||||
|
pkgsCross = (import ./all-packages.nix) {
|
||||||
|
inherit system;
|
||||||
|
inherit bootStdenv noSysDirs gccWithCC gccWithProfiling config;
|
||||||
|
# Ben Nanonote system
|
||||||
|
crossSystem = {
|
||||||
|
config = "mipsel-unknown-linux";
|
||||||
|
bigEndian = true;
|
||||||
|
arch = "mips";
|
||||||
|
float = "soft";
|
||||||
|
withTLS = true;
|
||||||
|
libc = "uclibc";
|
||||||
|
platform = {
|
||||||
|
name = "ben_nanonote";
|
||||||
|
kernelMajor = "2.6";
|
||||||
|
# It's not a bcm47xx processor, but for the headers this should work
|
||||||
|
kernelHeadersBaseConfig = "bcm47xx_defconfig";
|
||||||
|
kernelArch = "mips";
|
||||||
|
};
|
||||||
|
gcc = {
|
||||||
|
arch = "mips32";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
pkgsCross.gccCrossStageStatic;
|
||||||
};
|
};
|
||||||
|
|
||||||
xclip = import ../tools/misc/xclip {
|
xclip = import ../tools/misc/xclip {
|
||||||
|
Loading…
Reference in New Issue
Block a user