summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/jack-1-fixes.patch188
-rw-r--r--src/jack-1-link-to-libsndfile-deps.patch28
-rw-r--r--src/jack-2-disable-sigquit-and-sighup.patch45
-rw-r--r--src/jack-3-add-lreadline-to-linkflags-of-transport.patch52
-rw-r--r--src/jack-4-install-libs-to-subdir.patch80
5 files changed, 188 insertions, 205 deletions
diff --git a/src/jack-1-fixes.patch b/src/jack-1-fixes.patch
new file mode 100644
index 0000000..dcadf4e
--- /dev/null
+++ b/src/jack-1-fixes.patch
@@ -0,0 +1,188 @@
+This file is part of MXE.
+See index.html for further information.
+
+Contains ad hoc patches for cross building.
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Harry Nakos <xnakos@gmail.com>
+Date: Tue, 16 Jun 2015 21:55:31 +0300
+Subject: [PATCH] Patch wscript to link to FLAC, vorbis, vorbisenc, and ogg
+ libraries
+
+... which libsndfile is dependent on, since libsndfile will most probably
+have not been built statically linked to those libraries.
+
+diff --git a/example-clients/wscript b/example-clients/wscript
+index 1111111..2222222 100644
+--- a/example-clients/wscript
++++ b/example-clients/wscript
+@@ -41,6 +41,10 @@ def configure(conf):
+
+ if conf.is_defined('HAVE_SNDFILE'):
+ conf.env['LIB_SNDFILE'] = ['sndfile']
++ conf.env['LIB_FLAC'] = ['FLAC']
++ conf.env['LIB_VORBIS'] = ['vorbis']
++ conf.env['LIB_VORBISENC'] = ['vorbisenc']
++ conf.env['LIB_OGG'] = ['ogg']
+
+ conf.check_cfg(package='celt', atleast_version='0.5.0', args='--cflags --libs', mandatory=False)
+
+@@ -124,7 +128,7 @@ def build(bld):
+ if bld.env['IS_SUN']:
+ prog.use += ['RT', 'SNDFILE']
+ if bld.env['IS_WINDOWS']:
+- prog.uselib = ['SNDFILE']
++ prog.uselib = ['SNDFILE', 'FLAC', 'VORBIS', 'VORBISENC', 'OGG']
+ prog.target = 'jack_rec'
+
+ if bld.env['IS_LINUX'] or bld.env['IS_MACOSX']:
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Boris Nagaev <bnagaev@gmail.com>
+Date: Mon, 31 Aug 2015 23:39:35 +0200
+Subject: [PATCH] disable SIGQUIT and SIGHUP
+
+Windows doesn't have them.
+
+Fixed error:
+
+ ../example-clients/transport.c: In function 'main':
+ ../example-clients/transport.c:462:9: error: 'SIGQUIT' undeclared (first use in this function)
+ signal(SIGQUIT, signal_handler);
+ ^
+ ../example-clients/transport.c:462:9: note: each undeclared identifier is reported only once for each function it appears in
+ ../example-clients/transport.c:464:9: error: 'SIGHUP' undeclared (first use in this function)
+ signal(SIGHUP, signal_handler);
+ ^
+
+diff --git a/example-clients/transport.c b/example-clients/transport.c
+index 1111111..2222222 100644
+--- a/example-clients/transport.c
++++ b/example-clients/transport.c
+@@ -459,9 +459,13 @@ int main(int argc, char *argv[])
+ return 1;
+ }
+
++#ifndef _WIN32
+ signal(SIGQUIT, signal_handler);
++#endif
+ signal(SIGTERM, signal_handler);
++#ifndef _WIN32
+ signal(SIGHUP, signal_handler);
++#endif
+ signal(SIGINT, signal_handler);
+
+ jack_on_shutdown(client, jack_shutdown, 0);
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Boris Nagaev <bnagaev@gmail.com>
+Date: Tue, 1 Sep 2015 22:59:47 +0200
+Subject: [PATCH] link transport.c -lreadline and -ltermcap
+
+Fixed error:
+
+src/jack-3-add-lreadline-to-linkflags-of-transport.patch:
+
+ example-clients/transport.c.28.o:transport.c:(.text+0x2e0): undefined reference to `rl_cleanup_after_signal'
+ example-clients/transport.c.28.o:transport.c:(.text+0xa27): undefined reference to `rl_readline_name'
+ example-clients/transport.c.28.o:transport.c:(.text+0xa2d): undefined reference to `rl_completion_entry_function'
+ example-clients/transport.c.28.o:transport.c:(.text+0xa3e): undefined reference to `readline'
+ example-clients/transport.c.28.o:transport.c:(.text+0xa82): undefined reference to `add_history'
+
+diff --git a/example-clients/wscript b/example-clients/wscript
+index 1111111..2222222 100644
+--- a/example-clients/wscript
++++ b/example-clients/wscript
+@@ -49,12 +49,13 @@ def configure(conf):
+ conf.check_cfg(package='celt', atleast_version='0.5.0', args='--cflags --libs', mandatory=False)
+
+ e = conf.check_cc(lib='readline', define_name="HAVE_READLINE", mandatory=False)
++ e = conf.check_cc(lib='termcap', define_name="HAVE_TERMCAP", mandatory=False)
+
+ # define_name="HAVE_READLINE" has no effect, LIB_READLINE is defined if readline is available
+ #if conf.is_defined('HAVE_READLINE'):
+ # conf.env['LIB_READLINE'] = ['readline']
+
+- conf.env['BUILD_EXAMPLE_CLIENT_TRANSPORT'] = bool(conf.env['LIB_READLINE'])
++ conf.env['BUILD_EXAMPLE_CLIENT_TRANSPORT'] = bool(conf.env['LIB_READLINE']) and bool(conf.env['LIB_TERMCAP'])
+
+ conf.env['BUILD_EXAMPLE_CLIENT_REC'] = conf.is_defined('HAVE_SNDFILE')
+
+@@ -112,6 +113,7 @@ def build(bld):
+ if bld.env['IS_MACOSX']:
+ prog.use += ['READLINE']
+ prog.target = 'jack_transport'
++ prog.use += ['READLINE', 'TERMCAP']
+
+ if bld.env['BUILD_EXAMPLE_CLIENT_REC']:
+ prog = bld(features = 'c cprogram')
+
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Boris Nagaev <bnagaev@gmail.com>
+Date: Tue, 1 Sep 2015 22:23:51 +0200
+Subject: [PATCH] install jack libs to lib/jack/ instead of lib/
+
+Some Jack library names collide with other libraries,
+namely portaudio.
+
+When Jack is installed first time, it adds libportaudio.dll.a to
+usr/i686-w64-mingw32.static/lib/. Portaudio has library
+usr/i686-w64-mingw32.static/lib/libportaudio.a. When Jack is compiled
+second time, it uses its own libportaudio.dll.a instead of
+libportaudio.a from portaudio.
+
+Removing usr/i686-w64-mingw32.static/lib/libportaudio.dll.a fixes build of Jack.
+
+For i686-w64-mingw32.shared, this can't be fixed by just removing
+libportaudio.dll.a before building jack, because both portaudio and
+jack have file usr/i686-w64-mingw32.shared/lib/libportaudio.dll.a.
+Two packages must not have same file.
+
+jack's libraries should be installed to subdir of usr/<target>/lib/.
+
+Jack uses waf build system, which unpacks itself from file "waf".
+Installation path for lib*.dll.a (PREFIX + /lib) is hardcoded in waf:
+
+waflib/Tools/ccroot.py:
+
+ self.implib_install_task=self.bld.install_as('${PREFIX}/lib/%s'%implib.name,implib,self.env)
+
+The least ugly way to change subdir I can find is changing
+function do_install in InstallContext class. Other approaches
+either do not work or require changing contents of waflib
+(which is unpacked from "waf" file in run-time).
+
+This patch replaces paths like "lib/libjack.dll.a" with
+"lib/jack/libjack.dll.a", but doesn't replace
+"/lib/pkgconfig/jack.pc".
+
+diff --git a/jack.pc.in b/jack.pc.in
+index 1111111..2222222 100644
+--- a/jack.pc.in
++++ b/jack.pc.in
+@@ -7,5 +7,5 @@ server_libs=-L@LIBDIR@ -l@SERVERLIB@
+ Name: jack
+ Description: the Jack Audio Connection Kit: a low-latency synchronous callback-based media server
+ Version: @JACK_VERSION@
+-Libs: -L@LIBDIR@ -ljack
++Libs: -L@LIBDIR@/jack -ljack
+ Cflags: -I@INCLUDEDIR@
+diff --git a/wscript b/wscript
+index 1111111..2222222 100644
+--- a/wscript
++++ b/wscript
+@@ -378,8 +378,13 @@ def configure(conf):
+ print(Logs.colors.NORMAL, end=' ')
+ print()
+
++class MyInstallContext(InstallContext):
++ def do_install(self, src, tgt, *args, **kvargs):
++ tgt = str(tgt).replace('/lib/lib', '/lib/jack/lib')
++ InstallContext.do_install(self, src, tgt, *args, **kvargs)
++
+ def init(ctx):
+- for y in (BuildContext, CleanContext, InstallContext, UninstallContext):
++ for y in (BuildContext, CleanContext, MyInstallContext, UninstallContext):
+ name = y.__name__.replace('Context','').lower()
+ class tmp(y):
+ cmd = name + '_' + lib32
diff --git a/src/jack-1-link-to-libsndfile-deps.patch b/src/jack-1-link-to-libsndfile-deps.patch
deleted file mode 100644
index 5986ebb..0000000
--- a/src/jack-1-link-to-libsndfile-deps.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-This patch has been taken from:
-????
-
---- jack-1.9.10/example-clients/wscript.orig 2015-06-16 15:34:56.407346962 +0300
-+++ jack-1.9.10/example-clients/wscript 2015-06-16 21:15:40.923117183 +0300
-@@ -41,6 +41,10 @@
-
- if conf.is_defined('HAVE_SNDFILE'):
- conf.env['LIB_SNDFILE'] = ['sndfile']
-+ conf.env['LIB_FLAC'] = ['FLAC']
-+ conf.env['LIB_VORBIS'] = ['vorbis']
-+ conf.env['LIB_VORBISENC'] = ['vorbisenc']
-+ conf.env['LIB_OGG'] = ['ogg']
-
- conf.check_cfg(package='celt', atleast_version='0.5.0', args='--cflags --libs', mandatory=False)
-
-@@ -124,7 +128,7 @@
- if bld.env['IS_SUN']:
- prog.use += ['RT', 'SNDFILE']
- if bld.env['IS_WINDOWS']:
-- prog.uselib = ['SNDFILE']
-+ prog.uselib = ['SNDFILE', 'FLAC', 'VORBIS', 'VORBISENC', 'OGG']
- prog.target = 'jack_rec'
-
- if bld.env['IS_LINUX'] or bld.env['IS_MACOSX']:
diff --git a/src/jack-2-disable-sigquit-and-sighup.patch b/src/jack-2-disable-sigquit-and-sighup.patch
deleted file mode 100644
index c9df003..0000000
--- a/src/jack-2-disable-sigquit-and-sighup.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-From 2e1760b4bc62715f12e90c1396f839521506db85 Mon Sep 17 00:00:00 2001
-From: Boris Nagaev <bnagaev@gmail.com>
-Date: Mon, 31 Aug 2015 23:39:35 +0200
-Subject: [PATCH] disable SIGQUIT and SIGHUP
-
-Windows doesn't have them.
-
-Fixed error:
-
- ../example-clients/transport.c: In function 'main':
- ../example-clients/transport.c:462:9: error: 'SIGQUIT' undeclared (first use in this function)
- signal(SIGQUIT, signal_handler);
- ^
- ../example-clients/transport.c:462:9: note: each undeclared identifier is reported only once for each function it appears in
- ../example-clients/transport.c:464:9: error: 'SIGHUP' undeclared (first use in this function)
- signal(SIGHUP, signal_handler);
- ^
----
- example-clients/transport.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/example-clients/transport.c b/example-clients/transport.c
-index 76184df..f0e3924 100644
---- a/example-clients/transport.c
-+++ b/example-clients/transport.c
-@@ -460,9 +460,13 @@ int main(int argc, char *argv[])
- return 1;
- }
-
-+#ifndef _WIN32
- signal(SIGQUIT, signal_handler);
-+#endif
- signal(SIGTERM, signal_handler);
-+#ifndef _WIN32
- signal(SIGHUP, signal_handler);
-+#endif
- signal(SIGINT, signal_handler);
-
- jack_on_shutdown(client, jack_shutdown, 0);
---
-1.7.10.4
-
diff --git a/src/jack-3-add-lreadline-to-linkflags-of-transport.patch b/src/jack-3-add-lreadline-to-linkflags-of-transport.patch
deleted file mode 100644
index 48d13f1..0000000
--- a/src/jack-3-add-lreadline-to-linkflags-of-transport.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-From cd9319a5a5570aab7cfd6a51630a13e7f9db9658 Mon Sep 17 00:00:00 2001
-From: Boris Nagaev <bnagaev@gmail.com>
-Date: Tue, 1 Sep 2015 22:59:47 +0200
-Subject: [PATCH] link transport.c -lreadline and -ltermcap
-
-Fixed error:
-
-src/jack-3-add-lreadline-to-linkflags-of-transport.patch:
-
- example-clients/transport.c.28.o:transport.c:(.text+0x2e0): undefined reference to `rl_cleanup_after_signal'
- example-clients/transport.c.28.o:transport.c:(.text+0xa27): undefined reference to `rl_readline_name'
- example-clients/transport.c.28.o:transport.c:(.text+0xa2d): undefined reference to `rl_completion_entry_function'
- example-clients/transport.c.28.o:transport.c:(.text+0xa3e): undefined reference to `readline'
- example-clients/transport.c.28.o:transport.c:(.text+0xa82): undefined reference to `add_history'
-
----
- example-clients/wscript | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/example-clients/wscript b/example-clients/wscript
-index fbf8999..8d6dfb9 100644
---- a/example-clients/wscript
-+++ b/example-clients/wscript
-@@ -45,12 +45,13 @@ def configure(conf):
- conf.check_cfg(package='celt', atleast_version='0.5.0', args='--cflags --libs', mandatory=False)
-
- e = conf.check_cc(lib='readline', define_name="HAVE_READLINE", mandatory=False)
-+ e = conf.check_cc(lib='termcap', define_name="HAVE_TERMCAP", mandatory=False)
-
- # define_name="HAVE_READLINE" has no effect, LIB_READLINE is defined if readline is available
- #if conf.is_defined('HAVE_READLINE'):
- # conf.env['LIB_READLINE'] = ['readline']
-
-- conf.env['BUILD_EXAMPLE_CLIENT_TRANSPORT'] = bool(conf.env['LIB_READLINE'])
-+ conf.env['BUILD_EXAMPLE_CLIENT_TRANSPORT'] = bool(conf.env['LIB_READLINE']) and bool(conf.env['LIB_TERMCAP'])
-
- conf.env['BUILD_EXAMPLE_CLIENT_REC'] = conf.is_defined('HAVE_SNDFILE')
-
-@@ -108,6 +109,7 @@ def build(bld):
- if bld.env['IS_MACOSX']:
- prog.use += ['READLINE']
- prog.target = 'jack_transport'
-+ prog.use += ['READLINE', 'TERMCAP']
-
- if bld.env['BUILD_EXAMPLE_CLIENT_REC']:
- prog = bld(features = 'c cprogram')
---
-1.7.10.4
-
diff --git a/src/jack-4-install-libs-to-subdir.patch b/src/jack-4-install-libs-to-subdir.patch
deleted file mode 100644
index 6783846..0000000
--- a/src/jack-4-install-libs-to-subdir.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-This file is part of MXE.
-See index.html for further information.
-
-From f388514f8cba7102eec857aa4c2675d1024cd25c Mon Sep 17 00:00:00 2001
-From: Boris Nagaev <bnagaev@gmail.com>
-Date: Tue, 1 Sep 2015 22:23:51 +0200
-Subject: [PATCH] install jack libs to lib/jack/ instead of lib/
-
-Some Jack library names collide with other libraries,
-namely portaudio.
-
-When Jack is installed first time, it adds libportaudio.dll.a to
-usr/i686-w64-mingw32.static/lib/. Portaudio has library
-usr/i686-w64-mingw32.static/lib/libportaudio.a. When Jack is compiled
-second time, it uses its own libportaudio.dll.a instead of
-libportaudio.a from portaudio.
-
-Removing usr/i686-w64-mingw32.static/lib/libportaudio.dll.a fixes build of Jack.
-
-For i686-w64-mingw32.shared, this can't be fixed by just removing
-libportaudio.dll.a before building jack, because both portaudio and
-jack have file usr/i686-w64-mingw32.shared/lib/libportaudio.dll.a.
-Two packages must not have same file.
-
-jack's libraries should be installed to subdir of usr/<target>/lib/.
-
-Jack uses waf build system, which unpacks itself from file "waf".
-Installation path for lib*.dll.a (PREFIX + /lib) is hardcoded in waf:
-
-waflib/Tools/ccroot.py:
-
- self.implib_install_task=self.bld.install_as('${PREFIX}/lib/%s'%implib.name,implib,self.env)
-
-The least ugly way to change subdir I can find is changing
-function do_install in InstallContext class. Other approaches
-either do not work or require changing contents of waflib
-(which is unpacked from "waf" file in run-time).
-
-This patch replaces paths like "lib/libjack.dll.a" with
-"lib/jack/libjack.dll.a", but doesn't replace
-"/lib/pkgconfig/jack.pc".
-
----
- jack.pc.in | 2 +-
- wscript | 7 ++++++-
- 2 files changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/jack.pc.in b/jack.pc.in
-index fbda3a4..c67772b 100644
---- a/jack.pc.in
-+++ b/jack.pc.in
-@@ -7,5 +7,5 @@ server_libs=-L@LIBDIR@ -l@SERVERLIB@
- Name: jack
- Description: the Jack Audio Connection Kit: a low-latency synchronous callback-based media server
- Version: @JACK_VERSION@
--Libs: -L@LIBDIR@ -ljack
-+Libs: -L@LIBDIR@/jack -ljack
- Cflags: -I@INCLUDEDIR@
-diff --git a/wscript b/wscript
-index aef4bd8..16507e7 100644
---- a/wscript
-+++ b/wscript
-@@ -378,8 +378,13 @@ def configure(conf):
- print(Logs.colors.NORMAL, end=' ')
- print()
-
-+class MyInstallContext(InstallContext):
-+ def do_install(self, src, tgt, *args, **kvargs):
-+ tgt = str(tgt).replace('/lib/lib', '/lib/jack/lib')
-+ InstallContext.do_install(self, src, tgt, *args, **kvargs)
-+
- def init(ctx):
-- for y in (BuildContext, CleanContext, InstallContext, UninstallContext):
-+ for y in (BuildContext, CleanContext, MyInstallContext, UninstallContext):
- name = y.__name__.replace('Context','').lower()
- class tmp(y):
- cmd = name + '_' + lib32
---
-1.7.10.4
-