3 |
sminclude mtools cmake qt4 |
sminclude mtools cmake qt4 |
4 |
|
|
5 |
## some global vars ## |
## some global vars ## |
6 |
export KDEDIR=/opt/kde4 |
export KDEDIR=/usr |
7 |
export KDECONFDIR=/etc/kde4 |
export KDECONFDIR=/etc/kde4 |
8 |
export QT_PLUGIN_PATH=${KDEDIR}/$(mlibdir)/kde4/plugins |
export QT_PLUGIN_PATH=${KDEDIR}/$(mlibdir)/kde4/plugins |
9 |
|
export DBUS_SYSTEM_DIR=/usr/share/dbus-1 |
10 |
|
|
11 |
# fixes some compile issues ala "kde-config: command not found" |
# fixes some compile issues ala "kde-config: command not found" |
12 |
export PATH="${KDEDIR}/bin:${PATH}" |
export PATH="${KDEDIR}/bin:${PATH}" |
26 |
|
|
27 |
DEPEND="${DEPEND} |
DEPEND="${DEPEND} |
28 |
>= x11-libs/libXt-1 |
>= x11-libs/libXt-1 |
29 |
>= x11-libs/libXinerama-1" |
>= x11-libs/libXinerama-1 |
30 |
|
>= x11-libs/qt4-gui-4.5 |
31 |
|
>= x11-libs/qt4-qt3support-4.5 |
32 |
|
>= x11-libs/qt4-script-4.5 |
33 |
|
>= x11-libs/qt4-sql-4.5 |
34 |
|
>= x11-libs/qt4-svg-4.5 |
35 |
|
>= x11-libs/qt4-test-4.5 |
36 |
|
>= x11-libs/qt4-dbus-4.5 |
37 |
|
>= x11-libs/qt4-opengl-4.5 |
38 |
|
>= x11-libs/qt4-webkit-4.5" |
39 |
|
|
40 |
|
if [[ ${PNAME} != phonon ]] |
41 |
|
then |
42 |
|
DEPEND="${DEPEND} |
43 |
|
>= virtual/phonon" |
44 |
|
fi |
45 |
|
|
46 |
SDEPEND="${SDEPEND} |
SDEPEND="${SDEPEND} |
47 |
>= dev-util/cmake-2.4.7 |
>= dev-util/cmake-2.4.7 |
60 |
) |
) |
61 |
|
|
62 |
# exported functions and variables for mage-file |
# exported functions and variables for mage-file |
63 |
SPECIAL_VARS="KDEDIR" |
SPECIAL_VARS="${SPECIAL_VARS} KDEDIR" |
64 |
SPECIAL_FUNCTIONS="kde4_buildsycoca kde4_postinstall kde4_postremove" |
SPECIAL_FUNCTIONS="${SPECIAL_FUNCTIONS} kde4_postinstall kde4_postremove" |
65 |
|
|
66 |
kde4_configure() |
kde4_configure() |
67 |
{ |
{ |
69 |
|
|
70 |
# disabled, seems to be broken atm |
# disabled, seems to be broken atm |
71 |
# # use --enable-final only on i*86 |
# # use --enable-final only on i*86 |
72 |
# [[ ${ARCH} = i*86 ]] && configure_opts="${configure_opts} -DKDE4_ENABLE_FINAL=ON" |
# [[ ${ARCH} = i*86 ]] && configure_opts+=" -DKDE4_ENABLE_FINAL=ON" |
73 |
|
configure_opts+=" -DCMAKE_BUILD_TYPE=Release" |
74 |
|
|
75 |
|
# use full rpath on non /usr installations |
76 |
|
[[ ${KDEDIR} != /usr ]] && configure_opts+=" -DKDE4_USE_ALWAYS_FULL_RPATH=ON" |
77 |
|
|
78 |
|
# add akonadi dbus dir |
79 |
|
if [[ ${PNAME/4/} = akonadi ]] || [[ ${PNAME/4/} = kdepim-runtime ]] |
80 |
|
then |
81 |
|
configure_opts+=" -DAKONADI_DBUS_INTERFACES_DIR=${DBUS_SYSTEM_DIR}/interfaces/" |
82 |
|
configure_opts+=" -DAKONADI_DBUS_SERVICES_DIR=${DBUS_SYSTEM_DIR}/services/" |
83 |
|
fi |
84 |
|
|
85 |
# add commandline given arguments |
# add commandline given arguments |
86 |
configure_opts="${configure_opts} $@" |
configure_opts+=" $@" |
87 |
|
|
88 |
# remove build dir if exist |
# remove build dir if exist |
89 |
[[ -d ${BUILDDIR}/build ]] && rm -rf ${BUILDDIR}/build |
[[ -d ${BUILDDIR}/build ]] && rm -rf ${BUILDDIR}/build |
93 |
cd ${BUILDDIR}/build |
cd ${BUILDDIR}/build |
94 |
|
|
95 |
cmake_configure \ |
cmake_configure \ |
96 |
-DCMAKE_INSTALL_PREFIX=${PREFIX:-${KDEDIR}} \ |
-DCMAKE_INSTALL_PREFIX=${KDEDIR} \ |
97 |
-DLIB_INSTALL_DIR=${PREFIX:-${KDEDIR}/$(mlibdir)} \ |
-DSYSCONF_INSTALL_DIR=${KDECONFDIR} \ |
98 |
-DKDE4_USE_ALWAYS_FULL_RPATH=ON \ |
-DLIB_INSTALL_DIR=${KDEDIR}/$(mlibdir) \ |
99 |
|
-DDBUS_INTERFACES_INSTALL_DIR=${DBUS_SYSTEM_DIR}/interfaces/ \ |
100 |
|
-DDBUS_SERVICES_INSTALL_DIR=${DBUS_SYSTEM_DIR}/services/ \ |
101 |
|
-DKDE4_DBUS_INTERFACES_DIR=${DBUS_SYSTEM_DIR}/interfaces/ \ |
102 |
|
-DKDE4_DBUS_SERVICES_DIR=${DBUS_SYSTEM_DIR}/services/ \ |
103 |
-DKDE4_ENABLE_FPIE=ON \ |
-DKDE4_ENABLE_FPIE=ON \ |
104 |
-DKDE4_BUILD_TESTS=OFF \ |
-DKDE4_BUILD_TESTS=OFF \ |
105 |
-DKDE4_ENABLE_HTMLHANDBOOK=ON \ |
-DKDE4_ENABLE_HTMLHANDBOOK=ON \ |
125 |
cd ${BUILDDIR}/build |
cd ${BUILDDIR}/build |
126 |
mmake DESTDIR=${BINDIR} ${KDE4_MAKE_OPTS} install || die |
mmake DESTDIR=${BINDIR} ${KDE4_MAKE_OPTS} install || die |
127 |
|
|
128 |
|
# move dbus service dirs to a proper location if KDEDIR != /usr |
129 |
|
if [[ ${KDEDIR} != /usr ]] |
130 |
|
then |
131 |
|
if [[ -d ${BINDIR}/${KDEDIR}/share/dbus-1 ]] |
132 |
|
then |
133 |
|
echo -e "${COLYELLOW}Warning: using dbus hotfix, dbus locations should be fixed!${COLDEFAULT}" |
134 |
|
minstalldir /usr/share || die |
135 |
|
cp -R ${BINDIR}/${KDEDIR}/share/dbus-1 ${BINDIR}/usr/share/ || die |
136 |
|
rm -r ${BINDIR}/${KDEDIR}/share/dbus-1 || die |
137 |
|
fi |
138 |
|
fi |
139 |
|
|
140 |
cd ${SRCDIR} |
cd ${SRCDIR} |
141 |
local i |
local i |
142 |
for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ |
for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \ |
149 |
done |
done |
150 |
} |
} |
151 |
|
|
152 |
kde4_buildsycoca() |
export_inherits kde4 src_prepare src_compile src_install |
|
{ |
|
|
if [[ -x ${KDEDIR}/bin/kbuildsycoca4 ]] && |
|
|
[[ -z ${MROOT} ]] || [[ ${MROOT} = / ]] |
|
|
then |
|
|
# install services dir with right permissions |
|
|
install -m0755 -o root -g root -d ${MROOT}/usr/share/services |
|
|
|
|
|
# kbuildsycoco4 needs a dbus session, but should not use the users session. |
|
|
# so we start an own session here |
|
|
|
|
|
# export everything the be able to kill the session |
|
|
echo "Starting dbus session for kbuildsycoca4 ..." |
|
|
local i |
|
|
for i in $(dbus-launch) |
|
|
do |
|
|
export "$i" |
|
|
done |
|
|
|
|
|
echo "Running kbuildsycoca4 to build global database ..." |
|
|
XDG_DATA_DIRS="${MROOT}/usr/share:${MROOT}${KDEDIR}/share:${MROOT}/usr/local/share" |
|
|
${MROOT}${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null |
|
|
|
|
|
echo "Killing dbus session for kbuildsycoca4 ..." |
|
|
kill ${DBUS_SESSION_BUS_PID} |
|
|
unset DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID |
|
|
fi |
|
|
} |
|
|
|
|
|
kde4_postinstall() |
|
|
{ |
|
|
# rebuild system konfiguration cache |
|
|
kde4_buildsycoca |
|
|
} |
|
|
|
|
|
kde4_postremove() |
|
|
{ |
|
|
# rebuild system konfiguration cache |
|
|
kde4_buildsycoca |
|
|
} |
|
|
|
|
|
export_inherits kde4 src_prepare src_compile src_install postinstall postremove |
|