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:
parent
8c063fdfc7
commit
cae619da08
|
@ -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 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -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.
|
# TODO: Look at the hardcoded paths to kernel, modules etc.
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -13,9 +13,54 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "19mlgxyzcwiv64ynj2cibgkiw4qkm3n37kizvy6555dsmlaqfybq";
|
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;
|
dontAddDisableDepTrack = true;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, kernel, elfutils }:
|
{ stdenv, kernel, elfutils, python, perl, newt }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "perf-linux-${kernel.version}";
|
name = "perf-linux-${kernel.version}";
|
||||||
|
@ -7,10 +7,21 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
cd tools/perf
|
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 = {
|
meta = {
|
||||||
homepage = https://perf.wiki.kernel.org/;
|
homepage = https://perf.wiki.kernel.org/;
|
||||||
|
|
|
@ -4318,6 +4318,8 @@ let
|
||||||
|
|
||||||
nettle = callPackage ../development/libraries/nettle { };
|
nettle = callPackage ../development/libraries/nettle { };
|
||||||
|
|
||||||
|
newt = callPackage ../development/libraries/newt { };
|
||||||
|
|
||||||
nspr = callPackage ../development/libraries/nspr { };
|
nspr = callPackage ../development/libraries/nspr { };
|
||||||
|
|
||||||
nss = callPackage ../development/libraries/nss { };
|
nss = callPackage ../development/libraries/nss { };
|
||||||
|
|
Loading…
Reference in New Issue