Merge master into staging-next
This commit is contained in:
commit
e91d2acb23
@ -176,36 +176,6 @@ let
|
||||
lintrng $out/man-pages-combined.xml
|
||||
'';
|
||||
|
||||
olinkDB = runCommand "manual-olinkdb"
|
||||
{ inherit sources;
|
||||
nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
|
||||
}
|
||||
''
|
||||
xsltproc \
|
||||
${manualXsltprocOptions} \
|
||||
--stringparam collect.xref.targets only \
|
||||
--stringparam targets.filename "$out/manual.db" \
|
||||
--nonet \
|
||||
${docbook_xsl_ns}/xml/xsl/docbook/xhtml/chunktoc.xsl \
|
||||
${manual-combined}/manual-combined.xml
|
||||
|
||||
cat > "$out/olinkdb.xml" <<EOF
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE targetset SYSTEM
|
||||
"file://${docbook_xsl_ns}/xml/xsl/docbook/common/targetdatabase.dtd" [
|
||||
<!ENTITY manualtargets SYSTEM "file://$out/manual.db">
|
||||
]>
|
||||
<targetset>
|
||||
<targetsetinfo>
|
||||
Allows for cross-referencing olinks between the manpages
|
||||
and manual.
|
||||
</targetsetinfo>
|
||||
|
||||
<document targetdoc="manual">&manualtargets;</document>
|
||||
</targetset>
|
||||
EOF
|
||||
'';
|
||||
|
||||
in rec {
|
||||
inherit generatedSources;
|
||||
|
||||
@ -224,7 +194,6 @@ in rec {
|
||||
mkdir -p $dst
|
||||
xsltproc \
|
||||
${manualXsltprocOptions} \
|
||||
--stringparam target.database.document "${olinkDB}/olinkdb.xml" \
|
||||
--stringparam id.warnings "1" \
|
||||
--nonet --output $dst/ \
|
||||
${docbook_xsl_ns}/xml/xsl/docbook/xhtml/chunktoc.xsl \
|
||||
@ -261,7 +230,6 @@ in rec {
|
||||
|
||||
xsltproc \
|
||||
${manualXsltprocOptions} \
|
||||
--stringparam target.database.document "${olinkDB}/olinkdb.xml" \
|
||||
--nonet --xinclude --output $dst/epub/ \
|
||||
${docbook_xsl_ns}/xml/xsl/docbook/epub/docbook.xsl \
|
||||
${manual-combined}/manual-combined.xml
|
||||
@ -295,7 +263,6 @@ in rec {
|
||||
--param man.output.base.dir "'$out/share/man/'" \
|
||||
--param man.endnotes.are.numbered 0 \
|
||||
--param man.break.after.slash 1 \
|
||||
--stringparam target.database.document "${olinkDB}/olinkdb.xml" \
|
||||
${docbook_xsl_ns}/xml/xsl/docbook/manpages/docbook.xsl \
|
||||
${manual-combined}/man-pages-combined.xml
|
||||
'';
|
||||
|
@ -109,29 +109,7 @@ in rec {
|
||||
{ meta.description = "List of NixOS options in JSON format";
|
||||
nativeBuildInputs = [
|
||||
pkgs.brotli
|
||||
(let
|
||||
# python3Minimal can't be overridden with packages on Darwin, due to a missing framework.
|
||||
# Instead of modifying stdenv, we take the easy way out, since most people on Darwin will
|
||||
# just be hacking on the Nixpkgs manual (which also uses make-options-doc).
|
||||
python = if pkgs.stdenv.isDarwin then pkgs.python3 else pkgs.python3Minimal;
|
||||
self = (python.override {
|
||||
inherit self;
|
||||
includeSiteCustomize = true;
|
||||
});
|
||||
in self.withPackages (p:
|
||||
let
|
||||
# TODO add our own small test suite when rendering is split out into a new tool
|
||||
markdown-it-py = p.markdown-it-py.override {
|
||||
disableTests = true;
|
||||
};
|
||||
mdit-py-plugins = p.mdit-py-plugins.override {
|
||||
inherit markdown-it-py;
|
||||
disableTests = true;
|
||||
};
|
||||
in [
|
||||
markdown-it-py
|
||||
mdit-py-plugins
|
||||
]))
|
||||
pkgs.python3Minimal
|
||||
];
|
||||
options = builtins.toFile "options.json"
|
||||
(builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix));
|
||||
@ -141,8 +119,6 @@ in rec {
|
||||
if baseOptionsJSON == null
|
||||
then builtins.toFile "base.json" "{}"
|
||||
else baseOptionsJSON;
|
||||
|
||||
MANPAGE_URLS = pkgs.path + "/doc/manpage-urls.json";
|
||||
}
|
||||
''
|
||||
# Export list of options in different format.
|
||||
@ -153,7 +129,6 @@ in rec {
|
||||
python ${./mergeJSON.py} \
|
||||
${lib.optionalString warningsAreErrors "--warnings-are-errors"} \
|
||||
${if allowDocBook then "--warn-on-docbook" else "--error-on-docbook"} \
|
||||
${lib.optionalString markdownByDefault "--markdown-by-default"} \
|
||||
$baseJSON $options \
|
||||
> $dst/options.json
|
||||
|
||||
@ -172,21 +147,45 @@ in rec {
|
||||
fi >"$out"
|
||||
'';
|
||||
|
||||
# Convert options.json into an XML file.
|
||||
# The actual generation of the xml file is done in nix purely for the convenience
|
||||
# of not having to generate the xml some other way
|
||||
optionsXML = pkgs.runCommand "options.xml" {} ''
|
||||
export NIX_STORE_DIR=$TMPDIR/store
|
||||
export NIX_STATE_DIR=$TMPDIR/state
|
||||
${pkgs.nix}/bin/nix-instantiate \
|
||||
--eval --xml --strict ${./optionsJSONtoXML.nix} \
|
||||
--argstr file ${optionsJSON}/share/doc/nixos/options.json \
|
||||
> "$out"
|
||||
'';
|
||||
optionsDocBook = pkgs.runCommand "options-docbook.xml" {
|
||||
MANPAGE_URLS = pkgs.path + "/doc/manpage-urls.json";
|
||||
OTD_DOCUMENT_TYPE = documentType;
|
||||
OTD_VARIABLE_LIST_ID = variablelistId;
|
||||
OTD_OPTION_ID_PREFIX = optionIdPrefix;
|
||||
OTD_REVISION = revision;
|
||||
|
||||
optionsDocBook = pkgs.runCommand "options-docbook.xml" {} ''
|
||||
optionsXML=${optionsXML}
|
||||
if grep /nixpkgs/nixos/modules $optionsXML; then
|
||||
nativeBuildInputs = [
|
||||
(let
|
||||
# python3Minimal can't be overridden with packages on Darwin, due to a missing framework.
|
||||
# Instead of modifying stdenv, we take the easy way out, since most people on Darwin will
|
||||
# just be hacking on the Nixpkgs manual (which also uses make-options-doc).
|
||||
python = if pkgs.stdenv.isDarwin then pkgs.python3 else pkgs.python3Minimal;
|
||||
self = (python.override {
|
||||
inherit self;
|
||||
includeSiteCustomize = true;
|
||||
});
|
||||
in self.withPackages (p:
|
||||
let
|
||||
# TODO add our own small test suite when rendering is split out into a new tool
|
||||
markdown-it-py = p.markdown-it-py.override {
|
||||
disableTests = true;
|
||||
};
|
||||
mdit-py-plugins = p.mdit-py-plugins.override {
|
||||
inherit markdown-it-py;
|
||||
disableTests = true;
|
||||
};
|
||||
in [
|
||||
markdown-it-py
|
||||
mdit-py-plugins
|
||||
]))
|
||||
];
|
||||
} ''
|
||||
python ${./optionsToDocbook.py} \
|
||||
${lib.optionalString markdownByDefault "--markdown-by-default"} \
|
||||
${optionsJSON}/share/doc/nixos/options.json \
|
||||
> options.xml
|
||||
|
||||
if grep /nixpkgs/nixos/modules options.xml; then
|
||||
echo "The manual appears to depend on the location of Nixpkgs, which is bad"
|
||||
echo "since this prevents sharing via the NixOS channel. This is typically"
|
||||
echo "caused by an option default that refers to a relative path (see above"
|
||||
@ -194,14 +193,7 @@ in rec {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${pkgs.python3Minimal}/bin/python ${./sortXML.py} $optionsXML sorted.xml
|
||||
${pkgs.libxslt.bin}/bin/xsltproc \
|
||||
--stringparam documentType '${documentType}' \
|
||||
--stringparam revision '${revision}' \
|
||||
--stringparam variablelistId '${variablelistId}' \
|
||||
--stringparam optionIdPrefix '${optionIdPrefix}' \
|
||||
-o intermediate.xml ${./options-to-docbook.xsl} sorted.xml
|
||||
${pkgs.libxslt.bin}/bin/xsltproc \
|
||||
-o "$out" ${./postprocess-option-descriptions.xsl} intermediate.xml
|
||||
-o "$out" ${./postprocess-option-descriptions.xsl} options.xml
|
||||
'';
|
||||
}
|
||||
|
@ -3,19 +3,6 @@ import json
|
||||
import os
|
||||
import sys
|
||||
from typing import Any, Dict, List
|
||||
from collections.abc import MutableMapping, Sequence
|
||||
import inspect
|
||||
|
||||
# for MD conversion
|
||||
import markdown_it
|
||||
import markdown_it.renderer
|
||||
from markdown_it.token import Token
|
||||
from markdown_it.utils import OptionsDict
|
||||
from mdit_py_plugins.container import container_plugin
|
||||
from mdit_py_plugins.deflist import deflist_plugin
|
||||
from mdit_py_plugins.myst_role import myst_role_plugin
|
||||
import re
|
||||
from xml.sax.saxutils import escape, quoteattr
|
||||
|
||||
JSON = Dict[str, Any]
|
||||
|
||||
@ -55,236 +42,9 @@ def unpivot(options: Dict[Key, Option]) -> Dict[str, JSON]:
|
||||
result[opt.name] = opt.value
|
||||
return result
|
||||
|
||||
manpage_urls = json.load(open(os.getenv('MANPAGE_URLS')))
|
||||
|
||||
class Renderer(markdown_it.renderer.RendererProtocol):
|
||||
__output__ = "docbook"
|
||||
def __init__(self, parser=None):
|
||||
self.rules = {
|
||||
k: v
|
||||
for k, v in inspect.getmembers(self, predicate=inspect.ismethod)
|
||||
if not (k.startswith("render") or k.startswith("_"))
|
||||
} | {
|
||||
"container_{.note}_open": self._note_open,
|
||||
"container_{.note}_close": self._note_close,
|
||||
"container_{.important}_open": self._important_open,
|
||||
"container_{.important}_close": self._important_close,
|
||||
"container_{.warning}_open": self._warning_open,
|
||||
"container_{.warning}_close": self._warning_close,
|
||||
}
|
||||
def render(self, tokens: Sequence[Token], options: OptionsDict, env: MutableMapping) -> str:
|
||||
assert '-link-tag-stack' not in env
|
||||
env['-link-tag-stack'] = []
|
||||
assert '-deflist-stack' not in env
|
||||
env['-deflist-stack'] = []
|
||||
def do_one(i, token):
|
||||
if token.type == "inline":
|
||||
assert token.children is not None
|
||||
return self.renderInline(token.children, options, env)
|
||||
elif token.type in self.rules:
|
||||
return self.rules[token.type](tokens[i], tokens, i, options, env)
|
||||
else:
|
||||
raise NotImplementedError("md token not supported yet", token)
|
||||
return "".join(map(lambda arg: do_one(*arg), enumerate(tokens)))
|
||||
def renderInline(self, tokens: Sequence[Token], options: OptionsDict, env: MutableMapping) -> str:
|
||||
# HACK to support docbook links and xrefs. link handling is only necessary because the docbook
|
||||
# manpage stylesheet converts - in urls to a mathematical minus, which may be somewhat incorrect.
|
||||
for i, token in enumerate(tokens):
|
||||
if token.type != 'link_open':
|
||||
continue
|
||||
token.tag = 'link'
|
||||
# turn [](#foo) into xrefs
|
||||
if token.attrs['href'][0:1] == '#' and tokens[i + 1].type == 'link_close':
|
||||
token.tag = "xref"
|
||||
# turn <x> into links without contents
|
||||
if tokens[i + 1].type == 'text' and tokens[i + 1].content == token.attrs['href']:
|
||||
tokens[i + 1].content = ''
|
||||
|
||||
def do_one(i, token):
|
||||
if token.type in self.rules:
|
||||
return self.rules[token.type](tokens[i], tokens, i, options, env)
|
||||
else:
|
||||
raise NotImplementedError("md node not supported yet", token)
|
||||
return "".join(map(lambda arg: do_one(*arg), enumerate(tokens)))
|
||||
|
||||
def text(self, token, tokens, i, options, env):
|
||||
return escape(token.content)
|
||||
def paragraph_open(self, token, tokens, i, options, env):
|
||||
return "<para>"
|
||||
def paragraph_close(self, token, tokens, i, options, env):
|
||||
return "</para>"
|
||||
def hardbreak(self, token, tokens, i, options, env):
|
||||
return "<literallayout>\n</literallayout>"
|
||||
def softbreak(self, token, tokens, i, options, env):
|
||||
# should check options.breaks() and emit hard break if so
|
||||
return "\n"
|
||||
def code_inline(self, token, tokens, i, options, env):
|
||||
return f"<literal>{escape(token.content)}</literal>"
|
||||
def code_block(self, token, tokens, i, options, env):
|
||||
return f"<programlisting>{escape(token.content)}</programlisting>"
|
||||
def link_open(self, token, tokens, i, options, env):
|
||||
env['-link-tag-stack'].append(token.tag)
|
||||
(attr, start) = ('linkend', 1) if token.attrs['href'][0] == '#' else ('xlink:href', 0)
|
||||
return f"<{token.tag} {attr}={quoteattr(token.attrs['href'][start:])}>"
|
||||
def link_close(self, token, tokens, i, options, env):
|
||||
return f"</{env['-link-tag-stack'].pop()}>"
|
||||
def list_item_open(self, token, tokens, i, options, env):
|
||||
return "<listitem>"
|
||||
def list_item_close(self, token, tokens, i, options, env):
|
||||
return "</listitem>\n"
|
||||
# HACK open and close para for docbook change size. remove soon.
|
||||
def bullet_list_open(self, token, tokens, i, options, env):
|
||||
return "<para><itemizedlist>\n"
|
||||
def bullet_list_close(self, token, tokens, i, options, env):
|
||||
return "\n</itemizedlist></para>"
|
||||
def em_open(self, token, tokens, i, options, env):
|
||||
return "<emphasis>"
|
||||
def em_close(self, token, tokens, i, options, env):
|
||||
return "</emphasis>"
|
||||
def strong_open(self, token, tokens, i, options, env):
|
||||
return "<emphasis role=\"strong\">"
|
||||
def strong_close(self, token, tokens, i, options, env):
|
||||
return "</emphasis>"
|
||||
def fence(self, token, tokens, i, options, env):
|
||||
info = f" language={quoteattr(token.info)}" if token.info != "" else ""
|
||||
return f"<programlisting{info}>{escape(token.content)}</programlisting>"
|
||||
def blockquote_open(self, token, tokens, i, options, env):
|
||||
return "<para><blockquote>"
|
||||
def blockquote_close(self, token, tokens, i, options, env):
|
||||
return "</blockquote></para>"
|
||||
def _note_open(self, token, tokens, i, options, env):
|
||||
return "<para><note>"
|
||||
def _note_close(self, token, tokens, i, options, env):
|
||||
return "</note></para>"
|
||||
def _important_open(self, token, tokens, i, options, env):
|
||||
return "<para><important>"
|
||||
def _important_close(self, token, tokens, i, options, env):
|
||||
return "</important></para>"
|
||||
def _warning_open(self, token, tokens, i, options, env):
|
||||
return "<para><warning>"
|
||||
def _warning_close(self, token, tokens, i, options, env):
|
||||
return "</warning></para>"
|
||||
# markdown-it emits tokens based on the html syntax tree, but docbook is
|
||||
# slightly different. html has <dl>{<dt/>{<dd/>}}</dl>,
|
||||
# docbook has <variablelist>{<varlistentry><term/><listitem/></varlistentry>}<variablelist>
|
||||
# we have to reject multiple definitions for the same term for time being.
|
||||
def dl_open(self, token, tokens, i, options, env):
|
||||
env['-deflist-stack'].append({})
|
||||
return "<para><variablelist>"
|
||||
def dl_close(self, token, tokens, i, options, env):
|
||||
env['-deflist-stack'].pop()
|
||||
return "</variablelist></para>"
|
||||
def dt_open(self, token, tokens, i, options, env):
|
||||
env['-deflist-stack'][-1]['has-dd'] = False
|
||||
return "<varlistentry><term>"
|
||||
def dt_close(self, token, tokens, i, options, env):
|
||||
return "</term>"
|
||||
def dd_open(self, token, tokens, i, options, env):
|
||||
if env['-deflist-stack'][-1]['has-dd']:
|
||||
raise Exception("multiple definitions per term not supported")
|
||||
env['-deflist-stack'][-1]['has-dd'] = True
|
||||
return "<listitem>"
|
||||
def dd_close(self, token, tokens, i, options, env):
|
||||
return "</listitem></varlistentry>"
|
||||
def myst_role(self, token, tokens, i, options, env):
|
||||
if token.meta['name'] == 'command':
|
||||
return f"<command>{escape(token.content)}</command>"
|
||||
if token.meta['name'] == 'file':
|
||||
return f"<filename>{escape(token.content)}</filename>"
|
||||
if token.meta['name'] == 'var':
|
||||
return f"<varname>{escape(token.content)}</varname>"
|
||||
if token.meta['name'] == 'env':
|
||||
return f"<envar>{escape(token.content)}</envar>"
|
||||
if token.meta['name'] == 'option':
|
||||
return f"<option>{escape(token.content)}</option>"
|
||||
if token.meta['name'] == 'manpage':
|
||||
[page, section] = [ s.strip() for s in token.content.rsplit('(', 1) ]
|
||||
section = section[:-1]
|
||||
man = f"{page}({section})"
|
||||
title = f"<refentrytitle>{escape(page)}</refentrytitle>"
|
||||
vol = f"<manvolnum>{escape(section)}</manvolnum>"
|
||||
ref = f"<citerefentry>{title}{vol}</citerefentry>"
|
||||
if man in manpage_urls:
|
||||
return f"<link xlink:href={quoteattr(manpage_urls[man])}>{ref}</link>"
|
||||
else:
|
||||
return ref
|
||||
raise NotImplementedError("md node not supported yet", token)
|
||||
|
||||
md = (
|
||||
markdown_it.MarkdownIt(renderer_cls=Renderer)
|
||||
# TODO maybe fork the plugin and have only a single rule for all?
|
||||
.use(container_plugin, name="{.note}")
|
||||
.use(container_plugin, name="{.important}")
|
||||
.use(container_plugin, name="{.warning}")
|
||||
.use(deflist_plugin)
|
||||
.use(myst_role_plugin)
|
||||
)
|
||||
|
||||
# converts in-place!
|
||||
def convertMD(options: Dict[str, Any]) -> str:
|
||||
def convertString(path: str, text: str) -> str:
|
||||
try:
|
||||
rendered = md.render(text)
|
||||
return rendered
|
||||
except:
|
||||
print(f"error in {path}")
|
||||
raise
|
||||
|
||||
def optionIs(option: Dict[str, Any], key: str, typ: str) -> bool:
|
||||
if key not in option: return False
|
||||
if type(option[key]) != dict: return False
|
||||
if '_type' not in option[key]: return False
|
||||
return option[key]['_type'] == typ
|
||||
|
||||
def convertCode(name: str, option: Dict[str, Any], key: str):
|
||||
rendered = f"{key}-db"
|
||||
if optionIs(option, key, 'literalMD'):
|
||||
option[rendered] = convertString(name, f"*{key.capitalize()}:*\n{option[key]['text']}")
|
||||
elif optionIs(option, key, 'literalExpression'):
|
||||
code = option[key]['text']
|
||||
# for multi-line code blocks we only have to count ` runs at the beginning
|
||||
# of a line, but this is much easier.
|
||||
multiline = '\n' in code
|
||||
longest, current = (0, 0)
|
||||
for c in code:
|
||||
current = current + 1 if c == '`' else 0
|
||||
longest = max(current, longest)
|
||||
# inline literals need a space to separate ticks from content, code blocks
|
||||
# need newlines. inline literals need one extra tick, code blocks need three.
|
||||
ticks, sep = ('`' * (longest + (3 if multiline else 1)), '\n' if multiline else ' ')
|
||||
code = f"{ticks}{sep}{code}{sep}{ticks}"
|
||||
option[rendered] = convertString(name, f"*{key.capitalize()}:*\n{code}")
|
||||
elif optionIs(option, key, 'literalDocBook'):
|
||||
option[rendered] = f"<para><emphasis>{key.capitalize()}:</emphasis> {option[key]['text']}</para>"
|
||||
elif key in option:
|
||||
raise Exception(f"{name} {key} has unrecognized type", option[key])
|
||||
|
||||
for (name, option) in options.items():
|
||||
try:
|
||||
if optionIs(option, 'description', 'mdDoc'):
|
||||
option['description'] = convertString(name, option['description']['text'])
|
||||
elif markdownByDefault:
|
||||
option['description'] = convertString(name, option['description'])
|
||||
else:
|
||||
option['description'] = ("<nixos:option-description><para>" +
|
||||
option['description'] +
|
||||
"</para></nixos:option-description>")
|
||||
|
||||
convertCode(name, option, 'example')
|
||||
convertCode(name, option, 'default')
|
||||
|
||||
if 'relatedPackages' in option:
|
||||
option['relatedPackages'] = convertString(name, option['relatedPackages'])
|
||||
except Exception as e:
|
||||
raise Exception(f"Failed to render option {name}: {str(e)}")
|
||||
|
||||
|
||||
return options
|
||||
|
||||
warningsAreErrors = False
|
||||
warnOnDocbook = False
|
||||
errorOnDocbook = False
|
||||
markdownByDefault = False
|
||||
optOffset = 0
|
||||
for arg in sys.argv[1:]:
|
||||
if arg == "--warnings-are-errors":
|
||||
@ -296,9 +56,6 @@ for arg in sys.argv[1:]:
|
||||
elif arg == "--error-on-docbook":
|
||||
optOffset += 1
|
||||
errorOnDocbook = True
|
||||
if arg == "--markdown-by-default":
|
||||
optOffset += 1
|
||||
markdownByDefault = True
|
||||
|
||||
options = pivot(json.load(open(sys.argv[1 + optOffset], 'r')))
|
||||
overrides = pivot(json.load(open(sys.argv[2 + optOffset], 'r')))
|
||||
@ -404,4 +161,4 @@ if hasWarnings and warningsAreErrors:
|
||||
file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
json.dump(convertMD(unpivot(options)), fp=sys.stdout)
|
||||
json.dump(unpivot(options), fp=sys.stdout)
|
||||
|
@ -1,179 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:str="http://exslt.org/strings"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:nixos="tag:nixos.org"
|
||||
xmlns="http://docbook.org/ns/docbook"
|
||||
extension-element-prefixes="str"
|
||||
>
|
||||
|
||||
<xsl:output method='xml' encoding="UTF-8" />
|
||||
|
||||
<xsl:param name="revision" />
|
||||
<xsl:param name="documentType" />
|
||||
<xsl:param name="program" />
|
||||
<xsl:param name="variablelistId" />
|
||||
<xsl:param name="optionIdPrefix" />
|
||||
|
||||
|
||||
<xsl:template match="/expr/list">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$documentType = 'appendix'">
|
||||
<appendix xml:id="appendix-configuration-options">
|
||||
<title>Configuration Options</title>
|
||||
<xsl:call-template name="variable-list"/>
|
||||
</appendix>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="variable-list"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="variable-list">
|
||||
<variablelist>
|
||||
<xsl:attribute name="id" namespace="http://www.w3.org/XML/1998/namespace"><xsl:value-of select="$variablelistId"/></xsl:attribute>
|
||||
<xsl:for-each select="attrs">
|
||||
<xsl:variable name="id" select="
|
||||
concat($optionIdPrefix,
|
||||
translate(
|
||||
attr[@name = 'name']/string/@value,
|
||||
'*< >[]:"',
|
||||
'________'
|
||||
))" />
|
||||
<varlistentry>
|
||||
<term xlink:href="#{$id}">
|
||||
<xsl:attribute name="xml:id"><xsl:value-of select="$id"/></xsl:attribute>
|
||||
<option>
|
||||
<xsl:value-of select="attr[@name = 'name']/string/@value" />
|
||||
</option>
|
||||
</term>
|
||||
|
||||
<listitem>
|
||||
|
||||
<xsl:value-of disable-output-escaping="yes"
|
||||
select="attr[@name = 'description']/string/@value" />
|
||||
|
||||
<xsl:if test="attr[@name = 'type']">
|
||||
<para>
|
||||
<emphasis>Type:</emphasis>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="attr[@name = 'type']/string/@value"/>
|
||||
<xsl:if test="attr[@name = 'readOnly']/bool/@value = 'true'">
|
||||
<xsl:text> </xsl:text>
|
||||
<emphasis>(read only)</emphasis>
|
||||
</xsl:if>
|
||||
</para>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="attr[@name = 'default-db']">
|
||||
<xsl:value-of disable-output-escaping="yes"
|
||||
select="attr[@name = 'default-db']/string/@value" />
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="attr[@name = 'example-db']">
|
||||
<xsl:value-of disable-output-escaping="yes"
|
||||
select="attr[@name = 'example-db']/string/@value" />
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="attr[@name = 'relatedPackages']">
|
||||
<para>
|
||||
<emphasis>Related packages:</emphasis>
|
||||
</para>
|
||||
<xsl:value-of disable-output-escaping="yes"
|
||||
select="attr[@name = 'relatedPackages']/string/@value" />
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="count(attr[@name = 'declarations']/list/*) != 0">
|
||||
<para>
|
||||
<emphasis>Declared by:</emphasis>
|
||||
</para>
|
||||
<xsl:apply-templates select="attr[@name = 'declarations']" />
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="count(attr[@name = 'definitions']/list/*) != 0">
|
||||
<para>
|
||||
<emphasis>Defined by:</emphasis>
|
||||
</para>
|
||||
<xsl:apply-templates select="attr[@name = 'definitions']" />
|
||||
</xsl:if>
|
||||
|
||||
</listitem>
|
||||
|
||||
</varlistentry>
|
||||
|
||||
</xsl:for-each>
|
||||
|
||||
</variablelist>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="attrs[attr[@name = '_type' and string[@value = 'literalDocBook']]]" mode = "top">
|
||||
<xsl:value-of disable-output-escaping="yes" select="attr[@name = 'text']/string/@value" />
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="attr[@name = 'declarations' or @name = 'definitions']">
|
||||
<simplelist>
|
||||
<!--
|
||||
Example:
|
||||
opt.declarations = [ { name = "foo/bar.nix"; url = "https://github.com/....."; } ];
|
||||
-->
|
||||
<xsl:for-each select="list/attrs[attr[@name = 'name']]">
|
||||
<member><filename>
|
||||
<xsl:if test="attr[@name = 'url']">
|
||||
<xsl:attribute name="xlink:href"><xsl:value-of select="attr[@name = 'url']/string/@value"/></xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="attr[@name = 'name']/string/@value"/>
|
||||
</filename></member>
|
||||
</xsl:for-each>
|
||||
|
||||
<!--
|
||||
When the declarations/definitions are raw strings,
|
||||
fall back to hardcoded location logic, specific to Nixpkgs.
|
||||
-->
|
||||
<xsl:for-each select="list/string">
|
||||
<member><filename>
|
||||
<!-- Hyperlink the filename either to the NixOS Subversion
|
||||
repository (if it’s a module and we have a revision number),
|
||||
or to the local filesystem. -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(starts-with(@value, '/'))">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$revision = 'local'">
|
||||
<xsl:attribute name="xlink:href">https://github.com/NixOS/nixpkgs/blob/master/<xsl:value-of select="@value"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="xlink:href">https://github.com/NixOS/nixpkgs/blob/<xsl:value-of select="$revision"/>/<xsl:value-of select="@value"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:when>
|
||||
<xsl:when test="$revision != 'local' and $program = 'nixops' and contains(@value, '/nix/')">
|
||||
<xsl:attribute name="xlink:href">https://github.com/NixOS/nixops/blob/<xsl:value-of select="$revision"/>/nix/<xsl:value-of select="substring-after(@value, '/nix/')"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="xlink:href">file://<xsl:value-of select="@value"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<!-- Print the filename and make it user-friendly by replacing the
|
||||
/nix/store/<hash> prefix by the default location of nixos
|
||||
sources. -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="not(starts-with(@value, '/'))">
|
||||
<nixpkgs/<xsl:value-of select="@value"/>>
|
||||
</xsl:when>
|
||||
<xsl:when test="contains(@value, 'nixops') and contains(@value, '/nix/')">
|
||||
<nixops/<xsl:value-of select="substring-after(@value, '/nix/')"/>>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="@value" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</filename></member>
|
||||
</xsl:for-each>
|
||||
</simplelist>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
@ -1,6 +0,0 @@
|
||||
{ file }:
|
||||
|
||||
builtins.attrValues
|
||||
(builtins.mapAttrs
|
||||
(name: def: def // { inherit name; })
|
||||
(builtins.fromJSON (builtins.readFile file)))
|
343
nixos/lib/make-options-doc/optionsToDocbook.py
Normal file
343
nixos/lib/make-options-doc/optionsToDocbook.py
Normal file
@ -0,0 +1,343 @@
|
||||
import collections
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
from typing import Any, Dict, List
|
||||
from collections.abc import MutableMapping, Sequence
|
||||
import inspect
|
||||
|
||||
# for MD conversion
|
||||
import markdown_it
|
||||
import markdown_it.renderer
|
||||
from markdown_it.token import Token
|
||||
from markdown_it.utils import OptionsDict
|
||||
from mdit_py_plugins.container import container_plugin
|
||||
from mdit_py_plugins.deflist import deflist_plugin
|
||||
from mdit_py_plugins.myst_role import myst_role_plugin
|
||||
from xml.sax.saxutils import escape, quoteattr
|
||||
|
||||
manpage_urls = json.load(open(os.getenv('MANPAGE_URLS')))
|
||||
|
||||
class Renderer(markdown_it.renderer.RendererProtocol):
|
||||
__output__ = "docbook"
|
||||
def __init__(self, parser=None):
|
||||
self.rules = {
|
||||
k: v
|
||||
for k, v in inspect.getmembers(self, predicate=inspect.ismethod)
|
||||
if not (k.startswith("render") or k.startswith("_"))
|
||||
} | {
|
||||
"container_{.note}_open": self._note_open,
|
||||
"container_{.note}_close": self._note_close,
|
||||
"container_{.important}_open": self._important_open,
|
||||
"container_{.important}_close": self._important_close,
|
||||
"container_{.warning}_open": self._warning_open,
|
||||
"container_{.warning}_close": self._warning_close,
|
||||
}
|
||||
def render(self, tokens: Sequence[Token], options: OptionsDict, env: MutableMapping) -> str:
|
||||
assert '-link-tag-stack' not in env
|
||||
env['-link-tag-stack'] = []
|
||||
assert '-deflist-stack' not in env
|
||||
env['-deflist-stack'] = []
|
||||
def do_one(i, token):
|
||||
if token.type == "inline":
|
||||
assert token.children is not None
|
||||
return self.renderInline(token.children, options, env)
|
||||
elif token.type in self.rules:
|
||||
return self.rules[token.type](tokens[i], tokens, i, options, env)
|
||||
else:
|
||||
raise NotImplementedError("md token not supported yet", token)
|
||||
return "".join(map(lambda arg: do_one(*arg), enumerate(tokens)))
|
||||
def renderInline(self, tokens: Sequence[Token], options: OptionsDict, env: MutableMapping) -> str:
|
||||
# HACK to support docbook links and xrefs. link handling is only necessary because the docbook
|
||||
# manpage stylesheet converts - in urls to a mathematical minus, which may be somewhat incorrect.
|
||||
for i, token in enumerate(tokens):
|
||||
if token.type != 'link_open':
|
||||
continue
|
||||
token.tag = 'link'
|
||||
# turn [](#foo) into xrefs
|
||||
if token.attrs['href'][0:1] == '#' and tokens[i + 1].type == 'link_close':
|
||||
token.tag = "xref"
|
||||
# turn <x> into links without contents
|
||||
if tokens[i + 1].type == 'text' and tokens[i + 1].content == token.attrs['href']:
|
||||
tokens[i + 1].content = ''
|
||||
|
||||
def do_one(i, token):
|
||||
if token.type in self.rules:
|
||||
return self.rules[token.type](tokens[i], tokens, i, options, env)
|
||||
else:
|
||||
raise NotImplementedError("md node not supported yet", token)
|
||||
return "".join(map(lambda arg: do_one(*arg), enumerate(tokens)))
|
||||
|
||||
def text(self, token, tokens, i, options, env):
|
||||
return escape(token.content)
|
||||
def paragraph_open(self, token, tokens, i, options, env):
|
||||
return "<para>"
|
||||
def paragraph_close(self, token, tokens, i, options, env):
|
||||
return "</para>"
|
||||
def hardbreak(self, token, tokens, i, options, env):
|
||||
return "<literallayout>\n</literallayout>"
|
||||
def softbreak(self, token, tokens, i, options, env):
|
||||
# should check options.breaks() and emit hard break if so
|
||||
return "\n"
|
||||
def code_inline(self, token, tokens, i, options, env):
|
||||
return f"<literal>{escape(token.content)}</literal>"
|
||||
def code_block(self, token, tokens, i, options, env):
|
||||
return f"<programlisting>{escape(token.content)}</programlisting>"
|
||||
def link_open(self, token, tokens, i, options, env):
|
||||
env['-link-tag-stack'].append(token.tag)
|
||||
(attr, start) = ('linkend', 1) if token.attrs['href'][0] == '#' else ('xlink:href', 0)
|
||||
return f"<{token.tag} {attr}={quoteattr(token.attrs['href'][start:])}>"
|
||||
def link_close(self, token, tokens, i, options, env):
|
||||
return f"</{env['-link-tag-stack'].pop()}>"
|
||||
def list_item_open(self, token, tokens, i, options, env):
|
||||
return "<listitem>"
|
||||
def list_item_close(self, token, tokens, i, options, env):
|
||||
return "</listitem>\n"
|
||||
# HACK open and close para for docbook change size. remove soon.
|
||||
def bullet_list_open(self, token, tokens, i, options, env):
|
||||
return "<para><itemizedlist>\n"
|
||||
def bullet_list_close(self, token, tokens, i, options, env):
|
||||
return "\n</itemizedlist></para>"
|
||||
def em_open(self, token, tokens, i, options, env):
|
||||
return "<emphasis>"
|
||||
def em_close(self, token, tokens, i, options, env):
|
||||
return "</emphasis>"
|
||||
def strong_open(self, token, tokens, i, options, env):
|
||||
return "<emphasis role=\"strong\">"
|
||||
def strong_close(self, token, tokens, i, options, env):
|
||||
return "</emphasis>"
|
||||
def fence(self, token, tokens, i, options, env):
|
||||
info = f" language={quoteattr(token.info)}" if token.info != "" else ""
|
||||
return f"<programlisting{info}>{escape(token.content)}</programlisting>"
|
||||
def blockquote_open(self, token, tokens, i, options, env):
|
||||
return "<para><blockquote>"
|
||||
def blockquote_close(self, token, tokens, i, options, env):
|
||||
return "</blockquote></para>"
|
||||
def _note_open(self, token, tokens, i, options, env):
|
||||
return "<para><note>"
|
||||
def _note_close(self, token, tokens, i, options, env):
|
||||
return "</note></para>"
|
||||
def _important_open(self, token, tokens, i, options, env):
|
||||
return "<para><important>"
|
||||
def _important_close(self, token, tokens, i, options, env):
|
||||
return "</important></para>"
|
||||
def _warning_open(self, token, tokens, i, options, env):
|
||||
return "<para><warning>"
|
||||
def _warning_close(self, token, tokens, i, options, env):
|
||||
return "</warning></para>"
|
||||
# markdown-it emits tokens based on the html syntax tree, but docbook is
|
||||
# slightly different. html has <dl>{<dt/>{<dd/>}}</dl>,
|
||||
# docbook has <variablelist>{<varlistentry><term/><listitem/></varlistentry>}<variablelist>
|
||||
# we have to reject multiple definitions for the same term for time being.
|
||||
def dl_open(self, token, tokens, i, options, env):
|
||||
env['-deflist-stack'].append({})
|
||||
return "<para><variablelist>"
|
||||
def dl_close(self, token, tokens, i, options, env):
|
||||
env['-deflist-stack'].pop()
|
||||
return "</variablelist></para>"
|
||||
def dt_open(self, token, tokens, i, options, env):
|
||||
env['-deflist-stack'][-1]['has-dd'] = False
|
||||
return "<varlistentry><term>"
|
||||
def dt_close(self, token, tokens, i, options, env):
|
||||
return "</term>"
|
||||
def dd_open(self, token, tokens, i, options, env):
|
||||
if env['-deflist-stack'][-1]['has-dd']:
|
||||
raise Exception("multiple definitions per term not supported")
|
||||
env['-deflist-stack'][-1]['has-dd'] = True
|
||||
return "<listitem>"
|
||||
def dd_close(self, token, tokens, i, options, env):
|
||||
return "</listitem></varlistentry>"
|
||||
def myst_role(self, token, tokens, i, options, env):
|
||||
if token.meta['name'] == 'command':
|
||||
return f"<command>{escape(token.content)}</command>"
|
||||
if token.meta['name'] == 'file':
|
||||
return f"<filename>{escape(token.content)}</filename>"
|
||||
if token.meta['name'] == 'var':
|
||||
return f"<varname>{escape(token.content)}</varname>"
|
||||
if token.meta['name'] == 'env':
|
||||
return f"<envar>{escape(token.content)}</envar>"
|
||||
if token.meta['name'] == 'option':
|
||||
return f"<option>{escape(token.content)}</option>"
|
||||
if token.meta['name'] == 'manpage':
|
||||
[page, section] = [ s.strip() for s in token.content.rsplit('(', 1) ]
|
||||
section = section[:-1]
|
||||
man = f"{page}({section})"
|
||||
title = f"<refentrytitle>{escape(page)}</refentrytitle>"
|
||||
vol = f"<manvolnum>{escape(section)}</manvolnum>"
|
||||
ref = f"<citerefentry>{title}{vol}</citerefentry>"
|
||||
if man in manpage_urls:
|
||||
return f"<link xlink:href={quoteattr(manpage_urls[man])}>{ref}</link>"
|
||||
else:
|
||||
return ref
|
||||
raise NotImplementedError("md node not supported yet", token)
|
||||
|
||||
md = (
|
||||
markdown_it.MarkdownIt(renderer_cls=Renderer)
|
||||
# TODO maybe fork the plugin and have only a single rule for all?
|
||||
.use(container_plugin, name="{.note}")
|
||||
.use(container_plugin, name="{.important}")
|
||||
.use(container_plugin, name="{.warning}")
|
||||
.use(deflist_plugin)
|
||||
.use(myst_role_plugin)
|
||||
)
|
||||
|
||||
# converts in-place!
|
||||
def convertMD(options: Dict[str, Any]) -> str:
|
||||
def optionIs(option: Dict[str, Any], key: str, typ: str) -> bool:
|
||||
if key not in option: return False
|
||||
if type(option[key]) != dict: return False
|
||||
if '_type' not in option[key]: return False
|
||||
return option[key]['_type'] == typ
|
||||
|
||||
def convertCode(name: str, option: Dict[str, Any], key: str):
|
||||
if optionIs(option, key, 'literalMD'):
|
||||
option[key] = md.render(f"*{key.capitalize()}:*\n{option[key]['text']}")
|
||||
elif optionIs(option, key, 'literalExpression'):
|
||||
code = option[key]['text']
|
||||
# for multi-line code blocks we only have to count ` runs at the beginning
|
||||
# of a line, but this is much easier.
|
||||
multiline = '\n' in code
|
||||
longest, current = (0, 0)
|
||||
for c in code:
|
||||
current = current + 1 if c == '`' else 0
|
||||
longest = max(current, longest)
|
||||
# inline literals need a space to separate ticks from content, code blocks
|
||||
# need newlines. inline literals need one extra tick, code blocks need three.
|
||||
ticks, sep = ('`' * (longest + (3 if multiline else 1)), '\n' if multiline else ' ')
|
||||
code = f"{ticks}{sep}{code}{sep}{ticks}"
|
||||
option[key] = md.render(f"*{key.capitalize()}:*\n{code}")
|
||||
elif optionIs(option, key, 'literalDocBook'):
|
||||
option[key] = f"<para><emphasis>{key.capitalize()}:</emphasis> {option[key]['text']}</para>"
|
||||
elif key in option:
|
||||
raise Exception(f"{name} {key} has unrecognized type", option[key])
|
||||
|
||||
for (name, option) in options.items():
|
||||
try:
|
||||
if optionIs(option, 'description', 'mdDoc'):
|
||||
option['description'] = md.render(option['description']['text'])
|
||||
elif markdownByDefault:
|
||||
option['description'] = md.render(option['description'])
|
||||
else:
|
||||
option['description'] = ("<nixos:option-description><para>" +
|
||||
option['description'] +
|
||||
"</para></nixos:option-description>")
|
||||
|
||||
convertCode(name, option, 'example')
|
||||
convertCode(name, option, 'default')
|
||||
|
||||
if 'relatedPackages' in option:
|
||||
option['relatedPackages'] = md.render(option['relatedPackages'])
|
||||
except Exception as e:
|
||||
raise Exception(f"Failed to render option {name}") from e
|
||||
|
||||
return options
|
||||
|
||||
id_translate_table = {
|
||||
ord('*'): ord('_'),
|
||||
ord('<'): ord('_'),
|
||||
ord(' '): ord('_'),
|
||||
ord('>'): ord('_'),
|
||||
ord('['): ord('_'),
|
||||
ord(']'): ord('_'),
|
||||
ord(':'): ord('_'),
|
||||
ord('"'): ord('_'),
|
||||
}
|
||||
|
||||
def need_env(n):
|
||||
if n not in os.environ:
|
||||
raise RuntimeError("required environment variable not set", n)
|
||||
return os.environ[n]
|
||||
|
||||
OTD_REVISION = need_env('OTD_REVISION')
|
||||
OTD_DOCUMENT_TYPE = need_env('OTD_DOCUMENT_TYPE')
|
||||
OTD_VARIABLE_LIST_ID = need_env('OTD_VARIABLE_LIST_ID')
|
||||
OTD_OPTION_ID_PREFIX = need_env('OTD_OPTION_ID_PREFIX')
|
||||
|
||||
def print_decl_def(header, locs):
|
||||
print(f"""<para><emphasis>{header}:</emphasis></para>""")
|
||||
print(f"""<simplelist>""")
|
||||
for loc in locs:
|
||||
# locations can be either plain strings (specific to nixpkgs), or attrsets
|
||||
# { name = "foo/bar.nix"; url = "https://github.com/....."; }
|
||||
if isinstance(loc, str):
|
||||
# Hyperlink the filename either to the NixOS github
|
||||
# repository (if it’s a module and we have a revision number),
|
||||
# or to the local filesystem.
|
||||
if not loc.startswith('/'):
|
||||
if OTD_REVISION == 'local':
|
||||
href = f"https://github.com/NixOS/nixpkgs/blob/master/{loc}"
|
||||
else:
|
||||
href = f"https://github.com/NixOS/nixpkgs/blob/{OTD_REVISION}/{loc}"
|
||||
else:
|
||||
href = f"file://{loc}"
|
||||
# Print the filename and make it user-friendly by replacing the
|
||||
# /nix/store/<hash> prefix by the default location of nixos
|
||||
# sources.
|
||||
if not loc.startswith('/'):
|
||||
name = f"<nixpkgs/{loc}>"
|
||||
elif loc.contains('nixops') and loc.contains('/nix/'):
|
||||
name = f"<nixops/{loc[loc.find('/nix/') + 5:]}>"
|
||||
else:
|
||||
name = loc
|
||||
print(f"""<member><filename xlink:href={quoteattr(href)}>""")
|
||||
print(escape(name))
|
||||
print(f"""</filename></member>""")
|
||||
else:
|
||||
href = f" xlink:href={quoteattr(loc['url'])}" if 'url' in loc else ""
|
||||
print(f"""<member><filename{href}>{escape(loc['name'])}</filename></member>""")
|
||||
print(f"""</simplelist>""")
|
||||
|
||||
markdownByDefault = False
|
||||
optOffset = 0
|
||||
for arg in sys.argv[1:]:
|
||||
if arg == "--markdown-by-default":
|
||||
optOffset += 1
|
||||
markdownByDefault = True
|
||||
|
||||
options = convertMD(json.load(open(sys.argv[1 + optOffset], 'r')))
|
||||
|
||||
keys = list(options.keys())
|
||||
keys.sort(key=lambda opt: [ (0 if p.startswith("enable") else 1 if p.startswith("package") else 2, p)
|
||||
for p in options[opt]['loc'] ])
|
||||
|
||||
print(f"""<?xml version="1.0" encoding="UTF-8"?>""")
|
||||
if OTD_DOCUMENT_TYPE == 'appendix':
|
||||
print("""<appendix xmlns="http://docbook.org/ns/docbook" xml:id="appendix-configuration-options">""")
|
||||
print(""" <title>Configuration Options</title>""")
|
||||
print(f"""<variablelist xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:nixos="tag:nixos.org"
|
||||
xmlns="http://docbook.org/ns/docbook"
|
||||
xml:id="{OTD_VARIABLE_LIST_ID}">""")
|
||||
|
||||
for name in keys:
|
||||
opt = options[name]
|
||||
id = OTD_OPTION_ID_PREFIX + name.translate(id_translate_table)
|
||||
print(f"""<varlistentry>""")
|
||||
# NOTE adding extra spaces here introduces spaces into xref link expansions
|
||||
print(f"""<term xlink:href={quoteattr("#" + id)} xml:id={quoteattr(id)}>""", end='')
|
||||
print(f"""<option>{escape(name)}</option>""", end='')
|
||||
print(f"""</term>""")
|
||||
print(f"""<listitem>""")
|
||||
print(opt['description'])
|
||||
if typ := opt.get('type'):
|
||||
ro = " <emphasis>(read only)</emphasis>" if opt.get('readOnly', False) else ""
|
||||
print(f"""<para><emphasis>Type:</emphasis> {escape(typ)}{ro}</para>""")
|
||||
if default := opt.get('default'):
|
||||
print(default)
|
||||
if example := opt.get('example'):
|
||||
print(example)
|
||||
if related := opt.get('relatedPackages'):
|
||||
print(f"""<para>""")
|
||||
print(f""" <emphasis>Related packages:</emphasis>""")
|
||||
print(f"""</para>""")
|
||||
print(related)
|
||||
if decl := opt.get('declarations'):
|
||||
print_decl_def("Declared by", decl)
|
||||
if defs := opt.get('definitions'):
|
||||
print_decl_def("Defined by", defs)
|
||||
print(f"""</listitem>""")
|
||||
print(f"""</varlistentry>""")
|
||||
|
||||
print("""</variablelist>""")
|
||||
if OTD_DOCUMENT_TYPE == 'appendix':
|
||||
print("""</appendix>""")
|
@ -1,27 +0,0 @@
|
||||
import xml.etree.ElementTree as ET
|
||||
import sys
|
||||
|
||||
tree = ET.parse(sys.argv[1])
|
||||
# the xml tree is of the form
|
||||
# <expr><list> {all options, each an attrs} </list></expr>
|
||||
options = list(tree.getroot().find('list'))
|
||||
|
||||
def sortKey(opt):
|
||||
def order(s):
|
||||
if s.startswith("enable"):
|
||||
return 0
|
||||
if s.startswith("package"):
|
||||
return 1
|
||||
return 2
|
||||
|
||||
return [
|
||||
(order(p.attrib['value']), p.attrib['value'])
|
||||
for p in opt.findall('attr[@name="loc"]/list/string')
|
||||
]
|
||||
|
||||
options.sort(key=sortKey)
|
||||
|
||||
doc = ET.Element("expr")
|
||||
newOptions = ET.SubElement(doc, "list")
|
||||
newOptions.extend(options)
|
||||
ET.ElementTree(doc).write(sys.argv[2], encoding='utf-8')
|
@ -1,5 +1,5 @@
|
||||
{ fetchFromGitLab
|
||||
, lib
|
||||
{ lib
|
||||
, fetchFromGitLab
|
||||
, python3Packages
|
||||
, gobject-introspection
|
||||
, gtk3
|
||||
@ -9,8 +9,10 @@
|
||||
, chromecastSupport ? false
|
||||
, serverSupport ? false
|
||||
, keyringSupport ? true
|
||||
, notifySupport ? true, libnotify
|
||||
, networkSupport ? true, networkmanager
|
||||
, notifySupport ? true
|
||||
, libnotify
|
||||
, networkSupport ? true
|
||||
, networkmanager
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
@ -21,8 +23,8 @@ python3Packages.buildPythonApplication rec {
|
||||
src = fetchFromGitLab {
|
||||
owner = "sublime-music";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-n77mTgElwwFaX3WQL8tZzbkPwnsyQ08OW9imSOjpBlg=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-n77mTgElwwFaX3WQL8tZzbkPwnsyQ08OW9imSOjpBlg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -38,12 +40,21 @@ python3Packages.buildPythonApplication rec {
|
||||
"python-mpv"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i "/--cov/d" setup.cfg
|
||||
sed -i "/--no-cov-on-fail/d" setup.cfg
|
||||
# https://github.com/sublime-music/sublime-music/pull/370
|
||||
# Can be removed in later versions (probably > 0.11.16)
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'python-Levenshtein = "^0.12.0"' 'Levenshtein = ">0.12.0"'
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
pango
|
||||
]
|
||||
++ lib.optional notifySupport libnotify
|
||||
++ lib.optional networkSupport networkmanager
|
||||
++ lib.optional notifySupport libnotify
|
||||
++ lib.optional networkSupport networkmanager
|
||||
;
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
@ -59,16 +70,11 @@ python3Packages.buildPythonApplication rec {
|
||||
requests
|
||||
semver
|
||||
]
|
||||
++ lib.optional chromecastSupport PyChromecast
|
||||
++ lib.optional keyringSupport keyring
|
||||
++ lib.optional serverSupport bottle
|
||||
++ lib.optional chromecastSupport PyChromecast
|
||||
++ lib.optional keyringSupport keyring
|
||||
++ lib.optional serverSupport bottle
|
||||
;
|
||||
|
||||
postPatch = ''
|
||||
sed -i "/--cov/d" setup.cfg
|
||||
sed -i "/--no-cov-on-fail/d" setup.cfg
|
||||
'';
|
||||
|
||||
# hook for gobject-introspection doesn't like strictDeps
|
||||
# https://github.com/NixOS/nixpkgs/issues/56943
|
||||
strictDeps = false;
|
||||
@ -98,6 +104,7 @@ python3Packages.buildPythonApplication rec {
|
||||
meta = with lib; {
|
||||
description = "GTK3 Subsonic/Airsonic client";
|
||||
homepage = "https://sublimemusic.app/";
|
||||
changelog = "https://github.com/sublime-music/sublime-music/blob/v${version}/CHANGELOG.rst";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ albakham sumnerevans ];
|
||||
};
|
||||
|
@ -8,13 +8,13 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "vorta";
|
||||
version = "0.8.9";
|
||||
version = "0.8.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "borgbase";
|
||||
repo = "vorta";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-5RZXHMov3CX0zRprs7sgz0+cGEdESLrg4I2glRnTkcU=";
|
||||
hash = "sha256-okxZ1kALB5l94ShStAJLfzD37MLhob8MCzhbqfVISkw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||
@ -84,10 +84,11 @@ python3Packages.buildPythonApplication rec {
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
license = licenses.gpl3Only;
|
||||
homepage = "https://vorta.borgbase.com/";
|
||||
maintainers = with maintainers; [ ma27 ];
|
||||
changelog = "https://github.com/borgbase/vorta/releases/tag/v0.8.10";
|
||||
description = "Desktop Backup Client for Borg";
|
||||
homepage = "https://vorta.borgbase.com/";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ ma27 ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "rednotebook";
|
||||
version = "2.29";
|
||||
version = "2.29.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jendrikseipp";
|
||||
repo = "rednotebook";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-gRmSxWAVF61svlZ0/IMTrWCmwin+uPONLBlcJOYcp2w=";
|
||||
sha256 = "sha256-2qgWJ/bIravil/SuApA7pNXkxS5xUcdFpjVGO/ogDpw=";
|
||||
};
|
||||
|
||||
# We have not packaged tests.
|
||||
|
@ -45,7 +45,7 @@ assert with lib.strings; (
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "palemoon";
|
||||
version = "31.4.2";
|
||||
version = "32.0.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "repo.palemoon.org";
|
||||
@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
|
||||
repo = "Pale-Moon";
|
||||
rev = "${version}_Release";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-vJhjQfsa05fFNL24tUBHfKoKZG2aLXp5xBdUqqGDtAE=";
|
||||
sha256 = "sha256-0N63Xo8cRIHwEXkT8eeot0DgZU7aPirmVq/iHJjlGRw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "rke";
|
||||
version = "1.4.1";
|
||||
version = "1.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rancher";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-H5T7Hr6/YL93lbCLOxfQ+Kmv3C+FS074418mHhBV3Bs=";
|
||||
hash = "sha256-4aT9SguxN7oaewnrxme1nCFfaQytSJ9Aeb0WEQACtUA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-zV1lrJhzrUAcEk6jYLCFrHcYw3CZart46qXErCTjZyQ=";
|
||||
|
348
pkgs/applications/networking/n8n/node-packages.nix
generated
348
pkgs/applications/networking/n8n/node-packages.nix
generated
@ -220,13 +220,13 @@ let
|
||||
sha512 = "XqfbglUTVLdkHQ8F9UQJtKseRr3sSnr9ysboxtoswvaMVaEfvyLtMoHv9XdKUfOc0qKGzNgRFd9yRjIWVepl6Q==";
|
||||
};
|
||||
};
|
||||
"@azure/msal-common-9.0.2" = {
|
||||
"@azure/msal-common-9.1.1" = {
|
||||
name = "_at_azure_slash_msal-common";
|
||||
packageName = "@azure/msal-common";
|
||||
version = "9.0.2";
|
||||
version = "9.1.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@azure/msal-common/-/msal-common-9.0.2.tgz";
|
||||
sha512 = "qzwxuF8kZAp+rNUactMCgJh8fblq9D4lSqrrIxMDzLjgSZtjN32ix7r/HBe8QdOr76II9SVVPcMkX4sPzPfQ7w==";
|
||||
url = "https://registry.npmjs.org/@azure/msal-common/-/msal-common-9.1.1.tgz";
|
||||
sha512 = "we9xR8lvu47fF0h+J8KyXoRy9+G/fPzm3QEa2TrdR3jaVS3LKAyE2qyMuUkNdbVkvzl8Zr9f7l+IUSP22HeqXw==";
|
||||
};
|
||||
};
|
||||
"@azure/msal-node-1.0.0-beta.6" = {
|
||||
@ -256,22 +256,22 @@ let
|
||||
sha512 = "o/Mf6lkyYG/eBW4/hXB9864RxVNmAkcKHjsGR6Inlp5hupa3exjSyH2KjO3tLO//YGA+tS+17hM2bxRl9Sn16g==";
|
||||
};
|
||||
};
|
||||
"@babel/parser-7.20.7" = {
|
||||
"@babel/parser-7.20.13" = {
|
||||
name = "_at_babel_slash_parser";
|
||||
packageName = "@babel/parser";
|
||||
version = "7.20.7";
|
||||
version = "7.20.13";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz";
|
||||
sha512 = "T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==";
|
||||
url = "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz";
|
||||
sha512 = "gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==";
|
||||
};
|
||||
};
|
||||
"@babel/runtime-7.20.7" = {
|
||||
"@babel/runtime-7.20.13" = {
|
||||
name = "_at_babel_slash_runtime";
|
||||
packageName = "@babel/runtime";
|
||||
version = "7.20.7";
|
||||
version = "7.20.13";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz";
|
||||
sha512 = "UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==";
|
||||
url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz";
|
||||
sha512 = "gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==";
|
||||
};
|
||||
};
|
||||
"@codemirror/autocomplete-6.4.0" = {
|
||||
@ -283,13 +283,13 @@ let
|
||||
sha512 = "HLF2PnZAm1s4kGs30EiqKMgD7XsYaQ0XJnMR0rofEWQ5t5D60SfqpDIkIh1ze5tiEbyUWm8+VJ6W1/erVvBMIA==";
|
||||
};
|
||||
};
|
||||
"@codemirror/commands-6.1.3" = {
|
||||
"@codemirror/commands-6.2.0" = {
|
||||
name = "_at_codemirror_slash_commands";
|
||||
packageName = "@codemirror/commands";
|
||||
version = "6.1.3";
|
||||
version = "6.2.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@codemirror/commands/-/commands-6.1.3.tgz";
|
||||
sha512 = "wUw1+vb34Ultv0Q9m/OVB7yizGXgtoDbkI5f5ErM8bebwLyUYjicdhJTKhTvPTpgkv8dq/BK0lQ3K5pRf2DAJw==";
|
||||
url = "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.0.tgz";
|
||||
sha512 = "+00smmZBradoGFEkRjliN7BjqPh/Hx0KCHWOEibUmflUqZz2RwBTU0MrVovEEHozhx3AUSGcO/rl3/5f9e9Biw==";
|
||||
};
|
||||
};
|
||||
"@codemirror/lang-javascript-6.1.2" = {
|
||||
@ -382,13 +382,13 @@ let
|
||||
sha512 = "hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==";
|
||||
};
|
||||
};
|
||||
"@fontsource/open-sans-4.5.13" = {
|
||||
"@fontsource/open-sans-4.5.14" = {
|
||||
name = "_at_fontsource_slash_open-sans";
|
||||
packageName = "@fontsource/open-sans";
|
||||
version = "4.5.13";
|
||||
version = "4.5.14";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.13.tgz";
|
||||
sha512 = "/UzqP7ZFk145XAq8KG4pvFPP7UQhtreDGXgqXZjagCDreKxcrhwn/x7DYz9rPcycWkLUVApIybcoczGZiM0cRg==";
|
||||
url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.14.tgz";
|
||||
sha512 = "mBXIIETBlW8q/ocuUN0hyGow2iuf75hQEHQt8R/RJ/HcphVbLg8KB7pHYGbFGDqs75W+SWvTC7JkVeAjT65BuQ==";
|
||||
};
|
||||
};
|
||||
"@fortawesome/fontawesome-common-types-0.2.36" = {
|
||||
@ -445,13 +445,13 @@ let
|
||||
sha512 = "JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==";
|
||||
};
|
||||
};
|
||||
"@fortawesome/vue-fontawesome-2.0.9" = {
|
||||
"@fortawesome/vue-fontawesome-2.0.10" = {
|
||||
name = "_at_fortawesome_slash_vue-fontawesome";
|
||||
packageName = "@fortawesome/vue-fontawesome";
|
||||
version = "2.0.9";
|
||||
version = "2.0.10";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.9.tgz";
|
||||
sha512 = "tUmO92PFHbLOplitjHNBVGMJm6S57vp16tBXJVPKSI/6CfjrgLycqKxEpC6f7qsOqUdoXs5nIv4HLUfrOMHzuw==";
|
||||
url = "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-2.0.10.tgz";
|
||||
sha512 = "OTETSXz+3ygD2OK2/vy82cmUBpuJqeOAg4gfnnv+f2Rir1tDIhQg026Q3NQxznq83ZLz8iNqGG9XJm26inpDeg==";
|
||||
};
|
||||
};
|
||||
"@gar/promisify-1.1.3" = {
|
||||
@ -760,13 +760,13 @@ let
|
||||
sha512 = "OWhCpdu4QqggOPX1YPZ4XVmLLRX+lhGjXV6RNA7sogOwLqlEmSslnN/lhR5dkhcWZbKWBQH29YCrB3LDPRu/IA==";
|
||||
};
|
||||
};
|
||||
"@oclif/core-1.24.0" = {
|
||||
"@oclif/core-1.26.1" = {
|
||||
name = "_at_oclif_slash_core";
|
||||
packageName = "@oclif/core";
|
||||
version = "1.24.0";
|
||||
version = "1.26.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@oclif/core/-/core-1.24.0.tgz";
|
||||
sha512 = "J41suyV4fLfLcRRySZdtgFYSjIlpYqD90SY01Fm4+ZJUMcfDh/eQAD4sogyYOsIT0bfEzYOyYCjmfHmgcoX5aA==";
|
||||
url = "https://registry.npmjs.org/@oclif/core/-/core-1.26.1.tgz";
|
||||
sha512 = "g+OWJcM7JOVI53caTEtq0BB1nPotWctRLUyFODPgvDqXhVR7QED+Qz3LwFAMD8dt7/Ar2ZNq15U3bnpnOv453A==";
|
||||
};
|
||||
};
|
||||
"@oclif/errors-1.3.6" = {
|
||||
@ -949,49 +949,49 @@ let
|
||||
sha512 = "gW69MEamZ4wk1OsOq1nG1jcyhXIQcnrsX5JwixVw/9xaiav8TCyjESAruu1Rz9yyInhgBXxkNwMeygKnN2uxNA==";
|
||||
};
|
||||
};
|
||||
"@sentry/core-7.31.0" = {
|
||||
"@sentry/core-7.33.0" = {
|
||||
name = "_at_sentry_slash_core";
|
||||
packageName = "@sentry/core";
|
||||
version = "7.31.0";
|
||||
version = "7.33.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@sentry/core/-/core-7.31.0.tgz";
|
||||
sha512 = "IZS1MZznyBOPw7UEpZwq3t3aaaVhFB+r3KM4JYFSJRr7Ky9TjldXA3hadNUTztjYGgEC3u8kB9jXoRvNXM2hqA==";
|
||||
url = "https://registry.npmjs.org/@sentry/core/-/core-7.33.0.tgz";
|
||||
sha512 = "mrSgUnXjxHVi0cVea1lv7gC/Y66ya2a3atCHaPEij/+l+3APg5d0Ixt1zMx5YllMiZKf6wpxlZ0uwXcqdAAw+w==";
|
||||
};
|
||||
};
|
||||
"@sentry/integrations-7.31.0" = {
|
||||
"@sentry/integrations-7.33.0" = {
|
||||
name = "_at_sentry_slash_integrations";
|
||||
packageName = "@sentry/integrations";
|
||||
version = "7.31.0";
|
||||
version = "7.33.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.31.0.tgz";
|
||||
sha512 = "pZyxY2t92gWmqULXsSEAjy5LMUyFWTA4f5AL+2gB5xmUjYXSaKT37R7sX5IQ2MVbCyrpJZERklx2LLhCrKtigw==";
|
||||
url = "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.33.0.tgz";
|
||||
sha512 = "r67/9R+DaOZETg7gRvOuYPo5XQdzEaE8f7OaET071dUP0kyUBjO74Y7SZxZV/xjBthMXexw5TANHmLVrZQQVag==";
|
||||
};
|
||||
};
|
||||
"@sentry/node-7.31.0" = {
|
||||
"@sentry/node-7.33.0" = {
|
||||
name = "_at_sentry_slash_node";
|
||||
packageName = "@sentry/node";
|
||||
version = "7.31.0";
|
||||
version = "7.33.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@sentry/node/-/node-7.31.0.tgz";
|
||||
sha512 = "DBjPfThZ5CIC2G9/CVFRlSOP/QqF1IoZXNpTUPZkhQ1cjShJeERT64jMkTdk+RAStSTpEfF6J0rUy1NIyHHEoQ==";
|
||||
url = "https://registry.npmjs.org/@sentry/node/-/node-7.33.0.tgz";
|
||||
sha512 = "isQVF9LLSG4EZLHiSJ3chgK6f3ZBdGxm8fX6YGm8HWz07CubJddes3yBPLPRNXrRLd7X3SK8pPcK5oc3LIKqAw==";
|
||||
};
|
||||
};
|
||||
"@sentry/types-7.31.0" = {
|
||||
"@sentry/types-7.33.0" = {
|
||||
name = "_at_sentry_slash_types";
|
||||
packageName = "@sentry/types";
|
||||
version = "7.31.0";
|
||||
version = "7.33.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@sentry/types/-/types-7.31.0.tgz";
|
||||
sha512 = "nFqo7wyMnapdSEdw1MD+cavDtD9x5QQmh/bwLEOb/euM0cHFJHYyD7CveY/mQng4HyEVWY+DCtX/7E3GcQ7Bdw==";
|
||||
url = "https://registry.npmjs.org/@sentry/types/-/types-7.33.0.tgz";
|
||||
sha512 = "5kkmYjtBWSbPxfYGiXdZFPS6xpFBNlXvDqeX4NpCFXz6/LiEDn6tZ61kuCSFb8MZlyqyCX5WsP3aiI2FJfpGIA==";
|
||||
};
|
||||
};
|
||||
"@sentry/utils-7.31.0" = {
|
||||
"@sentry/utils-7.33.0" = {
|
||||
name = "_at_sentry_slash_utils";
|
||||
packageName = "@sentry/utils";
|
||||
version = "7.31.0";
|
||||
version = "7.33.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@sentry/utils/-/utils-7.31.0.tgz";
|
||||
sha512 = "B1KkvdfwlaqM7sDp3/yk2No7WsbMuLEywGRVOLzXeTqTLSBRBWyyYIudqPtx2LDds9anlUHj21zs9FKY+S3eiA==";
|
||||
url = "https://registry.npmjs.org/@sentry/utils/-/utils-7.33.0.tgz";
|
||||
sha512 = "msp02GV1gOfaN5FjKjWxI00rtbYLXEE5cTGldhs/Dt9KI63dDk1nwPDkSLhg6joqRItAq0thlBh6un717HdWbg==";
|
||||
};
|
||||
};
|
||||
"@servie/events-1.0.0" = {
|
||||
@ -1012,22 +1012,22 @@ let
|
||||
sha512 = "Uy0+khmZqUrUGm5dmMqVlnvufZRSK0FbYzVgp0UMstm+F5+W2/jnEEQyc9vo1ZR/E5ZI/B1WjjoTqBqwJL6Krw==";
|
||||
};
|
||||
};
|
||||
"@swc/core-1.3.27" = {
|
||||
"@swc/core-1.3.28" = {
|
||||
name = "_at_swc_slash_core";
|
||||
packageName = "@swc/core";
|
||||
version = "1.3.27";
|
||||
version = "1.3.28";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@swc/core/-/core-1.3.27.tgz";
|
||||
sha512 = "praRNgpeYGvwDIm/Cl6JU+yHMvwVraL0U6ejMgGyzvpcm1FVsZd1/EYXGqzbBJ0ALv7Gx4eK56h4GnwV6d4L0w==";
|
||||
url = "https://registry.npmjs.org/@swc/core/-/core-1.3.28.tgz";
|
||||
sha512 = "yzc61HbAIjHeOYTUW/IgXAywlSviMFymnUiLY7dNUELGHjMVxSp0XnIlPQN4v5UekYbwLEV8+KChaoQRACiQCw==";
|
||||
};
|
||||
};
|
||||
"@swc/wasm-1.3.27" = {
|
||||
"@swc/wasm-1.3.28" = {
|
||||
name = "_at_swc_slash_wasm";
|
||||
packageName = "@swc/wasm";
|
||||
version = "1.3.27";
|
||||
version = "1.3.28";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@swc/wasm/-/wasm-1.3.27.tgz";
|
||||
sha512 = "bSFeKxGU2zY/xC3K7Y4sjdtHMgbv6gM2Z01PTMGoC8b2PVubPKeW+BYmprZFSf2eCOsNLZaVzVufdVTQB/ORfg==";
|
||||
url = "https://registry.npmjs.org/@swc/wasm/-/wasm-1.3.28.tgz";
|
||||
sha512 = "6RDkQHSi6FxaoPmGnzMq5smYxXlcEec+t6EHrv8rk4emIrnsFjSc2D2PQ0K4xoryJn2NVD3cDbAEVHe6XZX5AQ==";
|
||||
};
|
||||
};
|
||||
"@techteamer/ocsp-1.0.0" = {
|
||||
@ -1156,13 +1156,13 @@ let
|
||||
sha512 = "erqUpFXksaeR2kejKnhnjZjbFxUpGZx4Z7ydNL9ie8tEhXPiZTsLeUDJ6aR1F8j5wWUAtOAQWUqkc7givBJbBA==";
|
||||
};
|
||||
};
|
||||
"@types/express-4.17.15" = {
|
||||
"@types/express-4.17.16" = {
|
||||
name = "_at_types_slash_express";
|
||||
packageName = "@types/express";
|
||||
version = "4.17.15";
|
||||
version = "4.17.16";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@types/express/-/express-4.17.15.tgz";
|
||||
sha512 = "Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==";
|
||||
url = "https://registry.npmjs.org/@types/express/-/express-4.17.16.tgz";
|
||||
sha512 = "LkKpqRZ7zqXJuvoELakaFYuETHjZkSol8EV6cNnyishutDBCCdv6+dsKPbKkCcIk57qRphOLY5sEgClw1bO3gA==";
|
||||
};
|
||||
};
|
||||
"@types/express-jwt-0.0.42" = {
|
||||
@ -1174,13 +1174,13 @@ let
|
||||
sha512 = "WszgUddvM1t5dPpJ3LhWNH8kfNN8GPIBrAGxgIYXVCEGx6Bx4A036aAuf/r5WH9DIEdlmp7gHOYvSM6U87B0ag==";
|
||||
};
|
||||
};
|
||||
"@types/express-serve-static-core-4.17.32" = {
|
||||
"@types/express-serve-static-core-4.17.33" = {
|
||||
name = "_at_types_slash_express-serve-static-core";
|
||||
packageName = "@types/express-serve-static-core";
|
||||
version = "4.17.32";
|
||||
version = "4.17.33";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz";
|
||||
sha512 = "aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA==";
|
||||
url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz";
|
||||
sha512 = "TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==";
|
||||
};
|
||||
};
|
||||
"@types/express-unless-2.0.1" = {
|
||||
@ -1336,13 +1336,13 @@ let
|
||||
sha512 = "sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==";
|
||||
};
|
||||
};
|
||||
"@types/validator-13.7.10" = {
|
||||
"@types/validator-13.7.11" = {
|
||||
name = "_at_types_slash_validator";
|
||||
packageName = "@types/validator";
|
||||
version = "13.7.10";
|
||||
version = "13.7.11";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@types/validator/-/validator-13.7.10.tgz";
|
||||
sha512 = "t1yxFAR2n0+VO6hd/FJ9F2uezAZVWHLmpmlJzm1eX03+H7+HsuTAp7L8QJs+2pQCfWkP1+EXsGK9Z9v7o/qPVQ==";
|
||||
url = "https://registry.npmjs.org/@types/validator/-/validator-13.7.11.tgz";
|
||||
sha512 = "WqTos+CnAKN64YwyBMhgUYhb5VsTNKwUY6AuzG5qu9/pFZJar/RJFMZBXwX7VS+uzYi+lIAr3WkvuWqEI9F2eg==";
|
||||
};
|
||||
};
|
||||
"@types/webidl-conversions-7.0.0" = {
|
||||
@ -1381,13 +1381,13 @@ let
|
||||
sha512 = "xDWoEtxGXhH9Ku3ROYX/rzhcpt4v31hpPU5zF3UeVC/qxA3dChmqU8zvTUYoKh3j7rzpNsoFOwqsWG7XPMlaFA==";
|
||||
};
|
||||
};
|
||||
"@vue/devtools-api-6.4.5" = {
|
||||
"@vue/devtools-api-6.5.0" = {
|
||||
name = "_at_vue_slash_devtools-api";
|
||||
packageName = "@vue/devtools-api";
|
||||
version = "6.4.5";
|
||||
version = "6.5.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz";
|
||||
sha512 = "JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==";
|
||||
url = "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz";
|
||||
sha512 = "o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==";
|
||||
};
|
||||
};
|
||||
"@xmldom/xmldom-0.8.6" = {
|
||||
@ -1435,13 +1435,13 @@ let
|
||||
sha512 = "PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==";
|
||||
};
|
||||
};
|
||||
"acorn-8.8.1" = {
|
||||
"acorn-8.8.2" = {
|
||||
name = "acorn";
|
||||
packageName = "acorn";
|
||||
version = "8.8.1";
|
||||
version = "8.8.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz";
|
||||
sha512 = "7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==";
|
||||
url = "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz";
|
||||
sha512 = "xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==";
|
||||
};
|
||||
};
|
||||
"acorn-walk-8.2.0" = {
|
||||
@ -1867,13 +1867,13 @@ let
|
||||
sha512 = "9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==";
|
||||
};
|
||||
};
|
||||
"aws-sdk-2.1295.0" = {
|
||||
"aws-sdk-2.1301.0" = {
|
||||
name = "aws-sdk";
|
||||
packageName = "aws-sdk";
|
||||
version = "2.1295.0";
|
||||
version = "2.1301.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1295.0.tgz";
|
||||
sha512 = "HVYoFCyfiL8gzL/c0lSRTg8tWBLfqAEDfwzGe338ww/LahpmC6C07S71SBBIvtGq3dpd7IwEobAbubZDijrA0Q==";
|
||||
url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1301.0.tgz";
|
||||
sha512 = "AxCt0GfWV14AWC0yvN3+WEBr45JMu2X3FHb8r3H8EhZjJfHk3hWcDwu6vS5Qd8NFDATlFdWJfyQjPVU1YuaDfw==";
|
||||
};
|
||||
};
|
||||
"aws-sign2-0.7.0" = {
|
||||
@ -1921,13 +1921,13 @@ let
|
||||
sha512 = "00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==";
|
||||
};
|
||||
};
|
||||
"axios-retry-3.3.1" = {
|
||||
"axios-retry-3.4.0" = {
|
||||
name = "axios-retry";
|
||||
packageName = "axios-retry";
|
||||
version = "3.3.1";
|
||||
version = "3.4.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/axios-retry/-/axios-retry-3.3.1.tgz";
|
||||
sha512 = "RohAUQTDxBSWLFEnoIG/6bvmy8l3TfpkclgStjl5MDCMBDgapAWCmr1r/9harQfWC8bzLC8job6UcL1A1Yc+/Q==";
|
||||
url = "https://registry.npmjs.org/axios-retry/-/axios-retry-3.4.0.tgz";
|
||||
sha512 = "VdgaP+gHH4iQYCCNUWF2pcqeciVOdGrBBAYUfTY+wPcO5Ltvp/37MLFNCmJKo7Gj3SHvCSdL8ouI1qLYJN3liA==";
|
||||
};
|
||||
};
|
||||
"babel-helper-vue-jsx-merge-props-2.0.3" = {
|
||||
@ -2956,13 +2956,13 @@ let
|
||||
sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
|
||||
};
|
||||
};
|
||||
"core-js-3.27.1" = {
|
||||
"core-js-3.27.2" = {
|
||||
name = "core-js";
|
||||
packageName = "core-js";
|
||||
version = "3.27.1";
|
||||
version = "3.27.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/core-js/-/core-js-3.27.1.tgz";
|
||||
sha512 = "GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww==";
|
||||
url = "https://registry.npmjs.org/core-js/-/core-js-3.27.2.tgz";
|
||||
sha512 = "9ashVQskuh5AZEZ1JdQWp1GqSoC1e1G87MzRqg2gIfVAQ7Qn9K+uFj8EcniUFA4P2NLZfV+TOlX1SzoKfo+s7w==";
|
||||
};
|
||||
};
|
||||
"core-util-is-1.0.2" = {
|
||||
@ -4000,6 +4000,15 @@ let
|
||||
sha512 = "89/sdkq+BKBuIyykaMl/vR9grFc3WFUPTjFo0THHbu+5g+q8rA7fKeoMfz+h84yOQIBcztmJ5ZJdk5uhEls31A==";
|
||||
};
|
||||
};
|
||||
"express-prom-bundle-6.6.0" = {
|
||||
name = "express-prom-bundle";
|
||||
packageName = "express-prom-bundle";
|
||||
version = "6.6.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/express-prom-bundle/-/express-prom-bundle-6.6.0.tgz";
|
||||
sha512 = "tZh2P2p5a8/yxQ5VbRav011Poa4R0mHqdFwn9Swe/obXDe5F0jY9wtRAfNYnqk4LXY7akyvR/nrvAHxQPWUjsQ==";
|
||||
};
|
||||
};
|
||||
"express-unless-2.1.3" = {
|
||||
name = "express-unless";
|
||||
packageName = "express-unless";
|
||||
@ -4486,13 +4495,13 @@ let
|
||||
sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
|
||||
};
|
||||
};
|
||||
"get-intrinsic-1.1.3" = {
|
||||
"get-intrinsic-1.2.0" = {
|
||||
name = "get-intrinsic";
|
||||
packageName = "get-intrinsic";
|
||||
version = "1.1.3";
|
||||
version = "1.2.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz";
|
||||
sha512 = "QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==";
|
||||
url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz";
|
||||
sha512 = "L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==";
|
||||
};
|
||||
};
|
||||
"get-package-type-0.1.0" = {
|
||||
@ -5125,13 +5134,13 @@ let
|
||||
sha512 = "3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==";
|
||||
};
|
||||
};
|
||||
"ioredis-5.2.5" = {
|
||||
"ioredis-5.2.6" = {
|
||||
name = "ioredis";
|
||||
packageName = "ioredis";
|
||||
version = "5.2.5";
|
||||
version = "5.2.6";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/ioredis/-/ioredis-5.2.5.tgz";
|
||||
sha512 = "7HKo/ClM2DGLRXdFq8ruS3Uuadensz4A76wPOU0adqlOqd1qkhoLPDaBhmVhUhNGpB+J65/bhLmNB8DDY99HJQ==";
|
||||
url = "https://registry.npmjs.org/ioredis/-/ioredis-5.2.6.tgz";
|
||||
sha512 = "F1xO+kYIz+TCOccvhThs2pem6sc9uTl9JsZybWpqe4FeCFDmf04XwbLQUGIqi2UWaDUuR61w2dhxx6NJEFehOA==";
|
||||
};
|
||||
};
|
||||
"ip-1.1.8" = {
|
||||
@ -6727,13 +6736,13 @@ let
|
||||
sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
|
||||
};
|
||||
};
|
||||
"minimatch-5.1.4" = {
|
||||
"minimatch-5.1.6" = {
|
||||
name = "minimatch";
|
||||
packageName = "minimatch";
|
||||
version = "5.1.4";
|
||||
version = "5.1.6";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/minimatch/-/minimatch-5.1.4.tgz";
|
||||
sha512 = "U0iNYXt9wALljzfnGkhFSy5sAC6/SCR3JrHrlsdJz4kF8MvhTRQNiC59iUi1iqsitV7abrNAJWElVL9pdnoUgw==";
|
||||
url = "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz";
|
||||
sha512 = "lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==";
|
||||
};
|
||||
};
|
||||
"minimist-1.2.7" = {
|
||||
@ -6961,13 +6970,13 @@ let
|
||||
sha512 = "RjHwP2cCIWQ9iUIk1SziUMb9+jj5mC4OqG2w16E5yig8jySi/TwiFvKlwcjNrPsndph0HtgCtbENnk5julf3yQ==";
|
||||
};
|
||||
};
|
||||
"msgpackr-1.8.1" = {
|
||||
"msgpackr-1.8.2" = {
|
||||
name = "msgpackr";
|
||||
packageName = "msgpackr";
|
||||
version = "1.8.1";
|
||||
version = "1.8.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/msgpackr/-/msgpackr-1.8.1.tgz";
|
||||
sha512 = "05fT4J8ZqjYlR4QcRDIhLCYKUOHXk7C/xa62GzMKj74l3up9k2QZ3LgFc6qWdsPHl91QA2WLWqWc8b8t7GLNNw==";
|
||||
url = "https://registry.npmjs.org/msgpackr/-/msgpackr-1.8.2.tgz";
|
||||
sha512 = "eLuPeok0DMwsGN23AvuVg32mYpx55tsQnxI87d8V1yZsdT8U5jrWhmCa1INO/joGAFQFfo/eTlM/BxVwLKbBOQ==";
|
||||
};
|
||||
};
|
||||
"mssql-7.3.5" = {
|
||||
@ -7024,13 +7033,13 @@ let
|
||||
sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
|
||||
};
|
||||
};
|
||||
"n8n-core-0.151.1" = {
|
||||
"n8n-core-0.151.2" = {
|
||||
name = "n8n-core";
|
||||
packageName = "n8n-core";
|
||||
version = "0.151.1";
|
||||
version = "0.151.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.151.1.tgz";
|
||||
sha512 = "tEPdPaJVJ+Vy87UD0XXAq7yhTPYl+WuBABtS2u9mxKtfu4XyOepK6M34XJV5gJtgBXxIPy8+sNCKVaugUvSGAA==";
|
||||
url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.151.2.tgz";
|
||||
sha512 = "QIGNeKuRuY+G+kPxDShjXnxVjCMCEbZ6xB530+V30s2MFa+XnEKJtPdLbsCr0j8AUTHqEb/oMkHAoEyPPg8M1g==";
|
||||
};
|
||||
};
|
||||
"n8n-design-system-0.51.1" = {
|
||||
@ -7042,31 +7051,31 @@ let
|
||||
sha512 = "zK4UI/LkdRzAGZfL9K7/tZSLjxXTIKgt/72LrgEJ8CGNxYPavk0f7eYTH9Q8tbcLAaMLDjUcbcdzVEWh5YZofA==";
|
||||
};
|
||||
};
|
||||
"n8n-editor-ui-0.177.1" = {
|
||||
"n8n-editor-ui-0.178.1" = {
|
||||
name = "n8n-editor-ui";
|
||||
packageName = "n8n-editor-ui";
|
||||
version = "0.177.1";
|
||||
version = "0.178.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.177.1.tgz";
|
||||
sha512 = "h9TnC1mKjXyBXe2V6/Yzy81KzDvll6wlBugqnFGpTAs2IwjPDZ3WGwp94mCWwM7WDE9m2Ub9LX88ajj5WG8RyQ==";
|
||||
url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.178.1.tgz";
|
||||
sha512 = "bpSRVRys6fIAuhsmxQrU2QXP0UaRfGan+wODcZbX8SnWSG90ANN7R++CvS6tfL+i8vKvDzLYFjWlm1y40Esbag==";
|
||||
};
|
||||
};
|
||||
"n8n-nodes-base-0.209.1" = {
|
||||
"n8n-nodes-base-0.210.1" = {
|
||||
name = "n8n-nodes-base";
|
||||
packageName = "n8n-nodes-base";
|
||||
version = "0.209.1";
|
||||
version = "0.210.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.209.1.tgz";
|
||||
sha512 = "Ewpk1zuH1W3SZlsb1YRQJ5yOZUTD3m/VdKJE1UTTu2lwDqk+h8DhxmrLDY4AEcwm6Teyq8hjj0l1awCa1+Ppzg==";
|
||||
url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.210.1.tgz";
|
||||
sha512 = "UvkjbmJoBtgqHMz+ff7AJYnVcRpPLY7rh0OPQSR3B6BQ7lzE9eBaBpfTvtIopxRwKeK3vke9UUb6ztdkgDaBDw==";
|
||||
};
|
||||
};
|
||||
"n8n-workflow-0.133.1" = {
|
||||
"n8n-workflow-0.133.2" = {
|
||||
name = "n8n-workflow";
|
||||
packageName = "n8n-workflow";
|
||||
version = "0.133.1";
|
||||
version = "0.133.2";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.133.1.tgz";
|
||||
sha512 = "T3Es12JyM50FpJFogz0wKbzPOUC2iCDoL8/2br3oNU1Q53i4MfGAE2Ftf9hHOMF8pU9SN+m/D5WR3ELysI0PSQ==";
|
||||
url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.133.2.tgz";
|
||||
sha512 = "XnNmt5idpqb/7nVFtNCS4RQUDMfIslfepl2WJfwa/0jSQYWaJmFWhV0OmIj3mJTWaLaiy1qDjAEaEYZZBaQ69A==";
|
||||
};
|
||||
};
|
||||
"named-placeholders-1.1.3" = {
|
||||
@ -8410,13 +8419,13 @@ let
|
||||
sha512 = "xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==";
|
||||
};
|
||||
};
|
||||
"protobufjs-7.1.2" = {
|
||||
"protobufjs-7.2.0" = {
|
||||
name = "protobufjs";
|
||||
packageName = "protobufjs";
|
||||
version = "7.1.2";
|
||||
version = "7.2.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/protobufjs/-/protobufjs-7.1.2.tgz";
|
||||
sha512 = "4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ==";
|
||||
url = "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.0.tgz";
|
||||
sha512 = "hYCqTDuII4iJ4stZqiuGCSU8xxWl5JeXYpwARGtn/tWcKCAro6h3WQz+xpsNbXW0UYqpmTQFEyFWO0G0Kjt64g==";
|
||||
};
|
||||
};
|
||||
"proxy-addr-2.0.7" = {
|
||||
@ -8500,13 +8509,13 @@ let
|
||||
sha512 = "RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==";
|
||||
};
|
||||
};
|
||||
"punycode-2.2.0" = {
|
||||
"punycode-2.3.0" = {
|
||||
name = "punycode";
|
||||
packageName = "punycode";
|
||||
version = "2.2.0";
|
||||
version = "2.3.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz";
|
||||
sha512 = "LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==";
|
||||
url = "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz";
|
||||
sha512 = "rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==";
|
||||
};
|
||||
};
|
||||
"python-struct-1.1.3" = {
|
||||
@ -10462,6 +10471,15 @@ let
|
||||
sha512 = "WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==";
|
||||
};
|
||||
};
|
||||
"url-value-parser-2.2.0" = {
|
||||
name = "url-value-parser";
|
||||
packageName = "url-value-parser";
|
||||
version = "2.2.0";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/url-value-parser/-/url-value-parser-2.2.0.tgz";
|
||||
sha512 = "yIQdxJpgkPamPPAPuGdS7Q548rLhny42tg8d4vyTNzFqvOnwqrgHXvgehT09U7fwrzxi3RxCiXjoNUNnNOlQ8A==";
|
||||
};
|
||||
};
|
||||
"urllib-2.40.0" = {
|
||||
name = "urllib";
|
||||
packageName = "urllib";
|
||||
@ -11161,10 +11179,10 @@ in
|
||||
n8n = nodeEnv.buildNodePackage {
|
||||
name = "n8n";
|
||||
packageName = "n8n";
|
||||
version = "0.211.1";
|
||||
version = "0.212.1";
|
||||
src = fetchurl {
|
||||
url = "https://registry.npmjs.org/n8n/-/n8n-0.211.1.tgz";
|
||||
sha512 = "hD3AnzqByEYy6GMgjk//81JFdaM8UEnklcYo8Sjm4LKlDtOnjFIUFpN78KUkLVjM4WEPWkLczITFPhHuYcHCXA==";
|
||||
url = "https://registry.npmjs.org/n8n/-/n8n-0.212.1.tgz";
|
||||
sha512 = "9i4U/dJ84TEFIkj++nx+u3lLgpOxeco5QjopG+Ejjv6Gd3Jc+oL8MF3opN9v0JWagPX+yOnszol6aN+U4Sl8tA==";
|
||||
};
|
||||
dependencies = [
|
||||
(sources."@acuminous/bitsyntax-0.1.2" // {
|
||||
@ -11256,13 +11274,13 @@ in
|
||||
sources."@azure/ms-rest-nodeauth-3.1.1"
|
||||
(sources."@azure/msal-browser-2.32.2" // {
|
||||
dependencies = [
|
||||
sources."@azure/msal-common-9.0.2"
|
||||
sources."@azure/msal-common-9.1.1"
|
||||
];
|
||||
})
|
||||
sources."@azure/msal-common-7.6.0"
|
||||
(sources."@azure/msal-node-1.14.6" // {
|
||||
dependencies = [
|
||||
sources."@azure/msal-common-9.0.2"
|
||||
sources."@azure/msal-common-9.1.1"
|
||||
];
|
||||
})
|
||||
(sources."@azure/storage-blob-12.12.0" // {
|
||||
@ -11271,10 +11289,10 @@ in
|
||||
sources."tslib-2.4.1"
|
||||
];
|
||||
})
|
||||
sources."@babel/parser-7.20.7"
|
||||
sources."@babel/runtime-7.20.7"
|
||||
sources."@babel/parser-7.20.13"
|
||||
sources."@babel/runtime-7.20.13"
|
||||
sources."@codemirror/autocomplete-6.4.0"
|
||||
sources."@codemirror/commands-6.1.3"
|
||||
sources."@codemirror/commands-6.2.0"
|
||||
sources."@codemirror/lang-javascript-6.1.2"
|
||||
sources."@codemirror/language-6.4.0"
|
||||
sources."@codemirror/lint-6.1.0"
|
||||
@ -11285,7 +11303,7 @@ in
|
||||
sources."@curlconverter/yargs-0.0.2"
|
||||
sources."@curlconverter/yargs-parser-0.0.1"
|
||||
sources."@dabh/diagnostics-2.0.3"
|
||||
sources."@fontsource/open-sans-4.5.13"
|
||||
sources."@fontsource/open-sans-4.5.14"
|
||||
sources."@fortawesome/fontawesome-common-types-0.3.0"
|
||||
sources."@fortawesome/fontawesome-svg-core-1.3.0"
|
||||
(sources."@fortawesome/free-regular-svg-icons-6.2.1" // {
|
||||
@ -11298,7 +11316,7 @@ in
|
||||
sources."@fortawesome/fontawesome-common-types-0.2.36"
|
||||
];
|
||||
})
|
||||
sources."@fortawesome/vue-fontawesome-2.0.9"
|
||||
sources."@fortawesome/vue-fontawesome-2.0.10"
|
||||
sources."@gar/promisify-1.1.3"
|
||||
(sources."@google-cloud/common-3.10.0" // {
|
||||
dependencies = [
|
||||
@ -11319,7 +11337,7 @@ in
|
||||
dependencies = [
|
||||
sources."@grpc/proto-loader-0.7.4"
|
||||
sources."long-5.2.1"
|
||||
sources."protobufjs-7.1.2"
|
||||
sources."protobufjs-7.2.0"
|
||||
sources."yargs-16.2.0"
|
||||
];
|
||||
})
|
||||
@ -11370,7 +11388,7 @@ in
|
||||
sources."tslib-2.4.1"
|
||||
];
|
||||
})
|
||||
(sources."@oclif/core-1.24.0" // {
|
||||
(sources."@oclif/core-1.26.1" // {
|
||||
dependencies = [
|
||||
sources."supports-color-8.1.1"
|
||||
sources."tslib-2.4.1"
|
||||
@ -11422,15 +11440,15 @@ in
|
||||
sources."domhandler-5.0.3"
|
||||
];
|
||||
})
|
||||
sources."@sentry/core-7.31.0"
|
||||
sources."@sentry/integrations-7.31.0"
|
||||
sources."@sentry/node-7.31.0"
|
||||
sources."@sentry/types-7.31.0"
|
||||
sources."@sentry/utils-7.31.0"
|
||||
sources."@sentry/core-7.33.0"
|
||||
sources."@sentry/integrations-7.33.0"
|
||||
sources."@sentry/node-7.33.0"
|
||||
sources."@sentry/types-7.33.0"
|
||||
sources."@sentry/utils-7.33.0"
|
||||
sources."@servie/events-1.0.0"
|
||||
sources."@sqltools/formatter-1.2.5"
|
||||
sources."@swc/core-1.3.27"
|
||||
sources."@swc/wasm-1.3.27"
|
||||
sources."@swc/core-1.3.28"
|
||||
sources."@swc/wasm-1.3.28"
|
||||
sources."@techteamer/ocsp-1.0.0"
|
||||
sources."@tediousjs/connection-string-0.3.0"
|
||||
sources."@tokenizer/token-0.3.0"
|
||||
@ -11444,9 +11462,9 @@ in
|
||||
sources."@types/connect-3.4.35"
|
||||
sources."@types/duplexify-3.6.1"
|
||||
sources."@types/es-aggregate-error-1.0.2"
|
||||
sources."@types/express-4.17.15"
|
||||
sources."@types/express-4.17.16"
|
||||
sources."@types/express-jwt-0.0.42"
|
||||
sources."@types/express-serve-static-core-4.17.32"
|
||||
sources."@types/express-serve-static-core-4.17.33"
|
||||
sources."@types/express-unless-2.0.1"
|
||||
sources."@types/js-nacl-1.3.1"
|
||||
sources."@types/json-schema-7.0.11"
|
||||
@ -11468,7 +11486,7 @@ in
|
||||
sources."@types/stoppable-1.1.1"
|
||||
sources."@types/tough-cookie-2.3.8"
|
||||
sources."@types/tunnel-0.0.3"
|
||||
sources."@types/validator-13.7.10"
|
||||
sources."@types/validator-13.7.11"
|
||||
sources."@types/webidl-conversions-7.0.0"
|
||||
sources."@types/whatwg-url-8.2.2"
|
||||
sources."@vue/compiler-sfc-2.7.14"
|
||||
@ -11477,13 +11495,13 @@ in
|
||||
sources."vue-2.6.14"
|
||||
];
|
||||
})
|
||||
sources."@vue/devtools-api-6.4.5"
|
||||
sources."@vue/devtools-api-6.5.0"
|
||||
sources."@xmldom/xmldom-0.8.6"
|
||||
sources."a-sync-waterfall-1.0.1"
|
||||
sources."abbrev-1.1.1"
|
||||
sources."abort-controller-3.0.0"
|
||||
sources."accepts-1.3.8"
|
||||
sources."acorn-8.8.1"
|
||||
sources."acorn-8.8.2"
|
||||
sources."acorn-walk-8.2.0"
|
||||
(sources."adal-node-0.2.4" // {
|
||||
dependencies = [
|
||||
@ -11556,7 +11574,7 @@ in
|
||||
})
|
||||
sources."available-typed-arrays-1.0.5"
|
||||
sources."avsc-5.7.7"
|
||||
(sources."aws-sdk-2.1295.0" // {
|
||||
(sources."aws-sdk-2.1301.0" // {
|
||||
dependencies = [
|
||||
sources."buffer-4.9.2"
|
||||
sources."events-1.1.1"
|
||||
@ -11570,7 +11588,7 @@ in
|
||||
sources."aws-sign2-0.7.0"
|
||||
sources."aws4-1.12.0"
|
||||
sources."axios-0.21.4"
|
||||
sources."axios-retry-3.3.1"
|
||||
sources."axios-retry-3.4.0"
|
||||
sources."babel-helper-vue-jsx-merge-props-2.0.3"
|
||||
(sources."babel-runtime-6.26.0" // {
|
||||
dependencies = [
|
||||
@ -11749,7 +11767,7 @@ in
|
||||
})
|
||||
sources."cookie-signature-1.0.6"
|
||||
sources."copy-to-2.0.1"
|
||||
sources."core-js-3.27.1"
|
||||
sources."core-js-3.27.2"
|
||||
sources."core-util-is-1.0.3"
|
||||
sources."crc-32-1.2.2"
|
||||
sources."create-require-1.1.1"
|
||||
@ -11863,6 +11881,7 @@ in
|
||||
sources."path-to-regexp-6.2.1"
|
||||
];
|
||||
})
|
||||
sources."express-prom-bundle-6.6.0"
|
||||
sources."express-unless-2.1.3"
|
||||
sources."extend-3.0.2"
|
||||
sources."extend-shallow-2.0.1"
|
||||
@ -11890,7 +11909,7 @@ in
|
||||
sources."file-uri-to-path-2.0.0"
|
||||
(sources."filelist-1.0.4" // {
|
||||
dependencies = [
|
||||
sources."minimatch-5.1.4"
|
||||
sources."minimatch-5.1.6"
|
||||
];
|
||||
})
|
||||
sources."fill-range-7.0.1"
|
||||
@ -11942,7 +11961,7 @@ in
|
||||
sources."generate-function-2.3.1"
|
||||
sources."generic-pool-3.9.0"
|
||||
sources."get-caller-file-2.0.5"
|
||||
sources."get-intrinsic-1.1.3"
|
||||
sources."get-intrinsic-1.2.0"
|
||||
sources."get-package-type-0.1.0"
|
||||
sources."get-port-5.1.1"
|
||||
sources."get-symbol-description-1.0.0"
|
||||
@ -12063,7 +12082,7 @@ in
|
||||
sources."inquirer-7.3.3"
|
||||
sources."internal-slot-1.0.4"
|
||||
sources."interpret-1.4.0"
|
||||
(sources."ioredis-5.2.5" // {
|
||||
(sources."ioredis-5.2.6" // {
|
||||
dependencies = [
|
||||
sources."denque-2.1.0"
|
||||
];
|
||||
@ -12343,7 +12362,7 @@ in
|
||||
sources."mqtt-packet-6.10.0"
|
||||
sources."ms-2.1.2"
|
||||
sources."msal-1.4.17"
|
||||
sources."msgpackr-1.8.1"
|
||||
sources."msgpackr-1.8.2"
|
||||
(sources."mssql-8.1.4" // {
|
||||
dependencies = [
|
||||
sources."commander-9.5.0"
|
||||
@ -12359,25 +12378,25 @@ in
|
||||
];
|
||||
})
|
||||
sources."mz-2.7.0"
|
||||
(sources."n8n-core-0.151.1" // {
|
||||
(sources."n8n-core-0.151.2" // {
|
||||
dependencies = [
|
||||
sources."concat-stream-2.0.0"
|
||||
sources."readable-stream-3.6.0"
|
||||
];
|
||||
})
|
||||
sources."n8n-design-system-0.51.1"
|
||||
(sources."n8n-editor-ui-0.177.1" // {
|
||||
(sources."n8n-editor-ui-0.178.1" // {
|
||||
dependencies = [
|
||||
sources."luxon-2.5.2"
|
||||
];
|
||||
})
|
||||
(sources."n8n-nodes-base-0.209.1" // {
|
||||
(sources."n8n-nodes-base-0.210.1" // {
|
||||
dependencies = [
|
||||
sources."chokidar-3.5.2"
|
||||
sources."luxon-2.3.2"
|
||||
];
|
||||
})
|
||||
(sources."n8n-workflow-0.133.1" // {
|
||||
(sources."n8n-workflow-0.133.2" // {
|
||||
dependencies = [
|
||||
sources."luxon-2.3.2"
|
||||
];
|
||||
@ -12601,7 +12620,7 @@ in
|
||||
sources."pump-2.0.1"
|
||||
];
|
||||
})
|
||||
sources."punycode-2.2.0"
|
||||
sources."punycode-2.3.0"
|
||||
sources."python-struct-1.1.3"
|
||||
sources."qs-6.11.0"
|
||||
sources."query-string-7.1.3"
|
||||
@ -12974,6 +12993,7 @@ in
|
||||
];
|
||||
})
|
||||
sources."url-parse-1.5.10"
|
||||
sources."url-value-parser-2.2.0"
|
||||
(sources."urllib-2.40.0" // {
|
||||
dependencies = [
|
||||
sources."debug-2.6.9"
|
||||
|
@ -2,10 +2,10 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "igv";
|
||||
version = "2.15.4";
|
||||
version = "2.15.5";
|
||||
src = fetchzip {
|
||||
url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip";
|
||||
sha256 = "sha256-nDD0QTtLDe//VFMsIPKIykZ6dY85p3aomrCaF1p9HQM=";
|
||||
sha256 = "sha256-AKKMtR0hU2O84mRJxxsXNCYHeW8d6t3XJpzOKKaxAWw=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gh";
|
||||
version = "2.21.2";
|
||||
version = "2.22.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cli";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-syd7OMBEMv9uJUDjIIqVkJ3pvuyKnD5pubG4d3TbkY8=";
|
||||
sha256 = "sha256-kebBochGagpg26Q2bkpUTPMYYwwBpBVx2+ZtsErJWYk=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-m9K43Ns8j82nMkz+zkmC7HueOA6q6T4mFPQ1GSdqo24=";
|
||||
vendorSha256 = "sha256-OjTl43UQGGHqCrw0kMBShuS8aonjWczfzQGmGJLhdrU=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
@ -4,11 +4,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gource";
|
||||
version = "0.53";
|
||||
version = "0.54";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/acaudwell/Gource/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-PV9kwcaBL2RMMgy8mphY35e8YDb8Hl9gPKRrFbjdcjc=";
|
||||
hash = "sha256-HcvO32XSz01p/gtjPlTCApJsCLgpvK0Lc+r54pzW+uU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -25,18 +25,30 @@ stdenvNoCC.mkDerivation rec {
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
buildPhase = ''
|
||||
cd DMZ-White/pngs; ./make.sh; cd -
|
||||
cd DMZ-Black/pngs; ./make.sh; cd -
|
||||
runHook preBuild
|
||||
|
||||
for theme in DMZ-{White,Black}; do
|
||||
pushd $theme/pngs
|
||||
./make.sh
|
||||
popd
|
||||
done
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
install -d $out/share/icons/Vanilla-DMZ/cursors
|
||||
cp -a DMZ-White/xcursors/* $out/share/icons/Vanilla-DMZ/cursors
|
||||
install -Dm644 DMZ-White/index.theme $out/share/icons/Vanilla-DMZ/index.theme
|
||||
runHook preInstall
|
||||
|
||||
install -d $out/share/icons/Vanilla-DMZ-AA/cursors
|
||||
cp -a DMZ-Black/xcursors/* $out/share/icons/Vanilla-DMZ-AA/cursors
|
||||
install -Dm644 DMZ-Black/index.theme $out/share/icons/Vanilla-DMZ-AA/index.theme
|
||||
for theme in DMZ-{White,Black}; do
|
||||
mkdir -p $out/share/icons/$theme/cursors
|
||||
cp -a $theme/xcursors/* $out/share/icons/$theme/cursors/
|
||||
install -m644 $theme/index.theme $out/share/icons/$theme/index.theme
|
||||
done
|
||||
|
||||
ln -s $out/share/icons/{DMZ-White,Vanilla-DMZ}
|
||||
ln -s $out/share/icons/{DMZ-Black,Vanilla-DMZ-AA}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -1,62 +1,25 @@
|
||||
{ lib, stdenv, fetchurl, fetchpatch }:
|
||||
{ lib, stdenv, fetchFromGitHub, meson, ninja }:
|
||||
|
||||
let
|
||||
patch-argp-fmtstream = fetchpatch {
|
||||
name = "patch-argp-fmtstream.h";
|
||||
url = "https://raw.githubusercontent.com/Homebrew/formula-patches/b5f0ad3/argp-standalone/patch-argp-fmtstream.h";
|
||||
sha256 = "5656273f622fdb7ca7cf1f98c0c9529bed461d23718bc2a6a85986e4f8ed1cb8";
|
||||
};
|
||||
|
||||
patch-throw-in-funcdef = fetchpatch {
|
||||
name = "argp-standalone-1.3-throw-in-funcdef.patch";
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-libs/argp-standalone/files/argp-standalone-1.3-throw-in-funcdef.patch?id=409d0e2a9c9c899fb1fb04cc808fe0aff3f745ca";
|
||||
sha256 = "0b2b4l1jkvmnffl22jcn4ydzxy2i7fnmmnfim12f0yg5pb8fs43c";
|
||||
};
|
||||
|
||||
patch-shared = fetchpatch {
|
||||
name = "argp-standalone-1.3-shared.patch";
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sys-libs/argp-standalone/files/argp-standalone-1.3-shared.patch?id=409d0e2a9c9c899fb1fb04cc808fe0aff3f745ca";
|
||||
sha256 = "1xx2zdc187a1m2x6c1qs62vcrycbycw7n0q3ks2zkxpaqzx2dgkw";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "argp-standalone";
|
||||
version = "1.3";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.lysator.liu.se/~nisse/misc/argp-standalone-${version}.tar.gz";
|
||||
sha256 = "dec79694da1319acd2238ce95df57f3680fea2482096e483323fddf3d818d8be";
|
||||
src = fetchFromGitHub {
|
||||
owner = "argp-standalone";
|
||||
repo = "argp-standalone";
|
||||
rev = version;
|
||||
sha256 = "jWnoWVnUVDQlsC9ru7oB9PdtZuyCCNqGnMqF/f2m0ZY=";
|
||||
};
|
||||
|
||||
patches =
|
||||
lib.optionals stdenv.hostPlatform.isDarwin [ patch-argp-fmtstream ]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ patch-throw-in-funcdef patch-shared ];
|
||||
|
||||
patchFlags = lib.optional stdenv.hostPlatform.isDarwin "-p0";
|
||||
|
||||
# For currently unknown reason, `-fPIC` has to be passed explicitly, otherwise
|
||||
# downstream software like `elfutils` will get `recompile errors like:
|
||||
# libargp.a(argp-help.o): relocation R_X86_64_PC32 against symbol `program_invocation_short_name' can not be used when making a shared object; recompile with -fPIC
|
||||
# It seems that nixpkgs's on-by-default `-fPIC` is not in effect here.
|
||||
preConfigure = lib.optionalString stdenv.hostPlatform.isLinux "export CFLAGS='-fgnu89-inline -fPIC'";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/lib $out/include
|
||||
cp libargp.a $out/lib
|
||||
cp argp.h $out/include
|
||||
'';
|
||||
nativeBuildInputs = [ meson ninja ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
makeFlags = [ "AR:=$(AR)" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.lysator.liu.se/~nisse/misc/";
|
||||
description = "Standalone version of arguments parsing functions from GLIBC";
|
||||
platforms = with platforms; darwin ++ linux;
|
||||
homepage = "https://github.com/argp-standalone/argp-standalone";
|
||||
description = "Standalone version of arguments parsing functions from Glibc";
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ amar1729 ];
|
||||
license = licenses.gpl2;
|
||||
license = licenses.lgpl21Plus;
|
||||
};
|
||||
}
|
||||
|
@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
|
||||
license = with licenses; [ asl20 cc0 ];
|
||||
maintainers = with maintainers; [ taeer olynch ];
|
||||
mainProgram = "argon2";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
@ -31,8 +31,10 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkg-config help2man ];
|
||||
buildInputs = [ libcddb ncurses ]
|
||||
++ lib.optionals stdenv.isDarwin [ libiconv Carbon IOKit ];
|
||||
buildInputs = [ libcddb libiconv ncurses ]
|
||||
++ lib.optionals stdenv.isDarwin [ Carbon IOKit ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
@ -46,6 +48,6 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
homepage = "https://www.gnu.org/software/libcdio/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
buildInputs = lib.optional stdenv.isDarwin libiconv;
|
||||
buildInputs = [ libiconv ];
|
||||
|
||||
preAutoreconf = let
|
||||
reports = "https://github.com/tlwg/libdatrie/issues";
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ntbtls";
|
||||
version = "0.2.0";
|
||||
version = "0.3.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnupg/ntbtls/ntbtls-${version}.tar.bz2";
|
||||
sha256 = "sha256-ZJ/nSjEdE+Q7FrJuuqkWZd22MpJbc5AlkurD7TBRnhc=";
|
||||
sha256 = "sha256-iSIYH+9SO3e3FiXlYuTWlTInjqu9GLx0V52+FBNXKbo=";
|
||||
};
|
||||
|
||||
outputs = [ "dev" "out" ];
|
||||
|
@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ libpng ]
|
||||
++ lib.optionals stdenv.isDarwin [ libiconv libobjc ];
|
||||
buildInputs = [ libiconv libpng ]
|
||||
++ lib.optionals stdenv.isDarwin [ libobjc ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-tests"
|
||||
|
@ -83,6 +83,8 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/martinpitt/umockdev";
|
||||
changelog = "https://github.com/martinpitt/umockdev/releases/tag/${version}";
|
||||
description = "Mock hardware devices for creating unit tests";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ flokli ];
|
||||
|
@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
buildInputs = lib.optional stdenv.isDarwin libiconv;
|
||||
buildInputs = [ libiconv ];
|
||||
|
||||
# autogen.sh:9
|
||||
preAutoreconf = "cp ${gettext}/share/gettext/config.rpath .";
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "maestro";
|
||||
version = "1.20.0";
|
||||
version = "1.21.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${version}/maestro.zip";
|
||||
sha256 = "0hrfnx66yr1q57875m3ff4b2blq0k641iqjxjys8kwzp3nix34w2";
|
||||
sha256 = "13b2ykphc7szdanlkk34agf7p0lx78mavk5pjfls48d1k5hllslc";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
@ -14,14 +14,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "google-cloud-monitoring";
|
||||
version = "2.14.0";
|
||||
version = "2.14.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-Fn21kQVBPjZk9pvsLO2W0vLalbXk3mSOKKn/uieudaY=";
|
||||
hash = "sha256-FKg2nEmc5mYKSWJwV0wG09kK4ZQl+Tan+9BqbwJ/8eA=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -16,11 +16,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "imageio";
|
||||
version = "2.24.0";
|
||||
version = "2.25.0";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
sha256 = "sha256-8kD4Ip9PMpoVRigRlLUtpdZpQUGlJGaP7T+BsNB3gvo=";
|
||||
sha256 = "sha256-uAeWofjDjGl6lAoq1zl+4okA1cTlEGG5pn0WrKhn8z4=";
|
||||
inherit pname version;
|
||||
};
|
||||
|
||||
|
@ -1,15 +1,17 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
, pythonRelaxDepsHook
|
||||
, docstring-to-markdown
|
||||
, fetchFromGitHub
|
||||
, jedi
|
||||
, lsprotocol
|
||||
, poetry-core
|
||||
, pygls
|
||||
, pytestCheckHook
|
||||
, pydantic
|
||||
, pyhamcrest
|
||||
, pytestCheckHook
|
||||
, python-jsonrpc-server
|
||||
, pythonOlder
|
||||
, pythonRelaxDepsHook
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@ -17,11 +19,13 @@ buildPythonPackage rec {
|
||||
version = "0.40.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pappasam";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-+3VgONZzlobgs4wujCaGTTYpIgYrWgWwYgKQqirS7t8=";
|
||||
hash = "sha256-+3VgONZzlobgs4wujCaGTTYpIgYrWgWwYgKQqirS7t8=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
@ -36,6 +40,8 @@ buildPythonPackage rec {
|
||||
propagatedBuildInputs = [
|
||||
docstring-to-markdown
|
||||
jedi
|
||||
lsprotocol
|
||||
pydantic
|
||||
pygls
|
||||
];
|
||||
|
||||
@ -54,9 +60,9 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/pappasam/jedi-language-server";
|
||||
changelog = "https://github.com/pappasam/jedi-language-server/blob/${src.rev}/CHANGELOG.md";
|
||||
description = "A Language Server for the latest version(s) of Jedi";
|
||||
homepage = "https://github.com/pappasam/jedi-language-server";
|
||||
changelog = "https://github.com/pappasam/jedi-language-server/blob/${version}/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ doronbehar ];
|
||||
};
|
||||
|
66
pkgs/development/python-modules/lsprotocol/default.nix
Normal file
66
pkgs/development/python-modules/lsprotocol/default.nix
Normal file
@ -0,0 +1,66 @@
|
||||
{ lib
|
||||
, attrs
|
||||
, buildPythonPackage
|
||||
, cattrs
|
||||
, fetchFromGitHub
|
||||
, flit-core
|
||||
, jsonschema
|
||||
, nox
|
||||
, pyhamcrest
|
||||
, pytest
|
||||
, pythonOlder
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "lsprotocol";
|
||||
version = "2022.0.0a9";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "microsoft";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-6XecPKuBhwtkmZrGozzO+VEryI5wwy9hlvWE1oV6ajk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
flit-core
|
||||
nox
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
attrs
|
||||
cattrs
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytest
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
jsonschema
|
||||
pyhamcrest
|
||||
];
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
sed -i "/^ _install_requirements/d" noxfile.py
|
||||
nox --session tests
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [
|
||||
"lsprotocol"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python implementation of the Language Server Protocol";
|
||||
homepage = "https://github.com/microsoft/lsprotocol";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ doronbehar fab ];
|
||||
};
|
||||
}
|
78
pkgs/development/python-modules/nox/default.nix
Normal file
78
pkgs/development/python-modules/nox/default.nix
Normal file
@ -0,0 +1,78 @@
|
||||
{ lib
|
||||
, argcomplete
|
||||
, buildPythonPackage
|
||||
, colorlog
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, setuptools
|
||||
, importlib-metadata
|
||||
, jinja2
|
||||
, packaging
|
||||
, pytestCheckHook
|
||||
, pythonOlder
|
||||
, tox
|
||||
, typing-extensions
|
||||
, virtualenv
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "nox";
|
||||
version = "2022.11.21";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wntrblm";
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-N70yBZyrtdQvgaJzkskG3goHit8eH0di9jHycuAwzfU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove rogue mocking of py._path, https://github.com/wntrblm/nox/pull/677
|
||||
(fetchpatch {
|
||||
name = "remove-py-pyth.patch";
|
||||
url = "https://github.com/wntrblm/nox/commit/44d06b679761e21d76bb96b2b8ffe0ffbe3d4fd0.patch";
|
||||
hash = "sha256-KRDVwbBMBd4GdiAcGJyS7DTNUw3Pumt0JO1igx6npnc=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
argcomplete
|
||||
colorlog
|
||||
packaging
|
||||
virtualenv
|
||||
] ++ lib.optionals (pythonOlder "3.8") [
|
||||
typing-extensions
|
||||
importlib-metadata
|
||||
];
|
||||
|
||||
|
||||
checkInputs = [
|
||||
jinja2
|
||||
tox
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"nox"
|
||||
];
|
||||
|
||||
disabledTestPaths = [
|
||||
# AttributeError: module 'tox.config' has...
|
||||
"tests/test_tox_to_nox.py"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Flexible test automation for Python";
|
||||
homepage = "https://nox.thea.codes/";
|
||||
changelog = "https://github.com/wntrblm/nox/blob/${version}/CHANGELOG.md";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ doronbehar fab ];
|
||||
};
|
||||
}
|
@ -20,14 +20,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "whisper";
|
||||
version = "20230117";
|
||||
version = "20230124";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openai";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-DVYQw+h5xsgWLA6dD+qg4ud0pqFOn6oVAzTqRywE30g=";
|
||||
hash = "sha256-+3fs/EXK5NGlISuMTk7r2ZZ4tNFKbNFNkVS2LmHBvwk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -3,7 +3,7 @@
|
||||
, pythonOlder
|
||||
, fetchFromGitHub
|
||||
, setuptools-scm
|
||||
, pydantic
|
||||
, lsprotocol
|
||||
, toml
|
||||
, typeguard
|
||||
, mock
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pygls";
|
||||
version = "0.13.0";
|
||||
version = "1.0.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "openlawlibrary";
|
||||
repo = "pygls";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-guwOnB4EEUpucfprNLLr49Yn8EdOpRzzG+cT4NCn0rA=";
|
||||
hash = "sha256-31J4+giK1RDBS52Q/Ia3Y/Zak7fp7gRVTQ7US/eFjtM=";
|
||||
};
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = version;
|
||||
@ -32,7 +32,7 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pydantic
|
||||
lsprotocol
|
||||
typeguard
|
||||
];
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pytorch-metric-learning";
|
||||
version = "1.6.3";
|
||||
version = "1.7.2";
|
||||
|
||||
disabled = isPy27;
|
||||
|
||||
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "KevinMusgrave";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-7ezD3TMmNI9wRBXz5Htz10XZZaSsD0jTpEldGpIot8k=";
|
||||
sha256 = "sha256-f+k7WuZRgSDGbWp/TvmDkDzT02WeycwDCd/1WhR3VD8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -1,36 +1,37 @@
|
||||
{ lib
|
||||
, buildPythonPackage
|
||||
, decorator
|
||||
, fetchPypi
|
||||
, libxml2
|
||||
, m2crypto
|
||||
, ply
|
||||
, pyyaml
|
||||
, six
|
||||
, pbr
|
||||
, pythonOlder
|
||||
, nocasedict
|
||||
, nocaselist
|
||||
, yamlloader
|
||||
, requests-mock
|
||||
, FormEncode
|
||||
, httpretty
|
||||
, libxml2
|
||||
, lxml
|
||||
, mock
|
||||
, nocasedict
|
||||
, nocaselist
|
||||
, pbr
|
||||
, ply
|
||||
, pytest
|
||||
, requests
|
||||
, decorator
|
||||
, FormEncode
|
||||
, testfixtures
|
||||
, pythonOlder
|
||||
, pytz
|
||||
, pyyaml
|
||||
, requests
|
||||
, requests-mock
|
||||
, six
|
||||
, testfixtures
|
||||
, yamlloader
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pywbem";
|
||||
version = "1.5.0";
|
||||
version = "1.6.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-xffkWMJTDGE1j7xjM750+vNmqs546uM3QUMSZ63zJhA=";
|
||||
hash = "sha256-4mqwMkR17lMp10lx+UK0sxW2rA7a8njnDha1YDJ475g=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -42,7 +43,7 @@ buildPythonPackage rec {
|
||||
pyyaml
|
||||
six
|
||||
yamlloader
|
||||
] ++ lib.optionals (pythonOlder "3.0") [ m2crypto ];
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
decorator
|
||||
@ -57,9 +58,14 @@ buildPythonPackage rec {
|
||||
testfixtures
|
||||
];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"pywbem"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Support for the WBEM standard for systems management";
|
||||
homepage = "https://pywbem.github.io";
|
||||
changelog = "https://github.com/pywbem/pywbem/blob/${version}/docs/changes.rst";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
};
|
||||
|
@ -12,13 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "spdx-tools";
|
||||
version = "0.7.0a3";
|
||||
version = "0.7.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-afV1W1n5ubHhqfLFpPO5fxaIy5TaZdw9eDy3JYOJ1oE=";
|
||||
hash = "sha256-QqKMKBedWOFYF1av9IgQuyJ6b5mNhhMpIZVJdEDcAK8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -40,6 +41,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "SPDX parser and tools";
|
||||
homepage = "https://github.com/spdx/tools-python";
|
||||
changelog = "https://github.com/spdx/tools-python/blob/v${version}/CHANGELOG.md";
|
||||
license = licenses.asl20;
|
||||
maintainers = teams.determinatesystems.members;
|
||||
};
|
||||
|
@ -1,39 +1,35 @@
|
||||
{ lib
|
||||
, buildPythonApplication
|
||||
, fetchFromGitHub
|
||||
, poetry-core
|
||||
, pythonRelaxDepsHook
|
||||
, cmake-format
|
||||
, pygls
|
||||
, cmake
|
||||
, pdm-pep517
|
||||
, pytest-datadir
|
||||
, pytestCheckHook
|
||||
}:
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "cmake-language-server";
|
||||
version = "0.1.6";
|
||||
version = "unstable-2023-01-08";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "regen100";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "sha256-B7dhCQo3g2E8+fzyl1RhaYQE6TFoqoLtp9Z7sZcv5xk=";
|
||||
rev = "60c376a5fda29835060687569cb212350a292116";
|
||||
hash = "sha256-vNG43sZy2wMetY5mbgxIoei5jCCj1f8vWiovWtwzbPc=";
|
||||
};
|
||||
|
||||
PDM_PEP517_SCM_VERSION = "2023.1";
|
||||
|
||||
patches = [
|
||||
# Test timeouts occasionally cause the build to fail
|
||||
./disable-test-timeouts.patch
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"pygls"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
pythonRelaxDepsHook
|
||||
pdm-pep517
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -49,7 +45,10 @@ buildPythonApplication rec {
|
||||
];
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
pythonImportsCheck = [ "cmake_language_server" ];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"cmake_language_server"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "CMake LSP Implementation";
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "oh-my-posh";
|
||||
version = "13.3.1";
|
||||
version = "13.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jandedobbeleer";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ssZbeb1UczWEjeRY1WJBQPnbG/p6XcUSWVHLdreGJkk=";
|
||||
hash = "sha256-N24kt564/gdJ4mUIyul3zfUFTtF9y49IERfE2jVIL8Q=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-WiH4qu8DODEhAkxUm6VDcBwFyQO7kNjaiaWPDHCHj9E=";
|
||||
|
@ -9,14 +9,14 @@ in
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "prospector";
|
||||
version = "1.8.3";
|
||||
version = "1.8.4";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PyCQA";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-R3Sc4Qx6bht+XJhNj+fy32akzDOgSDF5LP3WE1qEyms=";
|
||||
hash = "sha256-g7tyn6pj5I/+b28wIitqDapR5ffk1xDEAtcYs2TpIUk=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
|
@ -1,42 +1,46 @@
|
||||
{ mkDerivation
|
||||
{ stdenv
|
||||
, cmake
|
||||
, fetchurl
|
||||
, gettext
|
||||
, gst_all_1
|
||||
, lib
|
||||
, ninja
|
||||
, wrapQtAppsHook
|
||||
, qmlbox2d
|
||||
, qtbase
|
||||
, qtcharts
|
||||
, qtdeclarative
|
||||
, qtgraphicaleffects
|
||||
, qtmultimedia
|
||||
, qtquickcontrols
|
||||
, qtquickcontrols2
|
||||
, qtsensors
|
||||
, qttools
|
||||
, qtxmlpatterns
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gcompris";
|
||||
version = "2.4";
|
||||
version = "3.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.kde.org/stable/gcompris/qt/src/gcompris-qt-${version}.tar.xz";
|
||||
sha256 = "sha256-/QZub48rarVHcD0PgOPc6NTlOKrsEzVK/qjHb5CjWS0=";
|
||||
hash = "sha256-wABGojMfiMgjUT5gVDfB5JmXK1SPkrIkqLT/403zUFI=";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
"-DQML_BOX2D_LIBRARY=${qmlbox2d}/${qtbase.qtQmlPrefix}/Box2D.2.1"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake gettext ninja qttools ];
|
||||
nativeBuildInputs = [ cmake gettext ninja qttools wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [
|
||||
qmlbox2d
|
||||
qtbase
|
||||
qtcharts
|
||||
qtdeclarative
|
||||
qtgraphicaleffects
|
||||
qtmultimedia
|
||||
qtquickcontrols
|
||||
qtquickcontrols2
|
||||
qtsensors
|
||||
qtxmlpatterns
|
||||
] ++ (with gst_all_1; [
|
||||
|
@ -1,12 +1,12 @@
|
||||
{lib, stdenv, fetchurl, cyrus_sasl, libevent, nixosTests }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.6.17";
|
||||
version = "1.6.18";
|
||||
pname = "memcached";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://memcached.org/files/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-IFXjc2E9j8IVKa/58K3OPiO5zgG6BHjTDnlB2fK9EiQ=";
|
||||
sha256 = "sha256-y91quIEGSaxdkvzQ/LDKkx2Knb0K2MxXW0ciLu3WQVg=";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
|
@ -16,14 +16,14 @@ let
|
||||
}."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
hash = {
|
||||
x64-linux_hash = "sha256-r5A7KkzugTXwLejaQuKW/EhV99e8gqj8kmgliNMi/xU=";
|
||||
arm64-linux_hash = "sha256-HdtUSMHteFDdp0yZYFC4EHK2S3cr6dEXklyTp5bqHYQ=";
|
||||
x64-osx_hash = "sha256-GyHiBiz5LoT+DGxcC0v7OXvdUwaLyrczda/aUkABnrs=";
|
||||
x64-linux_hash = "sha256-w9je2dcVMDhUCG2zK9uQWpTXQh3zw+0yL/qVrl3DqzE=";
|
||||
arm64-linux_hash = "sha256-j5pxMTLE2Mk91q76Y1n8j3pG/1aPrGkkvSjzAI8nJro=";
|
||||
x64-osx_hash = "sha256-ILz3zNQNUwFGMLvz4sqZMzsN+tw/HNpr5mFLSIKQ4Gg=";
|
||||
}."${arch}-${os}_hash";
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "prowlarr";
|
||||
version = "1.0.1.2210";
|
||||
version = "1.1.1.2377";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.develop.${version}.${os}-core-${arch}.tar.gz";
|
||||
|
@ -5,16 +5,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "zed";
|
||||
version = "0.7.5";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "authzed";
|
||||
repo = "zed";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Q12zM9GgQQBykFLZ3nwdkl8Nk/0nbXaOJzXzO8wSOXY=";
|
||||
hash = "sha256-/tYQqS0l5Z/yeNd6GJHONtD3YeQ7nvvWcilBAahDDPA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-AEU8yTG+n+JOSB7Cnmf+mztm/1c5vuarSqVr3hC/14g=";
|
||||
vendorHash = "sha256-3JQgtWaPi2e9lSXF+3IIXDptQXjFJOBsMPfisEea8kE=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command line for managing SpiceDB";
|
||||
|
@ -6,11 +6,11 @@
|
||||
let
|
||||
self = stdenv.mkDerivation rec {
|
||||
pname = "mysql";
|
||||
version = "8.0.31";
|
||||
version = "8.0.32";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dev.mysql.com/get/Downloads/MySQL-${self.mysqlVersion}/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-Z7uMunWyjpXH95SFY/AfuEUo/LsaNduoOdTORP4Bm6o=";
|
||||
sha256 = "sha256-Hw2SojeJgkRxbdWB95k1bgc8LaY8Oy5KAeEDLL7VDig=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ bison cmake pkg-config ]
|
||||
|
@ -14,12 +14,14 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-mm+JoGQLt4LYL/I6eAyfCuw9++RoLAqO2hV+CBBkLq0=";
|
||||
};
|
||||
|
||||
buildInputs = [ help2man ]
|
||||
++ lib.optionals stdenv.isDarwin [ libiconv ];
|
||||
buildInputs = [ help2man libiconv ];
|
||||
|
||||
makeFlags = [
|
||||
"CC=${stdenv.cc.targetPrefix}cc"
|
||||
"LD=${stdenv.cc.targetPrefix}cc"
|
||||
|
||||
"UNAME_O=${stdenv.hostPlatform.uname.system}"
|
||||
"UNAME_S=${stdenv.hostPlatform.uname.system}"
|
||||
];
|
||||
|
||||
# make install target is broken (DESTDIR usage is insane)
|
||||
@ -35,7 +37,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "http://fatsort.sourceforge.net/";
|
||||
description = "Sorts FAT partition table, for devices that don't do sorting of files";
|
||||
maintainers = [ maintainers.kovirobi ];
|
||||
license = licenses.gpl2;
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
|
||||
download.
|
||||
'';
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -46,6 +46,9 @@ buildGoModule rec {
|
||||
# Tests start http servers which need to bind to local addresses:
|
||||
# panic: httptest: failed to listen on a port: listen tcp6 [::1]:0: bind: operation not permitted
|
||||
__darwinAllowLocalNetworking = true;
|
||||
# Tests need to run in a reproducible order, otherwise they run unreliably on
|
||||
# (at least) x86_64-linux.
|
||||
checkFlags = [ "-p 1" ];
|
||||
|
||||
passthru.tests.step-ca = nixosTests.step-ca;
|
||||
|
||||
|
@ -5,16 +5,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "automatic-timezoned";
|
||||
version = "1.0.55";
|
||||
version = "1.0.57";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "maxbrunet";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-80GP7w3YF7RNMTlSI5SCQfugjkNBweX5BcYk4ODimBQ=";
|
||||
sha256 = "sha256-Wb7X4eDG9vZLJF5b9JPb0JVjQgstFo7Zr1MnidKcuZI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-WtqK8T/3Mo/y3cPn8d6kDzC59qE70JUHFdHk7mFpP1k=";
|
||||
cargoHash = "sha256-BcIGaAGTwm8QBvrL7J91asNEpnFdsgDtRPDSWdE9JHI=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Automatically update system timezone based on location";
|
||||
|
@ -5542,6 +5542,8 @@ self: super: with self; {
|
||||
|
||||
lsassy = callPackage ../development/python-modules/lsassy { };
|
||||
|
||||
lsprotocol = callPackage ../development/python-modules/lsprotocol { };
|
||||
|
||||
luddite = callPackage ../development/python-modules/luddite { };
|
||||
|
||||
ludios_wpull = callPackage ../development/python-modules/ludios_wpull { };
|
||||
@ -6166,6 +6168,8 @@ self: super: with self; {
|
||||
|
||||
nomadnet = callPackage ../development/python-modules/nomadnet { };
|
||||
|
||||
nox = callPackage ../development/python-modules/nox { };
|
||||
|
||||
nanomsg-python = callPackage ../development/python-modules/nanomsg-python {
|
||||
inherit (pkgs) nanomsg;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user