Skip to content

Commit 4b21a15

Browse files
committed
Switch to libgit2 experimental
Just patch the package for now, but we should make Nixpkgs provide what we need (whether that the experimental variant, or a 2.x release with the new API made non-experimental) before releasing this change.
1 parent cbe8ec7 commit 4b21a15

File tree

8 files changed

+48
-37
lines changed

8 files changed

+48
-37
lines changed

packaging/dependencies.nix

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,4 +74,15 @@ scope: {
7474
buildPhase = lib.replaceStrings [ "--without-python" ] [ "" ] old.buildPhase;
7575
installPhase = lib.replaceStrings [ "--without-python" ] [ "" ] old.installPhase;
7676
});
77+
78+
libgit2 =
79+
pkgs.libgit2.overrideAttrs (attrs: {
80+
cmakeFlags = (attrs.cmakeFlags or []) ++ [
81+
(lib.mesonBool "EXPERIMENTAL_SHA256" true)
82+
];
83+
84+
postInstall = (attrs.postInstall or "") + ''
85+
substituteInPlace $(find $dev/include -type f) --replace-quiet '#include "git2/' '#include "git2-experimental/'
86+
'';
87+
});
7788
}

src/libfetchers-tests/git-utils.cc

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
#include "nix/fetchers/git-utils.hh"
22
#include "nix/util/file-system.hh"
33
#include <gmock/gmock.h>
4-
#include <git2/global.h>
5-
#include <git2/repository.h>
6-
#include <git2/signature.h>
7-
#include <git2/types.h>
8-
#include <git2/object.h>
9-
#include <git2/tag.h>
4+
#include <git2-experimental/global.h>
5+
#include <git2-experimental/repository.h>
6+
#include <git2-experimental/signature.h>
7+
#include <git2-experimental/types.h>
8+
#include <git2-experimental/object.h>
9+
#include <git2-experimental/tag.h>
1010
#include <gtest/gtest.h>
1111
#include "nix/util/fs-sink.hh"
1212
#include "nix/util/serialise.hh"
1313
#include "nix/fetchers/git-lfs-fetch.hh"
1414

15-
#include <git2/blob.h>
16-
#include <git2/tree.h>
15+
#include <git2-experimental/blob.h>
16+
#include <git2-experimental/tree.h>
1717

1818
namespace nix {
1919

src/libfetchers-tests/git.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include "nix/fetchers/fetchers.hh"
66
#include "nix/fetchers/git-utils.hh"
77

8-
#include <git2.h>
8+
#include <git2-experimental.h>
99
#include <gtest/gtest.h>
1010

1111
#include <filesystem>

src/libfetchers-tests/meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ deps_private += rapidcheck
3333
gtest = dependency('gtest', main : true)
3434
deps_private += gtest
3535

36-
libgit2 = dependency('libgit2')
36+
libgit2 = dependency('libgit2-experimental')
3737
deps_private += libgit2
3838

3939
subdir('nix-meson-build-support/common')

src/libfetchers/git-lfs-fetch.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
#include "nix/util/hash.hh"
88
#include "nix/store/ssh.hh"
99

10-
#include <git2/attr.h>
11-
#include <git2/config.h>
12-
#include <git2/errors.h>
13-
#include <git2/remote.h>
10+
#include <git2-experimental/attr.h>
11+
#include <git2-experimental/config.h>
12+
#include <git2-experimental/errors.h>
13+
#include <git2-experimental/remote.h>
1414

1515
#include <nlohmann/json.hpp>
1616

src/libfetchers/git-utils.cc

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,27 @@
1313
#include "nix/util/thread-pool.hh"
1414
#include "nix/util/pool.hh"
1515

16-
#include <git2/attr.h>
17-
#include <git2/blob.h>
18-
#include <git2/branch.h>
19-
#include <git2/commit.h>
20-
#include <git2/config.h>
21-
#include <git2/describe.h>
22-
#include <git2/errors.h>
23-
#include <git2/global.h>
24-
#include <git2/indexer.h>
25-
#include <git2/object.h>
26-
#include <git2/odb.h>
27-
#include <git2/refs.h>
28-
#include <git2/remote.h>
29-
#include <git2/repository.h>
30-
#include <git2/revparse.h>
31-
#include <git2/status.h>
32-
#include <git2/submodule.h>
33-
#include <git2/sys/odb_backend.h>
34-
#include <git2/sys/mempack.h>
35-
#include <git2/tag.h>
36-
#include <git2/tree.h>
16+
#include <git2-experimental/attr.h>
17+
#include <git2-experimental/blob.h>
18+
#include <git2-experimental/branch.h>
19+
#include <git2-experimental/commit.h>
20+
#include <git2-experimental/config.h>
21+
#include <git2-experimental/describe.h>
22+
#include <git2-experimental/errors.h>
23+
#include <git2-experimental/global.h>
24+
#include <git2-experimental/indexer.h>
25+
#include <git2-experimental/object.h>
26+
#include <git2-experimental/odb.h>
27+
#include <git2-experimental/refs.h>
28+
#include <git2-experimental/remote.h>
29+
#include <git2-experimental/repository.h>
30+
#include <git2-experimental/revparse.h>
31+
#include <git2-experimental/status.h>
32+
#include <git2-experimental/submodule.h>
33+
#include <git2-experimental/sys/odb_backend.h>
34+
#include <git2-experimental/sys/mempack.h>
35+
#include <git2-experimental/tag.h>
36+
#include <git2-experimental/tree.h>
3737

3838
#include <boost/unordered/concurrent_flat_set.hpp>
3939
#include <boost/unordered/unordered_flat_map.hpp>

src/libfetchers/include/nix/fetchers/git-lfs-fetch.hh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include "nix/util/serialise.hh"
66
#include "nix/util/url.hh"
77

8-
#include <git2/repository.h>
8+
#include <git2-experimental/repository.h>
99

1010
#include <nlohmann/json_fwd.hpp>
1111

src/libfetchers/meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ subdir('nix-meson-build-support/subprojects')
2828
nlohmann_json = dependency('nlohmann_json', version : '>= 3.9')
2929
deps_public += nlohmann_json
3030

31-
libgit2 = dependency('libgit2', version : '>= 1.9')
31+
libgit2 = dependency('libgit2-experimental', version : '>= 1.9')
3232
deps_private += libgit2
3333

3434
subdir('nix-meson-build-support/common')

0 commit comments

Comments
 (0)