Visual Studio Code 1.118.1

Code editing. Redefined.

Не проверено
  1sfe_249_new_extractor=1
  2
  3name=visual-studio-code
  4version=1.118.1
  5release=1
  6summary='Visual Studio Code'
  7group='Development/Tools'
  8desc='Visual Studio Code (vscode): Editor for building and debugging modern web and cloud applications (official binary version)'
  9maintainer='Vladimir Romanov <rirusha@altlinux.org>'
 10architectures=('amd64' 'arm64')
 11homepage='https://code.visualstudio.com/'
 12license=('custom')
 13
 14appstream_app_id='com.visualstudio.code'
 15
 16provides=('code' 'vscode')
 17conflicts=()
 18
 19nonfree=1
 20nonfree_msgfile="MS-LICENSE.txt"
 21
 22sources_amd64=(
 23	"https://raw.githubusercontent.com/microsoft/vscode/${version}/resources/linux/code.desktop?~name=code.desktop.in"
 24	"https://raw.githubusercontent.com/microsoft/vscode/${version}/resources/linux/code-url-handler.desktop?~name=code-url-handler.desktop.in"
 25	"https://raw.githubusercontent.com/microsoft/vscode/${version}/resources/linux/code-workspace.xml?~name=code-workspace.xml.in"
 26	"https://update.code.visualstudio.com/${version}/linux-x64/stable?~name=${name}_x64_${version}.tar.gz"
 27	"local:///${name}.sh"
 28)
 29
 30sources_arm64=(
 31	"https://raw.githubusercontent.com/microsoft/vscode/${version}/resources/linux/code.desktop?~name=code.desktop.in"
 32	"https://raw.githubusercontent.com/microsoft/vscode/${version}/resources/linux/code-url-handler.desktop?~name=code-url-handler.desktop.in"
 33	"https://raw.githubusercontent.com/microsoft/vscode/${version}/resources/linux/code-workspace.xml?~name=code-workspace.xml.in"
 34	"https://update.code.visualstudio.com/${version}/linux-arm64/stable?~name=${name}_arm64_${version}.tar.gz"
 35	"local:///${name}.sh"
 36)
 37
 38checksums_amd64=(
 39	sha256:2f1782b30c4e040efff655fd9cf477930c5a0c81ddae27749b0cbb922c1d248e
 40	sha256:c361efa7e02fcad759ed80d2fbab67877f33219b981578af6fffaf18aeb12d9b
 41	sha256:3af748dd6578a1775e8eb7248ba397b7e11840df2ea6ee234ff76fee3dc306cf
 42	sha256:605d33bb46aa66918619a7f9b8da9a55a2f5b0c42e11523367531cceec277eae
 43	sha256:8257a5ad82fa1f7dec11dfa064217b80df4cfec24f50cec7ca0ad62cf8295bfe
 44)
 45
 46checksums_arm64=(
 47	sha256:2f1782b30c4e040efff655fd9cf477930c5a0c81ddae27749b0cbb922c1d248e
 48	sha256:c361efa7e02fcad759ed80d2fbab67877f33219b981578af6fffaf18aeb12d9b
 49	sha256:3af748dd6578a1775e8eb7248ba397b7e11840df2ea6ee234ff76fee3dc306cf
 50	sha256:3329bd8a389e17b8d5032649ff7b0ed16a79249e1cfbff29b028f1ae5107fe89
 51	sha256:8257a5ad82fa1f7dec11dfa064217b80df4cfec24f50cec7ca0ad62cf8295bfe
 52)
 53
 54_set_meta_info() {
 55	sed 's/@@NAME_LONG@@/Visual Studio Code/g' "$1" |
 56		sed 's/@@NAME_SHORT@@/Code/g' |
 57		sed 's/@@NAME@@/code/g' |
 58		# https://altlinux.space/aides-pkgs/visual-studio-code/issues/20
 59		sed 's#@@EXEC@@#/usr/bin/code --enable-features=UseOzonePlatform --ozone-platform=wayland#g' |
 60		sed 's/@@ICON@@/visual-studio-code/g' |
 61		sed 's/@@URLPROTOCOL@@/vscode/g'
 62}
 63
 64_pkg() {
 65	if [ "${ARCH}" = "arm64" ]; then
 66		echo 'VSCode-linux-arm64'
 67	else
 68		echo 'VSCode-linux-x64'
 69	fi
 70}
 71
 72opt_deps=('git: For Source Control')
 73opt_deps_ru=('git: Для системы контроля версий')
 74
 75deps=(
 76	libsecret
 77)
 78
 79auto_req=1
 80auto_prov=1
 81auto_reqprov_method=dirty
 82
 83prepare() {
 84	_set_meta_info "${srcdir}/code.desktop.in" >"${srcdir}/code.desktop"
 85	_set_meta_info "${srcdir}/code-url-handler.desktop.in" >"${srcdir}/code-url-handler.desktop"
 86	_set_meta_info "${srcdir}/code-workspace.xml.in" >"${srcdir}/code-workspace.xml"
 87}
 88
 89package() {
 90	install -d "${pkgdir}/usr/share/licenses/${name}"
 91	install -d "${pkgdir}/opt/${name}"
 92	install -d "${pkgdir}/usr/bin"
 93	install -d "${pkgdir}/usr/share/applications"
 94	install -d "${pkgdir}/usr/share/icons"
 95	install -d "${pkgdir}/usr/share/mime/packages"
 96
 97	install -m644 "${srcdir}/$(_pkg)/resources/app/LICENSE.rtf" "${pkgdir}/usr/share/licenses/${name}/LICENSE.rtf"
 98	install -m644 "${srcdir}/$(_pkg)/resources/app/resources/linux/code.png" "${pkgdir}/usr/share/icons/${name}.png"
 99	install -m644 "${srcdir}/code.desktop" "${pkgdir}/usr/share/applications/code.desktop"
100	install -m644 "${srcdir}/code-url-handler.desktop" "${pkgdir}/usr/share/applications/code-url-handler.desktop"
101	install -m644 "${srcdir}/code-workspace.xml" "${pkgdir}/usr/share/mime/packages/${name}-workspace.xml"
102	install -Dm 644 "${srcdir}/$(_pkg)/resources/completions/bash/code" "${pkgdir}/usr/share/bash-completion/completions/code"
103	install -Dm 644 "${srcdir}/$(_pkg)/resources/completions/zsh/_code" "${pkgdir}/usr/share/zsh/site-functions/_code"
104
105	cp -r "${srcdir}/$(_pkg)/"* "${pkgdir}/opt/${name}"
106
107	install -m755 "${srcdir}/${name}.sh" "${pkgdir}/usr/bin/code"
108}
109
110files() {
111	files-find-binary code
112	files-find \
113		"/opt/**/*" \
114		"/opt/**/.* " \
115		"/usr/share/applications/*" \
116		"/usr/share/bash-completion/completions/*" \
117		"/usr/share/zsh/site-functions/*" \
118		"/usr/share/icons/*" \
119		"/usr/share/mime/packages/*" \
120		"/usr/share/licenses/**/*"
121}