mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
Compare commits
160 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e552a22a6e | ||
|
|
810d2d305e | ||
|
|
422de38cec | ||
|
|
b6849c7dc0 | ||
|
|
75ad50b5b8 | ||
|
|
4ff362d693 | ||
|
|
87c3c50a29 | ||
|
|
639aeaf6bd | ||
|
|
a5c1723d35 | ||
|
|
75a6de8201 | ||
|
|
6ec964479e | ||
|
|
1ad5344506 | ||
|
|
7ec16d5a08 | ||
|
|
5d821db655 | ||
|
|
8f4ee131b4 | ||
|
|
cb4e8c61fb | ||
|
|
e4d17c59d1 | ||
|
|
a1a6985118 | ||
|
|
926731df4f | ||
|
|
4b0aad8222 | ||
|
|
2710e8260d | ||
|
|
3eddcad8cd | ||
|
|
3bdc7f2f66 | ||
|
|
ab30c4056c | ||
|
|
690369a11b | ||
|
|
16fbc53754 | ||
|
|
c40b70680e | ||
|
|
65b47b1b79 | ||
|
|
bb72e10003 | ||
|
|
2a82c678c5 | ||
|
|
afd427b79a | ||
|
|
8ea3b97790 | ||
|
|
0eb28c25fd | ||
|
|
8fc76301b4 | ||
|
|
aa66f59a96 | ||
|
|
40f40504c1 | ||
|
|
1eb6601b01 | ||
|
|
ee8f958b24 | ||
|
|
5cfc0970e6 | ||
|
|
2cb4263e1d | ||
|
|
9f6d775373 | ||
|
|
c24352bb9c | ||
|
|
f226045711 | ||
|
|
af0a6a5a74 | ||
|
|
209537a1f4 | ||
|
|
92fece8863 | ||
|
|
46f29bef6a | ||
|
|
6ee540c9db | ||
|
|
4ddeaf0de1 | ||
|
|
a89f249e34 | ||
|
|
65c853310c | ||
|
|
2cc1d17acf | ||
|
|
8a683d20d4 | ||
|
|
f8ba96e15a | ||
|
|
076d2b7b7a | ||
|
|
cb00f7766f | ||
|
|
fd9b716fb1 | ||
|
|
9aef8656e5 | ||
|
|
cb6263f47b | ||
|
|
9aa5c09a99 | ||
|
|
775d772283 | ||
|
|
bcfb16d36f | ||
|
|
d55bdc60e5 | ||
|
|
40ae7452c5 | ||
|
|
31e2e27e5b | ||
|
|
5e43423610 | ||
|
|
13d358f2ec | ||
|
|
b0d5cd06bd | ||
|
|
c4613084ae | ||
|
|
e71d24f1e7 | ||
|
|
c5b3f6bede | ||
|
|
9ce6eaa52d | ||
|
|
3e892bf04f | ||
|
|
48fbb5d965 | ||
|
|
871cddef86 | ||
|
|
f87f66f043 | ||
|
|
75e766144f | ||
|
|
d3b29a818a | ||
|
|
d626037681 | ||
|
|
e7ee3388b3 | ||
|
|
170904e48f | ||
|
|
f85aebd5a9 | ||
|
|
7d8b588847 | ||
|
|
c1e6aedfff | ||
|
|
14116ea19e | ||
|
|
f1ca57d51e | ||
|
|
c5c1a71db4 | ||
|
|
8f15030d77 | ||
|
|
3128985ed4 | ||
|
|
5da2a9f554 | ||
|
|
0a76243f0e | ||
|
|
04389378f0 | ||
|
|
27cf5545c9 | ||
|
|
43a73ab120 | ||
|
|
4660e853e3 | ||
|
|
92afbe408d | ||
|
|
496a6af108 | ||
|
|
e0a6575dac | ||
|
|
06490ccc0e | ||
|
|
3f558700a9 | ||
|
|
cd1cdc5043 | ||
|
|
506767a43d | ||
|
|
07b5364c3c | ||
|
|
ef9a0958f7 | ||
|
|
e82f81152a | ||
|
|
3845d69ccd | ||
|
|
d43e8d38ba | ||
|
|
e66c011dfa | ||
|
|
385153c910 | ||
|
|
913fbe95d3 | ||
|
|
a086e2f2ba | ||
|
|
3483388399 | ||
|
|
a551da6a75 | ||
|
|
a47e4a1073 | ||
|
|
06f2450d99 | ||
|
|
7ab03ced29 | ||
|
|
ae3d38654f | ||
|
|
911c0754ec | ||
|
|
ad1b59ce32 | ||
|
|
8159a923a3 | ||
|
|
d9a11a1404 | ||
|
|
6f8690405c | ||
|
|
920be6b9d0 | ||
|
|
bd1579e83d | ||
|
|
7f9a69a81e | ||
|
|
9312c0b67e | ||
|
|
685784fb67 | ||
|
|
5a955eb707 | ||
|
|
c54b308c62 | ||
|
|
35acb282ca | ||
|
|
3209febb3b | ||
|
|
031e2ca65d | ||
|
|
8e5652a050 | ||
|
|
30a178b4f9 | ||
|
|
46123b6549 | ||
|
|
6660fb7ed9 | ||
|
|
7946ce6276 | ||
|
|
3b285d9533 | ||
|
|
aa9ebaa622 | ||
|
|
02028afddf | ||
|
|
6a70e0b102 | ||
|
|
a17cfdc0cc | ||
|
|
de1015f2f0 | ||
|
|
edc6475c96 | ||
|
|
7d9a751d01 | ||
|
|
cb0fc0c0db | ||
|
|
93be8687a1 | ||
|
|
b5a5a0957b | ||
|
|
86d3313777 | ||
|
|
ef31644a44 | ||
|
|
429b6d3c42 | ||
|
|
da08433dd2 | ||
|
|
dd2c71f020 | ||
|
|
39c7ba1576 | ||
|
|
ad417fd516 | ||
|
|
ae007d0a2b | ||
|
|
b6a759a39b | ||
|
|
01c8ec5d5d | ||
|
|
a05667ee23 | ||
|
|
876ca6a481 |
@@ -64,8 +64,6 @@ providing cutting edge hardware support to deliver a set-top box experience.
|
||||
SSH allows command line access to your openelec.tv machine for configuration
|
||||
and file transfer. Linux/Mac clients can natively use SSH, while Windows
|
||||
users might want to try PuTTY for their terminal access.
|
||||
Starting with OpenELEC 2.0, SSH is disabled by default but all that is needed
|
||||
is an empty “ssh_enable” file to exist in /storage/.config to enable it.
|
||||
* $HOME is mounted on /storage (the second ext4 partition on the drive).
|
||||
All data transfered to the machine will go here, the rest of the system is
|
||||
read-only with the exception of /var (containing runtime configuration data).
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# VERSION: set full version, use "devel" for development version
|
||||
OPENELEC_VERSION="devel"
|
||||
OPENELEC_VERSION="4.1.2"
|
||||
|
||||
# OS_VERSION: OS Version
|
||||
OS_VERSION="4.0"
|
||||
OS_VERSION="4.2"
|
||||
|
||||
# ADDON_VERSION: Addon version
|
||||
ADDON_VERSION="4.1"
|
||||
|
||||
25
packages/3rdparty/multimedia/vdr-live/patches/vdr-live-0.3.0-06_dont-build-i18n.patch
vendored
Normal file
25
packages/3rdparty/multimedia/vdr-live/patches/vdr-live-0.3.0-06_dont-build-i18n.patch
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
From d95f6d719298b4586fc4b889612423be67b52e88 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Mon, 16 Jun 2014 12:06:29 +0300
|
||||
Subject: [PATCH] dont build i18n
|
||||
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index ab2f2b5..923d184 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -94,7 +94,7 @@ WEBLIBS = pages/libpages.a css/libcss.a javascript/libjavascript.a
|
||||
|
||||
### Default rules:
|
||||
|
||||
-all: libvdr-$(PLUGIN).so $(I18NTARG)
|
||||
+all: libvdr-$(PLUGIN).so
|
||||
|
||||
.PHONY: all dist clean subdirs $(SUBDIRS) PAGES
|
||||
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From c2121393b05a756266fe728f83eaddbd3755ce13 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Mon, 16 Jun 2014 12:14:33 +0300
|
||||
Subject: [PATCH] dont build i18n
|
||||
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index aa344a4..819b5b0 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -62,7 +62,7 @@ OBJS = $(PLUGIN).o soundex.o extpipe.o parse.o source.o import.o event.o setup.o
|
||||
|
||||
### The main target:
|
||||
|
||||
-all: libvdr-$(PLUGIN).so i18n
|
||||
+all: libvdr-$(PLUGIN).so
|
||||
|
||||
### Implicit rules:
|
||||
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="tvheadend"
|
||||
PKG_VERSION="3.9.681"
|
||||
PKG_VERSION="3.9.1083"
|
||||
PKG_REV="2"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -Naur tvheadend-3.9.1050/Makefile tvheadend-3.9.1050.patch/Makefile
|
||||
--- tvheadend-3.9.1050/Makefile 2014-07-07 21:39:24.000000000 +0200
|
||||
+++ tvheadend-3.9.1050.patch/Makefile 2014-07-14 17:57:09.483454814 +0200
|
||||
@@ -28,7 +28,7 @@
|
||||
#
|
||||
|
||||
CFLAGS += -g -O2
|
||||
-CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
|
||||
+CFLAGS += -Wall -Wwrite-strings -Wno-deprecated-declarations
|
||||
CFLAGS += -Wmissing-prototypes
|
||||
CFLAGS += -fms-extensions -funsigned-char -fno-strict-aliasing
|
||||
CFLAGS += -D_FILE_OFFSET_BITS=64
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="alsa-lib"
|
||||
PKG_VERSION="1.0.27.2"
|
||||
PKG_VERSION="1.0.28"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="alsa-utils"
|
||||
PKG_VERSION="1.0.27.2"
|
||||
PKG_VERSION="1.0.28"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
@@ -48,6 +48,10 @@ post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/share/sounds
|
||||
rm -rf $INSTALL/usr/lib/systemd/system
|
||||
|
||||
# remove default udev rule to restore mixer configs, we install our own.
|
||||
# so we avoid resetting our soundconfig
|
||||
rm -rf $INSTALL/usr/lib/udev/rules.d/90-alsa-restore.rules
|
||||
|
||||
for i in aconnect alsaucm amidi aplaymidi arecord arecordmidi aseqdump aseqnet iecset; do
|
||||
rm -rf $INSTALL/usr/bin/$i
|
||||
done
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
From 180283e2307b07bbd3958d24382aab8271dd4c1d Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Mon, 30 Sep 2013 23:46:50 +0300
|
||||
Subject: [PATCH 1/1] amixer: actually print all TLVs in a container TLV
|
||||
|
||||
Due to a wrong indexing of tlv[] decode_tlv() always skips to the end of
|
||||
the container TLV since the used tlv[1] contains the container TLV size
|
||||
instead of the intended element size.
|
||||
|
||||
This causes, for example, only the first HDMI channel map TLV to be
|
||||
shown.
|
||||
|
||||
Fix the indexing to actually use the element size.
|
||||
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
amixer/amixer.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/amixer/amixer.c b/amixer/amixer.c
|
||||
index 7727943..b83b0c3 100644
|
||||
--- a/amixer/amixer.c
|
||||
+++ b/amixer/amixer.c
|
||||
@@ -468,7 +468,7 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
|
||||
return;
|
||||
}
|
||||
decode_tlv(spaces + 2, tlv + idx, tlv[idx+1] + 8);
|
||||
- idx += 2 + (tlv[1] + sizeof(unsigned int) - 1) / sizeof(unsigned int);
|
||||
+ idx += 2 + (tlv[idx+1] + sizeof(unsigned int) - 1) / sizeof(unsigned int);
|
||||
}
|
||||
break;
|
||||
case SND_CTL_TLVT_DB_SCALE:
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
From f1e991e81350e9388ab6cf04a64ac4b4389a588c Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Tue, 1 Oct 2013 23:46:53 +0300
|
||||
Subject: [PATCH] amixer: fix indentation when printing container TLV contents
|
||||
|
||||
decode_tlv() adds indentation in the beginning, with the expectation
|
||||
that the TLV will be printed on the line afterwards in a switch-case.
|
||||
|
||||
However, in the case of a container TLV the switch-case simply adds
|
||||
another level of indentation and calls decode_tlv() for the inner TLVs.
|
||||
This causes the first inner TLV to be printed with too much indentation
|
||||
and double '|'.
|
||||
|
||||
Fix that by printing "container" and a newline for container TLVs, so
|
||||
that the result is as follows:
|
||||
: values=0,0,0,0,0,0,0,0
|
||||
| container
|
||||
| chmap-variable=FL,FR
|
||||
| chmap-variable=FL,FR,LFE
|
||||
| chmap-variable=FL,FR,FC
|
||||
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
amixer/amixer.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/amixer/amixer.c b/amixer/amixer.c
|
||||
index b83b0c3..cf82892 100644
|
||||
--- a/amixer/amixer.c
|
||||
+++ b/amixer/amixer.c
|
||||
@@ -460,6 +460,7 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
|
||||
}
|
||||
switch (type) {
|
||||
case SND_CTL_TLVT_CONTAINER:
|
||||
+ printf("container\n");
|
||||
size += sizeof(unsigned int) -1;
|
||||
size /= sizeof(unsigned int);
|
||||
while (idx < size) {
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
@@ -1,232 +0,0 @@
|
||||
From a1992044d5813371ce71f5252187942f943b198d Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Tue, 12 Nov 2013 00:04:02 +0200
|
||||
Subject: [PATCH] speaker-test: Fix chmapped channel selection without
|
||||
specified chmap
|
||||
|
||||
The channel selection currently does not work properly when there is a
|
||||
driver-provided non-ALSA-traditional channel map but no manual channel
|
||||
map was explicitely requested with "-m".
|
||||
|
||||
For example, the CEA/HDMI 8ch map is FL,FR,RLC,RRC,FC,LFE,RL,RR. Note
|
||||
that it is otherwise the same as the traditional ALSA channel map,
|
||||
except that the traditional rear speakers are considered
|
||||
rear-center speakers and the traditional side speakers are considered
|
||||
rear speakers.
|
||||
|
||||
Speaker-test tries to play back channels in this following order:
|
||||
0, /* Front Left */
|
||||
4, /* Center */
|
||||
1, /* Front Right */
|
||||
7, /* Side Right */
|
||||
3, /* Rear Right */
|
||||
2, /* Rear Left */
|
||||
6, /* Side Left */
|
||||
5, /* LFE */
|
||||
|
||||
When it is the time to play back Side Left/Right, speaker-test tries to
|
||||
look for SL/SR in the chmap, but doesn't find it, so it just plays back
|
||||
channels 6/7 (which indeed are the side speakers, or RL/RR in this
|
||||
channel map - so the correct channels are selected).
|
||||
|
||||
When it becomes the time to playback Rear Left/Right, speaker-test again
|
||||
tries to find RL/RR in the chmap, and this time it does find them in the
|
||||
chmap positions 6/7.
|
||||
|
||||
So the channels 6/7 are tested twice and 2/3 are never tested.
|
||||
|
||||
To fix this, define a generic playback order channel_order[] to be used
|
||||
when the channel map is present (but not user-defined) and generate a
|
||||
(speaker/playback number => channel number) mapping with the channels
|
||||
ordered in the following order:
|
||||
1. regular channels found in channel_order[] in the defined order,
|
||||
2. channels not found in channel_order[] ordered by channel number.
|
||||
3. UNKNOWN channels ordered by channel number.
|
||||
4. NA channels ordered by channel number.
|
||||
For channels outside the channel map just use their channel numbers (so
|
||||
they will be last after all of the above).
|
||||
|
||||
For example, if the playback device has a fictional default channel map
|
||||
of FR,FL,UNKNOWN1,FOO,BAR,RR,RL,UNKNOWN2, the playback order will be
|
||||
FL,FR,RR,RL,FOO,BAR,UNKNOWN1,UNKNOWN2(,any_extra_channels).
|
||||
|
||||
When the channel mapping is specified manually, the specified order is
|
||||
used for playback as before.
|
||||
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
speaker-test/speaker-test.c | 113 +++++++++++++++++++++++++++++++++++---------
|
||||
1 file changed, 91 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
|
||||
index d35065f..25b08dc 100644
|
||||
--- a/speaker-test/speaker-test.c
|
||||
+++ b/speaker-test/speaker-test.c
|
||||
@@ -88,6 +88,8 @@ enum {
|
||||
#define BE_INT(v) (v)
|
||||
#endif
|
||||
|
||||
+#define ARRAY_SIZE(x) (int)(sizeof(x)/sizeof(x[0]))
|
||||
+
|
||||
static char *device = "default"; /* playback device */
|
||||
static snd_pcm_format_t format = SND_PCM_FORMAT_S16; /* sample format */
|
||||
static unsigned int rate = 48000; /* stream rate */
|
||||
@@ -110,6 +112,7 @@ static snd_pcm_t *pcm_handle = NULL;
|
||||
#ifdef CONFIG_SUPPORT_CHMAP
|
||||
static snd_pcm_chmap_t *channel_map;
|
||||
static int channel_map_set;
|
||||
+static unsigned int *ordered_channels;
|
||||
#endif
|
||||
|
||||
static const char *const channel_name[MAX_CHANNELS] = {
|
||||
@@ -156,36 +159,94 @@ static const int channels8[] = {
|
||||
5, /* LFE */
|
||||
};
|
||||
|
||||
-static int get_mapped_channel(int chn)
|
||||
-{
|
||||
#ifdef CONFIG_SUPPORT_CHMAP
|
||||
- static const int maps[MAX_CHANNELS] = {
|
||||
- SND_CHMAP_FL,
|
||||
- SND_CHMAP_FR,
|
||||
- SND_CHMAP_RL,
|
||||
- SND_CHMAP_RR,
|
||||
- SND_CHMAP_FC,
|
||||
- SND_CHMAP_LFE,
|
||||
- SND_CHMAP_SL,
|
||||
- SND_CHMAP_SR,
|
||||
- };
|
||||
+/* circular clockwise and bottom-to-top order */
|
||||
+static const int channel_order[] = {
|
||||
+ [SND_CHMAP_FLW] = 10,
|
||||
+ [SND_CHMAP_FL] = 20,
|
||||
+ [SND_CHMAP_TFL] = 30,
|
||||
+ [SND_CHMAP_FLC] = 40,
|
||||
+ [SND_CHMAP_TFLC] = 50,
|
||||
+ [SND_CHMAP_FC] = 60,
|
||||
+ [SND_CHMAP_TFC] = 70,
|
||||
+ [SND_CHMAP_FRC] = 80,
|
||||
+ [SND_CHMAP_TFRC] = 90,
|
||||
+ [SND_CHMAP_FR] = 100,
|
||||
+ [SND_CHMAP_TFR] = 110,
|
||||
+ [SND_CHMAP_FRW] = 120,
|
||||
+ [SND_CHMAP_SR] = 130,
|
||||
+ [SND_CHMAP_TSR] = 140,
|
||||
+ [SND_CHMAP_RR] = 150,
|
||||
+ [SND_CHMAP_TRR] = 160,
|
||||
+ [SND_CHMAP_RRC] = 170,
|
||||
+ [SND_CHMAP_RC] = 180,
|
||||
+ [SND_CHMAP_TRC] = 190,
|
||||
+ [SND_CHMAP_RLC] = 200,
|
||||
+ [SND_CHMAP_RL] = 210,
|
||||
+ [SND_CHMAP_TRL] = 220,
|
||||
+ [SND_CHMAP_SL] = 230,
|
||||
+ [SND_CHMAP_TSL] = 240,
|
||||
+ [SND_CHMAP_BC] = 250,
|
||||
+ [SND_CHMAP_TC] = 260,
|
||||
+ [SND_CHMAP_LLFE] = 270,
|
||||
+ [SND_CHMAP_LFE] = 280,
|
||||
+ [SND_CHMAP_RLFE] = 290,
|
||||
+ /* not in table = 10000 */
|
||||
+ [SND_CHMAP_UNKNOWN] = 20000,
|
||||
+ [SND_CHMAP_NA] = 30000,
|
||||
+};
|
||||
|
||||
- if (channel_map && maps[chn]) {
|
||||
- int i;
|
||||
- for (i = 0; i < channel_map->channels; i++) {
|
||||
- if (channel_map->pos[i] == maps[chn])
|
||||
- return i;
|
||||
- }
|
||||
+static int chpos_cmp(const void *chnum1p, const void *chnum2p)
|
||||
+{
|
||||
+ int chnum1 = *(int *)chnum1p;
|
||||
+ int chnum2 = *(int *)chnum2p;
|
||||
+ int chpos1 = channel_map->pos[chnum1];
|
||||
+ int chpos2 = channel_map->pos[chnum2];
|
||||
+ int weight1 = 10000;
|
||||
+ int weight2 = 10000;
|
||||
+
|
||||
+ if (chpos1 < ARRAY_SIZE(channel_order) && channel_order[chpos1])
|
||||
+ weight1 = channel_order[chpos1];
|
||||
+ if (chpos2 < ARRAY_SIZE(channel_order) && channel_order[chpos2])
|
||||
+ weight2 = channel_order[chpos2];
|
||||
+
|
||||
+ if (weight1 == weight2) {
|
||||
+ /* order by channel number if both have the same position (e.g. UNKNOWN)
|
||||
+ * or if neither is in channel_order[] */
|
||||
+ return chnum1 - chnum2;
|
||||
}
|
||||
-#endif
|
||||
- return chn;
|
||||
+
|
||||
+ /* order according to channel_order[] */
|
||||
+ return weight1 - weight2;
|
||||
+}
|
||||
+
|
||||
+static int *order_channels(void)
|
||||
+{
|
||||
+ /* create a (playback order => channel number) table with channels ordered
|
||||
+ * according to channel_order[] values */
|
||||
+ int i;
|
||||
+ int *ordered_chs;
|
||||
+
|
||||
+ ordered_chs = calloc(channel_map->channels, sizeof(*ordered_chs));
|
||||
+ if (!ordered_chs)
|
||||
+ return NULL;
|
||||
+
|
||||
+ for (i = 0; i < channel_map->channels; i++)
|
||||
+ ordered_chs[i] = i;
|
||||
+
|
||||
+ qsort(ordered_chs, channel_map->channels, sizeof(*ordered_chs), chpos_cmp);
|
||||
+
|
||||
+ return ordered_chs;
|
||||
}
|
||||
+#endif
|
||||
|
||||
static int get_speaker_channel(int chn)
|
||||
{
|
||||
#ifdef CONFIG_SUPPORT_CHMAP
|
||||
- if (channel_map_set)
|
||||
+ if (channel_map_set || (ordered_channels && chn >= channel_map->channels))
|
||||
return chn;
|
||||
+ if (ordered_channels)
|
||||
+ return ordered_channels[chn];
|
||||
#endif
|
||||
|
||||
switch (channels) {
|
||||
@@ -200,7 +261,7 @@ static int get_speaker_channel(int chn)
|
||||
break;
|
||||
}
|
||||
|
||||
- return get_mapped_channel(chn);
|
||||
+ return chn;
|
||||
}
|
||||
|
||||
static const char *get_channel_name(int chn)
|
||||
@@ -611,6 +672,11 @@ static int config_chmap(snd_pcm_t *handle, const char *mapstr)
|
||||
}
|
||||
|
||||
channel_map = snd_pcm_get_chmap(handle);
|
||||
+
|
||||
+ /* create a channel order table for default layouts */
|
||||
+ if (channel_map)
|
||||
+ ordered_channels = order_channels();
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
@@ -1230,6 +1296,9 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
|
||||
free(frames);
|
||||
+#ifdef CONFIG_SUPPORT_CHMAP
|
||||
+ free(ordered_channels);
|
||||
+#endif
|
||||
|
||||
return prg_exit(EXIT_SUCCESS);
|
||||
}
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
From 5b0c6da0d8166cd404379740c5f75fda44ca5806 Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Sun, 10 Nov 2013 20:29:18 +0200
|
||||
Subject: [PATCH] speaker-test: Always show chmap channel names if available
|
||||
|
||||
Currently speaker-test only uses channel names retrieved by
|
||||
snd_pcm_chmap_long_name() when a channel map has been manually set.
|
||||
|
||||
However, the device may provide a default (or fixed) channel map that
|
||||
differs from the traditional ALSA map, in which case wrong channel names
|
||||
are shown.
|
||||
|
||||
Fix that by always using the name from the channel map when a channel
|
||||
map is present.
|
||||
|
||||
Note that the names retrieved by snd_pcm_chmap_long_name() are not
|
||||
currently localized via gettext.
|
||||
|
||||
Also note that Linux kernel HDMI driver reported wrong default channel
|
||||
maps before 56cac413dd6d43af8355f5d1f90a199b540f73fc ("ALSA: hda - hdmi:
|
||||
Fix reported channel map on common default layouts").
|
||||
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
speaker-test/speaker-test.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
|
||||
index 25b08dc..101bb0d 100644
|
||||
--- a/speaker-test/speaker-test.c
|
||||
+++ b/speaker-test/speaker-test.c
|
||||
@@ -267,7 +267,7 @@ static int get_speaker_channel(int chn)
|
||||
static const char *get_channel_name(int chn)
|
||||
{
|
||||
#ifdef CONFIG_SUPPORT_CHMAP
|
||||
- if (channel_map_set && chn < channel_map->channels) {
|
||||
+ if (channel_map && chn < channel_map->channels) {
|
||||
const char *name = snd_pcm_chmap_long_name(channel_map->pos[chn]);
|
||||
return name ? name : "Unknown";
|
||||
}
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
From 58752c3ae32e03d676fa225c99c9a8dde9de39ed Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Sun, 10 Nov 2013 20:29:19 +0200
|
||||
Subject: [PATCH] speaker-test: Show out-of-chmap channels as Unknown
|
||||
|
||||
Currently speaker-test falls back to ALSA default channel names for
|
||||
channels out-of-chmap.
|
||||
|
||||
This causes e.g. the 4th channel of
|
||||
$ speaker-test -c4 -Dhdmi -m "FR,FL,FC"
|
||||
to be shown as "Rear Right".
|
||||
|
||||
Change the code to show such channels as Unknown instead, similar to
|
||||
when snd_pcm_chmap_long_name() does not know the name.
|
||||
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
speaker-test/speaker-test.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
|
||||
index 101bb0d..261f399 100644
|
||||
--- a/speaker-test/speaker-test.c
|
||||
+++ b/speaker-test/speaker-test.c
|
||||
@@ -267,8 +267,10 @@ static int get_speaker_channel(int chn)
|
||||
static const char *get_channel_name(int chn)
|
||||
{
|
||||
#ifdef CONFIG_SUPPORT_CHMAP
|
||||
- if (channel_map && chn < channel_map->channels) {
|
||||
- const char *name = snd_pcm_chmap_long_name(channel_map->pos[chn]);
|
||||
+ if (channel_map) {
|
||||
+ const char *name = NULL;
|
||||
+ if (chn < channel_map->channels)
|
||||
+ name = snd_pcm_chmap_long_name(channel_map->pos[chn]);
|
||||
return name ? name : "Unknown";
|
||||
}
|
||||
#endif
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
@@ -33,7 +33,7 @@ PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
# package specific configure options
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-nasm \
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-nasm \
|
||||
--disable-rpath \
|
||||
--disable-cpml \
|
||||
--disable-gtktest \
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="lzo"
|
||||
PKG_VERSION="2.06"
|
||||
PKG_VERSION="2.08"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -0,0 +1,139 @@
|
||||
Upstream-Status: Pending
|
||||
|
||||
Index: autoconf-2.63/bin/autoreconf.in
|
||||
===================================================================
|
||||
--- autoconf-2.63.orig/bin/autoreconf.in 2008-12-31 17:39:01.000000000 +0000
|
||||
+++ autoconf-2.63/bin/autoreconf.in 2008-12-31 17:43:38.000000000 +0000
|
||||
@@ -76,6 +76,7 @@
|
||||
-i, --install copy missing auxiliary files
|
||||
--no-recursive don't rebuild sub-packages
|
||||
-s, --symlink with -i, install symbolic links instead of copies
|
||||
+ -x, --exclude=STEPS steps we should not run
|
||||
-m, --make when applicable, re-run ./configure && make
|
||||
-W, --warnings=CATEGORY report the warnings falling in CATEGORY [syntax]
|
||||
|
||||
@@ -136,6 +137,13 @@
|
||||
# Recurse into subpackages
|
||||
my $recursive = 1;
|
||||
|
||||
+# Steps to exclude
|
||||
+my @exclude;
|
||||
+my @ex;
|
||||
+
|
||||
+my $uses_gettext;
|
||||
+my $configure_ac;
|
||||
+
|
||||
## ---------- ##
|
||||
## Routines. ##
|
||||
## ---------- ##
|
||||
@@ -153,6 +161,7 @@
|
||||
'B|prepend-include=s' => \@prepend_include,
|
||||
'i|install' => \$install,
|
||||
's|symlink' => \$symlink,
|
||||
+ 'x|exclude=s' => \@exclude,
|
||||
'm|make' => \$run_make,
|
||||
'recursive!' => \$recursive);
|
||||
|
||||
@@ -162,6 +171,8 @@
|
||||
parse_WARNINGS;
|
||||
parse_warnings '--warnings', @warning;
|
||||
|
||||
+ @exclude = map { split /,/ } @exclude;
|
||||
+
|
||||
# Even if the user specified a configure.ac, trim to get the
|
||||
# directory, and look for configure.ac again. Because (i) the code
|
||||
# is simpler, and (ii) we are still able to diagnose simultaneous
|
||||
@@ -255,6 +266,11 @@
|
||||
{
|
||||
my ($aclocal, $flags) = @_;
|
||||
|
||||
+ @ex = grep (/^aclocal$/, @exclude);
|
||||
+ if ($#ex != -1) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
# aclocal 1.8+ does all this for free. It can be recognized by its
|
||||
# --force support.
|
||||
if ($aclocal_supports_force)
|
||||
@@ -368,7 +384,10 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- xsystem_hint ("autopoint is needed because this package uses Gettext", "$autopoint");
|
||||
+ @ex = grep (/^autopoint$/, @exclude);
|
||||
+ if ($#ex == -1) {
|
||||
+ xsystem_hint ("autopoint is needed because this package uses Gettext", "$autopoint");
|
||||
+ }
|
||||
}
|
||||
|
||||
|
||||
@@ -532,16 +551,17 @@
|
||||
{
|
||||
$libtoolize .= " --ltdl";
|
||||
}
|
||||
- xsystem_hint ("libtoolize is needed because this package uses Libtool", $libtoolize);
|
||||
- $rerun_aclocal = 1;
|
||||
+ @ex = grep (/^libtoolize$/, @exclude);
|
||||
+ if ($#ex == -1) {
|
||||
+ xsystem_hint ("libtoolize is needed because this package uses Libtool", $libtoolize);
|
||||
+ $rerun_aclocal = 1;
|
||||
+ }
|
||||
}
|
||||
else
|
||||
{
|
||||
verb "$configure_ac: not running libtoolize: --install not given";
|
||||
}
|
||||
|
||||
-
|
||||
-
|
||||
# ------------------- #
|
||||
# Rerunning aclocal. #
|
||||
# ------------------- #
|
||||
@@ -572,7 +592,10 @@
|
||||
# latter runs the former, and (ii) autoconf is stricter than
|
||||
# autoheader. So all in all, autoconf should give better error
|
||||
# messages.
|
||||
- xsystem ($autoconf);
|
||||
+ @ex = grep (/^autoconf$/, @exclude);
|
||||
+ if ($#ex == -1) {
|
||||
+ xsystem ("$autoconf");
|
||||
+ }
|
||||
|
||||
|
||||
# -------------------- #
|
||||
@@ -593,7 +616,10 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- xsystem ($autoheader);
|
||||
+ @ex = grep (/^autoheader$/, @exclude);
|
||||
+ if ($#ex == -1) {
|
||||
+ xsystem ("$autoheader");
|
||||
+ }
|
||||
}
|
||||
|
||||
|
||||
@@ -610,7 +636,10 @@
|
||||
# We should always run automake, and let it decide whether it shall
|
||||
# update the file or not. In fact, the effect of `$force' is already
|
||||
# included in `$automake' via `--no-force'.
|
||||
- xsystem ($automake);
|
||||
+ @ex = grep (/^automake$/, @exclude);
|
||||
+ if ($#ex == -1) {
|
||||
+ xsystem ("$automake");
|
||||
+ }
|
||||
}
|
||||
|
||||
|
||||
@@ -634,7 +663,10 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
- xsystem ("$make");
|
||||
+ @ex = grep (/^make$/, @exclude);
|
||||
+ if ($#ex == -1) {
|
||||
+ xsystem ("$make");
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="cloog"
|
||||
PKG_VERSION="0.18.0"
|
||||
PKG_VERSION="0.18.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
|
||||
26
packages/devel/cloog/patches/cloog-buildfix.patch
Normal file
26
packages/devel/cloog/patches/cloog-buildfix.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
diff -Naur cloog-0.18.2/Makefile.am cloog-0.18.2.patch/Makefile.am
|
||||
--- cloog-0.18.2/Makefile.am 2013-12-18 13:27:49.000000000 +0100
|
||||
+++ cloog-0.18.2.patch/Makefile.am 2014-06-22 17:51:19.285392908 +0200
|
||||
@@ -147,9 +147,7 @@
|
||||
@test -z "$(pkgconfig_libdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfig_libdir)"
|
||||
$(INSTALL_DATA) $(pkgconfig_libfile) "$(DESTDIR)$(pkgconfig_libdir)/$(pkgconfig_libfile)"
|
||||
@test -z "$(DESTDIR)$(libdir)/isl" || $(mkdir_p) "$(DESTDIR)$(libdir)/isl"
|
||||
- $(INSTALL_DATA) "$(top_srcdir)/cmake/isl-config.cmake" "$(DESTDIR)$(libdir)/isl/"
|
||||
@test -z "$(DESTDIR)$(libdir)/$(PACKAGE_NAME)" || $(mkdir_p) "$(DESTDIR)$(libdir)/$(PACKAGE_NAME)"
|
||||
- $(INSTALL_DATA) "$(top_srcdir)/cmake/cloog-isl-config.cmake" "$(DESTDIR)$(libdir)/$(PACKAGE_NAME)/"
|
||||
|
||||
uninstall-local:
|
||||
rm -f "$(DESTDIR)$(pkgconfig_libdir)/$(pkgconfig_libfile)"
|
||||
diff -Naur cloog-0.18.2/Makefile.in cloog-0.18.2.patch/Makefile.in
|
||||
--- cloog-0.18.2/Makefile.in 2013-12-18 13:36:08.000000000 +0100
|
||||
+++ cloog-0.18.2.patch/Makefile.in 2014-06-22 17:51:27.580413087 +0200
|
||||
@@ -1342,9 +1342,7 @@
|
||||
@test -z "$(pkgconfig_libdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfig_libdir)"
|
||||
$(INSTALL_DATA) $(pkgconfig_libfile) "$(DESTDIR)$(pkgconfig_libdir)/$(pkgconfig_libfile)"
|
||||
@test -z "$(DESTDIR)$(libdir)/isl" || $(mkdir_p) "$(DESTDIR)$(libdir)/isl"
|
||||
- $(INSTALL_DATA) "$(top_srcdir)/cmake/isl-config.cmake" "$(DESTDIR)$(libdir)/isl/"
|
||||
@test -z "$(DESTDIR)$(libdir)/$(PACKAGE_NAME)" || $(mkdir_p) "$(DESTDIR)$(libdir)/$(PACKAGE_NAME)"
|
||||
- $(INSTALL_DATA) "$(top_srcdir)/cmake/cloog-isl-config.cmake" "$(DESTDIR)$(libdir)/$(PACKAGE_NAME)/"
|
||||
|
||||
uninstall-local:
|
||||
rm -f "$(DESTDIR)$(pkgconfig_libdir)/$(pkgconfig_libfile)"
|
||||
@@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="cmake"
|
||||
PKG_VERSION="2.8.12.1"
|
||||
PKG_VERSION="3.0.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
PKG_SITE="http://www.cmake.org/"
|
||||
PKG_URL="http://www.cmake.org/files/v2.8/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_URL="http://www.cmake.org/files/v3.0/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_HOST="ccache:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="toolchain/devel"
|
||||
@@ -33,15 +33,13 @@ PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
configure_host() {
|
||||
../configure --no-qt-gui -- -DBUILD_CursesDialog=0
|
||||
../configure --prefix=$ROOT/$TOOLCHAIN \
|
||||
--no-qt-gui \
|
||||
-- \
|
||||
-DBUILD_CursesDialog=0
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
mkdir -p $ROOT/$TOOLCHAIN/bin
|
||||
cp -P bin/cmake $ROOT/$TOOLCHAIN/bin
|
||||
cp -P bin/cpack $ROOT/$TOOLCHAIN/bin
|
||||
cp -P bin/ctest $ROOT/$TOOLCHAIN/bin
|
||||
|
||||
post_makeinstall_host() {
|
||||
mkdir -p $ROOT/$TOOLCHAIN/etc
|
||||
|
||||
cat >$ROOT/$TOOLCHAIN/etc/cmake-$TARGET_NAME.conf <<EOF
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="dbus-glib"
|
||||
PKG_VERSION="0.100.2"
|
||||
PKG_VERSION="0.102"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -Naur dbus-glib-0.100-old/configure.ac dbus-glib-0.100-new/configure.ac
|
||||
--- dbus-glib-0.100-old/configure.ac 2012-06-25 09:26:39.000000000 -0700
|
||||
+++ dbus-glib-0.100-new/configure.ac 2012-12-29 08:54:04.000000000 -0800
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
AM_INIT_AUTOMAKE([1.9])
|
||||
|
||||
-AM_CONFIG_HEADER(config.h)
|
||||
+AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
# Honor aclocal flags
|
||||
ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="file"
|
||||
PKG_VERSION="5.18"
|
||||
PKG_VERSION="5.19"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="gettext"
|
||||
PKG_VERSION="0.19"
|
||||
PKG_VERSION="0.19.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
@@ -32,9 +32,12 @@ PKG_LONGDESC="This is the GNU gettext package. It is interesting for authors or
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_SCRIPT="gettext-tools/configure"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--enable-static --disable-shared \
|
||||
--disable-rpath \
|
||||
--with-gnu-ld \
|
||||
--disable-java \
|
||||
--disable-native-java \
|
||||
--disable-csharp \
|
||||
--without-emacs"
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
diff -Naur gettext-0.19.1/gettext-tools/Makefile.am gettext-0.19.1.patch/gettext-tools/Makefile.am
|
||||
--- gettext-0.19.1/gettext-tools/Makefile.am 2014-05-01 11:37:33.000000000 +0200
|
||||
+++ gettext-0.19.1.patch/gettext-tools/Makefile.am 2014-06-23 16:06:15.225426222 +0200
|
||||
@@ -19,7 +19,7 @@
|
||||
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
|
||||
ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4
|
||||
|
||||
-SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples
|
||||
+SUBDIRS = intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests
|
||||
|
||||
EXTRA_DIST = misc/DISCLAIM
|
||||
MOSTLYCLEANFILES = core *.stackdump
|
||||
diff -Naur gettext-0.19.1/gettext-tools/Makefile.in gettext-0.19.1.patch/gettext-tools/Makefile.in
|
||||
--- gettext-0.19.1/gettext-tools/Makefile.in 2014-06-10 07:42:48.000000000 +0200
|
||||
+++ gettext-0.19.1.patch/gettext-tools/Makefile.in 2014-06-23 16:06:32.453461116 +0200
|
||||
@@ -1556,7 +1556,7 @@
|
||||
top_srcdir = @top_srcdir@
|
||||
AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies
|
||||
ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4
|
||||
-SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples
|
||||
+SUBDIRS = intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests
|
||||
|
||||
# Allow users to use "gnulib-tool --update".
|
||||
|
||||
@@ -16,25 +16,25 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="eglibc"
|
||||
PKG_VERSION="2.19-25249"
|
||||
PKG_NAME="glibc"
|
||||
PKG_VERSION="2.19"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.eglibc.org/"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_SITE="http://www.gnu.org/software/libc/"
|
||||
PKG_URL="ftp://ftp.gnu.org/pub/gnu/glibc/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="ccache:host autotools:host autoconf:host linux:host gcc:bootstrap"
|
||||
PKG_DEPENDS_INIT="eglibc"
|
||||
PKG_DEPENDS_INIT="glibc"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="toolchain/devel"
|
||||
PKG_SHORTDESC="eglibc: The Embedded GNU C library"
|
||||
PKG_LONGDESC="The Embedded GLIBC (EGLIBC) is a variant of the GNU C Library (GLIBC) that is designed to work well on embedded systems. EGLIBC strives to be source and binary compatible with GLIBC. EGLIBC's goals include reduced footprint, configurable components, better support for cross-compilation and cross-testing. In contrast to what Ulrich Drepper makes out of GLIBC, in EGLIBC all patches assigned to the FSF will be considered regardless of individual or company affiliation and cooperation is encouraged, as well as communication, civility, and respect among developers."
|
||||
PKG_SHORTDESC="glibc: The GNU C library"
|
||||
PKG_LONGDESC="The Glibc package contains the main C library. This library provides the basic routines for allocating memory, searching directories, opening and closing files, reading and writing files, string handling, pattern matching, arithmetic, and so on."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="BASH_SHELL=/bin/sh \
|
||||
--libexecdir=/usr/lib/eglibc \
|
||||
--libexecdir=/usr/lib/glibc \
|
||||
--cache-file=config.cache \
|
||||
--disable-profile \
|
||||
--disable-sanity-checks \
|
||||
@@ -57,15 +57,14 @@ if [ "$DEBUG" = yes ]; then
|
||||
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --enable-debug"
|
||||
else
|
||||
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --disable-debug"
|
||||
DEBUG_OPTIONS=" OPTION_EGLIBC_MEMUSAGE = n"
|
||||
fi
|
||||
|
||||
NSS_CONF_DIR="$PKG_BUILD/nss"
|
||||
|
||||
EGLIBC_EXCLUDE_BIN="catchsegv getconf iconv iconvconfig ldconfig lddlibc4"
|
||||
EGLIBC_EXCLUDE_BIN="$EGLIBC_EXCLUDE_BIN localedef makedb mtrace pcprofiledump"
|
||||
EGLIBC_EXCLUDE_BIN="$EGLIBC_EXCLUDE_BIN pldd rpcgen sln sotruss sprof tzselect"
|
||||
EGLIBC_EXCLUDE_BIN="$EGLIBC_EXCLUDE_BIN xtrace zdump zic"
|
||||
GLIBC_EXCLUDE_BIN="catchsegv gencat getconf iconv iconvconfig ldconfig lddlibc4"
|
||||
GLIBC_EXCLUDE_BIN="$GLIBC_EXCLUDE_BIN localedef makedb mtrace pcprofiledump"
|
||||
GLIBC_EXCLUDE_BIN="$GLIBC_EXCLUDE_BIN pldd rpcgen sln sotruss sprof tzselect"
|
||||
GLIBC_EXCLUDE_BIN="$GLIBC_EXCLUDE_BIN xtrace zdump zic"
|
||||
|
||||
pre_build_target() {
|
||||
cd $PKG_BUILD
|
||||
@@ -78,7 +77,7 @@ pre_configure_target() {
|
||||
# Fails to compile with GCC's link time optimization.
|
||||
strip_lto
|
||||
|
||||
# eglibc dont support GOLD linker.
|
||||
# glibc dont support GOLD linker.
|
||||
strip_gold
|
||||
|
||||
# Filter out some problematic *FLAGS
|
||||
@@ -103,49 +102,6 @@ pre_configure_target() {
|
||||
export BUILD_CC=$HOST_CC
|
||||
export OBJDUMP_FOR_HOST=objdump
|
||||
|
||||
# create configuration
|
||||
cat >option-groups.config <<EOF
|
||||
|
||||
OPTION_EGLIBC_ADVANCED_INET6 = n
|
||||
|
||||
# needed for connman:
|
||||
OPTION_EGLIBC_BACKTRACE = y
|
||||
|
||||
OPTION_EGLIBC_BIG_MACROS = n
|
||||
OPTION_EGLIBC_BSD = n
|
||||
OPTION_EGLIBC_CATGETS = n
|
||||
|
||||
# libiconv replacement:
|
||||
OPTION_EGLIBC_CHARSETS = y
|
||||
|
||||
OPTION_EGLIBC_DB_ALIASES = n
|
||||
OPTION_EGLIBC_LOCALES = n
|
||||
|
||||
# needed for example with glib and Python:
|
||||
OPTION_EGLIBC_LOCALE_CODE = y
|
||||
|
||||
# activeperl fails without libnsl. keep it enabled for now
|
||||
OPTION_EGLIBC_NIS = y
|
||||
OPTION_EGLIBC_NSSWITCH = y
|
||||
OPTION_EGLIBC_RCMD = n
|
||||
|
||||
# needed by eglibc byself (todo):
|
||||
OPTION_EGLIBC_RTLD_DEBUG = y
|
||||
|
||||
# needed for speed (optionally/todo)
|
||||
OPTION_POSIX_REGEXP_GLIBC = y
|
||||
|
||||
# needed for PAM and Mysql:
|
||||
OPTION_EGLIBC_GETLOGIN = y
|
||||
|
||||
# needed for systemd and dropbear:
|
||||
OPTION_EGLIBC_UTMP = y
|
||||
OPTION_EGLIBC_UTMPX = y
|
||||
|
||||
# debugging options:
|
||||
$DEBUG_OPTIONS
|
||||
EOF
|
||||
|
||||
cat >config.cache <<EOF
|
||||
ac_cv_header_cpuid_h=yes
|
||||
libc_cv_forced_unwind=yes
|
||||
@@ -166,16 +122,23 @@ post_makeinstall_target() {
|
||||
ln -sf $(basename $INSTALL/lib/ld-*.so) $INSTALL/lib/ld.so
|
||||
|
||||
# cleanup
|
||||
for i in $EGLIBC_EXCLUDE_BIN; do
|
||||
for i in $GLIBC_EXCLUDE_BIN; do
|
||||
rm -rf $INSTALL/usr/bin/$i
|
||||
done
|
||||
rm -rf $INSTALL/usr/lib/audit
|
||||
rm -rf $INSTALL/usr/lib/eglibc
|
||||
rm -rf $INSTALL/usr/lib/glibc
|
||||
rm -rf $INSTALL/usr/lib/libc_pic
|
||||
rm -rf $INSTALL/usr/lib/*.o
|
||||
rm -rf $INSTALL/usr/lib/*.map
|
||||
rm -rf $INSTALL/var
|
||||
|
||||
# remove locales and charmaps
|
||||
rm -rf $INSTALL/usr/share/i18n/charmaps
|
||||
rm -rf $INSTALL/usr/share/i18n/locales
|
||||
|
||||
mkdir -p $INSTALL/usr/share/i18n/locales
|
||||
cp -PR $ROOT/$PKG_BUILD/localedata/locales/POSIX $INSTALL/usr/share/i18n/locales
|
||||
|
||||
# create default configs
|
||||
mkdir -p $INSTALL/etc
|
||||
cp $PKG_DIR/config/nsswitch.conf $INSTALL/etc
|
||||
515
packages/devel/libcec/patches/libcec-PR29.patch
Normal file
515
packages/devel/libcec/patches/libcec-PR29.patch
Normal file
@@ -0,0 +1,515 @@
|
||||
From 38b8eaae3ef151943595c4033b628a7c98d90c64 Mon Sep 17 00:00:00 2001
|
||||
From: Matus Kral <matuskral@me.com>
|
||||
Date: Tue, 15 Apr 2014 11:07:00 +0200
|
||||
Subject: [PATCH 1/5] fix RPI POLL during LA address negotiation
|
||||
|
||||
---
|
||||
src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp | 13 +++++++++----
|
||||
1 file changed, 9 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp b/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
|
||||
index 76c61b3..2905c56 100644
|
||||
--- a/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
|
||||
+++ b/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
|
||||
@@ -382,13 +382,18 @@ cec_adapter_message_state CRPiCECAdapterCommunication::Write(const cec_command &
|
||||
return (data.initiator == data.destination) ? ADAPTER_MESSAGE_STATE_SENT_NOT_ACKED : ADAPTER_MESSAGE_STATE_ERROR;
|
||||
}
|
||||
|
||||
- if (!data.opcode_set && data.initiator == data.destination)
|
||||
+ if (!m_queue->Write(data, bIsReply))
|
||||
{
|
||||
- // registration of the logical address would have failed
|
||||
- return ADAPTER_MESSAGE_STATE_SENT_NOT_ACKED;
|
||||
+ if (!data.opcode_set)
|
||||
+ {
|
||||
+ return ADAPTER_MESSAGE_STATE_SENT_NOT_ACKED;
|
||||
+ }
|
||||
+
|
||||
+ return ADAPTER_MESSAGE_STATE_SENT;
|
||||
}
|
||||
|
||||
- return m_queue->Write(data, bIsReply) ? ADAPTER_MESSAGE_STATE_SENT_ACKED : ADAPTER_MESSAGE_STATE_SENT_NOT_ACKED;
|
||||
+ return ADAPTER_MESSAGE_STATE_SENT_ACKED;
|
||||
+
|
||||
}
|
||||
|
||||
uint16_t CRPiCECAdapterCommunication::GetFirmwareVersion(void)
|
||||
--
|
||||
1.9.3
|
||||
|
||||
|
||||
From 485660f88df81ef5e535a074b1385c49bc687489 Mon Sep 17 00:00:00 2001
|
||||
From: Matus Kral <matuskral@me.com>
|
||||
Date: Sun, 20 Apr 2014 22:24:03 +0200
|
||||
Subject: [PATCH 2/5] fix assertion on XBMC exit
|
||||
|
||||
---
|
||||
src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp b/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
|
||||
index 2905c56..243223d 100644
|
||||
--- a/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
|
||||
+++ b/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
|
||||
@@ -353,7 +353,8 @@ void CRPiCECAdapterCommunication::Close(void)
|
||||
else
|
||||
return;
|
||||
}
|
||||
- vc_tv_unregister_callback(rpi_tv_callback);
|
||||
+ if (m_bInitialised)
|
||||
+ vc_tv_unregister_callback(rpi_tv_callback);
|
||||
|
||||
UnregisterLogicalAddress();
|
||||
|
||||
--
|
||||
1.9.3
|
||||
|
||||
|
||||
From 5d9e4ee8e7ebd6354d720476ab9ebebbc81bddb0 Mon Sep 17 00:00:00 2001
|
||||
From: Matus Kral <matuskral@me.com>
|
||||
Date: Sun, 25 May 2014 07:03:32 +0200
|
||||
Subject: [PATCH 3/5] this solves problem with device dissapearing from TV's
|
||||
menu when source is changed to another device.
|
||||
|
||||
(needs fix on adapter side to correctly mark devices with
|
||||
"ishandledbycec").
|
||||
---
|
||||
src/lib/implementations/CECCommandHandler.cpp | 13 ++++++++-----
|
||||
1 file changed, 8 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/lib/implementations/CECCommandHandler.cpp b/src/lib/implementations/CECCommandHandler.cpp
|
||||
index 29d1ffb..a89ebe6 100644
|
||||
--- a/src/lib/implementations/CECCommandHandler.cpp
|
||||
+++ b/src/lib/implementations/CECCommandHandler.cpp
|
||||
@@ -592,12 +592,15 @@ int CCECCommandHandler::HandleSetStreamPath(const cec_command &command)
|
||||
CCECBusDevice *device = GetDeviceByPhysicalAddress(iStreamAddress);
|
||||
if (device)
|
||||
{
|
||||
- if (device->IsHandledByLibCEC() && !device->IsActiveSource())
|
||||
- device->ActivateSource();
|
||||
- else
|
||||
+ if (device->IsHandledByLibCEC())
|
||||
{
|
||||
- device->MarkAsActiveSource();
|
||||
- device->TransmitActiveSource(true);
|
||||
+ if (!device->IsActiveSource())
|
||||
+ device->ActivateSource();
|
||||
+ else
|
||||
+ {
|
||||
+ device->MarkAsActiveSource();
|
||||
+ device->TransmitActiveSource(true);
|
||||
+ }
|
||||
}
|
||||
return COMMAND_HANDLED;
|
||||
}
|
||||
--
|
||||
1.9.3
|
||||
|
||||
|
||||
From f9c4a2de412487b78c333dc21d9b7e41a5fe69e3 Mon Sep 17 00:00:00 2001
|
||||
From: Matus Kral <matuskral@me.com>
|
||||
Date: Mon, 26 May 2014 20:56:10 +0200
|
||||
Subject: [PATCH 4/5] RPI updates with fixes - losing device from TVs menu on
|
||||
source changes - XBMC Input Device settings change will not freeze XBMC (or
|
||||
disable adapter) - TV auto connection to adapter properly upon AS command -
|
||||
imposibility to switch back to RPI even if listed by TV
|
||||
|
||||
it is possible it fixes some others as well
|
||||
---
|
||||
src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp | 97 +++++++---------------
|
||||
src/lib/adapter/RPi/RPiCECAdapterCommunication.h | 2 +-
|
||||
src/lib/adapter/RPi/RPiCECAdapterMessageQueue.cpp | 50 ++++++++---
|
||||
src/lib/adapter/RPi/RPiCECAdapterMessageQueue.h | 13 ++-
|
||||
4 files changed, 79 insertions(+), 83 deletions(-)
|
||||
|
||||
diff --git a/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp b/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
|
||||
index 243223d..9af5357 100644
|
||||
--- a/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
|
||||
+++ b/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
|
||||
@@ -78,7 +78,9 @@ CRPiCECAdapterCommunication::CRPiCECAdapterCommunication(IAdapterCommunicationCa
|
||||
CRPiCECAdapterCommunication::~CRPiCECAdapterCommunication(void)
|
||||
{
|
||||
delete(m_queue);
|
||||
+ UnregisterLogicalAddress();
|
||||
Close();
|
||||
+ vc_cec_set_passive(false);
|
||||
}
|
||||
|
||||
const char *ToString(const VC_CEC_ERROR_T error)
|
||||
@@ -212,6 +214,7 @@ void CRPiCECAdapterCommunication::OnDataReceived(uint32_t header, uint32_t p0, u
|
||||
{
|
||||
m_bLogicalAddressChanged = true;
|
||||
m_logicalAddress = (cec_logical_address)(p0 & 0xF);
|
||||
+ m_bLogicalAddressRegistered = true;
|
||||
LIB_CEC->AddLog(CEC_LOG_DEBUG, "logical address changed to %s (%x)", LIB_CEC->ToString(m_logicalAddress), m_logicalAddress);
|
||||
}
|
||||
else
|
||||
@@ -224,8 +227,9 @@ void CRPiCECAdapterCommunication::OnDataReceived(uint32_t header, uint32_t p0, u
|
||||
break;
|
||||
case VC_CEC_LOGICAL_ADDR_LOST:
|
||||
{
|
||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "logical %s (%x) address lost", LIB_CEC->ToString(m_logicalAddress), m_logicalAddress);
|
||||
// the logical address was taken by another device
|
||||
- cec_logical_address previousAddress = m_logicalAddress == CECDEVICE_BROADCAST ? m_previousLogicalAddress : m_logicalAddress;
|
||||
+ cec_logical_address previousAddress = m_logicalAddress == CECDEVICE_FREEUSE ? m_previousLogicalAddress : m_logicalAddress;
|
||||
m_logicalAddress = CECDEVICE_UNKNOWN;
|
||||
|
||||
// notify libCEC that we lost our LA when the connection was initialised
|
||||
@@ -305,23 +309,18 @@ bool CRPiCECAdapterCommunication::Open(uint32_t iTimeoutMs /* = CEC_DEFAULT_CONN
|
||||
vc_cec_register_callback(rpi_cec_callback, (void*)this);
|
||||
vc_tv_register_callback(rpi_tv_callback, (void*)this);
|
||||
|
||||
- // release previous LA
|
||||
- vc_cec_release_logical_address();
|
||||
- if (!m_logicalAddressCondition.Wait(m_mutex, m_bLogicalAddressChanged, iTimeoutMs))
|
||||
- {
|
||||
- LIB_CEC->AddLog(CEC_LOG_ERROR, "failed to release the previous LA");
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
// register LA "freeuse"
|
||||
- if (RegisterLogicalAddress(CECDEVICE_FREEUSE))
|
||||
+ if (RegisterLogicalAddress(CECDEVICE_FREEUSE, iTimeoutMs))
|
||||
{
|
||||
LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s - vc_cec initialised", __FUNCTION__);
|
||||
CLockObject lock(m_mutex);
|
||||
m_bInitialised = true;
|
||||
}
|
||||
else
|
||||
+ {
|
||||
LIB_CEC->AddLog(CEC_LOG_ERROR, "%s - vc_cec could not be initialised", __FUNCTION__);
|
||||
+ return false;
|
||||
+ }
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -346,20 +345,10 @@ uint16_t CRPiCECAdapterCommunication::GetPhysicalAddress(void)
|
||||
|
||||
void CRPiCECAdapterCommunication::Close(void)
|
||||
{
|
||||
- {
|
||||
- CLockObject lock(m_mutex);
|
||||
- if (m_bInitialised)
|
||||
- m_bInitialised = false;
|
||||
- else
|
||||
- return;
|
||||
- }
|
||||
- if (m_bInitialised)
|
||||
+ if (m_bInitialised) {
|
||||
vc_tv_unregister_callback(rpi_tv_callback);
|
||||
-
|
||||
- UnregisterLogicalAddress();
|
||||
-
|
||||
- // disable passive mode
|
||||
- vc_cec_set_passive(false);
|
||||
+ m_bInitialised = false;
|
||||
+ }
|
||||
|
||||
if (!g_bHostInited)
|
||||
{
|
||||
@@ -374,27 +363,16 @@ std::string CRPiCECAdapterCommunication::GetError(void) const
|
||||
return strError;
|
||||
}
|
||||
|
||||
-cec_adapter_message_state CRPiCECAdapterCommunication::Write(const cec_command &data, bool &UNUSED(bRetry), uint8_t UNUSED(iLineTimeout), bool bIsReply)
|
||||
+cec_adapter_message_state CRPiCECAdapterCommunication::Write(const cec_command &data, bool &bRetry, uint8_t iLineTimeout, bool bIsReply)
|
||||
{
|
||||
- // ensure that the source LA is registered
|
||||
- if (!RegisterLogicalAddress(data.initiator))
|
||||
- {
|
||||
- LIB_CEC->AddLog(CEC_LOG_DEBUG, "failed to register logical address %s (%X)", CCECTypeUtils::ToString(data.initiator), data.initiator);
|
||||
- return (data.initiator == data.destination) ? ADAPTER_MESSAGE_STATE_SENT_NOT_ACKED : ADAPTER_MESSAGE_STATE_ERROR;
|
||||
- }
|
||||
-
|
||||
- if (!m_queue->Write(data, bIsReply))
|
||||
- {
|
||||
- if (!data.opcode_set)
|
||||
- {
|
||||
- return ADAPTER_MESSAGE_STATE_SENT_NOT_ACKED;
|
||||
- }
|
||||
-
|
||||
- return ADAPTER_MESSAGE_STATE_SENT;
|
||||
- }
|
||||
-
|
||||
- return ADAPTER_MESSAGE_STATE_SENT_ACKED;
|
||||
+ VC_CEC_ERROR_T vcAnswer;
|
||||
+ uint32_t iTimeout = (data.transmit_timeout ? data.transmit_timeout : iLineTimeout*1000);
|
||||
|
||||
+ cec_adapter_message_state rc = m_queue->Write(data, bRetry, iTimeout, bIsReply, vcAnswer);
|
||||
+#ifdef CEC_DEBUGGING
|
||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "sending data: result %s", ToString(vcAnswer));
|
||||
+#endif
|
||||
+ return rc;
|
||||
}
|
||||
|
||||
uint16_t CRPiCECAdapterCommunication::GetFirmwareVersion(void)
|
||||
@@ -404,22 +382,15 @@ uint16_t CRPiCECAdapterCommunication::GetFirmwareVersion(void)
|
||||
|
||||
cec_logical_address CRPiCECAdapterCommunication::GetLogicalAddress(void)
|
||||
{
|
||||
- {
|
||||
- CLockObject lock(m_mutex);
|
||||
- if (m_logicalAddress != CECDEVICE_UNKNOWN)
|
||||
- return m_logicalAddress;
|
||||
- }
|
||||
+ CLockObject lock(m_mutex);
|
||||
|
||||
- CEC_AllDevices_T address;
|
||||
- return (vc_cec_get_logical_address(&address) == VCHIQ_SUCCESS) ?
|
||||
- (cec_logical_address)address : CECDEVICE_UNKNOWN;
|
||||
+ return m_logicalAddress;
|
||||
}
|
||||
|
||||
bool CRPiCECAdapterCommunication::UnregisterLogicalAddress(void)
|
||||
{
|
||||
CLockObject lock(m_mutex);
|
||||
- if (m_logicalAddress == CECDEVICE_UNKNOWN ||
|
||||
- m_logicalAddress == CECDEVICE_BROADCAST)
|
||||
+ if (!m_bInitialised)
|
||||
return true;
|
||||
|
||||
LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s - releasing previous logical address", __FUNCTION__);
|
||||
@@ -434,34 +405,25 @@ bool CRPiCECAdapterCommunication::UnregisterLogicalAddress(void)
|
||||
return m_logicalAddressCondition.Wait(m_mutex, m_bLogicalAddressChanged);
|
||||
}
|
||||
|
||||
-bool CRPiCECAdapterCommunication::RegisterLogicalAddress(const cec_logical_address address)
|
||||
+bool CRPiCECAdapterCommunication::RegisterLogicalAddress(const cec_logical_address address, uint32_t iTimeoutMs)
|
||||
{
|
||||
{
|
||||
CLockObject lock(m_mutex);
|
||||
- if (m_logicalAddress == address)
|
||||
+ if ((m_logicalAddress == address) && m_bLogicalAddressRegistered)
|
||||
return true;
|
||||
}
|
||||
|
||||
- if (!UnregisterLogicalAddress())
|
||||
- return false;
|
||||
-
|
||||
- LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s - registering address %x", __FUNCTION__, address);
|
||||
-
|
||||
- CLockObject lock(m_mutex);
|
||||
m_bLogicalAddressChanged = false;
|
||||
- vc_cec_poll_address((CEC_AllDevices_T)address);
|
||||
|
||||
// register the new LA
|
||||
int iRetval = vc_cec_set_logical_address((CEC_AllDevices_T)address, (CEC_DEVICE_TYPE_T)CCECTypeUtils::GetType(address), CEC_VENDOR_ID_BROADCOM);
|
||||
if (iRetval != VCHIQ_SUCCESS)
|
||||
{
|
||||
LIB_CEC->AddLog(CEC_LOG_ERROR, "%s - vc_cec_set_logical_address(%X) returned %s (%d)", __FUNCTION__, address, ToString((VC_CEC_ERROR_T)iRetval), iRetval);
|
||||
- return false;
|
||||
+ UnregisterLogicalAddress();
|
||||
}
|
||||
-
|
||||
- if (m_logicalAddressCondition.Wait(m_mutex, m_bLogicalAddressChanged))
|
||||
+ else if (m_logicalAddressCondition.Wait(m_mutex, m_bLogicalAddressChanged, iTimeoutMs))
|
||||
{
|
||||
- m_bLogicalAddressRegistered = true;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -470,9 +432,8 @@ bool CRPiCECAdapterCommunication::RegisterLogicalAddress(const cec_logical_addre
|
||||
cec_logical_addresses CRPiCECAdapterCommunication::GetLogicalAddresses(void)
|
||||
{
|
||||
cec_logical_addresses addresses; addresses.Clear();
|
||||
- cec_logical_address current = GetLogicalAddress();
|
||||
- if (current != CECDEVICE_UNKNOWN)
|
||||
- addresses.Set(current);
|
||||
+ if (m_bLogicalAddressRegistered)
|
||||
+ addresses.primary = GetLogicalAddress();
|
||||
|
||||
return addresses;
|
||||
}
|
||||
diff --git a/src/lib/adapter/RPi/RPiCECAdapterCommunication.h b/src/lib/adapter/RPi/RPiCECAdapterCommunication.h
|
||||
index 7fbc105..e6a6446 100644
|
||||
--- a/src/lib/adapter/RPi/RPiCECAdapterCommunication.h
|
||||
+++ b/src/lib/adapter/RPi/RPiCECAdapterCommunication.h
|
||||
@@ -97,7 +97,7 @@ namespace CEC
|
||||
private:
|
||||
cec_logical_address GetLogicalAddress(void);
|
||||
bool UnregisterLogicalAddress(void);
|
||||
- bool RegisterLogicalAddress(const cec_logical_address address);
|
||||
+ bool RegisterLogicalAddress(const cec_logical_address address, uint32_t iTimeoutMs = CEC_DEFAULT_CONNECT_TIMEOUT);
|
||||
int InitHostCEC(void);
|
||||
|
||||
bool m_bInitialised; /**< true when the connection is initialised, false otherwise */
|
||||
diff --git a/src/lib/adapter/RPi/RPiCECAdapterMessageQueue.cpp b/src/lib/adapter/RPi/RPiCECAdapterMessageQueue.cpp
|
||||
index aa9701d..cb9fed0 100644
|
||||
--- a/src/lib/adapter/RPi/RPiCECAdapterMessageQueue.cpp
|
||||
+++ b/src/lib/adapter/RPi/RPiCECAdapterMessageQueue.cpp
|
||||
@@ -71,9 +71,12 @@ void CRPiCECAdapterMessageQueueEntry::Broadcast(void)
|
||||
|
||||
bool CRPiCECAdapterMessageQueueEntry::MessageReceived(cec_opcode opcode, cec_logical_address initiator, cec_logical_address destination, uint32_t response)
|
||||
{
|
||||
- if ((!m_command.opcode_set || m_command.opcode == opcode) &&
|
||||
- m_command.initiator == initiator &&
|
||||
- m_command.destination == destination)
|
||||
+ if ((m_command.opcode_set && m_command.opcode == opcode &&
|
||||
+ m_command.initiator == initiator &&
|
||||
+ m_command.destination == destination)
|
||||
+ ||
|
||||
+ (!m_command.opcode_set &&
|
||||
+ m_command.destination == destination))
|
||||
{
|
||||
CLockObject lock(m_mutex);
|
||||
m_retval = response;
|
||||
@@ -93,9 +96,6 @@ bool CRPiCECAdapterMessageQueueEntry::Wait(uint32_t iTimeout)
|
||||
CLockObject lock(m_mutex);
|
||||
bReturn = m_bSucceeded ? true : m_condition.Wait(m_mutex, m_bSucceeded, iTimeout);
|
||||
m_bWaiting = false;
|
||||
-
|
||||
- if (bReturn)
|
||||
- bReturn = m_retval == VCHIQ_SUCCESS;
|
||||
}
|
||||
return bReturn;
|
||||
}
|
||||
@@ -124,7 +124,12 @@ void CRPiCECAdapterMessageQueue::MessageReceived(cec_opcode opcode, cec_logical_
|
||||
LIB_CEC->AddLog(CEC_LOG_WARNING, "unhandled response received: opcode=%x initiator=%x destination=%x response=%x", (int)opcode, (int)initiator, (int)destination, response);
|
||||
}
|
||||
|
||||
-bool CRPiCECAdapterMessageQueue::Write(const cec_command &command, bool bIsReply)
|
||||
+uint32_t CRPiCECAdapterMessageQueueEntry::Result() const
|
||||
+{
|
||||
+ return m_retval;
|
||||
+}
|
||||
+
|
||||
+cec_adapter_message_state CRPiCECAdapterMessageQueue::Write(const cec_command &command, bool &bRetry, uint32_t iLineTimeout, bool bIsReply, VC_CEC_ERROR_T &vcReply)
|
||||
{
|
||||
CRPiCECAdapterMessageQueueEntry *entry = new CRPiCECAdapterMessageQueueEntry(this, command);
|
||||
uint64_t iEntryId(0);
|
||||
@@ -182,24 +187,43 @@ bool CRPiCECAdapterMessageQueue::Write(const cec_command &command, bool bIsReply
|
||||
LIB_CEC->AddLog(CEC_LOG_DEBUG, "sending data: %s", strDump.c_str());
|
||||
#endif
|
||||
|
||||
- int iReturn = vc_cec_send_message((uint32_t)command.destination, (uint8_t*)&payload, iLength, bIsReply);
|
||||
+ int iReturn = vc_cec_send_message((uint32_t)command.destination, command.opcode_set ? (uint8_t*)&payload : NULL, iLength, bIsReply);
|
||||
#endif
|
||||
|
||||
+ bRetry = false;
|
||||
if (iReturn != VCHIQ_SUCCESS)
|
||||
{
|
||||
LIB_CEC->AddLog(CEC_LOG_DEBUG, "sending command '%s' failed (%d)", command.opcode_set ? CCECTypeUtils::ToString(command.opcode) : "POLL", iReturn);
|
||||
delete (entry);
|
||||
- return false;
|
||||
+ return ADAPTER_MESSAGE_STATE_ERROR;
|
||||
}
|
||||
|
||||
- bool bReturn(true);
|
||||
+ cec_adapter_message_state bReturn(ADAPTER_MESSAGE_STATE_ERROR);
|
||||
if (entry)
|
||||
{
|
||||
- if (!entry->Wait(CEC_DEFAULT_TRANSMIT_WAIT))
|
||||
+ if (entry->Wait(iLineTimeout))
|
||||
{
|
||||
- LIB_CEC->AddLog(CEC_LOG_DEBUG, "command '%s' was not acked by the controller", command.opcode_set ? CCECTypeUtils::ToString(command.opcode) : "POLL");
|
||||
- bReturn = false;
|
||||
+ int status = entry->Result();
|
||||
+
|
||||
+ if (status == VC_CEC_ERROR_NO_ACK)
|
||||
+ bReturn = ADAPTER_MESSAGE_STATE_SENT_NOT_ACKED;
|
||||
+ else if (status == VC_CEC_SUCCESS)
|
||||
+ bReturn = ADAPTER_MESSAGE_STATE_SENT_ACKED;
|
||||
+ else
|
||||
+ bReturn = ADAPTER_MESSAGE_STATE_SENT;
|
||||
}
|
||||
+ else
|
||||
+ {
|
||||
+ if (command.opcode_set)
|
||||
+ {
|
||||
+ bRetry = true;
|
||||
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "command '%s' timeout", command.opcode_set ? CCECTypeUtils::ToString(command.opcode) : "POLL");
|
||||
+ sleep(CEC_DEFAULT_TRANSMIT_RETRY_WAIT);
|
||||
+ }
|
||||
+ bReturn = ADAPTER_MESSAGE_STATE_WAITING_TO_BE_SENT;
|
||||
+ }
|
||||
+
|
||||
+ vcReply = (VC_CEC_ERROR_T)entry->Result();
|
||||
|
||||
CLockObject lock(m_mutex);
|
||||
m_messages.erase(iEntryId);
|
||||
diff --git a/src/lib/adapter/RPi/RPiCECAdapterMessageQueue.h b/src/lib/adapter/RPi/RPiCECAdapterMessageQueue.h
|
||||
index af5756b..a6f4d7e 100644
|
||||
--- a/src/lib/adapter/RPi/RPiCECAdapterMessageQueue.h
|
||||
+++ b/src/lib/adapter/RPi/RPiCECAdapterMessageQueue.h
|
||||
@@ -33,6 +33,12 @@
|
||||
|
||||
#include "lib/platform/util/buffer.h"
|
||||
#include <map>
|
||||
+#include "lib/adapter/AdapterCommunication.h"
|
||||
+
|
||||
+extern "C" {
|
||||
+#include <interface/vmcs_host/vc_cecservice.h>
|
||||
+#include <interface/vchiq_arm/vchiq_if.h>
|
||||
+}
|
||||
|
||||
namespace CEC
|
||||
{
|
||||
@@ -65,6 +71,11 @@ namespace CEC
|
||||
bool IsWaiting(void);
|
||||
|
||||
/*!
|
||||
+ * @brief Query result from worker thread
|
||||
+ */
|
||||
+ uint32_t Result() const;
|
||||
+
|
||||
+ /*!
|
||||
* @return The command that was sent in human readable form.
|
||||
*/
|
||||
const char *ToString(void) const { return "CEC transmission"; }
|
||||
@@ -106,7 +117,7 @@ namespace CEC
|
||||
|
||||
void MessageReceived(cec_opcode opcode, cec_logical_address initiator, cec_logical_address destination, uint32_t response);
|
||||
|
||||
- bool Write(const cec_command &command, bool bIsReply);
|
||||
+ cec_adapter_message_state Write(const cec_command &command, bool &bRetry, uint32_t iLineTimeout, bool bIsReply, VC_CEC_ERROR_T &vcReply);
|
||||
|
||||
private:
|
||||
CRPiCECAdapterCommunication * m_com; /**< the communication handler */
|
||||
--
|
||||
1.9.3
|
||||
|
||||
|
||||
From 0ba92c2d4fb9088e52c9a0d80169fd86d48156b8 Mon Sep 17 00:00:00 2001
|
||||
From: Matus Kral <matuskral@me.com>
|
||||
Date: Mon, 26 May 2014 20:59:17 +0200
|
||||
Subject: [PATCH 5/5] probably ugly hack to help with some newer Samsung TVs
|
||||
and activating source
|
||||
|
||||
---
|
||||
src/lib/implementations/ANCommandHandler.cpp | 10 ++++++++++
|
||||
src/lib/implementations/ANCommandHandler.h | 1 +
|
||||
2 files changed, 11 insertions(+)
|
||||
|
||||
diff --git a/src/lib/implementations/ANCommandHandler.cpp b/src/lib/implementations/ANCommandHandler.cpp
|
||||
index 7e0e9b9..93e8c92 100644
|
||||
--- a/src/lib/implementations/ANCommandHandler.cpp
|
||||
+++ b/src/lib/implementations/ANCommandHandler.cpp
|
||||
@@ -116,3 +116,13 @@ int CANCommandHandler::HandleDeviceVendorCommandWithId(const cec_command &comman
|
||||
}
|
||||
return CEC_ABORT_REASON_INVALID_OPERAND;
|
||||
}
|
||||
+
|
||||
+int CANCommandHandler::HandleSetMenuLanguage(const cec_command &command)
|
||||
+{
|
||||
+ if (m_processor->CECInitialised() && command.initiator == CECDEVICE_TV && command.destination == CECDEVICE_BROADCAST)
|
||||
+ {
|
||||
+ m_processor->GetDevice(command.initiator)->SetPowerStatus(CEC_POWER_STATUS_ON);
|
||||
+ }
|
||||
+
|
||||
+ return CCECCommandHandler::HandleSetMenuLanguage(command);
|
||||
+}
|
||||
diff --git a/src/lib/implementations/ANCommandHandler.h b/src/lib/implementations/ANCommandHandler.h
|
||||
index 595170a..73d3cae 100644
|
||||
--- a/src/lib/implementations/ANCommandHandler.h
|
||||
+++ b/src/lib/implementations/ANCommandHandler.h
|
||||
@@ -47,6 +47,7 @@ namespace CEC
|
||||
|
||||
int HandleVendorRemoteButtonDown(const cec_command &command);
|
||||
int HandleDeviceVendorCommandWithId(const cec_command &command);
|
||||
+ int HandleSetMenuLanguage(const cec_command &command);
|
||||
|
||||
protected:
|
||||
bool PowerOn(const cec_logical_address iInitiator, const cec_logical_address iDestination);
|
||||
--
|
||||
1.9.3
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libffi"
|
||||
PKG_VERSION="3.0.11"
|
||||
PKG_VERSION="3.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
diff -Naur libffi-3.0.10/include/Makefile.am libffi-3.0.10.patch/include/Makefile.am
|
||||
--- libffi-3.0.10/include/Makefile.am 2011-08-22 20:38:12.000000000 +0200
|
||||
+++ libffi-3.0.10.patch/include/Makefile.am 2011-11-04 09:26:38.587669344 +0100
|
||||
@@ -5,5 +5,5 @@
|
||||
DISTCLEANFILES=ffitarget.h
|
||||
EXTRA_DIST=ffi.h.in ffi_common.h
|
||||
|
||||
-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
|
||||
+includesdir = $(includedir)/@PACKAGE_NAME@
|
||||
nodist_includes_HEADERS = ffi.h ffitarget.h
|
||||
diff -Naur libffi-3.0.10/libffi.pc.in libffi-3.0.10.patch/libffi.pc.in
|
||||
--- libffi-3.0.10/libffi.pc.in 2011-08-22 20:38:12.000000000 +0200
|
||||
+++ libffi-3.0.10.patch/libffi.pc.in 2011-11-04 09:25:20.218682315 +0100
|
||||
@@ -1,7 +1,7 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
-includedir=${libdir}/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
|
||||
+includedir=@includedir@/@PACKAGE_NAME@
|
||||
|
||||
Name: @PACKAGE_NAME@
|
||||
Description: Library supporting Foreign Function Interfaces
|
||||
@@ -0,0 +1,50 @@
|
||||
From 102c02de867bfe831b5366c89d66bcf170db962e Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Thu, 7 Feb 2013 22:26:56 +0100
|
||||
Subject: [PATCH] Fix installation location of libffi
|
||||
|
||||
The libffi is currently declared as toolexeclib_LTLIBRARIES. In many
|
||||
cases, toolexeclib libraries will be installed in /usr/lib, so it
|
||||
doesn't make any difference.
|
||||
|
||||
However, with multilib toolchains, they get installed in a
|
||||
subdirectory of /usr/lib/. For example, with a Sourcery CodeBench
|
||||
PowerPC toolchain, if the e500mc multilib variant is used, the libffi
|
||||
library gets installed in /usr/lib/te500mc/. This is due to the
|
||||
following code in the configure script:
|
||||
|
||||
multi_os_directory=`$CC -print-multi-os-directory`
|
||||
case $multi_os_directory in
|
||||
.) ;; # Avoid trailing /.
|
||||
*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
|
||||
esac
|
||||
|
||||
Once the library is installed in /usr/lib/te500mc/, nothing works
|
||||
because this installation location is inconsistent with the
|
||||
installation location declared in libffi.pc.
|
||||
|
||||
So, instead of using this bizarre toolexeclib_LTLIBRARIES, simply use
|
||||
the more standard lib_LTLIBRARIES, which ensures that the libffi
|
||||
library is always installed in /usr/lib.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 6f669ca..b60bcc1 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -93,7 +93,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS)
|
||||
|
||||
MAKEOVERRIDES=
|
||||
|
||||
-toolexeclib_LTLIBRARIES = libffi.la
|
||||
+lib_LTLIBRARIES = libffi.la
|
||||
noinst_LTLIBRARIES = libffi_convenience.la
|
||||
|
||||
libffi_la_SOURCES = src/prep_cif.c src/types.c \
|
||||
--
|
||||
1.7.9.5
|
||||
|
||||
23
packages/devel/libffi/patches/libffi-includedir.patch
Normal file
23
packages/devel/libffi/patches/libffi-includedir.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
diff -Naur libffi-3.1/include/Makefile.am libffi-3.1.patch/include/Makefile.am
|
||||
--- libffi-3.1/include/Makefile.am 2014-04-25 19:45:13.000000000 +0200
|
||||
+++ libffi-3.1.patch/include/Makefile.am 2014-07-03 14:30:29.019161705 +0200
|
||||
@@ -5,5 +5,6 @@
|
||||
DISTCLEANFILES=ffitarget.h
|
||||
EXTRA_DIST=ffi.h.in ffi_common.h
|
||||
|
||||
-includesdir = $(libdir)/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
|
||||
+includesdir = $(includedir)/@PACKAGE_NAME@
|
||||
+
|
||||
nodist_includes_HEADERS = ffi.h ffitarget.h
|
||||
diff -Naur libffi-3.1/libffi.pc.in libffi-3.1.patch/libffi.pc.in
|
||||
--- libffi-3.1/libffi.pc.in 2014-04-25 19:45:13.000000000 +0200
|
||||
+++ libffi-3.1.patch/libffi.pc.in 2014-07-03 14:30:56.047220839 +0200
|
||||
@@ -2,7 +2,7 @@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
toolexeclibdir=@toolexeclibdir@
|
||||
-includedir=${libdir}/@PACKAGE_NAME@-@PACKAGE_VERSION@/include
|
||||
+includedir=@includedir@/@PACKAGE_NAME@
|
||||
|
||||
Name: @PACKAGE_NAME@
|
||||
Description: Library supporting Foreign Function Interfaces
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="mpc"
|
||||
PKG_VERSION="1.0.1"
|
||||
PKG_VERSION="1.0.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="Mesa"
|
||||
PKG_VERSION="10.2.1"
|
||||
PKG_VERSION="10.2.4"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="bcm2835-driver"
|
||||
PKG_VERSION="2990b78"
|
||||
PKG_VERSION="09c0f5f"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="nonfree"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="gpu-viv-bin-mx6q"
|
||||
PKG_VERSION="3.10.17-1.0.0"
|
||||
PKG_VERSION="3.10.17-1.0.0-1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="arm"
|
||||
PKG_LICENSE="nonfree"
|
||||
|
||||
@@ -16,25 +16,24 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="glamor-egl"
|
||||
PKG_VERSION="0.6.0"
|
||||
# libepoxy (actually) needs to be built shared, to avoid
|
||||
# (EE) Failed to load /usr/lib/xorg/modules/libglamoregl.so:
|
||||
# /usr/lib/xorg/modules/libglamoregl.so: undefined symbol: epoxy_eglCreateImageKHR
|
||||
# in Xorg.log
|
||||
|
||||
PKG_NAME="libepoxy"
|
||||
PKG_VERSION="b2ae054"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://cgit.freedesktop.org/xorg/driver/glamor/"
|
||||
PKG_URL="http://cgit.freedesktop.org/xorg/driver/glamor/snapshot/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain Mesa xorg-server libdrm"
|
||||
PKG_SITE="https://github.com/anholt/libepoxy"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain Mesa"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="graphics"
|
||||
PKG_SHORTDESC="glamor-egl: OpenGL based 2D rendering acceleration library"
|
||||
PKG_LONGDESC="glamor-egl is a OpenGL based 2D rendering acceleration library"
|
||||
PKG_SHORTDESC="libepoxy: a library for handling OpenGL function pointer management for you."
|
||||
PKG_LONGDESC="Epoxy is a library for handling OpenGL function pointer management for you."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-glamor-gles2 --enable-xv --disable-glamor-dri3 --enable-glx-tls"
|
||||
|
||||
pre_configure_target() {
|
||||
# glamor-egl fails to build with GOLD if we build with --enable-glx-tls
|
||||
strip_gold
|
||||
}
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libpng"
|
||||
PKG_VERSION="1.6.10"
|
||||
PKG_VERSION="1.6.12"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="gcc"
|
||||
PKG_VERSION="4.9.0"
|
||||
PKG_VERSION="4.9.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
@@ -25,7 +25,7 @@ PKG_SITE="http://gcc.gnu.org/"
|
||||
PKG_URL="ftp://ftp.gnu.org/gnu/gcc/$PKG_NAME-$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_BOOTSTRAP="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host cloog:host ppl:host"
|
||||
PKG_DEPENDS_TARGET="gcc:host"
|
||||
PKG_DEPENDS_HOST="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host cloog:host ppl:host eglibc"
|
||||
PKG_DEPENDS_HOST="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host cloog:host ppl:host glibc"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="lang"
|
||||
PKG_SHORTDESC="gcc: The GNU Compiler Collection Version 4 (aka GNU C Compiler)"
|
||||
@@ -52,6 +52,8 @@ BOOTSTRAP_CONFIGURE_OPTS="--host=$HOST_NAME \
|
||||
--disable-libada \
|
||||
--disable-libmudflap \
|
||||
--disable-libatomic \
|
||||
--disable-libitm \
|
||||
--disable-libsanitizer \
|
||||
--enable-gold \
|
||||
--enable-ld=default \
|
||||
--enable-plugin \
|
||||
@@ -68,7 +70,8 @@ BOOTSTRAP_CONFIGURE_OPTS="--host=$HOST_NAME \
|
||||
--disable-decimal-float \
|
||||
$GCC_OPTS \
|
||||
--disable-nls \
|
||||
--disable-cloog-version-check"
|
||||
--disable-cloog-version-check \
|
||||
--enable-checking=release"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--target=$TARGET_NAME \
|
||||
--with-sysroot=$SYSROOT_PREFIX \
|
||||
@@ -96,14 +99,17 @@ PKG_CONFIGURE_OPTS_HOST="--target=$TARGET_NAME \
|
||||
--enable-cloog-backend=isl \
|
||||
--enable-tls \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--enable-c99 \
|
||||
--enable-long-long \
|
||||
--enable-threads=posix \
|
||||
--disable-libstdcxx-pch \
|
||||
--enable-libstdcxx-time \
|
||||
--enable-clocale=gnu \
|
||||
$GCC_OPTS \
|
||||
--disable-nls \
|
||||
--disable-cloog-version-check"
|
||||
--disable-cloog-version-check \
|
||||
--enable-checking=release"
|
||||
|
||||
pre_configure_bootstrap() {
|
||||
setup_toolchain host
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="llvm"
|
||||
PKG_VERSION="3.4.1"
|
||||
PKG_VERSION="3.4.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# OpenELEC 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 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="nasm"
|
||||
PKG_VERSION="2.11.02"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://nasm.sourceforge.net/"
|
||||
PKG_URL="http://www.nasm.us/pub/nasm/releasebuilds/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_HOST=""
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="lang"
|
||||
PKG_SHORTDESC="nasm: A 80x86 assembler which can create a wide rande of object formats"
|
||||
PKG_LONGDESC="The Netwide Assembler, NASM, is an 80x86 assembler designed for portability and modularity. It supports a range of object file formats, including Linux, Microsoft 16-bit OBJ and Win32. It will also output plain binary files. Its syntax is designed to be sim- ple and easy to understand, similar to Intel's but less complex. It supports Pentium, P6 and MMX opcodes, and has macro capability. It includes a disassembler as well."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
pre_configure_host() {
|
||||
# nasm fails to build in subdirs
|
||||
cd $ROOT/$PKG_BUILD
|
||||
rm -rf .$HOST_NAME
|
||||
}
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="tbs-linux-drivers"
|
||||
PKG_VERSION="140113"
|
||||
PKG_VERSION="140707"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="i386 x86_64"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="dvb-firmware"
|
||||
PKG_VERSION="0.0.41"
|
||||
PKG_VERSION="0.0.42"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Free-to-use"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="firmware-imx"
|
||||
PKG_VERSION="3.5.7-1.0.0"
|
||||
PKG_VERSION="3.10.17-1.0.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="arm"
|
||||
PKG_LICENSE="other"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="misc-firmware"
|
||||
PKG_VERSION="0.0.9"
|
||||
PKG_VERSION="0.0.11"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Free-to-use"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="wlan-firmware"
|
||||
PKG_VERSION="0.0.21"
|
||||
PKG_VERSION="0.0.23"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Free-to-use"
|
||||
|
||||
BIN
packages/linux/firmware/radeon/BONAIRE_mc2.bin
Normal file
BIN
packages/linux/firmware/radeon/BONAIRE_mc2.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/HAINAN_mc2.bin
Normal file
BIN
packages/linux/firmware/radeon/HAINAN_mc2.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/HAWAII_ce.bin
Normal file
BIN
packages/linux/firmware/radeon/HAWAII_ce.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/HAWAII_mc.bin
Normal file
BIN
packages/linux/firmware/radeon/HAWAII_mc.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/HAWAII_mc2.bin
Normal file
BIN
packages/linux/firmware/radeon/HAWAII_mc2.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/HAWAII_me.bin
Normal file
BIN
packages/linux/firmware/radeon/HAWAII_me.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/HAWAII_mec.bin
Normal file
BIN
packages/linux/firmware/radeon/HAWAII_mec.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/HAWAII_pfp.bin
Normal file
BIN
packages/linux/firmware/radeon/HAWAII_pfp.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/HAWAII_rlc.bin
Normal file
BIN
packages/linux/firmware/radeon/HAWAII_rlc.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/HAWAII_sdma.bin
Normal file
BIN
packages/linux/firmware/radeon/HAWAII_sdma.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/HAWAII_smc.bin
Normal file
BIN
packages/linux/firmware/radeon/HAWAII_smc.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/MULLINS_ce.bin
Normal file
BIN
packages/linux/firmware/radeon/MULLINS_ce.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/MULLINS_me.bin
Normal file
BIN
packages/linux/firmware/radeon/MULLINS_me.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/MULLINS_mec.bin
Normal file
BIN
packages/linux/firmware/radeon/MULLINS_mec.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/MULLINS_pfp.bin
Normal file
BIN
packages/linux/firmware/radeon/MULLINS_pfp.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/MULLINS_rlc.bin
Normal file
BIN
packages/linux/firmware/radeon/MULLINS_rlc.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/MULLINS_sdma.bin
Normal file
BIN
packages/linux/firmware/radeon/MULLINS_sdma.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/OLAND_mc2.bin
Normal file
BIN
packages/linux/firmware/radeon/OLAND_mc2.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/PITCAIRN_mc2.bin
Normal file
BIN
packages/linux/firmware/radeon/PITCAIRN_mc2.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/TAHITI_mc2.bin
Normal file
BIN
packages/linux/firmware/radeon/TAHITI_mc2.bin
Normal file
Binary file not shown.
BIN
packages/linux/firmware/radeon/VERDE_mc2.bin
Normal file
BIN
packages/linux/firmware/radeon/VERDE_mc2.bin
Normal file
Binary file not shown.
@@ -17,16 +17,8 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="linux"
|
||||
case "$LINUX" in
|
||||
imx6)
|
||||
PKG_VERSION="cuboxi-592b2d9"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
;;
|
||||
*)
|
||||
PKG_VERSION="3.15"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v3.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
;;
|
||||
esac
|
||||
PKG_VERSION="3.15.6"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v3.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user