packaging: add freedreno package
[platform/upstream/libdrm.git] / packaging / libdrm.spec
1 Name:           libdrm
2 Version:        2.4.103
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 Requires:       libkms = %{version}-%{release}
43
44 %description devel
45 Direct Rendering Manager headers and kernel modules.
46
47 Development related files.
48
49 %package -n libkms
50 Summary:        Userspace interface to kernel DRM buffer management
51
52 %description -n libkms
53 Userspace interface to kernel DRM buffer management files
54
55 %package intel
56 Summary:        Userspace interface to intel graphics kernel DRM buffer management
57
58 %description intel
59 Userspace interface to intel graphics kernel DRM buffer management files
60
61 %package freedreno
62 Summary:        Userspace interface to freedreno graphics kernel drm buffer management
63 requires:       libdrm = %{version}-%{release}
64
65 %description freedreno
66 Userspace interface to freedreno graphics kernel drm buffer management files
67
68 %package freedreno-devel
69 Summary:        headers and developement files for freedreno drm services
70 requires:       libdrm = %{version}-%{release}
71 requires:       libdrm-devel = %{version}-%{release}
72 requires:       libkms = %{version}-%{release}
73
74 %description freedreno-devel
75 Direct rendering manager headers and development related files for freedreno.
76
77 %prep
78 %setup -q
79 cp %{SOURCE1001} .
80
81 %build
82 export CFLAGS+=" -fPIE -Wno-format-truncation -fno-strict-aliasing"
83 meson setup --prefix /usr --libdir %{_libdir} \
84        -Dudev=true \
85        -Dlibkms=true \
86        -Dradeon=false \
87        -Damdgpu=false \
88        -Dnouveau=false \
89        -Dfreedreno=true \
90        -Dfreedreno-kgsl=true \
91 %ifarch i586 i686 %ix86 x86_64
92        -Dintel=true \
93 %endif
94        -Dexynos=true \
95        -Dvigs=true \
96        -Dnexell=true \
97        -Dinstall-test-programs=true \
98        -Dcairo-tests=false \
99        -Db_pie=true \
100        builddir
101
102 ninja -C builddir all
103
104 %install
105 export DESTDIR=%{buildroot}
106 ninja -C builddir install
107
108 %post -p /sbin/ldconfig
109
110 %postun -p /sbin/ldconfig
111
112 %post -n libkms -p /sbin/ldconfig
113
114 %postun -n libkms -p /sbin/ldconfig
115
116 %post intel -p /sbin/ldconfig
117
118 %postun intel -p /sbin/ldconfig
119
120 %files
121 %manifest %{name}.manifest
122 %license COPYING
123 %{_libdir}/libdrm.so.*
124 %{_libdir}/libdrm_exynos.so.*
125 %{_libdir}/libdrm_vigs.so.*
126 %{_libdir}/libdrm_nexell.so.*
127 %{_libdir}/libdrm_freedreno.so.*
128
129 %files tools
130 %manifest %{name}.manifest
131 %{_bindir}/drmdevice
132 %{_bindir}/kms-steal-crtc
133 %{_bindir}/kms-universal-planes
134 %{_bindir}/kmstest
135 %{_bindir}/modeprint
136 %{_bindir}/modetest
137 %{_bindir}/proptest
138 %{_bindir}/vbltest
139
140 %files tools-exynos
141 %manifest %{name}.manifest
142 %{_bindir}/exynos_fimg2d_event
143 %{_bindir}/exynos_fimg2d_perf
144 %{_bindir}/exynos_fimg2d_test
145
146 %files devel
147 %manifest %{name}.manifest
148 %dir %{_includedir}/libdrm
149 %{_includedir}/libdrm/*.h
150 %dir %{_includedir}/libkms
151 %{_includedir}/libkms/*.h
152 %dir %{_includedir}/exynos
153 %{_includedir}/exynos/*.h
154 %dir %{_includedir}/nexell
155 %{_includedir}/nexell/*.h
156 %{_includedir}/*.h
157 %{_libdir}/libdrm.so
158 %{_libdir}/pkgconfig/libdrm.pc
159 %ifarch i586 i686 %ix86 x86_64
160 %{_libdir}/libdrm_intel.so
161 %{_libdir}/pkgconfig/libdrm_intel.pc
162 %endif
163 %{_libdir}/libkms.so
164 %{_libdir}/pkgconfig/libkms.pc
165 %ifarch %{arm} aarch64
166 %{_libdir}/pkgconfig/libdrm_vc4.pc
167 %endif
168 %{_libdir}/libdrm_exynos.so
169 %{_libdir}/pkgconfig/libdrm_exynos.pc
170 %{_libdir}/libdrm_nexell.so
171 %{_libdir}/pkgconfig/libdrm_nexell.pc
172 %{_libdir}/libdrm_vigs.so
173 %{_libdir}/pkgconfig/libdrm_vigs.pc
174
175 %files -n libkms
176 %manifest %{name}.manifest
177 %{_libdir}/libkms.so.*
178
179 %ifarch i586 i686 %ix86 x86_64
180 %files intel
181 %manifest %{name}.manifest
182 %{_libdir}/libdrm_intel.so.*
183 %endif
184
185 %files freedreno
186 %{_libdir}/libdrm_freedreno.so.*
187
188 %files freedreno-devel
189 %manifest %{name}.manifest
190 %dir %{_includedir}/freedreno
191 %{_includedir}/freedreno/*.h
192 %{_libdir}/libdrm_freedreno.so
193 %{_libdir}/pkgconfig/libdrm_freedreno.pc