Compare commits
2 Commits
8090f42cc2
...
eae2921ae2
Author | SHA1 | Date | |
---|---|---|---|
eae2921ae2 | |||
010665a5c9 |
12
pkgs/applications/editors/jetbrains/update-jetbrains
Executable file
12
pkgs/applications/editors/jetbrains/update-jetbrains
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/usr/bin/env nix-shell
|
||||||
|
#!nix-shell --show-trace ./updater.nix -i bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
for app in $APPS; do
|
||||||
|
./updater-jetbrains $app -o ${app#-[0-9.]*}-generated.nix
|
||||||
|
done
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# mode: sh
|
||||||
|
# End:
|
@ -7,6 +7,7 @@ import re
|
|||||||
import requests
|
import requests
|
||||||
import subprocess as sp
|
import subprocess as sp
|
||||||
import sys
|
import sys
|
||||||
|
import unicodedata
|
||||||
import urllib
|
import urllib
|
||||||
|
|
||||||
from lxml import etree
|
from lxml import etree
|
||||||
@ -35,6 +36,7 @@ def to_slug(name):
|
|||||||
slug = name.replace(" ", "-").lstrip(".")
|
slug = name.replace(" ", "-").lstrip(".")
|
||||||
for char in ",/;'\\<>:\"|!@#$%^&*()":
|
for char in ",/;'\\<>:\"|!@#$%^&*()":
|
||||||
slug = slug.replace(char, "")
|
slug = slug.replace(char, "")
|
||||||
|
slug = unicodedata.normalize("NFD", slug).encode("ascii", "ignore").decode("utf-8")
|
||||||
return slug
|
return slug
|
||||||
|
|
||||||
|
|
||||||
@ -195,8 +197,10 @@ def prefetch(plugin, build, url=None):
|
|||||||
["nix-prefetch-url", "--name", plugin.filename(), url], capture_output=True,
|
["nix-prefetch-url", "--name", plugin.filename(), url], capture_output=True,
|
||||||
)
|
)
|
||||||
if not res.stdout:
|
if not res.stdout:
|
||||||
raise IOError(f"nix-prefetch-url {plugin} failed: {res.stderr.decode('utf-8')}")
|
raise IOError(
|
||||||
return res.stdout.decode("utf-8").strip()
|
f"nix-prefetch-url {plugin} failed: {res.stderr.decode('unicode-escape')}"
|
||||||
|
)
|
||||||
|
return res.stdout.decode("unicode-escape").strip()
|
||||||
|
|
||||||
|
|
||||||
def custom_license(short, full, url, free=False):
|
def custom_license(short, full, url, free=False):
|
||||||
|
26
pkgs/applications/editors/jetbrains/updater.nix
Normal file
26
pkgs/applications/editors/jetbrains/updater.nix
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{ pkgs ? import <nixpkgs> { } }:
|
||||||
|
let
|
||||||
|
inherit (pkgs.stdenv) lib;
|
||||||
|
in
|
||||||
|
pkgs.mkShell {
|
||||||
|
buildInputs = [
|
||||||
|
pkgs.bash
|
||||||
|
];
|
||||||
|
|
||||||
|
APPS = lib.mapAttrsToList
|
||||||
|
(k: v: v.name)
|
||||||
|
{
|
||||||
|
inherit (pkgs.jetbrains)
|
||||||
|
clion
|
||||||
|
datagrip
|
||||||
|
goland
|
||||||
|
idea-community
|
||||||
|
idea-ultimate
|
||||||
|
phpstorm
|
||||||
|
pycharm-community
|
||||||
|
pycharm-professional
|
||||||
|
rider
|
||||||
|
ruby-mine
|
||||||
|
webstorm;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user