Linux

Here you can find information about my engagements with Linux, and about software I package for Linux, especially for Arch Linux. If you have any questions, please contact me at me@xuanruiqi.com. You can also find me on the Arch Linux Forums.

Arch Linux Packages

I maintain a few unofficial software packages for Arch Linux, including a package for the CompCert verified C compiler, and the SML# programming language and compiler. The PKGBUILDs can be found on the Arch User Repository (AUR). You can see a list of all packages I maintain here.

I also maintain an unofficial repository of pre-built1 AUR packages at https://arch.xuanruiqi.com/repo/, mainly of interest to functional programmers and formal methods practitioners. You should follow the instructions on the Arch Wiki, and add the following to your pacman.conf:

[xuanrui]
Server = https://arch.xuanruiqi.com/repo/

The main repository is hosted on Keybase, as a Keybase Pages static site. There are also mirrors located at the Graduate School of Mathematics, Nagoya University (https://www.math.nagoya-u.ac.jp/~x18004y/repo/), and at the Department of Computer Science, Tufts University (https://www.cs.tufts.edu/~xqi01/repo/).

You will also need to add my key to the pacman keyring and sign it:

# pacman-key --recv-keys 6E06FBC8
# pacman-key --lsign-key 6E06FBC8

It is assumed that you have a very up-to-date system. Otherwise. my repository will not work properly for you and you will get weird errors. For example, I have zst-compressed packages in my repository, and the database itself is also zst-compressed, so you must have the latest pacman with the zst compression/decompression tool (which you should have anyways to be running on latest Arch). Moreover, everything Python will only work with the latest Python, due to how the Arch Linux packaging system works.

1: my compilation flags are a bit more aggressive that the defaults set by Arch, but they should be generally safe. To be more specific, I use -march=x86-64-v3 -O3 -fomit-frame-pointer instead of the default -O2, so you should be running a relatively modern, mid-end or above processor (i.e., has AVX2). Otherwise you *might* run into problems. People used to fear -O3, but those fears are not that reasonable anymore, as it is now generally safe.