blob: 3f60c6f1603fb1af54a940a668771f3ce0544f7f (
plain)
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
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
# Maintainer: Gonzalo Exequiel Pedone <hipersayan DOT x AT gmail DOT com>
# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
# Contributor: Alexander Baldeck <alexander@archlinux.org>
_android_arch=armv7a-eabi
pkgname=android-${_android_arch}-nspr
pkgver=4.36
pkgrel=1
arch=('any')
pkgdesc="Netscape Portable Runtime (Android ${_android_arch})"
url="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSPR"
license=('MPL-2.0')
depends=('android-ndk')
groups=('android-nspr')
makedepends=('android-configure'
'zip')
options=(!strip !buildflags staticlibs !emptydirs)
source=("https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v${pkgver}/src/nspr-${pkgver}.tar.gz"
'0001-Fix-configure-file.patch'
'0002-Fix-array-with-negative-size.patch')
md5sums=('87a41a0773ab2a5f5c8f01aec16df24c'
'51a3c05ce0d81ab20e3a565808db5b4a'
'5e39468f576593a391e51e1b9ce74f34')
prepare() {
cd "${srcdir}/nspr-${pkgver}"
source android-env ${_android_arch}
patch -Np1 -i ../0001-Fix-configure-file.patch
patch -Np1 -i ../0002-Fix-array-with-negative-size.patch
sed -i "s|@ANDROID_CC@|${ANDROID_CC}|g" nspr/configure
sed -i "s|@ANDROID_CXX@|${ANDROID_CXX}|g" nspr/configure
sed -i "s|@ANDROID_CPP@|cpp|g" nspr/configure
sed -i "s|@ANDROID_AS@|${ANDROID_AS}|g" nspr/configure
sed -i "s|@ANDROID_AR@|${ANDROID_AR}|g" nspr/configure
sed -i "s|@ANDROID_LD@|${ANDROID_LD}|g" nspr/configure
sed -i "s|@ANDROID_RANLIB@|${ANDROID_RANLIB}|g" nspr/configure
sed -i "s|@ANDROID_STRIP@|${ANDROID_STRIP}|g" nspr/configure
sed -i 's/PR_MD_ASFILES=os_Linux/PR_MD_ASFILES= #PR_MD_ASFILES=os_Linux/g' nspr/configure
sed -i '/define _PR_HAVE_ATOMIC_OPS/d' nspr/pr/include/md/_linux.h
sed -i '/define _MD_INIT_ATOMIC/d' nspr/pr/include/md/_linux.h
sed -i '/define _MD_ATOMIC_INCREMENT/d' nspr/pr/include/md/_linux.h
sed -i '/define _MD_ATOMIC_DECREMENT/d' nspr/pr/include/md/_linux.h
sed -i '/define _MD_ATOMIC_ADD/d' nspr/pr/include/md/_linux.h
sed -i '/define _MD_ATOMIC_SET/d' nspr/pr/include/md/_linux.h
}
build() {
unset CFLAGS
unset CXXFLAGS
cd "${srcdir}/nspr-${pkgver}/nspr"
source android-env ${_android_arch}
# Platform specific patches
case "${_android_arch}" in
aarch64)
enable64bit='--enable-64bit'
;;
x86-64)
enable64bit='--enable-64bit'
;;
*)
;;
esac
android-${_android_arch}-configure \
--with-android-ndk="${ANDROID_NDK_HOME}" \
--with-android-toolchain="${ANDROID_TOOLCHAIN}" \
--with-android-platform="${ANDROID_PLATFORM}" \
--with-android-version="${ANDROID_MINIMUM_PLATFORM}" \
--includedir="${ANDROID_PREFIX_INCLUDE}/nspr" \
$enable64bit \
--enable-optimize \
--disable-debug \
--enable-64bit
make \
-C config \
CC=/usr/bin/gcc \
CXX=/usr/bin/g++ \
CFLAGS=" -DXP_UNIX=1" \
$MAKEFLAGS || true
make \
NSINSTALL="${PWD}/config/nsinstall" \
RANLIB=${ANDROID_RANLIB} \
$MAKEFLAGS
}
package() {
cd "${srcdir}/nspr-${pkgver}/nspr"
source android-env ${_android_arch}
make DESTDIR="${pkgdir}" install
rm "$pkgdir/${ANDROID_PREFIX_BIN}"/{compile-et.pl,prerr.properties}
${ANDROID_STRIP} -g --strip-unneeded "${pkgdir}/${ANDROID_PREFIX_LIB}"/*.so
${ANDROID_STRIP} -g "${pkgdir}/${ANDROID_PREFIX_LIB}"/*.a
ln -s nspr.pc "${pkgdir}/${ANDROID_PREFIX_LIB}/pkgconfig/mozilla-nspr.pc"
rm -r "${pkgdir}/${ANDROID_PREFIX_INCLUDE}/nspr/md"
}
|