desktop/kde-workspace/PKGBUILD
2011-09-03 15:58:28 +00:00

312 lines
12 KiB
Bash

#
# KDE SC Packages for Chakra, part of chakra-project.org
#
# maintainer (i686): Phil Miller <philm[at]chakra-project[dog]org>
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
# include global config
source ../_buildscripts/${current_repo}-${_arch}-cfg.conf
#
# package info
#
pkgbase=('kde-workspace')
pkgname=('kde-workspace'
'kde-workspace-doc')
arch=('i686' 'x86_64')
pkgver=${_kdever}
pkgrel=1
pkgdesc="split package"
url="http://www.kde.org"
license=('GPL' 'LGPL' 'FDL')
options=('docs' '!splithdr' 'splitdbg' 'log')
# Default wallpaper included in kde-workspace pkg
_default_wp="Horos"
# NOTE keep in sync with kde-workspace-depends
depends=('polkit-kde-agent' "kdepimlibs>=${_kdever}" "kde-runtime>=${_kdever}" 'qimageblitz'
'libxxf86misc' 'libxcomposite' 'libxss' 'lm_sensors' 'libxklavier' 'libxft' 'oxygen-icons' "xkit"
'libxdamage' 'xorg-utils' 'libxrandr' 'libxres' 'libdmtx' 'libqalculate' 'prison' 'qrencode' "kdepim-runtime>=${_kdever}")
makedepends=('pkgconfig' 'cmake' 'automoc4' 'networkmanager' 'bluez' "kdebindings-pykde4>=${_kdever}"
"kdebindings-korundum>=${_kdever}" 'oxygen-icons' 'qedje' "kde-runtime>=${_kdever}" 'gpsd' 'samba'
'libraw1394' 'libdmtx' 'consolekit' 'docbook-xsl' 'google-gadgets-qt>=0.11.2' 'prison' 'qrencode')
source=($_mirror/${pkgbase}-$_kdever.tar.bz2
$_mirror/kde-wallpapers-$_kdever.tar.bz2
mishaaq-kcm_touchpad-00370b5.tar.gz
#http://www.kde-apps.org/CONTENT/content-files/114856-kcm_tablet-1.1.3.tar.gz
#http://www.kde-apps.org/CONTENT/content-files/117639-favorites-0.1.tar.bz2
http://chakra-project.org/sources/kde-workspace/114856-kcm_tablet-1.1.3.tar.gz
http://chakra-project.org/sources/kde-workspace/117639-favorites-0.1.tar.bz2
kde.pam
kde-np.pam
kscreensaver.pam
chakra-branding.tar.gz
chakra-themes.tar.gz
# core patches
01_kdm_zsh_profile.patch
02_sane_env_and_shutdown_path.patch
03_plasma_menubutton_branding.patch
06_kickoff_default_favourites.patch
07_always_show_kickoff_subtext.patch
09_enable_start-shutdown-scripts.patch
# fixes
# let KDM wait a big longer for X to start up, fixes problems on some gfx hardware that needs a lot of time to initialize
fix_kdm-increase-xserver-timeout-bnc#462478.patch
# restart xserver on logout
fix_terminate-server.patch
# fix kdm default user for greeter
fix_kdm_configdef.patch
# "fix" some sytemsettings modules that need root access
fix_root-only-kcms.patch
# shutdown-fix.patch
sensors-fix.patch
)
md5sums=(`grep ${pkgbase}-$_kdever.tar.bz2 ../kde-sc.md5 | cut -d" " -f1`
`grep kde-wallpapers-$_kdever.tar.bz2 ../kde-sc.md5 | cut -d" " -f1` # kde-wallpapers
'f355a658d2e9267fdf4e8d8f88038bcf' # mishaaq-kcm_touchpad-00370b5.tar.gz
'd4570491bcf9986d84aeb77c939090a9' # 114856-kcm_tablet-1.1.3.tar.gz
'b60baabccbd302d00923e053db0dc0ae' # 117639-favorites-0.1.tar.bz2
'10a490653b002e6f9e7476ff9d37c011' # kde.pam
'552337fd9a3982d809ea16c7f0033d42' # kde-np.pam
'367a3538f54db71f108b34cfa31088ac' # kscreensaver.pam
'169c6fc83d5562b5d7249db7fc46d8d6' # chakra-branding.tar.gz
'c328f1c5cfa3e551205ffdc0fdda41a8' # chakra-themes.tar.gz
'721e97031b62aee8914e8617e86f9235' # 01_kdm_zsh_profile.patch
'e2eb9d270fe0e93901b29256bdedd7e2' # 02_sane_env_and_shutdown_path.patch
'8e623bb5608025417ff9ed061e5a03f1' # 03_plasma_menubutton_branding.patch
'0ee6e12bb9830b4248becb0442dc7e0c' # 06_kickoff_default_favourites.patch
'89d96455c6a446ef59b0620d1b8606af' # 07_always_show_kickoff_subtext.patch
'5eb9285268916492012151045bdebd26' # 09_enable_start-shutdown-scripts.patch
'db2d8166f5ea80ecd291deb9c0e2bb71' # fix_kdm-increase-xserver-timeout-bnc#462478.patch
'814350c52c135d6f7bdada1e29223d38' # fix_terminate-server.patch
'97a5eb51e6f9d460f0d61bb322a1db5e' # fix_kdm_configdef.patch
'5f963f80a026f0600edae1b1c70411e5' # fix_root-only-kcms.patch
'ecf3a9d6af9bdd3db0189e06ddf21034' # sensors-fix.patch
)
# '13c3203589143e9e2fc757c17375227a' # feature_plasma-transparent-panel-v4-rb#472.patch
# '7361012da217f9aeeca61f0e9956e1d0' # feature_brightness-osd.patch
# '894815a80f99a9a0dee1adbcda49b161' # feature_battery-tooltip.patch
# '9b97ac1b4deb8d0c8ca7afffb80b4320' # feature_history-notifications-enable-disable-kde#119207.patch
# '42b3b5e09372c57910c3435e63e2dfd6' # feature_kdm-plymouth.patch
#
# build function
#
build()
{
cd ${srcdir}/${pkgbase}-${pkgver}
msg "applying main patchset ..."
patch -Np0 -i ${srcdir}/01_kdm_zsh_profile.patch
patch -Np0 -i ${srcdir}/02_sane_env_and_shutdown_path.patch
patch -Np1 -i ${srcdir}/03_plasma_menubutton_branding.patch
patch -Np1 -i ${srcdir}/06_kickoff_default_favourites.patch
patch -Np1 -i ${srcdir}/07_always_show_kickoff_subtext.patch
patch -Np1 -i ${srcdir}/09_enable_start-shutdown-scripts.patch
msg "applying fixes ..."
patch -Np0 -i ${srcdir}/fix_kdm-increase-xserver-timeout-bnc#462478.patch
patch -Np0 -i ${srcdir}/fix_terminate-server.patch
patch -p0 -N -i ${srcdir}/fix_kdm_configdef.patch
patch -Np1 -i ${srcdir}/fix_root-only-kcms.patch
# FIXME: update feature patches
# msg "applying feature patches ..."
# patch -Np1 -i ${srcdir}/feature_plasma-transparent-panel-v4-rb#472.patch
# patch -Np1 -i ${srcdir}/feature_brightness-osd.patch
# patch -Np1 -i ${srcdir}/feature_battery-tooltip.patch
# patch -Np1 -i ${srcdir}/feature_history-notifications-enable-disable-kde#119207.patch
# patch -Np1 -i ${srcdir}/feature_kdm-plymouth.patch
# msg "applying upstream patches ..."
msg "starting workspace build ..."
cmake . -DCMAKE_BUILD_TYPE=${_build_type} \
-DCMAKE_INSTALL_PREFIX=${_installprefix} \
-DWITH_Xmms=OFF \
-DCMAKE_SKIP_RPATH=ON \
-DWITH_PolkitQt=OFF \
-DCMAKE_{SHARED,MODULE,EXE}_LINKER_FLAGS='-Wl,--no-undefined -Wl,--as-needed'
make
msg "starting kcm_touchpad build ..."
cd ${srcdir}/mishaaq-kcm_touchpad-00370b5
# Fix desktop to the new layout
sed -i -e "s~keyboard-and-mouse~input-devices~g" touchpad.desktop
cmake . -DCMAKE_BUILD_TYPE=${_build_type} \
-DCMAKE_INSTALL_PREFIX=${_installprefix} \
-DWITH_Xmms=OFF \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_{SHARED,MODULE,EXE}_LINKER_FLAGS='-Wl,--no-undefined -Wl,--as-needed'
msg "starting kcm_tablet build ..."
cd ${srcdir}/kcm_tablet-1.1.3
# Fix desktop to the new layout
sed -i -e "s~keyboard-and-mouse~input-devices~g" ${srcdir}/kcm_tablet-1.1.3/src/kcm_tablet.desktop
cmake . -DCMAKE_BUILD_TYPE=${_build_type} \
-DCMAKE_INSTALL_PREFIX=${_installprefix} \
-DWITH_Xmms=OFF \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_{SHARED,MODULE,EXE}_LINKER_FLAGS='-Wl,--no-undefined -Wl,--as-needed'
msg "starting favorites launcher build ..."
cd ${srcdir}/favorites-0.1
cmake . -DCMAKE_BUILD_TYPE=${_build_type} \
-DCMAKE_INSTALL_PREFIX=${_installprefix} \
-DWITH_Xmms=OFF \
-DCMAKE_SKIP_RPATH=ON \
-DCMAKE_{SHARED,MODULE,EXE}_LINKER_FLAGS='-Wl,--no-undefined -Wl,--as-needed'
make
}
#
# split-install functions
#
package_kde-workspace()
{
pkgdesc="KDE Workspace"
# FIXME don't find google-gadgets
# NOTE keep in sync with depends
depends=('polkit-kde-agent' "kdepimlibs>=${_kdever}" "kde-runtime>=${_kdever}" 'qimageblitz'
'libxxf86misc' 'libxcomposite' 'libxss' 'lm_sensors' 'libxklavier' 'libxft' 'oxygen-icons' "xkit"
'libxdamage' 'xorg-utils' 'libxrandr' 'libxres' 'libdmtx' 'libqalculate' 'prison' 'qrencode' "kdepim-runtime>=${_kdever}")
optdepends=("kdebindings-pykde4 : Python Support for Plasma"
"kdeedu-marble : Marble Wallpaper Plugin"
"google-gadgets-qt : Plasma Support for Google Gadgets"
"qedje : Plasma Support for Edje Files"
"gpsd : Plasma geolocation support"
"(open)ntp : Time/Date sync support")
provides=('kdebase-workspace' 'powerdevil' 'kcm_tablet=1.1.3')
replaces=('guidance-power-manager' 'kdebase-workspace')
conflicts=('kdebase-workspace' 'powerdevil' 'kcm_tablet' 'guidance-power-manager')
groups=("kde" "kde-uninstall" "kde-minimal")
backup=('usr/share/config/kdm/kdmrc'
'etc/pam.d/kde'
'etc/pam.d/kde-np'
'etc/pam.d/kscreensaver')
install=${pkgbase}.install
cd ${srcdir}/${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} install
cd ${srcdir}/mishaaq-kcm_touchpad-00370b5
make DESTDIR=${pkgdir} install
cd ${srcdir}/kcm_tablet-1.1.3
make DESTDIR=${pkgdir} install
cd ${srcdir}/favorites-0.1
make DESTDIR=${pkgdir} install
# install pam configuration
install -D -m644 ${srcdir}/kde.pam ${pkgdir}/etc/pam.d/kde
install -D -m644 ${srcdir}/kde-np.pam ${pkgdir}/etc/pam.d/kde-np
install -D -m644 ${srcdir}/kscreensaver.pam ${pkgdir}/etc/pam.d/kscreensaver
# sane path for env and shutdown dir
install -d -m755 ${pkgdir}/etc/kde/{env,shutdown}
# install session
install -D -m 644 ${srcdir}/${pkgbase}-${pkgver}/kdm/kfrontend/sessions/kde-plasma.desktop \
${pkgdir}/etc/X11/sessions/kde-plasma.desktop
install -D -m 644 ${srcdir}/${pkgbase}-${pkgver}/kdm/kfrontend/sessions/kde-plasma-safe.desktop \
${pkgdir}/etc/X11/sessions/kde-plasma-safe.desktop
# also install kdm clean default config
cd ${srcdir}/${pkgbase}-${pkgver}/kdm
make DESTDIR=${pkgdir} GENKDMCONF_FLAGS="--no-old --no-backup --no-in-notice" install
# povided in separate package
rm -rf ${pkgdir}/usr/share/doc
# copy branding stuff
mkdir -p ${pkgdir}/usr/share/icons/oxygen/scalable/places/
cp -f ${srcdir}/kdemod-branding/start-here-branding.svgz ${pkgdir}/usr/share/icons/oxygen/scalable/places/start-here-branding.svgz
cp -f ${srcdir}/kdemod-branding/branding-icon.png ${pkgdir}/usr/share/apps/kdm/themes/oxygen/branding-icon.png
cd ${srcdir}/kdemod-branding/
for i in 256 128 64 48 32 22 16; do
mkdir -p ${pkgdir}/usr/share/icons/oxygen/${i}x${i}/places/
install -D -m644 start-here-branding-${i}.png ${pkgdir}/usr/share/icons/oxygen/${i}x${i}/places/start-here-branding.png
done
# copy kdm/ksplash themes
mkdir -p ${pkgdir}/usr/share/apps/kdm/themes
mv -fv ${srcdir}/kdemod-themes/oxygen-light ${pkgdir}/usr/share/apps/kdm/themes
mkdir -p ${pkgdir}/usr/share/apps/ksplash/Themes
mv -fv ${srcdir}/kdemod-themes/Default-Light ${pkgdir}/usr/share/apps/ksplash/Themes
# edit kdmrc
sed -i -e s,#GUIStyle=.*,GUIStyle=Oxygen,g ${pkgdir}/usr/share/config/kdm/kdmrc
sed -i -e s,#ColorScheme=.*,ColorScheme=Oxygen,g ${pkgdir}/usr/share/config/kdm/kdmrc
sed -i -e s,Theme=/usr.*,Theme=/usr/share/apps/kdm/themes/horos,g ${pkgdir}/usr/share/config/kdm/kdmrc
sed -i -e s,MinShowUID=.*,MinShowUID=1000,g ${pkgdir}/usr/share/config/kdm/kdmrc
# WORKAROUND -> put ggl stuff into ggl package
rm -rf ${pkgdir}/usr/share/apps/plasma/plasmoids/ggl_photos
rm -rf ${pkgdir}/usr/share/apps/plasma/plasmoids/ggl_rss
rm -rf ${pkgdir}/usr/share/kde4/services/plasma-applet-ggl-photos.desktop
rm -rf ${pkgdir}/usr/share/kde4/services/plasma-applet-ggl-rss.desktop
# Put a wallpaper into the package
mkdir -p ${pkgdir}/usr/share/wallpapers
cp -rv ${srcdir}/kde-wallpapers-${_kdever}/${_default_wp} ${pkgdir}/usr/share/wallpapers
# include our patches into the package
ls -1 ${startdir}/*.patch &>/dev/null 2>&1
if [ "$?" = "0" ]; then
warning "incuding patches into package"
mkdir -p ${pkgdir}/usr/share/chakra/patches/${pkgbase} &>/dev/null
for i in ${startdir}/*.patch; do
msg "$i"
cp $i ${pkgdir}/usr/share/chakra/patches/${pkgbase}/ &>/dev/null
done
else
warning "no patches found, skipping to include them into the package..."
fi
# FIXME: duplicates in kde-workspace-doc
rm -rfv $pkgdir/usr/share/man/man1/plasmaengineexplorer.1*
rm -rfv $pkgdir/usr/share/man/man1/plasmapkg.1*
rm -rfv $pkgdir/usr/share/man/man1/plasmoidviewer.1*
}
package_kde-workspace-doc()
{
pkgdesc="KDE Workspace - Documentation"
groups=("kde" "kde-uninstall" "kde-doc")
replaces=('kdebase-workspace-doc')
# keep this, the variable must be resetted
optdepends=()
splitdirs="doc"
for i in ${splitdirs} ; do
cd ${srcdir}/${pkgbase}-${pkgver}/${i}
make DESTDIR=${pkgdir} install
done
}