%global modname URIjs %if ! ( 0%{?fedora} || 0%{?rhel} >= 7 ) %{?nodejs_find_provides_and_requires} %global nodejs_arches %{ix86} x86_64 %{arm} %endif Name: nodejs-%{modname} Version: 1.14.1 Release: 1%{?dist} Summary: Nodejs library for working with URLs License: MIT URL: https://medialize.github.io/URI.js/ Source0: http://registry.npmjs.org/%{modname}/-/%{modname}-%{version}.tgz # https://github.com/medialize/URI.js/issues/174 Source1: https://raw.githubusercontent.com/medialize/URI.js/5e238954980476ba4921998199bccdfb50b833a8/LICENSE.txt BuildArch: noarch ExclusiveArch: %{nodejs_arches} noarch BuildRequires: nodejs-packaging BuildRequires: web-assets-devel BuildRequires: closure-compiler Requires: js-%{modname} = %{version}-%{release} # punycode is bundled BuildRequires: js-punycode %description URI.js is a Javascript library for working with URLs. %package -n js-%{modname} Summary: JavaScript library for working with URLs Requires: web-assets-filesystem %js_includes js-punycode %description -n js-%{modname} URI.js is a Javascript library for working with URLs. %prep %setup -q -n package cp -p %{SOURCE1} . # remove bundled punycode rm src/punycode.js %build # Upstream's preferred build mechanism is an in-browser custom bundle builder # thing... as a fallback, we are instructed to build it by hand using Closure # Compiler: https://github.com/medialize/URI.js#minify closure-compiler --compilation_level=SIMPLE_OPTIMIZATIONS \ src/IPv6.js \ /usr/share/javascript/punycode/punycode.js \ src/SecondLevelDomains.js \ src/URI.js \ src/URITemplate.js \ >URI.min.js closure-compiler --compilation_level=SIMPLE_OPTIMIZATIONS \ src/IPv6.js \ /usr/share/javascript/punycode/punycode.js \ src/SecondLevelDomains.js \ src/URI.js \ src/URITemplate.js \ src/jquery.URI.js \ >jquery.URI.min.js %check # tests require a browser %install mkdir -p %{buildroot}%{_jsdir}/%{modname} ln -s %{_jsdir}/punycode/punycode.js %{buildroot}%{_jsdir}/%{modname}/ cp -p \ src/IPv6.js \ src/SecondLevelDomains.js \ src/URI.js \ src/URITemplate.js \ src/URI.fragmentQuery.js \ src/URI.fragmentURI.js \ src/URI.min.js \ src/jquery.URI.js \ src/jquery.URI.min.js \ %{buildroot}%{_jsdir}/%{modname}/ mkdir -p %{buildroot}%{nodejs_sitelib}/%{modname}/src cp -p package.json %{buildroot}%{nodejs_sitelib}/%{modname}/ ln -s %{_jsdir}/punycode/punycode.js %{buildroot}%{nodejs_sitelib}/%{modname}/src/ ln -s \ %{_jsdir}/%{modname}/IPv6.js \ %{_jsdir}/%{modname}/SecondLevelDomains.js \ %{_jsdir}/%{modname}/URI.js \ %{_jsdir}/%{modname}/URITemplate.js \ %{_jsdir}/%{modname}/URI.fragmentURI.js \ %{_jsdir}/%{modname}/URI.fragmentQuery.js \ %{buildroot}%{nodejs_sitelib}/%{modname}/src/ %nodejs_symlink_deps %files %{nodejs_sitelib}/%{modname} %files -n js-%{modname} %doc README.md LICENSE.txt %{_jsdir}/%{modname} %changelog * Sun Oct 12 2014 Dan Callaghan - 1.14.1-1 - initial version