File: download-android-deps.sh

package info (click to toggle)
emacs 1%3A30.1%2B1-6
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 187,092 kB
  • sloc: lisp: 1,367,417; ansic: 466,479; objc: 19,117; cpp: 8,817; java: 8,780; sh: 8,119; makefile: 7,283; python: 3,788; perl: 1,788; xml: 1,720; yacc: 1,566; asm: 1,150; php: 1,035; pascal: 1,011; awk: 937; cs: 880; ada: 725; ruby: 658; javascript: 187; erlang: 153; tcl: 16
file content (133 lines) | stat: -rw-r--r-- 5,736 bytes parent folder | download | duplicates (4)
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#!/bin/sh

# This script downloads and extracts dependencies from
# https://sourceforge.net/projects/android-ports-for-gnu-emacs/ and
# Android source code repositories for the convenience of packagers.
#
# See https://forum.f-droid.org/t/emacs-packaging/30424/12 for
# context.

set -e

bits_64=no

if [ "$1" == "64" ]; then
    bits_64=yes
fi

ndk_path=

mirror=${2-https://master.dl.sourceforge.net/project/android-ports-for-gnu-emacs}

download_tarball ()
{
    echo "Downloading $mirror/$1"
    curl -OL $mirror/$1
    hash=`shasum $1 | cut -d " " -f 1`
    if test "$hash" != "$3"; then
	echo "Hash mismatch detected with archive $1:\
 expected $3, but received $hash."
	exit 1
    fi
    tar xfz $1 $2

    if test ! -d "$2"; then
	echo "\`$1' was extracted but without producing the directory \`$2'." >&2
	exit 1
    fi

    ndk_path="$ndk_path $PWD/$2"
}

# 31e74492a49cde9e420e2c71f6d6de0f2b9d6fd3  cairo-1.16.0-emacs.tar.gz
# 98de96764c64f31a6df23adec65425e1813f571b  gdk-pixbuf-2.22.1-emacs.tar.gz
# a407c568961d729bb2d0175a34e0d4ed4a269978  giflib-5.2.1-emacs.tar.gz
# e63bc0a628cec770a3a5124c00873d4a44c8c1ac  glib-2.33.14-emacs.tar.gz
# 66518ea7905cdb42a22b6f003551ca3f73d249f0  gmp-6.3.0-emacs.tar.gz
# 4e92fb479c96f1c0e9eb3577262f1ebe609a752e  gnutls-3.8.5-emacs-armv7a.tar.gz
# 0491c778a81e42490789db9b30a9b7c69b650618  gnutls-3.8.5-emacs.tar.gz
# 22dc71d503ab2eb263dc8411de9da1db144520f5  harfbuzz-7.1.0-emacs.tar.gz
# 590f6c6c06dfe19a8190f526b5b76de34b999a07  libcroco-0.6.13-emacs.tar.gz
# 23508b52a8d9fc3f3750c0187e4141b0d06f79c9  libffi-3.4.5-emacs.tar.gz
# b9398f30e882b140ec790a761663e829ba9bce31  libiconv-1.17-emacs.tar.gz
# 5091fe6f8b368ea2dcc92e2fd003add7bbc63a0a  libjpeg-turbo-3.0.2-emacs.tar.gz
# 85e10d1d289d7fd4621cb9648533a0cc69f352a8  libpng-1.6.41-emacs.tar.gz
# 8361966e19fe25ae987b08799f1442393ae6366b  libselinux-3.6-emacs.tar.gz
# fdc827211075d9b70a8ba6ceffa02eb48d6741e9  libtasn1-4.19.0-emacs.tar.gz
# 73c3174f7b22d3cfedad9eb58db916199575eea4  libxml2-2.12.4-emacs.tar.gz
# 94882f5494e5435f885d64b57e3e7b3ee5345a3b  nettle-3.8-emacs.tar.gz
# b4680fcfec66220a09618489584c8f3270cc16fd  p11-kit-0.24.1-emacs.tar.gz
# 89bb17b09d4381835b32291a65107dc33281e88b  pango-1.38.1-emacs.tar.gz
# 1c8f3b0cbad474da0ab09018c4ecf2119ac4a52d  pixman-0.38.4-emacs.tar.gz
# b687c8439d51634d921674dd009645e24873ca36  rsvg-2.40.21-emacs.tar.gz
# eda251614598aacb06f5984a0a280833de456b29  tiff-4.5.1-emacs.tar.gz
# c00d0ea9c6e848f5cce350cb3ed742024f2bdb8b  tree-sitter-0.20.7-emacs.tar.gz

download_tarball "giflib-5.2.1-emacs.tar.gz" "giflib-5.2.1" \
		 "a407c568961d729bb2d0175a34e0d4ed4a269978"
download_tarball "libjpeg-turbo-3.0.2-emacs.tar.gz" "libjpeg-turbo-3.0.2" \
		 "5091fe6f8b368ea2dcc92e2fd003add7bbc63a0a"
download_tarball "libpng-1.6.41-emacs.tar.gz" "libpng-1.6.41" \
		 "85e10d1d289d7fd4621cb9648533a0cc69f352a8"
download_tarball "libxml2-2.12.4-emacs.tar.gz" "libxml2-2.12.4" \
		 "73c3174f7b22d3cfedad9eb58db916199575eea4"
download_tarball "gmp-6.3.0-emacs.tar.gz" "gmp-6.3.0" \
		 "66518ea7905cdb42a22b6f003551ca3f73d249f0"
download_tarball "nettle-3.8-emacs.tar.gz" "nettle-3.8" \
		 "94882f5494e5435f885d64b57e3e7b3ee5345a3b"

if test "$bits_64" = "yes"; then
    download_tarball "gnutls-3.8.5-emacs.tar.gz" "gnutls-3.8.5" \
		     "0491c778a81e42490789db9b30a9b7c69b650618"
else
    download_tarball "gnutls-3.8.5-emacs-armv7a.tar.gz" "gnutls-3.8.5-armv7a" \
		     "4e92fb479c96f1c0e9eb3577262f1ebe609a752e"
fi

download_tarball "p11-kit-0.24.1-emacs.tar.gz" "p11-kit-0.24.1" \
		 "b4680fcfec66220a09618489584c8f3270cc16fd"
download_tarball "libtasn1-4.19.0-emacs.tar.gz" "libtasn1-4.19.0" \
		 "fdc827211075d9b70a8ba6ceffa02eb48d6741e9"
download_tarball "libselinux-3.6-emacs.tar.gz" "libselinux-3.6" \
		 "8361966e19fe25ae987b08799f1442393ae6366b"
download_tarball "tree-sitter-0.20.7-emacs.tar.gz" "tree-sitter-0.20.7" \
		 "c00d0ea9c6e848f5cce350cb3ed742024f2bdb8b"
download_tarball "harfbuzz-7.1.0-emacs.tar.gz" "harfbuzz-7.1.0" \
		 "22dc71d503ab2eb263dc8411de9da1db144520f5"
download_tarball "tiff-4.5.1-emacs.tar.gz" "tiff-4.5.1" \
		 "eda251614598aacb06f5984a0a280833de456b29"
download_tarball "gdk-pixbuf-2.22.1-emacs.tar.gz" "gdk-pixbuf-2.22.1" \
		 "98de96764c64f31a6df23adec65425e1813f571b"
download_tarball "glib-2.33.14-emacs.tar.gz" "glib-2.33.14" \
		 "e63bc0a628cec770a3a5124c00873d4a44c8c1ac"
download_tarball "libcroco-0.6.13-emacs.tar.gz" "libcroco-0.6.13" \
		 "590f6c6c06dfe19a8190f526b5b76de34b999a07"
download_tarball "rsvg-2.40.21-emacs.tar.gz" "librsvg-2.40.21" \
		 "b687c8439d51634d921674dd009645e24873ca36"
download_tarball "cairo-1.16.0-emacs.tar.gz" "cairo-1.16.0" \
		 "31e74492a49cde9e420e2c71f6d6de0f2b9d6fd3"
download_tarball "libiconv-1.17-emacs.tar.gz" "libiconv-1.17" \
		 "b9398f30e882b140ec790a761663e829ba9bce31"
download_tarball "pango-1.38.1-emacs.tar.gz" "pango-1.38.1" \
		 "89bb17b09d4381835b32291a65107dc33281e88b"
download_tarball "pixman-0.38.4-emacs.tar.gz" "pixman-0.38.4" \
		 "1c8f3b0cbad474da0ab09018c4ecf2119ac4a52d"
download_tarball "libffi-3.4.5-emacs.tar.gz" "libffi-3.4.5" \
		 "23508b52a8d9fc3f3750c0187e4141b0d06f79c9"

rm -rf sqlite
git clone https://android.googlesource.com/platform/external/sqlite -b android-7.1.2_r39
ndk_path="$ndk_path $PWD/sqlite/dist"
rm -rf pcre
git clone https://android.googlesource.com/platform/external/pcre -b android-7.1.2_r39
ndk_path="$ndk_path $PWD/pcre"
rm -rf libwebp
git clone https://chromium.googlesource.com/webm/libwebp -b v1.5.0
ndk_path="$ndk_path $PWD/libwebp"

sed -e 's/NEON := c.neon/NEON := c/g'				\
    -e '/WEBP_CFLAGS *+=/s/-DHAVE_CPU_FEATURES_H//g'		\
    -e 's/USE_CPUFEATURES *.*=.*$/USE_CPUFEATURES := no/g'	\
    -i libwebp/Android.mk

echo $ndk_path > search-path.txt