1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-23 06:01:15 +00:00

Updating elfutils/perf to cross-build. I tested this for the nanonote.

I add newt, checking that it cross-builds too.

I update perf to have newt support, and now it's also finding python, whatever
that means. I've not tested if 'python' as buildInputs is enough.


svn path=/nixpkgs/trunk/; revision=31353
This commit is contained in:
Lluís Batlle i Rossell 2012-01-06 16:45:14 +00:00
parent 8c063fdfc7
commit cae619da08
4 changed files with 93 additions and 6 deletions

View file

@ -0,0 +1,29 @@
{ fetchurl, stdenv, slang, popt }:
stdenv.mkDerivation rec {
name = "newt-0.52.14";
src = fetchurl {
url = "https://fedorahosted.org/releases/n/e/newt/${name}.tar.gz";
sha256 = "13lp815zwldbw917wxmjy90gp608n3zlk4p3ybfqh0x6p9c4y3zp";
};
patchPhase = ''
sed -i -e s,/usr/bin/install,install, -e s,-I/usr/include/slang,, Makefile.in po/Makefile
'';
buildInputs = [ slang popt ];
crossAttrs = {
makeFlags = "CROSS_COMPILE=${stdenv.cross.config}-";
};
meta = {
homepage = https://fedorahosted.org/newt/;
description = "Library for color text mode, widget based user interfaces";
license = "LGPLv2";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.viric ];
};
}

View file

@ -1,4 +1,4 @@
{stdenv, fetchurl, zlib, bzip2, xz, m4}:
{stdenv, fetchurl, m4, zlib, bzip2, xz, bison, flex, gettext}:
# TODO: Look at the hardcoded paths to kernel, modules etc.
stdenv.mkDerivation rec {
@ -13,9 +13,54 @@ stdenv.mkDerivation rec {
sha256 = "19mlgxyzcwiv64ynj2cibgkiw4qkm3n37kizvy6555dsmlaqfybq";
};
buildInputs = [ zlib bzip2 xz ];
patches = [
(fetchurl {
url = https://fedorahosted.org/releases/e/l/elfutils/0.152/elfutils-portability.patch;
sha256 = "0q318w4cvvqv9ps4xcwphapj1gl31isgjyya4y9sm72qj68n61p0";
}) ];
buildNativeInputs = [m4];
# We need bzip2 in NativeInputs because otherwise we can't unpack the src,
# as the host-bzip2 will be in the path.
buildNativeInputs = [m4 bison flex gettext bzip2];
buildInputs = [zlib bzip2 xz];
crossAttrs = {
/* Having bzip2 will harm, because anything using elfutils
as buildInput cross-building, will not be able to run 'bzip2' */
propagatedBuildInputs = [ zlib.hostDrv ];
# This program does not cross-build fine. So I only cross-build some parts
# I need for the linux perf tool.
# On the awful cross-building:
# http://comments.gmane.org/gmane.comp.sysutils.elfutils.devel/2005
#
# I wrote this testing for the nanonote.
buildPhase = ''
pushd libebl
make
popd
pushd libelf
make
popd
pushd libdwfl
make
popd
pushd libdw
make
popd
'';
installPhase = ''
pushd libelf
make install
popd
pushd libdw
make install
popd
cp version.h $out/include
'';
};
dontAddDisableDepTrack = true;

View file

@ -1,4 +1,4 @@
{ stdenv, kernel, elfutils }:
{ stdenv, kernel, elfutils, python, perl, newt }:
stdenv.mkDerivation {
name = "perf-linux-${kernel.version}";
@ -7,10 +7,21 @@ stdenv.mkDerivation {
preConfigure = ''
cd tools/perf
export makeFlags="DESTDIR=$out"
sed -i s,/usr/include/elfutils,$elfutils/include/elfutils, Makefile
export makeFlags="DESTDIR=$out $makeFlags"
'';
buildInputs = [ elfutils ];
buildInputs = [ elfutils python perl newt ];
inherit elfutils;
crossAttrs = {
/* I don't want cross-python or cross-perl -
I don't know if cross-python even works */
propagatedBuildInputs = [ elfutils.hostDrv newt.hostDrv ];
makeFlags = "CROSS_COMPILE=${stdenv.cross.config}-";
elfutils = elfutils.hostDrv;
};
meta = {
homepage = https://perf.wiki.kernel.org/;

View file

@ -4318,6 +4318,8 @@ let
nettle = callPackage ../development/libraries/nettle { };
newt = callPackage ../development/libraries/newt { };
nspr = callPackage ../development/libraries/nspr { };
nss = callPackage ../development/libraries/nss { };