Magellan Linux

Annotation of /trunk/extras/mesa/mesa-19.2.1-r1.smage2

Parent Directory Parent Directory | Revision Log Revision Log


Revision 33139 - (hide annotations) (download)
Fri Oct 18 17:14:19 2019 UTC (4 years, 7 months ago) by niro
File size: 12612 byte(s)
-fixed some typos and build issues
1 niro 33130 # $Id$
2    
3     PNAME="mesa"
4     PVER="19.2.1"
5     PBUILD="r1"
6    
7     SPLIT_PACKAGES="mesa mesa-xa-tracker"
8 niro 33137 # dri
9     SPLIT_PACKAGES+=" mesa-dri-i915"
10     SPLIT_PACKAGES+=" mesa-dri-i965"
11     SPLIT_PACKAGES+=" mesa-dri-nouveau"
12     SPLIT_PACKAGES+=" mesa-dri-r100"
13     SPLIT_PACKAGES+=" mesa-dri-r200"
14     # gallium
15     SPLIT_PACKAGES+=" mesa-dri-r300"
16     SPLIT_PACKAGES+=" mesa-dri-r600"
17     SPLIT_PACKAGES+=" mesa-dri-radeonsi"
18     SPLIT_PACKAGES+=" mesa-dri-swrast"
19 niro 33139 SPLIT_PACKAGES+=" mesa-dri-svga"
20 niro 33137 SPLIT_PACKAGES+=" mesa-dri-virgl"
21     SPLIT_PACKAGES+=" mesa-dri-iris"
22     # vulkan
23     SPLIT_PACKAGES+=" mesa-vulkan-radeon"
24     SPLIT_PACKAGES+=" mesa-vulkan-intel"
25     # vdpau
26     SPLIT_PACKAGES+=" mesa-vdpau-nouveau"
27     SPLIT_PACKAGES+=" mesa-vdpau-r300"
28     SPLIT_PACKAGES+=" mesa-vdpau-r600"
29     SPLIT_PACKAGES+=" mesa-vdpau-radeonsi"
30     # vaapi
31     SPLIT_PACKAGES+=" mesa-vaapi-nouveau"
32     SPLIT_PACKAGES+=" mesa-vaapi-r600"
33     SPLIT_PACKAGES+=" mesa-vaapi-radeonsi"
34 niro 33130
35     PCAT="media-libs"
36     HOMEPAGE="http://mesa3d.sourceforge.net/"
37    
38     # hardcoded llvm version for libxatracker
39     LLVM_PVER="9.0.0"
40    
41     MESA_DEPEND=">= dev-libs/expat-2.2
42     >= dev-libs/libffi-3.2
43     >= x11-libs/libX11-1.6
44     >= x11-libs/libXext-1.3
45     >= x11-libs/libXxf86vm-1.1
46     >= x11-libs/libXi-1.7
47     >= x11-libs/libXmu-1.1
48     >= x11-libs/libXrandr-1.5
49     >= x11-libs/libdrm-2.4.100
50     >= x11-libs/libICE-1
51 niro 33137 >= x11-libs/libglvnd-1.2
52 niro 33130 >= x11-libs/libxcb-1.11
53     >= x11-libs/libXfixes-5
54     >= x11-libs/libXdamage-1
55     >= x11-libs/libvdpau-1.1
56     >= x11-libs/libva-1.8
57     >= x11-libs/libXvMC-1
58     >= x11-libs/libxshmfence-1.1
59     >= sys-libs/libstdc++-9.2
60     >= sys-fs/libudev-242
61     >= sys-libs/libelf-0.177"
62    
63     XA_TRACKER_DEPEND=">= sys-libs/llvm-libs-${LLVM_PVER}"
64    
65     SDEPEND="${MESA_DEPEND}
66     ${XA_TRACKER_DEPEND}
67     >= dev-util/pkgconfig-0.25
68     >= x11-libs/libXxf86vm-1.1
69     >= virtual/glproto
70     >= virtual/xf86driproto
71     >= virtual/dri2proto
72     >= virtual/dri3proto
73     >= virtual/presentproto
74     >= virtual/xf86vidmodeproto
75     >= dev-lang/python3-3.7
76     >= dev-python/python3-mako-1
77     >= sys-dev/llvm-${LLVM_PVER}"
78    
79 niro 33137 sminclude multilib xorg mtools meson cleanutils
80 niro 33130 msetfeature "!check"
81    
82     # must be set *after* the include of xorg!
83     SRCFILE="${PNAME}-${PVER/_/-}.tar.xz"
84     # libs SRCDIR
85     SRCDIR="${BUILDDIR}/${PNAME}-${PVER/_/-}"
86    
87 niro 33137 SRC_URI=(
88     ftp://ftp.freedesktop.org/pub/mesa/${PVER%_*}/${SRCFILE}
89     ftp://ftp.freedesktop.org/pub/mesa/${SRCFILE}
90     mirror://${PNAME}/${SRCFILE}
91     )
92 niro 33130
93 niro 33137 UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/ | highesttarball xz"
94    
95     split_info_mesa()
96 niro 33130 {
97 niro 33137 DESCRIPTION="Mesa3D OpenGL graphics library."
98     DEPEND="${MESA_DEPEND}"
99 niro 33130
100 niro 33137 PROVIDE="virtual/opengl"
101 niro 33130 }
102    
103 niro 33137 split_info_mesa-xa-tracker()
104 niro 33130 {
105 niro 33137 DESCRIPTION="Mesa XA state tracker."
106     DEPEND="== media-libs/mesa-${PVER}
107     ${XA_TRACKER_DEPEND}"
108     }
109 niro 33130
110 niro 33137 split_info_mesa-dri-i915()
111     {
112     DESCRIPTION="Mesa Intel i915 DRI driver."
113     DEPEND="== ${PCAT}/mesa-${PVER}"
114 niro 33130 }
115    
116 niro 33137 split_info_mesa-dri-i965()
117 niro 33130 {
118 niro 33137 DESCRIPTION="Mesa Intel i965 DRI driver."
119     DEPEND="== ${PCAT}/mesa-${PVER}"
120     }
121 niro 33130
122 niro 33137 split_info_mesa-dri-r200()
123     {
124     DESCRIPTION="Mesa AMD Radeon r200 DRI driver."
125     DEPEND="== ${PCAT}/mesa-${PVER}"
126 niro 33130 }
127    
128 niro 33137 split_info_mesa-dri-r100()
129 niro 33130 {
130 niro 33137 DESCRIPTION="Mesa ATI Radeon generic DRI driver."
131     DEPEND="== ${PCAT}/mesa-${PVER}"
132     }
133 niro 33130
134 niro 33137 split_info_mesa-dri-nouveau()
135     {
136     DESCRIPTION="Mesa Nvidia Nouveau DRI and Gallium driver."
137     DEPEND="== ${PCAT}/mesa-${PVER}
138     == ${PCAT}/mesa-xa-tracker-${PVER}"
139     }
140 niro 33130
141 niro 33137 split_info_mesa-dri-r300()
142     {
143     DESCRIPTION="Mesa Ati Radeon r300 DRI (Gallium) driver."
144     DEPEND="== ${PCAT}/mesa-${PVER}
145     == ${PCAT}/mesa-xa-tracker-${PVER}"
146 niro 33130 }
147    
148 niro 33137 split_info_mesa-dri-r600()
149 niro 33130 {
150 niro 33137 DESCRIPTION="Mesa Ati Radeon r600 DRI (Gallium) driver."
151     DEPEND="== ${PCAT}/mesa-${PVER}
152     == ${PCAT}/mesa-xa-tracker-${PVER}"
153     }
154 niro 33130
155 niro 33137 split_info_mesa-dri-radeonsi()
156     {
157     DESCRIPTION="Mesa AMD Radeon radeonsi DRI (Gallium) driver."
158     DEPEND="== ${PCAT}/mesa-${PVER}
159     == ${PCAT}/mesa-xa-tracker-${PVER}"
160     }
161 niro 33130
162 niro 33137 split_info_mesa-dri-swrast()
163     {
164     DESCRIPTION="Mesa Software Raster DRI (Gallium) driver."
165     DEPEND="== ${PCAT}/mesa-${PVER}
166     == ${PCAT}/mesa-xa-tracker-${PVER}"
167 niro 33130 }
168    
169 niro 33139 split_info_mesa-dri-svga()
170 niro 33130 {
171 niro 33137 DESCRIPTION="Mesa Vmware svga DRI (Gallium) driver."
172     DEPEND="== ${PCAT}/mesa-${PVER}
173     == ${PCAT}/mesa-xa-tracker-${PVER}"
174     }
175 niro 33130
176 niro 33137 split_info_mesa-dri-virgl()
177     {
178     DESCRIPTION="Mesa VirtualGL DRI (Gallium) driver."
179     DEPEND="== ${PCAT}/mesa-${PVER}
180     == ${PCAT}/mesa-xa-tracker-${PVER}"
181     }
182 niro 33130
183 niro 33137 split_info_mesa-dri-iris()
184     {
185     DESCRIPTION="Mesa Intel Iris DRI (Gallium) driver."
186     DEPEND="== ${PCAT}/mesa-${PVER}
187     == ${PCAT}/mesa-xa-tracker-${PVER}"
188     }
189 niro 33130
190 niro 33137 split_info_mesa-vulkan-radeon()
191     {
192     DESCRIPTION="Mesa AMD Radeon Vulkan driver."
193     DEPEND="== ${PCAT}/mesa-${PVER}
194     == ${PCAT}/mesa-xa-tracker-${PVER}"
195 niro 33130 }
196    
197 niro 33137 split_info_mesa-vulkan-intel()
198 niro 33130 {
199 niro 33137 DESCRIPTION="Mesa Intel Vulkan driver."
200     DEPEND="== ${PCAT}/mesa-${PVER}
201     == ${PCAT}/mesa-xa-tracker-${PVER}"
202     }
203 niro 33130
204 niro 33137 split_info_mesa-vdpau-nouveau()
205     {
206     DESCRIPTION="Mesa NVIDIA Nouveau VDPAU driver."
207     DEPEND="== ${PCAT}/mesa-${PVER}"
208 niro 33130 }
209    
210 niro 33137 split_info_mesa-vdpau-r300()
211 niro 33130 {
212 niro 33137 DESCRIPTION="Mesa AMD Radeon r300 VDPAU driver."
213     DEPEND="== ${PCAT}/mesa-${PVER}"
214     }
215 niro 33130
216 niro 33137 split_info_mesa-vdpau-r600()
217     {
218     DESCRIPTION="Mesa AMD Radeon r600 VDPAU driver."
219     DEPEND="== ${PCAT}/mesa-${PVER}"
220     }
221 niro 33130
222 niro 33137 split_info_mesa-vdpau-radeonsi()
223     {
224     DESCRIPTION="Mesa AMD Radeon radeonsi VDPAU driver."
225     DEPEND="== ${PCAT}/mesa-${PVER}"
226     }
227 niro 33130
228 niro 33137 split_info_mesa-vaapi-nouveau()
229     {
230     DESCRIPTION="Mesa NVIDIA Nouveau VAAPI driver."
231     DEPEND="== ${PCAT}/mesa-${PVER}"
232 niro 33130 }
233    
234 niro 33139 split_info_mesa-vaapi-r600()
235 niro 33130 {
236 niro 33137 DESCRIPTION="Mesa AMD Radeon r600 VAAPI driver."
237     DEPEND="== ${PCAT}/mesa-${PVER}"
238 niro 33130 }
239    
240 niro 33139 split_info_mesa-vaapi-radeonsi()
241 niro 33130 {
242 niro 33137 DESCRIPTION="Mesa AMD Radeon radeonsi VAAPI driver."
243     DEPEND="== ${PCAT}/mesa-${PVER}"
244 niro 33130 }
245    
246 niro 33137 install_dri_driver()
247     {
248     local drivers="$@"
249     local dri_drivers
250     local i
251 niro 33130
252 niro 33137 for i in ${drivers}
253     do
254     case ${driver} in
255     *) dri_drivers="${i}_dri.so" ;;
256     esac
257     done
258 niro 33130
259 niro 33137 DESTDIR=${BINDIR} mninja install || die
260     zapmost ${BINDIR} \
261     $(for i in ${dri_drivers}; do echo "usr/$(mlibdir)/dri/${i}"; done) \
262     $([[ $(mlibdir) != lib ]] && for i in ${dri_drivers}; do echo "usr/lib/dri/${i}"; done) \
263     || die
264     }
265 niro 33130
266 niro 33137 install_vulkan_driver()
267     {
268     local driver="$1"
269     local vulkan_drivers
270 niro 33130
271 niro 33137 case ${driver} in
272     *) vulkan_drivers="libvulkan_${driver}.so" ;;
273     esac
274 niro 33130
275 niro 33137 DESTDIR=${BINDIR} mninja install || die
276     zapmost ${BINDIR} \
277     $(for i in ${vulkan_drivers}; do echo "usr/$(mlibdir)/${i}"; done) \
278     $([[ $(mlibdir) != lib ]] && for i in ${vulkan_drivers}; do echo "usr/lib/${i}"; done) \
279     usr/include/vulkan/vulkan_${driver}.h \
280     usr/share/vulkan/icd.d/${driver}_icd\*.json \
281     || die
282     }
283 niro 33130
284 niro 33137 install_vdpau_driver()
285     {
286     local driver="$1"
287 niro 33130
288 niro 33137 DESTDIR=${BINDIR} mninja install || die
289     zapmost ${BINDIR}/usr/$(mlibdir)/vdpau libvdpau_${driver}.* || die
290     if [[ $(mlibdir) != lib ]]
291     then
292     zapmost ${BINDIR}/usr/lib/vdpau libvdpau_${driver}.* || die
293     fi
294     }
295 niro 33130
296 niro 33137 install_vaapi_driver()
297     {
298     local driver="$1"
299     local vaapi_drivers
300 niro 33130
301 niro 33137 case ${driver} in
302     *) vaapi_drivers="${driver}_drv_video.so" ;;
303     esac
304 niro 33130
305 niro 33137 DESTDIR=${BINDIR} mninja install || die
306     zapmost ${BINDIR} \
307     $(for i in ${vaapi_drivers}; do echo "usr/$(mlibdir)/dri/${i}"; done) \
308     $([[ $(mlibdir) != lib ]] && for i in ${vaapi_drivers}; do echo "usr/lib/dri/${i}"; done) \
309     || die
310     }
311 niro 33130
312     src_prepare()
313     {
314     munpack ${SRCFILE} || die
315    
316     # get rid of glut includes
317     all-abis rm -f include/GL/glut*h || die
318     }
319    
320     src_compile()
321     {
322 niro 33137 MESA_DRI_DRIVERS="i915,i965,r100,r200,nouveau"
323     MESA_GALLIUM_DRIVERS+="swrast,nouveau,r300,r600,radeonsi,svga,virgl,iris"
324     MESA_VULKAN_DRIVERS+="amd,intel"
325 niro 33130
326 niro 33137 meson_configure \
327     $(meson_opt platforms x11,drm,surfaceless) \
328     $(meson_opt dri-drivers-path /usr/'$(mlibdir)'/dri) \
329     $(meson_opt dri-drivers ${MESA_DRI_DRIVERS}) \
330     $(meson_opt gallium-drivers ${MESA_GALLIUM_DRIVERS}) \
331     $(meson_opt vulkan-drivers ${MESA_VULKAN_DRIVERS}) \
332     $(meson_bool_false vulkan-overlay-layer) \
333     $(meson_bool_true b_ndebug) \
334     $(meson_opt glx dri) \
335     $(meson_bool_true shared-glapi) \
336     $(meson_bool_true dri3) \
337     $(meson_bool_true egl) \
338     $(meson_bool_true gles1) \
339     $(meson_bool_true gles2) \
340     $(meson_bool_true gbm) \
341     $(meson_opt osmesa gallium) \
342     $(meson_opt xa gallium-xa) \
343     $(meson_bool_true llvm) \
344     $(meson_bool_true gallium-va) \
345     $(meson_bool_true gallium-vdpau) \
346     $(meson_bool_true gallium-xvmc) \
347     $(meson_bool_true gallium-nine) \
348     $(meson_bool_true shared-llvm) \
349     $(meson_bool_true glvnd) \
350 niro 33130 || die
351    
352 niro 33137 mninja || die
353 niro 33130 }
354    
355     src_install_mesa()
356     {
357 niro 33137 DESTDIR=${BINDIR} mninja install || die
358 niro 33130
359     # remove all la files
360     find ${BINDIR} -name \*.la | xargs rm -fv
361    
362 niro 33137 # export LIBGL_DRIVER_PATH location.
363     # we are using '/usr/lib/dri' as hardcoded location.
364     # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri'
365     # LIBGL_DRIVER_PATH overwrites the hardcoded location and
366     # if nvidia or ati driver are installed
367     # the dri modules will never be found by libGL
368     # use "LIBGL_DEBUG=verbose glxinfo" to check this issue
369 niro 33130 for abi in ${MULTILIB_ABIS}
370     do
371     [[ ${abi} = m32 ]] && ABI_LIBDIR="lib"
372     [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64"
373     cd ${SRCDIR}-${abi}
374    
375     minstalldir /etc/env.d || die
376     MCONFIG=/etc/env.d/09mesa-${abi}
377     mclearconfig || die
378     maddconfig "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" || die
379     done
380    
381     # remove xa-tracker
382     mdelete /usr/$(mlibdir)/libxatracker.\* || die
383     if [[ $(mlibdir) != lib ]]
384     then
385     mdelete /usr/lib/libxatracker.\* || die
386     fi
387 niro 33137
388     # remove dri-drivers
389     mdelete /usr/$(mlibdir)/dri/\*_dri.so || die
390     if [[ $(mlibdir) != lib ]]
391     then
392     mdelete /usr/lib/dri/\*_dri.so || die
393     fi
394    
395     # remove vdpau-drivers, they are in extra packages
396 niro 33139 mdelete -r /usr/$(mlibdir)/vdpau || die
397 niro 33137 if [[ $(mlibdir) != lib ]]
398     then
399 niro 33139 mdelete -r /usr/lib/vdpau || die
400 niro 33137 fi
401    
402     # remove vaapi-drivers, they are in extra packages
403     mdelete /usr/$(mlibdir)/dri/\*_drv_video.so || die
404     if [[ $(mlibdir) != lib ]]
405     then
406     mdelete /usr/lib/dri/\*_drv_video.so || die
407     fi
408    
409     # remove vulkan drivers, headers, configs
410     mdelete -r /usr/include/vulkan || die
411     mdelete -r /usr/share/vulkan || die
412     mdelete /usr/$(mlibdir)/libvulkan_\*.so || die
413 niro 33130 }
414    
415     src_install_mesa-xa-tracker()
416     {
417 niro 33137 DESTDIR=${BINDIR} mninja install || die
418 niro 33130
419     zapmost ${BINDIR} \
420     usr/$(mlibdir)/libxatracker.* \
421     $([[ $(mlibdir) != lib ]] && echo 'usr/lib/libxatracker.*') \
422     || die
423     }
424    
425 niro 33137 src_install_mesa-dri-i915()
426     {
427     install_dri_driver i915 || die
428     }
429 niro 33130
430 niro 33137 src_install_mesa-dri-i965()
431     {
432     install_dri_driver i965 || die
433     }
434 niro 33130
435 niro 33137 src_install_mesa-dri-nouveau()
436     {
437     install_dri_driver nouveau nouveau_vieux || die
438     }
439 niro 33130
440 niro 33137 src_install_mesa-dri-r200()
441     {
442     install_dri_driver r200 || die
443     }
444 niro 33130
445 niro 33137 src_install_mesa-dri-r100()
446     {
447     install_dri_driver radeon || die
448     }
449 niro 33130
450 niro 33137 src_install_mesa-dri-r300()
451     {
452     install_dri_driver r300 || die
453     }
454 niro 33130
455 niro 33137 src_install_mesa-dri-r600()
456     {
457     install_dri_driver r600 || die
458     }
459 niro 33130
460 niro 33137 src_install_mesa-dri-radeonsi()
461     {
462     install_dri_driver radeonsi || die
463     }
464 niro 33130
465 niro 33137 src_install_mesa-dri-swrast()
466     {
467     install_dri_driver swrast kms_swrast || die
468     }
469 niro 33130
470 niro 33137 src_install_mesa-dri-svga()
471     {
472     install_dri_driver vmwgfx || die
473     }
474 niro 33130
475 niro 33137 src_install_mesa-dri-virgl()
476     {
477     install_dri_driver virtio_gpu || die
478     }
479 niro 33130
480 niro 33137 src_install_mesa-dri-iris()
481     {
482     install_dri_driver iris || die
483     }
484 niro 33130
485 niro 33137 src_install_mesa-vulkan-radeon()
486     {
487     install_vulkan_driver radeon || die
488     }
489 niro 33130
490 niro 33137 src_install_mesa-vulkan-intel()
491     {
492     install_vulkan_driver intel || die
493     }
494 niro 33130
495 niro 33137 src_install_mesa-vdpau-nouveau()
496     {
497     install_vdpau_driver nouveau || die
498     }
499 niro 33130
500 niro 33137 src_install_mesa-vdpau-r300()
501     {
502     install_vdpau_driver r300 || die
503     }
504 niro 33130
505 niro 33137 src_install_mesa-vdpau-r600()
506     {
507     install_vdpau_driver r600 || die
508     }
509 niro 33130
510 niro 33137 src_install_mesa-vdpau-radeonsi()
511     {
512     install_vdpau_driver radeonsi || die
513     }
514 niro 33130
515 niro 33137 src_install_mesa-vaapi-nouveau()
516     {
517     install_vaapi_driver nouveau || die
518     }
519 niro 33130
520 niro 33137 src_install_mesa-vaapi-r600()
521     {
522     install_vaapi_driver r600 || die
523     }
524 niro 33130
525 niro 33137 src_install_mesa-vaapi-radeonsi()
526     {
527     install_vaapi_driver radeonsi || die
528     }
529 niro 33130
530 niro 33137 preinstall_mesa()
531     {
532     local i
533 niro 33130
534 niro 33137 # clean up deprecated dynamic opengl symlinks in favor of libglvnd
535     for i in GL/{gl,glx,glext,glxext}.h \
536     EGL/{eglextchromium,eglext,egl,eglmesaext,eglplatform}.h \
537     GLES/{egl,glextm,gl,glplatform}.h \
538     GLES2/{gl2ext,gl2,gl2platform}.h \
539     GLES3/{gl31,gl3ext,gl3,gl3platform}.h \
540     KHR/khrplatform.h
541     do
542     if [ -L ${MROOT}/usr/include/${i} ]
543     then
544     echo "pruning dynamic opengl symlink '${MROOT}/usr/include/${i}'"
545     rm ${MROOT}/usr/include/${i}
546     fi
547     done
548     for i in lib{GL,GLESv1_CM,GLESv2,EGL}.so
549     do
550     if [ -L ${MROOT}/usr/$(mlibdir)/${i} ]
551     then
552     echo "pruning dynamic opengl symlink '${MROOT}/usr/$(mlibdir)/${i}'"
553     rm ${MROOT}/usr/$(mlibdir)/${i}
554     fi
555     if [[ $(mlibdir) != lib ]]
556     then
557     if [ -L ${MROOT}/usr/lib/${i} ]
558     then
559     echo "pruning dynamic opengl symlink '${MROOT}/usr/lib/${i}'"
560     rm ${MROOT}/usr/lib/${i}
561     fi
562     fi
563     done
564     }
565 niro 33130
566     postinstall_mesa()
567     {
568 niro 33137 echo "Searching deprecated package 'opengl-update'..."
569     if [[ ! -z $(magequery -n opengl-update) ]]
570     then
571     echo "Uninstalling deprecated package 'opengl-update'..."
572     mage uninstall opengl-update
573     fi
574 niro 33130 }