Blob Blame History Raw
%{?nodejs_find_provides_and_requires}

%global commit 7fc13e1bd155acac6aee4313d38c92cce93b77fe

%global enable_tests 1

Name:       mocha
Version:    1.18.0
Release:    1%{?dist}
Summary:    A simple, flexible, fun test framework for Node.js
License:    MIT
Group:      System Environment/Libraries
URL:        https://github.com/visionmedia/mocha
# Use GitHub as the NPM tarball is missing several useful files/folders.
Source0:    https://github.com/visionmedia/mocha/archive/%{commit}/%{name}-%{version}.tar.gz

BuildArch:  noarch
%if 0%{?fedora} >= 19
ExclusiveArch: %{nodejs_arches} noarch
%else
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
%endif

# Dep generator bug which adds a trailing dot in the node(engine) requires.
Patch0:     nodejs-mocha-1.8.1-node-dep.patch

BuildRequires:  nodejs-packaging

%if 0%{?enable_tests}
BuildRequires:  npm(commander)
BuildRequires:  npm(debug)
BuildRequires:  npm(diff)
BuildRequires:  npm(glob)
BuildRequires:  npm(growl)
BuildRequires:  npm(jade)
BuildRequires:  npm(mkdirp)
BuildRequires:  npm(should)
%endif

%description
Mocha is a feature-rich JavaScript test framework running on Node.js and the
browser, making asynchronous testing simple and fun. Mocha tests run serially,
allowing for flexible and accurate reporting, while mapping uncaught
exceptions to the correct test cases.


%prep
%setup -q -n mocha-%{commit}
%patch0 -p1
%nodejs_fixdep commander '~2.0'
%nodejs_fixdep diff '1.0.x'
%nodejs_fixdep glob '3.x'
%nodejs_fixdep jade '>=0.26.3'
%nodejs_fixdep mkdirp '~0.3'


%build
#nothing to do


%install
mkdir -p %{buildroot}%{nodejs_sitelib}/mocha
cp -pr package.json index.js lib/ mocha.css mocha.js \
    %{buildroot}%{nodejs_sitelib}/mocha

rm -f %{buildroot}%{nodejs_sitelib}/mocha/lib/template.html
rm -rf %{buildroot}%{nodejs_sitelib}/mocha/lib/reporters/templates

mkdir -p %{buildroot}%{nodejs_sitelib}/mocha/bin
install -p -D -m0755 bin/mocha %{buildroot}%{nodejs_sitelib}/mocha/bin/mocha
install -p -D -m0755 bin/_mocha %{buildroot}%{nodejs_sitelib}/mocha/bin/_mocha
mkdir -p %{buildroot}%{_bindir}
ln -sf %{nodejs_sitelib}/mocha/bin/mocha %{buildroot}%{_bindir}/mocha

# Use system diff.js instead.
ln -sf %{nodejs_sitelib}/diff/diff.js \
    %{buildroot}%{nodejs_sitelib}/mocha/lib/browser/diff.js

# Put these files in _datadir to comply with packaging guidelines.
mkdir -p %{buildroot}%{_datadir}/mocha/images
cp -pr images/*.png \
    %{buildroot}%{_datadir}/mocha/images
ln -sf %{_datadir}/mocha/images \
    %{buildroot}%{nodejs_sitelib}/mocha/images
cp -pr lib/template.html \
    %{buildroot}%{_datadir}/mocha
ln -sf %{_datadir}/mocha/template.html \
    %{buildroot}%{nodejs_sitelib}/mocha/lib/template.html
cp -pr lib/reporters/templates \
    %{buildroot}%{_datadir}/mocha
ln -sf %{_datadir}/mocha/templates \
    %{buildroot}%{nodejs_sitelib}/mocha/lib/reporters/templates

%nodejs_symlink_deps


%if 0%{?enable_tests}
%check
%nodejs_symlink_deps --check
./bin/mocha --reporter dot test/acceptance/*.js --growl test/*.js
%endif


%files
%doc History.md LICENSE Readme.md
%{nodejs_sitelib}/mocha
%{_bindir}/mocha
%{_datadir}/mocha


%changelog
* Sat Mar 15 2014 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.18.0-1
- update to upstream release 1.18.0

* Sun Mar 02 2014 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.17.1-1
- update to upstream release 1.17.1

* Sun Aug 18 2013 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.12.0-1
- update to upstream release 1.12.0
- add ExclusiveArch logic
- enable tests

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.11.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Thu Jun 27 2013 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.11.0-1
- update to upstream release 1.11.0
- restrict to compatible arches

* Sat Jun 22 2013 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.10.0-2
- rebuild for missing npm(mocha) Provides

* Sat May 25 2013 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.10.0-1
- update to upstream release 1.10.0

* Tue Apr 16 2013 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.9.0-1
- update to upstream release 1.9.0

* Tue Mar 19 2013 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.8.2-3
- fix incorrect %%changelog entries

* Tue Mar 19 2013 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.8.2-2
- fix symlinks

* Tue Mar 19 2013 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.8.2-1
- update to upstream release 1.8.2
- move images and templates to %%{_datadir} to comply with packaging
  guidelines

* Sat Mar 02 2013 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.8.1-3
- add a custom man page
- include /usr/lib/node_modules/mocha/images/
- remove bundled diff.js and use system diff.js instead
- remove /usr/bin/_mocha symlink

* Thu Feb 14 2013 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.8.1-2
- rename from nodejs-mocha to just mocha

* Thu Feb 14 2013 Jamie Nguyen <jamielinux@fedoraproject.org> - 1.8.1-1
- initial package