Blob Blame History Raw
Name:           nodejs-tap
Version:        0.4.1
Release:        2%{?dist}
Summary:        A Test Anything Protocol library
BuildArch:      noarch

Group:          Development/Tools
License:        MIT
URL:            https://github.com/isaacs/node-tap
Source0:        http://registry.npmjs.org/tap/-/tap-%{version}.tgz
Source1:        macros.nodejs-tap
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

# the segv test results in SIGSEGV as you would expect, not SIGBUS as is written
# in the test:  https://github.com/isaacs/node-tap/pull/75
Patch1:         nodejs-tap-segv-actually-segfaults.patch

BuildRequires:  nodejs-devel

# we need to replicate the dependencies of this package for it to be able to
# test itself
BuildRequires:  npm(inherits)
BuildRequires:  npm(yamlish)
BuildRequires:  npm(slide)
BuildRequires:  npm(runforcover)
BuildRequires:  npm(nopt)
BuildRequires:  npm(mkdirp)
BuildRequires:  npm(difflet)
BuildRequires:  npm(deep-equal)
BuildRequires:  npm(buffer-equal)
BuildRequires:  npm(glob)

%description
This is a mix-and-match set of utilities that you can use to write test
harnesses and frameworks that communicate with one another using the
Test Anything Protocol.

%prep
%setup -q -n package
%patch1 -p1

#remove bundled modules
rm -rf node_modules

%build
#nothing to do

%install
rm -rf %buildroot

mkdir -p %{buildroot}%{nodejs_sitelib}/tap
cp -pr bin lib package.json %{buildroot}%{nodejs_sitelib}/tap

mkdir -p %{buildroot}%{_bindir}
ln -sf ../lib/node_modules/tap/bin/tap.js %{buildroot}%{_bindir}/tap

#install some macros for use in RPM %%check sections
install -Dpm0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm/macros.tap

#make secondary scripts executable
chmod 0755 %{buildroot}%{nodejs_sitelib}/tap/bin/*

%nodejs_symlink_deps

%check
%nodejs_symlink_deps --check
%__nodejs %{buildroot}%{nodejs_sitelib}/tap/bin/tap.js test/*.js

%clean
rm -rf %buildroot

%files
%defattr(-,root,root,-)
%{nodejs_sitelib}/tap
%{_bindir}/tap
%{_sysconfdir}/rpm/macros.tap
%doc coverage-example example README.md AUTHORS LICENSE

%changelog
* Tue Apr 23 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 0.4.1-2
- fix rpmlint warnings

* Tue Apr 23 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 0.4.1-1
- new upstream release 0.4.1
- fix tests

* Tue Jan 15 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 0.3.3-2
- rename from tap to nodejs-tap
- remove bootstrap logic that didn't work
- instead we use ourself and BuildRequire everything we need

* Tue Jan 08 2013 T.C. Hollingsworth <tchollingsworth@gmail.com> - 0.3.3-1
- initial package generated by npm2rpm