# Get it
cd
test -f installed/nasm-2.16.01.tar.xz && mv installed/nasm-2.16.01.tar.xz .
test ! -f nasm-2.16.01.tar.xz &&
wget https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01.tar.xz
# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "nasm-*" -exec rm -r {} \;
tar xJvf ~/nasm-2.16.01.tar.xz
cd nasm-2.16.01
test $UID = 0 && chown -R root:root .
# Configure the build for 64-bit
test $(uname -m) = 'x86_64' &&
./configure --prefix=/usr --mandir=/usr/man
# Configure the build for anything else
test $(uname -m) != 'x86_64' &&
./configure --prefix=/usr --mandir=/usr/man
# Build it
make
# If you want to strip the executables
make strip
# Become root to install it
su
# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg nasm
# Install it
make install
# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .
# Become yourself again
exit
# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/nasm-*.tar.*
mv nasm-2.16.01.tar.xz installed/
# If you ever need to uninstall NASM, try this:
su
( cd /usr/bin ; rm -f nasm ndisasm )
rm -f /usr/info/nasm.info*
( cd /usr/man/man1 ; rm -f nasm.1 nasm1.gz ndisasm.1 ndisasm.1.gz )
exit
rm -f ~/installed/nasm-*.tar.*
find ~/src -maxdepth 1 -type d -name "nasm-*" -exec rm -r {} \;