aespresso, Rust, GTK, and the AUR

Booglejr | 07/23/2019
aespresso, Rust, GTK, and the AUR

Over the past few months I have been developing some stuff in Java primarily some very simple GUIs and console programs. Now, I am an Arch Linux user and after jumping between Linux oses for about 6-7 years I finally settled on Arch and I haven’t gone back since. That said, there are several strange things that force one to simply adapt. The thing I will be focusing on is the archlinux-java script. The archlinux-java script runs in the terminal and it is used something like this.

archlinux-java status - List all current Java environments including the one set as default.

archlinux-java get - Returns the Java environment set as a default.

archlinux-java set ARG - Set the ARG which must be a Java environment from status as the default.

archlinux-java unset - Unset the default Java environment.

archlinux-java fix - Fixes broken Java environment links and will auto-select an environment if one is not set.

It’s pretty straightforward but annoying to use when you have to keep switching environments. So, I decided to see of there were any frontends for this script. There seemed to be none. At this point, I decided I would just make my own. I figured it would be pretty simple and I wanted a project to do in Rust. Next, I had to decide on a GUI library. After browsing around on, the dependencies website for Rust and more specifically Cargo, I settled on Gtk-rs, a collection of Rust bindings to Gtk3. The tutorials weren’t great, but the documentation was really impressive. I began development using eclipse with Corrosion installed. Once I had developed a semblance of the application, I labeled it as arch-linux-java. I updated it and added some about information and errors and as soon as I got an AUR (Arch User Repository) account I built a PKGBUILD and uploaded it. However, it only occurred to me later that the name may violate some trademarks. So I deleted the repo, requested package removal, and lost a few files that had to be recreated (because I didn’t git pull). After, removing any reference to arch-java-gui and renaming the package aespresso, I re-uploaded to github, then I created my first release again, I built the PKGBUILD again, and then I re-uploaded to the AUR. So here we are, aespresso v0.1.0 (Carton) has been released and you can either use the PKGBUILD or you can build it yourself.

Click here to see the repo: aespresso

Click here to see the package: aespresso

PS: If you were interested in designing the icon please see here: aespresso needs an icon. #1

Good day!