X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=packaging%2Fgstreamer.spec;h=2f39ca990bfd869cad90e4b483eda487fb4589b5;hb=3ad31752d24215f6df8f01b541774a57ad057366;hp=6b18f1480121ca5275c16d9cee85f457dc6bb68b;hpb=50c5108850408ad9f4c0164fd4cf0e2dace563c5;p=platform%2Fupstream%2Fgstreamer.git diff --git a/packaging/gstreamer.spec b/packaging/gstreamer.spec index 6b18f14..2f39ca9 100644 --- a/packaging/gstreamer.spec +++ b/packaging/gstreamer.spec @@ -1,26 +1,89 @@ +%bcond_with x +%bcond_with wayland %define gst_branch 1.0 +%define _lib_gstreamer_dir %{_libdir}/gstreamer-%{gst_branch} +%define _lib_girepository %{_libdir}/girepository-%{gst_branch} -Name: gstreamer -Version: 1.16.2 +####################################################################### +## 'plugin' macro : +## 'plugin' is user defined macro to build each plugin seperately +## add define option at gbs build cmd like [ --define "plugin bad" ] +## if not, all the source code in subprojects will be built +####################################################################### + +%if 0%{?plugin:1} + + %if "%{plugin}" == "core" + %define _name gstreamer + %define _core_opt "" + %endif + %if "%{plugin}" == "base" || "%{plugin}" == "good" || "%{plugin}" == "bad" || "%{plugin}" == "ugly" + %define _name gst-plugins-%{plugin} + %define _base_opt "" + %define _good_opt "" + %define _bad_opt "" + %define _ugly_opt "" + %endif + %if "%{plugin}" == "omx" || "%{plugin}" == "libav" + %define _name gst-%{plugin} + %define _omx_opt "" + %define _libav_opt "" + %endif + %if "%{plugin}" == "rs" + %define _name gst-rtsp-server + %define _rs_opt "" + %endif + %if "%{plugin}" == "es" + %define _name gst-editing-services + %define _es_opt "" + %endif + + %define _source_path subprojects/%{_name} + +%else + + %define plugin all + %define _name gstreamer + %define _source_path . + + # plugin option prefix + %define _core_opt gstreamer: + %define _base_opt gst-plugins-base: + %define _good_opt gst-plugins-good: + %define _bad_opt gst-plugins-bad: + %define _ugly_opt gst-plugins-ugly: + %define _omx_opt gst-omx: + %define _libav_opt gst-libav: + %define _rs_opt gst-rtsp-server: + %define _es_opt gst-editing-services: + +%endif + +Name: %{_name} +Version: 1.19.3 Release: 0 Summary: Streaming-Media Framework Runtime License: LGPL-2.0+ Group: Multimedia/Framework Url: http://gstreamer.freedesktop.org/ -Source0: http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-%{version}.tar.xz -Source100: common.tar.gz -BuildRequires: bison +Source0: gstreamer-%{version}.tar.xz +Source1001: gstreamer.manifest +BuildRequires: meson >= 0.59.0 BuildRequires: gettext-tools -BuildRequires: check-devel +BuildRequires: pkgconfig(glib-2.0) >= 2.32.0 + + +%if "%{plugin}" == "all" || "%{plugin}" == "core" + +BuildRequires: bison BuildRequires: fdupes BuildRequires: flex -BuildRequires: pkgconfig(glib-2.0) >= 2.32.0 BuildRequires: libtool -BuildRequires: pkgconfig(libxml-2.0) -BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.31.1 BuildRequires: pkgconfig(dlog) +BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.31.1 +BuildRequires: pkgconfig(libxml-2.0) -%description +%description -n gstreamer GStreamer is a streaming-media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just @@ -28,14 +91,14 @@ about anything else media-related. Its plug-in-based architecture means that new data types or processing capabilities can be added by installing new plug-ins. -%package utils +%package -n gstreamer-utils Summary: Streaming-Media Framework Runtime Group: Multimedia/Framework Provides: gstreamer:%{_bindir}/gst-launch-%{gst_branch} = %{version} # Symbol for unversioned wrappers: Provides: gstreamer-utils_versioned = %{version} -%description utils +%description -n gstreamer-utils GStreamer is a streaming-media framework, based on graphs of filters which operate on media data. Applications using this library can do anything from real-time sound processing to playing videos, and just @@ -43,117 +106,1139 @@ about anything else media-related. Its plug-in-based architecture means that new data types or processing capabilities can be added by installing new plug-ins. -%package devel +%package -n gstreamer-devel Summary: Include Files and Libraries mandatory for Development Group: Development/Libraries # gstreamer-utils is required for the gstreamer-provides rpm magic. Requires: gstreamer-utils = %{version} -Requires: %{name} = %{version} +Requires: gstreamer = %{version} -%description devel +%description -n gstreamer-devel This package contains all necessary include files and libraries needed to develop applications that require these. -%lang_package +%else + +BuildRequires: gstreamer-devel >= %{version} +#BuildRequires: pkgconfig(gstreamer-1.0) + +%if "%{plugin}" != "base" +BuildRequires: gst-plugins-base-devel >= %{version} +#BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) +%endif + +%endif + +####################################################### +## Package info of Base Plugin +####################################################### + +%if "%{plugin}" == "all" +%package -n gst-plugins-base +Summary: GStreamer Streaming-Media Framework Plug-Ins +Group: Multimedia/Framework +%endif + +%if "%{plugin}" == "all" || "%{plugin}" == "base" + +BuildRequires: orc >= 0.4.16 +BuildRequires: python +BuildRequires: pkgconfig(alsa) >= 0.9.1 +BuildRequires: pkgconfig(freetype2) >= 2.0.9 +BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.31.1 +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libtbm) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(ogg) >= 1.0 +BuildRequires: pkgconfig(opus) +BuildRequires: pkgconfig(theoradec) >= 1.1 +BuildRequires: pkgconfig(theoraenc) >= 1.1 +BuildRequires: pkgconfig(vorbis) >= 1.0 +BuildRequires: pkgconfig(vorbisenc) >= 1.0 +BuildRequires: pkgconfig(zlib) +%if "%{tizen_profile_name}" != "tv" +BuildRequires: update-desktop-files +%endif +%if %{with wayland} +%if 0%{?enable_gl:1} +BuildRequires: pkgconfig(gles20) +BuildRequires: pkgconfig(wayland-egl) >= 9.0 +%endif # wayland +%endif # gl +%if %{with x} +BuildRequires: pkgconfig(dri2proto) +BuildRequires: pkgconfig(libdri2) +BuildRequires: pkgconfig(ice) +BuildRequires: pkgconfig(sm) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xv) +BuildRequires: pkgconfig(xfixes) +%endif +# gstreamer-utils is required for the gstreamer-provides rpm magic. +Requires: gstreamer >= 1.0.0 +Requires: opus +Supplements: gstreamer + +%description -n gst-plugins-base +GStreamer is a streaming media framework based on graphs of filters +that operate on media data. Applications using this library can do +anything media-related, from real-time sound processing to playing +videos. Its plug-in-based architecture means that new data types or +processing capabilities can be added simply by installing new plug-ins. + +%package -n gst-plugins-base-extension-adder +Summary: libgstadder.so for gst-plugins-base +Requires: gst-plugins-base = %{version}-%{release} +Provides: gst-plugins-base-profile_mobile = %{version}-%{release} + +%description -n gst-plugins-base-extension-adder +Libgstadder.so for gst-plugin-base. Supplicant for gst-plugin-base. +This is for Tizen mobile profile. + +%package -n gst-plugins-base-devel +Summary: Include files and Libraries +Requires: gst-plugins-base = %{version} + +%description -n gst-plugins-base-devel +This package contains all necessary include files and libraries needed +to compile and link applications that use gstreamer-plugins-base. + +%endif + +####################################################### +## Package info of Good Plugin +####################################################### + +%if "%{plugin}" == "all" +%package -n gst-plugins-good +Summary: GStreamer Streaming-Media Framework Plug-Ins +Group: Multimedia/Framework +%endif + +%if "%{plugin}" == "all" || "%{plugin}" == "good" + +BuildRequires: libjpeg-devel +BuildRequires: orc >= 0.4.16 +BuildRequires: python +BuildRequires: xsltproc +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(cairo-gobject) +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(libpng) >= 1.2 +BuildRequires: pkgconfig(libpulse) >= 1.0 +BuildRequires: pkgconfig(libsoup-2.4) +BuildRequires: pkgconfig(libtbm) +BuildRequires: pkgconfig(libxml-2.0) >= 2.4.9 +BuildRequires: pkgconfig(vconf) +BuildRequires: pkgconfig(vpx) +BuildRequires: pkgconfig(zlib) +%if "%{tizen_profile_name}" != "tv" +BuildRequires: pkgconfig(libv4l2) +%endif +%if %{with x} +BuildRequires: pkgconfig(ice) +BuildRequires: pkgconfig(sm) +BuildRequires: pkgconfig(xdamage) +BuildRequires: pkgconfig(xfixes) +# used by libgstvideo4linux2.so +BuildRequires: pkgconfig(xv) +%endif +Requires: gstreamer >= %{version} +Requires: gst-plugins-base >= %{version} + +%description -n gst-plugins-good +GStreamer is a streaming media framework based on graphs of filters +that operate on media data. Applications using this library can do +anything media-related, from real-time sound processing to playing +videos. Its plug-in-based architecture means that new data types or +processing capabilities can be added simply by installing new plug-ins. + +%package -n gst-plugins-good-extra +Summary: Complementary plugins for gst-plugins-good +Group: Productivity/Multimedia/Other +Requires: gst-plugins-good = %{version} +Enhances: gst-plugins-good + +%description -n gst-plugins-good-extra +This package provides complementary plugins for gst-plugins-good and +plugins not included in official Tizen images, which may be used for development / experimental purposes. + +%endif + +####################################################### +## Package info of Bad Plugin +####################################################### + +%if "%{plugin}" == "all" +%package -n gst-plugins-bad +Summary: GStreamer Streaming-Media Framework Plug-Ins +Group: Multimedia/Framework +%endif + +%if "%{plugin}" == "all" || "%{plugin}" == "bad" + +BuildRequires: python +BuildRequires: xsltproc +BuildRequires: pkgconfig(gio-2.0) >= 2.25.0 +BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.31.1 +BuildRequires: pkgconfig(libcurl) >= 7.21.0 +BuildRequires: pkgconfig(libexif) >= 0.6.16 +BuildRequires: pkgconfig(libsrtp2) >= 2.1.0 +BuildRequires: pkgconfig(libusb-1.0) +BuildRequires: pkgconfig(nice) +BuildRequires: pkgconfig(openal) +BuildRequires: pkgconfig(openssl1.1) +BuildRequires: pkgconfig(opus) +BuildRequires: pkgconfig(orc-0.4) >= 0.4.11 +BuildRequires: pkgconfig(sndfile) >= 1.0.16 +BuildRequires: pkgconfig(soundtouch) > 1.4 +BuildRequires: pkgconfig(usrsctp) +%if %{with wayland} +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(wayland-client) >= 1.0.0 +BuildRequires: pkgconfig(wayland-cursor) >= 1.0.0 +BuildRequires: pkgconfig(wayland-protocols) +%endif +%if %{with x} +BuildRequires: pkgconfig(x11) +%endif +Requires: gstreamer >= %{version} + +%description -n gst-plugins-bad +GStreamer is a streaming media framework based on graphs of filters +that operate on media data. Applications using this library can do +anything media-related,from real-time sound processing to playing +videos. Its plug-in-based architecture means that new data types or +processing capabilities can be added simply by installing new plug-ins. + +%package -n gst-plugins-bad-devel +Summary: GStreamer Streaming-Media Framework Plug-Ins +Requires: gst-plugins-bad = %{version}-%{release} +Requires: gst-plugins-base-devel + +%description -n gst-plugins-bad-devel +GStreamer is a streaming media framework based on graphs of filters +that operate on media data. Applications using this library can do +anything media-related,from real-time sound processing to playing +videos. Its plug-in-based architecture means that new data types or +processing capabilities can be added simply by installing new plug-ins. + +%endif + +####################################################### +## Package info of Ugly Plugin +####################################################### + +%if "%{plugin}" == "all" +%package -n gst-plugins-ugly +Summary: GStreamer plugins from the "ugly" set +Group: Multimedia/Framework +%endif + +%if "%{plugin}" == "all" || "%{plugin}" == "ugly" + +BuildRequires: which +BuildRequires: pkgconfig(opencore-amrwb) +%if "%{tizen_profile_name}" != "tv" +BuildRequires: pkgconfig(opencore-amrnb) +%endif + +%description -n gst-plugins-ugly + GStreamer is a streaming media framework, based on graphs of filters + which operate on media data. Applications using this library can do + anything from real-time sound processing to playing videos, and just + about anything else media-related. Its plugin-based architecture means + that new data types or processing capabilities can be added simply by + installing new plug-ins. + . + This packages contains plugins from the "ugly" set, a set of + good-quality plug-ins that might pose distribution problems. + +%endif + +####################################################### +## Package info of Omx Plugin +####################################################### + +%if "%{plugin}" == "all" +%package -n gst-omx +Summary: GStreamer plug-in that allows communication with OpenMAX IL components +Group: Multimedia/Framework +%endif + +%if "%{plugin}" == "all" || "%{plugin}" == "omx" + +BuildRequires: which +BuildRequires: pkgconfig(libtbm) +BuildRequires: pkgconfig(mm-common) +%if "%{target}" == "rpi" +BuildRequires: pkgconfig(bcm_host) +BuildRequires: pkgconfig(brcmegl) +%endif +ExclusiveArch: %arm aarch64 + +%description -n gst-omx +gst-openmax is a GStreamer plug-in that allows communication with OpenMAX IL components. +Multiple OpenMAX IL implementations can be used. + +%endif + +####################################################### +## Package info of libav Plugin +####################################################### + +%if "%{plugin}" == "all" +%package -n gst-libav +Summary: Libav plugin for GStreamer +Group: Multimedia/Framework +%endif + +%if "%{plugin}" == "all" || "%{plugin}" == "libav" + +BuildRequires: bzip2-devel +BuildRequires: gettext +BuildRequires: which +BuildRequires: yasm +BuildRequires: pkgconfig(libavcodec) +BuildRequires: pkgconfig(libavfilter) +BuildRequires: pkgconfig(libavformat) +BuildRequires: pkgconfig(libavutil) +BuildRequires: pkgconfig(orc-0.4) +BuildRequires: pkgconfig(theora) +BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(zlib) + +%description -n gst-libav +This GStreamer plugin supports a large number of audio and video compression +formats through the use of the libav library. The plugin contains GStreamer +elements for decoding 90+ formats (AVI, MPEG, OGG, Matroska, ASF, ...), +demuxing 30+ formats and colorspace conversion. + +%endif + +%if 0 +####################################################### +## Package info of rtsp-server Plugin +####################################################### + +%if "%{plugin}" == "all" +%package -n gst-rtsp-server +Summary: Multimedia Framework Library +Group: System/Libraries +%endif + +%if "%{plugin}" == "all" || "%{plugin}" == "rs" + +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig + +%description -n gst-rtsp-server +This GStreamer plugin supports a large number of audio and video compression +formats through the use of the libav library. The plugin contains GStreamer +elements for decoding 90+ formats (AVI, MPEG, OGG, Matroska, ASF, ...), +demuxing 30+ formats and colorspace conversion. + +%package -n gst-rtsp-server-devel +Summary: Multimedia Framework RTSP server library (DEV) +Group: Development/Libraries +Requires: gst-rtsp-server = %{version}-%{release} + +%description -n gst-rtsp-server-devel + +%endif + +%endif + +####################################################### +## Package info of editing-services Plugin +####################################################### + +%if "%{plugin}" == "all" +%package -n gst-editing-services +Summary: GStreamer Editing Service Plug-Ins +Group: Multimedia/Framework +%endif + +%if "%{plugin}" == "all" || "%{plugin}" == "es" + +BuildRequires: flex +BuildRequires: gobject-introspection-devel +BuildRequires: gtk-doc +BuildRequires: pkgconfig(libxml-2.0) +Requires: gstreamer >= 1.0.0 +Supplements: gstreamer + +%description -n gst-editing-services +This is a high-level library for facilitating the creation of audio/video +non-linear editors. + +%package -n gst-editing-services-devel +Summary: Development files for gst-editing-services +Requires: gst-editing-services = %{version}-%{release} + +%description -n gst-editing-services-devel +This package contains libraries and header files for +developing applications that use %{name} + +%endif + +####################################################### +## Prep +####################################################### %prep %setup -q -n gstreamer-%{version} -%setup -q -T -D -a 100 +cp %{SOURCE1001} ./gstreamer.manifest +cp %{SOURCE1001} ./gst-plugins-base.manifest +cp %{SOURCE1001} ./gst-plugins-good.manifest +cp %{SOURCE1001} ./gst-plugins-bad.manifest +cp %{SOURCE1001} ./gst-plugins-ugly.manifest +cp %{SOURCE1001} ./gst-omx.manifest +cp %{SOURCE1001} ./gst-libav.manifest +%if 0 +cp %{SOURCE1001} ./gst-rtsp-server.manifest +%endif +cp %{SOURCE1001} ./gst-editing-services.manifest + +####################################################### +## Build +####################################################### %build -# FIXME: GTKDOC_CFLAGS, GST_OBJ_CFLAGS: -# Silently ignored compilation of uninstalled gtk-doc scanners without RPM_OPT_FLAGS. -export V=1 -NOCONFIGURE=1 ./autogen.sh + +%if "%{plugin}" != "all" +pushd %{_source_path} +%endif + +mkdir -p build export CFLAGS="%{optflags} \ - -DTIZEN_FEATURE_QUEUE2_MODIFICATION\ - -DTIZEN_FEATURE_FILESINK_MODIFICATION\ - -DTIZEN_FEATURE_MQ_MODIFICATION\ - -DTIZEN_FEATURE_MQ_MODIFICATION_EXTRA_SIZE_TIME\ - -DTIZEN_FEATURE_BASEPARSE_MODIFICATION\ - -DTIZEN_FEATURE_QUEUE_MODIFICATION\ - -DTIZEN_FEATURE_FAKESINK_MODIFICATION\ - -DTIZEN_FEATURE_INPUT_SELECTOR_MODIFICATION\ -%if "%{tizen_profile_name}" == "tv" - -DTIZEN_PROFILE_TV\ - -DTIZEN_FEATURE_TRUSTZONE\ -%endif - -DTIZEN_FEATURE_RTSPSRC_MODIFICATION\ - -fno-strict-aliasing\ - -fstack-protector-strong\ - -Wl,-z,relro\ - -D_FORTIFY_SOURCE=2" - -%configure\ -%if %{with introspection} - --enable-introspection\ -%endif - --disable-static\ - --disable-docbook\ - --disable-gtk-doc\ - --enable-dlog\ -%if "%{tizen_profile_name}" == "tv" - --enable-tv-profile\ -%endif - --disable-examples\ - --disable-tests\ - --with-ptp-helper-permissions=none - -make %{?_smp_mflags} + -fno-strict-aliasing\ + -fstack-protector-strong\ + -Wl,-z,relro\ + -D_FORTIFY_SOURCE=2" +export CXXFLAGS+=" -Wno-error" +export LDFLAGS+=" -pthread" + +meson --prefix=/usr --libdir=%{_libdir} --datadir=%{_datadir} --sysconfdir=%{_hal_sysconfdir} \ +%if "%{plugin}" == "all" + -Dtests=disabled \ + -Dexamples=disabled \ + -Dnls=disabled \ + -Ddoc=disabled \ + -Dgtk_doc=disabled \ + -Dqt5=disabled \ + -Dgst-examples=disabled \ +%endif +%if "%{plugin}" == "all" || "%{plugin}" == "core" + -D %{_core_opt}bash-completion=disabled \ + -D %{_core_opt}check=disabled \ + -D %{_core_opt}doc=disabled \ + -D %{_core_opt}examples=disabled \ + -D %{_core_opt}introspection=enabled \ + -D %{_core_opt}nls=disabled \ + -D %{_core_opt}tests=disabled \ + -D %{_core_opt}ptp-helper-permissions=none \ +%endif +%if "%{plugin}" == "all" || "%{plugin}" == "base" + -D %{_base_opt}doc=disabled \ + -D %{_base_opt}examples=disabled \ + -D %{_base_opt}gl=disabled \ + -D %{_base_opt}introspection=enabled \ + -D %{_base_opt}nls=disabled \ + -D %{_base_opt}tbm=true \ + -D %{_base_opt}tests=disabled \ + -D %{_base_opt}tools=disabled \ + %if "%{tizen_profile_name}" == "tv" + -D %{_base_opt}tv-profile=true \ + %else + %if 0%{?enable_gl:1} + -D %{_base_opt}gl=enabled \ + %endif # gl + %endif # tv +%endif # base plugin +%if "%{plugin}" == "all" || "%{plugin}" == "good" + %if ! 0%{?ENABLE_AALIB} + -D %{_good_opt}aalib=disabled \ + %endif + -D %{_good_opt}alpha=disabled \ + -D %{_good_opt}auparse=disabled \ + -D %{_good_opt}cutter=disabled \ + -D %{_good_opt}dtmf=disabled \ + -D %{_good_opt}equalizer=disabled \ + -D %{_good_opt}flx=disabled \ + -D %{_good_opt}goom=disabled \ + -D %{_good_opt}goom2k1=disabled \ + -D %{_good_opt}level=disabled \ + -D %{_good_opt}monoscope=disabled \ + -D %{_good_opt}multipart=disabled \ + -D %{_good_opt}nls=disabled \ + -D %{_good_opt}oss4=disabled \ + -D %{_good_opt}oss=disabled \ + -D %{_good_opt}shapewipe=disabled \ + -D %{_good_opt}spectrum=disabled \ + -D %{_good_opt}taglib=disabled \ + -D %{_good_opt}tbm=true \ + -D %{_good_opt}twolame=disabled \ + -D %{_good_opt}v4l2-probe=true \ + -D %{_good_opt}wavpack=disabled \ + -D %{_good_opt}y4m=disabled \ + %if "%{tizen_profile_name}" == "tv" + -D %{_good_opt}flv=disabled \ + -D %{_good_opt}lame=disabled \ + -D %{_good_opt}videobox=disabled \ + -D %{_good_opt}videomixer=disabled \ + %else + -D %{_good_opt}v4l2-libv4l2=enabled \ + %endif # tv +%endif # plugin +%if "%{plugin}" == "all" || "%{plugin}" == "bad" + -D %{_bad_opt}accurip=disabled \ + -D %{_bad_opt}adpcmdec=disabled \ + -D %{_bad_opt}adpcmenc=disabled \ + -D %{_bad_opt}aiff=disabled \ + -D %{_bad_opt}asfmux=disabled \ + -D %{_bad_opt}audiofxbad=disabled \ + -D %{_bad_opt}audiovisualizers=disabled \ + -D %{_bad_opt}bayer=disabled \ + -D %{_bad_opt}bz2=disabled \ + -D %{_bad_opt}codecalpha=disabled \ + -D %{_bad_opt}curl=disabled \ + -D %{_bad_opt}decklink=disabled \ + -D %{_bad_opt}doc=disabled \ + -D %{_bad_opt}dtls=enabled \ + -D %{_bad_opt}dvb=disabled \ + -D %{_bad_opt}dvbsubenc=disabled \ + -D %{_bad_opt}dvbsuboverlay=disabled \ + -D %{_bad_opt}dvdspu=disabled \ + -D %{_bad_opt}examples=disabled \ + -D %{_bad_opt}faceoverlay=disabled \ + -D %{_bad_opt}fbdev=disabled \ + -D %{_bad_opt}festival=disabled \ + -D %{_bad_opt}fieldanalysis=disabled \ + -D %{_bad_opt}freeverb=disabled \ + -D %{_bad_opt}frei0r=disabled \ + -D %{_bad_opt}geometrictransform=disabled \ + -D %{_bad_opt}gl=disabled \ + -D %{_bad_opt}gst_play_tests=false\ + -D %{_bad_opt}inter=disabled \ + -D %{_bad_opt}interlace=disabled \ + -D %{_bad_opt}introspection=enabled \ + -D %{_bad_opt}ivfparse=disabled \ + -D %{_bad_opt}ivtc=disabled \ + -D %{_bad_opt}jp2kdecimator=disabled \ + -D %{_bad_opt}kms=disabled \ + -D %{_bad_opt}librfb=disabled \ + -D %{_bad_opt}mpegpsmux=disabled \ + -D %{_bad_opt}mxf=disabled \ + -D %{_bad_opt}nls=disabled \ + -D %{_bad_opt}nvcodec=disabled \ + -D %{_bad_opt}onvif=disabled \ + -D %{_bad_opt}openal=enabled \ + -D %{_bad_opt}pcapparse=disabled \ + -D %{_bad_opt}pnm=disabled \ + -D %{_bad_opt}rawparse=disabled \ + -D %{_bad_opt}removesilence=disabled \ + -D %{_bad_opt}rist=disabled \ + -D %{_bad_opt}rtmp2=disabled \ + -D %{_bad_opt}segmentclip=disabled \ + -D %{_bad_opt}siren=disabled \ + -D %{_bad_opt}smooth=disabled \ + -D %{_bad_opt}sndfile=disabled \ + -D %{_bad_opt}speed=disabled \ + -D %{_bad_opt}subenc=disabled \ + -D %{_bad_opt}switchbin=disabled \ + -D %{_bad_opt}transcode=disabled \ + -D %{_bad_opt}tests=disabled \ + -D %{_bad_opt}uvch264=disabled \ + -D %{_bad_opt}videofilters=disabled \ + -D %{_bad_opt}videosignal=disabled \ + -D %{_bad_opt}vmnc=disabled \ + %if %{with wayland} + -D %{_bad_opt}wayland=enabled \ + %endif + -D %{_bad_opt}y4m=disabled \ + %if "%{tizen_profile_name}" == "tv" + -D %{_bad_opt}tv-profile=true \ + -D %{_bad_opt}autoconvert=disabled \ + -D %{_bad_opt}camerabin2=disabled \ + -D %{_bad_opt}dash=disabled \ + -D %{_bad_opt}hls=disabled \ + -D %{_bad_opt}id3tag=disabled \ + -D %{_bad_opt}jpegformat=disabled \ + -D %{_bad_opt}mpegdemux=disabled \ + -D %{_bad_opt}rtp=disabled \ + -D %{_bad_opt}smoothstreaming=disabled \ + %else + %if 0%{?enable_gl:1} + -D %{_bad_opt}gl=enabled \ + %endif # gl + %endif # tv +%endif # plugin +%if "%{plugin}" == "all" || "%{plugin}" == "ugly" + -D %{_ugly_opt}a52dec=disabled \ + -D %{_ugly_opt}cdio=disabled \ + -D %{_ugly_opt}doc=disabled \ + -D %{_ugly_opt}dvdlpcmdec=disabled \ + -D %{_ugly_opt}dvdread=disabled \ + -D %{_ugly_opt}dvdsub=disabled \ + -D %{_ugly_opt}mpeg2dec=disabled \ + -D %{_ugly_opt}nls=disabled \ + -D %{_ugly_opt}realmedia=disabled \ + -D %{_ugly_opt}sidplay=disabled \ + -D %{_ugly_opt}x264=disabled \ + -D %{_ugly_opt}xingmux=disabled \ + %if "%{tizen_profile_name}" == "tv" + -D %{_ugly_opt}tv-profile=true \ + -D %{_ugly_opt}amrnb=disabled \ + -D %{_ugly_opt}asfdemux=disabled \ + %endif # tv +%endif # plugin +%if "%{plugin}" == "all" || "%{plugin}" == "omx" + %if "%{target}" == "rpi" + -D %{_omx_opt}target=rpi \ + -D %{_omx_opt}header_path=/opt/vc/include/interface/vmcs_host/khronos/IL \ + %else + %ifarch aarch64 + -D %{_omx_opt}target=exynos64 \ + %else + -D %{_omx_opt}target=exynos \ + -D %{_omx_opt}vp9=true \ + %endif # arch + %endif # target +%endif # plugin +%if "%{plugin}" == "all" || "%{plugin}" == "libav" + %if "%{tizen_profile_name}" == "tv" + -D %{_libav_opt}tv-profile=true \ + %endif # tv +%endif # plugin +%if "%{plugin}" == "all" || "%{plugin}" == "es" + -D %{_es_opt}doc=disabled \ + -D %{_es_opt}examples=disabled \ + -D %{_es_opt}tests=disabled \ + -D %{_es_opt}bash-completion=disabled \ + -D %{_es_opt}validate=disabled \ +%endif + build + +ninja -C build all %{?_smp_mflags} + +%if "%{plugin}" != "all" +popd +%endif + +####################################################### +## Install +####################################################### %install -%make_install -mkdir -p %{buildroot}%{_datadir}/gstreamer-%{gst_branch}/presets -mkdir -p %{buildroot}%{_docdir}/%{name} -%find_lang %{name}-%{gst_branch} -mv %{name}-%{gst_branch}.lang %{name}.lang -rm -rf %{buildroot}%{_datadir}/gtk-doc -rm -rf %{buildroot}%{_docdir}/%{name}/manual -rm -rf %{buildroot}%{_docdir}/%{name}/pwg -rm -rf %{buildroot}%{_libdir}/girepository-1.0/*.typelib +rm -rf %{buildroot} +export DESTDIR=%{buildroot} +ninja -C %{_source_path}/build install mkdir -p %{buildroot}%{_datadir}/gstreamer-%{gst_branch}/presets -%fdupes %{buildroot} +rm -rf %{buildroot}%{_datadir}/gstreamer-%{gst_branch}/encoding-profiles +rm -rf %{buildroot}%{_datadir}/locale -%post -p /sbin/ldconfig +%clean +rm -rf $RPM_BUILD_ROOT +%post -p /sbin/ldconfig %postun -p /sbin/ldconfig -%files -%manifest %{name}.manifest -%defattr(-, root, root) -%license COPYING +####################################################### +## Packaging rpms +####################################################### + +###################### gstreamer ###################### + +%if "%{plugin}" == "all" || "%{plugin}" == "core" +%files -n gstreamer +%manifest gstreamer.manifest +%defattr(-, root, root) +%license subprojects/gstreamer/COPYING %dir %{_datadir}/gstreamer-%{gst_branch} %dir %{_datadir}/gstreamer-%{gst_branch}/presets -%dir %{_libdir}/gstreamer-%{gst_branch} -%{_libdir}/gstreamer-%{gst_branch}/*.so +%dir %{_lib_gstreamer_dir} +%{_lib_gstreamer_dir}/libgstcoreelements.so +%{_lib_gstreamer_dir}/libgstcoretracers.so %dir %{_libexecdir}/gstreamer-%{gst_branch} +%{_libexecdir}/gstreamer-%{gst_branch}/gst-hotdoc-plugins-scanner %{_libexecdir}/gstreamer-%{gst_branch}/gst-plugin-scanner %{_libexecdir}/gstreamer-%{gst_branch}/gst-ptp-helper -%{_libdir}/*.so.* -#%{_libdir}/girepository-1.0/Gst-1.0.typelib -#%{_libdir}/girepository-1.0/GstBase-1.0.typelib -#%{_libdir}/girepository-1.0/GstCheck-1.0.typelib -#%{_libdir}/girepository-1.0/GstController-1.0.typelib -#%{_libdir}/girepository-1.0/GstNet-1.0.typelib +%exclude %{_libexecdir}/gstreamer-%{gst_branch}/gst-plugins-doc-cache-generator +%{_libdir}/libgstbase*.so.* +%{_libdir}/libgstcontroller*.so.* +%{_libdir}/libgstnet*.so.* +%{_libdir}/libgstreamer*.so.* +%{_lib_girepository}/Gst-1.0.typelib +%{_lib_girepository}/GstBase-1.0.typelib +%{_lib_girepository}/GstController-1.0.typelib +%{_lib_girepository}/GstNet-1.0.typelib %{_datadir}/gdb/auto-load/usr/%{_lib}/libgstreamer*-gdb.py -%{_datadir}/gstreamer-1.0/gdb/glib_gobject_helper.py -%{_datadir}/gstreamer-1.0/gdb/gst_gdb.py +%{_datadir}/gstreamer-%{gst_branch}/gdb/glib_gobject_helper.py +%{_datadir}/gstreamer-%{gst_branch}/gdb/gst_gdb.py -%files utils -%manifest %{name}.manifest +%files -n gstreamer-utils +%manifest gstreamer.manifest %defattr(-, root, root) -%license COPYING -%{_bindir}/*-%{gst_branch} -%doc %{_mandir}/man?/*-%{gst_branch}.* +%license subprojects/gstreamer/COPYING +%{_bindir}/gst-inspect-1.0 +%{_bindir}/gst-launch-1.0 +%{_bindir}/gst-stats-1.0 +%{_bindir}/gst-typefind-1.0 +%exclude %doc %{_mandir}/man?/*-%{gst_branch}.* -%files devel -%manifest %{name}.manifest +%files -n gstreamer-devel +%manifest gstreamer.manifest %defattr(-, root, root) -%{_datadir}/aclocal/*.m4 -%{_includedir}/* -%{_libdir}/*.so -%{_libdir}/pkgconfig/*.pc -%{_datadir}/gir-1.0/*.gir +%{_datadir}/aclocal/gst-element-check-1.0.m4 +%{_includedir}/gstreamer-%{gst_branch}/gst/*.h +%{_includedir}/gstreamer-%{gst_branch}/gst/base/* +%{_includedir}/gstreamer-%{gst_branch}/gst/controller/* +%{_includedir}/gstreamer-%{gst_branch}/gst/net/* +%{_libdir}/libgstbase*.so +%{_libdir}/libgstcontroller*.so +%{_libdir}/libgstnet*.so +%{_libdir}/libgstreamer*.so +%{_libdir}/pkgconfig/gstreamer-1.0.pc +%{_libdir}/pkgconfig/gstreamer-base-1.0.pc +%{_libdir}/pkgconfig/gstreamer-controller-1.0.pc +%{_libdir}/pkgconfig/gstreamer-net-1.0.pc +%{_datadir}/gir-%{gst_branch}/Gst-1.0.gir +%{_datadir}/gir-%{gst_branch}/GstBase-1.0.gir +%{_datadir}/gir-%{gst_branch}/GstController-1.0.gir +%{_datadir}/gir-%{gst_branch}/GstNet-1.0.gir %changelog + +%endif + +###################### gst-plugins-base ###################### + +%if "%{plugin}" == "all" || "%{plugin}" == "base" + +%files -n gst-plugins-base +%manifest gst-plugins-base.manifest +%defattr(-, root, root) +%license subprojects/gst-plugins-base/COPYING +%{_lib_gstreamer_dir}/libgstalsa.so +%{_lib_gstreamer_dir}/libgstapp.so +%{_lib_gstreamer_dir}/libgstaudioconvert.so +%{_lib_gstreamer_dir}/libgstaudiorate.so +%{_lib_gstreamer_dir}/libgstaudioresample.so +%{_lib_gstreamer_dir}/libgstaudiotestsrc.so +%{_lib_gstreamer_dir}/libgstgio.so +%{_lib_gstreamer_dir}/libgstogg.so +%{_lib_gstreamer_dir}/libgstplayback.so +%{_lib_gstreamer_dir}/libgstoverlaycomposition.so +%{_lib_gstreamer_dir}/libgstsubparse.so +%{_lib_gstreamer_dir}/libgsttcp.so +%{_lib_gstreamer_dir}/libgsttheora.so +%{_lib_gstreamer_dir}/libgsttypefindfunctions.so +%{_lib_gstreamer_dir}/libgstvideoconvert.so +%{_lib_gstreamer_dir}/libgstvideorate.so +%{_lib_gstreamer_dir}/libgstvideoscale.so +%{_lib_gstreamer_dir}/libgstvideotestsrc.so +%{_lib_gstreamer_dir}/libgstvolume.so +%{_lib_gstreamer_dir}/libgstvorbis.so +%{_lib_gstreamer_dir}/libgstpbtypes.so +%{_lib_gstreamer_dir}/libgstrawparse.so +%{_lib_gstreamer_dir}/libgstopus.so +%{_lib_gstreamer_dir}/libgstencoding.so +%{_lib_gstreamer_dir}/libgstaudiomixer.so +%{_lib_gstreamer_dir}/libgstcompositor.so +%if %{with x} +%{_lib_gstreamer_dir}/libgstximagesink.so +%{_lib_gstreamer_dir}/libgstxvimagesink.so +%endif +%{_libdir}/libgstapp*.so.* +%{_libdir}/libgstaudio*.so.* +%{_libdir}/libgstallocators*.so.* +%{_libdir}/libgstfft*.so.* +%{_libdir}/libgstpbutils*.so.* +%{_libdir}/libgstriff*.so.* +%{_libdir}/libgstrtp*.so.* +%{_libdir}/libgstrtsp*.so.* +%{_libdir}/libgstsdp*.so.* +%{_libdir}/libgsttag*.so.* +%{_libdir}/libgstvideo*.so.* +%{_lib_girepository}/GstAllocators-1.0.typelib +%{_lib_girepository}/GstApp-1.0.typelib +%{_lib_girepository}/GstAudio-1.0.typelib +%{_lib_girepository}/GstPbutils-1.0.typelib +%{_lib_girepository}/GstRtp-1.0.typelib +%{_lib_girepository}/GstRtsp-1.0.typelib +%{_lib_girepository}/GstSdp-1.0.typelib +%{_lib_girepository}/GstTag-1.0.typelib +%{_lib_girepository}/GstVideo-1.0.typelib +%dir %{_datadir}/gst-plugins-base/ +%dir %{_datadir}/gst-plugins-base/%{gst_branch}/ +%{_datadir}/gst-plugins-base/%{gst_branch}/license-translations.dict + +%files -n gst-plugins-base-extension-adder +%{_lib_gstreamer_dir}/libgstadder.so +%license subprojects/gst-plugins-base/COPYING + +%files -n gst-plugins-base-devel +%manifest gst-plugins-base.manifest +%defattr(-, root, root) +%{_includedir}/gstreamer-%{gst_branch}/gst/allocators/* +%{_includedir}/gstreamer-%{gst_branch}/gst/app/* +%{_includedir}/gstreamer-%{gst_branch}/gst/audio/* +%{_includedir}/gstreamer-%{gst_branch}/gst/fft/* +%{_includedir}/gstreamer-%{gst_branch}/gst/pbutils/* +%{_includedir}/gstreamer-%{gst_branch}/gst/riff/* +%{_includedir}/gstreamer-%{gst_branch}/gst/rtp/* +%{_includedir}/gstreamer-%{gst_branch}/gst/rtsp/* +%{_includedir}/gstreamer-%{gst_branch}/gst/sdp/* +%{_includedir}/gstreamer-%{gst_branch}/gst/tag/* +%{_includedir}/gstreamer-%{gst_branch}/gst/video/* +%if "%{plugin}" == "all" +%exclude %{_includedir}/gstreamer-%{gst_branch}/gst/audio/audio-bad-prelude.h +%exclude %{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstnonstreamaudiodecoder.h +%exclude %{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstplanaraudioadapter.h +%endif +%{_libdir}/libgstallocators*.so +%{_libdir}/libgstapp*.so +%{_libdir}/libgstaudio*.so +%{_libdir}/libgstfft*.so +%{_libdir}/libgstpbutils*.so +%{_libdir}/libgstriff*.so +%{_libdir}/libgstrtp*.so +%{_libdir}/libgstrtsp*.so +%{_libdir}/libgstsdp*.so +%{_libdir}/libgsttag*.so +%{_libdir}/libgstvideo*.so +%{_libdir}/pkgconfig/gstreamer-allocators*.pc +%{_libdir}/pkgconfig/gstreamer-app*.pc +%{_libdir}/pkgconfig/gstreamer-audio*.pc +%{_libdir}/pkgconfig/gstreamer-fft*.pc +%{_libdir}/pkgconfig/gstreamer-pbutils*.pc +%{_libdir}/pkgconfig/gstreamer-plugins-base*.pc +%{_libdir}/pkgconfig/gstreamer-riff*.pc +%{_libdir}/pkgconfig/gstreamer-rtp*.pc +%{_libdir}/pkgconfig/gstreamer-rtsp*.pc +%{_libdir}/pkgconfig/gstreamer-sdp*.pc +%{_libdir}/pkgconfig/gstreamer-tag*.pc +%{_libdir}/pkgconfig/gstreamer-video*.pc +%{_datadir}/gir-%{gst_branch}/GstAllocators*.gir +%{_datadir}/gir-%{gst_branch}/GstApp*.gir +%{_datadir}/gir-%{gst_branch}/GstAudio*.gir +%{_datadir}/gir-%{gst_branch}/GstPbutils*.gir +%{_datadir}/gir-%{gst_branch}/GstRtp*.gir +%{_datadir}/gir-%{gst_branch}/GstRtsp*.gir +%{_datadir}/gir-%{gst_branch}/GstSdp*.gir +%{_datadir}/gir-%{gst_branch}/GstTag*.gir +%{_datadir}/gir-%{gst_branch}/GstVideo*.gir + +%endif + +###################### gst-plugins-good ###################### + +%if "%{plugin}" == "all" || "%{plugin}" == "good" + +%files -n gst-plugins-good +%manifest gst-plugins-good.manifest +%defattr(-, root, root) +%license subprojects/gst-plugins-good/COPYING +%{_lib_gstreamer_dir}/libgstalaw.so +%{_lib_gstreamer_dir}/libgstapetag.so +%{_lib_gstreamer_dir}/libgstaudiofx.so +%{_lib_gstreamer_dir}/libgstaudioparsers.so +%{_lib_gstreamer_dir}/libgstautodetect.so +%{_lib_gstreamer_dir}/libgstavi.so +%{_lib_gstreamer_dir}/libgstdebug.so +%{_lib_gstreamer_dir}/libgstdeinterlace.so +%{_lib_gstreamer_dir}/libgsteffectv.so +%{_lib_gstreamer_dir}/libgsticydemux.so +%{_lib_gstreamer_dir}/libgstid3demux.so +%{_lib_gstreamer_dir}/libgstinterleave.so +%{_lib_gstreamer_dir}/libgstisomp4.so +%{_lib_gstreamer_dir}/libgstjpeg.so +%{_lib_gstreamer_dir}/libgstmatroska.so +%{_lib_gstreamer_dir}/libgstmulaw.so +%{_lib_gstreamer_dir}/libgstmultifile.so +%{_lib_gstreamer_dir}/libgstnavigationtest.so +%{_lib_gstreamer_dir}/libgstpulseaudio.so +%{_lib_gstreamer_dir}/libgstreplaygain.so +%{_lib_gstreamer_dir}/libgstrtp.so +%{_lib_gstreamer_dir}/libgstrtpmanager.so +%{_lib_gstreamer_dir}/libgstrtsp.so +%{_lib_gstreamer_dir}/libgstsmpte.so +%{_lib_gstreamer_dir}/libgstudp.so +%{_lib_gstreamer_dir}/libgstvideo4linux2.so +%{_lib_gstreamer_dir}/libgstvideocrop.so +%{_lib_gstreamer_dir}/libgstvideofilter.so +%{_lib_gstreamer_dir}/libgstwavenc.so +%{_lib_gstreamer_dir}/libgstwavparse.so +%if %{with x} +%{_lib_gstreamer_dir}/libgstximagesrc.so +%endif +%{_lib_gstreamer_dir}/libgstcairo.so +%{_lib_gstreamer_dir}/libgstsoup.so +%{_lib_gstreamer_dir}/libgstvpx.so +%{_lib_gstreamer_dir}/libgstimagefreeze.so +%if "%{tizen_profile_name}" != "tv" +%{_lib_gstreamer_dir}/libgstflv.so +%{_lib_gstreamer_dir}/libgstvideobox.so +%{_lib_gstreamer_dir}/libgstvideomixer.so +%{_datadir}/gstreamer-%{gst_branch}/presets/GstQTMux.prs +%endif +%{_datadir}/gstreamer-%{gst_branch}/presets/GstVP8Enc.prs + +%files -n gst-plugins-good-extra +%manifest gst-plugins-good.manifest +%defattr(-, root, root) +%license subprojects/gst-plugins-good/COPYING +%if 0%{?ENABLE_AALIB} +%{_lib_gstreamer_dir}/libgstaasink.so +%endif +%{_lib_gstreamer_dir}/libgstpng.so +%{_lib_gstreamer_dir}/libgstimagefreeze.so + +%endif + +###################### gst-plugins-bad ###################### + +%if "%{plugin}" == "all" || "%{plugin}" == "bad" + +%files -n gst-plugins-bad +%manifest gst-plugins-bad.manifest +%defattr(-, root, root) +%license subprojects/gst-plugins-bad/COPYING +%if "%{tizen_profile_name}" != "tv" +%{_lib_gstreamer_dir}/libgstautoconvert.so +%{_lib_gstreamer_dir}/libgstcamerabin.so +%{_lib_gstreamer_dir}/libgstid3tag.so +%{_lib_gstreamer_dir}/libgstjpegformat.so +%{_lib_gstreamer_dir}/libgstmpegpsdemux.so +%{_lib_gstreamer_dir}/libgstsmoothstreaming.so +%{_lib_gstreamer_dir}/libgstdash.so +%if 0%{?enable_gl:1} +%{_lib_gstreamer_dir}/libgstopengl.so +%endif +%{_lib_gstreamer_dir}/libgstsoundtouch.so +%{_libdir}/libgstadaptivedemux-%{gst_branch}.so.0* +%{_libdir}/libgstbasecamerabinsrc-%{gst_branch}.so.0* +%{_libdir}/libgstinsertbin-%{gst_branch}.so.0* +%{_libdir}/libgstphotography-%{gst_branch}.so.0* +%{_libdir}/libgsturidownloader-%{gst_branch}.so.0* +%if 0%{?enable_gl:1} +%{_libdir}/libgstgl-%{gst_branch}.so.0* +%endif +%{_libdir}/libgstisoff-%{gst_branch}.so.0* +%endif +%{_lib_gstreamer_dir}/libgstaes.so +%{_lib_gstreamer_dir}/libgstgdp.so +%{_lib_gstreamer_dir}/libgstdebugutilsbad.so +%{_lib_gstreamer_dir}/libgstmpegtsdemux.so +%{_lib_gstreamer_dir}/libgstmpegtsmux.so +%{_lib_gstreamer_dir}/libgstsdpelem.so +%{_lib_gstreamer_dir}/libgstshm.so +%{_lib_gstreamer_dir}/libgstvideoparsersbad.so +%{_lib_gstreamer_dir}/libgstmidi.so +%{_lib_gstreamer_dir}/libgstopenal.so +%{_lib_gstreamer_dir}/libgsthls.so +%{_lib_gstreamer_dir}/libgstnetsim.so +%{_lib_gstreamer_dir}/libgsttimecode.so +%{_lib_gstreamer_dir}/libgstvideoframe_audiolevel.so +%{_lib_gstreamer_dir}/libgstaudiomixmatrix.so +%{_lib_gstreamer_dir}/libgstaudiobuffersplit.so +%{_lib_gstreamer_dir}/libgstaudiolatency.so +%{_lib_gstreamer_dir}/libgstipcpipeline.so +%{_lib_gstreamer_dir}/libgstproxy.so +%{_lib_gstreamer_dir}/libgstwebrtc.so +%{_lib_gstreamer_dir}/libgstdtls.so +%{_lib_gstreamer_dir}/libgstrtpmanagerbad.so +%{_lib_gstreamer_dir}/libgstsctp.so +%{_lib_gstreamer_dir}/libgstsrtp.so +%{_lib_gstreamer_dir}/libgstopusparse.so +%{_lib_gstreamer_dir}/libgstgaudieffects.so +%{_lib_gstreamer_dir}/libgstcoloreffects.so +%if %{with wayland} +%{_lib_gstreamer_dir}/libgstwaylandsink.so +%endif +%{_libdir}/libgstbadaudio-%{gst_branch}.so.0* +%{_libdir}/libgstcodecs-%{gst_branch}.so.0* +%{_libdir}/libgstcodecparsers-%{gst_branch}.so.0* +%{_libdir}/libgstmpegts-%{gst_branch}.so.0* +%{_libdir}/libgstplay-%{gst_branch}.so.0* +%{_libdir}/libgstplayer-%{gst_branch}.so.0* +%{_libdir}/libgstsctp-%{gst_branch}.so.0* +%{_libdir}/libgsttranscoder-%{gst_branch}.so.0* +%{_libdir}/libgstwebrtc-%{gst_branch}.so.0* +%if %{with wayland} +%{_libdir}/libgstwayland-%{gst_branch}.so.0* +%endif +%exclude %{_bindir}/gst-transcoder-1.0 +%{_lib_girepository}/GstBadAudio-1.0.typelib +%{_lib_girepository}/GstCodecs-1.0.typelib +%{_lib_girepository}/GstInsertBin-1.0.typelib +%{_lib_girepository}/GstMpegts-1.0.typelib +%{_lib_girepository}/GstPlay-1.0.typelib +%{_lib_girepository}/GstPlayer-1.0.typelib +%{_lib_girepository}/GstTranscoder-1.0.typelib +%{_lib_girepository}/GstWebRTC-1.0.typelib + +%files -n gst-plugins-bad-devel +%manifest gst-plugins-bad.manifest +%defattr(-, root, root) +%{_includedir}/gstreamer-%{gst_branch}/gst/audio/audio-bad-prelude.h +%{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstnonstreamaudiodecoder.h +%{_includedir}/gstreamer-%{gst_branch}/gst/audio/gstplanaraudioadapter.h +%{_includedir}/gstreamer-%{gst_branch}/gst/basecamerabinsrc/* +%{_includedir}/gstreamer-%{gst_branch}/gst/codecparsers/* +%{_includedir}/gstreamer-%{gst_branch}/gst/insertbin/* +%{_includedir}/gstreamer-%{gst_branch}/gst/interfaces/* +%{_includedir}/gstreamer-%{gst_branch}/gst/isoff/* +%{_includedir}/gstreamer-%{gst_branch}/gst/mpegts/* +%{_includedir}/gstreamer-%{gst_branch}/gst/play/* +%{_includedir}/gstreamer-%{gst_branch}/gst/player/* +%{_includedir}/gstreamer-%{gst_branch}/gst/sctp/* +%{_includedir}/gstreamer-%{gst_branch}/gst/transcoder/* +%{_includedir}/gstreamer-%{gst_branch}/gst/uridownloader/* +%if %{with wayland} +%{_includedir}/gstreamer-%{gst_branch}/gst/wayland/* +%endif +%{_includedir}/gstreamer-%{gst_branch}/gst/webrtc/* +%if "%{tizen_profile_name}" != "tv" +%if 0%{?enable_gl:1} +%{_lib_gstreamer_dir}/include/gst/gl/* +%endif +%endif +%{_libdir}/libgstadaptivedemux*.so +%{_libdir}/libgstbadaudio*.so +%{_libdir}/libgstbasecamerabinsrc*.so +%{_libdir}/libgstcodecparsers*.so +%{_libdir}/libgstcodecs*.so +%{_libdir}/libgstinsertbin*.so +%{_libdir}/libgstisoff*.so +%{_libdir}/libgstmpegts*.so +%{_libdir}/libgstphotography*.so +%{_libdir}/libgstplay*.so +%{_libdir}/libgstsctp*.so +%{_libdir}/libgsttranscoder*.so +%{_libdir}/libgsturidownloader*.so +%if %{with wayland} +%{_libdir}/libgstwayland*.so +%endif +%{_libdir}/libgstwebrtc*.so +%{_libdir}/pkgconfig/gstreamer-bad-audio-1.0.pc +%{_libdir}/pkgconfig/gstreamer-codecparsers-1.0.pc +%if "%{tizen_profile_name}" != "tv" +%if 0%{?enable_gl:1} +%{_libdir}/pkgconfig/gstreamer-gl-*.pc +%endif +%endif +%{_libdir}/pkgconfig/gstreamer-insertbin-1.0.pc +%{_libdir}/pkgconfig/gstreamer-mpegts-1.0.pc +%{_libdir}/pkgconfig/gstreamer-photography-1.0.pc +%{_libdir}/pkgconfig/gstreamer-play-1.0.pc +%{_libdir}/pkgconfig/gstreamer-player-1.0.pc +%{_libdir}/pkgconfig/gstreamer-plugins-bad-1.0.pc +%{_libdir}/pkgconfig/gstreamer-sctp-1.0.pc +%{_libdir}/pkgconfig/gstreamer-transcoder-1.0.pc +%if %{with wayland} +%{_libdir}/pkgconfig/gstreamer-wayland-1.0.pc +%endif +%{_libdir}/pkgconfig/gstreamer-webrtc-1.0.pc +%{_datadir}/gir-%{gst_branch}/GstBadAudio*.gir +%{_datadir}/gir-%{gst_branch}/GstCodecs*.gir +%{_datadir}/gir-%{gst_branch}/GstInsertBin*.gir +%{_datadir}/gir-%{gst_branch}/GstMpegts*.gir +%{_datadir}/gir-%{gst_branch}/GstPlay*.gir +%{_datadir}/gir-%{gst_branch}/GstPlayer*.gir +%{_datadir}/gir-%{gst_branch}/GstTranscoder*.gir +%{_datadir}/gir-%{gst_branch}/GstWebRTC*.gir + +%endif + +###################### gst-plugins-ugly ###################### + +%if "%{plugin}" == "all" || "%{plugin}" == "ugly" + +%files -n gst-plugins-ugly +%manifest gst-plugins-ugly.manifest +%defattr(-,root,root,-) +%license subprojects/gst-plugins-ugly/COPYING +%if "%{tizen_profile_name}" != "tv" +%{_lib_gstreamer_dir}/libgstasf.so +%{_lib_gstreamer_dir}/libgstamrnb.so +%exclude %{_datadir}/gstreamer-%{gst_branch}/presets/GstAmrnbEnc.prs +%endif +%{_lib_gstreamer_dir}/libgstamrwbdec.so + +%endif + +########################## gst-omx ########################### + +%if "%{plugin}" == "all" || "%{plugin}" == "omx" + +%files -n gst-omx +%manifest gst-omx.manifest +%defattr(-,root,root,-) +%license subprojects/gst-omx/COPYING +%{_libdir}/gstreamer-1.0/libgstomx.so + +%endif + +######################## gst-libav ########################### + +%if "%{plugin}" == "all" || "%{plugin}" == "libav" + +%files -n gst-libav +%manifest gst-libav.manifest +%defattr(-,root,root,-) +%license subprojects/gst-libav/COPYING +%{_libdir}/gstreamer-1.0/libgstlibav.so + +%endif + +%if 0 +###################### gst-rtsp-server ####################### + +%if "%{plugin}" == "all" || "%{plugin}" == "rs" + +%files -n gst-rtsp-server +%manifest gst-rtsp-server.manifest +%defattr(-,root,root,-) +%license subprojects/gst-rtsp-server/COPYING +%{_libdir}/libgstrtspserver*.so.* +%{_libdir}/gstreamer-1.0/libgstrtspclientsink.so + +%files -n gst-rtsp-server-devel +%defattr(-,root,root,-) +%{_libdir}/libgstrtspserver*.so +%{_includedir}/gstreamer-1.0/gst/rtsp-server/rtsp-*.h +%{_includedir}/gstreamer-1.0/gst/rtsp-server/gstwfd*.h +%{_libdir}/pkgconfig/libgstrtspserver* + +%endif + +%endif + +###################### gst-editing-services ####################### + +%if "%{plugin}" == "all" || "%{plugin}" == "es" + +%files -n gst-editing-services +%manifest gst-editing-services.manifest +%defattr(-,root,root,-) +%license subprojects/gst-editing-services/COPYING +%{_libdir}/libges*.so.* +%{_libdir}/gstreamer-1.0/libgstges.so +%{_libdir}/gstreamer-1.0/libgstnle.so +%{_libdir}/girepository-1.0/GES-1.0.typelib +%exclude %{_libdir}/gst-validate-launcher/python/launcher/apps/geslaunch.py +%exclude %{_datadir}/gstreamer-%{gst_branch}/validate/scenarios/ges-edit-clip-while-paused.scenario +%{_bindir}/ges*-%{gst_branch} + +%files -n gst-editing-services-devel +%{_libdir}/libges*.so +%{_includedir}/gstreamer-1.0/ges/* +%{_libdir}/pkgconfig/gst-editing-services-1.0.pc +%{_datadir}/gir-1.0/GES-1.0.gir + +%endif