Magellan Linux

Contents of /trunk/include/kde4.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 13883 - (show annotations) (download)
Mon Oct 29 09:08:25 2012 UTC (11 years, 6 months ago) by niro
File size: 4324 byte(s)
-do not apply default depend on oxygen-icons
1 # $Id$
2
3 sminclude mtools cmake qt4
4
5 ## some global vars ##
6 export KDEDIR=/usr
7 export KDECONFDIR=/etc/kde4
8 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"
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 : ${PCAT="kde-base"}
22 if [[ ${PVER//.} -ge 483 ]]
23 then
24 KDE4_TARBALL_EXTENSION="tar.xz"
25 else
26 KDE4_TARBALL_EXTENSION="tar.bz2"
27 fi
28 : ${SRCFILE="${PNAME/4/}-${PVER}.${KDE4_TARBALL_EXTENSION}"}
29 : ${SRCDIR="${BUILDDIR}/${PNAME/4/}-${PVER}"}
30 : ${DESCRIPTION="${PNAME}"}
31 : ${HOMEPAGE="http://www.kde.org/"}
32
33 if [[ ${PNAME} != oxygen-icons ]]
34 then
35 DEPEND="${DEPEND}
36 >= x11-libs/libXt-1
37 >= x11-libs/libXinerama-1
38 >= x11-libs/qt4-gui-4.7
39 >= x11-libs/qt4-qt3support-4.7
40 >= x11-libs/qt4-script-4.7
41 >= x11-libs/qt4-sql-4.7
42 >= x11-libs/qt4-svg-4.7
43 >= x11-libs/qt4-test-4.7
44 >= x11-libs/qt4-dbus-4.7
45 >= x11-libs/qt4-opengl-4.7
46 >= x11-libs/qt4-webkit-4.7
47 >= x11-libs/qt4-declarative-4.7"
48 fi
49
50 if [[ ${PNAME} != phonon ]] && [[ ${PNAME} != phonon-backend-* ]]
51 then
52 DEPEND="${DEPEND}
53 >= virtual/phonon
54 >= virtual/phonon-backend"
55 fi
56
57 SDEPEND="${SDEPEND}
58 >= dev-util/cmake-2.8.5
59 >= dev-util/pkgconfig-0.25
60 >= x11-proto/xf86vidmodeproto-2
61 >= x11-proto/xineramaproto-1"
62
63 if [[ ${PNAME} != automoc4 ]]
64 then
65 SDEPEND="${SDEPEND}
66 >= kde-base/automoc4-0.9.88"
67 fi
68
69 # small hack to fix kdemirrors
70 [[ ${KDE_MIRROR_UNSTABLE} = 1 ]] && KDE_MIRRORS=$(echo ${KDE_MIRRORS} | sed "s:/stable:/unstable:g")
71
72 SRC_URI=(
73 ${SRC_URI[*]}
74 kde://${PVER}/src/${SRCFILE}
75 kde://${PVER%.*}/src/${SRCFILE}
76 mirror://${PNAME}/${SRCFILE}
77 )
78
79 # exported functions and variables for mage-file
80 SPECIAL_VARS="${SPECIAL_VARS} KDEDIR"
81 SPECIAL_FUNCTIONS="${SPECIAL_FUNCTIONS} kde4_postinstall kde4_postremove"
82
83 kde4_configure()
84 {
85 local configure_opts
86
87 # disabled, seems to be broken atm
88 # # use --enable-final only on i*86
89 # [[ ${ARCH} = i*86 ]] && configure_opts+=" -DKDE4_ENABLE_FINAL=ON"
90 configure_opts+=" -DCMAKE_BUILD_TYPE=Release"
91
92 # use full rpath on non /usr installations
93 [[ ${KDEDIR} != /usr ]] && configure_opts+=" -DKDE4_USE_ALWAYS_FULL_RPATH=ON"
94
95 # add akonadi dbus dir
96 if [[ ${PNAME/4/} = akonadi ]] || [[ ${PNAME/4/} = kdepim-runtime ]]
97 then
98 configure_opts+=" -DAKONADI_DBUS_INTERFACES_DIR=${DBUS_SYSTEM_DIR}/interfaces/"
99 configure_opts+=" -DAKONADI_DBUS_SERVICES_DIR=${DBUS_SYSTEM_DIR}/services/"
100 fi
101
102 # add commandline given arguments
103 configure_opts+=" $@"
104
105 # remove build dir if exist
106 [[ -d ${BUILDDIR}/build ]] && rm -rf ${BUILDDIR}/build
107
108 # build outside of the source dir
109 install -d ${BUILDDIR}/build || die
110 cd ${BUILDDIR}/build
111
112 cmake_configure \
113 -DCMAKE_INSTALL_PREFIX=${KDEDIR} \
114 -DSYSCONF_INSTALL_DIR=${KDECONFDIR} \
115 -DLIB_INSTALL_DIR=${KDEDIR}/$(mlibdir) \
116 -DDBUS_INTERFACES_INSTALL_DIR=${DBUS_SYSTEM_DIR}/interfaces/ \
117 -DDBUS_SERVICES_INSTALL_DIR=${DBUS_SYSTEM_DIR}/services/ \
118 -DKDE4_DBUS_INTERFACES_DIR=${DBUS_SYSTEM_DIR}/interfaces/ \
119 -DKDE4_DBUS_SERVICES_DIR=${DBUS_SYSTEM_DIR}/services/ \
120 -DKDE4_ENABLE_FPIE=ON \
121 -DKDE4_BUILD_TESTS=OFF \
122 -DKDE4_ENABLE_HTMLHANDBOOK=ON \
123 ${configure_opts} \
124 || die
125 }
126
127 kde4_src_prepare()
128 {
129 munpack ${SRCFILE} || die
130 }
131
132 kde4_src_compile()
133 {
134 cd ${SRCDIR}
135
136 kde4_configure || die
137 mmake ${KDE4_MAKE_OPTS} || die
138 }
139
140 kde4_src_install()
141 {
142 cd ${BUILDDIR}/build
143 mmake DESTDIR=${BINDIR} ${KDE4_MAKE_OPTS} install || die
144
145 # move dbus service dirs to a proper location if KDEDIR != /usr
146 if [[ ${KDEDIR} != /usr ]]
147 then
148 if [[ -d ${BINDIR}/${KDEDIR}/share/dbus-1 ]]
149 then
150 echo -e "${COLYELLOW}Warning: using dbus hotfix, dbus locations should be fixed!${COLDEFAULT}"
151 minstalldir /usr/share || die
152 cp -R ${BINDIR}/${KDEDIR}/share/dbus-1 ${BINDIR}/usr/share/ || die
153 rm -r ${BINDIR}/${KDEDIR}/share/dbus-1 || die
154 fi
155 fi
156
157 cd ${SRCDIR}
158 local i
159 for i in ABOUT-NLS AUTHORS BUGS CHANGES ChangeLog COPYING \
160 FAQ LICENSE NEWS README TODO
161 do
162 if [ -f ${SRCDIR}/${i} ]
163 then
164 minstalldocs ${i} || die
165 fi
166 done
167 }
168
169 export_inherits kde4 src_prepare src_compile src_install