c0893ee
# remirepo/fedora spec file for php-doctrine-instantiator
2f68846
#
3e01ae8
# Copyright (c) 2014-2023 Remi Collet
2f68846
# License: CC-BY-SA
c0893ee
# http://creativecommons.org/licenses/by-sa/4.0/
2f68846
#
2f68846
# Please, preserve the changelog entries
2f68846
#
2f68846
2f68846
# bootstrap needed when rebuilding PHPUnit for new major version
2f68846
%global bootstrap    0
3e01ae8
%global gh_commit    0a0fa9780f5d4e507415a065172d26a98d02047b
2f68846
%global gh_short     %(c=%{gh_commit}; echo ${c:0:7})
2f68846
%global gh_owner     doctrine
2f68846
%global gh_project   instantiator
c229067
%global major        %nil
2f68846
%if %{bootstrap}
073c97b
%global with_tests   0%{?_with_tests:1}
2f68846
%else
073c97b
%global with_tests   0%{!?_without_tests:1}
2f68846
%endif
2f68846
2f68846
Name:           php-doctrine-instantiator
3e01ae8
Version:        1.5.0
d956f76
Release:        5%{?dist}
2f68846
Summary:        Instantiate objects in PHP without invoking their constructors
2f68846
2f68846
License:        MIT
2f68846
URL:            https://github.com/%{gh_owner}/%{gh_project}
c936c74
Source0:        php-%{gh_owner}-%{gh_project}-%{version}-%{gh_short}.tgz
073c97b
Source1:        makesrc.sh
2f68846
2f68846
BuildArch:      noarch
073c97b
BuildRequires:  php-fedora-autoloader-devel
2f68846
%if %{with_tests}
073c97b
BuildRequires:  php(language) >= 7.1
2f68846
BuildRequires:  php-phar
2f68846
BuildRequires:  php-pdo
2f68846
BuildRequires:  php-reflection
073c97b
BuildRequires:  php-spl
fd23463
%global phpunit %{_bindir}/phpunit9
fd23463
BuildRequires:  %{phpunit}
2f68846
%endif
2f68846
2f68846
# From composer.json
c229067
#        "php": "^7.1 || ^8.0"
073c97b
Requires:       php(language) >= 7.1
073c97b
# From phpcompatinfo report for version 1.1.0
2f68846
Requires:       php-reflection
073c97b
Requires:       php-spl
073c97b
# Autoloader
073c97b
Requires:       php-composer(fedora/autoloader)
2f68846
c936c74
Obsoletes:      php-doctrine-instantiator11 < %{version}-%{release}
c936c74
Provides:       php-doctrine-instantiator11 = %{version}-%{release}
2f68846
Provides:       php-composer(doctrine/instantiator) = %{version}
2f68846
2f68846
2f68846
%description
2f68846
This library provides a way of avoiding usage of constructors when
2f68846
instantiating PHP classes.
2f68846
2f68846
2f68846
%prep
2f68846
%setup -q -n %{gh_project}-%{gh_commit}
2f68846
2f68846
2f68846
%build
16f9dfb
: Generate a simple autoloader
16f9dfb
%{_bindir}/phpab \
16f9dfb
    --output src/Doctrine/Instantiator/autoload.php \
073c97b
    --template fedora \
16f9dfb
    src/Doctrine/Instantiator
2f68846
2f68846
2f68846
%install
c936c74
mkdir -p                         %{buildroot}%{_datadir}/php/Doctrine
c936c74
cp -pr src/Doctrine/Instantiator %{buildroot}%{_datadir}/php/Doctrine/Instantiator%{major}
2f68846
2f68846
2f68846
%check
2f68846
%if %{with_tests}
2f68846
: Generate autoloader
073c97b
mkdir vendor
2f68846
%{_bindir}/phpab \
073c97b
    --output vendor/autoload.php \
073c97b
    --template fedora \
073c97b
    tests
073c97b
cat << 'EOF' | tee -a vendor/autoload.php
073c97b
require "%{buildroot}%{_datadir}/php/Doctrine/Instantiator/autoload.php";
cf83f09
Fedora\Autoloader\Autoload::addPsr0('DoctrineTest\\InstantiatorPerformance\\', dirname(__DIR__).'/tests');
cf83f09
Fedora\Autoloader\Autoload::addPsr0('DoctrineTest\\InstantiatorTest\\', dirname(__DIR__).'/tests');
cf83f09
Fedora\Autoloader\Autoload::addPsr0('DoctrineTest\\InstantiatorTestAsset\\', dirname(__DIR__).'/tests');
073c97b
EOF
2f68846
2f68846
: Run test suite
073c97b
ret=0
3e01ae8
for cmdarg in "php %{phpunit}" php80 php81 php82; do
fd23463
  if which $cmdarg; then
