Merge master into haskell-updates
This commit is contained in:
commit
c1d60ca8ac
239 changed files with 10652 additions and 3211 deletions
14
.github/CODEOWNERS
vendored
14
.github/CODEOWNERS
vendored
|
@ -271,13 +271,13 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
|
|||
/pkgs/applications/editors/vscode/extensions @jonringer
|
||||
|
||||
# PHP interpreter, packages, extensions, tests and documentation
|
||||
/doc/languages-frameworks/php.section.md @aanderse @drupol @etu @globin @ma27 @talyz
|
||||
/nixos/tests/php @aanderse @drupol @etu @globin @ma27 @talyz
|
||||
/pkgs/build-support/php/build-pecl.nix @aanderse @drupol @etu @globin @ma27 @talyz
|
||||
/pkgs/build-support/php @drupol @etu
|
||||
/pkgs/development/interpreters/php @jtojnar @aanderse @drupol @etu @globin @ma27 @talyz
|
||||
/pkgs/development/php-packages @aanderse @drupol @etu @globin @ma27 @talyz
|
||||
/pkgs/top-level/php-packages.nix @jtojnar @aanderse @drupol @etu @globin @ma27 @talyz
|
||||
/doc/languages-frameworks/php.section.md @aanderse @drupol @globin @ma27 @talyz
|
||||
/nixos/tests/php @aanderse @drupol @globin @ma27 @talyz
|
||||
/pkgs/build-support/php/build-pecl.nix @aanderse @drupol @globin @ma27 @talyz
|
||||
/pkgs/build-support/php @drupol
|
||||
/pkgs/development/interpreters/php @jtojnar @aanderse @drupol @globin @ma27 @talyz
|
||||
/pkgs/development/php-packages @aanderse @drupol @globin @ma27 @talyz
|
||||
/pkgs/top-level/php-packages.nix @jtojnar @aanderse @drupol @globin @ma27 @talyz
|
||||
|
||||
# Docker tools
|
||||
/pkgs/build-support/docker @roberth
|
||||
|
|
|
@ -80,6 +80,10 @@ stdenv.mkDerivation {
|
|||
|
||||
The main difference between `fetchurl` and `fetchzip` is in how they store the contents. `fetchurl` will store the unaltered contents of the URL within the Nix store. `fetchzip` on the other hand, will decompress the archive for you, making files and directories directly accessible in the future. `fetchzip` can only be used with archives. Despite the name, `fetchzip` is not limited to .zip files and can also be used with any tarball.
|
||||
|
||||
Additional parameters to `fetchurl`:
|
||||
- `downloadToTemp`: Defaults to `false`. If `true`, saves the source to `$downloadedFile`, to be used in conjunction with `postFetch`
|
||||
- `postFetch`: Shell code executed after the file has been fetched successfully. Use it for postprocessing, to check or transform the file.
|
||||
|
||||
## `fetchpatch` {#fetchpatch}
|
||||
|
||||
`fetchpatch` works very similarly to `fetchurl` with the same arguments expected. It expects patch files as a source and performs normalization on them before computing the checksum. For example, it will remove comments or other unstable parts that are sometimes added by version control systems and can change over time.
|
||||
|
|
|
@ -1256,7 +1256,78 @@ let
|
|||
(opt.highestPrio or defaultOverridePriority)
|
||||
(f opt.value);
|
||||
|
||||
doRename = { from, to, visible, warn, use, withPriority ? true, condition ? true }:
|
||||
/*
|
||||
Return a module that help declares an option that has been renamed.
|
||||
When a value is defined for the old option, it is forwarded to the `to` option.
|
||||
*/
|
||||
doRename = {
|
||||
# List of strings representing the attribute path of the old option.
|
||||
from,
|
||||
# List of strings representing the attribute path of the new option.
|
||||
to,
|
||||
# Boolean, whether the old option is to be included in documentation.
|
||||
visible,
|
||||
# Whether to warn when a value is defined for the old option.
|
||||
# NOTE: This requires the NixOS assertions module to be imported, so
|
||||
# - this generally does not work in submodules
|
||||
# - this may or may not work outside NixOS
|
||||
warn,
|
||||
# A function that is applied to the option value, to form the value
|
||||
# of the old `from` option.
|
||||
#
|
||||
# For example, the identity function can be passed, to return the option value unchanged.
|
||||
# ```nix
|
||||
# use = x: x;
|
||||
# ```
|
||||
#
|
||||
# To add a warning, you can pass the partially applied `warn` function.
|
||||
# ```nix
|
||||
# use = lib.warn "Obsolete option `${opt.old}' is used. Use `${opt.to}' instead.";
|
||||
# ```
|
||||
use,
|
||||
# Legacy option, enabled by default: whether to preserve the priority of definitions in `old`.
|
||||
withPriority ? true,
|
||||
# A boolean that defines the `mkIf` condition for `to`.
|
||||
# If the condition evaluates to `true`, and the `to` path points into an
|
||||
# `attrsOf (submodule ...)`, then `doRename` would cause an empty module to
|
||||
# be created, even if the `from` option is undefined.
|
||||
# By setting this to an expression that may return `false`, you can inhibit
|
||||
# this undesired behavior.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# ```nix
|
||||
# { config, lib, ... }:
|
||||
# let
|
||||
# inherit (lib) mkOption mkEnableOption types doRename;
|
||||
# in
|
||||
# {
|
||||
# options = {
|
||||
#
|
||||
# # Old service
|
||||
# services.foo.enable = mkEnableOption "foo";
|
||||
#
|
||||
# # New multi-instance service
|
||||
# services.foos = mkOption {
|
||||
# type = types.attrsOf (types.submodule …);
|
||||
# };
|
||||
# };
|
||||
# imports = [
|
||||
# (doRename {
|
||||
# from = [ "services" "foo" "bar" ];
|
||||
# to = [ "services" "foos" "" "bar" ];
|
||||
# visible = true;
|
||||
# warn = false;
|
||||
# use = x: x;
|
||||
# withPriority = true;
|
||||
# # Only define services.foos."" if needed. (It's not just about `bar`)
|
||||
# condition = config.services.foo.enable;
|
||||
# })
|
||||
# ];
|
||||
# }
|
||||
# ```
|
||||
condition ? true
|
||||
}:
|
||||
{ config, options, ... }:
|
||||
let
|
||||
fromOpt = getAttrFromPath from options;
|
||||
|
|
|
@ -4590,6 +4590,12 @@
|
|||
githubId = 47436522;
|
||||
name = "deliciouslytyped";
|
||||
};
|
||||
delliott = {
|
||||
name = "Darragh Elliott";
|
||||
github = "delliottxyz";
|
||||
githubId = 150736012;
|
||||
email = "me+git@delliott.xyz";
|
||||
};
|
||||
delroth = {
|
||||
email = "delroth@gmail.com";
|
||||
github = "delroth";
|
||||
|
@ -5931,7 +5937,7 @@
|
|||
};
|
||||
etu = {
|
||||
email = "elis@hirwing.se";
|
||||
matrix = "@etu:semi.social";
|
||||
matrix = "@etu:failar.nu";
|
||||
github = "etu";
|
||||
githubId = 461970;
|
||||
name = "Elis Hirwing";
|
||||
|
@ -6707,6 +6713,16 @@
|
|||
githubId = 29337229;
|
||||
name = "mtths";
|
||||
};
|
||||
fx-chun = {
|
||||
email = "faye@lolc.at";
|
||||
matrix = "@faye:lolc.at";
|
||||
github = "fx-chun";
|
||||
githubId = 40049608;
|
||||
name = "Faye Chun";
|
||||
keys = [{
|
||||
fingerprint = "ACB8 DB1F E88D A908 6332 BDB1 5A71 B010 2FD7 3FC0";
|
||||
}];
|
||||
};
|
||||
fxfactorial = {
|
||||
email = "edgar.factorial@gmail.com";
|
||||
github = "fxfactorial";
|
||||
|
@ -13926,13 +13942,6 @@
|
|||
githubId = 47303199;
|
||||
name = "Simon Gutgesell";
|
||||
};
|
||||
noneucat = {
|
||||
email = "andy@lolc.at";
|
||||
matrix = "@noneucat:lolc.at";
|
||||
github = "noneucat";
|
||||
githubId = 40049608;
|
||||
name = "Andy Chun";
|
||||
};
|
||||
noodlez1232 = {
|
||||
email = "contact@nathanielbarragan.xyz";
|
||||
matrix = "@noodlez1232:matrix.org";
|
||||
|
@ -15814,6 +15823,12 @@
|
|||
github = "rafaelrc7";
|
||||
githubId = 5376043;
|
||||
};
|
||||
rafameou = {
|
||||
email = "rafaelmazz22@gmail.com";
|
||||
name = "Rafael Mazzutti";
|
||||
github = "rafameou";
|
||||
githubId = 26395874;
|
||||
};
|
||||
ragge = {
|
||||
email = "r.dahlen@gmail.com";
|
||||
github = "ragnard";
|
||||
|
|
|
@ -775,7 +775,6 @@ with lib.maintainers; {
|
|||
members = [
|
||||
aanderse
|
||||
drupol
|
||||
etu
|
||||
ma27
|
||||
talyz
|
||||
];
|
||||
|
|
|
@ -25,6 +25,10 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
- A new option `systemd.sysusers.enable` was added. If enabled, users and
|
||||
groups are created with systemd-sysusers instead of with a custom perl script.
|
||||
|
||||
- A new option `virtualisation.containers.cdi` was added. It contains `static` and `dynamic` attributes (corresponding to `/etc/cdi` and `/run/cdi` respectively) to configure the Container Device Interface (CDI).
|
||||
|
||||
- `virtualisation.docker.enableNvidia` and `virtualisation.podman.enableNvidia` options are deprecated. `virtualisation.containers.cdi.dynamic.nvidia.enable` should be used instead. This option will expose GPUs on containers with the `--device` CLI option. This is supported by Docker 25, Podman 3.2.0 and Singularity 4. Any container runtime that supports the CDI specification will take advantage of this feature.
|
||||
|
||||
- A new option `system.etc.overlay.enable` was added. If enabled, `/etc` is
|
||||
mounted via an overlayfs instead of being created by a custom perl script.
|
||||
|
||||
|
@ -81,6 +85,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
|||
|
||||
- [RustDesk](https://rustdesk.com), a full-featured open source remote control alternative for self-hosting and security with minimal configuration. Alternative to TeamViewer.
|
||||
|
||||
- [Scrutiny](https://github.com/AnalogJ/scrutiny), a S.M.A.R.T monitoring tool for hard disks with a web frontend.
|
||||
|
||||
- [systemd-lock-handler](https://git.sr.ht/~whynothugo/systemd-lock-handler/), a bridge between logind D-Bus events and systemd targets. Available as [services.systemd-lock-handler.enable](#opt-services.systemd-lock-handler.enable).
|
||||
|
||||
## Backward Incompatibilities {#sec-release-24.05-incompatibilities}
|
||||
|
|
|
@ -546,6 +546,7 @@
|
|||
./services/hardware/kanata.nix
|
||||
./services/hardware/lcd.nix
|
||||
./services/hardware/lirc.nix
|
||||
./services/hardware/nvidia-container-toolkit-cdi-generator
|
||||
./services/hardware/nvidia-optimus.nix
|
||||
./services/hardware/openrgb.nix
|
||||
./services/hardware/pcscd.nix
|
||||
|
@ -840,6 +841,7 @@
|
|||
./services/monitoring/riemann.nix
|
||||
./services/monitoring/rustdesk-server.nix
|
||||
./services/monitoring/scollector.nix
|
||||
./services/monitoring/scrutiny.nix
|
||||
./services/monitoring/smartd.nix
|
||||
./services/monitoring/snmpd.nix
|
||||
./services/monitoring/statsd.nix
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
{ config, lib, pkgs }: let
|
||||
mountOptions = { options = ["ro" "nosuid" "nodev" "bind"]; };
|
||||
mounts = [
|
||||
{ hostPath = "${lib.getBin config.hardware.nvidia.package}/bin/nvidia-cuda-mps-control";
|
||||
containerPath = "/usr/bin/nvidia-cuda-mps-control"; }
|
||||
{ hostPath = "${lib.getBin config.hardware.nvidia.package}/bin/nvidia-cuda-mps-server";
|
||||
containerPath = "/usr/bin/nvidia-cuda-mps-server"; }
|
||||
{ hostPath = "${lib.getBin config.hardware.nvidia.package}/bin/nvidia-debugdump";
|
||||
containerPath = "/usr/bin/nvidia-debugdump"; }
|
||||
{ hostPath = "${lib.getBin config.hardware.nvidia.package}/bin/nvidia-powerd";
|
||||
containerPath = "/usr/bin/nvidia-powerd"; }
|
||||
{ hostPath = "${lib.getBin config.hardware.nvidia.package}/bin/nvidia-smi";
|
||||
containerPath = "/usr/bin/nvidia-smi"; }
|
||||
{ hostPath = "${pkgs.nvidia-container-toolkit}/bin/nvidia-ctk";
|
||||
containerPath = "/usr/bin/nvidia-ctk"; }
|
||||
{ hostPath = "${pkgs.glibc}/lib";
|
||||
containerPath = "${pkgs.glibc}/lib"; }
|
||||
{ hostPath = "${pkgs.glibc}/lib64";
|
||||
containerPath = "${pkgs.glibc}/lib64"; }
|
||||
];
|
||||
jqAddMountExpression = ".containerEdits.mounts[.containerEdits.mounts | length] |= . +";
|
||||
mountsToJq = lib.concatMap
|
||||
(mount:
|
||||
["${pkgs.jq}/bin/jq '${jqAddMountExpression} ${builtins.toJSON (mount // mountOptions)}'"])
|
||||
mounts;
|
||||
in ''
|
||||
#! ${pkgs.runtimeShell}
|
||||
|
||||
function cdiGenerate {
|
||||
${pkgs.nvidia-container-toolkit}/bin/nvidia-ctk cdi generate \
|
||||
--format json \
|
||||
--ldconfig-path ${pkgs.glibc.bin}/bin/ldconfig \
|
||||
--library-search-path ${config.hardware.nvidia.package}/lib \
|
||||
--nvidia-ctk-path ${pkgs.nvidia-container-toolkit}/bin/nvidia-ctk
|
||||
}
|
||||
|
||||
cdiGenerate | \
|
||||
${lib.concatStringsSep " | " mountsToJq} > $RUNTIME_DIRECTORY/nvidia-container-toolkit.json
|
||||
''
|
|
@ -0,0 +1,38 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
options = {
|
||||
|
||||
hardware.nvidia-container-toolkit-cdi-generator.enable = lib.mkOption {
|
||||
default = false;
|
||||
internal = true;
|
||||
visible = false;
|
||||
type = lib.types.bool;
|
||||
description = lib.mdDoc ''
|
||||
Enable dynamic CDI configuration for NVidia devices by running
|
||||
nvidia-container-toolkit on boot.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = {
|
||||
|
||||
systemd.services.nvidia-container-toolkit-cdi-generator = lib.mkIf config.hardware.nvidia-container-toolkit-cdi-generator.enable {
|
||||
description = "Container Device Interface (CDI) for Nvidia generator";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "systemd-udev-settle.service" ];
|
||||
serviceConfig = {
|
||||
RuntimeDirectory = "cdi";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = let
|
||||
script = (pkgs.writeScriptBin "nvidia-cdi-generator"
|
||||
(import ./cdi-generate.nix { inherit config lib pkgs; })); in (lib.getExe script);
|
||||
Type = "oneshot";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -1,41 +1,54 @@
|
|||
{ config, lib, pkgs, options }:
|
||||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, options
|
||||
}:
|
||||
|
||||
with lib;
|
||||
let
|
||||
inherit (lib)
|
||||
escapeShellArgs
|
||||
mkOption
|
||||
optionals
|
||||
types
|
||||
;
|
||||
|
||||
let cfg = config.services.prometheus.exporters.fastly;
|
||||
cfg = config.services.prometheus.exporters.fastly;
|
||||
in
|
||||
{
|
||||
port = 9118;
|
||||
extraOpts = {
|
||||
debug = mkEnableOption (lib.mdDoc "Debug logging mode for fastly-exporter");
|
||||
|
||||
extraOpts = with types; {
|
||||
configFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
type = nullOr path;
|
||||
default = null;
|
||||
description = lib.mdDoc ''
|
||||
example = "./fastly-exporter-config.txt";
|
||||
description = ''
|
||||
Path to a fastly-exporter configuration file.
|
||||
Example one can be generated with `fastly-exporter --config-file-example`.
|
||||
'';
|
||||
example = "./fastly-exporter-config.txt";
|
||||
};
|
||||
|
||||
tokenPath = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
apply = final: if final == null then null else toString final;
|
||||
description = lib.mdDoc ''
|
||||
type = path;
|
||||
description = ''
|
||||
A run-time path to the token file, which is supposed to be provisioned
|
||||
outside of Nix store.
|
||||
'';
|
||||
};
|
||||
};
|
||||
serviceOpts = {
|
||||
script = ''
|
||||
${optionalString (cfg.tokenPath != null)
|
||||
"export FASTLY_API_TOKEN=$(cat ${toString cfg.tokenPath})"}
|
||||
${pkgs.prometheus-fastly-exporter}/bin/fastly-exporter \
|
||||
-listen http://${cfg.listenAddress}:${toString cfg.port}
|
||||
${optionalString cfg.debug "-debug true"} \
|
||||
${optionalString (cfg.configFile != null) "-config-file ${cfg.configFile}"}
|
||||
serviceConfig = {
|
||||
LoadCredential = "fastly-api-token:${cfg.tokenPath}";
|
||||
};
|
||||
script = let
|
||||
call = escapeShellArgs ([
|
||||
"${pkgs.prometheus-fastly-exporter}/bin/fastly-exporter"
|
||||
"-listen" "${cfg.listenAddress}:${toString cfg.port}"
|
||||
] ++ optionals (cfg.configFile != null) [
|
||||
"--config-file" cfg.configFile
|
||||
] ++ cfg.extraFlags);
|
||||
in ''
|
||||
export FASTLY_API_TOKEN="$(cat $CREDENTIALS_DIRECTORY/fastly-api-token)"
|
||||
${call}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
221
nixos/modules/services/monitoring/scrutiny.nix
Normal file
221
nixos/modules/services/monitoring/scrutiny.nix
Normal file
|
@ -0,0 +1,221 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.services.scrutiny;
|
||||
# Define the settings format used for this program
|
||||
settingsFormat = pkgs.formats.yaml { };
|
||||
in
|
||||
{
|
||||
options = {
|
||||
services.scrutiny = {
|
||||
enable = lib.mkEnableOption "Enables the scrutiny web application.";
|
||||
|
||||
package = lib.mkPackageOptionMD pkgs "scrutiny" { };
|
||||
|
||||
openFirewall = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "Open the default ports in the firewall for Scrutiny.";
|
||||
};
|
||||
|
||||
influxdb.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = lib.mdDoc ''
|
||||
Enables InfluxDB on the host system using the `services.influxdb2` NixOS module
|
||||
with default options.
|
||||
|
||||
If you already have InfluxDB configured, or wish to connect to an external InfluxDB
|
||||
instance, disable this option.
|
||||
'';
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
description = lib.mdDoc ''
|
||||
Scrutiny settings to be rendered into the configuration file.
|
||||
|
||||
See https://github.com/AnalogJ/scrutiny/blob/master/example.scrutiny.yaml.
|
||||
'';
|
||||
default = { };
|
||||
type = lib.types.submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
|
||||
options.web.listen.port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 8080;
|
||||
description = lib.mdDoc "Port for web application to listen on.";
|
||||
};
|
||||
|
||||
options.web.listen.host = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "0.0.0.0";
|
||||
description = lib.mdDoc "Interface address for web application to bind to.";
|
||||
};
|
||||
|
||||
options.web.listen.basepath = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "";
|
||||
example = "/scrutiny";
|
||||
description = lib.mdDoc ''
|
||||
If Scrutiny will be behind a path prefixed reverse proxy, you can override this
|
||||
value to serve Scrutiny on a subpath.
|
||||
'';
|
||||
};
|
||||
|
||||
options.log.level = lib.mkOption {
|
||||
type = lib.types.enum [ "INFO" "DEBUG" ];
|
||||
default = "INFO";
|
||||
description = lib.mdDoc "Log level for Scrutiny.";
|
||||
};
|
||||
|
||||
options.web.influxdb.scheme = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "http";
|
||||
description = lib.mdDoc "URL scheme to use when connecting to InfluxDB.";
|
||||
};
|
||||
|
||||
options.web.influxdb.host = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "0.0.0.0";
|
||||
description = lib.mdDoc "IP or hostname of the InfluxDB instance.";
|
||||
};
|
||||
|
||||
options.web.influxdb.port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 8086;
|
||||
description = lib.mdDoc "The port of the InfluxDB instance.";
|
||||
};
|
||||
|
||||
options.web.influxdb.tls.insecure_skip_verify = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc "Skip TLS verification when connecting to InfluxDB.";
|
||||
};
|
||||
|
||||
options.web.influxdb.token = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = lib.mdDoc "Authentication token for connecting to InfluxDB.";
|
||||
};
|
||||
|
||||
options.web.influxdb.org = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = lib.mdDoc "InfluxDB organisation under which to store data.";
|
||||
};
|
||||
|
||||
options.web.influxdb.bucket = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = lib.mdDoc "InfluxDB bucket in which to store data.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
collector = {
|
||||
enable = lib.mkEnableOption "Enables the scrutiny metrics collector.";
|
||||
|
||||
package = lib.mkPackageOptionMD pkgs "scrutiny-collector" { };
|
||||
|
||||
schedule = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "*:0/15";
|
||||
description = lib.mdDoc ''
|
||||
How often to run the collector in systemd calendar format.
|
||||
'';
|
||||
};
|
||||
|
||||
settings = lib.mkOption {
|
||||
description = lib.mdDoc ''
|
||||
Collector settings to be rendered into the collector configuration file.
|
||||
|
||||
See https://github.com/AnalogJ/scrutiny/blob/master/example.collector.yaml.
|
||||
'';
|
||||
default = { };
|
||||
type = lib.types.submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
|
||||
options.host.id = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.str;
|
||||
default = null;
|
||||
description = lib.mdDoc "Host ID for identifying/labelling groups of disks";
|
||||
};
|
||||
|
||||
options.api.endpoint = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "http://localhost:8080";
|
||||
description = lib.mdDoc "Scrutiny app API endpoint for sending metrics to.";
|
||||
};
|
||||
|
||||
options.log.level = lib.mkOption {
|
||||
type = lib.types.enum [ "INFO" "DEBUG" ];
|
||||
default = "INFO";
|
||||
description = lib.mdDoc "Log level for Scrutiny collector.";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf (cfg.enable || cfg.collector.enable) {
|
||||
services.influxdb2.enable = cfg.influxdb.enable;
|
||||
|
||||
networking.firewall = lib.mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ cfg.settings.web.listen.port ];
|
||||
};
|
||||
|
||||
services.smartd = lib.mkIf cfg.collector.enable {
|
||||
enable = true;
|
||||
extraOptions = [
|
||||
"-A /var/log/smartd/"
|
||||
"--interval=600"
|
||||
];
|
||||
};
|
||||
|
||||
systemd = {
|
||||
services = {
|
||||
scrutiny = lib.mkIf cfg.enable {
|
||||
description = "Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
environment = {
|
||||
SCRUTINY_VERSION = "1";
|
||||
SCRUTINY_WEB_DATABASE_LOCATION = "/var/lib/scrutiny/scrutiny.db";
|
||||
SCRUTINY_WEB_SRC_FRONTEND_PATH = "${cfg.package}/share/scrutiny";
|
||||
};
|
||||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
ExecStart = "${lib.getExe cfg.package} start --config ${settingsFormat.generate "scrutiny.yaml" cfg.settings}";
|
||||
Restart = "always";
|
||||
StateDirectory = "scrutiny";
|
||||
StateDirectoryMode = "0750";
|
||||
};
|
||||
};
|
||||
|
||||
scrutiny-collector = lib.mkIf cfg.collector.enable {
|
||||
description = "Scrutiny Collector Service";
|
||||
environment = {
|
||||
COLLECTOR_VERSION = "1";
|
||||
COLLECTOR_API_ENDPOINT = cfg.collector.settings.api.endpoint;
|
||||
};
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${lib.getExe cfg.collector.package} run --config ${settingsFormat.generate "scrutiny-collector.yaml" cfg.collector.settings}";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
timers = lib.mkIf cfg.collector.enable {
|
||||
scrutiny-collector = {
|
||||
timerConfig = {
|
||||
OnCalendar = cfg.collector.schedule;
|
||||
Persistent = true;
|
||||
Unit = "scrutiny-collector.service";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = [ lib.maintainers.jnsgruk ];
|
||||
}
|
|
@ -238,7 +238,9 @@ in
|
|||
# this should not run because /etc is mounted via a systemd mount unit
|
||||
# instead. To a large extent this mimics what composefs does. Because
|
||||
# it's relatively simple, however, we avoid the composefs dependency.
|
||||
if [[ ! $IN_NIXOS_SYSTEMD_STAGE1 ]]; then
|
||||
# Since this script is not idempotent, it should not run when etc hasn't
|
||||
# changed.
|
||||
if [[ ! $IN_NIXOS_SYSTEMD_STAGE1 ]] && [[ "${config.system.build.etc}/etc" != "$(readlink -f /run/current-system/etc)" ]]; then
|
||||
echo "remounting /etc..."
|
||||
|
||||
tmpMetadataMount=$(mktemp --directory)
|
||||
|
|
|
@ -28,6 +28,43 @@ in
|
|||
description = lib.mdDoc "Enable the OCI seccomp BPF hook";
|
||||
};
|
||||
|
||||
cdi = {
|
||||
dynamic.nvidia.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Enable dynamic CDI configuration for NVidia devices by running nvidia-container-toolkit on boot.
|
||||
'';
|
||||
};
|
||||
|
||||
static = mkOption {
|
||||
type = types.attrs;
|
||||
default = { };
|
||||
description = lib.mdDoc ''
|
||||
Declarative CDI specification. Each key of the attribute set
|
||||
will be mapped to a file in /etc/cdi. It is required for every
|
||||
key to be provided in JSON format.
|
||||
'';
|
||||
example = {
|
||||
some-vendor = builtins.fromJSON ''
|
||||
{
|
||||
"cdiVersion": "0.5.0",
|
||||
"kind": "some-vendor.com/foo",
|
||||
"devices": [],
|
||||
"containerEdits": []
|
||||
}
|
||||
'';
|
||||
|
||||
some-other-vendor = {
|
||||
cdiVersion = "0.5.0";
|
||||
kind = "some-other-vendor.com/bar";
|
||||
devices = [];
|
||||
containerEdits = [];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
containersConf.settings = mkOption {
|
||||
type = toml.type;
|
||||
default = { };
|
||||
|
@ -113,6 +150,8 @@ in
|
|||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
hardware.nvidia-container-toolkit-cdi-generator.enable = lib.mkIf cfg.cdi.dynamic.nvidia.enable true;
|
||||
|
||||
virtualisation.containers.containersConf.cniPlugins = [ pkgs.cni-plugins ];
|
||||
|
||||
virtualisation.containers.containersConf.settings = {
|
||||
|
@ -124,19 +163,28 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
environment.etc."containers/containers.conf".source =
|
||||
toml.generate "containers.conf" cfg.containersConf.settings;
|
||||
environment.etc = let
|
||||
cdiStaticConfigurationFiles = (lib.attrsets.mapAttrs'
|
||||
(name: value:
|
||||
lib.attrsets.nameValuePair "cdi/${name}.json"
|
||||
{ text = builtins.toJSON value; })
|
||||
cfg.cdi.static);
|
||||
in {
|
||||
"containers/containers.conf".source =
|
||||
toml.generate "containers.conf" cfg.containersConf.settings;
|
||||
|
||||
environment.etc."containers/storage.conf".source =
|
||||
toml.generate "storage.conf" cfg.storage.settings;
|
||||
"containers/storage.conf".source =
|
||||
toml.generate "storage.conf" cfg.storage.settings;
|
||||
|
||||
environment.etc."containers/registries.conf".source = toml.generate "registries.conf" {
|
||||
registries = lib.mapAttrs (n: v: { registries = v; }) cfg.registries;
|
||||
};
|
||||
"containers/registries.conf".source = toml.generate "registries.conf" {
|
||||
registries = lib.mapAttrs (n: v: { registries = v; }) cfg.registries;
|
||||
};
|
||||
|
||||
"containers/policy.json".source =
|
||||
if cfg.policy != { } then pkgs.writeText "policy.json" (builtins.toJSON cfg.policy)
|
||||
else "${pkgs.skopeo.policy}/default-policy.json";
|
||||
} // cdiStaticConfigurationFiles;
|
||||
|
||||
environment.etc."containers/policy.json".source =
|
||||
if cfg.policy != { } then pkgs.writeText "policy.json" (builtins.toJSON cfg.policy)
|
||||
else "${pkgs.skopeo.policy}/default-policy.json";
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -72,6 +72,8 @@ in
|
|||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
**Deprecated**, please use virtualisation.containers.cdi.dynamic.nvidia.enable instead.
|
||||
|
||||
Enable nvidia-docker wrapper, supporting NVIDIA GPUs inside docker containers.
|
||||
'';
|
||||
};
|
||||
|
@ -185,6 +187,16 @@ in
|
|||
users.groups.docker.gid = config.ids.gids.docker;
|
||||
systemd.packages = [ cfg.package ];
|
||||
|
||||
# Docker 25.0.0 supports CDI by default
|
||||
# (https://docs.docker.com/engine/release-notes/25.0/#new). Encourage
|
||||
# moving to CDI as opposed to having deprecated runtime
|
||||
# wrappers.
|
||||
warnings = lib.optionals (cfg.enableNvidia && (lib.strings.versionAtLeast cfg.package.version "25")) [
|
||||
''
|
||||
You have set virtualisation.docker.enableNvidia. This option is deprecated, please set virtualisation.containers.cdi.dynamic.nvidia.enable instead.
|
||||
''
|
||||
];
|
||||
|
||||
systemd.services.docker = {
|
||||
wantedBy = optional cfg.enableOnBoot "multi-user.target";
|
||||
after = [ "network.target" "docker.socket" ];
|
||||
|
|
|
@ -14,7 +14,9 @@
|
|||
|
||||
options = { };
|
||||
|
||||
config = {
|
||||
config = let
|
||||
initScript = if config.boot.initrd.systemd.enable then "prepare-root" else "init";
|
||||
in {
|
||||
boot.isContainer = true;
|
||||
boot.postBootCommands =
|
||||
''
|
||||
|
@ -41,7 +43,7 @@
|
|||
|
||||
contents = [
|
||||
{
|
||||
source = config.system.build.toplevel + "/init";
|
||||
source = config.system.build.toplevel + "/${initScript}";
|
||||
target = "/sbin/init";
|
||||
}
|
||||
# Technically this is not required for lxc, but having also make this configuration work with systemd-nspawn.
|
||||
|
@ -65,7 +67,7 @@
|
|||
|
||||
pseudoFiles = [
|
||||
"/sbin d 0755 0 0"
|
||||
"/sbin/init s 0555 0 0 ${config.system.build.toplevel}/init"
|
||||
"/sbin/init s 0555 0 0 ${config.system.build.toplevel}/${initScript}"
|
||||
"/dev d 0755 0 0"
|
||||
"/proc d 0555 0 0"
|
||||
"/sys d 0555 0 0"
|
||||
|
@ -74,7 +76,7 @@
|
|||
|
||||
system.build.installBootLoader = pkgs.writeScript "install-lxd-sbin-init.sh" ''
|
||||
#!${pkgs.runtimeShell}
|
||||
${pkgs.coreutils}/bin/ln -fs "$1/init" /sbin/init
|
||||
${pkgs.coreutils}/bin/ln -fs "$1/${initScript}" /sbin/init
|
||||
'';
|
||||
|
||||
# networkd depends on this, but systemd module disables this for containers
|
||||
|
@ -83,7 +85,7 @@
|
|||
systemd.packages = [ pkgs.distrobuilder.generator ];
|
||||
|
||||
system.activationScripts.installInitScript = lib.mkForce ''
|
||||
ln -fs $systemConfig/init /sbin/init
|
||||
ln -fs $systemConfig/${initScript} /sbin/init
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -82,6 +82,8 @@ in
|
|||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
**Deprecated**, please use virtualisation.containers.cdi.dynamic.nvidia.enable instead.
|
||||
|
||||
Enable use of NVidia GPUs from within podman containers.
|
||||
'';
|
||||
};
|
||||
|
@ -166,6 +168,12 @@ in
|
|||
inherit (networkConfig) dns_enabled network_interface;
|
||||
in
|
||||
lib.mkIf cfg.enable {
|
||||
warnings = lib.optionals cfg.enableNvidia [
|
||||
''
|
||||
You have set virtualisation.podman.enableNvidia. This option is deprecated, please set virtualisation.containers.cdi.dynamic.nvidia.enable instead.
|
||||
''
|
||||
];
|
||||
|
||||
environment.systemPackages = [ cfg.package ]
|
||||
++ lib.optional cfg.dockerCompat dockerCompat;
|
||||
|
||||
|
|
|
@ -20,11 +20,17 @@
|
|||
};
|
||||
|
||||
testScript = ''
|
||||
machine.succeed("findmnt --kernel --type overlay /etc")
|
||||
machine.fail("stat /etc/newgen")
|
||||
with subtest("/etc is mounted as an overlay"):
|
||||
machine.succeed("findmnt --kernel --type overlay /etc")
|
||||
|
||||
machine.succeed("/run/current-system/specialisation/new-generation/bin/switch-to-configuration switch")
|
||||
with subtest("switching to the same generation"):
|
||||
machine.succeed("/run/current-system/bin/switch-to-configuration test")
|
||||
|
||||
assert machine.succeed("cat /etc/newgen") == "newgen"
|
||||
with subtest("switching to a new generation"):
|
||||
machine.fail("stat /etc/newgen")
|
||||
|
||||
machine.succeed("/run/current-system/specialisation/new-generation/bin/switch-to-configuration switch")
|
||||
|
||||
assert machine.succeed("cat /etc/newgen") == "newgen"
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -18,13 +18,19 @@
|
|||
};
|
||||
|
||||
testScript = ''
|
||||
machine.succeed("findmnt --kernel --type overlay /etc")
|
||||
machine.fail("stat /etc/newgen")
|
||||
machine.succeed("echo -n 'mutable' > /etc/mutable")
|
||||
with subtest("/etc is mounted as an overlay"):
|
||||
machine.succeed("findmnt --kernel --type overlay /etc")
|
||||
|
||||
machine.succeed("/run/current-system/specialisation/new-generation/bin/switch-to-configuration switch")
|
||||
with subtest("switching to the same generation"):
|
||||
machine.succeed("/run/current-system/bin/switch-to-configuration test")
|
||||
|
||||
assert machine.succeed("cat /etc/newgen") == "newgen"
|
||||
assert machine.succeed("cat /etc/mutable") == "mutable"
|
||||
with subtest("switching to a new generation"):
|
||||
machine.fail("stat /etc/newgen")
|
||||
machine.succeed("echo -n 'mutable' > /etc/mutable")
|
||||
|
||||
machine.succeed("/run/current-system/specialisation/new-generation/bin/switch-to-configuration switch")
|
||||
|
||||
assert machine.succeed("cat /etc/newgen") == "newgen"
|
||||
assert machine.succeed("cat /etc/mutable") == "mutable"
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -539,6 +539,7 @@ in {
|
|||
mongodb = handleTest ./mongodb.nix {};
|
||||
moodle = handleTest ./moodle.nix {};
|
||||
moonraker = handleTest ./moonraker.nix {};
|
||||
morph-browser = handleTest ./morph-browser.nix { };
|
||||
morty = handleTest ./morty.nix {};
|
||||
mosquitto = handleTest ./mosquitto.nix {};
|
||||
moosefs = handleTest ./moosefs.nix {};
|
||||
|
@ -771,6 +772,7 @@ in {
|
|||
sanoid = handleTest ./sanoid.nix {};
|
||||
scaphandre = handleTest ./scaphandre.nix {};
|
||||
schleuder = handleTest ./schleuder.nix {};
|
||||
scrutiny = handleTest ./scrutiny.nix {};
|
||||
sddm = handleTest ./sddm.nix {};
|
||||
seafile = handleTest ./seafile.nix {};
|
||||
searx = handleTest ./searx.nix {};
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
import ../make-test-python.nix ({ pkgs, lib, ... } :
|
||||
import ../make-test-python.nix ({ pkgs, lib, extra ? {}, ... } :
|
||||
|
||||
let
|
||||
releases = import ../../release.nix {
|
||||
configuration = {
|
||||
# Building documentation makes the test unnecessarily take a longer time:
|
||||
documentation.enable = lib.mkForce false;
|
||||
};
|
||||
} // extra;
|
||||
};
|
||||
|
||||
container-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
|
|
|
@ -5,7 +5,11 @@
|
|||
handleTestOn,
|
||||
}:
|
||||
{
|
||||
container = import ./container.nix { inherit system pkgs; };
|
||||
container-old-init = import ./container.nix { inherit system pkgs; };
|
||||
container-new-init = import ./container.nix { inherit system pkgs; extra = {
|
||||
# Enable new systemd init
|
||||
boot.initrd.systemd.enable = true;
|
||||
}; };
|
||||
lxd-to-incus = import ./lxd-to-incus.nix { inherit system pkgs; };
|
||||
preseed = import ./preseed.nix { inherit system pkgs; };
|
||||
socket-activated = import ./socket-activated.nix { inherit system pkgs; };
|
||||
|
|
53
nixos/tests/morph-browser.nix
Normal file
53
nixos/tests/morph-browser.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
name = "morph-browser-standalone";
|
||||
meta.maintainers = lib.teams.lomiri.members;
|
||||
|
||||
nodes.machine = { config, pkgs, ... }: {
|
||||
imports = [
|
||||
./common/x11.nix
|
||||
];
|
||||
|
||||
services.xserver.enable = true;
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs.lomiri; [
|
||||
suru-icon-theme
|
||||
morph-browser
|
||||
];
|
||||
variables = {
|
||||
UITK_ICON_THEME = "suru";
|
||||
};
|
||||
};
|
||||
|
||||
i18n.supportedLocales = [ "all" ];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
# Intended font & helps with OCR
|
||||
ubuntu_font_family
|
||||
];
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
testScript =
|
||||
''
|
||||
machine.wait_for_x()
|
||||
|
||||
with subtest("morph browser launches"):
|
||||
machine.execute("morph-browser >&2 &")
|
||||
machine.wait_for_text(r"Web Browser|New|sites|Bookmarks")
|
||||
machine.screenshot("morph_open")
|
||||
|
||||
with subtest("morph browser displays HTML"):
|
||||
machine.send_chars("file://${pkgs.valgrind.doc}/share/doc/valgrind/html/index.html\n")
|
||||
machine.wait_for_text("Valgrind Documentation")
|
||||
machine.screenshot("morph_htmlcontent")
|
||||
|
||||
machine.succeed("pkill -f morph-browser")
|
||||
|
||||
with subtest("morph browser localisation works"):
|
||||
machine.execute("env LANG=de_DE.UTF-8 morph-browser >&2 &")
|
||||
machine.wait_for_text(r"Web-Browser|Neuer|Seiten|Lesezeichen")
|
||||
machine.screenshot("morph_localised")
|
||||
'';
|
||||
})
|
|
@ -84,7 +84,7 @@ in {
|
|||
"${withRcloneEnv} ${copySharedFile}"
|
||||
)
|
||||
client.wait_for_unit("multi-user.target")
|
||||
client.execute("${pkgs.nextcloud-notify_push.passthru.test_client}/bin/test_client http://nextcloud ${adminuser} ${adminpass} >&2 &")
|
||||
client.execute("${pkgs.lib.getExe pkgs.nextcloud-notify_push.passthru.test_client} http://nextcloud ${adminuser} ${adminpass} >&2 &")
|
||||
client.succeed(
|
||||
"${withRcloneEnv} ${diffSharedFile}"
|
||||
)
|
||||
|
|
70
nixos/tests/scrutiny.nix
Normal file
70
nixos/tests/scrutiny.nix
Normal file
|
@ -0,0 +1,70 @@
|
|||
import ./make-test-python.nix ({ lib, ... }:
|
||||
|
||||
{
|
||||
name = "scrutiny";
|
||||
meta.maintainers = with lib.maintainers; [ jnsgruk ];
|
||||
|
||||
nodes = {
|
||||
machine = { self, pkgs, lib, ... }: {
|
||||
services = {
|
||||
scrutiny.enable = true;
|
||||
scrutiny.collector.enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages =
|
||||
let
|
||||
seleniumScript = pkgs.writers.writePython3Bin "selenium-script"
|
||||
{
|
||||
libraries = with pkgs.python3Packages; [ selenium ];
|
||||
} ''
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.by import By
|
||||
from selenium.webdriver.firefox.options import Options
|
||||
from selenium.webdriver.support.ui import WebDriverWait
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
|
||||
options = Options()
|
||||
options.add_argument("--headless")
|
||||
service = webdriver.FirefoxService(executable_path="${lib.getExe pkgs.geckodriver}") # noqa: E501
|
||||
|
||||
driver = webdriver.Firefox(options=options, service=service)
|
||||
driver.implicitly_wait(10)
|
||||
driver.get("http://localhost:8080/web/dashboard")
|
||||
|
||||
wait = WebDriverWait(driver, 10).until(
|
||||
EC.text_to_be_present_in_element(
|
||||
(By.TAG_NAME, "body"), "Drive health at a glance")
|
||||
)
|
||||
|
||||
body_text = driver.find_element(By.TAG_NAME, "body").text
|
||||
assert "Temperature history for each device" in body_text
|
||||
|
||||
driver.close()
|
||||
'';
|
||||
in
|
||||
with pkgs; [ curl firefox-unwrapped geckodriver seleniumScript ];
|
||||
};
|
||||
};
|
||||
# This is the test code that will check if our service is running correctly:
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
# Wait for InfluxDB to be available
|
||||
machine.wait_for_unit("influxdb2")
|
||||
machine.wait_for_open_port(8086)
|
||||
|
||||
# Wait for Scrutiny to be available
|
||||
machine.wait_for_unit("scrutiny")
|
||||
machine.wait_for_open_port(8080)
|
||||
|
||||
# Ensure the API responds as we expect
|
||||
output = machine.succeed("curl localhost:8080/api/health")
|
||||
assert output == '{"success":true}'
|
||||
|
||||
# Start the collector service to send some metrics
|
||||
collect = machine.succeed("systemctl start scrutiny-collector.service")
|
||||
|
||||
# Ensure the application is actually rendered by the Javascript
|
||||
machine.succeed("PYTHONUNBUFFERED=1 selenium-script")
|
||||
'';
|
||||
})
|
|
@ -5,12 +5,12 @@
|
|||
|
||||
python3.pkgs.buildPythonPackage rec {
|
||||
pname = "ledfx";
|
||||
version = "2.0.93";
|
||||
version = "2.0.94";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-A34GY7uhkHcrofjeFzK3l/Uzr+aoQQ5JERK+HUhoosM=";
|
||||
hash = "sha256-l498NXt3Ib9QLTWoJcpngAwkbY6JqLbVLKhTWQye7Fs=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
|
|
@ -53,6 +53,6 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://mimic.mycroft.ai/";
|
||||
license = lib.licenses.free;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = [ lib.maintainers.noneucat ];
|
||||
maintainers = [ lib.maintainers.fx-chun ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ pythonPackages.buildPythonApplication rec {
|
|||
pyyaml
|
||||
];
|
||||
|
||||
setupPyGlobalFlags = [ "build" "--disable-autoupdate" ];
|
||||
setupPyGlobalFlags = [ "build" "--disable-autoupdate" "--localedir=$out/share/locale" ];
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$(mktemp -d)
|
||||
|
|
|
@ -3,22 +3,27 @@
|
|||
, autoreconfHook
|
||||
, pkg-config
|
||||
, openssl
|
||||
, unstableGitUpdater
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "btcdeb";
|
||||
version = "unstable-2022-04-03";
|
||||
version = "0.3.20-unstable-2024-02-06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitcoin-core";
|
||||
repo = "btcdeb";
|
||||
rev = "3ba1ec7f4d37f7d2ff0544403465004c6e12036e";
|
||||
hash = "sha256-l/PGXXX288mnoSFZ32t2Xd13dC6JCU5wDHoDxb+fcp0=";
|
||||
rev = "b9288fc3371eb1d9be0cae2549be25de66659be8";
|
||||
hash = "sha256-IieLNMA3m6g2Kn7g3iewmUL9c+meMR4hrrwVYqNZoh8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook ];
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.updateScript = unstableGitUpdater {};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Bitcoin Script Debugger";
|
||||
homepage = "https://github.com/bitcoin-core/btcdeb";
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
let
|
||||
pname = "trezor-suite";
|
||||
version = "24.1.2";
|
||||
version = "24.2.2";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
suffix = {
|
||||
|
@ -19,8 +19,8 @@ let
|
|||
src = fetchurl {
|
||||
url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage";
|
||||
hash = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/'
|
||||
aarch64-linux = "sha512-/D3mwyF00YWgDVq0GNDyegc8mLF63cxCOe/vnpGyLz9/Oj5aBl3oG32cj+c8e11+eHYigkKb72nFz5zBoPx8Bw==";
|
||||
x86_64-linux = "sha512-ehIIOksVzKLGYs6GNZ8w5XvellFRb9sHVORS7MOXmwbbikjgkNX/nlfjwmUKOysxI4PwPzIbqtuX2GYyC9lXHw==";
|
||||
aarch64-linux = "sha512-8ws6umKaHGJQNRp6JV+X4W347bQeO1XSLRgJcLU2A+3qH8U7o/6G9rbTMhRlFNsDtIfyqWjn5W5FcXmZCk7kFw==";
|
||||
x86_64-linux = "sha512-s1MwQeEYmOM+OxdqryP3FaZEMxOk5c9nHvxZerSe+jXQMkQLhy0ivXCIz2KXoxUxxEiVgwu/uemv19FLy+q0MQ==";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
|
|
|
@ -7968,12 +7968,12 @@ final: prev:
|
|||
|
||||
nvim-tree-lua = buildVimPlugin {
|
||||
pname = "nvim-tree.lua";
|
||||
version = "2024-02-12";
|
||||
version = "2024-02-20";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-tree";
|
||||
repo = "nvim-tree.lua";
|
||||
rev = "863cf832ceb0b2377c913b7696dd7d64f4978941";
|
||||
sha256 = "1pcfv6skwxifyzh94a8rjzz3gffflxlf5c2zvs851adc1lkhbwrp";
|
||||
rev = "030defdb6522f5f716d8201d20ca1a2baa57ca66";
|
||||
sha256 = "sha256-eWqm1Vk3KQspImy/k2aMXFmsXkVQkMjrVidUVmEJzek=";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
|
||||
};
|
||||
|
|
|
@ -1321,6 +1321,23 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
earthly.earthfile-syntax-highlighting = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "earthfile-syntax-highlighting";
|
||||
publisher = "earthly";
|
||||
version = "0.0.16";
|
||||
sha256 = "c54d6fd4d2f503a1031be92ff118b5eb1b997907511734e730e08b1a90a6960f";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/earthly.earthfile-syntax-highlighting/changelog";
|
||||
description = "Syntax highlighting for Earthly build Earthfiles.";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=earthly.earthfile-syntax-highlighting";
|
||||
homepage = "https://github.com/earthly/earthfile-grammar";
|
||||
license = lib.licenses.mpl20;
|
||||
maintainers = [ lib.maintainers.DataHearth ];
|
||||
};
|
||||
};
|
||||
|
||||
ecmel.vscode-html-css = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "vscode-html-css";
|
||||
|
@ -1383,8 +1400,8 @@ let
|
|||
mktplcRef = {
|
||||
name = "elixir-ls";
|
||||
publisher = "JakeBecker";
|
||||
version = "0.19.0";
|
||||
sha256 = "sha256-31eenBOVUEY3MFaVmAjZsypr7U0d6IfVR3ZJfDqi3OY=";
|
||||
version = "0.20.0";
|
||||
sha256 = "sha256-p+YNBRzzA/EezBMxI5Rmdb8SdJgFV7QwuLVi1mcJV+E=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/JakeBecker.elixir-ls/changelog";
|
||||
|
|
|
@ -17,10 +17,11 @@
|
|||
, libGLU
|
||||
, wayland
|
||||
# "libnsgif" is disabled until https://todo.sr.ht/~exec64/imv/55 is solved
|
||||
, withBackends ? [ "freeimage" "libtiff" "libjpeg" "libpng" "librsvg" "libheif" ]
|
||||
, withBackends ? [ "libjxl" "libtiff" "libjpeg" "libpng" "librsvg" "libheif" ]
|
||||
, freeimage
|
||||
, libtiff
|
||||
, libjpeg_turbo
|
||||
, libjxl
|
||||
, libpng
|
||||
, librsvg
|
||||
, netsurf
|
||||
|
@ -41,7 +42,7 @@ let
|
|||
};
|
||||
|
||||
backends = {
|
||||
inherit freeimage libtiff libpng librsvg libheif;
|
||||
inherit freeimage libtiff libpng librsvg libheif libjxl;
|
||||
libjpeg = libjpeg_turbo;
|
||||
inherit (netsurf) libnsgif;
|
||||
};
|
||||
|
@ -63,14 +64,14 @@ assert builtins.all
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "imv";
|
||||
version = "4.4.0";
|
||||
version = "4.5.0";
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~exec64";
|
||||
repo = "imv";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-LLEEbriHzZhAOQivqHqdr6g7lh4uj++ytlme8AfRjf4=";
|
||||
sha256 = "sha256-aJ2EXgsS0WUTxMqC1Q+uOWLG8BeuwAyXPmJB/9/NCCU=";
|
||||
};
|
||||
|
||||
mesonFlags = [
|
||||
|
|
|
@ -1,72 +1,72 @@
|
|||
{ lib
|
||||
, atk
|
||||
, buildPythonApplication
|
||||
, fetchFromGitHub
|
||||
, gdk-pixbuf
|
||||
, gobject-introspection
|
||||
, gst-plugins-good
|
||||
, brotlicffi
|
||||
, gst-python
|
||||
, gtk3
|
||||
, kiss-headers
|
||||
, libhandy
|
||||
, librsvg
|
||||
, logbook
|
||||
, networkmanager
|
||||
, pango
|
||||
, pillow
|
||||
, poetry-core
|
||||
, pygobject3
|
||||
, pytestCheckHook
|
||||
, python
|
||||
, python-zbar
|
||||
, pythonRelaxDepsHook
|
||||
, requests
|
||||
, single-version
|
||||
, gobject-introspection
|
||||
, gst-plugins-good
|
||||
, gtk3
|
||||
, libhandy
|
||||
, librsvg
|
||||
, networkmanager
|
||||
, setuptools
|
||||
, python
|
||||
, pytestCheckHook
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "cobang";
|
||||
version = "0.10.1";
|
||||
format = "pyproject";
|
||||
version = "0.10.5";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hongquan";
|
||||
repo = "CoBang";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-yNDnBTBmwcP3g51UkkLNyF4eHYjblwxPxS2lMwbFKUM=";
|
||||
hash = "sha256-CfT/farNOJiWIioFBPx2q7bAFAE4khcojdZ7AsYaU6o=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"logbook"
|
||||
"Pillow"
|
||||
];
|
||||
postPatch = ''
|
||||
# Fixes "Multiple top-level packages discovered in a flat-layout"
|
||||
sed -i '$ a\[tool.setuptools]' pyproject.toml
|
||||
sed -i '$ a\packages = ["cobang"]' pyproject.toml
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
# Needed to recognize gobject namespaces
|
||||
gobject-introspection
|
||||
pythonRelaxDepsHook
|
||||
wrapGAppsHook
|
||||
setuptools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
atk
|
||||
gdk-pixbuf
|
||||
# Requires v4l2src
|
||||
gst-plugins-good
|
||||
# For gobject namespaces
|
||||
libhandy
|
||||
networkmanager
|
||||
pango
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gst-python
|
||||
brotlicffi
|
||||
kiss-headers
|
||||
logbook
|
||||
pillow
|
||||
poetry-core
|
||||
pygobject3
|
||||
python-zbar
|
||||
requests
|
||||
single-version
|
||||
# Unlisted dependencies
|
||||
pygobject3
|
||||
python-zbar
|
||||
# Needed as a gobject namespace and to fix 'Caps' object is not subscriptable
|
||||
gst-python
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
|
@ -82,9 +82,8 @@ buildPythonApplication rec {
|
|||
|
||||
# Icons and applications
|
||||
install -Dm 644 $out/${python.sitePackages}/data/vn.hoabinh.quan.CoBang.svg -t $out/share/pixmaps/
|
||||
install -Dm 644 $out/${python.sitePackages}/data/vn.hoabinh.quan.CoBang.desktop -t $out/share/applications/
|
||||
substituteInPlace $out/share/applications/vn.hoabinh.quan.CoBang.desktop \
|
||||
--replace "Exec=" "Exec=$out/bin/"
|
||||
install -Dm 644 $out/${python.sitePackages}/data/vn.hoabinh.quan.CoBang.desktop.in -t $out/share/applications/
|
||||
mv $out/${python.sitePackages}/data/vn.hoabinh.quan.CoBang.desktop{.in,}
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
|
@ -99,6 +98,7 @@ buildPythonApplication rec {
|
|||
homepage = "https://github.com/hongquan/CoBang";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
mainProgram = "cobang";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "nwg-panel";
|
||||
version = "0.9.23";
|
||||
version = "0.9.24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nwg-piotr";
|
||||
repo = "nwg-panel";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-NCMGqKRcwqy4e3gF9y2oykiAoL8X3IZbcGzq6N3CAMU=";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-qd2fnGdpHXX35ZtNGe59GnmhYGn6VJibc0KEr60VIJM=";
|
||||
};
|
||||
|
||||
# No tests
|
||||
|
|
|
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = "https://osmcode.org/osmium-tool/";
|
||||
changelog = "https://github.com/osmcode/osmium-tool/blob/v${version}/CHANGELOG.md";
|
||||
license = with licenses; [ gpl3Plus mit bsd3 ];
|
||||
maintainers = with maintainers; [ das-g ];
|
||||
maintainers = with maintainers; teams.geospatial.members ++ [ das-g ];
|
||||
mainProgram = "osmium";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -125,7 +125,7 @@ stdenv.mkDerivation rec {
|
|||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
license = lib.licenses.gpl3Only;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = [ lib.maintainers.noneucat ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -33,11 +33,11 @@
|
|||
|
||||
firefox-beta = buildMozillaMach rec {
|
||||
pname = "firefox-beta";
|
||||
version = "123.0b9";
|
||||
version = "124.0b2";
|
||||
applicationName = "Mozilla Firefox Beta";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "87c564bf30e93a544fe65cf5eb0d46e2e992558df36d2808eee990772648c193ab051120a3400dacd6973dde8afbec9bea0f3b0b4adc923a5fea6f4005b46210";
|
||||
sha512 = "a98bedcf2bb6e58a20b4ab49d53db0899ed7c6589b20266522521c3db5c583807be1d536a580a1b42dd5783c0d81d95c4f42be6a157fb08a588447ca4fa21dde";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
@ -62,13 +62,13 @@
|
|||
|
||||
firefox-devedition = buildMozillaMach rec {
|
||||
pname = "firefox-devedition";
|
||||
version = "123.0b9";
|
||||
version = "124.0b2";
|
||||
applicationName = "Mozilla Firefox Developer Edition";
|
||||
requireSigning = false;
|
||||
branding = "browser/branding/aurora";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/devedition/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "63b3e99fab51a219c537baef4f613c1efd174d8c567d7e77007b901d0800b88cfe872b56293473e5406aef15a5c6ab35b9ddf9966a447c001ca16e92469d984f";
|
||||
sha512 = "a65a522130d95ef5ffd4ee351c79a64517abdd60a80a74e66b147f6b179613240ab2abd6eb9cd939dfe31dd5b971773e882eb234a358e9546ab0272d8ed94145";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
|
|
@ -7,26 +7,26 @@
|
|||
|
||||
((buildMozillaMach rec {
|
||||
pname = "floorp";
|
||||
packageVersion = "11.9.0";
|
||||
packageVersion = "11.10.2";
|
||||
applicationName = "Floorp";
|
||||
binaryName = "floorp";
|
||||
branding = "browser/branding/official";
|
||||
|
||||
# Must match the contents of `browser/config/version.txt` in the source tree
|
||||
version = "115.7.0";
|
||||
version = "115.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Floorp-Projects";
|
||||
repo = "Floorp";
|
||||
fetchSubmodules = true;
|
||||
rev = "v${packageVersion}";
|
||||
hash = "sha256-Mk/5bkaSLQYFFGhCSjVho8CUilZSYDGarnIt4Wg9/6g=";
|
||||
hash = "sha256-fjLYR59AZaR6S1zcAT+DNpdsCdrW+3NdkRQBoVNdwYw=";
|
||||
};
|
||||
|
||||
extraConfigureFlags = [
|
||||
"--with-app-name=${pname}"
|
||||
"--with-app-basename=${applicationName}"
|
||||
"--with-branding=browser/branding/official"
|
||||
"--with-distribution-id=app.floorp.Floorp"
|
||||
"--with-distribution-id=one.ablaze.floorp"
|
||||
"--with-unsigned-addon-scopes=app,system"
|
||||
"--allow-addon-sideload"
|
||||
];
|
||||
|
@ -41,12 +41,19 @@
|
|||
# not in `badPlatforms` because cross-compilation on 64-bit machine might work.
|
||||
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
|
||||
license = lib.licenses.mpl20;
|
||||
mainProgram = "floorp";
|
||||
};
|
||||
tests = [ nixosTests.floorp ];
|
||||
}).override {
|
||||
# Upstream build configuration can be found at
|
||||
# .github/workflows/src/linux/shared/mozconfig_linux_base
|
||||
privacySupport = true;
|
||||
webrtcSupport = true;
|
||||
enableOfficialBranding = false;
|
||||
googleAPISupport = true;
|
||||
mlsAPISupport = true;
|
||||
}).overrideAttrs (prev: {
|
||||
MOZ_DATA_REPORTING = "";
|
||||
MOZ_REQUIRE_SIGNING = "";
|
||||
MOZ_TELEMETRY_REPORTING = "";
|
||||
})
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "kubernetes-helm";
|
||||
version = "3.14.1";
|
||||
version = "3.14.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "helm";
|
||||
repo = "helm";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-J7hREQMPN1RrnPmOyK2XgfvbAH2dl2H5TopnH8fF1V8=";
|
||||
sha256 = "sha256-7Cd5lxPSXXCvYLLh334qnDmd9zbF1LMxTNoZEBpzHS4=";
|
||||
};
|
||||
vendorHash = "sha256-pYB9J7Zf6MApGpFL7HzqIDcC/vERiVE4z8SsipIeJ7c=";
|
||||
|
||||
|
|
|
@ -1,24 +1,17 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, fetchpatch, installShellFiles, testers, kompose, git }:
|
||||
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, kompose, git }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kompose";
|
||||
version = "1.26.1";
|
||||
version = "1.32.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes";
|
||||
repo = "kompose";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-NfzqGG5ZwPpmjhvcvXN1AA+kfZG/oujbAEtXkm1mzeU=";
|
||||
hash = "sha256-W9KAjyMp8fbnZunH5hwj0uctNYxEN/vbEDGaFJpv5hM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-/i4R50heqf0v2F2GTZCKGq10+xKKr+zPkqWKa+afue8=";
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/kubernetes/kompose/commit/0964a7ccd16504b6e5ef49a07978c87cca803d46.patch";
|
||||
hash = "sha256-NMHLxx7Ae6Z+pacj538ivxIby7rNz3IbfDPbeLA0sMc=";
|
||||
})
|
||||
];
|
||||
vendorHash = "sha256-nY0d3r3faowHa7ylqDkUrX6MrGW3g1jYjm1MLFW/jK8=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles git ];
|
||||
|
||||
|
|
|
@ -32,18 +32,19 @@ GEM
|
|||
rake
|
||||
google-cloud-env (2.1.1)
|
||||
faraday (>= 1.0, < 3.a)
|
||||
googleauth (1.9.2)
|
||||
googleauth (1.11.0)
|
||||
faraday (>= 1.0, < 3.a)
|
||||
google-cloud-env (~> 2.1)
|
||||
jwt (>= 1.4, < 3.0)
|
||||
multi_json (~> 1.11)
|
||||
os (>= 0.9, < 2.0)
|
||||
signet (>= 0.16, < 2.a)
|
||||
http (5.1.1)
|
||||
http (5.2.0)
|
||||
addressable (~> 2.8)
|
||||
base64 (~> 0.1)
|
||||
http-cookie (~> 1.0)
|
||||
http-form_data (~> 2.2)
|
||||
llhttp-ffi (~> 0.4.0)
|
||||
llhttp-ffi (~> 0.5.0)
|
||||
http-accept (1.7.0)
|
||||
http-cookie (1.0.5)
|
||||
domain_name (~> 0.5)
|
||||
|
@ -53,7 +54,7 @@ GEM
|
|||
jsonpath (1.1.5)
|
||||
multi_json
|
||||
jwt (2.7.1)
|
||||
krane (3.4.2)
|
||||
krane (3.5.0)
|
||||
activesupport (>= 5.0)
|
||||
colorize (~> 0.8)
|
||||
concurrent-ruby (~> 1.1)
|
||||
|
@ -69,13 +70,13 @@ GEM
|
|||
jsonpath (~> 1.0)
|
||||
recursive-open-struct (~> 1.1, >= 1.1.1)
|
||||
rest-client (~> 2.0)
|
||||
llhttp-ffi (0.4.0)
|
||||
llhttp-ffi (0.5.0)
|
||||
ffi-compiler (~> 1.0)
|
||||
rake (~> 13.0)
|
||||
mime-types (3.5.2)
|
||||
mime-types-data (~> 3.2015)
|
||||
mime-types-data (3.2023.1205)
|
||||
minitest (5.21.2)
|
||||
mime-types-data (3.2024.0206)
|
||||
minitest (5.22.2)
|
||||
multi_json (1.15.0)
|
||||
mutex_m (0.2.0)
|
||||
net-http (0.4.1)
|
||||
|
@ -91,7 +92,7 @@ GEM
|
|||
mime-types (>= 1.16, < 4.0)
|
||||
netrc (~> 0.8)
|
||||
ruby2_keywords (0.0.5)
|
||||
signet (0.18.0)
|
||||
signet (0.19.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
|
|
|
@ -162,21 +162,21 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1qpvsvcag90nw2fjws12m96hsicpmcv04v35j9aiik9rmxxvlk9h";
|
||||
sha256 = "15knmk2fcyqxdpppc3wb5lc6xapbx5hax4lma0iclc2p55aa2kkl";
|
||||
type = "gem";
|
||||
};
|
||||
version = "1.9.2";
|
||||
version = "1.11.0";
|
||||
};
|
||||
http = {
|
||||
dependencies = ["addressable" "http-cookie" "http-form_data" "llhttp-ffi"];
|
||||
dependencies = ["addressable" "base64" "http-cookie" "http-form_data" "llhttp-ffi"];
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1bzb8p31kzv6q5p4z5xq88mnqk414rrw0y5rkhpnvpl29x5c3bpw";
|
||||
sha256 = "05b1khh7wxga9jviy9yi8z1nckxbm3svlzv40y0zvq3nag3d77mr";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.1.1";
|
||||
version = "5.2.0";
|
||||
};
|
||||
http-accept = {
|
||||
groups = ["default"];
|
||||
|
@ -247,10 +247,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0lgl5x8b0wwih6h609sglp5zfdg8ymbmh8yv4vp1lcxvf885riyz";
|
||||
sha256 = "1j4vrb55akvpg08vfwvfawf9qbjv9dyiw32g57va89yq371qjasp";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.4.2";
|
||||
version = "3.5.0";
|
||||
};
|
||||
kubeclient = {
|
||||
dependencies = ["http" "jsonpath" "recursive-open-struct" "rest-client"];
|
||||
|
@ -269,10 +269,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "00dh6zmqdj59rhcya0l4b9aaxq6n8xizfbil93k0g06gndyk5xz5";
|
||||
sha256 = "1yph78m8w8l6i9833fc7shy5krk4mnqjc7ys0bg9kgxw8jnl0vs9";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.4.0";
|
||||
version = "0.5.0";
|
||||
};
|
||||
mime-types = {
|
||||
dependencies = ["mime-types-data"];
|
||||
|
@ -290,20 +290,20 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "08ja4k3yjczzz7n6rp1f3qvz4v45bc6fy04clnvdxbq3kfr7jk4c";
|
||||
sha256 = "0zpn5brxdf5akh7ij511bkrd30fxd7697shmxxszahqj9m62zvn5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "3.2023.1205";
|
||||
version = "3.2024.0206";
|
||||
};
|
||||
minitest = {
|
||||
groups = ["default"];
|
||||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1hmszq7p4zp2ha3qjv1axam602rgnqhlz5zfzil7yk4nvfwcv1bn";
|
||||
sha256 = "0667vf0zglacry87nkcl3ns8421aydvz71vfa3g3yjhiq8zh19f5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "5.21.2";
|
||||
version = "5.22.2";
|
||||
};
|
||||
multi_json = {
|
||||
groups = ["default"];
|
||||
|
@ -413,10 +413,10 @@
|
|||
platforms = [];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "0fzakk5y7zzii76zlkynpp1c764mzkkfg4mpj18f5pf2xp1aikb6";
|
||||
sha256 = "0cfxa11wy1nv9slmnzjczkdgld0gqizajsb03rliy53zylwkjzsk";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.18.0";
|
||||
version = "0.19.0";
|
||||
};
|
||||
statsd-instrument = {
|
||||
groups = ["default"];
|
||||
|
|
|
@ -6,16 +6,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "kubecfg";
|
||||
version = "0.34.2";
|
||||
version = "0.34.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubecfg";
|
||||
repo = "kubecfg";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+qQ/80wXSKvPg2nRuvkYZe0+fwnxKsegR0IjsxBKDNQ=";
|
||||
hash = "sha256-zy7SuJ5ChR09CvZ362z6ZDRd/eIyqg06fpv+JP7C4T0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-X+EvvrAnqMw/jpVdF/UJq9zFH+1NLFLYOu5RsxykynY=";
|
||||
vendorHash = "sha256-TDXZy2I1sxMmtHiE5l9wgW1kJolFYsV5Otv3xfoErWM=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "temporal";
|
||||
version = "1.22.4";
|
||||
version = "1.22.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "temporalio";
|
||||
repo = "temporal";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-M/2Zm9B2VeA2BKcF7A7R1Y7T61VZiU2uKGwxGgdy4Sg=";
|
||||
hash = "sha256-PHdRyYOhNoJ6NpSKNbCF2hddZeY5mIF34HQP05n/sy0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Aum5OsdJ69MkP8tXXGWa6IdouX6F4xKjD/ndAqShMhw=";
|
||||
|
|
|
@ -167,8 +167,8 @@ rec {
|
|||
mkTerraform = attrs: pluggable (generic attrs);
|
||||
|
||||
terraform_1 = mkTerraform {
|
||||
version = "1.7.3";
|
||||
hash = "sha256-/NnpmZLCEoSwJYsHmMxQ8HRxzsyCm91oc6T+mcsaNv0=";
|
||||
version = "1.7.4";
|
||||
hash = "sha256-LF8lFDZtDowHqa0z/TCVKznxn15Msha/af8p/w0bI1k=";
|
||||
vendorHash = "sha256-DI4YTjdFFvfby8ExEY3KoK4J9YKK5LPpMbelzFMDVVs=";
|
||||
patches = [ ./provider-path-0_15.patch ];
|
||||
passthru = {
|
||||
|
|
|
@ -3,16 +3,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "discordo";
|
||||
version = "unstable-2024-02-16";
|
||||
version = "unstable-2024-02-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ayn2op";
|
||||
repo = pname;
|
||||
rev = "7476d8b391f23fa576f8f34eef3829c6212c6331";
|
||||
hash = "sha256-x1/CXHqfiT0HgIPsiRluifPOJUrulN+fih0aOrj3us0=";
|
||||
rev = "3486f6ced9db8eb865641632e50daa2550a55ef8";
|
||||
hash = "sha256-iSc9WiX0xu9X1GCSPEnf99OpTaKVlNN7sGp+f1S89SM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-PW0PPMlNB5aa81tsYWUk9mWfSyafI5A0OxqJTCe0OdI=";
|
||||
vendorHash = "sha256-89WJZuqUnYGT2eTWcfxdouwc2kZ15Lt38EyLP/DLSWI=";
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "flexget";
|
||||
version = "3.11.18";
|
||||
version = "3.11.19";
|
||||
pyproject = true;
|
||||
|
||||
# Fetch from GitHub in order to use `requirements.in`
|
||||
|
@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
owner = "Flexget";
|
||||
repo = "Flexget";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ykHBGZS/1cRBdMuZ6tz+3QY5cOBxt+Z2Dp3lKuTKj7w=";
|
||||
hash = "sha256-XqZPhjuk3f9EbDTu+iX2U6uOXTn3rFdYjQNx5Prte88=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -3,7 +3,7 @@ let
|
|||
versions =
|
||||
if stdenv.isLinux then {
|
||||
stable = "0.0.43";
|
||||
ptb = "0.0.67";
|
||||
ptb = "0.0.69";
|
||||
canary = "0.0.278";
|
||||
development = "0.0.13";
|
||||
} else {
|
||||
|
@ -21,7 +21,7 @@ let
|
|||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||
hash = "sha256-LySb261stSdUWMfCZ6Ca/MZMhnJ+CEEKmm38cuD1k1s=";
|
||||
hash = "sha256-xAfKqWopvrosogQ43feMJlM3mMx+vbdhNe7jo6cpkW0=";
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
callPackage ./generic.nix {} rec {
|
||||
pname = "signal-desktop";
|
||||
dir = "Signal";
|
||||
version = "6.47.1";
|
||||
version = "6.48.0";
|
||||
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||
hash = "sha256-WRdn3T18xhWvlELtwlOs/ZoPuEt/yQgs7JP/1MGN5Ps=";
|
||||
hash = "sha256-hQhMl3ArIZK+0u90uIw0mERv9z4aL1Nny9Qx/Cvsfl4=";
|
||||
}
|
||||
|
|
|
@ -44,13 +44,13 @@ rec {
|
|||
|
||||
thunderbird-115 = (buildMozillaMach rec {
|
||||
pname = "thunderbird";
|
||||
version = "115.7.0";
|
||||
version = "115.8.0";
|
||||
application = "comm/mail";
|
||||
applicationName = "Mozilla Thunderbird";
|
||||
binaryName = pname;
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
|
||||
sha512 = "de9edb81cf5da494101bf927a5b963ccdec0cc9bff87ebd72d896c6e25102c1113b326f67302a81abd237048aa1e6150c4a97fe4b1892bc80030cbab9099e2d8";
|
||||
sha512 = "a0bdd34bebda4973f714422293f10a5a96c2b12f097c68d76fa37c48943fdbfb32dd2e504faa0b88fd699118b1903e18c3bb54cb32cd5e2ff60c09966b23e79c";
|
||||
};
|
||||
extraPatches = [
|
||||
# The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
|
||||
|
|
|
@ -1,61 +1,37 @@
|
|||
{ stdenv, lib, fetchurl, makeDesktopItem, copyDesktopItems, makeWrapper,
|
||||
electron, libsecret }:
|
||||
{ lib
|
||||
, appimageTools
|
||||
, fetchurl
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
appimageTools.wrapType2 rec {
|
||||
pname = "tutanota-desktop";
|
||||
version = "3.119.3";
|
||||
version = "3.122.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${version}/${pname}-${version}-unpacked-linux.tar.gz";
|
||||
name = "tutanota-desktop-${version}.tar.gz";
|
||||
hash = "sha256-TdjvU12nh1sTfGTdBn+7dbEunaF38YjDvceEns4iRbA=";
|
||||
url = "https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${version}/tutanota-desktop-linux.AppImage";
|
||||
hash = "sha256-3M53Re6FbxEXHBl5KBLDjZg0uTIv8JIT0DlawNRPXBc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
makeWrapper
|
||||
];
|
||||
extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libsecret ];
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
extraInstallCommands =
|
||||
let appimageContents = appimageTools.extract { inherit pname version src; };
|
||||
in ''
|
||||
mv $out/bin/${pname}-${version} $out/bin/${pname}
|
||||
|
||||
desktopItems = makeDesktopItem {
|
||||
name = pname;
|
||||
exec = "tutanota-desktop";
|
||||
icon = "tutanota-desktop";
|
||||
comment = meta.description;
|
||||
desktopName = "Tutanota Desktop";
|
||||
genericName = "Email Reader";
|
||||
};
|
||||
install -Dm 444 ${appimageContents}/tutanota-desktop.desktop -t $out/share/applications
|
||||
install -Dm 444 ${appimageContents}/tutanota-desktop.png -t $out/share/pixmaps
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/opt/tutanota-desktop $out/share/tutanota-desktop
|
||||
|
||||
cp -r ./ $out/opt/tutanota-desktop
|
||||
mv $out/opt/tutanota-desktop/{locales,resources} $out/share/tutanota-desktop
|
||||
|
||||
for icon_size in 64 512; do
|
||||
icon=resources/icons/icon/$icon_size.png
|
||||
path=$out/share/icons/hicolor/$icon_size'x'$icon_size/apps/tutanota-desktop.png
|
||||
install -Dm644 $icon $path
|
||||
done
|
||||
|
||||
makeWrapper ${electron}/bin/electron \
|
||||
$out/bin/tutanota-desktop \
|
||||
--add-flags $out/share/tutanota-desktop/resources/app.asar \
|
||||
--run "mkdir -p /tmp/tutanota" \
|
||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret stdenv.cc.cc.lib ]}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
substituteInPlace $out/share/applications/tutanota-desktop.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tutanota official desktop client";
|
||||
homepage = "https://tutanota.com/";
|
||||
description = "Tuta official desktop client";
|
||||
homepage = "https://tuta.com/";
|
||||
changelog = "https://github.com/tutao/tutanota/releases/tag/tutanota-desktop-release-${version}";
|
||||
license = licenses.gpl3Only;
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
maintainers = with maintainers; [ wolfangaukang ];
|
||||
mainProgram = "tutanota-desktop";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
buildNpmPackage rec {
|
||||
pname = "flood-for-transmission";
|
||||
version = "2024-01-24T16-52-06";
|
||||
version = "2024-02-10T19-10-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "johman10";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-ZV/Gk9DlYkMh8j034YGvMVN7MeOJgFARyOr9Atrs3j4=";
|
||||
hash = "sha256-JhUBtjHWtfFwjOScDu+WtjE42yhWYPA6KD+kJsltbsY=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-VHWM0vxFKucrmoJiwYpjw7QqhBQw9rPPQVIIevp6Wn0=";
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "protonmail-bridge";
|
||||
version = "3.8.2";
|
||||
version = "3.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ProtonMail";
|
||||
repo = "proton-bridge";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-I42f7cV5QsUIPkcc6YDTboS4/LrObHAE3w9S48jsaKM=";
|
||||
hash = "sha256-osQIx67KWEraVlB+J6HmC44uDTF1HKUytBS6eilp4jI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-6xofWf5WFE1wuCwx8iOMcC3gxDzZB3uw3WErLWluBM8=";
|
||||
vendorHash = "sha256-5XU/qyYdk8nufyQbyjkjUEWzt+RTVYzsdyKU77qrgHc=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
|
|
@ -19,10 +19,17 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "sha256-VaUr63v7mzhh4VBghH7a7qrqOYwl6vucmmKzTi9yAjY=";
|
||||
}) ];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString [
|
||||
# Needed with GCC 12
|
||||
"-Wno-error=deprecated-declarations"
|
||||
];
|
||||
postPatch = ''
|
||||
# Disable -Werror to avoid build failure on fresh toolchains like
|
||||
# gcc-13.
|
||||
substituteInPlace lib/date/CMakeLists.txt --replace-fail ' -Werror ' ' '
|
||||
substituteInPlace lib/ranger/CMakeLists.txt --replace-fail ' -Werror ' ' '
|
||||
substituteInPlace lib/tandem/CMakeLists.txt --replace-fail ' -Werror ' ' '
|
||||
substituteInPlace src/CMakeLists.txt --replace-fail ' -Werror ' ' '
|
||||
|
||||
# Fix gcc-13 build due to missing <cstdint> header.
|
||||
sed -e '1i #include <cstdint>' -i src/core/tools/vargen/utils/assembler.hpp
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir $out/bin
|
||||
|
|
|
@ -6,31 +6,20 @@
|
|||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "strictdoc";
|
||||
version = "0.0.40";
|
||||
format = "pyproject";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "strictdoc-project";
|
||||
repo = pname;
|
||||
repo = "strictdoc";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-kZ8qVhroSPSGAcgUFZb1vRI6JoFyjeg/0qYosbRnwyc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace '"textx >= 3.0.0, == 3.*"' '"textx"' \
|
||||
--replace '"docutils >= 0.16, == 0.*"' '"docutils"' \
|
||||
--replace '"pygments >= 2.10.0, == 2.*"' '"pygments"' \
|
||||
--replace '"lxml >= 4.6.2, == 4.*"' '"lxml"' \
|
||||
--replace '"beautifulsoup4 >= 4.12.0, == 4.*"' '"beautifulsoup4"' \
|
||||
--replace '"python-datauri >= 0.2.9, == 0.*"' '"python-datauri"' \
|
||||
--replace '"XlsxWriter >= 1.3.7, == 1.*"' '"XlsxWriter"' \
|
||||
--replace '"xlrd >= 2.0.1, == 2.*"' '"xlrd"' \
|
||||
--replace '"reqif >= 0.0.33, == 0.*"' '"reqif"' \
|
||||
--replace '"pybtex >= 0.23.0, == 0.*"' '"pybtex"'
|
||||
'';
|
||||
pythonRelaxDeps = true;
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
hatchling
|
||||
pythonRelaxDepsHook
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
@ -46,16 +35,20 @@ python3.pkgs.buildPythonApplication rec {
|
|||
pygments
|
||||
python-multipart
|
||||
reqif
|
||||
selenium
|
||||
setuptools
|
||||
spdx-tools
|
||||
textx
|
||||
toml
|
||||
uvicorn
|
||||
webdriver-manager
|
||||
websockets
|
||||
xlrd
|
||||
xlsxwriter
|
||||
] ++ uvicorn.optional-dependencies.standard;
|
||||
|
||||
nativeCheckInputs = with python3.pkgs; [
|
||||
httpx
|
||||
pytestCheckHook
|
||||
];
|
||||
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "primesieve";
|
||||
version = "11.2";
|
||||
version = "12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kimwalisch";
|
||||
repo = "primesieve";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-HtVuUS4dmTC7KosyBhqZ0QRstvon9WMxYf9Ocs1XIrs=";
|
||||
hash = "sha256-xmOq18falvT8PKhJPwWm/aeOMf7I3ywR+h5OkTM3G6s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
|
@ -19,6 +19,10 @@
|
|||
, cpuAcceleration ? null
|
||||
}:
|
||||
|
||||
|
||||
# CUDA is only implemented for single precission
|
||||
assert enableCuda -> singlePrec;
|
||||
|
||||
let
|
||||
inherit (cudaPackages.cudaFlags) cudaCapabilities dropDot;
|
||||
|
||||
|
@ -75,6 +79,7 @@ in stdenv.mkDerivation rec {
|
|||
lapack
|
||||
] ++ lib.optional enableMpi mpi
|
||||
++ lib.optionals enableCuda [
|
||||
cudaPackages.cuda_cccl
|
||||
cudaPackages.cuda_cudart
|
||||
cudaPackages.libcufft
|
||||
cudaPackages.cuda_profiler_api
|
||||
|
|
|
@ -39,14 +39,14 @@ let
|
|||
in
|
||||
buildGoModule rec {
|
||||
pname = "forgejo";
|
||||
version = "1.21.5-0";
|
||||
version = "1.21.6-0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "forgejo";
|
||||
repo = "forgejo";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-SmNmMlO9bEccrk0oWm7VnBaIRGJgTQ5hOSIn6DRiYqk=";
|
||||
hash = "sha256-YvLdqNo/zGutPnRVkcxCTcX7Xua0FXUs3veQ2NBgaAA=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-5BznZiPZCwFEl74JVf7ujFtzsTyG6AcKvQG0LdaMKe4=";
|
||||
|
|
|
@ -214,6 +214,8 @@ in stdenv.mkDerivation {
|
|||
mkdir -p $out/share/icons/hicolor/$size/apps
|
||||
ln -s $libexec/icons/$size/*.png $out/share/icons/hicolor/$size/apps
|
||||
done
|
||||
# Translation
|
||||
ln -sv $libexec/nls "$out/share/virtualbox"
|
||||
''}
|
||||
|
||||
cp -rv out/linux.*/${buildType}/bin/src "$modsrc"
|
||||
|
|
|
@ -209,6 +209,7 @@ rec {
|
|||
xorg.libxshmfence # for apple-music-electron
|
||||
at-spi2-core
|
||||
pciutils # for FreeCAD
|
||||
pipewire # immersed-vr wayland support
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -251,7 +251,7 @@ let
|
|||
|
||||
in runCommandLocal "${name}-fhs" {
|
||||
passthru = {
|
||||
inherit args baseTargetPaths targetPaths baseMultiPaths multiPaths ldconfig;
|
||||
inherit args baseTargetPaths targetPaths baseMultiPaths ldconfig;
|
||||
};
|
||||
} ''
|
||||
mkdir -p $out
|
||||
|
|
|
@ -13,10 +13,10 @@ let
|
|||
}.${system} or throwSystem;
|
||||
|
||||
hash = {
|
||||
x86_64-linux = "sha256-lMlJezLLyN3OMtom/opbihUsrkCuWDGXB8j+o53JMBE=";
|
||||
aarch64-linux = "sha256-Ccej0Amq/Yo2F2C21rC0E9rzwE4grvyP+q+QajEg1MA=";
|
||||
x86_64-darwin = "sha256-DFGiYI1hc0GN+A63OWdcCHnwkDQKZ+fhrNozWtlebJs=";
|
||||
aarch64-darwin = "sha256-iuGmmaCc0YbLUO6G8Uyy/DvNgmfV+TzU4j0VPyACQb4=";
|
||||
x86_64-linux = "sha256-3B1TEToovw4C8rLsJv0Y3OPg8ZjMZ3Y29IzIs9Wm6II=";
|
||||
aarch64-linux = "sha256-kD0yMHoJejKpK1cX/OPQLjPB8cXBp/aXy66YDxXINRw=";
|
||||
x86_64-darwin = "sha256-DxyxR1t4UrqTn/ORrDiOryWCQ1L0DWXmlh2Hnm7kMS4=";
|
||||
aarch64-darwin = "sha256-Ckbg/bZxeMpt2xtrLhJXo9DJTLluuWPVdGRRwiO1ZY8=";
|
||||
}.${system} or throwSystem;
|
||||
|
||||
bin = "$out/bin/codeium_language_server";
|
||||
|
@ -24,7 +24,7 @@ let
|
|||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "codeium";
|
||||
version = "1.6.38";
|
||||
version = "1.6.39";
|
||||
src = fetchurl {
|
||||
name = "${finalAttrs.pname}-${finalAttrs.version}.gz";
|
||||
url = "https://github.com/Exafunction/codeium/releases/download/language-server-v${finalAttrs.version}/language_server_${plat}.gz";
|
||||
|
|
|
@ -19,15 +19,15 @@
|
|||
|
||||
let
|
||||
pname = "czkawka";
|
||||
version = "6.1.0";
|
||||
version = "7.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qarmin";
|
||||
repo = "czkawka";
|
||||
rev = version;
|
||||
hash = "sha256-uKmiBNwuu3Eduf0v3p2VYYNf6mgxJTBUsYs+tKZQZys=";
|
||||
hash = "sha256-SOWtLmehh1F8SoDQ+9d7Fyosgzya5ZztCv8IcJZ4J94=";
|
||||
};
|
||||
cargoHash = "sha256-iBO99kpITVl7ySlXPkEg2YecS1lonVx9CbKt9WI180s=";
|
||||
cargoHash = "sha256-GOX7V6NLEMP06nMeRZINwcWCaHwK6T3nkRKl4e25DPg=";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
inherit pname version src cargoHash;
|
||||
|
|
|
@ -5,24 +5,24 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "das";
|
||||
version = "0.3.8";
|
||||
format = "pyproject";
|
||||
version = "1.0.3";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snovvcrash";
|
||||
repo = "DivideAndScan";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-a9gnEBTvZshw42M/GrpCgjZh6FOzL45aZqGRyeHO0ec=";
|
||||
hash = "sha256-WZmWpcBqxsNH96nVWwoepFhsvdxZpYKmAjNd7ghIJMA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace 'networkx = "^2.8.4"' 'networkx = "*"' \
|
||||
--replace 'pandas = "^1.4.2"' 'pandas = "*"'
|
||||
--replace 'netaddr = "^0.8.0"' 'netaddr = "*"'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
poetry-core
|
||||
nativeBuildInputs = [
|
||||
python3.pkgs.poetry-core
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
|
@ -47,5 +47,6 @@ python3.pkgs.buildPythonApplication rec {
|
|||
homepage = "https://github.com/snovvcrash/DivideAndScan";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "das";
|
||||
};
|
||||
}
|
37
pkgs/by-name/dd/ddns-updater/package.nix
Normal file
37
pkgs/by-name/dd/ddns-updater/package.nix
Normal file
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "ddns-updater";
|
||||
version = "2.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qdm12";
|
||||
repo = "ddns-updater";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-NU6KXVjggsXVCKImGqbB1AXcph+ycRfkk5S4JNq0cHg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Ibrv0m3Tz/5JbkHYmiJ9Ijo37fjHc7TP100K7ZTwO8I=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
];
|
||||
|
||||
subPackages = [ "cmd/updater" ];
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/updater $out/bin/ddns-updater
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Container to update DNS records periodically with WebUI for many DNS providers";
|
||||
homepage = "https://github.com/qdm12/ddns-updater";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ delliott ];
|
||||
mainProgram = "ddns-updater";
|
||||
};
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
, fetchFromGitHub
|
||||
}:
|
||||
let
|
||||
version = "1.8.0";
|
||||
version = "1.8.1";
|
||||
in
|
||||
python3.pkgs.buildPythonApplication {
|
||||
pname = "fangfrisch";
|
||||
|
@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication {
|
|||
owner = "rseichter";
|
||||
repo = "fangfrisch";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-lZDChg7og98LY20IaafVGM487F/anrVIBB39dp2r2g0=";
|
||||
hash = "sha256-j5IUAMDXndLttQZQV3SZXdDka8bKDcwbotY2Nop3izc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gpt4all-chat";
|
||||
version = "2.7.0";
|
||||
version = "2.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-l9Do58Cld9n89J+px8RPjyioIa0Bo3qGSQe7QEGcZr8=";
|
||||
hash = "sha256-PXOnhSU8YaV0fcLAptSVjsUP2Za23GFUxyOkL0T6z0o=";
|
||||
owner = "nomic-ai";
|
||||
repo = "gpt4all";
|
||||
rev = "v${finalAttrs.version}";
|
||||
|
|
71
pkgs/by-name/ho/hoppscotch/package.nix
Normal file
71
pkgs/by-name/ho/hoppscotch/package.nix
Normal file
|
@ -0,0 +1,71 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, appimageTools
|
||||
, undmg
|
||||
, nix-update-script
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "hoppscotch";
|
||||
version = "23.12.5";
|
||||
|
||||
src = fetchurl {
|
||||
aarch64-darwin = {
|
||||
url = "https://github.com/hoppscotch/releases/releases/download/v${version}-1/Hoppscotch_mac_aarch64.dmg";
|
||||
hash = "sha256-WUJW38vQ7o5KEmCxhVnJ03/f5tPOTYcczrEcmt6NSCY=";
|
||||
};
|
||||
x86_64-darwin = {
|
||||
url = "https://github.com/hoppscotch/releases/releases/download/v${version}-1/Hoppscotch_mac_x64.dmg";
|
||||
hash = "sha256-bQFD+9IoelinWYUndzbVvPNaRde6ACPvw9ifX9mYdno=";
|
||||
};
|
||||
x86_64-linux = {
|
||||
url = "https://github.com/hoppscotch/releases/releases/download/v${version}-1/Hoppscotch_linux_x64.AppImage";
|
||||
hash = "sha256-MYQ7SRm+CUPIXROZxejbbZ0/wH+U5DQO4YGbE/HQAj8=";
|
||||
};
|
||||
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
|
||||
|
||||
meta = {
|
||||
description = "Open source API development ecosystem";
|
||||
homepage = "https://hoppscotch.com";
|
||||
changelog = "https://github.com/hoppscotch/hoppscotch/releases/tag/${version}";
|
||||
platforms = [ "aarch64-darwin" "x86_64-darwin" "x86_64-linux" ];
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ DataHearth ];
|
||||
};
|
||||
in
|
||||
if stdenv.isDarwin then stdenv.mkDerivation
|
||||
{
|
||||
inherit pname version src meta;
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [ undmg ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out/Applications"
|
||||
mv Hoppscotch.app $out/Applications/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
}
|
||||
else appimageTools.wrapType2 {
|
||||
inherit pname version src meta;
|
||||
|
||||
extraPkgs = pkgs:
|
||||
appimageTools.defaultFhsEnvArgs.multiPkgs pkgs;
|
||||
|
||||
extraInstallCommands =
|
||||
let
|
||||
appimageContents = appimageTools.extractType2 { inherit pname version src; };
|
||||
in
|
||||
''
|
||||
mv $out/bin/${pname}-${version} $out/bin/${pname}
|
||||
|
||||
# Install .desktop files
|
||||
install -Dm444 ${appimageContents}/hoppscotch.desktop -t $out/share/applications
|
||||
install -Dm444 ${appimageContents}/hoppscotch.png -t $out/share/pixmaps
|
||||
'';
|
||||
}
|
45
pkgs/by-name/hy/hypridle/package.nix
Normal file
45
pkgs/by-name/hy/hypridle/package.nix
Normal file
|
@ -0,0 +1,45 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, cmake
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, hyprlang
|
||||
, sdbus-cpp
|
||||
, systemd
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hypridle";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "hypridle";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-0x5R6v82nKBualYf+TxAduMsvG80EZAl7gofTIYtpf4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
hyprlang
|
||||
sdbus-cpp
|
||||
systemd
|
||||
wayland
|
||||
wayland-protocols
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Hyprland's idle daemon";
|
||||
homepage = "https://github.com/hyprwm/hypridle";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [ iogamaster ];
|
||||
mainProgram = "hypridle";
|
||||
platforms = [ "aarch64-linux" "x86_64-linux" ];
|
||||
};
|
||||
})
|
|
@ -4,15 +4,16 @@
|
|||
fetchFromGitHub,
|
||||
cmake,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "hyprlang";
|
||||
version = "0.3.2";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "hyprlang";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-9TT3xk++LI5/SPYgjYX34xZ4ebR93c1uerIq+SE/ues=";
|
||||
hash = "sha256-nW3Zrhh9RJcMTvOcXAaKADnJM/g6tDf3121lJtTHnYo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [cmake];
|
||||
|
@ -26,5 +27,6 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
description = "The official implementation library for the hypr config language";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ iogamaster fufexan ];
|
||||
};
|
||||
})
|
||||
|
|
|
@ -38,7 +38,31 @@ stdenv.mkDerivation {
|
|||
|
||||
unpackCmd = "cp -r $curSrc \${curSrc##*-}";
|
||||
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
postPatch = ''
|
||||
substituteInPlace gluegen/src/java/com/jogamp/common/util/IOUtil.java \
|
||||
--replace-fail '#!/bin/true' '#!${coreutils}/bin/true'
|
||||
''
|
||||
# set timestamp of files in jar to a fixed point in time
|
||||
+ ''
|
||||
xmlstarlet ed --inplace \
|
||||
--append //jar --type attr -n modificationtime --value 1980-01-01T00:00Z \
|
||||
gluegen/make/{build.xml,gluegen-cpptasks-base.xml} \
|
||||
jogl/make/{build.xml,build-nativewindow.xml,build-jogl.xml}
|
||||
''
|
||||
# prevent looking for native libraries in /usr/lib
|
||||
+ ''
|
||||
substituteInPlace jogl/make/build-*.xml \
|
||||
--replace-warn 'dir="''${TARGET_PLATFORM_USRLIBS}"' ""
|
||||
''
|
||||
# force way to do disfunctional "ant -Dsetup.addNativeBroadcom=false" and disable dependency on raspberrypi drivers
|
||||
# if arm/aarch64 support will be added, this block might be commented out on those platforms
|
||||
# on x86 compiling with default "setup.addNativeBroadcom=true" leads to unsatisfied import "vc_dispmanx_resource_delete" in libnewt.so
|
||||
+ ''
|
||||
xmlstarlet ed --inplace \
|
||||
--delete '//*[@if="setup.addNativeBroadcom"]' \
|
||||
jogl/make/build-newt.xml
|
||||
''
|
||||
+ lib.optionalString stdenv.isDarwin ''
|
||||
sed -i '/if="use.macos/d' gluegen/make/gluegen-cpptasks-base.xml
|
||||
rm -r jogl/oculusvr-sdk
|
||||
'';
|
||||
|
@ -67,46 +91,35 @@ stdenv.mkDerivation {
|
|||
darwin.apple_sdk_11_0.frameworks.Cocoa
|
||||
];
|
||||
|
||||
# Workaround build failure on -fno-common toolchains:
|
||||
# ld: ../obj/Bindingtest1p1Impl_JNI.o:(.bss+0x8): multiple definition of
|
||||
# `unsigned_size_t_1'; ../obj/TK_Surface_JNI.o:(.bss+0x8): first defined here
|
||||
NIX_CFLAGS_COMPILE = "-fcommon"; # copied from 2.3.2, is this still needed?
|
||||
env = {
|
||||
SOURCE_LEVEL = "1.8";
|
||||
TARGET_LEVEL = "1.8";
|
||||
TARGET_RT_JAR = "null.jar";
|
||||
# error: incompatible pointer to integer conversion returning 'GLhandleARB' (aka 'void *') from a function with result type 'jlong' (aka 'long long')
|
||||
NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-int-conversion";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
( cd gluegen/make
|
||||
substituteInPlace ../src/java/com/jogamp/common/util/IOUtil.java --replace '#!/bin/true' '#!${coreutils}/bin/true'
|
||||
runHook preBuild
|
||||
|
||||
# set timestamp of files in jar to a fixed point in time
|
||||
xmlstarlet ed --inplace \
|
||||
--append //jar --type attr -n modificationtime --value 1980-01-01T00:00Z \
|
||||
build.xml gluegen-cpptasks-base.xml
|
||||
for f in gluegen jogl; do
|
||||
pushd $f/make
|
||||
ant
|
||||
popd
|
||||
done
|
||||
|
||||
ant -Dtarget.sourcelevel=8 -Dtarget.targetlevel=8 -Dtarget.rt.jar='null.jar' )
|
||||
|
||||
( cd jogl/make
|
||||
|
||||
# prevent looking for native libraries in /usr/lib
|
||||
substituteInPlace build-*.xml \
|
||||
--replace 'dir="''${TARGET_PLATFORM_USRLIBS}"' ""
|
||||
|
||||
# force way to do disfunctional "ant -Dsetup.addNativeBroadcom=false" and disable dependency on raspberrypi drivers
|
||||
# if arm/aarch64 support will be added, this block might be commented out on those platforms
|
||||
# on x86 compiling with default "setup.addNativeBroadcom=true" leads to unsatisfied import "vc_dispmanx_resource_delete" in libnewt.so
|
||||
xmlstarlet ed --inplace --delete '//*[@if="setup.addNativeBroadcom"]' build-newt.xml
|
||||
|
||||
# set timestamp of files in jar to a fixed point in time
|
||||
xmlstarlet ed --inplace \
|
||||
--append //jar --type attr -n modificationtime --value 1980-01-01T00:00Z \
|
||||
build.xml build-nativewindow.xml build-jogl.xml
|
||||
|
||||
ant -Dtarget.sourcelevel=8 -Dtarget.targetlevel=8 -Dtarget.rt.jar='null.jar' )
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/java
|
||||
cp -v $NIX_BUILD_TOP/gluegen/build/gluegen-rt{,-natives-linux-*}.jar $out/share/java/
|
||||
cp -v $NIX_BUILD_TOP/jogl/build/jar/jogl-all{,-natives-linux-*}.jar $out/share/java/
|
||||
cp -v $NIX_BUILD_TOP/jogl/build/nativewindow/nativewindow{,-awt,-natives-linux-*,-os-drm,-os-x11}.jar $out/share/java/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,23 +1,39 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, libopcodes
|
||||
, libiberty
|
||||
, stdenv
|
||||
, libbfd
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lightning";
|
||||
version = "2.2.2";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/lightning/${finalAttrs.pname}-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-CsqCQt6tF9YhF7z8sHjmqeqFbMgXQoE8noOUvM5zs+I=";
|
||||
url = "mirror://gnu/lightning/lightning-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-wEXHozoAr/v+sRBm+lAsA5kuR0piupWXeq0G28FMaCk=";
|
||||
};
|
||||
|
||||
nativeCheckInputs = [ libopcodes ];
|
||||
outputs = [ "out" "dev" "info" ];
|
||||
|
||||
buildInputs = [
|
||||
libopcodes
|
||||
libbfd
|
||||
libiberty
|
||||
zlib
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
configureFlags = [
|
||||
(lib.enableFeature true "disassembler")
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
homepage = "https://www.gnu.org/software/lightning/";
|
||||
description = "Run-time code generation library";
|
||||
longDescription = ''
|
||||
|
@ -26,9 +42,9 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
it abstracts over the target CPU, as it exposes to the clients a
|
||||
standardized RISC instruction set inspired by the MIPS and SPARC chips.
|
||||
'';
|
||||
maintainers = with maintainers; [ AndersonTorres ];
|
||||
license = licenses.lgpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||
license = with lib.licenses; [ lgpl3Plus ];
|
||||
platforms = lib.platforms.unix;
|
||||
broken = stdenv.isDarwin; # failing tests
|
||||
};
|
||||
})
|
|
@ -31,13 +31,13 @@ let
|
|||
in
|
||||
effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "llama-cpp";
|
||||
version = "2167";
|
||||
version = "2212";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ggerganov";
|
||||
repo = "llama.cpp";
|
||||
rev = "refs/tags/b${finalAttrs.version}";
|
||||
hash = "sha256-b6q4yqhEO2UMmaUy06+3zDVXwwkYgRRb55PP57D7UVQ=";
|
||||
hash = "sha256-lB+/iA0b5JmIgpmQ0/M32Q52Y0VVOCoeiBpLe4owYsc=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -2,223 +2,219 @@
|
|||
"depends": [
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"asynctools"
|
||||
],
|
||||
"path": "/nix/store/51nf7pb5cwg2n441ka6w6g6c4hdjsdj4-source",
|
||||
"rev": "bb01d965a2ad0f08eaff6a53874f028ddbab4909",
|
||||
"sha256": "0v4n7maskd07qsx8rsr9v0bs7nzbncmvxsn7j9jsk9azcy803v49",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/nickysn/asynctools/archive/bb01d965a2ad0f08eaff6a53874f028ddbab4909.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"asynctools"
|
||||
],
|
||||
"path": "/nix/store/86w001hvppm2xfmqzb3733rnd5s1dmc2-source",
|
||||
"rev": "non-blocking",
|
||||
"sha256": "1iyr2k3vrbqfwm70w9bsyhis799lm9rin8j5pkjxgrpshm1znpbd",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/yyoncho/asynctools/archive/non-blocking.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"bearssl"
|
||||
],
|
||||
"path": "/nix/store/drj65wylnxdbv4jqhymf7biiyjfb75v8-source",
|
||||
"rev": "9372f27a25d0718d3527afad6cc936f6a853f86e",
|
||||
"sha256": "152zbyqx12fmmjl4wn6kqqk1jzp1ywm4xvjd28ll9037f1pyd5ic",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-bearssl/archive/9372f27a25d0718d3527afad6cc936f6a853f86e.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"chronicles"
|
||||
],
|
||||
"path": "/nix/store/ffz78k6z9wf8vj2kv1jdj5dq2rxf61j7-source",
|
||||
"rev": "2a2681b60289aaf7895b7056f22616081eb1a882",
|
||||
"sha256": "0n8awgrmn9f6vd7ibv1jlyxk61lrs7hc51fghilrw6g6xq5w9rxq",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-chronicles/archive/2a2681b60289aaf7895b7056f22616081eb1a882.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"chronos"
|
||||
],
|
||||
"path": "/nix/store/l4zs1l1yw4yhf1f8q7r5x5z2szjygr6d-source",
|
||||
"rev": "ba143e029f35fd9b4cd3d89d007cc834d0d5ba3c",
|
||||
"sha256": "1lv3l9c4ifqzlfgpwpvpq2z3994zz1nirg8f59xrnfb7zgbv8l3i",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-chronos/archive/ba143e029f35fd9b4cd3d89d007cc834d0d5ba3c.tar.gz"
|
||||
"url": "https://github.com/status-im/nim-chronos/archive/ba143e029f35fd9b4cd3d89d007cc834d0d5ba3c.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"chronos"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"faststreams"
|
||||
],
|
||||
"path": "/nix/store/4nj341ypj07hjvxv0462wpnywhkj02b5-source",
|
||||
"rev": "422971502bd641703bf78a27cb20429e77fcfb8b",
|
||||
"sha256": "0snzh904f8f3wn33liy6817q9ccx8mvsl88blhr49qh69mzbgnba",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-faststreams/archive/422971502bd641703bf78a27cb20429e77fcfb8b.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"httputils"
|
||||
],
|
||||
"path": "/nix/store/jmgpadmdabybhij1srd81xfr873zgfmm-source",
|
||||
"rev": "5065d2cf18dcb9812e25cc0e2c50eb357bde04cf",
|
||||
"sha256": "069fw3h9cjn0hab9vhfri8ibld7yihb8ggyg1nv5vxz6i3x026m5",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-http-utils/archive/5065d2cf18dcb9812e25cc0e2c50eb357bde04cf.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"json_rpc"
|
||||
],
|
||||
"path": "/nix/store/szg3jxcg0bf6zv224nyisqhnibkd2pxw-source",
|
||||
"rev": "c8a5cbe26917e6716b1597dae2d08166f3ce789a",
|
||||
"sha256": "1l1y4psbcd5w68j1zz172rlwsk7jxbwlr14r2kwnkj7xc7lfwlnx",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/yyoncho/nim-json-rpc/archive/c8a5cbe26917e6716b1597dae2d08166f3ce789a.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"json_serialization"
|
||||
],
|
||||
"path": "/nix/store/h0xl7qnw7bh513rb24k1n805x3n1rimw-source",
|
||||
"rev": "d9394dc7286064902d825bbc1203d03d7218633a",
|
||||
"sha256": "102m7jaxjip24a6hrnk0nvfb0vmdx5zq4m9i4xyzq8m782xyqp94",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-json-serialization/archive/d9394dc7286064902d825bbc1203d03d7218633a.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"news"
|
||||
],
|
||||
"path": "/nix/store/siwfngb840kcdjdviy5rhlpvdpkw14sk-source",
|
||||
"rev": "8bfd753649aa7e870ec45e93f1453d3bfcf66733",
|
||||
"sha256": "0hvs4kfr4aais7ixvh9d7na2r2zjnvaw3m3rpklafn9qld2wpaav",
|
||||
"srcDir": "src",
|
||||
"url": "https://github.com/status-im/news/archive/8bfd753649aa7e870ec45e93f1453d3bfcf66733.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"news"
|
||||
],
|
||||
"path": "/nix/store/siwfngb840kcdjdviy5rhlpvdpkw14sk-source",
|
||||
"rev": "status",
|
||||
"sha256": "0hvs4kfr4aais7ixvh9d7na2r2zjnvaw3m3rpklafn9qld2wpaav",
|
||||
"srcDir": "src",
|
||||
"url": "https://github.com/status-im/news/archive/status.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"nimcrypto"
|
||||
],
|
||||
"path": "/nix/store/dnj20qh97ylf57nka9wbxs735wbw7yxv-source",
|
||||
"rev": "4014ef939b51e02053c2e16dd3481d47bc9267dd",
|
||||
"sha256": "1kgqr2lqaffglc1fgbanwcvhkqcbbd20d5b6w4lf0nksfl9c357a",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/cheatfate/nimcrypto/archive/4014ef939b51e02053c2e16dd3481d47bc9267dd.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"serialization"
|
||||
],
|
||||
"path": "/nix/store/ss096qz8svm5my0mjhk3imyrc2nm2x0y-source",
|
||||
"rev": "4d541ec43454809904fc4c3c0a7436410ad597d2",
|
||||
"sha256": "1a5x0fsxxkqpambz9q637dz0jrzv9q1jb3cya12k6106vc65lyf8",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-serialization/archive/4d541ec43454809904fc4c3c0a7436410ad597d2.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"stew"
|
||||
],
|
||||
"path": "/nix/store/90rwcr71bq13cid74v4aazikv2s924r1-source",
|
||||
"rev": "d9400ddea08341a65102cffdb693d3a7131efef4",
|
||||
"sha256": "0gkmh63izhp0bxyfmwfvyp81bxnzwnc3r7nxr5a05xpl8crk85w2",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-stew/archive/d9400ddea08341a65102cffdb693d3a7131efef4.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"stint"
|
||||
],
|
||||
"path": "/nix/store/q42j4w2f70qfihcrpzgl3fspxihfsadb-source",
|
||||
"rev": "c0ae9e10a9238883d18226fa28a5435c4d305e45",
|
||||
"sha256": "0dxhjg5nf4sc4ga2zrxqcmr1v3ki9irkl603x0y3pz5sd8jdi731",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-stint/archive/c0ae9e10a9238883d18226fa28a5435c4d305e45.tar.gz"
|
||||
"url": "https://github.com/status-im/nim-stint/archive/c0ae9e10a9238883d18226fa28a5435c4d305e45.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"stint"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"testutils"
|
||||
],
|
||||
"path": "/nix/store/hn5r1ywl4qzzjl9zj62w5m6f8bqkjn8q-source",
|
||||
"rev": "dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34",
|
||||
"sha256": "0fi59m8yvayzlh1ajbl98ddy43i3ikjqh3s5px16y0s3cidg4fai",
|
||||
"path": "/nix/store/jmgpadmdabybhij1srd81xfr873zgfmm-source",
|
||||
"rev": "5065d2cf18dcb9812e25cc0e2c50eb357bde04cf",
|
||||
"sha256": "069fw3h9cjn0hab9vhfri8ibld7yihb8ggyg1nv5vxz6i3x026m5",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-testutils/archive/dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34.tar.gz"
|
||||
"url": "https://github.com/status-im/nim-http-utils/archive/5065d2cf18dcb9812e25cc0e2c50eb357bde04cf.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"httputils"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"unittest2"
|
||||
],
|
||||
"path": "/nix/store/wdj38hf9hdyb1skgb6v0z00kxkdmnq04-source",
|
||||
"rev": "b178f47527074964f76c395ad0dfc81cf118f379",
|
||||
"sha256": "1ir20z9m4wmm0bs2dd2qiq75w0x3skv0yj7sqp6bqfh98ni44xdc",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-unittest2/archive/b178f47527074964f76c395ad0dfc81cf118f379.tar.gz"
|
||||
"url": "https://github.com/status-im/nim-unittest2/archive/b178f47527074964f76c395ad0dfc81cf118f379.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"unittest2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"websock"
|
||||
],
|
||||
"path": "/nix/store/yad26q3iv3r2lw9xs655kyx3hvflxi1p-source",
|
||||
"rev": "2c3ae3137f3c9cb48134285bd4a47186fa51f0e8",
|
||||
"sha256": "09pkxzsnahljkqyp540v1wwiqcnbkz5ji5bz9q9cwn3axpmqc3v7",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-websock/archive/2c3ae3137f3c9cb48134285bd4a47186fa51f0e8.tar.gz"
|
||||
"url": "https://github.com/status-im/nim-websock/archive/2c3ae3137f3c9cb48134285bd4a47186fa51f0e8.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"websock"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/siwfngb840kcdjdviy5rhlpvdpkw14sk-source",
|
||||
"rev": "8bfd753649aa7e870ec45e93f1453d3bfcf66733",
|
||||
"sha256": "0hvs4kfr4aais7ixvh9d7na2r2zjnvaw3m3rpklafn9qld2wpaav",
|
||||
"srcDir": "src",
|
||||
"url": "https://github.com/status-im/news/archive/8bfd753649aa7e870ec45e93f1453d3bfcf66733.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"with"
|
||||
],
|
||||
"news"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/ss096qz8svm5my0mjhk3imyrc2nm2x0y-source",
|
||||
"rev": "4d541ec43454809904fc4c3c0a7436410ad597d2",
|
||||
"sha256": "1a5x0fsxxkqpambz9q637dz0jrzv9q1jb3cya12k6106vc65lyf8",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-serialization/archive/4d541ec43454809904fc4c3c0a7436410ad597d2.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"serialization"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/90rwcr71bq13cid74v4aazikv2s924r1-source",
|
||||
"rev": "d9400ddea08341a65102cffdb693d3a7131efef4",
|
||||
"sha256": "0gkmh63izhp0bxyfmwfvyp81bxnzwnc3r7nxr5a05xpl8crk85w2",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-stew/archive/d9400ddea08341a65102cffdb693d3a7131efef4.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"stew"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/4nj341ypj07hjvxv0462wpnywhkj02b5-source",
|
||||
"rev": "422971502bd641703bf78a27cb20429e77fcfb8b",
|
||||
"sha256": "0snzh904f8f3wn33liy6817q9ccx8mvsl88blhr49qh69mzbgnba",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-faststreams/archive/422971502bd641703bf78a27cb20429e77fcfb8b.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"faststreams"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/qkwz2w5haw8px691c6gkklvxxp38j9d3-source",
|
||||
"rev": "2f95909c767605e06670dc70f5cffd6b9284f192",
|
||||
"sha256": "1qdq9wpm6xahqczmvdn3a7yvvrw5x42ylvzmbybdwjzd8vmgg0zv",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/zevv/with/archive/2f95909c767605e06670dc70f5cffd6b9284f192.tar.gz"
|
||||
"url": "https://github.com/zevv/with/archive/2f95909c767605e06670dc70f5cffd6b9284f192.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"with"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/hn5r1ywl4qzzjl9zj62w5m6f8bqkjn8q-source",
|
||||
"rev": "dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34",
|
||||
"sha256": "0fi59m8yvayzlh1ajbl98ddy43i3ikjqh3s5px16y0s3cidg4fai",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-testutils/archive/dfc4c1b39f9ded9baf6365014de2b4bfb4dafc34.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"zlib"
|
||||
],
|
||||
"testutils"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/szg3jxcg0bf6zv224nyisqhnibkd2pxw-source",
|
||||
"rev": "c8a5cbe26917e6716b1597dae2d08166f3ce789a",
|
||||
"sha256": "1l1y4psbcd5w68j1zz172rlwsk7jxbwlr14r2kwnkj7xc7lfwlnx",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/yyoncho/nim-json-rpc/archive/c8a5cbe26917e6716b1597dae2d08166f3ce789a.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"json_rpc"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/dnj20qh97ylf57nka9wbxs735wbw7yxv-source",
|
||||
"rev": "4014ef939b51e02053c2e16dd3481d47bc9267dd",
|
||||
"sha256": "1kgqr2lqaffglc1fgbanwcvhkqcbbd20d5b6w4lf0nksfl9c357a",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/cheatfate/nimcrypto/archive/4014ef939b51e02053c2e16dd3481d47bc9267dd.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"nimcrypto"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/drj65wylnxdbv4jqhymf7biiyjfb75v8-source",
|
||||
"rev": "9372f27a25d0718d3527afad6cc936f6a853f86e",
|
||||
"sha256": "152zbyqx12fmmjl4wn6kqqk1jzp1ywm4xvjd28ll9037f1pyd5ic",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-bearssl/archive/9372f27a25d0718d3527afad6cc936f6a853f86e.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"bearssl"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/h0xl7qnw7bh513rb24k1n805x3n1rimw-source",
|
||||
"rev": "d9394dc7286064902d825bbc1203d03d7218633a",
|
||||
"sha256": "102m7jaxjip24a6hrnk0nvfb0vmdx5zq4m9i4xyzq8m782xyqp94",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-json-serialization/archive/d9394dc7286064902d825bbc1203d03d7218633a.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"json_serialization"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/ffz78k6z9wf8vj2kv1jdj5dq2rxf61j7-source",
|
||||
"rev": "2a2681b60289aaf7895b7056f22616081eb1a882",
|
||||
"sha256": "0n8awgrmn9f6vd7ibv1jlyxk61lrs7hc51fghilrw6g6xq5w9rxq",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-chronicles/archive/2a2681b60289aaf7895b7056f22616081eb1a882.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"chronicles"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/51nf7pb5cwg2n441ka6w6g6c4hdjsdj4-source",
|
||||
"rev": "bb01d965a2ad0f08eaff6a53874f028ddbab4909",
|
||||
"sha256": "0v4n7maskd07qsx8rsr9v0bs7nzbncmvxsn7j9jsk9azcy803v49",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/nickysn/asynctools/archive/bb01d965a2ad0f08eaff6a53874f028ddbab4909.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"asynctools"
|
||||
]
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"path": "/nix/store/br78rad2jnl6zka2q89qi6pkfiyn10fv-source",
|
||||
"rev": "f34ca261efd90f118dc1647beefd2f7a69b05d93",
|
||||
"sha256": "1k8y7m1ry1z8jm8hj8pa3vlqprshaa59cdwq2a4acrfw9ks5w482",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/status-im/nim-zlib/archive/f34ca261efd90f118dc1647beefd2f7a69b05d93.tar.gz"
|
||||
"url": "https://github.com/status-im/nim-zlib/archive/f34ca261efd90f118dc1647beefd2f7a69b05d93.tar.gz",
|
||||
"subDir": "",
|
||||
"packages": [
|
||||
"zlib"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -7,11 +7,7 @@ buildNimPackage (final: prev: {
|
|||
pname = "nimlangserver";
|
||||
version = "1.2.0";
|
||||
|
||||
# lock.json was generated by converting
|
||||
# nimble.lock into requires "<gitUrl>#revSha" in a dummy.nimble
|
||||
# for all packages and then running nim_lk on said dummy package
|
||||
# default nim_lk output fails because it attempts
|
||||
# to use branches that will not work instead of HEAD for packages
|
||||
# lock.json generated with github.com/daylinmorgan/nnl
|
||||
lockFile = ./lock.json;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
@ -27,6 +23,7 @@ buildNimPackage (final: prev: {
|
|||
final.src.meta
|
||||
// {
|
||||
description = "The Nim language server implementation (based on nimsuggest)";
|
||||
homepage = "https://github.com/nim-lang/langserver";
|
||||
license = licenses.mit;
|
||||
mainProgram = "nimlangserver";
|
||||
maintainers = with maintainers; [daylinmorgan];
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
, linkFarm
|
||||
, writeShellScript
|
||||
, formats
|
||||
, containerRuntimePath
|
||||
, configTemplate
|
||||
, containerRuntimePath ? null
|
||||
, configTemplate ? null
|
||||
, configTemplatePath ? null
|
||||
, libnvidia-container
|
||||
, cudaPackages
|
||||
|
@ -91,7 +91,7 @@ buildGoModule rec {
|
|||
makeWrapper
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
preConfigure = lib.optionalString (containerRuntimePath != null) ''
|
||||
# Ensure the runc symlink isn't broken:
|
||||
if ! readlink --quiet --canonicalize-existing "${isolatedContainerRuntimePath}/runc" ; then
|
||||
echo "${isolatedContainerRuntimePath}/runc: broken symlink" >&2
|
||||
|
@ -109,7 +109,7 @@ buildGoModule rec {
|
|||
in
|
||||
[ "-skip" "${builtins.concatStringsSep "|" skippedTests}" ];
|
||||
|
||||
postInstall = ''
|
||||
postInstall = lib.optionalString (containerRuntimePath != null) ''
|
||||
mkdir -p $out/etc/nvidia-container-runtime
|
||||
|
||||
# nvidia-container-runtime invokes docker-runc or runc if that isn't
|
|
@ -29,7 +29,7 @@ lib.makeScope newScope (
|
|||
ldconfig = "@@glibcbin@/bin/ldconfig";
|
||||
};
|
||||
};
|
||||
nvidia-container-toolkit-docker = self.callPackage ./. {
|
||||
nvidia-container-toolkit-docker = self.callPackage ./package.nix {
|
||||
containerRuntimePath = "${docker}/libexec/docker/docker";
|
||||
configTemplate = self.dockerConfig;
|
||||
};
|
||||
|
@ -65,7 +65,8 @@ lib.makeScope newScope (
|
|||
];
|
||||
inherit (self.nvidia-docker-unwrapped) meta;
|
||||
};
|
||||
nvidia-docker-unwrapped = self.callPackage ../nvidia-docker { };
|
||||
nvidia-docker-unwrapped =
|
||||
self.callPackage ./nvidia-docker.nix { };
|
||||
|
||||
nvidia-podman = symlinkJoin {
|
||||
name = "nvidia-podman";
|
41
pkgs/by-name/os/osc-cli/package.nix
Normal file
41
pkgs/by-name/os/osc-cli/package.nix
Normal file
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
lib
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "osc-cli";
|
||||
version = "1.11.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "outscale";
|
||||
repo = "osc-cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7WXy+1NHwFvYmyi5xGfWpq/mbVGJ3WkgP5WQd5pvcC0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3.pkgs.setuptools
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
defusedxml
|
||||
fire
|
||||
requests
|
||||
typing-extensions
|
||||
xmltodict
|
||||
];
|
||||
|
||||
# Skipping tests as they require working access and secret keys
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Official Outscale CLI providing connectors to Outscale API";
|
||||
homepage = "https://github.com/outscale/osc-cli";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ nicolas-goudry ];
|
||||
mainProgram = "osc-cli";
|
||||
};
|
||||
}
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "plumber";
|
||||
version = "2.5.3";
|
||||
version = "2.5.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "streamdal";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-0uQYNOmG84kJo6fBZNv4/ua8uVzg2OWOWVFdGIcbm5U=";
|
||||
hash = "sha256-6nPH+HQtpFJ4MAtblFWjaQjDSKtpIxW9tGt2o1ICtos=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
40
pkgs/by-name/s3/s3proxy/package.nix
Normal file
40
pkgs/by-name/s3/s3proxy/package.nix
Normal file
|
@ -0,0 +1,40 @@
|
|||
{ lib
|
||||
, fetchFromGitHub
|
||||
, jre
|
||||
, makeWrapper
|
||||
, maven
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "s3proxy";
|
||||
version = "2.1.0";
|
||||
in
|
||||
maven.buildMavenPackage {
|
||||
inherit pname version;
|
||||
mvnHash = "sha256-85mE/pZ0DXkzOKvTAqBXGatAt8gc4VPRCxmEyIlyVGI=";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gaul";
|
||||
repo = pname;
|
||||
rev = "s3proxy-${version}";
|
||||
hash = "sha256-GhZPvo8wlXInHwg8rSmpwMMkZVw5SMpnZyKqFUYLbrE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
install -D --mode=644 --target-directory=$out/share/s3proxy target/s3proxy-${version}-jar-with-dependencies.jar
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/s3proxy \
|
||||
--add-flags "-jar $out/share/s3proxy/s3proxy-${version}-jar-with-dependencies.jar"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Access other storage backends via the S3 API";
|
||||
homepage = "https://github.com/gaul/s3proxy";
|
||||
changelog = "https://github.com/gaul/s3proxy/releases/tag/s3proxy-${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ camelpunch ];
|
||||
};
|
||||
}
|
||||
|
53
pkgs/by-name/sc/scrutiny-collector/package.nix
Normal file
53
pkgs/by-name/sc/scrutiny-collector/package.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
{ buildGoModule
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, smartmontools
|
||||
, nixosTests
|
||||
, lib
|
||||
}:
|
||||
let
|
||||
version = "0.7.2";
|
||||
in
|
||||
buildGoModule rec {
|
||||
inherit version;
|
||||
pname = "scrutiny-collector";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AnalogJ";
|
||||
repo = "scrutiny";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-UYKi+WTsasUaE6irzMAHr66k7wXyec8FXc8AWjEk0qs=";
|
||||
};
|
||||
|
||||
subPackages = "collector/cmd/collector-metrics";
|
||||
|
||||
vendorHash = "sha256-SiQw6pq0Fyy8Ia39S/Vgp9Mlfog2drtVn43g+GXiQuI=";
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
ldflags = [ "-extldflags=-static" ];
|
||||
|
||||
tags = [ "static" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp $GOPATH/bin/collector-metrics $out/bin/scrutiny-collector-metrics
|
||||
wrapProgram $out/bin/scrutiny-collector-metrics \
|
||||
--prefix PATH : ${lib.makeBinPath [ smartmontools ]}
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests.scrutiny-collector = nixosTests.scrutiny;
|
||||
|
||||
meta = {
|
||||
description = "Hard disk metrics collector for Scrutiny.";
|
||||
homepage = "https://github.com/AnalogJ/scrutiny";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ jnsgruk ];
|
||||
mainProgram = "scrutiny-collector-metrics";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
68
pkgs/by-name/sc/scrutiny/package.nix
Normal file
68
pkgs/by-name/sc/scrutiny/package.nix
Normal file
|
@ -0,0 +1,68 @@
|
|||
{ buildNpmPackage
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, nixosTests
|
||||
, lib
|
||||
}:
|
||||
let
|
||||
pname = "scrutiny";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AnalogJ";
|
||||
repo = "scrutiny";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-UYKi+WTsasUaE6irzMAHr66k7wXyec8FXc8AWjEk0qs=";
|
||||
};
|
||||
|
||||
frontend = buildNpmPackage {
|
||||
inherit version;
|
||||
pname = "${pname}-webapp";
|
||||
src = "${src}/webapp/frontend";
|
||||
|
||||
npmDepsHash = "sha256-M8P41LPg7oJ/C9abDuNM5Mn+OO0zK56CKi2BwLxv8oQ=";
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
mkdir dist
|
||||
npm run build:prod --offline -- --output-path=dist
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir $out
|
||||
cp -r dist/* $out
|
||||
runHook postInstall
|
||||
'';
|
||||
};
|
||||
in
|
||||
buildGoModule rec {
|
||||
inherit pname src version;
|
||||
|
||||
subPackages = "webapp/backend/cmd/scrutiny";
|
||||
|
||||
vendorHash = "sha256-SiQw6pq0Fyy8Ia39S/Vgp9Mlfog2drtVn43g+GXiQuI=";
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
ldflags = [ "-extldflags=-static" ];
|
||||
|
||||
tags = [ "static" ];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/scrutiny
|
||||
cp -r ${frontend}/* $out/share/scrutiny
|
||||
'';
|
||||
|
||||
passthru.tests.scrutiny = nixosTests.scrutiny;
|
||||
|
||||
meta = {
|
||||
description = "Hard Drive S.M.A.R.T Monitoring, Historical Trends & Real World Failure Thresholds.";
|
||||
homepage = "https://github.com/AnalogJ/scrutiny";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ jnsgruk ];
|
||||
mainProgram = "scrutiny";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
|
@ -9,18 +9,18 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "shopware-cli";
|
||||
version = "0.4.23";
|
||||
version = "0.4.24";
|
||||
src = fetchFromGitHub {
|
||||
repo = "shopware-cli";
|
||||
owner = "FriendsOfShopware";
|
||||
rev = version;
|
||||
hash = "sha256-miuZsrIPvdYdEu9qc/qRxcNxfPLxCHxokywhLgplehY=";
|
||||
hash = "sha256-eHMPiQJDpTyFfNAJHLMOzW1hb2V8NPoyc7/xsjNujkc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
||||
nativeCheckInputs = [ git dart-sass ];
|
||||
|
||||
vendorHash = "sha256-JgeyIj4YfnHZm2u+Gy3taX+WoFwe3jfqkVOO63adzgU=";
|
||||
vendorHash = "sha256-1oyNynkKrIrg7HmLFawhz0jbgBGFPoX+ZgFL3/scoEE=";
|
||||
|
||||
postInstall = ''
|
||||
export HOME="$(mktemp -d)"
|
||||
|
|
30
pkgs/by-name/ue/uefisettings/package.nix
Normal file
30
pkgs/by-name/ue/uefisettings/package.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{ fetchFromGitHub
|
||||
, lib
|
||||
, rustPlatform
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
name = "uefisettings";
|
||||
version = "unstable-2024-02-20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxboot";
|
||||
repo = "uefisettings";
|
||||
rev = "eae8b8b622b7ac3c572eeb3b3513ed623e272fcc";
|
||||
hash = "sha256-zLgrxYBj5bEMZRw5sKWqKuV3jQOJ6dnzbzpoqE0OhKs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-FCQ/1E6SZyVOOAlpqyaDWEZx0y0Wk3Caosvr48VamAA=";
|
||||
|
||||
# Tests expect filesystem access to directories like /proc
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI tool to read/get/extract and write/change/modify BIOS/UEFI settings.";
|
||||
homepage = "https://github.com/linuxboot/uefisettings";
|
||||
license = with licenses; [ bsd3 ];
|
||||
mainProgram = "uefisettings";
|
||||
maintainers = with maintainers; [ surfaceflinger ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
46
pkgs/by-name/wa/wayland-pipewire-idle-inhibit/package.nix
Normal file
46
pkgs/by-name/wa/wayland-pipewire-idle-inhibit/package.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ clang
|
||||
, lib
|
||||
, libclang
|
||||
, fetchFromGitHub
|
||||
, pipewire
|
||||
, pkg-config
|
||||
, rustPlatform
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "wayland-pipewire-idle-inhibit";
|
||||
version = "0.4.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rafaelrc7";
|
||||
repo = "wayland-pipewire-idle-inhibit";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-VOP1VOeXOyjn+AJfSHzVNT0l+rgm63ev9p4uTfMfYY0=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-7XuDZ57+F8Ot5oNO9/BXjFljNmoMgNgURfmPEIy2PHo=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
clang
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
pipewire
|
||||
wayland
|
||||
wayland-protocols
|
||||
];
|
||||
|
||||
LIBCLANG_PATH = "${libclang.lib}/lib";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Suspends automatic idling of Wayland compositors when media is being played through Pipewire.";
|
||||
homepage = "https://github.com/rafaelrc7/wayland-pipewire-idle-inhibit/";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ rafameou ];
|
||||
mainProgram = "wayland-pipewire-idle-inhibit";
|
||||
};
|
||||
}
|
||||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wiremock";
|
||||
version = "3.4.0";
|
||||
version = "3.4.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://maven/org/wiremock/wiremock-standalone/${version}/wiremock-standalone-${version}.jar";
|
||||
hash = "sha256-YD7bx8AAZZ7sj49Vt2dc3berLCmd8/eC6NDBbST0jYc=";
|
||||
hash = "sha256-SqyPd6eHDzNFn7vzIPOW3l/KtpaiiLC6uMIKqL3GN3s=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
|
139
pkgs/desktops/lomiri/applications/morph-browser/default.nix
Normal file
139
pkgs/desktops/lomiri/applications/morph-browser/default.nix
Normal file
|
@ -0,0 +1,139 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, gitUpdater
|
||||
, nixosTests
|
||||
, cmake
|
||||
, content-hub
|
||||
, gettext
|
||||
, libapparmor
|
||||
, lomiri-action-api
|
||||
, lomiri-ui-extras
|
||||
, lomiri-ui-toolkit
|
||||
, pkg-config
|
||||
, qqc2-suru-style
|
||||
, qtbase
|
||||
, qtdeclarative
|
||||
, qtquickcontrols2
|
||||
, qtsystems
|
||||
, qtwebengine
|
||||
, wrapQtAppsHook
|
||||
, xvfb-run
|
||||
}:
|
||||
|
||||
let
|
||||
listToQtVar = suffix: lib.makeSearchPathOutput "bin" suffix;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "morph-browser";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/morph-browser";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-C5iXv8VS8Mm1ryxK7Vi5tVmiM01OSIFiTyH0vP9B/xA=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove when https://gitlab.com/ubports/development/core/morph-browser/-/merge_requests/575 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0001-morph-browser-tst_SessionUtilsTests-Set-permissions-on-temporary-xdg-runtime-directory.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/morph-browser/-/commit/e90206105b8b287fbd6e45ac37ca1cd259981928.patch";
|
||||
hash = "sha256-5htFn+OGVVBn3mJQaZcF5yt0mT+2QRlKyKFesEhklfA=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/core/morph-browser/-/merge_requests/576 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0002-morph-browser-Call-i18n-bindtextdomain-with-buildtime-determined-locale-path.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/morph-browser/-/commit/0527a1e01fb27c62f5e0011274f73bad400e9691.patch";
|
||||
hash = "sha256-zx/pP72uNqAi8TZR4bKeONuqcJyK/vGtPglTA+5R5no=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/{Morph,Ubuntu}/CMakeLists.txt \
|
||||
--replace '/usr/lib/''${CMAKE_LIBRARY_ARCHITECTURE}/qt5/qml' "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
|
||||
|
||||
# Don't use absolute paths in desktop file
|
||||
substituteInPlace src/app/webbrowser/morph-browser.desktop.in.in \
|
||||
--replace 'Icon=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser.svg' 'Icon=morph-browser' \
|
||||
--replace 'X-Lomiri-Splash-Image=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser-splash.svg' 'X-Lomiri-Splash-Image=lomiri-app-launch/splash/morph-browser.svg'
|
||||
'' + lib.optionalString (!finalAttrs.doCheck) ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace 'add_subdirectory(tests)' ""
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
gettext
|
||||
pkg-config
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libapparmor
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtwebengine
|
||||
|
||||
# QML
|
||||
content-hub
|
||||
lomiri-action-api
|
||||
lomiri-ui-extras
|
||||
lomiri-ui-toolkit
|
||||
qqc2-suru-style
|
||||
qtquickcontrols2
|
||||
qtsystems
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
xvfb-run
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" (lib.concatStringsSep ";" [
|
||||
# Exclude tests
|
||||
"-E" (lib.strings.escapeShellArg "(${lib.concatStringsSep "|" [
|
||||
# Don't care about linter failures
|
||||
"^flake8"
|
||||
|
||||
# Runs into ShapeMaterial codepath in lomiri-ui-toolkit which needs OpenGL, see LUITK for details
|
||||
"^tst_QmlTests"
|
||||
]})")
|
||||
]))
|
||||
];
|
||||
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
|
||||
preCheck = ''
|
||||
export HOME=$TMPDIR
|
||||
export QT_PLUGIN_PATH=${listToQtVar qtbase.qtPluginPrefix [ qtbase ]}
|
||||
export QML2_IMPORT_PATH=${listToQtVar qtbase.qtQmlPrefix ([ lomiri-ui-toolkit qtwebengine qtdeclarative qtquickcontrols2 qtsystems ] ++ lomiri-ui-toolkit.propagatedBuildInputs)}
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/{icons/hicolor/scalable/apps,lomiri-app-launch/splash}
|
||||
|
||||
ln -s $out/share/{morph-browser,icons/hicolor/scalable/apps}/morph-browser.svg
|
||||
ln -s $out/share/{morph-browser/morph-browser-splash.svg,lomiri-app-launch/splash/morph-browser.svg}
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gitUpdater { };
|
||||
tests.standalone = nixosTests.morph-browser;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Lightweight web browser tailored for Ubuntu Touch";
|
||||
homepage = "https://gitlab.com/ubports/development/core/morph-browser";
|
||||
changelog = "https://gitlab.com/ubports/development/core/morph-browser/-/blob/${finalAttrs.version}/ChangeLog";
|
||||
license = with licenses; [ gpl3Only cc-by-sa-30 ];
|
||||
mainProgram = "morph-browser";
|
||||
maintainers = teams.lomiri.members;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
|
@ -9,6 +9,7 @@ let
|
|||
in {
|
||||
#### Core Apps
|
||||
lomiri-terminal-app = callPackage ./applications/lomiri-terminal-app { };
|
||||
morph-browser = callPackage ./applications/morph-browser { };
|
||||
|
||||
#### Data
|
||||
lomiri-schemas = callPackage ./data/lomiri-schemas { };
|
||||
|
|
|
@ -144,6 +144,10 @@ in let
|
|||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
mlir = callPackage ./mlir {
|
||||
inherit llvm_meta;
|
||||
};
|
||||
|
||||
lldb = callPackage ../common/lldb.nix {
|
||||
src = callPackage ({ runCommand }: runCommand "lldb-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
|
|
71
pkgs/development/compilers/llvm/17/mlir/default.nix
Normal file
71
pkgs/development/compilers/llvm/17/mlir/default.nix
Normal file
|
@ -0,0 +1,71 @@
|
|||
{ lib, stdenv, llvm_meta
|
||||
, buildLlvmTools
|
||||
, monorepoSrc, runCommand
|
||||
, cmake
|
||||
, ninja
|
||||
, libxml2
|
||||
, libllvm
|
||||
, version
|
||||
, doCheck ? (!stdenv.isx86_32 /* TODO: why */) && (!stdenv.hostPlatform.isMusl)
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mlir";
|
||||
inherit version doCheck;
|
||||
|
||||
# Blank llvm dir just so relative path works
|
||||
src = runCommand "${pname}-src-${version}" {} ''
|
||||
mkdir -p "$out"
|
||||
cp -r ${monorepoSrc}/cmake "$out"
|
||||
cp -r ${monorepoSrc}/${pname} "$out"
|
||||
cp -r ${monorepoSrc}/third-party "$out/third-party"
|
||||
|
||||
mkdir -p "$out/llvm"
|
||||
'';
|
||||
|
||||
sourceRoot = "${src.name}/${pname}";
|
||||
|
||||
patches = [
|
||||
./gnu-install-dirs.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake ninja ];
|
||||
buildInputs = [ libllvm libxml2 ];
|
||||
|
||||
ninjaFlags = [ "-v " ];
|
||||
cmakeFlags = [
|
||||
"-DLLVM_BUILD_TOOLS=ON"
|
||||
# Install headers as well
|
||||
"-DLLVM_INSTALL_TOOLCHAIN_ONLY=OFF"
|
||||
"-DMLIR_TOOLS_INSTALL_DIR=${placeholder "out"}/bin/"
|
||||
"-DLLVM_ENABLE_IDE=OFF"
|
||||
"-DLLD_INSTALL_PACKAGE_DIR=${placeholder "out"}/lib/cmake/mlir"
|
||||
"-DLLVM_BUILD_TESTS=${if doCheck then "ON" else "OFF"}"
|
||||
"-DLLVM_ENABLE_FFI=ON"
|
||||
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_ENABLE_DUMP=ON"
|
||||
] ++ lib.optionals stdenv.hostPlatform.isStatic [
|
||||
# Disables building of shared libs, -fPIC is still injected by cc-wrapper
|
||||
"-DLLVM_ENABLE_PIC=OFF"
|
||||
"-DLLVM_BUILD_STATIC=ON"
|
||||
"-DLLVM_LINK_LLVM_DYLIB=off"
|
||||
] ++ lib.optionals ((stdenv.hostPlatform != stdenv.buildPlatform) && !(stdenv.buildPlatform.canExecute stdenv.hostPlatform)) [
|
||||
"-DLLVM_TABLEGEN_EXE=${buildLlvmTools.llvm}/bin/llvm-tblgen"
|
||||
"-DMLIR_TABLEGEN_EXE=${buildLlvmTools.mlir}/bin/mlir-tblgen"
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
meta = llvm_meta // {
|
||||
homepage = "https://mlir.llvm.org/";
|
||||
description = "Multi-Level IR Compiler Framework";
|
||||
longDescription = ''
|
||||
The MLIR project is a novel approach to building reusable and extensible
|
||||
compiler infrastructure. MLIR aims to address software fragmentation,
|
||||
improve compilation for heterogeneous hardware, significantly reduce
|
||||
the cost of building domain specific compilers, and aid in connecting
|
||||
existing compilers together.
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index c91e9cd93dc8..23b6032a46b7 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -32,8 +32,8 @@ if(MLIR_STANDALONE_BUILD)
|
||||
endif()
|
||||
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY
|
||||
- "${CMAKE_CURRENT_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}")
|
||||
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin")
|
||||
+ "${CMAKE_INSTALL_LIBDIR}/${LLVM_LIBDIR_SUFFIX}")
|
||||
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_INSTALL_BINDIR}")
|
||||
|
||||
set(LLVM_LIT_ARGS "-sv" CACHE STRING "Default options for lit")
|
||||
endif()
|
|
@ -116,7 +116,7 @@ stdenv.mkDerivation {
|
|||
--replace "#include <stdlib.h>" ""
|
||||
substituteInPlace lib/builtins/clear_cache.c \
|
||||
--replace "#include <assert.h>" ""
|
||||
substituteInPlace lib/builtins/cpu_model.c \
|
||||
substituteInPlace lib/builtins/cpu_model${lib.optionalString (lib.versionAtLeast version "18") "/x86"}.c \
|
||||
--replace "#include <assert.h>" ""
|
||||
'';
|
||||
|
||||
|
|
|
@ -17,12 +17,7 @@
|
|||
else pkgs.bintools
|
||||
, darwin
|
||||
# LLVM release information; specify one of these but not both:
|
||||
, gitRelease ? {
|
||||
version = "18.0.0";
|
||||
rev = "2fd7657b6609454af7adb75765d164ec7d1bb80b";
|
||||
rev-version = "18.0.0-unstable-2023-12-13";
|
||||
sha256 = "sha256-/sMQzzFid0tAnreOIV9SUm2H6QbEGhpNcizl3LDPM5s=";
|
||||
}
|
||||
, gitRelease ? null
|
||||
# i.e.:
|
||||
# {
|
||||
# version = /* i.e. "15.0.0" */;
|
||||
|
@ -30,7 +25,7 @@
|
|||
# rev-version = /* human readable version; i.e. "unstable-2022-26-07" */;
|
||||
# sha256 = /* checksum for this release, can omit if specifying your own `monorepoSrc` */;
|
||||
# }
|
||||
, officialRelease ? null
|
||||
, officialRelease ? { version = "18.1.0-rc3"; sha256 = "sha256-qRzY2kTLeRxXQCSuVP592Awafm5wjVeFY60d6082mSc="; }
|
||||
# i.e.:
|
||||
# {
|
||||
# version = /* i.e. "15.0.0" */;
|
||||
|
|
|
@ -45,17 +45,6 @@ stdenv.mkDerivation rec {
|
|||
chmod -R u+w .
|
||||
'';
|
||||
|
||||
patches = [
|
||||
# fix for https://github.com/NixOS/nixpkgs/issues/269548
|
||||
# https://github.com/llvm/llvm-project/pull/77218
|
||||
(fetchpatch {
|
||||
name = "darwin-system-libcxxabi-link-flags.patch";
|
||||
url = "https://github.com/llvm/llvm-project/commit/c5b89b29ee6e3c444a355fd1cf733ce7ab2e316a.patch";
|
||||
hash = "sha256-LNoPg1KCoP8RWxU/AzHR52f4Dww24I9BGQJedMhFxyQ=";
|
||||
relative = "libcxx";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
cd ../runtimes
|
||||
'';
|
||||
|
@ -82,7 +71,9 @@ stdenv.mkDerivation rec {
|
|||
"-DLIBCXX_CXX_ABI=${if headersOnly then "none" else libcxx_cxx_abi_opt}"
|
||||
] ++ lib.optional (!headersOnly && cxxabi.libName == "c++abi") "-DLIBCXX_CXX_ABI_INCLUDE_PATHS=${cxxabi.dev}/include/c++/v1"
|
||||
++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
|
||||
++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [
|
||||
++ lib.optionals (lib.versionAtLeast version "18" && !(stdenv.hostPlatform.useLLVM or false) && stdenv.hostPlatform.libc == "glibc" && !stdenv.hostPlatform.isStatic) [
|
||||
"-DLIBCXX_ADDITIONAL_LIBRARIES=gcc_s"
|
||||
] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [
|
||||
"-DLIBCXX_USE_COMPILER_RT=ON"
|
||||
# There's precedent for this in llvm-project/libcxx/cmake/caches.
|
||||
# In a monorepo build you might do the following in the libcxxabi build:
|
||||
|
|
|
@ -44,6 +44,20 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1xyjd56m4pfwq8p3xh6i8lhkk9kq15jaml7qbhxdf87z4jjkk63a";
|
||||
stripLen = 1;
|
||||
})
|
||||
] ++ lib.optionals (lib.versionAtLeast version "18") [
|
||||
# Allow building libcxxabi alone when using LLVM unwinder
|
||||
(fetchpatch {
|
||||
url = "https://github.com/llvm/llvm-project/commit/77610dd10454e87bb387040d2b51100a17ac5755.patch";
|
||||
stripLen = 1;
|
||||
revert = true;
|
||||
hash = "sha256-Jogx/cvTJ6fdyprTD1QzMIeRWcBlZZMWE/y9joOtVH0=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/llvm/llvm-project/commit/48e5b5ea92674ded69b998cf35724d9012c0f57d.patch";
|
||||
stripLen = 1;
|
||||
revert = true;
|
||||
hash = "sha256-7VeBFjG7CnEMWn0hpBvyNOyhRfz50PnD3zyQNDhNChk=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -63,6 +77,8 @@ stdenv.mkDerivation rec {
|
|||
# CMake however checks for this anyways; this flag tells it not to. See:
|
||||
# https://github.com/llvm/llvm-project/blob/4bd3f3759259548e159aeba5c76efb9a0864e6fa/llvm/runtimes/CMakeLists.txt#L243
|
||||
"-DCMAKE_CXX_COMPILER_WORKS=ON"
|
||||
] ++ lib.optionals (lib.versionAtLeast version "18" && !(stdenv.hostPlatform.useLLVM or false && !stdenv.hostPlatform.isWasm)) [
|
||||
"-DLIBCXXABI_USE_LLVM_UNWINDER=OFF"
|
||||
] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false && !stdenv.hostPlatform.isWasm) [
|
||||
"-DLLVM_ENABLE_LIBCXX=ON"
|
||||
"-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
|
||||
|
|
|
@ -6,14 +6,14 @@ diff --git a/tools/polly/cmake/polly_macros.cmake b/tools/polly/cmake/polly_macr
|
|||
index 518a09b45a42..bd9d6f5542ad 100644
|
||||
--- a/tools/polly/cmake/polly_macros.cmake
|
||||
+++ b/tools/polly/cmake/polly_macros.cmake
|
||||
@@ -44,8 +44,8 @@ macro(add_polly_library name)
|
||||
if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LLVMPolly")
|
||||
@@ -45,8 +45,8 @@ macro(add_polly_library name)
|
||||
install(TARGETS ${name}
|
||||
COMPONENT ${name}
|
||||
EXPORT LLVMExports
|
||||
- LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
|
||||
- ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
|
||||
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}
|
||||
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX})
|
||||
add_llvm_install_targets(install-${name}
|
||||
COMPONENT ${name})
|
||||
endif()
|
||||
set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
|
||||
endmacro(add_polly_library)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue