A case study in transitive overrides. WebKit needs fresh glib. This means it needs a whole slice of system built against glib-2.22.. Added overrides are generic enough, though. So the same way can be used to override everything. I have failed (so far?) to add mkOverridable into stdenv, though.

svn path=/nixpkgs/trunk/; revision=17661
This commit is contained in:
Michael Raskin
2009-10-06 05:43:51 +00:00
parent 3c9c17990e
commit edbbddce1d
15 changed files with 66 additions and 50 deletions

View File

@@ -1,6 +1,6 @@
{ fetchurl, stdenv, pkgconfig, libdaemon, dbus, perl, perlXMLParser
, expat, gettext, intltool, glib, gtk, qt4 ? null, lib
, qt4Support ? false }:
, qt4Support ? false, ...}:
assert qt4Support -> qt4 != null;

View File

@@ -1,4 +1,5 @@
{ stdenv, fetchurl, pkgconfig, dbus_glib, zlib, pam, glib, libX11, policykit, expat }:
{ stdenv, fetchurl, pkgconfig, dbus_glib, zlib, pam, glib,
libX11, policykit, expat, ... }:
stdenv.mkDerivation rec {
name = "consolekit-0.2.10";

View File

@@ -1,29 +1,29 @@
args: with args;
rec {
gstreamer = import ./gstreamer {
gstreamer = makeOverridable (import ./gstreamer) {
inherit (args) fetchurl stdenv perl bison flex
pkgconfig python which gtkdoc glib libxml2;
};
gstPluginsBase = import ./gst-plugins-base {
gstPluginsBase = makeOverridable (import ./gst-plugins-base) {
inherit gstreamer;
inherit (args) fetchurl stdenv pkgconfig python
libX11 libXv libXext alsaLib cdparanoia libogg libtheora
libvorbis freetype pango liboil gtk which gtkdoc;
};
gstPluginsGood = import ./gst-plugins-good {
gstPluginsGood = makeOverridable (import ./gst-plugins-good) {
inherit gstPluginsBase;
inherit (args) fetchurl stdenv pkgconfig aalib cairo flac hal
libjpeg zlib speex libpng libdv libcaca dbus libiec61883
libavc1394 ladspaH taglib gdbm pulseaudio libsoup;
};
gstFfmpeg = import ./gst-ffmpeg {
gstFfmpeg = makeOverridable (import ./gst-ffmpeg) {
inherit fetchurl stdenv pkgconfig gstPluginsBase bzip2;
};
gnonlin = import ./gnonlin {
gnonlin = makeOverridable (import ./gnonlin) {
inherit fetchurl stdenv pkgconfig gstreamer gstPluginsBase;
};
}

View File

@@ -1,4 +1,4 @@
{ fetchurl, stdenv, pkgconfig, gstPluginsBase, bzip2 }:
{ fetchurl, stdenv, pkgconfig, gstPluginsBase, bzip2, ... }:
stdenv.mkDerivation rec {
name = "gst-ffmpeg-0.10.5";

View File

@@ -1,7 +1,7 @@
{ fetchurl, stdenv, pkgconfig, python, gstreamer
, libX11, libXv, libXext, alsaLib, cdparanoia , libogg
, libtheora, libvorbis, freetype, pango
, liboil, gtk, which, gtkdoc }:
, liboil, gtk, which, gtkdoc, ... }:
stdenv.mkDerivation rec {
name = "gst-plugins-base-0.10.22";

View File

@@ -1,7 +1,7 @@
{ fetchurl, stdenv, pkgconfig, gstPluginsBase, aalib, cairo
, flac , hal, libjpeg, zlib, speex, libpng, libdv, libcaca, dbus
, libiec61883, libavc1394, ladspaH, taglib, gdbm, pulseaudio
, libsoup
, libsoup, ...
}:
stdenv.mkDerivation rec {

View File

@@ -1,5 +1,5 @@
{ fetchurl, stdenv, perl, bison, flex, pkgconfig, python
, which, gtkdoc, glib, libxml2 }:
, which, gtkdoc, glib, libxml2, ... }:
stdenv.mkDerivation rec {
name = "gstreamer-0.10.22";

View File

@@ -1,4 +1,4 @@
{stdenv, fetchurl, libtool, static ? false}:
{stdenv, fetchurl, libtool, static ? false, ...}:
stdenv.mkDerivation {
name = "libjpeg-6b";

View File

@@ -1,4 +1,4 @@
{stdenv, fetchurl, pkgconfig, glib}:
{stdenv, fetchurl, pkgconfig, glib, ...}:
stdenv.mkDerivation rec {
name = "liboil-0.3.15";

View File

@@ -1,4 +1,4 @@
{stdenv, fetchurl, zlib, python ? null, pythonSupport ? true}:
{stdenv, fetchurl, zlib, python ? null, pythonSupport ? true, ...}:
assert pythonSupport -> python != null;

View File

@@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, glib, dbus, dbus_glib, expat, pam
, intltool, gettext, libxslt, docbook_xsl }:
, intltool, gettext, libxslt, docbook_xsl, ... }:
stdenv.mkDerivation rec {
name = "policykit-0.9";