ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/libs/libv4l/patches/010-intl.patch b/external/subpack/libs/libv4l/patches/010-intl.patch
new file mode 100644
index 0000000..b541f46
--- /dev/null
+++ b/external/subpack/libs/libv4l/patches/010-intl.patch
@@ -0,0 +1,50 @@
+--- a/lib/libdvbv5/meson.build
++++ b/lib/libdvbv5/meson.build
+@@ -124,6 +124,7 @@ install_headers(libdvbv5_api, subdir: 'l
+ 
+ libdvbv5_deps = [
+     dep_iconv,
++    dep_intl,
+     dep_libm,
+     dep_librt,
+     dep_libudev,
+--- a/meson.build
++++ b/meson.build
+@@ -202,6 +202,8 @@ size_t iconv (iconv_t cd, char * *inbuf,
+     endif
+ endif
+ 
++dep_intl = dependency('intl')
++
+ have_gconv = cc.has_header('gconv.h', required : get_option('gconv'))
+ 
+ # Detect system gconv directory
+--- a/utils/dvb/meson.build
++++ b/utils/dvb/meson.build
+@@ -1,5 +1,6 @@
+ dvb_common_deps =  [
+     dep_argp,
++    dep_intl,
+     dep_libdvbv5,
+     dep_libudev,
+     dep_threads,
+--- a/utils/ir-ctl/meson.build
++++ b/utils/ir-ctl/meson.build
+@@ -12,6 +12,7 @@ ir_ctl_sources = files(
+ 
+ ir_ctl_deps =  [
+     dep_argp,
++    dep_intl,
+ ]
+ 
+ ir_ctl = executable('ir-ctl',
+--- a/utils/keytable/meson.build
++++ b/utils/keytable/meson.build
+@@ -11,6 +11,7 @@ ir_keytable_sources = files(
+ 
+ ir_keytable_deps = [
+     dep_argp,
++    dep_intl,
+ ]
+ 
+ ir_keytable_system_dir = udevdir
diff --git a/external/subpack/libs/libv4l/patches/020-musl.patch b/external/subpack/libs/libv4l/patches/020-musl.patch
new file mode 100644
index 0000000..b96113e
--- /dev/null
+++ b/external/subpack/libs/libv4l/patches/020-musl.patch
@@ -0,0 +1,50 @@
+--- a/utils/v4l2-tracer/retrace.cpp
++++ b/utils/v4l2-tracer/retrace.cpp
+@@ -10,10 +10,7 @@ extern struct retrace_context ctx_retrac
+ void retrace_mmap(json_object *mmap_obj, bool is_mmap64)
+ {
+ 	json_object *mmap_args_obj;
+-	if (is_mmap64)
+-		json_object_object_get_ex(mmap_obj, "mmap64", &mmap_args_obj);
+-	else
+-		json_object_object_get_ex(mmap_obj, "mmap", &mmap_args_obj);
++	json_object_object_get_ex(mmap_obj, "mmap", &mmap_args_obj);
+ 
+ 	json_object *len_obj;
+ 	json_object_object_get_ex(mmap_args_obj, "len", &len_obj);
+@@ -46,10 +43,7 @@ void retrace_mmap(json_object *mmap_obj,
+ 		return;
+ 
+ 	void *buf_address_retrace_pointer = nullptr;
+-	if (is_mmap64)
+-		buf_address_retrace_pointer = mmap64(0, len, prot, flags, fd_retrace, off);
+-	else
+-		buf_address_retrace_pointer = mmap(0, len, prot, flags, fd_retrace, off);
++	buf_address_retrace_pointer = mmap(0, len, prot, flags, fd_retrace, off);
+ 
+ 	if (buf_address_retrace_pointer == MAP_FAILED) {
+ 		if (is_mmap64)
+@@ -116,10 +110,7 @@ void retrace_open(json_object *jobj, boo
+ 	int fd_trace = json_object_get_int(fd_trace_obj);
+ 
+ 	json_object *open_args_obj;
+-	if (is_open64)
+-		json_object_object_get_ex(jobj, "open64", &open_args_obj);
+-	else
+-		json_object_object_get_ex(jobj, "open", &open_args_obj);
++	json_object_object_get_ex(jobj, "open", &open_args_obj);
+ 
+ 	json_object *path_obj;
+ 	std::string path_trace;
+@@ -148,10 +139,7 @@ void retrace_open(json_object *jobj, boo
+ 		mode = s2number(json_object_get_string(mode_obj));
+ 
+ 	int fd_retrace = 0;
+-	if (is_open64)
+-		fd_retrace = open64(path_retrace.c_str(), oflag, mode);
+-	else
+-		fd_retrace = open(path_retrace.c_str(), oflag, mode);
++	fd_retrace = open(path_retrace.c_str(), oflag, mode);
+ 
+ 	if (fd_retrace <= 0) {
+ 		line_info("\n\tCan't open: %s", path_retrace.c_str());