%{?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 <jsmith@fedoraproject.org> - 0.8.1-1
- Initial packaging