Magellan Linux

Contents of /smage/trunk/include/xorg.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3321 - (show annotations) (download)
Tue Nov 22 21:11:46 2011 UTC (12 years, 11 months ago) by niro
File size: 5533 byte(s)
-don't override variables
1 # $Header: /magellan-cvs/smage/include/xorg.sminc,v 1.18 2008/02/16 11:26:47 niro Exp $
2 # xorg global smage2 functions
3
4 # must: X11_dir (defaults to /usr in sminc)
5 # optional:
6 # X11_FONT_DIR
7 # SRCFILE
8 # SRCDIR
9 # SRC_URI
10 # DEPEND
11 # SDEPEND
12
13 # global xorg functions needed in the sminc
14
15 # checks if ${PNAME} is a font package
16 is_xorg_font()
17 {
18 if [[ ${PNAME/#font-/} != ${PNAME} ]] &&
19 [[ ${PNAME} != font-alias ]] &&
20 [[ ${PNAME} != font-util ]]
21 then
22 return 0
23 fi
24
25 return 1
26 }
27
28 # checks if ${PNAME} is a video driver package
29 is_xorg_video_driver()
30 {
31 [[ ${PNAME/#xf86-video/} != ${PNAME} ]] && return 0
32 return 1
33
34 }
35
36 # checks if ${PNAME} is a input driver package
37 is_xorg_input_driver()
38 {
39 [[ ${PNAME/#xf86-input/} != ${PNAME} ]] && return 0
40 return 1
41 }
42
43 # checks for general driver packages
44 is_xorg_driver()
45 {
46 if is_xorg_video_driver ||
47 is_xorg_input_driver
48 then
49 return 0
50 fi
51
52 return 1
53 }
54
55 # check if old <=Xorg-6.9 is installed; aborts installation
56 is_old_xorg_installed()
57 {
58 local RED="\033[1;6m\033[31m"
59 local DEF="\033[0m"
60
61 if [ -e /usr/X11R6 ] && [[ $(readlink /usr/X11R6) != ../usr ]]
62 then
63 echo
64 echo -e ${RED}" !!! Remove all old <=xorg-6.9 installations first."${DEF}
65 echo -e ${RED}" !!! You also need to check all packages which are installed to /usr/X11R6"${DEF}
66 echo
67
68 # print a pkg list if magequery supports this
69 if [[ -n $(/sbin/magequery -h | grep -- -f) ]]
70 then
71 echo "Please check following packages:"
72 /sbin/magequery -f /usr/X11R6 | while read pkg
73 do
74 echo -e " ${RED}*${DEF} ${pkg}"
75 done
76 echo
77 fi
78
79 die "/usr/X11R6 directory exists ..."
80 fi
81 }
82
83 # default vars
84 X11_DIR="/usr"
85
86 # satisfy mage with preinstall
87 INHERITS="${INHERITS} xorg"
88
89 # pkg setup
90 : ${SRCFILE="${PNAME}-${PVER}.tar.bz2"}
91 : ${SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"}
92
93 #XORG_MIRROR="http://ftp.x.org/pub"
94 XORG_MIRROR="http://xorg.freedesktop.org/archive"
95
96 # get the right subdir
97 case ${PCATEGORIE} in
98 app-doc) URISUBDIR="doc" ;;
99 media-fonts) URISUBDIR="font" ;;
100 x11-apps) URISUBDIR="app" ;;
101 x11-base) URISUBDIR="xserver" ;;
102 x11-drivers) URISUBDIR="driver" ;;
103 x11-libs) URISUBDIR="lib" ;;
104 x11-misc) case ${PNAME} in
105 xbitmaps|xkbdata) URISUBDIR="data" ;;
106 xkeyboard-config) URISUBDIR="data/xkeyboard-config" ;;
107 *) URISUBDIR="util" ;;
108 esac
109 ;;
110 x11-proto) URISUBDIR="proto" ;;
111 x11-themes) URISUBDIR="data" ;;
112 x11-wm) URISUBDIR="app" ;;
113 esac
114
115 SRC_URI=(
116 ${SRC_URI[*]}
117 # ${XORG_MIRROR}/individual/app/${SRCFILE}
118 # ${XORG_MIRROR}/individual/data/${SRCFILE}
119 # ${XORG_MIRROR}/individual/doc/${SRCFILE}
120 # ${XORG_MIRROR}/individual/driver/${SRCFILE}
121 # ${XORG_MIRROR}/individual/font/${SRCFILE}
122 # ${XORG_MIRROR}/individual/lib/${SRCFILE}
123 # ${XORG_MIRROR}/individual/proto/${SRCFILE}
124 # ${XORG_MIRROR}/individual/testdir/${SRCFILE}
125 # ${XORG_MIRROR}/individual/util/${SRCFILE}
126 # ${XORG_MIRROR}/individual/xserver/${SRCFILE}
127 ${XORG_MIRROR}/individual/${URISUBDIR}/${SRCFILE}
128 mirror://${PNAME}/${SRCFILE}
129 )
130
131 # add default deps
132 #DEPEND="${DEPEND}
133 # >= sys-apps/man-1.6"
134
135 SDEPEND="${SDEPEND}
136 >= dev-util/pkgconfig-0.20
137 >= x11-misc/util-macros-1"
138
139 # font dependencies
140 if is_xorg_font
141 then
142 SDEPEND="${DEPEND}
143 >= x11-apps/mkfontscale-1
144 >= x11-apps/mkfontdir-1
145 >= media-fonts/font-alias-1"
146
147 # encodings are run-time needed to rebuild the font.dirs files !!
148 # so don't use SDEPEND but DEPEND here!
149 SDEPEND="${DEPEND}
150 >= media-fonts/encodings-1"
151
152 XORG_FONT_PKG=yes
153 SPECIAL_VARS="${SPECIAL_VARS} XORG_FONT_PKG"
154 #INHERITS="${INHERITS} xorg"
155 fi
156
157 # default input driver dependencies
158 if is_xorg_input_driver
159 then
160 DEPEND="${DEPEND}
161 >= x11-base/xorg-server-1"
162
163 SDEPEND="${SDEPEND}
164 >= x11-proto/inputproto-1
165 >= x11-proto/randrproto-1
166 >= x11-proto/xproto-7"
167 fi
168
169 # default video driver dependencies
170 if is_xorg_video_driver
171 then
172 DEPEND="${DEPEND}
173 >= x11-base/xorg-server-1"
174
175 SDEPEND="${SDEPEND}
176 >= x11-proto/fontsproto-2
177 >= x11-proto/randrproto-1
178 >= x11-proto/renderproto-0.9
179 >= x11-proto/xextproto-7
180 >= x11-proto/xproto-7
181 >= x11-proto/videoproto-2"
182 fi
183
184 xorg_src_prepare()
185 {
186 # check for old xorg installations
187 is_old_xorg_installed
188
189 munpack ${SRCFILE} || die
190 }
191
192 xorg_src_configure()
193 {
194 cd ${SRCDIR}
195
196 # abort if configure script is not found
197 [ ! -x ./configure ] && return
198
199 local conf_opts="$@"
200
201 # setup fonts
202 if is_xorg_font
203 then
204 # setup default font dir
205 : ${XORG_FONT_DIR=${PNAME##*-}}
206
207 # fix case of font directories
208 XORG_FONT_DIR=${XORG_FONT_DIR/ttf/TTF}
209 XORG_FONT_DIR=${XORG_FONT_DIR/otf/OTF}
210 XORG_FONT_DIR=${XORG_FONT_DIR/type1/Type1}
211 XORG_FONT_DIR=${XORG_FONT_DIR/speedo/Speedo}
212
213 conf_opts="${conf_opts} --with-fontdir=/usr/share/fonts/${XORG_FONT_DIR}"
214 fi
215
216 # setup drivers
217 if is_xorg_driver
218 then
219 # don't build static driver modules
220 conf_opts="${conf_opts} --disable-static"
221 fi
222
223 mconfigure \
224 --prefix=${X11_DIR} \
225 ${conf_opts} \
226 || die
227 }
228
229 xorg_src_compile()
230 {
231 cd ${SRCDIR}
232 xorg_src_configure || die
233 mmake || die
234 }
235
236 xorg_src_install()
237 {
238 cd ${SRCDIR}
239 make DESTDIR=${BINDIR} install || die
240
241 # remove libtool files for server modules
242 if [ -e ${BINDIR}/usr/$(mlibdir)/xorg/modules ]
243 then
244 find ${BINDIR}/usr/$(mlibdir)/xorg/modules -name '*.la' | xargs rm -f
245 fi
246 }
247
248 xorg_preinstall()
249 {
250 # check for old xorg installations
251 is_old_xorg_installed
252
253 # run this in postinstall to cover --src-install builds
254 # ( the is now package-dir at this moment, cause its not already builded :)
255 # if [[ -n ${XORG_FONT_PKG} ]]
256 # then
257 # xorg_discover_font_dirs
258 # fi
259 }
260
261 export_inherits xorg src_prepare src_compile src_install preinstall