6b18f1480121ca5275c16d9cee85f457dc6bb68b
[platform/upstream/gstreamer.git] / packaging / gstreamer.spec
1 %define gst_branch 1.0
2
3 Name:           gstreamer
4 Version:        1.16.2
5 Release:        0
6 Summary:        Streaming-Media Framework Runtime
7 License:        LGPL-2.0+
8 Group:          Multimedia/Framework
9 Url:            http://gstreamer.freedesktop.org/
10 Source0:        http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-%{version}.tar.xz
11 Source100:      common.tar.gz
12 BuildRequires:  bison
13 BuildRequires:  gettext-tools
14 BuildRequires:  check-devel
15 BuildRequires:  fdupes
16 BuildRequires:  flex
17 BuildRequires:  pkgconfig(glib-2.0) >= 2.32.0
18 BuildRequires:  libtool
19 BuildRequires:  pkgconfig(libxml-2.0)
20 BuildRequires:  pkgconfig(gobject-introspection-1.0) >= 1.31.1
21 BuildRequires:  pkgconfig(dlog)
22
23 %description
24 GStreamer is a streaming-media framework, based on graphs of filters
25 which operate on media data. Applications using this library can do
26 anything from real-time sound processing to playing videos, and just
27 about anything else media-related.  Its plug-in-based architecture
28 means that new data types or processing capabilities can be added by
29 installing new plug-ins.
30
31 %package utils
32 Summary:        Streaming-Media Framework Runtime
33 Group:          Multimedia/Framework
34 Provides:       gstreamer:%{_bindir}/gst-launch-%{gst_branch} = %{version}
35 # Symbol for unversioned wrappers:
36 Provides:       gstreamer-utils_versioned = %{version}
37
38 %description utils
39 GStreamer is a streaming-media framework, based on graphs of filters
40 which operate on media data. Applications using this library can do
41 anything from real-time sound processing to playing videos, and just
42 about anything else media-related.  Its plug-in-based architecture
43 means that new data types or processing capabilities can be added by
44 installing new plug-ins.
45
46 %package devel
47 Summary:        Include Files and Libraries mandatory for Development
48 Group:          Development/Libraries
49 # gstreamer-utils is required for the gstreamer-provides rpm magic.
50 Requires:       gstreamer-utils = %{version}
51 Requires:       %{name} = %{version}
52
53 %description devel
54 This package contains all necessary include files and libraries needed
55 to develop applications that require these.
56
57 %lang_package
58
59 %prep
60 %setup -q -n gstreamer-%{version}
61 %setup -q -T -D -a 100
62
63 %build
64 # FIXME: GTKDOC_CFLAGS, GST_OBJ_CFLAGS:
65 # Silently ignored compilation of uninstalled gtk-doc scanners without RPM_OPT_FLAGS.
66 export V=1
67 NOCONFIGURE=1 ./autogen.sh
68 export CFLAGS="%{optflags} \
69         -DTIZEN_FEATURE_QUEUE2_MODIFICATION\
70         -DTIZEN_FEATURE_FILESINK_MODIFICATION\
71         -DTIZEN_FEATURE_MQ_MODIFICATION\
72         -DTIZEN_FEATURE_MQ_MODIFICATION_EXTRA_SIZE_TIME\
73         -DTIZEN_FEATURE_BASEPARSE_MODIFICATION\
74         -DTIZEN_FEATURE_QUEUE_MODIFICATION\
75         -DTIZEN_FEATURE_FAKESINK_MODIFICATION\
76         -DTIZEN_FEATURE_INPUT_SELECTOR_MODIFICATION\
77 %if "%{tizen_profile_name}" == "tv"
78         -DTIZEN_PROFILE_TV\
79         -DTIZEN_FEATURE_TRUSTZONE\
80 %endif
81         -DTIZEN_FEATURE_RTSPSRC_MODIFICATION\
82         -fno-strict-aliasing\
83         -fstack-protector-strong\
84         -Wl,-z,relro\
85         -D_FORTIFY_SOURCE=2"
86
87 %configure\
88 %if %{with introspection}
89         --enable-introspection\
90 %endif
91         --disable-static\
92         --disable-docbook\
93         --disable-gtk-doc\
94         --enable-dlog\
95 %if "%{tizen_profile_name}" == "tv"
96         --enable-tv-profile\
97 %endif
98         --disable-examples\
99         --disable-tests\
100         --with-ptp-helper-permissions=none
101
102 make %{?_smp_mflags}
103
104 %install
105 %make_install
106 mkdir -p %{buildroot}%{_datadir}/gstreamer-%{gst_branch}/presets
107 mkdir -p %{buildroot}%{_docdir}/%{name}
108 %find_lang %{name}-%{gst_branch}
109 mv %{name}-%{gst_branch}.lang %{name}.lang
110 rm -rf %{buildroot}%{_datadir}/gtk-doc
111 rm -rf %{buildroot}%{_docdir}/%{name}/manual
112 rm -rf %{buildroot}%{_docdir}/%{name}/pwg
113 rm -rf %{buildroot}%{_libdir}/girepository-1.0/*.typelib
114 mkdir -p %{buildroot}%{_datadir}/gstreamer-%{gst_branch}/presets
115 %fdupes %{buildroot}
116
117 %post -p /sbin/ldconfig
118
119 %postun -p /sbin/ldconfig
120
121 %files
122 %manifest %{name}.manifest
123 %defattr(-, root, root)
124 %license COPYING
125
126 %dir %{_datadir}/gstreamer-%{gst_branch}
127 %dir %{_datadir}/gstreamer-%{gst_branch}/presets
128 %dir %{_libdir}/gstreamer-%{gst_branch}
129 %{_libdir}/gstreamer-%{gst_branch}/*.so
130 %dir %{_libexecdir}/gstreamer-%{gst_branch}
131 %{_libexecdir}/gstreamer-%{gst_branch}/gst-plugin-scanner
132 %{_libexecdir}/gstreamer-%{gst_branch}/gst-ptp-helper
133 %{_libdir}/*.so.*
134 #%{_libdir}/girepository-1.0/Gst-1.0.typelib
135 #%{_libdir}/girepository-1.0/GstBase-1.0.typelib
136 #%{_libdir}/girepository-1.0/GstCheck-1.0.typelib
137 #%{_libdir}/girepository-1.0/GstController-1.0.typelib
138 #%{_libdir}/girepository-1.0/GstNet-1.0.typelib
139 %{_datadir}/gdb/auto-load/usr/%{_lib}/libgstreamer*-gdb.py
140 %{_datadir}/gstreamer-1.0/gdb/glib_gobject_helper.py
141 %{_datadir}/gstreamer-1.0/gdb/gst_gdb.py
142
143 %files utils
144 %manifest %{name}.manifest
145 %defattr(-, root, root)
146 %license COPYING
147 %{_bindir}/*-%{gst_branch}
148 %doc %{_mandir}/man?/*-%{gst_branch}.*
149
150 %files devel
151 %manifest %{name}.manifest
152 %defattr(-, root, root)
153 %{_datadir}/aclocal/*.m4
154 %{_includedir}/*
155 %{_libdir}/*.so
156 %{_libdir}/pkgconfig/*.pc
157 %{_datadir}/gir-1.0/*.gir
158
159 %changelog