Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-11-23 00:12:55 +00:00 committed by GitHub
commit 6200bfcd42
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
233 changed files with 9694 additions and 9495 deletions

7
.github/labeler.yml vendored
View File

@ -65,6 +65,13 @@
- pkgs/top-level/haskell-packages.nix
- pkgs/top-level/release-haskell.nix
"6.topic: jupyter":
- pkgs/development/python-modules/jupyter*/**/*
- pkgs/development/python-modules/mkdocs-jupyter/*
- nixos/modules/services/development/jupyter/**/*
- pkgs/applications/editors/jupyter-kernels/**/*
- pkgs/applications/editors/jupyter/**/*
"6.topic: kernel":
- pkgs/build-support/kernel/**/*
- pkgs/os-specific/linux/kernel/**/*

View File

@ -64,15 +64,21 @@ jobs:
- uses: cachix/install-nix-action@v23
- name: Determining channel to use for dependencies
run: |
echo "Determining which channel to use for PR base branch $GITHUB_BASE_REF"
echo "Determining the preferred channel to use for PR base branch $GITHUB_BASE_REF"
if [[ "$GITHUB_BASE_REF" =~ ^(release|staging|staging-next)-([0-9][0-9]\.[0-9][0-9])$ ]]; then
# Use the release channel for all PRs to release-XX.YY, staging-XX.YY and staging-next-XX.YY
channel=nixos-${BASH_REMATCH[2]}
echo "PR is for a release branch, using release channel $channel"
echo "PR is for a release branch, preferred channel is $channel"
else
# Use the nixos-unstable channel for all other PRs
channel=nixos-unstable
echo "PR is for a non-release branch, using unstable channel $channel"
echo "PR is for a non-release branch, preferred channel is $channel"
fi
# Check that the channel exists. It doesn't exist for fresh release branches
if ! curl -fSs "https://channels.nixos.org/$channel"; then
# Fall back to nixos-unstable, makes sense for fresh release branches
echo "Preferred channel $channel could not be fetched, falling back to nixos-unstable"
channel=nixos-unstable
fi
echo "channel=$channel" >> "$GITHUB_ENV"
- name: Fetching latest version of channel

View File

@ -253,7 +253,15 @@ The `fileFilter` function takes a path, and not a file set, as its second argume
it would change the `subpath`/`components` value depending on which files are included.
- (+) If necessary, this restriction can be relaxed later, the opposite wouldn't be possible
## To update in the future
### Strict path existence checking
Here's a list of places in the library that need to be updated in the future:
- If/Once a function exists that can optionally include a path depending on whether it exists, the error message for the path not existing in `_coerce` should mention the new function
Coercing paths that don't exist to file sets always gives an error.
- (-) Sometimes you want to remove a file that may not always exist using `difference ./. ./does-not-exist`,
but this does not work because coercion of `./does-not-exist` fails,
even though its existence would have no influence on the result.
- (+) This is dangerous, because you wouldn't be protected against typos anymore.
E.g. when trying to prevent `./secret` from being imported, a typo like `difference ./. ./sercet` would import it regardless.
- (+) `difference ./. (maybeMissing ./does-not-exist)` can be used to do this more explicitly.
- (+) `difference ./. (difference ./foo ./foo/bar)` should report an error when `./foo/bar` does not exist ("double negation"). Unfortunately, the current internal representation does not lend itself to a behavior where both `difference x ./does-not-exists` and double negation are handled and checked correctly.
This could be fixed, but would require significant changes to the internal representation that are not worth the effort and the risk of introducing implicit behavior.

View File

