* MythTV: the setup program works :-).
* Added XmlTV. This requires a huge number of Perl modules, so...
* Added a generic builder for Perl modules. I'm lazy so the modules
are defined directly in all-packages-generic.nix. The generic
builder also patches Perl scripts to include a hard-coded Perl
module search path (i.e., similar to an RPATH in ELF executables).
svn path=/nixpkgs/trunk/; revision=2083
them).
* Add Qt to the cache. Contrary to what the previous commit message
said, there is nothing wrong with the Qt build. It was just a
problem on my local machine (you shouldn't run `./configure -help'
in a temporary build directory; it overwrites some files of the
build in progress).
svn path=/nixpkgs/trunk/; revision=2067
support are enabled (for anti-aliased fonts).
BUG: Qt currently searches for plugins and documentation in the
temporary build directory, instead of in its prefix. So, e.g., help
in Qt Designer doesn't work.
svn path=/nixpkgs/trunk/; revision=2066
supported locales. This is very useful as those are the default
locales on Red Hat and SuSE (>= 9.2). (When LANG is set to an
unsupported locale, some applications fall back on the C locale;
others (like Subversion) just barf.)
svn path=/nixpkgs/trunk/; revision=1977
* Added NASM, the Netwide Assembler.
* Added Generator, an emulator for Sega Genesis / Mega Drive machines.
Built with XVideo patch. Strangely it crashes with a GDK error when
started in normal mode. However, with the "-a" switch (arcade mode)
it works, and subsequently switching back to windowed mode (Ctrl-F)
also works.
svn path=/nixpkgs/trunk/; revision=1509
* Tried to upgrade Firefox to 0.9, but it's too broken. It's
basically impossible to build it automatically. Firefox must be
started once as a user with write permission to the Firefox
directory to generate some files, and this can only be done
interactively (apparently). Hopefully 0.10 fixes this. Firefox
also barfs with link errors if the flag `--enable-single-profile' is
not used.
svn path=/nixpkgs/trunk/; revision=1067
* Zapping/VLC/MPlayer: use libXv.
* MPlayer: upgrade to 1.0pre4.
* Zapping: add libXext to the rpath. I don't understand why this is
necessary. Zapping doesn't itself link against libXext, though some
of its dependencies do. (Maybe this is due to `--export-dynamic'?)
svn path=/nixpkgs/trunk/; revision=990
libgcc of the gcc being built, not the gcc building it.
* Only include a directory in the rpath of an executable/library if it
is actually used. Before, the `/lib' directory of every build input
was added to the rpath, causing many unnecessary retained
dependencies. For instance, Perl has a `/lib' directory, but most
applications whose build process uses Perl don't actually link
against Perl. (Also added a test for this.)
* After building glibc, remove glibcbug, to prevent a retained
dependency on gcc.
* Add a newline after `building X' in GNU Make.
svn path=/nixpkgs/trunk/; revision=911
* Make builders unexecutable by removing the hash-bang line and
execute permission.
* Convert calls to `derivation' to `mkDerivation'.
* Remove `system' and `stdenv' attributes from calls to
`mkDerivation'. These transformations were all done automatically,
so it is quite possible I broke stuff.
* Put the `mkDerivation' function in stdenv/generic.
svn path=/nixpkgs/trunk/; revision=874
store, rather than outside (such as /bin/sh).
For instance, the Nix expression for the ATerm library now looks
like this:
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "aterm-2.0.5";
builder = ./builder.sh;
...
}
where `mkDerivation' is a helper function in `stdenv' that massages
the given attribute set into using the bash shell that is part of
the standard environment:
mkDerivation = attrs: derivation (att s // {
builder = pkgs.bash ~ /bin/sh;
args = ["-e" attrs.builder];
stdenv = (...);
system = (...).system;
});
Note that this makes it unnecessary to set the `stdenv' and `system'
attributes, since `mkDerivation' already does that.
svn path=/nixpkgs/trunk/; revision=866
builders for typical Autoconf-style to be much shorten, e.g.,
. $stdenv/setup
genericBuild
The generic builder does lots of stuff automatically:
- Unpacks source archives specified by $src or $srcs (it knows about
gzip, bzip2, tar, zip, and unpacked source trees).
- Determines the source tree.
- Applies patches specified by $patches.
- Fixes libtool not to search for libraries in /lib etc.
- Runs `configure'.
- Runs `make'.
- Runs `make install'.
- Strips debug information from static libraries.
- Writes nested log information (in the format accepted by
`log2xml').
There are also lots of hooks and variables to customise the generic
builder. See `stdenv/generic/docs.txt'.
* Adapted the base packages (i.e., the ones used by stdenv) to use the
generic builder.
* We now use `curl' instead of `wget' to download files in `fetchurl'.
* Neither `curl' nor `wget' are part of stdenv. We shouldn't
encourage people to download stuff in builders (impure!).
* Updated some packages.
* `buildinputs' is now `buildInputs' (but the old name also works).
* `findInputs' in the setup script now prevents inputs from being
processed multiple times (which could happen, e.g., if an input was
a propagated input of several other inputs; this caused the size
variables like $PATH to blow up exponentially in the worst case).
* Patched GNU Make to write nested log information in the format
accepted by `log2xml'. Also, prior to writing the build command,
Make now writes a line `building X' to indicate what is being
built. This is unfortunately often obscured by the gigantic tool
invocations in many Makefiles. The actual build commands are marked
`unimportant' so that they don't clutter pages generated by
`log2html'.
svn path=/nixpkgs/trunk/; revision=845