This commit is contained in:
Alexey Pavlov
2017-06-21 13:29:21 +03:00
26 changed files with 156 additions and 363 deletions

View File

@@ -1,32 +0,0 @@
From e2f4f042d0872089257b346015e9b03e8247338f Mon Sep 17 00:00:00 2001
From: Viktor Szakats <vszakats@users.noreply.github.com>
Date: Tue, 21 Feb 2017 23:01:37 -0500
Subject: [PATCH 3/3] urldata: include curl_sspi.h when Windows SSPI is enabled
f77dabe broke builds in Windows using Windows SSPI but not Windows SSL.
Bug: https://github.com/curl/curl/issues/1276
Reported-by: jveazey@users.noreply.github.com
---
lib/urldata.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/urldata.h b/lib/urldata.h
index 648b3e8..7f87913 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -136,8 +136,10 @@
#undef realloc
#endif /* USE_AXTLS */
-#ifdef USE_SCHANNEL
+#if defined(USE_SCHANNEL) || defined(USE_WINDOWS_SSPI)
#include "curl_sspi.h"
+#endif
+#ifdef USE_SCHANNEL
#include <schnlsp.h>
#include <schannel.h>
#endif
--
2.11.1.windows.1.dirty

View File

@@ -12,7 +12,7 @@ fi
_realname=curl
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}${_namesuff}"
pkgver=7.54.0
pkgver=7.54.1
pkgrel=1
pkgdesc="An URL retrival utility and library. (mingw-w64)"
arch=('any')
@@ -42,7 +42,7 @@ options=('staticlibs')
source=("${url}/download/${_realname}-${pkgver}.tar.bz2"{,.asc}
"0001-Make-cURL-relocatable.patch"
"0002-cURL-Get-relocatable-base-from-.dll-instead-of-.exe.patch")
sha256sums=('f50ebaf43c507fa7cc32be4b8108fa8bbd0f5022e90794388f3c7694a302ff06'
sha256sums=('fdfc4df2d001ee0c44ec071186e770046249263c491fcae48df0e1a3ca8f25a0'
'SKIP'
'577e900086f91adb332f5ddb95adce980c530445d22aa0fbf4b43b25c2efe80e'
'604b34b5ca9b3520a83a23959f943e330c1ef36b50ee377f8210b59be3e5f62b')

View File

@@ -1,11 +0,0 @@
--- exiv2-0.23/configure.orig 2012-04-23 14:28:19.000000000 +0000
+++ exiv2-0.23/configure 2013-08-05 16:10:35.384679800 +0000
@@ -18194,7 +18194,7 @@
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
+ ac_cs_awk_cr='\r'
else
ac_cs_awk_cr=$ac_cr
fi

View File

@@ -0,0 +1,20 @@
diff -Naur exiv2-0.26.orig/test/functions.source exiv2-0.26/test/functions.source
--- exiv2-0.26.orig/test/functions.source 2017-04-26 21:16:21.000000000 +0200
+++ exiv2-0.26/test/functions.source 2017-06-20 23:59:49.920106800 +0200
@@ -440,6 +440,8 @@
testdir="$here/tmp"
datadir="../data"
+ mkdir -p $testdir
+
if [ -z "$EXIV2_BINDIR" ] ; then
bin="$here/../bin/"
else
@@ -452,6 +454,7 @@
elif [ "${os:0:4}" == "MING" ]; then
export PLATFORM=mingw
# bin=$(dirname $(which exiv2))
+ bin=$(cygpath $EXIV2_BINDIR)
else
export PLATFORM=$os
fi

View File

@@ -4,56 +4,56 @@
_realname=exiv2
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.25
pkgrel=2
pkgver=0.26
pkgrel=1
pkgdesc="Exif and Iptc metadata manipulation library and tools (mingw-w64)"
arch=('any')
url="http://exiv2.org"
license=("GPL")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-pkg-config"
"${MINGW_PACKAGE_PREFIX}-libtool")
"${MINGW_PACKAGE_PREFIX}-libtool"
"${MINGW_PACKAGE_PREFIX}-cmake")
depends=("${MINGW_PACKAGE_PREFIX}-expat"
"${MINGW_PACKAGE_PREFIX}-gettext"
"${MINGW_PACKAGE_PREFIX}-zlib")
options=('strip' 'staticlibs')
source=("http://www.exiv2.org/${_realname}-${pkgver}.tar.gz"
0001-fix-cr-for-awk-in-configure.mingw.patch)
sha256sums=('c80bfc778a15fdb06f71265db2c3d49d8493c382e516cb99b8c9f9cbde36efa4'
'10b2f78aede133291dd77cb1d3e8deea552420fcba5767d10186d2d3b96b7614')
source=("https://github.com/Exiv2/${_realname}/archive/v${pkgver}.tar.gz"
0001-fix-tests.patch)
sha256sums=('51cffa8d19d67e1da6c1d0f570a75b8f6c814113367318c2c0407691888c5f01'
'b8f06f3f89980766e2e7b986cad2f3d9592081326f0997ad0d9f674d664b9ba7')
prepare() {
cd ${srcdir}/${_realname}-${pkgver}
patch -p1 -i ${srcdir}/0001-fix-cr-for-awk-in-configure.mingw.patch
patch -p1 -i ${srcdir}/0001-fix-tests.patch
}
build() {
export lt_cv_deplibs_check_method='pass_all'
CPPFLAGS+=" -D_FILE_OFFSET_BITS=64"
[[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}
cp -rf ${srcdir}/${_realname}-${pkgver} ${srcdir}/build-${MINGW_CHOST}
cd ${srcdir}/build-${MINGW_CHOST}
./configure \
--prefix=${MINGW_PREFIX} \
--build=${MINGW_CHOST} \
--host=${MINGW_CHOST} \
--target=${MINGW_CHOST} \
--enable-shared \
--enable-static
# Fix executables extensions
sed -i 's|BINARY = $(BINSRC:.cpp=)|BINARY = $(BINSRC:.cpp=$(EXEEXT))|;
s|EXIV2BIN = $(EXIV2MAIN:.cpp=)|EXIV2BIN = $(EXIV2MAIN:.cpp=$(EXEEXT))|;
s|MCBIN = $(MCMAIN:.cpp=)|MCBIN = $(MCMAIN:.cpp=$(EXEEXT))|;
s|-o $@ $(LIBRARY) $@.o|-o $@ $(LIBRARY) $(BINOBJ)|
s|$(BINARY): %: %.o lib|$(BINARY): lib $(BINOBJ)|' src/Makefile
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \
-G"MSYS Makefiles" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DBUILD_SHARED_LIBS=ON \
-DEXIV2_ENABLE_VIDEO=ON \
-DEXIV2_ENABLE_NLS=OFF \
../${_realname}-${pkgver}
make
}
check() {
cd ${srcdir}/build-${MINGW_CHOST}
make tests
}
package() {
cd "${srcdir}/build-${MINGW_CHOST}"
cd ${srcdir}/build-${MINGW_CHOST}
make DESTDIR="${pkgdir}" install
}

View File

@@ -4,7 +4,7 @@ _srcname=gstreamer-editing-services
_realname=gst-editing-services
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.12.0
pkgver=1.12.1
pkgrel=1
pkgdesc="GStreamer Editing Services (mingw-w64)"
arch=('any')
@@ -18,7 +18,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gst-plugins-base")
options=(!libtool strip staticlibs)
source=(${url}/src/${_realname}/${_srcname}-${pkgver}.tar.xz
0002-add-cflags-for-gir.patch)
sha256sums=('993372f80cafd5395e90a4bc8bf28733513949a2ae4df987ab0dcc99fc5bab66'
sha256sums=('4e5aeda1812f7240f1e12ee7506667f77d1fc0d6183382fc2eecbfa928a91b69'
'9d4c26c60c6a1b2ef4430c82ff5fcbf06f1aae61572ec005b387bb5419564e78')
prepare() {

View File

@@ -3,7 +3,7 @@
_realname=gst-libav
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.12.0
pkgver=1.12.1
pkgrel=1
pkgdesc="GStreamer libav (mingw-w64)"
arch=('any')
@@ -17,7 +17,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-bzip2"
"${MINGW_PACKAGE_PREFIX}-gst-plugins-base")
options=(!libtool strip staticlibs)
source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz)
sha256sums=('39d1477f642ee980b008e78d716b16801eec9a6e5958c5a6cdc0cb04ab0750c4')
sha256sums=('55d7823fdf63195de991adfef32db4b8a8bef3cafa46115a951e590dc18a5077')
prepare() {
cd ${srcdir}/${_realname}-${pkgver}

View File

@@ -5,7 +5,7 @@
_realname=gst-plugins-bad
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.12.0
pkgver=1.12.1
pkgrel=1
pkgdesc="GStreamer Multimedia Framework Bad Plugins (mingw-w64)"
arch=('any')
@@ -56,7 +56,7 @@ source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz
0002-fix-link-order.patch
0005-Include-glext-h.patch
0006-No-X11-on-_WIN32.patch)
sha256sums=('11b73cfff1b315a8e9be1756435ea84937e7cb90afbab0e8e6975367dbfb8534'
sha256sums=('7def8049d1c44e50199023159dfada60af58fd503ef58a020b79044bda705b97'
'd9433cbe0eba170e9228632883a9fe1634354e4e31c2261e5e2dcedca9b0ed6a'
'439436d02724c07af95f509647238f271f4717958dcf42dc5adb5a8e6a2108e7'
'da9b9c1cf8ce5ee77f7963a6ffecc2abfbc8d0e3c4ea88a49646c0c98a480e46')

View File

@@ -3,7 +3,7 @@
_realname=gst-plugins-base
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.12.0
pkgver=1.12.1
pkgrel=1
pkgdesc="GStreamer Multimedia Framework Base Plugins (mingw-w64)"
arch=('any')
@@ -25,7 +25,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-freetype"
options=(!libtool strip staticlibs)
conflicts=("${MINGW_PACKAGE_PREFIX}-gst-plugins-bad<1.12.0")
source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz)
sha256sums=('345fc6877f54b8b6e97aacf2996be37a51a0e369f53fc2cf83108af9f764364d')
sha256sums=('0cce9fadb574a840b3c9d31b69faf57aad6c5543c3b134a7b935de866c9e0465')
prepare() {
cd ${srcdir}/${_realname}-${pkgver}

View File

@@ -1,97 +0,0 @@
From 2d44b53ff664658ba9a4578b5b3231365c7c8e71 Mon Sep 17 00:00:00 2001
From: Nirbheek Chauhan <nirbheek@centricular.com>
Date: Wed, 3 May 2017 23:23:10 +0530
Subject: [PATCH] directsoundsink: Fix corner case causing large CPU usage
We were unnecessarily looping/goto-ing repeatedly when we had exactly
the amount of data as the free space, and also when the free space was
too small. This, as it turns out, is a very common scenario with
Directsound on Windows.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=773681
We have to do polling here because the event notification API that
Directsound exposes cannot be used with live playback since all events
must be registered in advance with the capture buffer, you cannot
add/remove them once playback has begun. Directsoundsrc had the same
problem.
See also: https://bugzilla.gnome.org/show_bug.cgi?id=781249
---
sys/directsound/gstdirectsoundsink.c | 39 +++++++++++++++++++++---------------
1 file changed, 23 insertions(+), 16 deletions(-)
diff --git a/sys/directsound/gstdirectsoundsink.c b/sys/directsound/gstdirectsoundsink.c
index b7ec9b4..cceeca5 100644
--- a/sys/directsound/gstdirectsoundsink.c
+++ b/sys/directsound/gstdirectsoundsink.c
@@ -621,10 +621,10 @@ gst_directsound_sink_write (GstAudioSink * asink, gpointer data, guint length)
if (SUCCEEDED (hRes) && SUCCEEDED (hRes2) && (dwStatus & DSBSTATUS_PLAYING)) {
DWORD dwFreeBufferSize = 0;
- DWORD sleepTime = 0;
+ guint64 sleep_time_ms = 0;
calculate_freesize:
- /* calculate the free size of the circular buffer */
+ /* Calculate the free space in the circular buffer */
if (dwCurrentPlayCursor < dsoundsink->current_circular_offset)
dwFreeBufferSize =
dsoundsink->buffer_size - (dsoundsink->current_circular_offset -
@@ -633,21 +633,28 @@ gst_directsound_sink_write (GstAudioSink * asink, gpointer data, guint length)
dwFreeBufferSize =
dwCurrentPlayCursor - dsoundsink->current_circular_offset;
- if (length >= dwFreeBufferSize) {
- sleepTime =
- ((length -
- dwFreeBufferSize) * 1000) / (dsoundsink->bytes_per_sample *
- GST_AUDIO_BASE_SINK (asink)->ringbuffer->spec.info.rate);
- if (sleepTime > 0) {
- GST_DEBUG_OBJECT (dsoundsink,
- "gst_directsound_sink_write: length:%i, FreeBufSiz: %ld, sleepTime: %ld, bps: %i, rate: %i",
- length, dwFreeBufferSize, sleepTime, dsoundsink->bytes_per_sample,
- GST_AUDIO_BASE_SINK (asink)->ringbuffer->spec.info.rate);
- Sleep (sleepTime);
- }
+ /* Not enough free space, wait for some samples to be played out. We could
+ * write out partial data, but that will result in a tight loop in the
+ * audioringbuffer write thread, and lead to high CPU usage. */
+ if (length > dwFreeBufferSize) {
+ gint rate = GST_AUDIO_BASE_SINK (asink)->ringbuffer->spec.info.rate;
+ /* Wait for a time proportional to the space needed. In reality, the
+ * directsound sink's position does not update frequently enough, so we
+ * will end up waiting for much longer. Note that Sleep() has millisecond
+ * resolution at best. */
+ sleep_time_ms = gst_util_uint64_scale_int ((length - dwFreeBufferSize),
+ 1000, dsoundsink->bytes_per_sample * rate);
+ /* Make sure we don't run in a tight loop unnecessarily */
+ sleep_time_ms = MAX (sleep_time_ms, 10);
+ GST_DEBUG_OBJECT (dsoundsink,
+ "length: %u, FreeBufSiz: %ld, sleep_time_ms: %" G_GUINT64_FORMAT
+ ", bps: %i, rate: %i", length, dwFreeBufferSize, sleep_time_ms,
+ dsoundsink->bytes_per_sample, rate);
+ Sleep (sleep_time_ms);
+
+ /* May we send out? */
hRes = IDirectSoundBuffer_GetCurrentPosition (dsoundsink->pDSBSecondary,
&dwCurrentPlayCursor, NULL);
-
hRes2 =
IDirectSoundBuffer_GetStatus (dsoundsink->pDSBSecondary, &dwStatus);
if (SUCCEEDED (hRes) && SUCCEEDED (hRes2)
@@ -674,10 +681,10 @@ gst_directsound_sink_write (GstAudioSink * asink, gpointer data, guint length)
if (dwStatus & DSBSTATUS_BUFFERLOST) {
hRes = IDirectSoundBuffer_Restore (dsoundsink->pDSBSecondary); /*need a loop waiting the buffer is restored?? */
-
dsoundsink->current_circular_offset = 0;
}
+ /* Lock a buffer of length @length for writing */
hRes = IDirectSoundBuffer_Lock (dsoundsink->pDSBSecondary,
dsoundsink->current_circular_offset, length, &pLockedBuffer1,
&dwSizeBuffer1, &pLockedBuffer2, &dwSizeBuffer2, 0L);
--
2.9.3

View File

@@ -1,140 +0,0 @@
From a303a7971c29db5599b34e82ef96565a1f58abee Mon Sep 17 00:00:00 2001
From: Dustin Spicuzza <dustin@virtualroadside.com>
Date: Mon, 8 May 2017 15:22:00 +0000
Subject: [PATCH] directsoundsink: Use GstClock API instead of Sleep() for
waiting
It's more accurate and allows cancellation.
https://bugzilla.gnome.org/show_bug.cgi?id=773681
---
sys/directsound/gstdirectsoundsink.c | 54 ++++++++++++++++++++++++++++++++----
sys/directsound/gstdirectsoundsink.h | 4 +++
2 files changed, 53 insertions(+), 5 deletions(-)
diff --git a/sys/directsound/gstdirectsoundsink.c b/sys/directsound/gstdirectsoundsink.c
index cceeca5..44145ef 100644
--- a/sys/directsound/gstdirectsoundsink.c
+++ b/sys/directsound/gstdirectsoundsink.c
@@ -148,6 +148,10 @@ gst_directsound_sink_finalize (GObject * object)
dsoundsink->device_id = NULL;
g_mutex_clear (&dsoundsink->dsound_lock);
+ gst_object_unref (dsoundsink->system_clock);
+ if (dsoundsink->write_wait_clock_id != NULL) {
+ gst_clock_id_unref (dsoundsink->write_wait_clock_id);
+ }
G_OBJECT_CLASS (parent_class)->finalize (object);
}
@@ -227,6 +231,8 @@ gst_directsound_sink_init (GstDirectSoundSink * dsoundsink)
dsoundsink->buffer_size = DSBSIZE_MIN;
dsoundsink->volume = 100;
g_mutex_init (&dsoundsink->dsound_lock);
+ dsoundsink->system_clock = gst_system_clock_obtain ();
+ dsoundsink->write_wait_clock_id = NULL;
dsoundsink->first_buffer_after_reset = FALSE;
}
@@ -621,7 +627,8 @@ gst_directsound_sink_write (GstAudioSink * asink, gpointer data, guint length)
if (SUCCEEDED (hRes) && SUCCEEDED (hRes2) && (dwStatus & DSBSTATUS_PLAYING)) {
DWORD dwFreeBufferSize = 0;
- guint64 sleep_time_ms = 0;
+ GstClockTime sleep_time_ms = 0, sleep_until;
+ GstClockID clock_id;
calculate_freesize:
/* Calculate the free space in the circular buffer */
@@ -646,11 +653,44 @@ gst_directsound_sink_write (GstAudioSink * asink, gpointer data, guint length)
1000, dsoundsink->bytes_per_sample * rate);
/* Make sure we don't run in a tight loop unnecessarily */
sleep_time_ms = MAX (sleep_time_ms, 10);
+ sleep_until = gst_clock_get_time (dsoundsink->system_clock) +
+ sleep_time_ms * GST_MSECOND;
+
GST_DEBUG_OBJECT (dsoundsink,
"length: %u, FreeBufSiz: %ld, sleep_time_ms: %" G_GUINT64_FORMAT
", bps: %i, rate: %i", length, dwFreeBufferSize, sleep_time_ms,
dsoundsink->bytes_per_sample, rate);
- Sleep (sleep_time_ms);
+
+ if (G_UNLIKELY (dsoundsink->write_wait_clock_id == NULL ||
+ gst_clock_single_shot_id_reinit (dsoundsink->system_clock,
+ dsoundsink->write_wait_clock_id, sleep_until) == FALSE)) {
+
+ if (dsoundsink->write_wait_clock_id != NULL) {
+ gst_clock_id_unref (dsoundsink->write_wait_clock_id);
+ }
+
+ dsoundsink->write_wait_clock_id =
+ gst_clock_new_single_shot_id (dsoundsink->system_clock,
+ sleep_until);
+ }
+
+ clock_id = dsoundsink->write_wait_clock_id;
+ dsoundsink->reset_while_sleeping = FALSE;
+
+ GST_DSOUND_UNLOCK (dsoundsink);
+
+ /* don't bother with the return value as we'll detect reset separately,
+ as reset could happen between when this returns and we obtain the lock
+ again -- so we can't use UNSCHEDULED here */
+ gst_clock_id_wait (clock_id, NULL);
+
+ GST_DSOUND_LOCK (dsoundsink);
+
+ /* if a reset occurs, exit now */
+ if (dsoundsink->reset_while_sleeping == TRUE) {
+ GST_DSOUND_UNLOCK (dsoundsink);
+ return -1;
+ }
/* May we send out? */
hRes = IDirectSoundBuffer_GetCurrentPosition (dsoundsink->pDSBSecondary,
@@ -695,12 +735,12 @@ gst_directsound_sink_write (GstAudioSink * asink, gpointer data, guint length)
if (pLockedBuffer2 != NULL)
memcpy (pLockedBuffer2, (LPBYTE) data + dwSizeBuffer1, dwSizeBuffer2);
+ hRes = IDirectSoundBuffer_Unlock (dsoundsink->pDSBSecondary, pLockedBuffer1,
+ dwSizeBuffer1, pLockedBuffer2, dwSizeBuffer2);
+
// Update where the buffer will lock (for next time)
dsoundsink->current_circular_offset += dwSizeBuffer1 + dwSizeBuffer2;
dsoundsink->current_circular_offset %= dsoundsink->buffer_size; /* Circular buffer */
-
- hRes = IDirectSoundBuffer_Unlock (dsoundsink->pDSBSecondary, pLockedBuffer1,
- dwSizeBuffer1, pLockedBuffer2, dwSizeBuffer2);
}
/* if the buffer was not in playing state yet, call play on the buffer
@@ -787,7 +827,11 @@ gst_directsound_sink_reset (GstAudioSink * asink)
}
}
+ dsoundsink->reset_while_sleeping = TRUE;
dsoundsink->first_buffer_after_reset = TRUE;
+ if (dsoundsink->write_wait_clock_id != NULL) {
+ gst_clock_id_unschedule (dsoundsink->write_wait_clock_id);
+ }
GST_DSOUND_UNLOCK (dsoundsink);
}
diff --git a/sys/directsound/gstdirectsoundsink.h b/sys/directsound/gstdirectsoundsink.h
index 51f7648..eb27efd 100644
--- a/sys/directsound/gstdirectsoundsink.h
+++ b/sys/directsound/gstdirectsoundsink.h
@@ -81,6 +81,10 @@ struct _GstDirectSoundSink
/* lock used to protect writes and resets */
GMutex dsound_lock;
+ GstClock *system_clock;
+ GstClockID write_wait_clock_id;
+ gboolean reset_while_sleeping;
+
gboolean first_buffer_after_reset;
GstAudioRingBufferFormatType type;
--
2.9.3

View File

@@ -1,11 +0,0 @@
--- gst-plugins-good-1.0.6/tests/check/Makefile.am.orig 2013-04-10 09:12:03 +0400
+++ gst-plugins-good-1.0.6/tests/check/Makefile.am 2013-04-10 09:14:04 +0400
@@ -10,7 +10,7 @@
$(REGISTRY_ENVIRONMENT) \
GST_PLUGIN_SYSTEM_PATH_1_0= \
GST_PLUGIN_PATH_1_0=$(top_builddir)/gst:$(top_builddir)/ext:$(top_builddir)/sys:$(GSTPB_PLUGINS_DIR):$(GST_PLUGINS_DIR) \
- GST_PLUGIN_LOADING_WHITELIST="gstreamer@$(GST_PLUGINS_DIR):gst-plugins-base@$(GSTPB_PLUGINS_DIR):gst-plugins-good@$(top_builddir)" \
+ GST_PLUGIN_LOADING_WHITELIST="gstreamer@$(GST_PLUGINS_DIR);gst-plugins-base@$(GSTPB_PLUGINS_DIR);gst-plugins-good@$(subst /,\\,$(top_builddir))" \
GST_STATE_IGNORE_ELEMENTS="aasink autoaudiosrc autoaudiosink autovideosrc autovideosink \
cacasink cairotextoverlay \
halaudiosrc halaudiosink jackaudiosrc jackaudiosink \

View File

@@ -3,7 +3,7 @@
_realname=gst-plugins-good
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.12.0
pkgver=1.12.1
pkgrel=1
pkgdesc="GStreamer Multimedia Framework Base Plugins (mingw-w64)"
arch=('any')
@@ -24,17 +24,11 @@ depends=("${MINGW_PACKAGE_PREFIX}-cairo"
"${MINGW_PACKAGE_PREFIX}-taglib"
"${MINGW_PACKAGE_PREFIX}-wavpack")
options=(!libtool strip staticlibs)
source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz
0001-directsoundsink-Fix-corner-case-causing-large-CPU-us.patch
0002-directsoundsink-Use-GstClock-API-instead-of-Sleep-fo.patch)
sha256sums=('8a1d734db7338e00c28b794a7f0a5a9e67d1c5c8b0074075b50638207d372ebc'
'8a3165af84bdd800899e99ea01149ce3a7188b1dabc365423234bd7b5717e458'
'61c9a7104b0c1ecb40bc98a08e1137cefb555d53246a751c07d326320b1bfaee')
source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz)
sha256sums=('121e8e46a7f0e622f09ec9be012607b89d737dd72d48b0f2f0680821ae2cf54b')
prepare() {
cd ${srcdir}/${_realname}-${pkgver}
patch -p1 -i ${srcdir}/0001-directsoundsink-Fix-corner-case-causing-large-CPU-us.patch
patch -p1 -i ${srcdir}/0002-directsoundsink-Use-GstClock-API-instead-of-Sleep-fo.patch
NOCONFIGURE=1 ./autogen.sh
}

View File

@@ -3,7 +3,7 @@
_realname=gst-plugins-ugly
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.12.0
pkgver=1.12.1
pkgrel=1
pkgdesc="GStreamer Multimedia Framework Ugly Plugins (mingw-w64)"
arch=('any')
@@ -24,7 +24,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-a52dec"
"${MINGW_PACKAGE_PREFIX}-x264")
options=(!libtool strip staticlibs)
source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz)
sha256sums=('5e68ba5046e83ee87b17d7a13931e6091466fd771e1338c5b929ee0944d40ad6')
sha256sums=('8fc2123d059713a34fa5d0a26641fb8158f52f6766633d2db7a661adc88e1069')
prepare() {
cd ${srcdir}/${_realname}-${pkgver}

View File

@@ -3,8 +3,8 @@
_realname=gst-python
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.12.0
pkgrel=2
pkgver=1.12.1
pkgrel=1
pkgdesc="GStreamer GObject Introspection overrides for Python 3 (mingw-w64)"
arch=('any')
license=('LGPL')
@@ -20,7 +20,7 @@ source=(https://gstreamer.freedesktop.org/src/gst-python/${_realname}-${pkgver}.
'0002-msys2-fix-linking-errors.patch'
'0004-add-overrides.patch'
'0005-unix-override-dir.patch')
sha256sums=('be33de6b9f21e95f677ef91b142e5249e71c8d7e894a5a4a53e19cf18d5d9c07'
sha256sums=('1721be4f201eb0a73075dd7d39bf2251798124cb948440d4cf4f02d6fa0078a1'
'836cf2e9e713705e5fd0f09d4e38d3de839a3c663eb6fa85f0a3f9a5f0b224ee'
'dc4cd0f1890d82e5d09e667763b6a7c1731864e3ddfe4f0ff42d3e83de4def20'
'04f94d86379280d6a4d7970dd149f31ef9ea04f5151dc6f9be474069570366ac'

View File

@@ -3,7 +3,7 @@
_realname=gst-rtsp-server
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.12.0
pkgver=1.12.1
pkgrel=1
pkgdesc="GStreamer RTSP server library (mingw-w64)"
arch=('any')
@@ -26,7 +26,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-gst-plugins-bad")
options=(!libtool strip staticlibs)
source=(${url}/src/${_realname}/${_realname}-${pkgver}.tar.xz)
sha256sums=('85ae6bbe173b365ddf4859967144f1999b436531ecbe09935914bfa9f6b37652')
sha256sums=('f27b9bde057e861a7705fa1263a9288a09fce8c42d8d5363c0bef4fe93994292')
prepare() {
cd ${srcdir}/${_realname}-${pkgver}

View File

@@ -3,7 +3,7 @@
_realname=gstreamer
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.12.0
pkgver=1.12.1
pkgrel=1
pkgdesc="GStreamer Multimedia Framework (mingw-w64)"
arch=('any')
@@ -25,7 +25,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
options=(!libtool strip staticlibs)
conflicts=("${MINGW_PACKAGE_PREFIX}-gst-plugins-bad<1.12.0")
source=("${url}/src/gstreamer/gstreamer-${pkgver}.tar.xz")
sha256sums=('14d5eef8297d2bf2a728d38fa43cd92cc267a0ad260cf83d770215212aff4302')
sha256sums=('9044b9d8b3ff44457fa9e36faa59c56684b587b34dee449bfe15ec0c32a3a6d2')
prepare() {
cd ${srcdir}/${_realname}-${pkgver}

View File

@@ -3,7 +3,7 @@
_realname=gtk3
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=3.22.15
pkgver=3.22.16
pkgrel=1
pkgdesc="GObject-based multi-platform GUI toolkit (v3) (mingw-w64)"
arch=('any')
@@ -29,7 +29,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
"${MINGW_PACKAGE_PREFIX}-shared-mime-info")
options=('strip' '!debug' 'staticlibs')
source=("https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-${pkgver}.tar.xz")
sha256sums=('c8a012c2a99132629ab043f764a2b7cb6388483a015cd15c7a4288bec3590fdb')
sha256sums=('3e0c3ad01f3c8c5c9b1cc1ae00852bd55164c8e5a9c1f90ba5e07f14f175fe2c')
prepare() {
cd "${srcdir}/gtk+-${pkgver}"

View File

@@ -3,7 +3,7 @@
_realname=gtksourceview
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}3"
pkgver=3.24.2
pkgver=3.24.3
pkgrel=1
pkgdesc="A text widget adding syntax highlighting and more to GNOME (mingw-w64)"
arch=('any')
@@ -21,7 +21,7 @@ depends=("${MINGW_PACKAGE_PREFIX}-gtk3"
options=(!libtool strip staticlibs)
source=("https://download.gnome.org/sources/gtksourceview/${pkgver%.*}/gtksourceview-${pkgver}.tar.xz"
0006-hack-convert-path-back-to-unix.patch)
sha256sums=('c96c88f1c6ea936db57239f489f5772940de9f9da90a194f51eba52da0cdb89f'
sha256sums=('3eed05486a6420c3e2fdda0bbb19a0d905ed09ebf442302a026ab7e574204cbd'
'83cf1b41b7b4cfadaf8bf66b0508a68462e1d2865825c8c49d3ded29604f218a')
prepare() {

View File

@@ -3,7 +3,7 @@
_realname=libsass
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=3.4.4
pkgver=3.4.5
pkgrel=1
pkgdesc="C implementation of Sass CSS preprocessor (library) (mingw-w64)"
arch=('any')
@@ -11,7 +11,7 @@ url="http://libsass.org/"
license=("MIT")
options=('strip' 'staticlibs')
source=("$_realname-$pkgver.tar.gz::https://github.com/sass/$_realname/archive/$pkgver.tar.gz")
sha256sums=('1dc4d49a9a53b891b7e98935709e625f1d68782d87aef4304a41e6d590abb480')
sha256sums=('fd0cb47479b4eae03154f23e17ab846aa81ba168c9aa5fa493b8fa42d10842c8')
prepare() {
cd "${srcdir}/${_realname}-${pkgver}"

View File

@@ -3,8 +3,8 @@
_realname=meson
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=0.40.1
pkgrel=2
pkgver=0.41.1
pkgrel=1
pkgdesc="High-productivity build system (mingw-w64)"
arch=('any')
url="http://mesonbuild.com/"
@@ -13,7 +13,7 @@ options=('strip' 'staticlibs')
depends=("${MINGW_PACKAGE_PREFIX}-python3"
"${MINGW_PACKAGE_PREFIX}-ninja")
source=(https://github.com/mesonbuild/${_realname}/releases/download/${pkgver}/${_realname}-${pkgver}.tar.gz)
sha256sums=('890ce46e713ea0d061f8203c99fa7d38645354a62e4c207c38ade18db852cbf5')
sha256sums=('3d160b0514ff3d25f0a47975c6f70fd82b76c589876d10413efc5e01df43e0c2')
prepare() {
cd "${srcdir}/${_realname}-${pkgver}"

View File

@@ -3,8 +3,8 @@
_realname=openh264
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.6.0
pkgrel=2
pkgver=1.7.0
pkgrel=1
pkgdesc="Library for encoding/decoding H264/AVC video streams (mingw-w64)"
arch=('any')
url="http://www.openh264.org/"
@@ -13,7 +13,7 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-pkg-config"
depends=()
options=('strip' 'staticlibs')
source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/cisco/openh264/archive/v${pkgver}.tar.gz")
sha256sums=('65d307bf312543ad6e98ec02abb7c27d8fd2c9740fd069d7249844612674a2c7')
sha256sums=('9c07c38d7de00046c9c52b12c76a2af7648b70d05bd5460c8b67f6895738653f')
build() {
[[ -d "build-${MINGW_CHOST}" ]] && rm -rf "build-${MINGW_CHOST}"

View File

@@ -3,7 +3,7 @@
_realname=opus
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.1.5
pkgver=1.2
pkgrel=1
pkgdesc="Codec designed for interactive speech and audio transmission over the Internet (mingw-w64)"
arch=('any')
@@ -12,7 +12,7 @@ license=("BSD")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" "${MINGW_PACKAGE_PREFIX}-pkg-config")
options=('strip' 'staticlibs')
source=("https://archive.mozilla.org/pub/${_realname}/${_realname}-${pkgver}.tar.gz")
sha256sums=('eb84981ca0f40a3e5d5e58d2e8582cb2fee05a022825a6dfe14d14b04eb563e4')
sha256sums=('77db45a87b51578fbc49555ef1b10926179861d854eb2613207dc79d9ec0a9a9')
prepare() {
cd "${srcdir}/${_realname}-${pkgver}"

View File

@@ -0,0 +1,64 @@
# Contributor: Christoph Reiter <reiter.christoph@gmail.com>
_realname=pluggy
pkgbase=mingw-w64-python-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-python2-${_realname}" "${MINGW_PACKAGE_PREFIX}-python3-${_realname}")
pkgver=0.4.0
pkgrel=1
pkgdesc='Plugin and hook calling mechanisms for python (mingw-w64)'
url='https://github.com/pytest-dev/pluggy'
license=('MIT')
arch=('any')
makedepends=("${MINGW_PACKAGE_PREFIX}-python2"
"${MINGW_PACKAGE_PREFIX}-python3"
"${MINGW_PACKAGE_PREFIX}-python2-setuptools"
"${MINGW_PACKAGE_PREFIX}-python3-setuptools")
source=("https://pypi.org/packages/source/p/pluggy/pluggy-0.4.0.zip")
sha256sums=('dd841b5d290b252cf645f75f3bd37ceecfa0f36394ab313e4f785fe68a4081a4')
prepare() {
cd ${srcdir}
for pver in {2,3}; do
rm -rf python${pver}-build-${CARCH}| true
cp -r "${_realname}-${pkgver}" "python${pver}-build-${CARCH}"
done
}
package_python3-pluggy() {
depends=("${MINGW_PACKAGE_PREFIX}-python3")
cd ${srcdir}/python3-build-${CARCH}
${MINGW_PREFIX}/bin/python3 setup.py build
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
${MINGW_PREFIX}/bin/python3 setup.py install --prefix=${MINGW_PREFIX} --root="${pkgdir}"
install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/python3-${_realname}/LICENSE"
}
package_python2-pluggy() {
depends=("${MINGW_PACKAGE_PREFIX}-python2")
cd ${srcdir}/python2-build-${CARCH}
${MINGW_PREFIX}/bin/python2 setup.py build
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
${MINGW_PREFIX}/bin/python2 setup.py install --prefix=${MINGW_PREFIX} --root="${pkgdir}"
install -Dm644 "${srcdir}/${_realname}-${pkgver}/LICENSE" "${pkgdir}${MINGW_PREFIX}/share/licenses/python2-${_realname}/LICENSE"
}
package_mingw-w64-i686-python2-pluggy() {
package_python2-pluggy
}
package_mingw-w64-i686-python3-pluggy() {
package_python3-pluggy
}
package_mingw-w64-x86_64-python2-pluggy() {
package_python2-pluggy
}
package_mingw-w64-x86_64-python3-pluggy() {
package_python3-pluggy
}

View File

@@ -4,7 +4,7 @@ _realname=pytest
pkgbase=mingw-w64-python-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-python2-${_realname}" "${MINGW_PACKAGE_PREFIX}-python3-${_realname}")
pkgver=3.1.2
pkgrel=1
pkgrel=2
pkgdesc='simple powerful testing with Python (mingw-w64)'
url='http://pytest.org'
license=('MIT')
@@ -34,7 +34,9 @@ prepare() {
}
package_python3-pytest() {
depends=("${MINGW_PACKAGE_PREFIX}-python3-py" "${MINGW_PACKAGE_PREFIX}-python3-setuptools")
depends=("${MINGW_PACKAGE_PREFIX}-python3-py"
"${MINGW_PACKAGE_PREFIX}-python3-pluggy"
"${MINGW_PACKAGE_PREFIX}-python3-setuptools")
cd ${srcdir}/python3-build-${CARCH}
${MINGW_PREFIX}/bin/python3 setup.py build
@@ -51,7 +53,9 @@ package_python3-pytest() {
}
package_python2-pytest() {
depends=("${MINGW_PACKAGE_PREFIX}-python2-py" "${MINGW_PACKAGE_PREFIX}-python2-setuptools")
depends=("${MINGW_PACKAGE_PREFIX}-python2-py"
"${MINGW_PACKAGE_PREFIX}-python2-pluggy"
"${MINGW_PACKAGE_PREFIX}-python2-setuptools")
cd ${srcdir}/python2-build-${CARCH}
${MINGW_PREFIX}/bin/python2 setup.py build

View File

@@ -25,11 +25,13 @@ prepare() {
build() {
cd ${srcdir}/build-python3-${CARCH}
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
${MINGW_PREFIX}/bin/python3 setup.py build
CPPFLAGS=$PPCFLAGS" -D_WIN32_WINNT=0x0600" \
${MINGW_PREFIX}/bin/python3 setup.py build
cd ${srcdir}/build-python2-${CARCH}
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
${MINGW_PREFIX}/bin/python2 setup.py build
CPPFLAGS=$PPCFLAGS" -D_WIN32_WINNT=0x0600" \
${MINGW_PREFIX}/bin/python2 setup.py build
}
package_python3-scandir() {