Hello community,
here is the log from the commit of package perl-Glib-Object-Introspection for
openSUSE:Factory checked in at 2020-10-22 14:26:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Glib-Object-Introspection (Old)
and /work/SRC/openSUSE:Factory/.perl-Glib-Object-Introspection.new.3463
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Glib-Object-Introspection"
Thu Oct 22 14:26:10 2020 rev:13 rq:843360 version:0.049
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Glib-Object-Introspection/perl-Glib-Object-Introspection.changes
2019-12-12 23:17:57.374214597 +0100
+++
/work/SRC/openSUSE:Factory/.perl-Glib-Object-Introspection.new.3463/perl-Glib-Object-Introspection.changes
2020-10-22 14:26:56.995001696 +0200
@@ -1,0 +2,6 @@
+Thu Oct 22 03:14:56 UTC 2020 - Tina Müller <[email protected]>
+
+- updated to 0.049
+ see /usr/share/doc/packages/perl-Glib-Object-Introspection/
+
+-------------------------------------------------------------------
Old:
----
Glib-Object-Introspection-0.048.tar.gz
New:
----
Glib-Object-Introspection-0.049.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Glib-Object-Introspection.spec ++++++
--- /var/tmp/diff_new_pack.td4DYa/_old 2020-10-22 14:26:57.439002096 +0200
+++ /var/tmp/diff_new_pack.td4DYa/_new 2020-10-22 14:26:57.447002103 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Glib-Object-Introspection
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,14 +17,14 @@
Name: perl-Glib-Object-Introspection
-Version: 0.048
+Version: 0.049
Release: 0
#Upstream: This library is free software; you can redistribute it and/or
modify it under the terms of the Lesser General Public License (LGPL). For more
information, see http://www.fsf.org/licenses/lgpl.txt
%define cpan_name Glib-Object-Introspection
Summary: Dynamically create Perl language bindings
License: LGPL-2.1-only
Group: Development/Libraries/Perl
-Url: https://metacpan.org/release/%{cpan_name}
+URL: https://metacpan.org/release/%{cpan_name}
Source0:
https://cpan.metacpan.org/authors/id/X/XA/XAOC/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ Glib-Object-Introspection-0.048.tar.gz ->
Glib-Object-Introspection-0.049.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Glib-Object-Introspection-0.048/META.json
new/Glib-Object-Introspection-0.049/META.json
--- old/Glib-Object-Introspection-0.048/META.json 2019-12-10
16:39:39.000000000 +0100
+++ new/Glib-Object-Introspection-0.049/META.json 2020-10-21
19:53:14.000000000 +0200
@@ -67,6 +67,6 @@
"x_IRC" : "irc://irc.gimp.org/#gtk-perl",
"x_MailingList" : "https://mail.gnome.org/mailman/listinfo/gtk-perl-list"
},
- "version" : "0.048",
+ "version" : "0.049",
"x_serialization_backend" : "JSON::PP version 2.97001"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Glib-Object-Introspection-0.048/META.yml
new/Glib-Object-Introspection-0.049/META.yml
--- old/Glib-Object-Introspection-0.048/META.yml 2019-12-10
16:39:39.000000000 +0100
+++ new/Glib-Object-Introspection-0.049/META.yml 2020-10-21
19:53:13.000000000 +0200
@@ -37,5 +37,5 @@
homepage: http://gtk2-perl.sourceforge.net
license: http://www.gnu.org/licenses/lgpl-2.1.html
repository: https://gitlab.gnome.org/GNOME/perl-glib-object-introspection
-version: '0.048'
+version: '0.049'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Glib-Object-Introspection-0.048/NEWS
new/Glib-Object-Introspection-0.049/NEWS
--- old/Glib-Object-Introspection-0.048/NEWS 2019-12-10 16:36:13.000000000
+0100
+++ new/Glib-Object-Introspection-0.049/NEWS 2020-10-21 19:50:13.000000000
+0200
@@ -1,3 +1,8 @@
+Overview of changes in Glib::Object::Introspection 0.049
+========================================================
+
+* SV → Array: Also accept strings when a guchar* pointer is expected
+
Overview of changes in Glib::Object::Introspection 0.048
========================================================
@@ -6,7 +11,7 @@
* Avoid double-freeing struct entries in flat array
* Copy item memory in flat arrays when we are given ownership (RT# 130280)
* Hush a few compiler warnings
-∗ Fix skip count in t/arrays.t
+* Fix skip count in t/arrays.t
* Adapt t/arrays.t to newer poppler versions to avoid test failures
Overview of changes in Glib::Object::Introspection 0.047
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Glib-Object-Introspection-0.048/gperl-i11n-marshal-array.c
new/Glib-Object-Introspection-0.049/gperl-i11n-marshal-array.c
--- old/Glib-Object-Introspection-0.048/gperl-i11n-marshal-array.c
2019-09-29 03:48:36.000000000 +0200
+++ new/Glib-Object-Introspection-0.049/gperl-i11n-marshal-array.c
2020-10-20 02:45:09.000000000 +0200
@@ -263,13 +263,8 @@
if (!gperl_sv_is_defined (sv))
return NULL;
- if (!gperl_sv_is_array_ref (sv))
- ccroak ("need an array ref to convert to GArray");
-
array_type = g_type_info_get_array_type (type_info);
- av = (AV *) SvRV (sv);
-
item_transfer = transfer == GI_TRANSFER_CONTAINER
? GI_TRANSFER_NOTHING
: transfer;
@@ -287,6 +282,22 @@
_need_struct_value_semantics (array_type, param_info,
param_tag);
is_zero_terminated = g_type_info_is_zero_terminated (type_info);
item_size = size_of_type_info (param_info);
+
+ if (!gperl_sv_is_array_ref (sv)) {
+ // special-case const guchar* with transfer=none
+ if (SvPOK (sv) && param_tag == GI_TYPE_TAG_UINT8 && transfer ==
GI_TRANSFER_NOTHING) {
+ STRLEN string_length = 0;
+ char* string = SvPV (sv, string_length);
+ if (length_pos >= 0) {
+ array_info->length = is_zero_terminated ?
string_length : string_length - 1;
+ }
+ return string;
+ } else {
+ ccroak ("need an array ref to convert to GArray");
+ }
+ }
+
+ av = (AV *) SvRV (sv);
length = (gsize) (av_len (av) + 1); /* av_len always returns at least
-1 */
switch (array_type) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/Glib-Object-Introspection-0.048/lib/Glib/Object/Introspection.pm
new/Glib-Object-Introspection-0.049/lib/Glib/Object/Introspection.pm
--- old/Glib-Object-Introspection-0.048/lib/Glib/Object/Introspection.pm
2019-12-07 19:40:53.000000000 +0100
+++ new/Glib-Object-Introspection-0.049/lib/Glib/Object/Introspection.pm
2020-10-21 19:50:27.000000000 +0200
@@ -19,7 +19,7 @@
use warnings;
use Glib;
-our $VERSION = '0.048';
+our $VERSION = '0.049';
use Carp;
$Carp::Internal{(__PACKAGE__)}++;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Glib-Object-Introspection-0.048/t/arrays.t
new/Glib-Object-Introspection-0.049/t/arrays.t
--- old/Glib-Object-Introspection-0.048/t/arrays.t 2019-12-09
19:44:47.000000000 +0100
+++ new/Glib-Object-Introspection-0.049/t/arrays.t 2020-10-20
02:45:09.000000000 +0200
@@ -6,7 +6,7 @@
use warnings;
use utf8;
-plan tests => 88;
+plan tests => 92;
ok (Regress::test_strv_in ([ '1', '2', '3' ]));
@@ -227,3 +227,30 @@
}
}
}
+
+# -----------------------------------------------------------------------------
+
+SKIP: {
+ my $have_gio = eval {
+ Glib::Object::Introspection->setup (
+ basename => 'Gio',
+ version => '2.0',
+ package => 'Glib::IO');
+ 1;
+ };
+ skip 'string special case using Gio', 4
+ unless $have_gio;
+
+ my $msg1 = Glib::IO::DBusMessage->new_signal ('/asdf/ghjk', 'de.asdf',
'ghjk');
+ my $caps = [];
+ my $blob1 = $msg1->to_blob ($caps);
+
+ my $msg2 = Glib::IO::DBusMessage->new_from_blob ($blob1, $caps);
+ is ($msg2->get_interface (), $msg1->get_interface ());
+ is_deeply ($msg2->to_blob ($caps), $blob1);
+
+ my $blob1_as_string = pack "C*", @$blob1;
+ my $msg3 = Glib::IO::DBusMessage->new_from_blob ($blob1_as_string, $caps);
+ is ($msg3->get_interface (), $msg1->get_interface ());
+ is_deeply ($msg3->to_blob ($caps), $blob1);
+}