Skip to content

Instantly share code, notes, and snippets.

@meshula
Forked from dxps/install_tmux_macos_no_brew.sh
Created February 12, 2020 19:19
Show Gist options
  • Select an option

  • Save meshula/5987e6a0a499eae6e487b6b8d43b3ec5 to your computer and use it in GitHub Desktop.

Select an option

Save meshula/5987e6a0a499eae6e487b6b8d43b3ec5 to your computer and use it in GitHub Desktop.

Revisions

  1. @dxps dxps created this gist Dec 24, 2019.
    65 changes: 65 additions & 0 deletions install_tmux_macos_no_brew.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,65 @@
    #!/bin/sh

    ## setup _________________________________

    TMUX_VER=2.9a
    LIBEVENT_VER=2.1.11-stable
    TEMP_COMPILE=~/tmux-temp-compile
    COMMON_INSTALL_PREFIX=/opt
    SYMLINK=/usr/local/bin/tmux

    ## _______________________________________

    echo
    echo ">>> Creating and using temporary dir ${TEMP_COMPILE} for downloading and compiling libevent and tmux ..."
    echo

    mkdir ${TEMP_COMPILE}
    cd ${TEMP_COMPILE}

    echo
    echo ">>> Downloading the releases ..."
    echo

    curl -OL https://github.com/tmux/tmux/releases/download/${TMUX_VER}/tmux-${TMUX_VER}.tar.gz
    curl -OL https://github.com/libevent/libevent/releases/download/release-${LIBEVENT_VER}/libevent-${LIBEVENT_VER}.tar.gz

    echo
    echo ">>> Extracting tmux ${TMUX_VER} and libevent ${LIBEVENT_VER} ..."
    echo

    tar xzf tmux-${TMUX_VER}.tar.gz
    tar xzf libevent-${LIBEVENT_VER}.tar.gz

    echo
    echo ">>> Compiling libevent ..."
    echo

    cd libevent-${LIBEVENT_VER}
    ./configure --prefix=${COMMON_INSTALL_PREFIX}
    sudo make
    sudo make install

    echo
    echo ">>> Compiling tmux ..."
    echo

    cd ../tmux-${TMUX_VER}
    LDFLAGS="-L${COMMON_INSTALL_PREFIX}/lib" CPPFLAGS="-I${COMMON_INSTALL_PREFIX}/include" LIBS="-lresolv" ./configure --prefix=${COMMON_INSTALL_PREFIX}
    make
    echo
    echo ">>> Installing tmux in ${COMMON_INSTALL_PREFIX}/bin ..."
    echo

    sudo make install

    echo
    echo ">>> Symlink to it from ${SYMLINK} ..."
    sudo ln -sf ${COMMON_INSTALL_PREFIX}/bin/tmux ${SYMLINK}

    echo
    echo ">>> Cleaning up by removing the temporary dir ${TEMP_COMPILE} ..."
    echo

    cd ..
    sudo rm -rf ${TEMP_COMPILE}