[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#41174: [PATCH] gnu: webkitgtk: Add patch to share all fonts.
From: |
Maxim Cournoyer |
Subject: |
bug#41174: [PATCH] gnu: webkitgtk: Add patch to share all fonts. |
Date: |
Sun, 16 Aug 2020 16:19:53 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hi Leo,
Leo Prikler <leo.prikler@student.tugraz.at> writes:
> * gnu/packages/patches/webkitgtk-bind-all-fonts.patch: New file.
> * gnu/packages/webkit.scm (webkitgtk)[source]<patches>: Use it here.
> * gnu/local.mk: Add it here.
I've expounded a bit the commit message,
> ---
> gnu/local.mk | 1 +
> .../patches/webkitgtk-bind-all-fonts.patch | 37 +++++++++++++++++++
> gnu/packages/webkit.scm | 3 +-
> 3 files changed, 40 insertions(+), 1 deletion(-)
> create mode 100644 gnu/packages/patches/webkitgtk-bind-all-fonts.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index d34e7e6ae5..7a694e551a 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -1580,6 +1580,7 @@ dist_patch_DATA =
> \
> %D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
> %D%/packages/patches/weasyprint-library-paths.patch \
> %D%/packages/patches/webkitgtk-share-store.patch \
> + %D%/packages/patches/webkitgtk-bind-all-fonts.patch \
> %D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \
> %D%/packages/patches/wicd-bitrate-none-fix.patch \
> %D%/packages/patches/wicd-get-selected-profile-fix.patch \
> diff --git a/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
> b/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
> new file mode 100644
> index 0000000000..fec0b812f1
> --- /dev/null
> +++ b/gnu/packages/patches/webkitgtk-bind-all-fonts.patch
> @@ -0,0 +1,37 @@
> +Add fonts from all XDG_DATA_DIRS, not just XDG_DATA_HOME.
> +
> +See <http://bugs.gnu.org/41174>.
> +Author: Leo Prikler <leo.prikler@student.tugraz.at>
> +Index:
> webkitgtk-2.28.2/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> +===================================================================
> +---
> webkitgtk-2.28.2.orig/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> ++++
> webkitgtk-2.28.2/Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp
> +@@ -385,8 +385,8 @@ static void bindFonts(Vector<CString>& a
> + {
> + const char* configDir = g_get_user_config_dir();
> + const char* homeDir = g_get_home_dir();
> +- const char* dataDir = g_get_user_data_dir();
> + const char* cacheDir = g_get_user_cache_dir();
> ++ const char* const * dataDirs = g_get_system_data_dirs();
> +
> + // Configs can include custom dirs but then we have to parse them...
> + GUniquePtr<char> fontConfig(g_build_filename(configDir, "fontconfig",
> nullptr));
> +@@ -394,15 +394,17 @@ static void bindFonts(Vector<CString>& a
> + GUniquePtr<char> fontCache(g_build_filename(cacheDir, "fontconfig",
> nullptr));
> + GUniquePtr<char> fontHomeConfig(g_build_filename(homeDir,
> ".fonts.conf", nullptr));
> + GUniquePtr<char> fontHomeConfigDir(g_build_filename(configDir,
> ".fonts.conf.d", nullptr));
> +- GUniquePtr<char> fontData(g_build_filename(dataDir, "fonts", nullptr));
> + GUniquePtr<char> fontHomeData(g_build_filename(homeDir, ".fonts",
> nullptr));
> + bindIfExists(args, fontConfig.get());
> + bindIfExists(args, fontConfigHome.get());
> + bindIfExists(args, fontCache.get(), BindFlags::ReadWrite);
> + bindIfExists(args, fontHomeConfig.get());
> + bindIfExists(args, fontHomeConfigDir.get());
> +- bindIfExists(args, fontData.get());
removed the above deleted lines from your patch, so as to continue
honoring XDG_DATA_HOME,
> + bindIfExists(args, fontHomeData.get());
> ++ for (auto dataDir = dataDirs; dataDir != nullptr && *dataDir !=
> nullptr; dataDir++) {
> ++ GUniquePtr<char> fontDataDir(g_build_filename(*dataDir, "fonts",
> nullptr));
> ++ bindIfExists(args, fontDataDir.get());
> ++ }
> + bindIfExists(args, "/var/cache/fontconfig"); // Used by Debian.
> + }
> diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm
> index 90be7d2625..a5c2b3fee2 100644
> --- a/gnu/packages/webkit.scm
> +++ b/gnu/packages/webkit.scm
> @@ -129,7 +129,8 @@ engine that uses Wayland for graphics output.")
> (sha256
> (base32
> "1g9hik3bprki5s9d7y5288q5irwckbzajr6rnlvjrlnqrwjkblmr"))
> - (patches (search-patches "webkitgtk-share-store.patch"))))
> + (patches (search-patches "webkitgtk-share-store.patch"
> + "webkitgtk-bind-all-fonts.patch"))))
> (build-system cmake-build-system)
> (outputs '("out" "doc"))
> (arguments
And validated it worked well with a './pre-inst-env guix system vm
epiphany-ratpoison.scm' generated VM (it exhibited the problem after
all, when used in a VM).
For completeness sake, the test VM operating system is attached. It's
not necessary to include bubblewrap to trigger the font problem.
epiphany-ratpoison.scm
Description: Text document
The fix is now merged in master as of commit bc549a276c.
Thanks for investigating and fixing the issue!
Closing,
Maxim
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#41174: [PATCH] gnu: webkitgtk: Add patch to share all fonts.,
Maxim Cournoyer <=