From 436fb243c979bbf016363a8568286b598d3245af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppi...@redhat.com>
Date: Wed, 23 Mar 2016 14:09:24 +0100
Subject: 4.14.3 bump

---
 .gitignore                                         |   1 +
 .rpmlint                                           |   3 +
 0001-Changes-to-support-perl-5.18.0.patch          | 480 ---------------------
 0002-Fixes-for-perl-5.18.patch                     | 153 -------
 ...l-Peel-SvREFCNT_inc-removed-from-perl-5.2.patch |  67 ---
 ...96.0-Initialize-smokeperl_object-properly.patch |  37 --
 perl-Qt.spec                                       |  65 ++-
 ...copy-of-the-Qt-AutoLoad-AUTOLOAD-variable.patch |  42 --
 ...14.3-Initialize-smokeperl_object-properly.patch |  36 ++
 sources                                            |   2 +-
 10 files changed, 72 insertions(+), 814 deletions(-)
 create mode 100644 .rpmlint
 delete mode 100644 0001-Changes-to-support-perl-5.18.0.patch
 delete mode 100644 0002-Fixes-for-perl-5.18.patch
 delete mode 100644 
Qt-0.96.0-Bundle-Devel-Peel-SvREFCNT_inc-removed-from-perl-5.2.patch
 delete mode 100644 Qt-0.96.0-Initialize-smokeperl_object-properly.patch
 delete mode 100644 
perlqt-4.14.2-Use-a-copy-of-the-Qt-AutoLoad-AUTOLOAD-variable.patch
 create mode 100644 perlqt-4.14.3-Initialize-smokeperl_object-properly.patch

