{"action":"created","issue":{"url":"https://api.github.com/repos/libgit2/libgit2sharp/issues/984","labels_url":"https://api.github.com/repos/libgit2/libgit2sharp/issues/984/labels{/name}","comments_url":"https://api.github.com/repos/libgit2/libgit2sharp/issues/984/comments","events_url":"https://api.github.com/repos/libgit2/libgit2sharp/issues/984/events","html_url":"https://github.com/libgit2/libgit2sharp/pull/984","id":59188634,"number":984,"title":"Move native binaries into separate NuGet package","user":{"login":"bording","id":753669,"avatar_url":"https://avatars.githubusercontent.com/u/753669?v=3","gravatar_id":"","url":"https://api.github.com/users/bording","html_url":"https://github.com/bording","followers_url":"https://api.github.com/users/bording/followers","following_url":"https://api.github.com/users/bording/following{/other_user}","gists_url":"https://api.github.com/users/bording/gists{/gist_id}","starred_url":"https://api.github.com/users/bording/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bording/subscriptions","organizations_url":"https://api.github.com/users/bording/orgs","repos_url":"https://api.github.com/users/bording/repos","events_url":"https://api.github.com/users/bording/events{/privacy}","received_events_url":"https://api.github.com/users/bording/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":40,"created_at":"2015-02-27T04:40:10Z","updated_at":"2015-05-20T16:02:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/libgit2/libgit2sharp/pulls/984","html_url":"https://github.com/libgit2/libgit2sharp/pull/984","diff_url":"https://github.com/libgit2/libgit2sharp/pull/984.diff","patch_url":"https://github.com/libgit2/libgit2sharp/pull/984.patch"},"body":"As discussed in #974, here is what I have done so far.\r\n\r\nI'm currently hosting a manually created version of the native binaries package on a myget feed, which I've temporarily added as a solution-level package source, which should let package restore find the package without needing anyone to manually add the package source.\r\n\r\nThere are still several things that need to done still. The primary thing is deciding what to do with how handle the things that were previously being done by the `UpdateLibgit2ToSha.ps1` script:\r\n- Updating `Core\\NativeDllName.cs` (used for the `DllImport` attributes)\r\n- Updating `libgit2_hash.txt` (used by `Version.cs`)\r\n\r\nThese both are related to how naming is currently handled for the native binaries, mainly trying to use the commit hash as part of the name. Since the binary would be coming from outside the project, keeping this aspect in place might be more trouble than it's worth. It might make more sense to just standardize the name.\r\n\r\nI'd also like to look into changing the way `NativeMethod`s is looking for the binary file. Right now, on windows it's digging down into the NativeBinaries subfolder and then the architecture folder. For linux and osx, it's not doing anything special, just letting mono find it in the standard places. \r\n\r\nIs there a reason for needing the subfolders on windows? Why not have `libgit2-x86.dll` and `libgit2-x64.dll` and let them live side by side with `libgit2sharp.dll`? It looks like there would be some mono-specific workaround code that could be removed from `NativeMethods` if we just let all the native binaries live in the same folder!\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/libgit2/libgit2sharp/issues/comments/103939629","html_url":"https://github.com/libgit2/libgit2sharp/pull/984#issuecomment-103939629","issue_url":"https://api.github.com/repos/libgit2/libgit2sharp/issues/984","id":103939629,"user":{"login":"akoeplinger","id":1376924,"avatar_url":"https://avatars.githubusercontent.com/u/1376924?v=3","gravatar_id":"","url":"https://api.github.com/users/akoeplinger","html_url":"https://github.com/akoeplinger","followers_url":"https://api.github.com/users/akoeplinger/followers","following_url":"https://api.github.com/users/akoeplinger/following{/other_user}","gists_url":"https://api.github.com/users/akoeplinger/gists{/gist_id}","starred_url":"https://api.github.com/users/akoeplinger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akoeplinger/subscriptions","organizations_url":"https://api.github.com/users/akoeplinger/orgs","repos_url":"https://api.github.com/users/akoeplinger/repos","events_url":"https://api.github.com/users/akoeplinger/events{/privacy}","received_events_url":"https://api.github.com/users/akoeplinger/received_events","type":"User","site_admin":false},"created_at":"2015-05-20T16:02:53Z","updated_at":"2015-05-20T16:02:53Z","body":"FYI, a PR was merged to the MSBuild repo yesterday that adds NuGet packages: https://github.com/Microsoft/msbuild/pull/95. They are now used to build corefx on Unix (but I think they are on corefx's myget feed and not on nuget.org yet)."}}