Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2022-03-25 00:11:06 +00:00 committed by GitHub
commit 79b7796557
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
213 changed files with 1653 additions and 923 deletions

View File

@ -72,6 +72,10 @@ Used with Mercurial. Expects `url`, `rev`, and `sha256`.
A number of fetcher functions wrap part of `fetchurl` and `fetchzip`. They are mainly convenience functions intended for commonly used destinations of source code in Nixpkgs. These wrapper fetchers are listed below.
## `fetchFromGitea` {#fetchfromgitea}
`fetchFromGitea` expects five arguments. `domain` is the gitea server name. `owner` is a string corresponding to the Gitea user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every Gitea HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `sha256` is currently preferred.
## `fetchFromGitHub` {#fetchfromgithub}
`fetchFromGitHub` expects four arguments. `owner` is a string corresponding to the GitHub user or organization that controls this repository. `repo` corresponds to the name of the software repository. These are located at the top of every GitHub HTML page as `owner`/`repo`. `rev` corresponds to the Git commit hash or tag (e.g `v1.0`) that will be downloaded from Git. Finally, `sha256` corresponds to the hash of the extracted directory. Again, other hash algorithms are also available but `sha256` is currently preferred.

View File

@ -6,7 +6,7 @@ Since release 15.09 there is a new TeX Live packaging that lives entirely under
- For basic usage just pull `texlive.combined.scheme-basic` for an environment with basic LaTeX support.
- It typically won't work to use separately installed packages together. Instead, you can build a custom set of packages like this:
- It typically won't work to use separately installed packages together. Instead, you can build a custom set of packages like this. Most CTAN packages should be available:
```nix
texlive.combine {

View File

@ -68,7 +68,8 @@ let
bitNot boolToString mergeAttrs flip mapNullable inNixShell isFloat min max
importJSON importTOML warn warnIf throwIfNot checkListOfEnum
info showWarnings nixpkgsVersion version isInOldestRelease
mod compare splitByAndCompare functionArgs setFunctionArgs isFunction
mod compare splitByAndCompare
functionArgs setFunctionArgs isFunction toFunction
toHexString toBaseDigits;
inherit (self.fixedPoints) fix fix' converge extends composeExtensions
composeManyExtensions makeExtensible makeExtensibleWithCustomName;
@ -113,7 +114,7 @@ let
commitIdFromGitRepo cleanSourceWith pathHasContext
canCleanSource pathIsRegularFile pathIsGitRepo;
inherit (self.modules) evalModules setDefaultModuleLocation
unifyModuleSyntax applyIfFunction mergeModules
unifyModuleSyntax applyModuleArgsIfFunction mergeModules
mergeModules' mergeOptionDecls evalOptionValue mergeDefinitions
pushDownProperties dischargeProperties filterOverrides
sortProperties fixupOptionType mkIf mkAssert mkMerge mkOverride

View File

@ -282,11 +282,11 @@ rec {
# Like unifyModuleSyntax, but also imports paths and calls functions if necessary
loadModule = args: fallbackFile: fallbackKey: m:
if isFunction m || isAttrs m then
unifyModuleSyntax fallbackFile fallbackKey (applyIfFunction fallbackKey m args)
unifyModuleSyntax fallbackFile fallbackKey (applyModuleArgsIfFunction fallbackKey m args)
else if isList m then
let defs = [{ file = fallbackFile; value = m; }]; in
throw "Module imports can't be nested lists. Perhaps you meant to remove one level of lists? Definitions: ${showDefs defs}"
else unifyModuleSyntax (toString m) (toString m) (applyIfFunction (toString m) (import m) args);
else unifyModuleSyntax (toString m) (toString m) (applyModuleArgsIfFunction (toString m) (import m) args);
/*
Collects all modules recursively into the form
@ -383,7 +383,7 @@ rec {
config = addFreeformType (addMeta (removeAttrs m ["_file" "key" "disabledModules" "require" "imports" "freeformType"]));
};
applyIfFunction = key: f: args@{ config, options, lib, ... }: if isFunction f then
applyModuleArgsIfFunction = key: f: args@{ config, options, lib, ... }: if isFunction f then
let
# Module arguments are resolved in a strict manner when attribute set
# deconstruction is used. As the arguments are now defined with the

View File

@ -441,6 +441,25 @@ rec {
isFunction = f: builtins.isFunction f ||
(f ? __functor && isFunction (f.__functor f));
/*
Turns any non-callable values into constant functions.
Returns callable values as is.
Example:
nix-repl> lib.toFunction 1 2
1
nix-repl> lib.toFunction (x: x + 1) 2
3
*/
toFunction =
# Any value
v:
if isFunction v
then v
else k: v;
/* Convert the given positive integer to a string of its hexadecimal
representation. For example:

View File

@ -475,6 +475,15 @@
its reliance on python2.
</para>
</listitem>
<listitem>
<para>
<literal>services.ipfs.extraFlags</literal> is now escaped
with <literal>utils.escapeSystemdExecArgs</literal>. If you
rely on systemd interpolating <literal>extraFlags</literal> in
the service <literal>ExecStart</literal>, this will no longer
work.
</para>
</listitem>
<listitem>
<para>
The <literal>matrix-synapse</literal> service

View File

@ -159,6 +159,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- The `mailpile` email webclient (`services.mailpile`) has been removed due to its reliance on python2.
- `services.ipfs.extraFlags` is now escaped with `utils.escapeSystemdExecArgs`. If you rely on systemd interpolating `extraFlags` in the service `ExecStart`, this will no longer work.
- The `matrix-synapse` service (`services.matrix-synapse`) has been converted to use the `settings` option defined in RFC42.
This means that options that are part of your `homeserver.yaml` configuration, and that were specified at the top-level of the
module (`services.matrix-synapse`) now need to be moved into `services.matrix-synapse.settings`. And while not all options you

View File

@ -146,26 +146,28 @@ rec {
# Make a full-blown test
makeTest =
{ testScript
{ machine ? null
, nodes ? {}
, testScript
, enableOCR ? false
, name ? "unnamed"
# Skip linting (mainly intended for faster dev cycles)
, skipLint ? false
, passthru ? {}
, meta ? {}
, # For meta.position
pos ? # position used in error messages and for meta.position
(if t.meta.description or null != null
then builtins.unsafeGetAttrPos "description" t.meta
(if meta.description or null != null
then builtins.unsafeGetAttrPos "description" meta
else builtins.unsafeGetAttrPos "testScript" t)
, ...
} @ t:
let
nodes = qemu_pkg:
mkNodes = qemu_pkg:
let
testScript' =
# Call the test script with the computed nodes.
if lib.isFunction testScript
then testScript { nodes = nodes qemu_pkg; }
then testScript { nodes = mkNodes qemu_pkg; }
else testScript;
build-vms = import ./build-vms.nix {
@ -205,33 +207,29 @@ rec {
};
in
build-vms.buildVirtualNetwork (
t.nodes or (if t ? machine then { machine = t.machine; } else { })
nodes // lib.optionalAttrs (machine != null) { inherit machine; }
);
driver = setupDriverForTest {
inherit testScript enableOCR skipLint passthru;
testName = name;
qemu_pkg = pkgs.qemu_test;
nodes = nodes pkgs.qemu_test;
nodes = mkNodes pkgs.qemu_test;
};
driverInteractive = setupDriverForTest {
inherit testScript enableOCR skipLint passthru;
testName = name;
qemu_pkg = pkgs.qemu;
nodes = nodes pkgs.qemu;
nodes = mkNodes pkgs.qemu;
interactive = true;
};
test =
let
passMeta = drv: drv // lib.optionalAttrs (t ? meta) {
meta = (drv.meta or { }) // t.meta;
};
in passMeta (runTests { inherit driver pos driverInteractive; });
test = lib.addMetaAttrs meta (runTests { inherit driver pos driverInteractive; });
in
test // {
inherit test driver driverInteractive nodes;
inherit test driver driverInteractive;
inherit (driver) nodes;
};
abortForFunction = functionName: abort ''The ${functionName} function was

View File

@ -117,7 +117,7 @@ in
'';
};
config = lib.mkIf (!config.system.disableInstallerTools) {
config = lib.mkIf (config.nix.enable && !config.system.disableInstallerTools) {
system.nixos-generate-config.configuration = mkDefault ''
# Edit this configuration file to define what should be installed on

View File

@ -777,6 +777,7 @@
./services/networking/headscale.nix
./services/networking/hostapd.nix
./services/networking/htpdate.nix
./services/networking/https-dns-proxy.nix
./services/networking/hylafax/default.nix
./services/networking/i2pd.nix
./services/networking/i2p.nix

View File

@ -132,7 +132,7 @@ in
description = "Graylog server daemon user";
};
};
users.groups = mkIf (cfg.user == "graylog") {};
users.groups = mkIf (cfg.user == "graylog") { graylog = {}; };
systemd.tmpfiles.rules = [
"d '${cfg.messageJournalDir}' - ${cfg.user} - - -"

View File

@ -81,8 +81,14 @@ in
###### implementation
config = {
assertions = [
{
assertion = cfg.automatic -> config.nix.enable;
message = ''nix.gc.automatic requires nix.enable'';
}
];
systemd.services.nix-gc = {
systemd.services.nix-gc = lib.mkIf config.nix.enable {
description = "Nix Garbage Collector";
script = "exec ${config.nix.package.out}/bin/nix-collect-garbage ${cfg.options}";
startAt = optional cfg.automatic cfg.dates;

View File

@ -37,8 +37,14 @@ in
###### implementation
config = {
assertions = [
{
assertion = cfg.automatic -> config.nix.enable;
message = ''nix.optimise.automatic requires nix.enable'';
}
];
systemd.services.nix-optimise =
systemd.services.nix-optimise = lib.mkIf config.nix.enable
{ description = "Nix Store Optimiser";
# No point this if the nix daemon (and thus the nix store) is outside
unitConfig.ConditionPathIsReadWrite = "/nix/var/nix/daemon-socket";

View File

@ -1,16 +1,17 @@
{ config, lib, pkgs, options, ... }:
{ config, lib, pkgs, options, utils, ... }:
with lib;
let
cfg = config.services.ipfs;
opt = options.services.ipfs;
ipfsFlags = toString ([
(optionalString cfg.autoMount "--mount")
(optionalString cfg.enableGC "--enable-gc")
(optionalString (cfg.serviceFdlimit != null) "--manage-fdlimit=false")
(optionalString (cfg.defaultMode == "offline") "--offline")
(optionalString (cfg.defaultMode == "norouting") "--routing=none")
] ++ cfg.extraFlags);
ipfsFlags = utils.escapeSystemdExecArgs (
optional cfg.autoMount "--mount" ++
optional cfg.enableGC "--enable-gc" ++
optional (cfg.serviceFdlimit != null) "--manage-fdlimit=false" ++
optional (cfg.defaultMode == "offline") "--offline" ++
optional (cfg.defaultMode == "norouting") "--routing=none" ++
cfg.extraFlags
);
profile =
if cfg.localDiscovery

View File

@ -0,0 +1,128 @@
{ config, lib, pkgs, ... }:
let
inherit (lib)
concatStringsSep
mkEnableOption mkIf mkOption types;
cfg = config.services.https-dns-proxy;
providers = {
cloudflare = {
ips = [ "1.1.1.1" "1.0.0.1" ];
url = "https://cloudflare-dns.com/dns-query";
};
google = {
ips = [ "8.8.8.8" "8.8.4.4" ];
url = "https://dns.google/dns-query";
};
quad9 = {
ips = [ "9.9.9.9" "149.112.112.112" ];
url = "https://dns.quad9.net/dns-query";
};
};
defaultProvider = "quad9";
providerCfg =
let
isCustom = cfg.provider.kind == "custom";
in
lib.concatStringsSep " " [
"-b"
(concatStringsSep "," (if isCustom then cfg.provider.ips else providers."${cfg.provider.kind}".ips))
"-r"
(if isCustom then cfg.provider.url else providers."${cfg.provider.kind}".url)
];
in
{
meta.maintainers = with lib.maintainers; [ peterhoeg ];
###### interface
options.services.https-dns-proxy = {
enable = mkEnableOption "https-dns-proxy daemon";
address = mkOption {
description = "The address on which to listen";
type = types.str;
default = "127.0.0.1";
};
port = mkOption {
description = "The port on which to listen";
type = types.port;
default = 5053;
};
provider = {
kind = mkOption {
description = ''
The upstream provider to use or custom in case you do not trust any of
the predefined providers or just want to use your own.
The default is ${defaultProvider} and there are privacy and security trade-offs
when using any upstream provider. Please consider that before using any
of them.
If you pick a custom provider, you will need to provide the bootstrap
IP addresses as well as the resolver https URL.
'';
type = types.enum ((builtins.attrNames providers) ++ [ "custom" ]);
default = defaultProvider;
};
ips = mkOption {
description = "The custom provider IPs";
type = types.listOf types.str;
};
url = mkOption {
description = "The custom provider URL";
type = types.str;
};
};
preferIPv4 = mkOption {
description = ''
https_dns_proxy will by default use IPv6 and fail if it is not available.
To play it safe, we choose IPv4.
'';
type = types.bool;
default = true;
};
extraArgs = mkOption {
description = "Additional arguments to pass to the process.";
type = types.listOf types.str;
default = [ "-v" ];
};
};
###### implementation
config = lib.mkIf cfg.enable {
systemd.services.https-dns-proxy = {
description = "DNS to DNS over HTTPS (DoH) proxy";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = rec {
Type = "exec";
DynamicUser = true;
ExecStart = lib.concatStringsSep " " (
[
"${pkgs.https-dns-proxy}/bin/https_dns_proxy"
"-a ${toString cfg.address}"
"-p ${toString cfg.port}"
"-l -"
providerCfg
]
++ lib.optional cfg.preferIPv4 "-4"
++ cfg.extraArgs
);
Restart = "on-failure";
};
};
};
}

View File

@ -5,8 +5,8 @@ let
inherit (lib)
mkDefault mkEnableOption mkIf mkOption types
mkRemovedOptionModule
concatStringsSep optional;
mkRemovedOptionModule literalExpression
escapeShellArg concatStringsSep optional optionalString;
in
{
@ -17,10 +17,26 @@ in
type = types.ints.between 1 100;
default = 10;
description = ''
Minimum of availabe memory (in percent).
If the free memory falls below this threshold and the analog is true for
<option>services.earlyoom.freeSwapThreshold</option>
the killing begins.
Minimum available memory (in percent).
If the available memory falls below this threshold (and the analog is true for
<option>freeSwapThreshold</option>) the killing begins.
SIGTERM is sent first to the process that uses the most memory; then, if the available
memory falls below <option>freeMemKillThreshold</option> (and the analog is true for
<option>freeSwapKillThreshold</option>), SIGKILL is sent.
See <link xlink:href="https://github.com/rfjakob/earlyoom#command-line-options">README</link> for details.
'';
};
freeMemKillThreshold = mkOption {
type = types.nullOr (types.ints.between 1 100);
default = null;
description = ''
Minimum available memory (in percent) before sending SIGKILL.
If unset, this defaults to half of <option>freeMemThreshold</option>.
See the description of <xref linkend="opt-services.earlyoom.freeMemThreshold"/>.
'';
};
@ -28,19 +44,20 @@ in
type = types.ints.between 1 100;
default = 10;
description = ''
Minimum of availabe swap space (in percent).
If the available swap space falls below this threshold and the analog
is true for <option>services.earlyoom.freeMemThreshold</option>
the killing begins.
Minimum free swap space (in percent) before sending SIGTERM.
See the description of <xref linkend="opt-services.earlyoom.freeMemThreshold"/>.
'';
};
# TODO: remove or warn after 1.7 (https://github.com/rfjakob/earlyoom/commit/7ebc4554)
ignoreOOMScoreAdjust = mkOption {
type = types.bool;
default = false;
freeSwapKillThreshold = mkOption {
type = types.nullOr (types.ints.between 1 100);
default = null;
description = ''
Ignore oom_score_adjust values of processes.
Minimum free swap space (in percent) before sending SIGKILL.
If unset, this defaults to half of <option>freeSwapThreshold</option>.
See the description of <xref linkend="opt-services.earlyoom.freeMemThreshold"/>.
'';
};
@ -63,12 +80,43 @@ in
local user to DoS your session by spamming notifications.
To actually see the notifications in your GUI session, you need to have
<literal>systembus-notify</literal> running as your user which this
option handles.
<literal>systembus-notify</literal> running as your user, which this
option handles by enabling <option>services.systembus-notify</option>.
See <link xlink:href="https://github.com/rfjakob/earlyoom#notifications">README</link> for details.
'';
};
killHook = mkOption {
type = types.nullOr types.path;
default = null;
example = literalExpression ''
pkgs.writeShellScript "earlyoom-kill-hook" '''
echo "Process $EARLYOOM_NAME ($EARLYOOM_PID) was killed" >> /path/to/log
'''
'';
description = ''
An absolute path to an executable to be run for each process killed.
Some environment variables are available, see
<link xlink:href="https://github.com/rfjakob/earlyoom#notifications">README</link> and
<link xlink:href="https://github.com/rfjakob/earlyoom/blob/master/MANPAGE.md#-n-pathtoscript">the man page</link>
for details.
'';
};
reportInterval = mkOption {
type = types.int;
default = 3600;
example = 0;
description = "Interval (in seconds) at which a memory report is printed (set to 0 to disable).";
};
extraArgs = mkOption {
type = types.listOf types.str;
default = [];
example = [ "-g" "--prefer '(^|/)(java|chromium)$'" ];
description = "Extra command-line arguments to be passed to earlyoom.";
};
};
imports = [
@ -76,7 +124,11 @@ in
This option is deprecated and ignored by earlyoom since 1.2.
'')
(mkRemovedOptionModule [ "services" "earlyoom" "notificationsCommand" ] ''
This option is deprecated and ignored by earlyoom since 1.6.
This option was removed in earlyoom 1.6, but was reimplemented in 1.7
and is available as the new option `services.earlyoom.killHook`.
'')
(mkRemovedOptionModule [ "services" "earlyoom" "ignoreOOMScoreAdjust" ] ''
This option is deprecated and ignored by earlyoom since 1.7.
'')
];
@ -91,12 +143,16 @@ in
StandardError = "journal";
ExecStart = concatStringsSep " " ([
"${pkgs.earlyoom}/bin/earlyoom"
"-m ${toString cfg.freeMemThreshold}"
"-s ${toString cfg.freeSwapThreshold}"
("-m ${toString cfg.freeMemThreshold}"
+ optionalString (cfg.freeMemKillThreshold != null) ",${toString cfg.freeMemKillThreshold}")
("-s ${toString cfg.freeSwapThreshold}"
+ optionalString (cfg.freeSwapKillThreshold != null) ",${toString cfg.freeSwapKillThreshold}")
"-r ${toString cfg.reportInterval}"
]
++ optional cfg.ignoreOOMScoreAdjust "-i"
++ optional cfg.enableDebugInfo "-d"
++ optional cfg.enableNotifications "-n"
++ optional (cfg.killHook != null) "-N ${escapeShellArg cfg.killHook}"
++ cfg.extraArgs
);
};
};

View File

@ -535,6 +535,7 @@ let
createGreDevice = n: v: nameValuePair "${n}-netdev"
(let
deps = deviceDependency v.dev;
ttlarg = if lib.hasPrefix "ip6" v.type then "hoplimit" else "ttl";
in
{ description = "GRE Tunnel Interface ${n}";
wantedBy = [ "network-setup.service" (subsystemDevice n) ];
@ -551,6 +552,7 @@ let
ip link add name "${n}" type ${v.type} \
${optionalString (v.remote != null) "remote \"${v.remote}\""} \
${optionalString (v.local != null) "local \"${v.local}\""} \
${optionalString (v.ttl != null) "${ttlarg} ${toString v.ttl}"} \
${optionalString (v.dev != null) "dev \"${v.dev}\""}
ip link set "${n}" up
'';

View File

@ -318,6 +318,8 @@ in
Remote = gre.remote;
}) // (optionalAttrs (gre.local != null) {
Local = gre.local;
}) // (optionalAttrs (gre.ttl != null) {
TTL = gre.ttl;
});
};
networks = mkIf (gre.dev != null) {

View File

@ -1020,12 +1020,14 @@ in
local = "10.0.0.22";
dev = "enp4s0f0";
type = "tap";
ttl = 255;
};
gre6Tunnel = {
remote = "fd7a:5634::1";
local = "fd7a:5634::2";
dev = "enp4s0f0";
type = "tun6";
ttl = 255;
};
}
'';
@ -1063,6 +1065,15 @@ in
'';
};
ttl = mkOption {
type = types.nullOr types.int;
default = null;
example = 255;
description = ''
The time-to-live/hoplimit of the connection to the remote tunnel endpoint.
'';
};
type = mkOption {
type = with types; enum [ "tun" "tap" "tun6" "tap6" ];
default = "tap";

View File

@ -796,7 +796,7 @@ in
# allow `system.build.toplevel' to be included. (If we had a direct
# reference to ${regInfo} here, then we would get a cyclic
# dependency.)
boot.postBootCommands =
boot.postBootCommands = lib.mkIf config.nix.enable
''
if [[ "$(cat /proc/cmdline)" =~ regInfo=([^ ]*) ]]; then
${config.nix.package.out}/bin/nix-store --load-db < ''${BASH_REMATCH[1]}

