diff --git a/RPC-XML-0.77-fixtest.dif b/RPC-XML-0.77-fixtest.dif
index d36c3b1..4604bfa 100644
--- a/RPC-XML-0.77-fixtest.dif
+++ b/RPC-XML-0.77-fixtest.dif
@@ -1,8 +1,8 @@
-Index: RPC-XML-0.77/lib/RPC/XML.pm
+Index: RPC-XML-0.78/lib/RPC/XML.pm
===================================================================
---- RPC-XML-0.77.orig/lib/RPC/XML.pm
-+++ RPC-XML-0.77/lib/RPC/XML.pm
-@@ -842,7 +842,7 @@ sub as_string
+--- RPC-XML-0.78.orig/lib/RPC/XML.pm
++++ RPC-XML-0.78/lib/RPC/XML.pm
+@@ -848,7 +848,7 @@ sub as_string
("$_",
$clean{$_},
'')
@@ -11,7 +11,7 @@ Index: RPC-XML-0.77/lib/RPC/XML.pm
'';
}
-@@ -854,7 +854,7 @@ sub serialize
+@@ -860,7 +860,7 @@ sub serialize
my $key;
print {$fh} '';
@@ -19,4 +19,4 @@ Index: RPC-XML-0.77/lib/RPC/XML.pm
+ for (sort keys %{$self})
{
($key = $_) =~ s/$RPC::XML::XMLRE/$RPC::XML::XMLMAP{$1}/ge;
- utf8::downgrade($key);
+ utf8::encode($key);
diff --git a/RPC-XML-0.77.tar.gz b/RPC-XML-0.77.tar.gz
deleted file mode 100644
index 2808087..0000000
--- a/RPC-XML-0.77.tar.gz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e38c5d131e8c29f41ca39ac1e4b7abd33ed1c9b417e0d8ac1c24a056ce7e6f5a
-size 205679
diff --git a/RPC-XML-0.78.tar.gz b/RPC-XML-0.78.tar.gz
new file mode 100644
index 0000000..f670441
--- /dev/null
+++ b/RPC-XML-0.78.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a2c02724a29f8f3183e396d1ca69fa76650cd913334d6d429a094321f588ec6a
+size 207243
diff --git a/cpanspec.yml b/cpanspec.yml
new file mode 100644
index 0000000..05477bf
--- /dev/null
+++ b/cpanspec.yml
@@ -0,0 +1,25 @@
+---
+#description_paragraphs: 3
+#no_testing: broken upstream
+#sources:
+# - source1
+# - source2
+patches:
+ #PATCH-FIX-OPENSUSE - ro@suse.de - fix build in chroot/buildservice
+ RPC-XML-0.60-rev127.dif:
+ RPC-XML-0.76-extern_ent.dif:
+ #PATCH-FIX-UPSTREAM - coolo@suse.de RT#86187
+ RPC-XML-0.77-fixtest.dif: -p1
+# foo.patch: -p1
+# bar.patch:
+#preamble: |-
+# BuildRequires: gcc-c++
+#post_prep: |-
+# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'`
+# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL
+#post_install: |-
+# sed on %{name}.files
+#license: SUSE-NonFree
+#skip_noarch: 1
+#custom_build: -
+#./Build build flags=%{?_smp_mflags} --myflag
diff --git a/perl-RPC-XML.changes b/perl-RPC-XML.changes
index cb419ea..f5a5720 100644
--- a/perl-RPC-XML.changes
+++ b/perl-RPC-XML.changes
@@ -1,3 +1,65 @@
+-------------------------------------------------------------------
+Tue Apr 14 15:37:32 UTC 2015 - coolo@suse.com
+
+- updated to 0.78
+ see /usr/share/doc/packages/perl-RPC-XML/ChangeLog
+
+ 0.78 Thursday February 6, 2014, 08:00:00 PM -0800
+
+ * lib/RPC/XML.pm
+ A patch to loop detection in smart_encode from Dag-Erling
+ Smørgrav. Some other minor bits.
+
+ * lib/RPC/XML/Procedure.pm
+ RT #83108: Fixed a spelling error. Some other fixes, too.
+
+ * lib/RPC/XML.pm
+ RT #86187: Force key-ordering in struct as_string and
+ serialize. Was getting some intermittent bug reports of
+ failures in t/15_serialize.t that amounted to the keys in a
+ fault struct not being in consistent order.
+
+ * lib/RPC/XML.pm
+ * t/15_serialize.t
+ Undo the previous change and fix the test. The previous change
+ didn't feel right, so this rolls it back and fixes the problem
+ at the level of the test, instead.
+
+ * Makefile.PL
+ * lib/RPC/XML.pm
+ * lib/RPC/XML/Client.pm
+ * lib/RPC/XML/Server.pm
+ Replace direct evals for loading optional modules with
+ Module::Load. Required adding this to Makefile.PL because
+ Module::Load is not core in 5.8.8. Also did some slight doc
+ tweaking.
+
+ * lib/RPC/XML.pm
+ * lib/RPC/XML/Client.pm
+ Merge pull request #5 from alexrj/utf8-encode. Use
+ utf8::encode() instead of utf8::downgrade().
+
+ * lib/RPC/XML.pm
+ * lib/RPC/XML/Client.pm
+ * lib/RPC/XML/Server.pm
+ Finish the uft8 encode vs. downgrade change from the previous
+ commit. Changed in places that were overlooked, and adjusted
+ the version number in all three modules.
+
+ * lib/RPC/XML.pm
+ * lib/RPC/XML/Parser/XMLLibXML.pm
+ Merge pull request #6 from dctabuyz/master. Added 'no_blanks'
+ libxml option to skip blank XML::LibXML::Text nodes.
+
+ * lib/RPC/XML/Server.pm
+ Merge pull request #7 from kvar/master. Initialize $do_compress
+ in RPC::XML::Server between requests.
+
+ * lib/RPC/XML.pm
+ * lib/RPC/XML/Parser/XMLLibXML.pm
+ * lib/RPC/XML/Server.pm
+ Bump version numbers on modules changed in github pulls.
+
-------------------------------------------------------------------
Mon Jul 1 08:17:26 UTC 2013 - coolo@suse.com
diff --git a/perl-RPC-XML.spec b/perl-RPC-XML.spec
index 61f8c82..6f7f9e0 100644
--- a/perl-RPC-XML.spec
+++ b/perl-RPC-XML.spec
@@ -1,7 +1,7 @@
#
# spec file for package perl-RPC-XML
#
-# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,56 +17,59 @@
Name: perl-RPC-XML
-Version: 0.77
+Version: 0.78
Release: 0
%define cpan_name RPC-XML
-Summary: A set of classes for core data, message and XML handling
-License: GPL-1.0+ or Artistic-1.0
+Summary: Set of Classes for Core Data, Message and Xml Handling
+License: Artistic-1.0 or GPL-1.0+
Group: Development/Libraries/Perl
Url: http://search.cpan.org/dist/RPC-XML/
-Source: http://www.cpan.org/authors/id/R/RJ/RJRAY/RPC-XML-%{version}.tar.gz
-#PATCH-FIX-OPENSUSE - ro@suse.de - fix build in chroot/buildservice
-Patch1: RPC-XML-0.60-rev127.dif
-Patch2: RPC-XML-0.76-extern_ent.dif
-#PATCH-FIX-UPSTREAM - coolo@suse.de RT#86187
-Patch3: RPC-XML-0.77-fixtest.dif
+Source0: http://www.cpan.org/authors/id/R/RJ/RJRAY/%{cpan_name}-%{version}.tar.gz
+Source1: cpanspec.yml
+Patch0: RPC-XML-0.60-rev127.dif
+Patch1: RPC-XML-0.76-extern_ent.dif
+Patch2: RPC-XML-0.77-fixtest.dif
+BuildArch: noarch
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(File::Spec) >= 0.8
BuildRequires: perl(LWP) >= 5.834
+BuildRequires: perl(Module::Load) >= 0.24
BuildRequires: perl(Scalar::Util) >= 1.19
-BuildRequires: perl(XML::LibXML) >= 1.70
+BuildRequires: perl(Test::More) >= 0.94
BuildRequires: perl(XML::Parser) >= 2.31
-BuildRequires: perl(constant) >= 1.03
-Requires: perl(File::Spec) >= 0.8
Requires: perl(LWP) >= 5.834
+Requires: perl(Module::Load) >= 0.24
Requires: perl(Scalar::Util) >= 1.19
-Requires: perl(XML::LibXML) >= 1.70
+Requires: perl(Test::More) >= 0.94
Requires: perl(XML::Parser) >= 2.31
-Requires: perl(constant) >= 1.03
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildArch: noarch
+Recommends: perl(Compress::Raw::Zlib) >= 2.063
+Recommends: perl(DateTime) >= 0.70
+Recommends: perl(DateTime::Format::ISO8601) >= 0.07
+Recommends: perl(XML::LibXML) >= 1.85
%{perl_requires}
%description
-The *RPC::XML* package is an implementation of the *XML-RPC* standard.
+The *RPC::XML* package is an implementation of the *XML-RPC* standard. The
+package as a whole provides classes for data, for clients, for servers and
+for parsers (based on the XML::Parser and XML::LibXML packages from CPAN).
-The package provides a set of classes for creating values to pass to the
+This module provides a set of classes for creating values to pass to the
constructors for requests and responses. These are lightweight objects,
-most of which are implemented as tied scalars so as to associate specific
-type information with the value. Classes are also provided for requests,
-responses, faults (errors) and a parser based on the the XML::Parser
-manpage package from CPAN.
+most of which are implemented as blessed scalar references so as to
+associate specific type information with the value. Classes are also
+provided for requests, responses and faults (errors).
This module does not actually provide any transport implementation or
-server basis. For these, see the RPC::XML::Client manpage and the
-RPC::XML::Server manpage, respectively.
+server basis. For these, see RPC::XML::Client and RPC::XML::Server,
+respectively.
%prep
%setup -q -n %{cpan_name}-%{version}
-%patch1 -p0
-%patch2
-%patch3 -p1
+find . -type f -print0 | xargs -0 chmod 644
+%patch0
+%patch1
+%patch2 -p1
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor
@@ -80,11 +83,8 @@ RPC::XML::Server manpage, respectively.
%perl_process_packlist
%perl_gen_filelist
-%clean
-%{__rm} -rf %{buildroot}
-
%files -f %{name}.files
-%defattr(644,root,root,755)
+%defattr(-,root,root,755)
%doc ChangeLog ChangeLog.xml README README.apache2
%changelog