* Added xfce4-mixer. This requires gstreamer and gst-plugins-base.

* Allow gst-plugins-base to be built with a minimal set of dependencies
  (to prevent dependency bloat in Xfce).
* Updated gstreamer.

svn path=/nixpkgs/trunk/; revision=24207
This commit is contained in:
Eelco Dolstra 2010-10-10 22:34:48 +00:00
parent 71b6bc2be5
commit 0fcf6e1f40
10 changed files with 88 additions and 60 deletions

View file

@ -0,0 +1,38 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib, gst_all, gtk
, libxfce4util, libxfcegui4, xfce4panel, xfconf, makeWrapper }:
let
# The usual Gstreamer plugins package has a zillion dependencies
# that we don't need for a simple mixer, so build a minimal package.
gstPluginsBase = gst_all.gstPluginsBase.override {
minimalDeps = true;
};
in
stdenv.mkDerivation rec {
name = "xfce4-mixer-4.6.1";
src = fetchurl {
url = "http://archive.xfce.org/src/apps/xfce4-mixer/4.6/${name}.tar.bz2";
sha1 = "e86163782fc4fc31671c7cb212d23d34106ad3af";
};
buildInputs =
[ pkgconfig intltool glib gst_all.gstreamer gstPluginsBase gtk
libxfce4util libxfcegui4 xfce4panel xfconf makeWrapper
];
postInstall =
''
mkdir -p $out/nix-support
echo ${gstPluginsBase} > $out/nix-support/propagated-user-env-packages
'';
meta = {
homepage = http://www.xfce.org/projects/xfce4-mixer;
description = "A volume control application for the Xfce desktop environment";
license = "GPLv2+";
};
}

View file

