summaryrefslogtreecommitdiffstats
path: root/php-tedivm-jshrink.spec
blob: 4399d3342e49facbb745c8802c29babbc44a2d82 (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
117
118
119
120
121
122
123
# remirepo/fedora spec file for php-tedivm-jshrink
#
# Copyright (c) 2015-2020 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
%bcond_without tests

%global gh_commit    566e0c731ba4e372be2de429ef7d54f4faf4477a
%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 psr0         JShrink

Name:           php-%{c_vendor}-%{c_project}
Version:        1.3.3
Release:        1%{?gh_date?%{gh_date}git%{gh_short}}%{?dist}
Summary:        Javascript Minifier built in PHP

License:        BSD
URL:            https://github.com/%{gh_owner}/%{gh_project}
Source0:        %{name}-%{version}-%{?gh_short}.tgz
Source1:        makesrc.sh

BuildArch:      noarch
%if %{with tests}
BuildRequires:  php(language) >= 5.6.0
BuildRequires:  php-date
BuildRequires:  php-pcre
BuildRequires:  php-spl
# For tests, from composer.json "require-dev": {
#      "phpunit/phpunit": "^6",
#      "friendsofphp/php-cs-fixer": "^2.8",
#      "php-coveralls/php-coveralls": "^1.1.0"
BuildRequires:  phpunit6
%endif
# For autoloader
BuildRequires:  php-fedora-autoloader-devel

# From composer.json, "require": {
#    "php": "^5.6|^7.0"
Requires:       php(language) >= 5.6.0
# From phpcompatinfo report for 1.1.0
Requires:       php-date
Requires:       php-pcre
Requires:       php-spl
# Autoloader
Requires:       php-composer(fedora/autoloader)

# 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}


%build
phpab --template fedora --output src/%{psr0}/autoload.php src/%{psr0}


%install
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

: Run upstream test suite
ret=0
for cmd in php php72 php73 php74 php80; do
  if which $cmd; then
   $cmd %{_bindir}/phpunit6 \
     --no-coverage \
     --verbose || ret=1
  fi
done
exit $ret
%else
: Test suite disabled
%endif


%files
# remirepo:1
%{!?_licensedir:%global license %%doc}
%license LICENSE
%doc composer.json
%doc *.md
%{_datadir}/php/%{psr0}


%changelog
* Mon Sep  7 2020 Remi Collet <remi@remirepo.net> - 1.3.3-1
- update to 1.3.3
- raise dependency on PHP 5.6
- switch to classmap autoloader
- switch to phpunit6

* Tue Oct 27 2015 Remi Collet <remi@fedoraproject.org> - 1.1.0-1
- initial package