spec: Add typelib
[platform/upstream/gstreamer.git] / packaging / gst-plugins-base.spec
1 %bcond_with x
2 %define gst_branch 1.0
3 %define _lib_gstreamer_dir %{_libdir}/gstreamer-%{gst_branch}
4 %define _libdebug_dir %{_libdir}/debug/usr/lib
5
6 Name:           gst-plugins-base
7 Version:        1.16.2
8 Release:        7
9 License:        LGPL-2.0+
10 Summary:        GStreamer Streaming-Media Framework Plug-Ins
11 Url:            http://gstreamer.freedesktop.org/
12 Group:          Multimedia/Framework
13 Source:         http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-%{version}.tar.xz
14 Source100:      common.tar.gz
15 BuildRequires:  gettext-tools
16 BuildRequires:  pkgconfig(glib-2.0) >= 2.32
17 BuildRequires:  pkgconfig(gstreamer-1.0)
18 BuildRequires:  orc >= 0.4.16
19 BuildRequires:  python
20 %if "%{tizen_profile_name}" != "tv"
21 BuildRequires:  update-desktop-files
22 %endif
23 BuildRequires:  pkgconfig(gobject-introspection-1.0) >= 1.31.1
24 BuildRequires:  pkgconfig(alsa) >= 0.9.1
25 BuildRequires:  pkgconfig(freetype2) >= 2.0.9
26 BuildRequires:  pkgconfig(libxml-2.0)
27 BuildRequires:  pkgconfig(ogg) >= 1.0
28 BuildRequires:  pkgconfig(theoradec) >= 1.1
29 BuildRequires:  pkgconfig(theoraenc) >= 1.1
30 BuildRequires:  pkgconfig(vorbis) >= 1.0
31 BuildRequires:  pkgconfig(vorbisenc) >= 1.0
32 BuildRequires:  pkgconfig(zlib)
33
34 BuildRequires:  pkgconfig(libdrm)
35 BuildRequires:  pkgconfig(libtbm)
36 BuildRequires:  pkgconfig(opus)
37 %if %{with x}
38 BuildRequires:  pkgconfig(ice)
39 BuildRequires:  pkgconfig(sm)
40 BuildRequires:  pkgconfig(xext)
41 BuildRequires:  pkgconfig(xv)
42 BuildRequires:  pkgconfig(xfixes)
43 BuildRequires:  pkgconfig(dri2proto)
44 BuildRequires:  pkgconfig(libdri2)
45 %endif
46
47 Requires:       gstreamer >= 1.0.0
48 Requires:       opus
49 Supplements:    gstreamer
50 Provides:       %{name}-profile_tv = %{version}-%{release}
51 Provides:       %{name}-profile_common = %{version}-%{release}
52 Provides:       %{name}-profile_wearable = %{version}-%{release}
53 Provides:       %{name}-profile_ivi = %{version}-%{release}
54
55 %description
56 GStreamer is a streaming media framework based on graphs of filters
57 that operate on media data. Applications using this library can do
58 anything media-related, from real-time sound processing to playing
59 videos. Its plug-in-based architecture means that new data types or
60 processing capabilities can be added simply by installing new plug-ins.
61
62 %package extension-adder
63 Summary:        libgstadder.so for gst-plugins-base
64 Requires:   %{name} = %{version}-%{release}
65 Provides:   %{name}-profile_mobile = %{version}-%{release}
66 %description extension-adder
67 Libgstadder.so for gst-plugin-base. Supplicant for gst-plugin-base.
68 This is for Tizen mobile profile.
69
70 %package devel
71 Summary:        Include files and Libraries
72 Requires:       %{name} = %{version}
73
74 %description devel
75 This package contains all necessary include files and libraries needed
76 to compile and link applications that use gstreamer-plugins-base.
77
78 %prep
79 %setup -q -n gst-plugins-base-%{version}
80 %setup -q -T -D -a 100
81
82 %build
83 # FIXME: GTKDOC_CFLAGS, GST_OBJ_CFLAGS:
84 # Silently ignored compilation of uninstalled gtk-doc scanners without RPM_OPT_FLAGS.
85 export V=1
86 NOCONFIGURE=1 ./autogen.sh
87 export CFLAGS="%{optflags} -fno-strict-aliasing\
88  -DTIZEN_FEATURE_WAYLAND_ENHANCEMENT\
89  -DTIZEN_FEATURE_TYPEFIND_ENHANCEMENT\
90  -DTIZEN_FEATURE_AUDIODECODER_MODIFICATION\
91  -DTIZEN_FEATURE_DISABLE_MIME_TYPES\
92  -DTIZEN_FEATURE_VIDEO_MODIFICATION\
93  -DTIZEN_FEATURE_SUBPARSE_MODIFICATION\
94  -DTIZEN_FEATURE_VOLUME_MODIFICATION\
95  -DTIZEN_FEATURE_FORCE_SW_DECODER\
96 %if "%{tizen_profile_name}" == "tv"
97  -DTIZEN_PROFILE_TV\
98  -DTIZEN_FEATURE_TRUSTZONE\
99 %else
100  -DTIZEN_FEATURE_RESOURCE_MANAGER\
101 %endif
102  -fstack-protector-strong\
103  -Wl,-z,relro\
104  -D_FORTIFY_SOURCE=2\
105  "
106 %configure\
107         --disable-static\
108         --enable-experimental\
109         --disable-gtk-doc\
110         --enable-introspection\
111         --disable-encoding\
112         --disable-examples\
113         --disable-audiomixer\
114         --disable-compositor\
115 %if "%{tizen_profile_name}" == "tv"
116         --enable-tv\
117 %endif
118         --enable-tbm
119 make %{?_smp_mflags}
120
121 %install
122 rm -rf %{buildroot}
123 %make_install
124 %find_lang %{name}-%{gst_branch}
125 mv %{name}-%{gst_branch}.lang %{name}.lang
126
127 %post -p /sbin/ldconfig
128
129 %postun -p /sbin/ldconfig
130
131 %lang_package
132
133 %files
134 %manifest %{name}.manifest
135 %defattr(-, root, root)
136 %license COPYING
137
138 %{_lib_gstreamer_dir}/libgstalsa.so
139 %{_lib_gstreamer_dir}/libgstapp.so
140 %{_lib_gstreamer_dir}/libgstaudioconvert.so
141 %{_lib_gstreamer_dir}/libgstaudiorate.so
142 %{_lib_gstreamer_dir}/libgstaudioresample.so
143 %{_lib_gstreamer_dir}/libgstaudiotestsrc.so
144 %{_lib_gstreamer_dir}/libgstgio.so
145 %{_lib_gstreamer_dir}/libgstogg.so
146 %{_lib_gstreamer_dir}/libgstplayback.so
147 %{_lib_gstreamer_dir}/libgstoverlaycomposition.so
148 %{_lib_gstreamer_dir}/libgstsubparse.so
149 %{_lib_gstreamer_dir}/libgsttcp.so
150 %{_lib_gstreamer_dir}/libgsttheora.so
151 %{_lib_gstreamer_dir}/libgsttypefindfunctions.so
152 %{_lib_gstreamer_dir}/libgstvideoconvert.so
153 %{_lib_gstreamer_dir}/libgstvideorate.so
154 %{_lib_gstreamer_dir}/libgstvideoscale.so
155 %{_lib_gstreamer_dir}/libgstvideotestsrc.so
156 %{_lib_gstreamer_dir}/libgstvolume.so
157 %{_lib_gstreamer_dir}/libgstvorbis.so
158 %{_lib_gstreamer_dir}/libgstpbtypes.so
159 %{_lib_gstreamer_dir}/libgstrawparse.so
160 %{_lib_gstreamer_dir}/libgstopus.so
161
162 %if %{with x}
163 %{_lib_gstreamer_dir}/libgstximagesink.so
164 %{_lib_gstreamer_dir}/libgstxvimagesink.so
165 %endif
166
167 %{_libdir}/libgstapp*.so.*
168 %{_libdir}/libgstaudio*.so.*
169 %{_libdir}/libgstallocators*.so.*
170 %{_libdir}/libgstfft*.so.*
171 %{_libdir}/libgstpbutils*.so.*
172 %{_libdir}/libgstriff*.so.*
173 %{_libdir}/libgstrtp*.so.*
174 %{_libdir}/libgstrtsp*.so.*
175 %{_libdir}/libgstsdp*.so.*
176 %{_libdir}/libgsttag*.so.*
177 %{_libdir}/libgstvideo*.so.*
178 %{_libdir}/girepository-1.0/GstAllocators-1.0.typelib
179 %{_libdir}/girepository-1.0/GstApp-1.0.typelib
180 %{_libdir}/girepository-1.0/GstAudio-1.0.typelib
181 %{_libdir}/girepository-1.0/GstPbutils-1.0.typelib
182 %{_libdir}/girepository-1.0/GstRtp-1.0.typelib
183 %{_libdir}/girepository-1.0/GstRtsp-1.0.typelib
184 %{_libdir}/girepository-1.0/GstSdp-1.0.typelib
185 %{_libdir}/girepository-1.0/GstTag-1.0.typelib
186 %{_libdir}/girepository-1.0/GstVideo-1.0.typelib
187 %dir %{_datadir}/gst-plugins-base/
188 %dir %{_datadir}/gst-plugins-base/%{gst_branch}/
189 %{_datadir}/gst-plugins-base/%{gst_branch}/license-translations.dict
190
191 %files extension-adder
192 %{_lib_gstreamer_dir}/libgstadder.so
193 %license COPYING
194
195 %files devel
196 %manifest %{name}.manifest
197 %defattr(-, root, root)
198 %{_includedir}/gstreamer-%{gst_branch}/*
199 %{_libdir}/*.so
200 %{_libdir}/pkgconfig/*.pc
201 %{_datadir}/gir-1.0/*.gir