diff --git a/.gitignore b/.gitignore index 9cf129c..237b287 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,5 @@ /rugged-0.25.1.1-test.tgz /rugged-0.26.0.gem /rugged-0.26.0-test.tgz +/rugged-0.27.4.gem +/rugged-0.27.4-test.tgz diff --git a/0001-Use-RETURN_ENUMERATOR-and-RETURN_SIZED_ENUMERATOR-ma.patch b/0001-Use-RETURN_ENUMERATOR-and-RETURN_SIZED_ENUMERATOR-ma.patch deleted file mode 100644 index 63575b4..0000000 --- a/0001-Use-RETURN_ENUMERATOR-and-RETURN_SIZED_ENUMERATOR-ma.patch +++ /dev/null @@ -1,389 +0,0 @@ -From 6eeccfebb0af3084d963e8dd5d7fdb13b2907a04 Mon Sep 17 00:00:00 2001 -From: Arthur Schreiber -Date: Wed, 3 Jan 2018 14:09:50 +0100 -Subject: [PATCH] Use `RETURN_ENUMERATOR` and `RETURN_SIZED_ENUMERATOR` macros. - ---- - ext/rugged/rugged_blame.c | 9 ++++++--- - ext/rugged/rugged_branch_collection.c | 9 +++------ - ext/rugged/rugged_config.c | 10 +++------- - ext/rugged/rugged_diff.c | 14 +++----------- - ext/rugged/rugged_diff_hunk.c | 4 +--- - ext/rugged/rugged_index.c | 4 +--- - ext/rugged/rugged_note.c | 5 +---- - ext/rugged/rugged_patch.c | 5 +---- - ext/rugged/rugged_reference_collection.c | 8 +------- - ext/rugged/rugged_remote.c | 5 +---- - ext/rugged/rugged_remote_collection.c | 7 +------ - ext/rugged/rugged_repo.c | 3 +-- - ext/rugged/rugged_revwalk.c | 13 ++----------- - ext/rugged/rugged_submodule_collection.c | 7 +++---- - ext/rugged/rugged_tag_collection.c | 6 +----- - ext/rugged/rugged_tree.c | 5 ++--- - 16 files changed, 31 insertions(+), 83 deletions(-) - -diff --git a/ext/rugged/rugged_blame.c b/ext/rugged/rugged_blame.c -index 9171630..97af0b0 100644 ---- a/ext/rugged/rugged_blame.c -+++ b/ext/rugged/rugged_blame.c -@@ -188,6 +188,11 @@ static VALUE rb_git_blame_count(VALUE self) - return UINT2NUM(git_blame_get_hunk_count(blame)); - } - -+static VALUE rugged_blame_enum_size(VALUE rb_blame, VALUE rb_args, VALUE rb_eobj) -+{ -+ return rb_git_blame_count(rb_blame); -+} -+ - /* - * call-seq: - * blame[index] -> hunk -@@ -242,9 +247,7 @@ static VALUE rb_git_blame_each(VALUE self) - git_blame *blame; - uint32_t i, blame_count; - -- if (!rb_block_given_p()) { -- return rb_funcall(self, rb_intern("to_enum"), 1, CSTR2SYM("each"), self); -- } -+ RETURN_SIZED_ENUMERATOR(self, 0, 0, rugged_blame_enum_size); - - Data_Get_Struct(self, git_blame, blame); - -diff --git a/ext/rugged/rugged_branch_collection.c b/ext/rugged/rugged_branch_collection.c -index b1975fb..21e0d5f 100644 ---- a/ext/rugged/rugged_branch_collection.c -+++ b/ext/rugged/rugged_branch_collection.c -@@ -178,19 +178,16 @@ static VALUE rb_git_branch_collection_aref(VALUE self, VALUE rb_name) { - - static VALUE each_branch(int argc, VALUE *argv, VALUE self, int branch_names_only) - { -- VALUE rb_repo = rugged_owner(self), rb_filter; -+ VALUE rb_repo, rb_filter; - git_repository *repo; - git_branch_iterator *iter; - int error, exception = 0; - git_branch_t filter = (GIT_BRANCH_LOCAL | GIT_BRANCH_REMOTE), branch_type; - -+ RETURN_ENUMERATOR(self, argc, argv); - rb_scan_args(argc, argv, "01", &rb_filter); - -- if (!rb_block_given_p()) { -- VALUE symbol = branch_names_only ? CSTR2SYM("each_name") : CSTR2SYM("each"); -- return rb_funcall(self, rb_intern("to_enum"), 2, symbol, rb_filter); -- } -- -+ rb_repo = rugged_owner(self); - rugged_check_repo(rb_repo); - - if (!NIL_P(rb_filter)) -diff --git a/ext/rugged/rugged_config.c b/ext/rugged/rugged_config.c -index 6346842..861d095 100644 ---- a/ext/rugged/rugged_config.c -+++ b/ext/rugged/rugged_config.c -@@ -212,11 +212,9 @@ static VALUE rb_git_config_each_key(VALUE self) - git_config *config; - int error; - -+ RETURN_ENUMERATOR(self, 0, 0); - Data_Get_Struct(self, git_config, config); - -- if (!rb_block_given_p()) -- return rb_funcall(self, rb_intern("to_enum"), 1, CSTR2SYM("each_key")); -- - error = git_config_foreach(config, &cb_config__each_key, (void *)rb_block_proc()); - rugged_exception_check(error); - return Qnil; -@@ -240,12 +238,10 @@ static VALUE rb_git_config_each_pair(VALUE self) - { - git_config *config; - int error; -- -+ -+ RETURN_ENUMERATOR(self, 0, 0); - Data_Get_Struct(self, git_config, config); - -- if (!rb_block_given_p()) -- return rb_funcall(self, rb_intern("to_enum"), 1, CSTR2SYM("each_pair")); -- - error = git_config_foreach(config, &cb_config__each_pair, (void *)rb_block_proc()); - rugged_exception_check(error); - return Qnil; -diff --git a/ext/rugged/rugged_diff.c b/ext/rugged/rugged_diff.c -index 7810c5a..102bedc 100644 ---- a/ext/rugged/rugged_diff.c -+++ b/ext/rugged/rugged_diff.c -@@ -447,10 +447,7 @@ static VALUE rb_git_diff_each_patch(VALUE self) - int error = 0; - size_t d, delta_count; - -- if (!rb_block_given_p()) { -- return rb_funcall(self, rb_intern("to_enum"), 1, CSTR2SYM("each_patch"), self); -- } -- -+ RETURN_ENUMERATOR(self, 0, 0); - Data_Get_Struct(self, git_diff, diff); - - delta_count = git_diff_num_deltas(diff); -@@ -484,10 +481,7 @@ static VALUE rb_git_diff_each_delta(VALUE self) - int error = 0; - size_t d, delta_count; - -- if (!rb_block_given_p()) { -- return rb_funcall(self, rb_intern("to_enum"), 1, CSTR2SYM("each_delta"), self); -- } -- -+ RETURN_ENUMERATOR(self, 0, 0); - Data_Get_Struct(self, git_diff, diff); - - delta_count = git_diff_num_deltas(diff); -@@ -524,6 +518,7 @@ static VALUE rb_git_diff_each_line(int argc, VALUE *argv, VALUE self) - git_diff_format_t format; - int exception = 0, error; - -+ RETURN_ENUMERATOR(self, argc, argv); - Data_Get_Struct(self, git_diff, diff); - - if (rb_scan_args(argc, argv, "01", &rb_format) == 1) { -@@ -532,9 +527,6 @@ static VALUE rb_git_diff_each_line(int argc, VALUE *argv, VALUE self) - rb_format = CSTR2SYM("patch"); - } - -- if (!rb_block_given_p()) -- return rb_funcall(self, rb_intern("to_enum"), 2, CSTR2SYM("each_line"), rb_format); -- - if (SYM2ID(rb_format) == rb_intern("patch")) { - format = GIT_DIFF_FORMAT_PATCH; - } else if (SYM2ID(rb_format) == rb_intern("patch_header")) { -diff --git a/ext/rugged/rugged_diff_hunk.c b/ext/rugged/rugged_diff_hunk.c -index bc7212a..37878e0 100644 ---- a/ext/rugged/rugged_diff_hunk.c -+++ b/ext/rugged/rugged_diff_hunk.c -@@ -42,9 +42,7 @@ static VALUE rb_git_diff_hunk_each_line(VALUE self) - git_patch *patch; - int error = 0, l, lines_count, hunk_idx; - -- if (!rb_block_given_p()) { -- return rb_funcall(self, rb_intern("to_enum"), 1, CSTR2SYM("each_line"), self); -- } -+ RETURN_ENUMERATOR(self, 0, 0); - - Data_Get_Struct(rugged_owner(self), git_patch, patch); - -diff --git a/ext/rugged/rugged_index.c b/ext/rugged/rugged_index.c -index dc52497..c21643d 100644 ---- a/ext/rugged/rugged_index.c -+++ b/ext/rugged/rugged_index.c -@@ -190,11 +190,9 @@ static VALUE rb_git_index_each(VALUE self) - git_index *index; - unsigned int i, count; - -+ RETURN_ENUMERATOR(self, 0, 0); - Data_Get_Struct(self, git_index, index); - -- if (!rb_block_given_p()) -- return rb_funcall(self, rb_intern("to_enum"), 0); -- - count = (unsigned int)git_index_entrycount(index); - for (i = 0; i < count; ++i) { - const git_index_entry *entry = git_index_get_byindex(index, i); -diff --git a/ext/rugged/rugged_note.c b/ext/rugged/rugged_note.c -index ea2f0c5..70508d1 100644 ---- a/ext/rugged/rugged_note.c -+++ b/ext/rugged/rugged_note.c -@@ -297,12 +297,9 @@ static VALUE rb_git_note_each(int argc, VALUE *argv, VALUE self) - struct rugged_cb_payload payload = { self, 0 }; - VALUE rb_notes_ref; - -+ RETURN_ENUMERATOR(self, argc, argv); - rb_scan_args(argc, argv, "01", &rb_notes_ref); - -- if (!rb_block_given_p()) { -- return rb_funcall(self, rb_intern("to_enum"), 3, CSTR2SYM("each_note"), self, rb_notes_ref); -- } -- - if (!NIL_P(rb_notes_ref)) { - Check_Type(rb_notes_ref, T_STRING); - notes_ref = StringValueCStr(rb_notes_ref); -diff --git a/ext/rugged/rugged_patch.c b/ext/rugged/rugged_patch.c -index 140d24d..2a7c0b7 100644 ---- a/ext/rugged/rugged_patch.c -+++ b/ext/rugged/rugged_patch.c -@@ -93,10 +93,7 @@ static VALUE rb_git_diff_patch_each_hunk(VALUE self) - int error = 0; - size_t hunks_count, h; - -- if (!rb_block_given_p()) { -- return rb_funcall(self, rb_intern("to_enum"), 1, CSTR2SYM("each_hunk"), self); -- } -- -+ RETURN_ENUMERATOR(self, 0, 0); - Data_Get_Struct(self, git_patch, patch); - - hunks_count = git_patch_num_hunks(patch); -diff --git a/ext/rugged/rugged_reference_collection.c b/ext/rugged/rugged_reference_collection.c -index f335c2a..907fa4c 100644 ---- a/ext/rugged/rugged_reference_collection.c -+++ b/ext/rugged/rugged_reference_collection.c -@@ -114,15 +114,9 @@ static VALUE rb_git_reference_collection__each(int argc, VALUE *argv, VALUE self - git_reference_iterator *iter; - int error, exception = 0; - -+ RETURN_ENUMERATOR(self, argc, argv); - rb_scan_args(argc, argv, "01", &rb_glob); - -- if (!rb_block_given_p()) { -- return rb_funcall(self, -- rb_intern("to_enum"), 2, -- only_names ? CSTR2SYM("each_name") : CSTR2SYM("each"), -- rb_glob); -- } -- - rugged_check_repo(rb_repo); - - Data_Get_Struct(rb_repo, git_repository, repo); -diff --git a/ext/rugged/rugged_remote.c b/ext/rugged/rugged_remote.c -index 6c19397..b9e82f6 100644 ---- a/ext/rugged/rugged_remote.c -+++ b/ext/rugged/rugged_remote.c -@@ -304,13 +304,10 @@ static VALUE rb_git_remote_ls(int argc, VALUE *argv, VALUE self) - int error; - size_t heads_len, i; - -+ RETURN_ENUMERATOR(self, argc, argv); - Data_Get_Struct(self, git_remote, remote); -- - rb_scan_args(argc, argv, ":", &rb_options); - -- if (!rb_block_given_p()) -- return rb_funcall(self, rb_intern("to_enum"), 2, CSTR2SYM("ls"), rb_options); -- - rugged_remote_init_callbacks_and_payload_from_options(rb_options, &callbacks, &payload); - init_custom_headers(rb_options, &custom_headers); - -diff --git a/ext/rugged/rugged_remote_collection.c b/ext/rugged/rugged_remote_collection.c -index ce9ca03..967f927 100644 ---- a/ext/rugged/rugged_remote_collection.c -+++ b/ext/rugged/rugged_remote_collection.c -@@ -139,12 +139,7 @@ static VALUE rb_git_remote_collection__each(VALUE self, int only_names) - - VALUE rb_repo; - -- if (!rb_block_given_p()) { -- if (only_names) -- return rb_funcall(self, rb_intern("to_enum"), 1, CSTR2SYM("each_name")); -- else -- return rb_funcall(self, rb_intern("to_enum"), 1, CSTR2SYM("each")); -- } -+ RETURN_ENUMERATOR(self, 0, 0); - - rb_repo = rugged_owner(self); - rugged_check_repo(rb_repo); -diff --git a/ext/rugged/rugged_repo.c b/ext/rugged/rugged_repo.c -index 1ac827a..6baf591 100644 ---- a/ext/rugged/rugged_repo.c -+++ b/ext/rugged/rugged_repo.c -@@ -1569,8 +1569,7 @@ static VALUE rb_git_repo_each_id(VALUE self) - git_odb *odb; - int error, exception = 0; - -- if (!rb_block_given_p()) -- return rb_funcall(self, rb_intern("to_enum"), 1, CSTR2SYM("each_id")); -+ RETURN_ENUMERATOR(self, 0, 0); - - Data_Get_Struct(self, git_repository, repo); - -diff --git a/ext/rugged/rugged_revwalk.c b/ext/rugged/rugged_revwalk.c -index 582f32a..be5cdc4 100644 ---- a/ext/rugged/rugged_revwalk.c -+++ b/ext/rugged/rugged_revwalk.c -@@ -365,14 +365,9 @@ static VALUE rb_git_walk(int argc, VALUE *argv, VALUE self) - struct walk_options w; - int exception = 0; - -+ RETURN_ENUMERATOR(self, argc, argv); - rb_scan_args(argc, argv, "10:", &rb_repo, &rb_options); - -- if (!rb_block_given_p()) { -- ID iter_method = ID2SYM(rb_intern("walk")); -- return rb_funcall(self, rb_intern("to_enum"), 3, -- iter_method, rb_repo, rb_options); -- } -- - Data_Get_Struct(rb_repo, git_repository, w.repo); - rugged_exception_check(git_revwalk_new(&w.walk, w.repo)); - -@@ -402,13 +397,9 @@ static VALUE rb_git_walk_with_opts(int argc, VALUE *argv, VALUE self, int oid_on - VALUE rb_options; - struct walk_options w; - -+ RETURN_ENUMERATOR(self, argc, argv); - rb_scan_args(argc, argv, "01", &rb_options); - -- if (!rb_block_given_p()) { -- ID iter_method = ID2SYM(rb_intern(oid_only ? "each_oid" : "each")); -- return rb_funcall(self, rb_intern("to_enum"), 2, iter_method, rb_options); -- } -- - Data_Get_Struct(self, git_revwalk, w.walk); - w.repo = git_revwalk_repository(w.walk); - -diff --git a/ext/rugged/rugged_submodule_collection.c b/ext/rugged/rugged_submodule_collection.c -index 2379979..ced2c01 100644 ---- a/ext/rugged/rugged_submodule_collection.c -+++ b/ext/rugged/rugged_submodule_collection.c -@@ -124,13 +124,12 @@ static VALUE rb_git_submodule_collection_each(VALUE self) - git_repository *repo; - int error; - struct rugged_cb_payload payload; -+ VALUE rb_repo; - -- VALUE rb_repo = rugged_owner(self); -+ RETURN_ENUMERATOR(self, 0, 0); -+ rb_repo = rugged_owner(self); - Data_Get_Struct(rb_repo, git_repository, repo); - -- if (!rb_block_given_p()) -- return rb_funcall(self, rb_intern("to_enum"), 1, CSTR2SYM("each")); -- - payload.exception = 0; - payload.rb_data = rb_repo; - -diff --git a/ext/rugged/rugged_tag_collection.c b/ext/rugged/rugged_tag_collection.c -index 11942c1..8f5fd4b 100644 ---- a/ext/rugged/rugged_tag_collection.c -+++ b/ext/rugged/rugged_tag_collection.c -@@ -236,13 +236,9 @@ static VALUE each_tag(int argc, VALUE *argv, VALUE self, int tag_names_only) - VALUE rb_repo = rugged_owner(self), rb_pattern; - const char *pattern = NULL; - -+ RETURN_ENUMERATOR(self, argc, argv); - rb_scan_args(argc, argv, "01", &rb_pattern); - -- if (!rb_block_given_p()) { -- VALUE symbol = tag_names_only ? CSTR2SYM("each_name") : CSTR2SYM("each"); -- return rb_funcall(self, rb_intern("to_enum"), 2, symbol, rb_pattern); -- } -- - if (!NIL_P(rb_pattern)) { - Check_Type(rb_pattern, T_STRING); - pattern = StringValueCStr(rb_pattern); -diff --git a/ext/rugged/rugged_tree.c b/ext/rugged/rugged_tree.c -index 3fab8f3..73423a3 100644 ---- a/ext/rugged/rugged_tree.c -+++ b/ext/rugged/rugged_tree.c -@@ -220,10 +220,9 @@ static VALUE rb_git_tree_each(VALUE self) - { - git_tree *tree; - size_t i, count; -- Data_Get_Struct(self, git_tree, tree); - -- if (!rb_block_given_p()) -- return rb_funcall(self, rb_intern("to_enum"), 0); -+ RETURN_ENUMERATOR(self, 0, 0); -+ Data_Get_Struct(self, git_tree, tree); - - count = git_tree_entrycount(tree); - --- -2.16.1 - diff --git a/rubygem-rugged.spec b/rubygem-rugged.spec index 2e98d94..9a1e31b 100644 --- a/rubygem-rugged.spec +++ b/rubygem-rugged.spec @@ -2,8 +2,8 @@ Summary: Rugged is a Ruby binding to the libgit2 library Name: rubygem-%{gem_name} -Version: 0.26.0 -Release: 9%{?dist} +Version: 0.27.4 +Release: 1%{?dist} License: MIT URL: https://github.com/libgit2/rugged Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem @@ -12,13 +12,9 @@ Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem # https://github.com/libgit2/rugged/issues/262 # https://github.com/libgit2/rugged/pull/263 # This is how we are getting the tests (Source1) -# git clone git://github.com/libgit2/rugged.git -# cd rugged/ -# git checkout v0.26.0 -# tar cfz rugged-0.26.0-test.tgz test/ Rakefile +# git clone https://github.com/libgit2/rugged +# git -C rugged archive --format=tar.gz -o $PWD/rugged-0.27.4-test.tgz v0.27.4 -- Rakefile test/ Source1: %{gem_name}-%{version}-test.tgz -# https://github.com/libgit2/rugged/commit/6eeccfebb0af3084d963e8dd5d7fdb13b2907a04 -Patch0001: 0001-Use-RETURN_ENUMERATOR-and-RETURN_SIZED_ENUMERATOR-ma.patch Requires: ruby(rubygems) Requires: ruby BuildRequires: gcc @@ -93,6 +89,9 @@ rm -rf %{buildroot}%{gem_instdir}/ext/ %doc %{gem_docdir} %changelog +* Fri Aug 10 2018 Igor Gnatenko - 0.27.4-1 +- Update to 0.27.4 + * Tue Jul 31 2018 Florian Weimer - 0.26.0-9 - Rebuild with fixed binutils diff --git a/sources b/sources index 862cb85..6a1ff1c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (rugged-0.26.0.gem) = 012318d7a4ef57a42af7b49470fb139ab06a7aa6554fe5fa87ad1a1a01fce2d3cfc8efd1ebd2c7e1673008b365d3d3e58440211e80d6b528dd22a2f3e4fd3b9f -SHA512 (rugged-0.26.0-test.tgz) = 218d75fb5d4312fae960b40346ab2294a0fb522afe56657e05fca251301dbc6133f79120426a2252dee27b6cb3e414fd3870c9a300a9a837d9a72a28e2be982f +SHA512 (rugged-0.27.4.gem) = afdfe6c7a9cb864eeb83549332de43be9df75ac6e6885739cca80edfac92d632f5e915fc981616f2dd88f12699e3cd0c9676616eb03c7d44d80579ae4058b65d +SHA512 (rugged-0.27.4-test.tgz) = 62596cba14c062c624250e959a5a48aae02e0544b4085b698953e55ca8b654d1351488d0b16ffbac191b459f074d1994fe134b189628381028f618eea6cb96cf