Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-01-06 00:13:35 +00:00 committed by GitHub
commit 07123bb23b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
149 changed files with 2344 additions and 1760 deletions

View File

@ -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";}]

View File

@ -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 // {

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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";

View File

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

View File

@ -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 &quot;name&quot; { default = [ &quot;path&quot; &quot;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:

View File

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

View File

@ -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"])
];

View File

@ -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";
};
};

View File

@ -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) {

View File

@ -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.

View File

@ -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

View File

@ -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;

View File

@ -27,7 +27,7 @@ in
'';
};
package = mkPackageOption pkgs "1Password GUI" {
package = mkPackageOptionMD pkgs "1Password GUI" {
default = [ "_1password-gui" ];
};
};

View File

@ -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" ];
};
};

View File

@ -16,7 +16,7 @@ in
group.
'';
};
package = mkPackageOption pkgs "flashrom" { };
package = mkPackageOptionMD pkgs "flashrom" { };
};
config = mkIf cfg.enable {

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

View File

@ -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" {};
};
};

View File

@ -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" ];
};

View File

@ -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")

View File

@ -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 {

View File

@ -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;

View File

@ -128,7 +128,7 @@ in {
'';
};
};
package = mkPackageOption pkgs "listmonk" {};
package = mkPackageOptionMD pkgs "listmonk" {};
settings = mkOption {
type = types.submodule { freeformType = tomlFormat.type; };
description = lib.mdDoc ''

View File

@ -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"];

View File

@ -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" ];

View File

@ -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;

View File

@ -116,7 +116,7 @@ let
};
in {
options.networking.openconnect = {
package = mkPackageOption pkgs "openconnect" { };
package = mkPackageOptionMD pkgs "openconnect" { };
interfaces = mkOption {
description = lib.mdDoc "OpenConnect interfaces.";

View File

@ -200,5 +200,5 @@ in {
};
};
meta.maintainers = with lib.maintainers; [ aneeshusa infinisil dotlambda ];
meta.maintainers = with lib.maintainers; [ infinisil dotlambda ];
}

View File

@ -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;

View File

@ -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" ])
];

View File

@ -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.
'';
};

View File

@ -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";

View File

@ -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;

View File

@ -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;

View File

@ -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";
};

View File

@ -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.

View File

@ -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" {};
};
};

View File

@ -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 {

View File

@ -142,7 +142,7 @@ in {
'';
};
package = (mkPackageOption pkgs "systemd" {
package = (mkPackageOptionMD pkgs "systemd" {
default = "systemdStage1";
}) // {
visible = false;

View File

@ -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}")

View File

@ -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 ];

View File

@ -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" ""
'';

View File

@ -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";

View File

@ -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 {

View File

@ -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 += """ }:

View 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/,,

View File

@ -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 = {

View File

@ -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 \

View File

@ -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"; })
]

View File

@ -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";

View File

@ -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.

View File

@ -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" ];

View File

@ -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";

View File

@ -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

View File

@ -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=",

View File

@ -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";

View File

@ -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";

View 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) {

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -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 = ''

View File

@ -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 { };

View File

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

View File

@ -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

View File

@ -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

View File

@ -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 ];

View File

@ -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"
]
}
}

View File

@ -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

View File

@ -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 = [

View File

@ -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;

View File

@ -61,6 +61,10 @@ let
"2.2.11" = {
sha256 = "sha256-NgfWgBZzGICEXO1dXVXGBUzEnxkSGhUCfmxWB66Elt8=";
};
"2.3.0" = {
sha256 = "sha256-v3Q5SXEq4Cy3ST87i1fOJBlIv2ETHjaGDdszTaFDnJc=";
};
};
in with versionMap.${version};

View File

@ -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

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

View File

@ -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 {

View File

@ -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 =

View File

@ -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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

@ -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 Linuxs filesystem monitoring interface, inotify";

View File

@ -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";

View File

@ -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 ];
};
}

View File

@ -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";
};
}

View File

@ -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";
};
}

View File

@ -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";

View File

@ -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 = [

View File

@ -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 ];
};

View File

@ -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 = [

View File

@ -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 = [

View File

@ -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 = [

View File

@ -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