#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"). You may
# only use this file in accordance with the terms of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source. A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#

#
# Copyright 2015 Alexander Pyhalov
# Copyright 2024 Till Wegmueller
#

set name=pkg.fmri value=pkg:/x11/library/mesa@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.summary value="$(COMPONENT_SUMMARY)"
set name=info.classification value="org.opensolaris.category.2008:System/X11"
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)

license mesa.license license='Mesa License (Mixed: MIT, LGPLv2, others)'

# our setup of gl libraries does not allow pkgdepend to find them
<transform file -> add pkg.depend.bypass-generate libGL\.so\.1>

# suppress the pkglint for dri modules we place in the xservers load path
<transform file path=usr/lib/xorg/modules/dri.* -> add pkg.linted.userland.action001.2 true>

# For several libraries we create direct links
link path=usr/X11/lib/mesa target=../../lib/mesa
link path=usr/lib/GL/$(MACH64)/libglapi.so.0 target=libglapi.so.0.0.0
link path=usr/lib/GL/$(MACH64)/libglapi.so target=libglapi.so.0
link path=usr/lib/GL/$(MACH64)/libglapi.so.0.0.0 target=../../mesa/$(MACH64)/libglapi.so.0.0.0

link path=usr/lib/$(MACH64)/libGL.so.1 target=../GL/$(MACH64)/libGL.so.1  pkg.linted.userland.action002.0=true
link path=usr/lib/$(MACH64)/libGL.so target=libGL.so.1

link path=usr/lib/$(MACH64)/libglapi.so.0 target=libglapi.so.0.0.0 
link path=usr/lib/$(MACH64)/libglapi.so target=libglapi.so.0
link path=usr/lib/$(MACH64)/libglapi.so.0.0.0 target=../GL/$(MACH64)/libglapi.so.0.0.0

link path=usr/lib/GL/$(MACH64)/libgbm.so.1.0.0 target=../../mesa/$(MACH64)/libgbm.so.1.0.0
link path=usr/lib/GL/$(MACH64)/libgbm.so target=libgbm.so.1.0.0
link path=usr/lib/GL/$(MACH64)/libgbm.so.1 target=libgbm.so.1.0.0
link path=usr/lib/$(MACH64)/libgbm.so.1.0.0 target=../GL/$(MACH64)/libgbm.so.1.0.0
link path=usr/lib/$(MACH64)/libgbm.so target=libgbm.so.1.0.0
link path=usr/lib/$(MACH64)/libgbm.so.1 target=libgbm.so.1.0.0

# Compat links
link path=usr/X11/lib/$(MACH64)/libglapi.so.0 target=libglapi.so.0.0.0 
link path=usr/X11/lib/$(MACH64)/libglapi.so target=libglapi.so.0 
link path=usr/X11/lib/$(MACH64)/libglapi.so.0.0.0 target=../GL/$(MACH64)/libglapi.so.0.0.0 pkg.linted.userland.action002.0=true

# libGLU has moved to x11/library/glu 
depend fmri=pkg:/x11/library/glu@9.0.0 type=require

# Runtime links are provided by ogl-select
depend fmri=pkg:/service/opengl/ogl-select type=require

# Some headers are provided by x11-protocols package
depend facet.devel=true fmri=pkg:/x11/header/x11-protocols type=require

# .pc files should be found in /usr/lib
link path=usr/lib/$(MACH64)/pkgconfig/dri.pc target=../../mesa/$(MACH64)/pkgconfig/dri.pc
link path=usr/lib/$(MACH64)/pkgconfig/egl.pc target=../../mesa/$(MACH64)/pkgconfig/egl.pc
link path=usr/lib/$(MACH64)/pkgconfig/gbm.pc target=../../mesa/$(MACH64)/pkgconfig/gbm.pc
link path=usr/lib/$(MACH64)/pkgconfig/gl.pc target=../../mesa/$(MACH64)/pkgconfig/gl.pc
link path=usr/lib/$(MACH64)/pkgconfig/glesv1_cm.pc target=../../mesa/$(MACH64)/pkgconfig/glesv1_cm.pc
link path=usr/lib/$(MACH64)/pkgconfig/glesv2.pc target=../../mesa/$(MACH64)/pkgconfig/glesv2.pc
link path=usr/lib/$(MACH64)/pkgconfig/osmesa.pc target=../../mesa/$(MACH64)/pkgconfig/osmesa.pc
link path=usr/lib/$(MACH64)/pkgconfig/xatracker.pc target=../../mesa/$(MACH64)/pkgconfig/xatracker.pc

