Annotation of /smage/branches/alx-0_7/include/xorg.sminc
Parent Directory | Revision Log
Revision 2428 -
(hide annotations)
(download)
Wed Jun 15 19:00:27 2011 UTC (13 years, 3 months ago) by niro
Original Path: smage/branches/alx-0_6_0/include/xorg.sminc
File size: 5508 byte(s)
Wed Jun 15 19:00:27 2011 UTC (13 years, 3 months ago) by niro
Original Path: smage/branches/alx-0_6_0/include/xorg.sminc
File size: 5508 byte(s)
-only SDEPEND on font-utilities
1 | niro | 1665 | # $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 | niro | 2288 | xbitmaps|xkbdata) URISUBDIR="data" ;; |
106 | xkeyboard-config) URISUBDIR="data/xkeyboard-config" ;; | ||
107 | niro | 1665 | *) 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 | # ${XORG_MIRROR}/individual/app/${SRCFILE} | ||
117 | # ${XORG_MIRROR}/individual/data/${SRCFILE} | ||
118 | # ${XORG_MIRROR}/individual/doc/${SRCFILE} | ||
119 | # ${XORG_MIRROR}/individual/driver/${SRCFILE} | ||
120 | # ${XORG_MIRROR}/individual/font/${SRCFILE} | ||
121 | # ${XORG_MIRROR}/individual/lib/${SRCFILE} | ||
122 | # ${XORG_MIRROR}/individual/proto/${SRCFILE} | ||
123 | # ${XORG_MIRROR}/individual/testdir/${SRCFILE} | ||
124 | # ${XORG_MIRROR}/individual/util/${SRCFILE} | ||
125 | # ${XORG_MIRROR}/individual/xserver/${SRCFILE} | ||
126 | ${XORG_MIRROR}/individual/${URISUBDIR}/${SRCFILE} | ||
127 | mirror://${PNAME}/${SRCFILE} | ||
128 | ) | ||
129 | |||
130 | # add default deps | ||
131 | niro | 2211 | #DEPEND="${DEPEND} |
132 | # >= sys-apps/man-1.6" | ||
133 | niro | 1665 | |
134 | SDEPEND="${SDEPEND} | ||
135 | >= dev-util/pkgconfig-0.20 | ||
136 | >= x11-misc/util-macros-1" | ||
137 | |||
138 | # font dependencies | ||
139 | if is_xorg_font | ||
140 | then | ||
141 | niro | 2428 | SDEPEND="${DEPEND} |
142 | niro | 1665 | >= x11-apps/mkfontscale-1 |
143 | >= x11-apps/mkfontdir-1 | ||
144 | >= media-fonts/font-alias-1" | ||
145 | |||
146 | # encodings are run-time needed to rebuild the font.dirs files !! | ||
147 | # so don't use SDEPEND but DEPEND here! | ||
148 | niro | 2428 | SDEPEND="${DEPEND} |
149 | niro | 1665 | >= media-fonts/encodings-1" |
150 | |||
151 | XORG_FONT_PKG=yes | ||
152 | SPECIAL_VARS="${SPECIAL_VARS} XORG_FONT_PKG" | ||
153 | #INHERITS="${INHERITS} xorg" | ||
154 | fi | ||
155 | |||
156 | # default input driver dependencies | ||
157 | if is_xorg_input_driver | ||
158 | then | ||
159 | DEPEND="${DEPEND} | ||
160 | >= x11-base/xorg-server-1" | ||
161 | |||
162 | SDEPEND="${SDEPEND} | ||
163 | >= x11-proto/inputproto-1 | ||
164 | >= x11-proto/randrproto-1 | ||
165 | >= x11-proto/xproto-7" | ||
166 | fi | ||
167 | |||
168 | # default video driver dependencies | ||
169 | if is_xorg_video_driver | ||
170 | then | ||
171 | DEPEND="${DEPEND} | ||
172 | >= x11-base/xorg-server-1" | ||
173 | |||
174 | SDEPEND="${SDEPEND} | ||
175 | >= x11-proto/fontsproto-2 | ||
176 | >= x11-proto/randrproto-1 | ||
177 | >= x11-proto/renderproto-0.9 | ||
178 | >= x11-proto/xextproto-7 | ||
179 | >= x11-proto/xproto-7 | ||
180 | >= x11-proto/videoproto-2" | ||
181 | fi | ||
182 | |||
183 | xorg_src_prepare() | ||
184 | { | ||
185 | # check for old xorg installations | ||
186 | is_old_xorg_installed | ||
187 | |||
188 | munpack ${SRCFILE} || die | ||
189 | } | ||
190 | |||
191 | xorg_src_configure() | ||
192 | { | ||
193 | cd ${SRCDIR} | ||
194 | |||
195 | # abort if configure script is not found | ||
196 | [ ! -x ./configure ] && return | ||
197 | |||
198 | local conf_opts="$@" | ||
199 | |||
200 | # setup fonts | ||
201 | if is_xorg_font | ||
202 | then | ||
203 | # setup default font dir | ||
204 | : ${XORG_FONT_DIR=${PNAME##*-}} | ||
205 | |||
206 | # fix case of font directories | ||
207 | XORG_FONT_DIR=${XORG_FONT_DIR/ttf/TTF} | ||
208 | XORG_FONT_DIR=${XORG_FONT_DIR/otf/OTF} | ||
209 | XORG_FONT_DIR=${XORG_FONT_DIR/type1/Type1} | ||
210 | XORG_FONT_DIR=${XORG_FONT_DIR/speedo/Speedo} | ||
211 | |||
212 | conf_opts="${conf_opts} --with-fontdir=/usr/share/fonts/${XORG_FONT_DIR}" | ||
213 | fi | ||
214 | |||
215 | # setup drivers | ||
216 | if is_xorg_driver | ||
217 | then | ||
218 | # don't build static driver modules | ||
219 | conf_opts="${conf_opts} --disable-static" | ||
220 | fi | ||
221 | |||
222 | mconfigure \ | ||
223 | --prefix=${X11_DIR} \ | ||
224 | ${conf_opts} \ | ||
225 | || die | ||
226 | } | ||
227 | |||
228 | xorg_src_compile() | ||
229 | { | ||
230 | cd ${SRCDIR} | ||
231 | xorg_src_configure || die | ||
232 | mmake || die | ||
233 | } | ||
234 | |||
235 | xorg_src_install() | ||
236 | { | ||
237 | cd ${SRCDIR} | ||
238 | make DESTDIR=${BINDIR} install || die | ||
239 | |||
240 | # remove libtool files for server modules | ||
241 | if [ -e ${BINDIR}/usr/$(mlibdir)/xorg/modules ] | ||
242 | then | ||
243 | find ${BINDIR}/usr/$(mlibdir)/xorg/modules -name '*.la' | xargs rm -f | ||
244 | fi | ||
245 | } | ||
246 | |||
247 | xorg_preinstall() | ||
248 | { | ||
249 | # check for old xorg installations | ||
250 | is_old_xorg_installed | ||
251 | |||
252 | # run this in postinstall to cover --src-install builds | ||
253 | # ( the is now package-dir at this moment, cause its not already builded :) | ||
254 | # if [[ -n ${XORG_FONT_PKG} ]] | ||
255 | # then | ||
256 | # xorg_discover_font_dirs | ||
257 | # fi | ||
258 | } | ||
259 | |||
260 | export_inherits xorg src_prepare src_compile src_install preinstall |