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