Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3574 - (hide annotations) (download)
Mon Jul 9 17:41:43 2012 UTC (11 years, 10 months ago) by niro
File size: 5506 byte(s)
-merged with upstream
1 niro 3574 # $Id$
2 niro 1665 # 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 niro 3321 : ${SRCFILE="${PNAME}-${PVER}.tar.bz2"}
91     : ${SRCDIR="${BUILDDIR}/${PNAME}-${PVER}"}
92 niro 1665
93     #XORG_MIRROR="http://ftp.x.org/pub"
94     XORG_MIRROR="http://xorg.freedesktop.org/archive"
95    
96     # get the right subdir
97 niro 3574 case ${PCAT} in
98 niro 1665 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 niro 3321 ${SRC_URI[*]}
117 niro 1665 # ${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 niro 3574 DEPEND="${DEPEND}
133     >= virtual/man"
134 niro 1665
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 niro 3574 DEPEND="${DEPEND}
143 niro 1665 >= 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 niro 3574 DEPEND="${DEPEND}
150 niro 1665 >= 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 niro 3574 xorg_src_check()
237     {
238     cd ${SRCDIR}
239     mmake -k check || die
240     }
241    
242 niro 1665 xorg_src_install()
243     {
244     cd ${SRCDIR}
245     make DESTDIR=${BINDIR} install || die
246    
247     # remove libtool files for server modules
248     if [ -e ${BINDIR}/usr/$(mlibdir)/xorg/modules ]
249     then
250     find ${BINDIR}/usr/$(mlibdir)/xorg/modules -name '*.la' | xargs rm -f
251     fi
252     }
253    
254     xorg_preinstall()
255     {
256     # check for old xorg installations
257     is_old_xorg_installed
258    
259     # run this in postinstall to cover --src-install builds
260     # ( the is now package-dir at this moment, cause its not already builded :)
261     # if [[ -n ${XORG_FONT_PKG} ]]
262     # then
263     # xorg_discover_font_dirs
264     # fi
265     }
266    
267 niro 3574 export_inherits xorg src_prepare src_compile src_check src_install preinstall