Ticket #13377: libass.patch
File libass.patch, 13.2 KB (added by , 5 years ago) |
---|
-
android/makelibs.sh
diff --git a/android/makelibs.sh b/android/makelibs.sh index d3d0ef5..8cf56ed 100755
a b while : ; do 59 59 ;; 60 60 ass) 61 61 shift 62 #BUILD_FONTCONFIG=162 BUILD_FONTCONFIG=1 63 63 BUILD_FRIBIDI=1 64 64 BUILD_ASS=1 65 65 ;; … … while : ; do 145 145 BUILD_VORBIS=1 146 146 BUILD_OGG=1 147 147 BUILD_FRIBIDI=1 148 #BUILD_FONTCONFIG=1148 BUILD_FONTCONFIG=1 149 149 BUILD_ASS=1 150 150 BUILD_LIBXML2=1 151 151 #BUILD_LIBXSLT=1 … … while : ; do 212 212 esac 213 213 done 214 214 215 QTMAJORVERSION=5.1 0216 QTVERSION=$QTMAJORVERSION. 1215 QTMAJORVERSION=5.11 216 QTVERSION=$QTMAJORVERSION.3 217 217 export ANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL:-21} 218 218 export ANDROID_SDK_PLATFORM=android-$ANDROID_NATIVE_API_LEVEL 219 219 export ANDROID_NDK_PLATFORM=android-$ANDROID_NATIVE_API_LEVEL … … MISSINGHEADERS=" 286 286 " 287 287 288 288 copy_missing_sys_headers() { 289 mkdir -p $INSTALLROOT/include/arpa 290 cat <<-END > $INSTALLROOT/include/arpa/inet.h 291 #include_next <arpa/inet.h> 292 #include <linux/in6.h> 293 END 289 294 if [ "$TOOLCHAIN_SUFFIX" != "old" ]; then 290 295 mkdir -p $INSTALLROOT/include/sys || true 291 296 for header in $MISSINGHEADERS ; do … … STRIP=${CROSSPATH2}strip \ 534 539 CFLAGS="--sysroot=$SYSROOT $ANDROID_API_DEF" \ 535 540 CPP=${CROSSPATH2}cpp \ 536 541 CPPFLAGS=$CFLAGS \ 537 ./configure --build=x86_64 --host=$BUILD_HOST --prefix=$INSTALLROOT --with-sysroot=$SYSROOT --enable-shared= no--enable-static=yes &&542 ./configure --build=x86_64 --host=$BUILD_HOST --prefix=$INSTALLROOT --with-sysroot=$SYSROOT --enable-shared=yes --enable-static=yes && 538 543 make $MAKEDEFS install-lib 539 544 ERR=$? 540 545 PATH=$OPATH … … CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \ 1006 1011 --without-crypto \ 1007 1012 --disable-libmount \ 1008 1013 --with-pcre=no \ 1009 -- disable-shared \1014 --enable-shared \ 1010 1015 --enable-static && 1011 1016 make -j$NCPUS && 1012 1017 make install … … CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \ 1118 1123 --disable-curses \ 1119 1124 --disable-csharp \ 1120 1125 --disable-nls \ 1121 -- disable-shared \1126 --enable-shared \ 1122 1127 --enable-static \ 1123 1128 && 1124 1129 make -j$NCPUS && … … setup_lib https://github.com/freedesktop/fontconfig/archive/$FONTCONFIG_VERSION. 1186 1191 pushd $FONTCONFIG 1187 1192 OPATH=$PATH 1188 1193 1194 { patch -p1 -Nt || true; } <<'END' 1195 diff --git a/src/fcobjs.c b/src/fcobjs.c 1196 index 16ff31c..d8bf79d 100644 1197 --- a/src/fcobjs.c 1198 +++ b/src/fcobjs.c 1199 @@ -25,10 +25,10 @@ 1200 #include "fcint.h" 1201 1202 static unsigned int 1203 -FcObjectTypeHash (register const char *str, register unsigned int len); 1204 +FcObjectTypeHash (register const char *str, register size_t len); 1205 1206 static const struct FcObjectTypeInfo * 1207 -FcObjectTypeLookup (register const char *str, register unsigned int len); 1208 +FcObjectTypeLookup (register const char *str, register size_t len); 1209 1210 #include "fcobjshash.h" 1211 1212 END 1189 1213 if [ $CLEAN == 1 ]; then 1214 # move generated fcblanks.h aside before clean 1215 # do unicode.org does not have to be spammed 1216 # as it looks like it has a DOS filter 1217 mv fc-blanks/fcblanks.h{,.1} || true 1190 1218 make distclean || true 1219 mv fc-blanks/fcblanks.h{.1,} || true 1191 1220 fi 1192 1221 1193 1222 #local CPUOPT= … … fi 1200 1229 PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR/pkgconfig \ 1201 1230 CFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \ 1202 1231 CXXFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \ 1203 LDFLAGS="-L$INSTALLROOT/lib " \1232 LDFLAGS="-L$INSTALLROOT/lib -Wl,-rpath-link=$SYSROOT/usr/lib -Wl,-rpath-link=$INSTALLROOT/lib" \ 1204 1233 RANLIB=${CROSSPATH2}ranlib \ 1205 1234 OBJDUMP=${CROSSPATH2}objdump \ 1206 1235 AR=${CROSSPATH2}ar \ … … CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \ 1213 1242 --host=$MY_ANDROID_NDK_TOOLS_PREFIX \ 1214 1243 --prefix=$INSTALLROOT \ 1215 1244 --with-sysroot=$SYSROOT \ 1245 --with-gnu-ld=yes \ 1246 --disable-docs \ 1216 1247 --disable-dependency-tracking \ 1217 1248 --enable-libxml2 \ 1218 -- disable-shared \1249 --enable-shared \ 1219 1250 --enable-static && 1220 1251 make -j$NCPUS && 1221 1252 make install … … CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \ 1267 1298 --without-crypto \ 1268 1299 --disable-libmount \ 1269 1300 --with-pcre=no \ 1270 -- disable-shared \1301 --enable-shared \ 1271 1302 --enable-static && 1272 1303 make -j$NCPUS && 1273 1304 make install … … CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \ 1314 1345 --build=x86_64-linux-gnu \ 1315 1346 --host=$MY_ANDROID_NDK_TOOLS_PREFIX \ 1316 1347 --prefix=$INSTALLROOT \ 1317 --with-sysroot=$SYSROOT \1318 1348 --disable-dependency-tracking \ 1319 1349 --disable-require-system-font-provider \ 1320 -- disable-shared \1350 --enable-shared \ 1321 1351 --enable-static && 1322 1352 make -j$NCPUS && 1323 1353 make install 1324 1354 ERR=$? 1325 1355 1356 #--with-sysroot=$SYSROOT \ 1357 1326 1358 PATH=$OPATH 1327 1359 unset OPATH 1328 1360 popd … … touch config/icucross.inc 1444 1476 --disable-tools \ 1445 1477 --disable-tests \ 1446 1478 --disable-samples \ 1447 -- disable-shared \1479 --enable-shared \ 1448 1480 --enable-static 1449 1481 ERR=$? 1450 1482 … … else 1676 1708 rm qtwebkit || true 1677 1709 fi 1678 1710 1679 if [ ${QTMAJORVERSION%.*} -ge 6 -o ${QTMAJORVERSION#*.} -gt 9 ]; then 1711 if [ ${QTVERSION} == "5.11.3" -o ${QTVERSION} == "5.12.0" ]; then 1712 echo 5.11.3 patch is different enough to warrant its own section 1713 { patch -p1 -Nt --no-backup-if-mismatch -r - || true; } <<'END' 1714 diff --git a/qtbase/mkspecs/common/android-base-head.conf b/qtbase/mkspecs/common/android-base-head.conf 1715 index 9be6111..ebd3982 100644 1716 --- a/qtbase/mkspecs/common/android-base-head.conf 1717 +++ b/qtbase/mkspecs/common/android-base-head.conf 1718 @@ -49,8 +49,9 @@ else: ANDROID_ARCHITECTURE = arm 1719 1720 !equals(NDK_TOOLCHAIN_VERSION, 4.4.3): ANDROID_CXXSTL_SUFFIX = -$$NDK_TOOLCHAIN_VERSION 1721 1722 +NDK_TOOLCHAIN_PATH = $$(ANDROID_NDK_TOOLCHAIN_PATH) 1723 NDK_TOOLCHAIN = $$NDK_TOOLCHAIN_PREFIX-$$NDK_TOOLCHAIN_VERSION 1724 -NDK_TOOLCHAIN_PATH = $$NDK_ROOT/toolchains/$$NDK_TOOLCHAIN/prebuilt/$$NDK_HOST 1725 +isEmpty(NDK_TOOLCHAIN_PATH): NDK_TOOLCHAIN_PATH = $$NDK_ROOT/toolchains/$$NDK_TOOLCHAIN/prebuilt/$$NDK_HOST 1726 1727 1728 ANDROID_SDK_ROOT = $$(ANDROID_SDK_ROOT) 1729 @@ -68,7 +69,8 @@ isEmpty(ANDROID_SDK_BUILD_TOOLS_REVISION) { 1730 CONFIG += $$ANDROID_PLATFORM 1731 QMAKE_CFLAGS = -D__ANDROID_API__=$$replace(ANDROID_PLATFORM, "android-", "") 1732 1733 -ANDROID_PLATFORM_ROOT_PATH = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/ 1734 +ANDROID_PLATFORM_ROOT_PATH = $$(ANDROID_NDK_PLATFORM_ROOT_PATH) 1735 +isEmpty(ANDROID_PLATFORM_ROOT_PATH): ANDROID_PLATFORM_ROOT_PATH = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/ 1736 ANDROID_PLATFORM_PATH = $$ANDROID_PLATFORM_ROOT_PATH/usr 1737 1738 equals(ANDROID_TARGET_ARCH, x86_64)|equals(ANDROID_TARGET_ARCH, mips64): \ 1739 diff --git a/qtbase/mkspecs/features/android/android.prf b/qtbase/mkspecs/features/android/android.prf 1740 index 1dc8f87..e796f4a 100644 1741 --- a/qtbase/mkspecs/features/android/android.prf 1742 +++ b/qtbase/mkspecs/features/android/android.prf 1743 @@ -4,11 +4,21 @@ contains(TEMPLATE, ".*app") { 1744 QMAKE_LFLAGS += -Wl,-soname,$$shell_quote($$TARGET) 1745 1746 android_install { 1747 - target.path=/libs/$$ANDROID_TARGET_ARCH/ 1748 + ANDROID_INSTALL_LIBS = $$(ANDROID_INSTALL_LIBS) 1749 + isEmpty(ANDROID_INSTALL_LIBS) { 1750 + target.path=/libs/$$ANDROID_TARGET_ARCH/ 1751 + } else { 1752 + target.path=$$ANDROID_INSTALL_LIBS/ 1753 + } 1754 INSTALLS *= target 1755 } 1756 } 1757 } else: contains(TEMPLATE, "lib"):!static:!QTDIR_build:android_install { 1758 - target.path = /libs/$$ANDROID_TARGET_ARCH/ 1759 + ANDROID_INSTALL_LIBS = $$(ANDROID_INSTALL_LIBS) 1760 + isEmpty(ANDROID_INSTALL_LIBS) { 1761 + target.path=/libs/$$ANDROID_TARGET_ARCH/ 1762 + } else { 1763 + target.path=$$ANDROID_INSTALL_LIBS/ 1764 + } 1765 INSTALLS *= target 1766 } 1767 diff --git a/qtbase/src/android/templates/build.gradle b/qtbase/src/android/templates/build.gradle 1768 index 3a3e0cd..f98eed7 100644 1769 --- a/qtbase/src/android/templates/build.gradle 1770 +++ b/qtbase/src/android/templates/build.gradle 1771 @@ -41,9 +41,12 @@ android { 1772 sourceSets { 1773 main { 1774 manifest.srcFile 'AndroidManifest.xml' 1775 - java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java'] 1776 - aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl'] 1777 - res.srcDirs = [qt5AndroidDir + '/res', 'res'] 1778 + //java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java'] 1779 + java.srcDirs = ['src', 'java'] 1780 + //aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl'] 1781 + aidl.srcDirs = ['src', 'aidl'] 1782 + //res.srcDirs = [qt5AndroidDir + '/res', 'res'] 1783 + res.srcDirs = ['res'] 1784 resources.srcDirs = ['src'] 1785 renderscript.srcDirs = ['src'] 1786 assets.srcDirs = ['assets'] 1787 diff --git a/qtbase/src/tools/androiddeployqt/main.cpp b/qtbase/src/tools/androiddeployqt/main.cpp 1788 index 918bc0f..d6bbf8a 100644 1789 --- a/qtbase/src/tools/androiddeployqt/main.cpp 1790 +++ b/qtbase/src/tools/androiddeployqt/main.cpp 1791 @@ -984,8 +984,8 @@ bool copyAndroidTemplate(const Options &options) 1792 if (!copyAndroidTemplate(options, QLatin1String("/src/android/templates"))) 1793 return false; 1794 1795 - if (options.gradle) 1796 - return true; 1797 + //if (options.gradle) 1798 + // return true; 1799 1800 return copyAndroidTemplate(options, QLatin1String("/src/android/java")); 1801 } 1802 diff --git a/qtbase/src/3rdparty/forkfd/forkfd.c b/qtbase/src/3rdparty/forkfd/forkfd.c 1803 index 7f02ee9..74de1a7 100644 1804 --- a/qtbase/src/3rdparty/forkfd/forkfd.c 1805 +++ b/qtbase/src/3rdparty/forkfd/forkfd.c 1806 @@ -45,8 +45,10 @@ 1807 #include <time.h> 1808 #include <unistd.h> 1809 1810 -#ifdef __linux__ 1811 -# define HAVE_WAIT4 1 1812 +#if defined(__linux__) 1813 +# if __ANDROID_API__ > 19 1814 +# define HAVE_WAIT4 1 1815 +# endif 1816 # if defined(__BIONIC__) || (defined(__GLIBC__) && (__GLIBC__ << 8) + __GLIBC_MINOR__ >= 0x208 && \ 1817 (!defined(__UCLIBC__) || ((__UCLIBC_MAJOR__ << 16) + (__UCLIBC_MINOR__ << 8) + __UCLIBC_SUBLEVEL__ > 0x90201))) 1818 # include <sys/eventfd.h> 1819 END 1820 elif [ ${QTMAJORVERSION%.*} -ge 6 -o ${QTMAJORVERSION#*.} -gt 9 ]; then 1680 1821 # 5.10 patch is different enough to warrant its own section 1681 1822 { patch -p1 -Nt --no-backup-if-mismatch -r - || true; } <<'END' 1682 1823 diff --git a/qtbase/mkspecs/common/android-base-head.conf b/qtbase/mkspecs/common/android-base-head.conf … … if [ $QTVERSION_WK != $QTVERSION ]; then 1981 2122 echo "include/QtWebKitWidgets/qtwebkitwidgetsversion.h" 1982 2123 sed -i 's/\(#define QTWEBKITWIDGETS_VERSION_STR "\)[^"]*\("\)/\1'"$QTVERSION\2/; s/\(#define QTWEBKITWIDGETS_VERSION 0x\).*$/\1$QTWK_MACHVER/;" include/QtWebKitWidgets/qtwebkitwidgetsversion.h 1983 2124 echo ".qmake.conf" 1984 sed -i 's/\(#define MODULE_VERSION "\).*$/\1'"$QTVERSION/;" .qmake.conf 2125 #MODULE_VERSION = 5.9.1 2126 sed -i 's/\(MODULE_VERSION = \).*$/\1'"$QTVERSION/;" .qmake.conf 1985 2127 fi 1986 2128 1987 2129 popd … … build_qt5() { 2165 2307 make -j$NCPUS $THINGS_TO_MAKE || ERR=$? 2166 2308 #make -j$NCPUS module-qtscript-install_subtargets 2167 2309 #make -j$NCPUS module-qtandroidextras-install_subtargets 2310 echo "Build Completed build_qt5 $ERR" 2168 2311 [ $ERR == 0 ] && \ 2169 2312 make -j$NCPUS install \ 2170 2313 || ERR=$? 2314 if [ $ERR -eq 2 ]; then 2315 ERR=0 2316 fi 2171 2317 #make -j$NCPUS module-qtwebengine-install_subtargets 2172 2318 true 2173 2319 #make -C qtwebkit/Source -f Makefile.api INSTALL_ROOT="$INSTALLROOT" install && … … build_qt5() { 2185 2331 PATH=$OPATH 2186 2332 unset OPATH 2187 2333 popd 2334 echo "All Completed build_qt5 $ERR" 2188 2335 return $ERR 2189 2336 } 2190 2337 … … build_webkit_59() { 2224 2371 || ERR=$? 2225 2372 set +x 2226 2373 2374 #make -j$NCPUS module-qtwebkit-install_subtargets 2227 2375 #make -j$NCPUS module-qtwebengine-install_subtargets 2228 2376 true 2229 2377 #make -C qtwebkit/Source -f Makefile.api INSTALL_ROOT="$INSTALLROOT" install && -
android/mythbuild.sh
diff --git a/android/mythbuild.sh b/android/mythbuild.sh index c72314b..cce225e 100755
a b export NCPUS=$(nproc) 19 19 20 20 [ -e make.inc ] && source make.inc 21 21 22 export ANDROID_NATIVE_API_LEVEL=2 122 export ANDROID_NATIVE_API_LEVEL=23 23 23 export ANDROID_TARGET_ARCH=armeabi-v7a 24 24 export ANDROID_NDK_TOOLS_PREFIX=arm-linux-androideabi 25 25 if [ "$USE_CRYSTAX" == 1 ]; then … … MYMYTHBUILDPATH=$MYMYTHBUILDBASEPATH/mythtv 158 158 159 159 export PKG_CONFIG_DIR= 160 160 export PKG_CONFIG_LIBDIR=$INSTALLROOT/lib/pkgconfig:$INSTALLROOT/share/pkgconfig:$QTBASE/lib/pkgconfig 161 #export PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR 161 162 export PKG_CONFIG_SYSROOT_DIR=$INSTALLROOT 162 163 export PKG_CONFIG_SYSROOT_DIR= 163 164 … … function bundle_apk() { 274 275 for i in $MYTHINSTALLROOT/lib/libmythpluginmyth{archive,netvision,news,browser,game,music,zoneminder}.so \ 275 276 $MYTHINSTALLROOT/lib/libmyth{archivehelper,fillnetvision}.so \ 276 277 $MYTHINSTALLROOT/lib/lib{ogg,vorbis,vorbisfile,vorbisenc,FLAC}.so \ 278 $QTBASE/lib/libQt5{OpenGL,WebKitWidgets,WebKit,Sensors,Positioning,MultimediaWidgets,Multimedia,PrintSupporti,Quick,Qml,WebChannel}.so \ 277 279 ; do 278 280 if [ -e "$i" ]; then 279 281 cp "$i" "$MYTHINSTALLROOT/libs/$ANDROID_TARGET_ARCH/" … … $MYTHTVSRC/configure \ 364 366 --sysroot=$SYSROOT \ 365 367 --extra-cflags="$CRYSTAX_CFLAGS -D__ANDROID_API__=$ANDROID_NATIVE_API_LEVEL -DANDROID -I$INSTALLROOT/include -I$QTBASE/include $IGNOREDEFINES $NEONFLAGS " \ 366 368 --extra-cxxflags=" -D__ANDROID_API__=$ANDROID_NATIVE_API_LEVEL -DANDROID -I$INSTALLROOT/include -I$QTBASE/include $IGNOREDEFINES $NEONFLAGS " \ 367 --extra-ldflags="$CRYSTAX_LIBS " \369 --extra-ldflags="$CRYSTAX_LIBS -Wl,-rpath-link=$INSTALLROOT/lib -Wl,-rpath-link=$SYSROOT/usr/lib" \ 368 370 --qmake=$QTBASE/bin/qmake \ 369 371 --qmakespecs="android-g++ $EXTRASPECS" \ 370 372 --disable-qtdbus \ … … $MYTHTVSRC/configure \ 395 397 #--disable-opengl-themepainter \ 396 398 #--disable-qtwebkit \ 397 399 #--arch=arm7a --cpu=$CPU \ 400 #--disable-libxml2 \ 398 401 399 402 fi 400 403