diff --git a/.gitignore b/.gitignore
index d4cc362..0caa298 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 /Qt-0.96.0.tar.gz
+/perlqt-4.14.3.tar.xz
diff --git a/.rpmlint b/.rpmlint
new file mode 100644
index 0000000..6e84d5a
--- /dev/null
+++ b/.rpmlint
@@ -0,0 +1,3 @@
+from Config import *
+addFilter("file-not-utf8 .*/encodedfiles/iso-8859-.*\.txt");
+addFilter("wrong-script-interpreter 
/usr/share/doc/perl-Qt-devel/examples/linguist/hellotr/hellotr.pro");
diff --git a/0001-Changes-to-support-perl-5.18.0.patch 
b/0001-Changes-to-support-perl-5.18.0.patch
deleted file mode 100644
index 96ba9c9..0000000
--- a/0001-Changes-to-support-perl-5.18.0.patch
+++ /dev/null
@@ -1,480 +0,0 @@
-From aa2083b40c83fad6b931a2088ae69bc206a7edc7 Mon Sep 17 00:00:00 2001
-From: Chris Burel <chrisbu...@gmail.com>
-Date: Fri, 23 Aug 2013 12:04:01 -0700
-Subject: [PATCH 1/2] Changes to support perl 5.18.0.
-
-Perl no longer calls the AUTOLOAD method for DESTROY.  So that has to be 
defined explicitly.
-It also didn't like bless \shift, $package, so I've changed that as well.
-defined @array is deprecated, update that code.
-Also remove spurious breakpoints in example code.
-Also, CMake seems to have changed, so the prove "macro" is now a function, 
because functions support actual scope on cmake variables.
----
- cmake/MacroProve.cmake                             |   4 +-
- qtcore/lib/QtCore4.pm                              |  85 ++++-----
- qtcore/src/QtCore4.xs                              |   2 +
- qtcore/src/util.cpp                                | 190 ++++++++++++---------
- qtcore/src/util.h                                  |   1 +
- qtcore/t/d_sigslot.t                               |   1 -
- qtcore/t/qabstractitemmodel.t                      |   1 -
- qtgui/examples/tools/customcompleter/TextEdit.pm   |   1 -
- .../tools/settingseditor/VariantDelegate.pm        |   1 -
- qtgui/t/itemviewspuzzle.t                          |   2 -
- 10 files changed, 154 insertions(+), 134 deletions(-)
-
-SKIP diff --git a/cmake/MacroProve.cmake b/cmake/MacroProve.cmake
-SKIP index 13387af..489878a 100644
-SKIP --- a/cmake/MacroProve.cmake
-SKIP +++ b/cmake/MacroProve.cmake
-SKIP @@ -1,5 +1,5 @@
-SKIP  
-SKIP -MACRO( MACRO_PROVE _testname _path)
-SKIP +FUNCTION( MACRO_PROVE _testname _path)
-SKIP  
-SKIP      if(WIN32)
-SKIP          set(prove_cmd "prove.bat")
-SKIP @@ -20,4 +20,4 @@ MACRO( MACRO_PROVE _testname _path)
-SKIP      endif(_workingdir)
-SKIP  
-SKIP      add_test(${_testname} ${prove_cmd} ${prove_args} ${escaped_path})
-SKIP -ENDMACRO( MACRO_PROVE _testname _path )
-SKIP +ENDFUNCTION( MACRO_PROVE _testname _path )
-diff --git a/qtcore/lib/QtCore4.pm b/qtcore/lib/QtCore4.pm
-index b14e817..0459dd8 100644
---- a/qtcore/lib/QtCore4.pm
-+++ b/qtcore/lib/QtCore4.pm
-@@ -1301,12 +1301,15 @@ sub init_class {
- 
-     foreach my $sp ('', ' ') {
-         my $where = $sp . $perlClassName;
--        installautoload($where);
--        # Putting this in one package gives XS_AUTOLOAD one spot to look for
--        # the autoload variable
--        package Qt::AutoLoad;
--        my $autosub = \&{$where . '::_UTOLOAD'};
--        Qt::_internal::installSub( $where.'::AUTOLOAD', sub{&$autosub} );
-+
-+        if (!exists &{$where . '::AUTOLOAD'}) {
-+            installautoload($where);
-+            # Putting this in one package gives XS_AUTOLOAD one spot to look 
for
-+            # the autoload variable
-+            package Qt::AutoLoad;
-+            my $autosub = \&{$where . '::_UTOLOAD'};
-+            Qt::_internal::installSub( $where.'::AUTOLOAD', sub{&$autosub} );
-+        }
-     }
- 
-     installSub("$perlClassName\::NEW", sub {
-@@ -1417,9 +1420,9 @@ sub makeMetaData {
-     my $signals = $meta->{signals};
-     my $slots = $meta->{slots};
- 
--    @{$classinfos} = () if !defined @{$classinfos};
--    @{$signals} = () if !defined @{$signals};
--    @{$slots} = () if !defined @{$slots};
-+    @{$classinfos} = () if !defined $classinfos;
-+    @{$signals} = () if !defined $signals;
-+    @{$slots} = () if !defined $slots;
- 
-     # Each entry in 'stringdata' corresponds to a string in the
-     # qt_meta_stringdata_<classname> structure.
-@@ -1805,67 +1808,67 @@ Qt::_internal::installSub(' Qt::Variant::value', sub {
- });
- 
- sub String {
--    if ( @_ ) {
--        return bless \shift, 'Qt::String';
--    } else {
--        return bless '', 'Qt::String';
-+    my ($val) = @_;
-+    if ( !$val ) {
-+        $val = '';
-     }
-+    return bless \$val, 'Qt::String';
- }
- 
- sub CString {
--    if ( @_ ) {
--        return bless \shift, 'Qt::CString';
--    } else {
--        return bless '', 'Qt::CString';
-+    my ($val) = @_;
-+    if ( !$val ) {
-+        $val = '';
-     }
-+    return bless \$val, 'Qt::CString';
- }
- 
- sub Int {
--    if ( @_ ) {
--        return bless \shift, 'Qt::Int';
--    } else {
--        return bless '', 'Qt::Int';
-+    my ($val) = @_;
-+    if ( !$val ) {
-+        $val = '';
-     }
-+    return bless \$val, 'Qt::Int';
- }
- 
- sub Uint {
--    if ( @_ ) {
--        return bless \shift, 'Qt::Uint';
--    } else {
--        return bless '', 'Qt::Uint';
-+    my ($val) = @_;
-+    if ( !$val ) {
-+        $val = '';
-     }
-+    return bless \$val, 'Qt::Uint';
- }
- 
- sub Bool {
--    if ( @_ ) {
--        return bless \shift, 'Qt::Bool';
--    } else {
--        return bless '', 'Qt::Bool';
-+    my ($val) = @_;
-+    if ( !$val ) {
-+        $val = '';
-     }
-+    return bless \$val, 'Qt::Bool';
- }
- 
- sub Short {
--    if ( @_ ) {
--        return bless \shift, 'Qt::Short';
--    } else {
--        return bless '', 'Qt::Short';
-+    my ($val) = @_;
-+    if ( !$val ) {
-+        $val = '';
-     }
-+    return bless \$val, 'Qt::Short';
- }
- 
- sub Ushort {
--    if ( @_ ) {
--        return bless \shift, 'Qt::Ushort';
--    } else {
--        return bless '', 'Qt::Ushort';
-+    my ($val) = @_;
-+    if ( !$val ) {
-+        $val = '';
-     }
-+    return bless \$val, 'Qt::Ushort';
- }
- 
- sub Uchar {
--    if ( @_ ) {
--        return bless \shift, 'Qt::Uchar';
--    } else {
--        return bless '', 'Qt::Uchar';
-+    my ($val) = @_;
-+    if ( !$val ) {
-+        $val = '';
-     }
-+    return bless \$val, 'Qt::Uchar';
- }
- 
- 1;
-diff --git a/qtcore/src/QtCore4.xs b/qtcore/src/QtCore4.xs
-index fd219c5..a699132 100644
---- a/qtcore/src/QtCore4.xs
-+++ b/qtcore/src/QtCore4.xs
-@@ -249,6 +249,8 @@ installautoload( package )
-         char* autoload = new char[strlen(package) + 11];
-         sprintf(autoload, "%s::_UTOLOAD", package);
-         newXS(autoload, XS_AUTOLOAD, __FILE__);
-+        sprintf(autoload, "%s::DESTROY", package);
-+        newXS(autoload, XS_DESTROY, __FILE__);
-         delete[] autoload;
- 
- void
-diff --git a/qtcore/src/util.cpp b/qtcore/src/util.cpp
-index f66fb6b..a163e7e 100644
---- a/qtcore/src/util.cpp
-+++ b/qtcore/src/util.cpp
-@@ -1939,6 +1939,109 @@ XS(XS_qvariant_from_value) {
-     XSRETURN(1);
- }
- 
-+XS(XS_DESTROY) {
-+    dXSARGS;
-+    PERL_SET_CONTEXT(PL_curinterp);
-+    char* package = HvNAME(SvSTASH(SvRV(ST(0))));
-+    ++package;
-+
-+#ifdef PERLQTDEBUG
-+    if( do_debug && ( do_debug & qtdb_autoload ) ) {
-+        fprintf(stderr, "In XS DESTROY for %s", package);
-+        if((do_debug & qtdb_verbose)) {
-+            smokeperl_object *o = sv_obj_info(ST(0));
-+            if(o)
-+                fprintf(stderr, " - SV*: %p this: (%s)%p\n", ST(0), 
o->smoke->classes[o->classId].className, o->ptr);
-+            else
-+                fprintf(stderr, " - this: (unknown)(nil)\n");
-+        }
-+        else {
-+            fprintf(stderr, "\n");
-+        }
-+    }
-+#endif
-+
-+    // For anything we do here where withObject is true, sv_this should be set
-+    // to the first argument on the stack, since that's where perl puts it.
-+    // Wherever we return, be sure to restore sv_this.
-+    SV* old_this = 0;
-+    old_this = sv_this;
-+    sv_this = newSVsv(ST(0));
-+
-+    smokeperl_object* o = sv_obj_info(sv_this);
-+
-+    // Check to see that o exists (has a smokeperl_object in sv_this), has
-+    // a valid pointer, and (is allocated or has an entry in the pointer
-+    // map).  If all of that's true, or we're in global destruction, we
-+    // don't really care what happens.
-+    if( PL_dirty ) {
-+        // This block will be repeated a lot to clean stuff up.
-+        // Restore sv_this
-+        SvREFCNT_dec(sv_this);
-+        sv_this = old_this;
-+        XSRETURN_YES;
-+    }
-+    if( !(o && o->ptr && (o->allocated || getPointerObject(o->ptr))) ) {
-+        // This block will be repeated a lot to clean stuff up.
-+        // Restore sv_this
-+        SvREFCNT_dec(sv_this);
-+        sv_this = old_this;
-+        XSRETURN_YES;
-+    }
-+
-+    // Check to see if a delete of this object has been tried before, by
-+    // seeing if the object's hash has the "has been hidden" key
-+    static const char* key = "has been hidden";
-+    U32 klen = 15;
-+    SV** svp = 0;
-+    if( SvROK(sv_this) && SvTYPE(SvRV(sv_this)) == SVt_PVHV ) {
-+        HV* hv = (HV*)SvRV(sv_this);
-+        svp = hv_fetch( hv, key, klen, 0);
-+    }
-+    if(svp) {
-+        // Found "has been hidden", so don't do anything, just clean up 
-+        // Restore sv_this
-+        SvREFCNT_dec(sv_this);
-+        sv_this = old_this;
-+        XSRETURN_YES;
-+    }
-+
-+#ifdef PERLQTDEBUG
-+    // The following perl call seems to stomp on the package name, let's copy 
it
-+    char* packagecpy = new char[strlen(package)+1];
-+    strcpy( packagecpy, package );
-+#endif
-+
-+    // Call the ON_DESTROY method, that stores a reference (increasing the
-+    // refcnt) if necessary
-+    HV* stash = gv_stashpv(package, TRUE);
-+    GV* gv = gv_fetchmethod_autoload(stash, "ON_DESTROY", 0);
-+    int retval = 0;
-+    if( gv ) {
-+        PUSHMARK(SP);
-+        int count = call_sv((SV*)GvCV(gv), G_SCALAR|G_NOARGS);
-+        SPAGAIN;
-+        if (count != 1) {
-+            // Restore sv_this
-+            SvREFCNT_dec(sv_this);
-+            sv_this = old_this;
-+            croak( "Corrupt ON_DESTROY return value: Got %d value(s), 
expected 1\n", count );
-+        }
-+        retval = POPi;
-+        PUTBACK;
-+    }
-+
-+#ifdef PERLQTDEBUG
-+    if( do_debug && retval && (do_debug & qtdb_gc) )
-+        fprintf(stderr, "Increasing refcount in DESTROY for %s=%p (still has 
a parent)\n", packagecpy, o->ptr);
-+    delete[] packagecpy;
-+#endif
-+
-+    // Now clean up
-+    SvREFCNT_dec(sv_this);
-+    sv_this = old_this;
-+}
-+
- XS(XS_AUTOLOAD) {
-     dXSARGS;
-     PERL_SET_CONTEXT(PL_curinterp);
-@@ -2045,95 +2148,12 @@ XS(XS_AUTOLOAD) {
-         else
-             XSRETURN(count);
-     }
--    else if( !strcmp( methodname, "DESTROY" ) ) {
--        smokeperl_object* o = sv_obj_info(sv_this);
--
--        // Check to see that o exists (has a smokeperl_object in sv_this), has
--        // a valid pointer, and (is allocated or has an entry in the pointer
--        // map).  If all of that's true, or we're in global destruction, we
--        // don't really care what happens.
--        if( PL_dirty ) {
--            // This block will be repeated a lot to clean stuff up.
--            if( withObject ) {
--                // Restore sv_this
--                SvREFCNT_dec(sv_this);
--                sv_this = old_this;
--            }
--            XSRETURN_YES;
--        }
--        if( !(o && o->ptr && (o->allocated || getPointerObject(o->ptr))) ) {
--            // This block will be repeated a lot to clean stuff up.
--            if( withObject ) {
--                // Restore sv_this
--                SvREFCNT_dec(sv_this);
--                sv_this = old_this;
--            }
--            XSRETURN_YES;
--        }
--
--        // Check to see if a delete of this object has been tried before, by
--        // seeing if the object's hash has the "has been hidden" key
--        static const char* key = "has been hidden";
--        U32 klen = 15;
--        SV** svp = 0;
--        if( SvROK(sv_this) && SvTYPE(SvRV(sv_this)) == SVt_PVHV ) {
--            HV* hv = (HV*)SvRV(sv_this);
--            svp = hv_fetch( hv, key, klen, 0);
--        }
--        if(svp) {
--            // Found "has been hidden", so don't do anything, just clean up 
--            if( withObject ) {
--                // Restore sv_this
--                SvREFCNT_dec(sv_this);
--                sv_this = old_this;
--            }
--            XSRETURN_YES;
--        }
--
--#ifdef PERLQTDEBUG
--        // The following perl call seems to stomp on the package name, let's 
copy it
--        char* packagecpy = new char[strlen(package)+1];
--        strcpy( packagecpy, package );
--#endif
--
--        // Call the ON_DESTROY method, that stores a reference (increasing the
--        // refcnt) if necessary
--        if( !stash )
--            stash = gv_stashpv(package, TRUE);
--        gv = gv_fetchmethod_autoload(stash, "ON_DESTROY", 0);
--        int retval = 0;
--        if( gv ) {
--            PUSHMARK(SP);
--            int count = call_sv((SV*)GvCV(gv), G_SCALAR|G_NOARGS);
--            SPAGAIN;
--            if (count != 1) {
--                if( withObject ) {
--                    // Restore sv_this
--                    SvREFCNT_dec(sv_this);
--                    sv_this = old_this;
--                }
--                croak( "Corrupt ON_DESTROY return value: Got %d value(s), 
expected 1\n", count );
--            }
--            retval = POPi;
--            PUTBACK;
--        }
--
--#ifdef PERLQTDEBUG
--        if( do_debug && retval && (do_debug & qtdb_gc) )
--            fprintf(stderr, "Increasing refcount in DESTROY for %s=%p (still 
has a parent)\n", packagecpy, o->ptr);
--        delete[] packagecpy;
--#endif
--
--        // Now clean up
--        if( withObject ) {
--            SvREFCNT_dec(sv_this);
--            sv_this = old_this;
--        }
--    }
-     else {
-         // We're calling a c++ method
- 
-         // Get the classId (eventually converting SUPER to the right Qt4 
class)
-+        if (super && strcmp( super, "SUPER" ) == 0)
-+            package[strlen(package)-7] = 0;
-         SV* moduleIdRef = package_classId( package );
-         Smoke::ModuleIndex mi;
- 
-diff --git a/qtcore/src/util.h b/qtcore/src/util.h
-index bd4bf31..430a8eb 100644
---- a/qtcore/src/util.h
-+++ b/qtcore/src/util.h
-@@ -98,6 +98,7 @@ XS(XS_qdatastream_readrawdata);
- XS(XS_qvariant_value);
- XS(XS_qvariant_from_value);
- 
-+XS(XS_DESTROY);
- XS(XS_AUTOLOAD);
- XS(XS_qt_metacall);
- XS(XS_signal);
-diff --git a/qtcore/t/d_sigslot.t b/qtcore/t/d_sigslot.t
-index eea16c8..3d02f2e 100644
---- a/qtcore/t/d_sigslot.t
-+++ b/qtcore/t/d_sigslot.t
-@@ -30,7 +30,6 @@ sub NEW {
-     emit signal( 5, 4 );
- 
-     # 3) Emit a signal, but missing an argument.  Should fail.
--    $DB::single=1;
-     eval{ emit signalWithBadArg() };
-     like( $@, qr/Wrong number of arguments in signal call/, 'Missing 
arguments in signal' );
- }
-diff --git a/qtcore/t/qabstractitemmodel.t b/qtcore/t/qabstractitemmodel.t
-index ae1174c..3e2baba 100644
---- a/qtcore/t/qabstractitemmodel.t
-+++ b/qtcore/t/qabstractitemmodel.t
-@@ -4,7 +4,6 @@ package TestModel;
- 
- use strict;
- use warnings;
--use blib;
- use QtCore4;
- use QtCore4::isa qw( Qt::AbstractItemModel );
- 
-diff --git a/qtgui/examples/tools/customcompleter/TextEdit.pm 
b/qtgui/examples/tools/customcompleter/TextEdit.pm
-index 9b4e26f..3e82ae4 100644
---- a/qtgui/examples/tools/customcompleter/TextEdit.pm
-+++ b/qtgui/examples/tools/customcompleter/TextEdit.pm
-@@ -61,7 +61,6 @@ sub insertCompletion
-         return;
-     }
-     my $tc = textCursor();
--    $DB::single=1;
-     my $extra = length($completion) - length(c->completionPrefix());
-     $tc->movePosition(Qt::TextCursor::Left());
-     $tc->movePosition(Qt::TextCursor::EndOfWord());
-diff --git a/qtgui/examples/tools/settingseditor/VariantDelegate.pm 
b/qtgui/examples/tools/settingseditor/VariantDelegate.pm
-index 5d91d3f..e450efb 100644
---- a/qtgui/examples/tools/settingseditor/VariantDelegate.pm
-+++ b/qtgui/examples/tools/settingseditor/VariantDelegate.pm
-@@ -197,7 +197,6 @@ sub setModelData
-     }
- 
-     my $text = $lineEdit->text();
--    $DB::single=1;
-     my $validator = $lineEdit->validator();
-     if ($validator) {
-         my $pos;
-SKIP diff --git a/qtgui/t/itemviewspuzzle.t b/qtgui/t/itemviewspuzzle.t
-SKIP index 4a6b623..ea1c07e 100644
-SKIP --- a/qtgui/t/itemviewspuzzle.t
-SKIP +++ b/qtgui/t/itemviewspuzzle.t
-SKIP @@ -85,8 +85,6 @@ sub initTestCase {
-SKIP      Qt::Test::qWaitForWindowShown( $window );
-SKIP      this->{window} = $window;
-SKIP      pass( 'Window shown' );
-SKIP -    $DB::single=1;
-SKIP -    1;
-SKIP  }
-SKIP  
-SKIP  package main;
-SKIP -- 
-SKIP 1.8.3.1
-SKIP 
diff --git a/0002-Fixes-for-perl-5.18.patch b/0002-Fixes-for-perl-5.18.patch
deleted file mode 100644
index a1a71e0..0000000
--- a/0002-Fixes-for-perl-5.18.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From d4627fb5f3a571212457df22e2ab861b890fc992 Mon Sep 17 00:00:00 2001
-From: Chris Burel <chrisbu...@gmail.com>
-Date: Fri, 23 Aug 2013 14:56:37 -0700
-Subject: [PATCH 2/2] Fixes for perl 5.18
-
-I'm not really sure how this was working before, but perl 5.18 really wasn't
-happy.  The way these functions work is really tricky, because the marshallers
-expect to be able to set the scalar ref's returned from them.  My previous fix
-didn't allow the refs to be set correctly.
----
- qtcore/lib/QtCore4.pm | 90 +++++++++++++++++++++++++++++++++------------------
- 1 file changed, 58 insertions(+), 32 deletions(-)
-
-diff --git a/qtcore/lib/QtCore4.pm b/qtcore/lib/QtCore4.pm
-index 0459dd8..1a5e454 100644
---- a/qtcore/lib/QtCore4.pm
-+++ b/qtcore/lib/QtCore4.pm
-@@ -1649,6 +1649,8 @@ package Qt;
- use strict;
- use warnings;
- 
-+use Scalar::Util;
-+
- # Called in the DESTROY method for all QObjects to see if they still have a
- # parent, and avoid deleting them if they do.
- sub Qt::Object::ON_DESTROY {
-@@ -1808,67 +1810,91 @@ Qt::_internal::installSub(' Qt::Variant::value', sub {
- });
- 
- sub String {
--    my ($val) = @_;
--    if ( !$val ) {
--        $val = '';
-+    if ( scalar @_ ) {
-+        if ( Scalar::Util::readonly( $_[0] ) ) {
-+            my $val = shift;
-+            return bless \$val, 'Qt::String';
-+        }
-+        return bless \shift, 'Qt::String';
-     }
--    return bless \$val, 'Qt::String';
-+    return bless '', 'Qt::String';
- }
- 
- sub CString {
--    my ($val) = @_;
--    if ( !$val ) {
--        $val = '';
-+    if ( scalar @_ ) {
-+        if ( Scalar::Util::readonly( $_[0] ) ) {
-+            my $val = shift;
-+            return bless \$val, 'Qt::CString';
-+        }
-+        return bless \shift, 'Qt::CString';
-     }
--    return bless \$val, 'Qt::CString';
-+    return bless '', 'Qt::CString';
- }
- 
- sub Int {
--    my ($val) = @_;
--    if ( !$val ) {
--        $val = '';
-+    if ( scalar @_ ) {
-+        if ( Scalar::Util::readonly( $_[0] ) ) {
-+            my $val = shift;
-+            return bless \$val, 'Qt::Int';
-+        }
-+        return bless \shift, 'Qt::Int';
-     }
--    return bless \$val, 'Qt::Int';
-+    return bless '', 'Qt::Int';
- }
- 
- sub Uint {
--    my ($val) = @_;
--    if ( !$val ) {
--        $val = '';
-+    if ( scalar @_ ) {
-+        if ( Scalar::Util::readonly( $_[0] ) ) {
-+            my $val = shift;
-+            return bless \$val, 'Qt::Uint';
-+        }
-+        return bless \shift, 'Qt::Uint';
-     }
--    return bless \$val, 'Qt::Uint';
-+    return bless '', 'Qt::Uint';
- }
- 
- sub Bool {
--    my ($val) = @_;
--    if ( !$val ) {
--        $val = '';
-+    if ( scalar @_ ) {
-+        if ( Scalar::Util::readonly( $_[0] ) ) {
-+            my $val = shift;
-+            return bless \$val, 'Qt::Bool';
-+        }
-+        return bless \shift, 'Qt::Bool';
-     }
--    return bless \$val, 'Qt::Bool';
-+    return bless '', 'Qt::Bool';
- }
- 
- sub Short {
--    my ($val) = @_;
--    if ( !$val ) {
--        $val = '';
-+    if ( scalar @_ ) {
-+        if ( Scalar::Util::readonly( $_[0] ) ) {
-+            my $val = shift;
-+            return bless \$val, 'Qt::Short';
-+        }
-+        return bless \shift, 'Qt::Short';
-     }
--    return bless \$val, 'Qt::Short';
-+    return bless '', 'Qt::Short';
- }
- 
- sub Ushort {
--    my ($val) = @_;
--    if ( !$val ) {
--        $val = '';
-+    if ( scalar @_ ) {
-+        if ( Scalar::Util::readonly( $_[0] ) ) {
-+            my $val = shift;
-+            return bless \$val, 'Qt::Ushort';
-+        }
-+        return bless \shift, 'Qt::Ushort';
-     }
--    return bless \$val, 'Qt::Ushort';
-+    return bless '', 'Qt::Ushort';
- }
- 
- sub Uchar {
--    my ($val) = @_;
--    if ( !$val ) {
--        $val = '';
-+    if ( scalar @_ ) {
-+        if ( Scalar::Util::readonly( $_[0] ) ) {
-+            my $val = shift;
-+            return bless \$val, 'Qt::Uchar';
-+        }
-+        return bless \shift, 'Qt::Uchar';
-     }
--    return bless \$val, 'Qt::Uchar';
-+    return bless '', 'Qt::Uchar';
- }
- 
- 1;
--- 
-1.8.3.1
-
diff --git 
a/Qt-0.96.0-Bundle-Devel-Peel-SvREFCNT_inc-removed-from-perl-5.2.patch 
b/Qt-0.96.0-Bundle-Devel-Peel-SvREFCNT_inc-removed-from-perl-5.2.patch
deleted file mode 100644
index 441c064..0000000
--- a/Qt-0.96.0-Bundle-Devel-Peel-SvREFCNT_inc-removed-from-perl-5.2.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 1f62c5d8dd589e7131df0b378513148375e41317 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppi...@redhat.com>
-Date: Thu, 11 Sep 2014 16:48:39 +0200
-Subject: [PATCH] Bundle Devel::Peel::SvREFCNT_inc removed from perl-5.20.0
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Patch taken from Ubuntu:
-
-perlqt (4:4.14.0-0ubuntu4) utopic; urgency=medium
-
-  * Devel::Peek in Perl 5.20 no longer exports SvREFCNT_inc, so put a copy
-    in QtGui4::_internal instead.  Fixes perlkde build.
-
- -- Colin Watson <cjwat...@ubuntu.com>  Tue, 26 Aug 2014 14:13:07 -0700
-
-CPAN RT#98790
-
-Signed-off-by: Petr Písař <ppi...@redhat.com>
----
- qtgui/lib/QtGui4.pm | 3 +--
- qtgui/src/QtGui4.xs | 7 +++++++
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/qtgui/lib/QtGui4.pm b/qtgui/lib/QtGui4.pm
-index a33f66a..2fae3d7 100644
---- a/qtgui/lib/QtGui4.pm
-+++ b/qtgui/lib/QtGui4.pm
-@@ -22,7 +22,6 @@ use warnings;
- 
- use QtCore4;
- use base qw(Qt::_internal);
--use Devel::Peek qw( SvREFCNT_inc );
- 
- sub init {
-     @Qt::_internal::vectorTypes{qw(Qt::Polygon Qt::PolygonF 
Qt::ItemSelection)}
-@@ -76,7 +75,7 @@ sub Qt::GraphicsObject::ON_DESTROY {
- }
- 
- sub Qt::UndoCommand::ON_DESTROY {
--    Devel::Peek::SvREFCNT_inc( Qt::this() );
-+    QtGui4::_internal->SvREFCNT_inc( Qt::this() );
-     # XXX is there a better solution here?
-     return 1;
- }
-diff --git a/qtgui/src/QtGui4.xs b/qtgui/src/QtGui4.xs
-index e1a0783..3a23ad4 100644
---- a/qtgui/src/QtGui4.xs
-+++ b/qtgui/src/QtGui4.xs
-@@ -91,6 +91,13 @@ getEnumList()
-     OUTPUT:
-         RETVAL
- 
-+SV*
-+SvREFCNT_inc(sv)
-+        SV* sv
-+    PPCODE:
-+        RETVAL = SvREFCNT_inc(sv);
-+        PUSHs(RETVAL);
-+
- MODULE = QtGui4            PACKAGE = QtGui4
- 
- PROTOTYPES: ENABLE
--- 
-1.9.3
-
diff --git a/Qt-0.96.0-Initialize-smokeperl_object-properly.patch 
b/Qt-0.96.0-Initialize-smokeperl_object-properly.patch
deleted file mode 100644
index 279c524..0000000
--- a/Qt-0.96.0-Initialize-smokeperl_object-properly.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 1d30fbbd8fad3d9ee87f1b524384bb337c559d88 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppi...@redhat.com>
-Date: Mon, 1 Feb 2016 16:31:45 +0100
-Subject: [PATCH] Initialize smokeperl_object properly
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This patch fixes this build failure with GCC 6:
-
-/builddir/build/BUILD/Qt-0.96.0/qtcore/src/util.cpp:2248:59: error: cannot 
convert 'bool' to 'void*' in initialization
-         static smokeperl_object nothis = { 0, 0, 0, false };
-                                                           ^
-
-CPAN RT#111630
-
-Signed-off-by: Petr Písař <ppi...@redhat.com>
----
- qtcore/src/util.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/qtcore/src/util.cpp b/qtcore/src/util.cpp
-index 0c94e32..4857573 100644
---- a/qtcore/src/util.cpp
-+++ b/qtcore/src/util.cpp
-@@ -2225,7 +2225,7 @@ XS(XS_AUTOLOAD) {
-                 methcache.insert(mcid, new Smoke::ModuleIndex(mi));
-         }
- 
--        static smokeperl_object nothis = { 0, 0, 0, false };
-+        static smokeperl_object nothis = { 0, 0, 0, NULL };
-         smokeperl_object* call_this = 0;
-         if ( SvOK(sv_this) ) {
-             call_this = sv_obj_info( sv_this );
--- 
-2.5.0
-
diff --git a/perl-Qt.spec b/perl-Qt.spec
index 5f24070..034d365 100644
--- a/perl-Qt.spec
+++ b/perl-Qt.spec
@@ -1,30 +1,25 @@
 %global use_x11_tests 1
 
 Name:           perl-Qt
-Version:        0.96.0
-Release:        19%{?dist}
+Version:        4.14.3
+Release:        1%{?dist}
 Summary:        Perl bindings for Qt
-# Files under qtcore/tools/ and qtdbus/tools/ are LGPLv2.1+ with Nokia
-# exceptions or GPLv3+. The Nokia files only appear in -devel subpackage.
-# QtCore4.pm is 'same terms as Perl itself'. The rest is GPLv2+.
+# qtcore/lib/QtCore4.pm:    GPL+ or Artistic
+# other files:              GPLv2+
+## devel subpackage
+# qtcore/tools:             LGPLv2+ with Nokia exceptions or GPLv3+
+# qtcore/tools/puic/perl/plwriteinitialization.h:
+#                           GPLv2 or GPLv3+ with Trolltech exception
+# qtdbus/tools:             LGPLv2.1+ with Nokia exceptions or GPLv3+
+# qtgui/examples/draganddrop/delayedencoding/images/example.svg:
+#                           LGPLv2 with Nokia exception or GPLv3+
+# qtgui/examples/xml/htmlinfo/apache_org.html:  ASL 2.0
 License:        GPLv2+ and (GPL+ or Artistic)
 Group:          Development/Libraries
-URL:            http://search.cpan.org/dist/Qt/
-Source0:        http://www.cpan.org/modules/by-module/Qt/Qt-%{version}.tar.gz
-Patch1:         0001-Changes-to-support-perl-5.18.0.patch
-Patch2:         0002-Fixes-for-perl-5.18.patch
-# Adjust to perl-5.20.0, bug #1136340, CPAN RT#98790, in new upstream
-# <git://anongit.kde.org/perlqt>
-Patch3:         
Qt-0.96.0-Bundle-Devel-Peel-SvREFCNT_inc-removed-from-perl-5.2.patch
-# Adjust to perl-5.20.0, bug #1136340, CPAN RT#98790, in new upstream
-# <git://anongit.kde.org/perlqt>
-Patch4:         
perlqt-4.14.2-Use-a-copy-of-the-Qt-AutoLoad-AUTOLOAD-variable.patch
-# Adjust to GCC 6, bug #1303658, CPAN RT#111630
-Patch5:         Qt-0.96.0-Initialize-smokeperl_object-properly.patch
-# Adjust to smokeqt's QChar, in upstream after 4.8.0
-Patch6:         Qt-0.96.0-Fix-uchar-test.patch
-# Fix code generation with "puic4 -x", bug #1118240, in upstream after 4.14.3
-Patch7:         Qt-0.96.0-Fix-problems-with-puic4-x-code-generation.patch
+URL:            https://techbase.kde.org/Languages/Perl
+Source0:        
http://download.kde.org/stable/%{version}/src/perlqt-%{version}.tar.xz
+# Adjust to GCC 6, bug #1303658, KDE bug #360844, CPAN RT#111630
+Patch1:         perlqt-4.14.3-Initialize-smokeperl_object-properly.patch
 BuildRequires:  coreutils
 BuildRequires:  cmake
 # gcc for C standard library headers
@@ -33,7 +28,7 @@ BuildRequires:  gcc-c++
 BuildRequires:  make
 BuildRequires:  perl
 BuildRequires:  perl-devel
-# Perl module used by qtcore/src/doxsubpp.pl and cmake/FindPerlMore.cmake
+# Perl modules used by qtcore/src/doxsubpp.pl and cmake/FindPerlMore.cmake
 BuildRequires:  perl(Config)
 BuildRequires:  perl(ExtUtils::MakeMaker)
 BuildRequires:  perl(File::Spec)
@@ -81,23 +76,15 @@ This module provides Perl bindings for the Qt 4 libraries.
 
 %package devel
 Summary:        Development files for perl-Qt
-License:        GPLv2+ and (GPL+ or Artistic) and (LGPLv2+ with exceptions or 
GPLv3+)
+License:        GPLv2+ and (GPL+ or Artistic) and (LGPLv2+ with exceptions or 
GPLv3+) and (LGPLv2 with exception or GPLv3+) and ASL 2.0
 Requires:       %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
 
 %description devel
 Development files for perl-Qt.
 
 %prep
-%setup -q -n Qt-%{version}
-
-# Fixes from upstream for Perl 5.18
+%setup -q -n perlqt-%{version}
 %patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
 
 mkdir build
 
@@ -138,6 +125,11 @@ sed -i \
        -e '/perlqt_mainwindowsmdi/d' \
        qtgui/t/CMakeLists.txt
 
+# This test hangs, <https://bugs.kde.org/show_bug.cgi?id=360899>
+sed -i \
+       -e '/perlqt_itemviewspuzzle/d' \
+       qtgui/t/CMakeLists.txt
+
 %ifarch armv7hl
 # perlqt_qtcore4_handlers fails on armv7hl
 sed -i \
@@ -156,7 +148,7 @@ make %{?_smp_mflags}
 
 %install
 cd build
-make install DESTDIR=%{buildroot}
+make install/fast DESTDIR=%{buildroot}
 
 %{_fixperms} %{buildroot}/*
 
@@ -170,7 +162,7 @@ export PERL5LIB="$PWD/blib/lib:$PWD/blib/arch"
 %endif
 
 %files
-%license LICENSE
+%license LICENSE*
 %doc README
 %{perl_vendorarch}/*
 %exclude %dir %{perl_vendorarch}/auto/
@@ -182,6 +174,11 @@ export PERL5LIB="$PWD/blib/lib:$PWD/blib/arch"
 %{_datadir}/perlqt
 
 %changelog
+* Wed Mar 23 2016 Petr Pisar <ppi...@redhat.com> - 4.14.3-1
+- 4.14.3 bump (upstream changed from CPAN to KDE)
+- perl-Qt-devel license changed to (GPLv2+ and (GPL+ or Artistic) and (LGPLv2+
+  with exceptions or GPLv3+) and (LGPLv2 with exception or GPLv3+) and ASL 2.0)
+
 * Tue Mar 22 2016 Petr Pisar <ppi...@redhat.com> - 0.96.0-19
 - Modernize spec file
 - Run X11 tests
diff --git 
a/perlqt-4.14.2-Use-a-copy-of-the-Qt-AutoLoad-AUTOLOAD-variable.patch 
b/perlqt-4.14.2-Use-a-copy-of-the-Qt-AutoLoad-AUTOLOAD-variable.patch
deleted file mode 100644
index 7acb6d8..0000000
--- a/perlqt-4.14.2-Use-a-copy-of-the-Qt-AutoLoad-AUTOLOAD-variable.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 1b665848e178301344386717c658386d160d222a Mon Sep 17 00:00:00 2001
-From: Chris Burel <chrisbu...@gmail.com>
-Date: Fri, 31 Oct 2014 11:23:18 -0700
-Subject: [PATCH] Use a copy of the Qt::AutoLoad::AUTOLOAD variable.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This appears to be a change in Perl's behavior.  The way the operator
-overloading in PerlQt works is that it first tries to find an operator method
-on the class itself, and then next it tries to find one in the so-called
-QGlobalSpace, which is a place defined by the smoke library for global Qt
-functions.  Perl passes the underlying XS code the full package and function
-being called, which PerlQt splits into 2 strings, one for the package name, and
-one for the method name.  PerlQt null-terminates the package name string, and
-in previous versions of Perl, this modification did not affect the source
-$AUTOLOAD variable.  In Perl 5.20.0, it does update the Perl variable, and then
-causes confusion down the line.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1136340
-https://bugs.kde.org/show_bug.cgi?id=340518
-Signed-off-by: Petr Písař <ppi...@redhat.com>
----
- qtcore/src/util.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/qtcore/src/util.cpp b/qtcore/src/util.cpp
-index a163e7e..b913af3 100644
---- a/qtcore/src/util.cpp
-+++ b/qtcore/src/util.cpp
-@@ -2047,7 +2047,7 @@ XS(XS_AUTOLOAD) {
-     PERL_SET_CONTEXT(PL_curinterp);
-     // Figure out which package and method is being called, based on the
-     // autoload variable
--    SV* autoload = get_sv( "Qt::AutoLoad::AUTOLOAD", TRUE );
-+    SV* autoload = sv_mortalcopy( get_sv( "Qt::AutoLoad::AUTOLOAD", TRUE ) );
-     char* package = SvPV_nolen( autoload );
-     char* methodname = 0;
-     // Splits off the method name from the package
--- 
-1.9.3
-
diff --git a/perlqt-4.14.3-Initialize-smokeperl_object-properly.patch 
b/perlqt-4.14.3-Initialize-smokeperl_object-properly.patch
new file mode 100644
index 0000000..69a2e48
--- /dev/null
+++ b/perlqt-4.14.3-Initialize-smokeperl_object-properly.patch
@@ -0,0 +1,36 @@
+From 70100c1865985e0cabbba5716cb9a6df8099b377 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppi...@redhat.com>
+Date: Tue, 22 Mar 2016 11:27:24 +0100
+Subject: [PATCH] Initialize smokeperl_object properly
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This patch fixes this build failure with GCC 6:
+
+/builddir/build/BUILD/Qt-0.96.0/qtcore/src/util.cpp:2248:59: error: cannot 
convert 'bool' to 'void*' in initialization
+         static smokeperl_object nothis = { 0, 0, 0, false };
+                                                           ^
+CPAN RT#111630
+
+Signed-off-by: Petr Písař <ppi...@redhat.com>
+---
+ qtcore/src/util.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/qtcore/src/util.cpp b/qtcore/src/util.cpp
+index b913af3..4c94e2c 100644
+--- a/qtcore/src/util.cpp
++++ b/qtcore/src/util.cpp
+@@ -2251,7 +2251,7 @@ XS(XS_AUTOLOAD) {
+                 methcache.insert(mcid, new Smoke::ModuleIndex(mi));
+         }
+ 
+-        static smokeperl_object nothis = { 0, 0, 0, false };
++        static smokeperl_object nothis = { 0, 0, 0, NULL };
+         smokeperl_object* call_this = 0;
+         if ( SvOK(sv_this) ) {
+             call_this = sv_obj_info( sv_this );
+-- 
+2.5.5
+
diff --git a/sources b/sources
index 79dc168..577069e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-300aa694926f07e53a8ffd99350a247c  Qt-0.96.0.tar.gz
+d410c5b95680d1c56d037d22ef984479  perlqt-4.14.3.tar.xz
-- 
cgit v0.12


        
http://pkgs.fedoraproject.org/cgit/perl-Qt.git/commit/?h=f24&id=436fb243c979bbf016363a8568286b598d3245af
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/perl-devel@lists.fedoraproject.org

Reply via email to