summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorIcelk2023-03-18 22:20:11 +0100
committerIcelk2023-03-18 22:20:11 +0100
commit52d65c741c48c4db5c2f275c2453137e06786a18 (patch)
treead7f3c9001aa4542ce83935a5a6229e162d519b2
parent333a97a1618cbe4c2fdf0b613b9c35ae27450142 (diff)
downloadaur-vscodium-bin-marketplace.tar.gz
Use python to change product.json instead of sed.
-rw-r--r--.SRCINFO12
-rw-r--r--PKGBUILD15
-rwxr-xr-xpatch.py31
-rwxr-xr-xpatch.sh17
-rw-r--r--vscodium-bin-marketplace.hook2
-rw-r--r--vscodium-bin-marketplace.install8
6 files changed, 50 insertions, 35 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 516fcc8e24c8..2a65a93e54b0 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index 56a8bf016050..e2b59640402b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
}