[mingw-gstreamer-plugins-base] Added win64 support (contributed by Marc-André Lureau)
epienbro
epienbro at fedoraproject.org
Sun Mar 18 16:47:00 UTC 2012
commit aacea075e47bc8bae01f6699b96d1d3f4ebfeb94
Author: Erik van Pienbroek <epienbro at fedoraproject.org>
Date: Sun Mar 18 17:46:36 2012 +0100
Added win64 support (contributed by Marc-André Lureau)
- Added win64 support (contributed by Marc-André Lureau)
- Use mingw macros without leading underscore
- Backported fix for GNOME bug #654816
- Use %global instead of %define
gst-plugins-base-rtsp.patch | 14 ++
mingw-gstreamer-plugins-base.spec | 285 ++++++++++++++++++++++++++-----------
2 files changed, 218 insertions(+), 81 deletions(-)
---
diff --git a/gst-plugins-base-rtsp.patch b/gst-plugins-base-rtsp.patch
new file mode 100644
index 0000000..7f4acde
--- /dev/null
+++ b/gst-plugins-base-rtsp.patch
@@ -0,0 +1,14 @@
+diff -up ./gst-libs/gst/rtsp/gstrtspconnection.c.gcsontos ./gst-libs/gst/rtsp/gstrtspconnection.c
+--- ./gst-libs/gst/rtsp/gstrtspconnection.c.gcsontos 2011-01-07 02:51:26.000000000 +0100
++++ ./gst-libs/gst/rtsp/gstrtspconnection.c 2011-06-03 10:46:01.474452047 +0200
+@@ -2269,7 +2269,9 @@ gst_rtsp_connection_receive (GstRTSPConn
+ if (gst_poll_fd_has_error (conn->fdset, conn->writefd))
+ goto socket_error;
+
+- gst_poll_set_controllable (conn->fdset, FALSE);
++ /* once we start reading the wait cannot be controlled */
++ if (builder.state != STATE_START)
++ gst_poll_set_controllable (conn->fdset, FALSE);
+ }
+
+ /* we have a message here */
diff --git a/mingw-gstreamer-plugins-base.spec b/mingw-gstreamer-plugins-base.spec
index c3404fa..2b30938 100644
--- a/mingw-gstreamer-plugins-base.spec
+++ b/mingw-gstreamer-plugins-base.spec
@@ -1,13 +1,11 @@
-%global __strip %{_mingw32_strip}
-%global __objdump %{_mingw32_objdump}
-%define __debug_install_post %{?_mingw32_debug_install_post}
+%?mingw_package_header
-%define majorminor 0.10
-%define gstreamer_version %{majorminor}.35
+%global majorminor 0.10
+%global gstreamer_version %{majorminor}.35
Name: mingw-gstreamer-plugins-base
Version: %{gstreamer_version}
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: Cross compiled GStreamer media framework base plug-ins
Group: Applications/Multimedia
@@ -15,16 +13,16 @@ License: LGPLv2+
URL: http://gstreamer.freedesktop.org/
Source: http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-%{version}.tar.bz2
+# fix GNOME bug #654816
+Patch: gst-plugins-base-rtsp.patch
+
BuildArch: noarch
-BuildRequires: mingw32-filesystem
+BuildRequires: mingw32-filesystem >= 95
BuildRequires: mingw32-gcc
BuildRequires: mingw32-binutils
BuildRequires: mingw32-gettext
BuildRequires: mingw32-gcc-c++
-# We need glib-mkenums
-BuildRequires: glib2-devel
-
BuildRequires: mingw32-gstreamer >= %{gstreamer_version}
BuildRequires: mingw32-libogg >= 1.0
BuildRequires: mingw32-libvorbis >= 1.0
@@ -34,6 +32,24 @@ BuildRequires: mingw32-gtk2
BuildRequires: mingw32-pango
#BuildRequires: mingw32-libvisual
+BuildRequires: mingw64-filesystem >= 95
+BuildRequires: mingw64-gcc
+BuildRequires: mingw64-binutils
+BuildRequires: mingw64-gettext
+BuildRequires: mingw64-gcc-c++
+BuildRequires: mingw64-gstreamer >= %{gstreamer_version}
+BuildRequires: mingw64-libogg >= 1.0
+BuildRequires: mingw64-libvorbis >= 1.0
+#BuildRequires: mingw64-libtheora >= 1.0
+#BuildRequires: mingw64-orc >= 0.4.11
+BuildRequires: mingw64-gtk2
+BuildRequires: mingw64-pango
+#BuildRequires: mingw64-libvisual
+
+# We need glib-mkenums
+BuildRequires: glib2-devel
+
+
%description
GStreamer is a streaming media framework, based on graphs of filters which
operate on media data. Applications using this library can do anything
@@ -45,9 +61,13 @@ plug-ins.
This package contains a set of well-maintained base plug-ins.
+# Win32
%package -n mingw32-gstreamer-plugins-base
Summary: Cross compiled GStreamer media framework base plug-ins
Requires: mingw32-gstreamer >= %{gstreamer_version}
+# Fix upgrade path when upgrading from the testing repository
+Obsoletes: mingw32-gstreamer-plugins-base-static < 0.10.35-4
+Provides: mingw32-gstreamer-plugins-base-static = 0.10.35-4
%description -n mingw32-gstreamer-plugins-base
GStreamer is a streaming media framework, based on graphs of filters which
@@ -59,105 +79,208 @@ plug-ins.
This package contains a set of well-maintained base plug-ins.
-%{_mingw32_debug_package}
+# Win64
+%package -n mingw64-gstreamer-plugins-base
+Summary: Cross compiled GStreamer media framework base plug-ins
+Requires: mingw64-gstreamer >= %{gstreamer_version}
+# Fix upgrade path when upgrading from the testing repository
+Obsoletes: mingw64-gstreamer-plugins-base-static < 0.10.35-4
+Provides: mingw64-gstreamer-plugins-base-static = 0.10.35-4
+
+%description -n mingw64-gstreamer-plugins-base
+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 package contains a set of well-maintained base plug-ins.
+
+
+%?mingw_debug_package
+
%prep
%setup -q -n gst-plugins-base-%{version}
+%patch -p1 -b .rtsp
+
%build
-%{_mingw32_configure} \
---with-package-name='Fedora Mingw gstreamer-plugins-base package' \
---with-package-origin='http://download.fedora.redhat.com/fedora' \
---enable-experimental \
---disable-gtk-doc \
---disable-gnome_vfs \
---disable-x \
---disable-static
+%mingw_configure \
+ --with-package-name='Fedora Mingw gstreamer-plugins-base package' \
+ --with-package-origin='http://download.fedora.redhat.com/fedora' \
+ --enable-experimental \
+ --disable-gtk-doc \
+ --enable-orc \
+ --disable-gnome_vfs \
+ --disable-static
+
+%mingw_make %{?_smp_mflags}
-make %{?_smp_mflags}
%install
-make DESTDIR=$RPM_BUILD_ROOT install
+%mingw_make_install DESTDIR=$RPM_BUILD_ROOT
# Clean out files that should not be part of the rpm.
-rm -f $RPM_BUILD_ROOT%{_mingw32_libdir}/gstreamer-%{majorminor}/*.la
-rm -f $RPM_BUILD_ROOT%{_mingw32_libdir}/gstreamer-%{majorminor}/*.a
-rm -f $RPM_BUILD_ROOT%{_mingw32_bindir}/gst-visualise*
-rm -f $RPM_BUILD_ROOT%{_mingw32_mandir}/man1/gst-visualise*
-rm -rf $RPM_BUILD_ROOT%{_mingw32_datadir}/gtk-doc
+rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/gstreamer-%{majorminor}/*.a
+rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/gstreamer-%{majorminor}/*.a
+rm -f $RPM_BUILD_ROOT%{mingw32_bindir}/gst-visualise*
+rm -f $RPM_BUILD_ROOT%{mingw64_bindir}/gst-visualise*
+rm -f $RPM_BUILD_ROOT%{mingw32_mandir}/man1/gst-visualise*
+rm -f $RPM_BUILD_ROOT%{mingw64_mandir}/man1/gst-visualise*
+rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/gtk-doc
+rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/gtk-doc
# Drop all .la files
find $RPM_BUILD_ROOT -name "*.la" -delete
-%find_lang gst-plugins-base-0.10
+%mingw_find_lang gst-plugins-base-0.10 --all-name
+
+
+# Win32
+%files -n mingw32-gstreamer-plugins-base -f mingw32-gst-plugins-base-0.10.lang
+%doc AUTHORS COPYING README REQUIREMENTS
+
+# libraries
+%{mingw32_bindir}/gst-discoverer-0.10.exe
+%{mingw32_bindir}/libgstapp-%{majorminor}-0.dll
+%{mingw32_bindir}/libgstaudio-%{majorminor}-0.dll
+%{mingw32_bindir}/libgstcdda-%{majorminor}-0.dll
+%{mingw32_bindir}/libgstfft-%{majorminor}-0.dll
+%{mingw32_bindir}/libgstinterfaces-%{majorminor}-0.dll
+%{mingw32_bindir}/libgstnetbuffer-%{majorminor}-0.dll
+%{mingw32_bindir}/libgstpbutils-%{majorminor}-0.dll
+%{mingw32_bindir}/libgstriff-%{majorminor}-0.dll
+%{mingw32_bindir}/libgstrtp-%{majorminor}-0.dll
+%{mingw32_bindir}/libgstrtsp-%{majorminor}-0.dll
+%{mingw32_bindir}/libgstsdp-%{majorminor}-0.dll
+%{mingw32_bindir}/libgsttag-%{majorminor}-0.dll
+%{mingw32_bindir}/libgstvideo-%{majorminor}-0.dll
+
+# base plugins without external dependencies
+%dir %{mingw32_libdir}/gstreamer-%{majorminor}
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstadder.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstapp.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstaudioconvert.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstaudiorate.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstaudioresample.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstaudiotestsrc.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstdecodebin.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstdecodebin2.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstencodebin.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstffmpegcolorspace.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstgdp.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstgio.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstplaybin.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstsubparse.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgsttypefindfunctions.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstvideorate.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstvideoscale.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstvideotestsrc.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstvolume.dll
+
+# base plugins with dependencies
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstogg.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstpango.dll
+%{mingw32_libdir}/gstreamer-%{majorminor}/libgstvorbis.dll
+
+# plugin helper library headers
+%{mingw32_includedir}/gstreamer-%{majorminor}
+
+%{mingw32_libdir}/libgstapp-%{majorminor}.dll.a
+%{mingw32_libdir}/libgstaudio-%{majorminor}.dll.a
+%{mingw32_libdir}/libgstcdda-%{majorminor}.dll.a
+%{mingw32_libdir}/libgstfft-%{majorminor}.dll.a
+%{mingw32_libdir}/libgstinterfaces-%{majorminor}.dll.a
+%{mingw32_libdir}/libgstnetbuffer-%{majorminor}.dll.a
+%{mingw32_libdir}/libgstpbutils-%{majorminor}.dll.a
+%{mingw32_libdir}/libgstriff-%{majorminor}.dll.a
+%{mingw32_libdir}/libgstrtp-%{majorminor}.dll.a
+%{mingw32_libdir}/libgstrtsp-%{majorminor}.dll.a
+%{mingw32_libdir}/libgstsdp-%{majorminor}.dll.a
+%{mingw32_libdir}/libgsttag-%{majorminor}.dll.a
+%{mingw32_libdir}/libgstvideo-%{majorminor}.dll.a
-%files -n mingw32-gstreamer-plugins-base -f gst-plugins-base-0.10.lang
+# pkg-config files
+%{mingw32_libdir}/pkgconfig/*.pc
+
+
+# Win64
+%files -n mingw64-gstreamer-plugins-base -f mingw64-gst-plugins-base-0.10.lang
%doc AUTHORS COPYING README REQUIREMENTS
# libraries
-%{_mingw32_bindir}/gst-discoverer-0.10.exe
-%{_mingw32_bindir}/libgstapp-%{majorminor}-0.dll
-%{_mingw32_bindir}/libgstaudio-%{majorminor}-0.dll
-%{_mingw32_bindir}/libgstcdda-%{majorminor}-0.dll
-%{_mingw32_bindir}/libgstfft-%{majorminor}-0.dll
-%{_mingw32_bindir}/libgstinterfaces-%{majorminor}-0.dll
-%{_mingw32_bindir}/libgstnetbuffer-%{majorminor}-0.dll
-%{_mingw32_bindir}/libgstpbutils-%{majorminor}-0.dll
-%{_mingw32_bindir}/libgstriff-%{majorminor}-0.dll
-%{_mingw32_bindir}/libgstrtp-%{majorminor}-0.dll
-%{_mingw32_bindir}/libgstrtsp-%{majorminor}-0.dll
-%{_mingw32_bindir}/libgstsdp-%{majorminor}-0.dll
-%{_mingw32_bindir}/libgsttag-%{majorminor}-0.dll
-%{_mingw32_bindir}/libgstvideo-%{majorminor}-0.dll
+%{mingw64_bindir}/gst-discoverer-0.10.exe
+%{mingw64_bindir}/libgstapp-%{majorminor}-0.dll
+%{mingw64_bindir}/libgstaudio-%{majorminor}-0.dll
+%{mingw64_bindir}/libgstcdda-%{majorminor}-0.dll
+%{mingw64_bindir}/libgstfft-%{majorminor}-0.dll
+%{mingw64_bindir}/libgstinterfaces-%{majorminor}-0.dll
+%{mingw64_bindir}/libgstnetbuffer-%{majorminor}-0.dll
+%{mingw64_bindir}/libgstpbutils-%{majorminor}-0.dll
+%{mingw64_bindir}/libgstriff-%{majorminor}-0.dll
+%{mingw64_bindir}/libgstrtp-%{majorminor}-0.dll
+%{mingw64_bindir}/libgstrtsp-%{majorminor}-0.dll
+%{mingw64_bindir}/libgstsdp-%{majorminor}-0.dll
+%{mingw64_bindir}/libgsttag-%{majorminor}-0.dll
+%{mingw64_bindir}/libgstvideo-%{majorminor}-0.dll
# base plugins without external dependencies
-%dir %{_mingw32_libdir}/gstreamer-%{majorminor}
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstadder.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstapp.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstaudioconvert.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstaudiorate.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstaudioresample.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstaudiotestsrc.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstdecodebin.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstdecodebin2.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstencodebin.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstffmpegcolorspace.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstgdp.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstgio.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstplaybin.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstsubparse.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgsttypefindfunctions.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstvideorate.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstvideoscale.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstvideotestsrc.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstvolume.dll
+%dir %{mingw64_libdir}/gstreamer-%{majorminor}
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstadder.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstapp.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstaudioconvert.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstaudiorate.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstaudioresample.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstaudiotestsrc.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstdecodebin.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstdecodebin2.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstencodebin.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstffmpegcolorspace.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstgdp.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstgio.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstplaybin.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstsubparse.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgsttypefindfunctions.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstvideorate.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstvideoscale.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstvideotestsrc.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstvolume.dll
# base plugins with dependencies
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstogg.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstpango.dll
-%{_mingw32_libdir}/gstreamer-%{majorminor}/libgstvorbis.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstogg.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstpango.dll
+%{mingw64_libdir}/gstreamer-%{majorminor}/libgstvorbis.dll
# plugin helper library headers
-%{_mingw32_includedir}/gstreamer-%{majorminor}
-
-%{_mingw32_libdir}/libgstapp-%{majorminor}.dll.a
-%{_mingw32_libdir}/libgstaudio-%{majorminor}.dll.a
-%{_mingw32_libdir}/libgstcdda-%{majorminor}.dll.a
-%{_mingw32_libdir}/libgstfft-%{majorminor}.dll.a
-%{_mingw32_libdir}/libgstinterfaces-%{majorminor}.dll.a
-%{_mingw32_libdir}/libgstnetbuffer-%{majorminor}.dll.a
-%{_mingw32_libdir}/libgstpbutils-%{majorminor}.dll.a
-%{_mingw32_libdir}/libgstriff-%{majorminor}.dll.a
-%{_mingw32_libdir}/libgstrtp-%{majorminor}.dll.a
-%{_mingw32_libdir}/libgstrtsp-%{majorminor}.dll.a
-%{_mingw32_libdir}/libgstsdp-%{majorminor}.dll.a
-%{_mingw32_libdir}/libgsttag-%{majorminor}.dll.a
-%{_mingw32_libdir}/libgstvideo-%{majorminor}.dll.a
+%{mingw64_includedir}/gstreamer-%{majorminor}
+
+%{mingw64_libdir}/libgstapp-%{majorminor}.dll.a
+%{mingw64_libdir}/libgstaudio-%{majorminor}.dll.a
+%{mingw64_libdir}/libgstcdda-%{majorminor}.dll.a
+%{mingw64_libdir}/libgstfft-%{majorminor}.dll.a
+%{mingw64_libdir}/libgstinterfaces-%{majorminor}.dll.a
+%{mingw64_libdir}/libgstnetbuffer-%{majorminor}.dll.a
+%{mingw64_libdir}/libgstpbutils-%{majorminor}.dll.a
+%{mingw64_libdir}/libgstriff-%{majorminor}.dll.a
+%{mingw64_libdir}/libgstrtp-%{majorminor}.dll.a
+%{mingw64_libdir}/libgstrtsp-%{majorminor}.dll.a
+%{mingw64_libdir}/libgstsdp-%{majorminor}.dll.a
+%{mingw64_libdir}/libgsttag-%{majorminor}.dll.a
+%{mingw64_libdir}/libgstvideo-%{majorminor}.dll.a
# pkg-config files
-%{_mingw32_libdir}/pkgconfig/*.pc
+%{mingw64_libdir}/pkgconfig/*.pc
+
%changelog
+* Sun Mar 18 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 0.10.35-4
+- Added win64 support (contributed by Marc-André Lureau)
+- Use mingw macros without leading underscore
+- Backported fix for GNOME bug #654816
+- Use %%global instead of %%define
+
* Tue Feb 28 2012 Erik van Pienbroek <epienbro at fedoraproject.org> - 0.10.35-3
- Rebuild against the mingw-w64 toolchain
More information about the scm-commits
mailing list