%{?nodejs_find_provides_and_requires} %global packagename optionator # Set to 0 to bootstrap optionator as a dependency for LiveScript itself %global bootstrap 1 # Tests also require LiveScript, and will need to be disabled during bootstrap %global enable_tests 0 Name: nodejs-optionator Version: 0.8.1 Release: 1%{?dist} Summary: Option parsing and help generation License: MIT URL: https://github.com/gkz/optionator.git Source0: https://registry.npmjs.org/%{packagename}/-/%{packagename}-%{version}.tgz # The test files are not included in the npm tarball. # Source1,2 is generated by running Source10, which pulls from the upstream # version control repository. Source1: tests-%{version}.tar.bz2 Source2: src-%{version}.tar.bz2 Source10: dl-tests.sh # The package.json.ls file isn't in the tarball either Source11: https://raw.githubusercontent.com/gkz/optionator/%{version}/package.json.ls BuildArch: noarch %if 0%{?fedora} >= 19 ExclusiveArch: %{nodejs_arches} noarch %else ExclusiveArch: %{ix86} x86_64 %{arm} noarch %endif BuildRequires: nodejs-packaging BuildRequires: npm(deep-is) BuildRequires: npm(fast-levenshtein) BuildRequires: npm(levn) BuildRequires: npm(prelude-ls) BuildRequires: npm(type-check) BuildRequires: npm(wordwrap) %if 0%{?enable_tests} BuildRequires: mocha %endif %if !0%{?bootstrap} BuildRequires: npm(LiveScript) %endif %description Option parsing and help generation %prep %setup -q -n package # setup the tests %setup -q -T -D -a 1 -n package # setup the source files %setup -q -T -D -a 2 -n package # copy package.json.ls cp -p %{SOURCE11} . %build %if !0%{?bootstrap} %{_bindir}/echo -e "\e[102m -=#=- Building from source -=#=- \e[0m" # Build from source # # Clear the lib/ directory rm -rf ./lib/ mkdir ./lib/ # Next, build package.json from package.json.ls %{_bindir}/lsc --compile package.json.ls # Next, compile the the lib/ directory from the src/ directory %{_bindir}/lsc --output lib --bare --compile src/*.ls # Last but not least, clean up behind ourselves and erase the node_modules/ directory rm -rf ./node_modules/ %endif %install mkdir -p %{buildroot}%{nodejs_sitelib}/%{packagename} cp -pr package.json lib/ \ %{buildroot}%{nodejs_sitelib}/%{packagename} %nodejs_symlink_deps %check %nodejs_symlink_deps --check %{__nodejs} -e 'require("./")' %if 0%{?enable_tests} %{_bindir}/mocha -R dot --ui tdd --compilers ls:LiveScript %else %{_bindir}/echo -e "\e[101m -=#=- Tests disabled -=#=- \e[0m" %endif %files %{!?_licensedir:%global license %doc} %doc *.md %license LICENSE %{nodejs_sitelib}/%{packagename} %changelog * Tue Feb 16 2016 Jared Smith - 0.8.1-1 - Initial packaging