Project Configuration of Essentials
354
1
# vim: syntax=spec
2
3
# bug#1205456
4
# env -i /usr/bin/zypper versioncmp 1 1a
5
# 1 is older than 1a
6
# env -i /usr/bin/zypper versioncmp 1.0 1a.0
7
# 1.0 is newer than 1a.0
8
%if 0%{?suse_version} > 0
9
Release: %{suse_version}.<CI_CNT>.pm.<B_CNT>
10
%endif
11
#
12
%if 0%{?sle_version} > 0
13
Release: %{sle_version}.<CI_CNT>.pm.<B_CNT>
14
%endif
15
16
%if "%_repository" == "Factory"
17
BuildFlags: onlybuild:A_KMP
18
%endif
19
%if "%_repository" == "openSUSE_Slowroll"
20
%ifarch i586 i686
21
BuildFlags: onlybuild:A_sr-Mesa
22
BuildFlags: onlybuild:A_sr-Mesa:drivers
23
BuildFlags: onlybuild:A_sr-ffmpeg-4
24
BuildFlags: onlybuild:A_sr-ffmpeg-5
25
BuildFlags: onlybuild:A_sr-ffmpeg-6
26
BuildFlags: onlybuild:A_sr-ffmpeg-7
27
BuildFlags: onlybuild:A_sr-libquicktime
28
BuildFlags: onlybuild:A_sr-vlc
29
BuildFlags: onlybuild:amrnb
30
BuildFlags: onlybuild:amrwb
31
BuildFlags: onlybuild:dcadec
32
BuildFlags: onlybuild:faac
33
BuildFlags: onlybuild:faad2
34
BuildFlags: onlybuild:fdk-aac
35
BuildFlags: onlybuild:flash-player
36
BuildFlags: onlybuild:kvazaar
37
BuildFlags: onlybuild:l-smash
38
BuildFlags: onlybuild:libaacs
39
BuildFlags: onlybuild:libbdplus
40
BuildFlags: onlybuild:libde265
41
BuildFlags: onlybuild:libdvdcss2
42
BuildFlags: onlybuild:libheif
43
BuildFlags: onlybuild:libopenaptx
44
BuildFlags: onlybuild:libx264
45
BuildFlags: onlybuild:libx264:x264
46
BuildFlags: onlybuild:psi+-iconsets
47
BuildFlags: onlybuild:rtmpdump
48
BuildFlags: onlybuild:vo-aacenc
49
BuildFlags: onlybuild:x265
50
BuildFlags: onlybuild:xine-lib-12
51
BuildFlags: onlybuild:xvid
52
%endif
53
%endif
54
55
%ifarch armv7l armv7hl
56
BuildFlags: logidlelimit:1234567
57
# raspberrypi 2 is armv7l, so prefer Mesa here
58
Prefer: Mesa-libEGL-devel
59
Prefer: -raspberrypi-gfx-devel -raspberrypi-userland-devel
60
%endif
61
62
%ifarch aarch64
63
# default factory is 5400 (1.5h), quadruple because (some of) our workers are slow
64
# --seife 2022-03-25
65
BuildFlags: logidlelimit:21600
66
# raspberrypi 3 is aarch64, so prefer Mesa on raspberrypi-userland here
67
Prefer: -raspberrypi-userland-devel
68
%endif
69
70
# have choice for pkgconfig(fdk-aac): fdk-aac-devel libfdk-aac-devel
71
Prefer: -libfdk-aac-devel
72
Prefer: opencv-devel
73
Prefer: vlc-devel
74
75
%if 0%{?suse_version} > 1600
76
%ifarch x86_64
77
Substitute: xorg-x11-devel pkgconfig(x11)
78
Substitute: xorg-x11-libs bash
79
# rpmlint results (in the rare case they have any meaning) are only relevant for Factory
80
%else
81
Substitute: clamav bash
82
Substitute: clamav-database bash
83
Substitute: bug1231701 post-build-checks
84
Substitute: post-build-checks-malwarescan bash
85
Substitute: rpmlint-Factory bash
86
Substitute: rpmlint-mini bash
87
%endif
88
%ifarch i586
89
Constraint: hardware:cpu:flag fpu
90
%endif
91
%endif
92
93
%if 0%{?suse_version} == 1600
94
# rpmlint results (in the rare case they have any meaning) are only relevant for Factory
95
Substitute: clamav bash
96
Substitute: clamav-database bash
97
Substitute: bug1231701 post-build-checks
98
Substitute: post-build-checks-malwarescan bash
99
Substitute: rpmlint-Factory bash
100
Substitute: rpmlint-mini bash
101
#
102
%define _without_amf_sdk 1
103
Macros:
104
%_without_amf_sdk 1
105
:Macros
106
%endif
107
108
%if 0%{?suse_version} == 1500
109
# rpmlint results (in the rare case they have any meaning) are only relevant for Factory
110
Substitute: clamav bash
111
Substitute: clamav-database bash
112
Substitute: bug1231701 post-build-checks
113
Substitute: post-build-checks-malwarescan bash
114
Substitute: rpmlint-Factory bash
115
Substitute: rpmlint-mini bash
116
#
117
Prefer: ImageMagick-config-7-upstream
118
%if 0%{?is_opensuse}
119
%if 0%{?sle_version} == 150600
120
# unresolvable: have choice for libboost_chrono.so.1.66.0()(64bit): libboost_chrono1_66_0 libboost_chrono_legacy
121
Prefer: -libboost_chrono_legacy
122
%endif
123
%if 0%{?sle_version} == 150500
124
# unresolvable: have choice for libboost_chrono.so.1.66.0()(64bit): libboost_chrono1_66_0 libboost_chrono_legacy
125
Prefer: -libboost_chrono_legacy
126
# unresolvable: have choice for pkgconfig(zziplib): zziplib-devel zziplib-devel-32bit
127
Prefer: -zziplib-devel-32bit
128
%endif
129
# is_opensuse
130
%else
131
# SLE15
132
%endif
133
%endif
134
#
135
#
136
137
138
# fdk_aac is not compatible with GPL
139
%define BUILD_ORIG 1
140
%define BUILD_ORIG_ADDON 1
141
%define _with_aac 1
142
%define _with_aptx 1
143
%define _with_amrnb 1
144
%define _with_amrwb 1
145
%define _with_faac 1
146
%define _with_faad 1
147
%define _without_fdk_aac 1
148
%define _with_fdk_aac_dlopen 1
149
%define _with_librtmp 1
150
%define _with_mad 1
151
%define _with_restricted 1
152
%define _with_smbclient 1
153
%define _with_vo_aacenc 1
154
%define _with_vidstab 1
155
%define _with_x264 1
156
%define _with_x265 1
157
%define _with_xvid 1
158
%define _without_distributable 1
159
%define _without_onlynondistributable 1
160
161
Macros:
162
%vendor http://packman.links2linux.de
163
%packager packman@links2linux.de
164
%packman_bs 1
165
%BUILD_ORIG 1
166
%BUILD_ORIG_ADDON 1
167
%_with_aac 1
168
%_with_aptx 1
169
%_with_amrnb 1
170
%_with_amrwb 1
171
%_with_faac 1
172
%_with_faad 1
173
%_without_fdk_aac 1
174
%_with_fdk_aac_dlopen 1
175
%_with_librtmp 1
176
%_with_mad 1
177
%_with_restricted 1
178
%_with_smbclient 1
179
%_with_vo_aacenc 1
180
%_with_vidstab 1
181
%_with_x264 1
182
%_with_x265 1
183
%_with_xvid 1
184
%_without_crippled_stk 1
185
%_without_distributable 1
186
%_without_onlynondistributable 1
187
:Macros
188
189
# ffmpeg pkgconfig API versions
190
# 2 3 4 5 6 7
191
# libavcodec 56 57 58 59 60 61
192
# libavdevice 56 57 58 59 60 61
193
# libavfilter 5 6 7 8 9 10
194
# libavformat 56 57 58 59 60 61
195
# libavresample 2 3 4
196
# libavutil 54 55 56 57 58 59
197
# libpostproc 53 54 55 56 57 58
198
# libswresample 1 2 3 4 4 5
199
# libswscale 3 4 5 6 7 8
200
201
# Factory
202
%if 0%{?suse_version} > 1600
203
# Handle ffmpeg variants
204
# In case several versions of a given 'pkgconfig(x)' exist,
205
# the solver needs assistance. Without such assistance, every pkg which
206
# uses unversioned 'pkgconfig(x)' will fail to build with:
207
# unresolvable: have choice for x: rpm-n rpm-N
208
# There are several ways to assist the resolver:
209
# - use a fixed versioned pkgconfig(x) in case only an old version of the API variants is supported
210
# - use a version range for pkgconfig(x), preferably as 'less than N'
211
# - use a global, inclusive Prefer: to select a specific version
212
# Even if a global Prefer is in place, a version range in a pkg may still resolve to several API variants
213
# In this case global, exclusive Prefer: needs to be added as well.
214
# But, this list can not exclude every other API variant.
215
# That list may exclude also a valid API variant for pkgs which use a version range.
216
#
217
218
# No -mini package must be used. They will cause link errors due to lack of symbols.
219
# But this Prefer is not enough, the solver may choose it anyway, hence the need for ffmpeg-mini.
220
Prefer: -ffmpeg-7-mini-devel -ffmpeg-7-mini-libs
221
Prefer: -ffmpeg-6-mini-devel -ffmpeg-6-mini-libs
222
Prefer: -ffmpeg-5-mini-devel -ffmpeg-5-mini-libs
223
224
# Fix errors in OBS: each and every subpackage must be listed, not just a subset
225
# Otherwise the solver is undecided about the missing subpackages.
226
Prefer: -ffmpeg-6-libavcodec-devel -ffmpeg-6-libavdevice-devel -ffmpeg-6-libavfilter-devel -ffmpeg-6-libavformat-devel -ffmpeg-6-libavutil-devel -ffmpeg-6-libpostproc-devel -ffmpeg-6-libswresample-devel -ffmpeg-6-libswscale-devel -ffmpeg-6-private-devel
227
Prefer: -ffmpeg-5-libavcodec-devel -ffmpeg-5-libavdevice-devel -ffmpeg-5-libavfilter-devel -ffmpeg-5-libavformat-devel -ffmpeg-5-libavutil-devel -ffmpeg-5-libpostproc-devel -ffmpeg-5-libswresample-devel -ffmpeg-5-libswscale-devel -ffmpeg-5-private-devel
228
#refer: -ffmpeg-4-libavcodec-devel -ffmpeg-4-libavdevice-devel -ffmpeg-4-libavfilter-devel -ffmpeg-4-libavformat-devel -ffmpeg-4-libavutil-devel -ffmpeg-4-libpostproc-devel -ffmpeg-4-libswresample-devel -ffmpeg-4-libswscale-devel -ffmpeg-4-private-devel -ffmpeg-4-libavresample-devel
229
Prefer: -ffmpeg-3-libavcodec-devel -ffmpeg-3-libavdevice-devel -ffmpeg-3-libavfilter-devel -ffmpeg-3-libavformat-devel -ffmpeg-3-libavutil-devel -ffmpeg-3-libpostproc-devel -ffmpeg-3-libswresample-devel -ffmpeg-3-libswscale-devel -ffmpeg-3-private-devel -ffmpeg-3-libavresample-devel
230
Prefer: -ffmpeg-2-libavcodec-devel -ffmpeg-2-libavdevice-devel -ffmpeg-2-libavfilter-devel -ffmpeg-2-libavformat-devel -ffmpeg-2-libavutil-devel -ffmpeg-2-libpostproc-devel -ffmpeg-2-libswresample-devel -ffmpeg-2-libswscale-devel -ffmpeg-2-libavresample-devel
231
# We empower ourselve, and decide what the default in this environment is supposed to be.
232
# However, in practice unversioned BuildRequires need to match Tumbleweed to avoid different ffmpeg variants in the same executable
233
%define ffAPI ffmpeg-7
234
Prefer: %{ffAPI}-libavcodec-devel %{ffAPI}-libavdevice-devel %{ffAPI}-libavfilter-devel %{ffAPI}-libavformat-devel %{ffAPI}-libavutil-devel %{ffAPI}-libpostproc-devel %{ffAPI}-libswresample-devel %{ffAPI}-libswscale-devel %{ffAPI}-private-devel %{ffAPI}-libavresample-devel
235
236
#
237
%define _without_freerdp 1
238
%define _without_imagemagick 1
239
Macros:
240
%_without_freerdp 1
241
%_without_imagemagick 1
242
:Macros
243
%endif
244
#
245
%if 0%{?suse_version} == 1600
246
Prefer: -ffmpeg-7-libavcodec-devel -ffmpeg-7-libavdevice-devel -ffmpeg-7-libavfilter-devel -ffmpeg-7-libavformat-devel -ffmpeg-7-libavutil-devel -ffmpeg-7-libpostproc-devel -ffmpeg-7-libswresample-devel -ffmpeg-7-libswscale-devel -ffmpeg-7-private-devel
247
Prefer: -ffmpeg-6-libavcodec-devel -ffmpeg-6-libavdevice-devel -ffmpeg-6-libavfilter-devel -ffmpeg-6-libavformat-devel -ffmpeg-6-libavutil-devel -ffmpeg-6-libpostproc-devel -ffmpeg-6-libswresample-devel -ffmpeg-6-libswscale-devel -ffmpeg-6-private-devel
248
Prefer: -ffmpeg-5-libavcodec-devel -ffmpeg-5-libavdevice-devel -ffmpeg-5-libavfilter-devel -ffmpeg-5-libavformat-devel -ffmpeg-5-libavutil-devel -ffmpeg-5-libpostproc-devel -ffmpeg-5-libswresample-devel -ffmpeg-5-libswscale-devel -ffmpeg-5-private-devel
249
#refer: -ffmpeg-4-libavcodec-devel -ffmpeg-4-libavdevice-devel -ffmpeg-4-libavfilter-devel -ffmpeg-4-libavformat-devel -ffmpeg-4-libavutil-devel -ffmpeg-4-libpostproc-devel -ffmpeg-4-libswresample-devel -ffmpeg-4-libswscale-devel -ffmpeg-4-private-devel -ffmpeg-4-libavresample-devel
250
Prefer: -ffmpeg-3-libavcodec-devel -ffmpeg-3-libavdevice-devel -ffmpeg-3-libavfilter-devel -ffmpeg-3-libavformat-devel -ffmpeg-3-libavutil-devel -ffmpeg-3-libpostproc-devel -ffmpeg-3-libswresample-devel -ffmpeg-3-libswscale-devel -ffmpeg-3-private-devel -ffmpeg-3-libavresample-devel
251
Prefer: -ffmpeg-2-libavcodec-devel -ffmpeg-2-libavdevice-devel -ffmpeg-2-libavfilter-devel -ffmpeg-2-libavformat-devel -ffmpeg-2-libavutil-devel -ffmpeg-2-libpostproc-devel -ffmpeg-2-libswresample-devel -ffmpeg-2-libswscale-devel -ffmpeg-2-libavresample-devel
252
%endif
253
#
254
%if 0%{?suse_version} == 1500
255
Prefer: -ffmpeg-7-libavcodec-devel -ffmpeg-7-libavdevice-devel -ffmpeg-7-libavfilter-devel -ffmpeg-7-libavformat-devel -ffmpeg-7-libavutil-devel -ffmpeg-7-libpostproc-devel -ffmpeg-7-libswresample-devel -ffmpeg-7-libswscale-devel -ffmpeg-7-private-devel
256
Prefer: -ffmpeg-6-libavcodec-devel -ffmpeg-6-libavdevice-devel -ffmpeg-6-libavfilter-devel -ffmpeg-6-libavformat-devel -ffmpeg-6-libavutil-devel -ffmpeg-6-libpostproc-devel -ffmpeg-6-libswresample-devel -ffmpeg-6-libswscale-devel -ffmpeg-6-private-devel
257
Prefer: -ffmpeg-5-libavcodec-devel -ffmpeg-5-libavdevice-devel -ffmpeg-5-libavfilter-devel -ffmpeg-5-libavformat-devel -ffmpeg-5-libavutil-devel -ffmpeg-5-libpostproc-devel -ffmpeg-5-libswresample-devel -ffmpeg-5-libswscale-devel -ffmpeg-5-private-devel
258
%define _with_nvidia 1
259
%define _without_imagemagick 1
260
Macros:
261
%_with_nvidia 1
262
%_without_imagemagick 1
263
:Macros
264
%if 0%{?is_opensuse}
265
# is_opensuse
266
#
267
%if 0%{?sle_version} == 150600
268
RepoType: rpm-md:rsyncable
269
%ifarch i586 i686
270
BuildFlags: onlybuild:A_15.6-gstreamer-plugins-bad-codecs
271
BuildFlags: onlybuild:A_15.6-gstreamer-plugins-libav
272
BuildFlags: onlybuild:A_15.6-gstreamer-plugins-ugly-codecs
273
BuildFlags: onlybuild:A_15.6-vid_stab
274
BuildFlags: onlybuild:A_tw-ffmpeg-3
275
BuildFlags: onlybuild:A_tw-ffmpeg-4
276
BuildFlags: onlybuild:dcatools
277
BuildFlags: onlybuild:faac
278
BuildFlags: onlybuild:faad2
279
BuildFlags: onlybuild:fdk-aac
280
BuildFlags: onlybuild:libde265
281
BuildFlags: onlybuild:libx264
282
BuildFlags: onlybuild:rtmpdump
283
BuildFlags: onlybuild:vo-amrwbenc
284
BuildFlags: onlybuild:x265
285
BuildFlags: onlybuild:xvid
286
# i586
287
%endif
288
# ffmpeg-4 uses this generic name
289
%define _with_full_build 1
290
%define _with_libcamera 1
291
%define _without_svtenc 1
292
Macros:
293
%_with_full_build 1
294
%_with_libcamera 1
295
%_without_svtenc 1
296
:Macros
297
# 150600
298
%endif
299
#
300
%if 0%{?sle_version} == 150500
301
RepoType: rpm-md:rsyncable
302
%ifarch i586 i686
303
BuildFlags: onlybuild:A_15.5-gstreamer-plugins-bad-codecs
304
BuildFlags: onlybuild:A_15.5-gstreamer-plugins-libav
305
BuildFlags: onlybuild:A_15.5-gstreamer-plugins-ugly-codecs
306
BuildFlags: onlybuild:A_15.5-vid_stab
307
BuildFlags: onlybuild:A_tw-ffmpeg-3
308
BuildFlags: onlybuild:A_tw-ffmpeg-4
309
BuildFlags: onlybuild:dcatools
310
BuildFlags: onlybuild:faac
311
BuildFlags: onlybuild:faad2
312
BuildFlags: onlybuild:fdk-aac
313
BuildFlags: onlybuild:libde265
314
BuildFlags: onlybuild:libx264
315
BuildFlags: onlybuild:opencore-amr
316
BuildFlags: onlybuild:rtmpdump
317
BuildFlags: onlybuild:vo-amrwbenc
318
BuildFlags: onlybuild:x265
319
BuildFlags: onlybuild:xvid
320
# i586
321
%endif
322
# ffmpeg-4 uses this generic name
323
%define _with_full_build 1
324
%define _with_libcamera 1
325
Macros:
326
%_with_full_build 1
327
%_with_libcamera 1
328
:Macros
329
# 150500
330
%endif
331
#
332
#
333
# is_opensuse
334
%else
335
# is_sle
336
%endif
337
%endif
338
#
339
340
341
#### seife 20230315 #####
342
#### try to exclude "obs-kamionche" worker from building armv7l packages
343
#### (it is broken apparently)
344
#### obs-kamionche has (currently...)
345
## <linux>
346
## <version>5.4.17</version>
347
## <flavor>2136.306.1.3.el8uek.aarch64</flavor>
348
## </linux>
349
#### "my" raspis all have at least Leap 15.4's 5.14.21
350
%ifarch armv7l
351
Constraint: linux:version:min 5.14
352
%endif
353
######################### end 20230315
354