Date: Friday, December 12, 2014 @ 12:06:10 Author: andrea Revision: 227556
QtWebEngine refers to python in too many ways, apply this ugly workaround to let it build Modified: qt5/trunk/PKGBUILD Deleted: qt5/trunk/use-python2.patch -------------------+ PKGBUILD | 24 +++++---- use-python2.patch | 128 ---------------------------------------------------- 2 files changed, 14 insertions(+), 138 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2014-12-12 06:49:06 UTC (rev 227555) +++ PKGBUILD 2014-12-12 11:06:10 UTC (rev 227556) @@ -37,18 +37,16 @@ 'postgresql-libs' 'libmariadbclient' 'sqlite' 'unixodbc' 'libfbclient' 'libmng' 'python2' 'ruby' 'gperf' 'libxslt' 'libxcomposite' 'fontconfig' 'bluez-libs' 'openal' 'gtk2' 'libxkbcommon-x11' 'python' 'mtdev' 'harfbuzz' 'libwebp' 'leveldb' - 'geoclue') + 'geoclue' 'pciutils' 'nss') groups=('qt' 'qt5') _pkgfqn="qt-everywhere-opensource-src-${pkgver}" source=("http://download.qt-project.org/official_releases/qt/${pkgver%.*}/${pkgver}/single/${_pkgfqn}.tar.xz" - 'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qdbusviewer.desktop' - 'use-python2.patch') + 'assistant.desktop' 'designer.desktop' 'linguist.desktop' 'qdbusviewer.desktop') md5sums=('21843b00ecde8956217faab391bc007b' 'b2897dd6a2967bccf8f10e397aafee55' '9638a78e502719ef8fe5f8d10d0361a9' '188da8f4c87316e730ebf1c6217bf5a0' - '322b419b16c75d4de0ee7ad0a246caa1' - '23ebafd7ad91897e870e84e281266f46') + '322b419b16c75d4de0ee7ad0a246caa1') prepare() { cd ${_pkgfqn} @@ -58,10 +56,12 @@ sed -i "/^QMAKE_LFLAGS\s/s|+=|+= ${LDFLAGS}|g" qtbase/mkspecs/common/gcc-base.conf # Use python2 for Python 2.x - patch -p1 -i "${srcdir}"/use-python2.patch - sed -i -e "s|#![ ]*/usr/bin/python$|#!/usr/bin/python2|" \ - -e "s|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|" \ - $(find . -name '*.py') + find . -name '*.py' -exec sed -i \ + 's|#![ ]*/usr/bin/python$|&2|;s|#![ ]*/usr/bin/env python$|&2|' {} + + + # There are still a lot of relative calls which need a workaround + mkdir "${srcdir}"/python2-path + ln -s /usr/bin/python2 "${srcdir}"/python2-path/python } build() { @@ -71,6 +71,8 @@ export LD_LIBRARY_PATH="${QTDIR}"/qtbase/lib:"${QTDIR}"/qttools/lib:"${LD_LIBRARY_PATH}" export QT_PLUGIN_PATH="${QTDIR}"/qtbase/plugins + export PATH="${srcdir}/python2-path:$PATH" + [[ "${CARCH}" = "i686" ]] && SSE2="-no-sse2" PYTHON=/usr/bin/python2 ./configure -confirm-license -opensource \ @@ -491,11 +493,13 @@ package_qt5-webengine() { pkgdesc='Provides support for web applications using the Chromium browser project' - depends=('qt5-base') + depends=('qt5-declarative' 'nss' 'libxtst' 'libxcursor' 'libxrandr' 'alsa-lib' 'libxcomposite') license=('LGPL') cd ${_pkgfqn}/qtwebengine make INSTALL_ROOT="${pkgdir}" install + + rm -rf "${pkgdir}"/usr/share/doc } package_qt5-websockets() { Deleted: use-python2.patch =================================================================== --- use-python2.patch 2014-12-12 06:49:06 UTC (rev 227555) +++ use-python2.patch 2014-12-12 11:06:10 UTC (rev 227556) @@ -1,128 +0,0 @@ ---- qt-everywhere-opensource-src-5.2.0-rc1/qtwebkit/Source/WebCore/DerivedSources.pri~ 2013-11-29 16:57:47.573721157 +0000 -+++ qt-everywhere-opensource-src-5.2.0-rc1/qtwebkit/Source/WebCore/DerivedSources.pri 2013-11-29 16:58:22.270157823 +0000 -@@ -819,7 +819,7 @@ - inspectorValidate.output = InspectorProtocolVersion.h - inspectorValidate.input = INSPECTOR_JSON - inspectorValidate.script = $$PWD/inspector/generate-inspector-protocol-version --inspectorValidate.commands = python $$inspectorValidate.script -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} -+inspectorValidate.commands = python2 $$inspectorValidate.script -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} - inspectorValidate.depends = $$PWD/inspector/generate-inspector-protocol-version - inspectorValidate.add_output_to_sources = false - GENERATORS += inspectorValidate -@@ -827,7 +827,7 @@ - inspectorJSON.output = InspectorFrontend.cpp InspectorBackendDispatcher.cpp InspectorTypeBuilder.cpp - inspectorJSON.input = INSPECTOR_JSON - inspectorJSON.script = $$PWD/inspector/CodeGeneratorInspector.py --inspectorJSON.commands = python $$inspectorJSON.script $$PWD/inspector/Inspector.json --output_h_dir ${QMAKE_FUNC_FILE_OUT_PATH} --output_cpp_dir ${QMAKE_FUNC_FILE_OUT_PATH} -+inspectorJSON.commands = python2 $$inspectorJSON.script $$PWD/inspector/Inspector.json --output_h_dir ${QMAKE_FUNC_FILE_OUT_PATH} --output_cpp_dir ${QMAKE_FUNC_FILE_OUT_PATH} - inspectorJSON.depends = $$inspectorJSON.script - GENERATORS += inspectorJSON - -@@ -927,7 +927,7 @@ - entities.output = HTMLEntityTable.cpp - entities.input = HTML_ENTITIES - entities.script = $$PWD/html/parser/create-html-entity-table --entities.commands = python $$entities.script -o ${QMAKE_FILE_OUT} $$HTML_ENTITIES -+entities.commands = python2 $$entities.script -o ${QMAKE_FILE_OUT} $$HTML_ENTITIES - entities.clean = ${QMAKE_FILE_OUT} - entities.depends = $$PWD/html/parser/create-html-entity-table - GENERATORS += entities ---- qt-everywhere-opensource-src-5.2.0-rc1/qtwebkit/Source/JavaScriptCore/DerivedSources.pri~ 2013-11-29 16:58:05.470269189 +0000 -+++ qt-everywhere-opensource-src-5.2.0-rc1/qtwebkit/Source/JavaScriptCore/DerivedSources.pri 2013-11-29 16:58:44.276678608 +0000 -@@ -83,14 +83,14 @@ - retgen.output = RegExpJitTables.h - retgen.script = $$PWD/create_regex_tables - retgen.input = retgen.script --retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT} -+retgen.commands = python2 $$retgen.script > ${QMAKE_FILE_OUT} - GENERATORS += retgen - - #GENERATOR: "KeywordLookup.h": decision tree used by the lexer - klgen.output = KeywordLookup.h - klgen.script = $$PWD/KeywordLookupGenerator.py - klgen.input = KEYWORDLUT_FILES --klgen.commands = python $$klgen.script ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT} -+klgen.commands = python2 $$klgen.script ${QMAKE_FILE_NAME} > ${QMAKE_FILE_OUT} - GENERATORS += klgen - - EXTRACTOR_BINARY = LLIntOffsetsExtractor$$BIN_EXTENSION -@@ -114,7 +114,7 @@ - disassembler.input = DISASSEMBLER_FILES - disassembler.script = $$PWD/disassembler/udis86/itab.py - disassembler.depends = $$DISASSEMBLER_DEPENDENCY -- disassembler.commands = python $$disassembler.script ${QMAKE_FILE_NAME} --outputDir ${QMAKE_FUNC_FILE_OUT_PATH} -+ disassembler.commands = python2 $$disassembler.script ${QMAKE_FILE_NAME} --outputDir ${QMAKE_FUNC_FILE_OUT_PATH} - disassembler.CONFIG += no_link - GENERATORS += disassembler - } ---- qt-everywhere-opensource-src-5.4.0/qtwebkit/Tools/qmake/mkspecs/features/configure.prf.old 2014-12-10 11:27:25.875352161 +0000 -+++ qt-everywhere-opensource-src-5.4.0/qtwebkit/Tools/qmake/mkspecs/features/configure.prf 2014-12-10 11:27:39.008643049 +0000 -@@ -125,7 +125,7 @@ - addReasonForSkippingBuild("QtWebKit cannot be built as a static library on this platform. Check your configuration in qtbase/config.summary.") - } - winrt: addReasonForSkippingBuild("QtWebKit is not supported on Windows Phone/Windows RT") -- requiredPrograms = gperf python perl bison ruby flex -+ requiredPrograms = gperf python2 perl bison ruby flex - for(program, requiredPrograms): \ - !programExistsInPath($$program): \ - addReasonForSkippingBuild("Missing $$program from PATH") ---- qt-everywhere-opensource-src-5.2.0-rc1/qtdeclarative/src/3rdparty/masm/masm.pri~ 2013-11-29 17:03:43.228028589 +0000 -+++ qt-everywhere-opensource-src-5.2.0-rc1/qtdeclarative/src/3rdparty/masm/masm.pri 2013-11-29 17:03:57.537933557 +0000 -@@ -47,7 +47,7 @@ - udis86.output = udis86_itab.h - udis86.input = ITAB - udis86.CONFIG += no_link -- udis86.commands = python $$PWD/disassembler/udis86/itab.py ${QMAKE_FILE_IN} -+ udis86.commands = python2 $$PWD/disassembler/udis86/itab.py ${QMAKE_FILE_IN} - QMAKE_EXTRA_COMPILERS += udis86 - - udis86_tab_cfile.target = $$OUT_PWD/udis86_itab.c -@@ -67,7 +67,7 @@ - retgen.script = $$PWD/create_regex_tables - retgen.input = retgen.script - retgen.CONFIG += no_link --retgen.commands = python $$retgen.script > ${QMAKE_FILE_OUT} -+retgen.commands = python2 $$retgen.script > ${QMAKE_FILE_OUT} - QMAKE_EXTRA_COMPILERS += retgen - - # Taken from WebKit/Tools/qmake/mkspecs/features/unix/default_post.prf ---- qt-everywhere-opensource-src-5.4.0/qtwebengine/tools/qmake/mkspecs/features/functions.prf.old 2014-12-10 16:47:11.582370503 +0000 -+++ qt-everywhere-opensource-src-5.4.0/qtwebengine/tools/qmake/mkspecs/features/functions.prf 2014-12-10 16:47:54.888779281 +0000 -@@ -15,8 +15,8 @@ - } - - defineTest(isPythonVersionSupported) { -- python_major_version = $$system('python -c "import sys; print sys.version_info.major"') -- python_minor_version = $$system('python -c "import sys; print sys.version_info.minor"') -+ python_major_version = $$system('python2 -c "import sys; print sys.version_info.major"') -+ python_minor_version = $$system('python2 -c "import sys; print sys.version_info.minor"') - greaterThan(python_major_version, 1): greaterThan(python_minor_version, 6): return(true) - warning("Using Python version "$$python_major_version"."$$python_minor_version", but at least Python version 2.7 is required to build Qt WebEngine.") - return(false) -@@ -69,7 +69,7 @@ - input = $$1 - for (file, input): \ - infiles += $$absolute_path($$file, $$_PRO_FILE_PWD_) -- mocables = $$system("python $$QTWEBENGINE_ROOT/tools/buildscripts/find-mocables $$infiles") -+ mocables = $$system("python2 $$QTWEBENGINE_ROOT/tools/buildscripts/find-mocables $$infiles") - mocables = $$replace(mocables, $$_PRO_FILE_PWD_/, '') - return($$mocables) - } -@@ -78,7 +78,7 @@ - input = $$1 - for (file, input): \ - infiles += $$absolute_path($$file, $$_PRO_FILE_PWD_) -- return($$system("python $$QTWEBENGINE_ROOT/tools/buildscripts/find-included-moc-files $$infiles")) -+ return($$system("python2 $$QTWEBENGINE_ROOT/tools/buildscripts/find-included-moc-files $$infiles")) - } - - defineReplace(mocOutput) { -@@ -136,7 +136,7 @@ - win32: out = $$system_path($${out}.exe) - - # If we did not find ninja, then we bootstrap it. -- !exists($$out): system("python $$dirname(out)/bootstrap.py") -+ !exists($$out): system("python2 $$dirname(out)/bootstrap.py") - } - return($$out) - }