File php-bartlett-umlwriter.spec of Package php-bartlett-umlwriter
# remirepo/fedora spec file for php-bartlett-umlwriter
#
# Copyright (c) 2015 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
%global bootstrap 0
%global gh_commit 8b952840a317988b10b4f0c51a3dcec80e8f35dc
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner llaville
%global gh_project umlwriter
%if %{bootstrap}
%global with_tests %{?_with_tests:1}%{!?_with_tests:0}
%else
%global with_tests %{?_without_tests:0}%{!?_without_tests:1}
%endif
Name: php-bartlett-umlwriter
Version: 1.1.0
Release: 1%{?dist}
Summary: Create UML class diagrams from your PHP source
Group: Development/Libraries
License: BSD
URL: http://php5.laurent-laville.org/umlwriter/
Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{gh_project}-%{version}%{?prever}-%{gh_short}.tar.gz
# Autoloader for RPM - die composer !
Source1: %{name}-autoload.php
# Use out autoloader
Patch0: %{name}-rpm.patch
BuildArch: noarch
BuildRequires: php(language) >= 5.4.0
%if %{with_tests}
BuildRequires: %{_bindir}/phpunit
BuildRequires: php-composer(symfony/console) >= 2.5
BuildRequires: php-composer(sebastian/version) >= 1.0
BuildRequires: php-composer(bartlett/php-reflect) >= 3.0
BuildRequires: php-composer(andrewsville/php-token-reflection) >= 1.4
# For our patch / autoloader
BuildRequires: php-composer(symfony/class-loader)
BuildRequires: php-bartlett-PHP-Reflect >= 3.1.1-3
%endif
# From composer.json
# "require": {
# "php": ">=5.4.0"
# "symfony/console": "~2.5",
# "sebastian/version": "~1.0"
Requires: php(language) >= 5.4.0
Requires: php-cli
Requires: php-spl
Requires: php-composer(symfony/console) >= 2.5
Requires: php-composer(symfony/console) < 3
Requires: php-composer(sebastian/version) >= 1.0
Requires: php-composer(sebastian/version) < 2
# "require-dev": {
# "bartlett/php-reflect": "~4.0",
# "andrewsville/php-token-reflection": "~1.4"
# "suggest": {
# "bartlett/php-reflect": "Reverse-engine, default solution",
# "andrewsville/php-token-reflection": "Reverse-engine, alternative solution"
%if ! %{bootstrap}
# No code change in 1.0.1/1.1.0, so ignore min version
Requires: php-composer(bartlett/php-reflect) >= 3.0
Requires: php-composer(bartlett/php-reflect) < 5
%endif
Requires: php-composer(andrewsville/php-token-reflection) >= 1.4
Requires: php-composer(andrewsville/php-token-reflection) < 2
# For our patch / autoloader
Requires: php-composer(symfony/class-loader)
Requires: php-bartlett-PHP-Reflect >= 3.1.1-3
Provides: php-composer(bartlett/umlwriter) = %{version}
%description
This tool wil generate UML class diagrams with all class,
interface and trait definitions in your PHP project.
* reverse-engine interchangeable (currently support Bartlett\Reflect
and Andrewsville\TokenReflection)
* UML syntax processor interchangeable (currently support Graphviz
and PlantUML)
* generates a class and its direct dependencies
* generates a namespace with all objects
* generates a full package with all namespaces and objects
%prep
%setup -q -n %{gh_project}-%{gh_commit}
%patch0 -p1 -b .rpm
cp %{SOURCE1} src/Bartlett/UmlWriter/autoload.php
sed -e 's/@package_version@/%{version}%{?prever}/' \
-i $(find src -name \*.php) bin/umlwriter
%build
# Nothing
%install
mkdir -p %{buildroot}%{_datadir}/php
cp -pr src/Bartlett %{buildroot}%{_datadir}/php/Bartlett
install -D -p -m 755 bin/umlwriter %{buildroot}%{_bindir}/umlwriter
%check
%if %{with_tests}
%{_bindir}/phpunit \
--bootstrap %{buildroot}%{_datadir}/php/Bartlett/UmlWriter/autoload.php \
--verbose
%else
: Test suite disabled
%endif
%files
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc composer.json README.* examples
%{_bindir}/umlwriter
%dir %{_datadir}/php/Bartlett
%{_datadir}/php/Bartlett/UmlWriter
%changelog
* Thu Dec 10 2015 Remi Collet <remi@fedoraproject.org> - 1.1.0-1
- update to 1.1.0
- raise dependency on php >= 5.4.0
- allow php-reflect 4
* Tue Sep 29 2015 Remi Collet <remi@fedoraproject.org> - 1.0.1-1
- update to 1.0.1
* Sun Jun 28 2015 Remi Collet <remi@fedoraproject.org> - 1.0.0-6
- fix autoloader
* Fri May 22 2015 Remi Collet <remi@fedoraproject.org> - 1.0.0-2
- standard build (no bootstrap)
* Fri Apr 3 2015 Remi Collet <remi@fedoraproject.org> - 1.0.0-1
- update to 1.0.0
* Tue Mar 31 2015 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.3.20150331gitdd58a0b
- git snapshot, post 1.0.0RC2
- cleanup EL-5 stuff
* Tue Mar 31 2015 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.2.RC2
- update to 1.0.0RC2
- add umlwrite command
- add dependencies on symfony/console, symfony/class-loader,
bartlett/php-reflect, sebastian/version
and andrewsville/php-token-reflection
- run test suite during build, but ignore results for now
- open https://github.com/llaville/umlwriter/issues/1 test suite issue
- open https://github.com/llaville/umlwriter/issues/2 runtime issue
* Tue Mar 24 2015 Remi Collet <remi@fedoraproject.org> - 1.0.0-0.1.RC1
- Initial RPM package, version 1.0.0RC1