packaging: Disable etnaviv features in meson build
[platform/upstream/libdrm.git] / packaging / libdrm.spec
1 Name:           libdrm
2 Version:        2.4.118
3 Release:        0
4 License:        MIT
5 Url:            http://cgit.freedesktop.org/mesa/drm
6 Summary:        Userspace interface to kernel DRM services
7 Group:          Graphics & UI Framework/Libraries
8 Source0:        %{name}-%{version}.tar.bz2
9 Source1001:             %name.manifest
10
11 BuildRequires:  kernel-headers
12 BuildRequires:  pkgconfig(pciaccess)
13 BuildRequires:  meson
14 BuildRequires:  python3
15
16 %description
17 Direct Rendering Manager headers and kernel modules.
18
19 %package tools
20 Summary:        Diagnostic utilities for DRI and DRM
21 Group:          Graphics & UI Framework/Utilities
22 Obsoletes:      libdrm < %version-%release
23 Provides:       libdrm = %version-%release
24
25 %description tools
26 Diagnoistic tools to run a test for DRI and DRM
27
28 %package tools-exynos
29 Summary:        Diagnostic utilities for exynos
30 Group:          Graphics & UI Framework/Utilities
31
32 %description tools-exynos
33 Diagnoistic tools to run a test for exynos
34
35 %package devel
36 Summary:        Userspace interface to kernel DRM services
37 Requires:       kernel-headers
38 Requires:       libdrm = %{version}-%{release}
39 %ifarch i586 i686 %ix86 x86_64
40 Requires:       libdrm-intel = %{version}-%{release}
41 %endif
42
43 %description devel
44 Direct Rendering Manager headers and kernel modules.
45
46 Development related files.
47
48 %package intel
49 Summary:        Userspace interface to intel graphics kernel DRM buffer management
50
51 %description intel
52 Userspace interface to intel graphics kernel DRM buffer management files
53
54 %package freedreno
55 Summary:        Userspace interface to freedreno graphics kernel drm buffer management
56 requires:       libdrm = %{version}-%{release}
57
58 %description freedreno
59 Userspace interface to freedreno graphics kernel drm buffer management files
60
61 %package freedreno-devel
62 Summary:        headers and developement files for freedreno drm services
63 requires:       libdrm = %{version}-%{release}
64 requires:       libdrm-devel = %{version}-%{release}
65
66 %description freedreno-devel
67 Direct rendering manager headers and development related files for freedreno.
68
69 %prep
70 %setup -q
71 cp %{SOURCE1001} .
72
73 %build
74 export CFLAGS+=" -fPIE -Wno-format-truncation -fno-strict-aliasing"
75 meson setup --prefix /usr --libdir %{_libdir} \
76        -Dudev=true \
77        -Dradeon=disabled \
78        -Damdgpu=disabled \
79        -Dnouveau=disabled \
80        -Dfreedreno=enabled \
81        -Dfreedreno-kgsl=true \
82 %ifarch i586 i686 %ix86 x86_64
83        -Dintel=enabled \
84 %endif
85        -Dexynos=enabled \
86        -Dvigs=enabled \
87        -Dinstall-test-programs=true \
88        -Dcairo-tests=disabled \
89        -Detnaviv=disabled \
90        -Db_pie=true \
91        builddir
92
93 ninja -C builddir all
94
95 %install
96 export DESTDIR=%{buildroot}
97 ninja -C builddir install
98
99 %post -p /sbin/ldconfig
100
101 %postun -p /sbin/ldconfig
102
103 %post intel -p /sbin/ldconfig
104
105 %postun intel -p /sbin/ldconfig
106
107 %files
108 %manifest %{name}.manifest
109 %license COPYING
110 %{_libdir}/libdrm.so.*
111 %{_libdir}/libdrm_exynos.so.*
112 %{_libdir}/libdrm_vigs.so.*
113 %{_libdir}/libdrm_freedreno.so.*
114
115 %files tools
116 %manifest %{name}.manifest
117 %{_bindir}/drmdevice
118 %{_bindir}/modeprint
119 %{_bindir}/modetest
120 %{_bindir}/proptest
121 %{_bindir}/vbltest
122
123 %files tools-exynos
124 %manifest %{name}.manifest
125 %{_bindir}/exynos_fimg2d_event
126 %{_bindir}/exynos_fimg2d_perf
127 %{_bindir}/exynos_fimg2d_test
128
129 %files devel
130 %manifest %{name}.manifest
131 %dir %{_includedir}/libdrm
132 %{_includedir}/libdrm/*.h
133 %dir %{_includedir}/exynos
134 %{_includedir}/exynos/*.h
135 %{_includedir}/*.h
136 %{_libdir}/libdrm.so
137 %{_libdir}/pkgconfig/libdrm.pc
138 %ifarch i586 i686 %ix86 x86_64
139 %{_libdir}/libdrm_intel.so
140 %{_libdir}/pkgconfig/libdrm_intel.pc
141 %endif
142 %ifarch %{arm} aarch64
143 %{_libdir}/pkgconfig/libdrm_vc4.pc
144 %endif
145 %{_libdir}/libdrm_exynos.so
146 %{_libdir}/pkgconfig/libdrm_exynos.pc
147 %{_libdir}/libdrm_vigs.so
148 %{_libdir}/pkgconfig/libdrm_vigs.pc
149
150 %ifarch i586 i686 %ix86 x86_64
151 %files intel
152 %manifest %{name}.manifest
153 %{_libdir}/libdrm_intel.so.*
154 %endif
155
156 %files freedreno
157 %{_libdir}/libdrm_freedreno.so.*
158
159 %files freedreno-devel
160 %manifest %{name}.manifest
161 %dir %{_includedir}/freedreno
162 %{_includedir}/freedreno/*.h
163 %{_libdir}/libdrm_freedreno.so
164 %{_libdir}/pkgconfig/libdrm_freedreno.pc