2017-12-08 19:49:53 +01:00
# Maintainer: Martchus <martchus@gmx.net>
# All my PKGBUILDs are managed at https://github.com/Martchus/PKGBUILDs where
# you also find the URL of a binary repository.
2020-06-18 23:42:42 +02:00
# This file is created from PKGBUILD.sh.ep contained by the mentioned repository.
2019-12-29 00:08:47 +01:00
# Do not edit it manually! See README.md in the repository's root directory
# for more information.
2017-12-08 19:49:53 +01:00
_qt_module = qtremoteobjects
2019-12-29 00:08:47 +01:00
pkgname = mingw-w64-qt5-remoteobjects
2024-03-15 22:47:25 +01:00
pkgver = 5.15.13
2019-02-02 18:18:25 +01:00
pkgrel = 1
2017-12-08 19:49:53 +01:00
arch = ( 'i686' 'x86_64' )
pkgdesc = "Inter-process communication (IPC) module developed for Qt (mingw-w64)"
depends = ( 'mingw-w64-qt5-base' )
optdepends = ( 'mingw-w64-qt5-declarative: QML bindings' )
makedepends = ( 'mingw-w64-gcc' 'mingw-w64-qt5-declarative' )
2019-12-29 00:08:47 +01:00
license = ( 'GPL3' 'LGPL' 'FDL' 'custom' )
2024-03-15 22:47:25 +01:00
_commit = 18ef1cdce7bc4c93415f38f1c220ab697aa75908
2023-10-22 14:51:41 +02:00
_basever = ${ pkgver %%+* }
2022-03-07 13:23:02 +01:00
makedepends += ( 'git' )
2017-12-08 19:49:53 +01:00
options = ( '!strip' '!buildflags' 'staticlibs' )
groups = ( 'mingw-w64-qt5' )
url = 'https://www.qt.io/'
2022-03-07 13:23:02 +01:00
_pkgfqn = ${ _qt_module }
source = ( git+https://invent.kde.org/qt/qt/$_pkgfqn #commit=$_commit)
2024-03-28 11:58:52 +01:00
sha256sums = ( 'SKIP' )
2017-12-08 19:49:53 +01:00
_architectures = 'i686-w64-mingw32 x86_64-w64-mingw32'
2019-12-29 00:08:47 +01:00
2020-06-18 23:42:42 +02:00
_configurations += ( 'CONFIG+=actually_a_shared_build CONFIG+=shared' )
2017-12-08 19:49:53 +01:00
2022-03-07 13:23:02 +01:00
pkgver( ) {
cd $_pkgfqn
echo " $_basever +kde+r " ` git rev-list --count v$_basever -lts-lgpl..$_commit `
}
prepare( ) {
cd " ${ srcdir } / ${ _pkgfqn } "
}
2017-12-08 19:49:53 +01:00
build( ) {
cd " ${ srcdir } / ${ _pkgfqn } "
for _arch in ${ _architectures } ; do
for _config in " ${ _configurations [@] } " ; do
msg2 " Building ${ _config ##*= } version for ${ _arch } "
mkdir -p build-${ _arch } -${ _config ##*= } && pushd build-${ _arch } -${ _config ##*= }
2019-12-29 00:08:47 +01:00
${ _arch } -qmake-qt5 ../${ _qt_module } .pro ${ _config } ${ _additional_qmake_args }
2017-12-08 19:49:53 +01:00
2018-05-23 20:56:49 +02:00
# search paths for host standard library (/usr/lib) and for Qt5Bootstrap (/usr/$_arch/lib) are not set correctly by qmake
2017-12-08 19:49:53 +01:00
# hence we need insert those paths manually
make qmake_all
2018-05-23 20:56:49 +02:00
find . -type f -iname 'Makefile' -exec sed -i " s|-L/usr/ $_arch /lib -lQt5QmlDevTools -lQt5Bootstrap|-L/usr/lib /usr/ $_arch /lib/libQt5QmlDevTools.a /usr/ $_arch /lib/libQt5Bootstrap.so|g " { } \;
find . -type f -iname 'Makefile' -exec sed -i " s|-L/usr/ $_arch /lib -lQt5QmlDevTools|-L/usr/lib /usr/ $_arch /lib/libQt5QmlDevTools.a|g " { } \;
2017-12-08 19:49:53 +01:00
find . -type f -iname 'Makefile' -exec sed -i " s|-L/usr/ $_arch /lib -lQt5Bootstrap|-L/usr/lib /usr/ $_arch /lib/libQt5Bootstrap.so|g " { } \;
find . -type f -iname 'Makefile' -exec sed -i "s|-lQt5Bootstrap ||g" { } \;
2022-03-07 13:23:02 +01:00
# avoid `.obj/release/qconnectionfactories.o:qconnectionfactories.cpp:(.text.unlikely+0xf): relocation truncated to fit: IMAGE_REL_AMD64_REL32 against undefined symbol `__cxa_pure_virtual'`
[ [ $_arch = = x86_64-w64-mingw32 ] ] && find . -type f -iname 'Makefile*' -exec sed -i 's|\(CXX.*\)\( -o .obj/release/qconnectionfactories.o\)|\1 -mcmodel=large \2|g' { } \;
2024-04-02 22:52:13 +02:00
make
2017-12-08 19:49:53 +01:00
popd
done
done
}
package( ) {
cd " ${ srcdir } / ${ _pkgfqn } "
for _arch in ${ _architectures } ; do
for _config in " ${ _configurations [@] } " ; do
pushd build-${ _arch } -${ _config ##*= }
2024-04-02 22:52:13 +02:00
make INSTALL_ROOT = " $pkgdir " install
2018-02-15 00:14:36 +01:00
2018-05-23 20:56:49 +02:00
# use prl files from build directory since installed prl files seem to have incorrect QMAKE_PRL_LIBS_FOR_CMAKE
2018-02-15 00:14:36 +01:00
if [ [ -d 'lib' ] ] ; then
pushd 'lib'
find -iname '*.static.prl' -exec cp --target-directory " ${ pkgdir } /usr/ ${ _arch } /lib " --parents { } +
popd
fi
if [ [ -d 'plugins' ] ] ; then
pushd 'plugins'
find -iname '*.static.prl' -exec cp --target-directory " ${ pkgdir } /usr/ ${ _arch } /lib/qt/plugins " --parents { } +
popd
fi
2018-05-23 20:56:49 +02:00
# replace library path in *.prl files so it points to the installed location and not the build directory
find " ${ pkgdir } /usr/ ${ _arch } /lib " \( -type f -name '*.prl' -o -name '*.pc' \) -exec sed -i -e " s: $PWD /lib:/usr/ $_arch /lib:g " { } \;
# remove prl files for debug version
if ! [ [ $MINGW_W64_QT_DEBUG_BUILD ] ] ; then
for file in $( find " ${ pkgdir } /usr/ ${ _arch } " -name '*d.prl' -o -name '*d.static.prl' ) ; do
[ -f " ${ file %d* } ${ file ##*d } " ] && rm " ${ file } " ;
done
fi
2019-09-08 01:42:15 +02:00
# remove '.static.prl' files
find " ${ pkgdir } /usr/ ${ _arch } " -name '.static.prl' -delete
2018-05-23 20:56:49 +02:00
find " ${ pkgdir } /usr/ ${ _arch } /lib " -maxdepth 1 -name '*.dll' -delete
2017-12-08 19:49:53 +01:00
[ " $NO_STATIC_EXECUTABLES " -a " ${ _config ##*= } " = static -o " $NO_EXECUTABLES " ] && \
2018-05-23 20:56:49 +02:00
find " ${ pkgdir } /usr/ ${ _arch } " -name '*.exe' -delete || \
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' -not -name 'libQt5QmlDevTools.a' -not -name 'libQt5Bootstrap.a' \) -exec ${ _arch } -strip -g { } \;
2017-12-08 19:49:53 +01:00
[ [ -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
2018-02-15 00:14:36 +01:00
2018-05-23 20:56:49 +02:00
# drop QMAKE_PRL_BUILD_DIR because reference the build dir
2018-02-15 00:14:36 +01:00
find " ${ pkgdir } /usr/ ${ _arch } /lib " -type f -name '*.prl' -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' { } \;
2017-12-08 19:49:53 +01:00
done
}