summaryrefslogtreecommitdiffstats
path: root/php-marcusschwarz-lesserphp.spec
diff options
context:
space:
mode:
Diffstat (limited to 'php-marcusschwarz-lesserphp.spec')
-rw-r--r--php-marcusschwarz-lesserphp.spec123
1 files changed, 123 insertions, 0 deletions
diff --git a/php-marcusschwarz-lesserphp.spec b/php-marcusschwarz-lesserphp.spec
new file mode 100644
index 0000000..1edeaae
--- /dev/null
+++ b/php-marcusschwarz-lesserphp.spec
@@ -0,0 +1,123 @@
+%global composer_vendor marcusschwarz
+%global composer_project lesserphp
+
+%{!?phpdir: %global phpdir %{_datadir}/php}
+%global pkgdir %{phpdir}/%{composer_vendor}-%{composer_project}
+
+%global with_tests 1
+
+Name: php-%{composer_vendor}-%{composer_project}
+Version: 0.5.4
+Release: 5%{?dist}
+
+Summary: A compiler for LESS written in PHP
+License: MIT or GPLv3
+URL: https://www.maswaba.de/lesserphpdocs/
+
+%global repo_owner MarcusSchwarz
+%global repo_name lesserphp
+Source0: https://github.com/%{repo_owner}/%{repo_name}/archive/v%{version}/%{repo_name}-%{version}.tar.gz
+
+# A yet-unmerged Pull Request submitted upstream by someone else.
+# Fixes uses of deprecated syntax and old PHPUnit code.
+#
+# https://github.com/MarcusSchwarz/lesserphp/pull/18
+Patch0: lesserphp--pullrequest-18.patch
+
+BuildArch: noarch
+
+%if 0%{?with_tests}
+BuildRequires: php-composer(phpunit/phpunit) >= 4.8.35
+%endif
+BuildRequires: php-fedora-autoloader-devel
+
+Requires: php-cli >= 5.3.0
+Requires: php-ctype
+Requires: php-date
+Requires: php-fileinfo
+Requires: php-pcre
+Requires: php-composer(fedora/autoloader)
+
+# Composer
+Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version}
+
+# This project is a fork of lessphp, which was previously packaged for Fedora
+Obsoletes: php-lessphp <= 0.5.0+0
+
+
+%description
+lesserphp is a compiler that generates CSS from a superset language which adds
+a collection of convenient features often seen in other languages.
+All CSS is compatible with LESS, so you can start using new features
+with your existing CSS.
+
+It is designed to be compatible with less.js (https://lesscss.org/),
+and suitable as a drop-in replacement for PHP projects.
+
+Autoloader: %{pkgdir}/autoload.php
+
+
+%prep
+%autosetup -p1 -n %{repo_name}-%{version}
+
+# Lessify is broken upstream and we don't want to install it
+rm lessify lessify.inc.php
+
+# Fix include paths
+sed -e 's|^require $path."lessc.inc.php";$|require "%{pkgdir}/lessc.inc.php";|' -i plessc
+
+# Fix homepage link in composer.json (still points to pre-fork page)
+sed -e 's|"http://leafo.net/lessphp/"|"https://www.maswaba.de/lesserphpdocs/"|' -i composer.json
+
+
+%build
+# Create autoloader
+phpab \
+ --template fedora \
+ --output autoload.php \
+ lessc.inc.php
+cat autoload.php
+
+
+%install
+# Library
+install -d -m 755 %{buildroot}%{pkgdir}
+install -m 644 -p autoload.php lessc.inc.php %{buildroot}%{pkgdir}/
+
+# Executables
+install -d -m 755 %{buildroot}%{_bindir}
+install -m 0755 -p plessc %{buildroot}%{_bindir}/plessc
+
+
+%check
+%if 0%{?with_tests}
+phpunit --verbose --bootstrap %{buildroot}%{pkgdir}/autoload.php
+%endif
+
+
+%files
+%license LICENSE
+%doc *.md
+%doc composer.json
+%{pkgdir}/
+%{_bindir}/plessc
+
+
+%changelog
+* Fri Mar 13 2020 Artur Iwicki <fedora@svgames.pl> - 0.5.4-5
+- Fix FedoraAutoloader-related Requires/BuildRequires
+
+* Thu Mar 12 2020 Artur Iwicki <fedora@svgames.pl> - 0.5.4-4
+- Include a patch to address uses of deprecated syntax in plessc
+- Do not include "lessify" in the package (broken upstream code)
+
+* Tue Mar 10 2020 Artur Iwicki <fedora@svgames.pl> - 0.5.4-3
+- Add a fake revision number to the "Obsoletes: php-lessphp" tag
+- Make executables include required files directly, instead of using the autoloader
+
+* Sat Mar 07 2020 Artur Iwicki <fedora@svgames.pl> - 0.5.4-2
+- Fix the License: tag
+- Preserve timestamps during %%install
+
+* Mon Mar 02 2020 Artur Iwicki <fedora@svgames.pl> - 0.5.4-1
+- Initial packaging