* Updated Compiz to 0.8.6 (replacing the old Compiz and Compiz Fusion

expressions).  Also added patches to allow Compiz and ccsm to find
  plugins installed outside of its prefix.

svn path=/nixpkgs/trunk/; revision=24373
This commit is contained in:
Eelco Dolstra 2010-10-19 23:22:24 +00:00
parent 01134e698f
commit f58a799695
12 changed files with 263 additions and 61 deletions

View File

@ -1,44 +0,0 @@
args : with args;
rec {
src = fetchurl {
url = "http://releases.compiz-fusion.org/core/compiz-0.8.0.tar.gz";
sha256 = "0xhyilfz2cfbdwni774b54171addjqw7hda6j6snzxb1igny7iry";
};
buildInputs = [
pkgconfig gtk libwnck GConf libgnome
libgnomeui metacity gnomegtk glib pango libglade libgtkhtml
gtkhtml libgnomecanvas libgnomeprint libgnomeprintui gnomepanel
librsvg fuse gettext intltool binutils
];
propagatedBuildInputs = [
libpng libXcomposite libXfixes libXdamage libXrandr libXinerama
libICE libSM startupnotification mesa GConf perl perlXMLParser libxslt
dbus.libs dbus_glib compositeproto fixesproto damageproto randrproto
xineramaproto renderproto kbproto xextproto libXrender xproto libX11
libxcb
];
postAll = fullDepEntry ("
for i in $out/bin/*; do
patchelf --set-rpath /var/run/opengl-driver/lib:$(patchelf --print-rpath $i) $i
done
ensureDir \$out/share/compiz-plugins/
ln -sfv \$out/lib/compiz \$out/share/compiz-plugins/
") ["minInit" "doMakeInstall" "defEnsureDir"];
configureFlags = ["--enable-gtk" "--enable-fuse"
"--enable-annotate" "--enable-librsvg"] ++
(if args ? extraConfigureFlags then args.extraConfigureFlags else []);
/* doConfigure should be specified separately */
phaseNames = [ "doPatch" "doConfigure" "doMakeInstall" "doPropagate"
"doForceShare" "postAll" ];
name = "compiz-0.8.0";
meta = {
description = "Compiz window manager";
inherit src;
};
}

View File

@ -0,0 +1,17 @@
{ stdenv, fetchurl, pkgconfig, libxslt }:
stdenv.mkDerivation rec {
name = "compiz-bcop-0.8.4";
src = fetchurl {
url = "http://releases.compiz.org/components/compiz-bcop/${name}.tar.bz2";
sha256 = "0kwcvalmx2aab7j3x7s0xqm102i3kr5gh1z8mfws9q4qkqdclnfk";
};
buildInputs = [ pkgconfig libxslt ];
meta = {
homepage = http://www.compiz.org/;
description = "Code generator for Compiz plugins";
};
}

View File

@ -0,0 +1,30 @@
{ stdenv, fetchurl, makeWrapper, intltool, gtk
, python, pygtk, pygobject, pycairo, compizconfig_python }:
stdenv.mkDerivation rec {
name = "ccsm-0.8.4";
src = fetchurl {
url = "http://releases.compiz.org/components/ccsm/${name}.tar.bz2";
sha256 = "0vf16a2nmb0qwwxymvgl86nkfscj3n39jdw2q2p737pj5h1xmfa6";
};
buildInputs = [ makeWrapper python intltool gtk ];
buildPhase = "python setup.py build --prefix=$out";
pythonDeps = [ pygtk pygobject pycairo compizconfig_python ];
installPhase =
''
python setup.py install --prefix=$out
wrapProgram $out/bin/ccsm --prefix PYTHONPATH ":" \
"$(toPythonPath "$pythonDeps $out")"
'';
meta = {
homepage = http://www.compiz.org/;
description = "Compiz settings manager";
};
}

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl, pkgconfig, xlibs, libcompizconfig, glib
, python, pyrex }:
stdenv.mkDerivation rec {
name = "compizconfig-python-0.8.4";
src = fetchurl {
url = "http://releases.compiz.org/components/compizconfig-python/${name}.tar.bz2";
sha256 = "0nkgqxddjw324aymzcy5nx6ilhfbpk9rra4qbzrq3l39xqsswd37";
};
buildInputs = [ pkgconfig libcompizconfig glib python pyrex xlibs.xlibs ];
NIX_LDFLAGS = "-lcompizconfig";
meta = {
homepage = http://www.compiz.org/;
description = "Python interface to the Compiz configuration";
};
}

