%{?nodejs_find_provides_and_requires} #enable/disable tests in case the deps aren't there %global enable_tests 1 %if 0%{?fedora} %global installdir %{_jsdir} %else %global installdir %{_datadir}/javascript %endif Name: uglify-js Version: 2.8.22 Release: 6%{?dist} Summary: JavaScript parser, mangler/compressor and beautifier toolkit License: BSD URL: https://github.com/mishoo/UglifyJS2 Source0: https://github.com/mishoo/UglifyJS2/archive/v%{version}/uglify-js-%{version}.tar.gz Patch0: uglify-js-esfuzz.patch BuildArch: noarch %if 0%{?fedora} >= 19 ExclusiveArch: %{nodejs_arches} noarch %else ExclusiveArch: %{ix86} x86_64 %{arm} noarch %endif Provides: nodejs-uglify-js = %{version}-%{release} BuildRequires: nodejs-packaging %if 0%{?fedora} BuildRequires: web-assets-devel %endif %if 0%{?enable_tests} BuildRequires: npm(acorn) BuildRequires: npm(async) BuildRequires: npm(mocha) BuildRequires: npm(optimist) BuildRequires: npm(source-map) %endif Requires: js-uglify = %{version}-%{release} %description JavaScript parser, mangler/compressor and beautifier toolkit. This package ships the uglifyjs command-line tool and a library suitable for use within Node.js. %package -n js-uglify Summary: JavaScript parser, mangler/compressor and beautifier toolkit - core library Obsoletes: uglify-js-common < 2.2.5-4 Provides: uglify-js-common = %{version}-%{release} %if 0%{?fedora} Requires: web-assets-filesystem %endif %description -n js-uglify JavaScript parser, mangler/compressor and beautifier toolkit. This package ships a JavaScript library suitable for use by any JavaScript runtime. %prep %autosetup -p 1 -n UglifyJS2-%{version} %nodejs_fixdep async "^1.5.0" %nodejs_fixdep yargs "^3.2.1" %build #nothing to do %install rm -rf %buildroot mkdir -p %{buildroot}%{installdir}/%{name}-2 cp -pr lib/* %{buildroot}%{installdir}/%{name}-2 ln -sf %{name}-2 %{buildroot}%{installdir}/%{name} #compat symlink mkdir -p %{buildroot}%{_datadir} ln -sf javascript/%{name} %{buildroot}%{_datadir}/%{name} mkdir -p %{buildroot}%{nodejs_sitelib}/uglify-js@2 cp -pr bin tools package.json %{buildroot}%{nodejs_sitelib}/uglify-js@2 ln -sf %{installdir}/%{name} %{buildroot}%{nodejs_sitelib}/uglify-js@2/lib # Fix for rpmlint. sed -i -e 's|^#! */usr/bin/env node|#!/usr/bin/node|' \ %{buildroot}%{nodejs_sitelib}/uglify-js@2/bin/* mkdir -p %{buildroot}%{_bindir} ln -sf ../lib/node_modules/uglify-js@2/bin/uglifyjs %{buildroot}%{_bindir}/uglifyjs %nodejs_symlink_deps ln -sf uglify-js@2 %{buildroot}%{nodejs_sitelib}/uglify-js %check %nodejs_symlink_deps --check %{__nodejs} -e 'require("./")' %if 0%{?enable_tests} # Prevent timeout error on an ARM builder which is slower than the x86 builder. sed -i '/timeout/ s/5000/10000/' test/mocha/cli.js sed -i '/timeout/ s/10000/20000/' test/mocha/let.js sed -i '/timeout/ s/20000/40000/' test/mocha/spidermonkey.js %__nodejs test/run-tests.js %endif %pretrans -p st = posix.stat("%{nodejs_sitelib}/uglify-js") if st and st.type == "directory" then os.execute("rm -rf %{nodejs_sitelib}/uglify-js") end %pretrans -n js-uglify -p st = posix.stat("%{_datadir}/%{name}") if st and st.type == "directory" then os.execute("rm -rf %{_datadir}/%{name}") end %files %{nodejs_sitelib}/uglify-js %{nodejs_sitelib}/uglify-js@2 %{_bindir}/uglifyjs %files -n js-uglify %{installdir}/%{name}-2 %{installdir}/%{name} %{_datadir}/%{name} %doc README.md %license LICENSE %changelog * Sun Feb 03 2019 Fedora Release Engineering - 2.8.22-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Sat Jul 14 2018 Fedora Release Engineering - 2.8.22-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Fri Feb 09 2018 Fedora Release Engineering - 2.8.22-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Tue Aug 15 2017 Jun Aruga - 2.8.22-3 - Remove duplicate BuildArch entry: BuildArch: noarch * Thu Jul 27 2017 Fedora Release Engineering - 2.8.22-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Tue Jul 04 2017 Jun Aruga - 2.8.22-1 - Update to upstream 2.8.22 release * Wed Mar 29 2017 Jun Aruga - 2.8.17-1 - Update to upstream 2.8.17 release * Sat Feb 11 2017 Fedora Release Engineering - 2.7.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Mon Aug 01 2016 Jun Aruga - 2.7.0-2 - Update to prevent timeout error on an ARM builder. (rhbz#1361179) * Thu Jul 28 2016 Jared Smith - 2.7.0-1 - Update to upstream 2.7.0 release * Sat Jul 09 2016 Jared Smith - 2.6.4-1 - Update to upstream 2.6.4 release * Wed Feb 10 2016 Tom Hughes - 2.6.1-1 - Update to 2.6.1 upstream release * Fri Feb 05 2016 Fedora Release Engineering - 2.4.13-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Sat Nov 21 2015 Tom Hughes - 2.4.13-8 - update async dependency * Fri Jun 19 2015 Fedora Release Engineering - 2.4.13-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sun Jun 08 2014 Fedora Release Engineering - 2.4.13-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Thu May 08 2014 Jamie Nguyen - 2.4.13-5 - add logic for building on EL6 * Tue Apr 29 2014 Jamie Nguyen - 2.4.13-4 - pretrans script should actually be split in two, so one half should run in uglify-js and the other half should run in js-uglify (#1092184) * Tue Apr 01 2014 Jamie Nguyen - 2.4.13-3 - pretrans script should run in js-uglify subpackage (#1082946) * Sat Mar 15 2014 Jamie Nguyen - 2.4.13-2 - add logic for building on EPEL 6 as web-assets-{devel,filesystem} are not yet available * Thu Mar 13 2014 Jamie Nguyen - 2.4.13-1 - update to upstream release 2.4.13 * Mon Jan 20 2014 T.C. Hollingsworth - 2.2.5-4 - port to new JS guidelines - provide the nodejs- form * Sun Jan 19 2014 Tom Hughes - 2.2.5-3 - use new multi-version packaging rules - update to latest nodejs packaging standards * Sun Aug 04 2013 Fedora Release Engineering - 2.2.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Tue Apr 16 2013 T.C. Hollingsworth - 2.2.5-1 - new upstream release 2.2.5 * Tue Apr 16 2013 T.C. Hollingsworth - 2.2.4-3 - call nodejs_symlink_deps - fix optimist dep for 0.4.0 * Wed Feb 13 2013 T.C. Hollingsworth - 2.2.4-2 - install tools dir - enable tests * Wed Feb 13 2013 T.C. Hollingsworth - 2.2.4-1 - new upstream release 2.2.4 * Fri Feb 01 2013 T.C. Hollingsworth - 2.2.3-6 - rearrange symlinks so dep generator works * Fri Feb 01 2013 T.C. Hollingsworth - 2.2.3-5 - really fix install section - conditionalize tests * Thu Jan 31 2013 T.C. Hollingsworth - 2.2.3-4 - fix install section * Thu Jan 31 2013 T.C. Hollingsworth - 2.2.3-3 - split off -common subpackage for use with other runtimes * Fri Jan 18 2013 T.C. Hollingsworth - 2.2.3-2 - BuildRequire deps so tests work * Tue Jan 08 2013 T.C. Hollingsworth - 2.2.3-1 - initial package generated by npm2rpm