diff options
author | q234rty | 2023-03-22 12:13:48 +0800 |
---|---|---|
committer | q234rty | 2023-03-22 12:13:48 +0800 |
commit | 00fe82cb0f0fd6e0427b84951428d66f12342eb9 (patch) | |
tree | 2d013abf322cdd1f8844fd1b4ff49156744bdd87 | |
parent | f23018497156049a3beaf02f36a452b50c413786 (diff) | |
download | aur-00fe82cb0f0fd6e0427b84951428d66f12342eb9.tar.gz |
Update to 2.40.0
-rw-r--r-- | .SRCINFO | 29 | ||||
-rw-r--r-- | EnlargeObjectSize.patch | 5 | ||||
-rw-r--r-- | PKGBUILD | 80 | ||||
-rw-r--r-- | PasteBoardGtk.patch | 68 |
4 files changed, 97 insertions, 85 deletions
@@ -1,6 +1,6 @@ pkgbase = webkit2gtk-imgpaste pkgdesc = Web content engine for GTK (with patches for pasting images from clipboard) - pkgver = 2.38.5 + pkgver = 2.40.0 pkgrel = 1 url = https://webkitgtk.org arch = x86_64 @@ -14,6 +14,7 @@ pkgbase = webkit2gtk-imgpaste makedepends = python makedepends = ruby makedepends = systemd + makedepends = unifdef makedepends = wayland-protocols depends = at-spi2-core depends = atk @@ -23,6 +24,7 @@ pkgbase = webkit2gtk-imgpaste depends = fontconfig depends = freetype2 depends = glib2 + depends = gst-plugins-bad-libs depends = gst-plugins-base-libs depends = gstreamer depends = gtk3 @@ -31,7 +33,9 @@ pkgbase = webkit2gtk-imgpaste depends = hyphen depends = icu depends = libavif + depends = libdrm depends = libegl + depends = libepoxy depends = libgcrypt depends = libgl depends = libgles @@ -48,10 +52,12 @@ pkgbase = webkit2gtk-imgpaste depends = libwebp depends = libwpe depends = libx11 + depends = libxcomposite depends = libxext depends = libxml2 depends = libxslt depends = libxt + depends = mesa depends = openjpeg2 depends = sqlite depends = wayland @@ -61,16 +67,16 @@ pkgbase = webkit2gtk-imgpaste depends = zlib provides = webkit2gtk conflicts = webkit2gtk - source = https://webkitgtk.org/releases/webkitgtk-2.38.5.tar.xz - source = https://webkitgtk.org/releases/webkitgtk-2.38.5.tar.xz.asc + source = https://webkitgtk.org/releases/webkitgtk-2.40.0.tar.xz + source = https://webkitgtk.org/releases/webkitgtk-2.40.0.tar.xz.asc source = EnlargeObjectSize.patch source = PasteBoardGtk.patch validpgpkeys = D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3 validpgpkeys = 5AA3BC334FD7E3369E7C77B291C559DBE4C9123B - sha256sums = 40c20c43022274df5893f22b1054fa894c3eea057389bb08aee08c5b0bb0c1a7 + sha256sums = a4607ea1bf89669e89b1cb2c63faaec513f93de09b6ae60cc71d6a8aab7ab393 sha256sums = SKIP - sha256sums = a5d2149d55190a15bc806bfddd85f43b6c714722b04ce0c1e476f9cb58985bac - sha256sums = 909eb44783d093c89400494a8b57eee3a5b926e1a5b5f1e922e1dff1a6dc3c7b + sha256sums = 71b8a59c78d549fed0cd895207f49c7b3be40b236e96f4d7b9907a26521499bf + sha256sums = 20ebac2caf15fa546e6da00cb0fa90d5d37fcf7bfa883014d7d15eb4963d12d2 pkgname = webkit2gtk-imgpaste depends = at-spi2-core @@ -81,6 +87,7 @@ pkgname = webkit2gtk-imgpaste depends = fontconfig depends = freetype2 depends = glib2 + depends = gst-plugins-bad-libs depends = gst-plugins-base-libs depends = gstreamer depends = gtk3 @@ -89,7 +96,9 @@ pkgname = webkit2gtk-imgpaste depends = hyphen depends = icu depends = libavif + depends = libdrm depends = libegl + depends = libepoxy depends = libgcrypt depends = libgl depends = libgles @@ -106,10 +115,12 @@ pkgname = webkit2gtk-imgpaste depends = libwebp depends = libwpe depends = libx11 + depends = libxcomposite depends = libxext depends = libxml2 depends = libxslt depends = libxt + depends = mesa depends = openjpeg2 depends = sqlite depends = wayland @@ -117,12 +128,12 @@ pkgname = webkit2gtk-imgpaste depends = wpebackend-fdo depends = xdg-dbus-proxy depends = zlib - depends = libwpe-1.0.so depends = libWPEBackend-fdo-1.0.so + depends = libwpe-1.0.so optdepends = geoclue: Geolocation support - optdepends = gst-plugins-good: media decoding - optdepends = gst-plugins-bad: media decoding optdepends = gst-libav: nonfree media decoding + optdepends = gst-plugins-bad: media decoding + optdepends = gst-plugins-good: media decoding provides = webkit2gtk provides = libjavascriptcoregtk-4.0.so provides = libwebkit2gtk-4.0.so diff --git a/EnlargeObjectSize.patch b/EnlargeObjectSize.patch index 1d4e7a9838e6..e427efcb1100 100644 --- a/EnlargeObjectSize.patch +++ b/EnlargeObjectSize.patch @@ -1,5 +1,6 @@ ---- Source/bmalloc/libpas/src/chaos/Chaos.cpp 2022-06-20 11:45:15.214571540 +0800 -+++ Source/bmalloc/libpas/src/chaos/Chaos.cpp 2022-06-20 11:45:55.425599612 +0800 +diff -Naur webkitgtk-2.40.0/Source/bmalloc/libpas/src/chaos/Chaos.cpp webkitgtk-2.40.0-enlarged/Source/bmalloc/libpas/src/chaos/Chaos.cpp +--- webkitgtk-2.40.0/Source/bmalloc/libpas/src/chaos/Chaos.cpp 2023-02-20 17:22:22.429757600 +0800 ++++ webkitgtk-2.40.0-enlarged/Source/bmalloc/libpas/src/chaos/Chaos.cpp 2023-03-19 16:16:45.337609472 +0800 @@ -51,7 +51,7 @@ macro(uintptr_t, seed, 666, "%lu") \ macro(uintptr_t, seedAdvance, 1, "%lu") \ @@ -1,9 +1,8 @@ -# Maintainer: q234 rty <q23456yuiop at gmail dot com> -# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org> +# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org> # Contributor: Eric Bélanger <eric@archlinux.org> pkgname=webkit2gtk-imgpaste -pkgver=2.38.5 +pkgver=2.40.0 pkgrel=1 pkgdesc="Web content engine for GTK (with patches for pasting images from clipboard)" url="https://webkitgtk.org" @@ -18,6 +17,7 @@ depends=( fontconfig freetype2 glib2 + gst-plugins-bad-libs gst-plugins-base-libs gstreamer gtk3 @@ -26,7 +26,9 @@ depends=( hyphen icu libavif + libdrm libegl + libepoxy libgcrypt libgl libgles @@ -43,10 +45,12 @@ depends=( libwebp libwpe libx11 + libxcomposite libxext libxml2 libxslt libxt + mesa openjpeg2 sqlite wayland @@ -65,53 +69,69 @@ makedepends=( python ruby systemd + unifdef wayland-protocols ) provides=(webkit2gtk) conflicts=(webkit2gtk) -source=($url/releases/webkitgtk-$pkgver.tar.xz{,.asc} - EnlargeObjectSize.patch - PasteBoardGtk.patch) -sha256sums=('40c20c43022274df5893f22b1054fa894c3eea057389bb08aee08c5b0bb0c1a7' +source=( + $url/releases/webkitgtk-$pkgver.tar.xz{,.asc} + EnlargeObjectSize.patch + PasteBoardGtk.patch +) +sha256sums=('a4607ea1bf89669e89b1cb2c63faaec513f93de09b6ae60cc71d6a8aab7ab393' 'SKIP' - 'a5d2149d55190a15bc806bfddd85f43b6c714722b04ce0c1e476f9cb58985bac' - '909eb44783d093c89400494a8b57eee3a5b926e1a5b5f1e922e1dff1a6dc3c7b') -validpgpkeys=('D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3' # Carlos Garcia Campos <cgarcia@igalia.com> - '5AA3BC334FD7E3369E7C77B291C559DBE4C9123B') # Adrián Pérez de Castro <aperez@igalia.com> + '71b8a59c78d549fed0cd895207f49c7b3be40b236e96f4d7b9907a26521499bf' + '20ebac2caf15fa546e6da00cb0fa90d5d37fcf7bfa883014d7d15eb4963d12d2') +validpgpkeys=( + 'D7FCF61CF9A2DEAB31D81BD3F3D322D0EC4582C3' # Carlos Garcia Campos <cgarcia@igalia.com> + '5AA3BC334FD7E3369E7C77B291C559DBE4C9123B' # Adrián Pérez de Castro <aperez@igalia.com> +) prepare() { cd webkitgtk-$pkgver - patch -Np0 -i ../PasteBoardGtk.patch - patch -Np0 -i ../EnlargeObjectSize.patch + patch -Np1 -i ../PasteBoardGtk.patch + patch -Np1 -i ../EnlargeObjectSize.patch } build() { + local cmake_options=( + -DPORT=GTK + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_INSTALL_PREFIX=/usr + -DCMAKE_INSTALL_LIBDIR=lib + -DCMAKE_INSTALL_LIBEXECDIR=lib + -DCMAKE_SKIP_RPATH=ON + -DUSE_AVIF=ON + -DUSE_SOUP2=ON + -DENABLE_DOCUMENTATION=ON + -DENABLE_MINIBROWSER=ON + ) + # Produce minimal debug info: 4.3 GB of debug data makes the # build too slow and is too much to package for debuginfod CFLAGS+=' -g1' CXXFLAGS+=' -g1' - cmake -S webkitgtk-$pkgver -B build -G Ninja \ - -DPORT=GTK \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_INSTALL_LIBEXECDIR=lib \ - -DCMAKE_SKIP_RPATH=ON \ - -DUSE_AVIF=ON \ - -DUSE_SOUP2=ON \ - -DENABLE_DOCUMENTATION=ON \ - -DENABLE_MINIBROWSER=ON + cmake -S webkitgtk-$pkgver -B build -G Ninja "${cmake_options[@]}" cmake --build build } package() { - depends+=(libwpe-1.0.so libWPEBackend-fdo-1.0.so) - provides+=(libjavascriptcoregtk-4.0.so libwebkit2gtk-4.0.so) - optdepends=('geoclue: Geolocation support' - 'gst-plugins-good: media decoding' - 'gst-plugins-bad: media decoding' - 'gst-libav: nonfree media decoding') + depends+=( + libWPEBackend-fdo-1.0.so + libwpe-1.0.so + ) + provides+=( + libjavascriptcoregtk-4.0.so + libwebkit2gtk-4.0.so + ) + optdepends=( + 'geoclue: Geolocation support' + 'gst-libav: nonfree media decoding' + 'gst-plugins-bad: media decoding' + 'gst-plugins-good: media decoding' + ) DESTDIR="$pkgdir" cmake --install build diff --git a/PasteBoardGtk.patch b/PasteBoardGtk.patch index 623e49303af5..9c0b353f2f10 100644 --- a/PasteBoardGtk.patch +++ b/PasteBoardGtk.patch @@ -1,49 +1,29 @@ ---- Source/WebCore/platform/gtk/PasteboardGtk.cpp -+++ Source/WebCore/platform/gtk/PasteboardGtk.cpp -@@ -318,15 +318,44 @@ - - void Pasteboard::read(PasteboardFileReader& reader, std::optional<size_t>) - { -+ WTFLogAlways("xxoo Pasteboard::read PasteboardFileReader"); - if (m_selectionData) { -- for (const auto& filePath : m_selectionData->filenames()) -+ WTFLogAlways("xxoo Pasteboard::read m_selectionData"); -+ for (const auto& filePath : m_selectionData->filenames()) { -+ WTFLogAlways("xxoo Pasteboard::read m_selectionData reader.readFilename filePath=%s", filePath.utf8().data()); +diff -Naur webkitgtk-2.40.0/Source/WebCore/platform/gtk/PasteboardGtk.cpp webkitgtk-2.40.0-imgpaste/Source/WebCore/platform/gtk/PasteboardGtk.cpp +--- webkitgtk-2.40.0/Source/WebCore/platform/gtk/PasteboardGtk.cpp 2023-03-17 18:00:23.481180200 +0800 ++++ webkitgtk-2.40.0-imgpaste/Source/WebCore/platform/gtk/PasteboardGtk.cpp 2023-03-19 15:37:47.620609123 +0800 +@@ -329,6 +329,25 @@ + auto filePaths = platformStrategies()->pasteboardStrategy()->readFilePathsFromClipboard(m_name); + for (const auto& filePath : filePaths) reader.readFilename(filePath); -+ } - return; - } - -+ -+ WTFLogAlways("xxoo Pasteboard::read readFilePathsFromClipboard pasteboardName=%s", m_name.utf8().data()); - auto filePaths = platformStrategies()->pasteboardStrategy()->readFilePathsFromClipboard(m_name); -- for (const auto& filePath : filePaths) -+ for (const auto& filePath : filePaths) { -+ WTFLogAlways("xxoo Pasteboard::read readFilePathsFromClipboard reader.readFilename filePath=%s", filePath.utf8().data()); - reader.readFilename(filePath); -+ } -+ -+ if (filePaths.isEmpty()) { -+ WTFLogAlways("xxoo Pasteboard::read readFilePathsFromClipboard got no filePaths, try readBufferFromClipboard pasteboardName=%s", m_name.utf8().data()); -+ -+ auto types = platformStrategies()->pasteboardStrategy()->types(m_name); -+ static const ASCIILiteral imageTypes[] = { "image/png"_s, "image/jpeg"_s, "image/gif"_s, "image/bmp"_s, "image/vnd.microsoft.icon"_s, "image/x-icon"_s }; -+ static const ASCIILiteral imageNames[] = { "image.png"_s, "image.jpeg"_s, "image.gif"_s, "image.bmp"_s, "image.ico"_s, "image.ico"_s }; -+ for (int i = 0;i < 6;i++) { -+ if (types.contains(imageTypes[i])) { -+ WTFLogAlways("xxoo Pasteboard::read readBufferFromClipboard types contains imageType"); -+ auto buffer = platformStrategies()->pasteboardStrategy()->readBufferFromClipboard(m_name, imageTypes[i]); -+ // readBuffer(const String&, const String& type, Ref<SharedBuffer>&&) -+ // readImage(Ref<SharedBuffer>&&, const String&, PresentationSize = { }) -+ if (!buffer->isEmpty()) { -+ reader.readBuffer(imageNames[i], imageTypes[i], buffer.releaseNonNull()); -+ WTFLogAlways("xxoo Pasteboard::read reader.readBuffer success"); -+ return; ++ if (filePaths.isEmpty()) { ++ // WTFLogAlways("xxoo Pasteboard::read readFilePathsFromClipboard got no filePaths, try readBufferFromClipboard pasteboardName=%s", m_name.utf8().data()); ++ auto types = platformStrategies()->pasteboardStrategy()->types(m_name); ++ static const ASCIILiteral imageTypes[] = { "image/png"_s, "image/jpeg"_s, "image/gif"_s, "image/bmp"_s, "image/vnd.microsoft.icon"_s, "image/x-icon"_s }; ++ static const ASCIILiteral imageNames[] = { "image.png"_s, "image.jpeg"_s, "image.gif"_s, "image.bmp"_s, "image.ico"_s, "image.ico"_s }; ++ for (int i = 0;i < 6;i++) { ++ if (types.contains(imageTypes[i])) { ++ // WTFLogAlways("xxoo Pasteboard::read readBufferFromClipboard types contains imageType"); ++ auto buffer = platformStrategies()->pasteboardStrategy()->readBufferFromClipboard(m_name, imageTypes[i]); ++ // readBuffer(const String&, const String& type, Ref<SharedBuffer>&&) ++ // readImage(Ref<SharedBuffer>&&, const String&, PresentationSize = { }) ++ if (!buffer->isEmpty()) { ++ reader.readBuffer(imageNames[i], imageTypes[i], buffer.releaseNonNull()); ++ // WTFLogAlways("xxoo Pasteboard::read reader.readBuffer success"); ++ return; ++ } + } + } + } -+ } - } + return; + } - bool Pasteboard::hasData() |