File pnpm.spec of Package pnpm

%define base_name pnpm

# to avoid empty debugfiles error on some distros
%global debug_package %{nil}

# The internal dependency generator adds lots of unnecessary Requires:
# and strange Provides: own(foo) because it slurps in all package.json
%global __nodejs_provides %nil
%global __nodejs_requires %nil

Name:           %{base_name}
Version:        8.4.0
Release:        0
License:        MIT
Summary:        Fast, disk space efficient package manager
URL:            https://github.com/pnpm/pnpm
Group:          Development/Languages/Other
Source:         http://registry.npmjs.org/%{base_name}/-/%{base_name}-%{version}.tgz
BuildRequires:  findutils
BuildRequires:	fdupes
BuildRequires:  nodejs-packaging
BuildRequires:  nodejs
BuildRequires:  -post-build-checks
Requires:       nodejs-npm
# gyp depends on Python and shell, also exists in @zkochan/npm-lifecycle/node-gyp-bin
Requires:       python
Requires:       bash
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root
BuildArch:      noarch
Provides:       npm(%{base_name}) = %{version}

%description

pnpm is a NodeJS module.

Fast, disk space efficient package manager

%prep
%nodejs_prep

%build
# nothing to do

%install
%nodejs_mkdir
%nodejs_copy
%nodejs_build

%nodejs_install

# Patch hashbang in pnpm
sed -i -e 's|#!%{_bindir}/env node|#!%{_bindir}/node|' %{buildroot}%{nodejs_sitelib}/pnpm/bin/*

# Bad files
rm %{buildroot}%{nodejs_sitelib}/pnpm/dist/node_modules/console-control-strings/README.md~

# Hidden files
find %{buildroot}%{nodejs_sitelib}/pnpm/dist/node_modules -type f -name '.*' -exec rm \{\} \;

# Hidden directories
rm -rf %{buildroot}%{nodejs_sitelib}/pnpm/dist/node_modules/.pnpm
rm -rf %{buildroot}%{nodejs_sitelib}/pnpm/dist/node_modules/balanced-match/.github
rm -rf %{buildroot}%{nodejs_sitelib}/pnpm/dist/node_modules/cacache/node_modules/brace-expansion/.github
rm -rf %{buildroot}%{nodejs_sitelib}/pnpm/dist/node_modules/iconv-lite/.github
rm -rf %{buildroot}%{nodejs_sitelib}/pnpm/dist/node_modules/iconv-lite/.idea
rm -rf %{buildroot}%{nodejs_sitelib}/pnpm/dist/node_modules/node-gyp/.github
rm -rf %{buildroot}%{nodejs_sitelib}/pnpm/dist/node_modules/node-gyp/gyp/.github

# Non-executable scripts
find %{buildroot}%{nodejs_sitelib}/pnpm/dist/node_modules -type f -path '*/bin/*' -exec chmod 755 \{\} \;

%nodejs_filelist

# fix files.lst so /usr/bin is not owned
sed -i.bak '\#dir\s/usr/bin#d' %{_sourcedir}/files.lst

%fdupes %{buildroot}

%clean
rm -rf $RPM_BUILD_ROOT

%files -f %{_sourcedir}/files.lst
%defattr(-,root,root,-)
%dir %{nodejs_sitelib}

%changelog
openSUSE Build Service is sponsored by
OSZAR »