Blob Blame History Raw
%{?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:	10%{?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
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-10
- Second attempt - Rebuilt for
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Tue Feb 16 2016 Jared Smith <jsmith@fedoraproject.org> - 1.1.2-1
- Initial packaging