qt5.qtwebkit: drop
BEGONE! qtwebkit has been unmaintained for 7 years and is vulnerable. qt6.qtwebengine is the supported alternative.
This commit is contained in:
@@ -189,40 +189,6 @@ let
|
||||
hash = "sha256-B/z/+tai01RU/bAJSCp5a0/dGI8g36nwso8MiJv27YM=";
|
||||
})
|
||||
];
|
||||
qtwebkit = [
|
||||
(fetchpatch {
|
||||
name = "qtwebkit-python39-json.patch";
|
||||
url = "https://github.com/qtwebkit/qtwebkit/commit/78360c01c796b6260bf828bc9c8a0ef73c5132fd.patch";
|
||||
sha256 = "yCX/UL666BPxjnxT6rIsUrJsPcSWHhZwMFJfuHhbkhk=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "qtwebkit-bison-3.7-build.patch";
|
||||
url = "https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31.patch";
|
||||
sha256 = "0h8ymfnwgkjkwaankr3iifiscsvngqpwb91yygndx344qdiw9y0n";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "qtwebkit-glib-2.68.patch";
|
||||
url = "https://github.com/qtwebkit/qtwebkit/pull/1058/commits/5b698ba3faffd4e198a45be9fe74f53307395e4b.patch";
|
||||
sha256 = "0a3xv0h4lv8wggckgy8cg8xnpkg7n9h45312pdjdnnwy87xvzss0";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "qtwebkit-darwin-handle.patch";
|
||||
url = "https://github.com/qtwebkit/qtwebkit/commit/5c272a21e621a66862821d3ae680f27edcc64c19.patch";
|
||||
sha256 = "9hjqLyABz372QDgoq7nXXXQ/3OXBGcYN1/92ekcC3WE=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "qtwebkit-libxml2-api-change.patch";
|
||||
url = "https://github.com/WebKit/WebKit/commit/1bad176b2496579d760852c80cff3ad9fb7c3a4b.patch";
|
||||
sha256 = "WZEj+UuKhgJBM7auhND3uddk1wWdTY728jtiWVe7CSI=";
|
||||
})
|
||||
./qtwebkit.patch
|
||||
./qtwebkit-icu68.patch
|
||||
./qtwebkit-cstdint.patch
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
./qtwebkit-darwin-no-readline.patch
|
||||
./qtwebkit-darwin-no-qos-classes.patch
|
||||
];
|
||||
qttools = [ ./qttools.patch ];
|
||||
};
|
||||
|
||||
@@ -304,7 +270,6 @@ let
|
||||
qtwayland = callPackage ../modules/qtwayland.nix { };
|
||||
qtwebchannel = callPackage ../modules/qtwebchannel.nix { };
|
||||
qtwebglplugin = callPackage ../modules/qtwebglplugin.nix { };
|
||||
qtwebkit = callPackage ../modules/qtwebkit.nix { };
|
||||
qtwebsockets = callPackage ../modules/qtwebsockets.nix { };
|
||||
qtx11extras = callPackage ../modules/qtx11extras.nix { };
|
||||
qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix { };
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
diff -up qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h.me qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h
|
||||
--- qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h.me 2023-02-20 15:40:04.045911245 +0100
|
||||
+++ qtwebkit-5.212.0-alpha4/Source/ThirdParty/ANGLE/src/common/mathutil.h 2023-02-20 15:40:39.038549787 +0100
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <algorithm>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
+#include <cstdint>
|
||||
|
||||
namespace gl
|
||||
{
|
||||
@@ -1,11 +0,0 @@
|
||||
diff --git a/Source/cmake/OptionsQt.cmake b/Source/cmake/OptionsQt.cmake
|
||||
--- a/Source/cmake/OptionsQt.cmake
|
||||
+++ b/Source/cmake/OptionsQt.cmake
|
||||
@@ -683,7 +683,6 @@ if (WIN32 AND COMPILER_IS_GCC_OR_CLANG)
|
||||
endif ()
|
||||
|
||||
if (APPLE)
|
||||
- SET_AND_EXPOSE_TO_BUILD(HAVE_QOS_CLASSES 1)
|
||||
endif ()
|
||||
|
||||
if (ENABLE_MATHML)
|
||||
@@ -1,30 +0,0 @@
|
||||
diff --git a/Source/JavaScriptCore/shell/CMakeLists.txt b/Source/JavaScriptCore/shell/CMakeLists.txt
|
||||
--- a/Source/JavaScriptCore/shell/CMakeLists.txt
|
||||
+++ b/Source/JavaScriptCore/shell/CMakeLists.txt
|
||||
@@ -9,7 +9,6 @@ set(JSC_LIBRARIES
|
||||
)
|
||||
|
||||
if (WTF_OS_MAC_OS_X)
|
||||
- list(APPEND JSC_LIBRARIES edit)
|
||||
endif ()
|
||||
|
||||
if ("${JavaScriptCore_LIBRARY_TYPE}" MATCHES "STATIC")
|
||||
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
|
||||
--- a/Source/WTF/wtf/Platform.h
|
||||
+++ b/Source/WTF/wtf/Platform.h
|
||||
@@ -563,7 +563,6 @@
|
||||
#if PLATFORM(IOS)
|
||||
|
||||
#define HAVE_NETWORK_EXTENSION 1
|
||||
-#define HAVE_READLINE 1
|
||||
#if USE(APPLE_INTERNAL_SDK)
|
||||
#define USE_CFNETWORK 1
|
||||
#endif
|
||||
@@ -650,7 +649,6 @@
|
||||
#define HAVE_MADV_DONTNEED 1
|
||||
#define HAVE_MERGESORT 1
|
||||
#define HAVE_PTHREAD_SETNAME_NP 1
|
||||
-#define HAVE_READLINE 1
|
||||
#define HAVE_SYS_TIMEB_H 1
|
||||
|
||||
#if !PLATFORM(GTK) && !PLATFORM(QT)
|
||||
@@ -1,170 +0,0 @@
|
||||
Regressed by https://github.com/unicode-org/icu/commit/c3fe7e09d844
|
||||
|
||||
In file included from Source/WebCore/platform/text/TextAllInOne.cpp:31:
|
||||
Source/WebCore/platform/text/TextCodecICU.cpp:311:42: error: use of undeclared identifier 'TRUE'
|
||||
ucnv_setFallback(m_converterICU, TRUE);
|
||||
^
|
||||
In file included from Source/WebCore/platform/text/TextAllInOne.cpp:40:
|
||||
In file included from Source/WebCore/platform/text/icu/UTextProvider.cpp:27:
|
||||
Source/WebCore/platform/text/icu/UTextProvider.h:83:28: error: use of undeclared identifier 'TRUE'
|
||||
isAccessible = TRUE;
|
||||
^
|
||||
Source/WebCore/platform/text/icu/UTextProvider.h:88:28: error: use of undeclared identifier 'FALSE'
|
||||
isAccessible = FALSE;
|
||||
^
|
||||
Source/WebCore/platform/text/icu/UTextProvider.h:97:28: error: use of undeclared identifier 'TRUE'
|
||||
isAccessible = TRUE;
|
||||
^
|
||||
Source/WebCore/platform/text/icu/UTextProvider.h:102:28: error: use of undeclared identifier 'FALSE'
|
||||
isAccessible = FALSE;
|
||||
^
|
||||
In file included from Source/WebCore/platform/text/TextAllInOne.cpp:41:
|
||||
Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:103:20: error: use of undeclared identifier 'TRUE'
|
||||
return TRUE;
|
||||
^
|
||||
Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:108:20: error: use of undeclared identifier 'FALSE'
|
||||
return FALSE;
|
||||
^
|
||||
Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:114:20: error: use of undeclared identifier 'TRUE'
|
||||
return TRUE;
|
||||
^
|
||||
Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:119:20: error: use of undeclared identifier 'FALSE'
|
||||
return FALSE;
|
||||
^
|
||||
Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:147:12: error: use of undeclared identifier 'TRUE'
|
||||
return TRUE;
|
||||
^
|
||||
Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:339:16: error: use of undeclared identifier 'FALSE'
|
||||
return FALSE;
|
||||
^
|
||||
Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp:359:12: error: use of undeclared identifier 'TRUE'
|
||||
return TRUE;
|
||||
^
|
||||
In file included from Source/WebCore/platform/text/TextAllInOne.cpp:42:
|
||||
Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp:128:16: error: use of undeclared identifier 'FALSE'
|
||||
return FALSE;
|
||||
^
|
||||
Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp:148:12: error: use of undeclared identifier 'TRUE'
|
||||
return TRUE;
|
||||
^
|
||||
|
||||
--- a/Source/WebCore/platform/text/TextCodecICU.cpp
|
||||
+++ b/Source/WebCore/platform/text/TextCodecICU.cpp
|
||||
@@ -308,7 +308,7 @@ void TextCodecICU::createICUConverter() const
|
||||
m_converterICU = ucnv_open(m_canonicalConverterName, &err);
|
||||
ASSERT(U_SUCCESS(err));
|
||||
if (m_converterICU)
|
||||
- ucnv_setFallback(m_converterICU, TRUE);
|
||||
+ ucnv_setFallback(m_converterICU, true);
|
||||
}
|
||||
|
||||
int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& err)
|
||||
--- a/Source/WebCore/platform/text/icu/UTextProvider.h
|
||||
+++ b/Source/WebCore/platform/text/icu/UTextProvider.h
|
||||
@@ -80,12 +80,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text
|
||||
// Ensure chunk offset is well formed if computed offset exceeds int32_t range.
|
||||
ASSERT(offset < std::numeric_limits<int32_t>::max());
|
||||
text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
|
||||
- isAccessible = TRUE;
|
||||
+ isAccessible = true;
|
||||
return true;
|
||||
}
|
||||
if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) {
|
||||
text->chunkOffset = text->chunkLength;
|
||||
- isAccessible = FALSE;
|
||||
+ isAccessible = false;
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
@@ -94,12 +94,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text
|
||||
// Ensure chunk offset is well formed if computed offset exceeds int32_t range.
|
||||
ASSERT(offset < std::numeric_limits<int32_t>::max());
|
||||
text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0;
|
||||
- isAccessible = TRUE;
|
||||
+ isAccessible = true;
|
||||
return true;
|
||||
}
|
||||
if (nativeIndex <= 0 && !text->chunkNativeStart) {
|
||||
text->chunkOffset = 0;
|
||||
- isAccessible = FALSE;
|
||||
+ isAccessible = false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
--- a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
|
||||
+++ b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp
|
||||
@@ -100,23 +100,23 @@ static UBool uTextLatin1Access(UText* uText, int64_t i
|
||||
if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) {
|
||||
// Already inside the buffer. Set the new offset.
|
||||
uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
|
||||
- return TRUE;
|
||||
+ return true;
|
||||
}
|
||||
if (index >= length && uText->chunkNativeLimit == length) {
|
||||
// Off the end of the buffer, but we can't get it.
|
||||
uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
|
||||
- return FALSE;
|
||||
+ return false;
|
||||
}
|
||||
} else {
|
||||
if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) {
|
||||
// Already inside the buffer. Set the new offset.
|
||||
uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart);
|
||||
- return TRUE;
|
||||
+ return true;
|
||||
}
|
||||
if (!index && !uText->chunkNativeStart) {
|
||||
// Already at the beginning; can't go any farther.
|
||||
uText->chunkOffset = 0;
|
||||
- return FALSE;
|
||||
+ return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ static UBool uTextLatin1Access(UText* uText, int64_t i
|
||||
|
||||
uText->nativeIndexingLimit = uText->chunkLength;
|
||||
|
||||
- return TRUE;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status)
|
||||
@@ -336,7 +336,7 @@ static int64_t uTextLatin1ContextAwareNativeLength(UTe
|
||||
static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
|
||||
{
|
||||
if (!text->context)
|
||||
- return FALSE;
|
||||
+ return false;
|
||||
int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text);
|
||||
UBool isAccessible;
|
||||
if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
|
||||
@@ -356,7 +356,7 @@ static UBool uTextLatin1ContextAwareAccess(UText* text
|
||||
ASSERT(newContext == UTextProviderContext::PriorContext);
|
||||
textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
|
||||
}
|
||||
- return TRUE;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
|
||||
--- a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
|
||||
+++ b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp
|
||||
@@ -125,7 +125,7 @@ static inline int64_t uTextUTF16ContextAwareNativeLeng
|
||||
static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward)
|
||||
{
|
||||
if (!text->context)
|
||||
- return FALSE;
|
||||
+ return false;
|
||||
int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text);
|
||||
UBool isAccessible;
|
||||
if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible))
|
||||
@@ -145,7 +145,7 @@ static UBool uTextUTF16ContextAwareAccess(UText* text,
|
||||
ASSERT(newContext == UTextProviderContext::PriorContext);
|
||||
textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward);
|
||||
}
|
||||
- return TRUE;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode)
|
||||
@@ -1,12 +0,0 @@
|
||||
diff --git a/Source/WebKit2/PlatformQt.cmake b/Source/WebKit2/PlatformQt.cmake
|
||||
--- a/Source/WebKit2/PlatformQt.cmake
|
||||
+++ b/Source/WebKit2/PlatformQt.cmake
|
||||
@@ -261,6 +261,7 @@
|
||||
list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES
|
||||
${GLIB_INCLUDE_DIRS}
|
||||
${GSTREAMER_INCLUDE_DIRS}
|
||||
+ ${GSTREAMER_PBUTILS_INCLUDE_DIRS}
|
||||
${Qt5Quick_INCLUDE_DIRS}
|
||||
${Qt5Quick_PRIVATE_INCLUDE_DIRS}
|
||||
${SQLITE_INCLUDE_DIR}
|
||||
|
||||
@@ -43,18 +43,6 @@ lib.mapAttrs mk (lib.importJSON ./srcs-generated.json)
|
||||
};
|
||||
};
|
||||
|
||||
# qtwebkit does not have an official release tarball on the qt mirror and is
|
||||
# mostly maintained by the community.
|
||||
qtwebkit = rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "qt";
|
||||
repo = "qtwebkit";
|
||||
rev = "v${version}";
|
||||
sha256 = "0x8rng96h19xirn7qkz3lydal6v4vn00bcl0s3brz36dfs0z8wpg";
|
||||
};
|
||||
version = "5.212.0-alpha4";
|
||||
};
|
||||
|
||||
# qtsystems has no official releases
|
||||
qtsystems = {
|
||||
version = "unstable-2019-01-03";
|
||||
|
||||
@@ -1,122 +0,0 @@
|
||||
{
|
||||
qtModule,
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
qtbase,
|
||||
qtdeclarative,
|
||||
qtlocation,
|
||||
qtmultimedia,
|
||||
qtsensors,
|
||||
qtwebchannel,
|
||||
fontconfig,
|
||||
libwebp,
|
||||
libxml2,
|
||||
libxslt,
|
||||
sqlite,
|
||||
systemd,
|
||||
glib,
|
||||
gst_all_1,
|
||||
cmake,
|
||||
bison,
|
||||
flex,
|
||||
gdb,
|
||||
gperf,
|
||||
perl,
|
||||
pkg-config,
|
||||
python3,
|
||||
ruby,
|
||||
}:
|
||||
|
||||
let
|
||||
hyphen = stdenv.mkDerivation rec {
|
||||
pname = "hyphen";
|
||||
version = "2.8.8";
|
||||
src = fetchurl {
|
||||
url = "http://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-${version}.tar.gz";
|
||||
sha256 = "304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705";
|
||||
};
|
||||
postPatch = ''
|
||||
patchShebangs tests
|
||||
'';
|
||||
buildInputs = [ perl ];
|
||||
};
|
||||
in
|
||||
qtModule {
|
||||
pname = "qtwebkit";
|
||||
propagatedBuildInputs = [
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtlocation
|
||||
qtsensors
|
||||
qtwebchannel
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
qtmultimedia
|
||||
];
|
||||
buildInputs = [
|
||||
fontconfig
|
||||
libwebp
|
||||
libxml2
|
||||
libxslt
|
||||
sqlite
|
||||
glib
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
hyphen
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
flex
|
||||
gdb
|
||||
gperf
|
||||
perl
|
||||
pkg-config
|
||||
python3
|
||||
ruby
|
||||
cmake
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DPORT=Qt"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"-DQt5Multimedia_DIR=${lib.getDev qtmultimedia}/lib/cmake/Qt5Multimedia"
|
||||
"-DQt5MultimediaWidgets_DIR=${lib.getDev qtmultimedia}/lib/cmake/Qt5MultimediaWidgets"
|
||||
"-DMACOS_FORCE_SYSTEM_XML_LIBRARIES=OFF"
|
||||
];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString (
|
||||
[
|
||||
# with gcc7 this warning blows the log over Hydra's limit
|
||||
"-Wno-expansion-to-defined"
|
||||
]
|
||||
# with gcc8, -Wclass-memaccess became part of -Wall and this too exceeds the logging limit
|
||||
++ lib.optionals stdenv.cc.isGNU [
|
||||
"-Wno-class-memaccess"
|
||||
]
|
||||
# with clang this warning blows the log over Hydra's limit
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
"-Wno-inconsistent-missing-override"
|
||||
]
|
||||
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
|
||||
''-DNIXPKGS_LIBUDEV="${lib.getLib systemd}/lib/libudev"''
|
||||
]
|
||||
);
|
||||
|
||||
doCheck = false; # fails 13 out of 13 tests (ctest)
|
||||
|
||||
# remove forbidden references to $TMPDIR
|
||||
preFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
patchelf --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" "$out"/libexec/*
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
maintainers = [ ];
|
||||
knownVulnerabilities = [
|
||||
"QtWebkit upstream is unmaintained and receives no security updates, see https://blogs.gnome.org/mcatanzaro/2022/11/04/stop-using-qtwebkit/"
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user