Package Details: webkitgtk 3:2.4.11-27

Git Clone URL: https://aur.archlinux.org/webkitgtk.git (read-only, click to copy)
Package Base: webkitgtk
Description: Legacy Web content engine for GTK+ 3
Upstream URL: https://webkitgtk.org/
Licenses: custom
Conflicts: libwebkit3, webkitgtk3
Provides: libwebkit3, webkitgtk3
Replaces: libwebkit3, webkitgtk3
Submitter: City-busz
Maintainer: frealgagu
Last Packager: frealgagu
Votes: 70
Popularity: 0.070082
First Submitted: 2017-06-30 07:40 (UTC)
Last Updated: 2023-08-15 19:11 (UTC)

Pinned Comments

frealgagu commented on 2019-04-14 18:13 (UTC) (edited on 2020-12-06 03:31 (UTC) by frealgagu)

FAQ

Q: What's the difference between this package and extra/webkit2gtk?

A: webkitgtk/webkitgtk2 provides WebKit1 API/ABI, which is not compatible with WebKit2 API/ABI provided by extra/webkit2gtk. WebKitGTK+ 2.4.x is the latest branch that provides WebKit1 API. Later branches provides WebKit2 API only.

Please don't flag it as out-of-date.


Q: Are there binaries for this package somewhere?

A: I maintain the latest built package at https://github.com/frealgagu/archlinux.webkitgtk/releases


Q: "error while loading shared libraries: libicui18n.so.62: cannot open shared object file: No such file or directory"

A: You'll need to rebuild against the latest version of ICU.


Q: "error: ‘WTF::StringImpl::StaticASCIILiteraicASCIILiteral’ has not been declared" or any enchant errors.

A: If you are building in parallel, try disabling parallel using -j1 in /etc/makepkg.conf


Q: Why building takes too long time?

A: WebKit is inherently big and complex. You can modify /etc/makepkg.conf or PKGBUILD directly to build it in parallel.

  • Change "make all stamp-po" by "make -j x all stamp-po" in PKGBUILD replacing x by cores your machine has. (Thanks to @MadMe)

  • Change /etc/makepkg.conf in that way: https://wiki.archlinux.org/index.php/makepkg#Parallel_compilation under # ARCHITECTURE, COMPILE FLAGS use MAKEFLAGS="-j9" # It should be one more than your virtual CPUs. (Thanks to @tuxsavvy).

However be pending if errors occur as mentioned in previous question.


Q: How much I want to wait to a successful compilation?

A: It varies of your PC's processor and RAM, the times shared in the comments are as follow:

  • 3.5 hours to build on core i5 laptop with 8G of RAM, makeflags j4. (@cabbage)

  • 13.5 hours to build on AMD Athlon X2, makeflags j1 (@Bonnietwin).

  • 5-6 hours on Core2Duo E8400 with 8GB RAM, makeflags j2 (tuxsavvy).

  • 50 minutes on 6c/12t 3.3GHz (@kubrick).

Latest Comments

1 2 3 4 5 6 .. 16 Next › Last »

chaseleif commented on 2024-08-20 13:53 (UTC) (edited on 2024-08-21 02:57 (UTC) by chaseleif)

I built the latest update in a current chroot ($ makechrootpkg -c -r $CHROOT). https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot

Note:

  • (actually, I think I may have needed to to add glib2-devel in the makedepends() originally for makechrootpkg, but below steps are from after the initial makechrootpkg)

  • I found out I actually need webkitgtk2, so I guess I'm going to do that one now.

I received the same error as @semcore (from parser.rb) and saw: https://github.com/WebKit/WebKit/commit/c7d19a492d97f9282a546831beb918e03315f6ef I applied the changes.

Next error:

/usr/include/unicode/localpointer.h:561:26: error: parameter declared 'auto'
  561 | template <typename Type, auto closeFunction>
      |                          ^~~~

They talk about this here (not for the same file/line, but the same issue): https://bugs.webkit.org/show_bug.cgi?id=171010 and they link to a patch for that file/line, this was only meant to be a temporary workaround though. They intended to switch from c++11 to c++14 and use auto. I figured it would be easier to use c++14 rather than find and patch all of the affected autos. An -std in the WTF make flags would be overshadowed by global flags, so I went ahead and set std=c++14 for the entire build.

Next error: (call of overloaded ... is ambiguous) The WTF team was providing implementations for functions provided by c++14 in preparation for the std change, so I commented out the function. In their stdlibextras.h, I needed to comment out 2 other functions.