file path=usr/include/EGL/egl.h
file path=usr/include/EGL/eglext.h
file path=usr/include/EGL/eglextchromium.h
file path=usr/include/EGL/eglmesaext.h
file path=usr/include/EGL/eglplatform.h
file path=usr/include/GLES/egl.h
file path=usr/include/GLES/gl.h
file path=usr/include/GLES/glext.h
file path=usr/include/GLES/glplatform.h
file path=usr/include/GLES2/gl2.h
file path=usr/include/GLES2/gl2ext.h
file path=usr/include/GLES2/gl2platform.h
file path=usr/include/GLES3/gl3.h
file path=usr/include/GLES3/gl31.h
file path=usr/include/GLES3/gl32.h
file path=usr/include/GLES3/gl3ext.h
file path=usr/include/GLES3/gl3platform.h
file path=usr/include/KHR/khrplatform.h
file path=usr/include/gbm.h
file path=usr/include/mesa/gl.h
file path=usr/include/mesa/glcorearb.h
link path=usr/include/GL/glcorearb.h target=../mesa/glcorearb.h
file path=usr/include/mesa/glext.h
file path=usr/include/mesa/glx.h
file path=usr/include/mesa/glxext.h
file path=usr/include/mesa/internal/dri_interface.h
link path=usr/include/GL/internal/dri_interface.h target=../../mesa/internal/dri_interface.h
file path=usr/include/mesa/osmesa.h
link path=usr/include/GL/osmesa.h target=../mesa/osmesa.h
file path=usr/include/xa_composite.h
file path=usr/include/xa_context.h
file path=usr/include/xa_tracker.h
link path=usr/lib/mesa/$(MACH64)/libEGL.so target=libEGL.so.1
link path=usr/lib/mesa/$(MACH64)/libEGL.so.1 target=libEGL.so.1.0.0
file path=usr/lib/mesa/$(MACH64)/libEGL.so.1.0.0
link path=usr/lib/mesa/$(MACH64)/libGL.so target=libGL.so.1
link path=usr/lib/mesa/$(MACH64)/libGL.so.1 target=libGL.so.1.2.0
file path=usr/lib/mesa/$(MACH64)/libGL.so.1.2.0
link path=usr/lib/mesa/$(MACH64)/libGLESv1_CM.so target=libGLESv1_CM.so.1
link path=usr/lib/mesa/$(MACH64)/libGLESv1_CM.so.1 target=libGLESv1_CM.so.1.1.0
file path=usr/lib/mesa/$(MACH64)/libGLESv1_CM.so.1.1.0
link path=usr/lib/mesa/$(MACH64)/libGLESv2.so target=libGLESv2.so.2
link path=usr/lib/mesa/$(MACH64)/libGLESv2.so.2 target=libGLESv2.so.2.0.0
file path=usr/lib/mesa/$(MACH64)/libGLESv2.so.2.0.0
link path=usr/lib/mesa/$(MACH64)/libOSMesa.so target=libOSMesa.so.8
link path=usr/lib/mesa/$(MACH64)/libOSMesa.so.8 target=libOSMesa.so.8.0.0
file path=usr/lib/mesa/$(MACH64)/libOSMesa.so.8.0.0
link path=usr/lib/mesa/$(MACH64)/libXvMCr600.so target=libXvMCr600.so.1.0.0
link path=usr/lib/mesa/$(MACH64)/libXvMCr600.so.1 target=libXvMCr600.so.1.0.0
link path=usr/lib/mesa/$(MACH64)/libXvMCr600.so.1.0 target=libXvMCr600.so.1.0.0
file path=usr/lib/mesa/$(MACH64)/libXvMCr600.so.1.0.0
link path=usr/lib/mesa/$(MACH64)/libgbm.so target=libgbm.so.1
link path=usr/lib/mesa/$(MACH64)/libgbm.so.1 target=libgbm.so.1.0.0
file path=usr/lib/mesa/$(MACH64)/libgbm.so.1.0.0
link path=usr/lib/mesa/$(MACH64)/libglapi.so target=libglapi.so.0
link path=usr/lib/mesa/$(MACH64)/libglapi.so.0 target=libglapi.so.0.0.0
file path=usr/lib/mesa/$(MACH64)/libglapi.so.0.0.0
link path=usr/lib/mesa/$(MACH64)/libxatracker.so target=libxatracker.so.2
link path=usr/lib/mesa/$(MACH64)/libxatracker.so.2 target=libxatracker.so.2.5.0
file path=usr/lib/mesa/$(MACH64)/libxatracker.so.2.5.0
file path=usr/lib/mesa/$(MACH64)/pkgconfig/dri.pc
file path=usr/lib/mesa/$(MACH64)/pkgconfig/egl.pc
file path=usr/lib/mesa/$(MACH64)/pkgconfig/gbm.pc
file path=usr/lib/mesa/$(MACH64)/pkgconfig/gl.pc
file path=usr/lib/mesa/$(MACH64)/pkgconfig/glesv1_cm.pc
file path=usr/lib/mesa/$(MACH64)/pkgconfig/glesv2.pc
file path=usr/lib/mesa/$(MACH64)/pkgconfig/osmesa.pc
file path=usr/lib/mesa/$(MACH64)/pkgconfig/xatracker.pc
link path=usr/lib/mesa/$(MACH64)/vdpau/libvdpau_r600.so \
    target=libvdpau_r600.so.1.0.0
link path=usr/lib/mesa/$(MACH64)/vdpau/libvdpau_r600.so.1 \
    target=libvdpau_r600.so.1.0.0
link path=usr/lib/mesa/$(MACH64)/vdpau/libvdpau_r600.so.1.0 \
    target=libvdpau_r600.so.1.0.0
file path=usr/lib/mesa/$(MACH64)/vdpau/libvdpau_r600.so.1.0.0
file path=usr/lib/xorg/modules/dri/$(MACH64)/i915_dri.so
hardlink path=usr/lib/xorg/modules/dri/$(MACH64)/kms_swrast_dri.so target=i915_dri.so
hardlink path=usr/lib/xorg/modules/dri/$(MACH64)/r600_dri.so target=i915_dri.so
hardlink path=usr/lib/xorg/modules/dri/$(MACH64)/swrast_dri.so target=i915_dri.so
file path=usr/share/drirc.d/00-mesa-defaults.conf