%ifarch %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64 %bcond_without valgrind %else %bcond_with valgrind %endif %global commit b7a7a90336fbb19efb3f91f92b5d964b0dfb7ec2 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: libdrm Summary: Direct Rendering Manager runtime library Version: 2.4.97 Release: 1.git%{shortcommit}%{?dist} License: MIT URL: https://dri.freedesktop.org Source0: drm.tar.xz Source2: 91-drm-modeset.rules BuildRequires: pkgconfig automake autoconf libtool BuildRequires: kernel-headers BuildRequires: libxcb-devel BuildRequires: systemd-devel Requires: systemd BuildRequires: libatomic_ops-devel BuildRequires: libpciaccess-devel BuildRequires: libxslt docbook-style-xsl %if %{with valgrind} BuildRequires: valgrind-devel %endif BuildRequires: xorg-x11-util-macros # hardcode the 666 instead of 660 for device nodes Patch3: libdrm-make-dri-perms-okay.patch # remove backwards compat not needed on Fedora Patch4: libdrm-2.4.0-no-bc.patch # make rule to print the list of test programs #Patch5: libdrm-2.4.25-check-programs.patch %description Direct Rendering Manager runtime library %package devel Summary: Direct Rendering Manager development package Requires: %{name}%{?_isa} = %{version}-%{release} Requires: kernel-headers %description devel Direct Rendering Manager development package. %package -n drm-utils Summary: Direct Rendering Manager utilities Requires: %{name}%{?_isa} = %{version}-%{release} %description -n drm-utils Utility programs for the kernel DRM interface. Will void your warranty. %prep %autosetup -n drm -p1 %build autoreconf -vfi %configure \ %if ! %{with valgrind} --disable-valgrind \ %endif --disable-vc4 \ %ifarch %{arm} aarch64 --enable-etnaviv-experimental-api \ --enable-exynos-experimental-api \ --enable-tegra-experimental-api \ --enable-vc4 \ %endif %ifarch %{arm} --enable-omap-experimental-api \ %endif --enable-install-test-programs \ --enable-udev %make_build V=1 pushd tests %make_build `make check-programs` V=1 popd %install %make_install pushd tests mkdir -p %{buildroot}%{_bindir} for foo in $(make check-programs) ; do libtool --mode=install install -m 0755 $foo %{buildroot}%{_bindir} done popd # SUBDIRS=libdrm mkdir -p %{buildroot}/lib/udev/rules.d/ install -m 0644 %{SOURCE2} %{buildroot}/lib/udev/rules.d/ # NOTE: We intentionally don't ship *.la files find %{buildroot} -type f -name "*.la" -delete rm -f %{buildroot}%{_includedir}/%{name}/{r300_reg.h,via_3d_reg.h} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %doc README.rst %{_libdir}/libdrm.so.2 %{_libdir}/libdrm.so.2.4.0 %ifarch %{ix86} x86_64 ia64 %{_libdir}/libdrm_intel.so.1 %{_libdir}/libdrm_intel.so.1.0.0 %endif %ifarch %{arm} %{_libdir}/libdrm_omap.so.1 %{_libdir}/libdrm_omap.so.1.0.0 %endif %ifarch %{arm} aarch64 %{_libdir}/libdrm_etnaviv.so.1 %{_libdir}/libdrm_etnaviv.so.1.0.0 %{_libdir}/libdrm_exynos.so.1 %{_libdir}/libdrm_exynos.so.1.0.0 %{_libdir}/libdrm_freedreno.so.1 %{_libdir}/libdrm_freedreno.so.1.0.0 %{_libdir}/libdrm_tegra.so.0 %{_libdir}/libdrm_tegra.so.0.0.0 %endif %{_libdir}/libdrm_radeon.so.1 %{_libdir}/libdrm_radeon.so.1.0.1 %{_libdir}/libdrm_amdgpu.so.1 %{_libdir}/libdrm_amdgpu.so.1.0.0 %{_libdir}/libdrm_nouveau.so.2 %{_libdir}/libdrm_nouveau.so.2.0.0 %{_libdir}/libkms.so.1 %{_libdir}/libkms.so.1.0.0 %{_datadir}/libdrm/amdgpu.ids /lib/udev/rules.d/91-drm-modeset.rules %files -n drm-utils %{_bindir}/drmdevice %{_bindir}/modetest %{_bindir}/modeprint %{_bindir}/vbltest %{_bindir}/kmstest %{_bindir}/kms-steal-crtc %{_bindir}/kms-universal-planes %exclude %{_bindir}/drmsl %ifarch %{arm} aarch64 %exclude %{_bindir}/etnaviv* %exclude %{_bindir}/exynos* %endif %exclude %{_bindir}/hash %exclude %{_bindir}/proptest %exclude %{_bindir}/random %files devel # FIXME should be in drm/ too %{_includedir}/xf86drm.h %{_includedir}/xf86drmMode.h %dir %{_includedir}/libdrm %{_includedir}/libdrm/drm.h %{_includedir}/libdrm/drm_fourcc.h %{_includedir}/libdrm/drm_mode.h %{_includedir}/libdrm/drm_sarea.h %ifarch %{ix86} x86_64 ia64 %{_includedir}/libdrm/intel_aub.h %{_includedir}/libdrm/intel_bufmgr.h %{_includedir}/libdrm/intel_debug.h %endif %ifarch %{arm} %{_includedir}/libdrm/omap_drmif.h %{_includedir}/omap/ %endif %ifarch %{arm} aarch64 %{_includedir}/exynos/ %{_includedir}/freedreno/ %{_includedir}/libdrm/etnaviv_drmif.h %{_includedir}/libdrm/exynos_drmif.h %{_includedir}/libdrm/tegra.h %{_includedir}/libdrm/vc4_packet.h %{_includedir}/libdrm/vc4_qpu_defines.h %endif %{_includedir}/libdrm/amdgpu.h %{_includedir}/libdrm/radeon_bo.h %{_includedir}/libdrm/radeon_bo_gem.h %{_includedir}/libdrm/radeon_bo_int.h %{_includedir}/libdrm/radeon_cs.h %{_includedir}/libdrm/radeon_cs_gem.h %{_includedir}/libdrm/radeon_cs_int.h %{_includedir}/libdrm/radeon_surface.h %{_includedir}/libdrm/r600_pci_ids.h %{_includedir}/libdrm/nouveau/ %{_includedir}/libdrm/*_drm.h %{_includedir}/libkms %{_includedir}/libsync.h %{_libdir}/libdrm.so %ifarch %{ix86} x86_64 ia64 %{_libdir}/libdrm_intel.so %endif %ifarch %{arm} %{_libdir}/libdrm_omap.so %endif %ifarch %{arm} aarch64 %{_libdir}/libdrm_etnaviv.so %{_libdir}/libdrm_exynos.so %{_libdir}/libdrm_freedreno.so %{_libdir}/libdrm_tegra.so %endif %{_libdir}/libdrm_radeon.so %{_libdir}/libdrm_amdgpu.so %{_libdir}/libdrm_nouveau.so %{_libdir}/libkms.so %{_libdir}/pkgconfig/libdrm.pc %ifarch %{ix86} x86_64 ia64 %{_libdir}/pkgconfig/libdrm_intel.pc %endif %ifarch %{arm} %{_libdir}/pkgconfig/libdrm_omap.pc %endif %ifarch %{arm} aarch64 %{_libdir}/pkgconfig/libdrm_etnaviv.pc %{_libdir}/pkgconfig/libdrm_exynos.pc %{_libdir}/pkgconfig/libdrm_freedreno.pc %{_libdir}/pkgconfig/libdrm_tegra.pc %{_libdir}/pkgconfig/libdrm_vc4.pc %endif %{_libdir}/pkgconfig/libdrm_radeon.pc %{_libdir}/pkgconfig/libdrm_amdgpu.pc %{_libdir}/pkgconfig/libdrm_nouveau.pc %{_libdir}/pkgconfig/libkms.pc %{_mandir}/man3/drm*.3* %{_mandir}/man7/drm*.7* %changelog