diff options
Diffstat (limited to 'tools/depends')
299 files changed, 6167 insertions, 8739 deletions
diff --git a/tools/depends/.gitignore b/tools/depends/.gitignore index 15cd05a174..4f750fb752 100644 --- a/tools/depends/.gitignore +++ b/tools/depends/.gitignore @@ -8,35 +8,30 @@ /native/*/x86-native/* /native/*/x86_64-linux-gnu-native/* /native/*/x86_64-darwin*.*.*-native/ +/native/*/*-darwin*.*.*-native/ /native/*/armeabi-v7a-native/* /target/*/.installed-* /target/*/native/* /target/*/x86/* -/target/*/x86_64-linux-gnu-*/* -/target/*/armeabi-v7a-*/* -/target/*/arm*-linux-gnueabihf-*/* -/target/*/arm*-linux-androideabi-*/* -/target/*/arm*-linux-gnueabi-*/* -/target/*/aarch64-linux-*/* -/target/*/macosx*.*_x86_64-target-*/ -/target/*/macosx*.*_x86_64-target-*/* -/target/*/macosx*.*_i386-target-*/ -/target/*/macosx*.*_i386-target-*/* -/target/*/iphoneos*.*_arm*-target-*/ -/target/*/iphoneos*.*_arm*-target-*/* -/target/*/iphonesimulator*.*_i386*-target-*/ -/target/*/iphonesimulator*.*_i386*-target-*/* -/target/*/iphonesimulator*.*_x86_64*-target-*/ -/target/*/iphonesimulator*.*_x86_64*-target-*/* -/target/*/appletvos*.*_arm64*-target-*/ -/target/*/appletvos*.*_arm64*-target-*/* -/target/*/appletvsimulator*.*_x86_64*-target-*/ -/target/*/appletvsimulator*.*_x86_64*-target-*/* +/target/*/x86_64-linux-android-** +/target/*/x86_64-linux-gnu-** +/target/*/armeabi-v7a-** +/target/*/arm*-linux-gnueabihf-** +/target/*/arm*-linux-androideabi-** +/target/*/arm*-linux-gnueabi-** +/target/*/aarch64-linux-** +/target/*/macosx*-target-** +/target/*/i686-linux-android-** +/target/*/iphoneos*.*_arm*-target-** +/target/*/iphonesimulator*.*_x86_64*-target-** +/target/*/appletvos*.*_arm64*-target-** +/target/*/appletvsimulator*.*_x86_64*-target-** /pre-depends/ /pre-build-deps/ Toolchain.cmake +Toolchain-Native.cmake config.site config.site.native /native/*/*native/ @@ -53,3 +48,4 @@ config.site.native /target/libfmt/fmt-*.tar.gz /target/rapidjson/rapidjson-*.tar.gz /target/flatbuffers/*.tar.gz +/target/libspdlog/spdlog-*.tar.gz diff --git a/tools/depends/Makefile.include.in b/tools/depends/Makefile.include.in index bc6a305ca7..6b45eca0f3 100644 --- a/tools/depends/Makefile.include.in +++ b/tools/depends/Makefile.include.in @@ -8,23 +8,29 @@ CMAKE_SOURCE_DIR=$(abspath $(abs_top_srcdir)/../../) TARBALLS_LOCATION=@use_tarballs@ PLATFORM=@deps_dir@ HOST=@use_host@ +BUILD=@use_build@ +BUILD_CPU=@use_buildcpu@ CPU=@use_cpu@ +MESON_CPU=@meson_cpu@ +MESON_SYSTEM=@meson_system@ NATIVEPLATFORM=@build_cpu@-@build_os@-native NDK_LEVEL=@use_ndk_api@ RETRIEVE_TOOL=@CURL@ ARCHIVE_TOOL=@TAR@ PREFIX=@prefix@/@deps_dir@ NATIVEPREFIX=@prefix@/@tool_dir@ -ARCHIVE_TOOL_NATIVE=$(NATIVEPREFIX)/bin/tar OS=@platform_os@ NATIVE_OS=@build_os@ CROSS_COMPILING=@cross_compiling@ ARCH_DEFINES=@ARCH_DEFINES@ NATIVE_ARCH_DEFINES=@NATIVE_ARCH_DEFINES@ TARGET_PLATFORM=@target_platform@ -AAPT=@AAPT@ -DX=@DX@ -ZIPALIGN=@ZIPALIGN@ +RENDER_SYSTEM=@app_rendersystem@ +WINDOW_SYSTEM=@app_winsystem@ +SHA512SUM=@SHA512SUM@ +SHA256SUM=@SHA256SUM@ +SHASUM=@SHASUM@ +HASH_TOOL_FLAGS=-c --status HAS_ZLIB=@has_zlib@ NEED_LIBICONV=@need_libiconv@ @@ -35,7 +41,7 @@ BASE_URL=http://mirrors.kodi.tv/build-deps/sources ifneq ($(KODI_MIRROR),) BASE_URL=$(KODI_MIRROR)/build-deps/sources endif -RETRIEVE_TOOL_FLAGS=-Ls --create-dirs -f -O +RETRIEVE_TOOL_FLAGS=-LsS --create-dirs --retry 10 --retry-connrefused -O ARCHIVE_TOOL_FLAGS=--strip-components=1 -xf CONFIG_SUB=@prefix@/@tool_dir@/share/automake-1.16/config.sub CONFIG_GUESS=@prefix@/@tool_dir@/share/automake-1.16/config.guess @@ -69,20 +75,21 @@ CPPFLAGS=@platform_cflags@ @platform_includes@ -isystem @prefix@/@deps_dir@/incl FFMPEG_CONFIGURE_OPTIONS=@ffmpeg_options@ -PATH:=@prefix@/@tool_dir@/bin:$(PATH) ifneq (@use_build_toolchain@,) PATH:=@use_build_toolchain@/bin:@use_build_toolchain@/usr/bin:$(PATH) endif +PATH:=@prefix@/@tool_dir@/bin:$(PATH) LD_FOR_BUILD=@LD_FOR_BUILD@ +CC_BINARY_FOR_BUILD=@CC_FOR_BUILD@ +CXX_BINARY_FOR_BUILD=@CXX_FOR_BUILD@ ifneq (@use_ccache@,yes) CC_FOR_BUILD=@CC_FOR_BUILD@ CXX_FOR_BUILD=@CXX_FOR_BUILD@ else CC_FOR_BUILD=@CCACHE@ @CC_FOR_BUILD@ CXX_FOR_BUILD=@CCACHE@ @CXX_FOR_BUILD@ + CCACHE=@CCACHE@ endif -CC_BINARY_FOR_BUILD=@CC_FOR_BUILD@ -CXX_BINARY_FOR_BUILD=@CXX_FOR_BUILD@ AR_FOR_BUILD=@AR_FOR_BUILD@ RANLIB_FOR_BUILD=@RANLIB_FOR_BUILD@ AS_FOR_BUILD=@AS_FOR_BUILD@ @@ -91,11 +98,17 @@ STRIP_FOR_BUILD=@STRIP_FOR_BUILD@ READELF_FOR_BUILD=@READELF_FOR_BUILD@ OBJDUMP_FOR_BUILD=@OBJDUMP_FOR_BUILD@ -NATIVE_CFLAGS=@native_platform_min_version@ -I@prefix@/@tool_dir@/include -NATIVE_LDFLAGS=@native_platform_min_version@ -L@prefix@/@tool_dir@/lib -NATIVE_CPPFLAGS=@native_platform_min_version@ -I@prefix@/@tool_dir@/include -NATIVE_CXXFLAGS=@native_platform_min_version@ -I@prefix@/@tool_dir@/include +NATIVE_CFLAGS=@host_includes@ -I@prefix@/@tool_dir@/include +NATIVE_LDFLAGS=@host_includes@ -L@prefix@/@tool_dir@/lib +NATIVE_CPPFLAGS=@host_includes@ -I@prefix@/@tool_dir@/include +NATIVE_CXXFLAGS=@host_includes@ -I@prefix@/@tool_dir@/include +VERSION.TXT := $(CMAKE_SOURCE_DIR)/version.txt +APP_NAME=$(shell awk '/APP_NAME/ {print tolower($$2)}' $(VERSION.TXT)) + +# Python related vars +PYTHON_VERSION=3.9 +PYTHON_SITE_PKG=@prefix@/@deps_dir@/lib/python${PYTHON_VERSION}/site-packages ifeq ($(CPU), arm64) export GASPP_FIX_XCODE5=1 @@ -112,4 +125,3 @@ export LIBTOOLIZE=@prefix@/@tool_dir@/bin/libtoolize export AUTORECONF=@prefix@/@tool_dir@/bin/autoreconf export JSON_BUILDER=$(NATIVEPREFIX)/bin/JsonSchemaBuilder - diff --git a/tools/depends/README.md b/tools/depends/README.md index 6e45a0567e..64fb3f0aa1 100644 --- a/tools/depends/README.md +++ b/tools/depends/README.md @@ -20,41 +20,37 @@ Paths below are examples. If you want to build Kodi, follow our **[build guides] ### All platforms `./bootstrap` ### Darwin -**macOS (i386)** -`./configure --host=i386-apple-darwin` - -**macOS (x86_64)** +**macOS (x86_64)** `./configure --host=x86_64-apple-darwin` -**iOS (armv7)** -`./configure --host=arm-apple-darwin` - -**iOS (arm64)** -`./configure --host=arm-apple-darwin --with-cpu=arm64` +**iOS (arm64)** +`./configure --host=aarch64-apple-darwin` -**tvOS** -`./configure --host=arm-apple-darwin --with-platform=tvos` +**tvOS** +`./configure --host=aarch64-apple-darwin --with-platform=tvos` **NOTE:** You can target the same `--prefix=` path. Each setup will be done in an isolated directory. The last configure/make you do is the one used for Kodi/Xcode. - + ### Android -**arm** +**arm** `./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r20 --prefix=$HOME/android-tools/xbmc-depends` -**aarch64** +**aarch64** `./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=aarch64-linux-android --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r20 --prefix=$HOME/android-tools/xbmc-depends` -**x86** +**x86** `./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=i686-linux-android --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r20 --prefix=$HOME/android-tools/xbmc-depends` -### Linux -**ARM (codesourcery/lenaro/etc)** -`./configure --with-toolchain=/opt/toolchains/my-example-toolchain/ --prefix=/opt/xbmc-deps --host=arm-linux-gnueabi` +**x86_64** +`./configure --with-tarballs=$HOME/android-tools/xbmc-tarballs --host=x86_64-linux-android --with-sdk-path=$HOME/android-tools/android-sdk-linux --with-ndk-path=$HOME/android-tools/android-ndk-r20 --prefix=$HOME/android-tools/xbmc-depends` + +> **Note:** Android x86 and x86_64 are not maintained and are not 100% sure that everything works correctly! -**Raspberry Pi** -`./configure --with-platform=raspberry-pi --host=arm-linux-gnueabihf --prefix=/opt/xbmc-deps --with-tarballs=/opt/xbmc-tarballs --with-toolchain=/opt/rbp-dev/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf --with-firmware=/opt/rbp-dev/firmware --build=i686-linux` +### Linux +**ARM (codesourcery/lenaro/etc)** +`./configure --with-toolchain=/opt/toolchains/my-example-toolchain/ --prefix=/opt/xbmc-deps --host=arm-linux-gnueabi --with-rendersystem=gles` -**Native** -`./configure --with-toolchain=/usr --prefix=/opt/xbmc-deps --host=x86_64-linux-gnu` +**Native** +`./configure --with-toolchain=/usr --prefix=/opt/xbmc-deps --host=x86_64-linux-gnu --with-rendersystem=gl` Cross compiling is a PITA. diff --git a/tools/depends/bootstrap b/tools/depends/bootstrap index d9e14e783f..9f03bce44f 100755 --- a/tools/depends/bootstrap +++ b/tools/depends/bootstrap @@ -3,7 +3,7 @@ # Some platforms may not have m4/autoconf. If not, build temporary copies in # order to bootstrap. DEPENDS=`dirname $0` -export PATH=$DEPENDS/pre-build-deps/bin:$PATH +export PATH="$DEPENDS/pre-build-deps/bin:$PATH" which m4 >/dev/null 2>/dev/null || make -C $DEPENDS/pre-depends/m4-pre-depends which autoconf >/dev/null 2>/dev/null || make -C $DEPENDS/pre-depends/autoconf-pre-depends which autoconf >/dev/null 2>/dev/null || \ diff --git a/tools/depends/configure.ac b/tools/depends/configure.ac index 2c74c3b086..30adee3302 100644 --- a/tools/depends/configure.ac +++ b/tools/depends/configure.ac @@ -1,13 +1,17 @@ AC_PREREQ(2.59) -AC_INIT([xbmc-depends], [2.00], [http://trac.xbmc.org]) +AC_INIT([xbmc-depends], [2.00], [https://github.com/xbmc/xbmc]) :${CFLAGS=""} AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_FILES([target/config.site native/config.site.native Makefile.include target/Toolchain.cmake - target/config-binaddons.site target/Toolchain_binaddons.cmake target/cross-file.meson]) +AC_CONFIG_FILES([native/config.site.native Makefile.include + target/config.site target/config-binaddons.site + target/Toolchain.cmake target/Toolchain_binaddons.cmake + native/Toolchain-Native.cmake]) AC_CANONICAL_HOST +AC_CANONICAL_BUILD m4_include([m4/xbmc_arch.m4]) -m4_include([m4/ax_cxx_compile_stdcxx_14.m4]) +m4_include([m4/ax_cxx_compile_stdcxx.m4]) +m4_include([m4/ax_compare_version.m4]) # check for not same cpu value AC_DEFUN([MC_CHECK_NOT_CPU], @@ -34,6 +38,11 @@ AC_ARG_ENABLE([ccache], [use_ccache=no], [use_ccache=yes]) +AC_ARG_WITH([linker], + [AS_HELP_STRING([--with-linker], + [specify linker to use.])], + [use_linker=$withval]) + AC_ARG_WITH([toolchain], [AS_HELP_STRING([--with-toolchain], [specify path to toolchain. Auto set for android. Defaults to xcode root for darwin, /usr for linux])], @@ -93,6 +102,11 @@ AC_ARG_WITH([rendersystem], [render system to use])], [app_rendersystem=$withval]) +AC_ARG_WITH([windowsystem], + [AS_HELP_STRING([--with-windowsystem], + [Windowing system to use])], + [app_winsystem=$withval]) + AC_ARG_WITH([target-cflags], [AS_HELP_STRING([--with-target-cflags], [C compiler flags (target)])], @@ -133,6 +147,10 @@ if test "x$TAR" = "xno" ; then AC_MSG_ERROR("Missing program: tar") fi +if test "x$use_linker" = "x" ; then + use_linker=ld +fi + if test "$use_debug" = "yes"; then build_type="debug" else @@ -140,6 +158,8 @@ else fi use_host=$host_alias +use_build=$build_cpu-$build_vendor-$build_os +use_buildcpu=$build_cpu cross_compiling="yes" if test "x$host" = "x$build"; then @@ -167,15 +187,53 @@ case $build in ;; *darwin*) build_os="osx" - native_platform_min_version=-mmacosx-version-min=`sw_vers | grep ProductVersion | sed -E "s/.*:.*(10\..*)\.?.*/\1/"` - use_xcodepath=`xcode-select -print-path` - use_build_toolchain=$use_xcodepath + if test "x$build_cpu" = "xx86_64"; then + host_includes="-arch x86_64 -mmacosx-version-min=10.13" + else + host_includes="-arch arm64 -mmacosx-version-min=11.0" + fi + use_xcrun=xcrun + + # acquire build platform (native) sdk sysroot. + build_platform=macosx + native_sdk_path=[`$use_xcrun --show-sdk-path`] + host_sysroot="$native_sdk_path" + host_includes="${host_includes} -isysroot $native_sdk_path" + + CC_FOR_BUILD=[`$use_xcrun --find clang`] + use_build_toolchain=[`$CC_FOR_BUILD --version | grep InstalledDir | awk '{ print $2}'`] + + # Android NDK currently only x86_64 prebuilts - Arctic Fox 2020.3.1 android_toolchain_name="darwin-x86_64" + + host_cxxflags="-std=c++17 -stdlib=libc++" + + if test "x$prefix" = "xNONE"; then + prefix=/Users/Shared/xbmc-depends + fi ;; *) AC_MSG_ERROR(unsupported native build platform: $build) esac + +if test "x$build_os" = "xosx"; then + AC_PATH_PROG(SHASUM,shasum,"no") + if test "x$SHASUM" = "xno" ; then + AC_MSG_ERROR("Missing program: shasum") + fi +else + AC_PATH_PROG(SHA512SUM,sha512sum,"no") + if test "x$SHA512SUM" = "xno" ; then + AC_MSG_ERROR("Missing program: sha512sum") + fi + + AC_PATH_PROG(SHA256SUM,sha256sum,"no") + if test "x$SHA256SUM" = "xno" ; then + AC_MSG_ERROR("Missing program: sha256sum") + fi +fi + if test -n $use_build_toolchain; then PATH_FOR_BUILD=$use_build_toolchain:$use_build_toolchain/usr/bin:$use_toolchain/bin:$PATH else @@ -185,14 +243,13 @@ fi AC_PATH_PROG([RANLIB_FOR_BUILD], [ranlib], ranlib, $PATH_FOR_BUILD) AC_PATH_PROG([LD_FOR_BUILD], [ld], ld, $PATH_FOR_BUILD) AC_PATH_PROG([AR_FOR_BUILD], [ar], ar, $PATH_FOR_BUILD) -AC_PATH_PROG([READELF_FOR_BUILD], [readelf], readelf, $PATH_FOR_BUILD) +AC_PATH_PROG([READELF_FOR_BUILD], [readelf],, $PATH_FOR_BUILD) AC_PATH_PROG([STRIP_FOR_BUILD], [strip], strip, $PATH_FOR_BUILD) AC_PATH_PROG([AS_FOR_BUILD], [as], as, $PATH_FOR_BUILD) AC_PATH_PROG([NM_FOR_BUILD], [nm], nm, $PATH_FOR_BUILD) AC_PATH_PROG([OBJDUMP_FOR_BUILD], [objdump], objdump, $PATH_FOR_BUILD) -AC_PATH_PROG([CC_FOR_BUILD],[gcc llvm-gcc $platform_cc], gcc, $PATH_FOR_BUILD) -AC_PATH_PROG([CXX_FOR_BUILD],[g++ llvm-g++ $platform_cxx], g++, $PATH_FOR_BUILD) - +AC_PATH_PROG([CC_FOR_BUILD],[clang gcc llvm-gcc], gcc, $PATH_FOR_BUILD) +AC_PATH_PROG([CXX_FOR_BUILD],[clang++ g++ llvm-g++], g++, $PATH_FOR_BUILD) platform_cc=gcc platform_cxx=g++ @@ -202,6 +259,9 @@ case $host in use_toolchain="${use_toolchain:-$use_ndk_path/toolchains/llvm/prebuilt/$android_toolchain_name}" platform_cc=$use_host$use_ndk_api-clang platform_cxx=$use_host$use_ndk_api-clang++ + + platform_tool_prefix=llvm- + case $host in arm*-*linux-android*) platform_cc=armv7a-linux-androideabi$use_ndk_api-clang @@ -209,33 +269,47 @@ case $host in esac ;; *darwin*) - use_toolchain="${use_xcodepath}/Toolchains/XcodeDefault.xctoolchain" - platform_cc=clang + CC=[`$use_xcrun --find clang`] platform_cxx=clang++ + use_toolchain=[`$CC --version | grep InstalledDir | awk '{ print $2}'`] esac -if test -n $use_build_toolchain; then +if test -n $use_toolchain; then PATH_FOR_HOST=$use_toolchain:$use_toolchain/usr/bin:$use_toolchain/bin:$PATH else PATH_FOR_HOST=$PATH fi -AC_PATH_TOOL([RANLIB], [ranlib],, $PATH_FOR_HOST) -AC_PATH_TOOL([LD], [ld],, $PATH_FOR_HOST) -AC_PATH_TOOL([AR], [ar],, $PATH_FOR_HOST) -AC_PATH_TOOL([READELF], [readelf],, $PATH_FOR_HOST) -AC_PATH_TOOL([STRIP], [strip],, $PATH_FOR_HOST) -AC_PATH_TOOL([AS], [as],, $PATH_FOR_HOST) -AC_PATH_TOOL([NM], [nm],, $PATH_FOR_HOST) -AC_PATH_TOOL([OBJDUMP], [objdump],, $PATH_FOR_HOST) +AC_PATH_TOOL([RANLIB], [${platform_tool_prefix}ranlib],, $PATH_FOR_HOST) +AC_PATH_TOOL([LD], [${use_linker}],, $PATH_FOR_HOST) +AC_PATH_TOOL([AR], [${platform_tool_prefix}ar],, $PATH_FOR_HOST) +AC_PATH_TOOL([READELF], [${platform_tool_prefix}readelf],, $PATH_FOR_HOST) +AC_PATH_TOOL([STRIP], [${platform_tool_prefix}strip],, $PATH_FOR_HOST) +AC_PATH_TOOL([AS], [${platform_tool_prefix}as],, $PATH_FOR_HOST) +AC_PATH_TOOL([NM], [${platform_tool_prefix}nm],, $PATH_FOR_HOST) +AC_PATH_TOOL([OBJDUMP], [${platform_tool_prefix}objdump],, $PATH_FOR_HOST) AC_PATH_TOOL([CC],[$platform_cc],,$PATH_FOR_HOST) AC_PATH_TOOL([CXX],[$platform_cxx],,$PATH_FOR_HOST) -AC_PROG_CPP -AX_CXX_COMPILE_STDCXX_14([noext],[mandatory]) -c14_flags=$(echo "$CFLAGS" | sed 's/-O@<:@123@:>@//g;s/-g //g;s/ //g') -cxx14_flags=$(echo "$CXXFLAGS" | sed 's/-O@<:@123@:>@//g;s/-g //g;s/ //g') +if test "x$LD" = "x"; then + AC_MSG_ERROR(No linker found with name ${use_linker}. You may want to provide using --with-linker=<linker>) +fi +case $build in + *darwin*) + # MacOS 11 requires explicit isysroot for autoconf compiler tests + # However we do not want to pollute CFLAGS/CXXFLAGS once compiler tests are complete + CFLAGS="${CFLAGS} $host_includes" + CXXFLAGS="${CXXFLAGS} $host_includes" +esac + +AC_PROG_CPP + +case $build in + *darwin*) + CFLAGS=$(echo "$CFLAGS" | sed "s|$host_includes||") + CXXFLAGS=$(echo "$CXXFLAGS" | sed "s|$host_includes||") +esac case $host in *-*linux-android*) @@ -250,34 +324,52 @@ case $host in use_cpu="armeabi-v7a" fi if test "x$use_cpu" = "xarmeabi-v7a"; then - platform_cflags+=" -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=neon" + platform_cflags="${platform_cflags} -march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=neon" fi - platform_ldflags+=" -Wl,--exclude-libs,libunwind.a" + platform_ldflags="${platform_ldflags} -Wl,--exclude-libs,libunwind.a" + meson_cpu="arm" ;; aarch64*-*linux-android*) if test "x$use_cpu" = "xauto"; then use_cpu="arm64-v8a" fi if test "x$use_cpu" = "xarm64-v8a"; then - platform_cflags+=" -march=armv8-a -mtune=cortex-a53" + platform_cflags="${platform_cflags} -march=armv8-a -mtune=cortex-a53" fi + meson_cpu="aarch64" ;; i*86*-linux-android*) if test "x$use_cpu" = "xauto"; then use_cpu=$host_cpu fi + meson_cpu="x86" + ;; + x86_64*-linux-android*) + if test "x$use_cpu" = "xauto"; then + use_cpu=$host_cpu + fi + meson_cpu="x86_64" ;; *) AC_MSG_ERROR(unsupported host ($use_host)) esac platform_cxxflags="$platform_cflags -frtti" - platform_includes="-I$prefix/$deps_dir/include/android-$use_ndk_api" + platform_includes="-isystem $prefix/$deps_dir/include/android-$use_ndk_api" platform_os="android" + meson_system="android" #android builds are always cross cross_compiling="yes" ;; arm*-*-linux-gnu*|arm*-*-linux-uclibc*|aarch64*-*-linux-gnu*|aarch*-*-linux-be*) + case $host in + arm*-*-linux-gnu*|arm*-*-linux-uclibc*) + meson_cpu="arm" + ;; + aarch64*-*-linux-gnu*|aarch*-*-linux-be*) + meson_cpu="aarch64" + ;; + esac if test "x$use_cpu" = "xauto"; then use_cpu=$host_cpu fi @@ -287,183 +379,130 @@ case $host in platform_ldflags="-Wl,-rpath-link=$prefix/$deps_dir/lib" platform_cxxflags="$platform_cflags" platform_os="linux" + meson_system="linux" + target_platform="wayland gbm" ;; *i686*-linux-gnu*|i*86*-*-linux-uclibc*|x86_64*-linux-gnu*|x86_64-*-linux-uclibc*) + case $host in + *i686*-linux-gnu*|i*86*-*-linux-uclibc*) + meson_cpu="x86" + ;; + x86_64*-linux-gnu*|x86_64-*-linux-uclibc*) + meson_cpu="x86_64" + ;; + esac use_cpu=$host_cpu use_toolchain="${use_toolchain:-/usr}" platform_cflags="-fPIC -DPIC" optimize_flags="-O2" platform_cxxflags="$platform_cflags" platform_os="linux" + meson_system="linux" ffmpeg_options_default="--enable-vaapi --enable-vdpau --cpu=$use_cpu" + target_platform="x11 wayland gbm" ;; *darwin*) - if test "x$prefix" = "xNONE"; then - prefix=/Users/Shared/xbmc-depends - fi - - use_xcodebuild=$use_xcodepath/usr/bin/xcodebuild - AC_MSG_RESULT(found xcodebuild at $use_xcodebuild) - # darwin builds are always cross cross_compiling="yes" - platform_cflags="-fheinous-gnu-extensions -no-cpp-precomp" - platform_ldflags="-Wl,-search_paths_first" - platform_cxxflags="-no-cpp-precomp" + meson_system="darwin" - case $host in - *86*-apple-darwin) - MC_CHECK_NOT_CPU([$use_cpu], "arm") - - # setup which cpu to use - case $host in - x86_64-apple-darwin*) - if test "x$use_cpu" = "xauto"; then - use_cpu=x86_64 - fi - ;; - i*86-apple-darwin*) - if test "x$use_cpu" = "xauto"; then - use_cpu=i386 - fi - platform_ldflags+=" -read_only_relocs suppress" - ;; - *) - AC_MSG_ERROR(error in configure of --with-arch=$use_cpu) - esac + platform_cflags="-fheinous-gnu-extensions" + platform_ldflags="-Wl,-search_paths_first" - # setup which sdk to use + case $use_platform in + tvos) + target_platform=appletvos + platform_os="darwin_embedded" + ;; + ios) + target_platform=iphoneos + platform_os="darwin_embedded" + ;; + macos) target_platform=macosx - found_sdk_version=[`$use_xcodebuild -showsdks | grep $target_platform | sort | tail -n 1 | awk '{ print $2}'`] - use_sdk="${use_sdk:-$found_sdk_version}" - - # now that we know which sdk, error check sdk_name - case $use_sdk in - 10.9);; - 10.10);; - 10.11);; - 10.12);; - 10.13);; - 10.14);; - 10.15);; - *) - AC_MSG_ERROR(error in configure of --with-sdk=$use_sdk) - esac - sdk_name=$target_platform$use_sdk - platform_min_version="macosx-version-min=10.9" - - use_sdk_path=[`$use_xcodebuild -version -sdk $sdk_name Path`] platform_os="osx" ;; + *) + AC_MSG_ERROR(error in configure no platform provided --with-platform) + ;; + esac - arm-apple-darwin*) - MC_CHECK_NOT_CPU([$use_cpu], "*86") + found_sdk_version=[`$use_xcrun --sdk $target_platform --show-sdk-version`] + use_sdk="${use_sdk:-$found_sdk_version}" + use_sdk_path=$($use_xcrun --sdk $target_platform --show-sdk-path) + sdk_name=$target_platform$use_sdk - # setup which sdk to use - if test "$use_platform" = "tvos"; then - use_cpu=arm64 - target_platform=appletvos - platform_min_version="$target_platform-version-min=11.0" - else - # setup which cpu to use - if test "x$use_cpu" = "xauto"; then - use_cpu=armv7 - fi + case $host in + x86_64-apple-darwin) + MC_CHECK_NOT_CPU([$use_cpu], "arm*") - target_platform=iphoneos - platform_min_version="$target_platform-version-min=9.0" + # setup which cpu to use + if test "x$use_cpu" = "xauto"; then + use_cpu=x86_64 + meson_cpu=$use_cpu + else + AC_MSG_ERROR(invalid architecture (--with-cpu=$use_cpu)) fi - found_sdk_version=[`$use_xcodebuild -showsdks | grep "\-sdk $target_platform" | awk '{ print $2}'`] - use_sdk="${use_sdk:-$found_sdk_version}" - sdk_name=$target_platform$use_sdk - - if test "$use_platform" = "tvos"; then - case $use_sdk in - 11.*);; - 12.*);; - 13.*);; - *) - AC_MSG_ERROR(error in configure of --with-sdk=$use_sdk) - ;; - esac + target_minver="10.13" + + # check provided window system is valid_sdk + # if no window system supplied, default to SDL for now. + if test -n "$app_winsystem"; then + if test "$app_winsystem" != "native" && test "$app_winsystem" != "sdl"; then + AC_MSG_ERROR(Window system must be native or sdl) + fi else - case $use_sdk in - 9.*);; - 10.*);; - 11.*);; - 12.*);; - 13.*);; - *) - AC_MSG_ERROR(error in configure of --with-sdk=$use_sdk) - ;; - esac + app_winsystem=sdl fi + ;; + aarch64-apple-darwin*) + MC_CHECK_NOT_CPU([$use_cpu], "*86") - platform_os="darwin_embedded" + case $platform_os in + darwin_embedded) + target_minver="11.0" + ;; + osx) + target_minver="11.0" + app_winsystem=native + ;; + *) + AC_MSG_ERROR(invalid platform for architecture ($host)) + ;; + esac - if [ ! test "x$use_cpu" = "xarm64" ]; then - platform_cflags+=" -mcpu=cortex-a8 -mfpu=neon" - platform_ldflags+=" -Wl,-segalign,4000" + # setup which cpu to use + if test "x$use_cpu" = "xauto"; then + use_cpu=arm64 + meson_cpu="aarch64" + else + AC_MSG_ERROR(invalid architecture (--with-cpu=$use_cpu)) fi - platform_cflags+=" -ftree-vectorize -pipe -Wno-trigraphs -fpascal-strings" - platform_cflags+=" -Wreturn-type -Wunused-variable -fmessage-length=0 -gdwarf-2" - platform_cflags+=" -Wno-error=implicit-function-declaration" + + platform_cflags="${platform_cflags} -ftree-vectorize -pipe -Wno-trigraphs -fpascal-strings" + platform_cflags="${platform_cflags} -Wreturn-type -Wunused-variable -fmessage-length=0 -gdwarf-2" optimize_flags="-O3" - use_sdk_path=[`$use_xcodebuild -version -sdk $sdk_name | grep ^Path | awk '{ print $2}'`] - platform_ldflags+=" -L$use_sdk_path/usr/lib" - platform_cxxflags+=" $cpu_flags" + platform_ldflags="${platform_ldflags} -L$use_sdk_path/usr/lib" ;; esac - platform_cflags+=" -arch $use_cpu -m$platform_min_version" - platform_ldflags+=" -arch $use_cpu -m$platform_min_version -isysroot $use_sdk_path -stdlib=libc++" - platform_cxxflags+=" -arch $use_cpu -m$platform_min_version -stdlib=libc++" - platform_includes="-isysroot $use_sdk_path" + + AX_COMPARE_VERSION([$use_sdk], [ge], [$target_minver], , AC_MSG_ERROR("invalid SDK version provided (--with-sdk=$use_sdk) less than minimum supported ($target_minver)")) + + platform_min_version="$target_platform-version-min=$target_minver" + + platform_includes="-arch $use_cpu -m$platform_min_version -isysroot $use_sdk_path" + platform_ldflags="${platform_ldflags} $platform_includes -stdlib=libc++" + platform_cxxflags="${platform_cxxflags} -stdlib=libc++" deps_dir="${sdk_name}_${use_cpu}-target-${build_type}" - AC_CHECK_LIB([z], [main], has_zlib=1, AC_MSG_WARN("No zlib support in toolchain. Will build libz."); has_zlib=0) ;; *) AC_MSG_ERROR(unsupported host ($use_host)) esac case $use_platform in - gbm|wayland) - if test "$platform_os" != "linux"; then - AC_MSG_ERROR([$use_platform is only supported on the Linux platform]) - fi - target_platform=$use_platform - ;; - raspberry-pi) - target_platform=raspberry-pi - use_cpu=arm1176jzf-s - ffmpeg_options_default="--cpu=arm1176jzf-s" - platform_cflags="-mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp" - platform_cxxflags="-mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp" - platform_ldflags="" - ;; - raspberry-pi2) - target_platform=raspberry-pi - use_cpu=cortex-a7 - ffmpeg_options_default="--cpu=cortex-a7" - platform_cflags="-fPIC -mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4 -mvectorize-with-neon-quad" - platform_cxxflags="-fPIC -mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4 -mvectorize-with-neon-quad" - platform_ldflags="-lpthread" - ;; - raspberry-pi3) - target_platform=raspberry-pi - use_cpu=cortex-a53 - ffmpeg_options_default="--cpu=cortex-a53" - platform_cflags="-fPIC -mcpu=cortex-a53 -mfloat-abi=hard -mfpu=neon-fp-armv8 -mvectorize-with-neon-quad" - platform_cxxflags="-fPIC -mcpu=cortex-a53 -mfloat-abi=hard -mfpu=neon-fp-armv8 -mvectorize-with-neon-quad" - platform_ldflags="-lpthread" - ;; - tvos) - platform_cflags+=" -fembed-bitcode" - platform_cxxflags+=" -fembed-bitcode" - if test "$platform_os" != "darwin_embedded"; then - AC_MSG_ERROR([$use_platform is only supported on the darwin_embedded platform]) - fi + ios|tvos|macos) ;; auto) ;; @@ -471,36 +510,28 @@ case $use_platform in AC_MSG_ERROR(unsupported platform ($use_platform)) esac -if test "$target_platform" = "raspberry-pi" ; then - if test -d "${use_firmware}/opt/vc/include"; then - : - else - AC_MSG_ERROR([Raspberry Pi firmware not found]) - fi - use_arch="arm" - use_hardcoded_tables="yes" - ARCH="arm" - cross_compiling="yes" - use_host="arm-linux-gnueabihf" - deps_dir="$use_platform-$build_type" - platform_cflags+=" -pipe -mabi=aapcs-linux -Wno-psabi \ - -Wa,-mno-warn-deprecated -Wno-deprecated-declarations \ - -isystem${use_firmware}/opt/vc/include \ - -isystem${use_firmware}/opt/vc/include/interface/vcos/pthreads \ - -isystem${use_firmware}/opt/vc/include/interface/vmcs_host/linux" - platform_cxxflags+=" -pipe -mabi=aapcs-linux -Wno-psabi \ - -Wa,-mno-warn-deprecated -Wno-deprecated-declarations \ - -isystem${use_firmware}/opt/vc/include \ - -isystem${use_firmware}/opt/vc/include/interface/vcos/pthreads \ - -isystem${use_firmware}/opt/vc/include/interface/vmcs_host/linux" - platform_ldflags+=" -L${use_firmware}/opt/vc/lib -lEGL -lGLESv2 -lbcm_host -lvcos \ - -lvchiq_arm" -fi - XBMC_SETUP_ARCH_DEFINES() +case $build in + *darwin*) + if test "$platform_os" != "android"; then + # MacOS 11 requires explicit isysroot for autoconf link tests + # However we do not want to pollute LDFLAGS once lib link tests are complete + LDFLAGS="$platform_includes" + AC_CHECK_LIB([z], [main], has_zlib=1, AC_MSG_WARN("No zlib support in toolchain. Will build libz."); has_zlib=0) + fi +esac -AC_SEARCH_LIBS([iconv_open],iconv, link_iconv=$ac_cv_search_iconv_open, link_iconv=-liconv; AC_MSG_WARN("No iconv support in toolchain. Will build libiconv."); need_libiconv=1) +if test "$platform_os" = "android"; then + need_libiconv=1 +else + AC_SEARCH_LIBS([iconv_open],iconv, link_iconv=$ac_cv_search_iconv_open, link_iconv=-liconv; AC_MSG_WARN("No iconv support in toolchain. Will build libiconv."); need_libiconv=1) +fi + +case $build in + *darwin*) + LDFLAGS=$(echo "$LDFLAGS" | sed "s|$platform_includes||") +esac if test "$link_iconv" = "none required"; then link_iconv= @@ -518,13 +549,13 @@ if test -z $use_tarballs; then use_tarballs=$prefix/xbmc-tarballs fi -if test -n "$app_rendersystem"; then +if test "$platform_os" = "linux"; then if test "$app_rendersystem" != "gl" && test "$app_rendersystem" != "gles"; then - AC_MSG_ERROR(Rendersystem must be gl or gles) + AC_MSG_ERROR(Rendersystem is required for linux - must be gl or gles) fi fi -if test "$platform_os" == "android"; then +if test "$platform_os" = "android"; then if test -z $use_ndk_path; then AC_MSG_ERROR("NDK path is required for android") fi @@ -537,7 +568,7 @@ if test "$platform_os" == "android"; then AC_MSG_ERROR("SDK path is required for android") fi - if [ ! test -f $use_sdk_path/tools/android ]; then + if [ ! test -f $use_sdk_path/tools/bin/sdkmanager ]; then AC_MSG_ERROR(verify sdk path) fi @@ -549,31 +580,18 @@ if test "$platform_os" == "android"; then SORT_PARAMS="" sort -V /dev/null > /dev/null 2>&1 && SORT_PARAMS="-V" build_tools_path=$use_sdk_path/tools:$use_sdk_path/platform-tools:$use_sdk_path/build-tools/`ls $use_sdk_path/build-tools | sort $SORT_PARAMS | tail -n 1` - - AC_PATH_PROG(AAPT,aapt,"no",$build_tools_path) - if test "x$AAPT" = "xno" ; then - AC_MSG_ERROR("Missing program: aapt") - fi - - AC_PATH_PROG(DX,dx,"no",$build_tools_path) - if test "x$DX" = "xno" ; then - AC_MSG_ERROR("Missing program: dx") - fi - - AC_PATH_PROG(ZIPALIGN,zipalign,"no",$build_tools_path) - if test "x$ZIPALIGN" = "xno" ; then - AC_MSG_ERROR("Missing program: zipalign") - fi fi -# darwin needs unzip/zip in Codesign.command +# darwin needs unzip in Codesign.command if test "$platform_os" = "android" || test "$platform_os" = "osx" || test "$platform_os" = "darwin_embedded"; then AC_CHECK_PROG(HAVE_UNZIP,unzip,"yes","no",) if test "x$HAVE_UNZIP" = "xno"; then AC_MSG_ERROR("Missing program: unzip") fi fi -if test "$platform_os" = "osx" || test "$platform_os" = "darwin_embedded"; then +# darwin needs zip in Codesign.command +# android needs zip in tools/android/packaging/Makefile sharedobb target +if test "$platform_os" = "android" || test "$platform_os" = "osx" || test "$platform_os" = "darwin_embedded"; then AC_CHECK_PROG(HAVE_ZIP,zip,"yes","no",) if test "x$HAVE_ZIP" = "xno"; then AC_MSG_ERROR("Missing program: zip") @@ -614,8 +632,8 @@ if [ ! `mkdir -p $use_tarballs` ]; then fi # remove unwanted optimization flags -tmp_cflags=$(echo $c14_flags $platform_cflags | sed 's/-O@<:@123@:>@//g;s/-g //g;s/ \{2,\}//g') -tmp_cxxflags=$(echo $cxx14_flags $platform_cxxflags | sed 's/-O@<:@123@:>@//g;s/-g //g;s/ \{2,\}//g') +tmp_cflags=$(echo $CFLAGS $platform_cflags | sed 's/-O@<:@123@:>@//g;s/-g //g;s/ \{2,\}//g') +tmp_cxxflags=$(echo $CXXFLAGS $platform_cxxflags | sed 's/-O@<:@123@:>@//g;s/-g //g;s/ \{2,\}//g') release_cflags="-DNDEBUG=1" @@ -635,7 +653,7 @@ platform_cflags_release="$tmp_cflags $release_cflags $optimize_flags $target_cfl platform_cxxflags_release="$tmp_cxxflags $release_cflags $optimize_flags $target_cxxflags" platform_cflags_debug="$tmp_cflags $debug_cflags $target_cflags" platform_cxxflags_debug="$tmp_cxxflags $debug_cflags $target_cxxflags" -platform_ldflags+=" $target_ldflags $LIBS" +platform_ldflags="${platform_ldflags} $target_ldflags $LIBS" if test "$use_debug" = "yes"; then platform_cflags="$platform_cflags_debug" @@ -645,11 +663,17 @@ else platform_cxxflags="$platform_cxxflags_release" fi -if test "$ffmpeg_options" == "default"; then +CXXFLAGS="$platform_cxxflags $platform_includes" +CXX_CACHED="$CXX" +AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory]) +CXX="$CXX_CACHED" +platform_cxxflags="${platform_cxxflags} -std=c++17" + +if test "$ffmpeg_options" = "default"; then ffmpeg_options="$ffmpeg_options_default" fi -if test "$platform_os" == "android"; then +if test "$platform_os" = "android"; then echo -e AC_SUBST(use_sdk_path) AC_SUBST(use_ndk_path) @@ -657,10 +681,14 @@ echo -e AC_SUBST(build_tools_path) fi +AC_SUBST(meson_system) +AC_SUBST(meson_cpu) AC_SUBST(use_debug) AC_SUBST(use_host) +AC_SUBST(use_build) AC_SUBST(deps_dir) AC_SUBST(tool_dir) +AC_SUBST(use_buildcpu) AC_SUBST(use_cpu) AC_SUBST(use_toolchain) AC_SUBST(use_build_toolchain) @@ -683,15 +711,115 @@ AC_SUBST(link_iconv) AC_SUBST(need_libiconv) AC_SUBST(use_gplv3) AC_SUBST(use_ccache) -AC_SUBST(native_platform_min_version) +AC_SUBST(host_includes) +AC_SUBST(host_sysroot) +AC_SUBST(host_cxxflags) AC_SUBST(app_rendersystem) +AC_SUBST(app_winsystem) AC_SUBST(ffmpeg_options) +[ +if test "x$CCACHE" = "x" +then + MESON_CC="'$CC'" + MESON_CXX="'$CXX'" +else + MESON_CC="['$CCACHE', '$CC']" + MESON_CXX="['$CCACHE', '$CXX']" +fi + +# Parse and handle CFLAGS +read -r CFLAGS_ARRAY << EOF +$platform_cflags $platform_includes -isystem $prefix/$deps_dir/include +EOF + +count=1 +for flag in $CFLAGS_ARRAY; do + if test "$flag" != "-g" + then + if test "$flag" != "-gdwarf-2" + then + MESON_CFLAGS="${MESON_CFLAGS:+${MESON_CFLAGS}, }'$flag'" + count=$((count + 1)) + fi + fi +done +if test "$count" -gt "2" +then + MESON_CFLAGS="[$MESON_CFLAGS]" +fi + +# Parse and handle CXXFLAGS +read -r CXXFLAGS_ARRAY << EOF +$platform_cxxflags $platform_includes -isystem $prefix/$deps_dir/include +EOF + +count=1 +for flag in $CXXFLAGS_ARRAY; do + if test "$flag" != "-g" + then + if test "$flag" != "-gdwarf-2" + then + MESON_CXXFLAGS="${MESON_CXXFLAGS:+${MESON_CXXFLAGS}, }'$flag'" + count=$((count + 1)) + fi + fi +done +if test "$count" -gt "2" +then + MESON_CXXFLAGS="[$MESON_CXXFLAGS]" +fi + +# Parse and handle LDFLAGS +read -r LDFLAGS_ARRAY << EOF +-L$prefix/$deps_dir/lib $platform_ldflags +EOF + +count=1 +for flag in $LDFLAGS_ARRAY; do + MESON_LDFLAGS="${MESON_LDFLAGS:+${MESON_LDFLAGS}, }'$flag'" + count=$((count + 1)) +done +if test "$count" -gt "2" +then + MESON_LDFLAGS="[$MESON_LDFLAGS]" +fi + +cat > $prefix/$deps_dir/share/cross-file.meson << EOF +[binaries] +c = $MESON_CC +cpp = $MESON_CXX +ar = '$AR' +strip = '$STRIP' +pkgconfig = '$prefix/$tool_dir/bin/pkg-config' + +[host_machine] +system = '$meson_system' +cpu_family = '$meson_cpu' +cpu = '$use_cpu' +endian = 'little' + +[properties] +pkg_config_libdir = '$prefix/$deps_dir/lib/pkgconfig' + +[built-in options] +c_args = $MESON_CFLAGS +c_link_args = $MESON_LDFLAGS +cpp_args = $MESON_CXXFLAGS +cpp_link_args = $MESON_LDFLAGS +default_library = 'static' +prefix = '$prefix/$deps_dir' +libdir = 'lib' +bindir = 'bin' +includedir = 'include' +EOF +] + AC_OUTPUT -if test "$platform_os" == "darwin_embedded"; then +if test "$platform_os" = "darwin_embedded"; then if test "$use_platform" = "ios"; then - simulator_sdk_path=[`$use_xcodebuild -version -sdk iphonesimulator$use_sdk | grep ^Path | awk '{ print $2}'`] + simulator_sdk_path=[`$use_xcrun --sdk iphonesimulator --show-sdk-path`] echo -e "use simulator:\t $simulator_sdk_path" fi fi @@ -700,23 +828,29 @@ cp -vf target/config.site $prefix/$deps_dir/share cp -vf target/config-binaddons.site $prefix/$tool_dir/share cp -vf target/Toolchain.cmake $prefix/$deps_dir/share cp -vf target/Toolchain_binaddons.cmake $prefix/$deps_dir/share -cp -vf target/cross-file.meson $prefix/$deps_dir/share cp -vf native/config.site.native $prefix/$tool_dir/share/config.site +cp -vf native/Toolchain-Native.cmake $prefix/$tool_dir/share echo -e "\n\n#------- configuration -------#" echo -e "ccache:\t\t $use_ccache" -echo -e "build type:\t $build_type" -echo -e "toolchain:\t $use_toolchain" -echo -e "cpu:\t\t $use_cpu" +echo -e "build type:\t\t $build_type" +echo -e "build system:\t $use_build" +echo -e "build cpu:\t\t $use_buildcpu" +echo -e "build includes:\t $host_includes" +echo -e "toolchain:\t\t $use_toolchain" +echo -e "cpu:\t\t\t $use_cpu" echo -e "host:\t\t $use_host" +echo -e "CC:\t\t $CC" +echo -e "CXX:\t\t $CXX" echo -e "cflags:\t\t $platform_cflags" -echo -e "cxxflags:\t $platform_cxxflags" -echo -e "ldflags:\t $platform_ldflags" +echo -e "cxxflags:\t\t $platform_cxxflags" +echo -e "ldflags:\t\t $platform_ldflags" +echo -e "platform_includes:\t $platform_includes" echo -e "ffmpeg options:\t $ffmpeg_options" echo -e "prefix:\t\t $prefix" -echo -e "depends:\t $prefix/$deps_dir" -if test "$platform_os" == "android"; then +echo -e "depends:\t\t $prefix/$deps_dir" +if test "$platform_os" = "android"; then echo -e "ndk-api-level:\t $use_ndk_api" echo -e "build-tools:\t $build_tools_path" fi diff --git a/tools/depends/download-files.include b/tools/depends/download-files.include new file mode 100644 index 0000000000..3f41dfa1e9 --- /dev/null +++ b/tools/depends/download-files.include @@ -0,0 +1,59 @@ +# +HASH_FOUND = yes +ifneq ($(SHA512),) + HASH_TYPE = sha512 + HASH_TOOL ?= $(SHA512SUM) +else ifneq ($(SHA256),) + HASH_TYPE = sha256 + HASH_TOOL ?= $(SHA256SUM) +else + HASH_FOUND = no + HASH_TYPE = sha512 + HASH_TOOL = sha512sum +endif + +SED_FLAG = -i +ifeq ($(NATIVE_OS), osx) + HASH_TOOL = $(SHASUM) -a $(shell echo $(HASH_TYPE) | sed 's/^sha//') + SED_FLAG = -i '' +endif + +# non-depends builds might not set this, use defaults +ifeq ($(HASH_TOOL),) + HASH_TOOL = sha512sum + HASH_TOOL_FLAGS = -c --status +endif + +HASH_SUM = $($(shell echo $(HASH_TYPE) | tr '[:lower:]' '[:upper:]')) + +.PHONY: $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) +all: $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) + +$(TARBALLS_LOCATION)/$(ARCHIVE): + cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) + +$(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE): $(TARBALLS_LOCATION)/$(ARCHIVE) +ifeq ($(HASH_FOUND),no) + cd $(TARBALLS_LOCATION); $(HASH_TOOL) $(ARCHIVE) > $(ARCHIVE).$(HASH_TYPE) + $(HASH_TYPE)=$$(cat $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) | cut -d ' ' -f 1) && \ + sed $(SED_FLAG) -e "s/#SHA512#/SHA512=$${sha512}/" -e "s/#SHA256#/SHA256=$${sha256}/" Makefile +endif +ifeq ($(HASH_FOUND),yes) +# we really need 2 spaces between sha hash and file name! +# if the hash sum doesn't match we retry up to 3 times, add verbose curl output for diagnostics on retries +# if we fail 3 times, cleanup anything downloaded (eg bad tar) + @cd $(TARBALLS_LOCATION); echo "$(HASH_SUM) $(ARCHIVE)" > $(ARCHIVE).$(HASH_TYPE) && $(HASH_TOOL) $(HASH_TOOL_FLAGS) $(ARCHIVE).$(HASH_TYPE) \ + || {\ + echo "Error: failed to verify hash sum of $(ARCHIVE), expected type: $(HASH_TYPE) value $(HASH_SUM), retrying.." ;\ + tries=1 ;\ + while [ $$tries -le 3 ]; do \ + echo "download $(ARCHIVE) retry $$tries" ;\ + rm $(TARBALLS_LOCATION)/$(ARCHIVE) ;\ + sleep 3 ;\ + $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) -v $(BASE_URL)/$(ARCHIVE) ;\ + $(HASH_TOOL) $(HASH_TOOL_FLAGS) $(ARCHIVE).$(HASH_TYPE) && exit 0 || tries=$$((tries + 1)) ;\ + done ;\ + rm $(TARBALLS_LOCATION)/$(ARCHIVE) ;\ + exit 1 ;\ + } +endif diff --git a/tools/depends/m4/ax_compare_version.m4 b/tools/depends/m4/ax_compare_version.m4 new file mode 100644 index 0000000000..ffb4997e8b --- /dev/null +++ b/tools/depends/m4/ax_compare_version.m4 @@ -0,0 +1,177 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_compare_version.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_COMPARE_VERSION(VERSION_A, OP, VERSION_B, [ACTION-IF-TRUE], [ACTION-IF-FALSE]) +# +# DESCRIPTION +# +# This macro compares two version strings. Due to the various number of +# minor-version numbers that can exist, and the fact that string +# comparisons are not compatible with numeric comparisons, this is not +# necessarily trivial to do in a autoconf script. This macro makes doing +# these comparisons easy. +# +# The six basic comparisons are available, as well as checking equality +# limited to a certain number of minor-version levels. +# +# The operator OP determines what type of comparison to do, and can be one +# of: +# +# eq - equal (test A == B) +# ne - not equal (test A != B) +# le - less than or equal (test A <= B) +# ge - greater than or equal (test A >= B) +# lt - less than (test A < B) +# gt - greater than (test A > B) +# +# Additionally, the eq and ne operator can have a number after it to limit +# the test to that number of minor versions. +# +# eq0 - equal up to the length of the shorter version +# ne0 - not equal up to the length of the shorter version +# eqN - equal up to N sub-version levels +# neN - not equal up to N sub-version levels +# +# When the condition is true, shell commands ACTION-IF-TRUE are run, +# otherwise shell commands ACTION-IF-FALSE are run. The environment +# variable 'ax_compare_version' is always set to either 'true' or 'false' +# as well. +# +# Examples: +# +# AX_COMPARE_VERSION([3.15.7],[lt],[3.15.8]) +# AX_COMPARE_VERSION([3.15],[lt],[3.15.8]) +# +# would both be true. +# +# AX_COMPARE_VERSION([3.15.7],[eq],[3.15.8]) +# AX_COMPARE_VERSION([3.15],[gt],[3.15.8]) +# +# would both be false. +# +# AX_COMPARE_VERSION([3.15.7],[eq2],[3.15.8]) +# +# would be true because it is only comparing two minor versions. +# +# AX_COMPARE_VERSION([3.15.7],[eq0],[3.15]) +# +# would be true because it is only comparing the lesser number of minor +# versions of the two values. +# +# Note: The characters that separate the version numbers do not matter. An +# empty string is the same as version 0. OP is evaluated by autoconf, not +# configure, so must be a string, not a variable. +# +# The author would like to acknowledge Guido Draheim whose advice about +# the m4_case and m4_ifvaln functions make this macro only include the +# portions necessary to perform the specific comparison specified by the +# OP argument in the final configure script. +# +# LICENSE +# +# Copyright (c) 2008 Tim Toolan <toolan@ele.uri.edu> +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 13 + +dnl ######################################################################### +AC_DEFUN([AX_COMPARE_VERSION], [ + AC_REQUIRE([AC_PROG_AWK]) + + # Used to indicate true or false condition + ax_compare_version=false + + # Convert the two version strings to be compared into a format that + # allows a simple string comparison. The end result is that a version + # string of the form 1.12.5-r617 will be converted to the form + # 0001001200050617. In other words, each number is zero padded to four + # digits, and non digits are removed. + AS_VAR_PUSHDEF([A],[ax_compare_version_A]) + A=`echo "$1" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \ + -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \ + -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \ + -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \ + -e 's/[[^0-9]]//g'` + + AS_VAR_PUSHDEF([B],[ax_compare_version_B]) + B=`echo "$3" | sed -e 's/\([[0-9]]*\)/Z\1Z/g' \ + -e 's/Z\([[0-9]]\)Z/Z0\1Z/g' \ + -e 's/Z\([[0-9]][[0-9]]\)Z/Z0\1Z/g' \ + -e 's/Z\([[0-9]][[0-9]][[0-9]]\)Z/Z0\1Z/g' \ + -e 's/[[^0-9]]//g'` + + dnl # In the case of le, ge, lt, and gt, the strings are sorted as necessary + dnl # then the first line is used to determine if the condition is true. + dnl # The sed right after the echo is to remove any indented white space. + m4_case(m4_tolower($2), + [lt],[ + ax_compare_version=`echo "x$A +x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/false/;s/x${B}/true/;1q"` + ], + [gt],[ + ax_compare_version=`echo "x$A +x$B" | sed 's/^ *//' | sort | sed "s/x${A}/false/;s/x${B}/true/;1q"` + ], + [le],[ + ax_compare_version=`echo "x$A +x$B" | sed 's/^ *//' | sort | sed "s/x${A}/true/;s/x${B}/false/;1q"` + ], + [ge],[ + ax_compare_version=`echo "x$A +x$B" | sed 's/^ *//' | sort -r | sed "s/x${A}/true/;s/x${B}/false/;1q"` + ],[ + dnl Split the operator from the subversion count if present. + m4_bmatch(m4_substr($2,2), + [0],[ + # A count of zero means use the length of the shorter version. + # Determine the number of characters in A and B. + ax_compare_version_len_A=`echo "$A" | $AWK '{print(length)}'` + ax_compare_version_len_B=`echo "$B" | $AWK '{print(length)}'` + + # Set A to no more than B's length and B to no more than A's length. + A=`echo "$A" | sed "s/\(.\{$ax_compare_version_len_B\}\).*/\1/"` + B=`echo "$B" | sed "s/\(.\{$ax_compare_version_len_A\}\).*/\1/"` + ], + [[0-9]+],[ + # A count greater than zero means use only that many subversions + A=`echo "$A" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"` + B=`echo "$B" | sed "s/\(\([[0-9]]\{4\}\)\{m4_substr($2,2)\}\).*/\1/"` + ], + [.+],[ + AC_WARNING( + [invalid OP numeric parameter: $2]) + ],[]) + + # Pad zeros at end of numbers to make same length. + ax_compare_version_tmp_A="$A`echo $B | sed 's/./0/g'`" + B="$B`echo $A | sed 's/./0/g'`" + A="$ax_compare_version_tmp_A" + + # Check for equality or inequality as necessary. + m4_case(m4_tolower(m4_substr($2,0,2)), + [eq],[ + test "x$A" = "x$B" && ax_compare_version=true + ], + [ne],[ + test "x$A" != "x$B" && ax_compare_version=true + ],[ + AC_WARNING([invalid OP parameter: $2]) + ]) + ]) + + AS_VAR_POPDEF([A])dnl + AS_VAR_POPDEF([B])dnl + + dnl # Execute ACTION-IF-TRUE / ACTION-IF-FALSE. + if test "$ax_compare_version" = "true" ; then + m4_ifvaln([$4],[$4],[:])dnl + m4_ifvaln([$5],[else $5])dnl + fi +]) dnl AX_COMPARE_VERSION diff --git a/tools/depends/m4/ax_cxx_compile_stdcxx.m4 b/tools/depends/m4/ax_cxx_compile_stdcxx.m4 new file mode 100644 index 0000000000..43087b2e68 --- /dev/null +++ b/tools/depends/m4/ax_cxx_compile_stdcxx.m4 @@ -0,0 +1,951 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the specified +# version of the C++ standard. If necessary, add switches to CXX and +# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard) +# or '14' (for the C++14 standard). +# +# The second argument, if specified, indicates whether you insist on an +# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. +# -std=c++11). If neither is specified, you get whatever works, with +# preference for an extended mode. +# +# The third argument, if specified 'mandatory' or if left unspecified, +# indicates that baseline support for the specified C++ standard is +# required and that the macro should error out if no mode with that +# support is found. If specified 'optional', then configuration proceeds +# regardless, after defining HAVE_CXX${VERSION} if and only if a +# supporting mode is found. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com> +# Copyright (c) 2012 Zack Weinberg <zackw@panix.com> +# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu> +# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov <sokolov@google.com> +# Copyright (c) 2015 Paul Norman <penorman@mac.com> +# Copyright (c) 2015 Moritz Klammler <moritz@klammler.eu> +# Copyright (c) 2016, 2018 Krzesimir Nowak <qdlacz@gmail.com> +# Copyright (c) 2019 Enji Cooper <yaneurabeya@gmail.com> +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 11 + +dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro +dnl (serial version number 13). + +AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl + m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], + [$1], [14], [ax_cxx_compile_alternatives="14 1y"], + [$1], [17], [ax_cxx_compile_alternatives="17 1z"], + [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl + m4_if([$2], [], [], + [$2], [ext], [], + [$2], [noext], [], + [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl + m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true], + [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true], + [$3], [optional], [ax_cxx_compile_cxx$1_required=false], + [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])]) + AC_LANG_PUSH([C++])dnl + ac_success=no + + m4_if([$2], [noext], [], [dnl + if test x$ac_success = xno; then + for alternative in ${ax_cxx_compile_alternatives}; do + switch="-std=gnu++${alternative}" + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, + $cachevar, + [ac_save_CXX="$CXX" + CXX="$CXX $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXX="$ac_save_CXX"]) + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + fi]) + + m4_if([$2], [ext], [], [dnl + if test x$ac_success = xno; then + dnl HP's aCC needs +std=c++11 according to: + dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf + dnl Cray's crayCC needs "-h std=c++11" + for alternative in ${ax_cxx_compile_alternatives}; do + for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, + $cachevar, + [ac_save_CXX="$CXX" + CXX="$CXX $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXX="$ac_save_CXX"]) + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + if test x$ac_success = xyes; then + break + fi + done + fi]) + AC_LANG_POP([C++]) + if test x$ax_cxx_compile_cxx$1_required = xtrue; then + if test x$ac_success = xno; then + AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.]) + fi + fi + if test x$ac_success = xno; then + HAVE_CXX$1=0 + AC_MSG_NOTICE([No compiler with C++$1 support was found]) + else + HAVE_CXX$1=1 + AC_DEFINE(HAVE_CXX$1,1, + [define if the compiler supports basic C++$1 syntax]) + fi + AC_SUBST(HAVE_CXX$1) +]) + + +dnl Test body for checking C++11 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 +) + + +dnl Test body for checking C++14 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 +) + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 +) + +dnl Tests for new features in C++11 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ + +// If the compiler admits that it is not ready for C++11, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201103L + +#error "This is not a C++11 compiler" + +#else + +namespace cxx11 +{ + + namespace test_static_assert + { + + template <typename T> + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + } + + namespace test_final_override + { + + struct Base + { + virtual ~Base() {} + virtual void f() {} + }; + + struct Derived : public Base + { + virtual ~Derived() override {} + virtual void f() override {} + }; + + } + + namespace test_double_right_angle_brackets + { + + template < typename T > + struct check {}; + + typedef check<void> single_type; + typedef check<check<void>> double_type; + typedef check<check<check<void>>> triple_type; + typedef check<check<check<check<void>>>> quadruple_type; + + } + + namespace test_decltype + { + + int + f() + { + int a = 1; + decltype(a) b = 2; + return a + b; + } + + } + + namespace test_type_deduction + { + + template < typename T1, typename T2 > + struct is_same + { + static const bool value = false; + }; + + template < typename T > + struct is_same<T, T> + { + static const bool value = true; + }; + + template < typename T1, typename T2 > + auto + add(T1 a1, T2 a2) -> decltype(a1 + a2) + { + return a1 + a2; + } + + int + test(const int c, volatile int v) + { + static_assert(is_same<int, decltype(0)>::value == true, ""); + static_assert(is_same<int, decltype(c)>::value == false, ""); + static_assert(is_same<int, decltype(v)>::value == false, ""); + auto ac = c; + auto av = v; + auto sumi = ac + av + 'x'; + auto sumf = ac + av + 1.0; + static_assert(is_same<int, decltype(ac)>::value == true, ""); + static_assert(is_same<int, decltype(av)>::value == true, ""); + static_assert(is_same<int, decltype(sumi)>::value == true, ""); + static_assert(is_same<int, decltype(sumf)>::value == false, ""); + static_assert(is_same<int, decltype(add(c, v))>::value == true, ""); + return (sumf > 0.0) ? sumi : add(c, v); + } + + } + + namespace test_noexcept + { + + int f() { return 0; } + int g() noexcept { return 0; } + + static_assert(noexcept(f()) == false, ""); + static_assert(noexcept(g()) == true, ""); + + } + + namespace test_constexpr + { + + template < typename CharT > + unsigned long constexpr + strlen_c_r(const CharT *const s, const unsigned long acc) noexcept + { + return *s ? strlen_c_r(s + 1, acc + 1) : acc; + } + + template < typename CharT > + unsigned long constexpr + strlen_c(const CharT *const s) noexcept + { + return strlen_c_r(s, 0UL); + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("1") == 1UL, ""); + static_assert(strlen_c("example") == 7UL, ""); + static_assert(strlen_c("another\0example") == 7UL, ""); + + } + + namespace test_rvalue_references + { + + template < int N > + struct answer + { + static constexpr int value = N; + }; + + answer<1> f(int&) { return answer<1>(); } + answer<2> f(const int&) { return answer<2>(); } + answer<3> f(int&&) { return answer<3>(); } + + void + test() + { + int i = 0; + const int c = 0; + static_assert(decltype(f(i))::value == 1, ""); + static_assert(decltype(f(c))::value == 2, ""); + static_assert(decltype(f(0))::value == 3, ""); + } + + } + + namespace test_uniform_initialization + { + + struct test + { + static const int zero {}; + static const int one {1}; + }; + + static_assert(test::zero == 0, ""); + static_assert(test::one == 1, ""); + + } + + namespace test_lambdas + { + + void + test1() + { + auto lambda1 = [](){}; + auto lambda2 = lambda1; + lambda1(); + lambda2(); + } + + int + test2() + { + auto a = [](int i, int j){ return i + j; }(1, 2); + auto b = []() -> int { return '0'; }(); + auto c = [=](){ return a + b; }(); + auto d = [&](){ return c; }(); + auto e = [a, &b](int x) mutable { + const auto identity = [](int y){ return y; }; + for (auto i = 0; i < a; ++i) + a += b--; + return x + identity(a + b); + }(0); + return a + b + c + d + e; + } + + int + test3() + { + const auto nullary = [](){ return 0; }; + const auto unary = [](int x){ return x; }; + using nullary_t = decltype(nullary); + using unary_t = decltype(unary); + const auto higher1st = [](nullary_t f){ return f(); }; + const auto higher2nd = [unary](nullary_t f1){ + return [unary, f1](unary_t f2){ return f2(unary(f1())); }; + }; + return higher1st(nullary) + higher2nd(nullary)(unary); + } + + } + + namespace test_variadic_templates + { + + template <int...> + struct sum; + + template <int N0, int... N1toN> + struct sum<N0, N1toN...> + { + static constexpr auto value = N0 + sum<N1toN...>::value; + }; + + template <> + struct sum<> + { + static constexpr auto value = 0; + }; + + static_assert(sum<>::value == 0, ""); + static_assert(sum<1>::value == 1, ""); + static_assert(sum<23>::value == 23, ""); + static_assert(sum<1, 2>::value == 3, ""); + static_assert(sum<5, 5, 11>::value == 21, ""); + static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); + + } + + // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae + // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function + // because of this. + namespace test_template_alias_sfinae + { + + struct foo {}; + + template<typename T> + using member = typename T::member_type; + + template<typename T> + void func(...) {} + + template<typename T> + void func(member<T>*) {} + + void test(); + + void test() { func<foo>(0); } + + } + +} // namespace cxx11 + +#endif // __cplusplus >= 201103L + +]]) + + +dnl Tests for new features in C++14 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ + +// If the compiler admits that it is not ready for C++14, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201402L + +#error "This is not a C++14 compiler" + +#else + +namespace cxx14 +{ + + namespace test_polymorphic_lambdas + { + + int + test() + { + const auto lambda = [](auto&&... args){ + const auto istiny = [](auto x){ + return (sizeof(x) == 1UL) ? 1 : 0; + }; + const int aretiny[] = { istiny(args)... }; + return aretiny[0]; + }; + return lambda(1, 1L, 1.0f, '1'); + } + + } + + namespace test_binary_literals + { + + constexpr auto ivii = 0b0000000000101010; + static_assert(ivii == 42, "wrong value"); + + } + + namespace test_generalized_constexpr + { + + template < typename CharT > + constexpr unsigned long + strlen_c(const CharT *const s) noexcept + { + auto length = 0UL; + for (auto p = s; *p; ++p) + ++length; + return length; + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("x") == 1UL, ""); + static_assert(strlen_c("test") == 4UL, ""); + static_assert(strlen_c("another\0test") == 7UL, ""); + + } + + namespace test_lambda_init_capture + { + + int + test() + { + auto x = 0; + const auto lambda1 = [a = x](int b){ return a + b; }; + const auto lambda2 = [a = lambda1(x)](){ return a; }; + return lambda2(); + } + + } + + namespace test_digit_separators + { + + constexpr auto ten_million = 100'000'000; + static_assert(ten_million == 100000000, ""); + + } + + namespace test_return_type_deduction + { + + auto f(int& x) { return x; } + decltype(auto) g(int& x) { return x; } + + template < typename T1, typename T2 > + struct is_same + { + static constexpr auto value = false; + }; + + template < typename T > + struct is_same<T, T> + { + static constexpr auto value = true; + }; + + int + test() + { + auto x = 0; + static_assert(is_same<int, decltype(f(x))>::value, ""); + static_assert(is_same<int&, decltype(g(x))>::value, ""); + return x; + } + + } + +} // namespace cxx14 + +#endif // __cplusplus >= 201402L + +]]) + + +dnl Tests for new features in C++17 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[ + +// If the compiler admits that it is not ready for C++17, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201703L + +#error "This is not a C++17 compiler" + +#else + +#include <initializer_list> +#include <utility> +#include <type_traits> + +namespace cxx17 +{ + + namespace test_constexpr_lambdas + { + + constexpr int foo = [](){return 42;}(); + + } + + namespace test::nested_namespace::definitions + { + + } + + namespace test_fold_expression + { + + template<typename... Args> + int multiply(Args... args) + { + return (args * ... * 1); + } + + template<typename... Args> + bool all(Args... args) + { + return (args && ...); + } + + } + + namespace test_extended_static_assert + { + + static_assert (true); + + } + + namespace test_auto_brace_init_list + { + + auto foo = {5}; + auto bar {5}; + + static_assert(std::is_same<std::initializer_list<int>, decltype(foo)>::value); + static_assert(std::is_same<int, decltype(bar)>::value); + } + + namespace test_typename_in_template_template_parameter + { + + template<template<typename> typename X> struct D; + + } + + namespace test_fallthrough_nodiscard_maybe_unused_attributes + { + + int f1() + { + return 42; + } + + [[nodiscard]] int f2() + { + [[maybe_unused]] auto unused = f1(); + + switch (f1()) + { + case 17: + f1(); + [[fallthrough]]; + case 42: + f1(); + } + return f1(); + } + + } + + namespace test_extended_aggregate_initialization + { + + struct base1 + { + int b1, b2 = 42; + }; + + struct base2 + { + base2() { + b3 = 42; + } + int b3; + }; + + struct derived : base1, base2 + { + int d; + }; + + derived d1 {{1, 2}, {}, 4}; // full initialization + derived d2 {{}, {}, 4}; // value-initialized bases + + } + + namespace test_general_range_based_for_loop + { + + struct iter + { + int i; + + int& operator* () + { + return i; + } + + const int& operator* () const + { + return i; + } + + iter& operator++() + { + ++i; + return *this; + } + }; + + struct sentinel + { + int i; + }; + + bool operator== (const iter& i, const sentinel& s) + { + return i.i == s.i; + } + + bool operator!= (const iter& i, const sentinel& s) + { + return !(i == s); + } + + struct range + { + iter begin() const + { + return {0}; + } + + sentinel end() const + { + return {5}; + } + }; + + void f() + { + range r {}; + + for (auto i : r) + { + [[maybe_unused]] auto v = i; + } + } + + } + + namespace test_lambda_capture_asterisk_this_by_value + { + + struct t + { + int i; + int foo() + { + return [*this]() + { + return i; + }(); + } + }; + + } + + namespace test_enum_class_construction + { + + enum class byte : unsigned char + {}; + + byte foo {42}; + + } + + namespace test_constexpr_if + { + + template <bool cond> + int f () + { + if constexpr(cond) + { + return 13; + } + else + { + return 42; + } + } + + } + + namespace test_selection_statement_with_initializer + { + + int f() + { + return 13; + } + + int f2() + { + if (auto i = f(); i > 0) + { + return 3; + } + + switch (auto i = f(); i + 4) + { + case 17: + return 2; + + default: + return 1; + } + } + + } + + namespace test_template_argument_deduction_for_class_templates + { + + template <typename T1, typename T2> + struct pair + { + pair (T1 p1, T2 p2) + : m1 {p1}, + m2 {p2} + {} + + T1 m1; + T2 m2; + }; + + void f() + { + [[maybe_unused]] auto p = pair{13, 42u}; + } + + } + + namespace test_non_type_auto_template_parameters + { + + template <auto n> + struct B + {}; + + B<5> b1; + B<'a'> b2; + + } + + namespace test_structured_bindings + { + + int arr[2] = { 1, 2 }; + std::pair<int, int> pr = { 1, 2 }; + + auto f1() -> int(&)[2] + { + return arr; + } + + auto f2() -> std::pair<int, int>& + { + return pr; + } + + struct S + { + int x1 : 2; + volatile double y1; + }; + + S f3() + { + return {}; + } + + auto [ x1, y1 ] = f1(); + auto& [ xr1, yr1 ] = f1(); + auto [ x2, y2 ] = f2(); + auto& [ xr2, yr2 ] = f2(); + const auto [ x3, y3 ] = f3(); + + } + + namespace test_exception_spec_type_system + { + + struct Good {}; + struct Bad {}; + + void g1() noexcept; + void g2(); + + template<typename T> + Bad + f(T*, T*); + + template<typename T1, typename T2> + Good + f(T1*, T2*); + + static_assert (std::is_same_v<Good, decltype(f(g1, g2))>); + + } + + namespace test_inline_variables + { + + template<class T> void f(T) + {} + + template<class T> inline T g(T) + { + return T{}; + } + + template<> inline void f<>(int) + {} + + template<> int g<>(int) + { + return 5; + } + + } + +} // namespace cxx17 + +#endif // __cplusplus < 201703L + +]]) diff --git a/tools/depends/m4/ax_cxx_compile_stdcxx_14.m4 b/tools/depends/m4/ax_cxx_compile_stdcxx_14.m4 deleted file mode 100644 index 3a46bf7e61..0000000000 --- a/tools/depends/m4/ax_cxx_compile_stdcxx_14.m4 +++ /dev/null @@ -1,146 +0,0 @@ -# ============================================================================ -# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx_14.html -# ============================================================================ -# -# SYNOPSIS -# -# AX_CXX_COMPILE_STDCXX_14([ext|noext],[mandatory|optional]) -# -# DESCRIPTION -# -# Check for baseline language coverage in the compiler for the C++14 -# standard; if necessary, add switches to CXXFLAGS to enable support. -# -# The first argument, if specified, indicates whether you insist on an -# extended mode (e.g. -std=gnu++14) or a strict conformance mode (e.g. -# -std=c++14). If neither is specified, you get whatever works, with -# preference for an extended mode. -# -# The second argument, if specified 'mandatory' or if left unspecified, -# indicates that baseline C++14 support is required and that the macro -# should error out if no mode with that support is found. If specified -# 'optional', then configuration proceeds regardless, after defining -# HAVE_CXX14 if and only if a supporting mode is found. -# -# LICENSE -# -# Copyright (c) 2008 Benjamin Kosnik <bkoz@redhat.com> -# Copyright (c) 2012 Zack Weinberg <zackw@panix.com> -# Copyright (c) 2013 Roy Stogner <roystgnr@ices.utexas.edu> -# Copyright (c) 2014 Alexey Sokolov <sokolov@google.com> -# -# Copying and distribution of this file, with or without modification, are -# permitted in any medium without royalty provided the copyright notice -# and this notice are preserved. This file is offered as-is, without any -# warranty. - -#serial 4 - -m4_define([_AX_CXX_COMPILE_STDCXX_14_testbody], [[ - template <typename T> - struct check - { - static_assert(sizeof(int) <= sizeof(T), "not big enough"); - }; - - struct Base { - virtual void f() {} - }; - struct Child : public Base { - virtual void f() {} - }; - - typedef check<check<bool>> right_angle_brackets; - - int a; - decltype(a) b; - - typedef check<int> check_type; - check_type c; - check_type&& cr = static_cast<check_type&&>(c); - - auto d = a; - auto l = [](){}; -]]) - -AC_DEFUN([AX_CXX_COMPILE_STDCXX_14], [dnl - m4_if([$1], [], [], - [$1], [ext], [], - [$1], [noext], [], - [m4_fatal([invalid argument `$1' to AX_CXX_COMPILE_STDCXX_14])])dnl - m4_if([$2], [], [ax_cxx_compile_cxx14_required=true], - [$2], [mandatory], [ax_cxx_compile_cxx14_required=true], - [$2], [optional], [ax_cxx_compile_cxx14_required=false], - [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX_14])]) - AC_LANG_PUSH([C++])dnl - ac_success=no - AC_CACHE_CHECK(whether $CXX supports C++14 features by default, - ax_cv_cxx_compile_cxx14, - [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_14_testbody])], - [ax_cv_cxx_compile_cxx14=yes], - [ax_cv_cxx_compile_cxx14=no])]) - if test x$ax_cv_cxx_compile_cxx14 = xyes; then - ac_success=yes - fi - - m4_if([$1], [noext], [], [dnl - if test x$ac_success = xno; then - for switch in -std=gnu++14 -std=gnu++0x; do - cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx14_$switch]) - AC_CACHE_CHECK(whether $CXX supports C++14 features with $switch, - $cachevar, - [ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $switch" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_14_testbody])], - [eval $cachevar=yes], - [eval $cachevar=no]) - CXXFLAGS="$ac_save_CXXFLAGS"]) - if eval test x\$$cachevar = xyes; then - CXXFLAGS="$CXXFLAGS $switch" - CXX14_SWITCH="$switch" - AC_SUBST(CXX14_SWITCH) - ac_success=yes - break - fi - done - fi]) - - m4_if([$1], [ext], [], [dnl - if test x$ac_success = xno; then - for switch in -std=c++14 -std=c++0x; do - cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx14_$switch]) - AC_CACHE_CHECK(whether $CXX supports C++14 features with $switch, - $cachevar, - [ac_save_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS $switch" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_14_testbody])], - [eval $cachevar=yes], - [eval $cachevar=no]) - CXXFLAGS="$ac_save_CXXFLAGS"]) - if eval test x\$$cachevar = xyes; then - CXXFLAGS="$CXXFLAGS $switch" - CXX14_SWITCH="$switch" - AC_SUBST(CXX14_SWITCH) - ac_success=yes - break - fi - done - fi]) - AC_LANG_POP([C++]) - if test x$ax_cxx_compile_cxx14_required = xtrue; then - if test x$ac_success = xno; then - AC_MSG_ERROR([*** A compiler with support for C++14 language features is required.]) - fi - else - if test x$ac_success = xno; then - HAVE_CXX14=0 - AC_MSG_NOTICE([No compiler with C++14 support was found]) - else - HAVE_CXX14=1 - AC_DEFINE(HAVE_CXX14,1, - [define if the compiler supports basic C++14 syntax]) - fi - - AC_SUBST(HAVE_CXX14) - fi -]) diff --git a/tools/depends/m4/xbmc_arch.m4 b/tools/depends/m4/xbmc_arch.m4 index 03cd7acd31..05b254d45d 100644 --- a/tools/depends/m4/xbmc_arch.m4 +++ b/tools/depends/m4/xbmc_arch.m4 @@ -14,7 +14,10 @@ case $build in amd64-*-freebsd*) AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD") ;; - *86*-apple-darwin*) + arm-apple-darwin*) + AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX") + ;; + x86_64-apple-darwin*) AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX") ;; powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*) @@ -45,13 +48,14 @@ case $host in amd64-*-freebsd*) AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD") ;; - arm-apple-darwin*) - AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_EMBEDDED") + aarch64-apple-darwin*) + if test "$target_platform" = "macosx" ; then + AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX") + else + AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_EMBEDDED") + fi ;; - *86*-apple-darwin*) - AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX") - ;; - powerpc-apple-darwin*) + x86_64-apple-darwin*) AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX") ;; powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*) @@ -77,7 +81,4 @@ if test "$target_platform" = "target_android" ; then AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -DTARGET_ANDROID") fi -if test "$target_platform" = "target_raspberry_pi" ; then - AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_ARMEL -DTARGET_RASPBERRY_PI") -fi ]) diff --git a/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt b/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt index 783b8a3c58..e1c6c210bb 100644 --- a/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt +++ b/tools/depends/native/JsonSchemaBuilder/CMakeLists.txt @@ -1,5 +1,10 @@ +project(JsonSchemaBuilder) + set(SOURCES src/JsonSchemaBuilder.cpp) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_executable(JsonSchemaBuilder ${SOURCES}) + +install(TARGETS JsonSchemaBuilder DESTINATION ${CMAKE_INSTALL_PREFIX}/bin + RENAME "${APP_NAME_LC}-JsonSchemaBuilder") diff --git a/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp b/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp index 154f822237..7f219bbc12 100644 --- a/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp +++ b/tools/depends/native/JsonSchemaBuilder/src/JsonSchemaBuilder.cpp @@ -61,7 +61,7 @@ void print_json(std::ifstream &in, std::ofstream &out) out << " "; bool started = false; closing = false; - for (std::string::iterator itr = line.begin(); itr != line.end(); itr++) + for (std::string::iterator itr = line.begin(); itr != line.end(); ++itr) { // Skip \r characters if (*itr == '\r') { diff --git a/tools/depends/native/Makefile b/tools/depends/native/Makefile index e3cf4268de..1f7526474b 100644 --- a/tools/depends/native/Makefile +++ b/tools/depends/native/Makefile @@ -4,32 +4,51 @@ ifneq ($(shell test -f $(NATIVEPREFIX)/share/config.site && echo 1),1) $(error Error: $(NATIVEPREFIX)/share/config.site is missing. Please reconfigure depends to generate it) endif -NATIVE= m4 gettext heimdal autoconf automake \ - libtool pkg-config yasm cmake \ - gas-preprocessor libffi python3 zlib \ - pcre swig \ - libpng libjpeg-turbo liblzo2 giflib \ - distribute distutilscross JsonSchemaBuilder TexturePacker \ - flatbuffers +# Keep in alphabetical order +NATIVE= \ + autoconf \ + autoconf-archive \ + automake \ + cmake \ + gas-preprocessor \ + gettext \ + giflib \ + heimdal \ + JsonSchemaBuilder \ + libjpeg-turbo \ + liblzo2 \ + libpng \ + libtool \ + m4 \ + meson \ + nasm \ + ninja \ + openssl \ + pcre \ + perlmodule-parseyapp \ + pkg-config \ + python3 \ + setuptools \ + swig \ + TexturePacker \ + zlib - -ifeq ($(OS),darwin_embedded) - NATIVE += dpkg xz tar gen_entitlements ldid +ifneq ($(NATIVE_OS),osx) + NATIVE += libffi + LIBFFI = libffi endif -ifeq ($(OS),osx) - NATIVE += xz tar +ifeq ($(OS),darwin_embedded) + NATIVE += dpkg xz tar ldid endif ifeq ($(OS),linux) - ifeq ($(TARGET_PLATFORM),$(filter $(TARGET_PLATFORM),raspberry-pi gbm)) - NATIVE += meson ninja setuptools - endif -endif - -ifeq ($(TARGET_PLATFORM),wayland) - NATIVE += expat wayland-scanner waylandpp-scanner + NATIVE += expat wayland-scanner pugixml waylandpp-scanner EXPAT = expat + + ifeq ($(RENDER_SYSTEM),gles) + NATIVE += MarkupSafe Mako + endif endif .PHONY: $(NATIVE) native @@ -38,28 +57,35 @@ all: native @echo "Dependencies built successfully." # Dependency layout for parallel builds +autoconf-archive: autoconf autoconf: m4 automake: autoconf dpkg: automake gettext libtool pkg-config tar -flatbuffers: cmake heimdal: libtool +JsonSchemaBuilder: automake +libjpeg-turbo: cmake nasm +libpng: zlib automake libtool: automake -libpng: zlib +Mako: MarkupSafe meson: python3 setuptools -ninja: python3 +ninja: meson +openssl: zlib +pugixml: cmake +python3: $(EXPAT) $(LIBFFI) pkg-config zlib openssl autoconf-archive +setuptools: python3 swig: pcre -distribute: python3 -distutilscross: python3 distribute tar: xz automake -python3: $(EXPAT) libffi pkg-config zlib -setuptools: python3 -wayland-scanner: expat -waylandpp-scanner: cmake +TexturePacker: automake pkg-config libpng liblzo2 giflib libjpeg-turbo +wayland-scanner: expat pkg-config +waylandpp-scanner: cmake pugixml + +# python installs are not thread safe when using easy_install method. +# MarkupSafe doesn't really depend on ninja but we need to make the +# build sequential +MarkupSafe: ninja #liblzo2 has stale packaged automake files that cause borked host/build detection liblzo2: automake -JsonSchemaBuilder: automake -TexturePacker: automake pkg-config libpng liblzo2 giflib libjpeg-turbo native: $(NATIVE) $(NATIVE): diff --git a/tools/depends/native/distribute/Makefile b/tools/depends/native/Mako/Makefile index ee7ea71a59..b5af97c879 100644 --- a/tools/depends/native/distribute/Makefile +++ b/tools/depends/native/Mako/Makefile @@ -1,20 +1,18 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version -LIBNAME=distribute -VERSION=0.6.21 +LIBNAME=Mako +VERSION=1.1.3 ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=a9b94fa34a61e7794b6e4549fa0bada6ff84dfb0d9edb8d5c7f9b95d12184fa4499f42303cfee720b576a9f7e986a57d91ad3aeb26c9f93154dbc08fb2975952 +include ../../download-files.include all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - cd $(TARBALLS_LOCATION); chmod +x $(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) diff --git a/tools/depends/native/distutilscross/Makefile b/tools/depends/native/MarkupSafe/Makefile index 9ed0478d93..b09fb6b7ec 100644 --- a/tools/depends/native/distutilscross/Makefile +++ b/tools/depends/native/MarkupSafe/Makefile @@ -1,23 +1,20 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile python3.patch +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version -LIBNAME=distutilscross -VERSION=0.1 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +LIBNAME=MarkupSafe +VERSION=1.1.1 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=f3014e6131a3ab866914c5635b5397ef71906bffb1b6f8c5f2ed2acf167429ff7914236d38943e872683a57a9be9669f4c5aace6274f3307ab21ef25373db0b6 +include ../../download-files.include all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); patch -p1 -i ../python3.patch .installed-$(PLATFORM): $(PLATFORM) cd $(PLATFORM); $(PREFIX)/bin/python3 setup.py install --prefix=$(PREFIX) diff --git a/tools/depends/native/TexturePacker/CMakeLists.txt b/tools/depends/native/TexturePacker/CMakeLists.txt index 68200a5cff..97dc1d3244 100644 --- a/tools/depends/native/TexturePacker/CMakeLists.txt +++ b/tools/depends/native/TexturePacker/CMakeLists.txt @@ -51,4 +51,4 @@ target_link_libraries(TexturePacker ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${LZO2_LIBRARIES}) -target_compile_options(TexturePacker PRIVATE ${ARCH_DEFINES}) +target_compile_options(TexturePacker PRIVATE ${ARCH_DEFINES} ${SYSTEM_DEFINES}) diff --git a/tools/depends/native/TexturePacker/src/DecoderManager.cpp b/tools/depends/native/TexturePacker/src/DecoderManager.cpp index 3daf430286..8f6a9041bb 100644 --- a/tools/depends/native/TexturePacker/src/DecoderManager.cpp +++ b/tools/depends/native/TexturePacker/src/DecoderManager.cpp @@ -20,6 +20,7 @@ #include <cstdio> #include "DecoderManager.h" +bool DecoderManager::verbose; std::vector<IDecoder *> DecoderManager::m_decoders; // ADD new decoders here @@ -72,7 +73,9 @@ bool DecoderManager::LoadFile(const std::string &filename, DecodedFrames &frames { if (m_decoders[i]->CanDecode(filename)) { - fprintf(stdout, "This is a %s - lets load it via %s...\n", m_decoders[i]->GetImageFormatName(), m_decoders[i]->GetDecoderName()); + if (verbose) + fprintf(stdout, "This is a %s - lets load it via %s...\n", + m_decoders[i]->GetImageFormatName(), m_decoders[i]->GetDecoderName()); return m_decoders[i]->LoadFile(filename, frames); } } diff --git a/tools/depends/native/TexturePacker/src/DecoderManager.h b/tools/depends/native/TexturePacker/src/DecoderManager.h index d0f7984eef..2c59aa20a5 100644 --- a/tools/depends/native/TexturePacker/src/DecoderManager.h +++ b/tools/depends/native/TexturePacker/src/DecoderManager.h @@ -30,6 +30,8 @@ class DecoderManager static bool IsSupportedGraphicsFile(char *strFileName); static bool LoadFile(const std::string &filename, DecodedFrames &frames); static void FreeDecodedFrames(DecodedFrames &frames); + static bool verbose; + private: static std::vector<IDecoder *> m_decoders; }; diff --git a/tools/depends/native/TexturePacker/src/TexturePacker.cpp b/tools/depends/native/TexturePacker/src/TexturePacker.cpp index b2de24bf1b..a6fd4284f1 100644 --- a/tools/depends/native/TexturePacker/src/TexturePacker.cpp +++ b/tools/depends/native/TexturePacker/src/TexturePacker.cpp @@ -49,7 +49,7 @@ #define FLAGS_USE_LZO 1 -#define DIR_SEPARATOR "/" +#define DIR_SEPARATOR '/' const char *GetFormatString(unsigned int format) { @@ -72,7 +72,9 @@ const char *GetFormatString(unsigned int format) } } -void CreateSkeletonHeaderImpl(CXBTFWriter& xbtfWriter, std::string fullPath, std::string relativePath) +void CreateSkeletonHeaderImpl(CXBTFWriter& xbtfWriter, + const std::string& fullPath, + const std::string& relativePath) { struct dirent* dp; struct stat stat_p; @@ -80,7 +82,7 @@ void CreateSkeletonHeaderImpl(CXBTFWriter& xbtfWriter, std::string fullPath, std if (dirp) { - while ((dp = readdir(dirp)) != NULL) + for (errno = 0; (dp = readdir(dirp)); errno = 0) { if (strcmp(dp->d_name, ".") == 0 || strcmp(dp->d_name, "..") == 0) { @@ -118,6 +120,8 @@ void CreateSkeletonHeaderImpl(CXBTFWriter& xbtfWriter, std::string fullPath, std } } } + if (errno) + fprintf(stderr, "Error reading directory %s (%s)\n", fullPath.c_str(), strerror(errno)); closedir(dirp); } @@ -127,7 +131,7 @@ void CreateSkeletonHeaderImpl(CXBTFWriter& xbtfWriter, std::string fullPath, std } } -void CreateSkeletonHeader(CXBTFWriter& xbtfWriter, std::string fullPath) +void CreateSkeletonHeader(CXBTFWriter& xbtfWriter, const std::string& fullPath) { std::string temp; CreateSkeletonHeaderImpl(xbtfWriter, fullPath, temp); @@ -380,6 +384,10 @@ int main(int argc, char* argv[]) { dupecheck = true; } + else if (!strcmp(args[i], "-verbose")) + { + DecoderManager::verbose = true; + } else if (!platform_stricmp(args[i], "-output") || !platform_stricmp(args[i], "-o")) { OutputFilename = args[++i]; diff --git a/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.cpp b/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.cpp index 3ddb6a575a..5bdfacd4eb 100644 --- a/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.cpp +++ b/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.cpp @@ -33,6 +33,8 @@ bool GIFDecoder::CanDecode(const std::string &filename) bool GIFDecoder::LoadFile(const std::string &filename, DecodedFrames &frames) { int n = 0; + bool result = false; + GifHelper *gifImage = new GifHelper(); if (gifImage->LoadGif(filename.c_str())) { @@ -55,33 +57,20 @@ bool GIFDecoder::LoadFile(const std::string &filename, DecodedFrames &frames) frame.rgbaImage.bbp = 32; frame.rgbaImage.pitch = pitch; frame.delay = extractedFrames[i]->m_delay; + frame.decoder = this; frames.frameList.push_back(frame); } } - frames.user = gifImage; - frames.destroyFN = &gifDestroyFN; - return true; - } - else - { - delete gifImage; - return false; + result = true; } + delete gifImage; + return result; } -void GIFDecoder::FreeDecodedFrames(DecodedFrames &frames) -{ - for (unsigned int i = 0; i < frames.frameList.size(); i++) - { - delete [] frames.frameList[i].rgbaImage.pixels; - } - delete (GifHelper *)frames.user; - frames.clear(); -} -void GIFDecoder::gifDestroyFN(void* user) +void GIFDecoder::FreeDecodedFrame(DecodedFrame &frame) { - delete (GifHelper *)user; + delete [] frame.rgbaImage.pixels; } void GIFDecoder::FillSupportedExtensions() diff --git a/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.h b/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.h index c311ddaa82..8f0b42d822 100644 --- a/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.h +++ b/tools/depends/native/TexturePacker/src/decoder/GIFDecoder.h @@ -28,11 +28,9 @@ class GIFDecoder : public IDecoder ~GIFDecoder() override = default; bool CanDecode(const std::string &filename) override; bool LoadFile(const std::string &filename, DecodedFrames &frames) override; - void FreeDecodedFrames(DecodedFrames &frames) override; + void FreeDecodedFrame(DecodedFrame &frame) override; const char* GetImageFormatName() override { return "GIF"; } const char* GetDecoderName() override { return "libgif"; } protected: void FillSupportedExtensions() override; - private: - static void gifDestroyFN(void* user); }; diff --git a/tools/depends/native/TexturePacker/src/decoder/IDecoder.h b/tools/depends/native/TexturePacker/src/decoder/IDecoder.h index 6e68aba1f1..c9ac346514 100644 --- a/tools/depends/native/TexturePacker/src/decoder/IDecoder.h +++ b/tools/depends/native/TexturePacker/src/decoder/IDecoder.h @@ -23,6 +23,34 @@ #include <string> #include <vector> +/* forward declarations */ + +class DecodedFrame; +class DecodedFrames; + +class IDecoder +{ + public: + virtual ~IDecoder() = default; + virtual bool CanDecode(const std::string &filename) = 0; + virtual bool LoadFile(const std::string &filename, DecodedFrames &frames) = 0; + virtual void FreeDecodedFrame(DecodedFrame &frame) = 0; + virtual const char* GetImageFormatName() = 0; + virtual const char* GetDecoderName() = 0; + + const std::vector<std::string>& GetSupportedExtensions() + { + m_supportedExtensions.clear(); + FillSupportedExtensions(); + return m_supportedExtensions; + } + + protected: + virtual void FillSupportedExtensions() = 0; + //fill this with extensions in FillSupportedExtensions like ".png" + std::vector<std::string> m_supportedExtensions; +}; + class RGBAImage { public: @@ -41,6 +69,7 @@ public: DecodedFrame() = default; RGBAImage rgbaImage; /* rgbaimage for this frame */ int delay = 0; /* Frame delay in ms */ + IDecoder* decoder = nullptr; /* Pointer to decoder */ }; class DecodedFrames @@ -48,43 +77,22 @@ class DecodedFrames public: DecodedFrames() = default; std::vector<DecodedFrame> frameList; - void* user = nullptr; /* used internally*/ - void (*destroyFN)(void*) = nullptr; void clear() { for (auto f : frameList) { - delete[] f.rgbaImage.pixels; - } - if (destroyFN) - { - destroyFN(user); + if (f.decoder != NULL) + { + f.decoder->FreeDecodedFrame(f); + } + else + { + fprintf(stderr, + "ERROR: %s - can not determine decoder type for frame!\n", + __FUNCTION__); + } } frameList.clear(); - user = NULL; - } -}; - -class IDecoder -{ - public: - virtual ~IDecoder() = default; - virtual bool CanDecode(const std::string &filename) = 0; - virtual bool LoadFile(const std::string &filename, DecodedFrames &frames) = 0; - virtual void FreeDecodedFrames(DecodedFrames &frames) = 0; - virtual const char* GetImageFormatName() = 0; - virtual const char* GetDecoderName() = 0; - - const std::vector<std::string>& GetSupportedExtensions() - { - m_supportedExtensions.clear(); - FillSupportedExtensions(); - return m_supportedExtensions; } - - protected: - virtual void FillSupportedExtensions() = 0; - //fill this with extensions in FillSupportedExtensions like ".png" - std::vector<std::string> m_supportedExtensions; }; diff --git a/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp b/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp index c2d96a8fa9..ce06d28882 100644 --- a/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp +++ b/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.cpp @@ -86,7 +86,6 @@ bool JPGDecoder::LoadFile(const std::string &filename, DecodedFrames &frames) // Image Size is calculated as (width * height * bytes per pixel = 4 ImageSize = cinfo.image_width * cinfo.image_height * 4; - frames.user = NULL; DecodedFrame frame; frame.rgbaImage.pixels = (char *)new char[ImageSize]; @@ -117,20 +116,18 @@ bool JPGDecoder::LoadFile(const std::string &filename, DecodedFrames &frames) frame.rgbaImage.width = cinfo.image_width; frame.rgbaImage.bbp = 32; frame.rgbaImage.pitch = 4 * cinfo.image_width; + + frame.decoder = this; + frames.frameList.push_back(frame); delete arq; return true; } -void JPGDecoder::FreeDecodedFrames(DecodedFrames &frames) +void JPGDecoder::FreeDecodedFrame(DecodedFrame &frame) { - for (unsigned int i = 0; i < frames.frameList.size(); i++) - { - delete [] frames.frameList[i].rgbaImage.pixels; - } - - frames.clear(); + delete [] frame.rgbaImage.pixels; } void JPGDecoder::FillSupportedExtensions() diff --git a/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.h b/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.h index 30430e79f9..bbf23ba7b3 100644 --- a/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.h +++ b/tools/depends/native/TexturePacker/src/decoder/JPGDecoder.h @@ -28,7 +28,7 @@ class JPGDecoder : public IDecoder ~JPGDecoder() override = default; bool CanDecode(const std::string &filename) override; bool LoadFile(const std::string &filename, DecodedFrames &frames) override; - void FreeDecodedFrames(DecodedFrames &frames) override; + void FreeDecodedFrame(DecodedFrame &frame) override; const char* GetImageFormatName() override { return "JPG"; } const char* GetDecoderName() override { return "libjpeg"; } protected: diff --git a/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.cpp b/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.cpp index b12e55f426..f327400f6b 100644 --- a/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.cpp +++ b/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.cpp @@ -216,7 +216,6 @@ bool PNGDecoder::LoadFile(const std::string &filename, DecodedFrames &frames) // read the png into image_data through row_pointers png_read_image(png_ptr, row_pointers); - frames.user = NULL; DecodedFrame frame; frame.rgbaImage.pixels = (char *)image_data; @@ -224,6 +223,9 @@ bool PNGDecoder::LoadFile(const std::string &filename, DecodedFrames &frames) frame.rgbaImage.width = temp_width; frame.rgbaImage.bbp = 32; frame.rgbaImage.pitch = 4 * temp_width; + + frame.decoder = this; + frames.frameList.push_back(frame); // clean up png_destroy_read_struct(&png_ptr, &info_ptr, &end_info); @@ -231,14 +233,9 @@ bool PNGDecoder::LoadFile(const std::string &filename, DecodedFrames &frames) return true; } -void PNGDecoder::FreeDecodedFrames(DecodedFrames &frames) +void PNGDecoder::FreeDecodedFrame(DecodedFrame &frame) { - for (unsigned int i = 0; i < frames.frameList.size(); i++) - { - delete [] frames.frameList[i].rgbaImage.pixels; - } - - frames.clear(); + delete [] frame.rgbaImage.pixels; } void PNGDecoder::FillSupportedExtensions() diff --git a/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.h b/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.h index 3b62a23e93..c7dba764cb 100644 --- a/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.h +++ b/tools/depends/native/TexturePacker/src/decoder/PNGDecoder.h @@ -28,7 +28,7 @@ class PNGDecoder : public IDecoder ~PNGDecoder() override = default; bool CanDecode(const std::string &filename) override; bool LoadFile(const std::string &filename, DecodedFrames &frames) override; - void FreeDecodedFrames(DecodedFrames &frames) override; + void FreeDecodedFrame(DecodedFrame &frame) override; const char* GetImageFormatName() override { return "PNG"; } const char* GetDecoderName() override { return "libpng"; } protected: diff --git a/tools/depends/native/Toolchain-Native.cmake.in b/tools/depends/native/Toolchain-Native.cmake.in new file mode 100644 index 0000000000..c5f5643ab6 --- /dev/null +++ b/tools/depends/native/Toolchain-Native.cmake.in @@ -0,0 +1,79 @@ +set(NATIVEPREFIX "@prefix@/@tool_dir@") + +set(TARBALL_DIR "@use_tarballs@") + +set(OS "@build_os@") +set(CMAKE_SYSTEM_PROCESSOR @host_cpu@) +set(CPU "@use_buildcpu@") + +if(OS STREQUAL linux) + set(CMAKE_SYSTEM_NAME Linux) +elseif(OS STREQUAL osx) + set(CMAKE_SYSTEM_NAME Darwin) +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL Darwin) + if(CPU STREQUAL "arm") + set(CPU arm64) + endif() + if(CPU STREQUAL arm64) + set(CMAKE_OSX_DEPLOYMENT_TARGET 11.0) + else() + set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13) + endif() + + set(CMAKE_OSX_SYSROOT "@host_sysroot@") +endif() +set(CMAKE_SYSTEM_VERSION 1) + +# specify the cross compiler +set(CMAKE_C_COMPILER @CC_FOR_BUILD@) +set(CMAKE_CXX_COMPILER @CXX_FOR_BUILD@) +set(CMAKE_AR @AR_FOR_BUILD@ CACHE FILEPATH "Archiver") +SET(CMAKE_AS @AS_FOR_BUILD@ CACHE FILEPATH "Assembler") +set(CMAKE_LINKER @LD_FOR_BUILD@ CACHE FILEPATH "Linker") +set(CMAKE_NM @NM_FOR_BUILD@ CACHE FILEPATH "Nm") +set(CMAKE_STRIP @STRIP_FOR_BUILD@ CACHE PATH "strip binary" FORCE) +set(CMAKE_OBJDUMP @OBJDUMP_FOR_BUILD@ CACHE FILEPATH "Objdump") +set(CMAKE_RANLIB @RANLIB_FOR_BUILD@ CACHE FILEPATH "Ranlib") + +if(NOT "@use_ccache@" STREQUAL "") + set(CMAKE_CXX_COMPILER_LAUNCHER @CCACHE@) + set(CMAKE_C_COMPILER_LAUNCHER @CCACHE@) +endif() + +set(CMAKE_C_FLAGS "@host_includes@ -I@prefix@/@tool_dir@/include") +set(CMAKE_CXX_FLAGS "@host_cxxflags@ @host_includes@ -I@prefix@/@tool_dir@/include") +set(CMAKE_EXE_LINKER_FLAGS "@host_includes@ -L@prefix@/@tool_dir@/lib") + +# where is the target environment +set(CMAKE_FIND_ROOT_PATH @prefix@/@tool_dir@) +set(CMAKE_LIBRARY_PATH @prefix@/@tool_dir@/lib) +if(NOT "@use_toolchain@" STREQUAL "") + list(APPEND CMAKE_FIND_ROOT_PATH @use_toolchain@ @use_toolchain@/@use_host@ @use_toolchain@/@use_host@/sysroot @use_toolchain@/@use_host@/sysroot/usr @use_toolchain@/@use_host@/libc @use_toolchain@/lib/@use_host@/sysroot @use_toolchain@/usr @use_toolchain@/sysroot/usr) + set(CMAKE_LIBRARY_PATH "${CMAKE_LIBRARY_PATH}:@use_toolchain@/usr/lib/@use_host@:@use_toolchain@/lib/@use_host@") +endif() +if(NOT "@host_sysroot@" STREQUAL "") + list(APPEND CMAKE_FIND_ROOT_PATH @host_sysroot@ @host_sysroot@/usr) +endif() + +# search for programs in the build host directories +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +# for libraries and headers in the target directories +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_FIND_FRAMEWORK LAST) + +# common autoconf build tools +find_program(AUTOCONF autoconf HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(ACLOCAL aclocal HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(AUTOHEADER autoheader HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(AUTOMAKE automake HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(AUTOM4TE autom4te HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(AUTOPOINT autopoint HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(AUTORECONF autoreconf HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(LIBTOOL libtool HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(LIBTOOLIZE libtoolize HINTS "${NATIVEPREFIX}/bin" REQUIRED) + +set(ENV{ACLOCAL_PATH} "${NATIVEPREFIX}/share/aclocal") +set(ENV{PATH} "${NATIVEPREFIX}/bin:$ENV{PATH}") diff --git a/tools/depends/native/autoconf-archive/Makefile b/tools/depends/native/autoconf-archive/Makefile new file mode 100644 index 0000000000..fb91e19c81 --- /dev/null +++ b/tools/depends/native/autoconf-archive/Makefile @@ -0,0 +1,39 @@ +include ../../Makefile.include +PREFIX=$(NATIVEPREFIX) +PLATFORM=$(NATIVEPLATFORM) +DEPS = ../../Makefile.include Makefile ../../download-files.include + +# lib name, version +LIBNAME=autoconf-archive +VERSION=2021.02.19 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.xz +SHA512=a968c355c3cf66d74dc5b452141afbdf763e84a6c43b12c25da9a08482910d6d57ba3952aaf270d8cd5fd8b9d2dadf2d7d943ae2e1b067d68b71d2738d881aa0 +include ../../download-files.include + +# configuration settings +CONFIGURE=./configure --prefix=$(PREFIX) + +LIBDYLIB=$(PLATFORM)/bin/autoconf + +all: .installed-$(PLATFORM) + + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + +$(LIBDYLIB): $(PLATFORM) + cd $(PLATFORM); $(CONFIGURE) + $(MAKE) -C $(PLATFORM) + +.installed-$(PLATFORM): $(LIBDYLIB) + $(MAKE) -C $(PLATFORM) install + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean:: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/native/autoconf/Makefile b/tools/depends/native/autoconf/Makefile index bb5d2f894c..b7efed2479 100644 --- a/tools/depends/native/autoconf/Makefile +++ b/tools/depends/native/autoconf/Makefile @@ -1,13 +1,15 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile endian-c++11-narrowing.patch +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=autoconf -VERSION=2.69 +VERSION=2.71 SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +ARCHIVE=$(SOURCE).tar.xz +SHA512=73d32b4adcbe24e3bafa9f43f59ed3b6efbd3de0f194e5ec90375f35da1199c583f5d3e89139b7edbad35171403709270e339ffa56a2ecb9b3123e9285021ff0 +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) @@ -16,20 +18,18 @@ LIBDYLIB=$(PLATFORM)/bin/autoconf all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); patch -p1 -i ../endian-c++11-narrowing.patch $(LIBDYLIB): $(PLATFORM) cd $(PLATFORM); $(CONFIGURE) - $(MAKE) -C $(PLATFORM) + $(MAKE) -C $(PLATFORM) install +# patch autoreconf to not use gtkdocize. Details: https://savannah.gnu.org/support/?110503 + cd $(NATIVEPREFIX); sed -ie 's|$uses_gtkdoc = 1 if \$$macro eq "GTK_DOC_CHECK";|$uses_gtkdoc = 0; # if \$$macro eq "GTK_DOC_CHECK";|' bin/autoreconf .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install touch $@ clean: diff --git a/tools/depends/native/autoconf/endian-c++11-narrowing.patch b/tools/depends/native/autoconf/endian-c++11-narrowing.patch deleted file mode 100644 index 444f818910..0000000000 --- a/tools/depends/native/autoconf/endian-c++11-narrowing.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/lib/autoconf/c.m4 -+++ b/lib/autoconf/c.m4 -@@ -1553,16 +1553,16 @@ - [# Try to guess by grepping values from an object file. - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( -- [[short int ascii_mm[] = -+ [[unsigned short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; -- short int ascii_ii[] = -+ unsigned short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } -- short int ebcdic_ii[] = -+ unsigned short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; -- short int ebcdic_mm[] = -+ unsigned short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; diff --git a/tools/depends/native/automake/01-fix-help2man-error.patch b/tools/depends/native/automake/01-fix-help2man-error.patch new file mode 100644 index 0000000000..e05e429aca --- /dev/null +++ b/tools/depends/native/automake/01-fix-help2man-error.patch @@ -0,0 +1,11 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -703,7 +703,7 @@ + update_mans = \ + $(AM_V_GEN): \ + && $(MKDIR_P) doc \ +- && ./pre-inst-env $(PERL) $(srcdir)/doc/help2man --output=$@ ++ && ./pre-inst-env $(PERL) $(srcdir)/doc/help2man --output=$@ --no-discard-stderr + + checklinkx = $(top_srcdir)/contrib/checklinkx + # that 4-second sleep seems to be what gnu.org likes. diff --git a/tools/depends/native/automake/Makefile b/tools/depends/native/automake/Makefile index 3dfa1c1130..9e73e52b88 100644 --- a/tools/depends/native/automake/Makefile +++ b/tools/depends/native/automake/Makefile @@ -1,12 +1,14 @@ include ../../Makefile.include PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile 01-fix-help2man-error.patch ../../download-files.include # lib name, version LIBNAME=automake -VERSION=1.16.1 +VERSION=1.16.5 SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +ARCHIVE=$(SOURCE).tar.xz +SHA512=3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88 +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(NATIVEPREFIX) @@ -15,12 +17,11 @@ LIBDYLIB=$(PLATFORM)/bin/automake all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); patch -p1 -i ../01-fix-help2man-error.patch cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) diff --git a/tools/depends/native/cmake/Makefile b/tools/depends/native/cmake/Makefile index 426ebe0628..11e8e339f3 100644 --- a/tools/depends/native/cmake/Makefile +++ b/tools/depends/native/cmake/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include APPNAME=cmake -VERSION=3.14.5 +VERSION=3.21.3 SOURCE=$(APPNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=0571b78443906c5ad51fb0fafbd32d565caf628cc150b1190802cb819e8497c108ea6b7ecaa03133df2dbbceb730696d24b4df38468c92088c769ce4076d9e9f +include ../../download-files.include # configuration settings @@ -25,10 +27,8 @@ APP=$(PLATFORM)/bin/$(APPNAME) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(SETENV) $(CONFIGURE) diff --git a/tools/depends/native/config.site.native.in b/tools/depends/native/config.site.native.in index deef5955d3..35171a78aa 100644 --- a/tools/depends/native/config.site.native.in +++ b/tools/depends/native/config.site.native.in @@ -9,10 +9,10 @@ STRIP="${STRIP:-@STRIP_FOR_BUILD@}" READELF="${READELF:-@READELF_FOR_BUILD@}" OBJDUMP="${OBJDUMP:-@OBJDUMP_FOR_BUILD@}" -CFLAGS="@native_platform_min_version@ -I@prefix@/@tool_dir@/include $CFLAGS" -LDFLAGS="@native_platform_min_version@ -L@prefix@/@tool_dir@/lib $LDFLAGS" -CPPFLAGS="@native_platform_min_version@ -I@prefix@/@tool_dir@/include $CPPFLAGS" -CXXFLAGS="@native_platform_min_version@ -I@prefix@/@tool_dir@/include $CXXFLAGS" +CFLAGS="@host_includes@ -I@prefix@/@tool_dir@/include $CFLAGS" +LDFLAGS="@host_includes@ -L@prefix@/@tool_dir@/lib $LDFLAGS" +CPPFLAGS="@host_includes@ -I@prefix@/@tool_dir@/include $CPPFLAGS" +CXXFLAGS="@host_includes@ -I@prefix@/@tool_dir@/include $CXXFLAGS" PKG_CONFIG=@prefix@/@tool_dir@/bin/pkg-config export PKG_CONFIG_LIBDIR=@prefix@/@tool_dir@/lib/pkgconfig @@ -23,17 +23,4 @@ if test -n "@use_build_toolchain@"; then fi LD_LIBRARY_PATH=@prefix@/@tool_dir@/lib:$LD_LIBRARY_PATH -NASM=@prefix@/@tool_dir@/bin/yasm - -if test "@build_os@" = "osx" ; then - # Xcode 8 + 10.11, clock_gettime and getentropy is present - # in 10.12 but will get wrongly detected if building on 10.11 - ac_cv_search_clock_gettime=no - ac_cv_func_clock_gettime=no - ac_cv_func_getentropy=no - ac_cv_func_futimes=no - ac_cv_func_futimesat=no - ac_cv_func_futimens=no - ac_cv_func_utimensat=no -fi - +NASM=@prefix@/@tool_dir@/bin/nasm diff --git a/tools/depends/native/distutilscross/python3.patch b/tools/depends/native/distutilscross/python3.patch deleted file mode 100644 index 6e1059d223..0000000000 --- a/tools/depends/native/distutilscross/python3.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/distutilscross/crosscompile.py -+++ b/distutilscross/crosscompile.py -@@ -32,7 +32,7 @@ - _get_python_lib = sysconfig.get_python_lib - def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): - if os.environ.has_key('PYTHONXCPREFIX'): -- print "Setting prefix" -+ print("Setting prefix") - prefix = os.environ['PYTHONXCPREFIX'] - - return _get_python_lib(plat_specific, standard_lib, prefix) diff --git a/tools/depends/native/dpkg/Makefile b/tools/depends/native/dpkg/Makefile index 5e286771ca..533bf61bc9 100644 --- a/tools/depends/native/dpkg/Makefile +++ b/tools/depends/native/dpkg/Makefile @@ -1,13 +1,15 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile 01-no-gnu-patch.patch 02-perl-min-version.patch 03-lzma-compression.patch +DEPS = ../../Makefile.include Makefile 01-no-gnu-patch.patch 02-perl-min-version.patch 03-lzma-compression.patch ../../download-files.include # lib name, version LIBNAME=dpkg VERSION=1.19.7 SOURCE=$(LIBNAME)_$(VERSION) ARCHIVE=$(SOURCE).tar.xz +SHA512=9ca441dc265baf5359c71617aef1c57504a7097c26ea57108b88dadc511bfa9918fcc765d8c67cec9def9916c5df92d6cabe508446dbc7223a29b45260445e81 +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) --enable-static --disable-shared --disable-devel-docs \ @@ -18,10 +20,8 @@ LIBDYLIB=$(PLATFORM)/dpkg-deb/dpkg-deb all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../01-no-gnu-patch.patch diff --git a/tools/depends/native/expat/EXPAT-VERSION b/tools/depends/native/expat/EXPAT-VERSION new file mode 100644 index 0000000000..ea1b164349 --- /dev/null +++ b/tools/depends/native/expat/EXPAT-VERSION @@ -0,0 +1,5 @@ +LIBNAME=expat +VERSION=2.4.9 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.xz +SHA512=8508379b4915d84d50f3638678a90792179c98247d1cb5e6e6387d117af4dc148ac7031c1debea8b96e7b710ef436cf0dd5da91f3d22b8186a00cfafe1201169 diff --git a/tools/depends/native/expat/Makefile b/tools/depends/native/expat/Makefile index 73d8b4dfae..08c1b6f96c 100644 --- a/tools/depends/native/expat/Makefile +++ b/tools/depends/native/expat/Makefile @@ -1,13 +1,7 @@ -include ../../Makefile.include +include ../../Makefile.include EXPAT-VERSION ../../download-files.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS=../../Makefile.include Makefile - -# lib name, version -LIBNAME=expat -VERSION=2.2.7 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.bz2 +DEPS=../../Makefile.include Makefile EXPAT-VERSION ../../download-files.include # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) ./conftools; CFLAGS="-fPIC" ./configure --prefix=$(PREFIX) --disable-shared @@ -16,10 +10,8 @@ LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/native/flatbuffers/Makefile b/tools/depends/native/flatbuffers/Makefile index e50f61fec5..fa5fe50042 100644 --- a/tools/depends/native/flatbuffers/Makefile +++ b/tools/depends/native/flatbuffers/Makefile @@ -1,16 +1,26 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS=../../Makefile.include Makefile +DEPS =../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=flatbuffers -VERSION=1.11.0 +VERSION=2.0.0 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=26a06b572c0e4c9685743bd2d2162ac7dcd74b9324624cc3f3ef5b154c0cee7c52a04b77cdc184245d2d6ae38dfdcc4fd66001c318aa8ca001d2bf1d85d66a89 +include ../../download-files.include APP=$(PLATFORM)/build-cmake/flatc +# BUILD Notes +# When we go c++17, flatbuffers has FLATBUFFERS_BUILD_CPP17 to enable +# If we bump cmake min req to 3.16, enable FLATBUFFERS_ENABLE_PCH + +ifeq ($(USE_CCACHE), yes) + LAUNCHER=-DCMAKE_CXX_COMPILER_LAUNCHER=$(CCACHE) +endif + # Only this package uses CMake for build on native at the moment, # so there is no separate toolchain file. Still we have to unset # the CMAKE_TOOLCHAIN_FILE, which is part of $(CMAKE) and set to @@ -27,6 +37,7 @@ CMAKE_OPTIONS := -DCMAKE_TOOLCHAIN_FILE= \ -DFLATBUFFERS_BUILD_SHAREDLIB=OFF \ -DCMAKE_C_COMPILER="$(CC_BINARY_FOR_BUILD)" \ -DCMAKE_CXX_COMPILER="$(CXX_BINARY_FOR_BUILD)" \ + $(LAUNCHER) \ -DCMAKE_C_FLAGS="$(NATIVE_CFLAGS)" \ -DCMAKE_CXX_FLAGS="$(NATIVE_CXXFLAGS)" \ -DCMAKE_EXE_LINKER_FLAGS="$(NATIVE_LDFLAGS)" \ @@ -35,10 +46,8 @@ BUILDDIR = $(PLATFORM)/build-cmake # 'build' conflicts with file BUILD on case-i all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) mkdir -p $(BUILDDIR) diff --git a/tools/depends/native/gas-preprocessor/README b/tools/depends/native/gas-preprocessor/README index d903ba107e..2c8ab2b48b 100644 --- a/tools/depends/native/gas-preprocessor/README +++ b/tools/depends/native/gas-preprocessor/README @@ -1,13 +1,6 @@ -To configure ffmpeg for the iPhone 3gs and iPod touch 3g: +To configure Libav for iOS: -./configure --enable-cross-compile --arch=arm --target-os=darwin --cc='/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv7' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk --cpu=cortex-a8 --enable-pic - -To configure ffmpeg for all other iPhones and iPods: - -./configure --enable-cross-compile --arch=arm --target-os=darwin --cc='/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv6' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk --cpu=arm1176jzf-s - -Make sure to replace the iPhone SDK version with the version that you're using. -Pre-3.0 versions aren't supported and probably won't work. +./configure --enable-cross-compile --arch=arm --target-os=darwin --cc='clang -arch armv7' --sysroot=$(xcrun --sdk iphoneos --show-sdk-path) --cpu=cortex-a8 --enable-pic If deploying to all generations, it's recommended to do separate out-of-tree builds for each architecture, then lipo together the resulting libs. For diff --git a/tools/depends/native/gas-preprocessor/VERSION b/tools/depends/native/gas-preprocessor/VERSION new file mode 100644 index 0000000000..90992e430d --- /dev/null +++ b/tools/depends/native/gas-preprocessor/VERSION @@ -0,0 +1,4 @@ +LIBNAME=gas-preprocessor +BASE_URL=https://github.com/libav/gas-preprocessor +COMMIT=d09971fad329d32df19f5bbafe88cf2f0ed04ed7 +COMMIT_DATE=2019/10/04 diff --git a/tools/depends/native/gas-preprocessor/gas-preprocessor.pl b/tools/depends/native/gas-preprocessor/gas-preprocessor.pl index c5a71fb29d..9cc8b2ce88 100755 --- a/tools/depends/native/gas-preprocessor/gas-preprocessor.pl +++ b/tools/depends/native/gas-preprocessor/gas-preprocessor.pl @@ -27,6 +27,7 @@ my $as_type = "apple-gas"; my $fix_unreq = $^O eq "darwin"; my $force_thumb = 0; +my $verbose = 0; my $arm_cond_codes = "eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo"; @@ -36,10 +37,8 @@ Gas-preprocessor.pl converts assembler files using modern GNU as syntax for Apple's ancient gas version or clang's incompatible integrated assembler. The conversion is regularly tested for Libav, x264 and vlc. Other projects might use different features which are not correctly handled. - Options for this program needs to be separated with ' -- ' from the assembler command. Following options are currently supported: - -help - this usage text -arch - target architecture -as-type - one value out of {{,apple-}{gas,clang},armasm} @@ -48,6 +47,7 @@ command. Following options are currently supported: -force-thumb - assemble as thumb regardless of the input source (note, this is incomplete and only works for sources it explicitly was tested with) + -verbose - print executed commands "; sub usage() { @@ -61,6 +61,8 @@ while (@ARGV) { $fix_unreq = $1 ne "no-"; } elsif ($opt eq "-force-thumb") { $force_thumb = 1; + } elsif ($opt eq "-verbose") { + $verbose = 1; } elsif ($opt eq "-arch") { $arch = shift; die "unknown arch: '$arch'\n" if not exists $canonical_arch{$arch}; @@ -71,11 +73,11 @@ while (@ARGV) { usage(); exit 0; } elsif ($opt eq "--" ) { - @gcc_cmd = @ARGV; + @gcc_cmd = @ARGV; } elsif ($opt =~ /^-/) { die "option '$opt' is not known. See '$0 -help' for usage information\n"; } else { - push @gcc_cmd, $opt, @ARGV; + push @gcc_cmd, $opt, @ARGV; } last if (@gcc_cmd); } @@ -90,6 +92,7 @@ if (grep /\.c$/, @gcc_cmd) { # pass -v/--version along, used during probing. Matching '-v' might have # uninteded results but it doesn't matter much if gas-preprocessor or # the compiler fails. + print STDERR join(" ", @gcc_cmd)."\n" if $verbose; exec(@gcc_cmd); } else { die "Unrecognized input filetype"; @@ -97,8 +100,12 @@ if (grep /\.c$/, @gcc_cmd) { if ($as_type eq "armasm") { $preprocess_c_cmd[0] = "cpp"; - push(@preprocess_c_cmd, "-U__ELF__"); - push(@preprocess_c_cmd, "-U__MACH__"); + push(@preprocess_c_cmd, "-undef"); + # Normally a preprocessor for windows would predefine _WIN32, + # but we're using any generic system-agnostic preprocessor "cpp" + # with -undef (to avoid getting predefined variables from the host + # system in cross compilation cases), so manually define it here. + push(@preprocess_c_cmd, "-D_WIN32"); @preprocess_c_cmd = grep ! /^-nologo$/, @preprocess_c_cmd; # Remove -ignore XX parameter pairs from preprocess_c_cmd @@ -111,6 +118,7 @@ if ($as_type eq "armasm") { $index++; } if (grep /^-MM$/, @preprocess_c_cmd) { + print STDERR join(" ", @preprocess_c_cmd)."\n" if $verbose; system(@preprocess_c_cmd) == 0 or die "Error running preprocessor"; exit 0; } @@ -152,6 +160,7 @@ if ($as_type ne "armasm") { @preprocess_c_cmd = grep ! /^-fp/, @preprocess_c_cmd; @preprocess_c_cmd = grep ! /^-EHsc$/, @preprocess_c_cmd; @preprocess_c_cmd = grep ! /^-O/, @preprocess_c_cmd; + @preprocess_c_cmd = grep ! /^-oldit/, @preprocess_c_cmd; @gcc_cmd = grep ! /^-G/, @gcc_cmd; @gcc_cmd = grep ! /^-W/, @gcc_cmd; @@ -202,12 +211,14 @@ $comm = ";" if $as_type =~ /armasm/; my %ppc_spr = (ctr => 9, vrsave => 256); +print STDERR join(" ", @preprocess_c_cmd)."\n" if $verbose; open(INPUT, "-|", @preprocess_c_cmd) || die "Error running preprocessor"; if ($ENV{GASPP_DEBUG}) { open(ASMFILE, ">&STDOUT"); } else { if ($as_type ne "armasm") { + print STDERR join(" ", @gcc_cmd)."\n" if $verbose; open(ASMFILE, "|-", @gcc_cmd) or die "Error running assembler"; } else { open(ASMFILE, ">", $tempfile); @@ -245,7 +256,7 @@ my $thumb = 0; my %thumb_labels; my %call_targets; -my %mov32_targets; +my %import_symbols; my %neon_alias_reg; my %neon_alias_type; @@ -270,7 +281,7 @@ while (<INPUT>) { # the line indicates a comment for all supported archs (aarch64, arm, ppc # and x86). Also strips line number comments but since they are off anyway # it is no loss. - s/^#.*$//; + s/^\s*#.*$//; # remove all comments (to avoid interfering with evaluating directives) s/(?<!\\)$inputcomm.*//x; # Strip out windows linefeeds @@ -371,12 +382,12 @@ sub parse_line { return if (parse_if_line($line)); if (scalar(@rept_lines) == 0) { - if (/\.macro/) { + if ($line =~ /\.macro/) { $macro_level++; if ($macro_level > 1 && !$current_macro) { die "nested macros but we don't have master macro"; } - } elsif (/\.endm/) { + } elsif ($line =~ /\.endm/) { $macro_level--; if ($macro_level < 0) { die "unmatched .endm"; @@ -626,18 +637,26 @@ sub is_arm_register { return 0; } +sub is_aarch64_register { + my $name = $_[0]; + if ($name =~ /^[xw]\d+$/) { + return 1; + } + return 0; +} + sub handle_local_label { my $line = $_[0]; my $num = $_[1]; my $dir = $_[2]; my $target = "$num$dir"; if ($dir eq "b") { - $line =~ s/$target/$last_temp_labels{$num}/g; + $line =~ s/\b$target\b/$last_temp_labels{$num}/g; } else { my $name = "temp_label_$temp_label_next"; $temp_label_next++; push(@{$next_temp_labels{$num}}, $name); - $line =~ s/$target/$name/g; + $line =~ s/\b$target\b/$name/g; } return $line; } @@ -677,9 +696,9 @@ sub handle_serialized_line { } # handle GNU as pc-relative relocations for adrp/add - if ($line =~ /(.*)\s*adrp([\w\s\d]+)\s*,\s*#?:pg_hi21:([^\s]+)/) { + if ($line =~ /(.*)\s*adrp([\w\s\d]+)\s*,\s*#?:pg_hi21:([^\s]+)/ and $as_type =~ /^apple-/) { $line = "$1 adrp$2, ${3}\@PAGE\n"; - } elsif ($line =~ /(.*)\s*add([\w\s\d]+)\s*,([\w\s\d]+)\s*,\s*#?:lo12:([^\s]+)/) { + } elsif ($line =~ /(.*)\s*add([\w\s\d]+)\s*,([\w\s\d]+)\s*,\s*#?:lo12:([^\s]+)/ and $as_type =~ /^apple-/) { $line = "$1 add$2, $3, ${4}\@PAGEOFF\n"; } @@ -705,7 +724,7 @@ sub handle_serialized_line { my $cond = $3; my $label = $4; # Don't interpret e.g. bic as b<cc> with ic as conditional code - if ($cond =~ /|$arm_cond_codes/) { + if ($cond =~ /^(|$arm_cond_codes)$/) { if (exists $thumb_labels{$label}) { print ASMFILE ".thumb_func $label\n"; } else { @@ -785,24 +804,25 @@ sub handle_serialized_line { if ($arch eq "aarch64") { # fix missing aarch64 instructions in Xcode 5.1 (beta3) # mov with vector arguments is not supported, use alias orr instead - if ($line =~ /^\s*mov\s+(v\d[\.{}\[\]\w]+),\s*(v\d[\.{}\[\]\w]+)\b\s*$/) { - $line = " orr $1, $2, $2\n"; + if ($line =~ /^(\d+:)?\s*mov\s+(v\d[\.{}\[\]\w]+),\s*(v\d[\.{}\[\]\w]+)\b\s*$/) { + $line = "$1 orr $2, $3, $3\n"; } # movi 16, 32 bit shifted variant, shift is optional - if ($line =~ /^\s*movi\s+(v[0-3]?\d\.(?:2|4|8)[hsHS])\s*,\s*(#\w+)\b\s*$/) { - $line = " movi $1, $2, lsl #0\n"; + if ($line =~ /^(\d+:)?\s*movi\s+(v[0-3]?\d\.(?:2|4|8)[hsHS])\s*,\s*(#\w+)\b\s*$/) { + $line = "$1 movi $2, $3, lsl #0\n"; } # Xcode 5 misses the alias uxtl. Replace it with the more general ushll. # Clang 3.4 misses the alias sxtl too. Replace it with the more general sshll. - if ($line =~ /^\s*(s|u)xtl(2)?\s+(v[0-3]?\d\.[248][hsdHSD])\s*,\s*(v[0-3]?\d\.(?:2|4|8|16)[bhsBHS])\b\s*$/) { - $line = " $1shll$2 $3, $4, #0\n"; + # armasm64 also misses these instructions. + if ($line =~ /^(\d+:)?\s*(s|u)xtl(2)?\s+(v[0-3]?\d\.[248][hsdHSD])\s*,\s*(v[0-3]?\d\.(?:2|4|8|16)[bhsBHS])\b\s*$/) { + $line = "$1 $2shll$3 $4, $5, #0\n"; } - # clang 3.4 does not automatically use shifted immediates in add/sub - if ($as_type eq "clang" and - $line =~ /^(\s*(?:add|sub)s?) ([^#l]+)#([\d\+\-\*\/ <>]+)\s*$/) { - my $imm = eval $3; + # clang 3.4 and armasm64 do not automatically use shifted immediates in add/sub + if (($as_type eq "clang" or $as_type eq "armasm") and + $line =~ /^(\d+:)?(\s*(?:add|sub)s?) ([^#l]+)#([\d\+\-\*\/ <>]+)\s*$/) { + my $imm = eval $4; if ($imm > 4095 and not ($imm & 4095)) { - $line = "$1 $2#" . ($imm >> 12) . ", lsl #12\n"; + $line = "$1 $2 $3#" . ($imm >> 12) . ", lsl #12\n"; } } if ($ENV{GASPP_FIX_XCODE5}) { @@ -853,7 +873,7 @@ sub handle_serialized_line { $last_temp_labels{$num} = $name; } - if ($line =~ s/^(\w+):/$1/) { + if ($line =~ s/^\s*(\w+):/$1/) { # Skip labels that have already been declared with a PROC, # labels must not be declared multiple times. return if (defined $labels_seen{$1}); @@ -866,21 +886,40 @@ sub handle_serialized_line { # Check branch instructions - if ($line =~ /(?:^|\n)\s*(\w+\s*:\s*)?(bl?x?(..)?(\.w)?)\s+(\w+)/) { + if ($line =~ /(?:^|\n)\s*(\w+\s*:\s*)?(bl?x?\.?([^\s]{2})?(\.w)?)\s+(\w+)/) { my $instr = $2; my $cond = $3; my $width = $4; my $target = $5; # Don't interpret e.g. bic as b<cc> with ic as conditional code - if ($cond !~ /|$arm_cond_codes/) { + if ($cond !~ /^(|$arm_cond_codes)$/) { # Not actually a branch } elsif ($target =~ /^(\d+)([bf])$/) { # The target is a local label $line = handle_local_label($line, $1, $2); - $line =~ s/\b$instr\b/$&.w/ if $width eq ""; - } elsif (!is_arm_register($target)) { + $line =~ s/\b$instr\b/$&.w/ if $width eq "" and $arch eq "arm"; + } elsif (($arch eq "arm" and !is_arm_register($target)) or + ($arch eq "aarch64" and !is_aarch64_register($target))) { + $call_targets{$target}++; + } + } elsif ($line =~ /(?:^|\n)\s*(\w+\s*:\s*)?(cbn?z|adr|tbz)\s+(\w+)\s*,(\s*#\d+\s*,)?\s*(\w+)/) { + my $instr = $2; + my $reg = $3; + my $bit = $4; + my $target = $5; + if ($target =~ /^(\d+)([bf])$/) { + # The target is a local label + $line = handle_local_label($line, $1, $2); + } else { $call_targets{$target}++; } + # Convert tbz with a wX register into an xX register, + # due to armasm64 bugs/limitations. + if ($instr eq "tbz" and $reg =~ /w\d+/) { + my $xreg = $reg; + $xreg =~ s/w/x/; + $line =~ s/\b$reg\b/$xreg/; + } } elsif ($line =~ /^\s*.h?word.*\b\d+[bf]\b/) { while ($line =~ /\b(\d+)([bf])\b/g) { $line = handle_local_label($line, $1, $2); @@ -890,7 +929,7 @@ sub handle_serialized_line { # ALIGN in armasm syntax is the actual number of bytes if ($line =~ /\.(?:p2)?align\s+(\d+)/) { my $align = 1 << $1; - $line =~ s/\.(?:p2)?align\s(\d+)/ALIGN $align/; + $line =~ s/\.(?:p2)?align\s+(\d+)/ALIGN $align/; } # Convert gas style [r0, :128] into armasm [r0@128] alignment specification $line =~ s/\[([^\[,]+),?\s*:(\d+)\]/[$1\@$2]/g; @@ -918,19 +957,127 @@ sub handle_serialized_line { $line =~ s/\(\s*(\d+)\s*([<>])\s*(\d+)\s*\)/$val/; } - # Change a movw... #:lower16: into a mov32 pseudoinstruction - $line =~ s/^(\s*)movw(\s+\w+\s*,\s*)\#:lower16:(.*)$/$1mov32$2$3/; - # and remove the following, matching movt completely - $line =~ s/^\s*movt\s+\w+\s*,\s*\#:upper16:.*$//; + if ($arch eq "arm") { + # Change a movw... #:lower16: into a mov32 pseudoinstruction + $line =~ s/^(\s*)movw(\s+\w+\s*,\s*)\#:lower16:(.*)$/$1mov32$2$3/; + # and remove the following, matching movt completely + $line =~ s/^\s*movt\s+\w+\s*,\s*\#:upper16:.*$//; - if ($line =~ /^\s*mov32\s+\w+,\s*([a-zA-Z]\w*)/) { - $mov32_targets{$1}++; - } + if ($line =~ /^\s*mov32\s+\w+,\s*([a-zA-Z]\w*)/) { + $import_symbols{$1}++; + } + + # Misc bugs/deficiencies: + # armasm seems unable to parse e.g. "vmov s0, s1" without a type + # qualifier, thus add .f32. + $line =~ s/^(\s+(?:vmov|vadd))(\s+s\d+\s*,\s*s\d+)/$1.f32$2/; + } elsif ($arch eq "aarch64") { + # Convert ext into ext8; armasm64 seems to require it named as ext8. + $line =~ s/^(\s+)ext(\s+)/$1ext8$2/; + + # Pick up targets from ldr x0, =sym+offset + if ($line =~ /^\s*ldr\s+(\w+)\s*,\s*=([a-zA-Z]\w*)(.*)$/) { + my $reg = $1; + my $sym = $2; + my $offset = eval_expr($3); + if ($offset < 0 and $ENV{GASPP_ARMASM64_SKIP_NEG_OFFSET}) { + # armasm64 in VS < 15.6 is buggy with ldr x0, =sym+offset where the + # offset is a negative value; it does write a negative + # offset into the literal pool as it should, but the + # negative offset only covers the lower 32 bit of the 64 + # bit literal/relocation. + # Thus remove the offset and apply it manually with a sub + # afterwards. + $offset = -$offset; + $line = "\tldr $reg, =$sym\n\tsub $reg, $reg, #$offset\n"; + } + $import_symbols{$sym}++; + } + + # armasm64 (currently) doesn't support offsets on adrp targets, + # even though the COFF format relocations (and the linker) + # supports it. Therefore strip out the offsets from adrp and + # add :lo12: (in case future armasm64 would start handling it) + # and add an extra explicit add instruction for the offset. + if ($line =~ s/(adrp\s+\w+\s*,\s*(\w+))([\d\+\-\*\/\(\) <>]+)?/\1/) { + $import_symbols{$2}++; + } + if ($line =~ s/(add\s+(\w+)\s*,\s*\w+\s*,\s*):lo12:(\w+)([\d\+\-\*\/\(\) <>]+)?/\1\3/) { + my $reg = $2; + my $sym = $3; + my $offset = eval_expr($4); + $line .= "\tadd $reg, $reg, #$offset\n" if $offset > 0; + $import_symbols{$sym}++; + } - # Misc bugs/deficiencies: - # armasm seems unable to parse e.g. "vmov s0, s1" without a type - # qualifier, thus add .f32. - $line =~ s/^(\s+(?:vmov|vadd))(\s+s\d+\s*,\s*s\d+)/$1.f32$2/; + # Convert e.g. "add x0, x0, w0, uxtw" into "add x0, x0, w0, uxtw #0", + # or "ldr x0, [x0, w0, uxtw]" into "ldr x0, [x0, w0, uxtw #0]". + $line =~ s/(uxt[whb]|sxt[whb])(\s*\]?\s*)$/\1 #0\2/i; + + # Convert "mov x0, v0.d[0]" into "umov x0, v0.d[0]" + $line =~ s/\bmov\s+[xw]\d+\s*,\s*v\d+\.[ds]/u$&/i; + + # Convert "ccmp w0, #0, #0, ne" into "ccmpne w0, #0, #0", + # and "csel w0, w0, w0, ne" into "cselne w0, w0, w0". + $line =~ s/(ccmp|csel)\s+([xw]\w+)\s*,\s*([xw#]\w+)\s*,\s*([xw#]\w+)\s*,\s*($arm_cond_codes)/\1\5 \2, \3, \4/; + + # Convert "cinc w0, w0, ne" into "cincne w0, w0". + $line =~ s/(cinc)\s+([xw]\w+)\s*,\s*([xw]\w+)\s*,\s*($arm_cond_codes)/\1\4 \2, \3/; + + # Convert "cset w0, lo" into "csetlo w0" + $line =~ s/(cset)\s+([xw]\w+)\s*,\s*($arm_cond_codes)/\1\3 \2/; + + if ($ENV{GASPP_ARMASM64_SKIP_PRFUM}) { + # Strip out prfum; armasm64 (VS < 15.5) fails to assemble any + # variant/combination of prfum tested so far, but since it is + # a prefetch instruction it can be skipped without changing + # results. + $line =~ s/prfum.*\]//; + } + + # Convert "ldrb w0, [x0, #-1]" into "ldurb w0, [x0, #-1]". + # Don't do this for forms with writeback though. + if ($line =~ /(ld|st)(r[bh]?)\s+(\w+)\s*,\s*\[\s*(\w+)\s*,\s*#([^\]]+)\s*\][^!]/) { + my $instr = $1; + my $suffix = $2; + my $target = $3; + my $base = $4; + my $offset = eval_expr($5); + if ($offset < 0) { + $line =~ s/$instr$suffix/${instr}u$suffix/; + } + } + + if ($ENV{GASPP_ARMASM64_INVERT_SCALE}) { + # Instructions like fcvtzs and scvtf store the scale value + # inverted in the opcode (stored as 64 - scale), but armasm64 + # in VS < 15.5 stores it as-is. Thus convert from + # "fcvtzs w0, s0, #8" into "fcvtzs w0, s0, #56". + if ($line =~ /(?:fcvtzs|scvtf)\s+(\w+)\s*,\s*(\w+)\s*,\s*#(\d+)/) { + my $scale = $3; + my $inverted_scale = 64 - $3; + $line =~ s/#$scale/#$inverted_scale/; + } + } + + # Convert "ld1 {v0.4h-v3.4h}" into "ld1 {v0.4h,v1.4h,v2.4h,v3.4h}" + if ($line =~ /(?:ld|st)\d\s+({\s*v(\d+)\.(\d[bhsdBHSD])\s*-\s*v(\d+)\.(\d[bhsdBHSD])\s*})/) { + my $regspec = $1; + my $reg1 = $2; + my $layout1 = $3; + my $reg2 = $4; + my $layout2 = $5; + if ($layout1 eq $layout2) { + my $new_regspec = "{"; + foreach my $i ($reg1 .. $reg2) { + $new_regspec .= "," if ($i > $reg1); + $new_regspec .= "v$i.$layout1"; + } + $new_regspec .= "}"; + $line =~ s/$regspec/$new_regspec/; + } + } + } # armasm is unable to parse &0x - add spacing $line =~ s/&0x/& 0x/g; } @@ -944,13 +1091,27 @@ sub handle_serialized_line { # Convert "mov pc, lr" into "bx lr", since the former only works # for switching from arm to thumb (and only in armv7), but not # from thumb to arm. - s/mov\s*pc\s*,\s*lr/bx lr/g; + $line =~ s/mov\s*pc\s*,\s*lr/bx lr/g; # Convert stmdb/ldmia/stmfd/ldmfd/ldm with only one register into a plain str/ldr with post-increment/decrement. # Wide thumb2 encoding requires at least two registers in register list while all other encodings support one register too. $line =~ s/stm(?:db|fd)\s+sp!\s*,\s*\{([^,-]+)\}/str $1, [sp, #-4]!/g; $line =~ s/ldm(?:ia|fd)?\s+sp!\s*,\s*\{([^,-]+)\}/ldr $1, [sp], #4/g; + # Convert muls into mul+cmp + $line =~ s/muls\s+(\w+),\s*(\w+)\,\s*(\w+)/mul $1, $2, $3\n\tcmp $1, #0/g; + + # Convert "and r0, sp, #xx" into "mov r0, sp", "and r0, r0, #xx" + $line =~ s/and\s+(\w+),\s*(sp|r13)\,\s*#(\w+)/mov $1, $2\n\tand $1, $1, #$3/g; + + # Convert "ldr r0, [r0, r1, lsl #6]" where the shift is >3 (which + # can't be handled in thumb) into "add r0, r0, r1, lsl #6", + # "ldr r0, [r0]", for the special case where the same address is + # used as base and target for the ldr. + if ($line =~ /(ldr[bh]?)\s+(\w+),\s*\[\2,\s*(\w+),\s*lsl\s*#(\w+)\]/ and $4 > 3) { + $line =~ s/(ldr[bh]?)\s+(\w+),\s*\[\2,\s*(\w+),\s*lsl\s*#(\w+)\]/add $2, $2, $3, lsl #$4\n\t$1 $2, [$2]/; + } + $line =~ s/\.arm/.thumb/x; } @@ -984,6 +1145,7 @@ sub handle_serialized_line { } if ($as_type eq "armasm") { $line =~ s/\.global/EXPORT/x; + $line =~ s/\.extern/IMPORT/x; $line =~ s/\.int/dcd/x; $line =~ s/\.long/dcd/x; $line =~ s/\.float/dcfs/x; @@ -997,12 +1159,21 @@ sub handle_serialized_line { $line =~ s/\.arm/ARM/x; # The alignment in AREA is the power of two, just as .align in gas $line =~ s/\.text/AREA |.text|, CODE, READONLY, ALIGN=4, CODEALIGN/; - $line =~ s/(\s*)(.*)\.rodata/$1AREA |.rodata|, DATA, READONLY, ALIGN=5/; + $line =~ s/(\s*)(.*)\.ro?data/$1AREA |.rdata|, DATA, READONLY, ALIGN=5/; $line =~ s/\.data/AREA |.data|, DATA, ALIGN=5/; - + } + if ($as_type eq "armasm" and $arch eq "arm") { $line =~ s/fmxr/vmsr/; $line =~ s/fmrx/vmrs/; $line =~ s/fadds/vadd.f32/; + # Armasm in VS 2019 16.3 errors out on "it" instructions. But + # armasm implicitly adds the necessary it instructions anyway, so we + # can just filter them out. + $line =~ s/^\s*it[te]*\s+/$comm$&/; + } + if ($as_type eq "armasm" and $arch eq "aarch64") { + # Convert "b.eq" into "beq" + $line =~ s/\bb\.($arm_cond_codes)\b/b\1/; } # catch unknown section names that aren't mach-o style (with a comma) @@ -1024,7 +1195,7 @@ if ($as_type ne "armasm") { grep exists $thumb_labels{$_}, keys %call_targets; } else { map print(ASMFILE "\tIMPORT $_\n"), - grep ! exists $labels_seen{$_}, (keys %call_targets, keys %mov32_targets); + grep ! exists $labels_seen{$_}, (keys %call_targets, keys %import_symbols); print ASMFILE "\tEND\n"; } @@ -1032,6 +1203,7 @@ if ($as_type ne "armasm") { close(INPUT) or exit 1; close(ASMFILE) or exit 1; if ($as_type eq "armasm" and ! defined $ENV{GASPP_DEBUG}) { + print STDERR join(" ", @gcc_cmd)."\n" if $verbose; system(@gcc_cmd) == 0 or die "Error running assembler"; } diff --git a/tools/depends/native/gen_entitlements/Makefile b/tools/depends/native/gen_entitlements/Makefile deleted file mode 100644 index a16b4549f6..0000000000 --- a/tools/depends/native/gen_entitlements/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -include ../../Makefile.include - -GEBIN=$(NATIVEPREFIX)/bin/gen_entitlements.py - -all: $(GEBIN) - -$(GEBIN): - mkdir -p $(NATIVEPREFIX)/bin - cp gen_entitlements.py $(GEBIN) - chmod 755 $(GEBIN) - -clean: -distclean:: - rm -f $(GEBIN) diff --git a/tools/depends/native/gen_entitlements/gen_entitlements.py b/tools/depends/native/gen_entitlements/gen_entitlements.py deleted file mode 100755 index d8ae6af3ee..0000000000 --- a/tools/depends/native/gen_entitlements/gen_entitlements.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python - -import sys -import struct - -if len(sys.argv) != 3: - print "Usage: %s appname dest_file.xcent" % sys.argv[0] - sys.exit(-1) - -APPNAME = sys.argv[1] -DEST = sys.argv[2] - -if not DEST.endswith('.xml') and not DEST.endswith('.xcent'): - print "Dest must be .xml (for ldid) or .xcent (for codesign)" - sys.exit(-1) - -entitlements = """ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>application-identifier</key> - <string>%s</string> - <key>get-task-allow</key> - <true/> -</dict> -</plist> -""" % APPNAME - -f = open(DEST,'w') -if DEST.endswith('.xcent'): - f.write("\xfa\xde\x71\x71") - f.write(struct.pack('>L', len(entitlements) + 8)) -f.write(entitlements) -f.close() - diff --git a/tools/depends/native/gettext/02-disable-test-doc.patch b/tools/depends/native/gettext/02-disable-test-doc.patch new file mode 100644 index 0000000000..1e539d1431 --- /dev/null +++ b/tools/depends/native/gettext/02-disable-test-doc.patch @@ -0,0 +1,11 @@ +--- a/gettext-tools/Makefile.in ++++ b/gettext-tools/Makefile.in +@@ -2198,7 +2198,7 @@ + top_srcdir = @top_srcdir@ + AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies + ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4 +-SUBDIRS = intl gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc ++SUBDIRS = intl gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 + + # Allow users to use "gnulib-tool --update". + diff --git a/tools/depends/native/gettext/Makefile b/tools/depends/native/gettext/Makefile index bc9beb235e..97b717f5f5 100644 --- a/tools/depends/native/gettext/Makefile +++ b/tools/depends/native/gettext/Makefile @@ -1,13 +1,15 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile 01-gettext-tools-stpncpy.patch +DEPS = ../../Makefile.include Makefile 01-gettext-tools-stpncpy.patch 02-disable-test-doc.patch ../../download-files.include # lib name, version LIBNAME=gettext -VERSION=0.19.8 +VERSION=0.21 SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +ARCHIVE=$(SOURCE).tar.xz +SHA512=f7e2968651879f8444d43a176a149db9f9411f4a03132a7f3b37c2ed97e3978ae6888169c995c1953cb78943b6e3573811abcbb8661b6631edbbe067b2699ddf +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) \ @@ -24,20 +26,19 @@ LIBDYLIB=$(PLATFORM)/gettext-tools/src/.libs/libgettextsrc.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); sed -ie '/gets is a security hole/d' gettext-tools/gnulib-lib/stdio.in.h cd $(PLATFORM); sed -ie '/gets is a security hole/d' gettext-tools/libgettextpo/stdio.in.h cd $(PLATFORM); sed -ie '/gets is a security hole/d' gettext-runtime/gnulib-lib/stdio.in.h - cd $(PLATFORM); sed -ie 's/SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4 tests gnulib-tests examples/SUBDIRS = doc intl gnulib-lib libgrep src libgettextpo po projects styles misc man m4/' gettext-tools/Makefile.in cd $(PLATFORM); patch -p1 -i ../01-gettext-tools-stpncpy.patch + cd $(PLATFORM); patch -p1 -i ../02-disable-test-doc.patch cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) + $(MAKE) -C $(PLATFORM)/libtextstyle $(MAKE) -C $(PLATFORM)/gettext-tools .installed-$(PLATFORM): $(LIBDYLIB) diff --git a/tools/depends/native/giflib/Makefile b/tools/depends/native/giflib/Makefile index 0f7cf353f8..b2a8b991a9 100644 --- a/tools/depends/native/giflib/Makefile +++ b/tools/depends/native/giflib/Makefile @@ -1,5 +1,5 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile 01-static-lib.patch +DEPS = ../../Makefile.include Makefile 01-static-lib.patch ../../download-files.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) @@ -8,6 +8,8 @@ LIBNAME=giflib VERSION=5.2.1 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=4550e53c21cb1191a4581e363fc9d0610da53f7898ca8320f0d3ef6711e76bdda2609c2df15dc94c45e28bff8de441f1227ec2da7ea827cb3c0405af4faa4736 +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) @@ -16,10 +18,8 @@ LIBDYLIB=$(PLATFORM)/libgif.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../01-static-lib.patch diff --git a/tools/depends/native/heimdal/02-autoconf-2.70-configure.patch b/tools/depends/native/heimdal/02-autoconf-2.70-configure.patch new file mode 100644 index 0000000000..72755047f1 --- /dev/null +++ b/tools/depends/native/heimdal/02-autoconf-2.70-configure.patch @@ -0,0 +1,11 @@ +--- a/cf/check-var.m4 ++++ b/cf/check-var.m4 +@@ -20,7 +20,7 @@ + if test "$ac_foo" = yes; then + AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_[]$1), 1, + [Define if you have the `]$1[' variable.]) +- m4_ifval([$2], AC_CHECK_DECLS([$1],[],[],[$2])) ++ m4_ifval([$2], [AC_CHECK_DECLS([$1],[],[],[$2])]) + fi + ]) + diff --git a/tools/depends/native/heimdal/Makefile b/tools/depends/native/heimdal/Makefile index 6737c7982a..340af63df3 100644 --- a/tools/depends/native/heimdal/Makefile +++ b/tools/depends/native/heimdal/Makefile @@ -1,25 +1,26 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile 01-disable-libedit.patch +DEPS = ../../Makefile.include Makefile 01-disable-libedit.patch 02-autoconf-2.70-configure.patch ../../download-files.include # lib name, version LIBNAME=heimdal VERSION=7.7.0 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=6660939b5a36ce36310721a08a089fb671d1e3d2e8ac74ea4775bfa5f8f772d32de805551456200fe96cc486c092c44beb84f5dd877008bc305490ee971bbf99 +include ../../download-files.include APP=$(PLATFORM)/lib/asn1/asn1_compile all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../01-disable-libedit.patch + cd $(PLATFORM); patch -p1 -i ../02-autoconf-2.70-configure.patch cd $(PLATFORM); $(AUTORECONF) -vif cd $(PLATFORM); ./configure --prefix=$(PREFIX) --disable-shared diff --git a/tools/depends/native/ldid/01-disable-openssl-plist.patch b/tools/depends/native/ldid/01-disable-openssl-plist.patch new file mode 100644 index 0000000000..d25b2a0df9 --- /dev/null +++ b/tools/depends/native/ldid/01-disable-openssl-plist.patch @@ -0,0 +1,21 @@ +--- a/Makefile ++++ b/Makefile +@@ -1,13 +1,14 @@ + DESTDIR ?= / + PREFIX ?= /usr/local +-OPENSSL_LDFLAGS := $(shell pkg-config --libs-only-L openssl) +-OPENSSL_CFLAGS := $(shell pkg-config --cflags openssl) +-CFLAGS += $(OPENSSL_CFLAGS) -O2 +-LDFLAGS ?= $(LDID_LIBS) $(OPENSSL_LDFLAGS) ++#OPENSSL_LDFLAGS := $(shell pkg-config --libs-only-L openssl) ++#OPENSSL_CFLAGS := $(shell pkg-config --cflags openssl) ++#CFLAGS += $(OPENSSL_CFLAGS) -O2 -DLDID_NOSMIME=1 -DLDID_NOPLIST=1 ++CFLAGS += -O2 -DLDID_NOSMIME=1 -DLDID_NOPLIST=1 ++#LDFLAGS ?= $(LDID_LIBS) $(OPENSSL_LDFLAGS) + + .PHONY: all clean + LDID_OBJS = ldid.cpp.o lookup2.c.o +-LDID_LIBS = -lplist -lcrypto ++#LDID_LIBS = -lplist -lcrypto + + all: ldid diff --git a/tools/depends/native/ldid/Makefile b/tools/depends/native/ldid/Makefile index 970b4cccb3..7c426aa0a6 100644 --- a/tools/depends/native/ldid/Makefile +++ b/tools/depends/native/ldid/Makefile @@ -1,34 +1,32 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile 01-disable-openssl-plist.patch ../../download-files.include # lib name, version LIBNAME=ldid -VERSION32=1.0.0 -VERSION64=2 -SOURCE32=$(LIBNAME)-$(VERSION32) -SOURCE64=$(LIBNAME)-$(VERSION64) -ARCHIVE32=$(SOURCE32).tar.gz -ARCHIVE64=$(SOURCE64).tar.gz +VERSION=2.1.2-b462a92 +# tarball source: https://github.com/sbingner/ldid/commit/b462a92349c57f38f2a6844adabee940afe01ca6 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.gz +SHA512=9582d747f55e8fd1d54c20b6a3f0825d2ab0cfaffeb6992e53b39343b3aa3936f31e6353d59518f294ecc154adf687fd2dee0405d9b2e594cc16b19409f3c0f4 +include ../../download-files.include -all: .installed-$(PLATFORM) +LIBDYLIB=$(PLATFORM)/ldid -$(TARBALLS_LOCATION)/$(ARCHIVE32): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE32) +all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE64): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE64) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE32) $(TARBALLS_LOCATION)/$(ARCHIVE64) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) - cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE32) - mv $(PLATFORM)/ldid $(PLATFORM)/ldid32 - cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE64) - mv $(PLATFORM)/ldid $(PLATFORM)/ldid64 + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); patch -p1 -i ../01-disable-openssl-plist.patch + +$(LIBDYLIB): $(PLATFORM) + $(MAKE) -C $(PLATFORM) -.installed-$(PLATFORM):$(PLATFORM) - cp $(PLATFORM)/ldid* $(NATIVEPREFIX)/bin +.installed-$(PLATFORM): $(LIBDYLIB) + cp $(PLATFORM)/ldid $(NATIVEPREFIX)/bin touch $@ clean: diff --git a/tools/depends/native/libffi/Makefile b/tools/depends/native/libffi/Makefile index 462bc6e4c7..6193511efa 100644 --- a/tools/depends/native/libffi/Makefile +++ b/tools/depends/native/libffi/Makefile @@ -1,13 +1,15 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=libffi VERSION=3.2.1 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=980ca30a8d76f963fca722432b1fe5af77d7a4e4d2eac5144fbc5374d4c596609a293440573f4294207e1bdd9fda80ad1e1cafb2ffb543df5a275bc3bd546483 +include ../../download-files.include # configuration settings CONFIGURE= CFLAGS="-fPIC" ./configure --prefix=$(NATIVEPREFIX) --disable-shared --disable-builddir @@ -17,10 +19,8 @@ LIBDYLIB=$(PLATFORM)/.libs/$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/native/libjpeg-turbo/01-disable-executables.patch b/tools/depends/native/libjpeg-turbo/01-disable-executables.patch new file mode 100644 index 0000000000..8a672b2159 --- /dev/null +++ b/tools/depends/native/libjpeg-turbo/01-disable-executables.patch @@ -0,0 +1,118 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -211,6 +211,9 @@ + boolean_number(WITH_TURBOJPEG) + option(WITH_FUZZ "Build fuzz targets" FALSE) + ++option(ENABLE_TESTS "Enable testing targets" FALSE) ++boolean_number(ENABLE_TESTS) ++ + macro(report_option var desc) + if(${var}) + message(STATUS "${desc} enabled (${var} = ${${var}})") +@@ -634,6 +637,7 @@ + LINK_FLAGS "${TJMAPFLAG}${TJMAPFILE}") + endif() + ++if(ENABLE_TESTS) + add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c) + target_link_libraries(tjunittest turbojpeg) + +@@ -645,6 +649,7 @@ + + add_executable(tjexample tjexample.c) + target_link_libraries(tjexample turbojpeg) ++endif() + endif() + + if(ENABLE_STATIC) +@@ -656,7 +661,7 @@ + if(NOT MSVC) + set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg) + endif() +- ++if(ENABLE_TESTS) + add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c + md5/md5hl.c) + target_link_libraries(tjunittest-static turbojpeg-static) +@@ -666,6 +671,7 @@ + if(UNIX) + target_link_libraries(tjbench-static m) + endif() ++endif() + endif() + endif() + +@@ -680,6 +686,7 @@ + set(DJPEG_BMP_SOURCES wrbmp.c wrtarga.c) + endif() + ++if(ENABLE_TESTS) + if(ENABLE_STATIC) + add_executable(cjpeg-static cjpeg.c cdjpeg.c rdgif.c rdppm.c rdswitch.c + ${CJPEG_BMP_SOURCES}) +@@ -699,11 +706,12 @@ + add_executable(rdjpgcom rdjpgcom.c) + + add_executable(wrjpgcom wrjpgcom.c) +- ++endif() + + ############################################################################### + # TESTS + ############################################################################### ++if(ENABLE_TESTS) + + if(WITH_FUZZ) + add_subdirectory(fuzz) +@@ -1419,7 +1427,7 @@ + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/tjbenchtest) + endif() + endif() +- ++endif() + + ############################################################################### + # INSTALLATION +@@ -1434,8 +1442,10 @@ + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++if(ENABLE_TESTS) + install(TARGETS tjbench + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++endif() + if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND + CMAKE_C_LINKER_SUPPORTS_PDB) + install(FILES "$<TARGET_PDB_FILE:turbojpeg>" +@@ -1452,8 +1462,10 @@ + else() + set(DIR ${CMAKE_CURRENT_BINARY_DIR}) + endif() ++ if(ENABLE_TESTS) + install(PROGRAMS ${DIR}/tjbench-static${EXE} + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE}) ++ endif() + endif() + endif() + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h +@@ -1464,6 +1476,7 @@ + install(TARGETS jpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++if(ENABLE_TESTS) + if(NOT ENABLE_SHARED) + if(MSVC_IDE OR XCODE) + set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}") +@@ -1478,8 +1491,11 @@ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME jpegtran${EXE}) + endif() + endif() ++endif() + ++if(ENABLE_TESTS) + install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++endif() + + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg + ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt diff --git a/tools/depends/native/libjpeg-turbo/LIBJPEG-TURBO-VERSION b/tools/depends/native/libjpeg-turbo/LIBJPEG-TURBO-VERSION new file mode 100644 index 0000000000..61eb00828e --- /dev/null +++ b/tools/depends/native/libjpeg-turbo/LIBJPEG-TURBO-VERSION @@ -0,0 +1,4 @@ +LIBNAME=libjpeg-turbo +VERSION=2.1.4 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=d3e92d614168355827e0ed884ff847cc7df8f6f1fb7b673c6c99afdf61fdfc0372afe5d30fdbf5e743335e2a7a27ca9f510c67d213e5cb2315a8d946e9414575 diff --git a/tools/depends/native/libjpeg-turbo/Makefile b/tools/depends/native/libjpeg-turbo/Makefile index f673e84d97..26a1323168 100644 --- a/tools/depends/native/libjpeg-turbo/Makefile +++ b/tools/depends/native/libjpeg-turbo/Makefile @@ -1,37 +1,33 @@ -include ../../Makefile.include +include ../../Makefile.include LIBJPEG-TURBO-VERSION ../../download-files.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include LIBJPEG-TURBO-VERSION Makefile ../../download-files.include \ + 01-disable-executables.patch -# lib name, version -LIBNAME=libjpeg-turbo -VERSION=1.5.1 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz -# configuration settings -CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ - ./configure --prefix=$(PREFIX) --with-jpeg8 --without-simd +CMAKE_OPTIONS := -DCMAKE_TOOLCHAIN_FILE= \ + -DCMAKE_ASM_NASM_COMPILER:FILEPATH=$(NATIVEPREFIX)/bin/nasm \ + -DENABLE_SHARED:BOOL=OFF \ + -DWITH_JPEG8:BOOL=ON \ + -DCMAKE_C_COMPILER="$(CC_BINARY_FOR_BUILD)" \ + -DCMAKE_C_FLAGS="$(NATIVE_CFLAGS)" \ + -DCMAKE_EXE_LINKER_FLAGS="$(NATIVE_LDFLAGS)" \ + -DCMAKE_INSTALL_LIBDIR:STRING=lib -CFLAGS+=-O3 - -LIBDYLIB=$(PLATFORM)/.libs/libjpeg.a +LIBDYLIB=$(PLATFORM)/build/libjpeg.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); $(CONFIGURE) + cd $(PLATFORM); patch -p1 -i ../01-disable-executables.patch + cd $(PLATFORM); $(CMAKE) -B build $(CMAKE_OPTIONS) $(LIBDYLIB): $(PLATFORM) - $(MAKE) -j 1 -C $(PLATFORM) - touch $@ + $(MAKE) -C $(PLATFORM)/build .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: diff --git a/tools/depends/native/liblzo2/Makefile b/tools/depends/native/liblzo2/Makefile index 110adeecd0..93fd85e080 100644 --- a/tools/depends/native/liblzo2/Makefile +++ b/tools/depends/native/liblzo2/Makefile @@ -1,13 +1,15 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=lzo -VERSION=2.09 +VERSION=2.10 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=a3dae5e4a6b93b1f5bf7435e8ab114a9be57252e9efc5dd444947d7a2d031b0819f34bcaeb35f60b5629a01b1238d738735a64db8f672be9690d3c80094511a4 +include ../../download-files.include # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) autoconf/; \ @@ -17,10 +19,8 @@ LIBDYLIB=$(PLATFORM)/src/.libs/lib$(LIBNAME)2.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/native/libpng/Makefile b/tools/depends/native/libpng/Makefile index ad81b15060..84650832b3 100644 --- a/tools/depends/native/libpng/Makefile +++ b/tools/depends/native/libpng/Makefile @@ -1,13 +1,15 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=libpng -VERSION=1.6.26 +VERSION=1.6.37 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=2ce2b855af307ca92a6e053f521f5d262c36eb836b4810cb53c809aa3ea2dcc08f834aee0ffd66137768a54397e28e92804534a74abb6fc9f6f3127f14c9c338 +include ../../download-files.include # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ @@ -17,10 +19,8 @@ LIBDYLIB=$(PLATFORM)/.libs/$(LIBNAME)16.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/native/libtool/Makefile b/tools/depends/native/libtool/Makefile index 98a3a9d9a2..235642c7e1 100644 --- a/tools/depends/native/libtool/Makefile +++ b/tools/depends/native/libtool/Makefile @@ -1,13 +1,15 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=libtool VERSION=2.4.6 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=3233d81cb2739a54b840a0a82064eebbfaa4fb442fb993a35d6bd41d8395c51f038c90ae048b9252f172d0a5bbfb4b36e2b13d4477001f9ff7d4124237819a18 +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) \ @@ -17,10 +19,8 @@ LIBDYLIB=$(PLATFORM)/libtool all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/native/m4/01-fix-ftbfs-with-glibc-2.28.patch b/tools/depends/native/m4/01-fix-ftbfs-with-glibc-2.28.patch deleted file mode 100644 index c10c1b2ba8..0000000000 --- a/tools/depends/native/m4/01-fix-ftbfs-with-glibc-2.28.patch +++ /dev/null @@ -1,117 +0,0 @@ -From: Santiago Vila <sanvila@debian.org> -Subject: Fix FTBFS with glibc 2.28 -Bug-Debian: https://bugs.debian.org/915152 -X-Debian-version: 1.4.18-2 - -Based on this gnulib commit by Paul Eggert: - -https://lists.gnu.org/r/bug-gnulib/2018-03/msg00002.html - ---- a/lib/fflush.c -+++ b/lib/fflush.c -@@ -33,7 +33,7 @@ - #undef fflush - - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ - static void -@@ -72,7 +72,7 @@ - - #endif - --#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) -+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) - - # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ -@@ -148,7 +148,7 @@ - if (stream == NULL || ! freading (stream)) - return fflush (stream); - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - clear_ungetc_buffer_preserving_position (stream); - ---- a/lib/fpending.c -+++ b/lib/fpending.c -@@ -32,7 +32,7 @@ - /* Most systems provide FILE as a struct and the necessary bitmask in - <stdio.h>, because they need it for implementing getc() and putc() as - fast macros. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - return fp->_IO_write_ptr - fp->_IO_write_base; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ ---- a/lib/fpurge.c -+++ b/lib/fpurge.c -@@ -62,7 +62,7 @@ - /* Most systems provide FILE as a struct and the necessary bitmask in - <stdio.h>, because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_IO_read_end = fp->_IO_read_ptr; - fp->_IO_write_ptr = fp->_IO_write_base; - /* Avoid memory leak when there is an active ungetc buffer. */ ---- a/lib/freadahead.c -+++ b/lib/freadahead.c -@@ -25,7 +25,7 @@ - size_t - freadahead (FILE *fp) - { --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_write_ptr > fp->_IO_write_base) - return 0; - return (fp->_IO_read_end - fp->_IO_read_ptr) ---- a/lib/freading.c -+++ b/lib/freading.c -@@ -31,7 +31,7 @@ - /* Most systems provide FILE as a struct and the necessary bitmask in - <stdio.h>, because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - return ((fp->_flags & _IO_NO_WRITES) != 0 - || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 - && fp->_IO_read_base != NULL)); ---- a/lib/fseeko.c -+++ b/lib/fseeko.c -@@ -47,7 +47,7 @@ - #endif - - /* These tests are based on fpurge.c. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_read_end == fp->_IO_read_ptr - && fp->_IO_write_ptr == fp->_IO_write_base - && fp->_IO_save_base == NULL) -@@ -123,7 +123,7 @@ - return -1; - } - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags &= ~_IO_EOF_SEEN; - fp->_offset = pos; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ ---- a/lib/stdio-impl.h -+++ b/lib/stdio-impl.h -@@ -18,6 +18,12 @@ - the same implementation of stdio extension API, except that some fields - have different naming conventions, or their access requires some casts. */ - -+/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this -+ problem by defining it ourselves. FIXME: Do not rely on glibc -+ internals. */ -+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN -+# define _IO_IN_BACKUP 0x100 -+#endif - - /* BSD stdio derived implementations. */ - diff --git a/tools/depends/native/m4/Makefile b/tools/depends/native/m4/Makefile index a4ffcc68d0..a41959146f 100644 --- a/tools/depends/native/m4/Makefile +++ b/tools/depends/native/m4/Makefile @@ -1,13 +1,15 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile 01-fix-ftbfs-with-glibc-2.28.patch osx_snprintf.patch +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=m4 -VERSION=1.4.18 +VERSION=1.4.19 SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +ARCHIVE=$(SOURCE).tar.xz +SHA512=47f595845c89709727bda0b3fc78e3188ef78ec818965b395532e7041cabe9e49677ee4aca3d042930095a7f8df81de3da1026b23b6897be471f6cf13ddd512b +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) @@ -16,14 +18,9 @@ LIBDYLIB=$(PLATFORM)/src/$(LIBNAME) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); patch -p1 -i ../01-fix-ftbfs-with-glibc-2.28.patch - cd $(PLATFORM); patch -p1 -i ../osx_snprintf.patch cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) diff --git a/tools/depends/native/m4/osx_snprintf.patch b/tools/depends/native/m4/osx_snprintf.patch deleted file mode 100644 index af1c470ca6..0000000000 --- a/tools/depends/native/m4/osx_snprintf.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/lib/vasnprintf.c -+++ b/lib/vasnprintf.c -@@ -4858,7 +4858,7 @@ - #endif - *fbp = dp->conversion; - #if USE_SNPRINTF --# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) -+# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || (defined __APPLE__ && defined __MACH__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) - fbp[1] = '%'; - fbp[2] = 'n'; - fbp[3] = '\0'; diff --git a/tools/depends/native/meson/Makefile b/tools/depends/native/meson/Makefile index 832f1a9f43..106b1a0b92 100644 --- a/tools/depends/native/meson/Makefile +++ b/tools/depends/native/meson/Makefile @@ -1,21 +1,21 @@ include ../../Makefile.include PLATFORM=$(NATIVEPLATFORM) -DEPS=../../Makefile.include Makefile +DEPS =../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=meson -VERSION=0.51.0 +VERSION=0.59.2 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=126ac3a6c6b9e1fba1b3ac163f02d1eb0b61fedb312bcfe4996f6150522688d424f47283070c95101cc456afe9ea5cb462fb38f368d0c732952ffb8c600fda00 +include ../../download-files.include LIBDYLIB=$(PLATFORM)/build all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(NATIVEPREFIX)/bin/python3 setup.py config diff --git a/tools/depends/native/yasm/Makefile b/tools/depends/native/nasm/Makefile index f75934a028..5746439fa3 100644 --- a/tools/depends/native/yasm/Makefile +++ b/tools/depends/native/nasm/Makefile @@ -1,25 +1,25 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include -APPNAME=yasm -VERSION=1.3.0 +APPNAME=nasm +VERSION=2.15.05 SOURCE=$(APPNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +ARCHIVE=$(SOURCE).tar.xz +SHA512=512f90a2584f1c5811429274b97c64a2cedf37b9fdeffb1bcd0ea64afd9ecc19a2d7877ca8f1e05393aa324153fc9f39ea51dacbf8d25a7d5a2d7728c925dba7 +include ../../download-files.include # configuration settings -CONFIGURE=./configure --prefix=$(PREFIX) --disable-nls --disable-python +CONFIGURE=./configure --prefix=$(PREFIX) APP=$(PLATFORM)/$(APPNAME) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) - -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) @@ -28,7 +28,6 @@ $(APP): $(PLATFORM) .installed-$(PLATFORM): $(APP) $(MAKE) -C $(PLATFORM) install - rm -rf $(PREFIX)/lib/libyasm.a touch $@ clean: diff --git a/tools/depends/native/ninja/Makefile b/tools/depends/native/ninja/Makefile index f0733d40cf..3cf2505588 100644 --- a/tools/depends/native/ninja/Makefile +++ b/tools/depends/native/ninja/Makefile @@ -1,21 +1,21 @@ include ../../Makefile.include PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=ninja -VERSION=1.9.0 +VERSION=1.10.2 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=895412ae1cbc83c656e92f282602a29300e08274e9dea0da4464202ae556e7a1ab03bec057f23da4756bbd91bd2d744cd7a64b336740fd2782bb4db5c3b7b496 +include ../../download-files.include LIBDYLIB=$(PLATFORM)/ninja all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) diff --git a/tools/depends/native/openssl/Makefile b/tools/depends/native/openssl/Makefile new file mode 100644 index 0000000000..880fc7caa0 --- /dev/null +++ b/tools/depends/native/openssl/Makefile @@ -0,0 +1,54 @@ +include ../../Makefile.include +PLATFORM=$(NATIVEPLATFORM) +DEPS = ../../Makefile.include Makefile ../../download-files.include + +# lib name, version +LIBNAME=openssl +VERSION=1.1.1k +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.gz +SHA512=73cd042d4056585e5a9dd7ab68e7c7310a3a4c783eafa07ab0b560e7462b924e4376436a6d38a155c687f6942a881cfc0c1b9394afcde1d8c46bf396e7d51121 +include ../../download-files.include + +# configuration settings +CONFIGURE=MACHINE=$(PLATFORM) ./config no-shared zlib no-asm --prefix=$(NATIVEPREFIX) --with-zlib-include=$(NATIVEPREFIX)/include --with-zlib-lib=$(NATIVEPREFIX)/lib + +ifeq ($(NATIVE_OS), osx) + ifeq ($(BUILD_CPU), x86_64) + CONFIGURE=./Configure darwin64-$(BUILD_CPU)-cc zlib no-asm no-shared --prefix=$(NATIVEPREFIX) + else + CONFIGURE=./Configure darwin64-arm64-cc zlib no-asm no-shared --prefix=$(NATIVEPREFIX) + endif +endif + +CFLAGS=$(NATIVE_CFLAGS) +LDFLAGS=$(NATIVE_LDFLAGS) +CXXFLAGS=$(NATIVE_CXXFLAGS) +CPPFLAGS=$(NATIVE_CPPFLAGS) + +export CFLAGS CPPFLAGS CXXFLAGS LDFLAGS + +LIBDYLIB=$(PLATFORM)/libssl.a + +all: .installed-$(PLATFORM) + + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM); mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); $(CONFIGURE) + +$(LIBDYLIB): $(PLATFORM) + $(MAKE) -C $(PLATFORM) + touch $@ + +.installed-$(PLATFORM): $(LIBDYLIB) + $(MAKE) -C $(PLATFORM) install_sw + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean:: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/native/pcre/Makefile b/tools/depends/native/pcre/Makefile index 843cac58aa..c82ad0e461 100644 --- a/tools/depends/native/pcre/Makefile +++ b/tools/depends/native/pcre/Makefile @@ -1,13 +1,15 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=pcre -VERSION=8.42 +VERSION=8.45 SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +ARCHIVE=$(SOURCE).tar.bz2 +SHA512=91bff52eed4a2dfc3f3bfdc9c672b88e7e2ffcf3c4b121540af8a4ae8c1ce05178430aa6b8000658b9bb7b4252239357250890e20ceb84b79cdfcde05154061a +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) --disable-cpp \ @@ -20,10 +22,8 @@ LIBDYLIB=$(PLATFORM)/.libs/lib$(LIBNAME).so all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/native/perlmodule-parseyapp/Makefile b/tools/depends/native/perlmodule-parseyapp/Makefile new file mode 100644 index 0000000000..7708581804 --- /dev/null +++ b/tools/depends/native/perlmodule-parseyapp/Makefile @@ -0,0 +1,43 @@ +include ../../Makefile.include +PREFIX=$(NATIVEPREFIX) +PLATFORM=$(NATIVEPLATFORM) +DEPS = ../../Makefile.include Makefile ../../download-files.include + +# lib name, version +LIBNAME=Parse-Yapp +VERSION=1.21 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.gz +SHA512=dbf6182d4813ff7e355ea1713c748bfdf8290040a93f123acec645c7a1733fe457ab6e0ab51c4ec83cf82bc43d7fb35cbf89875df7b5c2ffc9635e85458cfeee +include ../../download-files.include + +# configuration settings +CONFIGURE=./configure --prefix=$(PREFIX) + +# clear env vars in case already active on system +export PERL_MB_OPT= +export PERL_MM_OPT= + +LIBDYLIB=$(PLATFORM)/bin/autoconf + +all: .installed-$(PLATFORM) + + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + +$(LIBDYLIB): $(PLATFORM) + cd $(PLATFORM); perl Makefile.PL PREFIX=$(NATIVEPREFIX) + cd $(PLATFORM); $(MAKE) + +.installed-$(PLATFORM): $(LIBDYLIB) + cd $(PLATFORM); $(MAKE) install + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean:: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/native/pkg-config/Makefile b/tools/depends/native/pkg-config/Makefile index e8ec747750..1ceee70aaf 100644 --- a/tools/depends/native/pkg-config/Makefile +++ b/tools/depends/native/pkg-config/Makefile @@ -1,7 +1,7 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version # lib name, version @@ -9,6 +9,8 @@ LIBNAME=pkg-config VERSION=0.29.2 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=4861ec6428fead416f5cbbbb0bbad10b9152967e481d4b0ff2eb396a9f297f552984c9bb72f6864a37dcd8fca1d9ccceda3ef18d8f121938dbe4fdf2b870fe75 +include ../../download-files.include PC_PATH=$(PREFIX)/lib/pkgconfig:$(PREFIX)/share/pkgconfig ifeq ($(CROSS_COMPILING),no) @@ -21,10 +23,8 @@ LIBDYLIB=$(PLATFORM)/pkg-config all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/native/pugixml/Makefile b/tools/depends/native/pugixml/Makefile new file mode 100644 index 0000000000..26b0ff1d99 --- /dev/null +++ b/tools/depends/native/pugixml/Makefile @@ -0,0 +1,43 @@ +include ../../Makefile.include +PREFIX=$(NATIVEPREFIX) +PLATFORM=$(NATIVEPLATFORM) +DEPS =../../Makefile.include Makefile ../../download-files.include + +# lib name, version +LIBNAME=pugixml +VERSION=1.10 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.gz +SHA512=bfc80661005d0a0fb82ca6d5299e5efdd1bb468e11ee52d7ee9367e15776d28efb60266ce03842715cd43aae023afc2b369797bb3cbecd6d6a65c3ae3903e469 +include ../../download-files.include + +LIBDYLIB=$(PLATFORM)/build/libpugixml.a + +CMAKE_OPTIONS := -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_INSTALL_PREFIX=$(NATIVEPREFIX) \ + $(CMAKE_OPTIONS) + +BUILDDIR = $(PLATFORM)/build + +all: .installed-$(PLATFORM) + + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + mkdir -p $(BUILDDIR) + cd $(BUILDDIR); $(NATIVEPREFIX)/bin/cmake $(CMAKE_OPTIONS) .. + +$(LIBDYLIB): $(PLATFORM) + $(MAKE) -C $(BUILDDIR) + +.installed-$(PLATFORM): $(LIBDYLIB) + $(MAKE) -C $(BUILDDIR) install + touch $@ + +clean: + $(MAKE) -C $(BUILDDIR) clean + rm -f .installed-$(PLATFORM) + +distclean: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/native/python3/01-distutil-flags.patch b/tools/depends/native/python3/01-distutil-flags.patch new file mode 100644 index 0000000000..fe83ebe333 --- /dev/null +++ b/tools/depends/native/python3/01-distutil-flags.patch @@ -0,0 +1,12 @@ +--- a/Lib/distutils/sysconfig.py ++++ b/Lib/distutils/sysconfig.py +@@ -190,6 +190,9 @@ + (cc, cxx, cflags, ccshared, ldshared, shlib_suffix, ar, ar_flags) = \ + get_config_vars('CC', 'CXX', 'CFLAGS', + 'CCSHARED', 'LDSHARED', 'SHLIB_SUFFIX', 'AR', 'ARFLAGS') ++ # get_config_vars returns host vars. clear cflags, ldshared for crosscompile use ++ cflags = "" ++ ldshared = cc + " -shared" + + if 'CC' in os.environ: + newcc = os.environ['CC'] diff --git a/tools/depends/native/python3/Makefile b/tools/depends/native/python3/Makefile index 612ec89552..d46ec62e9b 100644 --- a/tools/depends/native/python3/Makefile +++ b/tools/depends/native/python3/Makefile @@ -1,43 +1,35 @@ -include ../../Makefile.include +include ../../Makefile.include PYTHON3-VERSION ../../download-files.include PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile PYTHON3-VERSION ../../download-files.include \ + 01-distutil-flags.patch -# lib name, version -LIBNAME=Python -VERSION=3.7.4 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.xz CWD=$(shell pwd) HOSTPYTHONDIR=$(CWD)/$(PLATFORM)/hostpython -BASE_URL=https://www.python.org/ftp/python/$(VERSION) CONFIGURE=./configure --prefix=$(NATIVEPREFIX) --disable-shared --disable-framework --without-pymalloc --with-system-ffi -ifeq ($(TARGET_PLATFORM),wayland) +ifeq ($(OS),linux) CONFIGURE += --with-system-expat endif LIBDYLIB=$(PLATFORM)/python ifeq ($(NATIVE_OS), osx) + # Case insensitive FS will add .exe to buildexe regardless of --with-suffix=no LIBDYLIB=$(PLATFORM)/python.exe endif all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) - cd $(PLATFORM); $(MAKE) regen-grammar cd $(PLATFORM); $(MAKE) .installed-$(PLATFORM): $(LIBDYLIB) + cd $(PLATFORM); patch -p1 -i ../01-distutil-flags.patch cd $(PLATFORM); $(MAKE) install - install $(PLATFORM)/Parser/pgen $(NATIVEPREFIX)/bin touch $(LIBDYLIB) touch $@ diff --git a/tools/depends/native/python3/PYTHON3-VERSION b/tools/depends/native/python3/PYTHON3-VERSION new file mode 100644 index 0000000000..5ebe12a1ab --- /dev/null +++ b/tools/depends/native/python3/PYTHON3-VERSION @@ -0,0 +1,5 @@ +LIBNAME=Python +VERSION=3.9.14 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.xz +SHA512=691a7814cf6c7bee96d8dbb7c5c85cb11f2e999101e20491b99435cdec07c3bbd5ce43ad3d9c64f695383b79197884caa1965c4346e4525e23b09c686271e4ab diff --git a/tools/depends/native/setuptools/Makefile b/tools/depends/native/setuptools/Makefile index 376a72e54a..7abfd1c33e 100644 --- a/tools/depends/native/setuptools/Makefile +++ b/tools/depends/native/setuptools/Makefile @@ -1,20 +1,20 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=setuptools -VERSION=41.0.1 +VERSION=53.0.0 ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=d045198210f09c5f2acbd487d3dd291cd7ce814bebe331f1876c133cd28f56d368717c7bd4a875b439c9cc8c9488dc9a7d3e27ab791cce419f78b87fcfd8fff6 +include ../../download-files.include all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) cd $(TARBALLS_LOCATION); chmod +x $(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(PREFIX)/bin/python3 bootstrap.py diff --git a/tools/depends/native/swig/Makefile b/tools/depends/native/swig/Makefile index 991d4b19e5..edae65ef3a 100644 --- a/tools/depends/native/swig/Makefile +++ b/tools/depends/native/swig/Makefile @@ -2,13 +2,15 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=swig -VERSION=4.0.0 +VERSION=4.0.2 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=05e7da70ce6d9a733b96c0bcfa3c1b82765bd859f48c74759bbf4bb1467acb1809caa310cba5e2b3280cd704fca249eaa0624821dffae1d2a75097c7f55d14ed +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) --without-alllang --without-x --disable-ccache @@ -17,10 +19,8 @@ LIBDYLIB=$(PLATFORM)/swig all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/native/tar/Makefile b/tools/depends/native/tar/Makefile index 8ba0fc615b..2283577b75 100644 --- a/tools/depends/native/tar/Makefile +++ b/tools/depends/native/tar/Makefile @@ -1,24 +1,20 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # app name, version APPNAME=tar -VERSION=1.32 +VERSION=1.34 SOURCE=$(APPNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +ARCHIVE=$(SOURCE).tar.xz +SHA512=5e77c4a7b49983ad7d15238c2bce28be7a8aa437b4b1815fc00abd13096da308b6bba196cc6e3ed79d85e62823d520ae0d8fcda2d93873842cf84dc3369fc902 +include ../../download-files.include -ifeq ($(NATIVE_OS),osx) -# https://openradar.appspot.com/radar?id=6160634819379200 -PLATFORM_CONFIGURE=gl_cv_func_getcwd_abort_bug=no ac_cv_func_futimens=no ac_cv_func_utimensat=no -endif - -export LIBTOOL=builds/unix/libtool export PATH:=$(PREFIX)/bin:$(PATH) CONFIGURE=./configure --prefix=$(PREFIX) \ --program-transform-name=s/tar/gtar/ \ - --disable-dependency-tracking ac_cv_func_fdopendir=no \ + --disable-dependency-tracking \ $(PLATFORM_CONFIGURE) APP=$(PLATFORM)/src/tar @@ -26,10 +22,8 @@ APPBIN=$(PREFIX)/bin/tar all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(AUTORECONF) diff --git a/tools/depends/native/wayland-scanner/Makefile b/tools/depends/native/wayland-scanner/Makefile index c4d96e2dd3..eb3581b976 100644 --- a/tools/depends/native/wayland-scanner/Makefile +++ b/tools/depends/native/wayland-scanner/Makefile @@ -1,13 +1,15 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS=../../Makefile.include Makefile +DEPS =../../Makefile.include Makefile ../../download-files.include APPNAME=wayland-scanner PROJECTNAME=wayland -VERSION=1.13.0 +VERSION=1.17.0 SOURCE=$(PROJECTNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.xz +SHA512=c5051aab5ff078b368c196ecfedb33ccd961265bb914845d7ed81de361bb86ae18299575baa6c4eceb0d82cf8b495e8293f31b51d1cbc05d84af0a199ab3f946 +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) --disable-libraries --disable-documentation --disable-dtd-validation @@ -16,10 +18,8 @@ APP=$(PLATFORM)/wayland-scanner all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/native/waylandpp-scanner/Makefile b/tools/depends/native/waylandpp-scanner/Makefile index 4851815c2d..bf36073d6d 100644 --- a/tools/depends/native/waylandpp-scanner/Makefile +++ b/tools/depends/native/waylandpp-scanner/Makefile @@ -1,33 +1,36 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS=../../Makefile.include Makefile +DEPS =../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=waylandpp -VERSION=0.2.2 +VERSION=0.2.8 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=bf1b8a9e69b87547fc65989b9eaff88a442d8b2f01f5446cef960000b093390b1e557536837fbf38bb6d9a4f93e3985ea34c3253f94925b0f571b4606c980832 +include ../../download-files.include APP=$(PLATFORM)/wayland-scanner++ -# Only this package uses CMake for build on native at the moment, -# so there is no separate toolchain file. Still we have to unset -# the CMAKE_TOOLCHAIN_FILE, which is part of $(CMAKE) and set to -# the target toolchain file. -CMAKE_OPTIONS := -DCMAKE_TOOLCHAIN_FILE= -DBUILD_DOCUMENTATION=OFF -DBUILD_LIBRARIES=OFF -DBUILD_EXAMPLES=OFF -DBUILD_SCANNER=ON -DCMAKE_C_COMPILER="$(CC_BINARY_FOR_BUILD)" -DCMAKE_CXX_COMPILER="$(CXX_BINARY_FOR_BUILD)" -DCMAKE_C_FLAGS="$(NATIVE_CFLAGS)" -DCMAKE_CXX_FLAGS="$(NATIVE_CXXFLAGS)" -DCMAKE_EXE_LINKER_FLAGS="$(NATIVE_LDFLAGS)" -DCMAKE_INSTALL_LIBDIR=lib $(CMAKE_OPTIONS) +CMAKE_OPTIONS := -DBUILD_DOCUMENTATION=OFF \ + -DBUILD_LIBRARIES=OFF \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_SCANNER=ON \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_INSTALL_PREFIX=$(NATIVEPREFIX) \ + $(CMAKE_OPTIONS) + BUILDDIR = $(PLATFORM)/build all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) mkdir -p $(BUILDDIR) - cd $(BUILDDIR); $(CMAKE) $(CMAKE_OPTIONS) .. + cd $(BUILDDIR); $(NATIVEPREFIX)/bin/cmake $(CMAKE_OPTIONS) .. $(APP): $(PLATFORM) $(MAKE) -C $(BUILDDIR) diff --git a/tools/depends/native/xz/Makefile b/tools/depends/native/xz/Makefile index 8d4cf2b6d2..e136ee3eaa 100644 --- a/tools/depends/native/xz/Makefile +++ b/tools/depends/native/xz/Makefile @@ -1,13 +1,7 @@ -include ../../Makefile.include +include ../../Makefile.include XZ-VERSION ../../download-files.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile - -# app name, version -APPNAME=xz -VERSION=5.2.4 -SOURCE=$(APPNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.bz2 +DEPS = ../../Makefile.include Makefile XZ-VERSION ../../download-files.include export LIBTOOL=builds/unix/libtool export PATH:=$(PREFIX)/bin:$(PATH) @@ -17,10 +11,7 @@ APP=$(PLATFORM)/src/xz/xz all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/native/xz/XZ-VERSION b/tools/depends/native/xz/XZ-VERSION new file mode 100644 index 0000000000..288df10b58 --- /dev/null +++ b/tools/depends/native/xz/XZ-VERSION @@ -0,0 +1,4 @@ +LIBNAME=xz +VERSION=5.2.6 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz +SHA512=5c69a492227c0ff72836d7a87e6372dc2e62bedfffb33f057263e28a6341825cef67834a863ed6ac02c5368c86da89f8affbe767f8bb914064cfa478f653e935 diff --git a/tools/depends/native/zlib/Makefile b/tools/depends/native/zlib/Makefile index af84c6528b..86404b5ebb 100644 --- a/tools/depends/native/zlib/Makefile +++ b/tools/depends/native/zlib/Makefile @@ -1,24 +1,24 @@ include ../../Makefile.include PREFIX=$(NATIVEPREFIX) PLATFORM=$(NATIVEPLATFORM) -DEPS= ../../Makefile.include Makefile visibility.patch +DEPS = ../../Makefile.include Makefile visibility.patch ../../download-files.include # lib name, version LIBNAME=zlib VERSION=1.2.11 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=73fd3fff4adeccd4894084c15ddac89890cd10ef105dd5e1835e1e9bbb6a49ff229713bd197d203edfa17c2727700fce65a2a235f07568212d820dca88b528ae +include ../../download-files.include # configuration settings -CONFIGURE= CC="$(CC_FOR_BUILD)" CFLAGS="$(BUILD_CFLAGS)" ./configure --prefix=$(PREFIX) +CONFIGURE= CC="$(CC_FOR_BUILD)" CFLAGS="$(NATIVE_CFLAGS)" ./configure --prefix=$(PREFIX) LIBDYLIB=$(PLATFORM)/$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../visibility.patch diff --git a/tools/depends/pre-depends/autoconf-pre-depends/Makefile b/tools/depends/pre-depends/autoconf-pre-depends/Makefile index 69bb8e107a..23feab1358 100644 --- a/tools/depends/pre-depends/autoconf-pre-depends/Makefile +++ b/tools/depends/pre-depends/autoconf-pre-depends/Makefile @@ -6,9 +6,9 @@ RETRIEVE_TOOL=curl ARCHIVE_TOOL=tar # lib name, version LIBNAME=autoconf -VERSION=2.68 +VERSION=2.71 SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +ARCHIVE=$(SOURCE).tar.xz export PATH:=$(CURDIR)/../../pre-build-deps/bin:$(PATH) diff --git a/tools/depends/pre-depends/m4-pre-depends/Makefile b/tools/depends/pre-depends/m4-pre-depends/Makefile index a57a5f4938..fa60e3755a 100644 --- a/tools/depends/pre-depends/m4-pre-depends/Makefile +++ b/tools/depends/pre-depends/m4-pre-depends/Makefile @@ -1,5 +1,5 @@ include ../../Makefile.include.in -DEPS=Makefile osx_snprintf.patch +DEPS=Makefile PREFIX=$(CURDIR)/../../pre-build-deps PLATFORM=native TARBALLS_LOCATION=$(PREFIX) @@ -7,9 +7,9 @@ RETRIEVE_TOOL=curl ARCHIVE_TOOL=tar # lib name, version LIBNAME=m4 -VERSION=1.4.18 +VERSION=1.4.19 SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +ARCHIVE=$(SOURCE).tar.xz # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) @@ -25,7 +25,6 @@ $(TARBALLS_LOCATION)/$(ARCHIVE): $(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) -rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); patch -p1 -i ../osx_snprintf.patch cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) diff --git a/tools/depends/pre-depends/m4-pre-depends/osx_snprintf.patch b/tools/depends/pre-depends/m4-pre-depends/osx_snprintf.patch deleted file mode 100644 index af1c470ca6..0000000000 --- a/tools/depends/pre-depends/m4-pre-depends/osx_snprintf.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/lib/vasnprintf.c -+++ b/lib/vasnprintf.c -@@ -4858,7 +4858,7 @@ - #endif - *fbp = dp->conversion; - #if USE_SNPRINTF --# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) -+# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || (defined __APPLE__ && defined __MACH__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) - fbp[1] = '%'; - fbp[2] = 'n'; - fbp[3] = '\0'; diff --git a/tools/depends/target/Makefile b/tools/depends/target/Makefile index 8b513ed100..243479fdf9 100644 --- a/tools/depends/target/Makefile +++ b/tools/depends/target/Makefile @@ -4,21 +4,51 @@ ifneq ($(shell test -f $(PREFIX)/share/config.site && echo 1),1) $(error Error: $(PREFIX)/share/config.site is missing. Please reconfigure depends to generate it) endif +# Keep in alphabetical order DEPENDS = \ - pcre expat gettext sqlite3 libgpg-error \ - libgcrypt bzip2 libfstrcmp liblzo2 libzip freetype2 fontconfig \ - openssl gmp nettle gnutls curl nghttp2 \ - libjpeg-turbo libpng fribidi libass \ - libxml2 rapidjson libmicrohttpd mariadb libffi \ - python3 libshairplay libfmt \ - libplist libcec libbluray tinyxml \ - taglib libusb libnfs \ - pythonmodule-pil pythonmodule-pycryptodome pythonmodule-setuptools \ - libxslt ffmpeg crossguid \ - libdvdread libdvdnav libdvdcss p8-platform flatbuffers - - -FFMPEG_DEPENDS = gnutls + bzip2 \ + curl \ + dav1d \ + expat \ + ffmpeg \ + fontconfig \ + freetype2 \ + freetype2-noharfbuzz \ + fribidi \ + fstrcmp \ + gettext \ + gmp \ + gnutls \ + gtest \ + harfbuzz \ + libass \ + libbluray \ + libcec \ + libffi \ + libgcrypt \ + libgpg-error \ + libjpeg-turbo \ + liblzo2 \ + libmicrohttpd \ + libplist \ + libpng \ + libshairplay \ + libusb \ + libxml2 \ + libxslt \ + mariadb \ + nettle \ + nghttp2 \ + openssl \ + p8-platform \ + python3 \ + pythonmodule-pil \ + pythonmodule-pycryptodome \ + pythonmodule-setuptools \ + sqlite3 \ + tinyxml \ + udfread \ + xz ifeq ($(ENABLE_GPLV3),yes) DEPENDS+=samba-gplv3 libcdio-gplv3 @@ -27,22 +57,26 @@ else endif ifeq ($(OS),darwin_embedded) - EXCLUDED_DEPENDS = libcec libusb + EXCLUDED_DEPENDS = libcec libusb gtest ifeq ($(TARGET_PLATFORM),appletvos) DEPENDS += boblight EXCLUDED_DEPENDS += libshairplay libplist endif - DEPENDS += iosentitlements + DEPENDS += darwin-embedded-entitlements endif ifeq ($(OS),osx) - DEPENDS += libsdl EXCLUDED_DEPENDS = libusb + ifneq ($(CPU),arm64) + ifeq ($(WINDOW_SYSTEM),sdl) + DEPENDS += libsdl + endif + endif endif ifeq ($(OS),android) - EXCLUDED_DEPENDS = libcec libusb - DEPENDS += dummy-libxbmc libuuid libandroidjni + EXCLUDED_DEPENDS = libcec libusb gtest + DEPENDS += dummy-libxbmc libuuid PYMODULE_DEPS = dummy-libxbmc LIBUUID = libuuid endif @@ -61,64 +95,74 @@ ifeq ($(NEED_LIBICONV),1) ICONV = libiconv endif -WAYLANDPP_DEPS= ALSA_LIB= ifeq ($(OS),linux) - DEPENDS += dbus libuuid - #not for raspberry pi - ifneq ($(TARGET_PLATFORM),raspberry-pi) - DEPENDS += linux-system-libs - WAYLANDPP_DEPS += linux-system-libs - endif - DEPENDS += alsa-lib + DEPENDS += dbus libuuid alsa-lib libdrm libxkbcommon libinput libudev libevdev mtdev wayland waylandpp wayland-protocols linux-system-x11-libs ALSA_LIB = alsa-lib LIBUUID = libuuid - ifeq ($(TARGET_PLATFORM),$(filter $(TARGET_PLATFORM),raspberry-pi gbm)) - DEPENDS += libxkbcommon libinput libudev libevdev mtdev + + ifeq ($(RENDER_SYSTEM),gl) + WAYLANDPP_DEPS += linux-system-gl-libs + DEPENDS += linux-system-gl-libs + else + WAYLANDPP_DEPS += mesa + DEPENDS += mesa endif -endif -ifeq ($(TARGET_PLATFORM),wayland) - DEPENDS += wayland waylandpp wayland-protocols + MESA_DEPS += wayland-protocols wayland linux-system-x11-libs + + ifeq ($(CPU),x86_64) + LIBVA_DEPS += wayland linux-system-x11-libs + + DEPENDS += libva + LIBVA = libva + endif endif .PHONY: $(DEPENDS) all: .installed-$(PLATFORM) +crossguid: $(LIBUUID) +curl: openssl nghttp2 +dav1d: meson-cross-file +dbus: expat +ffmpeg: $(ICONV) $(ZLIB) bzip2 gnutls dav1d $(LIBVA) +fontconfig: freetype2 expat $(ICONV) $(LIBUUID) meson-cross-file +freetype2: bzip2 harfbuzz $(ZLIB) +fribidi: meson-cross-file gettext: $(ICONV) +gnutls: nettle $(ZLIB) +harfbuzz: meson-cross-file freetype2-noharfbuzz $(ICONV) +libass: fontconfig fribidi harfbuzz libpng freetype2 expat $(ICONV) +libbluray: fontconfig freetype2 $(ICONV) udfread libxml2 +libcdio-gplv3: $(ICONV) +libcdio: $(ICONV) +libcec: p8-platform +libdrm: meson-cross-file +libevdev: libudev libgcrypt: libgpg-error -fontconfig: freetype2 expat $(ICONV) $(LIBUUID) -curl: openssl nghttp2 -libass: fontconfig fribidi libpng freetype2 expat $(ICONV) +libinput: mtdev libevdev meson-cross-file libmicrohttpd: gnutls libgcrypt libgpg-error -python3: expat gettext libxml2 sqlite3 openssl libffi -libcdio: $(ICONV) -libcdio-gplv3: $(ICONV) libplist: $(ZLIB) -libbluray: fontconfig freetype2 $(ICONV) libxml2 -mariadb: openssl $(ICONV) $(ZLIB) -libzip: $(ZLIB) libpng: $(ZLIB) -openssl: $(ZLIB) -gnutls: nettle $(ZLIB) +libva: libdrm $(LIBVA_DEPS) +libxml2: $(ZLIB) +libxslt: libgcrypt libxml2 +libzip: bzip2 gnutls $(ZLIB) +mariadb: openssl $(ICONV) $(ZLIB) +mesa: libdrm meson-cross-file $(MESA_DEPS) nettle: gmp -pythonmodule-pycryptodome: $(PYMODULE_DEPS) python3 pythonmodule-setuptools +openssl: $(ZLIB) +python3: expat gettext libxml2 sqlite3 openssl libffi bzip2 xz pythonmodule-pil: bzip2 $(PYMODULE_DEPS) $(ZLIB) libjpeg-turbo libpng freetype2 python3 pythonmodule-setuptools +pythonmodule-pycryptodome: $(PYMODULE_DEPS) python3 pythonmodule-setuptools pythonmodule-setuptools: $(PYMODULE_DEPS) python3 -libxslt: libgcrypt libxml2 -ffmpeg: $(ICONV) $(ZLIB) bzip2 $(FFMPEG_DEPENDS) -libcec: p8-platform -crossguid: $(LIBUUID) -libdvdnav: libdvdread -libdvdread: libdvdcss +samba-gplv3: gnutls $(ZLIB) +taglib: $(ZLIB) wayland: expat libffi waylandpp: wayland $(WAYLANDPP_DEPS) -dbus: expat -libinput: mtdev libevdev -libevdev: libudev -samba-gplv3: gnutls -taglib: $(ZLIB) +xz: gettext .installed-$(PLATFORM): $(DEPENDS) touch $@ @@ -143,44 +187,66 @@ test-dependencies: distclean:: for d in $(DEPENDS); do $(MAKE) -C $$d distclean; done -linux-system-libs-egl: - [ -f $(PREFIX)/lib/pkgconfig/egl.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/egl.pc $(PREFIX)/lib/pkgconfig/egl.pc - [ -f $(PREFIX)/lib/pkgconfig/wayland-egl.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/wayland-egl.pc $(PREFIX)/lib/pkgconfig/wayland-egl.pc +HOST_LIB_PKGCONFIG := $(firstword $(wildcard /usr/lib64/pkgconfig /usr/lib/$(HOST)/pkgconfig)) + +linux-system-x11-libs: + mkdir -p $(PREFIX)/lib/pkgconfig [ -f $(PREFIX)/lib/pkgconfig/damageproto.pc ] || ln -sf /usr/share/pkgconfig/damageproto.pc $(PREFIX)/lib/pkgconfig/damageproto.pc [ -f $(PREFIX)/lib/pkgconfig/fixesproto.pc ] || ln -sf /usr/share/pkgconfig/fixesproto.pc $(PREFIX)/lib/pkgconfig/fixesproto.pc - [ -f $(PREFIX)/lib/pkgconfig/x11-xcb.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/x11-xcb.pc $(PREFIX)/lib/pkgconfig/x11-xcb.pc - [ -f $(PREFIX)/lib/pkgconfig/xcb-dri2.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-dri2.pc $(PREFIX)/lib/pkgconfig/xcb-dri2.pc - [ -f $(PREFIX)/lib/pkgconfig/xcb-dri3.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-dri3.pc $(PREFIX)/lib/pkgconfig/xcb-dri3.pc - [ -f $(PREFIX)/lib/pkgconfig/xcb-glx.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-glx.pc $(PREFIX)/lib/pkgconfig/xcb-glx.pc - [ -f $(PREFIX)/lib/pkgconfig/xcb-xfixes.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-xfixes.pc $(PREFIX)/lib/pkgconfig/xcb-xfixes.pc - [ -f $(PREFIX)/lib/pkgconfig/xcb-present.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-present.pc $(PREFIX)/lib/pkgconfig/xcb-present.pc - [ -f $(PREFIX)/lib/pkgconfig/xcb-randr.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-randr.pc $(PREFIX)/lib/pkgconfig/xcb-randr.pc - [ -f $(PREFIX)/lib/pkgconfig/xcb-render.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-render.pc $(PREFIX)/lib/pkgconfig/xcb-render.pc - [ -f $(PREFIX)/lib/pkgconfig/xcb-shape.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-shape.pc $(PREFIX)/lib/pkgconfig/xcb-shape.pc - [ -f $(PREFIX)/lib/pkgconfig/xcb-sync.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-sync.pc $(PREFIX)/lib/pkgconfig/xcb-sync.pc - [ -f $(PREFIX)/lib/pkgconfig/xdamage.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xdamage.pc $(PREFIX)/lib/pkgconfig/xdamage.pc + [ -f $(PREFIX)/lib/pkgconfig/x11-xcb.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/x11-xcb.pc $(PREFIX)/lib/pkgconfig/x11-xcb.pc + [ -f $(PREFIX)/lib/pkgconfig/xcb-dri2.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-dri2.pc $(PREFIX)/lib/pkgconfig/xcb-dri2.pc + [ -f $(PREFIX)/lib/pkgconfig/xcb-dri3.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-dri3.pc $(PREFIX)/lib/pkgconfig/xcb-dri3.pc + [ -f $(PREFIX)/lib/pkgconfig/xcb-glx.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-glx.pc $(PREFIX)/lib/pkgconfig/xcb-glx.pc + [ -f $(PREFIX)/lib/pkgconfig/xcb-xfixes.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-xfixes.pc $(PREFIX)/lib/pkgconfig/xcb-xfixes.pc + [ -f $(PREFIX)/lib/pkgconfig/xcb-present.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-present.pc $(PREFIX)/lib/pkgconfig/xcb-present.pc + [ -f $(PREFIX)/lib/pkgconfig/xcb-randr.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-randr.pc $(PREFIX)/lib/pkgconfig/xcb-randr.pc + [ -f $(PREFIX)/lib/pkgconfig/xcb-render.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-render.pc $(PREFIX)/lib/pkgconfig/xcb-render.pc + [ -f $(PREFIX)/lib/pkgconfig/xcb-shape.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-shape.pc $(PREFIX)/lib/pkgconfig/xcb-shape.pc + [ -f $(PREFIX)/lib/pkgconfig/xcb-sync.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb-sync.pc $(PREFIX)/lib/pkgconfig/xcb-sync.pc + [ -f $(PREFIX)/lib/pkgconfig/xdamage.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xdamage.pc $(PREFIX)/lib/pkgconfig/xdamage.pc [ -f $(PREFIX)/lib/pkgconfig/xf86vidmodeproto.pc ] || ln -sf /usr/share/pkgconfig/xf86vidmodeproto.pc $(PREFIX)/lib/pkgconfig/xf86vidmodeproto.pc - [ -f $(PREFIX)/lib/pkgconfig/xfixes.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xfixes.pc $(PREFIX)/lib/pkgconfig/xfixes.pc - [ -f $(PREFIX)/lib/pkgconfig/xshmfence.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xshmfence.pc $(PREFIX)/lib/pkgconfig/xshmfence.pc - [ -f $(PREFIX)/lib/pkgconfig/xxf86vm.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xxf86vm.pc $(PREFIX)/lib/pkgconfig/xxf86vm.pc - -linux-system-libs: linux-system-libs-egl - [ -f $(PREFIX)/lib/pkgconfig/x11.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/x11.pc $(PREFIX)/lib/pkgconfig/x11.pc + [ -f $(PREFIX)/lib/pkgconfig/xfixes.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xfixes.pc $(PREFIX)/lib/pkgconfig/xfixes.pc + [ -f $(PREFIX)/lib/pkgconfig/xshmfence.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xshmfence.pc $(PREFIX)/lib/pkgconfig/xshmfence.pc + [ -f $(PREFIX)/lib/pkgconfig/xxf86vm.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xxf86vm.pc $(PREFIX)/lib/pkgconfig/xxf86vm.pc + [ -f $(PREFIX)/lib/pkgconfig/x11.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/x11.pc $(PREFIX)/lib/pkgconfig/x11.pc [ -f $(PREFIX)/lib/pkgconfig/xproto.pc ] || ln -sf /usr/share/pkgconfig/xproto.pc $(PREFIX)/lib/pkgconfig/xproto.pc [ -f $(PREFIX)/lib/pkgconfig/kbproto.pc ] || ln -sf /usr/share/pkgconfig/kbproto.pc $(PREFIX)/lib/pkgconfig/kbproto.pc - [ -f $(PREFIX)/lib/pkgconfig/xcb.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb.pc $(PREFIX)/lib/pkgconfig/xcb.pc - [ -f $(PREFIX)/lib/pkgconfig/pthread-stubs.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/pthread-stubs.pc $(PREFIX)/lib/pkgconfig/pthread-stubs.pc - [ -f $(PREFIX)/lib/pkgconfig/xau.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xau.pc $(PREFIX)/lib/pkgconfig/xau.pc - [ -f $(PREFIX)/lib/pkgconfig/xdmcp.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xdmcp.pc $(PREFIX)/lib/pkgconfig/xdmcp.pc - [ -f $(PREFIX)/lib/pkgconfig/xext.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xext.pc $(PREFIX)/lib/pkgconfig/xext.pc + [ -f $(PREFIX)/lib/pkgconfig/xcb.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xcb.pc $(PREFIX)/lib/pkgconfig/xcb.pc + [ -f $(PREFIX)/lib/pkgconfig/pthread-stubs.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/pthread-stubs.pc $(PREFIX)/lib/pkgconfig/pthread-stubs.pc + [ -f $(PREFIX)/lib/pkgconfig/xau.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xau.pc $(PREFIX)/lib/pkgconfig/xau.pc + [ -f $(PREFIX)/lib/pkgconfig/xdmcp.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xdmcp.pc $(PREFIX)/lib/pkgconfig/xdmcp.pc + [ -f $(PREFIX)/lib/pkgconfig/xext.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xext.pc $(PREFIX)/lib/pkgconfig/xext.pc [ -f $(PREFIX)/lib/pkgconfig/xextproto.pc ] || ln -sf /usr/share/pkgconfig/xextproto.pc $(PREFIX)/lib/pkgconfig/xextproto.pc - [ -f $(PREFIX)/lib/pkgconfig/xrandr.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xrandr.pc $(PREFIX)/lib/pkgconfig/xrandr.pc - [ -f $(PREFIX)/lib/pkgconfig/xrender.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xrender.pc $(PREFIX)/lib/pkgconfig/xrender.pc + [ -f $(PREFIX)/lib/pkgconfig/xrandr.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xrandr.pc $(PREFIX)/lib/pkgconfig/xrandr.pc + [ -f $(PREFIX)/lib/pkgconfig/xrender.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xrender.pc $(PREFIX)/lib/pkgconfig/xrender.pc [ -f $(PREFIX)/lib/pkgconfig/randrproto.pc ] || ln -sf /usr/share/pkgconfig/randrproto.pc $(PREFIX)/lib/pkgconfig/randrproto.pc [ -f $(PREFIX)/lib/pkgconfig/renderproto.pc ] || ln -sf /usr/share/pkgconfig/renderproto.pc $(PREFIX)/lib/pkgconfig/renderproto.pc - [ -f $(PREFIX)/lib/pkgconfig/xt.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xt.pc $(PREFIX)/lib/pkgconfig/xt.pc - [ -f $(PREFIX)/lib/pkgconfig/ice.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/ice.pc $(PREFIX)/lib/pkgconfig/ice.pc - [ -f $(PREFIX)/lib/pkgconfig/sm.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/sm.pc $(PREFIX)/lib/pkgconfig/sm.pc - [ -f $(PREFIX)/lib/pkgconfig/xmu.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xmu.pc $(PREFIX)/lib/pkgconfig/xmu.pc - [ -f $(PREFIX)/lib/pkgconfig/libdrm.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/libdrm.pc $(PREFIX)/lib/pkgconfig/libdrm.pc - [ -f $(PREFIX)/lib/pkgconfig/xkbcommon.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xkbcommon.pc $(PREFIX)/lib/pkgconfig/xkbcommon.pc + [ -f $(PREFIX)/lib/pkgconfig/xt.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xt.pc $(PREFIX)/lib/pkgconfig/xt.pc + [ -f $(PREFIX)/lib/pkgconfig/ice.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/ice.pc $(PREFIX)/lib/pkgconfig/ice.pc + [ -f $(PREFIX)/lib/pkgconfig/sm.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/sm.pc $(PREFIX)/lib/pkgconfig/sm.pc + [ -f $(PREFIX)/lib/pkgconfig/xmu.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/xmu.pc $(PREFIX)/lib/pkgconfig/xmu.pc + +linux-system-gl-libs: + mkdir -p $(PREFIX)/lib/pkgconfig + [ -f $(PREFIX)/lib/pkgconfig/egl.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/egl.pc $(PREFIX)/lib/pkgconfig/egl.pc + [ -f $(PREFIX)/lib/pkgconfig/wayland-egl.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/wayland-egl.pc $(PREFIX)/lib/pkgconfig/wayland-egl.pc + [ -f $(PREFIX)/lib/pkgconfig/gl.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/gl.pc $(PREFIX)/lib/pkgconfig/gl.pc + [ -f $(PREFIX)/lib/pkgconfig/glu.pc ] || ln -sf $(HOST_LIB_PKGCONFIG)/glu.pc $(PREFIX)/lib/pkgconfig/glu.pc + +$(PREFIX)/share/cross-file.meson: + PREFIX="$(PREFIX)" \ + NATIVEPREFIX="$(NATIVEPREFIX)" \ + CC="$(CC)" \ + CXX="$(CXX)" \ + AR="$(AR)" \ + STRIP="$(STRIP)" \ + MESON_SYSTEM="$(MESON_SYSTEM)" \ + MESON_CPU="$(MESON_CPU)" \ + CPU="$(CPU)" \ + CFLAGS="$(CFLAGS)" \ + CXXFLAGS="$(CXXFLAGS)" \ + LDFLAGS="$(LDFLAGS)" \ + ./meson-cross-setup.sh $@ + +.PHONY: meson-cross-file +meson-cross-file: $(PREFIX)/share/cross-file.meson diff --git a/tools/depends/target/Toolchain.cmake.in b/tools/depends/target/Toolchain.cmake.in index df2338075b..edc914e423 100644 --- a/tools/depends/target/Toolchain.cmake.in +++ b/tools/depends/target/Toolchain.cmake.in @@ -1,7 +1,10 @@ set(DEPENDS_PATH "@prefix@/@deps_dir@") set(NATIVEPREFIX "@prefix@/@tool_dir@") +set(TARBALL_DIR "@use_tarballs@") + set(OS "@platform_os@") +set(CMAKE_SYSTEM_PROCESSOR @host_cpu@) set(CPU "@use_cpu@") set(PLATFORM "@target_platform@") @@ -9,23 +12,8 @@ set(PLATFORM "@target_platform@") if(OS STREQUAL linux) set(CMAKE_SYSTEM_NAME Linux) set(CORE_SYSTEM_NAME linux) - if(PLATFORM STREQUAL raspberry-pi) - set(CORE_PLATFORM_NAME rbpi) - # wrapping libdvd fails with gold on rbpi - # todo: revisit after toolchain bump - set(ENABLE_LDGOLD OFF CACHE BOOL "Disabling Gnu Gold Linker" FORCE) - elseif(NOT "@target_platform@" STREQUAL "") - set(CORE_PLATFORM_NAME @target_platform@) - endif() - if(NOT "@app_rendersystem@" STREQUAL "") - set(X11_RENDER_SYSTEM @app_rendersystem@ CACHE STRING "Render system to use with X11: \"gl\" or \"gles\"") - set(WAYLAND_RENDER_SYSTEM @app_rendersystem@ CACHE STRING "Render system to use with Wayland: \"gl\" or \"gles\"") - set(GBM_RENDER_SYSTEM @app_rendersystem@ CACHE STRING "Render system to use with GBM: \"gl\" or \"gles\"") - else() - set(X11_RENDER_SYSTEM gl CACHE STRING "Render system to use with X11: \"gl\" or \"gles\"") - set(WAYLAND_RENDER_SYSTEM gl CACHE STRING "Render system to use with Wayland: \"gl\" or \"gles\"") - set(GBM_RENDER_SYSTEM gles CACHE STRING "Render system to use with GBM: \"gl\" or \"gles\"") - endif() + set(CORE_PLATFORM_NAME @target_platform@) + set(APP_RENDER_SYSTEM @app_rendersystem@ CACHE STRING "Render system to use: \"gl\" or \"gles\"") elseif(OS STREQUAL android) set(CMAKE_SYSTEM_NAME Android) set(CORE_SYSTEM_NAME android) @@ -50,18 +38,16 @@ if(CORE_SYSTEM_NAME STREQUAL darwin_embedded) set(CMAKE_MACOSX_BUNDLE YES) set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO") # Need to set this attribute to "" in order to - # complety disable code signing + # completely disable code signing # see: https://gitlab.kitware.com/cmake/cmake/issues/19112 set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "") + set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO") if(CORE_PLATFORM_NAME STREQUAL tvos) - set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "YES") set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "3") set(CMAKE_XCODE_ATTRIBUTE_TVOS_DEPLOYMENT_TARGET 11.0) else() - # set this to YES once we have a deployment target of at least iOS 6.0 - set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO") set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2") - set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET 9.0) + set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET 11.0) endif() endif() endif() @@ -76,16 +62,16 @@ set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_C_COMPILER @CC@) set(CMAKE_CXX_COMPILER @CXX@) set(CMAKE_AR @AR@ CACHE FILEPATH "Archiver") +SET(CMAKE_AS @AS@ CACHE FILEPATH "Assembler") set(CMAKE_LINKER @LD@ CACHE FILEPATH "Linker") set(CMAKE_NM @NM@ CACHE FILEPATH "Nm") set(CMAKE_STRIP @STRIP@ CACHE PATH "strip binary" FORCE) set(CMAKE_OBJDUMP @OBJDUMP@ CACHE FILEPATH "Objdump") set(CMAKE_RANLIB @RANLIB@ CACHE FILEPATH "Ranlib") -if(PROJECT_SOURCE_DIR MATCHES "tools/depends") - if(@use_ccache@ STREQUAL "yes") - set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "@CCACHE@") - endif() +if(NOT "@use_ccache@" STREQUAL "") + set(CMAKE_CXX_COMPILER_LAUNCHER @CCACHE@) + set(CMAKE_C_COMPILER_LAUNCHER @CCACHE@) endif() # where is the target environment @@ -99,13 +85,6 @@ if(NOT "@use_sdk_path@" STREQUAL "") list(APPEND CMAKE_FIND_ROOT_PATH @use_sdk_path@ @use_sdk_path@/usr) endif() -# add RBPI's firmware directories -if(CORE_PLATFORM_NAME STREQUAL rbpi) - list(APPEND CMAKE_FIND_ROOT_PATH @use_firmware@/opt/vc) - list(APPEND CMAKE_LIBRARY_PATH @use_firmware@/opt/vc/lib) - list(APPEND CMAKE_INCLUDE_PATH @use_firmware@/opt/vc/include) -endif() - # add Android directories and tools if(CORE_SYSTEM_NAME STREQUAL android) set(NDKROOT @use_ndk_path@) @@ -141,5 +120,92 @@ if(NOT CORE_SYSTEM_NAME STREQUAL linux) set(ADDONS_PREFER_STATIC_LIBS ON) endif() +# common usage in autoconf to refer to host arch tool use +set(CC_FOR_BUILD "@CC_FOR_BUILD@") +set(CXX_FOR_BUILD "@CXX_FOR_BUILD@") +set(LD_FOR_BUILD "@LD_FOR_BUILD@") +set(CC_BINARY_FOR_BUILD "@CC_FOR_BUILD@") +set(CXX_BINARY_FOR_BUILD "@CXX_FOR_BUILD@") +set(AR_FOR_BUILD "@AR_FOR_BUILD@") +set(RANLIB_FOR_BUILD "@RANLIB_FOR_BUILD@") +set(AS_FOR_BUILD "@AS_FOR_BUILD@") +set(NM_FOR_BUILD "@NM_FOR_BUILD@") +set(STRIP_FOR_BUILD "@STRIP_FOR_BUILD@") +set(READELF_FOR_BUILD "@READELF_FOR_BUILD@") +set(OBJDUMP_FOR_BUILD "@OBJDUMP_FOR_BUILD@") + +# flags for host arch building +set(CFLAGS_FOR_BUILD "@host_includes@ -I@prefix@/@tool_dir@/include") +set(LDFLAGS_FOR_BUILD "@host_includes@ -L@prefix@/@tool_dir@/lib") + +# other build tools +find_program(NASM nasm HINTS "${NATIVEPREFIX}/bin" REQUIRED) + +# common autoconf build tools +find_program(AUTOCONF autoconf HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(ACLOCAL aclocal HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(AUTOHEADER autoheader HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(AUTOMAKE automake HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(AUTOM4TE autom4te HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(AUTOPOINT autopoint HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(AUTORECONF autoreconf HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(LIBTOOL libtool HINTS "${NATIVEPREFIX}/bin" REQUIRED) +find_program(LIBTOOLIZE libtoolize HINTS "${NATIVEPREFIX}/bin" REQUIRED) + +set(ENV{ACLOCAL_PATH} "${DEPENDS_PATH}/share/aclocal:${NATIVEPREFIX}/share/aclocal") +set(ENVPATH "${NATIVEPREFIX}/bin:$ENV{PATH}") + +# Dependency build tool config files +find_file(MESON-CROSS "cross-file.meson" PATHS "${DEPENDS_PATH}/share" NO_CMAKE_FIND_ROOT_PATH REQUIRED) +# autoconf config.site +find_file(CONFIG_SITE "config.site" PATHS "${DEPENDS_PATH}/share" NO_CMAKE_FIND_ROOT_PATH REQUIRED) + +# Env variables for non cmake target environments +set(PROJECT_TARGETENV "AS=${CMAKE_AS}" + "AR=${CMAKE_AR}" + "CC=${CMAKE_C_COMPILER}" + "CXX=${CMAKE_CXX_COMPILER}" + "NM=${CMAKE_NM}" + "LD=${CMAKE_LINKER}" + "STRIP=${CMAKE_STRIP}" + "RANLIB=${CMAKE_RANLIB}" + "OBJDUMP=${CMAKE_OBJDUMP}" + "CFLAGS=${CMAKE_C_FLAGS}" + "CPPFLAGS=${CMAKE_CPP_FLAGS}" + "LDFLAGS=${CMAKE_EXE_LINKER_FLAGS}" + "PKG_CONFIG_LIBDIR=$ENV{PKG_CONFIG_LIBDIR}" + "AUTOM4TE=${AUTOM4TE}" + "AUTOMAKE=${AUTOMAKE}" + "AUTOCONF=${AUTOCONF}" + "AUTORECONF=${AUTORECONF}" + "ACLOCAL=${ACLOCAL}" + "ACLOCAL_PATH=$ENV{ACLOCAL_PATH}" + "AUTOPOINT=${AUTOPOINT}" + "AUTOHEADER=${AUTOHEADER}" + "LIBTOOL=${LIBTOOL}" + "LIBTOOLIZE=${LIBTOOLIZE}" + "CONFIG_SITE=${CONFIG_SITE}" + ) + +# Env variables for non cmake host environments +set(PROJECT_BUILDENV CC_FOR_BUILD=${CC_FOR_BUILD} + CXX_FOR_BUILD=${CXX_FOR_BUILD} + LD_FOR_BUILD=${LD_FOR_BUILD} + CC_BINARY_FOR_BUILD=${CC_FOR_BUILD} + CXX_BINARY_FOR_BUILD=${CXX_FOR_BUILD} + AR_FOR_BUILD=${AR_FOR_BUILD} + RANLIB_FOR_BUILD=${RANLIB_FOR_BUILD} + AS_FOR_BUILD=${AS_FOR_BUILD} + NM_FOR_BUILD=${NM_FOR_BUILD} + STRIP_FOR_BUILD=${STRIP_FOR_BUILD} + READELF_FOR_BUILD=${READELF_FOR_BUILD} + OBJDUMP_FOR_BUILD=${OBJDUMP_FOR_BUILD} + CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD} + LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD} + ) + +# variable to easily set host/target env for non cmake internal dep builds +set(DEP_BUILDENV ${CMAKE_COMMAND} -E env ${PROJECT_TARGETENV} ${PROJECT_BUILDENV}) + set(KODI_DEPENDSBUILD 1) diff --git a/tools/depends/target/Toolchain_binaddons.cmake.in b/tools/depends/target/Toolchain_binaddons.cmake.in index b0cd5748bb..78a18ed591 100644 --- a/tools/depends/target/Toolchain_binaddons.cmake.in +++ b/tools/depends/target/Toolchain_binaddons.cmake.in @@ -1,4 +1,5 @@ set(OS "@platform_os@") +set(CMAKE_SYSTEM_PROCESSOR @host_cpu@) set(CPU "@use_cpu@") set(PLATFORM "@target_platform@") set(APP_RENDER_SYSTEM @app_rendersystem@) @@ -9,15 +10,7 @@ set(CMAKE_FIND_ROOT_PATH @CMAKE_FIND_ROOT_PATH@) if(OS STREQUAL linux) set(CMAKE_SYSTEM_NAME Linux) set(CORE_SYSTEM_NAME linux) - if(PLATFORM STREQUAL raspberry-pi) - set(CORE_PLATFORM_NAME rbpi) - set(ENABLE_LDGOLD OFF CACHE BOOL "Disabling Gnu Gold Linker" FORCE) - if(NOT APP_RENDER_SYSTEM) - set(APP_RENDER_SYSTEM gles) - endif() - elseif(NOT "@target_platform@" STREQUAL "") - set(CORE_PLATFORM_NAME @target_platform@) - endif() + set(CORE_PLATFORM_NAME @target_platform@) if(NOT APP_RENDER_SYSTEM) set(APP_RENDER_SYSTEM gl) endif() @@ -48,9 +41,9 @@ endif() if(CMAKE_SYSTEM_NAME STREQUAL Darwin) set(CMAKE_OSX_SYSROOT @use_sdk_path@) + set(CMAKE_LIBRARY_PATH ${CMAKE_FIND_ROOT_PATH}/lib:@use_sdk_path@/lib:/usr/X11R6/lib) + set(CMAKE_INCLUDE_PATH ${CMAKE_FIND_ROOT_PATH}/include:@use_sdk_path@/include:/usr/X11R6/include) list(APPEND CMAKE_FIND_ROOT_PATH ${CMAKE_OSX_SYSROOT} ${CMAKE_OSX_SYSROOT}/usr /usr/X11R6) - set(CMAKE_LIBRARY_PATH @CMAKE_FIND_ROOT_PATH@/lib:@use_sdk_path@/lib:/usr/X11R6/lib) - set(CMAKE_INCLUDE_PATH @CMAKE_FIND_ROOT_PATH@/include:@use_sdk_path@/include:/usr/X11R6/include) endif() set(CMAKE_SYSTEM_VERSION 1) @@ -63,8 +56,9 @@ set(CMAKE_NM @NM@ CACHE FILEPATH "Nm") set(CMAKE_OBJDUMP @OBJDUMP@ CACHE FILEPATH "Objdump") set(CMAKE_RANLIB @RANLIB@ CACHE FILEPATH "Ranlib") -if(@use_ccache@ STREQUAL "yes") - set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "@CCACHE@") +if(NOT "@use_ccache@" STREQUAL "") + set(CMAKE_CXX_COMPILER_LAUNCHER @CCACHE@) + set(CMAKE_C_COMPILER_LAUNCHER @CCACHE@) endif() # where is the target environment @@ -72,13 +66,6 @@ if(NOT "@use_toolchain@" STREQUAL "") list(APPEND CMAKE_FIND_ROOT_PATH @use_toolchain@/sysroot/usr) endif() -# add RBPI's firmware directories -if(CORE_PLATFORM_NAME STREQUAL rbpi) - list(APPEND CMAKE_FIND_ROOT_PATH @use_firmware@/opt/vc) - list(APPEND CMAKE_LIBRARY_PATH @CMAKE_FIND_ROOT_PATH@/lib:@use_firmware@/opt/vc/lib) - list(APPEND CMAKE_INCLUDE_PATH @CMAKE_FIND_ROOT_PATH@/include:@use_firmware@/opt/vc/include) -endif() - # add Android directories and tools if(CORE_SYSTEM_NAME STREQUAL android) set(NDKROOT @use_ndk_path@) @@ -96,11 +83,11 @@ set(CMAKE_CXX_FLAGS_RELEASE "@platform_cxxflags_release@ @platform_includes@") set(CMAKE_C_FLAGS_DEBUG "@platform_cflags_debug@ @platform_includes@") set(CMAKE_CXX_FLAGS_DEBUG "@platform_cxxflags_debug@ @platform_includes@") set(CMAKE_CPP_FLAGS "@platform_cflags@ @platform_includes@") -set(CMAKE_LD_FLAGS "@platform_ldflags@") +set(CMAKE_EXE_LINKER_FLAGS "@platform_ldflags@") set(ENV{CFLAGS} ${CMAKE_C_FLAGS}) set(ENV{CXXFLAGS} ${CMAKE_CXX_FLAGS}) set(ENV{CPPFLAGS} ${CMAKE_CPP_FLAGS}) -set(ENV{LDFLAGS} ${CMAKE_LD_FLAGS}) +set(ENV{LDFLAGS} ${CMAKE_EXE_LINKER_FLAGS}) # search for programs in the build host directories set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # for libraries and headers in the target directories diff --git a/tools/depends/target/alsa-lib/Makefile b/tools/depends/target/alsa-lib/Makefile index f2c624aac4..ae3afc4c18 100644 --- a/tools/depends/target/alsa-lib/Makefile +++ b/tools/depends/target/alsa-lib/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=libasound VERSION=1.1.4.1 SOURCE=alsa-lib-$(VERSION) ARCHIVE=$(SOURCE).tar.bz2 +SHA512=7b548c4ee29c4a1230a0edcd5d19219831290f96a214180a6530628acc05278d1348376195287d188f4f44d6be1914391c63994f1b50985c3eee74352da26b0b +include ../../download-files.include # configuration settings CFLAGS += \ @@ -25,10 +27,8 @@ LIBDYLIB=$(PLATFORM)/src/.libs/$(LIBNAME).so all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/target/boblight/Makefile b/tools/depends/target/boblight/Makefile index e048c2b42e..a766b09ef3 100644 --- a/tools/depends/target/boblight/Makefile +++ b/tools/depends/target/boblight/Makefile @@ -1,5 +1,5 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile 01-fix_fpermissive.patch 02-fixandroid.patch 03-fixtvos.patch +DEPS = ../../Makefile.include Makefile 01-fix_fpermissive.patch 02-fixandroid.patch 03-fixtvos.patch ../../download-files.include #hint for building a fat lib - "lipo -arch i386 libboblight-i386.dylib -arch x86_64 libboblight-x86_64.dylib -output libboblight-fat.dylib" @@ -8,6 +8,8 @@ LIBNAME=libboblight VERSION=r478 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=382e0b0f1ef2fca676cd64ec4190d3cfb791fed0f9477af8436e461cebfbc268058abc1fbba97a0337d3152a9b292580160b42157b4076d59b3847071deb1881 +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) \ @@ -20,10 +22,8 @@ LIBDYLIB=$(PLATFORM)/src/.libs/$(LIBNAME).a all: $(LIBDYLIB) .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../01-fix_fpermissive.patch diff --git a/tools/depends/target/bzip2/Makefile b/tools/depends/target/bzip2/Makefile index 3541d3831c..38c8443d1b 100644 --- a/tools/depends/target/bzip2/Makefile +++ b/tools/depends/target/bzip2/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile Makefile.patch +DEPS = ../../Makefile.include Makefile Makefile.patch ../../download-files.include # lib name, version LIBNAME=bzip2 -VERSION=1.0.6 +VERSION=1.0.8 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3 +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared @@ -14,10 +16,8 @@ LIBDYLIB=$(PLATFORM)/libbz2.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../Makefile.patch diff --git a/tools/depends/target/cmakebuildsys/Makefile b/tools/depends/target/cmakebuildsys/Makefile index 67b3292343..8101fc18a2 100644 --- a/tools/depends/target/cmakebuildsys/Makefile +++ b/tools/depends/target/cmakebuildsys/Makefile @@ -11,11 +11,29 @@ ifeq ($(Configuration),) endif ifeq ($(OS),darwin_embedded) + # cmake toolset option buildsystem selects the legacy xcode build system + # cmake 3.19+ with xcode 12 defaults to the new build system. Stick with the legacy + # system for now for our building CMAKE_BUILD_ARGUMENTS = -G Xcode else ifeq ($(GEN),Xcode) CMAKE_BUILD_ARGUMENTS = -G Xcode +else ifeq ($(GEN),Xcodelegacy) + CMAKE_BUILD_ARGUMENTS = -G Xcode -T buildsystem=1 +else ifeq ($(GEN),Ninja) + CMAKE_BUILD_ARGUMENTS = -G "Ninja" -DCMAKE_BUILD_TYPE=$(Configuration) else CMAKE_BUILD_ARGUMENTS = -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=$(Configuration) + ifeq ($(OS),osx) + CMAKE_BUILD_ARGUMENTS += -DCMAKE_DEPENDS_USE_COMPILER=OFF + endif +endif + +ifeq ($(OS),osx) + ifeq ($(APP_WINDOW_SYSTEM),native) + WINDOWSYSTEM=-DAPP_WINDOW_SYSTEM=native + else + WINDOWSYSTEM=-DAPP_WINDOW_SYSTEM=sdl + endif endif ifeq ($(BUILD_DIR),) @@ -24,7 +42,7 @@ endif all: mkdir -p $(BUILD_DIR) - cd $(BUILD_DIR); $(CMAKE) $(CMAKE_BUILD_ARGUMENTS) -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_FFMPEG=OFF $(CMAKE_EXTRA_ARGUMENTS) $(CMAKE_SOURCE_DIR) + cd $(BUILD_DIR); $(CMAKE) $(CMAKE_BUILD_ARGUMENTS) $(WINDOWSYSTEM) -DENABLE_INTERNAL_CROSSGUID=ON -DENABLE_INTERNAL_FFMPEG=OFF $(CMAKE_EXTRA_ARGUMENTS) $(CMAKE_SOURCE_DIR) kodi: $(MAKE) -C $(BUILD_DIR) diff --git a/tools/depends/target/config-binaddons.site.in b/tools/depends/target/config-binaddons.site.in index 7587a49be2..9cc6b4a069 100644 --- a/tools/depends/target/config-binaddons.site.in +++ b/tools/depends/target/config-binaddons.site.in @@ -26,8 +26,7 @@ CXXFLAGS="@platform_cxxflags@ @platform_includes@ $CXXFLAGS" CPPFLAGS="@platform_cflags@ @platform_includes@ $CPPFLAGS" export PKG_CONFIG=@prefix@/@tool_dir@/bin/pkg-config -export YASM=@prefix@/@tool_dir@/bin/yasm -export NASM=@prefix@/@tool_dir@/bin/yasm +export NASM=@prefix@/@tool_dir@/bin/nasm PATH=@prefix@/@tool_dir@/bin:@use_toolchain@/usr/bin:@use_toolchain@/bin:$PATH LD_LIBRARY_PATH=@prefix@/@tool_dir@/lib:$LD_LIBRARY_PATH @@ -68,28 +67,18 @@ if test "@platform_os@" = "android"; then fi -if test "@platform_os@" = "osx" ; then - # Xcode 8 + 10.11, clock_gettime getentropy is present - # in 10.12 but will get wrongly detected if building on 10.11 - ac_cv_search_clock_gettime=no - ac_cv_func_clock_gettime=no - ac_cv_func_getentropy=no -fi - - if test "@platform_os@" = "darwin_embedded"; then - # Xcode 8 + 10.11, clock_gettime getentropy is present - # in 10.12 but will get wrongly detected if building on 10.11 - ac_cv_search_clock_gettime=no - ac_cv_func_clock_gettime=no - ac_cv_func_getentropy=no - # tweaks for flac if test "${ac_unique_file}" = "src/flac/main.c" ; then # compiler barfs if we use -O3/O2 for flac export CFLAGS=`echo ${CFLAGS} | sed 's/-O3/-Os/'` export CPPFLAGS=`echo ${CPPFLAGS} | sed 's/-O3/-Os/'` fi + + if test "@target_platform@" = "appletvos"; then + ac_cv_func_vfork_works=no + ac_cv_func_fork=no + fi fi #Fix for older, broken android toolchains diff --git a/tools/depends/target/config.site.in b/tools/depends/target/config.site.in index f9260d15e1..2034ac0151 100644 --- a/tools/depends/target/config.site.in +++ b/tools/depends/target/config.site.in @@ -27,18 +27,13 @@ CPPFLAGS="@platform_cflags@ @platform_includes@ -isystem @prefix@/@deps_dir@/inc export PKG_CONFIG=@prefix@/@tool_dir@/bin/pkg-config export PKG_CONFIG_LIBDIR=@prefix@/@deps_dir@/lib/pkgconfig -export YASM=@prefix@/@tool_dir@/bin/yasm -export NASM=@prefix@/@tool_dir@/bin/yasm +export NASM=@prefix@/@tool_dir@/bin/nasm LIBGCRYPT_CONFIG=@prefix@/@deps_dir@/bin/libgcrypt-config PATH=@prefix@/@tool_dir@/bin:@use_toolchain@/usr/bin:@use_toolchain@/bin:$PATH LD_LIBRARY_PATH=@prefix@/@tool_dir@/lib:$LD_LIBRARY_PATH -PYTHON_VERSION=3.7 -PYTHON_LDFLAGS="-L@prefix@/@deps_dir@/lib -lpython${PYTHON_VERSION} -lc -ldl -lm -lexpat -lffi -lintl -lutil -lssl -lcrypto" -PYTHON_CPPFLAGS=-I@prefix@/@deps_dir@/include/python${PYTHON_VERSION} -PYTHON_SITE_PKG=@prefix@/@deps_dir@/lib/python${PYTHON_VERSION}/site-packages -PYTHON_NOVERSIONCHECK=no-check +PYTHON_VERSION=3.9 NATIVE_ROOT=@prefix@/@tool_dir@ #libomxil-bellagio @@ -54,13 +49,6 @@ gl_cv_header_working_stdint_h=yes #libcec ac_cv_search_dlopen=-ldl -#libgcrypt -if test "${PACKAGE_NAME}" = "libgcrypt"; then - ac_cv_path_GPG_ERROR_CONFIG=@prefix@/@deps_dir@/bin/gpg-error-config - ac_cv_sys_symbol_underscore=no - CFLAGS="$CFLAGS -std=gnu99" -fi - #python ac_cv_func_gethostbyname_r=no ac_cv_header_sys_un_h=yes @@ -70,43 +58,23 @@ ac_cv_file__dev_ptc=no #gnutls gl_cv_func_gettimeofday_clobber=no +#wayland +if test "${PACKAGE_NAME}" = "wayland"; then + # wayland insists on building tests which rely on assert, which cannot work with -DNDEBUG + # Maybe it would be better not to define -DNDEBUG globally for release builds? + export CFLAGS=`echo ${CFLAGS} | sed 's/-DNDEBUG=1//g'` + export CPPFLAGS=`echo ${CPPFLAGS} | sed 's/-DNDEBUG=1//g'` +fi + if test "@platform_os@" = "android"; then ac_cv_func_srand=yes ac_cv_func_rand=yes - - #python: android doesn't have libutil - PYTHON_LDFLAGS="-L@prefix@/@deps_dir@/lib -lpython${PYTHON_VERSION} -lc -ldl -lm -lexpat -lffi -lintl -lssl -lcrypto" - -fi - -if test "@platform_os@" = "osx" ; then - # Xcode 8 + 10.11, clock_gettime and getentropy is present - # in 10.12 but will get wrongly detected if building on 10.11 - ac_cv_search_clock_gettime=no - ac_cv_func_clock_gettime=no - ac_cv_func_futimens=no - ac_cv_func_getentropy=no - ac_cv_func_utimensat=no fi - if test "@platform_os@" = "darwin_embedded"; then - # Xcode 8 + 10.11, clock_gettime and getentropy is present - # in 10.12 but will get wrongly detected if building on 10.11 - ac_cv_search_clock_gettime=no - ac_cv_func_clock_gettime=no + # there is no clock_settime on iOS/tvOS as of latest version 13.X ac_cv_func_clock_settime=no - ac_cv_func_futimens=no - ac_cv_func_getentropy=no - ac_cv_func_utimensat=no - - # tweaks for libffi - if test "${PACKAGE_NAME}" = "libffi" ; then - if test "@use_cpu@" = "arm64"; then - host_alias=aarch64-apple-darwin - fi - fi # tweaks for flac if test "${ac_unique_file}" = "src/flac/main.c" ; then @@ -116,9 +84,10 @@ if test "@platform_os@" = "darwin_embedded"; then fi fi -# Python3 build for appletvos if test "@target_platform@" = "appletvos"; then ac_cv_func_sigaltstack=no + ac_cv_func_vfork_works=no + ac_cv_func_fork=no fi #Fix for older, broken android toolchains diff --git a/tools/depends/target/cross-file.meson.in b/tools/depends/target/cross-file.meson.in deleted file mode 100644 index ba10d4e5a0..0000000000 --- a/tools/depends/target/cross-file.meson.in +++ /dev/null @@ -1,16 +0,0 @@ -[binaries] -c = '@CC@' -cpp = '@CXX@' -ar = '@AR@' -strip = '@STRIP@' -pkgconfig = '@prefix@/@tool_dir@/bin/pkg-config' - -[properties] -cargs = ['@platform_cflags@', '@platform_includes@', '-isystem @prefix@/@deps_dir@/include'] -c_link_args = ['-L@prefix@/@deps_dir@/lib @platform_ldflags@'] - -[host_machine] -system = '' -cpu_family = '' -cpu = '' -endian = '' diff --git a/tools/depends/target/crossguid/001-fix-unused-function.patch b/tools/depends/target/crossguid/001-fix-unused-function.patch new file mode 100644 index 0000000000..cc3f38d3ed --- /dev/null +++ b/tools/depends/target/crossguid/001-fix-unused-function.patch @@ -0,0 +1,11 @@ +--- a/src/guid.cpp ++++ b/src/guid.cpp +@@ -396,7 +396,7 @@ + namespace std + { + template <> +- void swap(xg::Guid &lhs, xg::Guid &rhs) noexcept ++ [[maybe_unused]] void swap(xg::Guid &lhs, xg::Guid &rhs) noexcept + { + lhs.swap(rhs); + } diff --git a/tools/depends/target/crossguid/002-disable-Wall-error.patch b/tools/depends/target/crossguid/002-disable-Wall-error.patch new file mode 100644 index 0000000000..daef659bcd --- /dev/null +++ b/tools/depends/target/crossguid/002-disable-Wall-error.patch @@ -0,0 +1,18 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -40,6 +40,7 @@ + target_compile_definitions(crossguid PRIVATE GUID_LIBUUID) + endif() + ++if(NOT DISABLE_WALL) + if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + set(WARNINGS "-Werror" "-Wall") + elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang") +@@ -48,6 +48,7 @@ + set(WARNINGS "/WX" "/W4") + endif() + target_compile_options(crossguid PRIVATE ${WARNINGS}) ++endif() + + set_target_properties(crossguid + PROPERTIES diff --git a/tools/depends/target/crossguid/CMakeLists.txt b/tools/depends/target/crossguid/CMakeLists.txt deleted file mode 100644 index 029009286e..0000000000 --- a/tools/depends/target/crossguid/CMakeLists.txt +++ /dev/null @@ -1,22 +0,0 @@ -cmake_minimum_required(VERSION 3.1) -project(crossguid) - -list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) - -add_library(${PROJECT_NAME} guid.cpp) -set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 11 - CXX_STANDARD_REQUIRED True - CXX_EXTENSIONS False) - -if(UNIX AND NOT APPLE) - find_package(UUID REQUIRED) - target_link_libraries(${PROJECT_NAME} PRIVATE UUID::UUID) - target_compile_definitions(${PROJECT_NAME} PRIVATE GUID_LIBUUID) -elseif(APPLE) - target_compile_definitions(${PROJECT_NAME} PRIVATE GUID_CFUUID) -elseif(WIN32) - target_compile_definitions(${PROJECT_NAME} PRIVATE GUID_WINDOWS) -endif() - -install(TARGETS ${PROJECT_NAME} DESTINATION lib) -install(FILES guid.h DESTINATION include) diff --git a/tools/depends/target/crossguid/CROSSGUID-VERSION b/tools/depends/target/crossguid/CROSSGUID-VERSION new file mode 100644 index 0000000000..b5e40b889e --- /dev/null +++ b/tools/depends/target/crossguid/CROSSGUID-VERSION @@ -0,0 +1,6 @@ +LIBNAME=crossguid +VERSION=ca1bf4b810e2d188d04cb6286f957008ee1b7681 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=f0a80d8e99b10473bcfdfde3d1c5fd7b766959819f0d1c0595ac84ce46db9007a5fbfde9a55aca60530c46cb7f8ef4c7e472c6191559ded92f868589c141ccaf +BYPRODUCT=libcrossguid.a +BYPRODUCT_WIN=crossguid.lib diff --git a/tools/depends/target/crossguid/FindUUID.cmake b/tools/depends/target/crossguid/FindUUID.cmake deleted file mode 100644 index 173fac277d..0000000000 --- a/tools/depends/target/crossguid/FindUUID.cmake +++ /dev/null @@ -1,43 +0,0 @@ -#.rst: -# FindUUID -# -------- -# Finds the libuuid library -# -# This will will define the following variables:: -# -# UUID_FOUND - system has libuuid -# UUID_INCLUDE_DIRS - the libuuid include directory -# UUID_LIBRARIES - the libuuid libraries -# -# and the following imported targets:: -# -# UUID::UUID - The libuuid library - -if(PKG_CONFIG_FOUND) - pkg_check_modules(PC_UUID uuid QUIET) -endif() - -find_path(UUID_INCLUDE_DIR uuid/uuid.h - PATHS ${PC_UUID_INCLUDEDIR}) -find_library(UUID_LIBRARY uuid - PATHS ${PC_UUID_LIBRARY}) -set(UUID_VERSION ${PC_UUID_VERSION}) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(UUID - REQUIRED_VARS UUID_LIBRARY UUID_INCLUDE_DIR - VERSION_VAR UUID_VERSION) - -if(UUID_FOUND) - set(UUID_LIBRARIES ${UUID_LIBRARY}) - set(UUID_INCLUDE_DIRS ${UUID_INCLUDE_DIR}) - - if(NOT TARGET UUID::UUID) - add_library(UUID::UUID UNKNOWN IMPORTED) - set_target_properties(UUID::UUID PROPERTIES - IMPORTED_LOCATION "${UUID_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${UUID_INCLUDE_DIR}") - endif() -endif() - -mark_as_advanced(UUID_INCLUDE_DIR UUID_LIBRARY) diff --git a/tools/depends/target/crossguid/Makefile b/tools/depends/target/crossguid/Makefile index 3936f651e1..6cdc802924 100644 --- a/tools/depends/target/crossguid/Makefile +++ b/tools/depends/target/crossguid/Makefile @@ -1,71 +1,59 @@ -include ../../Makefile.include -DEPS = Makefile - -# lib name, version -LIBNAME=crossguid -VERSION=8f399e8bd4 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz - +include CROSSGUID-VERSION +DEPS = Makefile CROSSGUID-VERSION ../../download-files.include \ + 001-fix-unused-function.patch \ + 002-disable-Wall-error.patch ifeq ($(CROSS_COMPILING), yes) DEPS += ../../Makefile.include - CXXFLAGS += -std=c++11 else - CXXFLAGS += -std=c++11 ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) - ifeq ($(PLATFORM),) + # crossguid uses string_view and requires c++17 + CXXFLAGS += -std=c++17 PLATFORM = native TARBALLS_LOCATION = $(ROOT_DIR) BASE_URL := http://mirrors.kodi.tv/build-deps/sources RETRIEVE_TOOL := curl -Ls --create-dirs -f -O ARCHIVE_TOOL := tar --strip-components=1 -xf + CMAKE := cmake + CMAKE_OPTIONS := -DCMAKE_INSTALL_PREFIX=$(PREFIX) $(CMAKE_OPTIONS) + HASH_TOOL = sha512sum + HASH_TOOL_FLAGS = -c --status endif endif +CMAKE_OPTIONS=-DCROSSGUID_TESTS=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + -DDISABLE_WALL=ON -# define specifying the native GUID implementation to use -GUID_PLATFORM_DEFINE=GUID_LIBUUID -ifeq ($(OS),osx) - GUID_PLATFORM_DEFINE=GUID_CFUUID -endif -ifeq ($(OS),darwin_embedded) - GUID_PLATFORM_DEFINE=GUID_CFUUID -endif +LIBDYLIB=$(PLATFORM)/$(BYPRODUCT) -LIBDYLIB=$(PLATFORM)/lib$(LIBNAME).a +include ../../download-files.include .PHONY: .installed-native all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) ifeq ($(PREFIX),) @echo @echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local" @exit 1 endif - rm -rf $(PLATFORM); mkdir -p $(PLATFORM) + rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); patch -p1 -i ../001-fix-unused-function.patch + cd $(PLATFORM); patch -p1 -i ../002-disable-Wall-error.patch + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. -$(LIBDYLIB): $(PLATFORM) - cd $(PLATFORM); $(CXX) -c guid.cpp -o guid.o $(CXXFLAGS) -D$(GUID_PLATFORM_DEFINE) - cd $(PLATFORM); $(AR) rvs lib$(LIBNAME).a guid.o - -.installed-$(PLATFORM): $(LIBDYLIB) - @[ -d $(PREFIX)/include ] || mkdir -p $(PREFIX)/include - @[ -d $(PREFIX)/lib ] || mkdir $(PREFIX)/lib - cp $(PLATFORM)/guid.h $(PREFIX)/include/ - cp $(LIBDYLIB) $(PREFIX)/lib/ +.installed-$(PLATFORM): $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: - rm -rf $(PLATFORM) .installed-$(PLATFORM) + $(MAKE) -C $(PLATFORM)/build clean + rm -f .installed-$(PLATFORM) -distclean:: +distclean: rm -rf $(PLATFORM) .installed-$(PLATFORM) - diff --git a/tools/depends/target/curl/01-patch-autoconf-GH-5130.patch b/tools/depends/target/curl/01-patch-autoconf-GH-5130.patch new file mode 100644 index 0000000000..119cd81199 --- /dev/null +++ b/tools/depends/target/curl/01-patch-autoconf-GH-5130.patch @@ -0,0 +1,11 @@ +--- a/m4/curl-functions.m4 ++++ b/m4/curl-functions.m4 +@@ -7289,8 +7289,6 @@ + dnl changes contained within this macro. + + AC_DEFUN([CURL_RUN_IFELSE], [ +- AC_REQUIRE([AC_RUN_IFELSE])dnl +- + old=$LD_LIBRARY_PATH + LD_LIBRARY_PATH=$CURL_LIBRARY_PATH:$old + export LD_LIBRARY_PATH diff --git a/tools/depends/target/curl/Makefile b/tools/depends/target/curl/Makefile index 2fc397b8a2..d98e3e791a 100644 --- a/tools/depends/target/curl/Makefile +++ b/tools/depends/target/curl/Makefile @@ -1,30 +1,28 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile 01-patch-autoconf-GH-5130.patch ../../download-files.include # lib name, version LIBNAME=curl -VERSION=7.65.3 +VERSION=7.68.0 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.bz2 +SHA512=ad7390fd700cb74db356a39e842dab011823b87d4047687f2a8c2e0f2920a4f8c6c193ba56391489a75939cc5c39a4dccec4e4ceeac516eb7394f03e0fb7aeae +include ../../download-files.include # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ ./configure --prefix=$(PREFIX) --disable-shared --disable-ldap \ --without-libssh2 --disable-ntlm-wb --enable-ipv6 --without-librtmp \ - --with-ca-fallback --with-ssl=$(PREFIX) --with-nghttp2=$(PREFIX) + --without-libidn2 --with-ca-fallback --with-ssl=$(PREFIX) --with-nghttp2=$(PREFIX) LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) -ifeq (darwin, $(findstring darwin, $(HOST))) - cd $(PLATFORM); sed -ie "s/elif defined(HAVE_CLOCK_GETTIME_MONOTONIC)/#elif defined(HAVE_CLOCK_GETTIME_MONOTONIC_NOPE)/" lib/timeval.c -endif + cd $(PLATFORM); patch -p1 -i ../01-patch-autoconf-GH-5130.patch cd $(PLATFORM); $(AUTORECONF) -vif cd $(PLATFORM); $(CONFIGURE) @@ -46,3 +44,7 @@ clean: distclean:: rm -rf $(PLATFORM) .installed-$(PLATFORM) + +.PHONY: update-cacert +update-cacert: $(PLATFORM) + $(PLATFORM)/lib/mk-ca-bundle.pl -u $(CMAKE_SOURCE_DIR)/system/certs/cacert.pem diff --git a/tools/depends/target/darwin-embedded-entitlements/Makefile b/tools/depends/target/darwin-embedded-entitlements/Makefile new file mode 100644 index 0000000000..a8427e4993 --- /dev/null +++ b/tools/depends/target/darwin-embedded-entitlements/Makefile @@ -0,0 +1,15 @@ +include ../../Makefile.include +DEPS = ../../Makefile.include Makefile darwin_embedded_entitlements.xml + +DARWIN_EMBEDDED_ENT=$(PREFIX)/share/darwin_embedded_entitlements.xml + +all: $(DARWIN_EMBEDDED_ENT) + +$(DARWIN_EMBEDDED_ENT): + mkdir -p $(PREFIX)/share + cp darwin_embedded_entitlements.xml $(DARWIN_EMBEDDED_ENT) + + +clean: +distclean:: + rm -f $(DARWIN_EMBEDDED_ENT) diff --git a/tools/depends/target/darwin-embedded-entitlements/darwin_embedded_entitlements.xml b/tools/depends/target/darwin-embedded-entitlements/darwin_embedded_entitlements.xml new file mode 100644 index 0000000000..4c7fc926f8 --- /dev/null +++ b/tools/depends/target/darwin-embedded-entitlements/darwin_embedded_entitlements.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>com.apple.springboard.opensensitiveurl</key> + <true/> + <key>com.apple.coremedia.allow-protected-content-playback</key> + <true/> + <key>com.apple.coreaudio.allow-amr-decode</key> + <true/> + <key>com.apple.springboard.launchapplications</key> + <true/> + <key>com.apple.managedconfiguration.profiled-access</key> + <true/> + <key>platform-application</key> + <true/> + <key>com.apple.private.security.no-container</key> + <true/> + <key>com.apple.private.skip-library-validation</key> + <true/> + <key>com.apple.CommCenter.fine-grained</key> + <array> + <string>spi</string> + </array> + <key>keychain-access-groups</key> + <array> + <string>com.apple.cfnetwork</string> + <string>com.apple.identities</string> + <string>com.apple.mobilesafari</string> + </array> + <key>com.apple.security.iokit-user-client-class</key> + <array> + <string>AGXCommandQueue</string> + <string>AGXDevice</string> + <string>AGXDeviceUserClient</string> + <string>AGXGLContext</string> + <string>AGXSharedUserClient</string> + <string>AppleCredentialManagerUserClient</string> + <string>AppleHPMUserClient</string> + <string>AppleJPEGDriverUserClient</string> + <string>AppleUSBHostDeviceUserClient</string> + <string>H11ANEInDirectPathClient</string> + <string>IOAVControllerConcreteUserClient</string> + <string>IOAccelContext</string> + <string>IOAccelContext2</string> + <string>IOAccelDevice</string> + <string>IOAccelDevice2</string> + <string>IOAccelSharedUserClient</string> + <string>IOAccelSharedUserClient2</string> + <string>IOAccelSubmitter2</string> + <string>IOHDIXControllerUserClient</string> + <string>IOHIDEventServiceFastPathUserClient</string> + <string>IOHIDLibUserClient</string> + <string>IOMobileFramebufferUserClient</string> + <string>IOReportUserClient</string> + <string>IOSurfaceAcceleratorClient</string> + <string>IOSurfaceRootUserClient</string> + <string>RootDomainUserClient</string> + </array> +</dict> +</plist> diff --git a/tools/depends/target/dav1d/DAV1D-VERSION b/tools/depends/target/dav1d/DAV1D-VERSION new file mode 100644 index 0000000000..bb6d404663 --- /dev/null +++ b/tools/depends/target/dav1d/DAV1D-VERSION @@ -0,0 +1,5 @@ +LIBNAME=dav1d +VERSION=1.0.0 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2 +SHA512=86c6481e787fb6b8c28521e1efb1876d1be99f5fa5332cddab1111059b44775e05203cfc5c80a1b404ee00f35a1f5e1099e21b1f0851d77fb0101567e8b1a892 +BYPRODUCT=libdav1d.a diff --git a/tools/depends/target/dav1d/Makefile b/tools/depends/target/dav1d/Makefile new file mode 100644 index 0000000000..fb25c7891a --- /dev/null +++ b/tools/depends/target/dav1d/Makefile @@ -0,0 +1,82 @@ +-include ../../Makefile.include +include DAV1D-VERSION +DEPS = Makefile DAV1D-VERSION ../../download-files.include + +ifeq ($(CROSS_COMPILING), yes) + DEPS += ../../Makefile.include + PYTHON = $(NATIVEPREFIX)/bin/python3 + MESON = $(NATIVEPREFIX)/bin/meson + NINJA = $(NATIVEPREFIX)/bin/ninja +else + ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) + PREFIX ?= $(ROOT_DIR)/dav1d-install + BASE_URL ?= http://mirrors.kodi.tv/build-deps/sources + AUTORECONF := autoreconf + RETRIEVE_TOOL := curl -Ls --retry 10 --retry-delay 3 -o $(ARCHIVE) + ARCHIVE_TOOL := tar --strip-components=1 -xf + + ifeq ($(PLATFORM),) + PLATFORM = native + TARBALLS_LOCATION = $(ROOT_DIR) + HASH_TOOL = sha512sum + HASH_TOOL_FLAGS = -c --status + DAV1D_INSTALL_PREFIX = --prefix $(PREFIX) + MESON = meson + NINJA = ninja + endif +endif + + +MESON_BUILD_TYPE=release + +ifeq ($(DEBUG_BUILD), yes) + MESON_BUILD_TYPE=debug +endif + +# configuration settings +CONFIGURE = $(PYTHON) $(MESON) $(DAV1D_INSTALL_PREFIX) \ + --buildtype=$(MESON_BUILD_TYPE) \ + --default-library=static \ + -Denable_asm=true \ + -Denable_tools=false \ + -Denable_examples=false \ + -Denable_tests=false + +ifeq ($(CROSS_COMPILING), yes) +CONFIGURE += --cross-file $(PREFIX)/share/cross-file.meson +export CC=$(CC_FOR_BUILD) +export CXX=$(CXX_FOR_BUILD) +export CFLAGS=$(CFLAGS_FOR_BUILD) +export CXXFLAGS=$(CXXFLAGS_FOR_BUILD) +else +export CC CXX CFLAGS CXXFLAGS +endif +export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig + +LIBDYLIB=$(PLATFORM)/build/src/$(BYPRODUCT) + +include ../../download-files.include +all: .installed-$(PLATFORM) + +download: $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) + + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); rm -rf build; mkdir -p build + cd $(PLATFORM); $(CONFIGURE) . build + +$(LIBDYLIB): $(PLATFORM) + cd $(PLATFORM)/build; $(NINJA) -v + +.installed-$(PLATFORM): $(LIBDYLIB) + cd $(PLATFORM)/build; $(NINJA) -v install + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/target/dbus/Makefile b/tools/depends/target/dbus/Makefile index af1da0bfd1..a159bef7ff 100644 --- a/tools/depends/target/dbus/Makefile +++ b/tools/depends/target/dbus/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=dbus VERSION=1.11.16 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=991ba6293d5f305e5a7e4ce6b131ea7fddd3bebadbb5b8c2fec29ccb76ab324786a01b89d2df6a3a112756436549dc7b856e78d4adb3f7514c8537ad854741bc +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) \ @@ -15,10 +17,8 @@ LIBDYLIB=$(PLATFORM)/$(LIBNAME)/.libs/lib$(LIBNAME)-1.so all: $(LIBDYLIB) .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/target/dummy-libxbmc/Makefile b/tools/depends/target/dummy-libxbmc/Makefile index 9f4cbe3f7b..79de50dc10 100644 --- a/tools/depends/target/dummy-libxbmc/Makefile +++ b/tools/depends/target/dummy-libxbmc/Makefile @@ -1,7 +1,5 @@ include ../../Makefile.include -VERSION.TXT := $(CMAKE_SOURCE_DIR)/version.txt -DEPS= ../../Makefile.include Makefile dummy-libxbmc.c $(VERSION.TXT) -APP_NAME=$(shell awk '/APP_NAME/ {print tolower($$2)}' $(VERSION.TXT)) +DEPS = ../../Makefile.include Makefile dummy-libxbmc.c LIBDYLIB=lib$(APP_NAME).so diff --git a/tools/depends/target/expat/EXPAT-VERSION b/tools/depends/target/expat/EXPAT-VERSION new file mode 100644 index 0000000000..fac7be7543 --- /dev/null +++ b/tools/depends/target/expat/EXPAT-VERSION @@ -0,0 +1,6 @@ +LIBNAME=expat +VERSION=2.4.9 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.xz +SHA512=8508379b4915d84d50f3638678a90792179c98247d1cb5e6e6387d117af4dc148ac7031c1debea8b96e7b710ef436cf0dd5da91f3d22b8186a00cfafe1201169 +BYPRODUCT=libexpat.a diff --git a/tools/depends/target/expat/Makefile b/tools/depends/target/expat/Makefile index 5de7a13cda..a36631b05a 100644 --- a/tools/depends/target/expat/Makefile +++ b/tools/depends/target/expat/Makefile @@ -1,36 +1,33 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile - -# lib name, version -LIBNAME=expat -VERSION=2.2.7 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.bz2 +include ../../Makefile.include EXPAT-VERSION ../../download-files.include +DEPS= ../../Makefile.include Makefile EXPAT-VERSION ../../download-files.include # configuration settings -CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) ./conftools; ./configure --prefix=$(PREFIX) --disable-shared +CMAKE_OPTIONS=-DEXPAT_BUILD_TOOLS=OFF \ + -DEXPAT_BUILD_EXAMPLES=OFF \ + -DEXPAT_BUILD_TESTS=OFF \ + -DEXPAT_SHARED_LIBS=OFF \ + -DEXPAT_BUILD_DOCS=OFF \ + -DEXPAT_BUILD_PKGCONFIG=ON -LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a +LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) - rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); $(CONFIGURE) + cd $(PLATFORM); mkdir -p build + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. $(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: - $(MAKE) -C $(PLATFORM) clean + $(MAKE) -C $(PLATFORM)/build clean rm -f .installed-$(PLATFORM) distclean:: diff --git a/tools/depends/target/ffmpeg/CMakeLists.txt b/tools/depends/target/ffmpeg/CMakeLists.txt index 5ee90c4b79..f09258058b 100644 --- a/tools/depends/target/ffmpeg/CMakeLists.txt +++ b/tools/depends/target/ffmpeg/CMakeLists.txt @@ -2,22 +2,42 @@ project(ffmpeg) cmake_minimum_required(VERSION 2.8) -list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) - if(ENABLE_CCACHE AND CCACHE_PROGRAM) - set(ffmpeg_conf "--cc=${CCACHE_PROGRAM} ${CMAKE_C_COMPILER}" "--cxx=${CCACHE_PROGRAM} ${CMAKE_CXX_COMPILER}") + set(ffmpeg_conf "--cc=${CCACHE_PROGRAM} ${CMAKE_C_COMPILER}" + "--cxx=${CCACHE_PROGRAM} ${CMAKE_CXX_COMPILER}" + ) else() - set(ffmpeg_conf --cc=${CMAKE_C_COMPILER} --cxx=${CMAKE_CXX_COMPILER}) + set(ffmpeg_conf --cc=${CMAKE_C_COMPILER} + --cxx=${CMAKE_CXX_COMPILER} + ) endif() if(CROSSCOMPILING) set(pkgconf "PKG_CONFIG_LIBDIR=${DEPENDS_PATH}/lib/pkgconfig") - list(APPEND ffmpeg_conf --pkg-config=${PKG_CONFIG_EXECUTABLE} --pkg-config-flags=--static) - list(APPEND ffmpeg_conf --enable-cross-compile --cpu=${CPU} --arch=${CPU} --target-os=${OS}) - list(APPEND ffmpeg_conf --ar=${CMAKE_AR} --strip=${CMAKE_STRIP}) + list(APPEND ffmpeg_conf --pkg-config=${PKG_CONFIG_EXECUTABLE} + --pkg-config-flags=--static + --enable-cross-compile + --enable-pic + --ar=${CMAKE_AR} + --ranlib=${CMAKE_RANLIB} + --strip=${CMAKE_STRIP} + ) + message(STATUS "CROSS: ${ffmpeg_conf}") endif() +set(CONFIGARCH --arch=${CPU}) + +list(APPEND ffmpeg_conf --disable-doc + --disable-devices + --disable-programs + --disable-sdl2 + --enable-gpl + --enable-postproc + --enable-runtime-cpudetect + --enable-pthreads + ) + if(CMAKE_C_FLAGS) list(APPEND ffmpeg_conf --extra-cflags=${CMAKE_C_FLAGS}) endif() @@ -39,83 +59,99 @@ if(CMAKE_BUILD_TYPE STREQUAL Release) endif() if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL freebsd) - if(CORE_PLATFORM_NAME STREQUAL rbpi) - list(APPEND ffmpeg_conf --cpu=${CPU} --disable-vaapi --disable-vdpau) + list(APPEND ffmpeg_conf --enable-pic + --target-os=linux + ) + if(ENABLE_VAAPI) + list(APPEND ffmpeg_conf --enable-vaapi) + else() + list(APPEND ffmpeg_conf --disable-vaapi) + endif() + if(ENABLE_VDPAU) + list(APPEND ffmpeg_conf --enable-vdpau) else() - list(APPEND ffmpeg_conf --enable-pic) - if(ENABLE_VAAPI) - list(APPEND ffmpeg_conf --enable-vaapi) - else() - list(APPEND ffmpeg_conf --disable-vaapi) - endif() - if(ENABLE_VDPAU) - list(APPEND ffmpeg_conf --enable-vdpau) - else() - list(APPEND ffmpeg_conf --disable-vdpau) - endif() + list(APPEND ffmpeg_conf --disable-vdpau) endif() elseif(CORE_SYSTEM_NAME STREQUAL android) + list(APPEND ffmpeg_conf --target-os=android + --extra-libs=-liconv + --disable-linux-perf + ) if(CPU MATCHES arm64) - list(APPEND ffmpeg_conf --cpu=cortex-a53 --arch=aarch64) + set(CONFIGARCH --arch=aarch64) + list(APPEND ffmpeg_conf --cpu=cortex-a53) elseif(CPU MATCHES arm) list(APPEND ffmpeg_conf --cpu=cortex-a9) + elseif(CPU MATCHES x86_64) + list(APPEND ffmpeg_conf --cpu=x86_64) + list(APPEND ffmpeg_conf --extra-cflags=-mno-stackrealign) else() list(APPEND ffmpeg_conf --cpu=i686 --disable-mmx) + list(APPEND ffmpeg_conf --extra-cflags=-mno-stackrealign) endif() - list(APPEND ffmpeg_conf --target-os=linux --extra-libs=-liconv --disable-linux-perf) elseif(CORE_SYSTEM_NAME STREQUAL darwin_embedded) - if(NOT CPU MATCHES arm64) - list(APPEND ffmpeg_conf --cpu=cortex-a8) - else() - list(APPEND ffmpeg_conf "--as=${NATIVEPREFIX}/bin/gas-preprocessor.pl -arch aarch64 -- ${CMAKE_C_COMPILER}") - endif() - list(APPEND ffmpeg_conf --disable-decoder=mpeg_xvmc --disable-crystalhd --enable-videotoolbox - --target-os=darwin) + list(APPEND ffmpeg_conf --disable-crystalhd + --enable-videotoolbox + --target-os=darwin + ) elseif(CORE_SYSTEM_NAME STREQUAL osx) - list(APPEND ffmpeg_conf --disable-decoder=mpeg_xvmc --disable-crystalhd --enable-videotoolbox + list(APPEND ffmpeg_conf --disable-crystalhd + --enable-videotoolbox --target-os=darwin - --disable-securetransport) + --disable-securetransport + ) endif() -if(CPU MATCHES arm OR CORE_PLATFORM_NAME STREQUAL rbpi) - list(APPEND ffmpeg_conf --enable-pic --disable-armv5te --disable-armv6t2) +if(CPU MATCHES arm) + list(APPEND ffmpeg_conf --disable-armv5te --disable-armv6t2) elseif(CPU MATCHES mips) list(APPEND ffmpeg_conf --disable-mips32r2 --disable-mipsdsp --disable-mipsdspr2) endif() -find_package(GnuTls) +find_package(GnuTLS) if(GNUTLS_FOUND) list(APPEND ffmpeg_conf --enable-gnutls) endif() +if(CPU MATCHES x86 OR CPU MATCHES x86_64) + find_package(NASM REQUIRED) + list(APPEND ffmpeg_conf --x86asmexe=${NASM_EXECUTABLE}) +endif() + +if(ENABLE_DAV1D) + list(APPEND ffmpeg_conf --enable-libdav1d) + set(pkgconf_path "PKG_CONFIG_PATH=${PKG_CONFIG_PATH}") +else() + list(APPEND ffmpeg_conf --disable-libdav1d) +endif() + +if(EXTRA_FLAGS) + string(REPLACE " " ";" EXTRA_FLAGS ${EXTRA_FLAGS}) + list(APPEND ffmpeg_conf ${EXTRA_FLAGS}) +endif() + +list(APPEND ffmpeg_conf ${CONFIGARCH}) + message(STATUS "FFMPEG_CONF: ${ffmpeg_conf}") +set(MAKE_COMMAND $(MAKE)) +if(CMAKE_GENERATOR STREQUAL Ninja) + set(MAKE_COMMAND make) + include(ProcessorCount) + ProcessorCount(N) + if(NOT N EQUAL 0) + set(MAKE_COMMAND make -j${N}) + endif() +endif() + include(ExternalProject) externalproject_add(ffmpeg SOURCE_DIR ${CMAKE_SOURCE_DIR} - CONFIGURE_COMMAND ${pkgconf} <SOURCE_DIR>/configure + CONFIGURE_COMMAND ${pkgconf} ${pkgconf_path} <SOURCE_DIR>/configure --prefix=${CMAKE_INSTALL_PREFIX} --extra-version="kodi-${FFMPEG_VER}" - --disable-devices - --disable-doc - --disable-ffplay - --disable-ffmpeg - --disable-ffprobe - --enable-gpl - --enable-runtime-cpudetect - --enable-postproc - --enable-pthreads - --enable-muxer=spdif - --enable-muxer=adts - --enable-muxer=asf - --enable-muxer=ipod - --enable-encoder=ac3 - --enable-encoder=aac - --enable-encoder=wmav2 - --enable-protocol=http - --enable-encoder=png - --enable-encoder=mjpeg - ${ffmpeg_conf}) + ${ffmpeg_conf} + BUILD_COMMAND ${MAKE_COMMAND}) install(CODE "Message(Done)") diff --git a/tools/depends/target/ffmpeg/FFMPEG-VERSION b/tools/depends/target/ffmpeg/FFMPEG-VERSION index 620fe798de..2c9eda8750 100644 --- a/tools/depends/target/ffmpeg/FFMPEG-VERSION +++ b/tools/depends/target/ffmpeg/FFMPEG-VERSION @@ -1,4 +1,5 @@ LIBNAME=ffmpeg BASE_URL=https://github.com/xbmc/FFmpeg -VERSION=4.0.4-Leia-18.4 +VERSION=4.4.1-Nexus-Alpha1 ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=8beb04d577b5251e74b0d52f4d130997a8ba94bbd488c7c8309e6b45095c27807e150212888ce3a384b23dff52f8df1a7bde5407bae924ddc363f8125c0616c5 diff --git a/tools/depends/target/ffmpeg/FindGnuTls.cmake b/tools/depends/target/ffmpeg/FindGnuTls.cmake deleted file mode 100644 index 68c35d6b7e..0000000000 --- a/tools/depends/target/ffmpeg/FindGnuTls.cmake +++ /dev/null @@ -1,27 +0,0 @@ -# - Try to find gnutls -# Once done this will define -# -# GNUTLS_FOUND - system has gnutls -# GNUTLS_INCLUDE_DIRS - the gnutls include directory -# GNUTLS_LIBRARIES - The gnutls libraries - -include(FindPkgConfig) -find_package(PkgConfig) - -if(PKG_CONFIG_FOUND) - pkg_check_modules (GNUTLS gnutls) -endif() - -if(NOT GNUTLS_FOUND) - find_path(GNUTLS_INCLUDE_DIRS gnutls/gnutls.h) - find_library(GNUTLS_LIBRARIES gnutls) -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(GnuTls DEFAULT_MSG GNUTLS_INCLUDE_DIRS GNUTLS_LIBRARIES) - -if(GNUTLS_FOUND) - list(APPEND GNUTLS_DEFINITIONS -DHAVE_GNUTLS=1) -endif() - -mark_as_advanced(GNUTLS_INCLUDE_DIRS GNUTLS_LIBRARIES GNUTLS_DEFINITIONS) diff --git a/tools/depends/target/ffmpeg/Makefile b/tools/depends/target/ffmpeg/Makefile index 731109ff24..5cdc4ffa3e 100644 --- a/tools/depends/target/ffmpeg/Makefile +++ b/tools/depends/target/ffmpeg/Makefile @@ -1,72 +1,37 @@ include ../../Makefile.include -include FFMPEG-VERSION -DEPS= ../../Makefile.include FFMPEG-VERSION Makefile +include FFMPEG-VERSION ../../download-files.include +DEPS = ../../Makefile.include FFMPEG-VERSION Makefile ../../download-files.include -# set to "yes" to enable patching -# we don't apply patches until we move to a vanilla ffmpeg tarball -APPLY_PATCHES=no +BUILD_TYPE = Release +ifeq ($(DEBUG_BUILD),yes) + BUILD_TYPE = Debug +endif -# configuration settings -ffmpg_config = --prefix=$(PREFIX) --extra-version="kodi-$(VERSION)" -ffmpg_config += --cc="$(CC)" --cxx="$(CXX)" --ar=$(AR) --ranlib=$(RANLIB) --strip=$(STRIP) -ffmpg_config += --disable-devices --disable-doc -ffmpg_config += --disable-ffplay --disable-ffmpeg -ffmpg_config += --disable-ffprobe -ffmpg_config += --disable-sdl2 -ffmpg_config += --enable-gpl --enable-runtime-cpudetect -ffmpg_config += --enable-postproc --enable-pthreads -ffmpg_config += --enable-muxer=spdif --enable-muxer=adts -ffmpg_config += --enable-muxer=asf --enable-muxer=ipod -ffmpg_config += --enable-encoder=ac3 --enable-encoder=aac -ffmpg_config += --enable-encoder=wmav2 --enable-protocol=http -ffmpg_config += --enable-gnutls -ffmpg_config += --enable-encoder=png --enable-encoder=mjpeg -ffmpg_config += $(FFMPEG_CONFIGURE_OPTIONS) +CMAKE_ARGS=-DCMAKE_BUILD_TYPE=$(BUILD_TYPE) \ + -DCMAKE_MODULE_PATH="$(CMAKE_SOURCE_DIR)/cmake/modules;$(CMAKE_SOURCE_DIR)/cmake/modules/buildtools" \ + -DPKG_CONFIG_PATH=$(PREFIX)/lib/pkgconfig \ + -DCMAKE_INSTALL_PREFIX=$(PREFIX) \ + -DFFMPEG_VER=$(VERSION) \ + -DENABLE_DAV1D=ON \ + -DEXTRA_FLAGS="$(FFMPEG_CONFIGURE_OPTIONS)" -ifeq ($(CROSS_COMPILING), yes) - ffmpg_config += --arch=$(CPU) --enable-cross-compile +ifeq ($(USE_CCACHE), yes) + CMAKE_ARGS+= -DENABLE_CCACHE=$(USE_CCACHE) \ + -DCCACHE_PROGRAM=$(CCACHE) endif -ifeq ($(OS), linux) - ffmpg_config += --target-os=$(OS) - ffmpg_config += --enable-pic + +ifeq ($(CROSS_COMPILING), yes) + CMAKE_ARGS+= -DPKG_CONFIG_EXECUTABLE=$(NATIVEPREFIX)/bin/pkg-config \ + -DCROSSCOMPILING=$(CROSS_COMPILING) + -DCMAKE_AR=$(AR) \ + -DCMAKE_RANLIB=$(RANLIB) \ + -DCMAKE_STRIP=$(STRIP) endif + ifeq ($(OS), android) ifeq ($(findstring arm64, $(CPU)), arm64) - ffmpg_config += --arch=aarch64 --cpu=cortex-a53 - else - ifeq ($(findstring arm, $(CPU)), arm) - ffmpg_config += --cpu=cortex-a9 - else - ffmpg_config += --cpu=i686 --disable-mmx - ffmpg_config += --extra-cflags=-no-integrated-as --extra-cflags=-mno-stackrealign - endif - endif - ffmpg_config += --target-os=linux --extra-libs=-liconv --disable-linux-perf -endif -ifeq ($(OS), darwin_embedded) - ifneq ($(CPU), arm64) - ffmpg_config += --cpu=cortex-a8 - ffmpg_config += --as="$(NATIVEPREFIX)/bin/gas-preprocessor.pl -- $(CC)" - else - ffmpg_config += --as="$(NATIVEPREFIX)/bin/gas-preprocessor.pl -arch aarch64 -- $(CC)" + CMAKE_ARGS+= -DENABLE_NEON=YES endif - ffmpg_config += --yasmexe=$(NATIVEPREFIX)/bin/yasm - ffmpg_config += --disable-decoder=mpeg_xvmc --disable-crystalhd --enable-videotoolbox - ffmpg_config += --target-os=darwin -endif -ifeq ($(OS), osx) - ffmpg_config += --disable-decoder=mpeg_xvmc --disable-crystalhd --enable-videotoolbox - ffmpg_config += --target-os=darwin - ffmpg_config += --disable-securetransport -endif -ifeq ($(findstring arm, $(CPU)), arm) - ffmpg_config += --enable-pic --disable-armv5te --disable-armv6t2 -endif -ifeq ($(findstring mips, $(CPU)), mips) - ffmpg_config += --disable-mips32r2 --disable-mipsdsp --disable-mipsdspr2 -endif -ifeq ($(Configuration), Release) - ffmpg_config += --disable-debug endif all: .installed-$(PLATFORM) @@ -74,23 +39,19 @@ all: .installed-$(PLATFORM) $(TARBALLS_LOCATION)/$(ARCHIVE): cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -Ls --create-dirs -f -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) + rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); sed -i".bak" -e "s%pkg_config_default=pkg-config%export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig \&\& pkg_config_default=$(NATIVEPREFIX)/bin/pkg-config%" configure - cd $(PLATFORM);\ - CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \ - ./configure $(ffmpg_config) -ifeq ($(OS), darwin_embedded) - cd $(PLATFORM); sed -i -- 's/HAVE_CLOCK_GETTIME 1/HAVE_CLOCK_GETTIME 0/g' config.h -endif + cd $(PLATFORM); cp ../CMakeLists.txt ./ + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_ARGS) .. .build-$(PLATFORM): $(PLATFORM) - $(MAKE) -C $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build touch $@ .installed-$(PLATFORM): .build-$(PLATFORM) - $(MAKE) -C $(PLATFORM) install + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: diff --git a/tools/depends/target/ffmpeg/autobuild.sh b/tools/depends/target/ffmpeg/autobuild.sh index dc990b8ab0..fcbc8fa452 100755 --- a/tools/depends/target/ffmpeg/autobuild.sh +++ b/tools/depends/target/ffmpeg/autobuild.sh @@ -161,6 +161,7 @@ CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS" \ --enable-pthreads \ --enable-pic \ --enable-zlib \ + --enable-libdav1d \ --disable-mipsdsp \ --disable-mipsdspr2 \ ${FLAGS} diff --git a/tools/depends/target/flatbuffers/FLATBUFFERS-VERSION b/tools/depends/target/flatbuffers/FLATBUFFERS-VERSION new file mode 100644 index 0000000000..4d05761cfa --- /dev/null +++ b/tools/depends/target/flatbuffers/FLATBUFFERS-VERSION @@ -0,0 +1,4 @@ +LIBNAME=flatbuffers +VERSION=2.0.0 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=26a06b572c0e4c9685743bd2d2162ac7dcd74b9324624cc3f3ef5b154c0cee7c52a04b77cdc184245d2d6ae38dfdcc4fd66001c318aa8ca001d2bf1d85d66a89 diff --git a/tools/depends/target/flatbuffers/Makefile b/tools/depends/target/flatbuffers/Makefile index 474ae070a6..cd65e66c7f 100644 --- a/tools/depends/target/flatbuffers/Makefile +++ b/tools/depends/target/flatbuffers/Makefile @@ -1,11 +1,6 @@ -include ../../Makefile.include -DEPS=Makefile - -# lib name, version -LIBNAME=flatbuffers -VERSION=1.11.0 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +include FLATBUFFERS-VERSION +DEPS = Makefile FLATBUFFERS-VERSION ../../download-files.include ifeq ($(PLATFORM),) # Building stand-alone @@ -18,6 +13,8 @@ ifeq ($(PLATFORM),) CMAKE := cmake CMAKE_OPTIONS := -DCMAKE_INSTALL_PREFIX=$(PREFIX) $(CMAKE_OPTIONS) BUILD_FLATC=ON + HASH_TOOL := sha512sum + HASH_TOOL_FLAGS = -c --status else # Building as part of depends DEPS += ../../Makefile.include @@ -36,18 +33,17 @@ CMAKE_OPTIONS := -DCMAKE_BUILD_TYPE=Release \ $(CMAKE_OPTIONS) BUILDDIR = $(PLATFORM)/build-cmake # 'build' conflicts with file BUILD on case-insensitive FS -all: .installed-$(PLATFORM) +include ../../download-files.include -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) +all: .installed-$(PLATFORM) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) ifeq ($(PREFIX),) @echo @echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local" @exit 1 endif - rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + rm -rf ./$(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) mkdir -p $(BUILDDIR) cd $(BUILDDIR); $(CMAKE) $(CMAKE_OPTIONS) .. diff --git a/tools/depends/target/fmt/001-windows-pdb-symbol-gen.patch b/tools/depends/target/fmt/001-windows-pdb-symbol-gen.patch new file mode 100644 index 0000000000..7722f13dd3 --- /dev/null +++ b/tools/depends/target/fmt/001-windows-pdb-symbol-gen.patch @@ -0,0 +1,38 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -249,6 +249,16 @@ + + set(FMT_DEBUG_POSTFIX d CACHE STRING "Debug library postfix.") + ++if (WIN32 OR WINDOWS_STORE) ++ set_target_properties(fmt PROPERTIES ++ VERSION ${FMT_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR} ++ OUTPUT_NAME fmt ++ OUTPUT_NAME_DEBUG fmt${FMT_DEBUG_POSTFIX} ++ COMPILE_PDB_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} ++ COMPILE_PDB_NAME fmt ++ COMPILE_PDB_NAME_DEBUG fmt${FMT_DEBUG_POSTFIX} ++ ) ++endif() + set_target_properties(fmt PROPERTIES + VERSION ${FMT_VERSION} SOVERSION ${CPACK_PACKAGE_VERSION_MAJOR} + PUBLIC_HEADER "${FMT_HEADERS}" +@@ -339,6 +350,18 @@ + install(EXPORT ${targets_export_name} DESTINATION ${FMT_CMAKE_DIR} + NAMESPACE fmt::) + ++ # Install COMPILE_PDB Files for windows ++ if(NOT BUILD_SHARED_LIBS AND (WIN32 OR WINDOWS_STORE)) ++ install(FILES ${PROJECT_BINARY_DIR}/RelWithDebInfo/fmt.pdb ++ DESTINATION lib ++ CONFIGURATIONS RelWithDebInfo ++ ) ++ install(FILES ${PROJECT_BINARY_DIR}/Debug/fmtd.pdb ++ DESTINATION lib ++ CONFIGURATIONS Debug ++ ) ++ endif() ++ + install(FILES $<TARGET_PDB_FILE:${INSTALL_TARGETS}> + DESTINATION ${FMT_LIB_DIR} OPTIONAL) + install(FILES "${pkgconfig}" DESTINATION "${FMT_PKGCONFIG_DIR}") diff --git a/tools/depends/target/fmt/FMT-VERSION b/tools/depends/target/fmt/FMT-VERSION new file mode 100644 index 0000000000..f887185bd7 --- /dev/null +++ b/tools/depends/target/fmt/FMT-VERSION @@ -0,0 +1,6 @@ +LIBNAME=fmt +VERSION=9.1.0 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=a18442042722dd48e20714ec034a12fcc0576c9af7be5188586970e2edf47529825bdc99af366b1d5891630c8dbf6f63bfa9f012e77ab3d3ed80d1a118e3b2be +BYPRODUCT=libfmt.a +BYPRODUCT_WIN=fmt.lib diff --git a/tools/depends/target/libfmt/Makefile b/tools/depends/target/fmt/Makefile index 6c61bceaa9..abff52527d 100644 --- a/tools/depends/target/libfmt/Makefile +++ b/tools/depends/target/fmt/Makefile @@ -1,18 +1,13 @@ -include ../../Makefile.include -DEPS = Makefile +include FMT-VERSION +DEPS = Makefile FMT-VERSION ../../download-files.include \ + 001-windows-pdb-symbol-gen.patch -# lib name, version -LIBNAME=fmt -VERSION=5.1.0 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz - -CMAKE_OPTIONS=-DFMT_DOC=OFF -DFMT_INSTALL=ON -DFMT_TEST=OFF -DFMT_USE_CPP11=ON +CMAKE_OPTIONS=-DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS:BOOL=OFF -DFMT_DOC=OFF -DFMT_INSTALL=ON -DFMT_TEST=OFF ifeq ($(CROSS_COMPILING), yes) DEPS += ../../Makefile.include else - CXXFLAGS += -std=c++11 ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) ifeq ($(PLATFORM),) @@ -25,19 +20,20 @@ else ARCHIVE_TOOL_FLAGS := --strip-components=1 -xf CMAKE := cmake CMAKE_OPTIONS := -DCMAKE_INSTALL_PREFIX=$(PREFIX) $(CMAKE_OPTIONS) + HASH_TOOL := sha512sum endif endif -LIBDYLIB=$(PLATFORM)/build/$(LIBNAME)/libfmt.a +LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT) + +include ../../download-files.include .PHONY: .installed-native all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) ifeq ($(PREFIX),) @echo @echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local" @@ -46,6 +42,7 @@ endif rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); rm -rf build; mkdir -p build + cd $(PLATFORM); patch -p1 -i ../001-windows-pdb-symbol-gen.patch cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. $(LIBDYLIB): $(PLATFORM) @@ -61,4 +58,3 @@ clean: distclean:: rm -rf $(PLATFORM) .installed-$(PLATFORM) - diff --git a/tools/depends/target/fontconfig/01-disable-test.patch b/tools/depends/target/fontconfig/01-disable-test.patch deleted file mode 100644 index f3c6cfe3c1..0000000000 --- a/tools/depends/target/fontconfig/01-disable-test.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Makefile.am -+++ b/Makefile.am -@@ -24,7 +24,7 @@ - SUBDIRS=fontconfig fc-case fc-lang src \ - fc-cache fc-cat fc-conflist fc-list fc-match \ - fc-pattern fc-query fc-scan fc-validate conf.d \ -- its po po-conf test -+ its po po-conf - if ENABLE_DOCS - SUBDIRS += doc - endif diff --git a/tools/depends/target/fontconfig/FONTCONFIG-VERSION b/tools/depends/target/fontconfig/FONTCONFIG-VERSION new file mode 100644 index 0000000000..60e2d311df --- /dev/null +++ b/tools/depends/target/fontconfig/FONTCONFIG-VERSION @@ -0,0 +1,7 @@ +LIBNAME=fontconfig +VERSION=2.14.0 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz +SHA512=a5257249d031b3cd1a7b1521cd58f48d235a970020da4136a727db5407ec98e74a3776bc467d7e39f30ec664f56ff9fe39068317744a5e737a65109f7a005bfc +BYPRODUCT=libfontconfig.a + +BASE_URL=https://www.freedesktop.org/software/fontconfig/release diff --git a/tools/depends/target/fontconfig/Makefile b/tools/depends/target/fontconfig/Makefile index 9cc0ec27db..4386e54f0a 100644 --- a/tools/depends/target/fontconfig/Makefile +++ b/tools/depends/target/fontconfig/Makefile @@ -1,37 +1,41 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include 01-disable-test.patch lconv.patch fix-aarch64_atomics.patch Makefile +include ../../Makefile.include FONTCONFIG-VERSION ../../download-files.include +DEPS = ../../Makefile.include FONTCONFIG-VERSION Makefile ../../download-files.include -# lib name, version -LIBNAME=fontconfig -VERSION=2.13.1 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.bz2 +# configuration settings +MESON_BUILD_TYPE=release + +ifeq ($(DEBUG_BUILD), yes) + MESON_BUILD_TYPE=debug +endif # configuration settings -CONFIGURE=./configure --prefix=$(PREFIX) \ - --disable-libxml2 --disable-docs --with-arch=$(PLATFORM) --disable-shared +CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \ + --buildtype=$(MESON_BUILD_TYPE) \ + --prefix=$(PREFIX) \ + -Ddoc=disabled \ + -Dtests=disabled \ + -Dtools=disabled \ + -Ddefault_library=static -LIBDYLIB=$(PLATFORM)/src/.libs/lib$(LIBNAME).a +ifeq ($(CROSS_COMPILING), yes) + CONFIGURE += -Dcache-build=disabled \ + --cross-file $(PREFIX)/share/cross-file.meson +endif -all: .installed-$(PLATFORM) +LIBDYLIB=$(PLATFORM)/build/src/$(BYPRODUCT) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) +all: .installed-$(PLATFORM) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); patch -p1 -i ../01-disable-test.patch - cd $(PLATFORM); patch -p1 -i ../lconv.patch - cd $(PLATFORM); patch -p1 -i ../fix-aarch64_atomics.patch - cd $(PLATFORM); $(AUTORECONF) -vif - cd $(PLATFORM); $(CONFIGURE) + cd $(PLATFORM); $(CONFIGURE) . build $(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) + cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install + cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install touch $@ clean: diff --git a/tools/depends/target/fontconfig/fix-aarch64_atomics.patch b/tools/depends/target/fontconfig/fix-aarch64_atomics.patch deleted file mode 100644 index 67ec51deeb..0000000000 --- a/tools/depends/target/fontconfig/fix-aarch64_atomics.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- a/src/fcatomic.h -+++ b/src/fcatomic.h -@@ -70,18 +70,18 @@ - #elif !defined(FC_NO_MT) && defined(__APPLE__) - - #include <libkern/OSAtomic.h> --#ifdef __MAC_OS_X_MIN_REQUIRED - #include <AvailabilityMacros.h> --#elif defined(__IPHONE_OS_MIN_REQUIRED) --#include <Availability.h> --#endif - - typedef int fc_atomic_int_t; - #define fc_atomic_int_add(AI, V) (OSAtomicAdd32Barrier ((V), &(AI)) - (V)) - - #define fc_atomic_ptr_get(P) (OSMemoryBarrier (), (void *) *(P)) - #if (MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_4 || __IPHONE_VERSION_MIN_REQUIRED >= 20100) -+#if __aarch64__ -+#define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P)) -+#else - #define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwapPtrBarrier ((void *) (O), (void *) (N), (void **) (P)) -+#endif - #else - #if __ppc64__ || __x86_64__ - #define fc_atomic_ptr_cmpexch(P,O,N) OSAtomicCompareAndSwap64Barrier ((int64_t) (O), (int64_t) (N), (int64_t*) (P)) diff --git a/tools/depends/target/fontconfig/lconv.patch b/tools/depends/target/fontconfig/lconv.patch deleted file mode 100644 index 2b26619373..0000000000 --- a/tools/depends/target/fontconfig/lconv.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/src/fcxml.c -+++ b/src/fcxml.c -@@ -1330,6 +1330,7 @@ - static double - FcStrtod (char *s, char **end) - { -+#if 0 - #ifndef __BIONIC__ - struct lconv *locale_data; - #endif -@@ -1387,6 +1388,7 @@ - else - v = strtod (s, end); - return v; -+#endif - } - - static void diff --git a/tools/depends/target/freetype2-noharfbuzz/01-darwinembedded-incorrecttoolchain.patch b/tools/depends/target/freetype2-noharfbuzz/01-darwinembedded-incorrecttoolchain.patch new file mode 100644 index 0000000000..256718e6cb --- /dev/null +++ b/tools/depends/target/freetype2-noharfbuzz/01-darwinembedded-incorrecttoolchain.patch @@ -0,0 +1,12 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -149,8 +149,7 @@ + # iOS only uses static libraries + set(BUILD_SHARED_LIBS OFF) + +- set(CMAKE_TOOLCHAIN_FILE +- ${CMAKE_SOURCE_DIR}/builds/cmake/iOS.cmake) ++ include(${CMAKE_SOURCE_DIR}/builds/cmake/iOS.cmake) + endif () + else () + if (DEFINED IOS_PLATFORM) diff --git a/tools/depends/target/freetype2-noharfbuzz/FREETYPE2-NOHARFBUZZ-VERSION b/tools/depends/target/freetype2-noharfbuzz/FREETYPE2-NOHARFBUZZ-VERSION new file mode 100644 index 0000000000..eba6f0e091 --- /dev/null +++ b/tools/depends/target/freetype2-noharfbuzz/FREETYPE2-NOHARFBUZZ-VERSION @@ -0,0 +1,5 @@ +LIBNAME=freetype +VERSION=2.11.1 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz +SHA512=0848678482fbe20603a866f02da82c91122014d6f815ba4f1d9c03601c32e3ceb781f721c2b4427b6117d7c9742018af8dbb26566faf018595c70b50f8db3f08 +BYPRODUCT=libfreetype.a diff --git a/tools/depends/target/freetype2-noharfbuzz/Makefile b/tools/depends/target/freetype2-noharfbuzz/Makefile new file mode 100644 index 0000000000..e4a9fec384 --- /dev/null +++ b/tools/depends/target/freetype2-noharfbuzz/Makefile @@ -0,0 +1,51 @@ +include ../../Makefile.include FREETYPE2-NOHARFBUZZ-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile FREETYPE2-NOHARFBUZZ-VERSION ../../download-files.include \ + 01-darwinembedded-incorrecttoolchain.patch + +# Freetype has a circular dependency with harfbuzz. +# To enable harfbuzz support in freetype, we build this first to bootstrap harfbuzz +# and then build freetype2 again with harfbuzz support + +CMAKE_OPTIONS=-DBUILD_SHARED_LIBS=OFF \ + -DFT_DISABLE_ZLIB=ON \ + -DFT_DISABLE_BZIP2=ON \ + -DFT_DISABLE_PNG=ON \ + -DFT_DISABLE_HARFBUZZ=ON \ + -DFT_DISABLE_BROTLI=ON + +ifeq ($(OS), darwin_embedded) + # We need SDKROOT without the /SDKs/*.sdk for IOS_DEVELOPER_ROOT + DEV_ROOT=$(shell awk -v sdk=$(SDKROOT) 'BEGIN{ split(sdk, a, /\/SDKs/); print a[1]}') + + CMAKE_OPTIONS+= -DIOS_PLATFORM=OS \ + -DCMAKE_AR=$(AR) \ + -DCMAKE_OSX_ARCHITECTURES=$(CPU) \ + -DCMAKE_IOS_DEVELOPER_ROOT=$(DEV_ROOT) \ + -DCMAKE_IOS_SDK_ROOT=$(SDKROOT) +endif + +LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT) + +all: .installed-$(PLATFORM) + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) +ifeq ($(OS),darwin_embedded) + cd $(PLATFORM); patch -p1 -i ../01-darwinembedded-incorrecttoolchain.patch +endif + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. + +$(LIBDYLIB): $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build + +.installed-$(PLATFORM): $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build install + touch $@ + +clean: + $(MAKE) -C $(PLATFORM)/build clean + rm -f .installed-$(PLATFORM) + +distclean:: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/target/freetype2/01-darwinembedded-incorrecttoolchain.patch b/tools/depends/target/freetype2/01-darwinembedded-incorrecttoolchain.patch new file mode 100644 index 0000000000..256718e6cb --- /dev/null +++ b/tools/depends/target/freetype2/01-darwinembedded-incorrecttoolchain.patch @@ -0,0 +1,12 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -149,8 +149,7 @@ + # iOS only uses static libraries + set(BUILD_SHARED_LIBS OFF) + +- set(CMAKE_TOOLCHAIN_FILE +- ${CMAKE_SOURCE_DIR}/builds/cmake/iOS.cmake) ++ include(${CMAKE_SOURCE_DIR}/builds/cmake/iOS.cmake) + endif () + else () + if (DEFINED IOS_PLATFORM) diff --git a/tools/depends/target/freetype2/FREETYPE2-VERSION b/tools/depends/target/freetype2/FREETYPE2-VERSION new file mode 100644 index 0000000000..eba6f0e091 --- /dev/null +++ b/tools/depends/target/freetype2/FREETYPE2-VERSION @@ -0,0 +1,5 @@ +LIBNAME=freetype +VERSION=2.11.1 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz +SHA512=0848678482fbe20603a866f02da82c91122014d6f815ba4f1d9c03601c32e3ceb781f721c2b4427b6117d7c9742018af8dbb26566faf018595c70b50f8db3f08 +BYPRODUCT=libfreetype.a diff --git a/tools/depends/target/freetype2/Makefile b/tools/depends/target/freetype2/Makefile index a2c82b757b..886959982d 100644 --- a/tools/depends/target/freetype2/Makefile +++ b/tools/depends/target/freetype2/Makefile @@ -1,39 +1,49 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile - -# lib name, version -LIBNAME=freetype -VERSION=2.10.1 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.xz - -# configuration settings -# force using internal libtool -export LIBTOOL=builds/unix/libtool -CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) builds/unix; \ - ./configure --prefix=$(PREFIX) --disable-shared --with-png=no - -LIBDYLIB=$(PLATFORM)/objs/.libs/lib$(LIBNAME).a +include ../../Makefile.include FREETYPE2-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile FREETYPE2-VERSION ../../download-files.include \ + 01-darwinembedded-incorrecttoolchain.patch + +# explicitly disable PNG and ZLIB due to Apple platforms causing failures +# with pkg-config not finding zlib due to no .pc when using system zlib +# this effects fontconfig, libbluray +CMAKE_OPTIONS=-DBUILD_SHARED_LIBS=OFF \ + -DFT_REQUIRE_BZIP2=ON \ + -DFT_REQUIRE_HARFBUZZ=ON \ + -DFT_DISABLE_BROTLI=ON \ + -DFT_DISABLE_PNG=ON \ + -DFT_DISABLE_ZLIB=ON + +ifeq ($(OS), darwin_embedded) + # We need SDKROOT without the /SDKs/*.sdk for IOS_DEVELOPER_ROOT + DEV_ROOT=$(shell awk -v sdk=$(SDKROOT) 'BEGIN{ split(sdk, a, /\/SDKs/); print a[1]}') + + CMAKE_OPTIONS+= -DIOS_PLATFORM=OS \ + -DCMAKE_AR=$(AR) \ + -DCMAKE_OSX_ARCHITECTURES=$(CPU) \ + -DCMAKE_IOS_DEVELOPER_ROOT=$(DEV_ROOT) \ + -DCMAKE_IOS_SDK_ROOT=$(SDKROOT) +endif + +LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) - rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); $(CONFIGURE) +ifeq ($(OS),darwin_embedded) + cd $(PLATFORM); patch -p1 -i ../01-darwinembedded-incorrecttoolchain.patch +endif + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. $(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build -.installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install +.installed-$(PLATFORM): $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: - $(MAKE) -C $(PLATFORM) clean + $(MAKE) -C $(PLATFORM)/build clean rm -f .installed-$(PLATFORM) distclean:: diff --git a/tools/depends/target/fribidi/FRIBIDI-VERSION b/tools/depends/target/fribidi/FRIBIDI-VERSION new file mode 100644 index 0000000000..2f1bcbdda1 --- /dev/null +++ b/tools/depends/target/fribidi/FRIBIDI-VERSION @@ -0,0 +1,5 @@ +LIBNAME=fribidi +VERSION=1.0.11 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.xz +SHA512=6afde86784de06759f18235ccb44f23261a975f7cce0021b16755065a6a8ed84d7d5fb7fdcaadd691b48011efb4bfc2ee67555e5133a294a418cca1a0c85476c diff --git a/tools/depends/target/fribidi/Makefile b/tools/depends/target/fribidi/Makefile index 1a7afb4225..2545089933 100644 --- a/tools/depends/target/fribidi/Makefile +++ b/tools/depends/target/fribidi/Makefile @@ -1,34 +1,42 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +include ../../Makefile.include FRIBIDI-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile FRIBIDI-VERSION ../../download-files.include -# lib name, version -LIBNAME=fribidi -VERSION=1.0.5 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.bz2 +MESON_BUILD_TYPE=release + +ifeq ($(DEBUG_BUILD), yes) + MESON_BUILD_TYPE=debug +endif # configuration settings -CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ - ./configure --prefix=$(PREFIX) --disable-shared --with-glib=no +CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \ + --buildtype=$(MESON_BUILD_TYPE) \ + --prefix=$(PREFIX) \ + --cross-file $(PREFIX)/share/cross-file.meson \ + -Ddocs=false \ + -Dtests=false \ + -Dbin=false \ + -Ddefault_library=static -LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a +export CC_FOR_BUILD +export CFLAGS_FOR_BUILD = $(NATIVE_CFLAGS) +export LDFLAGS_FOR_BUILD = $(NATIVE_LDFLAGS) -all: .installed-$(PLATFORM) +export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) +LIBDYLIB=$(PLATFORM)/build/lib/lib$(LIBNAME).a -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +all: .installed-$(PLATFORM) + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); $(CONFIGURE) + cd $(PLATFORM); $(CONFIGURE) . build $(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) - touch $@ + cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install + cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install touch $@ clean: diff --git a/tools/depends/target/fstrcmp/FSTRCMP-VERSION b/tools/depends/target/fstrcmp/FSTRCMP-VERSION new file mode 100644 index 0000000000..4712cadb7b --- /dev/null +++ b/tools/depends/target/fstrcmp/FSTRCMP-VERSION @@ -0,0 +1,5 @@ +LIBNAME=fstrcmp +VERSION=0.7.D001 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=aaeb0227afd5ada5955cbe6a565254ff88d2028d677d199c00e03b7cb5de1f2c69b18e6e8b032e452350a8eda7081807b01765adbeb8476eaf803d9de6e5509c +BYPRODUCT=libfstrcmp.a diff --git a/tools/depends/target/libfstrcmp/Makefile b/tools/depends/target/fstrcmp/Makefile index 2d9868e44b..a0a61e46e7 100644 --- a/tools/depends/target/libfstrcmp/Makefile +++ b/tools/depends/target/fstrcmp/Makefile @@ -1,23 +1,14 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile - -# lib name, version -LIBNAME=fstrcmp -VERSION=0.7.D001 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +include ../../Makefile.include FSTRCMP-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile FSTRCMP-VERSION ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) -LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a +LIBDYLIB=$(PLATFORM)/lib/.libs/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); autoreconf -vif; $(CONFIGURE) diff --git a/tools/depends/target/gettext/Makefile b/tools/depends/target/gettext/Makefile index 9bf449c2d1..23cf678b77 100644 --- a/tools/depends/target/gettext/Makefile +++ b/tools/depends/target/gettext/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=gettext -VERSION=0.19.8 +VERSION=0.21 SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +ARCHIVE=$(SOURCE).tar.xz +SHA512=f7e2968651879f8444d43a176a149db9f9411f4a03132a7f3b37c2ed97e3978ae6888169c995c1953cb78943b6e3573811abcbb8661b6631edbbe067b2699ddf +include ../../download-files.include # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) build-aux/; \ @@ -22,10 +24,8 @@ LIBDYLIB=$(PLATFORM)/gettext-runtime/intl/.libs/libintl.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/target/gmp/Makefile b/tools/depends/target/gmp/Makefile index 1bc119f71e..9c3e85752b 100644 --- a/tools/depends/target/gmp/Makefile +++ b/tools/depends/target/gmp/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=gmp -VERSION=6.1.2 +VERSION=6.2.1 SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.bz2 +ARCHIVE=$(SOURCE).tar.xz +SHA512=c99be0950a1d05a0297d65641dd35b75b74466f7bf03c9e8a99895a3b2f9a0856cd17887738fa51cf7499781b65c049769271cbcb77d057d2e9f1ec52e07dd84 +include ../../download-files.include # ABI selection ifeq ($(OS),linux) @@ -23,12 +25,15 @@ CONFIGURE_FLAGS=--disable-assembly endif ifeq ($(OS),osx) CONFIGURE_FLAGS=--with-pic +ifeq ($(CPU),arm64) +CONFIGURE_FLAGS+= --disable-assembly +endif endif ifeq ($(OS), android) CONFIGURE_FLAGS=--with-pic endif ifeq ($(NATIVE_OS), osx) -CONFIGURE_FLAGS+= CC_FOR_BUILD="$(CC_FOR_BUILD)" CPP_FOR_BUILD="$(CC_FOR_BUILD) -E" +CONFIGURE_FLAGS+= CC_FOR_BUILD="$(CC_FOR_BUILD) $(NATIVE_CFLAGS)" endif # configuration settings @@ -40,10 +45,8 @@ LIBDYLIB=$(PLATFORM)/.libs/lib$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM)/config.status: $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM)/config.status: $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/target/gnutls/01-macos-clang-accel.patch b/tools/depends/target/gnutls/01-macos-clang-accel.patch new file mode 100644 index 0000000000..cf9647e940 --- /dev/null +++ b/tools/depends/target/gnutls/01-macos-clang-accel.patch @@ -0,0 +1,22 @@ +--- a/lib/accelerated/aarch64/Makefile.am ++++ b/lib/accelerated/aarch64/Makefile.am +@@ -34,7 +34,7 @@ + endif + + #ensure that we have all aarch64 instruction sets enabled for the assembler +-AM_CCASFLAGS = -Wa,-march=all ++#AM_CCASFLAGS = -Wa,-march=all + + EXTRA_DIST = README + +--- a/lib/accelerated/aarch64/Makefile.in ++++ b/lib/accelerated/aarch64/Makefile.in +@@ -1634,7 +1634,7 @@ + -I$(srcdir)/../../ -I$(srcdir)/../ $(am__append_1) + + #ensure that we have all aarch64 instruction sets enabled for the assembler +-AM_CCASFLAGS = -Wa,-march=all ++#AM_CCASFLAGS = -Wa,-march=all + EXTRA_DIST = README + noinst_LTLIBRARIES = libaarch64.la + libaarch64_la_SOURCES = aarch64-common.c aarch64-common.h \ diff --git a/tools/depends/target/gnutls/02-darwin-getentropy.patch b/tools/depends/target/gnutls/02-darwin-getentropy.patch deleted file mode 100644 index 300490c12f..0000000000 --- a/tools/depends/target/gnutls/02-darwin-getentropy.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -220,6 +220,7 @@ - rnd_variant=getrandom], - [AC_MSG_RESULT(no)]) - -+if test "x$have_macosx" != "xyes"; then - AC_MSG_CHECKING([for getentropy]) - AC_LINK_IFELSE([AC_LANG_PROGRAM([ - #include <unistd.h> -@@ -233,6 +234,7 @@ - AC_DEFINE([HAVE_GETENTROPY], 1, [Enable the OpenBSD getentropy function]) - rnd_variant=getentropy], - [AC_MSG_RESULT(no)]) -+fi - - AM_CONDITIONAL(HAVE_GETENTROPY, test "$rnd_variant" = "getentropy") - diff --git a/tools/depends/target/gnutls/03-support-correct-cisdigit.patch b/tools/depends/target/gnutls/03-support-correct-cisdigit.patch new file mode 100644 index 0000000000..66e55be91f --- /dev/null +++ b/tools/depends/target/gnutls/03-support-correct-cisdigit.patch @@ -0,0 +1,10 @@ +--- a/gl/c-ctype.h ++++ b/gl/c-ctype.h +@@ -229,6 +229,7 @@ + } + } + ++__attribute__((always_inline)) + C_CTYPE_INLINE bool + c_isdigit (int c) + { diff --git a/tools/depends/target/gnutls/Makefile b/tools/depends/target/gnutls/Makefile index d5e7dbb99d..30bf8e297d 100644 --- a/tools/depends/target/gnutls/Makefile +++ b/tools/depends/target/gnutls/Makefile @@ -1,37 +1,33 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile size-max.patch 02-darwin-getentropy.patch +DEPS = ../../Makefile.include Makefile ../../download-files.include \ + add-dl-as-private-lib.patch \ + 01-macos-clang-accel.patch 03-support-correct-cisdigit.patch # lib name, version LIBNAME=gnutls -VERSION=3.5.10 +VERSION=3.6.16 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.xz - -ifeq (darwin, $(findstring darwin, $(HOST))) -# darwins tar doesn't know about xz - so we need our native version of tar here -ARCHIVE_TOOL=$(ARCHIVE_TOOL_NATIVE) -CONFIGURE_HACKS = ac_cv_func_vfork_works=no -CONFIGURE_HACKS+= ac_cv_func_fork=no -endif +SHA512=72c78d7fcb024393c1d15f2a1856608ae4460ba43cc5bbbb4c29b80508cae6cb822df4638029de2363437d110187e0a3cc19a7288c3b2f44b2f648399a028438 +include ../../download-files.include # configuration settings -CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ - ./configure --prefix=$(PREFIX) --disable-shared --without-p11-kit --disable-nls --with-included-unistring \ +CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --without-p11-kit --disable-nls --with-included-unistring \ --with-included-libtasn1 --enable-local-libopts --disable-doc --disable-tests --disable-guile \ - $(CONFIGURE_HACKS) + --disable-tools $(CONFIGURE_OPTIONS) LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); patch -p1 -i ../size-max.patch - cd $(PLATFORM); patch -p1 -i ../02-darwin-getentropy.patch + cd $(PLATFORM); patch -p1 -i ../add-dl-as-private-lib.patch +ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin) + cd $(PLATFORM); patch -p1 -i ../01-macos-clang-accel.patch +endif + cd $(PLATFORM); patch -p1 -i ../03-support-correct-cisdigit.patch cd $(PLATFORM); $(AUTORECONF) -vif cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/target/gnutls/add-dl-as-private-lib.patch b/tools/depends/target/gnutls/add-dl-as-private-lib.patch new file mode 100644 index 0000000000..8531ac9259 --- /dev/null +++ b/tools/depends/target/gnutls/add-dl-as-private-lib.patch @@ -0,0 +1,22 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -552,6 +552,9 @@ + + + AC_LIB_HAVE_LINKFLAGS(dl,, [#include <dlfcn.h>], [dladdr (0, 0);]) ++if test "x$HAVE_LIBDL" = "xyes"; then ++ AC_SUBST([LIBDL], [-ldl]) ++fi + + AC_ARG_ENABLE(fips140-mode, + AS_HELP_STRING([--enable-fips140-mode], [enable FIPS140-2 mode]), +--- a/lib/gnutls.pc.in ++++ b/lib/gnutls.pc.in +@@ -19,6 +19,6 @@ + URL: https://www.gnutls.org/ + Version: @VERSION@ + Libs: -L${libdir} -lgnutls +-Libs.private: @LIBINTL@ @LIBSOCKET@ @INET_PTON_LIB@ @LIBPTHREAD@ @LIB_SELECT@ @TSS_LIBS@ @GMP_LIBS@ @LIBUNISTRING@ @LIBATOMIC_LIBS@ @GNUTLS_LIBS_PRIVATE@ ++Libs.private: @LIBINTL@ @LIBSOCKET@ @INET_PTON_LIB@ @LIBPTHREAD@ @LIB_SELECT@ @TSS_LIBS@ @GMP_LIBS@ @LIBUNISTRING@ @LIBATOMIC_LIBS@ @GNUTLS_LIBS_PRIVATE@ @LIBDL@ + @GNUTLS_REQUIRES_PRIVATE@ + Cflags: -I${includedir} diff --git a/tools/depends/target/gnutls/size-max.patch b/tools/depends/target/gnutls/size-max.patch deleted file mode 100644 index fd4acfd977..0000000000 --- a/tools/depends/target/gnutls/size-max.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/gl/read-file.c -+++ b/gl/read-file.c -@@ -27,6 +27,7 @@ - - /* Get SIZE_MAX. */ - #include <stdint.h> -+#include <limits.h> - - /* Get malloc, realloc, free. */ - #include <stdlib.h> ---- a/src/gl/read-file.c -+++ b/src/gl/read-file.c -@@ -27,6 +27,7 @@ - - /* Get SIZE_MAX. */ - #include <stdint.h> -+#include <limits.h> - - /* Get malloc, realloc, free. */ - #include <stdlib.h> diff --git a/tools/depends/target/gtest/GTEST-VERSION b/tools/depends/target/gtest/GTEST-VERSION new file mode 100644 index 0000000000..3e6dd4200b --- /dev/null +++ b/tools/depends/target/gtest/GTEST-VERSION @@ -0,0 +1,5 @@ +LIBNAME=gtest +VERSION=1.11.0 +ARCHIVE=googletest-$(VERSION).tar.gz +SHA512=6fcc7827e4c4d95e3ae643dd65e6c4fc0e3d04e1778b84f6e06e390410fe3d18026c131d828d949d2f20dde6327d30ecee24dcd3ef919e21c91e010d149f3a28 +BYPRODUCT=libgtest.a diff --git a/tools/depends/target/gtest/Makefile b/tools/depends/target/gtest/Makefile new file mode 100644 index 0000000000..0b892a1213 --- /dev/null +++ b/tools/depends/target/gtest/Makefile @@ -0,0 +1,25 @@ +include ../../Makefile.include GTEST-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile GTEST-VERSION ../../download-files.include + +LIBDYLIB=$(PLATFORM)/build/lib/$(BYPRODUCT) + +all: .installed-$(PLATFORM) + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); $(CMAKE) -B build -DBUILD_GMOCK:BOOL=OFF + +$(LIBDYLIB): $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build + +.installed-$(PLATFORM): $(LIBDYLIB) + $(MAKE) -C $(PLATFORM)/build install + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean:: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/target/harfbuzz/Makefile b/tools/depends/target/harfbuzz/Makefile new file mode 100644 index 0000000000..4cf4ea85ae --- /dev/null +++ b/tools/depends/target/harfbuzz/Makefile @@ -0,0 +1,62 @@ +include ../../Makefile.include +DEPS = ../../Makefile.include Makefile ../../download-files.include + +# lib name, version +LIBNAME=harfbuzz +VERSION=3.1.1 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.gz +SHA512=ccb1c840d07e28871893c40b2bb687cc78dfd25992ee20192f1faf8cae4356f401abd5947d7480a268edea10dd9f1d1d7e113b29b6e2d958220bf53799ae01b0 +include ../../download-files.include + +MESON_BUILD_TYPE=release + +ifeq ($(DEBUG_BUILD), yes) + MESON_BUILD_TYPE=debug +endif + +# configuration settings +CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \ + --buildtype=$(MESON_BUILD_TYPE) \ + --prefix=$(PREFIX) \ + -Ddocs=disabled \ + -Dtests=disabled \ + -Dicu_builtin=false \ + -Dfreetype=enabled \ + -Dintrospection=disabled \ + -Ddefault_library=static + +ifeq ($(CROSS_COMPILING), yes) +CONFIGURE += --cross-file $(PREFIX)/share/cross-file.meson +export CC=$(CC_FOR_BUILD) +export CXX=$(CXX_FOR_BUILD) +export CFLAGS=$(CFLAGS_FOR_BUILD) +export CXXFLAGS=$(CXXFLAGS_FOR_BUILD) +else +export CC CXX CFLAGS CXXFLAGS +endif +export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig + +LIBDYLIB=$(PLATFORM)/build/lib/lib$(LIBNAME).a + +all: .installed-$(PLATFORM) + + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); $(CONFIGURE) . build + +$(LIBDYLIB): $(PLATFORM) + cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v + +.installed-$(PLATFORM): $(LIBDYLIB) + cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean:: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/target/iosentitlements/Makefile b/tools/depends/target/iosentitlements/Makefile deleted file mode 100644 index eaf99e84e0..0000000000 --- a/tools/depends/target/iosentitlements/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile ios11_entitlements.xml - -IOS11_ENT=$(PREFIX)/share/ios11_entitlements.xml - -all: $(IOS11_ENT) - -$(IOS11_ENT): - mkdir -p $(PREFIX)/share - cp ios11_entitlements.xml $(IOS11_ENT) - - -clean: -distclean:: - rm -f $(IOS11_ENT) diff --git a/tools/depends/target/iosentitlements/ios11_entitlements.xml b/tools/depends/target/iosentitlements/ios11_entitlements.xml deleted file mode 100644 index ca7826950b..0000000000 --- a/tools/depends/target/iosentitlements/ios11_entitlements.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>com.apple.springboard.opensensitiveurl</key> - <true/> - <key>com.apple.coremedia.allow-protected-content-playback</key> - <true/> - <key>com.apple.coreaudio.allow-amr-decode</key> - <true/> - <key>com.apple.springboard.launchapplications</key> - <true/> - <key>com.apple.managedconfiguration.profiled-access</key> - <true/> - <key>platform-application</key> - <true/> - <key>com.apple.private.security.no-container</key> - <true/> - <key>com.apple.private.skip-library-validation</key> - <true/> - <key>com.apple.CommCenter.fine-grained</key> - <array> - <string>spi</string> - </array> - <key>keychain-access-groups</key> - <array> - <string>com.apple.cfnetwork</string> - <string>com.apple.identities</string> - <string>com.apple.mobilesafari</string> - </array> -</dict> -</plist> diff --git a/tools/depends/target/libandroidjni/LIBANDROIDJNI-VERSION b/tools/depends/target/libandroidjni/LIBANDROIDJNI-VERSION new file mode 100644 index 0000000000..069ebf8fa8 --- /dev/null +++ b/tools/depends/target/libandroidjni/LIBANDROIDJNI-VERSION @@ -0,0 +1,6 @@ +LIBNAME=libandroidjni +VERSION=dfa7bee830a288ec42769d4b85407e9f6b4d5665 +BASE_URL=https://github.com/xbmc/libandroidjni/archive +ARCHIVE=$(VERSION).tar.gz +SHA512=8fda0ac0477cfe274e4a37349061c1200fc8fa32ef1abccef5dc7c859b59b95691dda9378497eb8fc5f7114ed11dcf64ecaf0e6abab822559ede6122dfa3ffdb +BYPRODUCT=libandroidjni.a diff --git a/tools/depends/target/libandroidjni/Makefile b/tools/depends/target/libandroidjni/Makefile index aae83b32ad..f97aee3c6f 100644 --- a/tools/depends/target/libandroidjni/Makefile +++ b/tools/depends/target/libandroidjni/Makefile @@ -1,25 +1,15 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +include ../../Makefile.include LIBANDROIDJNI-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile LIBANDROIDJNI-VERSION ../../download-files.include -# lib name, version -LIBNAME=libandroidjni -VERSION=fc24c9cc507a244a587fa590f6882a588b9fc927 -SOURCE=archive -ARCHIVE=$(VERSION).tar.gz -GIT_BASE_URL=https://github.com/xbmc - -LIBDYLIB=$(PLATFORM)/$(LIBNAME)/.libs/$(LIBNAME).a +LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(GIT_BASE_URL)/$(LIBNAME)/$(SOURCE)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); rm -rf build; mkdir -p build - cd $(PLATFORM)/build; $(CMAKE) -DCMAKE_LIBRARY_PATH=$(TOOLCHAIN)/lib/$(HOST) .. + cd $(PLATFORM)/build; $(CMAKE) .. $(LIBDYLIB): $(PLATFORM) $(MAKE) -C $(PLATFORM)/build @@ -29,9 +19,8 @@ $(LIBDYLIB): $(PLATFORM) touch $@ clean: - $(MAKE) -C $(PLATFORM) clean + $(MAKE) -C $(PLATFORM)/build clean rm -f .installed-$(PLATFORM) distclean:: rm -rf $(PLATFORM) .installed-$(PLATFORM) - diff --git a/tools/depends/target/libass/Makefile b/tools/depends/target/libass/Makefile index 34c9d26819..6085889629 100644 --- a/tools/depends/target/libass/Makefile +++ b/tools/depends/target/libass/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=libass -VERSION=0.13.4 +VERSION=0.15.2 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=3b8022ca500d4a9e19e9b7106e29d23d4bca20012619c829bc3e77437bcb3c7bd8364800f7daeb3f2d8400afc7bbcaab487c7b30c429d9aed70e37ce4cb265a2 +include ../../download-files.include # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ @@ -15,10 +17,8 @@ LIBDYLIB=$(PLATFORM)/$(LIBNAME)/.libs/$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(AUTORECONF) -vif diff --git a/tools/depends/target/libbluray/001-darwinembed_DiskArbitration-revert.patch b/tools/depends/target/libbluray/001-darwinembed_DiskArbitration-revert.patch new file mode 100644 index 0000000000..b339b2caac --- /dev/null +++ b/tools/depends/target/libbluray/001-darwinembed_DiskArbitration-revert.patch @@ -0,0 +1,88 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -46,7 +46,6 @@ + ;; + *darwin*) + SYS=darwin +- EXTRA_LIBS="${EXTRA_LIBS} -framework CoreFoundation -framework DiskArbitration" + ;; + netbsd*) + SYS=netbsd +--- a/src/file/mount_darwin.c ++++ b/src/file/mount_darwin.c +@@ -29,53 +29,36 @@ + + #define _DARWIN_C_SOURCE + #include <sys/stat.h> ++#include <sys/param.h> ++#include <sys/ucred.h> ++#include <sys/mount.h> + +-#include <DiskArbitration/DADisk.h> +- +-static char *bsdname_get_mountpoint(const char *device_path) ++char *mount_get_mountpoint(const char *device_path) + { +- char *result = NULL; ++ struct stat st; ++ if (stat (device_path, &st) ) { ++ return str_dup(device_path); ++ } + +- DASessionRef session = DASessionCreate(kCFAllocatorDefault); +- if (session) { +- DADiskRef disk = DADiskCreateFromBSDName(kCFAllocatorDefault, session, device_path); +- if (disk) { +- CFDictionaryRef desc = DADiskCopyDescription(disk); +- if (desc) { +- // Get Volume path as CFURL +- CFURLRef url = CFDictionaryGetValue(desc, kDADiskDescriptionVolumePathKey); +- if (url) { +- // Copy Volume path as C char array +- char tmp_path[PATH_MAX]; +- if (CFURLGetFileSystemRepresentation(url, true, (UInt8*)tmp_path, sizeof(tmp_path))) { +- result = str_dup(tmp_path); +- } +- } +- CFRelease(desc); +- } +- CFRelease(disk); +- } +- CFRelease(session); ++ /* If it's a directory, all is good */ ++ if (S_ISDIR(st.st_mode)) { ++ return str_dup(device_path); + } + +- return result; +-} ++ struct statfs mbuf[128]; ++ int fs_count; + ++ if ( (fs_count = getfsstat (NULL, 0, MNT_NOWAIT)) != -1 ) { + +-char *mount_get_mountpoint(const char *device_path) +-{ +- struct stat st; +- if (stat(device_path, &st) == 0) { +- // If it's a directory, all is good +- if (S_ISDIR(st.st_mode)) { +- return str_dup(device_path); +- } +- } ++ getfsstat (mbuf, fs_count * sizeof(mbuf[0]), MNT_NOWAIT); + +- char *mountpoint = bsdname_get_mountpoint(device_path); +- if (mountpoint) { +- return mountpoint; ++ for ( int i = 0; i < fs_count; ++i) { ++ if (!strcmp (mbuf[i].f_mntfromname, device_path)) { ++ return str_dup (mbuf[i].f_mntonname); ++ } ++ } + } + +- return str_dup(device_path); ++ return str_dup (device_path); + } ++ diff --git a/tools/depends/target/libbluray/LIBBLURAY-VERSION b/tools/depends/target/libbluray/LIBBLURAY-VERSION new file mode 100644 index 0000000000..c34fdc14f2 --- /dev/null +++ b/tools/depends/target/libbluray/LIBBLURAY-VERSION @@ -0,0 +1,5 @@ +LIBNAME=libbluray +VERSION=1.3.2 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2 +SHA512=6f2d3a984809db33a99d2fe3618370a3fda3ef1c417b725d3c2e1f24ff21495f95a6a5f78b30b2b26bab47865f68dd08c08e8a554809d3a5225956da712dc064 +BYPRODUCT=libbluray.a diff --git a/tools/depends/target/libbluray/Makefile b/tools/depends/target/libbluray/Makefile index 62f9b8de49..db157b0f93 100644 --- a/tools/depends/target/libbluray/Makefile +++ b/tools/depends/target/libbluray/Makefile @@ -1,34 +1,31 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile tvos.patch - -# lib name, version -LIBNAME=libbluray -VERSION=1.1.2 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.bz2 +include ../../Makefile.include LIBBLURAY-VERSION ../../download-files.include +DEPS = ../../Makefile.include LIBBLURAY-VERSION Makefile ../../download-files.include \ + 001-darwinembed_DiskArbitration-revert.patch \ + tvos.patch # configuration settings -CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --exec-prefix=$(PREFIX) \ - --disable-examples --disable-doxygen-doc \ - --disable-bdjava-jar +CONFIGURE=./configure --prefix=$(PREFIX) \ + --disable-shared \ + --exec-prefix=$(PREFIX) \ + --disable-examples \ + --disable-doxygen-doc \ + --disable-bdjava-jar -LIBDYLIB=$(PLATFORM)/.libs/libbluray.la +LIBDYLIB=$(PLATFORM)/.libs/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - # libbluray has borked Makefile.am with respect to CFLAGS, remove the offending line - sed -i -e "s|CFLAGS=|#CFLAGS=|" $(PLATFORM)/Makefile.am - cd $(PLATFORM); ./bootstrap - cd $(PLATFORM); $(CONFIGURE) +ifeq ($(OS),darwin_embedded) + cd $(PLATFORM); patch -p1 -i ../001-darwinembed_DiskArbitration-revert.patch +endif ifeq ($(TARGET_PLATFORM),appletvos) cd $(PLATFORM); patch -p1 -i ../tvos.patch endif + cd $(PLATFORM); ./bootstrap + cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) $(MAKE) -C $(PLATFORM) diff --git a/tools/depends/target/libbluray/tvos.patch b/tools/depends/target/libbluray/tvos.patch index d9fb4a5d00..35252b0eb7 100644 --- a/tools/depends/target/libbluray/tvos.patch +++ b/tools/depends/target/libbluray/tvos.patch @@ -1,6 +1,6 @@ --- a/src/libbluray/bdj/bdj.c +++ b/src/libbluray/bdj/bdj.c -@@ -252,7 +252,7 @@ +@@ -256,7 +256,7 @@ return NULL; } @@ -9,7 +9,7 @@ { case -1: BD_DEBUG(DBG_BDJ | DBG_CRIT, "vfork failed\n"); -@@ -284,7 +284,7 @@ +@@ -288,7 +288,7 @@ waitpid(java_home_pid, &exitcode, 0); } diff --git a/tools/depends/target/libcdio-gplv3/01-fix-glob-on-android.patch b/tools/depends/target/libcdio-gplv3/01-fix-glob-on-android.patch new file mode 100644 index 0000000000..672c48fe65 --- /dev/null +++ b/tools/depends/target/libcdio-gplv3/01-fix-glob-on-android.patch @@ -0,0 +1,38 @@ +--- a/lib/driver/image/bincue.c ++++ b/lib/driver/image/bincue.c +@@ -1,3 +1,4 @@ ++ + /* + Copyright (C) 2002-2006, 2008, 2011-2012, 2014, 2017 + Rocky Bernstein <rocky@gnu.org> +@@ -1045,7 +1046,7 @@ + { + char **drives = NULL; + unsigned int num_files=0; +-#ifdef HAVE_GLOB_H ++#if defined(HAVE_GLOB_H) && !defined(__ANDROID__) + unsigned int i; + glob_t globbuf; + globbuf.gl_offs = 0; +--- a/lib/driver/image/cdrdao.c ++++ b/lib/driver/image/cdrdao.c +@@ -1149,7 +1149,7 @@ + { + char **drives = NULL; + unsigned int num_files=0; +-#ifdef HAVE_GLOB_H ++#if defined(HAVE_GLOB_H) && !defined(__ANDROID__) + unsigned int i; + glob_t globbuf; + globbuf.gl_offs = 0; +--- a/lib/driver/image/nrg.c ++++ b/lib/driver/image/nrg.c +@@ -1167,7 +1167,7 @@ + { + char **drives = NULL; + unsigned int num_files=0; +-#ifdef HAVE_GLOB_H ++#if defined(HAVE_GLOB_H) && !defined(__ANDROID__) + unsigned int i; + glob_t globbuf; + globbuf.gl_offs = 0; diff --git a/tools/depends/target/libcdio-gplv3/Makefile b/tools/depends/target/libcdio-gplv3/Makefile index 0a3705d4f0..dfbc21d0b0 100644 --- a/tools/depends/target/libcdio-gplv3/Makefile +++ b/tools/depends/target/libcdio-gplv3/Makefile @@ -1,29 +1,30 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile osx.patch osx2.patch +DEPS = ../../Makefile.include Makefile osx.patch 01-fix-glob-on-android.patch ../../download-files.include # lib name, version LIBNAME=libcdio -VERSION=0.94 +VERSION=2.1.0 SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +ARCHIVE=$(SOURCE).tar.bz2 +SHA512=c290821da55fd9ae366670a58857aa6efcebc9f25b7caea063cf12f9cbda84fe770c5f59f972227fda50517ca58c5f39c0137daa0f93179e3daa45303d8b610f +include ../../download-files.include + # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ ./configure --prefix=$(PREFIX) --with-cd-drive=no --with-cd-info=no \ --with-cdda-player=no --with-cd-read=no --with-iso-info=no --with-iso-read=no --disable-example-progs \ - --disable-cpp-progs --disable-cxx --disable-shared + --disable-cpp-progs --enable-cxx --disable-shared LIBDYLIB=$(PLATFORM)/lib/driver/.libs/$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../osx.patch - cd $(PLATFORM); patch -p1 -i ../osx2.patch + cd $(PLATFORM); patch -p1 -i ../01-fix-glob-on-android.patch cd $(PLATFORM); $(AUTORECONF) -vif cd $(PLATFORM); $(CONFIGURE) @@ -34,7 +35,6 @@ $(LIBDYLIB): $(PLATFORM) $(MAKE) -C $(PLATFORM)/lib install $(MAKE) -C $(PLATFORM)/include install $(MAKE) -C $(PLATFORM) install-data-am - cp $(PLATFORM)/include/cdio/cdtext.h $(PREFIX)/include/cdio/ touch $@ clean: diff --git a/tools/depends/target/libcdio-gplv3/osx.patch b/tools/depends/target/libcdio-gplv3/osx.patch index ebbf6c7184..b981f38e03 100644 --- a/tools/depends/target/libcdio-gplv3/osx.patch +++ b/tools/depends/target/libcdio-gplv3/osx.patch @@ -1,6 +1,6 @@ --- a/configure.ac +++ b/configure.ac -@@ -373,14 +373,14 @@ +@@ -376,14 +376,14 @@ esac AC_SUBST(native_abs_top_srcdir) @@ -12,8 +12,8 @@ ## AC_DEFINE([HAVE_AIX_CDROM], [1], ## [Define 1 if you have AIX CD-ROM support]) ;; -- darwin[[6-9]].*|darwin1[[0-6]].*) -+ *86*-apple-darwin*) +- darwin[[6-9]].*|darwin[[1-9]][[0-9]].*) ++ x86_64-apple-darwin*) AC_CHECK_HEADERS(IOKit/IOKitLib.h CoreFoundation/CFBase.h, [have_iokit_h="yes"]) if test "x$have_iokit_h" = "xyes" ; then diff --git a/tools/depends/target/libcdio-gplv3/osx2.patch b/tools/depends/target/libcdio-gplv3/osx2.patch deleted file mode 100644 index b75d99f85d..0000000000 --- a/tools/depends/target/libcdio-gplv3/osx2.patch +++ /dev/null @@ -1,1637 +0,0 @@ -From 09eb9abcf3cf4322984f6072fb656116dc59a8b0 Mon Sep 17 00:00:00 2001 -From: "R. Bernstein" <rocky@gnu.org> -Date: Fri, 15 Sep 2017 22:08:08 -0400 -Subject: [PATCH] (High) Sierra compatiablity... - -osx.c: Use libcdio version of assert, not OSX's. -check_cdtext.sh: return should only be used inside functions ---- - lib/driver/osx.c | 572 +++++++++++++++++++++++++-------------------------- - test/check_cdtext.sh | 10 +- - 2 files changed, 291 insertions(+), 291 deletions(-) - ---- a/lib/driver/osx.c -+++ b/lib/driver/osx.c -@@ -1,7 +1,7 @@ - /* - Copyright (C) 2003-2006, 2008, 2010-2012, 2014-2015 -- Rocky Bernstein <rocky@gnu.org> -- from vcdimager code: -+ Rocky Bernstein <rocky@gnu.org> -+ from vcdimager code: - Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org> - and VideoLAN code Copyright (C) 1998-2001 VideoLAN - Authors: Johan Bilien <jobi@via.ecp.fr> -@@ -24,7 +24,7 @@ - along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - --/* This file contains OSX-specific code and implements low-level -+/* This file contains OSX-specific code and implements low-level - control of the CD drive. - */ - -@@ -34,7 +34,7 @@ - - #ifdef HAVE_STDBOOL_H - # include <stdbool.h> --#endif -+#endif - - #include <cdio/logging.h> - #include <cdio/sector.h> -@@ -55,14 +55,14 @@ - TR_UNKNOWN = 10 /**< Unspecified error */, - TR_STREAMING = 11 /**< loss of streaming */, - } transport_error_t; -- -+ - #include "cdio_assert.h" - #include "cdio_private.h" - - #include <string.h> - - #ifdef HAVE_DARWIN_CDROM --#undef VERSION -+#undef VERSION - - #include <CoreFoundation/CoreFoundation.h> - #include <IOKit/IOKitLib.h> -@@ -141,9 +141,9 @@ - - #define MAX_SERVICE_NAME 1000 - typedef struct { -- /* Things common to all drivers like this. -+ /* Things common to all drivers like this. - This must be first. */ -- generic_img_private_t gen; -+ generic_img_private_t gen; - - access_mode_t access_mode; - -@@ -163,7 +163,7 @@ - SCSITaskInterface **scsi_task; - MMCDeviceInterface **mmc; - IOCFPlugInInterface **plugin; -- -+ - SCSI_Sense_Data sense; - SCSITaskStatus status; - UInt64 realized_len; -@@ -172,7 +172,7 @@ - } _img_private_t; - - static bool read_toc_osx (void *p_user_data); --static track_format_t get_track_format_osx(void *p_user_data, -+static track_format_t get_track_format_osx(void *p_user_data, - track_t i_track); - - /** -@@ -185,9 +185,9 @@ - { - IOReturn err = kIOReturnSuccess; - CFMutableDictionaryRef dict = 0; -- -- err = IORegistryEntryCreateCFProperties (service, &dict, -- kCFAllocatorDefault, 0); -+ -+ err = IORegistryEntryCreateCFProperties (service, &dict, -+ kCFAllocatorDefault, 0); - if ( err != kIOReturnSuccess ) - cdio_warn( "IORegistryEntryCreateCFProperties: 0x%08x", err ); - -@@ -205,27 +205,27 @@ - kern_return_t kern_result; - io_iterator_t service_iterator; - CFMutableDictionaryRef classes_to_match; -- -+ - kern_result = IOMasterPort( MACH_PORT_NULL, &master_port ); - if( kern_result != KERN_SUCCESS ) - { - return false; - } -- -+ - classes_to_match = IOServiceMatching( kIOBlockStorageDeviceClass ); - if( classes_to_match == NULL ) - { - return false; - } -- -- kern_result = IOServiceGetMatchingServices( master_port, -+ -+ kern_result = IOServiceGetMatchingServices( master_port, - classes_to_match, - &service_iterator ); - if( kern_result != KERN_SUCCESS ) - { - return false; - } -- -+ - next_service = IOIteratorNext( service_iterator ); - if( next_service != 0 ) - { -@@ -234,7 +234,7 @@ - IOServiceRequestProbe( next_service, 0 ); - - IOObjectRelease( next_service ); -- -+ - } while( ( next_service = IOIteratorNext( service_iterator ) ) != 0 ); - } - IOObjectRelease( service_iterator ); -@@ -248,11 +248,11 @@ - SInt32 score; - kern_return_t err; - HRESULT herr; -- -- err = IOCreatePlugInInterfaceForService(p_env->MediaClass_service, -+ -+ err = IOCreatePlugInInterfaceForService(p_env->MediaClass_service, - kIOMMCDeviceUserClientTypeID, - kIOCFPlugInInterfaceID, -- &p_env->plugin, -+ &p_env->plugin, - &score); - - if (err != noErr) { -@@ -269,24 +269,24 @@ - IODestroyPlugInInterface(p_env->plugin); - return false; - } -- -- p_env->pp_scsiTaskDeviceInterface = -+ -+ p_env->pp_scsiTaskDeviceInterface = - (*p_env->mmc)->GetSCSITaskDeviceInterface(p_env->mmc); -- -+ - if (!p_env->pp_scsiTaskDeviceInterface) { -- fprintf(stderr, -+ fprintf(stderr, - "Could not get SCSITaskkDevice interface from MMC interface.\n"); - (*p_env->mmc)->Release(p_env->mmc); - IODestroyPlugInInterface(p_env->plugin); - return false; - } -- -+ - err = (*p_env->pp_scsiTaskDeviceInterface)-> - ObtainExclusiveAccess(p_env->pp_scsiTaskDeviceInterface); - if (err != kIOReturnSuccess) { - fprintf(stderr, "Could not obtain exclusive access to the device (%x).\n", - err); -- -+ - if (err == kIOReturnBusy) - fprintf(stderr, "The volume is already mounted.\n"); - else if (err == kIOReturnExclusiveAccess) -@@ -294,18 +294,18 @@ - "to this device.\n"); - else - fprintf(stderr, "I don't know why.\n"); -- -+ - (*p_env->pp_scsiTaskDeviceInterface)-> - Release(p_env->pp_scsiTaskDeviceInterface); - (*p_env->mmc)->Release(p_env->mmc); - IODestroyPlugInInterface(p_env->plugin); - return false; - } -- -- p_env->scsi_task = -- (*p_env->pp_scsiTaskDeviceInterface) -> -+ -+ p_env->scsi_task = -+ (*p_env->pp_scsiTaskDeviceInterface) -> - CreateSCSITask(p_env->pp_scsiTaskDeviceInterface); -- -+ - if (!p_env->scsi_task) { - fprintf(stderr, "Could not create a SCSITask interface.\n"); - (*p_env->pp_scsiTaskDeviceInterface)-> -@@ -316,12 +316,12 @@ - IODestroyPlugInInterface(p_env->plugin); - return false; - } -- -+ - return true; - } - #endif - --static bool -+static bool - init_osx(_img_private_t *p_env) { - char *psz_devname; - kern_return_t ret; -@@ -344,36 +344,36 @@ - ++psz_devname; - else - psz_devname = p_env->gen.source_name; -- -+ - /* Unraw the device name. */ - if( *psz_devname == 'r' ) - ++psz_devname; -- -- ret = IOServiceGetMatchingServices( kIOMasterPortDefault, -- IOBSDNameMatching(kIOMasterPortDefault, -+ -+ ret = IOServiceGetMatchingServices( kIOMasterPortDefault, -+ IOBSDNameMatching(kIOMasterPortDefault, - 0, psz_devname), - &iterator ); -- -+ - /* Get service iterator for the device. */ - if( ret != KERN_SUCCESS ) - { - cdio_warn( "IOServiceGetMatchingServices: 0x%08x", ret ); - return false; - } -- -+ - /* first service */ - p_env->MediaClass_service = IOIteratorNext( iterator ); - IOObjectRelease( iterator ); - -- /* search for kIOCDMediaClass or kIODVDMediaClass or kIOBDMediaClass */ -- while( p_env->MediaClass_service && -+ /* search for kIOCDMediaClass or kIODVDMediaClass or kIOBDMediaClass */ -+ while( p_env->MediaClass_service && - (!IOObjectConformsTo(p_env->MediaClass_service, kIOCDMediaClass)) && - (!IOObjectConformsTo(p_env->MediaClass_service, kIODVDMediaClass)) && - (!IOObjectConformsTo(p_env->MediaClass_service, kIOBDMediaClass)) ) - { - -- ret = IORegistryEntryGetParentIterator( p_env->MediaClass_service, -- kIOServicePlane, -+ ret = IORegistryEntryGetParentIterator( p_env->MediaClass_service, -+ kIOServicePlane, - &iterator ); - if( ret != KERN_SUCCESS ) - { -@@ -381,13 +381,13 @@ - IOObjectRelease( p_env->MediaClass_service ); - return false; - } -- -+ - IOObjectRelease( p_env->MediaClass_service ); - - p_env->MediaClass_service = IOIteratorNext( iterator ); - IOObjectRelease( iterator ); - } -- -+ - if ( 0 == p_env->MediaClass_service ) { - cdio_warn( "search for kIOCDMediaClass/kIODVDMediaClass/kIOBDMediaClass came up empty" ); - return false; -@@ -397,26 +397,26 @@ - another scan. FIXME: this is hoaky and there's got to be a better - variable to test or way to do. - */ -- IORegistryEntryGetPath(p_env->MediaClass_service, kIOServicePlane, -+ IORegistryEntryGetPath(p_env->MediaClass_service, kIOServicePlane, - p_env->psz_MediaClass_service); - #ifdef GET_SCSI_FIXED - return get_scsi(p_env); --#else -+#else - return true; - #endif - } - - /** -- Run a SCSI MMC command. -- -+ Run a SCSI MMC command. -+ - cdio CD structure set by cdio_open(). - i_timeout time in milliseconds we will wait for the command -- to complete. If this value is -1, use the default -+ to complete. If this value is -1, use the default - time-out value. - p_buf Buffer for data, both sending and receiving - i_buf Size of buffer - e_direction direction the transfer is to go. -- cdb CDB bytes. All values that are needed should be set on -+ cdb CDB bytes. All values that are needed should be set on - input. We'll figure out what the right CDB length should be. - - We return true if command completed successfully and false if not. -@@ -424,11 +424,11 @@ - #if 1 - - /* process a complete scsi command. */ --static int --run_mmc_cmd_osx( void *p_user_data, -+static int -+run_mmc_cmd_osx( void *p_user_data, - unsigned int i_timeout_ms, -- unsigned int i_cdb, const mmc_cdb_t *p_cdb, -- cdio_mmc_direction_t e_direction, -+ unsigned int i_cdb, const mmc_cdb_t *p_cdb, -+ cdio_mmc_direction_t e_direction, - unsigned int i_buf, /*in/out*/ void *p_buf ) - { - _img_private_t *p_env = p_user_data; -@@ -442,13 +442,13 @@ - p_env->gen.scsi_mmc_sense_valid = 0; - memcpy(cmdbuf, p_cdb, i_cdb); - -- dir = -- (SCSI_MMC_DATA_READ == e_direction) -+ dir = -+ (SCSI_MMC_DATA_READ == e_direction) - ? kSCSIDataTransfer_FromTargetToInitiator : -- (SCSI_MMC_DATA_WRITE == e_direction) -+ (SCSI_MMC_DATA_WRITE == e_direction) - ? kSCSIDataTransfer_FromInitiatorToTarget - : kSCSIDataTransfer_NoDataTransfer; -- -+ - if (!i_buf) - dir = kSCSIDataTransfer_NoDataTransfer; - -@@ -460,51 +460,51 @@ - buf.address = (IOVirtualAddress)p_buf; - buf.length = i_buf; - -- ret = (*p_env->scsi_task)->SetCommandDescriptorBlock(p_env->scsi_task, -+ ret = (*p_env->scsi_task)->SetCommandDescriptorBlock(p_env->scsi_task, - cmdbuf, i_cdb); - if (ret != kIOReturnSuccess) { - fprintf(stderr, "SetCommandDescriptorBlock: %x\n", ret); - return TR_UNKNOWN; - } -- -+ - ret = (*p_env->scsi_task)->SetScatterGatherEntries(p_env->scsi_task, &buf, 1, - i_buf, dir); - if (ret != kIOReturnSuccess) { - fprintf(stderr, "SetScatterGatherEntries: %x\n", ret); - return TR_UNKNOWN; - } -- -- ret = (*p_env->scsi_task)->ExecuteTaskSync(p_env->scsi_task, &p_env->sense, -- &p_env->status, -+ -+ ret = (*p_env->scsi_task)->ExecuteTaskSync(p_env->scsi_task, &p_env->sense, -+ &p_env->status, - &p_env->realized_len); - if (ret != kIOReturnSuccess) { - fprintf(stderr, "ExecuteTaskSync: %x\n", ret); - return TR_UNKNOWN; - } -- -+ - if (p_env->status != kSCSITaskStatus_GOOD) { - int i; -- -+ - fprintf(stderr, "SCSI status: %x\n", p_env->status); - fprintf(stderr, "Sense: %x %x %x\n", - p_env->sense.SENSE_KEY, - p_env->sense.ADDITIONAL_SENSE_CODE, - p_env->sense.ADDITIONAL_SENSE_CODE_QUALIFIER); -- -+ - for (i = 0; i < i_cdb; i++) - fprintf(stderr, "%02x ", cmdbuf[i]); -- -+ - fprintf(stderr, "\n"); - memcpy((void *) p_env->gen.scsi_mmc_sense, &p_env->sense, kSenseDefaultSize); - - return TR_UNKNOWN; - } -- -+ - if (p_env->sense.VALID_RESPONSE_CODE) { - char key = p_env->sense.SENSE_KEY & 0xf; - char ASC = p_env->sense.ADDITIONAL_SENSE_CODE; - char ASCQ = p_env->sense.ADDITIONAL_SENSE_CODE_QUALIFIER; -- -+ - switch (key) { - case 0: - if (errno == 0) -@@ -549,31 +549,31 @@ - - #if 0 - /** -- Run a SCSI MMC command. -- -+ Run a SCSI MMC command. -+ - cdio CD structure set by cdio_open(). - i_timeout time in milliseconds we will wait for the command -- to complete. If this value is -1, use the default -+ to complete. If this value is -1, use the default - time-out value. - p_buf Buffer for data, both sending and receiving - i_buf Size of buffer - e_direction direction the transfer is to go. -- cdb CDB bytes. All values that are needed should be set on -+ cdb CDB bytes. All values that are needed should be set on - input. We'll figure out what the right CDB length should be. - - We return true if command completed successfully and false if not. - */ - static int --run_mmc_cmd_osx( const void *p_user_data, -+run_mmc_cmd_osx( const void *p_user_data, - unsigned int i_timeout_ms, -- unsigned int i_cdb, const mmc_cdb_t *p_cdb, -- cdio_mmc_direction_t e_direction, -+ unsigned int i_cdb, const mmc_cdb_t *p_cdb, -+ cdio_mmc_direction_t e_direction, - unsigned int i_buf, /*in/out*/ void *p_buf ) - { - - #ifndef SCSI_MMC_FIXED - return DRIVER_OP_UNSUPPORTED; --#else -+#else - const _img_private_t *p_env = p_user_data; - SCSITaskDeviceInterface **sc; - SCSITaskInterface **cmd = NULL; -@@ -603,16 +603,16 @@ - iov.address = (IOVirtualAddress) p_buf; - iov.length = i_buf; - -- ioReturnValue = (*cmd)->SetCommandDescriptorBlock(cmd, (UInt8 *) p_cdb, -+ ioReturnValue = (*cmd)->SetCommandDescriptorBlock(cmd, (UInt8 *) p_cdb, - i_cdb); - if (ioReturnValue != kIOReturnSuccess) { -- cdio_warn("SetCommandDescriptorBlock failed with status %x", -+ cdio_warn("SetCommandDescriptorBlock failed with status %x", - ioReturnValue); - return -1; - } - - ioReturnValue = (*cmd)->SetScatterGatherEntries(cmd, &iov, 1, i_buf, -- (SCSI_MMC_DATA_READ == e_direction ) ? -+ (SCSI_MMC_DATA_READ == e_direction ) ? - kSCSIDataTransfer_FromTargetToInitiator : - kSCSIDataTransfer_FromInitiatorToTarget); - if (ioReturnValue != kIOReturnSuccess) { -@@ -652,17 +652,17 @@ - static io_iterator_t - GetDeviceIterator ( const char * deviceClass ) - { -- -+ - IOReturn err = kIOReturnSuccess; - io_iterator_t iterator = MACH_PORT_NULL; -- -+ - err = IOServiceGetMatchingServices ( kIOMasterPortDefault, - IOServiceMatching ( deviceClass ), - &iterator ); -- check ( err == kIOReturnSuccess ); -- -+ cdio_assert ( err == kIOReturnSuccess ); -+ - return iterator; -- -+ - } - - /*************************************************************************** -@@ -677,27 +677,27 @@ - { - CFDictionaryRef propertiesDict = 0; - CFNumberRef flagsNumberRef = 0; -- -+ - *i_cdFlags = 0; - *i_dvdFlags= 0; -- -- propertiesDict = ( CFDictionaryRef ) -- CFDictionaryGetValue ( dict, -+ -+ propertiesDict = ( CFDictionaryRef ) -+ CFDictionaryGetValue ( dict, - CFSTR ( kIOPropertyDeviceCharacteristicsKey ) ); - - if ( propertiesDict == 0 ) return false; -- -+ - /* Get the CD features */ -- flagsNumberRef = ( CFNumberRef ) -- CFDictionaryGetValue ( propertiesDict, -+ flagsNumberRef = ( CFNumberRef ) -+ CFDictionaryGetValue ( propertiesDict, - CFSTR ( kIOPropertySupportedCDFeatures ) ); - if ( flagsNumberRef != 0 ) { - CFNumberGetValue ( flagsNumberRef, kCFNumberLongType, i_cdFlags ); - } -- -+ - /* Get the DVD features */ -- flagsNumberRef = ( CFNumberRef ) -- CFDictionaryGetValue ( propertiesDict, -+ flagsNumberRef = ( CFNumberRef ) -+ CFDictionaryGetValue ( propertiesDict, - CFSTR ( kIOPropertySupportedDVDFeatures ) ); - if ( flagsNumberRef != 0 ) { - CFNumberGetValue ( flagsNumberRef, kCFNumberLongType, i_dvdFlags ); -@@ -722,32 +722,32 @@ - - if ( propertiesDict == 0 ) return i_discmode; - -- data = ( CFStringRef ) -+ data = ( CFStringRef ) - CFDictionaryGetValue ( propertiesDict, CFSTR ( kIODVDMediaTypeKey ) ); - - if( CFStringGetCString( data, str, sizeof(str), - kCFStringEncodingASCII ) ) { - if (0 == strncmp(str, "DVD+R", strlen(str)) ) - i_discmode = CDIO_DISC_MODE_DVD_PR; -- else if (0 == strncmp(str, "DVD+RW", strlen(str)) ) -+ else if (0 == strncmp(str, "DVD+RW", strlen(str)) ) - i_discmode = CDIO_DISC_MODE_DVD_PRW; -- else if (0 == strncmp(str, "DVD-R", strlen(str)) ) -+ else if (0 == strncmp(str, "DVD-R", strlen(str)) ) - i_discmode = CDIO_DISC_MODE_DVD_R; -- else if (0 == strncmp(str, "DVD-RW", strlen(str)) ) -+ else if (0 == strncmp(str, "DVD-RW", strlen(str)) ) - i_discmode = CDIO_DISC_MODE_DVD_RW; -- else if (0 == strncmp(str, "DVD-ROM", strlen(str)) ) -+ else if (0 == strncmp(str, "DVD-ROM", strlen(str)) ) - i_discmode = CDIO_DISC_MODE_DVD_ROM; -- else if (0 == strncmp(str, "DVD-RAM", strlen(str)) ) -+ else if (0 == strncmp(str, "DVD-RAM", strlen(str)) ) - i_discmode = CDIO_DISC_MODE_DVD_RAM; - else if (0 == strncmp(str, "CD-ROM", strlen(str)) ) - i_discmode = CDIO_DISC_MODE_CD_DATA; -- else if (0 == strncmp(str, "CDR", strlen(str)) ) -+ else if (0 == strncmp(str, "CDR", strlen(str)) ) - i_discmode = CDIO_DISC_MODE_CD_DATA; -- else if (0 == strncmp(str, "CDRW", strlen(str)) ) -+ else if (0 == strncmp(str, "CDRW", strlen(str)) ) - i_discmode = CDIO_DISC_MODE_CD_DATA; - //?? Handled by below? CFRelease( data ); - } -- CFRelease( propertiesDict ); -+ CFRelease( propertiesDict ); - if (CDIO_DISC_MODE_CD_DATA == i_discmode) { - /* Need to do more classification */ - return get_discmode_cd_generic(p_user_data); -@@ -761,11 +761,11 @@ - { - io_service_t service; - io_iterator_t service_iterator; -- -+ - service_iterator = GetDeviceIterator ( kIOCDBlockStorageDeviceClassString ); - - if( service_iterator == MACH_PORT_NULL ) return 0; -- -+ - service = IOIteratorNext( service_iterator ); - if( service == 0 ) return 0; - -@@ -774,21 +774,21 @@ - char psz_service[MAX_SERVICE_NAME]; - IORegistryEntryGetPath(service, kIOServicePlane, psz_service); - psz_service[MAX_SERVICE_NAME-1] = '\0'; -- -+ - /* FIXME: This is all hoaky. Here we need info from a parent class, - psz_service of what we opened above. We are relying on the - fact that the name will be a substring of the name we - openned with. - */ -- if (0 == strncmp(psz_service, p_env->psz_MediaClass_service, -+ if (0 == strncmp(psz_service, p_env->psz_MediaClass_service, - strlen(psz_service))) { - /* Found our device */ - IOObjectRelease( service_iterator ); - return service; - } -- -+ - IOObjectRelease( service ); -- -+ - } while( ( service = IOIteratorNext( service_iterator ) ) != 0 ); - - IOObjectRelease( service_iterator ); -@@ -806,56 +806,56 @@ - uint32_t i_dvdFlags; - - io_service_t service = get_drive_service_osx(p_env); -- -+ - if( service == 0 ) goto err_exit; - - /* Found our device */ - { - CFDictionaryRef properties = GetRegistryEntryProperties ( service ); -- -- if (! GetFeaturesFlagsForDrive ( properties, &i_cdFlags, -+ -+ if (! GetFeaturesFlagsForDrive ( properties, &i_cdFlags, - &i_dvdFlags ) ) { - IOObjectRelease( service ); - goto err_exit; - } -- -+ - /* Reader */ -- -+ - if ( 0 != (i_cdFlags & kCDFeaturesAnalogAudioMask) ) -- *p_read_cap |= CDIO_DRIVE_CAP_READ_AUDIO; -- -- if ( 0 != (i_cdFlags & kCDFeaturesWriteOnceMask) ) -+ *p_read_cap |= CDIO_DRIVE_CAP_READ_AUDIO; -+ -+ if ( 0 != (i_cdFlags & kCDFeaturesWriteOnceMask) ) - *p_write_cap |= CDIO_DRIVE_CAP_WRITE_CD_R; -- -+ - if ( 0 != (i_cdFlags & kCDFeaturesCDDAStreamAccurateMask) ) - *p_read_cap |= CDIO_DRIVE_CAP_READ_CD_DA; -- -+ - if ( 0 != (i_dvdFlags & kDVDFeaturesReadStructuresMask) ) - *p_read_cap |= CDIO_DRIVE_CAP_READ_DVD_ROM; -- -+ - if ( 0 != (i_cdFlags & kCDFeaturesReWriteableMask) ) - *p_write_cap |= CDIO_DRIVE_CAP_WRITE_CD_RW; -- -- if ( 0 != (i_dvdFlags & kDVDFeaturesWriteOnceMask) ) -+ -+ if ( 0 != (i_dvdFlags & kDVDFeaturesWriteOnceMask) ) - *p_write_cap |= CDIO_DRIVE_CAP_WRITE_DVD_R; -- -+ - if ( 0 != (i_dvdFlags & kDVDFeaturesRandomWriteableMask) ) - *p_write_cap |= CDIO_DRIVE_CAP_WRITE_DVD_RAM; -- -+ - if ( 0 != (i_dvdFlags & kDVDFeaturesReWriteableMask) ) - *p_write_cap |= CDIO_DRIVE_CAP_WRITE_DVD_RW; -- -+ - /*** - if ( 0 != (i_dvdFlags & kDVDFeaturesPlusRMask) ) - *p_write_cap |= CDIO_DRIVE_CAP_WRITE_DVD_PR; -- -+ - if ( 0 != (i_dvdFlags & kDVDFeaturesPlusRWMask ) - *p_write_cap |= CDIO_DRIVE_CAP_WRITE_DVD_PRW; - ***/ - - /* FIXME: fill out. For now assume CD-ROM is relatively modern. */ - *p_misc_cap = ( -- CDIO_DRIVE_CAP_MISC_CLOSE_TRAY -+ CDIO_DRIVE_CAP_MISC_CLOSE_TRAY - | CDIO_DRIVE_CAP_MISC_EJECT - | CDIO_DRIVE_CAP_MISC_LOCK - | CDIO_DRIVE_CAP_MISC_SELECT_SPEED -@@ -868,7 +868,7 @@ - - IOObjectRelease( service ); - } -- -+ - return; - - err_exit: -@@ -878,7 +878,7 @@ - - #if 1 - /**************************************************************************** -- * GetDriveDescription - Gets drive description. -+ * GetDriveDescription - Gets drive description. - ****************************************************************************/ - - static bool -@@ -888,42 +888,42 @@ - io_service_t service = get_drive_service_osx(p_env); - - if ( service == 0 ) return false; -- -+ - /* Found our device */ - { - CFStringRef vendor = NULL; - CFStringRef product = NULL; - CFStringRef revision = NULL; -- -+ - CFDictionaryRef properties = GetRegistryEntryProperties ( service ); -- CFDictionaryRef deviceDict = ( CFDictionaryRef ) -- CFDictionaryGetValue ( properties, -+ CFDictionaryRef deviceDict = ( CFDictionaryRef ) -+ CFDictionaryGetValue ( properties, - CFSTR ( kIOPropertyDeviceCharacteristicsKey ) ); -- -+ - if ( deviceDict == 0 ) return false; -- -- vendor = ( CFStringRef ) -+ -+ vendor = ( CFStringRef ) - CFDictionaryGetValue ( deviceDict, CFSTR ( kIOPropertyVendorNameKey ) ); -- -+ - if ( CFStringGetCString( vendor, - (char *) &(hw_info->psz_vendor), - sizeof(hw_info->psz_vendor), - kCFStringEncodingASCII ) ) - CFRelease( vendor ); -- -- product = ( CFStringRef ) -+ -+ product = ( CFStringRef ) - CFDictionaryGetValue ( deviceDict, CFSTR ( kIOPropertyProductNameKey ) ); -- -+ - if ( CFStringGetCString( product, - (char *) &(hw_info->psz_model), - sizeof(hw_info->psz_model), - kCFStringEncodingASCII ) ) - CFRelease( product ); -- -- revision = ( CFStringRef ) -- CFDictionaryGetValue ( deviceDict, -+ -+ revision = ( CFStringRef ) -+ CFDictionaryGetValue ( deviceDict, - CFSTR ( kIOPropertyProductRevisionLevelKey ) ); -- -+ - if ( CFStringGetCString( revision, - (char *) &(hw_info->psz_revision), - sizeof(hw_info->psz_revision), -@@ -931,11 +931,11 @@ - CFRelease( revision ); - } - return true; -- -+ - } - #endif - --static void -+static void - _free_osx (void *p_user_data) { - _img_private_t *p_env = p_user_data; - if (NULL == p_env) return; -@@ -950,17 +950,17 @@ - if (p_env->scsi_task) - (*p_env->scsi_task)->Release(p_env->scsi_task); - -- if (p_env->pp_scsiTaskDeviceInterface) -- (*p_env->pp_scsiTaskDeviceInterface) -> -+ if (p_env->pp_scsiTaskDeviceInterface) -+ (*p_env->pp_scsiTaskDeviceInterface) -> - ReleaseExclusiveAccess(p_env->pp_scsiTaskDeviceInterface); -- if (p_env->pp_scsiTaskDeviceInterface) -+ if (p_env->pp_scsiTaskDeviceInterface) - (*p_env->pp_scsiTaskDeviceInterface) -> - Release ( p_env->pp_scsiTaskDeviceInterface ); - -- if (p_env->mmc) -+ if (p_env->mmc) - (*p_env->mmc)->Release(p_env->mmc); - -- if (p_env->plugin) -+ if (p_env->plugin) - IODestroyPlugInInterface(p_env->plugin); - - } -@@ -968,10 +968,10 @@ - /** - Reads i_blocks of data sectors from cd device into p_data starting - from i_lsn. -- Returns DRIVER_OP_SUCCESS if no error. -+ Returns DRIVER_OP_SUCCESS if no error. - */ - static driver_return_code_t --read_data_sectors_osx (void *p_user_data, void *p_data, lsn_t i_lsn, -+read_data_sectors_osx (void *p_user_data, void *p_data, lsn_t i_lsn, - uint16_t i_blocksize, uint32_t i_blocks) - { - _img_private_t *p_env = p_user_data; -@@ -981,9 +981,9 @@ - { - dk_cd_read_t cd_read; - track_t i_track = cdio_get_track(p_env->gen.cdio, i_lsn); -- -+ - memset( &cd_read, 0, sizeof(cd_read) ); -- -+ - cd_read.sectorArea = kCDSectorAreaUser; - cd_read.buffer = p_data; - -@@ -1001,9 +1001,9 @@ - default: - return DRIVER_OP_ERROR; - } -- -+ - cd_read.bufferLength = i_blocksize * i_blocks; -- -+ - if( ioctl( p_env->gen.fd, DKIOCCDREAD, &cd_read ) == -1 ) - { - cdio_info( "could not read block %d, %s", i_lsn, strerror(errno) ); -@@ -1013,25 +1013,25 @@ - } - } - -- -+ - /** - Reads i_blocks of mode2 form2 sectors from cd device into data starting - from i_lsn. -- Returns 0 if no error. -+ Returns 0 if no error. - */ - static driver_return_code_t --read_mode1_sectors_osx (void *p_user_data, void *p_data, lsn_t i_lsn, -+read_mode1_sectors_osx (void *p_user_data, void *p_data, lsn_t i_lsn, - bool b_form2, uint32_t i_blocks) - { - _img_private_t *p_env = p_user_data; - dk_cd_read_t cd_read; -- -+ - memset( &cd_read, 0, sizeof(cd_read) ); -- -+ - cd_read.sectorArea = kCDSectorAreaUser; - cd_read.buffer = p_data; - cd_read.sectorType = kCDSectorTypeMode1; -- -+ - if (b_form2) { - cd_read.offset = i_lsn * kCDSectorSizeMode2; - cd_read.bufferLength = kCDSectorSizeMode2 * i_blocks; -@@ -1039,7 +1039,7 @@ - cd_read.offset = i_lsn * kCDSectorSizeMode1; - cd_read.bufferLength = kCDSectorSizeMode1 * i_blocks; - } -- -+ - if( ioctl( p_env->gen.fd, DKIOCCDREAD, &cd_read ) == -1 ) - { - cdio_info( "could not read block %d, %s", i_lsn, strerror(errno) ); -@@ -1051,7 +1051,7 @@ - /** - Reads i_blocks of mode2 form2 sectors from cd device into data starting - from lsn. -- Returns DRIVER_OP_SUCCESS if no error. -+ Returns DRIVER_OP_SUCCESS if no error. - */ - static driver_return_code_t - read_mode2_sectors_osx (void *p_user_data, void *p_data, lsn_t i_lsn, -@@ -1059,12 +1059,12 @@ - { - _img_private_t *p_env = p_user_data; - dk_cd_read_t cd_read; -- -+ - memset( &cd_read, 0, sizeof(cd_read) ); -- -+ - cd_read.sectorArea = kCDSectorAreaUser; - cd_read.buffer = p_data; -- -+ - if (b_form2) { - cd_read.offset = i_lsn * kCDSectorSizeMode2Form2; - cd_read.sectorType = kCDSectorTypeMode2Form2; -@@ -1074,7 +1074,7 @@ - cd_read.sectorType = kCDSectorTypeMode2Form1; - cd_read.bufferLength = kCDSectorSizeMode2Form1 * i_blocks; - } -- -+ - if( ioctl( p_env->gen.fd, DKIOCCDREAD, &cd_read ) == -1 ) - { - cdio_info( "could not read block %d, %s", i_lsn, strerror(errno) ); -@@ -1083,27 +1083,27 @@ - return DRIVER_OP_SUCCESS; - } - -- -+ - /** - Reads a single audio sector from CD device into p_data starting from lsn. -- Returns 0 if no error. -+ Returns 0 if no error. - */ - static int --read_audio_sectors_osx (void *user_data, void *p_data, lsn_t lsn, -+read_audio_sectors_osx (void *user_data, void *p_data, lsn_t lsn, - unsigned int i_blocks) - { - _img_private_t *env = user_data; - dk_cd_read_t cd_read; -- -+ - memset( &cd_read, 0, sizeof(cd_read) ); -- -+ - cd_read.offset = lsn * kCDSectorSizeCDDA; - cd_read.sectorArea = kCDSectorAreaUser; - cd_read.sectorType = kCDSectorTypeCDDA; -- -+ - cd_read.buffer = p_data; - cd_read.bufferLength = kCDSectorSizeCDDA * i_blocks; -- -+ - if( ioctl( env->gen.fd, DKIOCCDREAD, &cd_read ) == -1 ) - { - cdio_info( "could not read block %d\n%s", lsn, -@@ -1115,10 +1115,10 @@ - - /** - Reads a single mode2 sector from cd device into p_data starting -- from lsn. Returns 0 if no error. -+ from lsn. Returns 0 if no error. - */ - static driver_return_code_t --read_mode1_sector_osx (void *p_user_data, void *p_data, lsn_t i_lsn, -+read_mode1_sector_osx (void *p_user_data, void *p_data, lsn_t i_lsn, - bool b_form2) - { - return read_mode1_sectors_osx(p_user_data, p_data, i_lsn, b_form2, 1); -@@ -1126,7 +1126,7 @@ - - /** - Reads a single mode2 sector from cd device into p_data starting -- from lsn. Returns 0 if no error. -+ from lsn. Returns 0 if no error. - */ - static driver_return_code_t - read_mode2_sector_osx (void *p_user_data, void *p_data, lsn_t i_lsn, -@@ -1162,7 +1162,7 @@ - } - - #if 0 --static void -+static void - TestDevice(_img_private_t *p_env, io_service_t service) - { - SInt32 score; -@@ -1182,26 +1182,26 @@ - printf("IOCreatePlugInInterfaceForService returned %d\n", err); - return; - } -- -+ - /* Query the interface for the MMCDeviceInterface. */ -- -+ - herr = ( *plugInInterface )->QueryInterface ( plugInInterface, - CFUUIDGetUUIDBytes ( kIOMMCDeviceInterfaceID ), - ( LPVOID ) &mmcInterface ); -- -+ - if ( herr != S_OK ) { - printf("QueryInterface returned %ld\n", herr); - return; - } -- -- p_env->pp_scsiTaskDeviceInterface = -+ -+ p_env->pp_scsiTaskDeviceInterface = - ( *mmcInterface )->GetSCSITaskDeviceInterface ( mmcInterface ); -- -+ - if ( NULL == p_env->pp_scsiTaskDeviceInterface ) { - printf("GetSCSITaskDeviceInterface returned NULL\n"); - return; - } -- -+ - ( *mmcInterface )->Release ( mmcInterface ); - IODestroyPlugInInterface ( plugInInterface ); - } -@@ -1212,7 +1212,7 @@ - Return false if successful or true if an error. - */ - static bool --read_toc_osx (void *p_user_data) -+read_toc_osx (void *p_user_data) - { - _img_private_t *p_env = p_user_data; - CFDictionaryRef propertiesDict = 0; -@@ -1231,25 +1231,25 @@ - if ( data != NULL ) { - CFRange range; - CFIndex buf_len; -- -+ - buf_len = CFDataGetLength( data ) + 1; - range = CFRangeMake( 0, buf_len ); -- -+ - if( ( p_env->pTOC = (CDTOC *)malloc( buf_len ) ) != NULL ) { - CFDataGetBytes( data, range, (u_char *) p_env->pTOC ); - } else { - cdio_warn( "Trouble allocating CDROM TOC" ); -- CFRelease( propertiesDict ); -+ CFRelease( propertiesDict ); - return false; - } - } else { - cdio_warn( "Trouble reading TOC" ); -- CFRelease( propertiesDict ); -+ CFRelease( propertiesDict ); - return false; - } - - /* TestDevice(p_env, service); */ -- CFRelease( propertiesDict ); -+ CFRelease( propertiesDict ); - - p_env->i_descriptors = CDTOCGetDescriptorCount ( p_env->pTOC ); - -@@ -1259,9 +1259,9 @@ - */ - { - int i, i_leadout = -1; -- -+ - CDTOCDescriptor *pTrackDescriptors; -- -+ - p_env->pp_lba = malloc( p_env->i_descriptors * sizeof(int) ); - if( p_env->pp_lba == NULL ) - { -@@ -1269,33 +1269,33 @@ - free( p_env->pTOC ); - return false; - } -- -+ - pTrackDescriptors = p_env->pTOC->descriptors; - - p_env->gen.i_first_track = CDIO_CD_MAX_TRACKS+1; - p_env->i_last_track = CDIO_CD_MIN_TRACK_NO; - p_env->i_first_session = CDIO_CD_MAX_TRACKS+1; - p_env->i_last_session = CDIO_CD_MIN_TRACK_NO; -- -+ - for( i = 0; i < p_env->i_descriptors; i++ ) - { - track_t i_track = pTrackDescriptors[i].point; - session_t i_session = pTrackDescriptors[i].session; - - cdio_debug( "point: %d, tno: %d, session: %d, adr: %d, control:%d, " -- "address: %d:%d:%d, p: %d:%d:%d", -+ "address: %d:%d:%d, p: %d:%d:%d", - i_track, - pTrackDescriptors[i].tno, i_session, - pTrackDescriptors[i].adr, pTrackDescriptors[i].control, - pTrackDescriptors[i].address.minute, - pTrackDescriptors[i].address.second, -- pTrackDescriptors[i].address.frame, -+ pTrackDescriptors[i].address.frame, - pTrackDescriptors[i].p.minute, -- pTrackDescriptors[i].p.second, -+ pTrackDescriptors[i].p.second, - pTrackDescriptors[i].p.frame ); - - /* track information has adr = 1 */ -- if ( 0x01 != pTrackDescriptors[i].adr ) -+ if ( 0x01 != pTrackDescriptors[i].adr ) - continue; - - if( i_track == OSX_CDROM_LEADOUT_TRACK ) -@@ -1304,16 +1304,16 @@ - if( i_track > CDIO_CD_MAX_TRACKS || i_track < CDIO_CD_MIN_TRACK_NO ) - continue; - -- if (p_env->gen.i_first_track > i_track) -+ if (p_env->gen.i_first_track > i_track) - p_env->gen.i_first_track = i_track; -- -- if (p_env->i_last_track < i_track) -+ -+ if (p_env->i_last_track < i_track) - p_env->i_last_track = i_track; -- -- if (p_env->i_first_session > i_session) -+ -+ if (p_env->i_first_session > i_session) - p_env->i_first_session = i_session; -- -- if (p_env->i_last_session < i_session) -+ -+ if (p_env->i_last_session < i_session) - p_env->i_last_session = i_session; - } - -@@ -1327,15 +1327,15 @@ - if( i_track > CDIO_CD_MAX_TRACKS || i_track < CDIO_CD_MIN_TRACK_NO ) - continue; - -- /* Note what OSX calls a LBA we call an LSN. So below re we -+ /* Note what OSX calls a LBA we call an LSN. So below re we - really have have MSF -> LSN -> LBA. - */ - p_env->pp_lba[i_track - p_env->gen.i_first_track] = - cdio_lsn_to_lba(CDConvertMSFToLBA( pTrackDescriptors[i].p )); -- set_track_flags(&(p_env->gen.track_flags[i_track]), -+ set_track_flags(&(p_env->gen.track_flags[i_track]), - pTrackDescriptors[i].control); - } -- -+ - if( i_leadout == -1 ) - { - cdio_warn( "CD leadout not found" ); -@@ -1343,9 +1343,9 @@ - free( (void *) p_env->pTOC ); - return false; - } -- -- /* Set leadout sector. -- Note what OSX calls a LBA we call an LSN. So below re we -+ -+ /* Set leadout sector. -+ Note what OSX calls a LBA we call an LSN. So below re we - really have have MSF -> LSN -> LBA. - */ - p_env->pp_lba[TOTAL_TRACKS] = -@@ -1355,7 +1355,7 @@ - - p_env->gen.toc_init = true; - -- return( true ); -+ return( true ); - - } - -@@ -1412,29 +1412,29 @@ - #define EJECT_CMD "/usr/sbin/hdiutil eject %s" - snprintf( sz_cmd, sizeof(sz_cmd), EJECT_CMD, psz_drive ); - #undef EJECT_CMD -- -+ - if( ( p_file = popen( sz_cmd, "r" ) ) != NULL ) - { - char psz_result[0x200]; - int i_ret = fread( psz_result, 1, sizeof(psz_result) - 1, p_file ); -- -+ - if( i_ret == 0 && ferror( p_file ) != 0 ) - { - pclose( p_file ); - return DRIVER_OP_ERROR; - } -- -+ - pclose( p_file ); -- -+ - psz_result[ i_ret ] = 0; -- -+ - if( strstr( psz_result, "Disk Ejected" ) != NULL ) - { - return DRIVER_OP_SUCCESS; - } - } - } -- -+ - return DRIVER_OP_ERROR; - } - #else /* HAVE_DISKARBITRATION */ -@@ -1460,7 +1460,7 @@ - { - CFStringRef status = DADissenterGetStatusString(dissenter); - if (status) -- { -+ { - size_t cstr_size = CFStringGetLength(status); - char *cstr = malloc(cstr_size); - if ( CFStringGetCString( status, -@@ -1520,18 +1520,18 @@ - dacontext.completed = FALSE; - dacontext.runloop = CFRunLoopGetCurrent(); - dacontext.cancel = CFRunLoopSourceCreate(kCFAllocatorDefault, 0, &cancelRunLoopSourceContext); -- -+ - if (!dacontext.cancel) - { - return DRIVER_OP_ERROR; - } -- -+ - if (!(dacontext.session = DASessionCreate(kCFAllocatorDefault))) - { - CFRelease(dacontext.cancel); - return DRIVER_OP_ERROR; - } -- -+ - if ((disk = DADiskCreateFromBSDName(kCFAllocatorDefault, dacontext.session, psz_drive)) != NULL) - { - if ((description = DADiskCopyDescription(disk)) != NULL) -@@ -1559,7 +1559,7 @@ - } - CFRelease(disk); - } -- -+ - CFRunLoopSourceInvalidate(dacontext.cancel); - CFRelease(dacontext.cancel); - CFRelease(dacontext.session); -@@ -1593,7 +1593,7 @@ - case _AM_NONE: - return "no access method"; - } -- } -+ } - return NULL; - } - -@@ -1636,10 +1636,10 @@ - } - - /** -- Get format of track. -+ Get format of track. - */ - static track_format_t --get_track_format_osx(void *p_user_data, track_t i_track) -+get_track_format_osx(void *p_user_data, track_t i_track) - { - _img_private_t *p_env = p_user_data; - dk_cd_read_track_info_t cd_read; -@@ -1649,15 +1649,15 @@ - - if (i_track > p_env->i_last_track || i_track < p_env->gen.i_first_track) - return TRACK_FORMAT_ERROR; -- -+ - memset( &cd_read, 0, sizeof(cd_read) ); - - cd_read.address = i_track; - cd_read.addressType = kCDTrackInfoAddressTypeTrackNumber; -- -+ - cd_read.buffer = &a_track; - cd_read.bufferLength = sizeof(CDTrackInfo); -- -+ - if( ioctl( p_env->gen.fd, DKIOCCDREADTRACKINFO, &cd_read ) == -1 ) - { - cdio_warn( "could not read trackinfo for track %d:\n%s", i_track, -@@ -1665,7 +1665,7 @@ - return TRACK_FORMAT_ERROR; - } - -- cdio_debug( "%d: trackinfo trackMode: %x dataMode: %x", i_track, -+ cdio_debug( "%d: trackinfo trackMode: %x dataMode: %x", i_track, - a_track.trackMode, a_track.dataMode ); - - if (a_track.trackMode == CDIO_CDROM_DATA_TRACK) { -@@ -1691,7 +1691,7 @@ - FIXME: there's gotta be a better design for this and get_track_format? - */ - static bool --get_track_green_osx(void *p_user_data, track_t i_track) -+get_track_green_osx(void *p_user_data, track_t i_track) - { - _img_private_t *p_env = p_user_data; - CDTrackInfo a_track; -@@ -1704,15 +1704,15 @@ - else { - - dk_cd_read_track_info_t cd_read; -- -+ - memset( &cd_read, 0, sizeof(cd_read) ); -- -+ - cd_read.address = i_track; - cd_read.addressType = kCDTrackInfoAddressTypeTrackNumber; -- -+ - cd_read.buffer = &a_track; - cd_read.bufferLength = sizeof(CDTrackInfo); -- -+ - if( ioctl( p_env->gen.fd, DKIOCCDREADTRACKINFO, &cd_read ) == -1 ) { - cdio_warn( "could not read trackinfo for track %d:\n%s", i_track, - strerror(errno)); -@@ -1723,7 +1723,7 @@ - } - - /* Set CD-ROM drive speed */ --static int -+static int - set_speed_osx (void *p_user_data, int i_speed) - { - const _img_private_t *p_env = p_user_data; -@@ -1736,16 +1736,16 @@ - - /** - Close tray on CD-ROM. -- -+ - @param psz_drive the CD-ROM drive to be closed. -- -+ - */ - --/* FIXME: We don't use the device name because we don't how -+/* FIXME: We don't use the device name because we don't how - to. - */ - #define CLOSE_TRAY_CMD "/usr/sbin/drutil tray close" --driver_return_code_t -+driver_return_code_t - close_tray_osx (const char *psz_drive) - { - #ifdef HAVE_DARWIN_CDROM -@@ -1754,7 +1754,7 @@ - - if ( !psz_drive) return DRIVER_OP_UNINIT; - -- /* Right now we really aren't making use of snprintf, but -+ /* Right now we really aren't making use of snprintf, but - possibly someday we will. - */ - snprintf( sz_cmd, sizeof(sz_cmd), CLOSE_TRAY_CMD ); -@@ -1763,25 +1763,25 @@ - { - char psz_result[0x200]; - int i_ret = fread( psz_result, 1, sizeof(psz_result) - 1, p_file ); -- -+ - if( i_ret == 0 && ferror( p_file ) != 0 ) - { - pclose( p_file ); - return DRIVER_OP_ERROR; - } -- -+ - pclose( p_file ); -- -+ - psz_result[ i_ret ] = 0; -- -+ - if( 0 == i_ret ) - { - return DRIVER_OP_SUCCESS; - } - } -- -+ - return DRIVER_OP_ERROR; --#else -+#else - return DRIVER_OP_NO_DRIVER; - #endif /*HAVE_DARWIN_CDROM*/ - } -@@ -1802,46 +1802,46 @@ - CFMutableDictionaryRef classes_to_match; - char **drives = NULL; - unsigned int num_drives=0; -- -+ - /* Probe devices to get up to date information. */ - ProbeStorageDevices(); -- -+ - kern_result = IOMasterPort( MACH_PORT_NULL, &master_port ); - if( kern_result != KERN_SUCCESS ) - { - return( NULL ); - } -- -+ - classes_to_match = IOServiceMatching( kIOMediaClass ); - if( classes_to_match == NULL ) - { - return( NULL ); - } -- -+ - CFDictionarySetValue( classes_to_match, CFSTR(kIOMediaEjectableKey), - kCFBooleanTrue ); -- -+ - CFDictionarySetValue( classes_to_match, CFSTR(kIOMediaWholeKey), - kCFBooleanTrue ); -- -- kern_result = IOServiceGetMatchingServices( master_port, -+ -+ kern_result = IOServiceGetMatchingServices( master_port, - classes_to_match, - &media_iterator ); - if( kern_result != KERN_SUCCESS ) - { - return( NULL ); - } -- -+ - next_media = IOIteratorNext( media_iterator ); - if( next_media != 0 ) - { - char psz_buf[0x32]; - size_t dev_path_length; - CFTypeRef str_bsd_path; -- -+ - do - { -- str_bsd_path = -+ str_bsd_path = - IORegistryEntryCreateCFProperty( next_media, - CFSTR( kIOBSDNameKey ), - kCFAllocatorDefault, -@@ -1851,13 +1851,13 @@ - IOObjectRelease( next_media ); - continue; - } -- -+ - /* Below, by appending 'r' to the BSD node name, we indicate - a raw disk. Raw disks receive I/O requests directly and -- don't go through a buffer cache. */ -+ don't go through a buffer cache. */ - snprintf( psz_buf, sizeof(psz_buf), "%s%c", _PATH_DEV, 'r' ); - dev_path_length = strlen( psz_buf ); -- -+ - if( CFStringGetCString( str_bsd_path, - (char*)&psz_buf + dev_path_length, - sizeof(psz_buf) - dev_path_length, -@@ -1867,7 +1867,7 @@ - } - CFRelease( str_bsd_path ); - IOObjectRelease( next_media ); -- -+ - } while( ( next_media = IOIteratorNext( media_iterator ) ) != 0 ); - } - IOObjectRelease( media_iterator ); -@@ -1889,37 +1889,37 @@ - kern_return_t kern_result; - io_iterator_t media_iterator; - CFMutableDictionaryRef classes_to_match; -- -+ - /* Probe devices to get up to date information. */ - ProbeStorageDevices(); -- -+ - classes_to_match = IOServiceMatching( kIOMediaClass ); - if( classes_to_match == NULL ) - { - return( NULL ); - } -- -+ - CFDictionarySetValue( classes_to_match, CFSTR(kIOMediaEjectableKey), - kCFBooleanTrue ); -- -+ - CFDictionarySetValue( classes_to_match, CFSTR(kIOMediaWholeKey), - kCFBooleanTrue ); -- -- kern_result = IOServiceGetMatchingServices( kIOMasterPortDefault, -+ -+ kern_result = IOServiceGetMatchingServices( kIOMasterPortDefault, - classes_to_match, - &media_iterator ); - if( kern_result != KERN_SUCCESS ) - { - return( NULL ); - } -- -+ - next_media = IOIteratorNext( media_iterator ); - if( next_media != 0 ) - { - char psz_buf[0x32]; - size_t dev_path_length; - CFTypeRef str_bsd_path; -- -+ - do - { - /* Skip other removable media, like USB flash memory keys: */ -@@ -1937,10 +1937,10 @@ - IOObjectRelease( next_media ); - continue; - } -- -+ - snprintf( psz_buf, sizeof(psz_buf), "%s%c", _PATH_DEV, 'r' ); - dev_path_length = strlen( psz_buf ); -- -+ - if( CFStringGetCString( str_bsd_path, - (char*)&psz_buf + dev_path_length, - sizeof(psz_buf) - dev_path_length, -@@ -1951,10 +1951,10 @@ - IOObjectRelease( media_iterator ); - return strdup( psz_buf ); - } -- -+ - CFRelease( str_bsd_path ); - IOObjectRelease( next_media ); -- -+ - } while( ( next_media = IOIteratorNext( media_iterator ) ) != 0 ); - } - IOObjectRelease( media_iterator ); -@@ -2039,10 +2039,10 @@ - - if (NULL == psz_orig_source) { - psz_source=cdio_get_default_device_osx(); -- if (NULL == psz_source) { -+ if (NULL == psz_source) { - free(_data); -- return NULL; -- } -+ return NULL; -+ } - - _set_arg_osx(_data, "source", psz_source); - free(psz_source); -@@ -2071,8 +2071,8 @@ - free(ret); - return NULL; - } -- --#else -+ -+#else - return NULL; - #endif /* HAVE_DARWIN_CDROM */ - -@@ -2083,7 +2083,7 @@ - { - #ifdef HAVE_DARWIN_CDROM - return true; --#else -+#else - return false; - #endif /* HAVE_DARWIN_CDROM */ - } ---- a/test/check_cdtext.sh -+++ b/test/check_cdtext.sh -@@ -17,7 +17,7 @@ - # - - if test "X$srcdir" = "X" ; then -- return $SKIP_TEST_EXITCODE -+ exit $SKIP_TEST_EXITCODE - fi - - . $srcdir/check_common_fn -@@ -25,16 +25,16 @@ - CDTEXT_RAW=$srcdir/../example/cdtext-raw - - if test ! -x $CDTEXT_RAW ; then -- return $SKIP_TEST_EXITCODE -+ exit $SKIP_TEST_EXITCODE - fi - - if test "X$DIFF" = "X" ; then -- return $SKIP_TEST_EXITCODE -+ exit $SKIP_TEST_EXITCODE - fi - - if test "$DIFF" = "no"; then - echo "$0: No diff(1) or cmp(1) found - cannot test ${cmdname}" -- return $SKIP_TEST_EXITCODE -+ exit $SKIP_TEST_EXITCODE - fi - - -@@ -43,7 +43,7 @@ - outfile="$2" - rightfile="$3" - -- if "${CDTEXT_RAW}" ${opts} >"${outfile}" 2>&1 ; then -+ if "${CDTEXT_RAW}" ${opts} >"${outfile}" 2>&1 ; then - if $DIFF $DIFF_OPTS "${outfile}" "${rightfile}" ; then - $RM "${outfile}" - return 0 diff --git a/tools/depends/target/libcdio/Makefile b/tools/depends/target/libcdio/Makefile index 57da8e5d1d..a30712b841 100644 --- a/tools/depends/target/libcdio/Makefile +++ b/tools/depends/target/libcdio/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile configure.patch cross.patch +DEPS = ../../Makefile.include Makefile configure.patch cross.patch ../../download-files.include # lib name, version LIBNAME=libcdio VERSION=0.80 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=4bc723fd882baac090f61576aa798a3045df7877c9482b81e0c78e25e29503774240b7c34d255150ca7557d9aa8d8b113ca6fd1c1dae1362e4c0f314d8f33a51 +include ../../download-files.include # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ ./configure --prefix=$(PREFIX) --with-cd-drive=no --with-cd-info=no --with-cd-paranoia=no \ @@ -16,10 +18,8 @@ LIBDYLIB=$(PLATFORM)/lib/driver/.libs/$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../configure.patch diff --git a/tools/depends/target/libcec/Makefile b/tools/depends/target/libcec/Makefile index 89889ebb54..27dc9e3e58 100644 --- a/tools/depends/target/libcec/Makefile +++ b/tools/depends/target/libcec/Makefile @@ -1,15 +1,17 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile remove_git_info.patch +DEPS = ../../Makefile.include Makefile remove_git_info.patch ../../download-files.include # lib name, version LIBNAME=libcec VERSION_MAJOR=4 VERSION_MINOR=0 -VERSION_PATCH=4 +VERSION_PATCH=7 VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH) SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=424540a45f9cae3d5dcccc615d487c45033f9cdeb665b8176832495597e2cd58ef7681e13b52f6a32f8a40e1146c04a1a383f5785ea1e731c5c517a9a7843a81 +include ../../download-files.include LIBDYLIB=$(PLATFORM)/build/src/$(LIBNAME)/$(LIBNAME).so ifeq (darwin, $(findstring darwin, $(HOST))) @@ -18,10 +20,8 @@ endif all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../remove_git_info.patch diff --git a/tools/depends/target/libdrm/Makefile b/tools/depends/target/libdrm/Makefile new file mode 100644 index 0000000000..9ff1ff2d73 --- /dev/null +++ b/tools/depends/target/libdrm/Makefile @@ -0,0 +1,76 @@ +include ../../Makefile.include +DEPS =../../Makefile.include Makefile ../../download-files.include + +LIBNAME=libdrm +VERSION=2.4.102 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz +SHA512=386afd228efd809fe32776a6ff5d9dd95d1409a6a6a89b3806a3b42ed27e84f1e090f3b7834973f834d6b0d1342b7034447fe8690d072f85f03292d7795c3e0c +include ../../download-files.include + +MESON_BUILD_TYPE=release + +ifeq ($(DEBUG_BUILD), yes) + MESON_BUILD_TYPE=debug +endif + +# configuration settings +CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \ + --prefix=$(PREFIX) \ + --libdir=lib \ + --buildtype=$(MESON_BUILD_TYPE) \ + -Dlibkms=false \ + -Dnouveau=false \ + -Domap=false \ + -Dexynos=false \ + -Dtegra=false \ + -Dintel=false \ + -Dradeon=false \ + -Damdgpu=false \ + -Dvmwgfx=false \ + -Dvc4=false \ + -Dfreedreno=false \ + -Detnaviv=false \ + -Dcairo-tests=false \ + -Dman-pages=false \ + -Dvalgrind=false \ + -Dfreedreno-kgsl=false \ + -Dinstall-test-programs=false \ + -Dudev=false + +ifeq ($(CROSS_COMPILING), yes) +CONFIGURE += --cross-file $(PREFIX)/share/cross-file.meson +export CC=$(CC_FOR_BUILD) +export CXX=$(CXX_FOR_BUILD) +export CFLAGS=$(CFLAGS_FOR_BUILD) +export CXXFLAGS=$(CXXFLAGS_FOR_BUILD) +else +export CC CXX CFLAGS CXXFLAGS +endif +export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig + +LIBDYLIB=$(PLATFORM)/build/$(LIBNAME).so + +all: .installed-$(PLATFORM) + +download: $(TARBALLS_LOCATION)/$(ARCHIVE) + + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); rm -rf build; mkdir -p build + cd $(PLATFORM); $(CONFIGURE) . build + +$(LIBDYLIB): $(PLATFORM) + cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v + +.installed-$(PLATFORM): $(LIBDYLIB) + cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/target/libdvdcss/DVDCSS-VERSION b/tools/depends/target/libdvdcss/DVDCSS-VERSION deleted file mode 100644 index 43afb9b093..0000000000 --- a/tools/depends/target/libdvdcss/DVDCSS-VERSION +++ /dev/null @@ -1,4 +0,0 @@ -LIBNAME=libdvdcss -BASE_URL=https://github.com/xbmc/libdvdcss -VERSION=1.4.2-Leia-Beta-5 - diff --git a/tools/depends/target/libdvdcss/LIBDVDCSS-VERSION b/tools/depends/target/libdvdcss/LIBDVDCSS-VERSION new file mode 100644 index 0000000000..4fb78d93ab --- /dev/null +++ b/tools/depends/target/libdvdcss/LIBDVDCSS-VERSION @@ -0,0 +1,7 @@ +LIBNAME=libdvdcss +BASE_URL=https://github.com/xbmc/libdvdcss +VERSION=1.4.3-Next-Nexus-Alpha2-2 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=d3be3bfc13c5ea56d8db745c2aab090c99760684fe4c8f62a13d266feb319e9180ceeecf8116bfd2ed90d9accba2c11dbbf93b61ad00f69a40812ebf4eabcdda +BYPRODUCT=libdvdcss.a +BYPRODUCT_WIN=dvdcss.lib diff --git a/tools/depends/target/libdvdcss/Makefile b/tools/depends/target/libdvdcss/Makefile index a5026227c2..b157eee34d 100644 --- a/tools/depends/target/libdvdcss/Makefile +++ b/tools/depends/target/libdvdcss/Makefile @@ -1,6 +1,6 @@ -include ../../Makefile.include -include DVDCSS-VERSION -DEPS= DVDCSS-VERSION Makefile +include LIBDVDCSS-VERSION +DEPS = LIBDVDCSS-VERSION Makefile ../../download-files.include ifeq ($(CROSS_COMPILING), yes) DEPS += ../../Makefile.include @@ -21,14 +21,7 @@ ARCHIVE_TOOL := tar --strip-components=1 -xf # configuration settings config = --prefix=$(PREFIX) --disable-shared --enable-static --with-pic -GITREV=$(shell git ls-remote $(BASE_URL) $(VERSION) | awk '{print $$1}') -ifeq ($(GITREV),) - ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz -else - ARCHIVE=$(LIBNAME)-$(GITREV).tar.gz -endif - - +include ../../download-files.include all: .installed-$(PLATFORM) download: $(TARBALLS_LOCATION)/$(ARCHIVE) @@ -36,7 +29,7 @@ download: $(TARBALLS_LOCATION)/$(ARCHIVE) $(TARBALLS_LOCATION)/$(ARCHIVE): cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(AUTORECONF) -vif && ac_cv_path_GIT= ./configure $(config) diff --git a/tools/depends/target/libdvdnav/DVDNAV-VERSION b/tools/depends/target/libdvdnav/DVDNAV-VERSION deleted file mode 100644 index 818cf066a3..0000000000 --- a/tools/depends/target/libdvdnav/DVDNAV-VERSION +++ /dev/null @@ -1,4 +0,0 @@ -LIBNAME=libdvdnav -BASE_URL=https://github.com/xbmc/libdvdnav -VERSION=6.0.0-Leia-Alpha-3 - diff --git a/tools/depends/target/libdvdnav/LIBDVDNAV-VERSION b/tools/depends/target/libdvdnav/LIBDVDNAV-VERSION new file mode 100644 index 0000000000..3d6d1ec699 --- /dev/null +++ b/tools/depends/target/libdvdnav/LIBDVDNAV-VERSION @@ -0,0 +1,7 @@ +LIBNAME=libdvdnav +BASE_URL=https://github.com/xbmc/libdvdnav +VERSION=6.1.1-Next-Nexus-Alpha2-2 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=51e6fc033121241354a5f0b3fc9a430577ae3ff6bb7f31445aa548ef4893037fb80eea3b2c6774c81e9ebaf9c45e9b490c98c2c65eb38f9f7daba84b236f7e1d +BYPRODUCT=libdvdnav.a +BYPRODUCT_WIN=libdvdnav.lib diff --git a/tools/depends/target/libdvdnav/Makefile b/tools/depends/target/libdvdnav/Makefile index eada58a160..eca4d53f54 100644 --- a/tools/depends/target/libdvdnav/Makefile +++ b/tools/depends/target/libdvdnav/Makefile @@ -1,6 +1,6 @@ -include ../../Makefile.include -include DVDNAV-VERSION -DEPS = DVDNAV-VERSION Makefile +include LIBDVDNAV-VERSION +DEPS = LIBDVDNAV-VERSION Makefile ../../download-files.include # configuration settings config = --prefix=$(PREFIX) --disable-shared --enable-static --with-pic @@ -32,13 +32,7 @@ endif RETRIEVE_TOOL := curl -Ls --create-dirs --retry 10 --retry-delay 3 ARCHIVE_TOOL := tar --strip-components=1 -xf -GITREV=$(shell git ls-remote $(BASE_URL) $(VERSION) | awk '{print $$1}') -ifeq ($(GITREV),) - ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz -else - ARCHIVE=$(LIBNAME)-$(GITREV).tar.gz -endif - +include ../../download-files.include all: .installed-$(PLATFORM) download: $(TARBALLS_LOCATION)/$(ARCHIVE) @@ -46,7 +40,7 @@ download: $(TARBALLS_LOCATION)/$(ARCHIVE) $(TARBALLS_LOCATION)/$(ARCHIVE): cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(AUTORECONF) -vif && $(PKGCONFIGPATH) CFLAGS="$(CFLAGS) $(EXTRA_CFLAGS)" ac_cv_path_GIT= ./configure $(config) diff --git a/tools/depends/target/libdvdread/DVDREAD-VERSION b/tools/depends/target/libdvdread/DVDREAD-VERSION deleted file mode 100644 index eea4c74c74..0000000000 --- a/tools/depends/target/libdvdread/DVDREAD-VERSION +++ /dev/null @@ -1,4 +0,0 @@ -LIBNAME=libdvdread -BASE_URL=https://github.com/xbmc/libdvdread -VERSION=6.0.0-Leia-Alpha-3 - diff --git a/tools/depends/target/libdvdread/LIBDVDREAD-VERSION b/tools/depends/target/libdvdread/LIBDVDREAD-VERSION new file mode 100644 index 0000000000..d51b629bd2 --- /dev/null +++ b/tools/depends/target/libdvdread/LIBDVDREAD-VERSION @@ -0,0 +1,7 @@ +LIBNAME=libdvdread +BASE_URL=https://github.com/xbmc/libdvdread +VERSION=6.1.3-Next-Nexus-Alpha2-2 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=629a41157d07b8ec0ea1fe89ae5ec48f63047472a862782b805c531ae31a0376fc4dc15175f8280c3ef91d7fa977bacebb1b51232640034a34bab2293210fc5e +BYPRODUCT=libdvdread.a +BYPRODUCT_WIN=dvdread.lib diff --git a/tools/depends/target/libdvdread/Makefile b/tools/depends/target/libdvdread/Makefile index d240953fe4..0be5f2d6f4 100644 --- a/tools/depends/target/libdvdread/Makefile +++ b/tools/depends/target/libdvdread/Makefile @@ -1,6 +1,6 @@ -include ../../Makefile.include -include DVDREAD-VERSION -DEPS = DVDREAD-VERSION Makefile +include LIBDVDREAD-VERSION +DEPS = LIBDVDREAD-VERSION Makefile ../../download-files.include # configuration settings config = --prefix=$(PREFIX) --disable-shared --enable-static --with-pic --with-libdvdcss @@ -31,13 +31,7 @@ endif RETRIEVE_TOOL := curl -Ls --create-dirs --retry 10 --retry-delay 3 ARCHIVE_TOOL := tar --strip-components=1 -xf -GITREV=$(shell git ls-remote $(BASE_URL) $(VERSION) | awk '{print $$1}') -ifeq ($(GITREV),) - ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz -else - ARCHIVE=$(LIBNAME)-$(GITREV).tar.gz -endif - +include ../../download-files.include all: .installed-$(PLATFORM) download: $(TARBALLS_LOCATION)/$(ARCHIVE) @@ -45,7 +39,7 @@ download: $(TARBALLS_LOCATION)/$(ARCHIVE) $(TARBALLS_LOCATION)/$(ARCHIVE): cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) -o $(TARBALLS_LOCATION)/$(ARCHIVE) $(BASE_URL)/archive/$(VERSION).tar.gz -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(AUTORECONF) -vif && $(PKGCONFIGPATH) CFLAGS="$(CFLAGS) $(EXTRA_CFLAGS)" ac_cv_path_GIT= ./configure $(config) diff --git a/tools/depends/target/libevdev/Makefile b/tools/depends/target/libevdev/Makefile index 1f3933fb64..74ec3b96c3 100644 --- a/tools/depends/target/libevdev/Makefile +++ b/tools/depends/target/libevdev/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS=../../Makefile.include Makefile +DEPS =../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=libevdev VERSION=1.5.8 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.xz +SHA512=e9485d8c6b48ebf762b32b003bc6b761c548024ad3bc34a0793485b53383746881fcc9b206a078d571937291e519d9822e50c5d8816778d347094691b65ec3fa +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --enable-static --disable-tests @@ -14,10 +16,8 @@ LIBDYLIB=$(PLATFORM)/libevdev/.libs/libevdev.la all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/target/libffi/LIBFFI-VERSION b/tools/depends/target/libffi/LIBFFI-VERSION new file mode 100644 index 0000000000..9d1e722692 --- /dev/null +++ b/tools/depends/target/libffi/LIBFFI-VERSION @@ -0,0 +1,4 @@ +LIBNAME=libffi +VERSION=3.4.2 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=31bad35251bf5c0adb998c88ff065085ca6105cf22071b9bd4b5d5d69db4fadf16cadeec9baca944c4bb97b619b035bb8279de8794b922531fddeb0779eb7fb1 diff --git a/tools/depends/target/libffi/Makefile b/tools/depends/target/libffi/Makefile index eb62087cb8..713fb08ec1 100644 --- a/tools/depends/target/libffi/Makefile +++ b/tools/depends/target/libffi/Makefile @@ -1,27 +1,16 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile armAssembler.patch - -# lib name, version -LIBNAME=libffi -VERSION=3.2.1 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +include ../../Makefile.include LIBFFI-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile LIBFFI-VERSION ../../download-files.include # configuration settings CONFIGURE= ./configure --prefix=$(PREFIX) --disable-shared --disable-builddir - LIBDYLIB=$(PLATFORM)/.libs/$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); patch -p1 -i ../armAssembler.patch cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) @@ -30,8 +19,6 @@ $(LIBDYLIB): $(PLATFORM) .installed-$(PLATFORM): $(LIBDYLIB) $(MAKE) -C $(PLATFORM) install - mkdir -p $(PREFIX)/include/ffi - cp $(PREFIX)/lib/$(SOURCE)/include/* $(PREFIX)/include/ffi/ touch $@ clean: diff --git a/tools/depends/target/libffi/armAssembler.patch b/tools/depends/target/libffi/armAssembler.patch deleted file mode 100644 index 1165adac18..0000000000 --- a/tools/depends/target/libffi/armAssembler.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- a/src/arm/sysv.S -+++ b/src/arm/sysv.S -@@ -360,7 +360,7 @@ - cmp r0, #3 - sub ip, fp, #64 - flddle d0, [ip] -- fldmiadgt ip, {d0-d7} -+ vldmiagt ip, {d0-d7} - - LSYM(Lbase_args): - @ move first 4 parameters in registers -@@ -396,7 +396,7 @@ - beq LSYM(Lepilogue_vfp) - - cmp r3, #FFI_TYPE_SINT64 -- stmeqia r2, {r0, r1} -+ stmiaeq r2, {r0, r1} - beq LSYM(Lepilogue_vfp) - - cmp r3, #FFI_TYPE_FLOAT -@@ -409,7 +409,7 @@ - - cmp r3, #FFI_TYPE_STRUCT_VFP_FLOAT - cmpne r3, #FFI_TYPE_STRUCT_VFP_DOUBLE -- fstmiadeq r2, {d0-d3} -+ vstmiaeq r2, {d0-d3} - - LSYM(Lepilogue_vfp): - RETLDM "r0-r3,fp" -@@ -420,7 +420,7 @@ - - - ARM_FUNC_START(ffi_closure_VFP) -- fstmfdd sp!, {d0-d7} -+ vstmdb sp!, {d0-d7} - @ r0-r3, then d0-d7 - UNWIND .pad #80 - add ip, sp, #80 -@@ -470,10 +470,10 @@ - ldmia sp, {r0, r1} - b .Lclosure_epilogue_vfp - .Lretfloat_struct_vfp: -- fldmiad sp, {d0-d1} -+ vldmia sp, {d0-d1} - b .Lclosure_epilogue_vfp - .Lretdouble_struct_vfp: -- fldmiad sp, {d0-d3} -+ vldmia sp, {d0-d3} - b .Lclosure_epilogue_vfp - - .ffi_closure_VFP_end: diff --git a/tools/depends/target/libgcrypt/01-gcrypt-android-select.patch b/tools/depends/target/libgcrypt/01-gcrypt-android-select.patch deleted file mode 100644 index 9521d503a6..0000000000 --- a/tools/depends/target/libgcrypt/01-gcrypt-android-select.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/src/gcrypt.h.in -+++ b/src/gcrypt.h.in -@@ -47,6 +47,10 @@ - - @FALLBACK_SOCKLEN_T@ - -+#if defined(ANDROID) -+#include <sys/select.h> -+#endif -+ - /* This is required for error code compatibility. */ - #define _GCRY_ERR_SOURCE_DEFAULT GPG_ERR_SOURCE_GCRYPT - diff --git a/tools/depends/target/libgcrypt/02-fix-armv7-neon.patch b/tools/depends/target/libgcrypt/02-fix-armv7-neon.patch deleted file mode 100644 index 1f38a4ab75..0000000000 --- a/tools/depends/target/libgcrypt/02-fix-armv7-neon.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -2083,10 +2083,6 @@ - arm*-*-*) - # Build with the assembly implementation - GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael-arm.lo" -- -- # Build with the ARMv8/AArch32 CE implementation -- GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael-armv8-ce.lo" -- GCRYPT_CIPHERS="$GCRYPT_CIPHERS rijndael-armv8-aarch32-ce.lo" - ;; - aarch64-*-*) - # Build with the assembly implementation -@@ -2355,10 +2351,6 @@ - GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha256-avx-amd64.lo" - GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha256-avx2-bmi2-amd64.lo" - ;; -- arm*-*-*) -- # Build with the assembly implementation -- GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha256-armv8-aarch32-ce.lo" -- ;; - aarch64-*-*) - # Build with the assembly implementation - GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha256-armv8-aarch64-ce.lo" -@@ -2448,7 +2440,6 @@ - arm*-*-*) - # Build with the assembly implementation - GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha1-armv7-neon.lo" -- GCRYPT_DIGESTS="$GCRYPT_DIGESTS sha1-armv8-aarch32-ce.lo" - ;; - aarch64-*-*) - # Build with the assembly implementation diff --git a/tools/depends/target/libgcrypt/03-remove-cipher-gcm-armv8.patch b/tools/depends/target/libgcrypt/03-remove-cipher-gcm-armv8.patch deleted file mode 100644 index 3e525caec3..0000000000 --- a/tools/depends/target/libgcrypt/03-remove-cipher-gcm-armv8.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/cipher/Makefile.am -+++ b/cipher/Makefile.am -@@ -43,7 +43,6 @@ - cipher.c cipher-internal.h \ - cipher-cbc.c cipher-cfb.c cipher-ofb.c cipher-ctr.c cipher-aeswrap.c \ - cipher-ccm.c cipher-cmac.c cipher-gcm.c cipher-gcm-intel-pclmul.c \ -- cipher-gcm-armv8-aarch32-ce.S cipher-gcm-armv8-aarch64-ce.S \ - cipher-poly1305.c cipher-ocb.c cipher-xts.c \ - cipher-selftest.c cipher-selftest.h \ - pubkey.c pubkey-internal.h pubkey-util.c \ diff --git a/tools/depends/target/libgcrypt/04-fix-o-flag-munging.patch b/tools/depends/target/libgcrypt/04-fix-o-flag-munging.patch deleted file mode 100644 index 0949a37404..0000000000 --- a/tools/depends/target/libgcrypt/04-fix-o-flag-munging.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/random/Makefile.am -+++ b/random/Makefile.am -@@ -55,7 +55,7 @@ - - # The rndjent module needs to be compiled without optimization. */ - if ENABLE_O_FLAG_MUNGING --o_flag_munging = sed -e 's/-O\([1-9s][1-9s]*\)/-O0/g' -e 's/-Ofast/-O0/g' -+o_flag_munging = sed -e 's/-O\([1-9sg][1-9sg]*\)/-O0/g' -e 's/-Ofast/-O0/g' - else - o_flag_munging = cat - endif diff --git a/tools/depends/target/libgcrypt/LIBGCRYPT-VERSION b/tools/depends/target/libgcrypt/LIBGCRYPT-VERSION new file mode 100644 index 0000000000..1010bafea5 --- /dev/null +++ b/tools/depends/target/libgcrypt/LIBGCRYPT-VERSION @@ -0,0 +1,5 @@ +LIBNAME=libgcrypt +VERSION=1.10.1 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2 +SHA512=e5ca7966624fff16c3013795836a2c4377f0193dbb4ac5ad2b79654b1fa8992e17d83816569a402212dc8367a7980d4141f5d6ac282bae6b9f02186365b61f13 +BYPRODUCT=libgcrypt.a diff --git a/tools/depends/target/libgcrypt/Makefile b/tools/depends/target/libgcrypt/Makefile index 340e2333ba..9ad708a35c 100644 --- a/tools/depends/target/libgcrypt/Makefile +++ b/tools/depends/target/libgcrypt/Makefile @@ -1,45 +1,40 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile 01-gcrypt-android-select.patch 02-fix-armv7-neon.patch 03-remove-cipher-gcm-armv8.patch 04-fix-o-flag-munging.patch - -# lib name, version -LIBNAME=libgcrypt -VERSION=1.8.1 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.bz2 - -ifeq ($(OS),osx) - CONFIGURE_FLAGS+= --disable-asm --disable-avx-support --disable-avx2-support +include ../../Makefile.include LIBGCRYPT-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile LIBGCRYPT-VERSION ../../download-files.include + +ifeq ($(OS),android) + # Just blanket disable neon support for non arm64 arch + ifneq ($(findstring arm64, $(CPU)), arm64) + CONFIGURE_FLAGS+= --disable-neon-support + endif endif -ifeq ($(findstring arm64, $(CPU)), arm64) - CONFIGURE_FLAGS+= --disable-asm -else - CONFIGURE_FLAGS+= --disable-asm --disable-arm-crypto-support + +ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin) + # required to fix asm link failure due C_SYMBOL_NAME macro not prepending _ to exported symbol + # exported symbols only have s single _ instead of double __ + # Undefined symbols for architecture x86_64: + # "__gcry_mpih_add_n", referenced from: + CONFIGURE_FLAGS+= ac_cv_sys_symbol_underscore=yes + ifeq ($(OS), darwin_embedded) + # explicitly disable getentropy for ios/tvos as AC_CHECK_FUNCS(getentropy) incorrectly + # succeeds as of libgcrypt 1.9.4 + CONFIGURE_FLAGS+= ac_cv_func_getentropy=no + endif endif +export GPG_ERROR_CONFIG=$(PREFIX)/bin/gpg-error-config # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ - ./configure --prefix=$(PREFIX) --disable-doc --disable-shared \ - $(CONFIGURE_FLAGS) + ./configure --prefix=$(PREFIX) --disable-doc --disable-shared $(CONFIGURE_FLAGS) -LIBDYLIB=$(PLATFORM)/src/.libs/$(LIBNAME).a +LIBDYLIB=$(PLATFORM)/src/.libs/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); patch -p1 -i ../01-gcrypt-android-select.patch - cd $(PLATFORM); patch -p1 -i ../02-fix-armv7-neon.patch -ifneq ($(findstring arm64, $(CPU)), arm64) - cd $(PLATFORM); patch -p1 -i ../03-remove-cipher-gcm-armv8.patch -endif - cd $(PLATFORM); patch -p1 -i ../04-fix-o-flag-munging.patch # do not build the tests or docs - sed -ie "s|doc tests||" "$(PLATFORM)/Makefile.am" sed -ie "s|\$$(doc) tests||" "$(PLATFORM)/Makefile.am" cd $(PLATFORM); $(AUTORECONF) -vif cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/target/libgpg-error/LIBGPG-ERROR-VERSION b/tools/depends/target/libgpg-error/LIBGPG-ERROR-VERSION new file mode 100644 index 0000000000..3456a912d8 --- /dev/null +++ b/tools/depends/target/libgpg-error/LIBGPG-ERROR-VERSION @@ -0,0 +1,5 @@ +LIBNAME=libgpg-error +VERSION=1.45 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.bz2 +SHA512=882f2dd617e89137d7a9d61b60488dac32321dd4fdb699e9687b6bd9380c056c027da502837f4482289c0fe00e7de01210e804428f05a0843ae2ca23fdcc6457 diff --git a/tools/depends/target/libgpg-error/Makefile b/tools/depends/target/libgpg-error/Makefile index d0c108cd1b..63825f09ab 100644 --- a/tools/depends/target/libgpg-error/Makefile +++ b/tools/depends/target/libgpg-error/Makefile @@ -1,35 +1,29 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile - -# lib name, version -LIBNAME=libgpg-error -VERSION=1.27 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.bz2 +include ../../Makefile.include LIBGPG-ERROR-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile LIBGPG-ERROR-VERSION ../../download-files.include \ + tvos_remove-fork.patch # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) \ - --disable-languages \ - --disable-nls --disable-shared + --disable-doc \ + --disable-tests \ + --disable-languages \ + --disable-nls \ + --disable-shared LIBDYLIB=$(PLATFORM)/src/.libs/$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) +ifeq ($(TARGET_PLATFORM),appletvos) + cd $(PLATFORM); patch -p1 -i ../tvos_remove-fork.patch +endif + cd $(PLATFORM); $(AUTORECONF) -vif cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) -ifeq ($(OS),darwin_embedded) -ifeq ($(CPU),arm64) - cp $(PLATFORM)/src/syscfg/lock-obj-pub.aarch64-apple-darwin.h $(PLATFORM)/src/syscfg/lock-obj-pub.arm-apple-darwin.h -endif -endif ifeq ($(OS),android) ifeq ($(CPU),arm64-v8a) cp lock-obj-pub.aarch64-unknown-linux-android.h $(PLATFORM)/src/syscfg/lock-obj-pub.linux-android.h diff --git a/tools/depends/target/libgpg-error/tvos_remove-fork.patch b/tools/depends/target/libgpg-error/tvos_remove-fork.patch new file mode 100644 index 0000000000..23baed3ebb --- /dev/null +++ b/tools/depends/target/libgpg-error/tvos_remove-fork.patch @@ -0,0 +1,47 @@ +--- a/src/spawn-posix.c ++++ b/src/spawn-posix.c +@@ -314,7 +314,7 @@ + + if (preexec) + preexec (); +- execv (pgmname, arg_list); ++// execv (pgmname, arg_list); + /* No way to print anything, as we have may have closed all streams. */ + _exit (127); + } +@@ -464,7 +464,7 @@ + } + + _gpgrt_pre_syscall (); +- *pid = fork (); ++ *pid = -1; + _gpgrt_post_syscall (); + if (*pid == (pid_t)(-1)) + { +@@ -534,7 +534,7 @@ + gpg_error_t err; + + _gpgrt_pre_syscall (); +- *pid = fork (); ++ *pid = -1; + _gpgrt_post_syscall (); + if (*pid == (pid_t)(-1)) + { +@@ -818,7 +818,7 @@ + return _gpg_err_code_from_syserror (); + + _gpgrt_pre_syscall (); +- pid = fork (); ++ pid = -1; + _gpgrt_post_syscall (); + if (pid == (pid_t)(-1)) + { +@@ -835,7 +835,7 @@ + if (setsid() == -1 || chdir ("/")) + _exit (1); + +- pid2 = fork (); /* Double fork to let init take over the new child. */ ++ pid2 = -1; /* Double fork to let init take over the new child. */ + if (pid2 == (pid_t)(-1)) + _exit (1); + if (pid2) diff --git a/tools/depends/target/libiconv/Makefile b/tools/depends/target/libiconv/Makefile index 9fd19a8410..8782e51a78 100644 --- a/tools/depends/target/libiconv/Makefile +++ b/tools/depends/target/libiconv/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=libiconv VERSION=1.15 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=1233fe3ca09341b53354fd4bfe342a7589181145a1232c9919583a8c9979636855839049f3406f253a9d9829908816bb71fd6d34dd544ba290d6f04251376b1a +include ../../download-files.include # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) build-aux/; \ @@ -16,10 +18,8 @@ LIBDYLIB=$(PLATFORM)/lib/.libs/$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/target/libinput/Makefile b/tools/depends/target/libinput/Makefile index ccf98657ff..d0aeb88093 100644 --- a/tools/depends/target/libinput/Makefile +++ b/tools/depends/target/libinput/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS=../../Makefile.include Makefile +DEPS =../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=libinput VERSION=1.10.5 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.xz +SHA512=61f19ea777b523f0e76869b8e7dbbff5e51132d3c856c6edb9915a695f7903256228e71be2567642866923a800f1283bdd5aff97266ac26c2e42dfce0bffa50b +include ../../download-files.include # configuration settings CONFIGURE= $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \ @@ -27,14 +29,12 @@ export CC CXX CFLAGS CXXFLAGS endif export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig -LIBDYLIB=$(PLATFORM)/build/libinput.a +LIBDYLIB=$(PLATFORM)/build/libinput.so all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); rm -rf build; mkdir -p build diff --git a/tools/depends/target/libjpeg-turbo/01-disable-executables.patch b/tools/depends/target/libjpeg-turbo/01-disable-executables.patch new file mode 100644 index 0000000000..8a672b2159 --- /dev/null +++ b/tools/depends/target/libjpeg-turbo/01-disable-executables.patch @@ -0,0 +1,118 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -211,6 +211,9 @@ + boolean_number(WITH_TURBOJPEG) + option(WITH_FUZZ "Build fuzz targets" FALSE) + ++option(ENABLE_TESTS "Enable testing targets" FALSE) ++boolean_number(ENABLE_TESTS) ++ + macro(report_option var desc) + if(${var}) + message(STATUS "${desc} enabled (${var} = ${${var}})") +@@ -634,6 +637,7 @@ + LINK_FLAGS "${TJMAPFLAG}${TJMAPFILE}") + endif() + ++if(ENABLE_TESTS) + add_executable(tjunittest tjunittest.c tjutil.c md5/md5.c md5/md5hl.c) + target_link_libraries(tjunittest turbojpeg) + +@@ -645,6 +649,7 @@ + + add_executable(tjexample tjexample.c) + target_link_libraries(tjexample turbojpeg) ++endif() + endif() + + if(ENABLE_STATIC) +@@ -656,7 +661,7 @@ + if(NOT MSVC) + set_target_properties(turbojpeg-static PROPERTIES OUTPUT_NAME turbojpeg) + endif() +- ++if(ENABLE_TESTS) + add_executable(tjunittest-static tjunittest.c tjutil.c md5/md5.c + md5/md5hl.c) + target_link_libraries(tjunittest-static turbojpeg-static) +@@ -666,6 +671,7 @@ + if(UNIX) + target_link_libraries(tjbench-static m) + endif() ++endif() + endif() + endif() + +@@ -680,6 +686,7 @@ + set(DJPEG_BMP_SOURCES wrbmp.c wrtarga.c) + endif() + ++if(ENABLE_TESTS) + if(ENABLE_STATIC) + add_executable(cjpeg-static cjpeg.c cdjpeg.c rdgif.c rdppm.c rdswitch.c + ${CJPEG_BMP_SOURCES}) +@@ -699,11 +706,12 @@ + add_executable(rdjpgcom rdjpgcom.c) + + add_executable(wrjpgcom wrjpgcom.c) +- ++endif() + + ############################################################################### + # TESTS + ############################################################################### ++if(ENABLE_TESTS) + + if(WITH_FUZZ) + add_subdirectory(fuzz) +@@ -1419,7 +1427,7 @@ + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/tjbenchtest) + endif() + endif() +- ++endif() + + ############################################################################### + # INSTALLATION +@@ -1434,8 +1442,10 @@ + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++if(ENABLE_TESTS) + install(TARGETS tjbench + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++endif() + if(NOT CMAKE_VERSION VERSION_LESS "3.1" AND MSVC AND + CMAKE_C_LINKER_SUPPORTS_PDB) + install(FILES "$<TARGET_PDB_FILE:turbojpeg>" +@@ -1452,8 +1462,10 @@ + else() + set(DIR ${CMAKE_CURRENT_BINARY_DIR}) + endif() ++ if(ENABLE_TESTS) + install(PROGRAMS ${DIR}/tjbench-static${EXE} + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME tjbench${EXE}) ++ endif() + endif() + endif() + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/turbojpeg.h +@@ -1464,6 +1476,7 @@ + install(TARGETS jpeg-static EXPORT ${CMAKE_PROJECT_NAME}Targets + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++if(ENABLE_TESTS) + if(NOT ENABLE_SHARED) + if(MSVC_IDE OR XCODE) + set(DIR "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}") +@@ -1478,8 +1491,11 @@ + DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME jpegtran${EXE}) + endif() + endif() ++endif() + ++if(ENABLE_TESTS) + install(TARGETS rdjpgcom wrjpgcom RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) ++endif() + + install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/README.ijg + ${CMAKE_CURRENT_SOURCE_DIR}/README.md ${CMAKE_CURRENT_SOURCE_DIR}/example.txt diff --git a/tools/depends/target/libjpeg-turbo/LIBJPEG-TURBO-VERSION b/tools/depends/target/libjpeg-turbo/LIBJPEG-TURBO-VERSION new file mode 100644 index 0000000000..61eb00828e --- /dev/null +++ b/tools/depends/target/libjpeg-turbo/LIBJPEG-TURBO-VERSION @@ -0,0 +1,4 @@ +LIBNAME=libjpeg-turbo +VERSION=2.1.4 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=d3e92d614168355827e0ed884ff847cc7df8f6f1fb7b673c6c99afdf61fdfc0372afe5d30fdbf5e743335e2a7a27ca9f510c67d213e5cb2315a8d946e9414575 diff --git a/tools/depends/target/libjpeg-turbo/Makefile b/tools/depends/target/libjpeg-turbo/Makefile index 53c589e7d7..1b67cd0046 100644 --- a/tools/depends/target/libjpeg-turbo/Makefile +++ b/tools/depends/target/libjpeg-turbo/Makefile @@ -1,34 +1,22 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +include ../../Makefile.include LIBJPEG-TURBO-VERSION ../../download-files.include +DEPS = ../../Makefile.include LIBJPEG-TURBO-VERSION Makefile ../../download-files.include \ + 01-disable-executables.patch -# lib name, version -LIBNAME=libjpeg-turbo -VERSION=1.5.1 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz -# configuration settings -CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ - ./configure --prefix=$(PREFIX) --with-jpeg8 --disable-shared - -export CFLAGS=-O3 - -LIBDYLIB=$(PLATFORM)/.libs/libjpeg.a +LIBDYLIB=$(PLATFORM)/build/libjpeg.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); $(CONFIGURE) + cd $(PLATFORM); patch -p1 -i ../01-disable-executables.patch + cd $(PLATFORM); $(CMAKE) -B build -DCMAKE_ASM_NASM_COMPILER:FILEPATH=$(NATIVEPREFIX)/bin/nasm -DENABLE_SHARED:BOOL=OFF -DWITH_JPEG8:BOOL=ON $(LIBDYLIB): $(PLATFORM) - $(MAKE) -j 1 -C $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: diff --git a/tools/depends/target/liblzo2/LIBLZO2-VERSION b/tools/depends/target/liblzo2/LIBLZO2-VERSION new file mode 100644 index 0000000000..05008a9694 --- /dev/null +++ b/tools/depends/target/liblzo2/LIBLZO2-VERSION @@ -0,0 +1,6 @@ +LIBNAME=lzo +VERSION=2.10 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.gz +SHA512=a3dae5e4a6b93b1f5bf7435e8ab114a9be57252e9efc5dd444947d7a2d031b0819f34bcaeb35f60b5629a01b1238d738735a64db8f672be9690d3c80094511a4 +BYPRODUCT=liblzo2.a diff --git a/tools/depends/target/liblzo2/Makefile b/tools/depends/target/liblzo2/Makefile index 1748a4feea..08eeb2671b 100644 --- a/tools/depends/target/liblzo2/Makefile +++ b/tools/depends/target/liblzo2/Makefile @@ -1,39 +1,28 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +include ../../Makefile.include LIBLZO2-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile LIBLZO2-VERSION ../../download-files.include -# lib name, version -LIBNAME=lzo -VERSION=2.09 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +# configuration options +CMAKE_OPTIONS=-DCMAKE_BUILD_TYPE=Release \ + -DENABLE_STATIC=ON \ + -DENABLE_SHARED=OFF \ + -DCMAKE_INSTALL_PREFIX=$(PREFIX) -# configuration settings -CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) autoconf/; \ - ./configure --prefix=$(PREFIX) - -LIBDYLIB=$(PLATFORM)/src/.libs/lib$(LIBNAME)2.a +LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) - rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); $(CONFIGURE) + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. -$(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) - -.installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install +.installed-$(PLATFORM): $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: - $(MAKE) -C $(PLATFORM) clean + $(MAKE) -C $(PLATFORM)/build clean rm -f .installed-$(PLATFORM) distclean:: rm -rf $(PLATFORM) .installed-$(PLATFORM) - diff --git a/tools/depends/target/libmicrohttpd/001-remove-assert.patch b/tools/depends/target/libmicrohttpd/001-remove-assert.patch new file mode 100644 index 0000000000..472cc279c7 --- /dev/null +++ b/tools/depends/target/libmicrohttpd/001-remove-assert.patch @@ -0,0 +1,11 @@ +--- a/src/microhttpd/connection.c ++++ b/src/microhttpd/connection.c +@@ -1024,7 +1024,7 @@ + struct MHD_Response *response; + + response = connection->response; +- mhd_assert (connection->rp_props.send_reply_body); ++// mhd_assert (connection->rp_props.send_reply_body); + + if ( (0 == response->total_size) || + /* TODO: replace the next check with assert */ diff --git a/tools/depends/target/libmicrohttpd/LIBMICROHTTPD-VERSION b/tools/depends/target/libmicrohttpd/LIBMICROHTTPD-VERSION new file mode 100644 index 0000000000..b6c751d7ef --- /dev/null +++ b/tools/depends/target/libmicrohttpd/LIBMICROHTTPD-VERSION @@ -0,0 +1,4 @@ +LIBNAME=libmicrohttpd +VERSION=0.9.75 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=4dc62ed191342a61cc2767171bb1ff4050f390db14ef7100299888237b52ea0b04b939c843878fe7f5daec2b35a47b3c1b7e7c11fb32d458184fe6b19986a37c diff --git a/tools/depends/target/libmicrohttpd/Makefile b/tools/depends/target/libmicrohttpd/Makefile index 6f0f0d7047..6bae6ce677 100644 --- a/tools/depends/target/libmicrohttpd/Makefile +++ b/tools/depends/target/libmicrohttpd/Makefile @@ -1,28 +1,28 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile - -# lib name, version -LIBNAME=libmicrohttpd -VERSION=0.9.55 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +include ../../Makefile.include LIBMICROHTTPD-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile LIBMICROHTTPD-VERSION ../../download-files.include \ + 001-remove-assert.patch # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ - ./configure --prefix=$(PREFIX) --disable-shared \ - --disable-doc --disable-examples --disable-curl \ - --disable-spdy + ./configure --prefix=$(PREFIX) \ + --disable-shared \ + --disable-doc \ + --disable-examples \ + --disable-curl \ + --enable-https + +ifeq ($(DEBUG_BUILD), yes) + CONFIGURE+= --enable-asserts +endif LIBDYLIB=$(PLATFORM)/src/microhttpd/.libs/$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); patch -p1 -i ../001-remove-assert.patch cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) @@ -38,4 +38,3 @@ clean: distclean:: rm -rf $(PLATFORM) .installed-$(PLATFORM) - diff --git a/tools/depends/target/libnfs/LIBNFS-VERSION b/tools/depends/target/libnfs/LIBNFS-VERSION new file mode 100644 index 0000000000..892aa7afcf --- /dev/null +++ b/tools/depends/target/libnfs/LIBNFS-VERSION @@ -0,0 +1,6 @@ +LIBNAME=libnfs +VERSION=5.0.2 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=6dcf4ea8a01b35beb53694625d20fbebd858a88725c2742671878ad6fe7877999f93d262fb58a435b00c283c3e6fb6fa7222d04bb4540bf674b7ce196e9424f5 +BYPRODUCT=libnfs.a +BYPRODUCT_WIN=nfs.lib diff --git a/tools/depends/target/libnfs/Makefile b/tools/depends/target/libnfs/Makefile index 5871cc8cae..0029cda86a 100644 --- a/tools/depends/target/libnfs/Makefile +++ b/tools/depends/target/libnfs/Makefile @@ -1,39 +1,33 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile - -# lib name, version -LIBNAME=libnfs -VERSION=2.0.0 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +include ../../Makefile.include LIBNFS-VERSION ../../download-files.include +DEPS= ../../Makefile.include Makefile LIBNFS-VERSION ../../download-files.include # configuration settings -CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --disable-utils --disable-werror +CMAKE_OPTIONS=-DBUILD_SHARED_LIBS=OFF \ + -DENABLE_TESTS=OFF \ + -DENABLE_DOCUMENTATION=OFF \ + -DENABLE_UTILS=OFF \ + -DENABLE_EXAMPLES=OFF -LIBDYLIB=$(PLATFORM)/lib/.libs/$(LIBNAME).a +LIBDYLIB=$(PLATFORM)/build/lib/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) -rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); ./bootstrap - cd $(PLATFORM); $(CONFIGURE) + cd $(PLATFORM); mkdir -p build + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. $(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: - $(MAKE) -C $(PLATFORM) clean - rm -r .installed-$(PLATFORM) - rm -rf $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build clean + rm -f .installed-$(PLATFORM) distclean:: rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/target/libplist/01-disable-tools-tests.patch b/tools/depends/target/libplist/01-disable-tools-tests.patch index d329459319..d80f8a6ebe 100644 --- a/tools/depends/target/libplist/01-disable-tools-tests.patch +++ b/tools/depends/target/libplist/01-disable-tools-tests.patch @@ -3,8 +3,8 @@ @@ -1,6 +1,6 @@ AUTOMAKE_OPTIONS = foreign ACLOCAL_AMFLAGS = -I m4 --SUBDIRS = libcnary src include tools test +-SUBDIRS = libcnary src include tools test docs +SUBDIRS = libcnary src include + if HAVE_CYTHON SUBDIRS += cython - endif diff --git a/tools/depends/target/libplist/Makefile b/tools/depends/target/libplist/Makefile index 6c2d64f5ba..bf574d5798 100644 --- a/tools/depends/target/libplist/Makefile +++ b/tools/depends/target/libplist/Makefile @@ -1,23 +1,23 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile 01-disable-tools-tests.patch +DEPS = ../../Makefile.include Makefile 01-disable-tools-tests.patch ../../download-files.include # lib name, version LIBNAME=libplist -VERSION=2.0.0 +VERSION=2.2.0 SOURCE=$(LIBNAME)-$(VERSION) FILENAME=v$(VERSION) ARCHIVE=$(SOURCE).tar.bz2 -LIBDYLIB=$(PLATFORM)/src/.libs/libplist++.a +SHA512=dcd922ebb28efa3c507253dd4671fdb3e4d367540734765b8d545756f6be2731fc401e7992cc6b06cdbde866fd7e17ff6188895505988b41f738226a004d7291 +include ../../download-files.include +LIBDYLIB=$(PLATFORM)/src/.libs/libplist++-2.0.a CFLAGS+=-fvisibility=default all: .installed-$(PLATFORM) # configuration settings -CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; CFLAGS="-Dlist_add=plist_list_add" ./configure --prefix=$(PREFIX) --disable-shared --without-cython +CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; ./configure --prefix=$(PREFIX) --disable-shared --without-cython -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../01-disable-tools-tests.patch diff --git a/tools/depends/target/libpng/LIBPNG-VERSION b/tools/depends/target/libpng/LIBPNG-VERSION new file mode 100644 index 0000000000..c67b9d40ef --- /dev/null +++ b/tools/depends/target/libpng/LIBPNG-VERSION @@ -0,0 +1,5 @@ +LIBNAME=libpng +VERSION=1.6.37 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=2ce2b855af307ca92a6e053f521f5d262c36eb836b4810cb53c809aa3ea2dcc08f834aee0ffd66137768a54397e28e92804534a74abb6fc9f6f3127f14c9c338 +BYPRODUCT=libpng.a diff --git a/tools/depends/target/libpng/Makefile b/tools/depends/target/libpng/Makefile index de97342d14..934ab4cce2 100644 --- a/tools/depends/target/libpng/Makefile +++ b/tools/depends/target/libpng/Makefile @@ -1,37 +1,43 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile - -# lib name, version -LIBNAME=libpng -VERSION=1.6.26 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +include ../../Makefile.include LIBPNG-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile LIBPNG-VERSION ../../download-files.include # configuration settings -CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ - ./configure --prefix=$(PREFIX) --disable-shared - -LIBDYLIB=$(PLATFORM)/.libs/$(LIBNAME)16.a +CMAKE_OPTIONS=-DPNG_SHARED=OFF \ + -DPNG_STATIC=ON \ + -DPNG_TESTS=OFF \ + -DPNG_DEBUG=OFF + +ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin) + # hardware optimizations require NEON instructions that + # fail on m1 hardware and ios/tvos, so just disable for any arm64 target cpu on + # an apple-darwin target + ifeq ($(CPU), arm64) + CMAKE_OPTIONS+= -DPNG_HARDWARE_OPTIMIZATIONS=OFF + else + CMAKE_OPTIONS+= -DPNG_HARDWARE_OPTIMIZATIONS=ON + endif +else + CMAKE_OPTIONS+= -DPNG_HARDWARE_OPTIMIZATIONS=ON \ + -DPNG_BUILD_ZLIB=ON \ + -DZLIB_LIBRARY=$(PREFIX)/lib/libz.a \ + -DZLIB_INCLUDE_DIR=$(PREFIX)/include +endif + +LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) - rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); $(CONFIGURE) - -$(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. -.installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install +.installed-$(PLATFORM): $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: - $(MAKE) -C $(PLATFORM) clean + $(MAKE) -C $(PLATFORM)/build clean rm -f .installed-$(PLATFORM) distclean:: diff --git a/tools/depends/target/libsdl/Makefile b/tools/depends/target/libsdl/Makefile index d77b5e1e6f..7f30df226d 100644 --- a/tools/depends/target/libsdl/Makefile +++ b/tools/depends/target/libsdl/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile 01-SDL_SetWidthHeight.patch 02-OSX_interpretKeyEvents.patch 03-mavericks-compile.patch 04-fix_external_screen_crash.patch +DEPS = ../../Makefile.include Makefile 01-SDL_SetWidthHeight.patch 02-OSX_interpretKeyEvents.patch 03-mavericks-compile.patch 04-fix_external_screen_crash.patch ../../download-files.include # lib name, version LIBNAME=SDL VERSION=1.2.15 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=ac392d916e6953b0925a7cbb0f232affea33339ef69b47a0a7898492afb9784b93138986df53d6da6d3e2ad79af1e9482df565ecca30f89428be0ae6851b1adc +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) --disable-video-directfb @@ -17,10 +19,8 @@ LIBDYLIB=$(PLATFORM)/build/.libs/lib$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../01-SDL_SetWidthHeight.patch diff --git a/tools/depends/target/libshairplay/0001-configure-fix-dns-sd-check.patch b/tools/depends/target/libshairplay/0001-configure-fix-dns-sd-check.patch index 5aa5c5300a..d55af6dc96 100644 --- a/tools/depends/target/libshairplay/0001-configure-fix-dns-sd-check.patch +++ b/tools/depends/target/libshairplay/0001-configure-fix-dns-sd-check.patch @@ -8,11 +8,9 @@ Subject: [PATCH] [configure] - only check for dns_sd.h in case libdl was not configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/configure.ac b/configure.ac -index 5a4b8ad..682d74b 100644 --- a/configure.ac +++ b/configure.ac -@@ -19,7 +19,7 @@ LT_LIB_DLLOAD +@@ -19,7 +19,7 @@ # Checks for header files. AC_HEADER_STDC @@ -21,6 +19,3 @@ index 5a4b8ad..682d74b 100644 then AC_CHECK_HEADERS([dns_sd.h], [], [AC_MSG_ERROR([Could not find dns_sd.h header, please install libavahi-compat-libdnssd-dev or equivalent.])]) --- -2.17.1 - diff --git a/tools/depends/target/libshairplay/Makefile b/tools/depends/target/libshairplay/Makefile index 30d12164bf..686134b66c 100644 --- a/tools/depends/target/libshairplay/Makefile +++ b/tools/depends/target/libshairplay/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile 0001-configure-fix-dns-sd-check.patch +DEPS = ../../Makefile.include Makefile 0001-configure-fix-dns-sd-check.patch ../../download-files.include # lib name, version LIBNAME=shairplay VERSION=096b61a SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.bz2 +SHA512=592a001954fd3ca86a81a907fef3892ebb53f4b91e937a049ec048e3473919f1c6e00fdf4a755d187c0b07afb0062e3613587f95817ec0786eeac5c18848ae1f +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) @@ -15,13 +17,11 @@ LIBDYLIB=$(PLATFORM)/src/lib/.libs/libshairplay.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); patch -p1 < ../0001-configure-fix-dns-sd-check.patch + cd $(PLATFORM); patch -p1 -i ../0001-configure-fix-dns-sd-check.patch cd $(PLATFORM); $(AUTORECONF) -vif cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/target/libudev/Makefile b/tools/depends/target/libudev/Makefile index 3868cc0e6c..a7e1b764ed 100644 --- a/tools/depends/target/libudev/Makefile +++ b/tools/depends/target/libudev/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS=../../Makefile.include Makefile +DEPS =../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=libudev VERSION=3.2.5 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=bc3dbe847a36dedbb2617c9fe123aa8d66adb0ab731a447a2dae4dff8031a09a0df10fac5cf85c6c4818f46f106336ead54620af0bb86c01a0a31dbda129a8f7 +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --enable-static --enable-introspection=no --disable-programs --disable-blkid --disable-selinux --disable-manpages --disable-kmod --disable-mtd_probe @@ -14,10 +16,8 @@ LIBDYLIB=$(PLATFORM)/src/libudev/.libs/libudev.la all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(AUTORECONF) -vif diff --git a/tools/depends/target/libusb/Makefile b/tools/depends/target/libusb/Makefile index 5f8cf73627..f4368fd1eb 100644 --- a/tools/depends/target/libusb/Makefile +++ b/tools/depends/target/libusb/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile no-Werror.patch +DEPS = ../../Makefile.include Makefile no-Werror.patch ../../download-files.include # lib name, version LIBNAME=libusb VERSION=0.1.12 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=08c10e899f93b5f8567d1a1e1ed87dd5631ad0a1463975404709c1d165e545e340afb474a66788efcfdd8193542e2a2eb9cf133f55cbbf76441244191d0bb825 +include ../../download-files.include # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ @@ -15,10 +17,8 @@ LIBDYLIB=$(PLATFORM)/.libs/$(LIBNAME).a all: $(LIBDYLIB) .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../no-Werror.patch diff --git a/tools/depends/target/libuuid/Makefile b/tools/depends/target/libuuid/Makefile index 92c9157242..5f5a24a849 100644 --- a/tools/depends/target/libuuid/Makefile +++ b/tools/depends/target/libuuid/Makefile @@ -1,30 +1,34 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include -# We use uuid from e2fsprogs since this easily cross-compiles on android, while util-linux does not. +# We use uuid from e2fsprogs for legacy. util-linux works fine on android now # lib name, version LIBNAME=libuuid -VERSION=1.42.13 -SOURCE=e2fsprogs-1.42.13 +VERSION=1.46.5 +SOURCE=e2fsprogs-$(VERSION) ARCHIVE=$(SOURCE).tar.xz - +SHA512=53282e1c524f62a95012b1aceef296d494f5238c82c9b08b29fbe6a803dbf7ccfdcd9124eb2f11fe2ff9de26387c78751a92c3217ca414f6db6242098a72d3fa +include ../../download-files.include LIBDYLIB=$(PLATFORM)/lib/$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); ./configure --prefix=$(PREFIX) --disable-fsck + # e2fsprog libuuid often fails because it doesnt create include/uuid location before + # installing. lets just create it and move on. + mkdir -p $(PREFIX)/include/uuid + cd $(PLATFORM); ./configure --prefix=$(PREFIX) --disable-fsck --enable-libuuid $(LIBDYLIB): $(PLATFORM) + # -j1 is required due to concurrency failures with dirpath.h generation cd $(PLATFORM)/lib/uuid ; $(MAKE) -j1 .installed-$(PLATFORM): $(LIBDYLIB) + # -j1 is required due to concurrency failures with dirpath.h generation cd $(PLATFORM)/lib/uuid ; $(MAKE) -j1 install touch $@ diff --git a/tools/depends/target/libva/Makefile b/tools/depends/target/libva/Makefile new file mode 100644 index 0000000000..ae307715bd --- /dev/null +++ b/tools/depends/target/libva/Makefile @@ -0,0 +1,61 @@ +include ../../Makefile.include +DEPS =../../Makefile.include Makefile ../../download-files.include + +LIBNAME=libva +VERSION=2.8.0 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2 +SHA512=329c5fc2262a6f4fddfcb13bd9644589248be6ae18fa1481cccc6b33874b91b60ad3f16a1777712f7a4817ba576db984834aa8735e6ad13d99b2f5aa13e9ddfa +include ../../download-files.include + +MESON_BUILD_TYPE=release + +ifeq ($(DEBUG_BUILD), yes) + MESON_BUILD_TYPE=debug +endif + +# configuration settings +CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \ + --prefix=$(PREFIX) \ + --libdir=lib \ + --buildtype=$(MESON_BUILD_TYPE) \ + -Ddisable_drm=false \ + -Denable_docs=false \ + -Denable_va_messaging=true + +ifeq ($(CROSS_COMPILING), yes) +CONFIGURE += --cross-file $(PREFIX)/share/cross-file.meson +export CC=$(CC_FOR_BUILD) +export CXX=$(CXX_FOR_BUILD) +export CFLAGS=$(CFLAGS_FOR_BUILD) +export CXXFLAGS=$(CXXFLAGS_FOR_BUILD) +else +export CC CXX CFLAGS CXXFLAGS +endif +export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig + +LIBDYLIB=$(PLATFORM)/build/va/$(LIBNAME).so + +all: .installed-$(PLATFORM) + +download: $(TARBALLS_LOCATION)/$(ARCHIVE) + + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); rm -rf build; mkdir -p build + cd $(PLATFORM); $(CONFIGURE) . build + +$(LIBDYLIB): $(PLATFORM) + cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v + +.installed-$(PLATFORM): $(LIBDYLIB) + cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/target/libxkbcommon/Makefile b/tools/depends/target/libxkbcommon/Makefile index 8030e13bed..df576f674d 100644 --- a/tools/depends/target/libxkbcommon/Makefile +++ b/tools/depends/target/libxkbcommon/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS=../../Makefile.include Makefile +DEPS =../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=libxkbcommon VERSION=0.8.0 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.xz +SHA512=ad64baa03685b72e1047f9fdfc95661acf5bace59280a95d3defaca73c91fb77c31ecde00b430726e3521ff90cf8dd93ecbc816c18be0971cb616e00b81cf163 +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --enable-static --disable-x11 --disable-docs @@ -14,10 +16,8 @@ LIBDYLIB=$(PLATFORM)/.libs/libxkbcommon.la all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/target/libxml2/LIBXML2-VERSION b/tools/depends/target/libxml2/LIBXML2-VERSION new file mode 100644 index 0000000000..9a8fbb16bb --- /dev/null +++ b/tools/depends/target/libxml2/LIBXML2-VERSION @@ -0,0 +1,5 @@ +LIBNAME=libxml2 +VERSION=2.10.1 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz +SHA512=7ae653eef725706c825a8755da14a92124c3f85b38f81fd1148c6e373b149d095eae935a47d874d210dafc7e76f09c019866657b8f9d6a44c666ce741e12f3ce +BYPRODUCT=libxml2.a diff --git a/tools/depends/target/libxml2/Makefile b/tools/depends/target/libxml2/Makefile index 9e71133ce4..d3b4d352cf 100644 --- a/tools/depends/target/libxml2/Makefile +++ b/tools/depends/target/libxml2/Makefile @@ -1,40 +1,36 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile - -# lib name, version -LIBNAME=libxml2 -VERSION=2.9.4 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +include ../../Makefile.include LIBXML2-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile LIBXML2-VERSION ../../download-files.include # configuration settings -CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ - ./configure --prefix=$(PREFIX) --without-python --without-iconv --disable-shared - -LIBDYLIB=$(PLATFORM)/.libs/$(LIBNAME).a +CMAKE_OPTIONS=-DBUILD_SHARED_LIBS=OFF \ + -DLIBXML2_WITH_DEBUG=OFF \ + -DLIBXML2_WITH_ICONV=OFF \ + -DLIBXML2_WITH_LZMA=OFF \ + -DLIBXML2_WITH_MODULES=OFF \ + -DLIBXML2_WITH_PYTHON=OFF \ + -DLIBXML2_WITH_RUN_DEBUG=OFF \ + -DLIBXML2_WITH_PROGRAMS=OFF \ + -DLIBXML2_WITH_TESTS=OFF + +LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - sed -ie 's|runtest$(EXEEXT)||' "$(PLATFORM)/Makefile.in" - sed -ie 's|testrecurse$(EXEEXT)||' "$(PLATFORM)/Makefile.in" - cd $(PLATFORM); $(CONFIGURE) + cd $(PLATFORM); mkdir -p build + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. $(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install - touch $(LIBDYLIB) + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: - $(MAKE) -C $(PLATFORM) clean + $(MAKE) -C $(PLATFORM)/build clean rm -f .installed-$(PLATFORM) distclean:: diff --git a/tools/depends/target/libxslt/01-all-disable-tests-docs.patch b/tools/depends/target/libxslt/01-all-disable-tests-docs.patch new file mode 100644 index 0000000000..e2e839fbd9 --- /dev/null +++ b/tools/depends/target/libxslt/01-all-disable-tests-docs.patch @@ -0,0 +1,26 @@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -416,12 +416,9 @@ + SUBDIRS = \ + libxslt \ + libexslt \ +- xsltproc \ +- doc \ +- $(PYTHON_SUBDIR) \ +- tests ++ $(PYTHON_SUBDIR) + +-DIST_SUBDIRS = libxslt libexslt xsltproc python doc tests ++DIST_SUBDIRS = libxslt libexslt python + confexecdir = $(libdir) + confexec_DATA = xsltConf.sh + bin_SCRIPTS = xslt-config +@@ -1056,7 +1053,7 @@ + < $(srcdir)/xsltConf.sh.in > xsltConf.tmp \ + && mv xsltConf.tmp xsltConf.sh + +-check-local: tests ++check-local: + + dummy: + diff --git a/tools/depends/target/libxslt/Makefile b/tools/depends/target/libxslt/Makefile index 0d0465e0db..292c2868e6 100644 --- a/tools/depends/target/libxslt/Makefile +++ b/tools/depends/target/libxslt/Makefile @@ -1,29 +1,32 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile 01-all-disable-tests-docs.patch ../../download-files.include # lib name, version LIBNAME=libxslt -VERSION=1.1.29 +VERSION=1.1.34 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=1516a11ad608b04740674060d2c5d733b88889de5e413b9a4e8bf8d1a90d712149df6d2b1345b615f529d7c7d3fa6dae12e544da828b39c7d415e54c0ee0776b +include ../../download-files.include # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ - ./configure --prefix=$(PREFIX) --without-python --disable-shared --with-debug --with-debugger --with-mem-debug --with-libxml-prefix=$(PREFIX) + ./configure --prefix=$(PREFIX) --without-python --disable-shared \ + --with-debug --with-debugger --with-mem-debug \ + --with-libxml-prefix=$(PREFIX) \ + --with-libxml-libs-prefix=$(PREFIX)/lib \ + --with-libxml-include-prefix=$(PREFIX)/include/libxml2 + LIBDYLIB=$(PLATFORM)/$(LIBNAME)/.libs/$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - sed -ie "s|runtest$$(EXEEXT)||" "$(PLATFORM)/Makefile.in" - sed -ie "s|testrecurse$$(EXEEXT)||" "$(PLATFORM)/Makefile.in" - sed -ie "s|xsltproc||" "$(PLATFORM)/Makefile.in" + cd $(PLATFORM); patch -p1 -i ../01-all-disable-tests-docs.patch cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) diff --git a/tools/depends/target/libzip/LIBZIP-VERSION b/tools/depends/target/libzip/LIBZIP-VERSION new file mode 100644 index 0000000000..af0835ba6d --- /dev/null +++ b/tools/depends/target/libzip/LIBZIP-VERSION @@ -0,0 +1,5 @@ +LIBNAME=libzip +VERSION=1.8.0 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz +SHA512=fe94a26a2797dff7c9b27334f29982f8e523dd5095bf32ebcadc6443726864f0ff7b2e8bf243e52cad8f79297bc7a87d73fdbc35edae4ffc8ab6aa0bcc93b03e +BYPRODUCT=libzip.a diff --git a/tools/depends/target/libzip/Makefile b/tools/depends/target/libzip/Makefile index 2961d6d8cd..5034951740 100644 --- a/tools/depends/target/libzip/Makefile +++ b/tools/depends/target/libzip/Makefile @@ -1,34 +1,27 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +include ../../Makefile.include LIBZIP-VERSION ../../download-files.include +DEPS = ../../Makefile.include LIBZIP-VERSION Makefile ../../download-files.include -# lib name, version -LIBNAME=libzip -VERSION=1.1.2 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +CMAKE_OPTIONS=-DBUILD_DOC:BOOL=OFF \ + -DBUILD_EXAMPLES:BOOL=OFF \ + -DBUILD_REGRESS:BOOL=OFF \ + -DBUILD_SHARED_LIBS:BOOL=OFF \ + -DBUILD_TOOLS:BOOL=OFF \ + -DCMAKE_BUILD_TYPE=Debug -# configuration settings -CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ - ./configure --prefix=$(PREFIX) --disable-shared - -LIBDYLIB=$(PLATFORM)/lib/.libs/$(LIBNAME).a +LIBDYLIB=$(PLATFORM)/build/lib/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); $(CONFIGURE) + cd $(PLATFORM); $(CMAKE) -B build ${CMAKE_OPTIONS} $(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install - rm -f $(PREFIX)/lib/libzip.la $(PREFIX)/lib/libzip*.so* + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: diff --git a/tools/depends/target/mariadb/01-android.patch b/tools/depends/target/mariadb/01-android.patch index 1087cd5dd8..b45d3120be 100644 --- a/tools/depends/target/mariadb/01-android.patch +++ b/tools/depends/target/mariadb/01-android.patch @@ -1,10 +1,9 @@ --- a/cmake/CheckIncludeFiles.cmake +++ b/cmake/CheckIncludeFiles.cmake -@@ -74,3 +74,12 @@ - CHECK_INCLUDE_FILES (unistd.h HAVE_UNISTD_H) - CHECK_INCLUDE_FILES (utime.h HAVE_UTIME_H) - CHECK_INCLUDE_FILES (ucontext.h HAVE_UCONTEXT_H) -+IF(HAVE_UCONTEXT_H) +@@ -50,4 +50,11 @@ + CHECK_INCLUDE_FILES (ucontext.h HAVE_FILE_UCONTEXT_H) + IF(NOT HAVE_FILE_UCONTEXT_H) + CHECK_INCLUDE_FILES (sys/ucontext.h HAVE_FILE_UCONTEXT_H) + CHECK_FUNCTION_EXISTS (getcontext HAVE_GETCONTEXT) + CHECK_FUNCTION_EXISTS (makecontext HAVE_MAKECONTEXT) + CHECK_FUNCTION_EXISTS (setcontext HAVE_SETCONTEXT) @@ -12,49 +11,14 @@ + IF(NOT HAVE_GETCONTEXT OR NOT HAVE_MAKECONTEXT OR NOT HAVE_SETCONTEXT OR NOT HAVE_SWAPCONTEXT) + SET(HAVE_UCONTEXT_H 0 CACHE INTERNAL "") + ENDIF() -+ENDIF(HAVE_UCONTEXT_H) + ENDIF() --- a/cmake/CheckTypes.cmake +++ b/cmake/CheckTypes.cmake -@@ -25,6 +25,7 @@ - CHECK_TYPE_SIZE(off_t SIZEOF_OFF_T) - CHECK_TYPE_SIZE(uchar SIZEOF_UCHAR) +@@ -21,7 +21,6 @@ + CHECK_TYPE_SIZE(size_t SIZEOF_SIZE_T) + SET(CMAKE_EXTRA_INCLUDE_FILES sys/types.h) CHECK_TYPE_SIZE(uint SIZEOF_UINT) -+CHECK_TYPE_SIZE(ushort SIZEOF_USHORT) +-CHECK_TYPE_SIZE(uint SIZEOF_USHORT) CHECK_TYPE_SIZE(ulong SIZEOF_ULONG) CHECK_TYPE_SIZE(int8 SIZEOF_INT8) CHECK_TYPE_SIZE(uint8 SIZEOF_UINT8) ---- a/include/ma_config.h.in -+++ b/include/ma_config.h.in -@@ -217,6 +217,11 @@ - # define HAVE_UINT 1 - #endif - -+#cmakedefine SIZEOF_USHORT @SIZEOF_USHORT@ -+#if SIZEOF_USHORT -+# define HAVE_USHORT 1 -+#endif -+ - #cmakedefine SIZEOF_ULONG @SIZEOF_ULONG@ - #if SIZEOF_ULONG - # define HAVE_ULONG 1 ---- a/include/ma_global.h -+++ b/include/ma_global.h -@@ -272,6 +272,8 @@ - - #if defined(__EMX__) || !defined(HAVE_UINT) - typedef unsigned int uint; -+#endif -+#if defined(__EMX__) || !defined(HAVE_USHORT) - typedef unsigned short ushort; - #endif - ---- a/libmariadb/CMakeLists.txt -+++ b/libmariadb/CMakeLists.txt -@@ -291,7 +291,6 @@ - IF(ICONV_INCLUDE_DIR) - INCLUDE_DIRECTORIES(BEFORE ${ICONV_INCLUDE_DIR}) - ENDIF() -- ADD_DEFINITIONS(-DLIBICONV_PLUG) - ENDIF() - - IF(ZLIB_FOUND AND WITH_EXTERNAL_ZLIB) diff --git a/tools/depends/target/mariadb/02-fix-CONC-612.patch b/tools/depends/target/mariadb/02-fix-CONC-612.patch new file mode 100644 index 0000000000..f34732ba0f --- /dev/null +++ b/tools/depends/target/mariadb/02-fix-CONC-612.patch @@ -0,0 +1,21 @@ +--- a/plugins/pvio/pvio_socket.c ++++ b/plugins/pvio/pvio_socket.c +@@ -643,12 +643,18 @@ static int pvio_socket_internal_connect(MARIADB_PVIO *pvio, + + #ifndef _WIN32 + do { ++ int save_errno; + rc= connect(csock->socket, (struct sockaddr*) name, (int)namelen); + + if (time(NULL) - start_t > (time_t)timeout/1000) + break; + ++ /* CONC-612: Since usleep may fail and will set errno (On MacOSX usleep ++ always sets errno=ETIMEDOUT), we need to save and restore errno */ ++ save_errno= errno; + usleep(wait_conn); ++ errno= save_errno; ++ + wait_conn= wait_conn >= 1000000 ? 1000000 : wait_conn * 2; + + } while (rc == -1 && (errno == EINTR || errno == EAGAIN)); diff --git a/tools/depends/target/mariadb/04-pthread.patch b/tools/depends/target/mariadb/04-pthread.patch new file mode 100644 index 0000000000..e29ca0ec67 --- /dev/null +++ b/tools/depends/target/mariadb/04-pthread.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -310,7 +310,7 @@ + IF(OPENSSL_FOUND) + ADD_DEFINITIONS(-DHAVE_OPENSSL -DHAVE_TLS) + SET(SSL_SOURCES "${CC_SOURCE_DIR}/libmariadb/secure/openssl.c") +- SET(SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY}) ++ SET(SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY} ${_OPENSSL_LDFLAGS_OTHER}) + IF(WIN32) + CHECK_INCLUDE_FILES (${OPENSSL_INCLUDE_DIR}/openssl/applink.c HAVE_OPENSSL_APPLINK_C) + ENDIF() diff --git a/tools/depends/target/mariadb/MARIADB-VERSION b/tools/depends/target/mariadb/MARIADB-VERSION new file mode 100644 index 0000000000..e05f933611 --- /dev/null +++ b/tools/depends/target/mariadb/MARIADB-VERSION @@ -0,0 +1,4 @@ +LIBNAME=mariadb +VERSION=3.3.2 +ARCHIVE=$(LIBNAME)-connector-c-$(VERSION)-src.tar.gz +SHA512=1f9754112ba02b863435840dab8e0954b98c646e6e6d73bbc2f338cd6493824b0f8973bbf80b129631ccafd684e0579743fe81a0e8f1120ed9f18154d9d446b3 diff --git a/tools/depends/target/mariadb/Makefile b/tools/depends/target/mariadb/Makefile index ff810583c1..20a8fe5347 100644 --- a/tools/depends/target/mariadb/Makefile +++ b/tools/depends/target/mariadb/Makefile @@ -1,23 +1,34 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile 01-android.patch - -LIBNAME=mariadb -VERSION=3.0.3 -ARCHIVE=$(LIBNAME)-connector-c-$(VERSION)-src.tar.gz +include ../../Makefile.include MARIADB-VERSION ../../download-files.include +DEPS = ../../Makefile.include MARIADB-VERSION Makefile ../../download-files.include \ + 01-android.patch \ + 02-fix-CONC-612.patch \ + 04-pthread.patch LIBDYLIB=$(PLATFORM)/build/lib$(LIBNAME)/lib$(LIBNAME)client.a -all: .installed-$(PLATFORM) +# build all plugins as static +PLUGIN_BUILD_FLAGS=-DCLIENT_PLUGIN_DIALOG=STATIC +PLUGIN_BUILD_FLAGS+=-DCLIENT_PLUGIN_SHA256_PASSWORD=STATIC -DCLIENT_PLUGIN_CACHING_SHA2_PASSWORD=STATIC +PLUGIN_BUILD_FLAGS+=-DCLIENT_PLUGIN_MYSQL_CLEAR_PASSWORD=STATIC -DCLIENT_PLUGIN_MYSQL_OLD_PASSWORD=STATIC +PLUGIN_BUILD_FLAGS+=-DCLIENT_PLUGIN_CLIENT_ED25519=STATIC -DCLIENT_PLUGIN_AUTH_GSSAPI_CLIENT=STATIC -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) +ifeq ($(TARGET_PLATFORM),appletvos) + PLUGIN_BUILD_FLAGS+=-DHAVE_UCONTEXT_H= -DHAVE_FILE_UCONTEXT_H= +endif + +all: .installed-$(PLATFORM) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) +ifeq ($(OS),android) cd $(PLATFORM); patch -p1 -i ../01-android.patch - sed -ie 's| "DYNAMIC" | "STATIC" |' $(PLATFORM)/cmake/plugins.cmake - cd $(PLATFORM)/build; $(CMAKE) -DAUTH_GSSAPI=OFF -DWITH_UNITTEST:BOOL=OFF -DWITH_EXTERNAL_ZLIB:BOOL=ON -DWITH_CURL:BOOL=OFF .. +endif + cd $(PLATFORM); patch -p1 -i ../02-fix-CONC-612.patch +ifeq ($(OS),linux) + cd $(PLATFORM); patch -p1 -i ../04-pthread.patch +endif + cd $(PLATFORM)/build; $(CMAKE) $(PLUGIN_BUILD_FLAGS) -DWITH_SSL=OPENSSL -DWITH_UNIT_TESTS:BOOL=OFF -DWITH_EXTERNAL_ZLIB:BOOL=ON -DWITH_CURL:BOOL=OFF .. $(LIBDYLIB): $(PLATFORM) $(MAKE) -C $(PLATFORM)/build diff --git a/tools/depends/target/mesa/Makefile b/tools/depends/target/mesa/Makefile new file mode 100644 index 0000000000..ca8ce7381e --- /dev/null +++ b/tools/depends/target/mesa/Makefile @@ -0,0 +1,94 @@ +include ../../Makefile.include +DEPS =../../Makefile.include Makefile ../../download-files.include + +LIBNAME=mesa +VERSION=20.1.7 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz +SHA512=5ff614c3f7568db7673cd2398615e5398c7f50093abdabd0730e07fe9c358310793fea3f130058110c9a2aa284c6efd207e1bdca3d1a1ba46fb18d76e34f361a +include ../../download-files.include + +MESON_BUILD_TYPE=release + +ifeq ($(DEBUG_BUILD), yes) + MESON_BUILD_TYPE=debug +endif + +ifeq ($(CPU), x86_64) + MESA_GALLIUM_DRIVERS=iris +else ifeq ($(CPU), $(filter $(CPU), arm aarch64)) + MESA_GALLIUM_DRIVERS=kmsro,vc4 + MESA_EXTRA=-Dplatforms=wayland,drm +endif + +# configuration settings +CONFIGURE = $(NATIVEPREFIX)/bin/python3 $(NATIVEPREFIX)/bin/meson \ + --prefix=$(PREFIX) \ + --libdir=lib \ + --buildtype=$(MESON_BUILD_TYPE) \ + -Ddri-drivers= \ + -Dgallium-drivers="$(MESA_GALLIUM_DRIVERS)" \ + -Dgallium-extra-hud=false \ + -Dgallium-xvmc=false \ + -Dgallium-omx=disabled \ + -Dgallium-nine=false \ + -Dgallium-opencl=disabled \ + -Dvulkan-drivers= \ + -Dshader-cache=true \ + -Dshared-glapi=true \ + -Dopengl=true \ + -Dgbm=true \ + -Degl=true \ + -Dvalgrind=false \ + -Dlibunwind=false \ + -Dlmsensors=false \ + -Dbuild-tests=false \ + -Dselinux=false \ + -Dosmesa=none \ + -Ddri3=false \ + -Dglx=disabled \ + -Dglvnd=false \ + -Dllvm=false \ + -Dgallium-vdpau=false \ + -Dgallium-va=false \ + -Dgallium-xa=false \ + -Dgles1=false \ + -Dgles2=true \ + $(MESA_EXTRA) + +ifeq ($(CROSS_COMPILING), yes) +CONFIGURE += --cross-file $(PREFIX)/share/cross-file.meson +export CC=$(CC_FOR_BUILD) +export CXX=$(CXX_FOR_BUILD) +export CFLAGS=$(CFLAGS_FOR_BUILD) +export CXXFLAGS=$(CXXFLAGS_FOR_BUILD) +else +export CC CXX CFLAGS CXXFLAGS +endif +export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig + +LIBDYLIB=$(PLATFORM)/build/src/egl/libEGL.so + +all: .installed-$(PLATFORM) + +download: $(TARBALLS_LOCATION)/$(ARCHIVE) + + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); rm -rf build; mkdir -p build + cd $(PLATFORM); $(CONFIGURE) . build + +$(LIBDYLIB): $(PLATFORM) + cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v + +.installed-$(PLATFORM): $(LIBDYLIB) + cd $(PLATFORM)/build; $(NATIVEPREFIX)/bin/ninja -v install + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/target/meson-cross-setup.sh b/tools/depends/target/meson-cross-setup.sh new file mode 100755 index 0000000000..ea76a28410 --- /dev/null +++ b/tools/depends/target/meson-cross-setup.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +cat > $1 << EOF +[binaries] +$($NATIVEPREFIX/bin/python3 -c "print('c = {}'.format('$CC'.split()))") +$($NATIVEPREFIX/bin/python3 -c "print('cpp = {}'.format('$CXX'.split()))") +ar = '$AR' +strip = '$STRIP' +pkgconfig = '$NATIVEPREFIX/bin/pkg-config' + +[host_machine] +system = '$MESON_SYSTEM' +cpu_family = '$MESON_CPU' +cpu = '$CPU' +endian = 'little' + +[properties] +pkg_config_libdir = '$PREFIX/lib/pkgconfig' + +[built-in options] +$($NATIVEPREFIX/bin/python3 -c "print('c_args = {}'.format([x for x in '$CFLAGS'.split() if x not in ['-g', '-gdwarf-2']]))") +$($NATIVEPREFIX/bin/python3 -c "print('c_link_args = {}'.format([x for x in '$LDFLAGS'.split()]))") +$($NATIVEPREFIX/bin/python3 -c "print('cpp_args = {}'.format([x for x in '$CXXFLAGS'.split() if x not in ['-g', '-gdwarf-2']]))") +$($NATIVEPREFIX/bin/python3 -c "print('cpp_link_args = {}'.format([x for x in '$LDFLAGS'.split()]))") +default_library = 'static' +prefix = '$PREFIX' +libdir = 'lib' +bindir = 'bin' +includedir = 'include' +EOF diff --git a/tools/depends/target/mtdev/Makefile b/tools/depends/target/mtdev/Makefile index 8f9cf27464..58563af945 100644 --- a/tools/depends/target/mtdev/Makefile +++ b/tools/depends/target/mtdev/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS=../../Makefile.include Makefile +DEPS =../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=mtdev VERSION=1.1.5 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.bz2 +SHA512=78477a4af784e3f846df867f1428ffdc458e3ff33d465d45a84247a7e52f0e215cace397d72be64f6e641f07e0b97a930eff0e07fe9507e0138fb028a4037d6d +include ../../download-files.include # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) config-aux/; ./configure --prefix=$(PREFIX) --enable-static --disable-shared @@ -14,10 +16,8 @@ LIBDYLIB=$(PLATFORM)/src/.libs/libmtdev.la all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/target/nettle/01-disable_testsuite.patch b/tools/depends/target/nettle/01-disable_testsuite.patch index b734d306be..99b4b22da0 100644 --- a/tools/depends/target/nettle/01-disable_testsuite.patch +++ b/tools/depends/target/nettle/01-disable_testsuite.patch @@ -1,8 +1,8 @@ --- a/Makefile.in +++ b/Makefile.in -@@ -17,7 +17,7 @@ +@@ -19,7 +19,7 @@ - OPT_NETTLE_SOURCES = @OPT_NETTLE_SOURCES@ + FAT_TEST_LIST = @FAT_TEST_LIST@ -SUBDIRS = tools testsuite examples +SUBDIRS = tools examples diff --git a/tools/depends/target/nettle/Makefile b/tools/depends/target/nettle/Makefile index 4d2f43427d..2c609c7231 100644 --- a/tools/depends/target/nettle/Makefile +++ b/tools/depends/target/nettle/Makefile @@ -1,31 +1,34 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile 01-disable_testsuite.patch +DEPS = ../../Makefile.include Makefile 01-disable_testsuite.patch ../../download-files.include # lib name, version LIBNAME=nettle -VERSION=3.2 +VERSION=3.7.3 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=9901eba305421adff6d551ac7f478dff3f68a339d444c776724ab0b977fe6be792b1d2950c8705acbe76bd924fd6d898a65eded546777884be3b436d0e052437 +include ../../download-files.include -ifeq ($(OS),darwin_embedded) +ifeq ($(OS),osx) +ifeq ($(CPU),arm64) CONFIGURE_FLAGS=-disable-assembler endif +endif # configuration settings CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ - ./configure --prefix=$(PREFIX) --disable-shared --disable-openssl $(CONFIGURE_FLAGS) + ./configure --prefix=$(PREFIX) --disable-shared --disable-fat --disable-openssl --disable-documentation $(CONFIGURE_FLAGS) LIBDYLIB=$(PLATFORM)/lib$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../01-disable_testsuite.patch + cd $(PLATFORM); $(AUTORECONF) cd $(PLATFORM); $(CONFIGURE) CCPIC=" " $(LIBDYLIB): $(PLATFORM) diff --git a/tools/depends/target/nghttp2/Makefile b/tools/depends/target/nghttp2/Makefile index 44aa8acc7d..339f5e47a2 100644 --- a/tools/depends/target/nghttp2/Makefile +++ b/tools/depends/target/nghttp2/Makefile @@ -1,38 +1,32 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile - -# lib name, version -LIBNAME=nghttp2 -VERSION=1.35.1 -ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz +include ../../Makefile.include NGHTTP2-VERSION ../../download-files.include +DEPS = ../../Makefile.include NGHTTP2-VERSION Makefile ../../download-files.include # configuration settings -CONFIGURE=./configure --prefix=$(PREFIX) --enable-lib-only --disable-shared +CMAKE_OPTIONS=-DENABLE_DEBUG=OFF \ + -DENABLE_FAILMALLOC=OFF \ + -DENABLE_LIB_ONLY=ON \ + -DENABLE_STATIC_LIB=ON \ + -DENABLE_SHARED_LIB=OFF -LIBDYLIB=$(PLATFORM)/lib/.libs/lib$(LIBNAME).a +LIBDYLIB=$(PLATFORM)/build/lib/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) - rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)/build cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); $(AUTORECONF) -vif - cd $(PLATFORM); $(CONFIGURE) + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. $(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: - $(MAKE) -C $(PLATFORM) clean + $(MAKE) -C $(PLATFORM)/build clean rm -f .installed-$(PLATFORM) distclean:: rm -rf $(PLATFORM) .installed-$(PLATFORM) - diff --git a/tools/depends/target/nghttp2/NGHTTP2-VERSION b/tools/depends/target/nghttp2/NGHTTP2-VERSION new file mode 100644 index 0000000000..998667c1fc --- /dev/null +++ b/tools/depends/target/nghttp2/NGHTTP2-VERSION @@ -0,0 +1,5 @@ +LIBNAME=nghttp2 +VERSION=1.46.0 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz +SHA512=fcf3573bcc421705190c7cf0e3230f6f3028b669cb2976d29cfeb73e706deaae91ce60d0a615472e3f296454049ea5798f1e8defdd260a98895e94fea6a7a16b +BYPRODUCT=libnghttp2.a diff --git a/tools/depends/target/openssl/001-android-getauxvalrevert.patch b/tools/depends/target/openssl/001-android-getauxvalrevert.patch new file mode 100644 index 0000000000..810a8e80bb --- /dev/null +++ b/tools/depends/target/openssl/001-android-getauxvalrevert.patch @@ -0,0 +1,61 @@ +--- a/crypto/armcap.c ++++ b/crypto/armcap.c +@@ -68,12 +68,6 @@ + # include <sys/auxv.h> + # define OSSL_IMPLEMENT_GETAUXVAL + # endif +-# elif defined(__ANDROID_API__) +-/* see https://developer.android.google.cn/ndk/guides/cpu-features */ +-# if __ANDROID_API__ >= 18 +-# include <sys/auxv.h> +-# define OSSL_IMPLEMENT_GETAUXVAL +-# endif + # endif + # if defined(__FreeBSD__) + # include <sys/param.h> +@@ -94,15 +88,6 @@ + # endif + + /* +- * Android: according to https://developer.android.com/ndk/guides/cpu-features, +- * getauxval is supported starting with API level 18 +- */ +-# if defined(__ANDROID__) && defined(__ANDROID_API__) && __ANDROID_API__ >= 18 +-# include <sys/auxv.h> +-# define OSSL_IMPLEMENT_GETAUXVAL +-# endif +- +-/* + * ARM puts the feature bits for Crypto Extensions in AT_HWCAP2, whereas + * AArch64 used AT_HWCAP. + */ +--- a/crypto/ppccap.c ++++ b/crypto/ppccap.c +@@ -211,12 +211,6 @@ + # if __GLIBC_PREREQ(2, 16) + # include <sys/auxv.h> + # define OSSL_IMPLEMENT_GETAUXVAL +-# elif defined(__ANDROID_API__) +-/* see https://developer.android.google.cn/ndk/guides/cpu-features */ +-# if __ANDROID_API__ >= 18 +-# include <sys/auxv.h> +-# define OSSL_IMPLEMENT_GETAUXVAL +-# endif + # endif + #endif + +--- a/crypto/uid.c ++++ b/crypto/uid.c +@@ -36,12 +36,6 @@ + # include <sys/auxv.h> + # define OSSL_IMPLEMENT_GETAUXVAL + # endif +-# elif defined(__ANDROID_API__) +-/* see https://developer.android.google.cn/ndk/guides/cpu-features */ +-# if __ANDROID_API__ >= 18 +-# include <sys/auxv.h> +-# define OSSL_IMPLEMENT_GETAUXVAL +-# endif + # endif + + int OPENSSL_issetugid(void) diff --git a/tools/depends/target/openssl/16-kodi.conf b/tools/depends/target/openssl/16-kodi.conf new file mode 100644 index 0000000000..eccb609a27 --- /dev/null +++ b/tools/depends/target/openssl/16-kodi.conf @@ -0,0 +1,35 @@ +#### Kodi dependency build configs for Apple Platforms +# +# Provide our system specific configs. +# Allows us to pass through our CFLAGS, and also adds a tvos target +# +my %targets = ( + "kodi-darwin64-x86_64" => { + inherit_from => [ "darwin-common", asm("x86_64_asm") ], + cflags => add("\$(CFLAGS)"), + lib_cppflags => add("-DL_ENDIAN"), + bn_ops => "SIXTY_FOUR_BIT_LONG", + perlasm_scheme => "macosx", + }, + "kodi-darwin64-arm64" => { + inherit_from => [ "darwin-common", asm("aarch64_asm") ], + cflags => add("\$(CFLAGS)"), + lib_cppflags => add("-DL_ENDIAN"), + bn_ops => "SIXTY_FOUR_BIT_LONG", + perlasm_scheme => "ios64", + }, + "kodi-iphoneos-arm64" => { + inherit_from => [ "ios-common", asm("aarch64_asm") ], + cflags => add("\$(CFLAGS)"), + bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + perlasm_scheme => "ios64", + }, + "kodi-appletvos-arm64" => { + inherit_from => [ "ios-common", asm("aarch64_asm") ], + cflags => add("\$(CFLAGS)"), + defines => [ "HAVE_FORK=0" ], + bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + perlasm_scheme => "ios64", + sys_id => "tvOS", + }, +); diff --git a/tools/depends/target/openssl/Makefile b/tools/depends/target/openssl/Makefile index 70929763e7..ee22a58eb1 100644 --- a/tools/depends/target/openssl/Makefile +++ b/tools/depends/target/openssl/Makefile @@ -1,53 +1,66 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile 001-android-getauxvalrevert.patch 16-kodi.conf ../../download-files.include # lib name, version LIBNAME=openssl -VERSION=1.1.0h +VERSION=1.1.1n SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=1937796736613dcf4105a54e42ecb61f95a1cea74677156f9459aea0f2c95159359e766089632bf364ee6b0d28d661eb9957bce8fecc9d2436378d8d79e8d0a4 +include ../../download-files.include # configuration settings -CONFIGURE=MACHINE=$(PLATFORM) ./config no-shared zlib no-asm --prefix=$(PREFIX) --with-zlib-include=$(PREFIX)/include --with-zlib-lib=$(PREFIX)/lib -ifeq ($(OS), android) - CONFIGURE=./Configure no-shared zlib --prefix=$(PREFIX) --with-zlib-include=$(PREFIX)/include --with-zlib-lib=$(PREFIX)/lib linux-generic32 -D__ANDROID_API__=$(NDK_LEVEL) -endif -ifeq ($(OS), darwin_embedded) - ifeq ($(TARGET_PLATFORM),appletvos) - # Need to add "no-async" to avoid "'setcontext' is unavailable: not available on tvOS" error - CONFIGURE=./Configure iphoneos-cross no-shared zlib no-asm no-async --prefix=$(PREFIX) - else - CONFIGURE=./Configure iphoneos-cross no-shared zlib no-asm --prefix=$(PREFIX) +ifeq ($(OS), linux) + # Need to export our vars to override "default" conf data of openssl + TARGETOPT=--with-zlib-include=$(PREFIX)/include --with-zlib-lib=$(PREFIX)/lib + CONFIGURE=MACHINE=$(PLATFORM) ./config no-shared zlib no-tests no-asm $(TARGETOPT) --prefix=$(PREFIX) +else + ifeq ($(OS), android) + TARGETOPT=--with-zlib-include=$(PREFIX)/include --with-zlib-lib=$(PREFIX)/lib -D__ANDROID_API__=$(NDK_LEVEL) + # openssl 1.x incorrectly uses ANDROID_NDK_HOME, when openssl 3.x.x comes in use ANDROID_NDK_ROOT + # see https://github.com/openssl/openssl/pull/11206 + export ANDROID_NDK_HOME=$(NDKROOT) + export PATH:=$(TOOLCHAIN)/bin:$(PATH) + ifeq ($(MESON_CPU), aarch64) + OPENSSLPLATFORM=android-arm64 + else + OPENSSLPLATFORM=android-$(MESON_CPU) + endif endif -endif -ifeq ($(OS), osx) - ifeq ($(CPU),x86_64) - CONFIGURE=./Configure darwin64-$(CPU)-cc zlib no-asm no-shared --prefix=$(PREFIX) - else - CONFIGURE=./Configure darwin-$(CPU)-cc zlib no-asm no-shared --prefix=$(PREFIX) + ifeq ($(OS), darwin_embedded) + export SDKROOT CFLAGS + OPENSSLPLATFORM=kodi-$(TARGET_PLATFORM)-$(CPU) + ifeq ($(TARGET_PLATFORM),appletvos) + # Need to add "no-async" to avoid "'setcontext' is unavailable: not available on tvOS" error + TARGETOPT=no-async + endif endif + ifeq ($(OS), osx) + OPENSSLPLATFORM=kodi-darwin64-$(CPU) + ASMFLAG=no-asm + endif + + CONFIGURE=./Configure $(OPENSSLPLATFORM) no-shared $(ASMFLAG) zlib no-tests $(TARGETOPT) --prefix=$(PREFIX) endif + +export CC CXX AR RANLIB +export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS + LIBDYLIB=$(PLATFORM)/libssl.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); AR="$(AR)" CFLAGS="$(CFLAGS)" CC="$(CC)" RANLIB=$(RANLIB) $(CONFIGURE) - if test "$(OS)" = "osx"; then \ - sed -ie "s|CC= /usr/bin/gcc-4.2|CC= $(CC)|" "$(PLATFORM)/Makefile"; \ - sed -E -ie "s|^CFLAGS=-|CFLAGS=$(CFLAGS) -|" "$(PLATFORM)/Makefile"; \ - fi - # for iphoneos-cross config a sysroot argument is added - # however sysroot already set in Makefile.include, so remove this +ifeq ($(OS),android) + cd $(PLATFORM); patch -p1 -i ../001-android-getauxvalrevert.patch +endif + cd $(PLATFORM); cp ../16-kodi.conf ./Configurations/ + cd $(PLATFORM); $(CONFIGURE) if test "$(OS)" = "darwin_embedded"; then \ - sed -E -ie "s|^CFLAGS=-|CFLAGS=$(CFLAGS) -|" "$(PLATFORM)/Makefile"; \ - sed -ie "s|-isysroot \$$(CROSS_TOP)/SDKs/\$$(CROSS_SDK) ||" "$(PLATFORM)/Makefile"; \ - sed -ie "s|static volatile sig_atomic_t intr_signal;|static volatile intr_signal;|" "$(PLATFORM)/crypto/ui/ui_openssl.c"; \ + sed -E -ie "s|static volatile sig_atomic_t intr_signal;|static volatile intr_signal;|" "$(PLATFORM)/crypto/ui/ui_openssl.c"; \ fi sed -ie "s|PROGRAMS=|PROGRAMS=#|" "$(PLATFORM)/Makefile"; diff --git a/tools/depends/target/openssl/cacert.pem b/tools/depends/target/openssl/cacert.pem deleted file mode 100644 index aa6d05b352..0000000000 --- a/tools/depends/target/openssl/cacert.pem +++ /dev/null @@ -1,3401 +0,0 @@ -## -## Bundle of CA Root Certificates -## -## Certificate data from Mozilla as of: Wed Feb 6 10:00:00 2019 GMT -## -## This is a bundle of X.509 certificates of public Certificate Authorities -## (CA). These were automatically extracted from Mozilla's root certificates -## file (certdata.txt). This file can be found in the mozilla source tree: -## https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt -## -## It contains the certificates in PEM format and therefore -## can be directly used with curl / libcurl / php_curl, or with -## an Apache+mod_ssl webserver for SSL client authentication. -## Just configure this file as the SSLCACertificateFile. -## -## Conversion done with mk-ca-bundle.pl version 1.27. -## SHA256: 18372117493b5b7ec006c31d966143fc95a9464a2b5f8d5188e23c5557b2292d -## - - -GlobalSign Root CA -================== ------BEGIN CERTIFICATE----- -MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx -GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds -b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV -BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD -VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa -DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc -THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb -Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP -c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX -gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV -HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF -AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj -Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG -j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH -hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC -X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== ------END CERTIFICATE----- - -GlobalSign Root CA - R2 -======================= ------BEGIN CERTIFICATE----- -MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4GA1UECxMXR2xv -YmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh -bFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT -aWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln -bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6 -ErPLv4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8eoLrvozp -s6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklqtTleiDTsvHgMCJiEbKjN -S7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzdC9XZzPnqJworc5HGnRusyMvo4KD0L5CL -TfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pazq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6C -ygPCm48CAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E -FgQUm+IHV2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5nbG9i -YWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3f3BmGLjAN -BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp -9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu -01yiPqFbQfXf5WRDLenVOavSot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG7 -9G+dwfCMNYxdAfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7 -TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg== ------END CERTIFICATE----- - -Verisign Class 3 Public Primary Certification Authority - G3 -============================================================ ------BEGIN CERTIFICATE----- -MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV -UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv -cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw -CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy -dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg -Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1 -EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc -cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw -EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj -055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA -ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f -j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC -/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0 -xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa -t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ== ------END CERTIFICATE----- - -Entrust.net Premium 2048 Secure Server CA -========================================= ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChMLRW50cnVzdC5u -ZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZi4gKGxp -bWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNV -BAMTKkVudHJ1c3QubmV0IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQx -NzUwNTFaFw0yOTA3MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3 -d3d3LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTEl -MCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50cnVzdC5u -ZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOL -Gp18EzoOH1u3Hs/lJBQesYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSr -hRSGlVuXMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVTXTzW -nLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/HoZdenoVve8AjhUi -VBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQABo0IwQDAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJ -KoZIhvcNAQEFBQADggEBADubj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPy -T/4xmf3IDExoU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf -zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5bu/8j72gZyxKT -J1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+bYQLCIt+jerXmCHG8+c8eS9e -nNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/ErfF6adulZkMV8gzURZVE= ------END CERTIFICATE----- - -Baltimore CyberTrust Root -========================= ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJRTESMBAGA1UE -ChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYDVQQDExlCYWx0aW1vcmUgQ3li -ZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoXDTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMC -SUUxEjAQBgNVBAoTCUJhbHRpbW9yZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFs -dGltb3JlIEN5YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKME -uyKrmD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjrIZ3AQSsB -UnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeKmpYcqWe4PwzV9/lSEy/C -G9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9 -XbIGevOF6uvUA65ehD5f/xXtabz5OTZydc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjpr -l3RjM71oGDHweI12v/yejl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoI -VDaGezq1BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEB -BQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT929hkTI7gQCvlYpNRh -cL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3WgxjkzSswF07r51XgdIGn9w/xZchMB5 -hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsa -Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H -RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp ------END CERTIFICATE----- - -AddTrust External Root -====================== ------BEGIN CERTIFICATE----- -MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML -QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD -VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw -NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU -cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg -Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821 -+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw -Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo -aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy -2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7 -7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P -BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL -VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk -VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB -IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl -j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5 -6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355 -e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u -G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ= ------END CERTIFICATE----- - -Entrust Root Certification Authority -==================================== ------BEGIN CERTIFICATE----- -MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMCVVMxFjAUBgNV -BAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaXMgaW5jb3Jw -b3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMWKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsG -A1UEAxMkRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0 -MloXDTI2MTEyNzIwNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMu -MTkwNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSByZWZlcmVu -Y2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNVBAMTJEVudHJ1c3QgUm9v -dCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -ALaVtkNC+sZtKm9I35RMOVcF7sN5EUFoNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYsz -A9u3g3s+IIRe7bJWKKf44LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOww -Cj0Yzfv9KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGIrb68 -j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi94DkZfs0Nw4pgHBN -rziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOBsDCBrTAOBgNVHQ8BAf8EBAMCAQYw -DwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1 -MzQyWjAfBgNVHSMEGDAWgBRokORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DH -hmak8fdLQ/uEvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA -A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9tO1KzKtvn1ISM -Y/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6ZuaAGAT/3B+XxFNSRuzFVJ7yVTa -v52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTS -W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0 -tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8 ------END CERTIFICATE----- - -GeoTrust Global CA -================== ------BEGIN CERTIFICATE----- -MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK -Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw -MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j -LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo -BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet -8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc -T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU -vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk -DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q -zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4 -d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2 -mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p -XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm -Mw== ------END CERTIFICATE----- - -GeoTrust Universal CA -===================== ------BEGIN CERTIFICATE----- -MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN -R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1 -MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu -Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP -ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t -JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e -RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs -7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d -8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V -qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga -Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB -Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu -KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08 -ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0 -XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB -hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc -aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2 -qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL -oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK -xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF -KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2 -DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK -xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU -p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI -P/rmMuGNG2+k5o7Y+SlIis5z/iw= ------END CERTIFICATE----- - -GeoTrust Universal CA 2 -======================= ------BEGIN CERTIFICATE----- -MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN -R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0 -MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg -SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA -A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0 -DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17 -j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q -JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a -QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2 -WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP -20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn -ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC -SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG -8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2 -+/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E -BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z -dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ -4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+ -mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq -A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg -Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP -pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d -FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp -gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm -X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS ------END CERTIFICATE----- - -Comodo AAA Services root -======================== ------BEGIN CERTIFICATE----- -MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEbMBkGA1UECAwS -R3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRowGAYDVQQKDBFDb21vZG8gQ0Eg -TGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmljYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAw -MFoXDTI4MTIzMTIzNTk1OVowezELMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hl -c3RlcjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNV -BAMMGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQuaBtDFcCLNSS1UY8y2bmhG -C1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe3M/vg4aijJRPn2jymJBGhCfHdr/jzDUs -i14HZGWCwEiwqJH5YZ92IFCokcdmtet4YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszW -Y19zjNoFmag4qMsXeDZRrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjH -Ypy+g8cmez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQUoBEK -Iz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wewYDVR0f -BHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20vQUFBQ2VydGlmaWNhdGVTZXJ2aWNl -cy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz -LmNybDANBgkqhkiG9w0BAQUFAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm -7l3sAg9g1o1QGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz -Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z -8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsil2D4kF501KKaU73yqWjgom7C -12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== ------END CERTIFICATE----- - -QuoVadis Root CA -================ ------BEGIN CERTIFICATE----- -MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE -ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 -eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz -MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp -cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD -EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk -J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL -F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL -YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen -AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w -PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y -ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7 -MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj -YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs -ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh -Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW -Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu -BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw -FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6 -tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo -fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul -LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x -gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi -5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi -5nrQNiOKSnQ2+Q== ------END CERTIFICATE----- - -QuoVadis Root CA 2 -================== ------BEGIN CERTIFICATE----- -MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT -EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjAeFw0wNjExMjQx -ODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4IC -DwAwggIKAoICAQCaGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6 -XJxgFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Yk -lvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bBrrcCaoF6qUWD4gXmuVbB -lDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8un+XJiM9XOva7R+zdRcAitMOeGy -lZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt -66/3FsvbzSUr5R/7mp/iUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1Jdxn -wQ5hYIizPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og/zOh -D7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UHoycR7hYQe7xFSkyy -BNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuIyV77zGHcizN300QyNQliBJIWENie -J0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1Ud -DgQWBBQahGK8SEwzJQTU7tD2A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGU -a6FJpEcwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT -ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2fBluornFdLwUv -Z+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzng/iN/Ae42l9NLmeyhP3ZRPx3 -UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodm -VjB3pjd4M1IQWK4/YY7yarHvGH5KWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK -+JDSV6IZUaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrW -IozchLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPRTUIZ3Ph1 -WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X -f6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II -4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8 -VCLAAVBpQ570su9t+Oza8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u ------END CERTIFICATE----- - -QuoVadis Root CA 3 -================== ------BEGIN CERTIFICATE----- -MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT -EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0wNjExMjQx -OTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM -aW1pdGVkMRswGQYDVQQDExJRdW9WYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4IC -DwAwggIKAoICAQDMV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNgg -DhoB4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUrH556VOij -KTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd8lyyBTNvijbO0BNO/79K -DDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbv -BNDInIjbC3uBr7E9KsRlOni27tyAsdLTmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwp -p5ijJUMv7/FfJuGITfhebtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8 -nT8KKdjcT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDtWAEX -MJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZc6tsgLjoC2SToJyM -Gf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A4iLItLRkT9a6fUg+qGkM17uGcclz -uD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHT -BgkrBgEEAb5YAAMwgcUwgZMGCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmlj -YXRlIGNvbnN0aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 -aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVudC4wLQYIKwYB -BQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2NwczALBgNVHQ8EBAMCAQYwHQYD -VR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4 -ywLQoUmkRzBFMQswCQYDVQQGEwJCTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UE -AxMSUXVvVmFkaXMgUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV -qyM07ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSemd1o417+s -hvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd+LJ2w/w4E6oM3kJpK27z -POuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2 -Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadNt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp -8kokUvd0/bpO5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBC -bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6szHXu -g/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0jWy10QJLZYxkNc91p -vGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeTmJlglFwjz1onl14LBQaTNx47aTbr -qZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2pEto= ------END CERTIFICATE----- - -Security Communication Root CA -============================== ------BEGIN CERTIFICATE----- -MIIDWjCCAkKgAwIBAgIBADANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP -U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw -HhcNMDMwOTMwMDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQMQswCQYDVQQGEwJKUDEYMBYGA1UEChMP -U0VDT00gVHJ1c3QubmV0MScwJQYDVQQLEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTEw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCzs/5/022x7xZ8V6UMbXaKL0u/ZPtM7orw -8yl89f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVHGpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJDKaVv0uM -DPpVmDvY6CKhS3E4eayXkmmziX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9Ms+k2Y7CI9eNqPPYJayX -5HA49LY6tJ07lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/NQV3Is00qVUarH9oe4kA92819uZKAnDfd -DJZkndwi92SL32HeFZRSFaB9UslLqCHJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b1/VPKl6Xn62dZ2 -JChzAgMBAAGjPzA9MB0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV5+9M7wHSDALBgNVHQ8EBAMCAQYw -DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaECpqLvkT115swW1F7NgE+vGkl3g -0dNq/vu+m22/xwVtWSDEHPC32oRYAmP6SBbvT6UL90qY8j+eG61Ha2POCEfrUj94nK9NrvjVT8+a -mCoQQTlSxN3Zmw7vkwGusi7KaEIkQmywszo+zenaSMQVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlDLJ -s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ -6rBK+1YWc26sTfcioU+tHXotRSflMMFe8toTyyVCUZVHA4xsIcx0Qu1T/zOLjw9XARYvz6buyXAi -FL39vmwLAw== ------END CERTIFICATE----- - -Sonera Class 2 Root CA -====================== ------BEGIN CERTIFICATE----- -MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG -U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw -NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh -IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3 -/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT -dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG -f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P -tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH -nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT -XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt -0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI -cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph -Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx -EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH -llpwrN9M ------END CERTIFICATE----- - -XRamp Global CA Root -==================== ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCBgjELMAkGA1UE -BhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2Vj -dXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMx -HjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkg -U2VydmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3Jp -dHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS638eMpSe2OAtp87ZOqCwu -IR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMx -foArtYzAQDsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FE -zG+gSqmUsE3a56k0enI4qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqs -AxcZZPRaJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNViPvry -xS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud -EwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16bYbMDYGA1UdHwQvMC0wK6Ap -oCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMC -AQEwDQYJKoZIhvcNAQEFBQADggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc -/Kh4ZzXxHfARvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt -qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaIR9NmXmd4c8n -nxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSyi6mx5O+aGtA9aZnuqCij4Tyz -8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQO+7ETPTsJ3xCwnR8gooJybQDJbw= ------END CERTIFICATE----- - -Go Daddy Class 2 CA -=================== ------BEGIN CERTIFICATE----- -MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMY -VGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkG -A1UEBhMCVVMxITAfBgNVBAoTGFRoZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28g -RGFkZHkgQ2xhc3MgMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQAD -ggENADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCAPVYYYwhv -2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6wwdhFJ2+qN1j3hybX2C32 -qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXiEqITLdiOr18SPaAIBQi2XKVlOARFmR6j -YGB0xUGlcmIbYsUfb18aQr4CUWWoriMYavx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmY -vLEHZ6IVDd2gWMZEewo+YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0O -BBYEFNLEsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h/t2o -atTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMu -MTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwG -A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wim -PQoZ+YeAEW5p5JYXMP80kWNyOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKt -I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ -HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mERdEr/VxqHD3VI -Ls9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5CufReYNnyicsbkqWletNw+vHX/b -vZ8= ------END CERTIFICATE----- - -Starfield Class 2 CA -==================== ------BEGIN CERTIFICATE----- -MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzElMCMGA1UEChMc -U3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZpZWxkIENsYXNzIDIg -Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBo -MQswCQYDVQQGEwJVUzElMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAG -A1UECxMpU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqG -SIb3DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf8MOh2tTY -bitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN+lq2cwQlZut3f+dZxkqZ -JRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVm -epsZGD3/cVE8MC5fvj13c7JdBmzDI1aaK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSN -F4Azbl5KXZnJHoe0nRrA1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HF -MIHCMB0GA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fRzt0f -hvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNo -bm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyAyIENlcnRpZmljYXRpb24g -QXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGs -afPzWdqbAYcaT1epoXkJKtv3L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLM -PUxA2IGvd56Deruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl -xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynpVSJYACPq4xJD -KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3 -QBFGmh95DmK/D5fs4C8fF5Q= ------END CERTIFICATE----- - -Taiwan GRCA -=========== ------BEGIN CERTIFICATE----- -MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG -EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X -DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv -dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN -w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5 -BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O -1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO -htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov -J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7 -Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t -B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB -O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8 -lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV -HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2 -09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ -TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj -Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2 -Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU -D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz -DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk -Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk -7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ -CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy -+fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS ------END CERTIFICATE----- - -DigiCert Assured ID Root CA -=========================== ------BEGIN CERTIFICATE----- -MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw -IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzEx -MTEwMDAwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL -ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0Ew -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7cJpSIqvTO -9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYPmDI2dsze3Tyoou9q+yHy -UmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW -/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpy -oeb6pNnVFzF1roV9Iq4/AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whf -GHdPAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRF -66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkq -hkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRCdWKuh+vy1dneVrOfzM4UKLkNl2Bc -EkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTffwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38Fn -SbNd67IJKusm7Xi+fT8r87cmNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i -8b5QZ7dsvfPxH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe -+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== ------END CERTIFICATE----- - -DigiCert Global Root CA -======================= ------BEGIN CERTIFICATE----- -MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBhMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw -HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAw -MDAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 -dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkq -hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsBCSDMAZOn -TjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97nh6Vfe63SKMI2tavegw5 -BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt43C/dxC//AH2hdmoRBBYMql1GNXRor5H -4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7PT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y -7vrTC0LUq7dBMtoM1O/4gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQAB -o2MwYTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbRTLtm -8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJKoZIhvcNAQEF -BQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/EsrhMAtudXH/vTBH1jLuG2cenTnmCmr -EbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIt -tep3Sp+dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886 -UAb3LujEV0lsYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk -CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= ------END CERTIFICATE----- - -DigiCert High Assurance EV Root CA -================================== ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBsMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSsw -KQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5jZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAw -MFoXDTMxMTExMDAwMDAwMFowbDELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZ -MBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFu -Y2UgRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm+9S75S0t -Mqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTWPNt0OKRKzE0lgvdKpVMS -OO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3 -MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQ -NAQTXKFx01p8VdteZOE3hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUe -h10aUAsgEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMB -Af8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaAFLE+w2kD+L9HAdSY -JhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3NecnzyIZgYIVyHbIUf4KmeqvxgydkAQ -V8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6zeM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFp -myPInngiK3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkK -mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe -vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K ------END CERTIFICATE----- - -Certplus Class 2 Primary CA -=========================== ------BEGIN CERTIFICATE----- -MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE -BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN -OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy -dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR -5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ -Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO -YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e -e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME -CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ -YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t -L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD -P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R -TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+ -7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW -//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7 -l7+ijrRU ------END CERTIFICATE----- - -DST Root CA X3 -============== ------BEGIN CERTIFICATE----- -MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK -ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X -DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1 -cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT -rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9 -UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy -xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d -utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T -AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ -MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug -dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE -GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw -RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS -fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ ------END CERTIFICATE----- - -SwissSign Gold CA - G2 -====================== ------BEGIN CERTIFICATE----- -MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNVBAYTAkNIMRUw -EwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xkIENBIC0gRzIwHhcN -MDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dp -c3NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0B -AQEFAAOCAg8AMIICCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUq -t2/876LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+bbqBHH5C -jCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c6bM8K8vzARO/Ws/BtQpg -vd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqEemA8atufK+ze3gE/bk3lUIbLtK/tREDF -ylqM2tIrfKjuvqblCqoOpd8FUrdVxyJdMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvR -AiTysybUa9oEVeXBCsdtMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuend -jIj3o02yMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69yFGkO -peUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPiaG59je883WX0XaxR -7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxMgI93e2CaHt+28kgeDrpOVG2Y4OGi -GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUWyV7lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64 -OfPAeGZe6Drn8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov -L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe645R88a7A3hfm -5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr -44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOf -Mke6UiI0HTJ6CVanfCU2qT1L2sCCbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6m -Gu6uLftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxp -mo/a77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCChdiDyyJk -vC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid392qgQmwLOM7XdVAyksLf -KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEppLd6leNcG2mqeSz53OiATIgHQv2ieY2Br -NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj -viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ ------END CERTIFICATE----- - -SwissSign Silver CA - G2 -======================== ------BEGIN CERTIFICATE----- -MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCQ0gxFTAT -BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X -DTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0NlowRzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3 -aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG -9w0BAQEFAAOCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644 -N0MvFz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7brYT7QbNHm -+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieFnbAVlDLaYQ1HTWBCrpJH -6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi2kUpCe2Uu -MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h -qAaEuSh6XzjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5 -FZGkECwJMoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRHHTBs -ROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTfjNFusB3hB48IHpmc -celM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb65i/4z3GcRm25xBWNOHkDRUjvxF3X -CO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRB -tjpbO8tFnb0cwpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 -cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBAHPGgeAn0i0P -4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShpWJHckRE1qTodvBqlYJ7YH39F -kWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L -3XWgwF15kIwb4FDm3jH+mHtwX6WQ2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx -/uNncqCxv1yL5PqZIseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFa -DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP -e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD/KNVV4n+Ssuu -WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ -DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub -DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u ------END CERTIFICATE----- - -GeoTrust Primary Certification Authority -======================================== ------BEGIN CERTIFICATE----- -MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG -EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx -CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ -cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN -b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9 -nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge -RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt -tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI -hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K -Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN -NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa -Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG -1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk= ------END CERTIFICATE----- - -thawte Primary Root CA -====================== ------BEGIN CERTIFICATE----- -MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE -BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 -aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3 -MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg -SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv -KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT -FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs -oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ -1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc -q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K -aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p -afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD -VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF -AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE -uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX -xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89 -jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH -z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA== ------END CERTIFICATE----- - -VeriSign Class 3 Public Primary Certification Authority - G5 -============================================================ ------BEGIN CERTIFICATE----- -MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE -BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO -ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk -IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp -ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB -yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln -biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh -dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt -YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw -ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz -j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD -Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/ -Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r -fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/ -BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv -Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy -aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG -SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+ -X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE -KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC -Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE -ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq ------END CERTIFICATE----- - -SecureTrust CA -============== ------BEGIN CERTIFICATE----- -MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQG -EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFzAVBgNVBAMTDlNlY3VyZVRy -dXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIzMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAe -BgNVBAoTF1NlY3VyZVRydXN0IENvcnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQX -OZEzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO0gMdA+9t -DWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIaowW8xQmxSPmjL8xk037uH -GFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b -01k/unK8RCSc43Oz969XL0Imnal0ugBS8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmH -ursCAwEAAaOBnTCBmjATBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/ -BAUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCegJYYj -aHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ -KoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt36Z3q059c4EVlew3KW+JwULKUBRSu -SceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHf -mbx8IVQr5Fiiu1cprp6poxkmD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ -nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR -3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= ------END CERTIFICATE----- - -Secure Global CA -================ ------BEGIN CERTIFICATE----- -MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQG -EwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBH -bG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEg -MB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwg -Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jx -YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa/FHtaMbQ -bqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJjnIFHovdRIWCQtBJwB1g -8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnIHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYV -HDGA76oYa8J719rO+TMg1fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi -0XPnj3pDAgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1Ud -EwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCswKaAn -oCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA -MA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0LURYD7xh8yOOvaliTFGCRsoTciE6+ -OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cn -CDpOGR86p1hcF895P4vkp9MmI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/5 -3CYNv6ZHdAbYiNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc -f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW ------END CERTIFICATE----- - -COMODO Certification Authority -============================== ------BEGIN CERTIFICATE----- -MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCBgTELMAkGA1UE -BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG -A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1 -dGhvcml0eTAeFw0wNjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEb -MBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFD -T01PRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3UcEbVASY06m/weaKXTuH -+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI2GqGd0S7WWaXUF601CxwRM/aN5VCaTww -xHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV -4EajcNxo2f8ESIl33rXp+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA -1KGzqSX+DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5OnKVI -rLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3JsLmNvbW9k -b2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOC -AQEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CP -OGEIqB6BCsAvIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ -RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4zJVSk/BwJVmc -IGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4OmF4O5MBKgxTMVBbkN -+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IBZQ== ------END CERTIFICATE----- - -Network Solutions Certificate Authority -======================================= ------BEGIN CERTIFICATE----- -MIID5jCCAs6gAwIBAgIQV8szb8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQG -EwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr -IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwHhcNMDYxMjAxMDAwMDAwWhcNMjkxMjMx -MjM1OTU5WjBiMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYTmV0d29yayBTb2x1dGlvbnMgTC5MLkMu -MTAwLgYDVQQDEydOZXR3b3JrIFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAnlt7e+foS0zwzc7MEL7xx -jOWftiJgPl9dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJDXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpPT -aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWWn4Zxmuk2GWRBXT -crA/vGp97Eh/jcOrqnErU2lBUzS1sLnFBgrEsEX1QV1uiUV7PTsmjHTC5dLRfbIR1PtYMiKagMnc -/Qzpf14Dl847ABSHJ3A4qY5usyd2mFHgBeMhqxrVhSI8KbWaFsWAqPS7azCPL0YCorEMIuDTAgMB -AAGjgZcwgZQwHQYDVR0OBBYEFCEwyfsA106Y2oeqKtCnLrFAMadMMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoEOGQWh0dHA6Ly9jcmwubmV0c29sc3NsLmNv -bS9OZXR3b3JrU29sdXRpb25zQ2VydGlmaWNhdGVBdXRob3JpdHkuY3JsMA0GCSqGSIb3DQEBBQUA -A4IBAQC7rkvnt1frf6ott3NHhWrB5KUd5Oc86fRZZXe1eltajSU24HqXLjjAV2CDmAaDn7l2em5Q -4LqILPxFzBiwmZVRDuwduIj/h1AcgsLj4DKAv6ALR8jDMe+ZZzKATxcheQxpXN5eNK4CtSbqUN9/ -GGUsyfJj4akH/nxxH2szJGoeBfcFaMBqEssuXmHLrijTfsK0ZpEmXzwuJF/LWA/rKOyvEZbz3Htv -wKeI8lN3s2Berq4o2jUsbzRF0ybh3uxbTydrFny9RAQYgrOJeRcQcT16ohZO9QHNpGxlaKFJdlxD -ydi8NmdspZS11My5vWo1ViHe2MPr+8ukYEywVaCge1ey ------END CERTIFICATE----- - -COMODO ECC Certification Authority -================================== ------BEGIN CERTIFICATE----- -MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTELMAkGA1UEBhMC -R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE -ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0Ix -GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR -Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRo -b3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSRFtSrYpn1PlILBs5BAH+X -4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6IHG4/bC8vCVlbpVsLM5ni -wz2J+Wos77LTBumjQjBAMB0GA1UdDgQWBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VG -FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA -U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= ------END CERTIFICATE----- - -OISTE WISeKey Global Root GA CA -=============================== ------BEGIN CERTIFICATE----- -MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE -BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG -A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH -bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD -VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw -IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5 -IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9 -Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg -Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD -d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ -/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R -LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw -AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ -KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm -MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4 -+vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa -hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY -okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0= ------END CERTIFICATE----- - -Certigna -======== ------BEGIN CERTIFICATE----- -MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYTAkZSMRIw -EAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4XDTA3MDYyOTE1MTMwNVoXDTI3 -MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwI -Q2VydGlnbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7q -XOEm7RFHYeGifBZ4QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyH -GxnygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbwzBfsV1/p -ogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q130yGLMLLGq/jj8UEYkg -DncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKf -Irjxwo1p3Po6WAbfAgMBAAGjgbwwgbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQ -tCRZvgHyUtVF9lo53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ -BgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzjAQ/J -SP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG9w0BAQUFAAOCAQEA -hQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLHyzs+ -ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFncfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1klu -PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY -1gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw -WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== ------END CERTIFICATE----- - -Deutsche Telekom Root CA 2 -========================== ------BEGIN CERTIFICATE----- -MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT -RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG -A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5 -MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G -A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS -b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5 -bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI -KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY -AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK -Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV -jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV -HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr -E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy -zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8 -rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G -dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU -Cm26OWMohpLzGITY+9HPBVZkVw== ------END CERTIFICATE----- - -Cybertrust Global Root -====================== ------BEGIN CERTIFICATE----- -MIIDoTCCAomgAwIBAgILBAAAAAABD4WqLUgwDQYJKoZIhvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li -ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZDeWJlcnRydXN0IEdsb2JhbCBSb290MB4XDTA2MTIxNTA4 -MDAwMFoXDTIxMTIxNTA4MDAwMFowOzEYMBYGA1UEChMPQ3liZXJ0cnVzdCwgSW5jMR8wHQYDVQQD -ExZDeWJlcnRydXN0IEdsb2JhbCBSb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -+Mi8vRRQZhP/8NN57CPytxrHjoXxEnOmGaoQ25yiZXRadz5RfVb23CO21O1fWLE3TdVJDm71aofW -0ozSJ8bi/zafmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A74q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZL -AfVJrn5GitB0jaEMAs7u/OePuGtm839EAL9mJRQr3RAwHQeWP032a7iPt3sMpTjr3kfb1V05/Iin -89cqdPHoWqI7n1C6poxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD0mpSPCzqrdsxacwOUBdrsTiXSZT -8M4cIwhhqJQZugRiQOwfOHB3EgZxpzAYXSUnpQIDAQABo4GlMIGiMA4GA1UdDwEB/wQEAwIBBjAP -BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBS2CHsNesysIEyGVjJez6tuhS1wVzA/BgNVHR8EODA2 -MDSgMqAwhi5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB8G -A1UdIwQYMBaAFLYIew16zKwgTIZWMl7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA4IBAQBW7wojoFRO -lZfJ+InaRcHUowAl9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMjWqd8BfP9IjsO0QbE2zZMcwSO5bAi -5MXzLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcUxXOl5n4BHPa2hCwcUPUf/A2kaDAtE52Mlp3+yybh2 -hO0j9n0Hq0V+09+zv+mKts2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9GPp1Nzw8v/MOx8BLjYRB+T -X3EJIrduPuocA06dGiBh+4E37F78CkWr1+cXVdCg6mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX0jW -WL1WMRJOEcgh4LMRkWXbtKaIOM5V ------END CERTIFICATE----- - -ePKI Root Certification Authority -================================= ------BEGIN CERTIFICATE----- -MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQG -EwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4xKjAoBgNVBAsMIWVQS0kg -Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMx -MjdaMF4xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEq -MCgGA1UECwwhZVBLSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0B -AQEFAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAHSyZbCUNs -IZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAhijHyl3SJCRImHJ7K2RKi -lTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3XDZoTM1PRYfl61dd4s5oz9wCGzh1NlDiv -qOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX -12ruOzjjK9SXDrkb5wdJfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0O -WQqraffAsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uUWH1+ -ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLSnT0IFaUQAS2zMnao -lQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pHdmX2Os+PYhcZewoozRrSgx4hxyy/ -vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJipNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXi -Zo1jDiVN1Rmy5nk3pyKdVDECAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi -MAwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH -ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGBuvl2ICO1J2B0 -1GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3QGypzq -KOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdV -xrsStZf0X4OFunHB2WyBEXYKCrC/gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEP -NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+r -GNm65ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUBo2M3IUxE -xJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qcgw+BRx -gMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2zGp1iro2C6pSe3VkQw63d4k3jMdXH7Ojy -sP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmOD -BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0rnP0qCglN6oH4EZw= ------END CERTIFICATE----- - -certSIGN ROOT CA -================ ------BEGIN CERTIFICATE----- -MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYTAlJPMREwDwYD -VQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTAeFw0wNjA3MDQxNzIwMDRa -Fw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UE -CxMQY2VydFNJR04gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7I -JUqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHH -rfAQUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5dRdY4zTW2 -ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQOA7+j0xbm0bqQfWwCHTD -0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF73XVv4EOLQunpL+943 -AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B -Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IB -AQA+0hyJLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecYMnQ8 -SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQnIl6Z0 -x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMctTEHBDa0GpC9oHRxUIlt -vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz -TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD ------END CERTIFICATE----- - -GeoTrust Primary Certification Authority - G3 -============================================= ------BEGIN CERTIFICATE----- -MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE -BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0 -IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy -eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz -NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo -YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT -LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j -K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE -c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C -IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu -dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr -2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9 -cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE -Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD -AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s -t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt ------END CERTIFICATE----- - -thawte Primary Root CA - G2 -=========================== ------BEGIN CERTIFICATE----- -MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC -VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu -IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg -Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV -MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG -b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt -IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS -LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5 -8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU -mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN -G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K -rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg== ------END CERTIFICATE----- - -thawte Primary Root CA - G3 -=========================== ------BEGIN CERTIFICATE----- -MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE -BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2 -aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv -cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w -ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh -d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD -VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG -A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At -P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC -+BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY -7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW -vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ -KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK -A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu -t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC -8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm -er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A= ------END CERTIFICATE----- - -GeoTrust Primary Certification Authority - G2 -============================================= ------BEGIN CERTIFICATE----- -MIICrjCCAjWgAwIBAgIQPLL0SAoA4v7rJDteYD7DazAKBggqhkjOPQQDAzCBmDELMAkGA1UEBhMC -VVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA3IEdlb1RydXN0IElu -Yy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFyeSBD -ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB4XDTA3MTEwNTAwMDAwMFoXDTM4MDExODIzNTk1 -OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAoYykg -MjAwNyBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl -b1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjB2MBAGByqGSM49AgEG -BSuBBAAiA2IABBWx6P0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VDs6bl8VAsBQps8lL33KSLjHUGMc -KiEIfJo22Av+0SbFWDEwKCXzXV2juLaltJLtbCyf691DiaI8S0iRHVDsJt/WYC69IaNCMEAwDwYD -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVfNVdRVfslsq0DafwBo/q+ -EVXVMAoGCCqGSM49BAMDA2cAMGQCMGSWWaboCd6LuvpaiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7m -ndwxHLKgpxgceeHHNgIwOlavmnRs9vuD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD6ogRLQy7rQkgu2 -npaqBA+K ------END CERTIFICATE----- - -VeriSign Universal Root Certification Authority -=============================================== ------BEGIN CERTIFICATE----- -MIIEuTCCA6GgAwIBAgIQQBrEZCGzEyEDDrvkEhrFHTANBgkqhkiG9w0BAQsFADCBvTELMAkGA1UE -BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO -ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwOCBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk -IHVzZSBvbmx5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbml2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW9u -IEF1dGhvcml0eTAeFw0wODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9MQswCQYDVQQGEwJV -UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv -cmsxOjA4BgNVBAsTMShjKSAyMDA4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl -IG9ubHkxODA2BgNVBAMTL1ZlcmlTaWduIFVuaXZlcnNhbCBSb290IENlcnRpZmljYXRpb24gQXV0 -aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx2E3XrEBNNti1xWb/1hajCMj -1mCOkdeQmIN65lgZOIzF9uVkhbSicfvtvbnazU0AtMgtc6XHaXGVHzk8skQHnOgO+k1KxCHfKWGP -MiJhgsWHH26MfF8WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCznmhcrewA3ekEzeOEz4vMQGn+HLL72 -9fdC4uW/h2KJXwBL38Xd5HVEMkE6HnFuacsLdUYI0crSK5XQz/u5QGtkjFdN/BMReYTtXlT2NJ8I -AfMQJQYXStrxHXpma5hgZqTZ79IugvHw7wnqRMkVauIDbjPTrJ9VAMf2CGqUuV/c4DPxhGD5WycR -tPwW8rtWaoAljQIDAQABo4GyMIGvMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMG0G -CCsGAQUFBwEMBGEwX6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4DAhoEFI/l0xqGrI2O -a8PPgGrUSBgsexkuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMB0GA1Ud -DgQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHGTANBgkqhkiG9w0BAQsFAAOCAQEASvj4sAPmLGd75JR3 -Y8xuTPl9Dg3cyLk1uXBPY/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+seQxIcaBlVZaDrHC1LGmWazx -Y8u4TB1ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+Oz4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ahfYtTx -P/jgdFcrGJ2BtMQo2pSXpXDrrB2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz0dtdQ46tewXDpPaj+P -wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4 -mJO37M2CYfE45k+XmCpajQ== ------END CERTIFICATE----- - -VeriSign Class 3 Public Primary Certification Authority - G4 -============================================================ ------BEGIN CERTIFICATE----- -MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC -VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3 -b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz -ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL -MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU -cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo -b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5 -IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8 -Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz -rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw -HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u -Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD -A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx -AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA== ------END CERTIFICATE----- - -NetLock Arany (Class Gold) FÅ‘tanúsÃtvány -======================================== ------BEGIN CERTIFICATE----- -MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQGEwJIVTERMA8G -A1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3MDUGA1UECwwuVGFuw7pzw610 -dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBB -cmFueSAoQ2xhc3MgR29sZCkgRsWRdGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgx -MjA2MTUwODIxWjCBpzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO -ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlmaWNhdGlv -biBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNzIEdvbGQpIEbFkXRhbsO6 -c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu -0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrTlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw -/HpYzY6b7cNGbIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAk -H3B5r9s5VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRGILdw -fzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2BJtr+UBdADTHLpl1 -neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIB -BjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2MU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwW -qZw8UQCgwBEIBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTta -YtOUZcTh5m2C+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC -bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2FuLjbvrW5Kfna -NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu -dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= ------END CERTIFICATE----- - -Staat der Nederlanden Root CA - G2 -================================== ------BEGIN CERTIFICATE----- -MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE -CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g -Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC -TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l -ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ -5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn -vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj -CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil -e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR -OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI -CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65 -48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi -trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737 -qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB -AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC -ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV -HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA -A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz -+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj -f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN -kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk -CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF -URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb -CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h -oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV -IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm -66+KAQ== ------END CERTIFICATE----- - -Hongkong Post Root CA 1 -======================= ------BEGIN CERTIFICATE----- -MIIDMDCCAhigAwIBAgICA+gwDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoT -DUhvbmdrb25nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMDUx -NTA1MTMxNFoXDTIzMDUxNTA0NTIyOVowRzELMAkGA1UEBhMCSEsxFjAUBgNVBAoTDUhvbmdrb25n -IFBvc3QxIDAeBgNVBAMTF0hvbmdrb25nIFBvc3QgUm9vdCBDQSAxMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEArP84tulmAknjorThkPlAj3n54r15/gK97iSSHSL22oVyaf7XPwnU3ZG1 -ApzQjVrhVcNQhrkpJsLj2aDxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW2iNr4joLFutbEnPzlTCeqr -auh0ssJlXI6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaUmYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIhqqh -qZ5/dpTCpmy3QfDVyAY45tQM4vM7TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBCNnLsak3c78QA3xMY -V18meMjWCnl3v/evt3a5pQuEF10Q6m/hq5URX208o1xNg1vysxmKgIsLhwIDAQABoyYwJDASBgNV -HRMBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/wQEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQEADkbVPK7i -h9legYsCmEEIjEy82tvuJxuC52pF7BaLT4Wg87JwvVqWuspube5Gi27nKi6Wsxkz67SfqLI37pio -l7Yutmcn1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcrUehtHJjA2Sr0oYJ71clBoiMBdDhViw+5Lmei -IAQ32pwL0xch4I+XeTRvhEgCIDMb5jREn5Fw9IBehEPCKdJsEhTkYY2sEJCehFC78JZvRZ+K88ps -T/oROhUVRsPNH4NbLUES7VBnQRM9IauUiqpOfMGx+6fWtScvl6tu4B3i0RwsH0Ti/L6RoZz71ilT -c4afU9hDDl3WY4JxHYB0yvbiAmvZWg== ------END CERTIFICATE----- - -SecureSign RootCA11 -=================== ------BEGIN CERTIFICATE----- -MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDErMCkGA1UEChMi -SmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoGA1UEAxMTU2VjdXJlU2lnbiBS -b290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSsw -KQYDVQQKEyJKYXBhbiBDZXJ0aWZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1 -cmVTaWduIFJvb3RDQTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL -TJszi1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8h9uuywGO -wvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOVMdrAG/LuYpmGYz+/3ZMq -g6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rP -O7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitA -bpSACW22s293bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX -t94wDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAKCh -OBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xmKbabfSVSSUOrTC4r -bnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4reV6G4pQ -Oh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWrQbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01 -y8hSyn+B/tlr0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061 -lgeLKBObjBmNQSdJQO7e5iNEOdyhIta6A/I= ------END CERTIFICATE----- - -Microsec e-Szigno Root CA 2009 -============================== ------BEGIN CERTIFICATE----- -MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYDVQQGEwJIVTER -MA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jv -c2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o -dTAeFw0wOTA2MTYxMTMwMThaFw0yOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UE -BwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUt -U3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvPkd6mJviZpWNwrZuuyjNA -fW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tccbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG -0IMZfcChEhyVbUr02MelTTMuhTlAdX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKA -pxn1ntxVUwOXewdI/5n7N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm -1HxdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1+rUC -AwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTLD8bf -QkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNVHREE -FDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0o -lZMEyL/azXm4Q5DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfX -I/OMn74dseGkddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 -tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c2Pm2G2JwCz02 -yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lbwyYIi -LXpUq3DDfSJlgnCW ------END CERTIFICATE----- - -GlobalSign Root CA - R3 -======================= ------BEGIN CERTIFICATE----- -MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1UECxMXR2xv -YmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2Jh -bFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxT -aWduIFJvb3QgQ0EgLSBSMzETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2ln -bjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWt -iHL8RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsTgHeMCOFJ -0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmmKPZpO/bLyCiR5Z2KYVc3 -rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjl -OCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2 -xmmFghcCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE -FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZURUm7 -lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMpjjM5RcOO5LlXbKr8 -EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK6fBdRoyV3XpYKBovHd7NADdBj+1E -bddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQXmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18 -YIvDQVETI53O9zJrlAGomecsMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7r -kpeDMdmztcpHWD9f ------END CERTIFICATE----- - -Autoridad de Certificacion Firmaprofesional CIF A62634068 -========================================================= ------BEGIN CERTIFICATE----- -MIIGFDCCA/ygAwIBAgIIU+w77vuySF8wDQYJKoZIhvcNAQEFBQAwUTELMAkGA1UEBhMCRVMxQjBA -BgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcHJvZmVzaW9uYWwgQ0lGIEE2 -MjYzNDA2ODAeFw0wOTA1MjAwODM4MTVaFw0zMDEyMzEwODM4MTVaMFExCzAJBgNVBAYTAkVTMUIw -QAYDVQQDDDlBdXRvcmlkYWQgZGUgQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBB -NjI2MzQwNjgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDD -Utd9thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQMcas9UX4P -B99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefGL9ItWY16Ck6WaVICqjaY -7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15iNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqH -ECNZXyAFGUftaI6SEspd/NYrspI8IM/hX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyI -plD9amML9ZMWGxmPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctX -MbScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirjaEbsX -LZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/TKI8xWVvTyQKmtFLK -bpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF6NkBiDkal4ZkQdU7hwxu+g/GvUgU -vzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMBIGA1Ud -EwEB/wQIMAYBAf8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRlzeurNR4APn7VdMActHNH -DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRVHSAAMIGPMC8GCCsGAQUFBwIBFiNodHRwOi8vd3d3LmZp -cm1hcHJvZmVzaW9uYWwuY29tL2NwczBcBggrBgEFBQcCAjBQHk4AUABhAHMAZQBvACAAZABlACAA -bABhACAAQgBvAG4AYQBuAG8AdgBhACAANAA3ACAAQgBhAHIAYwBlAGwAbwBuAGEAIAAwADgAMAAx -ADcwDQYJKoZIhvcNAQEFBQADggIBABd9oPm03cXF661LJLWhAqvdpYhKsg9VSytXjDvlMd3+xDLx -51tkljYyGOylMnfX40S2wBEqgLk9am58m9Ot/MPWo+ZkKXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk -R71kMrv2JYSiJ0L1ILDCExARzRAVukKQKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj5eTSSPi5E6PaP -T481PyWzOdxjKpBrIF/EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp54lD+kLM5FlClrD2VQS3a/DTg4f -Jl4N3LON7NWBcN7STyQF82xO9UxJZo3R/9ILJUFI/lGExkKvgATP0H5kSeTy36LssUzAKh3ntLFl -osS88Zj0qnAHY7S42jtM+kAiMFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN99ZwExEWN57kci57q13XR -crHedUTnQn3iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EMxsvYDNEeyrPsiBsse3RdHHF9mudMaotoR -saS8I8nkvof/uZS2+F0gStRf571oe2XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN7ONGCoQPHzPKTD -KCOM/iczQ0CgFzzr6juwcqajuUpLXhZI9LK8yIySxZ2frHI2vDSANGupi5LAuBft7HZT9SQBjLMi -6Et8Vcad+qMUu2WFbm5PEn4KPJ2V ------END CERTIFICATE----- - -Izenpe.com -========== ------BEGIN CERTIFICATE----- -MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4MQswCQYDVQQG -EwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz -MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMu -QS4xEzARBgNVBAMMCkl6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ -03rKDx6sp4boFmVqscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAK -ClaOxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6HLmYRY2xU -+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC -PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxT -OTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbK -F7jJeodWLBoBHmy+E60QrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK -0GqfvEyNBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8Lhij+ -0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhbB -leStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBUbl8agW7EekFwID -AQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2luZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+ -SVpFTlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBG -NjIgUzgxQzBBBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx -MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O -BBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4pgwWSp9MiDrAyw6l -Fn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbga -kEyrkgPH7UIBzg/YsfqikuFgba56awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8q -hT/AQKM6WfxZSzwoJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Cs -g1lwLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCTVyvehQP5 -aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGkLhObNA5me0mrZJfQRsN5 -nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjWumDqtujWTI6cfSN01RpiyEGjkpTHC -ClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZo -Q0iy2+tzJOeRf1SktoA+naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1Z -WrOZyGlsQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== ------END CERTIFICATE----- - -Chambers of Commerce Root - 2008 -================================ ------BEGIN CERTIFICATE----- -MIIHTzCCBTegAwIBAgIJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQUAMIGuMQswCQYDVQQGEwJFVTFD -MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv -bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu -QS4xKTAnBgNVBAMTIENoYW1iZXJzIG9mIENvbW1lcmNlIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTEy -Mjk1MFoXDTM4MDczMTEyMjk1MFowga4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNl -ZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQF -EwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENhbWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJl -cnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC -AQCvAMtwNyuAWko6bHiUfaN/Gh/2NdW928sNRHI+JrKQUrpjOyhYb6WzbZSm891kDFX29ufyIiKA -XuFixrYp4YFs8r/lfTJqVKAyGVn+H4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZPeEklPWDrCQiorj -h40G072QDuKZoRuGDtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9HMRFEFis1tPo1+XqxQEHd9ZR5gN/ -ikilTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy/Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpOrUMPrCXZk -NNI5t3YRCQ12RcSprj1qr7V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZgvMPMZ4fKecHePOjlO+Bd5g -D2vlGts/4+EhySnB8esHnFIbAURRPHsl18TlUlRdJQfKFiC4reRB7noI/plvg6aRArBsNlVq5331 -lubKgdaX8ZSD6e2wsWsSaR6s+12pxZjptFtYer49okQ6Y1nUCyXeG0+95QGezdIp1Z8XGQpvvwyQ -0wlf2eOKNcx5Wk0ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w9mPGgP0revq+ULtlVmhduYJ1jbLhj -ya6BXBg14JC7vjxPNyK5fuvPnnchpj04gftI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhduub+84Mxh2 -EQIDAQABo4IBbDCCAWgwEgYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVHQ4EFgQU+SSsD7K1+HnA+mCI -G8TZTQKeFxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1+HnA+mCIG8TZTQKeFxmhgbSkgbEwga4xCzAJ -BgNVBAYTAkVVMUMwQQYDVQQHEzpNYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJlc3MgYXQgd3d3LmNh -bWVyZmlybWEuY29tL2FkZHJlc3MpMRIwEAYDVQQFEwlBODI3NDMyODcxGzAZBgNVBAoTEkFDIENh -bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vdCAtIDIwMDiC -CQCj2kJ+pLGu2jAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUH -AgEWHGh0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAJASryI1 -wqM58C7e6bXpeHxIvj99RZJe6dqxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3iU6XsxPpcG1Lawk0lgH -3qLPaYRgM+gQDROpI9CF5Y57pp49chNyM/WqfcZjHwj0/gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU -RWpGqOt1glanq6B8aBMz9p0w8G8nOSQjKpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU+I22mlaHFoI6 -M6taIgj3grrqLuBHmrS1RaMFO9ncLkVAO+rcf+g769HsJtg1pDDFOqxXnrN2pSB7+R5KBWIBpih1 -YJeSDW4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMMeJL0eYD6MDxvbxrN8y8NmBGuScvfaAFPDRLLmF -9dijscilIeUcE5fuDr3fKanvNFNb0+RqE4QGtjICxFKuItLcsiFCGtpA8CnJ7AoMXOLQusxI0zcK -zBIKinmwPQN/aUv0NCB9szTqjktk9T79syNnFQ0EuPAtwQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG -nrDQWzilm1DefhiYtUU79nm06PcaewaD+9CL2rvHvRirCG88gGtAPxkZumWK5r7VXNM21+9AUiRg -OGcEMeyP84LG3rlV8zsxkVrctQgVrXYlCg17LofiDKYGvCYQbTed7N14jHyAxfDZd0jQ ------END CERTIFICATE----- - -Global Chambersign Root - 2008 -============================== ------BEGIN CERTIFICATE----- -MIIHSTCCBTGgAwIBAgIJAMnN0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYDVQQGEwJFVTFD -MEEGA1UEBxM6TWFkcmlkIChzZWUgY3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNv -bS9hZGRyZXNzKTESMBAGA1UEBRMJQTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMu -QS4xJzAlBgNVBAMTHkdsb2JhbCBDaGFtYmVyc2lnbiBSb290IC0gMjAwODAeFw0wODA4MDExMjMx -NDBaFw0zODA3MzExMjMxNDBaMIGsMQswCQYDVQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlkIChzZWUg -Y3VycmVudCBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGRyZXNzKTESMBAGA1UEBRMJ -QTgyNzQzMjg3MRswGQYDVQQKExJBQyBDYW1lcmZpcm1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbCBD -aGFtYmVyc2lnbiBSb290IC0gMjAwODCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDf -VtPkOpt2RbQT2//BthmLN0EYlVJH6xedKYiONWwGMi5HYvNJBL99RDaxccy9Wglz1dmFRP+RVyXf -XjaOcNFccUMd2drvXNL7G706tcuto8xEpw2uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpyR1ogQC7N0 -ZJJ0YPP2zxhPYLIj0Mc7zmFLmY/CDNBAspjcDahOo7kKrmCgrUVSY7pmvWjg+b4aqIG7HkF4ddPB -/gBVsIdU6CeQNR1MM62X/JcumIS/LMmjv9GYERTtY/jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lNNgA -TH23MRdaKXoKGCQwoze1eqkBfSbW+Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58fQ1DJu7xsepeY7s2M -H/ucUa6LcL0nn3HAa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9R5OP4wzg2rtandeavhENdk5IMagfe -Ox2YItaswTXbo6Al/3K1dh3ebeksZixShNBFks4c5eUzHdwHU1SjqoI7mjcv3N2gZOnm3b2u/GSF -HTynyQbehP9r6GsaPMWis0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+EpuoHtQ2TS9x9o0o9oOpE9Jh -wZG7SMA0j0GMS0zbaRL/UJScIINZc+18ofLx/d33SdNDWKBWY8o9PeU1VlnpDsogzCtLkykPAgMB -AAGjggFqMIIBZjASBgNVHRMBAf8ECDAGAQH/AgEMMB0GA1UdDgQWBBS5CcqcHtvTbDprru1U8VuT -BjUuXjCB4QYDVR0jBIHZMIHWgBS5CcqcHtvTbDprru1U8VuTBjUuXqGBsqSBrzCBrDELMAkGA1UE -BhMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d3cuY2FtZXJm -aXJtYS5jb20vYWRkcmVzcykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEbMBkGA1UEChMSQUMgQ2FtZXJm -aXJtYSBTLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2hhbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQDJzdPp -1X0jzjAOBgNVHQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0 -dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIhvcNAQEFBQADggIBAICIf3DekijZBZRG -/5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZUohwEurdPfWbU1Rv4WCiqAm57OtZfMY18dwY6fFn5a+6 -ReAJ3spED8IXDneRRXozX1+WLGiLwUePmJs9wOzL9dWCkoQ10b42OFZyMVtHLaoXpGNR6woBrX/s -dZ7LoR/xfxKxueRkf2fWIyr0uDldmOghp+G9PUIadJpwr2hsUF1Jz//7Dl3mLEfXgTpZALVza2Mg -9jFFCDkO9HB+QHBaP9BrQql0PSgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9yydYhz2rXzdpjEetrHH -foUm+qRqtdpjMNHvkzeyZi99Bffnt0uYlDXA2TopwZ2yUDMdSqlapskD7+3056huirRXhOukP9Du -qqqHW2Pok+JrqNS4cnhrG+055F3Lm6qH1U9OAP7Zap88MQ8oAgF9mOinsKJknnn4SPIVqczmyETr -P3iZ8ntxPjzxmKfFGBI/5rsoM0LpRQp8bfKGeS/Fghl9CYl8slR2iK7ewfPM4W7bMdaTrpmg7yVq -c5iJWzouE4gev8CSlDQb4ye3ix5vQv/n6TebUB0tovkC7stYWDpxvGjjqsGvHCgfotwjZT+B6q6Z -09gwzxMNTxXJhLynSC34MCN32EZLeW32jO06f2ARePTpm67VVMB0gNELQp/B ------END CERTIFICATE----- - -Go Daddy Root Certificate Authority - G2 -======================================== ------BEGIN CERTIFICATE----- -MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT -B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHkuY29tLCBJbmMu -MTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 -MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 -b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8G -A1UEAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx5oVJnyfq -9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD -+qK+ihVqf94Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutd -fMh8+7ArU6SSYmlRJQVhGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMl -NAJWJwGRtDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEAAaNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9 -BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmXWWcDYfF+OwYxdS2hII5PZYe096ac -vNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r -5N9ss4UXnT3ZJE95kTXWXwTrgIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYV -N8Gb5DKj7Tjo2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO -LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI4uJEvlz36hz1 ------END CERTIFICATE----- - -Starfield Root Certificate Authority - G2 -========================================= ------BEGIN CERTIFICATE----- -MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT -B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s -b2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVsZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0 -eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAw -DgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQg -VGVjaG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0ZSBB -dXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL3twQP89o/8ArFv -W59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMgnLRJdzIpVv257IzdIvpy3Cdhl+72WoTs -bhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNk -N3mSwOxGXn/hbVNMYq/NHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7Nf -ZTD4p7dNdloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0HZbU -JtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0GCSqGSIb3DQEBCwUAA4IBAQARWfol -TwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjUsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx -4mcujJUDJi5DnUox9g61DLu34jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUw -F5okxBDgBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K -pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1mMpYjn0q7pBZ -c2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 ------END CERTIFICATE----- - -Starfield Services Root Certificate Authority - G2 -================================================== ------BEGIN CERTIFICATE----- -MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMxEDAOBgNVBAgT -B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZCBUZWNobm9s -b2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRl -IEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNV -BAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxT -dGFyZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2VydmljZXMg -Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2 -h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm28xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4Pa -hHQUw2eeBGg6345AWh1KTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLP -LJGmpufehRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk6mFB -rMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYDVR0TAQH/BAUw -AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdcwKziIorhtSpzyEZGDMA0GCSqG -SIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPP -E95Dz+I0swSdHynVv/heyNXBve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTy -xQGjhdByPq1zqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd -iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn0q23KXB56jza -YyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCNsSi6 ------END CERTIFICATE----- - -AffirmTrust Commercial -====================== ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UEBhMCVVMxFDAS -BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4XDTEw -MDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly -bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6Eqdb -DuKPHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yrba0F8PrV -C8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPALMeIrJmqbTFeurCA+ukV6 -BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1yHp52UKqK39c/s4mT6NmgTWvRLpUHhww -MmWd5jyTXlBOeuM61G7MGvv50jeuJCqrVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNV -HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYGXUPG -hi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNjvbz4YYCanrHOQnDi -qX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivtZ8SOyUOyXGsViQK8YvxO8rUzqrJv -0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9gN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0kh -sUlHRUe072o0EclNmsxZt9YCnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= ------END CERTIFICATE----- - -AffirmTrust Networking -====================== ------BEGIN CERTIFICATE----- -MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UEBhMCVVMxFDAS -BgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4XDTEw -MDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmly -bVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SE -Hi3yYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbuakCNrmreI -dIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRLQESxG9fhwoXA3hA/Pe24 -/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gb -h+0t+nvujArjqWaJGctB+d1ENmHP4ndGyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNV -HQ4EFgQUBx/S55zawm6iQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AQYwDQYJKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfOtDIu -UFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzuQY0x2+c06lkh1QF6 -12S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR9eUJtGxUAArgFU2HdW23 -WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4uolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9 -/ZFvgrG+CJPbFEfxojfHRZ48x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= ------END CERTIFICATE----- - -AffirmTrust Premium -=================== ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UEBhMCVVMxFDAS -BgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy -OTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRy -dXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A -MIICCgKCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtn -BKAQJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ+jjeRFcV -5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs -+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmd -GPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d770O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5R -p9EixAqnOEhss/n/fauGV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NI -S+LI+H+SqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S5u04 -6uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY5 -/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+rF7nKsu7/+6qqo -+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB -/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByv -MiPIs0laUZx2KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg -Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B8OWycvpEgjNC -6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQMKSOyARiqcTtNd56l+0OOF6S -L5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK -+4w1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmV -BtWVyuEklut89pMFu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFg -IxpHYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1qF60 -g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGdFNrHF+QFlozEJLUb -zxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6eKeC2uAloGRwYQw== ------END CERTIFICATE----- - -AffirmTrust Premium ECC -======================= ------BEGIN CERTIFICATE----- -MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMCVVMxFDASBgNV -BAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIEVDQzAeFw0xMDAx -MjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1U -cnVzdDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQA -IgNiAAQNMF4bFZ0D0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQ -N8O9ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0GA1UdDgQW -BBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAK -BggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/VsaobgxCd05DhT1wV/GzTjxi+zygk8N53X -57hG8f2h4nECMEJZh0PUUd+60wkyWs6Iflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKM -eQ== ------END CERTIFICATE----- - -Certum Trusted Network CA -========================= ------BEGIN CERTIFICATE----- -MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIAYDVQQK -ExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy -MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBU -ZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -MSIwIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rHUV+rpDKmYYe2bg+G0jAC -l/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LMTXPb865Px1bVWqeWifrzq2jUI4ZZJ88J -J7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4 -fOQtf/WsX+sWn7Et0brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0 -cvW0QM8xAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNVHRMB -Af8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNVHQ8BAf8EBAMCAQYw -DQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15ysHhE49wcrwn9I0j6vSrEuVUEtRCj -jSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1 -mS1FhIrlQgnXdAIv94nYmem8J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5aj -Zt3hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI -03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= ------END CERTIFICATE----- - -TWCA Root Certification Authority -================================= ------BEGIN CERTIFICATE----- -MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJ -VEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQG -EwJUVzESMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NB -IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFEAcK0HMMx -QhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC -oi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP -4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1r -y+UPizgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIB -BjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkqhkiG -9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeCMErJk/9q56YAf4lC -mtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdlsXebQ79NqZp4VKIV66IIArB6nCWlW -QtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62Dlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVY -T0bf+215WfKEIlKuD8z7fDvnaspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocny -Yh0igzyXxfkZYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== ------END CERTIFICATE----- - -Security Communication RootCA2 -============================== ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc -U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMeU2VjdXJpdHkgQ29tbXVuaWNh -dGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMC -SlAxJTAjBgNVBAoTHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3Vy -aXR5IENvbW11bmljYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -ANAVOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGrzbl+dp++ -+T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX3NuRFg3sUZdbcDE3R -3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQhNBqyjoGADdH5H5XTz+L62e4iKrFvlNV -spHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1K -EOtOghY6rCcMU/Gt1SSwawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8 -QIH4D5csOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEB -CwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpFcoJxDjrSzG+ntKEj -u/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk -3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6q -tnRGEmyR7jTV7JqR50S+kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29 -mvVXIwAHIRc/SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 ------END CERTIFICATE----- - -EC-ACC -====== ------BEGIN CERTIFICATE----- -MIIFVjCCBD6gAwIBAgIQ7is969Qh3hSoYqwE893EATANBgkqhkiG9w0BAQUFADCB8zELMAkGA1UE -BhMCRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F0YWxhbmEgZGUgQ2VydGlmaWNhY2lvIChOSUYgUS0w -ODAxMTc2LUkpMSgwJgYDVQQLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2VydGlmaWNhY2lvMTUwMwYD -VQQLEyxWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA1UE -CxMsSmVyYXJxdWlhIEVudGl0YXRzIGRlIENlcnRpZmljYWNpbyBDYXRhbGFuZXMxDzANBgNVBAMT -BkVDLUFDQzAeFw0wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU5NTlaMIHzMQswCQYDVQQGEwJFUzE7 -MDkGA1UEChMyQWdlbmNpYSBDYXRhbGFuYSBkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLTA4MDExNzYt -SSkxKDAmBgNVBAsTH1NlcnZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY2FjaW8xNTAzBgNVBAsTLFZl -Z2V1IGh0dHBzOi8vd3d3LmNhdGNlcnQubmV0L3ZlcmFycmVsIChjKTAzMTUwMwYDVQQLEyxKZXJh -cnF1aWEgRW50aXRhdHMgZGUgQ2VydGlmaWNhY2lvIENhdGFsYW5lczEPMA0GA1UEAxMGRUMtQUND -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsyLHT+KXQpWIR4NA9h0X84NzJB5R85iK -w5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmRJoNBD45b6VLeqpjt4pEndljkYRm4CgPukLjbo73FCeT -ae6RDqNfDrHrZqJyTxIThmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5NLWUhdWZXqBIoH7nF2W4onW4 -HvPlQn2v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB50JQ+awwAvthrDk4q7D7SzIKiGGUzE3eeml0a -E9jD2z3Il3rucO2n5nzbcc8tlGLfbdb1OL4/pYUKGbio2Al1QnDE6u/LDsg0qBIimAy4E5S2S+zw -0JDnJwIDAQABo4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E -BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4opvpXY0wfwYD -VR0gBHgwdjB0BgsrBgEEAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiBodHRwczovL3d3dy5jYXRjZXJ0 -Lm5ldC92ZXJhcnJlbDA1BggrBgEFBQcCAjApGidWZWdldSBodHRwczovL3d3dy5jYXRjZXJ0Lm5l -dC92ZXJhcnJlbCAwDQYJKoZIhvcNAQEFBQADggEBAKBIW4IB9k1IuDlVNZyAelOZ1Vr/sXE7zDkJ -lF7W2u++AVtd0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzrKQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa -Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt/cKt63dmXLGQehb+8dJahw3oS7AwaboMMPOhyRp/7SNVe -l+axofjk70YllJyJ22k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLrPK9HOSAgu+TGbrIP65y7WZf+a2 -E/rKS03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhpDGQh2xlnJ2lYJU6Un/10asIbvPuW/mIPX64b24D -5EI= ------END CERTIFICATE----- - -Hellenic Academic and Research Institutions RootCA 2011 -======================================================= ------BEGIN CERTIFICATE----- -MIIEMTCCAxmgAwIBAgIBADANBgkqhkiG9w0BAQUFADCBlTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT -O0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9y -aXR5MUAwPgYDVQQDEzdIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z -IFJvb3RDQSAyMDExMB4XDTExMTIwNjEzNDk1MloXDTMxMTIwMTEzNDk1MlowgZUxCzAJBgNVBAYT -AkdSMUQwQgYDVQQKEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25z -IENlcnQuIEF1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNo -IEluc3RpdHV0aW9ucyBSb290Q0EgMjAxMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB -AKlTAOMupvaO+mDYLZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNUeTDN9KKiE15HrcS3UN4SoqS5tdI -1Q+kOilENbgH9mgdVc04UfCMJDGFr4PJfel3r+0ae50X+bOdOFAPplp5kYCvN66m0zH7tSYJnTxa -71HFK9+WXesyHgLacEnsbgzImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fkrJxIH2Oq9GGKYsFk3fb7u -8yBRQlqD75O6aRXxYp2fmTmCobd0LovUxQt7L/DICto9eQqakxylKHJzkUOap9FNhYS5qXSPFEDH -3N6sQWRstBmbAmNtJGSPRLIl6s5ddAxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVHRMBAf8EBTADAQH/ -MAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp5dgTBCPuQSUwRwYDVR0eBEAwPqA8 -MAWCAy5ncjAFggMuZXUwBoIELmVkdTAGggQub3JnMAWBAy5ncjAFgQMuZXUwBoEELmVkdTAGgQQu -b3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx6NZrokgclPEg8hwAOXhiVt -XdMiKahsog2p6z0GW5k6x8zDmjR/qw7IThzh+uTczQ2+vyT+bOdrwg3IBp5OjWEopmr95fZi6hg8 -TqBTnbI6nOulnJEWtk2C4AwFSKls9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNzvoc7dIsXRSZMFpGD -/md9zU1jZ/rzAxKWeAaNsWftjj++n08C9bMJL/NMh98qy5V8AcysNnq/onN694/BtZqhFLKPM58N -7yLcZnuEvUUXBj08yrl3NI/K6s8/MT7jiOOASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9e4 ------END CERTIFICATE----- - -Actalis Authentication Root CA -============================== ------BEGIN CERTIFICATE----- -MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UEBhMCSVQxDjAM -BgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UE -AwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDky -MjExMjIwMlowazELMAkGA1UEBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlz -IFMucC5BLi8wMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 -IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTufClrJ -wkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX4ay8IMKx4INRimlNAJZa -by/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9KK3giq0itFZljoZUj5NDKd45RnijMCO6 -zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1f -YVEiVRvjRuPjPdA1YprbrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2 -oxgkg4YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2Fbe8l -EfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxeKF+w6D9Fz8+vm2/7 -hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8 -EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5 -jF66CyCU3nuDuP/jVo23Eek7jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLY -iDrIn3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt -ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQALe3KHwGCmSUyI -WOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI0 -JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDzWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKx -K3JCaKygvU5a2hi/a5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+ -Xlff1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC -4yyXX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+OkfcvHlXHo -2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7RK4X9p2jIugErsWx0Hbhz -lefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXem -OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9 -vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== ------END CERTIFICATE----- - -Trustis FPS Root CA -=================== ------BEGIN CERTIFICATE----- -MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG -EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290 -IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV -BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ -KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ -RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk -H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa -cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt -o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA -AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd -BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c -GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC -yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P -8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV -l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl -iB6XzCGcKQENZetX2fNXlrtIzYE= ------END CERTIFICATE----- - -Buypass Class 2 Root CA -======================= ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU -QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMiBSb290IENBMB4X -DTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1owTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 -eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIw -DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1 -g1Lr6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPVL4O2fuPn -9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC911K2GScuVr1QGbNgGE41b -/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHxMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqU -CqTqc/sLUegTBxj6DvEr0VQVfTzh97QZQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeff -awrbD02TTqigzXsu8lkBarcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgI -zRFo1clrUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLiFRhn -Bkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX -Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN9SG9dKpN6nIDSdvHXx1iY8f93ZHs -M+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD -VR0OBBYEFMmAd+BikoL1RpzzuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF -AAOCAgEAU18h9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s -A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3tOluwlN5E40EI -osHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1Gv7SEr5AcD48S -aq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYd -DnkM/crqJIByw5c/8nerQyIKx+u2DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWD -LfJ6v9r9jv6ly0UsH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0 -oyLQI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK75t98biGC -wWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTWwyI0PurKju7koS -CTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPzY11aWOIv4x3kqdbQCtCev9eBCfHJxyYN -rJgWVqA= ------END CERTIFICATE----- - -Buypass Class 3 Root CA -======================= ------BEGIN CERTIFICATE----- -MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEdMBsGA1UECgwU -QnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3MgQ2xhc3MgMyBSb290IENBMB4X -DTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1 -eXBhc3MgQVMtOTgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIw -DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRH -sJ8YZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3EN3coTRiR -5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9tD+leh -7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzbjniazEuOQAnFN44wOwZ -ZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH -2xc519woe2v1n/MuwU8XKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV -/afmiSTYzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvSO1UQ -RwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D34xFMFbG02SrZvPA -Xpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzLabjKSWJtyNBjYt1gD1iq -j6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD -VR0OBBYEFEe4zf/lb+74suwvTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsF -AAOCAgEAACAjQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV -cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXSIGrs/CIBKM+G -uIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2HJLw5QY33KbmkJs4j1xrG0aG -Q0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsaO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8 -ZORK15FTAaggiG6cX0S5y2CBNOxv033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2 -KSb12tjE8nVhz36udmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz -6MkEkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg413OEMXbug -UZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvDu79leNKGef9JOxqDDPDe -eOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq4/g7u9xN12TyUb7mqqta6THuBrxzvxNi -Cp/HuZc= ------END CERTIFICATE----- - -T-TeleSec GlobalRoot Class 3 -============================ ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM -IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU -cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgx -MDAxMTAyOTU2WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz -dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD -ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN8ELg63iIVl6bmlQdTQyK -9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoel15YU -NpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZF -iP0Zf3WHHx+xGwpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W -0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGjQjBA -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1A/d2O2GCahKqGFPr -AyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4TeQbIXQb -fsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzT -ucpH9sry9uetuUg/vBa3wW306gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h -P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml -e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw== ------END CERTIFICATE----- - -EE Certification Centre Root CA -=============================== ------BEGIN CERTIFICATE----- -MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG -EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy -dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw -MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB -UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy -ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB -DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM -TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2 -rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw -93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN -P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T -AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ -MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF -BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj -xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM -lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u -uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU -3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM -dcGWxZ0= ------END CERTIFICATE----- - -D-TRUST Root Class 3 CA 2 2009 -============================== ------BEGIN CERTIFICATE----- -MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQK -DAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTAe -Fw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NThaME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE -LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOAD -ER03UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42tSHKXzlA -BF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9RySPocq60vFYJfxLLHLGv -KZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsMlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7z -p+hnUquVH+BGPtikw8paxTGA6Eian5Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUC -AwEAAaOCARowggEWMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ -4PGEMA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVjdG9y -eS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUyMENBJTIwMiUyMDIw -MDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD+G -PWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAw -OS5jcmwwDQYJKoZIhvcNAQELBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm -2H6NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 -o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4KzCUqNQT4YJEV -dT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8PIWmawomDeCTmGCufsYkl4ph -X5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3YJohw1+qRzT65ysCQblrGXnRl11z+o+I= ------END CERTIFICATE----- - -D-TRUST Root Class 3 CA 2 EV 2009 -================================= ------BEGIN CERTIFICATE----- -MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK -DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw -OTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUwNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQK -DAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAw -OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfS -egpnljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM03TP1YtHh -zRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6ZqQTMFexgaDbtCHu39b+T -7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhFPC+Oh25z1uxav60 -sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure35 -11H3a6UCAwEAAaOCASQwggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyv -cop9NteaHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFwOi8v -ZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ0El -MjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRp -b25saXN0MEagRKBChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xh -c3NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+ -PPoeUSbrh/Yp3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 -nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNFCSuGdXzfX2lX -ANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7naxpeG0ILD5EJt/rDiZE4OJudA -NCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVv -w9y4AyHqnxbxLFS1 ------END CERTIFICATE----- - -CA Disig Root R2 -================ ------BEGIN CERTIFICATE----- -MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNVBAYTAlNLMRMw -EQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMuMRkwFwYDVQQDExBDQSBEaXNp -ZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQyMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sx -EzARBgNVBAcTCkJyYXRpc2xhdmExEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERp -c2lnIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbC -w3OeNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNHPWSb6Wia -xswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1tL7 -A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbeQTg06ov80egEFGEtQX6sx3dOy1FU+16S -GBsEWmjGycT6txOgmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqV -g8NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa -5Beny912H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJQfYE -koopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG93c+A -Ak9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORsnLMOPReisjQS1n6yqEm70XooQL6i -Fh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNV -HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5u -Qu0wDQYJKoZIhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM -tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqfGopTpti72TVV -sRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuDvEK7Z4bLQjb/D907Je -dR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W8 -1k/BfDxujRNt+3vrMNDcTa/F1balTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjx -mHHEt38OFdAlab0inSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01 -utI3gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5gPcFw0 -sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3OszMOl6W8KjptlwlCFtaOg -UxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8xL4ysEr3vQCj8KWefshNPZiTEUxnpHikV -7+ZtsH8tZ/3zbBt1RqPlShfppNcL ------END CERTIFICATE----- - -ACCVRAIZ1 -========= ------BEGIN CERTIFICATE----- -MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UEAwwJQUNDVlJB -SVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMTA1 -MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwH -UEtJQUNDVjENMAsGA1UECgwEQUNDVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4IC -DwAwggIKAoICAQCbqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gM -jmoYHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWoG2ioPej0 -RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpAlHPrzg5XPAOBOp0KoVdD -aaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhrIA8wKFSVf+DuzgpmndFALW4ir50awQUZ -0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDG -WuzndN9wrqODJerWx5eHk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs7 -8yM2x/474KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMOm3WR -5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpacXpkatcnYGMN285J -9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn13k/c4LOsOxFwYIRK -Q26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYIKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRw -Oi8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEu -Y3J0MB8GCCsGAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 -VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oHlNsyM -Hj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIGCCsGAQUFBwICMIIBFB6CARAA -QQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUAcgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBh -AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUA -YwBuAG8AbABvAGcA7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBj -AHQAcgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAAQwBQAFMA -IABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAczAwBggrBgEFBQcCARYk -aHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2MuaHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0 -dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRtaW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2 -MV9kZXIuY3JsMA4GA1UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZI -hvcNAQEFBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdpD70E -R9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gUJyCpZET/LtZ1qmxN -YEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y49 -nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJ -TS+xJlsndQAJxGJ3KQhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3 -sCPdK6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h -I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szAh1xA2syVP1Xg -Nce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xFd3+YJ5oyXSrjhO7FmGYvliAd -3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3p -EfbRD0tVNEYqi4Y7 ------END CERTIFICATE----- - -TWCA Global Root CA -=================== ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcxEjAQBgNVBAoT -CVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMTVFdDQSBHbG9iYWwgUm9vdCBD -QTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQK -EwlUQUlXQU4tQ0ExEDAOBgNVBAsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3Qg -Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2C -nJfF10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz0ALfUPZV -r2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfChMBwqoJimFb3u/Rk28OKR -Q4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGHaL3SekV -tTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1W -KKD+u4ZqyPpcC1jcxkt2yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99 -sy2sbZCilaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYPoA/p -yJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQABDzfuBSO6N+pjWxn -kjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzhkIyIqJdI -zshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMC -AQYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6g -cFGn90xHNcgL1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn -LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WFH6vPNOw/KP4M -8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAXDOXC4Ynsg -/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlg -lPx4mI88k1HtQJAH32RjJMtOcQWh15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryP -A9gK8kxkRr05YuWW6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3m -i4TWnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5jwa19hAM8 -EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWzaGHQRiapIVJpLesux+t3 -zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmyKwbQBM0= ------END CERTIFICATE----- - -TeliaSonera Root CA v1 -====================== ------BEGIN CERTIFICATE----- -MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAwNzEUMBIGA1UE -CgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4 -MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwW -VGVsaWFTb25lcmEgUm9vdCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+ -6yfwIaPzaSZVfp3FVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA -3GV17CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+XZ75Ljo1k -B1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn -Xb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxH -oLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3 -F0fUTPHSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJ -oWjiUIMusDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4pgd7 -gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fsslESl1MpWtTwEhDc -TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQarMCpgKIv7NHfirZ1fpoeDVNAgMB -AAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qW -DNXr+nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNm -zqjMDfz1mgbldxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx -0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1TjTQpgcmLNkQfW -pb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBedY2gea+zDTYa4EzAvXUYNR0PV -G6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpc -c41teyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOT -JsjrDNYmiLbAJM+7vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2 -qReWt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcnHL/EVlP6 -Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVxSK236thZiNSQvxaz2ems -WWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= ------END CERTIFICATE----- - -E-Tugra Certification Authority -=============================== ------BEGIN CERTIFICATE----- -MIIGSzCCBDOgAwIBAgIIamg+nFGby1MwDQYJKoZIhvcNAQELBQAwgbIxCzAJBgNVBAYTAlRSMQ8w -DQYDVQQHDAZBbmthcmExQDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamls -ZXJpIHZlIEhpem1ldGxlcmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBN -ZXJrZXppMSgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTEzMDMw -NTEyMDk0OFoXDTIzMDMwMzEyMDk0OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYDVQQHDAZBbmthcmEx -QDA+BgNVBAoMN0UtVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWtub2xvamlsZXJpIHZlIEhpem1ldGxl -cmkgQS7Fni4xJjAkBgNVBAsMHUUtVHVncmEgU2VydGlmaWthc3lvbiBNZXJrZXppMSgwJgYDVQQD -DB9FLVR1Z3JhIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A -MIICCgKCAgEA4vU/kwVRHoViVF56C/UYB4Oufq9899SKa6VjQzm5S/fDxmSJPZQuVIBSOTkHS0vd -hQd2h8y/L5VMzH2nPbxHD5hw+IyFHnSOkm0bQNGZDbt1bsipa5rAhDGvykPL6ys06I+XawGb1Q5K -CKpbknSFQ9OArqGIW66z6l7LFpp3RMih9lRozt6Plyu6W0ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g -ElIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14opz8n8Y4e0ypQ -BaNV2cvnOVPAmJ6MVGKLJrD3fY185MaeZkJVgkfnsliNZvcHfC425lAcP9tDJMW/hkd5s3kc91r0 -E+xs+D/iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEcf6ZG33ygEIqDUD13ieU/qbIWGvaimzuT6w+Gz -rt48Ue7LE3wBf4QOXVGUnhMMti6lTPk5cDZvlsouDERVxcr6XQKj39ZkjFqzAQqptQpHF//vkUAq -jqFGOjGY5RH8zLtJVor8udBhmm9lbObDyz51Sf6Pp+KJxWfXnUYTTjF2OySznhFlhqt/7x3U+Lzn -rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUXU8u3Zg5mTPj5 -dUyQ5xJwx0UCAwEAAaNjMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz6Jyr+zE7S6E5UMA8GA1UdEwEB -/wQFMAMBAf8wHwYDVR0jBBgwFoAULuPbsknQnFR5XPonKv7MTtLoTlQwDgYDVR0PAQH/BAQDAgEG -MA0GCSqGSIb3DQEBCwUAA4ICAQAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8lkGpD4eKexd0dCrfOAK -kEh47U6YA5n+KGCRHTAduGN8qOY1tfrTYXbm1gdLymmasoR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO -XKqYGwXgAEZKgoClM4so3O0409/lPun++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9Jauz1c77NCR807 -VRMGsAnb/WP2OogKmW9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0qWuJA3+GbHeJAAFS6LrVE1Uweo -a2iu+U48BybNCAVwzDk/dr2l02cmAYamU9JgO3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P7Sd2nCc -dlqMQ1DujjByTd//SffGqWfZbawCEeI6FiWnWAjLb1NBnEg4R2gz0dfHj9R0IdTDBZB6/86WiLEV -KV0jq9BgoRJP3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyDYwKcMhcWQ9DstliaxLL5Mq+ux0orJ23gT -Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5+Ji/03X186zjhZhkuvcQu02PJwT58yE+Owp1fl2tpDy4Q0 -8ijE6m30Ku/Ba3ba+367hTzSU8JNvnHhRdH9I2cNE3X7z2VnIp2usAnRCf8dNL/+I5c30jn6PQ0G -C7TbO6Orb1wdtn7os4I07QZcJA== ------END CERTIFICATE----- - -T-TeleSec GlobalRoot Class 2 -============================ ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoM -IlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBU -cnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgx -MDAxMTA0MDE0WhcNMzMxMDAxMjM1OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lz -dGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBD -ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUdAqSzm1nzHoqvNK38DcLZ -SBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/F -vudocP05l03Sx5iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx970 -2cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGV -WOHAD3bZwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGjQjBA -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJrjNXy -YdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+iKo4YFWz827n+qrkRk4 -r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPACuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNf -vNoBYimipidx5joifsFvHZVwIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR -3p1m0IvVVGb6g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN -9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlPBSeOE6Fuwg== ------END CERTIFICATE----- - -Atos TrustedRoot 2011 -===================== ------BEGIN CERTIFICATE----- -MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UEAwwVQXRvcyBU -cnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0xMTA3MDcxNDU4 -MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsG -A1UECgwEQXRvczELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV -hTuXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr -54rMVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+SZFhyBH+ -DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUsR320 -HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3FdU9T1nSatCQujgKR -z3bFmx5VdJx4IbHwLfELn8LVlhgf8FQieowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7R -l+lwrrw7GWzbITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZ -bNshMBgGA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB -CwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8jvZfza1zv7v1Apt+h -k6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kPDpFrdRbhIfzYJsdHt6bPWHJxfrrh -TZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pcmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a9 -61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G -3mB/ufNPRJLvKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed ------END CERTIFICATE----- - -QuoVadis Root CA 1 G3 -===================== ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQELBQAwSDELMAkG -A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv -b3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJN -MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEg -RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakE -PBtVwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWerNrwU8lm -PNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF34168Xfuw6cwI2H44g4hWf6 -Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh4Pw5qlPafX7PGglTvF0FBM+hSo+LdoIN -ofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/l -g6AnhF4EwfWQvTA9xO+oabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV -7qJZjqlc3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/GKubX -9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSthfbZxbGL0eUQMk1f -iyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUlamXrXXAkg -t3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOtzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZI -hvcNAQELBQADggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC -MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2cDMT/uFPpiN3 -GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUNqXsCHKnQO18LwIE6PWThv6ct -Tr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP -+V04ikkwj+3x6xn0dxoxGE1nVGwvb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh -3jRJjehZrJ3ydlo28hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fa -wx/kNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNjZgKAvQU6 -O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhpq1467HxpvMc7hU6eFbm0 -FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFtnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOV -hMJKzRwuJIczYOXD ------END CERTIFICATE----- - -QuoVadis Root CA 2 G3 -===================== ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQELBQAwSDELMAkG -A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv -b3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJN -MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIg -RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFh -ZiFfqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMWn4rjyduY -NM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy54ejiK2t -oIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+O7q414AB+6XrW7PFXmAqMaCvN+ggOp+o -MiwMzAkd056OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+l -V0POKa2Mq1W/xPtbAd0jIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZo -L1NesNKqIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz8eQQ -sSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43ehvNURG3YBZwjgQQvD -6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWNof/k19N+IxWA1ksB8aRxh -lRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZI -hvcNAQELBQADggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 -AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RCroijQ1h5fq7K -pVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0GaW/ZZGYjeVYg3UQt4XAoeo0L9 -x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgz -dWqTHBLmYF5vHX/JHyPLhGGfHoJE+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6X -U/IyAgkwo1jwDQHVcsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+Nw -mNtddbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNgKCLjsZWD -zYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeMHVOyToV7BjjHLPj4sHKN -JeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd7Egr -O3jtZsSOeWmD3n+M ------END CERTIFICATE----- - -QuoVadis Root CA 3 G3 -===================== ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDELMAkG -A1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZGlzIFJv -b3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN -MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMg -RzMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286 -IxSR/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNuFoM7pmRL -Mon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU7Ox7sWTaYI+FrUoRqHe -6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+cra1AdHkrAj80//ogaX3T7mH1urPnMNA3 -I4ZyYUUpSFlob3emLoG+B01vr87ERRORFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3U -VDmrJqMz6nWB2i3ND0/kA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f7 -5li59wzweyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634RylsSqi -Md5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBpVzgeAVuNVejH38DM -dyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Yt -rQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZI -hvcNAQELBQADggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px -KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnIFUBhynLWcKzS -t/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7SdEQ -TXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9Du -DcpmvJRPpq3t/O5jrFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGib -Ih6BJpsQBJFxwAYf3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmD -hPbl8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+DhcI00iX -0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HNPlopNLk9hM6xZdRZkZFW -dSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR939+J399roD1B0y2 -PpxxVJkES/1Y+Zj0 ------END CERTIFICATE----- - -DigiCert Assured ID Root G2 -=========================== ------BEGIN CERTIFICATE----- -MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQw -IgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgw -MTE1MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL -ExB3d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIw -ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSAn61UQbVH -35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4HteccbiJVMWWXvdMX0h5i89vq -bFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9HpEgjAALAcKxHad3A2m67OeYfcgnDmCXRw -VWmvo2ifv922ebPynXApVfSr/5Vh88lAbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OP -YLfykqGxvYmJHzDNw6YuYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+Rn -lTGNAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO -w0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5pJ6d1Ee88hjZv -0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I0jJmwYrA8y8678Dj1JGG0VDjA9tz -d29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4GnilmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAW -hsI6yLETcDbYz+70CjTVW0z9B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0M -jomZmWzwPDCvON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo -IhNzbM8m9Yop5w== ------END CERTIFICATE----- - -DigiCert Assured ID Root G3 -=========================== ------BEGIN CERTIFICATE----- -MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSQwIgYD -VQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 -MTIwMDAwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQ -BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJfZn4f5dwb -RXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17QRSAPWXYQ1qAk8C3eNvJs -KTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgF -UaFNN6KDec6NHSrkhDAKBggqhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5Fy -YZ5eEJJZVrmDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy -1vUhZscv6pZjamVFkpUBtA== ------END CERTIFICATE----- - -DigiCert Global Root G2 -======================= ------BEGIN CERTIFICATE----- -MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAw -HgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUx -MjAwMDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3 -dy5kaWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkq -hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI2/Ou8jqJ -kTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx1x7e/dfgy5SDN67sH0NO -3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQq2EGnI/yuum06ZIya7XzV+hdG82MHauV -BJVJ8zUtluNJbd134/tJS7SsVQepj5WztCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyM -UNGPHgm+F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQAB -o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV5uNu -5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr -F9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4NeF22d+mQrvHRAiGfzZ0JFrabA0U -WTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NGFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBH -QRFXGU7Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/ -iyK5S9kJRaTepLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl -MrY= ------END CERTIFICATE----- - -DigiCert Global Root G3 -======================= ------BEGIN CERTIFICATE----- -MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQswCQYDVQQGEwJV -UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSAwHgYD -VQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAw -MDBaMGExCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5k -aWdpY2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0C -AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FGfp4tn+6O -YwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPOZ9wj/wMco+I+o0IwQDAP -BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNp -Yim8S8YwCgYIKoZIzj0EAwMDaAAwZQIxAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y -3maTD/HMsQmP3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34 -VOKa5Vt8sycX ------END CERTIFICATE----- - -DigiCert Trusted Root G4 -======================== ------BEGIN CERTIFICATE----- -MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQG -EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEw -HwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1 -MTIwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 -d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0G -CSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3yithZwuEp -pz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4VpX6+n6lXFllVcq9o -k3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDVySAdYyktzuxeTsiT+CFhmzTrBcZe7Fsa -vOvJz82sNEBfsXpm7nfISKhmV1efVFiODCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGY -QJB5w3jHtrHEtWoYOAMQjdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6 -MUSaM0C/CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCiEhtm -mnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADMfRyVw4/3IbKyEbe7 -f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH -dL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXKchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8 -oR7FwI+isX4KJpn15GkvmB0t9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud -DwEB/wQEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD -ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2SV1EY+CtnJYY -ZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr -yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy -7zBZLq7gcfJW5GqXb5JQbZaNaHqasjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iah -ixTXTBmyUEFxPT9NcCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN -5r5N0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie4u1Ki7wb -/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mIr/OSmbaz5mEP0oUA51Aa -5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tK -G48BtieVU+i2iW1bvGjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP -82Z+ ------END CERTIFICATE----- - -COMODO RSA Certification Authority -================================== ------BEGIN CERTIFICATE----- -MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE -BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgG -A1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkwHhcNMTAwMTE5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMC -R0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE -ChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBB -dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR6FSS0gpWsawNJN3Fz0Rn -dJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZ -FGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+ -5eNu/Nio5JIk2kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pG -x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z+pUX -2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7wqP/0uK3pN/u6uPQL -OvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZahSL0896+1DSJMwBGB7FY79tOi4lu3 -sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVICu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+C -GCe01a60y1Dma/RMhnEw6abfFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5 -WdYgGq/yapiqcrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E -FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8w -DQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9SCYPBMt -rFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+ -nq6PK7o9mfjYcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSg -tZx8jb8uk2IntznaFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwW -sRqZCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiKboHGhfKp -pC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmckejkk9u+UJueBPSZI9FoJA -zMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHq -ZJx64SIDqZxubw5lT2yHh17zbqD5daWbQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk52 -7RH89elWsn2/x20Kk4yl0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7I -LaZRfyHBNVOFBkpdn627G190 ------END CERTIFICATE----- - -USERTrust RSA Certification Authority -===================================== ------BEGIN CERTIFICATE----- -MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCBiDELMAkGA1UE -BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK -ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UE -BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQK -ExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNh -dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCAEmUXNg7D2wiz -0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2j -Y0K2dvKpOyuR+OJv0OwWIJAJPuLodMkYtJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFn -RghRy4YUVD+8M/5+bJz/Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O -+T23LLb2VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT79uq -/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6c0Plfg6lZrEpfDKE -Y1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmTYo61Zs8liM2EuLE/pDkP2QKe6xJM -lXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97lc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8 -yexDJtC/QV9AqURE9JnnV4eeUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+ -eLf8ZxXhyVeEHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd -BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF -MAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPFUp/L+M+ZBn8b2kMVn54CVVeW -FPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KOVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ -7l8wXEskEVX/JJpuXior7gtNn3/3ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQ -Eg9zKC7F4iRO/Fjs8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM -8WcRiQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYzeSf7dNXGi -FSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZXHlKYC6SQK5MNyosycdi -yA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9c -J2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGw -sAvgnEzDHNb842m1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gx -Q+6IHdfGjjxDah2nGN59PRbxYvnKkKj9 ------END CERTIFICATE----- - -USERTrust ECC Certification Authority -===================================== ------BEGIN CERTIFICATE----- -MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDELMAkGA1UEBhMC -VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU -aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMC -VVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU -aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlv -biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqfloI+d61SRvU8Za2EurxtW2 -0eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinngo4N+LZfQYcTxmdwlkWOrfzCjtHDix6Ez -nPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0GA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNV -HQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBB -HU6+4WMBzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbWRNZu -9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= ------END CERTIFICATE----- - -GlobalSign ECC Root CA - R4 -=========================== ------BEGIN CERTIFICATE----- -MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEkMCIGA1UECxMb -R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD -EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb -R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD -EwpHbG9iYWxTaWduMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprl -OQcJFspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAwDgYDVR0P -AQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M8k8o4TV -MAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGXkPoUVy0D7O48027KqGx2vKLeuwIgJ6iF -JzWbVsaj8kfSt24bAgAXqmemFZHe+pTsewv4n4Q= ------END CERTIFICATE----- - -GlobalSign ECC Root CA - R5 -=========================== ------BEGIN CERTIFICATE----- -MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEkMCIGA1UECxMb -R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD -EwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoXDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMb -R2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD -EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6 -SFkc8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8kehOvRnkmS -h5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd -BgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYIKoZIzj0EAwMDaAAwZQIxAOVpEslu28Yx -uglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7 -yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8fc74SrL+SvzZpA3 ------END CERTIFICATE----- - -Staat der Nederlanden Root CA - G3 -================================== ------BEGIN CERTIFICATE----- -MIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE -CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g -Um9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloXDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMC -TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l -ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4y -olQPcPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WWIkYFsO2t -x1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs21v0IJy -EavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFyKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3K -Tj215VKb8b475lRgsGYeCasH/lSJEULR9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUur -mkVLoR9BvUhTFXFkC4az5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU5 -1nus6+N86U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7Ngzp -07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHPbMk7ccHViLVlvMDo -FxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXtBznaqB16nzaeErAMZRKQFWDZJkBE -41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTtXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMB -AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleu -yjWcLhL75LpdINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD -U5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwpLiniyMMB8jPq -KqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf3YF3qKS9Ysr1YvY2WTxB1 -v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA -8KCWAg8zxXHzniN9lLf9OtMJgwYh/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b -8KKaa8MFSu1BYBQw0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0r -mj1AfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq4BZ+Extq -1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR1VmiiXTTn74eS9fGbbeI -JG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/QFH1T/U67cjF68IeHRaVesd+QnGTbksV -tzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM94B7IWcnMFk= ------END CERTIFICATE----- - -Staat der Nederlanden EV Root CA -================================ ------BEGIN CERTIFICATE----- -MIIFcDCCA1igAwIBAgIEAJiWjTANBgkqhkiG9w0BAQsFADBYMQswCQYDVQQGEwJOTDEeMBwGA1UE -CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSkwJwYDVQQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZW4g -RVYgUm9vdCBDQTAeFw0xMDEyMDgxMTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgxCzAJBgNVBAYTAk5M -MR4wHAYDVQQKDBVTdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTAnBgNVBAMMIFN0YWF0IGRlciBOZWRl -cmxhbmRlbiBFViBSb290IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA48d+ifkk -SzrSM4M1LGns3Amk41GoJSt5uAg94JG6hIXGhaTK5skuU6TJJB79VWZxXSzFYGgEt9nCUiY4iKTW -O0Cmws0/zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieSZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcwJu+r -0h8QoPnFfxZpgQNH7R5ojXKhTbImxrpsX23Wr9GxE46prfNeaXUmGD5BKyF/7otdBwadQ8QpCiv8 -Kj6GyzyDOvnJDdrFmeK8eEEzduG/L13lpJhQDBXd4Pqcfzho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV -XJrm0w912fxBmJc+qiXbj5IusHsMX/FjqTf5m3VpTCgmJdrV8hJwRVXj33NeN/UhbJCONVrJ0yPr -08C+eKxCKFhmpUZtcALXEPlLVPxdhkqHz3/KRawRWrUgUY0viEeXOcDPusBCAUCZSCELa6fS/ZbV -0b5GnUngC6agIk440ME8MLxwjyx1zNDFjFE7PZQIZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5Tnrmd -74K74bzickFbIZTTRTeU0d8JOV3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1vlPNOePqc7nvQDs/nx -fRN0Av+7oeX6AHkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMWgpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC -MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6rAJCYniT8qcwa -ivsnuL8wbqg7MA0GCSqGSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7aEAJSrR8kN0nbHhp8dB9O2tLsI -eK9p0gtJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1NOpEyVa/m6irn0F3H3zbPB+po3u2dfOWBfoqSmu -c0iH55vKbimhZF8ZE/euBhD/UcabTVUlT5OZEAFTdfETzsemQUHSv4ilf0X8rLiltTMMgsT7B/Zq -5SWEXwbKwYY5EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTxGfARKbalGAKb12NMcIxHowNDXLldRqAN -b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqNMVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9canaW2HNnh/tN -f1zuacpzEPuKqf2evTY4SUmH9A4U8OmHuD+nT3pajnnUk+S7aFKErGzp85hwVXIy+TSrK0m1zSBi -5Dp6Z2Orltxtrpfs/J92VoguZs9btsmksNcFuuEnL5O7Jiqik7Ab846+HUCjuTaPPoIaGl6I6lD4 -WeKDRikL40Rc4ZW2aZCaFG+XroHPaO+Zmr615+F/+PoTRxZMzG0IQOeLeG9QgkRQP2YGiqtDhFZK -DyAthg710tvSeopLzaXoTvFeJiUBWSOgftL2fiFX1ye8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqGy -eUN51q1veieQA6TqJIc/2b3Z6fJfUEkc7uzXLg== ------END CERTIFICATE----- - -IdenTrust Commercial Root CA 1 -============================== ------BEGIN CERTIFICATE----- -MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBKMQswCQYDVQQG -EwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBS -b290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQwMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzES -MBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENB -IDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld -hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU+ehcCuz/ -mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gpS0l4PJNgiCL8mdo2yMKi -1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1bVoE/c40yiTcdCMbXTMTEl3EASX2MN0C -XZ/g1Ue9tOsbobtJSdifWwLziuQkkORiT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl -3ZBWzvurpWCdxJ35UrCLvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzy -NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZKdHzV -WYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHTc+XvvqDtMwt0viAg -xGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hvl7yTmvmcEpB4eoCHFddydJxVdHix -uuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5NiGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMC -AQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZI -hvcNAQELBQADggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH -6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwtLRvM7Kqas6pg -ghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93nAbowacYXVKV7cndJZ5t+qnt -ozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmV -YjzlVYA211QC//G5Xc7UI2/YRYRKW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUX -feu+h1sXIFRRk0pTAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/ro -kTLql1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG4iZZRHUe -2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2yUPHGNiiskz -Z2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7R -cGzM7vRX+Bi6hG6H ------END CERTIFICATE----- - -IdenTrust Public Sector Root CA 1 -================================= ------BEGIN CERTIFICATE----- -MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBNMQswCQYDVQQG -EwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3Rv -ciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJV -UzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBS -b290IENBIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTy -P4o7ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGyRBb06tD6 -Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlSbdsHyo+1W/CD80/HLaXI -rcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF/YTLNiCBWS2ab21ISGHKTN9T0a9SvESf -qy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoS -mJxZZoY+rfGwyj4GD3vwEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFn -ol57plzy9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9VGxyh -LrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ2fjXctscvG29ZV/v -iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsVWaFHVCkugyhfHMKiq3IXAAaOReyL -4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8B -Af8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMw -DQYJKoZIhvcNAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj -t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A -mgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z1i9kKlT/YPyNt -GtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFt -m6/n6J91eEyrRjuazr8FGF1NFTwWmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMx -NRF4eKLg6TCMf4DfWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4 -Mhn5+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJtshquDDI -ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/lLQzfcaFpPz+vC -ZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ -3Wl9af0AVqW3rLatt8o+Ae+c ------END CERTIFICATE----- - -Entrust Root Certification Authority - G2 -========================================= ------BEGIN CERTIFICATE----- -MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMCVVMxFjAUBgNV -BAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVy -bXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ug -b25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIw -HhcNMDkwNzA3MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT -DUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMx -OTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25s -eTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP -/vaCeb9zYQYKpSfYs1/TRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXz -HHfV1IWNcCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hWwcKU -s/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1U1+cPvQXLOZprE4y -TGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0jaWvYkxN4FisZDQSA/i2jZRjJKRx -AgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ6 -0B7vfec7aVHUbI2fkBJmqzANBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5Z -iXMRrEPR9RP/jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ -Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v1fN2D807iDgi -nWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB428Hch0P+ -vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmHVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xO -e4pIb4tF9g== ------END CERTIFICATE----- - -Entrust Root Certification Authority - EC1 -========================================== ------BEGIN CERTIFICATE----- -MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkGA1UEBhMCVVMx -FjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVn -YWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXpl -ZCB1c2Ugb25seTEzMDEGA1UEAxMqRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5 -IC0gRUMxMB4XDTEyMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYw -FAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2Fs -LXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQg -dXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAt -IEVDMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHy -AsWfoPZb1YsGGYZPUxBtByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef -9eNi1KlHBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE -FLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVCR98crlOZF7ZvHH3h -vxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nXhTcGtXsI/esni0qU+eH6p44mCOh8 -kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G ------END CERTIFICATE----- - -CFCA EV ROOT -============ ------BEGIN CERTIFICATE----- -MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJDTjEwMC4GA1UE -CgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNB -IEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEw -MC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQD -DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnV -BU03sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpLTIpTUnrD -7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy5J35DN -uF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp7hZZLDRJGqgG16iI0gNyejLi6mhNbiyW -ZXvKWfry4t3uMCz7zEasxGPrb382KzRzEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7 -xzbh72fROdOXW3NiGUgthxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9f -py25IGvPa931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqotaK8K -gWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g60dWIol -hdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfVPKPtl8MeNPo4+QgO48BdK4PRVmrJ -tqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hvcWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAf -BgNVHSMEGDAWgBTj/i39KNALtbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB -/wQEAwIBBjAdBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB -ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObTej/tUxPQ4i9q -ecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdLjOztUmCypAbqTuv0axn96/Ua -4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBSESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sG -E5uPhnEFtC+NiWYzKXZUmhH4J/qyP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfX -BDrDMlI1Dlb4pd19xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjn -aH9dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN5mydLIhy -PDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe/v5WOaHIz16eGWRGENoX -kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C -ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su ------END CERTIFICATE----- - -Certinomis - Root CA -==================== ------BEGIN CERTIFICATE----- -MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjETMBEGA1UEChMK -Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAbBgNVBAMTFENlcnRpbm9taXMg -LSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMzMTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIx -EzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRD -ZXJ0aW5vbWlzIC0gUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQos -P5L2fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJflLieY6pOo -d5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQVWZUKxkd8aRi5pwP5ynap -z8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDFTKWrteoB4owuZH9kb/2jJZOLyKIOSY00 -8B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09x -RLWtwHkziOC/7aOgFLScCbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE -6OXWk6RiwsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJwx3t -FvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SGm/lg0h9tkQPTYKbV -PZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4F2iw4lNVYC2vPsKD2NkJK/DAZNuH -i5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZngWVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGj -YzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I -6tNxIqSSaHh02TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF -AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/0KGRHCwPT5iV -WVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWwF6YSjNRieOpWauwK0kDDPAUw -Pk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZSg081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAX -lCOotQqSD7J6wWAsOMwaplv/8gzjqh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJ -y29SWwNyhlCVCNSNh4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9 -Iff/ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8Vbtaw5Bng -DwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwjY/M50n92Uaf0yKHxDHYi -I0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nM -cyrDflOR1m749fPH0FFNjkulW+YZFzvWgQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVr -hkIGuUE= ------END CERTIFICATE----- - -OISTE WISeKey Global Root GB CA -=============================== ------BEGIN CERTIFICATE----- -MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBtMQswCQYDVQQG -EwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl -ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAw -MzJaFw0zOTEyMDExNTEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYD -VQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEds -b2JhbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3HEokKtaX -scriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGxWuR51jIjK+FTzJlFXHtP -rby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk -9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNku7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4o -Qnc/nSMbsrY9gBQHTC5P99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvg -GUpuuy9rM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB -/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZI -hvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrghcViXfa43FK8+5/ea4n32cZiZBKpD -dHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0 -VQreUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEui -HZeeevJuQHHfaPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic -Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= ------END CERTIFICATE----- - -SZAFIR ROOT CA2 -=============== ------BEGIN CERTIFICATE----- -MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQELBQAwUTELMAkG -A1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgNV -BAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJ -BgNVBAYTAlBMMSgwJgYDVQQKDB9LcmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYD -VQQDDA9TWkFGSVIgUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5Q -qEvNQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT3PSQ1hNK -DJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvTaE -2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr63fE9biCloBK0TXC5ztdyO4mTp4CEHCdJ -ckm1/zuVnsHMyAHs6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwi -ieDhZNRnvDF5YTy7ykHNXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0P -AQH/BAQDAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsFAAOC -AQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw8PRBEew/R40/cof5 -O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQw4rtTw/1zBLZpD67 -oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul -4+vJhaAlIDf7js4MNIThPIGyd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6 -+/NNIxuZMzSgLvWpCz/UXeHPhJ/iGcJfitYgHuNztw== ------END CERTIFICATE----- - -Certum Trusted Network CA 2 -=========================== ------BEGIN CERTIFICATE----- -MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCBgDELMAkGA1UE -BhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1 -bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29y -ayBDQSAyMCIYDzIwMTExMDA2MDgzOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQ -TDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENl -cnRpZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENB -IDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWADGSdhhuWZGc/IjoedQF9 -7/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+o -CgCXhVqqndwpyeI1B+twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40b -Rr5HMNUuctHFY9rnY3lEfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2p -uTRZCr+ESv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1mo130 -GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3WZ -9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyxtd9KXpEulKkKtVB -Rgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgezTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pye -hizKV/Ma5ciSixqClnrDvFASadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vM -BhBgu4M1t15n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZI -hvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQSZDe28cmk4gmb3DW -Al45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTfCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA -L55MYIR4PSFk1vtBHxgP58l1cb29XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMo -clm2q8KMZiYcdywmdjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tM -pkT/WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jbAoJnwTnb -w3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/ujmv5zMnHCnsZy4Ypo -J/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7a6bINDd82Kkhehnlt4Fj1F4jNy3eFm -ypnTycUm/Q1oBEauttmbjL4ZvrHG8hnjXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLX -is7VmFxWlgPF7ncGNf/P5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7 -zAYspsbiDrW5viSP ------END CERTIFICATE----- - -Hellenic Academic and Research Institutions RootCA 2015 -======================================================= ------BEGIN CERTIFICATE----- -MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcT -BkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0 -aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl -YXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAx -MTIxWjCBpjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMg -QWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNV -BAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9vdENBIDIw -MTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/G4n8PDwEXT2QNrCROnk8Zlrv -bTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+eh -iGsxr/CL0BgzuNtFajT0AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+ -6PAQZe104S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06CojXd -FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz82XBST3i4vTwr -i5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfgXy5I2XdGj2HUb4Ysn6npIQf1F -GQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2 -fu/Z8VFRfS0myGlZYeCsargqNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9mu -iNX6hME6wGkoLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc -Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNVHRMBAf8EBTAD -AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVdctA4GGqd83EkVAswDQYJKoZI -hvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+ -D1hYc2Ryx+hFjtyp8iY/xnmMsVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrM -d/K4kPFox/la/vot9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+y -d+2VZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/eaj8GsGsVn -82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnhX9izjFk0WaSrT2y7Hxjb -davYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7F -Jej6A7na+RZukYT1HCjI/CbM1xyQVqdfbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVt -J94Cj8rDtSvK6evIIVM4pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGa -JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0vm9q -p/UsQu0yrbYhnr68 ------END CERTIFICATE----- - -Hellenic Academic and Research Institutions ECC RootCA 2015 -=========================================================== ------BEGIN CERTIFICATE----- -MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzANBgNVBAcTBkF0 -aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9u -cyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj -aCBJbnN0aXR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEw -MzcxMlowgaoxCzAJBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmlj -IEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5MUQwQgYD -VQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0dXRpb25zIEVDQyBSb290 -Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKgQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVP -dJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJajq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoK -Vlp8aQuqgAkkbH7BRqNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O -BBYEFLQiC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaeplSTA -GiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJCA3sS61kFyjn -dc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR ------END CERTIFICATE----- - -ISRG Root X1 -============ ------BEGIN CERTIFICATE----- -MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE -BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD -EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG -EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT -DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r -Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1 -3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K -b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN -Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ -4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf -1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu -hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH -usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r -OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G -A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY -9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL -ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV -0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt -hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw -TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx -e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA -JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD -YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n -JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ -m+kXQ99b21/+jh5Xos1AnX5iItreGCc= ------END CERTIFICATE----- - -AC RAIZ FNMT-RCM -================ ------BEGIN CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT -AkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTAeFw0wODEw -MjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJD -TTEZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC -ggIBALpxgHpMhm5/yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcf -qQgfBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAzWHFctPVr -btQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaEAUwED653cXeuYL -j2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z374jNUUeAlz+taibmSXaXvMiwzn15Cou -08YfxGyqxRxqAQVKL9LFwag0Jl1mpdICIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mw -WsXmo8RZZUc1g16p6DULmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnT -tOmlcYF7wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peSMKGJ -47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2ZSysV4999AeU14EC -ll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMetUqIJ5G+GR4of6ygnXYMgrwTJbFaa -i0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE -FPd9xf3E6Jobd2Sn9R2gzL+HYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1o -dHRwOi8vd3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD -nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1RXxlDPiyN8+s -D8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ -j+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrT -Qfv6MooqtyuGC2mDOL7Nii4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW -+YJF1DngoABd15jmfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7 -Ixjp6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp1txyM/1d -8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B9kiABdcPUXmsEKvU7ANm -5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wokRqEIr9baRRmW1FMdW4R58MD3R++Lj8UG -rp1MYp3/RgT408m2ECVAdf4WqslKYIYvuu8wd+RU4riEmViAqhOLUTpPSPaLtrM= ------END CERTIFICATE----- - -Amazon Root CA 1 -================ ------BEGIN CERTIFICATE----- -MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsFADA5MQswCQYD -VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAxMB4XDTE1 -MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv -bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC -ggEBALJ4gHHKeNXjca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgH -FzZM9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qwIFAGbHrQ -gLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6VOujw5H5SNz/0egwLX0t -dHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L93FcXmn/6pUCyziKrlA4b9v7LWIbxcce -VOF34GfID5yHI9Y/QCB/IIDEgEw+OyQmjgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB -/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3 -DQEBCwUAA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDIU5PM -CCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUsN+gDS63pYaACbvXy -8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vvo/ufQJVtMVT8QtPHRh8jrdkPSHCa -2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2 -xJNDd2ZhwLnoQdeXeGADbkpyrqXRfboQnoZsG4q5WTP468SQvvG5 ------END CERTIFICATE----- - -Amazon Root CA 2 -================ ------BEGIN CERTIFICATE----- -MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwFADA5MQswCQYD -VQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAyMB4XDTE1 -MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpv -bjEZMBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC -ggIBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4 -kHbZW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg1dKmSYXp -N+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0Yiw9 -AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvd -fLC6HM783k81ds8P+HgfajZRRidhW+mez/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAEx -kv8LV/SasrlX6avvDXbR8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSS -btqDT6ZjmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz7Mt0 -Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6+XUyo05f7O0oYtlN -c/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i2BWSlmy5A5lREedCf+ -3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw -DPBMMPQFWAJI/TPlUq9LhONmUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oA -A7CXDpO8Wqj2LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY -+gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kSk5Nrp+gvU5LE -YFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMMne0nxrpS10gxdr9HIcW -xkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygmbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQ -gj9sAq+uEjonljYE1x2igGOpm/HlurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbW -aQbLU8uz/mtBzUF+fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoV -Yh63n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE76KlXIx3 -KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H9jVlpNMKVv/1F2Rs76gi -JUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT4PsJYGw= ------END CERTIFICATE----- - -Amazon Root CA 3 -================ ------BEGIN CERTIFICATE----- -MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5MQswCQYDVQQG -EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSAzMB4XDTE1MDUy -NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ -MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZB -f8ANm+gBG1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjr -Zt6jQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSrttvXBp43 -rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkrBqWTrBqYaGFy+uGh0Psc -eGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteMYyRIHN8wfdVoOw== ------END CERTIFICATE----- - -Amazon Root CA 4 -================ ------BEGIN CERTIFICATE----- -MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5MQswCQYDVQQG -EwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24gUm9vdCBDQSA0MB4XDTE1MDUy -NjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZ -MBcGA1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN -/sGKe0uoe0ZLY7Bi9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri -83BkM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV -HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WBMAoGCCqGSM49BAMDA2gA -MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1 -AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA== ------END CERTIFICATE----- - -LuxTrust Global Root 2 -====================== ------BEGIN CERTIFICATE----- -MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQELBQAwRjELMAkG -A1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNVBAMMFkx1eFRydXN0IEdsb2Jh -bCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUwMzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEW -MBQGA1UECgwNTHV4VHJ1c3QgUy5BLjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCC -AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wm -Kb3FibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTemhfY7RBi2 -xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1EMShduxq3sVs35a0VkBC -wGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsnXpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm -1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkm -FRseTJIpgp7VkoGSQXAZ96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niF -wpN6cj5mj5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4gDEa/ -a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+8kPREd8vZS9kzl8U -ubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2jX5t/Lax5Gw5CMZdjpPuKadUiDTSQ -MC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmHhFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB -/zBCBgNVHSAEOzA5MDcGByuBKwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5 -Lmx1eHRydXN0Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT -+Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQELBQADggIBAGoZ -FO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9BzZAcg4atmpZ1gDlaCDdLnIN -H2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTOjFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW -7MM3LGVYvlcAGvI1+ut7MV3CwRI9loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIu -ZY+kt9J/Z93I055cqqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWA -VWe+2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/JEAdemrR -TxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKrezrnK+T+Tb/mjuuqlPpmt -/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQfLSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc -7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31I -iyBMz2TWuJdGsE7RKlY6oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr ------END CERTIFICATE----- - -TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 -============================================= ------BEGIN CERTIFICATE----- -MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIxGDAWBgNVBAcT -D0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxpbXNlbCB2ZSBUZWtub2xvamlr -IEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0wKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24g -TWVya2V6aSAtIEthbXUgU00xNjA0BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRp -ZmlrYXNpIC0gU3VydW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYD -VQQGEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXllIEJpbGlt -c2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklUQUsxLTArBgNVBAsTJEth -bXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11 -IFNNIFNTTCBLb2sgU2VydGlmaWthc2kgLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEAr3UwM6q7a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y8 -6Ij5iySrLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INrN3wc -wv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2XYacQuFWQfw4tJzh0 -3+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23tPcLG07xxO9 -WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4fAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQU -ZT/HiobGPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJ -KoZIhvcNAQELBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh -AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPfIPP54+M638yc -lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5RXI4s6ehlj2R -e37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0j -q5Rm+K37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= ------END CERTIFICATE----- - -GDCA TrustAUTH R5 ROOT -====================== ------BEGIN CERTIFICATE----- -MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCQ04xMjAw -BgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8wHQYDVQQD -DBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVow -YjELMAkGA1UEBhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ -IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0B -AQEFAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJjDp6L3TQs -AlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBjTnnEt1u9ol2x8kECK62p -OqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+uKU49tm7srsHwJ5uu4/Ts765/94Y9cnrr -pftZTqfrlYwiOXnhLQiPzLyRuEH3FMEjqcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ -9Cy5WmYqsBebnh52nUpmMUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQ -xXABZG12ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloPzgsM -R6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3GkL30SgLdTMEZeS1SZ -D2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeCjGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4 -oR24qoAATILnsn8JuLwwoC8N9VKejveSswoAHQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx -9hoh49pwBiFYFIeFd3mqgnkCAwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlR -MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg -p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZmDRd9FBUb1Ov9 -H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5COmSdI31R9KrO9b7eGZONn35 -6ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ryL3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd -+PwyvzeG5LuOmCd+uh8W4XAR8gPfJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQ -HtZa37dG/OaG+svgIHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBD -F8Io2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV09tL7ECQ -8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQXR4EzzffHqhmsYzmIGrv -/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrqT8p+ck0LcIymSLumoRT2+1hEmRSuqguT -aaApJUqlyyvdimYHFngVV3Eb7PVHhPOeMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== ------END CERTIFICATE----- - -TrustCor RootCert CA-1 -====================== ------BEGIN CERTIFICATE----- -MIIEMDCCAxigAwIBAgIJANqb7HHzA7AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQYDVQQGEwJQQTEP -MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig -U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp -dHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0IENBLTEwHhcNMTYwMjA0MTIzMjE2WhcNMjkx -MjMxMTcyMzE2WjCBpDELMAkGA1UEBhMCUEExDzANBgNVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUGFu -YW1hIENpdHkxJDAiBgNVBAoMG1RydXN0Q29yIFN5c3RlbXMgUy4gZGUgUi5MLjEnMCUGA1UECwwe -VHJ1c3RDb3IgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYDVQQDDBZUcnVzdENvciBSb290Q2Vy -dCBDQS0xMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv463leLCJhJrMxnHQFgKq1mq -jQCj/IDHUHuO1CAmujIS2CNUSSUQIpidRtLByZ5OGy4sDjjzGiVoHKZaBeYei0i/mJZ0PmnK6bV4 -pQa81QBeCQryJ3pS/C3Vseq0iWEk8xoT26nPUu0MJLq5nux+AHT6k61sKZKuUbS701e/s/OojZz0 -JEsq1pme9J7+wH5COucLlVPat2gOkEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZGxdNuWxu72CVEY4h -gLW9oHPY0LJ3xEXqWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfOxGgMFZA6dWorWhnAbJN7+KIor0Gqw -/Hqi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ4EFgQU7mtJPHo/DeOxCbeKyKsZn3MzUOcwHwYDVR0j -BBgwFoAU7mtJPHo/DeOxCbeKyKsZn3MzUOcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC -AYYwDQYJKoZIhvcNAQELBQADggEBACUY1JGPE+6PHh0RU9otRCkZoB5rMZ5NDp6tPVxBb5UrJKF5 -mDo4Nvu7Zp5I/5CQ7z3UuJu0h3U/IJvOcs+hVcFNZKIZBqEHMwwLKeXx6quj7LUKdJDHfXLy11yf -ke+Ri7fc7Waiz45mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJBfiDcGrVmVCrDRZ9MZyonnMlo2HD6C -qFqTvsbQZJG2z9m2GM/bftJlo6bEjhcxwft+dtvTheNYsnd6djtsL1Ac59v2Z3kf9YKVmgenFK+P -3CghZwnS1k1aHBkcjndcw5QkPTJrS37UeJSDvjdNzl/HHk484IkzlQsPpTLWPFp5LBk= ------END CERTIFICATE----- - -TrustCor RootCert CA-2 -====================== ------BEGIN CERTIFICATE----- -MIIGLzCCBBegAwIBAgIIJaHfyjPLWQIwDQYJKoZIhvcNAQELBQAwgaQxCzAJBgNVBAYTAlBBMQ8w -DQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5MSQwIgYDVQQKDBtUcnVzdENvciBT -eXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29yIENlcnRpZmljYXRlIEF1dGhvcml0 -eTEfMB0GA1UEAwwWVHJ1c3RDb3IgUm9vdENlcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjNaFw0zNDEy -MzExNzI2MzlaMIGkMQswCQYDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5h -bWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5U -cnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHzAdBgNVBAMMFlRydXN0Q29yIFJvb3RDZXJ0 -IENBLTIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnIG7CKqJiJJWQdsg4foDSq8Gb -ZQWU9MEKENUCrO2fk8eHyLAnK0IMPQo+QVqedd2NyuCb7GgypGmSaIwLgQ5WoD4a3SwlFIIvl9Nk -RvRUqdw6VC0xK5mC8tkq1+9xALgxpL56JAfDQiDyitSSBBtlVkxs1Pu2YVpHI7TYabS3OtB0PAx1 -oYxOdqHp2yqlO/rOsP9+aij9JxzIsekp8VduZLTQwRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nKDOOb -XUm4TOJXsZiKQlecdu/vvdFoqNL0Cbt3Nb4lggjEFixEIFapRBF37120Hapeaz6LMvYHL1cEksr1 -/p3C6eizjkxLAjHZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHWKF3wP+TfSvPd9cW436cOGlfifHhi5q -jxLGhF5DUVCcGZt45vz27Ud+ez1m7xMTiF88oWP7+ayHNZ/zgp6kPwqcMWmLmaSISo5uZk3vFsQP -eSghYA2FFn3XVDjxklb9tTNMg9zXEJ9L/cb4Qr26fHMC4P99zVvh1Kxhe1fVSntb1IVYJ12/+Ctg -rKAmrhQhJ8Z3mjOAPF5GP/fDsaOGM8boXg25NSyqRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x74xdh -8N0JqSDIvgmk0H5Ew7IwSjiqqewYmgeCK9u4nBit2uBGF6zPXQIDAQABo2MwYTAdBgNVHQ4EFgQU -2f4hQG6UnrybPZx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2f4hQG6UnrybPZx9mCAZ5YwwYrIwDwYD -VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBAJ5Fngw7tu/h -Osh80QA9z+LqBrWyOrsGS2h60COXdKcs8AjYeVrXWoSK2BKaG9l9XE1wxaX5q+WjiYndAfrs3fnp -kpfbsEZC89NiqpX+MWcUaViQCqoL7jcjx1BRtPV+nuN79+TMQjItSQzL/0kMmx40/W5ulop5A7Zv -2wnL/V9lFDfhOPXzYRZY5LVtDQsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6ARppv9JYx1RXCI/hOWB3 -S6xZhBqI8d3LT3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+77Sxzq+3+knYaZH9bDTMJBzN7Bj8RpFxw -PIXAz+OQqIN3+tvmxYxoZxBnpVIt8MSZj3+/0WvitUfW2dCFmU2Umw9Lje4AWkcdEQOsQRivh7dv -DDqPys/cA8GiCcjl/YBeyGBCARsaU1q7N6a3vLqE6R5sGtRk2tRD/pOLS/IseRYQ1JMLiI+h2IYU -RpFHmygk71dSTlxCnKr3Sewn6EAes6aJInKc9Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/hCBcNANE -xdqtvArBAs8e5ZTZ845b2EzwnexhF7sUMlQMAimTHpKG9n/v55IFDlndmQguLvqcAFLTxWYp5KeX -RKQOKIETNcX2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05KnJe32x+SMsj/D1Fu1uwJ ------END CERTIFICATE----- - -TrustCor ECA-1 -============== ------BEGIN CERTIFICATE----- -MIIEIDCCAwigAwIBAgIJAISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAMIGcMQswCQYDVQQGEwJQQTEP -MA0GA1UECAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RDb3Ig -U3lzdGVtcyBTLiBkZSBSLkwuMScwJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBBdXRob3Jp -dHkxFzAVBgNVBAMMDlRydXN0Q29yIEVDQS0xMB4XDTE2MDIwNDEyMzIzM1oXDTI5MTIzMTE3Mjgw -N1owgZwxCzAJBgNVBAYTAlBBMQ8wDQYDVQQIDAZQYW5hbWExFDASBgNVBAcMC1BhbmFtYSBDaXR5 -MSQwIgYDVQQKDBtUcnVzdENvciBTeXN0ZW1zIFMuIGRlIFIuTC4xJzAlBgNVBAsMHlRydXN0Q29y -IENlcnRpZmljYXRlIEF1dGhvcml0eTEXMBUGA1UEAwwOVHJ1c3RDb3IgRUNBLTEwggEiMA0GCSqG -SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPj+ARtZ+odnbb3w9U73NjKYKtR8aja+3+XzP4Q1HpGjOR -MRegdMTUpwHmspI+ap3tDvl0mEDTPwOABoJA6LHip1GnHYMma6ve+heRK9jGrB6xnhkB1Zem6g23 -xFUfJ3zSCNV2HykVh0A53ThFEXXQmqc04L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9VOsZtRASqnKmc -p0yJF4OuowReUoCLHhIlERnXDH19MURB6tuvsBzvgdAsxZohmz3tQjtQJvLsznFhBmIhVE5/wZ0+ -fyCMgMsq2JdiyIMzkX2woloPV+g7zPIlstR8L+xNxqE6FXrntl019fZISjZFZtS6mFjBAgMBAAGj -YzBhMB0GA1UdDgQWBBREnkj1zG1I1KBLf/5ZJC+Dl5mahjAfBgNVHSMEGDAWgBREnkj1zG1I1KBL -f/5ZJC+Dl5mahjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF -AAOCAQEABT41XBVwm8nHc2FvcivUwo/yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsatR5Nj3B5+1t4u -/ukZMjgDfxT2AHMsWbEhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOuCYRLDE5D53sXOpZCz2HAF8P11F -hcCF5yWPldwX8zyfGm6wyuMdKulMY/okYWLW2n62HGz1Ah3UKt1VkOsqEUc8Ll50soIipX1TH0Xs -J5F95yIW6MBoNtjG8U+ARDL54dHRHareqKucBK+tIA5kmE2la8BIWJZpTdwHjFGTot+fDz2LYLSC -jaoITmJF4PkL0uDgPFveXHEnJcLmA4GLEFPjx1WitJ/X5g== ------END CERTIFICATE----- - -SSL.com Root Certification Authority RSA -======================================== ------BEGIN CERTIFICATE----- -MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMxDjAM -BgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24x -MTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYw -MjEyMTczOTM5WhcNNDEwMjEyMTczOTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx -EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NM -LmNvbSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcNAQEBBQAD -ggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2RxFdHaxh3a3by/ZPkPQ/C -Fp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aXqhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8 -P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcCC52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/ge -oeOy3ZExqysdBP+lSgQ36YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkp -k8zruFvh/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrFYD3Z -fBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93EJNyAKoFBbZQ+yODJ -gUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVcUS4cK38acijnALXRdMbX5J+tB5O2 -UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi8 -1xtZPCvM8hnIk2snYxnP/Okm+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4s -bE6x/c+cCbqiM+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV -HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4GA1UdDwEB/wQE -AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGVcpNxJK1ok1iOMq8bs3AD/CUr -dIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBcHadm47GUBwwyOabqG7B52B2ccETjit3E+ZUf -ijhDPwGFpUenPUayvOUiaPd7nNgsPgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAsl -u1OJD7OAUN5F7kR/q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjq -erQ0cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jra6x+3uxj -MxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90IH37hVZkLId6Tngr75qNJ -vTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/YK9f1JmzJBjSWFupwWRoyeXkLtoh/D1JI -Pb9s2KJELtFOt3JY04kTlf5Eq/jXixtunLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406y -wKBjYZC6VWg3dGq2ktufoYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NI -WuuA8ShYIc2wBlX7Jz9TkHCpBB5XJ7k= ------END CERTIFICATE----- - -SSL.com Root Certification Authority ECC -======================================== ------BEGIN CERTIFICATE----- -MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMCVVMxDjAMBgNV -BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xMTAv -BgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEy -MTgxNDAzWhcNNDEwMjEyMTgxNDAzWjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAO -BgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv -bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuBBAAiA2IA -BEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI7Z4INcgn64mMU1jrYor+ -8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPgCemB+vNH06NjMGEwHQYDVR0OBBYEFILR -hXMw5zUE044CkvvlpNHEIejNMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTT -jgKS++Wk0cQh6M0wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCW -e+0F+S8Tkdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+gA0z -5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl ------END CERTIFICATE----- - -SSL.com EV Root Certification Authority RSA R2 -============================================== ------BEGIN CERTIFICATE----- -MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNVBAYTAlVTMQ4w -DAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9u -MTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy -MB4XDTE3MDUzMTE4MTQzN1oXDTQyMDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQI -DAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYD -VQQDDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMIICIjAN -BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvqM0fNTPl9fb69LT3w23jh -hqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssufOePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7w -cXHswxzpY6IXFJ3vG2fThVUCAtZJycxa4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTO -Zw+oz12WGQvE43LrrdF9HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+ -B6KjBSYRaZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcAb9Zh -CBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQGp8hLH94t2S42Oim -9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQVPWKchjgGAGYS5Fl2WlPAApiiECto -RHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMOpgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+Slm -JuwgUHfbSguPvuUCYHBBXtSuUDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48 -+qvWBkofZ6aYMBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV -HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa49QaAJadz20Zp -qJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBWs47LCp1Jjr+kxJG7ZhcFUZh1 -++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nx -Y/hoLVUE0fKNsKTPvDxeH3jnpaAgcLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2G -guDKBAdRUNf/ktUM79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDz -OFSz/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXtll9ldDz7 -CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEmKf7GUmG6sXP/wwyc5Wxq -lD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKKQbNmC1r7fSOl8hqw/96bg5Qu0T/fkreR -rwU7ZcegbLHNYhLDkBvjJc40vG93drEQw/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1 -hlMYegouCRw2n5H9gooiS9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX -9hwJ1C07mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== ------END CERTIFICATE----- - -SSL.com EV Root Certification Authority ECC -=========================================== ------BEGIN CERTIFICATE----- -MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMCVVMxDjAMBgNV -BAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb24xNDAy -BgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYw -MjEyMTgxNTIzWhcNNDEwMjEyMTgxNTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMx -EDAOBgNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NM -LmNvbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB -BAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMAVIbc/R/fALhBYlzccBYy -3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1KthkuWnBaBu2+8KGwytAJKaNjMGEwHQYDVR0O -BBYEFFvKXuXe0oGqzagtZFG22XKbl+ZPMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe -5d7SgarNqC1kUbbZcpuX5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJ -N+vp1RPZytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZgh5Mm -m7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== ------END CERTIFICATE----- - -GlobalSign Root CA - R6 -======================= ------BEGIN CERTIFICATE----- -MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEgMB4GA1UECxMX -R2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkds -b2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQxMjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9i -YWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFs -U2lnbjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQss -grRIxutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1kZguSgMpE -3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxDaNc9PIrFsmbVkJq3MQbF -vuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJwLnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqM -PKq0pPbzlUoSB239jLKJz9CgYXfIWHSw1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+ -azayOeSsJDa38O+2HBNXk7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05O -WgtH8wY2SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/hbguy -CLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4nWUx2OVvq+aWh2IMP -0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpYrZxCRXluDocZXFSxZba/jJvcE+kN -b7gu3GduyYsRtYQUigAZcIN5kZeR1BonvzceMgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQE -AwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNV -HSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN -nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGtIxg93eFyRJa0 -lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr6155wsTLxDKZmOMNOsIeDjHfrY -BzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLjvUYAGm0CuiVdjaExUd1URhxN25mW7xocBFym -Fe944Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr -3TsTjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB1 -0jZpnOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfspA9MRf/T -uTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+vJJUEeKgDu+6B5dpffItK -oZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+t -JDfLRVpOoERIyNiwmcUVhAn21klJwGW45hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= ------END CERTIFICATE----- - -OISTE WISeKey Global Root GC CA -=============================== ------BEGIN CERTIFICATE----- -MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQswCQYDVQQGEwJD -SDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEo -MCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRa -Fw00MjA1MDkwOTU4MzNaMG0xCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQL -ExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh -bCBSb290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4nieUqjFqdr -VCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4Wp2OQ0jnUsYd4XxiWD1Ab -NTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAd -BgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7TrYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0E -AwMDaAAwZQIwJsdpW9zV57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtk -AjEA2zQgMgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 ------END CERTIFICATE----- - -GTS Root R1 -=========== ------BEGIN CERTIFICATE----- -MIIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM9CJuRz04TANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQG -EwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJv -b3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAG -A1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx -9vaMf/vo27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7wCl7r -aKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjwTcLCeoiKu7rPWRnW -r4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0PfyblqAj+lug8aJRT7oM6iCsVlgmy4HqM -LnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaHszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly -4cpk9+aCEI3oncKKiPo4Zor8Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr -06zqkUspzBmkMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92 -wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70paDPvOmbsB4om -3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrNVjzRlwW5y0vtOUucxD/SVRNu -JLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEM -BQADggIBADiWCu49tJYeX++dnAsznyvgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9FhHb8owbZEKTV1 -d5iyfNm9dKyKaOOpMQkpAWBz40d8U6iQSifvS9efk+eCNs6aaAyC58/UEBZvXw6ZXPYfcX3v73sv -fuo21pdwCxXu11xWajOl40k4DLh9+42FpLFZXvRq4d2h9mREruZRgyFmxhE+885H7pwoHyXa/6xm -ld01D1zvICxi/ZG6qcz8WpyTgYMpl0p8WnK0OdC3d8t5/Wk6kjftbjhlRn7pYL15iJdfOBL07q9b -gsiG1eGZbYwE8na6SfZu6W0eX6DvJ4J2QPim01hcDyxC2kLGe4g0x8HYRZvBPsVhHdljUEn2NIVq -4BjFbkerQUIpm/ZgDdIx02OYI5NaAIFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoOj0dzpqPJeaAcWEr -tXvM+SUWgeExX6GjfhaknBZqlxi9dnKlC54dNuYvoS++cJEPqOba+MSSQGwlfnuzCdyyF62ARPBo -pY+Udf90WuioAnwMCeKpSwughQtiue+hMZL77/ZRBIls6Kl0obsXs7X9SQ98POyDGCBDTtWTurQ0 -sR8WNh8M5mQ5Fkzc4P4dyKliPUDqysU0ArSuiYgzNdwsE3PYJ/HQcu51OyLemGhmW/HGY0dVHLql -CFF1pkgl ------END CERTIFICATE----- - -GTS Root R2 -=========== ------BEGIN CERTIFICATE----- -MIIFWjCCA0KgAwIBAgIQbkepxlqz5yDFMJo/aFLybzANBgkqhkiG9w0BAQwFADBHMQswCQYDVQQG -EwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJv -b3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAG -A1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTuk -k3LvCvptnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY6Dlo -7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAuMC6C/Pq8tBcKSOWI -m8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7kRXuJVfeKH2JShBKzwkCX44ofR5Gm -dFrS+LFjKBC4swm4VndAoiaYecb+3yXuPuWgf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbu -ak7MkogwTZq9TwtImoS1mKPV+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscsz -cTJGr61K8YzodDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RW -Ir9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKaG73Vululycsl -aVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCqgc7dGtxRcw1PcOnlthYhGXmy -5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD -VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEM -BQADggIBALZp8KZ3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x0Pg/B+E02NjO7jMyLDOfxA325BS0JT -vhaI8dI4XsRomRyYUpOM52jtG2pzegVATX9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiTz9D2PGcDFWEJ -+YF59exTpJ/JjwGLc8R3dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiApJiS4wGWAqoC7o87xdFtCjMw -c3i5T1QWvwsHoaRc5svJXISPD+AVdyx+Jn7axEvbpxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9SLA3Da -WsYDQvTtN6LwG1BUSw7YhN4ZKJmBR64JGz9I0cNv4rBgF/XuIwKl2gBbbZCr7qLpGzvpx0QnRY5r -n/WkhLx3+WuXrD5RRaIRpsyF7gpo8j5QOHokYh4XIDdtak23CZvJ/KRY9bb7nE4Yu5UC56Gtmwfu -Nmsk0jmGwZODUNKBRqhfYlcsu2xkiAhu7xNUX90txGdj08+JN7+dIPT7eoOboB6BAFDC5AwiWVIQ -7UNWhwD4FFKnHYuTjKJNRn8nxnGbJN7k2oaLDX5rIMHAnuFl2GqjpuiFizoHCBy69Y9Vmhh1fuXs -gWbRIXOhNUQLgD1bnF5vKheW0YMjiGZt5obicDIvUiLnyOd/xCxgXS/Dr55FBcOEArf9LAhST4Ld -o/DUhgkC ------END CERTIFICATE----- - -GTS Root R3 -=========== ------BEGIN CERTIFICATE----- -MIICDDCCAZGgAwIBAgIQbkepx2ypcyRAiQ8DVd2NHTAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJV -UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg -UjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE -ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUU -Rout736GjOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL24Cej -QjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTB8Sa6oC2uhYHP -0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEAgFukfCPAlaUs3L6JbyO5o91lAFJekazInXJ0 -glMLfalAvWhgxeG4VDvBNhcl2MG9AjEAnjWSdIUlUfUk7GRSJFClH9voy8l27OyCbvWFGFPouOOa -KaqW04MjyaR7YbPMAuhd ------END CERTIFICATE----- - -GTS Root R4 -=========== ------BEGIN CERTIFICATE----- -MIICCjCCAZGgAwIBAgIQbkepyIuUtui7OyrYorLBmTAKBggqhkjOPQQDAzBHMQswCQYDVQQGEwJV -UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3Qg -UjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UE -ChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcq -hkjOPQIBBgUrgQQAIgNiAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa -6zzuhXyiQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvRHYqj -QjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSATNbrdP9JNqPV -2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNnADBkAjBqUFJ0CMRw3J5QdCHojXohw0+WbhXRIjVhLfoI -N+4Zba3bssx9BzT1YBkstTTZbyACMANxsbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95LY2F45TPI11x -zPKwTdb+mciUqXWi4w== ------END CERTIFICATE----- - -UCA Global G2 Root -================== ------BEGIN CERTIFICATE----- -MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9MQswCQYDVQQG -EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBHbG9iYWwgRzIgUm9vdDAeFw0x -NjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0xCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlU -cnVzdDEbMBkGA1UEAwwSVUNBIEdsb2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8A -MIICCgKCAgEAxeYrb3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmT -oni9kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzmVHqUwCoV -8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/RVogvGjqNO7uCEeBHANBS -h6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDcC/Vkw85DvG1xudLeJ1uK6NjGruFZfc8o -LTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIjtm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/ -R+zvWr9LesGtOxdQXGLYD0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBe -KW4bHAyvj5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6DlNaBa -4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6iIis7nCs+dwp4wwc -OxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznPO6Q0ibd5Ei9Hxeepl2n8pndntd97 -8XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O -BBYEFIHEjMz15DD/pQwIX4wVZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo -5sOASD0Ee/ojL3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 -1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl1qnN3e92mI0A -Ds0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oUb3n09tDh05S60FdRvScFDcH9 -yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LVPtateJLbXDzz2K36uGt/xDYotgIVilQsnLAX -c47QN6MUPJiVAAwpBVueSUmxX8fjy88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHo -jhJi6IjMtX9Gl8CbEGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZk -bxqgDMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI+Vg7RE+x -ygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGyYiGqhkCyLmTTX8jjfhFn -RR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bXUB+K+wb1whnw0A== ------END CERTIFICATE----- - -UCA Extended Validation Root -============================ ------BEGIN CERTIFICATE----- -MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBHMQswCQYDVQQG -EwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9u -IFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMxMDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8G -A1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIi -MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrs -iWogD4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvSsPGP2KxF -Rv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aopO2z6+I9tTcg1367r3CTu -eUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dksHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR -59mzLC52LqGj3n5qiAno8geK+LLNEOfic0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH -0mK1lTnj8/FtDw5lhIpjVMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KR -el7sFsLzKuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/TuDv -B0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41Gsx2VYVdWf6/wFlth -WG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs1+lvK9JKBZP8nm9rZ/+I8U6laUpS -NwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQDfwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS -3H5aBZ8eNJr34RQwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQEL -BQADggIBADaNl8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR -ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQVBcZEhrxH9cM -aVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5c6sq1WnIeJEmMX3ixzDx/BR4 -dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb -+7lsq+KePRXBOy5nAliRn+/4Qh8st2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOW -F3sGPjLtx7dCvHaj2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwi -GpWOvpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2CxR9GUeOc -GMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmxcmtpzyKEC2IPrNkZAJSi -djzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbMfjKaiJUINlK73nZfdklJrX+9ZSCyycEr -dhh2n1ax ------END CERTIFICATE----- - -Certigna Root CA -================ ------BEGIN CERTIFICATE----- -MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAwWjELMAkGA1UE -BhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAwMiA0ODE0NjMwODEwMDAzNjEZ -MBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0xMzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjda -MFoxCzAJBgNVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYz -MDgxMDAwMzYxGTAXBgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4IC -DwAwggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sOty3tRQgX -stmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9MCiBtnyN6tMbaLOQdLNyz -KNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPuI9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8 -JXrJhFwLrN1CTivngqIkicuQstDuI7pmTLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16 -XdG+RCYyKfHx9WzMfgIhC59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq -4NYKpkDfePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3YzIoej -wpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWTCo/1VTp2lc5ZmIoJ -lXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1kJWumIWmbat10TWuXekG9qxf5kBdI -jzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp/ -/TBt2dzhauH8XwIDAQABo4IBGjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYw -HQYDVR0OBBYEFBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of -1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczovL3d3d3cuY2Vy -dGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilodHRwOi8vY3JsLmNlcnRpZ25h -LmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYraHR0cDovL2NybC5kaGlteW90aXMuY29tL2Nl -cnRpZ25hcm9vdGNhLmNybDANBgkqhkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOIt -OoldaDgvUSILSo3L6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxP -TGRGHVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH60BGM+RFq -7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncBlA2c5uk5jR+mUYyZDDl3 -4bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdio2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd -8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS -6Cvu5zHbugRqh5jnxV/vfaci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaY -tlu3zM63Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayhjWZS -aX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw3kAP+HwV96LOPNde -E4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= ------END CERTIFICATE----- diff --git a/tools/depends/target/p8-platform/0001-fix-c++17-support.patch b/tools/depends/target/p8-platform/0001-fix-c++17-support.patch new file mode 100644 index 0000000000..25fbe483fe --- /dev/null +++ b/tools/depends/target/p8-platform/0001-fix-c++17-support.patch @@ -0,0 +1,22 @@ +diff --git a/src/util/StringUtils.cpp b/src/util/StringUtils.cpp +index 510e2d5..3d25ba7 100644 +--- a/src/util/StringUtils.cpp ++++ b/src/util/StringUtils.cpp +@@ -453,7 +453,7 @@ static int isspace_c(char c) + + std::string& StringUtils::TrimLeft(std::string &str) + { +- str.erase(str.begin(), ::find_if(str.begin(), str.end(), ::not1(::ptr_fun(isspace_c)))); ++ str.erase(str.begin(), ::find_if(str.begin(), str.end(), [](char s) { return isspace_c(s) == 0; })); + return str; + } + +@@ -466,7 +466,7 @@ std::string& StringUtils::TrimLeft(std::string &str, const char* const chars) + + std::string& StringUtils::TrimRight(std::string &str) + { +- str.erase(::find_if(str.rbegin(), str.rend(), ::not1(::ptr_fun(isspace_c))).base(), str.end()); ++ str.erase(::find_if(str.rbegin(), str.rend(), [](char s) { return isspace_c(s) == 0; }).base(), str.end()); + return str; + } + diff --git a/tools/depends/target/p8-platform/Makefile b/tools/depends/target/p8-platform/Makefile index 257f7e0561..a6dd9b57f3 100644 --- a/tools/depends/target/p8-platform/Makefile +++ b/tools/depends/target/p8-platform/Makefile @@ -1,22 +1,23 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile 0001-fix-c++17-support.patch ../../download-files.include # lib name, version LIBNAME=p8-platform VERSION=2.1.0.1 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=10f8e3ca8ea7a48923a4cc57d47015b56b4bdbf78997ba77abd9fc2f929198fda16dfb869ba69eec393ab4b635be916c3ed9a07d6989bf8265aa055794e84bf7 +include ../../download-files.include LIBDYLIB=$(PLATFORM)/build/lib$(LIBNAME).a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); patch -p1 -i ../0001-fix-c++17-support.patch cd $(PLATFORM)/build; $(CMAKE) -DBUILD_SHARED_LIBS=0 -DCMAKE_INSTALL_LIBDIR=$(PREFIX)/lib .. $(LIBDYLIB): $(PLATFORM) @@ -31,4 +32,3 @@ clean: distclean:: rm -rf $(PLATFORM) .installed-$(PLATFORM) - diff --git a/tools/depends/target/pcre/001-all-cmakeconfig.patch b/tools/depends/target/pcre/001-all-cmakeconfig.patch new file mode 100644 index 0000000000..5babbdf597 --- /dev/null +++ b/tools/depends/target/pcre/001-all-cmakeconfig.patch @@ -0,0 +1,43 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -934,7 +934,7 @@ + # Installation + SET(CMAKE_INSTALL_ALWAYS 1) + +-INSTALL(TARGETS ${targets} ++INSTALL(TARGETS ${targets} EXPORT pcre + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +@@ -941,6 +941,27 @@ + + INSTALL(FILES ${PCRE_HEADERS} ${PCREPOSIX_HEADERS} DESTINATION include) + ++include(CMakePackageConfigHelpers) ++write_basic_package_version_file( ++ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake ++ VERSION ${PACKAGE_VERSION} ++ COMPATIBILITY AnyNewerVersion ++) ++ ++install(EXPORT pcre ++ NAMESPACE ++ ${PROJECT_NAME}:: ++ DESTINATION ++ lib/cmake/${PROJECT_NAME} ++) ++ ++install(FILES ++ ${CMAKE_CURRENT_SOURCE_DIR}/cmake/${PROJECT_NAME}-config.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake ++ DESTINATION ++ lib/cmake/${PROJECT_NAME} ++) ++ + FILE(GLOB html ${PROJECT_SOURCE_DIR}/doc/html/*.html) + FILE(GLOB man1 ${PROJECT_SOURCE_DIR}/doc/*.1) + FILE(GLOB man3 ${PROJECT_SOURCE_DIR}/doc/*.3) +--- /dev/null ++++ b/cmake/PCRE-config.cmake +@@ -0,0 +1 @@ ++include(${CMAKE_CURRENT_LIST_DIR}/pcre.cmake) diff --git a/tools/depends/target/pcre/002-all-enable_docs_pc.patch b/tools/depends/target/pcre/002-all-enable_docs_pc.patch new file mode 100644 index 0000000000..4848e2c783 --- /dev/null +++ b/tools/depends/target/pcre/002-all-enable_docs_pc.patch @@ -0,0 +1,21 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -980,14 +980,18 @@ + SET(man3 ${man3_new}) + ENDIF(PCRE_BUILD_PCRECPP) + ++if(ENABLE_DOCS) + INSTALL(FILES ${man1} DESTINATION man/man1) + INSTALL(FILES ${man3} DESTINATION man/man3) + INSTALL(FILES ${html} DESTINATION share/doc/pcre/html) ++endif() ++if(ENABLE_PKGCONFIG) + INSTALL(FILES ${pc} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/pcre-config" + DESTINATION bin + # Set 0755 permissions + PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) ++endif() + + IF(MSVC AND INSTALL_MSVC_PDB) + INSTALL(FILES ${PROJECT_BINARY_DIR}/pcre.pdb diff --git a/tools/depends/target/pcre/003-all-postfix.patch b/tools/depends/target/pcre/003-all-postfix.patch new file mode 100644 index 0000000000..bfa8ce344d --- /dev/null +++ b/tools/depends/target/pcre/003-all-postfix.patch @@ -0,0 +1,13 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -661,9 +661,7 @@ + SET(CMAKE_INCLUDE_CURRENT_DIR 1) + # needed to make sure to not link debug libs + # against release libs and vice versa +-IF(WIN32) +- SET(CMAKE_DEBUG_POSTFIX "d") +-ENDIF(WIN32) ++SET(CMAKE_DEBUG_POSTFIX "d") + + SET(targets) + diff --git a/tools/depends/target/pcre/004-win-pdb.patch b/tools/depends/target/pcre/004-win-pdb.patch new file mode 100644 index 0000000000..2815ca2559 --- /dev/null +++ b/tools/depends/target/pcre/004-win-pdb.patch @@ -0,0 +1,21 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -969,12 +969,14 @@ + PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + + IF(MSVC AND INSTALL_MSVC_PDB) +- INSTALL(FILES ${PROJECT_BINARY_DIR}/pcre.pdb +- ${PROJECT_BINARY_DIR}/pcreposix.pdb ++ INSTALL(FILES ${PROJECT_BINARY_DIR}/$<CONFIG>/pcre.pdb ++ ${PROJECT_BINARY_DIR}/$<CONFIG>/pcrecpp.pdb ++ ${PROJECT_BINARY_DIR}/$<CONFIG>/pcreposix.pdb + DESTINATION bin + CONFIGURATIONS RelWithDebInfo) +- INSTALL(FILES ${PROJECT_BINARY_DIR}/pcred.pdb +- ${PROJECT_BINARY_DIR}/pcreposixd.pdb ++ INSTALL(FILES ${PROJECT_BINARY_DIR}/$<CONFIG>/pcred.pdb ++ ${PROJECT_BINARY_DIR}/$<CONFIG>/pcrecppd.pdb ++ ${PROJECT_BINARY_DIR}/$<CONFIG>/pcreposixd.pdb + DESTINATION bin + CONFIGURATIONS Debug) + ENDIF(MSVC AND INSTALL_MSVC_PDB) diff --git a/tools/depends/target/pcre/Makefile b/tools/depends/target/pcre/Makefile index 8cd5323746..26fc932852 100644 --- a/tools/depends/target/pcre/Makefile +++ b/tools/depends/target/pcre/Makefile @@ -1,44 +1,58 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile tvos-bitcode-fix.patch jit_aarch64.patch ios-clear_cache.patch - -# lib name, version -LIBNAME=pcre -VERSION=8.42 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +include ../../Makefile.include PCRE-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile PCRE-VERSION ../../download-files.include \ + 001-all-cmakeconfig.patch \ + 002-all-enable_docs_pc.patch \ + 003-all-postfix.patch \ + 004-win-pdb.patch \ + jit_aarch64.patch \ + ios-clear_cache.patch \ + tvos-bitcode-fix.patch # configuration settings -CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; ./configure --prefix=$(PREFIX) \ - --disable-shared --disable-stack-for-recursion \ - --enable-pcre8 --disable-pcre16 --disable-pcre32 \ - --enable-jit --enable-utf --enable-unicode-properties \ - --enable-newline-is-anycrlf - - -LIBDYLIB=$(PLATFORM)/.libs/lib$(LIBNAME).a +CMAKE_OPTIONS=-DPCRE_NEWLINE=ANYCRLF \ + -DPCRE_NO_RECURSE=ON \ + -DPCRE_MATCH_LIMIT_RECURSION=1500 \ + -DPCRE_SUPPORT_JIT=ON \ + -DPCRE_SUPPORT_PCREGREP_JIT=ON \ + -DPCRE_SUPPORT_UTF=ON \ + -DPCRE_SUPPORT_UNICODE_PROPERTIES=ON \ + -DPCRE_SUPPORT_LIBZ=OFF \ + -DPCRE_SUPPORT_LIBBZ2=OFF \ + -DPCRE_BUILD_PCREGREP=OFF \ + -DPCRE_BUILD_TESTS=OFF \ + -DCMAKE_BUILD_TYPE=Release + +ifeq ($(OS),android) + # CMake CheckFunctionExists incorrectly detects strtoq for android + CMAKE_OPTIONS+= -DHAVE_STRTOQ=0 +endif + +LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) - rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); mkdir -p build + cd $(PLATFORM); patch -p1 -i ../001-all-cmakeconfig.patch + cd $(PLATFORM); patch -p1 -i ../002-all-enable_docs_pc.patch + cd $(PLATFORM); patch -p1 -i ../003-all-postfix.patch + cd $(PLATFORM); patch -p1 -i ../004-win-pdb.patch cd $(PLATFORM); patch -p1 -i ../tvos-bitcode-fix.patch cd $(PLATFORM); patch -p1 -i ../jit_aarch64.patch cd $(PLATFORM); patch -p1 -i ../ios-clear_cache.patch - cd $(PLATFORM); $(CONFIGURE) + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. $(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: - $(MAKE) -C $(PLATFORM) clean + $(MAKE) -C $(PLATFORM)/build clean rm -f .installed-$(PLATFORM) distclean:: diff --git a/tools/depends/target/pcre/PCRE-VERSION b/tools/depends/target/pcre/PCRE-VERSION new file mode 100644 index 0000000000..af533d2bc2 --- /dev/null +++ b/tools/depends/target/pcre/PCRE-VERSION @@ -0,0 +1,6 @@ +LIBNAME=pcre +VERSION=8.45 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2 +SHA512=91bff52eed4a2dfc3f3bfdc9c672b88e7e2ffcf3c4b121540af8a4ae8c1ce05178430aa6b8000658b9bb7b4252239357250890e20ceb84b79cdfcde05154061a +BYPRODUCT=libpcre.a +BYPRODUCT_WIN=pcre.lib diff --git a/tools/depends/target/pcre/ios-clear_cache.patch b/tools/depends/target/pcre/ios-clear_cache.patch index 75d5683912..53d83c0990 100644 --- a/tools/depends/target/pcre/ios-clear_cache.patch +++ b/tools/depends/target/pcre/ios-clear_cache.patch @@ -1,6 +1,6 @@ --- a/sljit/sljitConfigInternal.h +++ b/sljit/sljitConfigInternal.h -@@ -275,12 +275,16 @@ +@@ -279,12 +279,16 @@ #define SLJIT_API_FUNC_ATTRIBUTE #endif /* (defined SLJIT_CONFIG_STATIC && SLJIT_CONFIG_STATIC) */ diff --git a/tools/depends/target/pcre/jit_aarch64.patch b/tools/depends/target/pcre/jit_aarch64.patch index f69f4a6fd9..ce7a90504c 100644 --- a/tools/depends/target/pcre/jit_aarch64.patch +++ b/tools/depends/target/pcre/jit_aarch64.patch @@ -1,6 +1,6 @@ --- a/sljit/sljitConfigInternal.h +++ b/sljit/sljitConfigInternal.h -@@ -316,7 +316,7 @@ +@@ -320,7 +320,7 @@ #define SLJIT_CACHE_FLUSH(from, to) \ __builtin___clear_cache((char*)from, (char*)to) diff --git a/tools/depends/target/python3/Makefile b/tools/depends/target/python3/Makefile index 7ac1928538..6d9859a4ef 100644 --- a/tools/depends/target/python3/Makefile +++ b/tools/depends/target/python3/Makefile @@ -1,81 +1,81 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile apple.patch crosscompile.patch android.patch \ - fix-datetime.patch modules.setup darwin_embedded.patch android-nl_langinfo.patch +include ../../Makefile.include PYTHON3-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile PYTHON3-VERSION ../../download-files.include \ + apple.patch \ + crosscompile.patch \ + android.patch \ + darwin_embedded.patch \ + modules.setup -# lib name, version -LIBNAME=Python -VERSION=3.7.4 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.xz -BASE_URL=https://www.python.org/ftp/python/$(VERSION) - -ifeq ($(OS),osx) +ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin) HOSTPLATFORM=_PYTHON_HOST_PLATFORM="darwin" - LINK_ICONV=-framework CoreFoundation -liconv + LINK_ICONV=-liconv + ifeq ($(OS), darwin_embedded) + EXTRA_CONFIGURE=ac_cv_func_wait3=no ac_cv_func_wait4=no ac_cv_func_waitpid=no \ + ac_cv_func_execv=no ac_cv_func_fexecv=no ac_cv_func_getentropy=no \ + ac_cv_func_setpriority=no ac_cv_func_sendfile=no ac_cv_header_sched_h=no \ + ac_cv_func_posix_spawn=no ac_cv_func_posix_spawnp=no \ + ac_cv_func_forkpty=no ac_cv_lib_util_forkpty=no \ + ac_cv_func_getgroups=no + endif endif -ifeq ($(OS),darwin_embedded) - HOSTPLATFORM=_PYTHON_HOST_PLATFORM="darwin" - LINK_ICONV=-framework CoreFoundation -liconv + +ifeq ($(OS), linux) + EXTRA_CONFIGURE=ac_cv_pthread=yes endif # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) \ - --disable-shared \ - --without-ensurepip \ - --disable-framework --with-system-expat --with-system-ffi --without-pymalloc --enable-ipv6 + --disable-shared \ + --without-ensurepip \ + --disable-framework \ + --without-pymalloc \ + --enable-ipv6 \ + $(EXTRA_CONFIGURE) -LIBDYLIB=$(PLATFORM)/libpython3.7.a -all: .installed-$(PLATFORM) +LIBDYLIB=$(PLATFORM)/libpython$(PYTHON_VERSION).a -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) +all: .installed-$(PLATFORM) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../crosscompile.patch - cd $(PLATFORM); patch -p1 -i ../fix-datetime.patch cd $(PLATFORM); patch -p1 -i ../android.patch - cd $(PLATFORM); patch -p1 -i ../fix-ffi.patch - cd $(PLATFORM); patch -p1 -i ../android-nl_langinfo.patch cd $(PLATFORM); patch -p1 -i ../apple.patch ifeq ($(OS),darwin_embedded) cd $(PLATFORM); patch -p1 -i ../darwin_embedded.patch endif - cp modules.setup $(PLATFORM)/Modules/Setup.dist + cp modules.setup $(PLATFORM)/Modules/Setup #Add -liconv as needed, and add the _scproxy module for darwin # disable locale altogether for Android ifeq ($(OS),android) - cd $(PLATFORM); sed -ie 's|_locale _localemodule.c -lintl|#_locale _localemodule.c -lintl $(LINK_ICONV)|' Modules/Setup.dist -else - cd $(PLATFORM); sed -ie 's|_locale _localemodule.c -lintl|_locale _localemodule.c -lintl $(LINK_ICONV)|' Modules/Setup.dist + cd $(PLATFORM); sed -ie 's|_locale -DPy_BUILD_CORE_BUILTIN _localemodule.c -lintl \$$(LINK_ICONV)|#_locale -DPy_BUILD_CORE_BUILTIN _localemodule.c -lintl \$$(LINK_ICONV)|' Modules/Setup endif -ifeq ($(OS),osx) - echo "_scproxy \$$(srcdir)/Modules/_scproxy.c -framework SystemConfiguration -framework CoreFoundation" >> $(PLATFORM)/Modules/Setup.dist +ifeq ($(OS),linux) + # _posixshmem module requires librt for linux for SHM_OPEN/SHM_UNLINK + cd $(PLATFORM); sed -ie 's|# -lrt # _posixshmem|-lrt # _posixshmem|' Modules/Setup endif - -ifeq ($(OS),android) - cd $(PLATFORM); sed -ie 's|-framework CoreFoundation||' configure.ac +ifeq ($(OS),osx) + cd $(PLATFORM); sed -ie 's|\$$(OSX_SCPROXY)|_scproxy \$$(srcdir)/Modules/_scproxy.c -framework SystemConfiguration -framework CoreFoundation|' Modules/Setup endif cd $(PLATFORM); $(AUTORECONF) cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) $(HOSTPLATFORM) PYTHON_FOR_BUILD=$(NATIVEPREFIX)/bin/python3 NATIVE_PGEN=$(NATIVEPREFIX)/bin/pgen CROSS_COMPILE_TARGET=yes libpython3.7.a + $(MAKE) -C $(PLATFORM) $(HOSTPLATFORM) PYTHON_FOR_BUILD=$(NATIVEPREFIX)/bin/python3 CROSS_COMPILE_TARGET=yes libpython$(PYTHON_VERSION).a touch $@ .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) $(HOSTPLATFORM) PYTHON_FOR_BUILD=$(NATIVEPREFIX)/bin/python3 NATIVE_PGEN=$(NATIVEPREFIX)/bin/pgen CROSS_COMPILE_TARGET=yes install - # find $(PREFIX)/lib/python3.7 -type f -name "*.py" -delete - find $(PREFIX)/lib/python3.7 -type f -name "*.pyc" -delete + $(MAKE) -C $(PLATFORM) $(HOSTPLATFORM) PYTHON_FOR_BUILD=$(NATIVEPREFIX)/bin/python3 CROSS_COMPILE_TARGET=yes install + find $(PREFIX)/lib/python$(PYTHON_VERSION) -type f -name "*.pyc" -delete touch $(LIBDYLIB) touch $@ clean: - rm -rf $(PLATFORM) .installed-$(PLATFORM) + rm -rf .installed-$(PLATFORM) distclean:: rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/target/python3/PYTHON3-VERSION b/tools/depends/target/python3/PYTHON3-VERSION new file mode 100644 index 0000000000..5ebe12a1ab --- /dev/null +++ b/tools/depends/target/python3/PYTHON3-VERSION @@ -0,0 +1,5 @@ +LIBNAME=Python +VERSION=3.9.14 +SOURCE=$(LIBNAME)-$(VERSION) +ARCHIVE=$(SOURCE).tar.xz +SHA512=691a7814cf6c7bee96d8dbb7c5c85cb11f2e999101e20491b99435cdec07c3bbd5ce43ad3d9c64f695383b79197884caa1965c4346e4525e23b09c686271e4ab diff --git a/tools/depends/target/python3/android-nl_langinfo.patch b/tools/depends/target/python3/android-nl_langinfo.patch deleted file mode 100644 index c51581f06a..0000000000 --- a/tools/depends/target/python3/android-nl_langinfo.patch +++ /dev/null @@ -1,60 +0,0 @@ ---- a/Modules/_localemodule.c -+++ b/Modules/_localemodule.c -@@ -424,7 +424,7 @@ - } - #endif - --#ifdef HAVE_LANGINFO_H -+#if defined(HAVE_LANGINFO_H) && defined(HAVE_NL_LANGINFO) - #define LANGINFO(X) {#X, X} - static struct langinfo_constant{ - char* name; -@@ -690,7 +690,7 @@ - #if defined(MS_WINDOWS) - {"_getdefaultlocale", (PyCFunction) PyLocale_getdefaultlocale, METH_NOARGS}, - #endif --#ifdef HAVE_LANGINFO_H -+#if defined(HAVE_LANGINFO_H) && defined(HAVE_NL_LANGINFO) - {"nl_langinfo", (PyCFunction) PyLocale_nl_langinfo, - METH_VARARGS, nl_langinfo__doc__}, - #endif -@@ -730,7 +730,7 @@ - PyInit__locale(void) - { - PyObject *m; --#ifdef HAVE_LANGINFO_H -+#if defined(HAVE_LANGINFO_H) && defined(HAVE_NL_LANGINFO) - int i; - #endif - -@@ -758,7 +758,7 @@ - } - PyModule_AddObject(m, "Error", Error); - --#ifdef HAVE_LANGINFO_H -+#if defined(HAVE_LANGINFO_H) && defined(HAVE_NL_LANGINFO) - for (i = 0; langinfo_constants[i].name; i++) { - PyModule_AddIntConstant(m, langinfo_constants[i].name, - langinfo_constants[i].value); ---- a/Python/fileutils.c -+++ b/Python/fileutils.c -@@ -56,7 +56,7 @@ - has no console */ - if (cp != 0) - return PyUnicode_FromFormat("cp%u", (unsigned int)cp); --#elif defined(CODESET) -+#elif defined(HAVE_NL_LANGINFO) && defined(CODESET) - { - char *codeset = nl_langinfo(CODESET); - if (codeset != NULL && codeset[0] != 0) ---- a/configure.ac -+++ b/configure.ac -@@ -3554,7 +3554,7 @@ - if_nameindex \ - initgroups kill killpg lchown lockf linkat lstat lutimes mmap \ - memrchr mbrtowc mkdirat mkfifo \ -- mkfifoat mknod mknodat mktime mremap nice openat pathconf pause pipe2 plock poll \ -+ mkfifoat mknod mknodat mktime mremap nice nl_langinfo openat pathconf pause pipe2 plock poll \ - posix_fallocate posix_fadvise posix_spawn pread preadv preadv2 \ - pthread_init pthread_kill putenv pwrite pwritev pwritev2 readlink readlinkat readv realpath renameat \ - sem_open sem_timedwait sem_getvalue sem_unlink sendfile setegid seteuid \ diff --git a/tools/depends/target/python3/android.patch b/tools/depends/target/python3/android.patch index 3b95042565..0d72053d84 100644 --- a/tools/depends/target/python3/android.patch +++ b/tools/depends/target/python3/android.patch @@ -1,17 +1,6 @@ ---- a/Modules/pwdmodule.c -+++ b/Modules/pwdmodule.c -@@ -82,7 +82,7 @@ - #endif - PyStructSequence_SET_ITEM(v, setIndex++, _PyLong_FromUid(p->pw_uid)); - PyStructSequence_SET_ITEM(v, setIndex++, _PyLong_FromGid(p->pw_gid)); --#if defined(HAVE_STRUCT_PASSWD_PW_GECOS) -+#if defined(HAVE_STRUCT_PASSWD_PW_GECOS) && !defined(__ANDROID__) - SETS(setIndex++, p->pw_gecos); - #else - SETS(setIndex++, ""); --- a/Modules/termios.c +++ b/Modules/termios.c -@@ -224,6 +224,7 @@ +@@ -239,6 +239,7 @@ Py_RETURN_NONE; } @@ -19,7 +8,7 @@ PyDoc_STRVAR(termios_tcdrain__doc__, "tcdrain(fd) -> None\n\ \n\ -@@ -242,6 +243,7 @@ +@@ -257,6 +257,7 @@ Py_RETURN_NONE; } @@ -27,7 +16,7 @@ PyDoc_STRVAR(termios_tcflush__doc__, "tcflush(fd, queue) -> None\n\ -@@ -295,8 +297,10 @@ +@@ -310,8 +310,10 @@ METH_VARARGS, termios_tcsetattr__doc__}, {"tcsendbreak", termios_tcsendbreak, METH_VARARGS, termios_tcsendbreak__doc__}, diff --git a/tools/depends/target/python3/apple.patch b/tools/depends/target/python3/apple.patch index d87826f708..b6e529f3d3 100644 --- a/tools/depends/target/python3/apple.patch +++ b/tools/depends/target/python3/apple.patch @@ -1,33 +1,39 @@ ---- a/Modules/posixmodule.c -+++ b/Modules/posixmodule.c -@@ -113,6 +113,9 @@ - #include <sys/xattr.h> - #endif - -+#if defined(__APPLE__) && defined(_POSIX_C_SOURCE) -+#undef _POSIX_C_SOURCE -+#endif - #if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__APPLE__) - #ifdef HAVE_SYS_SOCKET_H - #include <sys/socket.h> --- a/configure.ac +++ b/configure.ac -@@ -2826,11 +2826,17 @@ - # pthread (first!) on Linux - AC_SEARCH_LIBS(sem_init, pthread rt posix4) - -+OLD_LIBS=$LIBS -+if test $ac_sys_system = darwin -+then -+ LIBS="$LIBS -framework CoreFoundation" -+fi -+ - # check if we need libintl for locale functions - AC_CHECK_LIB(intl, textdomain, - [AC_DEFINE(WITH_LIBINTL, 1, - [Define to 1 if libintl is needed for locale functions.]) -- LIBS="-lintl $LIBS"]) -+ LIBS="-lintl $LIBS"], LIBS=$OLD_LIBS) +@@ -400,6 +400,9 @@ + *-*-cygwin*) + ac_sys_system=Cygwin + ;; ++ *-*-darwin*) ++ ac_sys_system=Darwin ++ ;; + *-*-vxworks*) + ac_sys_system=VxWorks + ;; +@@ -449,6 +449,8 @@ + *-*-cygwin*) + _host_cpu= + ;; ++ *-*-darwin*) ++ ;; + *-*-vxworks*) + _host_cpu=$host_cpu + ;; +@@ -521,6 +521,8 @@ + define_xopen_source=no;; + Darwin/@<:@[12]@:>@@<:@0-9@:>@.*) + define_xopen_source=no;; ++ Darwin/*) ++ define_xopen_source=no;; + # On AIX 4 and 5.1, mbstate_t is defined only when _XOPEN_SOURCE == 500 but + # used in wcsnrtombs() and mbsnrtowcs() even if _XOPEN_SOURCE is not defined + # or has another value. By not (re)defining it, the defaults come in place. +@@ -2492,7 +2492,7 @@ + return 1; + } + } +- ]])],[ac_osx_32bit=yes],[ac_osx_32bit=no],[ac_osx_32bit=yes]) ++ ]])],[ac_osx_32bit=yes],[ac_osx_32bit=no],[ac_osx_32bit=no]) - # checks for system dependent C++ extensions support - case "$ac_sys_system" in + if test "${ac_osx_32bit}" = "yes"; then + case `/usr/bin/arch` in diff --git a/tools/depends/target/python3/crosscompile.patch b/tools/depends/target/python3/crosscompile.patch index 30668a8a7b..ac43131593 100644 --- a/tools/depends/target/python3/crosscompile.patch +++ b/tools/depends/target/python3/crosscompile.patch @@ -1,78 +1,6 @@ ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -38,7 +38,6 @@ - MAINCC= @MAINCC@ - LINKCC= @LINKCC@ - AR= @AR@ --READELF= @READELF@ - SOABI= @SOABI@ - LDVERSION= @LDVERSION@ - GITVERSION= @GITVERSION@ -@@ -295,7 +294,7 @@ - ########################################################################## - # Parser - PGEN= Parser/pgen$(EXE) -- -+PGEN_FOR_BUILD=$(NATIVE_PGEN) - POBJS= \ - Parser/acceler.o \ - Parser/grammar1.o \ -@@ -622,7 +621,7 @@ - $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build"; \ - $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ - _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \ -- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build -+ PYTHONXCPREFIX='$(DESTDIR)$(prefix)' $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build - - - # Build static library -@@ -1526,11 +1525,13 @@ - # Install the dynamically loadable modules - # This goes into $(exec_prefix) - sharedinstall: sharedmods -+ CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \ - $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ -+ --skip-build \ - --prefix=$(prefix) \ -- --install-scripts=$(BINDIR) \ -- --install-platlib=$(DESTSHARED) \ -- --root=$(DESTDIR)/ -+ --install-scripts=$(DESTDIR)$(BINDIR) \ -+ --install-platlib=$(DESTDIR)$(DESTSHARED) \ -+ --root=/ - -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py - -rm -r $(DESTDIR)$(DESTSHARED)/__pycache__ - --- a/configure.ac +++ b/configure.ac -@@ -379,10 +379,12 @@ - *-*-cygwin*) - ac_sys_system=Cygwin - ;; -+ *-*-darwin*) -+ ac_sys_system=darwin -+ ;; - *) - # for now, limit cross builds to known configurations - MACHDEP="unknown" -- AC_MSG_ERROR([cross build not supported for $host]) - esac - ac_sys_release= - else -@@ -423,10 +425,11 @@ - *-*-cygwin*) - _host_cpu= - ;; -+ *-*-darwin*) -+ ;; - *) - # for now, limit cross builds to known configurations - MACHDEP="unknown" -- AC_MSG_ERROR([cross build not supported for $host]) - esac - _PYTHON_HOST_PLATFORM="$MACHDEP${_host_cpu:+-$_host_cpu}" - fi -@@ -1200,16 +1203,6 @@ +@@ -1221,15 +1221,6 @@ ARFLAGS="rcs" fi @@ -85,36 +13,51 @@ - esac -fi -AC_SUBST(READELF) -- + case $MACHDEP in - hp*|HP*) +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -1695,10 +1695,11 @@ + # This goes into $(exec_prefix) + sharedinstall: sharedmods + $(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/setup.py install \ ++ --skip-build \ + --prefix=$(prefix) \ +- --install-scripts=$(BINDIR) \ +- --install-platlib=$(DESTSHARED) \ +- --root=$(DESTDIR)/ ++ --install-scripts=$(DESTDIR)$(BINDIR) \ ++ --install-platlib=$(DESTDIR)$(DESTSHARED) \ ++ --root=/ + -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py + -rm -r $(DESTDIR)$(DESTSHARED)/__pycache__ + --- a/setup.py +++ b/setup.py -@@ -16,7 +16,7 @@ - from distutils.command.build_scripts import build_scripts - from distutils.spawn import find_executable +@@ -41,7 +41,7 @@ --cross_compiling = "_PYTHON_HOST_PLATFORM" in os.environ -+cross_compiling = ("_PYTHON_HOST_PLATFORM" in os.environ) or ('CROSS_COMPILE_TARGET' in os.environ) - # Set common compiler and linker flags derived from the Makefile, - # reserved for building the interpreter and the stdlib modules. -@@ -268,6 +268,7 @@ + # Compile extensions used to test Python? +-TEST_EXTENSIONS = True ++TEST_EXTENSIONS = False - def build_extensions(self): + # This global variable is used to hold the list of modules to be disabled. + DISABLED_MODULE_LIST = [] +@@ -58,7 +58,7 @@ + return sys.platform -+ return - # Detect which modules should be compiled - missing = self.detect_modules() - -@@ -477,6 +478,9 @@ - # Don't try to load extensions for cross builds - if cross_compiling: -+ self.announce( -+ 'WARNING: skipping import check for cross-compiled: "%s"' % -+ ext.name) - return +-CROSS_COMPILING = ("_PYTHON_HOST_PLATFORM" in os.environ) ++CROSS_COMPILING = ("_PYTHON_HOST_PLATFORM" in os.environ) or ('CROSS_COMPILE_TARGET' in os.environ) + HOST_PLATFORM = get_platform() + MS_WINDOWS = (HOST_PLATFORM == 'win32') + CYGWIN = (HOST_PLATFORM == 'cygwin') +@@ -445,6 +445,7 @@ + self.compiler.set_executables(**args) - loader = importlib.machinery.ExtensionFileLoader(ext.name, ext_filename) + def build_extensions(self): ++ return + self.set_srcdir() + self.set_compiler_executables() + self.configure_compiler() diff --git a/tools/depends/target/python3/darwin_embedded.patch b/tools/depends/target/python3/darwin_embedded.patch index 094e7f112e..92c4f2d043 100644 --- a/tools/depends/target/python3/darwin_embedded.patch +++ b/tools/depends/target/python3/darwin_embedded.patch @@ -1,6 +1,6 @@ --- a/Lib/os.py +++ b/Lib/os.py -@@ -602,6 +602,7 @@ +@@ -605,6 +605,7 @@ fullname = path.join(dir, file) try: exec_func(fullname, *argrest) @@ -10,16 +10,7 @@ except OSError as e: --- a/Lib/platform.py +++ b/Lib/platform.py -@@ -781,7 +781,7 @@ - - """ Interface to the system's uname command. - """ -- if sys.platform in ('dos', 'win32', 'win16'): -+ if sys.platform in ('dos', 'win32', 'win16', 'darwin'): - # XXX Others too ? - return default - try: -@@ -804,7 +804,7 @@ +@@ -615,7 +615,7 @@ default in case the command should fail. """ @@ -27,10 +18,19 @@ + if sys.platform in ('dos', 'win32', 'win16', 'darwin'): # XXX Others too ? return default - target = _follow_symlinks(target) + --- a/Lib/subprocess.py +++ b/Lib/subprocess.py -@@ -851,6 +851,7 @@ +@@ -762,6 +762,8 @@ + pass_fds=(), *, user=None, group=None, extra_groups=None, + encoding=None, errors=None, text=None, umask=-1): + """Create new Popen instance.""" ++ raise RuntimeError("Subprocesses are not supported on this platform.") ++ + _cleanup() + # Held while anything is calling waitpid before returncode has been + # updated to prevent clobbering returncode if wait() or poll() are +@@ -1046,6 +1048,7 @@ if not self._child_created: # We didn't get to successfully create a child process. return @@ -38,7 +38,7 @@ if self.returncode is None: # Not reading subprocess exit status creates a zombie process which # is only destroyed at the parent python process exit -@@ -1394,6 +1395,7 @@ +@@ -1679,6 +1682,7 @@ else: args = list(args) @@ -46,15 +46,15 @@ if shell: # On Android the default shell is at '/system/bin/sh'. unix_shell = ('/system/bin/sh' if -@@ -1452,6 +1454,7 @@ - errpipe_read, errpipe_write, - restore_signals, start_new_session, preexec_fn) +@@ -1762,6 +1766,7 @@ + gid, gids, uid, umask, + preexec_fn) self._child_created = True + return finally: # be sure the FD is closed no matter what os.close(errpipe_write) -@@ -1480,6 +1483,7 @@ +@@ -1781,6 +1786,7 @@ finally: # be sure the FD is closed no matter what os.close(errpipe_read) @@ -62,9 +62,27 @@ if errpipe_data: try: +@@ -1834,7 +1840,7 @@ + else: + self.returncode = waitstatus_to_exitcode(sts) + +- def _internal_poll(self, _deadstate=None, _waitpid=os.waitpid, ++ def _internal_poll(self, _deadstate=None, _waitpid=None, + _WNOHANG=os.WNOHANG, _ECHILD=errno.ECHILD): + """Check if child process has terminated. Returns returncode + attribute. +@@ -1843,6 +1849,8 @@ + outside of the local scope (nor can any methods it calls). + + """ ++ if _waitpid is None: ++ _waitpid = os.waitpid + if self.returncode is None: + if not self._waitpid_lock.acquire(False): + # Something else is busy calling waitpid. Don't allow two --- a/Lib/urllib/request.py +++ b/Lib/urllib/request.py -@@ -2580,11 +2580,9 @@ +@@ -2617,11 +2617,9 @@ if sys.platform == 'darwin': @@ -77,7 +95,7 @@ def getproxies_macosx_sysconf(): """Return a dictionary of scheme -> proxy server URL mappings. -@@ -2592,7 +2590,7 @@ +@@ -2629,7 +2627,7 @@ This function uses the MacOSX framework SystemConfiguration to fetch the proxy information. """ @@ -86,7 +104,7 @@ -@@ -2605,9 +2603,9 @@ +@@ -2642,9 +2640,9 @@ """ proxies = getproxies_environment() if proxies: @@ -100,17 +118,17 @@ return getproxies_environment() or getproxies_macosx_sysconf() --- a/Modules/_posixsubprocess.c +++ b/Modules/_posixsubprocess.c -@@ -49,6 +49,9 @@ - - #define POSIX_CALL(call) do { if ((call) == -1) goto error; } while (0) +@@ -100,6 +100,9 @@ + return 0; + } +#if defined(__APPLE__) +#include <TargetConditionals.h> +#endif - /* If gc was disabled, call gc.enable(). Return 0 on success. */ + /* Convert ASCII to a positive int, no libc call. no overflow. -1 on error. */ static int -@@ -419,14 +422,14 @@ +@@ -456,14 +459,14 @@ goto error; /* Close parent's pipe ends. */ @@ -127,7 +145,7 @@ /* When duping fds, if there arises a situation where one of the fds is either 0, 1 or 2, it is possible that it is overwritten (#12607). */ if (c2pwrite == 0) { -@@ -471,6 +474,8 @@ +@@ -508,6 +511,8 @@ /* We no longer manually close p2cread, c2pwrite, and errwrite here as * _close_open_fds takes care when it is not already non-inheritable. */ @@ -136,7 +154,7 @@ if (cwd) POSIX_CALL(chdir(cwd)); -@@ -496,13 +501,13 @@ +@@ -552,13 +557,13 @@ errno = 0; /* We don't want to report an OSError. */ goto error; } @@ -152,7 +170,7 @@ } /* This loop matches the Lib/os.py _execvpe()'s PATH search when */ -@@ -511,20 +516,34 @@ +@@ -567,20 +572,34 @@ for (i = 0; exec_array[i] != NULL; ++i) { const char *executable = exec_array[i]; if (envp) { @@ -187,7 +205,12 @@ /* Report the posix error to our parent process. */ /* We ignore all write() return values as the total size of our writes is less than PIPEBUF and we cannot do anything about an error anyways. -@@ -683,7 +702,8 @@ +@@ -837,11 +856,12 @@ + preexec_fn_args_tuple = PyTuple_New(0); + if (!preexec_fn_args_tuple) + goto cleanup; +- PyOS_BeforeFork(); ++// PyOS_BeforeFork(); need_after_fork = 1; } @@ -197,91 +220,79 @@ if (pid == 0) { /* Child process */ /* +@@ -855,7 +875,7 @@ + * This call may not be async-signal-safe but neither is calling + * back into Python. The user asked us to use hope as a strategy + * to avoid deadlock... */ +- PyOS_AfterFork_Child(); ++// PyOS_AfterFork_Child(); + } + + child_exec(exec_array, argv, envp, cwd, +@@ -876,8 +896,8 @@ + + Py_XDECREF(cwd_obj2); + +- if (need_after_fork) +- PyOS_AfterFork_Parent(); ++// if (need_after_fork) ++// PyOS_AfterFork_Parent(); + if (envp) + _Py_FreeCharPArray(envp); + if (argv) --- a/Modules/getpath.c +++ b/Modules/getpath.c -@@ -593,8 +593,10 @@ - * will fail if a relative path was used. but in that case, - * absolutize() should help us out below - */ -- else if(0 == _NSGetExecutablePath(execpath, &nsexeclength) && -- execpath[0] == SEP) +@@ -935,8 +935,10 @@ + will fail if a relative path was used. but in that case, + absolutize() should help us out below + */ +- if (_NSGetExecutablePath(execpath, &nsexeclength) != 0 +- || (wchar_t)execpath[0] != SEP) + char *iospath = Py_GETENV("PYTHONHOME"); + char *prog = Py_GETENV("PYTHONEXECUTABLE"); + sprintf(execpath, "%s/bin/%s", iospath, prog); -+ if (execpath[0] == SEP) ++ if (execpath[0] != SEP) { - size_t len; - wchar_t *path = Py_DecodeLocale(execpath, &len); + /* _NSGetExecutablePath() failed or the path is relative */ + return _PyStatus_OK(); --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c -@@ -197,6 +197,19 @@ - #endif /* _MSC_VER */ +@@ -313,8 +313,8 @@ + # else + /* Unix functions that the configure script doesn't check for */ + # ifndef __VXWORKS__ +-# define HAVE_EXECV 1 +-# define HAVE_FORK 1 ++//# define HAVE_EXECV 0 ++//# define HAVE_FORK 0 + # if defined(__USLC__) && defined(__SCO_VERSION__) /* SCO UDK Compiler */ + # define HAVE_FORK1 1 + # endif +@@ -327,8 +327,8 @@ + # define HAVE_KILL 1 + # define HAVE_OPENDIR 1 + # define HAVE_PIPE 1 +-# define HAVE_SYSTEM 1 +-# define HAVE_WAIT 1 ++//# define HAVE_SYSTEM 0 ++//# define HAVE_WAIT 0 + # define HAVE_TTYNAME 1 + # endif /* _MSC_VER */ #endif /* ! __WATCOMC__ || __QNX__ */ +--- a/Include/intrcheck.h ++++ b/Include/intrcheck.h +@@ -7,13 +7,13 @@ -+# undef HAVE_EXECV -+# undef HAVE_FORK -+# undef HAVE_FORK1 -+# undef HAVE_FORKPTY -+# undef HAVE_GETGROUPS -+# undef HAVE_SCHED_H -+# undef HAVE_SENDFILE -+# undef HAVE_SETPRIORITY -+# undef HAVE_SPAWNV -+# undef HAVE_SYSTEM -+# undef HAVE_WAIT -+# undef HAVE_WAIT3 -+# undef HAVE_WAIT4 - - /*[clinic input] - # one of the few times we lie about this name! -@@ -475,6 +488,10 @@ - } + PyAPI_FUNC(int) PyOS_InterruptOccurred(void); + PyAPI_FUNC(void) PyOS_InitInterrupts(void); +-#ifdef HAVE_FORK ++//#ifdef HAVE_FORK + #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03070000 + PyAPI_FUNC(void) PyOS_BeforeFork(void); + PyAPI_FUNC(void) PyOS_AfterFork_Parent(void); + PyAPI_FUNC(void) PyOS_AfterFork_Child(void); #endif - -+void PyOS_BeforeFork(void){} -+void PyOS_AfterFork_Parent(void){} -+void PyOS_AfterFork_Child(void){} -+ - /* Legacy wrapper */ - void - PyOS_AfterFork(void) -@@ -5040,6 +5057,8 @@ - #endif - _Py_END_SUPPRESS_IPH - -+ Py_RETURN_NONE; -+ - /* If we get here it's definitely an error */ - - free_string_array(argvlist, argc); -@@ -5116,6 +5135,12 @@ - #endif - _Py_END_SUPPRESS_IPH - -+ while (--envc >= 0) -+ PyMem_DEL(envlist[envc]); -+ PyMem_DEL(envlist); -+ // iOS: we return now -+ Py_RETURN_NONE; -+ - /* If we get here it's definitely an error */ - - posix_path_error(path); -@@ -5416,7 +5441,7 @@ - pid_t pid; - - PyOS_BeforeFork(); -- pid = fork1(); -+ pid = -1; - if (pid == 0) { - /* child: this clobbers and resets the import lock. */ - PyOS_AfterFork_Child(); -@@ -5447,7 +5472,7 @@ - pid_t pid; - - PyOS_BeforeFork(); -- pid = fork(); -+ pid = -1; - if (pid == 0) { - /* child: this clobbers and resets the import lock. */ - PyOS_AfterFork_Child(); +-#endif ++//#endif + /* Deprecated, please use PyOS_AfterFork_Child() instead */ + Py_DEPRECATED(3.7) PyAPI_FUNC(void) PyOS_AfterFork(void); diff --git a/tools/depends/target/python3/fix-datetime.patch b/tools/depends/target/python3/fix-datetime.patch deleted file mode 100644 index 3dce1814d8..0000000000 --- a/tools/depends/target/python3/fix-datetime.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/Modules/_testcapimodule.c -+++ b/Modules/_testcapimodule.c -@@ -10,7 +10,13 @@ - #include "Python.h" - #include <float.h> - #include "structmember.h" -+#ifdef Py_BUILD_CORE -+#undef Py_BUILD_CORE - #include "datetime.h" -+#define Py_BUILD_CORE -+#else -+#include "datetime.h" -+#endif - #include "marshal.h" - #include <signal.h> - diff --git a/tools/depends/target/python3/fix-ffi.patch b/tools/depends/target/python3/fix-ffi.patch deleted file mode 100644 index 17c43ec40d..0000000000 --- a/tools/depends/target/python3/fix-ffi.patch +++ /dev/null @@ -1,51 +0,0 @@ ---- a/Modules/_ctypes/cfield.c -+++ b/Modules/_ctypes/cfield.c -@@ -1634,6 +1634,7 @@ - */ - - /* align and size are bogus for void, but they must not be zero */ -+/* - ffi_type ffi_type_void = { 1, 1, FFI_TYPE_VOID }; - - ffi_type ffi_type_uint8 = { 1, 1, FFI_TYPE_UINT8 }; -@@ -1650,14 +1651,15 @@ - - ffi_type ffi_type_float = { sizeof(float), FLOAT_ALIGN, FFI_TYPE_FLOAT }; - ffi_type ffi_type_double = { sizeof(double), DOUBLE_ALIGN, FFI_TYPE_DOUBLE }; -+*/ - - #ifdef ffi_type_longdouble - #undef ffi_type_longdouble - #endif -- /* This is already defined on OSX */ -+ /* This is already defined on OSX - ffi_type ffi_type_longdouble = { sizeof(long double), LONGDOUBLE_ALIGN, - FFI_TYPE_LONGDOUBLE }; - - ffi_type ffi_type_pointer = { sizeof(void *), VOID_P_ALIGN, FFI_TYPE_POINTER }; -- -+ */ - /*---------------- EOF ----------------*/ ---- a/Modules/_ctypes/malloc_closure.c -+++ b/Modules/_ctypes/malloc_closure.c -@@ -89,6 +89,7 @@ - /******************************************************************/ - - /* put the item back into the free list */ -+/* - void ffi_closure_free(void *p) - { - ITEM *item = (ITEM *)p; -@@ -96,7 +97,6 @@ - free_list = item; - } - --/* return one item from the free list, allocating more if needed */ - void *ffi_closure_alloc(size_t ignored, void** codeloc) - { - ITEM *item; -@@ -109,3 +109,4 @@ - *codeloc = (void *)item; - return (void *)item; - } -+*/ diff --git a/tools/depends/target/python3/modules.setup b/tools/depends/target/python3/modules.setup index f965baa4a1..a48241752b 100644 --- a/tools/depends/target/python3/modules.setup +++ b/tools/depends/target/python3/modules.setup @@ -1,14 +1,11 @@ # -*- makefile -*- # The file Setup is used by the makesetup script to construct the files # Makefile and config.c, from Makefile.pre and config.c.in, -# respectively. The file Setup itself is initially copied from -# Setup.dist; once it exists it will not be overwritten, so you can edit -# Setup to your heart's content. Note that Makefile.pre is created -# from Makefile.pre.in by the toplevel configure script. +# respectively. Note that Makefile.pre is created from Makefile.pre.in +# by the toplevel configure script. # (VPATH notes: Setup and Makefile.pre are in the build directory, as -# are Makefile and config.c; the *.in and *.dist files are in the source -# directory.) +# are Makefile and config.c; the *.in files are in the source directory.) # Each line in this file describes one or more optional modules. # Modules configured here will not be compiled by the setup.py script, @@ -64,15 +61,11 @@ # toplevel "make install" target.) (For compatibility, # *noconfig* has the same effect as *shared*.) # -# In addition, *static* explicitly declares the following modules to -# be static. Lines containing "*static*" and "*shared*" may thus -# alternate throughout this file. - # NOTE: As a standard policy, as many modules as can be supported by a # platform should be present. The distribution comes with all modules # enabled that are supported by most platforms and don't require you # to ftp sources from elsewhere. -*static* + # Some special rules to define PYTHONPATH. # Edit the definitions below to indicate which options you are using. @@ -108,39 +101,41 @@ PYTHONPATH=$(COREPYTHONPATH) # This only contains the minimal set of modules required to run the # setup.py script in the root of the Python source tree. -posix -DPy_BUILD_CORE posixmodule.c # posix (UNIX) system calls +posix -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal posixmodule.c # posix (UNIX) system calls errno errnomodule.c # posix (UNIX) errno values pwd pwdmodule.c # this is needed to find out the user's home dir # if $HOME is not set _sre _sre.c # Fredrik Lundh's new regular expressions _codecs _codecsmodule.c # access to the builtin codecs and codec registry _weakref _weakref.c # weak references -_functools -DPy_BUILD_CORE _functoolsmodule.c # Tools for working with functions and callable objects +_functools -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _functoolsmodule.c # Tools for working with functions and callable objects _operator _operator.c # operator.add() and similar goodies _collections _collectionsmodule.c # Container types -_abc _abc.c # Abstract base classes +_abc _abc.c -DPy_BUILD_CORE_MODULE # Abstract base classes itertools itertoolsmodule.c # Functions creating iterators for efficient looping atexit atexitmodule.c # Register functions to be run at interpreter-shutdown -_signal -DPy_BUILD_CORE signalmodule.c +_signal -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal signalmodule.c _stat _stat.c # stat.h interface -time -DPy_BUILD_CORE timemodule.c # -lm # time operations and variables -_thread -DPy_BUILD_CORE _threadmodule.c # low-level threading interface +time -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal timemodule.c # -lm # time operations and variables +_thread -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal _threadmodule.c # low-level threading interface # access to ISO C locale support -_locale _localemodule.c -lintl +_locale -DPy_BUILD_CORE_BUILTIN _localemodule.c -lintl $(LINK_ICONV) # Standard I/O baseline -_io -DPy_BUILD_CORE -I$(srcdir)/Modules/_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesio.c _io/bufferedio.c _io/textio.c _io/stringio.c - -# The zipimport module is always imported at startup. Having it as a -# builtin module avoids some bootstrapping problems and reduces overhead. -zipimport -DPy_BUILD_CORE zipimport.c +_io -DPy_BUILD_CORE_BUILTIN -I$(srcdir)/Include/internal -I$(srcdir)/Modules/_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesio.c _io/bufferedio.c _io/textio.c _io/stringio.c # faulthandler module faulthandler faulthandler.c # debug tool to trace memory blocks allocated by Python -_tracemalloc _tracemalloc.c hashtable.c +# +# bpo-35053: The module must be builtin since _Py_NewReference() +# can call _PyTraceMalloc_NewReference(). +_tracemalloc _tracemalloc.c + +# PEG-based parser module -- slated to be *the* parser +_peg_parser _peg_parser.c # The rest of the modules listed in this file are all commented out by # default. Usually they can be detected and built as dynamically @@ -174,22 +169,26 @@ _symtable symtablemodule.c # Modules that should always be present (non UNIX dependent): -array arraymodule.c # array objects -cmath cmathmodule.c _math.c # -lm # complex math library functions -math mathmodule.c _math.c # -lm # math library functions, e.g. sin() +array arraymodule.c -DPy_BUILD_CORE_MODULE # array objects +cmath cmathmodule.c _math.c -DPy_BUILD_CORE_MODULE # -lm # complex math library functions +math mathmodule.c _math.c -DPy_BUILD_CORE_MODULE # -lm # math library functions, e.g. sin() _contextvars _contextvarsmodule.c # Context Variables _struct _struct.c # binary structure packing/unpacking _weakref _weakref.c # basic weak reference support -_testcapi _testcapimodule.c # Python C API test module -_random _randommodule.c # Random number generator -_elementtree -I$(srcdir)/Modules/expat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c # elementtree accelerator -_pickle _pickle.c # pickle accelerator -_datetime _datetimemodule.c # datetime accelerator +#_testcapi _testcapimodule.c # Python C API test module +#_testinternalcapi _testinternalcapi.c -I$(srcdir)/Include/internal -DPy_BUILD_CORE_MODULE # Python internal C API test module +_random _randommodule.c -DPy_BUILD_CORE_MODULE # Random number generator +_elementtree -I$(prefix)/include -L$(prefix)/lib -lexpat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI _elementtree.c # elementtree accelerator +_pickle _pickle.c -DPy_BUILD_CORE_MODULE # pickle accelerator +_datetime _datetimemodule.c -DPy_BUILD_CORE_MODULE # datetime accelerator +_zoneinfo _zoneinfo.c -DPy_BUILD_CORE_MODULE # zoneinfo accelerator _bisect _bisectmodule.c # Bisection algorithms -_heapq _heapqmodule.c # Heap queue algorithm -_asyncio _asynciomodule.c # Fast asyncio Future +_heapq _heapqmodule.c -DPy_BUILD_CORE_MODULE # Heap queue algorithm +_asyncio _asynciomodule.c -DPy_BUILD_CORE_MODULE # Fast asyncio Future +_json -I$(srcdir)/Include/internal -DPy_BUILD_CORE_BUILTIN _json.c # _json speedups +_statistics _statisticsmodule.c # statistics accelerator -unicodedata unicodedata.c # static Unicode character database +unicodedata unicodedata.c -DPy_BUILD_CORE_MODULE # static Unicode character database # Modules with some UNIX dependencies -- on by default: @@ -212,14 +211,10 @@ _socket socketmodule.c # Socket module helper for SSL support; you must comment out the other # socket line above, and possibly edit the SSL variable: -SSLDEFINES='-DUSE_SSL' +SSL=$(prefix) _ssl _ssl.c \ - $(SSLDEFINES) -I$(prefix)/include -I$(prefix)/include/openssl \ - -L$(prefix)/lib -lssl -lcrypto - -_hashlib _hashopenssl.c \ - $(SSLDEFINES) -I$(prefix)/include -I$(prefix)/include/openssl \ - -L$(prefix)/lib -lssl -lcrypto + -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ + -L$(SSL)/lib -lssl -lcrypto # The crypt module is now disabled by default because it breaks builds # on many systems (where -lcrypt is needed), e.g. Linux (I believe). @@ -234,7 +229,7 @@ _hashlib _hashopenssl.c \ termios termios.c # Steen Lumholt's termios module resource resource.c # Jeremy Hylton's rlimit interface -_posixsubprocess _posixsubprocess.c # POSIX subprocess module helper +_posixsubprocess _posixsubprocess.c -DPy_BUILD_CORE_MODULE # POSIX subprocess module helper # Multimedia modules -- off by default. # These don't work for 64-bit platforms!!! @@ -256,13 +251,19 @@ _md5 md5module.c # The _sha module implements the SHA checksum algorithms. # (NIST's Secure Hash Algorithms.) _sha1 sha1module.c -_sha256 sha256module.c -_sha512 sha512module.c +_sha256 sha256module.c -DPy_BUILD_CORE_BUILTIN +_sha512 sha512module.c -DPy_BUILD_CORE_BUILTIN _sha3 _sha3/sha3module.c # _blake module _blake2 _blake2/blake2module.c _blake2/blake2b_impl.c _blake2/blake2s_impl.c +# _multiprocessing module +_multiprocessing _multiprocessing/multiprocessing.c _multiprocessing/semaphore.c + +# _posixshmem module does not run on android platform due to missing primitives shm_open/shm_unlink +_posixshmem _multiprocessing/posixshmem.c -I$(srcdir)/Modules/_multiprocessing # -lrt # _posixshmem + # The _tkinter module. # # The command for _tkinter is long and site specific. Please @@ -339,6 +340,8 @@ binascii binascii.c # Fred Drake's interface to the Python parser parser parsermodule.c +# profiling +_lsprof _lsprof.c rotatingtree.c -DPy_BUILD_CORE_MODULE # Andrew Kuchling's zlib module. # This require zlib 1.1.3 (or later). @@ -348,7 +351,7 @@ zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz # Interface to the Expat XML parser # More information on Expat can be found at www.libexpat.org. # -pyexpat pyexpat.c -I$(prefix)/include -L$(prefix)/lib -lexpat -DHAVE_EXPAT_CONFIG_H -DUSE_PYEXPAT_CAPI +pyexpat pyexpat.c -I$(prefix)/include -L$(prefix)/lib -lexpat -DHAVE_EXPAT_CONFIG_H -DXML_POOR_ENTROPY -DUSE_PYEXPAT_CAPI # Hye-Shik Chang's CJKCodecs @@ -375,10 +378,16 @@ _sqlite3 _sqlite/connection.c \ -I$(prefix)/include -L$(prefix)/lib -lsqlite3 $(SQLITEDEFINES) _ctypes _ctypes/callbacks.c _ctypes/callproc.c _ctypes/cfield.c _ctypes/_ctypes.c \ - _ctypes/malloc_closure.c _ctypes/stgdict.c \ + _ctypes/stgdict.c -DPy_BUILD_CORE_MODULE \ -I$(prefix)/include/ffi -L$(prefix)/lib -lffi -_queue _queuemodule.c +_queue _queuemodule.c -DPy_BUILD_CORE_MODULE + +_bz2 _bz2module.c -I$(prefix)/include -L$(prefix)/lib -lbz2 +_lzma _lzmamodule.c -I$(prefix)/include -L$(prefix)/lib -llzma + +# scproxy module only for osx +$(OSX_SCPROXY) # Uncommenting the following line tells makesetup that all following modules # are not built (see above for more detail). diff --git a/tools/depends/target/python3/no-abort.patch b/tools/depends/target/python3/no-abort.patch deleted file mode 100644 index e509c2d1e7..0000000000 --- a/tools/depends/target/python3/no-abort.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/Modules/posixmodule.c -+++ b/Modules/posixmodule.c -@@ -10365,7 +10365,7 @@ - os_abort_impl(PyObject *module) - /*[clinic end generated code: output=dcf52586dad2467c input=cf2c7d98bc504047]*/ - { -- abort(); -+ // abort(); - /*NOTREACHED*/ - Py_FatalError("abort() called from Python code didn't abort!"); - return NULL; ---- a/Python/pythonrun.c -+++ b/Python/pythonrun.c -@@ -1697,7 +1697,7 @@ - DebugBreak(); - #endif - #endif /* MS_WINDOWS */ -- abort(); -+ // abort(); - } - - /* Clean up and exit */ diff --git a/tools/depends/target/python3/setup.patch b/tools/depends/target/python3/setup.patch deleted file mode 100644 index 64968d413e..0000000000 --- a/tools/depends/target/python3/setup.patch +++ /dev/null @@ -1,74 +0,0 @@ ---- a/Modules/makesetup -+++ b/Modules/makesetup -@@ -212,6 +212,7 @@ - objs="$objs $obj" - case $src in - glmodule.c) ;; -+ # _*io.c) src='$(srcdir)/'"$srcdir/_io/$(echo $src| tr -d "_")";; - /*) ;; - \$*) ;; - *) src='$(srcdir)/'"$srcdir/$src";; ---- a/setup.py -+++ b/setup.py -@@ -337,6 +337,9 @@ - self.announce('WARNING: skipping import check for Cygwin-based "%s"' - % ext.name) - return -+ #if os.environ.get('CROSS_COMPILE_TARGET') == 'yes': -+ # return -+ - ext_filename = os.path.join( - self.build_lib, - self.get_ext_filename(self.get_ext_fullname(ext.name))) -@@ -351,27 +354,30 @@ - try: - imp.load_dynamic(ext.name, ext_filename) - except ImportError, why: -- self.failed.append(ext.name) -- self.announce('*** WARNING: renaming "%s" since importing it' -- ' failed: %s' % (ext.name, why), level=3) -- assert not self.inplace -- basename, tail = os.path.splitext(ext_filename) -- newname = basename + "_failed" + tail -- if os.path.exists(newname): -- os.remove(newname) -- os.rename(ext_filename, newname) -- -- # XXX -- This relies on a Vile HACK in -- # distutils.command.build_ext.build_extension(). The -- # _built_objects attribute is stored there strictly for -- # use here. -- # If there is a failure, _built_objects may not be there, -- # so catch the AttributeError and move on. -- try: -- for filename in self._built_objects: -- os.remove(filename) -- except AttributeError: -- self.announce('unable to remove files (ignored)') -+ if os.environ.get('CROSS_COMPILE_TARGET') != "yes": -+ self.failed.append(ext.name) -+ self.announce('*** WARNING: renaming "%s" since importing it' -+ ' failed: %s' % (ext.name, why), level=3) -+ assert not self.inplace -+ basename, tail = os.path.splitext(ext_filename) -+ newname = basename + "_failed" + tail -+ if os.path.exists(newname): -+ os.remove(newname) -+ os.rename(ext_filename, newname) -+ -+ # XXX -- This relies on a Vile HACK in -+ # distutils.command.build_ext.build_extension(). The -+ # _built_objects attribute is stored there strictly for -+ # use here. -+ # If there is a failure, _built_objects may not be there, -+ # so catch the AttributeError and move on. -+ try: -+ for filename in self._built_objects: -+ os.remove(filename) -+ except AttributeError: -+ self.announce('unable to remove files (ignored)') -+ else: -+ self.announce('WARNING: "%s" failed importing, ignored because we are cross-compiling' % ext.name) - except: - exc_type, why, tb = sys.exc_info() - self.announce('*** WARNING: importing extension "%s" ' diff --git a/tools/depends/target/pythonmodule-pil/Makefile b/tools/depends/target/pythonmodule-pil/Makefile index 07796ae807..a7b58a9c11 100644 --- a/tools/depends/target/pythonmodule-pil/Makefile +++ b/tools/depends/target/pythonmodule-pil/Makefile @@ -1,65 +1,79 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile pillow-crosscompile.patch +include ../../Makefile.include PYTHONMODULE-PIL-VERSION ../../download-files.include +DEPS= ../../Makefile.include Makefile PYTHONMODULE-PIL-VERSION ../../download-files.include pillow-crosscompile.patch -VERSION.TXT := $(CMAKE_SOURCE_DIR)/version.txt -APP_NAME=$(shell awk '/APP_NAME/ {print tolower($$2)}' $(VERSION.TXT)) +PYTHONPATH=$(PYTHON_SITE_PKG) +PILPATH=$(PYTHONPATH) +LDSHARED=$(CC) -shared -# lib name, version -LIBNAME=pillow -VERSION=3.0.0 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +# Clear pkg-config data, as it will pull from Native pkg-config incorrectly +ifeq ($(CROSS_COMPILING), yes) + export PKG_CONFIG_PATH= + export PKG_CONFIG_LIBDIR=${PREFIX}/lib/pkgconfig + export PKG_CONFIG_SYSROOT_DIR=${SDKROOT} +endif -CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS)" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/" ifeq ($(OS),android) -PILPATH=$(PREFIX)/share/$(APP_NAME)/addons/script.module.pil -CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS) -L$(PREFIX)/lib/dummy-lib$(APP_NAME)/ -l$(APP_NAME) -lm" PYTHONPATH="$(PILPATH):$(PREFIX)/lib/python3.7/site-packages/" + PILPATH=$(PREFIX)/share/$(APP_NAME)/addons/script.module.pil + PILPATHLIB=$(PILPATH)/lib + PYTHONPATH=$(PILPATH):$(PYTHON_SITE_PKG) + LDFLAGS+= -L$(PREFIX)/lib/dummy-lib$(APP_NAME)/ -l$(APP_NAME) -lm +else ifeq ($(OS),darwin_embedded) + PILPATH=$(PREFIX)/share/$(APP_NAME)/addons/script.module.pil + PILPATHLIB=$(PILPATH)/lib + PYTHONPATH=$(PILPATH):$(PYTHON_SITE_PKG) endif -ifeq (darwin, $(findstring darwin, $(HOST))) -ifeq ($(OS),darwin_embedded) -PYTHON_O=$(abs_top_srcdir)/target/python3/$(PLATFORM)/Programs/python.o -PILPATH=$(PREFIX)/share/$(APP_NAME)/addons/script.module.pil -endif -#ensure that only our target ldflags are passed to the python build -LDSHARED:=$(CC) -bundle -undefined dynamic_lookup $(LDFLAGS) -CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" CCSHARED="$(CC) $(CFLAGS) $(PYTHON_O)" LDFLAGS="$(LDFLAGS)" PYTHONPATH="$(PILPATH):$(PREFIX)/lib/python3.7/site-packages/" LDSHARED="$(LDSHARED)" +SED_FLAG=-i +ifeq (darwin, $(findstring darwin, $(BUILD))) + SED_FLAG=-i '' endif -LIBDYLIB=$(PLATFORM)/dist/Pillow-$(VERSION)-py3.7-$(OS)-$(CPU).egg -ifeq ($(OS),android) -LIBDYLIB=$(PREFIX)/share/$(APP_NAME)/addons/script.module.pil/lib/PIL/_imaging.so -else ifeq (darwin, $(findstring darwin, $(HOST))) -LIBDYLIB=$(PLATFORM)/dist/Pillow-$(VERSION)-py3.7-macosx-10.4-x86_64.egg +ifeq (darwin, $(findstring darwin, $(HOST))) + ifeq ($(CPU),arm64) + # Work around an issue with xcode 11 stripping -arch arm64 flags. + # Not required for xcode 12+, but doesnt hurt either. + CFLAGS+= -target arm64-apple-darwin + LDFLAGS+= -target arm64-apple-darwin + endif + + LDSHARED:=$(CC) -bundle -undefined dynamic_lookup $(LDFLAGS) + export ZLIB_ROOT=$(SDKROOT)/usr endif +BUILD_OPTS=--plat-name $(OS)-$(CPU) --disable-jpeg2000 --disable-webp --disable-imagequant --disable-tiff --disable-webp --disable-webpmux --disable-xcb --disable-lcms --disable-platform-guessing + +export CC CFLAGS +export PYTHONXINCLUDE=$(PREFIX)/include/python$(PYTHON_VERSION) +export LDSHARED LDFLAGS PYTHONPATH + all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../pillow-crosscompile.patch -$(LIBDYLIB): $(PLATFORM) - mkdir -p $(PLATFORM)/output - cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py build_ext --plat-name $(OS)-$(CPU) +$(PILPATHLIB): +ifeq ($(OS),android) + mkdir -p $(PILPATHLIB) +else ifeq ($(OS),darwin_embedded) + mkdir -p $(PILPATHLIB) +endif -.installed-$(PLATFORM): $(LIBDYLIB) +.installed-$(PLATFORM): $(PLATFORM) $(PILPATHLIB) + cd $(PLATFORM); $(NATIVEPREFIX)/bin/python3 setup.py build_ext $(BUILD_OPTS) install --install-lib $(PILPATH) ifeq ($(OS),android) - mkdir -p $(PREFIX)/share/$(APP_NAME)/addons/script.module.pil/lib - cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py install --install-lib $(PREFIX)/share/$(APP_NAME)/addons/script.module.pil - cd $(PREFIX)/share/$(APP_NAME)/addons/script.module.pil/lib && unzip -o ../Pillow-*.egg - cd $(PREFIX)/share/$(APP_NAME)/addons/script.module.pil && rm -rf Pillow-*.egg -else ifeq ($(TARGET_PLATFORM),appletvos) - mkdir -p $(PILPATH)/lib - cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py install --install-lib $(PILPATH) - cd $(PILPATH)/lib && unzip -o ../Pillow-*.egg + cd $(PILPATHLIB) && unzip -o ../Pillow-*.egg + cd $(PILPATHLIB)/PIL && \ + sed $(SED_FLAG) -e 's/import sys/import os, sys /' \ + -e '/__file__/ s/_imaging/lib_imaging/g' \ + -e 's/pkg_resources.resource_filename(__name__,/os.path.join(os.environ["KODI_ANDROID_LIBS"], /' \ + _imaging*.py + cd $(PILPATH) && rm -rf Pillow-*.egg +else ifeq ($(OS),darwin_embedded) + cd $(PILPATHLIB) && unzip -o ../Pillow-*.egg cd $(PILPATH) && rm -rf Pillow-*.egg -else - cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py install --prefix=$(PREFIX) endif touch $@ diff --git a/tools/depends/target/pythonmodule-pil/PYTHONMODULE-PIL-VERSION b/tools/depends/target/pythonmodule-pil/PYTHONMODULE-PIL-VERSION new file mode 100644 index 0000000000..9940c862f7 --- /dev/null +++ b/tools/depends/target/pythonmodule-pil/PYTHONMODULE-PIL-VERSION @@ -0,0 +1,4 @@ +LIBNAME=Pillow +VERSION=8.4.0 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=d395f69ccb37c52a3b6f45836700ffbc3173afae31848cc61d7b47db88ca1594541023beb9a14fd9067aca664e182c7d6e3300ab3e3095c31afe8dcbc6e08233 diff --git a/tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch b/tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch index cfd7a9f261..e42143131f 100644 --- a/tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch +++ b/tools/depends/target/pythonmodule-pil/pillow-crosscompile.patch @@ -1,8 +1,8 @@ --- a/setup.py +++ b/setup.py -@@ -156,6 +156,16 @@ - - _add_directory(include_dirs, "libImaging") +@@ -414,6 +414,19 @@ + if _cmd_exists(os.environ.get("PKG_CONFIG", "pkg-config")): + pkg_config = _pkg_config + compiler = os.environ.get('CC') + args = {} @@ -14,194 +14,9 @@ + args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags + self.compiler.set_executables(**args) + ++ self.compiler.include_dirs.clear() ++ self.compiler.include_dirs.append(os.environ.get('PYTHONXINCLUDE')) ++ # # add configured kits - -@@ -187,10 +197,11 @@ - for d in os.environ[k].split(os.path.pathsep): - _add_directory(library_dirs, d) - -- prefix = sysconfig.get_config_var("prefix") -+ prefix = os.environ.get('PYTHONXCPREFIX') - if prefix: - _add_directory(library_dirs, os.path.join(prefix, "lib")) - _add_directory(include_dirs, os.path.join(prefix, "include")) -+ _add_directory(include_dirs, os.path.join(prefix, "include/python3.7")) - - # - # add platform directories -@@ -202,14 +213,14 @@ - - elif sys.platform == "darwin": - # attempt to make sure we pick freetype2 over other versions -- _add_directory(include_dirs, "/sw/include/freetype2") -- _add_directory(include_dirs, "/sw/lib/freetype2/include") -+ #_add_directory(include_dirs, "/sw/include/freetype2") -+ #_add_directory(include_dirs, "/sw/lib/freetype2/include") - # fink installation directories -- _add_directory(library_dirs, "/sw/lib") -- _add_directory(include_dirs, "/sw/include") -+ #_add_directory(library_dirs, "/sw/lib") -+ #_add_directory(include_dirs, "/sw/include") - # darwin ports installation directories -- _add_directory(library_dirs, "/opt/local/lib") -- _add_directory(include_dirs, "/opt/local/include") -+ #_add_directory(library_dirs, "/opt/local/lib") -+ #_add_directory(include_dirs, "/opt/local/include") - - # if Homebrew is installed, use its lib and include directories - import subprocess -@@ -234,15 +245,15 @@ - _add_directory(library_dirs, os.path.join(ft_prefix, 'lib')) - _add_directory( - include_dirs, os.path.join(ft_prefix, 'include')) -- else: -+ #else: - # fall back to freetype from XQuartz if - # Homebrew's freetype is missing -- _add_directory(library_dirs, "/usr/X11/lib") -- _add_directory(include_dirs, "/usr/X11/include") -+ #_add_directory(library_dirs, "/usr/X11/lib") -+ #_add_directory(include_dirs, "/usr/X11/include") - - elif sys.platform.startswith("linux"): - arch_tp = (plat.processor(), plat.architecture()[0]) -- if arch_tp == ("x86_64", "32bit"): -+ if arch_tp == ("x86_64xxx", "32bit"): - # 32 bit build on 64 bit machine. - _add_directory(library_dirs, "/usr/lib/i386-linux-gnu") - else: -@@ -252,43 +263,43 @@ - continue - - if platform_ in ["x86_64", "64bit"]: -- _add_directory(library_dirs, "/lib64") -- _add_directory(library_dirs, "/usr/lib64") -- _add_directory( -- library_dirs, "/usr/lib/x86_64-linux-gnu") -+ #_add_directory(library_dirs, "/lib64") -+ #_add_directory(library_dirs, "/usr/lib64") -+ #_add_directory( -+ # library_dirs, "/usr/lib/x86_64-linux-gnu") - break - elif platform_ in ["i386", "i686", "32bit"]: -- _add_directory( -- library_dirs, "/usr/lib/i386-linux-gnu") -+ #_add_directory( -+ # library_dirs, "/usr/lib/i386-linux-gnu") - break - elif platform_ in ["aarch64"]: -- _add_directory(library_dirs, "/usr/lib64") -- _add_directory( -- library_dirs, "/usr/lib/aarch64-linux-gnu") -+ #_add_directory(library_dirs, "/usr/lib64") -+ #_add_directory( -+ # library_dirs, "/usr/lib/aarch64-linux-gnu") - break - elif platform_ in ["arm", "armv7l"]: -- _add_directory( -- library_dirs, "/usr/lib/arm-linux-gnueabi") -+ #_add_directory( -+ # library_dirs, "/usr/lib/arm-linux-gnueabi") - break - elif platform_ in ["ppc64"]: -- _add_directory(library_dirs, "/usr/lib64") -- _add_directory( -- library_dirs, "/usr/lib/ppc64-linux-gnu") -- _add_directory( -- library_dirs, "/usr/lib/powerpc64-linux-gnu") -+ #_add_directory(library_dirs, "/usr/lib64") -+ #_add_directory( -+ # library_dirs, "/usr/lib/ppc64-linux-gnu") -+ #_add_directory( -+ # library_dirs, "/usr/lib/powerpc64-linux-gnu") - break - elif platform_ in ["ppc"]: -- _add_directory(library_dirs, "/usr/lib/ppc-linux-gnu") -- _add_directory( -- library_dirs, "/usr/lib/powerpc-linux-gnu") -+ #_add_directory(library_dirs, "/usr/lib/ppc-linux-gnu") -+ #_add_directory( -+ # library_dirs, "/usr/lib/powerpc-linux-gnu") - break - elif platform_ in ["s390x"]: -- _add_directory(library_dirs, "/usr/lib64") -- _add_directory( -- library_dirs, "/usr/lib/s390x-linux-gnu") -+ #_add_directory(library_dirs, "/usr/lib64") -+ #_add_directory( -+ # library_dirs, "/usr/lib/s390x-linux-gnu") - break - elif platform_ in ["s390"]: -- _add_directory(library_dirs, "/usr/lib/s390-linux-gnu") -+ #_add_directory(library_dirs, "/usr/lib/s390-linux-gnu") - break - else: - raise ValueError( -@@ -297,18 +308,18 @@ - # XXX Kludge. Above /\ we brute force support multiarch. Here we - # try Barry's more general approach. Afterward, something should - # work ;-) -- self.add_multiarch_paths() -+ #self.add_multiarch_paths() - -- elif sys.platform.startswith("gnu"): -- self.add_multiarch_paths() -+ #elif sys.platform.startswith("gnu"): -+ # self.add_multiarch_paths() - -- elif sys.platform.startswith("netbsd"): -- _add_directory(library_dirs, "/usr/pkg/lib") -- _add_directory(include_dirs, "/usr/pkg/include") -+ #elif sys.platform.startswith("netbsd"): -+ #_add_directory(library_dirs, "/usr/pkg/lib") -+ #_add_directory(include_dirs, "/usr/pkg/include") - -- elif sys.platform.startswith("sunos5"): -- _add_directory(library_dirs, "/opt/local/lib") -- _add_directory(include_dirs, "/opt/local/include") -+ #elif sys.platform.startswith("sunos5"): -+ #_add_directory(library_dirs, "/opt/local/lib") -+ #_add_directory(include_dirs, "/opt/local/include") - - # FIXME: check /opt/stuff directories here? - -@@ -350,11 +361,11 @@ - _add_directory(include_dirs, tcl_dir) - - # standard locations -- _add_directory(library_dirs, "/usr/local/lib") -- _add_directory(include_dirs, "/usr/local/include") -+ #_add_directory(library_dirs, "/usr/local/lib") -+ #_add_directory(include_dirs, "/usr/local/include") - -- _add_directory(library_dirs, "/usr/lib") -- _add_directory(include_dirs, "/usr/include") -+ #_add_directory(library_dirs, "/usr/lib") -+ #_add_directory(include_dirs, "/usr/include") - - # on Windows, look for the OpenJPEG libraries in the location that - # the official installer puts them -@@ -389,12 +400,7 @@ - feature = self.feature - - if feature.want('zlib'): -- if _find_include_file(self, "zlib.h"): -- if _find_library_file(self, "z"): -- feature.zlib = "z" -- elif (sys.platform == "win32" and -- _find_library_file(self, "zlib")): -- feature.zlib = "zlib" # alternative name -+ feature.zlib = "z" - - if feature.want('jpeg'): - if _find_include_file(self, "jpeglib.h"): -@@ -552,7 +558,7 @@ - - if feature.freetype: - exts.append(Extension( -- "PIL._imagingft", ["_imagingft.c"], libraries=["freetype"])) -+ "PIL._imagingft", ["_imagingft.c"], libraries=["freetype", "bz2", "z"])) - - if os.path.isfile("_imagingtiff.c") and feature.tiff: - exts.append(Extension( + for root_name, lib_name in dict( diff --git a/tools/depends/target/pythonmodule-pycryptodome/Makefile b/tools/depends/target/pythonmodule-pycryptodome/Makefile index 759de0f3a6..d07459a03b 100644 --- a/tools/depends/target/pythonmodule-pycryptodome/Makefile +++ b/tools/depends/target/pythonmodule-pycryptodome/Makefile @@ -1,40 +1,40 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile 01-nosetuptool.patch 02-android-dlopen.patch 03-obey-crosscompileflags.patch +include ../../Makefile.include PYTHONMODULE-PYCRYPTODOME-VERSION ../../download-files.include +DEPS= ../../Makefile.include Makefile PYTHONMODULE-PYCRYPTODOME-VERSION ../../download-files.include \ + 01-nosetuptool.patch 02-android-dlopen.patch \ + 03-obey-crosscompileflags.patch -VERSION.TXT := $(CMAKE_SOURCE_DIR)/version.txt -APP_NAME=$(shell awk '/APP_NAME/ {print tolower($$2)}' $(VERSION.TXT)) +LDSHARED=$(CC) -shared -# lib name, version -LIBNAME=pycryptodome -VERSION=3.4.3 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz - -CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS)" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/" ifeq ($(OS),android) -CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS) -L$(PREFIX)/lib/dummy-lib$(APP_NAME)/ -l$(APP_NAME) -lm" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/" + LDFLAGS+= -L$(PREFIX)/lib/dummy-lib$(APP_NAME)/ -l$(APP_NAME) -lm endif ifeq (darwin, $(findstring darwin, $(HOST))) -ifeq ($(OS),darwin_embedded) -PYTHON_O=$(abs_top_srcdir)/target/python3/$(PLATFORM)/Programs/python.o -endif -#ensure that only our target ldflags are passed to the python build -LDSHARED:=$(CC) -bundle -undefined dynamic_lookup $(LDFLAGS) -CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" CCSHARED="$(CC) $(CFLAGS) $(PYTHON_O)" LDFLAGS="$(LDFLAGS)" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/" LDSHARED="$(LDSHARED)" + ifeq ($(CPU),arm64) + # Work around an issue with xcode 11 stripping -arch arm64 flags. + # Not required for xcode 12+, but doesnt hurt either. + CFLAGS+= -target arm64-apple-darwin + LDFLAGS+= -target arm64-apple-darwin + endif + LDSHARED:=$(CC) -bundle -undefined dynamic_lookup $(LDFLAGS) endif -LIBDYLIB=$(PLATFORM)/build/lib.$(OS)-$(CPU)-3.7/Cryptodome + +export CC CFLAGS +export LDSHARED LDFLAGS +export PYTHONPATH=$(PYTHON_SITE_PKG) + +LIBDYLIB=$(PLATFORM)/build/lib.$(OS)-$(CPU)-$(PYTHON_VERSION)/Cryptodome ifeq ($(NATIVE_OS), osx) - LIBDYLIB=$(PLATFORM)/build/lib.macosx-10.4-x86_64-3.7/Cryptodome + # this module will always recompile. currently the hardcoded 10.4 is incorrect + # and would need to be generated based on sdk version that we dont currently collect + LIBDYLIB=$(PLATFORM)/build/lib.macosx-10.4-$(CPU)-$(PYTHON_VERSION)/Cryptodome endif all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../01-nosetuptool.patch @@ -44,11 +44,10 @@ endif cd $(PLATFORM); patch -p1 -i ../03-obey-crosscompileflags.patch $(LIBDYLIB): $(PLATFORM) - mkdir -p $(PLATFORM)/output - cd $(PLATFORM); touch .separate_namespace && $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py build_ext --plat-name $(OS)-$(TARGET_ARCH) + cd $(PLATFORM); touch .separate_namespace && $(NATIVEPREFIX)/bin/python3 setup.py build_ext --plat-name $(OS)-$(CPU) .installed-$(PLATFORM): $(LIBDYLIB) - cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py install --prefix=$(PREFIX) + cd $(PLATFORM); $(NATIVEPREFIX)/bin/python3 setup.py install --prefix=$(PREFIX) touch $@ clean: diff --git a/tools/depends/target/pythonmodule-pycryptodome/PYTHONMODULE-PYCRYPTODOME-VERSION b/tools/depends/target/pythonmodule-pycryptodome/PYTHONMODULE-PYCRYPTODOME-VERSION new file mode 100644 index 0000000000..d87a73a248 --- /dev/null +++ b/tools/depends/target/pythonmodule-pycryptodome/PYTHONMODULE-PYCRYPTODOME-VERSION @@ -0,0 +1,4 @@ +LIBNAME=pycryptodome +VERSION=3.4.3 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=066ac92f8c4fc3aa4d2ba955d9e7665938c96b60ab516783a9446e718e2e9467f2411710d5ab203c8ae66945b1c0c3de2149d82d3f6f04e8517a57f82e20a879 diff --git a/tools/depends/target/pythonmodule-setuptools/Makefile b/tools/depends/target/pythonmodule-setuptools/Makefile index b629c42e97..9a9992f643 100644 --- a/tools/depends/target/pythonmodule-setuptools/Makefile +++ b/tools/depends/target/pythonmodule-setuptools/Makefile @@ -1,45 +1,16 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +include ../../Makefile.include PYTHONMODULE-SETUPTOOLS-VERSION ../../download-files.include +DEPS= ../../Makefile.include Makefile PYTHONMODULE-SETUPTOOLS-VERSION ../../download-files.include -VERSION.TXT := $(CMAKE_SOURCE_DIR)/version.txt -APP_NAME=$(shell awk '/APP_NAME/ {print tolower($$2)}' $(VERSION.TXT)) - -# lib name, version -LIBNAME=setuptools -VERSION=18.4 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz - -CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS)" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/" -ifeq ($(OS),android) -#PYTHONPATH=$(PREFIX)/share/$(APP_NAME)/addons/script.module.pil -CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS) -L$(PREFIX)/lib/dummy-lib$(APP_NAME)/ -l$(APP_NAME) -lm" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/" -endif -ifeq ($(OS),osx) -CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC)" LDSHARED="$(CC) -shared" LDFLAGS="$(LDFLAGS) -lpython" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/" -endif -ifeq ($(OS),darwin_embedded) -PYTHON_O=$(abs_top_srcdir)/target/python3/$(PLATFORM)/Programs/python.o -CROSSFLAGS=PYTHONXCPREFIX="$(PREFIX)" CC="$(CC) $(CFLAGS)" CCSHARED="$(CC) $(CFLAGS) $(PYTHON_O)" LDFLAGS="$(LDFLAGS)" PYTHONPATH="$(PREFIX)/lib/python3.7/site-packages/" -endif - -LIBDYLIB=$(PLATFORM)/dist/$(LIBNAME)-$(VERSION)-py3.7.egg +LIBDYLIB=$(PLATFORM)/dist/$(LIBNAME)-$(VERSION)-py$(PYTHON_VERSION).egg all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) -$(LIBDYLIB): $(PLATFORM) - mkdir -p $(PLATFORM)/output - cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py build_ext --plat-name $(OS)-$(CPU) - -.installed-$(PLATFORM): $(LIBDYLIB) - cd $(PLATFORM); $(CROSSFLAGS) $(NATIVEPREFIX)/bin/python3 setup.py install --prefix=$(PREFIX) +.installed-$(PLATFORM): $(PLATFORM) + cd $(PLATFORM); PYTHONPATH="$(PYTHON_SITE_PKG)" $(NATIVEPREFIX)/bin/python3 setup.py install --prefix=$(PREFIX) touch $@ clean: diff --git a/tools/depends/target/pythonmodule-setuptools/PYTHONMODULE-SETUPTOOLS-VERSION b/tools/depends/target/pythonmodule-setuptools/PYTHONMODULE-SETUPTOOLS-VERSION new file mode 100644 index 0000000000..195842b0fa --- /dev/null +++ b/tools/depends/target/pythonmodule-setuptools/PYTHONMODULE-SETUPTOOLS-VERSION @@ -0,0 +1,4 @@ +LIBNAME=setuptools +VERSION=53.0.0 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=d045198210f09c5f2acbd487d3dd291cd7ce814bebe331f1876c133cd28f56d368717c7bd4a875b439c9cc8c9488dc9a7d3e27ab791cce419f78b87fcfd8fff6 diff --git a/tools/depends/target/rapidjson/0001-remove_custom_cxx_flags.patch b/tools/depends/target/rapidjson/001-remove_custom_cxx_flags.patch index c923c76380..c923c76380 100644 --- a/tools/depends/target/rapidjson/0001-remove_custom_cxx_flags.patch +++ b/tools/depends/target/rapidjson/001-remove_custom_cxx_flags.patch diff --git a/tools/depends/target/rapidjson/002-cmake-removedocs-examples.patch b/tools/depends/target/rapidjson/002-cmake-removedocs-examples.patch new file mode 100644 index 0000000000..4bf06da59c --- /dev/null +++ b/tools/depends/target/rapidjson/002-cmake-removedocs-examples.patch @@ -0,0 +1,28 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -134,14 +134,17 @@ + COMPONENT pkgconfig) + ENDIF() + ++if(RAPIDJSON_BUILD_DOC) + install(FILES readme.md + DESTINATION "${DOC_INSTALL_DIR}" + COMPONENT doc) ++endif() + + install(DIRECTORY include/rapidjson + DESTINATION "${INCLUDE_INSTALL_DIR}" + COMPONENT dev) + ++if(RAPIDJSON_BUILD_EXAMPLES) + install(DIRECTORY example/ + DESTINATION "${DOC_INSTALL_DIR}/examples" + COMPONENT examples +@@ -150,6 +153,7 @@ + PATTERN "CMakeFiles" EXCLUDE + PATTERN "Makefile" EXCLUDE + PATTERN "cmake_install.cmake" EXCLUDE) ++endif() + + # Provide config and version files to be used by other applications + # =============================== diff --git a/tools/depends/target/rapidjson/003-win-arm64.patch b/tools/depends/target/rapidjson/003-win-arm64.patch new file mode 100644 index 0000000000..2d045dcaf6 --- /dev/null +++ b/tools/depends/target/rapidjson/003-win-arm64.patch @@ -0,0 +1,11 @@ +--- a/include/rapidjson/rapidjson.h ++++ b/include/rapidjson/rapidjson.h +@@ -236,7 +236,7 @@ + # define RAPIDJSON_ENDIAN RAPIDJSON_BIGENDIAN + # elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__) + # define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN +-# elif defined(_MSC_VER) && defined(_M_ARM) ++# elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_ARM64)) + # define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN + # elif defined(RAPIDJSON_DOXYGEN_RUNNING) + # define RAPIDJSON_ENDIAN diff --git a/tools/depends/target/rapidjson/Makefile b/tools/depends/target/rapidjson/Makefile index 0939ed5757..050f7eebc6 100644 --- a/tools/depends/target/rapidjson/Makefile +++ b/tools/depends/target/rapidjson/Makefile @@ -1,11 +1,8 @@ -include ../../Makefile.include -DEPS = Makefile 0001-remove_custom_cxx_flags.patch - -# lib name, version -LIBNAME=rapidjson -VERSION=1.1.0 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +include RAPIDJSON-VERSION +DEPS = Makefile RAPIDJSON-VERSION 001-remove_custom_cxx_flags.patch ../../download-files.include \ + 002-cmake-removedocs-examples.patch \ + 003-win-arm64.patch CMAKE_OPTIONS=-DRAPIDJSON_HAS_STDSTRING=ON -DRAPIDJSON_BUILD_DOC=OFF -DRAPIDJSON_BUILD_EXAMPLES=OFF -DRAPIDJSON_BUILD_TESTS=OFF -DRAPIDJSON_BUILD_THIRDPARTY_GTEST=OFF @@ -23,17 +20,19 @@ else RETRIEVE_TOOL_FLAGS := -Ls --create-dirs -f -O ARCHIVE_TOOL := tar ARCHIVE_TOOL_FLAGS := --strip-components=1 -xf + HASH_TOOL := sha512sum + HASH_TOOL_FLAGS = -c --status CMAKE := cmake CMAKE_OPTIONS := -DCMAKE_INSTALL_PREFIX=$(PREFIX) $(CMAKE_OPTIONS) endif endif +include ../../download-files.include + all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) ifeq ($(PREFIX),) @echo @echo "ERROR: please set PREFIX to the kodi install path e.g. $(MAKE) PREFIX=/usr/local" @@ -42,7 +41,9 @@ endif rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); rm -rf build; mkdir -p build - cd $(PLATFORM); patch -p1 -i ../0001-remove_custom_cxx_flags.patch + cd $(PLATFORM); patch -p1 -i ../001-remove_custom_cxx_flags.patch + cd $(PLATFORM); patch -p1 -i ../002-cmake-removedocs-examples.patch + cd $(PLATFORM); patch -p1 -i ../003-win-arm64.patch cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. .installed-$(PLATFORM): $(PLATFORM) diff --git a/tools/depends/target/rapidjson/RAPIDJSON-VERSION b/tools/depends/target/rapidjson/RAPIDJSON-VERSION new file mode 100644 index 0000000000..120e868fca --- /dev/null +++ b/tools/depends/target/rapidjson/RAPIDJSON-VERSION @@ -0,0 +1,4 @@ +LIBNAME=rapidjson +VERSION=1.1.0 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=2e82a4bddcd6c4669541f5945c2d240fb1b4fdd6e239200246d3dd50ce98733f0a4f6d3daa56f865d8c88779c036099c52a9ae85d47ad263686b68a88d832dff diff --git a/tools/depends/target/samba-gplv3/02-cross_compile.patch b/tools/depends/target/samba-gplv3/02-cross_compile.patch index a6dd9aa2ef..84b40289a1 100644 --- a/tools/depends/target/samba-gplv3/02-cross_compile.patch +++ b/tools/depends/target/samba-gplv3/02-cross_compile.patch @@ -1,6 +1,6 @@ --- a/buildtools/wafsamba/samba_autoconf.py +++ b/buildtools/wafsamba/samba_autoconf.py -@@ -319,7 +319,7 @@ +@@ -318,7 +318,7 @@ @conf @@ -9,7 +9,7 @@ '''check the size of a type''' for v in TO_LIST(vars): v_define = define -@@ -332,6 +332,7 @@ +@@ -331,6 +331,7 @@ define=v_define, quote=False, headers=headers, @@ -17,7 +17,7 @@ local_include=False, msg="Checking if size of %s == %d" % (v, size)): conf.DEFINE(v_define, size) -@@ -828,7 +829,6 @@ +@@ -841,7 +841,6 @@ for key in conf.env.define_key: conf.undefine(key, from_env=False) conf.env.define_key = [] @@ -68,7 +68,7 @@ return False --- a/buildtools/wafsamba/wscript +++ b/buildtools/wafsamba/wscript -@@ -302,7 +302,7 @@ +@@ -314,7 +314,7 @@ conf.CHECK_CODE('printf("hello world")', define='HAVE_SIMPLE_C_PROG', mandatory=True, @@ -77,18 +77,6 @@ headers='stdio.h', msg='Checking simple C program') ---- a/lib/replace/system/time.h -+++ b/lib/replace/system/time.h -@@ -74,9 +74,6 @@ - #endif - - #ifndef HAVE_CLOCK_GETTIME --/* CLOCK_REALTIME is required by POSIX */ --#define CLOCK_REALTIME 0 --typedef int clockid_t; - int rep_clock_gettime(clockid_t clk_id, struct timespec *tp); - #endif - /* make sure we have a best effort CUSTOM_CLOCK_MONOTONIC we can rely on. --- a/lib/replace/wscript +++ b/lib/replace/wscript @@ -37,6 +37,7 @@ @@ -96,10 +84,10 @@ conf.CHECK_HEADERS('acl/libacl.h attr/xattr.h compat.h ctype.h dustat.h') conf.CHECK_HEADERS('fcntl.h fnmatch.h glob.h history.h krb5.h langinfo.h') + conf.CHECK_FUNCS('nl_langinfo', headers='langinfo.h') - conf.CHECK_HEADERS('libaio.h locale.h ndir.h pwd.h') + conf.CHECK_HEADERS('locale.h ndir.h pwd.h') conf.CHECK_HEADERS('shadow.h sys/acl.h') conf.CHECK_HEADERS('sys/attributes.h attr/attributes.h sys/capability.h sys/dir.h sys/epoll.h') -@@ -679,7 +680,7 @@ +@@ -692,7 +692,7 @@ conf.CHECK_CODE('''#define LIBREPLACE_CONFIGURE_TEST_STRPTIME #include "tests/strptime.c"''', define='HAVE_WORKING_STRPTIME', @@ -108,7 +96,7 @@ addmain=False, msg='Checking for working strptime') -@@ -694,7 +695,7 @@ +@@ -707,7 +707,7 @@ conf.CHECK_CODE('#include "tests/snprintf.c"', define="HAVE_C99_VSNPRINTF", @@ -117,7 +105,7 @@ addmain=False, msg="Checking for C99 vsnprintf") -@@ -791,7 +792,7 @@ +@@ -804,7 +804,7 @@ exit(0); ''', define='HAVE_SECURE_MKSTEMP', @@ -126,7 +114,7 @@ mandatory=True) # lets see if we get a mandatory failure for this one # look for a method of finding the list of network interfaces -@@ -803,6 +804,7 @@ +@@ -816,6 +816,7 @@ #define %s 1 #define NO_CONFIG_H 1 #define AUTOCONF_TEST 1 @@ -134,7 +122,7 @@ #include "replace.c" #include "inet_ntop.c" #include "snprintf.c" -@@ -813,7 +815,7 @@ +@@ -826,7 +826,7 @@ method, lib='nsl socket' + bsd_for_strlcpy, addmain=False, @@ -167,7 +155,7 @@ enum protocol_types get_Protocol(void) --- a/source3/wscript +++ b/source3/wscript -@@ -137,7 +137,7 @@ +@@ -159,7 +159,7 @@ # Check for inotify support (Skip if we are SunOS) #NOTE: illumos provides sys/inotify.h but is not an exact match for linux @@ -176,7 +164,7 @@ if host_os.rfind('sunos') == -1: conf.CHECK_HEADERS('sys/inotify.h') if conf.env.HAVE_SYS_INOTIFY_H: -@@ -416,8 +416,8 @@ +@@ -481,8 +481,8 @@ # FIXME: these should be tests for features, but the old build system just # checks for OSes. @@ -187,7 +175,7 @@ # Python doesn't have case switches... :/ # FIXME: original was *linux* | gnu* | k*bsd*-gnu | kopensolaris*-gnu | *qnx*) -@@ -989,7 +989,7 @@ +@@ -1057,7 +1057,7 @@ ''', 'USE_SETREUID', addmain=False, @@ -196,7 +184,7 @@ msg="Checking whether setreuid is available") if not seteuid: seteuid = conf.CHECK_CODE(''' -@@ -1055,7 +1055,7 @@ +@@ -1123,7 +1123,7 @@ ''', 'HAVE_FCNTL_LOCK', addmain=False, @@ -269,7 +257,7 @@ /*@*/; --- a/wscript +++ b/wscript -@@ -153,7 +153,7 @@ +@@ -182,7 +182,7 @@ conf.SAMBA_CHECK_PYTHON() conf.SAMBA_CHECK_PYTHON_HEADERS() @@ -278,7 +266,7 @@ # Mac OSX needs to have this and it's also needed that the python is compiled with this # otherwise you face errors about common symbols if not conf.CHECK_SHLIB_W_PYTHON("Checking if -fno-common is needed"): -@@ -161,7 +161,7 @@ +@@ -190,7 +190,7 @@ if not conf.CHECK_SHLIB_W_PYTHON("Checking if -undefined dynamic_lookup is not need"): conf.env.append_value('cshlib_LINKFLAGS', ['-undefined', 'dynamic_lookup']) diff --git a/tools/depends/target/samba-gplv3/03-builtin-heimdal.patch b/tools/depends/target/samba-gplv3/03-builtin-heimdal.patch index 58449953cb..9767ca948b 100644 --- a/tools/depends/target/samba-gplv3/03-builtin-heimdal.patch +++ b/tools/depends/target/samba-gplv3/03-builtin-heimdal.patch @@ -1,6 +1,6 @@ --- a/lib/ldb/wscript +++ b/lib/ldb/wscript -@@ -518,10 +518,6 @@ +@@ -519,10 +519,6 @@ install=False) bld.SAMBA_BINARY('ldb_key_value_sub_txn_tdb_test', diff --git a/tools/depends/target/samba-gplv3/05-apple-disable-zlib-pkgconfig.patch b/tools/depends/target/samba-gplv3/05-apple-disable-zlib-pkgconfig.patch new file mode 100644 index 0000000000..97642ab5c8 --- /dev/null +++ b/tools/depends/target/samba-gplv3/05-apple-disable-zlib-pkgconfig.patch @@ -0,0 +1,11 @@ +--- a/wscript ++++ b/wscript +@@ -198,7 +198,7 @@ + + conf.CHECK_CFG(package='zlib', minversion='1.2.3', + args='--cflags --libs', +- mandatory=True) ++ mandatory=False) + conf.CHECK_FUNCS_IN('inflateInit2', 'z') + + if conf.CHECK_FOR_THIRD_PARTY(): diff --git a/tools/depends/target/samba-gplv3/06-apple-fix-st_atim.patch b/tools/depends/target/samba-gplv3/06-apple-fix-st_atim.patch new file mode 100644 index 0000000000..21b55af7bd --- /dev/null +++ b/tools/depends/target/samba-gplv3/06-apple-fix-st_atim.patch @@ -0,0 +1,48 @@ +--- a/source3/libsmb/libsmb_stat.c ++++ b/source3/libsmb/libsmb_stat.c +@@ -102,18 +102,18 @@ void setup_stat(struct stat *st, + } + + st->st_dev = dev; +- st->st_atim = access_time_ts; +- st->st_ctim = change_time_ts; +- st->st_mtim = write_time_ts; ++ st->st_atimespec = access_time_ts; ++ st->st_ctimespec = change_time_ts; ++ st->st_mtimespec = write_time_ts; + } + + void setup_stat_from_stat_ex(const struct stat_ex *stex, + const char *fname, + struct stat *st) + { +- st->st_atim = stex->st_ex_atime; +- st->st_ctim = stex->st_ex_ctime; +- st->st_mtim = stex->st_ex_mtime; ++ st->st_atimespec = stex->st_ex_atime; ++ st->st_ctimespec = stex->st_ex_ctime; ++ st->st_mtimespec = stex->st_ex_mtime; + + st->st_mode = stex->st_ex_mode; + st->st_size = stex->st_ex_size; +--- a/source4/torture/libsmbclient/libsmbclient.c ++++ b/source4/torture/libsmbclient/libsmbclient.c +@@ -1231,8 +1231,8 @@ static bool torture_libsmbclient_utimes(struct torture_context *tctx) + ret = smbc_fstat(fhandle, &st); + torture_assert_int_not_equal(tctx, ret, -1, "smbc_fstat failed"); + +- tbuf[0] = convert_timespec_to_timeval(st.st_atim); +- tbuf[1] = convert_timespec_to_timeval(st.st_mtim); ++ tbuf[0] = convert_timespec_to_timeval(st.st_atimespec); ++ tbuf[1] = convert_timespec_to_timeval(st.st_mtimespec); + + tbuf[1] = timeval_add(&tbuf[1], 0, 100000); /* 100 msec */ + +@@ -1244,7 +1244,7 @@ static bool torture_libsmbclient_utimes(struct torture_context *tctx) + + torture_assert_int_equal( + tctx, +- st.st_mtim.tv_nsec / 1000, ++ st.st_mtimespec.tv_nsec / 1000, + tbuf[1].tv_usec, + "smbc_utimes did not update msec"); diff --git a/tools/depends/target/samba-gplv3/Makefile b/tools/depends/target/samba-gplv3/Makefile index d046c25695..5c4765b81b 100644 --- a/tools/depends/target/samba-gplv3/Makefile +++ b/tools/depends/target/samba-gplv3/Makefile @@ -1,12 +1,13 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile 01-fix-dependencies.patch 02-cross_compile.patch 03-builtin-heimdal.patch 04-built-static.patch samba_android.patch no_fork_and_exec.patch crt_extensions.patch - -# lib name, version -LIBNAME=samba -VERSION=4.11.6 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +include ../../Makefile.include SAMBA-GPLV3-VERSION ../../download-files.include +DEPS= ../../Makefile.include Makefile SAMBA-GPLV3-VERSION ../../download-files.include \ + 01-fix-dependencies.patch 02-cross_compile.patch \ + 03-builtin-heimdal.patch 04-built-static.patch \ + 05-apple-disable-zlib-pkgconfig.patch 06-apple-fix-st_atim.patch \ + samba_android.patch \ + no_fork_and_exec.patch \ + crt_extensions.patch \ +# vfs_snapper requires dbus, so disable. CONFIGURE=./configure --prefix=$(PREFIX) \ --cross-compile --cross-answers=cross-answers.txt \ --without-cluster-support --without-ldap \ @@ -18,6 +19,7 @@ CONFIGURE=./configure --prefix=$(PREFIX) \ --without-utmp --disable-iprint \ --nopyc --nopyo \ --builtin-libraries=!smbclient,!smbd_base,!smbstatus,ALL \ + --with-shared-modules=!vfs_snapper \ --disable-python \ --disable-symbol-versions \ --without-json \ @@ -26,6 +28,25 @@ CONFIGURE=./configure --prefix=$(PREFIX) \ LIBDYLIB=$(PLATFORM)/bin/default/source3/libsmb/libsmbclient.a +ifeq ($(OS), darwin_embedded) + # build errors with _yp_get_default_domain NIS failure + CFLAGS+= -Wno-error=implicit-function-declaration +endif + +ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin) + # perlmodule-parseyapp install location for darwin host + PERLMODULE=$(NATIVEPREFIX)/lib/perl5/site_perl +else + ifeq ($(findstring -linux-, $(HOST)), -linux-) + # linux host installs to $NATIVEPREFIX/share with perl version as folder + # just do a find for the Parse folder to handle variable versions + location:=$(shell find $(NATIVEPREFIX)/share/ -type d -name Parse | sed 's|$(NATIVEPREFIX)/||' | sed 's|/Parse||') + PERLMODULE=$(NATIVEPREFIX)/$(location) + endif +endif + +export PERL5LIB:=$(PERLMODULE):$(PERL5LIB) + export CC CXX CPP AR RANLIB LD AS NM STRIP TOOLCHAIN export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS export HOST @@ -33,10 +54,7 @@ export PKG_CONFIG_LIBDIR=$(PREFIX)/lib/pkgconfig all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../01-fix-dependencies.patch @@ -50,15 +68,11 @@ ifeq ($(OS), darwin_embedded) cd $(PLATFORM); patch -p1 -i ../no_fork_and_exec.patch cd $(PLATFORM); patch -p1 -i ../crt_extensions.patch endif - cd $(PLATFORM); $(CONFIGURE) -ifeq (darwin, $(findstring darwin, $(HOST))) -ifneq ($(TARGET_PLATFORM),appletvos) - # clock_gettime is only available since macOS 10.12, iOS 10.0 and tvOS 10.0 - # build sytem doesn't include time.h for the check, - # so the version guards have no effect - sed -ie -E "s/#define (HAVE_(CLOCK_GETTIME|CLOCK_MONOTONIC|CLOCK_PROCESS_CPUTIME_ID|CLOCK_REALTIME)) 1/\/* #undef \1 *\//g" $(PLATFORM)/bin/default/include/config.h -endif +ifeq ($(findstring apple-darwin, $(HOST)), apple-darwin) + cd $(PLATFORM); patch -p1 -i ../05-apple-disable-zlib-pkgconfig.patch + cd $(PLATFORM); patch -p1 -i ../06-apple-fix-st_atim.patch endif + cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) cd $(PLATFORM); WAF_MAKE=1 ./buildtools/bin/waf --targets=smbclient diff --git a/tools/depends/target/samba-gplv3/SAMBA-GPLV3-VERSION b/tools/depends/target/samba-gplv3/SAMBA-GPLV3-VERSION new file mode 100644 index 0000000000..57d2c983bf --- /dev/null +++ b/tools/depends/target/samba-gplv3/SAMBA-GPLV3-VERSION @@ -0,0 +1,4 @@ +LIBNAME=samba +VERSION=4.13.17 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=3f47cc588c370510a11a1d5dc1a9f64872d765a2940a0dd39f02718f9a81b134dda9c9cb593f291f2aa1657de65b26458adcda33369c0858e16edf7f088edaf4 diff --git a/tools/depends/target/samba-gplv3/no_fork_and_exec.patch b/tools/depends/target/samba-gplv3/no_fork_and_exec.patch index dc158db408..fe678e061a 100644 --- a/tools/depends/target/samba-gplv3/no_fork_and_exec.patch +++ b/tools/depends/target/samba-gplv3/no_fork_and_exec.patch @@ -11,7 +11,7 @@ } --- a/lib/util/fault.c +++ b/lib/util/fault.c -@@ -147,7 +147,7 @@ +@@ -137,7 +137,7 @@ snprintf(pidstr, sizeof(pidstr), "%d", (int) getpid()); all_string_sub(cmdstring, "%d", pidstr, sizeof(cmdstring)); DEBUG(0, ("smb_panic(): calling panic action [%s]\n", cmdstring)); @@ -42,7 +42,7 @@ "'%s': %s\n", command, strerror(errno)); --- a/lib/util/tfork.c +++ b/lib/util/tfork.c -@@ -510,7 +510,7 @@ +@@ -511,7 +511,7 @@ ready_pipe_worker_fd = p[0]; ready_pipe_caller_fd = p[1]; @@ -51,7 +51,7 @@ if (pid == -1) { close(status_sp_caller_fd); close(status_sp_waiter_fd); -@@ -578,7 +578,7 @@ +@@ -580,7 +580,7 @@ close(event_pipe_caller_fd); close(ready_pipe_caller_fd); @@ -112,7 +112,7 @@ DEBUG(0,("smbrun: fork failed with error %s\n", strerror(errno) )); (void)CatchSignal(SIGCLD, saved_handler); if (outfd) { -@@ -198,15 +198,6 @@ +@@ -193,15 +193,6 @@ exit(82); } @@ -128,7 +128,7 @@ SAFE_FREE(newcmd); } -@@ -268,7 +259,7 @@ +@@ -263,7 +254,7 @@ saved_handler = CatchChildLeaveStatus(); @@ -137,9 +137,9 @@ DEBUG(0, ("smbrunsecret: fork failed with error %s\n", strerror(errno))); (void)CatchSignal(SIGCLD, saved_handler); return errno; -@@ -356,8 +347,6 @@ - } - #endif +@@ -346,8 +333,6 @@ + 2 point to /dev/null from the startup code */ + closefrom(3); - execl("/bin/sh", "sh", "-c", cmd, NULL); - @@ -148,8 +148,8 @@ return 1; --- a/source3/lib/util.c +++ b/source3/lib/util.c -@@ -838,7 +838,7 @@ - cmd = lp_panic_action(talloc_tos()); +@@ -840,7 +840,7 @@ + cmd = lp_panic_action(talloc_tos(), lp_sub); if (cmd && *cmd) { DEBUG(0, ("smb_panic(): calling panic action [%s]\n", cmd)); - result = system(cmd); diff --git a/tools/depends/target/samba-gplv3/samba_android.patch b/tools/depends/target/samba-gplv3/samba_android.patch index f2f932df02..a81f2bee6d 100644 --- a/tools/depends/target/samba-gplv3/samba_android.patch +++ b/tools/depends/target/samba-gplv3/samba_android.patch @@ -1,8 +1,8 @@ --- a/lib/util/charset/iconv.c +++ b/lib/util/charset/iconv.c -@@ -28,6 +28,10 @@ - #include "libcli/util/ntstatus.h" - #include "lib/util/util_str_hex.h" +@@ -33,6 +33,10 @@ + #include <unicode/utrans.h> + #endif +#if defined(ANDROID) && (!defined(__ANDROID_API__) || __ANDROID_API__ < 28) +#include <byteswap.h> @@ -11,7 +11,7 @@ #ifdef strcasecmp #undef strcasecmp #endif -@@ -592,6 +596,19 @@ +@@ -756,6 +756,19 @@ return 0; } @@ -58,7 +58,7 @@ goto fail; --- a/nsswitch/libwbclient/wbc_sid.c +++ b/nsswitch/libwbclient/wbc_sid.c -@@ -1052,9 +1052,13 @@ +@@ -1054,9 +1054,13 @@ wbcFreeMemory(name); diff --git a/tools/depends/target/samba/Makefile b/tools/depends/target/samba/Makefile index f8f4c4fda0..fd2b770e00 100644 --- a/tools/depends/target/samba/Makefile +++ b/tools/depends/target/samba/Makefile @@ -1,5 +1,6 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile samba30-3.0.37-configure.in.patch \ +DEPS = ../../Makefile.include Makefile ../../download-files.include + samba30-3.0.37-configure.in.patch \ samba30-3.0.37-CVE-2010-2063.patch \ samba30-3.0.37-silence-receive-warning.patch \ samba30-3.0.37-vfs_default.c.patch samba30-3.0.37-wle-fix.patch \ @@ -10,6 +11,8 @@ LIBNAME=samba VERSION=3.0.37 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=7311a38abc271b461086d088a2a1b6ba74dc706c57cc34b18088e344e313e7a65f42ab6155a31f5467bc3f9e7bfb1d554288a1553d25503aed2a636f58868c6d +include ../../download-files.include # configuration settings # android does not really support LFS but we can force it @@ -49,10 +52,8 @@ LIBDYLIB=$(PLATFORM)/source/bin/libsmbclient.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 -i ../samba30-3.0.37-configure.in.patch diff --git a/tools/depends/target/spdlog/001-windows-pdb-symbol-gen.patch b/tools/depends/target/spdlog/001-windows-pdb-symbol-gen.patch new file mode 100644 index 0000000000..242978553e --- /dev/null +++ b/tools/depends/target/spdlog/001-windows-pdb-symbol-gen.patch @@ -0,0 +1,52 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -239,6 +239,26 @@ + endif() + endforeach() + ++if(WIN32 OR WINDOWS_STORE) ++ set_target_properties(spdlog ++ PROPERTIES ++ COMPILE_PDB_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} ++ PDB_NAME spdlog ++ PDB_NAME_DEBUG spdlogd ++ COMPILE_PDB_NAME spdlog ++ COMPILE_PDB_NAME_DEBUG spdlogd ++ ) ++ target_compile_options(spdlog PRIVATE /sdl- ++ /EHsc ++ /WX- ++ ) ++ target_link_options(spdlog ++ PRIVATE ++ /INCREMENTAL:NO ++ /debug:full ++ ) ++endif() ++ + if(SPDLOG_NO_EXCEPTIONS AND NOT MSVC) + target_compile_options(spdlog PRIVATE -fno-exceptions) + endif() +@@ -296,6 +316,22 @@ + endif() + + # --------------------------------------------------------------------------------------- ++ # Windows PDB debug files ++ # --------------------------------------------------------------------------------------- ++ if(WIN32 OR WINDOWS_STORE) ++ install(FILES ++ ${PROJECT_BINARY_DIR}/Debug/spdlogd.pdb ++ DESTINATION lib ++ CONFIGURATIONS Debug ++ ) ++ install(FILES ++ ${PROJECT_BINARY_DIR}/RelWithDebInfo/spdlog.pdb ++ DESTINATION lib ++ CONFIGURATIONS RelWithDebInfo ++ ) ++ endif() ++ ++ # --------------------------------------------------------------------------------------- + # Install pkg-config file + # --------------------------------------------------------------------------------------- + get_target_property(PKG_CONFIG_DEFINES spdlog INTERFACE_COMPILE_DEFINITIONS) diff --git a/tools/depends/target/spdlog/Makefile b/tools/depends/target/spdlog/Makefile new file mode 100644 index 0000000000..f2ca418865 --- /dev/null +++ b/tools/depends/target/spdlog/Makefile @@ -0,0 +1,66 @@ +-include ../../Makefile.include +include SPDLOG-VERSION +DEPS = Makefile SPDLOG-VERSION ../../download-files.include \ + 001-windows-pdb-symbol-gen.patch + +CMAKE_OPTIONS= \ + -DSPDLOG_BUILD_EXAMPLE=OFF \ + -DSPDLOG_BUILD_TESTS=OFF \ + -DSPDLOG_BUILD_BENCH=OFF \ + -DSPDLOG_INSTALL=ON \ + -DSPDLOG_FMT_EXTERNAL=ON + +ifeq ($(CROSS_COMPILING), yes) + DEPS += ../../Makefile.include +else + CXXFLAGS += -std=c++17 + ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) + + ifeq ($(PLATFORM),) + PLATFORM = native + TARBALLS_LOCATION = $(ROOT_DIR) + BASE_URL := http://mirrors.kodi.tv/build-deps/sources + RETRIEVE_TOOL := curl + RETRIEVE_TOOL_FLAGS := -Ls --create-dirs -f -O + ARCHIVE_TOOL := tar + ARCHIVE_TOOL_FLAGS := --strip-components=1 -xf + CMAKE := cmake -DCMAKE_INSTALL_PREFIX=$(PREFIX) -DCMAKE_PREFIX_PATH=$(PREFIX) + HASH_TOOL := sha512sum + HASH_TOOL_FLAGS = -c --status + endif +endif + +LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT) + +include ../../download-files.include + +.PHONY: .installed-native + +all: .installed-$(PLATFORM) + +download: $(TARBALLS_LOCATION)/$(ARCHIVE) + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) +ifeq ($(PREFIX),) + @echo + @echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local" + @exit 1 +endif + rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); patch -p1 -i ../001-windows-pdb-symbol-gen.patch + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. + +$(LIBDYLIB): $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build + +.installed-$(PLATFORM): $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build install + touch $@ + +clean: + $(MAKE) -C $(PLATFORM)/build clean + rm -f .installed-$(PLATFORM) + +distclean: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/target/spdlog/SPDLOG-VERSION b/tools/depends/target/spdlog/SPDLOG-VERSION new file mode 100644 index 0000000000..297caea1ba --- /dev/null +++ b/tools/depends/target/spdlog/SPDLOG-VERSION @@ -0,0 +1,6 @@ +LIBNAME=spdlog +VERSION=1.10.0 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=e82ec0a0c813ed2f1c8a31a0f21dbb733d0a7bd8d05284feae3bd66040bc53ad47a93b26c3e389c7e5623cfdeba1854d690992c842748e072aab3e6e6ecc5666 +BYPRODUCT=libspdlog.a +BYPRODUCT_WIN=spdlog.lib diff --git a/tools/depends/target/sqlite3/001-Disable-sqlite3bin.patch b/tools/depends/target/sqlite3/001-Disable-sqlite3bin.patch new file mode 100644 index 0000000000..4500b0259b --- /dev/null +++ b/tools/depends/target/sqlite3/001-Disable-sqlite3bin.patch @@ -0,0 +1,16 @@ +--- a/Makefile.am ++++ b/Makefile.am +@@ -4,13 +4,6 @@ + libsqlite3_la_SOURCES = sqlite3.c + libsqlite3_la_LDFLAGS = -no-undefined -version-info 8:6:8 + +-bin_PROGRAMS = sqlite3 +-sqlite3_SOURCES = shell.c sqlite3.h +-EXTRA_sqlite3_SOURCES = sqlite3.c +-sqlite3_LDADD = @EXTRA_SHELL_OBJ@ @READLINE_LIBS@ +-sqlite3_DEPENDENCIES = @EXTRA_SHELL_OBJ@ +-sqlite3_CFLAGS = $(AM_CFLAGS) -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_DBSTAT_VTAB $(SHELL_CFLAGS) +- + include_HEADERS = sqlite3.h sqlite3ext.h + + EXTRA_DIST = sqlite3.1 tea Makefile.msc sqlite3.rc sqlite3rc.h README.txt Replace.cs Makefile.fallback diff --git a/tools/depends/target/sqlite3/Makefile b/tools/depends/target/sqlite3/Makefile index 640042f9d8..a09a03a9f8 100644 --- a/tools/depends/target/sqlite3/Makefile +++ b/tools/depends/target/sqlite3/Makefile @@ -1,35 +1,27 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile sqlite3.c.patch - -# lib name, version -LIBNAME=sqlite -VERSION=3260000 -SOURCE=$(LIBNAME)-autoconf-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +include ../../Makefile.include SQLITE3-VERSION ../../download-files.include +DEPS = ../../Makefile.include SQLITE3-VERSION Makefile ../../download-files.include \ + 001-Disable-sqlite3bin.patch \ + sqlite3.c.patch # configuration settings export CXXFLAGS+=-DSQLITE_ENABLE_COLUMN_METADATA=1 export CFLAGS+=-DSQLITE_TEMP_STORE=3 -DSQLITE_DEFAULT_MMAP_SIZE=0x10000000 CONFIGURE=cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ - ./configure --prefix=$(PREFIX) --disable-shared \ - --enable-threadsafe --disable-readline \ + ./configure --prefix=$(PREFIX) --disable-shared --enable-threadsafe --disable-readline LIBDYLIB=$(PLATFORM)/.libs/lib$(LIBNAME)3.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + # do not build the program sqlite3 + cd $(PLATFORM); patch -p1 -i ../001-Disable-sqlite3bin.patch # seems MAP_POPULATE is broken on aarch64 ifneq ($(OS),android) cd $(PLATFORM); patch -p1 -i ../sqlite3.c.patch endif - # do not build the program sqlite3 - sed -ie "s|bin_PROGRAMS = sqlite3||" "$(PLATFORM)/Makefile.am"; cd $(PLATFORM); $(AUTORECONF) -vif cd $(PLATFORM); $(CONFIGURE) @@ -46,4 +38,3 @@ clean: distclean:: rm -rf $(PLATFORM) .installed-$(PLATFORM) - diff --git a/tools/depends/target/sqlite3/SQLITE3-VERSION b/tools/depends/target/sqlite3/SQLITE3-VERSION new file mode 100644 index 0000000000..ef3e9d99c4 --- /dev/null +++ b/tools/depends/target/sqlite3/SQLITE3-VERSION @@ -0,0 +1,4 @@ +LIBNAME=sqlite +VERSION=3360000 +ARCHIVE=$(LIBNAME)-autoconf-$(VERSION).tar.gz +SHA512=e59c57f421b4956c7759af528a2da929167e15179ab9d28267474683e2272f93c901203e5a648732f1a3d43e7be3ac4217c3cdd7adf108c378b9127b771a7cd0 diff --git a/tools/depends/target/sqlite3/sqlite3.c.patch b/tools/depends/target/sqlite3/sqlite3.c.patch index 9def81e522..02c9b152c4 100644 --- a/tools/depends/target/sqlite3/sqlite3.c.patch +++ b/tools/depends/target/sqlite3/sqlite3.c.patch @@ -1,6 +1,6 @@ --- a/sqlite3.c +++ b/sqlite3.c -@@ -37359,8 +37359,12 @@ +@@ -39226,8 +39226,12 @@ #if HAVE_MREMAP pNew = osMremap(pOrig, nReuse, nNew, MREMAP_MAYMOVE); zErr = "mremap"; @@ -13,7 +13,7 @@ if( pNew!=MAP_FAILED ){ if( pNew!=pReq ){ osMunmap(pNew, nNew - nReuse); -@@ -37379,7 +37383,11 @@ +@@ -39246,7 +39246,11 @@ /* If pNew is still NULL, try to create an entirely new mapping. */ if( pNew==0 ){ diff --git a/tools/depends/target/taglib/001-cmake-pdb-debug.patch b/tools/depends/target/taglib/001-cmake-pdb-debug.patch new file mode 100644 index 0000000000..f410cc33cf --- /dev/null +++ b/tools/depends/target/taglib/001-cmake-pdb-debug.patch @@ -0,0 +1,29 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,6 +58,11 @@ + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") + endif() + ++set(CMAKE_DEBUG_POSTFIX "d") ++if(MSVC) ++ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE) ++endif() ++ + if(MSVC AND ENABLE_STATIC_RUNTIME) + foreach(flag_var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) + string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") +--- a/taglib/CMakeLists.txt ++++ b/taglib/CMakeLists.txt +@@ -341,6 +341,12 @@ + target_link_libraries(tag ${ZLIB_LIBRARIES}) + endif() + ++if(MSVC) ++ set_target_properties(tag PROPERTIES COMPILE_PDB_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} COMPILE_PDB_NAME tag COMPILE_PDB_NAME_DEBUG tagd) ++ install(FILES ${PROJECT_BINARY_DIR}/RelWithDebInfo/tag.pdb DESTINATION lib CONFIGURATIONS RelWithDebInfo) ++ install(FILES ${PROJECT_BINARY_DIR}/Debug/tagd.pdb DESTINATION lib CONFIGURATIONS Debug) ++endif(MSVC) ++ + set_target_properties(tag PROPERTIES + VERSION ${TAGLIB_SOVERSION_MAJOR}.${TAGLIB_SOVERSION_MINOR}.${TAGLIB_SOVERSION_PATCH} + SOVERSION ${TAGLIB_SOVERSION_MAJOR} diff --git a/tools/depends/target/taglib/ID3v2Lookup.patch b/tools/depends/target/taglib/ID3v2Lookup.patch deleted file mode 100644 index 297802d9ff..0000000000 --- a/tools/depends/target/taglib/ID3v2Lookup.patch +++ /dev/null @@ -1,70 +0,0 @@ -From d2e0e5522308ce4c905c205c7bf5972ea71cd6e5 Mon Sep 17 00:00:00 2001 -From: Tsuda Kageyu <tsuda.kageyu@gmail.com> -Date: Fri, 20 Jan 2017 21:14:38 +0900 -Subject: [PATCH] Efficient lookup for an ID3v2 tag in MPEG files with garbage. - -This looks for an ID3v2 tag until reaching the first valid MPEG frame in O(n) time. ---- - taglib/mpeg/mpegfile.cpp | 45 +++++++++++++++++++++++++++++---------------- - 1 file changed, 29 insertions(+), 16 deletions(-) - ---- a/taglib/mpeg/mpegfile.cpp -+++ b/taglib/mpeg/mpegfile.cpp -@@ -488,28 +488,41 @@ - const ByteVector headerID = ID3v2::Header::fileIdentifier(); - - seek(0); -+ if(readBlock(headerID.size()) == headerID) -+ return 0; - -- const ByteVector data = readBlock(headerID.size()); -- if(data.size() < headerID.size()) -+ Header firstHeader(this, 0, true); -+ if(firstHeader.isValid()) - return -1; - -- if(data == headerID) -- return 0; -+ // Look for an ID3v2 tag until reaching the first valid MPEG frame. - -- if(firstSyncByte(data[0]) && secondSynchByte(data[1])) -- return -1; -+ char frameSyncBytes[2] = {}; -+ char tagHeaderBytes[4] = {}; -+ long position = 0; - -- // Look for the entire file, if neither an MEPG frame or ID3v2 tag was found -- // at the beginning of the file. -- // We don't care about the inefficiency of the code, since this is a seldom case. -+ while(true) { -+ seek(position); -+ const ByteVector buffer = readBlock(bufferSize()); -+ if(buffer.isEmpty()) -+ return -1; - -- const long tagOffset = find(headerID); -- if(tagOffset < 0) -- return -1; -+ for(unsigned int i = 0; i < buffer.size(); ++i) { -+ frameSyncBytes[0] = frameSyncBytes[1]; -+ frameSyncBytes[1] = buffer[i]; -+ if(firstSyncByte(frameSyncBytes[0]) && secondSynchByte(frameSyncBytes[1])) { -+ Header header(this, position + i - 1, true); -+ if(header.isValid()) -+ return -1; -+ } - -- const long frameOffset = firstFrameOffset(); -- if(frameOffset < tagOffset) -- return -1; -+ tagHeaderBytes[0] = tagHeaderBytes[1]; -+ tagHeaderBytes[1] = tagHeaderBytes[2]; -+ tagHeaderBytes[2] = buffer[i]; -+ if(headerID == tagHeaderBytes) -+ return position + i - 2; -+ } - -- return tagOffset; -+ position += bufferSize(); -+ } - } diff --git a/tools/depends/target/taglib/Makefile b/tools/depends/target/taglib/Makefile index 9f8b09edab..2ae922950e 100644 --- a/tools/depends/target/taglib/Makefile +++ b/tools/depends/target/taglib/Makefile @@ -1,31 +1,22 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile ID3v2Lookup.patch remove-boost.patch +include ../../Makefile.include TAGLIB-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile TAGLIB-VERSION ../../download-files.include \ + 001-cmake-pdb-debug.patch -LIBNAME=taglib -VERSION=1.11.1 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz - -LIBDYLIB=$(PLATFORM)/build/$(LIBNAME)/libtag.a +LIBDYLIB=$(PLATFORM)/build/$(LIBNAME)/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); rm -rf build; mkdir -p build - cd $(PLATFORM); patch -p1 -i ../ID3v2Lookup.patch - cd $(PLATFORM); patch -p1 -i ../remove-boost.patch - cd $(PLATFORM)/build; $(CMAKE) -DCMAKE_LIBRARY_PATH=$(TOOLCHAIN)/lib/$(HOST) -DBUILD_SHARED_LIBS=OFF .. + cd $(PLATFORM)/build; $(CMAKE) -DBUILD_SHARED_LIBS=OFF -DBUILD_BINDINGS=OFF -DCMAKE_BUILD_TYPE=Debug .. $(LIBDYLIB): $(PLATFORM) $(MAKE) -C $(PLATFORM)/build touch $@ + .installed-$(PLATFORM): $(LIBDYLIB) $(MAKE) -C $(PLATFORM)/build install - rm -f $(PREFIX)/lib/libtag_c.* touch $@ clean: diff --git a/tools/depends/target/taglib/TAGLIB-VERSION b/tools/depends/target/taglib/TAGLIB-VERSION new file mode 100644 index 0000000000..8f980b0b26 --- /dev/null +++ b/tools/depends/target/taglib/TAGLIB-VERSION @@ -0,0 +1,6 @@ +LIBNAME=taglib +VERSION=1.12 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz +SHA512=7e369faa5e3c6c6401052b7a19e35b0cf8c1e5ed9597053ac731a7718791d5d4803d1b18a93e903ec8c3fc6cb92e34d9616daa2ae4d326965d4c4d5624dcdaba +BYPRODUCT=libtag.a +BYPRODUCT_WIN=tag.lib diff --git a/tools/depends/target/taglib/remove-boost.patch b/tools/depends/target/taglib/remove-boost.patch deleted file mode 100644 index aeb5452b90..0000000000 --- a/tools/depends/target/taglib/remove-boost.patch +++ /dev/null @@ -1,25 +0,0 @@ -From de87cd7736d52302db330c830adae50b1e667954 Mon Sep 17 00:00:00 2001 -From: Tsuda Kageyu <tsuda.kageyu@gmail.com> -Date: Tue, 20 Dec 2016 12:06:21 +0900 -Subject: [PATCH] Remove the CMake check for Boost I missed out on. - ---- - ConfigureChecks.cmake | 7 ------- - 1 file changed, 7 deletions(-) - ---- a/ConfigureChecks.cmake -+++ b/ConfigureChecks.cmake -@@ -34,13 +34,6 @@ - message(FATAL_ERROR "TagLib requires that double is 64-bit wide.") - endif() - --# Enable check_cxx_source_compiles() to work with Boost "header-only" libraries. -- --find_package(Boost) --if(Boost_FOUND) -- set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${Boost_INCLUDE_DIRS}") --endif() -- - # Determine which kind of atomic operations your compiler supports. - - check_cxx_source_compiles(" diff --git a/tools/depends/target/tinyxml/Makefile b/tools/depends/target/tinyxml/Makefile index 70a7e4ee63..38a7b63d3c 100644 --- a/tools/depends/target/tinyxml/Makefile +++ b/tools/depends/target/tinyxml/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS = ../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=tinyxml VERSION=2.6.2_2 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=01b5c564c29f151b076ff47211404e3b203d9d12071054c11c0eca84f2bba7c3fe90936d6580f6045ea9c204435f8b19e77e56ad5fae05241d311222b898eacf +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared @@ -15,10 +17,8 @@ LIBDYLIB=$(PLATFORM)/src/.libs/libtinyxml.a all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(AUTORECONF) -vif diff --git a/tools/depends/target/udfread/Makefile b/tools/depends/target/udfread/Makefile new file mode 100644 index 0000000000..1658a094f9 --- /dev/null +++ b/tools/depends/target/udfread/Makefile @@ -0,0 +1,43 @@ +-include ../../Makefile.include +include UDFREAD-VERSION +DEPS = Makefile UDFREAD-VERSION ../../download-files.include ../../download-files.include + +ifeq ($(CROSS_COMPILING), yes) + DEPS += ../../Makefile.include +else + ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) + TARBALLS_LOCATION ?= $(ROOT_DIR) + BASE_URL ?= http://mirrors.kodi.tv/build-deps/sources + RETRIEVE_TOOL := curl -Ls --retry 10 --retry-delay 3 -o $(ARCHIVE) + ARCHIVE_TOOL := tar --strip-components=1 -xf +endif + +include ../../download-files.include + +# configuration settings +CONFIGURE = ./configure --prefix=$(PREFIX) --disable-shared --enable-static + +LIBDYLIB=$(PLATFORM)/.libs/$(BYPRODUCT) + +all: .installed-$(PLATFORM) +download: $(TARBALLS_LOCATION)/$(ARCHIVE) + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); $(AUTORECONF) -vif + cd $(PLATFORM); $(CONFIGURE) + +$(LIBDYLIB): $(PLATFORM) + $(MAKE) -C $(PLATFORM) + +.installed-$(PLATFORM): $(LIBDYLIB) + $(MAKE) -C $(PLATFORM) install + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/target/udfread/UDFREAD-VERSION b/tools/depends/target/udfread/UDFREAD-VERSION new file mode 100644 index 0000000000..64c5a41007 --- /dev/null +++ b/tools/depends/target/udfread/UDFREAD-VERSION @@ -0,0 +1,5 @@ +LIBNAME=udfread +VERSION=1.1.2 +ARCHIVE=lib$(LIBNAME)-$(VERSION).tar.gz +SHA512=3069feb5db40288beb5b112b285186162a704f0fdd3cf67a17fd4eeea015f2cfcfbb455b7aa7c3d79d00fd095a3fd11cffc7b121dce94d99c3b06a509a8977d2 +BYPRODUCT=libudfread.a diff --git a/tools/depends/target/wayland-protocols/Makefile b/tools/depends/target/wayland-protocols/Makefile index 340eb41a74..97374ef89b 100644 --- a/tools/depends/target/wayland-protocols/Makefile +++ b/tools/depends/target/wayland-protocols/Makefile @@ -1,11 +1,13 @@ -include ../../Makefile.include -DEPS=Makefile +DEPS =Makefile ../../download-files.include # lib name, version LIBNAME=wayland-protocols -VERSION=1.12 +VERSION=1.20 SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.xz +ARCHIVE=$(SOURCE).tar.gz +SHA512=56c99b1534ca12e094c0ba1a7d38e7551d38dd7dea80d1a35ae4cd60e8b28ddbd8f00374394da871bbfc91aa3a42f77ebed7d62a8fe6165684a385f2028a1bf4 +include ../../download-files.include ifeq ($(PLATFORM),) # Building stand-alone @@ -25,10 +27,8 @@ CONFIGURE=./configure --prefix=$(PREFIX) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) ifeq ($(PREFIX),) @echo @echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local" @@ -36,10 +36,12 @@ ifeq ($(PREFIX),) endif rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); $(AUTORECONF) -vif cd $(PLATFORM); $(CONFIGURE) .installed-$(PLATFORM): $(PLATFORM) $(MAKE) -C $(PLATFORM) install + ln -sf $(PREFIX)/share/pkgconfig/wayland-protocols.pc $(PREFIX)/lib/pkgconfig/wayland-protocols.pc touch $@ clean: diff --git a/tools/depends/target/wayland/Makefile b/tools/depends/target/wayland/Makefile index 49de928782..e4950ff2e9 100644 --- a/tools/depends/target/wayland/Makefile +++ b/tools/depends/target/wayland/Makefile @@ -1,11 +1,13 @@ include ../../Makefile.include -DEPS=../../Makefile.include Makefile +DEPS =../../Makefile.include Makefile ../../download-files.include # lib name, version LIBNAME=wayland -VERSION=1.13.0 +VERSION=1.17.0 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.xz +SHA512=c5051aab5ff078b368c196ecfedb33ccd961265bb914845d7ed81de361bb86ae18299575baa6c4eceb0d82cf8b495e8293f31b51d1cbc05d84af0a199ab3f946 +include ../../download-files.include # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) --with-host-scanner --disable-documentation --disable-dtd-validation @@ -14,10 +16,8 @@ LIBDYLIB=$(PLATFORM)/.libs/libwayland-client.la all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); $(CONFIGURE) @@ -27,6 +27,11 @@ $(LIBDYLIB): $(PLATFORM) .installed-$(PLATFORM): $(LIBDYLIB) $(MAKE) -C $(PLATFORM) install + + # remove the target wayland scanner from the sysroot. We only want to use the native one + rm -f $(PREFIX)/bin/wayland-scanner + rm -f $(PREFIX)/lib/pkgconfig/wayland-scanner.pc + ln -sf $(NATIVEPREFIX)/lib/pkgconfig/wayland-scanner.pc $(PREFIX)/lib/pkgconfig/wayland-scanner.pc touch $@ clean: diff --git a/tools/depends/target/waylandpp/Makefile b/tools/depends/target/waylandpp/Makefile index 94018f3393..c7e264c0aa 100644 --- a/tools/depends/target/waylandpp/Makefile +++ b/tools/depends/target/waylandpp/Makefile @@ -1,13 +1,15 @@ -include ../../Makefile.include -DEPS=Makefile +DEPS =Makefile ../../download-files.include # lib name, version LIBNAME=waylandpp -VERSION=0.2.3 +VERSION=0.2.8 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz +SHA512=bf1b8a9e69b87547fc65989b9eaff88a442d8b2f01f5446cef960000b093390b1e557536837fbf38bb6d9a4f93e3985ea34c3253f94925b0f571b4606c980832 +include ../../download-files.include -LIBDYLIB=$(PLATFORM)/src/libwayland-client++.so +LIBDYLIB=$(PLATFORM)/build/libwayland-client++.so ifeq ($(PLATFORM),) # Building stand-alone @@ -30,10 +32,8 @@ BUILDDIR = $(PLATFORM)/build all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) ifeq ($(PREFIX),) @echo @echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local" @@ -49,6 +49,9 @@ $(LIBDYLIB): $(PLATFORM) .installed-$(PLATFORM): $(LIBDYLIB) $(MAKE) -C $(BUILDDIR) install + + # We want to use the native wayland-scanner++ + ln -sf $(NATIVEPREFIX)/lib/pkgconfig/wayland-scanner++.pc $(PREFIX)/lib/pkgconfig/wayland-scanner++.pc touch $@ clean: diff --git a/tools/depends/target/xz/Makefile b/tools/depends/target/xz/Makefile new file mode 100644 index 0000000000..95e46b51ad --- /dev/null +++ b/tools/depends/target/xz/Makefile @@ -0,0 +1,28 @@ +include ../../Makefile.include XZ-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile XZ-VERSION ../../download-files.include + +# configuration settings +CONFIGURE=./configure --prefix=$(PREFIX) --disable-shared --disable-assembler --disable-lzmainfo --disable-lzma-links --disable-scripts --disable-doc + +LIBDYLIB=$(PLATFORM)/src/liblzma/liblzma.a + +all: .installed-$(PLATFORM) + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); $(CONFIGURE) + +$(LIBDYLIB): $(PLATFORM) + $(MAKE) -C $(PLATFORM) + +.installed-$(PLATFORM): $(LIBDYLIB) + $(MAKE) -C $(PLATFORM) install + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean:: + rm -rf $(PLATFORM) .installed-$(PLATFORM) diff --git a/tools/depends/target/xz/XZ-VERSION b/tools/depends/target/xz/XZ-VERSION new file mode 100644 index 0000000000..288df10b58 --- /dev/null +++ b/tools/depends/target/xz/XZ-VERSION @@ -0,0 +1,4 @@ +LIBNAME=xz +VERSION=5.2.6 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz +SHA512=5c69a492227c0ff72836d7a87e6372dc2e62bedfffb33f057263e28a6341825cef67834a863ed6ac02c5368c86da89f8affbe767f8bb914064cfa478f653e935 diff --git a/tools/depends/target/zlib/01-all-disable_tests.patch b/tools/depends/target/zlib/01-all-disable_tests.patch new file mode 100644 index 0000000000..55de6a471d --- /dev/null +++ b/tools/depends/target/zlib/01-all-disable_tests.patch @@ -0,0 +1,16 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -229,7 +229,7 @@ + #============================================================================ + # Example binaries + #============================================================================ +- ++if(ENABLE_TESTS) + add_executable(example test/example.c) + target_link_libraries(example zlib) + add_test(example example) +@@ -247,3 +247,4 @@ + target_link_libraries(minigzip64 zlib) + set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64") + endif() ++endif() diff --git a/tools/depends/target/zlib/02-all-static_only.patch b/tools/depends/target/zlib/02-all-static_only.patch new file mode 100644 index 0000000000..baef9bbb20 --- /dev/null +++ b/tools/depends/target/zlib/02-all-static_only.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -211,7 +211,7 @@ + endif() + + if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) +- install(TARGETS zlib zlibstatic ++ install(TARGETS zlibstatic + RUNTIME DESTINATION "${INSTALL_BIN_DIR}" + ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" + LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ) diff --git a/tools/depends/target/zlib/Makefile b/tools/depends/target/zlib/Makefile index 89c33814d9..b7f6d41e6e 100644 --- a/tools/depends/target/zlib/Makefile +++ b/tools/depends/target/zlib/Makefile @@ -1,38 +1,32 @@ -include ../../Makefile.include -DEPS= ../../Makefile.include Makefile visibility.patch remove_fixe_ar_osx.patch - -# lib name, version -LIBNAME=zlib -VERSION=1.2.11 -SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +include ../../Makefile.include ZLIB-VERSION ../../download-files.include +DEPS = ../../Makefile.include Makefile ZLIB-VERSION ../../download-files.include \ + 01-all-disable_tests.patch \ + 02-all-static_only.patch + # configuration settings -CONFIGURE= RANLIB="$(RANLIB)" LD="$(LD)" AR="$(AR)" CC="$(CC)" CFLAGS="$(CFLAGS)" ./configure --prefix=$(PREFIX) --static +CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX=$(PREFIX) \ + -DINSTALL_PKGCONFIG_DIR=$(PREFIX)/lib/pkgconfig -LIBDYLIB=$(PLATFORM)/$(LIBNAME).a +LIBDYLIB=$(PLATFORM)/build/$(BYPRODUCT) all: .installed-$(PLATFORM) -$(TARBALLS_LOCATION)/$(ARCHIVE): - cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) - -$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) - rm -rf $(PLATFORM); mkdir -p $(PLATFORM) +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE).$(HASH_TYPE) $(DEPS) + rm -rf $(PLATFORM); mkdir -p $(PLATFORM)/build cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); patch -p1 -i ../visibility.patch - cd $(PLATFORM); patch -p1 -i ../remove_fixe_ar_osx.patch - cd $(PLATFORM); $(CONFIGURE) + cd $(PLATFORM); patch -p1 -i ../01-all-disable_tests.patch + cd $(PLATFORM); patch -p1 -i ../02-all-static_only.patch + cd $(PLATFORM)/build; $(CMAKE) $(CMAKE_OPTIONS) .. $(LIBDYLIB): $(PLATFORM) - $(MAKE) -C $(PLATFORM) + $(MAKE) -C $(PLATFORM)/build .installed-$(PLATFORM): $(LIBDYLIB) - $(MAKE) -C $(PLATFORM) install - touch $(LIBDYLIB) + $(MAKE) -C $(PLATFORM)/build install touch $@ clean: - $(MAKE) -C $(PLATFORM) clean + $(MAKE) -C $(PLATFORM)/build clean rm -f .installed-$(PLATFORM) distclean:: diff --git a/tools/depends/target/zlib/ZLIB-VERSION b/tools/depends/target/zlib/ZLIB-VERSION new file mode 100644 index 0000000000..c609cbe9bb --- /dev/null +++ b/tools/depends/target/zlib/ZLIB-VERSION @@ -0,0 +1,5 @@ +LIBNAME=zlib +VERSION=1.2.12 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.xz +SHA512=12940e81e988f7661da52fa20bdc333314ae86a621fdb748804a20840b065a1d6d984430f2d41f3a057de0effc6ff9bcf42f9ee9510b88219085f59cbbd082bd +BYPRODUCT=libz.a diff --git a/tools/depends/target/zlib/remove_fixe_ar_osx.patch b/tools/depends/target/zlib/remove_fixe_ar_osx.patch deleted file mode 100644 index 1eaabff3ba..0000000000 --- a/tools/depends/target/zlib/remove_fixe_ar_osx.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- a/configure -+++ b/configure -@@ -241,12 +241,7 @@ - SHAREDLIBV=libz.$VER$shared_ext - SHAREDLIBM=libz.$VER1$shared_ext - LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER3"} -- if libtool -V 2>&1 | grep Apple > /dev/null; then -- AR="libtool" -- else -- AR="/usr/bin/libtool" -- fi -- ARFLAGS="-o" ;; -+ ;; - *) LDSHARED=${LDSHARED-"$cc -shared"} ;; - esac - else diff --git a/tools/depends/target/zlib/visibility.patch b/tools/depends/target/zlib/visibility.patch deleted file mode 100644 index 3257f7fedb..0000000000 --- a/tools/depends/target/zlib/visibility.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/zconf.h.in -+++ b/zconf.h.in -@@ -374,7 +374,11 @@ - #endif - - #ifndef ZEXTERN --# define ZEXTERN extern -+# ifdef HAVE_HIDDEN -+# define ZEXTERN extern __attribute__((visibility ("default"))) -+# else -+# define ZEXTERN extern -+# endif - #endif - #ifndef ZEXPORT - # define ZEXPORT diff --git a/tools/depends/xbmc-addons.include b/tools/depends/xbmc-addons.include index 35399f0e2f..928845bf89 100644 --- a/tools/depends/xbmc-addons.include +++ b/tools/depends/xbmc-addons.include @@ -7,8 +7,12 @@ ifeq ($(CROSS_COMPILING),yes) DEPS = $(TOOLCHAIN_FILE) $(abs_top_srcdir)/target/config-binaddons.site $(abs_top_srcdir)/target/Toolchain_binaddons.cmake $(CONFIG_SUB) $(CONFIG_GUESS) TOOLCHAIN = -DCMAKE_TOOLCHAIN_FILE=$(TOOLCHAIN_FILE) ifeq ($(OS),linux) - ifneq ($(TARGET_PLATFORM),raspberry-pi) - DEPS += linux-system-libs + DEPS += linux-system-libs linux-system-x11-libs + + ifeq ($(RENDER_SYSTEM),gl) + DEPS += linux-system-gl-libs + else + DEPS += linux-system-gles-libs endif endif endif @@ -92,22 +96,38 @@ $(TOOLCHAIN_FILE): $(abs_top_srcdir)/target/Toolchain_binaddons.cmake mkdir -p $(ADDON_DEPS_DIR)/share sed "s|@CMAKE_FIND_ROOT_PATH@|$(ADDON_DEPS_DIR)|g" $(abs_top_srcdir)/target/Toolchain_binaddons.cmake > $@ +HOST_LIBDIR := $(firstword $(wildcard /usr/lib64 /usr/lib/$(HOST))) + linux-system-libs: + mkdir -p $(ADDON_DEPS_DIR)/lib + [ -f $(ADDON_DEPS_DIR)/lib/libm.so ] || ln -sf $(HOST_LIBDIR)/libm.so $(ADDON_DEPS_DIR)/lib/ + +linux-system-x11-libs: mkdir -p $(ADDON_DEPS_DIR)/lib/pkgconfig $(ADDON_DEPS_DIR)/include - [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/x11.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/x*.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/ - [ -f $(ADDON_DEPS_DIR)/lib/libX11.so ] || ln -sf /usr/lib/$(HOST)/libX11.so* $(ADDON_DEPS_DIR)/lib/ + [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/x11.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/x*.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/ + [ -f $(ADDON_DEPS_DIR)/lib/libX11.so ] || ln -sf $(HOST_LIBDIR)/libX11.so* $(ADDON_DEPS_DIR)/lib/ [ -L $(ADDON_DEPS_DIR)/include/X11 ] || ln -sf /usr/include/X11 $(ADDON_DEPS_DIR)/include/X11 [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/xproto.pc ] || ln -sf /usr/share/pkgconfig/x*.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/ [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/kbproto.pc ] || ln -sf /usr/share/pkgconfig/kbproto.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/kbproto.pc [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/damageproto.pc ] || ln -sf /usr/share/pkgconfig/damageproto.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/damageproto.pc [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/fixesproto.pc ] || ln -sf /usr/share/pkgconfig/fixesproto.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/fixesproto.pc - [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/pthread-stubs.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/pthread-stubs.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/pthread-stubs.pc - [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/ice.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/ice.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/ice.pc - [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/sm.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/sm.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/sm.pc - [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/libdrm.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/libdrm.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/libdrm.pc - [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/gl.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/gl.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/gl.pc - [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/glu.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/glu.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/glu.pc - [ -f $(ADDON_DEPS_DIR)/lib/libGL.so ] || ln -sf /usr/lib/$(HOST)/libGL.so $(ADDON_DEPS_DIR)/lib/libGL.so + [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/pthread-stubs.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/pthread-stubs.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/pthread-stubs.pc + [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/ice.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/ice.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/ice.pc + [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/sm.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/sm.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/sm.pc + [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/libdrm.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/libdrm.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/libdrm.pc + +linux-system-gl-libs: + mkdir -p $(ADDON_DEPS_DIR)/lib/pkgconfig $(ADDON_DEPS_DIR)/include + [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/gl.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/gl.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/gl.pc + [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/glu.pc ] || ln -sf $(HOST_LIBDIR)/pkgconfig/glu.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/glu.pc + [ -f $(ADDON_DEPS_DIR)/lib/libGL.so ] || ln -sf $(HOST_LIBDIR)/libGL.so $(ADDON_DEPS_DIR)/lib/libGL.so [ -L $(ADDON_DEPS_DIR)/include/GL ] || ln -sf /usr/include/GL $(ADDON_DEPS_DIR)/include/GL - [ -f $(ADDON_DEPS_DIR)/lib/libm.so ] || ln -sf /usr/lib/$(HOST)/libm.so $(ADDON_DEPS_DIR)/lib/ +linux-system-gles-libs: + mkdir -p $(ADDON_DEPS_DIR)/lib/pkgconfig $(ADDON_DEPS_DIR)/include + [ -f $(ADDON_DEPS_DIR)/lib/pkgconfig/glesv2.pc ] || ln -sf $(PREFIX)/lib/pkgconfig/glesv2.pc $(ADDON_DEPS_DIR)/lib/pkgconfig/glesv2.pc + [ -f $(ADDON_DEPS_DIR)/lib/libGLESv2.so ] || ln -sf $(PREFIX)/lib/libGLESv2.so $(ADDON_DEPS_DIR)/lib/libGLESv2.so + [ -L $(ADDON_DEPS_DIR)/include/GLES2 ] || ln -sf $(PREFIX)/include/GLES2 $(ADDON_DEPS_DIR)/include/GLES2 + [ -L $(ADDON_DEPS_DIR)/include/KHR ] || ln -sf $(PREFIX)/include/KHR $(ADDON_DEPS_DIR)/include/KHR + [ -L $(ADDON_DEPS_DIR)/include/EGL ] || ln -sf $(PREFIX)/include/EGL $(ADDON_DEPS_DIR)/include/EGL + [ -f $(ADDON_DEPS_DIR)/lib/libEGL.so ] || ln -sf $(PREFIX)/lib/libEGL.so $(ADDON_DEPS_DIR)/lib/libEGL.so |