diff --git a/3rdparty/ext_python/CMakeLists.txt b/3rdparty/ext_python/CMakeLists.txt index 6496c12368..a18b12a745 100644 --- a/3rdparty/ext_python/CMakeLists.txt +++ b/3rdparty/ext_python/CMakeLists.txt @@ -1,77 +1,76 @@ SET(PREFIX_ext_python "${EXTPREFIX}" ) if (UNIX) if (APPLE) - set(PYTHON_VERSION "3.5") + set(PYTHON_VERSION "3.8") ExternalProject_Add( ext_python DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/Python-3.5.2.tar.gz - URL_MD5 ea334d398990037a4b8be324bd475c83 + URL https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz + URL_MD5 e18a9d1a0a6d858b9787e03fc6fdaa20 - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/pyport_osx.diff - COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/osx_fixappinstall.diff + PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/osx_fixappinstall.diff - CONFIGURE_COMMAND /configure MACOSX_DEPLOYMENT_TARGET=10.11 -prefix=${PREFIX_ext_python} ${GLOBAL_AUTOMAKE_PROFILE} - --with-cxx-main=/usr/bin/g++ --without-ensurepip --disable-tests --without-test --without-tests --enable-framework=${PREFIX_ext_python}/lib + CONFIGURE_COMMAND /configure MACOSX_DEPLOYMENT_TARGET=10.13 --prefix=${PREFIX_ext_python} ${GLOBAL_AUTOMAKE_PROFILE} + --without-ensurepip --enable-framework=${PREFIX_ext_python}/lib --enable-optimizations BUILD_COMMAND make INSTALL_COMMAND make install COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_python}/bin/python3 ${PREFIX_ext_python}/bin/python COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/sitecustomize.py ${PREFIX_ext_python}/lib/Python.framework/Versions/Current/lib/python${PYTHON_VERSION}/ COMMAND ${CMAKE_COMMAND} -E create_symlink ./lib/python${PYTHON_VERSION}/site-packages ${PREFIX_ext_python}/lib/Python.framework/Versions/Current/site-packages # CMake FindPythonLib can't find framework libraries, lack of maintainer for Python COMMAND find ${PREFIX_ext_python}/lib/Python.framework/Versions/Current/lib -type l -d 1 | grep -o "[^/]*$" | xargs -I FILE ${CMAKE_COMMAND} -E create_symlink ./Python.framework/Python ${PREFIX_ext_python}/lib/FILE UPDATE_COMMAND "" ALWAYS 0 ) else() ExternalProject_Add( ext_python DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL http://files.kde.org/krita/build/dependencies/Python-3.5.2.tar.gz - URL_MD5 ea334d398990037a4b8be324bd475c83 + URL https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz + URL_MD5 e18a9d1a0a6d858b9787e03fc6fdaa20 - CONFIGURE_COMMAND /configure --prefix=${PREFIX_ext_python} ${GLOBAL_AUTOMAKE_PROFILE} --enable-shared + CONFIGURE_COMMAND /configure --prefix=${PREFIX_ext_python} ${GLOBAL_AUTOMAKE_PROFILE} --enable-shared BUILD_COMMAND make INSTALL_COMMAND make install COMMAND ${CMAKE_COMMAND} -E copy ${PREFIX_ext_python}/bin/python3 ${PREFIX_ext_python}/bin/python UPDATE_COMMAND "" ALWAYS 0 ) endif() elseif(MINGW) if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") ExternalProject_Add( ext_python DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL https://www.python.org/ftp/python/3.6.2/python-3.6.2-embed-amd64.zip - URL_MD5 0fdfe9f79e0991815d6fc1712871c17f + URL https://www.python.org/ftp/python/3.8.0/python-3.8.0-embed-amd64.zip + URL_MD5 99cca948512b53fb165084787143ef19 INSTALL_DIR ${PREFIX_ext_python} CONFIGURE_COMMAND "" BUILD_COMMAND ${CMAKE_COMMAND} -E echo deploying python3 64-bit binary INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory / ${PREFIX_ext_python}/python COMMAND ${CMAKE_COMMAND} -E copy /python3.dll ${PREFIX_ext_python}/bin - COMMAND ${CMAKE_COMMAND} -E copy /python36.dll ${PREFIX_ext_python}/bin + COMMAND ${CMAKE_COMMAND} -E copy /python38.dll ${PREFIX_ext_python}/bin COMMAND ${CMAKE_COMMAND} -E copy /vcruntime140.dll ${PREFIX_ext_python}/bin UPDATE_COMMAND "" ) else("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") ExternalProject_Add( ext_python DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} - URL https://www.python.org/ftp/python/3.6.2/python-3.6.2-embed-win32.zip - URL_MD5 2ca4768fdbadf6e670e97857bfab83e8 + URL https://www.python.org/ftp/python/3.8.0/python-3.8.0-embed-win32.zip + URL_MD5 2ec3abf05f3f1046e0dbd1ca5c74ce88 INSTALL_DIR ${PREFIX_ext_python} CONFIGURE_COMMAND "" BUILD_COMMAND ${CMAKE_COMMAND} -E echo deploying python3 32-bit binary INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory / ${PREFIX_ext_python}/python COMMAND ${CMAKE_COMMAND} -E copy /python3.dll ${PREFIX_ext_python}/bin - COMMAND ${CMAKE_COMMAND} -E copy /python36.dll ${PREFIX_ext_python}/bin + COMMAND ${CMAKE_COMMAND} -E copy /python38.dll ${PREFIX_ext_python}/bin COMMAND ${CMAKE_COMMAND} -E copy /vcruntime140.dll ${PREFIX_ext_python}/bin UPDATE_COMMAND "" ) endif("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") endif() diff --git a/3rdparty/ext_python/osx_fixappinstall.diff b/3rdparty/ext_python/osx_fixappinstall.diff index 183705be00..ca82901b03 100644 --- a/3rdparty/ext_python/osx_fixappinstall.diff +++ b/3rdparty/ext_python/osx_fixappinstall.diff @@ -1,49 +1,47 @@ diff --git a/configure b/configure -old mode 100755 -new mode 100644 -index c892a99..97c8f0d +index 2a933cd..4dfb4fb 100755 --- a/configure +++ b/configure -@@ -3207,7 +3207,7 @@ if test "${enable_framework+set}" = set; then : +@@ -3149,7 +3149,7 @@ if test "${enable_framework+set}" = set; then : FRAMEWORKINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkinstallunixtools" FRAMEWORKALTINSTALLLAST="frameworkinstallmaclib frameworkinstallapps frameworkaltinstallunixtools" FRAMEWORKPYTHONW="frameworkpythonw" - FRAMEWORKINSTALLAPPSPREFIX="/Applications" + FRAMEWORKINSTALLAPPSPREFIX="${prefix}/Applications" if test "x${prefix}" = "xNONE" ; then FRAMEWORKUNIXTOOLSPREFIX="${ac_default_prefix}" -@@ -3218,7 +3218,7 @@ if test "${enable_framework+set}" = set; then : +@@ -3160,7 +3160,7 @@ if test "${enable_framework+set}" = set; then : case "${enableval}" in /System*) - FRAMEWORKINSTALLAPPSPREFIX="/Applications" + FRAMEWORKINSTALLAPPSPREFIX="${prefix}/Applications" if test "${prefix}" = "NONE" ; then # See below FRAMEWORKUNIXTOOLSPREFIX="/usr" -@@ -3226,13 +3226,13 @@ if test "${enable_framework+set}" = set; then : +@@ -3168,13 +3168,13 @@ if test "${enable_framework+set}" = set; then : ;; /Library*) - FRAMEWORKINSTALLAPPSPREFIX="/Applications" + FRAMEWORKINSTALLAPPSPREFIX="${prefix}/Applications" ;; */Library/Frameworks) MDIR="`dirname "${enableval}"`" MDIR="`dirname "${MDIR}"`" - FRAMEWORKINSTALLAPPSPREFIX="${MDIR}/Applications" + FRAMEWORKINSTALLAPPSPREFIX="${MDIR}${prefix}/Applications" if test "${prefix}" = "NONE"; then # User hasn't specified the -@@ -3246,7 +3246,7 @@ if test "${enable_framework+set}" = set; then : +@@ -3188,7 +3188,7 @@ if test "${enable_framework+set}" = set; then : ;; *) - FRAMEWORKINSTALLAPPSPREFIX="/Applications" + FRAMEWORKINSTALLAPPSPREFIX="${prefix}/Applications" ;; esac - + \ No newline at end of file diff --git a/3rdparty/ext_python/pyport_osx.diff b/3rdparty/ext_python/pyport_osx.diff deleted file mode 100644 index 14c792a337..0000000000 --- a/3rdparty/ext_python/pyport_osx.diff +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/Include/pyport.h b/Include/pyport.h -index 66e00d4..89f7c0b 100644 ---- a/Include/pyport.h -+++ b/Include/pyport.h -@@ -688,6 +688,12 @@ extern pid_t forkpty(int *, char *, struct termios *, struct winsize *); - #endif - - #ifdef _PY_PORT_CTYPE_UTF8_ISSUE -+#ifndef __cplusplus -+ /* The workaround below is unsafe in C++ because -+ * the defines these symbols as real functions, -+ * with a slightly different signature. -+ * See issue #10910 -+ */ - #include - #include - #undef isalnum -@@ -705,6 +711,7 @@ extern pid_t forkpty(int *, char *, struct termios *, struct winsize *); - #undef toupper - #define toupper(c) towupper(btowc(c)) - #endif -+#endif - - - /* Declarations for symbol visibility.