This commit is contained in:
Alexey Pavlov
2021-11-19 23:48:53 +03:00
parent e0280472a1
commit 077c92a8b9
2 changed files with 73 additions and 3 deletions

View File

@@ -0,0 +1,67 @@
diff -Naur gammaray-2.11.3-orig/CMakeLists.txt gammaray-2.11.3/CMakeLists.txt
--- gammaray-2.11.3-orig/CMakeLists.txt 2021-11-19 15:30:40.736378100 +0300
+++ gammaray-2.11.3/CMakeLists.txt 2021-11-19 23:11:22.874841100 +0300
@@ -690,11 +690,12 @@
endif()
endif()
+set(PROBE_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}")
if(NOT GAMMARAY_INSTALL_QT_LAYOUT)
- set(PROBE_BASENAME "gammaray_probe")
-else()
- set(PROBE_BASENAME "${CMAKE_SHARED_LIBRARY_PREFIX}gammaray_probe")
+ set(PROBE_PREFIX "")
endif()
+set(PROBE_BASENAME "${PROBE_PREFIX}gammaray_probe")
+set(WINLOADER_BASENAME "${PROBE_PREFIX}gammaray_winloader")
if(GAMMARAY_INSTALL_QT_LAYOUT)
if(WIN32)
diff -Naur gammaray-2.11.3-orig/config-gammaray.h.cmake gammaray-2.11.3/config-gammaray.h.cmake
--- gammaray-2.11.3-orig/config-gammaray.h.cmake 2021-11-19 15:30:40.672412100 +0300
+++ gammaray-2.11.3/config-gammaray.h.cmake 2021-11-19 23:05:52.703503600 +0300
@@ -27,6 +27,9 @@
// probe name
#define GAMMARAY_PROBE_BASENAME "${PROBE_BASENAME}"
+// winloader name
+#define GAMMARAY_WINLOADER_BASENAME "${WINLOADER_BASENAME}"
+
// library ABI suffix, as used with >= Qt 5.14 on Android
#define ANDROID_ABI "${ANDROID_ABI}"
diff -Naur gammaray-2.11.3-orig/launcher/core/injector/windllinjector.cpp gammaray-2.11.3/launcher/core/injector/windllinjector.cpp
--- gammaray-2.11.3-orig/launcher/core/injector/windllinjector.cpp 2021-10-17 23:35:36.000000000 +0300
+++ gammaray-2.11.3/launcher/core/injector/windllinjector.cpp 2021-11-19 23:05:43.508237100 +0300
@@ -205,7 +205,7 @@
QString WinDllInjector::fixProbeDllPath(const QString &probeDll)
{
QString dllPath = QDir::toNativeSeparators(probeDll);
- dllPath.replace(QLatin1String(GAMMARAY_PROBE_BASENAME), QLatin1String("gammaray_winloader"));
+ dllPath.replace(QLatin1String(GAMMARAY_PROBE_BASENAME), QLatin1String(GAMMARAY_WINLOADER_BASENAME));
Q_ASSERT_X(QFileInfo::exists(dllPath), Q_FUNC_INFO, qPrintable(QString(QLatin1String("%1 does not exists!")).arg(dllPath)));
return dllPath;
}
diff -Naur gammaray-2.11.3-orig/probe/entry_win.cpp gammaray-2.11.3/probe/entry_win.cpp
--- gammaray-2.11.3-orig/probe/entry_win.cpp 2021-10-17 23:35:36.000000000 +0300
+++ gammaray-2.11.3/probe/entry_win.cpp 2021-11-19 23:04:26.072302900 +0300
@@ -34,7 +34,7 @@
typedef void (*gammaray_probe_inject)(void);
namespace {
-static const std::wstring LOADER_NAME = L"gammaray_winloader";
+static const std::string LOADER_NAME = GAMMARAY_WINLOADER_BASENAME;
static const std::string PROBE_NAME = GAMMARAY_PROBE_BASENAME;
}
@@ -50,8 +50,9 @@
break;
}
const std::wstring probeName(PROBE_NAME.cbegin(), PROBE_NAME.cend());
+ const std::wstring loaderName(LOADER_NAME.cbegin(), LOADER_NAME.cend());
std::wstring path(buffer, size);
- path.replace(path.find(LOADER_NAME), LOADER_NAME.length(), probeName);
+ path.replace(path.find(loaderName), loaderName.length(), probeName);
HMODULE probe = GetModuleHandleW(path.c_str());
if (!probe) {

View File

@@ -4,7 +4,7 @@ _realname=gammaray
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}-qt5"
pkgver=2.11.3
pkgrel=1
pkgrel=2
arch=('any')
url="https://www.kdab.com/gammaray/"
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
@@ -38,13 +38,15 @@ source=(https://github.com/KDAB/GammaRay/releases/download/v${pkgver}/${_realnam
001-use-webkit.patch
002-find-binutils-libs.patch
003-win32-not-elf.patch
004-files-layout.patch)
004-files-layout.patch
005-fix-dll-naming.patch)
noextract=(${_realname}-${pkgver}.tar.gz)
sha256sums=('03d7ca7bd5eb600c9c389d0cf071960330592f1f392a783b7fec5f9eaa5df586'
'd85b7e94803a1ebda912d7ac1b1b77380551a452c2ebbdb4ff03f8b140266887'
'5a8007ce7409eb0b752f48c7c32aca6161b81fe7aa48cab600886f34360da594'
'cff9bda2dbde8054bbaccba52a739d59d99808c3f5e9fcdd13747779c5003787'
'86a4e90eb77ed2c04f4cb3fdffef06b0c69915cd9870de76c81ade5562adfea6')
'86a4e90eb77ed2c04f4cb3fdffef06b0c69915cd9870de76c81ade5562adfea6'
'1518267e0c1231cfc8886d244ceb3f1865e95bad036e046816ac7d511a3c36b3')
validpgpkeys=(E86C000370B1B9E2A9191AD53DBFB6882C9358FB) # KDAB Products <info@kdab.com>
prepare() {
@@ -58,6 +60,7 @@ prepare() {
patch -p1 -i ${srcdir}/002-find-binutils-libs.patch
patch -p1 -i ${srcdir}/003-win32-not-elf.patch
patch -p1 -i ${srcdir}/004-files-layout.patch
patch -p1 -i ${srcdir}/005-fix-dll-naming.patch
}
build() {