# If you are going to generate HTML documentation (see below), install/update
# Sphinx:
su -c "pip install -U Sphinx"
# Get it
cd
test -f installed/jansson-2.14.tar.bz2 &&
mv -f installed/jansson-2.14.tar.bz2 .
test ! -f jansson-2.14.tar.bz2 &&
wget https://github.com/akheron/jansson/releases/download/v2.14/\
jansson-2.14.tar.bz2
# Verify tarball w/ sha256sum:
# (this came from my gpg-verified tarball)
echo "fba956f27c6ae56ce6dfd52fbf9d20254aad42821f74fa52f83957625294af\
b9 jansson-2.14.tar.bz2" | sha256sum -c
# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "jansson-*" -exec rm -r {} \;
tar xjvf ~/jansson-2.14.tar.bz2
cd jansson-2.14
test $UID = 0 && chown -R root:root .
# At some point I'll update this to match Slackware's paths, but
# if you want to install this where Slackware would, add (for 64-bit)
# something like so:
# --prefix=/usr --libdir=/usr/lib64
# Configure the build
test $(uname -m) = 'x86_64' && ./configure --libdir=/usr/local/lib64
test $(uname -m) != 'x86_64' && ./configure
# Build it
make
# Test the build
make check
# Generate HTML documentation
# Requires Sphinx (as root: 'pip install -U Sphinx')
# View with 'lynx doc/_build/html/index.html' (or go to the docs URL above)
make html
# Become root to install it
su
# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg jansson
# Install it
make install
ldconfig
# Become your non-root user again
exit
# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/jansson-*.tar.*
mv -f jansson-2.14.tar.bz2 installed/
# If you ever want to uninstall Jansson, this should do it:
cd
su
test -d src/jansson-* && ( cd src/jansson-* ; make uninstall )
( /usr/local/include ; rm -f jansson.h jansson_config.h )
test -d /usr/local/lib64 &&
rm -f /usr/local/lib64/libjanson.* /usr/local/lib64/pkgconfig/janson.pc)
rm -f /usr/local/lib/libjanson.* /usr/local/lib/pkgconfig/janson.pc
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "jansson-*" -exec rm -r {} \;
rm -f ~/installed/jansson-*.tar.*