Merge master into haskell-updates
This commit is contained in:
commit
07123bb23b
@ -88,7 +88,7 @@ rec {
|
||||
else { ${elemAt attrPath n} = atDepth (n + 1); };
|
||||
in atDepth 0;
|
||||
|
||||
/* Like `attrByPath', but without a default value. If it doesn't find the
|
||||
/* Like `attrByPath`, but without a default value. If it doesn't find the
|
||||
path it will throw an error.
|
||||
|
||||
Example:
|
||||
@ -274,7 +274,7 @@ rec {
|
||||
# The set to get the named attributes from
|
||||
attrs: genAttrs names (name: attrs.${name});
|
||||
|
||||
/* Collect each attribute named `attr' from a list of attribute
|
||||
/* Collect each attribute named `attr` from a list of attribute
|
||||
sets. Sets that don't contain the named attribute are ignored.
|
||||
|
||||
Example:
|
||||
@ -357,8 +357,8 @@ rec {
|
||||
) {} list_of_attrs;
|
||||
|
||||
|
||||
/* Recursively collect sets that verify a given predicate named `pred'
|
||||
from the set `attrs'. The recursion is stopped when the predicate is
|
||||
/* Recursively collect sets that verify a given predicate named `pred`
|
||||
from the set `attrs`. The recursion is stopped when the predicate is
|
||||
verified.
|
||||
|
||||
Example:
|
||||
@ -439,9 +439,9 @@ rec {
|
||||
listToAttrs (map (attr: { name = attr; value = f attr set.${attr}; }) (attrNames set)));
|
||||
|
||||
|
||||
/* Like `mapAttrs', but allows the name of each attribute to be
|
||||
/* Like `mapAttrs`, but allows the name of each attribute to be
|
||||
changed in addition to the value. The applied function should
|
||||
return both the new name and value as a `nameValuePair'.
|
||||
return both the new name and value as a `nameValuePair`.
|
||||
|
||||
Example:
|
||||
mapAttrs' (name: value: nameValuePair ("foo_" + name) ("bar-" + value))
|
||||
@ -479,7 +479,7 @@ rec {
|
||||
map (name: f name attrs.${name}) (attrNames attrs);
|
||||
|
||||
|
||||
/* Like `mapAttrs', except that it recursively applies itself to
|
||||
/* Like `mapAttrs`, except that it recursively applies itself to
|
||||
attribute sets. Also, the first argument of the argument
|
||||
function is a *list* of the names of the containing attributes.
|
||||
|
||||
@ -499,9 +499,9 @@ rec {
|
||||
mapAttrsRecursiveCond (as: true) f set;
|
||||
|
||||
|
||||
/* Like `mapAttrsRecursive', but it takes an additional predicate
|
||||
/* Like `mapAttrsRecursive`, but it takes an additional predicate
|
||||
function that tells it whether to recurse into an attribute
|
||||
set. If it returns false, `mapAttrsRecursiveCond' does not
|
||||
set. If it returns false, `mapAttrsRecursiveCond` does not
|
||||
recurse, but does apply the map function. If it returns true, it
|
||||
does recurse, and does not apply the map function.
|
||||
|
||||
@ -655,7 +655,7 @@ rec {
|
||||
|
||||
/* Merge sets of attributes and combine each attribute value in to a list.
|
||||
|
||||
Like `lib.attrsets.zipAttrsWith' with `(name: values: values)' as the function.
|
||||
Like `lib.attrsets.zipAttrsWith` with `(name: values: values)` as the function.
|
||||
|
||||
Example:
|
||||
zipAttrs [{a = "x";} {a = "y"; b = "z";}]
|
||||
|
@ -3,13 +3,13 @@
|
||||
rec {
|
||||
|
||||
|
||||
/* `overrideDerivation drv f' takes a derivation (i.e., the result
|
||||
of a call to the builtin function `derivation') and returns a new
|
||||
/* `overrideDerivation drv f` takes a derivation (i.e., the result
|
||||
of a call to the builtin function `derivation`) and returns a new
|
||||
derivation in which the attributes of the original are overridden
|
||||
according to the function `f'. The function `f' is called with
|
||||
according to the function `f`. The function `f` is called with
|
||||
the original derivation attributes.
|
||||
|
||||
`overrideDerivation' allows certain "ad-hoc" customisation
|
||||
`overrideDerivation` allows certain "ad-hoc" customisation
|
||||
scenarios (e.g. in ~/.config/nixpkgs/config.nix). For instance,
|
||||
if you want to "patch" the derivation returned by a package
|
||||
function in Nixpkgs to build another version than what the
|
||||
@ -104,10 +104,10 @@ rec {
|
||||
else result;
|
||||
|
||||
|
||||
/* Call the package function in the file `fn' with the required
|
||||
/* Call the package function in the file `fn` with the required
|
||||
arguments automatically. The function is called with the
|
||||
arguments `args', but any missing arguments are obtained from
|
||||
`autoArgs'. This function is intended to be partially
|
||||
arguments `args`, but any missing arguments are obtained from
|
||||
`autoArgs`. This function is intended to be partially
|
||||
parameterised, e.g.,
|
||||
|
||||
callPackage = callPackageWith pkgs;
|
||||
@ -116,9 +116,9 @@ rec {
|
||||
libbar = callPackage ./bar.nix { };
|
||||
};
|
||||
|
||||
If the `libbar' function expects an argument named `libfoo', it is
|
||||
If the `libbar` function expects an argument named `libfoo`, it is
|
||||
automatically passed as an argument. Overrides or missing
|
||||
arguments can be supplied in `args', e.g.
|
||||
arguments can be supplied in `args`, e.g.
|
||||
|
||||
libbar = callPackage ./bar.nix {
|
||||
libfoo = null;
|
||||
@ -255,13 +255,13 @@ rec {
|
||||
in lib.deepSeq drv' drv';
|
||||
|
||||
/* Make a set of packages with a common scope. All packages called
|
||||
with the provided `callPackage' will be evaluated with the same
|
||||
with the provided `callPackage` will be evaluated with the same
|
||||
arguments. Any package in the set may depend on any other. The
|
||||
`overrideScope'` function allows subsequent modification of the package
|
||||
set in a consistent way, i.e. all packages in the set will be
|
||||
called with the overridden packages. The package sets may be
|
||||
hierarchical: the packages in the set are called with the scope
|
||||
provided by `newScope' and the set provides a `newScope' attribute
|
||||
provided by `newScope` and the set provides a `newScope` attribute
|
||||
which can form the parent scope for later package sets. */
|
||||
makeScope = newScope: f:
|
||||
let self = f self // {
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* Library of low-level helper functions for nix expressions.
|
||||
*
|
||||
* Please implement (mostly) exhaustive unit tests
|
||||
* for new functions in `./tests.nix'.
|
||||
* for new functions in `./tests.nix`.
|
||||
*/
|
||||
let
|
||||
|
||||
@ -131,14 +131,15 @@ let
|
||||
mkAliasAndWrapDefinitions fixMergeModules mkRemovedOptionModule
|
||||
mkRenamedOptionModule mkRenamedOptionModuleWith
|
||||
mkMergedOptionModule mkChangedOptionModule
|
||||
mkAliasOptionModule mkDerivedConfig doRename;
|
||||
mkAliasOptionModule mkDerivedConfig doRename
|
||||
mkAliasOptionModuleMD;
|
||||
inherit (self.options) isOption mkEnableOption mkSinkUndeclaredOptions
|
||||
mergeDefaultOption mergeOneOption mergeEqualOption mergeUniqueOption
|
||||
getValues getFiles
|
||||
optionAttrSetToDocList optionAttrSetToDocList'
|
||||
scrubOptionValue literalExpression literalExample literalDocBook
|
||||
showOption showOptionWithDefLocs showFiles
|
||||
unknownModule mkOption mkPackageOption
|
||||
unknownModule mkOption mkPackageOption mkPackageOptionMD
|
||||
mdDoc literalMD;
|
||||
inherit (self.types) isType setType defaultTypeMerge defaultFunctor
|
||||
isOptionType mkOptionType;
|
||||
|
@ -242,7 +242,7 @@ rec {
|
||||
|
||||
/* Return a singleton list or an empty list, depending on a boolean
|
||||
value. Useful when building lists with optional elements
|
||||
(e.g. `++ optional (system == "i686-linux") firefox').
|
||||
(e.g. `++ optional (system == "i686-linux") firefox`).
|
||||
|
||||
Type: optional :: bool -> a -> [a]
|
||||
|
||||
@ -283,7 +283,7 @@ rec {
|
||||
*/
|
||||
toList = x: if isList x then x else [x];
|
||||
|
||||
/* Return a list of integers from `first' up to and including `last'.
|
||||
/* Return a list of integers from `first` up to and including `last`.
|
||||
|
||||
Type: range :: int -> int -> [int]
|
||||
|
||||
@ -320,7 +320,7 @@ rec {
|
||||
) { right = []; wrong = []; });
|
||||
|
||||
/* Splits the elements of a list into many lists, using the return value of a predicate.
|
||||
Predicate should return a string which becomes keys of attrset `groupBy' returns.
|
||||
Predicate should return a string which becomes keys of attrset `groupBy` returns.
|
||||
|
||||
`groupBy'` allows to customise the combining function and initial value
|
||||
|
||||
|
@ -27,7 +27,7 @@ rec {
|
||||
setName = name: drv: drv // {inherit name;};
|
||||
|
||||
|
||||
/* Like `setName', but takes the previous name as an argument.
|
||||
/* Like `setName`, but takes the previous name as an argument.
|
||||
|
||||
Example:
|
||||
updateName (oldName: oldName + "-experimental") somePkg
|
||||
|
@ -157,6 +157,11 @@ rec {
|
||||
${if prefix == []
|
||||
then null # unset => visible
|
||||
else "internal"} = true;
|
||||
# TODO: hidden during the markdown transition to not expose downstream
|
||||
# users of the docs infra to markdown if they're not ready for it.
|
||||
# we don't make this visible conditionally because it can impact
|
||||
# performance (https://github.com/NixOS/nixpkgs/pull/208407#issuecomment-1368246192)
|
||||
visible = false;
|
||||
# TODO: Change the type of this option to a submodule with a
|
||||
# freeformType, so that individual arguments can be documented
|
||||
# separately
|
||||
@ -1108,6 +1113,15 @@ rec {
|
||||
visible = true;
|
||||
warn = false;
|
||||
use = id;
|
||||
wrapDescription = lib.id;
|
||||
};
|
||||
|
||||
/* Transitional version of mkAliasOptionModule that uses MD docs. */
|
||||
mkAliasOptionModuleMD = from: to: doRename {
|
||||
inherit from to;
|
||||
visible = true;
|
||||
warn = false;
|
||||
use = id;
|
||||
};
|
||||
|
||||
/* mkDerivedConfig : Option a -> (a -> Definition b) -> Definition b
|
||||
@ -1130,7 +1144,7 @@ rec {
|
||||
(opt.highestPrio or defaultOverridePriority)
|
||||
(f opt.value);
|
||||
|
||||
doRename = { from, to, visible, warn, use, withPriority ? true }:
|
||||
doRename = { from, to, visible, warn, use, withPriority ? true, wrapDescription ? lib.mdDoc }:
|
||||
{ config, options, ... }:
|
||||
let
|
||||
fromOpt = getAttrFromPath from options;
|
||||
@ -1141,7 +1155,7 @@ rec {
|
||||
{
|
||||
options = setAttrByPath from (mkOption {
|
||||
inherit visible;
|
||||
description = lib.mdDoc "Alias of {option}`${showOption to}`.";
|
||||
description = wrapDescription "Alias of {option}`${showOption to}`.";
|
||||
apply = x: use (toOf config);
|
||||
} // optionalAttrs (toType != null) {
|
||||
type = toType;
|
||||
|
@ -136,7 +136,7 @@ rec {
|
||||
let default' = if !isList default then [ default ] else default;
|
||||
in mkOption {
|
||||
type = lib.types.package;
|
||||
description = lib.mdDoc "The ${name} package to use.";
|
||||
description = "The ${name} package to use.";
|
||||
default = attrByPath default'
|
||||
(throw "${concatStringsSep "." default'} cannot be found in pkgs") pkgs;
|
||||
defaultText = literalExpression ("pkgs." + concatStringsSep "." default');
|
||||
@ -144,6 +144,11 @@ rec {
|
||||
(if isList example then "pkgs." + concatStringsSep "." example else example);
|
||||
};
|
||||
|
||||
/* Like mkPackageOption, but emit an mdDoc description instead of DocBook. */
|
||||
mkPackageOptionMD = args: name: extra:
|
||||
let option = mkPackageOption args name extra;
|
||||
in option // { description = lib.mdDoc option.description; };
|
||||
|
||||
/* This option accepts anything, but it does not produce any result.
|
||||
|
||||
This is useful for sharing a module across different module sets
|
||||
|
@ -4606,6 +4606,16 @@
|
||||
githubId = 541748;
|
||||
name = "Felipe Espinoza";
|
||||
};
|
||||
federicoschonborn = {
|
||||
name = "Federico Damián Schonborn";
|
||||
email = "fdschonborn@gmail.com";
|
||||
github = "FedericoSchonborn";
|
||||
githubId = 62166915;
|
||||
matrix = "@FedericoDSchonborn:matrix.org";
|
||||
keys = [
|
||||
{ fingerprint = "517A 8A6A 09CA A11C 9667 CEE3 193F 70F1 5C9A B0A0"; }
|
||||
];
|
||||
};
|
||||
fedx-sudo = {
|
||||
email = "fedx-sudo@pm.me";
|
||||
github = "FedX-sudo";
|
||||
|
@ -88,7 +88,7 @@ lib.mkOption {
|
||||
}
|
||||
```
|
||||
|
||||
### `mkPackageOption` {#sec-option-declarations-util-mkPackageOption}
|
||||
### `mkPackageOption`, `mkPackageOptionMD` {#sec-option-declarations-util-mkPackageOption}
|
||||
|
||||
Usage:
|
||||
|
||||
@ -106,6 +106,8 @@ The second argument is the name of the option, used in the description "The \<na
|
||||
|
||||
You can omit the default path if the name of the option is also attribute path in nixpkgs.
|
||||
|
||||
During the transition to CommonMark documentation `mkPackageOption` creates an option with a DocBook description attribute, once the transition is completed it will create a CommonMark description instead. `mkPackageOptionMD` always creates an option with a CommonMark description attribute and will be removed some time after the transition is completed.
|
||||
|
||||
::: {#ex-options-declarations-util-mkPackageOption .title}
|
||||
Examples:
|
||||
|
||||
|
@ -138,7 +138,8 @@ lib.mkOption {
|
||||
}
|
||||
</programlisting>
|
||||
<section xml:id="sec-option-declarations-util-mkPackageOption">
|
||||
<title><literal>mkPackageOption</literal></title>
|
||||
<title><literal>mkPackageOption</literal>,
|
||||
<literal>mkPackageOptionMD</literal></title>
|
||||
<para>
|
||||
Usage:
|
||||
</para>
|
||||
@ -172,6 +173,15 @@ mkPackageOption pkgs "name" { default = [ "path" "in&qu
|
||||
You can omit the default path if the name of the option is
|
||||
also attribute path in nixpkgs.
|
||||
</para>
|
||||
<para>
|
||||
During the transition to CommonMark documentation
|
||||
<literal>mkPackageOption</literal> creates an option with a
|
||||
DocBook description attribute, once the transition is
|
||||
completed it will create a CommonMark description instead.
|
||||
<literal>mkPackageOptionMD</literal> always creates an option
|
||||
with a CommonMark description attribute and will be removed
|
||||
some time after the transition is completed.
|
||||
</para>
|
||||
<anchor xml:id="ex-options-declarations-util-mkPackageOption" />
|
||||
<para>
|
||||
Examples:
|
||||
|
@ -306,14 +306,17 @@ if hasDocBookErrors:
|
||||
print("Explanation: The documentation contains descriptions, examples, or defaults written in DocBook. " +
|
||||
"NixOS is in the process of migrating from DocBook to Markdown, and " +
|
||||
"DocBook is disallowed for in-tree modules. To change your contribution to "+
|
||||
"use Markdown, apply mdDoc and literalMD. For example:\n" +
|
||||
"use Markdown, apply mdDoc and literalMD and use the *MD variants of option creation " +
|
||||
"functions where they are available. For example:\n" +
|
||||
"\n" +
|
||||
" example.foo = mkOption {\n" +
|
||||
" description = lib.mdDoc ''your description'';\n" +
|
||||
" defaultText = lib.literalMD ''your description of default'';\n" +
|
||||
" }\n" +
|
||||
" };\n" +
|
||||
"\n" +
|
||||
" example.enable = mkEnableOption (lib.mdDoc ''your thing'');",
|
||||
" example.enable = mkEnableOption (lib.mdDoc ''your thing'');\n" +
|
||||
" example.package = mkPackageOptionMD pkgs \"your-package\" {};\n" +
|
||||
" imports = [ (mkAliasOptionModuleMD [ \"example\" \"args\" ] [ \"example\" \"settings\" ]) ];",
|
||||
file = sys.stderr)
|
||||
|
||||
if hasErrors:
|
||||
|
@ -444,8 +444,8 @@ let
|
||||
|
||||
in {
|
||||
imports = [
|
||||
(mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
|
||||
(mkAliasOptionModule [ "users" "extraGroups" ] [ "users" "groups" ])
|
||||
(mkAliasOptionModuleMD [ "users" "extraUsers" ] [ "users" "users" ])
|
||||
(mkAliasOptionModuleMD [ "users" "extraGroups" ] [ "users" "groups" ])
|
||||
(mkRenamedOptionModule ["security" "initialRootPassword"] ["users" "users" "root" "initialHashedPassword"])
|
||||
];
|
||||
|
||||
|
@ -61,7 +61,7 @@ in
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${cfg.package}/bin/otd-daemon -c ${cfg.package}/lib/OpenTabletDriver/Configurations";
|
||||
ExecStart = "${cfg.package}/bin/otd-daemon";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
@ -50,7 +50,7 @@ let
|
||||
(name: value:
|
||||
let
|
||||
wholeName = "${namePrefix}.${name}";
|
||||
guard = lib.warn "Attempt to evaluate package ${wholeName} in option documentation; this is not supported and will eventually be an error. Use `mkPackageOption` or `literalExpression` instead.";
|
||||
guard = lib.warn "Attempt to evaluate package ${wholeName} in option documentation; this is not supported and will eventually be an error. Use `mkPackageOption{,MD}` or `literalExpression` instead.";
|
||||
in if isAttrs value then
|
||||
scrubDerivations wholeName value
|
||||
// optionalAttrs (isDerivation value) {
|
||||
|
@ -28,6 +28,8 @@ let
|
||||
DOCUMENTATION_URL = "https://nixos.org/learn.html";
|
||||
SUPPORT_URL = "https://nixos.org/community.html";
|
||||
BUG_REPORT_URL = "https://github.com/NixOS/nixpkgs/issues";
|
||||
} // lib.optionalAttrs (cfg.variant_id != null) {
|
||||
VARIANT_ID = cfg.variant_id;
|
||||
};
|
||||
|
||||
initrdReleaseContents = osReleaseContents // {
|
||||
@ -87,6 +89,13 @@ in
|
||||
description = lib.mdDoc "The NixOS release code name (e.g. `Emu`).";
|
||||
};
|
||||
|
||||
nixos.variant_id = mkOption {
|
||||
type = types.nullOr (types.strMatching "^[a-z0-9._-]+$");
|
||||
default = null;
|
||||
description = lib.mdDoc "A lower-case string identifying a specific variant or edition of the operating system";
|
||||
example = "installer";
|
||||
};
|
||||
|
||||
stateVersion = mkOption {
|
||||
type = types.str;
|
||||
# TODO Remove this and drop the default of the option so people are forced to set it.
|
||||
|
@ -179,6 +179,7 @@
|
||||
./programs/haguichi.nix
|
||||
./programs/hamster.nix
|
||||
./programs/htop.nix
|
||||
./programs/iay.nix
|
||||
./programs/iftop.nix
|
||||
./programs/i3lock.nix
|
||||
./programs/iotop.nix
|
||||
|
@ -20,6 +20,7 @@ with lib;
|
||||
];
|
||||
|
||||
config = {
|
||||
system.nixos.variant_id = lib.mkDefault "installer";
|
||||
|
||||
# Enable in installer, even if the minimal profile disables it.
|
||||
documentation.enable = mkImageMediaOverride true;
|
||||
|
@ -27,7 +27,7 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkPackageOption pkgs "1Password GUI" {
|
||||
package = mkPackageOptionMD pkgs "1Password GUI" {
|
||||
default = [ "_1password-gui" ];
|
||||
};
|
||||
};
|
||||
|
@ -18,7 +18,7 @@ in
|
||||
programs._1password = {
|
||||
enable = mkEnableOption (lib.mdDoc "the 1Password CLI tool");
|
||||
|
||||
package = mkPackageOption pkgs "1Password CLI" {
|
||||
package = mkPackageOptionMD pkgs "1Password CLI" {
|
||||
default = [ "_1password" ];
|
||||
};
|
||||
};
|
||||
|
@ -16,7 +16,7 @@ in
|
||||
group.
|
||||
'';
|
||||
};
|
||||
package = mkPackageOption pkgs "flashrom" { };
|
||||
package = mkPackageOptionMD pkgs "flashrom" { };
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
37
nixos/modules/programs/iay.nix
Normal file
37
nixos/modules/programs/iay.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.programs.iay;
|
||||
inherit (lib) mkEnableOption mkIf mkOption mkPackageOptionMD optionalString types;
|
||||
in {
|
||||
options.programs.iay = {
|
||||
enable = mkEnableOption (lib.mdDoc "iay");
|
||||
package = mkPackageOptionMD pkgs "iay" {};
|
||||
|
||||
minimalPrompt = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc "Use minimal one-liner prompt.";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.bash.promptInit = ''
|
||||
if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
|
||||
PS1='$(iay ${optionalString cfg.minimalPrompt "-m"})'
|
||||
fi
|
||||
'';
|
||||
|
||||
programs.zsh.promptInit = ''
|
||||
if [[ $TERM != "dumb" && (-z $INSIDE_EMACS || $INSIDE_EMACS == "vterm") ]]; then
|
||||
autoload -Uz add-zsh-hook
|
||||
_iay_prompt() {
|
||||
PROMPT="$(iay -z ${optionalString cfg.minimalPrompt "-m"})"
|
||||
}
|
||||
add-zsh-hook precmd _iay_prompt
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
meta.maintainers = pkgs.iay.meta.maintainers;
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{ pkgs, config, lib, ... }:
|
||||
let
|
||||
inherit (lib) mdDoc mkEnableOption mkPackageOption optional optionalString;
|
||||
inherit (lib) mdDoc mkEnableOption mkPackageOptionMD optional optionalString;
|
||||
cfg = config.programs.skim;
|
||||
in
|
||||
{
|
||||
@ -8,7 +8,7 @@ in
|
||||
programs.skim = {
|
||||
fuzzyCompletion = mkEnableOption (mdDoc "fuzzy completion with skim");
|
||||
keybindings = mkEnableOption (mdDoc "skim keybindings");
|
||||
package = mkPackageOption pkgs "skim" {};
|
||||
package = mkPackageOptionMD pkgs "skim" {};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -15,7 +15,7 @@ in
|
||||
description = lib.mdDoc "Whether streamdeck-ui should be started automatically.";
|
||||
};
|
||||
|
||||
package = mkPackageOption pkgs "streamdeck-ui" {
|
||||
package = mkPackageOptionMD pkgs "streamdeck-ui" {
|
||||
default = [ "streamdeck-ui" ];
|
||||
};
|
||||
|
||||
|
@ -14,7 +14,7 @@ with lib;
|
||||
|
||||
# This alias module can't be where _module.check is defined because it would
|
||||
# be added to submodules as well there
|
||||
(mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ])
|
||||
(mkAliasOptionModuleMD [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ])
|
||||
|
||||
# Completely removed modules
|
||||
(mkRemovedOptionModule [ "environment" "blcr" "enable" ] "The BLCR module has been removed")
|
||||
|
@ -4,24 +4,41 @@ with lib;
|
||||
let
|
||||
cfg = config.services.gitlab-runner;
|
||||
hasDocker = config.virtualisation.docker.enable;
|
||||
|
||||
/* The whole logic of this module is to diff the hashes of the desired vs existing runners
|
||||
The hash is recorded in the runner's name because we can't do better yet
|
||||
See https://gitlab.com/gitlab-org/gitlab-runner/-/issues/29350 for more details
|
||||
*/
|
||||
genRunnerName = service: let
|
||||
hash = substring 0 12 (hashString "md5" (unsafeDiscardStringContext (toJSON service)));
|
||||
in if service ? description
|
||||
then "${hash} ${service.description}"
|
||||
else "${name}_${config.networking.hostName}_${hash}";
|
||||
|
||||
hashedServices = mapAttrs'
|
||||
(name: service: nameValuePair
|
||||
"${name}_${config.networking.hostName}_${
|
||||
substring 0 12
|
||||
(hashString "md5" (unsafeDiscardStringContext (toJSON service)))}"
|
||||
service)
|
||||
cfg.services;
|
||||
configPath = "$HOME/.gitlab-runner/config.toml";
|
||||
configureScript = pkgs.writeShellScriptBin "gitlab-runner-configure" (
|
||||
if (cfg.configFile != null) then ''
|
||||
mkdir -p $(dirname ${configPath})
|
||||
(name: service: nameValuePair (genRunnerName service) service) cfg.services;
|
||||
configPath = ''"$HOME"/.gitlab-runner/config.toml'';
|
||||
configureScript = pkgs.writeShellApplication {
|
||||
name = "gitlab-runner-configure";
|
||||
runtimeInputs = with pkgs; [
|
||||
bash
|
||||
gawk
|
||||
jq
|
||||
moreutils
|
||||
remarshal
|
||||
util-linux
|
||||
cfg.package
|
||||
perl
|
||||
python3
|
||||
];
|
||||
text = if (cfg.configFile != null) then ''
|
||||
cp ${cfg.configFile} ${configPath}
|
||||
# make config file readable by service
|
||||
chown -R --reference=$HOME $(dirname ${configPath})
|
||||
'' else ''
|
||||
export CONFIG_FILE=${configPath}
|
||||
|
||||
mkdir -p $(dirname ${configPath})
|
||||
mkdir -p "$(dirname "${configPath}")"
|
||||
touch ${configPath}
|
||||
|
||||
# update global options
|
||||
@ -34,22 +51,43 @@ let
|
||||
# remove no longer existing services
|
||||
gitlab-runner verify --delete
|
||||
|
||||
# current and desired state
|
||||
NEEDED_SERVICES=$(echo ${concatStringsSep " " (attrNames hashedServices)} | tr " " "\n")
|
||||
REGISTERED_SERVICES=$(gitlab-runner list 2>&1 | grep 'Executor' | awk '{ print $1 }')
|
||||
${toShellVar "NEEDED_SERVICES" (lib.mapAttrs (name: value: 1) hashedServices)}
|
||||
|
||||
declare -A REGISTERED_SERVICES
|
||||
|
||||
while IFS="," read -r name token;
|
||||
do
|
||||
REGISTERED_SERVICES["$name"]="$token"
|
||||
done < <(gitlab-runner --log-format json list 2>&1 | grep Token | jq -r '.msg +"," + .Token')
|
||||
|
||||
echo "NEEDED_SERVICES: " "''${!NEEDED_SERVICES[@]}"
|
||||
echo "REGISTERED_SERVICES:" "''${!REGISTERED_SERVICES[@]}"
|
||||
|
||||
# difference between current and desired state
|
||||
NEW_SERVICES=$(grep -vxF -f <(echo "$REGISTERED_SERVICES") <(echo "$NEEDED_SERVICES") || true)
|
||||
OLD_SERVICES=$(grep -vxF -f <(echo "$NEEDED_SERVICES") <(echo "$REGISTERED_SERVICES") || true)
|
||||
declare -A NEW_SERVICES
|
||||
for name in "''${!NEEDED_SERVICES[@]}"; do
|
||||
if [ ! -v 'REGISTERED_SERVICES[$name]' ]; then
|
||||
NEW_SERVICES[$name]=1
|
||||
fi
|
||||
done
|
||||
|
||||
declare -A OLD_SERVICES
|
||||
# shellcheck disable=SC2034
|
||||
for name in "''${!REGISTERED_SERVICES[@]}"; do
|
||||
if [ ! -v 'NEEDED_SERVICES[$name]' ]; then
|
||||
OLD_SERVICES[$name]=1
|
||||
fi
|
||||
done
|
||||
|
||||
# register new services
|
||||
${concatStringsSep "\n" (mapAttrsToList (name: service: ''
|
||||
if echo "$NEW_SERVICES" | grep -xq "${name}"; then
|
||||
# TODO so here we should mention NEW_SERVICES
|
||||
if [ -v 'NEW_SERVICES["${name}"]' ] ; then
|
||||
bash -c ${escapeShellArg (concatStringsSep " \\\n " ([
|
||||
"set -a && source ${service.registrationConfigFile} &&"
|
||||
"gitlab-runner register"
|
||||
"--non-interactive"
|
||||
(if service.description != null then "--description \"${service.description}\"" else "--name '${name}'")
|
||||
"--name '${name}'"
|
||||
"--executor ${service.executor}"
|
||||
"--limit ${toString service.limit}"
|
||||
"--request-concurrency ${toString service.requestConcurrency}"
|
||||
@ -92,22 +130,26 @@ let
|
||||
fi
|
||||
'') hashedServices)}
|
||||
|
||||
# check key is in array https://stackoverflow.com/questions/30353951/how-to-check-if-dictionary-contains-a-key-in-bash
|
||||
|
||||
echo "NEW_SERVICES: ''${NEW_SERVICES[*]}"
|
||||
echo "OLD_SERVICES: ''${OLD_SERVICES[*]}"
|
||||
# unregister old services
|
||||
for NAME in $(echo "$OLD_SERVICES")
|
||||
for NAME in "''${!OLD_SERVICES[@]}"
|
||||
do
|
||||
[ ! -z "$NAME" ] && gitlab-runner unregister \
|
||||
[ -n "$NAME" ] && gitlab-runner unregister \
|
||||
--name "$NAME" && sleep 1
|
||||
done
|
||||
|
||||
# make config file readable by service
|
||||
chown -R --reference=$HOME $(dirname ${configPath})
|
||||
'');
|
||||
chown -R --reference="$HOME" "$(dirname ${configPath})"
|
||||
'';
|
||||
};
|
||||
startScript = pkgs.writeShellScriptBin "gitlab-runner-start" ''
|
||||
export CONFIG_FILE=${configPath}
|
||||
exec gitlab-runner run --working-directory $HOME
|
||||
'';
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.services.gitlab-runner = {
|
||||
enable = mkEnableOption (lib.mdDoc "Gitlab Runner");
|
||||
configFile = mkOption {
|
||||
|
@ -55,7 +55,7 @@ in
|
||||
services.dgraph = {
|
||||
enable = mkEnableOption (lib.mdDoc "Dgraph native GraphQL database with a graph backend");
|
||||
|
||||
package = lib.mkPackageOption pkgs "dgraph" { };
|
||||
package = lib.mkPackageOptionMD pkgs "dgraph" { };
|
||||
|
||||
settings = mkOption {
|
||||
type = settingsFormat.type;
|
||||
|
@ -128,7 +128,7 @@ in {
|
||||
'';
|
||||
};
|
||||
};
|
||||
package = mkPackageOption pkgs "listmonk" {};
|
||||
package = mkPackageOptionMD pkgs "listmonk" {};
|
||||
settings = mkOption {
|
||||
type = types.submodule { freeformType = tomlFormat.type; };
|
||||
description = lib.mdDoc ''
|
||||
|
@ -570,10 +570,14 @@ in {
|
||||
type = "normal";
|
||||
plugins = ["python3"];
|
||||
home = webEnv;
|
||||
manage-script-name = true;
|
||||
mount = "${cfg.serve.virtualRoot}=mailman_web.wsgi:application";
|
||||
http = "127.0.0.1:18507";
|
||||
};
|
||||
}
|
||||
// (if cfg.serve.virtualRoot == "/"
|
||||
then { module = "mailman_web.wsgi:application"; }
|
||||
else {
|
||||
mount = "${cfg.serve.virtualRoot}=mailman_web.wsgi:application";
|
||||
manage-script-name = true;
|
||||
});
|
||||
uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig);
|
||||
in {
|
||||
wantedBy = ["multi-user.target"];
|
||||
|
@ -7,7 +7,7 @@ let cfg = config.services.input-remapper; in
|
||||
options = {
|
||||
services.input-remapper = {
|
||||
enable = mkEnableOption (lib.mdDoc "input-remapper, an easy to use tool to change the mapping of your input device buttons.");
|
||||
package = options.mkPackageOption pkgs "input-remapper" { };
|
||||
package = mkPackageOptionMD pkgs "input-remapper" { };
|
||||
enableUdevRules = mkEnableOption (lib.mdDoc "udev rules added by input-remapper to handle hotplugged devices. Currently disabled by default due to https://github.com/sezanzeb/input-remapper/issues/140");
|
||||
serviceWantedBy = mkOption {
|
||||
default = [ "graphical.target" ];
|
||||
|
@ -13,7 +13,7 @@ in
|
||||
services.polaris = {
|
||||
enable = mkEnableOption (lib.mdDoc "Polaris Music Server");
|
||||
|
||||
package = mkPackageOption pkgs "polaris" { };
|
||||
package = mkPackageOptionMD pkgs "polaris" { };
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
|
@ -116,7 +116,7 @@ let
|
||||
};
|
||||
in {
|
||||
options.networking.openconnect = {
|
||||
package = mkPackageOption pkgs "openconnect" { };
|
||||
package = mkPackageOptionMD pkgs "openconnect" { };
|
||||
|
||||
interfaces = mkOption {
|
||||
description = lib.mdDoc "OpenConnect interfaces.";
|
||||
|
@ -200,5 +200,5 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ aneeshusa infinisil dotlambda ];
|
||||
meta.maintainers = with lib.maintainers; [ infinisil dotlambda ];
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ in
|
||||
|
||||
enable = mkEnableOption (lib.mdDoc "ShellHub Agent daemon");
|
||||
|
||||
package = mkPackageOption pkgs "shellhub-agent" { };
|
||||
package = mkPackageOptionMD pkgs "shellhub-agent" { };
|
||||
|
||||
preferredHostname = mkOption {
|
||||
type = types.str;
|
||||
|
@ -79,8 +79,8 @@ in
|
||||
|
||||
{
|
||||
imports = [
|
||||
(mkAliasOptionModule [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
|
||||
(mkAliasOptionModule [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
|
||||
(mkAliasOptionModuleMD [ "services" "sshd" "enable" ] [ "services" "openssh" "enable" ])
|
||||
(mkAliasOptionModuleMD [ "services" "openssh" "knownHosts" ] [ "programs" "ssh" "knownHosts" ])
|
||||
(mkRenamedOptionModule [ "services" "openssh" "challengeResponseAuthentication" ] [ "services" "openssh" "kbdInteractiveAuthentication" ])
|
||||
];
|
||||
|
||||
|
@ -33,8 +33,8 @@ in
|
||||
|
||||
services.unifi.unifiPackage = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.unifiLTS;
|
||||
defaultText = literalExpression "pkgs.unifiLTS";
|
||||
default = pkgs.unifi5;
|
||||
defaultText = literalExpression "pkgs.unifi5";
|
||||
description = lib.mdDoc ''
|
||||
The unifi package to use.
|
||||
'';
|
||||
@ -42,10 +42,10 @@ in
|
||||
|
||||
services.unifi.mongodbPackage = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.mongodb;
|
||||
default = pkgs.mongodb-4_2;
|
||||
defaultText = literalExpression "pkgs.mongodb";
|
||||
description = lib.mdDoc ''
|
||||
The mongodb package to use.
|
||||
The mongodb package to use. Please note: unifi7 officially only supports mongodb up until 3.6 but works with 4.2.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -71,7 +71,7 @@ in
|
||||
services.vdirsyncer = {
|
||||
enable = mkEnableOption (mdDoc "vdirsyncer");
|
||||
|
||||
package = mkPackageOption pkgs "vdirsyncer" {};
|
||||
package = mkPackageOptionMD pkgs "vdirsyncer" {};
|
||||
|
||||
jobs = mkOption {
|
||||
description = mdDoc "vdirsyncer job configurations";
|
||||
|
@ -36,7 +36,7 @@ in {
|
||||
which execute configured commands for any person or service that knows the URL
|
||||
'');
|
||||
|
||||
package = mkPackageOption pkgs "webhook" {};
|
||||
package = mkPackageOptionMD pkgs "webhook" {};
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = defaultUser;
|
||||
|
@ -19,8 +19,8 @@ in
|
||||
imports = [
|
||||
(mkRenamedOptionModule ["services" "transmission" "port"]
|
||||
["services" "transmission" "settings" "rpc-port"])
|
||||
(mkAliasOptionModule ["services" "transmission" "openFirewall"]
|
||||
["services" "transmission" "openPeerPorts"])
|
||||
(mkAliasOptionModuleMD ["services" "transmission" "openFirewall"]
|
||||
["services" "transmission" "openPeerPorts"])
|
||||
];
|
||||
options = {
|
||||
services.transmission = {
|
||||
@ -174,7 +174,7 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
package = mkPackageOption pkgs "transmission" {};
|
||||
package = mkPackageOptionMD pkgs "transmission" {};
|
||||
|
||||
downloadDirPermissions = mkOption {
|
||||
type = with types; nullOr str;
|
||||
|
@ -32,7 +32,7 @@ let
|
||||
inherit (lib)
|
||||
getBin optionalString literalExpression
|
||||
mkRemovedOptionModule mkRenamedOptionModule
|
||||
mkDefault mkIf mkMerge mkOption mkPackageOption types;
|
||||
mkDefault mkIf mkMerge mkOption mkPackageOptionMD types;
|
||||
|
||||
ini = pkgs.formats.ini { };
|
||||
|
||||
@ -198,7 +198,7 @@ in
|
||||
example = literalExpression "[ pkgs.plasma5Packages.oxygen ]";
|
||||
};
|
||||
|
||||
notoPackage = mkPackageOption pkgs "Noto fonts" {
|
||||
notoPackage = mkPackageOptionMD pkgs "Noto fonts" {
|
||||
default = [ "noto-fonts" ];
|
||||
example = "noto-fonts-lgc-plus";
|
||||
};
|
||||
|
@ -41,7 +41,7 @@ let
|
||||
in {
|
||||
|
||||
imports = [
|
||||
(mkAliasOptionModule [ "services" "compton" ] [ "services" "picom" ])
|
||||
(mkAliasOptionModuleMD [ "services" "compton" ] [ "services" "picom" ])
|
||||
(mkRemovedOptionModule [ "services" "picom" "refreshRate" ] ''
|
||||
This option corresponds to `refresh-rate`, which has been unused
|
||||
since picom v6 and was subsequently removed by upstream.
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mdDoc mkEnableOption mkIf mkPackageOption singleton;
|
||||
inherit (lib) mdDoc mkEnableOption mkIf mkPackageOptionMD singleton;
|
||||
cfg = config.services.xserver.windowManager.katriawm;
|
||||
in
|
||||
{
|
||||
@ -9,7 +9,7 @@ in
|
||||
options = {
|
||||
services.xserver.windowManager.katriawm = {
|
||||
enable = mkEnableOption (mdDoc "katriawm");
|
||||
package = mkPackageOption pkgs "katriawm" {};
|
||||
package = mkPackageOptionMD pkgs "katriawm" {};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -10,7 +10,7 @@ in
|
||||
options.services.xserver.windowManager.qtile = {
|
||||
enable = mkEnableOption (lib.mdDoc "qtile");
|
||||
|
||||
package = mkPackageOption pkgs "qtile" { };
|
||||
package = mkPackageOptionMD pkgs "qtile" { };
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
@ -142,7 +142,7 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
package = (mkPackageOption pkgs "systemd" {
|
||||
package = (mkPackageOptionMD pkgs "systemd" {
|
||||
default = "systemdStage1";
|
||||
}) // {
|
||||
visible = false;
|
||||
|
@ -1,6 +1,6 @@
|
||||
import ./make-test-python.nix ({ pkgs, ... }:
|
||||
import ./make-test-python.nix ({ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
rec {
|
||||
name = "wordpress";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [
|
||||
@ -10,17 +10,22 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||
];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
wp_httpd = { ... }: {
|
||||
nodes = lib.foldl (a: version: let
|
||||
package = pkgs."wordpress${version}";
|
||||
in a // {
|
||||
"wp${version}_httpd" = _: {
|
||||
services.httpd.adminAddr = "webmaster@site.local";
|
||||
services.httpd.logPerVirtualHost = true;
|
||||
|
||||
services.wordpress.webserver = "httpd";
|
||||
services.wordpress.sites = {
|
||||
"site1.local" = {
|
||||
database.tablePrefix = "site1_";
|
||||
inherit package;
|
||||
};
|
||||
"site2.local" = {
|
||||
database.tablePrefix = "site2_";
|
||||
inherit package;
|
||||
};
|
||||
};
|
||||
|
||||
@ -28,14 +33,16 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
|
||||
};
|
||||
|
||||
wp_nginx = { ... }: {
|
||||
"wp${version}_nginx" = _: {
|
||||
services.wordpress.webserver = "nginx";
|
||||
services.wordpress.sites = {
|
||||
"site1.local" = {
|
||||
database.tablePrefix = "site1_";
|
||||
inherit package;
|
||||
};
|
||||
"site2.local" = {
|
||||
database.tablePrefix = "site2_";
|
||||
inherit package;
|
||||
};
|
||||
};
|
||||
|
||||
@ -43,34 +50,38 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
|
||||
};
|
||||
|
||||
wp_caddy = { ... }: {
|
||||
"wp${version}_caddy" = _: {
|
||||
services.wordpress.webserver = "caddy";
|
||||
services.wordpress.sites = {
|
||||
"site1.local" = {
|
||||
database.tablePrefix = "site1_";
|
||||
inherit package;
|
||||
};
|
||||
"site2.local" = {
|
||||
database.tablePrefix = "site2_";
|
||||
inherit package;
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
networking.hosts."127.0.0.1" = [ "site1.local" "site2.local" ];
|
||||
};
|
||||
};
|
||||
}) {} [
|
||||
"6_1"
|
||||
];
|
||||
|
||||
testScript = ''
|
||||
import re
|
||||
|
||||
start_all()
|
||||
|
||||
wp_httpd.wait_for_unit("httpd")
|
||||
wp_nginx.wait_for_unit("nginx")
|
||||
wp_caddy.wait_for_unit("caddy")
|
||||
${lib.concatStrings (lib.mapAttrsToList (name: value: ''
|
||||
${name}.wait_for_unit("${(value null).services.wordpress.webserver}")
|
||||
'') nodes)}
|
||||
|
||||
site_names = ["site1.local", "site2.local"]
|
||||
|
||||
for machine in (wp_httpd, wp_nginx, wp_caddy):
|
||||
for machine in (${lib.concatStringsSep ", " (builtins.attrNames nodes)}):
|
||||
for site_name in site_names:
|
||||
machine.wait_for_unit(f"phpfpm-wordpress-{site_name}")
|
||||
|
||||
|
@ -5,11 +5,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cmt";
|
||||
version = "1.17";
|
||||
version = "1.18";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.ladspa.org/download/cmt_${version}.tgz";
|
||||
sha256 = "07xd0xmwpa0j12813jpf87fr9hwzihii5l35mp8ady7xxfmxfmpb";
|
||||
sha256 = "sha256-qC+GNt4fSto4ahmaAXqc13Wkm0nnFrEejdP3I8k99so=";
|
||||
};
|
||||
|
||||
buildInputs = [ ladspaH ];
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, gettext, msgpack, libtermkey, libiconv
|
||||
, fetchpatch
|
||||
, libuv, lua, ncurses, pkg-config
|
||||
, unibilium, gperf
|
||||
, libvterm-neovim
|
||||
@ -19,6 +20,16 @@ let
|
||||
nvim-client luv coxpcall busted luafilesystem penlight inspect
|
||||
]
|
||||
));
|
||||
codegenLua =
|
||||
if lua.pkgs.isLuaJIT
|
||||
then
|
||||
let deterministicLuajit =
|
||||
lua.override {
|
||||
deterministicStringIds = true;
|
||||
self = deterministicLuajit;
|
||||
};
|
||||
in deterministicLuajit.withPackages(ps: [ ps.mpack ps.lpeg ])
|
||||
else lua;
|
||||
|
||||
pyEnv = python3.withPackages(ps: with ps; [ pynvim msgpack ]);
|
||||
in
|
||||
@ -38,6 +49,13 @@ in
|
||||
# necessary so that nix can handle `UpdateRemotePlugins` for the plugins
|
||||
# it installs. See https://github.com/neovim/neovim/issues/9413.
|
||||
./system_rplugin_manifest.patch
|
||||
# make the build reproducible, rebased version of
|
||||
# https://github.com/neovim/neovim/pull/21586
|
||||
(fetchpatch {
|
||||
name = "neovim-build-make-generated-source-files-reproducible.patch";
|
||||
url = "https://github.com/raboof/neovim/commit/485dd2af3efbfd174163583c46e0bb2a01ff04f1.patch";
|
||||
hash = "sha256-9aRVK4lDkL/W4RVjeKptrZFY7rYYBx6/RGR4bQSbCsM=";
|
||||
})
|
||||
];
|
||||
|
||||
dontFixCmake = true;
|
||||
@ -89,7 +107,7 @@ in
|
||||
substituteInPlace src/nvim/version.c --replace NVIM_VERSION_CFLAGS "";
|
||||
'';
|
||||
# check that the above patching actually works
|
||||
disallowedReferences = [ stdenv.cc ];
|
||||
disallowedReferences = [ stdenv.cc ] ++ lib.optional (lua != codegenLua) codegenLua;
|
||||
|
||||
cmakeFlags = [
|
||||
# Don't use downloaded dependencies. At the end of the configurePhase one
|
||||
@ -101,7 +119,12 @@ in
|
||||
++ lib.optional (!lua.pkgs.isLuaJIT) "-DPREFER_LUA=ON"
|
||||
;
|
||||
|
||||
preConfigure = lib.optionalString stdenv.isDarwin ''
|
||||
preConfigure = lib.optionalString lua.pkgs.isLuaJIT ''
|
||||
cmakeFlagsArray+=(
|
||||
"-DLUAC_PRG=${codegenLua}/bin/luajit -b -s %s -"
|
||||
"-DLUA_GEN_PRG=${codegenLua}/bin/luajit"
|
||||
)
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace src/nvim/CMakeLists.txt --replace " util" ""
|
||||
'';
|
||||
|
||||
|
@ -4497,6 +4497,18 @@ final: prev:
|
||||
meta.homepage = "https://github.com/nvim-lua/lsp-status.nvim/";
|
||||
};
|
||||
|
||||
lsp-zero-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "lsp-zero.nvim";
|
||||
version = "2023-01-05";
|
||||
src = fetchFromGitHub {
|
||||
owner = "VonHeikemen";
|
||||
repo = "lsp-zero.nvim";
|
||||
rev = "cd508abf461b895740f0946b65315e5eef07eb8c";
|
||||
sha256 = "074hfpw78ziaq9xl9kbix70k1zmhf36icf0ycfvc72f1992ixg9d";
|
||||
};
|
||||
meta.homepage = "https://github.com/VonHeikemen/lsp-zero.nvim/";
|
||||
};
|
||||
|
||||
lsp_extensions-nvim = buildVimPluginFrom2Nix {
|
||||
pname = "lsp_extensions.nvim";
|
||||
version = "2022-07-07";
|
||||
@ -6394,6 +6406,17 @@ final: prev:
|
||||
meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
|
||||
};
|
||||
|
||||
nvim-ts-rainbow2 = buildVimPluginFrom2Nix {
|
||||
pname = "nvim-ts-rainbow2";
|
||||
version = "2023-01-05";
|
||||
src = fetchgit {
|
||||
url = "https://gitlab.com/HiPhish/nvim-ts-rainbow2";
|
||||
rev = "5060c12084c75bdcdc6a5e1186651ea1a3e8e376";
|
||||
sha256 = "0x6hq5vi9i85sg1yzx5jz4nk1zxm3nqcdv5zb7vsgmra5vyr3xb5";
|
||||
};
|
||||
meta.homepage = "https://gitlab.com/HiPhish/nvim-ts-rainbow2";
|
||||
};
|
||||
|
||||
nvim-web-devicons = buildVimPluginFrom2Nix {
|
||||
pname = "nvim-web-devicons";
|
||||
version = "2022-12-09";
|
||||
|
@ -1,6 +1,6 @@
|
||||
# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
|
||||
|
||||
{ buildGrammar, fetchFromBitbucket, fetchFromGitHub, fetchFromGitLab, fetchFromGitea, fetchFromGitiles, fetchFromRepoOrCz, fetchFromSourcehut, fetchgit }:
|
||||
{ buildGrammar, fetchFromBitbucket, fetchFromGitHub, fetchFromGitLab, fetchFromGitea, fetchFromGitiles, fetchFromRepoOrCz, fetchFromSourcehut, fetchgit, fetchhg, fetchsvn }:
|
||||
|
||||
{
|
||||
ada = buildGrammar {
|
||||
|
@ -60,10 +60,9 @@ def generate_grammar(item):
|
||||
|
||||
generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
|
||||
|
||||
{ buildGrammar"""
|
||||
{ buildGrammar, """
|
||||
|
||||
for fetcher in subprocess.check_output(["nurl", "-L"], text=True).splitlines():
|
||||
generated_file += f", {fetcher}"
|
||||
generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True)
|
||||
|
||||
generated_file += """ }:
|
||||
|
||||
|
@ -376,6 +376,7 @@ https://github.com/lvimuser/lsp-inlayhints.nvim/,HEAD,
|
||||
https://github.com/Issafalcon/lsp-overloads.nvim/,main,
|
||||
https://github.com/ahmedkhalf/lsp-rooter.nvim/,,
|
||||
https://github.com/nvim-lua/lsp-status.nvim/,,
|
||||
https://github.com/VonHeikemen/lsp-zero.nvim/,main,
|
||||
https://github.com/nvim-lua/lsp_extensions.nvim/,,
|
||||
https://git.sr.ht/~whynothugo/lsp_lines.nvim,,
|
||||
https://github.com/ray-x/lsp_signature.nvim/,,
|
||||
@ -538,6 +539,7 @@ https://github.com/nvim-treesitter/nvim-treesitter-textobjects/,,
|
||||
https://github.com/windwp/nvim-ts-autotag/,,
|
||||
https://github.com/joosepalviste/nvim-ts-context-commentstring/,,
|
||||
https://github.com/p00f/nvim-ts-rainbow/,,
|
||||
https://gitlab.com/HiPhish/nvim-ts-rainbow2,HEAD,
|
||||
https://github.com/kyazdani42/nvim-web-devicons/,,
|
||||
https://github.com/AckslD/nvim-whichkey-setup.lua/,,
|
||||
https://github.com/roxma/nvim-yarp/,,
|
||||
|
@ -73,14 +73,14 @@ let
|
||||
six
|
||||
];
|
||||
in mkDerivation rec {
|
||||
version = "3.22.13";
|
||||
version = "3.22.14";
|
||||
pname = "qgis-ltr-unwrapped";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qgis";
|
||||
repo = "QGIS";
|
||||
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||
hash = "sha256-l9UaxPBTkKrTygise0nVBDrPX3aRRW62HtIYwrtYp3Q=";
|
||||
hash = "sha256-VT85cVeKuHQCGQokID9yrbents7ewHK1j7I17oFTvlo=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
@ -10,13 +10,16 @@
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "Pinta";
|
||||
version = "2.0.2";
|
||||
version = "2.1";
|
||||
|
||||
nativeBuildInputs = [
|
||||
intltool
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_7_0;
|
||||
dotnet-runtime = dotnetCorePackages.runtime_7_0;
|
||||
|
||||
runtimeDeps = [ gtk3 ];
|
||||
buildInputs = runtimeDeps;
|
||||
|
||||
@ -33,7 +36,7 @@ buildDotnetModule rec {
|
||||
owner = "PintaProject";
|
||||
repo = "Pinta";
|
||||
rev = version;
|
||||
sha256 = "sha256-Bvzs1beq7I1+10w9pmMePqGCz2TPDp5UK5Wa9hbKERU=";
|
||||
hash = "sha256-hugV4I13wZhPnVTUlGlaVxdjpGRvWDnfRVXgV+oy+sE=";
|
||||
};
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/38991
|
||||
@ -61,8 +64,11 @@ buildDotnetModule rec {
|
||||
mv "$out/bin/Pinta" "$out/bin/pinta"
|
||||
|
||||
# Copy runtime icons
|
||||
mkdir -p $out/share/icons/hicolor/16x16/
|
||||
cp -r Pinta.Resources/icons/hicolor/16x16/* $out/share/icons/hicolor/16x16/
|
||||
for i in "Pinta.Resources/icons/hicolor/"*; do
|
||||
res="$(basename $i)"
|
||||
mkdir -p "$out/share/icons/hicolor/$res"
|
||||
cp -rv "Pinta.Resources/icons/hicolor/$res/"* "$out/share/icons/hicolor/$res/"
|
||||
done
|
||||
|
||||
# Install
|
||||
dotnet build installer/linux/install.proj \
|
||||
|
20
pkgs/applications/graphics/pinta/deps.nix
generated
20
pkgs/applications/graphics/pinta/deps.nix
generated
@ -2,14 +2,18 @@
|
||||
# Please dont edit it manually, your changes might get overwritten!
|
||||
|
||||
{ fetchNuGet }: [
|
||||
(fetchNuGet { pname = "AtkSharp"; version = "3.24.24.34"; sha256 = "1jn1vgi9xm0jp7769k6sbdi8d273kigjrsh93i6s4c03hqxv7cqs"; })
|
||||
(fetchNuGet { pname = "CairoSharp"; version = "3.24.24.34"; sha256 = "0pydn1k0cam1gclg9sc1sbnmbyzh28qlc5qanyxcylwghink3kgz"; })
|
||||
(fetchNuGet { pname = "GdkSharp"; version = "3.24.24.34"; sha256 = "0r0x0yib7chwsyrbpvicrfwldwqx5lyqq4p86zaxpmzd6zdaj0x5"; })
|
||||
(fetchNuGet { pname = "GioSharp"; version = "3.24.24.34"; sha256 = "02hxvgjd4w9jpzbkk7qf9q9bkvyp5hfzwxfqp10vg5lpl9yl3xpx"; })
|
||||
(fetchNuGet { pname = "GLibSharp"; version = "3.24.24.34"; sha256 = "0kvp033fgdwc8p2abfp5z9pzq66cvwbnjfvr4v4bkpy5s5h181kq"; })
|
||||
(fetchNuGet { pname = "GtkSharp"; version = "3.24.24.34"; sha256 = "0028hzmmqyfx87qqmaf9cgb5psn7gkbmqvixcid67x1d6mzxjicb"; })
|
||||
(fetchNuGet { pname = "AtkSharp"; version = "3.24.24.38"; sha256 = "12dv3j8nzhjb5c0093djajdnv8n7m0q7vq2d5ry2v4xk9wqzxpr7"; })
|
||||
(fetchNuGet { pname = "CairoSharp"; version = "3.24.24.38"; sha256 = "0n3y5w088k81apxik9amfvjdwcic4k2ixxvnrk9cw6d2wh1d5r8d"; })
|
||||
(fetchNuGet { pname = "GdkSharp"; version = "3.24.24.38"; sha256 = "0c5gzg106bnnc4wwwhch6lja68623a9hk8r2sjcv35hl5dh21616"; })
|
||||
(fetchNuGet { pname = "GioSharp"; version = "3.24.24.38"; sha256 = "1b3irarxjbbpf24fw2avdglcslb5653gn6m829yhlcm5ay37pds4"; })
|
||||
(fetchNuGet { pname = "GLibSharp"; version = "3.24.24.38"; sha256 = "1a0ixdq1gdb46gkb2nnlydsi10bjrbd3risfyaphsy8fbsyzrzvm"; })
|
||||
(fetchNuGet { pname = "GtkSharp"; version = "3.24.24.38"; sha256 = "0cn8aggci6n088y5giiaxmyzv01rcz37r8pm738q2bsb57zppz2j"; })
|
||||
(fetchNuGet { pname = "Microsoft.Bcl.AsyncInterfaces"; version = "6.0.0"; sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3"; })
|
||||
(fetchNuGet { pname = "NGettext"; version = "0.6.7"; sha256 = "1lnq1lgd80xqn80qwq5ipfjnd7nl1ghinjc3krnd546r0c7hwqky"; })
|
||||
(fetchNuGet { pname = "PangoSharp"; version = "3.24.24.34"; sha256 = "1r0h14cklglfpv1lhv93cxmzi2w7d5s03gzpq3j5dmrz43flg9zw"; })
|
||||
(fetchNuGet { pname = "PangoSharp"; version = "3.24.24.38"; sha256 = "0cma8j4cy4j3fw0nvsxlqi0azjkvfjsw0wb6k6b2k21rdpy5rbbn"; })
|
||||
(fetchNuGet { pname = "ParagonClipper"; version = "6.4.2"; sha256 = "0pam44f7iayqjz8nh1x29gxdd4dj00i7m5883cpa64i192pgl94c"; })
|
||||
(fetchNuGet { pname = "SharpZipLib"; version = "1.3.3"; sha256 = "1gij11wfj1mqm10631cjpnhzw882bnzx699jzwhdqakxm1610q8x"; })
|
||||
(fetchNuGet { pname = "SharpZipLib"; version = "1.4.1"; sha256 = "1dh1jhgzc9bzd2hvyjp2nblavf0619djniyzalx7kvrbsxhrdjb6"; })
|
||||
(fetchNuGet { pname = "System.Reflection.Emit"; version = "4.7.0"; sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; })
|
||||
(fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.7.0"; sha256 = "1a56ls5a9sr3ya0nr086sdpa9qv0abv31dd6fp27maqa9zclqq5d"; })
|
||||
(fetchNuGet { pname = "Tmds.DBus"; version = "0.11.0"; sha256 = "067s9i5mjxlmw0nid3fblr9d0hy1b6zrjzhhi48rf4cs2j72pl64"; })
|
||||
]
|
||||
|
@ -3,15 +3,15 @@
|
||||
}:
|
||||
let
|
||||
pname = "josm";
|
||||
version = "18621";
|
||||
version = "18622";
|
||||
srcs = {
|
||||
jar = fetchurl {
|
||||
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
|
||||
hash = "sha256-RZiYHDqowk0oG/rQVcsoYpZvL4wNmegZD2EHlsQggw8=";
|
||||
hash = "sha256-AtV7Lj+z1GOCEl8xUaumYcN848pMsLIfMGmBXved6WU=";
|
||||
};
|
||||
macosx = fetchurl {
|
||||
url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java17.zip";
|
||||
hash = "sha256-Sf5mgxWjq240U1tUByBS6FFb0Tpj/QP7yHl+wvTIfng=";
|
||||
hash = "sha256-q3Kr0YWe6Jm6wO6h7fMANKLCWKfU0zDpBZjRH662eSg=";
|
||||
};
|
||||
pkg = fetchsvn {
|
||||
url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
|
||||
|
@ -2,14 +2,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "sigi";
|
||||
version = "3.5.0";
|
||||
version = "3.6.0";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-VUf5fCVOZCn0iY51eBS/fIvlxQF+BY+k75I+NY7yqzM=";
|
||||
sha256 = "sha256-VhBrSepJdwJRu+AqXWUzdDO4ukJPeoZr07B/X8Jr/RA=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-ivSVcpUDGK0dJDy+jY7BYQIFCXu/npV0MiNe3nlsUho=";
|
||||
cargoSha256 = "sha256-R1U0ZYQMA1VFd5zEjFzl5QhwqqEMaCFb/5H509IBj60=";
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
# In case anything goes wrong.
|
||||
|
@ -14,13 +14,13 @@
|
||||
# instead of adding this to `services.udev.packages` on NixOS,
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "solaar";
|
||||
version = "1.1.5";
|
||||
version = "1.1.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pwr-Solaar";
|
||||
repo = "Solaar";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-wqSDSLzm2RYV7XZPX0GQDR+TUgj4hLJ9FpVP3DYN7To=";
|
||||
hash = "sha256-2LD1vMmQvibcnAgBwjfSBJysTnUGptGzPHfi/7tZ0hg=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "udev" ];
|
||||
|
@ -2,23 +2,19 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "todoist";
|
||||
version = "0.17.0";
|
||||
version = "0.18.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sachaos";
|
||||
repo = "todoist";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-lnx02fFzf8oaJ9T7MV+Gx4EpA4h7TVJK91o9+GU/Yvs=";
|
||||
sha256 = "sha256-46wNacsK2kGHaq2MgcW4ELI2TIY+4leraGQwU4V7sVo=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-ly+OcRo8tGeNX4FnqNVaqjPx/A1FALOnScxs04lIOiU=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace main.go --replace '0.15.0' '${version}'
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/sachaos/todoist";
|
||||
description = "Todoist CLI Client";
|
||||
|
@ -2,18 +2,18 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubelogin";
|
||||
version = "1.25.4";
|
||||
version = "1.26.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "int128";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Og8ippw9rPH0Ni72mSlCjo4i/cfZXLAjG38jPvfs9ro=";
|
||||
sha256 = "sha256-A8J381KNhQbWZ+68P8+1xj/lEEc/+YiJ80LqRQatdFQ=";
|
||||
};
|
||||
|
||||
subPackages = ["."];
|
||||
|
||||
vendorSha256 = "sha256-E7I8GNcI/QRgbrstc2Ky0q/DPaqNP11BaDzrrfZofLQ=";
|
||||
vendorSha256 = "sha256-V+O3yFxGJTcFETD2qYOurQUbME5NvRNQTr43OkxXFFE=";
|
||||
|
||||
# Rename the binary instead of symlinking to avoid conflict with the
|
||||
# Azure version of kubelogin
|
||||
|
@ -231,11 +231,11 @@
|
||||
"vendorHash": "sha256-Y5z0bRiNu1gOm7nIcQieLWll/sOSgBlKrJlqng2kizQ="
|
||||
},
|
||||
"cloudfoundry": {
|
||||
"hash": "sha256-RIzAUhusyA+lMHkfsWk/27x3ZRGVcAzqgBaoI8erQSY=",
|
||||
"hash": "sha256-/Zxj9cous0SjYxeDo+8/u61pqDwMGt/UsS/OC1oSR2U=",
|
||||
"homepage": "https://registry.terraform.io/providers/cloudfoundry-community/cloudfoundry",
|
||||
"owner": "cloudfoundry-community",
|
||||
"repo": "terraform-provider-cloudfoundry",
|
||||
"rev": "v0.50.3",
|
||||
"rev": "v0.50.4",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-mEWhLh4E3SI7xfmal1sJ5PdAYbYJrW/YFoBjTW9w4bA="
|
||||
},
|
||||
@ -571,13 +571,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"ibm": {
|
||||
"hash": "sha256-XWoEUHGTtQ0MFRs5NbW7nA9gvhrlqh78KNqA6M7s+yE=",
|
||||
"hash": "sha256-DvJow7KDyv1wGBw0QIQQ4MoLgQIT8+Cf6fjc7w4W7Ds=",
|
||||
"homepage": "https://registry.terraform.io/providers/IBM-Cloud/ibm",
|
||||
"owner": "IBM-Cloud",
|
||||
"repo": "terraform-provider-ibm",
|
||||
"rev": "v1.48.0",
|
||||
"rev": "v1.49.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-uzXtXpS2reCJK63vipri8nCyHRCLmQxakFuIoMyl95E="
|
||||
"vendorHash": "sha256-Vt1AKXJ8KRoDESFvUeZPTjUFm7gwP/Uji4hyU16GhjY="
|
||||
},
|
||||
"icinga2": {
|
||||
"hash": "sha256-Y/Oq0aTzP+oSKPhHiHY9Leal4HJJm7TNDpcdqkUsCmk=",
|
||||
@ -1104,13 +1104,13 @@
|
||||
"vendorHash": null
|
||||
},
|
||||
"tfe": {
|
||||
"hash": "sha256-y9v+13/u91tpRwyI/oLHsd7oUUj0OGFJkqzbk2z8MxU=",
|
||||
"hash": "sha256-YhsAKyD3YYYWfxIHcAgMxdQc//0WQvXTsa+fVhSCG6U=",
|
||||
"homepage": "https://registry.terraform.io/providers/hashicorp/tfe",
|
||||
"owner": "hashicorp",
|
||||
"repo": "terraform-provider-tfe",
|
||||
"rev": "v0.40.0",
|
||||
"rev": "v0.41.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-Z2pIUAe2Beq5Hi7HBxNenFEtAFhJFMPi3k2qiifN+Jg="
|
||||
"vendorHash": "sha256-LgCS7W6mGGlX4vEhlPYL+Wo/urHv7aiopXWEBoEyL1c="
|
||||
},
|
||||
"thunder": {
|
||||
"hash": "sha256-fXvwBOIW3/76V3O9t25wff0oGViqSaSB2VgMdItXyn4=",
|
||||
|
@ -17,20 +17,18 @@
|
||||
, at-spi2-core
|
||||
, autoPatchelfHook
|
||||
, wrapGAppsHook
|
||||
, copyDesktopItems
|
||||
, makeDesktopItem
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.0.3-543";
|
||||
version = "3.0.0-565";
|
||||
srcs = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://dldir1.qq.com/qqfile/qq/QQNT/50eed662/QQ-v${version}_x64.deb";
|
||||
sha256 = "sha256-O8zaVHt/oXserPVHe/r6pAFpWFeLDVsiaazgaX7kxu8=";
|
||||
url = "https://dldir1.qq.com/qqfile/qq/QQNT/64bd2578/linuxqq_${version}_amd64.deb";
|
||||
sha256 = "sha256-IfBbheVwg4b5PuLX9bzqSuTcElxNaV3tmbGd3v/NkCY=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://dldir1.qq.com/qqfile/qq/QQNT/50eed662/QQ-v${version}_arm64.deb";
|
||||
sha256 = "sha256-01ZpcoSDc5b0MCKAMq16N4cXzbouHNckOGsv+Z4et7w=";
|
||||
url = "https://dldir1.qq.com/qqfile/qq/QQNT/64bd2578/linuxqq_${version}_arm64.deb";
|
||||
sha256 = "sha256-6IlAJdPknaQzOE48sdxb5QbB+ZF1xKstF3ARGHM30GY=";
|
||||
};
|
||||
};
|
||||
src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
@ -44,7 +42,6 @@ stdenv.mkDerivation {
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
wrapGAppsHook
|
||||
copyDesktopItems
|
||||
dpkg
|
||||
];
|
||||
|
||||
@ -67,28 +64,18 @@ stdenv.mkDerivation {
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out/share/icons/hicolor/0x0/apps"
|
||||
cp usr/share/icons/hicolor/0x0/apps/qq.png $out/share/icons/hicolor/0x0/apps
|
||||
|
||||
mkdir -p "$out/opt"
|
||||
cp -r "opt/"* $out/opt
|
||||
mkdir -p $out/bin
|
||||
cp -r opt $out/opt
|
||||
cp -r usr/share $out/share
|
||||
substituteInPlace $out/share/applications/qq.desktop \
|
||||
--replace "/opt/QQ/qq" "$out/bin/qq" \
|
||||
--replace "/usr/share" "$out/share"
|
||||
ln -s $out/opt/QQ/qq $out/bin/qq
|
||||
|
||||
mkdir -p "$out/bin"
|
||||
ln -s "$out/opt/QQ/qq" "$out/bin/qq"
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
desktopName = "Tencent QQ";
|
||||
genericName = "A messaging app";
|
||||
categories = [ "Network" ];
|
||||
icon = "qq";
|
||||
exec = "qq";
|
||||
name = "qq";
|
||||
})
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://im.qq.com/linuxqq/";
|
||||
description = "Messaging app";
|
||||
|
@ -15,12 +15,16 @@ nodePackages.n8n.override {
|
||||
pkgs.postgresql
|
||||
];
|
||||
|
||||
# Patch minified source with changes from https://github.com/n8n-io/n8n/pull/5052
|
||||
preRebuild = ''
|
||||
patch -p1 -i ${./fix-permissions.diff}
|
||||
'' +
|
||||
# Oracle's official package on npm is binary only (WHY?!) and doesn't provide binaries for aarch64.
|
||||
# This can supposedly be fixed by building a custom copy of the module from source, but that's way
|
||||
# too much complexity for a setup no one would ever actually run.
|
||||
#
|
||||
# NB: If you _are_ actually running n8n on Oracle on aarch64, feel free to submit a patch.
|
||||
preRebuild = lib.optionalString stdenv.isAarch64 ''
|
||||
lib.optionalString stdenv.isAarch64 ''
|
||||
rm -rf node_modules/oracledb
|
||||
'';
|
||||
|
||||
@ -32,7 +36,7 @@ nodePackages.n8n.override {
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Free and open fair-code licensed node based Workflow Automation Tool";
|
||||
description = "Free and source-available fair-code licensed workflow automation tool. Easily automate tasks across different services.";
|
||||
maintainers = with maintainers; [ freezeboy k900 ];
|
||||
license = {
|
||||
fullName = "Sustainable Use License";
|
||||
|
28
pkgs/applications/networking/n8n/fix-permissions.diff
Normal file
28
pkgs/applications/networking/n8n/fix-permissions.diff
Normal file
@ -0,0 +1,28 @@
|
||||
--- a/dist/LoadNodesAndCredentials.js
|
||||
+++ b/dist/LoadNodesAndCredentials.js
|
||||
@@ -216,6 +216,7 @@
|
||||
const { types } = loader;
|
||||
this.types.nodes = this.types.nodes.concat(types.nodes);
|
||||
this.types.credentials = this.types.credentials.concat(types.credentials);
|
||||
+ let seen = new Set();
|
||||
const iconPromises = Object.entries(types).flatMap(([typeName, typesArr]) => typesArr.map((type) => {
|
||||
var _a;
|
||||
if (!((_a = type.icon) === null || _a === void 0 ? void 0 : _a.startsWith('file:')))
|
||||
@@ -226,7 +227,16 @@
|
||||
type.iconUrl = iconUrl;
|
||||
const source = path_1.default.join(dir, icon);
|
||||
const destination = path_1.default.join(constants_1.GENERATED_STATIC_DIR, iconUrl);
|
||||
- return (0, promises_1.mkdir)(path_1.default.dirname(destination), { recursive: true }).then(async () => (0, promises_1.copyFile)(source, destination));
|
||||
+ if (!seen.has(destination)) {
|
||||
+ seen.add(destination);
|
||||
+ return (0, promises_1.mkdir)(path_1.default.dirname(destination), { recursive: true }).then(async () => {
|
||||
+ await (0, promises_1.copyFile)(source, destination);
|
||||
+ await (0, promises_1.chmod)(destination, 0o644);
|
||||
+ });
|
||||
+ }
|
||||
+ else {
|
||||
+ return Promise.resolve();
|
||||
+ }
|
||||
}));
|
||||
await Promise.all(iconPromises);
|
||||
for (const nodeTypeName in loader.nodeTypes) {
|
2174
pkgs/applications/networking/n8n/node-packages.nix
generated
2174
pkgs/applications/networking/n8n/node-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -2,23 +2,29 @@
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, docbook-xsl-nons
|
||||
, libxslt
|
||||
, pkg-config
|
||||
, alsa-lib
|
||||
, faac
|
||||
, faad2
|
||||
, ffmpeg
|
||||
, glib
|
||||
, openh264
|
||||
, openssl
|
||||
, pcre
|
||||
, pcre2
|
||||
, zlib
|
||||
, libX11
|
||||
, libXcursor
|
||||
, libXdamage
|
||||
, libXdmcp
|
||||
, libXext
|
||||
, libXi
|
||||
, libXinerama
|
||||
, libXrandr
|
||||
, libXrender
|
||||
, libXv
|
||||
, libXtst
|
||||
, libXv
|
||||
, libxkbcommon
|
||||
, libxkbfile
|
||||
, wayland
|
||||
@ -27,7 +33,6 @@
|
||||
, gst-plugins-good
|
||||
, libunwind
|
||||
, orc
|
||||
, libxslt
|
||||
, cairo
|
||||
, libusb1
|
||||
, libpulseaudio
|
||||
@ -42,6 +47,7 @@
|
||||
, Carbon
|
||||
, Cocoa
|
||||
, CoreMedia
|
||||
, withUnfree ? false
|
||||
}:
|
||||
|
||||
let
|
||||
@ -59,6 +65,8 @@ let
|
||||
}
|
||||
];
|
||||
|
||||
inherit (lib) optionals;
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "freerdp";
|
||||
@ -97,6 +105,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
cairo
|
||||
cups
|
||||
faad2
|
||||
ffmpeg
|
||||
glib
|
||||
gst-plugins-base
|
||||
@ -105,6 +114,7 @@ stdenv.mkDerivation rec {
|
||||
libX11
|
||||
libXcursor
|
||||
libXdamage
|
||||
libXdmcp
|
||||
libXext
|
||||
libXi
|
||||
libXinerama
|
||||
@ -118,41 +128,50 @@ stdenv.mkDerivation rec {
|
||||
libusb1
|
||||
libxkbcommon
|
||||
libxkbfile
|
||||
libxslt
|
||||
openh264
|
||||
openssl
|
||||
orc
|
||||
pcre
|
||||
pcre2
|
||||
pcsclite
|
||||
zlib
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
] ++ optionals stdenv.isLinux [
|
||||
alsa-lib
|
||||
systemd
|
||||
wayland
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
] ++ optionals stdenv.isDarwin [
|
||||
AudioToolbox
|
||||
AVFoundation
|
||||
Carbon
|
||||
Cocoa
|
||||
CoreMedia
|
||||
]
|
||||
++ optionals withUnfree [
|
||||
faac
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
nativeBuildInputs = [ cmake libxslt docbook-xsl-nons pkg-config ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]
|
||||
++ lib.mapAttrsToList (k: v: "-D${k}=${if v then "ON" else "OFF"}") {
|
||||
BUILD_TESTING = doCheck;
|
||||
WITH_CUNIT = doCheck;
|
||||
# https://github.com/FreeRDP/FreeRDP/issues/8526#issuecomment-1357134746
|
||||
cmakeFlags = [
|
||||
"-Wno-dev"
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
"-DDOCBOOKXSL_DIR=${docbook-xsl-nons}/xml/xsl/docbook"
|
||||
]
|
||||
++ lib.mapAttrsToList (k: v: "-D${k}=${cmFlag v}") {
|
||||
BUILD_TESTING = false; # false is recommended by upstream
|
||||
WITH_CAIRO = (cairo != null);
|
||||
WITH_CUPS = (cups != null);
|
||||
WITH_FAAC = (withUnfree && faac != null);
|
||||
WITH_FAAD2 = (faad2 != null);
|
||||
WITH_JPEG = (libjpeg_turbo != null);
|
||||
WITH_OPENH264 = (openh264 != null);
|
||||
WITH_OSS = false;
|
||||
WITH_PCSC = (pcsclite != null);
|
||||
WITH_PULSE = (libpulseaudio != null);
|
||||
WITH_SERVER = buildServer;
|
||||
WITH_SSE2 = stdenv.isx86_64;
|
||||
WITH_VAAPI = true;
|
||||
WITH_JPEG = (libjpeg_turbo != null);
|
||||
WITH_CAIRO = (cairo != null);
|
||||
WITH_VAAPI = false; # false is recommended by upstream
|
||||
WITH_X11 = true;
|
||||
};
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
, cmake
|
||||
, pcre
|
||||
, pkg-config
|
||||
, python2
|
||||
, python3
|
||||
, libX11
|
||||
, libXpm
|
||||
, libXft
|
||||
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ pcre python2 zlib libxml2 lz4 xz gsl xxHash libxcrypt ]
|
||||
buildInputs = [ pcre python3 zlib libxml2 lz4 xz gsl xxHash libxcrypt ]
|
||||
++ lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ]
|
||||
++ lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ]
|
||||
;
|
||||
@ -59,6 +59,11 @@ stdenv.mkDerivation rec {
|
||||
url = "https://github.com/root-project/root/commit/3c243b18768d3c3501faf3ca4e4acfc071021350.diff";
|
||||
sha256 = "1hjmgnp4zx6im8ps78673x0rrhmfyy1nffhgxjlfl1r2z8cq210z";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "root5-python37-fix.patch";
|
||||
url = "https://github.com/root-project/root/commit/c75458024082de0cc35b45505c652b8460a9e71b.patch";
|
||||
sha256 = "sha256-A5zEjQE9OGPFp/L1HUs4NIdxQMRiwbwCRNWOLN2ENrM=";
|
||||
})
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -6,6 +6,8 @@
|
||||
# - Add plugin to it's own directory (because of future patches).
|
||||
|
||||
{
|
||||
droidcam-obs = callPackage ./droidcam-obs { };
|
||||
|
||||
input-overlay = qt6Packages.callPackage ./input-overlay.nix { };
|
||||
|
||||
looking-glass-obs = callPackage ./looking-glass-obs.nix { };
|
||||
|
@ -0,0 +1,70 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, obs-studio
|
||||
, ffmpeg
|
||||
, libjpeg
|
||||
, libimobiledevice
|
||||
, libusbmuxd
|
||||
, libplist
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "droidcam-obs";
|
||||
version = "2.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dev47apps";
|
||||
repo = "droidcam-obs-plugin";
|
||||
rev = version;
|
||||
sha256 = "sha256-oaw/mq4WCQMlf3sv9WtNlv9J9rm79xnqDwKzHtyFW50=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./linux/linux.mk \
|
||||
--replace "-limobiledevice" "-limobiledevice-1.0" \
|
||||
--replace "-I/usr/include/obs" "-I${obs-studio}/include/obs" \
|
||||
--replace "-I/usr/include/ffmpeg" "-I${ffmpeg}/include"
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
mkdir ./build
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
libjpeg
|
||||
libimobiledevice
|
||||
libusbmuxd
|
||||
libplist
|
||||
obs-studio
|
||||
ffmpeg
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"ALLOW_STATIC=no"
|
||||
"JPEG_DIR=${lib.getDev libjpeg}"
|
||||
"JPEG_LIB=${lib.getLib libjpeg}/lib"
|
||||
"IMOBILEDEV_DIR=${libimobiledevice}"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/obs/obs-plugins/droidcam-obs
|
||||
mkdir -p $out/lib/obs-plugins
|
||||
cp build/droidcam-obs.so $out/lib/obs-plugins
|
||||
cp -R ./data/locale $out/share/obs/obs-plugins/droidcam-obs/locale
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "DroidCam OBS";
|
||||
homepage = "https://github.com/dev47apps/droidcam-obs-plugin";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ ulrikstrid ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -7,7 +7,6 @@
|
||||
, fontconfig
|
||||
, freetype
|
||||
, fribidi
|
||||
, imlib
|
||||
, libSM
|
||||
, libX11
|
||||
, libXcursor
|
||||
@ -53,7 +52,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
fontconfig
|
||||
freetype
|
||||
fribidi
|
||||
imlib
|
||||
libSM
|
||||
libX11
|
||||
libXcursor
|
||||
|
@ -5,7 +5,6 @@
|
||||
, gdk-pixbuf-xlib
|
||||
, gettext
|
||||
, gtk2
|
||||
, imlib
|
||||
, libICE
|
||||
, libSM
|
||||
, libxcrypt
|
||||
@ -42,7 +41,6 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
gdk-pixbuf-xlib
|
||||
gtk2
|
||||
imlib
|
||||
libICE
|
||||
libSM
|
||||
libxcrypt
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "papirus-icon-theme";
|
||||
version = "20221201";
|
||||
version = "20230104";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PapirusDevelopmentTeam";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-Y+flyo8MJVmAoiJ0mSZNu/xhhLzsYr6t8R0c+TOxbq0=";
|
||||
sha256 = "sha256-BejsAlHnq2oxVQIFA4/ZOTFxz7vZmssrlJNqRZHBGuI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gtk3 papirus-folders ];
|
||||
|
@ -137,6 +137,10 @@
|
||||
"ShutdownTimer@neumann",
|
||||
"ShutdownTimer@deminder"
|
||||
],
|
||||
"noannoyance": [
|
||||
"noannoyance@sindex.com",
|
||||
"noannoyance@daase.net"
|
||||
],
|
||||
"fuzzy-clock": [
|
||||
"fuzzy-clock@keepawayfromfire.co.uk",
|
||||
"FuzzyClock@johngoetz"
|
||||
@ -175,6 +179,10 @@
|
||||
"lockkeys@vaina.lt",
|
||||
"lockkeys@fawtytoo"
|
||||
],
|
||||
"noannoyance": [
|
||||
"noannoyance@sindex.com",
|
||||
"noannoyance@daase.net"
|
||||
],
|
||||
"panel-date-format": [
|
||||
"panel-date-format@keiii.github.com",
|
||||
"panel-date-format@atareao.es"
|
||||
@ -200,6 +208,10 @@
|
||||
"workspace-indicator": [
|
||||
"workspace-indicator@gnome-shell-extensions.gcampax.github.com",
|
||||
"horizontal-workspace-indicator@tty2.io"
|
||||
],
|
||||
"noannoyance": [
|
||||
"noannoyance@sindex.com",
|
||||
"noannoyance@daase.net"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -16,6 +16,9 @@
|
||||
"azan@faissal.bensefia.id" = "azan-islamic-prayer-times";
|
||||
"azan@hatem.masmoudi.org" = null;
|
||||
|
||||
"noannoyance@sindex.com" = "noannoyance";
|
||||
"noannoyance@daase.net" = "noannoyance-2";
|
||||
|
||||
# ############################################################################
|
||||
# These are conflicts for older extensions (i.e. they don't support the latest GNOME version).
|
||||
# Make sure to move them up once they are updated
|
||||
@ -63,9 +66,6 @@
|
||||
"Hide_Activities@shay.shayel.org" = "hide-activities-button";
|
||||
"hide-activities-button@nmingori.gnome-shell-extensions.org" = "hide-activities-button-2";
|
||||
|
||||
"noannoyance@sindex.com" = "noannoyance";
|
||||
"noannoyance@daase.net" = "noannoyance-2";
|
||||
|
||||
"SomaFm-Radio@alireza6677.gmail.com" = "somafm-internet-radio";
|
||||
"SomaFm-Radio@cajhne.gmail.com" = "somafm-internet-radio-2";
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elementary-wallpapers";
|
||||
version = "6.1.0";
|
||||
version = "7.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "elementary";
|
||||
repo = "wallpapers";
|
||||
rev = version;
|
||||
sha256 = "sha256-E/cUxa/GNt/01EjuuvurHxJu3qV9e+jcdcCi2+NxVDA=";
|
||||
sha256 = "sha256-i9tIz5UckON8uwGlE62b/y0M0Neqt86rR3VdNUWBo04=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -45,11 +45,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "go";
|
||||
version = "1.20rc1";
|
||||
version = "1.20rc2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://go.dev/dl/go${version}.src.tar.gz";
|
||||
sha256 = "sha256-FzEFTKmE8l/dCD0Ejt+gghDMkWf1oIanHeuhKMcTtBQ=";
|
||||
sha256 = "sha256-V1IqKi4pXKYpJJRQHxMfiJO1kRqMD4VzfniqdOC5/PY=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -61,6 +61,10 @@ let
|
||||
"2.2.11" = {
|
||||
sha256 = "sha256-NgfWgBZzGICEXO1dXVXGBUzEnxkSGhUCfmxWB66Elt8=";
|
||||
};
|
||||
|
||||
"2.3.0" = {
|
||||
sha256 = "sha256-v3Q5SXEq4Cy3ST87i1fOJBlIv2ETHjaGDdszTaFDnJc=";
|
||||
};
|
||||
};
|
||||
|
||||
in with versionMap.${version};
|
||||
|
@ -7,6 +7,14 @@
|
||||
, zlib
|
||||
}:
|
||||
|
||||
let
|
||||
zig_0_10_0 = fetchFromGitHub {
|
||||
owner = "ziglang";
|
||||
repo = "zig";
|
||||
rev = "0.10.0";
|
||||
hash = "sha256-DNs937N7PLQimuM2anya4npYXcj6cyH+dRS7AiOX7tw=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zig";
|
||||
version = "0.9.1";
|
||||
@ -18,8 +26,20 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-x2c4c9RSrNWGqEngio4ArW7dJjW0gg+8nqBwPcR721k=";
|
||||
};
|
||||
|
||||
# Fix index out of bounds reading RPATH (cherry-picked from 0.10-dev)
|
||||
patches = [ ./rpath.patch ];
|
||||
patches = [
|
||||
# Fix index out of bounds reading RPATH (cherry-picked from 0.10-dev)
|
||||
./rpath.patch
|
||||
# Fix build on macOS 13 (cherry-picked from 0.10-dev)
|
||||
./ventura.patch
|
||||
];
|
||||
|
||||
# TODO: remove on next upgrade
|
||||
prePatch = ''
|
||||
cp -R ${zig_0_10_0}/lib/libc/include/any-macos.13-any lib/libc/include/any-macos.13-any
|
||||
cp -R ${zig_0_10_0}/lib/libc/include/aarch64-macos.13-none lib/libc/include/aarch64-macos.13-gnu
|
||||
cp -R ${zig_0_10_0}/lib/libc/include/x86_64-macos.13-none lib/libc/include/x86_64-macos.13-gnu
|
||||
cp ${zig_0_10_0}/lib/libc/darwin/libSystem.13.tbd lib/libc/darwin/
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
50
pkgs/development/compilers/zig/ventura.patch
Normal file
50
pkgs/development/compilers/zig/ventura.patch
Normal file
@ -0,0 +1,50 @@
|
||||
From 98285b17b3887de37b630da66f09a44f42ddbe01 Mon Sep 17 00:00:00 2001
|
||||
From: Jakub Konka <kubkon@jakubkonka.com>
|
||||
Date: Tue, 25 Oct 2022 11:46:42 +0200
|
||||
Subject: [PATCH] darwin: bump max macOS version to 13.0
|
||||
|
||||
---
|
||||
lib/std/target.zig | 4 ++--
|
||||
src/target.zig | 2 ++
|
||||
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/std/target.zig b/lib/std/target.zig
|
||||
index d791e3b0350..7fbad5baa3c 100644
|
||||
--- a/lib/std/target.zig
|
||||
+++ b/lib/std/target.zig
|
||||
@@ -277,13 +277,13 @@ pub const Target = struct {
|
||||
.aarch64 => VersionRange{
|
||||
.semver = .{
|
||||
.min = .{ .major = 11, .minor = 6 },
|
||||
- .max = .{ .major = 12, .minor = 0 },
|
||||
+ .max = .{ .major = 13, .minor = 0 },
|
||||
},
|
||||
},
|
||||
.x86_64 => VersionRange{
|
||||
.semver = .{
|
||||
.min = .{ .major = 10, .minor = 13 },
|
||||
- .max = .{ .major = 12, .minor = 0 },
|
||||
+ .max = .{ .major = 13, .minor = 0 },
|
||||
},
|
||||
},
|
||||
else => unreachable,
|
||||
diff --git a/src/target.zig b/src/target.zig
|
||||
index 9e2d26dac65..fc585912c45 100644
|
||||
--- a/src/target.zig
|
||||
+++ b/src/target.zig
|
||||
@@ -18,6 +18,7 @@ pub const available_libcs = [_]ArchOsAbi{
|
||||
.{ .arch = .aarch64, .os = .windows, .abi = .gnu },
|
||||
.{ .arch = .aarch64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 11, .minor = 0 } },
|
||||
.{ .arch = .aarch64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 12, .minor = 0 } },
|
||||
+ .{ .arch = .aarch64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 13, .minor = 0 } },
|
||||
.{ .arch = .armeb, .os = .linux, .abi = .gnueabi },
|
||||
.{ .arch = .armeb, .os = .linux, .abi = .gnueabihf },
|
||||
.{ .arch = .armeb, .os = .linux, .abi = .musleabi },
|
||||
@@ -73,6 +74,7 @@ pub const available_libcs = [_]ArchOsAbi{
|
||||
.{ .arch = .x86_64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 10, .minor = 0 } },
|
||||
.{ .arch = .x86_64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 11, .minor = 0 } },
|
||||
.{ .arch = .x86_64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 12, .minor = 0 } },
|
||||
+ .{ .arch = .x86_64, .os = .macos, .abi = .gnu, .os_ver = .{ .major = 13, .minor = 0 } },
|
||||
};
|
||||
|
||||
pub fn libCGenericName(target: std.Target) [:0]const u8 {
|
@ -25,6 +25,12 @@
|
||||
, enableAPICheck ? false
|
||||
, enableVMAssertions ? false
|
||||
, useSystemMalloc ? false
|
||||
# Upstream generates randomized string id's by default for security reasons
|
||||
# https://github.com/LuaJIT/LuaJIT/issues/626. Deterministic string id's should
|
||||
# never be needed for correctness (that should be fixed in the lua code),
|
||||
# but may be helpful when you want to embed jit-compiled raw lua blobs in
|
||||
# binaries that you want to be reproducible.
|
||||
, deterministicStringIds ? false
|
||||
, luaAttr ? "luajit_${lib.versions.major version}_${lib.versions.minor version}"
|
||||
} @ inputs:
|
||||
assert enableJITDebugModule -> enableJIT;
|
||||
@ -44,6 +50,7 @@ let
|
||||
++ optional enableGDBJITSupport "-DLUAJIT_USE_GDBJIT"
|
||||
++ optional enableAPICheck "-DLUAJIT_USE_APICHECK"
|
||||
++ optional enableVMAssertions "-DLUAJIT_USE_ASSERT"
|
||||
++ optional deterministicStringIds "-DLUAJIT_SECURITY_STRID=0"
|
||||
;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -27,6 +27,10 @@ let
|
||||
, system-sendmail
|
||||
, valgrind
|
||||
, xcbuild
|
||||
, writeShellScript
|
||||
, common-updater-scripts
|
||||
, curl
|
||||
, jq
|
||||
|
||||
, version
|
||||
, hash
|
||||
@ -300,6 +304,19 @@ let
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
passthru = {
|
||||
updateScript =
|
||||
let
|
||||
script = writeShellScript "php${lib.versions.major version}${lib.versions.minor version}-update-script" ''
|
||||
set -o errexit
|
||||
PATH=${lib.makeBinPath [ common-updater-scripts curl jq ]}
|
||||
new_version=$(curl --silent "https://www.php.net/releases/active" | jq --raw-output '."${lib.versions.major version}"."${lib.versions.majorMinor version}".version')
|
||||
update-source-version "$UPDATE_NIX_ATTR_PATH.unwrapped" "$new_version" "--file=$1"
|
||||
'';
|
||||
in [
|
||||
script
|
||||
# Passed as an argument so that update.nix can ensure it does not become a store path.
|
||||
(./. + "/${lib.versions.majorMinor version}.nix")
|
||||
];
|
||||
buildEnv = mkBuildEnv { } [ ];
|
||||
withExtensions = mkWithExtensions { } [ ];
|
||||
overrideAttrs =
|
||||
|
@ -128,13 +128,6 @@ let
|
||||
# Backport from CPython 3.8 of a good list of tests to run for PGO.
|
||||
./profile-task.patch
|
||||
|
||||
# remove once 2.7.18.6 is released
|
||||
(fetchpatch {
|
||||
name = "CVE-2021-3733.patch";
|
||||
url = "https://github.com/ActiveState/cpython/commit/eeb7fe50450f08a782921f3229abed2f23e7b2d7.patch";
|
||||
sha256 = "sha256-ch4cMoFythDmyvlVxOAVw3Ow4PPWVDq5o9c1qox2824=";
|
||||
})
|
||||
|
||||
# The workaround is for unittests on Win64, which we don't support.
|
||||
# It does break aarch64-darwin, which we do support. See:
|
||||
# * https://bugs.python.org/issue35523
|
||||
|
@ -144,9 +144,9 @@ in {
|
||||
major = "2";
|
||||
minor = "7";
|
||||
patch = "18";
|
||||
suffix = ".5"; # ActiveState's Python 2 extended support
|
||||
suffix = ".6"; # ActiveState's Python 2 extended support
|
||||
};
|
||||
sha256 = "sha256-f5A0go0mUEv8cXuXo0ZRNfGwNPjnDhP7KqhkETOoqsw=";
|
||||
sha256 = "sha256-+I0QOBkuTHMIQz71lgNn1X1vjPsjJMtFbgC0xcGTwWY=";
|
||||
inherit (darwin) configd;
|
||||
inherit passthruFun;
|
||||
};
|
||||
|
@ -1,64 +0,0 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, giflib
|
||||
, libX11
|
||||
, libXext
|
||||
, libjpeg
|
||||
, libpng
|
||||
, libtiff
|
||||
, xorgproto
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "imlib";
|
||||
version = "1.9.15";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://ftp.acc.umu.se/pub/GNOME/sources/imlib/1.9/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-o4mQb38hgK7w4czb5lEoIH3VkuyAbIQWYP2S+7bv8j0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "CVE-2007-3568.patch";
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/imlib/files/imlib-1.9.15-bpp16-CVE-2007-3568.patch";
|
||||
sha256 = "0lxfibi094gki39sq1w4p0hcx25xlk0875agbhjkjngzx862wvbg";
|
||||
})
|
||||
|
||||
# The following two patches fix the build with recent giflib.
|
||||
(fetchpatch {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/imlib/files/imlib-1.9.15-giflib51-1.patch?id=c6d0ed89ad5653421f21cbf3b3d40fd9a1361828";
|
||||
sha256 = "0jynlhxcyjiwnz1m8j48xwz4z5csgyg03jfjc8xgpvvcyid4m65l";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/imlib/files/imlib-1.9.15-giflib51-2.patch?id=c6d0ed89ad5653421f21cbf3b3d40fd9a1361828";
|
||||
sha256 = "164x7rd992930rqllmr89p5ahfmbz37ipi8x0igd8gkvc8a4fd5x";
|
||||
})
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--disable-shm"
|
||||
"--x-includes=${libX11.dev}/include"
|
||||
"--x-libraries=${libX11.out}/lib"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libjpeg
|
||||
libXext
|
||||
libX11
|
||||
xorgproto
|
||||
libtiff
|
||||
giflib
|
||||
libpng
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "An image loading and rendering library for X11";
|
||||
platforms = platforms.unix;
|
||||
license = with licenses; [ gpl2Only lgpl2Only ];
|
||||
# never built on aarch64-darwin since first introduction in nixpkgs
|
||||
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||
};
|
||||
}
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# fix "argb_paint_i386.c:53:Incorrect register `%rax' used with `l' suffix"
|
||||
# errors
|
||||
configureFlags = lib.optional stdenv.isDarwin "--build=x86_64";
|
||||
configureFlags = lib.optional (stdenv.isDarwin && stdenv.isx86_64) "--build=x86_64";
|
||||
|
||||
# fixes a cast in inline asm: easier than patching
|
||||
buildFlags = lib.optional stdenv.isDarwin "CFLAGS=-fheinous-gnu-extensions";
|
||||
@ -29,7 +29,5 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ lovek323 ];
|
||||
platforms = platforms.all;
|
||||
# never built on aarch64-darwin since first introduction in nixpkgs
|
||||
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||
};
|
||||
}
|
||||
|
@ -18,7 +18,6 @@
|
||||
, gdal
|
||||
, openimageio
|
||||
, freeimage
|
||||
, imlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -89,7 +88,7 @@ stdenv.mkDerivation rec {
|
||||
doCheck = true;
|
||||
|
||||
passthru.tests = {
|
||||
inherit libgeotiff imagemagick graphicsmagick gdal openimageio freeimage imlib;
|
||||
inherit libgeotiff imagemagick graphicsmagick gdal openimageio freeimage;
|
||||
inherit (python3Packages) pillow imread;
|
||||
};
|
||||
|
||||
|
62
pkgs/development/libraries/minilibx/default.nix
Normal file
62
pkgs/development/libraries/minilibx/default.nix
Normal file
@ -0,0 +1,62 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, installShellFiles
|
||||
, libX11
|
||||
, libXext
|
||||
, unstableGitUpdater
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "minilibx";
|
||||
version = "unstable-2021-10-30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "42Paris";
|
||||
repo = "minilibx-linux";
|
||||
rev = "7dc53a411a7d4ae286c60c6229bd1e395b0efb82";
|
||||
hash = "sha256-aRYMpaPC7dC6EHmmXugvwcQnaizRCQZKFcQX0K2MLM4=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libX11
|
||||
libXext
|
||||
];
|
||||
|
||||
dontConfigure = true;
|
||||
|
||||
makefile = "Makefile.mk";
|
||||
|
||||
makeFlags = [
|
||||
"CC=${stdenv.cc.targetPrefix}cc"
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{include,lib}
|
||||
cp mlx*.h $out/include
|
||||
cp libmlx*.a $out/lib
|
||||
installManPage man/man*/*
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = unstableGitUpdater { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple X-Window (X11R6) programming API in C";
|
||||
homepage = "https://github.com/42Paris/minilibx-linux";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ wegank ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -13,13 +13,14 @@ stdenv.mkDerivation rec {
|
||||
./nlojet_clang_fix.patch
|
||||
];
|
||||
|
||||
# error: no member named 'finite' in the global namespace; did you mean simply 'finite'?
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) "-Dfinite=isfinite";
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.desy.de/~znagy/Site/NLOJet++.html";
|
||||
license = lib.licenses.gpl2;
|
||||
description = "Implementation of calculation of the hadron jet cross sections";
|
||||
platforms = lib.platforms.unix;
|
||||
maintainers = with lib.maintainers; [ veprbl ];
|
||||
# never built on aarch64-darwin since first introduction in nixpkgs
|
||||
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl, boost, fastjet, gsl, hepmc2, lhapdf, rivet, zlib }:
|
||||
{ lib, stdenv, fetchurl, autoreconfHook, boost, fastjet, gsl, hepmc2, lhapdf, rivet, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "thepeg";
|
||||
@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-8hRzGXp2H8MpF7CKjSTSv6+T/1fzRB/WBdqZrJ3l1Qs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
buildInputs = [ boost fastjet gsl hepmc2 lhapdf rivet zlib ];
|
||||
|
||||
configureFlags = [
|
||||
@ -25,7 +27,5 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ veprbl ];
|
||||
platforms = platforms.unix;
|
||||
# never built on aarch64-darwin since first introduction in nixpkgs
|
||||
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||
};
|
||||
}
|
||||
|
@ -1,42 +1,26 @@
|
||||
{ stdenv, lib, fetchFromGitHub, fetchpatch, ocaml, findlib, ocamlbuild
|
||||
, ocaml_lwt # optional lwt support
|
||||
, ounit, fileutils # only for tests
|
||||
{ lib, fetchFromGitHub, buildDunePackage
|
||||
, lwt # optional lwt support
|
||||
, ounit2, fileutils # only for tests
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.3";
|
||||
pname = "ocaml${ocaml.version}-inotify";
|
||||
buildDunePackage rec {
|
||||
version = "2.4.1";
|
||||
pname = "inotify";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "whitequark";
|
||||
repo = "ocaml-inotify";
|
||||
rev = "v${version}";
|
||||
sha256 = "1s6vmqpx19hxzsi30jvp3h7p56rqnxfhfddpcls4nz8sqca1cz5y";
|
||||
hash = "sha256-2ATFF3HeATjhWgW4dG4jheQ9m1oE8xTQ7mpMT/1Jdp8=";
|
||||
};
|
||||
|
||||
patches = [ (fetchpatch {
|
||||
url = "https://github.com/whitequark/ocaml-inotify/commit/716c8002cc1652f58eb0c400ae92e04003cba8c9.patch";
|
||||
sha256 = "04lfxrrsmk2mc704kaln8jqx93jc4bkxhijmfy2d4cmk1cim7r6k";
|
||||
}) ];
|
||||
|
||||
nativeBuildInputs = [ ocaml findlib ocamlbuild ];
|
||||
buildInputs = [ ocaml_lwt ];
|
||||
checkInputs = [ ounit fileutils ];
|
||||
buildInputs = [ lwt ];
|
||||
checkInputs = [ ounit2 fileutils ];
|
||||
|
||||
# Otherwise checkInputs can't be found
|
||||
strictDeps = false;
|
||||
|
||||
configureFlags = [ "--enable-lwt"
|
||||
(lib.optionalString doCheck "--enable-tests") ];
|
||||
|
||||
postConfigure = lib.optionalString doCheck ''
|
||||
echo '<lib_test/test_inotify_lwt.*>: pkg_threads' | tee -a _tags
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
checkTarget = "test";
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = {
|
||||
description = "Bindings for Linux’s filesystem monitoring interface, inotify";
|
||||
|
@ -2,9 +2,8 @@
|
||||
, gnutls, nettle
|
||||
}:
|
||||
|
||||
if lib.versionOlder ocaml.version "4.02"
|
||||
then throw "ocamlnet is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
lib.throwIf (lib.versionOlder ocaml.version "4.02" || lib.versionAtLeast ocaml.version "5.0")
|
||||
"ocamlnet is not available for OCaml ${ocaml.version}"
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ocaml${ocaml.version}-ocamlnet";
|
||||
|
@ -1,41 +0,0 @@
|
||||
{ lib, buildDunePackage, fetchFromGitHub, lwt_ppx, ppx_cstruct, optint
|
||||
, checkseum, diet, bitv, logs, lru, io-page, mirage-block }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "wodan";
|
||||
version = "unstable-2020-11-20";
|
||||
|
||||
useDune2 = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mirage";
|
||||
repo = pname;
|
||||
rev = "cc08fe25888051c207f1009bcd2d39f8c514484f";
|
||||
sha256 = "0186vlhnl8wcz2hmpn327n9a0bibnypmjy3w4nxq3yyglh6vj1im";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
minimumOCamlVersion = "4.08";
|
||||
|
||||
propagatedBuildInputs = [
|
||||
lwt_ppx
|
||||
ppx_cstruct
|
||||
optint
|
||||
checkseum
|
||||
diet
|
||||
bitv
|
||||
/* nocrypto */
|
||||
logs
|
||||
lru
|
||||
io-page
|
||||
mirage-block
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
broken = true; # nocrypto is no longer available in nixpkgs
|
||||
inherit (src.meta) homepage;
|
||||
description = "A flash-friendly, safe and flexible filesystem library";
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ ehmry ];
|
||||
};
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
{ lib, buildDunePackage, irmin-chunk, irmin-git
|
||||
, mirage-block-ramdisk, mirage-block-unix, wodan }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "wodan-irmin";
|
||||
inherit (wodan) version src useDune2;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
/* io-page-unix */ # No longer available in nixpkgs
|
||||
irmin-chunk
|
||||
irmin-git
|
||||
mirage-block-ramdisk
|
||||
mirage-block-unix
|
||||
wodan
|
||||
];
|
||||
|
||||
meta = wodan.meta // {
|
||||
# wodan is currently incompatible with irmin 2.3.0.
|
||||
# additionally upgrading to current master (unclear
|
||||
# if the issue is fixed there) is not possible as it
|
||||
# depends on a custom fork of mirage-block
|
||||
broken = true;
|
||||
description = "Wodan as an Irmin store";
|
||||
};
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
{ lib, buildDunePackage, base64, benchmark, csv, cmdliner, wodan, afl-persistent
|
||||
, mirage-block-ramdisk, mirage-block-unix }:
|
||||
|
||||
buildDunePackage rec {
|
||||
outputs = [ "bin" "out" ];
|
||||
pname = "wodan-unix";
|
||||
inherit (wodan) version src useDune2;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
afl-persistent
|
||||
base64
|
||||
benchmark
|
||||
cmdliner
|
||||
csv
|
||||
/* io-page-unix */
|
||||
mirage-block-ramdisk
|
||||
mirage-block-unix
|
||||
wodan
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
moveToOutput bin "''${!outputBin}"
|
||||
'';
|
||||
|
||||
meta = wodan.meta // {
|
||||
broken = true; # io-page-unix is no longer available
|
||||
description = "Wodan clients with Unix integration";
|
||||
mainProgram = "wodanc";
|
||||
};
|
||||
|
||||
}
|
@ -1,5 +1,8 @@
|
||||
{ stdenv, lib, fetchFromGitHub, ocaml, findlib, gitUpdater }:
|
||||
|
||||
lib.throwIf (lib.versionAtLeast ocaml.version "5.0")
|
||||
"xml-light is not available for OCaml ${ocaml.version}"
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ocaml${ocaml.version}-xml-light";
|
||||
version = "2.4";
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "apscheduler";
|
||||
version = "3.9.1";
|
||||
version = "3.9.1.post1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "APScheduler";
|
||||
inherit version;
|
||||
hash = "sha256-ZeZXS2OVSY03HQRfKop+T31Qxq0h73MT0VscfPIN8eM=";
|
||||
hash = "sha256-sr6gMJVp2lOnJhv6DOGcZ92/4VG9p3amqQdXn9vT6yo=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -12,15 +12,16 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "adguardhome";
|
||||
version = "0.5.1";
|
||||
version = "0.6.1";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "frenck";
|
||||
repo = "python-${pname}";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-HAgt52Bo2NOUkpr5xvWTcRyrLKpfcBDlVAZxgDNI7hY=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ZeajC8FM7Py+DWknVjnwiM4jaCCcnxfC+kTbHEEmyms=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -32,7 +33,9 @@ buildPythonPackage rec {
|
||||
--replace 0.0.0 ${version}
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
nativeBuildInputs = [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
aiohttp
|
||||
@ -45,11 +48,14 @@ buildPythonPackage rec {
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "adguardhome" ];
|
||||
pythonImportsCheck = [
|
||||
"adguardhome"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python client for the AdGuard Home API";
|
||||
homepage = "https://github.com/frenck/python-adguardhome";
|
||||
changelog = "https://github.com/frenck/python-adguardhome/releases/tag/v${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ jamiemagee ];
|
||||
};
|
||||
|
@ -7,14 +7,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aliyun-python-sdk-dbfs";
|
||||
version = "2.0.3";
|
||||
version = "2.0.4";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-vMF0bAsICikvDtxn+wXujo8bY4DQ/xxXJmUePMQ+7Ak=";
|
||||
hash = "sha256-taevteFOSJMXGLBkw0oTMF7YzpfRxZTRSlrRtcwFa78=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -7,14 +7,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aliyun-python-sdk-iot";
|
||||
version = "8.47.0";
|
||||
version = "8.48.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-4NcobMGamIhBnACEQJ9Kvdvj9k4XjJx/Urx38nslAa8=";
|
||||
hash = "sha256-iyywuAYDf3bY5He2rVgyjQcrD2MH123H6ham4xTAnXM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "async-upnp-client";
|
||||
version = "0.32.3";
|
||||
version = "0.33.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "StevenLooman";
|
||||
repo = "async_upnp_client";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-1/RW84ammc6mu90izMtL7Cv11krc4WhdqCSq9ncFibI=";
|
||||
hash = "sha256-I7C2ho+pmowerJFK82wYcqEOhRV3KZ5j5IBVCKjhllM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bthome-ble";
|
||||
version = "2.3.1";
|
||||
version = "2.4.0";
|
||||
format = "pyproject";
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-4KsMYQQN/4A2sbk2Fj8CYOBf7/UAciJ4wTSFYZaCfdk=";
|
||||
hash = "sha256-BLRXoKZkSWgzGIztwmO8El8pF25QBrTEX05FWXZrHxc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user