mirror of
https://github.com/void-linux/void-packages.git
synced 2025-08-02 02:42:56 +02:00
osg: fix gcc6 build
This commit is contained in:
parent
0d6d8e1692
commit
a0cdb7c5bf
2 changed files with 67 additions and 1 deletions
60
srcpkgs/osg/patches/fix-gcc6-narrowing.patch
Normal file
60
srcpkgs/osg/patches/fix-gcc6-narrowing.patch
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
Use short instead of char for the decoding[] table.
|
||||||
|
Also fix an off-by-one error when checking the upper boundary for value_in.
|
||||||
|
|
||||||
|
--- src/osgDB/ConvertBase64.cpp 2015-07-23 13:14:00.000000000 +0200
|
||||||
|
+++ src/osgDB/ConvertBase64.cpp 2016-12-06 14:05:50.435406287 +0100
|
||||||
|
@@ -28,10 +28,10 @@
|
||||||
|
|
||||||
|
int base64_decode_value(char value_in)
|
||||||
|
{
|
||||||
|
- static const char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51};
|
||||||
|
- static const char decoding_size = sizeof(decoding);
|
||||||
|
+ static const short decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51};
|
||||||
|
+ static const int decoding_size = sizeof(decoding) / sizeof(decoding[0]);
|
||||||
|
value_in -= 43;
|
||||||
|
- if (value_in < 0 || value_in > decoding_size) return -1;
|
||||||
|
+ if (value_in < 0 || value_in >= decoding_size) return -1;
|
||||||
|
return decoding[(int)value_in];
|
||||||
|
}
|
||||||
|
|
||||||
|
--- src/osgPlugins/osgjs/Base64.cpp 2015-03-09 12:27:26.000000000 +0100
|
||||||
|
+++ src/osgPlugins/osgjs/Base64.cpp 2016-12-06 14:27:36.284022097 +0100
|
||||||
|
@@ -20,22 +20,22 @@
|
||||||
|
|
||||||
|
const char _from_table[128] =
|
||||||
|
{
|
||||||
|
- -1, -1, -1, -1, -1, -1, -1, -1, // 0
|
||||||
|
- -1, -1, -1, -1, -1, -1, -1, -1, // 8
|
||||||
|
- -1, -1, -1, -1, -1, -1, -1, -1, // 16
|
||||||
|
- -1, -1, -1, -1, -1, -1, -1, -1, // 24
|
||||||
|
- -1, -1, -1, -1, -1, -1, -1, -1, // 32
|
||||||
|
- -1, -1, -1, 62, -1, -1, -1, 63, // 40
|
||||||
|
- 52, 53, 54, 55, 56, 57, 58, 59, // 48
|
||||||
|
- 60, 61, -1, -1, -1, 0, -1, -1, // 56
|
||||||
|
- -1, 0, 1, 2, 3, 4, 5, 6, // 64
|
||||||
|
- 7, 8, 9, 10, 11, 12, 13, 14, // 72
|
||||||
|
- 15, 16, 17, 18, 19, 20, 21, 22, // 80
|
||||||
|
- 23, 24, 25, -1, -1, -1, -1, -1, // 88
|
||||||
|
- -1, 26, 27, 28, 29, 30, 31, 32, // 96
|
||||||
|
- 33, 34, 35, 36, 37, 38, 39, 40, // 104
|
||||||
|
- 41, 42, 43, 44, 45, 46, 47, 48, // 112
|
||||||
|
- 49, 50, 51, -1, -1, -1, -1, -1 // 120
|
||||||
|
+ '\xff','\xff','\xff','\xff','\xff','\xff','\xff','\xff', // 0
|
||||||
|
+ '\xff','\xff','\xff','\xff','\xff','\xff','\xff','\xff', // 8
|
||||||
|
+ '\xff','\xff','\xff','\xff','\xff','\xff','\xff','\xff', // 16
|
||||||
|
+ '\xff','\xff','\xff','\xff','\xff','\xff','\xff','\xff', // 24
|
||||||
|
+ '\xff','\xff','\xff','\xff','\xff','\xff','\xff','\xff', // 32
|
||||||
|
+ '\xff','\xff','\xff', 62,'\xff','\xff','\xff', 63, // 40
|
||||||
|
+ 52, 53, 54, 55, 56, 57, 58, 59, // 48
|
||||||
|
+ 60, 61,'\xff','\xff','\xff', 0,'\xff','\xff', // 56
|
||||||
|
+ '\xff', 0, 1, 2, 3, 4, 5, 6, // 64
|
||||||
|
+ 7, 8, 9, 10, 11, 12, 13, 14, // 72
|
||||||
|
+ 15, 16, 17, 18, 19, 20, 21, 22, // 80
|
||||||
|
+ 23, 24, 25,'\xff','\xff','\xff','\xff','\xff', // 88
|
||||||
|
+ '\xff', 26, 27, 28, 29, 30, 31, 32, // 96
|
||||||
|
+ 33, 34, 35, 36, 37, 38, 39, 40, // 104
|
||||||
|
+ 41, 42, 43, 44, 45, 46, 47, 48, // 112
|
||||||
|
+ 49, 50, 51,'\xff','\xff','\xff','\xff','\xff' // 120
|
||||||
|
};
|
||||||
|
const char* from_table = _from_table;
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'osg'
|
# Template file for 'osg'
|
||||||
pkgname=osg
|
pkgname=osg
|
||||||
version=3.4.0
|
version=3.4.0
|
||||||
revision=6
|
revision=7
|
||||||
wrksrc=OpenSceneGraph-${version}
|
wrksrc=OpenSceneGraph-${version}
|
||||||
build_style=cmake
|
build_style=cmake
|
||||||
# don't use /usr/lib64 on 64bit platforms
|
# don't use /usr/lib64 on 64bit platforms
|
||||||
|
@ -22,6 +22,12 @@ homepage="http://www.openscenegraph.org"
|
||||||
distfiles="http://trac.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-${version}.zip"
|
distfiles="http://trac.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-${version}.zip"
|
||||||
checksum=5c727d84755da276adf8c4a4a3a8ba9c9570fc4b4969f06f1d2e9f89b1e3040e
|
checksum=5c727d84755da276adf8c4a4a3a8ba9c9570fc4b4969f06f1d2e9f89b1e3040e
|
||||||
|
|
||||||
|
# Append CFLAGS and CXXFLAGS to set work around code which gcc6 would
|
||||||
|
# otherwise regard as out-of-specification and allow it to produce a
|
||||||
|
# working program.
|
||||||
|
CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
|
||||||
|
CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2 -Wno-deprecated-declarations"
|
||||||
|
|
||||||
build_options="openexr poppler qt vnc"
|
build_options="openexr poppler qt vnc"
|
||||||
build_options_default="openexr poppler vnc"
|
build_options_default="openexr poppler vnc"
|
||||||
desc_option_openexr="Enable support for high dynamic range images"
|
desc_option_openexr="Enable support for high dynamic range images"
|
||||||
|
|
Loading…
Add table
Reference in a new issue