Ticket #13377: libass.20190119a.patch

File libass.20190119a.patch, 14.7 KB (added by mspieth, 8 years ago)
  • android/makelibs.sh

    diff --git a/android/makelibs.sh b/android/makelibs.sh
    index d3d0ef5..ad50cdb 100755
    a b while : ; do  
    5959                        ;;
    6060                ass)
    6161                        shift
    62                         #BUILD_FONTCONFIG=1
     62                        BUILD_FONTCONFIG=1
    6363                        BUILD_FRIBIDI=1
    6464                        BUILD_ASS=1
    6565                        ;;
    while : ; do  
    145145                        BUILD_VORBIS=1
    146146                        BUILD_OGG=1
    147147                        BUILD_FRIBIDI=1
    148                         #BUILD_FONTCONFIG=1
     148                        BUILD_FONTCONFIG=1
    149149                        BUILD_ASS=1
    150150                        BUILD_LIBXML2=1
    151151                        #BUILD_LIBXSLT=1
    while : ; do  
    212212        esac
    213213done
    214214
    215 QTMAJORVERSION=5.10
    216 QTVERSION=$QTMAJORVERSION.1
     215QTMAJORVERSION=5.11
     216QTVERSION=$QTMAJORVERSION.3
    217217export ANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL:-21}
    218218export ANDROID_SDK_PLATFORM=android-$ANDROID_NATIVE_API_LEVEL
    219219export ANDROID_NDK_PLATFORM=android-$ANDROID_NATIVE_API_LEVEL
    MISSINGHEADERS="  
    286286                "
    287287
    288288copy_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
    289294        if [ "$TOOLCHAIN_SUFFIX" != "old" ]; then
    290295                mkdir -p $INSTALLROOT/include/sys || true
    291296                for header in $MISSINGHEADERS ; do
    STRIP=${CROSSPATH2}strip \  
    534539        CFLAGS="--sysroot=$SYSROOT $ANDROID_API_DEF" \
    535540        CPP=${CROSSPATH2}cpp \
    536541        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 &&
    538543        make $MAKEDEFS install-lib
    539544        ERR=$?
    540545PATH=$OPATH
    CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \  
    10061011        --without-crypto \
    10071012        --disable-libmount \
    10081013        --with-pcre=no \
    1009         --disable-shared \
     1014        --enable-shared \
    10101015        --enable-static &&
    10111016        make -j$NCPUS &&
    10121017        make install
    CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \  
    11181123        --disable-curses \
    11191124        --disable-csharp \
    11201125        --disable-nls \
    1121         --disable-shared \
     1126        --enable-shared \
    11221127        --enable-static \
    11231128        &&
    11241129        make -j$NCPUS &&
    setup_lib https://github.com/freedesktop/fontconfig/archive/$FONTCONFIG_VERSION.  
    11861191pushd $FONTCONFIG
    11871192OPATH=$PATH
    11881193
     1194{ patch -p1 -Nt || true; } <<'END'
     1195diff --git a/src/fcobjs.c b/src/fcobjs.c
     1196index 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 
     1212END
    11891213if [ $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
    11901218        make distclean || true
     1219        mv fc-blanks/fcblanks.h{.1,} || true
    11911220fi
    11921221
    11931222#local CPUOPT=
    fi  
    12001229PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR/pkgconfig \
    12011230CFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
    12021231CXXFLAGS="-isysroot $SYSROOT $CPUOPT $ANDROID_API_DEF" \
    1203 LDFLAGS="-L$INSTALLROOT/lib" \
     1232LDFLAGS="-L$INSTALLROOT/lib -Wl,-rpath-link=$SYSROOT/usr/lib -Wl,-rpath-link=$INSTALLROOT/lib" \
    12041233RANLIB=${CROSSPATH2}ranlib \
    12051234OBJDUMP=${CROSSPATH2}objdump \
    12061235AR=${CROSSPATH2}ar \
    CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \  
    12131242        --host=$MY_ANDROID_NDK_TOOLS_PREFIX \
    12141243        --prefix=$INSTALLROOT \
    12151244        --with-sysroot=$SYSROOT \
     1245        --with-gnu-ld=yes \
     1246        --disable-docs \
    12161247        --disable-dependency-tracking \
    12171248        --enable-libxml2 \
    1218         --disable-shared \
     1249        --enable-shared \
    12191250        --enable-static &&
    12201251        make -j$NCPUS &&
    12211252        make install
    CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \  
    12671298        --without-crypto \
    12681299        --disable-libmount \
    12691300        --with-pcre=no \
    1270         --disable-shared \
     1301        --enable-shared \
    12711302        --enable-static &&
    12721303        make -j$NCPUS &&
    12731304        make install
    CPP="$CROSSPATH/$MY_ANDROID_NDK_TOOLS_PREFIX-cpp" \  
    13141345        --build=x86_64-linux-gnu \
    13151346        --host=$MY_ANDROID_NDK_TOOLS_PREFIX \
    13161347        --prefix=$INSTALLROOT \
    1317         --with-sysroot=$SYSROOT \
    13181348        --disable-dependency-tracking \
    13191349        --disable-require-system-font-provider \
    1320         --disable-shared \
     1350        --enable-shared \
    13211351        --enable-static &&
    13221352        make -j$NCPUS &&
    13231353        make install
    13241354        ERR=$?
    13251355
     1356        #--with-sysroot=$SYSROOT \
     1357
    13261358PATH=$OPATH
    13271359unset OPATH
    13281360popd
    OPATH=$PATH  
    13771409ICUPATH=$PWD
    13781410ICU_FLAGS="-I$ICU_PATH/source/common/ -I$ICU_PATH/source/tools/tzcode/"
    13791411{ patch -p1 -Nt || true; } <<'END'
     1412diff --git a/source/config/mh-linux b/source/config/mh-linux
     1413index 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 
    13801442diff --git a/source/configure b/source/configure
    13811443index 36c06f9..aff20fe 100755
    13821444--- a/source/configure
    touch config/icucross.inc  
    14441506        --disable-tools \
    14451507        --disable-tests \
    14461508        --disable-samples \
    1447         --disable-shared \
     1509        --enable-shared \
    14481510        --enable-static
    14491511ERR=$?
    14501512
    else  
    16761738        rm qtwebkit || true
    16771739fi
    16781740
    1679 if [ ${QTMAJORVERSION%.*} -ge 6 -o ${QTMAJORVERSION#*.} -gt 9 ]; then
     1741if [ ${QTVERSION} == "5.11.3" -o ${QTVERSION} == "5.12.0" ]; then
     1742echo  5.11.3 patch is different enough to warrant its own section
     1743{ patch -p1 -Nt --no-backup-if-mismatch -r - || true; } <<'END'
     1744diff --git a/qtbase/mkspecs/common/android-base-head.conf b/qtbase/mkspecs/common/android-base-head.conf
     1745index 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): \
     1769diff --git a/qtbase/mkspecs/features/android/android.prf b/qtbase/mkspecs/features/android/android.prf
     1770index 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 }
     1797diff --git a/qtbase/src/android/templates/build.gradle b/qtbase/src/android/templates/build.gradle
     1798index 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']
     1817diff --git a/qtbase/src/tools/androiddeployqt/main.cpp b/qtbase/src/tools/androiddeployqt/main.cpp
     1818index 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 }
     1832diff --git a/qtbase/src/3rdparty/forkfd/forkfd.c b/qtbase/src/3rdparty/forkfd/forkfd.c
     1833index 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>
     1849END
     1850elif [ ${QTMAJORVERSION%.*} -ge 6 -o ${QTMAJORVERSION#*.} -gt 9 ]; then
    16801851# 5.10 patch is different enough to warrant its own section
    16811852{ patch -p1 -Nt --no-backup-if-mismatch -r - || true; } <<'END'
    16821853diff --git a/qtbase/mkspecs/common/android-base-head.conf b/qtbase/mkspecs/common/android-base-head.conf
    if [ $QTVERSION_WK != $QTVERSION ]; then  
    19812152        echo "include/QtWebKitWidgets/qtwebkitwidgetsversion.h"
    19822153        sed -i 's/\(#define QTWEBKITWIDGETS_VERSION_STR "\)[^"]*\("\)/\1'"$QTVERSION\2/; s/\(#define QTWEBKITWIDGETS_VERSION 0x\).*$/\1$QTWK_MACHVER/;" include/QtWebKitWidgets/qtwebkitwidgetsversion.h
    19832154        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
    19852157fi
    19862158
    19872159popd
    build_qt5() {  
    21652337        make -j$NCPUS $THINGS_TO_MAKE || ERR=$?
    21662338        #make -j$NCPUS module-qtscript-install_subtargets
    21672339        #make -j$NCPUS module-qtandroidextras-install_subtargets
     2340        echo "Build Completed build_qt5 $ERR"
    21682341        [ $ERR == 0 ] && \
    21692342        make -j$NCPUS install \
    21702343        || ERR=$?
     2344        if [ $ERR -eq 2 ]; then
     2345                ERR=0
     2346        fi
    21712347        #make -j$NCPUS module-qtwebengine-install_subtargets
    21722348        true
    21732349        #make -C qtwebkit/Source -f Makefile.api INSTALL_ROOT="$INSTALLROOT" install &&
    build_qt5() {  
    21852361        PATH=$OPATH
    21862362        unset OPATH
    21872363        popd
     2364        echo "All Completed build_qt5 $ERR"
    21882365        return $ERR
    21892366}
    21902367
    build_webkit_59() {  
    22242401                || ERR=$?
    22252402        set +x
    22262403
     2404        #make -j$NCPUS module-qtwebkit-install_subtargets
    22272405        #make -j$NCPUS module-qtwebengine-install_subtargets
    22282406        true
    22292407        #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)  
    1919
    2020[ -e make.inc ] && source make.inc
    2121
    22 export ANDROID_NATIVE_API_LEVEL=21
     22export ANDROID_NATIVE_API_LEVEL=23
    2323export ANDROID_TARGET_ARCH=armeabi-v7a
    2424export ANDROID_NDK_TOOLS_PREFIX=arm-linux-androideabi
    2525if [ "$USE_CRYSTAX" == 1 ]; then
    MYMYTHBUILDPATH=$MYMYTHBUILDBASEPATH/mythtv  
    158158
    159159export PKG_CONFIG_DIR=
    160160export PKG_CONFIG_LIBDIR=$INSTALLROOT/lib/pkgconfig:$INSTALLROOT/share/pkgconfig:$QTBASE/lib/pkgconfig
     161#export PKG_CONFIG_PATH=$PKG_CONFIG_LIBDIR
    161162export PKG_CONFIG_SYSROOT_DIR=$INSTALLROOT
    162163export PKG_CONFIG_SYSROOT_DIR=
    163164
    function bundle_apk() {  
    273274        # plugins are not automatically installed so copy them
    274275        for i in $MYTHINSTALLROOT/lib/libmythpluginmyth{archive,netvision,news,browser,game,music,zoneminder}.so \
    275276                $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 \
    277279                ; do
    278280                if [ -e "$i" ]; then
    279281                        cp "$i" "$MYTHINSTALLROOT/libs/$ANDROID_TARGET_ARCH/"
    $MYTHTVSRC/configure \  
    364366        --sysroot=$SYSROOT \
    365367        --extra-cflags="$CRYSTAX_CFLAGS -D__ANDROID_API__=$ANDROID_NATIVE_API_LEVEL -DANDROID -I$INSTALLROOT/include -I$QTBASE/include $IGNOREDEFINES $NEONFLAGS " \
    366368        --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" \
    368370        --qmake=$QTBASE/bin/qmake \
    369371        --qmakespecs="android-g++ $EXTRASPECS" \
    370372        --disable-qtdbus \
    $MYTHTVSRC/configure \  
    395397        #--disable-opengl-themepainter \
    396398        #--disable-qtwebkit \
    397399        #--arch=arm7a --cpu=$CPU \
     400        #--disable-libxml2 \
    398401
    399402fi
    400403