summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <remi@remirepo.net>2017-06-27 09:46:51 +0200
committerRemi Collet <remi@remirepo.net>2017-06-27 09:46:51 +0200
commita782099d313044e816067a0b805b3beb222d9578 (patch)
tree38dec041e51806239a1dfb5b1ffba45f1570de98
New package
-rw-r--r--.gitignore7
-rw-r--r--8f16a007ea94f65894c8c71e0aaeba83e0d13993.patch86
-rw-r--r--Makefile4
-rw-r--r--composer.json25
-rw-r--r--php-bacon-qr-code.spec134
5 files changed, 256 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1ab5c4f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+package-*.xml
+*.tgz
+*.tar.gz
+*.tar.xz
+*.tar.xz.asc
+*.src.rpm
+*/*rpm
diff --git a/8f16a007ea94f65894c8c71e0aaeba83e0d13993.patch b/8f16a007ea94f65894c8c71e0aaeba83e0d13993.patch
new file mode 100644
index 0000000..6b94827
--- /dev/null
+++ b/8f16a007ea94f65894c8c71e0aaeba83e0d13993.patch
@@ -0,0 +1,86 @@
+From 8f16a007ea94f65894c8c71e0aaeba83e0d13993 Mon Sep 17 00:00:00 2001
+From: Ben Scholzen <mail@dasprids.de>
+Date: Sat, 26 Nov 2016 14:47:45 +0100
+Subject: [PATCH] Fix unit tests on PHP 7.1 and add PHP 5.6 to test matrix
+
+---
+ .gitignore | 2 ++
+ .travis.yml | 4 +++-
+ composer.json | 3 +++
+ tests/BaconQrCode/Common/BitArrayTest.php | 6 +++++-
+ tests/BaconQrCode/Common/ReedSolomonCodecTest.php | 6 +++++-
+ 5 files changed, 18 insertions(+), 3 deletions(-)
+
+diff --git a/.gitignore b/.gitignore
+index 35c1bcd..c4fcf18 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -1,3 +1,5 @@
++composer.lock
++vendor
+ nbproject
+ .idea
+ .buildpath
+diff --git a/.travis.yml b/.travis.yml
+index 4e554be..60690f0 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -3,7 +3,9 @@ php:
+ - 5.3
+ - 5.4
+ - 5.5
++ - 5.6
+ - 7.0
++ - 7.1
+ - hhvm
+
+-script: phpunit --bootstrap tests/bootstrap.php --configuration tests/phpunit.xml tests
+\ No newline at end of file
++script: ./vendor/bin/phpunit --bootstrap tests/bootstrap.php --configuration tests/phpunit.xml tests
+diff --git a/composer.json b/composer.json
+index 47f442d..7947259 100644
+--- a/composer.json
++++ b/composer.json
+@@ -22,5 +22,8 @@
+ "psr-0": {
+ "BaconQrCode": "src/"
+ }
++ },
++ "require-dev": {
++ "phpunit/phpunit": "^5.6"
+ }
+ }
+diff --git a/tests/BaconQrCode/Common/BitArrayTest.php b/tests/BaconQrCode/Common/BitArrayTest.php
+index 06aa4e1..81bcbce 100644
+--- a/tests/BaconQrCode/Common/BitArrayTest.php
++++ b/tests/BaconQrCode/Common/BitArrayTest.php
+@@ -94,7 +94,11 @@ public function testGetNextSet4()
+
+ public function testGetNextSet5()
+ {
+- mt_srand(hexdec('deadbeef'));
++ if (defined('MT_RAND_PHP')) {
++ mt_srand(0xdeadbeef, MT_RAND_PHP);
++ } else {
++ mt_srand(0xdeadbeef);
++ }
+
+ for ($i = 0; $i < 10; $i++) {
+ $array = new BitArray(mt_rand(1, 100));
+diff --git a/tests/BaconQrCode/Common/ReedSolomonCodecTest.php b/tests/BaconQrCode/Common/ReedSolomonCodecTest.php
+index 99a6c72..604641a 100644
+--- a/tests/BaconQrCode/Common/ReedSolomonCodecTest.php
++++ b/tests/BaconQrCode/Common/ReedSolomonCodecTest.php
+@@ -38,7 +38,11 @@ public static function tabProvider()
+ */
+ public function testCodec($symbolSize, $generatorPoly, $firstRoot, $primitive, $numRoots)
+ {
+- mt_srand(0xdeadbeef);
++ if (defined('MT_RAND_PHP')) {
++ mt_srand(0xdeadbeef, MT_RAND_PHP);
++ } else {
++ mt_srand(0xdeadbeef);
++ }
+
+ $blockSize = (1 << $symbolSize) - 1;
+ $dataSize = $blockSize - $numRoots;
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..91b0fd5
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,4 @@
+SRCDIR := $(shell pwd)
+NAME := $(shell basename $(SRCDIR))
+include ../../common/Makefile
+
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..01b16bc
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,25 @@
+{
+ "name": "bacon/bacon-qr-code",
+ "description": "BaconQrCode is a QR code generator for PHP.",
+ "license" : "BSD-2-Clause",
+ "homepage": "https://github.com/Bacon/BaconQrCode",
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "suggest": {
+ "ext-gd": "to generate QR code images"
+ },
+ "authors": [
+ {
+ "name": "Ben Scholzen 'DASPRiD'",
+ "email": "mail@dasprids.de",
+ "homepage": "http://www.dasprids.de",
+ "role": "Developer"
+ }
+ ],
+ "autoload": {
+ "psr-0": {
+ "BaconQrCode": "src/"
+ }
+ }
+}
diff --git a/php-bacon-qr-code.spec b/php-bacon-qr-code.spec
new file mode 100644
index 0000000..68457d3
--- /dev/null
+++ b/php-bacon-qr-code.spec
@@ -0,0 +1,134 @@
+# remirepo/fedora spec file for php-bacon-qr-code
+#
+# Copyright (c) 2017 Remi Collet
+# License: CC-BY-SA
+# http://creativecommons.org/licenses/by-sa/4.0/
+#
+# Please, preserve the changelog entries
+#
+%global gh_commit 031a2ce68c5794064b49d11775b2daf45c96e21c
+%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
+%global gh_owner Bacon
+%global gh_project BaconQrCode
+
+%global pk_vendor bacon
+%global pk_project bacon-qr-code
+
+%global ns_vendor %nil
+%global ns_project %{gh_project}
+%global php_home %{_datadir}/php
+%global with_tests 0%{!?_without_tests:1}
+
+Name: php-%{pk_project}
+Version: 1.0.1
+Release: 1%{?dist}
+Summary: QR code generator for PHP
+
+Group: Development/Libraries
+License: BSD
+URL: https://github.com/%{gh_owner}/%{gh_project}
+Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{gh_short}.tar.gz
+
+# upstream patch
+Patch0: https://github.com/%{gh_owner}/%{gh_project}/commit/8f16a007ea94f65894c8c71e0aaeba83e0d13993.patch
+
+BuildArch: noarch
+%if %{with_tests}
+# For tests
+BuildRequires: php(language) >= 5.3.3
+BuildRequires: php-gd
+BuildRequires: php-reflection
+BuildRequires: php-simplexml
+BuildRequires: php-ctype
+BuildRequires: php-iconv
+BuildRequires: php-spl
+BuildRequires: php-composer(phpunit/phpunit)
+# Required by autoloader
+BuildRequires: php-composer(fedora/autoloader)
+%endif
+
+# From composer.json, "require": {
+# "php": ">=5.3.3"
+Requires: php(language) >= 5.3.3
+# From composer.json, "suggest": {
+# "ext-gd": "to generate QR code images"
+Requires: php-gd
+# From phpcompatinfo report for version 1.0.1
+Requires: php-reflection
+Requires: php-simplexml
+Requires: php-ctype
+Requires: php-iconv
+Requires: php-spl
+# Required by autoloader
+Requires: php-composer(fedora/autoloader)
+
+Provides: php-composer(%{pk_vendor}/%{pk_project}) = %{version}
+
+
+%description
+BaconQrCode is a port of QR code portion of the ZXing library.
+It currently only features the encoder part, but could later
+receive the decoder part as well.
+
+As the Reed Solomon codec implementation of the ZXing library
+performs quite slow in PHP, it was exchanged with the implementation
+by Phil Karn.
+
+Autoloader: %{php_home}/%{ns_project}/autoload.php
+
+
+%prep
+%setup -q -n %{gh_project}-%{gh_commit}
+%patch0 -p1 -b .upstream
+
+cat << 'EOF' | tee src/%{ns_project}/autoload.php
+<?php
+/* Autoloader for %{name} and its dependencies */
+require_once '/usr/share/php/Fedora/Autoloader/autoload.php';
+\Fedora\Autoloader\Autoload::addPsr4('%{ns_project}\\', __DIR__);
+EOF
+
+
+%build
+# Empty build section, most likely nothing required.
+
+
+%install
+: Library
+mkdir -p %{buildroot}%{php_home}
+cp -pr src/%{ns_project} %{buildroot}%{php_home}/%{ns_project}
+
+
+%check
+%if %{with_tests}
+cd tests
+cat << 'EOF' | tee bootstrap.php
+<?php
+require '%{buildroot}%{php_home}/%{ns_project}/autoload.php';
+EOF
+
+ret=0
+for cmd in php php56 php70 php71 php72; do
+ if which $cmd; then
+ $cmd %{_bindir}/phpunit --verbose || ret=1
+ fi
+done
+exit $ret
+%else
+: Test suite disabled
+%endif
+
+
+%files
+%{!?_licensedir:%global license %%doc}
+%license LICENSE
+%doc composer.json
+%doc README.md
+%dir %{php_home}/%{ns_vendor}
+ %{php_home}/%{ns_vendor}/%{ns_project}
+
+
+%changelog
+* Tue Jun 27 2017 Remi Collet <remi@remirepo.net> - 1.0.1-1
+- initial package, version 1.0.1
+- open https://github.com/Bacon/BaconQrCode/pull/29 - phpunit