Ticket #13377: libass.20190119a.patch
| File libass.20190119a.patch, 14.7 KB (added by , 8 years ago) |
|---|
-
android/makelibs.sh
diff --git a/android/makelibs.sh b/android/makelibs.sh index d3d0ef5..ad50cdb 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 … … OPATH=$PATH 1377 1409 ICUPATH=$PWD 1378 1410 ICU_FLAGS="-I$ICU_PATH/source/common/ -I$ICU_PATH/source/tools/tzcode/" 1379 1411 { patch -p1 -Nt || true; } <<'END' 1412 diff --git a/source/config/mh-linux b/source/config/mh-linux 1413 index 53d6780..c8ed9f8 100644 1414 --- a/source/config/mh-linux 1415 +++ b/source/config/mh-linux 1416 @@ -39,6 +39,10 @@ SO = so 1417 ## Non-shared intermediate object suffix 1418 STATIC_O = ao 1419 1420 +## Versioned target for a shared library. 1421 +FINAL_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION).$(SO) 1422 +MIDDLE_SO_TARGET= $(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO) 1423 + 1424 ## Compilation rules 1425 %.$(STATIC_O): $(srcdir)/%.c 1426 $(call SILENT_COMPILE,$(strip $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS)) -o $@ $<) 1427 @@ -66,10 +70,10 @@ STATIC_O = ao 1428 1429 ## Versioned libraries rules 1430 1431 -%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION) 1432 - $(RM) $@ && ln -s ${<F} $@ 1433 -%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR) 1434 - $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@ 1435 +%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO) 1436 + $(RM) $@ && ln -s ${*F}$(SO_TARGET_VERSION).$(SO) $@ 1437 +%.$(SO): %$(SO_TARGET_VERSION).$(SO) 1438 + $(RM) $@ && ln -s ${*F}$(SO_TARGET_VERSION).$(SO) $@ 1439 1440 ## Bind internal references 1441 1380 1442 diff --git a/source/configure b/source/configure 1381 1443 index 36c06f9..aff20fe 100755 1382 1444 --- a/source/configure … … touch config/icucross.inc 1444 1506 --disable-tools \ 1445 1507 --disable-tests \ 1446 1508 --disable-samples \ 1447 -- disable-shared \1509 --enable-shared \ 1448 1510 --enable-static 1449 1511 ERR=$? 1450 1512 … … else 1676 1738 rm qtwebkit || true 1677 1739 fi 1678 1740 1679 if [ ${QTMAJORVERSION%.*} -ge 6 -o ${QTMAJORVERSION#*.} -gt 9 ]; then 1741 if [ ${QTVERSION} == "5.11.3" -o ${QTVERSION} == "5.12.0" ]; then 1742 echo 5.11.3 patch is different enough to warrant its own section 1743 { patch -p1 -Nt --no-backup-if-mismatch -r - || true; } <<'END' 1744 diff --git a/qtbase/mkspecs/common/android-base-head.conf b/qtbase/mkspecs/common/android-base-head.conf 1745 index 9be6111..ebd3982 100644 1746 --- a/qtbase/mkspecs/common/android-base-head.conf 1747 +++ b/qtbase/mkspecs/common/android-base-head.conf 1748 @@ -49,8 +49,9 @@ else: ANDROID_ARCHITECTURE = arm 1749 1750 !equals(NDK_TOOLCHAIN_VERSION, 4.4.3): ANDROID_CXXSTL_SUFFIX = -$$NDK_TOOLCHAIN_VERSION 1751 1752 +NDK_TOOLCHAIN_PATH = $$(ANDROID_NDK_TOOLCHAIN_PATH) 1753 NDK_TOOLCHAIN = $$NDK_TOOLCHAIN_PREFIX-$$NDK_TOOLCHAIN_VERSION 1754 -NDK_TOOLCHAIN_PATH = $$NDK_ROOT/toolchains/$$NDK_TOOLCHAIN/prebuilt/$$NDK_HOST 1755 +isEmpty(NDK_TOOLCHAIN_PATH): NDK_TOOLCHAIN_PATH = $$NDK_ROOT/toolchains/$$NDK_TOOLCHAIN/prebuilt/$$NDK_HOST 1756 1757 1758 ANDROID_SDK_ROOT = $$(ANDROID_SDK_ROOT) 1759 @@ -68,7 +69,8 @@ isEmpty(ANDROID_SDK_BUILD_TOOLS_REVISION) { 1760 CONFIG += $$ANDROID_PLATFORM 1761 QMAKE_CFLAGS = -D__ANDROID_API__=$$replace(ANDROID_PLATFORM, "android-", "") 1762 1763 -ANDROID_PLATFORM_ROOT_PATH = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/ 1764 +ANDROID_PLATFORM_ROOT_PATH = $$(ANDROID_NDK_PLATFORM_ROOT_PATH) 1765 +isEmpty(ANDROID_PLATFORM_ROOT_PATH): ANDROID_PLATFORM_ROOT_PATH = $$NDK_ROOT/platforms/$$ANDROID_PLATFORM/arch-$$ANDROID_ARCHITECTURE/ 1766 ANDROID_PLATFORM_PATH = $$ANDROID_PLATFORM_ROOT_PATH/usr 1767 1768 equals(ANDROID_TARGET_ARCH, x86_64)|equals(ANDROID_TARGET_ARCH, mips64): \ 1769 diff --git a/qtbase/mkspecs/features/android/android.prf b/qtbase/mkspecs/features/android/android.prf 1770 index 1dc8f87..e796f4a 100644 1771 --- a/qtbase/mkspecs/features/android/android.prf 1772 +++ b/qtbase/mkspecs/features/android/android.prf 1773 @@ -4,11 +4,21 @@ contains(TEMPLATE, ".*app") { 1774 QMAKE_LFLAGS += -Wl,-soname,$$shell_quote($$TARGET) 1775 1776 android_install { 1777 - target.path=/libs/$$ANDROID_TARGET_ARCH/ 1778 + ANDROID_INSTALL_LIBS = $$(ANDROID_INSTALL_LIBS) 1779 + isEmpty(ANDROID_INSTALL_LIBS) { 1780 + target.path=/libs/$$ANDROID_TARGET_ARCH/ 1781 + } else { 1782 + target.path=$$ANDROID_INSTALL_LIBS/ 1783 + } 1784 INSTALLS *= target 1785 } 1786 } 1787 } else: contains(TEMPLATE, "lib"):!static:!QTDIR_build:android_install { 1788 - target.path = /libs/$$ANDROID_TARGET_ARCH/ 1789 + ANDROID_INSTALL_LIBS = $$(ANDROID_INSTALL_LIBS) 1790 + isEmpty(ANDROID_INSTALL_LIBS) { 1791 + target.path=/libs/$$ANDROID_TARGET_ARCH/ 1792 + } else { 1793 + target.path=$$ANDROID_INSTALL_LIBS/ 1794 + } 1795 INSTALLS *= target 1796 } 1797 diff --git a/qtbase/src/android/templates/build.gradle b/qtbase/src/android/templates/build.gradle 1798 index 3a3e0cd..f98eed7 100644 1799 --- a/qtbase/src/android/templates/build.gradle 1800 +++ b/qtbase/src/android/templates/build.gradle 1801 @@ -41,9 +41,12 @@ android { 1802 sourceSets { 1803 main { 1804 manifest.srcFile 'AndroidManifest.xml' 1805 - java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java'] 1806 - aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl'] 1807 - res.srcDirs = [qt5AndroidDir + '/res', 'res'] 1808 + //java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java'] 1809 + java.srcDirs = ['src', 'java'] 1810 + //aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl'] 1811 + aidl.srcDirs = ['src', 'aidl'] 1812 + //res.srcDirs = [qt5AndroidDir + '/res', 'res'] 1813 + res.srcDirs = ['res'] 1814 resources.srcDirs = ['src'] 1815 renderscript.srcDirs = ['src'] 1816 assets.srcDirs = ['assets'] 1817 diff --git a/qtbase/src/tools/androiddeployqt/main.cpp b/qtbase/src/tools/androiddeployqt/main.cpp 1818 index 918bc0f..d6bbf8a 100644 1819 --- a/qtbase/src/tools/androiddeployqt/main.cpp 1820 +++ b/qtbase/src/tools/androiddeployqt/main.cpp 1821 @@ -984,8 +984,8 @@ bool copyAndroidTemplate(const Options &options) 1822 if (!copyAndroidTemplate(options, QLatin1String("/src/android/templates"))) 1823 return false; 1824 1825 - if (options.gradle) 1826 - return true; 1827 + //if (options.gradle) 1828 + // return true; 1829 1830 return copyAndroidTemplate(options, QLatin1String("/src/android/java")); 1831 } 1832 diff --git a/qtbase/src/3rdparty/forkfd/forkfd.c b/qtbase/src/3rdparty/forkfd/forkfd.c 1833 index 7f02ee9..74de1a7 100644 1834 --- a/qtbase/src/3rdparty/forkfd/forkfd.c 1835 +++ b/qtbase/src/3rdparty/forkfd/forkfd.c 1836 @@ -45,8 +45,10 @@ 1837 #include <time.h> 1838 #include <unistd.h> 1839 1840 -#ifdef __linux__ 1841 -# define HAVE_WAIT4 1 1842 +#if defined(__linux__) 1843 +# if __ANDROID_API__ > 19 1844 +# define HAVE_WAIT4 1 1845 +# endif 1846 # if defined(__BIONIC__) || (defined(__GLIBC__) && (__GLIBC__ << 8) + __GLIBC_MINOR__ >= 0x208 && \ 1847 (!defined(__UCLIBC__) || ((__UCLIBC_MAJOR__ << 16) + (__UCLIBC_MINOR__ << 8) + __UCLIBC_SUBLEVEL__ > 0x90201))) 1848 # include <sys/eventfd.h> 1849 END 1850 elif [ ${QTMAJORVERSION%.*} -ge 6 -o ${QTMAJORVERSION#*.} -gt 9 ]; then 1680 1851 # 5.10 patch is different enough to warrant its own section 1681 1852 { patch -p1 -Nt --no-backup-if-mismatch -r - || true; } <<'END' 1682 1853 diff --git a/qtbase/mkspecs/common/android-base-head.conf b/qtbase/mkspecs/common/android-base-head.conf … … if [ $QTVERSION_WK != $QTVERSION ]; then 1981 2152 echo "include/QtWebKitWidgets/qtwebkitwidgetsversion.h" 1982 2153 sed -i 's/\(#define QTWEBKITWIDGETS_VERSION_STR "\)[^"]*\("\)/\1'"$QTVERSION\2/; s/\(#define QTWEBKITWIDGETS_VERSION 0x\).*$/\1$QTWK_MACHVER/;" include/QtWebKitWidgets/qtwebkitwidgetsversion.h 1983 2154 echo ".qmake.conf" 1984 sed -i 's/\(#define MODULE_VERSION "\).*$/\1'"$QTVERSION/;" .qmake.conf 2155 #MODULE_VERSION = 5.9.1 2156 sed -i 's/\(MODULE_VERSION = \).*$/\1'"$QTVERSION/;" .qmake.conf 1985 2157 fi 1986 2158 1987 2159 popd … … build_qt5() { 2165 2337 make -j$NCPUS $THINGS_TO_MAKE || ERR=$? 2166 2338 #make -j$NCPUS module-qtscript-install_subtargets 2167 2339 #make -j$NCPUS module-qtandroidextras-install_subtargets 2340 echo "Build Completed build_qt5 $ERR" 2168 2341 [ $ERR == 0 ] && \ 2169 2342 make -j$NCPUS install \ 2170 2343 || ERR=$? 2344 if [ $ERR -eq 2 ]; then 2345 ERR=0 2346 fi 2171 2347 #make -j$NCPUS module-qtwebengine-install_subtargets 2172 2348 true 2173 2349 #make -C qtwebkit/Source -f Makefile.api INSTALL_ROOT="$INSTALLROOT" install && … … build_qt5() { 2185 2361 PATH=$OPATH 2186 2362 unset OPATH 2187 2363 popd 2364 echo "All Completed build_qt5 $ERR" 2188 2365 return $ERR 2189 2366 } 2190 2367 … … build_webkit_59() { 2224 2401 || ERR=$? 2225 2402 set +x 2226 2403 2404 #make -j$NCPUS module-qtwebkit-install_subtargets 2227 2405 #make -j$NCPUS module-qtwebengine-install_subtargets 2228 2406 true 2229 2407 #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..250e5a3 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() { 273 274 # plugins are not automatically installed so copy them 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 $MYTHINSTALLROOT/lib/lib{ogg,vorbis,vorbisfile,vorbisenc,FLAC}.so \ 277 $MYTHINSTALLROOT/lib/lib{ogg,vorbis,vorbisfile,vorbisenc,FLAC,fontconfig,icui18n60,icuuc60,icudata60,icudata60,iconv,ass,fribidi}.so \ 278 $QTBASE/lib/libQt5{OpenGL,WebKitWidgets,WebKit,Sensors,Positioning,MultimediaWidgets,Multimedia,PrintSupport,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
