Skip to content

[ArchLinux] ASSDraw 安装指南

Published: at 02:25

大家好,好久不见,我是某昨。

ASSDraw 是我们都非常熟悉的一款绘图工具,但这个工具并没有提供 Linux 下的构建。倒不如说,这个最后一次 commit 都已经是在八年前的工具已经完全不能适应现在的更新了。

Windows 以其向用户承诺的兼容性对 ASSDraw 保持了兼容,但 Linux 就没这么好运了,所有事情都只能自己解决。不过好在整个过程都已经有前人栽下树苗,因此我们只要打通这个流程就可以了。

AntiGrain(libagg

在安装之前,我们先来解决依赖问题。

ASSDraw 使用 libagg,也就是 AntiGrain 来绘图。这个库年久失修到了什么程度呢?它的官网都已经只有主页可以查看了。

不过好在 AUR 里已经有了这个库的打包[1],但是有一个小问题:

所以我们需要修改一下 PKGBUILD,这也就要求我们得自己 makepkg 了。首先是 clone

Terminal window
1
git clone https://aur.archlinux.org/agg.git

然后,如上图中描述的那样,我们需要将 PKGBUILD./configure 一行的末尾补上 --disable-examples

Terminal window
1
build() {
2
cd "$pkgname-$pkgver"
3
4
./configure --prefix=/usr --disable-static --disable-examples
5
make
6
}

然后就是构建安装的过程了:

Terminal window
1
makepkg -si

至此,agg 就安装完了。

ASSDraw

试图构建 ASSDraw 这件事情花费了我大量的时间。由于 ASSDraw 使用的是 wx-widgets 2.8,但现在主流的版本是 3.0,因此出现了大量的问题。简单来说就是这样:

SIGSEGV, core dumped
SIGSEGV, core dumped

想要修复这些问题,我们就必须将 wx-widgets 的版本升级到 3.0。好在 GitHub 上已经有了升级后的 fork,于是我所做的就只是打了个包罢了。

当时发现 ASSDraw 仅有的两个 Fork 中就有一个完全修复了所有的问题的时候真的是震撼我。

AUR 链接在这里[2],为了防止突发的原更新作者删库(虽然可能性不大),这里我用了我 fork 的仓库作为安装链接。在安装之前你需要像上文描述的那样完成 agg 的安装,然后就可以简单地用包管理器安装了:

Terminal window
1
yay -S assdraw

运行截图

其实到这里这篇文章已经可以算是结束了,不过姑且放一张运行截图吧(

嘛,就是这样(