qt56.qtserialport: use QLatin1String instead of QStringLiteral

This commit is contained in:
Thomas Tuegel 2017-05-23 11:14:07 -05:00
parent 8cc09c9e3e
commit 99ed5853eb
No known key found for this signature in database
GPG Key ID: 22CBF5249D4B4D59
4 changed files with 33 additions and 10 deletions

View File

@ -11,15 +11,15 @@ diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
index 6f2cabd..81b9849 100644
--- a/src/serialport/qtudev_p.h
+++ b/src/serialport/qtudev_p.h
@@ -105,9 +105,9 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
@@ -105,10 +105,9 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
inline bool resolveSymbols(QLibrary *udevLibrary)
{
if (!udevLibrary->isLoaded()) {
- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
+ udevLibrary->setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 1);
+ udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
if (!udevLibrary->load()) {
- udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
+ udevLibrary->setFileNameAndVersion(QStringLiteral("@libudev@/lib/libudev"), 0);
+ udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
if (!udevLibrary->load()) {
qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
return false;

View File

@ -1,12 +1,12 @@
{ qtSubmodule, qtbase, substituteAll, systemd }:
{ stdenv, qtSubmodule, lib, copyPathsToStore, qtbase, substituteAll, systemd }:
let inherit (lib) getLib optional; in
qtSubmodule {
name = "qtserialport";
qtInputs = [ qtbase ];
patches = [
(substituteAll {
src = ./0001-dlopen-serialport-udev.patch;
libudev = systemd.lib;
})
];
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
NIX_CFLAGS_COMPILE =
optional stdenv.isLinux
''-DNIXPKGS_LIBUDEV="${getLib systemd}/lib/libudev"'';
}

View File

@ -0,0 +1,22 @@
Index: qtserialport-opensource-src-5.8.0/src/serialport/qtudev_p.h
===================================================================
--- qtserialport-opensource-src-5.8.0.orig/src/serialport/qtudev_p.h
+++ qtserialport-opensource-src-5.8.0/src/serialport/qtudev_p.h
@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QL
inline bool resolveSymbols(QLibrary *udevLibrary)
{
if (!udevLibrary->isLoaded()) {
+#ifdef NIXPKGS_LIBUDEV
+ udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
+#else
udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
+#endif
if (!udevLibrary->load()) {
+#ifdef NIXPKGS_LIBUDEV
+ udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
+#else
udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
+#endif
if (!udevLibrary->load()) {
qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
return false;

View File

@ -0,0 +1 @@
qtserialport-dlopen-udev.patch