2009-02-23 21:10:41 +03:00
|
|
|
{ fetchurl, stdenv, ncurses }:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "readline-6.0";
|
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
url = "mirror://gnu/readline/${name}.tar.gz";
|
|
|
|
sha256 = "1pn13j6f9376kwki69050x3zh62yb1w31l37rws5nwr5q02xk68i";
|
|
|
|
};
|
|
|
|
|
I made the whole nixpkgs dependencies available to the cross compiler, no
needing to keep a new tree of expressions apart for the expressions to get
cross-compiled.
I changed the whole way of using cross compilation with nixpkgs, which before
was done through a simple adapter.
Now the adapter became complex, and I've tried to avoid the most obvious
recursivities. For example, the fetchurl expression should
never be cross-compiled, as the gmp, mpfr, and some others, like
some ncurses, perl, ... I made overrided copies of those necessary as
perlNoCross, ncursesNoCross, as stdenvNoCross, keeping in mind that
the stdenv (capable of cross compilation) is built upon stdenvNoCross using
an adapter.
So, to cross compile, instead of building using "nixpkgs/default.nix",
you should build with your
own "myarchiteture.nix", which should have contents like these, for example:
import /etc/nixos/nixpkgs/default.nix
{
crossSystem = {
config = "armv5tel-unknown-linux-gnueabi";
bigEndian = false;
arch = "arm";
float = "soft";
};
}
svn path=/nixpkgs/branches/stdenv-updates/; revision=18398
2009-11-18 01:58:48 +03:00
|
|
|
propagatedHostInputs = [ncurses];
|
2009-11-08 03:32:12 +03:00
|
|
|
|
|
|
|
patchFlags = "-p0";
|
|
|
|
patches =
|
|
|
|
[ ./link-against-ncurses.patch ]
|
|
|
|
++
|
|
|
|
(let
|
|
|
|
patch = nr: sha256:
|
|
|
|
fetchurl {
|
|
|
|
url = "mirror://gnu/readline/readline-6.0-patches/readline60-${nr}";
|
|
|
|
inherit sha256;
|
|
|
|
};
|
|
|
|
in
|
|
|
|
import ./readline-patches.nix patch);
|
|
|
|
|
2009-02-23 21:10:41 +03:00
|
|
|
meta = {
|
|
|
|
description = "GNU Readline, a library for interactive line editing";
|
|
|
|
|
|
|
|
longDescription = ''
|
|
|
|
The GNU Readline library provides a set of functions for use by
|
|
|
|
applications that allow users to edit command lines as they are
|
|
|
|
typed in. Both Emacs and vi editing modes are available. The
|
|
|
|
Readline library includes additional functions to maintain a
|
|
|
|
list of previously-entered command lines, to recall and perhaps
|
|
|
|
reedit those lines, and perform csh-like history expansion on
|
|
|
|
previous commands.
|
|
|
|
|
|
|
|
The history facilites are also placed into a separate library,
|
|
|
|
the History library, as part of the build process. The History
|
|
|
|
library may be used without Readline in applications which
|
|
|
|
desire its capabilities.
|
|
|
|
'';
|
|
|
|
|
|
|
|
homepage = http://savannah.gnu.org/projects/readline/;
|
|
|
|
|
|
|
|
license = "GPLv3+";
|
2009-11-08 03:32:12 +03:00
|
|
|
|
|
|
|
maintainers = [ stdenv.lib.maintainers.ludo ];
|
2009-02-23 21:10:41 +03:00
|
|
|
};
|
|
|
|
}
|