%define bootstrap 0 %{?_without_bootstrap: %global bootstrap 0} %{?_with_bootstrap: %global bootstrap 1} %define major 2 %define libname %mklibname drm %{major} %define develname %mklibname drm -d %define kms_major 1 %define libkms %mklibname kms %{kms_major} %define intel_major 1 %define libintel %mklibname drm_intel %{intel_major} %define nouveau_major 2 %define libnouveau %mklibname drm_nouveau %{nouveau_major} %define radeon_major 1 %define libradeon %mklibname drm_radeon %{radeon_major} %define tegra_major 0 %define libtegra %mklibname drm_tegra %{tegra_major} %define omap_major 1 %define libomap %mklibname drm_omap %{omap_major} %define exynos_major 1 %define libexynos %mklibname drm_exynos %{exynos_major} %define freedreno_major 1 %define libfreedreno %mklibname drm_freedreno %{freedreno_major} %define amdgpu_major 1 %define libamdgpu %mklibname drm_amdgpu %{amdgpu_major} Name: libdrm Summary: Direct Rendering Manager runtime library Version: 2.4.89 Release: %mkrel 1 License: MIT Group: System/Libraries URL: http://xorg.freedesktop.org Source0: http://dri.freedesktop.org/libdrm/libdrm-%{version}.tar.bz2 Source2: 91-drm-modeset.rules BuildRequires: pkgconfig BuildRequires: automake BuildRequires: autoconf BuildRequires: libtool BuildRequires: kernel-userspace-headers >= 3.3.1-1 BuildRequires: libpthread-stubs BuildRequires: x11-util-macros >= 1.0.1 %if !%bootstrap BuildRequires: pkgconfig(systemd) %endif BuildRequires: pkgconfig(pciaccess) BuildRequires: pkgconfig(cairo) BuildRequires: xsltproc BuildRequires: docbook-xsl %ifnarch %arm %mips BuildRequires: pkgconfig(valgrind) %endif BuildRequires: pkgconfig(cunit) BuildRequires: pkgconfig(udev) # Upstream fixes # Fedora patches: # hardcode the 666 instead of 660 for device nodes Patch0101: libdrm-make-dri-perms-okay.patch # remove backwards compat not needed on Fedora Patch0102: libdrm-2.4.69-no-bc.patch # make rule to print the list of test programs Patch0103: libdrm-2.4.25-check-programs.patch Patch0500: 0500-improve-waiting-for-dri-device-to-appear-when-system.patch %description Direct Rendering Manager runtime library %package common Summary: Common files for the userspace interface to kernel DRM services Group: System/Libraries %description common Common files for the userspace interface to kernel DRM services %package -n %{libname} Summary: Userspace interface to kernel DRM services Group: System/Libraries Provides: %{name} = %{version} Requires: %{name}-common %description -n %{libname} Userspace interface to kernel DRM services %package -n %{libkms} Summary: Shared library for KMS Group: System/Libraries %description -n %{libkms} Shared library for kernel mode setting. %ifarch %{ix86} x86_64 %package -n %{libintel} Summary: Shared library for Intel kernel DRM services Group: System/Libraries Conflicts: %{_lib}drm2 < 2.4.5-2 %description -n %{libintel} Shared library for Intel kernel Direct Rendering Manager services. %endif %package -n %{libnouveau} Summary: Shared library for Nouveau kernel DRM services Group: System/Libraries %description -n %{libnouveau} Shared library for Nouveau kernel Direct Rendering Manager services. %package -n %{libradeon} Summary: Shared library for Radeon kernel DRM services Group: System/Libraries Conflicts: %{_lib}drm2 < 2.4.5-2 %description -n %{libradeon} Shared library for Radeon kernel Direct Rendering Manager services. %ifarch %arm %package -n %{libomap} Summary: Shared library for OMAP kernel DRM services Group: System/Libraries Conflicts: %{_lib}drm2 < 2.4.5-2 %description -n %{libomap} Shared library for OMAP kernel Direct Rendering Manager services. %package -n %{libtegra} Summary: Shared library for TEGRA kernel DRM services Group: System/Libraries %description -n %{libtegra} Shared library for TEGRA kernel Direct Rendering Manager services. %package -n %{libexynos} Summary: Shared library for Exynos kernel DRM services Group: System/Libraries Conflicts: %{_lib}drm2 < 2.4.5-2 %description -n %{libexynos} Shared library for EXYNOS kernel Direct Rendering Manager services. %package -n %{libfreedreno} Summary: Shared library for Freedreno kernel DRM services Group: System/Libraries %description -n %{libfreedreno} Shared library for Freedreno kernel Direct Rendering Manager services. %endif %package -n %{libamdgpu} Summary: Shared library for AMDGPU kernel DRM services Group: System/Libraries %description -n %{libamdgpu} Shared library for AMDGPU kernel Direct Rendering Manager services. %package -n %{develname} Summary: Direct Rendering Manager development package Group: Development/X11 Requires: %{libname} = %{version} Requires: %{libkms} = %{version} %ifarch %{ix86} x86_64 Requires: %{libintel} = %{version} %endif Requires: %{libnouveau} = %{version} Requires: %{libradeon} = %{version} Requires: %{libamdgpu} = %{version} %ifarch %arm Requires: %{libomap} = %{version} Requires: %{libtegra} = %{version} Requires: %{libexynos} = %{version} Requires: %{libfreedreno} = %{version} %endif Provides: %{name}-devel = %{version}-%{release} Obsoletes: %{mklibname drm 2 -d} Obsoletes: drm-nouveau-devel < 2.3.0-2.20090111.2 %description -n %{develname} Direct Rendering Manager development package. %package -n drm-utils Summary: Direct Rendering Manager utilities Group: System/Base Requires: %{libname}%{?_isa} = %{version}-%{release} %description -n drm-utils Utility programs for the kernel DRM interface. Will void your warranty. %prep %autosetup -p1 %build autoreconf -v --install || exit 1 %configure2_5x \ --disable-vc4 \ %ifarch %{arm} aarch64 --enable-exynos-experimental-api \ --enable-tegra-experimental-api \ --enable-vc4 \ --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 mkdir -p %{buildroot}%{_udevrulesdir} install -m 0644 %{SOURCE2} %{buildroot}%{_udevrulesdir} # NOTE: We intentionally don't ship *.la files find %{buildroot} -type f -name "*.la" -delete # (cg) Note that RH remove r300_reg.h via_3d_reg.h # and we should perhaps do the same? (previous attempts have not gone well :) %files common %{_udevrulesdir}/91-drm-modeset.rules %{_datadir}/libdrm/amdgpu.ids %files -n %{libname} %{_libdir}/libdrm.so.%{major}{,.*} %files -n %{libkms} %{_libdir}/libkms.so.%{kms_major}{,.*} %ifarch %{ix86} x86_64 %files -n %{libintel} %{_libdir}/libdrm_intel.so.%{intel_major}{,.*} %endif %files -n %{libnouveau} %{_libdir}/libdrm_nouveau.so.%{nouveau_major}{,.*} %files -n %{libamdgpu} %{_libdir}/libdrm_amdgpu.so.%{amdgpu_major}{,.*} %files -n %{libradeon} %{_libdir}/libdrm_radeon.so.%{radeon_major}{,.*} %ifarch %arm %files -n %{libomap} %{_libdir}/libdrm_omap.so.%{omap_major}{,.*} %files -n %{libtegra} %{_libdir}/libdrm_tegra.so.%{tegra_major}{,.*} %files -n %{libexynos} %{_libdir}/libdrm_exynos.so.%{exynos_major}{,.*} %files -n %{libfreedreno} %{_libdir}/libdrm_freedreno.so.%{freedreno_major}{,.*} %endif %files -n drm-utils %{_bindir}/amdgpu_test %{_bindir}/drmdevice %{_bindir}/modetest %{_bindir}/modeprint %{_bindir}/vbltest %{_bindir}/kmstest %{_bindir}/kms-steal-crtc %{_bindir}/kms-universal-planes %exclude %{_bindir}/exynos* %exclude %{_bindir}/drmsl %exclude %{_bindir}/hash %exclude %{_bindir}/proptest %exclude %{_bindir}/random %files -n %{develname} %{_includedir}/libdrm %{_includedir}/libkms %{_includedir}/*.h %ifarch %arm %{_includedir}/omap/*.h %{_includedir}/exynos/*.h %{_includedir}/freedreno/*.h %endif %{_libdir}/libdrm*.so %{_libdir}/libkms.so %{_libdir}/pkgconfig/libdrm*.pc %{_libdir}/pkgconfig/libkms*.pc %{_mandir}/man3/drmAvailable.3.xz %{_mandir}/man3/drmHandleEvent.3.xz %{_mandir}/man3/drmModeGetResources.3.xz %{_mandir}/man7/drm-gem.7.xz %{_mandir}/man7/drm-kms.7.xz %{_mandir}/man7/drm-memory.7.xz %{_mandir}/man7/drm-mm.7.xz %{_mandir}/man7/drm-ttm.7.xz %{_mandir}/man7/drm.7.xz %changelog * Wed Jan 10 2018 tmb <tmb> 2.4.89-1.mga6 + Revision: 1191990 - update to 2.4.89 * Tue Jun 06 2017 tmb <tmb> 2.4.81-1.mga6 + Revision: 1107095 - 2.4.81 * Wed Apr 26 2017 tmb <tmb> 2.4.80-1.mga6 + Revision: 1097541 - update to 2.4.80 * Wed Mar 01 2017 tv <tv> 2.4.75-1.mga6 + Revision: 1088367 - new release * Tue Nov 29 2016 tv <tv> 2.4.74-1.mga6 + Revision: 1071018 - new release * Thu Nov 17 2016 tv <tv> 2.4.73-2.mga6 + Revision: 1068066 - BR pkgconfig(udev) - new release * Tue Oct 04 2016 tv <tv> 2.4.71-1.mga6 + Revision: 1058318 - new release * Sat Jul 23 2016 tmb <tmb> 2.4.70-1.mga6 + Revision: 1043464 - update to 2.4.70 * Fri Jul 22 2016 tmb <tmb> 2.4.69-1.mga6 + Revision: 1043045 - rebase P102, P500 to apply cleanly - drm: drmGetDevice return correct device on multi GPU setups - drm: fix drmFreeDevices memory leak on multi GPU setups - update to 2.4.69 * Tue Jul 05 2016 tmb <tmb> 2.4.68-7.mga6 + Revision: 1038917 - add more Kabylake ids * Sun Jun 19 2016 tmb <tmb> 2.4.68-6.mga6 + Revision: 1036810 - add fixes from upstream git * Mon May 23 2016 tv <tv> 2.4.68-5.mga6 + Revision: 1018112 - fix udev rules with FC * Tue May 03 2016 tv <tv> 2.4.68-4.mga6 + Revision: 1008895 - package tegra lib on ARM * Mon May 02 2016 tv <tv> 2.4.68-3.mga6 + Revision: 1008716 - fix utils' deps * Mon May 02 2016 tv <tv> 2.4.68-2.mga6 + Revision: 1008625 - BR pkgconfig(cunit) for amdgpu_test - drop static sub package - package utils - enable more stuff on ARM - BR systemd-devel instead of udev-devel - adjust license - remove temp BR on gcc5 * Mon May 02 2016 tv <tv> 2.4.68-1.mga6 + Revision: 1008522 - drop mips patches - new release * Wed Feb 17 2016 tv <tv> 2.4.67-1.mga6 + Revision: 963155 - drop merged patches - 2.4.67 * Fri Jan 08 2016 tmb <tmb> 2.4.66-2.mga6 + Revision: 920654 - intel/kbl: Add Kabylake PCI ids - Fix memory leak with drmModeGetConnectorCurrent() * Fri Jan 01 2016 luigiwalser <luigiwalser> 2.4.66-1.mga6 + Revision: 917743 - 2.4.66 * Wed Sep 23 2015 blino <blino> 2.4.65-3.mga6 + Revision: 882312 - package freedreno on ARM - do not buildrequire valgrind on ARM/MIPS - fix summary/description of AMDGPU packages * Sun Sep 20 2015 tv <tv> 2.4.65-2.mga6 + Revision: 881747 - make devel requires amdgpu lib * Wed Sep 16 2015 tv <tv> 2.4.65-1.mga6 + Revision: 879744 - new release * Fri Aug 21 2015 tmb <tmb> 2.4.64-3.mga6 + Revision: 867044 - rebuild with new gcc * Thu Aug 20 2015 tmb <tmb> 2.4.64-2.mga6 + Revision: 866690 - rebuild with gcc 5.2.1 * Tue Aug 18 2015 tv <tv> 2.4.64-1.mga6 + Revision: 865708 - new release * Tue Aug 18 2015 tmb <tmb> 2.4.63-2.mga6 + Revision: 865424 - rebuild with new glibc * Fri Aug 14 2015 tv <tv> 2.4.63-1.mga6 + Revision: 864781 - adjust file list - rediff patch0 - new release * Wed Jul 01 2015 tv <tv> 2.4.62-1.mga6 + Revision: 849233 - BR pkgconfig(valgrind) - new release * Sun Jun 21 2015 tv <tv> 2.4.61-1.mga6 + Revision: 837869 - sync 2 patches with FC - resync patch 500 - new release * Wed Jan 21 2015 tmb <tmb> 2.4.59-1.mga5 + Revision: 811712 - update to 2.4.59 - drop merged patches * Mon Dec 01 2014 tmb <tmb> 2.4.58-3.mga5 + Revision: 800208 - add initial Intel Skylake support - intel: Fix SIGSEGV in libdrm for heigth = 0 and width = 0 - intel: Avoid overcounting fences when emitting self-referential relocs - radeon: Always multiply pitch_bytes by nsamples, not by slice_pt * Wed Oct 15 2014 umeabot <umeabot> 2.4.58-2.mga5 + Revision: 751057 - Second Mageia 5 Mass Rebuild * Wed Oct 01 2014 tmb <tmb> 2.4.58-1.mga5 + Revision: 734458 - 2.4.58 (build fixes) - more hw support * Tue Sep 16 2014 umeabot <umeabot> 2.4.56-2.mga5 + Revision: 681425 - Mageia 5 Mass Rebuild * Thu Jul 31 2014 tv <tv> 2.4.56-1.mga5 + Revision: 658394 - new release * Fri Jul 25 2014 tv <tv> 2.4.55-1.mga5 + Revision: 656544 - new release * Thu May 22 2014 tmb <tmb> 2.4.54-5.mga5 + Revision: 624861 - rebuild for llvm changes * Wed May 21 2014 tmb <tmb> 2.4.54-3.mga5 + Revision: 624800 - rebuild for fixed llvm * Tue May 13 2014 tmb <tmb> 2.4.54-2.mga5 + Revision: 622583 - rebuild with gcc 4.9 * Sat May 03 2014 tv <tv> 2.4.54-1.mga5 + Revision: 619795 - new release * Sun Apr 13 2014 tv <tv> 2.4.53-1.mga5 + Revision: 613883 - new release * Sat Feb 08 2014 tv <tv> 2.4.52-1.mga5 + Revision: 585819 - new release * Thu Jan 09 2014 tmb <tmb> 2.4.51-1.mga4 + Revision: 566006 - update to 2.4.51 - drop merged patches * Sun Jan 05 2014 tmb <tmb> 2.4.50-2.mga4 + Revision: 564838 - radeon: avoid possible divide by 0 in surface manager - radeon: fix sumo2 pci id - drop P0008 (intel fence count fix), not accepted upstream * Tue Dec 03 2013 tv <tv> 2.4.50-1.mga4 + Revision: 554837 - new release * Fri Nov 29 2013 tv <tv> 2.4.49-1.mga4 + Revision: 554076 - new release * Mon Nov 18 2013 tmb <tmb> 2.4.48-1.mga4 + Revision: 551762 - 2.4.48: - radeon: hawaii support - intel: broadwell support - nouveau: prevent undefined behavior in nouveau_pushbuf_reloc with gcc-4.8 * Tue Oct 22 2013 umeabot <umeabot> 2.4.47-2.mga4 + Revision: 541329 - Mageia 4 Mass Rebuild * Sat Oct 12 2013 tv <tv> 2.4.47-1.mga4 + Revision: 495593 - new release * Sun Aug 11 2013 tmb <tmb> 2.4.46-2.mga4 + Revision: 465404 - rebuild with new gcc * Tue Jul 02 2013 tv <tv> 2.4.46-1.mga4 + Revision: 449647 - new release * Thu May 23 2013 tv <tv> 2.4.45-1.mga4 + Revision: 424828 - new release * Mon May 06 2013 tmb <tmb> 2.4.43-4.mga3 + Revision: 412437 - Intel: Fix up fence counts (mga #9044, fdo #59771) * Sat Apr 27 2013 tmb <tmb> 2.4.43-3.mga3 + Revision: 411327 - radeon: add new SI and Richland pci ids * Fri Apr 05 2013 tmb <tmb> 2.4.43-2.mga3 + Revision: 408313 - fixes from upstream git makefiles: Add missing headers drm: Fix error message in drmWaitVBlank intel: Fix Haswell CRW PCI IDs intel-decode: Fix gen6 HIER_DEPTH_BUFFER decoding * Sat Mar 30 2013 tmb <tmb> 2.4.43-1.mga3 + Revision: 406617 - BR: docbook-xsl - BR: cairo-devel, xsltproc - 2.4.43 (bugfixes, Amd Richland APU support) * Thu Feb 07 2013 tmb <tmb> 2.4.42-1.mga3 + Revision: 395038 - disable man-pages temporarily - 2.4.42: bugfixes, adds Amd Oland support * Thu Jan 17 2013 tmb <tmb> 2.4.41-1.mga3 + Revision: 388971 - 2.4.41 (bugfix release) * Sun Jan 13 2013 tmb <tmb> 2.4.40-4.mga3 + Revision: 380144 - install udev rules in correct place - intel: Remove the fence count contributions when clearing relocs (P102, upstream) * Sat Jan 12 2013 umeabot <umeabot> 2.4.40-2.mga3 + Revision: 357012 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Wed Nov 07 2012 tv <tv> 2.4.40-1.mga3 + Revision: 316246 - adjust file list - drop linking patch (merged) - new release * Wed Sep 26 2012 rtp <rtp> 2.4.39-2.mga3 + Revision: 298458 - fix file list - enable omap and exynos on their arch. * Fri Aug 24 2012 tv <tv> 2.4.39-1.mga3 + Revision: 283761 - new release * Sun Aug 12 2012 tv <tv> 2.4.38-1.mga3 + Revision: 280968 - new release * Thu Jul 19 2012 tmb <tmb> 2.4.37-4.mga3 + Revision: 272373 - rebuild for new glibc * Tue Jul 10 2012 anssi <anssi> 2.4.37-3.mga3 + Revision: 269295 - re-add nouveau changes, mesa builds with them now - drop obsolete unused nouveau configure option * Sat Jun 30 2012 colin <colin> 2.4.37-2.mga3 + Revision: 265573 - Back out nouveau changes to allow mesa rebuild * Fri Jun 29 2012 tv <tv> 2.4.37-1.mga3 + Revision: 265132 - new release * Thu Jun 28 2012 tv <tv> 2.4.36-1.mga3 + Revision: 264792 - new release * Fri Jun 08 2012 tv <tv> 2.4.35-1.mga3 + Revision: 257321 - new release * Wed May 30 2012 tv <tv> 2.4.34-1.mga3 + Revision: 249731 - fix file list - nouveau major was bumped - drop merged patches - new release * Tue Apr 03 2012 tmb <tmb> 2.4.33-1.mga2 + Revision: 228055 - spec cleanups - intel: add Ivy Bridge GT2 server variant (P1) - update to 2.4.33 (needed for radeon backport) * Wed Feb 08 2012 tv <tv> 2.4.31-1.mga2 + Revision: 206565 - new release * Fri Jan 06 2012 tv <tv> 2.4.30-1.mga2 + Revision: 192736 - new release * Tue Dec 13 2011 tv <tv> 2.4.29-1.mga2 + Revision: 181219 - new release - new release * Tue Dec 06 2011 tmb <tmb> 2.4.27-2.mga2 + Revision: 177789 - rebuild with gcc-4.6.2 * Sun Oct 30 2011 tv <tv> 2.4.27-1.mga2 + Revision: 160173 - new release * Thu Jun 09 2011 tv <tv> 2.4.26-1.mga2 + Revision: 102708 - new release - BuildRequires: libpciaccess-devel * Fri Apr 15 2011 tv <tv> 2.4.25-1.mga1 + Revision: 85649 - new release * Thu Mar 03 2011 tv <tv> 2.4.24-1.mga1 + Revision: 63431 - new release * Sun Jan 23 2011 blino <blino> 2.4.23-2.mga1 + Revision: 35365 - rebuild with udev * Tue Jan 11 2011 dmorgan <dmorgan> 2.4.23-1.mga1 + Revision: 5564 - Disable udev for now + pterjan <pterjan> - Drop obsolete scriptlets - imported package libdrm