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);
+}


Reply via email to