aboutsummaryrefslogtreecommitdiffstats
path: root/main/qca
diff options
context:
space:
mode:
authorCarlo Landmeter <clandmeter@gmail.com>2016-08-16 12:24:18 +0000
committerCarlo Landmeter <clandmeter@gmail.com>2016-08-16 12:24:18 +0000
commit66762f7c4ea2936653ac1e097c3430d648ab175a (patch)
tree06cead6488218ee48100cabdf63d82f582c85a67 /main/qca
parent867f0e31599421486e2a0988a040e4fc9a994d5e (diff)
main/qca: build fix aarch64
Diffstat (limited to 'main/qca')
-rw-r--r--main/qca/APKBUILD27
-rw-r--r--main/qca/fix-base64-decoding-on-ARM.patch36
2 files changed, 47 insertions, 16 deletions
diff --git a/main/qca/APKBUILD b/main/qca/APKBUILD
index 9d0644dbffd..1f18231938e 100644
--- a/main/qca/APKBUILD
+++ b/main/qca/APKBUILD
@@ -13,34 +13,29 @@ makedepends="$depends_dev"
install=""
subpackages="$pkgname-dev $pkgname-doc"
source="http://delta.affinix.com/download/qca/2.0/qca-$pkgver.tar.bz2
- secmem.patch"
+ secmem.patch
+ fix-base64-decoding-on-ARM.patch"
-_builddir="$srcdir"/qca-$pkgver
-prepare() {
- local i
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
-}
+builddir="$srcdir"/qca-$pkgver
build() {
- cd "$_builddir"
+ cd "$builddir"
./configure --prefix=/usr \
|| return 1
make || return 1
}
package() {
- cd "$_builddir"
+ cd "$builddir"
make INSTALL_ROOT="$pkgdir" install || return 1
}
md5sums="fc15bd4da22b8096c51fcfe52d2fa309 qca-2.0.3.tar.bz2
-53f5a927d6d654c5a82e106834e79985 secmem.patch"
+53f5a927d6d654c5a82e106834e79985 secmem.patch
+e95b9bc20c732c4f656a28757d4588c7 fix-base64-decoding-on-ARM.patch"
sha256sums="8da20c89f390954fdcfcd3c4deef379213ddb5ae9d6b5e0c917d23f5e474895f qca-2.0.3.tar.bz2
-0bbe520dfe5f7d3114ed4b6cc772b0250472674b86415fe1d1aeaccaa7271257 secmem.patch"
+0bbe520dfe5f7d3114ed4b6cc772b0250472674b86415fe1d1aeaccaa7271257 secmem.patch
+31b61bed284f75c884888673af0a26aae5bf9c7e6f49e964c2fa1f24892a20cc fix-base64-decoding-on-ARM.patch"
sha512sums="c1120ffb373e294fbcc76e21dc2f503ebd3398b26d0ffa7ab7ee3a3e1a4228159358b59c2673ac4a1c2363771e61da54a5080b201c65d586ceda2e3b2facc1bb qca-2.0.3.tar.bz2
-a06519a055af21d53bed65d90e31089d3c1e3fdf2459c6c52c394678cb0775a5f262728617eecbbd9e8e7f0340c7aa9326a8eb030de6214e24d7590032db5444 secmem.patch"
+a06519a055af21d53bed65d90e31089d3c1e3fdf2459c6c52c394678cb0775a5f262728617eecbbd9e8e7f0340c7aa9326a8eb030de6214e24d7590032db5444 secmem.patch
+583c338fe8803f2fc17c8f931efccc893eda32f96b441c764f7d68844c32af3f8e9df61a58e50321ff692b7d1e4d7f06154832dafb982868c7cefad7da20f6ef fix-base64-decoding-on-ARM.patch"
diff --git a/main/qca/fix-base64-decoding-on-ARM.patch b/main/qca/fix-base64-decoding-on-ARM.patch
new file mode 100644
index 00000000000..06deb38258f
--- /dev/null
+++ b/main/qca/fix-base64-decoding-on-ARM.patch
@@ -0,0 +1,36 @@
+From: Rolf Eike Beer <eb@emlix.com>
+Date: Mon, 27 Jun 2016 10:55:51 +0000
+Subject: fix base64 decoding on ARM
+X-Git-Url: http://quickgit.kde.org/?p=qca.git&a=commitdiff&h=601fd3a05141c614ae48a3ddac44194d669eaae1
+---
+fix base64 decoding on ARM
+
+This code was broken on ARM and other architectures where "char" is unsigned by
+default.
+
+First, it breaks with newer compilers with errors like:
+
+.../src/qca_textfilter.cpp:314:2: error: narrowing conversion of '-1' from 'int' to 'char' inside { } [-Wnarrowing]
+
+Second, if the compiler would just allow this conversion then the unsigned char
+would hold 255, which would not be sign extended when cast to an int later, so
+all the checks "< 0" will never trigger, and so invalid input characters cannot
+be detected.
+
+REVIEW:128295
+BUG:364495
+---
+
+
+--- a/src/qca_textfilter.cpp
++++ b/src/qca_textfilter.cpp
+@@ -293,7 +293,7 @@
+ // 64 specifies eof
+ // everything else specifies data
+
+- static char tbl[] =
++ static signed char tbl[] =
+ {
+ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+ -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
+