/ Arch

How to Install Pacaur

Introduction

Pacaur is a pacman utility which makes it extremely easy to install packages from the AUR. Currently, the easiest way to install pacaur is by grabbing the PKGBUILD file and building using makepkg. Here are the instructions:

sudo pacman -S base-devel
gpg --recv-key 1EB2638FF56C0C53 # Import key for Dave Reisner <d@falconindy.com>
mkdir build
mkdir cower; cd cower
curl https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=pacaur -o PKGBUILD
makepkg -s
makepkg -i
cd ..; mkdir pacaur; cd pacaur
curl https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=pacaur -o PKGBUILD
makepkg -s
makepkg -i
cd ../
echo "You may remove the build directory now."

Pacman Output

Another great modification that can be done to the Pacman or Pacaur output is to enable the following options in /etc/pacman.conf. These options will enable more verbose output for the total download size, installation delta size, as well as colorized output.

# Misc options
Color
TotalDownload
CheckSpace
VerbosePkgLists

Build process Optimizations

Several optimizations can be done to speed up the build process for AUR packages built through Pacaur. These configurations will need to be modified to suite a particular desktop or server system. See makepkg - Tips and tricks for more details.

Edit /etc/makepkg.conf and modify the global environment variables to optimize compiled packages for your system.

CFLAGS="-march=native -mtune=native -O2 -pipe -fstack-protector-strong"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro"
MAKEFLAGS="-j$(nproc)"

Finally, if the system has an abundance of free RAM, a TMPFS cache can be setup so that the AUR packages are built in RAM. This significantly speeds up the AUR build process especially for compiled projects. The following /etc/fstab entree assumes a maximum of 12G of free memory. Replace <user> with the user who will be performing the Pacaur updates.

# tmpfs cache for building AUR packages
tmpfs   /home/<user>/.cache/pacaur/    tmpfs   noatime,nodev,nosuid,size=12G   0       0