summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD251
1 files changed, 173 insertions, 78 deletions
diff --git a/PKGBUILD b/PKGBUILD
index cbb06a2c3d00..41800fb95e42 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,105 +1,200 @@
-# Maintainer: Robert Brzozowski <robson75@linux.pl>
-# Maintainer: Charles Bos <charlesbos1 AT gmail>
-# Contributor: Rob McCathie <archaur at rmcc dot com dot au
-# Contributor: /dev/rs0 <rs0@secretco.de.com>
-# Contributor: Iven Hsu <ivenvd AT gmail>
-# Contributor: Nathan Hulse <nat.hulse@gmail.com>
-
-pkgname=compiz-git
-pkgver=0.9.14.1.r0.g71fcf28a6
+# Maintainer:
+# Contributor: Robert Brzozowski <robson75@linux.pl>
+# Contributor: Charles Bos <charlesbos1 AT gmail>
+
+## options
+: ${_build_git:=true}
+
+unset _pkgtype
+[[ "${_build_git::1}" == "t" ]] && _pkgtype+="-git"
+
+## basic info
+_pkgname='compiz'
+pkgname="$_pkgname${_pkgtype:-}"
+pkgver=0.9.14.2.r6.g275e8550
pkgrel=1
-_gitname=compiz
-pkgdesc="Composite manager for Aiglx and Xgl, with plugins and CCSM (development version)"
-arch=('i686' 'x86_64')
+pkgdesc="Composite manager for Aiglx and Xgl, with plugins and CCSM"
url="https://launchpad.net/compiz"
-license=('GPL' 'LGPL' 'MIT')
-depends=('boost-libs' 'xorg-server' 'fuse2' 'glibmm' 'libwnck3' 'python-gobject' 'python-cairo' 'protobuf' 'metacity' 'glu')
-makedepends=('boost' 'cmake' 'git' 'intltool' 'cython')
-optdepends=(
- 'xorg-xprop: grab various window properties for use in window matching rules'
+arch=('i686' 'x86_64')
+license=(
+ 'GPL-2.0-or-later'
+ 'LGPL-2.1-or-later'
+ 'MIT'
)
-conflicts=("${_gitname}" 'compiz-core' 'compiz-gtk' 'compiz-bcop' 'ccsm' 'compiz-fusion-plugins-main' 'compiz-fusion-plugins-extra' 'compiz-fusion-plugins-experimental' 'compizconfig-python' 'libcompizconfig' 'simple-ccsm')
-provides=("${_gitname}=${pkgver:0:6}" "compiz-core=${pkgver:0:6}" "compiz-bcop=${pkgver:0:6}" "ccsm=${pkgver:0:6}" "compiz-plugins-main=${pkgver:0:6}" "compiz-plugins-extra=${pkgver:0:6}" "compizconfig-python=${pkgver:0:6}" "libcompizconfig=${pkgver:0:6}")
-replaces=('compiz-bzr')
-source=("git+https://git.launchpad.net/${_gitname}"
- "focus-prevention-disable.patch"
- "gtk-extents.patch"
- "reverse-unity-config.patch"
- "screenshot-launch-fix.patch"
- "no-compile-gschemas.patch")
-sha256sums=('SKIP'
- 'f4897590b0f677ba34767a29822f8f922a750daf66e8adf47be89f7c2550cf4b'
- '16ddb6311ce42d958505e21ca28faae5deeddce02cb558d55e648380274ba4d9'
- '6ec9c04540ca1649c687d9ab2c8311caea7075831e2cffe719ec7958c9ebab7b'
- '89ee91a8ea6b1424ef76661ea9a2db43412366aacddc12d24a7adf5e04bfbc61'
- '4ab3277da201314b3f65e30128bc30704ddee584fdbbfc8d0d83c7e0de91fa9a')
-
-pkgver() {
- cd "${_gitname}"
- git describe --long --tags | sed 's/.%//;s/\+.*ubuntu.//;s/\([^-]*-g\)/r\1/;s/-/./g'
+
+# main package
+_main_package() {
+ depends=(
+ 'boost-libs'
+ 'fuse2'
+ 'glibmm'
+ 'glu'
+ 'libnotify'
+ 'libwnck3'
+ 'libxslt'
+ 'metacity'
+ 'protobuf'
+ 'python-cairo'
+ 'python-gobject'
+ 'xorg-server'
+ )
+ makedepends=(
+ 'boost'
+ 'cmake'
+ 'cython'
+ 'intltool'
+ 'python-setuptools'
+ )
+ optdepends=(
+ 'xorg-xprop: grab various window properties for use in window matching rules'
+ )
+
+ conflicts=(
+ 'ccsm'
+ 'compiz-bcop'
+ 'compiz-core'
+ 'compiz-fusion-plugins-experimental'
+ 'compiz-fusion-plugins-extra'
+ 'compiz-fusion-plugins-main'
+ 'compiz-gtk'
+ 'compizconfig-python'
+ 'libcompizconfig'
+ 'simple-ccsm'
+ )
+ provides=(
+ "ccsm=${pkgver:0:6}"
+ "compiz-bcop=${pkgver:0:6}"
+ "compiz-core=${pkgver:0:6}"
+ "compiz-plugins-extra=${pkgver:0:6}"
+ "compiz-plugins-main=${pkgver:0:6}"
+ "compizconfig-python=${pkgver:0:6}"
+ "libcompizconfig=${pkgver:0:6}"
+ )
+
+ if [ "${_build_git::1}" != "t" ] ; then
+ _main_stable
+ else
+ _main_git
+ fi
+
+ source+=(
+ "focus-prevention-disable.patch"
+ "gtk-extents.patch"
+ "reverse-unity-config.patch"
+ "screenshot-launch-fix.patch"
+ "no-compile-gschemas.patch"
+ )
+ sha256sums+=(
+ 'f4897590b0f677ba34767a29822f8f922a750daf66e8adf47be89f7c2550cf4b'
+ '16ddb6311ce42d958505e21ca28faae5deeddce02cb558d55e648380274ba4d9'
+ '6ec9c04540ca1649c687d9ab2c8311caea7075831e2cffe719ec7958c9ebab7b'
+ '89ee91a8ea6b1424ef76661ea9a2db43412366aacddc12d24a7adf5e04bfbc61'
+ '4ab3277da201314b3f65e30128bc30704ddee584fdbbfc8d0d83c7e0de91fa9a'
+ )
+}
+
+# stable package
+_main_stable() {
+ _pkgsrc="$_pkgname-${pkgver%%.r*}"
+ _pkgext="tar.xz"
+ source+=(
+ "$_pkgsrc.$_pkgext"::"https://launchpad.net/$_pkgname/${pkgver:0:6}/${pkgver%%.r*}/+download/$_pkgsrc.$_pkgext"
+ )
+ sha256sums+=(
+ 'cfa061e93b032275ff9e7041f582a8f6d5ae271cf8a89e6bc74e3d3635999d3c'
+ )
+
+ pkgver() {
+ echo "${pkgver%%.r*}"
+ }
}
+# git package
+_main_git() {
+ makedepends+=('git')
+
+ conflicts+=('compiz')
+ provides+=("compiz=${pkgver:0:6}")
+
+ _pkgsrc="$_pkgname"
+ source+=("$_pkgsrc"::"git+https://git.launchpad.net/compiz")
+ sha256sums+=('SKIP')
+
+ pkgver() {
+ cd "$_pkgsrc"
+ git describe --long --tags --abbrev=8 --exclude='*[a-zA-Z][a-zA-Z]*' | sed -E 's/^v//;s/([^-]*-g)/r\1/;s/-/./g'
+ }
+}
+
+# common functions
prepare() {
- cd "${_gitname}"
+ cd "$_pkgsrc"
# Reverse Unity specific configuration patches
- patch -p1 -i "${srcdir}/reverse-unity-config.patch"
+ patch -p1 -i "$srcdir/reverse-unity-config.patch"
# Set focus prevention level to off which means that new windows will always get focus
- patch -p1 -i "${srcdir}/focus-prevention-disable.patch"
+ patch -p1 -i "$srcdir/focus-prevention-disable.patch"
# Fix incorrect extents for GTK+ tooltips, csd etc
- patch -p1 -i "${srcdir}/gtk-extents.patch"
+ patch -p1 -i "$srcdir/gtk-extents.patch"
# Fix application launching for the screenshot plugin
- patch -p1 -i "${srcdir}/screenshot-launch-fix.patch"
+ patch -p1 -i "$srcdir/screenshot-launch-fix.patch"
# Don't try to compile gschemas during make install
- patch -p1 -i "${srcdir}/no-compile-gschemas.patch"
+ patch -p1 -i "$srcdir/no-compile-gschemas.patch"
}
build() {
- cd "${_gitname}"
-
- mkdir build; cd build
-
- cmake .. \
- -DCMAKE_INSTALL_PREFIX="/usr" \
- -DCMAKE_INSTALL_LIBDIR="/usr/lib" \
- -DCOMPIZ_DISABLE_SCHEMAS_INSTALL=On \
- -DCOMPIZ_BUILD_WITH_RPATH=Off \
- -DCOMPIZ_PACKAGING_ENABLED=On \
- -DBUILD_GTK=On \
- -DBUILD_METACITY=On \
- -DBUILD_KDE4=Off \
- -DCOMPIZ_BUILD_TESTING=Off \
- -DCOMPIZ_WERROR=Off \
- -DCOMPIZ_DEFAULT_PLUGINS="composite,opengl,decor,resize,place,move,compiztoolbox,staticswitcher,regex,animation,ccp"
-
- make
+ local _cmake_options=(
+ -B build
+ -S "$_pkgsrc"
+
+ -DCMAKE_CXX_STANDARD=17
+ -DCMAKE_BUILD_TYPE="Release"
+ -DCMAKE_INSTALL_PREFIX="/usr"
+ -DCMAKE_INSTALL_LIBDIR="/usr/lib"
+ -DCOMPIZ_DISABLE_SCHEMAS_INSTALL=ON
+ -DCOMPIZ_BUILD_WITH_RPATH=OFF
+ -DCOMPIZ_PACKAGING_ENABLED=ON
+ -DBUILD_GTK=ON
+ -DBUILD_METACITY=ON
+ -DBUILD_KDE4=OFF
+ -DCOMPIZ_DEFAULT_PLUGINS="composite,opengl,decor,resize,place,move,compiztoolbox,staticswitcher,regex,animation,wall,ccp"
+
+ -DCOMPIZ_BUILD_TESTING=OFF
+ -DCOMPIZ_WERROR=OFF
+ -Wno-dev
+ )
+
+ cmake "${_cmake_options[@]}"
+ cmake --build build
}
package() {
- cd "${_gitname}/build"
- make DESTDIR="${pkgdir}" install
+ DESTDIR="$pkgdir" cmake --install build
# findcompiz_install needs COMPIZ_DESTDIR and install needs DESTDIR
# make findcompiz_install
CMAKE_DIR=$(cmake --system-information | grep '^CMAKE_ROOT' | awk -F\" '{print $2}')
- install -dm755 "${pkgdir}${CMAKE_DIR}/Modules/"
- install -m644 ../cmake/FindCompiz.cmake "${pkgdir}${CMAKE_DIR}/Modules/"
-
- # Add documentation
- install -dm755 "${pkgdir}/usr/share/doc/compiz/"
- install ../{AUTHORS,NEWS,README} "${pkgdir}/usr/share/doc/compiz/"
-
- # Add gsettings schema files
- if ls generated/glib-2.0/schemas/ | grep -qm1 .gschema.xml; then
- install -dm755 "${pkgdir}/usr/share/glib-2.0/schemas/"
- install -m644 generated/glib-2.0/schemas/*.gschema.xml "${pkgdir}/usr/share/glib-2.0/schemas/"
- fi
-
- # Install licenses
- install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 "${srcdir}/${_gitname}"/{COPYING,COPYING.GPL,COPYING.LGPL,COPYING.MIT} "${pkgdir}/usr/share/licenses/${pkgname}"
+ install -Dm644 "$_pkgsrc/cmake/FindCompiz.cmake" \
+ -t "${pkgdir}${CMAKE_DIR}/Modules/"
+
+ # documentation
+ #install -Dm644 "$_pkgsrc"/{AUTHORS,NEWS,README} \
+ # -t "$pkgdir/usr/share/doc/compiz/"
+
+ # gsettings schema files
+ if ls build/generated/glib-2.0/schemas/ | grep -qm1 .gschema.xml; then
+ install -Dm644 build/generated/glib-2.0/schemas/*.gschema.xml \
+ -t "$pkgdir/usr/share/glib-2.0/schemas/"
+ fi
+
+ # licenses
+ install -Dm644 "$_pkgsrc"/{COPYING,COPYING.GPL,COPYING.LGPL,COPYING.MIT} \
+ -t "$pkgdir/usr/share/licenses/$pkgname"
}
+
+# execute
+_main_package