From a8abb58be6349910a1343c77b1f9b9acd44709f6 Mon Sep 17 00:00:00 2001 From: Michael Gehring Date: Tue, 26 Apr 2016 02:06:02 +0200 Subject: [PATCH] guvcview: fix musl build (Alpine patch) --- .../0001-fix-building-with-musl-libc.patch | 120 ++++++++++++++++++ srcpkgs/guvcview/template | 4 + 2 files changed, 124 insertions(+) create mode 100644 srcpkgs/guvcview/patches/0001-fix-building-with-musl-libc.patch diff --git a/srcpkgs/guvcview/patches/0001-fix-building-with-musl-libc.patch b/srcpkgs/guvcview/patches/0001-fix-building-with-musl-libc.patch new file mode 100644 index 0000000000..53d77cbeb5 --- /dev/null +++ b/srcpkgs/guvcview/patches/0001-fix-building-with-musl-libc.patch @@ -0,0 +1,120 @@ +From 3112f9654e9f21ce5d3ab23a3a1e7c6dfdce45c6 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Mon, 25 May 2015 11:33:46 +0000 +Subject: [PATCH] fix building with musl libc + +The __BEGIN_DECLS and __END_DECLS are internal identifiers which are not +defined in any standard. The use of those makes compile fail with musl +libc so we avoid using them +--- + gview_audio/gviewaudio.h | 9 +++++++-- + gview_encoder/gviewencoder.h | 8 ++++++-- + gview_render/gviewrender.h | 8 ++++++-- + gview_v4l2core/gviewv4l2core.h | 8 ++++++-- + 4 files changed, 25 insertions(+), 8 deletions(-) + +diff --git a/gview_audio/gviewaudio.h b/gview_audio/gviewaudio.h +index 0cc6f70..5cae68b 100644 +--- gview_audio/gviewaudio.h ++++ gview_audio/gviewaudio.h +@@ -38,7 +38,9 @@ + #include + + /*make sure we support c++*/ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + + /*Audio API*/ + #define AUDIO_NONE (0) +@@ -263,6 +265,9 @@ int audio_stop(audio_context_t *audio_ctx); + */ + void audio_close(audio_context_t *audio_ctx); + +-__END_DECLS ++ ++#ifdef __cplusplus ++} ++#endif + + #endif +diff --git a/gview_encoder/gviewencoder.h b/gview_encoder/gviewencoder.h +index 2bc3586..aeff883 100644 +--- gview_encoder/gviewencoder.h ++++ gview_encoder/gviewencoder.h +@@ -38,7 +38,9 @@ + #include + + /*make sure we support c++*/ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + + /*encoder modes*/ + #define ENCODER_MODE_NONE (0) +@@ -732,6 +734,8 @@ int encoder_write_audio_data(encoder_context_t *encoder_ctx); + */ + int encoder_disk_supervisor(int treshold, const char *path); + +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif +diff --git a/gview_render/gviewrender.h b/gview_render/gviewrender.h +index e6cedfa..73c3b2c 100644 +--- gview_render/gviewrender.h ++++ gview_render/gviewrender.h +@@ -38,7 +38,9 @@ + #include + + /*make sure we support c++*/ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + + #define RENDER_NONE (0) + #define RENDER_SDL (1) +@@ -279,6 +281,8 @@ void render_clean_fx(); + */ + void render_close(); + +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif +diff --git a/gview_v4l2core/gviewv4l2core.h b/gview_v4l2core/gviewv4l2core.h +index e9d5d53..35f075f 100644 +--- gview_v4l2core/gviewv4l2core.h ++++ gview_v4l2core/gviewv4l2core.h +@@ -33,7 +33,9 @@ + #include + + /*make sure we support c++*/ +-__BEGIN_DECLS ++#ifdef __cplusplus ++extern "C" { ++#endif + + /* + * LOGITECH Dynamic controls defs +@@ -1386,7 +1388,9 @@ int v4l2core_save_image(v4l2_frame_buff_t *frame, const char *filename, int form + */ + uint64_t v4l2core_time_get_timestamp(); + +-__END_DECLS ++#ifdef __cplusplus ++} ++#endif + + #endif + +-- +2.4.1 + diff --git a/srcpkgs/guvcview/template b/srcpkgs/guvcview/template index bd7725338b..1ee20aaa74 100644 --- a/srcpkgs/guvcview/template +++ b/srcpkgs/guvcview/template @@ -15,3 +15,7 @@ license="GPL-3" homepage="http://guvcview.sourceforge.net/" distfiles="${SOURCEFORGE_SITE}/$pkgname/${pkgname}-src-${version}.tar.gz" checksum=670ef45168a9b58d36ac42f09c498db5e56b76b0be25b0a6dc97528569334fa2 + +post_extract() { + sed '31a#include ' -i guvcview/guvcview.c +}