aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarino <marino@FreeBSD.org>2015-10-20 03:42:53 +0800
committermarino <marino@FreeBSD.org>2015-10-20 03:42:53 +0800
commitb4393b3a1f83fee08b2cfbfa4e25a8a35d67f16a (patch)
tree221b9565db678a49fb3c18c6bf05d09a207492ff
parent801c51f86208c1c0a15f5fabf0103740e889303c (diff)
downloadfreebsd-ports-gnome-b4393b3a1f83fee08b2cfbfa4e25a8a35d67f16a.tar.gz
freebsd-ports-gnome-b4393b3a1f83fee08b2cfbfa4e25a8a35d67f16a.tar.zst
freebsd-ports-gnome-b4393b3a1f83fee08b2cfbfa4e25a8a35d67f16a.zip
gnatdroid-sysroot: Add Android API Level 21 (Lollipop)
The latest Android Native Development Kit (NDK) has API Level 21 in it (but not 20, nor 22 or the latest Level 23). Add this option to gnatdroid's sysroot port, and change the default API from Jelly Bean 1 (Level 16) to Kitkat (Level 19). Bump gnatdroid's binutils and gnatdroid itself as a consequence of this default change. A new patch had to be added to lang/gcc-aux to handle the CTYPE changes which haven't made to GCC yet. Gnatdroid has been testing for building on all API's but not for functionality beyond Level 16 due to lack of hardware. I may soon install an Android emulator to see if that will suffice.
-rw-r--r--lang/gcc-aux/Makefile.version2
-rw-r--r--lang/gcc-aux/files/patch-libstdc++-v3_config_os_bionic_ctype__base.h21
-rw-r--r--lang/gnatdroid-armv7/Makefile2
-rw-r--r--lang/gnatdroid-binutils/Makefile1
-rw-r--r--lang/gnatdroid-sysroot/Makefile14
-rw-r--r--lang/gnatdroid-sysroot/distinfo2
-rw-r--r--lang/gnatdroid-sysroot/files/extra-21-stat.h10
-rw-r--r--lang/gnatdroid-sysroot/files/extra-stat.h (renamed from lang/gnatdroid-sysroot/files/patch-stat.h)0
-rw-r--r--lang/gnatdroid-sysroot/pkg-descr6
9 files changed, 50 insertions, 8 deletions
diff --git a/lang/gcc-aux/Makefile.version b/lang/gcc-aux/Makefile.version
index 8e7def1650d0..277fede90eba 100644
--- a/lang/gcc-aux/Makefile.version
+++ b/lang/gcc-aux/Makefile.version
@@ -6,7 +6,7 @@ GCC_VERSION= ${GCC_BRANCH}.${GCC_POINT}
SNAPSHOT= 20150626
MAIN_PR= 0
UTIL_PR= 0
-ARMV7_PR= 0
+ARMV7_PR= 1
# Snapshot naming pattern
#IDENTIFICATION= gcc-${GCC_BRANCH}-${SNAPSHOT}
diff --git a/lang/gcc-aux/files/patch-libstdc++-v3_config_os_bionic_ctype__base.h b/lang/gcc-aux/files/patch-libstdc++-v3_config_os_bionic_ctype__base.h
new file mode 100644
index 000000000000..531c67e6dfa1
--- /dev/null
+++ b/lang/gcc-aux/files/patch-libstdc++-v3_config_os_bionic_ctype__base.h
@@ -0,0 +1,21 @@
+--- libstdc++-v3/config/os/bionic/ctype_base.h.orig 2014-01-02 22:30:10 UTC
++++ libstdc++-v3/config/os/bionic/ctype_base.h
+@@ -40,6 +40,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
+ // Non-standard typedefs.
+ typedef const int* __to_type;
+
++#ifdef _CTYPE_U
++#define _U _CTYPE_U
++#define _L _CTYPE_L
++#define _D _CTYPE_D
++#define _S _CTYPE_S
++#define _P _CTYPE_P
++#define _C _CTYPE_C
++#define _X _CTYPE_X
++#define _B _CTYPE_B
++#define _N _CTYPE_D
++#endif
++
+ // NB: Offsets into ctype<char>::_M_table force a particular size
+ // on the mask type. Because of this, we don't use an enum.
+ typedef char mask;
diff --git a/lang/gnatdroid-armv7/Makefile b/lang/gnatdroid-armv7/Makefile
index 92453c922bab..66f74ff323f7 100644
--- a/lang/gnatdroid-armv7/Makefile
+++ b/lang/gnatdroid-armv7/Makefile
@@ -114,6 +114,8 @@ post-extract:
.endfor
@(cd ${WRKSRC}/gcc/testsuite/ada/acats && \
${CP} run_remote.sh run_all.sh)
+ ${REINPLACE_CMD} -e 's|<syscall.h>|<sys/syscall.h>|' \
+ ${WRKSRC}/libstdc++-v3/libsupc++/guard.cc
do-configure:
${MKDIR} ${BUILD_WRKSRC}
diff --git a/lang/gnatdroid-binutils/Makefile b/lang/gnatdroid-binutils/Makefile
index 30727a343219..b705cf3b7892 100644
--- a/lang/gnatdroid-binutils/Makefile
+++ b/lang/gnatdroid-binutils/Makefile
@@ -3,6 +3,7 @@
PORTNAME= binutils
PORTVERSION= 2.25.1
+PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= SOURCEWARE/binutils/releases
PKGNAMEPREFIX= gnatdroid-
diff --git a/lang/gnatdroid-sysroot/Makefile b/lang/gnatdroid-sysroot/Makefile
index 171ea1aa8522..30b1884d923e 100644
--- a/lang/gnatdroid-sysroot/Makefile
+++ b/lang/gnatdroid-sysroot/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= sysroot
-PORTVERSION= 19
-PORTREVISION= 1
+PORTVERSION= 21
CATEGORIES= lang
MASTER_SITES= http://downloads.dragonlace.net/src/
PKGNAMEPREFIX= gnatdroid-
@@ -18,10 +17,13 @@ NO_MTREE= yes
WRKSRC= ${WRKDIR}/android-${API}-arm
PREFIX= ${LOCALBASE}/android
+STAT_PATCH= ${FILESDIR}/extra-stat.h
+EXTRA_PATCHES= ${STAT_PATCH}
OPTIONS_SINGLE= SG1
-OPTIONS_SINGLE_SG1= FROYO GBREAD ICS JBEAN16 JBEAN17 JBEAN18 KITKAT
-OPTIONS_DEFAULT= JBEAN16
+OPTIONS_SINGLE_SG1= FROYO GBREAD ICS JBEAN16 JBEAN17 JBEAN18 KITKAT \
+ LOLLIPOP
+OPTIONS_DEFAULT= KITKAT
FROYO_DESC= Android 2.2 - API level 08 - Froyo
GBREAD_DESC= Android 2.3 - API level 09 - Gingerbread 1
@@ -30,6 +32,7 @@ JBEAN16_DESC= Android 4.1 - API level 16 - Jelly Bean 1
JBEAN17_DESC= Android 4.2 - API level 17 - Jelly Bean 2
JBEAN18_DESC= Android 4.3 - API level 18 - Jelly Bean 3
KITKAT_DESC= Android 4.4 - API level 19 - Kitkat
+LOLLIPOP_DESC= Android 5.0 - API level 21 - Lollipop
.include <bsd.port.options.mk>
@@ -47,6 +50,9 @@ API= 17
API= 18
.elif ${PORT_OPTIONS:MKITKAT}
API= 19
+.elif ${PORT_OPTIONS:MLOLLIPOP}
+API= 21
+STAT_PATCH= ${FILESDIR}/extra-21-stat.h
.else
IGNORE= the API option is improperly selected
.endif
diff --git a/lang/gnatdroid-sysroot/distinfo b/lang/gnatdroid-sysroot/distinfo
index 97819ea87f11..ad12135e8eda 100644
--- a/lang/gnatdroid-sysroot/distinfo
+++ b/lang/gnatdroid-sysroot/distinfo
@@ -12,3 +12,5 @@ SHA256 (android-18-arm.tar.bz2) = 73ceb5894c4436ca1477e0a535c3a014f334acf0683ab4
SIZE (android-18-arm.tar.bz2) = 1736810
SHA256 (android-19-arm.tar.bz2) = 734b37fa2c3aff05540ce9d8c73d0ad92623b281f0e267a05fd2f0c3a86e08ea
SIZE (android-19-arm.tar.bz2) = 4621476
+SHA256 (android-21-arm.tar.bz2) = 7729bcd05fdc10b930d1f99920ed756681fe8cd6c2ecddb002a56e4badcfd2a3
+SIZE (android-21-arm.tar.bz2) = 5920624
diff --git a/lang/gnatdroid-sysroot/files/extra-21-stat.h b/lang/gnatdroid-sysroot/files/extra-21-stat.h
new file mode 100644
index 000000000000..eb9e17a669ba
--- /dev/null
+++ b/lang/gnatdroid-sysroot/files/extra-21-stat.h
@@ -0,0 +1,10 @@
+--- usr/include/linux/stat.h.orig 2014-10-15 02:53:49 UTC
++++ usr/include/linux/stat.h
+@@ -57,5 +57,7 @@
+ #define S_IWOTH 00002
+ /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
+ #define S_IXOTH 00001
++#define S_IREAD S_IRUSR
++#define S_IWRITE S_IWUSR
+ #endif
+ #endif
diff --git a/lang/gnatdroid-sysroot/files/patch-stat.h b/lang/gnatdroid-sysroot/files/extra-stat.h
index b64e0da88117..b64e0da88117 100644
--- a/lang/gnatdroid-sysroot/files/patch-stat.h
+++ b/lang/gnatdroid-sysroot/files/extra-stat.h
diff --git a/lang/gnatdroid-sysroot/pkg-descr b/lang/gnatdroid-sysroot/pkg-descr
index d782ce5469ca..5a77c5327b74 100644
--- a/lang/gnatdroid-sysroot/pkg-descr
+++ b/lang/gnatdroid-sysroot/pkg-descr
@@ -1,6 +1,6 @@
This package is used by lang/gnatdroid to install the system root of
-Android 4.4 (API Level 19) of the ARM architecture. The ARM cross-tools
-are built using these files, which in turn is required for the GNAT
-FreeBSD->ARM cross-compiler that is gnatdroid.
+Android 2.2 to 5.0 (API Level 8 to API Level 21) of the ARM architecture.
+The ARM cross-tools are built using these files, which in turn is required
+for the GNAT FreeBSD->ARM cross-compiler that is gnatdroid.
WWW: http://www.dragonlace.net