@ -57,6 +57,8 @@ rec {
xfce4_power_manager = callPackage ./applications/xfce4-power-manager.nix { };
xfce4mixer = callPackage ./applications/xfce4-mixer.nix { };
#### ART
xfce4icontheme = callPackage ./art/xfce4-icon-theme.nix { };

View file

@ -1,32 +1,17 @@
args: with args;
{ callPackage, pkgs }:
rec {
gstreamer = makeOverridable (import ./gstreamer) {
inherit (args) fetchurl stdenv perl bison flex
pkgconfig python which gtkdoc glib libxml2;
gstreamer = callPackage ./gstreamer {
flex = pkgs.flex2535;
};
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;
};
gstPluginsBase = callPackage ./gst-plugins-base { };
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 libcap
libtasn1;
};
gstPluginsGood = callPackage ./gst-plugins-good { };
gstFfmpeg = makeOverridable (import ./gst-ffmpeg) {
inherit fetchurl stdenv pkgconfig gstPluginsBase bzip2;
};
gstFfmpeg = callPackage ./gst-ffmpeg { };
gnonlin = makeOverridable (import ./gnonlin) {
inherit fetchurl stdenv pkgconfig gstreamer gstPluginsBase;
};
gnonlin = callPackage ./gnonlin { };
# Header files are in include/${prefix}/
prefix = "gstreamer-0.10";

View file

@ -1,4 +1,4 @@
args: with args;
{ stdenv, fetchurl, pkgconfig, gstPluginsBase, gstreamer }:
stdenv.mkDerivation rec {
name = "gnonlin-0.10.14";

View file

@ -1,4 +1,4 @@
{ fetchurl, stdenv, pkgconfig, gstPluginsBase, bzip2 }:
{ fetchurl, stdenv, pkgconfig, gstPluginsBase, bzip2, liboil }:
stdenv.mkDerivation rec {
name = "gst-ffmpeg-0.10.9";
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [ gstPluginsBase ];
buildInputs = [ pkgconfig bzip2 ];
buildInputs = [ pkgconfig bzip2 liboil ];
configureFlags = "--enable-ladspa";

View file

@ -1,27 +1,37 @@
{ fetchurl, stdenv, pkgconfig, python, gstreamer
, libX11, libXv, libXext, alsaLib, cdparanoia , libogg
, xlibs, alsaLib, cdparanoia, libogg
, libtheora, libvorbis, freetype, pango
, liboil, gtk, which, gtkdoc }:
, liboil, glib
, # Whether to build no plugins that have external dependencies
# (except the ALSA plugin).
minimalDeps ? false
}:
stdenv.mkDerivation rec {
name = "gst-plugins-base-0.10.26";
name = "gst-plugins-base-0.10.30";
src = fetchurl {
urls = [
"${meta.homepage}/src/gst-plugins-base/${name}.tar.bz2"
"mirror://gentoo/distfiles/${name}.tar.bz2"
];
sha256 = "0znxs3ls0hgc7vmllna3bazw217q1h9lmn5vhnclfadbb3flhvg0";
sha256 = "1mw5n1w7l0hgyzf75srdxlh3knfgrmddbs2ah1f97s8b710qd4v3";
};
patchPhase = "sed -i 's@/bin/echo@echo@g' configure";
# TODO : v4l, libvisual
propagatedBuildInputs = [gstreamer libX11 libXv libXext alsaLib cdparanoia
libogg libtheora libvorbis freetype pango liboil gtk which gtkdoc];
buildInputs = [pkgconfig python];
# TODO : v4l, libvisual
buildInputs =
[ pkgconfig glib alsaLib ]
++ stdenv.lib.optionals (!minimalDeps)
[ xlibs.xlibs xlibs.libXv cdparanoia libogg libtheora libvorbis
freetype pango liboil
];
propagatedBuildInputs = [ gstreamer ];
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
homepage = http://gstreamer.freedesktop.org;

View file

@ -1,23 +1,23 @@
{ fetchurl, stdenv, pkgconfig, gstPluginsBase, aalib, cairo
, flac , hal, libjpeg, zlib, speex, libpng, libdv, libcaca, dbus
, libiec61883, libavc1394, ladspaH, taglib, gdbm, pulseaudio
, libsoup, libcap, libtasn1
, gnome, libcap, libtasn1, liboil
}:
stdenv.mkDerivation rec {
name = "gst-plugins-good-0.10.18";
name = "gst-plugins-good-0.10.20";
src = fetchurl {
urls = [
"${meta.homepage}/src/gst-plugins-good/${name}.tar.bz2"
"mirror://gentoo/distfiles/${name}.tar.bz2"
];
sha256 = "1fabn9h4z1p4h35nrw9fyjhcnl1z6cnikmpcb9q6fd312mr8hfqj";
sha256 = "11x3irvfm9v96rkyh0ajdqd94y4xhshd98lb2zapf7wykq7pyjrw";
};
propagatedBuildInputs = [gstPluginsBase aalib cairo flac hal libjpeg
zlib speex libpng libdv libcaca dbus.libs libiec61883 libavc1394 ladspaH
taglib gdbm pulseaudio libsoup libcap libtasn1];
taglib gdbm pulseaudio gnome.libsoup libcap libtasn1 liboil];
buildInputs = [pkgconfig];
configureFlags = "--enable-ladspa";

View file

@ -1,25 +1,26 @@
{ fetchurl, stdenv, perl, bison, flex, pkgconfig, python
, which, gtkdoc, glib, libxml2 }:
{ fetchurl, stdenv, perl, bison, flex, pkgconfig, glib, libxml2 }:
stdenv.mkDerivation rec {
name = "gstreamer-0.10.26";
# TODO: Remove gtkdoc dependency on next upgrade
name = "gstreamer-0.10.30";
src = fetchurl {
urls = [
"${meta.homepage}/src/gstreamer/${name}.tar.bz2"
"mirror://gentoo/distfiles/${name}.tar.bz2"
];
sha256 = "1gah0ggfavl5z2wmwmwgs3h3ppwk6q1a6k0klk7zj1ph5n2isbc6";
sha256 = "0ajkfkchwpk5zlcis19laqbv84mi61cn3cqbdbrpyy93whdk1vz8";
};
buildInputs = [perl bison flex pkgconfig python which gtkdoc ];
propagatedBuildInputs = [glib libxml2];
buildInputs = [ perl bison flex pkgconfig ];
propagatedBuildInputs = [ glib libxml2 ];
configureFlags = ''
--enable-failing-tests --localstatedir=/var --disable-gtk-doc --disable-docbook
--disable-examples --enable-failing-tests --localstatedir=/var --disable-gtk-doc --disable-docbook
'';
# Hm, apparently --disable-gtk-doc is ignored...
postInstall = "rm -rf $out/share/gtk-doc";
meta = {
homepage = http://gstreamer.freedesktop.org;

View file

@ -2942,19 +2942,9 @@ let
#GMP ex-satellite, so better keep it near gmp
mpfr = callPackage ../development/libraries/mpfr { };
gst_all = recurseIntoAttrs (import ../development/libraries/gstreamer {
inherit lib stdenv fetchurl perl bison pkgconfig libxml2
python alsaLib cdparanoia libogg libvorbis libtheora freetype liboil
libjpeg zlib speex libpng libdv aalib cairo libcaca flac hal libiec61883
dbus libavc1394 ladspaH taglib pulseaudio gdbm bzip2 which makeOverridable
libcap libtasn1;
flex = flex2535;
inherit (xorg) libX11 libXv libXext;
inherit (gtkLibs) glib pango gtk;
inherit (gnome) gnomevfs /* <- only passed for the no longer used older versions
it is deprecated and didn't build on amd64 due to samba dependency */ gtkdoc
libsoup;
});
gst_all = recurseIntoAttrs
(let callPackage = newScope pkgs.gst_all; in
import ../development/libraries/gstreamer { inherit callPackage pkgs; });
gnet = callPackage ../development/libraries/gnet { };
@ -2982,6 +2972,7 @@ let
glib = gtkLibs.glib;
gtk = gtkLibs.gtk;
pango = gtkLibs.pango;
gtkLibs1x = recurseIntoAttrs (let callPackage = newScope pkgs.gtkLibs1x; in rec {

View file

@ -539,6 +539,7 @@ with (import ./release-lib.nix);
thunar = linux;
xfce4_power_manager = linux;
xfce4icontheme = linux;
xfce4mixer = linux;
xfce4panel = linux;
xfce4session = linux;
xfce4settings = linux;