macOS build: update all libraries, add iconv & full gettext build

This commit is contained in:
Moritz Bunkus 2018-06-16 21:47:29 +02:00
parent d290e0dbf1
commit e17cbecb16
No known key found for this signature in database
GPG Key ID: 74AF00ADF2E32C85
8 changed files with 364 additions and 103 deletions

View File

@ -5,6 +5,7 @@ set -x
export SCRIPT_PATH=${0:a:h}
source ${SCRIPT_PATH}/config.sh
source ${SCRIPT_PATH}/specs.sh
if type -p drake &> /dev/null; then
RAKE=drake
@ -12,11 +13,59 @@ else
RAKE=rake
fi
if [[ ${spec_qtbase[1]} == *everywhere* ]]; then
QTTYPE=everywhere
else
QTTYPE=opensource
fi
function fail {
echo $@
exit 1
}
function verify_checksum {
local file=$1
local expected_checksum=$2
local allow_failure=$3
local actual_checksum
actual_checksum=$(openssl dgst -sha256 < ${file} | sed -e 's/.* //')
if [[ ${actual_checksum} != ${expected_checksum} ]]; then
if [[ ${allow_failure:-0} == 1 ]]; then
return 1
fi
fail "File checksum failed: ${file} SHA256 expected ${expected_checksum} actual ${actual_checksum}"
fi
}
function retrieve_file {
local spec_name="spec_$1"
local -a spec=(${(P)spec_name})
local file=${spec[1]}
local url=${spec[2]}
local expected_checksum=${spec[3]}
file=${SRCDIR}/${file}
if [[ -f ${file} ]]; then
if verify_checksum ${file} ${expected_checksum} 1; then
return
fi
echo "Warning: file ${file} exists but has the wrong checksum; retrieving anew"
rm ${file}
fi
if [[ ! -f ${file} ]]; then
curl -L ${url} > ${file}
fi
verify_checksum ${file} ${expected_checksum}
}
function build_tarball {
local package=${PWD:t}
if [[ -n $SHARED ]] package="${package}-shared"
@ -24,7 +73,12 @@ function build_tarball {
}
function build_package {
local FILE=$1
retrieve_file $1
local FUNC_NAME=$1
local SPEC_NAME="spec_$1"
local -a SPEC=(${(P)SPEC_NAME})
local FILE=${SPEC[1]}
shift
local PACKAGE=${${FILE%.*}%.tar}
local DIR=${DIR:-$PACKAGE}
@ -45,67 +99,138 @@ function build_package {
$DEBUG cd ${DIR}
if [[ -z $NO_CONFIGURE ]]; then
$DEBUG ${CONFIGURE:-./configure} $@
local patch_dir=${SCRIPT_PATH}/${FUNC_NAME}-patches
if [[ -d ${patch_dir} ]]; then
for PART in ${patch_dir}/*.patch ; do
patch -p1 < ${PART}
done
fi
if [[ -z $NO_CONFIGURE ]]; then
saved_CFLAGS=${CFLAGS}
saved_CXXFLAGS=${CXXFLAGS}
saved_LDFLAGS=${LDFLAGS}
export CFLAGS="${CFLAGS} -I${TARGET}/include"
export LDFLAGS="${LDFLAGS} -L${TARGET}/lib"
if [[ ( -n ${CONFIGURE} ) || ( -x ./configure ) ]]; then
$DEBUG ${CONFIGURE:-./configure} $@
if [[ -z $NO_MAKE ]]; then
$DEBUG make
build_tarball
fi
else
mkdir mtx-build
cd mtx-build
$DEBUG cmake .. $@
if [[ -z $NO_MAKE ]]; then
$DEBUG make
build_tarball command "make DESTDIR=TMPDIR install"
fi
cd ..
if [[ -z $NO_MAKE ]]; then
$DEBUG make
build_tarball
fi
CFLAGS=${saved_CFLAGS}
CXXFLAGS=${saved_CXXFLAGS}
LDFLAGS=${saved_LDFLAGS}
fi
}
mkdir -p $CMPL
function build_autoconf {
build_package autoconf-2.69.tar.xz --prefix=${TARGET}
build_package autoconf --prefix=${TARGET}
}
function build_automake {
build_package automake-1.14.1.tar.gz --prefix=${TARGET}
build_package automake --prefix=${TARGET}
}
function build_pkgconfig {
build_package pkg-config-0.28.tar.gz --prefix=${TARGET} \
--with-pc-path=${TARGET}/lib/pkgconfig --with-internal-glib \
--enable-static --enable-shared=no
build_package pkgconfig \
--prefix=${TARGET} \
--with-pc-path=${TARGET}/lib/pkgconfig \
--with-internal-glib \
--enable-static \
--enable-shared=no
}
function build_libiconv {
build_package libiconv \
ac_cv_prog_AWK=/usr/bin/awk \
ac_cv_path_GREP=/usr/bin/grep \
ac_cv_path_SED=/usr/bin/sed \
--prefix=${TARGET} \
--enable-static \
--docdir=${prefix}/share/doc/${name} \
--without-libiconv-prefix \
--without-libintl-prefix \
--disable-nls \
--enable-extra-encodings \
--enable-shared=no
}
function build_cmake {
build_package cmake-3.10.0.tar.gz --prefix=${TARGET}
build_package cmake --prefix=${TARGET}
}
function build_ogg {
build_package libogg-1.3.2.tar.gz --prefix=${TARGET} \
--disable-shared --enable-static
build_package ogg \
--prefix=${TARGET} \
--disable-shared \
--enable-static
}
function build_vorbis {
build_package libvorbis-1.3.5.tar.gz --prefix=${TARGET} \
--with-ogg-libraries=${TARGET}/lib --with-ogg-includes=${TARGET}/include/ \
--enable-static --disable-shared
build_package vorbis \
--prefix=${TARGET} \
--with-ogg-libraries=${TARGET}/lib \
--with-ogg-includes=${TARGET}/include/ \
--enable-static \
--disable-shared
}
function build_flac {
build_package flac-1.3.1.tar.xz --prefix=${TARGET} \
--disable-asm-optimizations --disable-xmms-plugin \
--with-ogg-libraries=${TARGET}/lib --with-ogg-includes=${TARGET}/include/ \
--enable-static --disable-shared
build_package flac \
--prefix=${TARGET} \
--disable-asm-optimizations \
--disable-xmms-plugin \
--with-ogg-libraries=${TARGET}/lib \
--with-ogg-includes=${TARGET}/include/ \
--with-libiconv-prefix=${TARGET} \
--enable-static \
--disable-shared
}
function build_zlib {
build_package zlib-1.2.8.tar.xz --prefix=${TARGET} --static
build_package zlib \
--prefix=${TARGET} \
--static
}
function build_gettext {
NO_MAKE=1 build_package gettext-0.19.8.1.tar.gz --prefix=${TARGET} \
build_package gettext \
--prefix=${TARGET} \
--disable-csharp \
--disable-native-java \
--disable-openmp \
--without-emacs \
--without-libexpat-prefix \
--without-libxml2-prefix \
--without-emacs \
--enable-static --disable-shared
make -C gettext-runtime/intl install
make -C gettext-tools install
--with-included-gettext \
--with-included-glib \
--with-included-libcroco \
--with-included-libunistring \
--with-included-libxml \
--enable-static \
--disable-shared
}
function build_ruby {
@ -121,29 +246,58 @@ function build_boost {
if [[ -n $CXXFLAGS ]] properties+=(cxxflags="${(q)CXXFLAGS}")
if [[ -n $LDFLAGS ]] properties+=(linkflags="${(q)LDFLAGS}")
NO_MAKE=1 CONFIGURE=./bootstrap.sh build_package boost_1_60_0.tar.bz2 \
NO_MAKE=1 CONFIGURE=./bootstrap.sh build_package boost \
--with-toolset=clang
build_tarball command "./b2 ${args} ${properties} install"
}
function build_cmark {
NO_CONFIGURE=1 build_package cmark-0.28.3.tar.gz
for PATCH in ${SCRIPT_PATH}/cmark-patches/*.patch; do
patch -p1 < ${PATCH}
done
mkdir build
cd build
$DEBUG cmake .. \
build_package cmark \
-DCMAKE_INSTALL_PREFIX=${TARGET} \
-DCMARK_TESTS=OFF \
-DCMARK_STATIC=ON \
-DCMARK_SHARED=OFF
$DEBUG make
}
build_tarball command "make DESTDIR=TMPDIR install"
function build_openssl {
NO_CONFIGURE=1 build_package openssl
./Configure \
--prefix=${TARGET} \
-L${TARGET}/lib \
no-krb5 \
--openssldir=${TARGET}/etc/openssl \
shared \
zlib \
darwin64-x86_64-cc
make
$DEBUG build_tarball command "make INSTALL_PREFIX=TMPDIR install"
}
function build_curl {
build_package curl \
--prefix=${TARGET} \
--disable-silent-rules \
--enable-ipv6 \
--without-brotli \
--without-cyassl \
--without-gnutls \
--without-gssapi \
--without-libmetalink \
--without-librtmp \
--without-libssh2 \
--without-nghttp2 \
--without-nss \
--without-polarssl \
--without-spnego \
--without-darwinssl \
--disable-ares \
--disable-ldap \
--disable-ldaps \
--with-zlib=${TARGET} \
--with-ssl=${TARGET} \
--with-ca-path=${TARGET}/etc/openssl/certs
}
function build_qtbase {
@ -158,14 +312,13 @@ function build_qtbase {
args+=(-no-framework)
if [[ -z $SHARED_QT ]] args+=(-static)
local package=qtbase-opensource-src-${QTVER}
local package=qtbase-${QTTYPE}-src-${QTVER}
local saved_CXXFLAGS=$CXXFLAGS
export CXXFLAGS="${QT_CXXFLAGS}"
export QMAKE_CXXFLAGS="${CXXFLAGS}"
NO_CONFIGURE=1 build_package ${package}.tar.xz
NO_CONFIGURE=1 build_package qtbase
if [[ $QTVER == 5.7.0 ]] patch -p2 < ${SCRIPT_PATH}/qt-patches/002-xcrun-xcode-8.patch
$DEBUG ./configure ${args}
# find . -name Makefile| xargs perl -pi -e 's{-fvisibility=hidden|-fvisibility-inlines-hidden}{}g'
@ -183,12 +336,12 @@ function build_qttools {
tools=(linguist/lrelease linguist/lconvert linguist/lupdate macdeployqt)
to_install=()
local package=qttools-opensource-src-${QTVER}
local package=qttools-${QTTYPE}-src-${QTVER}
local saved_CXXFLAGS=$CXXFLAGS
export CXXFLAGS="${QT_CXXFLAGS}"
export QMAKE_CXXFLAGS="${CXXFLAGS}"
CONFIGURE=qmake NO_MAKE=1 build_package ${package}.tar.xz
CONFIGURE=qmake NO_MAKE=1 build_package qttools
for tool ($tools) {
to_install+=($PWD/bin/${tool##*/})
@ -209,7 +362,7 @@ function build_qttranslations {
export CXXFLAGS="${QT_CXXFLAGS}"
export QMAKE_CXXFLAGS="${CXXFLAGS}"
CONFIGURE=qmake NO_MAKE=1 build_package qttranslations-opensource-src-${QTVER}.tar.xz
CONFIGURE=qmake NO_MAKE=1 build_package qttranslations
$DEBUG make
build_tarball command "make INSTALL_ROOT=TMPDIR install"
@ -221,7 +374,7 @@ function build_qtmacextras {
export CXXFLAGS="${QT_CXXFLAGS}"
export QMAKE_CXXFLAGS="${CXXFLAGS}"
CONFIGURE=qmake NO_MAKE=1 build_package qtmacextras-opensource-src-${QTVER}.tar.xz
CONFIGURE=qmake NO_MAKE=1 build_package qtmacextras
$DEBUG make
build_tarball command "make INSTALL_ROOT=TMPDIR install"
@ -233,7 +386,7 @@ function build_qtmultimedia {
export CXXFLAGS="${QT_CXXFLAGS}"
export QMAKE_CXXFLAGS="${CXXFLAGS}"
CONFIGURE=qmake NO_MAKE=1 build_package qtmultimedia-opensource-src-${QTVER}.tar.xz
CONFIGURE=qmake NO_MAKE=1 build_package qtmultimedia
$DEBUG make
build_tarball command "make INSTALL_ROOT=TMPDIR install"
@ -245,7 +398,7 @@ function build_qtsvg {
export CXXFLAGS="${QT_CXXFLAGS}"
export QMAKE_CXXFLAGS="${CXXFLAGS}"
CONFIGURE=qmake NO_MAKE=1 build_package qtsvg-opensource-src-${QTVER}.tar.xz
CONFIGURE=qmake NO_MAKE=1 build_package qtsvg
$DEBUG make
build_tarball command "make INSTALL_ROOT=TMPDIR install"
@ -257,7 +410,7 @@ function build_qtimageformats {
export CXXFLAGS="${QT_CXXFLAGS}"
export QMAKE_CXXFLAGS="${CXXFLAGS}"
CONFIGURE=qmake NO_MAKE=1 build_package qtimageformats-opensource-src-${QTVER}.tar.xz
CONFIGURE=qmake NO_MAKE=1 build_package qtimageformats
$DEBUG make
build_tarball command "make INSTALL_ROOT=TMPDIR install"
@ -282,8 +435,11 @@ function build_configured_mkvtoolnix {
local -a args
args=(
--prefix=$dmgmac --bindir=$dmgmac --datarootdir=$dmgmac
--with-extra-libs=${TARGET}/lib --with-extra-includes=${TARGET}/include
--prefix=$dmgmac
--bindir=$dmgmac
--datarootdir=$dmgmac
--with-extra-libs=${TARGET}/lib
--with-extra-includes=${TARGET}/include
--with-boost-libdir=${TARGET}/lib
--with-docbook-xsl-root=${DOCBOOK_XSL_ROOT_DIR}
--disable-debug
@ -475,6 +631,7 @@ if [[ -z $@ ]]; then
build_autoconf
build_automake
build_pkgconfig
build_libiconv
build_cmake
build_ogg
build_vorbis

View File

@ -15,5 +15,5 @@ export MACOSX_DEPLOYMENT_TARGET="10.9"
export DRAKETHREADS=${DRAKETHREADS:-4}
export MAKEFLAGS="-j ${DRAKETHREADS}"
export SHARED_QT=1
export QTVER=${QTVER:-5.9.1}
export QTVER=${QTVER:-5.11.0}
export SIGNATURE_IDENTITY="Developer ID Application: Moritz Bunkus (YZ9DVS8D8C)"

View File

@ -0,0 +1,30 @@
From 349a41da1ad88ad87825414752a8ff5fdd6a6c3f Mon Sep 17 00:00:00 2001
From: Billy Brumley <bbrumley@gmail.com>
Date: Wed, 11 Apr 2018 10:10:58 +0300
Subject: [PATCH] RSA key generation: ensure BN_mod_inverse and BN_mod_exp_mont
both get called with BN_FLG_CONSTTIME flag set.
CVE-2018-0737
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(cherry picked from commit 6939eab03a6e23d2bd2c3f5e34fe1d48e542e787)
Upstream-Status: Backport [https://github.com/openssl/openssl/commit/349a41da1ad88ad87825414752a8ff5fdd6a6c3f]
---
crypto/rsa/rsa_gen.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/crypto/rsa/rsa_gen.c b/crypto/rsa/rsa_gen.c
index 9ca5dfefb70..42b89a8dfaa 100644
--- a/crypto/rsa/rsa_gen.c
+++ b/crypto/rsa/rsa_gen.c
@@ -156,6 +156,8 @@ static int rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value,
if (BN_copy(rsa->e, e_value) == NULL)
goto err;
+ BN_set_flags(rsa->p, BN_FLG_CONSTTIME);
+ BN_set_flags(rsa->q, BN_FLG_CONSTTIME);
BN_set_flags(r2, BN_FLG_CONSTTIME);
/* generate p and q */
for (;;) {

View File

@ -0,0 +1,28 @@
Fix installation of blowfish and DES headers on case-insensitive HFS+.
http://trac.macports.org/changeset/14310
--- a/crypto/bf/Makefile.orig 2005-09-28 16:51:37.000000000 -0700
+++ b/crypto/bf/Makefile 2005-09-28 16:52:25.000000000 -0700
@@ -2,6 +2,9 @@
# OpenSSL/crypto/blowfish/Makefile
#
+# Case-insensitive HFS+
+.PHONY: install
+
DIR= bf
TOP= ../..
CC= cc
--- a/crypto/des/Makefile.orig 2005-09-28 16:51:42.000000000 -0700
+++ b/crypto/des/Makefile 2005-09-28 16:52:15.000000000 -0700
@@ -2,6 +2,9 @@
# OpenSSL/crypto/des/Makefile
#
+# Case-insensitive HFS+
+.PHONY: install
+
DIR= des
TOP= ../..
CC= cc

View File

@ -0,0 +1,25 @@
Index: Makefile.org
===================================================================
--- a/Makefile.org.orig
+++ b/Makefile.org
@@ -540,9 +540,9 @@
@$(MAKE) SDIRS='$(SDIRS)' clean
@$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' $(DISTTARVARS) tar
-install: all install_docs install_sw
+install: install_docs install_sw
-install_sw:
+install_sw: build_all openssl.pc libssl.pc libcrypto.pc
@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \
$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \
$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \
@@ -640,7 +640,7 @@
done; \
done
-install_docs:
+install_docs: build_all
@$(PERL) $(TOP)/util/mkdir-p.pl \
$(INSTALL_PREFIX)$(MANDIR)/man1 \
$(INSTALL_PREFIX)$(MANDIR)/man3 \

View File

@ -0,0 +1,40 @@
Prevent build from generating docs for both BN_print and bn_print.
http://trac.macports.org/ticket/31322
--- a/doc/crypto/bn_internal.pod.orig 2009-10-28 14:51:56.000000000 +0100
+++ b/doc/crypto/bn_internal.pod 2011-09-19 13:23:54.000000000 +0200
@@ -8,7 +8,7 @@
bn_mul_low_normal, bn_mul_recursive, bn_mul_part_recursive,
bn_mul_low_recursive, bn_mul_high, bn_sqr_normal, bn_sqr_recursive,
bn_expand, bn_wexpand, bn_expand2, bn_fix_top, bn_check_top,
-bn_print, bn_dump, bn_set_max, bn_set_high, bn_set_low - BIGNUM
+bn_dump, bn_set_max, bn_set_high, bn_set_low - BIGNUM
library internal functions
=head1 SYNOPSIS
@@ -57,7 +57,6 @@
void bn_fix_top(BIGNUM *a);
void bn_check_top(BIGNUM *a);
- void bn_print(BIGNUM *a);
void bn_dump(BN_ULONG *d, int n);
void bn_set_max(BIGNUM *a);
void bn_set_high(BIGNUM *r, BIGNUM *a, int n);
@@ -221,14 +220,14 @@
bn_check_top() verifies that C<((a)-E<gt>top E<gt>= 0 && (a)-E<gt>top
E<lt>= (a)-E<gt>dmax)>. A violation will cause the program to abort.
-bn_print() prints B<a> to stderr. bn_dump() prints B<n> words at B<d>
+bn_dump() prints B<n> words at B<d>
(in reverse order, i.e. most significant word first) to stderr.
bn_set_max() makes B<a> a static number with a B<dmax> of its current size.
This is used by bn_set_low() and bn_set_high() to make B<r> a read-only
B<BIGNUM> that contains the B<n> low or high words of B<a>.
-If B<BN_DEBUG> is not defined, bn_check_top(), bn_print(), bn_dump()
+If B<BN_DEBUG> is not defined, bn_check_top(), bn_dump()
and bn_set_max() are defined as empty macros.
=head1 SEE ALSO

View File

@ -1,49 +0,0 @@
From 77a71c32c9d19b87f79b208929e71282e8d8b5d9 Mon Sep 17 00:00:00 2001
From: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Date: Thu, 7 Jul 2016 16:00:17 -0700
Subject: configure and mkspecs: Don't try to find xcrun with xcrun
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Since Xcode 8 (beta 2) that tool is no longer available
through xcrun. We resort to xcodebuild instead.
Change-Id: If9d7b535c1cbac2caae0112b2003283aeff34fb9
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
---
qtbase/configure | 2 +-
qtbase/mkspecs/features/mac/default_pre.prf | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/qtbase/configure b/qtbase/configure
index a1f0a8f..f4c7813 100755
--- a/qtbase/configure
+++ b/qtbase/configure
@@ -543,7 +543,7 @@ if [ "$BUILD_ON_MAC" = "yes" ]; then
exit 2
fi
- if ! /usr/bin/xcrun -find xcrun >/dev/null 2>&1; then
+ if ! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1; then
echo >&2
echo " Xcode not set up properly. You may need to confirm the license" >&2
echo " agreement by running /usr/bin/xcodebuild without arguments." >&2
diff --git a/qtbase/mkspecs/features/mac/default_pre.prf b/qtbase/mkspecs/features/mac/default_pre.prf
index 0cc8cd6..5df99d1 100644
--- a/qtbase/mkspecs/features/mac/default_pre.prf
+++ b/qtbase/mkspecs/features/mac/default_pre.prf
@@ -12,7 +12,7 @@ isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
# Make sure Xcode is set up properly
- isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))): \
+ isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null"))): \
error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.")
}
--
cgit v1.0-4-g1e03

30
tools/macos/specs.sh Normal file
View File

@ -0,0 +1,30 @@
spec_autoconf=(autoconf-2.69.tar.xz https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz 64ebcec9f8ac5b2487125a86a7760d2591ac9e1d3dbd59489633f9de62a57684)
spec_automake=(automake-1.16.1.tar.gz https://ftp.gnu.org/gnu/automake/automake-1.16.1.tar.xz 5d05bb38a23fd3312b10aea93840feec685bdf4a41146e78882848165d3ae921)
spec_boost=(boost_1_67_0.tar.bz2 https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.bz2 2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba)
spec_cmake=(cmake-3.11.4.tar.gz https://cmake.org/files/v3.11/cmake-3.11.4.tar.gz 8f864e9f78917de3e1483e256270daabc4a321741592c5b36af028e72bff87f5)
spec_cmark=(cmark-0.28.3.tar.gz https://github.com/commonmark/cmark/archive/0.28.3.tar.gz acc98685d3c1b515ff787ac7c994188dadaf28a2d700c10c1221da4199bae1fc)
spec_curl=(curl-7.60.0.tar.xz https://curl.haxx.se/download/curl-7.60.0.tar.xz 8736ff8ded89ddf7e926eec7b16f82597d029fc1469f3a551f1fafaac164e6a0)
spec_flac=(flac-1.3.2.tar.xz http://downloads.xiph.org/releases/flac/flac-1.3.2.tar.xz 91cfc3ed61dc40f47f050a109b08610667d73477af6ef36dcad31c31a4a8d53f)
spec_gettext=(gettext-0.19.8.1.tar.gz https://ftp.gnu.org/gnu/gettext/gettext-0.19.8.1.tar.xz ff942af0e438ced4a8b0ea4b0b6e0d6d657157c5e2364de57baa279c1c125c43)
spec_libiconv=(libiconv-1.15.tar.gz https://ftp.gnu.org/gnu/libiconv/libiconv-1.15.tar.gz ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178)
spec_ogg=(libogg-1.3.3.tar.xz http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.xz 4f3fc6178a533d392064f14776b23c397ed4b9f48f5de297aba73b643f955c08)
spec_openssl=(openssl-1.0.2o.tar.gz https://www.openssl.org/source/openssl-1.0.2o.tar.gz ec3f5c9714ba0fd45cb4e087301eb1336c317e0d20b575a125050470e8089e4d)
spec_pkgconfig=(pkg-config-0.29.2.tar.gz https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz 6fc69c01688c9458a57eb9a1664c9aba372ccda420a02bf4429fe610e7e7d591)
spec_vorbis=(libvorbis-1.3.6.tar.xz http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.6.tar.xz af00bb5a784e7c9e69f56823de4637c350643deedaf333d0fa86ecdba6fcb415)
spec_zlib=(zlib-1.2.11.tar.xz https://www.zlib.net/zlib-1.2.11.tar.gz c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1)
# spec_qtbase=(qtbase-opensource-src-5.9.1.tar.xz https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtbase-opensource-src-5.9.1.tar.xz bc9a21e9f6fff9629019fdf9f989f064751d5073c3a28dc596def92f4d4275c6)
# spec_qtimageformats=(qtimageformats-opensource-src-5.9.1.tar.xz https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtimageformats-opensource-src-5.9.1.tar.xz 79fee307310a66100bd3d907ea69bd039dcd727c15f27e990167e7a27d1b8a47)
# spec_qtmacextras=(qtmacextras-opensource-src-5.9.1.tar.xz https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtmacextras-opensource-src-5.9.1.tar.xz 216ca6f97a4a5b87677a52fa2fff2b6b7bdb26cc874fe93ee5517328687a2601)
# spec_qtmultimedia=(qtmultimedia-opensource-src-5.9.1.tar.xz https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtmultimedia-opensource-src-5.9.1.tar.xz e48fbe71b4418eb7caba5ef5aa422483fb28d0e894cbc41f3d8b73b3d7fee6e4)
# spec_qtsvg=(qtsvg-opensource-src-5.9.1.tar.xz https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtsvg-opensource-src-5.9.1.tar.xz 99f294f874b13553e4ed49cd9465580ad0c9b92e29cdfa47b2e4096835c1e2e5)
# spec_qttools=(qttools-opensource-src-5.9.1.tar.xz https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qttools-opensource-src-5.9.1.tar.xz c4eb56cf24a75661b8317b566be37396c90357b4f6730ef12b8c97a7079ca0e8)
# spec_qttranslations=(qttranslations-opensource-src-5.9.1.tar.xz https://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qttranslations-opensource-src-5.9.1.tar.xz 4a12528a14ed77f31672bd7469cad30624e7b672f241b8f19ad59510298eb269)
spec_qtbase=(qtbase-everywhere-src-5.11.0.tar.xz https://download.qt.io/official_releases/qt/5.11/5.11.0/submodules/qtbase-everywhere-src-5.11.0.tar.xz ed6e46db84f7d34923ab4eae165c63e05ab3cfa9d19a73d3f57b4e7bfd41de66)
spec_qtimageformats=(qtimageformats-everywhere-src-5.11.0.tar.xz https://download.qt.io/official_releases/qt/5.11/5.11.0/submodules/qtimageformats-everywhere-src-5.11.0.tar.xz 58406fef507a9f1e1cd97c0834b94d0a6484e19f5dea796a3b7b58fafff11e70)
spec_qtmacextras=(qtmacextras-everywhere-src-5.11.0.tar.xz https://download.qt.io/official_releases/qt/5.11/5.11.0/submodules/qtmacextras-everywhere-src-5.11.0.tar.xz df23a4ea2d8a7d93e3c15da8cdd97565e7db563bc75c6258d8482f709f7594b7)
spec_qtmultimedia=(qtmultimedia-everywhere-src-5.11.0.tar.xz https://download.qt.io/official_releases/qt/5.11/5.11.0/submodules/qtmultimedia-everywhere-src-5.11.0.tar.xz ef5328f111ed2d27eff16e50febb66d1480e99f6a6df703f2ab8c650040f9d3c)
spec_qtsvg=(qtsvg-everywhere-src-5.11.0.tar.xz https://download.qt.io/official_releases/qt/5.11/5.11.0/submodules/qtsvg-everywhere-src-5.11.0.tar.xz 4b8efe60678a37c731356cc146886360e5852a1cd4a8ba6339fb950a2e7d1f54)
spec_qttools=(qttools-everywhere-src-5.11.0.tar.xz https://download.qt.io/official_releases/qt/5.11/5.11.0/submodules/qttools-everywhere-src-5.11.0.tar.xz 9d93ca84272cdf9031913cb3a6876716aa8a174e91693839f0de0ea3dd3a67d9)
spec_qttranslations=(qttranslations-everywhere-src-5.11.0.tar.xz https://download.qt.io/official_releases/qt/5.11/5.11.0/submodules/qttranslations-everywhere-src-5.11.0.tar.xz f13e92fce935ccc0e4bfd088645bf78ebadb42d4e944fc36c9dc08d537f2e81c)