The big bang!

This commit is contained in:
Andreas Schneider 2021-08-07 09:12:31 +02:00
commit 5be31fb456
3 changed files with 86 additions and 0 deletions

2
.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
/bash-language-server-1.17.0-vendor.tar.xz
/bash-language-server-1.17.0.tar.gz

View file

@ -0,0 +1,82 @@
%{?nodejs_default_filter}
%define pkg_name bash-language-server
Name: nodejs-bash-language-server
Version: 1.17.0
Release: 1%{?dist}
Summary: A language server for Bash
License: MIT
Url: https://github.com/bash-lsp/bash-language-server
Source0: %{url}/archive/server-%{version}/%{pkg_name}-%{version}.tar.gz
# Create with `bash prepare_vendor.sh`
Source1: %{pkg_name}-%{version}-vendor.tar.xz
BuildRequires: fdupes
BuildRequires: nodejs-typescript
BuildRequires: nodejs-packaging
BuildRequires: npm
BuildRequires: perl-interpreter
BuildRequires: rsync
BuildRequires: yarnpkg
BuildArch: noarch
ExclusiveArch: %{nodejs_arches} noarch
%description
Bash language server implementation based on Tree Sitter and its grammar for
Bash with explainshell integration.
%prep
%autosetup -n %{pkg_name}-server-%{version} -a1 -p1
%build
export YARN_CACHE_FOLDER="$(pwd)/.package-cache"
yarn install --offline
npm run compile
# Only install production dependencies in node_modules
yarn install --production --offline
for S in $(grep -l '#!.*node' \
server/bin/* \
server/node_modules/acorn/bin/* \
server/node_modules/ajv/scripts/* \
server/node_modules/escodegen/bin/* \
server/node_modules/esprima/bin/* \
server/node_modules/performance-now/test/scripts/* \
server/node_modules/pn/scripts/* \
server/node_modules/sshpk/bin/* \
server/node_modules/uuid/bin/* \
server/node_modules/vscode-languageserver/bin/* \
) ; do
SB="${S}.backup"
cp ${S} ${SB}
perl -p -i -e 's|#!/usr/bin/env node|#!%{_bindir}/node|g' $S
diff -urN ${SB} ${S} || :
rm ${SB}
done
%install
install -d -m 0755 %{buildroot}%{_bindir}
ln -s %{nodejs_sitelib}/%{pkg_name}/bin/main.js %{buildroot}%{_bindir}/%{pkg_name}
install -d -m 0755 %{buildroot}%{nodejs_sitelib}/%{pkg_name}/
rsync -av server/ %{buildroot}%{nodejs_sitelib}/%{pkg_name}/
rm -rf %{buildroot}%{nodejs_sitelib}/%{pkg_name}/node_modules/performance-now/test/
find %{buildroot}%{nodejs_sitelib}/%{pkg_name} -name "*.bak" -delete
find %{buildroot}%{nodejs_sitelib}/%{pkg_name} -type f -name "\.*" -delete
%fdupes %{buildroot}%{nodejs_sitelib}/%{pkg_name}
%files
%license LICENSE
%doc README.md
%{_bindir}/%{pkg_name}
%dir %{nodejs_sitelib}
%{nodejs_sitelib}/%{pkg_name}/
%changelog
* Thu Aug 05 2021 Andreas Schneider <asn@redhat.com> - 1.17.0-1
- Initial package

2
sources Normal file
View file

@ -0,0 +1,2 @@
SHA512 (bash-language-server-1.17.0-vendor.tar.xz) = 621880d3d1343bb6f147f5dfd295e46e9b1a1a2dc7f6d193ed865fed72213006bd6d8793553318ed120cbc86c4c2ffa1f2b5f6ecb760bf6c6f051220915fcf4c
SHA512 (bash-language-server-1.17.0.tar.gz) = 3d16a7de09d54ca2cdd3ae6a1bd7d88e843d37e662859d85bb365d3ed90d1ad9bca17767d8c42c80f9777a799cd38744a5d3b2cf47d6491c37118f1265ce522c