diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2010-10-19 23:22:24 +0000 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2010-10-19 23:22:24 +0000 |
commit | f58a79969517b68002986c40e6bc3f42e41e7f9a (patch) | |
tree | 8a6bfa7d4ef86d648e59b9950b334d0593de7b95 /pkgs/applications/window-managers/compiz | |
parent | 01134e698fdfb3b61f8ab8ec3bf13e0718f63955 (diff) | |
download | nixpkgs-f58a79969517b68002986c40e6bc3f42e41e7f9a.tar nixpkgs-f58a79969517b68002986c40e6bc3f42e41e7f9a.tar.gz nixpkgs-f58a79969517b68002986c40e6bc3f42e41e7f9a.tar.bz2 nixpkgs-f58a79969517b68002986c40e6bc3f42e41e7f9a.tar.lz nixpkgs-f58a79969517b68002986c40e6bc3f42e41e7f9a.tar.xz nixpkgs-f58a79969517b68002986c40e6bc3f42e41e7f9a.tar.zst nixpkgs-f58a79969517b68002986c40e6bc3f42e41e7f9a.zip |
* 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
Diffstat (limited to 'pkgs/applications/window-managers/compiz')
11 files changed, 247 insertions, 61 deletions
diff --git a/pkgs/applications/window-managers/compiz/0.8.0.nix b/pkgs/applications/window-managers/compiz/0.8.0.nix deleted file mode 100644 index 40215b2b549..00000000000 --- a/pkgs/applications/window-managers/compiz/0.8.0.nix +++ /dev/null @@ -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; - }; -} diff --git a/pkgs/applications/window-managers/compiz/bcop.nix b/pkgs/applications/window-managers/compiz/bcop.nix new file mode 100644 index 00000000000..254393d4c7f --- /dev/null +++ b/pkgs/applications/window-managers/compiz/bcop.nix @@ -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"; + }; +} diff --git a/pkgs/applications/window-managers/compiz/ccsm.nix b/pkgs/applications/window-managers/compiz/ccsm.nix new file mode 100644 index 00000000000..4b544fec1ef --- /dev/null +++ b/pkgs/applications/window-managers/compiz/ccsm.nix @@ -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"; + }; +} diff --git a/pkgs/applications/window-managers/compiz/config-python.nix b/pkgs/applications/window-managers/compiz/config-python.nix new file mode 100644 index 00000000000..4de7fb41a48 --- /dev/null +++ b/pkgs/applications/window-managers/compiz/config-python.nix @@ -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"; + }; +} diff --git a/pkgs/applications/window-managers/compiz/core.nix b/pkgs/applications/window-managers/compiz/core.nix new file mode 100644 index 00000000000..497b9c279ca --- /dev/null +++ b/pkgs/applications/window-managers/compiz/core.nix @@ -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"; + }; +} diff --git a/pkgs/applications/window-managers/compiz/extra.nix b/pkgs/applications/window-managers/compiz/extra.nix deleted file mode 100644 index 70f4e5dd8c3..00000000000 --- a/pkgs/applications/window-managers/compiz/extra.nix +++ /dev/null @@ -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"; -} diff --git a/pkgs/applications/window-managers/compiz/libcompizconfig.nix b/pkgs/applications/window-managers/compiz/libcompizconfig.nix new file mode 100644 index 00000000000..51d459e7a36 --- /dev/null +++ b/pkgs/applications/window-managers/compiz/libcompizconfig.nix @@ -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"; + }; +} diff --git a/pkgs/applications/window-managers/compiz/plugindir-core.patch b/pkgs/applications/window-managers/compiz/plugindir-core.patch new file mode 100644 index 00000000000..5a242e66088 --- /dev/null +++ b/pkgs/applications/window-managers/compiz/plugindir-core.patch @@ -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; + diff --git a/pkgs/applications/window-managers/compiz/plugindir-libcompizconfig.patch b/pkgs/applications/window-managers/compiz/plugindir-libcompizconfig.patch new file mode 100644 index 00000000000..207816a3c51 --- /dev/null +++ b/pkgs/applications/window-managers/compiz/plugindir-libcompizconfig.patch @@ -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 diff --git a/pkgs/applications/window-managers/compiz/plugins-extra.nix b/pkgs/applications/window-managers/compiz/plugins-extra.nix new file mode 100644 index 00000000000..65a0be2da99 --- /dev/null +++ b/pkgs/applications/window-managers/compiz/plugins-extra.nix @@ -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"; + }; +} diff --git a/pkgs/applications/window-managers/compiz/plugins-main.nix b/pkgs/applications/window-managers/compiz/plugins-main.nix new file mode 100644 index 00000000000..4c9e3b12c72 --- /dev/null +++ b/pkgs/applications/window-managers/compiz/plugins-main.nix @@ -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"; + }; +} |