fd23463
    set $cmdarg
cf83f09
    $1 -d auto_prepend_file=vendor/autoload.php \
fd23463
      ${2:-%{_bindir}/phpunit9} \
073c97b
        --verbose || ret=1
073c97b
  fi
073c97b
done
073c97b
exit $ret
2f68846
%else
2f68846
: Test suite disabled
2f68846
%endif
2f68846
2f68846
2f68846
%files
2f68846
%license LICENSE
2f68846
%doc *.md composer.json
2f68846
%dir %{_datadir}/php/Doctrine
c936c74
     %{_datadir}/php/Doctrine/Instantiator%{major}
2f68846
2f68846
2f68846
%changelog
d956f76
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-5
d956f76
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
d956f76
00bf1c4
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-4
00bf1c4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
00bf1c4
d9f14fd
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-3
d9f14fd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
d9f14fd
c23e2bc
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.0-2
c23e2bc
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
c23e2bc
3e01ae8
* Tue Jan  3 2023 Remi Collet <remi@remirepo.net> - 1.5.0-1
3e01ae8
- update to 1.5.0
3e01ae8
23c3136
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.1-2
23c3136
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
23c3136
cf83f09
* Thu Mar  3 2022 Remi Collet <remi@remirepo.net> - 1.4.1-1
cf83f09
- update to 1.4.1
cf83f09
cfc2e3f
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-4
cfc2e3f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
cfc2e3f
287814a
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-3
287814a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
287814a
51b0d44
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.4.0-2
51b0d44
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
51b0d44
fd23463
* Thu Nov 12 2020 Remi Collet <remi@remirepo.net> - 1.4.0-1
fd23463
- update to 1.4.0 (no change)
fd23463
- switch to phpunit9
fd23463
35bc398
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-2
35bc398
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
35bc398
c229067
* Tue Jun  2 2020 Remi Collet <remi@remirepo.net> - 1.3.1-1
c229067
- update to 1.3.1 (no change)
c229067
- switch to phpunit8
c229067
7f1fd00
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0-2
7f1fd00
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
7f1fd00
beca566
* Wed Nov 13 2019 Remi Collet <remi@remirepo.net> - 1.3.0-1
beca566
- update to 1.3.0
beca566
d83901b
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.0-2
d83901b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
d83901b
c936c74
* Mon Mar 25 2019 Remi Collet <remi@remirepo.net> - 1.2.0-1
c936c74
- update to 1.2.0
c936c74
d1e7a1f
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-4
d1e7a1f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
d1e7a1f
ff925ed
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-3
ff925ed
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
ff925ed
9cdee2d
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2
9cdee2d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
9cdee2d
073c97b
* Fri Aug  4 2017 Remi Collet <remi@remirepo.net> - 1.1.0-1
073c97b
- Update to 1.1.0
073c97b
- raise dependency on PHP 7.1
073c97b
- switch to phpunit6
073c97b
- use git snapshot for sources
073c97b
a6b9ad5
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-5
a6b9ad5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
a6b9ad5
1b92e79
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-4
1b92e79
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
1b92e79
b835e22
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-3
b835e22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
b835e22
6bcdd77
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.5-2
6bcdd77
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
6bcdd77
c0893ee
* Mon Jun 15 2015 Remi Collet <remi@fedoraproject.org> - 1.0.5-1
c0893ee
- update to 1.0.5
c0893ee
- improve test suite during the build
c0893ee
16f9dfb
* Fri Feb 13 2015 Remi Collet <remi@fedoraproject.org> - 1.0.4-1
16f9dfb
- update to 1.0.4 (no change)
16f9dfb
- add autoloader
16f9dfb
4f6900b
* Sun Oct  5 2014 Remi Collet <remi@fedoraproject.org> - 1.0.3-1
4f6900b
- update to 1.0.3
4f6900b
2f68846
* Mon Aug 25 2014 Remi Collet <remi@fedoraproject.org> - 1.0.2-1
2f68846
- initial package, version 1.0.2