aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoff Ritter <geoff dot ritter at gmail dot com>2011-01-01 00:16:02 -0600
committerRobby Workman <rworkman@slackbuilds.org>2011-01-02 00:24:55 -0600
commite183c644c248f813c3eed38c9b960e7f6f3f4a01 (patch)
treea3bd419266cb6a8613c3f022b1405a5caf365969
parentcbe3aeb7546079f272faaff3bfda668bc635d958 (diff)
desktop/cairo-compmgr: Added (drop-in replacement for xcompmgr)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
-rw-r--r--desktop/cairo-compmgr/README16
-rw-r--r--desktop/cairo-compmgr/cairo-compmgr.SlackBuild123
-rw-r--r--desktop/cairo-compmgr/cairo-compmgr.info10
-rw-r--r--desktop/cairo-compmgr/doinst-gconf.sh24
-rw-r--r--desktop/cairo-compmgr/doinst.sh14
-rw-r--r--desktop/cairo-compmgr/fixup-vala-requirement.patch84
-rw-r--r--desktop/cairo-compmgr/slack-desc19
7 files changed, 290 insertions, 0 deletions
diff --git a/desktop/cairo-compmgr/README b/desktop/cairo-compmgr/README
new file mode 100644
index 0000000000000..47c1ed7e06a71
--- /dev/null
+++ b/desktop/cairo-compmgr/README
@@ -0,0 +1,16 @@
+cairo-compmgr (Drop-in replacement for xcompmgr)
+
+This composite manager uses the cairo library to provide similar effects to
+xcompmgr. You can use it with any window manager, such as fluxbox, to
+provide transparencies. xcompmgr was designed as an example program and
+cairo-compmgr is designed as an actual standalone composite manager.
+
+Warning: this plays a bit weird with fluxbox. Tabs of grouped windows will
+be drawn under windows if cycling through with alt+tab. Additionally when a
+sub sub root menu loops back over it self, it will be drawn under the other
+menus. Other than that, it's an added improvement in visual effects over
+xcompmgr.
+
+This requires vala. libgtop, glade3, GConf, and gobject-introspection are
+optional requirements, but gobject-introspection is not recommend since
+upstream says support for it is still unstable.
diff --git a/desktop/cairo-compmgr/cairo-compmgr.SlackBuild b/desktop/cairo-compmgr/cairo-compmgr.SlackBuild
new file mode 100644
index 0000000000000..94233c4321375
--- /dev/null
+++ b/desktop/cairo-compmgr/cairo-compmgr.SlackBuild
@@ -0,0 +1,123 @@
+#!/bin/sh
+
+# Slackware build script for cairo-compmgr
+
+# Written by Geoff Ritter <geoff dot ritter at gmail dot com>
+# This script is public domain. Use at your own risk.
+
+PRGNAM=cairo-compmgr
+VERSION=${VERSION:-0.3.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e # Exit on most errors
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find . \
+ -type d -exec chmod 0755 {} \; -o \
+ -type f -perm /111 -exec chmod 755 {} \; -o \
+ -type f -exec chmod 644 {} \;
+
+if pkg-config --exists gconf-2.0 ; then
+ WITH_GCONF=YES
+ gconf_flags="--enable-gconf --with-gconf-source=\"xml::/etc/gconf/gconf.xml.defaults\" --disable-schemas-install"
+else
+ gconf_flags="--disable-gconf --disable-schemas-install"
+fi
+
+if pkg-config --exists libgtop-2.0 ; then
+ WITH_PERF=YES
+ perf_flags="--enable-perf-plugin"
+else
+ perf_flags="--disable-perf-plugin"
+fi
+
+# If vala changes the name of the pkgconfig file from libvala-0.12.pc,
+# then this patch will have to be changed. It works with vala-0.11.2.
+patch -p1 < $CWD/fixup-vala-requirement.patch
+
+# gobject introspection will not be 'stable' until GTK+3
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --enable-shared \
+ --disable-static \
+ --disable-gobject-introspection \
+ --build=$ARCH-slackware-linux \
+ ${gconf_flags} \
+ ${perf_flags}
+
+make
+make install DESTDIR=$PKG
+
+# Mess with gconf crap.
+if [ "$WITH_GCONF" != YES ]; then
+ # I think we can safely remove this if you disabled gconf.
+ rm -f $PKG/usr/bin/ccm-schema-key-to-gconf
+fi
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+# Install an icon to the proper location and format the desktop file correctly
+mkdir -p $PKG/usr/share/icons/hicolor/64x64/apps/
+cp $PKG/usr/share/pixmaps/cairo-compmgr/cairo-compmgr.png \
+ $PKG/usr/share/icons/hicolor/64x64/apps/cairo-compmgr.png
+sed -i -e 's/Icon=.*/Icon=cairo-compmgr/' \
+ $PKG/usr/share/applications/cairo-compmgr.desktop
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING ChangeLog INSTALL NEWS README \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+[ "$WITH_GCONF" = YES ] && cat $CWD/doinst-gconf.sh >> $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/desktop/cairo-compmgr/cairo-compmgr.info b/desktop/cairo-compmgr/cairo-compmgr.info
new file mode 100644
index 0000000000000..8829afa6a8fe3
--- /dev/null
+++ b/desktop/cairo-compmgr/cairo-compmgr.info
@@ -0,0 +1,10 @@
+PRGNAM="cairo-compmgr"
+VERSION="0.3.0"
+HOMEPAGE="http://cairo-compmgr.tuxfamily.org/"
+DOWNLOAD="http://download.tuxfamily.org/ccm/cairo-compmgr/cairo-compmgr-0.3.0.tar.gz"
+MD5SUM="f8a2b31d99505ca0308f3533160d8d3b"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+MAINTAINER="Geoff Ritter"
+EMAIL="geoff dot ritter at gmail dot com"
+APPROVED="rworkman"
diff --git a/desktop/cairo-compmgr/doinst-gconf.sh b/desktop/cairo-compmgr/doinst-gconf.sh
new file mode 100644
index 0000000000000..1d6889ea624f7
--- /dev/null
+++ b/desktop/cairo-compmgr/doinst-gconf.sh
@@ -0,0 +1,24 @@
+schema_install() {
+ SCHEMA="$1"
+ GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults" \
+ chroot . gconftool-2 --makefile-install-rule \
+ /etc/gconf/schemas/$SCHEMA \
+ 1>/dev/null
+}
+
+schema_install ccm-screen.schemas
+schema_install ccm-shadow.schemas
+schema_install ccm-window-animation.schemas
+schema_install ccm-freeze.schemas
+schema_install ccm-vala-window-plugin.schemas
+schema_install ccm-fade.schemas
+schema_install ccm-menu-animation.schemas
+schema_install ccm-perf.schemas
+schema_install ccm-snapshot.schemas
+schema_install ccm-magnifier.schemas
+schema_install ccm-mosaic.schemas
+schema_install ccm-automate.schemas
+schema_install ccm-opacity.schemas
+schema_install ccm-decoration.schemas
+schema_install ccm-display.schemas
+
diff --git a/desktop/cairo-compmgr/doinst.sh b/desktop/cairo-compmgr/doinst.sh
new file mode 100644
index 0000000000000..9830478e8cc75
--- /dev/null
+++ b/desktop/cairo-compmgr/doinst.sh
@@ -0,0 +1,14 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -x /usr/bin/update-mime-database ]; then
+ /usr/bin/update-mime-database usr/share/mime >/dev/null 2>&1
+fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
+
diff --git a/desktop/cairo-compmgr/fixup-vala-requirement.patch b/desktop/cairo-compmgr/fixup-vala-requirement.patch
new file mode 100644
index 0000000000000..0115e16d0b030
--- /dev/null
+++ b/desktop/cairo-compmgr/fixup-vala-requirement.patch
@@ -0,0 +1,84 @@
+diff -Nur cairo-compmgr-0.3.0.orig//configure cairo-compmgr-0.3.0/configure
+--- cairo-compmgr-0.3.0.orig//configure 2010-03-17 17:13:42.000000000 -0500
++++ cairo-compmgr-0.3.0/configure 2010-12-31 18:15:49.781205330 -0600
+@@ -13373,7 +13373,7 @@
+ cairo >= \$CAIRO_REQUIRED,
+ pixman-1 >= \$PIXMAN_REQUIRED,
+ gtk+-2.0 >= \$GTK_REQUIRED
+- vala-1.0 >= \$VALA_REQUIRED\""; } >&5
++ libvala-0.12 >= \$VALA_REQUIRED\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "xcomposite,
+ xdamage,
+ xext,
+@@ -13382,7 +13382,7 @@
+ cairo >= $CAIRO_REQUIRED,
+ pixman-1 >= $PIXMAN_REQUIRED,
+ gtk+-2.0 >= $GTK_REQUIRED
+- vala-1.0 >= $VALA_REQUIRED") 2>&5
++ libvala-0.12 >= $VALA_REQUIRED") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+@@ -13394,7 +13394,7 @@
+ cairo >= $CAIRO_REQUIRED,
+ pixman-1 >= $PIXMAN_REQUIRED,
+ gtk+-2.0 >= $GTK_REQUIRED
+- vala-1.0 >= $VALA_REQUIRED" 2>/dev/null`
++ libvala-0.12 >= $VALA_REQUIRED" 2>/dev/null`
+ else
+ pkg_failed=yes
+ fi
+@@ -13415,7 +13415,7 @@
+ cairo >= \$CAIRO_REQUIRED,
+ pixman-1 >= \$PIXMAN_REQUIRED,
+ gtk+-2.0 >= \$GTK_REQUIRED
+- vala-1.0 >= \$VALA_REQUIRED\""; } >&5
++ libvala-0.12 >= \$VALA_REQUIRED\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "xcomposite,
+ xdamage,
+ xext,
+@@ -13424,7 +13424,7 @@
+ cairo >= $CAIRO_REQUIRED,
+ pixman-1 >= $PIXMAN_REQUIRED,
+ gtk+-2.0 >= $GTK_REQUIRED
+- vala-1.0 >= $VALA_REQUIRED") 2>&5
++ libvala-0.12 >= $VALA_REQUIRED") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+@@ -13436,7 +13436,7 @@
+ cairo >= $CAIRO_REQUIRED,
+ pixman-1 >= $PIXMAN_REQUIRED,
+ gtk+-2.0 >= $GTK_REQUIRED
+- vala-1.0 >= $VALA_REQUIRED" 2>/dev/null`
++ libvala-0.12 >= $VALA_REQUIRED" 2>/dev/null`
+ else
+ pkg_failed=yes
+ fi
+@@ -13463,7 +13463,7 @@
+ cairo >= $CAIRO_REQUIRED,
+ pixman-1 >= $PIXMAN_REQUIRED,
+ gtk+-2.0 >= $GTK_REQUIRED
+- vala-1.0 >= $VALA_REQUIRED"`
++ libvala-0.12 >= $VALA_REQUIRED"`
+ else
+ CAIRO_COMPMGR_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xcomposite,
+ xdamage,
+@@ -13473,7 +13473,7 @@
+ cairo >= $CAIRO_REQUIRED,
+ pixman-1 >= $PIXMAN_REQUIRED,
+ gtk+-2.0 >= $GTK_REQUIRED
+- vala-1.0 >= $VALA_REQUIRED"`
++ libvala-0.12 >= $VALA_REQUIRED"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$CAIRO_COMPMGR_PKG_ERRORS" >&5
+@@ -13486,7 +13486,7 @@
+ cairo >= $CAIRO_REQUIRED,
+ pixman-1 >= $PIXMAN_REQUIRED,
+ gtk+-2.0 >= $GTK_REQUIRED
+- vala-1.0 >= $VALA_REQUIRED) were not met:
++ libvala-0.12 >= $VALA_REQUIRED) were not met:
+
+ $CAIRO_COMPMGR_PKG_ERRORS
+
diff --git a/desktop/cairo-compmgr/slack-desc b/desktop/cairo-compmgr/slack-desc
new file mode 100644
index 0000000000000..bd26d2b3ad709
--- /dev/null
+++ b/desktop/cairo-compmgr/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+cairo-compmgr: cairo-compmgr (Drop-in replacement for xcompmgr)
+cairo-compmgr:
+cairo-compmgr: This composite manager uses the cairo library to provide similar
+cairo-compmgr: effects to xcompmgr. You can use it with any window manager to
+cairo-compmgr: provide transparencies. xcompmgr was designed as an example program
+cairo-compmgr: while cairo-compmgr is designed to be an actual standalone composite
+cairo-compmgr: manager.
+cairo-compmgr:
+cairo-compmgr: Homepage: http://cairo-compmgr.tuxfamily.org/
+cairo-compmgr:
+cairo-compmgr: