summaryrefslogtreecommitdiff
path: root/script
AgeCommit message (Collapse)Author
2020-12-06Add `NewCredentialSSHKeyFromSigner` (#706)lhchavez
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-06Build improvements (#707)lhchavez
This change makes the test be verbose and use parallelization if possible (when using gmake to build).
2020-12-05Mark some symbols to be deprecated #minor (#698)lhchavez
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-11-28Relax libgit2 minor version check (#696)nmeum
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-09-30feat: Enable change the system install path (#653)Suhaib Mujahid
#### 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-30Enable set the VENDORED_PATH for libgit2 (#650)Suhaib Mujahid
### 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-08-15Refresh the GitHub Actions CI (#632)lhchavez
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-07-25Fix installation of libgit2 into wrong libdir (#624)Patrick Steinhardt
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-06-20Remove a couple of now-unnecessary CMake defines (#619)lhchavez
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-03-04Uprev vendor/libgit2 to v0.99lhchavez
This uprevs libgit2 to the latest and greatest.
2020-02-22Update CI configurationlhchavez
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-12Merge pull request #503 from jonEbird/static-build-script-cleanuplhchavez
script/build-libgit2-static.sh: correctly set ROOT
2019-08-13script: tell libgit2 to use the builtin regex backendCarlos Martín Nieto
2019-05-07script/build-libgit2-static.sh: correctly set ROOTJon Miller
The ROOT variable is not being set correctly. Need to use dirname against $0 as well as only go up one directory instead of two.
2019-01-05Improve the static build scriptlhchavez
This change: * Uses the installed version of both the library and the pkgconfig file, which fixes path resolution on Ubuntu Xenial. * Uses quoting liberally so that paths with spaces in them are correctly handled. * Moves the build+install directories to static-build/ in the git2go repository to avoid having a dirty vendor/libgit2 checkout.
2018-08-23static: use pkg-config exclusively when using itRyan Graham
When using the static linking option on platforms that use pkg-config, use ONLY pkg-config to get the CFLAGS and LDFLAGS. This prevents pulling in dependencies and flags for any non-vendored version that may be present on the host. The main practical effect of this is that if someone doesn't need/want any sort of remote access support at all they can completely disable libcurl, libssh2, libssl, etc and produce a smaller/simpler binary and greatly simplify their build-time dependencies. When done properly, the generated pkg-config file will tell cgo everything it needs to know. This also prevents confusion if there is a system copy of libgit2 that is being given priority over the vendored build. Signed-off-by: Ryan Graham <[email protected]>
2016-11-01Get rid of the with-static.sh scriptCarlos Martín Nieto
CGO can perform variable substitution in the directives, so we don't need to use a script to set up the variables; we can let the go tool do it for us.
2016-03-07Update libgit2 version to install on Travis to 24Carlos Martín Nieto
2015-08-31Install v23 on TravisCarlos Martín Nieto
2015-06-28travis: make the script executableCarlos Martín Nieto
2015-06-28travis: don't install libgit2 for 'next' branchCarlos Martín Nieto
We have our own libgit2 in a submodule, so this is unnecessary. While in the area, update which version of libgit2 would be downloaded and remove unnecessary CMake flags.
2015-04-16Avoid installing script binary to user's $GOPATH/bin.Dmitri Shuralyov
2014-12-31Revert "Make the cgo tool do more linking work"Carlos Martín Nieto
2014-12-27Make the cgo tool do more linking workCarlos Martín Nieto
The cgo directives let us do a lot more than I previously thought, so we can use this to make the building process of git2go go through the go tool directly rather than via the script. libgit2 still needs to be built manually, so we do still require make, but only for building libgit2. Once that's built, any modifications to git2go's own code can be built with go build
2014-12-08only check Go source files for non-thread-locked MakeGitError callsQuinn Slack
2014-12-08add script for checking thread locks in funcs that call MakeGitErrorQuinn Slack
2014-08-26Exit when pkg-config isn't foundCarlos Martín Nieto
We run pkg-config in a subshell, so our 'set -e' does not take effect there. Explicitly error out if there was an error running pkg-config.
2014-08-06Make sure install/lib dir exists. Fixes #104Matthias Kadenbach
2014-06-07Tighten up the buildCarlos Martín Nieto
Build as release, and there is no need to install the library, we know where the files are.
2014-06-07Move the settings into the main git2goCarlos Martín Nieto
2014-06-07Really build staticallyCarlos Martín Nieto
2014-06-07hack for travisCarlos Martín Nieto
2014-06-07Use a submodule for libgit2Carlos Martín Nieto
This makes building the static version easier as we know where the repo is and that it's has a known-good version.
2014-06-03Move some logic into the MakefileCarlos Martín Nieto
This should provide a nice compromise between the scripts and comon commands.
2014-06-03Add scripts to build and use a static libgit2Carlos Martín Nieto
2014-03-25Add a settings packageCarlos Martín Nieto
This lets us modify the libgit2-wide options/settings.
2014-02-28Add a travis scriptCarlos Martín Nieto
Add a build script and ask Travis to run it. It downloads the tip of libgit2's dev branch and tests against that.