Merge ~lucaskanashiro/ubuntu/+source/libprelude:ruby27-support into ubuntu/+source/libprelude:ubuntu/devel

Proposed by Lucas Kanashiro
Status: Merged
Approved by: Christian Ehrhardt 
Approved revision: 4b81db5d4f352a54fb48acab315cc96994a7d8b6
Merge reported by: Christian Ehrhardt 
Merged at revision: 4b81db5d4f352a54fb48acab315cc96994a7d8b6
Proposed branch: ~lucaskanashiro/ubuntu/+source/libprelude:ruby27-support
Merge into: ubuntu/+source/libprelude:ubuntu/devel
Diff against target: 75 lines (+41/-1)
4 files modified
debian/changelog (+8/-0)
debian/control (+2/-1)
debian/patches/020-ruby27_support.patch (+30/-0)
debian/patches/series (+1/-0)
Reviewer Review Type Date Requested Status
Christian Ehrhardt  (community) Approve
Canonical Server Pending
Review via email: mp+380174@code.launchpad.net

Description of the change

libprelude FTBFS against ruby2.7 [1]. The proposed patch fixes this failure avoiding an ambiguous call. I registered myself on upstream bug tracker system but it needs admin's approval, so I didn't forward it upstream yet.

[1] https://launchpadlibrarian.net/467386361/buildlog_ubuntu-focal-amd64.libprelude_5.1.1-4build2_BUILDING.txt.gz

To post a comment you must log in.
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

I added some comments, nothing severe but worth to modify/clarify upfront IMHO

review: Needs Information
Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

Thanks for the review Christian. I addressed all the points you raised, I hope it is all good now. Up for review again.

I also rebuilt this new version in my PPA:

https://launchpad.net/~lucaskanashiro/+archive/ubuntu/focal-libprelude-ruby27-support/+packages

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

LGTM now, thanks!

review: Approve
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

To ssh://git.launchpad.net/~usd-import-team/ubuntu/+source/libprelude
 * [new tag] upload/5.1.1-4ubuntu1 -> upload/5.1.1-4ubuntu1

Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading libprelude_5.1.1-4ubuntu1.dsc: done.
  Uploading libprelude_5.1.1-4ubuntu1.debian.tar.xz: done.
  Uploading libprelude_5.1.1-4ubuntu1_source.buildinfo: done.
  Uploading libprelude_5.1.1-4ubuntu1_source.changes: done.
Successfully uploaded packages.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/debian/changelog b/debian/changelog
index 743120a..c10c33e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
1libprelude (5.1.1-4ubuntu1) focal; urgency=medium
2
3 * Add support to Ruby 2.7.
4 + d/p/020-ruby27_support.patch: add patch to avoid ambiguity in
5 rb_define_virtual_variable call.
6
7 -- Lucas Kanashiro <lucas.kanashiro@canonical.com> Tue, 03 Mar 2020 15:51:42 -0300
8
1libprelude (5.1.1-4build2) focal; urgency=medium9libprelude (5.1.1-4build2) focal; urgency=medium
210
3 [ Rafael David Tinoco ]11 [ Rafael David Tinoco ]
diff --git a/debian/control b/debian/control
index 6f9585c..493bba0 100644
--- a/debian/control
+++ b/debian/control
@@ -1,7 +1,8 @@
1Source: libprelude1Source: libprelude
2Priority: optional2Priority: optional
3Section: libs3Section: libs
4Maintainer: Pierre Chifflier <pollux@debian.org>4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5XSBC-Original-Maintainer: Pierre Chifflier <pollux@debian.org>
5Uploaders: Thomas Andrejak <thomas.andrejak@gmail.com>6Uploaders: Thomas Andrejak <thomas.andrejak@gmail.com>
6Rules-Requires-Root: no7Rules-Requires-Root: no
7Build-Depends: debhelper-compat (= 12),8Build-Depends: debhelper-compat (= 12),
diff --git a/debian/patches/020-ruby27_support.patch b/debian/patches/020-ruby27_support.patch
8new file mode 1006449new file mode 100644
index 0000000..c336f2a
--- /dev/null
+++ b/debian/patches/020-ruby27_support.patch
@@ -0,0 +1,30 @@
1Description: Add support to Ruby 2.7
2 Type cast the parameters of rb_define_virtual_variable call to avoid ambiguity:
3 .
4 /usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:59:1: note: candidate: ‘void ruby::backward::cxxanyargs::rb_define_virtual_variable(const char*, VALUE (*)(...), void (*)(...))’
5 59 | rb_define_virtual_variable(const char *q, type *w, void_type *e)
6 | ^~~~~~~~~~~~~~~~~~~~~~~~~~
7/usr/include/ruby-2.7.0/ruby/backward/cxxanyargs.hpp:90:1: note: candidate: ‘void ruby::backward::cxxanyargs::rb_define_virtual_variable(const char*, VALUE (*)(...), void (*)(VALUE, ID, VALUE*))’
8 90 | rb_define_virtual_variable(const char *q, type *w, rb_gvar_setter_t *e)
9 .
10 It is important to note that this patch might not be compatible with Ruby < 2.7.
11Author: Lucas Kanashiro <lucas.kanashiro@canonical.com>
12Forwarded: No
13X-Not-Forwarded-Reason: Waiting for upstream approval to create my account in their BTS
14Last-Updated: 2020-03-03
15
16--- a/bindings/ruby/Prelude.cxx
17+++ b/bindings/ruby/Prelude.cxx
18@@ -1260,7 +1260,12 @@
19 swig_ruby_trackings = (st_table*)NUM2SWIG(trackings_value);
20 }
21
22+#if RUBY_VERSION_MAJOR == 2 && RUBY_VERSION_MINOR < 7
23 rb_define_virtual_variable("SWIG_TRACKINGS_COUNT", swig_ruby_trackings_count, NULL);
24+#else
25+ rb_define_virtual_variable("SWIG_TRACKINGS_COUNT", (rb_gvar_getter_t *)swig_ruby_trackings_count, (rb_gvar_setter_t *)NULL);
26+#endif
27+
28 }
29
30 /* Add a Tracking from a C/C++ struct to a Ruby object */
diff --git a/debian/patches/series b/debian/patches/series
index 1402174..fe52e64 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -10,3 +10,4 @@
10017-enable_detection_new_python3.patch10017-enable_detection_new_python3.patch
11018-fix_gtkdoc_1.32.patch11018-fix_gtkdoc_1.32.patch
12019-fix_path_max_on_hurd.patch12019-fix_path_max_on_hurd.patch
13020-ruby27_support.patch

Subscribers

People subscribed via source and target branches