diff --git a/checksum b/checksum new file mode 100644 index 0000000000000000000000000000000000000000..3d4438dfadf6c6cfa0f9ecbdabc29c41b462de93 --- /dev/null +++ b/checksum @@ -0,0 +1 @@ +ba33958f74272b94a085d9724d87d08ea317793e1408cf1c17907990b386d64a vscode-1.93.1.tar.gz diff --git a/code.png b/code.png new file mode 100644 index 0000000000000000000000000000000000000000..4d91c37a3fed9f682504d2ece23907bc976f5937 Binary files /dev/null and b/code.png differ diff --git a/vscode-1.93.1_aa b/vscode-1.93.1_aa new file mode 100644 index 0000000000000000000000000000000000000000..2911d1d40a4d1ba33026055d6a8ba08c153e06fa Binary files /dev/null and b/vscode-1.93.1_aa differ diff --git a/vscode-1.93.1_ab b/vscode-1.93.1_ab new file mode 100644 index 0000000000000000000000000000000000000000..ae24617a82a990c1d77df0da8f66673b1bbc82d9 Binary files /dev/null and b/vscode-1.93.1_ab differ diff --git a/vscode-1.93.1_ac b/vscode-1.93.1_ac new file mode 100644 index 0000000000000000000000000000000000000000..cc6715a0ac1d51ac2474a6e81c0d403f82a0af30 Binary files /dev/null and b/vscode-1.93.1_ac differ diff --git a/vscode-1.93.1_ad b/vscode-1.93.1_ad new file mode 100644 index 0000000000000000000000000000000000000000..2224d2aac167d3e1ed245840a85d7bdc67982479 Binary files /dev/null and b/vscode-1.93.1_ad differ diff --git a/vscode-name.patch b/vscode-name.patch new file mode 100644 index 0000000000000000000000000000000000000000..d40146a5b976667f659a801094065428cae54d4b --- /dev/null +++ b/vscode-name.patch @@ -0,0 +1,24 @@ +diff --git a/package.json b/package.json +index 13fc4f4cabe..5751b32edba 100644 +--- a/package.json ++++ b/package.json +@@ -1,5 +1,5 @@ + { +- "name": "code-oss-dev", ++ "name": "Code", + "version": "1.93.1", + "distro": "2560b0e8d341a0b6734d28ef71b08e1920ff2501", + "author": { +diff --git a/product.json b/product.json +index 908be250245..bddd849e97b 100644 +--- a/product.json ++++ b/product.json +@@ -1,6 +1,6 @@ + { +- "nameShort": "Code - OSS", +- "nameLong": "Code - OSS", ++ "nameShort": "Code", ++ "nameLong": "Visual Studio Code", + "applicationName": "code-oss", + "dataFolderName": ".vscode-oss", + "win32MutexName": "vscodeoss", diff --git a/vscode.spec b/vscode.spec new file mode 100644 index 0000000000000000000000000000000000000000..04607802bb0083aa8483bf23aae7a9ae31dcc841 --- /dev/null +++ b/vscode.spec @@ -0,0 +1,169 @@ +%define debug_package %{nil} + +Name: code +Version: 1.93.1 +Release: 2 +License: MIT +Group: Development/Tools +Summary: Code editing. Redefined. +Url: https://github.com/microsoft/vscode +AutoReq: 0 + +%global __provides_exclude_from ^%{_datadir}/%{name}/.*\\.so.*$ + +Source0: vscode-%{version}_aa +Source1: vscode-%{version}_ab +Source2: vscode-%{version}_ac +Source3: vscode-%{version}_ad +Source4: %{name}.png + +Patch1: vscode-name.patch + + +BuildRequires: python3 +BuildRequires: git +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: npm +BuildRequires: wget +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 +pushd %{_sourcedir} +cat vscode-%{version}_a* > vscode-%{version}.tar.gz +sha256sum -c checksum +popd + +rm -rf vscode-%{version} + +mkdir -p vscode-%{version} +pushd vscode-%{version} +tar -xf %{_sourcedir}/vscode-%{version}.tar.gz --strip-components=1 +pwd | xargs git config --global --add safe.directory +git checkout %{version} + +%patch1 -p1 +cp -r %{_sourcedir}/%{name}.png resources/linux/%{name}.png +cp -r %{_sourcedir}/%{name}.png resources/server/%{name}-192.png +cp -r %{_sourcedir}/%{name}.png resources/server/%{name}-512.png + +popd + +%build +pushd vscode-%{version} +npm config set registry https://repo.huaweicloud.com/repository/npm/ +yarn config set registry https://repo.huaweicloud.com/repository/npm/ +set +e +for i in {1..10}; do + yarn install --verbose --network-timeout 6000 + if [ $? -eq 0 ]; then + break + fi +done +set -e +npm run compile +npm run electron +bash ./scripts/code-cli.sh | true +popd + +%install +pushd vscode-%{version} +mkdir -p %{buildroot}%{_datadir}/%{name} +mkdir -p %{buildroot}%{_datadir}/%{name}/bin +mkdir -p %{buildroot}%{_datadir}/applications +mkdir -p %{buildroot}%{_datadir}/appdata +mkdir -p %{buildroot}%{_datadir}/mime/packages +mkdir -p %{buildroot}%{_datadir}/pixmaps + +install -Dm 0755 resources/linux/bin/%{name}.sh %{buildroot}%{_datadir}/%{name}/bin/%{name} +sed -i "s/@@APPNAME@@/code/g" %{buildroot}%{_datadir}/%{name}/bin/%{name} +sed -i "s/@@PRODNAME@@/Visual Studio Code/g" %{buildroot}%{_datadir}/%{name}/bin/%{name} +sed -i "s/@@APPNAME@@/code/g" %{buildroot}%{_datadir}/%{name}/bin/%{name} +sed -i "60s/code/code-oss/g" %{buildroot}%{_datadir}/%{name}/bin/%{name} +sed -i "60iexport VSCODE_CLI=0" %{buildroot}%{_datadir}/%{name}/bin/%{name} +sed -i "60iexport VSCODE_DEV=0" %{buildroot}%{_datadir}/%{name}/bin/%{name} + +cp -arf .build/electron/* %{buildroot}%{_datadir}/%{name}/ + +mkdir -p %{buildroot}%{_datadir}/%{name}/resources/app +cp -arf extensions %{buildroot}%{_datadir}/%{name}/resources/app/ +cp -arf node_modules %{buildroot}%{_datadir}/%{name}/resources/app/ +cp -arf out %{buildroot}%{_datadir}/%{name}/resources/app/ +cp -arf product.json %{buildroot}%{_datadir}/%{name}/resources/app/ +cp -arf package.json %{buildroot}%{_datadir}/%{name}/resources/app/ +cp -arf resources/completions %{buildroot}%{_datadir}/%{name}/resources/ +sed -i "s/@@APPNAME@@/code/g" %{buildroot}%{_datadir}/%{name}/resources/completions/zsh/_%{name} +sed -i "s/@@APPNAME@@/code/g" %{buildroot}%{_datadir}/%{name}/resources/completions/bash/%{name} + +# Support files +cp -r resources/linux/%{name}.desktop %{buildroot}%{_datadir}/applications +cp -r resources/linux/%{name}-url-handler.desktop %{buildroot}%{_datadir}/applications +cp -r resources/linux/%{name}.appdata.xml %{buildroot}%{_datadir}/appdata +cp -r resources/linux/%{name}-workspace.xml %{buildroot}%{_datadir}/mime/packages/%{name}-workspace.xml +cp -r %{_sourcedir}/%{name}.png %{buildroot}%{_datadir}/pixmaps +sed -i "s/@@NAME_LONG@@/Visual Studio Code/g" %{buildroot}%{_datadir}/applications/* +sed -i "s/@@EXEC@@/\/usr\/share\/code\/bin\/code/g" %{buildroot}%{_datadir}/applications/* +sed -i "s/@@ICON@@/code/g" %{buildroot}%{_datadir}/applications/* +sed -i "s/@@URLPROTOCOL@@/vscode/g" %{buildroot}%{_datadir}/applications/* +sed -i "s/@@NAME_SHORT@@/Code/g" %{buildroot}%{_datadir}/applications/* +sed -i "s/@@NAME@@/code/g" %{buildroot}%{_datadir}/applications/* +sed -i "s/@@LICENSE@@/Multiple, see https:\/\/code.visualstudio.com\/license/g" %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml +sed -i "s/@@NAME_LONG@@/Visual Studio Code/g" %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml +sed -i "s/@@NAME@@/Visual Studio Code/g" %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml +sed -i "s/@@NAME_LONG@@/Visual Studio Code/g" %{buildroot}%{_datadir}/mime/packages/%{name}-workspace.xml +sed -i "s/@@NAME@@/Visual Studio Code/g" %{buildroot}%{_datadir}/mime/packages/%{name}-workspace.xml +popd + +if [ "$(arch)" == "x86_64" ]; then + find %{buildroot}%{_datadir}/ -name *-arm64 | xargs rm -rf +else + find %{buildroot}%{_datadir}/ -name *-x64 | xargs rm -rf +fi + +find %{buildroot}%{_datadir}/ -name yarn.lock | xargs rm -rf + +%files +%{_datadir}/%{name}/ +%{_datadir}/applications/%{name}.desktop +%{_datadir}/applications/%{name}-url-handler.desktop +%{_datadir}/appdata/%{name}.appdata.xml +%{_datadir}/mime/packages/%{name}-workspace.xml +%{_datadir}/pixmaps/%{name}.png + +%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 +* Thu Oct 10 2024 wangkui - 1.93.1-2 +- remove git clone + +* Wed Oct 9 2024 wangkui - 1.93.1-1 +- init