Commit Graph

15 Commits

Author SHA1 Message Date
lhchavez 549706bb57
Declare forward-compatibility with libgit2 v1.2.0 #minor (#800)
We can't yet ship a fully libgit2 v1.2.0-compatible library due to a
missing public symbol, but we can allow the v1.1.0-era codebase to link
against libgit2 v1.2.0 in the meantime.
2021-09-04 20:07:24 -07:00
lhchavez abf02bc7d7
Add `NewCredentialSSHKeyFromSigner` (#706)
This change adds `NewCredentialSSHKeyFromSigner`, which allows idiomatic
use of SSH keys from Go. This also lets us spin off an SSH server in the
tests.
2020-12-06 11:55:04 -08:00
lhchavez 54afccfa0f
Build improvements (#707)
This change makes the test be verbose and use parallelization if
possible (when using gmake to build).
2020-12-06 06:13:38 -08:00
lhchavez 137c05e802
Mark some symbols to be deprecated #minor (#698)
This change introduces the file deprecated.go, which contains any
constants, functions, and types that are slated to be deprecated in the
next major release.

These symbols are deprecated because they refer to old spellings in
pre-1.0 libgit2. This also makes the build be done with the
`-DDEPRECATE_HARD` flag to avoid regressions.

This, together with
[gorelease](https://godoc.org/golang.org/x/exp/cmd/gorelease)[1] should
make releases safer going forward.

1: More information about how that works at
   https://go.googlesource.com/exp/+/refs/heads/master/apidiff/README.md
2020-12-05 07:23:44 -08:00
nmeum 1fabe95fb7
Relax libgit2 minor version check (#696)
The major version must still be an exact match since libgit2 uses
semantic versioning and changes to the major number indicate backwards
incompatible changes to the API.

Fixes: #695
2020-11-28 11:10:34 -08:00
Suhaib Mujahid 111185838c
feat: Enable change the system install path (#653)
#### 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`.
2020-09-30 17:27:48 -07:00
Suhaib Mujahid f3a746d7b6
Enable set the VENDORED_PATH for libgit2 (#650)
### 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
```
2020-09-30 16:57:50 -07:00
lhchavez 5314951759
Refresh the GitHub Actions CI (#632)
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.
2020-08-15 17:19:53 -07:00
Patrick Steinhardt d8f9990d4d
Fix installation of libgit2 into wrong libdir (#624)
Upstream libgit2 has migrated to use the GNUInstallDirs module to decide
where things will be installed to by default. While it improves
consistency with the host system, we're not really after that when
building the vendored libgit2 library, and in fact libgit2.{a,pc} may
now be installed into a different directory than before as it started to
depend on the host platform.

Fix this by explicitly specifying that we want the library and pkgconfig
file to be installed into a plain "lib/" directory.
2020-07-25 13:08:04 -07:00
lhchavez 1c9bef0f9f
Remove a couple of now-unnecessary CMake defines (#619)
This change removes the `LIB_INSTALL_DIR` and `INCLUDE_INSTALL_DIR` from
the `script/build-libgit2.sh` script, since they are now unneeded and
just print a warning if they are used.
2020-06-20 12:39:03 -07:00
lhchavez e10c2eeef2 Uprev vendor/libgit2 to v0.99
This uprevs libgit2 to the latest and greatest.
2020-03-04 09:54:42 -08:00
lhchavez 26edffd5f5 Update CI configuration
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.
2020-02-22 18:21:38 -08:00
Carlos Martín Nieto 0646294282 Move some logic into the Makefile
This should provide a nice compromise between the scripts and comon
commands.
2014-06-03 18:35:09 +02:00
Carlos Martín Nieto b2a2a279d9 Add a settings package
This lets us modify the libgit2-wide options/settings.
2014-03-25 09:27:05 +01:00
Carlos Martín Nieto f5f8e13744 Add a travis script
Add a build script and ask Travis to run it. It downloads the tip of
libgit2's dev branch and tests against that.
2014-02-28 15:15:32 +01:00