Compare commits
4 Commits
144bde0c6d
...
eae2921ae2
Author | SHA1 | Date | |
---|---|---|---|
eae2921ae2 | |||
010665a5c9 | |||
fb2bbf59d0 | |||
3c8d8f0347 |
@ -1,41 +0,0 @@
|
|||||||
{ lib, stdenv, fetchzip }:
|
|
||||||
|
|
||||||
self:
|
|
||||||
|
|
||||||
let
|
|
||||||
|
|
||||||
commonBuild = import ../../../build-support/jetbrains/plugin.nix {
|
|
||||||
inherit lib stdenv fetchzip;
|
|
||||||
jetbrainsPlatforms = [
|
|
||||||
"clion"
|
|
||||||
"datagrip"
|
|
||||||
"goland"
|
|
||||||
"idea-community"
|
|
||||||
"idea-ultimate"
|
|
||||||
"phpstorm"
|
|
||||||
"pycharm-community"
|
|
||||||
"pycharm-professional"
|
|
||||||
"rider"
|
|
||||||
"ruby-mine"
|
|
||||||
"webstorm"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
generateCommon = lib.makeOverridable ({
|
|
||||||
common ? ./manual-common-packages.nix
|
|
||||||
}: let
|
|
||||||
|
|
||||||
imported = import common {
|
|
||||||
inherit (self) callPackage;
|
|
||||||
};
|
|
||||||
|
|
||||||
super = imported;
|
|
||||||
|
|
||||||
overrides = { };
|
|
||||||
|
|
||||||
jetbrainsPlugins = super // overrides;
|
|
||||||
|
|
||||||
in jetbrainsPlugins // { inherit commonBuild; });
|
|
||||||
|
|
||||||
in generateCommon { }
|
|
||||||
|
|
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;
|
||||||
|
};
|
||||||
|
}
|
@ -39,7 +39,7 @@ runCommand
|
|||||||
for plugin in $plugins; do
|
for plugin in $plugins; do
|
||||||
local pluginName=$(basename $plugin)
|
local pluginName=$(basename $plugin)
|
||||||
pluginName=''${pluginName#*-}
|
pluginName=''${pluginName#*-}
|
||||||
pluginName=''${pluginName%-([0-9].)*}
|
pluginName=''${pluginName%-[0-9.]*}
|
||||||
ln -s $plugin $out/$packageName/plugins/$pluginName
|
ln -s $plugin $out/$packageName/plugins/$pluginName
|
||||||
done
|
done
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user