1 # Maintainer: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
2 # Based on Nathan Hulses's PKGBUILD
4 pkgbase=compiz-core-ubuntu
7 pkgname=compiz-core-ubuntu
8 true && pkgname=('compiz-core-ubuntu' 'compiz-kde-ubuntu' 'compiz-gnome-ubuntu')
10 _kdedeps=('kdebase-workspace')
12 #Uncomment the following lines to not build KDE package
13 #pkgname=('compiz-core-ubuntu' 'compiz-gnome-ubuntu')
16 _ubuntu_rel2="bzr20110929"
17 _ubuntu_rel="0ubuntu8"
18 pkgver=0.9.6.${_ubuntu_rel}
20 pkgdesc="OpenGL window and compositing manager"
21 url="http://www.compiz.org/"
22 arch=('i686' 'x86_64')
24 makedepends=('boost' 'cmake' 'glibmm' 'gnome-control-center' 'intltool' 'libwnck' 'mesa' 'metacity-ubuntu' 'startup-notification')
25 if [ ! -z "${_kdedeps}" ]; then
26 for dep in ${_kdedeps[@]}; do
27 makedepends[${#makedepends[@]}]=${dep}
31 source=("http://archive.ubuntu.com/ubuntu/pool/main/c/${pkgname%%-*}/${pkgname%%-*}_${pkgver%.*}+${_ubuntu_rel2}.orig.tar.bz2"
32 "http://archive.ubuntu.com/ubuntu/pool/main/c/${pkgname%%-*}/${pkgname%%-*}_${pkgver%.*}+${_ubuntu_rel2}-${_ubuntu_rel}.debian.tar.gz")
33 sha512sums=('3588f8dd0b469172820df35eb03233e006379fbd161f93bba5db394e499ef28d99ddbc5ea31490640db098b505e4022bfdcff981b50244a0781e0fa2d5d5d118'
34 '7104c29d72f9c25bf29e95327df66de04e3efce7679b6521fcde374ec2714260ca3b9c0ae3cf149d7c30cc5e093def3489ff45c86d0ddfde8ed85adc2fab1ec7')
37 cd "${srcdir}/${pkgname%%-*}-${pkgver%.*}"
40 for i in $(cat ${srcdir}/debian/patches/series | grep -v '#'); do
41 patch -Np1 -i "${srcdir}/debian/patches/${i}"
44 [[ -d build ]] || mkdir build
47 -DCMAKE_INSTALL_PREFIX=/usr \
48 -DCOMPIZ_DESTDIR="${srcdir}/temp_install" \
49 -DCOMPIZ_BUILD_WITH_RPATH=FALSE \
50 -DCOMPIZ_DEFAULT_PLUGINS="core bailer detection composite opengl decor mousepoll vpswitch regex animation snap expo move compiztoolbox place grid imgpng gnomecompat wall ezoom workarounds staticswitcher resize fade scale session" \
51 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
52 -DCOMPIZ_PACKAGING_ENABLED=TRUE \
54 -DCOMPIZ_DISABLE_GS_SCHEMAS_INSTALL=ON \
58 #Install to temporary directory
60 #unity_window_decorator installs differently
61 sed -i "/INSTALL DESTINATION.*TYPE EXECUTABLE FILES/s@\(\${CMAKE_INSTALL_PREFIX}\)@${srcdir}/temp_install\1@" unity/unity_window_decorator/src/cmake_install.cmake
62 sed -i "/RPATH_REMOVE/ {n; s@\(\\\${CMAKE_INSTALL_PREFIX}\)@${srcdir}/temp_install\1@g}" unity/unity_window_decorator/src/cmake_install.cmake
64 make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 install
65 make findcompiz_install
66 install -dm755 "${srcdir}/temp_install/usr/bin/"
67 install -dm755 "${srcdir}/temp_install/usr/share/man/man1/"
68 install -dm755 "${srcdir}/temp_install/etc/X11/xinit/xinitrc.d/"
69 install -dm755 "${srcdir}/temp_install/etc/compizconfig/"
70 install -dm755 "${srcdir}/temp_install/usr/share/gconf/defaults/"
71 install -dm755 "${srcdir}/temp_install/usr/share/gnome-control-center/keybindings/"
72 install -dm755 "${srcdir}/temp_install/usr/share/gnome/wm-properties/"
73 install -dm755 "${srcdir}/temp_install/etc/compizconfig/upgrades/"
74 install -m755 "${srcdir}/debian/compiz-decorator" "${srcdir}/temp_install/usr/bin/"
75 install -m644 "${srcdir}/debian/compiz.1" "${srcdir}/temp_install/usr/share/man/man1/"
76 install -m644 "${srcdir}/debian/compiz-decorator.1" "${srcdir}/temp_install/usr/share/man/man1/"
77 install -m644 "${srcdir}/debian/gtk-window-decorator.1" "${srcdir}/temp_install/usr/share/man/man1/"
78 install -m644 "${srcdir}/debian/kde4-window-decorator.1" "${srcdir}/temp_install/usr/share/man/man1/"
79 install -m755 "${srcdir}/debian/65compiz_profile-on-session" "${srcdir}/temp_install/etc/X11/xinit/xinitrc.d/"
80 install -m644 "${srcdir}/debian/unity.ini" "${srcdir}/temp_install/etc/compizconfig/"
81 install -m644 "${srcdir}/debian/compiz-gnome.gconf-defaults" "${srcdir}/temp_install/usr/share/gconf/defaults/10_compiz-gnome"
82 install -m644 "${srcdir}/temp_install/usr/share/applications/compiz.desktop" "${srcdir}/temp_install/usr/share/gnome/wm-properties/"
83 for i in $(find "${srcdir}/debian/profile_upgrades/" -type f -name "*.upgrade"); do
84 install -m644 "${i}" "${srcdir}/temp_install/etc/compizconfig/upgrades/"
86 for d in $(find "${srcdir}/temp_install" -type f \( -name "*.desktop" -o -name "*.directory" \) ); do
87 sed -ri '/^(Name|GenericName|Comment|X-GNOME-FullName)\[/d' ${d}
88 echo "X-Ubuntu-Gettext-Domain=compiz" >> ${d}
90 for i in launchers navigation screenshot system windows; do
91 sed 's/wm_name=\"Metacity\"/wm_name=\"Compiz\"/' "/usr/share/gnome-control-center/keybindings/50-metacity-${i}.xml" > "${srcdir}/temp_install/usr/share/gnome-control-center/keybindings/50-compiz-${i}.xml"
93 sed -i 's#key=\"/apps/metacity/general/num_workspaces\" comparison=\"gt\"##g' "${srcdir}/temp_install/usr/share/gnome-control-center/keybindings/50-compiz-navigation.xml"
96 cp -rv "${srcdir}/temp_install" "${srcdir}/temp_install.bak"
99 package_compiz-kde-ubuntu() {
100 pkgdesc="OpenGL window and compositing manager - KDE window decorator"
101 groups=('unity' 'compiz-ubuntu')
102 #compizconfig-backend-kconfig4 cannot compile
103 depends=('kdebase-workspace' 'compiz-core-ubuntu')
104 optdepends=('compizconfig-backend-kconfig4-ubuntu: Store sttings with KConfig')
105 provides=("compiz-decorator-kde=${pkgver}")
106 conflicts=('compiz-decorator-kde')
108 install -dm755 "${pkgdir}/usr/bin/"
109 install -dm755 "${pkgdir}/usr/lib/compiz/"
110 install -dm755 "${pkgdir}/usr/share/compiz/"
111 install -dm755 "${pkgdir}/usr/share/man/man1/"
112 mv "${srcdir}/temp_install/usr/bin/kde4-window-decorator" "${pkgdir}/usr/bin/"
113 mv "${srcdir}/temp_install/usr/lib/compiz/libkde.so" "${pkgdir}/usr/lib/compiz/"
114 mv "${srcdir}/temp_install/usr/share/compiz/kde.xml" "${pkgdir}/usr/share/compiz/"
115 mv "${srcdir}/temp_install/usr/share/man/man1/kde4-window-decorator.1" "${pkgdir}/usr/share/man/man1/"
118 package_compiz-gnome-ubuntu() {
119 pkgdesc="OpenGL window and compositing manager - GNOME window decorator"
120 groups=('unity' 'compiz-ubuntu')
121 depends=('gnome-control-center' 'metacity-ubuntu' 'compiz-core' 'gconf-ubuntu')
122 optdepends=('compizconfig-backend-gconf-ubuntu: Store settings in GNOME GConf database')
123 provides=("compiz-decorator-gtk=${pkgver}")
124 conflicts=('compiz-decorator-gtk')
125 install=compiz-gnome-ubuntu.install
127 install -dm755 "${pkgdir}/etc/X11/xinit/xinitrc.d/"
128 install -dm755 "${pkgdir}/etc/compizconfig/upgrades/"
129 install -dm755 "${pkgdir}/usr/bin/"
130 install -dm755 "${pkgdir}/usr/share/gconf/defaults/"
131 install -dm755 "${pkgdir}/usr/share/gconf/schemas/"
132 install -dm755 "${pkgdir}/usr/share/gnome-control-center/keybindings/"
133 install -dm755 "${pkgdir}/usr/share/gnome/wm-properties/"
134 install -dm755 "${pkgdir}/usr/share/man/man1/"
135 mv "${srcdir}/temp_install/etc/X11/xinit/xinitrc.d/65compiz_profile-on-session" "${pkgdir}/etc/X11/xinit/xinitrc.d/"
136 mv "${srcdir}/temp_install/etc/compizconfig/unity.ini" "${pkgdir}/etc/compizconfig/"
137 mv "${srcdir}/temp_install/etc/compizconfig/upgrades/com.canonical.unity.unity.01.upgrade" "${pkgdir}/etc/compizconfig/upgrades/"
138 mv "${srcdir}/temp_install/etc/compizconfig/upgrades/com.canonical.unity.unity.02.upgrade" "${pkgdir}/etc/compizconfig/upgrades/"
139 mv "${srcdir}/temp_install/usr/bin/gtk-window-decorator" "${pkgdir}/usr/bin/"
140 mv "${srcdir}/temp_install/usr/bin/unity-window-decorator" "${pkgdir}/usr/bin/"
141 mv "${srcdir}/temp_install/usr/share/gconf/defaults/10_compiz-gnome" "${pkgdir}/usr/share/gconf/defaults/"
142 for i in compiz-{annotate,bailer,blur,clone,commands,compiztoolbox,composite,copytex,core,cube,dbus,debugspew,decor,detection,fade,gnomecompat,imgpng,imgsvg,ini,inotify,kde,move,obs,opengl,place,regex,resize,rotate,scale,screenshot,switcher,water,wobbly,zoom}.schemas gwd.schemas; do
143 mv "${srcdir}/temp_install/usr/share/gconf/schemas/${i}" "${pkgdir}/usr/share/gconf/schemas/"
145 for i in 50-compiz-{launchers,navigation,screenshot,system,windows}.xml; do
146 mv "${srcdir}/temp_install/usr/share/gnome-control-center/keybindings/${i}" "${pkgdir}/usr/share/gnome-control-center/keybindings/"
148 mv "${srcdir}/temp_install/usr/share/gnome/wm-properties/compiz.desktop" "${pkgdir}/usr/share/gnome/wm-properties/"
149 mv "${srcdir}/temp_install/usr/share/man/man1/gtk-window-decorator.1" "${pkgdir}/usr/share/man/man1/"
152 package_compiz-core-ubuntu() {
153 pkgdesc="OpenGL window and compositing manager"
154 groups=('unity' 'compiz-ubuntu')
155 depends=('startup-notification' 'mesa' 'dbus' 'libxslt' 'fuse')
157 provides=("compiz-core=${pkgver}")
158 conflicts=('compiz-core')
159 optdepends=('ccsm-ubuntu: CompizConfig Settings Manager'
160 'compiz-gnome-ubuntu: GNOME/Unity support'
161 'compizconfig-backend-gconf-ubuntu: Store settings in GNOME GConf database'
162 'compiz-kde-ubuntu: KDE support'
163 'compizconfig-backend-kconfig4-ubuntu: Store sttings with KConfig'
164 'compiz-plugins-main-ubuntu: Main plugins'
165 'compiz-plugins-extra-ubuntu: Extra plugins')
167 install -dm755 "${pkgdir}/usr/bin/"
168 install -dm755 "${pkgdir}/usr/include/"
169 install -dm755 "${pkgdir}/usr/lib/"
170 mv "${srcdir}/temp_install/usr/bin/compiz" "${pkgdir}/usr/bin/"
171 mv "${srcdir}/temp_install/usr/bin/compiz-decorator" "${pkgdir}/usr/bin/"
172 mv "${srcdir}/temp_install/usr/lib/libdecoration.so"* "${pkgdir}/usr/lib/"
173 for dir in usr/include usr/share/locale usr/share/applications usr/lib/pkgconfig; do
174 pushd "${srcdir}/temp_install/${dir}"
175 for file in $(find . -type f); do
176 install -Dm644 "${file}" "${pkgdir}/${dir}/${file}"
181 pushd "${srcdir}/temp_install/usr/lib/compiz/"
182 for file in $(find . -type f ! -name 'libkde.so'); do
183 install -Dm755 "${file}" "${pkgdir}/usr/lib/compiz/${file}"
187 pushd "${srcdir}/temp_install/usr/share/compiz/"
188 for file in $(find . -type f ! -name 'kde.xml'); do
189 install -Dm644 "${file}" "${pkgdir}/usr/share/compiz/${file}"
193 pushd "${srcdir}/temp_install/usr/share/man/"
194 for file in $(find . -type f ! -name 'kde4-window-decorator.1' ! -name 'gtk-window-decorator.1'); do
195 install -Dm644 "${file}" "${pkgdir}/usr/share/man/${file}"
198 pushd "${srcdir}/temp_install/usr/share/"
199 for file in $(find cmake* -type f); do
200 install -Dm644 "${file}" "${pkgdir}/usr/share/${file}"