mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
Compare commits
529 Commits
libreelec-
...
4.2.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7fc61da0c6 | ||
|
|
cec76a1de9 | ||
|
|
086a246634 | ||
|
|
d8f20f629a | ||
|
|
7b06eca02a | ||
|
|
92c7baf01e | ||
|
|
3620416b08 | ||
|
|
3c889c18cb | ||
|
|
349adaf274 | ||
|
|
73131ff13c | ||
|
|
7c41a0f5bd | ||
|
|
a03c96ef7e | ||
|
|
3c24d45245 | ||
|
|
9c1d40b953 | ||
|
|
dc6da22ccf | ||
|
|
fe224ebecb | ||
|
|
97aabe2946 | ||
|
|
5e53e7a814 | ||
|
|
261b6fb5b8 | ||
|
|
283b30b739 | ||
|
|
81e8f46ebb | ||
|
|
8131672942 | ||
|
|
f622b1ae31 | ||
|
|
9f31a070cf | ||
|
|
847075a6f6 | ||
|
|
e6751e4b2e | ||
|
|
19043dfe1d | ||
|
|
4b6b3a87c7 | ||
|
|
0629ec8a34 | ||
|
|
afe339da55 | ||
|
|
60b7dcc1e2 | ||
|
|
b8e1cc04fd | ||
|
|
11090ef6e0 | ||
|
|
0ff589c7f8 | ||
|
|
874a288f77 | ||
|
|
b786dfffac | ||
|
|
5361850a41 | ||
|
|
bd48770b77 | ||
|
|
acb9c450be | ||
|
|
aa15004542 | ||
|
|
41646600b4 | ||
|
|
9ccf3853e9 | ||
|
|
558a658560 | ||
|
|
ecbbbe2ee1 | ||
|
|
8634a1d6f0 | ||
|
|
9ef8e945bd | ||
|
|
6bc704e935 | ||
|
|
5983c2ea8b | ||
|
|
ed948cf1fc | ||
|
|
461514672c | ||
|
|
7eaa42f8bc | ||
|
|
8b86155c8d | ||
|
|
290db0737f | ||
|
|
2b2b80cb76 | ||
|
|
315a90d622 | ||
|
|
f43516b580 | ||
|
|
d8b867e05b | ||
|
|
2ef9392c38 | ||
|
|
d1f2fd581c | ||
|
|
d3373eeef4 | ||
|
|
89f547c0af | ||
|
|
474a1ebda2 | ||
|
|
8d7b21c0d0 | ||
|
|
935c56cbf8 | ||
|
|
0ed986622c | ||
|
|
5c8a64051a | ||
|
|
66be72b96d | ||
|
|
39f893ee97 | ||
|
|
2f168c4bfb | ||
|
|
0abb6a50ff | ||
|
|
632fb79b57 | ||
|
|
3e87bcfab2 | ||
|
|
c85ae9a58c | ||
|
|
055c09c0a2 | ||
|
|
52585c724e | ||
|
|
8edcd56280 | ||
|
|
a6664c562b | ||
|
|
0874d0ce30 | ||
|
|
a50bcbc054 | ||
|
|
2453a902b2 | ||
|
|
08d0984065 | ||
|
|
f73b7da822 | ||
|
|
75d9f4fecb | ||
|
|
47952b2248 | ||
|
|
d5ca5b281a | ||
|
|
ae70561d16 | ||
|
|
72b3a4ba14 | ||
|
|
2f331f7007 | ||
|
|
8774d31649 | ||
|
|
51964f3f7d | ||
|
|
77800442ae | ||
|
|
d7428c1654 | ||
|
|
873d58a644 | ||
|
|
c8d8ca3ef7 | ||
|
|
35d0299d4b | ||
|
|
efc28495e5 | ||
|
|
4dbf733967 | ||
|
|
3c0c2edeb7 | ||
|
|
d7bf94ebef | ||
|
|
b06fbc19d5 | ||
|
|
ef47e642cb | ||
|
|
018b3e93ca | ||
|
|
ce934ebd42 | ||
|
|
d96c250e23 | ||
|
|
61fbaa4b60 | ||
|
|
6bc36fc075 | ||
|
|
a28b4c1d71 | ||
|
|
1f5f54d750 | ||
|
|
1ef0e7b8da | ||
|
|
1a12c1e4e8 | ||
|
|
e07e31baca | ||
|
|
e51666ac27 | ||
|
|
7a5fed576f | ||
|
|
2f82f02b3a | ||
|
|
e2198fd0f0 | ||
|
|
d07d0b0470 | ||
|
|
bcc095374b | ||
|
|
f59660b8d6 | ||
|
|
bec127d84a | ||
|
|
6a8b3c2725 | ||
|
|
7e52f13929 | ||
|
|
eae972e373 | ||
|
|
78fed44667 | ||
|
|
8afb4531c7 | ||
|
|
28251afd53 | ||
|
|
4e21690282 | ||
|
|
5d07c724f4 | ||
|
|
a253ddfbad | ||
|
|
435c14c841 | ||
|
|
96887a1f92 | ||
|
|
c8e0a26065 | ||
|
|
381d929e8a | ||
|
|
460cbaa454 | ||
|
|
47fa854310 | ||
|
|
fedac33b68 | ||
|
|
6ae08989ee | ||
|
|
db03633da0 | ||
|
|
9ffafc990e | ||
|
|
d78a1c1563 | ||
|
|
4ab9325fea | ||
|
|
d9041e487b | ||
|
|
f66b805bb8 | ||
|
|
477fe6fdaa | ||
|
|
867c0cfa83 | ||
|
|
51036bec18 | ||
|
|
ad9ab6ad07 | ||
|
|
7e1cc7a536 | ||
|
|
e3b44b81ed | ||
|
|
084649c4b6 | ||
|
|
632f7b7f36 | ||
|
|
eddf0d0af1 | ||
|
|
36e645900c | ||
|
|
2cace5e116 | ||
|
|
fc5e29f7d8 | ||
|
|
0860d11d1a | ||
|
|
52bf2cf356 | ||
|
|
6094de8ff5 | ||
|
|
6e4715b638 | ||
|
|
04f64ed612 | ||
|
|
436e66b01a | ||
|
|
2abca08f32 | ||
|
|
f79017b689 | ||
|
|
f815e2e868 | ||
|
|
2f7dc98978 | ||
|
|
19da4f398e | ||
|
|
4701277f4a | ||
|
|
c9fb67d03d | ||
|
|
ba52eda09e | ||
|
|
f4c53d689f | ||
|
|
b2084ce45f | ||
|
|
9fda0a0a35 | ||
|
|
10972f677e | ||
|
|
e1389854a2 | ||
|
|
7418fac988 | ||
|
|
072e6f2a73 | ||
|
|
9822f05a77 | ||
|
|
7c1fa5ed52 | ||
|
|
70bc522417 | ||
|
|
36b80b7980 | ||
|
|
c411b9037a | ||
|
|
8900551ff5 | ||
|
|
424927d589 | ||
|
|
ffae79be09 | ||
|
|
d0cae7e5d5 | ||
|
|
0846aee61a | ||
|
|
37b42002bf | ||
|
|
2b1fb8cbd3 | ||
|
|
02090cce96 | ||
|
|
80534baadb | ||
|
|
61ab326307 | ||
|
|
1eb8f2cf95 | ||
|
|
2b47e6f6f4 | ||
|
|
82ed88387a | ||
|
|
cb881f4b92 | ||
|
|
059c0a6021 | ||
|
|
c8e9c6c330 | ||
|
|
18676cf902 | ||
|
|
ebed09df46 | ||
|
|
2b6f5c16ab | ||
|
|
d9ab49763a | ||
|
|
b7aeecd43e | ||
|
|
22cc065725 | ||
|
|
bcbc195075 | ||
|
|
be07f514eb | ||
|
|
acf2bf5ed9 | ||
|
|
b490ad831e | ||
|
|
1c4ad34e71 | ||
|
|
6c4c94d9ec | ||
|
|
8bb9941324 | ||
|
|
e8e995001f | ||
|
|
09ab382736 | ||
|
|
c6d7d1a709 | ||
|
|
5ebb6b5051 | ||
|
|
fae08e507c | ||
|
|
f22e996473 | ||
|
|
b0e4295b66 | ||
|
|
0cc3b93f9f | ||
|
|
257b80f900 | ||
|
|
7859e1e442 | ||
|
|
56e865701d | ||
|
|
24358ec77a | ||
|
|
d07b45dcc9 | ||
|
|
26f0a272a2 | ||
|
|
5c979c054b | ||
|
|
70c6ae0a81 | ||
|
|
c630dee055 | ||
|
|
14b503510c | ||
|
|
1fae4d7b51 | ||
|
|
3dbae8d927 | ||
|
|
20464bf159 | ||
|
|
59d47a9aff | ||
|
|
e0fa9620d9 | ||
|
|
21f2a282af | ||
|
|
5e83764cb0 | ||
|
|
08c6eb1e7a | ||
|
|
b1608a7bca | ||
|
|
b3a62d6f08 | ||
|
|
f88408e2ec | ||
|
|
c9e509911e | ||
|
|
4b87f05daa | ||
|
|
41be1f5ace | ||
|
|
dadfd3d296 | ||
|
|
3e389e4b21 | ||
|
|
c425e5c17d | ||
|
|
900a0e9509 | ||
|
|
f110e37ada | ||
|
|
265d998539 | ||
|
|
88db57e0f2 | ||
|
|
6a481328aa | ||
|
|
4fb7762715 | ||
|
|
a6a8aebce9 | ||
|
|
fcd0721257 | ||
|
|
a12b76e40a | ||
|
|
343ae654b1 | ||
|
|
ffd8c9b56a | ||
|
|
a1bd5af57d | ||
|
|
9b8cda6f0c | ||
|
|
0ede07b812 | ||
|
|
a8b7ae491d | ||
|
|
7198249f1d | ||
|
|
a004a740f4 | ||
|
|
26e5fe9339 | ||
|
|
2991b3cd86 | ||
|
|
64b7a36cdc | ||
|
|
85791af766 | ||
|
|
729e79ac78 | ||
|
|
ef969211e6 | ||
|
|
f9a008b29f | ||
|
|
0c8c31b48c | ||
|
|
82a305470b | ||
|
|
b631815735 | ||
|
|
1b9e5b2d45 | ||
|
|
10eeb2cebd | ||
|
|
6faec31270 | ||
|
|
536287d011 | ||
|
|
29336f1893 | ||
|
|
f1fa4b31c6 | ||
|
|
f886f2e3a7 | ||
|
|
542a932a8e | ||
|
|
30bafa656e | ||
|
|
7aaa79a8ab | ||
|
|
7134df9c2b | ||
|
|
5a23ebfa58 | ||
|
|
9033b6e9d2 | ||
|
|
1d3ef4aff5 | ||
|
|
291c4c082f | ||
|
|
b3bb99465f | ||
|
|
3afdf0f561 | ||
|
|
2c4b27b9d3 | ||
|
|
134864b4c2 | ||
|
|
a8d1c98eab | ||
|
|
153d06b608 | ||
|
|
6f42387c8b | ||
|
|
23c49d0fa5 | ||
|
|
c5da421108 | ||
|
|
715159e8b0 | ||
|
|
d6877ff769 | ||
|
|
1b1ba3b578 | ||
|
|
cd92221946 | ||
|
|
7d0f829981 | ||
|
|
56a62b5d99 | ||
|
|
1e4a87c3f7 | ||
|
|
638b1f33ff | ||
|
|
2e4af33c82 | ||
|
|
1a2597d61b | ||
|
|
eddc562128 | ||
|
|
aecd2f01a1 | ||
|
|
8fc5224369 | ||
|
|
b569a7860b | ||
|
|
4fc7177177 | ||
|
|
20aa906981 | ||
|
|
17c99f9d1f | ||
|
|
cec3575c16 | ||
|
|
46cb1bc679 | ||
|
|
4505c4ab76 | ||
|
|
8d79501c36 | ||
|
|
f1ea0f7cdd | ||
|
|
4837fdea89 | ||
|
|
2df4d9aba4 | ||
|
|
e0ad17c157 | ||
|
|
5599d7a1d5 | ||
|
|
a54c15d432 | ||
|
|
8ee1bbc265 | ||
|
|
8dffe1b366 | ||
|
|
d3ce3a89fb | ||
|
|
6de82b7b0a | ||
|
|
2bc32bd91c | ||
|
|
17b9923cf9 | ||
|
|
723b28885e | ||
|
|
651309bcd9 | ||
|
|
1a5b89ed87 | ||
|
|
bfe502cfd6 | ||
|
|
f253c5baa1 | ||
|
|
20d2e9d958 | ||
|
|
8974d53576 | ||
|
|
e482f57740 | ||
|
|
557be90a07 | ||
|
|
42f5c03d8d | ||
|
|
d5724afea8 | ||
|
|
cccab2efc9 | ||
|
|
4d4a1f338f | ||
|
|
11fbf56600 | ||
|
|
36bfe6eb83 | ||
|
|
df553e3810 | ||
|
|
8da5c6d32e | ||
|
|
2c403565cf | ||
|
|
27acd6d4e3 | ||
|
|
3f3746c583 | ||
|
|
e788117514 | ||
|
|
cbb90d6d80 | ||
|
|
0fa5f714d2 | ||
|
|
c7880eaf3c | ||
|
|
fea0249684 | ||
|
|
3ab6ba035d | ||
|
|
b4695e4f3d | ||
|
|
13cf980fb5 | ||
|
|
a76130fc62 | ||
|
|
cc5dccd464 | ||
|
|
24467f77bd | ||
|
|
4a4390cb63 | ||
|
|
c559c12516 | ||
|
|
fd7108f10c | ||
|
|
b9968cc1f6 | ||
|
|
50b73b9d09 | ||
|
|
ace109be29 | ||
|
|
2839726b0e | ||
|
|
d8ea9ed709 | ||
|
|
a0b64d2396 | ||
|
|
d27dd8af3f | ||
|
|
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).
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
library="default.py">
|
||||
<provides>executable</provides>
|
||||
</extension>
|
||||
@EXTENSIONS@
|
||||
<extension point="xbmc.addon.metadata">
|
||||
<summary>@PKG_SHORTDESC@</summary>
|
||||
<description>
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
setup_toolchain() {
|
||||
if [ "$1" = "--optimize" ]; then
|
||||
OPTIMIZE=yes
|
||||
shift
|
||||
fi
|
||||
|
||||
if [ "$1" = target ]; then
|
||||
export DESTIMAGE="target"
|
||||
|
||||
unset CPP
|
||||
|
||||
export CC=$TARGET_CC
|
||||
export CXX=$TARGET_CXX
|
||||
export LD=$TARGET_LD
|
||||
@@ -31,6 +28,8 @@ setup_toolchain() {
|
||||
elif [ "$1" = host ]; then
|
||||
export DESTIMAGE="host"
|
||||
|
||||
unset CPP
|
||||
|
||||
export AWK=$HOST_AWK
|
||||
export CC=$HOST_CC
|
||||
export CXX=$HOST_CXX
|
||||
@@ -56,12 +55,22 @@ setup_toolchain() {
|
||||
}
|
||||
|
||||
kernel_path() {
|
||||
. $ROOT/packages/linux/package.mk
|
||||
if [ -e $ROOT/projects/$PROJECT/packages/linux/package.mk ]; then
|
||||
. $ROOT/projects/$PROJECT/packages/linux/package.mk
|
||||
else
|
||||
. $ROOT/packages/linux/package.mk
|
||||
fi
|
||||
|
||||
echo $ROOT/$BUILD/${PKG_NAME}-${PKG_VERSION}
|
||||
}
|
||||
|
||||
kernel_version() {
|
||||
. $ROOT/packages/linux/package.mk
|
||||
if [ -e $ROOT/projects/$PROJECT/packages/linux/package.mk ]; then
|
||||
. $ROOT/projects/$PROJECT/packages/linux/package.mk
|
||||
else
|
||||
. $ROOT/packages/linux/package.mk
|
||||
fi
|
||||
|
||||
echo ${PKG_VERSION}
|
||||
}
|
||||
|
||||
@@ -73,10 +82,16 @@ get_module_dir() {
|
||||
# get package's build dir
|
||||
get_build_dir() {
|
||||
if [ ! -z $1 ] ; then
|
||||
local _PKG_DIR=$(find $ROOT/packages -name $1)
|
||||
if [ -d $_PKG_DIR -a -f $_PKG_DIR/package.mk ] ; then
|
||||
local _PKG_DIR=$(find $ROOT/projects/$PROJECT/packages -name $1 2>/dev/null)
|
||||
if [ -d "$_PKG_DIR" -a -f $_PKG_DIR/package.mk ] ; then
|
||||
. $_PKG_DIR/package.mk
|
||||
else
|
||||
local _PKG_DIR=$(find $ROOT/packages -name $1 2>/dev/null)
|
||||
if [ -d "$_PKG_DIR" -a -f $_PKG_DIR/package.mk ] ; then
|
||||
. $_PKG_DIR/package.mk
|
||||
fi
|
||||
fi
|
||||
|
||||
echo $ROOT/$BUILD/${PKG_NAME}-${PKG_VERSION}
|
||||
fi
|
||||
}
|
||||
@@ -170,14 +185,13 @@ do_autoreconf() {
|
||||
|
||||
strip_lto() {
|
||||
# strip out LTO optimization from *FLAGS
|
||||
CFLAGS=`echo $CFLAGS | sed -e "s|-flto||g"`
|
||||
CXXFLAGS=`echo $CXXFLAGS | sed -e "s|-flto||g"`
|
||||
LDFLAGS=`echo $LDFLAGS | sed -e "s|-flto||g"`
|
||||
}
|
||||
|
||||
strip_linker_plugin() {
|
||||
# strip out usage from linker plugin
|
||||
LDFLAGS=`echo $LDFLAGS | sed -e "s|-fuse-linker-plugin||g"`
|
||||
if [ -n "$GCC_OPTIM_LTO" ] ; then
|
||||
CFLAGS=`echo $CFLAGS | sed -e "s|$GCC_OPTIM_LTO||g"`
|
||||
CXXFLAGS=`echo $CXXFLAGS | sed -e "s|$GCC_OPTIM_LTO||g"`
|
||||
fi
|
||||
if [ -n "$LD_OPTIM_LTO" ] ; then
|
||||
LDFLAGS=`echo $LDFLAGS | sed -e "s|$LD_OPTIM_LTO||g"`
|
||||
fi
|
||||
}
|
||||
|
||||
strip_gold() {
|
||||
|
||||
@@ -40,14 +40,12 @@ get_graphicdrivers() {
|
||||
DRI_DRIVERS="$DRI_DRIVERS,i915"
|
||||
XORG_DRIVERS="$XORG_DRIVERS intel"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
LIBVA="$LIBVA libva-intel-driver"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "i965" ]; then
|
||||
DRI_DRIVERS="$DRI_DRIVERS,i965"
|
||||
XORG_DRIVERS="$XORG_DRIVERS intel"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
LIBVA="$LIBVA libva-intel-driver"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "nouveau" ]; then
|
||||
|
||||
@@ -30,7 +30,7 @@ fi
|
||||
TARGET_CPPFLAGS=
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $GCC_OPTIM $GCC_OPTIM_LTO $PROJECT_CFLAGS"
|
||||
TARGET_CXXFLAGS="$TARGET_CFLAGS"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM $LD_OPTIM_GOLD $LD_OPTIM_LTO $GCC_OPTIM"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM $LD_OPTIM_GOLD $LD_OPTIM_LTO"
|
||||
TARGET_LIBDIR="$SYSROOT_PREFIX/lib $SYSROOT_PREFIX/usr/lib"
|
||||
TARGET_INCDIR="$SYSROOT_PREFIX/include $SYSROOT_PREFIX/usr/include"
|
||||
|
||||
|
||||
@@ -29,12 +29,6 @@ LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $ROOT/package
|
||||
. $PROJECT_DIR/$PROJECT/options
|
||||
fi
|
||||
|
||||
# Target system library C (eglibc)
|
||||
TARGET_LIBC="eglibc"
|
||||
|
||||
# Library strip
|
||||
LIBSTRIP="yes"
|
||||
|
||||
# Need to point to your actual cc
|
||||
# If you have ccache installed, take care that LOCAL_CC don't point to it
|
||||
LOCAL_CC=`which gcc`
|
||||
|
||||
35
config/path
35
config/path
@@ -64,8 +64,12 @@ SED="sed -i"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
_PKG_ROOT_NAME=$(echo $1 | cut -d: -f1)
|
||||
|
||||
# first check project folder for a package
|
||||
FOUND=0
|
||||
for DIR in $ROOT/`find $PACKAGES -type d -name $(echo $1| awk -F : '{print $1}') ! -wholename \*\/source\/\* 2>/dev/null` ; do
|
||||
ALL_DIRS=""
|
||||
for DIR in `find $ROOT/projects/$PROJECT/packages -type d -name $_PKG_ROOT_NAME ! -wholename \*\/source\/\* 2>/dev/null` ; do
|
||||
# keep track of dirs with meta for debugging
|
||||
if [ -z "$ALL_DIRS" ] ; then
|
||||
ALL_DIRS="$DIR"
|
||||
@@ -84,6 +88,31 @@ SED="sed -i"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# then check packages folder if not found already
|
||||
if [ $FOUND -eq 0 ] ; then
|
||||
FOUND=0
|
||||
ALL_DIRS=""
|
||||
for DIR in `find $ROOT/$PACKAGES -type d -name $_PKG_ROOT_NAME ! -wholename \*\/source\/\* 2>/dev/null` ; do
|
||||
# keep track of dirs with meta for debugging
|
||||
if [ -z "$ALL_DIRS" ] ; then
|
||||
ALL_DIRS="$DIR"
|
||||
else
|
||||
ALL_DIRS="$ALL_DIRS\\n$DIR"
|
||||
fi
|
||||
if [ -f "$DIR/package.mk" ] ; then
|
||||
FOUND=$((FOUND+1))
|
||||
# found first. set $PKG_DIR
|
||||
PKG_DIR="$DIR"
|
||||
if [ $FOUND -gt 1 ] ; then
|
||||
# found more ? fail
|
||||
echo "Error - multiple package folders:"
|
||||
echo -e "$ALL_DIRS"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -r $PKG_DIR/package.mk ]; then
|
||||
@@ -108,6 +137,8 @@ SSL_CERTIFICATES="/etc/pki/tls"
|
||||
TOOLCHAIN_LANGUAGES=c
|
||||
[ "$TOOLCHAIN_CXX" = yes ] && TOOLCHAIN_LANGUAGES=${TOOLCHAIN_LANGUAGES},c++
|
||||
|
||||
unset TARGET_CPP
|
||||
|
||||
TARGET_CC=${TARGET_PREFIX}gcc
|
||||
TARGET_CXX=${TARGET_PREFIX}g++
|
||||
TARGET_LD=${TARGET_PREFIX}ld
|
||||
@@ -125,6 +156,8 @@ TARGET_PKG_CONFIG_PATH=""
|
||||
TARGET_PKG_CONFIG_LIBDIR="$SYSROOT_PREFIX/usr/lib/pkgconfig:$SYSROOT_PREFIX/usr/share/pkgconfig"
|
||||
TARGET_PKG_CONFIG_SYSROOT_DIR="$SYSROOT_PREFIX"
|
||||
|
||||
unset HOST_CPP
|
||||
|
||||
HOST_AWK=gawk
|
||||
HOST_CC=$ROOT/$TOOLCHAIN/bin/host-gcc
|
||||
HOST_CXX=$ROOT/$TOOLCHAIN/bin/host-g++
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# VERSION: set full version, use "devel" for development version
|
||||
OPENELEC_VERSION="devel"
|
||||
OPENELEC_VERSION="4.2.1"
|
||||
|
||||
# OS_VERSION: OS Version
|
||||
OS_VERSION="4.0"
|
||||
OS_VERSION="4.2"
|
||||
|
||||
# ADDON_VERSION: Addon version
|
||||
ADDON_VERSION="4.1"
|
||||
|
||||
@@ -41,7 +41,7 @@ PKG_MAINTAINER="unofficial.addon.pro"
|
||||
make_target() {
|
||||
$SED -e "s|@ADDON_VERSION@|$ADDON_VERSION|g" \
|
||||
-e "s|@PROJECT@|$PROJECT|g" \
|
||||
-e "s|@ARCH@|$ARCH|g" \
|
||||
-e "s|@ARCH@|$TARGET_ARCH|g" \
|
||||
-i addon.xml
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -126,8 +126,10 @@ else
|
||||
|
||||
# and this for various Fusion devices like Zotac ZBOX
|
||||
mixer $card 'Front',0 100% on
|
||||
|
||||
# NVidia CK804 sound devices
|
||||
mixer $card 'IEC958 Playback AC97-SPSA' 100%
|
||||
fi
|
||||
|
||||
exit 0
|
||||
)&
|
||||
|
||||
@@ -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 \
|
||||
|
||||
@@ -44,11 +44,11 @@ PKG_CONFIGURE_OPTS_TARGET="--enable-cxx \
|
||||
--disable-vcd-info \
|
||||
--without-cd-drive \
|
||||
--without-cd-info \
|
||||
--with-cd-paranoia \
|
||||
--without-cdda-player \
|
||||
--without-cd-read \
|
||||
--without-iso-info \
|
||||
--without-iso-read \
|
||||
--without-libiconv-prefix \
|
||||
--with-gnu-ld"
|
||||
|
||||
pre_configure_target() {
|
||||
|
||||
@@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="taglib"
|
||||
PKG_VERSION="1.9.1"
|
||||
PKG_VERSION="1.8"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
PKG_SITE="http://taglib.github.com/"
|
||||
PKG_URL="https://github.com/taglib/taglib/releases/download/v$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_URL="http://taglib.github.io/releases/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain cmake:host zlib"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
@@ -34,10 +34,15 @@ PKG_AUTORECONF="no"
|
||||
|
||||
# package specific configure options
|
||||
configure_target() {
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF -DCMAKE_INSTALL_PREFIX=/usr ..
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_STATIC=1 ..
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
# pkgconf hack
|
||||
$SED "s:\(['=\" ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" $SYSROOT_PREFIX/usr/bin/taglib-config
|
||||
$SED "s:\([':\" ]\)-I/usr:\\1-I$SYSROOT_PREFIX/usr:g" $SYSROOT_PREFIX/usr/lib/pkgconfig/taglib.pc
|
||||
$SED "s:\([':\" ]\)-L/usr:\\1-L$SYSROOT_PREFIX/usr:g" $SYSROOT_PREFIX/usr/lib/pkgconfig/taglib.pc
|
||||
$SED "s:\([':\" ]\)-I/usr:\\1-I$SYSROOT_PREFIX/usr:g" $SYSROOT_PREFIX/usr/lib/pkgconfig/taglib_c.pc
|
||||
$SED "s:\([':\" ]\)-L/usr:\\1-L$SYSROOT_PREFIX/usr:g" $SYSROOT_PREFIX/usr/lib/pkgconfig/taglib_c.pc
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="lzo"
|
||||
PKG_VERSION="2.06"
|
||||
PKG_VERSION="2.08"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
@@ -33,4 +33,5 @@ PKG_LONGDESC="LZO is a data compression library which is suitable for data de-/c
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--disable-shared --enable-static"
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-shared --enable-static"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xz"
|
||||
PKG_VERSION="5.0.5"
|
||||
PKG_VERSION="5.0.7"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="sqlite"
|
||||
PKG_VERSION="autoconf-3080500"
|
||||
PKG_VERSION="autoconf-3080600"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="PublicDomain"
|
||||
|
||||
@@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="gdb"
|
||||
PKG_VERSION="7.7"
|
||||
PKG_VERSION="7.8"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.gnu.org/software/gdb/"
|
||||
PKG_URL="http://ftp.gnu.org/gnu/gdb/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_URL="http://ftp.gnu.org/gnu/gdb/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain zlib ncurses expat"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="debug"
|
||||
|
||||
@@ -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");
|
||||
+ }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
From fc19cd1da6161ec5602e692488dfc8e670797afe Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Fri, 15 Aug 2014 22:10:03 +0300
|
||||
Subject: [PATCH] meh help2man
|
||||
|
||||
---
|
||||
Makefile.in | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 5a336df..2d2029b 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -701,7 +701,7 @@ update_mans = \
|
||||
$(AM_V_GEN): \
|
||||
&& $(MKDIR_P) doc \
|
||||
&& $(extend_PATH) \
|
||||
- && $(PERL) $(srcdir)/doc/help2man --output=$@
|
||||
+ && $(PERL) $(srcdir)/doc/help2man --output=$@ --no-discard-stderr
|
||||
|
||||
amhello_sources = \
|
||||
doc/amhello/configure.ac \
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -16,19 +16,14 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
# binutils-2.24:
|
||||
# - fails to build with GOLD support on ARM
|
||||
# see https://sourceware.org/bugzilla/show_bug.cgi?id=15639
|
||||
# ld.gold: internal error in do_read_symbols, at build.OpenELEC-RPi.arm-devel/binutils-2.24/gold/arm.cc:6734
|
||||
|
||||
PKG_NAME="binutils"
|
||||
PKG_VERSION="2.23.2"
|
||||
PKG_VERSION="2.24"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.gnu.org/software/binutils/binutils.html"
|
||||
PKG_URL="http://ftp.gnu.org/gnu/binutils/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_HOST="ccache:host bison:host flex:host linux:host gmp:host mpfr:host cloog:host ppl:host"
|
||||
PKG_DEPENDS_HOST="ccache:host bison:host flex:host linux:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="toolchain/devel"
|
||||
PKG_SHORTDESC="binutils: A GNU collection of binary utilities"
|
||||
@@ -40,16 +35,12 @@ PKG_AUTORECONF="no"
|
||||
PKG_CONFIGURE_OPTS_HOST="--target=$TARGET_NAME \
|
||||
--with-sysroot=$SYSROOT_PREFIX \
|
||||
--with-lib-path=$SYSROOT_PREFIX/lib:$SYSROOT_PREFIX/usr/lib \
|
||||
--with-gmp=$ROOT/$TOOLCHAIN \
|
||||
--with-mpfr=$ROOT/$TOOLCHAIN \
|
||||
--with-ppl=$ROOT/$TOOLCHAIN \
|
||||
--with-cloog=$ROOT/$TOOLCHAIN \
|
||||
--without-ppl \
|
||||
--without-cloog \
|
||||
--disable-werror \
|
||||
--disable-multilib \
|
||||
--disable-libada \
|
||||
--disable-libssp \
|
||||
--disable-ppl-version-check \
|
||||
--enable-cloog-backend=isl \
|
||||
--enable-version-specific-runtime-libs \
|
||||
--enable-plugins \
|
||||
--enable-gold \
|
||||
@@ -57,10 +48,6 @@ PKG_CONFIGURE_OPTS_HOST="--target=$TARGET_NAME \
|
||||
--enable-lto \
|
||||
--disable-nls"
|
||||
|
||||
if [ "$TARGET_ARCH" = "x86_64" ]; then
|
||||
PKG_CONFIGURE_OPTS_HOST="$PKG_CONFIGURE_OPTS_HOST --enable-64-bit-bfd"
|
||||
fi
|
||||
|
||||
pre_configure_host() {
|
||||
unset CPPFLAGS
|
||||
unset CFLAGS
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
diff -Naur binutils-2.22/configure binutils-2.22.patch/configure
|
||||
--- binutils-2.22/configure 2011-08-14 14:28:15.000000000 +0200
|
||||
+++ binutils-2.22.patch/configure 2012-05-08 05:57:26.093455382 +0200
|
||||
@@ -5946,8 +5946,7 @@
|
||||
main ()
|
||||
{
|
||||
#if CLOOG_VERSION_MAJOR != 0 \
|
||||
- || CLOOG_VERSION_MINOR != 16 \
|
||||
- || CLOOG_VERSION_REVISION < 1
|
||||
+ || CLOOG_VERSION_MINOR != 18
|
||||
choke me
|
||||
#endif
|
||||
;
|
||||
diff -Naur binutils-2.22/configure.ac binutils-2.22.patch/configure.ac
|
||||
--- binutils-2.22/configure.ac 2011-11-21 12:58:27.000000000 +0100
|
||||
+++ binutils-2.22.patch/configure.ac 2012-05-08 05:54:27.974921129 +0200
|
||||
@@ -1589,7 +1589,7 @@
|
||||
dnl
|
||||
dnl If we use CLooG-Legacy, the provided version information is
|
||||
dnl ignored.
|
||||
- CLOOG_CHECK_VERSION(0,16,1)
|
||||
+ CLOOG_CHECK_VERSION(0,18,0)
|
||||
|
||||
dnl Only execute fail-action, if CLooG has been requested.
|
||||
CLOOG_IF_FAILED([
|
||||
@@ -1,21 +0,0 @@
|
||||
diff -Naur a/bfd/doc/bfd.texinfo b/bfd/doc/bfd.texinfo
|
||||
--- a/bfd/doc/bfd.texinfo 2010-10-28 07:40:25.000000000 -0400
|
||||
+++ b/bfd/doc/bfd.texinfo 2013-10-02 15:57:07.556185659 -0400
|
||||
@@ -322,7 +322,7 @@
|
||||
@printindex cp
|
||||
|
||||
@tex
|
||||
-% I think something like @colophon should be in texinfo. In the
|
||||
+% I think something like @@colophon should be in texinfo. In the
|
||||
% meantime:
|
||||
\long\def\colophon{\hbox to0pt{}\vfill
|
||||
\centerline{The body of this manual is set in}
|
||||
@@ -333,7 +333,7 @@
|
||||
\centerline{{\sl\fontname\tensl\/}}
|
||||
\centerline{are used for emphasis.}\vfill}
|
||||
\page\colophon
|
||||
-% Blame: doc@cygnus.com, 28mar91.
|
||||
+% Blame: doc@@cygnus.com, 28mar91.
|
||||
@end tex
|
||||
|
||||
@bye
|
||||
169
packages/devel/binutils/patches/binutils-2.24-ARM_LTO.patch
Normal file
169
packages/devel/binutils/patches/binutils-2.24-ARM_LTO.patch
Normal file
@@ -0,0 +1,169 @@
|
||||
From f35c4853cc5b0e51d8a460be390f7a20cd44ba44 Mon Sep 17 00:00:00 2001
|
||||
From: Cary Coutant <ccoutant@google.com>
|
||||
Date: Mon, 7 Jul 2014 10:14:45 -0700
|
||||
Subject: [PATCH] Fix internal error with LTO on ARM.
|
||||
|
||||
This prevents the target-specific do_read_symbols methods from being called
|
||||
twice when do_layout_deferred_sections needs to layout an .eh_frame section.
|
||||
|
||||
gold/
|
||||
PR gold/15639
|
||||
* dynobj.h (Sized_dynobj::base_read_symbols): New method.
|
||||
* dynobj.cc (Sized_dynobj::do_read_symbols): Move body to...
|
||||
(Sized_dynobj::base_read_symbols): ...new method.
|
||||
* object.h (Sized_relobj_file::base_read_symbols): New method.
|
||||
* object.cc (Sized_relobj_file::do_read_symbols): Move body to...
|
||||
(Sized_relobj_file::base_read_symbols): ...new method.
|
||||
* arm.cc (Arm_relobj::do_read_symbols): Call base_read_symbols.
|
||||
* mips.cc: (Mips_relobj::do_read_symbols): Likewise.
|
||||
* powerpc.cc (Powerpc_dynobj::do_read_symbols): Likewise.
|
||||
---
|
||||
gold/ChangeLog | 13 +++++++++++++
|
||||
gold/arm.cc | 4 ++--
|
||||
gold/dynobj.cc | 11 +++++++++++
|
||||
gold/dynobj.h | 6 ++++++
|
||||
gold/mips.cc | 2 +-
|
||||
gold/object.cc | 12 +++++++++++-
|
||||
gold/object.h | 5 +++++
|
||||
gold/powerpc.cc | 6 +++---
|
||||
8 files changed, 52 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/gold/arm.cc b/gold/arm.cc
|
||||
index 607f9d6..6c472bb 100644
|
||||
--- a/gold/arm.cc
|
||||
+++ b/gold/arm.cc
|
||||
@@ -6683,7 +6683,7 @@ void
|
||||
Arm_relobj<big_endian>::do_read_symbols(Read_symbols_data* sd)
|
||||
{
|
||||
// Call parent class to read symbol information.
|
||||
- Sized_relobj_file<32, big_endian>::do_read_symbols(sd);
|
||||
+ this->base_read_symbols(sd);
|
||||
|
||||
// If this input file is a binary file, it has no processor
|
||||
// specific flags and attributes section.
|
||||
@@ -6974,7 +6974,7 @@ void
|
||||
Arm_dynobj<big_endian>::do_read_symbols(Read_symbols_data* sd)
|
||||
{
|
||||
// Call parent class to read symbol information.
|
||||
- Sized_dynobj<32, big_endian>::do_read_symbols(sd);
|
||||
+ this->base_read_symbols(sd);
|
||||
|
||||
// Read processor-specific flags in ELF file header.
|
||||
const unsigned char* pehdr = this->get_view(elfcpp::file_header_offset,
|
||||
diff --git a/gold/dynobj.cc b/gold/dynobj.cc
|
||||
index 2a1b9a3..baf8489 100644
|
||||
--- a/gold/dynobj.cc
|
||||
+++ b/gold/dynobj.cc
|
||||
@@ -336,6 +336,17 @@ template<int size, bool big_endian>
|
||||
void
|
||||
Sized_dynobj<size, big_endian>::do_read_symbols(Read_symbols_data* sd)
|
||||
{
|
||||
+ this->base_read_symbols(sd);
|
||||
+}
|
||||
+
|
||||
+// Read the symbols and sections from a dynamic object. We read the
|
||||
+// dynamic symbols, not the normal symbols. This is common code for
|
||||
+// all target-specific overrides of do_read_symbols().
|
||||
+
|
||||
+template<int size, bool big_endian>
|
||||
+void
|
||||
+Sized_dynobj<size, big_endian>::base_read_symbols(Read_symbols_data* sd)
|
||||
+{
|
||||
this->read_section_data(&this->elf_file_, sd);
|
||||
|
||||
const unsigned char* const pshdrs = sd->section_headers->data();
|
||||
diff --git a/gold/dynobj.h b/gold/dynobj.h
|
||||
index b8d4b90..03b8053 100644
|
||||
--- a/gold/dynobj.h
|
||||
+++ b/gold/dynobj.h
|
||||
@@ -270,6 +270,12 @@ class Sized_dynobj : public Dynobj
|
||||
do_get_global_symbols() const
|
||||
{ return this->symbols_; }
|
||||
|
||||
+ protected:
|
||||
+ // Read the symbols. This is common code for all target-specific
|
||||
+ // overrides of do_read_symbols().
|
||||
+ void
|
||||
+ base_read_symbols(Read_symbols_data*);
|
||||
+
|
||||
private:
|
||||
// For convenience.
|
||||
typedef Sized_dynobj<size, big_endian> This;
|
||||
diff --git a/gold/object.cc b/gold/object.cc
|
||||
index c894c13..1811cda 100644
|
||||
--- a/gold/object.cc
|
||||
+++ b/gold/object.cc
|
||||
@@ -755,6 +755,16 @@ template<int size, bool big_endian>
|
||||
void
|
||||
Sized_relobj_file<size, big_endian>::do_read_symbols(Read_symbols_data* sd)
|
||||
{
|
||||
+ this->base_read_symbols(sd);
|
||||
+}
|
||||
+
|
||||
+// Read the sections and symbols from an object file. This is common
|
||||
+// code for all target-specific overrides of do_read_symbols().
|
||||
+
|
||||
+template<int size, bool big_endian>
|
||||
+void
|
||||
+Sized_relobj_file<size, big_endian>::base_read_symbols(Read_symbols_data* sd)
|
||||
+{
|
||||
this->read_section_data(&this->elf_file_, sd);
|
||||
|
||||
const unsigned char* const pshdrs = sd->section_headers->data();
|
||||
@@ -1848,7 +1858,7 @@ Sized_relobj_file<size, big_endian>::do_layout_deferred_sections(Layout* layout)
|
||||
|
||||
// Reading the symbols again here may be slow.
|
||||
Read_symbols_data sd;
|
||||
- this->read_symbols(&sd);
|
||||
+ this->base_read_symbols(&sd);
|
||||
this->layout_eh_frame_section(layout,
|
||||
sd.symbols->data(),
|
||||
sd.symbols_size,
|
||||
diff --git a/gold/object.h b/gold/object.h
|
||||
index 38b06f0..92cdbdd 100644
|
||||
--- a/gold/object.h
|
||||
+++ b/gold/object.h
|
||||
@@ -2214,6 +2214,11 @@ class Sized_relobj_file : public Sized_relobj<size, big_endian>
|
||||
void
|
||||
do_read_symbols(Read_symbols_data*);
|
||||
|
||||
+ // Read the symbols. This is common code for all target-specific
|
||||
+ // overrides of do_read_symbols.
|
||||
+ void
|
||||
+ base_read_symbols(Read_symbols_data*);
|
||||
+
|
||||
// Return the value of a local symbol.
|
||||
uint64_t
|
||||
do_local_symbol_value(unsigned int symndx, uint64_t addend) const
|
||||
diff --git a/gold/powerpc.cc b/gold/powerpc.cc
|
||||
index 96432ed..0a9ab7d 100644
|
||||
--- a/gold/powerpc.cc
|
||||
+++ b/gold/powerpc.cc
|
||||
@@ -1839,7 +1839,7 @@ template<int size, bool big_endian>
|
||||
void
|
||||
Powerpc_relobj<size, big_endian>::do_read_symbols(Read_symbols_data* sd)
|
||||
{
|
||||
- Sized_relobj_file<size, big_endian>::do_read_symbols(sd);
|
||||
+ this->base_read_symbols(sd);
|
||||
if (size == 64)
|
||||
{
|
||||
const int shdr_size = elfcpp::Elf_sizes<size>::shdr_size;
|
||||
@@ -1896,14 +1896,14 @@ Powerpc_dynobj<size, big_endian>::set_abiversion(int ver)
|
||||
}
|
||||
}
|
||||
|
||||
-// Call Sized_dynobj::do_read_symbols to read the symbols then
|
||||
+// Call Sized_dynobj::base_read_symbols to read the symbols then
|
||||
// read .opd from a dynamic object, filling in opd_ent_ vector,
|
||||
|
||||
template<int size, bool big_endian>
|
||||
void
|
||||
Powerpc_dynobj<size, big_endian>::do_read_symbols(Read_symbols_data* sd)
|
||||
{
|
||||
- Sized_dynobj<size, big_endian>::do_read_symbols(sd);
|
||||
+ this->base_read_symbols(sd);
|
||||
if (size == 64)
|
||||
{
|
||||
const int shdr_size = elfcpp::Elf_sizes<size>::shdr_size;
|
||||
--
|
||||
1.7.1
|
||||
@@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="boost"
|
||||
PKG_VERSION="1_55_0"
|
||||
PKG_VERSION="1_56_0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.boost.org/"
|
||||
PKG_URL="$SOURCEFORGE_SRC/boost/boost/1.55.0/${PKG_NAME}_${PKG_VERSION}.tar.bz2"
|
||||
PKG_URL="$SOURCEFORGE_SRC/boost/boost/1.56.0/${PKG_NAME}_${PKG_VERSION}.tar.bz2"
|
||||
PKG_SOURCE_DIR="${PKG_NAME}_${PKG_VERSION}"
|
||||
PKG_DEPENDS_HOST=""
|
||||
PKG_DEPENDS_TARGET="toolchain boost:host Python:host zlib bzip2"
|
||||
@@ -35,7 +35,7 @@ PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
make_host() {
|
||||
cd tools/build/v2/engine
|
||||
cd tools/build/src/engine
|
||||
sh build.sh
|
||||
}
|
||||
|
||||
@@ -45,9 +45,6 @@ makeinstall_host() {
|
||||
}
|
||||
|
||||
pre_configure_target() {
|
||||
# boost fails building with LTO support
|
||||
strip_lto
|
||||
|
||||
export CFLAGS="$CFLAGS -fPIC"
|
||||
export CXXFLAGS="$CXXFLAGS -fPIC"
|
||||
export LDFLAGS="$LDFLAGS -fPIC"
|
||||
@@ -59,7 +56,7 @@ configure_target() {
|
||||
--with-python=$ROOT/$TOOLCHAIN/bin/python \
|
||||
|
||||
echo "using gcc : `$TARGET_CC -v 2>&1 | tail -n 1 |awk '{print $3}'` : $TARGET_CC : <compileflags>\"$CFLAGS\" <linkflags>\"$LDFLAGS\" ;" \
|
||||
> tools/build/v2/user-config.jam
|
||||
> tools/build/src/user-config.jam
|
||||
}
|
||||
|
||||
make_target() {
|
||||
@@ -69,12 +66,13 @@ make_target() {
|
||||
makeinstall_target() {
|
||||
$ROOT/$TOOLCHAIN/bin/bjam -d2 --toolset=gcc link=static \
|
||||
--prefix=$SYSROOT_PREFIX/usr \
|
||||
--layout=system \
|
||||
--with-thread \
|
||||
--with-iostreams \
|
||||
--with-system \
|
||||
--with-serialization \
|
||||
--with-filesystem \
|
||||
--with-regex -sICU_PATH="$SYSROOT_PREFIX/usr" \
|
||||
install
|
||||
--ignore-site-config \
|
||||
--layout=system \
|
||||
--with-thread \
|
||||
--with-iostreams \
|
||||
--with-system \
|
||||
--with-serialization \
|
||||
--with-filesystem \
|
||||
--with-regex -sICU_PATH="$SYSROOT_PREFIX/usr" \
|
||||
install
|
||||
}
|
||||
|
||||
@@ -1,44 +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="cloog"
|
||||
PKG_VERSION="0.18.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
PKG_SITE="http://www.cloog.org/"
|
||||
PKG_URL="http://www.bastoul.net/cloog/pages/download/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_HOST="ccache:host gmp:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="toolchain/math"
|
||||
PKG_SHORTDESC="cloog: a free software and library to generate code for scanning Z-polyhedra."
|
||||
PKG_LONGDESC="CLooG is a library to generate code for scanning Z-polyhedra. In other words, it finds code that reaches each integral point of one or more parameterized polyhedra. GCC links with this library in order to enable the new loop generation code known as Graphite."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
# TODO: automake 1.13 support must be fixed
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--target=$TARGET_NAME \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--disable-silent-rules \
|
||||
--with-gnu-ld \
|
||||
--with-isl=buildin \
|
||||
--with-gmp=system \
|
||||
--with-gmp-prefix=$ROOT/$TOOLCHAIN"
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -Naur cloog-0.17.0/Makefile.am cloog-0.17.0.patch/Makefile.am
|
||||
--- cloog-0.17.0/Makefile.am 2011-12-08 12:03:08.000000000 +0100
|
||||
+++ cloog-0.17.0.patch/Makefile.am 2012-06-13 14:05:03.611679108 +0200
|
||||
@@ -145,7 +145,7 @@
|
||||
examples
|
||||
|
||||
install-data-local:
|
||||
- @test -z "$(pkgconfig_libdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfig_libdir)"
|
||||
+ @test -z "$(pkgconfig_libdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfig_libdir)"
|
||||
$(INSTALL_DATA) $(pkgconfig_libfile) "$(DESTDIR)$(pkgconfig_libdir)/$(pkgconfig_libfile)"
|
||||
|
||||
uninstall-local:
|
||||
@@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="cmake"
|
||||
PKG_VERSION="2.8.12.1"
|
||||
PKG_VERSION="3.0.2"
|
||||
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,14 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="dbus-glib"
|
||||
PKG_VERSION="0.100.2"
|
||||
PKG_VERSION="0.102"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://freedesktop.org/wiki/Software/dbus"
|
||||
PKG_URL="http://dbus.freedesktop.org/releases/dbus-glib/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_HOST="glib:host dbus:host"
|
||||
PKG_DEPENDS_TARGET="toolchain dbus glib expat dbus-glib:host"
|
||||
PKG_DEPENDS_TARGET="toolchain dbus glib expat"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="dbus-glib: A message bus system"
|
||||
@@ -40,13 +39,7 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_have_abstract_sockets=yes \
|
||||
--disable-shared \
|
||||
--disable-tests \
|
||||
--disable-bash-completion \
|
||||
--enable-asserts=no \
|
||||
--with-introspect-xml=$PKG_BUILD/.$HOST_NAME/introspect.xml \
|
||||
--with-dbus-binding-tool=$ROOT/$TOOLCHAIN/bin/dbus-binding-tool"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--disable-tests \
|
||||
--disable-bash-completion \
|
||||
--enable-asserts=yes"
|
||||
--enable-asserts=no"
|
||||
|
||||
pre_configure_target() {
|
||||
CFLAGS="$CFLAGS -fPIC -DPIC"
|
||||
|
||||
@@ -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"
|
||||
@@ -0,0 +1,38 @@
|
||||
From a45f914870e923741f3123799bd9e126b5da4aa0 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Wed, 20 Aug 2014 22:43:28 +0300
|
||||
Subject: [PATCH] dont build tools / examples
|
||||
|
||||
---
|
||||
Makefile.am | 4 ++--
|
||||
dbus/Makefile.am | 2 +-
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index dd76c7e..78cb56f 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -1,8 +1,8 @@
|
||||
ACLOCAL_AMFLAGS = -I m4
|
||||
GLIB_PC=dbus-glib-1.pc
|
||||
|
||||
-SUBDIRS=dbus tools test doc
|
||||
-DIST_SUBDIRS=dbus tools test doc m4
|
||||
+SUBDIRS=dbus test doc
|
||||
+DIST_SUBDIRS=dbus test doc m4
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = $(GLIB_PC)
|
||||
diff --git a/dbus/Makefile.am b/dbus/Makefile.am
|
||||
index 6d885f9..8bc102d 100644
|
||||
--- a/dbus/Makefile.am
|
||||
+++ b/dbus/Makefile.am
|
||||
@@ -1,4 +1,4 @@
|
||||
-SUBDIRS = . examples
|
||||
+SUBDIRS = .
|
||||
|
||||
INCLUDES = \
|
||||
-I$(top_srcdir) \
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
diff -Naur eglibc-2.15-17022/misc/sys/select.h eglibc-2.15-17022.patch/misc/sys/select.h
|
||||
--- eglibc-2.15-17022/misc/sys/select.h 2012-02-07 05:47:47.000000000 +0100
|
||||
+++ eglibc-2.15-17022.patch/misc/sys/select.h 2012-02-07 06:12:34.237528007 +0100
|
||||
@@ -52,14 +52,14 @@
|
||||
|
||||
|
||||
/* The fd_set member is required to be an array of longs. */
|
||||
-typedef long int __fd_mask;
|
||||
+typedef unsigned long int __fd_mask;
|
||||
|
||||
/* Some versions of <linux/posix_types.h> define this macros. */
|
||||
#undef __NFDBITS
|
||||
/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */
|
||||
#define __NFDBITS (8 * (int) sizeof (__fd_mask))
|
||||
-#define __FD_ELT(d) ((d) / __NFDBITS)
|
||||
-#define __FD_MASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS))
|
||||
+#define __FD_ELT(d) (((unsigned long int)d) / __NFDBITS)
|
||||
+#define __FD_MASK(d) ((__fd_mask) 1 << (((unsigned long int)d) % __NFDBITS))
|
||||
|
||||
/* fd_set for select and pselect. */
|
||||
typedef struct
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="elfutils"
|
||||
PKG_VERSION="0.158"
|
||||
PKG_VERSION="0.159"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
@@ -35,6 +35,7 @@ PKG_AUTORECONF="yes"
|
||||
PKG_CONFIGURE_OPTS_TARGET="utrace_cv_cc_biarch=false \
|
||||
--disable-werror \
|
||||
--disable-progs \
|
||||
--disable-nls \
|
||||
--with-zlib \
|
||||
--without-bzlib \
|
||||
--without-lzma"
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
commit 7f1eec317db79627b473c5b149a22a1b20d1f68f
|
||||
Author: Mark Wielaard <mjw@redhat.com>
|
||||
Date: Wed Apr 9 11:33:23 2014 +0200
|
||||
|
||||
CVE-2014-0172 Check for overflow before calling malloc to uncompress data.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1085663
|
||||
|
||||
Reported-by: Florian Weimer <fweimer@redhat.com>
|
||||
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
||||
|
||||
diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
|
||||
index 79daeac..34ea373 100644
|
||||
--- a/libdw/dwarf_begin_elf.c
|
||||
+++ b/libdw/dwarf_begin_elf.c
|
||||
@@ -282,6 +282,12 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
|
||||
memcpy (&size, data->d_buf + 4, sizeof size);
|
||||
size = be64toh (size);
|
||||
|
||||
+ /* Check for unsigned overflow so malloc always allocated
|
||||
+ enough memory for both the Elf_Data header and the
|
||||
+ uncompressed section data. */
|
||||
+ if (unlikely (sizeof (Elf_Data) + size < size))
|
||||
+ break;
|
||||
+
|
||||
Elf_Data *zdata = malloc (sizeof (Elf_Data) + size);
|
||||
if (unlikely (zdata == NULL))
|
||||
break;
|
||||
@@ -1,62 +0,0 @@
|
||||
commit 65cefbd0793c0f9e90a326d7bebf0a47c93294ad
|
||||
Author: Josh Stone <jistone@redhat.com>
|
||||
Date: Tue Mar 11 10:19:28 2014 -0700
|
||||
|
||||
libdwfl: dwfl_module_getdwarf.c (open_elf) only (re)set mod->e_type once.
|
||||
|
||||
As noted in https://sourceware.org/bugzilla/show_bug.cgi?id=16676#c2 for
|
||||
systemtap, the heuristic used by open_elf to set the kernel Dwfl_Module
|
||||
type to ET_DYN, even if the underlying ELF file e_type was set to
|
||||
ET_EXEC, could trigger erroneously for non-kernel/non-main (debug or
|
||||
aux) files. Make sure we only set the e_type of the module once when
|
||||
processing the main file (when the phdrs can be trusted).
|
||||
|
||||
diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c
|
||||
index c4bd739..f8de80b 100644
|
||||
--- a/libdwfl/dwfl_module_getdwarf.c
|
||||
+++ b/libdwfl/dwfl_module_getdwarf.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Find debugging and symbol information for a module in libdwfl.
|
||||
- Copyright (C) 2005-2012 Red Hat, Inc.
|
||||
+ Copyright (C) 2005-2012, 2014 Red Hat, Inc.
|
||||
This file is part of elfutils.
|
||||
|
||||
This file is free software; you can redistribute it and/or modify
|
||||
@@ -77,7 +77,7 @@ open_elf (Dwfl_Module *mod, struct dwfl_file *file)
|
||||
return DWFL_E (LIBELF, elf_errno ());
|
||||
}
|
||||
|
||||
- if (mod->e_type != ET_REL)
|
||||
+ if (ehdr->e_type != ET_REL)
|
||||
{
|
||||
/* In any non-ET_REL file, we compute the "synchronization address".
|
||||
|
||||
@@ -131,11 +131,24 @@ open_elf (Dwfl_Module *mod, struct dwfl_file *file)
|
||||
}
|
||||
}
|
||||
|
||||
- mod->e_type = ehdr->e_type;
|
||||
+ /* We only want to set the module e_type explictly once, derived from
|
||||
+ the main ELF file. (It might be changed for the kernel, because
|
||||
+ that is special - see below.) open_elf is always called first for
|
||||
+ the main ELF file, because both find_dw and find_symtab call
|
||||
+ __libdwfl_getelf first to open the main file. So don't let debug
|
||||
+ or aux files override the module e_type. The kernel heuristic
|
||||
+ below could otherwise trigger for non-kernel/non-main files, since
|
||||
+ their phdrs might not match the actual load addresses. */
|
||||
+ if (file == &mod->main)
|
||||
+ {
|
||||
+ mod->e_type = ehdr->e_type;
|
||||
|
||||
- /* Relocatable Linux kernels are ET_EXEC but act like ET_DYN. */
|
||||
- if (mod->e_type == ET_EXEC && file->vaddr != mod->low_addr)
|
||||
- mod->e_type = ET_DYN;
|
||||
+ /* Relocatable Linux kernels are ET_EXEC but act like ET_DYN. */
|
||||
+ if (mod->e_type == ET_EXEC && file->vaddr != mod->low_addr)
|
||||
+ mod->e_type = ET_DYN;
|
||||
+ }
|
||||
+ else
|
||||
+ assert (mod->main.elf != NULL);
|
||||
|
||||
return DWFL_E_NOERROR;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="file"
|
||||
PKG_VERSION="5.18"
|
||||
PKG_VERSION="5.19"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
|
||||
@@ -32,7 +32,7 @@ PKG_LONGDESC="flex is a tool for generating programs that perform pattern-matchi
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--disable-rpath --with-gnu-ld"
|
||||
PKG_CONFIGURE_OPTS_HOST="--enable-static --disable-shared --disable-rpath --with-gnu-ld"
|
||||
|
||||
post_makeinstall_host() {
|
||||
cat > $ROOT/$TOOLCHAIN/bin/lex << "EOF"
|
||||
|
||||
@@ -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,14 @@ 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-curses \
|
||||
--with-included-libxml \
|
||||
--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".
|
||||
|
||||
@@ -23,8 +23,7 @@ PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
PKG_SITE="http://www.gtk.org/"
|
||||
PKG_URL="http://ftp.gnome.org/pub/gnome/sources/glib/2.40/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_HOST="ccache:host libffi:host libxml2:host zlib:host Python:host"
|
||||
PKG_DEPENDS_TARGET="toolchain zlib libffi pcre glib:host Python:host"
|
||||
PKG_DEPENDS_TARGET="toolchain zlib libffi pcre Python:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="glib: C support library"
|
||||
@@ -33,15 +32,6 @@ PKG_LONGDESC="GLib is a library which includes support routines for C such as li
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--with-gnu-ld \
|
||||
--with-libiconv=no \
|
||||
--enable-debug=no \
|
||||
--disable-man \
|
||||
--disable-dtrace \
|
||||
--disable-systemtap \
|
||||
--disable-rebuilds \
|
||||
--disable-gtk-doc"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_mmap_fixed_mapped=yes \
|
||||
ac_cv_func_posix_getpwuid_r=yes \
|
||||
ac_cv_func_posix_getgrgid_r=yes \
|
||||
@@ -54,6 +44,7 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_mmap_fixed_mapped=yes \
|
||||
--disable-selinux \
|
||||
--disable-fam \
|
||||
--enable-xattr \
|
||||
--disable-libelf \
|
||||
--disable-gtk-doc \
|
||||
--disable-man \
|
||||
--disable-dtrace \
|
||||
@@ -63,25 +54,6 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_func_mmap_fixed_mapped=yes \
|
||||
--with-threads=posix \
|
||||
--with-pcre=system"
|
||||
|
||||
pre_build_host() {
|
||||
# hack: we need pkg.m4 for autoreconf, but pkgconfig depends on glib so install
|
||||
# pkg.m4 first
|
||||
$SCRIPTS/unpack pkg-config
|
||||
cp $BUILD/pkg-config-*/pkg.m4 $TOOLCHAIN/share/aclocal
|
||||
}
|
||||
|
||||
pre_configure_host() {
|
||||
export ZLIB_CFLAGS=""
|
||||
export ZLIB_LIBS=""
|
||||
export LIBFFI_CFLAGS="-I$ROOT/$TOOLCHAIN/include/libffi"
|
||||
export LIBFFI_LIBS="-L$ROOT/$TOOLCHAIN/lib -lffi"
|
||||
}
|
||||
|
||||
post_makeinstall_host() {
|
||||
cp -f gobject/.libs/glib-genmarshal $ROOT/$TOOLCHAIN/bin
|
||||
cp -f gobject/glib-mkenums $ROOT/$TOOLCHAIN/bin
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
mkdir -p $SYSROOT_PREFIX/usr/lib/pkgconfig
|
||||
cp g*-2.0.pc $SYSROOT_PREFIX/usr/lib/pkgconfig
|
||||
|
||||
54
packages/devel/glib/patches/glib-01-dont-build-tests.patch
Normal file
54
packages/devel/glib/patches/glib-01-dont-build-tests.patch
Normal file
@@ -0,0 +1,54 @@
|
||||
From 68cbd635036fe04cd07bbb1a4829eebab2d7dc03 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Wed, 20 Aug 2014 22:46:35 +0300
|
||||
Subject: [PATCH] dont build tests
|
||||
|
||||
---
|
||||
Makefile.am | 2 +-
|
||||
configure.ac | 17 -----------------
|
||||
2 files changed, 1 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 40e5cd5..db7bfc8 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -6,7 +6,7 @@ include $(top_srcdir)/glib.mk
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4macros ${ACLOCAL_FLAGS}
|
||||
|
||||
-SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs tests
|
||||
+SUBDIRS = . m4macros glib gmodule gthread gobject gio po docs
|
||||
DIST_SUBDIRS = $(SUBDIRS) build
|
||||
|
||||
bin_SCRIPTS = glib-gettextize
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index a01e58d..f310615 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2559,23 +2559,6 @@ dnl ******************************************************************
|
||||
|
||||
AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes)
|
||||
|
||||
-AS_IF([ test $cross_compiling = yes ], [
|
||||
- AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal, no)
|
||||
- if test x$GLIB_GENMARSHAL = xno; then
|
||||
- AC_MSG_ERROR(Could not find a glib-genmarshal in your PATH)
|
||||
- fi
|
||||
-
|
||||
- AC_PATH_PROG(GLIB_COMPILE_SCHEMAS, glib-compile-schemas, no)
|
||||
- if test x$GLIB_COMPILE_SCHEMAS = xno; then
|
||||
- AC_MSG_ERROR(Could not find a glib-compile-schemas in your PATH)
|
||||
- fi
|
||||
-
|
||||
- AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources, no)
|
||||
- if test x$GLIB_COMPILE_RESOURCES = xno; then
|
||||
- AC_MSG_ERROR(Could not find a glib-compile-resources in your PATH)
|
||||
- fi
|
||||
-])
|
||||
-
|
||||
dnl **************************
|
||||
dnl *** Checks for gtk-doc ***
|
||||
dnl **************************
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -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.20"
|
||||
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
|
||||
@@ -153,6 +109,7 @@ libc_cv_c_cleanup=yes
|
||||
libc_cv_gnu89_inline=yes
|
||||
libc_cv_ssp=no
|
||||
libc_cv_ctors_header=yes
|
||||
libc_cv_slibdir=/lib
|
||||
EOF
|
||||
|
||||
echo "libdir=/usr/lib" >> configparms
|
||||
@@ -166,16 +123,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
|
||||
@@ -33,7 +33,7 @@ PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--enable-cxx"
|
||||
PKG_CONFIGURE_OPTS_HOST="--enable-cxx --enable-static --disable-shared"
|
||||
|
||||
pre_configure_host() {
|
||||
export CFLAGS="$CFLAGS -fPIC -DPIC"
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Torbjorn Granlund <tege@gmplib.org>
|
||||
# Date 1396035313 -3600
|
||||
# Node ID c56ea318eb6435bdd28dbfef657b2fe372134f1f
|
||||
# Parent c6fe20ab62acc266ff5ad3629bef447bc43dcd1b
|
||||
Conditionalise ARM asm on !__thumb__.
|
||||
|
||||
diff -r c6fe20ab62ac -r c56ea318eb64 mpn/generic/mod_1_1.c
|
||||
--- a/mpn/generic/mod_1_1.c Wed Mar 26 12:58:33 2014 +0100
|
||||
+++ b/mpn/generic/mod_1_1.c Fri Mar 28 20:35:13 2014 +0100
|
||||
@@ -129,7 +129,7 @@
|
||||
"%2" ((UDItype)(a0)), "r" ((UDItype)(b0)) __CLOBBER_CC)
|
||||
#endif
|
||||
|
||||
-#if defined (__arm__) && W_TYPE_SIZE == 32
|
||||
+#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32
|
||||
#define add_mssaaaa(m, sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ( "adds %2, %5, %6\n\t" \
|
||||
"adcs %1, %3, %4\n\t" \
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Torbjorn Granlund <tege@gmplib.org>
|
||||
# Date 1396602422 -7200
|
||||
# Node ID 676e2d0f0e4dd301a7066079d2c9326c25c34a40
|
||||
# Parent 0194a75b56b21a9196626430af86c5bd9110c42d
|
||||
Conditionalise ARM asm on !__thumb__.
|
||||
|
||||
diff -r 0194a75b56b2 -r 676e2d0f0e4d mpn/generic/div_qr_1n_pi1.c
|
||||
--- a/mpn/generic/div_qr_1n_pi1.c Thu Apr 03 23:58:51 2014 +0200
|
||||
+++ b/mpn/generic/div_qr_1n_pi1.c Fri Apr 04 11:07:02 2014 +0200
|
||||
@@ -130,7 +130,7 @@
|
||||
"%2" ((UDItype)(a0)), "r" ((UDItype)(b0)) __CLOBBER_CC)
|
||||
#endif
|
||||
|
||||
-#if defined (__arm__) && W_TYPE_SIZE == 32
|
||||
+#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32
|
||||
#define add_mssaaaa(m, sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ( "adds %2, %5, %6\n\t" \
|
||||
"adcs %1, %3, %4\n\t" \
|
||||
|
||||
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,13 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libffi"
|
||||
PKG_VERSION="3.0.11"
|
||||
PKG_VERSION="3.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://sourceware.org/$PKG_NAME/"
|
||||
PKG_URL="ftp://sourceware.org/pub/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_HOST="ccache:host autoconf:host automake:host libtool:host intltool:host autoconf-archive:host"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
@@ -33,14 +32,10 @@ PKG_LONGDESC="The libffi library provides a portable, high level programming int
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--disable-debug \
|
||||
--enable-structs \
|
||||
--enable-raw-api \
|
||||
--disable-purify-safety \
|
||||
--with-gnu-ld"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-debug \
|
||||
--enable-structs \
|
||||
--enable-raw-api \
|
||||
--disable-purify-safety \
|
||||
--with-gnu-ld"
|
||||
--enable-static --disable-shared \
|
||||
--with-pic \
|
||||
--enable-structs \
|
||||
--enable-raw-api \
|
||||
--disable-purify-safety \
|
||||
--with-gnu-ld"
|
||||
|
||||
@@ -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-fix-pkgconf.patch
Normal file
23
packages/devel/libffi/patches/libffi-fix-pkgconf.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
From a2d10693e352db0cdfc22550f23f8294564ce939 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Sat, 16 Aug 2014 12:26:53 +0300
|
||||
Subject: [PATCH] fix pkgconf
|
||||
|
||||
---
|
||||
libffi.pc.in | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/libffi.pc.in b/libffi.pc.in
|
||||
index 1477a66..1dd4ebd 100644
|
||||
--- a/libffi.pc.in
|
||||
+++ b/libffi.pc.in
|
||||
@@ -7,5 +7,5 @@ includedir=@includedir@/@PACKAGE_NAME@
|
||||
Name: @PACKAGE_NAME@
|
||||
Description: Library supporting Foreign Function Interfaces
|
||||
Version: @PACKAGE_VERSION@
|
||||
-Libs: -L${toolexeclibdir} -lffi
|
||||
+Libs: -L${libdir} -lffi
|
||||
Cflags: -I${includedir}
|
||||
--
|
||||
1.7.2.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,13 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libpcap"
|
||||
PKG_VERSION="1.3.0"
|
||||
PKG_VERSION="1.6.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.tcpdump.org/"
|
||||
PKG_URL="http://www.tcpdump.org/release/libpcap-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain libusb"
|
||||
PKG_DEPENDS_TARGET="toolchain libusb libnl"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="system interface for user-level packet capture"
|
||||
@@ -44,6 +44,8 @@ pre_configure_target() {
|
||||
# When cross-compiling, configure can't set linux version
|
||||
# forcing it
|
||||
sed -i -e 's/ac_cv_linux_vers=unknown/ac_cv_linux_vers=2/' ../configure
|
||||
|
||||
export CFLAGS="$CFLAGS -I$SYSROOT_PREFIX/usr/include/libnl3"
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
|
||||
11
packages/devel/libpcap/patches/libpcap-crosscompiling.patch
Normal file
11
packages/devel/libpcap/patches/libpcap-crosscompiling.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
diff -Naur libpcap-1.6.2/configure.in libpcap-1.6.2.patch/configure.in
|
||||
--- libpcap-1.6.2/configure.in 2014-07-19 15:21:09.000000000 +0200
|
||||
+++ libpcap-1.6.2.patch/configure.in 2014-09-06 05:58:33.918837813 +0200
|
||||
@@ -459,7 +459,6 @@
|
||||
AC_DEFINE(HAVE_LIBNL_3_x,1,[if libnl exists and is version 3.x])
|
||||
AC_DEFINE(HAVE_LIBNL_NLE,1,[libnl has NLE_FAILURE])
|
||||
AC_DEFINE(HAVE_LIBNL_SOCKETS,1,[libnl has new-style socket api])
|
||||
- V_INCLS="$V_INCLS -I/usr/include/libnl3"
|
||||
have_any_nl="yes"
|
||||
])
|
||||
|
||||
@@ -33,4 +33,4 @@ PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-ltdl-install"
|
||||
PKG_CONFIGURE_OPTS_HOST="--enable-static --disable-shared"
|
||||
|
||||
@@ -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"
|
||||
@@ -33,7 +33,6 @@ PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--target=$TARGET_NAME \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--enable-static --disable-shared \
|
||||
--with-gmp=$ROOT/$TOOLCHAIN \
|
||||
--with-mpfr=$ROOT/$TOOLCHAIN"
|
||||
|
||||
@@ -30,17 +30,10 @@ PKG_SHORTDESC="mpfr: A C library for multiple-precision floating-point computati
|
||||
PKG_LONGDESC="The MPFR library is a C library for multiple-precision floating-point computations with exact rounding (also called correct rounding). It is based on the GMP multiple-precision library. The main goal of MPFR is to provide a library for multiple-precision floating-point computation which is both efficient and has well-defined semantics. It copies the good ideas from the ANSI/IEEE-754 standard for double-precision floating-point arithmetic (53-bit mantissa)."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--target=$TARGET_NAME \
|
||||
--enable-static --disable-shared \
|
||||
--prefix=$ROOT/$TOOLCHAIN \
|
||||
--enable-shared \
|
||||
--with-gmp-lib=$ROOT/$TOOLCHAIN/lib \
|
||||
--with-gmp-include=$ROOT/$TOOLCHAIN/include"
|
||||
|
||||
pre_build_host() {
|
||||
( cd $PKG_BUILD
|
||||
libtoolize
|
||||
autoreconf -vif
|
||||
)
|
||||
}
|
||||
|
||||
@@ -17,14 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="ncurses"
|
||||
PKG_VERSION="5.7"
|
||||
PKG_VERSION="5.9"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="MIT"
|
||||
PKG_SITE="http://www.gnu.org/software/ncurses/"
|
||||
PKG_URL="http://ftp.gnu.org/pub/gnu/ncurses/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_HOST=""
|
||||
PKG_DEPENDS_TARGET="toolchain ncurses:host"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="ncurses: The ncurses (new curses) library"
|
||||
@@ -33,11 +32,11 @@ PKG_LONGDESC="The ncurses (new curses) library is a free software emulation of c
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--with-shared"
|
||||
PKG_CONFIGURE_OPTS_TARGET="--without-cxx \
|
||||
--without-cxx-binding \
|
||||
--without-ada \
|
||||
--without-progs \
|
||||
--with-curses-h \
|
||||
--with-shared \
|
||||
--with-normal \
|
||||
--without-debug \
|
||||
@@ -48,7 +47,8 @@ PKG_CONFIGURE_OPTS_TARGET="--without-cxx \
|
||||
--without-gpm \
|
||||
--disable-rpath \
|
||||
--disable-overwrite \
|
||||
--enable-database \
|
||||
--disable-database \
|
||||
--with-fallbacks=linux,screen,xterm,xterm-color \
|
||||
--disable-big-core \
|
||||
--enable-termcap \
|
||||
--enable-getcap \
|
||||
@@ -74,18 +74,7 @@ PKG_CONFIGURE_OPTS_TARGET="--without-cxx \
|
||||
|
||||
pre_configure_target() {
|
||||
# causes some segmentation fault's (dialog) when compiled with gcc's link time optimization.
|
||||
strip_linker_plugin
|
||||
}
|
||||
|
||||
make_host() {
|
||||
make -C include
|
||||
make -C progs tic
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
cp progs/tic $ROOT/$TOOLCHAIN/bin
|
||||
cp lib/*.so* $ROOT/$TOOLCHAIN/lib
|
||||
make -C include install
|
||||
strip_lto
|
||||
}
|
||||
|
||||
make_target() {
|
||||
@@ -103,19 +92,3 @@ makeinstall_target() {
|
||||
|
||||
make DESTDIR=$INSTALL -C ncurses install
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/share/terminfo/l
|
||||
TERMINFO=$INSTALL/usr/share/terminfo $ROOT/$TOOLCHAIN/bin/tic -xe linux \
|
||||
$ROOT/$PKG_BUILD/misc/terminfo.src
|
||||
|
||||
mkdir -p $INSTALL/usr/share/terminfo/s
|
||||
TERMINFO=$INSTALL/usr/share/terminfo $ROOT/$TOOLCHAIN/bin/tic -xe screen \
|
||||
$ROOT/$PKG_BUILD/misc/terminfo.src
|
||||
|
||||
mkdir -p $INSTALL/usr/share/terminfo/x
|
||||
TERMINFO=$INSTALL/usr/share/terminfo $ROOT/$TOOLCHAIN/bin/tic -xe xterm \
|
||||
$ROOT/$PKG_BUILD/misc/terminfo.src
|
||||
TERMINFO=$INSTALL/usr/share/terminfo $ROOT/$TOOLCHAIN/bin/tic -xe xterm-color \
|
||||
$ROOT/$PKG_BUILD/misc/terminfo.src
|
||||
}
|
||||
|
||||
204827
packages/devel/ncurses/patches/ncurses-20140308-20140323.patch
Normal file
204827
packages/devel/ncurses/patches/ncurses-20140308-20140323.patch
Normal file
File diff suppressed because it is too large
Load Diff
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="pcre"
|
||||
PKG_VERSION="8.35"
|
||||
PKG_VERSION="8.36"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
|
||||
@@ -1,36 +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="ppl"
|
||||
PKG_VERSION="1.1pre10"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.cs.unipr.it/ppl"
|
||||
PKG_URL="http://bugseng.com/products/ppl/download/ftp/snapshots/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_HOST="ccache:host gmp:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="ppl: Parma Polyhedra Library"
|
||||
PKG_LONGDESC="The Parma Polyhedra Library (PPL) provides numerical abstractions especially targeted at applications in the field of analysis and verification of complex systems."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--enable-interfaces=c,cxx --with-gmp=$ROOT/$TOOLCHAIN"
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="swig"
|
||||
PKG_VERSION="2.0.8"
|
||||
PKG_VERSION="2.0.12"
|
||||
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_HOST="ccache:host pcre:host"
|
||||
PKG_DEPENDS_HOST="ccache:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="SWIG: a software development tool that connects programs written in C and C++ with a variety of high-level programming languages."
|
||||
@@ -34,6 +34,7 @@ PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--with-pcre-prefix=$ROOT/$TOOLCHAIN \
|
||||
--with-boost=no \
|
||||
--without-pcre \
|
||||
--without-x \
|
||||
--without-tcl \
|
||||
--without-python \
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="yajl"
|
||||
PKG_VERSION="2.0.4"
|
||||
PKG_VERSION="2.1.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="ISC"
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="Mesa"
|
||||
PKG_VERSION="10.2.1"
|
||||
PKG_VERSION="10.3.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.mesa3d.org/"
|
||||
PKG_URL="ftp://freedesktop.org/pub/mesa/$PKG_VERSION/MesaLib-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_TARGET="toolchain Python:host makedepend:host libxml2:host expat glproto dri2proto presentproto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11 systemd dri3proto libxshmfence"
|
||||
PKG_URL="ftp://freedesktop.org/pub/mesa/10.3/MesaLib-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_TARGET="toolchain Python:host expat glproto dri2proto presentproto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11 systemd dri3proto libxshmfence"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="graphics"
|
||||
PKG_SHORTDESC="mesa: 3-D graphics library with OpenGL API"
|
||||
@@ -50,10 +50,6 @@ else
|
||||
MESA_VDPAU="--disable-vdpau"
|
||||
fi
|
||||
|
||||
if [ "$MESA_VAAPI_SUPPORT" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET $LIBVA"
|
||||
fi
|
||||
|
||||
XA_CONFIG="--disable-xa"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \
|
||||
@@ -74,7 +70,7 @@ PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \
|
||||
--disable-gles2 \
|
||||
--disable-openvg \
|
||||
--enable-dri \
|
||||
--enable-dri3 \
|
||||
--disable-dri3 \
|
||||
--enable-glx \
|
||||
--disable-osmesa \
|
||||
--enable-egl --with-egl-platforms=x11,drm \
|
||||
@@ -96,14 +92,9 @@ PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \
|
||||
--with-osmesa-lib-name=OSMesa \
|
||||
--with-gallium-drivers=$GALLIUM_DRIVERS \
|
||||
--with-dri-drivers=$DRI_DRIVERS \
|
||||
--with-expat=$SYSROOT_PREFIX/usr"
|
||||
--with-sysroot=$SYSROOT_PREFIX"
|
||||
|
||||
|
||||
pre_configure_target() {
|
||||
# Mesa fails to build with GOLD if we build with --enable-glx-tls
|
||||
strip_gold
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
# rename and relink for cooperate with nvidia drivers
|
||||
rm -rf $INSTALL/usr/lib/libGL.so
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="bcm2835-driver"
|
||||
PKG_VERSION="2990b78"
|
||||
PKG_VERSION="f2275b9"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="nonfree"
|
||||
@@ -46,8 +46,15 @@ make_target() {
|
||||
cp -PRv $FLOAT/opt/vc/lib/libEGL.so $SYSROOT_PREFIX/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libGLESv2.so $SYSROOT_PREFIX/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libbcm_host.so $SYSROOT_PREFIX/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libcontainers.so $SYSROOT_PREFIX/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libopenmaxil.so $SYSROOT_PREFIX/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libvchiq_arm.so $SYSROOT_PREFIX/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libvcos.so $SYSROOT_PREFIX/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libmmal.so $SYSROOT_PREFIX/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libmmal_components.so $SYSROOT_PREFIX/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libmmal_core.so $SYSROOT_PREFIX/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libmmal_util.so $SYSROOT_PREFIX/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libmmal_vc_client.so $SYSROOT_PREFIX/usr/lib
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
@@ -58,9 +65,15 @@ makeinstall_target() {
|
||||
cp -PRv $FLOAT/opt/vc/lib/libEGL.so $INSTALL/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libGLESv2.so $INSTALL/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libbcm_host.so $INSTALL/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libcontainers.so $INSTALL/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libopenmaxil.so $INSTALL/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libvchiq_arm.so $INSTALL/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libvcos.so $INSTALL/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libmmal.so $INSTALL/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libmmal_components.so $INSTALL/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libmmal_core.so $INSTALL/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libmmal_util.so $INSTALL/usr/lib
|
||||
cp -PRv $FLOAT/opt/vc/lib/libmmal_vc_client.so $INSTALL/usr/lib
|
||||
|
||||
# some usefull debug tools
|
||||
mkdir -p $INSTALL/usr/bin
|
||||
|
||||
26
packages/graphics/glew/patches/glew-01-fix-pkgconf.patch
Normal file
26
packages/graphics/glew/patches/glew-01-fix-pkgconf.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
From ba254faae130080d5045d8fd97dc1f232b391d2f Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Sat, 16 Aug 2014 17:03:32 +0300
|
||||
Subject: [PATCH] fix pkgconf
|
||||
|
||||
---
|
||||
glew.pc.in | 4 ++--
|
||||
1 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/glew.pc.in b/glew.pc.in
|
||||
index 4c934af..35ef2ac 100644
|
||||
--- a/glew.pc.in
|
||||
+++ b/glew.pc.in
|
||||
@@ -1,7 +1,7 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
-libdir=@libdir@
|
||||
-includedir=@includedir@
|
||||
+includedir=${prefix}/include
|
||||
+libdir=${exec_prefix}/lib
|
||||
|
||||
Name: glew
|
||||
Description: The OpenGL Extension Wrangler library
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libdrm"
|
||||
PKG_VERSION="2.4.54"
|
||||
PKG_VERSION="2.4.58"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -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"
|
||||
@@ -37,7 +37,10 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_lib_z_zlibVersion=yes \
|
||||
--enable-static \
|
||||
--disable-shared"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--enable-static --disable-shared"
|
||||
|
||||
pre_configure_host() {
|
||||
export CFLAGS="$CFLAGS -fPIC -DPIC"
|
||||
export CPPFLAGS="$CPPFLAGS -I$ROOT/$TOOLCHAIN/include"
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.python.org/"
|
||||
PKG_URL="http://www.python.org/ftp/python/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_HOST="zlib:host expat:host"
|
||||
PKG_DEPENDS_HOST="zlib:host"
|
||||
PKG_DEPENDS_TARGET="toolchain Python:host sqlite expat zlib bzip2 openssl libffi file"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="lang"
|
||||
@@ -38,8 +38,7 @@ PY_DISABLED_MODULES="readline _curses _curses_panel _tkinter nis gdbm bsddb"
|
||||
PKG_CONFIGURE_OPTS_HOST="--cache-file=config.cache \
|
||||
--without-cxx-main \
|
||||
--with-threads \
|
||||
--enable-unicode=ucs4 \
|
||||
--with-system-expat"
|
||||
--enable-unicode=ucs4"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="ac_cv_file_dev_ptc=no \
|
||||
ac_cv_file_dev_ptmx=yes \
|
||||
@@ -65,7 +64,6 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_file_dev_ptc=no \
|
||||
|
||||
pre_configure_host() {
|
||||
export OPT="$HOST_CFLAGS"
|
||||
export LDFLAGS="$LDFLAGS -lexpat"
|
||||
}
|
||||
|
||||
make_host() {
|
||||
|
||||
@@ -17,15 +17,15 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="gcc"
|
||||
PKG_VERSION="4.9.0"
|
||||
PKG_VERSION="4.9.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
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_BOOTSTRAP="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc: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 glibc"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="lang"
|
||||
PKG_SHORTDESC="gcc: The GNU Compiler Collection Version 4 (aka GNU C Compiler)"
|
||||
@@ -42,9 +42,8 @@ BOOTSTRAP_CONFIGURE_OPTS="--host=$HOST_NAME \
|
||||
--with-gmp=$ROOT/$TOOLCHAIN \
|
||||
--with-mpfr=$ROOT/$TOOLCHAIN \
|
||||
--with-mpc=$ROOT/$TOOLCHAIN \
|
||||
--with-ppl=$ROOT/$TOOLCHAIN \
|
||||
--disable-ppl-version-check \
|
||||
--with-cloog=$ROOT/$TOOLCHAIN \
|
||||
--without-ppl \
|
||||
--without-cloog \
|
||||
--with-gnu-as \
|
||||
--with-gnu-ld \
|
||||
--enable-languages=c \
|
||||
@@ -52,6 +51,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,16 +69,15 @@ BOOTSTRAP_CONFIGURE_OPTS="--host=$HOST_NAME \
|
||||
--disable-decimal-float \
|
||||
$GCC_OPTS \
|
||||
--disable-nls \
|
||||
--disable-cloog-version-check"
|
||||
--enable-checking=release"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="--target=$TARGET_NAME \
|
||||
--with-sysroot=$SYSROOT_PREFIX \
|
||||
--with-gmp=$ROOT/$TOOLCHAIN \
|
||||
--with-mpfr=$ROOT/$TOOLCHAIN \
|
||||
--with-mpc=$ROOT/$TOOLCHAIN \
|
||||
--with-ppl=$ROOT/$TOOLCHAIN \
|
||||
--disable-ppl-version-check \
|
||||
--with-cloog=$ROOT/$TOOLCHAIN \
|
||||
--without-ppl \
|
||||
--without-cloog \
|
||||
--enable-languages=${TOOLCHAIN_LANGUAGES} \
|
||||
--with-gnu-as \
|
||||
--with-gnu-ld \
|
||||
@@ -88,22 +88,25 @@ PKG_CONFIGURE_OPTS_HOST="--target=$TARGET_NAME \
|
||||
--disable-libssp \
|
||||
--disable-multilib \
|
||||
--disable-libatomic \
|
||||
--disable-libitm \
|
||||
--enable-gold \
|
||||
--enable-ld=default \
|
||||
--enable-plugin \
|
||||
--enable-lto \
|
||||
--disable-libquadmath \
|
||||
--enable-cloog-backend=isl \
|
||||
--disable-libgomp \
|
||||
--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"
|
||||
--enable-checking=release"
|
||||
|
||||
pre_configure_bootstrap() {
|
||||
setup_toolchain host
|
||||
@@ -120,8 +123,6 @@ post_make_host() {
|
||||
|
||||
if [ ! "$DEBUG" = yes ]; then
|
||||
$TARGET_STRIP $TARGET_NAME/libgcc/libgcc_s.so*
|
||||
$TARGET_STRIP $TARGET_NAME/libgomp/.libs/libgomp.so*
|
||||
$TARGET_STRIP $TARGET_NAME/libitm/.libs/libitm.so*
|
||||
$TARGET_STRIP $TARGET_NAME/libstdc++-v3/src/.libs/libstdc++.so*
|
||||
fi
|
||||
}
|
||||
@@ -170,7 +171,6 @@ make_target() {
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/lib
|
||||
cp -P $ROOT/$PKG_BUILD/.$HOST_NAME/$TARGET_NAME/libgcc/libgcc_s.so* $INSTALL/usr/lib
|
||||
cp -P $ROOT/$PKG_BUILD/.$HOST_NAME/$TARGET_NAME/libgomp/.libs/libgomp.so* $INSTALL/usr/lib
|
||||
cp -P $ROOT/$PKG_BUILD/.$HOST_NAME/$TARGET_NAME/libstdc++-v3/src/.libs/libstdc++.so* $INSTALL/usr/lib
|
||||
}
|
||||
|
||||
|
||||
12
packages/lang/gcc/patches/gcc-GCC61801.patch
Normal file
12
packages/lang/gcc/patches/gcc-GCC61801.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
--- trunk/gcc/sched-deps.c 2014/07/17 07:27:38 212737
|
||||
+++ trunk/gcc/sched-deps.c 2014/07/17 07:47:19 212738
|
||||
@@ -2750,7 +2750,8 @@
|
||||
Consider for instance a volatile asm that changes the fpu rounding
|
||||
mode. An insn should not be moved across this even if it only uses
|
||||
pseudo-regs because it might give an incorrectly rounded result. */
|
||||
- if (code != ASM_OPERANDS || MEM_VOLATILE_P (x))
|
||||
+ if ((code != ASM_OPERANDS || MEM_VOLATILE_P (x))
|
||||
+ && !DEBUG_INSN_P (insn))
|
||||
reg_pending_barrier = TRUE_BARRIER;
|
||||
|
||||
/* For all ASM_OPERANDS, we must traverse the vector of input operands.
|
||||
46
packages/lang/gcc/patches/gcc-color-auto.patch
Normal file
46
packages/lang/gcc/patches/gcc-color-auto.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
2013-09-20 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* common.opt (-fdiagnostics-color=): Default to auto.
|
||||
* toplev.c (process_options): Always default to
|
||||
-fdiagnostics-color=auto if no -f{,no-}diagnostics-color*.
|
||||
* doc/invoke.texi (-fdiagnostics-color*): Adjust documentation
|
||||
of the default.
|
||||
|
||||
--- a/gcc/common.opt.jj 2013-09-18 12:06:53.000000000 +0200
|
||||
+++ b/gcc/common.opt 2013-09-20 10:00:00.935823900 +0200
|
||||
@@ -1037,7 +1037,7 @@ Common Alias(fdiagnostics-color=,always,
|
||||
;
|
||||
|
||||
fdiagnostics-color=
|
||||
-Common Joined RejectNegative Var(flag_diagnostics_show_color) Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_NO)
|
||||
+Common Joined RejectNegative Var(flag_diagnostics_show_color) Enum(diagnostic_color_rule) Init(DIAGNOSTICS_COLOR_AUTO)
|
||||
-fdiagnostics-color=[never|always|auto] Colorize diagnostics
|
||||
|
||||
; Required for these enum values.
|
||||
--- a/gcc/toplev.c.jj 2013-09-09 11:32:39.000000000 +0200
|
||||
+++ b/gcc/toplev.c 2013-09-20 10:10:08.198721005 +0200
|
||||
@@ -1229,10 +1229,8 @@ process_options (void)
|
||||
|
||||
maximum_field_alignment = initial_max_fld_align * BITS_PER_UNIT;
|
||||
|
||||
- /* Default to -fdiagnostics-color=auto if GCC_COLORS is in the environment,
|
||||
- otherwise default to -fdiagnostics-color=never. */
|
||||
- if (!global_options_set.x_flag_diagnostics_show_color
|
||||
- && getenv ("GCC_COLORS"))
|
||||
+ /* Default to -fdiagnostics-color=auto. */
|
||||
+ if (!global_options_set.x_flag_diagnostics_show_color)
|
||||
pp_show_color (global_dc->printer)
|
||||
= colorize_init (DIAGNOSTICS_COLOR_AUTO);
|
||||
|
||||
--- a/gcc/doc/invoke.texi.jj 2013-09-18 12:06:50.000000000 +0200
|
||||
+++ b/gcc/doc/invoke.texi 2013-09-20 10:09:29.079904455 +0200
|
||||
@@ -3046,8 +3046,7 @@ a message which is too long to fit on a
|
||||
@cindex highlight, color, colour
|
||||
@vindex GCC_COLORS @r{environment variable}
|
||||
Use color in diagnostics. @var{WHEN} is @samp{never}, @samp{always},
|
||||
-or @samp{auto}. The default is @samp{never} if @env{GCC_COLORS} environment
|
||||
-variable isn't present in the environment, and @samp{auto} otherwise.
|
||||
+or @samp{auto}. The default is @samp{auto}.
|
||||
@samp{auto} means to use color only when the standard error is a terminal.
|
||||
The forms @option{-fdiagnostics-color} and @option{-fno-diagnostics-color} are
|
||||
aliases for @option{-fdiagnostics-color=always} and
|
||||
@@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="llvm"
|
||||
PKG_VERSION="3.4.1"
|
||||
PKG_VERSION="3.5.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://llvm.org/"
|
||||
PKG_URL="http://llvm.org/releases/$PKG_VERSION/${PKG_NAME}-${PKG_VERSION}.src.tar.gz"
|
||||
PKG_URL="http://llvm.org/releases/$PKG_VERSION/${PKG_NAME}-${PKG_VERSION}.src.tar.xz"
|
||||
PKG_SOURCE_DIR="${PKG_NAME}-${PKG_VERSION}.src"
|
||||
PKG_DEPENDS_HOST=""
|
||||
PKG_DEPENDS_TARGET="toolchain llvm:host"
|
||||
@@ -98,11 +98,6 @@ pre_configure_host() {
|
||||
autoconf --force --verbose -I m4 -o ../configure
|
||||
)
|
||||
|
||||
( cd ../projects/sample/autoconf
|
||||
aclocal --force --verbose -I m4
|
||||
autoconf --force --verbose -I m4 -o ../configure
|
||||
)
|
||||
|
||||
# we are building hosttools inside the target builddir
|
||||
mkdir -p ../.$TARGET_NAME && cd ../.$TARGET_NAME/
|
||||
rm -rf ../.$HOST_NAME
|
||||
@@ -110,14 +105,8 @@ pre_configure_host() {
|
||||
}
|
||||
|
||||
pre_configure_target() {
|
||||
# llvm fails to build with LTO support
|
||||
strip_lto
|
||||
|
||||
# llvm 3.3+ fails to build with -Os
|
||||
# see https://bugs.gentoo.org/show_bug.cgi?id=489708
|
||||
# please test without this on llvm upgrade
|
||||
export CFLAGS=`echo $CFLAGS | sed -e "s|-Os|-O2|"`
|
||||
export CXXFLAGS=`echo $CFLAGS | sed -e "s|-Os|-O2|"`
|
||||
export CFLAGS="$CFLAGS -fPIC"
|
||||
export CXXFLAGS="$CXXFLAGS -fPIC"
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
|
||||
@@ -1,114 +0,0 @@
|
||||
diff -Naur llvm-3.3.src/autoconf/configure.ac llvm-3.3.src.patch/autoconf/configure.ac
|
||||
--- llvm-3.3.src/autoconf/configure.ac 2013-05-20 22:18:23.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/autoconf/configure.ac 2013-09-24 07:20:25.485443916 +0200
|
||||
@@ -461,6 +461,10 @@
|
||||
AC_CHECK_PROG(BUILD_CXX, c++, c++, , , /usr/ucb/c++)
|
||||
fi
|
||||
fi
|
||||
+ AC_SUBST(BUILD_CPPFLAGS)
|
||||
+ AC_SUBST(BUILD_CFLAGS)
|
||||
+ AC_SUBST(BUILD_CXXFLAGS)
|
||||
+ AC_SUBST(BUILD_LDFLAGS)
|
||||
else
|
||||
AC_SUBST(LLVM_CROSS_COMPILING, [0])
|
||||
fi
|
||||
diff -Naur llvm-3.3.src/autoconf/m4/build_exeext.m4 llvm-3.3.src.patch/autoconf/m4/build_exeext.m4
|
||||
--- llvm-3.3.src/autoconf/m4/build_exeext.m4 2008-09-26 19:27:58.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/autoconf/m4/build_exeext.m4 2013-09-24 07:20:25.485443916 +0200
|
||||
@@ -18,7 +18,7 @@
|
||||
fi
|
||||
fi
|
||||
test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
- ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
+ ac_build_link='${BUILD_CC-cc} -o conftest $BUILD_CFLAGS $BUILD_CPPFLAGS $BUILD_LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_build_exeext=
|
||||
diff -Naur llvm-3.3.src/Makefile llvm-3.3.src.patch/Makefile
|
||||
--- llvm-3.3.src/Makefile 2013-01-28 04:19:57.000000000 +0100
|
||||
+++ llvm-3.3.src.patch/Makefile 2013-09-24 07:21:27.489493235 +0200
|
||||
@@ -99,44 +99,6 @@
|
||||
DIRS := $(filter-out unittests, $(DIRS))
|
||||
endif
|
||||
|
||||
-# If we're cross-compiling, build the build-hosted tools first
|
||||
-ifeq ($(LLVM_CROSS_COMPILING),1)
|
||||
-all:: cross-compile-build-tools
|
||||
-
|
||||
-clean::
|
||||
- $(Verb) rm -rf BuildTools
|
||||
-
|
||||
-cross-compile-build-tools:
|
||||
- $(Verb) if [ ! -f BuildTools/Makefile ]; then \
|
||||
- $(MKDIR) BuildTools; \
|
||||
- cd BuildTools ; \
|
||||
- unset CFLAGS ; \
|
||||
- unset CXXFLAGS ; \
|
||||
- unset SDKROOT ; \
|
||||
- unset UNIVERSAL_SDK_PATH ; \
|
||||
- $(PROJ_SRC_DIR)/configure --build=$(BUILD_TRIPLE) \
|
||||
- --host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE) \
|
||||
- --disable-polly ; \
|
||||
- cd .. ; \
|
||||
- fi; \
|
||||
- ($(MAKE) -C BuildTools \
|
||||
- BUILD_DIRS_ONLY=1 \
|
||||
- UNIVERSAL= \
|
||||
- UNIVERSAL_SDK_PATH= \
|
||||
- SDKROOT= \
|
||||
- TARGET_NATIVE_ARCH="$(TARGET_NATIVE_ARCH)" \
|
||||
- TARGETS_TO_BUILD="$(TARGETS_TO_BUILD)" \
|
||||
- ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \
|
||||
- ENABLE_PROFILING=$(ENABLE_PROFILING) \
|
||||
- ENABLE_COVERAGE=$(ENABLE_COVERAGE) \
|
||||
- DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \
|
||||
- ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \
|
||||
- ENABLE_LIBCPP=$(ENABLE_LIBCPP) \
|
||||
- CFLAGS= \
|
||||
- CXXFLAGS= \
|
||||
- ) || exit 1;
|
||||
-endif
|
||||
-
|
||||
# Include the main makefile machinery.
|
||||
include $(LLVM_SRC_ROOT)/Makefile.rules
|
||||
|
||||
diff -Naur llvm-3.3.src/Makefile.config.in llvm-3.3.src.patch/Makefile.config.in
|
||||
--- llvm-3.3.src/Makefile.config.in 2013-04-23 10:28:39.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/Makefile.config.in 2013-09-24 07:20:25.487443917 +0200
|
||||
@@ -130,6 +130,10 @@
|
||||
# call if we're cross-compiling).
|
||||
BUILD_CC=@BUILD_CC@
|
||||
BUILD_CXX=@BUILD_CXX@
|
||||
+BUILD_CPPFLAGS=@BUILD_CPPFLAGS@
|
||||
+BUILD_CFLAGS=@BUILD_CFLAGS@
|
||||
+BUILD_CXXFLAGS=@BUILD_CXXFLAGS@
|
||||
+BUILD_LDFLAGS=@BUILD_LDFLAGS@
|
||||
|
||||
# Triple for configuring build tools when cross-compiling
|
||||
BUILD_TRIPLE=@build@
|
||||
diff -Naur llvm-3.3.src/projects/sample/autoconf/configure.ac llvm-3.3.src.patch/projects/sample/autoconf/configure.ac
|
||||
--- llvm-3.3.src/projects/sample/autoconf/configure.ac 2013-05-06 18:23:07.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/projects/sample/autoconf/configure.ac 2013-09-24 07:33:47.746272015 +0200
|
||||
@@ -345,6 +345,10 @@
|
||||
AC_CHECK_PROG(BUILD_CXX, c++, c++, , , /usr/ucb/c++)
|
||||
fi
|
||||
fi
|
||||
+ AC_SUBST(BUILD_CPPFLAGS)
|
||||
+ AC_SUBST(BUILD_CFLAGS)
|
||||
+ AC_SUBST(BUILD_CXXFLAGS)
|
||||
+ AC_SUBST(BUILD_LDFLAGS)
|
||||
else
|
||||
AC_SUBST(LLVM_CROSS_COMPILING, [0])
|
||||
fi
|
||||
diff -Naur llvm-3.3.src/projects/sample/autoconf/m4/build_exeext.m4 llvm-3.3.src.patch/projects/sample/autoconf/m4/build_exeext.m4
|
||||
--- llvm-3.3.src/projects/sample/autoconf/m4/build_exeext.m4 2011-10-19 01:10:47.000000000 +0200
|
||||
+++ llvm-3.3.src.patch/projects/sample/autoconf/m4/build_exeext.m4 2013-09-24 07:32:18.332178706 +0200
|
||||
@@ -18,7 +18,7 @@
|
||||
fi
|
||||
fi
|
||||
test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
- ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
+ ac_build_link='${BUILD_CC-cc} -o conftest $BUILD_CFLAGS $BUILD_CPPFLAGS $BUILD_LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_build_exeext=
|
||||
98
packages/lang/llvm/patches/llvm-3.5-cross.patch
Normal file
98
packages/lang/llvm/patches/llvm-3.5-cross.patch
Normal file
@@ -0,0 +1,98 @@
|
||||
diff -Naur llvm-3.5.0.src/autoconf/configure.ac llvm-3.5.0.src.patch/autoconf/configure.ac
|
||||
--- llvm-3.5.0.src/autoconf/configure.ac 2014-07-25 19:47:30.000000000 +0200
|
||||
+++ llvm-3.5.0.src.patch/autoconf/configure.ac 2014-09-05 10:42:58.947215468 +0200
|
||||
@@ -485,6 +485,10 @@
|
||||
AC_CHECK_PROG(BUILD_CXX, c++, c++, , , /usr/ucb/c++)
|
||||
fi
|
||||
fi
|
||||
+ AC_SUBST(BUILD_CPPFLAGS)
|
||||
+ AC_SUBST(BUILD_CFLAGS)
|
||||
+ AC_SUBST(BUILD_CXXFLAGS)
|
||||
+ AC_SUBST(BUILD_LDFLAGS)
|
||||
else
|
||||
AC_SUBST(LLVM_CROSS_COMPILING, [0])
|
||||
fi
|
||||
diff -Naur llvm-3.5.0.src/autoconf/m4/build_exeext.m4 llvm-3.5.0.src.patch/autoconf/m4/build_exeext.m4
|
||||
--- llvm-3.5.0.src/autoconf/m4/build_exeext.m4 2008-09-26 19:27:58.000000000 +0200
|
||||
+++ llvm-3.5.0.src.patch/autoconf/m4/build_exeext.m4 2014-09-05 10:42:58.948215478 +0200
|
||||
@@ -18,7 +18,7 @@
|
||||
fi
|
||||
fi
|
||||
test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
- ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
+ ac_build_link='${BUILD_CC-cc} -o conftest $BUILD_CFLAGS $BUILD_CPPFLAGS $BUILD_LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_build_exeext=
|
||||
diff -Naur llvm-3.5.0.src/Makefile llvm-3.5.0.src.patch/Makefile
|
||||
--- llvm-3.5.0.src/Makefile 2014-03-25 22:45:41.000000000 +0100
|
||||
+++ llvm-3.5.0.src.patch/Makefile 2014-09-05 10:45:20.542528330 +0200
|
||||
@@ -99,54 +99,6 @@
|
||||
DIRS := $(filter-out unittests, $(DIRS))
|
||||
endif
|
||||
|
||||
-# If we're cross-compiling, build the build-hosted tools first
|
||||
-ifeq ($(LLVM_CROSS_COMPILING),1)
|
||||
-all:: cross-compile-build-tools
|
||||
-
|
||||
-clean::
|
||||
- $(Verb) rm -rf BuildTools
|
||||
-
|
||||
-cross-compile-build-tools:
|
||||
- $(Verb) if [ ! -f BuildTools/Makefile ]; then \
|
||||
- $(MKDIR) BuildTools; \
|
||||
- cd BuildTools ; \
|
||||
- unset CFLAGS ; \
|
||||
- unset CXXFLAGS ; \
|
||||
- AR=$(BUILD_AR) ; \
|
||||
- AS=$(BUILD_AS) ; \
|
||||
- LD=$(BUILD_LD) ; \
|
||||
- CC=$(BUILD_CC) ; \
|
||||
- CXX=$(BUILD_CXX) ; \
|
||||
- unset SDKROOT ; \
|
||||
- unset UNIVERSAL_SDK_PATH ; \
|
||||
- configure_opts= ; \
|
||||
- if test "$(ENABLE_LIBCPP)" -ne 0 ; then \
|
||||
- configure_opts="$$configure_opts --enable-libcpp"; \
|
||||
- fi; \
|
||||
- $(PROJ_SRC_DIR)/configure --build=$(BUILD_TRIPLE) \
|
||||
- --host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE) \
|
||||
- --disable-polly $$configure_opts; \
|
||||
- cd .. ; \
|
||||
- fi; \
|
||||
- ($(MAKE) -C BuildTools \
|
||||
- BUILD_DIRS_ONLY=1 \
|
||||
- UNIVERSAL= \
|
||||
- UNIVERSAL_SDK_PATH= \
|
||||
- SDKROOT= \
|
||||
- TARGET_NATIVE_ARCH="$(TARGET_NATIVE_ARCH)" \
|
||||
- TARGETS_TO_BUILD="$(TARGETS_TO_BUILD)" \
|
||||
- TARGET_LIBS="$(LIBS)" \
|
||||
- ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \
|
||||
- ENABLE_PROFILING=$(ENABLE_PROFILING) \
|
||||
- ENABLE_COVERAGE=$(ENABLE_COVERAGE) \
|
||||
- DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \
|
||||
- ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \
|
||||
- ENABLE_LIBCPP=$(ENABLE_LIBCPP) \
|
||||
- CFLAGS= \
|
||||
- CXXFLAGS= \
|
||||
- ) || exit 1;
|
||||
-endif
|
||||
-
|
||||
# Include the main makefile machinery.
|
||||
include $(LLVM_SRC_ROOT)/Makefile.rules
|
||||
|
||||
diff -Naur llvm-3.5.0.src/Makefile.config.in llvm-3.5.0.src.patch/Makefile.config.in
|
||||
--- llvm-3.5.0.src/Makefile.config.in 2014-07-16 18:50:34.000000000 +0200
|
||||
+++ llvm-3.5.0.src.patch/Makefile.config.in 2014-09-05 10:42:58.954215572 +0200
|
||||
@@ -135,6 +135,10 @@
|
||||
# call if we're cross-compiling).
|
||||
BUILD_CC=@BUILD_CC@
|
||||
BUILD_CXX=@BUILD_CXX@
|
||||
+BUILD_CPPFLAGS=@BUILD_CPPFLAGS@
|
||||
+BUILD_CFLAGS=@BUILD_CFLAGS@
|
||||
+BUILD_CXXFLAGS=@BUILD_CXXFLAGS@
|
||||
+BUILD_LDFLAGS=@BUILD_LDFLAGS@
|
||||
|
||||
# Triple for configuring build tools when cross-compiling
|
||||
BUILD_TRIPLE=@build@
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -Naur llvm.src/Makefile.rules llvm.src.patch/Makefile.rules
|
||||
--- llvm.src/Makefile.rules 2013-11-15 00:51:29.000000000 +0100
|
||||
+++ llvm.src.patch/Makefile.rules 2014-01-04 16:33:49.254066226 +0100
|
||||
@@ -577,14 +577,6 @@
|
||||
diff -Naur llvm-3.5.0.src/Makefile.rules llvm-3.5.0.src.patch/Makefile.rules
|
||||
--- llvm-3.5.0.src/Makefile.rules 2014-06-20 21:00:41.000000000 +0200
|
||||
+++ llvm-3.5.0.src.patch/Makefile.rules 2014-09-05 11:04:20.267554714 +0200
|
||||
@@ -594,16 +594,6 @@
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -9,6 +9,8 @@ diff -Naur llvm.src/Makefile.rules llvm.src.patch/Makefile.rules
|
||||
-ifneq ($(HOST_OS), $(filter $(HOST_OS), Cygwin MingW))
|
||||
-ifneq ($(HOST_OS),Darwin)
|
||||
- LD.Flags += $(RPATH) -Wl,'$$ORIGIN'
|
||||
-else
|
||||
- LD.Flags += -Wl,-install_name -Wl,"@rpath/lib$(LIBRARYNAME)$(SHLIBEXT)"
|
||||
-endif
|
||||
-endif
|
||||
-endif
|
||||
@@ -16,7 +18,7 @@ diff -Naur llvm.src/Makefile.rules llvm.src.patch/Makefile.rules
|
||||
ifdef TOOL_VERBOSE
|
||||
C.Flags += -v
|
||||
CXX.Flags += -v
|
||||
@@ -613,14 +605,7 @@
|
||||
@@ -650,14 +640,7 @@
|
||||
ifndef TOOL_NO_EXPORTS
|
||||
LD.Flags += $(RDYNAMIC)
|
||||
endif
|
||||
49
packages/lang/llvm/patches/llvm-3.5-gcc-4.9.patch
Normal file
49
packages/lang/llvm/patches/llvm-3.5-gcc-4.9.patch
Normal file
@@ -0,0 +1,49 @@
|
||||
The shared-object build for llvm (i.e. libLLVM-3.5svn.so + tools)
|
||||
currently breaks on linux when linking opt. This patch is an attempt
|
||||
to fix that.
|
||||
|
||||
-- Sanjoy
|
||||
-------------- next part --------------
|
||||
commit 080fb498017d17af2e4d7563608c7d8a848f20da
|
||||
Author: Sanjoy Das <sanjoy at azulsystems.com>
|
||||
Date: Thu Jun 19 15:38:02 2014 -0700
|
||||
|
||||
Fix the --enable-shared build.
|
||||
|
||||
Currently a build configured with ./configure --enable-shared breaks
|
||||
with an undefined "llvm::cl::parser<llvm::PassInfo
|
||||
const*>::getOption(unsigned int) const" symbol when linking opt. This
|
||||
body for this symbol gets emitted into Pass.o (along with the destructor
|
||||
for PassNameParser), but gets linked into libLLVM-3.5svn.so with local
|
||||
visibility, causing the link error.
|
||||
|
||||
This fix uses the existing EXTERN_TEMPLATE machinery to force a globally
|
||||
visible definition for the functions in parser<const PassInfo *> into
|
||||
Pass.o.
|
||||
|
||||
diff --git a/include/llvm/IR/LegacyPassNameParser.h b/include/llvm/IR/LegacyPassNameParser.h
|
||||
index e2e4912..a07e3fd 100644
|
||||
--- a/include/llvm/IR/LegacyPassNameParser.h
|
||||
+++ b/include/llvm/IR/LegacyPassNameParser.h
|
||||
@@ -95,6 +95,8 @@ private:
|
||||
}
|
||||
};
|
||||
|
||||
+EXTERN_TEMPLATE_INSTANTIATION(class cl::parser<const PassInfo *>);
|
||||
+
|
||||
///===----------------------------------------------------------------------===//
|
||||
/// FilteredPassNameParser class - Make use of the pass registration
|
||||
/// mechanism to automatically add a command line argument to opt for
|
||||
diff --git a/lib/IR/Pass.cpp b/lib/IR/Pass.cpp
|
||||
index 91d86ae..00ce223 100644
|
||||
--- a/lib/IR/Pass.cpp
|
||||
+++ b/lib/IR/Pass.cpp
|
||||
@@ -234,6 +234,8 @@ PassNameParser::~PassNameParser() {
|
||||
// attempting to remove the registration listener is an error.
|
||||
}
|
||||
|
||||
+TEMPLATE_INSTANTIATION(class cl::parser<const PassInfo *>);
|
||||
+
|
||||
//===----------------------------------------------------------------------===//
|
||||
// AnalysisUsage Class Implementation
|
||||
//
|
||||
@@ -0,0 +1,11 @@
|
||||
diff -Naur RTL8812AU-b22cbdf/os_dep/linux/usb_intf.c RTL8812AU-b22cbdf.patch/os_dep/linux/usb_intf.c
|
||||
--- RTL8812AU-b22cbdf/os_dep/linux/usb_intf.c 2014-04-12 01:49:09.000000000 +0200
|
||||
+++ RTL8812AU-b22cbdf.patch/os_dep/linux/usb_intf.c 2014-09-14 15:05:39.598324411 +0200
|
||||
@@ -285,6 +285,7 @@
|
||||
/*=== Customer ID ===*/
|
||||
{USB_DEVICE(0x7392, 0xA811),.driver_info = RTL8821}, /* Edimax - Edimax */
|
||||
{USB_DEVICE(0x2001, 0x3314),.driver_info = RTL8821}, /* D-Link - Cameo */
|
||||
+ {USB_DEVICE(0x0846, 0x9052),.driver_info = RTL8821}, /* Netgear - A6100 */
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_RTL8192E
|
||||
@@ -0,0 +1,11 @@
|
||||
diff -Naur RTL8812AU-b22cbdf/os_dep/linux/usb_intf.c RTL8812AU-b22cbdf.patch/os_dep/linux/usb_intf.c
|
||||
--- RTL8812AU-b22cbdf/os_dep/linux/usb_intf.c 2014-09-14 15:05:39.598324411 +0200
|
||||
+++ RTL8812AU-b22cbdf.patch/os_dep/linux/usb_intf.c 2014-09-14 15:07:13.256227216 +0200
|
||||
@@ -284,6 +284,7 @@
|
||||
{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8822),.driver_info = RTL8821},/* Default ID */
|
||||
/*=== Customer ID ===*/
|
||||
{USB_DEVICE(0x7392, 0xA811),.driver_info = RTL8821}, /* Edimax - Edimax */
|
||||
+ {USB_DEVICE(0x7392, 0xA812),.driver_info = RTL8821}, /* Edimax - Edimax */
|
||||
{USB_DEVICE(0x2001, 0x3314),.driver_info = RTL8821}, /* D-Link - Cameo */
|
||||
{USB_DEVICE(0x0846, 0x9052),.driver_info = RTL8821}, /* Netgear - A6100 */
|
||||
#endif
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user