diff --git a/vscodium-bin/alr.sh b/vscodium-bin/alr.sh new file mode 100644 index 0000000..7be22ba --- /dev/null +++ b/vscodium-bin/alr.sh @@ -0,0 +1,193 @@ +name='vscodium-bin' +version='1.105.17075' +release='1' +desc='Binary releases of VS Code without MS branding/telemetry/licensing.' +desc_ru='Бинарные релизы VS Code без брендинга/телеметрии/лицензирования MS.' +homepage='https://github.com/VSCodium/vscodium' +maintainer="Evgeniy Khramov " +maintainer_ru="Евгений Храмов " +architectures=('amd64') +license=('MIT') +provides=('vscode' 'codium' 'vscodium') +conflicts=('vscodium' 'codium' 'codium-zsh-completion') + +deps=( + 'fontconfig' + 'libxtst' + 'gtk3' + 'python' + 'cairo' + 'alsa-lib' + 'nss' + 'gcc-libs' + 'libnotify' + 'libxss' + 'glibc' + 'bash' +) + +deps_arch=("${deps[@]}") +deps_alt=("${deps[@]}") +deps_debian=( + 'fontconfig' + 'libxtst6' + 'libgtk-3-0' + 'python3' + 'libcairo2' + 'libasound2' + 'libnss3' + 'libgcc-s1' + 'libnotify4' + 'libxss1' + 'libc6' + 'bash' +) +deps_fedora=( + 'fontconfig' + 'libXtst' + 'gtk3' + 'python' + 'cairo' + 'alsa-lib' + 'nss' + 'libgcc' + 'libnotify' + 'libXScrnSaver' + 'glibc' + 'bash' +) +deps_redos=( + 'fontconfig' + 'libXtst' + 'gtk3' + 'python' + 'cairo' + 'alsa-lib' + 'nss' + 'libgcc' + 'libnotify' + 'libXScrnSaver' + 'glibc' + 'bash' +) +deps_rhel=( + 'fontconfig' + 'libXtst' + 'gtk3' + 'python' + 'cairo' + 'alsa-lib' + 'nss' + 'libgcc' + 'libnotify' + 'libXScrnSaver' + 'glibc' + 'bash' +) +deps_rosa=( + 'fontconfig' + 'libXtst' + 'gtk3' + 'python' + 'cairo' + 'alsa-lib' + 'nss' + 'libgcc' + 'libnotify' + 'libXScrnSaver' + 'glibc' + 'bash' +) + +opt_deps=( + 'gvfs: For move to trash functionality' + 'libdbusmenu-glib: For KDE global menu' +) + +opt_deps_debian=( + 'gvfs: For move to trash functionality' + 'libdbusmenu-glib4: For KDE global menu' +) + +opt_deps_fedora=( + 'gvfs: For move to trash functionality' + 'libdbusmenu-gtk3: For KDE global menu' +) + +opt_deps_redos=( + 'gvfs: For move to trash functionality' + 'libdbusmenu-gtk3: For KDE global menu' +) + +opt_deps_rhel=( + 'gvfs: For move to trash functionality' + 'libdbusmenu-gtk3: For KDE global menu' +) + +opt_deps_rosa=( + 'gvfs: For move to trash functionality' + 'libdbusmenu-gtk3: For KDE global menu' +) + +sources_amd64=( + "https://github.com/VSCodium/vscodium/releases/download/${version}/VSCodium-linux-x64-${version}.tar.gz" + "https://raw.githubusercontent.com/VSCodium/vscodium/refs/tags/${version}/src/stable/resources/linux/code.svg" +) + +checksums_amd64=( + 'f9a31c44033598ebb6acb0951ad93280680cffc54d7ad78ceba04e9664022290' + 'e622e6bdb70b0cfec57ad9df8717ea023b87e5e215003119b5a1a4d059fcd347' +) + +package() { + cd "$srcdir" + + # Create directories + install -d -m755 "${pkgdir}/opt/${name}" + install -d -m755 "${pkgdir}/usr/bin" + install -d -m755 "${pkgdir}/usr/share/"{applications,pixmaps} + + # Copy all files except desktop files and tar.gz to /opt/vscodium-bin + # We need to copy files from the extracted archive + for item in *; do + case "$item" in + vscodium-bin.desktop|vscodium-bin-url-handler.desktop|vscodium-bin-wayland.desktop|vscodium-bin.sh|vscodium-bin.install|code.svg|VSCodium-linux-*.tar.gz) + # Skip these files + ;; + *) + cp -r "$item" "${pkgdir}/opt/${name}/" + ;; + esac + done + + ln -s "/opt/${name}/bin/codium" "${pkgdir}/usr/bin/codium" + ln -s "/opt/${name}/bin/codium" "${pkgdir}/usr/bin/vscodium" + + install -D -m644 "${scriptdir}/vscodium-bin.desktop" "${pkgdir}/usr/share/applications/codium.desktop" + install -D -m644 "${scriptdir}/vscodium-bin-wayland.desktop" "${pkgdir}/usr/share/applications/codium-wayland.desktop" + install -D -m644 "${scriptdir}/vscodium-bin-url-handler.desktop" "${pkgdir}/usr/share/applications/codium-url-handler.desktop" + + install -D -m644 "${srcdir}/resources/app/resources/linux/code.png" \ + "${pkgdir}/usr/share/pixmaps/vscodium.png" + install -D -m644 "${srcdir}/code.svg" \ + "${pkgdir}/usr/share/icons/hicolor/scalable/apps/vscodium.svg" + + install -D -m755 "${scriptdir}/vscodium-bin.sh" "${pkgdir}/usr/bin/codium" + + chmod 4755 "${pkgdir}/opt/${name}/chrome-sandbox" + + install -d -m755 "${pkgdir}/usr/share/zsh/site-functions" + install -d -m755 "${pkgdir}/usr/share/bash-completion/completions" + ln -s "/opt/${name}/resources/completions/zsh/_codium" "${pkgdir}/usr/share/zsh/site-functions" + ln -s "/opt/${name}/resources/completions/bash/codium" "${pkgdir}/usr/share/bash-completion/completions" +} + +files() { + files-find ./opt/${name} + files-find-bin + files-find-share "applications" + files-find-share "pixmaps" + files-find-share "icons" + files-find-share "zsh" + files-find-share "bash-completion" +} \ No newline at end of file diff --git a/vscodium-bin/vscodium-bin-url-handler.desktop b/vscodium-bin/vscodium-bin-url-handler.desktop new file mode 100644 index 0000000..54534cd --- /dev/null +++ b/vscodium-bin/vscodium-bin-url-handler.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=VSCodium - URL Handler +Comment=Code Editing. Redefined. +GenericName=Text Editor +Exec=/usr/bin/codium --open-url %U +Icon=vscodium +Type=Application +NoDisplay=true +StartupNotify=false +Categories=Utility;TextEditor;Development;IDE; +MimeType=x-scheme-handler/vscode;x-scheme-handler/vscodium; +Keywords=vscode; diff --git a/vscodium-bin/vscodium-bin-wayland.desktop b/vscodium-bin/vscodium-bin-wayland.desktop new file mode 100644 index 0000000..abbc697 --- /dev/null +++ b/vscodium-bin/vscodium-bin-wayland.desktop @@ -0,0 +1,18 @@ +[Desktop Entry] +Name=VSCodium - Wayland +Comment=Code Editing. Redefined. +GenericName=Text Editor +Exec=/usr/bin/codium --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform=wayland %F +Icon=vscodium +Type=Application +StartupNotify=false +StartupWMClass=codium +Categories=Utility;Development;IDE; +MimeType=text/plain;inode/directory; +Actions=new-empty-window; +Keywords=vscode; + +[Desktop Action new-empty-window] +Name=New Empty Window +Exec=/usr/bin/codium --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform=wayland --new-window %F +Icon=vscodium diff --git a/vscodium-bin/vscodium-bin.desktop b/vscodium-bin/vscodium-bin.desktop new file mode 100644 index 0000000..d2f26d5 --- /dev/null +++ b/vscodium-bin/vscodium-bin.desktop @@ -0,0 +1,18 @@ +[Desktop Entry] +Name=VSCodium +Comment=Code Editing. Redefined. +GenericName=Text Editor +Exec=/usr/bin/codium %F +Icon=vscodium +Type=Application +StartupNotify=false +StartupWMClass=VSCodium +Categories=Utility;Development;IDE; +MimeType=text/plain;inode/directory; +Actions=new-empty-window; +Keywords=vscode; + +[Desktop Action new-empty-window] +Name=New Empty Window +Exec=/usr/bin/codium --new-window %F +Icon=vscodium diff --git a/vscodium-bin/vscodium-bin.sh b/vscodium-bin/vscodium-bin.sh new file mode 100644 index 0000000..f85fea8 --- /dev/null +++ b/vscodium-bin/vscodium-bin.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-~/.config} + +# Allow users to override command-line options +if [[ -f $XDG_CONFIG_HOME/codium-flags.conf ]]; then + readarray lines <"$XDG_CONFIG_HOME/codium-flags.conf" + for line in "${lines[@]}"; do + if ! [[ "$line" =~ ^[[:space:]]*# ]]; then + CODE_USER_FLAGS+=($line) + fi + done +fi + +# Launch +exec /opt/vscodium-bin/bin/codium "$@" "${CODE_USER_FLAGS[@]}"