mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-11 11:41:59 +01:00
147 lines
5.4 KiB
Plaintext
147 lines
5.4 KiB
Plaintext
# Maintainer: psykose <alice@ayaya.dev>
|
|
pkgname=code-oss
|
|
pkgver=1.79.2
|
|
pkgrel=0
|
|
# get this from vscodium
|
|
_productjson=c9b8e2f5a5de099ef651df284ff7e39874259b92
|
|
pkgdesc="Visual Studio Code (OSS, with VSX)"
|
|
url="https://github.com/microsoft/vscode"
|
|
arch="aarch64 x86_64" # electron
|
|
license="MIT"
|
|
depends="electron ripgrep"
|
|
makedepends="
|
|
imagemagick
|
|
jq
|
|
libsecret-dev
|
|
libxkbfile-dev
|
|
nodejs
|
|
npm
|
|
pngquant
|
|
python3
|
|
yarn
|
|
"
|
|
subpackages="
|
|
$pkgname-bash-completion
|
|
$pkgname-zsh-completion
|
|
"
|
|
install="$pkgname.post-install"
|
|
source="$pkgname-$pkgver.tar.gz::https://github.com/microsoft/vscode/archive/refs/tags/$pkgver.tar.gz
|
|
product-$_productjson.json::https://github.com/VSCodium/vscodium/raw/$_productjson/product.json
|
|
enable-extensions.patch
|
|
launcher
|
|
no-git.patch
|
|
electron21.patch
|
|
webpack-hash.patch.noauto
|
|
"
|
|
builddir="$srcdir/vscode-$pkgver"
|
|
options="!check net" # no tests (that make sense to run..)
|
|
|
|
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
|
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
|
|
|
prepare() {
|
|
default_prepare
|
|
# block husky
|
|
git init .
|
|
|
|
echo 'ignore-engines true' >> .yarnrc
|
|
|
|
# electron 20+ workaround for bad gyp usage
|
|
# XXX: LARGEFILE64 fixme
|
|
export CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
|
|
export CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE"
|
|
export CXXFLAGS="$CXXFLAGS -std=c++17 -D_LARGEFILE64_SOURCE"
|
|
|
|
yarn install --frozen-lockfile
|
|
|
|
patch -Np1 < "$srcdir"/webpack-hash.patch.noauto
|
|
|
|
# patch out telemetry
|
|
# backported from https://github.com/VSCodium/vscodium/blob/master/undo_telemetry.sh
|
|
rg --no-ignore -l "\.data\.microsoft\.com" . \
|
|
| grep -v "\.map\$" | xargs -t -n 1 -P ${JOBS:-2} sed -i -E "s|//[^/]+\.data\.microsoft\.com|//0\.0\.0\.0|g"
|
|
|
|
# merge the product.json from the repo with one from vscodium repo
|
|
# this fixes some extensions, including python
|
|
cp product.json original_product.json
|
|
jq -s '.[0] * .[1]' original_product.json "$srcdir"/product-$_productjson.json > product.json
|
|
}
|
|
|
|
build() {
|
|
node --max_old_space_size=4096 ./node_modules/.bin/gulp vscode-linux-x64-min
|
|
|
|
cd resources/linux
|
|
|
|
mv code.png code-1024-x.png
|
|
local size
|
|
for size in 16 24 32 48 64 128 192 256 512; do
|
|
convert code-1024-x.png -resize ${size}x$size code-$size-x.png
|
|
< code-$size-x.png pngquant --speed 1 - > code-$size.png
|
|
done
|
|
< code-1024-x.png pngquant --speed 1 - > code-1024.png
|
|
}
|
|
|
|
package() {
|
|
mkdir -p "$pkgdir"/usr/share/applications
|
|
sed -e "s|@@NAME_LONG@@|Code - OSS|g" \
|
|
-e "s|@@NAME_SHORT@@|Code - OSS|g" \
|
|
-e "s|@@NAME@@|code-oss|g" \
|
|
-e "s|@@EXEC@@|/usr/bin/code-oss|g" \
|
|
-e "s|@@ICON@@|com.visualstudio.code.oss|g" \
|
|
-e "s|@@URLPROTOCOL@@|code-oss|g" \
|
|
resources/linux/code.desktop > "$pkgdir"/usr/share/applications/code-oss.desktop
|
|
sed -e "s|@@NAME_LONG@@|Code - OSS|g" \
|
|
-e "s|@@NAME_SHORT@@|Code - OSS|g" \
|
|
-e "s|@@NAME@@|code-oss|g" \
|
|
-e "s|@@EXEC@@|/usr/bin/code-oss|g" \
|
|
-e "s|@@ICON@@|com.visualstudio.code.oss|g" \
|
|
-e "s|@@URLPROTOCOL@@|code-oss|g" \
|
|
resources/linux/code-url-handler.desktop > "$pkgdir"/usr/share/applications/code-oss-url-handler.desktop
|
|
|
|
for size in 16 24 32 48 64 128 192 256 512 1024; do
|
|
install -Dm644 resources/linux/code-$size.png \
|
|
"$pkgdir"/usr/share/icons/hicolor/${size}x$size/apps/com.visualstudio.code.oss.png
|
|
done
|
|
|
|
mkdir -p "$pkgdir"/usr/share/metainfo
|
|
sed -e "s|@@NAME_LONG@@|Code - OSS|g" \
|
|
-e "s|@@NAME@@|code-oss|g" \
|
|
-e "s|@@LICENSE@@|MIT|g" \
|
|
resources/linux/code.appdata.xml > "$pkgdir"/usr/share/metainfo/code-oss.appdata.xml
|
|
|
|
mkdir -p "$pkgdir"/usr/share/mime/packages
|
|
sed -e "s|@@NAME_LONG@@|Code - OSS|g" \
|
|
-e "s|@@NAME@@|code-oss|g" \
|
|
resources/linux/code-workspace.xml > "$pkgdir"/usr/share/mime/packages/code-oss-workspace.xml
|
|
|
|
mkdir -p "$pkgdir"/usr/share/bash-completion/completions
|
|
sed -e "s|@@APPNAME@@|code-oss|g" \
|
|
resources/completions/bash/code > "$pkgdir"/usr/share/bash-completion/completions/code-oss
|
|
|
|
mkdir -p "$pkgdir"/usr/share/zsh/site-functions
|
|
sed -e "s|@@APPNAME@@|code-oss|g" \
|
|
resources/completions/zsh/_code > "$pkgdir"/usr/share/zsh/site-functions/_code-oss
|
|
|
|
mkdir -p "$pkgdir"/usr/lib/code-oss/resources
|
|
cp -a ../VSCode-linux-x64/resources/app "$pkgdir"/usr/lib/code-oss/resources/
|
|
|
|
# disable update server
|
|
sed -i "/updateUrl/d" "$pkgdir"/usr/lib/code-oss/resources/app/product.json
|
|
|
|
# link to system rg
|
|
ln -sfv /usr/bin/rg \
|
|
"$pkgdir"/usr/lib/code-oss/resources/app/node_modules.asar.unpacked/@vscode/ripgrep/bin/rg
|
|
|
|
install -Dm755 "$srcdir"/launcher "$pkgdir"/usr/bin/code-oss
|
|
}
|
|
|
|
sha512sums="
|
|
2e4e0288f640824d8425b6fae72697b17316db5e94721ec886bd1b2d278c26eda94f248532399e90ad06f0c8d19a87ebbc3c33f4116fdc864cca3644b85e9b7d code-oss-1.79.2.tar.gz
|
|
95ad45dc55902baa6e6542162de21d2612609ecd6efe507fabc699aed51caf29622b706f4d0b3a77c946b4922e75d7eb839e74249c64adabc02aa1c7ae159618 product-c9b8e2f5a5de099ef651df284ff7e39874259b92.json
|
|
9f36c7fa6f0fd6a516f8e22c47f53013337985e59085bf1ea70165d42a513a92aa2a7a99ef0715e752c7190fd39ba703d405838e61bcfb60cabe47c421781eb4 enable-extensions.patch
|
|
aa06b5721d3790f134f15ac19cd190ccc7ff9c2b6d873bd12e9c483ce697a4cc80ec0e8b0cfc458380b6c5ceb406989e4ff8c99a176638d0bdc32c823cd8c070 launcher
|
|
f8d744ed29d4fa57bd00b916e689ea0f5ac5590910e369fa26c76bd2bc6ba2dd692c06f11342f8517667fb818caab7b4e349cd30c629be225bc9cea4e02ed3b9 no-git.patch
|
|
43cc216828a8dc855aab1f635fca9da5e3e0d3780fe9554e8d4210acf0ce754ed8be07cd51a1af5fcc3ad9dd2d62a5d1b8dc47637e2ed1e1288170e836b549da electron21.patch
|
|
0939ed0e39883b27ac13cdde2e1dbce506043997b6b52610d1f75560db58bac646d6f8fd6b909e8ad595aab6ed9f3777206e33d7fa5a58e0a7acc4c530b5d6b0 webpack-hash.patch.noauto
|
|
"
|