Next error: (auto is not permitted in this context) It looks like this is supported in c++17, so I changed -std to c++17. Also to reduce prints: -Wno for implicit fallthrough, a c++20 warning, and deprecated warnings. I removed the D_FORTIFY_SOURCE, as this is added to FLAGS during configure by default and was causing "already set" message spam.

Next error: DerivedSources/webkit/webkitmarshal.cpp. This file has extern "C" { on the first line, and includes a header which a series of other includes led to:

/usr/include/c++/14.2.1/type_traits:69:3: error: template with C linkage
   69 |   template<typename _Tp>

webkitmarshal.cpp is created in ./webkitgtk-2.4.11/Source/WebKit/gtk/GNUmakefile.am. I removed the echo which puts extern "C" { at the top, and added an inplace sed to put extern "C" { on the 3rd line below the include statement.

Next error is what @bartus posted, xml pointers changed const-ness: https://bugs.webkit.org/show_bug.cgi?id=265128 I added const to the type.

Next error:

DerivedSources/WebCore/CSSGrammar.cpp:160:10: fatal error: CSSGrammar.hpp: No such file or directory
  160 | #include "CSSGrammar.hpp"

I found this commit which addressed an issue relating to Bison 3.7+: https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31 I applied the changes.

Patches:

PKGBUILD diff: http://0x0.st/XJtp.diff

frealgagu commented on 2024-08-18 15:52 (UTC)

@semcore not a silly question at all.

webkitGTK started usign API1, but it started having multiple security concerns, API2 born and tried to replace API1, however there some applications that relies on API1 still, so that's why I've tried to maintain it. If possible and for security it's better to have installed just webkitgtk-6.0 which uses API2 with GTK4. But it depends on the application you are using it.

Look at this post: https://stackoverflow.com/questions/19692818/webkitgtk-gtk2-gtk3

semcore commented on 2024-08-17 18:54 (UTC) (edited on 2024-08-17 19:16 (UTC) by semcore)

I apologize if this is a basic / silly question, or if I missed the documentation. But, I searched online and read the posts here, and don't see an answer. And I dont understand the FAQ answer.

On my system, I have the aur version of webkitgtk installed, but not extra/webkitgtk-6.0 installed.

Should I be using the aur version, or extra version? Or both?

I can't even get the aur version to update. I havent been able to for a long time.

/home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:506:in `block in parseSequence': undefined method `=~' for #<Annotation:0x000078b20e918ff0 @codeOrigin=#<CodeOrigin:0x000078b20e919040 @fileName=#<Pathname:/home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm>, @lineNumber=402>, @type=:local, @string="Move frame up \"t1\" slots"> (NoMethodError)
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:505:in `loop'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:505:in `parseSequence'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:573:in `block in parseSequence'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:505:in `loop'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:505:in `parseSequence'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:703:in `parseData'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:707:in `parse'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:692:in `block in parseSequence'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:505:in `loop'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:505:in `parseSequence'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:544:in `block in parseSequence'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:505:in `loop'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:505:in `parseSequence'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:703:in `parseData'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/parser.rb:707:in `parse'
    from /home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb:62:in `<main>'

make: *** [GNUmakefile:95616: DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h] Error 1
make: *** Waiting for unfinished jobs....
/home/user/.cache/yay/webkitgtk/src/webkitgtk-2.4.11/Source/WebCore/xml/XPathGrammar.y: warning: fix-its can be applied.  Rerun with option '--update'. [-Wother]
DerivedSources/WebCore/CSSGrammar.y: warning: fix-its can be applied.  Rerun with option '--update'. [-Wother]
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: webkitgtk-exit status 4

webkitgtk from aur deps:

pacman -Qi webkitgtk
warning: config file /etc/pacman.conf, line 123: directive 'ParallelDownloads' in section 'dtos-core-repo' not recognized.
Name            : webkitgtk
Version         : 3:2.4.11-17
Description     : Legacy Web content engine for GTK+ 3
Architecture    : x86_64
URL             : https://webkitgtk.org/
Licenses        : custom
Groups          : None
Provides        : webkitgtk3=2.4.11  libwebkit3=2.4.11
Depends On      : enchant>=2.2  geoclue2  gst-plugins-base-libs  gtk3  harfbuzz-icu  libgl  libsecret  libwebp  libxslt  libxt
Optional Deps   : gst-libav: nonfree media decoding
                  gst-plugins-base: free media decoding [installed]
                  gst-plugins-good: media decoding [installed]
                  gtk2: Netscape plugin support [installed]
Required By     : None
Optional For    : None
Conflicts With  : webkitgtk3  libwebkit3
Replaces        : webkitgtk3  libwebkit3
Installed Size  : 44.17 MiB
Packager        : Unknown Packager
Build Date      : Thu 25 Apr 2019 11:04:31 AM CDT
Install Date    : Thu 25 Apr 2019 11:22:41 AM CDT
Install Reason  : Explicitly installed
Install Script  : Yes
Validated By    : None

Thank you

FabioLolix commented on 2024-03-14 11:41 (UTC)

@mmoya https://aur.archlinux.org/packages/webkitgtk#comment-922002

mmoya commented on 2024-03-14 11:20 (UTC) (edited on 2024-03-14 11:23 (UTC) by mmoya)

Can you add autoconf, bison and flex to build depends? A similar request was made on 2023-06 https://aur.archlinux.org/packages/webkitgtk#comment-918984.

Thanks

==> Starting prepare()...                                                                                                                                                                                                                                                                                                      
patching file Source/WebCore/platform/gtk/GtkClickCounter.cpp                                                                                                                                                                                                                                                                  
patching file Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp                                                                                                                                                                                                                                                              
patching file Source/WebCore/platform/text/enchant/TextCheckerEnchant.cpp                                                                                                                                                                                                                                                      
patching file Source/JavaScriptCore/API/JSStringRef.h                                                                                                                                                                                                                                                                          
patching file Source/WebKit2/Shared/API/c/WKString.h                                                                                                                                                                                                                                                                           
patching file Source/autotools/FindDependencies.m4                                                                                                                                                                                                                                                                             
patching file Source/WebCore/platform/text/TextCodecICU.cpp                                                                                                                                                                                                                                                                    
patching file Source/WebCore/platform/text/icu/UTextProvider.h                                                                                                                                                                                                                                                                 
patching file Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp                                                                                                                                                                                                                                                         
patching file Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp                                                                                                                                                                                                                                                          
patching file configure.ac                                                                                                                                                                                                                                                                                                     
/home/mmoya/.cache/paru/clone/webkitgtk/PKGBUILD: line 67: autoreconf: command not found                                                                                                                                                                                                                                       
==> ERROR: A failure occurred in prepare().

bartus commented on 2024-01-24 15:53 (UTC) (edited on 2024-01-24 15:56 (UTC) by bartus)

Won't build against libxml2:2.12

/build/webkitgtk/src/webkitgtk-2.4.11/Source/WebCore/xml/XSLTProcessorLibxslt.cpp:142:34: error: invalid conversion from 'void (*)(void*, xmlError*)' {aka 'void (*)(void*, _xmlError*)'} to 'xmlStructuredErrorFunc' {aka 'void (*)(void*, co⮎ nst _xmlError*)'} [-fpermissive]
  142 |         xmlSetStructuredErrorFunc(console, XSLTProcessor::parseErrorFunc);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                  |
      |                                  void (*)(void*, xmlError*) {aka void (*)(void*, _xmlError*)}
In file included from /usr/include/libxml2/libxml/valid.h:15,
                 from /usr/include/libxml2/libxml/parser.h:19,
                 from /build/webkitgtk/src/webkitgtk-2.4.11/Source/WebCore/xml/XSLStyleSheet.h:31,
                 from /build/webkitgtk/src/webkitgtk-2.4.11/Source/WebCore/xml/XSLTProcessor.h:29,
                 from /build/webkitgtk/src/webkitgtk-2.4.11/Source/WebCore/xml/XSLTProcessorLibxslt.cpp:27:
/usr/include/libxml2/libxml/xmlerror.h:898:57: note:   initializing argument 2 of 'void xmlSetStructuredErrorFunc(void*, xmlStructuredErrorFunc)'
  898 |                                  xmlStructuredErrorFunc handler);
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~

FabioLolix commented on 2023-07-01 12:31 (UTC) (edited on 2023-07-08 10:22 (UTC) by FabioLolix)

Also need option !lto to build with devtools

Build time:

real 16m2,048s

user 199m8,105s

sys 20m9,741s

with Ryzen 9 3900X 12c/12t -j23

FabioLolix commented on 2023-07-01 11:57 (UTC)

@basbjo installing the base-devel package is an AUR prerequisite

FabioLolix commented on 2023-07-01 11:52 (UTC)

Need libsoup to build with devtools:

checking for LIBSOUP... no
configure: error: Package requirements (libsoup-2.4 >= 2.42.0) were not met:

Package 'libsoup-2.4', required by 'virtual:world', not found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

basbjo commented on 2023-06-12 18:06 (UTC)

I noticed that I need to add "automake" and "bison" to the dependencies to install the package.