calc: add patch to fix build on 32-bit big endian from debian
This commit is contained in:
parent
ee61f9bacd
commit
d4e7bc530c
38
srcpkgs/calc/patches/endian-32.patch
Normal file
38
srcpkgs/calc/patches/endian-32.patch
Normal file
@ -0,0 +1,38 @@
|
||||
Description: Restore filepos2z() implementation from apcalc 2.12.1.5
|
||||
Fixes a FTBFS bug on big endian machines.
|
||||
This is probably not the right solution, but at least it works.
|
||||
.
|
||||
Update 2019-01-14: Still required with calc 2.12.7.2 on mips, otherwise, we
|
||||
get this (on minkus.debian.org, sid chroot):
|
||||
.
|
||||
gcc -DCALC_SRC -DCUSTOM -Wall -g -O2 -fdebug-prefix-map=/home/mbuck/apcalc-2.12.7.2=. -fstack-protector-strong -Wformat -Werror=format-security -O3 -g3 -Wno-error=long-long -Wno-long-long -c file.c
|
||||
In file included from qmath.h:32,
|
||||
from cmath.h:32,
|
||||
from value.h:33,
|
||||
from calc.h:33,
|
||||
from file.c:39:
|
||||
file.c: In function 'filepos2z':
|
||||
zmath.h:85:46: error: incompatible types when assigning to type 'HALF' {aka 'long unsigned int'} from type 'FILEPOS' {aka 'struct _G_fpos_t'}
|
||||
#define SWAP_HALF_IN_B32(dest, src) (*(dest) = *(src))
|
||||
^
|
||||
fposval.h:15:42: note: in expansion of macro 'SWAP_HALF_IN_B32'
|
||||
#define SWAP_HALF_IN_FILEPOS(dest, src) SWAP_HALF_IN_B32(dest, src)
|
||||
^~~~~~~~~~~~~~~~
|
||||
file.c:1370:2: note: in expansion of macro 'SWAP_HALF_IN_FILEPOS'
|
||||
SWAP_HALF_IN_FILEPOS(ret.v, &pos);
|
||||
^~~~~~~~~~~~~~~~~~~~
|
||||
Bug-Debian: http://bugs.debian.org/414893
|
||||
Forwarded: yes
|
||||
Author: Martin Buck <mbuck@debian.org>
|
||||
---
|
||||
--- file.c
|
||||
+++ file.c
|
||||
@@ -1367,7 +1367,7 @@
|
||||
ret.len = FILEPOS_BITS/BASEB;
|
||||
ret.v = alloc(ret.len);
|
||||
zclearval(ret);
|
||||
- SWAP_HALF_IN_FILEPOS(ret.v, &pos);
|
||||
+ SWAP_HALF_IN_FILEPOS(ret.v, (HALF *)&pos);
|
||||
ret.sign = 0;
|
||||
ztrim(&ret);
|
||||
|
Loading…
x
Reference in New Issue
Block a user