ppisar pushed to perl-CBOR-XS (master). "Import"

notifications at fedoraproject.org notifications at fedoraproject.org
Wed Sep 30 08:17:34 UTC 2015


From f2ba57508f5a24be527d6040e6e6979073db3305 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
Date: Wed, 30 Sep 2015 10:16:44 +0200
Subject: Import


diff --git a/.gitignore b/.gitignore
index e69de29..cd636cb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/CBOR-XS-1.3.tar.gz
diff --git a/CBOR-XS-1.3-Cast-char-and-U8-where-needed.patch b/CBOR-XS-1.3-Cast-char-and-U8-where-needed.patch
new file mode 100644
index 0000000..6601267
--- /dev/null
+++ b/CBOR-XS-1.3-Cast-char-and-U8-where-needed.patch
@@ -0,0 +1,77 @@
+From fb089d08ff9bc5cf45570b950aa33e50ee62371b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Tue, 29 Sep 2015 10:31:58 +0200
+Subject: [PATCH] Cast char* and U8* where needed
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Building with GCC 5.1.1 and perl-5.22.0 produces various warnings about
+mismatching signess. This patch corrects it.
+
+Signed-off-by: Petr Písař <ppisar at redhat.com>
+---
+ XS.xs | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/XS.xs b/XS.xs
+index 0af7c95..134ed9e 100644
+--- a/XS.xs
++++ b/XS.xs
+@@ -765,7 +765,7 @@ decode_he (dec_t *dec, HV *hv)
+         dec->cur += len;
+ 
+         if (ecb_expect_false (dec->cbor.flags & F_VALIDATE_UTF8))
+-          if (!is_utf8_string (key, len))
++          if (!is_utf8_string ((U8*)key, len))
+             ERR ("corrupted CBOR data (invalid UTF-8 in map key)");
+ 
+         hv_store (hv, key, -len, decode_sv (dec), 0);
+@@ -854,7 +854,7 @@ decode_str (dec_t *dec, int utf8)
+           STRLEN len = decode_uint (dec);
+ 
+           WANT (len);
+-          sv_catpvn (sv, dec->cur, len);
++          sv_catpvn (sv, (char *)dec->cur, len);
+           dec->cur += len;
+         }
+     }
+@@ -863,7 +863,7 @@ decode_str (dec_t *dec, int utf8)
+       STRLEN len = decode_uint (dec);
+ 
+       WANT (len);
+-      sv = newSVpvn (dec->cur, len);
++      sv = newSVpvn ((char*)dec->cur, len);
+       dec->cur += len;
+ 
+       if (ecb_expect_false (dec->stringref)
+@@ -874,7 +874,7 @@ decode_str (dec_t *dec, int utf8)
+   if (utf8)
+     {
+       if (ecb_expect_false (dec->cbor.flags & F_VALIDATE_UTF8))
+-        if (!is_utf8_string (SvPVX (sv), SvCUR (sv)))
++        if (!is_utf8_string ((U8*)SvPVX (sv), SvCUR (sv)))
+           ERR ("corrupted CBOR data (invalid UTF-8 in text string)");
+ 
+       SvUTF8_on (sv);
+@@ -1181,7 +1181,7 @@ decode_cbor (SV *string, CBOR *cbor, char **offset_return)
+   sv = decode_sv (&dec);
+ 
+   if (offset_return)
+-    *offset_return = dec.cur;
++    *offset_return = (char *)dec.cur;
+ 
+   if (!(offset_return || !sv))
+     if (dec.cur != dec.end && !dec.err)
+@@ -1231,7 +1231,7 @@ incr_parse (CBOR *self, SV *cborstr)
+         1, 2, 4, 8,-1,-1,-1,-2
+       };
+ 
+-      const U8 *p = SvPVX (cborstr) + self->incr_pos;
++      const U8 *p = (U8*)SvPVX (cborstr) + self->incr_pos;
+       U8 m = *p & MINOR_MASK;
+       IV count = SvIVX (AvARRAY (self->incr_count)[AvFILLp (self->incr_count)]);
+       I8 ilen = incr_len[m];
+-- 
+2.4.3
+
diff --git a/CBOR-XS-1.3-Include-ecb.h-from-system.patch b/CBOR-XS-1.3-Include-ecb.h-from-system.patch
new file mode 100644
index 0000000..fc62033
--- /dev/null
+++ b/CBOR-XS-1.3-Include-ecb.h-from-system.patch
@@ -0,0 +1,29 @@
+From 5f37da992f0c9ded881d22e607d77d89c57741a3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
+Date: Tue, 29 Sep 2015 10:13:05 +0200
+Subject: [PATCH] Include ecb.h from system
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Petr Písař <ppisar at redhat.com>
+---
+ XS.xs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/XS.xs b/XS.xs
+index 15bce1f..0af7c95 100644
+--- a/XS.xs
++++ b/XS.xs
+@@ -10,7 +10,7 @@
+ #include <float.h>
+ 
+ #define ECB_NO_THREADS 1
+-#include "ecb.h"
++#include <ecb.h>
+ 
+ // compatibility with perl <5.18
+ #ifndef HvNAMELEN_get
+-- 
+2.4.3
+
diff --git a/perl-CBOR-XS.spec b/perl-CBOR-XS.spec
new file mode 100644
index 0000000..9c3a607
--- /dev/null
+++ b/perl-CBOR-XS.spec
@@ -0,0 +1,79 @@
+Name:           perl-CBOR-XS
+Version:        1.3
+Release:        1%{?dist}
+Summary:        Concise Binary Object Representation (CBOR)
+# COPYING:      GPLv3+
+## Replaced by system header-only package
+# ecb.h:        BSD or GPLv2+
+License:        GPLv3+ and (BSD or GPLv2+)
+Group:          Development/Libraries
+URL:            http://search.cpan.org/dist/CBOR-XS/
+Source0:        http://www.cpan.org/authors/id/M/ML/MLEHMANN/CBOR-XS-%{version}.tar.gz
+# Use system libecb
+Patch0:         CBOR-XS-1.3-Include-ecb.h-from-system.patch
+# Silent compiler warnings
+Patch1:         CBOR-XS-1.3-Cast-char-and-U8-where-needed.patch
+BuildRequires:  coreutils
+BuildRequires:  findutils
+# gcc for standard header files
+BuildRequires:  gcc
+BuildRequires:  libecb-static
+BuildRequires:  make
+BuildRequires:  perl
+BuildRequires:  perl(ExtUtils::MakeMaker)
+BuildRequires:  sed
+# Run-time:
+BuildRequires:  perl(common::sense)
+BuildRequires:  perl(Exporter)
+BuildRequires:  perl(Math::BigFloat)
+BuildRequires:  perl(Math::BigInt)
+BuildRequires:  perl(Time::Piece)
+BuildRequires:  perl(Types::Serialiser)
+BuildRequires:  perl(URI)
+BuildRequires:  perl(XSLoader)
+# Tests:
+BuildRequires:  perl(Data::Dumper)
+Requires:       perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
+Requires:       perl(Math::BigFloat)
+Requires:       perl(Math::BigInt)
+Requires:       perl(Time::Piece)
+Requires:       perl(URI)
+
+%description
+This module converts Perl data structures to the Concise Binary Object
+Representation (CBOR) and vice versa. CBOR is a fast binary serialisation
+format that aims to use an (almost) superset of the JSON data model, i.e.
+when you can represent something useful in JSON, you should be able to
+represent it in CBOR.
+
+%prep
+%setup -q -n CBOR-XS-%{version}
+%patch0 -p1
+%patch1 -p1
+# Remove bundled libecb
+rm ecb.h
+sed -i -e '/^ecb\.h/d' MANIFEST
+
+%build
+perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS"
+make %{?_smp_mflags}
+
+%install
+make pure_install DESTDIR=$RPM_BUILD_ROOT
+find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \;
+find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -exec rm -f {} \;
+%{_fixperms} $RPM_BUILD_ROOT/*
+
+%check
+make test
+
+%files
+%license COPYING
+%doc Changes README
+%{perl_vendorarch}/auto/*
+%{perl_vendorarch}/CBOR*
+%{_mandir}/man3/*
+
+%changelog
+* Tue Sep 29 2015 Petr Pisar <ppisar at redhat.com> 1.3-1
+- Specfile autogenerated by cpanspec 1.78.
diff --git a/sources b/sources
index e69de29..55774d7 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+5bfeba032f5fdbf45ef7275ddb37af97  CBOR-XS-1.3.tar.gz
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/perl-CBOR-XS.git/commit/?h=master&id=f2ba57508f5a24be527d6040e6e6979073db3305


More information about the perl-devel mailing list