Merge master into haskell-updates
This commit is contained in:
commit
79b7796557
213 changed files with 1653 additions and 923 deletions
|
@ -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.
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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} - - -"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
128
nixos/modules/services/networking/https-dns-proxy.nix
Normal file
128
nixos/modules/services/networking/https-dns-proxy.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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
|
||||
);
|
||||
};
|
||||
};
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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]}
|
||||
|
|
|
@ -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 {};
|
||||
|
|
|
@ -38,7 +38,6 @@ let
|
|||
} // extraConfig);
|
||||
in
|
||||
makeTest {
|
||||
inherit iso;
|
||||
name = "boot-" + name;
|
||||
nodes = { };
|
||||
testScript =
|
||||
|
|
|
@ -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 {
|
||||
}
|
||||
'';
|
||||
|
|
|
@ -48,7 +48,7 @@ let
|
|||
sudo
|
||||
ceph
|
||||
xfsprogs
|
||||
netcat-openbsd
|
||||
libressl.nc
|
||||
];
|
||||
|
||||
boot.kernelModules = [ "xfs" ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
16
nixos/tests/earlyoom.nix
Normal 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")
|
||||
'';
|
||||
})
|
|
@ -20,7 +20,7 @@ import ./make-test-python.nix (
|
|||
nodes = {
|
||||
|
||||
server =
|
||||
{ ... }:
|
||||
{ config, ... }:
|
||||
{
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
|
||||
|
|
|
@ -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
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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" ];
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
|
||||
stdenv.mkDerivation rec {
|
||||
name = "faustCompressors-v${version}";
|
||||
pname = "faustCompressors";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
|
107
pkgs/applications/graphics/unigine-heaven/default.nix
Normal file
107
pkgs/applications/graphics/unigine-heaven/default.nix
Normal 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" ];
|
||||
};
|
||||
}
|
|
@ -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";
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ let
|
|||
in
|
||||
|
||||
stdenv'.mkDerivation rec {
|
||||
name = "xmr-stak-${version}";
|
||||
pname = "xmr-stak";
|
||||
version = "2.10.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
|
|
@ -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 = "";
|
||||
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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=";
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
29
pkgs/applications/networking/cluster/kubent/default.nix
Normal file
29
pkgs/applications/networking/cluster/kubent/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
|
|
|
@ -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}";
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -115,7 +115,8 @@ let
|
|||
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "vmware-horizon-client";
|
||||
pname = "vmware-horizon-client";
|
||||
inherit version;
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
|
|
|
@ -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} \
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ lib, stdenv, fetchFromGitHub, python }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "z3-${version}";
|
||||
pname = "z3";
|
||||
version = "4.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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}";
|
||||
};
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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=";
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -22,7 +22,8 @@ let
|
|||
in
|
||||
|
||||
edk2.mkDerivation projectDscPath {
|
||||
name = "OVMF-${version}";
|
||||
pname = "OVMF";
|
||||
inherit version;
|
||||
|
||||
outputs = [ "out" "fd" ];
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -52,7 +52,7 @@ let
|
|||
};
|
||||
|
||||
in buildBazelPackage rec {
|
||||
name = "gvisor-${version}";
|
||||
pname = "gvisor";
|
||||
version = "20210518.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue