Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-06-22 00:15:26 +00:00 committed by GitHub
commit 6c8157dbc8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
94 changed files with 2849 additions and 4736 deletions

View file

@ -27,6 +27,10 @@ function Code(elem)
content = '<refentrytitle>' .. title .. '</refentrytitle>' .. (volnum ~= nil and ('<manvolnum>' .. volnum .. '</manvolnum>') or '')
elseif elem.attributes['role'] == 'file' then
tag = 'filename'
elseif elem.attributes['role'] == 'command' then
tag = 'command'
elseif elem.attributes['role'] == 'option' then
tag = 'option'
end
if tag ~= nil then

View file

@ -302,7 +302,7 @@ buildImage {
runAsRoot = ''
#!${pkgs.runtimeShell}
${shadowSetup}
${pkgs.dockerTools.shadowSetup}
groupadd -r redis
useradd -r -g redis redis
mkdir /data

View file

@ -27,7 +27,7 @@ If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual.
As per [RFC 0072](https://github.com/NixOS/rfcs/pull/72), all new documentation content should be written in [CommonMark](https://commonmark.org/) Markdown dialect.
Additionally, the following syntax extensions are currently used:
Additional syntax extensions are available, though not all extensions can be used in NixOS option documentation. The following extensions are currently used:
- []{#ssec-contributing-markup-anchors}
Explicitly defined **anchors** on headings, to allow linking to sections. These should be always used, to ensure the anchors can be linked even when the heading text changes, and to prevent conflicts between [automatically assigned identifiers](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/auto_identifiers.md).
@ -53,12 +53,22 @@ Additionally, the following syntax extensions are currently used:
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/using/syntax.html#targets-and-cross-referencing).
- []{#ssec-contributing-markup-inline-roles}
If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``, which will turn into {manpage}`nix.conf(5)`.
If you want to link to a man page, you can use `` {manpage}`nix.conf(5)` ``, which will turn into {manpage}`nix.conf(5)`. The references will turn into links when a mapping exists in {file}`doc/build-aux/pandoc-filters/link-unix-man-references.lua`.
The references will turn into links when a mapping exists in {file}`doc/build-aux/pandoc-filters/link-unix-man-references.lua`.
A few markups for other kinds of literals are also available:
- `` {command}`rm -rfi` `` turns into {command}`rm -rfi`
- `` {option}`networking.useDHCP` `` turns into {option}`networking.useDHCP`
- `` {file}`/etc/passwd` `` turns into {file}`/etc/passwd`
These literal kinds are used mostly in NixOS option documentation.
This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point). Though, the feature originates from [reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-manpage) with slightly different syntax.
::: {.note}
Inline roles are available for option documentation.
:::
- []{#ssec-contributing-markup-admonitions}
**Admonitions**, set off from the text to bring attention to something.
@ -84,6 +94,10 @@ Additionally, the following syntax extensions are currently used:
- [`tip`](https://tdg.docbook.org/tdg/5.0/tip.html)
- [`warning`](https://tdg.docbook.org/tdg/5.0/warning.html)
::: {.note}
Admonitions are available for option documentation.
:::
- []{#ssec-contributing-markup-definition-lists}
[**Definition lists**](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/definition_lists.md), for defining a group of terms:

View file

@ -72,7 +72,7 @@ The `dotnetCorePackages.sdk` contains both a runtime and the full sdk of a given
To package Dotnet applications, you can use `buildDotnetModule`. This has similar arguments to `stdenv.mkDerivation`, with the following additions:
* `projectFile` has to be used for specifying the dotnet project file relative to the source root. These usually have `.sln` or `.csproj` file extensions. This can be an array of multiple projects as well.
* `nugetDeps` has to be used to specify the NuGet dependency file. Unfortunately, these cannot be deterministically fetched without a lockfile. A script to fetch these is available as `passthru.fetch-deps`. This file can also be generated manually using `nuget-to-nix` tool, which is available in nixpkgs.
* `nugetDeps` takes either a path to a `deps.nix` file, or a derivation. The `deps.nix` file can be generated using the script attached to `passthru.fetch-deps`. This file can also be generated manually using `nuget-to-nix` tool, which is available in nixpkgs. If the argument is a derivation, it will be used directly and assume it has the same output as `mkNugetDeps`.
* `packNupkg` is used to pack project as a `nupkg`, and installs it to `$out/share`. If set to `true`, the derivation can be used as a dependency for another dotnet project by adding it to `projectReferences`.
* `projectReferences` can be used to resolve `ProjectReference` project items. Referenced projects can be packed with `buildDotnetModule` by setting the `packNupkg = true` attribute and passing a list of derivations to `projectReferences`. Since we are sharing referenced projects as NuGets they must be added to csproj/fsproj files as `PackageReference` as well.
For example, your project has a local dependency:

View file

@ -131,7 +131,8 @@ let
getValues getFiles
optionAttrSetToDocList optionAttrSetToDocList'
scrubOptionValue literalExpression literalExample literalDocBook
showOption showFiles unknownModule mkOption mkPackageOption;
showOption showFiles unknownModule mkOption mkPackageOption
mdDoc literalMD;
inherit (self.types) isType setType defaultTypeMerge defaultFunctor
isOptionType mkOptionType;
inherit (self.asserts)

View file

@ -280,6 +280,21 @@ rec {
if ! isString text then throw "literalDocBook expects a string."
else { _type = "literalDocBook"; inherit text; };
/* Transition marker for documentation that's already migrated to markdown
syntax.
*/
mdDoc = text:
if ! isString text then throw "mdDoc expects a string."
else { _type = "mdDoc"; inherit text; };
/* For use in the `defaultText` and `example` option attributes. Causes the
given MD text to be inserted verbatim in the documentation, for when
a `literalExpression` would be too hard to read.
*/
literalMD = text:
if ! isString text then throw "literalMD expects a string."
else { _type = "literalMD"; inherit text; };
# Helper functions.
/* Convert an option, described as a list of the option parts in to a

View file

@ -3087,6 +3087,12 @@
githubId = 17111639;
name = "Devin Singh";
};
devusb = {
email = "mhelton@devusb.us";
github = "devusb";
githubId = 4951663;
name = "Morgan Helton";
};
dezgeg = {
email = "tuomas.tynkkynen@iki.fi";
github = "dezgeg";
@ -8987,7 +8993,7 @@
githubId = 4323933;
name = "Naïm Favier";
keys = [{
fingerprint = "51A0 705E 7DD2 3CBC 5EAA B43E 49B0 7322 580B 7EE2";
fingerprint = "F3EB 4BBB 4E71 99BC 299C D4E9 95AF CE82 1190 8325";
}];
};
nckx = {

View file

@ -56,7 +56,14 @@ The function `mkOption` accepts the following arguments.
`description`
: A textual description of the option, in DocBook format, that will be
included in the NixOS manual.
included in the NixOS manual. During the migration process from DocBook
to CommonMark the description may also be written in CommonMark, but has
to be wrapped in `lib.mdDoc` to differentiate it from DocBook. See
the nixpkgs manual for [the list of CommonMark extensions](
https://nixos.org/nixpkgs/manual/#sec-contributing-markup)
supported by NixOS documentation.
New documentation should preferably be written as CommonMark.
## Utility functions for common option patterns {#sec-option-declarations-util}

View file

@ -94,7 +94,17 @@ options = {
<listitem>
<para>
A textual description of the option, in DocBook format, that
will be included in the NixOS manual.
will be included in the NixOS manual. During the migration
process from DocBook to CommonMark the description may also be
written in CommonMark, but has to be wrapped in
<literal>lib.mdDoc</literal> to differentiate it from DocBook.
See the nixpkgs manual for
<link xlink:href="https://nixos.org/nixpkgs/manual/#sec-contributing-markup">the
list of CommonMark extensions</link> supported by NixOS
documentation.
</para>
<para>
New documentation should preferably be written as CommonMark.
</para>
</listitem>
</varlistentry>

View file

@ -112,7 +112,15 @@ in rec {
optionsJSON = pkgs.runCommand "options.json"
{ meta.description = "List of NixOS options in JSON format";
buildInputs = [ pkgs.brotli ];
buildInputs = [
pkgs.brotli
(let
self = (pkgs.python3Minimal.override {
inherit self;
includeSiteCustomize = true;
});
in self.withPackages (p: [ p.mistune_2_0 ]))
];
options = builtins.toFile "options.json"
(builtins.unsafeDiscardStringContext (builtins.toJSON optionsNix));
}
@ -123,9 +131,13 @@ in rec {
${
if baseOptionsJSON == null
then "cp $options $dst/options.json"
then ''
# `cp $options $dst/options.json`, but with temporary
# markdown processing
python ${./mergeJSON.py} $options <(echo '{}') > $dst/options.json
''
else ''
${pkgs.python3Minimal}/bin/python ${./mergeJSON.py} \
python ${./mergeJSON.py} \
${lib.optionalString warningsAreErrors "--warnings-are-errors"} \
${baseOptionsJSON} $options \
> $dst/options.json

View file

@ -41,6 +41,150 @@ def unpivot(options: Dict[Key, Option]) -> Dict[str, JSON]:
result[opt.name] = opt.value
return result
# converts in-place!
def convertMD(options: Dict[str, Any]) -> str:
import mistune
import re
from xml.sax.saxutils import escape, quoteattr
admonitions = {
'.warning': 'warning',
'.important': 'important',
'.note': 'note'
}
class Renderer(mistune.renderers.BaseRenderer):
def _get_method(self, name):
try:
return super(Renderer, self)._get_method(name)
except AttributeError:
def not_supported(children, **kwargs):
raise NotImplementedError("md node not supported yet", name, children, **kwargs)
return not_supported
def text(self, text):
return escape(text)
def paragraph(self, text):
return text + "\n\n"
def codespan(self, text):
return f"<literal>{text}</literal>"
def block_code(self, text, info=None):
info = f" language={quoteattr(info)}" if info is not None else ""
return f"<programlisting{info}>\n{text}</programlisting>"
def link(self, link, text=None, title=None):
if link[0:1] == '#':
attr = "linkend"
link = quoteattr(link[1:])
else:
# try to faithfully reproduce links that were of the form <link href="..."/>
# in docbook format
if text == link:
text = ""
attr = "xlink:href"
link = quoteattr(link)
return f"<link {attr}={link}>{text}</link>"
def list(self, text, ordered, level, start=None):
if ordered:
raise NotImplementedError("ordered lists not supported yet")
return f"<itemizedlist>\n{text}\n</itemizedlist>"
def list_item(self, text, level):
return f"<listitem><para>{text}</para></listitem>\n"
def block_text(self, text):
return text
def emphasis(self, text):
return f"<emphasis>{text}</emphasis>"
def strong(self, text):
return f"<emphasis role=\"strong\">{text}</emphasis>"
def admonition(self, text, kind):
if kind not in admonitions:
raise NotImplementedError(f"admonition {kind} not supported yet")
tag = admonitions[kind]
# we don't keep whitespace here because usually we'll contain only
# a single paragraph and the original docbook string is no longer
# available to restore the trailer.
return f"<{tag}><para>{text.rstrip()}</para></{tag}>"
def command(self, text):
return f"<command>{escape(text)}</command>"
def option(self, text):
return f"<option>{escape(text)}</option>"
def file(self, text):
return f"<filename>{escape(text)}</filename>"
def manpage(self, page, section):
title = f"<refentrytitle>{escape(page)}</refentrytitle>"
vol = f"<manvolnum>{escape(section)}</manvolnum>"
return f"<citerefentry>{title}{vol}</citerefentry>"
def finalize(self, data):
return "".join(data)
plugins = []
COMMAND_PATTERN = r'\{command\}`(.*?)`'
def command(md):
def parse(self, m, state):
return ('command', m.group(1))
md.inline.register_rule('command', COMMAND_PATTERN, parse)
md.inline.rules.append('command')
plugins.append(command)
FILE_PATTERN = r'\{file\}`(.*?)`'
def file(md):
def parse(self, m, state):
return ('file', m.group(1))
md.inline.register_rule('file', FILE_PATTERN, parse)
md.inline.rules.append('file')
plugins.append(file)
OPTION_PATTERN = r'\{option\}`(.*?)`'
def option(md):
def parse(self, m, state):
return ('option', m.group(1))
md.inline.register_rule('option', OPTION_PATTERN, parse)
md.inline.rules.append('option')
plugins.append(option)
MANPAGE_PATTERN = r'\{manpage\}`(.*?)\((.+?)\)`'
def manpage(md):
def parse(self, m, state):
return ('manpage', m.group(1), m.group(2))
md.inline.register_rule('manpage', MANPAGE_PATTERN, parse)
md.inline.rules.append('manpage')
plugins.append(manpage)
ADMONITION_PATTERN = re.compile(r'^::: \{([^\n]*?)\}\n(.*?)^:::\n', flags=re.MULTILINE|re.DOTALL)
def admonition(md):
def parse(self, m, state):
return {
'type': 'admonition',
'children': self.parse(m.group(2), state),
'params': [ m.group(1) ],
}
md.block.register_rule('admonition', ADMONITION_PATTERN, parse)
md.block.rules.append('admonition')
plugins.append(admonition)
def convertString(text: str) -> str:
rendered = mistune.markdown(text, renderer=Renderer(), plugins=plugins)
# keep trailing spaces so we can diff the generated XML to check for conversion bugs.
return rendered.rstrip() + text[len(text.rstrip()):]
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
for (name, option) in options.items():
if optionIs(option, 'description', 'mdDoc'):
option['description'] = convertString(option['description']['text'])
if optionIs(option, 'example', 'literalMD'):
docbook = convertString(option['example']['text'])
option['example'] = { '_type': 'literalDocBook', 'text': docbook }
if optionIs(option, 'default', 'literalMD'):
docbook = convertString(option['default']['text'])
option['default'] = { '_type': 'literalDocBook', 'text': docbook }
return options
warningsAreErrors = sys.argv[1] == "--warnings-are-errors"
optOffset = 1 if warningsAreErrors else 0
options = pivot(json.load(open(sys.argv[1 + optOffset], 'r')))
@ -92,4 +236,4 @@ if hasWarnings and warningsAreErrors:
file=sys.stderr)
sys.exit(1)
json.dump(unpivot(options), fp=sys.stdout)
json.dump(convertMD(unpivot(options)), fp=sys.stdout)

View file

@ -46,9 +46,9 @@ in
type = with types; either str path;
default = "Lat2-Terminus16";
example = "LatArCyrHeb-16";
description = ''
description = mdDoc ''
The font used for the virtual consoles. Leave empty to use
whatever the <command>setfont</command> program considers the
whatever the {command}`setfont` program considers the
default font.
Can be either a font name or a path to a PSF font file.
'';

View file

@ -9,21 +9,20 @@ with lib;
environment.enableDebugInfo = mkOption {
type = types.bool;
default = false;
description = ''
description = mdDoc ''
Some NixOS packages provide debug symbols. However, these are
not included in the system closure by default to save disk
space. Enabling this option causes the debug symbols to appear
in <filename>/run/current-system/sw/lib/debug/.build-id</filename>,
where tools such as <command>gdb</command> can find them.
in {file}`/run/current-system/sw/lib/debug/.build-id`,
where tools such as {command}`gdb` can find them.
If you need debug symbols for a package that doesn't
provide them by default, you can enable them as follows:
<programlisting>
nixpkgs.config.packageOverrides = pkgs: {
hello = pkgs.hello.overrideAttrs (oldAttrs: {
separateDebugInfo = true;
});
};
</programlisting>
nixpkgs.config.packageOverrides = pkgs: {
hello = pkgs.hello.overrideAttrs (oldAttrs: {
separateDebugInfo = true;
});
};
'';
};

View file

@ -178,19 +178,12 @@ in
man.generateCaches = mkOption {
type = types.bool;
default = false;
description = ''
description = mdDoc ''
Whether to generate the manual page index caches.
This allows searching for a page or
keyword using utilities like
<citerefentry>
<refentrytitle>apropos</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>
and the <literal>-k</literal> option of
<citerefentry>
<refentrytitle>man</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>.
keyword using utilities like {manpage}`apropos(1)`
and the `-k` option of
{manpage}`man(1)`.
'';
};
@ -216,16 +209,14 @@ in
dev.enable = mkOption {
type = types.bool;
default = false;
description = ''
description = mdDoc ''
Whether to install documentation targeted at developers.
<itemizedlist>
<listitem><para>This includes man pages targeted at developers if <option>documentation.man.enable</option> is
set (this also includes "devman" outputs).</para></listitem>
<listitem><para>This includes info pages targeted at developers if <option>documentation.info.enable</option>
is set (this also includes "devinfo" outputs).</para></listitem>
<listitem><para>This includes other pages targeted at developers if <option>documentation.doc.enable</option>
is set (this also includes "devdoc" outputs).</para></listitem>
</itemizedlist>
* This includes man pages targeted at developers if {option}`documentation.man.enable` is
set (this also includes "devman" outputs).
* This includes info pages targeted at developers if {option}`documentation.info.enable`
is set (this also includes "devinfo" outputs).
* This includes other pages targeted at developers if {option}`documentation.doc.enable`
is set (this also includes "devdoc" outputs).
'';
};

View file

@ -23,11 +23,11 @@ in
++ lib.optionals config.documentation.dev.enable [ "devman" ];
ignoreCollisions = true;
};
defaultText = lib.literalDocBook "all man pages in <option>config.environment.systemPackages</option>";
description = ''
The manual pages to generate caches for if <option>documentation.man.generateCaches</option>
defaultText = lib.literalMD "all man pages in {option}`config.environment.systemPackages`";
description = lib.mdDoc ''
The manual pages to generate caches for if {option}`documentation.man.generateCaches`
is enabled. Must be a path to a directory with man pages under
<literal>/share/man</literal>; see the source for an example.
`/share/man`; see the source for an example.
Advanced users can make this a content-addressed derivation to save a few rebuilds.
'';
};

View file

@ -22,16 +22,17 @@ in {
options.confinement.fullUnit = lib.mkOption {
type = types.bool;
default = false;
description = ''
description = lib.mdDoc ''
Whether to include the full closure of the systemd unit file into the
chroot, instead of just the dependencies for the executables.
<warning><para>While it may be tempting to just enable this option to
::: {.warning}
While it may be tempting to just enable this option to
make things work quickly, please be aware that this might add paths
to the closure of the chroot that you didn't anticipate. It's better
to use <option>confinement.packages</option> to <emphasis
role="strong">explicitly</emphasis> add additional store paths to the
chroot.</para></warning>
to use {option}`confinement.packages` to **explicitly** add additional store paths to the
chroot.
:::
'';
};

View file

@ -191,12 +191,12 @@ in {
settings = mkOption {
default = {};
description = ''
description = mdDoc ''
The primary synapse configuration. See the
<link xlink:href="https://github.com/matrix-org/synapse/blob/v${cfg.package.version}/docs/sample_config.yaml">sample configuration</link>
[sample configuration](https://github.com/matrix-org/synapse/blob/v${cfg.package.version}/docs/sample_config.yaml)
for possible values.
Secrets should be passed in by using the <literal>extraConfigFiles</literal> option.
Secrets should be passed in by using the `extraConfigFiles` option.
'';
type = with types; submodule {
freeformType = format.type;
@ -230,23 +230,23 @@ in {
registration_shared_secret = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
description = mdDoc ''
If set, allows registration by anyone who also has the shared
secret, even if registration is otherwise disabled.
Secrets should be passed in via <literal>extraConfigFiles</literal>!
Secrets should be passed in via `extraConfigFiles`!
'';
};
macaroon_secret_key = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
description = mdDoc ''
Secret key for authentication tokens. If none is specified,
the registration_shared_secret is used, if one is given; otherwise,
a secret key is derived from the signing key.
Secrets should be passed in via <literal>extraConfigFiles</literal>!
Secrets should be passed in via `extraConfigFiles`!
'';
};
@ -620,10 +620,10 @@ in {
example = literalExpression ''
config.services.coturn.static-auth-secret
'';
description = ''
description = mdDoc ''
The shared secret used to compute passwords for the TURN server.
Secrets should be passed in via <literal>extraConfigFiles</literal>!
Secrets should be passed in via `extraConfigFiles`!
'';
};

View file

@ -54,10 +54,10 @@ let
hashedPassword = mkOption {
type = uniq (nullOr str);
default = null;
description = ''
description = mdDoc ''
Specifies the hashed password for the MQTT User.
To generate hashed password install <literal>mosquitto</literal>
package and use <literal>mosquitto_passwd</literal>.
To generate hashed password install `mosquitto`
package and use `mosquitto_passwd`.
'';
};
@ -65,11 +65,11 @@ let
type = uniq (nullOr types.path);
example = "/path/to/file";
default = null;
description = ''
description = mdDoc ''
Specifies the path to a file containing the
hashed password for the MQTT user.
To generate hashed password install <literal>mosquitto</literal>
package and use <literal>mosquitto_passwd</literal>.
To generate hashed password install `mosquitto`
package and use `mosquitto_passwd`.
'';
};
@ -155,24 +155,24 @@ let
options = {
plugin = mkOption {
type = path;
description = ''
Plugin path to load, should be a <literal>.so</literal> file.
description = mdDoc ''
Plugin path to load, should be a `.so` file.
'';
};
denySpecialChars = mkOption {
type = bool;
description = ''
Automatically disallow all clients using <literal>#</literal>
or <literal>+</literal> in their name/id.
description = mdDoc ''
Automatically disallow all clients using `#`
or `+` in their name/id.
'';
default = true;
};
options = mkOption {
type = attrsOf optionType;
description = ''
Options for the auth plugin. Each key turns into a <literal>auth_opt_*</literal>
description = mdDoc ''
Options for the auth plugin. Each key turns into a `auth_opt_*`
line in the config.
'';
default = {};
@ -239,8 +239,8 @@ let
address = mkOption {
type = nullOr str;
description = ''
Address to listen on. Listen on <literal>0.0.0.0</literal>/<literal>::</literal>
description = mdDoc ''
Address to listen on. Listen on `0.0.0.0`/`::`
when unset.
'';
default = null;
@ -248,10 +248,10 @@ let
authPlugins = mkOption {
type = listOf authPluginOptions;
description = ''
description = mdDoc ''
Authentication plugin to attach to this listener.
Refer to the <link xlink:href="https://mosquitto.org/man/mosquitto-conf-5.html">
mosquitto.conf documentation</link> for details on authentication plugins.
Refer to the [mosquitto.conf documentation](https://mosquitto.org/man/mosquitto-conf-5.html)
for details on authentication plugins.
'';
default = [];
};
@ -472,10 +472,10 @@ let
includeDirs = mkOption {
type = listOf path;
description = ''
description = mdDoc ''
Directories to be scanned for further config files to include.
Directories will processed in the order given,
<literal>*.conf</literal> files in the directory will be
`*.conf` files in the directory will be
read in case-sensistive alphabetical order.
'';
default = [];

View file

@ -72,39 +72,39 @@ in {
cert = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Path to the <literal>cert.pem</literal> file, which will be copied into Syncthing's
<link linkend="opt-services.syncthing.configDir">configDir</link>.
description = mdDoc ''
Path to the `cert.pem` file, which will be copied into Syncthing's
[configDir](#opt-services.syncthing.configDir).
'';
};
key = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Path to the <literal>key.pem</literal> file, which will be copied into Syncthing's
<link linkend="opt-services.syncthing.configDir">configDir</link>.
description = mdDoc ''
Path to the `key.pem` file, which will be copied into Syncthing's
[configDir](#opt-services.syncthing.configDir).
'';
};
overrideDevices = mkOption {
type = types.bool;
default = true;
description = ''
description = mdDoc ''
Whether to delete the devices which are not configured via the
<link linkend="opt-services.syncthing.devices">devices</link> option.
If set to <literal>false</literal>, devices added via the web
[devices](#opt-services.syncthing.devices) option.
If set to `false`, devices added via the web
interface will persist and will have to be deleted manually.
'';
};
devices = mkOption {
default = {};
description = ''
description = mdDoc ''
Peers/devices which Syncthing should communicate with.
Note that you can still add devices manually, but those changes
will be reverted on restart if <link linkend="opt-services.syncthing.overrideDevices">overrideDevices</link>
will be reverted on restart if [overrideDevices](#opt-services.syncthing.overrideDevices)
is enabled.
'';
example = {
@ -135,27 +135,27 @@ in {
id = mkOption {
type = types.str;
description = ''
The device ID. See <link xlink:href="https://docs.syncthing.net/dev/device-ids.html"/>.
description = mdDoc ''
The device ID. See <https://docs.syncthing.net/dev/device-ids.html>.
'';
};
introducer = mkOption {
type = types.bool;
default = false;
description = ''
description = mdDoc ''
Whether the device should act as an introducer and be allowed
to add folders on this computer.
See <link xlink:href="https://docs.syncthing.net/users/introducer.html"/>.
See <https://docs.syncthing.net/users/introducer.html>.
'';
};
autoAcceptFolders = mkOption {
type = types.bool;
default = false;
description = ''
description = mdDoc ''
Automatically create or share folders that this device advertises at the default path.
See <link xlink:href="https://docs.syncthing.net/users/config.html?highlight=autoaccept#config-file-format"/>.
See <https://docs.syncthing.net/users/config.html?highlight=autoaccept#config-file-format>.
'';
};
@ -166,21 +166,21 @@ in {
overrideFolders = mkOption {
type = types.bool;
default = true;
description = ''
description = mdDoc ''
Whether to delete the folders which are not configured via the
<link linkend="opt-services.syncthing.folders">folders</link> option.
If set to <literal>false</literal>, folders added via the web
[folders](#opt-services.syncthing.folders) option.
If set to `false`, folders added via the web
interface will persist and will have to be deleted manually.
'';
};
folders = mkOption {
default = {};
description = ''
description = mdDoc ''
Folders which should be shared by Syncthing.
Note that you can still add devices manually, but those changes
will be reverted on restart if <link linkend="opt-services.syncthing.overrideDevices">overrideDevices</link>
will be reverted on restart if [overrideDevices](#opt-services.syncthing.overrideDevices)
is enabled.
'';
example = literalExpression ''
@ -231,18 +231,18 @@ in {
devices = mkOption {
type = types.listOf types.str;
default = [];
description = ''
description = mdDoc ''
The devices this folder should be shared with. Each device must
be defined in the <link linkend="opt-services.syncthing.devices">devices</link> option.
be defined in the [devices](#opt-services.syncthing.devices) option.
'';
};
versioning = mkOption {
default = null;
description = ''
description = mdDoc ''
How to keep changed/deleted files with Syncthing.
There are 4 different types of versioning with different parameters.
See <link xlink:href="https://docs.syncthing.net/users/versioning.html"/>.
See <https://docs.syncthing.net/users/versioning.html>.
'';
example = literalExpression ''
[
@ -284,17 +284,17 @@ in {
options = {
type = mkOption {
type = enum [ "external" "simple" "staggered" "trashcan" ];
description = ''
description = mdDoc ''
The type of versioning.
See <link xlink:href="https://docs.syncthing.net/users/versioning.html"/>.
See <https://docs.syncthing.net/users/versioning.html>.
'';
};
params = mkOption {
type = attrsOf (either str path);
description = ''
description = mdDoc ''
The parameters for versioning. Structure depends on
<link linkend="opt-services.syncthing.folders._name_.versioning.type">versioning.type</link>.
See <link xlink:href="https://docs.syncthing.net/users/versioning.html"/>.
[versioning.type](#opt-services.syncthing.folders._name_.versioning.type).
See <https://docs.syncthing.net/users/versioning.html>.
'';
};
};
@ -345,9 +345,9 @@ in {
ignoreDelete = mkOption {
type = types.bool;
default = false;
description = ''
description = mdDoc ''
Whether to skip deleting files that are deleted by peers.
See <link xlink:href="https://docs.syncthing.net/advanced/folder-ignoredelete.html"/>.
See <https://docs.syncthing.net/advanced/folder-ignoredelete.html>.
'';
};
};
@ -357,9 +357,9 @@ in {
extraOptions = mkOption {
type = types.addCheck (pkgs.formats.json {}).type isAttrs;
default = {};
description = ''
description = mdDoc ''
Extra configuration options for Syncthing.
See <link xlink:href="https://docs.syncthing.net/users/config.html"/>.
See <https://docs.syncthing.net/users/config.html>.
'';
example = {
options.localAnnounceEnabled = false;
@ -387,9 +387,9 @@ in {
type = types.str;
default = defaultUser;
example = "yourUser";
description = ''
description = mdDoc ''
The user to run Syncthing as.
By default, a user named <literal>${defaultUser}</literal> will be created.
By default, a user named `${defaultUser}` will be created.
'';
};
@ -397,9 +397,9 @@ in {
type = types.str;
default = defaultGroup;
example = "yourGroup";
description = ''
description = mdDoc ''
The group to run Syncthing under.
By default, a group named <literal>${defaultGroup}</literal> will be created.
By default, a group named `${defaultGroup}` will be created.
'';
};
@ -407,11 +407,11 @@ in {
type = with types; nullOr str;
default = null;
example = "socks5://address.com:1234";
description = ''
description = mdDoc ''
Overwrites the all_proxy environment variable for the Syncthing process to
the given value. This is normally used to let Syncthing connect
through a SOCKS5 proxy server.
See <link xlink:href="https://docs.syncthing.net/users/proxying.html"/>.
See <https://docs.syncthing.net/users/proxying.html>.
'';
};
@ -432,25 +432,13 @@ in {
The path where the settings and keys will exist.
'';
default = cfg.dataDir + optionalString cond "/.config/syncthing";
defaultText = literalDocBook ''
<variablelist>
<varlistentry>
<term><literal>stateVersion >= 19.03</literal></term>
<listitem>
<programlisting>
config.${opt.dataDir} + "/.config/syncthing"
</programlisting>
</listitem>
</varlistentry>
<varlistentry>
<term>otherwise</term>
<listitem>
<programlisting>
config.${opt.dataDir}
</programlisting>
</listitem>
</varlistentry>
</variablelist>
defaultText = literalMD ''
* if `stateVersion >= 19.03`:
config.${opt.dataDir} + "/.config/syncthing"
* otherwise:
config.${opt.dataDir}
'';
};

View file

@ -88,20 +88,22 @@ in
# more likely to result in interfaces being configured to
# use DHCP when they shouldn't.
# We set RequiredForOnline to false, because it's fairly
# common for such devices to have multiple interfaces and
# only one of them to be connected (e.g. a laptop with
# ethernet and WiFi interfaces). Maybe one day networkd will
# support "any"-style RequiredForOnline...
# When wait-online.anyInterface is enabled, RequiredForOnline really
# means "sufficient for online", so we can enable it.
# Otherwise, don't block the network coming online because of default networks.
matchConfig.Name = ["en*" "eth*"];
DHCP = "yes";
linkConfig.RequiredForOnline = lib.mkDefault false;
linkConfig.RequiredForOnline =
lib.mkDefault config.systemd.network.wait-online.anyInterface;
networkConfig.IPv6PrivacyExtensions = "kernel";
};
networks."99-wireless-client-dhcp" = lib.mkIf cfg.useDHCP {
# Like above, but this is much more likely to be correct.
matchConfig.WLANInterfaceType = "station";
DHCP = "yes";
linkConfig.RequiredForOnline = lib.mkDefault false;
linkConfig.RequiredForOnline =
lib.mkDefault config.systemd.network.wait-online.anyInterface;
networkConfig.IPv6PrivacyExtensions = "kernel";
# We also set the route metric to one more than the default
# of 1024, so that Ethernet is preferred if both are
# available.

View file

@ -23,12 +23,12 @@ in
default = false;
type = types.bool;
description =
''
mdDoc ''
Setting this option enables the Xen hypervisor, a
virtualisation technology that allows multiple virtual
machines, known as <emphasis>domains</emphasis>, to run
machines, known as *domains*, to run
concurrently on the physical machine. NixOS runs as the
privileged <emphasis>Domain 0</emphasis>. This option
privileged *Domain 0*. This option
requires a reboot to take effect.
'';
};

View file

@ -2,11 +2,11 @@
let
pname = "ledger-live-desktop";
version = "2.42.0";
version = "2.43.1";
src = fetchurl {
url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
hash = "sha256-LhpZ2aTPT3XJWeWsl7MCbFsgwSqTHfpdRJD9SveIqQg=";
url = "https://download.live.ledger.com/${pname}-${version}-linux-x86_64.AppImage";
hash = "sha256-qjlTYIe7Ep3maS3+3vjrtrD2T9plELOTddZfaaL2SXI=";
};
appimageContents = appimageTools.extractType2 {

View file

@ -185,20 +185,20 @@ rec {
anyedittools = buildEclipsePlugin rec {
name = "anyedit-${version}";
version = "2.7.1.201709201439";
version = "2.7.2.202006062100";
srcFeature = fetchurl {
url = "http://andrei.gmxhome.de/eclipse/features/AnyEditTools_${version}.jar";
sha256 = "1wqzl7wq85m9gil8rnvly45ps0a2m0svw613pg6djs5i7amhnayh";
url = "https://github.com/iloveeclipse/plugins/blob/latest/features/AnyEditTools_${version}.jar";
sha256 = "0dwwwvz8by10f5gnws1ahmg02g6v4xbaqcwc0cydvv1h52cyb40g";
};
srcPlugin = fetchurl {
url = "https://github.com/iloveeclipse/anyedittools/releases/download/2.7.1/de.loskutov.anyedit.AnyEditTools_${version}.jar";
sha256 = "03iyb6j2srq74iigmg7dk098c2svyv0ygdfql5jqr44a32n07k8q";
url = "https://github.com/iloveeclipse/plugins/blob/latest/plugins/de.loskutov.anyedit.AnyEditTools_${version}.jar";
sha256 = "1ip8dk92ka7bczw1bkbs3zkclmwr28ds5q1wrzh525wb70x8v6fi";
};
meta = with lib; {
homepage = "http://andrei.gmxhome.de/anyedit/";
homepage = "https://github.com/iloveeclipse/plugins";
description = "Adds new tools to the context menu of text-based editors";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.epl10;
@ -231,20 +231,20 @@ rec {
bytecode-outline = buildEclipsePlugin rec {
name = "bytecode-outline-${version}";
version = "2.5.0.201711011753-5a57fdf";
version = "1.0.1.202006062100";
srcFeature = fetchurl {
url = "http://andrei.gmxhome.de/eclipse/features/de.loskutov.BytecodeOutline.feature_${version}.jar";
sha256 = "0yciqhcq0n5i326mwy57r4ywmkz2c2jky7r4pcmznmhvks3z65ps";
url = "https://github.com/iloveeclipse/plugins/blob/latest/features/org.eclipse.jdt.bcoview.feature_${version}.jar";
sha256 = "0zbcph72lgv8cb5n4phcl3qsybc5q5yviwbv8yjv4v12m4l15wpk";
};
srcPlugin = fetchurl {
url = "http://dl.bintray.com/iloveeclipse/plugins/de.loskutov.BytecodeOutline_${version}.jar";
sha256 = "1vmsqv32jfl7anvdkw0vir342miv5sr9df7vd1w44lf1yf97vxlw";
url = "https://github.com/iloveeclipse/plugins/blob/latest/plugins/org.eclipse.jdt.bcoview_${version}.jar";
sha256 = "1bx860k4haqcnhy8825kn4df0pyzd680qbnvjmxfrlxrqhr66fbb";
};
meta = with lib; {
homepage = "http://andrei.gmxhome.de/bytecode/";
homepage = "https://github.com/iloveeclipse/plugins";
description = "Shows disassembled bytecode of current java editor or class file";
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.bsd2;

View file

@ -14,13 +14,13 @@
mkDerivation rec {
pname = "ghostwriter";
version = "2.1.3";
version = "2.1.4";
src = fetchFromGitHub {
owner = "wereturtle";
repo = pname;
rev = version;
hash = "sha256-U6evyaC7fLFyKzeDNAI3U3/IcCk8DTY8pb3e3xqSfwk=";
hash = "sha256-Vr1w9bAtjQK1ZevFDWQ7xNsUrdv5qrP+JHe1Cuc2CvE=";
};
nativeBuildInputs = [ qmake pkg-config qttools ];

View file

@ -7,8 +7,8 @@ in buildVscodeMarketplaceExtension {
mktplcRef = {
name = "jupyter";
publisher = "ms-toolsai";
version = "2021.9.1101343141";
sha256 = "1c5dgkk5yn6a8k3blbqakqdy8ppwgfbm0ciki7ix696bvlksbpdg";
version = "2022.5.1001411044";
sha256 = "0z6i7a5sba42yc2inp3yvw6lm6m0kings2iv18h4d6zyhm2lb61p";
};
nativeBuildInputs = [

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, vscode-utils, extractNuGet
{ lib, stdenv, fetchurl, fetchpatch, vscode-utils, extractNuGet
, icu, curl, openssl, liburcu, lttng-ust, autoPatchelfHook
, python3, musl
, pythonUseFixed ? false # When `true`, the python default setting will be fixed to specified.
@ -28,6 +28,17 @@ let
url = "https://lttng.org/files/lttng-ust/lttng-ust-${version}.tar.bz2";
sha256 = "0ddwk0nl28bkv2xb78gz16a2bvlpfbjmzwfbgwf5p1cq46dyvy86";
};
patches = (oldAttrs.patches or []) ++ [
# Pull upstream fix for -fno-common toolchain. Without it build fails on
# upstream gcc-10 as:
# ld: libustsnprintf.a(libustsnprintf_la-core.o):snprintf/core.c:23: multiple definition of
# `ust_loglevel'; ustctl.o:liblttng-ust-ctl/ustctl.c:80: first defined here
(fetchpatch {
name = "fno-common.patch";
url = "https://github.com/lttng/lttng-ust/commit/21a934df4c683e73e0a66a9afca33573fcf9d789.patch";
sha256 = "122lw9rdmr80gmz7814235ibqs47c6pzvg0ryh01805x0cymx74z";
})
];
});
pythonDefaultsTo = if pythonUseFixed then "${python3}/bin/python" else "python";

View file

@ -22,11 +22,11 @@
buildPythonApplication rec {
pname = "bikeshed";
version = "3.5.2";
version = "3.7.0";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-fa9z/y4Enrei8gb48MSS7vzDcttZVO7MJkdEIaDZb0I=";
sha256 = "sha256-3fVo+B71SsJs+XF4+FWH2nz0ouTnpC/02fXYr1C9Jrk=";
};
# Relax requirements from "==" to ">="

View file

@ -1,25 +1,57 @@
{ lib, buildGoPackage, fetchFromGitHub }:
{ lib
, buildGoModule
, fetchFromGitHub
, installShellFiles
}:
buildGoPackage rec {
buildGoModule rec {
pname = "brig";
version = "0.4.1";
rev = "v${version}";
goPackagePath = "github.com/sahib/brig";
subPackages = ["."];
src = fetchFromGitHub {
owner = "sahib";
repo = "brig";
inherit rev;
rev = "v${version}";
sha256 = "0gi39jmnzqrgj146yw8lcmgmvzx7ii1dgw4iqig7kx8c0jiqi600";
};
vendorSha256 = null;
nativeBuildInputs = [ installShellFiles ];
subPackages = [ "." ];
ldflags = [ "-s" "-w" ] ++ (with lib;
mapAttrsToList (n: v: "-X github.com/sahib/brig/version.${n}=${v}")
(with versions; {
Major = major version;
Minor = minor version;
Patch = patch version;
ReleaseType = "";
BuildTime = "1970-01-01T00:00:00+0000";
GitRev = src.rev;
}));
postInstall = ''
installShellCompletion --cmd brig \
--bash $src/autocomplete/bash_autocomplete \
--zsh $src/autocomplete/zsh_autocomplete
'';
# There are no tests for the brig executable.
doCheck = false;
meta = with lib; {
description = "File synchronization on top of ipfs with git like interface and FUSE filesystem";
homepage = "https://github.com/sahib/brig";
description = "File synchronization on top of IPFS with a git-like interface and a FUSE filesystem";
longDescription = ''
brig is a distributed and secure file synchronization tool with a version
control system. It is based on IPFS, written in Go and will feel familiar
to git users. Think of it as a swiss army knife for file synchronization
or as a peer to peer alternative to Dropbox.
'';
homepage = "https://brig.readthedocs.io";
changelog = "https://github.com/sahib/brig/releases/tag/${src.rev}";
license = licenses.agpl3;
platforms = platforms.unix;
maintainers = with maintainers; [ offline ];
};
}

View file

@ -1,21 +1,21 @@
{
"stable": {
"version": "102.0.5005.115",
"sha256": "1rj7vy824vn513hiivc90lnxvxyi2s0qkdmfqsdssv9v6zjl079h",
"sha256bin64": "0b32sscbjnvr98lk962i9k2srckv2s7fp9pifmsv5jlwndjhzm7y",
"version": "103.0.5060.53",
"sha256": "00di0nw6h3kb0qp2wp3ny3zsar1ayn1lyx5zr28dl1h5cwaaxjqf",
"sha256bin64": "19wxd4jl6fyjpcpy2331ckz6dgzrfj52wvdkp0kb18n0sym17fyn",
"deps": {
"gn": {
"version": "2022-04-14",
"version": "2022-05-11",
"url": "https://gn.googlesource.com/gn",
"rev": "fd9f2036f26d83f9fcfe93042fb952e5a7fe2167",
"sha256": "0b5xs0chcv3hfhy71rycsmgxnqbm375a333hwav8929k9cbi5p9h"
"rev": "578a7fe4c3c6b0bc2ae1fd2e37f14857d09895bf",
"sha256": "03dqfrdpf5xxl64dby3qmbwpzdq2gsa8g7xl438py3a629rgxg63"
}
},
"chromedriver": {
"version": "102.0.5005.61",
"sha256_linux": "0fzmvggb4jkjx8cdanarlqqava8xdf3z5wrx560x7772pgd7q02b",
"sha256_darwin": "1y6wq5waivrc5svlwj1svcsh0w72lp68kid52q4qwi044d0l25jg",
"sha256_darwin_aarch64": "03xvmix3hkzlvsv1k5yai2hvsvv60in59n3wdwxkb79fdnkpr3i3"
"version": "103.0.5060.24",
"sha256_linux": "0snsv9n9db314adrr7hhcf49mgrkak6bvq84q9l5yvpl8ihvd0xr",
"sha256_darwin": "1rdai2vvnj7156lbbg0zambcz638hq7a3i9npbmlsl826l61m8wm",
"sha256_darwin_aarch64": "15f5q9fdqa63mb9yjm4dql69fh6w85f0xj428sv4grfhrn8w0bh3"
}
},
"beta": {

View file

@ -13,13 +13,17 @@ stdenv.mkDerivation rec {
version
;
outputs = [ "out" "man" ];
outputs = [ "out" "man" "convert" ];
WHAT = "cmd/kubectl";
WHAT = lib.concatStringsSep " " [
"cmd/kubectl"
"cmd/kubectl-convert"
];
installPhase = ''
runHook preInstall
install -D _output/local/go/bin/kubectl -t $out/bin
install -D _output/local/go/bin/kubectl-convert -t $convert/bin
installManPage docs/man/man1/kubectl*

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "signal-cli";
version = "0.10.2";
version = "0.10.8";
# Building from source would be preferred, but is much more involved.
src = fetchurl {
url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}.tar.gz";
sha256 = "sha256-etCO7sy48A7aL3mnXWitClNiw/E122G4eD6YfVmXEPw=";
url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}-Linux.tar.gz";
sha256 = "sha256-vZBFYPim/qBC8hJHvp5gK6P2JxIs9rzR/hIMjW3kNM8=";
};
buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];

View file

@ -71,7 +71,7 @@ let
in
env.mkDerivation rec {
pname = "telegram-desktop";
version = "3.7.3";
version = "4.0.0";
# Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
# Telegram-Desktop with submodules
@ -80,7 +80,7 @@ env.mkDerivation rec {
repo = "tdesktop";
rev = "v${version}";
fetchSubmodules = true;
sha256 = "01b3nrhfbxhq4w63nsjnrhyfsdq3fm4l7sfkasbh8ib4qk3c9vwz";
sha256 = "16j5rvlqr2bb1dkc7cc920ylhw3sp4qnqvm1aznnnjzcimqb8xf0";
};
postPatch = ''

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation {
pname = "tg_owt";
version = "unstable-2022-04-14";
version = "unstable-2022-05-08";
src = fetchFromGitHub {
owner = "desktop-app";
repo = "tg_owt";
rev = "63a934db1ed212ebf8aaaa20f0010dd7b0d7b396";
sha256 = "sha256-WddSsQ9KW1zYyYckzdUOvfFZArYAbyvXmABQNMtK6cM=";
rev = "10d5f4bf77333ef6b43516f90d2ce13273255f41";
sha256 = "02sky7sx73rj8xm1f70vy94zxaab6qiif742fv0vi4y6pfqrngn7";
fetchSubmodules = true;
};

View file

@ -17,14 +17,14 @@
stdenv.mkDerivation rec {
pname = "warp";
version = "0.1.2";
version = "0.2.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "warp";
rev = "v${version}";
hash = "sha256-6KWTjfrJr0QkiYHkwy4IKrzQuVUMHc1yILM7ixHBHSQ=";
hash = "sha256-AtSU/vN20ePyxhSSl0RB2a4KKpd6PTUCC4n5RIuYVr4=";
};
postPatch = ''
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-Xy/tn5iUqwlmztmTmqUbISAk1xu9vkbMk4CvK4j2ttM=";
hash = "sha256-DbKoZLB8XIZy5bIOC6blrNa3x4oCVG0Bl9xp6ARgw0c=";
};
nativeBuildInputs = [

View file

@ -5,14 +5,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "snakemake";
version = "7.8.2";
version = "7.8.3";
format = "setuptools";
src = fetchFromGitHub {
owner = "snakemake";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-ZJg7yJS4uODnXwyuwE0uY5CNg1CYyGqSIFYPntAlU5k=";
hash = "sha256-fYrsum056PCRRp4P5xO6yLfog3WrE/JR1ID7+iV85fc=";
};
propagatedBuildInputs = with python3.pkgs; [

View file

@ -1,4 +1,4 @@
{ lib, stdenvNoCC, linkFarmFromDrvs, callPackage, nuget-to-nix, writeScript, makeWrapper, fetchurl, xml2, dotnetCorePackages, dotnetPackages, mkNugetSource, mkNugetDeps, cacert }:
{ lib, stdenvNoCC, linkFarmFromDrvs, callPackage, nuget-to-nix, writeScript, makeWrapper, fetchurl, xml2, dotnetCorePackages, dotnetPackages, mkNugetSource, mkNugetDeps, cacert, srcOnly }:
{ name ? "${args.pname}-${args.version}"
, pname ? name
@ -78,7 +78,9 @@ let
then linkFarmFromDrvs "${name}-project-references" projectReferences
else null;
_nugetDeps = mkNugetDeps { inherit name; nugetDeps = import nugetDeps; };
_nugetDeps = if lib.isDerivation nugetDeps
then nugetDeps
else mkNugetDeps { inherit name; nugetDeps = import nugetDeps; };
nuget-source = mkNugetSource {
name = "${name}-nuget-source";
@ -115,7 +117,7 @@ in stdenvNoCC.mkDerivation (args // {
export HOME=$(mktemp -d)
deps_file="/tmp/${pname}-deps.nix"
store_src="${args.src}"
store_src="${srcOnly args}"
src="$(mktemp -d /tmp/${pname}.XXX)"
cp -rT "$store_src" "$src"
chmod -R +w "$src"

View file

@ -1,9 +1,10 @@
{ linkFarmFromDrvs, fetchurl }:
{ name, nugetDeps }:
linkFarmFromDrvs "${name}-nuget-deps" (nugetDeps {
fetchNuGet = { pname, version, sha256 }: fetchurl {
linkFarmFromDrvs "${name}-nuget-deps" (nugetDeps {
fetchNuGet = { pname, version, sha256
, url ? "https://www.nuget.org/api/v2/package/${pname}/${version}" }:
fetchurl {
name = "${pname}-${version}.nupkg";
url = "https://www.nuget.org/api/v2/package/${pname}/${version}";
inherit sha256;
inherit url sha256;
};
})
})

View file

@ -6,6 +6,8 @@
, coreutils
, findutils
, gnused
, jq
, curl
}:
runCommandLocal "nuget-to-nix" {
@ -18,6 +20,8 @@ runCommandLocal "nuget-to-nix" {
coreutils
findutils
gnused
jq
curl
];
};

View file

@ -13,6 +13,8 @@ pkgs=$1
tmpfile=$(mktemp /tmp/nuget-to-nix.XXXXXX)
trap "rm -f ${tmpfile}" EXIT
declare -A nuget_sources_cache
echo "{ fetchNuGet }: ["
while read pkg_spec; do
@ -21,7 +23,14 @@ while read pkg_spec; do
sed -nE 's/.*<id>([^<]*).*/\1/p; s/.*<version>([^<+]*).*/\1/p' "$pkg_spec")
pkg_sha256="$(nix-hash --type sha256 --flat --base32 "$(dirname "$pkg_spec")"/*.nupkg)"
echo " (fetchNuGet { pname = \"$pkg_name\"; version = \"$pkg_version\"; sha256 = \"$pkg_sha256\"; })" >> ${tmpfile}
pkg_src="$(jq --raw-output '.source' "$(dirname "$pkg_spec")/.nupkg.metadata")"
if [[ $pkg_src != https://api.nuget.org/* ]]; then
pkg_source_url="${nuget_sources_cache[$pkg_src]:=$(curl --fail "$pkg_src" | jq --raw-output '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"')}"
pkg_url="$pkg_source_url${pkg_name,,}/${pkg_version,,}/${pkg_name,,}.${pkg_version,,}.nupkg"
echo " (fetchNuGet { pname = \"$pkg_name\"; version = \"$pkg_version\"; sha256 = \"$pkg_sha256\"; url = \"$pkg_url\"; })" >> ${tmpfile}
else
echo " (fetchNuGet { pname = \"$pkg_name\"; version = \"$pkg_version\"; sha256 = \"$pkg_sha256\"; })" >> ${tmpfile}
fi
done < <(find $1 -name '*.nuspec')
LC_ALL=C sort --ignore-case ${tmpfile}

View file

@ -7,25 +7,13 @@
#
# > srcOnly pkgs.hello
#
{ name
, src
, stdenv ? orig.stdenv
, patches ? []
, # deprecated, use the nativeBuildInputs
buildInputs ? []
, # used to pass extra unpackers
nativeBuildInputs ? []
, # needed when passing an existing derivation
...
}:
stdenv.mkDerivation {
inherit
buildInputs
name
nativeBuildInputs
patches
src
;
attrs:
let
args = if builtins.hasAttr "drvAttrs" attrs then attrs.drvAttrs else attrs;
name = if builtins.hasAttr "name" args then args.name else "${args.pname}-${args.version}";
in
stdenv.mkDerivation (args // {
name = "${name}-source";
installPhase = "cp -r . $out";
phases = ["unpackPhase" "patchPhase" "installPhase"];
}
})

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "papirus-icon-theme";
version = "20220302";
version = "20220606";
src = fetchFromGitHub {
owner = "PapirusDevelopmentTeam";
repo = pname;
rev = version;
sha256 = "sha256-X92an2jGRgZ/Q3cr6Q729DA2hs/2y34HoRpB1rxk0hI=";
sha256 = "sha256-HJb77ArzwMX9ZYTp0Ffxxtst1/xhPAa+eEP5n950DSs=";
};
nativeBuildInputs = [ gtk3 ];

View file

@ -19,14 +19,14 @@
stdenv.mkDerivation rec {
pname = "aisleriot";
version = "3.22.23";
version = "3.22.24";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = pname;
rev = version;
sha256 = "sha256-s7z1bR2ZG3YxJcqNrhH+O5PfGeFoPWeWSI26VCCe33Y=";
sha256 = "sha256-3pZYmYCqPULFP5Vi4anY4bnx6QMPstAOKgM1a5Kw/cc=";
};
nativeBuildInputs = [

View file

@ -101,9 +101,12 @@
, libXext ? null # Xlib support
, libxml2 ? null # libxml2 support, for IMF and DASH demuxers
, xz ? null # xz-utils
, nvenc ? !stdenv.isDarwin && !stdenv.isAarch64, nv-codec-headers ? null # NVIDIA NVENC support
, nv-codec-headers ? null
, nvdec ? !stdenv.isDarwin && !stdenv.isAarch64 # NVIDIA NVDEC support
, nvenc ? !stdenv.isDarwin && !stdenv.isAarch64 # NVIDIA NVENC support
, openal ? null # OpenAL 1.1 capture support
#, opencl ? null # OpenCL code
, ocl-icd ? null # OpenCL ICD
, opencl-headers ? null # OpenCL headers
, opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
#, opencv ? null # Video filtering
, openglExtlib ? false, libGL ? null, libGLU ? null # OpenGL rendering
@ -164,7 +167,7 @@
*
* Not packaged:
* aacplus avisynth cdio-paranoia crystalhd libavc1394 libiec61883
* libnut libquvi nvenc opencl oss shine twolame
* libnut libquvi nvenc oss shine twolame
* utvideo vo-aacenc vo-amrwbenc xvmc zvbi blackmagic-design-desktop-video
*
* Need fixes to support Darwin:
@ -375,9 +378,11 @@ stdenv.mkDerivation rec {
(enableFeature libxcbshapeExtlib "libxcb-shape")
(enableFeature (libxml2 != null) "libxml2")
(enableFeature (xz != null) "lzma")
(enableFeature nvdec "cuvid")
(enableFeature nvdec "nvdec")
(enableFeature nvenc "nvenc")
(enableFeature (openal != null) "openal")
#(enableFeature opencl "opencl")
(enableFeature (ocl-icd != null && opencl-headers != null) "opencl")
(enableFeature (opencore-amr != null && version3Licensing) "libopencore-amrnb")
#(enableFeature (opencv != null) "libopencv")
(enableFeature openglExtlib "opengl")
@ -431,7 +436,7 @@ stdenv.mkDerivation rec {
bzip2 celt dav1d fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
libjack2 ladspaH lame libaom libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa
libogg libopus librsvg libssh libtheora libvdpau libvorbis libvpx libwebp libX11
libxcb libXv libXext libxml2 xz openal openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr
libxcb libXv libXext libxml2 xz openal ocl-icd opencl-headers openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr
samba SDL2 soxr speex srt vid-stab vo-amrwbenc x264 x265 xavs xvidcore
zeromq4 zimg zlib openh264
] ++ optionals openglExtlib [ libGL libGLU ]
@ -441,7 +446,7 @@ stdenv.mkDerivation rec {
++ optional (!isAarch64 && libvmaf != null && version3Licensing) libvmaf
++ optionals isLinux [ alsa-lib libraw1394 libv4l vulkan-loader glslang ]
++ optional (isLinux && !isAarch64 && libmfx != null) libmfx
++ optional nvenc nv-codec-headers
++ optional (nvdec || nvenc) nv-codec-headers
++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation
MediaToolbox VideoDecodeAcceleration
libiconv ];

View file

@ -10,18 +10,24 @@ let param =
rev = version;
sha256 = "sha256:0asib87c42apwf1ln8541x6i3mvyajqbarifvz11in0mqn5k7g7h";
};
NIX_CFLAGS_COMPILE = null;
} else if check "3.12" then {
version = "2.18.5";
src = fetchurl {
url = "https://forge.ocamlcore.org/frs/download.php/1627/lablgtk-2.18.5.tar.gz";
sha256 = "0cyj6sfdvzx8hw7553lhgwc0krlgvlza0ph3dk9gsxy047dm3wib";
};
# Workaround build failure on -fno-common toolchains like upstream
# gcc-10. Otherwise build fails as:
# ld: ml_gtktree.o:(.bss+0x0): multiple definition of
# `ml_table_extension_events'; ml_gdkpixbuf.o:(.bss+0x0): first defined here
NIX_CFLAGS_COMPILE = "-fcommon";
} else throw "lablgtk is not available for OCaml ${ocaml.version}";
in
stdenv.mkDerivation {
pname = "lablgtk";
inherit (param) version src;
inherit (param) version src NIX_CFLAGS_COMPILE;
nativeBuildInputs = [ pkg-config ocaml findlib ];
buildInputs = [ gtk2 libgnomecanvas gtksourceview ];

View file

@ -25,7 +25,8 @@ buildPerlPackage rec {
meta = with lib; {
description = "A lightweight application for searching and streaming videos from YouTube";
homepage = "https://github.com/trizen/youtube-viewer";
maintainers = with maintainers; [ woffs ];
license = with licenses; [ artistic2 ];
maintainers = with maintainers; [ woffs ];
mainProgram = "youtube-viewer";
};
}

View file

@ -37,6 +37,7 @@ buildPerlPackage {
homepage = "https://github.com/kernkonzept/ham";
license = "unknown"; # should be gpl2, but not quite sure
maintainers = with lib.maintainers; [ aw ];
mainProgram = "ham";
platforms = lib.platforms.unix;
};
}

View file

@ -6,13 +6,13 @@
buildPythonPackage rec {
pname = "aocd";
version = "1.1.1";
version = "1.1.2";
src = fetchFromGitHub {
owner = "wimglenn";
repo = "advent-of-code-data";
rev = "v${version}";
sha256 = "sha256-wdg6XUkjnAc9yAP7DP0UT6SlQHfj/ymhqzIGNM3fco4=";
rev = "refs/tags/v${version}";
sha256 = "sha256-3Cs9tiyWXtyeDXf4FK4gXokCZgtxv4Z5jmSv47t04ag=";
};
propagatedBuildInputs = [

View file

@ -0,0 +1,36 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, click
, six
, pytestCheckHook
, jsonschema
}:
buildPythonPackage rec {
pname = "archspec";
version = "0.1.4";
format = "pyproject";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-ScigEpYNArveqi5tlqiA7LwsVs2RkjT+GChxhSy/ndw=";
};
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [ click six ];
checkInputs = [ pytestCheckHook jsonschema ];
pythonImportsCheck = [ "archspec" ];
meta = with lib; {
description = "A library for detecting, labeling, and reasoning about microarchitectures";
homepage = "https://archspec.readthedocs.io/en/latest/";
license = with licenses; [ mit asl20 ];
maintainers = with maintainers; [ atila ];
};
}

View file

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "aurorapy";
version = "0.2.6";
version = "0.2.7";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "energievalsabbia";
repo = pname;
rev = version;
hash = "sha256-DMlzzLe94dbeHjESmLc045v7vQ//IEsngAv7TeVznHE=";
hash = "sha256-rGwfGq3zdoG9NCGqVN29Q4bWApk5B6CRdsW9ctWgOec=";
};
propagatedBuildInputs = [

View file

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "breathe";
version = "4.33.1";
version = "4.34.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -17,8 +17,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "michaeljones";
repo = pname;
rev = "v${version}";
hash = "sha256-S4wxlxluRjwlRGCa5Os/J3EpdekI/CEPMWw6j/wlZbw=";
rev = "refs/tags/v${version}";
hash = "sha256-OOc3XQjqQa0cVpA+/HHco+koL+0whUm5qC7x3xiEdwQ=";
};
propagatedBuildInputs = [

View file

@ -25,14 +25,14 @@
buildPythonPackage rec {
pname = "datashader";
version = "0.14.0";
version = "0.14.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-VKEDOJV2ITO1gxKLbFQbcem0gEd/fzTIo+QSmZVsMGI=";
hash = "sha256-VGF6351lVCBat68EY9IY9lHk1hDMcjBcrVdPSliFq4Y=";
};
propagatedBuildInputs = [

View file

@ -11,14 +11,16 @@
buildPythonPackage rec {
pname = "django-debug-toolbar";
version = "3.2.4";
disabled = pythonOlder "3.6";
version = "3.4";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "jazzband";
repo = pname;
rev = version;
sha256 = "1008yzxxs1cp1wc0xcc9xskc3f7naxc4srv1sikiank1bc3479ha";
rev = "refs/tags/${version}";
hash = "sha256-tXQZcQvdGEtcIAtER1s2HSVkGHW0sdrnC+i01+RuSXg=";
};
propagatedBuildInputs = [
@ -42,11 +44,15 @@ buildPythonPackage rec {
runHook postCheck
'';
meta = {
pythonImportsCheck = [
"debug_toolbar"
];
meta = with lib; {
description = "Configurable set of panels that display debug information about the current request/response";
homepage = "https://github.com/jazzband/django-debug-toolbar";
changelog = "https://django-debug-toolbar.readthedocs.io/en/latest/changes.html";
maintainers = with lib.maintainers; [ yuu ];
license = lib.licenses.bsd3;
};
license = licenses.bsd3;
maintainers = with maintainers; [ yuu ];
};
}

View file

@ -6,13 +6,13 @@
buildPythonPackage rec {
pname = "fontParts";
version = "0.10.5";
version = "0.10.6";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-VriGYcpd2uVDMXeF3DXGKCMRQ9pTjDkrUOt2YSUgd5M=";
sha256 = "sha256-mEnQWmzzZ5S8rWzmXuJDjcuoICi6Q+aneX8hGXj11Gg=";
extension = "zip";
};

View file

@ -0,0 +1,39 @@
{ lib
, fetchFromGitHub
, buildPythonPackage
, six
, archspec
, pytestCheckHook
, pytest-xdist
}:
buildPythonPackage rec {
pname = "hpccm";
version = "22.5.0";
src = fetchFromGitHub {
owner = "NVIDIA";
repo = "hpc-container-maker";
rev = "v${version}";
sha256 = "sha256-zR5+X9BKaUvLPQ05FnfU817esgxVqP8n+wfdWy20BN4=";
};
propagatedBuildInputs = [ six archspec ];
checkInputs = [ pytestCheckHook pytest-xdist ];
disabledTests = [
# tests require git
"test_commit"
"test_tag"
];
pythonImportsCheck = [ "hpccm" ];
meta = with lib; {
description = "HPC Container Maker";
homepage = "https://github.com/NVIDIA/hpc-container-maker";
license = licenses.asl20;
platforms = platforms.x86;
maintainers = with maintainers; [ atila ];
};
}

View file

@ -7,7 +7,7 @@
buildPythonPackage rec {
pname = "http-sfv";
version = "0.9.7";
version = "0.9.8";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -16,7 +16,7 @@ buildPythonPackage rec {
owner = "mnot";
repo = "http_sfv";
rev = "http_sfv-${version}";
hash = "sha256-VeCDgzpnaN8zkZt7Dy0njU6Dnq1SQTJ95CEYl20QxPQ=";
hash = "sha256-zl0Rk4QbzCVmYZ6TnVq+C+oe27Imz5fEQY9Fco5lo5s=";
};
propagatedBuildInputs = [

View file

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "huggingface-hub";
version = "0.7.0";
version = "0.8.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "huggingface";
repo = "huggingface_hub";
rev = "refs/tags/v${version}";
hash = "sha256-GUe9+Z23vt3sfpntDnToMY5vWLK6m0zRySSJgMljetg=";
hash = "sha256-XerI4dkGsnxbOE1Si70adVIwLIrStZ3HSuQPAQoJtnQ=";
};
propagatedBuildInputs = [

View file

@ -1,6 +1,7 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, pythonOlder
, pytestCheckHook
, atpublic
@ -73,6 +74,14 @@ buildPythonPackage rec {
hash = "sha256-7ywDMAHQAl39kiHfxVkq7voUEKqbb9Zq8qlaug7+ukI=";
};
patches = [
(fetchpatch {
url = "https://github.com/ibis-project/ibis/commit/a6f64c6c32b49098d39bb205952cbce4bdfea657.patch";
sha256 = "sha256-puVMjiJXWk8C9yhuXPD9HKrgUBYcYmUPacQz5YO5xYQ=";
includes = [ "pyproject.toml" ];
})
];
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [

View file

@ -9,14 +9,14 @@
buildPythonApplication rec {
pname = "jsbeautifier";
version = "1.14.3";
version = "1.14.4";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-1tV2J8+ezYzZAbnsetSogSeo3t6RAXf6SyGedtAvm9c=";
hash = "sha256-cp+mwP6TWyZm8/6tfsV2+RGubo1731ePmy+5K6N3u7M=";
};
propagatedBuildInputs = [

View file

@ -6,14 +6,14 @@
buildPythonPackage rec {
pname = "parts";
version = "1.3.0";
version = "1.4.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-NrhNpWyzqwn1bNnuqmcyKcUED0A4v7VJE4ZlTHFafJY=";
sha256 = "sha256-Qs6+3dWG5sjSmeQiL/Q2evn5TImEX0Yk/nCIe5uIMp4=";
};
# Project has no tests

View file

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "pulumi-aws";
# Version is independant of pulumi's.
version = "5.8.0";
version = "5.9.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "pulumi";
repo = "pulumi-aws";
rev = "refs/tags/v${version}";
hash = "sha256-exMPHz5sq6AW3hyv+pl66RmHR4nEBIeDu7NPPyH1mig=";
hash = "sha256-QEOVI6PvFJ8gf02Hlh42grMt2cObTJsOSmrgmjEZ8Rw=";
};
sourceRoot = "${src.name}/sdk/python";

View file

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "pysnmp-pysmi";
version = "1.1.8";
version = "1.1.10";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -17,8 +17,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "pysnmp";
repo = "pysmi";
rev = "v${version}";
hash = "sha256-nsIEZPD7bfbePZukkudP0ZH/m8Be88QkVDM5PdjNHVk=";
rev = "refs/tags/v${version}";
hash = "sha256-ZfN0nU9IurBEjSZijC2E4UoLIM54mBFgv7rcI1v/a4Q=";
};
nativeBuildInputs = [

View file

@ -17,14 +17,14 @@
buildPythonPackage rec {
pname = "sagemaker";
version = "2.95.0";
version = "2.96.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-Rx4PrQqWN6Q19ov9Ao5sAGvdgls+y6WjMxP+35dpKsQ=";
hash = "sha256-40xvL7EwCDx/zsYHJhczx1MqVVrwQiDhlcv3QrEuv/E=";
};
propagatedBuildInputs = [

View file

@ -0,0 +1,62 @@
{ lib
, buildPythonPackage
, distro
, fetchFromGitHub
, jdk
, numpy
, pandas
, pytestCheckHook
, pythonOlder
, setuptools-scm
}:
buildPythonPackage rec {
pname = "tabula-py";
version = "2.4.0";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "chezou";
repo = pname;
rev = "v${version}";
hash = "sha256-cVhtFfzDQvVnDaXOU3dx/m3LENMMG3E+RnFVFCZ0AAc=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
nativeBuildInputs = [
setuptools-scm
];
propagatedBuildInputs = [
distro
numpy
pandas
];
checkInputs = [
jdk
pytestCheckHook
];
pythonImportsCheck = [
"tabula"
];
disabledTests = [
# Tests require network access
"test_convert_remote_file"
"test_read_pdf_with_remote_template"
"test_read_remote_pdf"
"test_read_remote_pdf_with_custom_user_agent"
];
meta = with lib; {
description = "Module to extract table from PDF into pandas DataFrame";
homepage = "https://github.com/chezou/tabula-py";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -9,13 +9,13 @@
buildPythonPackage rec {
pname = "tubeup";
version = "0.0.31";
version = "0.0.32";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "sha256-hoVmkBrXc2AN5K/vZpxby1U7huhXbfFCiy+2Njt+2Lk=";
sha256 = "sha256-YWBp6qXz4hNTBzywBGTXDQSzbWfoEEvJLQL5wy8DQ1g=";
};
postPatch = ''

View file

@ -1,11 +0,0 @@
diff --git a/src/hydra-eval-jobs/Makefile.am b/src/hydra-eval-jobs/Makefile.am
index 7a4e9c91..90742a30 100644
--- a/src/hydra-eval-jobs/Makefile.am
+++ b/src/hydra-eval-jobs/Makefile.am
@@ -1,5 +1,5 @@
bin_PROGRAMS = hydra-eval-jobs
hydra_eval_jobs_SOURCES = hydra-eval-jobs.cc
-hydra_eval_jobs_LDADD = $(NIX_LIBS)
+hydra_eval_jobs_LDADD = $(NIX_LIBS) -lnixcmd
hydra_eval_jobs_CXXFLAGS = $(NIX_CFLAGS) -I ../libhydra

View file

@ -126,16 +126,22 @@ let
in
stdenv.mkDerivation rec {
pname = "hydra";
version = "2022-05-03";
version = "2022-06-16";
src = fetchFromGitHub {
owner = "NixOS";
repo = "hydra";
rev = "7c133a98f8e689cdc13f8a1adaaa9cd75d039a35";
sha256 = "sha256-LqBLIXYssvDoSp2Hf2+vDDB9O8VSF48HAGwL8pI2WZY=";
rev = "fb26435fe9a54f13143e69a545b8f3cecffaed96";
sha256 = "sha256-kmgN7D7tUC3Ki70D+rdS19PW/lrANlU3tc8gu5gsld0=";
};
patches = [ ./eval.patch ];
patches = [
# https://github.com/NixOS/hydra/pull/1215: scmdiff: Hardcode --git-dir
(fetchpatch {
url = "https://github.com/NixOS/hydra/commit/b6ea85a601ddac9cb0716d8cb4d446439fa0778f.patch";
sha256 = "sha256-QHjwLYQucdkBs6OsFI8kWo5ugkPXXlTgdbGFxKBHAHo=";
})
];
buildInputs =
[

View file

@ -1,74 +0,0 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../.. -i bash -p dotnet-sdk_6 jq xmlstarlet curl
set -euo pipefail
cat << EOL
{ fetchurl }: [
EOL
# enter a temporary directory containing the source code, copied from the derivation
srcdir="$(mktemp -d)"
cp -r "$(nix-build -A omnisharp-roslyn.src ../../../..)"/. "$srcdir"
rm -f "$srcdir"/global.json
pushd $srcdir >&2
tmpdir="$(mktemp -d -p "$(pwd)")" # must be under source root
mapfile -t repos < <(
xmlstarlet sel -t -v 'configuration/packageSources/add/@value' -n NuGet.Config |
while IFS= read index
do
curl --compressed -fsL "$index" | \
jq -r '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"'
done
)
dotnet msbuild -t:restore -p:Configuration=Release -p:RestorePackagesPath="$tmpdir" \
-p:RestoreNoCache=true -p:RestoreForce=true \
"$srcdir/src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj" >&2
cd "$tmpdir"
for package in *
do
cd "$package"
for version in *
do
found=false
for repo in "${repos[@]}"
do
url="$repo$package/$version/$package.$version.nupkg"
if curl -fsL "$url" -o /dev/null
then
found=true
break
fi
done
if ! $found
then
echo "couldn't find $package $version" >&2
exit 1
fi
sha256=$(nix-prefetch-url "$url" 2>/dev/null)
cat << EOL
{
pname = "$package";
version = "$version";
src = fetchurl {
url = "$url";
sha256 = "$sha256";
};
}
EOL
done
cd ..
done
cd ..
cat << EOL
]
EOL
popd >&2

View file

@ -1,68 +1,9 @@
{ lib, stdenv
, fetchFromGitHub
, fetchurl
, dotnetCorePackages
, makeWrapper
, unzip
, writeText
}:
{ lib, fetchFromGitHub, buildDotnetModule, dotnetCorePackages }:
let
dotnet-sdk = dotnetCorePackages.sdk_6_0;
deps = map (package: stdenv.mkDerivation (with package; {
inherit pname version src;
buildInputs = [ unzip ];
unpackPhase = ''
unzip $src
chmod -R u+r .
function traverseRename () {
for e in *
do
t="$(echo "$e" | sed -e "s/%20/\ /g" -e "s/%2B/+/g")"
[ "$t" != "$e" ] && mv -vn "$e" "$t"
if [ -d "$t" ]
then
cd "$t"
traverseRename
cd ..
fi
done
}
traverseRename
'';
installPhase = ''
runHook preInstall
package=$out/lib/dotnet/${pname}/${version}
mkdir -p $package
cp -r . $package
echo "{}" > $package/.nupkg.metadata
runHook postInstall
'';
dontFixup = true;
}))
(import ./deps.nix { inherit fetchurl; });
nuget-config = writeText "NuGet.Config" ''
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
</packageSources>
<fallbackPackageFolders>
${lib.concatStringsSep "\n" (map (package: "<add key=\"${package}\" value=\"${package}/lib/dotnet\"/>") deps)}
</fallbackPackageFolders>
</configuration>
'';
in stdenv.mkDerivation rec {
sdkVersion = dotnetCorePackages.sdk_6_0.version;
in
buildDotnetModule rec {
pname = "omnisharp-roslyn";
version = "1.38.2";
@ -73,36 +14,21 @@ in stdenv.mkDerivation rec {
sha256 = "7XJIdotfffu8xo+S6xlc1zcK3oY9QIg1CJhCNJh5co0=";
};
nativeBuildInputs = [ makeWrapper dotnet-sdk ];
projectFile = "src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj";
nugetDeps = ./deps.nix;
dotnetInstallFlags = [ "--framework net6.0" ];
postPatch = ''
# Relax the version requirement
substituteInPlace global.json \
--replace '6.0.100' '${dotnet-sdk.version}'
--replace '6.0.100' '${sdkVersion}'
'';
buildPhase = ''
runHook preBuild
HOME=$(pwd)/fake-home dotnet msbuild -r \
-p:Configuration=Release \
-p:RestoreConfigFile=${nuget-config} \
src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj
runHook postBuild
'';
installPhase = ''
mkdir -p $out/bin
cp -r bin/Release/OmniSharp.Stdio.Driver/net6.0 $out/src
postFixup = ''
# Delete files to mimick hacks in https://github.com/OmniSharp/omnisharp-roslyn/blob/bdc14ca/build.cake#L594
rm $out/src/NuGet.*.dll
rm $out/src/System.Configuration.ConfigurationManager.dll
makeWrapper $out/src/OmniSharp $out/bin/omnisharp \
--prefix DOTNET_ROOT : ${dotnet-sdk} \
--suffix PATH : ${dotnet-sdk}/bin
rm $out/lib/omnisharp-roslyn/NuGet.*.dll
rm $out/lib/omnisharp-roslyn/System.Configuration.ConfigurationManager.dll
'';
meta = with lib; {
@ -114,8 +40,7 @@ in stdenv.mkDerivation rec {
binaryNativeCode # dependencies
];
license = licenses.mit;
maintainers = with maintainers; [ tesq0 ericdallo corngood ];
mainProgram = "omnisharp";
maintainers = with maintainers; [ tesq0 ericdallo corngood mdarocha ];
mainProgram = "OmniSharp";
};
}

File diff suppressed because it is too large Load diff

View file

@ -1,19 +1,19 @@
{ stdenv, lib, fetchurl, unzip }:
let
# You can check the latest version with `curl -sS https://update.tabnine.com/bundles/version`
version = "4.0.60";
version = "4.4.40";
supportedPlatforms = {
"x86_64-linux" = {
name = "x86_64-unknown-linux-musl";
sha256 = "sha256-v5UxRMDDQxpqIKMe9mYMXcpWiacdXzFfaQ6bgab/WmQ=";
sha256 = "sha256-goPPGU4oZWBD/C15rbbX5YMqua16A4MdLhBoC4JxaCI=";
};
"x86_64-darwin" = {
name = "x86_64-apple-darwin";
sha256 = "sha256-vFMMzMatuu1TY6dnBXycv0HxvkOj4Axfx8p0VW0hOic=";
sha256 = "sha256-CgYHQ91U6K3+kMyOSSia2B7IncR5u0eq9h3EZiBsRdU=";
};
"aarch64-darwin" = {
name = "aarch64-apple-darwin";
sha256 = "sha256-DUeDQLtvSY7W2nG60UunluCSO0ijJP2CYxpRIZA4LTE=";
sha256 = "sha256-JwX3TdKYmLQO3mWb15Ds/60VAAurGxqfJlMCQqy2pxg=";
};
};
platform =

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "typos";
version = "1.5.0";
version = "1.10.1";
src = fetchFromGitHub {
owner = "crate-ci";
repo = pname;
rev = "v${version}";
sha256 = "sha256-It112+60ze+5rvq3TYlIU+X4lJ4pgdCO7Gb1ADArDvY=";
hash = "sha256-CdmzGqqzMvLYAXJ2hpjoOQ8FA53PzGspWdjTFWlshYI=";
};
cargoSha256 = "sha256-yiy1xLxCdjIzqXUlkxWoOZ7cPZzJgDuTUvNHpnnTnwE=";
cargoHash = "sha256-X41CSz52S2M4rUsX/GiDGoBpZgUS8UNPvHg7rxbsG0k=";
meta = with lib; {
description = "Source code spell checker";

View file

@ -7,7 +7,7 @@
python3.pkgs.buildPythonApplication rec {
pname = "pokete";
version = "0.7.2";
version = "0.7.3";
format = "other";
@ -15,7 +15,7 @@ python3.pkgs.buildPythonApplication rec {
owner = "lxgr-linux";
repo = "pokete";
rev = version;
sha256 = "sha256-P6007qY6MsnQH4LGiNPoKCUt3+YI0OinKFdosaj3Wrc=";
sha256 = "sha256-sP6fI3F/dQHei1ZJU6gChKxft9fGpTct4EyU3OdBtr4=";
};
pythonPath = with python3.pkgs; [

View file

@ -2,6 +2,7 @@
, stdenv
, fetchzip
, fetchFromGitHub
, fetchpatch
, SDL2
, buildFHSUserEnv
, cmake
@ -139,6 +140,24 @@ in stdenv.mkDerivation rec {
chmod +w -R daemon/external_deps/linux64-${binary-deps-version}/
'';
patches = [
(fetchpatch {
name = "fix-sdl-eventqueue-part1.patch";
url = "https://github.com/DaemonEngine/Daemon/commit/3a978c485f2a7e02c0bc5aeed2c7c4378026cb33.patch";
sha256 = "sha256-wVDscGf5zOOmivItNK913l0cfNFR6RpApewrxbmfG8s=";
stripLen = 1;
extraPrefix = "daemon/";
})
(fetchpatch {
name = "fix-sdl-eventqueue-part2.patch";
url = "https://github.com/DaemonEngine/Daemon/commit/54f98909c8871a57efb40263b215b81f22010b22.patch";
sha256 = "sha256-9qlyJnUEyZgFaclpXthKHm3qq+cW4E4LMOpLukcwBCU=";
stripLen = 1;
extraPrefix = "daemon/";
excludes = [ "*/CMakeLists.txt" ];
})
];
nativeBuildInputs = [
cmake
unvanquished-binary-deps

View file

@ -41,7 +41,8 @@ let
(whenBetween "5.2" "5.18" yes)
];
DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT = whenAtLeast "5.18" yes;
DEBUG_INFO_BTF = whenAtLeast "5.2" (option yes);
# Disabled on 32-bit platforms, fails to build on 5.15+ with `Failed to parse base BTF 'vmlinux': -22`
DEBUG_INFO_BTF = whenAtLeast "5.2" (option (if stdenv.hostPlatform.is32bit && (versionAtLeast version "5.15") then no else yes));
BPF_LSM = whenAtLeast "5.7" (option yes);
DEBUG_KERNEL = yes;
DEBUG_DEVRES = no;

View file

@ -1,4 +1,4 @@
{ lib, stdenv, buildPackages, fetchurl, perl, buildLinux, nixosTests, modDirVersionArg ? null, ... } @ args:
{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, modDirVersionArg ? null, ... } @ args:
with lib;
@ -11,8 +11,6 @@ buildLinux (args // rec {
# branchVersion needs to be x.y
extraMeta.branch = versions.majorMinor version;
extraMeta.broken = stdenv.isi686;
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "1700js21yimx8rz4bsglszry564l2ycmmcr36rdqspzbmlx5w8wb";

View file

@ -50,25 +50,25 @@ rec {
};
in valueType;
generate = name: value: pkgs.runCommand name {
nativeBuildInputs = [ pkgs.jq ];
generate = name: value: pkgs.callPackage ({ runCommand, jq }: runCommand name {
nativeBuildInputs = [ jq ];
value = builtins.toJSON value;
passAsFile = [ "value" ];
} ''
jq . "$valuePath"> $out
'';
'') {};
};
yaml = {}: {
generate = name: value: pkgs.runCommand name {
nativeBuildInputs = [ pkgs.remarshal ];
value = builtins.toJSON value;
passAsFile = [ "value" ];
} ''
json2yaml "$valuePath" "$out"
'';
generate = name: value: pkgs.callPackage ({ runCommand, remarshal }: runCommand name {
nativeBuildInputs = [ remarshal ];
value = builtins.toJSON value;
passAsFile = [ "value" ];
} ''
json2yaml "$valuePath" "$out"
'') {};
type = with lib.types; let
valueType = nullOr (oneOf [
@ -161,13 +161,13 @@ rec {
};
in valueType;
generate = name: value: pkgs.runCommand name {
nativeBuildInputs = [ pkgs.remarshal ];
generate = name: value: pkgs.callPackage ({ runCommand, remarshal }: runCommand name {
nativeBuildInputs = [ remarshal ];
value = builtins.toJSON value;
passAsFile = [ "value" ];
} ''
json2toml "$valuePath" "$out"
'';
'') {};
};

View file

@ -2,7 +2,7 @@
buildPythonApplication rec {
pname = "Tautulli";
version = "2.9.5";
version = "2.10.1";
format = "other";
pythonPath = [ setuptools ];
@ -12,7 +12,7 @@ buildPythonApplication rec {
owner = "Tautulli";
repo = pname;
rev = "v${version}";
sha256 = "sha256-agkYfLWmeQOD+dtoYvTcNPXjfU3kv56c15AFeB7eVTw=";
sha256 = "sha256-qM3PiBZD0AfbhIdJFYFUGYhsB4U6ZZEW4i7S9waP7VE=";
};
installPhase = ''

View file

@ -124,7 +124,7 @@ let
# InstallCheck phase
, doInstallCheck ? config.doCheckByDefault or false
, # TODO(@Ericson2314): Make always true and remove
, # TODO(@Ericson2314): Make always true and remove / resolve #178468
strictDeps ? if config.strictDepsByDefault then true else stdenv.hostPlatform != stdenv.buildPlatform
, enableParallelBuilding ? config.enableParallelBuildingByDefault

View file

@ -0,0 +1,25 @@
{ buildGoModule, fetchFromGitHub, lib }:
buildGoModule rec {
pname = "aws-sso-cli";
version = "1.9.2";
src = fetchFromGitHub {
owner = "synfinatic";
repo = pname;
rev = "v${version}";
sha256 = "9/dZfRmFAyE5NEMmuiVsRvwgqQrTNhXkTR9N0d3zgfk=";
};
vendorSha256 = "BlSCLvlrKiubMtfFSZ5ppMmL2ZhJcBXxJfeRgMADYB4=";
postInstall = ''
mv $out/bin/cmd $out/bin/aws-sso
'';
meta = with lib; {
homepage = "https://github.com/synfinatic/aws-sso-cli";
description = "AWS SSO CLI is a secure replacement for using the aws configure sso wizard";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ devusb ];
mainProgram = "aws-sso";
};
}

View file

@ -1,38 +0,0 @@
From 0a763a13ef55964395dff60283ececc16f957792 Mon Sep 17 00:00:00 2001
From: Derek Kulinski <d@kulinski.us>
Date: Sun, 8 May 2022 01:30:39 -0700
Subject: [PATCH] Fix Jinja2 3.1.0
---
salt/utils/jinja.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/salt/utils/jinja.py b/salt/utils/jinja.py
index 0cb70bf64a..322c2f7f46 100644
--- a/salt/utils/jinja.py
+++ b/salt/utils/jinja.py
@@ -25,10 +25,11 @@ import salt.utils.json
import salt.utils.stringutils
import salt.utils.url
import salt.utils.yaml
-from jinja2 import BaseLoader, Markup, TemplateNotFound, nodes
+from jinja2 import BaseLoader, TemplateNotFound, nodes
from jinja2.environment import TemplateModule
from jinja2.exceptions import TemplateRuntimeError
from jinja2.ext import Extension
+from markupsafe import Markup
from salt.exceptions import TemplateError
from salt.utils.decorators.jinja import jinja_filter, jinja_global, jinja_test
from salt.utils.odict import OrderedDict
@@ -706,7 +707,7 @@ def method_call(obj, f_name, *f_args, **f_kwargs):
return getattr(obj, f_name, lambda *args, **kwargs: None)(*f_args, **f_kwargs)
-@jinja2.contextfunction
+@jinja2.pass_context
def show_full_context(ctx):
return salt.utils.data.simple_types_filter(
{key: value for key, value in ctx.items()}
--
2.35.1

View file

@ -8,11 +8,11 @@
python3.pkgs.buildPythonApplication rec {
pname = "salt";
version = "3004.1";
version = "3004.2";
src = python3.pkgs.fetchPypi {
inherit pname version;
hash = "sha256-fzRKJDJkik8HjapazMaNzf/hCVzqE+wh5QQTVg8Ewpg=";
hash = "sha256-L6ZE9iANTja1WEbLNytuZ7bKD77AaX8djXPncbZl7XA=";
};
propagatedBuildInputs = with python3.pkgs; [
@ -29,9 +29,6 @@ python3.pkgs.buildPythonApplication rec {
patches = [
./fix-libcrypto-loading.patch
# Bug in 3004.1: https://github.com/saltstack/salt/pull/61856
./0001-Fix-Jinja2-3.1.0.patch
];
postPatch = ''

View file

@ -1,4 +1,15 @@
{ lib, stdenv, fetchgit, libxml2, libxslt, docbook-xsl, docbook_xml_dtd_44, perlPackages, makeWrapper, darwin }:
{ lib
, stdenv
, fetchgit
, libxml2
, libxslt
, docbook-xsl
, docbook_xml_dtd_44
, perlPackages
, makeWrapper
, perl # for pod2man
, darwin
}:
with lib;
stdenv.mkDerivation rec {
@ -15,9 +26,9 @@ stdenv.mkDerivation rec {
substituteInPlace Makefile --replace /usr/share/xml/docbook/stylesheet/docbook-xsl ${docbook-xsl}/xml/xsl/docbook
'';
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ libxml2 libxslt docbook-xsl docbook_xml_dtd_44 ]
++ optional stdenv.isDarwin darwin.cctools;
strictDeps = true;
nativeBuildInputs = [ makeWrapper perl libxml2 libxslt docbook-xsl docbook_xml_dtd_44 ];
buildInputs = optional stdenv.isDarwin darwin.cctools;
propagatedBuildInputs = with perlPackages; [ perl IPCRun TimeDate TimeDuration ];

View file

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "boundary";
version = "0.8.1";
version = "0.9.0";
src =
let
@ -15,10 +15,10 @@ stdenv.mkDerivation rec {
aarch64-darwin = "darwin_arm64";
};
sha256 = selectSystem {
x86_64-linux = "sha256-JvWzDdslO1S/nVsIwvFAEhLo/kkHIE1AVwoI980LV4Y=";
aarch64-linux = "sha256-IwD7iazbh94c9CZfFsg5t39D8oVWgpfXP1H0/GsTe3Y=";
x86_64-darwin = "sha256-SkNSZVdbR6KW/vChDdvHMP+fGQp+mPVxKpEHb7BR4+4=";
aarch64-darwin = "sha256-Mx9YhMk5eBgtDiYWPq7jfhrM3TjH0VCUE1QXycz5Cfc=";
x86_64-linux = "sha256-+Ewk+tLLwp8xszDS3RadeAOpS261wSG5NC8Gk2OwHiY=";
aarch64-linux = "sha256-knEI3a4xL+kAllNColEXBCKhnWoM3Fcso3cwFGaA1fQ=";
x86_64-darwin = "sha256-jPdW3ovcb5yhQHJGUEBB2hou2og4tMIGtr5V+W6vNlc=";
aarch64-darwin = "sha256-8Fx6lQUHna5J8M67wSzpRmAGZlZbQdpMxgSa6/07g/Y=";
};
in
fetchzip {

View file

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "gitleaks";
version = "8.8.7";
version = "8.8.8";
src = fetchFromGitHub {
owner = "zricethezav";
repo = pname;
rev = "v${version}";
sha256 = "sha256-C4AbxE37kqO3FJR/J7wP7WcV/mzzLZxPLBku5qgCxV4=";
sha256 = "sha256-NMlUk0tofQoJSiv3tHGyyad61624Losyv2YnxngAlrY=";
};
vendorSha256 = "sha256-X8z9iKRR3PptNHwy1clZG8QsClsjbW45nZb2fHGfSYk=";

View file

@ -0,0 +1,25 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "jsubfinder";
version = "unstable-2022-05-31";
src = fetchFromGitHub {
owner = "ThreatUnkown";
repo = pname;
rev = "e21de1ebc174bb69485f1c224e8063c77d87e4ad";
hash = "sha256-QjRYJyk0uFGa6FCCYK9SIJhoyam4ALsQJ26DsmbNk8s=";
};
vendorSha256 = "sha256-pr4KkszyzEl+yLJousx29tr7UZDJf0arEfXBb7eumww=";
meta = with lib; {
description = "Tool to search for in Javascript hidden subdomains and secrets";
homepage = "https://github.com/ThreatUnkown/jsubfinder";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,40 @@
{ lib
, buildGoModule
, fetchFromGitHub
, osv-detector
, testers
}:
buildGoModule rec {
pname = "osv-detector";
version = "0.6.0";
src = fetchFromGitHub {
owner = "G-Rath";
repo = pname;
rev = "v${version}";
hash = "sha256-Y/9q4ZJ4vxDitqrM4hGe49iqLYk4ebhTs4jrD7P8fdw=";
};
vendorSha256 = "sha256-KAxpDQIRrLZIOvfW8wf0CV4Fj6l3W6nNZNCH3ZE6yJc=";
ldflags = [
"-w"
"-s"
"-X main.version=${version}"
];
passthru.tests.version = testers.testVersion {
package = osv-detector;
command = "osv-detector -version";
version = "osv-detector ${version} (unknown, commit none)";
};
meta = with lib; {
description = "Auditing tool for detecting vulnerabilities";
homepage = "https://github.com/G-Rath/osv-detector";
changelog = "https://github.com/G-Rath/osv-detector/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -4,13 +4,13 @@ let
generic = { pname, packageToBuild, description }:
buildGoModule rec {
inherit pname;
version = "0.8.0";
version = "0.8.1";
src = fetchFromGitHub {
owner = "sigstore";
repo = "rekor";
rev = "v${version}";
sha256 = "sha256-DLgNHyw8PuQ5OS/5okzLqe5/J2m+JFmV4/xgt5fDNRI=";
sha256 = "sha256-QBS9vGKYe7aox0RhgiJ3wp7UmnxAmtox45xKOC0vhj0=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "fancy-motd";
version = "unstable-2021-07-15";
version = "unstable-2022-06-06";
src = fetchFromGitHub {
owner = "bcyran";
repo = pname;
rev = "e8d2d2602d9b9fbc132ddc4f9fbf22428d715721";
sha256 = "10fxr1grsiwvdc5m2wd4n51lvz0zd4sldg9rzviaim18nw68gdq3";
rev = "812c58f04f65053271f866f3797baa2eba7324f5";
sha256 = "sha256-O/euB63Dyj+NyfZK42egSEYwZhL8B0jCxSSDYoT4cpo=";
};
buildInputs = [ bc curl figlet fortune gawk iproute2 ];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, popt, ncurses, python3, readline, lib }:
{ stdenv, fetchurl, popt, ncurses, python39, readline, lib }:
stdenv.mkDerivation rec {
pname = "OpenIPMI";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "sha256-9tD9TAp0sF+AkHIp0LJw9UyiMpS8wRl5+LjRJ2Z4aUU=";
};
buildInputs = [ ncurses popt python3 readline ];
buildInputs = [ ncurses popt python39 readline ];
outputs = [ "out" "lib" "dev" "man" ];

View file

@ -2,23 +2,28 @@
rustPlatform.buildRustPackage rec {
pname = "tre-command";
version = "0.3.6";
version = "0.4.0";
src = fetchFromGitHub {
owner = "dduan";
repo = "tre";
rev = "v${version}";
sha256 = "1r84xzv3p0ml3wac2j7j5fkm7i93v2xvadb8f8al5wi57q39irj7";
sha256 = "sha256-JlkONhXMWLzxAf3SYoLkSvXw4bFYBnsCyyj0TUsezwg=";
};
cargoSha256 = "1f7yhnbgccqmz8hpc1xdv97j53far6d5p5gqvq6xxaqq9irf9bgj";
cargoSha256 = "sha256-b3fScJMG/CIkMrahbELLQp1otmT5En+p8kQsip05SOc=";
nativeBuildInputs = [ installShellFiles ];
preFixup = ''
installManPage manual/tre.1
installShellCompletion scripts/completion/tre.{bash,fish}
installShellCompletion --zsh scripts/completion/_tre
'';
# this test requires package to be in a git repo to succeed
checkFlags = "--skip respect_git_ignore";
meta = with lib; {
description = "Tree command, improved";
homepage = "https://github.com/dduan/tre";

View file

@ -1931,6 +1931,8 @@ with pkgs;
aws-sam-cli = callPackage ../development/tools/aws-sam-cli { };
aws-sso-cli = callPackage ../tools/admin/aws-sso-cli { };
aws-vault = callPackage ../tools/admin/aws-vault { };
aws-workspaces = callPackage ../applications/networking/remote/aws-workspaces { };
@ -4155,6 +4157,8 @@ with pkgs;
ossutil = callPackage ../tools/admin/ossutil {};
osv-detector = callPackage ../tools/security/osv-detector {};
pastel = callPackage ../applications/misc/pastel {
inherit (darwin.apple_sdk.frameworks) Security;
};
@ -7057,6 +7061,8 @@ with pkgs;
hotspot = libsForQt5.callPackage ../development/tools/analysis/hotspot { };
hpccm = with python3Packages; toPythonApplication hpccm;
hping = callPackage ../tools/networking/hping { };
hqplayer-desktop = libsForQt5.callPackage ../applications/audio/hqplayer-desktop { };
@ -7451,6 +7457,8 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Security;
};
jsubfinder = callPackage ../tools/security/jsubfinder { };
jtc = callPackage ../development/tools/jtc { };
jumpapp = callPackage ../tools/X11/jumpapp {};
@ -18017,7 +18025,7 @@ with pkgs;
hwloc = callPackage ../development/libraries/hwloc {};
hydra_unstable = callPackage ../development/tools/misc/hydra/unstable.nix { nix = nixVersions.nix_2_8; };
hydra_unstable = callPackage ../development/tools/misc/hydra/unstable.nix { nix = nixVersions.nix_2_9; };
hydra-cli = callPackage ../development/tools/misc/hydra-cli { };
@ -27797,6 +27805,7 @@ with pkgs;
kubernetes = callPackage ../applications/networking/cluster/kubernetes { };
kubectl = callPackage ../applications/networking/cluster/kubernetes/kubectl.nix { };
kubectl-convert = kubectl.convert;
kubemqctl = callPackage ../applications/networking/cluster/kubemqctl { };

View file

@ -571,7 +571,7 @@ in {
});
packageAliases = {
linux_default = if stdenv.hostPlatform.is32bit then packages.linux_5_10 else packages.linux_5_15;
linux_default = packages.linux_5_15;
# Update this when adding the newest kernel major version!
linux_latest = packages.linux_5_18;
linux_mptcp = packages.linux_mptcp_95;

File diff suppressed because it is too large Load diff

View file

@ -617,6 +617,8 @@ in {
archinfo = callPackage ../development/python-modules/archinfo { };
archspec = callPackage ../development/python-modules/archspec { };
area = callPackage ../development/python-modules/area { };
arelle = callPackage ../development/python-modules/arelle {
@ -4017,6 +4019,8 @@ in {
hpack = callPackage ../development/python-modules/hpack { };
hpccm = callPackage ../development/python-modules/hpccm { };
hsaudiotag3k = callPackage ../development/python-modules/hsaudiotag3k { };
hsluv = callPackage ../development/python-modules/hsluv { };
@ -10286,6 +10290,8 @@ in {
tablib = callPackage ../development/python-modules/tablib { };
tabula-py = callPackage ../development/python-modules/tabula-py { };
tabulate = callPackage ../development/python-modules/tabulate { };
tabview = callPackage ../development/python-modules/tabview { };