%{?nodejs_find_provides_and_requires} %global packagename prelude-ls # 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-prelude-ls Version: 1.1.2 Release: 1%{?dist} Summary: The prelude.ls library is a functionally oriented utility License: MIT URL: https://github.com/gkz/prelude-ls.git Source0: https://registry.npmjs.org/%{packagename}/-/%{packagename}-%{version}.tgz # The test files are not included in the npm tarball. # Source1 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/%{packagename}/%{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 %if 0%{?enable_tests} BuildRequires: mocha BuildRequires: npm(sinon) %endif %if !0%{?bootstrap} BuildRequires: npm(LiveScript) %endif %description prelude.ls is a functionally oriented utility library. It is powerful and flexible. Almost all of its functions are curried. It is written in, and is the recommended base library for, LiveScript. %prep %setup -q -n package # setup the tests and src %setup -q -T -D -a 1 -n package %setup -q -T -D -a 2 -n package # 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} #NODE_ENV=test %{_bindir}/mocha -R spec --ui tdd --compilers ls:LiveScript %{_bindir}/lsc -o test/ test/*.ls %{_bindir}/mocha -R spec --ui tdd %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 - 1.1.2-1 - Initial packaging