diff options
author | Icelk | 2023-03-18 22:20:11 +0100 |
---|---|---|
committer | Icelk | 2023-03-18 22:20:11 +0100 |
commit | 52d65c741c48c4db5c2f275c2453137e06786a18 (patch) | |
tree | ad7f3c9001aa4542ce83935a5a6229e162d519b2 | |
parent | 333a97a1618cbe4c2fdf0b613b9c35ae27450142 (diff) | |
download | aur-vscodium-bin-marketplace.tar.gz |
Use python to change product.json instead of sed.
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 15 | ||||
-rwxr-xr-x | patch.py | 31 | ||||
-rwxr-xr-x | patch.sh | 17 | ||||
-rw-r--r-- | vscodium-bin-marketplace.hook | 2 | ||||
-rw-r--r-- | vscodium-bin-marketplace.install | 8 |
6 files changed, 50 insertions, 35 deletions
@@ -1,16 +1,16 @@ pkgbase = vscodium-bin-marketplace pkgdesc = Enable vscode marketplace in vscodium-bin - pkgver = 1.56.0 - pkgrel = 7 + pkgver = 1.76.0 + pkgrel = 1 url = https://marketplace.visualstudio.com/vscode install = vscodium-bin-marketplace.install arch = any license = unknown source = vscodium-bin-marketplace.hook - source = patch.sh - sha256sums = bd53744ef5bd5b0521af26f9f0774e92f39d37a19d3fb76ed764e591e8052c00 - sha256sums = 891ff64322af487b247e12548042ab24aa21236e383011787260093d6ae5500a + source = patch.py + sha256sums = a5236b4dd9662e7015e39593eb1611059cf35c202f538518ca04089dbe701958 + sha256sums = eb25bec26234a9493f7632c387d8d0963bb5dfd625478a19a32b6c2a1f37c090 pkgname = vscodium-bin-marketplace depends = vscodium-bin - depends = sed + depends = python @@ -2,21 +2,22 @@ # Maintainer: Icelk <main at icelk.dev> pkgname=vscodium-bin-marketplace -pkgver=1.56.0 -pkgrel=7 +pkgver=1.76.0 +pkgrel=1 pkgdesc='Enable vscode marketplace in vscodium-bin' arch=('any') url='https://marketplace.visualstudio.com/vscode' license=('unknown') install="${pkgname}.install" source=('vscodium-bin-marketplace.hook' - 'patch.sh') -sha256sums=('bd53744ef5bd5b0521af26f9f0774e92f39d37a19d3fb76ed764e591e8052c00' - '891ff64322af487b247e12548042ab24aa21236e383011787260093d6ae5500a') + 'patch.py') + sha256sums=('a5236b4dd9662e7015e39593eb1611059cf35c202f538518ca04089dbe701958' + 'eb25bec26234a9493f7632c387d8d0963bb5dfd625478a19a32b6c2a1f37c090') + package() { - depends=('vscodium-bin' 'sed') + depends=('vscodium-bin' 'python') install -Dm 644 "${srcdir}"/vscodium-bin-marketplace.hook "${pkgdir}"/usr/share/libalpm/hooks/vscodium-bin-marketplace.hook - install -Dm 755 "${srcdir}"/patch.sh "${pkgdir}"/opt/vscodium-bin/resources/app/patch.sh + install -Dm 755 "${srcdir}"/patch.py "${pkgdir}"/opt/vscodium-bin/resources/app/patch.py } diff --git a/patch.py b/patch.py new file mode 100755 index 000000000000..6aef3d7f2218 --- /dev/null +++ b/patch.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python +from sys import argv +from json import load, dump, JSONDecodeError + +PRODUCT_JSON_LOCATION = "/opt/vscodium-bin/resources/app/product.json" + + +if __name__ == "__main__": + try: + with open(PRODUCT_JSON_LOCATION) as file: + product = load(file) + except JSONDecodeError: + print( + "error: couldn't parse local product.json or fetch a new one from the web") + exit(1) + if '-R' in argv: + product["extensionsGallery"] = { + "serviceUrl": "https://open-vsx.org/vscode/gallery", + "itemUrl": "https://open-vsx.org/vscode/item", + } + product["linkProtectionTrustedDomains"] = ["https://open-vsx.org"] + else: + product["extensionsGallery"] = { + "serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", + "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", + "itemUrl": "https://marketplace.visualstudio.com/items" + } + product.pop("linkProtectionTrustedDomains", None) + + with open(PRODUCT_JSON_LOCATION, mode='w') as file: + dump(product, file, indent=2) diff --git a/patch.sh b/patch.sh deleted file mode 100755 index 5b2a14cfa887..000000000000 --- a/patch.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env sh - -if [ "${1}" = "-R" ]; then - sed -i -e 's/^[[:blank:]]*"serviceUrl":.*/ "serviceUrl": "https:\/\/open-vsx.org\/vscode\/gallery",/' \ - -e '/^[[:blank:]]*"cacheUrl/d' \ - -e 's/^[[:blank:]]*"itemUrl":.*/ "itemUrl": "https:\/\/open-vsx.org\/vscode\/item"/' \ - -e '/^[[:blank:]]*"linkProtectionTrustedDomains/d' \ - -e '/^[[:blank:]]*"documentationUrl/i\ "linkProtectionTrustedDomains": ["https://open-vsx.org"],' \ - /opt/vscodium-bin/resources/app/product.json -else - sed -i -e 's/^[[:blank:]]*"serviceUrl":.*/ "serviceUrl": "https:\/\/marketplace.visualstudio.com\/_apis\/public\/gallery",/' \ - -e '/^[[:blank:]]*"cacheUrl/d' \ - -e '/^[[:blank:]]*"serviceUrl/a\ "cacheUrl": "https:\/\/vscode.blob.core.windows.net\/gallery\/index",' \ - -e 's/^[[:blank:]]*"itemUrl":.*/ "itemUrl": "https:\/\/marketplace.visualstudio.com\/items"/' \ - -e '/^[[:blank:]]*"linkProtectionTrustedDomains/d' \ - /opt/vscodium-bin/resources/app/product.json -fi diff --git a/vscodium-bin-marketplace.hook b/vscodium-bin-marketplace.hook index 8171f9495f18..42a03b343425 100644 --- a/vscodium-bin-marketplace.hook +++ b/vscodium-bin-marketplace.hook @@ -6,5 +6,5 @@ Target = vscodium-bin [Action] Description = [vscodium-bin-marketplace] Patching product.json... -Exec = /opt/vscodium-bin/resources/app/patch.sh +Exec = /opt/vscodium-bin/resources/app/patch.py When = PostTransaction diff --git a/vscodium-bin-marketplace.install b/vscodium-bin-marketplace.install index 18253c7bf901..dbdc7a1834a8 100644 --- a/vscodium-bin-marketplace.install +++ b/vscodium-bin-marketplace.install @@ -1,15 +1,15 @@ post_install() { - /opt/vscodium-bin/resources/app/patch.sh + /opt/vscodium-bin/resources/app/patch.py } pre_upgrade() { - /opt/vscodium-bin/resources/app/patch.sh -R + /opt/vscodium-bin/resources/app/patch.py -R } post_upgrade() { - /opt/vscodium-bin/resources/app/patch.sh + /opt/vscodium-bin/resources/app/patch.py } pre_remove() { - /opt/vscodium-bin/resources/app/patch.sh -R + /opt/vscodium-bin/resources/app/patch.py -R } |