vlc | branch: master | Pierre Lamot <pie...@videolabs.io> | Fri Sep 29 10:25:03 
2017 +0200| [189ca8feb6c784101a879895e8ad7cd793a0f16c] | committer: 
Jean-Baptiste Kempf

Contribs: add support for QtSVG for Qt

Signed-off-by: Jean-Baptiste Kempf <j...@videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=189ca8feb6c784101a879895e8ad7cd793a0f16c
---

 contrib/src/qt/rules.mak                           |  3 +-
 .../0001-Force-the-usage-of-QtZlib-header.patch    | 29 ++++++++++++++++++
 contrib/src/qtsvg/SHA512SUMS                       |  1 +
 contrib/src/qtsvg/rules.mak                        | 34 ++++++++++++++++++++++
 4 files changed, 66 insertions(+), 1 deletion(-)

diff --git a/contrib/src/qt/rules.mak b/contrib/src/qt/rules.mak
index 3a3ff05c3b..d8b2196f57 100644
--- a/contrib/src/qt/rules.mak
+++ b/contrib/src/qt/rules.mak
@@ -60,7 +60,7 @@ endif
        mkdir -p $(PREFIX)/include/QtGui/qpa
        cp 
$(PREFIX)/include/QtGui/$(QT_VERSION)/QtGui/qpa/qplatformnativeinterface.h 
$(PREFIX)/include/QtGui/qpa
        # Clean Qt mess
-       rm -rf $(PREFIX)/lib/libQt5Bootstrap* $(PREFIX)/lib/*.prl 
$(PREFIX)/mkspecs
+       rm -rf $(PREFIX)/lib/libQt5Bootstrap*
        # Fix .pc files to remove debug version (d)
        cd $(PREFIX)/lib/pkgconfig; for i in Qt5Core.pc Qt5Gui.pc 
Qt5Widgets.pc; do sed -i -e 's/d\.a/.a/g' -e 's/d $$/ /' $$i; done
        # Fix Qt5Gui.pc file to include qwindows (QWindowsIntegrationPlugin) 
and Qt5Platform Support
@@ -69,6 +69,7 @@ ifdef HAVE_CROSS_COMPILE
        # Building Qt build tools for Xcompilation
        cd $</include/QtCore; ln -sf $(QT_VERSION)/QtCore/private
        cd $</qmake; $(MAKE)
+       cd $<; $(MAKE) install_qmake install_mkspecs
        cd $</src/tools; \
        for i in bootstrap uic rcc moc; \
                do (cd $$i; echo $$i && ../../../bin/qmake -spec $(QT_SPEC) && 
$(MAKE) clean && $(MAKE) CC=$(HOST)-gcc CXX=$(HOST)-g++ LINKER=$(HOST)-g++ && 
$(MAKE) install); \
diff --git a/contrib/src/qtsvg/0001-Force-the-usage-of-QtZlib-header.patch 
b/contrib/src/qtsvg/0001-Force-the-usage-of-QtZlib-header.patch
new file mode 100644
index 0000000000..701b36c264
--- /dev/null
+++ b/contrib/src/qtsvg/0001-Force-the-usage-of-QtZlib-header.patch
@@ -0,0 +1,29 @@
+From ed55cab9836d8ed9a4738c795855b0b2af6fa6b9 Mon Sep 17 00:00:00 2001
+From: Pierre Lamot <pie...@videolabs.io>
+Date: Thu, 21 Sep 2017 12:05:15 +0200
+Subject: [PATCH] Force the usage of QtZlib header
+
+  qmake adds -I$(PREFIX)/include before adding
+  -I$(PREFIX)/include/QtZlib in its path while cross
+  compiling which ends up using the definition from the
+  system zlib while linking to QtZlib
+---
+ src/svg/qsvgtinydocument.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/svg/qsvgtinydocument.cpp b/src/svg/qsvgtinydocument.cpp
+index cc0fd5d..450c2d1 100644
+--- a/src/svg/qsvgtinydocument.cpp
++++ b/src/svg/qsvgtinydocument.cpp
+@@ -45,7 +45,7 @@
+ #include "qdebug.h"
+ 
+ #ifndef QT_NO_COMPRESS
+-#include <zlib.h>
++#include <QtZlib/zlib.h>
+ #endif
+ 
+ QT_BEGIN_NAMESPACE
+-- 
+2.14.1
+
diff --git a/contrib/src/qtsvg/SHA512SUMS b/contrib/src/qtsvg/SHA512SUMS
new file mode 100644
index 0000000000..0edeff3a5e
--- /dev/null
+++ b/contrib/src/qtsvg/SHA512SUMS
@@ -0,0 +1 @@
+ff78a75d0452de56dfe5b33f64d611c9e75e1a46c2ca168f9d3467ef3bb32f17ef256b45df275ed45bc2215d31dbf321d9cacb3f428096354041481276683958
  qtsvg-5.6.2.tar.xz
diff --git a/contrib/src/qtsvg/rules.mak b/contrib/src/qtsvg/rules.mak
new file mode 100644
index 0000000000..924f6efca7
--- /dev/null
+++ b/contrib/src/qtsvg/rules.mak
@@ -0,0 +1,34 @@
+# Qt
+
+QTSVG_VERSION := 5.6.2
+QTSVG_URL := 
https://download.qt.io/official_releases/qt/5.6/$(QTSVG_VERSION)/submodules/qtsvg-opensource-src-$(QTSVG_VERSION).tar.xz
+
+DEPS_qtsvg += qt $(DEPS_qt)
+
+ifeq ($(call need_pkg,"Qt5Svg"),)
+PKGS_FOUND += qtsvg
+endif
+
+$(TARBALLS)/qtsvg-$(QTSVG_VERSION).tar.xz:
+       $(call download,$(QTSVG_URL))
+
+.sum-qtsvg: qtsvg-$(QTSVG_VERSION).tar.xz
+
+qtsvg: qtsvg-$(QTSVG_VERSION).tar.xz .sum-qtsvg
+       $(UNPACK)
+       mv qtsvg-opensource-src-$(QTSVG_VERSION) qtsvg-$(QTSVG_VERSION)
+       $(APPLY) $(SRC)/qtsvg/0001-Force-the-usage-of-QtZlib-header.patch
+       $(MOVE)
+
+.qtsvg: qtsvg
+       cd $< && $(PREFIX)/bin/qmake
+       # Make && Install libraries
+       cd $< && $(MAKE)
+       cd $</src && $(MAKE) sub-plugins-install_subtargets 
sub-svg-install_subtargets
+       mv $(PREFIX)/plugins/iconengines/libqsvgicon.a $(PREFIX)/lib/
+       mv $(PREFIX)/plugins/imageformats/libqsvg.a $(PREFIX)/lib/
+       cd $(PREFIX)/lib/pkgconfig; sed -i \
+               -e 's/d\.a/.a/g' \
+               -e 's/-lQt\([^ ]*\)d/-lQt\1/g' \
+               -e '/Libs:/  s/$$/ -lqsvg -lqsvgicon/ ' \
+               Qt5Svg.pc

_______________________________________________
vlc-commits mailing list
vlc-commits@videolan.org
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to