View File

@ -132,6 +132,7 @@ in
domination = handleTest ./domination.nix {};
dovecot = handleTest ./dovecot.nix {};
drbd = handleTest ./drbd.nix {};
earlyoom = handleTestOn ["x86_64-linux"] ./earlyoom.nix {};
ec2-config = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-config or {};
ec2-nixops = (handleTestOn ["x86_64-linux"] ./ec2.nix {}).boot-ec2-nixops or {};
ecryptfs = handleTest ./ecryptfs.nix {};

View File

@ -38,7 +38,6 @@ let
} // extraConfig);
in
makeTest {
inherit iso;
name = "boot-" + name;
nodes = { };
testScript =

View File

@ -7,7 +7,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
nodes = {
webserver = { pkgs, lib, ... }: {
services.caddy.enable = true;
services.caddy.config = ''
services.caddy.extraConfig = ''
http://localhost {
encode gzip
@ -22,7 +22,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
'';
specialisation.etag.configuration = {
services.caddy.config = lib.mkForce ''
services.caddy.extraConfig = lib.mkForce ''
http://localhost {
encode gzip
@ -38,7 +38,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
};
specialisation.config-reload.configuration = {
services.caddy.config = ''
services.caddy.extraConfig = ''
http://localhost:8080 {
}
'';

View File

@ -48,7 +48,7 @@ let
sudo
ceph
xfsprogs
netcat-openbsd
libressl.nc
];
boot.kernelModules = [ "xfs" ];

View File

@ -15,26 +15,9 @@
with import ../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib;
mapAttrs (channel: chromiumPkg: makeTest rec {
name = "chromium-${channel}";
meta = {
maintainers = with maintainers; [ aszlig primeos ];
# https://github.com/NixOS/hydra/issues/591#issuecomment-435125621
inherit (chromiumPkg.meta) timeout;
};
enableOCR = true;
let
user = "alice";
machine.imports = [ ./common/user-account.nix ./common/x11.nix ];
machine.virtualisation.memorySize = 2047;
machine.test-support.displayManager.auto.user = user;
machine.environment = {
systemPackages = [ chromiumPkg ];
variables."XAUTHORITY" = "/home/alice/.Xauthority";
};
startupHTML = pkgs.writeText "chromium-startup.html" ''
<!DOCTYPE html>
<html>
@ -50,6 +33,25 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
</body>
</html>
'';
in
mapAttrs (channel: chromiumPkg: makeTest {
name = "chromium-${channel}";
meta = {
maintainers = with maintainers; [ aszlig primeos ];
# https://github.com/NixOS/hydra/issues/591#issuecomment-435125621
inherit (chromiumPkg.meta) timeout;
};
enableOCR = true;
machine.imports = [ ./common/user-account.nix ./common/x11.nix ];
machine.virtualisation.memorySize = 2047;
machine.test-support.displayManager.auto.user = user;
machine.environment = {
systemPackages = [ chromiumPkg ];
variables."XAUTHORITY" = "/home/alice/.Xauthority";
};
testScript = let
xdo = name: text: let

View File

@ -1,7 +1,7 @@
# This test runs CRI-O and verifies via critest
import ./make-test-python.nix ({ pkgs, ... }: {
name = "cri-o";
maintainers = with pkgs.lib.maintainers; teams.podman.members;
meta.maintainers = with pkgs.lib.maintainers; teams.podman.members;
nodes = {
crio = {

16
nixos/tests/earlyoom.nix Normal file
View File

@ -0,0 +1,16 @@
import ./make-test-python.nix ({ lib, ... }: {
name = "earlyoom";
meta = {
maintainers = with lib.maintainers; [ ncfavier ];
};
machine = {
services.earlyoom = {
enable = true;
};
};
testScript = ''
machine.wait_for_unit("earlyoom.service")
'';
})

View File

@ -20,7 +20,7 @@ import ./make-test-python.nix (
nodes = {
server =
{ ... }:
{ config, ... }:
{
networking.firewall.allowedTCPPorts = [ 80 ];

View File

@ -21,9 +21,9 @@ import ./make-test-python.nix ({ pkgs, ... }: {
forceSSL = true;
};
security.acme.email = "me@example.org";
security.acme.acceptTerms = true;
security.acme.server = "https://example.com"; # self-signed only
security.acme.defaults.email = "me@example.org";
security.acme.defaults.server = "https://example.com"; # self-signed only
};
};

View File

@ -1,13 +1,13 @@
# Miscellaneous small tests that don't warrant their own VM run.
import ./make-test-python.nix ({ pkgs, ...} : rec {
import ./make-test-python.nix ({ pkgs, ...} : let
foo = pkgs.writeText "foo" "Hello World";
in {
name = "misc";
meta = with pkgs.lib.maintainers; {
maintainers = [ eelco ];
};
foo = pkgs.writeText "foo" "Hello World";
machine =
{ lib, ... }:
with lib;

View File

@ -514,12 +514,14 @@ let
local = "192.168.2.1";
remote = "192.168.2.2";
dev = "eth2";
ttl = 225;
type = "tap";
};
gre6Tunnel = {
local = "fd00:1234:5678:4::1";
remote = "fd00:1234:5678:4::2";
dev = "eth3";
ttl = 255;
type = "tun6";
};
};
@ -548,12 +550,14 @@ let
local = "192.168.2.2";
remote = "192.168.2.1";
dev = "eth1";
ttl = 225;
type = "tap";
};
gre6Tunnel = {
local = "fd00:1234:5678:4::2";
remote = "fd00:1234:5678:4::1";
dev = "eth3";
ttl = 255;
type = "tun6";
};
};
@ -573,6 +577,7 @@ let
];
testScript = { ... }:
''
import json
start_all()
with subtest("Wait for networking to be configured"):
@ -591,6 +596,13 @@ let
client1.wait_until_succeeds("ping -c 1 fc00::2")
client2.wait_until_succeeds("ping -c 1 fc00::1")
with subtest("Test GRE tunnel TTL"):
links = json.loads(client1.succeed("ip -details -json link show greTunnel"))
assert links[0]['linkinfo']['info_data']['ttl'] == 225, "ttl not set for greTunnel"
links = json.loads(client2.succeed("ip -details -json link show gre6Tunnel"))
assert links[0]['linkinfo']['info_data']['ttl'] == 255, "ttl not set for gre6Tunnel"
'';
};
vlan = let

View File

@ -14,12 +14,6 @@ import ./make-test-python.nix ({ pkgs, ... }:
};
};
users.testuser = {
uid = 1000;
group = "testgroup";
};
groups.testgroup.gid = 1000;
testScript = ''
machine.wait_for_unit("rstudio-server.service")
machine.succeed("curl -f -vvv -s http://127.0.0.1:8787")

View File

@ -42,8 +42,8 @@ import ./make-test-python.nix ({ pkgs, ... }:
caclient =
{ config, pkgs, ... }: {
security.acme.server = "https://caserver:8443/acme/acme/directory";
security.acme.email = "root@example.org";
security.acme.defaults.server = "https://caserver:8443/acme/acme/directory";
security.acme.defaults.email = "root@example.org";
security.acme.acceptTerms = true;
security.pki.certificateFiles = [ "${test-certificates}/root_ca.crt" ];

View File

@ -1,24 +1,19 @@
import ./make-test-python.nix ({ lib, ... }: with lib;
rec {
{
name = "tor";
meta.maintainers = with maintainers; [ joachifm ];
common =
{ ... }:
{ boot.kernelParams = [ "audit=0" "apparmor=0" "quiet" ];
networking.firewall.enable = false;
networking.useDHCP = false;
};
nodes.client = { pkgs, ... }: {
boot.kernelParams = [ "audit=0" "apparmor=0" "quiet" ];
networking.firewall.enable = false;
networking.useDHCP = false;
nodes.client =
{ pkgs, ... }:
{ imports = [ common ];
environment.systemPackages = with pkgs; [ netcat ];
services.tor.enable = true;
services.tor.client.enable = true;
services.tor.settings.ControlPort = 9051;
};
environment.systemPackages = with pkgs; [ netcat ];
services.tor.enable = true;
services.tor.client.enable = true;
services.tor.settings.ControlPort = 9051;
};
testScript = ''
client.wait_for_unit("tor.service")

View File

@ -4,14 +4,23 @@ import ./make-test-python.nix ({ lib, ... }: {
maintainers = [ ericson2314 ];
};
nixpkgs.overlays = [
(self: super: {
nix = throw "don't want to use this";
})
];
nodes.machine = { ... }: {
nix.enable = false;
nixpkgs.overlays = [
(self: super: {
nix = throw "don't want to use pkgs.nix";
nixVersions = lib.mapAttrs (k: throw "don't want to use pkgs.nixVersions.${k}") super.nixVersions;
# aliases, some deprecated
nix_2_3 = throw "don't want to use pkgs.nix_2_3";
nix_2_4 = throw "don't want to use pkgs.nix_2_4";
nix_2_5 = throw "don't want to use pkgs.nix_2_5";
nix_2_6 = throw "don't want to use pkgs.nix_2_6";
nixFlakes = throw "don't want to use pkgs.nixFlakes";
nixStable = throw "don't want to use pkgs.nixStable";
nixUnstable = throw "don't want to use pkgs.nixUnstable";
nixStatic = throw "don't want to use pkgs.nixStatic";
})
];
};
testScript = ''

View File

@ -1,6 +1,6 @@
{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
stdenv.mkDerivation rec {
name = "faustCompressors-v${version}";
pname = "faustCompressors";
version = "1.2";
src = fetchFromGitHub {

View File

@ -6,15 +6,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "mopidy-youtube";
version = "3.4";
disabled = python3.pythonOlder "3.7";
version = "3.5";
format = "setuptools";
src = fetchFromGitHub {
owner = "natumbri";
repo = pname;
rev = "v${version}";
sha256 = "0lm6nn926qkrwzvj64yracdixfrnv5zk243msjskrnlzkhgk01rk";
hash = "sha256-hlokysFFgZZYY7flghgRq6wVG824kpcLkXxk6nMhxn4=";
};
propagatedBuildInputs = with python3.pkgs; [
@ -39,8 +38,10 @@ python3.pkgs.buildPythonApplication rec {
];
disabledTestPaths = [
# Fails with an import error
# Disable tests which interact with Youtube
"tests/test_api.py"
"tests/test_backend.py"
"tests/test_youtube.py"
];
pythonImportsCheck = [

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchurl
, fetchpatch
, meson
, ninja
, pkg-config
@ -28,6 +29,15 @@ stdenv.mkDerivation rec {
sha256 = "08d5d81rz9sj3m5paw8fwbgxmhlbr7bcjdzpmzj832qvg8smydxf";
};
patches = [
# Fix build with meson 0.61
# data/meson.build:2:5: ERROR: Function does not take positional arguments.
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/sound-juicer/-/commit/9f97ca1faca396099f52264a9729aa355f8d122e.patch";
sha256 = "8JllVSQgI7KiBI5WP6QtXRiggYuD89NSJJp1hP4Dbao=";
})
];
nativeBuildInputs = [
meson
ninja

View File

@ -1,17 +1,17 @@
{ lib, fetchFromGitHub, rustPlatform, ncurses }:
rustPlatform.buildRustPackage {
rustPlatform.buildRustPackage rec {
pname = "hexdino";
version = "0.1.0";
version = "0.1.1";
src = fetchFromGitHub {
owner = "Luz";
repo = "hexdino";
rev = "de5b5d7042129f57e0ab36416a06476126bce389";
sha256 = "11mz07735gxqfamjcjjmxya6swlvr1p77sgd377zjcmd6z54gwyf";
repo = pname;
rev = version;
sha256 = "1n8gizawx8h58hpyyqivp7vwy7yhn6scipl5rrbvkpnav8qpmk1r";
};
cargoSha256 = "1hpndmpk1zlfvb4r95m13yvnsbjkwgw4pb9ala2d5yzfp38225nm";
cargoSha256 = "01869b1d7gbsprcxxj7h9z16pvnzb02j2hywh97gfq5x96gnmkz3";
buildInputs = [ ncurses ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "fceux";
version = "2.6.3";
version = "2.6.4";
src = fetchFromGitHub {
owner = "TASEmulators";
repo = pname;
rev = "${pname}-${version}";
sha256 = "sha256-jNR9AB8s2S9ehYsompkV2GOLsaXIQzldeQ1WRCxdDG0=";
sha256 = "sha256-Q6r/iBlmi0z40+U6OLZCahS0io4IBBGZMP1mJH7szRM=";
};
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];

View File

@ -0,0 +1,107 @@
{ lib
, stdenv
, fetchurl
, makeWrapper
, libX11
, libXext
, libXrandr
, freetype
, fontconfig
, libXrender
, libXinerama
, autoPatchelfHook
, libglvnd
, openal
, imagemagick
, makeDesktopItem
}:
let
version = "4.0";
arch =
if stdenv.hostPlatform.system == "x86_64-linux" then
"x64"
else if stdenv.hostPlatform.system == "i686-linux" then
"x86"
else
throw "Unsupported platform ${stdenv.hostPlatform.system}";
desktopItem = makeDesktopItem {
name = "Heaven";
exec = "heaven";
genericName = "A GPU Stress test tool from the UNIGINE";
icon = "Heaven";
desktopName = "Heaven Benchmark";
};
in
stdenv.mkDerivation
{
pname = "unigine-heaven";
inherit version;
src = fetchurl {
url = "https://assets.unigine.com/d/Unigine_Heaven-${version}.run";
sha256 = "19rndwwxnb9k2nw9h004hyrmr419471s0fp25yzvvc6rkd521c0v";
};
installPhase =
''
sh $src --target $name
mkdir -p $out/lib/unigine/heaven/bin
mkdir -p $out/bin
mkdir -p $out/share/applications/
mkdir -p $out/share/icons/hicolor
install -m 0755 $name/bin/browser_${arch} $out/lib/unigine/heaven/bin
install -m 0755 $name/bin/libApp{Stereo,Surround,Wall}_${arch}.so $out/lib/unigine/heaven/bin
install -m 0755 $name/bin/libGPUMonitor_${arch}.so $out/lib/unigine/heaven/bin
install -m 0755 $name/bin/libQt{Core,Gui,Network,WebKit,Xml}Unigine_${arch}.so.4 $out/lib/unigine/heaven/bin
install -m 0755 $name/bin/libUnigine_${arch}.so $out/lib/unigine/heaven/bin
install -m 0755 $name/bin/heaven_${arch} $out/lib/unigine/heaven/bin
install -m 0755 $name/heaven $out/bin/heaven
cp -R $name/data $name/documentation $out/lib/unigine/heaven
wrapProgram $out/bin/heaven --prefix LD_LIBRARY_PATH : ${libglvnd}/lib:$out/bin:${openal}/lib --run "cd $out/lib/unigine/heaven/"
convert $out/lib/unigine/heaven/data/launcher/icon.png -resize 128x128 $out/share/icons/Heaven.png
for RES in 16 24 32 48 64 128 256
do
mkdir -p $out/share/icons/hicolor/"$RES"x"$RES"/apps
convert $out/lib/unigine/heaven/data/launcher/icon.png -resize "$RES"x"$RES" $out/share/icons/hicolor/"$RES"x"$RES"/apps/Heaven.png
done
ln -s ${desktopItem}/share/applications/* $out/share/applications
'';
nativeBuildInputs =
[
autoPatchelfHook
makeWrapper
imagemagick
];
buildInputs =
[
libX11
stdenv.cc.cc
libXext
libXrandr
freetype
fontconfig
libXrender
libXinerama
];
dontUnpack = true;
meta =
{
description = "The Unigine Heaven GPU benchmarking tool";
homepage = "https://benchmark.unigine.com/heaven";
license = lib.licenses.unfree;
maintainers = [ lib.maintainers.BarinovMaxim ];
platforms = [ "x86_64-linux" "i686-linux" ];
};
}

View File

@ -10,9 +10,9 @@ in
stdenv.mkDerivation rec {
version = "0.4.8.2016";
name = "xournal-" + version;
pname = "xournal";
src = fetchurl {
url = "mirror://sourceforge/xournal/${name}.tar.gz";
url = "mirror://sourceforge/xournal/xournal-${version}.tar.gz";
sha256 = "09i88v3wacmx7f96dmq0l3afpyv95lh6jrx16xzm0jd1szdrhn5j";
};
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
+ lib.optionalString (!isGdkQuartzBackend) " -lX11";
desktopItem = makeDesktopItem {
name = name;
name = "xournal-${version}";
exec = "xournal";
icon = "xournal";
desktopName = "Xournal";

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation {
pname = "avrdudess";
version = "2.2.20140102";
version = "2.13";
src = fetchurl {
url = "http://blog.zakkemble.co.uk/download/avrdudess_20140102.zip";
sha256 = "18llpvjsfhypzijrvfbzmcg3g141f307mzsrg11wcdxh9syxqak6";
url = "https://github.com/ZakKemble/AVRDUDESS/releases/download/v2.13/AVRDUDESS-2.13-portable.zip";
sha256 = "0fpvc19fb14ppqfb2yg821szmhyanxcp5chfldf8yh51f64zihv9";
};
nativeBuildInputs = [ unzip ];
@ -36,7 +36,8 @@ stdenv.mkDerivation {
meta = with lib; {
description = "GUI for AVRDUDE (AVR microcontroller programmer)";
homepage = "https://github.com/zkemble/AVRDUDESS";
homepage = "https://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/";
changelog = "https://github.com/ZakKemble/AVRDUDESS/blob/v${version}/Changelog.txt";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];

View File

@ -1,10 +1,8 @@
{ lib, stdenv, fetchsvn, libxml2, gtk2, curl, pkg-config } :
let
stdenv.mkDerivation rec {
pname = "gosmore";
version = "31801";
in
stdenv.mkDerivation {
name = "gosmore-r${version}";
# the gosmore svn repository does not lock revision numbers of its externals
# so we explicitly disable them to avoid breaking the hash
# especially as the externals appear to be unused

View File

@ -3,8 +3,8 @@
}:
stdenv.mkDerivation rec {
name = "lighthouse-${date}";
date = "2016-07-20";
pname = "lighthouse";
version = "unstable-2016-07-20";
src = fetchFromGitHub {
owner = "emgram769";

View File

@ -2,7 +2,6 @@
let
version = "0.9.3-3";
name = "mucommander-${version}";
src = fetchFromGitHub {
owner = "mucommander";
@ -34,8 +33,8 @@ let
# fake build to pre-download deps into fixed-output derivation
deps = stdenv.mkDerivation {
name = "${name}-deps";
inherit src postPatch;
pname = "mucommander-deps";
inherit version src postPatch;
nativeBuildInputs = [ gradle_6 perl ];
buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d)
@ -53,7 +52,8 @@ let
};
in stdenv.mkDerivation {
inherit name src postPatch;
pname = "mucommander";
inherit version src postPatch;
nativeBuildInputs = [ gradle_6 perl makeWrapper ];
buildPhase = ''

View File

@ -49,8 +49,9 @@ let
desktopName = "Obsidian";
comment = "Knowledge base";
icon = "obsidian";
exec = "obsidian";
exec = "obsidian %u";
categories = [ "Office" ];
mimeTypes = [ "x-scheme-handler/obsidian" ];
};
inherit pname version src;

View File

@ -1,9 +1,7 @@
{ lib, python2Packages, fetchurl, xpdf }:
let
py = python2Packages;
in
py.buildPythonApplication rec {
name = "pdfdiff-${version}";
python2Packages.buildPythonApplication rec {
pname = "pdfdiff";
version = "0.92";
src = fetchurl {

View File

@ -3,13 +3,12 @@
, webkitgtk, discount, json-glib }:
stdenv.mkDerivation rec {
name = "${product}-${version}";
product = "pdfpc";
pname = "pdfpc";
version = "4.5.0";
src = fetchFromGitHub {
repo = product;
owner = product;
repo = "pdfpc";
owner = "pdfpc";
rev = "v${version}";
sha256 = "0bmy51w6ypz927hxwp5g7wapqvzqmsi3w32rch6i3f94kg1152ck";
};

View File

@ -1,12 +1,11 @@
{ lib, stdenv, fetchurl, qmake4Hook, unzip, qt4 }:
stdenv.mkDerivation rec {
name = "${project}-${version}";
project = "qmetro";
pname = "qmetro";
version = "0.7.1";
src = fetchurl {
url = "mirror://sourceforge/${project}/${name}.zip";
url = "mirror://sourceforge/qmetro/qmetro-${version}.zip";
sha256 = "1zdj87lzcr43gr2h05g17z31pd22n5kxdwbvx7rx656rmhv0sjq5";
};

View File

@ -1,10 +1,8 @@
{ lib, stdenv, mkDerivation, fetchgit, zlib, libGLU, libX11, qtbase, qtwebkit, qtserialport, wrapQtAppsHook }:
let
name = "sleepyhead-${version}";
mkDerivation {
pname = "sleepyhead";
version = "1.0.0-beta-git";
in mkDerivation {
inherit name;
src = fetchgit {
url = "https://gitlab.com/sleepyhead/sleepyhead-code.git";

View File

@ -1,30 +1,19 @@
{lib, stdenv, fetchhg}:
let
s =
rec {
baseName = "slmenu";
version = "hg-${date}";
date = "2012-02-01";
name = "${baseName}-${version}";
stdenv.mkDerivation {
pname = "slmenu";
version = "hg-2012-02-01";
src = fetchhg {
url = "https://bitbucket.org/rafaelgg/slmenu/";
rev = "7e74fa5db73e8b018da48d50dbbaf11cb5c62d13";
sha256 = "0zb7mm8344d3xmvrl62psazcabfk75pp083jqkmywdsrikgjagv6";
};
buildInputs = [
];
in
stdenv.mkDerivation {
inherit (s) name version;
inherit buildInputs;
src = fetchhg {
inherit (s) url sha256;
};
makeFlags = [ "PREFIX=$(out)" ];
meta = {
inherit (s) version;
meta = with lib; {
description = "A console dmenu-like tool";
license = lib.licenses.mit;
maintainers = [lib.maintainers.raskin];
platforms = lib.platforms.linux;
license = licenses.mit;
maintainers = with maintainers; [ raskin ];
platforms = platforms.linux;
};
}

View File

@ -13,15 +13,15 @@
}:
python3Packages.buildPythonApplication rec {
name = "tuhi";
pname = "tuhi";
version = "0.5";
format = "other";
src = fetchFromGitHub {
owner = "tuhiproject";
repo = name;
rev = "${version}";
repo = "tuhi";
rev = version;
sha256 = "17kggm9c423vj7irxx248fjc8sxvkp9w1mgawlx1snrii817p3db";
};

View File

@ -1,15 +1,15 @@
{ lib, stdenv, fetchurl, ncurses, autoreconfHook }:
stdenv.mkDerivation rec {
version = "0.9";
pname = "urlview";
_version = "0.9";
patchLevel = "19";
name = "urlview-${version}-${patchLevel}";
version = "${_version}-${patchLevel}";
urlBase = "mirror://debian/pool/main/u/urlview/";
src = fetchurl {
url = urlBase + "urlview_${version}.orig.tar.gz";
url = urlBase + "urlview_${_version}.orig.tar.gz";
sha256 = "746ff540ccf601645f500ee7743f443caf987d6380e61e5249fc15f7a455ed42";
};
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
'';
debianPatches = fetchurl {
url = urlBase + "urlview_${version}-${patchLevel}.diff.gz";
url = urlBase + "urlview_${_version}-${patchLevel}.diff.gz";
sha256 = "056883c17756f849fb9235596d274fbc5bc0d944fcc072bdbb13d1e828301585";
};

View File

@ -11,7 +11,7 @@ let
in
stdenv'.mkDerivation rec {
name = "xmr-stak-${version}";
pname = "xmr-stak";
version = "2.10.8";
src = fetchFromGitHub {

View File

@ -1,9 +1,9 @@
{ lib, python3, python3Packages, fetchFromGitHub }:
let version = "1.0"; in
python3Packages.buildPythonApplication rec {
pname = "zscroll";
version = "1.0";
python3Packages.buildPythonApplication {
name = "zscroll-${version}";
# don't prefix with python version
namePrefix = "";

View File

@ -19,9 +19,9 @@
}
},
"beta": {
"version": "100.0.4896.46",
"sha256": "1qx22vadv9yd3n52pjn2sr153w70k3sxi2i8f99fdpil0kin8jkx",
"sha256bin64": "1g4xygj3946322aill7lk1qf0hi07bjn3awa17pkn1sgbl3gm8nr",
"version": "100.0.4896.56",
"sha256": "0vdyddxhmkw9bqwx5j19h69swx9ysiipsmcc1sjl0qv8bn8f790z",
"sha256bin64": "09h4fxsx0q5b0gn258xnmk11qz7ql8flpn4mq5x201abmv29y856",
"deps": {
"gn": {
"version": "2022-01-21",
@ -32,9 +32,9 @@
}
},
"dev": {
"version": "101.0.4947.0",
"sha256": "176bby8xis0j3ifvxxxjgklvs7yd7v71c5lc18qdjkgzv5qdx0sy",
"sha256bin64": "1rkpc25ff8vf1p7znpmaljj8gwcym34qg28b4anv8x9zvwn7w21s",
"version": "101.0.4951.7",
"sha256": "0xnvbiqi50hgky35qaivcyzfp05nnwfwqrd50dksqkzycl8avb4z",
"sha256bin64": "19my3zr9d3w2ypl9cm1xa15vhyv9add1f283alb9fmh2qwhl4scg",
"deps": {
"gn": {
"version": "2022-03-14",

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "cmctl";
version = "1.7.1";
version = "1.7.2";
src = fetchFromGitHub {
owner = "cert-manager";
repo = "cert-manager";
rev = "v${version}";
sha256 = "sha256-RO7YcGEfAQ9kTxfqgekYf6M5b6Fg64hCPLA/vt6IWp8=";
sha256 = "sha256-Hx6MG5GCZyOX0tfpg1bfUT0BOI3p7Mws1VCz2PuUuw8=";
};
vendorSha256 = "sha256-4zhdpedOmLl/i1G0QCto4ACxguWRZLzOm5HfMBMtvPY=";

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "helmfile";
version = "0.143.1";
version = "0.143.3";
src = fetchFromGitHub {
owner = "roboll";
repo = "helmfile";
rev = "v${version}";
sha256 = "sha256-eV2+lQVLv+bU/CmFFYM7CLjomXblT0XVZH5HVq0S+WM=";
sha256 = "sha256-A0xpXsMWUaJYTzo9O4KkdyjonSGZ+FylTK140pqnJX8=";
};
vendorSha256 = "sha256-JHXSEOR/+ON5x0iQgaFsnb9hEDFf5/8TTh4T54qE/HE=";
vendorSha256 = "sha256-qolmWat7An4HFm4O5vSCYZe+w79nsRIrnBLJacUCeA4=";
doCheck = false;

View File

@ -0,0 +1,29 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "kubent";
version = "0.5.1";
src = fetchFromGitHub {
owner = "doitintl";
repo = "kube-no-trouble";
rev = "${version}";
sha256 = "0pwb9g1hhfqn3rl87fg6sf07m7aviadljb05bbnd241hhlcyslv6";
};
vendorSha256 = "1z4cvk936l7011fbimsgpw89yqzyikw9jb4184l37mnj9hl5wpcp";
ldflags = [
"-w" "-s"
"-X main.version=v${version}"
];
subPackages = [ "cmd/kubent" ];
meta = with lib; {
homepage = "https://github.com/doitintl/kube-no-trouble";
description = "Easily check your cluster for use of deprecated APIs";
license = licenses.mit;
maintainers = with maintainers; [ peterromfeldhk ];
};
}

View File

@ -11,15 +11,15 @@
buildGoModule rec {
pname = "werf";
version = "1.2.77";
version = "1.2.78";
src = fetchFromGitHub {
owner = "werf";
repo = "werf";
rev = "v${version}";
sha256 = "sha256-JmadwNERjexnJN+fBUjgMkvPtAaTbb7GITPsZlx2vik=";
sha256 = "sha256-ehrzb7WvkYL8oj2RSzKc1KDagV0zg6vMzgpT2sPyhcI=";
};
vendorSha256 = "sha256-IPQiS1GgNP+k/INv3f3VitoHActC3MrRys905nTSXyI=";
vendorSha256 = "sha256-w8ZeAQbZIVOBoRa9fJhXgTeYRCYpkh/U4pwb5u6A9mQ=";
proxyVendor = true;
nativeBuildInputs = [ pkg-config ];

View File

@ -1,5 +1,7 @@
{ lib, stdenv
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, nix-update-script
, meson
, ninja
@ -33,6 +35,15 @@ stdenv.mkDerivation rec {
sha256 = "DSNVd9YvI7Dd3s3+M0+wE594tmL1yPNMnD1W9wLhSuw=";
};
patches = [
# Fix build with meson 0.61
# fractal-gtk/res/meson.build:5:0: ERROR: Function does not take positional arguments.
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/fractal/-/commit/6fa1a23596d65d94aa889efe725174e6cd2903f0.patch";
sha256 = "3OzU9XL2V1VNOkvL1j677K3HNoBqPMQudQDmiDxYfAc=";
})
];
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";

View File

@ -24,7 +24,7 @@ let
in stdenv.mkDerivation rec {
pname = "signal-desktop";
version = "5.35.0"; # Please backport all updates to the stable channel.
version = "5.36.0"; # Please backport all updates to the stable channel.
# All releases have a limited lifetime and "expire" 90 days after the release.
# When releases "expire" the application becomes unusable until an update is
# applied. The expiration date for the current release can be extracted with:
@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "sha256-2KF2OLq6/vHElgloxn+kgQisJC+HAkpOBfsKfEPW35c=";
sha256 = "sha256-x1PUEDq/0B1T14mBs2FuKtcGpJHWOIvHAs8hptpzhZk=";
};
nativeBuildInputs = [

View File

@ -2,12 +2,11 @@
let
version = "6.6.7-build-529";
name = "frostwire-desktop-${version}";
src = fetchFromGitHub {
owner = "frostwire";
repo = "frostwire";
rev = name;
rev = "frostwire-desktop-${version}";
sha256 = "03wdj2kr8akzx8m1scvg98132zbaxh81qjdsxn2645b3gahjwz0m";
};
@ -23,8 +22,8 @@ let
# fake build to pre-download deps into fixed-output derivation
deps = stdenv.mkDerivation {
name = "${name}-deps";
inherit src;
pname = "frostwire-desktop-deps";
inherit version src;
buildInputs = [ gradle_6 perl ];
buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d)
@ -40,11 +39,12 @@ let
'';
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "11zd98g0d0fdgls4lsskkagwfxyh26spfd6c6g9cahl89czvlg3c";
outputHash = "sha256-r6YSrbSJbM3063JrX4tCVKFrJxTaLN4Trc+33jzpwcE=";
};
in stdenv.mkDerivation {
inherit name src;
pname = "frostwire-desktop";
inherit version src;
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ gradle_6 ];

View File

@ -115,7 +115,8 @@ let
in
stdenv.mkDerivation {
name = "vmware-horizon-client";
pname = "vmware-horizon-client";
inherit version;
dontUnpack = true;

View File

@ -4,7 +4,6 @@ let
_version = "2.10.1";
_build = "482";
version = "${_version}-${_build}";
name = "jameica-${version}";
swtSystem = if stdenv.hostPlatform.system == "i686-linux" then "linux"
else if stdenv.hostPlatform.system == "x86_64-linux" then "linux64"
@ -22,7 +21,8 @@ let
};
in
stdenv.mkDerivation rec {
inherit name version;
pname = "jameica";
inherit version;
nativeBuildInputs = [ ant jdk makeWrapper ];
buildInputs = lib.optionals stdenv.isLinux [ gtk2 glib xorg.libXtst ]
@ -42,12 +42,12 @@ stdenv.mkDerivation rec {
'';
installPhase = ''
mkdir -p $out/libexec $out/lib $out/bin $out/share/{applications,${name},java}/
mkdir -p $out/libexec $out/lib $out/bin $out/share/{applications,jameica-${version},java}/
# copy libraries except SWT
cp $(find lib -type f -iname '*.jar' | grep -ve 'swt/.*/swt.jar') $out/share/${name}/
cp $(find lib -type f -iname '*.jar' | grep -ve 'swt/.*/swt.jar') $out/share/jameica-${version}/
# copy platform-specific SWT
cp lib/swt/${swtSystem}/swt.jar $out/share/${name}/
cp lib/swt/${swtSystem}/swt.jar $out/share/jameica-${version}/
install -Dm644 releases/${_version}-*/jameica/jameica.jar $out/share/java/
install -Dm644 plugin.xml $out/share/java/
@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
cp ${desktopItem}/share/applications/* $out/share/applications/
makeWrapper ${jre}/bin/java $out/bin/jameica \
--add-flags "-cp $out/share/java/jameica.jar:$out/share/${name}/* ${
--add-flags "-cp $out/share/java/jameica.jar:$out/share/jameica-${version}/* ${
lib.optionalString stdenv.isDarwin ''-Xdock:name="Jameica" -XstartOnFirstThread''
} de.willuhn.jameica.Main" \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath buildInputs} \

View File

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, libusb1, rtl-sdr }:
stdenv.mkDerivation {
name = "rtl-ais";
pname = "rtl-ais";
version = "0.8.1";
buildInputs = [ pkg-config rtl-sdr libusb1 ];

View File

@ -4,7 +4,7 @@ let
else if stdenv.isi686 then "i686"
else throw "unsupported architecture";
in stdenv.mkDerivation rec {
name = "sdrplay";
pname = "sdrplay";
version = "3.07.1";
src = fetchurl {

View File

@ -1,8 +1,8 @@
{ stdenv, lib, fetchFromGitHub, cmake, pkg-config, soapysdr, sdrplay }:
stdenv.mkDerivation {
name = "soapysdr-sdrplay3";
version = "20210425";
pname = "soapysdr-sdrplay3";
version = "unstable-2021-04-25";
src = fetchFromGitHub {
owner = "pothosware";

View File

@ -1,11 +1,11 @@
{ lib, stdenv, fetchurl, pkg-config, alsa-lib, audiofile, gtk2, libxml2 }:
stdenv.mkDerivation rec {
name = "soundmodem";
pname = "soundmodem";
version = "0.20";
src = fetchurl {
url = "https://archive.org/download/${name}-${version}/${name}-${version}.tar.gz";
url = "https://archive.org/download/soundmodem-${version}/soundmodem-${version}.tar.gz";
sha256 = "156l3wjnh5rcisxb42kcmlf74swf679v4xnj09zy5j74rd4h721z";
};
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
'';
#homepage = "http://gna.org/projects/soundmodem"; # official, but "Connection refused"
homepage = "http://soundmodem.vk4msl.id.au/";
downloadPage = "https://archive.org/download/${name}-${version}/${name}-${version}.tar.gz";
downloadPage = "https://archive.org/download/${pname}-${version}/${pname}-${version}.tar.gz";
license = licenses.gpl2Only;
maintainers = with maintainers; [ ymarkus ];
platforms = platforms.all;

View File

@ -8,10 +8,10 @@
# Another note: you may want the older and deprecated C-libs at ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/2008/Mar_17_2008/NCBI_C_Toolkit/ncbi_c--Mar_17_2008.tar.gz
stdenv.mkDerivation rec {
name = "ncbi_tools";
ncbi_version = "Dec_31_2008";
pname = "ncbi_tools";
version = "Dec_31_2008";
src = fetchurl {
url = "ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/2008/${ncbi_version}/ncbi_cxx--${ncbi_version}.tar.gz";
url = "ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/2008/${version}/ncbi_cxx--${version}.tar.gz";
sha256 = "1b2v0dcdqn3bysgdkj57sxmd6s0hc9wpnxssviz399g6plhxggbr";
};

View File

@ -4,12 +4,12 @@ with lib;
stdenv.mkDerivation rec {
pname = "marvin";
version = "22.7.0";
version = "22.8.0";
src = fetchurl {
name = "marvin-${version}.deb";
url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
sha256 = "sha256-xK4C+0/Qpc2vXPmsI8KuHuDJLmJ5LXdAfRIREE+gkWA=";
sha256 = "sha256-dmG2p4KqzjLuuVw+wPWaxVoqOqba8Tx5l44PauWpqv4=";
};
nativeBuildInputs = [ dpkg makeWrapper ];

View File

@ -1,16 +1,12 @@
{ lib, stdenv, fetchurl, autoreconfHook, automake, pkg-config
, cairo, ghostscript, ngspice, tcl, tk, xorg, zlib }:
let
stdenv.mkDerivation rec {
version = "3.10.12";
name = "xcircuit-${version}";
inherit (lib) getBin;
in stdenv.mkDerivation {
inherit name version;
pname = "xcircuit";
src = fetchurl {
url = "http://opencircuitdesign.com/xcircuit/archive/${name}.tgz";
url = "http://opencircuitdesign.com/xcircuit/archive/xcircuit-${version}.tgz";
sha256 = "1h1ywc3mr7plvwnhdii2zgnnv5ih2nhyl4qbdjpi83dq0aq1s2mn";
};
@ -20,7 +16,7 @@ in stdenv.mkDerivation {
configureFlags = [
"--with-tcl=${tcl}/lib"
"--with-tk=${tk}/lib"
"--with-ngspice=${getBin ngspice}/bin/ngspice"
"--with-ngspice=${lib.getBin ngspice}/bin/ngspice"
];
buildInputs = with xorg; [ cairo ghostscript libSM libXt libICE libX11 libXpm tcl tk zlib ];

View File

@ -47,6 +47,7 @@ let
"8.14.0".sha256 = "04y2z0qyvag66zanfyc3f9agvmzbn4lsr0p1l7ck6yjhqx7vbm17";
"8.14.1".sha256 = "0sx78pgx0qw8v7v2r32zzy3l161zipzq95iacda628girim7psnl";
"8.15.0".sha256 = "sha256:1ma76wfrpfsl72yh10w1ys2a0vi0mdc2jc79kdc8nrmxkhpw1nxx";
"8.15.1".sha256 = "sha256:1dsa04jzkx5pw69pmxn0l55q4w88lg6fvz7clbga0bazzsfnsgd6";
};
releaseRev = v: "V${v}";
fetched = import ../../../../build-support/coq/meta-fetch/default.nix

View File

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, python }:
stdenv.mkDerivation rec {
name = "z3-${version}";
pname = "z3";
version = "4.4.0";
src = fetchFromGitHub {

View File

@ -1,14 +1,11 @@
{ lib, stdenv, fetchurl, sbcl, libX11, libXpm, libICE, libSM, libXt, libXau, libXdmcp }:
let
stdenv.mkDerivation rec {
pname = "fricas";
version = "1.3.7";
name = "fricas-" + version;
in
stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "mirror://sourceforge/fricas/fricas/${version}/${name}-full.tar.bz2";
url = "mirror://sourceforge/fricas/fricas/${version}/fricas-${version}-full.tar.bz2";
sha256 = "sha256-cOqMvSe3ef/ZeVy5cj/VU/aTRtxgfxZfRbE4lWE5TU4=";
};

View File

@ -1,11 +1,7 @@
{ stdenv, fetchurl, lib, xorg }:
let
name = "scilab-bin-${ver}";
ver = "6.1.1";
badArch = throw "${name} requires i686-linux or x86_64-linux";
badArch = throw "scilab-bin requires i686-linux or x86_64-linux";
architecture =
if stdenv.hostPlatform.system == "i686-linux" then
@ -15,11 +11,12 @@ let
else
badArch;
in
stdenv.mkDerivation {
inherit name;
stdenv.mkDerivation rec {
pname = "scilab-bin";
version = "6.1.1";
src = fetchurl {
url = "https://www.scilab.org/download/${ver}/scilab-${ver}.bin.linux-${architecture}.tar.gz";
url = "https://www.scilab.org/download/${version}/scilab-${version}.bin.linux-${architecture}.tar.gz";
sha256 =
if stdenv.hostPlatform.system == "i686-linux" then
"0fgjc2ak3b2qi6yin3fy50qwk2bcj0zbz1h4lyyic9n1n1qcliib"
@ -43,7 +40,7 @@ stdenv.mkDerivation {
sed -i 's|\$(/bin/|$(|g' bin/scilab
sed -i 's|/usr/bin/||g' bin/scilab
sci="$out/opt/scilab-${ver}"
sci="$out/opt/scilab-${version}"
fullLibPath="$sci/lib/scilab:$sci/lib/thirdparty:$libPath"
fullLibPath="$fullLibPath:$sci/lib/thirdparty/redist"
@ -55,31 +52,31 @@ stdenv.mkDerivation {
'';
installPhase = ''
mkdir -p "$out/opt/scilab-${ver}"
cp -r . "$out/opt/scilab-${ver}/"
mkdir -p "$out/opt/scilab-${version}"
cp -r . "$out/opt/scilab-${version}/"
# Create bin/ dir
mkdir "$out/bin"
# Creating executable symlinks
ln -s "$out/opt/scilab-${ver}/bin/scilab" "$out/bin/scilab"
ln -s "$out/opt/scilab-${ver}/bin/scilab-cli" "$out/bin/scilab-cli"
ln -s "$out/opt/scilab-${ver}/bin/scilab-adv-cli" "$out/bin/scilab-adv-cli"
ln -s "$out/opt/scilab-${version}/bin/scilab" "$out/bin/scilab"
ln -s "$out/opt/scilab-${version}/bin/scilab-cli" "$out/bin/scilab-cli"
ln -s "$out/opt/scilab-${version}/bin/scilab-adv-cli" "$out/bin/scilab-adv-cli"
# Creating desktop config dir
mkdir -p "$out/share/applications"
# Moving desktop config files
mv $out/opt/scilab-${ver}/share/applications/*.desktop $out/share/applications
mv $out/opt/scilab-${version}/share/applications/*.desktop $out/share/applications
# Fixing Exec paths and launching each app with a terminal
sed -i -e "s|Exec=|Exec=$out/opt/scilab-${ver}/bin/|g" \
sed -i -e "s|Exec=|Exec=$out/opt/scilab-${version}/bin/|g" \
-e "s|Terminal=.*$|Terminal=true|g" $out/share/applications/*.desktop
# Moving icons to the appropriate locations
for path in $out/opt/scilab-${ver}/share/icons/hicolor/*/*/*
for path in $out/opt/scilab-${version}/share/icons/hicolor/*/*/*
do
newpath=$(echo $path | sed 's|/opt/scilab-${ver}||g')
newpath=$(echo $path | sed 's|/opt/scilab-${version}||g')
filename=$(echo $path | sed 's|.*/||g')
dir=$(echo $newpath | sed "s|$filename||g")
mkdir -p $dir
@ -87,10 +84,10 @@ stdenv.mkDerivation {
done
# Removing emptied folders
rm -rf $out/opt/scilab-${ver}/share/{applications,icons}
rm -rf $out/opt/scilab-${version}/share/{applications,icons}
# Moving other share/ folders
mv $out/opt/scilab-${ver}/share/{appdata,locale,mime} $out/share
mv $out/opt/scilab-${version}/share/{appdata,locale,mime} $out/share
'';
meta = {

View File

@ -1,12 +1,9 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, boost, lua, zlib, bzip2
, xylib, readline, gnuplot, swig3 }:
let
name = "fityk";
stdenv.mkDerivation rec {
pname = "fityk";
version = "1.3.1";
in
stdenv.mkDerivation {
name = "${name}-${version}";
src = fetchFromGitHub {
owner = "wojdyr";

View File

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, xrdb, xlsfonts }:
stdenv.mkDerivation rec {
name = "urxvt-font-size";
pname = "urxvt-font-size";
version = "1.3";
src = fetchFromGitHub {

View File

@ -3,7 +3,8 @@
let
termonadEnv = haskellPackages.ghcWithPackages (self: [ self.termonad ] ++ packages self);
in stdenv.mkDerivation {
name = "termonad-with-packages-${termonadEnv.version}";
pname = "termonad-with-packages";
inherit (termonadEnv) version;
nativeBuildInputs = [ makeWrapper ];

View File

@ -1,50 +1,46 @@
{ lib, stdenv, fetchurl, jre, makeWrapper }:
let
stdenv.mkDerivation rec {
pname = "bfg-repo-cleaner";
version = "1.13.0";
jarName = "bfg-${version}.jar";
mavenUrl = "mirror://maven/com/madgag/bfg/${version}/${jarName}";
in
stdenv.mkDerivation {
inherit version jarName;
name = "bfg-repo-cleaner-${version}";
src = fetchurl {
url = "mirror://maven/com/madgag/bfg/${version}/${jarName}";
sha256 = "1kn84rsvms1v5l1j2xgrk7dc7mnsmxkc6sqd94mnim22vnwvl8mz";
};
src = fetchurl {
url = mavenUrl;
sha256 = "1kn84rsvms1v5l1j2xgrk7dc7mnsmxkc6sqd94mnim22vnwvl8mz";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jre ];
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ jre ];
dontUnpack = true;
dontUnpack = true;
installPhase = ''
mkdir -p $out/share/java
mkdir -p $out/bin
cp $src $out/share/java/$jarName
makeWrapper "${jre}/bin/java" $out/bin/bfg --add-flags "-cp $out/share/java/$jarName com.madgag.git.bfg.cli.Main"
'';
installPhase = ''
mkdir -p $out/share/java
mkdir -p $out/bin
cp $src $out/share/java/$jarName
makeWrapper "${jre}/bin/java" $out/bin/bfg --add-flags "-cp $out/share/java/$jarName com.madgag.git.bfg.cli.Main"
meta = with lib; {
homepage = "https://rtyley.github.io/bfg-repo-cleaner/";
# Descriptions taken with minor modification from the homepage of bfg-repo-cleaner
description = "Removes large or troublesome blobs in a git repository like git-filter-branch does, but faster";
longDescription = ''
The BFG is a simpler, faster alternative to git-filter-branch for
cleansing bad data out of your Git repository history, in particular removing
crazy big files and removing passwords, credentials, and other private data.
The git-filter-branch command is enormously powerful and can do things
that the BFG can't - but the BFG is much better for the tasks above, because
it's faster (10-720x), simpler (dedicated to just removing things), and
beautiful (can use Scala instead of bash to script customizations).
'';
license = licenses.gpl3;
maintainers = [ maintainers.changlinli ];
platforms = platforms.unix;
downloadPage = "https://mvnrepository.com/artifact/com.madgag/bfg/${version}";
};
meta = with lib; {
homepage = "https://rtyley.github.io/bfg-repo-cleaner/";
# Descriptions taken with minor modification from the homepage of bfg-repo-cleaner
description = "Removes large or troublesome blobs in a git repository like git-filter-branch does, but faster";
longDescription = ''
The BFG is a simpler, faster alternative to git-filter-branch for
cleansing bad data out of your Git repository history, in particular removing
crazy big files and removing passwords, credentials, and other private data.
The git-filter-branch command is enormously powerful and can do things
that the BFG can't - but the BFG is much better for the tasks above, because
it's faster (10-720x), simpler (dedicated to just removing things), and
beautiful (can use Scala instead of bash to script customizations).
'';
license = licenses.gpl3;
maintainers = [ maintainers.changlinli ];
platforms = platforms.unix;
downloadPage = "https://mvnrepository.com/artifact/com.madgag/bfg/${version}";
};
}
}

View File

@ -1,14 +1,11 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, git, gnupg, gawk }:
let
stdenv.mkDerivation rec {
pname = "git-secret";
version = "0.4.0";
repo = "git-secret";
in stdenv.mkDerivation {
name = "${repo}-${version}";
src = fetchFromGitHub {
inherit repo;
repo = "git-secret";
owner = "sobolevn";
rev = "v${version}";
sha256 = "sha256-Mtuj+e/yCDr4XkmYkWUFJB3cqOT5yOMOq9P/QJV1S80=";

View File

@ -16,12 +16,12 @@ with lib;
buildGoPackage rec {
pname = "gitea";
version = "1.16.4";
version = "1.16.5";
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
src = fetchurl {
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
sha256 = "sha256-7zlreX05pkhn381FMgQ8Nj3OP+BUr6o3u5f4ouo/Khg=";
sha256 = "sha256-2aqy6DV8oaIur/syg1bk41Wo+FGk3m+05+tUyoDwGHs=";
};
unpackPhase = ''

View File

@ -1,7 +1,8 @@
{ lib, stdenv, pkg-config, fetchFromGitHub, opencv2, ncurses, portaudio }:
stdenv.mkDerivation {
name = "p2pvc";
pname = "p2pvc";
version = "unstable-2015-02-12";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ opencv2 ncurses portaudio ];

View File

@ -22,7 +22,8 @@ let
in
edk2.mkDerivation projectDscPath {
name = "OVMF-${version}";
pname = "OVMF";
inherit version;
outputs = [ "out" "fd" ];

View File

@ -10,13 +10,13 @@
buildGoModule rec {
pname = "containerd";
version = "1.6.1";
version = "1.6.2";
src = fetchFromGitHub {
owner = "containerd";
repo = "containerd";
rev = "v${version}";
sha256 = "sha256-NOFDUOypq/1ePM8rdK2cDnH1LsSZJ7eQOzDc5h4/PvY=";
sha256 = "sha256-l/9jOvZ4nn/wy+XPRoT1lojfGvPEXhPz2FJjLpZ/EE8=";
};
vendorSha256 = null;

View File

@ -38,13 +38,13 @@ let
in
stdenv.mkDerivation rec {
pname = "crun";
version = "1.4.3";
version = "1.4.4";
src = fetchFromGitHub {
owner = "containers";
repo = pname;
rev = version;
sha256 = "sha256-5q8HirGOPsbaJ7JoLa4DRYkZX3kucWOZ633nzx4zVhg=";
sha256 = "sha256-ITUj905ZSdCH0mcw8tubyVKqI6p/oNcC4OW7/NbkR5o=";
fetchSubmodules = true;
};

View File

@ -243,19 +243,19 @@ rec {
# Get revisions from
# https://github.com/moby/moby/tree/${version}/hack/dockerfile/install/*
docker_20_10 = callPackage dockerGen rec {
version = "20.10.13";
version = "20.10.14";
rev = "v${version}";
sha256 = "sha256-eDwgqFx4io++SMOjhxMxVzqzcOgOnv6Xe/qmmPCvZts=";
moby-src = fetchFromGitHub {
owner = "moby";
repo = "moby";
rev = "v${version}";
sha256 = "sha256-ajceIdMM8yAa+bvTjRwZ/zF7yTLF2LhGmbrweWni7hM=";
sha256 = "sha256-I5oxpFLH789I2Sb29OXDaM4fCbQT/KvPq0DYcAVp0aI=";
};
runcRev = "v1.0.3";
runcSha256 = "sha256-Tl/JKbIpao+FCjngPzaVkxse50zo3XQ9Mg/AdkblMcI=";
containerdRev = "v1.5.10";
containerdSha256 = "sha256-ee0dwWSGedo08omKOmZtW5qQ1J5M9Mm+kZHq7a+zyT4=";
containerdRev = "v1.5.11";
containerdSha256 = "sha256-YzFtv6DIjImSK0SywxhZrEeEmCnHTceAi3pfwnPubKg=";
tiniRev = "v0.19.0";
tiniSha256 = "sha256-ZDKu/8yE5G0RYFJdhgmCdN3obJNyRWv6K/Gd17zc1sI=";
};

View File

@ -3,13 +3,13 @@
with lib;
stdenv.mkDerivation rec {
name = "docker-gc-${rev}";
rev = "b0cc52aa3da2e2ac0080794e0be6e674b1f063fc";
pname = "docker-gc";
version = "unstable-2015-10-5";
src = fetchFromGitHub {
inherit rev;
owner = "spotify";
repo = "docker-gc";
rev = "b0cc52aa3da2e2ac0080794e0be6e674b1f063fc";
sha256 = "07wf9yn0f771xkm3x12946x5rp83hxjkd70xgfgy35zvj27wskzm";
};

View File

@ -1,13 +1,13 @@
{ lib, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "docker-proxy-${rev}";
rev = "fa125a3512ee0f6187721c88582bf8c4378bd4d7";
pname = "docker-proxy";
version = "unstable-2020-12-15";
src = fetchFromGitHub {
inherit rev;
owner = "docker";
repo = "libnetwork";
rev = "fa125a3512ee0f6187721c88582bf8c4378bd4d7";
sha256 = "1r47y0gww3j7fas4kgiqbhrz5fazsx1c6sxnccdfhj8fzik77s9y";
};

View File

@ -1,8 +1,8 @@
{ lib, fetchFromGitHub, buildGoModule }:
buildGoModule rec {
name = "gvisor-containerd-shim-${version}";
version = "2019-10-09";
pname = "gvisor-containerd-shim";
version = "unstable-2019-10-09";
src = fetchFromGitHub {
owner = "google";

View File

@ -52,7 +52,7 @@ let
};
in buildBazelPackage rec {
name = "gvisor-${version}";
pname = "gvisor";
version = "20210518.0";
src = fetchFromGitHub {

View File

@ -1,8 +1,8 @@
{ stdenv, installShellFiles, qemu }:
stdenv.mkDerivation rec {
name = "qemu-utils-${version}";
version = qemu.version;
pname = "qemu-utils";
inherit (qemu) version;
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ qemu ];

View File

@ -35,12 +35,11 @@ assert spiceSupport -> (
with lib;
stdenv.mkDerivation rec {
baseName = "virt-viewer";
pname = "virt-viewer";
version = "11.0";
name = "${baseName}-${version}";
src = fetchurl {
url = "http://virt-manager.org/download/sources/${baseName}/${name}.tar.xz";
url = "https://releases.pagure.org/virt-viewer/virt-viewer-${version}.tar.xz";
sha256 = "sha256-pD+iMlxMHHelyMmAZaww7wURohrJjlkPIjQIabrZq9A=";
};

View File

@ -2,11 +2,12 @@
, makeWrapper }:
stdenv.mkDerivation {
name = "clfswm";
pname = "clfswm";
version = "unstable-2016-11-12";
src = fetchgit {
url = "https://gitlab.common-lisp.net/clfswm/clfswm.git";
rev = "refs/heads/master";
rev = "3c7721dba6339ebb4f8c8d7ce2341740fa86f837";
sha256 = "0hynzh3a1zr719cxfb0k4cvh5lskzs616hwn7p942isyvhwzhynd";
};

View File

@ -5,7 +5,8 @@ let
self.taffybar
] ++ packages self);
in stdenv.mkDerivation {
name = "taffybar-with-packages-${taffybarEnv.version}";
pname = "taffybar-with-packages";
inherit (taffybarEnv) version;
nativeBuildInputs = [ makeWrapper ];

View File

@ -3,7 +3,8 @@
let
xmonadEnv = ghcWithPackages (self: [ self.xmonad ] ++ packages self);
in stdenv.mkDerivation {
name = "xmonad-with-packages-${xmonadEnv.version}";
pname = "xmonad-with-packages";
inherit (xmonadEnv) version;
nativeBuildInputs = [ makeWrapper ];

View File

@ -59,6 +59,9 @@ let
export PATH="/run/wrappers/bin:/usr/bin:/usr/sbin:$PATH"
export TZDIR='/etc/zoneinfo'
# XDG_DATA_DIRS is used by pressure-vessel (steam proton) and vulkan loaders to find the corresponding icd
export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}/run/opengl-driver/share:/run/opengl-driver-32/share
# Force compilers and other tools to look in default search paths
unset NIX_ENFORCE_PURITY
export NIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1

View File

@ -60,6 +60,9 @@ let
export PATH="/run/wrappers/bin:/usr/bin:/usr/sbin:$PATH"
export TZDIR='/etc/zoneinfo'
# XDG_DATA_DIRS is used by pressure-vessel (steam proton) and vulkan loaders to find the corresponding icd
export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}/run/opengl-driver/share:/run/opengl-driver-32/share
# Force compilers and other tools to look in default search paths
unset NIX_ENFORCE_PURITY
export NIX_CC_WRAPPER_TARGET_HOST_${stdenv.cc.suffixSalt}=1

View File

@ -1,10 +1,11 @@
{ stdenv, lib, fetchurl }:
stdenv.mkDerivation {
name = "std-man-pages-4.4.0";
stdenv.mkDerivation rec {
pname = "std-man-pages";
version = "4.4.0";
src = fetchurl {
url = "mirror://gcc/libstdc++/doxygen/libstdc++-man.4.4.0.tar.bz2";
url = "mirror://gcc/libstdc++/doxygen/libstdc++-man.${version}.tar.bz2";
sha256 = "0153py77ll759jacq41dp2z2ksr08pdcfic0rwjd6pr84dk89y9v";
};

Some files were not shown because too many files have changed in this diff Show More