File vkd3d.spec of Package vkd3d

#
# spec file for package vkd3d
#
# 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         major 1
Name:           vkd3d
Version:        1.15
Release:        0
Summary:        Direct3D 12 to Vulkan translation library
License:        LGPL-2.1-or-later
URL:            https://winehq.org
Source0:        https://dl.winehq.org/vkd3d/source/vkd3d-%{version}.tar.xz
Source1:        https://dl.winehq.org/vkd3d/source/vkd3d-%{version}.tar.xz.sign
Source2:        https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xda23579a74d4ad9af9d3f945cefac8eaaf17519d#/%{name}.keyring
Source3:        baselibs.conf
BuildRequires:  bison
BuildRequires:  doxygen
BuildRequires:  fdupes
BuildRequires:  flex
BuildRequires:  spirv-headers
BuildRequires:  pkgconfig(SPIRV-Tools)
BuildRequires:  pkgconfig(egl)
BuildRequires:  pkgconfig(ncurses)
BuildRequires:  pkgconfig(vulkan) >= 1.3.228
BuildRequires:  pkgconfig(xcb)
BuildRequires:  pkgconfig(xcb-event)
BuildRequires:  pkgconfig(xcb-icccm)
BuildRequires:  pkgconfig(xcb-keysyms)

%package -n lib%{name}%{major}
Summary:        Direct3D 12 to Vulkan translation library
Group:          System/Libraries

%package -n lib%{name}-utils%{major}
Summary:        Direct3D 12 to Vulkan translation library utilities
Group:          System/Libraries

%package -n lib%{name}-shader%{major}
Summary:        Direct3D 12 to Vulkan translation shader library
Group:          System/Libraries

%package devel
Summary:        Development headers for the Direct3D 12 to Vulkan translation library
Group:          Development/Libraries/X11
Requires:       lib%{name}%{major} = %{version}
Requires:       lib%{name}-utils%{major} = %{version}

%package demos
Summary:        Demos for %{name}
Group:          System/Libraries
Requires:       libvkd3d%{major} = %{version}

%package docs
Summary:        Documentation for %{name}
Group:          System/Libraries
BuildArch:      noarch

%description
This is a Direct3D 12 to Vulkan translation library for use by e.g. Wine.

%description demos
This is a Direct3D 12 to Vulkan translation library for use by e.g. Wine.

%description docs
This is a Direct3D 12 to Vulkan translation library for use by e.g. Wine.

%description -n lib%{name}%{major}
This is a Direct3D 12 to Vulkan translation library for use by e.g. Wine.

%description -n lib%{name}-utils%{major}
This is a Direct3D 12 to Vulkan translation utilities library for use by e.g. Wine.

%description -n lib%{name}-shader%{major}
This is a Direct3D 12 to Vulkan shader library for use by e.g. Wine.

%description devel
This is a Direct3D 12 to Vulkan translation library for use by e.g. Wine.

These are its development libraries and headers.

%prep
%autosetup

%build
%configure \
  --disable-static \
  --disable-tests \
  --with-ncurses \
  --with-opengl \
  --enable-demos \
  --with-xcb \
  --with-spirv-tools
%make_build

%install
%make_install
rm -rf %{buildroot}%{_libdir}/*.la
%fdupes %{buildroot}
%fdupes -s %{_builddir}/%{name}-%{version}/doc

%check
%make_build check

%ldconfig_scriptlets -n libvkd3d%{major}
%ldconfig_scriptlets -n libvkd3d-utils%{major}
%ldconfig_scriptlets -n libvkd3d-shader%{major}

%files -n lib%{name}%{major}
%license COPYING LICENSE
%doc README ANNOUNCE AUTHORS
%{_libdir}/lib%{name}.so.%{major}*

%files -n lib%{name}-utils%{major}
%license COPYING LICENSE
%{_libdir}/lib%{name}-utils.so.%{major}*

%files -n lib%{name}-shader%{major}
%license COPYING LICENSE
%{_libdir}/lib%{name}-shader.so.%{major}*

%files demos
%license COPYING LICENSE
%{_bindir}/%{name}-gears
%{_bindir}/%{name}-triangle

%files devel
%license COPYING LICENSE
%doc AUTHORS README ANNOUNCE
%{_includedir}/%{name}
%{_libdir}/lib%{name}{,-shader,-utils}.so
%{_libdir}/pkgconfig/lib%{name}.pc
%{_libdir}/pkgconfig/lib%{name}-shader.pc
%{_libdir}/pkgconfig/lib%{name}-utils.pc
%{_bindir}/%{name}-compiler
%{_bindir}/%{name}-dxbc

%files docs
%doc doc/html

%changelog
openSUSE Build Service is sponsored by