From 829d8ef4df20dc4a6fb6c5b47d3d290d9cab0c53 Mon Sep 17 00:00:00 2001 From: Sergey Popov Date: Wed, 25 Jan 2012 22:04:41 +0400 Subject: [PATCH] add compiz and apropriate ebuilds with package.unmask file --- dev-python/compizconfig-python/Manifest | 2 + .../compizconfig-python-0.8.4-r9999.ebuild | 42 ++ portage/package.unmask | 16 + x11-apps/ccsm/Manifest | 2 + x11-apps/ccsm/ccsm-0.8.4-r9999.ebuild | 41 ++ x11-libs/compiz-bcop/Manifest | 2 + .../compiz-bcop-0.8.4-r9999.ebuild | 20 + x11-libs/compizconfig-backend-gconf/Manifest | 2 + ...pizconfig-backend-gconf-0.8.4-r9999.ebuild | 33 ++ .../compizconfig-backend-kconfig4/Manifest | 2 + ...config-backend-kconfig4-0.8.4-r9999.ebuild | 20 + x11-libs/libcompizconfig/Manifest | 4 + ...nfig-0.8.2-allow-system-libiniparser.patch | 239 +++++++++++ .../files/libcompizconfig-undefinedref.patch | 41 ++ .../libcompizconfig-0.8.4-r9999.ebuild | 38 ++ x11-plugins/compiz-plugins-extra/Manifest | 4 + .../compiz-plugins-extra-0.8.6-r9999.ebuild | 69 ++++ ...compiz-plugins-extra-0.8.6-libnotify.patch | 45 ++ .../files/compiz-plugins-extra-no-gconf.patch | 21 + x11-plugins/compiz-plugins-main/Manifest | 4 + .../compiz-plugins-main-0.8.6-r9999.ebuild | 64 +++ ...compiz-plugins-main-0.8.4-put-plugin.patch | 184 +++++++++ .../files/compiz-plugins-main-no-gconf.patch | 22 + .../compiz-plugins-unsupported/Manifest | 2 + ...piz-plugins-unsupported-0.8.4-r9999.ebuild | 35 ++ x11-themes/emerald-themes/Manifest | 2 + .../emerald-themes-0.5.2-r9999.ebuild | 17 + x11-wm/compiz-fusion/Manifest | 1 + .../compiz-fusion-0.8.6-r9999.ebuild | 29 ++ x11-wm/compiz/Manifest | 17 + x11-wm/compiz/compiz-0.8.6-r9999.ebuild | 168 ++++++++ x11-wm/compiz/files/0.3.6/compiz-start | 41 ++ .../files/compiz-0.6.2-CVE-2007-3920.patch | 29 ++ .../compiz/files/compiz-0.7.8-framesvg.patch | 77 ++++ ...-0.8.2-gtk-gnome-missing-gconf-flags.patch | 33 ++ ...ompiz-0.8.4-crash-on-opening-windows.patch | 82 ++++ .../files/compiz-0.8.4-gtk+-2.20-build.patch | 11 + x11-wm/compiz/files/compiz-0.8.4-kde44.patch | 225 ++++++++++ .../compiz/files/compiz-0.8.4-libpng14.patch | 30 ++ .../files/compiz-0.8.4-place-plugin.patch | 103 +++++ ...mpiz-0.8.4-window-region-calculation.patch | 36 ++ .../compiz-0.8.6-gdk-display-deprecated.patch | 101 +++++ .../compiz-0.8.6-r2-fontcorruption.patch | 23 ++ x11-wm/compiz/files/compiz-manager | 384 ++++++++++++++++++ x11-wm/compiz/files/compiz-no-gconf.patch | 20 + x11-wm/compiz/files/compiz.desktop | 12 + x11-wm/emerald/Manifest | 4 + x11-wm/emerald/emerald-0.8.4-r9999.ebuild | 56 +++ .../files/emerald-0.8.4-gtk+-2.20-build.patch | 33 ++ .../emerald-0.8.4-pkgconfig-pollution.patch | 12 + 50 files changed, 2500 insertions(+) create mode 100644 dev-python/compizconfig-python/Manifest create mode 100644 dev-python/compizconfig-python/compizconfig-python-0.8.4-r9999.ebuild create mode 100644 portage/package.unmask create mode 100644 x11-apps/ccsm/Manifest create mode 100644 x11-apps/ccsm/ccsm-0.8.4-r9999.ebuild create mode 100644 x11-libs/compiz-bcop/Manifest create mode 100644 x11-libs/compiz-bcop/compiz-bcop-0.8.4-r9999.ebuild create mode 100644 x11-libs/compizconfig-backend-gconf/Manifest create mode 100644 x11-libs/compizconfig-backend-gconf/compizconfig-backend-gconf-0.8.4-r9999.ebuild create mode 100644 x11-libs/compizconfig-backend-kconfig4/Manifest create mode 100644 x11-libs/compizconfig-backend-kconfig4/compizconfig-backend-kconfig4-0.8.4-r9999.ebuild create mode 100644 x11-libs/libcompizconfig/Manifest create mode 100644 x11-libs/libcompizconfig/files/libcompizconfig-0.8.2-allow-system-libiniparser.patch create mode 100644 x11-libs/libcompizconfig/files/libcompizconfig-undefinedref.patch create mode 100644 x11-libs/libcompizconfig/libcompizconfig-0.8.4-r9999.ebuild create mode 100644 x11-plugins/compiz-plugins-extra/Manifest create mode 100644 x11-plugins/compiz-plugins-extra/compiz-plugins-extra-0.8.6-r9999.ebuild create mode 100644 x11-plugins/compiz-plugins-extra/files/compiz-plugins-extra-0.8.6-libnotify.patch create mode 100644 x11-plugins/compiz-plugins-extra/files/compiz-plugins-extra-no-gconf.patch create mode 100644 x11-plugins/compiz-plugins-main/Manifest create mode 100644 x11-plugins/compiz-plugins-main/compiz-plugins-main-0.8.6-r9999.ebuild create mode 100644 x11-plugins/compiz-plugins-main/files/compiz-plugins-main-0.8.4-put-plugin.patch create mode 100644 x11-plugins/compiz-plugins-main/files/compiz-plugins-main-no-gconf.patch create mode 100644 x11-plugins/compiz-plugins-unsupported/Manifest create mode 100644 x11-plugins/compiz-plugins-unsupported/compiz-plugins-unsupported-0.8.4-r9999.ebuild create mode 100644 x11-themes/emerald-themes/Manifest create mode 100644 x11-themes/emerald-themes/emerald-themes-0.5.2-r9999.ebuild create mode 100644 x11-wm/compiz-fusion/Manifest create mode 100644 x11-wm/compiz-fusion/compiz-fusion-0.8.6-r9999.ebuild create mode 100644 x11-wm/compiz/Manifest create mode 100644 x11-wm/compiz/compiz-0.8.6-r9999.ebuild create mode 100755 x11-wm/compiz/files/0.3.6/compiz-start create mode 100644 x11-wm/compiz/files/compiz-0.6.2-CVE-2007-3920.patch create mode 100644 x11-wm/compiz/files/compiz-0.7.8-framesvg.patch create mode 100644 x11-wm/compiz/files/compiz-0.8.2-gtk-gnome-missing-gconf-flags.patch create mode 100644 x11-wm/compiz/files/compiz-0.8.4-crash-on-opening-windows.patch create mode 100644 x11-wm/compiz/files/compiz-0.8.4-gtk+-2.20-build.patch create mode 100644 x11-wm/compiz/files/compiz-0.8.4-kde44.patch create mode 100644 x11-wm/compiz/files/compiz-0.8.4-libpng14.patch create mode 100644 x11-wm/compiz/files/compiz-0.8.4-place-plugin.patch create mode 100644 x11-wm/compiz/files/compiz-0.8.4-window-region-calculation.patch create mode 100644 x11-wm/compiz/files/compiz-0.8.6-gdk-display-deprecated.patch create mode 100644 x11-wm/compiz/files/compiz-0.8.6-r2-fontcorruption.patch create mode 100644 x11-wm/compiz/files/compiz-manager create mode 100644 x11-wm/compiz/files/compiz-no-gconf.patch create mode 100644 x11-wm/compiz/files/compiz.desktop create mode 100644 x11-wm/emerald/Manifest create mode 100644 x11-wm/emerald/emerald-0.8.4-r9999.ebuild create mode 100644 x11-wm/emerald/files/emerald-0.8.4-gtk+-2.20-build.patch create mode 100644 x11-wm/emerald/files/emerald-0.8.4-pkgconfig-pollution.patch diff --git a/dev-python/compizconfig-python/Manifest b/dev-python/compizconfig-python/Manifest new file mode 100644 index 0000000..aea39f5 --- /dev/null +++ b/dev-python/compizconfig-python/Manifest @@ -0,0 +1,2 @@ +DIST compizconfig-python-0.8.4.tar.bz2 269812 RMD160 30488991fe80f83b232d2d01bcc2dac2ed189579 SHA1 4e6cfd4d29a9d74c1b0fe21600505006978df9de SHA256 6734ae35ee69d081f35f98a89cd3bccb411a4db7c5b35fbd226270d95ac76f5a +EBUILD compizconfig-python-0.8.4-r9999.ebuild 907 RMD160 08574f7daf02fab3e913f072754db3f5ecab66a3 SHA1 28106644d97cb491f03ec970613a1afb2adcbe09 SHA256 c2f0c4c514a50a5b25ba0966de58d3f63e27294268304eb90f9527e5ad49b691 diff --git a/dev-python/compizconfig-python/compizconfig-python-0.8.4-r9999.ebuild b/dev-python/compizconfig-python/compizconfig-python-0.8.4-r9999.ebuild new file mode 100644 index 0000000..b1453d5 --- /dev/null +++ b/dev-python/compizconfig-python/compizconfig-python-0.8.4-r9999.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-python/compizconfig-python/compizconfig-python-0.8.4-r3.ebuild,v 1.1 2010/09/08 22:18:08 flameeyes Exp $ + +EAPI="3" + +PYTHON_DEPEND="2" +SUPPORT_PYTHON_ABIS="1" +PYTHON_EXPORT_PHASE_FUNCTIONS="1" + +inherit python + +RESTRICT_PYTHON_ABIS="3.*" + +DESCRIPTION="Compizconfig Python Bindings" +HOMEPAGE="http://www.compiz.org/" +SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="" + +RDEPEND=" + >=dev-libs/glib-2.6 + >=x11-libs/libcompizconfig-${PV}" + +DEPEND="${RDEPEND} + dev-python/pyrex + dev-util/pkgconfig" + +src_configure() { + python_src_configure \ + --disable-dependency-tracking \ + --enable-fast-install \ + --disable-static +} + +src_install() { + python_src_install + python_clean_installation_image +} diff --git a/portage/package.unmask b/portage/package.unmask new file mode 100644 index 0000000..7701b58 --- /dev/null +++ b/portage/package.unmask @@ -0,0 +1,16 @@ +# Pinkbyte: unmask compiz +dev-python/compizconfig-python::pinkbyte +x11-apps/ccsm::pinkbyte +x11-apps/fusion-icon::pinkbyte +x11-apps/simple-ccsm::pinkbyte +x11-libs/compiz-bcop::pinkbyte +x11-libs/compizconfig-backend-gconf::pinkbyte +x11-libs/compizconfig-backend-kconfig4::pinkbyte +x11-libs/libcompizconfig::pinkbyte +x11-plugins/compiz-plugins-extra::pinkbyte +x11-plugins/compiz-plugins-main::pinkbyte +x11-plugins/compiz-plugins-unsupported::pinkbyte +x11-themes/emerald-themes::pinkbyte +x11-wm/compiz::pinkbyte +x11-wm/compiz-fusion::pinkbyte +x11-wm/emerald::pinkbyte diff --git a/x11-apps/ccsm/Manifest b/x11-apps/ccsm/Manifest new file mode 100644 index 0000000..fe4f2a5 --- /dev/null +++ b/x11-apps/ccsm/Manifest @@ -0,0 +1,2 @@ +DIST ccsm-0.8.4.tar.bz2 475864 RMD160 d0cf0260afe204c6e931d06d9361087d95bfa6f7 SHA1 1b4d740f8f45d6c58d8de09eda5de632c4393927 SHA256 46b9da032cf29e71aec0823799861d926937ad41f4edea3be718ac6a8532c16d +EBUILD ccsm-0.8.4-r9999.ebuild 825 RMD160 0860e84997f44978f692cd4129abc71ae982ed97 SHA1 8e4c50b981d02fb0d45066de55448356411222e8 SHA256 392ca5523cc55255f1b68db77396265cdd7bf815cbc636a6900b5b8bc98e0b4c diff --git a/x11-apps/ccsm/ccsm-0.8.4-r9999.ebuild b/x11-apps/ccsm/ccsm-0.8.4-r9999.ebuild new file mode 100644 index 0000000..f5bf77b --- /dev/null +++ b/x11-apps/ccsm/ccsm-0.8.4-r9999.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-apps/ccsm/ccsm-0.8.4-r1.ebuild,v 1.2 2011/04/11 19:51:07 arfrever Exp $ + +EAPI="3" +PYTHON_DEPEND="2" + +inherit distutils + +DESCRIPTION="Compizconfig Settings Manager" +HOMEPAGE="http://www.compiz.org/" +SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="" + +DEPEND=" + >=dev-python/compizconfig-python-${PV} + >=dev-python/pygtk-2.12:2 + dev-python/sexy-python + gnome-base/librsvg +" +RDEPEND="${DEPEND}" + +DOCS="AUTHORS" +PYTHON_MODNAME="ccm" + +pkg_setup() { + python_set_active_version 2 + python_pkg_setup +} + +src_compile() { + distutils_src_compile --prefix=/usr +} + +src_install() { + distutils_src_install --prefix=/usr +} diff --git a/x11-libs/compiz-bcop/Manifest b/x11-libs/compiz-bcop/Manifest new file mode 100644 index 0000000..789c88d --- /dev/null +++ b/x11-libs/compiz-bcop/Manifest @@ -0,0 +1,2 @@ +DIST compiz-bcop-0.8.4.tar.bz2 72103 RMD160 7e29398ef0ad211c9eccb0fd6deae68a00285e70 SHA1 c9632cd9d27f9335f1282fca2a4aa87b2fc4668d SHA256 d359ca1a9e98e0a4b9abe807f84a9e230a102aee409f3ee4594a895ea9da8c4f +EBUILD compiz-bcop-0.8.4-r9999.ebuild 585 RMD160 5e0397555008056c3332ad00867c76ef30b85735 SHA1 b55be421308b687507963b945d5fc36f1ec04b31 SHA256 91e60ed41f619430332289a288f2c42574c64de365b1d5628e500dcd6fd05f14 diff --git a/x11-libs/compiz-bcop/compiz-bcop-0.8.4-r9999.ebuild b/x11-libs/compiz-bcop/compiz-bcop-0.8.4-r9999.ebuild new file mode 100644 index 0000000..6ccbe3d --- /dev/null +++ b/x11-libs/compiz-bcop/compiz-bcop-0.8.4-r9999.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/compiz-bcop/compiz-bcop-0.8.4.ebuild,v 1.1 2009/10/15 16:35:51 mrpouet Exp $ + +DESCRIPTION="Compiz Option code Generator" +HOMEPAGE="http://www.compiz.org/" +SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="" + +RDEPEND="dev-libs/libxslt" +DEPEND="${RDEPEND} + >=dev-util/pkgconfig-0.19" + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} diff --git a/x11-libs/compizconfig-backend-gconf/Manifest b/x11-libs/compizconfig-backend-gconf/Manifest new file mode 100644 index 0000000..117cb41 --- /dev/null +++ b/x11-libs/compizconfig-backend-gconf/Manifest @@ -0,0 +1,2 @@ +DIST compizconfig-backend-gconf-0.8.4.tar.bz2 244419 RMD160 d1d5b134bf52a61c0ee5a7dae25c55d0bf21c8c3 SHA1 73298288e3c8912c83d76978b0344c68968548d5 SHA256 7231df49f6b530d72e2a21c3249ac4718cfe0c485d1317ac29d4e56c4b1b2e87 +EBUILD compizconfig-backend-gconf-0.8.4-r9999.ebuild 815 RMD160 075ac9635ad54f599571824b45ccf4a9f5665046 SHA1 fe2861eaa9784bd507efcda5b8ee23cf15d23a3b SHA256 def019b76891bf6dc65d5f87449e768e77ca4ba4612e98b34ff4f889121d6383 diff --git a/x11-libs/compizconfig-backend-gconf/compizconfig-backend-gconf-0.8.4-r9999.ebuild b/x11-libs/compizconfig-backend-gconf/compizconfig-backend-gconf-0.8.4-r9999.ebuild new file mode 100644 index 0000000..553056c --- /dev/null +++ b/x11-libs/compizconfig-backend-gconf/compizconfig-backend-gconf-0.8.4-r9999.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/compizconfig-backend-gconf/compizconfig-backend-gconf-0.8.4-r2.ebuild,v 1.2 2011/03/21 19:55:08 nirbheek Exp $ + +EAPI=2 + +DESCRIPTION="Compizconfig Gconf Backend" +HOMEPAGE="http://www.compiz.org/" +SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="" + +DEPEND=" + >=gnome-base/gconf-2.0:2 + >=x11-libs/libcompizconfig-${PV} + >=x11-wm/compiz-${PV} +" +RDEPEND="${DEPEND}" + +src_configure() { + econf \ + --disable-dependency-tracking \ + --enable-fast-install \ + --disable-static +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + find "${D}" -name '*.la' -delete || die +} diff --git a/x11-libs/compizconfig-backend-kconfig4/Manifest b/x11-libs/compizconfig-backend-kconfig4/Manifest new file mode 100644 index 0000000..dbeb5fb --- /dev/null +++ b/x11-libs/compizconfig-backend-kconfig4/Manifest @@ -0,0 +1,2 @@ +DIST compizconfig-backend-kconfig4-0.8.4.tar.bz2 21680 RMD160 a81152111a4c61dd27e6b749071433a833579dcf SHA1 3a9146e68a93ee40db87b791d03c4225dcd03507 SHA256 73916cc47977a82dde8c619892841db8a53b2b0f1c2d99bee60b71afdb4795ea +EBUILD compizconfig-backend-kconfig4-0.8.4-r9999.ebuild 586 RMD160 51cb520f0fc79f8456650141e3e20eb2ea31a51a SHA1 ac587b7ac951f75261ea71f30e9de173b1367d3a SHA256 86718e3fcb65bc9c3bc4749c59bfa0073d72a54d6c089811e4e2e42d00a86972 diff --git a/x11-libs/compizconfig-backend-kconfig4/compizconfig-backend-kconfig4-0.8.4-r9999.ebuild b/x11-libs/compizconfig-backend-kconfig4/compizconfig-backend-kconfig4-0.8.4-r9999.ebuild new file mode 100644 index 0000000..b23d9d7 --- /dev/null +++ b/x11-libs/compizconfig-backend-kconfig4/compizconfig-backend-kconfig4-0.8.4-r9999.ebuild @@ -0,0 +1,20 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/compizconfig-backend-kconfig4/compizconfig-backend-kconfig4-0.8.4.ebuild,v 1.4 2011/10/28 20:53:01 abcd Exp $ + +EAPI=4 + +inherit kde4-base + +DESCRIPTION="Compizconfig Kconfig Backend" +HOMEPAGE="http://www.compiz.org/" +SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="" + +DEPEND="x11-libs/qt-dbus:4 + >=x11-libs/libcompizconfig-${PV} + >=x11-wm/compiz-${PV}" diff --git a/x11-libs/libcompizconfig/Manifest b/x11-libs/libcompizconfig/Manifest new file mode 100644 index 0000000..eff9ba7 --- /dev/null +++ b/x11-libs/libcompizconfig/Manifest @@ -0,0 +1,4 @@ +AUX libcompizconfig-0.8.2-allow-system-libiniparser.patch 6993 RMD160 cbbc8b04653a1175ce299d63974d22ca739f4cab SHA1 678634c48f8543ee26c54ec9a404b619657257e3 SHA256 4a6511605a6d6a6a45b528a344e2a79fd9e5b98cd8bbc0a94c3257fec44cce76 +AUX libcompizconfig-undefinedref.patch 1204 RMD160 69538e32c526828d1e3d0ae6116f7b62a207edba SHA1 c97312c81ac6ac445d56599c10cf67418f0bd9db SHA256 27c3a644ea5b0b309ec32ed79f4a51f81ec2bc20cc9ccc73525237785052581d +DIST libcompizconfig-0.8.4.tar.bz2 315858 RMD160 dee403af09eee727717aeee82f763dfdb4ba3cd9 SHA1 514830508b21f9fd47ccac128c44c55a212d3929 SHA256 41313e935f1beb3375367bded72d97de60e7aabf1129620be53a7fc1aca0b029 +EBUILD libcompizconfig-0.8.4-r9999.ebuild 847 RMD160 12d37ebe086f2974953713de348639f33271733a SHA1 c8db45ac7597089d190e1d747e3e120b16fd21d9 SHA256 d21a1b7cb72be1783cec39c873991d70a270c871e06303feb3c013d31003da27 diff --git a/x11-libs/libcompizconfig/files/libcompizconfig-0.8.2-allow-system-libiniparser.patch b/x11-libs/libcompizconfig/files/libcompizconfig-0.8.2-allow-system-libiniparser.patch new file mode 100644 index 0000000..3028faf --- /dev/null +++ b/x11-libs/libcompizconfig/files/libcompizconfig-0.8.2-allow-system-libiniparser.patch @@ -0,0 +1,239 @@ +diff -Naur libcompizconfig-0.8.2.orig/config.h.in libcompizconfig-0.8.2/config.h.in +--- libcompizconfig-0.8.2.orig/config.h.in 2009-03-05 15:29:12.000000000 +0000 ++++ libcompizconfig-0.8.2/config.h.in 2009-05-02 14:55:48.000000000 +0100 +@@ -30,6 +30,9 @@ + /* Define if your file defines LC_MESSAGES. */ + #undef HAVE_LC_MESSAGES + ++/* Define to 1 if you have the `iniparser' library (-liniparser). */ ++#undef HAVE_LIBINIPARSER ++ + /* Define to 1 if you have the `protobuf' library (-lprotobuf). */ + #undef HAVE_LIBPROTOBUF + +diff -Naur libcompizconfig-0.8.2.orig/configure.ac libcompizconfig-0.8.2/configure.ac +--- libcompizconfig-0.8.2.orig/configure.ac 2009-03-05 03:22:22.000000000 +0000 ++++ libcompizconfig-0.8.2/configure.ac 2009-05-02 14:55:48.000000000 +0100 +@@ -116,6 +116,16 @@ + fi + AM_CONDITIONAL([USE_PROTOBUF], [test "x$use_protobuf" = "xyes"]) + ++AC_ARG_WITH(internal-iniparser, ++ [AS_HELP_STRING([--without-internal-iniparser],[Don't use bundled iniparser lib])], ++ [], [with_internal_iniparser=yes]) ++ ++if test "x$with_internal_iniparser" = "xno"; then ++ AC_CHECK_LIB([iniparser], [iniparser_getnsec], [], ++ [AC_MSG_ERROR([Error! You need to have libiniparser])]) ++fi ++AM_CONDITIONAL([WITH_INTERNAL_INIPARSER], [test "x$with_internal_iniparser" = "xyes"]) ++ + AC_CHECK_HEADERS([sys/inotify.h], [have_inotify=yes], [have_inotify=no]) + + AC_ARG_ENABLE(debug, +diff -Naur libcompizconfig-0.8.2.orig/include/ccs.h libcompizconfig-0.8.2/include/ccs.h +--- libcompizconfig-0.8.2.orig/include/ccs.h 2009-03-05 03:22:22.000000000 +0000 ++++ libcompizconfig-0.8.2/include/ccs.h 2009-05-02 14:55:48.000000000 +0100 +@@ -695,19 +695,9 @@ + + /* INI file stuff */ + +-typedef struct _dictionary_ +-{ +- /** Number of entries in dictionary */ +- int n; +- /** Storage size */ +- int size; +- /** List of string values */ +- char **val; +- /** List of string keys */ +- char **key ; +- /** List of hash values for keys */ +- unsigned *hash; +-} IniDictionary; ++#include ++ ++typedef dictionary IniDictionary; + + IniDictionary* ccsIniNew (void); + IniDictionary* ccsIniOpen (const char *fileName); +diff -Naur libcompizconfig-0.8.2.orig/src/Makefile.am libcompizconfig-0.8.2/src/Makefile.am +--- libcompizconfig-0.8.2.orig/src/Makefile.am 2009-03-05 15:28:59.000000000 +0000 ++++ libcompizconfig-0.8.2/src/Makefile.am 2009-05-02 14:55:48.000000000 +0100 +@@ -39,14 +39,17 @@ + lists.c \ + compiz.cpp \ + config.c \ +- iniparser.c \ + ini.c \ + bindings.c \ + filewatch.c \ +- ccs-private.h \ +- iniparser.h ++ ccs-private.h + + libcompizconfig_la_LIBADD = @LIBXML2_LIBS@ @LIBX11_LIBS@ $(PROTOBUF_LIB) + + lib_LTLIBRARIES=libcompizconfig.la + ++if WITH_INTERNAL_INIPARSER ++ ++ libcompizconfig_la_SOURCES += iniparser.h iniparser.c ++ ++endif +diff -Naur libcompizconfig-0.8.2.orig/src/ini.c libcompizconfig-0.8.2/src/ini.c +--- libcompizconfig-0.8.2.orig/src/ini.c 2009-03-05 03:22:22.000000000 +0000 ++++ libcompizconfig-0.8.2/src/ini.c 2009-05-02 14:56:12.000000000 +0100 +@@ -23,9 +23,10 @@ + #include + #include + #include ++#include + + #include +-#include "iniparser.h" ++#include + + /** + * Creates the parent directory for @fileName, recursively creating a directory +@@ -77,7 +78,7 @@ + if (file) + fclose (file); + +- return iniparser_new ((char*) fileName); ++ return iniparser_load ((char*) fileName); + } + + IniDictionary* +@@ -89,17 +90,22 @@ + void + ccsIniClose (IniDictionary *dictionary) + { +- iniparser_free (dictionary); ++ iniparser_freedict (dictionary); + } + + void + ccsIniSave (IniDictionary *dictionary, + const char *fileName) + { ++ FILE *f; + if (!ccsCreateDirFor (fileName)) + return; + +- iniparser_dump_ini (dictionary, fileName); ++ f = fopen(fileName, "w"); ++ if(!f) ++ return; ++ iniparser_dump_ini (dictionary, f); ++ fclose(f); + } + + static char* +@@ -127,11 +133,11 @@ + char *sectionName; + + asprintf (§ionName, "%s:%s", section, entry); +- ++/* + if (!iniparser_find_entry (dictionary, (char*) section)) + iniparser_add_entry (dictionary, (char*) section, NULL, NULL); +- +- iniparser_setstr (dictionary, sectionName, (char*) value); ++*/ ++ iniparser_set (dictionary, sectionName, (char*) value); + + free (sectionName); + } +diff -Naur libcompizconfig-0.8.2.orig/src/iniparser.h libcompizconfig-0.8.2/src/iniparser.h +--- libcompizconfig-0.8.2.orig/src/iniparser.h 2009-03-05 03:22:22.000000000 +0000 ++++ libcompizconfig-0.8.2/src/iniparser.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,65 +0,0 @@ +-/* +- Based upon libiniparser, by Nicolas Devillard +- Hacked into 1 file (m-iniparser) by Freek/2005 +- Original terms following: +- +- -- - +- +- Copyright (c) 2000 by Nicolas Devillard (ndevilla AT free DOT fr). +- +- Written by Nicolas Devillard. Not derived from licensed software. +- +- Permission is granted to anyone to use this software for any +- purpose on any computer system, and to redistribute it freely, +- subject to the following restrictions: +- +- 1. The author is not responsible for the consequences of use of +- this software, no matter how awful, even if they arise +- from defects in it. +- +- 2. The origin of this software must not be misrepresented, either +- by explicit claim or by omission. +- +- 3. Altered versions must be plainly marked as such, and must not +- be misrepresented as being the original software. +- +- 4. This notice may not be removed or altered. +- +- */ +- +- +-#ifndef _INIPARSER_H_ +-#define _INIPARSER_H_ +-#include +-#include +-#include +-#include +-#include +- +-#include +- +-typedef IniDictionary dictionary; +- +-typedef struct _FileLock +-{ +- int fd; +-} FileLock; +- +-/* generated by genproto */ +- +-dictionary * iniparser_new(char *ininame); +-dictionary * dictionary_new(int size); +-void iniparser_free(dictionary * d); +- +- +-int iniparser_getnsec(dictionary * d); +-char * iniparser_getsecname(dictionary * d, int n); +-void iniparser_dump_ini(dictionary * d, const char * file_name); +-char * iniparser_getstring(dictionary * d, char * key, char * def); +-void iniparser_add_entry(dictionary * d, char * sec, char * key, char * val); +-int iniparser_find_entry(dictionary * ini, char * entry); +-int iniparser_setstr(dictionary * ini, char * entry, char * val); +-void iniparser_unset(dictionary * ini, char * entry); +- +-#endif +- +diff -Naur libcompizconfig-0.8.2.orig/src/main.c libcompizconfig-0.8.2/src/main.c +--- libcompizconfig-0.8.2.orig/src/main.c 2009-03-05 03:22:22.000000000 +0000 ++++ libcompizconfig-0.8.2/src/main.c 2009-05-02 14:56:26.000000000 +0100 +@@ -34,9 +34,9 @@ + #include + + #include ++#include + + #include "ccs-private.h" +-#include "iniparser.h" + + Bool basicMetadata = FALSE; + +@@ -2577,7 +2577,7 @@ + return FALSE; + fclose (fp); + +- importFile = iniparser_new ((char *) fileName); ++ importFile = iniparser_load ((char *) fileName); + if (!importFile) + return FALSE; + diff --git a/x11-libs/libcompizconfig/files/libcompizconfig-undefinedref.patch b/x11-libs/libcompizconfig/files/libcompizconfig-undefinedref.patch new file mode 100644 index 0000000..c8e9530 --- /dev/null +++ b/x11-libs/libcompizconfig/files/libcompizconfig-undefinedref.patch @@ -0,0 +1,41 @@ +From adf3fefc4afa6225afedaf5f92b0501dafa99c65 Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Diego=20'Flameeyes'=20Petten=C3=B2?= +Date: Sat, 30 Aug 2008 14:51:46 +0200 +Subject: [PATCH] Fix undefined references for XStringToKeysym. + +The XStringToKeysym function comes from libX11, link to it to not have +undefined references in the shared library. +--- + configure.ac | 2 ++ + src/Makefile.am | 2 +- + 2 files changed, 3 insertions(+), 1 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 1668771..b8bc4cf 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -91,6 +91,8 @@ AC_SUBST(plugindir) + PKG_CHECK_MODULES(LIBXML2, "libxml-2.0") + AC_SUBST(LIBXML2_REQUIRES) + ++PKG_CHECK_MODULES(X11, x11) ++ + AC_CHECK_HEADERS([sys/inotify.h], [have_inotify=yes], [have_inotify=no]) + + globalmetadata=$datadir/compizconfig/global.xml +diff --git a/src/Makefile.am b/src/Makefile.am +index ac7424f..9bd9722 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -22,7 +22,7 @@ libcompizconfig_la_SOURCES = \ + ccs-private.h \ + iniparser.h + +-libcompizconfig_la_LIBADD = @LIBXML2_LIBS@ ++libcompizconfig_la_LIBADD = @LIBXML2_LIBS@ $(X11_LIBS) + + lib_LTLIBRARIES=libcompizconfig.la + +-- +1.6.0.1 + diff --git a/x11-libs/libcompizconfig/libcompizconfig-0.8.4-r9999.ebuild b/x11-libs/libcompizconfig/libcompizconfig-0.8.4-r9999.ebuild new file mode 100644 index 0000000..b68db6f --- /dev/null +++ b/x11-libs/libcompizconfig/libcompizconfig-0.8.4-r9999.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/libcompizconfig/libcompizconfig-0.8.4-r2.ebuild,v 1.2 2011/03/21 19:52:57 nirbheek Exp $ + +EAPI="2" + +DESCRIPTION="Compiz Configuration System" +HOMEPAGE="http://www.compiz.org/" +SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="" + +RDEPEND=" + dev-libs/libxml2:2 + dev-libs/protobuf + >=x11-wm/compiz-${PV} +" +DEPEND="${RDEPEND} + >=dev-util/intltool-0.41 + >=dev-util/pkgconfig-0.19 +" + +RESTRICT="test" + +src_configure() { + econf \ + --disable-dependency-tracking \ + --enable-fast-install \ + --disable-static +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + find "${D}" -name '*.la' -delete || die +} diff --git a/x11-plugins/compiz-plugins-extra/Manifest b/x11-plugins/compiz-plugins-extra/Manifest new file mode 100644 index 0000000..c5ac9eb --- /dev/null +++ b/x11-plugins/compiz-plugins-extra/Manifest @@ -0,0 +1,4 @@ +AUX compiz-plugins-extra-0.8.6-libnotify.patch 1412 RMD160 a4e1a09e293c5e1a16bf3b0fd7710d7440c12bcc SHA1 c9201df9851f3ef325fe6b2f612097bc10723b1b SHA256 864971c7f1ad664d64c4cfcca527c2a9788f95a2b030b2cc94f1d2ad9332c106 +AUX compiz-plugins-extra-no-gconf.patch 585 RMD160 bb3b291eab783be7f9754d724d3a96618fe2e614 SHA1 564d6614cc157397ae24347a731a9f4d65bf30f8 SHA256 0567850b07c3973f1b4bfd5c36a1e240a57e45a1714b63637ecec577febfc13f +DIST compiz-plugins-extra-0.8.6.tar.bz2 2699385 RMD160 cd8d26902d38ee7fb42fe2077e483f92fc458929 SHA1 66c571c64910aa21808aedaee8c8ceb4c4a82c78 SHA256 e111beecd9e563065448aae81002fd6cb644b3cd0e11a8406d6a2d3146747de1 +EBUILD compiz-plugins-extra-0.8.6-r9999.ebuild 1564 RMD160 28cf176862dd4bb9cfee9b434ab691090e9490f0 SHA1 ffedde3e900095a8b784856285f07937006da03a SHA256 59504a217dcdbbe674c9f21932d9a1a1e3b7981b5c1f0ebce02240196f89256a diff --git a/x11-plugins/compiz-plugins-extra/compiz-plugins-extra-0.8.6-r9999.ebuild b/x11-plugins/compiz-plugins-extra/compiz-plugins-extra-0.8.6-r9999.ebuild new file mode 100644 index 0000000..4876927 --- /dev/null +++ b/x11-plugins/compiz-plugins-extra/compiz-plugins-extra-0.8.6-r9999.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-plugins/compiz-plugins-extra/compiz-plugins-extra-0.8.6-r1.ebuild,v 1.5 2011/03/21 19:47:45 nirbheek Exp $ + +EAPI="2" + +inherit autotools eutils gnome2-utils + +DESCRIPTION="Compiz Fusion Window Decorator Extra Plugins" +HOMEPAGE="http://www.compiz.org/" +SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="gconf libnotify" + +MY_PV="0.8.4" + +RDEPEND=" + >=gnome-base/librsvg-2.14.0:2 + virtual/jpeg:0 + >=x11-libs/compiz-bcop-${MY_PV} + >=x11-plugins/compiz-plugins-main-${PV} + >=x11-wm/compiz-${PV}[gconf?] + libnotify? ( x11-libs/libnotify ) +" + +DEPEND="${RDEPEND} + >=dev-util/intltool-0.35 + >=dev-util/pkgconfig-0.19 + >=sys-devel/gettext-0.15 + x11-libs/cairo + gconf? ( gnome-base/gconf:2 ) +" + +src_prepare() { + if ! use gconf; then + epatch "${FILESDIR}"/${PN}-no-gconf.patch + fi + + epatch "${FILESDIR}/${P}-libnotify.patch" + + # required to apply the above patch + intltoolize --copy --force || die "intltoolize failed" + eautoreconf || die "eautoreconf failed" +} + +src_configure() { + econf \ + --disable-dependency-tracking \ + --enable-fast-install \ + --disable-static \ + $(use_enable gconf schemas) \ + $(use_with libnotify) +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + find "${D}" -name '*.la' -delete || die +} + +pkg_preinst() { + use gconf && gnome2_gconf_savelist +} + +pkg_postinst() { + use gconf && gnome2_gconf_install +} diff --git a/x11-plugins/compiz-plugins-extra/files/compiz-plugins-extra-0.8.6-libnotify.patch b/x11-plugins/compiz-plugins-extra/files/compiz-plugins-extra-0.8.6-libnotify.patch new file mode 100644 index 0000000..967abc4 --- /dev/null +++ b/x11-plugins/compiz-plugins-extra/files/compiz-plugins-extra-0.8.6-libnotify.patch @@ -0,0 +1,45 @@ +--- configure.ac ++++ configure.ac +@@ -136,9 +136,12 @@ + PKG_CHECK_MODULES(COMPIZMOUSEPOLL, compiz-mousepoll, [have_compiz_mousepoll=yes], [have_compiz_mousepoll=no]) + AM_CONDITIONAL(SHOWMOUSE_PLUGIN, test "x$have_compiz_mousepoll" = "xyes") + +-PKG_CHECK_MODULES(LIBNOTIFY, libnotify, [have_libnotify=yes], [have_libnotify=no]) ++AC_ARG_WITH([libnotify], [AS_HELP_STRING([--without-libnotify], [Build without libnotify support @<:@default=auto@:>@])]) ++AS_IF([test "x$with_libnotify" != "xno"], [ ++ PKG_CHECK_MODULES(LIBNOTIFY, libnotify, [have_libnotify=yes], [have_libnotify=no]) ++]) + AM_CONDITIONAL(NOTIFICATION_PLUGIN, test "x$have_libnotify" = "xyes") +-if test "$have_libnotify" = yes; then ++if test "x$have_libnotify" = "xyes"; then + AC_DEFINE(USE_NOTIFICATION, 1, [Build notification plugin]) + fi + +--- src/notification/notification.c ++++ src/notification/notification.c +@@ -21,6 +21,11 @@ + + + #include ++ ++#ifndef NOTIFY_CHECK_VERSION ++#define NOTIFY_CHECK_VERSION(x,y,z) 0 ++#endif ++ + #include + #include + #include +@@ -103,7 +108,12 @@ + + n = notify_notification_new (logLevel, + message, +- iconUri, NULL); ++ iconUri ++#if NOTIFY_CHECK_VERSION (0, 7, 0) ++ ); ++#else ++ , NULL); ++#endif + + notify_notification_set_timeout (n, nd->timeout); + diff --git a/x11-plugins/compiz-plugins-extra/files/compiz-plugins-extra-no-gconf.patch b/x11-plugins/compiz-plugins-extra/files/compiz-plugins-extra-no-gconf.patch new file mode 100644 index 0000000..49bf16b --- /dev/null +++ b/x11-plugins/compiz-plugins-extra/files/compiz-plugins-extra-no-gconf.patch @@ -0,0 +1,21 @@ + configure.ac | 5 ++--- + 1 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0a3d7c1..6f8356d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -150,11 +150,10 @@ if test x"$use_schemas" = x"yes"; then + fi + xsltdir=`$PKG_CONFIG --variable=xsltdir compiz-gconf` + AC_SUBST(xsltdir) ++else ++ AM_CONDITIONAL(GCONF_SCHEMAS_INSTALL, test "x$use_gconf" = "xyes") + fi + +-AM_GCONF_SOURCE_2 +- +- + AM_CONDITIONAL(USE_SCHEMAS, test "x$use_schemas" = "xyes") + if test "$use_schemas" = yes; then + AC_DEFINE(USE_SCHEMAS, 1, [Build gconf schemas]) diff --git a/x11-plugins/compiz-plugins-main/Manifest b/x11-plugins/compiz-plugins-main/Manifest new file mode 100644 index 0000000..be4459e --- /dev/null +++ b/x11-plugins/compiz-plugins-main/Manifest @@ -0,0 +1,4 @@ +AUX compiz-plugins-main-0.8.4-put-plugin.patch 6918 RMD160 1c14b58a95694e711d1dcd0036471fe465cf2a0e SHA1 fc50491bc22fe1f46f2779b9e24fc07e4c15bdc4 SHA256 1155ac5765d1712b8dee5813b41a638ea01cc16519837e7137a69d6a1e79e614 +AUX compiz-plugins-main-no-gconf.patch 586 RMD160 1222325cbec30e35030c930cd3a9358a3b975047 SHA1 95ef3484e60b4f3c4d0bced6b0fb654e7cbcff89 SHA256 bc13b648e2198dd3611ba4f4734540903a740570a2c181dc666dd1e66f13e1da +DIST compiz-plugins-main-0.8.6.tar.bz2 1226802 RMD160 7eefc691c26199487309fc5e5b0993bfe3f3dd86 SHA1 6cd9c6a48c570061ac0b6275a6acddd8415b8611 SHA256 66dc4f349b11dbeac08f941d2d3443aa9b80d82f35c304db747ff383491ed6d9 +EBUILD compiz-plugins-main-0.8.6-r9999.ebuild 1403 RMD160 f080d6b5f7b678ef28cbc4e00369f292f9d89bc3 SHA1 d87a87334f3c0c25e5a798ab72b20e1052683c36 SHA256 7aa45b32b82a440595bd9ad9ec8cb65b7402fed4bfc18428d46dc3fb8c1961c8 diff --git a/x11-plugins/compiz-plugins-main/compiz-plugins-main-0.8.6-r9999.ebuild b/x11-plugins/compiz-plugins-main/compiz-plugins-main-0.8.6-r9999.ebuild new file mode 100644 index 0000000..de10177 --- /dev/null +++ b/x11-plugins/compiz-plugins-main/compiz-plugins-main-0.8.6-r9999.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-plugins/compiz-plugins-main/compiz-plugins-main-0.8.6-r1.ebuild,v 1.4 2011/03/21 19:50:33 nirbheek Exp $ + +EAPI="2" + +inherit autotools eutils gnome2-utils + +DESCRIPTION="Compiz Fusion Window Decorator Plugins" +HOMEPAGE="http://www.compiz.org/" +SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="gconf" + +MY_PV="0.8.4" + +RDEPEND=" + >=gnome-base/librsvg-2.14.0:2 + virtual/jpeg:0 + x11-libs/cairo + >=x11-libs/compiz-bcop-${MY_PV} + >=x11-wm/compiz-${PV}[gconf?] +" + +DEPEND="${RDEPEND} + >=dev-util/intltool-0.35 + >=dev-util/pkgconfig-0.19 + >=sys-devel/gettext-0.15 + gconf? ( gnome-base/gconf:2 ) +" + +src_prepare() { + if ! use gconf; then + epatch "${FILESDIR}"/${PN}-no-gconf.patch + + # required to apply the above patch + intltoolize --copy --force || die "intltoolize failed" + eautoreconf || die "eautoreconf failed" + fi +} + +src_configure() { + econf \ + --disable-dependency-tracking \ + --enable-fast-install \ + --disable-static \ + $(use_enable gconf schemas) +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + find "${D}" -name '*.la' -delete || die +} + +pkg_preinst() { + use gconf && gnome2_gconf_savelist +} + +pkg_postinst() { + use gconf && gnome2_gconf_install +} diff --git a/x11-plugins/compiz-plugins-main/files/compiz-plugins-main-0.8.4-put-plugin.patch b/x11-plugins/compiz-plugins-main/files/compiz-plugins-main-0.8.4-put-plugin.patch new file mode 100644 index 0000000..b44081d --- /dev/null +++ b/x11-plugins/compiz-plugins-main/files/compiz-plugins-main-0.8.4-put-plugin.patch @@ -0,0 +1,184 @@ +From dc097d85952f82b101ea897d33958582db2fa010 Mon Sep 17 00:00:00 2001 +From: Danny Baumann +Date: Sun, 31 Jan 2010 13:11:44 +0000 +Subject: Handle windows that have server border set properly. + +--- +diff --git a/put.c b/put.c +index daf268f..9870cd3 100644 +--- a/src/put/put.c ++++ b/src/put/put.c +@@ -43,6 +43,14 @@ + GET_PUT_SCREEN (w->screen, \ + GET_PUT_DISPLAY (w->screen->display))) + ++#define TOP_BORDER(w) ((w)->input.top) ++#define LEFT_BORDER(w) ((w)->input.left) ++#define RIGHT_BORDER(w) ((w)->input.right + 2 * (w)->serverBorderWidth) ++#define BOTTOM_BORDER(w) ((w)->input.bottom + 2 * (w)->serverBorderWidth) ++ ++#define HALF_WIDTH(w) ((w)->serverWidth / 2 + (w)->serverBorderWidth) ++#define HALF_HEIGHT(w) ((w)->serverHeight / 2 + (w)->serverBorderWidth) ++ + static int displayPrivateIndex; + + typedef enum +@@ -395,54 +403,56 @@ putGetDistance (CompWindow *w, + switch (type) { + case PutCenter: + /* center of the screen */ +- dx = (workArea.width / 2) - (w->serverWidth / 2) - (x - workArea.x); +- dy = (workArea.height / 2) - (w->serverHeight / 2) - (y - workArea.y); ++ dx = (workArea.width / 2) - (w->serverWidth / 2) - ++ w->serverBorderWidth - (x - workArea.x); ++ dy = (workArea.height / 2) - (w->serverHeight / 2) - ++ w->serverBorderWidth - (y - workArea.y); + break; + case PutLeft: + /* center of the left edge */ +- dx = -(x - workArea.x) + w->input.left + putGetPadLeft (s); +- dy = (workArea.height / 2) - (w->serverHeight / 2) - (y - workArea.y); ++ dx = -(x - workArea.x) + LEFT_BORDER (w) + putGetPadLeft (s); ++ dy = (workArea.height / 2) - HALF_HEIGHT (w) - (y - workArea.y); + break; + case PutTopLeft: + /* top left corner */ +- dx = -(x - workArea.x) + w->input.left + putGetPadLeft (s); +- dy = -(y - workArea.y) + w->input.top + putGetPadTop (s); ++ dx = -(x - workArea.x) + LEFT_BORDER (w) + putGetPadLeft (s); ++ dy = -(y - workArea.y) + TOP_BORDER (w) + putGetPadTop (s); + break; + case PutTop: + /* center of top edge */ +- dx = (workArea.width / 2) - (w->serverWidth / 2) - (x - workArea.x); +- dy = -(y - workArea.y) + w->input.top + putGetPadTop (s); ++ dx = (workArea.width / 2) - HALF_WIDTH (w) - (x - workArea.x); ++ dy = -(y - workArea.y) + TOP_BORDER (w) + putGetPadTop (s); + break; + case PutTopRight: + /* top right corner */ + dx = workArea.width - w->serverWidth - (x - workArea.x) - +- w->input.right - putGetPadRight (s); +- dy = -(y - workArea.y) + w->input.top + putGetPadTop (s); ++ RIGHT_BORDER (w) - putGetPadRight (s); ++ dy = -(y - workArea.y) + TOP_BORDER (w) + putGetPadTop (s); + break; + case PutRight: + /* center of right edge */ + dx = workArea.width - w->serverWidth - (x - workArea.x) - +- w->input.right - putGetPadRight (s); +- dy = (workArea.height / 2) - (w->serverHeight / 2) - (y - workArea.y); ++ RIGHT_BORDER (w) - putGetPadRight (s); ++ dy = (workArea.height / 2) - HALF_HEIGHT (w) - (y - workArea.y); + break; + case PutBottomRight: + /* bottom right corner */ + dx = workArea.width - w->serverWidth - (x - workArea.x) - +- w->input.right - putGetPadRight (s); ++ RIGHT_BORDER (w) - putGetPadRight (s); + dy = workArea.height - w->serverHeight - (y - workArea.y) - +- w->input.bottom - putGetPadBottom (s); ++ BOTTOM_BORDER (w) - putGetPadBottom (s); + break; + case PutBottom: + /* center of bottom edge */ +- dx = (workArea.width / 2) - (w->serverWidth / 2) - (x - workArea.x); ++ dx = (workArea.width / 2) - HALF_WIDTH (w) - (x - workArea.x); + dy = workArea.height - w->serverHeight - (y - workArea.y) - +- w->input.bottom - putGetPadBottom (s); ++ BOTTOM_BORDER (w) - putGetPadBottom (s); + break; + case PutBottomLeft: + /* bottom left corner */ +- dx = -(x - workArea.x) + w->input.left + putGetPadLeft (s); ++ dx = -(x - workArea.x) + LEFT_BORDER (w) + putGetPadLeft (s); + dy = workArea.height - w->serverHeight - (y - workArea.y) - +- w->input.bottom - putGetPadBottom (s); ++ BOTTOM_BORDER (w) - putGetPadBottom (s); + break; + case PutRestore: + /* back to last position */ +@@ -538,16 +548,16 @@ putGetDistance (CompWindow *w, + if (posX < 0) + /* account for a specified negative position, + like geometry without (-0) */ +- dx = posX + s->width - w->serverWidth - x - w->input.right; ++ dx = posX + s->width - w->serverWidth - x - RIGHT_BORDER (w); + else +- dx = posX - x + w->input.left; ++ dx = posX - x + LEFT_BORDER (w); + + if (posY < 0) + /* account for a specified negative position, + like geometry without (-0) */ +- dy = posY + s->height - w->height - y - w->input.bottom; ++ dy = posY + s->height - w->serverHeight - y - BOTTOM_BORDER (w); + else +- dy = posY - y + w->input.top; ++ dy = posY - y + TOP_BORDER (w); + break; + case PutRelative: + /* move window by offset */ +@@ -572,35 +582,35 @@ putGetDistance (CompWindow *w, + if (putGetWindowCenter (s)) + { + /* window center */ +- dx = rx - (w->serverWidth / 2) - x; +- dy = ry - (w->serverHeight / 2) - y; ++ dx = rx - HALF_WIDTH (w) - x; ++ dy = ry - HALF_HEIGHT (w) - y; + } + else if (rx < s->workArea.width / 2 && + ry < s->workArea.height / 2) + { + /* top left quad */ +- dx = rx - x + w->input.left; +- dy = ry - y + w->input.top; ++ dx = rx - x + LEFT_BORDER (w); ++ dy = ry - y + TOP_BORDER (w); + } + else if (rx < s->workArea.width / 2 && + ry >= s->workArea.height / 2) + { + /* bottom left quad */ +- dx = rx - x + w->input.left; +- dy = ry - w->height - y - w->input.bottom; ++ dx = rx - x + LEFT_BORDER (w); ++ dy = ry - w->serverHeight - y - BOTTOM_BORDER (w); + } + else if (rx >= s->workArea.width / 2 && + ry < s->workArea.height / 2) + { + /* top right quad */ +- dx = rx - w->width - x - w->input.right; +- dy = ry - y + w->input.top; ++ dx = rx - w->serverWidth - x - RIGHT_BORDER (w); ++ dy = ry - y + TOP_BORDER (w); + } + else + { + /* bottom right quad */ +- dx = rx - w->width - x - w->input.right; +- dy = ry - w->height - y - w->input.bottom; ++ dx = rx - w->serverWidth - x - RIGHT_BORDER (w); ++ dy = ry - w->serverHeight - y - BOTTOM_BORDER (w); + } + } + else +@@ -627,10 +637,10 @@ putGetDistance (CompWindow *w, + inDx = dxBefore = dx % s->width; + inDy = dyBefore = dy % s->height; + +- extents.left = x + inDx - w->input.left; +- extents.top = y + inDy - w->input.top; +- extents.right = x + inDx + w->serverWidth + w->input.right; +- extents.bottom = y + inDy + w->serverHeight + w->input.bottom; ++ extents.left = x + inDx - LEFT_BORDER (w); ++ extents.top = y + inDy - TOP_BORDER (w); ++ extents.right = x + inDx + w->serverWidth + RIGHT_BORDER (w); ++ extents.bottom = y + inDy + w->serverHeight + BOTTOM_BORDER (w); + + area.left = workArea.x + putGetPadLeft (s); + area.top = workArea.y + putGetPadTop (s); +-- +cgit v0.8.2 diff --git a/x11-plugins/compiz-plugins-main/files/compiz-plugins-main-no-gconf.patch b/x11-plugins/compiz-plugins-main/files/compiz-plugins-main-no-gconf.patch new file mode 100644 index 0000000..63222a5 --- /dev/null +++ b/x11-plugins/compiz-plugins-main/files/compiz-plugins-main-no-gconf.patch @@ -0,0 +1,22 @@ + configure.ac | 5 ++--- + 1 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 297a8cf..290e92b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -171,11 +171,10 @@ + if test x"$use_schemas" = x"yes"; then + fi + xsltdir=`$PKG_CONFIG --variable=xsltdir compiz-gconf` + AC_SUBST(xsltdir) ++else ++ AM_CONDITIONAL(GCONF_SCHEMAS_INSTALL, test "x$use_gconf" = "xyes") + fi + +-AM_GCONF_SOURCE_2 +- +- + AM_CONDITIONAL(USE_SCHEMAS, test "x$use_schemas" = "xyes") + if test "$use_schemas" = yes; then + AC_DEFINE(USE_SCHEMAS, 1, [Build gconf schemas]) diff --git a/x11-plugins/compiz-plugins-unsupported/Manifest b/x11-plugins/compiz-plugins-unsupported/Manifest new file mode 100644 index 0000000..96a23ef --- /dev/null +++ b/x11-plugins/compiz-plugins-unsupported/Manifest @@ -0,0 +1,2 @@ +DIST compiz-plugins-unsupported-0.8.4.tar.bz2 1152247 RMD160 349aad141ae02ab024b88ee61649478c364862a4 SHA1 8c322e06bd6d7f84f3b7cd9b28034333a3ad2793 SHA256 50b6aec773e72d5c0e2de801b83d323feb17d2399cc632a49d6641c888dd1006 +EBUILD compiz-plugins-unsupported-0.8.4-r9999.ebuild 869 RMD160 728263ad82309c682dcc0bf346764b5bfa403c11 SHA1 006140e282292cea3e0590d57aedc777317757a4 SHA256 e5f0823eb5f8945cadca6eb3945d93221a53f4992d264a6e6ae40026b8e360ec diff --git a/x11-plugins/compiz-plugins-unsupported/compiz-plugins-unsupported-0.8.4-r9999.ebuild b/x11-plugins/compiz-plugins-unsupported/compiz-plugins-unsupported-0.8.4-r9999.ebuild new file mode 100644 index 0000000..a673f16 --- /dev/null +++ b/x11-plugins/compiz-plugins-unsupported/compiz-plugins-unsupported-0.8.4-r9999.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-plugins/compiz-plugins-unsupported/compiz-plugins-unsupported-0.8.4-r1.ebuild,v 1.3 2011/03/21 19:51:02 nirbheek Exp $ + +EAPI="2" + +DESCRIPTION="Compiz Fusion Window Decorator Unsupported Plugins" +HOMEPAGE="http://www.compiz.org/" +SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="" + +RDEPEND=" + >=gnome-base/librsvg-2.14.0:2 + virtual/jpeg:0 + >=x11-libs/compiz-bcop-${PV} + >=x11-plugins/compiz-plugins-main-${PV} + >=x11-wm/compiz-${PV} +" + +DEPEND="${RDEPEND} + >=dev-util/intltool-0.35 + >=dev-util/pkgconfig-0.19 + >=sys-devel/gettext-0.15 + x11-libs/cairo +" + +RESTRICT="mirror" + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" +} diff --git a/x11-themes/emerald-themes/Manifest b/x11-themes/emerald-themes/Manifest new file mode 100644 index 0000000..e00095b --- /dev/null +++ b/x11-themes/emerald-themes/Manifest @@ -0,0 +1,2 @@ +DIST emerald-themes-0.5.2.tar.bz2 1563758 RMD160 e61676b946ba13eb05b0417aadac6ea1294e0254 SHA1 98a1c03592e883d15b3579f28b45cd7d8432ce94 SHA256 1c2c77a0fff352569a2f013e8b6c1fd99e2b6f9185c9a64d2cf2e918d9de4841 +EBUILD emerald-themes-0.5.2-r9999.ebuild 551 RMD160 794351d8ebe7697b14f4f77a70e01062e78edc2d SHA1 52b60593193f4b25bdb481564f2b6f60a3107d64 SHA256 2620c5ceaf3d23dbc3592f220a32875174117eb998545770b83cb5d4a9bd19f2 diff --git a/x11-themes/emerald-themes/emerald-themes-0.5.2-r9999.ebuild b/x11-themes/emerald-themes/emerald-themes-0.5.2-r9999.ebuild new file mode 100644 index 0000000..867f478 --- /dev/null +++ b/x11-themes/emerald-themes/emerald-themes-0.5.2-r9999.ebuild @@ -0,0 +1,17 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-themes/emerald-themes/emerald-themes-0.5.2.ebuild,v 1.3 2007/10/24 18:39:26 hanno Exp $ + +DESCRIPTION="Emerald window decorator themes" +HOMEPAGE="http://compiz-fusion.org" +SRC_URI="http://releases.compiz-fusion.org/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="" +DEPEND="x11-wm/emerald" + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" +} diff --git a/x11-wm/compiz-fusion/Manifest b/x11-wm/compiz-fusion/Manifest new file mode 100644 index 0000000..ce6f735 --- /dev/null +++ b/x11-wm/compiz-fusion/Manifest @@ -0,0 +1 @@ +EBUILD compiz-fusion-0.8.6-r9999.ebuild 949 RMD160 4add77884ee9a1748380fea43a006e65673dce92 SHA1 010a6adc9efc137416183da723bb940787605cd9 SHA256 5c6efe9ec0ac7a25371bd2b7bc244a572749f5938bbfa2de37c718b5e5d7179b diff --git a/x11-wm/compiz-fusion/compiz-fusion-0.8.6-r9999.ebuild b/x11-wm/compiz-fusion/compiz-fusion-0.8.6-r9999.ebuild new file mode 100644 index 0000000..868e299 --- /dev/null +++ b/x11-wm/compiz-fusion/compiz-fusion-0.8.6-r9999.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/compiz-fusion/compiz-fusion-0.8.6.ebuild,v 1.1 2010/04/03 06:13:26 jmbsvicetto Exp $ + +DESCRIPTION="Compiz Fusion (meta)" +HOMEPAGE="http://www.compiz.org/" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="emerald gnome kde unsupported" + +MY_PV=0.8.4 + +RDEPEND=" + >=x11-wm/compiz-${PV} + >=x11-plugins/compiz-plugins-main-${PV} + >=x11-plugins/compiz-plugins-extra-${PV} + unsupported? ( >=x11-plugins/compiz-plugins-unsupported-${MY_PV} ) + >=x11-apps/ccsm-${MY_PV} + emerald? ( >=x11-wm/emerald-${MY_PV} ) + gnome? ( >=x11-libs/compizconfig-backend-gconf-${MY_PV} ) + kde? ( >=x11-libs/compizconfig-backend-kconfig4-${MY_PV} )" + +pkg_postinst() { + ewarn "If you want to try out simple-ccsm, you'll need to emerge it" + ewarn "If you want to use emerald, set the emerald use flag" +} diff --git a/x11-wm/compiz/Manifest b/x11-wm/compiz/Manifest new file mode 100644 index 0000000..aa8f5bf --- /dev/null +++ b/x11-wm/compiz/Manifest @@ -0,0 +1,17 @@ +AUX 0.3.6/compiz-start 1122 RMD160 6e2e0db666a9fd7648e894d9f778dcb1c59bb6c0 SHA1 f710dcfbd6274ff7bed3f264d284a4dcecb27254 SHA256 04a944e8e39ef1a6226b350027a5865bb56b45230aa59eae9574cd6c75529fa4 +AUX compiz-0.6.2-CVE-2007-3920.patch 1019 RMD160 024316c8213df5c68ceb39c404da4227cdfbf21f SHA1 adf6c10f0fa3de040704cd208d09d93b402667b8 SHA256 63b7dd520b4659f8124e3122ffeb0577c07d90539211f8383037eef744c0e5ee +AUX compiz-0.7.8-framesvg.patch 3119 RMD160 315aeb6b97db26af1bc48a2fb66228b402a07823 SHA1 5706c35119691c7b466e4c3b6dc39dd5a463cddf SHA256 9d323dd2ff10848d3c2cac93b00b67cca878f77942443a96f16b82c649535a21 +AUX compiz-0.8.2-gtk-gnome-missing-gconf-flags.patch 1118 RMD160 cc6920723b29f89da29c7ca5df89770cf70d94a8 SHA1 5b0e790e0a0cc304b2510de53dee7648e0ca67c1 SHA256 071a9a8032a21cd560cb68eb172b2557bb997cffc750ba8212c2fd88443d9519 +AUX compiz-0.8.4-crash-on-opening-windows.patch 2018 RMD160 b663a4ee0c6e01f140f6883910f275fb9b8c9255 SHA1 3ce56bd0fc7dba1eb936b9b30f76a5c426c06f8b SHA256 49e7c74ea45a247b203167b9761b977e6faa37e63ccde552823cb6f2df87379c +AUX compiz-0.8.4-gtk+-2.20-build.patch 428 RMD160 b85b46cf463b1f3004378623ef353eb4d8e8885e SHA1 efdf24a2b035b1da7b959fb4e2c68bb504cf4666 SHA256 e53dab667b7cae6815f53bbabd8e45ecdc84bf2e0378ed1036825f0658d27c1b +AUX compiz-0.8.4-kde44.patch 5885 RMD160 6474717141c71f53770ffa4896444d0b653e7b41 SHA1 8aa8fa2430e5ce4696dc1fabac0eb714b5571d3a SHA256 e40e670ce80d6fd6bff933bd235e4f6ad0382d1b29b8e56a2648980824761366 +AUX compiz-0.8.4-libpng14.patch 1079 RMD160 4aa191610f53742919332542ff6fb18923648ceb SHA1 c671db1d210a366b635da7288aeb35fae56e0eca SHA256 ff335ba40869d5ac11f3f59b0617092581d0032cb2124d0336cac5d962b95dc2 +AUX compiz-0.8.4-place-plugin.patch 3674 RMD160 b99a356b19a2e1df4346ce5f8b49522d2c7df1a5 SHA1 3feed76f30616d61d2baab103191fe0d93289757 SHA256 1e6a8b945b20909cb492755fd7732252e506c2ba2136b5253cde5dc59d5375f0 +AUX compiz-0.8.4-window-region-calculation.patch 1197 RMD160 6c58f5dc4d7c22c257e8489f7fee69c26d688da2 SHA1 b288a10f2fb783584188414102e314997ccf3cb5 SHA256 b9c64eba865445f4209f6073d1a96ddd110bb012ba9d2701501901d6c791ecfc +AUX compiz-0.8.6-gdk-display-deprecated.patch 3392 RMD160 4bb482661724774ec96a6a64351353182765603c SHA1 e37a393786d9051eb5c9a9e079bd01a723f86de5 SHA256 a8038d6a80abe7f44f433f6ab0dd0cf39945850564b5da33244b88a099b4efb8 +AUX compiz-0.8.6-r2-fontcorruption.patch 676 RMD160 0e6da6560eed5ac90f9cbe2fb824a8f7124d5291 SHA1 6fc671dcf5dced7cb7ff9157c8d005d11ef8b913 SHA256 2c4c42a251c1583a8e7fe468c1868aa42b1318db5ee95189e23ae9be8061cd43 +AUX compiz-manager 9835 RMD160 0c579ebd41c22b4f33edb2d2d5b1e41ac30720ac SHA1 ff39aa8abf43e42895aec6696c3659773f927fd2 SHA256 e387ff9f01b84c572f31643316ed2ce2eacd11a92488e745ebcfd659945c6f1d +AUX compiz-no-gconf.patch 630 RMD160 32b6990dff7baf7f3cb04f728ab04d1523f29c46 SHA1 ad1c0a38dcb83c4768031f0b87db4748b2c24b92 SHA256 87467fbe5d4e0d0bb8952f2d5b74d21046d92d49772543aeda137266e055aa67 +AUX compiz.desktop 273 RMD160 704f0e631cd41d810af323b5fabbbf7eac5a943b SHA1 e244587cc28613ab92568846754e91bb193f0e85 SHA256 28a5459148c7733cdd82e3ecc1f584231d2619c7305b8bf71060db331bf081fb +DIST compiz-0.8.6.tar.bz2 1162334 RMD160 7a5476a21143e29ac2e35465c49e8a52b629a864 SHA1 8d5998cb18418283cbd367f126a65dde4062ad00 SHA256 c4df69b59b5660a37462de9ff0212af024ccf9c8038651bfda3557c955ab4f8c +EBUILD compiz-0.8.6-r9999.ebuild 4035 RMD160 794d59ba44892aca9d335e4c2d70184a8925b90a SHA1 1ab759f6767873cdee8bacddd483e59b9e8d1c8f SHA256 e5d7add1f1bff6a09baf3e68376dd9f59b5762b83241d439823cd0604db56dce diff --git a/x11-wm/compiz/compiz-0.8.6-r9999.ebuild b/x11-wm/compiz/compiz-0.8.6-r9999.ebuild new file mode 100644 index 0000000..4b1d859 --- /dev/null +++ b/x11-wm/compiz/compiz-0.8.6-r9999.ebuild @@ -0,0 +1,168 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/compiz/compiz-0.8.6-r3.ebuild,v 1.3 2011/11/11 22:54:51 ssuominen Exp $ + +EAPI="2" + +inherit autotools eutils gnome2-utils + +DESCRIPTION="OpenGL window and compositing manager" +HOMEPAGE="http://www.compiz.org/" +SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2 LGPL-2.1 MIT" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +# dbus has been disabled because of bug 365121 +IUSE="+cairo fuse gnome gconf gtk kde +svg" # dbus + +COMMONDEPEND=" + dev-libs/glib:2 + dev-libs/libxml2:2 + dev-libs/libxslt + media-libs/libpng + >=media-libs/mesa-6.5.1-r1 + >=x11-base/xorg-server-1.1.1-r1 + >=x11-libs/libX11-1.4 + x11-libs/libxcb + x11-libs/libXcomposite + x11-libs/libXdamage + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libICE + x11-libs/libSM + >=x11-libs/libXrender-0.8.4 + >=x11-libs/startup-notification-0.7 + cairo? ( + x11-libs/cairo[X] + ) + fuse? ( sys-fs/fuse ) + gnome? ( + >=gnome-base/gnome-control-center-2.16.1:2 + gnome-base/gnome-desktop:2 + gconf? ( gnome-base/gconf:2 ) + ) + gtk? ( + >=x11-libs/gtk+-2.8.0:2 + >=x11-libs/libwnck-2.18.3:1 + x11-libs/pango + ) + kde? ( + || ( + >=kde-base/kwin-4.2.0 + kde-base/kwin:live + ) + ) + svg? ( + >=gnome-base/librsvg-2.14.0:2 + >=x11-libs/cairo-1.0 + ) +" +# dbus? ( >=sys-apps/dbus-1.0 ) + +DEPEND="${COMMONDEPEND} + dev-util/pkgconfig + x11-proto/damageproto + x11-proto/xineramaproto +" + +RDEPEND="${COMMONDEPEND} + x11-apps/mesa-progs + x11-apps/xvinfo +" + +src_prepare() { + + echo "gtk/gnome/compiz-wm.desktop.in" >> "${S}/po/POTFILES.skip" + echo "metadata/core.xml.in" >> "${S}/po/POTFILES.skip" + + # fix cont corruption, bug #343861 + epatch "${FILESDIR}"/${P}-r2-fontcorruption.patch + epatch "${FILESDIR}"/${P}-gdk-display-deprecated.patch + + if ! use gnome || ! use gconf; then + epatch "${FILESDIR}"/${PN}-no-gconf.patch + fi + eautoreconf +} + +src_configure() { + local myconf= + + # We make gconf optional by itself, but only if gnome is also + # enabled, otherwise we simply disable it. + if use gnome; then + myconf="${myconf} $(use_enable gconf)" + else + myconf="${myconf} --disable-gconf" + fi + + econf \ + --disable-dependency-tracking \ + --enable-fast-install \ + --disable-static \ + --disable-gnome-keybindings \ + --with-default-plugins \ + $(use_enable svg librsvg) \ + $(use_enable cairo annotate) \ + --disable-dbus \ + --disable-dbus-glib \ + $(use_enable fuse) \ + $(use_enable gnome) \ + $(use_enable gnome metacity) \ + $(use_enable gtk) \ + $(use_enable kde kde4) \ + --disable-kde \ + ${myconf} + + # $(use_enable dbus) + # $(use_enable dbus dbus-glib) +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + + find "${D}" -name '*.la' -delete || die + + # Install compiz-manager + dobin "${FILESDIR}/compiz-manager" || die "dobin failed" + + # Add the full-path to lspci + sed -i "s#lspci#/usr/sbin/lspci#" "${D}/usr/bin/compiz-manager" || die "sed 1 failed" + + # Fix the hardcoded lib paths + sed -i "s#/lib/#/$(get_libdir)/#g" "${D}/usr/bin/compiz-manager" || die "sed 2 failed" + + # Create gentoo's config file + dodir /etc/xdg/compiz || die "dodir failed" + + cat <<- EOF > "${D}/etc/xdg/compiz/compiz-manager" + COMPIZ_BIN_PATH="/usr/bin/" + PLUGIN_PATH="/usr/$(get_libdir)/compiz/" + LIBGL_NVIDIA="/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.so.1.2" + LIBGL_FGLRX="/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.so.1.2" + KWIN="$(type -p kwin)" + METACITY="$(type -p metacity)" + SKIP_CHECKS="yes" + EOF + + dodoc AUTHORS ChangeLog NEWS README TODO || die "dodoc failed" + + insinto "/usr/share/applications" + doins "${FILESDIR}/compiz.desktop" || die "Failed to install compiz.desktop" +} + +pkg_preinst() { + use gnome && use gconf && gnome2_gconf_savelist +} + +pkg_postinst() { + use gnome && use gconf && gnome2_gconf_install + + ewarn "If you update to x11-wm/metacity-2.24 after you install ${P}," + ewarn "gtk-window-decorator will crash until you reinstall ${PN} again." +} + +pkg_prerm() { + use gnome && gnome2_gconf_uninstall +} diff --git a/x11-wm/compiz/files/0.3.6/compiz-start b/x11-wm/compiz/files/0.3.6/compiz-start new file mode 100755 index 0000000..161068b --- /dev/null +++ b/x11-wm/compiz/files/0.3.6/compiz-start @@ -0,0 +1,41 @@ +# compiz-start script +# +# hacky autodetection of neccessary options for XGL/AIGLX/NVIDIA +# +# Hanno Boeck, http://www.hboeck.de/ +# +# Licensed under the same conditions as compiz itself (MIT or GPL) + +if [ ! -x /usr/bin/glxinfo ]; then + echo "glxinfo not found, please install mesa-progs." + exit -1 +fi + +GLX_WITH_DIRECT=`glxinfo|grep -c GLX_EXT_texture_from_pixmap` +GLX_WITH_INDIRECT=`LIBGL_ALWAYS_INDIRECT=1 glxinfo|grep -c GLX_EXT_texture_from_pixmap` +GLX_RENDER=`glxinfo|grep -c "OpenGL renderer string: Mesa GLX Indirect"` + + +COMPIZ_OPTIONS="--replace" + +if [ $GLX_WITH_DIRECT -eq 3 ]; then + if [ $GLX_RENDER -eq 0 ]; then + echo NVIDA detected + export __GL_YIELD="NOTHING" + else + echo XGL detected + fi +elif [ $GLX_WITH_INDIRECT -eq 3 ]; then + echo AIGLX detected + export LIBGL_ALWAYS_INDIRECT=1 +fi + +if [ ! -z $KDE_FULL_SESSION ] && [ -x /usr/bin/kde-window-decorator ]; then + echo Using KDE decorator + kde-window-decorator --replace & +else + echo Using GTK decorator + gtk-window-decorator --replace & +fi + +compiz $COMPIZ_OPTIONS gconf move resize minimize place decoration wobbly fade cube rotate scale switcher zoom dbus diff --git a/x11-wm/compiz/files/compiz-0.6.2-CVE-2007-3920.patch b/x11-wm/compiz/files/compiz-0.6.2-CVE-2007-3920.patch new file mode 100644 index 0000000..e2de8fd --- /dev/null +++ b/x11-wm/compiz/files/compiz-0.6.2-CVE-2007-3920.patch @@ -0,0 +1,29 @@ +Index: compiz-0.6.2/src/screen.c +=================================================================== +--- compiz-0.6.2.orig/src/screen.c ++++ compiz-0.6.2/src/screen.c +@@ -2244,7 +2244,8 @@ findTopLevelWindowAtScreen (CompScreen * + for (w = s->windows; w; w = w->next) + if (w->frame == id) + return w; +- } ++ } else if (w->resName && strstr(w->resName,"screensaver")) ++ return w; + + return NULL; + } +Index: compiz-0.6.2/src/paint.c +=================================================================== +--- compiz-0.6.2.orig/src/paint.c ++++ compiz-0.6.2/src/paint.c +@@ -211,7 +211,9 @@ paintOutputRegion (CompScreen *sc + if (count == 0 && + !REGION_NOT_EMPTY (tmpRegion) && + screen->opt[COMP_SCREEN_OPTION_UNREDIRECT_FS].value.b && +- XEqualRegion (w->region, &screen->region)) ++ XEqualRegion (w->region, &screen->region) && ++ !(w->resName && strcmp(w->resName, "gnome-screensaver") == 0) ++ ) + { + unredirectWindow (w); + fullscreenWindow = w; diff --git a/x11-wm/compiz/files/compiz-0.7.8-framesvg.patch b/x11-wm/compiz/files/compiz-0.7.8-framesvg.patch new file mode 100644 index 0000000..a3eb303 --- /dev/null +++ b/x11-wm/compiz/files/compiz-0.7.8-framesvg.patch @@ -0,0 +1,77 @@ +diff -p -up compiz-0.7.8/configure.ac.framesvg compiz-0.7.8/configure.ac +--- compiz-0.7.8/configure.ac.framesvg 2008-11-20 15:58:43.000000000 +0100 ++++ compiz-0.7.8/configure.ac 2008-11-20 16:34:25.000000000 +0100 +@@ -487,7 +487,7 @@ if test "x$use_kde4" = "xyes"; then + kde4libs=`kde4-config --install lib --expandvars 2>/dev/null` + kde4incs=`kde4-config --install include --expandvars 2>/dev/null` + +- kde4_test_includes="kdecoration.h kcommondecoration.h kdecorationbridge.h plasma/panelsvg.h" ++ kde4_test_includes="kdecoration.h kcommondecoration.h kdecorationbridge.h plasma/framesvg.h" + + dnl Check for KWin headers + AC_MSG_CHECKING([for KWin headers]) +diff -p -up compiz-0.7.8/kde/window-decorator-kde4/switcher.cpp.framesvg compiz-0.7.8/kde/window-decorator-kde4/switcher.cpp +--- compiz-0.7.8/kde/window-decorator-kde4/switcher.cpp.framesvg 2008-08-08 13:20:31.000000000 +0200 ++++ compiz-0.7.8/kde/window-decorator-kde4/switcher.cpp 2008-11-20 16:38:10.000000000 +0100 +@@ -30,7 +30,7 @@ + + #include + +-#include ++#include + #include + + #include +@@ -46,9 +46,9 @@ mId (id) + QColor color; + color = Plasma::Theme::defaultTheme ()->color (Plasma::Theme::TextColor); + +- mBackground = new Plasma::PanelSvg(); ++ mBackground = new Plasma::FrameSvg(); + mBackground->setImagePath ("dialogs/background"); +- mBackground->setEnabledBorders(Plasma::PanelSvg::AllBorders); ++ mBackground->setEnabledBorders(Plasma::FrameSvg::AllBorders); + + mBorder.left = mBackground->marginSize(Plasma::LeftMargin); + mBorder.right = mBackground->marginSize(Plasma::RightMargin); +@@ -131,8 +131,8 @@ KWD::Switcher::redrawPixmap () + p.setCompositionMode (QPainter::CompositionMode_Source); + p.setRenderHint (QPainter::SmoothPixmapTransform); + +- mBackground->resizePanel (QSizeF (contentWidth, contentHeight)); +- mBackground->paintPanel (&p, QRect (0, 0, contentWidth, ++ mBackground->resizeFrame (QSizeF (contentWidth, contentHeight)); ++ mBackground->paintFrame (&p, QRect (0, 0, contentWidth, + contentHeight)); + + mBackgroundPixmap = mPixmap.copy (mBorder.left, mBorder.top, +@@ -168,7 +168,7 @@ KWD::Switcher::update () + p.setCompositionMode (QPainter::CompositionMode_Source); + + +- mBackground->paintPanel (&p, QRect (mBorder.left, mBorder.top + ++ mBackground->paintFrame (&p, QRect (mBorder.left, mBorder.top + + mGeometry.height () + 5, mGeometry.width (), + fm.height ())); + +diff -p -up compiz-0.7.8/kde/window-decorator-kde4/switcher.h.framesvg compiz-0.7.8/kde/window-decorator-kde4/switcher.h +--- compiz-0.7.8/kde/window-decorator-kde4/switcher.h.framesvg 2008-08-08 13:20:31.000000000 +0200 ++++ compiz-0.7.8/kde/window-decorator-kde4/switcher.h 2008-11-20 16:36:22.000000000 +0100 +@@ -30,7 +30,7 @@ + + namespace Plasma + { +-class PanelSvg; ++class FrameSvg; + } + + class QSpacerItem; +@@ -70,7 +70,7 @@ class Switcher + + QRect mGeometry; + +- Plasma::PanelSvg *mBackground; ++ Plasma::FrameSvg *mBackground; + QPixmap mPixmap; + QPixmap mBackgroundPixmap; + diff --git a/x11-wm/compiz/files/compiz-0.8.2-gtk-gnome-missing-gconf-flags.patch b/x11-wm/compiz/files/compiz-0.8.2-gtk-gnome-missing-gconf-flags.patch new file mode 100644 index 0000000..e9888c3 --- /dev/null +++ b/x11-wm/compiz/files/compiz-0.8.2-gtk-gnome-missing-gconf-flags.patch @@ -0,0 +1,33 @@ +Author: Romain Perier +Subject: Missing gconf flags for gnome plugin, fix bug #282807 +Date: 2009-08-29 12:25 + +--- + gtk/gnome/Makefile.am | 7 ++++--- + 1 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/gtk/gnome/Makefile.am b/gtk/gnome/Makefile.am +index 208318a..d0a7c54 100644 +--- a/gtk/gnome/Makefile.am ++++ b/gtk/gnome/Makefile.am +@@ -2,7 +2,7 @@ moduledir = $(DESTDIR)$(windowsettingslibdir)/window-manager-settings + + if USE_GNOME + libcompiz_la_LDFLAGS = -export-dynamic -avoid-version -rpath $(moduledir) +-libcompiz_la_LIBADD = @GNOME_WINDOW_SETTINGS_LIBS@ ++libcompiz_la_LIBADD = @GNOME_WINDOW_SETTINGS_LIBS@ @GCONF_LIBS@ + libcompiz_la_SOURCES = \ + compiz-window-manager.c \ + compiz-window-manager.h +@@ -76,8 +76,9 @@ if USE_GNOME_KEYBINDINGS + endif + endif + +-INCLUDES = @GNOME_WINDOW_SETTINGS_CFLAGS@ \ +- -DMETACITY_THEME_DIR=\""$(windowsettingsdatadir)/themes"\" \ ++INCLUDES = @GNOME_WINDOW_SETTINGS_CFLAGS@ \ ++ @GCONF_CFLAGS@ \ ++ -DMETACITY_THEME_DIR=\""$(windowsettingsdatadir)/themes"\" \ + -DLOCALEDIR="\"@datadir@/locale"\" + + noinst_LTLIBRARIES = \ diff --git a/x11-wm/compiz/files/compiz-0.8.4-crash-on-opening-windows.patch b/x11-wm/compiz/files/compiz-0.8.4-crash-on-opening-windows.patch new file mode 100644 index 0000000..17a0c70 --- /dev/null +++ b/x11-wm/compiz/files/compiz-0.8.4-crash-on-opening-windows.patch @@ -0,0 +1,82 @@ +From 43c269a377e7b446fb1bb70732835b7395ce9524 Mon Sep 17 00:00:00 2001 +From: Danny Baumann +Date: Mon, 25 Jan 2010 06:28:34 +0000 +Subject: Fix crash on opening windows. + +We must defer match evaluation until window initialization has finished +for all plugins as match evaluation means wrapped function calls. +--- +diff --git a/plugins/obs.c b/plugins/obs.c +index a8d67f1..0f5b9d0 100644 +--- a/plugins/obs.c ++++ b/plugins/obs.c +@@ -88,6 +88,8 @@ typedef struct _ObsWindow + { + int customFactor[MODIFIER_COUNT]; + int matchFactor[MODIFIER_COUNT]; ++ ++ CompTimeoutHandle updateHandle; + } ObsWindow; + + #define GET_OBS_DISPLAY(d) \ +@@ -323,6 +325,22 @@ obsMatchPropertyChanged (CompDisplay *d, + WRAP (od, d, matchPropertyChanged, obsMatchPropertyChanged); + } + ++static Bool ++obsUpdateWindow (void *closure) ++{ ++ CompWindow *w = (CompWindow *) closure; ++ int i; ++ ++ OBS_WINDOW (w); ++ ++ for (i = 0; i < MODIFIER_COUNT; i++) ++ updatePaintModifier (w, i); ++ ++ ow->updateHandle = 0; ++ ++ return FALSE; ++} ++ + static CompOption * + obsGetDisplayOptions (CompPlugin *p, + CompDisplay *display, +@@ -628,8 +646,8 @@ static CompBool + obsInitWindow (CompPlugin *p, + CompWindow *w) + { +- ObsWindow *ow; +- int i; ++ ObsWindow *ow; ++ int i; + + OBS_SCREEN (w->screen); + +@@ -643,10 +661,11 @@ obsInitWindow (CompPlugin *p, + ow->matchFactor[i] = 100; + } + +- w->base.privates[os->windowPrivateIndex].ptr = ow; ++ /* defer initializing the factors from window matches as match evalution ++ means wrapped function calls */ ++ ow->updateHandle = compAddTimeout (0, 0, obsUpdateWindow, w); + +- for (i = 0; i < MODIFIER_COUNT; i++) +- updatePaintModifier (w, i); ++ w->base.privates[os->windowPrivateIndex].ptr = ow; + + return TRUE; + } +@@ -657,6 +676,9 @@ obsFiniWindow (CompPlugin *p, + { + OBS_WINDOW (w); + ++ if (ow->updateHandle) ++ compRemoveTimeout (ow->updateHandle); ++ + free (ow); + } + +-- +cgit v0.8.2 diff --git a/x11-wm/compiz/files/compiz-0.8.4-gtk+-2.20-build.patch b/x11-wm/compiz/files/compiz-0.8.4-gtk+-2.20-build.patch new file mode 100644 index 0000000..7da8f30 --- /dev/null +++ b/x11-wm/compiz/files/compiz-0.8.4-gtk+-2.20-build.patch @@ -0,0 +1,11 @@ +--- compiz-0.8.4/gtk/window-decorator/gtk-window-decorator.c.old 2010-03-28 13:01:58.639940630 +0200 ++++ compiz-0.8.4/gtk/window-decorator/gtk-window-decorator.c 2010-03-28 13:02:30.580354171 +0200 +@@ -4233,7 +4233,7 @@ + static void + hide_tooltip (void) + { +- if (GTK_WIDGET_VISIBLE (tip_window)) ++ if (gtk_widget_get_visible (tip_window)) + g_get_current_time (&tooltip_last_popdown); + + gtk_widget_hide (tip_window); diff --git a/x11-wm/compiz/files/compiz-0.8.4-kde44.patch b/x11-wm/compiz/files/compiz-0.8.4-kde44.patch new file mode 100644 index 0000000..bc46603 --- /dev/null +++ b/x11-wm/compiz/files/compiz-0.8.4-kde44.patch @@ -0,0 +1,225 @@ +From 04c6a44893a00088c63acd3ba327022f8aa551cc Mon Sep 17 00:00:00 2001 +From: Dennis Kasprzyk +Date: Fri, 12 Feb 2010 20:07:41 +0000 +Subject: Kde 4.4 support. + +--- +diff --git a/kde/window-decorator-kde4/window.cpp b/kde/window-decorator-kde4/window.cpp +index a7cd2d4..99c502d 100644 +--- a/kde/window-decorator-kde4/window.cpp ++++ b/kde/window-decorator-kde4/window.cpp +@@ -486,31 +486,39 @@ KWD::Window::showWindowMenu (const QRect &pos) + showWindowMenu (pos.bottomLeft ()); + } + +-void +-KWD::Window::processMousePressEvent (QMouseEvent *qme) ++KWD::Options::MouseCommand ++KWD::Window::buttonToCommand (Qt::MouseButtons button) + { + Options::MouseCommand com = Options::MouseNothing; +- bool active = isActive (); ++ bool active = isActive (); + + if (!mSupportTakeFocus) +- active = TRUE; ++ active = true; + +- switch (qme->button ()) { ++ switch (button) { + case Qt::LeftButton: + com = active ? Decorator::options ()->commandActiveTitlebar1 () : +- Decorator::options()->commandInactiveTitlebar1 (); ++ Decorator::options()->commandInactiveTitlebar1 (); + break; + case Qt::MidButton: + com = active ? Decorator::options ()->commandActiveTitlebar2 () : +- Decorator::options()->commandInactiveTitlebar2 (); ++ Decorator::options()->commandInactiveTitlebar2 (); + break; + case Qt::RightButton: + com = active ? Decorator::options ()->commandActiveTitlebar3 () : +- Decorator::options()->commandInactiveTitlebar3 (); ++ Decorator::options()->commandInactiveTitlebar3 (); + default: + break; + } + ++ return com; ++} ++ ++void ++KWD::Window::processMousePressEvent (QMouseEvent *qme) ++{ ++ Options::MouseCommand com = buttonToCommand (qme->button ()); ++ + if (qme->button () == Qt::LeftButton) + { + // actions where it's not possible to get the matching release event +@@ -752,6 +760,96 @@ KWD::Window::compositingActive (void) const + return true; + } + ++#if KDE_IS_VERSION(4,3,90) ++ ++QRect ++KWD::Window::transparentRect () const ++{ ++ return QRect (); ++} ++ ++bool ++KWD::Window::isClientGroupActive () ++{ ++ return false; ++} ++ ++QList ++KWD::Window::clientGroupItems () const ++{ ++ QList items; ++ ++ QIcon icon (mIcon); ++ icon.addPixmap (mMiniIcon); ++ ++ items.append (ClientGroupItem (mName, icon)); ++ ++ return items; ++} ++ ++long ++KWD::Window::itemId (int index) ++{ ++ return (long) mClientId; ++} ++ ++int ++KWD::Window::visibleClientGroupItem () ++{ ++ return 0; ++} ++ ++void ++KWD::Window::setVisibleClientGroupItem (int index) ++{ ++} ++ ++void ++KWD::Window::moveItemInClientGroup (int index, int before) ++{ ++} ++ ++void ++KWD::Window::moveItemToClientGroup (long itemId, int before) ++{ ++} ++ ++void ++KWD::Window::removeFromClientGroup (int index, const QRect& newGeom) ++{ ++} ++ ++void ++KWD::Window::closeClientGroupItem (int index) ++{ ++ closeWindow (); ++} ++ ++void ++KWD::Window::closeAllInClientGroup () ++{ ++ closeWindow (); ++} ++ ++void ++KWD::Window::displayClientMenu (int index, const QPoint& pos) ++{ ++ showWindowMenu (pos); ++} ++ ++KDecorationDefines::WindowOperation ++KWD::Window::buttonToWindowOperation(Qt::MouseButtons button) ++{ ++ Options::MouseCommand com = buttonToCommand (button); ++ ++ if (com == Options::MouseOperationsMenu) ++ return KDecorationDefines::OperationsOp; ++ ++ return KDecorationDefines::NoOp; ++} ++ ++#endif ++ + void + KWD::Window::createDecoration (void) + { +@@ -1466,7 +1564,7 @@ KWD::Window::moveWindow (QMouseEvent *qme) + NET::Direction direction; + + direction = positionToDirection (mDecor->mousePosition (qme->pos ())); +- ++ + QPoint p (mGeometry.x () - mExtents.left, mGeometry.y () - mExtents.top); + p += qme->pos (); + +@@ -1476,7 +1574,7 @@ KWD::Window::moveWindow (QMouseEvent *qme) + Decorator::rootInfo ()->restackRequest (mClientId, NET::FromApplication, + None, Above, + QX11Info::appTime()); +- ++ + Decorator::rootInfo ()->moveResizeRequest (mClientId, + p.x (), + p.y (), +diff --git a/kde/window-decorator-kde4/window.h b/kde/window-decorator-kde4/window.h +index 40a5076..c2b274b 100644 +--- a/kde/window-decorator-kde4/window.h ++++ b/kde/window-decorator-kde4/window.h +@@ -26,6 +26,7 @@ + + #include + #include ++#include + + #include + #include +@@ -111,7 +112,24 @@ class Window: public QObject, public KDecorationBridgeUnstable { + + /* unstable API */ + virtual bool compositingActive () const; +- ++#if KDE_IS_VERSION(4,3,90) ++ virtual QRect transparentRect () const; ++ ++ virtual bool isClientGroupActive (); ++ virtual QList clientGroupItems () const; ++ virtual long itemId (int index); ++ virtual int visibleClientGroupItem (); ++ virtual void setVisibleClientGroupItem (int index); ++ virtual void moveItemInClientGroup (int index, int before); ++ virtual void moveItemToClientGroup (long itemId, int before); ++ virtual void removeFromClientGroup (int index, const QRect& newGeom); ++ virtual void closeClientGroupItem (int index); ++ virtual void closeAllInClientGroup (); ++ virtual void displayClientMenu (int index, const QPoint& pos); ++ ++ virtual WindowOperation ++ buttonToWindowOperation(Qt::MouseButtons button); ++#endif + virtual bool eventFilter (QObject* o, QEvent* e); + + void handleActiveChange (void); +@@ -191,8 +209,10 @@ class Window: public QObject, public KDecorationBridgeUnstable { + int rightOffset); + void updateProperty (void); + void getWindowProtocols (void); ++ ++ Options::MouseCommand buttonToCommand (Qt::MouseButtons button); + void performMouseCommand (KWD::Options::MouseCommand command, +- QMouseEvent *qme); ++ QMouseEvent *qme); + NET::Direction positionToDirection (int pos); + Cursor positionToCursor (QPoint pos); + +-- +cgit v0.8.2 diff --git a/x11-wm/compiz/files/compiz-0.8.4-libpng14.patch b/x11-wm/compiz/files/compiz-0.8.4-libpng14.patch new file mode 100644 index 0000000..fb9a897 --- /dev/null +++ b/x11-wm/compiz/files/compiz-0.8.4-libpng14.patch @@ -0,0 +1,30 @@ +diff -uNr compiz-0.8.4.old/plugins/png.c compiz-0.8.4/plugins/png.c +--- compiz-0.8.4.old/plugins/png.c 2009-09-01 07:38:22.000000000 +0200 ++++ compiz-0.8.4/plugins/png.c 2010-02-15 22:16:30.000000000 +0100 +@@ -102,7 +102,7 @@ + + /* expand gray bit depth if needed */ + if (color_type == PNG_COLOR_TYPE_GRAY && depth < 8) +- png_set_gray_1_2_4_to_8 (png); ++ png_set_expand_gray_1_2_4_to_8 (png); + + /* transform transparency to alpha */ + if (png_get_valid(png, info, PNG_INFO_tRNS)) +@@ -167,7 +167,7 @@ + Bool status; + + sig_bytes = fread (png_sig, 1, PNG_SIG_SIZE, file); +- if (png_check_sig (png_sig, sig_bytes) == 0) ++ if (png_sig_cmp (png_sig, 0, sig_bytes) != 0) + return FALSE; + + png = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); +@@ -218,7 +218,7 @@ + Bool status; + + memcpy (png_sig, buffer, PNG_SIG_SIZE); +- if (png_check_sig (png_sig, PNG_SIG_SIZE) == 0) ++ if (png_sig_cmp (png_sig, 0, PNG_SIG_SIZE) != 0) + return FALSE; + + png = png_create_read_struct (PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); diff --git a/x11-wm/compiz/files/compiz-0.8.4-place-plugin.patch b/x11-wm/compiz/files/compiz-0.8.4-place-plugin.patch new file mode 100644 index 0000000..ee258eb --- /dev/null +++ b/x11-wm/compiz/files/compiz-0.8.4-place-plugin.patch @@ -0,0 +1,103 @@ +From db88fb6f3f6c0fa3c81bc04a2a3468252d49f098 Mon Sep 17 00:00:00 2001 +From: Danny Baumann +Date: Sun, 31 Jan 2010 12:36:42 +0000 +Subject: Fix handling of windows that have a server border set. + +Also handle windows that have a server border set properly in pointer +(placement mode) + +--- +diff --git a/plugins/place.c b/plugins/place.c +index d59de33..a54e60a 100644 +--- a/plugins/place.c ++++ b/plugins/place.c +@@ -131,12 +131,15 @@ typedef enum { + + /* helper macros to get the full dimensions of a window, + including decorations */ ++#define BORDER_WIDTH(w) ((w)->input.left + (w)->input.right + \ ++ 2 * (w)->serverBorderWidth) ++#define BORDER_HEIGHT(w) ((w)->input.top + (w)->input.bottom + \ ++ 2 * (w)->serverBorderWidth) ++ + #define WIN_FULL_X(w) ((w)->serverX - (w)->input.left) + #define WIN_FULL_Y(w) ((w)->serverY - (w)->input.top) +-#define WIN_FULL_W(w) ((w)->serverWidth + 2 * (w)->serverBorderWidth + \ +- (w)->input.left + (w)->input.right) +-#define WIN_FULL_H(w) ((w)->serverHeight + 2 * (w)->serverBorderWidth + \ +- (w)->input.top + (w)->input.bottom) ++#define WIN_FULL_W(w) ((w)->serverWidth + BORDER_WIDTH (w)) ++#define WIN_FULL_H(w) ((w)->serverHeight + BORDER_HEIGHT (w)) + + static Bool + placeMatchXYValue (CompWindow *w, +@@ -1216,8 +1219,8 @@ placeConstrainToWorkarea (CompWindow *w, + + extents.left = *x - w->input.left; + extents.top = *y - w->input.top; +- extents.right = *x + w->serverWidth + w->input.right; +- extents.bottom = *y + w->serverHeight + w->input.bottom; ++ extents.right = extents.left + WIN_FULL_W (w); ++ extents.bottom = extents.top + WIN_FULL_H (w); + + delta = workArea->x + workArea->width - extents.right; + if (delta < 0) +@@ -1419,9 +1422,9 @@ placeDoValidateWindowResizeRequest (CompWindow *w, + } + + left = x - w->input.left; +- right = x + xwc->width + w->input.right; ++ right = left + xwc->width + BORDER_WIDTH (w); + top = y - w->input.top; +- bottom = y + xwc->height + w->input.bottom; ++ bottom = top + xwc->height + BORDER_HEIGHT (w); + + output = outputDeviceForGeometry (s, + xwc->x, xwc->y, +@@ -1484,9 +1487,9 @@ placeDoValidateWindowResizeRequest (CompWindow *w, + + /* bring left/right/top/bottom to actual window coordinates */ + left += w->input.left; +- right -= w->input.right; ++ right -= w->input.right + 2 * w->serverBorderWidth; + top += w->input.top; +- bottom -= w->input.bottom; ++ bottom -= w->input.bottom + 2 * w->serverBorderWidth; + + if ((right - left) != xwc->width) + { +@@ -1886,17 +1889,13 @@ placeDoHandleScreenSizeChange (CompScreen *s, + { + mask |= CWX | CWWidth; + xwc.x = vpX * s->width + workArea.x + w->input.left; +- xwc.width = workArea.width - +- (2 * w->serverBorderWidth + +- w->input.left + w->input.right); ++ xwc.width = workArea.width - BORDER_WIDTH (w); + } + if (w->state & CompWindowStateMaximizedVertMask) + { + mask |= CWY | CWHeight; + xwc.y = vpY * s->height + workArea.y + w->input.top; +- xwc.height = workArea.height - +- (2 * w->serverBorderWidth + +- w->input.top + w->input.bottom); ++ xwc.height = workArea.height - BORDER_HEIGHT (w); + } + } + } +--- a/plugins/place.c ++++ b/plugins/place.c +@@ -847,8 +847,8 @@ placePointer (CompWindow *w, + + if (placeGetPointerPosition (w->screen, &xPointer, &yPointer)) + { +- *x = xPointer - (w->serverWidth / 2); +- *y = yPointer - (w->serverHeight / 2); ++ *x = xPointer - (w->serverWidth / 2) - w->serverBorderWidth; ++ *y = yPointer - (w->serverHeight / 2) - w->serverBorderWidth; + } + else + { +-- +cgit v0.8.2 diff --git a/x11-wm/compiz/files/compiz-0.8.4-window-region-calculation.patch b/x11-wm/compiz/files/compiz-0.8.4-window-region-calculation.patch new file mode 100644 index 0000000..c4e26a2 --- /dev/null +++ b/x11-wm/compiz/files/compiz-0.8.4-window-region-calculation.patch @@ -0,0 +1,36 @@ +From 79a275b240a98d9f64c8dd1e799e5d469ec8f204 Mon Sep 17 00:00:00 2001 +From: Danny Baumann +Date: Wed, 20 Jan 2010 14:05:10 +0000 +Subject: Fix window region calculation for windows that have border width set. + +--- +diff --git a/src/window.c b/src/window.c +index 90922d1..e7bb987 100644 +--- a/src/window.c ++++ b/src/window.c +@@ -1701,8 +1701,8 @@ updateWindowRegion (CompWindow *w) + { + r.x = -w->attrib.border_width; + r.y = -w->attrib.border_width; +- r.width = w->width; +- r.height = w->height; ++ r.width = w->attrib.width + w->attrib.border_width; ++ r.height = w->attrib.height + w->attrib.border_width; + + rects = &r; + n = 1; +@@ -1719,8 +1719,10 @@ updateWindowRegion (CompWindow *w) + { + rect.extents.x1 = rects[i].x + w->attrib.border_width; + rect.extents.y1 = rects[i].y + w->attrib.border_width; +- rect.extents.x2 = rect.extents.x1 + rects[i].width; +- rect.extents.y2 = rect.extents.y1 + rects[i].height; ++ rect.extents.x2 = rect.extents.x1 + rects[i].width + ++ w->attrib.border_width; ++ rect.extents.y2 = rect.extents.y1 + rects[i].height + ++ w->attrib.border_width; + + if (rect.extents.x1 < 0) + rect.extents.x1 = 0; +-- +cgit v0.8.2 diff --git a/x11-wm/compiz/files/compiz-0.8.6-gdk-display-deprecated.patch b/x11-wm/compiz/files/compiz-0.8.6-gdk-display-deprecated.patch new file mode 100644 index 0000000..440b37a --- /dev/null +++ b/x11-wm/compiz/files/compiz-0.8.6-gdk-display-deprecated.patch @@ -0,0 +1,101 @@ +diff --git a/gtk/window-decorator/gtk-window-decorator.c b/gtk/window-decorator/gtk-window-decorator.c +index 18b907e..566da0f 100644 +--- a/gtk/window-decorator/gtk-window-decorator.c ++++ b/gtk/window-decorator/gtk-window-decorator.c +@@ -31,6 +31,11 @@ + #include + #include + ++/* This must be included before the GDK_DISABLE_DEPRECATED definition ++ * in order to avoid QA issues on amd64 arch (see Gentoo bug 344293). ++ */ ++#include ++ + #ifndef GDK_DISABLE_DEPRECATED + #define GDK_DISABLE_DEPRECATED + #endif +@@ -2659,6 +2664,7 @@ get_window_prop (Window xwindow, + Atom atom, + Window *val) + { ++ Display *dpy = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); + Atom type; + int format; + gulong nitems; +@@ -2671,7 +2677,7 @@ get_window_prop (Window xwindow, + gdk_error_trap_push (); + + type = None; +- result = XGetWindowProperty (gdk_display, ++ result = XGetWindowProperty (dpy, + xwindow, + atom, + 0, G_MAXLONG, +@@ -4966,7 +4972,7 @@ force_quit_dialog_realize (GtkWidget *dialog, + WnckWindow *win = data; + + gdk_error_trap_push (); +- XSetTransientForHint (gdk_display, ++ XSetTransientForHint (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), + GDK_WINDOW_XID (dialog->window), + wnck_window_get_xid (win)); + gdk_display_sync (gdk_display_get_default ()); +@@ -4976,17 +4982,18 @@ force_quit_dialog_realize (GtkWidget *dialog, + static char * + get_client_machine (Window xwindow) + { +- Atom atom, type; +- gulong nitems, bytes_after; +- guchar *str = NULL; +- int format, result; +- char *retval; ++ Display *xdisplay = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); ++ Atom atom, type; ++ gulong nitems, bytes_after; ++ guchar *str = NULL; ++ int format, result; ++ char *retval; + +- atom = XInternAtom (gdk_display, "WM_CLIENT_MACHINE", FALSE); ++ atom = XInternAtom (xdisplay, "WM_CLIENT_MACHINE", FALSE); + + gdk_error_trap_push (); + +- result = XGetWindowProperty (gdk_display, ++ result = XGetWindowProperty (xdisplay, + xwindow, atom, + 0, G_MAXLONG, + FALSE, XA_STRING, &type, &format, &nitems, +@@ -5013,6 +5020,8 @@ get_client_machine (Window xwindow) + static void + kill_window (WnckWindow *win) + { ++ GdkDisplay *gdk_display = gdk_display_get_default (); ++ Display *xdisplay = GDK_DISPLAY_XDISPLAY (gdk_display); + WnckApplication *app; + + app = wnck_window_get_application (win); +@@ -5038,8 +5047,8 @@ kill_window (WnckWindow *win) + } + + gdk_error_trap_push (); +- XKillClient (gdk_display, wnck_window_get_xid (win)); +- gdk_display_sync (gdk_display_get_default ()); ++ XKillClient (xdisplay, wnck_window_get_xid (win)); ++ gdk_display_sync (gdk_display); + gdk_error_trap_pop (); + } + +@@ -5623,9 +5632,9 @@ static int + update_shadow (void) + { + decor_shadow_options_t opt; +- Display *xdisplay = gdk_display; +- GdkDisplay *display = gdk_display_get_default (); +- GdkScreen *screen = gdk_display_get_default_screen (display); ++ GdkDisplay *display = gdk_display_get_default (); ++ Display *xdisplay = GDK_DISPLAY_XDISPLAY (display); ++ GdkScreen *screen = gdk_display_get_default_screen (display); + + opt.shadow_radius = shadow_radius; + opt.shadow_opacity = shadow_opacity; diff --git a/x11-wm/compiz/files/compiz-0.8.6-r2-fontcorruption.patch b/x11-wm/compiz/files/compiz-0.8.6-r2-fontcorruption.patch new file mode 100644 index 0000000..1ef84a1 --- /dev/null +++ b/x11-wm/compiz/files/compiz-0.8.6-r2-fontcorruption.patch @@ -0,0 +1,23 @@ +From 0f95c41a0aa175ddf7947ba18b01f746c95594a9 Mon Sep 17 00:00:00 2001 +From: Paul Donohue +Date: Sun, 17 Oct 2010 16:24:14 +0000 +Subject: Fix pixmap size calculation, server drawn borders are also included in +the pixmap. +--- +diff --git a/src/window.c b/src/window.c +index a925288..6674643 100644 +--- a/src/window.c ++++ b/src/window.c +@@ -1446,8 +1446,8 @@ bindWindow (CompWindow *w) + } + + w->pixmap = XCompositeNameWindowPixmap (dpy, w->id); +- w->width = attr.width; +- w->height = attr.height; ++ w->width = attr.width + attr.border_width * 2; ++ w->height = attr.height + attr.border_width * 2; + + XUngrabServer (dpy); + } +-- +cgit v0.8.3.1-30-gff3a diff --git a/x11-wm/compiz/files/compiz-manager b/x11-wm/compiz/files/compiz-manager new file mode 100644 index 0000000..74d45da --- /dev/null +++ b/x11-wm/compiz/files/compiz-manager @@ -0,0 +1,384 @@ +#!/bin/sh +# Compiz Manager wrapper script +# +# Copyright (c) 2007 Kristian Lyngstøl +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# +# Contributions by: Treviño (3v1n0) , Ubuntu Packages +# +# Much of this code is based on Beryl code, also licensed under the GPL. +# This script will detect what options we need to pass to compiz to get it +# started, and start a default plugin and possibly window decorator. +# + + +COMPIZ_BIN_PATH="/usr/bin/" # For window decorators and compiz +PLUGIN_PATH="/usr/lib/compiz/" +GLXINFO="/usr/bin/glxinfo" +KWIN="/usr/bin/kwin" +METACITY="/usr/bin/metacity" +COMPIZ_NAME="compiz" # Final name for compiz (compiz.real) + +# For Xgl LD_PRELOAD +LIBGL_NVIDIA="/usr/lib/nvidia/libGL.so.1.2.xlibmesa" +LIBGL_FGLRX="/usr/lib/fglrx/libGL.so.1.2.xlibmesa" + +# Minimum amount of memory (in kilo bytes) that nVidia cards need +# to be allowed to start +# Set to 262144 to require 256MB +NVIDIA_MEMORY="65536" # 64MB +NVIDIA_SETTINGS="nvidia-settings" # Assume it's in the path by default + +# For detecting what driver is in use, the + is for one or more /'s +XORG_DRIVER_PATH="/usr/lib/xorg/modules/drivers/+" + +FALLBACKWM="${METACITY}" +FALLBACKWM_OPTIONS="--replace $@" + +# Driver whitelist +WHITELIST="nvidia intel ati radeon i810" + +# blacklist based on the pci ids +# See http://wiki.compiz-fusion.org/Hardware/Blacklist for details +T=" 1002:5954 1002:5854 1002:5955" # ati rs480 +T="$T 1002:4153" # ATI Rv350 +T="$T 8086:2982 8086:2992 8086:29a2 8086:2a02 8086:2a12" # intel 965 +BLACKLIST_PCIIDS="$T" +unset T + +COMPIZ_OPTIONS="--ignore-desktop-hints --replace" +COMPIZ_PLUGINS="" +ENV="" + +# Use emerald by default if it exist +USE_EMERALD="yes" + +# No indirect by default +INDIRECT="no" + +# Default X.org log if xset q doesn't reveal it +XORG_DEFAULT_LOG="/var/log/Xorg.0.log" + +# Set to yes to enable verbose +VERBOSE="yes" + +# Echos the arguments if verbose +verbose() +{ + if [ "x$VERBOSE" = "xyes" ]; then + printf "$*" + fi +} + +# abort script and run fallback windowmanager +abort_with_fallback_wm() +{ + if [ "x$SKIP_CHECKS" = "xyes" ]; then + verbose "SKIP_CHECKS is yes, so continuing despite problems.\n" + return 0; + fi + + verbose "aborting and using fallback: $FALLBACKWM \n" + + if [ -x $FALLBACKWM ]; then + exec $FALLBACKWM $FALLBACKWM_OPTIONS + else + printf "no $FALLBACKWM found, exiting\n" + exit 1 + fi +} + +# Check for non power of two texture support +check_npot_texture() +{ + verbose "Checking for non power of two support: " + if glxinfo 2> /dev/null | egrep -q '(GL_ARB_texture_non_power_of_two|GL_NV_texture_rectangle|GL_EXT_texture_rectangle|GL_ARB_texture_rectangle)' ; then + verbose "present. \n"; + return 0; + else + verbose "Not present. \n" + return 1; + fi + +} + +# Check for presence of FBConfig +check_fbconfig() +{ + verbose "Checking for FBConfig: " + if [ "$INDIRECT" = "yes" ]; then + $GLXINFO -i | grep -q GLX.*fbconfig + FB=$? + else + $GLXINFO | grep -q GLX.*fbconfig + FB=$? + fi + + if [ $FB = "0" ]; then + unset FB + verbose "present. \n" + return 0; + else + unset FB + verbose "not present. \n" + return 1; + fi +} + + +# Check for TFP +check_tfp() +{ + verbose "Checking for texture_from_pixmap: " + if [ $($GLXINFO 2>/dev/null | grep GLX_EXT_texture_from_pixmap -c) -gt 2 ] ; then + verbose "present. \n" + return 0; + else + verbose "not present. \n" + if [ "$INDIRECT" = "yes" ]; then + unset LIBGL_ALWAYS_INDIRECT + INDIRECT="no" + return 1; + else + verbose "Trying again with indirect rendering:\n"; + INDIRECT="yes" + export LIBGL_ALWAYS_INDIRECT=1 + check_tfp; + return $? + fi + fi +} + +# Check wether the composite extension is present +check_composite() +{ + verbose "Checking for Composite extension: " + if xdpyinfo -queryExtensions | grep -q Composite ; then + verbose "present. \n"; + return 0; + else + verbose "not present. \n"; + return 1; + fi +} + +# Detects if Xgl is running +check_xgl() +{ + verbose "Checking for Xgl: " + if xvinfo | grep -q Xgl ; then + verbose "present. \n" + return 0; + else + verbose "not present. \n" + return 1; + fi +} + +# Check if the nVidia card has enough video ram to make sense +check_nvidia_memory() +{ + MEM=$(${NVIDIA_SETTINGS} -q VideoRam | egrep Attribute\ \'VideoRam\'\ .*: | cut -d: -f3 | sed 's/[^0-9]//g') + if [ $MEM -lt $NVIDIA_MEMORY ]; then + verbose "Less than ${NVIDIA_MEMORY}kb of memory and nVidia"; + return 1; + fi + return 0; +} + +# Check for existence if NV-GLX +check_nvidia() +{ + if [ ! -z $NVIDIA_INTERNAL_TEST ]; then + return $NVIDIA_INTERNAL_TEST; + fi + verbose "Checking for nVidia: " + if xdpyinfo | grep -q NV-GLX ; then + verbose "present. \n" + NVIDIA_INTERNAL_TEST=0 + return 0; + else + verbose "not present. \n" + NVIDIA_INTERNAL_TEST=1 + return 1; + fi +} + +# Check if the max texture size is large enough compared to the resolution +check_texture_size() +{ + TEXTURE_LIMIT=$(glxinfo -l | grep -m1 GL_MAX_TEXTURE_SIZE | sed 's/.*=[^0-9]//g') + RESOLUTION=$(xdpyinfo | grep -i dimensions: | sed 's/[^0-9]*pixels.*(.*).*//' | sed 's/[^0-9x]*//') + VRES=$(echo $RESOLUTION | sed 's/.*x//') + HRES=$(echo $RESOLUTION | sed 's/x.*//') + verbose "Comparing resolution ($RESOLUTION) to maximum 3D texture size ($TEXTURE_LIMIT): "; + if [ $VRES -gt $TEXTURE_LIMIT ] || [ $HRES -gt $TEXTURE_LIMIT ]; then + verbose "Failed.\n" + return 1; + fi + verbose "Passed.\n" + return 0 +} + +# check driver whitelist +running_under_whitelisted_driver() +{ + LOG=$(xset q|grep "Log file"|awk '{print $3}') + if [ "$LOG" = "" ]; then + verbose "xset q doesn't reveal the location of the log file. Using fallback $XORG_DEFAULT_LOG \n" + LOG=$XORG_DEFAULT_LOG; + fi + if [ -z "$LOG" ];then + verbose "AIEEEEH, no Log file found \n" + verbose "$(xset q) \n" + return 0 + fi + for DRV in ${WHITELIST}; do + if egrep -q "Loading ${XORG_DRIVER_PATH}${DRV}_drv\.so" $LOG && + ! egrep -q "Unloading ${XORG_DRIVER_PATH}${DRV}_drv\.so" $LOG; + then + return 0 + fi + done + verbose "No whitelisted driver found\n" + return 1 +} + +# check pciid blacklist +have_blacklisted_pciid() +{ + OUTPUT=$(lspci -n) + for ID in ${BLACKLIST_PCIIDS}; do + if echo "$OUTPUT" | egrep -q "$ID"; then + verbose "Blacklisted PCIID '$ID' found \n" + return 0 + fi + done + OUTPUT=$(lspci -vn | grep -i VGA) + verbose "Detected PCI ID for VGA: $OUTPUT\n" + return 1 +} + +build_env() +{ + if check_nvidia; then + ENV="__GL_YIELD=NOTHING " + fi + if [ "$INDIRECT" = "yes" ]; then + ENV="$ENV LIBGL_ALWAYS_INDIRECT=1 " + fi + if check_xgl; then + if [ -f ${LIBGL_NVIDIA} ]; then + ENV="$ENV LD_PRELOAD=${LIBGL_NVIDIA}" + verbose "Enabling Xgl with nVidia drivers...\n" + fi + if [ -f ${LIBGL_FGLRX} ]; then + ENV="$ENV LD_PRELOAD=${LIBGL_FGLRX}" + verbose "Enabling Xgl with fglrx ATi drivers...\n" + fi + fi + + ENV="$ENV FROM_WRAPPER=yes" + + if [ -n "$ENV" ]; then + export $ENV + fi +} + +build_args() +{ + if [ $INDIRECT = "yes" ]; then + COMPIZ_OPTIONS="$COMPIZ_OPTIONS --indirect-rendering " + fi + if check_nvidia; then + COMPIZ_OPTIONS="$COMPIZ_OPTIONS --loose-binding" + fi +} + +#################### +# Execution begins here. + +# Read configuration from XDG paths +if [ -z "$XDG_CONFIG_DIRS" ]; then + test -f /etc/xdg/compiz/compiz-manager && . /etc/xdg/compiz/compiz-manager +else + test -f $XDG_CONFIG_DIRS/compiz/compiz-manager && . $XDG_CONFIG_DIRS/compiz/compiz-manager +fi + +if [ -z "$XDG_CONFIG_HOME" ]; then + test -f $HOME/.config/compiz/compiz-manager && . $HOME/.config/compiz/compiz-manager +else + test -f $XDG_CONFIG_HOME/compiz/compiz-manager && . $XDG_CONFIG_HOME/compiz/compiz-manager +fi + +# Don't use compiz when running the failsafe session +if [ "x$GNOME_DESKTOP_SESSION_ID" = "xFailsafe" ]; then + abort_with_fallback_wm +fi + +if [ "x$LIBGL_ALWAYS_INDIRECT" = "x1" ]; then + INDIRECT="yes"; +fi + +# if we run under Xgl, we can skip some tests here +if ! check_xgl; then + # if vesa or vga are in use, do not even try glxinfo (LP#119341) + if ! running_under_whitelisted_driver || have_blacklisted_pciid; then + abort_with_fallback_wm + fi + # check if we have the required bits to run compiz and if not, + # fallback + if ! check_tfp || ! check_npot_texture || ! check_composite || ! check_texture_size; then + abort_with_fallback_wm + fi + + if check_nvidia && ! check_nvidia_memory; then + abort_with_fallback_wm + fi + + if ! check_fbconfig; then + abort_with_fallback_wm + fi +fi + +# load the ccp plugin if present and fallback to plain gconf if not +if [ -f ${PLUGIN_PATH}libccp.so ]; then + COMPIZ_PLUGINS="$COMPIZ_PLUGINS ccp" +elif [ -f ${PLUGIN_PATH}libgconf.so ]; then + COMPIZ_PLUGINS="$COMPIZ_PLUGINS glib gconf" +fi + +# get environment +build_env +build_args + +# start the gtk-window-decorator if present +if [ -x ${COMPIZ_BIN_PATH}emerald ] && [ "$USE_EMERALD" = "yes" ]; then + verbose "Starting emerald\n" + ${COMPIZ_BIN_PATH}emerald --replace & +elif [ -x ${COMPIZ_BIN_PATH}gtk-window-decorator ] && [ -n "$GNOME_DESKTOP_SESSION_ID" ]; then + verbose "Starting gtk-window-decorator\n" + ${COMPIZ_BIN_PATH}gtk-window-decorator --replace & +elif [ -x ${COMPIZ_BIN_PATH}kde-window-decorator ] && [ -n "$KDE_FULL_SESSION" ]; then + verbose "Starting kde-window-decorator\n" + ${COMPIZ_BIN_PATH}kde-window-decorator --replace & + FALLBACKWM="${KWIN}" +fi + +${COMPIZ_BIN_PATH}${COMPIZ_NAME} $COMPIZ_OPTIONS "$@" $COMPIZ_PLUGINS || exec $FALLBACKWM $FALLBACKWM_OPTIONS + diff --git a/x11-wm/compiz/files/compiz-no-gconf.patch b/x11-wm/compiz/files/compiz-no-gconf.patch new file mode 100644 index 0000000..d43e84d --- /dev/null +++ b/x11-wm/compiz/files/compiz-no-gconf.patch @@ -0,0 +1,20 @@ + configure.ac | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7b09153..9c22ea0 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -192,10 +192,10 @@ if test "x$use_gconf" = "xyes"; then + if test x"$GCONFTOOL" = xno; then + AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf]) + fi ++else ++ AM_CONDITIONAL(GCONF_SCHEMAS_INSTALL, test "x$use_gconf" = "xyes") + fi + +-AM_GCONF_SOURCE_2 +- + AM_CONDITIONAL(USE_GCONF, test "x$use_gconf" = "xyes") + if test "$use_gconf" = yes; then + AC_DEFINE(USE_GCONF, 1, [Build gconf plugin]) diff --git a/x11-wm/compiz/files/compiz.desktop b/x11-wm/compiz/files/compiz.desktop new file mode 100644 index 0000000..6400ce3 --- /dev/null +++ b/x11-wm/compiz/files/compiz.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Type=Application +Encoding=UTF-8 +Name=Compiz +Name[en_GB]=Compiz +Exec=compiz ccp +NoDisplay=true +# name we put on the WM spec check window +X-GNOME-WMName=Compiz +X-GNOME-Autostart-Phase=WindowManager +X-GNOME-Provides=windowmanager +X-GNOME-Autostart-Notify=true diff --git a/x11-wm/emerald/Manifest b/x11-wm/emerald/Manifest new file mode 100644 index 0000000..1a32bac --- /dev/null +++ b/x11-wm/emerald/Manifest @@ -0,0 +1,4 @@ +AUX emerald-0.8.4-gtk+-2.20-build.patch 1194 RMD160 f87d90db0341b77937b1c32521752bf0420974f8 SHA1 849f7aadb60dc702260e9900330cd5bc2a5a3242 SHA256 c196b2720ffa2996992e02b62d02f67c0f7f9dd7301fc6ceb26a1b1c81d5bcec +AUX emerald-0.8.4-pkgconfig-pollution.patch 353 RMD160 bf3505f23e43b853524f0a12016a8b06762e7420 SHA1 7efec914dfe6b8bfe53386ce5d96d58a95eab9c7 SHA256 bd4540b8ed94d5b7ba747a0285244564bae9d84cdba7a0fda3e2962d57e82224 +DIST emerald-0.8.4.tar.bz2 525316 RMD160 de04228414419141c3df0e7f32a062cc6dfabcda SHA1 408bef6ba7822bd933448f16dc43bbd3d801d9c9 SHA256 7ed5009a739219c61c26176f738ba5264e93557f353fdf9fc480c73fe8b05e26 +EBUILD emerald-0.8.4-r9999.ebuild 1322 RMD160 f718ced3d777ca6b3231b0edb4d1ff096fc645cc SHA1 16273fa1655d00c00913c89c4e3bf262821d4a9c SHA256 a20184ca2c985845718f2269da5ffd577ed8b18310dd885e19e201cdf6aadd79 diff --git a/x11-wm/emerald/emerald-0.8.4-r9999.ebuild b/x11-wm/emerald/emerald-0.8.4-r9999.ebuild new file mode 100644 index 0000000..a65c2e8 --- /dev/null +++ b/x11-wm/emerald/emerald-0.8.4-r9999.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-wm/emerald/emerald-0.8.4-r2.ebuild,v 1.4 2011/09/14 20:47:24 ssuominen Exp $ + +EAPI="2" + +inherit eutils + +THEMES_RELEASE=0.5.2 + +DESCRIPTION="Emerald Window Decorator" +HOMEPAGE="http://www.compiz.org/" +SRC_URI="http://releases.compiz.org/${PV}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" +IUSE="" + +PDEPEND="~x11-themes/emerald-themes-${THEMES_RELEASE}" + +RDEPEND=" + >=x11-libs/gtk+-2.8.0:2 + >=x11-libs/libwnck-2.14.2:1 + >=x11-wm/compiz-${PV} +" + +DEPEND="${RDEPEND} + >=dev-util/intltool-0.35 + >=dev-util/pkgconfig-0.19 + >=sys-devel/gettext-0.15 +" + +src_prepare() { + # Fix pkg-config file pollution wrt #380197 + epatch "${FILESDIR}"/${P}-pkgconfig-pollution.patch + # Fixing GTK symbol - bug 308791. + epatch "${FILESDIR}/${P}-gtk+-2.20-build.patch" + # fix build with gtk+-2.22 - bug 341143 + sed -i -e '/#define G[DT]K_DISABLE_DEPRECATED/s:^://:' \ + include/emerald.h || die +} + +src_configure() { + econf \ + --disable-dependency-tracking \ + --disable-static \ + --enable-fast-install \ + --disable-mime-update || die "econf failed" +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + + find "${D}" -name '*.la' -delete || die +} diff --git a/x11-wm/emerald/files/emerald-0.8.4-gtk+-2.20-build.patch b/x11-wm/emerald/files/emerald-0.8.4-gtk+-2.20-build.patch new file mode 100644 index 0000000..3dc7bf4 --- /dev/null +++ b/x11-wm/emerald/files/emerald-0.8.4-gtk+-2.20-build.patch @@ -0,0 +1,33 @@ +diff -urN emerald-0.8.4/libengine/themer.c emerald-0.8.4.new/libengine/themer.c +--- emerald-0.8.4/libengine/themer.c 2009-10-13 20:56:23.000000000 -0400 ++++ emerald-0.8.4.new/libengine/themer.c 2010-03-10 01:20:03.046827674 -0500 +@@ -461,7 +461,7 @@ + } + gdouble get_float(SettingItem * item) + { +- if(!strcmp(GTK_OBJECT_TYPE_NAME(item->widget),"GtkSpinButton")) { ++ if(!strcmp(G_OBJECT_TYPE_NAME(item->widget),"GtkSpinButton")) { + return gtk_spin_button_get_value((GtkSpinButton *)item->widget); + } + else { +@@ -647,7 +647,7 @@ + } + void set_float(SettingItem * item, gdouble f) + { +- if(!strcmp(GTK_OBJECT_TYPE_NAME(item->widget),"GtkSpinButton")) { ++ if(!strcmp(G_OBJECT_TYPE_NAME(item->widget),"GtkSpinButton")) { + gtk_spin_button_set_value((GtkSpinButton *)item->widget, f); + } + else { +--- emerald-0.8.4/src/main.c.old 2010-03-29 19:49:30.420710030 -0700 ++++ emerald-0.8.4/src/main.c 2010-03-29 19:52:33.654024944 -0700 +@@ -3757,7 +3757,7 @@ + + static void hide_tooltip(void) + { +- if (GTK_WIDGET_VISIBLE(tip_window)) ++ if (gtk_widget_get_visible(tip_window)) + g_get_current_time(&tooltip_last_popdown); + + gtk_widget_hide(tip_window); + diff --git a/x11-wm/emerald/files/emerald-0.8.4-pkgconfig-pollution.patch b/x11-wm/emerald/files/emerald-0.8.4-pkgconfig-pollution.patch new file mode 100644 index 0000000..047d8df --- /dev/null +++ b/x11-wm/emerald/files/emerald-0.8.4-pkgconfig-pollution.patch @@ -0,0 +1,12 @@ +--- libengine/emeraldengine.pc.in ++++ libengine/emeraldengine.pc.in +@@ -7,6 +7,7 @@ + Description: Library for Emerald Engines + Version: @VERSION@ + +-Requires: @EMERALD_REQUIRES@ +-Libs: @EMERALD_LIBS@ ++Requires.private: @EMERALD_REQUIRES@ ++Libs: -L${libdir} -lemeraldengine ++Libs.private: @EMERALD_LIBS@ + Cflags: @EMERALD_CFLAGS@ -I${includedir}/emerald