Browse Source

Build qt5.12 on macos-universal, start setting up carla

tags/v1.0
falkTX 1 year ago
parent
commit
426ed032d6
9 changed files with 352 additions and 53 deletions
  1. +102
    -4
      bootstrap-carla.sh
  2. +15
    -4
      bootstrap-common.sh
  3. +3
    -0
      bootstrap-jack2.sh
  4. +4
    -1
      bootstrap-plugins.sh
  5. +70
    -38
      bootstrap-qt.sh
  6. +101
    -0
      patches/qtbase/macos-universal/01_force-10.12-universal-build.patch
  7. +0
    -0
      patches/qtbase/macos/01_osx10.8-compat.patch
  8. +31
    -0
      setup/functions.sh
  9. +26
    -6
      setup/versions.sh

+ 102
- 4
bootstrap-carla.sh View File

@@ -6,6 +6,7 @@ cd $(dirname ${0})
PAWPAW_ROOT="${PWD}"

# ---------------------------------------------------------------------------------------------------------------------
# check target

target="${1}"

@@ -14,23 +15,120 @@ if [ -z "${target}" ]; then
exit 1
fi

# ---------------------------------------------------------------------------------------------------------------------
# run bootstrap dependencies

./bootstrap-common.sh "${target}"
./bootstrap-plugins.sh "${target}"
./bootstrap-qt.sh "${target}"

# ---------------------------------------------------------------------------------------------------------------------
# source setup code

source setup/check_target.sh
source setup/env.sh
source setup/functions.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)

# 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}"

# ---------------------------------------------------------------------------------------------------------------------

+ 15
- 4
bootstrap-common.sh View File

@@ -6,6 +6,7 @@ cd $(dirname ${0})
PAWPAW_ROOT="${PWD}"

# ---------------------------------------------------------------------------------------------------------------------
# check target

target="${1}"

@@ -26,11 +27,17 @@ fi
# - sed
# - tar

# ---------------------------------------------------------------------------------------------------------------------
# source setup code

source setup/check_target.sh
source setup/env.sh
source setup/functions.sh
source setup/versions.sh

# ---------------------------------------------------------------------------------------------------------------------
# create common directories

mkdir -p "${PAWPAW_BUILDDIR}"
mkdir -p "${PAWPAW_DOWNLOADDIR}"
mkdir -p "${PAWPAW_PREFIX}"
@@ -39,10 +46,14 @@ mkdir -p "${PAWPAW_TMPDIR}"
# ---------------------------------------------------------------------------------------------------------------------
# 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}
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

# ---------------------------------------------------------------------------------------------------------------------
@@ -90,6 +101,6 @@ build_autoconf libsamplerate "${LIBSAMPLERATE_VERSION}" "--disable-fftw --disabl

download libsndfile "${LIBSNDFILE_VERSION}" "http://www.mega-nerd.com/libsndfile/files"
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"

# ---------------------------------------------------------------------------------------------------------------------

+ 3
- 0
bootstrap-jack2.sh View File

@@ -9,6 +9,7 @@ JACK2_VERSION=${JACK2_VERSION:=git}
QJACKCTL_VERSION=${QJACKCTL_VERSION:=0.6.2}

# ---------------------------------------------------------------------------------------------------------------------
# check target

target="${1}"

@@ -18,10 +19,12 @@ if [ -z "${target}" ]; then
fi

# ---------------------------------------------------------------------------------------------------------------------
# run bootstrap dependencies

./bootstrap-common.sh "${target}"

# ---------------------------------------------------------------------------------------------------------------------
# source setup code

source setup/check_target.sh
source setup/env.sh


+ 4
- 1
bootstrap-plugins.sh View File

@@ -6,6 +6,7 @@ cd $(dirname ${0})
PAWPAW_ROOT="${PWD}"

# ---------------------------------------------------------------------------------------------------------------------
# check target

target="${1}"

@@ -15,10 +16,12 @@ if [ -z "${target}" ]; then
fi

# ---------------------------------------------------------------------------------------------------------------------
# run bootstrap dependencies

./bootstrap-common.sh "${target}"

