spec: disable introspection option
[platform/upstream/gstreamer.git] / packaging / gstreamer.spec
1 %bcond_with x
2 %bcond_with wayland
3
4 %define gst_branch 1.0
5 %define _lib_gstreamer_dir %{_libdir}/gstreamer-%{gst_branch}
6 %define _lib_girepository %{_libdir}/girepository-%{gst_branch}
7 %define _enable_v4l2h264enc 0
8 %define _enable_introspection 0
9
10 #######################################################################
11 ## how to build each plugin :
12 ## add define option at gbs build cmd like [ --define "plugin bad" ]
13 ## if not, all the source code in subprojects will be built
14 #######################################################################
15
16 %if 0%{?plugin:1}
17   %if "%{plugin}" == "core"
18     %define _name gstreamer
19     %define _core_opt ""
20   %endif
21   %if "%{plugin}" == "base" || "%{plugin}" == "good" || "%{plugin}" == "bad" || "%{plugin}" == "ugly"
22     %define _name gst-plugins-%{plugin}
23     %define _base_opt ""
24     %define _good_opt ""
25     %define _bad_opt ""
26     %define _ugly_opt ""
27   %endif
28   %if "%{plugin}" == "omx" || "%{plugin}" == "libav"
29     %define _name gst-%{plugin}
30     %define _omx_opt ""
31     %define _libav_opt ""
32   %endif
33   %if "%{plugin}" == "rs"
34     %define _name gst-rtsp-server
35     %define _rs_opt ""
36   %endif
37   %if "%{plugin}" == "es"
38     %define _name gst-editing-services
39     %define _es_opt ""
40   %endif
41
42   %define _source_path subprojects/%{_name}
43
44 %else
45
46   %define plugin all
47   %define _name gstreamer
48   %define _source_path .
49
50   # plugin option prefix
51   %define _core_opt gstreamer:
52   %define _base_opt gst-plugins-base:
53   %define _good_opt gst-plugins-good:
54   %define _bad_opt gst-plugins-bad:
55   %define _ugly_opt gst-plugins-ugly:
56   %define _omx_opt gst-omx:
57   %define _libav_opt gst-libav:
58   %define _rs_opt gst-rtsp-server:
59   %define _es_opt gst-editing-services:
60
61 %endif
62
63 Name:           %{_name}
64 Version:        1.20.0
65 Release:        31
66 Summary:        Streaming-Media Framework Runtime
67 License:        LGPL-2.0+
68 Group:          Multimedia/Framework
69 Url:            http://gstreamer.freedesktop.org/
70 Source0:        gstreamer-%{version}.tar.gz
71 Source1001:     gstreamer.manifest
72 BuildRequires:  meson >= 0.59.0
73 BuildRequires:  gettext-tools
74 BuildRequires:  pkgconfig(glib-2.0) >= 2.32.0
75
76
77 %if "%{plugin}" == "all" || "%{plugin}" == "core"
78
79 BuildRequires:  bison
80 BuildRequires:  fdupes
81 BuildRequires:  flex
82 BuildRequires:  libtool
83 BuildRequires:  pkgconfig(dlog)
84 %if "%{_enable_introspection}" == "1"
85 BuildRequires:  pkgconfig(gobject-introspection-1.0) >= 1.31.1
86 %endif
87 BuildRequires:  pkgconfig(libxml-2.0)
88
89 %description -n gstreamer
90 GStreamer is a streaming-media framework, based on graphs of filters
91 which operate on media data. Applications using this library can do
92 anything from real-time sound processing to playing videos, and just
93 about anything else media-related.  Its plug-in-based architecture
94 means that new data types or processing capabilities can be added by
95 installing new plug-ins.
96
97 %package -n gstreamer-utils
98 Summary:        Streaming-Media Framework Runtime
99 Group:          Multimedia/Framework
100 Provides:       gstreamer:%{_bindir}/gst-launch-%{gst_branch} = %{version}
101 # Symbol for unversioned wrappers:
102 Provides:       gstreamer-utils_versioned = %{version}
103
104 %description -n gstreamer-utils
105 GStreamer is a streaming-media framework, based on graphs of filters
106 which operate on media data. Applications using this library can do
107 anything from real-time sound processing to playing videos, and just
108 about anything else media-related.  Its plug-in-based architecture
109 means that new data types or processing capabilities can be added by
110 installing new plug-ins.
111
112 %package -n gstreamer-devel
113 Summary:        Include Files and Libraries mandatory for Development
114 Group:          Development/Libraries
115 # gstreamer-utils is required for the gstreamer-provides rpm magic.
116 Requires:       gstreamer-utils = %{version}
117 Requires:       gstreamer = %{version}
118
119 %description -n gstreamer-devel
120 This package contains all necessary include files and libraries needed
121 to develop applications that require these.
122
123 %else
124
125 BuildRequires:  pkgconfig(gstreamer-1.0)
126
127 %if "%{plugin}" != "base"
128 BuildRequires:  pkgconfig(gstreamer-plugins-base-1.0)
129 %endif
130
131 %endif
132
133 #######################################################
134 ## Package info of Base Plugin
135 #######################################################
136
137 %if "%{plugin}" == "all"
138 %package -n gst-plugins-base
139 Summary:        GStreamer Streaming-Media Framework Plug-Ins
140 Group:          Multimedia/Framework
141 %endif
142
143 %if "%{plugin}" == "all" || "%{plugin}" == "base"
144
145 BuildRequires:  orc >= 0.4.16
146 BuildRequires:  python
147 BuildRequires:  pkgconfig(alsa) >= 0.9.1
148 BuildRequires:  pkgconfig(freetype2) >= 2.0.9
149 BuildRequires:  pkgconfig(libdrm)
150 BuildRequires:  pkgconfig(libtbm)
151 BuildRequires:  pkgconfig(libxml-2.0)
152 BuildRequires:  pkgconfig(ogg) >= 1.0
153 BuildRequires:  pkgconfig(opus)
154 BuildRequires:  pkgconfig(theoradec) >= 1.1
155 BuildRequires:  pkgconfig(theoraenc) >= 1.1
156 BuildRequires:  pkgconfig(vorbis) >= 1.0
157 BuildRequires:  pkgconfig(vorbisenc) >= 1.0
158 BuildRequires:  pkgconfig(zlib)
159 %if "%{_enable_introspection}" == "1"
160 BuildRequires:  pkgconfig(gobject-introspection-1.0) >= 1.31.1
161 %endif
162 %if "%{tizen_profile_name}" != "tv"
163 BuildRequires:  update-desktop-files
164 %endif
165 %if %{with wayland}
166 %if 0%{?enable_gl:1}
167 BuildRequires:  pkgconfig(gles20)
168 BuildRequires:  pkgconfig(wayland-egl) >= 9.0
169 %endif # wayland
170 %endif # gl
171 %if %{with x}
172 BuildRequires:  pkgconfig(dri2proto)
173 BuildRequires:  pkgconfig(libdri2)
174 BuildRequires:  pkgconfig(ice)
175 BuildRequires:  pkgconfig(sm)
176 BuildRequires:  pkgconfig(xext)
177 BuildRequires:  pkgconfig(xv)
178 BuildRequires:  pkgconfig(xfixes)
179 %endif
180 # gstreamer-utils is required for the gstreamer-provides rpm magic.
181 Requires:       gstreamer >= 1.0.0
182 Requires:       opus
183 Supplements:    gstreamer
184
185 %description -n gst-plugins-base
186 GStreamer is a streaming media framework based on graphs of filters
187 that operate on media data. Applications using this library can do
188 anything media-related, from real-time sound processing to playing
189 videos. Its plug-in-based architecture means that new data types or
190 processing capabilities can be added simply by installing new plug-ins.
191
192 %if "%{tizen_profile_name}" != "tv"
193 %package -n gst-plugins-base-extension-adder
194 Summary:        libgstadder.so for gst-plugins-base
195 Requires:       gst-plugins-base = %{version}-%{release}
196 Provides:       gst-plugins-base-profile_mobile = %{version}-%{release}
197
198 %description -n gst-plugins-base-extension-adder
199 Libgstadder.so for gst-plugin-base. Supplicant for gst-plugin-base.
200 This is for Tizen mobile profile.
201 %endif
202
203 %package -n gst-plugins-base-devel
204 Summary:        Include files and Libraries
205 Requires:       gst-plugins-base = %{version}
206
207 %description -n gst-plugins-base-devel
208 This package contains all necessary include files and libraries needed
209 to compile and link applications that use gstreamer-plugins-base.
210
211 %endif
212
213 #######################################################
214 ## Package info of Good Plugin
215 #######################################################
216
217 %if "%{plugin}" == "all"
218 %package -n gst-plugins-good
219 Summary:        GStreamer Streaming-Media Framework Plug-Ins
220 Group:          Multimedia/Framework
221 %endif
222
223 %if "%{plugin}" == "all" || "%{plugin}" == "good"
224
225 BuildRequires:  libjpeg-devel
226 BuildRequires:  orc >= 0.4.16
227 BuildRequires:  python
228 BuildRequires:  xsltproc
229 BuildRequires:  pkgconfig(bzip2)
230 BuildRequires:  pkgconfig(gio-2.0)
231 BuildRequires:  pkgconfig(libpulse) >= 1.0
232 BuildRequires:  pkgconfig(libsoup-2.4)
233 BuildRequires:  pkgconfig(libtbm)
234 BuildRequires:  pkgconfig(libxml-2.0) >= 2.4.9
235 BuildRequires:  pkgconfig(vconf)
236 BuildRequires:  pkgconfig(vpx)
237 BuildRequires:  pkgconfig(zlib)
238 %if "%{tizen_profile_name}" != "tv"
239 BuildRequires:  pkgconfig(cairo)
240 BuildRequires:  pkgconfig(cairo-gobject)
241 BuildRequires:  pkgconfig(libpng) >= 1.2
242 BuildRequires:  pkgconfig(libv4l2)
243 %endif
244 %if %{with x}
245 BuildRequires:  pkgconfig(ice)
246 BuildRequires:  pkgconfig(sm)
247 BuildRequires:  pkgconfig(xdamage)
248 BuildRequires:  pkgconfig(xfixes)
249 # used by libgstvideo4linux2.so
250 BuildRequires:  pkgconfig(xv)
251 %endif
252 Requires:       gstreamer >= %{version}
253 Requires:       gst-plugins-base >= %{version}
254 Requires:       libsoup
255
256 %description -n gst-plugins-good
257 GStreamer is a streaming media framework based on graphs of filters
258 that operate on media data. Applications using this library can do
259 anything media-related, from real-time sound processing to playing
260 videos. Its plug-in-based architecture means that new data types or
261 processing capabilities can be added simply by installing new plug-ins.
262
263 %package -n gst-plugins-good-extra
264 Summary:        Complementary plugins for gst-plugins-good
265 Group:          Productivity/Multimedia/Other
266 Requires:       gst-plugins-good = %{version}
267 Enhances:       gst-plugins-good
268
269 %description -n gst-plugins-good-extra
270 This package provides complementary plugins for gst-plugins-good and
271 plugins not included in official Tizen images, which may be used for development / experimental purposes.
272
273 %endif
274
275 #######################################################
276 ## Package info of Bad Plugin
277 #######################################################
278
279 %if "%{plugin}" == "all"
280 %package -n gst-plugins-bad
281 Summary:        GStreamer Streaming-Media Framework Plug-Ins
282 Group:          Multimedia/Framework
283 %endif
284
285 %if "%{plugin}" == "all" || "%{plugin}" == "bad"
286
287 BuildRequires:  python
288 BuildRequires:  xsltproc
289 BuildRequires:  pkgconfig(gio-2.0) >= 2.25.0
290 BuildRequires:  pkgconfig(libcurl) >= 7.21.0
291 BuildRequires:  pkgconfig(libexif) >= 0.6.16
292 BuildRequires:  pkgconfig(libsrtp2) >= 2.1.0
293 BuildRequires:  pkgconfig(libusb-1.0)
294 BuildRequires:  pkgconfig(nice)
295 BuildRequires:  pkgconfig(openal)
296 BuildRequires:  pkgconfig(openssl1.1)
297 BuildRequires:  pkgconfig(opus)
298 BuildRequires:  pkgconfig(orc-0.4) >= 0.4.11
299 BuildRequires:  pkgconfig(sndfile) >= 1.0.16
300 BuildRequires:  pkgconfig(soundtouch) > 1.4
301 BuildRequires:  pkgconfig(usrsctp)
302 %if %{with wayland}
303 BuildRequires:  pkgconfig(libdrm)
304 BuildRequires:  pkgconfig(libxml-2.0)
305 BuildRequires:  pkgconfig(wayland-client) >= 1.0.0
306 BuildRequires:  pkgconfig(wayland-cursor) >= 1.0.0
307 BuildRequires:  pkgconfig(wayland-protocols)
308 %endif
309 %if %{with x}
310 BuildRequires:  pkgconfig(x11)
311 %endif
312 Requires:       gstreamer >= %{version}
313
314 %description -n gst-plugins-bad
315 GStreamer is a streaming media framework based on graphs of filters
316 that operate on media data. Applications using this library can do
317 anything media-related,from real-time sound processing to playing
318 videos. Its plug-in-based architecture means that new data types or
319 processing capabilities can be added simply by installing new plug-ins.
320
321 %package -n gst-plugins-bad-devel
322 Summary:        GStreamer Streaming-Media Framework Plug-Ins
323 Requires:       gst-plugins-bad = %{version}-%{release}
324 Requires:       gst-plugins-base-devel
325
326 %description -n gst-plugins-bad-devel
327 GStreamer is a streaming media framework based on graphs of filters
328 that operate on media data. Applications using this library can do
329 anything media-related,from real-time sound processing to playing
330 videos. Its plug-in-based architecture means that new data types or
331 processing capabilities can be added simply by installing new plug-ins.
332
333 %endif
334
335 #######################################################
336 ## Package info of Ugly Plugin
337 #######################################################
338
339 %if "%{plugin}" == "all"
340 %package -n gst-plugins-ugly
341 Summary:        GStreamer plugins from the "ugly" set
342 Group:          Multimedia/Framework
343 %endif
344
345 %if "%{plugin}" == "all" || "%{plugin}" == "ugly"
346
347 BuildRequires:  which
348 BuildRequires:  pkgconfig(opencore-amrwb)
349 %if "%{tizen_profile_name}" != "tv"
350 BuildRequires:  pkgconfig(opencore-amrnb)
351 %endif
352
353 %description -n gst-plugins-ugly
354  GStreamer is a streaming media framework, based on graphs of filters
355  which operate on media data.  Applications using this library can do
356  anything from real-time sound processing to playing videos, and just
357  about anything else media-related.  Its plugin-based architecture means
358  that new data types or processing capabilities can be added simply by
359  installing new plug-ins.
360  .
361  This packages contains plugins from the "ugly" set, a set of
362  good-quality plug-ins that might pose distribution problems.
363
364 %endif
365
366 #######################################################
367 ## Package info of Omx Plugin
368 #######################################################
369
370 %if "%{tizen_profile_name}" != "tv"
371 %ifarch %{arm} aarch64
372
373 %if "%{plugin}" == "all"
374 %package -n gst-omx
375 Summary:        GStreamer plug-in that allows communication with OpenMAX IL components
376 Group:          Multimedia/Framework
377 %endif
378
379 %if "%{plugin}" == "all" || "%{plugin}" == "omx"
380
381 BuildRequires:  which
382 BuildRequires:  pkgconfig(libtbm)
383 BuildRequires:  pkgconfig(mm-common)
384 %if "%{target}" == "rpi"
385 BuildRequires:  pkgconfig(bcm_host)
386 BuildRequires:  pkgconfig(brcmegl)
387 %endif
388
389 %description -n gst-omx
390 gst-openmax is a GStreamer plug-in that allows communication with OpenMAX IL components.
391 Multiple OpenMAX IL implementations can be used.
392
393 %endif # plugin
394 %endif # arch
395 %endif # profile
396
397 #######################################################
398 ## Package info of libav Plugin
399 #######################################################
400
401 %if "%{plugin}" == "all"
402 %package -n gst-libav
403 Summary:        Libav plugin for GStreamer
404 Group:          Multimedia/Framework
405 %endif
406
407 %if "%{plugin}" == "all" || "%{plugin}" == "libav"
408
409 BuildRequires:  bzip2-devel
410 BuildRequires:  gettext
411 BuildRequires:  which
412 BuildRequires:  yasm
413 BuildRequires:  pkgconfig(libavcodec)
414 BuildRequires:  pkgconfig(libavfilter)
415 BuildRequires:  pkgconfig(libavformat)
416 BuildRequires:  pkgconfig(libavutil)
417 BuildRequires:  pkgconfig(orc-0.4)
418 BuildRequires:  pkgconfig(theora)
419 BuildRequires:  pkgconfig(vorbis)
420 BuildRequires:  pkgconfig(zlib)
421
422 %description -n gst-libav
423 This GStreamer plugin supports a large number of audio and video compression
424 formats through the use of the libav library.  The plugin contains GStreamer
425 elements for decoding 90+ formats (AVI, MPEG, OGG, Matroska, ASF, ...),
426 demuxing 30+ formats and colorspace conversion.
427
428 %endif
429
430 #######################################################
431 ## Package info of rtsp-server Plugin
432 #######################################################
433
434 %if "%{plugin}" == "all"
435 %package -n gst-rtsp-server
436 Summary:        Multimedia Framework Library
437 Group:          System/Libraries
438 %endif
439
440 %if "%{plugin}" == "all" || "%{plugin}" == "rs"
441
442 Requires(post):  /sbin/ldconfig
443 Requires(postun):  /sbin/ldconfig
444
445 %description -n gst-rtsp-server
446 This GStreamer plugin supports a large number of audio and video compression
447 formats through the use of the libav library.  The plugin contains GStreamer
448 elements for decoding 90+ formats (AVI, MPEG, OGG, Matroska, ASF, ...),
449 demuxing 30+ formats and colorspace conversion.
450
451 %package -n gst-rtsp-server-devel
452 Summary:        Multimedia Framework RTSP server library (DEV)
453 Group:          Development/Libraries
454 Requires:       gst-rtsp-server = %{version}-%{release}
455
456 %description -n gst-rtsp-server-devel
457
458 %endif
459
460 #######################################################
461 ## Package info of editing-services Plugin
462 #######################################################
463
464 %if "%{tizen_profile_name}" != "tv"
465
466 %if "%{plugin}" == "all"
467 %package -n gst-editing-services
468 Summary:        GStreamer Editing Service Plug-Ins
469 Group:          Multimedia/Framework
470 %endif
471
472 %if "%{plugin}" == "all" || "%{plugin}" == "es"
473
474 BuildRequires:  flex
475 BuildRequires:  gtk-doc
476 BuildRequires:  pkgconfig(libxml-2.0)
477 Requires:       gstreamer >= 1.0.0
478 Supplements:    gstreamer
479
480 %description -n gst-editing-services
481 This is a high-level library for facilitating the creation of audio/video
482 non-linear editors.
483
484 %package -n gst-editing-services-devel
485 Summary:        Development files for gst-editing-services
486 Requires:       gst-editing-services = %{version}-%{release}
487
488 %description -n gst-editing-services-devel
489 This package contains libraries and header files for
490 developing applications that use %{name}
491
492 %endif # plugin
493
494 %endif # profile
495
496 #######################################################
497 ## Prep
498 #######################################################
499
500 %prep
501 %setup -q -n gstreamer-%{version}
502 cp %{SOURCE1001} ./gstreamer.manifest
503 cp %{SOURCE1001} ./gst-plugins-base.manifest
504 cp %{SOURCE1001} ./gst-plugins-good.manifest
505 cp %{SOURCE1001} ./gst-plugins-bad.manifest
506 cp %{SOURCE1001} ./gst-plugins-ugly.manifest
507 cp %{SOURCE1001} ./gst-libav.manifest
508 cp %{SOURCE1001} ./gst-rtsp-server.manifest
509 %if "%{tizen_profile_name}" != "tv"
510 cp %{SOURCE1001} ./gst-omx.manifest
511 cp %{SOURCE1001} ./gst-editing-services.manifest
512 %endif
513
514 #######################################################
515 ## Build
516 #######################################################
517
518 %build
519
520 %if "%{plugin}" != "all"
521 pushd %{_source_path}
522 %endif
523
524 mkdir -p build
525 export CFLAGS="%{optflags} \
526   -fno-strict-aliasing\
527   -fstack-protector-strong\
528   -Wl,-z,relro\
529 %if "%{tizen_profile_name}" == "tv"
530   -Wno-declaration-after-statement\
531 %endif
532   -D_FORTIFY_SOURCE=2"
533 export CXXFLAGS+=" -Wno-error"
534 export LDFLAGS+=" -pthread"
535
536 meson --auto-features=disabled --prefix=/usr --libdir=%{_libdir} --datadir=%{_datadir} --sysconfdir=%{_hal_sysconfdir} \
537 %if "%{plugin}" == "all"
538   %if "%{tizen_profile_name}" == "tv"
539     -D ges=disabled \
540     -D omx=disabled \
541   %endif # profile
542   %ifarch x86_64 %{ix86}
543     -D omx=disabled \
544   %endif # arch
545 %endif # plugin
546 %if "%{plugin}" == "all" || "%{plugin}" == "core"
547   -D %{_core_opt}check=enabled \
548   -D %{_core_opt}coretracers=enabled \
549   -D %{_core_opt}extra-checks=enabled \
550   -D %{_core_opt}ptp-helper-permissions=none \
551   -D %{_core_opt}tools=enabled \
552   %if "%{tizen_profile_name}" == "tv"
553     -D %{_core_opt}tv-profile=true \
554   %endif # profile
555   %if "%{_enable_introspection}" == "1"
556     -D %{_core_opt}introspection=enabled \
557   %endif # introspection
558 %endif # plugin
559 %if "%{plugin}" == "all" || "%{plugin}" == "base"
560   -D %{_base_opt}alsa=enabled \
561   -D %{_base_opt}app=enabled \
562   -D %{_base_opt}audioconvert=enabled \
563   -D %{_base_opt}audiomixer=enabled \
564   -D %{_base_opt}audiorate=enabled \
565   -D %{_base_opt}audioresample=enabled \
566   -D %{_base_opt}audiotestsrc=enabled \
567   -D %{_base_opt}compositor=enabled \
568   -D %{_base_opt}gio=enabled \
569   -D %{_base_opt}gio-typefinder=enabled \
570   -D %{_base_opt}ogg=enabled \
571   -D %{_base_opt}opus=enabled \
572   -D %{_base_opt}overlaycomposition=enabled \
573   -D %{_base_opt}pbtypes=enabled \
574   -D %{_base_opt}playback=enabled \
575   -D %{_base_opt}rawparse=enabled \
576   -D %{_base_opt}subparse=enabled \
577   -D %{_base_opt}tbm=true \
578   -D %{_base_opt}tcp=enabled \
579   -D %{_base_opt}theora=enabled \
580   -D %{_base_opt}typefind=enabled \
581   -D %{_base_opt}videoconvert=enabled \
582   -D %{_base_opt}videorate=enabled \
583   -D %{_base_opt}videoscale=enabled \
584   -D %{_base_opt}videotestsrc=enabled \
585   -D %{_base_opt}volume=enabled \
586   -D %{_base_opt}vorbis=enabled \
587   %if "%{tizen_profile_name}" == "tv"
588     -D %{_base_opt}tv-profile=true \
589   %else
590     -D %{_base_opt}adder=enabled \
591     -D %{_base_opt}encoding=enabled \
592     %if 0%{?enable_gl:1}
593       -D %{_base_opt}gl=enabled \
594     %endif # gl
595   %endif # profile
596   %if "%{_enable_introspection}" == "1"
597     -D %{_base_opt}introspection=enabled \
598   %endif # introspection
599 %endif # base plugin
600 %if "%{plugin}" == "all" || "%{plugin}" == "good"
601   %if 0%{?ENABLE_AALIB}
602     -D %{_good_opt}aalib=enabled \
603   %endif
604   -D %{_good_opt}apetag=enabled \
605   -D %{_good_opt}audiofx=enabled \
606   -D %{_good_opt}audioparsers=enabled \
607   -D %{_good_opt}autodetect=enabled \
608   -D %{_good_opt}avi=enabled \
609   -D %{_good_opt}debugutils=enabled \
610   -D %{_good_opt}deinterlace=enabled \
611   -D %{_good_opt}icydemux=enabled \
612   -D %{_good_opt}id3demux=enabled \
613   -D %{_good_opt}interleave=enabled \
614   -D %{_good_opt}isomp4=enabled \
615   -D %{_good_opt}jpeg=enabled \
616   -D %{_good_opt}law=enabled \
617   -D %{_good_opt}pulse=enabled \
618   -D %{_good_opt}replaygain=enabled \
619   -D %{_good_opt}rtp=enabled \
620   -D %{_good_opt}rtpmanager=enabled \
621   -D %{_good_opt}rtsp=enabled \
622   -D %{_good_opt}soup=enabled \
623   -D %{_good_opt}tbm=true \
624   -D %{_good_opt}udp=enabled \
625   -D %{_good_opt}videocrop=enabled \
626   -D %{_good_opt}videofilter=enabled \
627   -D %{_good_opt}vpx=enabled \
628   -D %{_good_opt}wavenc=enabled \
629   -D %{_good_opt}wavparse=enabled \
630   %if "%{_enable_v4l2h264enc}" == "1"
631     -D %{_good_opt}v4l2h264enc=enabled \
632   %endif
633   %if "%{tizen_profile_name}" == "tv"
634     -D %{_good_opt}tv-profile=true \
635     %ifnarch %{arm} aarch64
636       -D %{_good_opt}v4l2=enabled \
637     %endif
638   %else
639     -D %{_good_opt}cairo=enabled \
640     -D %{_good_opt}effectv=enabled \
641     -D %{_good_opt}flv=enabled \
642     -D %{_good_opt}imagefreeze=enabled \
643     -D %{_good_opt}matroska=enabled \
644     -D %{_good_opt}multifile=enabled \
645     -D %{_good_opt}png=enabled \
646     -D %{_good_opt}smpte=enabled \
647     -D %{_good_opt}v4l2=enabled \
648     -D %{_good_opt}v4l2-libv4l2=enabled \
649     -D %{_good_opt}v4l2-probe=true \
650     -D %{_good_opt}videobox=enabled \
651     -D %{_good_opt}videomixer=enabled \
652   %endif # profile
653 %endif # plugin
654 %if "%{plugin}" == "all" || "%{plugin}" == "bad"
655   -D %{_bad_opt}aes=enabled \
656   -D %{_bad_opt}audiobuffersplit=enabled \
657   -D %{_bad_opt}audiolatency=enabled \
658   -D %{_bad_opt}audiomixmatrix=enabled \
659   -D %{_bad_opt}debugutils=enabled \
660   -D %{_bad_opt}dtls=enabled \
661   -D %{_bad_opt}gst_play_tests=false\
662   -D %{_bad_opt}introspection=disabled \
663   -D %{_bad_opt}ipcpipeline=enabled \
664   -D %{_bad_opt}midi=enabled \
665   -D %{_bad_opt}mpegtsdemux=enabled \
666   -D %{_bad_opt}mpegtsmux=enabled \
667   -D %{_bad_opt}netsim=enabled \
668   -D %{_bad_opt}openal=enabled \
669   -D %{_bad_opt}opus=enabled \
670   -D %{_bad_opt}proxy=enabled \
671   -D %{_bad_opt}rist=enabled \
672   -D %{_bad_opt}sctp=enabled \
673   -D %{_bad_opt}sdp=enabled \
674   -D %{_bad_opt}shm=enabled \
675   -D %{_bad_opt}soundtouch=enabled \
676   -D %{_bad_opt}srtp=enabled \
677   -D %{_bad_opt}timecode=enabled \
678   -D %{_bad_opt}videoframe_audiolevel=enabled \
679   -D %{_bad_opt}videoparsers=enabled \
680   -D %{_bad_opt}wayland=enabled \
681   -D %{_bad_opt}webrtc=enabled \
682   %if %{with wayland}
683     -D %{_bad_opt}wayland=enabled \
684   %endif
685   %if "%{tizen_profile_name}" == "tv"
686     -D %{_bad_opt}tv-profile=true \
687   %else
688     -D %{_bad_opt}autoconvert=enabled \
689     -D %{_bad_opt}camerabin2=enabled \
690     -D %{_bad_opt}coloreffects=enabled \
691     -D %{_bad_opt}dash=enabled \
692     -D %{_bad_opt}gaudieffects=enabled \
693     -D %{_bad_opt}gdp=enabled \
694     -D %{_bad_opt}hls=enabled \
695     -D %{_bad_opt}id3tag=enabled \
696     -D %{_bad_opt}jpegformat=enabled \
697     -D %{_bad_opt}mpegdemux=enabled \
698     -D %{_bad_opt}rtp=enabled \
699     -D %{_bad_opt}smoothstreaming=enabled \
700     %if 0%{?enable_gl:1}
701       -D %{_bad_opt}gl=enabled \
702     %endif # gl
703   %endif # profile
704 %endif # plugin
705 %if "%{plugin}" == "all" || "%{plugin}" == "ugly"
706   -D %{_ugly_opt}amrwbdec=enabled \
707   %if "%{tizen_profile_name}" == "tv"
708     -D %{_ugly_opt}tv-profile=true \
709   %else
710     -D %{_ugly_opt}amrnb=enabled \
711     -D %{_ugly_opt}asfdemux=enabled \
712   %endif # profile
713 %endif # plugin
714 %if "%{plugin}" == "all" || "%{plugin}" == "libav"
715   %if "%{tizen_profile_name}" == "tv"
716     -D %{_libav_opt}tv-profile=true \
717   %endif # profile
718 %endif # plugin
719 %if "%{plugin}" == "all" || "%{plugin}" == "rs"
720   %if "%{tizen_profile_name}" == "tv"
721     -D %{_rs_opt}tv-profile=true \
722   %endif # profile
723   -D %{_rs_opt}introspection=disabled \
724   -D %{_rs_opt}rtspclientsink=enabled \
725 %endif
726 %if "%{tizen_profile_name}" != "tv"
727   %ifarch %{arm} aarch64
728     %if "%{plugin}" == "all" || "%{plugin}" == "omx"
729       %if "%{target}" == "rpi"
730         -D %{_omx_opt}header_path=/opt/vc/include/interface/vmcs_host/khronos/IL \
731         -D %{_omx_opt}target=rpi \
732       %else
733         %ifarch aarch64
734           -D %{_omx_opt}target=exynos64 \
735         %else
736           -D %{_omx_opt}target=exynos \
737           -D %{_omx_opt}vp9=true \
738         %endif # arch
739       %endif # target
740     %endif # plugin
741   %endif # arch
742   %if "%{plugin}" == "all" || "%{plugin}" == "es"
743     -D %{_es_opt}introspection=disabled \
744     -D %{_es_opt}tools=enabled \
745     -D %{_es_opt}xptv=enabled \
746     -D %{_es_opt}python=enabled \
747   %endif # plugin
748 %endif # profile
749   build
750
751 ninja -C build all %{?_smp_mflags}
752
753 %if "%{plugin}" != "all"
754 popd
755 %endif
756
757 #######################################################
758 ## Install
759 #######################################################
760
761 %install
762 rm -rf %{buildroot}
763 export DESTDIR=%{buildroot}
764 ninja -C %{_source_path}/build install
765 mkdir -p %{buildroot}%{_datadir}/gstreamer-%{gst_branch}/presets
766 rm -rf %{buildroot}%{_datadir}/gstreamer-%{gst_branch}/encoding-profiles
767 rm -rf %{buildroot}%{_datadir}/locale
768
769 %clean
770 rm -rf $RPM_BUILD_ROOT
771
772 %post -p /sbin/ldconfig
773 %postun -p /sbin/ldconfig
774
775 #######################################################
776 ## Packaging rpms
777 #######################################################
778
779 ###################### gstreamer ######################
780
781 %if "%{plugin}" == "all" || "%{plugin}" == "core"
782
783 %files -n gstreamer
784 %manifest gstreamer.manifest
785 %defattr(-, root, root)
786 %license subprojects/gstreamer/COPYING
787 %dir %{_datadir}/gstreamer-%{gst_branch}
788 %dir %{_datadir}/gstreamer-%{gst_branch}/presets
789 %dir %{_lib_gstreamer_dir}
790 %{_lib_gstreamer_dir}/libgstcoreelements.so
791 %{_lib_gstreamer_dir}/libgstcoretracers.so
792 %dir %{_libexecdir}/gstreamer-%{gst_branch}
793 %{_libexecdir}/gstreamer-%{gst_branch}/gst-hotdoc-plugins-scanner
794 %{_libexecdir}/gstreamer-%{gst_branch}/gst-plugin-scanner
795 %{_libexecdir}/gstreamer-%{gst_branch}/gst-ptp-helper
796 %exclude %{_libexecdir}/gstreamer-%{gst_branch}/gst-plugins-doc-cache-generator
797 %{_libdir}/libgstbase-%{gst_branch}.so.*
798 %{_libdir}/libgstcontroller-%{gst_branch}.so.*
799 %{_libdir}/libgstnet-%{gst_branch}.so.*
800 %{_libdir}/libgstcheck-%{gst_branch}.so.*
801 %{_libdir}/libgstreamer-%{gst_branch}.so.*
802 %if "%{_enable_introspection}" == "1"
803 %{_lib_girepository}/Gst-%{gst_branch}.typelib
804 %{_lib_girepository}/GstBase-%{gst_branch}.typelib
805 %{_lib_girepository}/GstController-%{gst_branch}.typelib
806 %{_lib_girepository}/GstNet-%{gst_branch}.typelib
807 %{_lib_girepository}/GstCheck-%{gst_branch}.typelib
808 %endif #introspection
809 %{_datadir}/gdb/auto-load/usr/%{_lib}/libgstreamer-%{gst_branch}*-gdb.py
810 %{_datadir}/gstreamer-%{gst_branch}/gdb/glib_gobject_helper.py
811 %{_datadir}/gstreamer-%{gst_branch}/gdb/gst_gdb.py
812
813 %files -n gstreamer-utils
814 %manifest gstreamer.manifest
815 %defattr(-, root, root)
816 %license subprojects/gstreamer/COPYING
817 %{_bindir}/gst-inspect-%{gst_branch}
818 %{_bindir}/gst-launch-%{gst_branch}
819 %{_bindir}/gst-stats-%{gst_branch}
820 %{_bindir}/gst-typefind-%{gst_branch}
821 %exclude %doc %{_mandir}/man?/*-%{gst_branch}.*
822
823 %files -n gstreamer-devel
824 %manifest gstreamer.manifest
825 %defattr(-, root, root)
826 %{_datadir}/aclocal/gst-element-check-%{gst_branch}.m4
827 %{_includedir}/gstreamer-%{gst_branch}/gst/*.h
828 %{_includedir}/gstreamer-%{gst_branch}/gst/base/*
829 %{_includedir}/gstreamer-%{gst_branch}/gst/controller/*
830 %{_includedir}/gstreamer-%{gst_branch}/gst/net/*
831 %{_includedir}/gstreamer-%{gst_branch}/gst/check/*
832 %{_libdir}/libgstbase-%{gst_branch}.so
833 %{_libdir}/libgstcontroller-%{gst_branch}.so
834 %{_libdir}/libgstnet-%{gst_branch}.so
835 %{_libdir}/libgstcheck-%{gst_branch}.so
836 %{_libdir}/libgstreamer-%{gst_branch}.so
837 %{_libdir}/pkgconfig/gstreamer-%{gst_branch}.pc
838 %{_libdir}/pkgconfig/gstreamer-base-%{gst_branch}.pc
839 %{_libdir}/pkgconfig/gstreamer-controller-%{gst_branch}.pc
840 %{_libdir}/pkgconfig/gstreamer-net-%{gst_branch}.pc
841 %{_libdir}/pkgconfig/gstreamer-check-%{gst_branch}.pc
842 %if "%{_enable_introspection}" == "1"
843 %{_datadir}/gir-%{gst_branch}/Gst-%{gst_branch}.gir
844 %{_datadir}/gir-%{gst_branch}/GstBase-%{gst_branch}.gir
845 %{_datadir}/gir-%{gst_branch}/GstController-%{gst_branch}.gir
846 %{_datadir}/gir-%{gst_branch}/GstNet-%{gst_branch}.gir
847 %{_datadir}/gir-%{gst_branch}/GstCheck-%{gst_branch}.gir
848 %endif #introspection
849
850 %changelog
851
852 %endif
853
854 ###################### gst-plugins-base ######################
855
856 %if "%{plugin}" == "all" || "%{plugin}" == "base"
857
858 %files -n gst-plugins-base
859 %manifest gst-plugins-base.manifest
860 %defattr(-, root, root)
861 %license subprojects/gst-plugins-base/COPYING
862 %{_lib_gstreamer_dir}/libgstalsa.so
863 %{_lib_gstreamer_dir}/libgstapp.so
864 %{_lib_gstreamer_dir}/libgstaudioconvert.so
865 %{_lib_gstreamer_dir}/libgstaudiomixer.so
866 %{_lib_gstreamer_dir}/libgstaudiorate.so
867 %{_lib_gstreamer_dir}/libgstaudioresample.so
868 %{_lib_gstreamer_dir}/libgstaudiotestsrc.so
869 %{_lib_gstreamer_dir}/libgstcompositor.so
870 %{_lib_gstreamer_dir}/libgstgio.so
871 %{_lib_gstreamer_dir}/libgstogg.so
872 %{_lib_gstreamer_dir}/libgstopus.so
873 %{_lib_gstreamer_dir}/libgstoverlaycomposition.so
874 %{_lib_gstreamer_dir}/libgstpbtypes.so
875 %{_lib_gstreamer_dir}/libgstplayback.so
876 %{_lib_gstreamer_dir}/libgstrawparse.so
877 %{_lib_gstreamer_dir}/libgstsubparse.so
878 %{_lib_gstreamer_dir}/libgsttcp.so
879 %{_lib_gstreamer_dir}/libgsttheora.so
880 %{_lib_gstreamer_dir}/libgsttypefindfunctions.so
881 %{_lib_gstreamer_dir}/libgstvideoconvert.so
882 %{_lib_gstreamer_dir}/libgstvideorate.so
883 %{_lib_gstreamer_dir}/libgstvideoscale.so
884 %{_lib_gstreamer_dir}/libgstvideotestsrc.so
885 %{_lib_gstreamer_dir}/libgstvolume.so
886 %{_lib_gstreamer_dir}/libgstvorbis.so
887 %if %{with x}
888 %{_lib_gstreamer_dir}/libgstximagesink.so
889 %{_lib_gstreamer_dir}/libgstxvimagesink.so
890 %endif
891 %{_libdir}/libgstallocators-%{gst_branch}.so.*
892 %{_libdir}/libgstapp-%{gst_branch}.so.*
893 %{_libdir}/libgstaudio-%{gst_branch}.so.*
894 %{_libdir}/libgstfft-%{gst_branch}.so.*
895 %{_libdir}/libgstpbutils-%{gst_branch}.so.*
896 %{_libdir}/libgstriff-%{gst_branch}.so.*
897 %{_libdir}/libgstrtp-%{gst_branch}.so.*
898 %{_libdir}/libgstrtsp-%{gst_branch}.so.*
899 %{_libdir}/libgstsdp-%{gst_branch}.so.*
900 %{_libdir}/libgsttag-%{gst_branch}.so.*
901 %{_libdir}/libgstvideo-%{gst_branch}.so.*
902 %if "%{tizen_profile_name}" != "tv"
903 %{_lib_gstreamer_dir}/libgstencoding.so
904 %endif #profile
905 %if "%{_enable_introspection}" == "1"
906 %{_lib_girepository}/GstAllocators-%{gst_branch}.typelib
907 %{_lib_girepository}/GstApp-%{gst_branch}.typelib
908 %{_lib_girepository}/GstAudio-%{gst_branch}.typelib
909 %{_lib_girepository}/GstPbutils-%{gst_branch}.typelib
910 %{_lib_girepository}/GstRtp-%{gst_branch}.typelib
911 %{_lib_girepository}/GstRtsp-%{gst_branch}.typelib
912 %{_lib_girepository}/GstSdp-%{gst_branch}.typelib
913 %{_lib_girepository}/GstTag-%{gst_branch}.typelib
914 %{_lib_girepository}/GstVideo-%{gst_branch}.typelib
915 %endif #introspection
916 %dir %{_datadir}/gst-plugins-base/
917 %dir %{_datadir}/gst-plugins-base/%{gst_branch}/
918 %{_datadir}/gst-plugins-base/%{gst_branch}/license-translations.dict
919
920 %if "%{tizen_profile_name}" != "tv"
921 %files -n gst-plugins-base-extension-adder
922 %{_lib_gstreamer_dir}/libgstadder.so
923 %license subprojects/gst-plugins-base/COPYING
924 %endif # profile
925
926 %files -n gst-plugins-base-devel
927 %manifest gst-plugins-base.manifest
928 %defattr(-, root, root)
929 %{_includedir}/gstreamer-%{gst_branch}/gst/allocators/*
930 %{_includedir}/gstreamer-%{gst_branch}/gst/app/*
931 %{_includedir}/gstreamer-%{gst_branch}/gst/audio/*
932 %{_includedir}/gstreamer-%{gst_branch}/gst/fft/*
933 %{_includedir}/gstreamer-%{gst_branch}/gst/pbutils/*
934 %{_includedir}/gstreamer-%{gst_branch}/gst/riff/*
935 %{_includedir}/gstreamer-%{gst_branch}/gst/rtp/*
936 %{_includedir}/gstreamer-%{gst_branch}/gst/rtsp/*
937 %{_includedir}/gstreamer-%{gst_branch}/gst/sdp/*
938 %{_includedir}/gstreamer-%{gst_branch}/gst/tag/*
939 %{_includedir}/gstreamer-%{gst_branch}/gst/video/*
940 %if "%{plugin}" == "all" && "%{tizen_profile_name}" != "tv"
941 %exclude %{_includedir}/gstreamer-%{gst_branch}/gst/audio/audio-bad-prelude.h
942 %exclude %{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstnonstreamaudiodecoder.h
943 %exclude %{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstplanaraudioadapter.h
944 %endif
945 %{_libdir}/libgstallocators-%{gst_branch}.so
946 %{_libdir}/libgstapp-%{gst_branch}.so
947 %{_libdir}/libgstaudio-%{gst_branch}.so
948 %{_libdir}/libgstfft-%{gst_branch}.so
949 %{_libdir}/libgstpbutils-%{gst_branch}.so
950 %{_libdir}/libgstriff-%{gst_branch}.so
951 %{_libdir}/libgstrtp-%{gst_branch}.so
952 %{_libdir}/libgstrtsp-%{gst_branch}*.so
953 %{_libdir}/libgstsdp-%{gst_branch}.so
954 %{_libdir}/libgsttag-%{gst_branch}.so
955 %{_libdir}/libgstvideo-%{gst_branch}.so
956 %{_libdir}/pkgconfig/gstreamer-allocators-%{gst_branch}.pc
957 %{_libdir}/pkgconfig/gstreamer-app-%{gst_branch}.pc
958 %{_libdir}/pkgconfig/gstreamer-audio-%{gst_branch}.pc
959 %{_libdir}/pkgconfig/gstreamer-fft-%{gst_branch}.pc
960 %{_libdir}/pkgconfig/gstreamer-pbutils-%{gst_branch}.pc
961 %{_libdir}/pkgconfig/gstreamer-plugins-base-%{gst_branch}.pc
962 %{_libdir}/pkgconfig/gstreamer-riff-%{gst_branch}.pc
963 %{_libdir}/pkgconfig/gstreamer-rtp-%{gst_branch}.pc
964 %{_libdir}/pkgconfig/gstreamer-rtsp-%{gst_branch}.pc
965 %{_libdir}/pkgconfig/gstreamer-sdp-%{gst_branch}.pc
966 %{_libdir}/pkgconfig/gstreamer-tag-%{gst_branch}.pc
967 %{_libdir}/pkgconfig/gstreamer-video-%{gst_branch}.pc
968 %if "%{_enable_introspection}" == "1"
969 %{_datadir}/gir-%{gst_branch}/GstAllocators-%{gst_branch}.gir
970 %{_datadir}/gir-%{gst_branch}/GstApp-%{gst_branch}.gir
971 %{_datadir}/gir-%{gst_branch}/GstAudio-%{gst_branch}.gir
972 %{_datadir}/gir-%{gst_branch}/GstPbutils-%{gst_branch}.gir
973 %{_datadir}/gir-%{gst_branch}/GstRtp-%{gst_branch}.gir
974 %{_datadir}/gir-%{gst_branch}/GstRtsp-%{gst_branch}.gir
975 %{_datadir}/gir-%{gst_branch}/GstSdp-%{gst_branch}.gir
976 %{_datadir}/gir-%{gst_branch}/GstTag-%{gst_branch}.gir
977 %{_datadir}/gir-%{gst_branch}/GstVideo-%{gst_branch}.gir
978 %endif # introspection
979
980 %endif # plugin
981
982 ###################### gst-plugins-good ######################
983
984 %if "%{plugin}" == "all" || "%{plugin}" == "good"
985
986 %files -n gst-plugins-good
987 %manifest gst-plugins-good.manifest
988 %defattr(-, root, root)
989 %license subprojects/gst-plugins-good/COPYING
990 %{_lib_gstreamer_dir}/libgstalaw.so
991 %{_lib_gstreamer_dir}/libgstapetag.so
992 %{_lib_gstreamer_dir}/libgstaudiofx.so
993 %{_lib_gstreamer_dir}/libgstaudioparsers.so
994 %{_lib_gstreamer_dir}/libgstautodetect.so
995 %{_lib_gstreamer_dir}/libgstavi.so
996 %{_lib_gstreamer_dir}/libgstdebug.so
997 %{_lib_gstreamer_dir}/libgstdeinterlace.so
998 %{_lib_gstreamer_dir}/libgsticydemux.so
999 %{_lib_gstreamer_dir}/libgstid3demux.so
1000 %{_lib_gstreamer_dir}/libgstinterleave.so
1001 %{_lib_gstreamer_dir}/libgstisomp4.so
1002 %{_lib_gstreamer_dir}/libgstjpeg.so
1003 %{_lib_gstreamer_dir}/libgstmulaw.so
1004 %{_lib_gstreamer_dir}/libgstnavigationtest.so
1005 %{_lib_gstreamer_dir}/libgstpulseaudio.so
1006 %{_lib_gstreamer_dir}/libgstreplaygain.so
1007 %{_lib_gstreamer_dir}/libgstrtp.so
1008 %{_lib_gstreamer_dir}/libgstrtpmanager.so
1009 %{_lib_gstreamer_dir}/libgstrtsp.so
1010 %{_lib_gstreamer_dir}/libgstsoup.so
1011 %{_lib_gstreamer_dir}/libgstudp.so
1012 %{_lib_gstreamer_dir}/libgstvideocrop.so
1013 %{_lib_gstreamer_dir}/libgstvideofilter.so
1014 %{_lib_gstreamer_dir}/libgstvpx.so
1015 %{_lib_gstreamer_dir}/libgstwavenc.so
1016 %{_lib_gstreamer_dir}/libgstwavparse.so
1017 %if %{with x}
1018 %{_lib_gstreamer_dir}/libgstximagesrc.so
1019 %endif # x
1020 %if "%{tizen_profile_name}" != "tv"
1021 %{_lib_gstreamer_dir}/libgstcairo.so
1022 %{_lib_gstreamer_dir}/libgsteffectv.so
1023 %{_lib_gstreamer_dir}/libgstflv.so
1024 %{_lib_gstreamer_dir}/libgstimagefreeze.so
1025 %{_lib_gstreamer_dir}/libgstmatroska.so
1026 %{_lib_gstreamer_dir}/libgstmultifile.so
1027 %{_lib_gstreamer_dir}/libgstsmpte.so
1028 %{_lib_gstreamer_dir}/libgstvideo4linux2.so
1029 %{_lib_gstreamer_dir}/libgstvideobox.so
1030 %{_lib_gstreamer_dir}/libgstvideomixer.so
1031 %else # profile
1032 %ifnarch %{arm} aarch64
1033 %{_lib_gstreamer_dir}/libgstvideo4linux2.so
1034 %endif # arch
1035 %endif # profile
1036 %{_datadir}/gstreamer-%{gst_branch}/presets/GstQTMux.prs
1037 %{_datadir}/gstreamer-%{gst_branch}/presets/GstVP8Enc.prs
1038
1039 %files -n gst-plugins-good-extra
1040 %manifest gst-plugins-good.manifest
1041 %defattr(-, root, root)
1042 %license subprojects/gst-plugins-good/COPYING
1043 %if 0%{?ENABLE_AALIB}
1044 %{_lib_gstreamer_dir}/libgstaasink.so
1045 %endif
1046 %if "%{tizen_profile_name}" != "tv"
1047 %{_lib_gstreamer_dir}/libgstimagefreeze.so
1048 %{_lib_gstreamer_dir}/libgstpng.so
1049 %endif
1050
1051 %endif
1052
1053 ###################### gst-plugins-bad ######################
1054
1055 %if "%{plugin}" == "all" || "%{plugin}" == "bad"
1056
1057 %files -n gst-plugins-bad
1058 %manifest gst-plugins-bad.manifest
1059 %defattr(-, root, root)
1060 %license subprojects/gst-plugins-bad/COPYING
1061 %if "%{tizen_profile_name}" != "tv"
1062 %{_lib_gstreamer_dir}/libgstautoconvert.so
1063 %{_lib_gstreamer_dir}/libgstcamerabin.so
1064 %{_lib_gstreamer_dir}/libgstcoloreffects.so
1065 %{_lib_gstreamer_dir}/libgstdash.so
1066 %{_lib_gstreamer_dir}/libgstgaudieffects.so
1067 %{_lib_gstreamer_dir}/libgstgdp.so
1068 %{_lib_gstreamer_dir}/libgsthls.so
1069 %{_lib_gstreamer_dir}/libgstid3tag.so
1070 %{_lib_gstreamer_dir}/libgstjpegformat.so
1071 %{_lib_gstreamer_dir}/libgstmpegpsdemux.so
1072 %{_lib_gstreamer_dir}/libgstsmoothstreaming.so
1073 %{_libdir}/libgstadaptivedemux-%{gst_branch}.so.0*
1074 %{_libdir}/libgstbadaudio-%{gst_branch}.so.0*
1075 %{_libdir}/libgstbasecamerabinsrc-%{gst_branch}.so.0*
1076 %{_libdir}/libgstinsertbin-%{gst_branch}.so.0*
1077 %{_libdir}/libgstisoff-%{gst_branch}.so.0*
1078 %{_libdir}/libgstphotography-%{gst_branch}.so.0*
1079 %{_libdir}/libgstplay-%{gst_branch}.so.0*
1080 %{_libdir}/libgstplayer-%{gst_branch}.so.0*
1081 %{_libdir}/libgsturidownloader-%{gst_branch}.so.0*
1082 %if 0%{?enable_gl:1}
1083 %{_lib_gstreamer_dir}/libgstopengl.so
1084 %{_libdir}/libgstgl-%{gst_branch}.so.0*
1085 %endif
1086 %endif # profile
1087 %{_lib_gstreamer_dir}/libgstaes.so
1088 %{_lib_gstreamer_dir}/libgstaudiobuffersplit.so
1089 %{_lib_gstreamer_dir}/libgstaudiolatency.so
1090 %{_lib_gstreamer_dir}/libgstaudiomixmatrix.so
1091 %{_lib_gstreamer_dir}/libgstdebugutilsbad.so
1092 %{_lib_gstreamer_dir}/libgstdtls.so
1093 %{_lib_gstreamer_dir}/libgstipcpipeline.so
1094 %{_lib_gstreamer_dir}/libgstmidi.so
1095 %{_lib_gstreamer_dir}/libgstmpegtsdemux.so
1096 %{_lib_gstreamer_dir}/libgstmpegtsmux.so
1097 %{_lib_gstreamer_dir}/libgstnetsim.so
1098 %{_lib_gstreamer_dir}/libgstnice.so
1099 %{_lib_gstreamer_dir}/libgstopenal.so
1100 %{_lib_gstreamer_dir}/libgstopusparse.so
1101 %{_lib_gstreamer_dir}/libgstproxy.so
1102 %{_lib_gstreamer_dir}/libgstrist.so
1103 %if "%{tizen_profile_name}" != "tv"
1104 %{_lib_gstreamer_dir}/libgstrtpmanagerbad.so
1105 %endif
1106 %{_lib_gstreamer_dir}/libgstsctp.so
1107 %{_lib_gstreamer_dir}/libgstsdpelem.so
1108 %{_lib_gstreamer_dir}/libgstshm.so
1109 %{_lib_gstreamer_dir}/libgstsoundtouch.so
1110 %{_lib_gstreamer_dir}/libgstsrtp.so
1111 %{_lib_gstreamer_dir}/libgsttimecode.so
1112 %{_lib_gstreamer_dir}/libgstvideoframe_audiolevel.so
1113 %{_lib_gstreamer_dir}/libgstvideoparsersbad.so
1114 %if %{with wayland}
1115 %{_lib_gstreamer_dir}/libgstwaylandsink.so
1116 %endif
1117 %{_lib_gstreamer_dir}/libgstwebrtc.so
1118 %{_libdir}/libgstcodecparsers-%{gst_branch}.so.0*
1119 %{_libdir}/libgstcodecs-%{gst_branch}.so.0*
1120 %{_libdir}/libgstmpegts-%{gst_branch}.so.0*
1121 %{_libdir}/libgstsctp-%{gst_branch}.so.0*
1122 %{_libdir}/libgsttranscoder-%{gst_branch}.so.0*
1123 %if %{with wayland}
1124 %{_libdir}/libgstwayland-%{gst_branch}.so.0*
1125 %endif
1126 %{_libdir}/libgstwebrtc-%{gst_branch}.so.0*
1127 %exclude %{_bindir}/gst-transcoder-%{gst_branch}
1128 %exclude %{_libdir}/debug/.build-id/*
1129 %exclude %{_libdir}/debug/*
1130
1131 %files -n gst-plugins-bad-devel
1132 %manifest gst-plugins-bad.manifest
1133 %defattr(-, root, root)
1134 %if "%{tizen_profile_name}" != "tv"
1135 %{_includedir}/gstreamer-%{gst_branch}/gst/audio/audio-bad-prelude.h
1136 %{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstnonstreamaudiodecoder.h
1137 %{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstplanaraudioadapter.h
1138 %{_includedir}/gstreamer-%{gst_branch}/gst/basecamerabinsrc/*
1139 %{_includedir}/gstreamer-%{gst_branch}/gst/insertbin/*
1140 %{_includedir}/gstreamer-%{gst_branch}/gst/interfaces/*
1141 %{_includedir}/gstreamer-%{gst_branch}/gst/isoff/*
1142 %{_includedir}/gstreamer-%{gst_branch}/gst/play/*
1143 %{_includedir}/gstreamer-%{gst_branch}/gst/player/*
1144 %{_includedir}/gstreamer-%{gst_branch}/gst/uridownloader/*
1145 %endif
1146 %{_includedir}/gstreamer-%{gst_branch}/gst/codecparsers/*
1147 %{_includedir}/gstreamer-%{gst_branch}/gst/mpegts/*
1148 %{_includedir}/gstreamer-%{gst_branch}/gst/sctp/*
1149 %{_includedir}/gstreamer-%{gst_branch}/gst/transcoder/*
1150 %if %{with wayland}
1151 %{_includedir}/gstreamer-%{gst_branch}/gst/wayland/*
1152 %endif
1153 %{_includedir}/gstreamer-%{gst_branch}/gst/webrtc/*
1154 %if "%{tizen_profile_name}" != "tv"
1155 %{_libdir}/libgstadaptivedemux*.so
1156 %{_libdir}/libgstbadaudio*.so
1157 %{_libdir}/libgstbasecamerabinsrc*.so
1158 %{_libdir}/libgstinsertbin*.so
1159 %{_libdir}/libgstisoff*.so
1160 %{_libdir}/libgstphotography*.so
1161 %{_libdir}/libgstplay*.so
1162 %{_libdir}/libgsturidownloader*.so
1163 %if 0%{?enable_gl:1}
1164 %{_lib_gstreamer_dir}/include/gst/gl/*
1165 %endif # gl
1166 %endif # profile
1167
1168 %{_libdir}/libgstcodecparsers*.so
1169 %{_libdir}/libgstcodecs*.so
1170 %{_libdir}/libgstmpegts*.so
1171 %{_libdir}/libgstsctp*.so
1172 %{_libdir}/libgsttranscoder*.so
1173 %if %{with wayland}
1174 %{_libdir}/libgstwayland*.so
1175 %endif
1176 %{_libdir}/libgstwebrtc*.so
1177 %{_libdir}/pkgconfig/gstreamer-codecparsers-%{gst_branch}.pc
1178 %if "%{tizen_profile_name}" != "tv"
1179 %{_libdir}/pkgconfig/gstreamer-bad-audio-%{gst_branch}.pc
1180 %{_libdir}/pkgconfig/gstreamer-insertbin-%{gst_branch}.pc
1181 %{_libdir}/pkgconfig/gstreamer-photography-%{gst_branch}.pc
1182 %{_libdir}/pkgconfig/gstreamer-play-%{gst_branch}.pc
1183 %{_libdir}/pkgconfig/gstreamer-player-%{gst_branch}.pc
1184 %if 0%{?enable_gl:1}
1185 %{_libdir}/pkgconfig/gstreamer-gl-*.pc
1186 %endif # gl
1187 %endif # profile
1188 %{_libdir}/pkgconfig/gstreamer-mpegts-%{gst_branch}.pc
1189 %{_libdir}/pkgconfig/gstreamer-plugins-bad-%{gst_branch}.pc
1190 %{_libdir}/pkgconfig/gstreamer-sctp-%{gst_branch}.pc
1191 %{_libdir}/pkgconfig/gstreamer-transcoder-%{gst_branch}.pc
1192 %if %{with wayland}
1193 %{_libdir}/pkgconfig/gstreamer-wayland-%{gst_branch}.pc
1194 %endif
1195 %{_libdir}/pkgconfig/gstreamer-webrtc-%{gst_branch}.pc
1196
1197 %endif # plugin
1198
1199 ###################### gst-plugins-ugly ######################
1200
1201 %if "%{plugin}" == "all" || "%{plugin}" == "ugly"
1202
1203 %files -n gst-plugins-ugly
1204 %manifest gst-plugins-ugly.manifest
1205 %defattr(-,root,root,-)
1206 %license subprojects/gst-plugins-ugly/COPYING
1207 %if "%{tizen_profile_name}" != "tv"
1208 %{_lib_gstreamer_dir}/libgstamrnb.so
1209 %{_lib_gstreamer_dir}/libgstasf.so
1210 %exclude %{_datadir}/gstreamer-%{gst_branch}/presets/GstAmrnbEnc.prs
1211 %endif # profile
1212 %{_lib_gstreamer_dir}/libgstamrwbdec.so
1213
1214 %endif # plugin
1215
1216 ######################## gst-libav ###########################
1217
1218 %if "%{plugin}" == "all" || "%{plugin}" == "libav"
1219
1220 %files -n gst-libav
1221 %manifest gst-libav.manifest
1222 %defattr(-,root,root,-)
1223 %license subprojects/gst-libav/COPYING
1224 %{_lib_gstreamer_dir}/libgstlibav.so
1225
1226 %endif
1227
1228 ###################### gst-rtsp-server #######################
1229
1230 %if "%{plugin}" == "all" || "%{plugin}" == "rs"
1231
1232 %files -n gst-rtsp-server
1233 %manifest gst-rtsp-server.manifest
1234 %defattr(-,root,root,-)
1235 %license subprojects/gst-rtsp-server/COPYING
1236 %{_libdir}/libgstrtspserver*.so.*
1237 %{_lib_gstreamer_dir}/libgstrtspclientsink.so
1238
1239 %files -n gst-rtsp-server-devel
1240 %defattr(-,root,root,-)
1241 %{_libdir}/libgstrtspserver*.so
1242 %{_includedir}/gstreamer-%{gst_branch}/gst/rtsp-server/rtsp-*.h
1243 %{_includedir}/gstreamer-%{gst_branch}/gst/rtsp-server/gstwfd*.h
1244 %{_libdir}/pkgconfig/gstreamer-rtsp-server-%{gst_branch}.pc
1245
1246 %endif
1247
1248 %if "%{tizen_profile_name}" != "tv"
1249
1250 ########################## gst-omx ###########################
1251 %ifarch %{arm} aarch64
1252
1253 %if "%{plugin}" == "all" || "%{plugin}" == "omx"
1254
1255 %files -n gst-omx
1256 %manifest gst-omx.manifest
1257 %defattr(-,root,root,-)
1258 %license subprojects/gst-omx/COPYING
1259 %{_lib_gstreamer_dir}/libgstomx.so
1260
1261 %endif
1262
1263 %endif # arch
1264
1265 ###################### gst-editing-services #######################
1266
1267 %if "%{plugin}" == "all" || "%{plugin}" == "es"
1268
1269 %files -n gst-editing-services
1270 %manifest gst-editing-services.manifest
1271 %defattr(-,root,root,-)
1272 %license subprojects/gst-editing-services/COPYING
1273 %{_libdir}/libges-%{gst_branch}.so.*
1274 %{_lib_gstreamer_dir}/libgstges.so
1275 %{_lib_gstreamer_dir}/libgstnle.so
1276 %exclude %{_libdir}/gst-validate-launcher/python/launcher/apps/geslaunch.py
1277 %exclude %{_datadir}/gstreamer-%{gst_branch}/validate/scenarios/ges-edit-clip-while-paused.scenario
1278 %{_bindir}/ges-launch-%{gst_branch}
1279
1280 %files -n gst-editing-services-devel
1281 %{_libdir}/libges-%{gst_branch}.so
1282 %{_includedir}/gstreamer-%{gst_branch}/ges/*
1283 %{_libdir}/pkgconfig/gst-editing-services-%{gst_branch}.pc
1284
1285 %endif # plugin
1286
1287 %endif # profile