View File

@ -0,0 +1,36 @@
{ stdenv, fetchurl, intltool, pkgconfig, xlibs, mesa, libxml2, libxslt
, libstartup_notification, libpng, glib, gtk, gnome, dbus_glib, librsvg, bzip2 }:
let version = "0.8.6"; in
stdenv.mkDerivation {
name = "compiz-${version}";
src = fetchurl {
url = "http://releases.compiz.org/${version}/compiz-${version}.tar.bz2";
sha256 = "132gmdawjmrmvazm31h3r3wwq97h58hz17yyc9sa6q2nkfsnkpy4";
};
patches =
[ # Allow the path to the Compiz plugin library and metadata
# directories to be overriden through $COMPIZ_PLUGINDIR and
# $COMPIZ_METADATADIR, respectively.
./plugindir-core.patch
];
buildInputs =
[ intltool pkgconfig libpng glib
gtk gnome.libwnck gnome.GConf dbus_glib librsvg bzip2
];
propagatedBuildInputs =
[ xlibs.xlibs xlibs.libXfixes xlibs.libXrandr xlibs.libXrender
xlibs.libXdamage xlibs.libXcomposite xlibs.libXinerama
libstartup_notification mesa libxml2 libxslt
];
meta = {
homepage = http://www.compiz.org/;
description = "A compositing window manager";
};
}

View File

@ -1,17 +0,0 @@
{ stdenv, fetchurl, pkgconfig, compiz, perl, perlXMLParser, GConf, dbus, gtk
}:
stdenv.mkDerivation {
name = "compiz-extra-20070305";
src = fetchurl {
url = http://gandalfn.club.fr/ubuntu/compiz-extra/compiz-extra-latest.tar.bz2;
sha256 = "7fc7faafccfdf22dea7ac1de6629dcb55ec63d84fcb57a14559309cf284fa94f";
};
buildInputs = [
pkgconfig compiz perl perlXMLParser GConf dbus.libs gtk
];
preBuild = "
makeFlagsArray=(moduledir=$out/lib/compiz)
";
preConfigure = "touch m4/Makefile.in";
}

View File

@ -0,0 +1,22 @@
{ stdenv, fetchurl,intltool, pkgconfig, xlibs, libxml2, libxslt, compiz }:
stdenv.mkDerivation rec {
name = "libcompizconfig-0.8.4";
src = fetchurl {
url = "http://releases.compiz.org/components/libcompizconfig/${name}.tar.bz2";
sha256 = "0adhl2nc2zrswl5n4a8ipymffq6yjwnxgpkv6rsk7sqvby9kwca1";
};
patches =
[ # See ./core.nix.
./plugindir-libcompizconfig.patch
];
buildInputs = [ pkgconfig intltool xlibs.libX11 compiz libxml2 libxslt ];
meta = {
homepage = http://www.compiz.org/;
description = "Compiz configuration library";
};
}

View File

@ -0,0 +1,39 @@
diff -ru -x '*~' compiz-0.8.6-orig/src/metadata.c compiz-0.8.6/src/metadata.c
--- compiz-0.8.6-orig/src/metadata.c 2010-03-28 14:15:35.000000000 +0200
+++ compiz-0.8.6/src/metadata.c 2010-10-20 00:22:47.000000000 +0200
@@ -146,7 +146,7 @@
compAddMetadataFromFile (CompMetadata *metadata,
const char *file)
{
- char *home;
+ char *home, *metadatadir;
Bool status = FALSE;
home = getenv ("HOME");
@@ -163,7 +163,10 @@
}
}
- status |= addMetadataFromFilename (metadata, METADATADIR, file);
+ metadatadir = getenv("COMPIZ_METADATADIR");
+ if (!metadatadir) metadatadir = METADATADIR;
+
+ status |= addMetadataFromFilename (metadata, metadatadir, file);
if (!status)
{
compLogMessage ("core", CompLogLevelWarn,
diff -ru -x '*~' compiz-0.8.6-orig/src/plugin.c compiz-0.8.6/src/plugin.c
--- compiz-0.8.6-orig/src/plugin.c 2010-03-28 14:15:35.000000000 +0200
+++ compiz-0.8.6/src/plugin.c 2010-10-20 00:25:16.000000000 +0200
@@ -579,7 +579,10 @@
}
}
- status = (*loaderLoadPlugin) (p, PLUGINDIR, name);
+ plugindir = getenv("COMPIZ_PLUGINDIR");
+ if (!plugindir) plugindir = PLUGINDIR;
+
+ status = (*loaderLoadPlugin) (p, plugindir, name);
if (status)
return p;

