blob: 77540e20dc50fb016de93980b566d26576d36c6d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
# remirepo/fedora spec file for php-tedivm-jshrink
#
# Copyright (c) 2015-2017 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
%global gh_commit 688527a2e854d7935f24f24c7d5eb1b604742bf9
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner tedious
#global gh_date 20150820
%global gh_project JShrink
%global c_vendor tedivm
%global c_project jshrink
%global with_tests 0%{!?_without_tests:1}
%global psr0 JShrink
Name: php-%{c_vendor}-%{c_project}
Version: 1.1.0
Release: 1%{?gh_date?%{gh_date}git%{gh_short}}%{?dist}
Summary: Javascript Minifier built in 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}/%{gh_project}-%{version}-%{?gh_short}.tar.gz
Source1: %{name}-autoload.php
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
%if %{with_tests}
BuildRequires: php(language) >= 5.3.0
BuildRequires: php-date
BuildRequires: php-pcre
BuildRequires: php-spl
# For tests, from composer.json "require-dev": {
# "phpunit/phpunit": "4.0.*",
# "fabpot/php-cs-fixer": "0.4.0",
# "satooshi/php-coveralls": "dev-master"
BuildRequires: php-composer(phpunit/phpunit) >= 4
%endif
# For autoloader
BuildRequires: php-composer(symfony/class-loader)
# From composer.json, "require": {
# "php": ">=5.3.0"
Requires: php(language) >= 5.3.0
# From phpcompatinfo report for 1.1.0
Requires: php-date
Requires: php-pcre
Requires: php-spl
# Autoloader
Requires: php-composer(symfony/class-loader)
# Composer
Provides: php-composer(%{c_vendor}/%{c_project}) = %{version}
%description
JShrink is a php class that minifies javascript so that it can be delivered
to the client quicker. This code can be used by any product looking to minify
their javascript on the fly (although caching the results is suggested for
performance reasons). Unlike many other products this is not a port into php
but a native application, resulting in better performance.
To use this library, you just have to add, in your project:
require_once '%{_datadir}/php/%{psr0}/autoload.php';
%prep
%setup -q -n %{gh_project}-%{gh_commit}
cp %{SOURCE1} src/%{psr0}/autoload.php
%build
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_datadir}/php
cp -pr src/* %{buildroot}%{_datadir}/php
%check
%if %{with_tests}
mkdir vendor
cat << 'EOF' | tee tests/bootstrap.php
<?php
require '%{buildroot}%{_datadir}/php/%{psr0}/autoload.php';
EOF
%{_bindir}/phpunit --verbose
%else
: Test suite disabled
%endif
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc composer.json
%doc *.md
%{_datadir}/php/%{psr0}
%changelog
* Tue Oct 27 2015 Remi Collet <remi@fedoraproject.org> - 1.1.0-1
- initial package
|