Blob Blame History Raw
#
# Fedora spec file for php-deepend-Mockery
#
# License: MIT
# http://opensource.org/licenses/MIT
#
# Please preserve changelog entries
#
%global gh_commit    b3453f75fd23d9fd41685f2148f4abeacabc6405
%global gh_short     %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner     mockery
%global gh_project   mockery
%global ns_project   Mockery
%global major        1
%global with_tests   0%{!?_without_tests:1}

Name:           php-mockery
Version:        1.2.4
Release:        1%{?dist}
Summary:        Mockery is a simple but flexible PHP mock object framework

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

# Use our autoloader
Patch0:         %{gh_project}-tests.patch

BuildArch:      noarch
%if %{with_tests}
BuildRequires:  php(language) >= 5.6.0
# From composer.json, "require-dev": {
#        "phpunit/phpunit": "~5.7.10|~6.5|~7.0|~8.0"
%global phpunit %{_bindir}/phpunit7
BuildRequires: phpunit7
BuildRequires:  (php-composer(hamcrest/hamcrest-php) >= 2.0 with php-composer(hamcrest/hamcrest-php) < 3)
# Autoloader
%endif
BuildRequires:  php-fedora-autoloader-devel

# From composer.json, "require": {
#        "php": ">=5.6.0",
#        "lib-pcre": ">=7.0",
#        "hamcrest/hamcrest-php": "~2.0"
Requires:       php(language) >= 5.6.0
Requires:       (php-composer(hamcrest/hamcrest-php) >= 2.0 with php-composer(hamcrest/hamcrest-php) < 3)
# From phpcompatinfo report for version 1.0
Requires:       php-pcre
Requires:       php-spl
Requires:       php-reflection
# Autoloader
Requires:       php-composer(fedora/autoloader)

Provides:       php-composer(mockery/mockery) = %{version}


%description
Mockery is a simple but flexible PHP mock object framework for use in unit 
testing. It is inspired by Ruby's flexmock and Java's Mockito, borrowing 
elements from both of their APIs.

Autoloader: %{_datadir}/php/%{ns_project}%{major}/autoload.php


%prep
%setup -q -n %{gh_project}-%{gh_commit}

mv library/*.php library/%{ns_project}/
phpab --template fedora --output library/%{ns_project}/autoload.php library

cat << 'EOF' | tee -a library/%{ns_project}/autoload.php

\Fedora\Autoloader\Dependencies::required([
    '/usr/share/php/Hamcrest2/autoload.php',
]);
EOF

%patch0 -p0 -b .rpm

rm -f docs/.gitignore


%build
# Empty build section, most likely nothing required.


%install
mkdir -p %{buildroot}/%{_datadir}/php
cp -rp library/%{ns_project} %{buildroot}/%{_datadir}/php/%{ns_project}%{major}


%check
%if %{with_tests}
: Use installed tree and our autoloader
export COMPOSER_VENDOR_DIR=%{buildroot}%{_datadir}/php/%{ns_project}%{major}

phpab --output tests/classmap.php --exclude */SemiReservedWordsAsMethods.php tests/Mockery

: Run upstream test suite
ret=0
for cmd in "php %{phpunit}" "php71 %{_bindir}/phpunit7" php72 php73 php74; do
  if which $cmd; then
    set $cmd
    # see .travis.yml
    if [ $($1 -r 'echo PHP_MAJOR_VERSION;') -lt 7 ]
    then SUITE="Mockery Test Suite PHP56"
    else SUITE="Mockery Test Suite"
    fi
    $1 ${2:-%{_bindir}/phpunit8} \
      --no-coverage \
      --verbose --testsuite="$SUITE" || ret=1
  fi
done
exit $ret
%endif


%files
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc *.md docs
%doc composer.json
%{_datadir}/php/%{ns_project}%{major}


%changelog
* Mon Sep 30 2019 Remi Collet <remi@remirepo.net> - 1.2.4-1
- update to 1.2.4
- drop patch merged upstream

* Mon Aug 19 2019 Remi Collet <remi@remirepo.net> - 1.2.3-1
- update to 1.2.3
- add patch for PHP 7.4 from
  https://github.com/mockery/mockery/pull/993

* Wed Feb 13 2019 Remi Collet <remi@remirepo.net> - 1.2.2-1
- update to 1.2.2

* Mon Feb 11 2019 Remi Collet <remi@remirepo.net> - 1.2.1-1
- update to 1.2.1

* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Wed Oct  3 2018 Remi Collet <remi@remirepo.net> - 1.2.0-1
- update to 1.2.0
- switch to phpunit7

* Sun May 13 2018 Remi Collet <remi@remirepo.net> - 1.1.0-1
- update to 1.1.0

* Mon Jan 22 2018 Remi Collet <remi@remirepo.net> - 1.0-1
- Update to 1.0
- rename to php-mockery and move to /usr/share/php/Mockery1
- raise dependency on PHP 5.6
- raise dependency on hamcrest/hamcrest-php 2.0
- use phpunit6 on F26+

* Fri Oct  6 2017 Remi Collet <remi@remirepo.net> - 0.9.9-4
- add patches for PHP 7.2

* Tue Feb 28 2017 Remi Collet <remi@remirepo.net> - 0.9.9-1
- Update to 0.9.9

* Fri Feb 10 2017 Remi Collet <remi@remirepo.net> - 0.9.8-1
- Update to 0.9.8

* Fri Dec 23 2016 Remi Collet <remi@fedoraproject.org> - 0.9.7-1
- Update to 0.9.7

* Sat Nov 26 2016 Remi Collet <remi@fedoraproject.org> - 0.9.6-1
- Update to 0.9.6
- switch to fedora/autoloader

* Tue Jun 14 2016 Remi Collet <remi@fedoraproject.org> - 0.9.5-1
- Update to 0.9.5

* Fri Oct 16 2015 Remi Collet <remi@fedoraproject.org> - 0.9.3-1
- downgrade to 0.9.3

* Fri Oct 16 2015 Remi Collet <remi@fedoraproject.org> - 0.9.4-1
- Update to 0.9.4
- add autoloader using symfony/class-loader
- add dependency on hamcrest/hamcrest-php
- run test suite
- use github archive from commit reference

* Wed Jul 16 2014 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.9.1-2
- fixed requires (Remi)
- add script which will delete older pear package if installed (Remi)
- fix provides/obsoletes (Remi)

* Tue Jul 15 2014 Igor Gnatenko <i.gnatenko.brain@gmail.com> - 0.9.1-1
- update to 0.9.1 (RHBZ #1119451)

* Tue Feb 11 2014 Remi Collet <remi@fedoraproject.org> - 0.9.0-1
- Update to 0.9.0

* Fri Apr 19 2013 Remi Collet <remi@fedoraproject.org> - 0.8.0-1
- Update to 0.8.0 (backport)

* Thu Apr 18 2013 Christof Damian <christof@damian.net> - 0.8.0-1
- upstream 0.8.0

* Sun Mar 04 2012 Remi Collet <RPMS@FamilleCollet.com> - 0.7.2-1
- upstream 0.7.2, rebuild for remi repository

* Sun Mar  4 2012 Christof Damian <christof@damian.net> - 0.7.2-1
- upstream 0.7.2

* Tue Jul 27 2010 Remi Collet <RPMS@FamilleCollet.com> - 0.6.3-2
- rebuild for remi repository

* Tue Jul 27 2010 Christof Damian <christof@damian.net> - 0.6.3-2
- add license and readme file from github

* Fri May 28 2010 Christof Damian <christof@damian.net> - 0.6.0-1
- initial packaging