Magellan Linux

Contents of /trunk/extras/mesa/mesa-7.1-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 532 - (show annotations) (download)
Thu Dec 25 16:18:08 2008 UTC (15 years, 4 months ago) by niro
File size: 4875 byte(s)
-import from cvs
1 # $Header: /magellan-cvs/smage/mesa/mesa-7.1-r1.smage2,v 1.2 2008/09/09 15:44:36 niro Exp $
2
3 PNAME="mesa"
4 PVER="7.1"
5 PBUILD="r1"
6
7 PCATEGORIE="media-libs"
8 STATE="unstable"
9
10 DESCRIPTION="Mesa3D OpenGL graphics library."
11 HOMEPAGE="http://mesa3d.sourceforge.net/"
12
13 sminclude xorg mtools multilib
14
15 DEPEND=">= dev-libs/expat-2
16 >= x11-libs/libX11-1
17 >= x11-libs/libXext-1
18 >= x11-libs/libXxf86vm-1
19 >= x11-libs/libXi-1
20 >= x11-libs/libXmu-1
21 >= x11-libs/libdrm-2.3.99
22 >= x11-libs/libICE-1
23 >= x11-base/opengl-update-magellan-2
24 >= x11-libs/libxcb-1
25 >= x11-libs/libXfixes-4
26 >= x11-libs/libXdamage-1"
27
28 SDEPEND=">= dev-util/pkgconfig-0.23
29 >= x11-misc/makedepend-1
30 >= x11-proto/xf86vidmodeproto-1
31 >= x11-proto/glproto-1.4
32 >= x11-proto/inputproto-1
33 >= x11-proto/xextproto-7
34 >= x11-proto/xf86driproto-2
35 >= x11-proto/printproto-1
36 >= x11-proto/xcb-proto-1
37 >= x11-proto/xproto-7
38 >= x11-proto/fixesproto-4
39 >= x11-proto/damageproto-1"
40
41 PROVIDE="virtual/opengl"
42
43 SRCFILE="MesaLib-${PVER/_/-}.tar.gz"
44 SRCDIR="${BUILDDIR}/Mesa-${PVER/_/-}"
45
46 SRC_URI=(
47 sourceforge://mesa3d/${SRCFILE}
48 mirror://${PNAME}/${SRCFILE}
49 mirror://${PNAME}/libGLU.la
50 mirror://${PNAME}/libGL.la
51 )
52
53 EMUL_LINUX_32=true
54
55 src_prepare()
56 {
57 munpack ${SRCFILE} || die
58
59 # no debug code in the drives (gentoo)
60 all-abis 'find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;'
61
62 # get rid of glut includes
63 all-abis rm -f include/GL/glut*h || die
64 }
65
66 src_compile()
67 {
68 mconfigure \
69 --with-driver=dri \
70 --with-dri-driverdir=/usr/'$(mlibdir)'/dri \
71 --disable-debug \
72 --disable-glut \
73 --disable-ttm-api \
74 --without-demos \
75 --enable-glx-tls \
76 --enable-asm \
77 --enable-xcb \
78 --enable-glw \
79 || die
80
81 # only build software renderer on multilib arches
82 if [[ ${ARCH} = x86_64 ]]
83 then
84 only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die
85 fi
86
87 mmake || die
88 }
89
90 src_install()
91 {
92 # needed directories
93 minstalldir /etc/env.d || die
94
95 mmake DESTDIR=${BINDIR} install || die
96
97 # missing gl headers
98 minstallfile src/glw/GLwDrawA.h /usr/include/GL || die
99
100 # remove private headers
101 rm -f ${BINDIR}/usr/include/GL/GLw*P.h || die
102
103 for abi in ${MULTILIB_ABIS}
104 do
105 [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
106 [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
107 cd ${SRCDIR}-${abi}
108
109 # fix opengl-symlinks
110 # first remove invalid symlinks
111 find ${BINDIR}/usr/$(mlibdir) -name libGL\.* -type l | xargs rm -f
112 # now create required opengl-symlinks
113 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so || die
114 mlink libGL.so.1.2 /usr/$(mlibdir)/libGL.so.1 || die
115
116 # now setup dynamic opengl
117 minstalldir /usr/$(mlibdir)/opengl/xorg/lib || die
118 minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die
119 minstalldir /usr/$(mlibdir)/opengl/xorg/include || die
120
121 local x
122 for x in ${BINDIR}/usr/$(mlibdir)/libGL.so* \
123 ${BINDIR}/usr/$(mlibdir)/libGL.la \
124 ${BINDIR}/usr/$(mlibdir)/libGL.a
125 do
126 if [ -f ${x} -o -L ${x} ]
127 then
128 # libGL.a cause problems with tuxracer, etc
129 mv -f ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib || die "${x}"
130 fi
131 done
132 for x in ${BINDIR}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}
133 do
134 if [ -f ${x} -o -L ${x} ]
135 then
136 mv -f ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include || die "${x}"
137 fi
138 done
139
140 # satisfy libtool
141 minstallfile -s libGLU.la /usr/$(mlibdir) || die
142 minstallfile -s libGL.la /usr/$(mlibdir)/opengl/xorg/lib || die
143
144 # fix libdir on 64bit arches
145 if [[ $(mlibdir) != lib ]]
146 then
147 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/libGLU.la || die
148 sed -i "s:/usr/lib:/usr/$(mlibdir):g" ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib/libGL.la || die
149 fi
150
151 # create the two-number versioned libs (.so.#.#), since only .so.# and
152 # .so.#.#.# were made
153 local x
154 for x in ${BINDIR}/usr/$(mlibdir)/libGLU.so.*.*.* \
155 ${BINDIR}/usr/$(mlibdir)/libGLw.so.*.*.*
156 do
157 local lib_name_dot3="$(basename $(ls ${x}))"
158 local lib_name_dot2="${lib_name_dot3%.*}"
159 local lib_name_dot1="${lib_name_dot2%.*}"
160 local lib_name_dot0="${lib_name_dot1%.*}"
161 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot2} || die "${x}"
162 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot1} || die "${x}"
163 mlink ${lib_name_dot3} /usr/$(mlibdir)/${lib_name_dot0} || die "${x}"
164 done
165
166 # export LIBGL_DRIVER_PATH location.
167 # we are using '/usr/lib/dri' as hardcoded location.
168 # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
169 # LIBGL_DRIVER_PATH overwrites the hardcoded location and
170 # if nvidia or ati driver are installed
171 # the dri modules will never be found by libGL
172 # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
173 echo "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" > ${BINDIR}/etc/env.d/09mesa-${abi} || die
174 done
175 }
176
177 postinstall()
178 {
179 ${MROOT}/usr/sbin/opengl-update --use-old xorg
180 }

Properties

Name Value
svn:keywords Id