summaryrefslogtreecommitdiffstats
path: root/php-tedivm-jshrink.spec
blob: 400570256b9c00aeab41d7ff802e2bdcdd872c44 (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
124
125
126
127
128
129
130
131
132
# remirepo/fedora spec file for php-tedivm-jshrink
#
# Copyright (c) 2015-2023 Remi Collet
# License: CC-BY-SA-4.0
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
%bcond_without tests

%global gh_commit    0393388c2c75faa621a79450a2e7f2c7f831141b
%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.6.2
Release:        1%{?gh_date?%{gh_date}git%{gh_short}}%{?dist}
Summary:        Javascript Minifier built in PHP

License:        BSD-3-Clause
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) >= 8.0
BuildRequires:  php-date
BuildRequires:  php-pcre
BuildRequires:  php-spl
# For tests, from composer.json "require-dev": {
#      "phpunit/phpunit": "^9|^10",
#      "friendsofphp/php-cs-fixer": "^3.14",
#      "php-coveralls/php-coveralls": "^2.5.0"
BuildRequires:  phpunit9
%endif
# For autoloader
BuildRequires:  php-fedora-autoloader-devel

# From composer.json, "require": {
#    "php": "^8.0"
Requires:       php(language) >= 8.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 php80 php81 php82; do
  if which $cmd; then
   $cmd %{_bindir}/phpunit9 \
     --no-coverage || 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
* Tue Mar  7 2023 Remi Collet <remi@remirepo.net> - 1.6.2-1
- update to 1.6.2

* Mon Mar  6 2023 Remi Collet <remi@remirepo.net> - 1.6.1-1
- update to 1.6.1

* Thu Apr  1 2021 Remi Collet <remi@remirepo.net> - 1.4.0-1
- update to 1.4.0
- switch to phpunit7

* 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