vscode/vscode.spec

124 lines
3.5 KiB
RPMSpec
Raw Permalink Normal View History

2024-10-09 16:45:45 +08:00
%define debug_package %{nil}
Name: code
Version: 1.93.1
2024-12-09 11:58:13 +08:00
Release: 3
2024-10-09 16:45:45 +08:00
License: MIT
Group: Development/Tools
Summary: Code editing. Redefined.
Url: https://github.com/microsoft/vscode
AutoReq: 0
%global __provides_exclude_from ^%{_datadir}/%{name}/.*\\.so.*$
2024-12-09 11:58:13 +08:00
Source0: vscode-%{version}.tar.gz
2024-10-10 16:19:04 +08:00
2024-10-09 16:45:45 +08:00
Patch1: vscode-name.patch
BuildRequires: python3
BuildRequires: git
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: make
BuildRequires: npm
BuildRequires: wget
2024-12-09 11:58:13 +08:00
BuildRequires: unzip
2024-10-09 16:45:45 +08:00
BuildRequires: pkg-config
BuildRequires: libX11-devel
BuildRequires: libxkbfile-devel
BuildRequires: libsecret-devel
BuildRequires: krb5-devel
BuildRequires: nss
BuildRequires: dbus-devel
BuildRequires: atk-devel
BuildRequires: at-spi2-atk-devel
BuildRequires: cups-libs
BuildRequires: pango
BuildRequires: mesa-libgbm
BuildRequires: alsa-lib
BuildRequires: nodejs-devel
BuildRequires: nodejs-yarn
%description
Visual Studio Code, also commonly referred to as VS Code, is a source-code editor
made by Microsoft with the Electron Framework, for Windows, Linux and macOS.
Features include support for debugging, syntax highlighting, intelligent code completion,
snippets, code refactoring, and embedded Git.
%prep
2024-10-10 16:19:04 +08:00
pushd %{_sourcedir}
2024-12-09 11:58:13 +08:00
cat node_modules-build-$(arch)a* > node_modules-build-$(arch).tar.gz
sha256sum -c checksum-$(arch)
2024-10-10 16:19:04 +08:00
2024-12-09 11:58:13 +08:00
rm -rf ${HOME}/.cache/electron/edda2a221019110621f56af6c7a459e02ca6fa574ebe09e0e88459fec84f3238/
mkdir -p ${HOME}/.cache/electron/edda2a221019110621f56af6c7a459e02ca6fa574ebe09e0e88459fec84f3238/
if [ "$(arch)" == "x86_64" ]; then
cp electron-v30.4.0-linux-x64.zip ${HOME}/.cache/electron/edda2a221019110621f56af6c7a459e02ca6fa574ebe09e0e88459fec84f3238/
else
cp electron-v30.4.0-linux-arm64.zip ${HOME}/.cache/electron/edda2a221019110621f56af6c7a459e02ca6fa574ebe09e0e88459fec84f3238/
fi
2024-10-10 16:19:04 +08:00
2024-12-09 11:58:13 +08:00
popd
2024-10-09 16:45:45 +08:00
2024-12-09 11:58:13 +08:00
%setup -q -n vscode-%{version}
2024-10-09 16:45:45 +08:00
2024-12-09 11:58:13 +08:00
%autopatch -p1 -M 1
2024-10-09 16:45:45 +08:00
2024-12-09 11:58:13 +08:00
%build
tar -xf %{_sourcedir}/node_modules-build-$(arch).tar.gz
2024-10-09 16:45:45 +08:00
if [ "$(arch)" == "x86_64" ]; then
2024-12-09 11:58:13 +08:00
yarn run gulp vscode-linux-x64
yarn run gulp vscode-linux-x64-prepare-rpm
2024-10-09 16:45:45 +08:00
else
2024-12-09 11:58:13 +08:00
yarn run gulp vscode-linux-arm64
yarn run gulp vscode-linux-arm64-prepare-rpm
2024-10-09 16:45:45 +08:00
fi
2024-12-09 11:58:13 +08:00
%install
mkdir -p %{buildroot}%{_datadir}
cp -arf .build/linux/rpm/$(arch)/rpmbuild/BUILD/usr/share/* %{buildroot}%{_datadir}
pushd %{buildroot}%{_datadir}/code/resources/app/extensions
unzip %{_sourcedir}/ms-vscode.js-debug.1.93.0.vsix extension/*
mv extension ms-vscode.js-debug
unzip %{_sourcedir}/ms-vscode.js-debug-companion.1.1.3.vsix extension/*
mv extension ms-vscode.js-debug-companion
unzip %{_sourcedir}/ms-vscode.vscode-js-profile-table.1.0.9.vsix extension/*
mv extension ms-vscode.vscode-js-profile-table
popd
2024-10-09 16:45:45 +08:00
%files
%{_datadir}/%{name}/
%{_datadir}/applications/%{name}.desktop
%{_datadir}/applications/%{name}-url-handler.desktop
%{_datadir}/appdata/%{name}.appdata.xml
%{_datadir}/mime/packages/%{name}-workspace.xml
2024-12-09 11:58:13 +08:00
%{_datadir}/pixmaps/code.png
%{_datadir}/bash-completion/completions/%{name}
%{_datadir}/zsh/site-functions/_%{name}
2024-10-09 16:45:45 +08:00
%post
ln -s %{_datadir}/code/bin/code /usr/bin/code
update-desktop-database
update-mime-database %{_datadir}/mime
%postun
rm -rf /usr/bin/code
update-desktop-database
update-mime-database %{_datadir}/mime
%changelog
2024-12-09 11:58:13 +08:00
* Thu Dec 5 2024 wangkui <wangkui35@h-partner.com> - 1.93.1-3
- optimized space usage
2024-10-10 16:19:04 +08:00
* Thu Oct 10 2024 wangkui <wangkui35@h-partner.com> - 1.93.1-2
- remove git clone
2024-10-09 16:45:45 +08:00
* Wed Oct 9 2024 wangkui <wangkui35@h-partner.com> - 1.93.1-1
- init