6a86bb1
%global use_x11_tests 1
6a86bb1
1d671ab
Name:           perl-Qt
436fb24
Version:        4.14.3
4176e2c
Release:        4%{?dist}
1d671ab
Summary:        Perl bindings for Qt
436fb24
# qtcore/lib/QtCore4.pm:    GPL+ or Artistic
436fb24
# other files:              GPLv2+
436fb24
## devel subpackage
436fb24
# qtcore/tools:             LGPLv2+ with Nokia exceptions or GPLv3+
436fb24
# qtcore/tools/puic/perl/plwriteinitialization.h:
436fb24
#                           GPLv2 or GPLv3+ with Trolltech exception
436fb24
# qtdbus/tools:             LGPLv2.1+ with Nokia exceptions or GPLv3+
436fb24
# qtgui/examples/draganddrop/delayedencoding/images/example.svg:
436fb24
#                           LGPLv2 with Nokia exception or GPLv3+
436fb24
# qtgui/examples/xml/htmlinfo/apache_org.html:  ASL 2.0
1d671ab
License:        GPLv2+ and (GPL+ or Artistic)
1d671ab
Group:          Development/Libraries
436fb24
URL:            https://techbase.kde.org/Languages/Perl
436fb24
Source0:        http://download.kde.org/stable/%{version}/src/perlqt-%{version}.tar.xz
436fb24
# Adjust to GCC 6, bug #1303658, KDE bug #360844, CPAN RT#111630
436fb24
Patch1:         perlqt-4.14.3-Initialize-smokeperl_object-properly.patch
8a58e79
BuildRequires:  coreutils
1d671ab
BuildRequires:  cmake
e1b1d24
# gcc for C standard library headers
8a58e79
BuildRequires:  gcc
e1b1d24
BuildRequires:  gcc-c++
e1b1d24
BuildRequires:  make
e1b1d24
BuildRequires:  perl
e1b1d24
BuildRequires:  perl-devel
436fb24
# Perl modules used by qtcore/src/doxsubpp.pl and cmake/FindPerlMore.cmake
e1b1d24
BuildRequires:  perl(Config)
e1b1d24
BuildRequires:  perl(ExtUtils::MakeMaker)
e1b1d24
BuildRequires:  perl(File::Spec)
e1b1d24
BuildRequires:  perl(strict)
e1b1d24
BuildRequires:  perl(warnings)
1d671ab
BuildRequires:  phonon-devel
1d671ab
BuildRequires:  qimageblitz-devel
1d671ab
BuildRequires:  qscintilla-devel
1d671ab
BuildRequires:  qt-devel
1d671ab
BuildRequires:  qwt-devel
8a58e79
BuildRequires:  sed
e1b1d24
# smokegen-devel provided cmake modules for Qt components
e1b1d24
BuildRequires:  smokegen-devel
1d671ab
BuildRequires:  smokeqt-devel
e1b1d24
# Run-time:
e1b1d24
# search in lib subdirectories, exclude examples,
e1b1d24
BuildRequires:  perl(base)
1d671ab
BuildRequires:  perl(Carp)  
e1b1d24
BuildRequires:  perl(Exporter)
e1b1d24
BuildRequires:  perl(List::MoreUtils)
e1b1d24
BuildRequires:  perl(overload)
1d671ab
BuildRequires:  perl(Scalar::Util)  
1d671ab
BuildRequires:  perl(XSLoader)  
e1b1d24
# Tests:
e1b1d24
# search for *.t files, they use modules from examples like Calculator
e1b1d24
BuildRequires:  perl(blib)
e1b1d24
BuildRequires:  perl(Devel::Peek)
e1b1d24
BuildRequires:  perl(lib)
e1b1d24
BuildRequires:  perl(Test::More)
1d671ab
BuildRequires:  perl(utf8)
6a86bb1
%if %{use_x11_tests}
6a86bb1
# X11 tests:
6a86bb1
BuildRequires:  xorg-x11-server-Xvfb
6a86bb1
BuildRequires:  font(:lang=en)
6a86bb1
%endif
e1b1d24
Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
1d671ab
1d671ab
%?perl_default_filter
e1b1d24
# Filter private modules
1d671ab
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}::_(internal|overload)\\)
1d671ab
%global __requires_exclude %{?__requires_exclude:%__requires_exclude|}::_(internal|overload)\\)
1d671ab
1d671ab
%description
1d671ab
This module provides Perl bindings for the Qt 4 libraries.
1d671ab
1d671ab
%package devel
1d671ab
Summary:        Development files for perl-Qt
436fb24
License:        GPLv2+ and (GPL+ or Artistic) and (LGPLv2+ with exceptions or GPLv3+) and (LGPLv2 with exception or GPLv3+) and ASL 2.0
e1b1d24
Requires:       %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
1d671ab
1d671ab
%description devel
1d671ab
Development files for perl-Qt.
1d671ab
1d671ab
%prep
436fb24
%setup -q -n perlqt-%{version}
11aa26b
%patch1 -p1
11aa26b
1d671ab
mkdir build
1d671ab
1d671ab
# fix smoke qwt detection
1d671ab
sed -i -e 's/SMOKE_Qwt5_Qt4_FOUND/SMOKE_QWT_FOUND/' CMakeLists.txt
1d671ab
6a86bb1
%if !%{use_x11_tests}
1d671ab
# these tests require running X server
1d671ab
sed -i -e '/perlqt_qtcore4_qapp/d' \
1d671ab
       -e '/perlqt_qtcore4_sigslot/d' \
