Contents of /smage/trunk/include/xorg.sminc
Parent Directory | 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)
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 |