diff options
| -rw-r--r-- | .gitignore | 7 | ||||
| -rw-r--r-- | 8f16a007ea94f65894c8c71e0aaeba83e0d13993.patch | 86 | ||||
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | composer.json | 25 | ||||
| -rw-r--r-- | php-bacon-qr-code.spec | 134 | 
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 | 
