summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilip A Reimer2015-08-26 21:09:59 -0600
committerPhilip A Reimer2015-08-26 21:09:59 -0600
commitbdb3fa48f62bb190fda4a90604268c95fcb40d18 (patch)
tree6c97c2d99af780eb69b21f06c8a6c64c606f6451
downloadaur-bdb3fa48f62bb190fda4a90604268c95fcb40d18.tar.gz
Initial import
-rw-r--r--.SRCINFO29
-rw-r--r--PKGBUILD62
-rw-r--r--qt5-activeqt-fix-compilation.patch15
-rw-r--r--qtactiveqt-fix-build.patch7
-rw-r--r--qtactiveqt-win64.patch39
5 files changed, 152 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..7e4e27548aeb
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = mingw-w64-qt5-activeqt
+ pkgdesc = Qt's ActiveX Framework (mingw-w64)
+ pkgver = 5.5.0
+ pkgrel = 1
+ url = http://qt-project.org
+ arch = any
+ groups = mingw-w64-qt
+ groups = mingw-w64-qt5
+ license = custom, FDL, GPL3, LGPL
+ makedepends = mingw-w64-gcc
+ makedepends = mingw-w64-headers-git
+ makedepends = mingw-w64-crt-git
+ makedepends = mingw-w64-winpthreads-git
+ makedepends = python
+ depends = mingw-w64-qt5-base
+ options = !strip
+ options = !buildflags
+ options = staticlibs
+ source = http://download.qt-project.org/official_releases/qt/5.5/5.5.0/submodules/qtactiveqt-opensource-src-5.5.0.tar.xz
+ source = qt5-activeqt-fix-compilation.patch
+ source = qtactiveqt-fix-build.patch
+ source = qtactiveqt-win64.patch
+ md5sums = be5e0a79decc87d02c574348d9663e6a
+ md5sums = 86c63b9808b0c8c7a8c2203bee73c42b
+ md5sums = 7a7ba436452aa56613b3fbb15684e094
+ md5sums = 1264d0274586aec14f96a978b416b048
+
+pkgname = mingw-w64-qt5-activeqt
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..f8b354250cd9
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,62 @@
+# Maintainer: ant32 <antreimer@gmail.com>
+_qt_module=qtactiveqt
+pkgname=mingw-w64-qt5-activeqt
+pkgver=5.5.0
+pkgrel=1
+arch=(any)
+pkgdesc="Qt's ActiveX Framework (mingw-w64)"
+depends=(mingw-w64-qt5-base)
+makedepends=(mingw-w64-{gcc,headers-git,crt-git,winpthreads-git} python)
+options=(!strip !buildflags staticlibs)
+groups=(mingw-w64-qt mingw-w64-qt5)
+license=("custom, FDL, GPL3, LGPL")
+url="http://qt-project.org"
+_pkgfqn="${_qt_module}-opensource-src-${pkgver}"
+source=("http://download.qt-project.org/official_releases/qt/5.5/${pkgver}/submodules/${_pkgfqn}.tar.xz"
+ "qt5-activeqt-fix-compilation.patch"
+ "qtactiveqt-fix-build.patch"
+ "qtactiveqt-win64.patch")
+md5sums=('be5e0a79decc87d02c574348d9663e6a'
+ '86c63b9808b0c8c7a8c2203bee73c42b'
+ '7a7ba436452aa56613b3fbb15684e094'
+ '1264d0274586aec14f96a978b416b048')
+_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
+
+prepare() {
+ cd "${srcdir}/${_pkgfqn}"
+ # Fix linker error:
+ # qaxserverbase.cpp:1769: undefined reference to `qt_sendSpontaneousEvent(QObject*, QEvent*)'
+ patch -p0 -i ../qt5-activeqt-fix-compilation.patch
+
+ # Don't try to build stuff which requires windows.h with the native Linux gcc
+ patch -p1 -i ../qtactiveqt-fix-build.patch
+
+ # dumpcpp and MetaObjectGenerator::readClassInfo do not handle win64
+ # https://bugreports.qt.io/browse/QTBUG-46827
+ patch -p1 -i ../qtactiveqt-win64.patch
+}
+
+build() {
+ cd "${srcdir}/${_pkgfqn}"
+ for _arch in ${_architectures}; do
+ mkdir -p build-${_arch} && pushd build-${_arch}
+ ${_arch}-qmake-qt5 ../${_qt_module}.pro
+ make
+ popd
+ done
+}
+
+package() {
+ cd "${srcdir}/${_pkgfqn}"
+ for _arch in ${_architectures}; do
+ pushd build-${_arch}
+ make INSTALL_ROOT="$pkgdir" install
+ # The .dll's are installed in both bindir and libdir
+ # One copy of the .dll's is sufficient
+ rm -f "${pkgdir}/usr/${_arch}/lib/"*.dll
+ find "${pkgdir}/usr/${_arch}" -name "*.exe" -o -name "*.bat" -o -name "*.def" -o -name "*.exp" -o -name '*.prl' | xargs -rtl1 rm
+ find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
+ find "${pkgdir}/usr/${_arch}" -name "*.a" -o -name "*.dll" | xargs -rtl1 ${_arch}-strip -g
+ popd
+ done
+} \ No newline at end of file
diff --git a/qt5-activeqt-fix-compilation.patch b/qt5-activeqt-fix-compilation.patch
new file mode 100644
index 000000000000..d7e258632343
--- /dev/null
+++ b/qt5-activeqt-fix-compilation.patch
@@ -0,0 +1,15 @@
+--- src/activeqt/control/qaxserverbase.cpp.orig 2012-09-10 22:01:40.963557678 +0200
++++ src/activeqt/control/qaxserverbase.cpp 2012-09-10 22:05:37.913161773 +0200
+@@ -4033,12 +4033,10 @@
+ }
+
+
+-#ifdef QT_SHARED // avoid conflict with symbol in static lib
+ bool qt_sendSpontaneousEvent(QObject *o, QEvent *e)
+ {
+ return QCoreApplication::sendSpontaneousEvent(o, e);
+ }
+-#endif
+
+ /*
+ Tries to set the size of the control.
diff --git a/qtactiveqt-fix-build.patch b/qtactiveqt-fix-build.patch
new file mode 100644
index 000000000000..7c10be469cd7
--- /dev/null
+++ b/qtactiveqt-fix-build.patch
@@ -0,0 +1,7 @@
+--- qtactiveqt-opensource-src-5.3.0/src/tools/idc/idc.pro.orig 2014-05-26 00:05:53.258370322 +0200
++++ qtactiveqt-opensource-src-5.3.0/src/tools/idc/idc.pro 2014-05-26 00:06:18.131627963 +0200
+@@ -1,4 +1,3 @@
+-option(host_build)
+ CONFIG += force_bootstrap
+ SOURCES = main.cpp
+
diff --git a/qtactiveqt-win64.patch b/qtactiveqt-win64.patch
new file mode 100644
index 000000000000..f2ca3d690b5e
--- /dev/null
+++ b/qtactiveqt-win64.patch
@@ -0,0 +1,39 @@
+diff -rupN qtactiveqt-opensource-src-5.4.1/src/activeqt/container/qaxbase.cpp qtactiveqt-opensource-src-5.4.1-new/src/activeqt/container/qaxbase.cpp
+--- qtactiveqt-opensource-src-5.4.1/src/activeqt/container/qaxbase.cpp 2015-02-17 05:56:13.000000000 +0100
++++ qtactiveqt-opensource-src-5.4.1-new/src/activeqt/container/qaxbase.cpp 2015-06-23 16:41:44.483979750 +0200
+@@ -2164,6 +2164,10 @@
+ QStringList versions = controls.childGroups();
+ foreach (const QString &version, versions) {
+ tlfile = controls.value(QLatin1Char('/') + version + QLatin1String("/0/win32/.")).toString();
++ if(tlfile.isEmpty())
++ {
++ tlfile = controls.value(QLatin1Char('/') + version + QLatin1String("/0/win64/.")).toString();
++ }
+ if (!tlfile.isEmpty())
+ break;
+ }
+diff -rupN qtactiveqt-opensource-src-5.4.1/tools/dumpcpp/main.cpp qtactiveqt-opensource-src-5.4.1-new/tools/dumpcpp/main.cpp
+--- qtactiveqt-opensource-src-5.4.1/tools/dumpcpp/main.cpp 2015-02-17 05:56:13.000000000 +0100
++++ qtactiveqt-opensource-src-5.4.1-new/tools/dumpcpp/main.cpp 2015-06-23 16:35:53.157273425 +0200
+@@ -1515,6 +1515,10 @@
+ typeLib = settings.value(QLatin1Char('/') + codes.at(c) + QLatin1String("/0/win32/.")).toString();
+ if (QFile::exists(typeLib))
+ break;
++ typeLib = settings.value(QLatin1String("/") + codes.at(c) + QLatin1String("/0/win64/.")).toByteArray();
++ if (QFile::exists(typeLib)) {
++ break;
++ }
+ }
+
+ if (!typeLib.isEmpty())
+@@ -1577,6 +1581,10 @@
+ + QLatin1String("/win32/.")).toString();
+ if (QFile::exists(typeLib))
+ break;
++ typeLib = settings.value(key + QLatin1String("/") + codes.at(c) + QLatin1String("/win64/.")).toByteArray();
++ if (QFile::exists(typeLib)) {
++ break;
++ }
+ }
+ }
+