File gulkan.spec of Package gulkan

#
# spec file for package gulkan
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define _libver 0.16
%define _sover 0
%define _underver 0_16

Name:           gulkan
Version:        0.16.0
Release:        0
Summary:        A GLib library for Vulkan abstraction
License:        MIT
URL:            https://gitlab.freedesktop.org/xrdesktop/gulkan
Source:         %{url}/-/archive/%{version}/%{name}-%{version}.tar.bz2#/%{name}-%{version}.tar.bz2
BuildRequires:  glslang-devel
BuildRequires:  meson >= 0.52
BuildRequires:  pkgconfig(cairo)
BuildRequires:  pkgconfig(gdk-pixbuf-2.0) >= 2.36
BuildRequires:  pkgconfig(gio-2.0) >= 2.50
BuildRequires:  pkgconfig(graphene-1.0)
BuildRequires:  pkgconfig(json-glib-1.0)
BuildRequires:  pkgconfig(libdrm)
BuildRequires:  pkgconfig(libdrm_amdgpu)
BuildRequires:  pkgconfig(pangocairo)
BuildRequires:  pkgconfig(shaderc)
BuildRequires:  pkgconfig(vulkan)
BuildRequires:  pkgconfig(wayland-client)
BuildRequires:  pkgconfig(wayland-protocols)
BuildRequires:  pkgconfig(wayland-scanner)
BuildRequires:  pkgconfig(xcb)
BuildRequires:  pkgconfig(xcb-keysyms)
BuildRequires:  pkgconfig(xkbcommon)

%description
A GLib library for Vulkan abstraction. It provides classes for handling Vulkan
instances, devices, shaders and initialize textures GDK Pixbufs, Cairo surfaces
and DMA buffers.

%package -n %{name}%{_underver}-%{_sover}
Summary:        A GLib library for Vulkan abstraction

%description -n %{name}%{_underver}-%{_sover}
A GLib library for Vulkan abstraction. It provides classes for handling Vulkan
instances, devices, shaders and initialize textures GDK Pixbufs, Cairo surfaces
and DMA buffers.

%package devel
Summary:        A GLib library for Vulkan abstraction
Group:          Development/Libraries/C and C++
License:        MIT
Requires:       %{name}%{_underver}-%{_sover} = %{version}

%description devel
A GLib library for Vulkan abstraction. It provides classes for handling Vulkan
instances, devices, shaders and initialize textures GDK Pixbufs, Cairo surfaces
and DMA buffers.

%prep
%autosetup -p1

%build
export CFLAGS="-Wno-error"
%meson \
  -Dexamples=false \
  -Dtests=false
%meson_build

%install
%meson_install

%ldconfig_scriptlets -n %{name}%{_underver}-%{_sover}

%files -n %{name}%{_underver}-%{_sover}
%license LICENSE
%doc README.md
%{_libdir}/lib%{name}-%{_libver}.so.*

%files devel
%dir %{_includedir}/%{name}-%{_libver}
%{_includedir}/%{name}-%{_libver}/*.h
%{_libdir}/pkgconfig/%{name}-%{_libver}.pc
%{_libdir}/lib%{name}-%{_libver}.so

%changelog
openSUSE Build Service is sponsored by