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