diff options
28 files changed, 726 insertions, 403 deletions
diff --git a/package/adkinstall/Makefile b/package/adkinstall/Makefile index 8cea27683..9d5d74cfd 100644 --- a/package/adkinstall/Makefile +++ b/package/adkinstall/Makefile @@ -11,6 +11,8 @@ PKG_SECTION:= base PKG_DEPENDS:= parted sfdisk mke2fs PKG_URL:= http://openadk.org/ +PKG_ARCH_DEPENDS:= !m68k + WRKDIST= ${WRKDIR}/${PKG_NAME}-${PKG_VERSION} NO_DISTFILES:= 1 diff --git a/package/ffmpeg/Makefile b/package/ffmpeg/Makefile index 045b9edec..9c4cea01c 100644 --- a/package/ffmpeg/Makefile +++ b/package/ffmpeg/Makefile @@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk PKG_NAME:= ffmpeg PKG_VERSION:= 2.0.2 -PKG_RELEASE:= 1 +PKG_RELEASE:= 2 PKG_MD5SUM:= 6c5cfed204d8a108325d1fc439ab734a PKG_DESCR:= record, convert and stream audio & video PKG_SECTION:= libs diff --git a/package/ffmpeg/patches/patch-libavcodec_arm_Makefile b/package/ffmpeg/patches/patch-libavcodec_arm_Makefile new file mode 100644 index 000000000..f504f60f9 --- /dev/null +++ b/package/ffmpeg/patches/patch-libavcodec_arm_Makefile @@ -0,0 +1,12 @@ +--- ffmpeg-2.0.1.orig/libavcodec/arm/Makefile 2013-08-11 01:23:24.000000000 +0200 ++++ ffmpeg-2.0.1/libavcodec/arm/Makefile 2013-10-14 17:47:19.000000000 +0200 +@@ -52,7 +52,8 @@ ARMV6-OBJS-$(CONFIG_VP8_DECODER) + + arm/vp8dsp_init_armv6.o \ + arm/vp8dsp_armv6.o + +-VFP-OBJS-$(HAVE_ARMV6) += arm/fmtconvert_vfp.o ++VFP-OBJS-$(HAVE_ARMV6) += arm/fmtconvert_vfp.o \ ++ arm/synth_filter_vfp.o + + NEON-OBJS += arm/fmtconvert_neon.o + diff --git a/package/ffmpeg/patches/patch-libavcodec_arm_fft_init_arm_c b/package/ffmpeg/patches/patch-libavcodec_arm_fft_init_arm_c new file mode 100644 index 000000000..dc562a061 --- /dev/null +++ b/package/ffmpeg/patches/patch-libavcodec_arm_fft_init_arm_c @@ -0,0 +1,25 @@ +--- ffmpeg-2.0.2.orig/libavcodec/arm/fft_init_arm.c 2013-10-08 19:52:31.000000000 +0200 ++++ ffmpeg-2.0.2/libavcodec/arm/fft_init_arm.c 2013-10-16 12:59:04.000000000 +0200 +@@ -32,6 +32,12 @@ void ff_mdct_calc_neon(FFTContext *s, FF + + void ff_rdft_calc_neon(struct RDFTContext *s, FFTSample *z); + ++void ff_synth_filter_float_vfp(FFTContext *imdct, ++ float *synth_buf_ptr, int *synth_buf_offset, ++ float synth_buf2[32], const float window[512], ++ float out[32], const float in[32], ++ float scale); ++ + void ff_synth_filter_float_neon(FFTContext *imdct, + float *synth_buf_ptr, int *synth_buf_offset, + float synth_buf2[32], const float window[512], +@@ -71,6 +77,9 @@ av_cold void ff_synth_filter_init_arm(Sy + { + int cpu_flags = av_get_cpu_flags(); + ++ if (have_vfp(cpu_flags)) ++ s->synth_filter_float = ff_synth_filter_float_vfp; ++ + if (have_neon(cpu_flags)) + s->synth_filter_float = ff_synth_filter_float_neon; + } diff --git a/package/ffmpeg/src/libavcodec/arm/synth_filter_vfp.S b/package/ffmpeg/src/libavcodec/arm/synth_filter_vfp.S new file mode 100644 index 000000000..451fe5ce9 --- /dev/null +++ b/package/ffmpeg/src/libavcodec/arm/synth_filter_vfp.S @@ -0,0 +1,206 @@ +/* + * Copyright (c) 2013 RISC OS Open Ltd + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Author: Ben Avison <bavison@riscosopen.org> + */ + +#include "libavutil/arm/asm.S" + +IMDCT .req r0 +ORIG_P_SB .req r1 +P_SB_OFF .req r2 +I .req r0 +P_SB2_UP .req r1 +OLDFPSCR .req r2 +P_SB2_DN .req r3 +P_WIN_DN .req r4 +P_OUT_DN .req r5 +P_SB .req r6 +J_WRAP .req r7 +P_WIN_UP .req r12 +P_OUT_UP .req r14 + +SCALE .req s0 +SBUF_DAT_REV0 .req s4 +SBUF_DAT_REV1 .req s5 +SBUF_DAT_REV2 .req s6 +SBUF_DAT_REV3 .req s7 +VA0 .req s8 +VA3 .req s11 +VB0 .req s12 +VB3 .req s15 +VC0 .req s8 +VC3 .req s11 +VD0 .req s12 +VD3 .req s15 +SBUF_DAT0 .req s16 +SBUF_DAT1 .req s17 +SBUF_DAT2 .req s18 +SBUF_DAT3 .req s19 +SBUF_DAT_ALT0 .req s20 +SBUF_DAT_ALT1 .req s21 +SBUF_DAT_ALT2 .req s22 +SBUF_DAT_ALT3 .req s23 +WIN_DN_DAT0 .req s24 +WIN_UP_DAT0 .req s28 + + +.macro inner_loop half, tail, head + .if (OFFSET & (64*4)) == 0 @ even numbered call + SBUF_DAT_THIS0 .req SBUF_DAT0 + SBUF_DAT_THIS1 .req SBUF_DAT1 + SBUF_DAT_THIS2 .req SBUF_DAT2 + SBUF_DAT_THIS3 .req SBUF_DAT3 + .ifnc "\head","" + vldr d8, [P_SB, #OFFSET] @ d8 = SBUF_DAT + vldr d9, [P_SB, #OFFSET+8] + .endif + .else + SBUF_DAT_THIS0 .req SBUF_DAT_ALT0 + SBUF_DAT_THIS1 .req SBUF_DAT_ALT1 + SBUF_DAT_THIS2 .req SBUF_DAT_ALT2 + SBUF_DAT_THIS3 .req SBUF_DAT_ALT3 + .ifnc "\head","" + vldr d10, [P_SB, #OFFSET] @ d10 = SBUF_DAT_ALT + vldr d11, [P_SB, #OFFSET+8] + .endif + .endif + .ifnc "\tail","" + .ifc "\half","ab" + vmls.f VA0, SBUF_DAT_REV0, WIN_DN_DAT0 @ all operands treated as vectors + .else + vmla.f VD0, SBUF_DAT_REV0, WIN_DN_DAT0 @ all operands treated as vectors + .endif + .endif + .ifnc "\head","" + vldr d14, [P_WIN_UP, #OFFSET] @ d14 = WIN_UP_DAT + vldr d15, [P_WIN_UP, #OFFSET+8] + vldr d12, [P_WIN_DN, #OFFSET] @ d12 = WIN_DN_DAT + vldr d13, [P_WIN_DN, #OFFSET+8] + vmov SBUF_DAT_REV3, SBUF_DAT_THIS0 + vmov SBUF_DAT_REV2, SBUF_DAT_THIS1 + vmov SBUF_DAT_REV1, SBUF_DAT_THIS2 + vmov SBUF_DAT_REV0, SBUF_DAT_THIS3 + .ifc "\half","ab" + vmla.f VB0, SBUF_DAT_THIS0, WIN_UP_DAT0 + .else + vmla.f VC0, SBUF_DAT_THIS0, WIN_UP_DAT0 + .endif + teq J_WRAP, #J + bne 2f @ strongly predictable, so better than cond exec in this case + sub P_SB, P_SB, #512*4 +2: + .set J, J - 64 + .set OFFSET, OFFSET + 64*4 + .endif + .unreq SBUF_DAT_THIS0 + .unreq SBUF_DAT_THIS1 + .unreq SBUF_DAT_THIS2 + .unreq SBUF_DAT_THIS3 +.endm + + +/* void ff_synth_filter_float_vfp(FFTContext *imdct, + * float *synth_buf_ptr, int *synth_buf_offset, + * float synth_buf2[32], const float window[512], + * float out[32], const float in[32], float scale) + */ +function ff_synth_filter_float_vfp, export=1 + push {r3-r7,lr} + vpush {s16-s31} + ldr lr, [P_SB_OFF] + add a2, ORIG_P_SB, lr, LSL #2 @ calculate synth_buf to pass to imdct_half + mov P_SB, a2 @ and keep a copy for ourselves + bic J_WRAP, lr, #63 @ mangled to make testing for wrap easier in inner loop + sub lr, lr, #32 + and lr, lr, #512-32 + str lr, [P_SB_OFF] @ rotate offset, modulo buffer size, ready for next call + ldr a3, [sp, #(16+6+2)*4] @ fetch in from stack, to pass to imdct_half +VFP vmov s16, SCALE @ imdct_half is free to corrupt s0, but it contains one of our arguments in hardfp case + bl ff_imdct_half_c +VFP vmov SCALE, s16 + + vmrs OLDFPSCR, FPSCR + ldr lr, =0x03030000 @ RunFast mode, short vectors of length 4, stride 1 + vmsr FPSCR, lr + ldr P_SB2_DN, [sp, #16*4] + ldr P_WIN_DN, [sp, #(16+6+0)*4] + ldr P_OUT_DN, [sp, #(16+6+1)*4] +NOVFP vldr SCALE, [sp, #(16+6+3)*4] + +#define IMM_OFF_SKEW 956 /* also valid immediate constant when you add 16*4 */ + add P_SB, P_SB, #IMM_OFF_SKEW @ so we can use -ve offsets to use full immediate offset range + add P_SB2_UP, P_SB2_DN, #16*4 + add P_WIN_UP, P_WIN_DN, #16*4+IMM_OFF_SKEW + add P_OUT_UP, P_OUT_DN, #16*4 + add P_SB2_DN, P_SB2_DN, #16*4 + add P_WIN_DN, P_WIN_DN, #12*4+IMM_OFF_SKEW + add P_OUT_DN, P_OUT_DN, #16*4 + mov I, #4 +1: + vldmia P_SB2_UP!, {VB0-VB3} + vldmdb P_SB2_DN!, {VA0-VA3} + .set J, 512 - 64 + .set OFFSET, -IMM_OFF_SKEW + inner_loop ab,, head + .rept 7 + inner_loop ab, tail, head + .endr + inner_loop ab, tail + add P_WIN_UP, P_WIN_UP, #4*4 + sub P_WIN_DN, P_WIN_DN, #4*4 + vmul.f VB0, VB0, SCALE @ SCALE treated as scalar + add P_SB, P_SB, #(512+4)*4 + subs I, I, #1 + vmul.f VA0, VA0, SCALE + vstmia P_OUT_UP!, {VB0-VB3} + vstmdb P_OUT_DN!, {VA0-VA3} + bne 1b + + add P_SB2_DN, P_SB2_DN, #(16+28-12)*4 + sub P_SB2_UP, P_SB2_UP, #(16+16)*4 + add P_WIN_DN, P_WIN_DN, #(32+16+28-12)*4 + mov I, #4 +1: + vldr.d d4, zero @ d4 = VC0 + vldr.d d5, zero + vldr.d d6, zero @ d6 = VD0 + vldr.d d7, zero + .set J, 512 - 64 + .set OFFSET, -IMM_OFF_SKEW + inner_loop cd,, head + .rept 7 + inner_loop cd, tail, head + .endr + inner_loop cd, tail + add P_WIN_UP, P_WIN_UP, #4*4 + sub P_WIN_DN, P_WIN_DN, #4*4 + add P_SB, P_SB, #(512+4)*4 + subs I, I, #1 + vstmia P_SB2_UP!, {VC0-VC3} + vstmdb P_SB2_DN!, {VD0-VD3} + bne 1b + + vmsr FPSCR, OLDFPSCR + vpop {s16-s31} + pop {r3-r7,pc} +endfunc + + .align 3 +zero: .word 0, 0 diff --git a/package/libid3tag/Makefile b/package/libid3tag/Makefile index 972daf556..d2819bf9f 100644 --- a/package/libid3tag/Makefile +++ b/package/libid3tag/Makefile @@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk PKG_NAME:= libid3tag PKG_VERSION:= 0.15.1b -PKG_RELEASE:= 1 +PKG_RELEASE:= 2 PKG_MD5SUM:= e5808ad997ba32c498803822078748c3 PKG_DESCR:= an ID3 tag manipulation library PKG_SECTION:= libs diff --git a/package/libid3tag/patches/patch-compat_gperf b/package/libid3tag/patches/patch-compat_gperf new file mode 100644 index 000000000..a70837638 --- /dev/null +++ b/package/libid3tag/patches/patch-compat_gperf @@ -0,0 +1,13 @@ +--- libid3tag-0.15.1b.orig/compat.gperf 2004-01-23 10:41:32.000000000 +0100 ++++ libid3tag-0.15.1b/compat.gperf 2013-10-16 12:34:31.000000000 +0200 +@@ -236,6 +236,10 @@ int id3_compat_fixup(struct id3_tag *tag + + encoding = id3_parse_uint(&data, 1); + string = id3_parse_string(&data, end - data, encoding, 0); ++ if (!string) ++ { ++ continue; ++ } + + if (id3_ucs4_length(string) < 4) { + free(string); diff --git a/package/libid3tag/patches/patch-genre_dat b/package/libid3tag/patches/patch-genre_dat new file mode 100644 index 000000000..6b727397b --- /dev/null +++ b/package/libid3tag/patches/patch-genre_dat @@ -0,0 +1,22 @@ +--- libid3tag-0.15.1b.orig/genre.dat 2004-02-17 03:34:39.000000000 +0100 ++++ libid3tag-0.15.1b/genre.dat 2013-10-16 12:34:37.000000000 +0200 +@@ -277,8 +277,8 @@ static id3_ucs4_t const genre_PUNK_ROCK[ + { 'P', 'u', 'n', 'k', ' ', 'R', 'o', 'c', 'k', 0 }; + static id3_ucs4_t const genre_DRUM_SOLO[] = + { 'D', 'r', 'u', 'm', ' ', 'S', 'o', 'l', 'o', 0 }; +-static id3_ucs4_t const genre_A_CAPPELLA[] = +- { 'A', ' ', 'C', 'a', 'p', 'p', 'e', 'l', 'l', 'a', 0 }; ++static id3_ucs4_t const genre_A_CAPELLA[] = ++ { 'A', ' ', 'C', 'a', 'p', 'e', 'l', 'l', 'a', 0 }; + static id3_ucs4_t const genre_EURO_HOUSE[] = + { 'E', 'u', 'r', 'o', '-', 'H', 'o', 'u', 's', 'e', 0 }; + static id3_ucs4_t const genre_DANCE_HALL[] = +@@ -452,7 +452,7 @@ static id3_ucs4_t const *const genre_tab + genre_DUET, + genre_PUNK_ROCK, + genre_DRUM_SOLO, +- genre_A_CAPPELLA, ++ genre_A_CAPELLA, + genre_EURO_HOUSE, + genre_DANCE_HALL, + genre_GOA, diff --git a/package/libid3tag/patches/patch-genre_dat_in b/package/libid3tag/patches/patch-genre_dat_in new file mode 100644 index 000000000..592fd6746 --- /dev/null +++ b/package/libid3tag/patches/patch-genre_dat_in @@ -0,0 +1,11 @@ +--- libid3tag-0.15.1b.orig/genre.dat.in 2004-01-23 10:41:32.000000000 +0100 ++++ libid3tag-0.15.1b/genre.dat.in 2013-10-16 12:34:37.000000000 +0200 +@@ -153,7 +153,7 @@ Freestyle + Duet + Punk Rock + Drum Solo +-A Cappella ++A Capella + Euro-House + Dance Hall + Goa diff --git a/package/libid3tag/patches/patch-parse_c b/package/libid3tag/patches/patch-parse_c new file mode 100644 index 000000000..6e09c5e26 --- /dev/null +++ b/package/libid3tag/patches/patch-parse_c @@ -0,0 +1,12 @@ +--- libid3tag-0.15.1b.orig/parse.c 2004-01-23 10:41:32.000000000 +0100 ++++ libid3tag-0.15.1b/parse.c 2013-10-16 12:34:31.000000000 +0200 +@@ -165,6 +165,9 @@ id3_ucs4_t *id3_parse_string(id3_byte_t + case ID3_FIELD_TEXTENCODING_UTF_8: + ucs4 = id3_utf8_deserialize(ptr, length); + break; ++ default: ++ /* FIXME: Unknown encoding! Print warning? */ ++ return NULL; + } + + if (ucs4 && !full) { diff --git a/package/libid3tag/patches/patch-utf16_c b/package/libid3tag/patches/patch-utf16_c new file mode 100644 index 000000000..1466ebdf7 --- /dev/null +++ b/package/libid3tag/patches/patch-utf16_c @@ -0,0 +1,21 @@ +--- libid3tag-0.15.1b.orig/utf16.c 2004-01-23 10:41:32.000000000 +0100 ++++ libid3tag-0.15.1b/utf16.c 2013-10-16 12:34:27.000000000 +0200 +@@ -282,5 +282,18 @@ id3_ucs4_t *id3_utf16_deserialize(id3_by + + free(utf16); + ++ if (end == *ptr && length % 2 != 0) ++ { ++ /* We were called with a bogus length. It should always ++ * be an even number. We can deal with this in a few ways: ++ * - Always give an error. ++ * - Try and parse as much as we can and ++ * - return an error if we're called again when we ++ * already tried to parse everything we can. ++ * - tell that we parsed it, which is what we do here. ++ */ ++ (*ptr)++; ++ } ++ + return ucs4; + } diff --git a/package/libmad/Makefile b/package/libmad/Makefile index 822ecb9b5..eed9882bc 100644 --- a/package/libmad/Makefile +++ b/package/libmad/Makefile @@ -5,7 +5,7 @@ include ${TOPDIR}/rules.mk PKG_NAME:= libmad PKG_VERSION:= 0.15.1b -PKG_RELEASE:= 3 +PKG_RELEASE:= 4 PKG_MD5SUM:= 1be543bc30c56fb6bea1d7bf6a64e66c PKG_DESCR:= An high-quality MPEG audio decoding library PKG_SECTION:= libs @@ -28,10 +28,18 @@ endif ifeq (${ARCH},arm) FPM:=arm endif -# MIPS optimization is broken for gcc 4.4 (removed h constraint) -#ifeq (${ARCH},mips) -#FPM:=mips -#endif +ifeq (${ARCH},mips) +FPM:=mips +endif +ifeq (${ARCH},ppc) +FPM:=ppc +endif +ifeq (${ARCH},sparc) +FPM:=sparc +endif +ifeq (${ARCH},x86_64) +FPM:=64bit +endif CONFIGURE_ARGS+= --enable-fpm=${FPM} \ --disable-debugging \ diff --git a/package/libmad/patches/patch-fixed_h b/package/libmad/patches/patch-fixed_h new file mode 100644 index 000000000..3e6eb292d --- /dev/null +++ b/package/libmad/patches/patch-fixed_h @@ -0,0 +1,44 @@ +--- libmad-0.15.1b.orig/fixed.h 2004-02-17 03:02:03.000000000 +0100 ++++ libmad-0.15.1b/fixed.h 2013-10-16 10:51:56.000000000 +0200 +@@ -275,12 +275,25 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t + : "+r" (lo), "+r" (hi) \ + : "%r" (x), "r" (y)) + ++#ifdef __thumb__ ++/* In Thumb-2, the RSB-immediate instruction is only allowed with a zero ++ operand. If needed this code can also support Thumb-1 ++ (simply append "s" to the end of the second two instructions). */ ++# define MAD_F_MLN(hi, lo) \ ++ asm ("rsbs %0, %0, #0\n\t" \ ++ "sbc %1, %1, %1\n\t" \ ++ "sub %1, %1, %2" \ ++ : "+&r" (lo), "=&r" (hi) \ ++ : "r" (hi) \ ++ : "cc") ++#else /* ! __thumb__ */ + # define MAD_F_MLN(hi, lo) \ + asm ("rsbs %0, %2, #0\n\t" \ + "rsc %1, %3, #0" \ +- : "=r" (lo), "=r" (hi) \ ++ : "=&r" (lo), "=r" (hi) \ + : "0" (lo), "1" (hi) \ + : "cc") ++#endif /* __thumb__ */ + + # define mad_f_scale64(hi, lo) \ + ({ mad_fixed_t __result; \ +@@ -297,6 +310,14 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t + + /* --- MIPS ---------------------------------------------------------------- */ + ++# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) ++ typedef unsigned int u64_di_t __attribute__ ((mode (DI))); ++# define MAD_F_MLX(hi, lo, x, y) \ ++ do { \ ++ u64_di_t __ll = (u64_di_t) (x) * (y); \ ++ hi = __ll >> 32; \ ++ lo = __ll; \ ++ } while (0) + # elif defined(FPM_MIPS) + + /* diff --git a/package/libmad/patches/patch-imdct_l_arm_S b/package/libmad/patches/patch-imdct_l_arm_S new file mode 100644 index 000000000..f071b4888 --- /dev/null +++ b/package/libmad/patches/patch-imdct_l_arm_S @@ -0,0 +1,11 @@ +--- libmad-0.15.1b.orig/imdct_l_arm.S 2001-03-25 22:03:34.000000000 +0200 ++++ libmad-0.15.1b/imdct_l_arm.S 2013-10-16 10:51:50.000000000 +0200 +@@ -468,7 +468,7 @@ _III_imdct_l: + + @---- + +- add r2, pc, #(imdct36_long_karray-.-8) @ r2 = base address of Knn array (PIC safe ?) ++ adr r2, imdct36_long_karray + + + loop: diff --git a/package/libmad/patches/patch-layer12_c b/package/libmad/patches/patch-layer12_c new file mode 100644 index 000000000..275a1c5b7 --- /dev/null +++ b/package/libmad/patches/patch-layer12_c @@ -0,0 +1,173 @@ +--- libmad-0.15.1b.orig/layer12.c 2004-02-05 10:02:39.000000000 +0100 ++++ libmad-0.15.1b/layer12.c 2013-10-16 10:51:25.000000000 +0200 +@@ -134,6 +134,12 @@ int mad_layer_I(struct mad_stream *strea + for (sb = 0; sb < bound; ++sb) { + for (ch = 0; ch < nch; ++ch) { + nb = mad_bit_read(&stream->ptr, 4); ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + + if (nb == 15) { + stream->error = MAD_ERROR_BADBITALLOC; +@@ -146,6 +152,12 @@ int mad_layer_I(struct mad_stream *strea + + for (sb = bound; sb < 32; ++sb) { + nb = mad_bit_read(&stream->ptr, 4); ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + + if (nb == 15) { + stream->error = MAD_ERROR_BADBITALLOC; +@@ -162,6 +174,12 @@ int mad_layer_I(struct mad_stream *strea + for (ch = 0; ch < nch; ++ch) { + if (allocation[ch][sb]) { + scalefactor[ch][sb] = mad_bit_read(&stream->ptr, 6); ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + + # if defined(OPT_STRICT) + /* +@@ -187,6 +205,12 @@ int mad_layer_I(struct mad_stream *strea + frame->sbsample[ch][s][sb] = nb ? + mad_f_mul(I_sample(&stream->ptr, nb), + sf_table[scalefactor[ch][sb]]) : 0; ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + } + } + +@@ -195,6 +219,12 @@ int mad_layer_I(struct mad_stream *strea + mad_fixed_t sample; + + sample = I_sample(&stream->ptr, nb); ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + + for (ch = 0; ch < nch; ++ch) { + frame->sbsample[ch][s][sb] = +@@ -403,7 +433,15 @@ int mad_layer_II(struct mad_stream *stre + nbal = bitalloc_table[offsets[sb]].nbal; + + for (ch = 0; ch < nch; ++ch) ++ { + allocation[ch][sb] = mad_bit_read(&stream->ptr, nbal); ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } ++ } + } + + for (sb = bound; sb < sblimit; ++sb) { +@@ -411,6 +449,13 @@ int mad_layer_II(struct mad_stream *stre + + allocation[0][sb] = + allocation[1][sb] = mad_bit_read(&stream->ptr, nbal); ++ ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + } + + /* decode scalefactor selection info */ +@@ -419,6 +464,12 @@ int mad_layer_II(struct mad_stream *stre + for (ch = 0; ch < nch; ++ch) { + if (allocation[ch][sb]) + scfsi[ch][sb] = mad_bit_read(&stream->ptr, 2); ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + } + } + +@@ -442,6 +493,12 @@ int mad_layer_II(struct mad_stream *stre + for (ch = 0; ch < nch; ++ch) { + if (allocation[ch][sb]) { + scalefactor[ch][sb][0] = mad_bit_read(&stream->ptr, 6); ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + + switch (scfsi[ch][sb]) { + case 2: +@@ -452,11 +509,23 @@ int mad_layer_II(struct mad_stream *stre + + case 0: + scalefactor[ch][sb][1] = mad_bit_read(&stream->ptr, 6); ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + /* fall through */ + + case 1: + case 3: + scalefactor[ch][sb][2] = mad_bit_read(&stream->ptr, 6); ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + } + + if (scfsi[ch][sb] & 1) +@@ -488,6 +557,12 @@ int mad_layer_II(struct mad_stream *stre + index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1]; + + II_samples(&stream->ptr, &qc_table[index], samples); ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + + for (s = 0; s < 3; ++s) { + frame->sbsample[ch][3 * gr + s][sb] = +@@ -506,6 +581,12 @@ int mad_layer_II(struct mad_stream *stre + index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1]; + + II_samples(&stream->ptr, &qc_table[index], samples); ++ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + + for (ch = 0; ch < nch; ++ch) { + for (s = 0; s < 3; ++s) { diff --git a/package/libmad/patches/patch-layer3_c b/package/libmad/patches/patch-layer3_c new file mode 100644 index 000000000..d8e4249de --- /dev/null +++ b/package/libmad/patches/patch-layer3_c @@ -0,0 +1,15 @@ +--- libmad-0.15.1b.orig/layer3.c 2004-01-23 10:41:32.000000000 +0100 ++++ libmad-0.15.1b/layer3.c 2013-10-16 10:51:25.000000000 +0200 +@@ -2608,6 +2608,12 @@ int mad_layer_III(struct mad_stream *str + next_md_begin = 0; + + md_len = si.main_data_begin + frame_space - next_md_begin; ++ if (md_len + MAD_BUFFER_GUARD > MAD_BUFFER_MDLEN) ++ { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + + frame_used = 0; + diff --git a/package/mpd/Makefile b/package/mpd/Makefile index 3f4470c3c..c9c06e4bf 100644 --- a/package/mpd/Makefile +++ b/package/mpd/Makefile @@ -4,9 +4,9 @@ include ${TOPDIR}/rules.mk PKG_NAME:= mpd -PKG_VERSION:= 0.17.5 -PKG_RELEASE:= 2 -PKG_MD5SUM:= b68be330deeb23989c08a9fefd9fcdeb +PKG_VERSION:= 0.17.6 +PKG_RELEASE:= 1 +PKG_MD5SUM:= d0da6a6a1d9cf1e8710b6082f6ef7849 PKG_DESCR:= A music player daemon PKG_SECTION:= multimedia PKG_DEPENDS:= glib libstdcxx libgcc @@ -206,7 +206,7 @@ else CONFIGURE_ARGS+= --disable-lsr endif -post-install: +mpd-install: ${INSTALL_DIR} ${IDIR_MPD}/usr/bin ${IDIR_MPD}/etc ${INSTALL_BIN} ${WRKINST}/usr/bin/mpd ${IDIR_MPD}/usr/bin ${INSTALL_DATA} ./files/mpd.conf ${IDIR_MPD}/etc/mpd.conf diff --git a/package/mpd/files/mpd.conf b/package/mpd/files/mpd.conf index 263202b1d..ee3565c15 100644 --- a/package/mpd/files/mpd.conf +++ b/package/mpd/files/mpd.conf @@ -1,10 +1,11 @@ # An example configuration file for MPD user "mpd" +auto_update "no" music_directory "/music" playlist_directory "/etc/mpd/playlists" state_file "/etc/mpd/state" db_file "/etc/mpd/database" -pid_file "/var/run/mpd/mpd.pid" +pid_file "/var/run/mpd.pid" log_file "syslog" filesystem_charset "UTF-8" id3v1_encoding "UTF-8" diff --git a/package/mpd/files/mpd.init b/package/mpd/files/mpd.init index aa09381fb..8ff050b73 100644 --- a/package/mpd/files/mpd.init +++ b/package/mpd/files/mpd.init @@ -21,10 +21,6 @@ start) mkdir -p /etc/mpd/playlists chown -R mpd:mpd /etc/mpd fi - if [ ! -d /var/run/mpd ];then - mkdir -p /var/run/mpd - chown mpd:mpd /var/run/mpd - fi mpd ;; stop) diff --git a/package/mpd/patches/patch-src_decoder_ffmpeg_decoder_plugin_c b/package/mpd/patches/patch-src_decoder_ffmpeg_decoder_plugin_c index 0114216ad..e9568905c 100644 --- a/package/mpd/patches/patch-src_decoder_ffmpeg_decoder_plugin_c +++ b/package/mpd/patches/patch-src_decoder_ffmpeg_decoder_plugin_c @@ -1,11 +1,127 @@ ---- mpd-0.17.4.orig/src/decoder/ffmpeg_decoder_plugin.c 2013-04-08 20:01:53.000000000 +0200 -+++ mpd-0.17.4/src/decoder/ffmpeg_decoder_plugin.c 2013-07-10 11:02:20.000000000 +0200 -@@ -44,6 +44,8 @@ - #include <libavutil/dict.h> +--- mpd-0.17.6.orig/src/decoder/ffmpeg_decoder_plugin.c 2013-08-04 14:20:16.000000000 +0200 ++++ mpd-0.17.6/src/decoder/ffmpeg_decoder_plugin.c 2013-10-15 16:26:29.000000000 +0200 +@@ -255,7 +255,8 @@ copy_interleave_frame2(uint8_t *dest, ui + static int + copy_interleave_frame(const AVCodecContext *codec_context, + const AVFrame *frame, +- uint8_t *buffer, size_t buffer_size) ++ uint8_t **output_buffer, ++ uint8_t **global_buffer, int *global_buffer_size) + { + int plane_size; + const int data_size = +@@ -263,18 +264,26 @@ copy_interleave_frame(const AVCodecConte + codec_context->channels, + frame->nb_samples, + codec_context->sample_fmt, 1); +- if (buffer_size < (size_t)data_size) +- /* buffer is too small - shouldn't happen */ +- return AVERROR(EINVAL); + + if (av_sample_fmt_is_planar(codec_context->sample_fmt) && + codec_context->channels > 1) { +- copy_interleave_frame2(buffer, frame->extended_data, ++ if(*global_buffer_size < data_size) { ++ av_freep(global_buffer); ++ ++ *global_buffer = (uint8_t*)av_malloc(data_size); ++ ++ if (!*global_buffer) ++ /* Not enough memory - shouldn't happen */ ++ return AVERROR(ENOMEM); ++ *global_buffer_size = data_size; ++ } ++ *output_buffer = *global_buffer; ++ copy_interleave_frame2(*output_buffer, frame->extended_data, + frame->nb_samples, + codec_context->channels, + av_get_bytes_per_sample(codec_context->sample_fmt)); + } else { +- memcpy(buffer, frame->extended_data[0], data_size); ++ *output_buffer = frame->extended_data[0]; + } + + return data_size; +@@ -285,7 +294,8 @@ static enum decoder_command + ffmpeg_send_packet(struct decoder *decoder, struct input_stream *is, + const AVPacket *packet, + AVCodecContext *codec_context, +- const AVRational *time_base) ++ const AVRational *time_base, ++ uint8_t **buffer, int *buffer_size) + { + if (packet->pts >= 0 && packet->pts != (int64_t)AV_NOPTS_VALUE) + decoder_timestamp(decoder, +@@ -299,8 +309,7 @@ ffmpeg_send_packet(struct decoder *decod + #endif + + #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,25,0) +- uint8_t aligned_buffer[(AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2 + 16]; +- const size_t buffer_size = sizeof(aligned_buffer); ++ uint8_t *output_buffer; + #else + /* libavcodec < 0.8 needs an aligned buffer */ + uint8_t audio_buf[(AVCODEC_MAX_AUDIO_FRAME_SIZE * 3) / 2 + 16]; +@@ -316,7 +325,7 @@ ffmpeg_send_packet(struct decoder *decod + packet_size > 0 && #endif + cmd == DECODE_COMMAND_NONE) { +- int audio_size = buffer_size; ++ int audio_size = 0; + #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(53,25,0) -+#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 + AVFrame *frame = avcodec_alloc_frame(); +@@ -332,12 +341,11 @@ ffmpeg_send_packet(struct decoder *decod + if (len >= 0 && got_frame) { + audio_size = copy_interleave_frame(codec_context, + frame, +- aligned_buffer, +- buffer_size); ++ &output_buffer, ++ buffer, buffer_size); + if (audio_size < 0) + len = audio_size; +- } else if (len >= 0) +- len = -1; ++ } + + #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 28, 0) + avcodec_free_frame(&frame); +@@ -373,7 +381,7 @@ ffmpeg_send_packet(struct decoder *decod + continue; + + cmd = decoder_data(decoder, is, +- aligned_buffer, audio_size, ++ output_buffer, audio_size, + codec_context->bit_rate / 1000); + } + return cmd; +@@ -589,6 +597,9 @@ ffmpeg_decode(struct decoder *decoder, s + decoder_initialized(decoder, &audio_format, + input->seekable, total_time); + ++ uint8_t *interleaved_buffer = NULL; ++ int interleaved_buffer_size = 0; + - #undef G_LOG_DOMAIN - #define G_LOG_DOMAIN "ffmpeg" + enum decoder_command cmd; + do { + AVPacket packet; +@@ -599,7 +610,8 @@ ffmpeg_decode(struct decoder *decoder, s + if (packet.stream_index == audio_stream) + cmd = ffmpeg_send_packet(decoder, input, + &packet, codec_context, +- &av_stream->time_base); ++ &av_stream->time_base, ++ &interleaved_buffer, &interleaved_buffer_size); + else + cmd = decoder_get_command(decoder); +@@ -620,6 +632,8 @@ ffmpeg_decode(struct decoder *decoder, s + } + } while (cmd != DECODE_COMMAND_STOP); + ++ av_freep(&interleaved_buffer); ++ + avcodec_close(codec_context); + #if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(53,17,0) + avformat_close_input(&format_context); diff --git a/package/oprofile/Makefile b/package/oprofile/Makefile index d0bfbea2d..7a7ef934e 100644 --- a/package/oprofile/Makefile +++ b/package/oprofile/Makefile @@ -14,7 +14,7 @@ PKG_BUILDDEP:= popt binutils PKG_URL:= http://oprofile.sourceforge.net/ PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=oprofile/} -PKG_ARCH_DEPENDS:= !cris !avr32 +PKG_ARCH_DEPENDS:= !cris !avr32 !m68k PKG_CFLINE_OPROFILE:= select BUSYBOX_EXPR diff --git a/package/pcc-libs/Makefile b/package/pcc-libs/Makefile index 0603810e8..4e04de03c 100644 --- a/package/pcc-libs/Makefile +++ b/package/pcc-libs/Makefile @@ -12,7 +12,7 @@ PKG_SECTION:= lang PKG_URL:= http://pcc.ludd.ltu.se/ PKG_SITES:= http://pcc.ludd.ltu.se/ftp/pub/pcc-releases/ -PKG_ARCH_DEPENDS:= !arm !cris !mips !ppc !avr32 +PKG_ARCH_DEPENDS:= !arm !cris !m68k !mips !ppc !avr32 DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz include $(TOPDIR)/mk/package.mk diff --git a/package/pcc/Makefile b/package/pcc/Makefile index c38faccfc..5630157de 100644 --- a/package/pcc/Makefile +++ b/package/pcc/Makefile @@ -14,7 +14,7 @@ PKG_URL:= http://pcc.ludd.ltu.se/ PKG_SITES:= http://pcc.ludd.ltu.se/ftp/pub/pcc-releases/ PKG_NOPARALLEL:= 1 -PKG_ARCH_DEPENDS:= !arm !cris !mips !ppc !avr32 +PKG_ARCH_DEPENDS:= !arm !cris !m68k !mips !ppc !avr32 DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tgz include $(TOPDIR)/mk/package.mk diff --git a/package/sdl/patches/patch-include_SDL_config_h b/package/sdl/patches/patch-include_SDL_config_h deleted file mode 100644 index 371f7199f..000000000 --- a/package/sdl/patches/patch-include_SDL_config_h +++ /dev/null @@ -1,311 +0,0 @@ ---- SDL-1.2.14.orig/include/SDL_config.h 2009-10-19 13:51:07.000000000 +0200 -+++ SDL-1.2.14/include/SDL_config.h 2011-01-12 11:57:30.000000000 +0100 -@@ -1,3 +1,4 @@ -+/* include/SDL_config.h. Generated from SDL_config.h.in by configure. */ - /* - SDL - Simple DirectMedia Layer - Copyright (C) 1997-2009 Sam Lantinga -@@ -23,23 +24,288 @@ - #ifndef _SDL_config_h - #define _SDL_config_h - -+/* This is a set of defines to configure the SDL features */ -+ -+/* General platform specific identifiers */ - #include "SDL_platform.h" - --/* Add any platform that doesn't build using the configure system */ --#if defined(__DREAMCAST__) --#include "SDL_config_dreamcast.h" --#elif defined(__MACOS__) --#include "SDL_config_macos.h" --#elif defined(__MACOSX__) --#include "SDL_config_macosx.h" --#elif defined(__SYMBIAN32__) --#include "SDL_config_symbian.h" /* must be before win32! */ --#elif defined(__WIN32__) --#include "SDL_config_win32.h" --#elif defined(__OS2__) --#include "SDL_config_os2.h" -+/* Make sure that this isn't included by Visual C++ */ -+#ifdef _MSC_VER -+#error You should copy include/SDL_config.h.default to include/SDL_config.h -+#endif -+ -+/* C language features */ -+/* #undef const */ -+/* #undef inline */ -+/* #undef volatile */ -+ -+/* C datatypes */ -+/* #undef size_t */ -+/* #undef int8_t */ -+/* #undef uint8_t */ -+/* #undef int16_t */ -+/* #undef uint16_t */ -+/* #undef int32_t */ -+/* #undef uint32_t */ -+/* #undef int64_t */ -+/* #undef uint64_t */ -+/* #undef uintptr_t */ -+#define SDL_HAS_64BIT_TYPE 1 -+ -+/* Endianness */ -+#define SDL_BYTEORDER 1234 -+ -+/* Comment this if you want to build without any C library requirements */ -+#define HAVE_LIBC 1 -+#if HAVE_LIBC -+ -+/* Useful headers */ -+#define HAVE_ALLOCA_H 1 -+#define HAVE_SYS_TYPES_H 1 -+#define HAVE_STDIO_H 1 -+#define STDC_HEADERS 1 -+#define HAVE_STDLIB_H 1 -+#define HAVE_STDARG_H 1 -+#define HAVE_MALLOC_H 1 -+#define HAVE_MEMORY_H 1 -+#define HAVE_STRING_H 1 -+#define HAVE_STRINGS_H 1 -+#define HAVE_INTTYPES_H 1 -+#define HAVE_STDINT_H 1 -+#define HAVE_CTYPE_H 1 -+#define HAVE_MATH_H 1 -+#define HAVE_ICONV_H 1 -+#define HAVE_SIGNAL_H 1 -+/* #undef HAVE_ALTIVEC_H */ -+ -+/* C library functions */ -+#define HAVE_MALLOC 1 -+#define HAVE_CALLOC 1 -+#define HAVE_REALLOC 1 -+#define HAVE_FREE 1 -+#define HAVE_ALLOCA 1 -+#ifndef _WIN32 /* Don't use C runtime versions of these on Windows */ -+#define HAVE_GETENV 1 -+#define HAVE_PUTENV 1 -+#define HAVE_UNSETENV 1 -+#endif -+#define HAVE_QSORT 1 -+#define HAVE_ABS 1 -+#define HAVE_BCOPY 1 -+#define HAVE_MEMSET 1 -+#define HAVE_MEMCPY 1 -+#define HAVE_MEMMOVE 1 -+/* #undef HAVE_MEMCMP */ -+#define HAVE_STRLEN 1 -+#define HAVE_STRLCPY 1 -+#define HAVE_STRLCAT 1 -+#define HAVE_STRDUP 1 -+/* #undef HAVE__STRREV */ -+/* #undef HAVE__STRUPR */ -+/* #undef HAVE__STRLWR */ -+/* #undef HAVE_INDEX */ -+/* #undef HAVE_RINDEX */ -+#define HAVE_STRCHR 1 -+#define HAVE_STRRCHR 1 -+#define HAVE_STRSTR 1 -+/* #undef HAVE_ITOA */ -+/* #undef HAVE__LTOA */ -+/* #undef HAVE__UITOA */ -+/* #undef HAVE__ULTOA */ -+#define HAVE_STRTOL 1 -+#define HAVE_STRTOUL 1 -+/* #undef HAVE__I64TOA */ -+/* #undef HAVE__UI64TOA */ -+#define HAVE_STRTOLL 1 -+#define HAVE_STRTOULL 1 -+/* #undef HAVE_STRTOD */ -+#define HAVE_ATOI 1 -+#define HAVE_ATOF 1 -+#define HAVE_STRCMP 1 -+#define HAVE_STRNCMP 1 -+/* #undef HAVE__STRICMP */ -+#define HAVE_STRCASECMP 1 -+/* #undef HAVE__STRNICMP */ -+#define HAVE_STRNCASECMP 1 -+#define HAVE_SSCANF 1 -+#define HAVE_SNPRINTF 1 -+#define HAVE_VSNPRINTF 1 -+/* #undef HAVE_ICONV */ -+#define HAVE_SIGACTION 1 -+#define HAVE_SETJMP 1 -+#define HAVE_NANOSLEEP 1 -+/* #undef HAVE_CLOCK_GETTIME */ -+#define HAVE_GETPAGESIZE 1 -+#define HAVE_MPROTECT 1 -+ - #else --#include "SDL_config_minimal.h" --#endif /* platform config */ -+/* We may need some replacement for stdarg.h here */ -+#include <stdarg.h> -+#endif /* HAVE_LIBC */ -+ -+/* Allow disabling of core subsystems */ -+/* #undef SDL_AUDIO_DISABLED */ -+/* #undef SDL_CDROM_DISABLED */ -+/* #undef SDL_CPUINFO_DISABLED */ -+/* #undef SDL_EVENTS_DISABLED */ -+/* #undef SDL_FILE_DISABLED */ -+/* #undef SDL_JOYSTICK_DISABLED */ -+/* #undef SDL_LOADSO_DISABLED */ -+/* #undef SDL_THREADS_DISABLED */ -+/* #undef SDL_TIMERS_DISABLED */ -+/* #undef SDL_VIDEO_DISABLED */ -+ -+/* Enable various audio drivers */ -+#define SDL_AUDIO_DRIVER_ALSA 1 -+#define SDL_AUDIO_DRIVER_ALSA_DYNAMIC "libasound.so.2" -+/* #undef SDL_AUDIO_DRIVER_ARTS */ -+/* #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC */ -+/* #undef SDL_AUDIO_DRIVER_BAUDIO */ -+/* #undef SDL_AUDIO_DRIVER_BSD */ -+/* #undef SDL_AUDIO_DRIVER_COREAUDIO */ -+/* #undef SDL_AUDIO_DRIVER_DART */ -+/* #undef SDL_AUDIO_DRIVER_DC */ -+#define SDL_AUDIO_DRIVER_DISK 1 -+#define SDL_AUDIO_DRIVER_DUMMY 1 -+/* #undef SDL_AUDIO_DRIVER_DMEDIA */ -+/* #undef SDL_AUDIO_DRIVER_DSOUND */ -+/* #undef SDL_AUDIO_DRIVER_PULSE */ -+/* #undef SDL_AUDIO_DRIVER_PULSE_DYNAMIC */ -+/* #undef SDL_AUDIO_DRIVER_ESD */ -+/* #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC */ -+/* #undef SDL_AUDIO_DRIVER_MINT */ -+/* #undef SDL_AUDIO_DRIVER_MMEAUDIO */ -+/* #undef SDL_AUDIO_DRIVER_NAS */ -+/* #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC */ -+/* #undef SDL_AUDIO_DRIVER_OSS */ -+/* #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H */ -+/* #undef SDL_AUDIO_DRIVER_PAUD */ -+/* #undef SDL_AUDIO_DRIVER_QNXNTO */ -+/* #undef SDL_AUDIO_DRIVER_SNDMGR */ -+/* #undef SDL_AUDIO_DRIVER_SUNAUDIO */ -+/* #undef SDL_AUDIO_DRIVER_WAVEOUT */ -+ -+/* Enable various cdrom drivers */ -+/* #undef SDL_CDROM_AIX */ -+/* #undef SDL_CDROM_BEOS */ -+/* #undef SDL_CDROM_BSDI */ -+/* #undef SDL_CDROM_DC */ -+/* #undef SDL_CDROM_DUMMY */ -+/* #undef SDL_CDROM_FREEBSD */ -+#define SDL_CDROM_LINUX 1 -+/* #undef SDL_CDROM_MACOS */ -+/* #undef SDL_CDROM_MACOSX */ -+/* #undef SDL_CDROM_MINT */ -+/* #undef SDL_CDROM_OPENBSD */ -+/* #undef SDL_CDROM_OS2 */ -+/* #undef SDL_CDROM_OSF */ -+/* #undef SDL_CDROM_QNX */ -+/* #undef SDL_CDROM_WIN32 */ -+ -+/* Enable various input drivers */ -+#define SDL_INPUT_LINUXEV 1 -+#define SDL_INPUT_TSLIB 1 -+/* #undef SDL_JOYSTICK_BEOS */ -+/* #undef SDL_JOYSTICK_DC */ -+/* #undef SDL_JOYSTICK_DUMMY */ -+/* #undef SDL_JOYSTICK_IOKIT */ -+#define SDL_JOYSTICK_LINUX 1 -+/* #undef SDL_JOYSTICK_MACOS */ -+/* #undef SDL_JOYSTICK_MINT */ -+/* #undef SDL_JOYSTICK_OS2 */ -+/* #undef SDL_JOYSTICK_RISCOS */ -+/* #undef SDL_JOYSTICK_WINMM */ -+/* #undef SDL_JOYSTICK_USBHID */ -+/* #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H */ -+ -+/* Enable various shared object loading systems */ -+/* #undef SDL_LOADSO_BEOS */ -+/* #undef SDL_LOADSO_DLCOMPAT */ -+#define SDL_LOADSO_DLOPEN 1 -+/* #undef SDL_LOADSO_DUMMY */ -+/* #undef SDL_LOADSO_LDG */ -+/* #undef SDL_LOADSO_MACOS */ -+/* #undef SDL_LOADSO_OS2 */ -+/* #undef SDL_LOADSO_WIN32 */ -+ -+/* Enable various threading systems */ -+/* #undef SDL_THREAD_BEOS */ -+/* #undef SDL_THREAD_DC */ -+/* #undef SDL_THREAD_OS2 */ -+/* #undef SDL_THREAD_PTH */ -+#define SDL_THREAD_PTHREAD 1 -+#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1 -+/* #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP */ -+/* #undef SDL_THREAD_SPROC */ -+/* #undef SDL_THREAD_WIN32 */ -+ -+/* Enable various timer systems */ -+/* #undef SDL_TIMER_BEOS */ -+/* #undef SDL_TIMER_DC */ -+/* #undef SDL_TIMER_DUMMY */ -+/* #undef SDL_TIMER_MACOS */ -+/* #undef SDL_TIMER_MINT */ -+/* #undef SDL_TIMER_OS2 */ -+/* #undef SDL_TIMER_RISCOS */ -+#define SDL_TIMER_UNIX 1 -+/* #undef SDL_TIMER_WIN32 */ -+/* #undef SDL_TIMER_WINCE */ -+ -+/* Enable various video drivers */ -+/* #undef SDL_VIDEO_DRIVER_AALIB */ -+/* #undef SDL_VIDEO_DRIVER_BWINDOW */ -+/* #undef SDL_VIDEO_DRIVER_CACA */ -+/* #undef SDL_VIDEO_DRIVER_DC */ -+/* #undef SDL_VIDEO_DRIVER_DDRAW */ -+#define SDL_VIDEO_DRIVER_DGA 1 -+/* #undef SDL_VIDEO_DRIVER_DIRECTFB */ -+/* #undef SDL_VIDEO_DRIVER_DRAWSPROCKET */ -+#define SDL_VIDEO_DRIVER_DUMMY 1 -+#define SDL_VIDEO_DRIVER_FBCON 1 -+/* #undef SDL_VIDEO_DRIVER_GAPI */ -+/* #undef SDL_VIDEO_DRIVER_GEM */ -+/* #undef SDL_VIDEO_DRIVER_GGI */ -+/* #undef SDL_VIDEO_DRIVER_IPOD */ -+/* #undef SDL_VIDEO_DRIVER_NANOX */ -+/* #undef SDL_VIDEO_DRIVER_OS2FS */ -+/* #undef SDL_VIDEO_DRIVER_PHOTON */ -+/* #undef SDL_VIDEO_DRIVER_PICOGUI */ -+/* #undef SDL_VIDEO_DRIVER_PS2GS */ -+/* #undef SDL_VIDEO_DRIVER_PS3 */ -+/* #undef SDL_VIDEO_DRIVER_QTOPIA */ -+/* #undef SDL_VIDEO_DRIVER_QUARTZ */ -+/* #undef SDL_VIDEO_DRIVER_RISCOS */ -+/* #undef SDL_VIDEO_DRIVER_SVGALIB */ -+/* #undef SDL_VIDEO_DRIVER_TOOLBOX */ -+/* #undef SDL_VIDEO_DRIVER_VGL */ -+/* #undef SDL_VIDEO_DRIVER_WINDIB */ -+/* #undef SDL_VIDEO_DRIVER_WSCONS */ -+#define SDL_VIDEO_DRIVER_X11 1 -+#define SDL_VIDEO_DRIVER_X11_DGAMOUSE 1 -+#define SDL_VIDEO_DRIVER_X11_DYNAMIC "libX11.so.6" -+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "libXext.so.6" -+/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR */ -+/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER */ -+#define SDL_VIDEO_DRIVER_X11_VIDMODE 1 -+#define SDL_VIDEO_DRIVER_X11_XINERAMA 1 -+#define SDL_VIDEO_DRIVER_X11_XME 1 -+/* #undef SDL_VIDEO_DRIVER_X11_XRANDR */ -+#define SDL_VIDEO_DRIVER_X11_XV 1 -+/* #undef SDL_VIDEO_DRIVER_XBIOS */ -+ -+/* Enable OpenGL support */ -+/* #undef SDL_VIDEO_OPENGL */ -+/* #undef SDL_VIDEO_OPENGL_GLX */ -+/* #undef SDL_VIDEO_OPENGL_WGL */ -+/* #undef SDL_VIDEO_OPENGL_OSMESA */ -+/* #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC */ -+ -+/* Disable screensaver */ -+#define SDL_VIDEO_DISABLE_SCREENSAVER 1 -+ -+/* Enable assembly routines */ -+#define SDL_ASSEMBLY_ROUTINES 1 -+#define SDL_HERMES_BLITTERS 1 -+/* #undef SDL_ALTIVEC_BLITTERS */ - - #endif /* _SDL_config_h */ diff --git a/package/util-linux/Makefile b/package/util-linux/Makefile index 8ca5eec63..76d482629 100644 --- a/package/util-linux/Makefile +++ b/package/util-linux/Makefile @@ -13,6 +13,8 @@ PKG_BUILDDEP:= ncurses PKG_SITES:= http://www.kernel.org/pub/linux/utils/util-linux/v2.23/ PKG_NOPARALLEL:= 1 +PKG_ARCH_DEPENDS:= !m68k + DISTFILES:= $(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SUBPKGS:= FDISK SFDISK SWAP_UTILS LOSETUP MCOOKIE MOUNT diff --git a/target/linux/config/Config.in.debug b/target/linux/config/Config.in.debug index 50c173321..cea0198d1 100644 --- a/target/linux/config/Config.in.debug +++ b/target/linux/config/Config.in.debug @@ -90,7 +90,8 @@ config ADK_KPACKAGE_KMOD_OPROFILE prompt "kernel support for oprofile" tristate select ADK_KERNEL_PROFILING - depends on !ADK_TARGET_SYSTEM_FOXBOARD_LX + depends on !ADK_LINUX_CRIS + depends on !ADK_LINUX_M68K default n help use oprofile package to make use of the kernel support. diff --git a/target/linux/config/Config.in.network b/target/linux/config/Config.in.network index c0fae6e1e..00d05dcd4 100644 --- a/target/linux/config/Config.in.network +++ b/target/linux/config/Config.in.network @@ -4,6 +4,10 @@ config ADK_KERNEL_INET boolean default y +config ADK_KERNEL_NET_CORE + boolean + default y + config ADK_KERNEL_IP_FIB_HASH boolean default y diff --git a/target/m68k/kernel.config b/target/m68k/kernel.config index f20c2239a..bf7ba4f8a 100644 --- a/target/m68k/kernel.config +++ b/target/m68k/kernel.config @@ -331,9 +331,7 @@ CONFIG_GENERIC_CPU_DEVICES=y CONFIG_BLK_DEV=y # CONFIG_ATARI_FLOPPY is not set # CONFIG_BLK_DEV_COW_COMMON is not set -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 -# CONFIG_BLK_DEV_CRYPTOLOOP is not set +# CONFIG_BLK_DEV_LOOP is not set # CONFIG_BLK_DEV_DRBD is not set # CONFIG_BLK_DEV_NBD is not set # CONFIG_BLK_DEV_RAM is not set @@ -363,76 +361,17 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # Altera FPGA firmware download module # CONFIG_HAVE_IDE=y -CONFIG_IDE=y - -# -# Please see Documentation/ide/ide.txt for help/info on IDE drives -# -CONFIG_IDE_ATAPI=y -# CONFIG_BLK_DEV_IDE_SATA is not set -CONFIG_IDE_GD=y -CONFIG_IDE_GD_ATA=y -# CONFIG_IDE_GD_ATAPI is not set -CONFIG_BLK_DEV_IDECD=y -CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y -# CONFIG_BLK_DEV_IDETAPE is not set -# CONFIG_IDE_TASK_IOCTL is not set -# CONFIG_IDE_PROC_FS is not set - -# -# IDE chipset support/bugfixes -# -# CONFIG_BLK_DEV_PLATFORM is not set -# CONFIG_BLK_DEV_FALCON_IDE is not set -# CONFIG_BLK_DEV_IDEDMA is not set +# CONFIG_IDE is not set # # SCSI device support # CONFIG_SCSI_MOD=y # CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -CONFIG_SCSI_DMA=y -# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI is not set +# CONFIG_SCSI_DMA is not set # CONFIG_SCSI_NETLINK is not set -# CONFIG_SCSI_PROC_FS is not set - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_CHR_DEV_OSST is not set -CONFIG_BLK_DEV_SR=y -CONFIG_BLK_DEV_SR_VENDOR=y -# CONFIG_CHR_DEV_SG is not set -# CONFIG_CHR_DEV_SCH is not set -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SCSI_CONSTANTS is not set -# CONFIG_SCSI_LOGGING is not set -# CONFIG_SCSI_SCAN_ASYNC is not set - -# -# SCSI Transports -# -CONFIG_SCSI_SPI_ATTRS=y -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_ATTRS is not set -# CONFIG_SCSI_SAS_LIBSAS is not set -# CONFIG_SCSI_SRP_ATTRS is not set -CONFIG_SCSI_LOWLEVEL=y -# CONFIG_ISCSI_TCP is not set -# CONFIG_ISCSI_BOOT_SYSFS is not set -# CONFIG_SCSI_UFSHCD is not set -# CONFIG_LIBFC is not set -# CONFIG_LIBFCOE is not set -# CONFIG_SCSI_DEBUG is not set -# CONFIG_ATARI_SCSI is not set -# CONFIG_SCSI_DH is not set -# CONFIG_SCSI_OSD_INITIATOR is not set # CONFIG_MD is not set -# CONFIG_TARGET_CORE is not set CONFIG_NETDEVICES=y # CONFIG_NET_CORE is not set |