Magellan Linux

Contents of /trunk/core/include/kde4.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4090 - (show annotations) (download)
Wed Nov 18 23:17:22 2009 UTC (14 years, 5 months ago) by niro
File size: 4560 byte(s)
-added proper akonadi dbus dirs
1 # $Id$
2
3 sminclude mtools cmake qt4
4
5 ## some global vars ##
6 export KDEDIR=/opt/kde4
7 export KDECONFDIR=/etc/kde4
8 export QT_PLUGIN_PATH=${KDEDIR}/$(mlibdir)/kde4/plugins
9
10 # fixes some compile issues ala "kde-config: command not found"
11 export PATH="${KDEDIR}/bin:${PATH}"
12 export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:${KDEDIR}/$(mlibdir)/pkgconfig
13
14 # if kde is already installed it may fuck up the build process because it
15 # try to use the wrong docp etc.
16 # so we prevent this:
17 export KDEDIRS=${KDEDIR}
18
19 # some sane default values
20 : ${PCATEGORIE="kde-base"}
21 : ${SRCFILE="${PNAME/4/}-${PVER}.tar.bz2"}
22 : ${SRCDIR="${BUILDDIR}/${PNAME/4/}-${PVER}"}
23 : ${DESCRIPTION="${PNAME}"}
24 : ${HOMEPAGE="http://www.kde.org/"}
25
26 DEPEND="${DEPEND}
27 >= x11-libs/libXt-1
28 >= x11-libs/libXinerama-1"
29
30 SDEPEND="${SDEPEND}
31 >= dev-util/cmake-2.4.7
32 >= dev-util/pkgconfig-0.20
33 >= x11-proto/xf86vidmodeproto-2
34 >= x11-proto/xineramaproto-1"
35
36 # small hack to fix kdemirrors
37 [[ ${KDE_MIRROR_UNSTABLE} = 1 ]] && KDE_MIRRORS=$(echo ${KDE_MIRRORS} | sed "s:/stable:/unstable:g")
38
39 SRC_URI=(
40 ${SRC_URI[*]}
41 kde://${PVER}/src/${SRCFILE}
42 kde://${PVER%.*}/src/${SRCFILE}
43 mirror://${PNAME}/${SRCFILE}
44 )
45
46 # exported functions and variables for mage-file
47 SPECIAL_VARS="KDEDIR"
48 SPECIAL_FUNCTIONS="kde4_buildsycoca kde4_postinstall kde4_postremove"
49
50 kde4_configure()
51 {
52 local configure_opts
53
54 # disabled, seems to be broken atm
55 # # use --enable-final only on i*86
56 # [[ ${ARCH} = i*86 ]] && configure_opts="${configure_opts} -DKDE4_ENABLE_FINAL=ON"
57 configure_opts="${configure_opts} -DCMAKE_BUILD_TYPE=Release"
58
59 # use full rpath on non /usr installations
60 [[ ${KDEDIR} != /usr ]] && configure_opts="${configure_opts} -DKDE4_USE_ALWAYS_FULL_RPATH=ON"
61
62 # add akonadi dbus dir
63 if [[ ${PNAME/4/} = akonadi ]] || [[ ${PNAME/4/} = kdepim-runtime ]]
64 then
65 configure_opts="${configure_opts} -DAKONADI_DBUS_INTERFACES_DIR=${PREFIX:-/usr/share/dbus-1/interfaces/}"
66 configure_opts="${configure_opts} -DAKONADI_DBUS_SERVICES_DIR=${PREFIX:-/usr/share/dbus-1/services/}"
67 fi
68
69 # add commandline given arguments
70 configure_opts="${configure_opts} $@"
71
72 # remove build dir if exist
73 [[ -d ${BUILDDIR}/build ]] && rm -rf ${BUILDDIR}/build
74
75 # build outside of the source dir
76 install -d ${BUILDDIR}/build || die
77 cd ${BUILDDIR}/build
78
79 cmake_configure \
80 -DCMAKE_INSTALL_PREFIX=${PREFIX:-${KDEDIR}} \
81 -DSYSCONF_INSTALL_DIR=${PREFIX:-${KDECONFDIR}} \
82 -DLIB_INSTALL_DIR=${PREFIX:-${KDEDIR}/$(mlibdir)} \
83 -DKDE4_DBUS_INTERFACES_DIR=${PREFIX:-"/usr/share/dbus-1/interfaces/"} \
84 -DKDE4_DBUS_SERVICES_DIR=${PREFIX:-"/usr/share/dbus-1/services/"} \
85 -DKDE4_ENABLE_FPIE=ON \
86 -DKDE4_BUILD_TESTS=OFF \
87 -DKDE4_ENABLE_HTMLHANDBOOK=ON \
88 ${configure_opts} \
89 || die
90 }
91
92 kde4_src_prepare()
93 {
94 munpack ${SRCFILE} || die
95 }
96
97 kde4_src_compile()
98 {
99 cd ${SRCDIR}
100
101 kde4_configure || die
102 mmake ${KDE4_MAKE_OPTS} || die
103 }
104
105 kde4_src_install()
106 {
107 cd ${BUILDDIR}/build
108 mmake DESTDIR=${BINDIR} ${KDE4_MAKE_OPTS} install || die
109
110 # # move dbus service dirs to a proper location if KDEDIR != /usr
111 # if [[ ${KDEDIR} != /usr ]]
112 # then
113 # if [[ -d ${BINDIR}/${KDEDIR}/share/dbus-1 ]]
114 # then
115 # minstalldir /usr/share || die
116 # mv ${BINDIR}/${KDEDIR}/share/dbus-1 ${BINDIR}/usr/share/ || die
117 # fi
118 # fi
119
120 cd ${SRCDIR}
121 local i
122 for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
123 FAQ LICENSE NEWS README TODO
124 do
125 if [ -f ${SRCDIR}/${i} ]
126 then
127 minstalldocs ${i} || die
128 fi
129 done
130 }
131
132 kde4_buildsycoca()
133 {
134 if [[ -x ${KDEDIR}/bin/kbuildsycoca4 ]] &&
135 [[ -z ${MROOT} ]] || [[ ${MROOT} = / ]]
136 then
137 # install services dir with right permissions
138 install -m0755 -o root -g root -d ${MROOT}/usr/share/services
139
140 # kbuildsycoco4 needs a dbus session, but should not use the users session.
141 # so we start an own session here
142
143 # export everything the be able to kill the session
144 echo "Starting dbus session for kbuildsycoca4 ..."
145 local i
146 for i in $(dbus-launch)
147 do
148 export "$i"
149 done
150
151 echo "Running kbuildsycoca4 to build global database ..."
152 XDG_DATA_DIRS="${MROOT}/usr/share:${MROOT}${KDEDIR}/share:${MROOT}/usr/local/share"
153 ${MROOT}${KDEDIR}/bin/kbuildsycoca4 --global --noincremental &> /dev/null
154
155 echo "Killing dbus session for kbuildsycoca4 ..."
156 kill ${DBUS_SESSION_BUS_PID}
157 unset DBUS_SESSION_BUS_ADDRESS DBUS_SESSION_BUS_PID
158 fi
159 }
160
161 kde4_postinstall()
162 {
163 # rebuild system konfiguration cache
164 kde4_buildsycoca
165 }
166
167 kde4_postremove()
168 {
169 # rebuild system konfiguration cache
170 kde4_buildsycoca
171 }
172
173 export_inherits kde4 src_prepare src_compile src_install postinstall postremove