diff options
author | eug-vs <eugene@eug-vs.xyz> | 2022-04-21 15:04:56 +0300 |
---|---|---|
committer | eug-vs <eugene@eug-vs.xyz> | 2022-04-21 15:04:56 +0300 |
commit | 24639575c32e48a3db46e06be6a3a25cd80e8991 (patch) | |
tree | c8d86d84ce9581a65471d0d4aa6720b4506fe6ae /blog/2022-04-18.md | |
parent | 0b7bc99af62aa53148b7fcede648e5dfb6e2ca22 (diff) | |
download | eug-vs-xyz-24639575c32e48a3db46e06be6a3a25cd80e8991.tar.gz |
refactor: change prject structure
Diffstat (limited to 'blog/2022-04-18.md')
-rw-r--r-- | blog/2022-04-18.md | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/blog/2022-04-18.md b/blog/2022-04-18.md deleted file mode 100644 index 4f817a8..0000000 --- a/blog/2022-04-18.md +++ /dev/null @@ -1,48 +0,0 @@ -# Patching Gentoo :gentoo: packages in the wild -Everyone who has ever used **st** - [suckless terminal](https://st.suckless.org) - has experienced [weird crash](https://github.com/LukeSmithxyz/voidrice/issues/284) when trying to render some very specific unicode characters. In this short post I'm showing how easy it is to solve this problem on Gentoo with the help of patches. - -# libXft -The original problem is solved by installing a couple of fallback fonts and a **patched version** of `libXft`. Guys from Arch Linux can just install patched version [libxft-bgra from aur](https://aur.archlinux.org/packages/libxft-bgra), why don't we have something similar on Gentoo? :thinking: - -We don't need it! Here's the process *of me* solving this problem in a matter of 5 minutes: - -1. Find patched version from comments on GitHub - https://github.com/uditkarode/libxft-bgra -2. Find upstream source code - https://gitlab.freedesktop.org/xorg/lib/libxft -3. Clone the patched repo and pull tags from upstream: - ```bash - git clone git@github.com:uditkarode/libxft-bgra.git - git remote add upstream git@gitlab.freedesktop.org:xorg/lib/libxft.git - git pull upstream --tags - ``` -4. Checking `git log --oneline` on `master` branch, looks like we are only interested in commit `72e54c0` (the actual *PATCH*). The latest tag before the patch seems to be **2.3.3**. - ```bash - 072cd20 (HEAD -> master, origin/master, origin/HEAD) README: instructions i guess - 72e54c0 [PATCH] Add support for BGRA glyphs display and scaling - 6e7da3c Remove call to FcNameRegisterObjectTypes - 26a3a49 Skip 'render' pattern elements with invalid type - 972fa05 build-fix for c89 - 86c2355 minor typography fix - ed8bb96 fix most type-conversion warnings from gcc-normal, without obje - ct-file changes - a266847 (tag: libXft-2.3.3) libXft 2.3.3 - fab5adf Add description of libXft to README.md - b397ffb Update configure.ac bug URL for gitlab migration - ``` - -5. Create patches from the diff: `git format-patch libXft-2.3.3` -6. Move the generated `.patch` to `/etc/portage/patches/x11-libs/libXft` -7. Reinstall libXft: `emerge -av libXft` -8. Profit!!! - -Well, actually, I did something on top of that - I *rebased* patched branch to the latest **2.3.4** tag to make sure that the patch still works with the latest version of the library. If it wasn't the case - I could just pin the version when emerging: `emerge -av "=libXft-2.3.3"` because we know that the patch is working on that version. - -From now on, I will keep receiving updates to my `libXft` from Portage and each new version will be patched (hopefully successfully) until the fix is released to the upstream. - -# Grab the patch -Well, everything above was "head-on" way. Taking a closer look to the upstream repo, there's already a [merge request](https://gitlab.freedesktop.org/xorg/lib/libxft/-/merge_requests/1) with our fix, so we don't have to do git magic and we can easily grab the raw diff by appending `.patch` to the URL: - -https://gitlab.freedesktop.org/xorg/lib/libxft/-/merge_requests/1.patch - -# See also - - [Running Gentoo :gentoo: on multiple workstations](2022-04-17.md) - - [DWM - useless gaps are useless!](2022-04-02.md) |