%define _optdir /opt %define debug %nil %define debug_package %nil %define msver 1.97.1 %define subrel 25044 Name: vscodium Version: %{msver}.%{subrel} Release: 1 Summary: VS Code without MS branding/telemetry/licensing Group: Development/Tools License: MIT URL: https://vscodium.com #Source0: https://github.com/VSCodium/vscodium/archive/%{version}/%{name}-%{version}.tar.gz Source0: https://github.com/VSCodium/vscodium/releases/download/%{version}/VSCodium-%{version}-src.tar.gz Source1: https://github.com/microsoft/vscode/archive/%{msver}/vscode-%{msver}.tar.gz #Source2: remote-dependencies.tar Source1000: %{name}.rpmlintrc ExclusiveArch: x86_64 BuildRequires: nodejs-bootstrap-bin >= 18 BuildRequires: yarn BuildRequires: jq BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(libsecret-1) BuildRequires: pkgconfig(xkbfile) BuildRequires: imagemagick BuildRequires: git-core BuildRequires: openssl-devel BuildRequires: sqlite-tools BuildRequires: python38-devel BuildRequires: clang BuildRequires: llvm %description Visual Studio Code is a new choice of tool that combines the simplicity of a code editor with what developers need for the core edit-build-debug cycle. %prep %setup -q -c %{name}-%{version} tar -xf %{SOURCE1} mv vscode-%{msver} vscode %build #install -Dm0644 %{SOURCE2} remote-dependencies.tar export PATH=/opt/nodejs/16.17.1/bin/:$PATH export PYTHONPATH=%{python38_sitelib} export PYTHON3=/usr/libexec/python3.8 export PYTHON=/usr/libexec/python3.8 yarn config set --home enableTelemetry 0 #sed -i -e '/get_repo.sh/d' -e '/vscode\*/d' build/build.sh #git init #pushd vscode #git init #popd #export MS_TAG=%{msver} MS_COMMIT="" RELEASE_VERSION=%{version} BUILD_SOURCEVERSION="" export VSCODE_NODE_GLIBC='-glibc-2.17' export SHOULD_BUILD=yes export VSCODE_SKIP_NODE_VERSION_CHECK=1 export VSCODE_SYSROOT_PREFIX='-glibc-2.17' #export CC=clang #export CXX=clang++ #./build.sh ./build/build.sh #npm install tslib #npm install postcss@^8.0.0 #npm rebuild @parcel/watcher #rm package-lock.json #npm update #./build/build.sh %install install -d %{buildroot}%{_bindir} \ %{buildroot}%{_optdir}/%{name} \ %{buildroot}%{_datadir}/applications \ %{buildroot}%{_datadir}/pixmaps \ %{buildroot}%{_datadir}/bash-completion/completions \ %{buildroot}%{_iconsdir} cp -a VSCode-linux-*/* %{buildroot}%{_optdir}/%{name} # start script cat > %{buildroot}%{_bindir}/%{name} << EOF #!/bin/bash cd /opt/%{name}/bin ./codium EOF chmod +x %{buildroot}%{_bindir}/%{name} # menu-entry cat >> %{buildroot}%{_datadir}/applications/%{name}.desktop << EOF [Desktop Entry] Name=%{name} Comment=Code Editing. Redefined. GenericName=%{name} Exec=%{name} --no-sandbox \% F Icon=%{name} Type=Application StartupNotify=false StartupWMClass=%{name} Categories=Utility;TextEditor;Development;IDE; MimeType=text/plain;inode/directory; Actions=new-empty-window; Keywords=vscode; [Desktop Action new-empty-window] Name=New Empty Window Exec=%{name} --no-sandbox --new-window \% F Icon=%{name} EOF # icons pushd icons/stable for x in 16 24 32 48 64 96 128 256 512; do install -d %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/ convert -resize ${x}x${x} codium_cnl.svg %{buildroot}%{_iconsdir}/hicolor/${x}x${x}/apps/%{name}.png done popd # remove suid chmod -s %{buildroot}/%{_optdir}/%{name}/chrome-sandbox # fix permissions find %{buildroot}%{_optdir} -perm 0666 -type f -exec chmod 0644 {} \; # add completion install -Dm0644 ./VSCode-linux-*/resources/completions/bash/codium %{buildroot}%{_datadir}/bash-completion/completions/codium %files %doc README.md LICENSE DOCS.md docs %{_bindir}/%{name} %{_optdir}/%{name} %{_datadir}/applications/%{name}.desktop %{_iconsdir}/hicolor/*/apps/%{name}.png %{_datadir}/bash-completion/completions/codium