1d671ab
       -e '/perlqt_qtcore4_sigslot_inherit/d' \
1d671ab
       -e '/perlqt_qtcore4_handlers/d' qtcore/t/CMakeLists.txt
1d671ab
sed -i -e '/perlqt_qsignalspy/d' qttest/t/CMakeLists.txt
1d671ab
sed -i -e '/perlqt_itemviewspixelator/d' \
1d671ab
       -e '/perlqt_itemviewspuzzle/d' \
1d671ab
       -e '/perlqt_helpcontextsensitivehelp/d' \
1d671ab
       -e '/perlqt_mainwindowsmdi/d' \
1d671ab
       -e '/perlqt_networkbroadcast/d' \
1d671ab
       -e '/perlqt_networkfortune/d' \
1d671ab
       -e '/perlqt_networkgooglesuggest/d' \
1d671ab
       -e '/perlqt_paintingfontsampler/d' \
1d671ab
       -e '/perlqt_richtextcalendar/d' \
1d671ab
       -e '/perlqt_sqlquerymodel/d' \
1d671ab
       -e '/perlqt_widgetscalculator/d' \
1d671ab
       -e '/perlqt_xmlstreambookmarks/d' qtgui/t/CMakeLists.txt
6a86bb1
%endif
6a86bb1
abb2e79
# Network tests fail without network
5e8ba5f
sed -i \
5e8ba5f
       -e '/perlqt_networkbroadcast/d' \
abb2e79
       -e '/perlqt_networkgooglesuggest/d' \
5e8ba5f
       qtgui/t/CMakeLists.txt
5e8ba5f
6a86bb1
# These tests fail even in latest upstream code,
6a86bb1
# <https://bugs.kde.org/show_bug.cgi?id=360846>
6a86bb1
sed -i \
6a86bb1
       -e '/perlqt_helpcontextsensitivehelp/d' \
6a86bb1
       -e '/perlqt_mainwindowsmdi/d' \
6a86bb1
       qtgui/t/CMakeLists.txt
1d671ab
436fb24
# This test hangs, <https://bugs.kde.org/show_bug.cgi?id=360899>
436fb24
sed -i \
436fb24
       -e '/perlqt_itemviewspuzzle/d' \
436fb24
       qtgui/t/CMakeLists.txt
436fb24
4ac501a
%ifarch armv7hl ppc64 s390 s390x
d69c543
# perlqt_qtcore4_handlers fails on armv7hl
d69c543
sed -i \
d69c543
       -e '/perlqt_qtcore4_handlers/d' \
d69c543
       qtcore/t/CMakeLists.txt
d69c543
%endif
d69c543
1d671ab
%build
1d671ab
cd build
1d671ab
%{cmake_kde4} \
1d671ab
    -DCUSTOM_PERL_SITE_ARCH_DIR=%{perl_vendorarch} \
1d671ab
    -DCMAKE_SKIP_RPATH=YES \
1d671ab
    -DENABLE_GUI_TESTS=YES \
1d671ab
    ..
