diff options
author | marino <marino@FreeBSD.org> | 2015-10-20 03:42:53 +0800 |
---|---|---|
committer | marino <marino@FreeBSD.org> | 2015-10-20 03:42:53 +0800 |
commit | b4393b3a1f83fee08b2cfbfa4e25a8a35d67f16a (patch) | |
tree | 221b9565db678a49fb3c18c6bf05d09a207492ff | |
parent | 801c51f86208c1c0a15f5fabf0103740e889303c (diff) | |
download | freebsd-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.version | 2 | ||||
-rw-r--r-- | lang/gcc-aux/files/patch-libstdc++-v3_config_os_bionic_ctype__base.h | 21 | ||||
-rw-r--r-- | lang/gnatdroid-armv7/Makefile | 2 | ||||
-rw-r--r-- | lang/gnatdroid-binutils/Makefile | 1 | ||||
-rw-r--r-- | lang/gnatdroid-sysroot/Makefile | 14 | ||||
-rw-r--r-- | lang/gnatdroid-sysroot/distinfo | 2 | ||||
-rw-r--r-- | lang/gnatdroid-sysroot/files/extra-21-stat.h | 10 | ||||
-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-descr | 6 |
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 |