SSH support

Open
#7 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Stale
Tech stack
cmake

Research direction

Start with the referenced libgit2 CMakeLists.txt properties and the linked MonoDevelop build_libgit2.sh script, then organize the Windows, Mac, and Linux build notes from the issue. Done means the documentation explains the required dependencies, platform-specific commands, output libraries, and the parameters needed for libgit2 to use libssh2.

Written by the indexing model from the issue text.

Description

Okay so, I'm going to lay down the docs over this issue so I don't lose them:

Windows:

We need cmake, zlib-1.2.8 package and libssh2 repo cloned.

Having these side-by-side, inside libssh2 directory:

cd path/to/libssh2_repo ; mkdir build ; cd build ;
cmake .. -DBUILD_TESTING=ON -DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON -DZLIB_LIBRARY="....\zlib-1.2.8\lib\zdll.lib" -DZLIB_INCLUDE_DIR="....\zlib-1.2.8\include"

This will build libssh2 dll and .lib inside path/to/libssh2_repo/build/src/Debug

It will link against zlib and we'd have to use zlib-1.2.8/zlib1.dll file side-by-side with libssh2.dll and libgit2.dll

TODO: Update docs on what parameters we need to send libgit2 to pick up libssh2. We have to modify all these properties manually, so we set FOUND manually, and so do we set link and include directories.

Mac:

brew install libssh2
build cmake with DUSE_SSH
copy libssh2 to output directory and install_name_tool -id libssh2.dylib libssh2.dylib

Linux:
Magic script: https://github.com/mono/monodevelop/blob/master/main/src/addins/VersionControl/MonoDevelop.VersionControl.Git/build_libgit2.sh

Dominant language
PowerShell
Stars
35
Forks
74
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from libgit2/libgit2sharp.nativebinaries

All issues in libgit2/libgit2sharp.nativebinaries

Similar issues

More Build System issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.