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