Project Configuration of Essentials
350
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
# have choice for pkgconfig(audiofile): audiofile-devel audiofile-devel-32bit
123
Prefer: -audiofile-devel-32bit
124
%endif
125
# is_opensuse
126
%else
127
# SLE15
128
%endif
129
%endif
130
#
131
#
132
133
134
# fdk_aac is not compatible with GPL
135
%define BUILD_ORIG 1
136
%define BUILD_ORIG_ADDON 1
137
%define _with_aac 1
138
%define _with_aptx 1
139
%define _with_amrnb 1
140
%define _with_amrwb 1
141
%define _with_faac 1
142
%define _with_faad 1
143
%define _without_fdk_aac 1
144
%define _with_fdk_aac_dlopen 1
145
%define _with_librtmp 1
146
%define _with_mad 1
147
%define _with_restricted 1
148
%define _with_smbclient 1
149
%define _with_vo_aacenc 1
150
%define _with_vidstab 1
151
%define _with_x264 1
152
%define _with_x265 1
153
%define _with_xvid 1
154
%define _without_distributable 1
155
%define _without_onlynondistributable 1
156
157
Macros:
158
%vendor http://packman.links2linux.de
159
%packager packman@links2linux.de
160
%packman_bs 1
161
%BUILD_ORIG 1
162
%BUILD_ORIG_ADDON 1
163
%_with_aac 1
164
%_with_aptx 1
165
%_with_amrnb 1
166
%_with_amrwb 1
167
%_with_faac 1
168
%_with_faad 1
169
%_without_fdk_aac 1
170
%_with_fdk_aac_dlopen 1
171
%_with_librtmp 1
172
%_with_mad 1
173
%_with_restricted 1
174
%_with_smbclient 1
175
%_with_vo_aacenc 1
176
%_with_vidstab 1
177
%_with_x264 1
178
%_with_x265 1
179
%_with_xvid 1
180
%_without_crippled_stk 1
181
%_without_distributable 1
182
%_without_onlynondistributable 1
183
:Macros
184
185
# ffmpeg pkgconfig API versions
186
# 2 3 4 5 6 7
187
# libavcodec 56 57 58 59 60 61
188
# libavdevice 56 57 58 59 60 61
189
# libavfilter 5 6 7 8 9 10
190
# libavformat 56 57 58 59 60 61
191
# libavresample 2 3 4
192
# libavutil 54 55 56 57 58 59
193
# libpostproc 53 54 55 56 57 58
194
# libswresample 1 2 3 4 4 5
195
# libswscale 3 4 5 6 7 8
196
197
# Factory
198
%if 0%{?suse_version} > 1600
199
# Handle ffmpeg variants
200
# In case several versions of a given 'pkgconfig(x)' exist,
201
# the solver needs assistance. Without such assistance, every pkg which
202
# uses unversioned 'pkgconfig(x)' will fail to build with:
203
# unresolvable: have choice for x: rpm-n rpm-N
204
# There are several ways to assist the resolver:
205
# - use a fixed versioned pkgconfig(x) in case only an old version of the API variants is supported
206
# - use a version range for pkgconfig(x), preferably as 'less than N'
207
# - use a global, inclusive Prefer: to select a specific version
208
# Even if a global Prefer is in place, a version range in a pkg may still resolve to several API variants
209
# In this case global, exclusive Prefer: needs to be added as well.
210
# But, this list can not exclude every other API variant.
211
# That list may exclude also a valid API variant for pkgs which use a version range.
212
#
213
214
# No -mini package must be used. They will cause link errors due to lack of symbols.
215
# But this Prefer is not enough, the solver may choose it anyway, hence the need for ffmpeg-mini.
216
Prefer: -ffmpeg-7-mini-devel -ffmpeg-7-mini-libs
217
Prefer: -ffmpeg-6-mini-devel -ffmpeg-6-mini-libs
218
Prefer: -ffmpeg-5-mini-devel -ffmpeg-5-mini-libs
219
220
# Fix errors in OBS: each and every subpackage must be listed, not just a subset
221
# Otherwise the solver is undecided about the missing subpackages.
222
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
223
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
224
#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
225
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
226
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
227
# We empower ourselve, and decide what the default in this environment is supposed to be.
228
# However, in practice unversioned BuildRequires need to match Tumbleweed to avoid different ffmpeg variants in the same executable
229
%define ffAPI ffmpeg-7
230
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
231
232
#
233
%define _without_freerdp 1
234
%define _without_imagemagick 1
235
Macros:
236
%_without_freerdp 1
237
%_without_imagemagick 1
238
:Macros
239
%endif
240
#
241
%if 0%{?suse_version} == 1600
242
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
243
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
244
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
245
#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
246
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
247
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
248
%endif
249
#
250
%if 0%{?suse_version} == 1500
251
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
252
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
253
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
254
%define _with_nvidia 1
255
%define _without_imagemagick 1
256
Macros:
257
%_with_nvidia 1
258
%_without_imagemagick 1
259
:Macros
260
%if 0%{?is_opensuse}
261
# is_opensuse
262
#
263
%if 0%{?sle_version} == 150600
264
RepoType: rpm-md:rsyncable
265
%ifarch i586 i686
266
BuildFlags: onlybuild:A_15.6-gstreamer-plugins-bad-codecs
267
BuildFlags: onlybuild:A_15.6-gstreamer-plugins-libav
268
BuildFlags: onlybuild:A_15.6-gstreamer-plugins-ugly-codecs
269
BuildFlags: onlybuild:A_15.6-vid_stab
270
BuildFlags: onlybuild:A_tw-ffmpeg-3
271
BuildFlags: onlybuild:A_tw-ffmpeg-4
272
BuildFlags: onlybuild:dcatools
273
BuildFlags: onlybuild:faac
274
BuildFlags: onlybuild:faad2
275
BuildFlags: onlybuild:fdk-aac
276
BuildFlags: onlybuild:libde265
277
BuildFlags: onlybuild:libx264
278
BuildFlags: onlybuild:rtmpdump
279
BuildFlags: onlybuild:vo-amrwbenc
280
BuildFlags: onlybuild:x265
281
BuildFlags: onlybuild:xvid
282
# i586
283
%endif
284
# ffmpeg-4 uses this generic name
285
%define _with_full_build 1
286
%define _with_libcamera 1
287
%define _without_svtenc 1
288
Macros:
289
%_with_full_build 1
290
%_with_libcamera 1
291
%_without_svtenc 1
292
:Macros
293
# 150600
294
%endif
295
#
296
%if 0%{?sle_version} == 150500
297
RepoType: rpm-md:rsyncable
298
%ifarch i586 i686
299
BuildFlags: onlybuild:A_15.5-gstreamer-plugins-bad-codecs
300
BuildFlags: onlybuild:A_15.5-gstreamer-plugins-libav
301
BuildFlags: onlybuild:A_15.5-gstreamer-plugins-ugly-codecs
302
BuildFlags: onlybuild:A_15.5-vid_stab
303
BuildFlags: onlybuild:A_tw-ffmpeg-3
304
BuildFlags: onlybuild:A_tw-ffmpeg-4
305
BuildFlags: onlybuild:dcatools
306
BuildFlags: onlybuild:faac
307
BuildFlags: onlybuild:faad2
308
BuildFlags: onlybuild:fdk-aac
309
BuildFlags: onlybuild:libde265
310
BuildFlags: onlybuild:libx264
311
BuildFlags: onlybuild:opencore-amr
312
BuildFlags: onlybuild:rtmpdump
313
BuildFlags: onlybuild:vo-amrwbenc
314
BuildFlags: onlybuild:x265
315
BuildFlags: onlybuild:xvid
316
# i586
317
%endif
318
# ffmpeg-4 uses this generic name
319
%define _with_full_build 1
320
%define _with_libcamera 1
321
Macros:
322
%_with_full_build 1
323
%_with_libcamera 1
324
:Macros
325
# 150500
326
%endif
327
#
328
#
329
# is_opensuse
330
%else
331
# is_sle
332
%endif
333
%endif
334
#
335
336
337
#### seife 20230315 #####
338
#### try to exclude "obs-kamionche" worker from building armv7l packages
339
#### (it is broken apparently)
340
#### obs-kamionche has (currently...)
341
## <linux>
342
## <version>5.4.17</version>
343
## <flavor>2136.306.1.3.el8uek.aarch64</flavor>
344
## </linux>
345
#### "my" raspis all have at least Leap 15.4's 5.14.21
346
%ifarch armv7l
347
Constraint: linux:version:min 5.14
348
%endif
349
######################### end 20230315
350