#### Problem:
The current `CMAKE_INSTALL_PREFIX` value for the `system` build mode is `/usr`. However, in`macOS` as an example, you cannot write to `/usr` without `sudo` permission.
#### Proposed solution:
Enable changing the value to `/usr/local` (or any other path). This change makes the script use the value of the environment variable `SYSTEM_INSTALL_PREFIX` to select the installation path. If the variable is not set, it fallback to the path `/usr`.
(cherry picked from commit 111185838c)
Co-authored-by: Suhaib Mujahid <suhaibmujahid@gmail.com>
### What this change is doing?
This change aims to enable us to set the `VENDORED_PATH` as an environment variable and failback to the default value if the environment variable is not set. Thus, this change should not break current behavior.
### Why we need this?
This will enable using the script to build libgit2 form source code downloaded manually.
Example:
```sh
LIBGIT2_VER="1.0.1"
DOWNLOAD_URL="https://codeload.github.com/libgit2/libgit2/tar.gz/v${LIBGIT2_VER}""
LIBGIT2_PATH="${HOME}/libgit2-${LIBGIT2_VER}"
wget -O "${LIBGIT2_PATH}.tar.gz" "$DOWNLOAD_URL"
tar -xzvf "${LIBGIT2_PATH}.tar.gz"
VENDORED_PATH=$LIBGIT2_PATH sh ./script/build-libgit2.sh --static
```
(cherry picked from commit f3a746d7b6)
Co-authored-by: Suhaib Mujahid <suhaibmujahid@gmail.com>
This change:
* Builds the library with Go 1.14, too.
* Builds the non-legacy tests with Ubuntu Focal (20.04).
* Adds testing for system-wide libraries, both static and dynamic
versions.
* Fixes a typo in the README.
(cherry picked from commit 5314951759)
This change:
* Updates the GitHub actions so that they run different commands for the
dynamic and static flavors of libgit2.
* Updates the .travis.yml file so that it does roughly the same as the
GitHub actions.
* Adds the release-* branches to the CI configurations.
(cherry picked from commit 26edffd5f5)