Merge remote-tracking branch 'nixpkgs/master' into staging-next
Conflicts: pkgs/development/libraries/libunwind/default.nix
This commit is contained in:
commit
16fb150e03
105 changed files with 933 additions and 289 deletions
|
@ -105,7 +105,7 @@ let
|
||||||
makeScope makeScopeWithSplicing;
|
makeScope makeScopeWithSplicing;
|
||||||
inherit (self.meta) addMetaAttrs dontDistribute setName updateName
|
inherit (self.meta) addMetaAttrs dontDistribute setName updateName
|
||||||
appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio
|
appendToName mapDerivationAttrset setPrio lowPrio lowPrioSet hiPrio
|
||||||
hiPrioSet;
|
hiPrioSet getLicenseFromSpdxId;
|
||||||
inherit (self.sources) pathType pathIsDirectory cleanSourceFilter
|
inherit (self.sources) pathType pathIsDirectory cleanSourceFilter
|
||||||
cleanSource sourceByRegex sourceFilesBySuffices
|
cleanSource sourceByRegex sourceFilesBySuffices
|
||||||
commitIdFromGitRepo cleanSourceWith pathHasContext
|
commitIdFromGitRepo cleanSourceWith pathHasContext
|
||||||
|
|
27
lib/meta.nix
27
lib/meta.nix
|
@ -99,4 +99,31 @@ rec {
|
||||||
availableOn = platform: pkg:
|
availableOn = platform: pkg:
|
||||||
lib.any (platformMatch platform) pkg.meta.platforms &&
|
lib.any (platformMatch platform) pkg.meta.platforms &&
|
||||||
lib.all (elem: !platformMatch platform elem) (pkg.meta.badPlatforms or []);
|
lib.all (elem: !platformMatch platform elem) (pkg.meta.badPlatforms or []);
|
||||||
|
|
||||||
|
/* Get the corresponding attribute in lib.licenses
|
||||||
|
from the SPDX ID.
|
||||||
|
For SPDX IDs, see
|
||||||
|
https://spdx.org/licenses
|
||||||
|
|
||||||
|
Type:
|
||||||
|
getLicenseFromSpdxId :: str -> AttrSet
|
||||||
|
|
||||||
|
Example:
|
||||||
|
lib.getLicenseFromSpdxId "MIT" == lib.licenses.mit
|
||||||
|
=> true
|
||||||
|
lib.getLicenseFromSpdxId "mIt" == lib.licenses.mit
|
||||||
|
=> true
|
||||||
|
lib.getLicenseFromSpdxId "MY LICENSE"
|
||||||
|
=> trace: warning: getLicenseFromSpdxId: No license matches the given SPDX ID: MY LICENSE
|
||||||
|
=> { shortName = "MY LICENSE"; }
|
||||||
|
*/
|
||||||
|
getLicenseFromSpdxId =
|
||||||
|
let
|
||||||
|
spdxLicenses = lib.mapAttrs (id: ls: assert lib.length ls == 1; builtins.head ls)
|
||||||
|
(lib.groupBy (l: lib.toLower l.spdxId) (lib.filter (l: l ? spdxId) (lib.attrValues lib.licenses)));
|
||||||
|
in licstr:
|
||||||
|
spdxLicenses.${ lib.toLower licstr } or (
|
||||||
|
lib.warn "getLicenseFromSpdxId: No license matches the given SPDX ID: ${licstr}"
|
||||||
|
{ shortName = licstr; }
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,8 +13,6 @@ let
|
||||||
elem
|
elem
|
||||||
filter
|
filter
|
||||||
findFirst
|
findFirst
|
||||||
flip
|
|
||||||
foldl
|
|
||||||
foldl'
|
foldl'
|
||||||
getAttrFromPath
|
getAttrFromPath
|
||||||
head
|
head
|
||||||
|
@ -101,9 +99,31 @@ rec {
|
||||||
check ? true
|
check ? true
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
|
withWarnings = x:
|
||||||
|
lib.warnIf (evalModulesArgs?args) "The args argument to evalModules is deprecated. Please set config._module.args instead."
|
||||||
|
lib.warnIf (evalModulesArgs?check) "The check argument to evalModules is deprecated. Please set config._module.check instead."
|
||||||
|
x;
|
||||||
|
|
||||||
|
legacyModules =
|
||||||
|
optional (evalModulesArgs?args) {
|
||||||
|
config = {
|
||||||
|
_module.args = args;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
++ optional (evalModulesArgs?check) {
|
||||||
|
config = {
|
||||||
|
_module.check = mkDefault check;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
regularModules = modules ++ legacyModules;
|
||||||
|
|
||||||
# This internal module declare internal options under the `_module'
|
# This internal module declare internal options under the `_module'
|
||||||
# attribute. These options are fragile, as they are used by the
|
# attribute. These options are fragile, as they are used by the
|
||||||
# module system to change the interpretation of modules.
|
# module system to change the interpretation of modules.
|
||||||
|
#
|
||||||
|
# When extended with extendModules or moduleType, a fresh instance of
|
||||||
|
# this module is used, to avoid conflicts and allow chaining of
|
||||||
|
# extendModules.
|
||||||
internalModule = rec {
|
internalModule = rec {
|
||||||
_file = ./modules.nix;
|
_file = ./modules.nix;
|
||||||
|
|
||||||
|
@ -125,7 +145,7 @@ rec {
|
||||||
_module.check = mkOption {
|
_module.check = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
internal = true;
|
internal = true;
|
||||||
default = check;
|
default = true;
|
||||||
description = "Whether to check whether all option definitions have matching declarations.";
|
description = "Whether to check whether all option definitions have matching declarations.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -151,14 +171,14 @@ rec {
|
||||||
_module.args = {
|
_module.args = {
|
||||||
inherit extendModules;
|
inherit extendModules;
|
||||||
moduleType = type;
|
moduleType = type;
|
||||||
} // args;
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
merged =
|
merged =
|
||||||
let collected = collectModules
|
let collected = collectModules
|
||||||
(specialArgs.modulesPath or "")
|
(specialArgs.modulesPath or "")
|
||||||
(modules ++ [ internalModule ])
|
(regularModules ++ [ internalModule ])
|
||||||
({ inherit lib options config specialArgs; } // specialArgs);
|
({ inherit lib options config specialArgs; } // specialArgs);
|
||||||
in mergeModules prefix (reverseList collected);
|
in mergeModules prefix (reverseList collected);
|
||||||
|
|
||||||
|
@ -222,7 +242,7 @@ rec {
|
||||||
prefix ? [],
|
prefix ? [],
|
||||||
}:
|
}:
|
||||||
evalModules (evalModulesArgs // {
|
evalModules (evalModulesArgs // {
|
||||||
modules = evalModulesArgs.modules ++ modules;
|
modules = regularModules ++ modules;
|
||||||
specialArgs = evalModulesArgs.specialArgs or {} // specialArgs;
|
specialArgs = evalModulesArgs.specialArgs or {} // specialArgs;
|
||||||
prefix = extendArgs.prefix or evalModulesArgs.prefix;
|
prefix = extendArgs.prefix or evalModulesArgs.prefix;
|
||||||
});
|
});
|
||||||
|
@ -231,7 +251,7 @@ rec {
|
||||||
inherit modules specialArgs;
|
inherit modules specialArgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
result = {
|
result = withWarnings {
|
||||||
options = checked options;
|
options = checked options;
|
||||||
config = checked (removeAttrs config [ "_module" ]);
|
config = checked (removeAttrs config [ "_module" ]);
|
||||||
_module = checked (config._module);
|
_module = checked (config._module);
|
||||||
|
@ -452,7 +472,7 @@ rec {
|
||||||
[{ inherit (module) file; inherit value; }]
|
[{ inherit (module) file; inherit value; }]
|
||||||
) configs;
|
) configs;
|
||||||
|
|
||||||
resultsByName = flip mapAttrs declsByName (name: decls:
|
resultsByName = mapAttrs (name: decls:
|
||||||
# We're descending into attribute ‘name’.
|
# We're descending into attribute ‘name’.
|
||||||
let
|
let
|
||||||
loc = prefix ++ [name];
|
loc = prefix ++ [name];
|
||||||
|
@ -473,7 +493,7 @@ rec {
|
||||||
in
|
in
|
||||||
throw "The option `${showOption loc}' in `${firstOption._file}' is a prefix of options in `${firstNonOption._file}'."
|
throw "The option `${showOption loc}' in `${firstOption._file}' is a prefix of options in `${firstNonOption._file}'."
|
||||||
else
|
else
|
||||||
mergeModules' loc decls defns);
|
mergeModules' loc decls defns) declsByName;
|
||||||
|
|
||||||
matchedOptions = mapAttrs (n: v: v.matchedOptions) resultsByName;
|
matchedOptions = mapAttrs (n: v: v.matchedOptions) resultsByName;
|
||||||
|
|
||||||
|
@ -487,7 +507,14 @@ rec {
|
||||||
inherit matchedOptions;
|
inherit matchedOptions;
|
||||||
|
|
||||||
# Transforms unmatchedDefnsByName into a list of definitions
|
# Transforms unmatchedDefnsByName into a list of definitions
|
||||||
unmatchedDefns = concatLists (mapAttrsToList (name: defs:
|
unmatchedDefns =
|
||||||
|
if configs == []
|
||||||
|
then
|
||||||
|
# When no config values exist, there can be no unmatched config, so
|
||||||
|
# we short circuit and avoid evaluating more _options_ than necessary.
|
||||||
|
[]
|
||||||
|
else
|
||||||
|
concatLists (mapAttrsToList (name: defs:
|
||||||
map (def: def // {
|
map (def: def // {
|
||||||
# Set this so we know when the definition first left unmatched territory
|
# Set this so we know when the definition first left unmatched territory
|
||||||
prefix = [name] ++ (def.prefix or []);
|
prefix = [name] ++ (def.prefix or []);
|
||||||
|
@ -906,7 +933,7 @@ rec {
|
||||||
mkMergedOptionModule = from: to: mergeFn:
|
mkMergedOptionModule = from: to: mergeFn:
|
||||||
{ config, options, ... }:
|
{ config, options, ... }:
|
||||||
{
|
{
|
||||||
options = foldl recursiveUpdate {} (map (path: setAttrByPath path (mkOption {
|
options = foldl' recursiveUpdate {} (map (path: setAttrByPath path (mkOption {
|
||||||
visible = false;
|
visible = false;
|
||||||
# To use the value in mergeFn without triggering errors
|
# To use the value in mergeFn without triggering errors
|
||||||
default = "_mkMergedOptionModule";
|
default = "_mkMergedOptionModule";
|
||||||
|
@ -1010,7 +1037,7 @@ rec {
|
||||||
|
|
||||||
/* Use this function to import a JSON file as NixOS configuration.
|
/* Use this function to import a JSON file as NixOS configuration.
|
||||||
|
|
||||||
importJSON -> path -> attrs
|
modules.importJSON :: path -> attrs
|
||||||
*/
|
*/
|
||||||
importJSON = file: {
|
importJSON = file: {
|
||||||
_file = file;
|
_file = file;
|
||||||
|
@ -1019,7 +1046,7 @@ rec {
|
||||||
|
|
||||||
/* Use this function to import a TOML file as NixOS configuration.
|
/* Use this function to import a TOML file as NixOS configuration.
|
||||||
|
|
||||||
importTOML -> path -> attrs
|
modules.importTOML :: path -> attrs
|
||||||
*/
|
*/
|
||||||
importTOML = file: {
|
importTOML = file: {
|
||||||
_file = file;
|
_file = file;
|
||||||
|
|
|
@ -1,6 +1,13 @@
|
||||||
{ lib, ... }: {
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
deathtrapArgs = lib.mapAttrs
|
||||||
|
(k: _: throw "The module system is too strict, accessing an unused option's ${k} mkOption-attribute.")
|
||||||
|
(lib.functionArgs lib.mkOption);
|
||||||
|
in
|
||||||
|
{
|
||||||
options.value = lib.mkOption {
|
options.value = lib.mkOption {
|
||||||
type = lib.types.attrsOf lib.types.str;
|
type = lib.types.attrsOf lib.types.str;
|
||||||
default = {};
|
default = {};
|
||||||
};
|
};
|
||||||
|
options.testing-laziness-so-don't-read-me = lib.mkOption deathtrapArgs;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ lib, ... }: {
|
{ lib, ... }:
|
||||||
|
let
|
||||||
|
deathtrapArgs = lib.mapAttrs
|
||||||
|
(k: _: throw "The module system is too strict, accessing an unused option's ${k} mkOption-attribute.")
|
||||||
|
(lib.functionArgs lib.mkOption);
|
||||||
|
in
|
||||||
|
{
|
||||||
options.nest.foo = lib.mkOption {
|
options.nest.foo = lib.mkOption {
|
||||||
type = lib.types.bool;
|
type = lib.types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
};
|
};
|
||||||
|
options.nest.unused = lib.mkOption deathtrapArgs;
|
||||||
config.nest.bar = "bar";
|
config.nest.bar = "bar";
|
||||||
}
|
}
|
||||||
|
|
|
@ -7675,6 +7675,12 @@
|
||||||
githubId = 21156022;
|
githubId = 21156022;
|
||||||
name = "Michal Minář";
|
name = "Michal Minář";
|
||||||
};
|
};
|
||||||
|
michzappa = {
|
||||||
|
email = "me@michzappa.com";
|
||||||
|
github = "michzappa";
|
||||||
|
githubId = 59343378;
|
||||||
|
name = "Michael Zappa";
|
||||||
|
};
|
||||||
mickours = {
|
mickours = {
|
||||||
email = "mickours@gmail.com<";
|
email = "mickours@gmail.com<";
|
||||||
github = "mickours";
|
github = "mickours";
|
||||||
|
|
|
@ -273,6 +273,13 @@
|
||||||
<link xlink:href="options.html#opt-services.peertube.enable">services.peertube</link>.
|
<link xlink:href="options.html#opt-services.peertube.enable">services.peertube</link>.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<link xlink:href="https://maddy.email">maddy</link>, a
|
||||||
|
composable all-in-one mail server. Available as
|
||||||
|
<link xlink:href="options.html#opt-services.maddy.enable">services.maddy</link>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<link xlink:href="https://sr.ht">sourcehut</link>, a
|
<link xlink:href="https://sr.ht">sourcehut</link>, a
|
||||||
|
|
|
@ -74,6 +74,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||||
|
|
||||||
- [PeerTube](https://joinpeertube.org/), developed by Framasoft, is the free and decentralized alternative to video platforms. Available at [services.peertube](options.html#opt-services.peertube.enable).
|
- [PeerTube](https://joinpeertube.org/), developed by Framasoft, is the free and decentralized alternative to video platforms. Available at [services.peertube](options.html#opt-services.peertube.enable).
|
||||||
|
|
||||||
|
- [maddy](https://maddy.email), a composable all-in-one mail server. Available as [services.maddy](options.html#opt-services.maddy.enable).
|
||||||
|
|
||||||
- [sourcehut](https://sr.ht), a collection of tools useful for software development. Available as [services.sourcehut](options.html#opt-services.sourcehut.enable).
|
- [sourcehut](https://sr.ht), a collection of tools useful for software development. Available as [services.sourcehut](options.html#opt-services.sourcehut.enable).
|
||||||
|
|
||||||
- [ucarp](https://download.pureftpd.org/pub/ucarp/README), an userspace implementation of the Common Address Redundancy Protocol (CARP). Available as [networking.ucarp](options.html#opt-networking.ucarp.enable).
|
- [ucarp](https://download.pureftpd.org/pub/ucarp/README), an userspace implementation of the Common Address Redundancy Protocol (CARP). Available as [networking.ucarp](options.html#opt-networking.ucarp.enable).
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
# as subcomponents (e.g. the container feature, or nixops if network
|
# as subcomponents (e.g. the container feature, or nixops if network
|
||||||
# expressions are ever made modular at the top level) can just use
|
# expressions are ever made modular at the top level) can just use
|
||||||
# types.submodule instead of using eval-config.nix
|
# types.submodule instead of using eval-config.nix
|
||||||
|
evalConfigArgs@
|
||||||
{ # !!! system can be set modularly, would be nice to remove
|
{ # !!! system can be set modularly, would be nice to remove
|
||||||
system ? builtins.currentSystem
|
system ? builtins.currentSystem
|
||||||
, # !!! is this argument needed any more? The pkgs argument can
|
, # !!! is this argument needed any more? The pkgs argument can
|
||||||
|
@ -28,7 +29,7 @@
|
||||||
in if e == "" then [] else [(import e)]
|
in if e == "" then [] else [(import e)]
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let extraArgs_ = extraArgs; pkgs_ = pkgs;
|
let pkgs_ = pkgs;
|
||||||
in
|
in
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -51,28 +52,49 @@ let
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
noUserModules = lib.evalModules {
|
withWarnings = x:
|
||||||
inherit prefix check;
|
lib.warnIf (evalConfigArgs?args) "The extraArgs argument to eval-config.nix is deprecated. Please set config._module.args instead."
|
||||||
modules = baseModules ++ extraModules ++ [ pkgsModule ];
|
lib.warnIf (evalConfigArgs?check) "The check argument to eval-config.nix is deprecated. Please set config._module.check instead."
|
||||||
args = extraArgs;
|
x;
|
||||||
|
|
||||||
|
legacyModules =
|
||||||
|
lib.optional (evalConfigArgs?args) {
|
||||||
|
config = {
|
||||||
|
_module.args = extraArgs;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
++ lib.optional (evalConfigArgs?check) {
|
||||||
|
config = {
|
||||||
|
_module.check = lib.mkDefault check;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
allUserModules = modules ++ legacyModules;
|
||||||
|
|
||||||
|
noUserModules = lib.evalModules ({
|
||||||
|
inherit prefix;
|
||||||
|
modules = baseModules ++ extraModules ++ [ pkgsModule modulesModule ];
|
||||||
specialArgs =
|
specialArgs =
|
||||||
{ modulesPath = builtins.toString ../modules; } // specialArgs;
|
{ modulesPath = builtins.toString ../modules; } // specialArgs;
|
||||||
};
|
});
|
||||||
|
|
||||||
# These are the extra arguments passed to every module. In
|
# Extra arguments that are useful for constructing a similar configuration.
|
||||||
# particular, Nixpkgs is passed through the "pkgs" argument.
|
modulesModule = {
|
||||||
extraArgs = extraArgs_ // {
|
config = {
|
||||||
|
_module.args = {
|
||||||
inherit noUserModules baseModules extraModules modules;
|
inherit noUserModules baseModules extraModules modules;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
in rec {
|
nixosWithUserModules = noUserModules.extendModules { modules = allUserModules; };
|
||||||
|
|
||||||
|
in withWarnings {
|
||||||
|
|
||||||
# Merge the option definitions in all modules, forming the full
|
# Merge the option definitions in all modules, forming the full
|
||||||
# system configuration.
|
# system configuration.
|
||||||
inherit (noUserModules.extendModules { inherit modules; })
|
inherit (nixosWithUserModules) config options _module type;
|
||||||
config options _module type;
|
|
||||||
|
|
||||||
inherit extraArgs;
|
inherit extraArgs;
|
||||||
|
|
||||||
inherit (_module.args) pkgs;
|
inherit (nixosWithUserModules._module.args) pkgs;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ config, lib, pkgs, baseModules, extraModules, modules, modulesPath, ... }:
|
{ config, lib, pkgs, extendModules, noUserModules, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
|
@ -6,11 +6,8 @@ let
|
||||||
|
|
||||||
cfg = config.documentation;
|
cfg = config.documentation;
|
||||||
|
|
||||||
manualModules =
|
/* Modules for which to show options even when not imported. */
|
||||||
baseModules
|
extraDocModules = [ ../virtualisation/qemu-vm.nix ];
|
||||||
# Modules for which to show options even when not imported
|
|
||||||
++ [ ../virtualisation/qemu-vm.nix ]
|
|
||||||
++ optionals cfg.nixos.includeAllModules (extraModules ++ modules);
|
|
||||||
|
|
||||||
/* For the purpose of generating docs, evaluate options with each derivation
|
/* For the purpose of generating docs, evaluate options with each derivation
|
||||||
in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}".
|
in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}".
|
||||||
|
@ -24,13 +21,10 @@ let
|
||||||
extraSources = cfg.nixos.extraModuleSources;
|
extraSources = cfg.nixos.extraModuleSources;
|
||||||
options =
|
options =
|
||||||
let
|
let
|
||||||
scrubbedEval = evalModules {
|
extendNixOS = if cfg.nixos.includeAllModules then extendModules else noUserModules.extendModules;
|
||||||
modules = [ { nixpkgs.localSystem = config.nixpkgs.localSystem; } ] ++ manualModules;
|
scrubbedEval = extendNixOS {
|
||||||
args = (config._module.args) // { modules = [ ]; };
|
modules = extraDocModules;
|
||||||
specialArgs = {
|
specialArgs.pkgs = scrubDerivations "pkgs" pkgs;
|
||||||
pkgs = scrubDerivations "pkgs" pkgs;
|
|
||||||
inherit modulesPath;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
scrubDerivations = namePrefix: pkgSet: mapAttrs
|
scrubDerivations = namePrefix: pkgSet: mapAttrs
|
||||||
(name: value:
|
(name: value:
|
||||||
|
|
|
@ -467,6 +467,7 @@
|
||||||
./services/mail/dovecot.nix
|
./services/mail/dovecot.nix
|
||||||
./services/mail/dspam.nix
|
./services/mail/dspam.nix
|
||||||
./services/mail/exim.nix
|
./services/mail/exim.nix
|
||||||
|
./services/mail/maddy.nix
|
||||||
./services/mail/mail.nix
|
./services/mail/mail.nix
|
||||||
./services/mail/mailcatcher.nix
|
./services/mail/mailcatcher.nix
|
||||||
./services/mail/mailhog.nix
|
./services/mail/mailhog.nix
|
||||||
|
|
|
@ -325,7 +325,8 @@ let
|
||||||
|
|
||||||
# Working directory will be /tmp
|
# Working directory will be /tmp
|
||||||
script = ''
|
script = ''
|
||||||
set -euxo pipefail
|
${optionalString data.enableDebugLogs "set -x"}
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
# This reimplements the expiration date check, but without querying
|
# This reimplements the expiration date check, but without querying
|
||||||
# the acme server first. By doing this offline, we avoid errors
|
# the acme server first. By doing this offline, we avoid errors
|
||||||
|
@ -438,6 +439,8 @@ let
|
||||||
default = "_mkMergedOptionModule";
|
default = "_mkMergedOptionModule";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enableDebugLogs = mkEnableOption "debug logging for this certificate" // { default = cfg.enableDebugLogs; };
|
||||||
|
|
||||||
webroot = mkOption {
|
webroot = mkOption {
|
||||||
type = types.nullOr types.str;
|
type = types.nullOr types.str;
|
||||||
default = null;
|
default = null;
|
||||||
|
@ -616,6 +619,8 @@ in {
|
||||||
options = {
|
options = {
|
||||||
security.acme = {
|
security.acme = {
|
||||||
|
|
||||||
|
enableDebugLogs = mkEnableOption "debug logging for all certificates by default" // { default = true; };
|
||||||
|
|
||||||
validMinDays = mkOption {
|
validMinDays = mkOption {
|
||||||
type = types.int;
|
type = types.int;
|
||||||
default = 30;
|
default = 30;
|
||||||
|
|
247
nixos/modules/services/mail/maddy.nix
Normal file
247
nixos/modules/services/mail/maddy.nix
Normal file
|
@ -0,0 +1,247 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
name = "maddy";
|
||||||
|
cfg = config.services.maddy;
|
||||||
|
defaultConfig = ''
|
||||||
|
tls off
|
||||||
|
|
||||||
|
auth.pass_table local_authdb {
|
||||||
|
table sql_table {
|
||||||
|
driver sqlite3
|
||||||
|
dsn credentials.db
|
||||||
|
table_name passwords
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
storage.imapsql local_mailboxes {
|
||||||
|
driver sqlite3
|
||||||
|
dsn imapsql.db
|
||||||
|
}
|
||||||
|
|
||||||
|
table.chain local_rewrites {
|
||||||
|
optional_step regexp "(.+)\+(.+)@(.+)" "$1@$3"
|
||||||
|
optional_step static {
|
||||||
|
entry postmaster postmaster@$(primary_domain)
|
||||||
|
}
|
||||||
|
optional_step file /etc/maddy/aliases
|
||||||
|
}
|
||||||
|
msgpipeline local_routing {
|
||||||
|
destination postmaster $(local_domains) {
|
||||||
|
modify {
|
||||||
|
replace_rcpt &local_rewrites
|
||||||
|
}
|
||||||
|
deliver_to &local_mailboxes
|
||||||
|
}
|
||||||
|
default_destination {
|
||||||
|
reject 550 5.1.1 "User doesn't exist"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
smtp tcp://0.0.0.0:25 {
|
||||||
|
limits {
|
||||||
|
all rate 20 1s
|
||||||
|
all concurrency 10
|
||||||
|
}
|
||||||
|
dmarc yes
|
||||||
|
check {
|
||||||
|
require_mx_record
|
||||||
|
dkim
|
||||||
|
spf
|
||||||
|
}
|
||||||
|
source $(local_domains) {
|
||||||
|
reject 501 5.1.8 "Use Submission for outgoing SMTP"
|
||||||
|
}
|
||||||
|
default_source {
|
||||||
|
destination postmaster $(local_domains) {
|
||||||
|
deliver_to &local_routing
|
||||||
|
}
|
||||||
|
default_destination {
|
||||||
|
reject 550 5.1.1 "User doesn't exist"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
submission tcp://0.0.0.0:587 {
|
||||||
|
limits {
|
||||||
|
all rate 50 1s
|
||||||
|
}
|
||||||
|
auth &local_authdb
|
||||||
|
source $(local_domains) {
|
||||||
|
check {
|
||||||
|
authorize_sender {
|
||||||
|
prepare_email &local_rewrites
|
||||||
|
user_to_email identity
|
||||||
|
}
|
||||||
|
}
|
||||||
|
destination postmaster $(local_domains) {
|
||||||
|
deliver_to &local_routing
|
||||||
|
}
|
||||||
|
default_destination {
|
||||||
|
modify {
|
||||||
|
dkim $(primary_domain) $(local_domains) default
|
||||||
|
}
|
||||||
|
deliver_to &remote_queue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
default_source {
|
||||||
|
reject 501 5.1.8 "Non-local sender domain"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
target.remote outbound_delivery {
|
||||||
|
limits {
|
||||||
|
destination rate 20 1s
|
||||||
|
destination concurrency 10
|
||||||
|
}
|
||||||
|
mx_auth {
|
||||||
|
dane
|
||||||
|
mtasts {
|
||||||
|
cache fs
|
||||||
|
fs_dir mtasts_cache/
|
||||||
|
}
|
||||||
|
local_policy {
|
||||||
|
min_tls_level encrypted
|
||||||
|
min_mx_level none
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
target.queue remote_queue {
|
||||||
|
target &outbound_delivery
|
||||||
|
autogenerated_msg_domain $(primary_domain)
|
||||||
|
bounce {
|
||||||
|
destination postmaster $(local_domains) {
|
||||||
|
deliver_to &local_routing
|
||||||
|
}
|
||||||
|
default_destination {
|
||||||
|
reject 550 5.0.0 "Refusing to send DSNs to non-local addresses"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
imap tcp://0.0.0.0:143 {
|
||||||
|
auth &local_authdb
|
||||||
|
storage &local_mailboxes
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
services.maddy = {
|
||||||
|
enable = mkEnableOption "Maddy, a free an open source mail server";
|
||||||
|
|
||||||
|
user = mkOption {
|
||||||
|
default = "maddy";
|
||||||
|
type = with types; uniq string;
|
||||||
|
description = ''
|
||||||
|
Name of the user under which maddy will run. If not specified, a
|
||||||
|
default user will be created.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
group = mkOption {
|
||||||
|
default = "maddy";
|
||||||
|
type = with types; uniq string;
|
||||||
|
description = ''
|
||||||
|
Name of the group under which maddy will run. If not specified, a
|
||||||
|
default group will be created.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
hostname = mkOption {
|
||||||
|
default = "localhost";
|
||||||
|
type = with types; uniq string;
|
||||||
|
example = ''example.com'';
|
||||||
|
description = ''
|
||||||
|
Hostname to use. It should be FQDN.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
primaryDomain = mkOption {
|
||||||
|
default = "localhost";
|
||||||
|
type = with types; uniq string;
|
||||||
|
example = ''mail.example.com'';
|
||||||
|
description = ''
|
||||||
|
Primary MX domain to use. It should be FQDN.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
localDomains = mkOption {
|
||||||
|
type = with types; listOf str;
|
||||||
|
default = ["$(primary_domain)"];
|
||||||
|
example = [
|
||||||
|
"$(primary_domain)"
|
||||||
|
"example.com"
|
||||||
|
"other.example.com"
|
||||||
|
];
|
||||||
|
description = ''
|
||||||
|
Define list of allowed domains.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
config = mkOption {
|
||||||
|
type = with types; nullOr lines;
|
||||||
|
default = defaultConfig;
|
||||||
|
description = ''
|
||||||
|
Server configuration.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
openFirewall = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Open the configured incoming and outgoing mail server ports.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
|
systemd = {
|
||||||
|
packages = [ pkgs.maddy ];
|
||||||
|
services.maddy = {
|
||||||
|
serviceConfig = {
|
||||||
|
User = "${cfg.user}";
|
||||||
|
Group = "${cfg.group}";
|
||||||
|
};
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.etc."maddy/maddy.conf" = {
|
||||||
|
text = ''
|
||||||
|
$(hostname) = ${cfg.hostname}
|
||||||
|
$(primary_domain) = ${cfg.primaryDomain}
|
||||||
|
$(local_domains) = ${toString cfg.localDomains}
|
||||||
|
hostname ${cfg.hostname}
|
||||||
|
${cfg.config}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users = optionalAttrs (cfg.user == "maddy") {
|
||||||
|
maddy = {
|
||||||
|
description = "Maddy service user";
|
||||||
|
group = cfg.group;
|
||||||
|
home = "/var/lib/maddy";
|
||||||
|
createHome = true;
|
||||||
|
isSystemUser = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups = mkIf (cfg.group == "maddy") {
|
||||||
|
maddy = pkgs.lib.mkForce {
|
||||||
|
name = cfg.group;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall = mkIf cfg.openFirewall {
|
||||||
|
allowedTCPPorts = [ 25 143 587 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.maddy
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -29,7 +29,7 @@ let
|
||||||
configFile = if (cfg.configFile != null) then cfg.configFile else configFile';
|
configFile = if (cfg.configFile != null) then cfg.configFile else configFile';
|
||||||
|
|
||||||
preStart = ''
|
preStart = ''
|
||||||
install --mode=0400 ${configFile} /run/${RuntimeDirectory}/ddclient.conf
|
install ${configFile} /run/${RuntimeDirectory}/ddclient.conf
|
||||||
${lib.optionalString (cfg.configFile == null) (if (cfg.passwordFile != null) then ''
|
${lib.optionalString (cfg.configFile == null) (if (cfg.passwordFile != null) then ''
|
||||||
password=$(printf "%q" "$(head -n 1 "${cfg.passwordFile}")")
|
password=$(printf "%q" "$(head -n 1 "${cfg.passwordFile}")")
|
||||||
sed -i "s|^password=$|password=$password|" /run/${RuntimeDirectory}/ddclient.conf
|
sed -i "s|^password=$|password=$password|" /run/${RuntimeDirectory}/ddclient.conf
|
||||||
|
|
|
@ -28,6 +28,7 @@ let
|
||||||
ProtectHome = "on";
|
ProtectHome = "on";
|
||||||
Restart = "on-failure";
|
Restart = "on-failure";
|
||||||
RestartSec = 2;
|
RestartSec = 2;
|
||||||
|
LogsDirectory = "radius";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -73,6 +74,7 @@ in
|
||||||
users.radius = {
|
users.radius = {
|
||||||
/*uid = config.ids.uids.radius;*/
|
/*uid = config.ids.uids.radius;*/
|
||||||
description = "Radius daemon user";
|
description = "Radius daemon user";
|
||||||
|
isSystemUser = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -100,6 +100,7 @@ in {
|
||||||
after = [ "network-online.target" "postgresql.service" ];
|
after = [ "network-online.target" "postgresql.service" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
restartTriggers = [ config.environment.etc."/pleroma/config.exs".source ];
|
restartTriggers = [ config.environment.etc."/pleroma/config.exs".source ];
|
||||||
|
environment.RELEASE_COOKIE = "/var/lib/pleroma/.cookie";
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
User = cfg.user;
|
User = cfg.user;
|
||||||
Group = cfg.group;
|
Group = cfg.group;
|
||||||
|
@ -116,8 +117,14 @@ in {
|
||||||
# has not been updated. But the no-op process is pretty fast.
|
# has not been updated. But the no-op process is pretty fast.
|
||||||
# Better be safe than sorry migration-wise.
|
# Better be safe than sorry migration-wise.
|
||||||
ExecStartPre =
|
ExecStartPre =
|
||||||
let preScript = pkgs.writers.writeBashBin "pleromaStartPre"
|
let preScript = pkgs.writers.writeBashBin "pleromaStartPre" ''
|
||||||
"${cfg.package}/bin/pleroma_ctl migrate";
|
if [ ! -f /var/lib/pleroma/.cookie ]
|
||||||
|
then
|
||||||
|
echo "Creating cookie file"
|
||||||
|
dd if=/dev/urandom bs=1 count=16 | hexdump -e '16/1 "%02x"' > /var/lib/pleroma/.cookie
|
||||||
|
fi
|
||||||
|
${cfg.package}/bin/pleroma_ctl migrate
|
||||||
|
'';
|
||||||
in "${preScript}/bin/pleromaStartPre";
|
in "${preScript}/bin/pleromaStartPre";
|
||||||
|
|
||||||
ExecStart = "${cfg.package}/bin/pleroma start";
|
ExecStart = "${cfg.package}/bin/pleroma start";
|
||||||
|
|
|
@ -167,13 +167,15 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
downloadDirPermissions = mkOption {
|
downloadDirPermissions = mkOption {
|
||||||
type = types.str;
|
type = with types; nullOr str;
|
||||||
default = "770";
|
default = null;
|
||||||
example = "775";
|
example = "770";
|
||||||
description = ''
|
description = ''
|
||||||
The permissions set by <literal>systemd.activationScripts.transmission-daemon</literal>
|
If not <code>null</code>, is used as the permissions
|
||||||
on the directories <xref linkend="opt-services.transmission.settings.download-dir"/>
|
set by <literal>systemd.activationScripts.transmission-daemon</literal>
|
||||||
and <xref linkend="opt-services.transmission.settings.incomplete-dir"/>.
|
on the directories <xref linkend="opt-services.transmission.settings.download-dir"/>,
|
||||||
|
<xref linkend="opt-services.transmission.settings.incomplete-dir"/>.
|
||||||
|
and <xref linkend="opt-services.transmission.settings.watch-dir"/>.
|
||||||
Note that you may also want to change
|
Note that you may also want to change
|
||||||
<xref linkend="opt-services.transmission.settings.umask"/>.
|
<xref linkend="opt-services.transmission.settings.umask"/>.
|
||||||
'';
|
'';
|
||||||
|
@ -246,7 +248,8 @@ in
|
||||||
# when /home/foo is not owned by cfg.user.
|
# when /home/foo is not owned by cfg.user.
|
||||||
# Note also that using an ExecStartPre= wouldn't work either
|
# Note also that using an ExecStartPre= wouldn't work either
|
||||||
# because BindPaths= needs these directories before.
|
# because BindPaths= needs these directories before.
|
||||||
system.activationScripts.transmission-daemon = ''
|
system.activationScripts = mkIf (cfg.downloadDirPermissions != null)
|
||||||
|
{ transmission-daemon = ''
|
||||||
install -d -m 700 '${cfg.home}/${settingsDir}'
|
install -d -m 700 '${cfg.home}/${settingsDir}'
|
||||||
chown -R '${cfg.user}:${cfg.group}' ${cfg.home}/${settingsDir}
|
chown -R '${cfg.user}:${cfg.group}' ${cfg.home}/${settingsDir}
|
||||||
install -d -m '${cfg.downloadDirPermissions}' -o '${cfg.user}' -g '${cfg.group}' '${cfg.settings.download-dir}'
|
install -d -m '${cfg.downloadDirPermissions}' -o '${cfg.user}' -g '${cfg.group}' '${cfg.settings.download-dir}'
|
||||||
|
@ -255,6 +258,7 @@ in
|
||||||
'' + optionalString cfg.settings.watch-dir-enabled ''
|
'' + optionalString cfg.settings.watch-dir-enabled ''
|
||||||
install -d -m '${cfg.downloadDirPermissions}' -o '${cfg.user}' -g '${cfg.group}' '${cfg.settings.watch-dir}'
|
install -d -m '${cfg.downloadDirPermissions}' -o '${cfg.user}' -g '${cfg.group}' '${cfg.settings.watch-dir}'
|
||||||
'';
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
systemd.services.transmission = {
|
systemd.services.transmission = {
|
||||||
description = "Transmission BitTorrent Service";
|
description = "Transmission BitTorrent Service";
|
||||||
|
@ -313,6 +317,14 @@ in
|
||||||
cfg.settings.script-torrent-done-filename ++
|
cfg.settings.script-torrent-done-filename ++
|
||||||
optional (cfg.settings.watch-dir-enabled && !cfg.settings.trash-original-torrent-files)
|
optional (cfg.settings.watch-dir-enabled && !cfg.settings.trash-original-torrent-files)
|
||||||
cfg.settings.watch-dir;
|
cfg.settings.watch-dir;
|
||||||
|
StateDirectory = [
|
||||||
|
"transmission"
|
||||||
|
"transmission/.config/transmission-daemon"
|
||||||
|
"transmission/.incomplete"
|
||||||
|
"transmission/Downloads"
|
||||||
|
"transmission/watch-dir"
|
||||||
|
];
|
||||||
|
StateDirectoryMode = mkDefault 750;
|
||||||
# The following options are only for optimizing:
|
# The following options are only for optimizing:
|
||||||
# systemd-analyze security transmission
|
# systemd-analyze security transmission
|
||||||
AmbientCapabilities = "";
|
AmbientCapabilities = "";
|
||||||
|
|
|
@ -102,7 +102,7 @@ with lib;
|
||||||
};
|
};
|
||||||
|
|
||||||
fastcgiParams = mkOption {
|
fastcgiParams = mkOption {
|
||||||
type = types.attrsOf types.str;
|
type = types.attrsOf (types.either types.str types.path);
|
||||||
default = {};
|
default = {};
|
||||||
description = ''
|
description = ''
|
||||||
FastCGI parameters to override. Unlike in the Nginx
|
FastCGI parameters to override. Unlike in the Nginx
|
||||||
|
|
|
@ -247,6 +247,7 @@ in
|
||||||
lxd-image-server = handleTest ./lxd-image-server.nix {};
|
lxd-image-server = handleTest ./lxd-image-server.nix {};
|
||||||
#logstash = handleTest ./logstash.nix {};
|
#logstash = handleTest ./logstash.nix {};
|
||||||
lorri = handleTest ./lorri/default.nix {};
|
lorri = handleTest ./lorri/default.nix {};
|
||||||
|
maddy = handleTest ./maddy.nix {};
|
||||||
magic-wormhole-mailbox-server = handleTest ./magic-wormhole-mailbox-server.nix {};
|
magic-wormhole-mailbox-server = handleTest ./magic-wormhole-mailbox-server.nix {};
|
||||||
magnetico = handleTest ./magnetico.nix {};
|
magnetico = handleTest ./magnetico.nix {};
|
||||||
mailcatcher = handleTest ./mailcatcher.nix {};
|
mailcatcher = handleTest ./mailcatcher.nix {};
|
||||||
|
|
58
nixos/tests/maddy.nix
Normal file
58
nixos/tests/maddy.nix
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
|
name = "maddy";
|
||||||
|
meta = with pkgs.lib.maintainers; { maintainers = [ onny ]; };
|
||||||
|
|
||||||
|
nodes = {
|
||||||
|
server = { ... }: {
|
||||||
|
services.maddy = {
|
||||||
|
enable = true;
|
||||||
|
hostname = "server";
|
||||||
|
primaryDomain = "server";
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
client = { ... }: {
|
||||||
|
environment.systemPackages = [
|
||||||
|
(pkgs.writers.writePython3Bin "send-testmail" { } ''
|
||||||
|
import smtplib
|
||||||
|
from email.mime.text import MIMEText
|
||||||
|
|
||||||
|
msg = MIMEText("Hello World")
|
||||||
|
msg['Subject'] = 'Test'
|
||||||
|
msg['From'] = "postmaster@server"
|
||||||
|
msg['To'] = "postmaster@server"
|
||||||
|
with smtplib.SMTP('server', 587) as smtp:
|
||||||
|
smtp.login('postmaster@server', 'test')
|
||||||
|
smtp.sendmail('postmaster@server', 'postmaster@server', msg.as_string())
|
||||||
|
'')
|
||||||
|
(pkgs.writers.writePython3Bin "test-imap" { } ''
|
||||||
|
import imaplib
|
||||||
|
|
||||||
|
with imaplib.IMAP4('server') as imap:
|
||||||
|
imap.login('postmaster@server', 'test')
|
||||||
|
imap.select()
|
||||||
|
status, refs = imap.search(None, 'ALL')
|
||||||
|
assert status == 'OK'
|
||||||
|
assert len(refs) == 1
|
||||||
|
status, msg = imap.fetch(refs[0], 'BODY[TEXT]')
|
||||||
|
assert status == 'OK'
|
||||||
|
assert msg[0][1].strip() == b"Hello World"
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
start_all()
|
||||||
|
server.wait_for_unit("maddy.service")
|
||||||
|
server.wait_for_open_port(143)
|
||||||
|
server.wait_for_open_port(587)
|
||||||
|
|
||||||
|
server.succeed("echo test | maddyctl creds create postmaster@server")
|
||||||
|
server.succeed("maddyctl imap-acct create postmaster@server")
|
||||||
|
|
||||||
|
client.succeed("send-testmail")
|
||||||
|
client.succeed("test-imap")
|
||||||
|
'';
|
||||||
|
})
|
|
@ -13,13 +13,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ft2-clone";
|
pname = "ft2-clone";
|
||||||
version = "1.47";
|
version = "1.48";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "8bitbubsy";
|
owner = "8bitbubsy";
|
||||||
repo = "ft2-clone";
|
repo = "ft2-clone";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-KLHJROOtRPtGHBYEMByY7LG6FY4vES6WndCiz7okan8=";
|
sha256 = "sha256-ZE9uid/srHHuTRqzgbtHcfmM0VkVsdrK1CJ3Qwbvtao=";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)
|
# Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)
|
||||||
|
|
|
@ -196,6 +196,35 @@
|
||||||
|
|
||||||
power-mode = callPackage ./power-mode { };
|
power-mode = callPackage ./power-mode { };
|
||||||
|
|
||||||
|
prisma-mode = let
|
||||||
|
rev = "5283ca7403bcb21ca0cac8ecb063600752dfd9d4";
|
||||||
|
in melpaBuild {
|
||||||
|
pname = "prisma-mode";
|
||||||
|
version = "20211207.0";
|
||||||
|
|
||||||
|
commit = rev;
|
||||||
|
|
||||||
|
packageRequires = [ js2-mode ];
|
||||||
|
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "pimeys";
|
||||||
|
repo = "emacs-prisma-mode";
|
||||||
|
inherit rev;
|
||||||
|
sha256 = "sha256-DJJfjbu27Gi7Nzsa1cdi8nIQowKH8ZxgQBwfXLB0Q/I=";
|
||||||
|
};
|
||||||
|
|
||||||
|
recipe = pkgs.writeText "recipe" ''
|
||||||
|
(prisma-mode
|
||||||
|
:repo "pimeys/emacs-prisma-mode"
|
||||||
|
:fetcher github)
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Major mode for Prisma Schema Language";
|
||||||
|
license = gpl2Only;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
railgun = callPackage ./railgun { };
|
railgun = callPackage ./railgun { };
|
||||||
|
|
||||||
structured-haskell-mode = self.shm;
|
structured-haskell-mode = self.shm;
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "charm";
|
pname = "charm";
|
||||||
version = "0.8.6";
|
version = "0.9.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "charmbracelet";
|
owner = "charmbracelet";
|
||||||
repo = "charm";
|
repo = "charm";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0mjq0yy60czsw40h5n515qmi6bbvhrddll4sn5r2q1nf9pvviqr6";
|
sha256 = "1q5c2qka4srqj82f50iwmcj2j0yw2msz5dmrx2avqppp3fyi9jz3";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "1spzawnk2fslc1m14dp8lx4vpnxwz7xgm1hxbpz4bqlqz1hfd6ax";
|
vendorSha256 = "1xycgzx706kyz37z3517p98129iy7py7zdizz34k38fvfpila5q5";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
pname = "mob";
|
pname = "mob";
|
||||||
version = "2.0.0";
|
version = "2.1.0";
|
||||||
goPackagePath = "github.com/remotemobprogramming/mob";
|
goPackagePath = "github.com/remotemobprogramming/mob";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
owner = "remotemobprogramming";
|
owner = "remotemobprogramming";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
sha256 = "sha256-sSeXL+eHroxDr+91rwmUJ+WwDgefZgJBRTxy4wo6DDM=";
|
sha256 = "sha256-K8ID8cetzCaMc/PVRNMyIhrshtEUiD6U/jI4e0TcOO4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
26
pkgs/applications/misc/skate/default.nix
Normal file
26
pkgs/applications/misc/skate/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ lib, buildGoModule, fetchFromGitHub }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "skate";
|
||||||
|
version = "0.1.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "charmbracelet";
|
||||||
|
repo = "skate";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "01brxckjz8vlgaq9917l45xf48078d4465qn9l0lyll6hic6p06c";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "0mvx4rzs0mvb1dyxj105mh2awfy0bmp716x7hpfdwhwz3p11fc7k";
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A personal multi-machine syncable key value store";
|
||||||
|
homepage = "https://github.com/charmbracelet/skate";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ penguwin ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "spicetify-cli";
|
pname = "spicetify-cli";
|
||||||
version = "2.7.1";
|
version = "2.8.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "khanhas";
|
owner = "khanhas";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-fWh345J2fD9uoGrDiVZyEBiOlMy8giEGKHGMujT0mjo=";
|
sha256 = "sha256-YMVB9nKsHYy65McYs1w/ETy+1b8GkjuWFk6PZs4HFko=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-g0RYIVIq4oMXdRZDBDnVYg7ombN5WEo/6O9hChQvOYs=";
|
vendorSha256 = "sha256-g0RYIVIq4oMXdRZDBDnVYg7ombN5WEo/6O9hChQvOYs=";
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"stable": {
|
"stable": {
|
||||||
"version": "96.0.4664.45",
|
"version": "96.0.4664.93",
|
||||||
"sha256": "01q4fsf2cbx6g9nnaihvc5jj3ap8jq2gf16pnhf7ixzbhgcnm328",
|
"sha256": "14rlm91pzpdll6x2r1sxdswiv19h1ykxcq0csi9k9g0a9s71yyvw",
|
||||||
"sha256bin64": "0546i4yd1jahv088hjxpq0jc393pscvl5ap3s2qw5jrybliyfd2g",
|
"sha256bin64": "15233njj6ln7q3c112ssfh9s4m3shhp920zw8648z9dr7k8512qb",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2021-09-24",
|
"version": "2021-09-24",
|
||||||
|
@ -12,15 +12,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chromedriver": {
|
"chromedriver": {
|
||||||
"version": "96.0.4664.35",
|
"version": "96.0.4664.45",
|
||||||
"sha256_linux": "0iq129a4mj4sjs08s68n82wd8563sw8196xda27wk3pfpprr23db",
|
"sha256_linux": "15wybxlh38sw7f2bzalf9ivfp8262cpcvhq08nw9d2cj3j39f13m",
|
||||||
"sha256_darwin": "1prc7zbgnljqz2d89clpk5c0y48r79zmb9in4vinf3j6p2rxn0vy"
|
"sha256_darwin": "0r3b8wgbd8xjb09f4vc402gp77y2aqjk9hpqvvr6xgdr7nqym20f"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"beta": {
|
"beta": {
|
||||||
"version": "97.0.4692.20",
|
"version": "97.0.4692.36",
|
||||||
"sha256": "1njgfz3kz1pyyaaskqc47ldy2gzc3c9a8mjib81nalzrqbmd3372",
|
"sha256": "0p0f19svnymql8skx6alb6zy4fmc5115dc2avs8h2mca1q8n5r0s",
|
||||||
"sha256bin64": "0nsaf46a9pl8cxw5v2zsfp2ynja4m55qi1m4mhwhmyr50138655f",
|
"sha256bin64": "08p0rwn4jglrzma1vf4jnyqaffnk0c8xwc7jkgfpkasm43d72zim",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2021-11-03",
|
"version": "2021-11-03",
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "assign-lb-ip";
|
pname = "assign-lb-ip";
|
||||||
version = "2.2.0";
|
version = "2.3.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Nordix";
|
owner = "Nordix";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-PkMXjFP2brULCnD6mGz9wCufMpiwsmulDpINiwmkeys=";
|
sha256 = "sha256-VaxzU8HC+LQTyhL9pxvjiPa6T5v77RT2B7A0IuU/CUg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-j9SweQq45sYk0lH6zkFrmWRlVhhMO8rLJGQxS6smAVw=";
|
vendorSha256 = "sha256-j9SweQq45sYk0lH6zkFrmWRlVhhMO8rLJGQxS6smAVw=";
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "clusterctl";
|
pname = "clusterctl";
|
||||||
version = "1.0.1";
|
version = "1.0.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kubernetes-sigs";
|
owner = "kubernetes-sigs";
|
||||||
repo = "cluster-api";
|
repo = "cluster-api";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-EkBZZUkr1u0u75WDDFAdLLpS01+3+eyXpu4HRg2Q780=";
|
sha256 = "sha256-esSpCNvgYhuz9i22AU4ZowU5A5ZOPZ15+XHB4OOfTa4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-VO1Z4NUWrd4JuFYFg0a01psqoIM8ps3vKd0djR5OELU=";
|
vendorSha256 = "sha256-VO1Z4NUWrd4JuFYFg0a01psqoIM8ps3vKd0djR5OELU=";
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "hubble";
|
pname = "hubble";
|
||||||
version = "0.8.2";
|
version = "0.9.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cilium";
|
owner = "cilium";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1n1930hlaflx7kzqbz7vvnxw9hrps84kqibaf2ixnjp998kqkl6d";
|
sha256 = "sha256-L8sRvIA89RiXjrG0WcH72iYKlNTFvmQrveA9k5EBRKo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kubedb-cli";
|
pname = "kubedb-cli";
|
||||||
version = "0.22.0";
|
version = "0.24.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kubedb";
|
owner = "kubedb";
|
||||||
repo = "cli";
|
repo = "cli";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-pAvaScbwGJMW3iFS26D71nImWsXcEVx7ONUP82f6QDQ=";
|
sha256 = "sha256-b5LbA2qEsEA7J0djEMhDeBY9iV1cvGVtxTlmneQGKYY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kubeone";
|
pname = "kubeone";
|
||||||
version = "1.3.0";
|
version = "1.3.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kubermatic";
|
owner = "kubermatic";
|
||||||
repo = "kubeone";
|
repo = "kubeone";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-B/ga5MpjXoLe5H/JosmrS/Wuj1elzQHPsnz/qOm7Hrg=";
|
sha256 = "sha256-Y0IlTOAfwEp8WkFpXSS02vEhCM4+juAY+Nx/e9Vv0F0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-/rhV7JHuqejCTizcjKIkaJlbRcx7AfMcGqQYo6dlg48=";
|
vendorSha256 = "sha256-/rhV7JHuqejCTizcjKIkaJlbRcx7AfMcGqQYo6dlg48=";
|
||||||
|
|
|
@ -21,13 +21,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "kubernetes";
|
pname = "kubernetes";
|
||||||
version = "1.22.3";
|
version = "1.22.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kubernetes";
|
owner = "kubernetes";
|
||||||
repo = "kubernetes";
|
repo = "kubernetes";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-yXis1nq36MO/RnYLxOYBs6xnaTf9lk+VJBzSamrHcEU=";
|
sha256 = "sha256-6ivBecOttzbX85+WCttaU5nXjaiEiKU8xRhnCPkjLXg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ];
|
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ];
|
||||||
|
|
|
@ -11,9 +11,9 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "minikube";
|
pname = "minikube";
|
||||||
version = "1.23.2";
|
version = "1.24.0";
|
||||||
|
|
||||||
vendorSha256 = "sha256-Q6DadAmx/8TM+MrdaKgAjn0sVrKqTYoWdsmnN77yfKA=";
|
vendorSha256 = "sha256-I23T1eWPTU9QiIVI4qi5mkaS6CkeGbOHKTHwjCnKTIM=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ buildGoModule rec {
|
||||||
owner = "kubernetes";
|
owner = "kubernetes";
|
||||||
repo = "minikube";
|
repo = "minikube";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-PIgzGikVIno2Gd+kSjF4kLHuUKgPrPHoIJxAGblI8RQ=";
|
sha256 = "sha256-WW5VVjm7cq/3/RGiIE2nn8O+VK0RHCtKkrlboIzhqC4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles pkg-config which ];
|
nativeBuildInputs = [ installShellFiles pkg-config which ];
|
||||||
|
|
|
@ -10,16 +10,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "nerdctl";
|
pname = "nerdctl";
|
||||||
version = "0.13.0";
|
version = "0.14.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "containerd";
|
owner = "containerd";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-uyLY2yH/6J0rtra0brBATadPqrNyyuCcaGfOrng9h4Y=";
|
sha256 = "sha256-Esj1LFf884m9iTJjqqGCMhbgBNSGpYAfi2stPYSNgRA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-r7xzvntTIJocdYMQpFXunI2XV65eRG+piEEzS5N2xsY=";
|
vendorSha256 = "sha256-cfxHx4oyIfUX9bGjwZ9Hu3VieIXOB0VGHjaQWm4kYOk=";
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
let
|
let
|
||||||
package = buildGoModule rec {
|
package = buildGoModule rec {
|
||||||
pname = "nomad-autoscaler";
|
pname = "nomad-autoscaler";
|
||||||
version = "0.3.3";
|
version = "0.3.4";
|
||||||
|
|
||||||
outputs = [
|
outputs = [
|
||||||
"out"
|
"out"
|
||||||
|
@ -25,10 +25,10 @@ let
|
||||||
owner = "hashicorp";
|
owner = "hashicorp";
|
||||||
repo = "nomad-autoscaler";
|
repo = "nomad-autoscaler";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-bN/U6aCf33B88ouQwTGG8CqARzWmIvXNr5JPr3l8cVI=";
|
sha256 = "sha256-SmlcQH+K/axl6Gj+bX0Quk6K/usP0c1hWnIdFjS1dn8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-Ls8gkfLyxfQD8krvxjAPnZhf1r1s2MhtQfMMfp8hJII=";
|
vendorSha256 = "sha256-tO8vi9jBV6rVcGk/OoaXzpnQi4yPdozYZZwAMFCz2+c=";
|
||||||
|
|
||||||
subPackages = [ "." ];
|
subPackages = [ "." ];
|
||||||
|
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "terragrunt";
|
pname = "terragrunt";
|
||||||
version = "0.35.5";
|
version = "0.35.13";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gruntwork-io";
|
owner = "gruntwork-io";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-VUB1zZwRZ+TUFDcq/lBB9eAeM7d5zWhFy7nxzH5S6oc=";
|
sha256 = "sha256-B+HdxnTm/LfGvabQiKhZVRIaMpg4zgCVYP8MkKiiSok=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-y84EFmoJS4SeA5YFIVFU0iWa5NnjU5yvOj7OFE+jGN0=";
|
vendorSha256 = "sha256-tNgEepKqwiqXhmoRCIEg7VJw7Y0TGt+R+6dZzd8aECg=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "dnscontrol";
|
pname = "dnscontrol";
|
||||||
version = "3.12.0";
|
version = "3.13.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "StackExchange";
|
owner = "StackExchange";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-g3Yb0LAa9Ukp32p0OoXxjmw9RQwyVpi0KXQBIpKunbU=";
|
sha256 = "sha256-XBpdNQHG90rJWGfXpJgXsj5AR2VhK/3+1U7Zl8XDlsw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-RBe9XzvdgE5XWBTUhvAokElNwARgwVhkMwPmdKUroC0=";
|
vendorSha256 = "sha256-Ob4ZPtP14TsNOnGVfR5lFAKpJsjoJDKmiE++DqY32QA=";
|
||||||
|
|
||||||
subPackages = [ "." ];
|
subPackages = [ "." ];
|
||||||
|
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "hydroxide";
|
pname = "hydroxide";
|
||||||
version = "0.2.20";
|
version = "0.2.21";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "emersion";
|
owner = "emersion";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-VTUpiuSsI795XDSxJJvLQlVNPLiekHyKcCazRBky9nU=";
|
sha256 = "sha256-fF+pQnqAWBktc4NdQFTHeB/sEg5bPTxXtdL1x5JuXU8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-AuZnHpJ1Xel/L9dG3ATdXnoTeUxtieah/ea+0svw3oA=";
|
vendorSha256 = "sha256-M5QlhF2Cj1jn5NNiKj1Roh9+sNCWxQEb4vbtsDfapWY=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "logisim-evolution";
|
pname = "logisim-evolution";
|
||||||
version = "3.7.1";
|
version = "3.7.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/logisim-evolution/logisim-evolution/releases/download/v${version}/logisim-evolution-${version}-all.jar";
|
url = "https://github.com/logisim-evolution/logisim-evolution/releases/download/v${version}/logisim-evolution-${version}-all.jar";
|
||||||
sha256 = "04q9bzhnzpi8cgv3ly4ii88qvmlw9n09c4p1qmg8dhxqkskdqj6h";
|
sha256 = "sha256-RI+ioOHj13UAGuPzseAAy3oQBQYkja/ucjj4QMeRZhw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "1.10.1";
|
version = "1.10.2";
|
||||||
|
|
||||||
# build stimuli file for PGO build and the script to generate it
|
# build stimuli file for PGO build and the script to generate it
|
||||||
# independently of the foot's build, so we can cache the result
|
# independently of the foot's build, so we can cache the result
|
||||||
|
@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
|
||||||
owner = "dnkl";
|
owner = "dnkl";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "12n1v9by519fg40xvjf4v0g2phi08lcg0clz7rxs2i2xwlizz7nc";
|
sha256 = "00096c2m8pn4gpafvmg9lhyprwgnsis62bq4qmagnbb49bj5kr9v";
|
||||||
};
|
};
|
||||||
|
|
||||||
depsBuildBuild = [
|
depsBuildBuild = [
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "droidcam";
|
pname = "droidcam";
|
||||||
version = "1.8.0";
|
version = "1.8.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "aramg";
|
owner = "aramg";
|
||||||
repo = "droidcam";
|
repo = "droidcam";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-A8FHTAeDFaSDp5Bnfv5NmCC7xIFAw3IcHSD4hZp4vwU=";
|
sha256 = "sha256-3iA7GDTiCx5vHawj8ZBFAK0BIfmxEFuQrVfL7Gi6FhM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
23
pkgs/applications/video/f1viewer/default.nix
Normal file
23
pkgs/applications/video/f1viewer/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{ lib, buildGoModule, fetchFromGitHub }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "f1viewer";
|
||||||
|
version = "2.4.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "SoMuchForSubtlety";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "7eXRUG74l9+9nU7EmDvNcHc+2pg5+/amjqtrzT60f94=";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "4pQ8NT0mh3w7naHEHh2w6Csop0uitlWClZ95VlYaPW0=";
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description =
|
||||||
|
"A TUI to view Formula 1 footage using VLC or another media player";
|
||||||
|
homepage = "https://github.com/SoMuchForSubtlety/f1viewer";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
maintainers = with maintainers; [ michzappa ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,10 +6,10 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "minitube";
|
pname = "minitube";
|
||||||
version = "3.9.1";
|
version = "3.9.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
sha256 = "sha256-1BVHxB7WtXCAJqP+uADszdVPc+T3ctCCzfoJPCb5ZTE=";
|
sha256 = "sha256-MIzfo17eAvpWO2HNq9z+D9XiOKTRiUHvaOdxI1EK1f0=";
|
||||||
rev = version;
|
rev = version;
|
||||||
repo = "minitube";
|
repo = "minitube";
|
||||||
owner = "flaviotordini";
|
owner = "flaviotordini";
|
||||||
|
|
|
@ -119,6 +119,12 @@ stdenv.mkDerivation rec {
|
||||||
url = "https://gitlab.com/qemu-project/qemu/-/commit/eb94846280df3f1e2a91b6179fc05f9890b7e384.patch";
|
url = "https://gitlab.com/qemu-project/qemu/-/commit/eb94846280df3f1e2a91b6179fc05f9890b7e384.patch";
|
||||||
sha256 = "sha256-p31fd47RTSw928DOMrubQQybnzDAGm23z4Yhe+hGJQ8=";
|
sha256 = "sha256-p31fd47RTSw928DOMrubQQybnzDAGm23z4Yhe+hGJQ8=";
|
||||||
})
|
})
|
||||||
|
# Fixes socket_sockaddr_to_address_unix assertion errors in some setups. Remove with next release.
|
||||||
|
(fetchpatch {
|
||||||
|
name = "fix-unix-socket-path-copy-again.patch";
|
||||||
|
url = "https://gitlab.com/qemu-project/qemu/-/commit/118d527f2e4baec5fe8060b22a6212468b8e4d3f.patch";
|
||||||
|
sha256 = "sha256-ox+JSpc0pqd3bMi5Ot7ljQyk70SX8g+BLufR06mZPps=";
|
||||||
|
})
|
||||||
] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch
|
] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch
|
||||||
++ lib.optionals stdenv.hostPlatform.isMusl [
|
++ lib.optionals stdenv.hostPlatform.isMusl [
|
||||||
./sigrtminmax.patch
|
./sigrtminmax.patch
|
||||||
|
|
|
@ -9,13 +9,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "luna-icons";
|
pname = "luna-icons";
|
||||||
version = "1.6";
|
version = "1.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "darkomarko42";
|
owner = "darkomarko42";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "1iw9wqfs8s3l5k5ngyjmvvxbsxcsya3a6h1xwl6d603swv7h1s02";
|
sha256 = "sha256-L8bkO2zGEXfwqoWZRDCm/PdBxwedkx57kduwlMoyAME=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, stdenv, fetchpatch, fetchurl, fetchzip
|
{ lib, stdenv, fetchpatch, fetchurl, fetchzip
|
||||||
# build tools
|
# build tools
|
||||||
, gfortran, m4, makeWrapper, patchelf, perl, which, python2
|
, gfortran, m4, makeWrapper, patchelf, perl, which, python3
|
||||||
, cmake
|
, cmake
|
||||||
# libjulia dependencies
|
# libjulia dependencies
|
||||||
, libunwind, readline, utf8proc, zlib
|
, libunwind, readline, utf8proc, zlib
|
||||||
|
@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = src_sha256;
|
sha256 = src_sha256;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake curl gfortran m4 makeWrapper patchelf perl python2 which ];
|
nativeBuildInputs = [ cmake curl gfortran m4 makeWrapper patchelf perl python3 which ];
|
||||||
# cmake is only used to build the bundled deps
|
# cmake is only used to build the bundled deps
|
||||||
dontUseCmakeConfigure = true;
|
dontUseCmakeConfigure = true;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, stdenv, fetchzip
|
{ lib, stdenv, fetchzip
|
||||||
# build tools
|
# build tools
|
||||||
, gfortran, m4, makeWrapper, patchelf, perl, which, python2, cmake
|
, gfortran, m4, makeWrapper, patchelf, perl, which, python3, cmake
|
||||||
# libjulia dependencies
|
# libjulia dependencies
|
||||||
, libunwind, readline, utf8proc, zlib
|
, libunwind, readline, utf8proc, zlib
|
||||||
# standard library dependencies
|
# standard library dependencies
|
||||||
|
@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
|
||||||
zlib
|
zlib
|
||||||
] ++ lib.optionals stdenv.isDarwin [CoreServices ApplicationServices];
|
] ++ lib.optionals stdenv.isDarwin [CoreServices ApplicationServices];
|
||||||
|
|
||||||
nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which cmake ];
|
nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python3 which cmake ];
|
||||||
|
|
||||||
makeFlags =
|
makeFlags =
|
||||||
let
|
let
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchzip
|
||||||
|
, openjdk8
|
||||||
|
, makeWrapper
|
||||||
|
}:
|
||||||
|
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "kaitai-struct-compiler";
|
||||||
|
version = "0.9";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://github.com/kaitai-io/kaitai_struct_compiler/releases/download/${version}/kaitai-struct-compiler-${version}.zip";
|
||||||
|
sha256 = "sha256-2HSasigpJDuWNejNVklnpQwaA4MC030S9taF/7YvzgY=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -D $src/bin/kaitai-struct-compiler $out/bin/kaitai-struct-compiler
|
||||||
|
ln -s $out/bin/kaitai-struct-compiler $out/bin/ksc
|
||||||
|
cp -R $src/lib $out/lib
|
||||||
|
wrapProgram $out/bin/kaitai-struct-compiler --prefix PATH : ${lib.makeBinPath [ openjdk8 ] }
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/kaitai-io/kaitai_struct_compiler";
|
||||||
|
description =
|
||||||
|
"Compiler to generate binary data parsers in C++ / C# / Go / Java / JavaScript / Lua / Perl / PHP / Python / Ruby ";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
maintainers = with maintainers; [ luis ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -21,13 +21,13 @@ let
|
||||||
|
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "amdvlk";
|
pname = "amdvlk";
|
||||||
version = "2021.Q3.7";
|
version = "2021.Q4.1";
|
||||||
|
|
||||||
src = fetchRepoProject {
|
src = fetchRepoProject {
|
||||||
name = "${pname}-src";
|
name = "${pname}-src";
|
||||||
manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
|
manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
|
||||||
rev = "refs/tags/v-${version}";
|
rev = "refs/tags/v-${version}";
|
||||||
sha256 = "sha256-0Q6c10lQSxgqOB6X6F8LyeF2aoyicmp0tZlknuZjQHE=";
|
sha256 = "sha256-yvpHLreBNhiSxnZis5+XcTOSZPRLq5K8YNJsjpYqD6s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libqb";
|
pname = "libqb";
|
||||||
version = "2.0.3";
|
version = "2.0.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "ClusterLabs";
|
owner = "ClusterLabs";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-a9CnqfrQUL0DdPPOJjfh9tQ0O8iRHPP3iBmy3MKvt/0=";
|
sha256 = "sha256-s6b2/bCVNzr3IBqiSAjiJ/DHCqkRwR1aA+J4uBP5mO4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
nativeBuildInputs = [ autoreconfHook pkg-config ];
|
||||||
|
|
|
@ -11,13 +11,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libspng";
|
pname = "libspng";
|
||||||
version = "0.7.0";
|
version = "0.7.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "randy408";
|
owner = "randy408";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0zk0w09is4g7gysax4h0f4xj5f40vm6ipc1wi98ymzban89cjjnz";
|
sha256 = "sha256-JBNFYmmd1UnoIfV6iWeDIw/kgvl8AArxfHK+TKjZ9rk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, fetchurl, autoreconfHook, xz, coreutils }:
|
{ stdenv, lib, fetchurl, autoreconfHook, xz, buildPackages }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libunwind";
|
pname = "libunwind";
|
||||||
|
@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "sha256-SmrsZmmR+0XQiJxErt6K1usQgHHDVU/N/2cfnJR5SXY=";
|
sha256 = "sha256-SmrsZmmR+0XQiJxErt6K1usQgHHDVU/N/2cfnJR5SXY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = lib.optionalString stdenv.hostPlatform.isMusl ''
|
postPatch = if stdenv.cc.isClang then ''
|
||||||
|
substituteInPlace configure.ac --replace "-lgcc_s" ""
|
||||||
|
'' else lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||||
substituteInPlace configure.ac --replace "-lgcc_s" "-lgcc_eh"
|
substituteInPlace configure.ac --replace "-lgcc_s" "-lgcc_eh"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -19,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
# Without latex2man, no man pages are installed despite being
|
# Without latex2man, no man pages are installed despite being
|
||||||
# prebuilt in the source tarball.
|
# prebuilt in the source tarball.
|
||||||
configureFlags = [ "LATEX2MAN=${coreutils}/bin/true" ];
|
configureFlags = [ "LATEX2MAN=${buildPackages.coreutils}/bin/true" ];
|
||||||
|
|
||||||
propagatedBuildInputs = [ xz ];
|
propagatedBuildInputs = [ xz ];
|
||||||
|
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "muparserx";
|
pname = "muparserx";
|
||||||
version = "4.0.8";
|
version = "4.0.11";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "beltoforion";
|
owner = "beltoforion";
|
||||||
repo = "muparserx";
|
repo = "muparserx";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "097pkdffv0phr0345hy06mjm5pfy259z13plsvbxvcmds80wl48v";
|
sha256 = "sha256-BWzHlz1mQYsvWa53EtO05Rb4rRHJBSRguJTHLtgqpPw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
|
@ -15,13 +15,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "qgnomeplatform";
|
pname = "qgnomeplatform";
|
||||||
version = "0.8.0";
|
version = "0.8.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "FedoraQt";
|
owner = "FedoraQt";
|
||||||
repo = "QGnomePlatform";
|
repo = "QGnomePlatform";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "C/n8i5j0UWfxhP10c4j89U+LrpPozXnam4fIPYMXZAA=";
|
sha256 = "sha256-950VEcxhJeBPSQToC8KpBx/KSneARN6Y8X7CAuFyRjo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
version = "2.0.2";
|
version = "3.0.0";
|
||||||
pname = "dbutils";
|
pname = "dbutils";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit version;
|
inherit version;
|
||||||
pname = "DBUtils";
|
pname = "DBUtils";
|
||||||
sha256 = "1cc8zyd4lapzf9ny6c2jf1vysphlhr19m8miyvw5spbyq4pxpnsf";
|
sha256 = "549d472197b3eef27e7bb2dd2246b28e880ac0ae9fdf63aadfd3b7def153db0c";
|
||||||
};
|
};
|
||||||
|
|
||||||
checkInputs = [ pytestCheckHook ];
|
checkInputs = [ pytestCheckHook ];
|
||||||
|
|
|
@ -14,11 +14,11 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "google-cloud-spanner";
|
pname = "google-cloud-spanner";
|
||||||
version = "3.11.1";
|
version = "3.12.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "b993b4c68f11dd6fe0f66e0c437a71f9bed8d77f6bf1ddc4aad422ce3b330ecb";
|
sha256 = "8f1390c3776fcfce71e1ef024d9ccde52c16d1cd728bc587c24065d6e4d21933";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -6,12 +6,12 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "memory-allocator";
|
pname = "memory-allocator";
|
||||||
version = "0.1.0";
|
version = "0.1.2";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit version;
|
inherit version;
|
||||||
pname = "memory_allocator";
|
pname = "memory_allocator";
|
||||||
sha256 = "sha256-UUcR71e3eAQIQpmWM+AVQxVtgHvrNjaIlHo5pURUln0=";
|
sha256 = "ddf42a2dcc678062f30c63c868335204d46a4ecdf4db0dc43ed4529f1d0ffab9";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [ cython ];
|
propagatedBuildInputs = [ cython ];
|
||||||
|
|
|
@ -9,12 +9,12 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pyathena";
|
pname = "pyathena";
|
||||||
version = "2.3.0";
|
version = "2.3.2";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
pname = "PyAthena";
|
pname = "PyAthena";
|
||||||
inherit version;
|
inherit version;
|
||||||
sha256 = "08fl653yayvqi991zvcai5ifcxwy9ip6xh0cr3lbimggjnjgwsl5";
|
sha256 = "20a473c52e76a211c427d2f711af0a04804a70fc036ab884780e42e0dc2025f7";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Nearly all tests depend on a working AWS Athena instance,
|
# Nearly all tests depend on a working AWS Athena instance,
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pytest-snapshot";
|
pname = "pytest-snapshot";
|
||||||
version = "0.7.0";
|
version = "0.8.0";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "427b5ab088b25a1c8b63ce99725040664c840ff1f5a3891252723cce972897f9";
|
sha256 = "cf84c88c3e0b4ae08ae797d9ccdc32715b64dd68b2da40f575db56956ed23326";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ setuptools-scm ];
|
nativeBuildInputs = [ setuptools-scm ];
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "rq";
|
pname = "rq";
|
||||||
version = "1.10";
|
version = "1.10.1";
|
||||||
disabled = isPy27;
|
disabled = isPy27;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rq";
|
owner = "rq";
|
||||||
repo = "rq";
|
repo = "rq";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "16k5qz5k3v232dzv99bxxw52jr2hb5ra08b6dkhqya98wjviq8l5";
|
sha256 = "1f4fi1rvn97d2b524q45k6s10b007pr23k0mf44q7hy8q4vnjmh5";
|
||||||
};
|
};
|
||||||
|
|
||||||
# test require a running redis rerver, which is something we can't do yet
|
# test require a running redis rerver, which is something we can't do yet
|
||||||
|
|
|
@ -12,13 +12,13 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "spacy-transformers";
|
pname = "spacy-transformers";
|
||||||
version = "1.1.2";
|
version = "1.1.3";
|
||||||
|
|
||||||
disabled = pythonOlder "3.6";
|
disabled = pythonOlder "3.6";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "b84c195dc21a28582579dea3f76c90222e29ee0d99b6adf38ade75646ed2746e";
|
sha256 = "f4f553d3d2a065147a8c1292b5d9adf050c0f78dd15bb05c9614341cf88c5574";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -46,13 +46,13 @@ with py.pkgs;
|
||||||
|
|
||||||
buildPythonApplication rec {
|
buildPythonApplication rec {
|
||||||
pname = "checkov";
|
pname = "checkov";
|
||||||
version = "2.0.628";
|
version = "2.0.632";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bridgecrewio";
|
owner = "bridgecrewio";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-/plAzSkvcQ1pEd62/ZyFMew1c81FTIyCTynxVAPjqAE=";
|
sha256 = "sha256-SDMp+QOZy2Ml5V8RHLvmTl/3/KB8iYaW0muakE8PnhA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = with py.pkgs; [
|
nativeBuildInputs = with py.pkgs; [
|
||||||
|
|
|
@ -5,16 +5,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "bazel-remote";
|
pname = "bazel-remote";
|
||||||
version = "2.2.0";
|
version = "2.3.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "buchgr";
|
owner = "buchgr";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-zRZlpZWGZpBHc5DtqxeVc4xmJDKTem54/Fx/41i57c4=";
|
sha256 = "sha256-ILD7uGVzRgFugHYkhvxy0rbWarXgGZXi/SLRSQb8nl4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-N0UfC/M6EBbnpBpOTNkGgFEJpTA3VQ2jg9M7kxQQQc8=";
|
vendorSha256 = "sha256-XBsYSA0i0q/mp8sQh9h//pjs+TbEDc7UIdNU24/Qemo=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "bazel-buildtools";
|
pname = "bazel-buildtools";
|
||||||
version = "4.2.3";
|
version = "4.2.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "bazelbuild";
|
owner = "bazelbuild";
|
||||||
repo = "buildtools";
|
repo = "buildtools";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-FRT8t7bBE98ya5P50UJWhq02XuDGBZCNd3wBOpnDWmo=";
|
sha256 = "sha256-Tt1inAViAFaV+o2A2yquPXEv5EiC2eJgNUnr7jBYq7w=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-buMkRxVLlS2LBJGaGWeR41BsmE/0vgDS8s1VcRYN0fA=";
|
vendorSha256 = "sha256-buMkRxVLlS2LBJGaGWeR41BsmE/0vgDS8s1VcRYN0fA=";
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "konstraint";
|
pname = "konstraint";
|
||||||
version = "0.15.0";
|
version = "0.15.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "plexsystems";
|
owner = "plexsystems";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-lnbci3SUVp/vyArrfRF1dgv0KnqcmGIalhsZjDOhpSg=";
|
sha256 = "sha256-vt8/hYsThBoAxMglF8pjdVphmkbHXsuzaHFJhnGXdU4=";
|
||||||
};
|
};
|
||||||
vendorSha256 = "sha256-hfnpZgGIEpfHjM5J93D/aljN6j5XHGknpYXWeRV4Y4Q=";
|
vendorSha256 = "sha256-3m+mN90Edb/yMgVmkokRQrDM2EdB7cb2opL0QZJ8L+U=";
|
||||||
|
|
||||||
# Exclude go within .github folder
|
# Exclude go within .github folder
|
||||||
excludedPackages = ".github";
|
excludedPackages = ".github";
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ktlint";
|
pname = "ktlint";
|
||||||
version = "0.43.1";
|
version = "0.43.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/pinterest/ktlint/releases/download/${version}/ktlint";
|
url = "https://github.com/pinterest/ktlint/releases/download/${version}/ktlint";
|
||||||
sha256 = "1qcalpimgsm5s3xhssrnanryra4dp2if9y4647aimydwvfhi05df";
|
sha256 = "sha256-HXTkYwN6U8xyxgFnj69nLSpbDCqWUWeSuqlZbquRD6o=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "lazygit";
|
pname = "lazygit";
|
||||||
version = "0.31.3";
|
version = "0.31.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jesseduffield";
|
owner = "jesseduffield";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-CgWN7xfWX0aSwNAPt2UDftyD0CbQQSUY6SMlyP9TSjc=";
|
sha256 = "sha256-yze4UaSEbyHwHSyj0mM7uCzaDED+p4O3HVVlHJi/FKU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "editorconfig-checker";
|
pname = "editorconfig-checker";
|
||||||
version = "2.3.5";
|
version = "2.4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "editorconfig-checker";
|
owner = "editorconfig-checker";
|
||||||
repo = "editorconfig-checker";
|
repo = "editorconfig-checker";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-t1qvmTs6hOrAnq5hjU2Qjt33vdW9MuSOvWCCY82db+g=";
|
sha256 = "sha256-uP+AgQO1k9fic7r0pOKqO5lUHKEf7Pwaw2U2a6ghzz0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-Rs7u/ZepnMNg5EZ/HWqSdO428KOkxpSbo7rl0treqUY=";
|
vendorSha256 = "sha256-SrBrYyExeDHXhezvtfGLtm8NM1eX4/8kzwUICQLZDjo=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, stdenv, fetchzip, which, ocaml, ocamlbuild }:
|
{ lib, stdenv, fetchzip, which, ocaml, ocamlbuild }:
|
||||||
|
|
||||||
if lib.versionAtLeast ocaml.version "4.09"
|
if lib.versionAtLeast ocaml.version "4.14"
|
||||||
then throw "camlp4 is not available for OCaml ${ocaml.version}"
|
then throw "camlp4 is not available for OCaml ${ocaml.version}"
|
||||||
else
|
else
|
||||||
|
|
||||||
|
@ -26,6 +26,21 @@ let param = {
|
||||||
"4.08" = {
|
"4.08" = {
|
||||||
version = "4.08+1";
|
version = "4.08+1";
|
||||||
sha256 = "0qplawvxwai25bi27niw2cgz2al01kcnkj8wxwhxslpi21z6pyx1"; };
|
sha256 = "0qplawvxwai25bi27niw2cgz2al01kcnkj8wxwhxslpi21z6pyx1"; };
|
||||||
|
"4.09" = {
|
||||||
|
version = "4.09+1";
|
||||||
|
sha256 = "1gr33x6xs1rs0bpyq4vzyfxd6vn47jfkg8imi81db2r0cbs0kxx1"; };
|
||||||
|
"4.10" = {
|
||||||
|
version = "4.10+1";
|
||||||
|
sha256 = "093bc1c28wid5li0jwglnd4p3csxw09fmbs9ffybq2z41a5mgay6"; };
|
||||||
|
"4.11" = {
|
||||||
|
version = "4.11+1";
|
||||||
|
sha256 = "0sn7f6im940qh0ixmx1k738xrwwdvy9g7r19bv5218jb6mh0g068"; };
|
||||||
|
"4.12" = {
|
||||||
|
version = "4.12+1";
|
||||||
|
sha256 = "1cfk5ppnd511vzsr9gc0grxbafmh0m3m897aij198rppzxps5kyz"; };
|
||||||
|
"4.13" = {
|
||||||
|
version = "4.13+1";
|
||||||
|
sha256 = "0fzxa1zdhk74mlxpin7p90flks6sp4gkc0mfclmj9zak15rii55n"; };
|
||||||
}.${ocaml.meta.branch};
|
}.${ocaml.meta.branch};
|
||||||
in
|
in
|
||||||
|
|
||||||
|
|
|
@ -8,13 +8,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "open-policy-agent";
|
pname = "open-policy-agent";
|
||||||
version = "0.34.0";
|
version = "0.35.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "open-policy-agent";
|
owner = "open-policy-agent";
|
||||||
repo = "opa";
|
repo = "opa";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-T8eFCFzDU0GTd7n141XKT34lRXoU2LOrl0Rlh1WLsmo=";
|
sha256 = "sha256-IiYEDvTHb25xolE/IfpFgcJArxU6c89P5oNgt1T2VXA=";
|
||||||
};
|
};
|
||||||
vendorSha256 = null;
|
vendorSha256 = null;
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
|
||||||
cp $src $out/share/lib/${pname}-${version}/${pname}-${version}.jar
|
cp $src $out/share/lib/${pname}-${version}/${pname}-${version}.jar
|
||||||
makeWrapper ${jre}/bin/java $out/bin/selenium-server \
|
makeWrapper ${jre}/bin/java $out/bin/selenium-server \
|
||||||
--add-flags "-cp $out/share/lib/${pname}-${version}/${pname}-${version}.jar:${htmlunit-driver}/share/lib/${htmlunit-driver.name}/${htmlunit-driver.name}.jar" \
|
--add-flags "-cp $out/share/lib/${pname}-${version}/${pname}-${version}.jar:${htmlunit-driver}/share/lib/${htmlunit-driver.name}/${htmlunit-driver.name}.jar" \
|
||||||
--add-flags ${optionalString chromeSupport "-Dwebdriver.chrome.driver=${chromedriver}/bin/chromedriver"} \
|
${optionalString chromeSupport "--add-flags -Dwebdriver.chrome.driver=${chromedriver}/bin/chromedriver"} \
|
||||||
--add-flags "org.openqa.grid.selenium.GridLauncherV3"
|
--add-flags "org.openqa.grid.selenium.GridLauncherV3"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs ? import <nixpkgs> {}
|
{ pkgs ? import <nixpkgs> {}
|
||||||
, nodejs ? pkgs.nodejs
|
, nodejs ? pkgs.nodejs
|
||||||
, yarn ? pkgs.yarn
|
, yarn ? pkgs.yarn
|
||||||
|
, allowAliases ? pkgs.config.allowAliases or true
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
@ -9,6 +10,14 @@ let
|
||||||
compose = f: g: x: f (g x);
|
compose = f: g: x: f (g x);
|
||||||
id = x: x;
|
id = x: x;
|
||||||
composeAll = builtins.foldl' compose id;
|
composeAll = builtins.foldl' compose id;
|
||||||
|
|
||||||
|
# https://docs.npmjs.com/files/package.json#license
|
||||||
|
# TODO: support expression syntax (OR, AND, etc)
|
||||||
|
getLicenseFromSpdxId = licstr:
|
||||||
|
if licstr == "UNLICENSED" then
|
||||||
|
lib.licenses.unfree
|
||||||
|
else
|
||||||
|
lib.getLicenseFromSpdxId licstr;
|
||||||
in rec {
|
in rec {
|
||||||
# Export yarn again to make it easier to find out which yarn was used.
|
# Export yarn again to make it easier to find out which yarn was used.
|
||||||
inherit yarn;
|
inherit yarn;
|
||||||
|
@ -30,16 +39,7 @@ in rec {
|
||||||
non-null = builtins.filter (x: x != null) parts;
|
non-null = builtins.filter (x: x != null) parts;
|
||||||
in builtins.concatStringsSep "-" non-null;
|
in builtins.concatStringsSep "-" non-null;
|
||||||
|
|
||||||
# https://docs.npmjs.com/files/package.json#license
|
inherit getLicenseFromSpdxId;
|
||||||
# TODO: support expression syntax (OR, AND, etc)
|
|
||||||
spdxLicense = licstr:
|
|
||||||
if licstr == "UNLICENSED" then
|
|
||||||
lib.licenses.unfree
|
|
||||||
else
|
|
||||||
lib.findFirst
|
|
||||||
(l: l ? spdxId && l.spdxId == licstr)
|
|
||||||
{ shortName = licstr; }
|
|
||||||
(builtins.attrValues lib.licenses);
|
|
||||||
|
|
||||||
# Generates the yarn.nix from the yarn.lock file
|
# Generates the yarn.nix from the yarn.lock file
|
||||||
mkYarnNix = { yarnLock, flags ? [] }:
|
mkYarnNix = { yarnLock, flags ? [] }:
|
||||||
|
@ -369,7 +369,7 @@ in rec {
|
||||||
description = packageJSON.description or "";
|
description = packageJSON.description or "";
|
||||||
homepage = packageJSON.homepage or "";
|
homepage = packageJSON.homepage or "";
|
||||||
version = packageJSON.version or "";
|
version = packageJSON.version or "";
|
||||||
license = if packageJSON ? license then spdxLicense packageJSON.license else "";
|
license = if packageJSON ? license then getLicenseFromSpdxId packageJSON.license else "";
|
||||||
} // (attrs.meta or {});
|
} // (attrs.meta or {});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -437,4 +437,7 @@ in rec {
|
||||||
|
|
||||||
patchShebangs $out
|
patchShebangs $out
|
||||||
'';
|
'';
|
||||||
|
} // lib.optionalAttrs allowAliases {
|
||||||
|
# Aliases
|
||||||
|
spdxLicense = getLicenseFromSpdxId; # added 2021-12-01
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
, glib
|
, glib
|
||||||
, gtk3
|
, gtk3
|
||||||
, harfbuzz
|
, harfbuzz
|
||||||
|
, lib
|
||||||
, libaio
|
, libaio
|
||||||
, libpcap
|
, libpcap
|
||||||
, libpng
|
, libpng
|
||||||
|
@ -17,29 +18,31 @@
|
||||||
, portaudio
|
, portaudio
|
||||||
, SDL2
|
, SDL2
|
||||||
, soundtouch
|
, soundtouch
|
||||||
, lib, stdenv
|
, stdenv
|
||||||
, udev
|
, udev
|
||||||
, wrapGAppsHook
|
, wrapGAppsHook
|
||||||
, wxGTK
|
, wxGTK
|
||||||
, zlib
|
, zlib
|
||||||
|
, wayland
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
pname = "pcsx2";
|
pname = "pcsx2";
|
||||||
version = "unstable-2021-10-28";
|
version = "1.7.2105";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "PCSX2";
|
owner = "PCSX2";
|
||||||
repo = "pcsx2";
|
repo = "pcsx2";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
rev = "52eab493591137d830b45337e04c75ff525a31f9";
|
rev = "v${version}";
|
||||||
sha256 = "RhAo5Fob8G16jzb9MOAS43vwTkFzf5XupymN0dzeGJU=";
|
hash = "sha256-/A8u7oDIVs0Zmne0ebaXxOeIQbM9pr62KEH6FJR2umk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DDISABLE_ADVANCE_SIMD=TRUE"
|
"-DDISABLE_ADVANCE_SIMD=TRUE"
|
||||||
"-DDISABLE_PCSX2_WRAPPER=TRUE"
|
"-DDISABLE_PCSX2_WRAPPER=TRUE"
|
||||||
"-DPACKAGE_MODE=TRUE"
|
"-DPACKAGE_MODE=TRUE"
|
||||||
|
"-DWAYLAND_API=TRUE"
|
||||||
"-DXDG_STD=TRUE"
|
"-DXDG_STD=TRUE"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -62,13 +65,14 @@ stdenv.mkDerivation {
|
||||||
SDL2
|
SDL2
|
||||||
soundtouch
|
soundtouch
|
||||||
udev
|
udev
|
||||||
|
wayland
|
||||||
wxGTK
|
wxGTK
|
||||||
zlib
|
zlib
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Playstation 2 emulator";
|
description = "Playstation 2 emulator";
|
||||||
longDescription= ''
|
longDescription = ''
|
||||||
PCSX2 is an open-source PlayStation 2 (AKA PS2) emulator. Its purpose
|
PCSX2 is an open-source PlayStation 2 (AKA PS2) emulator. Its purpose
|
||||||
is to emulate the PS2 hardware, using a combination of MIPS CPU
|
is to emulate the PS2 hardware, using a combination of MIPS CPU
|
||||||
Interpreters, Recompilers and a Virtual Machine which manages hardware
|
Interpreters, Recompilers and a Virtual Machine which manages hardware
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "iw";
|
pname = "iw";
|
||||||
version = "5.9";
|
version = "5.16";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz";
|
url = "https://www.kernel.org/pub/software/network/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "1wp1ky1v353qqy5fnrk67apgzsap53jkr7pmghk3czpbk880ffi9";
|
sha256 = "sha256-TETkJ2L5A/kJS6WlmJmMgAqXpir9b9MeweCnmeMIZZw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
|
@ -1,28 +1,15 @@
|
||||||
{ lib, stdenv, fetchurl, openssl, fetchpatch }:
|
{ lib, stdenv, fetchurl, openssl, pam, fetchpatch }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "pure-ftpd";
|
pname = "pure-ftpd";
|
||||||
version = "1.0.49";
|
version = "1.0.50";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-${version}.tar.gz";
|
url = "https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-${version}.tar.gz";
|
||||||
sha256 = "19cjr262n6h560fi9nm7l1srwf93k34bp8dp1c6gh90bqxcg8yvn";
|
sha256 = "08zas1kg5pnckl28gs7q29952pjfyj8rj59bq96hscqbni7gkqmb";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
buildInputs = [ openssl pam ];
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2020-9274.patch";
|
|
||||||
url = "https://github.com/jedisct1/pure-ftpd/commit/8d0d42542e2cb7a56d645fbe4d0ef436e38bcefa.patch";
|
|
||||||
sha256 = "1yd84p6bd4rf21hg3kqpi2a02cac6dz5ag4xx3c2dl5vbzhr5a8k";
|
|
||||||
})
|
|
||||||
(fetchpatch {
|
|
||||||
name = "CVE-2020-9365.patch";
|
|
||||||
url = "https://github.com/jedisct1/pure-ftpd/commit/bf6fcd4935e95128cf22af5924cdc8fe5c0579da.patch";
|
|
||||||
sha256 = "003klx7j82qf92qr1dxg32v5r2bhhywplynd3xil1lbcd3s3mqhi";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [ openssl ];
|
|
||||||
|
|
||||||
configureFlags = [ "--with-tls" ];
|
configureFlags = [ "--with-tls" ];
|
||||||
|
|
||||||
|
@ -31,6 +18,6 @@ stdenv.mkDerivation rec {
|
||||||
homepage = "https://www.pureftpd.org";
|
homepage = "https://www.pureftpd.org";
|
||||||
license = licenses.isc; # with some parts covered by BSD3(?)
|
license = licenses.isc; # with some parts covered by BSD3(?)
|
||||||
maintainers = [ ];
|
maintainers = [ ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, buildGoModule, fetchFromGitHub, coreutils, installShellFiles, scdoc }:
|
{ lib, buildGoModule, fetchFromGitHub, coreutils, installShellFiles, scdoc, nixosTests }:
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "maddy";
|
pname = "maddy";
|
||||||
|
@ -37,6 +37,8 @@ buildGoModule rec {
|
||||||
--replace "/bin/kill" "${coreutils}/bin/kill"
|
--replace "/bin/kill" "${coreutils}/bin/kill"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.tests.nixos = nixosTests.maddy;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Composable all-in-one mail server";
|
description = "Composable all-in-one mail server";
|
||||||
homepage = "https://maddy.email";
|
homepage = "https://maddy.email";
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "dovecot";
|
pname = "dovecot";
|
||||||
version = "2.3.17";
|
version = "2.3.17.1";
|
||||||
|
|
||||||
nativeBuildInputs = [ perl pkg-config ];
|
nativeBuildInputs = [ perl pkg-config ];
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dovecot.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.gz";
|
url = "https://dovecot.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "1y9dpn4jgzrfjibp5zrc11bdk0q843d998kxhpxkyfm2fz6i4i12";
|
sha256 = "1f525bvpjvi4rnwqjsqaqrbdii08sqmc1v8xq03m19w1vk6cqrqw";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
|
@ -3,11 +3,11 @@ let
|
||||||
dovecotMajorMinor = lib.versions.majorMinor dovecot.version;
|
dovecotMajorMinor = lib.versions.majorMinor dovecot.version;
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "dovecot-pigeonhole";
|
pname = "dovecot-pigeonhole";
|
||||||
version = "0.5.17";
|
version = "0.5.17.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://pigeonhole.dovecot.org/releases/${dovecotMajorMinor}/dovecot-${dovecotMajorMinor}-pigeonhole-${version}.tar.gz";
|
url = "https://pigeonhole.dovecot.org/releases/${dovecotMajorMinor}/dovecot-${dovecotMajorMinor}-pigeonhole-${version}.tar.gz";
|
||||||
sha256 = "0j6ng173hh5iiqxdkxfb5v9djpn39gxdrv5ki7i22cf5cqwq47h3";
|
sha256 = "04j5z3y8yyci4ni9j9i7cy0zg1qj2sm9zfarmjcvs9vydpga7i1w";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ dovecot openssl ];
|
buildInputs = [ dovecot openssl ];
|
||||||
|
|
|
@ -15,16 +15,16 @@ let
|
||||||
in
|
in
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "minio";
|
pname = "minio";
|
||||||
version = "2021-10-27T16-29-42Z";
|
version = "2021-11-24T23-19-33Z";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "minio";
|
owner = "minio";
|
||||||
repo = "minio";
|
repo = "minio";
|
||||||
rev = "RELEASE.${version}";
|
rev = "RELEASE.${version}";
|
||||||
sha256 = "sha256-U/1NuWyNX0OUrtysV3ShvbyxiSiYzMFNK3lmAVs6D3Y=";
|
sha256 = "sha256-cYoeCjkCLnlp5BVp3BOj7okA1yX+rDp0Rbwcn+ji+Ak=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-GLooogUglKxEk7X9UI4VZvj+mJ9LXLZEjFsxCpzm61I=";
|
vendorSha256 = "sha256-DdsLQ87tvh8gbiLh6uLCXiGmnkcE+LcLwvdgDJxXbc8=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
buildGo117Module rec {
|
buildGo117Module rec {
|
||||||
pname = "grafana";
|
pname = "grafana";
|
||||||
version = "8.3.0";
|
version = "8.3.1";
|
||||||
|
|
||||||
excludedPackages = "\\(alert_webhook_listener\\|clean-swagger\\|release_publisher\\|slow_proxy\\|slow_proxy_mac\\|macaron\\)";
|
excludedPackages = "\\(alert_webhook_listener\\|clean-swagger\\|release_publisher\\|slow_proxy\\|slow_proxy_mac\\|macaron\\)";
|
||||||
|
|
||||||
|
@ -10,12 +10,12 @@ buildGo117Module rec {
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
owner = "grafana";
|
owner = "grafana";
|
||||||
repo = "grafana";
|
repo = "grafana";
|
||||||
sha256 = "sha256-I+jfWHkTm11qIm6CdDFOFHs/qR9pswbjAdfejkxZnrQ=";
|
sha256 = "sha256-KnTk14//uC8T6gqU6IvSQ28fL/h0THVAA6smTspZiVs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
srcStatic = fetchurl {
|
srcStatic = fetchurl {
|
||||||
url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
|
url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
|
||||||
sha256 = "sha256-o8uw9VRuK93IbZgcZmFmZ2zbgKdryGbeaPAlQr8wJXw=";
|
sha256 = "sha256-CX2F6yymmCvs6o7MtyhVrBGr9D6JSvakbWS7x3kiM5s=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-aS9yz0JODZtichaIkiBJLiMjbjGY93eSYwuactbRqOY=";
|
vendorSha256 = "sha256-aS9yz0JODZtichaIkiBJLiMjbjGY93eSYwuactbRqOY=";
|
||||||
|
|
|
@ -12,16 +12,16 @@
|
||||||
# server, and the FHS userenv and corresponding NixOS module should
|
# server, and the FHS userenv and corresponding NixOS module should
|
||||||
# automatically pick up the changes.
|
# automatically pick up the changes.
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.24.5.5173-8dcc73a59";
|
version = "1.25.0.5282-2edd3c44d";
|
||||||
pname = "plexmediaserver";
|
pname = "plexmediaserver";
|
||||||
|
|
||||||
# Fetch the source
|
# Fetch the source
|
||||||
src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
|
src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
|
||||||
url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
|
url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
|
||||||
sha256 = "0yjnqvy2maym7dmfabj0zjd1gwjnnjwqxzk7j24a1vhwyy0dmjcf";
|
sha256 = "0yjy6gdgrimd82qk7n36rqa9lc8giff4p96zzxpb0lblq5b3dxzb";
|
||||||
} else fetchurl {
|
} else fetchurl {
|
||||||
url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
|
url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
|
||||||
sha256 = "1k2plcqlklch2k8akj8m411i3cm0jvzj02f5x43yhjgjpmwww95z";
|
sha256 = "1jlq76h3wiaf1d91x0l6cxv44k7l47xdy86qkqvxvwnsv1kc0r86";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "basedb" ];
|
outputs = [ "out" "basedb" ];
|
||||||
|
|
33
pkgs/servers/soft-serve/default.nix
Normal file
33
pkgs/servers/soft-serve/default.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{ lib, buildGoModule, fetchFromGitHub, makeWrapper, git }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "soft-serve";
|
||||||
|
version = "0.1.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "charmbracelet";
|
||||||
|
repo = "soft-serve";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0z88699q34a9cbhcz12y2qs2qrspfd8yx4ay0r8jzvkgax9ylrlk";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "1g2iznfh08l23i81x7g2bhc7l8cppshzlyynxik4jshswlpv80sr";
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/soft \
|
||||||
|
--prefix PATH : "${lib.makeBinPath [ git ]}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "A tasty, self-hosted Git server for the command line";
|
||||||
|
homepage = "https://github.com/charmbracelet/soft-serve";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ penguwin ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
maintainers = with maintainers; [ ];
|
maintainers = with maintainers; [ ];
|
||||||
|
knownVulnerabilities = [ "CVE-2021-44513" "CVE-2021-44512" ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "fits-cloudctl";
|
pname = "fits-cloudctl";
|
||||||
version = "0.10.3";
|
version = "0.10.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "fi-ts";
|
owner = "fi-ts";
|
||||||
repo = "cloudctl";
|
repo = "cloudctl";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-FbKULHBzx4HcOFhIRdy7DiewOQzBdac3B+N34M/Kbzk=";
|
sha256 = "sha256-D5LICE7CAwCqvaHIYfRWC8Te4W0tGhKAETmus2qa0UM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-ImKN3rNotgUkQaKzoetAEG6Q/zlfH8FTK4HTIO0xn4s=";
|
vendorSha256 = "sha256-ImKN3rNotgUkQaKzoetAEG6Q/zlfH8FTK4HTIO0xn4s=";
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "kopia";
|
pname = "kopia";
|
||||||
version = "0.9.6";
|
version = "0.9.7";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = pname;
|
owner = pname;
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-lfzlYpkAGGY7fs9PYPSg2XYgW92WV1/zh2oRz4Qw7vs=";
|
sha256 = "sha256-nHMsh+2Wpca2SJSy1XRMWwHHcdjpnb1u9JS6wM4E65Y=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-xa6B3gGgJc7E8VCfpRXlE8Jw3ylNnfynK+QEiqy2yF4=";
|
vendorSha256 = "sha256-SJKsTZMppu6eit4ssMSwJOkeaheEYUwWRDPyPjirNHM=";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
|
|
@ -5,16 +5,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "lfs";
|
pname = "lfs";
|
||||||
version = "1.2.1";
|
version = "1.3.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Canop";
|
owner = "Canop";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-Cf9W0LnlvMm0XZe6lvx8hQejcwyfxBC6VKltAAfRD5I=";
|
sha256 = "sha256-nRJ73j3l3xaFImhrHEGmfqESEEjVKhIwdNZNc/RqOcU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-skP9VJuRMCyA06YjGbyNIt/DljP3fQQOIQDy6k10zGI=";
|
cargoSha256 = "sha256-iAz2s92hWkLCXoQ09mKCyI0yHvH55WaTSl+a5gz44bU=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Get information on your mounted disks";
|
description = "Get information on your mounted disks";
|
||||||
|
|
|
@ -27,5 +27,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
homepage = "https://github.com/ellie/atuin";
|
homepage = "https://github.com/ellie/atuin";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ maintainers.onsails ];
|
maintainers = [ maintainers.onsails ];
|
||||||
|
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "bash_unit";
|
pname = "bash_unit";
|
||||||
version = "1.7.2";
|
version = "1.8.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pgrange";
|
owner = "pgrange";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-+hEgag5H7PaBwZSBp3D17q3TZRO2SVBe5M1Ep/jeg1w=";
|
sha256 = "sha256-QWZnzliiqUfg6kXq1VGTNczupxNCgz1gFURrB/K2b4A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -8,7 +8,10 @@ stdenv.mkDerivation rec {
|
||||||
owner = "AlDanial";
|
owner = "AlDanial";
|
||||||
repo = "cloc";
|
repo = "cloc";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-tFARxNGXzWw+EN2qwBOhJEj7zwYfC9tVP0sAHqeGwcM=";
|
sha256 = if stdenv.isDarwin then
|
||||||
|
"1hy1hskiw02b7xaxn2qz0v7znj14l49w1anx20z6rkcps7212l5l"
|
||||||
|
else
|
||||||
|
"sha256-tFARxNGXzWw+EN2qwBOhJEj7zwYfC9tVP0sAHqeGwcM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
setSourceRoot = ''
|
setSourceRoot = ''
|
||||||
|
@ -16,7 +19,12 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
buildInputs = (with perlPackages; [ perl AlgorithmDiff ParallelForkManager RegexpCommon ]);
|
buildInputs = with perlPackages; [
|
||||||
|
perl
|
||||||
|
AlgorithmDiff
|
||||||
|
ParallelForkManager
|
||||||
|
RegexpCommon
|
||||||
|
];
|
||||||
|
|
||||||
makeFlags = [ "prefix=" "DESTDIR=$(out)" "INSTALL=install" ];
|
makeFlags = [ "prefix=" "DESTDIR=$(out)" "INSTALL=install" ];
|
||||||
|
|
||||||
|
|
23
pkgs/tools/misc/datefmt/default.nix
Normal file
23
pkgs/tools/misc/datefmt/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{ lib, stdenv, fetchurl, datefmt, testVersion }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "datefmt";
|
||||||
|
version = "0.2.1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://cdn.jb55.com/tarballs/datefmt/datefmt-${version}.tar.gz";
|
||||||
|
sha256 = "5d5e765380afe39eb39d48f752aed748b57dfd843a4947b2a6d18ab9b5e68092";
|
||||||
|
};
|
||||||
|
|
||||||
|
makeFlags = [ "PREFIX=$(out)" ];
|
||||||
|
|
||||||
|
passthru.tests.version = testVersion { package = datefmt; };
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://jb55.com/datefmt";
|
||||||
|
description = "A tool that formats timestamps in text streams";
|
||||||
|
platforms = platforms.all;
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ jb55 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,16 +3,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "macchina";
|
pname = "macchina";
|
||||||
version = "5.0.2";
|
version = "5.0.5";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "Macchina-CLI";
|
owner = "Macchina-CLI";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-9T1baNmgzB3RBlFaaIQ47Yc9gJAgtS42NNEY1Tk/hBs=";
|
sha256 = "sha256-si+5LvRUIWp48vsD1WxGWl2O/2bpaBX+ArkZPbBqtME=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-A5C/B9R58p/DR6cONIRTSkmtXEOobtYHGBHxjdwagRA=";
|
cargoSha256 = "sha256-CN7PxPUkfyDGxVaf879Sp6w0UbqwL/is15xcfH2fm1w=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
|
buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "mcfly";
|
pname = "mcfly";
|
||||||
version = "0.5.9";
|
version = "0.5.10";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "cantino";
|
owner = "cantino";
|
||||||
repo = "mcfly";
|
repo = "mcfly";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0i3qjgq1b8h3bzc7rxa60kq1yc2im9m6dgzrvial086a1zk8s81r";
|
sha256 = "sha256-auIerSfEKBK47mIhfmjREJohnhCmtzruobRXaoz5fqA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
|
||||||
substituteInPlace mcfly.fish --replace '(which mcfly)' '${placeholder "out"}/bin/mcfly'
|
substituteInPlace mcfly.fish --replace '(which mcfly)' '${placeholder "out"}/bin/mcfly'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
cargoSha256 = "084v4fsdi25ahz068ssq29z7d5d3k3jh3s8b07irwybdsy18c629";
|
cargoSha256 = "sha256-f9kpD295syRCntwvyjZ9AeAUV61RMbfRRMgNxKAJL8g=";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/cantino/mcfly";
|
homepage = "https://github.com/cantino/mcfly";
|
||||||
|
|
|
@ -16,11 +16,11 @@ let
|
||||||
in
|
in
|
||||||
tcl.mkTclDerivation rec {
|
tcl.mkTclDerivation rec {
|
||||||
pname = "remind";
|
pname = "remind";
|
||||||
version = "03.03.09";
|
version = "03.03.10";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://dianne.skoll.ca/projects/remind/download/remind-${version}.tar.gz";
|
url = "https://dianne.skoll.ca/projects/remind/download/remind-${version}.tar.gz";
|
||||||
sha256 = "sha256-yQh6jGkRNkQvPoguRmd6025pCEsvO7w8W3YNO2vztvM=";
|
sha256 = "sha256-BqFt3f4+hfz4njzOI1mkrUJhR7zOqzT/TNWS+sk2XEc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = tclLibraries;
|
propagatedBuildInputs = tclLibraries;
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "minio-client";
|
pname = "minio-client";
|
||||||
version = "2021-10-07T04-19-58Z";
|
version = "2021-11-16T20-37-36Z";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "minio";
|
owner = "minio";
|
||||||
repo = "mc";
|
repo = "mc";
|
||||||
rev = "RELEASE.${version}";
|
rev = "RELEASE.${version}";
|
||||||
sha256 = "sha256-FF4blsNzr2M/ZZ2epTBhFkoj6s9Iw5GGXY65mKftojk=";
|
sha256 = "sha256-nNsvHVsVyJNm5ZUU58cymeJCO7uhvVKGpgxaQWCEYvI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-GFxB5Gxnc6m91EjF2z108J1WmggCQrUhxwEA+Sih+94=";
|
vendorSha256 = "sha256-DBRqWgqBv2x/KRATrQ2olDhhWwlSgzckWkRIqmW5+js=";
|
||||||
|
|
||||||
subPackages = [ "." ];
|
subPackages = [ "." ];
|
||||||
|
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "tendermint";
|
pname = "tendermint";
|
||||||
version = "0.34.14";
|
version = "0.35.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tendermint";
|
owner = "tendermint";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-/FYkwHamJTty/h80KaNAmyNg0wCqiOAA3o2whouAOZc=";
|
sha256 = "sha256-fSDmwZNKAHXcMtNZlqJmUFkuFdZLkDbnn+ZrNtnszgU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-9wjiL8/fhWLuGglFkS8OH026zwbrmuadB3goBqFqnvc=";
|
vendorSha256 = "sha256-DktuZ0NUyg8LbYklxde2ZZJ8/WOyBq50E9yEHtS+Hqw=";
|
||||||
|
|
||||||
subPackages = [ "cmd/tendermint" ];
|
subPackages = [ "cmd/tendermint" ];
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, rustPlatform, fetchFromGitHub, withJson ? true }:
|
{ lib, rustPlatform, fetchFromGitHub, withJson ? true, stdenv }:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "statix";
|
pname = "statix";
|
||||||
|
@ -17,6 +17,9 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
buildFeatures = lib.optional withJson "json";
|
buildFeatures = lib.optional withJson "json";
|
||||||
|
|
||||||
|
# tests are failing on darwin
|
||||||
|
doCheck = !stdenv.isDarwin;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Lints and suggestions for the nix programming language";
|
description = "Lints and suggestions for the nix programming language";
|
||||||
homepage = "https://github.com/nerdypepper/statix";
|
homepage = "https://github.com/nerdypepper/statix";
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "exploitdb";
|
pname = "exploitdb";
|
||||||
version = "2021-12-04";
|
version = "2021-12-07";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "offensive-security";
|
owner = "offensive-security";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-3MP6lmh/eQ1cIxiCw0Y2TtCXXQTUij5Q8FDFVWOG/IM=";
|
sha256 = "sha256-6rc3c4i1X6b6CgsJPUx/pMT6sE6jc/Sy8Ffw5mVVgEU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
|
@ -7,13 +7,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libtpms";
|
pname = "libtpms";
|
||||||
version = "0.9.0";
|
version = "0.9.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "stefanberger";
|
owner = "stefanberger";
|
||||||
repo = "libtpms";
|
repo = "libtpms";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-9u5Yq9PXMADvyWZo5aFa0GNzqVsbyN25o/cYQdbrUO0=";
|
sha256 = "sha256-30P/YggrPEVpsh2qo751aW6RtrpIVe1XQWyYZm8P4yA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -12,16 +12,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "step-ca";
|
pname = "step-ca";
|
||||||
version = "0.17.6";
|
version = "0.18.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "smallstep";
|
owner = "smallstep";
|
||||||
repo = "certificates";
|
repo = "certificates";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-hZdsxSEfb+DwnVOnnp9cT6diQWkFVPSa/T8YDsGlg3k=";
|
sha256 = "sha256-f9sp5sAWysOOoIdCiCJxTWRhyt0wfpO5p4pxW6jj0xc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-OcnqMEotc18rX6BYs3oj8+83MRf7iJJNwjjXUQ5xfp4=";
|
vendorSha256 = "sha256-iDfPCRU91cuZsKqNOjkLGYmWf8i5FO4NmDsfD5Xqip0=";
|
||||||
|
|
||||||
ldflags = [ "-buildid=" ];
|
ldflags = [ "-buildid=" ];
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue