Provide static versions of further Qt modules

Also fix problems using the static version with CMake
This commit is contained in:
Martchus 2016-08-18 01:07:18 +02:00
parent 1a1d8e9fbb
commit 3877e7bca7
49 changed files with 1564 additions and 695 deletions

View File

@ -1 +1 @@
qt5-base qt5-xmlpatterns qt5-declarative qt5-tools qt5-script qt5-location qt5-multimedia qt5-sensors qt5-webchannel qt5-3d qt5-imageformats qt5-location qt5-quickcontrols qt5-quickcontrols2 qt5-translations qt5-svg qt5-websockets qt5-winextras qt5-serialport qt5-canvas3d qt5-connectivity qt5-charts qt5-gamepad qt5-scxml qt5-virtualkeyboard qt5-activeqt qt5-webkit
qt5-base qt5-declarative qt5-tools qt5-xmlpatterns qt5-script qt5-location qt5-multimedia qt5-sensors qt5-webchannel qt5-3d qt5-imageformats qt5-quickcontrols qt5-quickcontrols2 qt5-translations qt5-svg qt5-websockets qt5-winextras qt5-serialport qt5-canvas3d qt5-connectivity qt5-charts qt5-gamepad qt5-scxml qt5-datavis3s qt5-virtualkeyboard qt5-activeqt qt5-webkit

View File

@ -1,5 +1,6 @@
f=qt5-allow-usage-of-static-qt-with-cmake.patch
diff -Naur mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in{.orig,} > $f
diff -Naur mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in{.orig,} >> $f
diff -Naur mkspecs/features/create_cmake.prf{.orig,} >> $f
cat qt5-generate-libs-in-prl-for-cmake.patch >> $f

View File

@ -135,17 +135,19 @@ contains(CONFIG, plugin) {
CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME
win32 {
isEmpty(CMAKE_STATIC_TYPE) {
mingw {
CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
} else:mingw {
CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/lib$${TARGET}.a
CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/lib$${TARGET}d.a
} else { # MSVC static
CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/$${TARGET}.lib
CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/$${TARGET}d.lib
}
} else {
# this branch is broken by the patch, only apply when building for Windows
mac {
isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
else: CMAKE_PlUGIN_EXT = .a
@ -161,7 +163,8 @@ contains(CONFIG, plugin) {
}
}
cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
isEmpty(CMAKE_STATIC_TYPE): cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
else: cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/StaticQt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
!build_pass:QMAKE_SUBSTITUTES += \
cmake_target_file
@ -180,6 +183,8 @@ mod_deps =
lib_deps =
aux_mod_deps =
aux_lib_deps =
aux_compile_defs_static = QT_STATIC QT_DESIGNER_STATIC
contains(QT_CONFIG, angle): aux_compile_defs += QT_OPENGL_ES_2_ANGLE_STATIC
# Until CMake 3.0 is the minimum requirement of Qt 5, we need to filter
# out header-only modules from dependencies. CMake 3.0 provides INTERFACE
# libraries which are equivalent to header-only modules.
@ -197,10 +202,13 @@ CMAKE_MODULE_DEPS = $$join(mod_deps, ";")
CMAKE_QT5_MODULE_DEPS = $$join(lib_deps, ";")
CMAKE_INTERFACE_MODULE_DEPS = $$join(aux_mod_deps, ";")
CMAKE_INTERFACE_QT5_MODULE_DEPS = $$join(aux_lib_deps, ";")
CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC = $$join(aux_compile_defs_static, ";")
CMAKE_QT_STEM = Qt$$QT_MAJOR_VERSION$${CMAKE_MODULE_NAME}$${QT_LIBINFIX}
mac {
# this branch is broken by the patch, only apply when building for Windows
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}_debug.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
@ -228,7 +236,7 @@ mac {
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a
CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = a
isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = dll.a
CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.$${QMAKE_EXTENSION_IMPORTLIB}
CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB}
CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
@ -254,6 +262,7 @@ mac {
CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}-static.prl
}
} else {
# this branch is broken by the patch, only apply when building for Windows
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a

View File

@ -285,10 +285,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS})
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
set(interface_compile_definitions $${MODULE_DEFINE})
if(USE_STATIC_QT_BUILD)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_COMPILE_DEFINITIONS $${CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC} $${MODULE_DEFINE})
else()
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
endif()
if(USE_STATIC_QT_BUILD)
file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/StaticQt5$${CMAKE_MODULE_NAME}_*.cmake\")
else()
file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
endif()
unset(pluginTargets)
if (pluginTargetsMaybe)
foreach(pluginTarget ${pluginTargetsMaybe})

View File

@ -0,0 +1,19 @@
add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
!!IF !isEmpty(CMAKE_STATIC_TYPE)
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE_STATIC}\")
!!ELSE
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
!!ENDIF
!!ENDIF
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
!!IF !isEmpty(CMAKE_STATIC_TYPE)
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG_STATIC}\")
!!ELSE
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
!!ENDIF
!!ENDIF
list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)

View File

@ -0,0 +1,11 @@
add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
!!ENDIF
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
!!ENDIF
list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)

View File

@ -1,5 +1,5 @@
--- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in.orig 2016-08-12 21:50:38.900208800 +0200
+++ mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2016-08-12 21:50:39.047576600 +0200
--- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in.orig 2016-08-14 20:44:32.515151700 +0200
+++ mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2016-08-18 23:22:00.447257800 +0200
@@ -59,19 +59,30 @@
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
@ -91,11 +91,25 @@
!!IF !equals(TEMPLATE, aux)
!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1)
@@ -243,64 +288,120 @@
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
@@ -240,67 +285,132 @@
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS})
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
- INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
+ set(interface_compile_definitions $${MODULE_DEFINE})
+ if(USE_STATIC_QT_BUILD)
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS $${CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC} $${MODULE_DEFINE})
+ else()
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
+ endif()
+ if(USE_STATIC_QT_BUILD)
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/StaticQt5$${CMAKE_MODULE_NAME}_*.cmake\")
+ else()
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
+ endif()
+ unset(pluginTargets)
+ if (pluginTargetsMaybe)
+ foreach(pluginTarget ${pluginTargetsMaybe})
@ -134,7 +148,7 @@
+ include(${pluginTarget})
+ endforeach()
+ endif()
+
!!IF !equals(TEMPLATE, aux)
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
@ -234,7 +248,7 @@
!!ELSE
\"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
!!ENDIF
@@ -311,8 +412,12 @@
@@ -311,8 +421,12 @@
\"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
!!ENDIF
_populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
@ -248,7 +262,7 @@
!!ENDIF // CMAKE_RELEASE_TYPE
!!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
@@ -323,28 +428,6 @@
@@ -323,28 +437,6 @@
)
!!ENDIF // TEMPLATE != aux
@ -277,9 +291,87 @@
!!IF !isEmpty(CMAKE_MODULE_EXTRAS)
include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake\")
--- mkspecs/features/create_cmake.prf.orig 2016-08-12 21:50:38.899179000 +0200
+++ mkspecs/features/create_cmake.prf 2016-08-12 21:50:38.898909700 +0200
@@ -228,33 +228,30 @@
--- mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in.orig 2016-06-10 08:48:56.000000000 +0200
+++ mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in 2016-08-18 23:22:41.994211700 +0200
@@ -2,10 +2,18 @@
add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE_STATIC}\")
+!!ELSE
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
!!ENDIF
+!!ENDIF
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG_STATIC}\")
+!!ELSE
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
!!ENDIF
+!!ENDIF
list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
--- mkspecs/features/create_cmake.prf.orig 2016-08-14 20:44:32.513342200 +0200
+++ mkspecs/features/create_cmake.prf 2016-08-18 22:47:39.606635000 +0200
@@ -135,17 +135,19 @@
CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME
win32 {
- isEmpty(CMAKE_STATIC_TYPE) {
+ mingw {
CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
- } else:mingw {
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
+ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/lib$${TARGET}.a
+ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/lib$${TARGET}d.a
} else { # MSVC static
CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
+ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/$${TARGET}.lib
+ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/$${TARGET}d.lib
}
} else {
+ # this branch is broken by the patch, only apply when building for Windows
mac {
isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
else: CMAKE_PlUGIN_EXT = .a
@@ -161,7 +163,8 @@
}
}
cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
- cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
+ isEmpty(CMAKE_STATIC_TYPE): cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
+ else: cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/StaticQt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
!build_pass:QMAKE_SUBSTITUTES += \
cmake_target_file
@@ -180,6 +183,8 @@
lib_deps =
aux_mod_deps =
aux_lib_deps =
+aux_compile_defs_static = QT_STATIC QT_DESIGNER_STATIC
+contains(QT_CONFIG, angle): aux_compile_defs += QT_OPENGL_ES_2_ANGLE_STATIC
# Until CMake 3.0 is the minimum requirement of Qt 5, we need to filter
# out header-only modules from dependencies. CMake 3.0 provides INTERFACE
# libraries which are equivalent to header-only modules.
@@ -197,10 +202,13 @@
CMAKE_QT5_MODULE_DEPS = $$join(lib_deps, ";")
CMAKE_INTERFACE_MODULE_DEPS = $$join(aux_mod_deps, ";")
CMAKE_INTERFACE_QT5_MODULE_DEPS = $$join(aux_lib_deps, ";")
+CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC = $$join(aux_compile_defs_static, ";")
+
CMAKE_QT_STEM = Qt$$QT_MAJOR_VERSION$${CMAKE_MODULE_NAME}$${QT_LIBINFIX}
mac {
+ # this branch is broken by the patch, only apply when building for Windows
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}_debug.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
@@ -228,35 +236,33 @@
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a
CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
@ -287,7 +379,7 @@
- CMAKE_STATIC_WINDOWS_BUILD = "true"
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.a
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
+ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = a
+ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = dll.a
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.$${QMAKE_EXTENSION_IMPORTLIB}
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB}
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
@ -313,24 +405,28 @@
- CMAKE_STATIC_WINDOWS_BUILD = "true"
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
-
- CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
- CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
- } else {
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
- }
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
+
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG_STATIC = $${CMAKE_QT_STEM}d.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}.lib
+ CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC = $${CMAKE_QT_STEM}d-static.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}-static.prl
}
} else {
+ # this branch is broken by the patch, only apply when building for Windows
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
--- qmake/generators/makefile.cpp 2015-08-26 14:29:10.131124600 +0100
+++ qmake/generators/makefile.cpp 2015-08-26 15:06:33.375635900 +0100
@@ -1006,6 +1006,13 @@

View File

@ -1,5 +1,5 @@
--- mkspecs/features/spec_pre.prf.orig 2016-08-12 21:50:39.048053400 +0200
+++ mkspecs/features/spec_pre.prf 2016-08-12 21:50:39.047826200 +0200
--- mkspecs/features/spec_pre.prf.orig 2016-08-14 20:44:32.515796400 +0200
+++ mkspecs/features/spec_pre.prf 2016-08-14 20:44:32.515434700 +0200
@@ -14,9 +14,9 @@
QMAKE_EXT_H_MOC = .cpp
QMAKE_EXT_JS = .js

View File

@ -1,5 +1,5 @@
--- src/3rdparty/harfbuzz_dependency.pri.orig 2016-08-12 22:07:40.467953900 +0200
+++ src/3rdparty/harfbuzz_dependency.pri 2016-08-12 22:08:06.583981900 +0200
--- src/3rdparty/harfbuzz_dependency.pri.orig 2016-08-14 20:44:32.519965300 +0200
+++ src/3rdparty/harfbuzz_dependency.pri 2016-08-14 20:44:32.519700600 +0200
@@ -2,5 +2,6 @@
INCLUDEPATH += $$PWD/harfbuzz-ng/include
LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtharfbuzzng$$qtPlatformTargetSuffix()
@ -8,8 +8,8 @@
+ CONFIG += link_pkgconfig
+ PKGCONFIG += harfbuzz
}
--- src/3rdparty/pcre_dependency.pri.orig 2016-08-12 21:50:39.136999600 +0200
+++ src/3rdparty/pcre_dependency.pri 2016-08-12 21:50:39.136802400 +0200
--- src/3rdparty/pcre_dependency.pri.orig 2016-08-14 20:44:32.521037500 +0200
+++ src/3rdparty/pcre_dependency.pri 2016-08-14 20:44:32.520762700 +0200
@@ -3,5 +3,6 @@
INCLUDEPATH += $$PWD/pcre
LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtpcre$$qtPlatformTargetSuffix()
@ -18,8 +18,8 @@
+ contains(QT_CONFIG, static): LIBS_PRIVATE += -Bstatic -lpcre16 -Wl,-Bdynamic
+ else: LIBS_PRIVATE += -lpcre16
}
--- src/3rdparty/zlib_dependency.pri.orig 2016-08-12 21:50:39.137774400 +0200
+++ src/3rdparty/zlib_dependency.pri 2016-08-12 21:50:39.137577500 +0200
--- src/3rdparty/zlib_dependency.pri.orig 2016-08-14 20:44:32.522086000 +0200
+++ src/3rdparty/zlib_dependency.pri 2016-08-14 20:44:32.521824500 +0200
@@ -1,7 +1,9 @@
# zlib dependency satisfied by bundled 3rd party zlib or system zlib
contains(QT_CONFIG, system-zlib) {

View File

@ -1,5 +1,5 @@
--- src/3rdparty/harfbuzz_dependency.pri.orig 2016-08-12 22:07:40.467953900 +0200
+++ src/3rdparty/harfbuzz_dependency.pri 2016-08-12 22:08:06.583981900 +0200
--- src/3rdparty/harfbuzz_dependency.pri.orig 2016-08-14 20:44:32.519965300 +0200
+++ src/3rdparty/harfbuzz_dependency.pri 2016-08-14 20:44:32.519700600 +0200
@@ -2,5 +2,6 @@
INCLUDEPATH += $$PWD/harfbuzz-ng/include
LIBS_PRIVATE += -L$$QT_BUILD_TREE/lib -lqtharfbuzzng$$qtPlatformTargetSuffix()

View File

@ -4,10 +4,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qt3d
pkgname="mingw-w64-qt5-3d"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('i686' 'x86_64')
pkgdesc="C++ and QML APIs for easy inclusion of 3D graphics (mingw-w64)"
depends=('mingw-w64-qt5-declarative')
@ -19,7 +22,13 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('3219ec1a97c155915b1f0f036f13854e')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
prepare() {
cd "${srcdir}/${_pkgfqn}"
@ -32,14 +41,19 @@ build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make qmake_all
find ./tools -type f -iname 'Makefile' -exec sed -i "s|-lQt5Bootstrap|-L/usr/$_arch/lib -lQt5Bootstrap|g" {} \;
# Search paths for host standard library (/usr/lib) and for Qt5Bootstrap (/usr/$_arch/lib) are not set correctly by qmake
# hence we need insert those paths manually
make qmake_all
find ./tools -type f -iname 'Makefile' -exec sed -i "s|-lQt5Bootstrap|-L/usr/$_arch/lib -lQt5Bootstrap|g" {} \;
make
popd
make
popd
done
done
}
@ -47,21 +61,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
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 "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -o -name "*.dll" | xargs -rtl1 ${_arch}-strip -g
strip --strip-all "${pkgdir}/usr/${_arch}/lib/qt/bin/"*
popd
make INSTALL_ROOT="$pkgdir" install
# The .dll's are installed in both bindir and libdir, one copy of the .dll's is sufficient
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find "${pkgdir}" -name "*.prl" -delete
}

View File

@ -4,10 +4,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Only includes static versions because this module seems to enforce
# being built as static library.
_qt_module=qtactiveqt
pkgname=mingw-w64-qt5-activeqt
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="ActiveX integration framework (mingw-w64)"
depends=(mingw-w64-qt5-base)
@ -18,21 +21,20 @@ license=("custom, FDL, GPL3, LGPL")
url="https://www.qt.io/"
_pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz"
"qt5-activeqt-fix-compilation.patch"
"qtactiveqt-fix-build.patch"
"qtactiveqt-win64.patch")
md5sums=('e48d79becdad54a2ac67c36d98654f5b'
'86c63b9808b0c8c7a8c2203bee73c42b'
'7a7ba436452aa56613b3fbb15684e094'
'1264d0274586aec14f96a978b416b048')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
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
@ -43,25 +45,43 @@ prepare() {
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
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
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# Make sure the executables don't conflict with their mingw-qt4 counterpart
for _arch in ${_architectures}; do
for exe_file in "${pkgdir}/usr/${_arch}/bin/"*.exe; do
[[ -f $exe_file ]] && mv "${exe_file}" "${exe_file%.exe}-qt5.exe"
done
done
}

View File

@ -2,14 +2,14 @@
+++ 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
-#ifndef QT_STATIC // 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.

View File

@ -13,14 +13,28 @@
# By default CMake and qmake will link against the dynamic libary.
# To use the static variant with CMake set the following variable before calling find_package:
# To use the static variant with CMake set the following variable before calling find_package for finding a Qt module:
# set(USE_STATIC_QT_BUILD ON)
# FIXME: Whether the static variant actually works with CMake has not been tested yet.
# To use a static plugin, add the corresponding imported target, eg.
# target_link_libraries(target ... Qt5::QWindowsIntegrationPlugin)
# Automatically importing static plugins is currently not possible, though. Hence it is required to use Q_IMPORT_PLUGIN, eg.
# #include<QtPlugin>
# Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
# To use the static variant with qmake set the following variables (either inside the *.pro file or as qmake argument):
# CONFIG+=static
# QMAKE_EXT_PRL=-static.prl
# Setting QMAKE_EXT_PRL is a workaround to prevent qmake from using the *.prl files from the dynamic build.
# Further Qt modules (those not found in the base repository and hence not included in this package) include by default
# static and dynamic libraries; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
# By default, executables will not be removed because I find them useful when testing. To remove executables
# set $NO_EXECUTABLES or $NO_STATIC_EXECUTABLES to remove statically linked executables only.
# However, if Qt modules containing tools are built as static and as dynamic library only the dynamically linked
# tools will be present in the package.
# Qt packages can be built in the following order (for example):
# qt5-base qt5-declarative qt5-tools qt5-xmlpatterns qt5-script qt5-location qt5-multimedia qt5-sensors qt5-webchannel qt5-3d qt5-imageformats qt5-quickcontrols qt5-quickcontrols2 qt5-translations qt5-svg qt5-websockets qt5-winextras qt5-serialport qt5-canvas3d qt5-connectivity qt5-charts qt5-gamepad qt5-scxml qt5-datavis3s qt5-virtualkeyboard qt5-activeqt qt5-webkit
# Helper functions for the split builds
isStatic() {
@ -82,7 +96,7 @@ md5sums=('184f9460b40752d71b15b827260580c2'
'bab00ccc19d888997f323c80354a7c3f'
'f7e1487de6e85116d9c6bde2eac4fb73'
'bc99c4cc6998295d76f37ed681c20d47'
'cb6354a788754ac9c84fedfbda34e3b6'
'370218fd439f25ab3f35bd1f14652988'
'4fe6523dd1c34398df3aa5a8763530cc'
'f32a768e1acb9785c79c8e93aa266db2'
'3bd322551924543553a2bf81b4419a09'
@ -98,7 +112,7 @@ md5sums=('184f9460b40752d71b15b827260580c2'
'83139869355c2d46921adb25e47cf0fa'
'b9565219e9252a17fc1b8fb9ee30662c'
'20de722808e8a3fb684b0212bef8de46'
'5978bff7f1f915bb96ccc1d25c915f69'
'1dc792faa7761d8d7d2f17170da04d6b'
'41ec67d9e5e70e0d6d93b42aebd0e12a'
'61c0f9d0095c5a6dec8d14e9ec35a608'
'bba65d27704cf36e148d8f18ad02ad15')
@ -352,13 +366,16 @@ package() {
# Keep a couple pri files not found in base
mv "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules/qt_plugin_"*.pri "${pkgdir}/usr/${_arch}"
# Move pri files back
mkdir -p "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
mv "${pkgdir}/usr/${_arch}/"*.pri "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
# remove CMake which are also in base
find "${pkgdir}/usr/${_arch}/lib/cmake" -not -name "Static*.cmake" -exec rm {} \;
# Delete duplicate files that are in the base package
rm -fR "${pkgdir}/usr/${_arch}/"{include,share}
rm -fR "${pkgdir}/usr/${_arch}/lib/"{qt/bin,qt/mkspecs,cmake}
rm -fR "${pkgdir}/usr/${_arch}/lib/"{qt/bin,qt/mkspecs}
# Move pri files back
mkdir -p "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
mv "${pkgdir}/usr/${_arch}/"*.pri "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
else # Shared release
# The .dll's are installed in both bindir and libdir, one copy of the .dll's is sufficient
@ -386,11 +403,11 @@ package() {
strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/libQt5Bootstrap"{,DBus}.so.${pkgver}
fi
# Applications might be useful as well; keeping them will not hurt anybody I suppose
if ! isStatic; then
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
else
# Applications might be useful as well; keeping them by default will not hurt anybody I suppose
if isStatic || [[ $NO_EXECUTABLES ]]; then
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \;
else
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
fi
# No use for these files though
find "${pkgdir}/usr/${_arch}" \( -name "*.bat" -o -name "*.def" -o -name "*.exp" \) -exec rm {} \;

View File

@ -1,5 +1,5 @@
--- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in.orig 2016-08-08 21:40:29.128136100 +0200
+++ mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2016-08-09 01:09:41.545265900 +0200
--- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in.orig 2016-08-14 20:44:32.515151700 +0200
+++ mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2016-08-18 23:22:00.447257800 +0200
@@ -59,19 +59,30 @@
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
@ -91,11 +91,25 @@
!!IF !equals(TEMPLATE, aux)
!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1)
@@ -243,64 +288,120 @@
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
@@ -240,67 +285,132 @@
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS})
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
- INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
+ set(interface_compile_definitions $${MODULE_DEFINE})
+ if(USE_STATIC_QT_BUILD)
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS $${CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC} $${MODULE_DEFINE})
+ else()
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
+ endif()
+ if(USE_STATIC_QT_BUILD)
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/StaticQt5$${CMAKE_MODULE_NAME}_*.cmake\")
+ else()
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
+ endif()
+ unset(pluginTargets)
+ if (pluginTargetsMaybe)
+ foreach(pluginTarget ${pluginTargetsMaybe})
@ -123,8 +137,8 @@
+ get_filename_component(_plugindir ${PLUGIN_LOCATION} PATH)
+ get_filename_component(_plugindirname ${_plugindir} NAME)
+ get_filename_component(_pluginname ${PLUGIN_LOCATION} NAME)
+ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/share/qt5/plugins/${_plugindirname}/\\\\1-static.prl\" plugin_prl_file_location ${_pluginname})
+ macro_process_plugin_prl_file(${plugin_prl_file_location} ${Configuration} \"share/qt5/plugins\" ${PLUGIN_LOCATION} )
+ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/qt/plugins/${_plugindirname}/\\\\1-static.prl\" plugin_prl_file_location ${_pluginname})
+ macro_process_plugin_prl_file(${plugin_prl_file_location} ${Configuration} \"lib/qt/plugins\" ${PLUGIN_LOCATION})
+ endif()
+
+ endmacro()
@ -134,7 +148,7 @@
+ include(${pluginTarget})
+ endforeach()
+ endif()
+
!!IF !equals(TEMPLATE, aux)
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
@ -234,7 +248,7 @@
!!ELSE
\"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
!!ENDIF
@@ -311,8 +412,12 @@
@@ -311,8 +421,12 @@
\"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
!!ENDIF
_populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
@ -248,7 +262,7 @@
!!ENDIF // CMAKE_RELEASE_TYPE
!!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
@@ -323,28 +428,6 @@
@@ -323,28 +437,6 @@
)
!!ENDIF // TEMPLATE != aux
@ -277,9 +291,87 @@
!!IF !isEmpty(CMAKE_MODULE_EXTRAS)
include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake\")
--- mkspecs/features/create_cmake.prf.orig 2016-08-08 21:40:29.127094800 +0200
+++ mkspecs/features/create_cmake.prf 2016-08-08 21:40:29.126828300 +0200
@@ -228,33 +228,30 @@
--- mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in.orig 2016-06-10 08:48:56.000000000 +0200
+++ mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in 2016-08-18 23:22:41.994211700 +0200
@@ -2,10 +2,18 @@
add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE_STATIC}\")
+!!ELSE
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
!!ENDIF
+!!ENDIF
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG_STATIC}\")
+!!ELSE
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
!!ENDIF
+!!ENDIF
list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
--- mkspecs/features/create_cmake.prf.orig 2016-08-14 20:44:32.513342200 +0200
+++ mkspecs/features/create_cmake.prf 2016-08-18 22:47:39.606635000 +0200
@@ -135,17 +135,19 @@
CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME
win32 {
- isEmpty(CMAKE_STATIC_TYPE) {
+ mingw {
CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
- } else:mingw {
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
+ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/lib$${TARGET}.a
+ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/lib$${TARGET}d.a
} else { # MSVC static
CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
+ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/$${TARGET}.lib
+ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/$${TARGET}d.lib
}
} else {
+ # this branch is broken by the patch, only apply when building for Windows
mac {
isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
else: CMAKE_PlUGIN_EXT = .a
@@ -161,7 +163,8 @@
}
}
cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
- cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
+ isEmpty(CMAKE_STATIC_TYPE): cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
+ else: cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/StaticQt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
!build_pass:QMAKE_SUBSTITUTES += \
cmake_target_file
@@ -180,6 +183,8 @@
lib_deps =
aux_mod_deps =
aux_lib_deps =
+aux_compile_defs_static = QT_STATIC QT_DESIGNER_STATIC
+contains(QT_CONFIG, angle): aux_compile_defs += QT_OPENGL_ES_2_ANGLE_STATIC
# Until CMake 3.0 is the minimum requirement of Qt 5, we need to filter
# out header-only modules from dependencies. CMake 3.0 provides INTERFACE
# libraries which are equivalent to header-only modules.
@@ -197,10 +202,13 @@
CMAKE_QT5_MODULE_DEPS = $$join(lib_deps, ";")
CMAKE_INTERFACE_MODULE_DEPS = $$join(aux_mod_deps, ";")
CMAKE_INTERFACE_QT5_MODULE_DEPS = $$join(aux_lib_deps, ";")
+CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC = $$join(aux_compile_defs_static, ";")
+
CMAKE_QT_STEM = Qt$$QT_MAJOR_VERSION$${CMAKE_MODULE_NAME}$${QT_LIBINFIX}
mac {
+ # this branch is broken by the patch, only apply when building for Windows
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}_debug.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
@@ -228,35 +236,33 @@
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a
CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
@ -287,7 +379,7 @@
- CMAKE_STATIC_WINDOWS_BUILD = "true"
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.a
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
+ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = a
+ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = dll.a
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.$${QMAKE_EXTENSION_IMPORTLIB}
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB}
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
@ -313,24 +405,28 @@
- CMAKE_STATIC_WINDOWS_BUILD = "true"
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
-
- CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
- CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
- } else {
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
- }
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
+
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG_STATIC = $${CMAKE_QT_STEM}d.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}.lib
+ CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC = $${CMAKE_QT_STEM}d-static.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}-static.prl
}
} else {
+ # this branch is broken by the patch, only apply when building for Windows
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
--- qmake/generators/makefile.cpp 2015-08-26 14:29:10.131124600 +0100
+++ qmake/generators/makefile.cpp 2015-08-26 15:06:33.375635900 +0100
@@ -1006,6 +1006,13 @@

View File

@ -21,15 +21,16 @@
--- mkspecs/features/default_post.prf.orig 2012-09-05 23:28:56.827501401 +0200
+++ mkspecs/features/default_post.prf 2012-09-05 23:29:31.617923080 +0200
@@ -47,3 +50,10 @@
@@ -47,3 +50,11 @@
QMAKE_INCDIR += $$QMAKE_INCDIR_POST
QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
+
+win32:contains(CONFIG, static) {
+ DEFINES += QT_STATIC QT_DESIGNER_STATIC
+ DEFINES -= QT_SHARED
+ contains(QT_CONFIG, angle): DEFINES += QT_OPENGL_ES_2_ANGLE_STATIC
+ QMAKE_LFLAGS += -static
+ QMAKE_LFLAGS += -static -static-libstdc++ -static-libgcc
+ QMAKE_EXT_PRL=-static.prl # prevents qmake from finding the prl file for shared libs
+}
--- configure.orig 2012-12-10 23:51:02.920255366 +0100

View File

@ -13,14 +13,28 @@
# By default CMake and qmake will link against the dynamic libary.
# To use the static variant with CMake set the following variable before calling find_package:
# To use the static variant with CMake set the following variable before calling find_package for finding a Qt module:
# set(USE_STATIC_QT_BUILD ON)
# FIXME: Whether the static variant actually works with CMake has not been tested yet.
# To use a static plugin, add the corresponding imported target, eg.
# target_link_libraries(target ... Qt5::QWindowsIntegrationPlugin)
# Automatically importing static plugins is currently not possible, though. Hence it is required to use Q_IMPORT_PLUGIN, eg.
# #include<QtPlugin>
# Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
# To use the static variant with qmake set the following variables (either inside the *.pro file or as qmake argument):
# CONFIG+=static
# QMAKE_EXT_PRL=-static.prl
# Setting QMAKE_EXT_PRL is a workaround to prevent qmake from using the *.prl files from the dynamic build.
# Further Qt modules (those not found in the base repository and hence not included in this package) include by default
# static and dynamic libraries; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
# By default, executables will not be removed because I find them useful when testing. To remove executables
# set $NO_EXECUTABLES or $NO_STATIC_EXECUTABLES to remove statically linked executables only.
# However, if Qt modules containing tools are built as static and as dynamic library only the dynamically linked
# tools will be present in the package.
# Qt packages can be built in the following order (for example):
# qt5-base qt5-declarative qt5-tools qt5-xmlpatterns qt5-script qt5-location qt5-multimedia qt5-sensors qt5-webchannel qt5-3d qt5-imageformats qt5-quickcontrols qt5-quickcontrols2 qt5-translations qt5-svg qt5-websockets qt5-winextras qt5-serialport qt5-canvas3d qt5-connectivity qt5-charts qt5-gamepad qt5-scxml qt5-datavis3s qt5-virtualkeyboard qt5-activeqt qt5-webkit
# Helper functions for the split builds
isStatic() {
@ -82,7 +96,7 @@ md5sums=('184f9460b40752d71b15b827260580c2'
'bab00ccc19d888997f323c80354a7c3f'
'f7e1487de6e85116d9c6bde2eac4fb73'
'bc99c4cc6998295d76f37ed681c20d47'
'cb6354a788754ac9c84fedfbda34e3b6'
'370218fd439f25ab3f35bd1f14652988'
'4fe6523dd1c34398df3aa5a8763530cc'
'f32a768e1acb9785c79c8e93aa266db2'
'3bd322551924543553a2bf81b4419a09'
@ -98,7 +112,7 @@ md5sums=('184f9460b40752d71b15b827260580c2'
'83139869355c2d46921adb25e47cf0fa'
'b9565219e9252a17fc1b8fb9ee30662c'
'20de722808e8a3fb684b0212bef8de46'
'5978bff7f1f915bb96ccc1d25c915f69'
'1dc792faa7761d8d7d2f17170da04d6b'
'41ec67d9e5e70e0d6d93b42aebd0e12a'
'61c0f9d0095c5a6dec8d14e9ec35a608'
'bba65d27704cf36e148d8f18ad02ad15')
@ -352,13 +366,16 @@ package() {
# Keep a couple pri files not found in base
mv "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules/qt_plugin_"*.pri "${pkgdir}/usr/${_arch}"
# Move pri files back
mkdir -p "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
mv "${pkgdir}/usr/${_arch}/"*.pri "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
# remove CMake which are also in base
find "${pkgdir}/usr/${_arch}/lib/cmake" -not -name "Static*.cmake" -exec rm {} \;
# Delete duplicate files that are in the base package
rm -fR "${pkgdir}/usr/${_arch}/"{include,share}
rm -fR "${pkgdir}/usr/${_arch}/lib/"{qt/bin,qt/mkspecs,cmake}
rm -fR "${pkgdir}/usr/${_arch}/lib/"{qt/bin,qt/mkspecs}
# Move pri files back
mkdir -p "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
mv "${pkgdir}/usr/${_arch}/"*.pri "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
else # Shared release
# The .dll's are installed in both bindir and libdir, one copy of the .dll's is sufficient
@ -386,11 +403,11 @@ package() {
strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/libQt5Bootstrap"{,DBus}.so.${pkgver}
fi
# Applications might be useful as well; keeping them will not hurt anybody I suppose
if ! isStatic; then
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
else
# Applications might be useful as well; keeping them by default will not hurt anybody I suppose
if isStatic || [[ $NO_EXECUTABLES ]]; then
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \;
else
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
fi
# No use for these files though
find "${pkgdir}/usr/${_arch}" \( -name "*.bat" -o -name "*.def" -o -name "*.exp" \) -exec rm {} \;

View File

@ -1,5 +1,5 @@
--- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in.orig 2016-08-08 21:40:29.128136100 +0200
+++ mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2016-08-09 01:09:41.545265900 +0200
--- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in.orig 2016-08-14 20:44:32.515151700 +0200
+++ mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2016-08-18 23:22:00.447257800 +0200
@@ -59,19 +59,30 @@
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
@ -91,11 +91,25 @@
!!IF !equals(TEMPLATE, aux)
!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1)
@@ -243,64 +288,120 @@
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
@@ -240,67 +285,132 @@
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS})
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
- INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
+ set(interface_compile_definitions $${MODULE_DEFINE})
+ if(USE_STATIC_QT_BUILD)
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS $${CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC} $${MODULE_DEFINE})
+ else()
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
+ endif()
+ if(USE_STATIC_QT_BUILD)
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/StaticQt5$${CMAKE_MODULE_NAME}_*.cmake\")
+ else()
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
+ endif()
+ unset(pluginTargets)
+ if (pluginTargetsMaybe)
+ foreach(pluginTarget ${pluginTargetsMaybe})
@ -123,8 +137,8 @@
+ get_filename_component(_plugindir ${PLUGIN_LOCATION} PATH)
+ get_filename_component(_plugindirname ${_plugindir} NAME)
+ get_filename_component(_pluginname ${PLUGIN_LOCATION} NAME)
+ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/share/qt5/plugins/${_plugindirname}/\\\\1-static.prl\" plugin_prl_file_location ${_pluginname})
+ macro_process_plugin_prl_file(${plugin_prl_file_location} ${Configuration} \"share/qt5/plugins\" ${PLUGIN_LOCATION} )
+ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/qt/plugins/${_plugindirname}/\\\\1-static.prl\" plugin_prl_file_location ${_pluginname})
+ macro_process_plugin_prl_file(${plugin_prl_file_location} ${Configuration} \"lib/qt/plugins\" ${PLUGIN_LOCATION})
+ endif()
+
+ endmacro()
@ -134,7 +148,7 @@
+ include(${pluginTarget})
+ endforeach()
+ endif()
+
!!IF !equals(TEMPLATE, aux)
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
@ -234,7 +248,7 @@
!!ELSE
\"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
!!ENDIF
@@ -311,8 +412,12 @@
@@ -311,8 +421,12 @@
\"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
!!ENDIF
_populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
@ -248,7 +262,7 @@
!!ENDIF // CMAKE_RELEASE_TYPE
!!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
@@ -323,28 +428,6 @@
@@ -323,28 +437,6 @@
)
!!ENDIF // TEMPLATE != aux
@ -277,9 +291,87 @@
!!IF !isEmpty(CMAKE_MODULE_EXTRAS)
include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake\")
--- mkspecs/features/create_cmake.prf.orig 2016-08-08 21:40:29.127094800 +0200
+++ mkspecs/features/create_cmake.prf 2016-08-08 21:40:29.126828300 +0200
@@ -228,33 +228,30 @@
--- mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in.orig 2016-06-10 08:48:56.000000000 +0200
+++ mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in 2016-08-18 23:22:41.994211700 +0200
@@ -2,10 +2,18 @@
add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE_STATIC}\")
+!!ELSE
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
!!ENDIF
+!!ENDIF
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG_STATIC}\")
+!!ELSE
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
!!ENDIF
+!!ENDIF
list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
--- mkspecs/features/create_cmake.prf.orig 2016-08-14 20:44:32.513342200 +0200
+++ mkspecs/features/create_cmake.prf 2016-08-18 22:47:39.606635000 +0200
@@ -135,17 +135,19 @@
CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME
win32 {
- isEmpty(CMAKE_STATIC_TYPE) {
+ mingw {
CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
- } else:mingw {
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
+ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/lib$${TARGET}.a
+ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/lib$${TARGET}d.a
} else { # MSVC static
CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
+ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/$${TARGET}.lib
+ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/$${TARGET}d.lib
}
} else {
+ # this branch is broken by the patch, only apply when building for Windows
mac {
isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
else: CMAKE_PlUGIN_EXT = .a
@@ -161,7 +163,8 @@
}
}
cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
- cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
+ isEmpty(CMAKE_STATIC_TYPE): cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
+ else: cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/StaticQt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
!build_pass:QMAKE_SUBSTITUTES += \
cmake_target_file
@@ -180,6 +183,8 @@
lib_deps =
aux_mod_deps =
aux_lib_deps =
+aux_compile_defs_static = QT_STATIC QT_DESIGNER_STATIC
+contains(QT_CONFIG, angle): aux_compile_defs += QT_OPENGL_ES_2_ANGLE_STATIC
# Until CMake 3.0 is the minimum requirement of Qt 5, we need to filter
# out header-only modules from dependencies. CMake 3.0 provides INTERFACE
# libraries which are equivalent to header-only modules.
@@ -197,10 +202,13 @@
CMAKE_QT5_MODULE_DEPS = $$join(lib_deps, ";")
CMAKE_INTERFACE_MODULE_DEPS = $$join(aux_mod_deps, ";")
CMAKE_INTERFACE_QT5_MODULE_DEPS = $$join(aux_lib_deps, ";")
+CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC = $$join(aux_compile_defs_static, ";")
+
CMAKE_QT_STEM = Qt$$QT_MAJOR_VERSION$${CMAKE_MODULE_NAME}$${QT_LIBINFIX}
mac {
+ # this branch is broken by the patch, only apply when building for Windows
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}_debug.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
@@ -228,35 +236,33 @@
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a
CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
@ -287,7 +379,7 @@
- CMAKE_STATIC_WINDOWS_BUILD = "true"
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.a
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
+ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = a
+ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = dll.a
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.$${QMAKE_EXTENSION_IMPORTLIB}
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB}
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
@ -313,24 +405,28 @@
- CMAKE_STATIC_WINDOWS_BUILD = "true"
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
-
- CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
- CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
- } else {
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
- }
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
+
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG_STATIC = $${CMAKE_QT_STEM}d.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}.lib
+ CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC = $${CMAKE_QT_STEM}d-static.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}-static.prl
}
} else {
+ # this branch is broken by the patch, only apply when building for Windows
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
--- qmake/generators/makefile.cpp 2015-08-26 14:29:10.131124600 +0100
+++ qmake/generators/makefile.cpp 2015-08-26 15:06:33.375635900 +0100
@@ -1006,6 +1006,13 @@

View File

@ -21,15 +21,16 @@
--- mkspecs/features/default_post.prf.orig 2012-09-05 23:28:56.827501401 +0200
+++ mkspecs/features/default_post.prf 2012-09-05 23:29:31.617923080 +0200
@@ -47,3 +50,10 @@
@@ -47,3 +50,11 @@
QMAKE_INCDIR += $$QMAKE_INCDIR_POST
QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
+
+win32:contains(CONFIG, static) {
+ DEFINES += QT_STATIC QT_DESIGNER_STATIC
+ DEFINES -= QT_SHARED
+ contains(QT_CONFIG, angle): DEFINES += QT_OPENGL_ES_2_ANGLE_STATIC
+ QMAKE_LFLAGS += -static
+ QMAKE_LFLAGS += -static -static-libstdc++ -static-libgcc
+ QMAKE_EXT_PRL=-static.prl # prevents qmake from finding the prl file for shared libs
+}
--- configure.orig 2012-12-10 23:51:02.920255366 +0100

View File

@ -13,14 +13,28 @@
# By default CMake and qmake will link against the dynamic libary.
# To use the static variant with CMake set the following variable before calling find_package:
# To use the static variant with CMake set the following variable before calling find_package for finding a Qt module:
# set(USE_STATIC_QT_BUILD ON)
# FIXME: Whether the static variant actually works with CMake has not been tested yet.
# To use a static plugin, add the corresponding imported target, eg.
# target_link_libraries(target ... Qt5::QWindowsIntegrationPlugin)
# Automatically importing static plugins is currently not possible, though. Hence it is required to use Q_IMPORT_PLUGIN, eg.
# #include<QtPlugin>
# Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
# To use the static variant with qmake set the following variables (either inside the *.pro file or as qmake argument):
# CONFIG+=static
# QMAKE_EXT_PRL=-static.prl
# Setting QMAKE_EXT_PRL is a workaround to prevent qmake from using the *.prl files from the dynamic build.
# Further Qt modules (those not found in the base repository and hence not included in this package) include by default
# static and dynamic libraries; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
# By default, executables will not be removed because I find them useful when testing. To remove executables
# set $NO_EXECUTABLES or $NO_STATIC_EXECUTABLES to remove statically linked executables only.
# However, if Qt modules containing tools are built as static and as dynamic library only the dynamically linked
# tools will be present in the package.
# Qt packages can be built in the following order (for example):
# qt5-base qt5-declarative qt5-tools qt5-xmlpatterns qt5-script qt5-location qt5-multimedia qt5-sensors qt5-webchannel qt5-3d qt5-imageformats qt5-quickcontrols qt5-quickcontrols2 qt5-translations qt5-svg qt5-websockets qt5-winextras qt5-serialport qt5-canvas3d qt5-connectivity qt5-charts qt5-gamepad qt5-scxml qt5-datavis3s qt5-virtualkeyboard qt5-activeqt qt5-webkit
# Helper functions for the split builds
isStatic() {
@ -82,7 +96,7 @@ md5sums=('184f9460b40752d71b15b827260580c2'
'bab00ccc19d888997f323c80354a7c3f'
'f7e1487de6e85116d9c6bde2eac4fb73'
'bc99c4cc6998295d76f37ed681c20d47'
'cb6354a788754ac9c84fedfbda34e3b6'
'370218fd439f25ab3f35bd1f14652988'
'4fe6523dd1c34398df3aa5a8763530cc'
'f32a768e1acb9785c79c8e93aa266db2'
'3bd322551924543553a2bf81b4419a09'
@ -98,7 +112,7 @@ md5sums=('184f9460b40752d71b15b827260580c2'
'83139869355c2d46921adb25e47cf0fa'
'b9565219e9252a17fc1b8fb9ee30662c'
'20de722808e8a3fb684b0212bef8de46'
'5978bff7f1f915bb96ccc1d25c915f69'
'1dc792faa7761d8d7d2f17170da04d6b'
'41ec67d9e5e70e0d6d93b42aebd0e12a'
'61c0f9d0095c5a6dec8d14e9ec35a608'
'bba65d27704cf36e148d8f18ad02ad15')
@ -352,13 +366,16 @@ package() {
# Keep a couple pri files not found in base
mv "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules/qt_plugin_"*.pri "${pkgdir}/usr/${_arch}"
# Move pri files back
mkdir -p "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
mv "${pkgdir}/usr/${_arch}/"*.pri "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
# remove CMake which are also in base
find "${pkgdir}/usr/${_arch}/lib/cmake" -not -name "Static*.cmake" -exec rm {} \;
# Delete duplicate files that are in the base package
rm -fR "${pkgdir}/usr/${_arch}/"{include,share}
rm -fR "${pkgdir}/usr/${_arch}/lib/"{qt/bin,qt/mkspecs,cmake}
rm -fR "${pkgdir}/usr/${_arch}/lib/"{qt/bin,qt/mkspecs}
# Move pri files back
mkdir -p "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
mv "${pkgdir}/usr/${_arch}/"*.pri "${pkgdir}/usr/${_arch}/lib/qt/mkspecs/modules"
else # Shared release
# The .dll's are installed in both bindir and libdir, one copy of the .dll's is sufficient
@ -386,11 +403,11 @@ package() {
strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/libQt5Bootstrap"{,DBus}.so.${pkgver}
fi
# Applications might be useful as well; keeping them will not hurt anybody I suppose
if ! isStatic; then
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
else
# Applications might be useful as well; keeping them by default will not hurt anybody I suppose
if isStatic || [[ $NO_EXECUTABLES ]]; then
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \;
else
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
fi
# No use for these files though
find "${pkgdir}/usr/${_arch}" \( -name "*.bat" -o -name "*.def" -o -name "*.exp" \) -exec rm {} \;

View File

@ -1,5 +1,5 @@
--- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in.orig 2016-08-08 21:40:29.128136100 +0200
+++ mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2016-08-09 01:09:41.545265900 +0200
--- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in.orig 2016-08-14 20:44:32.515151700 +0200
+++ mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2016-08-18 23:22:00.447257800 +0200
@@ -59,19 +59,30 @@
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
@ -91,11 +91,25 @@
!!IF !equals(TEMPLATE, aux)
!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY FRAMEWORK 1)
@@ -243,64 +288,120 @@
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
@@ -240,67 +285,132 @@
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
INTERFACE_INCLUDE_DIRECTORIES ${_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS})
- set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
- INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
+ set(interface_compile_definitions $${MODULE_DEFINE})
+ if(USE_STATIC_QT_BUILD)
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS $${CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC} $${MODULE_DEFINE})
+ else()
+ set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} PROPERTY
+ INTERFACE_COMPILE_DEFINITIONS $${MODULE_DEFINE})
+ endif()
+ if(USE_STATIC_QT_BUILD)
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/StaticQt5$${CMAKE_MODULE_NAME}_*.cmake\")
+ else()
+ file(GLOB pluginTargetsMaybe \"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}_*.cmake\")
+ endif()
+ unset(pluginTargets)
+ if (pluginTargetsMaybe)
+ foreach(pluginTarget ${pluginTargetsMaybe})
@ -123,8 +137,8 @@
+ get_filename_component(_plugindir ${PLUGIN_LOCATION} PATH)
+ get_filename_component(_plugindirname ${_plugindir} NAME)
+ get_filename_component(_pluginname ${PLUGIN_LOCATION} NAME)
+ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/share/qt5/plugins/${_plugindirname}/\\\\1-static.prl\" plugin_prl_file_location ${_pluginname})
+ macro_process_plugin_prl_file(${plugin_prl_file_location} ${Configuration} \"share/qt5/plugins\" ${PLUGIN_LOCATION} )
+ string(REGEX REPLACE \"^lib(.*)\\\\.a\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib/qt/plugins/${_plugindirname}/\\\\1-static.prl\" plugin_prl_file_location ${_pluginname})
+ macro_process_plugin_prl_file(${plugin_prl_file_location} ${Configuration} \"lib/qt/plugins\" ${PLUGIN_LOCATION})
+ endif()
+
+ endmacro()
@ -134,7 +148,7 @@
+ include(${pluginTarget})
+ endforeach()
+ endif()
+
!!IF !equals(TEMPLATE, aux)
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
@ -234,7 +248,7 @@
!!ELSE
\"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
!!ENDIF
@@ -311,8 +412,12 @@
@@ -311,8 +421,12 @@
\"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
!!ENDIF
_populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
@ -248,7 +262,7 @@
!!ENDIF // CMAKE_RELEASE_TYPE
!!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
@@ -323,28 +428,6 @@
@@ -323,28 +437,6 @@
)
!!ENDIF // TEMPLATE != aux
@ -277,9 +291,87 @@
!!IF !isEmpty(CMAKE_MODULE_EXTRAS)
include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5$${CMAKE_MODULE_NAME}ConfigExtras.cmake\")
--- mkspecs/features/create_cmake.prf.orig 2016-08-08 21:40:29.127094800 +0200
+++ mkspecs/features/create_cmake.prf 2016-08-08 21:40:29.126828300 +0200
@@ -228,33 +228,30 @@
--- mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in.orig 2016-06-10 08:48:56.000000000 +0200
+++ mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in 2016-08-18 23:22:41.994211700 +0200
@@ -2,10 +2,18 @@
add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
!!IF !isEmpty(CMAKE_RELEASE_TYPE)
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE_STATIC}\")
+!!ELSE
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
!!ENDIF
+!!ENDIF
!!IF !isEmpty(CMAKE_DEBUG_TYPE)
+!!IF !isEmpty(CMAKE_STATIC_TYPE)
+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG_STATIC}\")
+!!ELSE
_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
!!ENDIF
+!!ENDIF
list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
--- mkspecs/features/create_cmake.prf.orig 2016-08-14 20:44:32.513342200 +0200
+++ mkspecs/features/create_cmake.prf 2016-08-18 22:47:39.606635000 +0200
@@ -135,17 +135,19 @@
CMAKE_PLUGIN_NAME = $$PLUGIN_CLASS_NAME
win32 {
- isEmpty(CMAKE_STATIC_TYPE) {
+ mingw {
CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
- } else:mingw {
- CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
- CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
+ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/lib$${TARGET}.a
+ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/lib$${TARGET}d.a
} else { # MSVC static
CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
+ CMAKE_PLUGIN_LOCATION_RELEASE_STATIC = $$PLUGIN_TYPE/$${TARGET}.lib
+ CMAKE_PLUGIN_LOCATION_DEBUG_STATIC = $$PLUGIN_TYPE/$${TARGET}d.lib
}
} else {
+ # this branch is broken by the patch, only apply when building for Windows
mac {
isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
else: CMAKE_PlUGIN_EXT = .a
@@ -161,7 +163,8 @@
}
}
cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
- cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
+ isEmpty(CMAKE_STATIC_TYPE): cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/Qt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
+ else: cmake_target_file.output = $$CMAKE_OUT_DIR/Qt5$${CMAKE_MODULE_NAME}/StaticQt5$${CMAKE_MODULE_NAME}_$${PLUGIN_CLASS_NAME}.cmake
!build_pass:QMAKE_SUBSTITUTES += \
cmake_target_file
@@ -180,6 +183,8 @@
lib_deps =
aux_mod_deps =
aux_lib_deps =
+aux_compile_defs_static = QT_STATIC QT_DESIGNER_STATIC
+contains(QT_CONFIG, angle): aux_compile_defs += QT_OPENGL_ES_2_ANGLE_STATIC
# Until CMake 3.0 is the minimum requirement of Qt 5, we need to filter
# out header-only modules from dependencies. CMake 3.0 provides INTERFACE
# libraries which are equivalent to header-only modules.
@@ -197,10 +202,13 @@
CMAKE_QT5_MODULE_DEPS = $$join(lib_deps, ";")
CMAKE_INTERFACE_MODULE_DEPS = $$join(aux_mod_deps, ";")
CMAKE_INTERFACE_QT5_MODULE_DEPS = $$join(aux_lib_deps, ";")
+CMAKE_INTERFACE_COMPILE_DEFINITIONS_STATIC = $$join(aux_compile_defs_static, ";")
+
CMAKE_QT_STEM = Qt$$QT_MAJOR_VERSION$${CMAKE_MODULE_NAME}$${QT_LIBINFIX}
mac {
+ # this branch is broken by the patch, only apply when building for Windows
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}_debug.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
@@ -228,35 +236,33 @@
CMAKE_WINMAIN_FILE_LOCATION_DEBUG = libqt5main$${QT_LIBINFIX}.a
CMAKE_WINMAIN_FILE_LOCATION_RELEASE = libqt5main$${QT_LIBINFIX}.a
@ -287,7 +379,7 @@
- CMAKE_STATIC_WINDOWS_BUILD = "true"
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.a
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
+ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = a
+ isEmpty(QMAKE_EXTENSION_IMPORTLIB): QMAKE_EXTENSION_IMPORTLIB = dll.a
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}d.$${QMAKE_EXTENSION_IMPORTLIB}
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.$${QMAKE_EXTENSION_IMPORTLIB}
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
@ -313,24 +405,28 @@
- CMAKE_STATIC_WINDOWS_BUILD = "true"
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
-
- CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
- CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
- } else {
- CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
- CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
- }
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.lib
+ CMAKE_PRL_FILE_LOCATION_DEBUG = $${CMAKE_QT_STEM}d.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE = $${CMAKE_QT_STEM}.prl
+
+ CMAKE_IMPLIB_FILE_LOCATION_DEBUG_STATIC = $${CMAKE_QT_STEM}d.lib
+ CMAKE_IMPLIB_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}.lib
+ CMAKE_PRL_FILE_LOCATION_DEBUG_STATIC = $${CMAKE_QT_STEM}d-static.prl
+ CMAKE_PRL_FILE_LOCATION_RELEASE_STATIC = $${CMAKE_QT_STEM}-static.prl
}
} else {
+ # this branch is broken by the patch, only apply when building for Windows
!isEmpty(CMAKE_STATIC_TYPE) {
CMAKE_LIB_FILE_LOCATION_DEBUG = lib$${CMAKE_QT_STEM}.a
CMAKE_LIB_FILE_LOCATION_RELEASE = lib$${CMAKE_QT_STEM}.a
--- qmake/generators/makefile.cpp 2015-08-26 14:29:10.131124600 +0100
+++ qmake/generators/makefile.cpp 2015-08-26 15:06:33.375635900 +0100
@@ -1006,6 +1006,13 @@

View File

@ -21,15 +21,16 @@
--- mkspecs/features/default_post.prf.orig 2012-09-05 23:28:56.827501401 +0200
+++ mkspecs/features/default_post.prf 2012-09-05 23:29:31.617923080 +0200
@@ -47,3 +50,10 @@
@@ -47,3 +50,11 @@
QMAKE_INCDIR += $$QMAKE_INCDIR_POST
QMAKE_LIBDIR += $$QMAKE_LIBDIR_POST
+
+win32:contains(CONFIG, static) {
+ DEFINES += QT_STATIC QT_DESIGNER_STATIC
+ DEFINES -= QT_SHARED
+ contains(QT_CONFIG, angle): DEFINES += QT_OPENGL_ES_2_ANGLE_STATIC
+ QMAKE_LFLAGS += -static
+ QMAKE_LFLAGS += -static -static-libstdc++ -static-libgcc
+ QMAKE_EXT_PRL=-static.prl # prevents qmake from finding the prl file for shared libs
+}
--- configure.orig 2012-12-10 23:51:02.920255366 +0100

View File

@ -3,10 +3,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtcanvas3d
pkgname="mingw-w64-qt5-canvas3d"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="A JavaScript 3D rendering API for Qt Quick (mingw-w64)"
depends=('mingw-w64-qt5-declarative')
@ -18,18 +21,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('1974a0025f96a2cc08948fbdb422805f')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -37,18 +47,24 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
# install manually to get the import lib, too
install -Dm755 qml/QtCanvas3D/*.dll -t "${pkgdir}/usr/${_arch}/bin"
install -Dm644 qml/QtCanvas3D/*.dll.a -t "${pkgdir}/usr/${_arch}/lib"
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll
${_arch}-strip -g "${pkgdir}/usr/${_arch}/lib/"*.dll.a
popd
make INSTALL_ROOT="$pkgdir" install
# ensure to get the import lib, too
[[ "${_config##*=}" == 'shared' ]] &&
install -Dm755 qml/QtCanvas3D/*.dll -t "${pkgdir}/usr/${_arch}/bin" &&
install -Dm644 qml/QtCanvas3D/*.dll.a -t "${pkgdir}/usr/${_arch}/lib"
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find "${pkgdir}" -name "*.prl" -delete
}

View File

@ -3,10 +3,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtcharts
pkgname="mingw-w64-qt5-charts"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Provides a set of easy to use chart components (mingw-w64)"
depends=('mingw-w64-qt5-base')
@ -19,18 +22,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('9b4f6931c946b8dc1fad97bf8c30f485')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -38,20 +48,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
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
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/"*.dll.a
popd
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find "${pkgdir}" -name "*.prl" -delete
}

View File

@ -3,10 +3,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtconnectivity
pkgname="mingw-w64-qt5-connectivity"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Provides access to Bluetooth hardware (mingw-w64)"
depends=('mingw-w64-qt5-base')
@ -18,18 +21,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('56229b15e677ee98d56446519723fb3b')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -37,20 +47,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
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
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/"*.dll.a
popd
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find "${pkgdir}" -name "*.prl" -delete
}

View File

@ -3,10 +3,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtdatavis3d
pkgname="mingw-w64-qt5-datavis3d"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Qt Data Visualization module (mingw-w64)"
depends=('mingw-w64-qt5-base')
@ -18,18 +21,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('8e0ef21bd26e8466737559d89706f1ae')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -37,20 +47,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
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
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/"*.dll.a
popd
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find "${pkgdir}" -name "*.prl" -delete
}

View File

@ -72,18 +72,16 @@ package() {
for _arch in ${_architectures}; do
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="$pkgdir" install
# The .dll's are installed in both bindir and libdir, one copy of the .dll's is sufficient
find "${pkgdir}/usr/${_arch}/lib" -name "*.dll" -exec rm {} \;
# Applications might be useful as well; keeping them will not hurt anybody I suppose
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
strip --strip-all "${pkgdir}/usr/${_arch}/lib/qt/bin/"*
[ "${_config##*=}" == static ] || strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/"*.so.$pkgver
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
@ -93,7 +91,7 @@ package() {
# will be suffixed.
for _arch in ${_architectures}; do
for exe_file in "${pkgdir}/usr/${_arch}/bin/"*.exe; do
mv "${exe_file}" "${exe_file%.exe}-qt5.exe"
[[ -f $exe_file ]] && mv "${exe_file}" "${exe_file%.exe}-qt5.exe"
done
done
}

View File

@ -3,10 +3,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtgamepad
pkgname="mingw-w64-qt5-gamepad"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Adds support for getting events from gamepad devices (mingw-w64)"
depends=('mingw-w64-qt5-base' 'mingw-w64-sdl2')
@ -18,16 +21,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('8531048533415712ec8c52d50239f8b3')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -35,17 +47,20 @@ 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
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/"*.dll.a
popd
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find "${pkgdir}" -name "*.prl" -delete
}

View File

@ -5,10 +5,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtgraphicaleffects
pkgname="mingw-w64-qt5-graphicaleffects"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Graphical effects for use with Qt Quick 2 (mingw-w64)"
depends=('mingw-w64-qt5-declarative')
@ -20,16 +23,25 @@ _pkgfqn="${_qt_module}-opensource-src-$pkgver"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('f26b0de5cdbb76ae49faca226628fe65')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -37,8 +49,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
make INSTALL_ROOT="${pkgdir}" install
popd
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
}

View File

@ -5,10 +5,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtimageformats
pkgname="mingw-w64-qt5-imageformats"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Plugins for additional image formats: TIFF, MNG, TGA, WBMP (mingw-w64)"
depends=('mingw-w64-qt5-base')
@ -24,19 +27,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('50e4086be4f1f8a0897f1ed8e1a00f09')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build()
{
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -44,12 +53,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="${pkgdir}" install
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/qt/plugins/imageformats/"*.dll
popd
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
}

View File

@ -4,10 +4,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtlocation
pkgname=mingw-w64-qt5-location
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Provides access to position, satellite and area monitoring classes (mingw-w64)"
depends=(mingw-w64-qt5-base mingw-w64-qt5-declarative)
@ -20,15 +23,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('645477ff5426f5213f3581625ea53aaa')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -36,15 +49,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
make INSTALL_ROOT="${pkgdir}" install
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
# 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
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
}

View File

@ -3,10 +3,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtmultimedia
pkgname=mingw-w64-qt5-multimedia
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Classes for audio, video, radio and camera functionality (mingw-w64)"
depends=(mingw-w64-qt5-base mingw-w64-qt5-declarative)
@ -21,7 +24,13 @@ source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/sub
md5sums=('44c1b9a1dfb0e8b13f2d9571829500ee'
'c21ff895212a17dc0a748aeadb67601d')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
link_header_files() {
for header in "$@"; do
@ -40,30 +49,39 @@ prepare() {
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
# headers are case sensitive under Linux -> provide symlinks
mkdir -p ./sysinclude/qtgui && link_header_files {ShlObj,Evr9,Mferror}.h
ln -s "/usr/${_arch}/include/qt/QtGui/qguiapplication.h" "./sysinclude/qtgui/qguiapplication.h"
${_arch}-qmake-qt5 ../${_qt_module}.pro -Wall INCLUDEPATH+="${srcdir}/${_pkgfqn}/build-${_arch}/sysinclude"
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
# Header are case sensitive under Linux, provide symlinks to prevent compile errors
mkdir -p ./sysinclude/qtgui && link_header_files {ShlObj,Evr9,Mferror}.h
ln -s "/usr/${_arch}/include/qt/QtGui/qguiapplication.h" './sysinclude/qtgui/qguiapplication.h'
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config} INCLUDEPATH+="${srcdir}/${_pkgfqn}/build-${_arch}/sysinclude"
make
popd
done
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
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
}

View File

@ -5,10 +5,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtquick1
pkgname="mingw-w64-qt5-quick1"
pkgver=5.5.1
pkgrel=1.1
pkgrel=2
arch=('any')
pkgdesc="Qt Declarative is provided for Qt 4 compatibility (mingw-w64)"
depends=('mingw-w64-qt5-base' 'mingw-w64-qt5-script' 'mingw-w64-qt5-tools')
@ -20,19 +23,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('46a61a405844cbe88a754127422f6b6d')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build()
{
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -40,26 +49,27 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
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
# Prevent file conflict with mingw-qt4
mv "${pkgdir}/usr/${_arch}/bin/qmlviewer.exe" "${pkgdir}/usr/${_arch}/bin/qmlviewer-qt5.exe"
${_arch}-strip --strip-all "${pkgdir}/usr/${_arch}/bin/"*.exe
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/"*.dll.a
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/qt/plugins/"*/*.dll
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/qt/imports/Qt/labs/"*/*.dll
popd
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find ${pkgdir} -name "*.prl" -delete
# Make sure the executables don't conflict with their mingw-qt4 counterpart
for _arch in ${_architectures}; do
for exe_file in "${pkgdir}/usr/${_arch}/bin/"*.exe; do
[[ -f $exe_file ]] && mv "${exe_file}" "${exe_file%.exe}-qt5.exe"
done
done
}

View File

@ -5,10 +5,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtquickcontrols
pkgname="mingw-w64-qt5-quickcontrols"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Reusable Qt Quick based UI controls to create classic desktop-style user interfaces (mingw-w64)"
depends=('mingw-w64-qt5-declarative')
@ -20,16 +23,25 @@ _pkgfqn="${_qt_module}-opensource-src-$pkgver"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('8aa89cc159448645bc8ddae889231ba0')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -37,10 +49,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
make INSTALL_ROOT="${pkgdir}" install
popd
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
find "$pkgdir/usr/${_arch}" -name '*.dll' -exec ${_arch}-strip --strip-unneeded {} \;
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
}

View File

@ -5,10 +5,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtquickcontrols2
pkgname="mingw-w64-qt5-quickcontrols2"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Reusable Qt Quick based UI controls to create classic desktop-style user interfaces (mingw-w64)"
depends=('mingw-w64-qt5-declarative')
@ -20,16 +23,25 @@ _pkgfqn="${_qt_module}-opensource-src-$pkgver"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('63c979d1d79ab4457f99d5762fc7e20f')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -37,10 +49,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
make INSTALL_ROOT="${pkgdir}" install
popd
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
find "$pkgdir/usr/${_arch}" -name '*.dll' -exec ${_arch}-strip --strip-unneeded {} \;
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
}

View File

@ -5,10 +5,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtscript
pkgname="mingw-w64-qt5-script"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Classes for making Qt applications scriptable. Provided for Qt 4.x compatibility (mingw-w64)"
depends=('mingw-w64-qt5-base')
@ -20,19 +23,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('75108b6bab35c0eb7fb6152fbf971ab8')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build()
{
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -40,20 +49,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
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
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/"*.dll.a
popd
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find "${pkgdir}" -name "*.prl" -delete
}

View File

@ -5,10 +5,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtscxml
pkgname="mingw-w64-qt5-scxml"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('i686' 'x86_64')
pkgdesc="Static and runtime integration of SCXML models into Qt code (mingw-w64)"
depends=('mingw-w64-qt5-declarative')
@ -20,21 +23,27 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('94ef6ad85733a1f9a8d92372ad652da3')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build()
{
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make qmake_all
find ./tools -type f -iname 'Makefile' -exec sed -i "s|-lQt5Bootstrap|-L/usr/lib -L/usr/$_arch/lib -lQt5Bootstrap|g" {} \;
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make qmake_all
find . -type f -iname 'Makefile' -exec sed -i "s|-L/usr/$_arch/lib -lQt5Bootstrap|-L/usr/lib -L/usr/$_arch/lib -lQt5Bootstrap|g" {} \;
make
popd
done
done
}
@ -42,21 +51,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
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 "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -o -name "*.dll" | xargs -rtl1 ${_arch}-strip -g
strip --strip-all "${pkgdir}/usr/${_arch}/lib/qt/bin/"*
popd
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find "${pkgdir}" -name "*.prl" -delete
}

View File

@ -5,10 +5,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtsensors
pkgname=mingw-w64-qt5-sensors
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Provides access to sensor hardware and motion gesture recognition (mingw-w64)"
depends=(mingw-w64-qt5-base mingw-w64-qt5-declarative)
@ -21,30 +24,46 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('ccd4b5869b83d7a2c8f6dd1d61e9741a')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
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
for _arch in ${_architectures}; do
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
}

View File

@ -4,10 +4,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtserialport
pkgname="mingw-w64-qt5-serialport"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Provides access to hardware and virtual serial ports (mingw-w64)"
depends=('mingw-w64-qt5-base')
@ -19,24 +22,31 @@ _pkgfqn="${_qt_module}-opensource-src-$pkgver"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/$pkgver/submodules/qtserialport-opensource-src-$pkgver.tar.xz")
md5sums=('f93cc8b36964c6aa965c27c3acd12f82')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
prepare() {
cd "${srcdir}/${_pkgfqn}"
# Don't build examples or tests.
sed -i 's/ examples tests//' qtserialport.pro
}
build() {
cd "${srcdir}/${_pkgfqn}"
# don't build examples or tests.
sed -i 's/ examples tests//' qtserialport.pro
for _arch in ${_architectures}; do
mkdir -p build-${_arch}/include/QtSerialPort && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
#mkdir -p static-${_arch}/include/QtSerialPort && pushd static-${_arch}
#${_arch}-qmake-qt5 ../${_qt_module}.pro CONFIG+=static
#make
#popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -44,25 +54,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="${pkgdir}" install
popd
#pushd static-${_arch}
#make INSTALL_ROOT="${pkgdir}" install
#popd
# 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
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll
${_arch}-strip -g "${pkgdir}/usr/${_arch}/lib/"*.dll.a
#${_arch}-strip -g "${pkgdir}/usr/${_arch}/lib/"*t.a
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find ${pkgdir} -name "*.prl" -delete
}

View File

@ -4,10 +4,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtsvg
pkgname="mingw-w64-qt5-svg"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Classes for displaying the contents of SVG files (mingw-w64)"
depends=('mingw-w64-qt5-base')
@ -19,19 +22,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('c7a769168467f4ea21a5872260c3b46e')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build()
{
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -39,20 +48,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
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
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/"{bin,lib/qt/plugins/*}/*.dll
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/"*.dll.a
popd
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find "${pkgdir}" -name "*.prl" -delete
}

View File

@ -12,10 +12,6 @@
# For QWebViewPlugin, add mingw-w64-qt5-webkit to dependencies
# For QAxWidgetPlugin, add mingw-w64-qt5-activeqt to dependencies
# To use the static variant with qmake set the following variables
# in addition to the variables mentioned in mingw-w64-qt5-base:
# DEFINES+=QT_DESIGNER_STATIC
_qt_module=qttools
pkgname="mingw-w64-qt5-tools"
pkgver=5.7.0
@ -79,13 +75,15 @@ package() {
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="$pkgdir" install
# The .dll's are installed in both bindir and libdir, one copy of the .dll's is sufficient
find "${pkgdir}/usr/${_arch}/lib" -name "*.dll" -exec rm {} \;
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
# Applications might be useful as well; keeping them will not hurt anybody I suppose
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
# Create symlinks for tools
@ -105,7 +103,7 @@ package() {
# Make sure the executables don't conflict with their mingw-qt4 counterpart
for _arch in ${_architectures}; do
for exe_file in "${pkgdir}/usr/${_arch}/bin/"*.exe; do
mv "${exe_file}" "${exe_file%.exe}-qt5.exe"
[[ -f $exe_file ]] && mv "${exe_file}" "${exe_file%.exe}-qt5.exe"
done
done
}

View File

@ -5,10 +5,12 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Contains only *.qm files (and no shared/static libs).
_qt_module=qttranslations
pkgname="mingw-w64-qt5-translations"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="A cross-platform application and UI framework (translations, mingw-w64)"
depends=('mingw-w64-qt5-base')
@ -20,30 +22,23 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('bb8f47ff5455b1e584588fa1a4141719')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
build()
{
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
popd
done
}

View File

@ -5,10 +5,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtvirtualkeyboard
pkgname="mingw-w64-qt5-virtualkeyboard"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Virtual keyboard framework (translations, mingw-w64)"
depends=('mingw-w64-qt5-declarative' 'mingw-w64-qt5-svg')
@ -20,19 +23,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('fa473ab9175483dd82aa4d27b9682715')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build()
{
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -40,9 +49,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
make INSTALL_ROOT="${pkgdir}" install
find "$pkgdir/usr/${_arch}" -name '*.dll' -exec ${_arch}-strip --strip-unneeded {} \;
popd
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
}

View File

@ -3,10 +3,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtwebchannel
pkgname=mingw-w64-qt5-webchannel
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc='Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients (mingw-w64)'
depends=('mingw-w64-qt5-declarative')
@ -18,33 +21,47 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
groups=(mingw-w64-qt mingw-w64-qt5)
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('dd7699ddeb203d77237ab58a06f9fbfa')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
prepare() {
cd "${srcdir}/${_pkgfqn}"
}
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build() {
unset PKG_CONFIG_PATH
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
package() {
for _arch in ${_architectures}; do
cd "${srcdir}/${_pkgfqn}/build-${_arch}"
make INSTALL_ROOT="${pkgdir}" install
cd "${srcdir}/${_pkgfqn}"
# 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
for _arch in ${_architectures}; do
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
}

View File

@ -1,14 +1,17 @@
# Maintainer: Martchus <martchus@gmx.net>
# DOES NOT WORK YET (mingw-64 currently not supported by Qt WebEngine)
# DOES NOT WORK YET (mingw-w64 currently not supported by Qt WebEngine)
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtwebengine
pkgname=mingw-w64-qt5-webengine
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc='Provides support for web applications using the Chromium browser project (mingw-w64)'
depends=('mingw-w64-qt5-webchannel' 'mingw-w64-qt5-location')
@ -22,7 +25,14 @@ source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/sub
'0044-qt-5.4.0-win32-g++-enable-qtwebengine-build.patch')
md5sums=('937f64886fbcb038d6fa4b44ae80cbeb'
'27e0f474f66f05f3911c71621b24636d')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
prepare() {
cd "${srcdir}/${_pkgfqn}"
@ -40,28 +50,39 @@ prepare() {
}
build() {
cd "${srcdir}/${_pkgfqn}"
unset PKG_CONFIG_PATH
# python2 workaround
export PATH="${srcdir}/python2-path:$PATH"
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
package() {
for _arch in ${_architectures}; do
cd "${srcdir}/${_pkgfqn}/build-${_arch}"
make INSTALL_ROOT="${pkgdir}" install
cd "${srcdir}/${_pkgfqn}"
# 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
for _arch in ${_architectures}; do
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
}

View File

@ -5,7 +5,10 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# See the comment below for additional dependencies/functionality.
# See the comments to enable further dependencies/functionality.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtwebkit
pkgname=mingw-w64-qt5-webkit
@ -59,7 +62,13 @@ md5sums=('9379b8829639645c184fa63532035098'
'c36fe581e0f3b61cef19415782b257ca'
'81901e7f7653dd4e71206bc107cc7eb9')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
prepare() {
cd "${srcdir}/${_pkgfqn}"
@ -118,37 +127,47 @@ prepare() {
}
build() {
unset PKG_CONFIG_PATH
cd "${srcdir}/${_pkgfqn}"
unset PKG_CONFIG_PATH
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
# Since Source/ThirdParty/ANGLE has been removed ensure files
# from system ANGLE can be included (patches from Fedora don't help
# here because Fedora uses other paths)
export CPATH="$CPATH:/usr/$_arch/include:/usr/$_arch/include/GLSLANG"
# Since Source/ThirdParty/ANGLE has been removed ensure files
# from system ANGLE can be included (patches from Fedora don't help
# here because Fedora uses other paths)
export CPATH="$CPATH:/usr/$_arch/include:/usr/$_arch/include/GLSLANG"
# SH_GLSL_OUTPUT has been renamed to SH_GLSL_COMPATIBILITY_OUTPUT
# in the latest ANGLE version so I just add a definition for backward compatibility
${_arch}-qmake-qt5 \
"QMAKE_CXXFLAGS+=-Wno-c++0x-compat" \
"DEFINES+=SH_GLSL_OUTPUT=SH_GLSL_COMPATIBILITY_OUTPUT" \
../WebKit.pro
make
popd
# SH_GLSL_OUTPUT has been renamed to SH_GLSL_COMPATIBILITY_OUTPUT
# in the latest ANGLE version so I just add a definition for backward compatibility
${_arch}-qmake-qt5 \
"QMAKE_CXXFLAGS+=-Wno-c++0x-compat" \
"DEFINES+=SH_GLSL_OUTPUT=SH_GLSL_COMPATIBILITY_OUTPUT" \
../WebKit.pro
make
popd
done
done
}
package() {
for _arch in ${_architectures}; do
cd "${srcdir}/${_pkgfqn}/build-${_arch}"
make INSTALL_ROOT="${pkgdir}" install
cd "${srcdir}/${_pkgfqn}"
# 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
for _arch in ${_architectures}; do
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
}

View File

@ -4,10 +4,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtwebsockets
pkgname="mingw-w64-qt5-websockets"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Provides WebSocket communication compliant with RFC 6455 (mingw-w64)"
depends=('mingw-w64-qt5-base')
@ -19,18 +22,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('54fc9157eeebd2af87f1da494d8fec1e')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -38,16 +48,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="${pkgdir}" install
${_arch}-strip --strip-unneeded "$pkgdir"/usr/${_arch}/bin/*.dll
${_arch}-strip -g "$pkgdir"/usr/${_arch}/lib/*.a
popd
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find "${pkgdir}" -name "*.prl" -delete
}

View File

@ -4,10 +4,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtwinextras
pkgname="mingw-w64-qt5-winextras"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Classes and functions that enable you to use Windows-specific functions (mingw-w64)"
depends=('mingw-w64-qt5-base' 'mingw-w64-qt5-declarative')
@ -19,19 +22,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('45eced234b7861ff9c52696dd1b5659a')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build()
{
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -39,13 +48,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
make INSTALL_ROOT="${pkgdir}" install
popd
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find "${pkgdir}" -name "*.prl" -delete
}

View File

@ -4,10 +4,13 @@
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
# Includes dynamic and static versions; if only one version is requried, just
# set $NO_STATIC_LIBS or $NO_SHARED_LIBS.
_qt_module=qtxmlpatterns
pkgname="mingw-w64-qt5-xmlpatterns"
pkgver=5.7.0
pkgrel=1
pkgrel=2
arch=('any')
pkgdesc="Support for XPath, XQuery, XSLT and XML schema validation (mingw-w64)"
depends=('mingw-w64-qt5-base')
@ -19,19 +22,25 @@ _pkgfqn="${_qt_module}-opensource-src-${pkgver}"
source=("https://download.qt.io/official_releases/qt/${pkgver:0:3}/${pkgver}/submodules/${_pkgfqn}.tar.xz")
md5sums=('97e447995e9741325ca8da6cff8f882a')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
_architectures='i686-w64-mingw32 x86_64-w64-mingw32'
[[ $NO_STATIC_LIBS ]] || \
makedepends+=('mingw-w64-qt5-base-static') \
optdepends+=('mingw-w64-qt5-base-static: use of static libraries') \
_configurations+=('CONFIG+=static')
[[ $NO_SHARED_LIBS ]] || \
_configurations+=('CONFIG+=shared')
build()
{
build() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
mkdir -p build-${_arch} && pushd build-${_arch}
${_arch}-qmake-qt5 ../${_qt_module}.pro
make
popd
for _config in "${_configurations[@]}"; do
msg2 "Building ${_config##*=} version for ${_arch}"
mkdir -p build-${_arch}-${_config##*=} && pushd build-${_arch}-${_config##*=}
${_arch}-qmake-qt5 ../${_qt_module}.pro ${_config}
make
popd
done
done
}
@ -39,20 +48,20 @@ package() {
cd "${srcdir}/${_pkgfqn}"
for _arch in ${_architectures}; do
pushd build-${_arch}
for _config in "${_configurations[@]}"; do
pushd build-${_arch}-${_config##*=}
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
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll
${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/lib/"*.dll.a
popd
make INSTALL_ROOT="$pkgdir" install
find "${pkgdir}/usr/${_arch}/lib" -maxdepth 1 -name "*.dll" -exec rm {} \;
[ "$NO_STATIC_EXECUTABLES" -a "${_config##*=}" = static -o "$NO_EXECUTABLES" ] && \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec rm {} \; || \
find "${pkgdir}/usr/${_arch}" -name "*.exe" -exec ${_arch}-strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}" -name "*.dll" -exec ${_arch}-strip --strip-unneeded {} \;
find "${pkgdir}/usr/${_arch}" -name "*.a" -exec ${_arch}-strip -g {} \;
[[ -d "${pkgdir}/usr/${_arch}/lib/qt/bin/" ]] && \
find "${pkgdir}/usr/${_arch}/lib/qt/bin/" -exec strip --strip-all {} \;
find "${pkgdir}/usr/${_arch}/lib/" -iname "*.so.$pkgver" -exec strip --strip-unneeded {} \;
popd
done
done
# .prl files aren't interesting for us
find "${pkgdir}" -name "*.prl" -delete
}