Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


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