diff --git a/meta/meta-mediatek-aud/recipes-core/readline/files/inputrc b/meta/meta-mediatek-aud/recipes-core/readline/files/inputrc new file mode 100644 index 000000000..b5c4c8af2 --- /dev/null +++ b/meta/meta-mediatek-aud/recipes-core/readline/files/inputrc @@ -0,0 +1,61 @@ +# /etc/inputrc - global inputrc for libreadline +# See readline(3readline) and `info rluserman' for more information. + +# Be 8 bit clean. +set input-meta on +set output-meta on + +# To allow the use of 8bit-characters like the german umlauts, comment out +# the line below. However this makes the meta key not work as a meta key, +# which is annoying to those which don't need to type in 8-bit characters. + +# set convert-meta off + +# try to enable the application keypad when it is called. Some systems +# need this to enable the arrow keys. +# set enable-keypad on + +# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys + +# do not bell on tab-completion +# set bell-style none + +# some defaults / modifications for the emacs mode +$if mode=emacs + +# allow the use of the Home/End keys +# "\e[1~": beginning-of-line +# "\e[4~": end-of-line + +# allow the use of the Delete/Insert keys +# "\e[3~": delete-char +# "\e[2~": quoted-insert + +# mappings for "page up" and "page down" to step to the beginning/end +# of the history +# "\e[5~": beginning-of-history +# "\e[6~": end-of-history + +# alternate mappings for "page up" and "page down" to search the history +# "\e[5~": history-search-backward +# "\e[6~": history-search-forward + +# # mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving +# "\e[5C": forward-word +# "\e[5D": backward-word +# "\e\e[C": forward-word +# "\e\e[D": backward-word + +# $if term=rxvt +# "\e[8~": end-of-line +# $endif + +# for non RH/Debian xterm, can't hurt for RH/DEbian xterm +# "\eOH": beginning-of-line +# "\eOF": end-of-line + +# for freebsd console +# "\e[H": beginning-of-line +# "\e[F": end-of-line + +$endif diff --git a/meta/meta-mediatek-aud/recipes-core/readline/files/rl-native.map b/meta/meta-mediatek-aud/recipes-core/readline/files/rl-native.map new file mode 100644 index 000000000..5e7d49cdd --- /dev/null +++ b/meta/meta-mediatek-aud/recipes-core/readline/files/rl-native.map @@ -0,0 +1,12 @@ +READLINE_6.3 { + rl_change_environment; + rl_clear_history; + rl_executing_key; + rl_executing_keyseq; + rl_filename_stat_hook; + rl_history_substr_search_backward; + rl_history_substr_search_forward; + rl_input_available_hook; + rl_print_last_kbd_macro; + rl_signal_event_hook; +}; diff --git a/meta/meta-mediatek-aud/recipes-core/readline/readline.inc b/meta/meta-mediatek-aud/recipes-core/readline/readline.inc new file mode 100644 index 000000000..57a941c30 --- /dev/null +++ b/meta/meta-mediatek-aud/recipes-core/readline/readline.inc @@ -0,0 +1,57 @@ +SUMMARY = "Library for editing typed command lines" +DESCRIPTION = "The GNU Readline library provides a set of functions for use by applications that allow users to edit \ +command lines as they are typed in. Both Emacs and vi editing modes are available. The Readline library includes \ +additional functions to maintain a list of previously-entered command lines, to recall and perhaps reedit those \ +lines, and perform csh-like history expansion on previous commands." +SECTION = "libs" +HOMEPAGE = "https://tiswww.case.edu/php/chet/readline/rltop.html" + +# GPL-2.0-or-later (< 6.0), GPL-3.0-or-later (>= 6.0) +LICENSE = "GPL-3.0-or-later" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +DEPENDS += "ncurses" + +SRC_URI = "${GNU_MIRROR}/readline/${BPN}-${PV}.tar.gz;name=archive" +SRC_URI += "file://inputrc" + +inherit autotools texinfo + +EXTRA_AUTORECONF += "--exclude=autoheader" +EXTRA_OECONF += "bash_cv_termcap_lib=ncurses" + +LEAD_SONAME = "libreadline.so" + +do_configure_prepend () { + if [ ! -e ${S}/acinclude.m4 ]; then + cat ${S}/aclocal.m4 > ${S}/acinclude.m4 + fi +} + +do_install_append () { + # Make install doesn't properly install these + oe_libinstall -so -C shlib libhistory ${D}${libdir} + oe_libinstall -so -C shlib libreadline ${D}${libdir} + + rmdir ${D}${bindir} + rm -rf ${D}${datadir}/${BPN}/*.c + rmdir ${D}${datadir}/${BPN} || true + + install -m 0755 -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/inputrc ${D}${sysconfdir}/inputrc +} + +BBCLASSEXTEND = "native nativesdk" + +CONFFILES_${PN} += "${sysconfdir}/inputrc" + +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_${PN}-doc = "history.3" +ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3" + +# OpenSuse injects versions into libreadline leading to conficits between our native one and theirs +# see their spec file for where this is injected. Extra versioning is harmless so we just do the same. +SRC_URI_append_class-native = " file://rl-native.map" +LDFLAGS_append_class-native = " -Wl,--version-script=${WORKDIR}/rl-native.map" diff --git a/meta/meta-mediatek-aud/recipes-core/readline/readline/configure-fix.patch b/meta/meta-mediatek-aud/recipes-core/readline/readline/configure-fix.patch new file mode 100644 index 000000000..ef3104f8a --- /dev/null +++ b/meta/meta-mediatek-aud/recipes-core/readline/readline/configure-fix.patch @@ -0,0 +1,35 @@ +Upstream-Status: Pending + +Without this it fails to link against libtermcap causing various missing +symbols issues. + +RP - 8/10/08 + +Support 6.3 which uses configure.ac rather than configure.in. +Signed-off-by: Hongxu Jia +--- + configure.ac | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index cea8f91..9075b8f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -218,10 +218,10 @@ if test -f ${srcdir}/support/shobj-conf; then + AC_MSG_CHECKING(configuration for building shared libraries) + eval `TERMCAP_LIB=$TERMCAP_LIB ${CONFIG_SHELL-/bin/sh} ${srcdir}/support/shobj-conf -C "${CC}" -c ${host_cpu} -o ${host_os} -v ${host_vendor}` + +-# case "$SHLIB_LIBS" in +-# *curses*|*termcap*|*termlib*) ;; +-# *) SHLIB_LIBS="$SHLIB_LIBS $TERMCAP_LIB" ;; +-# esac ++ case "$SHLIB_LIBS" in ++ *curses*|*termcap*|*termlib*) ;; ++ *) SHLIB_LIBS="$SHLIB_LIBS $TERMCAP_LIB" ;; ++ esac + + AC_SUBST(SHOBJ_CC) + AC_SUBST(SHOBJ_CFLAGS) +-- +1.8.1.2 + diff --git a/meta/meta-mediatek-aud/recipes-core/readline/readline/norpath.patch b/meta/meta-mediatek-aud/recipes-core/readline/readline/norpath.patch new file mode 100644 index 000000000..5d71582b7 --- /dev/null +++ b/meta/meta-mediatek-aud/recipes-core/readline/readline/norpath.patch @@ -0,0 +1,21 @@ +This support script ends up hardcoding unnecessary rpaths into the libraries. We +will search $libdir automatically so this is just wastes space. There may be some +cases this is necessary but our use cases aren't one of them. + +Upstream-Status: Inappropriate + +RP 2012/2/23 + +Index: readline-6.2/support/shobj-conf +=================================================================== +--- readline-6.2.orig/support/shobj-conf 2012-02-23 11:06:37.193179379 +0000 ++++ readline-6.2/support/shobj-conf 2012-02-23 11:06:50.049178918 +0000 +@@ -114,7 +114,7 @@ + SHOBJ_LD='${CC}' + SHOBJ_LDFLAGS='-shared -Wl,-soname,$@' + +- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`' ++ SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`' + SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)' + ;; + diff --git a/meta/meta-mediatek-aud/recipes-core/readline/readline_8.1.2.bb b/meta/meta-mediatek-aud/recipes-core/readline/readline_8.1.2.bb new file mode 100644 index 000000000..787f7e734 --- /dev/null +++ b/meta/meta-mediatek-aud/recipes-core/readline/readline_8.1.2.bb @@ -0,0 +1,7 @@ +require readline.inc + +SRC_URI += "file://configure-fix.patch \ + file://norpath.patch \ + " + +SRC_URI[archive.sha256sum] = "7589a2381a8419e68654a47623ce7dfcb756815c8fee726b98f90bf668af7bc6" diff --git a/meta/meta-mediatek-aud/recipes-support/faad2/faad2_2.8.8.bb b/meta/meta-mediatek-aud/recipes-support/faad2/faad2_2.8.8.bb new file mode 100644 index 000000000..d16b60e26 --- /dev/null +++ b/meta/meta-mediatek-aud/recipes-support/faad2/faad2_2.8.8.bb @@ -0,0 +1,14 @@ +SUMMARY = "An open source MPEG-4 and MPEG-2 AAC decoding library" +HOMEPAGE = "http://www.audiocoding.com/faad2.html" +SECTION = "libs" +LICENSE = "GPL-2.0-only" + +LIC_FILES_CHKSUM = "file://COPYING;md5=381c8cbe277a7bc1ee2ae6083a04c958" + +LICENSE_FLAGS = "commercial" + +SRC_URI = "${SOURCEFORGE_MIRROR}/faac/faad2-src/faad2-2.8.0/${BP}.tar.gz" +SRC_URI[md5sum] = "28f6116efdbe9378269f8a6221767d1f" +SRC_URI[sha256sum] = "985c3fadb9789d2815e50f4ff714511c79c2710ac27a4aaaf5c0c2662141426d" + +inherit autotools lib_package \ No newline at end of file diff --git a/meta/meta-mediatek-aud/recipes-support/libcheck/libcheck/not-echo-compiler-info-to-check_stdint.h.patch b/meta/meta-mediatek-aud/recipes-support/libcheck/libcheck/not-echo-compiler-info-to-check_stdint.h.patch new file mode 100644 index 000000000..3c7572700 --- /dev/null +++ b/meta/meta-mediatek-aud/recipes-support/libcheck/libcheck/not-echo-compiler-info-to-check_stdint.h.patch @@ -0,0 +1,19 @@ +Do not echo compiler info in a comment line to check_stdint.h which causes +multilib install file conflict. + +Upstream-Status: Pending + +Signed-off-by: Kai Kang + +diff --git a/m4/ax_create_stdint_h.m4 b/m4/ax_create_stdint_h.m4 +index 33a21f8..eacc37a 100644 +--- a/m4/ax_create_stdint_h.m4 ++++ b/m4/ax_create_stdint_h.m4 +@@ -272,7 +272,6 @@ echo "#ifndef" $_ac_stdint_h >$ac_stdint + echo "#define" $_ac_stdint_h "1" >>$ac_stdint + echo "#ifndef" _GENERATED_STDINT_H >>$ac_stdint + echo "#define" _GENERATED_STDINT_H '"'$PACKAGE $VERSION'"' >>$ac_stdint +-echo "/* generated $ac_cv_stdint_message */" >>$ac_stdint + if test "_$ac_cv_header_stdint_t" != "_" ; then + echo "#define _STDINT_HAVE_STDINT_H" "1" >>$ac_stdint + echo "#include " >>$ac_stdint diff --git a/meta/meta-mediatek-aud/recipes-support/libcheck/libcheck_0.15.2.bb b/meta/meta-mediatek-aud/recipes-support/libcheck/libcheck_0.15.2.bb new file mode 100644 index 000000000..02242afbe --- /dev/null +++ b/meta/meta-mediatek-aud/recipes-support/libcheck/libcheck_0.15.2.bb @@ -0,0 +1,36 @@ +SUMMARY = "Check - unit testing framework for C code" +DESCRIPTION = "It features a simple interface for defining unit tests, \ +putting little in the way of the developer. Tests are run in a separate \ +address space, so both assertion failures and code errors that cause \ +segmentation faults or other signals can be caught. Test results are \ +reportable in the following: Subunit, TAP, XML, and a generic logging format." +HOMEPAGE = "https://libcheck.github.io/check/" +SECTION = "devel" + +LICENSE = "LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=2d5025d4aa3495befef8f17206a5b0a1" + +SRC_URI = "https://github.com/${BPN}/check/releases/download/${PV}/check-${PV}.tar.gz \ + file://not-echo-compiler-info-to-check_stdint.h.patch" +SRC_URI[sha256sum] = "a8de4e0bacfb4d76dd1c618ded263523b53b85d92a146d8835eb1a52932fa20a" +UPSTREAM_CHECK_URI = "https://github.com/libcheck/check/releases/" + +S = "${WORKDIR}/check-${PV}" + +inherit autotools pkgconfig texinfo + +CACHED_CONFIGUREVARS += "ac_cv_path_AWK_PATH=${bindir}/gawk" + +RREPLACES_${PN} = "check (<= 0.9.5)" + +do_install_append_class-native() { + create_cmdline_shebang_wrapper ${D}${bindir}/checkmk +} +BBCLASSEXTEND = "native nativesdk" + +PACKAGES =+ "checkmk" + +FILES_checkmk = "${bindir}/checkmk" + +RDEPENDS_checkmk = "gawk" + diff --git a/meta/meta-mediatek-aud/recipes-support/taglib/taglib_1.12.bb b/meta/meta-mediatek-aud/recipes-support/taglib/taglib_1.12.bb new file mode 100644 index 000000000..e3fece67b --- /dev/null +++ b/meta/meta-mediatek-aud/recipes-support/taglib/taglib_1.12.bb @@ -0,0 +1,42 @@ +SUMMARY = "Library for reading and editing the meta-data of popular audio formats" +DESCRIPTION = "Platform-independent library (tested on Windows/Linux) for reading and writing metadata in media files, including video, audio, and photo formats. This is a convenient one-stop-shop to present or tag all your media collection, regardless of which format/container these might use. You can read/write the standard or more common tags/properties of a media, or you can also create and retrieve your own custom tags." +SECTION = "libs/multimedia" +HOMEPAGE = "http://taglib.github.io/" +LICENSE = "LGPL-2.1-only | MPL-1.1" +LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ + file://COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \ + file://taglib/audioproperties.h;beginline=1;endline=24;md5=9df2c7399519b7310568a7c55042ecee" + +DEPENDS = "zlib" + +SRC_URI = "http://taglib.github.io/releases/${BP}.tar.gz" + +SRC_URI[md5sum] = "4313ed2671234e029b7af8f97c84e9af" +SRC_URI[sha256sum] = "7fccd07669a523b07a15bd24c8da1bbb92206cb19e9366c3692af3d79253b703" + +UPSTREAM_CHECK_URI = "http://github.com/taglib/taglib/releases/" + +BINCONFIG = "${bindir}/taglib-config" + +inherit cmake pkgconfig binconfig-disabled + +PACKAGES =+ "${PN}-c" +FILES_${PN}-c = "${libdir}/libtag_c.so.*" + +EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \ + -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \ + -DHAVE_BOOST_BYTESWAP=FALSE \ + -DCMAKE_CXX_STANDARD=11 \ + -DCMAKE_CXX_STANDARD_REQUIRED=OFF \ + -DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')} \ +" +CXXFLAGS += "-std=c++11" + +do_configure_prepend () { + rm -f ${S}/admin/ltmain.sh + rm -f ${S}/admin/libtool.m4.in +} + +# without -fPIC depending packages failed with many error like: +# | <...>/ld: error: <...>/usr/lib/libtag.a(modfilebase.cpp.o): requires unsupported dynamic reloc R_ARM_THM_MOVW_ABS_NC; recompile with -fPIC +CXXFLAGS += "-fPIC" diff --git a/meta/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb b/meta/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb new file mode 100644 index 000000000..0582ed979 --- /dev/null +++ b/meta/meta-openembedded/meta-oe/recipes-multimedia/libopus/libopus_1.3.1.bb @@ -0,0 +1,50 @@ +SUMMARY = "Opus Audio Codec" +DESCRIPTION = "The Opus codec is designed for interactive \ +speech and audio transmission over the Internet. It is \ +designed by the IETF Codec Working Group and incorporates \ +technology from Skype's SILK codec and Xiph.Org's CELT codec." +HOMEPAGE = "http://www.opus-codec.org/" +SECTION = "libs/multimedia" +LICENSE = "BSD-3-Clause" +LIC_FILES_CHKSUM = "file://COPYING;md5=e304cdf74c2a1b0a33a5084c128a23a3" + +SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz" +SRC_URI[md5sum] = "d7c07db796d21c9cf1861e0c2b0c0617" +SRC_URI[sha256sum] = "65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d" + +S = "${WORKDIR}/opus-${PV}" + +inherit autotools pkgconfig + +PACKAGECONFIG ??= "" +PACKAGECONFIG[fixed-point] = "--enable-fixed-point,," +PACKAGECONFIG[float-approx] = "--enable-float-approx,," + +EXTRA_OECONF = "--with-NE10-includes=${STAGING_DIR_TARGET}${includedir} \ + --with-NE10-libraries=${STAGING_DIR_TARGET}${libdir} \ + --enable-asm \ + --enable-intrinsics \ + " + +python () { + if d.getVar('TARGET_FPU', True) in [ 'soft' ]: + d.appendVar('PACKAGECONFIG', ' fixed-point') + + # Ne10 is only available for armv7 and aarch64 + if any((t.startswith('armv7') or t.startswith('aarch64')) for t in d.getVar('TUNE_FEATURES', True).split()): + d.appendVar('DEPENDS', ' ne10') +} + +# Fails to build with thumb-1 (qemuarm) +#| {standard input}: Assembler messages: +#| {standard input}:389: Error: selected processor does not support Thumb mode `smull r5,r7,r1,r4' +#| {standard input}:418: Error: selected processor does not support Thumb mode `smull r5,r6,r4,r1' +#| {standard input}:448: Error: selected processor does not support Thumb mode `smull r4,r5,r1,r0' +#| {standard input}:474: Error: selected processor does not support Thumb mode `smull r0,r4,r8,r1' +#| {standard input}:510: Error: selected processor does not support Thumb mode `smull fp,r0,r10,r1' +#| {standard input}:553: Error: selected processor does not support Thumb mode `smull fp,r1,r10,r3' +#| {standard input}:741: Error: selected processor does not support Thumb mode `smull r3,r0,r6,r10' +#| {standard input}:761: Error: selected processor does not support Thumb mode `smull fp,r2,r3,r9' +#| {standard input}:773: Error: selected processor does not support Thumb mode `smull fp,r3,r5,r8' +#| make[2]: *** [celt/celt.lo] Error 1 +ARM_INSTRUCTION_SET = "arm"