diff --git a/packages/audio/taglib/build b/packages/audio/taglib/build new file mode 100755 index 0000000000..8c22bad6fe --- /dev/null +++ b/packages/audio/taglib/build @@ -0,0 +1,33 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +cd $PKG_BUILD +mkdir -p build && cd build + +cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + .. + +make +$MAKEINSTALL diff --git a/packages/audio/taglib/install b/packages/audio/taglib/install new file mode 100755 index 0000000000..261329232e --- /dev/null +++ b/packages/audio/taglib/install @@ -0,0 +1,27 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +mkdir -p $INSTALL/usr/lib + cp -P $PKG_BUILD/build/taglib/*.so* $INSTALL/usr/lib + cp -P $PKG_BUILD/build/bindings/c/*.so* $INSTALL/usr/lib diff --git a/packages/audio/taglib/meta b/packages/audio/taglib/meta new file mode 100644 index 0000000000..1137b9ba08 --- /dev/null +++ b/packages/audio/taglib/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="taglib" +PKG_VERSION="1.8" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="LGPL" +PKG_SITE="http://taglib.github.com/" +PKG_URL="https://github.com/downloads/taglib/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="zlib" +PKG_BUILD_DEPENDS="toolchain zlib" +PKG_PRIORITY="optional" +PKG_SECTION="audio" +PKG_SHORTDESC="taglib: a library for reading and editing the meta-data of several popular audio formats." +PKG_LONGDESC="TagLib is a library for reading and editing the meta-data of several popular audio formats." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/devel/libcec/meta b/packages/devel/libcec/meta index 0c967eee6c..89f1527659 100644 --- a/packages/devel/libcec/meta +++ b/packages/devel/libcec/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="libcec" -PKG_VERSION="1.8.1" +PKG_VERSION="1.9.0" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/devel/pcre-host/build b/packages/devel/pcre-host/build new file mode 100755 index 0000000000..455d1aef9c --- /dev/null +++ b/packages/devel/pcre-host/build @@ -0,0 +1,42 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +$SCRIPTS/unpack pcre + +setup_toolchain host + +cd $BUILD/pcre-* +mkdir -p m4 && do_autoreconf + +mkdir -p .build-host && cd .build-host + +../configure --host=$HOST_NAME \ + --build=$HOST_NAME \ + --prefix=$ROOT/$TOOLCHAIN \ + --enable-utf8 \ + --enable-unicode-properties \ + --with-gnu-ld + +make +make install \ No newline at end of file diff --git a/packages/devel/pcre-host/meta b/packages/devel/pcre-host/meta new file mode 100644 index 0000000000..cb137aa383 --- /dev/null +++ b/packages/devel/pcre-host/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="pcre-host" +PKG_VERSION="" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="OSS" +PKG_SITE="http://www.pcre.org/" +PKG_URL="" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="toolchain" +PKG_PRIORITY="optional" +PKG_SECTION="devel" +PKG_SHORTDESC="pcre: Perl Compatible Regulat Expressions" +PKG_LONGDESC="The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. PCRE has its own native API, as well as a set of wrapper functions that correspond to the POSIX regular expression API. The PCRE library is free, even for building commercial software." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/devel/pcre/build b/packages/devel/pcre/build index 9bfcc7400b..2f8e81a0c1 100755 --- a/packages/devel/pcre/build +++ b/packages/devel/pcre/build @@ -24,17 +24,19 @@ cd $PKG_BUILD mkdir -p m4 && do_autoreconf -./configure --host=$TARGET_NAME \ - --build=$HOST_NAME \ - --prefix=/usr \ - --exec-prefix=/usr \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --enable-shared \ - --disable-static \ - --enable-utf8 \ - --enable-unicode-properties \ - --with-gnu-ld + +mkdir -p .build-target && cd .build-target +../configure --host=$TARGET_NAME \ + --build=$HOST_NAME \ + --prefix=/usr \ + --exec-prefix=/usr \ + --sysconfdir=/etc \ + --datadir=/usr/share \ + --enable-shared \ + --disable-static \ + --enable-utf8 \ + --enable-unicode-properties \ + --with-gnu-ld make diff --git a/packages/devel/pcre/install b/packages/devel/pcre/install index 3bf8000c4b..3caea077bf 100755 --- a/packages/devel/pcre/install +++ b/packages/devel/pcre/install @@ -23,5 +23,5 @@ . config/options $1 mkdir -p $INSTALL/usr/lib - cp -P $PKG_BUILD/.libs/libpcre*.so*[.0-9] $INSTALL/usr/lib + cp -P $PKG_BUILD/.build-target/.libs/libpcre*.so*[.0-9] $INSTALL/usr/lib diff --git a/packages/graphics/bcm2835-driver/meta b/packages/graphics/bcm2835-driver/meta index 14fca005e8..c222fc04e3 100644 --- a/packages/graphics/bcm2835-driver/meta +++ b/packages/graphics/bcm2835-driver/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="bcm2835-driver" -PKG_VERSION="790681a" +PKG_VERSION="05bb1ec" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="nonfree" diff --git a/packages/linux/patches/linux-3.2.28-601-RPi_support-78f82bc.patch b/packages/linux/patches/linux-3.2.28-601-RPi_support-87d5bc1.patch similarity index 99% rename from packages/linux/patches/linux-3.2.28-601-RPi_support-78f82bc.patch rename to packages/linux/patches/linux-3.2.28-601-RPi_support-87d5bc1.patch index b5c991e8ac..e3f3cb7747 100644 --- a/packages/linux/patches/linux-3.2.28-601-RPi_support-78f82bc.patch +++ b/packages/linux/patches/linux-3.2.28-601-RPi_support-87d5bc1.patch @@ -1,8 +1,8 @@ diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 987c72d..5285fbf 100644 +index 987c72d..b58af94 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -955,6 +955,22 @@ config PLAT_SPEAR +@@ -955,6 +955,23 @@ config PLAT_SPEAR help Support for ST's SPEAr platform (SPEAr3xx, SPEAr6xx and SPEAr13xx). @@ -14,6 +14,7 @@ index 987c72d..5285fbf 100644 + select HAVE_SCHED_CLOCK + select NEED_MACH_MEMORY_H + select CLKDEV_LOOKUP ++ select ARCH_HAS_CPUFREQ + select GENERIC_CLOCKEVENTS + select ARM_ERRATA_411920 + select MACH_BCM2708 @@ -25,7 +26,7 @@ index 987c72d..5285fbf 100644 config ARCH_VT8500 bool "VIA/WonderMedia 85xx" select CPU_ARM926T -@@ -1098,6 +1114,7 @@ source "arch/arm/plat-versatile/Kconfig" +@@ -1098,6 +1115,7 @@ source "arch/arm/plat-versatile/Kconfig" source "arch/arm/mach-vt8500/Kconfig" source "arch/arm/mach-w90x900/Kconfig" @@ -618,10 +619,10 @@ index 0000000..3b8bd74 +CONFIG_LIBCRC32C=y diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig new file mode 100644 -index 0000000..5ed9c30 +index 0000000..35c5042 --- /dev/null +++ b/arch/arm/configs/bcmrpi_defconfig -@@ -0,0 +1,907 @@ +@@ -0,0 +1,913 @@ +# CONFIG_ARM_PATCH_PHYS_VIRT is not set +CONFIG_EXPERIMENTAL=y +# CONFIG_LOCALVERSION_AUTO is not set @@ -670,6 +671,12 @@ index 0000000..5ed9c30 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext3 rootwait" +CONFIG_KEXEC=y ++CONFIG_CPU_FREQ=y ++CONFIG_CPU_FREQ_STAT=m ++CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y ++CONFIG_CPU_FREQ_GOV_POWERSAVE=y ++CONFIG_CPU_FREQ_GOV_USERSPACE=y ++CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_IDLE=y +CONFIG_VFP=y +CONFIG_BINFMT_MISC=m @@ -2103,6 +2110,20 @@ index 207f9d6..5233d54 100644 +ENTRY(__FIQ_Branch) + mov pc, r8 +ENDPROC(__FIQ_Branch) +diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S +index 20b3041..e952a30 100644 +--- a/arch/arm/kernel/vmlinux.lds.S ++++ b/arch/arm/kernel/vmlinux.lds.S +@@ -174,7 +174,9 @@ SECTIONS + } + #endif + ++#ifdef CONFIG_SMP + PERCPU_SECTION(32) ++#endif + + #ifdef CONFIG_XIP_KERNEL + __data_loc = ALIGN(4); /* location in binary */ diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig new file mode 100644 index 0000000..5593167 @@ -5964,10 +5985,10 @@ index 0000000..9d41c3a + diff --git a/arch/arm/mach-bcm2708/include/mach/vcio.h b/arch/arm/mach-bcm2708/include/mach/vcio.h new file mode 100644 -index 0000000..ace4ea4 +index 0000000..7dfd14e --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/vcio.h -@@ -0,0 +1,43 @@ +@@ -0,0 +1,108 @@ +/* + * arch/arm/mach-bcm2708/include/mach/vcio.h + * @@ -5997,18 +6018,83 @@ index 0000000..ace4ea4 +#define BCM_VCIO_DRIVER_NAME "bcm2708_vcio" + +/* Constants shared with the ARM identifying separate mailbox channels */ -+#define MBOX_CHAN_POWER 0 /* for use by the power management interface */ -+#define MBOX_CHAN_FB 1 /* for use by the frame buffer */ -+#define MBOX_CHAN_VUART 2 /* for use by the virtual UART */ -+#define MBOX_CHAN_VCHIQ 3 /* for use by the VCHIQ interface */ -+#define MBOX_CHAN_LEDS 4 /* for use by the leds interface */ -+#define MBOX_CHAN_BUTTONS 5 /* for use by the buttons interface */ -+#define MBOX_CHAN_TOUCH 6 /* for use by the touchscreen interface */ ++#define MBOX_CHAN_POWER 0 /* for use by the power management interface */ ++#define MBOX_CHAN_FB 1 /* for use by the frame buffer */ ++#define MBOX_CHAN_VCHIQ 3 /* for use by the VCHIQ interface */ +#define MBOX_CHAN_PROPERTY 8 /* for use by the property channel */ -+#define MBOX_CHAN_COUNT 9 ++#define MBOX_CHAN_COUNT 9 ++ ++/* Mailbox property tags */ ++enum { ++ VCMSG_PROPERTY_END = 0x00000000, ++ VCMSG_GET_FIRMWARE_REVISION = 0x00000001, ++ VCMSG_GET_BOARD_MODEL = 0x00010001, ++ VCMSG_GET_BOARD_REVISION = 0x00020002, ++ VCMSG_GET_BOARD_MAC_ADDRESS = 0x00020003, ++ VCMSG_GET_BOARD_SERIAL = 0x00020004, ++ VCMSG_GET_ARM_MEMORY = 0x00020005, ++ VCMSG_GET_VC_MEMORY = 0x00020006, ++ VCMSG_GET_CLOCKS = 0x00020007, ++ VCMSG_GET_COMMAND_LINE = 0x00050001, ++ VCMSG_GET_DMA_CHANNELS = 0x00060001, ++ VCMSG_GET_POWER_STATE = 0x00020001, ++ VCMSG_GET_TIMING = 0x00020002, ++ VCMSG_SET_POWER_STATE = 0x00028001, ++ VCMSG_GET_CLOCK_STATE = 0x00030001, ++ VCMSG_SET_CLOCK_STATE = 0x00038001, ++ VCMSG_GET_CLOCK_RATE = 0x00030002, ++ VCMSG_SET_CLOCK_RATE = 0x00038002, ++ VCMSG_GET_VOLTAGE = 0x00030003, ++ VCMSG_SET_VOLTAGE = 0x00038003, ++ VCMSG_GET_MAX_CLOCK = 0x00030004, ++ VCMSG_GET_MAX_VOLTAGE = 0x00030005, ++ VCMSG_GET_TEMPERATURE = 0x00030006, ++ VCMSG_GET_MIN_CLOCK = 0x00030007, ++ VCMSG_GET_MIN_VOLTAGE = 0x00030008, ++ VCMSG_GET_TURBO = 0x00030009, ++ VCMSG_SET_TURBO = 0x00038009, ++ VCMSG_SET_ALLOCATE_BUFFER = 0x00040001, ++ VCMSG_SET_RELEASE_BUFFER = 0x00048001, ++ VCMSG_SET_BLANK_SCREEN = 0x00040002, ++ VCMSG_TST_BLANK_SCREEN = 0x00044002, ++ VCMSG_GET_PHYSICAL_WIDTH_HEIGHT = 0x00040003, ++ VCMSG_TST_PHYSICAL_WIDTH_HEIGHT = 0x00044003, ++ VCMSG_SET_PHYSICAL_WIDTH_HEIGHT = 0x00048003, ++ VCMSG_GET_VIRTUAL_WIDTH_HEIGHT = 0x00040004, ++ VCMSG_TST_VIRTUAL_WIDTH_HEIGHT = 0x00044004, ++ VCMSG_SET_VIRTUAL_WIDTH_HEIGHT = 0x00048004, ++ VCMSG_GET_DEPTH = 0x00040005, ++ VCMSG_TST_DEPTH = 0x00044005, ++ VCMSG_SET_DEPTH = 0x00048005, ++ VCMSG_GET_PIXEL_ORDER = 0x00040006, ++ VCMSG_TST_PIXEL_ORDER = 0x00044006, ++ VCMSG_SET_PIXEL_ORDER = 0x00048006, ++ VCMSG_GET_ALPHA_MODE = 0x00040007, ++ VCMSG_TST_ALPHA_MODE = 0x00044007, ++ VCMSG_SET_ALPHA_MODE = 0x00048007, ++ VCMSG_GET_PITCH = 0x00040008, ++ VCMSG_TST_PITCH = 0x00044008, ++ VCMSG_SET_PITCH = 0x00048008, ++ VCMSG_GET_VIRTUAL_OFFSET = 0x00040009, ++ VCMSG_TST_VIRTUAL_OFFSET = 0x00044009, ++ VCMSG_SET_VIRTUAL_OFFSET = 0x00048009, ++ VCMSG_GET_OVERSCAN = 0x0004000a, ++ VCMSG_TST_OVERSCAN = 0x0004400a, ++ VCMSG_SET_OVERSCAN = 0x0004800a, ++ VCMSG_GET_PALETTE = 0x0004000b, ++ VCMSG_TST_PALETTE = 0x0004400b, ++ VCMSG_SET_PALETTE = 0x0004800b, ++ VCMSG_GET_LAYER = 0x0004000c, ++ VCMSG_TST_LAYER = 0x0004400c, ++ VCMSG_SET_LAYER = 0x0004800c, ++ VCMSG_GET_TRANSFORM = 0x0004000d, ++ VCMSG_TST_TRANSFORM = 0x0004400d, ++ VCMSG_SET_TRANSFORM = 0x0004800d, ++}; + +extern int /*rc*/ bcm_mailbox_read(unsigned chan, uint32_t *data28); +extern int /*rc*/ bcm_mailbox_write(unsigned chan, uint32_t data28); ++extern int /*rc*/ bcm_mailbox_property(void *data, int size); + +#endif diff --git a/arch/arm/mach-bcm2708/include/mach/vmalloc.h b/arch/arm/mach-bcm2708/include/mach/vmalloc.h @@ -6239,10 +6325,10 @@ index 0000000..256bf1a +MODULE_LICENSE("GPL"); diff --git a/arch/arm/mach-bcm2708/vc_mem.c b/arch/arm/mach-bcm2708/vc_mem.c new file mode 100644 -index 0000000..775c213 +index 0000000..ae1810c --- /dev/null +++ b/arch/arm/mach-bcm2708/vc_mem.c -@@ -0,0 +1,510 @@ +@@ -0,0 +1,499 @@ +/***************************************************************************** +* Copyright 2010 - 2011 Broadcom Corporation. All rights reserved. +* @@ -6373,44 +6459,33 @@ index 0000000..775c213 + uint32_t end_tag; /* an end identifier, should be set to NULL */ +}; + -+#define VCMSG_GET_ARM_MEMORY 0x00010005 -+#define VCMSG_GET_VC_MEMORY 0x00010006 -+ +static void vc_mem_update(void) +{ -+ uint32_t success; -+ dma_addr_t vc_mem; /* the memory address accessed from videocore */ -+ struct vc_set_msg *get_mem; /* the memory address accessed from driver */ ++ struct vc_set_msg msg; /* the memory address accessed from driver */ ++ uint32_t s; + -+ /* allocate some memory for the messages to use throughout the lifetime of the driver, use the larger of the two message structures */ -+ get_mem = (struct vc_set_msg *)dma_alloc_coherent(NULL, PAGE_ALIGN(sizeof(struct vc_set_msg)), &vc_mem, GFP_ATOMIC); -+ /* clear any garbage */ -+ memset(get_mem, 0, sizeof(struct vc_set_msg)); ++ memset(&msg, 0, sizeof msg); + /* create the message */ -+ get_mem->msg_size = sizeof(struct vc_set_msg); -+ get_mem->tag[0].tag_id = VCMSG_GET_VC_MEMORY; -+ get_mem->tag[0].buffer_size = 8; -+ get_mem->tag[0].data_size = 0; -+ get_mem->tag[1].tag_id = VCMSG_GET_ARM_MEMORY; -+ get_mem->tag[1].buffer_size = 8; -+ get_mem->tag[1].data_size = 0; ++ msg.msg_size = sizeof msg; ++ msg.tag[0].tag_id = VCMSG_GET_VC_MEMORY; ++ msg.tag[0].buffer_size = 8; ++ msg.tag[0].data_size = 0; ++ msg.tag[1].tag_id = VCMSG_GET_ARM_MEMORY; ++ msg.tag[1].buffer_size = 8; ++ msg.tag[1].data_size = 0; + + /* send the message */ -+ wmb(); -+ bcm_mailbox_write(MBOX_CHAN_PROPERTY,(uint32_t)vc_mem); -+ bcm_mailbox_read(MBOX_CHAN_PROPERTY, &success); -+ rmb(); ++ s = bcm_mailbox_property(&msg, sizeof msg); + -+ LOG_DBG("%s: resp %x, vcbase=%x vcsize=%x armbase=%x armsize=%x", __func__, get_mem->request_code, -+ get_mem->tag[0].base, get_mem->tag[0].size, get_mem->tag[1].base, get_mem->tag[1].size); ++ LOG_DBG("%s: success=%d resp %x, vcbase=%x vcsize=%x armbase=%x armsize=%x", __func__, s, msg.request_code, ++ msg.tag[0].base, msg.tag[0].size, msg.tag[1].base, msg.tag[1].size); + + /* check we're all good */ -+ if (get_mem->request_code & 0x80000000) { -+ mm_vc_mem_base = get_mem->tag[0].base; -+ mm_vc_mem_size = get_mem->tag[0].size+get_mem->tag[1].size; -+ mm_vc_mem_phys_addr = get_mem->tag[1].base; ++ if (s == 0 && msg.request_code & 0x80000000) { ++ mm_vc_mem_base = msg.tag[0].base; ++ mm_vc_mem_size = msg.tag[0].size+msg.tag[1].size; ++ mm_vc_mem_phys_addr = msg.tag[1].base; + } -+ dma_free_coherent(NULL, PAGE_ALIGN(sizeof(struct vc_set_msg)), (void *)get_mem, vc_mem); +} + + @@ -6755,10 +6830,10 @@ index 0000000..775c213 +MODULE_AUTHOR("Broadcom Corporation"); diff --git a/arch/arm/mach-bcm2708/vcio.c b/arch/arm/mach-bcm2708/vcio.c new file mode 100644 -index 0000000..3874051 +index 0000000..468fdef --- /dev/null +++ b/arch/arm/mach-bcm2708/vcio.c -@@ -0,0 +1,304 @@ +@@ -0,0 +1,338 @@ +/* + * linux/arch/arm/mach-bcm2708/vcio.c + * @@ -6977,6 +7052,40 @@ index 0000000..3874051 + mbox_dev = dev; +} + ++extern int bcm_mailbox_property(void *data, int size) ++{ ++ uint32_t success; ++ dma_addr_t mem_bus; /* the memory address accessed from videocore */ ++ void *mem_kern; /* the memory address accessed from driver */ ++ int s = 0; ++ ++ /* allocate some memory for the messages communicating with GPU */ ++ mem_kern = dma_alloc_coherent(NULL, PAGE_ALIGN(size), &mem_bus, GFP_ATOMIC); ++ if (mem_kern) { ++ /* create the message */ ++ memcpy(mem_kern, data, size); ++ ++ /* send the message */ ++ wmb(); ++ s = bcm_mailbox_write(MBOX_CHAN_PROPERTY, (uint32_t)mem_bus); ++ if (s == 0) { ++ s = bcm_mailbox_read(MBOX_CHAN_PROPERTY, &success); ++ } ++ if (s == 0) { ++ /* copy the response */ ++ rmb(); ++ memcpy(data, mem_kern, size); ++ } ++ dma_free_coherent(NULL, PAGE_ALIGN(size), mem_kern, mem_bus); ++ } else { ++ s = -ENOMEM; ++ } ++ if (s != 0) ++ printk(KERN_ERR DRIVER_NAME ": %s failed (%d)\n", __func__, s); ++ return s; ++} ++EXPORT_SYMBOL_GPL(bcm_mailbox_property); ++ +/* ---------------------------------------------------------------------- + * Platform Device for Mailbox + * -------------------------------------------------------------------- */ @@ -7121,6 +7230,279 @@ index d061d2f..436dc2c 100644 mov pc, lr ENTRY(cpu_v6_dcache_clean_area) +diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm +index 72a0044..c28423d 100644 +--- a/drivers/cpufreq/Kconfig.arm ++++ b/drivers/cpufreq/Kconfig.arm +@@ -30,3 +30,11 @@ config ARM_EXYNOS4210_CPUFREQ + SoC (S5PV310 or S5PC210). + + If in doubt, say N. ++ ++config ARM_BCM2835_CPUFREQ ++ bool "BCM2835 Driver" ++ default y ++ help ++ This adds the CPUFreq driver for BCM2835 ++ ++ If in doubt, say N. +diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile +index a48bc02..51ebbb3 100644 +--- a/drivers/cpufreq/Makefile ++++ b/drivers/cpufreq/Makefile +@@ -43,6 +43,7 @@ obj-$(CONFIG_UX500_SOC_DB8500) += db8500-cpufreq.o + obj-$(CONFIG_ARM_S3C64XX_CPUFREQ) += s3c64xx-cpufreq.o + obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5pv210-cpufreq.o + obj-$(CONFIG_ARM_EXYNOS4210_CPUFREQ) += exynos4210-cpufreq.o ++obj-$(CONFIG_ARM_BCM2835_CPUFREQ) += bcm2835-cpufreq.o + + ################################################################################## + # PowerPC platform drivers +diff --git a/drivers/cpufreq/bcm2835-cpufreq.c b/drivers/cpufreq/bcm2835-cpufreq.c +new file mode 100755 +index 0000000..aa6fc66 +--- /dev/null ++++ b/drivers/cpufreq/bcm2835-cpufreq.c +@@ -0,0 +1,239 @@ ++/***************************************************************************** ++* Copyright 2011 Broadcom Corporation. All rights reserved. ++* ++* Unless you and Broadcom execute a separate written software license ++* agreement governing use of this software, this software is licensed to you ++* under the terms of the GNU General Public License version 2, available at ++* http://www.broadcom.com/licenses/GPLv2.php (the "GPL"). ++* ++* Notwithstanding the above, under no circumstances may you combine this ++* software in any way with any other Broadcom software provided under a ++* license other than the GPL, without Broadcom's express prior written ++* consent. ++*****************************************************************************/ ++ ++/***************************************************************************** ++* FILENAME: bcm2835-cpufreq.h ++* DESCRIPTION: This driver dynamically manages the CPU Frequency of the ARM ++* processor. Messages are sent to Videocore either setting or requesting the ++* frequency of the ARM in order to match an appropiate frequency to the current ++* usage of the processor. The policy which selects the frequency to use is ++* defined in the kernel .config file, but can be changed during runtime. ++*****************************************************************************/ ++ ++/* ---------- INCLUDES ---------- */ ++#include ++#include ++#include ++#include ++#include ++ ++/* ---------- DEFINES ---------- */ ++/*#define CPUFREQ_DEBUG_ENABLE*/ /* enable debugging */ ++#define MODULE_NAME "bcm2835-cpufreq" ++ ++#define VCMSG_ID_ARM_CLOCK 0x000000003 /* Clock/Voltage ID's */ ++ ++/* debug printk macros */ ++#ifdef CPUFREQ_DEBUG_ENABLE ++#define print_debug(fmt,...) pr_debug("%s:%s:%d: "fmt, MODULE_NAME, __func__, __LINE__, ##__VA_ARGS__) ++#else ++#define print_debug(fmt,...) ++#endif ++#define print_err(fmt,...) pr_err("%s:%s:%d: "fmt, MODULE_NAME, __func__,__LINE__, ##__VA_ARGS__) ++#define print_info(fmt,...) pr_info("%s: "fmt, MODULE_NAME, ##__VA_ARGS__) ++ ++/* tag part of the message */ ++struct vc_msg_tag { ++ uint32_t tag_id; /* the message id */ ++ uint32_t buffer_size; /* size of the buffer (which in this case is always 8 bytes) */ ++ uint32_t data_size; /* amount of data being sent or received */ ++ uint32_t dev_id; /* the ID of the clock/voltage to get or set */ ++ uint32_t val; /* the value (e.g. rate (in Hz)) to set */ ++}; ++ ++/* message structure to be sent to videocore */ ++struct vc_msg { ++ uint32_t msg_size; /* simply, sizeof(struct vc_msg) */ ++ uint32_t request_code; /* holds various information like the success and number of bytes returned (refer to mailboxes wiki) */ ++ struct vc_msg_tag tag; /* the tag structure above to make */ ++ uint32_t end_tag; /* an end identifier, should be set to NULL */ ++}; ++ ++/* ---------- GLOBALS ---------- */ ++static struct cpufreq_driver bcm2835_cpufreq_driver; /* the cpufreq driver global */ ++ ++/* ++ =============================================== ++ clk_rate either gets or sets the clock rates. ++ =============================================== ++*/ ++static uint32_t bcm2835_cpufreq_set_clock(int cur_rate, int arm_rate) ++{ ++ int s, actual_rate=0; ++ struct vc_msg msg; ++ ++ /* wipe all previous message data */ ++ memset(&msg, 0, sizeof msg); ++ ++ msg.msg_size = sizeof msg; ++ ++ msg.tag.tag_id = VCMSG_SET_CLOCK_RATE; ++ msg.tag.buffer_size = 8; ++ msg.tag.data_size = 8; /* we're sending the clock ID and the new rates which is a total of 2 words */ ++ msg.tag.dev_id = VCMSG_ID_ARM_CLOCK; ++ msg.tag.val = arm_rate * 1000; ++ ++ /* send the message */ ++ s = bcm_mailbox_property(&msg, sizeof msg); ++ ++ /* check if it was all ok and return the rate in KHz */ ++ if (s == 0 && (msg.request_code & 0x80000000)) ++ actual_rate = msg.tag.val/1000; ++ ++ print_debug("Setting new frequency = %d -> %d (actual %d)", cur_rate, arm_rate, actual_rate); ++ return actual_rate; ++} ++ ++static uint32_t bcm2835_cpufreq_get_clock(int tag) ++{ ++ int s; ++ int arm_rate = 0; ++ struct vc_msg msg; ++ ++ /* wipe all previous message data */ ++ memset(&msg, 0, sizeof msg); ++ ++ msg.msg_size = sizeof msg; ++ msg.tag.tag_id = tag; ++ msg.tag.buffer_size = 8; ++ msg.tag.data_size = 4; /* we're just sending the clock ID which is one word long */ ++ msg.tag.dev_id = VCMSG_ID_ARM_CLOCK; ++ ++ /* send the message */ ++ s = bcm_mailbox_property(&msg, sizeof msg); ++ ++ /* check if it was all ok and return the rate in KHz */ ++ if (s == 0 && (msg.request_code & 0x80000000)) ++ arm_rate = msg.tag.val/1000; ++ ++ print_debug("%s frequency = %d", ++ tag == VCMSG_GET_CLOCK_RATE ? "Current": ++ tag == VCMSG_GET_MIN_CLOCK ? "Min": ++ tag == VCMSG_GET_MAX_CLOCK ? "Max": ++ "Unexpected", arm_rate); ++ ++ return arm_rate; ++} ++ ++/* ++ ==================================================== ++ Module Initialisation registers the cpufreq driver ++ ==================================================== ++*/ ++static int __init bcm2835_cpufreq_module_init(void) ++{ ++ print_debug("IN"); ++ return cpufreq_register_driver(&bcm2835_cpufreq_driver); ++} ++ ++/* ++ ============= ++ Module exit ++ ============= ++*/ ++static void __exit bcm2835_cpufreq_module_exit(void) ++{ ++ print_debug("IN"); ++ cpufreq_unregister_driver(&bcm2835_cpufreq_driver); ++ return; ++} ++ ++/* ++ ============================================================== ++ Initialisation function sets up the CPU policy for first use ++ ============================================================== ++*/ ++static int bcm2835_cpufreq_driver_init(struct cpufreq_policy *policy) ++{ ++ /* measured value of how long it takes to change frequency */ ++ policy->cpuinfo.transition_latency = 355000; /* ns */ ++ ++ /* now find out what the maximum and minimum frequencies are */ ++ policy->min = policy->cpuinfo.min_freq = bcm2835_cpufreq_get_clock(VCMSG_GET_MIN_CLOCK); ++ policy->max = policy->cpuinfo.max_freq = bcm2835_cpufreq_get_clock(VCMSG_GET_MAX_CLOCK); ++ policy->cur = bcm2835_cpufreq_get_clock(VCMSG_GET_CLOCK_RATE); ++ ++ print_info("min=%d max=%d cur=%d", policy->min, policy->max, policy->cur); ++ return 0; ++} ++ ++/* ++ ================================================================================= ++ Target function chooses the most appropriate frequency from the table to enable ++ ================================================================================= ++*/ ++ ++static int bcm2835_cpufreq_driver_target(struct cpufreq_policy *policy, unsigned int target_freq, unsigned int relation) ++{ ++ unsigned int target = target_freq; ++ unsigned int cur = policy->cur; ++ print_debug("%s: min=%d max=%d cur=%d target=%d",policy->governor->name,policy->min,policy->max,policy->cur,target_freq); ++ ++ /* if we are above min and using ondemand, then just use max */ ++ if (strcmp("ondemand", policy->governor->name)==0 && target > policy->min) ++ target = policy->max; ++ /* if the frequency is the same, just quit */ ++ if (target == policy->cur) ++ return 0; ++ ++ /* otherwise were good to set the clock frequency */ ++ policy->cur = bcm2835_cpufreq_set_clock(policy->cur, target); ++ ++ if (!policy->cur) ++ { ++ print_err("Error occurred setting a new frequency (%d)!", target); ++ policy->cur = bcm2835_cpufreq_get_clock(VCMSG_GET_CLOCK_RATE); ++ return -EINVAL; ++ } ++ print_info("Freq %d->%d (min=%d max=%d target=%d request=%d)", cur, policy->cur, policy->min, policy->max, target_freq, target); ++ return 0; ++} ++ ++static unsigned int bcm2835_cpufreq_driver_get(unsigned int cpu) ++{ ++ unsigned int actual_rate = bcm2835_cpufreq_get_clock(VCMSG_GET_CLOCK_RATE); ++ print_debug("%d", actual_rate); ++ return actual_rate; ++} ++ ++/* ++ ================================================================================= ++ Verify ensures that when a policy is changed, it is suitable for the CPU to use ++ ================================================================================= ++*/ ++ ++static int bcm2835_cpufreq_driver_verify(struct cpufreq_policy *policy) ++{ ++ print_info("switching to governor %s", policy->governor->name); ++ return 0; ++} ++ ++ ++/* the CPUFreq driver */ ++static struct cpufreq_driver bcm2835_cpufreq_driver = { ++ .name = "BCM2835 CPUFreq", ++ .owner = THIS_MODULE, ++ .init = bcm2835_cpufreq_driver_init, ++ .verify = bcm2835_cpufreq_driver_verify, ++ .target = bcm2835_cpufreq_driver_target, ++ .get = bcm2835_cpufreq_driver_get ++}; ++ ++MODULE_AUTHOR("Dorian Peake and Dom Cobley"); ++MODULE_DESCRIPTION("CPU frequency driver for BCM2835 chip"); ++MODULE_LICENSE("GPL"); ++ ++module_init(bcm2835_cpufreq_module_init); ++module_exit(bcm2835_cpufreq_module_exit); ++ diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig index a3afac4..cbc62ff 100644 --- a/drivers/i2c/busses/Kconfig @@ -32338,7 +32720,7 @@ index 7ca290f..802dda6 100644 obj-$(CONFIG_USB_OCTEON2_COMMON) += octeon2-common.o diff --git a/drivers/usb/host/dwc_common_port/Makefile b/drivers/usb/host/dwc_common_port/Makefile new file mode 100644 -index 0000000..203c7ea +index 0000000..63e3485 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile @@ -0,0 +1,58 @@ @@ -32374,9 +32756,9 @@ index 0000000..203c7ea + +else + -+ifeq ($(KDIR),) -+$(error Must give "KDIR=/path/to/kernel/source" on command line or in environment) -+endif ++#ifeq ($(KDIR),) ++#$(error Must give "KDIR=/path/to/kernel/source" on command line or in environment) ++#endif + +ifeq ($(ARCH),) +$(error Must give "ARCH=" on command line or in environment. Also, if \ @@ -62145,7 +62527,7 @@ index 0000000..8a0e41b +#endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c new file mode 100644 -index 0000000..20f989e +index 0000000..0ce7e46 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c @@ -0,0 +1,3478 @@ @@ -62973,6 +63355,7 @@ index 0000000..20f989e + } else if (dwc_otg_hcd->status_buf != NULL) { + DWC_FREE(dwc_otg_hcd->status_buf); + } ++ DWC_SPINLOCK_FREE(dwc_otg_hcd->channel_lock); + DWC_SPINLOCK_FREE(dwc_otg_hcd->lock); + /* Set core_if's lock pointer to NULL */ + dwc_otg_hcd->core_if->lock = NULL; @@ -62999,6 +63382,7 @@ index 0000000..20f989e + dwc_hc_t *channel; + + hcd->lock = DWC_SPINLOCK_ALLOC(); ++ hcd->channel_lock = DWC_SPINLOCK_ALLOC(); + DWC_DEBUGPL(DBG_HCDV, "init of HCD %p given core_if %p\n", + hcd, core_if); + if (!hcd->lock) { @@ -63399,7 +63783,7 @@ index 0000000..20f989e + dwc_otg_qh_t *qh; + int num_channels; + dwc_irqflags_t flags; -+ dwc_spinlock_t *channel_lock = DWC_SPINLOCK_ALLOC(); ++ dwc_spinlock_t *channel_lock = hcd->channel_lock; + dwc_otg_transaction_type_e ret_val = DWC_OTG_TRANSACTION_NONE; + +#ifdef DEBUG_SOF @@ -63499,8 +63883,6 @@ index 0000000..20f989e +#ifdef DEBUG_HOST_CHANNELS + last_sel_trans_num_avail_hc_at_end = hcd->available_host_channels; +#endif /* DEBUG_HOST_CHANNELS */ -+ -+ DWC_SPINLOCK_FREE(channel_lock); + return ret_val; +} + @@ -65629,7 +66011,7 @@ index 0000000..20f989e +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h new file mode 100644 -index 0000000..dd30f47 +index 0000000..6d82127 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h @@ -0,0 +1,824 @@ @@ -66183,7 +66565,7 @@ index 0000000..dd30f47 + + /* */ + dwc_spinlock_t *lock; -+ ++ dwc_spinlock_t *channel_lock; + /** + * Private data that could be used by OS wrapper. + */ @@ -66459,10 +66841,10 @@ index 0000000..dd30f47 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c new file mode 100644 -index 0000000..d0d5fa1 +index 0000000..a2ceb77 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c -@@ -0,0 +1,1133 @@ +@@ -0,0 +1,1132 @@ +/*========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_hcd_ddma.c $ + * $Revision: #10 $ @@ -66741,7 +67123,7 @@ index 0000000..d0d5fa1 +static void release_channel_ddma(dwc_otg_hcd_t * hcd, dwc_otg_qh_t * qh) +{ + dwc_irqflags_t flags; -+ dwc_spinlock_t *channel_lock = DWC_SPINLOCK_ALLOC(); ++ dwc_spinlock_t *channel_lock = hcd->channel_lock; + + dwc_hc_t *hc = qh->channel; + if (dwc_qh_is_non_per(qh)) { @@ -66771,7 +67153,6 @@ index 0000000..d0d5fa1 + dwc_memset(qh->desc_list, 0x00, + sizeof(dwc_otg_host_dma_desc_t) * max_desc_num(qh)); + } -+ DWC_SPINLOCK_FREE(channel_lock); +} + +/** @@ -68021,10 +68402,10 @@ index 0000000..04ca4c2 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c new file mode 100644 -index 0000000..f1658fa +index 0000000..21e8f09 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c -@@ -0,0 +1,2230 @@ +@@ -0,0 +1,2229 @@ +/* ========================================================================== + * $File: //dwh/usb_iip/dev/software/otg/linux/drivers/dwc_otg_hcd_intr.c $ + * $Revision: #89 $ @@ -68949,7 +69330,7 @@ index 0000000..f1658fa + dwc_otg_transaction_type_e tr_type; + int free_qtd; + dwc_irqflags_t flags; -+ dwc_spinlock_t *channel_lock = DWC_SPINLOCK_ALLOC(); ++ dwc_spinlock_t *channel_lock = hcd->channel_lock; + + DWC_DEBUGPL(DBG_HCDV, " %s: channel %d, halt_status %d, xfer_len %d\n", + __func__, hc->hc_num, halt_status, hc->xfer_len); @@ -69036,7 +69417,6 @@ index 0000000..f1658fa + if (tr_type != DWC_OTG_TRANSACTION_NONE) { + dwc_otg_hcd_queue_transactions(hcd, tr_type); + } -+ DWC_SPINLOCK_FREE(channel_lock); +} + +/** @@ -90656,10 +91036,10 @@ index 0000000..68d838d +} diff --git a/sound/arm/bcm2835.c b/sound/arm/bcm2835.c new file mode 100755 -index 0000000..3f6b0ea +index 0000000..44bedb5 --- /dev/null +++ b/sound/arm/bcm2835.c -@@ -0,0 +1,424 @@ +@@ -0,0 +1,418 @@ +/***************************************************************************** +* Copyright 2011 Broadcom Corporation. All rights reserved. +* @@ -90749,10 +91129,7 @@ index 0000000..3f6b0ea + bcm2835_chip_t *chip; + struct snd_card *card; + int err; -+ printk(KERN_INFO "### snd_bcm2835_alsa_probe %p ###", pdev); -+ -+ printk -+ ("############ PROBING FOR bcm2835 ALSA device (%d):(%d) ###############\n", ++ printk(KERN_INFO "Probing FOR bcm2835 ALSA device (%d):(%d)\n", + dev, enable[dev]); + + if (dev >= MAX_SUBSTREAMS) @@ -90776,7 +91153,6 @@ index 0000000..3f6b0ea + strcpy(g_card->shortname, "bcm2835 ALSA"); + sprintf(g_card->longname, "%s", g_card->shortname); + -+ printk("Creating device/chip ..\n"); + err = snd_bcm2835_create(g_card, pdev, &chip); + if (err < 0) { + printk(KERN_ERR "Failed to create bcm2835 chip\n"); @@ -90790,7 +91166,6 @@ index 0000000..3f6b0ea + goto out_bcm2835_new_pcm; + } + -+ printk("Adding controls ..\n"); + err = snd_bcm2835_new_ctl(chip); + if (err < 0) { + printk(KERN_ERR "Failed to create new BCM2835 ctl\n"); @@ -90807,7 +91182,6 @@ index 0000000..3f6b0ea + chip->pdev[dev] = pdev; + + if (dev == 0) { -+ printk("Registering card ....\n"); + err = snd_card_register(card); + if (err < 0) { + printk(KERN_ERR @@ -90815,9 +91189,9 @@ index 0000000..3f6b0ea + goto out_card_register; + } + platform_set_drvdata(pdev, card); -+ printk("bcm2835 ALSA CARD CREATED!\n"); ++ printk(KERN_INFO "bcm2835 ALSA card created!\n"); + } else { -+ printk("bcm2835 ALSA CHIP CREATED!\n"); ++ printk(KERN_INFO "bcm2835 ALSA chip created!\n"); + platform_set_drvdata(pdev, (void *)dev); + } + @@ -91042,7 +91416,7 @@ index 0000000..3f6b0ea + printk("Error registering bcm2835_alsa7_driver %d .\n", err); + goto unregister_6; + } -+ printk(KERN_INFO "### BCM2835 ALSA driver init %s ### \n", ++ printk(KERN_INFO "BCM2835 ALSA driver init %s\n", + err ? "FAILED" : "OK"); + + return 0; diff --git a/packages/mediacenter/xbmc-frodo-theme-Confluence/meta b/packages/mediacenter/xbmc-frodo-theme-Confluence/meta index 625beb834e..2015962365 100644 --- a/packages/mediacenter/xbmc-frodo-theme-Confluence/meta +++ b/packages/mediacenter/xbmc-frodo-theme-Confluence/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="xbmc-frodo-theme-Confluence" -PKG_VERSION="c49247d" +PKG_VERSION="0c1f4e1" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/mediacenter/xbmc-frodo/meta b/packages/mediacenter/xbmc-frodo/meta index 7dd5f64eb6..ac14d48015 100644 --- a/packages/mediacenter/xbmc-frodo/meta +++ b/packages/mediacenter/xbmc-frodo/meta @@ -19,14 +19,14 @@ ################################################################################ PKG_NAME="xbmc-frodo" -PKG_VERSION="c49247d" +PKG_VERSION="0c1f4e1" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://www.xbmc.org" PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS="boost Python zlib bzip2 systemd pcre ffmpeg libass curl libssh rtmpdump fontconfig tinyxml freetype libmad libogg libmodplug faad2 flac libmpeg2 yajl sqlite bc xbmc-addon-settings" -PKG_BUILD_DEPENDS="toolchain boost Python zlib bzip2 systemd lzo pcre ffmpeg libass enca curl libssh rtmpdump fontconfig fribidi tinyxml libjpeg-turbo libpng tiff freetype jasper libmad libsamplerate libogg libcdio libmodplug faad2 flac libmpeg2 yajl sqlite mysql" +PKG_DEPENDS="boost Python zlib bzip2 systemd pcre ffmpeg libass curl libssh rtmpdump fontconfig tinyxml freetype libmad libogg libmodplug faad2 flac libmpeg2 taglib yajl sqlite bc xbmc-addon-settings" +PKG_BUILD_DEPENDS="toolchain boost Python zlib bzip2 systemd lzo pcre swig ffmpeg libass enca curl libssh rtmpdump fontconfig fribidi tinyxml libjpeg-turbo libpng tiff freetype jasper libmad libsamplerate libogg libcdio libmodplug faad2 flac libmpeg2 taglib yajl sqlite mysql" PKG_PRIORITY="optional" PKG_SECTION="mediacenter" PKG_SHORTDESC="xbmc: XBMC Mediacenter" diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-001-add_support_to_specify_GIT_REV-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-001-add_support_to_specify_GIT_REV-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-001-add_support_to_specify_GIT_REV-0.1.patch rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-001-add_support_to_specify_GIT_REV-0.1.patch diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-303-fix_libdvd_xFLAGS-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-303-fix_libdvd_xFLAGS-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-303-fix_libdvd_xFLAGS-0.1.patch rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-303-fix_libdvd_xFLAGS-0.1.patch diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-311-fix_rsxs_build-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-311-fix_rsxs_build-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-311-fix_rsxs_build-0.1.patch rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-311-fix_rsxs_build-0.1.patch diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-321-texturepacker-hostflags-and-rework.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-321-texturepacker-hostflags-and-rework.patch similarity index 100% rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-321-texturepacker-hostflags-and-rework.patch rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-321-texturepacker-hostflags-and-rework.patch diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-408-enable_PYTHONOPTIMIZE_with_external_Python-0.1.patch diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-452-change_lcd_content-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-452-change_lcd_content-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-452-change_lcd_content-0.1.patch rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-452-change_lcd_content-0.1.patch diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-453-add_openelec.tv_RSS_news-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-453-add_openelec.tv_RSS_news-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-453-add_openelec.tv_RSS_news-0.1.patch rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-453-add_openelec.tv_RSS_news-0.1.patch diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-454-disable_backslash-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-454-disable_backslash-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-454-disable_backslash-0.1.patch rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-454-disable_backslash-0.1.patch diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-457-fix_connection_check-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-457-fix_connection_check-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-457-fix_connection_check-0.1.patch rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-457-fix_connection_check-0.1.patch diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-463-add_remote_devinput-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-463-add_remote_devinput-0.1.patch similarity index 100% rename from packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-463-add_remote_devinput-0.1.patch rename to packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-463-add_remote_devinput-0.1.patch diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-601-PR1414.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-601-PR1414.patch new file mode 100644 index 0000000000..5ff9e98dcb --- /dev/null +++ b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-0c1f4e1-601-PR1414.patch @@ -0,0 +1,274 @@ +From f1a8e4d64edb0d432deb8191f07d63d40515d44b Mon Sep 17 00:00:00 2001 +From: gimli +Date: Wed, 12 Sep 2012 20:59:51 +0200 +Subject: [PATCH] [linux/arm] fixed 'System Info -> Hardware' for arm devices + and give GetXBVerInfo the name it deserves. + +--- + xbmc/utils/CPUInfo.cpp | 55 ++++++++++++++++++++++++++++++++++ + xbmc/utils/CPUInfo.h | 12 ++++++++ + xbmc/utils/SystemInfo.cpp | 22 +++++++++++++- + xbmc/utils/SystemInfo.h | 6 +++- + xbmc/utils/test/TestCPUInfo.cpp | 24 +++++++++++++++ + xbmc/utils/test/TestSystemInfo.cpp | 24 +++++++++++++-- + xbmc/windows/GUIWindowSystemInfo.cpp | 12 +++++++- + 7 files changed, 150 insertions(+), 5 deletions(-) + +diff --git a/xbmc/utils/CPUInfo.cpp b/xbmc/utils/CPUInfo.cpp +index b43d5fc..854b7b1 100644 +--- a/xbmc/utils/CPUInfo.cpp ++++ b/xbmc/utils/CPUInfo.cpp +@@ -198,6 +198,61 @@ static inline int _private_gettimeofday( struct timeval *tv, void *tz ) + m_cores[nCurrId].m_strVendor.Trim(); + } + } ++ else if (strncmp(buffer, "Processor", strlen("Processor"))==0) ++ { ++ char *needle = strstr(buffer, ":"); ++ if (needle && strlen(needle)>3) ++ { ++ needle+=2; ++ m_cpuModel = needle; ++ m_cores[nCurrId].m_strModel = m_cpuModel; ++ m_cores[nCurrId].m_strModel.Trim(); ++ } ++ } ++ else if (strncmp(buffer, "BogoMIPS", strlen("BogoMIPS"))==0) ++ { ++ char *needle = strstr(buffer, ":"); ++ if (needle && strlen(needle)>3) ++ { ++ needle+=2; ++ m_cpuBogoMips = needle; ++ m_cores[nCurrId].m_strBogoMips = m_cpuBogoMips; ++ m_cores[nCurrId].m_strBogoMips.Trim(); ++ } ++ } ++ else if (strncmp(buffer, "Hardware", strlen("Hardware"))==0) ++ { ++ char *needle = strstr(buffer, ":"); ++ if (needle && strlen(needle)>3) ++ { ++ needle+=2; ++ m_cpuHardware = needle; ++ m_cores[nCurrId].m_strHardware = m_cpuHardware; ++ m_cores[nCurrId].m_strHardware.Trim(); ++ } ++ } ++ else if (strncmp(buffer, "Revision", strlen("Revision"))==0) ++ { ++ char *needle = strstr(buffer, ":"); ++ if (needle && strlen(needle)>3) ++ { ++ needle+=2; ++ m_cpuRevision = needle; ++ m_cores[nCurrId].m_strRevision = m_cpuRevision; ++ m_cores[nCurrId].m_strRevision.Trim(); ++ } ++ } ++ else if (strncmp(buffer, "Serial", strlen("Serial"))==0) ++ { ++ char *needle = strstr(buffer, ":"); ++ if (needle && strlen(needle)>3) ++ { ++ needle+=2; ++ m_cpuSerial = needle; ++ m_cores[nCurrId].m_strSerial = m_cpuSerial; ++ m_cores[nCurrId].m_strSerial.Trim(); ++ } ++ } + else if (strncmp(buffer, "model name", strlen("model name"))==0) + { + char *needle = strstr(buffer, ":"); +diff --git a/xbmc/utils/CPUInfo.h b/xbmc/utils/CPUInfo.h +index e8bcf3c..82cd1bd 100644 +--- a/xbmc/utils/CPUInfo.h ++++ b/xbmc/utils/CPUInfo.h +@@ -55,6 +55,10 @@ struct CoreInfo + unsigned long long m_io; + CStdString m_strVendor; + CStdString m_strModel; ++ CStdString m_strBogoMips; ++ CStdString m_strHardware; ++ CStdString m_strRevision; ++ CStdString m_strSerial; + CoreInfo() : m_id(0), m_fSpeed(.0), m_fPct(.0), m_user(0LL), m_nice(0LL), m_system(0LL), m_idle(0LL), m_io(0LL) {} + }; + +@@ -69,6 +73,10 @@ class CCPUInfo + float getCPUFrequency(); + bool getTemperature(CTemperature& temperature); + std::string& getCPUModel() { return m_cpuModel; } ++ std::string& getCPUBogoMips() { return m_cpuBogoMips; } ++ std::string& getCPUHardware() { return m_cpuHardware; } ++ std::string& getCPURevision() { return m_cpuRevision; } ++ std::string& getCPUSerial() { return m_cpuSerial; } + + const CoreInfo &GetCoreInfo(int nCoreId); + bool HasCoreId(int nCoreId) const; +@@ -96,6 +104,10 @@ class CCPUInfo + int m_lastUsedPercentage; + XbmcThreads::EndTime m_nextUsedReadTime; + std::string m_cpuModel; ++ std::string m_cpuBogoMips; ++ std::string m_cpuHardware; ++ std::string m_cpuRevision; ++ std::string m_cpuSerial; + int m_cpuCount; + unsigned int m_cpuFeatures; + +diff --git a/xbmc/utils/SystemInfo.cpp b/xbmc/utils/SystemInfo.cpp +index 34e4a61..e5a31e8 100644 +--- a/xbmc/utils/SystemInfo.cpp ++++ b/xbmc/utils/SystemInfo.cpp +@@ -294,11 +294,31 @@ bool CSysInfo::GetDiskSpace(const CStdString drive,int& iTotal, int& iTotalFree, + return bRet; + } + +-CStdString CSysInfo::GetXBVerInfo() ++CStdString CSysInfo::GetCPUModel() + { + return "CPU: " + g_cpuInfo.getCPUModel(); + } + ++CStdString CSysInfo::GetCPUBogoMips() ++{ ++ return "BogoMips: " + g_cpuInfo.getCPUBogoMips(); ++} ++ ++CStdString CSysInfo::GetCPUHardware() ++{ ++ return "Hardware: " + g_cpuInfo.getCPUHardware(); ++} ++ ++CStdString CSysInfo::GetCPURevision() ++{ ++ return "Revision: " + g_cpuInfo.getCPURevision(); ++} ++ ++CStdString CSysInfo::GetCPUSerial() ++{ ++ return "Serial: " + g_cpuInfo.getCPUSerial(); ++} ++ + bool CSysInfo::IsAeroDisabled() + { + #ifdef _WIN32 +diff --git a/xbmc/utils/SystemInfo.h b/xbmc/utils/SystemInfo.h +index 8bc3462..0ecf910 100644 +--- a/xbmc/utils/SystemInfo.h ++++ b/xbmc/utils/SystemInfo.h +@@ -105,7 +105,11 @@ class CSysInfo : public CInfoLoader + bool IsAeroDisabled(); + bool IsVistaOrHigher(); + static CStdString GetKernelVersion(); +- CStdString GetXBVerInfo(); ++ CStdString GetCPUModel(); ++ CStdString GetCPUBogoMips(); ++ CStdString GetCPUHardware(); ++ CStdString GetCPURevision(); ++ CStdString GetCPUSerial(); + bool GetDiskSpace(const CStdString drive,int& iTotal, int& iTotalFree, int& iTotalUsed, int& iPercentFree, int& iPercentUsed); + CStdString GetHddSpaceInfo(int& percent, int drive, bool shortText=false); + CStdString GetHddSpaceInfo(int drive, bool shortText=false); +diff --git a/xbmc/utils/test/TestCPUInfo.cpp b/xbmc/utils/test/TestCPUInfo.cpp +index 3c14d1f..dfd1fd2 100644 +--- a/xbmc/utils/test/TestCPUInfo.cpp ++++ b/xbmc/utils/test/TestCPUInfo.cpp +@@ -51,6 +51,30 @@ + EXPECT_STRNE("", s.c_str()); + } + ++TEST(TestCPUInfo, getCPUBogoMips) ++{ ++ std::string s = g_cpuInfo.getCPUBogoMips(); ++ EXPECT_STRNE("", s.c_str()); ++} ++ ++TEST(TestCPUInfo, getCPUHardware) ++{ ++ std::string s = g_cpuInfo.getCPUHardware(); ++ EXPECT_STRNE("", s.c_str()); ++} ++ ++TEST(TestCPUInfo, getCPURevision) ++{ ++ std::string s = g_cpuInfo.getCPURevision(); ++ EXPECT_STRNE("", s.c_str()); ++} ++ ++TEST(TestCPUInfo, getCPUSerial) ++{ ++ std::string s = g_cpuInfo.getCPUSerial(); ++ EXPECT_STRNE("", s.c_str()); ++} ++ + TEST(TestCPUInfo, CoreInfo) + { + ASSERT_TRUE(g_cpuInfo.HasCoreId(0)); +diff --git a/xbmc/utils/test/TestSystemInfo.cpp b/xbmc/utils/test/TestSystemInfo.cpp +index 958e881..73bc3f3 100644 +--- a/xbmc/utils/test/TestSystemInfo.cpp ++++ b/xbmc/utils/test/TestSystemInfo.cpp +@@ -108,9 +108,29 @@ class TestSystemInfo : public testing::Test + std::cout << "GetKernelVersion(): " << CSysInfo::GetKernelVersion() << "\n"; + } + +-TEST_F(TestSystemInfo, GetXBVerInfo) ++TEST_F(TestSystemInfo, GetCPUModel) + { +- std::cout << "GetXBVerInfo(): " << g_sysinfo.GetXBVerInfo() << "\n"; ++ std::cout << "GetCPUModel(): " << g_sysinfo.GetCPUModel() << "\n"; ++} ++ ++TEST_F(TestSystemInfo, GetCPUBogoMips) ++{ ++ std::cout << "GetCPUBogoMips(): " << g_sysinfo.GetCPUBogoMips() << "\n"; ++} ++ ++TEST_F(TestSystemInfo, GetCPUHardware) ++{ ++ std::cout << "GetCPUHardware(): " << g_sysinfo.GetCPUHardware() << "\n"; ++} ++ ++TEST_F(TestSystemInfo, GetCPURevision) ++{ ++ std::cout << "GetCPURevision(): " << g_sysinfo.GetCPURevision() << "\n"; ++} ++ ++TEST_F(TestSystemInfo, GetCPUSerial) ++{ ++ std::cout << "GetCPUSerial(): " << g_sysinfo.GetCPUSerial() << "\n"; + } + + TEST_F(TestSystemInfo, GetDiskSpace) +diff --git a/xbmc/windows/GUIWindowSystemInfo.cpp b/xbmc/windows/GUIWindowSystemInfo.cpp +index c88700a..4c78d3d 100644 +--- a/xbmc/windows/GUIWindowSystemInfo.cpp ++++ b/xbmc/windows/GUIWindowSystemInfo.cpp +@@ -144,11 +144,21 @@ void CGUIWindowSystemInfo::FrameMove() + { + SET_CONTROL_LABEL(40,g_localizeStrings.Get(20160)); + #ifdef HAS_SYSINFO +- SET_CONTROL_LABEL(i++, g_sysinfo.GetXBVerInfo()); ++ SET_CONTROL_LABEL(i++, g_sysinfo.GetCPUModel()); ++#if defined(__arm__) && defined(TARGET_LINUX) ++ SET_CONTROL_LABEL(i++, g_sysinfo.GetCPUBogoMips()); ++ SET_CONTROL_LABEL(i++, g_sysinfo.GetCPUHardware()); ++ SET_CONTROL_LABEL(i++, g_sysinfo.GetCPURevision()); ++ SET_CONTROL_LABEL(i++, g_sysinfo.GetCPUSerial()); ++#endif + SetControlLabel(i++, "%s %s", 22011, SYSTEM_CPU_TEMPERATURE); ++#if !defined(__arm__) + SetControlLabel(i++, "%s %s", 13284, SYSTEM_CPUFREQUENCY); + #endif ++#endif ++#if !(defined(__arm__) && defined(TARGET_LINUX)) + SetControlLabel(i++, "%s %s", 13271, SYSTEM_CPU_USAGE); ++#endif + i++; // empty line + SetControlLabel(i++, "%s: %s", 22012, SYSTEM_TOTAL_MEMORY); + SetControlLabel(i++, "%s: %s", 158, SYSTEM_FREE_MEMORY); +-- +1.7.10 + diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-464-add_eject_keymapping_for_lirc-0.1.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-464-add_eject_keymapping_for_lirc-0.1.patch deleted file mode 100644 index 56c56016b5..0000000000 --- a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-464-add_eject_keymapping_for_lirc-0.1.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Naur xbmc-10.1-Dharma/system/keymaps/remote.xml xbmc-10.1-Dharma.patch/system/keymaps/remote.xml ---- xbmc-10.1-Dharma/system/keymaps/remote.xml 2011-03-08 02:49:23.000000000 +0100 -+++ xbmc-10.1-Dharma.patch/system/keymaps/remote.xml 2011-06-18 01:48:26.887811969 +0200 -@@ -63,6 +63,7 @@ - VolumeDown - Mute - XBMC.ShutDown() -+ XBMC.EjectTray() - XBMC.ActivateWindow(MyVideos) - XBMC.ActivateWindow(MyMusic) - XBMC.ActivateWindow(MyPictures) diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-601-dont_show_unneeded_sysinfo.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-601-dont_show_unneeded_sysinfo.patch deleted file mode 100644 index a702d7fef1..0000000000 --- a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-601-dont_show_unneeded_sysinfo.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -Naur xbmc-rpi-c767513/xbmc/windows/GUIWindowSystemInfo.cpp xbmc-rpi-c767513.patch/xbmc/windows/GUIWindowSystemInfo.cpp ---- xbmc-rpi-c767513/xbmc/windows/GUIWindowSystemInfo.cpp 2012-05-17 13:59:53.000000000 +0200 -+++ xbmc-rpi-c767513.patch/xbmc/windows/GUIWindowSystemInfo.cpp 2012-05-22 03:28:07.651129799 +0200 -@@ -136,11 +136,14 @@ - SetControlLabel(i++, "%s %s", 22023, SYSTEM_RENDER_VENDOR); - SetControlLabel(i++, "%s %s", 22024, SYSTEM_RENDER_VERSION); - #endif -+#ifndef TARGET_RASPBERRY_PI - SetControlLabel(i++, "%s %s", 22010, SYSTEM_GPU_TEMPERATURE); -+#endif - } - else if (m_section == CONTROL_BT_HARDWARE) - { - SET_CONTROL_LABEL(40,g_localizeStrings.Get(20160)); -+#ifndef TARGET_RASPBERRY_PI - #ifdef HAS_SYSINFO - SET_CONTROL_LABEL(i++, g_sysinfo.GetXBVerInfo()); - SetControlLabel(i++, "%s %s", 22011, SYSTEM_CPU_TEMPERATURE); -@@ -148,6 +151,7 @@ - #endif - SetControlLabel(i++, "%s %s", 13271, SYSTEM_CPU_USAGE); - i++; // empty line -+#endif - SetControlLabel(i++, "%s: %s", 22012, SYSTEM_TOTAL_MEMORY); - SetControlLabel(i++, "%s: %s", 158, SYSTEM_FREE_MEMORY); - } diff --git a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-981-toggleButtonState.patch b/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-981-toggleButtonState.patch deleted file mode 100644 index 17a606f1b1..0000000000 --- a/packages/mediacenter/xbmc-frodo/patches/xbmc-frodo-c49247d-981-toggleButtonState.patch +++ /dev/null @@ -1,304 +0,0 @@ -diff -Naur xbmc-f3b0020/xbmc/guilib/GUIToggleButtonControl.h xbmc-f3b0020.patch/xbmc/guilib/GUIToggleButtonControl.h ---- xbmc-f3b0020/xbmc/guilib/GUIToggleButtonControl.h 2011-12-10 22:16:22.000000000 +0100 -+++ xbmc-f3b0020.patch/xbmc/guilib/GUIToggleButtonControl.h 2011-12-17 18:43:42.183704449 +0100 -@@ -57,6 +57,7 @@ - virtual CStdString GetDescription() const; - void SetToggleSelect(const CStdString &toggleSelect); - void SetAltClickActions(const CGUIAction &clickActions); -+ bool IsSelected() const { return m_bSelected; }; - - protected: - virtual bool UpdateColors(); -diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/control.h xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/control.h ---- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/control.h 2011-12-10 22:16:21.000000000 +0100 -+++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/control.h 2011-12-17 18:43:42.216705084 +0100 -@@ -135,6 +135,11 @@ - - typedef struct { - PyObject_HEAD_XBMC_CONTROL -+ bool bIsSelected; -+ } ControlToggle; -+ -+ typedef struct { -+ PyObject_HEAD_XBMC_CONTROL - std::string strFont; - color_t textColor; - std::vector vecLabels; -@@ -263,7 +268,8 @@ - extern PyTypeObject ControlRadioButton_Type; - extern PyTypeObject ControlSlider_Type; - extern PyTypeObject ControlEdit_Type; -- -+ extern PyTypeObject ControlToggle_Type; -+ - CGUIControl* ControlLabel_Create(ControlLabel* pControl); - CGUIControl* ControlFadeLabel_Create(ControlFadeLabel* pControl); - CGUIControl* ControlTextBox_Create(ControlTextBox* pControl); -@@ -276,6 +282,7 @@ - CGUIControl* ControlRadioButton_Create(ControlRadioButton* pControl); - CGUIControl* ControlSlider_Create(ControlSlider* pControl); - CGUIControl* ControlEdit_Create(ControlEdit* pControl); -+ CGUIControl* ControlToggle_Create(ControlToggle* pControl); - - void initControl_Type(); - void initControlSpin_Type(); -@@ -291,6 +298,7 @@ - void initControlRadioButton_Type(); - void initControlSlider_Type(); - void initControlEdit_Type(); -+ void initControlToggle_Type(); - } - - #ifdef __cplusplus -diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/controltogglebutton.cpp xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/controltogglebutton.cpp ---- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/controltogglebutton.cpp 1970-01-01 01:00:00.000000000 +0100 -+++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/controltogglebutton.cpp 2011-12-17 18:43:42.217705104 +0100 -@@ -0,0 +1,181 @@ -+/* -+ * Copyright (C) 2005-2011 Team XBMC -+ * http://www.xbmc.org -+ * -+ * This Program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2, or (at your option) -+ * any later version. -+ * -+ * This Program 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 General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with XBMC; see the file COPYING. If not, write to -+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -+ * http://www.gnu.org/copyleft/gpl.html -+ * -+ */ -+ -+#include -+ -+#include "guilib/GUIToggleButtonControl.h" -+#include "guilib/GUIFontManager.h" -+#include "control.h" -+#include "pyutil.h" -+ -+using namespace std; -+ -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+namespace PYXBMC -+{ -+ PyObject* ControlToggle_New( -+ PyTypeObject *type, -+ PyObject *args, -+ PyObject *kwds ) -+ { -+ static const char *keywords[] = { -+ "x", "y", "width", "height", "label", -+ "focusTexture", "noFocusTexture", -+ "textOffsetX", "textOffsetY", "alignment", -+ "font", "textColor", "disabledColor", "angle", "shadowColor", "focusedColor", NULL }; -+ ControlToggle *self; -+ char* cFont = NULL; -+ char* cTextureFocus = NULL; -+ char* cTextureNoFocus = NULL; -+ char* cTextColor = NULL; -+ char* cDisabledColor = NULL; -+ char* cShadowColor = NULL; -+ char* cFocusedColor = NULL; -+ -+ PyObject* pObjectText; -+ -+ self = (ControlToggle*)type->tp_alloc(type, 0); -+ if (!self) return NULL; -+ new(&self->bIsSelected) bool(); -+ -+ if (!PyArg_ParseTupleAndKeywords( -+ args, -+ kwds, -+ (char*)"llllO|sslllssslss", -+ (char**)keywords, -+ &self->dwPosX, -+ &self->dwPosY, -+ &self->dwWidth, -+ &self->dwHeight, -+ &pObjectText, -+ &cTextureFocus, -+ &cTextureNoFocus, -+ &cFont, -+ &cTextColor, -+ &cDisabledColor, -+ &cShadowColor, -+ &cFocusedColor)) -+ { -+ Py_DECREF( self ); -+ return NULL; -+ } -+ -+ -+ cTextureFocus : -+ PyXBMCGetDefaultImage((char*)"button", (char*)"texturefocus", (char*)"button-focus.png"); -+ cTextureNoFocus : -+ PyXBMCGetDefaultImage((char*)"button", (char*)"texturenofocus", (char*)"button-nofocus.jpg"); -+ -+ return (PyObject*)self; -+ } -+ -+ void ControlToggle_Dealloc(ControlToggle* self) -+ { -+ self->ob_type->tp_free((PyObject*)self); -+ } -+ -+ -+ // isSelected() Method -+ PyDoc_STRVAR(isSelected__doc__, -+ "isSelected() -- Returns the toggle buttons's selected status.\n" -+ "\n" -+ "example:\n" -+ " - is = self.togglebutton.isSelected()\n"); -+ -+ PyObject* ControlToggle_IsSelected(ControlToggle *self, PyObject *args) -+ { -+ bool isSelected = false; -+ -+ PyXBMCGUILock(); -+ if (self->pGUIControl) -+ isSelected = ((CGUIToggleButtonControl*)self->pGUIControl)->IsSelected(); -+ PyXBMCGUIUnlock(); -+ -+ return Py_BuildValue((char*)"b", isSelected); -+ } -+ -+ -+ PyMethodDef ControlToggle_methods[] = { -+ {(char*)"isSelected", (PyCFunction)ControlToggle_IsSelected, METH_VARARGS, isSelected__doc__}, -+ {NULL, NULL, 0, NULL} -+ }; -+ -+ // ControlRadioButton class -+ PyDoc_STRVAR(ControlToggle__doc__, -+ "ControlRadioButton class.\n" -+ "\n" -+ "ControlRadioButton(x, y, width, height, label[, focusTexture, noFocusTexture, textOffsetX, textOffsetY,\n" -+ " alignment, font, textColor, disabledColor, angle, shadowColor, focusedColor,\n" -+ " radioFocusTexture, noRadioFocusTexture])\n" -+ "\n" -+ "x : integer - x coordinate of control.\n" -+ "y : integer - y coordinate of control.\n" -+ "width : integer - width of control.\n" -+ "height : integer - height of control.\n" -+ "label : string or unicode - text string.\n" -+ "focusTexture : [opt] string - filename for focus texture.\n" -+ "noFocusTexture : [opt] string - filename for no focus texture.\n" -+ "textOffsetX : [opt] integer - x offset of label.\n" -+ "textOffsetY : [opt] integer - y offset of label.\n" -+ "alignment : [opt] integer - alignment of label - *Note, see xbfont.h\n" -+ "font : [opt] string - font used for label text. (e.g. 'font13')\n" -+ "textColor : [opt] hexstring - color of enabled radio button's label. (e.g. '0xFFFFFFFF')\n" -+ "disabledColor : [opt] hexstring - color of disabled radio button's label. (e.g. '0xFFFF3300')\n" -+ "angle : [opt] integer - angle of control. (+ rotates CCW, - rotates CW)\n" -+ "shadowColor : [opt] hexstring - color of radio button's label's shadow. (e.g. '0xFF000000')\n" -+ "focusedColor : [opt] hexstring - color of focused radio button's label. (e.g. '0xFF00FFFF')\n" -+ "radioFocusTexture : [opt] string - filename for radio focus texture.\n" -+ "noRadioFocusTexture : [opt] string - filename for radio no focus texture.\n" -+ "\n" -+ "*Note, You can use the above as keywords for arguments and skip certain optional arguments.\n" -+ " Once you use a keyword, all following arguments require the keyword.\n" -+ " After you create the control, you need to add it to the window with addControl().\n" -+ "\n" -+ "example:\n" -+ " - self.radiobutton = xbmcgui.ControlToggleButton(100, 250, 200, 50, 'Status', font='font14')\n"); -+ -+ // Restore code and data sections to normal. -+ -+ PyTypeObject ControlToggle_Type; -+ -+ void initControlToggle_Type() -+ { -+ PyXBMCInitializeTypeObject(&ControlToggle_Type); -+ -+ ControlToggle_Type.tp_name = (char*)"xbmcgui.ControlToggleButton"; -+ ControlToggle_Type.tp_basicsize = sizeof(ControlToggle); -+ ControlToggle_Type.tp_dealloc = (destructor)ControlToggle_Dealloc; -+ ControlToggle_Type.tp_compare = 0; -+ ControlToggle_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE; -+ ControlToggle_Type.tp_doc = ControlToggle__doc__; -+ ControlToggle_Type.tp_methods = ControlToggle_methods; -+ ControlToggle_Type.tp_base = &Control_Type; -+ ControlToggle_Type.tp_new = ControlToggle_New; -+ } -+} -+ -+#ifdef __cplusplus -+} -+#endif -diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/Makefile.in xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/Makefile.in ---- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/Makefile.in 2011-12-10 22:16:21.000000000 +0100 -+++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/Makefile.in 2011-12-17 18:44:47.447960296 +0100 -@@ -13,6 +13,7 @@ - controlslider.cpp \ - controlspin.cpp \ - controltextbox.cpp \ -+ controltogglebutton.cpp \ - dialog.cpp \ - GUIPythonWindow.cpp \ - GUIPythonWindowDialog.cpp \ -diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/window.cpp xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/window.cpp ---- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/window.cpp 2011-12-10 22:16:21.000000000 +0100 -+++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/window.cpp 2011-12-17 18:43:42.218705123 +0100 -@@ -277,6 +277,12 @@ - if (li.font) ((ControlEdit*)pControl)->strFont = li.font->GetFontName(); - ((ControlButton*)pControl)->align = li.align; - break; -+ case CGUIControl::GUICONTROL_TOGGLEBUTTON: -+ pControl = (Control*)ControlToggle_Type.tp_alloc(&ControlToggle_Type, 0); -+ new(&((ControlToggle*)pControl)->bIsSelected) bool(); -+ -+ break; -+ - default: - break; - } -diff -Naur xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/xbmcguimodule.cpp xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/xbmcguimodule.cpp ---- xbmc-f3b0020/xbmc/interfaces/python/xbmcmodule/xbmcguimodule.cpp 2011-12-10 22:16:21.000000000 +0100 -+++ xbmc-f3b0020.patch/xbmc/interfaces/python/xbmcmodule/xbmcguimodule.cpp 2011-12-17 18:43:42.219705142 +0100 -@@ -138,6 +138,7 @@ - initAction_Type(); - initControlRadioButton_Type(); - initControlEdit_Type(); -+ initControlToggle_Type(); - - if (PyType_Ready(&Window_Type) < 0 || - PyType_Ready(&WindowDialog_Type) < 0 || -@@ -160,7 +161,8 @@ - PyType_Ready(&ControlSlider_Type) < 0 || - PyType_Ready(&ControlRadioButton_Type) < 0 || - PyType_Ready(&ControlEdit_Type) < 0 || -- PyType_Ready(&Action_Type) < 0) -+ PyType_Ready(&Action_Type) < 0 || -+ PyType_Ready(&ControlToggle_Type) < 0) - return; - - } -@@ -200,6 +202,7 @@ - Py_INCREF(&Action_Type); - Py_INCREF(&ControlRadioButton_Type); - Py_INCREF(&ControlEdit_Type); -+ Py_INCREF(&ControlToggle_Type); - - pXbmcGuiModule = Py_InitModule3((char*)"xbmcgui", xbmcGuiMethods, xbmcgui_module_documentation); - -@@ -227,7 +230,8 @@ - PyModule_AddObject(pXbmcGuiModule, (char*)"Action", (PyObject *)&Action_Type); - PyModule_AddObject(pXbmcGuiModule, (char*)"ControlRadioButton", (PyObject*)&ControlRadioButton_Type); - PyModule_AddObject(pXbmcGuiModule, (char*)"ControlEdit", (PyObject*)&ControlEdit_Type); -- -+ PyModule_AddObject(pXbmcGuiModule, (char*)"ControlToggle", (PyObject*)&ControlToggle_Type); -+ - PyModule_AddStringConstant(pXbmcGuiModule, (char*)"__author__", (char*)PY_XBMC_AUTHOR); - PyModule_AddStringConstant(pXbmcGuiModule, (char*)"__date__", (char*)"14 July 2006"); - PyModule_AddStringConstant(pXbmcGuiModule, (char*)"__version__", (char*)"1.2"); -diff -Naur xbmc-f3b0020/XBMC.xcodeproj/project.pbxproj xbmc-f3b0020.patch/XBMC.xcodeproj/project.pbxproj diff --git a/packages/mediacenter/xbmc-frodo/scripts/cputemp b/packages/mediacenter/xbmc-frodo/scripts/cputemp index 10a3683262..9e960b5167 100755 --- a/packages/mediacenter/xbmc-frodo/scripts/cputemp +++ b/packages/mediacenter/xbmc-frodo/scripts/cputemp @@ -46,6 +46,9 @@ elif [ -f /sys/class/hwmon/hwmon0/device/temp1_input ]; then elif [ -f /sys/class/hwmon/hwmon0/device/temp2_input ]; then # used on ION systems TEMP=`cat /sys/class/hwmon/hwmon0/device/temp2_input` +elif [ -x /usr/bin/vcgencmd ]; then + # for RaspberryPi only + TEMP=`echo "$(/usr/bin/vcgencmd measure_temp | sed -e "s,temp=,,g" -e "s,'C,,g" | cut -d . -f 1 ) * 1000" | bc` fi echo "$(( $TEMP / 1000 )) C" diff --git a/packages/multimedia/ffmpeg/patches/ffmpeg-0.10.4-0028-added-support-for-OTF-fonts.patch b/packages/multimedia/ffmpeg/patches/ffmpeg-0.10.4-0028-added-support-for-OTF-fonts.patch new file mode 100644 index 0000000000..97f7094276 --- /dev/null +++ b/packages/multimedia/ffmpeg/patches/ffmpeg-0.10.4-0028-added-support-for-OTF-fonts.patch @@ -0,0 +1,43 @@ +From 864acb01cc73762918794ddecf0fc2f7b6cf8529 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=A9bastien=20Brochet?= +Date: Sun, 15 Apr 2012 22:43:46 +0200 +Subject: [PATCH 1/3] added: support for OTF fonts +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + + +Signed-off-by: Sébastien Brochet +--- + libavcodec/avcodec.h | 1 + + libavformat/matroska.c | 1 + + 2 files changed, 2 insertions(+), 0 deletion(-) + +diff --git a/lib/ffmpeg/libavcodec/avcodec.h b/lib/ffmpeg/libavcodec/avcodec.h +index 0b756d0..6996c92 100644 +--- a/libavcodec/avcodec.h ++++ b/libavcodec/avcodec.h +@@ -435,6 +435,7 @@ enum CodecID { + CODEC_ID_BINTEXT = MKBETAG('B','T','X','T'), + CODEC_ID_XBIN = MKBETAG('X','B','I','N'), + CODEC_ID_IDF = MKBETAG( 0 ,'I','D','F'), ++ CODEC_ID_OTF = MKBETAG( 0 ,'O','T','F'), + + CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it + +diff --git a/lib/ffmpeg/libavformat/matroska.c b/lib/ffmpeg/libavformat/matroska.c +index 52481d7..2f5b617 100644 +--- a/libavformat/matroska.c ++++ b/libavformat/matroska.c +@@ -90,6 +90,7 @@ const CodecMime ff_mkv_mime_tags[] = { + {"image/tiff" , CODEC_ID_TIFF}, + {"application/x-truetype-font", CODEC_ID_TTF}, + {"application/x-font" , CODEC_ID_TTF}, ++ {"application/vnd.ms-opentype", CODEC_ID_OTF}, + + {"" , CODEC_ID_NONE} + }; +index 17cbd48..4524141 100644 +-- +1.7.10.msysgit.1 + diff --git a/packages/toolchain/devel/swig/build b/packages/toolchain/devel/swig/build new file mode 100755 index 0000000000..e6b8bc841a --- /dev/null +++ b/packages/toolchain/devel/swig/build @@ -0,0 +1,58 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. config/options $1 + +setup_toolchain host + +cd $PKG_BUILD +./configure --host=$HOST_NAME \ + --build=$HOST_NAME \ + --prefix=$ROOT/$TOOLCHAIN \ + --with-pcre-prefix=$ROOT/$TOOLCHAIN \ + --with-boost=no \ + --without-x \ + --without-tcl \ + --without-python \ + --without-python3 \ + --without-perl5 \ + --without-octave \ + --without-java \ + --without-gcj \ + --without-android \ + --without-guile \ + --without-mzscheme \ + --without-ruby \ + --without-php \ + --without-ocaml \ + --without-pike \ + --without-chicken \ + --without-csharp \ + --without-lua \ + --without-allegrocl \ + --without-clisp \ + --without-r \ + --without-go \ + --without-d \ + +make +make install diff --git a/packages/toolchain/devel/swig/meta b/packages/toolchain/devel/swig/meta new file mode 100644 index 0000000000..c3507b837a --- /dev/null +++ b/packages/toolchain/devel/swig/meta @@ -0,0 +1,36 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +PKG_NAME="swig" +PKG_VERSION="2.0.8" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.swig.org" +PKG_URL="$SOURCEFORGE_SRC/swig/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS="" +PKG_BUILD_DEPENDS="ccache pcre-host" +PKG_PRIORITY="optional" +PKG_SECTION="toolchain/devel" +PKG_SHORTDESC="SWIG: a software development tool that connects programs written in C and C++ with a variety of high-level programming languages." +PKG_LONGDESC="SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages." +PKG_IS_ADDON="no" + +PKG_AUTORECONF="no" diff --git a/packages/tools/bcm2835-bootloader/meta b/packages/tools/bcm2835-bootloader/meta index 74d11f08ea..5a9369bc62 100644 --- a/packages/tools/bcm2835-bootloader/meta +++ b/packages/tools/bcm2835-bootloader/meta @@ -19,7 +19,7 @@ ################################################################################ PKG_NAME="bcm2835-bootloader" -PKG_VERSION="790681a" +PKG_VERSION="05bb1ec" PKG_REV="1" PKG_ARCH="arm" PKG_LICENSE="nonfree" diff --git a/projects/RPi/xbmc/advancedsettings.xml b/projects/RPi/xbmc/advancedsettings.xml index 32a3e55a40..1e1412aa4e 100644 --- a/projects/RPi/xbmc/advancedsettings.xml +++ b/projects/RPi/xbmc/advancedsettings.xml @@ -2,6 +2,8 @@ false + cputemp + cputemp false false diff --git a/scripts/checkdeps b/scripts/checkdeps index c23cf0138a..a2a80b8f89 100755 --- a/scripts/checkdeps +++ b/scripts/checkdeps @@ -33,8 +33,8 @@ case $1 in deps_pkg="wget" ;; build) - deps="gcc g++ sed patch touch tar bzip2 gzip perl cp gawk makeinfo gperf cvs zip unzip mkfontscale diff xsltproc" - deps_pkg="gcc g++ sed patch fileutils tar bzip2 gzip perl coreutils gawk texinfo gperf cvs zip unzip xutils diff xsltproc" + deps="gcc g++ sed patch touch tar bzip2 gzip perl cp gawk makeinfo gperf cvs zip unzip mkfontscale diff xsltproc java" + deps_pkg="gcc g++ sed patch fileutils tar bzip2 gzip perl coreutils gawk texinfo gperf cvs zip unzip xutils diff xsltproc sun-java6-jre" files="/usr/include/stdio.h /usr/include/ncurses.h" files_pkg="libc6-dev libncurses5-dev" ;;