@@ -6,6 +6,7 @@ cd $(dirname ${0}) | |||||
PAWPAW_ROOT="${PWD}" | PAWPAW_ROOT="${PWD}" | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# check target | |||||
target="${1}" | target="${1}" | ||||
@@ -14,23 +15,120 @@ if [ -z "${target}" ]; then | |||||
exit 1 | exit 1 | ||||
fi | fi | ||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# run bootstrap dependencies | |||||
./bootstrap-common.sh "${target}" | ./bootstrap-common.sh "${target}" | ||||
./bootstrap-plugins.sh "${target}" | ./bootstrap-plugins.sh "${target}" | ||||
./bootstrap-qt.sh "${target}" | ./bootstrap-qt.sh "${target}" | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# source setup code | |||||
source setup/check_target.sh | source setup/check_target.sh | ||||
source setup/env.sh | source setup/env.sh | ||||
source setup/functions.sh | source setup/functions.sh | ||||
source setup/versions.sh | source setup/versions.sh | ||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# custom function as needed for pyqt packages | |||||
function build_pyqt() { | |||||
local name="${1}" | |||||
local version="${2}" | |||||
local extraconfrules="${3}" | |||||
local pkgdir="${PAWPAW_BUILDDIR}/${name}-${version}" | |||||
local python=python3 | |||||
if ! which python3 > /dev/null; then | |||||
python=python | |||||
fi | |||||
local EXTRA_CFLAGS2="${EXTRA_CFLAGS}" | |||||
local EXTRA_CXXFLAGS2="${EXTRA_CXXFLAGS}" | |||||
local EXTRA_LDFLAGS2="${EXTRA_LDFLAGS}" | |||||
local EXTRA_MAKE_ARGS2="${EXTRA_MAKE_ARGS}" | |||||
_prebuild "${name}" "${pkgdir}" | |||||
if [ ! -f "${pkgdir}/.stamp_preconfigured" ]; then | |||||
pushd "${pkgdir}" | |||||
${python} configure.py build ${extraconfrules} | |||||
touch .stamp_preconfigured | |||||
popd | |||||
fi | |||||
_postbuild | |||||
export EXTRA_CFLAGS="${EXTRA_CFLAGS2}" | |||||
export EXTRA_CXXFLAGS="${EXTRA_CXXFLAGS2}" | |||||
export EXTRA_LDFLAGS="${EXTRA_LDFLAGS2}" | |||||
export EXTRA_MAKE_ARGS="${EXTRA_MAKE_ARGS2}" | |||||
build_make "${name}" "${version}" | |||||
} | |||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# file/magic (posix only) | # file/magic (posix only) | ||||
# if [ "${WIN32}" -eq 0 ]; then | |||||
# download file "${FILE_VERSION}" "ftp://ftp.astron.com/pub/file" | |||||
# build_autoconf file "${FILE_VERSION}" | |||||
# fi | |||||
if [ "${WIN32}" -eq 0 ]; then | |||||
download file "${FILE_VERSION}" "ftp://ftp.astron.com/pub/file" | |||||
build_autoconf file "${FILE_VERSION}" | |||||
fi | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# python | |||||
download Python "${PYTHON_VERSION}" "https://www.python.org/ftp/python/${PYTHON_VERSION}" "tgz" | |||||
if [ "${MACOS}" -eq 0 ]; then | |||||
sed -i -e "s/#zlib zlibmodule.c/zlib zlibmodule.c/" Modules/Setup.dist | |||||
fi | |||||
build_conf Python "${PYTHON_VERSION}" "--enable-optimizations --enable-shared" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# sip | |||||
download sip "${SIP_VERSION}" "https://files.kde.org/krita/build/dependencies" | |||||
build_pyqt sip "${SIP_VERSION}" "--sip-module PyQt5.sip" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# pyqt5 | |||||
download PyQt5_gpl "${PYQT5_VERSION}" "https://files.kde.org/krita/build/dependencies" | |||||
build_pyqt PyQt5_gpl "${PYQT5_VERSION}" "--concatenate --confirm-license -c" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# pyliblo | |||||
download pyliblo "${PYLIBLO_VERSION}" "http://das.nasophon.de/download" | |||||
build_python pyliblo "${PYLIBLO_VERSION}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# toml | |||||
download toml "${TOML_VERSION}" "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c" | |||||
build_python toml "${TOML_VERSION}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# zipp | |||||
download zipp "${ZIPP_VERSION}" "https://files.pythonhosted.org/packages/ce/b0/757db659e8b91cb3ea47d90350d7735817fe1df36086afc77c1c4610d559" | |||||
build_python zipp "${ZIPP_VERSION}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# importlib_metadata | |||||
download importlib_metadata "${IMPORTLIB_METADATA_VERSION}" "https://files.pythonhosted.org/packages/3f/a8/16dc098b0addd1c20719c18a86e985be851b3ec1e103e703297169bb22cc" | |||||
build_python importlib_metadata "${IMPORTLIB_METADATA_VERSION}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# cxfreeze | |||||
download cx_Freeze "${CXFREEZE_VERSION}" "https://github.com/anthony-tuininga/cx_Freeze/archive" | |||||
sed -i -e 's/, use_builtin_types=False//' cx_Freeze/macdist.py | |||||
sed -i -e 's/"python%s.%s"/"python%s.%sm"/' setup.py | |||||
sed -i -e 's/extra_postargs=extraArgs,/extra_postargs=extraArgs+os.getenv("LDFLAGS").split(),/' setup.py | |||||
build_python cx_Freeze "${CXFREEZE_VERSION}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- |
@@ -6,6 +6,7 @@ cd $(dirname ${0}) | |||||
PAWPAW_ROOT="${PWD}" | PAWPAW_ROOT="${PWD}" | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# check target | |||||
target="${1}" | target="${1}" | ||||
@@ -26,11 +27,17 @@ fi | |||||
# - sed | # - sed | ||||
# - tar | # - tar | ||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# source setup code | |||||
source setup/check_target.sh | source setup/check_target.sh | ||||
source setup/env.sh | source setup/env.sh | ||||
source setup/functions.sh | source setup/functions.sh | ||||
source setup/versions.sh | source setup/versions.sh | ||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# create common directories | |||||
mkdir -p "${PAWPAW_BUILDDIR}" | mkdir -p "${PAWPAW_BUILDDIR}" | ||||
mkdir -p "${PAWPAW_DOWNLOADDIR}" | mkdir -p "${PAWPAW_DOWNLOADDIR}" | ||||
mkdir -p "${PAWPAW_PREFIX}" | mkdir -p "${PAWPAW_PREFIX}" | ||||
@@ -39,10 +46,14 @@ mkdir -p "${PAWPAW_TMPDIR}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# let's use native glib for linux builds | # let's use native glib for linux builds | ||||
if [ "${LINUX}" -eq 1 ] && [ ! -e "${TARGET_PKG_CONFIG_PATH}/glib-2.0.pc" ]; then | |||||
if [ "${LINUX}" -eq 1 ]; then | |||||
mkdir -p ${TARGET_PKG_CONFIG_PATH} | mkdir -p ${TARGET_PKG_CONFIG_PATH} | ||||
ln -s $(pkg-config --variable=pcfiledir glib-2.0)/g{io,lib,module,object,thread}-2.0.pc ${TARGET_PKG_CONFIG_PATH}/ | |||||
ln -s $(pkg-config --variable=pcfiledir libpcre)/libpcre.pc ${TARGET_PKG_CONFIG_PATH}/ | |||||
if [ ! -e "${TARGET_PKG_CONFIG_PATH}/glib-2.0.pc" ]; then | |||||
ln -s $(pkg-config --variable=pcfiledir glib-2.0)/g{io,lib,module,object,thread}-2.0.pc ${TARGET_PKG_CONFIG_PATH}/ | |||||
fi | |||||
if [ "${LINUX}" -eq 1 ] && [ ! -e "${TARGET_PKG_CONFIG_PATH}/libpcre.pc" ]; then | |||||
ln -s $(pkg-config --variable=pcfiledir libpcre)/libpcre.pc ${TARGET_PKG_CONFIG_PATH}/ | |||||
fi | |||||
fi | fi | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
@@ -90,6 +101,6 @@ build_autoconf libsamplerate "${LIBSAMPLERATE_VERSION}" "--disable-fftw --disabl | |||||
download libsndfile "${LIBSNDFILE_VERSION}" "http://www.mega-nerd.com/libsndfile/files" | download libsndfile "${LIBSNDFILE_VERSION}" "http://www.mega-nerd.com/libsndfile/files" | ||||
patch_file libsndfile "${LIBSNDFILE_VERSION}" "configure" 's/ -Wvla//' | patch_file libsndfile "${LIBSNDFILE_VERSION}" "configure" 's/ -Wvla//' | ||||
build_autoconf libsndfile "${LIBSNDFILE_VERSION}" "--disable-full-suite --disable-alsa --disable-sqlite" | |||||
build_autoconf libsndfile "${LIBSNDFILE_VERSION}" "--disable-alsa --disable-full-suite --disable-sqlite" | |||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- |
@@ -9,6 +9,7 @@ JACK2_VERSION=${JACK2_VERSION:=git} | |||||
QJACKCTL_VERSION=${QJACKCTL_VERSION:=0.6.2} | QJACKCTL_VERSION=${QJACKCTL_VERSION:=0.6.2} | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# check target | |||||
target="${1}" | target="${1}" | ||||
@@ -18,10 +19,12 @@ if [ -z "${target}" ]; then | |||||
fi | fi | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# run bootstrap dependencies | |||||
./bootstrap-common.sh "${target}" | ./bootstrap-common.sh "${target}" | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# source setup code | |||||
source setup/check_target.sh | source setup/check_target.sh | ||||
source setup/env.sh | source setup/env.sh | ||||
@@ -6,6 +6,7 @@ cd $(dirname ${0}) | |||||
PAWPAW_ROOT="${PWD}" | PAWPAW_ROOT="${PWD}" | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# check target | |||||
target="${1}" | target="${1}" | ||||
@@ -15,10 +16,12 @@ if [ -z "${target}" ]; then | |||||
fi | fi | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# run bootstrap dependencies | |||||
./bootstrap-common.sh "${target}" | ./bootstrap-common.sh "${target}" | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# source setup code | |||||
source setup/check_target.sh | source setup/check_target.sh | ||||
source setup/env.sh | source setup/env.sh | ||||
@@ -86,7 +89,7 @@ if [ "${MACOS}" -eq 1 ] || [ "${WIN32}" -eq 1 ]; then | |||||
GLIB_EXTRAFLAGS+=" glib_cv_uscore=no" | GLIB_EXTRAFLAGS+=" glib_cv_uscore=no" | ||||
GLIB_EXTRAFLAGS+=" ac_cv_func_posix_getpwuid_r=yes" | GLIB_EXTRAFLAGS+=" ac_cv_func_posix_getpwuid_r=yes" | ||||
GLIB_EXTRAFLAGS+=" ac_cv_func_posix_getgrgid_r=yes" | GLIB_EXTRAFLAGS+=" ac_cv_func_posix_getgrgid_r=yes" | ||||
patch_file glib ${GLIB_VERSION} "configure.in" 's/G_ATOMIC_I486/G_ATOMIC_I486_NOT/' | |||||
patch_file glib ${GLIB_VERSION} "configure.in" 's/G_ATOMIC_I486/G_ATOMIC_NOT_I486/' | |||||
fi | fi | ||||
fi | fi | ||||
@@ -6,6 +6,7 @@ cd $(dirname ${0}) | |||||
PAWPAW_ROOT="${PWD}" | PAWPAW_ROOT="${PWD}" | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# check target | |||||
target="${1}" | target="${1}" | ||||
@@ -15,37 +16,29 @@ if [ -z "${target}" ]; then | |||||
fi | fi | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# run bootstrap dependencies | |||||
./bootstrap-common.sh "${target}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# source setup code | |||||
source setup/check_target.sh | source setup/check_target.sh | ||||
source setup/env.sh | source setup/env.sh | ||||
source setup/functions.sh | source setup/functions.sh | ||||
source setup/versions.sh | source setup/versions.sh | ||||
mkdir -p "${PAWPAW_BUILDDIR}" | |||||
mkdir -p "${PAWPAW_DOWNLOADDIR}" | |||||
mkdir -p "${PAWPAW_PREFIX}" | |||||
mkdir -p "${PAWPAW_TMPDIR}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# let's use native glib for linux builds | |||||
# qt package suffix changes depending on the version | |||||
if [ "${LINUX}" -eq 1 ] && [ ! -e "${TARGET_PKG_CONFIG_PATH}/glib-2.0.pc" ]; then | |||||
mkdir -p ${TARGET_PKG_CONFIG_PATH} | |||||
ln -s $(pkg-config --variable=pcfiledir glib-2.0)/g{io,lib,module,object,thread}-2.0.pc ${TARGET_PKG_CONFIG_PATH}/ | |||||
ln -s $(pkg-config --variable=pcfiledir libpcre)/libpcre.pc ${TARGET_PKG_CONFIG_PATH}/ | |||||
if [ "${QT5_MVERSION}" = "5.12" ]; then | |||||
qtsuffix="-everywhere-src" | |||||
else | |||||
qtsuffix="-opensource-src" | |||||
fi | fi | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# pkgconfig | |||||
download pkg-config "${PKG_CONFIG_VERSION}" "https://pkg-config.freedesktop.org/releases" | |||||
build_host_autoconf pkg-config "${PKG_CONFIG_VERSION}" "--enable-indirect-deps --with-internal-glib --with-pc-path=${TARGET_PKG_CONFIG_PATH}" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
qtsuffix="-opensource-src" | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# custom functions for qt handling | |||||
function download_qt() { | function download_qt() { | ||||
local name="${1}" | local name="${1}" | ||||
@@ -62,15 +55,8 @@ function download_qt() { | |||||
mkdir "${dlfolder}" | mkdir "${dlfolder}" | ||||
tar -xf "${dlfile}" -C "${dlfolder}" --strip-components=1 | tar -xf "${dlfile}" -C "${dlfolder}" --strip-components=1 | ||||
fi | fi | ||||
# if [ ! -d "${dlfolder}" ]; then | |||||
# unzip "${dlfile}" -d "${PAWPAW_BUILDDIR}" | |||||
# chmod +x "${dlfolder}/configure" | |||||
# dos2unix "${dlfolder}/configure" | |||||
# fi | |||||
} | } | ||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
function build_qt_conf() { | function build_qt_conf() { | ||||
local name="${1}" | local name="${1}" | ||||
local extraconfrules="${2}" | local extraconfrules="${2}" | ||||
@@ -101,10 +87,22 @@ function build_qt_conf() { | |||||
done | done | ||||
fi | fi | ||||
if [ -d "${PAWPAW_ROOT}/patches/${name}/${PAWPAW_TARGET}" ]; then | |||||
for p in $(ls "${PAWPAW_ROOT}/patches/${name}/${PAWPAW_TARGET}/" | grep "\.patch" | sort); do | |||||
if [ ! -f "${pkgdir}/.stamp_applied_${p}" ]; then | |||||
patch -p1 -d "${pkgdir}" -i "${PAWPAW_ROOT}/patches/${name}/${PAWPAW_TARGET}/${p}" | |||||
touch "${pkgdir}/.stamp_applied_${p}" | |||||
fi | |||||
done | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_configured" ]; then | if [ ! -f "${pkgdir}/.stamp_configured" ]; then | ||||
pushd "${pkgdir}" | pushd "${pkgdir}" | ||||
./configure ${extraconfrules} | ./configure ${extraconfrules} | ||||
touch .stamp_configured | touch .stamp_configured | ||||
#sed -i -e 's/sub-tests //' Makefile | |||||
#sed -i -e 's/sub-tests-all //' Makefile | |||||
#sed -i -e 's/sub-tests-qmake_all //' Makefile | |||||
popd | popd | ||||
fi | fi | ||||
@@ -134,10 +132,16 @@ function build_qt_conf() { | |||||
} | } | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# qt config | |||||
# base | # base | ||||
qtbase_conf_args="-opensource -confirm-license" | qtbase_conf_args="-opensource -confirm-license" | ||||
qtbase_conf_args+=" -c++std c++11" | |||||
qtbase_conf_args+=" -c++std" | |||||
if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then | |||||
qtbase_conf_args+=" c++14" | |||||
else | |||||
qtbase_conf_args+=" c++11" | |||||
fi | |||||
# qtbase_conf_args+=" -optimized-qmake" | # qtbase_conf_args+=" -optimized-qmake" | ||||
qtbase_conf_args+=" -optimize-size" | qtbase_conf_args+=" -optimize-size" | ||||
qtbase_conf_args+=" -release -strip" | qtbase_conf_args+=" -release -strip" | ||||
@@ -159,7 +163,12 @@ qtbase_conf_args+=" -libexecdir ${PAWPAW_PREFIX}/libexec" | |||||
qtbase_conf_args+=" -plugindir ${PAWPAW_PREFIX}/lib/qt5/plugins" | qtbase_conf_args+=" -plugindir ${PAWPAW_PREFIX}/lib/qt5/plugins" | ||||
# enable optimizations (sse2 only) | # enable optimizations (sse2 only) | ||||
qtbase_conf_args+=" -sse2" | |||||
if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then | |||||
# TODO SSE2 and NEON | |||||
qtbase_conf_args+=" -no-sse2" | |||||
else | |||||
qtbase_conf_args+=" -sse2" | |||||
fi | |||||
qtbase_conf_args+=" -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-avx512" | qtbase_conf_args+=" -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-avx2 -no-avx512" | ||||
# enable some basic stuff | # enable some basic stuff | ||||
@@ -194,9 +203,11 @@ qtbase_conf_args+=" -no-sctp" | |||||
qtbase_conf_args+=" -no-securetransport" | qtbase_conf_args+=" -no-securetransport" | ||||
qtbase_conf_args+=" -no-syslog" | qtbase_conf_args+=" -no-syslog" | ||||
qtbase_conf_args+=" -no-tslib" | qtbase_conf_args+=" -no-tslib" | ||||
qtbase_conf_args+=" -no-xinput2" | |||||
qtbase_conf_args+=" -no-xkbcommon-evdev" | |||||
qtbase_conf_args+=" -no-xkbcommon-x11" | |||||
if [ "${MACOS_UNIVERSAL}" -eq 0 ]; then | |||||
qtbase_conf_args+=" -no-xinput2" | |||||
qtbase_conf_args+=" -no-xkbcommon-evdev" | |||||
qtbase_conf_args+=" -no-xkbcommon-x11" | |||||
fi | |||||
# font stuff | # font stuff | ||||
qtbase_conf_args+=" -qt-freetype" | qtbase_conf_args+=" -qt-freetype" | ||||
@@ -251,26 +262,47 @@ else | |||||
qtbase_conf_args+=" -qt-zlib" | qtbase_conf_args+=" -qt-zlib" | ||||
fi | fi | ||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# qt build | |||||
download_qt qtbase | download_qt qtbase | ||||
# patch_file qtbase${qtsuffix} ${QT5_VERSION} "configure" 's/ --sdk $sdk / /' | |||||
# patch_file qtbase${qtsuffix} ${QT5_VERSION} "mkspecs/features/mac/sdk.prf" 's/ --sdk $$sdk / /' | |||||
patch_file qtbase${qtsuffix} ${QT5_VERSION} "mkspecs/macx-clang/qmake.conf" 's/10.10/10.8/' | |||||
patch_file qtbase${qtsuffix} ${QT5_VERSION} "mkspecs/win32-g++/qmake.conf" 's/= -shared/= -static -shared/' | |||||
patch_file qtbase${qtsuffix} ${QT5_VERSION} "src/plugins/platforms/direct2d/direct2d.pro" 's/-lVersion/-lversion/' | |||||
if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then | |||||
patch_file qtbase${qtsuffix} ${QT5_VERSION} "mkspecs/common/macx.conf" 's/QMAKE_APPLE_DEVICE_ARCHS = x86_64/QMAKE_APPLE_DEVICE_ARCHS = arm64 x86_64/' | |||||
patch_file qtbase${qtsuffix} ${QT5_VERSION} "mkspecs/common/macx.conf" 's/QT_MAC_SDK_VERSION_MIN = 10.13/QT_MAC_SDK_VERSION_MIN = 10.12/' | |||||
patch_file qtbase${qtsuffix} ${QT5_VERSION} "mkspecs/common/macx.conf" 's/QT_MAC_SDK_VERSION_MAX = 10.15/QT_MAC_SDK_VERSION_MAX = 10.12/' | |||||
elif [ "${MACOS}" -eq 1 ]; then | |||||
patch_file qtbase${qtsuffix} ${QT5_VERSION} "mkspecs/macx-clang/qmake.conf" 's/10.10/10.8/' | |||||
fi | |||||
if [ "${WIN32}" -eq 1 ]; then | |||||
patch_file qtbase${qtsuffix} ${QT5_VERSION} "mkspecs/win32-g++/qmake.conf" 's/= -shared/= -static -shared/' | |||||
patch_file qtbase${qtsuffix} ${QT5_VERSION} "src/plugins/platforms/direct2d/direct2d.pro" 's/-lVersion/-lversion/' | |||||
fi | |||||
build_qt_conf qtbase "${qtbase_conf_args}" | build_qt_conf qtbase "${qtbase_conf_args}" | ||||
if [ "${MACOS}" -eq 1 ] && [ ! -e "ln -s ${PAWPAW_PREFIX}/include/qt5/QtCore" ]; then | |||||
if [ "${MACOS}" -eq 1 ] && [ ! -e "${PAWPAW_PREFIX}/include/qt5/QtCore" ]; then | |||||
ln -sfv ${PAWPAW_PREFIX}/lib/QtCore.framework/Headers ${PAWPAW_PREFIX}/include/qt5/QtCore | ln -sfv ${PAWPAW_PREFIX}/lib/QtCore.framework/Headers ${PAWPAW_PREFIX}/include/qt5/QtCore | ||||
ln -sfv ${PAWPAW_PREFIX}/lib/QtGui.framework/Headers ${PAWPAW_PREFIX}/include/qt5/QtGui | ln -sfv ${PAWPAW_PREFIX}/lib/QtGui.framework/Headers ${PAWPAW_PREFIX}/include/qt5/QtGui | ||||
ln -sfv ${PAWPAW_PREFIX}/lib/QtWidgets.framework/Headers ${PAWPAW_PREFIX}/include/qt5/QtWidgets | ln -sfv ${PAWPAW_PREFIX}/lib/QtWidgets.framework/Headers ${PAWPAW_PREFIX}/include/qt5/QtWidgets | ||||
fi | fi | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# qtmacextras | |||||
if [ "${MACOS}" -eq 1 ]; then | |||||
download_qt qtmacextras | |||||
build_qmake qtmacextras${qtsuffix} ${QT5_VERSION} | |||||
fi | |||||
# --------------------------------------------------------------------------------------------------------------------- | |||||
# qtsvg | |||||
download_qt qtsvg | download_qt qtsvg | ||||
build_qmake qtsvg${qtsuffix} ${QT5_VERSION} | build_qmake qtsvg${qtsuffix} ${QT5_VERSION} | ||||
# --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
# qttools (host only, thus not needed if cross-compiling) | |||||
if [ "${CROSS_COMPILING}" -eq 0 ]; then | if [ "${CROSS_COMPILING}" -eq 0 ]; then | ||||
download_qt qttools | download_qt qttools | ||||
@@ -0,0 +1,101 @@ | |||||
diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp | |||||
index 5bab897..ef2f6b2 100644 | |||||
--- a/src/corelib/io/qfilesystemengine_unix.cpp | |||||
+++ b/src/corelib/io/qfilesystemengine_unix.cpp | |||||
@@ -195,7 +195,7 @@ static bool isPackage(const QFileSystemMetaData &data, const QFileSystemEntry &e | |||||
namespace { | |||||
namespace GetFileTimes { | |||||
-#if !QT_CONFIG(futimens) && (QT_CONFIG(futimes)) | |||||
+#if 1 | |||||
template <typename T> | |||||
static inline typename QtPrivate::QEnableIf<(&T::st_atim, &T::st_mtim, true)>::Type get(const T *p, struct timeval *access, struct timeval *modification) | |||||
{ | |||||
@@ -1401,7 +1401,7 @@ bool QFileSystemEngine::setFileTime(int fd, const QDateTime &newDate, QAbstractF | |||||
return false; | |||||
} | |||||
-#if QT_CONFIG(futimens) | |||||
+#if 0 | |||||
struct timespec ts[2]; | |||||
ts[0].tv_sec = ts[1].tv_sec = 0; | |||||
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp | |||||
index 6265d51..e3d96d7 100644 | |||||
--- a/src/gui/painting/qdrawhelper.cpp | |||||
+++ b/src/gui/painting/qdrawhelper.cpp | |||||
@@ -6622,3 +6622,5 @@ static void qInitDrawhelperFunctions() | |||||
Q_CONSTRUCTOR_FUNCTION(qInitDrawhelperFunctions); | |||||
QT_END_NAMESPACE | |||||
+ | |||||
+#include "qdrawhelper_sse2.cpp" | |||||
diff --git a/src/gui/painting/qdrawhelper_sse2.cpp b/src/gui/painting/qdrawhelper_sse2.cpp | |||||
index 3212ffd..05ca742 100644 | |||||
--- a/src/gui/painting/qdrawhelper_sse2.cpp | |||||
+++ b/src/gui/painting/qdrawhelper_sse2.cpp | |||||
@@ -40,7 +40,7 @@ | |||||
#include <private/qdrawhelper_x86_p.h> | |||||
-#ifdef QT_COMPILER_SUPPORTS_SSE2 | |||||
+#ifdef __SSE2__ | |||||
#include <private/qdrawingprimitive_sse2_p.h> | |||||
#include <private/qpaintengine_raster_p.h> | |||||
diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.h b/src/plugins/platforms/cocoa/qcocoahelpers.h | |||||
index 69aa793..ba65b74 100644 | |||||
--- a/src/plugins/platforms/cocoa/qcocoahelpers.h | |||||
+++ b/src/plugins/platforms/cocoa/qcocoahelpers.h | |||||
@@ -178,7 +178,7 @@ T qt_mac_resolveOption(const T &fallback, QWindow *window, const QByteArray &pro | |||||
// ------------------------------------------------------------------------- | |||||
-#if !defined(Q_PROCESSOR_X86_64) | |||||
+#if !defined(Q_PROCESSOR_X86_64) && !defined(Q_PROCESSOR_ARM_64) | |||||
#error "32-bit builds are not supported" | |||||
#endif | |||||
@@ -281,6 +281,7 @@ ReturnType qt_msgSendSuper(id receiver, SEL selector, Args... args) | |||||
return superFn(&sup, selector, args...); | |||||
} | |||||
+#if !defined(Q_PROCESSOR_ARM_64) | |||||
template <typename ReturnType, typename... Args> | |||||
ReturnType qt_msgSendSuper_stret(id receiver, SEL selector, Args... args) | |||||
{ | |||||
@@ -295,6 +296,7 @@ ReturnType qt_msgSendSuper_stret(id receiver, SEL selector, Args... args) | |||||
superStretFn(&ret, &sup, selector, args...); | |||||
return ret; | |||||
} | |||||
+#endif | |||||
template<typename... Args> | |||||
class QSendSuperHelper { | |||||
@@ -335,11 +337,13 @@ private: | |||||
return qt_msgSendSuper<ReturnType>(m_receiver, m_selector, std::get<Is>(args)...); | |||||
} | |||||
+#if !defined(Q_PROCESSOR_ARM_64) | |||||
template <typename ReturnType, int... Is> | |||||
if_requires_stret<ReturnType, true> msgSendSuper(std::tuple<Args...>& args, QtPrivate::IndexesList<Is...>) | |||||
{ | |||||
return qt_msgSendSuper_stret<ReturnType>(m_receiver, m_selector, std::get<Is>(args)...); | |||||
} | |||||
+#endif | |||||
template <typename ReturnType> | |||||
ReturnType msgSendSuper(std::tuple<Args...>& args) | |||||
diff --git a/src/plugins/platforms/cocoa/qcocoahelpers.mm b/src/plugins/platforms/cocoa/qcocoahelpers.mm | |||||
index d36a7f6..039fdf4 100644 | |||||
--- a/src/plugins/platforms/cocoa/qcocoahelpers.mm | |||||
+++ b/src/plugins/platforms/cocoa/qcocoahelpers.mm | |||||
@@ -372,7 +372,7 @@ QString qt_mac_removeAmpersandEscapes(QString s) | |||||
// ------------------------------------------------------------------------- | |||||
-#if !defined(Q_PROCESSOR_X86_64) | |||||
+#if !defined(Q_PROCESSOR_X86_64) && !defined(Q_PROCESSOR_ARM_64) | |||||
#error "32-bit builds are not supported" | |||||
#endif | |||||
@@ -338,6 +338,37 @@ function build_meson() { | |||||
_postbuild | _postbuild | ||||
} | } | ||||
function build_python() { | |||||
local name="${1}" | |||||
local version="${2}" | |||||
local extraconfrules="${3}" | |||||
local pkgdir="${PAWPAW_BUILDDIR}/${name}-${version}" | |||||
local python=python3 | |||||
if ! which python3 > /dev/null; then | |||||
python=python | |||||
fi | |||||
_prebuild "${name}" "${pkgdir}" | |||||
if [ ! -f "${pkgdir}/.stamp_built" ]; then | |||||
pushd "${pkgdir}" | |||||
${python} setup.py build ${extraconfrules} | |||||
touch .stamp_built | |||||
popd | |||||
fi | |||||
if [ ! -f "${pkgdir}/.stamp_installed" ]; then | |||||
pushd "${pkgdir}" | |||||
${python} setup.py install --prefix="${PAWPAW_PREFIX}" ${extraconfrules} | |||||
touch .stamp_installed | |||||
popd | |||||
fi | |||||
_postbuild | |||||
} | |||||
function build_qmake() { | function build_qmake() { | ||||
local name="${1}" | local name="${1}" | ||||
local version="${2}" | local version="${2}" | ||||
@@ -4,7 +4,6 @@ | |||||
PKG_CONFIG_VERSION=0.28 | PKG_CONFIG_VERSION=0.28 | ||||
# common | # common | ||||
FILE_VERSION=5.34 | |||||
FLAC_VERSION=1.3.3 | FLAC_VERSION=1.3.3 | ||||
FLUIDSYNTH_VERSION=1.1.11 | FLUIDSYNTH_VERSION=1.1.11 | ||||
FFTW_VERSION=3.3.8 | FFTW_VERSION=3.3.8 | ||||
@@ -25,11 +24,32 @@ SRATOM_VERSION=0.6.6 | |||||
ZLIB_VERSION=1.2.11 | ZLIB_VERSION=1.2.11 | ||||
# qt stuff | # qt stuff | ||||
QT5_VERSION=5.9.8 | |||||
QT5_MVERSION=5.9 | |||||
# PYTHON_VERSION=3.7.4 | |||||
# PYLIBLO_VERSION=0.9.2 | |||||
# CXFREEZE_VERSION=6.1 | |||||
if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then | |||||
QT5_VERSION=5.12.5 | |||||
QT5_MVERSION=5.12 | |||||
else | |||||
QT5_VERSION=5.9.8 | |||||
QT5_MVERSION=5.9 | |||||
fi | |||||
# carla builds only | |||||
FILE_VERSION=5.34 | |||||
if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then | |||||
CXFREEZE_VERSION=6.4.2 | |||||
PYTHON_VERSION=3.9.1 | |||||
PYQT5_VERSION=5.13.1 | |||||
SIP_VERSION=4.19.19 | |||||
# extra, needed only for cxfreeze | |||||
IMPORTLIB_METADATA_VERSION=3.1.1 | |||||
SETUPTOOLS_SCM_VERSION=5.0.0 | |||||
TOML_VERSION=0.10.2 | |||||
ZIPP_VERSION=3.4.0 | |||||
else | |||||
CXFREEZE_VERSION=6.1 | |||||
PYTHON_VERSION=3.7.4 | |||||
PYQT5_VERSION=5.9.2 | |||||
SIP_VERSION=4.19.13 | |||||
fi | |||||
# jack builds only | # jack builds only | ||||
AFTEN_VERSION=0.0.8 | AFTEN_VERSION=0.0.8 | ||||