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
|
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop udev
ANDROID_SDK_DIR="/opt/android-sdk-update-manager"
MY_P="android-sdk_r${PV}-linux"
DESCRIPTION="Open Handset Alliance's Android SDK"
HOMEPAGE="https://developer.android.com"
SRC_URI="https://dl.google.com/android/${MY_P}.tgz"
S="${WORKDIR}/android-sdk-linux"
LICENSE="android"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT="bindist mirror"
DEPEND="acct-group/android"
RDEPEND="
${DEPEND}
>=dev-java/ant-1.10.14-r3:0
dev-java/swt:3.7[cairo]
media-libs/fontconfig
media-libs/freetype
media-libs/libpulse
sys-libs/ncurses-compat:5[abi_x86_32(-)]
sys-libs/zlib[abi_x86_32(-)]
>=virtual/jdk-1.8
x11-libs/libX11
x11-libs/libXdamage
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXrender
"
QA_PREBUILT="*"
src_prepare() {
default
rm -rf tools/lib/x86* || die
}
src_install() {
dodoc tools/NOTICE.txt "SDK Readme.txt"
rm -f tools/NOTICE.txt "SDK Readme.txt" || die
dodir "${ANDROID_SDK_DIR}/tools"
cp -pPR tools/* "${ED}${ANDROID_SDK_DIR}/tools" || die
# Maybe this is needed for the tools directory too.
dodir "${ANDROID_SDK_DIR}"/{add-ons,build-tools,docs,extras,platforms,platform-tools,samples,sources,system-images,temp}
fowners -R root:android "${ANDROID_SDK_DIR}"/{.,add-ons,build-tools,docs,extras,platforms,platform-tools,samples,sources,system-images,temp,tools}
fperms -R 0775 "${ANDROID_SDK_DIR}"/{.,add-ons,build-tools,docs,extras,platforms,platform-tools,samples,sources,system-images,temp,tools}
echo "PATH=\"${EPREFIX}${ANDROID_SDK_DIR}/tools:${EPREFIX}${ANDROID_SDK_DIR}/platform-tools\"" > "${T}/80${PN}" || die
SWT_PATH=
SWT_VERSIONS="3.7 3.6"
for version in $SWT_VERSIONS; do
# redirecting stderr to /dev/null
# not sure if this is best, but avoids misleading error messages
SWT_PATH="`dirname \`java-config -p swt-\$version 2>/dev/null\` 2>/dev/null`"
if [ $SWT_PATH ]; then
einfo "SWT_PATH=$SWT_PATH selecting version $version of SWT."
break
fi
done
echo "ANDROID_SWT=\"${SWT_PATH}\"" >> "${T}/80${PN}" || die
echo "ANDROID_HOME=\"${EPREFIX}${ANDROID_SDK_DIR}\"" >> "${T}/80${PN}" || die
doenvd "${T}/80${PN}"
echo "SEARCH_DIRS_MASK=\"${EPREFIX}${ANDROID_SDK_DIR}\"" > "${T}/80${PN}" || die
insinto "/etc/revdep-rebuild" && doins "${T}/80${PN}"
udev_dorules "${FILESDIR}"/80-android.rules || die
domenu "${FILESDIR}"/android-sdk-update-manager.desktop
}
pkg_postinst() {
elog "The Android SDK now uses its own manager for the development environment."
elog "Run 'android' to download the full SDK, including some of the platform tools."
elog "You must be in the android group to manage the development environment."
elog "Just run 'gpasswd -a <USER> android', then have <USER> re-login."
elog "See https://developer.android.com/sdk/adding-components.html for more"
elog "information."
elog "If you have problems downloading the SDK, see https://code.google.com/p/android/issues/detail?id=4406"
elog "You need to run env-update and source /etc/profile in any open shells"
elog "if you get an SWT error."
}
|