@ -11,6 +11,10 @@
Basics:
- [Implicit coercion from paths to file sets](#sec-fileset-path-coercion)
- [`lib.fileset.maybeMissing`](#function-library-lib.fileset.maybeMissing):
Create a file set from a path that may be missing.
- [`lib.fileset.trace`](#function-library-lib.fileset.trace)/[`lib.fileset.traceVal`](#function-library-lib.fileset.trace):
Pretty-print file sets for debugging.
@ -105,6 +109,7 @@ let
_difference
_mirrorStorePath
_fetchGitSubmodulesMinver
_emptyWithoutBase
;
inherit (builtins)
@ -148,6 +153,32 @@ let
in {
/*
Create a file set from a path that may or may not exist:
- If the path does exist, the path is [coerced to a file set](#sec-fileset-path-coercion).
- If the path does not exist, a file set containing no files is returned.
Type:
maybeMissing :: Path -> FileSet
Example:
# All files in the current directory, but excluding main.o if it exists
difference ./. (maybeMissing ./main.o)
*/
maybeMissing =
path:
if ! isPath path then
if isStringLike path then
throw ''
lib.fileset.maybeMissing: Argument ("${toString path}") is a string-like value, but it should be a path instead.''
else
throw ''
lib.fileset.maybeMissing: Argument is of type ${typeOf path}, but it should be a path instead.''
else if ! pathExists path then
_emptyWithoutBase
else
_singleton path;
/*
Incrementally evaluate and trace a file set in a pretty way.
This function is only intended for debugging purposes.

View File

@ -181,7 +181,8 @@ rec {
${context} is of type ${typeOf value}, but it should be a file set or a path instead.''
else if ! pathExists value then
throw ''
${context} (${toString value}) is a path that does not exist.''
${context} (${toString value}) is a path that does not exist.
To create a file set from a path that may not exist, use `lib.fileset.maybeMissing`.''
else
_singleton value;

View File

@ -413,7 +413,8 @@ expectFailure 'toSource { root = ./.; fileset = cleanSourceWith { src = ./.; };
\s*Note that this only works for sources created from paths.'
# Path coercion errors for non-existent paths
expectFailure 'toSource { root = ./.; fileset = ./a; }' 'lib.fileset.toSource: `fileset` \('"$work"'/a\) is a path that does not exist.'
expectFailure 'toSource { root = ./.; fileset = ./a; }' 'lib.fileset.toSource: `fileset` \('"$work"'/a\) is a path that does not exist.
\s*To create a file set from a path that may not exist, use `lib.fileset.maybeMissing`.'
# File sets cannot be evaluated directly
expectFailure 'union ./. ./.' 'lib.fileset: Directly evaluating a file set is not supported.
@ -1450,6 +1451,40 @@ checkGitTracked
rm -rf -- *
## lib.fileset.maybeMissing
# Argument must be a path
expectFailure 'maybeMissing "someString"' 'lib.fileset.maybeMissing: Argument \("someString"\) is a string-like value, but it should be a path instead.'
expectFailure 'maybeMissing null' 'lib.fileset.maybeMissing: Argument is of type null, but it should be a path instead.'
tree=(
)
checkFileset 'maybeMissing ./a'
checkFileset 'maybeMissing ./b'
checkFileset 'maybeMissing ./b/c'
# Works on single files
tree=(
[a]=1
[b/c]=0
[b/d]=0
)
checkFileset 'maybeMissing ./a'
tree=(
[a]=0
[b/c]=1
[b/d]=0
)
checkFileset 'maybeMissing ./b/c'
# Works on directories
tree=(
[a]=0
[b/c]=1
[b/d]=1
)
checkFileset 'maybeMissing ./b'
# TODO: Once we have combinators and a property testing library, derive property tests from https://en.wikipedia.org/wiki/Algebra_of_sets
echo >&2 tests ok

View File

@ -149,6 +149,12 @@
github = "360ied";
githubId = 19516527;
};
_365tuwe = {
name = "Uwe Schlifkowitz";
email = "supertuwe@gmail.com";
github = "365tuwe";
githubId = 10263091;
};
_3699n = {
email = "nicholas@nvk.pm";
github = "3699n";
@ -11014,6 +11020,12 @@
githubId = 3507;
name = "Michael Fellinger";
};
maolonglong = {
email = "shaolong.chen@outlook.it";
github = "maolonglong";
githubId = 50797868;
name = "Shaolong Chen";
};
maralorn = {
email = "mail@maralorn.de";
matrix = "@maralorn:maralorn.de";
@ -14554,6 +14566,12 @@
name = "Philipp Rintz";
matrix = "@philipp:srv.icu";
};
prit342 = {
email = "prithak342@gmail.com";
github = "prit342";
githubId = 20863431;
name = "Prithak S.";
};
ProducerMatt = {
name = "Matthew Pherigo";
email = "ProducerMatt42@gmail.com";
@ -19391,6 +19409,12 @@
githubId = 168610;
name = "Ricardo M. Correia";
};
wkral = {
email = "william.kral@gmail.com";
github = "wkral";
githubId = 105114;
name = "William Kral";
};
wladmis = {
email = "dev@wladmis.org";
github = "wladmis";

View File

@ -401,6 +401,8 @@
- The `chrony` NixOS module now tracks the Real-Time Clock drift from the System Clock with `rtcfile` and automatically adjusts it with `rtcautotrim` when it exceeds the maximum error specified in `services.chrony.autotrimThreshold` (default 30 seconds). If you enabled `rtcsync` in `extraConfig`, you should remove RTC related options from `extraConfig`. If you do not want chrony configured to keep the RTC in check, you can set `services.chrony.enableRTCTrimming = false;`
- `trilium-desktop` and `trilium-server` have been updated to [v0.61](https://github.com/zadam/trilium/releases/tag/v0.61.12). For existing installations, upgrading to this version is supported only after running v0.60.X at least once. If you are still on an older version, make sure to update to v0.60 (available in NixOS 23.05) first and only then to v0.61 (available in NixOS 23.11).
## Other Notable Changes {#sec-release-23.11-notable-changes}
- A new option `system.switch.enable` was added. By default, this is option is
@ -561,6 +563,8 @@ The module update takes care of the new config syntax and the data itself (user
- TeX Live environments can now be built with the new `texlive.withPackages`. The procedure for creating custom TeX packages has been changed, see the [Nixpkgs manual](https://nixos.org/manual/nixpkgs/stable/#sec-language-texlive-custom-packages) for more details.
- In `wxGTK32`, the webkit module `wxWebView` has been enabled on all builds; prior releases only enabled this on Darwin.
## Nixpkgs internals {#sec-release-23.11-nixpkgs-internals}
- Node.js v14, v16 has been removed as they were end of life. Any dependent packages that contributors were not able to reasonably upgrade were dropped after a month of notice to their maintainers, were **removed**.

View File

@ -70,7 +70,7 @@ in
defaultChannel = mkOption {
internal = true;
type = types.str;
default = "https://nixos.org/channels/nixos-23.11";
default = "https://nixos.org/channels/nixos-unstable";
description = lib.mdDoc "Default NixOS channel to which the root user is subscribed.";
};
};

View File

@ -27,7 +27,6 @@ let
HOME_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/";
DOCUMENTATION_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/learn.html";
SUPPORT_URL = lib.optionalString (cfg.distroId == "nixos") "https://nixos.org/community.html";
SUPPORT_END = "2024-06-30";
BUG_REPORT_URL = lib.optionalString (cfg.distroId == "nixos") "https://github.com/NixOS/nixpkgs/issues";
} // lib.optionalAttrs (cfg.variant_id != null) {
VARIANT_ID = cfg.variant_id;

View File

@ -123,9 +123,7 @@ in
};
sshKey = mkOption {
type = types.nullOr types.path;
# Prevent key from being copied to store
apply = mapNullable toString;
type = with types; nullOr (coercedTo path toString str);
default = null;
description = lib.mdDoc ''
SSH private key file to use to login to the remote system. Can be
@ -205,9 +203,7 @@ in
recursive = mkEnableOption (lib.mdDoc ''the transfer of child datasets'');
sshKey = mkOption {
type = types.nullOr types.path;
# Prevent key from being copied to store
apply = mapNullable toString;
type = with types; nullOr (coercedTo path toString str);
description = lib.mdDoc ''
SSH private key file to use to login to the remote system.
Defaults to {option}`services.syncoid.sshKey` option.

View File

@ -52,6 +52,7 @@ let
"mikrotik"
"minio"
"modemmanager"
"mongodb"
"mysqld"
"nextcloud"
"nginx"

View File

@ -0,0 +1,68 @@
{ config, lib, pkgs, options }:
with lib;
let
cfg = config.services.prometheus.exporters.mongodb;
in
{
port = 9216;
extraOpts = {
uri = mkOption {
type = types.str;
default = "mongodb://localhost:27017/test";
example = "mongodb://localhost:27017/test";
description = lib.mdDoc "MongoDB URI to connect to.";
};
collStats = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "db1.coll1" "db2" ];
description = lib.mdDoc ''
List of comma separared databases.collections to get $collStats
'';
};
indexStats = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "db1.coll1" "db2" ];
description = lib.mdDoc ''
List of comma separared databases.collections to get $indexStats
'';
};
collector = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "diagnosticdata" "replicasetstatus" "dbstats" "topmetrics" "currentopmetrics" "indexstats" "dbstats" "profile" ];
description = lib.mdDoc "Enabled collectors";
};
collectAll = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Enable all collectors. Same as specifying all --collector.<name>
'';
};
telemetryPath = mkOption {
type = types.str;
default = "/metrics";
example = "/metrics";
description = lib.mdDoc "Metrics expose path";
};
};
serviceOpts = {
serviceConfig = {
RuntimeDirectory = "prometheus-mongodb-exporter";
ExecStart = ''
${getExe pkgs.prometheus-mongodb-exporter} \
--mongodb.uri=${cfg.uri}
${if cfg.collectAll then "--collect-all" else concatMapStringsSep " " (x: "--collect.${x}") cfg.collector} \
--collector.collstats=${concatStringsSep "," cfg.collStats} \
--collector.indexstats=${concatStringsSep "," cfg.indexStats} \
--web.listen-address=${cfg.listenAddress}:${toString cfg.port} \
--web.telemetry-path=${cfg.telemetryPath} \
${escapeShellArgs cfg.extraFlags}
'';
};
};
}

View File

@ -67,7 +67,9 @@ in
};
config = mkIf cfg.enable {
nix.settings.extra-allowed-users = [ "nix-serve" ];
nix.settings = lib.optionalAttrs (lib.versionAtLeast config.nix.package.version "2.4") {
extra-allowed-users = [ "nix-serve" ];
};
systemd.services.nix-serve = {
description = "nix-serve binary cache server";

View File

@ -107,14 +107,13 @@ in
wantedBy = [ "multi-user.target" ];
restartTriggers = [ clamdConfigFile ];
preStart = ''
mkdir -m 0755 -p ${runDir}
chown ${clamavUser}:${clamavGroup} ${runDir}
'';
serviceConfig = {
ExecStart = "${pkg}/bin/clamd";
ExecReload = "${pkgs.coreutils}/bin/kill -USR2 $MAINPID";
User = clamavUser;
Group = clamavGroup;
StateDirectory = "clamav";
RuntimeDirectory = "clamav";
PrivateTmp = "yes";
PrivateDevices = "yes";
PrivateNetwork = "yes";
@ -134,15 +133,15 @@ in
description = "ClamAV virus database updater (freshclam)";
restartTriggers = [ freshclamConfigFile ];
after = [ "network-online.target" ];
preStart = ''
mkdir -m 0755 -p ${stateDir}
chown ${clamavUser}:${clamavGroup} ${stateDir}
'';
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkg}/bin/freshclam";
SuccessExitStatus = "1"; # if databases are up to date
StateDirectory = "clamav";
RuntimeDirectory = "clamav";
User = clamavUser;
Group = clamavGroup;
PrivateTmp = "yes";
PrivateDevices = "yes";
};

View File

@ -100,19 +100,19 @@ in {
listenHttp = lib.mkOption {
type = lib.types.port;
default = 9000;
description = lib.mdDoc "listen port for HTTP server.";
description = lib.mdDoc "The port that the local PeerTube web server will listen on.";
};
listenWeb = lib.mkOption {
type = lib.types.port;
default = 9000;
description = lib.mdDoc "listen port for WEB server.";
description = lib.mdDoc "The public-facing port that PeerTube will be accessible at (likely 80 or 443 if running behind a reverse proxy). Clients will try to access PeerTube at this port.";
};
enableWebHttps = lib.mkOption {
type = lib.types.bool;
default = false;
description = lib.mdDoc "Enable or disable HTTPS protocol.";
description = lib.mdDoc "Whether clients will access your PeerTube instance with HTTPS. Does NOT configure the PeerTube webserver itself to listen for incoming HTTPS connections.";
};
dataDirs = lib.mkOption {
@ -279,7 +279,7 @@ in {
type = lib.types.package;
default = pkgs.peertube;
defaultText = lib.literalExpression "pkgs.peertube";
description = lib.mdDoc "Peertube package to use.";
description = lib.mdDoc "PeerTube package to use.";
};
};

View File

@ -177,189 +177,190 @@ in
{
###### interface
options = {
options.systemd = {
systemd.package = mkOption {
default = pkgs.systemd;
defaultText = literalExpression "pkgs.systemd";
type = types.package;
description = lib.mdDoc "The systemd package.";
};
package = mkPackageOption pkgs "systemd" {};
systemd.units = mkOption {
description = lib.mdDoc "Definition of systemd units.";
units = mkOption {
description = "Definition of systemd units; see {manpage}`systemd.unit(5)`.";
default = {};
type = systemdUtils.types.units;
};
systemd.packages = mkOption {
packages = mkOption {
default = [];
type = types.listOf types.package;
example = literalExpression "[ pkgs.systemd-cryptsetup-generator ]";
description = lib.mdDoc "Packages providing systemd units and hooks.";
description = "Packages providing systemd units and hooks.";
};
systemd.targets = mkOption {
targets = mkOption {
default = {};
type = systemdUtils.types.targets;
description = lib.mdDoc "Definition of systemd target units.";
description = "Definition of systemd target units; see {manpage}`systemd.target(5)`";
};
systemd.services = mkOption {
services = mkOption {
default = {};
type = systemdUtils.types.services;
description = lib.mdDoc "Definition of systemd service units.";
description = "Definition of systemd service units; see {manpage}`systemd.service(5)`.";
};
systemd.sockets = mkOption {
sockets = mkOption {
default = {};
type = systemdUtils.types.sockets;
description = lib.mdDoc "Definition of systemd socket units.";
description = "Definition of systemd socket units; see {manpage}`systemd.socket(5)`.";
};
systemd.timers = mkOption {
timers = mkOption {
default = {};
type = systemdUtils.types.timers;
description = lib.mdDoc "Definition of systemd timer units.";
description = "Definition of systemd timer units; see {manpage}`systemd.timer(5)`.";
};
systemd.paths = mkOption {
paths = mkOption {
default = {};
type = systemdUtils.types.paths;
description = lib.mdDoc "Definition of systemd path units.";
description = "Definition of systemd path units; see {manpage}`systemd.path(5)`.";
};
systemd.mounts = mkOption {
mounts = mkOption {
default = [];
type = systemdUtils.types.mounts;
description = lib.mdDoc ''
Definition of systemd mount units.
This is a list instead of an attrSet, because systemd mandates the names to be derived from
the 'where' attribute.
description = ''
Definition of systemd mount units; see {manpage}`systemd.mount(5)`.
This is a list instead of an attrSet, because systemd mandates
the names to be derived from the `where` attribute.
'';
};
systemd.automounts = mkOption {
automounts = mkOption {
default = [];
type = systemdUtils.types.automounts;
description = lib.mdDoc ''
Definition of systemd automount units.
This is a list instead of an attrSet, because systemd mandates the names to be derived from
the 'where' attribute.
description = ''
Definition of systemd automount units; see {manpage}`systemd.automount(5)`.
This is a list instead of an attrSet, because systemd mandates
the names to be derived from the `where` attribute.
'';
};
systemd.slices = mkOption {
slices = mkOption {
default = {};
type = systemdUtils.types.slices;
description = lib.mdDoc "Definition of slice configurations.";
description = "Definition of slice configurations; see {manpage}`systemd.slice(5)`.";
};
systemd.generators = mkOption {
generators = mkOption {
type = types.attrsOf types.path;
default = {};
example = { systemd-gpt-auto-generator = "/dev/null"; };
description = lib.mdDoc ''
Definition of systemd generators.
description = ''
Definition of systemd generators; see {manpage}`systemd.generator(5)`.
For each `NAME = VALUE` pair of the attrSet, a link is generated from
`/etc/systemd/system-generators/NAME` to `VALUE`.
'';
};
systemd.shutdown = mkOption {
shutdown = mkOption {
type = types.attrsOf types.path;
default = {};
description = lib.mdDoc ''
description = ''
Definition of systemd shutdown executables.
For each `NAME = VALUE` pair of the attrSet, a link is generated from
`/etc/systemd/system-shutdown/NAME` to `VALUE`.
'';
};
systemd.defaultUnit = mkOption {
defaultUnit = mkOption {
default = "multi-user.target";
type = types.str;
description = lib.mdDoc "Default unit started when the system boots.";
};
systemd.ctrlAltDelUnit = mkOption {
default = "reboot.target";
type = types.str;
example = "poweroff.target";
description = lib.mdDoc ''
Target that should be started when Ctrl-Alt-Delete is pressed.
description = ''
Default unit started when the system boots; see {manpage}`systemd.special(7)`.
'';
};
systemd.globalEnvironment = mkOption {
ctrlAltDelUnit = mkOption {
default = "reboot.target";
type = types.str;
example = "poweroff.target";
description = ''
Target that should be started when Ctrl-Alt-Delete is pressed;
see {manpage}`systemd.special(7)`.
'';
};
globalEnvironment = mkOption {
type = with types; attrsOf (nullOr (oneOf [ str path package ]));
default = {};
example = { TZ = "CET"; };
description = lib.mdDoc ''
description = ''
Environment variables passed to *all* systemd units.
'';
};
systemd.managerEnvironment = mkOption {
managerEnvironment = mkOption {
type = with types; attrsOf (nullOr (oneOf [ str path package ]));
default = {};
example = { SYSTEMD_LOG_LEVEL = "debug"; };
description = lib.mdDoc ''
description = ''
Environment variables of PID 1. These variables are
*not* passed to started units.
'';
};
systemd.enableCgroupAccounting = mkOption {
enableCgroupAccounting = mkOption {
default = true;
type = types.bool;
description = lib.mdDoc ''
Whether to enable cgroup accounting.
description = ''
Whether to enable cgroup accounting; see {manpage}`cgroups(7)`.
'';
};
systemd.enableUnifiedCgroupHierarchy = mkOption {
enableUnifiedCgroupHierarchy = mkOption {
default = true;
type = types.bool;
description = lib.mdDoc ''
Whether to enable the unified cgroup hierarchy (cgroupsv2).
description = ''
Whether to enable the unified cgroup hierarchy (cgroupsv2); see {manpage}`cgroups(7)`.
'';
};
systemd.extraConfig = mkOption {
extraConfig = mkOption {
default = "";
type = types.lines;
example = "DefaultLimitCORE=infinity";
description = lib.mdDoc ''
Extra config options for systemd. See systemd-system.conf(5) man page
description = ''
Extra config options for systemd. See {manpage}`systemd-system.conf(5)` man page
for available options.
'';
};
systemd.sleep.extraConfig = mkOption {
sleep.extraConfig = mkOption {
default = "";
type = types.lines;
example = "HibernateDelaySec=1h";
description = lib.mdDoc ''
description = ''
Extra config options for systemd sleep state logic.
See sleep.conf.d(5) man page for available options.
See {manpage}`sleep.conf.d(5)` man page for available options.
'';
};
systemd.additionalUpstreamSystemUnits = mkOption {
additionalUpstreamSystemUnits = mkOption {
default = [ ];
type = types.listOf types.str;
example = [ "debug-shell.service" "systemd-quotacheck.service" ];
description = lib.mdDoc ''
description = ''
Additional units shipped with systemd that shall be enabled.
'';
};
systemd.suppressedSystemUnits = mkOption {
suppressedSystemUnits = mkOption {
default = [ ];
type = types.listOf types.str;
example = [ "systemd-backlight@.service" ];
description = lib.mdDoc ''
description = ''
A list of units to skip when generating system systemd configuration directory. This has
priority over upstream units, {option}`systemd.units`, and
{option}`systemd.additionalUpstreamSystemUnits`. The main purpose of this is to
@ -368,49 +369,56 @@ in
'';
};
systemd.watchdog.device = mkOption {
watchdog.device = mkOption {
type = types.nullOr types.path;
default = null;
example = "/dev/watchdog";
description = lib.mdDoc ''
description = ''
The path to a hardware watchdog device which will be managed by systemd.
If not specified, systemd will default to /dev/watchdog.
If not specified, systemd will default to `/dev/watchdog`.
'';
};
systemd.watchdog.runtimeTime = mkOption {
watchdog.runtimeTime = mkOption {
type = types.nullOr types.str;
default = null;
example = "30s";
description = lib.mdDoc ''
description = ''
The amount of time which can elapse before a watchdog hardware device
will automatically reboot the system. Valid time units include "ms",
"s", "min", "h", "d", and "w".
will automatically reboot the system.
Valid time units include "ms", "s", "min", "h", "d", and "w";
see {manpage}`systemd.time(7)`.
'';
};
systemd.watchdog.rebootTime = mkOption {
watchdog.rebootTime = mkOption {
type = types.nullOr types.str;
default = null;
example = "10m";
description = lib.mdDoc ''
description = ''
The amount of time which can elapse after a reboot has been triggered
before a watchdog hardware device will automatically reboot the system.
Valid time units include "ms", "s", "min", "h", "d", and "w". If left
`null`, systemd will use its default of `10min`; see also {command}`man
5 systemd-system.conf`.
If left `null`, systemd will use its default of 10 minutes;
see {manpage}`systemd-system.conf(5)`.
Valid time units include "ms", "s", "min", "h", "d", and "w";
see also {manpage}`systemd.time(7)`.
'';
};
systemd.watchdog.kexecTime = mkOption {
watchdog.kexecTime = mkOption {
type = types.nullOr types.str;
default = null;
example = "10m";
description = lib.mdDoc ''
The amount of time which can elapse when kexec is being executed before
description = ''
The amount of time which can elapse when `kexec` is being executed before
a watchdog hardware device will automatically reboot the system. This
option should only be enabled if reloadTime is also enabled. Valid
time units include "ms", "s", "min", "h", "d", and "w".
option should only be enabled if `reloadTime` is also enabled;
see {manpage}`kexec(8)`.
Valid time units include "ms", "s", "min", "h", "d", and "w";
see also {manpage}`systemd.time(7)`.
'';
};
};
@ -493,32 +501,32 @@ in
"systemd/system.conf".text = ''
[Manager]
ManagerEnvironment=${lib.concatStringsSep " " (lib.mapAttrsToList (n: v: "${n}=${lib.escapeShellArg v}") cfg.managerEnvironment)}
${optionalString config.systemd.enableCgroupAccounting ''
${optionalString cfg.enableCgroupAccounting ''
DefaultCPUAccounting=yes
DefaultIOAccounting=yes
DefaultBlockIOAccounting=yes
DefaultIPAccounting=yes
''}
DefaultLimitCORE=infinity
${optionalString (config.systemd.watchdog.device != null) ''
WatchdogDevice=${config.systemd.watchdog.device}
${optionalString (cfg.watchdog.device != null) ''
WatchdogDevice=${cfg.watchdog.device}
''}
${optionalString (config.systemd.watchdog.runtimeTime != null) ''
RuntimeWatchdogSec=${config.systemd.watchdog.runtimeTime}
${optionalString (cfg.watchdog.runtimeTime != null) ''
RuntimeWatchdogSec=${cfg.watchdog.runtimeTime}
''}
${optionalString (config.systemd.watchdog.rebootTime != null) ''
RebootWatchdogSec=${config.systemd.watchdog.rebootTime}
${optionalString (cfg.watchdog.rebootTime != null) ''
RebootWatchdogSec=${cfg.watchdog.rebootTime}
''}
${optionalString (config.systemd.watchdog.kexecTime != null) ''
KExecWatchdogSec=${config.systemd.watchdog.kexecTime}
${optionalString (cfg.watchdog.kexecTime != null) ''
KExecWatchdogSec=${cfg.watchdog.kexecTime}
''}
${config.systemd.extraConfig}
${cfg.extraConfig}
'';
"systemd/sleep.conf".text = ''
[Sleep]
${config.systemd.sleep.extraConfig}
${cfg.sleep.extraConfig}
'';
"systemd/system-generators" = { source = hooks "generators" cfg.generators; };

View File

@ -12,7 +12,7 @@ let
version = fileContents ../.version;
versionSuffix =
(if stableBranch then "." else "beta") + "${toString (nixpkgs.revCount - 551362)}.${nixpkgs.shortRev}";
(if stableBranch then "." else "pre") + "${toString nixpkgs.revCount}.${nixpkgs.shortRev}";
# Run the tests for each platform. You can run a test by doing
# e.g. nix-build release.nix -A tests.login.x86_64-linux,

View File

@ -22,7 +22,6 @@ in
testScript = ''
machine.wait_for_unit("convos")
machine.wait_for_open_port(${toString port})
machine.succeed("journalctl -u convos | grep -q 'application available at.*${toString port}'")
machine.succeed("curl -f http://localhost:${toString port}/")
'';
})

View File

@ -5,11 +5,11 @@
let
pname = "codux";
version = "15.13.0";
version = "15.14.0";
src = fetchurl {
url = "https://github.com/wixplosives/codux-versions/releases/download/${version}/Codux-${version}.x86_64.AppImage";
sha256 = "sha256-63t3v6abr9cZ0mKSPogevKwcFsvGh2udBPRn4k4XAd4=";
sha256 = "sha256-GTp9wJrL0TA0Jee1aXKAqmyHfotm7u7gxq/6W8+ermY=";
};
appimageContents = appimageTools.extractType2 { inherit pname version src; };

View File

@ -98,7 +98,7 @@ self: let
'';
postInstall = (old.postInstall or "") + "\n" + ''
./install.sh --prefix=$out
./install.sh "$out"
'';
meta = old.meta // {

View File

@ -61,11 +61,7 @@
, wrapGAppsHook
# Boolean flags
, nativeComp ? null
, withNativeCompilation ?
if nativeComp != null
then lib.warn "nativeComp option is deprecated and will be removed; use withNativeCompilation instead" nativeComp
else stdenv.buildPlatform.canExecute stdenv.hostPlatform
, withNativeCompilation ? stdenv.buildPlatform.canExecute stdenv.hostPlatform
, noGui ? false
, srcRepo ? true
, withAcl ? false
@ -403,9 +399,6 @@ mkDerivation (finalAttrs: {
inherit withTreeSitter;
pkgs = recurseIntoAttrs (emacsPackagesFor finalAttrs.finalPackage);
tests = { inherit (nixosTests) emacs-daemon; };
# Backwards compatibility aliases. Remove this at some point before 23.11 release cut-off.
nativeComp = builtins.trace "emacs.passthru: nativeComp was renamed to withNativeCompilation and will be removed in 23.11" withNativeCompilation;
treeSitter = builtins.trace "emacs.passthru: treeSitter was renamed to withTreeSitter and will be removed in 23.11" withTreeSitter;
};
meta = meta // {

View File

@ -0,0 +1,50 @@
From 8bfa594bc37630956f80496106bb1d6070035570 Mon Sep 17 00:00:00 2001
From: thomasjm <tom@codedown.io>
Date: Wed, 2 Aug 2023 18:26:58 -0700
Subject: [PATCH 1/3] Fix bug in extract_filename
---
src/main.cpp | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/main.cpp b/src/main.cpp
index 2ee19be..57294b4 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -61,19 +61,19 @@ bool should_print_version(int argc, char* argv[])
return false;
}
-std::string extract_filename(int argc, char* argv[])
+std::string extract_filename(int *argc, char* argv[])
{
std::string res = "";
- for (int i = 0; i < argc; ++i)
+ for (int i = 0; i < *argc; ++i)
{
- if ((std::string(argv[i]) == "-f") && (i + 1 < argc))
+ if ((std::string(argv[i]) == "-f") && (i + 1 < *argc))
{
res = argv[i + 1];
- for (int j = i; j < argc - 2; ++j)
+ for (int j = i; j < *argc - 2; ++j)
{
argv[j] = argv[j + 2];
}
- argc -= 2;
+ *argc -= 2;
break;
}
}
@@ -128,7 +128,7 @@ int main(int argc, char* argv[])
#endif
signal(SIGINT, stop_handler);
- std::string file_name = extract_filename(argc, argv);
+ std::string file_name = extract_filename(&argc, argv);
interpreter_ptr interpreter = build_interpreter(argc, argv);
--
2.40.1

View File

@ -0,0 +1,34 @@
From 9e6a14bb20567071883563dafb5dfaf512df6243 Mon Sep 17 00:00:00 2001
From: thomasjm <tom@codedown.io>
Date: Wed, 2 Aug 2023 18:27:16 -0700
Subject: [PATCH 2/3] Don't pass extra includes; configure this with flags
---
src/main.cpp | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/src/main.cpp b/src/main.cpp
index 57294b4..0041a55 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -84,7 +84,7 @@ using interpreter_ptr = std::unique_ptr<xcpp::interpreter>;
interpreter_ptr build_interpreter(int argc, char** argv)
{
- int interpreter_argc = argc + 1;
+ int interpreter_argc = argc;
const char** interpreter_argv = new const char*[interpreter_argc];
interpreter_argv[0] = "xeus-cling";
// Copy all arguments in the new array excepting the process name.
@@ -92,8 +92,6 @@ interpreter_ptr build_interpreter(int argc, char** argv)
{
interpreter_argv[i] = argv[i];
}
- std::string include_dir = std::string(LLVM_DIR) + std::string("/include");
- interpreter_argv[interpreter_argc - 1] = include_dir.c_str();
interpreter_ptr interp_ptr = interpreter_ptr(new xcpp::interpreter(interpreter_argc, interpreter_argv));
delete[] interpreter_argv;
--
2.40.1

View File

@ -0,0 +1,63 @@
{ callPackage
, clangStdenv
, cling
, fetchurl
, lib
, llvmPackages_9
, makeWrapper
, runCommand
, stdenv
}:
# Jupyter console:
# nix run --impure --expr 'with import <nixpkgs> {}; jupyter-console.withSingleKernel cpp17-kernel'
# Jupyter notebook:
# nix run --impure --expr 'with import <nixpkgs> {}; jupyter.override { definitions = { cpp17 = cpp17-kernel; }; }'
let
xeus-cling = callPackage ./xeus-cling.nix {};
mkDefinition = std:
let
versionSuffix =
if std == "c++11" then " 11"
else if std == "c++14" then " 14"
else if std == "c++17" then " 17"
else if std == "c++17" then " 17"
else if std == "c++2a" then " 2a"
else throw "Unexpected C++ std for cling: ${std}";
in
{
displayName = "C++" + versionSuffix;
argv = [
"${xeus-cling}/bin/xcpp"
]
++ cling.flags
++ [
"-resource-dir" "${cling.unwrapped}"
"-L" "${cling.unwrapped}/lib"
"-l" "${cling.unwrapped}/lib/cling.so"
"-std=${std}"
# "-v"
"-f" "{connection_file}"
];
language = "cpp";
logo32 = fetchurl {
url = "https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/ISO_C%2B%2B_Logo.svg/32px-ISO_C%2B%2B_Logo.svg.png";
hash = "sha256-cr0TB8/j2mkcFhfCkz9F7ZANOuTlWA2OcWtDcXyOjHw=";
};
logo64 = fetchurl {
url = "https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/ISO_C%2B%2B_Logo.svg/64px-ISO_C%2B%2B_Logo.svg.png";
hash = "sha256-nZtJ4bR7GmQttvqEJC9KejOxphrjjxT36L9yOIITFLk=";
};
};
in
{
cpp11-kernel = mkDefinition "c++11";
cpp14-kernel = mkDefinition "c++14";
cpp17-kernel = mkDefinition "c++17";
cpp2a-kernel = mkDefinition "c++2a";
}

View File

@ -0,0 +1,87 @@
{ lib
, callPackage
, clangStdenv
, cmake
, fetchFromGitHub
, gcc
, git
, llvmPackages_9
# Libraries
, argparse
, cling
, cppzmq
, libuuid
, ncurses
, openssl
, pugixml
, xeus
, xeus-zmq
, xtl
, zeromq
, zlib
# Settings
, debug ? false
}:
let
# Nixpkgs moved to argparse 3.x, but we need ~2.9
argparse_2_9 = argparse.overrideAttrs (oldAttrs: {
version = "2.9";
src = fetchFromGitHub {
owner = "p-ranav";
repo = "argparse";
rev = "v2.9";
sha256 = "sha256-vbf4kePi5gfg9ub4aP1cCK1jtiA65bUS9+5Ghgvxt/E=";
};
});
in
clangStdenv.mkDerivation rec {
pname = "xeus-cling";
version = "0.15.3";
src = fetchFromGitHub {
owner = "QuantStack";
repo = "xeus-cling";
rev = "${version}";
hash = "sha256-OfZU+z+p3/a36GntusBfwfFu3ssJW4Fu7SV3SMCoo1I=";
};
patches = [
./0001-Fix-bug-in-extract_filename.patch
./0002-Don-t-pass-extra-includes-configure-this-with-flags.patch
];
nativeBuildInputs = [ cmake ];
buildInputs = [
argparse_2_9
cling.unwrapped
cppzmq
libuuid
llvmPackages_9.llvm
ncurses
openssl
pugixml
xeus
xeus-zmq
xtl
zeromq
zlib
];
cmakeFlags = lib.optionals debug [
"-DCMAKE_BUILD_TYPE=Debug"
];
dontStrip = debug;
meta = {
description = "Jupyter kernel for the C++ programming language";
homepage = "https://github.com/jupyter-xeus/xeus-cling";
maintainers = with lib.maintainers; [ thomasjm ];
platforms = lib.platforms.unix;
license = lib.licenses.mit;
};
}

View File

@ -28,13 +28,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "xemu";
version = "0.7.116";
version = "0.7.117";
src = fetchFromGitHub {
owner = "xemu-project";
repo = "xemu";
rev = "v${finalAttrs.version}";
hash = "sha256-/fUTQYi6EDG4wUFc17nuBUt/F1zBdhk/MEizwTo5I8Q=";
hash = "sha256-R6BPDBMrVhxUkjMWK8Jz9vqEz5P3v62PIyulHp6Q+KM=";
fetchSubmodules = true;
};

View File

@ -9,7 +9,6 @@
, pkg-config
, python3
, vala
, vala-lint
, wrapGAppsHook
, cairo
, glib
@ -41,7 +40,6 @@ stdenv.mkDerivation rec {
pkg-config
python3
vala
vala-lint
wrapGAppsHook
];

View File

@ -14,7 +14,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://github.com/Figma-Linux/figma-linux/releases/download/v${finalAttrs.version}/figma-linux_${finalAttrs.version}_linux_amd64.deb";
hash = "sha256-T5SFcdz5yrInE6+ydJqtstEYF0MvHquRZ7nvlCOVNzE=";
hash = "sha256-WKL5RabTUD8xIOUoISyn26NXYrNImKZdjXnTYkXpfkE=";
};
nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook ];

View File

@ -3,6 +3,7 @@
, runCommand
, inkcut
, callPackage
, texlive
}:
{
@ -43,4 +44,8 @@
mkdir -p $out/share/inkscape/extensions
cp ${inkcut}/share/inkscape/extensions/* $out/share/inkscape/extensions
'');
textext = callPackage ./extensions/textext {
pdflatex = texlive.combined.scheme-basic;
lualatex = texlive.combined.scheme-basic;
};
}

View File

@ -0,0 +1,125 @@
{ lib
, writeScript
, fetchFromGitHub
, substituteAll
, inkscape
, pdflatex
, lualatex
, python3
, wrapGAppsHook
, gobject-introspection
, gtk3
, gtksourceview3
}:
let
launchScript = writeScript "launch.sh" ''
cd $(dirname $0)
./__main__.py $*
'';
in
python3.pkgs.buildPythonApplication rec {
pname = "textext";
version = "1.8.1";
src = fetchFromGitHub {
owner = "textext";
repo = "textext";
rev = version;
sha256 = "sha256-Qzd39X0X3DdwZ3pIIGvEbNjl6dxjDf3idzjwCkp3WRg=";
};
patches = [
# Make sure we can point directly to pdflatex in the extension,
# instead of relying on the PATH (which might not have it)
(substituteAll {
src = ./fix-paths.patch;
inherit pdflatex lualatex;
})
# Since we are wrapping the extension, we need to change the interpreter
# from Python to Bash.
./interpreter.patch
];
nativeBuildInputs = [
wrapGAppsHook
gobject-introspection
];
buildInputs = [
gtk3
gtksourceview3
];
propagatedBuildInputs = [
python3.pkgs.pygobject3
# lxml, cssselect and numpy are required by inkex but is not inherited from inkscape when we use custom Python interpreter:
python3.pkgs.lxml
python3.pkgs.cssselect
python3.pkgs.numpy
];
# strictDeps do not play nicely with introspection setup hooks.
# https://github.com/NixOS/nixpkgs/issues/56943
strictDeps = false;
# TexText doesnt have a 'bdist_wheel' target.
dontUseSetuptoolsBuild = true;
# TexText doesnt have a 'test' target.
doCheck = false;
# Avoid wrapping two times by just using Pythons wrapping.
dontWrapGApps = true;
buildPhase = ''
runHook preBuild
mkdir dist
# source/setup.py creates a config file in HOME (that we ignore)
mkdir buildhome
export HOME=$(pwd)/buildhome
python setup.py \
--inkscape-executable=${inkscape}/bin/inkscape \
--pdflatex-executable=${pdflatex}/bin/pdflatex \
--lualatex-executable=${lualatex}/bin/lualatex \
--inkscape-extensions-path=dist
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/inkscape/extensions
cp -r dist/textext $out/share/inkscape/extensions
runHook postInstall
'';
preFixup = ''
# Prepare for wrapping
chmod +x "$out/share/inkscape/extensions/textext/__main__.py"
sed -i '1i#!/usr/bin/env python3' "$out/share/inkscape/extensions/textext/__main__.py"
# Include gobject-introspection typelibs in the wrapper.
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
'';
postFixup = ''
# Wrap the project so it can find runtime dependencies.
wrapPythonProgramsIn "$out/share/inkscape/extensions/textext" "$out $pythonPath"
cp ${launchScript} $out/share/inkscape/extensions/textext/launch.sh
'';
meta = with lib; {
description = "Re-editable LaTeX graphics for Inkscape";
homepage = "https://textext.github.io/textext/";
license = licenses.bsd3;
maintainers = [ maintainers.raboof ];
platforms = platforms.all;
};
}

View File

@ -0,0 +1,19 @@
--- a/textext/base.py
+++ b/textext/base.py
@@ -95,7 +95,16 @@ class TexText(inkex.EffectExtension):
def __init__(self):
self.config = Settings(directory=defaults.textext_config_path)
+ # config.json is stored in ~/.config/inkscape/extensions/textext for
+ # the next invocation, but since that next invocation could be using
+ # a different latex derivation, make sure we overwrite the executable
+ # paths with updated ones:
+ self.config["pdflatex-executable"] = "@pdflatex@/bin/pdflatex";
+ self.config["lualatex-executable"] = "@lualatex@/bin/lualatex";
self.cache = Cache(directory=defaults.textext_config_path)
+ if "requirements_checker" in self.cache.values:
+ self.cache["requirements_checker"]["available_tex_to_pdf_converters"]["pdflatex"] = "@pdflatex@/bin/pdflatex";
+ self.cache["requirements_checker"]["available_tex_to_pdf_converters"]["lualatex"] = "@lualatex@/bin/lualatex";
previous_exit_code = self.cache.get("previous_exit_code", None)
if previous_exit_code is None:

View File

@ -0,0 +1,10 @@
--- a/textext/textext.inx
+++ b/textext/textext.inx
@@ -8,6 +8,6 @@
</effects-menu>
</effect>
<script>
- <command location="inx" interpreter="python">__main__.py</command>
+ <command location="inx" interpreter="shell">launch.sh</command>
</script>
</inkscape-extension>

View File

@ -15,16 +15,16 @@
buildGoModule rec {
pname = "nwg-look";
version = "0.2.4";
version = "0.2.5";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = "nwg-look";
rev = "v${version}";
hash = "sha256-wUI58qYkVYgES87HQ4octciDlOJ10oJldbUkFgxRUd4=";
hash = "sha256-Gw0C5PCVwXuwXWF39P7pc8KdnmCYRH24zizShmniynM=";
};
vendorHash = "sha256-dev+TV6FITd29EfknwHDNI0gLao7gsC95Mg+3qQs93E=";
vendorHash = "sha256-vHqnIkzsoQHiP6mmrwNetq6Pp5UB1CmX7mYvgsbvb0s=";
# Replace /usr/ directories with the packages output location
# This means it references the correct path

View File

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "terragrunt";
version = "0.53.4";
version = "0.53.5";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-UPbiqo0HvBEIAimugNa7WwqwPsLk8C2gS0KqfgFMGQU=";
hash = "sha256-1rGRtBDCw35y8x14lno+obUTzplFU5u3f87I5TVO7/8=";
};
vendorHash = "sha256-h1rDXxvPhQfGUpxOmnksy3l8kMq93nxOQ9adJFyZnOY=";

View File

@ -35,16 +35,16 @@ let
in
buildNpmPackage rec {
pname = "deltachat-desktop";
version = "1.41.1";
version = "1.41.4";
src = fetchFromGitHub {
owner = "deltachat";
repo = "deltachat-desktop";
rev = "v${version}";
hash = "sha256-ITcBIm47OiGy/i6jnG6r1OoStjRPystOts6ViLioLNY=";
hash = "sha256-T2EPCYQ2N414sUEqpXtx459sZZXOnHgXM0/dz3Wi9hw=";
};
npmDepsHash = "sha256-+t6m2kDUOh6kIkbZgol/CQciDTxUZSkTr1amPywrMb4=";
npmDepsHash = "sha256-q60qrTN6H1AfJGhula8dzRwnKw2l+X0BOIvnKZh5t2s=";
nativeBuildInputs = [
makeWrapper

View File

@ -0,0 +1,56 @@
{ lib
, stdenv
, fetchFromGitHub
, wrapQtAppsHook
, cmake
, pkg-config
, qtbase
, qtwebengine
, qtwayland
, pipewire
, nix-update-script
}:
stdenv.mkDerivation rec {
pname = "discord-screenaudio";
version = "1.9.2";
src = fetchFromGitHub {
owner = "maltejur";
repo = "discord-screenaudio";
rev = "v${version}";
hash = "sha256-it7JSmiDz3k1j+qEZrrNhyAuoixiQuiEbXac7lbJmko=";
fetchSubmodules = true;
};
nativeBuildInputs = [
wrapQtAppsHook
cmake
pkg-config
];
buildInputs = [
qtbase
qtwebengine
qtwayland
pipewire
];
preConfigure = ''
# version.cmake either uses git tags or a version.txt file to get app version.
# Since cmake can't access git tags, write the version to a version.txt ourselves.
echo "${version}" > version.txt
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "A custom discord client that supports streaming with audio on Linux";
homepage = "https://github.com/maltejur/discord-screenaudio";
downloadPage = "https://github.com/maltejur/discord-screenaudio/releases";
changelog = "https://github.com/maltejur/discord-screenaudio/releases/tag/v${version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ huantian ];
platforms = lib.platforms.linux;
};
}

View File

@ -4,13 +4,13 @@
perlPackages.buildPerlPackage rec {
pname = "convos";
version = "7.02";
version = "8.05";
src = fetchFromGitHub {
owner = "convos-chat";
repo = pname;
rev = "v${version}";
sha256 = "sha256-i8lDK5/Whi5uo2/Qqh5jgJGLuuHn7kdrfvr+9Ktzp/8=";
sha256 = "sha256-dBvXo8y4OMKcb0imgnnzoklnPN3YePHDvy5rIBOkTfs=";
};
nativeBuildInputs = [ makeWrapper ]
@ -20,9 +20,8 @@ perlPackages.buildPerlPackage rec {
CryptPassphrase CryptPassphraseArgon2 CryptPassphraseBcrypt
FileHomeDir FileReadBackwards HTTPAcceptLanguage SyntaxKeywordTry FutureAsyncAwait
IOSocketSSL IRCUtils JSONValidator LinkEmbedder ModuleInstall
Mojolicious MojoliciousPluginOpenAPI MojoliciousPluginSyslog MojoliciousPluginWebpack
ParseIRC TextMarkdownHoedown TimePiece UnicodeUTF8
CpanelJSONXS EV
Mojolicious MojoliciousPluginOpenAPI MojoliciousPluginSyslog ParseIRC
TextMarkdownHoedown TimePiece UnicodeUTF8 CpanelJSONXS EV YAMLLibYAML
];
propagatedBuildInputs = [ openssl ];
@ -48,6 +47,9 @@ perlPackages.buildPerlPackage rec {
substituteInPlace t/web-register-open-to-public.t \
--replace '!127.0.0.1!' '!localhost!'
# Another online test fails, so remove this.
rm t/irc-reconnect.t
# A webirc test fails to resolve "localhost" likely due to sandboxing, we
# remove this test.
#
@ -74,9 +76,9 @@ perlPackages.buildPerlPackage rec {
AUTO_SHARE_PATH=$out/${perl.libPrefix}/auto/share/dist/Convos
mkdir -p $AUTO_SHARE_PATH
cp -vR public assets $AUTO_SHARE_PATH/
ln -s $AUTO_SHARE_PATH/public/asset $out/asset
ln -s $AUTO_SHARE_PATH/public/assets $out/assets
cp -vR templates $out/templates
cp cpanfile $out/cpanfile
cp Makefile.PL $out/Makefile.PL
'' + lib.optionalString stdenv.isDarwin ''
shortenPerlShebang $out/bin/convos
'' + ''

View File

@ -1,49 +1,69 @@
{ lib, stdenv, appimageTools, fetchurl, undmg }:
{ lib
, stdenv
, fetchurl
, fetchFromGitHub
, flutter
, makeDesktopItem
, pkg-config
, libayatana-appindicator
, undmg
}:
let
pname = "localsend";
version = "1.11.1";
version = "1.12.0";
hashes = {
x86_64-linux = "sha256-K4M9cks0FNsCLIqQhSgUAz3tRMKng6JkZ/ZfwG2hZJA=";
x86_64-darwin = "sha256-Cixo00I4BBAmUnszsz+CxPX3EY175UTufCmwQmIsEgg=";
};
linux = flutter.buildFlutterApplication {
inherit pname version;
srcs = rec {
x86_64-linux = fetchurl {
url = "https://github.com/localsend/localsend/releases/download/v${version}/LocalSend-${version}-linux-x86-64.AppImage";
hash = hashes.x86_64-linux;
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
hash = "sha256-mk0CLZP0x/mEixeAig7X41aFgQzs+kZkBJx6T//3ZKY=";
};
x86_64-darwin = fetchurl {
url = "https://github.com/localsend/localsend/releases/download/v${version}/LocalSend-${version}.dmg";
hash = hashes.x86_64-darwin;
};
aarch64-darwin = x86_64-darwin;
};
src = srcs.${stdenv.hostPlatform.system} or (throw "Unsupported system for package localsend: ${stdenv.hostPlatform.system}");
appimageContents = appimageTools.extract { inherit pname version src; };
sourceRoot = "source/app";
depsListFile = ./deps.json;
vendorHash = "sha256-fXzxT7KBi/WT2A5PEIx+B+UG4HWEbMPMsashVQsXdmU=";
linux = appimageTools.wrapType2 rec {
inherit pname version src meta;
nativeBuildInputs = [ pkg-config ];
extraPkgs = p: [ p.ayatana-ido p.libayatana-appindicator p.libayatana-indicator p.libdbusmenu p.libepoxy ];
buildInputs = [ libayatana-appindicator ];
extraInstallCommands = ''
mv $out/bin/${pname}-${version} $out/bin/${pname}
install -m 444 -D ${appimageContents}/org.localsend.localsend_app.desktop \
$out/share/applications/${pname}.desktop
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=localsend_app' "Exec=$out/bin/localsend"
install -m 444 -D ${appimageContents}/localsend.png \
$out/share/icons/hicolor/256x256/apps/localsend.png
postInstall = ''
for s in 32 128 256 512; do
d=$out/share/icons/hicolor/''${s}x''${s}/apps
mkdir -p $d
ln -s $out/app/data/flutter_assets/assets/img/logo-''${s}.png $d/localsend.png
done
mkdir -p $out/share/applications
cp $desktopItem/share/applications/*.desktop $out/share/applications
substituteInPlace $out/share/applications/*.desktop --subst-var out
'';
desktopItem = makeDesktopItem {
name = "LocalSend";
exec = "@out@/bin/localsend_app";
icon = "localsend";
desktopName = "LocalSend";
startupWMClass = "localsend";
genericName = "An open source cross-platform alternative to AirDrop";
categories = [ "Network" ];
};
meta = meta // {
mainProgram = "localsend_app";
};
};
darwin = stdenv.mkDerivation {
inherit pname version src meta;
inherit pname version;
src = fetchurl {
url = "https://github.com/localsend/localsend/releases/download/v${version}/LocalSend-${version}.dmg";
hash = "sha256-XKYc3lA7x0Tf1Mf3o7D2RYwYDRDVHoSb/lj9PhKzV5U=";
};
nativeBuildInputs = [ undmg ];
@ -53,16 +73,19 @@ let
mkdir -p $out/Applications
cp -r *.app $out/Applications
'';
meta = meta // {
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
platforms = [ "x86_64-darwin" "aarch64-darwin" ];
};
};
meta = with lib; {
description = "An open source cross-platform alternative to AirDrop";
homepage = "https://localsend.org/";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.mit;
mainProgram = "localsend";
maintainers = with maintainers; [ sikmir ];
platforms = builtins.attrNames srcs;
};
in
if stdenv.isDarwin

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell
#! nix-shell -I nixpkgs=./. -i bash -p curl gnused
#! nix-shell -I nixpkgs=./. -i bash -p curl gnused jq
set -eou pipefail
@ -16,10 +16,6 @@ fi
sed -i "s/version = \".*\"/version = \"${latestVersion}\"/" "$ROOT/default.nix"
LINUX_x64_URL="https://github.com/localsend/localsend/releases/download/v${latestVersion}/LocalSend-${latestVersion}-linux-x86-64.AppImage"
LINUX_X64_SHA=$(nix hash to-sri --type sha256 $(nix-prefetch-url ${LINUX_x64_URL}))
sed -i "0,/x86_64-linux/{s|x86_64-linux = \".*\"|x86_64-linux = \"${LINUX_X64_SHA}\"|}" "$ROOT/default.nix"
DARWIN_x64_URL="https://github.com/localsend/localsend/releases/download/v${latestVersion}/LocalSend-${latestVersion}.dmg"
DARWIN_X64_SHA=$(nix hash to-sri --type sha256 $(nix-prefetch-url ${DARWIN_x64_URL}))
sed -i "0,/x86_64-darwin/{s|x86_64-darwin = \".*\"|x86_64-darwin = \"${DARWIN_X64_SHA}\"|}" "$ROOT/default.nix"
sed -i "/darwin/,/hash/{s|hash = \".*\"|hash = \"${DARWIN_X64_SHA}\"|}" "$ROOT/default.nix"

View File

@ -1,17 +1,16 @@
{ lib, stdenv, fetchgit, curl, gnunet, jansson, libgcrypt, libmicrohttpd_0_9_72
{ lib, stdenv, fetchgit, curl, gnunet, jansson, libgcrypt, libmicrohttpd_0_9_74
, qrencode, libsodium, libtool, libunistring, pkg-config, postgresql
, autoreconfHook, python39, recutils, wget, jq, gettext, texinfo
}:
let
version = "0.9.2";
version = "0.9.3";
taler-wallet-core = fetchgit {
url = "https://git.taler.net/wallet-core.git";
rev = "v${version}";
sha256 = "sha256-DTnwj/pkowR1b1+N94pnuLykD2O37Nh8AKhUIzY7NaU=";
sha256 = "sha256-uwbgIzSjLN+KQCY134VfnCuBEtvCO3a6mEw++HoZDHs=";
};
in rec {
taler-exchange = stdenv.mkDerivation rec {
pname = "taler-exchange";
@ -20,8 +19,12 @@ in rec {
src = fetchgit {
url = "https://git.taler.net/exchange.git";
rev = "v${version}";
# REMOVEME: this should only be a problem for specifically v0.9.3
# When fetching submodules without deep clone we get the following error:
# "Server does not allow request for unadvertised object"
deepClone = true;
fetchSubmodules = true;
sha256 = "sha256-c0cX38hDIZGVhHrD9LgDU70dF2AYuZmsakC8yDyZE54=";
sha256 = "sha256-txWwW5vqTblNgVIXdDkpNNZOXpY0udMaz4Wog1GobzE=";
};
nativeBuildInputs = [
@ -30,7 +33,7 @@ in rec {
];
buildInputs = [
libgcrypt
libmicrohttpd_0_9_72
libmicrohttpd_0_9_74
jansson
libsodium
postgresql
@ -40,11 +43,13 @@ in rec {
texinfo # Fix 'makeinfo' is missing on your system.
libunistring
python39.pkgs.jinja2
# jq is necessary for some tests and is checked by configure script
jq
];
propagatedBuildInputs = [ gnunet ];
preConfigure = ''
./contrib/gana-update.sh
./contrib/gana-generate.sh
'';
enableParallelBuilding = true;
@ -78,7 +83,8 @@ in rec {
src = fetchgit {
url = "https://git.taler.net/merchant.git";
rev = "v${version}";
sha256 = "sha256-NPK8yhuTtZZiWE7OsUMdlb2aycegPzRFud41xHE9IL8=";
fetchSubmodules = true;
sha256 = "sha256-HewCqyO/7nnIQY9Tgva0k1nTk2LuwLyGK/UUxvx9BG0=";
};
postUnpack = ''
ln -s ${taler-wallet-core}/spa.html $sourceRoot/contrib/
@ -93,6 +99,14 @@ in rec {
];
propagatedBuildInputs = [ gnunet ];
# From ./bootstrap
preAutoreconf = ''
cd contrib
find wallet-core/backoffice/ -type f -printf ' %p \\\n' | sort > Makefile.am.ext
truncate -s -2 Makefile.am.ext
cat Makefile.am.in Makefile.am.ext >> Makefile.am
cd ..
'';
configureFlags = [
"--with-gnunet=${gnunet}"
"--with-exchange=${taler-exchange}"

View File

@ -2,6 +2,7 @@
, stdenv
, fetchurl
, fetchFromGitHub
, fetchpatch
, wrapGAppsHook
, makeDesktopItem
, copyDesktopItems
@ -20,21 +21,18 @@ let
snapshot = "2.2.1-SNAPSHOT";
pin = "2.2.1-20230117.075740-16";
};
afterburner = {
snapshot = "1.1.0-SNAPSHOT";
pin = "1.1.0-20221226.155809-7";
};
};
in
stdenv.mkDerivation rec {
version = "5.10";
version = "5.11";
pname = "jabref";
src = fetchFromGitHub {
owner = "JabRef";
repo = "jabref";
rev = "v${version}";
hash = "sha256-Yj4mjXOZVM0dKcMfTjmnZs/kIs8AR0KJ9HKlyPM96j8=";
hash = "sha256-MTnM4QHTFXJt/T8SOWwHlZ1CuegSGjpT3qDaMRi5n18=";
fetchSubmodules = true;
};
desktopItems = [
@ -51,46 +49,41 @@ stdenv.mkDerivation rec {
})
];
deps =
let
javafx-web = fetchurl {
url = "https://repo1.maven.org/maven2/org/openjfx/javafx-web/20/javafx-web-20.jar";
hash = "sha256-qRtVN34KURlVM5Ie/x25IfKsKsUcux7V2m3LML74G/s=";
};
in
stdenv.mkDerivation {
pname = "${pname}-deps";
inherit src version postPatch;
deps = stdenv.mkDerivation {
pname = "${pname}-deps";
inherit src version patches postPatch;
nativeBuildInputs = [ gradle perl ];
buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d)
gradle --no-daemon downloadDependencies -Dos.arch=amd64
gradle --no-daemon downloadDependencies -Dos.arch=aarch64
'';
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
installPhase = ''
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/''${\($5 =~ s/-jvm//r)}" #e' \
| sh
mv $out/org/jabref/afterburner.fx/${versionReplace.afterburner.pin} \
$out/org/jabref/afterburner.fx/${versionReplace.afterburner.snapshot}
mv $out/com/tobiasdiez/easybind/${versionReplace.easybind.pin} \
$out/com/tobiasdiez/easybind/${versionReplace.easybind.snapshot}
# This jar is required but not used or cached for unknown reason.
cp ${javafx-web} $out/org/openjfx/javafx-web/20/javafx-web-20.jar
'';
# Don't move info to share/
forceShare = [ "dummy" ];
outputHashMode = "recursive";
outputHash = "sha256-XswHEKjzErL+znau/F6mTORVJlFSgVuT0svK29v5dEU=";
};
nativeBuildInputs = [ gradle perl ];
buildPhase = ''
export GRADLE_USER_HOME=$(mktemp -d)
gradle --no-daemon downloadDependencies -Dos.arch=amd64
gradle --no-daemon downloadDependencies -Dos.arch=aarch64
'';
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
installPhase = ''
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/''${\($5 =~ s/-jvm//r)}" #e' \
| sh
mv $out/com/tobiasdiez/easybind/${versionReplace.easybind.pin} \
$out/com/tobiasdiez/easybind/${versionReplace.easybind.snapshot}
'';
# Don't move info to share/
forceShare = [ "dummy" ];
outputHashMode = "recursive";
outputHash = "sha256-sMbAv122EcLPOqbEVKowfxp9B71iJaccLRlKS75b3Xc=";
};
patches = [
# Use JavaFX 21
(fetchpatch {
url = "https://github.com/JabRef/jabref/commit/2afd1f622a3ab85fc2cf5fa879c5a4d41c245eca.patch";
hash = "sha256-cs7TSSnEY4Yf5xrqMOpfIA4jVdzM3OQQV/anQxJyy64=";
})
];
postPatch = ''
# Pin the version
substituteInPlace build.gradle \
--replace 'org.jabref:afterburner.fx:${versionReplace.afterburner.snapshot}' \
'org.jabref:afterburner.fx:${versionReplace.afterburner.pin}' \
--replace 'com.tobiasdiez:easybind:${versionReplace.easybind.snapshot}' \
'com.tobiasdiez:easybind:${versionReplace.easybind.pin}'
@ -98,29 +91,31 @@ stdenv.mkDerivation rec {
substituteInPlace src/main/java/org/jabref/preferences/JabRefPreferences.java \
--replace 'VERSION_CHECK_ENABLED, Boolean.TRUE' \
'VERSION_CHECK_ENABLED, Boolean.FALSE'
# Add back downloadDependencies task for deps download which is removed upstream in https://github.com/JabRef/jabref/pull/10326
cat <<EOF >> build.gradle
task downloadDependencies {
description "Pre-downloads *most* dependencies"
doLast {
configurations.getAsMap().each { name, config ->
println "Retrieving dependencies for $name"
try {
config.files
} catch (e) {
// some cannot be resolved, just log them
project.logger.info e.message
}
}
}
}
EOF
'';
preBuild = ''
# Include CSL styles and locales in our build
cp -r buildres/csl/* src/main/resources/
# Use the local packages from -deps
sed -i -e '/repositories {/a maven { url uri("${deps}") }' \
build.gradle \
buildSrc/build.gradle \
settings.gradle
# The `plugin {}` block can't resolve plugins from the deps repo
sed -e '/plugins {/,/^}/d' buildSrc/build.gradle > buildSrc/build.gradle.tmp
cat > buildSrc/build.gradle <<EOF
buildscript {
repositories { maven { url uri("${deps}") } }
dependencies { classpath 'org.openjfx:javafx-plugin:0.0.14' }
}
apply plugin: 'java'
apply plugin: 'org.openjfx.javafxplugin'
EOF
cat buildSrc/build.gradle.tmp >> buildSrc/build.gradle
'';
nativeBuildInputs = [

View File

@ -7,13 +7,13 @@
let
pname = "trilium-desktop";
version = "0.60.4";
version = "0.61.14";
linuxSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
linuxSource.sha256 = "02vbghvi2sbh943rslgm712x9zccvpjab3jvr5b1bw4bq5fzppgq";
linuxSource.sha256 = "1yxkgbnajlzhc62g4siq1hs7vd5hkvmdg4zsk1wqijhp0f4iix3s";
darwinSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-mac-x64-${version}.zip";
darwinSource.sha256 = "0z6dk16xdzkiyxrm1yh3iz5351c8sdzvk8v5l3jdqy7davxw9f86";
darwinSource.sha256 = "1pvyy1k50n90ww3spm7bkmx0lzdi22na66mcpcwyls15r9kqb1ib";
meta = metaCommon // {
mainProgram = "trilium";

View File

@ -1,11 +1,11 @@
{ stdenv, lib, autoPatchelfHook, fetchurl, nixosTests
{ stdenv, autoPatchelfHook, fetchurl, nixosTests
, metaCommon }:
let
serverSource.url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
serverSource.sha256 = "16xyxpxqvzhdq63wc2nzmfabpasypxwm474jf15y3q8kdrca9myv";
version = "0.60.4";
in stdenv.mkDerivation rec {
serverSource.sha256 = "0l49jnsgbzppc2sfh4fykidl0skzlc2kbgsyz0dcnh9g2i562fq9";
version = "0.61.14";
in stdenv.mkDerivation {
pname = "trilium-server";
inherit version;
meta = metaCommon // {

View File

@ -25,14 +25,14 @@ let
};
in
stdenv.mkDerivation rec {
version = "16.1.43";
version = "16.1.45";
pname = "jmol";
src = let
baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
in fetchurl {
url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
hash = "sha256-lqHlnAeJKbj2Xs9AeAKqdWMWkmD8xWR7f3+nJsBx2YE=";
hash = "sha256-rLq0QrY1M0OptmRZ/dKUVssREnH1im9Ti89AbpsiFtg=";
};
patchPhase = ''

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, lib, expat, octave, libxml2, texinfo, zip }:
stdenv.mkDerivation rec {
pname = "gama";
version = "2.26";
version = "2.27";
src = fetchurl {
url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
sha256 = "sha256-8zKPPpbp66tD2zMmcv2H5xeCSdDhUk0uYPhqwpGqx9Y=";
sha256 = "sha256-k4s7TK/ym68v40KDzZoMMxDWFMRnsMuk6V/G9P/jM0E=";
};
buildInputs = [ expat ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "cadical";
version = "1.8.0";
version = "1.9.0";
src = fetchFromGitHub {
owner = "arminbiere";
repo = "cadical";
rev = "rel-${version}";
sha256 = "sha256-hY7+gTwBqQegbm5RjLKhM2vfBOjIRz797Z6wd6usj9s=";
sha256 = "sha256-2cMaBo4u7uqrsp11dc9PHOI9ZBnir51BftPE4C6/U7Q=";
};
outputs = [ "out" "dev" "lib" ];

View File

@ -1,12 +1,11 @@
{ mkDerivation, lib, fetchurl, qmake }:
{ mkDerivation, lib, fetchzip, qmake }:
mkDerivation rec {
pname = "xflr5";
version = "6.47";
src = fetchurl {
url = "mirror://sourceforge/xflr5/${pname}_v${version}_src.tar.gz";
sha256 = "02x3r9iv3ndwxa65mxn9m5dlhcrnjiq7cffi6rmb456gs3v3dnav";
version = "6.61";
src = fetchzip {
url = "https://sourceforge.net/code-snapshots/svn/x/xf/xflr5/code/xflr5-code-r1481-tags-v6.61-xflr5.zip";
sha256 = "sha256-voWnXiBo7+kBPiZLVpSiXyBsYJv/Phd3noA81SQ5Vtw=";
};
nativeBuildInputs = [ qmake ];

View File

@ -1,19 +1,21 @@
{ stdenv, lib, fetchFromGitHub, python3Packages, gettext, git, qt5 }:
{ stdenv, lib, fetchFromGitHub, python3Packages, gettext, git, qt5, gitUpdater }:
python3Packages.buildPythonApplication rec {
pname = "git-cola";
version = "4.2.1";
version = "4.4.0";
src = fetchFromGitHub {
owner = "git-cola";
repo = "git-cola";
rev = "refs/tags/v${version}";
hash = "sha256-VAn4zXypOugPIVyXQ/8Yt0rCDM7hVdIY+jpmoTHqssU=";
rev = "v${version}";
hash = "sha256-LNzsG6I4InygpfbzTikJ1gxTFkVrkDV1eS0CJwKT26A=";
};
env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
buildInputs = lib.optionals stdenv.isLinux [ qt5.qtwayland ];
propagatedBuildInputs = with python3Packages; [ git pyqt5 qtpy send2trash ];
nativeBuildInputs = [ gettext qt5.wrapQtAppsHook ];
nativeBuildInputs = with python3Packages; [ setuptools-scm gettext qt5.wrapQtAppsHook ];
nativeCheckInputs = with python3Packages; [ git pytestCheckHook ];
disabledTestPaths = [
@ -27,6 +29,10 @@ python3Packages.buildPythonApplication rec {
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
'';
passthru.updateScript = gitUpdater {
rev-prefix = "v";
};
meta = with lib; {
homepage = "https://github.com/git-cola/git-cola";
description = "A sleek and powerful Git GUI";

View File

@ -10,7 +10,7 @@
}:
let
version = "5.12.175";
version = "5.12.176";
in
rustPlatform.buildRustPackage {
pname = "git-mit";
@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
owner = "PurpleBooth";
repo = "git-mit";
rev = "v${version}";
hash = "sha256-c026r3F/oNk/DyEwHb/1kSL99bqmYp7mqOdsWbB7Njo=";
hash = "sha256-ABuOlPwv/mT/zMLcbJS4P+cOGn6hPTxTQEABVUEEX9A=";
};
cargoHash = "sha256-QpmgGonDy3Pkx2i5X3ZxmBXqupOoESoFMIBorFeqam4=";
cargoHash = "sha256-X03HqxxxKI3TTuTBjJQAA2aMT96Iq2v8Dn+1qtu5aFM=";
nativeBuildInputs = [ pkg-config ];

View File

@ -1,5 +1,5 @@
{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitLab, bundlerEnv
, ruby_3_2, tzdata, git, nettools, nixosTests, nodejs, openssl
, ruby_3_1, tzdata, git, nettools, nixosTests, nodejs, openssl
, gitlabEnterprise ? false, callPackage, yarn
, fixup_yarn_lock, replace, file, cacert, fetchYarnDeps, makeWrapper, pkg-config
}:
@ -17,7 +17,7 @@ let
rubyEnv = bundlerEnv rec {
name = "gitlab-env-${version}";
ruby = ruby_3_2;
ruby = ruby_3_1;
gemdir = ./rubyEnv;
gemset =
let x = import (gemdir + "/gemset.nix") src;

View File

@ -3,7 +3,7 @@ source 'https://rubygems.org'
ruby '>= 2.5.0', '< 3.2.0'
gem 'bundler', '>= 1.12.0'
gem 'rails', '6.1.7.2'
gem 'rails', '6.1.7.6'
gem 'globalid', '~> 0.4.2' if Gem.ruby_version < Gem::Version.new('2.6.0')
gem 'rouge', '~> 3.28.0'
gem 'request_store', '~> 1.5.0'
@ -13,10 +13,16 @@ gem 'roadie-rails', (Gem.ruby_version < Gem::Version.new('2.6.0') ? '~> 2.2.0' :
gem 'marcel'
gem "mail", "~> 2.7.1"
gem 'csv', '~> 3.2.0'
gem 'nokogiri', (Gem.ruby_version < Gem::Version.new('2.6.0') ? '~> 1.12.5' : '~> 1.13.10')
gem "rexml"
gem 'nokogiri', (if Gem.ruby_version < Gem::Version.new('2.6.0')
'~> 1.12.5'
elsif Gem.ruby_version < Gem::Version.new('2.7.0')
'~> 1.13.10'
else
'~> 1.15.2'
end)
gem "rexml", require: false if Gem.ruby_version >= Gem::Version.new('3.0')
gem 'i18n', '~> 1.10.0'
gem 'rbpdf', '~> 1.21.0'
gem 'rbpdf', '~> 1.21.3'
gem 'addressable'
gem 'rubyzip', '~> 2.3.0'
gem 'net-smtp', '~> 0.3.0'
@ -70,9 +76,10 @@ end
group :test do
gem "rails-dom-testing"
gem 'mocha', (Gem.ruby_version < Gem::Version.new('2.7.0') ? ['>= 1.4.0', '< 2.0.0'] : '>= 1.4.0')
gem 'mocha', '>= 2.0.1'
gem 'simplecov', '~> 0.21.2', :require => false
gem "ffi", platforms: [:mri, :mingw, :x64_mingw, :mswin]
# For running system tests
gem 'puma', (Gem.ruby_version < Gem::Version.new('2.7') ? '< 6.0.0' : '>= 0')
gem 'capybara', (if Gem.ruby_version < Gem::Version.new('2.6')
'~> 3.35.3'

View File

@ -1,28 +1,28 @@
GEM
remote: https://rubygems.org/
specs:
actioncable (6.1.7.2)
actionpack (= 6.1.7.2)
activesupport (= 6.1.7.2)
actioncable (6.1.7.6)
actionpack (= 6.1.7.6)
activesupport (= 6.1.7.6)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (6.1.7.2)
actionpack (= 6.1.7.2)
activejob (= 6.1.7.2)
activerecord (= 6.1.7.2)
activestorage (= 6.1.7.2)
activesupport (= 6.1.7.2)
actionmailbox (6.1.7.6)
actionpack (= 6.1.7.6)
activejob (= 6.1.7.6)
activerecord (= 6.1.7.6)
activestorage (= 6.1.7.6)
activesupport (= 6.1.7.6)
mail (>= 2.7.1)
actionmailer (6.1.7.2)
actionpack (= 6.1.7.2)
actionview (= 6.1.7.2)
activejob (= 6.1.7.2)
activesupport (= 6.1.7.2)
actionmailer (6.1.7.6)
actionpack (= 6.1.7.6)
actionview (= 6.1.7.6)
activejob (= 6.1.7.6)
activesupport (= 6.1.7.6)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (6.1.7.2)
actionview (= 6.1.7.2)
activesupport (= 6.1.7.2)
actionpack (6.1.7.6)
actionview (= 6.1.7.6)
activesupport (= 6.1.7.6)
rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
@ -30,40 +30,40 @@ GEM
actionpack-xml_parser (2.0.1)
actionpack (>= 5.0)
railties (>= 5.0)
actiontext (6.1.7.2)
actionpack (= 6.1.7.2)
activerecord (= 6.1.7.2)
activestorage (= 6.1.7.2)
activesupport (= 6.1.7.2)
actiontext (6.1.7.6)
actionpack (= 6.1.7.6)
activerecord (= 6.1.7.6)
activestorage (= 6.1.7.6)
activesupport (= 6.1.7.6)
nokogiri (>= 1.8.5)
actionview (6.1.7.2)
activesupport (= 6.1.7.2)
actionview (6.1.7.6)
activesupport (= 6.1.7.6)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activejob (6.1.7.2)
activesupport (= 6.1.7.2)
activejob (6.1.7.6)
activesupport (= 6.1.7.6)
globalid (>= 0.3.6)
activemodel (6.1.7.2)
activesupport (= 6.1.7.2)
activerecord (6.1.7.2)
activemodel (= 6.1.7.2)
activesupport (= 6.1.7.2)
activestorage (6.1.7.2)
actionpack (= 6.1.7.2)
activejob (= 6.1.7.2)
activerecord (= 6.1.7.2)
activesupport (= 6.1.7.2)
activemodel (6.1.7.6)
activesupport (= 6.1.7.6)
activerecord (6.1.7.6)
activemodel (= 6.1.7.6)
activesupport (= 6.1.7.6)
activestorage (6.1.7.6)
actionpack (= 6.1.7.6)
activejob (= 6.1.7.6)
activerecord (= 6.1.7.6)
activesupport (= 6.1.7.6)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (6.1.7.2)
activesupport (6.1.7.6)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
addressable (2.8.4)
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
ast (2.4.2)
builder (3.2.4)
@ -78,20 +78,20 @@ GEM
xpath (~> 3.2)
childprocess (3.0.0)
chunky_png (1.4.0)
commonmarker (0.23.9)
commonmarker (0.23.10)
concurrent-ruby (1.2.2)
crass (1.0.6)
css_parser (1.14.0)
css_parser (1.16.0)
addressable
csv (3.2.6)
csv (3.2.8)
deckar01-task_list (2.3.2)
html-pipeline
digest (3.1.1)
docile (1.4.0)
erubi (1.12.0)
ffi (1.15.5)
globalid (1.1.0)
activesupport (>= 5.0)
ffi (1.16.3)
globalid (1.2.1)
activesupport (>= 6.1)
html-pipeline (2.13.2)
activesupport (>= 2)
nokogiri (>= 1.4)
@ -101,7 +101,7 @@ GEM
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.21.3)
loofah (2.22.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
mail (2.7.1)
@ -110,10 +110,10 @@ GEM
matrix (0.4.2)
method_source (1.0.0)
mini_magick (4.11.0)
mini_mime (1.1.2)
mini_portile2 (2.8.2)
minitest (5.18.1)
mocha (2.0.4)
mini_mime (1.1.5)
mini_portile2 (2.8.5)
minitest (5.20.0)
mocha (2.1.0)
ruby2_keywords (>= 0.0.5)
mysql2 (0.5.5)
net-imap (0.2.3)
@ -123,75 +123,75 @@ GEM
net-ldap (0.17.1)
net-pop (0.1.2)
net-protocol
net-protocol (0.2.1)
net-protocol (0.2.2)
timeout
net-smtp (0.3.3)
net-protocol
nio4r (2.5.9)
nokogiri (1.13.10)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
nokogiri (1.13.10-x86_64-linux)
nio4r (2.6.1)
nokogiri (1.15.5)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
parallel (1.23.0)
parser (3.2.2.3)
parser (3.2.2.4)
ast (~> 2.4.1)
racc
pg (1.4.6)
public_suffix (5.0.1)
puma (6.3.0)
public_suffix (5.0.4)
puma (6.4.0)
nio4r (~> 2.0)
racc (1.7.1)
rack (2.2.7)
racc (1.7.3)
rack (2.2.8)
rack-test (2.1.0)
rack (>= 1.3)
rails (6.1.7.2)
actioncable (= 6.1.7.2)
actionmailbox (= 6.1.7.2)
actionmailer (= 6.1.7.2)
actionpack (= 6.1.7.2)
actiontext (= 6.1.7.2)
actionview (= 6.1.7.2)
activejob (= 6.1.7.2)
activemodel (= 6.1.7.2)
activerecord (= 6.1.7.2)
activestorage (= 6.1.7.2)
activesupport (= 6.1.7.2)
rails (6.1.7.6)
actioncable (= 6.1.7.6)
actionmailbox (= 6.1.7.6)
actionmailer (= 6.1.7.6)
actionpack (= 6.1.7.6)
actiontext (= 6.1.7.6)
actionview (= 6.1.7.6)
activejob (= 6.1.7.6)
activemodel (= 6.1.7.6)
activerecord (= 6.1.7.6)
activestorage (= 6.1.7.6)
activesupport (= 6.1.7.6)
bundler (>= 1.15.0)
railties (= 6.1.7.2)
railties (= 6.1.7.6)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
rails-dom-testing (2.2.0)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-html-sanitizer (1.5.0)
loofah (~> 2.19, >= 2.19.1)
railties (6.1.7.2)
actionpack (= 6.1.7.2)
activesupport (= 6.1.7.2)
rails-html-sanitizer (1.6.0)
loofah (~> 2.21)
nokogiri (~> 1.14)
railties (6.1.7.6)
actionpack (= 6.1.7.6)
activesupport (= 6.1.7.6)
method_source
rake (>= 12.2)
thor (~> 1.0)
rainbow (3.1.1)
rake (13.0.6)
rake (13.1.0)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rbpdf (1.21.1)
rbpdf (1.21.3)
htmlentities
rbpdf-font (~> 1.19.0)
rbpdf-font (1.19.1)
redcarpet (3.5.1)
regexp_parser (2.8.1)
regexp_parser (2.8.2)
request_store (1.5.1)
rack (>= 1.4)
rexml (3.2.5)
roadie (5.1.0)
rexml (3.2.6)
roadie (5.2.0)
css_parser (~> 1.4)
nokogiri (~> 1.8)
nokogiri (~> 1.15)
roadie-rails (3.0.0)
railties (>= 5.1, < 7.1)
roadie (~> 5.0)
rotp (6.2.2)
rotp (6.3.0)
rouge (3.28.0)
rqrcode (2.2.0)
chunky_png (~> 1.0)
@ -206,7 +206,7 @@ GEM
rubocop-ast (>= 1.16.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.29.0)
rubocop-ast (1.30.0)
parser (>= 3.2.1.0)
rubocop-performance (1.13.3)
rubocop (>= 1.7.0, < 2.0)
@ -218,7 +218,7 @@ GEM
ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
sanitize (6.0.1)
sanitize (6.1.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
selenium-webdriver (3.142.7)
@ -230,31 +230,31 @@ GEM
simplecov_json_formatter (~> 0.1)
simplecov-html (0.12.3)
simplecov_json_formatter (0.1.4)
sprockets (4.2.0)
sprockets (4.2.1)
concurrent-ruby (~> 1.0)
rack (>= 2.2.4, < 4)
sprockets-rails (3.4.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets (>= 3.0.0)
strscan (3.0.6)
thor (1.2.2)
timeout (0.4.0)
strscan (3.0.7)
thor (1.3.0)
timeout (0.4.1)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.4.2)
unicode-display_width (2.5.0)
webdrivers (4.6.1)
nokogiri (~> 1.6)
rubyzip (>= 1.3.0)
selenium-webdriver (>= 3.0, < 4.0)
webrick (1.8.1)
websocket-driver (0.7.5)
websocket-driver (0.7.6)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
xpath (3.2.0)
nokogiri (~> 1.8)
yard (0.9.34)
zeitwerk (2.6.8)
zeitwerk (2.6.12)
PLATFORMS
ruby
@ -275,18 +275,18 @@ DEPENDENCIES
marcel
mini_magick (~> 4.11.0)
mini_mime (~> 1.1.0)
mocha (>= 1.4.0)
mocha (>= 2.0.1)
mysql2 (~> 0.5.0)
net-imap (~> 0.2.2)
net-ldap (~> 0.17.0)
net-pop (~> 0.1.1)
net-smtp (~> 0.3.0)
nokogiri (~> 1.13.10)
nokogiri (~> 1.15.2)
pg (~> 1.4.2)
puma
rails (= 6.1.7.2)
rails (= 6.1.7.6)
rails-dom-testing
rbpdf (~> 1.21.0)
rbpdf (~> 1.21.3)
redcarpet (~> 3.5.1)
request_store (~> 1.5.0)
rexml
@ -307,7 +307,7 @@ DEPENDENCIES
yard
RUBY VERSION
ruby 2.7.7p221
ruby 3.1.4p223
BUNDLED WITH
2.3.26
2.4.12

View File

@ -1,7 +1,7 @@
{ lib, stdenv, fetchurl, bundlerEnv, ruby, defaultGemConfig, makeWrapper, nixosTests }:
let
version = "5.0.5";
version = "5.0.6";
rubyEnv = bundlerEnv {
name = "redmine-env-${version}";
@ -16,7 +16,7 @@ in
src = fetchurl {
url = "https://www.redmine.org/releases/${pname}-${version}.tar.gz";
sha256 = "sha256-qJrRxLub8CXmUnx3qxjI+vd0nJSpdcryz9u6AOsSpIE=";
hash = "sha256-SI/gjzeo6xARQVkiqOp0O3842Kel+IIpUKNKN13PCO4=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -5,10 +5,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1y9lj7ra9xf4q4mryydmd498grsndqmz1zwasb4ai9gv62igvw3s";
sha256 = "1fdbks9byqqlkd6glj6lkz5f1z6948hh8fhv9x5pzqciralmz142";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
actionmailbox = {
dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
@ -16,10 +16,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0bzacsr93sxv90nljv3ajw54nmyz1v9k2v2wx1pxsi0jasqg5fvn";
sha256 = "1rfya6qgsl14cm9l2w7h7lg4znsyg3gqiskhqr8wn76sh0x2hln0";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
actionmailer = {
dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
@ -27,10 +27,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1rjddp1a5l4amsbibhnf7g2rb69qvq0nc0a2dvr6r57bpkf82hj4";
sha256 = "0jr9jpf542svzqz8x68s08jnf30shxrrh7rq1a0s7jia5a5zx3qd";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
actionpack = {
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
@ -38,10 +38,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0c2y6sqpan68lrx78pvhbxb2917m75s808r6cg1kyygwvg31niza";
sha256 = "0vf6ncs647psa9p23d2108zgmlf0pr7gcjr080yg5yf68gyhs53k";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
actionpack-xml_parser = {
dependencies = ["actionpack" "railties"];
@ -60,10 +60,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jx8wi961i34v7x0j3h4wjw3qbyx9bkzb598vg42kidzk2f90dyj";
sha256 = "1i8s3v6m8q3y17c40l6d3k2vs1mdqr0y1lfm7i6dfbj2y673lk9r";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
actionview = {
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
@ -71,10 +71,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10g5gk8h4mfhvgqylzbf591fqf5p78ca35cb97p9bclpv9jfy0za";
sha256 = "1s4c1n5lv31sc7w4w74xz8gzyq3sann00bm4l7lxgy3vgi2wqkid";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
activejob = {
dependencies = ["activesupport" "globalid"];
@ -82,10 +82,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ililjwy4x52a6x5fidh1iyllf6vx49nz93fd2hxypc5bpryx9mz";
sha256 = "1641003plszig5ybhrqy90fv43l1vcai5h35qmhh9j12byk5hp26";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
activemodel = {
dependencies = ["activesupport"];
@ -93,10 +93,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0nn17y72fhsynwn11bqg75bazqp6r1g8mpwwyv64harwvh3fh5qj";
sha256 = "148szdj5jlnfpv3nmy8cby8rxgpdvs43f3rzqby1f7a0l2knd3va";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
activerecord = {
dependencies = ["activemodel" "activesupport"];
@ -104,10 +104,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1k69m3b0lb4jx20jx8vsvdqm1ki1r6riq9haabyddkcpvmgz1wh7";
sha256 = "0n7hg582ajdncilfk1kkw8qfdchymp2gqgkad1znlhlmclihsafr";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
activestorage = {
dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
@ -115,10 +115,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0c3cvc01azfkccg5hsl96wafsxb5hf1nva3cn8rif2mlwx17p8n3";
sha256 = "16pylwnqsbvq2wxhl7k1rnravbr3dgpjmnj0psz5gijgkydd52yc";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
activesupport = {
dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk"];
@ -126,10 +126,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "14pjq2k761qaywaznpqq8ziivjk2ks1ma2cjwdflkxqgndxjmsr2";
sha256 = "1nhrdih0rk46i0s6x7nqhbypmj1hf23zl5gfl9xasb6k4r2a1dxk";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
addressable = {
dependencies = ["public_suffix"];
@ -137,10 +137,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15s8van7r2ad3dq6i03l3z4hqnvxcq75a3h72kxvf9an53sqma20";
sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33";
type = "gem";
};
version = "2.8.4";
version = "2.8.5";
};
ast = {
groups = ["default" "test"];
@ -198,10 +198,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "074162raa8pc92q6833hgqdlfr3z5jgid9avdz5k25cnls2rqwrf";
sha256 = "1lb5slzbqrca49h0gaifg82xky5r7i9xgm4560pin1xl5fp15lzx";
type = "gem";
};
version = "0.23.9";
version = "0.23.10";
};
concurrent-ruby = {
groups = ["common_mark" "default" "test"];
@ -229,20 +229,20 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "04q1vin8slr3k8mp76qz0wqgap6f9kdsbryvgfq9fljhrm463kpj";
sha256 = "18mii41bbl106rn940ah8v3xclj4yrxxa0bwlwp546244n9b83zp";
type = "gem";
};
version = "1.14.0";
version = "1.16.0";
};
csv = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0l5f5cq8ki3h4djh7pb8yqdkywqd08vjy3vd64yqh7qd6pdwky6w";
sha256 = "1zmrgngggg4yvdbggdx9p3z4wcav4vxfigramxxvjh3hi7l12pig";
type = "gem";
};
version = "3.2.6";
version = "3.2.8";
};
deckar01-task_list = {
dependencies = ["html-pipeline"];
@ -300,10 +300,10 @@
}];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd";
type = "gem";
};
version = "1.15.5";
version = "1.16.3";
};
globalid = {
dependencies = ["activesupport"];
@ -311,10 +311,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk";
sha256 = "1sbw6b66r7cwdx3jhs46s4lr991969hvigkjpbdl7y3i31qpdgvh";
type = "gem";
};
version = "1.1.0";
version = "1.2.1";
};
html-pipeline = {
dependencies = ["activesupport" "nokogiri"];
@ -365,10 +365,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1p744kjpb5zk2ihklbykzii77alycjc04vpnm2ch2f3cp65imlj3";
sha256 = "1zkjqf37v2d7s11176cb35cl83wls5gm3adnfkn2zcc61h3nxmqh";
type = "gem";
};
version = "2.21.3";
version = "2.22.0";
};
mail = {
dependencies = ["mini_mime"];
@ -426,30 +426,30 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5";
sha256 = "1vycif7pjzkr29mfk4dlqv3disc5dn0va04lkwajlpr1wkibg0c6";
type = "gem";
};
version = "1.1.2";
version = "1.1.5";
};
mini_portile2 = {
groups = ["common_mark" "default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0z7f38iq37h376n9xbl4gajdrnwzq284c9v1py4imw3gri2d5cj6";
sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
type = "gem";
};
version = "2.8.2";
version = "2.8.5";
};
minitest = {
groups = ["common_mark" "default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1kg9wh7jlc9zsr3hkhpzkbn0ynf4np5ap9m2d8xdrb8shy0y6pmb";
sha256 = "0bkmfi9mb49m0fkdhl2g38i3xxa02d411gg0m8x0gvbwfmmg5ym3";
type = "gem";
};
version = "5.18.1";
version = "5.20.0";
};
mocha = {
dependencies = ["ruby2_keywords"];
@ -457,10 +457,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "18xn9gm9yypavy9yck71fplan19hy5697mwd1rwzz7vizh3ip7bd";
sha256 = "0lsll8iba8612dypk718l9kx73m9syiscb2rhciljys1krc5g1zr";
type = "gem";
};
version = "2.0.4";
version = "2.1.0";
};
mysql2 = {
groups = ["default"];
@ -518,10 +518,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0dxckrlw4q1lcn3qg4mimmjazmg9bma5gllv72f8js3p36fb3b91";
sha256 = "1a32l4x73hz200cm587bc29q8q9az278syw3x6fkc9d1lv5y0wxa";
type = "gem";
};
version = "0.2.1";
version = "0.2.2";
};
net-smtp = {
dependencies = ["net-protocol"];
@ -539,10 +539,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0w9978zwjf1qhy3amkivab0f9syz6a7k0xgydjidaf7xc831d78f";
sha256 = "1y99dfzlb3kgzh7pfk8km0p5zjiblxyh5rm8yal9h523vi5awji8";
type = "gem";
};
version = "2.5.9";
version = "2.6.1";
};
nokogiri = {
dependencies = ["mini_portile2" "racc"];
@ -550,10 +550,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0n79k78c5vdcyl0m3y3l5x9kxl6xf5lgriwi2vd665qmdkr01vnk";
sha256 = "004ip9x9281fxhpipwi8di1sb1dnabscq9dy1p3cxgdwbniqqi12";
type = "gem";
};
version = "1.13.10";
version = "1.15.5";
};
parallel = {
groups = ["default" "test"];
@ -571,10 +571,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1swigds85jddb5gshll1g8lkmbcgbcp9bi1d4nigwvxki8smys0h";
sha256 = "0r69dbh6h6j4d54isany2ir4ni4gf2ysvk3k44awi6amz18nggpd";
type = "gem";
};
version = "3.2.2.3";
version = "3.2.2.4";
};
pg = {
groups = ["default"];
@ -599,10 +599,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0hz0bx2qs2pwb0bwazzsah03ilpf3aai8b7lk7s35jsfzwbkjq35";
sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m";
type = "gem";
};
version = "5.0.1";
version = "5.0.4";
};
puma = {
dependencies = ["nio4r"];
@ -610,30 +610,30 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1v7fmv0n4bhdcwh60dgza44iqai5pg34f5pzm4vh4i5fwx7mpqxh";
sha256 = "1y8jcw80zcxvdq0id329lzmp5pzx7hpac227d7sgjkblc89s3pfm";
type = "gem";
};
version = "6.3.0";
version = "6.4.0";
};
racc = {
groups = ["common_mark" "default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "11v3l46mwnlzlc371wr3x6yylpgafgwdf0q7hc7c1lzx6r414r5g";
sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
type = "gem";
};
version = "1.7.1";
version = "1.7.3";
};
rack = {
groups = ["default" "test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "16w217k9z02c4hqizym8dkj6bqmmzx4qdvqpnskgzf174a5pwdxk";
sha256 = "15rdwbyk71c9nxvd527bvb8jxkcys8r3dj3vqra5b3sa63qs30vv";
type = "gem";
};
version = "2.2.7";
version = "2.2.8";
};
rack-test = {
dependencies = ["rack"];
@ -652,32 +652,32 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1b7ggchi3d7pwzmj8jn9fhbazr5fr4dy304f0hz7kqbg23s9c1ym";
sha256 = "0gf5dqabzd0mf0q39a07kf0smdm2cv2z5swl3zr4cz50yb85zz3l";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
rails-dom-testing = {
dependencies = ["activesupport" "nokogiri"];
dependencies = ["activesupport" "minitest" "nokogiri"];
groups = ["test"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1lfq2a7kp2x64dzzi5p4cjcbiv62vxh9lyqk2f0rqq3fkzrw8h5i";
sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5";
type = "gem";
};
version = "2.0.3";
version = "2.2.0";
};
rails-html-sanitizer = {
dependencies = ["loofah"];
dependencies = ["loofah" "nokogiri"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ygav4xyq943qqyhjmi3mzirn180j565mc9h5j4css59x1sn0cmz";
sha256 = "1pm4z853nyz1bhhqr7fzl44alnx4bjachcr6rh6qjj375sfz3sc6";
type = "gem";
};
version = "1.5.0";
version = "1.6.0";
};
railties = {
dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
@ -685,10 +685,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mm3nf3y715ln6v8k6g4351ggkr1bcwc5637vr979yw8vsmdi42k";
sha256 = "1vq4ahyg9hraixxmmwwypdnpcylpvznvdxhj4xa23xk45wzbl3h7";
type = "gem";
};
version = "6.1.7.2";
version = "6.1.7.6";
};
rainbow = {
groups = ["default" "test"];
@ -705,10 +705,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy";
type = "gem";
};
version = "13.0.6";
version = "13.1.0";
};
rb-fsevent = {
groups = ["default" "development"];
@ -737,10 +737,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1mwpwaj6h2wwg51sd0ai4j1gn8vsl5mkvbx9bivb9sp3iqh9vi6y";
sha256 = "0rb6zqx79fzi0gqdq8xbhp87yp1ldfmzh0kng6fph84qhmzs990n";
type = "gem";
};
version = "1.21.1";
version = "1.21.3";
};
rbpdf-font = {
groups = ["default"];
@ -767,10 +767,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "136br91alxdwh1s85z912dwz23qlhm212vy6i3wkinz3z8mkxxl3";
sha256 = "1d9a5s3qrjdy50ll2s32gg3qmf10ryp3v2nr5k718kvfadp50ray";
type = "gem";
};
version = "2.8.1";
version = "2.8.2";
};
request_store = {
dependencies = ["rack"];
@ -788,10 +788,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53";
sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
type = "gem";
};
version = "3.2.5";
version = "3.2.6";
};
roadie = {
dependencies = ["css_parser" "nokogiri"];
@ -799,10 +799,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0728slgr2rxx6v1mrh1416k1waj29szfa1jqpbiw3xrvgfpzvcm7";
sha256 = "1qs594ybaz0lh2sakh95syzvhva4jms8xyiwhgjfncf3ri0qxp7l";
type = "gem";
};
version = "5.1.0";
version = "5.2.0";
};
roadie-rails = {
dependencies = ["railties" "roadie"];
@ -820,10 +820,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "10mmzc85y7andsich586ndykw678qn1ns2wpjxrg0sc0gr4w3pig";
sha256 = "0m48hv6wpmmm6cjr6q92q78h1i610riml19k5h1dil2yws3h1m3m";
type = "gem";
};
version = "6.2.2";
version = "6.3.0";
};
rouge = {
groups = ["default"];
@ -873,10 +873,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "188bs225kkhrb17dsf3likdahs2p1i1sqn0pr3pvlx50g6r2mnni";
sha256 = "1cs9cc5p9q70valk4na3lki4xs88b52486p2v46yx3q1n5969bgs";
type = "gem";
};
version = "1.29.0";
version = "1.30.0";
};
rubocop-performance = {
dependencies = ["rubocop" "rubocop-ast"];
@ -936,10 +936,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ga8yzc9zj45m92ycwnzhzahkwvc3dp3lym5m3f3880hs4jhh7l3";
sha256 = "0wsw05y0h1ln3x2kvcw26fs9ivryb4xbjrb4hsk2pishkhydkz4j";
type = "gem";
};
version = "6.0.1";
version = "6.1.0";
};
selenium-webdriver = {
dependencies = ["childprocess" "rubyzip"];
@ -989,10 +989,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0k0236g4h3ax7v6vp9k0l2fa0w6f1wqp7dn060zm4isw4n3k89sw";
sha256 = "15rzfzd9dca4v0mr0bbhsbwhygl0k9l24iqqlx0fijig5zfi66wm";
type = "gem";
};
version = "4.2.0";
version = "4.2.1";
};
sprockets-rails = {
dependencies = ["actionpack" "activesupport" "sprockets"];
@ -1010,30 +1010,30 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d74lidgbvs0s7lrxvrjs5ljk6jfc970s3pr0djgmz0y6nzhx3nn";
sha256 = "0w2lc1mqia13x43ajzhih419r40ppddg936ydhawz57f63ab6fll";
type = "gem";
};
version = "3.0.6";
version = "3.0.7";
};
thor = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0k7j2wn14h1pl4smibasw0bp66kg626drxb59z7rzflch99cd4rg";
sha256 = "1hx77jxkrwi66yvs10wfxqa8s25ds25ywgrrf66acm9nbfg7zp0s";
type = "gem";
};
version = "1.2.2";
version = "1.3.0";
};
timeout = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d9cvm0f4zdpwa795v3zv4973y5zk59j7s1x3yn90jjrhcz1yvfd";
sha256 = "16mvvsmx90023wrhf8dxc1lpqh0m8alk65shb7xcya6a9gflw7vg";
type = "gem";
};
version = "0.4.0";
version = "0.4.1";
};
tzinfo = {
dependencies = ["concurrent-ruby"];
@ -1051,10 +1051,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a";
sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky";
type = "gem";
};
version = "2.4.2";
version = "2.5.0";
};
webdrivers = {
dependencies = ["nokogiri" "rubyzip" "selenium-webdriver"];
@ -1083,10 +1083,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052";
sha256 = "1nyh873w4lvahcl8kzbjfca26656d5c6z3md4sbqg5y1gfz0157n";
type = "gem";
};
version = "0.7.5";
version = "0.7.6";
};
websocket-extensions = {
groups = ["default"];
@ -1124,9 +1124,9 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0ck6bj7wa73dkdh13735jl06k6cfny98glxjkas82aivlmyzqqbk";
sha256 = "1gir0if4nryl1jhwi28669gjwhxb7gzrm1fcc8xzsch3bnbi47jn";
type = "gem";
};
version = "2.6.8";
version = "2.6.12";
};
}

View File

@ -2,11 +2,11 @@
buildKodiAddon rec {
pname = "arrow";
namespace = "script.module.arrow";
version = "1.0.3.1";
version = "1.2.3";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/script.module.arrow/script.module.arrow-${version}.zip";
sha256 = "sha256-dFCAHlWgslxsAVQAPP3aDM6Fw+I9PP0ITUVTKJY2QXU=";
sha256 = "sha256-Et+9FJT1dRE1dFOrAQ70HJJcfylyLsiyay9wPJcSOXs=";
};
propagatedBuildInputs = [

View File

@ -2,11 +2,11 @@
buildKodiAddon rec {
pname = "typing_extensions";
namespace = "script.module.typing_extensions";
version = "3.7.4.3";
version = "4.7.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-GE9OfOIWtEKQcAmQZAK1uOFN4DQDiWU0YxUWICGDSFw=";
sha256 = "sha256-bCGPl5fGVyptCenpNXP/Msi7hu+UdtZd2ms7MfzbsbM=";
};
passthru = {

View File

@ -3,11 +3,11 @@
buildKodiAddon rec {
pname = "websocket";
namespace = "script.module.websocket";
version = "0.58.0+matrix.2";
version = "1.6.2";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-xyOlKAAvtucC/tTm027ifEgiry/9gQneAcIwOGxmTkg=";
sha256 = "sha256-vJGijCjIgLJAdJvl+hCAPtvq7fy2ksgjY90vjVyqDkI=";
};
propagatedBuildInputs = [

View File

@ -1,10 +1,24 @@
{ lib
, stdenvNoCC }:
let fileName = pathStr: lib.last (lib.splitString "/" pathStr);
let
escapedList = with lib; concatMapStringsSep " " (s: "'${escape [ "'" ] s}'");
fileName = pathStr: lib.last (lib.splitString "/" pathStr);
scriptsDir = "$out/share/mpv/scripts";
in
lib.makeOverridable (
{ pname, scriptPath ? "${pname}.lua", ... }@args:
{ pname
, extraScripts ? []
, ... }@args:
let
# either passthru.scriptName, inferred from scriptPath, or from pname
scriptName = (args.passthru or {}).scriptName or (
if args ? scriptPath
then fileName args.scriptPath
else "${pname}.lua"
);
scriptPath = args.scriptPath or "./${scriptName}";
in
stdenvNoCC.mkDerivation (lib.attrsets.recursiveUpdate {
dontBuild = true;
preferLocalBuild = true;
@ -12,11 +26,12 @@ lib.makeOverridable (
outputHashMode = "recursive";
installPhase = ''
runHook preInstall
install -m644 -Dt $out/share/mpv/scripts ${scriptPath}
install -m644 -Dt "${scriptsDir}" \
${escapedList ([ scriptPath ] ++ extraScripts)}
runHook postInstall
'';
passthru.scriptName = fileName scriptPath;
passthru = { inherit scriptName; };
meta.platforms = lib.platforms.all;
} args)
)

View File

@ -16,11 +16,11 @@ in lib.recurseIntoAttrs
mpris = callPackage ./mpris.nix { };
mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { inherit buildLua; };
mpv-webm = callPackage ./mpv-webm.nix { };
mpvacious = callPackage ./mpvacious.nix { };
mpvacious = callPackage ./mpvacious.nix { inherit buildLua; };
quality-menu = callPackage ./quality-menu.nix { inherit buildLua; };
simple-mpv-webui = callPackage ./simple-mpv-webui.nix { };
sponsorblock = callPackage ./sponsorblock.nix { };
thumbfast = callPackage ./thumbfast.nix { };
thumbfast = callPackage ./thumbfast.nix { inherit buildLua; };
thumbnail = callPackage ./thumbnail.nix { inherit buildLua; };
uosc = callPackage ./uosc.nix { };
visualizer = callPackage ./visualizer.nix { };

View File

@ -1,20 +1,20 @@
{ lib
, stdenvNoCC
, buildLua
, fetchFromGitHub
, curl
, wl-clipboard
, xclip
}:
stdenvNoCC.mkDerivation rec {
buildLua rec {
pname = "mpvacious";
version = "0.24";
version = "0.25";
src = fetchFromGitHub {
owner = "Ajatt-Tools";
repo = "mpvacious";
rev = "v${version}";
sha256 = "sha256-o0YcoSI+4934HlyIoI5V1h/FalCe+6tXS8Lg6kXWjSg=";
sha256 = "sha256-XTnib4cguWFEvZtmsLfkesbjFbkt2YoyYLT587ajyUM=";
};
postPatch = ''
@ -26,23 +26,16 @@ stdenvNoCC.mkDerivation rec {
--replace "'xclip" "'${xclip}/bin/xclip"
'';
dontBuild = true;
installPhase = ''
runHook preInstall
rm -r .github
mkdir -p $out/share/mpv/scripts
cp -r . $out/share/mpv/scripts/mpvacious
make PREFIX=$out/share/mpv install
runHook postInstall
'';
passthru.scriptName = "mpvacious";
meta = with lib; {
description = "Adds mpv keybindings to create Anki cards from movies and TV shows";
homepage = "https://github.com/Ajatt-Tools/mpvacious";
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = with maintainers; [ kmicklas ];
};
}

View File

@ -15,8 +15,8 @@ buildLua rec {
hash = "sha256-yrcTxqpLnOI1Tq3khhflO3wzhyeTPuvKifyH5/P57Ns=";
};
passthru.scriptName = "quality-menu.lua";
scriptPath = if oscSupport then "*.lua" else passthru.scriptName;
scriptPath = "quality-menu.lua";
extraScripts = lib.optional oscSupport "quality-menu-osc.lua";
meta = with lib; {
description = "A userscript for MPV that allows you to change youtube video quality (ytdl-format) on the fly";

View File

@ -1,14 +1,14 @@
{ lib, stdenvNoCC, fetchFromGitHub, mpv-unwrapped }:
{ lib, fetchFromGitHub, buildLua, mpv-unwrapped }:
stdenvNoCC.mkDerivation {
name = "mpv-thumbfast";
buildLua {
pname = "mpv-thumbfast";
version = "unstable-2023-06-04";
src = fetchFromGitHub {
owner = "po5";
repo = "thumbfast";
rev = "6f1d92da25a7b807427f55f085e7ad4d60c4e0d7";
hash = "sha256-7CCxMPmZZRDIcWn+YbV4xzZFL80qZS5UFA25E+Y2P2Q=";
rev = "4241c7daa444d3859b51b65a39d30e922adb87e9";
hash = "sha256-7EnFJVjEzqhWXAvhzURoOp/kad6WzwyidWxug6u8lVw=";
};
postPatch = ''
@ -16,18 +16,7 @@ stdenvNoCC.mkDerivation {
--replace 'mpv_path = "mpv"' 'mpv_path = "${lib.getExe mpv-unwrapped}"'
'';
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/mpv/scripts
cp -r thumbfast.lua $out/share/mpv/scripts/thumbfast.lua
runHook postInstall
'';
passthru.scriptName = "thumbfast.lua";
scriptPath = "thumbfast.lua";
meta = {
description = "High-performance on-the-fly thumbnailer for mpv";

View File

@ -15,7 +15,9 @@ buildLua rec {
postPatch = "patchShebangs concat_files.py";
dontBuild = false;
scriptPath = "mpv_thumbnail_script_{client_osc,server}.lua";
scriptPath = "mpv_thumbnail_script_client_osc.lua";
extraScripts = [ "mpv_thumbnail_script_server.lua" ];
passthru.scriptName = "mpv_thumbnail_script_{client_osc,server}.lua";
meta = with lib; {
description = "A lua script to show preview thumbnails in mpv's OSC seekbar";

View File

@ -5,9 +5,9 @@ version = 3
[[package]]
name = "acpi_tables"
version = "0.1.0"
source = "git+https://github.com/rust-vmm/acpi_tables?branch=main#1029d22777f07b04849234bbe756da34a6df2913"
source = "git+https://github.com/rust-vmm/acpi_tables?branch=main#1a733bf690ccc10bdfeacad33e3c9f6cce0008fd"
dependencies = [
"zerocopy 0.6.1",
"zerocopy",
]
[[package]]
@ -34,6 +34,55 @@ dependencies = [
"memchr",
]
[[package]]
name = "anstream"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
dependencies = [
"anstyle",
"anstyle-parse",
"anstyle-query",
"anstyle-wincon",
"colorchoice",
"is-terminal",
"utf8parse",
]
[[package]]
name = "anstyle"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
[[package]]
name = "anstyle-parse"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
dependencies = [
"windows-sys 0.48.0",
]
[[package]]
name = "anstyle-wincon"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c"
dependencies = [
"anstyle",
"windows-sys 0.48.0",
]
[[package]]
name = "anyhow"
version = "1.0.75"
@ -75,41 +124,13 @@ dependencies = [
"vmm-sys-util",
]
[[package]]
name = "argh"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab257697eb9496bf75526f0217b5ed64636a9cfafa78b8365c71bd283fcef93e"
dependencies = [
"argh_derive",
"argh_shared",
]
[[package]]
name = "argh_derive"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b382dbd3288e053331f03399e1db106c9fb0d8562ad62cb04859ae926f324fa6"
dependencies = [
"argh_shared",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "argh_shared"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64cb94155d965e3d37ffbbe7cc5b82c3dd79dd33bd48e536f73d2cfb8d85506f"
[[package]]
name = "async-broadcast"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b"
dependencies = [
"event-listener",
"event-listener 2.5.3",
"futures-core",
]
@ -120,7 +141,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35"
dependencies = [
"concurrent-queue",
"event-listener",
"event-listener 2.5.3",
"futures-core",
]
@ -164,7 +185,7 @@ dependencies = [
"log",
"parking",
"polling",
"rustix 0.37.21",
"rustix 0.37.25",
"slab",
"socket2",
"waker-fn",
@ -176,24 +197,23 @@ version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
dependencies = [
"event-listener",
"event-listener 2.5.3",
]
[[package]]
name = "async-process"
version = "1.7.0"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9"
checksum = "bf012553ce51eb7aa6dc2143804cc8252bd1cb681a1c5cb7fa94ca88682dee1d"
dependencies = [
"async-io",
"async-lock",
"autocfg",
"async-signal",
"blocking",
"cfg-if",
"event-listener",
"event-listener 3.0.0",
"futures-lite",
"rustix 0.37.21",
"signal-hook",
"rustix 0.38.8",
"windows-sys 0.48.0",
]
@ -208,6 +228,25 @@ dependencies = [
"syn 2.0.31",
]
[[package]]
name = "async-signal"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c99f3cb3f9ff89f7d718fbb942c9eb91bedff12e396adf09a622dfe7ffec2bc2"
dependencies = [
"async-io",
"async-lock",
"atomic-waker",
"cfg-if",
"concurrent-queue",
"futures-core",
"futures-io",
"libc",
"signal-hook-registry",
"slab",
"windows-sys 0.48.0",
]
[[package]]
name = "async-task"
version = "4.4.0"
@ -216,9 +255,9 @@ checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
[[package]]
name = "async-trait"
version = "0.1.73"
version = "0.1.74"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9"
dependencies = [
"proc-macro2",
"quote",
@ -227,9 +266,9 @@ dependencies = [
[[package]]
name = "atomic-waker"
version = "1.1.1"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3"
checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
[[package]]
name = "autocfg"
@ -261,6 +300,17 @@ dependencies = [
"serde",
]
[[package]]
name = "bitfield-struct"
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eac32db62a43cf33353ce30b4a208b08193ea2086a1c6c004acb0073c706a29d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.31",
]
[[package]]
name = "bitflags"
version = "1.3.2"
@ -269,9 +319,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
version = "2.3.3"
version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
[[package]]
name = "block"
@ -346,13 +396,42 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "clap"
version = "4.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d"
dependencies = [
"clap_builder",
]
[[package]]
name = "clap_builder"
version = "4.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b"
dependencies = [
"anstream",
"anstyle",
"clap_lex",
"once_cell",
"strsim",
"terminal_size",
]
[[package]]
name = "clap_lex"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
[[package]]
name = "cloud-hypervisor"
version = "35.0.0"
version = "36.0.0"
dependencies = [
"anyhow",
"api_client",
"argh",
"clap",
"dhat",
"dirs",
"epoll",
@ -377,6 +456,12 @@ dependencies = [
"zbus",
]
[[package]]
name = "colorchoice"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "concurrent-queue"
version = "2.2.0"
@ -404,6 +489,15 @@ dependencies = [
"rustc_version",
]
[[package]]
name = "crc32fast"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
dependencies = [
"cfg-if",
]
[[package]]
name = "crc64"
version = "1.0.0"
@ -482,7 +576,7 @@ dependencies = [
"acpi_tables",
"anyhow",
"arch",
"bitflags 2.3.3",
"bitflags 2.4.1",
"byteorder",
"event_monitor",
"hypervisor",
@ -549,9 +643,9 @@ dependencies = [
[[package]]
name = "enumflags2"
version = "0.7.7"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c041f5090df68b32bcd905365fd51769c8b9d553fe87fde0b683534f10c01bd2"
checksum = "5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939"
dependencies = [
"enumflags2_derive",
"serde",
@ -559,9 +653,9 @@ dependencies = [
[[package]]
name = "enumflags2_derive"
version = "0.7.7"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
dependencies = [
"proc-macro2",
"quote",
@ -587,37 +681,43 @@ version = "4.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74351c3392ea1ff6cd2628e0042d268ac2371cb613252ff383b6dfa50d22fa79"
dependencies = [
"bitflags 2.3.3",
"bitflags 2.4.1",
"libc",
]
[[package]]
name = "equivalent"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "errno"
version = "0.3.2"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860"
dependencies = [
"errno-dragonfly",
"libc",
"windows-sys 0.48.0",
]
[[package]]
name = "errno-dragonfly"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "event-listener"
version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "event-listener"
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29e56284f00d94c1bc7fd3c77027b4623c88c1f53d8d2394c6199f2921dea325"
dependencies = [
"concurrent-queue",
"parking",
"pin-project-lite",
]
[[package]]
name = "event_monitor"
version = "0.1.0"
@ -834,15 +934,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
[[package]]
name = "hashbrown"
version = "0.12.3"
version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
[[package]]
name = "hermit-abi"
version = "0.3.2"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7"
[[package]]
name = "hex"
@ -864,6 +964,8 @@ dependencies = [
"byteorder",
"env_logger",
"iced-x86",
"igvm",
"igvm_defs",
"kvm-bindings",
"kvm-ioctls",
"libc",
@ -880,9 +982,9 @@ dependencies = [
[[package]]
name = "iced-x86"
version = "1.19.0"
version = "1.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7cc8d38244d84278262c8ebe6930cc44283d194cbabae2651f6112103802fb5"
checksum = "cdd366a53278429c028367e0ba22a46cab6d565a57afb959f06e92c7a69e7828"
dependencies = [
"lazy_static",
]
@ -894,12 +996,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "indexmap"
version = "1.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
name = "igvm"
version = "0.1.0"
source = "git+https://github.com/microsoft/igvm?branch=main#c1b0201d8286cb23b9f30cb16ba435484666cfa3"
dependencies = [
"autocfg",
"bitfield-struct",
"crc32fast",
"hex",
"igvm_defs",
"open-enum",
"range_map_vec",
"thiserror",
"tracing",
"zerocopy",
]
[[package]]
name = "igvm_defs"
version = "0.1.0"
source = "git+https://github.com/microsoft/igvm?branch=main#c1b0201d8286cb23b9f30cb16ba435484666cfa3"
dependencies = [
"bitfield-struct",
"open-enum",
"static_assertions",
"zerocopy",
]
[[package]]
name = "indexmap"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897"
dependencies = [
"equivalent",
"hashbrown",
]
@ -1118,19 +1247,19 @@ dependencies = [
[[package]]
name = "mshv-bindings"
version = "0.1.1"
source = "git+https://github.com/rust-vmm/mshv?branch=main#c5a60508595dc504da469b89102b8b49e91714a9"
source = "git+https://github.com/rust-vmm/mshv?branch=main#af397ea8514303d3a19d21d33730e867f7415ba9"
dependencies = [
"libc",
"serde",
"serde_derive",
"vmm-sys-util",
"zerocopy 0.7.1",
"zerocopy",
]
[[package]]
name = "mshv-ioctls"
version = "0.1.1"
source = "git+https://github.com/rust-vmm/mshv?branch=main#c5a60508595dc504da469b89102b8b49e91714a9"
source = "git+https://github.com/rust-vmm/mshv?branch=main#af397ea8514303d3a19d21d33730e867f7415ba9"
dependencies = [
"libc",
"mshv-bindings",
@ -1198,9 +1327,9 @@ checksum = "43794a0ace135be66a25d3ae77d41b91615fb68ae937f904090203e81f755b65"
[[package]]
name = "num-traits"
version = "0.2.15"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2"
dependencies = [
"autocfg",
]
@ -1221,10 +1350,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
name = "openssl-src"
version = "300.1.3+3.1.2"
name = "open-enum"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd2c101a165fff9935e34def4669595ab1c7847943c42be86e21503e482be107"
checksum = "9807f1199cf84ec7cc801a79e5ee9aa5178e4762c6b9c7066c30b3cabdcd911e"
dependencies = [
"open-enum-derive",
]
[[package]]
name = "open-enum-derive"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "894ae443e59fecf7173ab3b963473f44193fa71b3c8953c61a5bd5f30880bb88"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "openssl-src"
version = "300.1.5+3.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "559068e4c12950d7dcaa1857a61725c0d38d4fc03ff8e070ab31a75d6e316491"
dependencies = [
"cc",
]
@ -1264,9 +1413,9 @@ dependencies = [
[[package]]
name = "parking"
version = "2.1.0"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e"
checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067"
[[package]]
name = "parking_lot"
@ -1318,9 +1467,9 @@ dependencies = [
[[package]]
name = "paste"
version = "1.0.12"
version = "1.0.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79"
checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
[[package]]
name = "pci"
@ -1349,7 +1498,7 @@ dependencies = [
name = "performance-metrics"
version = "0.1.0"
dependencies = [
"argh",
"clap",
"dirs",
"serde",
"serde_json",
@ -1567,6 +1716,12 @@ dependencies = [
"getrandom",
]
[[package]]
name = "range_map_vec"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8edc89eaa583cf6bc4c6ef16a219f0a60d342ca3bf0eae793560038ac8af1795"
[[package]]
name = "rate_limiter"
version = "0.1.0"
@ -1607,9 +1762,9 @@ dependencies = [
[[package]]
name = "regex"
version = "1.9.1"
version = "1.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29"
dependencies = [
"aho-corasick",
"memchr",
@ -1668,9 +1823,9 @@ dependencies = [
[[package]]
name = "rustix"
version = "0.37.21"
version = "0.37.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62f25693a73057a1b4cb56179dd3c7ea21a7c6c5ee7d85781f5749b46f34b79c"
checksum = "d4eb579851244c2c03e7c24f501c3432bed80b8f720af1d6e5b0e0f01555a035"
dependencies = [
"bitflags 1.3.2",
"errno",
@ -1686,7 +1841,7 @@ version = "0.38.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
dependencies = [
"bitflags 2.3.3",
"bitflags 2.4.1",
"errno",
"libc",
"linux-raw-sys 0.4.5",
@ -1707,18 +1862,18 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
name = "seccompiler"
version = "0.3.0"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f6575e3c2b3a0fe2ef3e53855b6a8dead7c29f783da5e123d378c8c6a89017e"
checksum = "345a3e4dddf721a478089d4697b83c6c0a8f5bf16086f6c13397e4534eb6e2e5"
dependencies = [
"libc",
]
[[package]]
name = "semver"
version = "1.0.18"
version = "1.0.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
[[package]]
name = "serde"
@ -1764,9 +1919,9 @@ dependencies = [
[[package]]
name = "serde_with"
version = "3.0.0"
version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f02d8aa6e3c385bf084924f660ce2a3a6bd333ba55b35e8590b321f35d88513"
checksum = "64cd236ccc1b7a29e7e2739f27c0b2dd199804abc4290e32f59f3b68d6405c23"
dependencies = [
"serde",
"serde_with_macros",
@ -1774,9 +1929,9 @@ dependencies = [
[[package]]
name = "serde_with_macros"
version = "3.0.0"
version = "3.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "edc7d5d3932fb12ce722ee5e64dd38c504efba37567f0c402f6ca728c3b8b070"
checksum = "93634eb5f75a2323b16de4748022ac4297f9e76b6dced2be287a099f41b5e788"
dependencies = [
"darling",
"proc-macro2",
@ -1790,9 +1945,9 @@ version = "0.1.0"
[[package]]
name = "sha1"
version = "0.10.5"
version = "0.10.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
dependencies = [
"cfg-if",
"cpufeatures",
@ -1910,9 +2065,9 @@ dependencies = [
[[package]]
name = "tempfile"
version = "3.7.1"
version = "3.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651"
checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
dependencies = [
"cfg-if",
"fastrand 2.0.0",
@ -1930,6 +2085,16 @@ dependencies = [
"winapi-util",
]
[[package]]
name = "terminal_size"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237"
dependencies = [
"rustix 0.37.25",
"windows-sys 0.48.0",
]
[[package]]
name = "test_infra"
version = "0.1.0"
@ -1979,9 +2144,9 @@ checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
[[package]]
name = "toml_edit"
version = "0.19.8"
version = "0.19.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13"
checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421"
dependencies = [
"indexmap",
"toml_datetime",
@ -2046,9 +2211,9 @@ dependencies = [
[[package]]
name = "typenum"
version = "1.16.0"
version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
[[package]]
name = "uds_windows"
@ -2066,6 +2231,12 @@ version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
[[package]]
name = "utf8parse"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
name = "uuid"
version = "1.3.4"
@ -2188,8 +2359,8 @@ dependencies = [
name = "vhost_user_block"
version = "0.1.0"
dependencies = [
"argh",
"block",
"clap",
"env_logger",
"epoll",
"libc",
@ -2207,7 +2378,7 @@ dependencies = [
name = "vhost_user_net"
version = "0.1.0"
dependencies = [
"argh",
"clap",
"env_logger",
"epoll",
"libc",
@ -2342,10 +2513,11 @@ dependencies = [
"anyhow",
"arc-swap",
"arch",
"bitflags 2.3.3",
"bitflags 2.4.1",
"block",
"blocking",
"cfg-if",
"clap",
"devices",
"epoll",
"event_monitor",
@ -2383,7 +2555,7 @@ dependencies = [
"vm-virtio",
"vmm-sys-util",
"zbus",
"zerocopy 0.6.1",
"zerocopy",
]
[[package]]
@ -2409,9 +2581,9 @@ dependencies = [
[[package]]
name = "waker-fn"
version = "1.1.0"
version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690"
[[package]]
name = "wasi"
@ -2491,9 +2663,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
version = "0.1.5"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
dependencies = [
"winapi",
]
@ -2638,9 +2810,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
[[package]]
name = "winnow"
version = "0.4.9"
version = "0.5.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81a2094c43cc94775293eaa0e499fbc30048a6d824ac82c0351a8c0bf9112529"
checksum = "176b6138793677221d420fd2f0aeeced263f197688b36484660da767bca2fa32"
dependencies = [
"memchr",
]
@ -2674,7 +2846,7 @@ dependencies = [
"byteorder",
"derivative",
"enumflags2",
"event-listener",
"event-listener 2.5.3",
"futures-core",
"futures-sink",
"futures-util",
@ -2723,40 +2895,19 @@ dependencies = [
[[package]]
name = "zerocopy"
version = "0.6.1"
version = "0.7.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "332f188cc1bcf1fe1064b8c58d150f497e697f49774aa846f2dc949d9a25f236"
checksum = "686b7e407015242119c33dab17b8f61ba6843534de936d94368856528eae4dcc"
dependencies = [
"byteorder",
"zerocopy-derive 0.3.2",
]
[[package]]
name = "zerocopy"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2f00a66029e63d181fa590cc5694cf2afbc0974a4604824e80017b1789f99c07"
dependencies = [
"byteorder",
"zerocopy-derive 0.7.1",
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.3.2"
version = "0.7.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6505e6815af7de1746a08f69c69606bb45695a17149517680f3b2149713b19a3"
dependencies = [
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]]
name = "zerocopy-derive"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9c682f46403e5d567cb27b79f6279c145759528ba9450fe371f43b921b452bd"
checksum = "020f3dfe25dfc38dfea49ce62d5d45ecdd7f0d8a724fa63eb36b6eba4ec76806"
dependencies = [
"proc-macro2",
"quote",

View File

@ -2,23 +2,24 @@
rustPlatform.buildRustPackage rec {
pname = "cloud-hypervisor";
version = "35.0";
version = "36.0";
src = fetchFromGitHub {
owner = "cloud-hypervisor";
repo = pname;
rev = "v${version}";
sha256 = "sha256-HZt5xfsP9l18S6nPyVhLNAs5vgDSVYOMFwThzCCon7E=";
hash = "sha256-SgzohTW0tDn/O65rujZh7hsbvTeu4nQ0HvvXu9f92Vc=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"acpi_tables-0.1.0" = "sha256-OGJX05yNwE7zZzATs8y0EZ714+lB+FgSia0TygRwWAU=";
"acpi_tables-0.1.0" = "sha256-FYjzwCSjuTUDCCQPC2ccDpwRRaG1eT5XgV/b8uSu8uc=";
"igvm-0.1.0" = "sha256-l+Qyhdy3b8h8hPLHg5M0os8aSkjM55hAP5nqi0AGmjo=";
"kvm-bindings-0.6.0" = "sha256-wGdAuPwsgRIqx9dh0m+hC9A/Akz9qg9BM+p06Fi5ACM=";
"kvm-ioctls-0.13.0" = "sha256-jHnFGwBWnAa2lRu4a5eRNy1Y26NX5MV8alJ86VR++QE=";
"micro_http-0.1.0" = "sha256-wX35VsrO1vxQcGbOrP+yZm9vG0gcTZLe7gH7xuAa12w=";
"mshv-bindings-0.1.1" = "sha256-8fEWawNeJ96CczFoJD3cqCsrROEvh8wJ4I0ForwzTJY=";
"mshv-bindings-0.1.1" = "sha256-vyNaKp89THzZ/UpfocEwaCUzCuQnBMyv/icuZEghZEQ=";
"versionize_derive-0.1.4" = "sha256-oGuREJ5+FDs8ihmv99WmjIPpL2oPdOr4REk6+7cV/7o=";
"vfio-bindings-0.4.0" = "sha256-hGhfOE9q9sf/tzPuaAHOca+JKCutcm1Myu1Tt9spaIQ=";
"vfio_user-0.1.0" = "sha256-fAqvy3YTDKXQqtJR+R2nBCWIYe89zTwtbgvJfPLqs1Q=";

View File

@ -5,12 +5,12 @@
rustPlatform.buildRustPackage rec {
pname = "crosvm";
version = "117.0";
version = "119.0";
src = fetchgit {
url = "https://chromium.googlesource.com/chromiumos/platform/crosvm";
rev = "2ec6c2a0d6700b297bb53803c5065a50f8094c77";
sha256 = "PFQc6DNbZ6zIXooYKNSHAkHlDvDk09tgRX5KYRiZ2nA=";
rev = "b9977397be2ffc8154bf55983eb21495016d48b5";
sha256 = "oaCWiyYWQQGERaUPSekUHsO8vaHzIA5ZdSebm/qRR7I=";
fetchSubmodules = true;
};
@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
separateDebugInfo = true;
cargoHash = "sha256-yRujLgPaoKx/wkG3yMwQ5ndy9X5xDWSKtCr8DypXvEA=";
cargoHash = "sha256-U/sF/0OWxA41iZsOTao8eeb98lluqOwcPwwA4emcSFc=";
nativeBuildInputs = [
pkg-config protobuf python3 rustPlatform.bindgenHook wayland-scanner

View File

@ -10,11 +10,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "tart";
version = "2.0.0";
version = "2.3.0";
src = fetchurl {
url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart.tar.gz";
sha256 = "sha256-uDNB49HF++WTV28VkfZCt32zkp+h0W5xXAuqtaFTmPI=";
sha256 = "sha256-LdzP0Vovda0W6uBg71dJlTxP+Qly+c2Shv3xrMmxYDg=";
};
sourceRoot = ".";

View File

@ -36,8 +36,8 @@ in customEmacsPackages.withPackages (epkgs: [ epkgs.evil epkgs.magit ])
self:
let
inherit (self) emacs;
withNativeCompilation = emacs.withNativeCompilation or emacs.nativeComp or false;
withTreeSitter = emacs.withTreeSitter or emacs.treeSitter or false;
withNativeCompilation = emacs.withNativeCompilation or false;
withTreeSitter = emacs.withTreeSitter or false;
in
packagesFun: # packages explicitly requested by the user
let

View File

@ -0,0 +1,45 @@
{ lib
, fetchFromGitHub
, python3Packages
, gnupg
}:
let
pname = "apt-offline";
version = "1.8.5";
src = fetchFromGitHub {
owner = "rickysarraf";
repo = "apt-offline";
rev = "v${version}";
hash = "sha256-KkJwQ9EpOSJK9PaM747l6Gqp8Z8SWvuo3TJ+Ry6d0l4=";
};
in
python3Packages.buildPythonApplication {
inherit pname version src;
postPatch = ''
substituteInPlace org.debian.apt.aptoffline.policy \
--replace /usr/bin/ "$out/bin"
substituteInPlace apt_offline_core/AptOfflineCoreLib.py \
--replace /usr/bin/gpgv "${lib.getBin gnupg}/bin/gpgv"
'';
postFixup = ''
rm "$out/bin/apt-offline-gui" "$out/bin/apt-offline-gui-pkexec"
'';
doCheck = false; # API incompatibilities, maybe?
pythonImportsCheck = [ "apt_offline_core" ];
meta = {
homepage = "https://github.com/rickysarraf/apt-offline";
description = "Offline APT package manager";
license = with lib.licenses; [ gpl3Plus ];
mainProgram = "apt-offline";
maintainers = with lib.maintainers; [ AndersonTorres ];
};
}
# TODO: verify GUI and pkexec

View File

@ -0,0 +1,98 @@
{ lib
, stdenv
, fetchurl
, bzip2
, cmake
, curl
, db
, docbook_xml_dtd_45
, docbook_xsl
, doxygen
, dpkg
, gettext
, gnutls
, gtest
, libgcrypt
, libgpg-error
, libseccomp
, libtasn1
, libxslt
, lz4
, p11-kit
, perlPackages
, pkg-config
, triehash
, udev
, w3m
, xxHash
, xz
, zstd
, withDocs ? true
, withNLS ? true
}:
stdenv.mkDerivation (finalAttrs: {
pname = "apt";
version = "2.7.6";
src = fetchurl {
url = "mirror://debian/pool/main/a/apt/apt_${finalAttrs.version}.tar.xz";
hash = "sha256-hoP1Tv8L9U5R4CWzSL0HdND9Q3eZYW9IUSlWzxXAX2c=";
};
# cycle detection; lib can't be split
outputs = [ "out" "dev" "doc" "man" ];
nativeBuildInputs = [
cmake
gtest
(lib.getBin libxslt)
pkg-config
triehash
];
buildInputs = [
bzip2
curl
db
dpkg
gnutls
libgcrypt
libgpg-error
libseccomp
libtasn1
lz4
p11-kit
perlPackages.perl
udev
xxHash
xz
zstd
] ++ lib.optionals withDocs [
docbook_xml_dtd_45
doxygen
perlPackages.Po4a
w3m
] ++ lib.optionals withNLS [
gettext
];
cmakeFlags = [
(lib.cmakeOptionType "filepath" "BERKELEY_INCLUDE_DIRS" "${lib.getDev db}/include")
(lib.cmakeOptionType "filepath" "DOCBOOK_XSL""${docbook_xsl}/share/xml/docbook-xsl")
(lib.cmakeOptionType "filepath" "GNUTLS_INCLUDE_DIR" "${lib.getDev gnutls}/include")
(lib.cmakeFeature "DROOT_GROUP" "root")
(lib.cmakeBool "USE_NLS" withNLS)
(lib.cmakeBool "WITH_DOC" withDocs)
];
meta = {
homepage = "https://salsa.debian.org/apt-team/apt";
description = "Command-line package management tools used on Debian-based systems";
changelog = "https://salsa.debian.org/apt-team/apt/-/raw/${finalAttrs.version}/debian/changelog";
license = with lib.licenses; [ gpl2Plus ];
mainProgram = "apt";
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.linux;
};
})

View File

@ -2,13 +2,13 @@
buildDotnetModule rec {
pname = "Boogie";
version = "3.0.5";
version = "3.0.6";
src = fetchFromGitHub {
owner = "boogie-org";
repo = "boogie";
rev = "v${version}";
sha256 = "sha256-KciQakwus7cKjtfp5x8nDV7bbTXlzILcL3ivCJAV6Vk=";
sha256 = "sha256-A/nshihI1DxV0mvYYDLPWTNQkuduppxNC7OyWuGNCD8=";
};
projectFile = [ "Source/Boogie.sln" ];

View File

@ -138,6 +138,8 @@ stdenv.mkDerivation (finalAttrs: {
"CFLAGS=-D_FILE_OFFSET_BITS=64"
"CXXFLAGS=-D_FILE_OFFSET_BITS=64"
]
# Workaround missing atomic ops with gcc <13
++ lib.optional stdenv.hostPlatform.isRiscV "LDFLAGS=-latomic"
++ [
"--"
# We should set the proper `CMAKE_SYSTEM_NAME`.

View File

@ -0,0 +1,31 @@
{ lib
, rustPlatform
, fetchFromGitLab
, testers
, commitmsgfmt
}:
rustPlatform.buildRustPackage rec {
pname = "commitmsgfmt";
version = "1.6.0";
src = fetchFromGitLab {
owner = "mkjeldsen";
repo = "commitmsgfmt";
rev = "v${version}";
hash = "sha256-HEkPnTO1HeJg8gpHFSUTkEVBPWJ0OdfUhNn9iGfaDD4=";
};
cargoSha256 = "sha256-jTRB9ogFQGVC4C9xpGxsJYV3cnWydAJLMcjhzUPULTE=";
passthru.tests.version = testers.testVersion {
package = commitmsgfmt;
command = "commitmsgfmt -V";
};
meta = with lib; {
homepage = "https://gitlab.com/mkjeldsen/commitmsgfmt";
changelog = "https://gitlab.com/mkjeldsen/commitmsgfmt/-/raw/v${version}/CHANGELOG.md";
description = "Formats commit messages better than fmt(1) and Vim";
license = licenses.asl20;
maintainers = with maintainers; [ mmlb ];
};
}

View File

@ -0,0 +1,40 @@
{ lib
, python3
, fetchFromGitHub
}:
let
version = "1.6.1";
in
python3.pkgs.buildPythonApplication {
pname = "fangfrisch";
inherit version;
pyproject = true;
src = fetchFromGitHub {
owner = "rseichter";
repo = "fangfrisch";
rev = version;
hash = "sha256-yXXzwN0BI//NqpNNmKIhwFv3hDwNZLl1K81hUD/tCrQ=";
};
nativeBuildInputs = [
python3.pkgs.setuptools
python3.pkgs.wheel
];
propagatedBuildInputs = with python3.pkgs; [
requests
sqlalchemy
];
pythonImportsCheck = [ "fangfrisch" ];
meta = with lib; {
description = "Update and verify unofficial Clam Anti-Virus signatures";
homepage = "https://github.com/rseichter/fangfrisch";
changelog = "https://github.com/rseichter/fangfrisch/blob/${version}/CHANGELOG.rst";
license = licenses.gpl3Only;
maintainers = with maintainers; [ happysalada ];
mainProgram = "fangfrisch";
};
}

View File

@ -0,0 +1,84 @@
{ boost
, cmake
, fetchFromGitHub
, hidapi
, lib
, libsodium
, libusb1
, openssl
, pkg-config
, protobuf
, qrencode
, qt6
, readline
, stdenv
, testers
, tor
, unbound
, zxing-cpp
}:
stdenv.mkDerivation (finalAttrs: {
pname = "feather";
version = "2.5.2";
src = fetchFromGitHub {
owner = "feather-wallet";
repo = "feather";
rev = finalAttrs.version;
hash = "sha256-OSBG2W35GYlViwz5eXokpScrMTtPSaWAgEUNw2urm6w=";
fetchSubmodules = true;
};
nativeBuildInputs = [
cmake
pkg-config
qt6.wrapQtAppsHook
];
buildInputs = [
boost
hidapi
libsodium
libusb1
openssl
protobuf
qrencode
unbound
zxing-cpp
] ++ (with qt6; [
qtbase
qtmultimedia
qtsvg
qttools
qtwayland
qtwebsockets
]);
cmakeFlags = [
"-DProtobuf_INCLUDE_DIR=${lib.getDev protobuf}/include"
"-DProtobuf_PROTOC_EXECUTABLE=${lib.getExe protobuf}"
"-DReadline_INCLUDE_DIR=${lib.getDev readline}/include/readline"
"-DReadline_LIBRARY=${lib.getLib readline}/lib/libreadline.so"
"-DReadline_ROOT_DIR=${lib.getDev readline}"
"-DTOR_DIR=${lib.makeBinPath [ tor ]}"
"-DTOR_VERSION=${tor.version}"
];
passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
command = ''
QT_QPA_PLATFORM=minimal ${finalAttrs.finalPackage.meta.mainProgram} --version
'';
};
meta = with lib; {
description = "A free Monero desktop wallet";
homepage = "https://featherwallet.org/";
changelog = "https://featherwallet.org/changelog/#${finalAttrs.version}%20changelog";
platforms = platforms.linux;
license = licenses.bsd3;
mainProgram = "feather";
maintainers = with maintainers; [ surfaceflinger ];
};
})

View File

@ -0,0 +1,34 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "gosimports";
version = "0.3.8";
src = fetchFromGitHub {
owner = "rinchsan";
repo = "gosimports";
rev = "v${version}";
hash = "sha256-xM1CGW8UB+VHN+2Rm6cF/1bOBVDeUG+6kxUxUcvP7FM=";
};
vendorHash = "sha256-xR1YTwUcJcpe4NXH8sp9bNAWggvcvVJLztD49gQIdMU=";
subPackages = [ "cmd/gosimports" ];
ldflags = [
"-s"
"-w"
"-X main.version=${version}"
];
meta = with lib; {
homepage = "https://github.com/rinchsan/gosimports";
description = "Simpler goimports";
license = licenses.bsd3;
maintainers = with maintainers; [ maolonglong ];
mainProgram = "gosimports";
};
}

View File

@ -0,0 +1,16 @@
{ jazz2
, lib
, runCommandLocal
}:
runCommandLocal "jazz2-content"
{
inherit (jazz2) version src;
meta = (builtins.removeAttrs jazz2.meta ["mainProgram"]) // {
description = "Assets needed for jazz2";
platforms = lib.platforms.all;
};
} ''
cp -r $src/Content $out
''

View File

@ -0,0 +1,55 @@
{ cmake
, fetchFromGitHub
, glfw
, jazz2-content
, lib
, libopenmpt
, libvorbis
, openal
, SDL2
, stdenv
, testers
, zlib
, graphicsLibrary ? "GLFW"
}:
assert lib.assertOneOf "graphicsLibrary" graphicsLibrary [ "SDL2" "GLFW" ];
stdenv.mkDerivation (finalAttrs: {
pname = "jazz2";
version = "2.2.2";
src = fetchFromGitHub {
owner = "deathkiller";
repo = "jazz2-native";
rev = finalAttrs.version;
hash = "sha256-1psMeuMV8GjS+uNlgtCvKpHgV9XW+vjviQTHBPjA4Lc=";
};
patches = [ ./nocontent.patch ];
nativeBuildInputs = [ cmake ];
buildInputs = [ libopenmpt libvorbis openal zlib ]
++ lib.optionals (graphicsLibrary == "GLFW") [ glfw ]
++ lib.optionals (graphicsLibrary == "SDL2") [ SDL2 ];
cmakeFlags = [
"-DLIBOPENMPT_INCLUDE_DIR=${lib.getDev libopenmpt}/include/libopenmpt"
"-DNCINE_DOWNLOAD_DEPENDENCIES=OFF"
"-DNCINE_OVERRIDE_CONTENT_PATH=${jazz2-content}"
] ++ lib.optionals (graphicsLibrary == "GLFW") [
"-DGLFW_INCLUDE_DIR=${glfw}/include/GLFW"
];
passthru.tests.version = testers.testVersion {
package = finalAttrs.finalPackage;
};
meta = with lib; {
description = "Open-source Jazz Jackrabbit 2 reimplementation";
homepage = "https://github.com/deathkiller/jazz2-native";
license = licenses.gpl3Only;
mainProgram = "jazz2";
maintainers = with maintainers; [ surfaceflinger ];
platforms = platforms.linux;
};
})

View File

@ -6,11 +6,11 @@
let
pname = "lunar-client";
version = "3.1.0";
version = "3.1.3";
src = fetchurl {
url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
hash = "sha512-YUddAvsPbuuOvhJZsWDvgF/7yghABU6Av7DcKNX1bKZqE3BzMAAQADJuNuNL4+UydoTaHetXvRO8oJCbrqgtAQ==";
hash = "sha512-VV6UH0mEv+bABljDKZUOZXBjM1Whf2uacUQI8AnyLDBYI7pH0fkdjsBfjhQhFL0p8nHOwPAQflA+8vRFLH/uZw==";
};
appimageContents = appimageTools.extract { inherit pname version src; };
@ -36,6 +36,7 @@ appimageTools.wrapType2 rec {
description = "Free Minecraft client with mods, cosmetics, and performance boost.";
homepage = "https://www.lunarclient.com/";
license = with licenses; [ unfree ];
mainProgram = "lunar-client";
maintainers = with maintainers; [ zyansheep Technical27 surfaceflinger ];
platforms = [ "x86_64-linux" ];
};

View File

@ -5,7 +5,7 @@
}:
python3Packages.buildPythonApplication rec {
pname = "mfgtool-imgtool";
pname = "mcuboot-imgtool";
version = "2.0.0";
pyproject = true;

View File

@ -0,0 +1,28 @@
{ lib
, buildGoModule
, fetchFromGitHub
}:
buildGoModule rec {
pname = "nilaway";
version = "unstable-2023-11-17";
src = fetchFromGitHub {
owner = "uber-go";
repo = "nilaway";
rev = "a267567c6ffff900df0c3394d031ee70079ec8df";
hash = "sha256-Ro1nSTEZcE9u4Ol6CSLBTiPrh72Ly9UcrXyvffzPfow=";
};
vendorHash = "sha256-kbVjkWW5D8jp5QFYGiyRuGFArRsQukJIR8xwaUUIUBs=";
ldflags = [ "-s" "-w" ];
meta = with lib; {
description = "Static Analysis tool to detect potential Nil panics in Go code";
homepage = "https://github.com/uber-go/nilaway";
license = licenses.asl20;
maintainers = with maintainers; [ prit342 jk ];
mainProgram = "nilaway";
};
}

View File

@ -0,0 +1,53 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, protobuf
, zstd
, stdenv
, darwin
}:
rustPlatform.buildRustPackage rec {
pname = "sshx";
version = "unstable-2023-11-04";
src = fetchFromGitHub {
owner = "ekzhang";
repo = "sshx";
rev = "91c82d46cde4d1ffa0ae34e2a9a49911e2e53baa";
hash = "sha256-X9c7ZKIpWI5EsbkgB8FJWlwQQXHAcPjLKp2Bvo0fo/w=";
};
cargoHash = "sha256-mOK5gpPuUKzN5xnJs5nFyslxr9IIHtiCylMP53ObDqg=";
nativeBuildInputs = [
pkg-config
protobuf
];
buildInputs = [
zstd
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
];
env = {
ZSTD_SYS_USE_PKG_CONFIG = true;
};
outputs = [ "out" "server" ];
postInstall = ''
moveToOutput 'bin/sshx' "$out"
moveToOutput 'bin/sshx-server' "$server"
'';
meta = with lib; {
description = "Fast, collaborative live terminal sharing over the web";
homepage = "https://github.com/ekzhang/sshx";
license = licenses.mit;
maintainers = with maintainers; [ pinpox ];
mainProgram = "sshx";
};
}

View File

@ -0,0 +1,27 @@
{
lib,
fetchFromGitHub,
rustPlatform
}:
rustPlatform.buildRustPackage rec {
pname = "tera-cli";
version = "0.2.5";
src = fetchFromGitHub {
owner = "chevdor";
repo = "tera-cli";
rev = "v${version}";
hash = "sha256-W+pcVLxOlikwAGvx0twm23GyCMzdqnHY0YBNtcsSB5I=";
};
cargoHash = "sha256-A01mok8KQk1FV8P7E4svdBCW6xqpduHy1XuUcdDFjfc=";
meta = with lib; {
description = "A command line utility to render templates from json|toml|yaml and ENV, using the tera templating engine";
homepage = "https://github.com/chevdor/tera-cli";
license = licenses.mit;
maintainers = with maintainers; [_365tuwe];
mainProgram = "tera";
platforms = platforms.linux;
};
}

View File

@ -7,11 +7,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "txr";
version = "291";
version = "292";
src = fetchurl {
url = "https://www.kylheku.com/cgit/txr/snapshot/txr-${finalAttrs.version}.tar.bz2";
hash = "sha256-Btk3PanJa6hyoM+hfQq+EhIMaL2edyhfxx96Kpy+aaA=";
hash = "sha256-tFqaQBCYur7b6U6SbthAGp0HVvIrfD63xMObzzI49Og=";
};
buildInputs = [ libffi ];

View File

@ -14,16 +14,16 @@
rustPlatform.buildRustPackage rec {
pname = "uiua";
version = "0.3.0";
version = "0.3.1";
src = fetchFromGitHub {
owner = "uiua-lang";
repo = "uiua";
rev = version;
hash = "sha256-+Hh9vNVWen5ri8+Qy4pzaMrC0Laa1xMlURxEYwo4hSk=";
hash = "sha256-UINjoleubgYV7qsjQyOz+8PXCmLBrXxknIc1OKuPPMU=";
};
cargoHash = "sha256-tLBWbnER5ufK3NQ6mxzqY/dmiwaPKTcPOXS68S6yXf4=";
cargoHash = "sha256-wSa70jBHNPdyf1NHj+jHr8VwGXNw8p/bJRHc8PUE7BU=";
nativeBuildInputs = lib.optionals stdenv.isDarwin [
rustPlatform.bindgenHook

View File

@ -2,11 +2,11 @@
stdenvNoCC.mkDerivation rec {
pname = "spleen";
version = "2.0.0";
version = "2.0.1";
src = fetchurl {
url = "https://github.com/fcambus/spleen/releases/download/${version}/spleen-${version}.tar.gz";
hash = "sha256-d4d4s13UhwG4A9skemrIdZFUzl/Dq9XMC225ikS6Wgw=";
hash = "sha256-N9kJrWaQN9eeNoOVJu9UN2+jcEbHqRWxV+X0DXNJLuA=";
};
nativeBuildInputs = [ xorg.mkfontscale ];

View File

@ -3,12 +3,12 @@
let
generator = pkgsBuildBuild.buildGoModule rec {
pname = "v2ray-domain-list-community";
version = "20231118232758";
version = "20231121082246";
src = fetchFromGitHub {
owner = "v2fly";
repo = "domain-list-community";
rev = version;
hash = "sha256-m4B1O8h6lRxArEyuE4XUF9eJtoBhl59QNXkVjWKx2ko=";
hash = "sha256-wES4u1CYV3oO+KrIePJRhFqyWeiMCvn9lIhCtlaujlg=";
};
vendorHash = "sha256-6167kRAC5m5FlBr7uk+qKUcjWsb45P5Vvovyb6hHSVQ=";
meta = with lib; {

View File

@ -1,26 +1,45 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, kdeclarative
, plasma-framework
, plasma-workspace
, gitUpdater
}:
stdenvNoCC.mkDerivation rec {
pname = "colloid-kde";
version = "unstable-2022-07-13";
version = "unstable-2023-07-04";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = "eaf6844e997aa60c755af7ea560ffba798e72ff5";
hash = "sha256-FNTG5aVvTWHqNVVR23LFG/ykPtXRD7oH5C6eyWaqc60=";
rev = "0b79befdad9b442b5a8287342c4b7e47ff87d555";
hash = "sha256-AYH9fW20/p+mq6lxR1lcCV1BQ/kgcsjHncpMvYWXnWA=";
};
# Propagate sddm theme dependencies to user env otherwise sddm does
# not find them. Putting them in buildInputs is not enough.
propagatedUserEnvPkgs = [
kdeclarative.bin
plasma-framework
plasma-workspace
];
postPatch = ''
patchShebangs install.sh
substituteInPlace install.sh \
--replace '$HOME/.local' $out \
--replace '$HOME/.config' $out/share
substituteInPlace sddm/install.sh \
--replace /usr $out \
--replace '$(cd $(dirname $0) && pwd)' . \
--replace '"$UID" -eq "$ROOT_UID"' true
substituteInPlace sddm/Colloid/Main.qml \
--replace /usr $out
'';
installPhase = ''
@ -31,6 +50,10 @@ stdenvNoCC.mkDerivation rec {
name= HOME="$TMPDIR" \
./install.sh --dest $out/share/themes
mkdir -p $out/share/sddm/themes
cd sddm
source install.sh
runHook postInstall
'';

View File

@ -27,13 +27,13 @@ lib.checkListOfEnum "${pname}: grub screens" [ "1080p" "2k" "4k" ] grubScreens
stdenvNoCC.mkDerivation rec {
inherit pname;
version = "2023-05-17";
version = "unstable-2023-11-22";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
sha256 = "hymOqtwMk6Yja5le6ADZl04yjbOJjhairiH7a4m7gMk=";
rev = "429645480653e2e3b3d003d9afcebf075769db2b";
sha256 = "sha256-2MPAyod4kPlj/eJiYRsS3FJL0pUR+o9W4CSbI6M3350=";
};
nativeBuildInputs = [

View File

@ -1,36 +1,55 @@
{ stdenv
, lib
, fetchFromGitHub
, kdeclarative
, plasma-framework
, plasma-workspace
, gitUpdater
}:
stdenv.mkDerivation rec {
pname = "graphite-kde-theme";
version = "2022-02-08";
version = "unstable-2023-10-25";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
sha256 = "0pnn5s1vfdgkpsy5sc838731ly1imi8pbyd4asibw4zi238l0nvf";
rev = "33cc85c49c424dfcba73e6ee84b0dc7fb9e52566";
hash = "sha256-iQGT2x0wY2EIuYw/a1MB8rT9BxiqWrOyBo6EGIJwsFw=";
};
installPhase = ''
runHook preInstall
# Propagate sddm theme dependencies to user env otherwise sddm does
# not find them. Putting them in buildInputs is not enough.
propagatedUserEnvPkgs = [
kdeclarative.bin
plasma-framework
plasma-workspace
];
postPatch = ''
patchShebangs install.sh
substituteInPlace install.sh \
--replace '$HOME/.local' $out \
--replace '$HOME/.config' $out/share
name= ./install.sh --dest $out/share/themes
substituteInPlace sddm/*/Main.qml \
--replace /usr $out
'';
installPhase = ''
runHook preInstall
name= ./install.sh
mkdir -p $out/share/sddm/themes
cp -a sddm/Graphite $out/share/sddm/themes/
cp -a sddm/Graphite* $out/share/sddm/themes/
runHook postInstall
'';
passthru.updateScript = gitUpdater { };
meta = with lib; {
description = "A flat Design theme for KDE Plasma desktop";
homepage = "https://github.com/vinceliuice/Graphite-kde-theme";

View File

@ -1,26 +1,40 @@
{ stdenv
, lib
, fetchFromGitHub
, kdeclarative
, plasma-framework
, plasma-workspace
, gitUpdater
}:
stdenv.mkDerivation rec {
pname = "layan-kde";
version = "2022-02-13";
version = "unstable-2023-09-30";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
sha256 = "09z90g13l26v23nwr8n5bapwldp3hhdrdikynvm4vvb7qsvb4vrp";
rev = "7ab7cd7461dae8d8d6228d3919efbceea5f4272c";
hash = "sha256-Wh8tZcQEdTTlgtBf4ovapojHcpPBZDDkWOclmxZv9zA=";
};
# Propagate sddm theme dependencies to user env otherwise sddm does
# not find them. Putting them in buildInputs is not enough.
propagatedUserEnvPkgs = [
kdeclarative.bin
plasma-framework
plasma-workspace
];
postPatch = ''
patchShebangs install.sh
substituteInPlace install.sh \
--replace '$HOME/.local' $out \
--replace '$HOME/.config' $out/share
substituteInPlace sddm/*/Main.qml \
--replace /usr $out
'';
installPhase = ''

View File

@ -1,26 +1,40 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, kdeclarative
, plasma-framework
, plasma-workspace
, gitUpdater
}:
stdenvNoCC.mkDerivation rec {
pname = "qogir-kde";
version = "unstable-2022-07-08";
version = "unstable-2023-10-20";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = "f240eae10978c7fee518f7a8be1c41a21a9d5c2e";
hash = "sha256-AV60IQWwgvLwDO3ylILwx1DkKadwo4isn3JX3WpKoxQ=";
rev = "1cfe8da54e6f76d5ce0d2234dcb4f5186431edb3";
hash = "sha256-Ts8cS7dH8RkfRgWvzDKLCC2G6Hsnvx0NAGstfxMIt+Y=";
};
# Propagate sddm theme dependencies to user env otherwise sddm does
# not find them. Putting them in buildInputs is not enough.
propagatedUserEnvPkgs = [
kdeclarative.bin
plasma-framework
plasma-workspace
];
postPatch = ''
patchShebangs install.sh
substituteInPlace install.sh \
--replace '$HOME/.local' $out \
--replace '$HOME/.config' $out/share
substituteInPlace sddm/*/Main.qml \
--replace /usr $out
'';
installPhase = ''

View File

@ -1,20 +1,31 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, kdeclarative
, plasma-framework
, plasma-workspace
, gitUpdater
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "whitesur-kde";
version = "unstable-2023-08-15";
version = "unstable-2023-10-06";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = finalAttrs.pname;
rev = "d50bc20b2b78705bb9856204066affb763fa8a35";
hash = "sha256-oG6QT4VQpBznM+gvzdiY4CldOwdHcBeHlbvlc52eFuU=";
rev = "2b4bcc76168bd8a4a7601188e177fa0ab485cdc8";
hash = "sha256-+Iooj8a7zfLhEWnjLEVoe/ebD9Vew5HZdz0wpWVZxA8=";
};
# Propagate sddm theme dependencies to user env otherwise sddm does
# not find them. Putting them in buildInputs is not enough.
propagatedUserEnvPkgs = [
kdeclarative.bin
plasma-framework
plasma-workspace
];
postPatch = ''
patchShebangs install.sh
@ -22,6 +33,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
--replace '$HOME/.config' $out/share \
--replace '$HOME/.local' $out \
--replace '"$HOME"/.Xresources' $out/doc/.Xresources
substituteInPlace sddm/*/Main.qml \
--replace /usr $out
'';
installPhase = ''

View File

@ -11,9 +11,9 @@
mkXfceDerivation {
category = "apps";
pname = "xfce4-dict";
version = "0.8.5";
version = "0.8.6";
sha256 = "sha256-sU9V2cQUFG5571c7xrVSDCxanAbbnCUg2YLZ2uzoPJ0=";
sha256 = "sha256-a7St9iH+jzwq/llrMJkuqwgQrDFEjqebs/N6Lxa3dkI=";
patches = [ ./configure-gio.patch ];

View File

@ -5,4 +5,5 @@
handy_window = callPackage ./handy-window { };
matrix = callPackage ./matrix { };
olm = callPackage ./olm { };
system_tray = callPackage ./system-tray { };
}

View File

@ -0,0 +1,18 @@
{ libayatana-appindicator
}:
{ ... }:
{ preBuild ? ""
, ...
}:
{
preBuild = preBuild + ''
# $PUB_CACHE/hosted is a symlink to a store path.
mv $PUB_CACHE/hosted $PUB_CACHE/hosted_copy
cp -HR $PUB_CACHE/hosted_copy $PUB_CACHE/hosted
substituteInPlace $PUB_CACHE/hosted/pub.dev/system_tray-*/linux/tray.cc \
--replace "libappindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
'';
}

View File

@ -18,12 +18,12 @@ let
sha256 = "189gjqzdz10xh3ybiy4ch1r98bsmkcb4hpnrmggd4y2g5kqnyx4y";
};
"2.3.8" = {
sha256 = "sha256-QhVxsqyRbli+jrzqXvSr+NeQKGPbah0KXvqVAK3KDSk=";
};
"2.3.9" = {
sha256 = "sha256-fSiakSMgIgKL8BKJAMMr8A5MVDDDLyivBZTIpZKphlQ=";
};
"2.3.10" = {
sha256 = "sha256-NYAzMV0H5MWmyDjufyLPxNSelISOtx7BOJ1JS8Mt0qs=";
};
};
# Collection of pre-built SBCL binaries for platforms that need them for
# bootstrapping. Ideally these are to be avoided. If CLISP (or any other

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