View File

@ -0,0 +1,39 @@
diff -ru -x '*~' libcompizconfig-0.8.4-orig/src/compiz.cpp libcompizconfig-0.8.4/src/compiz.cpp
--- libcompizconfig-0.8.4-orig/src/compiz.cpp 2009-10-14 02:36:04.000000000 +0200
+++ libcompizconfig-0.8.4/src/compiz.cpp 2010-10-20 00:35:28.000000000 +0200
@@ -3004,7 +3004,10 @@
}
}
- loadPluginFromXMLFile (context, xmlName, (char *) METADATADIR);
+ char *metadatadir = getenv("COMPIZ_METADATADIR");
+ if (!metadatadir) metadatadir = METADATADIR;
+
+ loadPluginFromXMLFile (context, xmlName, metadatadir);
free (xmlName);
}
@@ -3031,7 +3034,10 @@
free (homeplugins);
}
}
- loadPluginsFromXMLFiles (context, (char *)METADATADIR);
+
+ char *metadatadir = getenv("COMPIZ_METADATADIR");
+ if (!metadatadir) metadatadir = METADATADIR;
+ loadPluginsFromXMLFiles (context, metadatadir);
if (home && strlen (home))
{
@@ -3043,7 +3049,10 @@
free (homeplugins);
}
}
- loadPluginsFromName (context, (char *)PLUGINDIR);
+
+ char *plugindir = getenv("COMPIZ_PLUGINDIR");
+ if (!plugindir) plugindir = PLUGINDIR;
+ loadPluginsFromName (context, plugindir);
}
static void

View File

@ -0,0 +1,23 @@
{ stdenv, fetchurl, intltool, pkgconfig, compiz, compiz_bcop
, compiz_plugins_main, getopt, libjpeg, cairo, pango, gnome }:
let version = "0.8.6"; in
stdenv.mkDerivation rec {
name = "compiz-plugins-extra-${version}";
src = fetchurl {
url = "http://releases.compiz.org/${version}/${name}.tar.bz2";
sha256 = "1qbxfi332bbadm0ah48frnrl9dkczl111s5a91a0cqz5v7nbw4g1";
};
NIX_CFLAGS_COMPILE = "-I${compiz_plugins_main}/include/compiz";
buildInputs =
[ intltool pkgconfig compiz compiz_bcop compiz_plugins_main getopt gnome.GConf ];
meta = {
homepage = http://www.compiz.org/;
description = "Extra plugins for Compiz";
};
}

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, intltool, pkgconfig, compiz, compiz_bcop
, getopt, libjpeg, cairo, pango, gnome }:
let version = "0.8.6"; in
stdenv.mkDerivation rec {
name = "compiz-plugins-main-${version}";
src = fetchurl {
url = "http://releases.compiz.org/${version}/${name}.tar.bz2";
sha256 = "1nfn3r4q7wvzfkdh9hrm5zc816xa8cs2s7cliz0fmnqikcs4zp36";
};
buildInputs =
[ intltool pkgconfig compiz compiz_bcop getopt libjpeg cairo pango gnome.GConf ];
meta = {
homepage = http://www.compiz.org/;
description = "Main plugins for Compiz";
};
}

View File

@ -5324,6 +5324,21 @@ let
inherit (gnome) esound;
};
compiz = callPackage ../applications/window-managers/compiz/core.nix { };
compiz_ccsm = callPackage ../applications/window-managers/compiz/ccsm.nix { };
compizconfig_python = callPackage ../applications/window-managers/compiz/config-python.nix { };
libcompizconfig = callPackage ../applications/window-managers/compiz/libcompizconfig.nix { };
compiz_bcop = callPackage ../applications/window-managers/compiz/bcop.nix { };
compiz_plugins_main = callPackage ../applications/window-managers/compiz/plugins-main.nix { };
compiz_plugins_extra = callPackage ../applications/window-managers/compiz/plugins-extra.nix { };
/*
compizBase = (builderDefsPackage (import ../applications/window-managers/compiz/0.8.0.nix)) {
inherit lib stringsWithDeps builderDefs;
inherit fetchurl stdenv pkgconfig libpng mesa perl perlXMLParser libxslt gettext
@ -5361,6 +5376,7 @@ let
compizExtra = callPackage ../applications/window-managers/compiz/extra.nix {
inherit (gnome) GConf;
};
*/
cinepaint = callPackage ../applications/graphics/cinepaint {
fltk = fltk11;