1d671ab
make %{?_smp_mflags}
1d671ab
1d671ab
%install
1d671ab
cd build
436fb24
make install/fast DESTDIR=%{buildroot}
1d671ab
1d671ab
%{_fixperms} %{buildroot}/*
1d671ab
1d671ab
%check
1d671ab
cd build
1d671ab
export PERL5LIB="$PWD/blib/lib:$PWD/blib/arch"
6a86bb1
%if %{use_x11_tests}
6a86bb1
    xvfb-run -a make test
6a86bb1
%else
6a86bb1
    make test
6a86bb1
%endif
1d671ab
1d671ab
%files
436fb24
%license LICENSE*
e1b1d24
%doc README
1d671ab
%{perl_vendorarch}/*
1d671ab
%exclude %dir %{perl_vendorarch}/auto/
1d671ab
1d671ab
%files devel
1d671ab
%doc qtgui/examples
1d671ab
%{_bindir}/*
1d671ab
%{_includedir}/perlqt
1d671ab
%{_datadir}/perlqt
1d671ab
1d671ab
%changelog
4176e2c
* Sun May 15 2016 Jitka Plesnikova <jplesnik@redhat.com> - 4.14.3-4
4176e2c
- Perl 5.24 rebuild
4176e2c
4ac501a
* Wed Mar 30 2016 Petr Pisar <ppisar@redhat.com> - 4.14.3-3
4ac501a
- Disable perlqt_qtcore4_handlers test failing on big-endian s390 machines
4ac501a
fefe3c0
* Thu Mar 24 2016 Petr Pisar <ppisar@redhat.com> - 4.14.3-2
fefe3c0
- Disable perlqt_qtcore4_handlers test failing on big-endian 64-bit PowerPC
fefe3c0
436fb24
* Wed Mar 23 2016 Petr Pisar <ppisar@redhat.com> - 4.14.3-1
436fb24
- 4.14.3 bump (upstream changed from CPAN to KDE)
436fb24
- perl-Qt-devel license changed to (GPLv2+ and (GPL+ or Artistic) and (LGPLv2+
436fb24
  with exceptions or GPLv3+) and (LGPLv2 with exception or GPLv3+) and ASL 2.0)
436fb24
e1b1d24
* Tue Mar 22 2016 Petr Pisar <ppisar@redhat.com> - 0.96.0-19
e1b1d24
- Modernize spec file
6a86bb1
- Run X11 tests
0cb05ee
- Fix code generation with "puic4 -x" (bug #1118240)
e1b1d24
f65d8e9
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.96.0-18
f65d8e9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
f65d8e9
240e50b
* Mon Feb 01 2016 Petr Pisar <ppisar@redhat.com> - 0.96.0-17
240e50b
- Adjust to GCC 6 (bug #1303658)
8a58e79
- Specify more dependencies
240e50b
5d60e99
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.96.0-16
5d60e99
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
5d60e99
fa4b08c
* Sat Jun 06 2015 Jitka Plesnikova <jplesnik@redhat.com> - 0.96.0-15
fa4b08c
- Perl 5.22 rebuild
fa4b08c
df4ccc5
* Mon Apr 20 2015 Petr Pisar <ppisar@redhat.com> - 0.96.0-14
df4ccc5
- Rebuild owing to C++ ABI change in GCC-5 (bug #1211226)
df4ccc5
5737b1d
* Mon Nov 03 2014 Petr Pisar <ppisar@redhat.com> - 0.96.0-13
9381c56
- Adjust to perl-5.20.0 (bug #1136340)
9381c56
a38fbb5
* Fri Aug 29 2014 Jitka Plesnikova <jplesnik@redhat.com> - 0.96.0-12
a38fbb5
- Perl 5.20 rebuild
a38fbb5
66a7646
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.96.0-11
66a7646
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
66a7646
d6ee91c
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.96.0-10
d6ee91c
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
d6ee91c
11aa26b
* Fri Aug 30 2013 Paul Howarth <paul@city-fan.org> - 0.96.0-9
11aa26b
- Add some fixes from upstream git for Perl 5.18 compatibility
11aa26b
b86f86d
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.96.0-8
b86f86d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
b86f86d
28046a7
* Fri Jul 26 2013 Petr Pisar <ppisar@redhat.com> - 0.96.0-7
28046a7
- Perl 5.18 rebuild
28046a7
fe2c9a6
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.96.0-6
fe2c9a6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
fe2c9a6
4ff494f
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.96.0-5
4ff494f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
4ff494f
e82656e
* Tue Jun 19 2012 Petr Pisar <ppisar@redhat.com> - 0.96.0-4
e82656e
- Perl 5.16 rebuild
e82656e
fecc983
* Thu Apr 19 2012 Iain Arnell <iarnell@gmail.com> 0.96.0-3
fecc983
- build against db5 (rhbz#814083)
fecc983
b3f9ff6
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.96.0-2
b3f9ff6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
b3f9ff6
1d671ab
* Tue Nov 08 2011 Iain Arnell <iarnell@gmail.com> 0.96.0-1
1d671ab
- initial packaging attempt