# ---------------------------------------------------------------------------------------------------------------------
# source setup code

source setup/check_target.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+=" ac_cv_func_posix_getpwuid_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



+ 70
- 38
bootstrap-qt.sh View File

@@ -6,6 +6,7 @@ cd $(dirname ${0})
PAWPAW_ROOT="${PWD}"

# ---------------------------------------------------------------------------------------------------------------------
# check target

target="${1}"

@@ -15,37 +16,29 @@ if [ -z "${target}" ]; then
fi

# ---------------------------------------------------------------------------------------------------------------------
# run bootstrap dependencies

./bootstrap-common.sh "${target}"

# ---------------------------------------------------------------------------------------------------------------------
# source setup code

source setup/check_target.sh
source setup/env.sh
source setup/functions.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

# ---------------------------------------------------------------------------------------------------------------------
# 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() {
local name="${1}"
@@ -62,15 +55,8 @@ function download_qt() {
mkdir "${dlfolder}"
tar -xf "${dlfile}" -C "${dlfolder}" --strip-components=1
fi
# if [ ! -d "${dlfolder}" ]; then
# unzip "${dlfile}" -d "${PAWPAW_BUILDDIR}"
# chmod +x "${dlfolder}/configure"
# dos2unix "${dlfolder}/configure"
# fi
}

# ---------------------------------------------------------------------------------------------------------------------

function build_qt_conf() {
local name="${1}"
local extraconfrules="${2}"
@@ -101,10 +87,22 @@ function build_qt_conf() {
done
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
pushd "${pkgdir}"
./configure ${extraconfrules}
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
fi

@@ -134,10 +132,16 @@ function build_qt_conf() {
}

# ---------------------------------------------------------------------------------------------------------------------
# qt config

# base
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+=" -optimize-size"
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"

# 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"

# enable some basic stuff
@@ -194,9 +203,11 @@ qtbase_conf_args+=" -no-sctp"
qtbase_conf_args+=" -no-securetransport"
qtbase_conf_args+=" -no-syslog"
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
qtbase_conf_args+=" -qt-freetype"
@@ -251,26 +262,47 @@ else
qtbase_conf_args+=" -qt-zlib"
fi

# ---------------------------------------------------------------------------------------------------------------------
# qt build

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}"

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/QtGui.framework/Headers ${PAWPAW_PREFIX}/include/qt5/QtGui
ln -sfv ${PAWPAW_PREFIX}/lib/QtWidgets.framework/Headers ${PAWPAW_PREFIX}/include/qt5/QtWidgets
fi

# ---------------------------------------------------------------------------------------------------------------------
# qtmacextras

if [ "${MACOS}" -eq 1 ]; then
download_qt qtmacextras
build_qmake qtmacextras${qtsuffix} ${QT5_VERSION}
fi

# ---------------------------------------------------------------------------------------------------------------------
# qtsvg

download_qt qtsvg
build_qmake qtsvg${qtsuffix} ${QT5_VERSION}

# ---------------------------------------------------------------------------------------------------------------------
# qttools (host only, thus not needed if cross-compiling)

if [ "${CROSS_COMPILING}" -eq 0 ]; then
download_qt qttools


+ 101
- 0
patches/qtbase/macos-universal/01_force-10.12-universal-build.patch View File

@@ -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

patches/qtbase/01_osx10.8-compat.patch → patches/qtbase/macos/01_osx10.8-compat.patch View File


+ 31
- 0
setup/functions.sh View File

@@ -338,6 +338,37 @@ function build_meson() {
_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() {
local name="${1}"
local version="${2}"


+ 26
- 6
setup/versions.sh View File

@@ -4,7 +4,6 @@
PKG_CONFIG_VERSION=0.28

# common
FILE_VERSION=5.34
FLAC_VERSION=1.3.3
FLUIDSYNTH_VERSION=1.1.11
FFTW_VERSION=3.3.8
@@ -25,11 +24,32 @@ SRATOM_VERSION=0.6.6
ZLIB_VERSION=1.2.11

# 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
AFTEN_VERSION=0.0.8


Loading…
Cancel
Save