# Get the source tarball
cd
test -f installed/zziplib-0.13.74.tar.gz &&
mv -f installed/zziplib-0.13.74.tar.gz .
test ! -f zziplib-0.13.74.tar.gz &&
wget -O zziplib-0.13.74.tar.gz \
https://github.com/gdraheim/zziplib/archive/refs/tags/v0.13.74.tar.gz
# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "zziplib-*" -exec rm -r {} \;
tar xzvf ~/zziplib-0.13.74.tar.gz
cd zziplib-0.13.74
test $UID = 0 && chown -R root:root .
# Create a build directory
mkdir build
cd build
# If you've run CMake before, clean up
test -f Makefile && make clean
test -f CMakeCache.txt && rm CMakeCache.txt
# List all configuration options
cmake .. -LH | less
# Define CMAKE_INSTALL_MANDIR to use /usr/local/man instead of
# /usr/local/share/man
# (if you have a symlink there, not necessary)
# Configure the build with CMake
cmake -D CMAKE_INSTALL_MANDIR=/usr/local/man ..
# If you are 64-bit, it should set CMAKE_INSTALL_LIBDIR to lib64
grep CMAKE_INSTALL_LIBDIR:PATH CMakeCache.txt
# Build it
make
# Become root to install it
su
# Install it
make install
ldconfig
# List everything that was installed
cat install_manifest.txt | sort | less
# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .
# Become your non-root user again
exit
# Save the tarball for later
cd
mkdir -p -m 0700 installed
rm -f installed/zziplib-*.tar.*
mv zziplib-0.13.74.tar.gz installed/
# If you ever want to uninstall zziplib, this should do it:
cd ~/src/zziplib-0.13.74/build
su
# See install_manifest.txt for a list of files to remove.
# If that seems OK, then you may want to run something like this:
# cat install_manifest.txt | xargs rm && ldconfig
exit
find ~/src -maxdepth 1 -type d -name "zziplib-*" -exec rm -r {} \;
rm -f ~/installed/zziplib-*.tar.*