Compare commits

...

2 Commits

Author SHA1 Message Date
eae2921ae2
jetbrains: normalize file names 2021-01-25 15:56:52 +11:00
010665a5c9
jetbrains: add update script wrapper
The main script only does a single program, and requires being fed the
name. This is a wrapper to get those names.
2021-01-25 15:56:11 +11:00
3 changed files with 44 additions and 2 deletions

View 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:

View File

@ -7,6 +7,7 @@ import re
import requests
import subprocess as sp
import sys
import unicodedata
import urllib
from lxml import etree
@ -35,6 +36,7 @@ def to_slug(name):
slug = name.replace(" ", "-").lstrip(".")
for char in ",/;'\\<>:\"|!@#$%^&*()":
slug = slug.replace(char, "")
slug = unicodedata.normalize("NFD", slug).encode("ascii", "ignore").decode("utf-8")
return slug
@ -195,8 +197,10 @@ def prefetch(plugin, build, url=None):
["nix-prefetch-url", "--name", plugin.filename(), url], capture_output=True,
)
if not res.stdout:
raise IOError(f"nix-prefetch-url {plugin} failed: {res.stderr.decode('utf-8')}")
return res.stdout.decode("utf-8").strip()
raise IOError(
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):

View 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;
};
}