[arch-commits] Commit in qt5/trunk (PKGBUILD use-python2.patch)

Andrea Scarpino andrea at archlinux.org
Fri Dec 12 11:06:10 UTC 2014


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



More information about the arch-commits mailing list