Merge master into haskell-updates
This commit is contained in:
commit
b6b063bdc2
2
.github/CODEOWNERS
vendored
2
.github/CODEOWNERS
vendored
@ -162,7 +162,7 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @NixOS/nix-team @raitobeza
|
||||
|
||||
# C compilers
|
||||
/pkgs/development/compilers/gcc
|
||||
/pkgs/development/compilers/llvm @RossComputerGuy
|
||||
/pkgs/development/compilers/llvm @alyssais @RossComputerGuy
|
||||
/pkgs/development/compilers/emscripten @raitobezarius
|
||||
/doc/languages-frameworks/emscripten.section.md @raitobezarius
|
||||
|
||||
|
3
.mailmap
3
.mailmap
@ -1,6 +1,9 @@
|
||||
ajs124 <git@ajs124.de> <ajs124@users.noreply.github.com>
|
||||
Anderson Torres <torres.anderson.85@protonmail.com>
|
||||
Atemu <git@atemu.net> <atemu.main@gmail.com>
|
||||
Christina Sørensen <christina@cafkafk.com>
|
||||
Christina Sørensen <christina@cafkafk.com> <christinaafk@gmail.com>
|
||||
Christina Sørensen <christina@cafkafk.com> <89321978+cafkafk@users.noreply.github.com>
|
||||
Daniel Løvbrøtte Olsen <me@dandellion.xyz> <daniel.olsen99@gmail.com>
|
||||
Fabian Affolter <mail@fabian-affolter.ch> <fabian@affolter-engineering.ch>
|
||||
goatastronaut0212 <goatastronaut0212@outlook.com> <goatastronaut0212@proton.me>
|
||||
|
@ -23,12 +23,13 @@ The recommended way of defining a derivation for a Coq library, is to use the `c
|
||||
* if it is a string of the form `owner:branch` then it tries to download the `branch` of owner `owner` for a project of the same name using the same vcs, and the `version` attribute of the resulting derivation is set to `"dev"`, additionally if the owner is not provided (i.e. if the `owner:` prefix is missing), it defaults to the original owner of the package (see below),
|
||||
* if it is a string of the form `"#N"`, and the domain is github, then it tries to download the current head of the pull request `#N` from github,
|
||||
* `defaultVersion` (optional). Coq libraries may be compatible with some specific versions of Coq only. The `defaultVersion` attribute is used when no `version` is provided (or if `version = null`) to select the version of the library to use by default, depending on the context. This selection will mainly depend on a `coq` version number but also possibly on other packages versions (e.g. `mathcomp`). If its value ends up to be `null`, the package is marked for removal in end-user `coqPackages` attribute set.
|
||||
* `release` (optional, defaults to `{}`), lists all the known releases of the library and for each of them provides an attribute set with at least a `hash` attribute (you may put the empty string `""` in order to automatically insert a fake hash, this will trigger an error which will allow you to find the correct hash), each attribute set of the list of releases also takes optional overloading arguments for the fetcher as below (i.e.`domain`, `owner`, `repo`, `rev` assuming the default fetcher is used) and optional overrides for the result of the fetcher (i.e. `version` and `src`).
|
||||
* `release` (optional, defaults to `{}`), lists all the known releases of the library and for each of them provides an attribute set with at least a `hash` attribute (you may put the empty string `""` in order to automatically insert a fake hash, this will trigger an error which will allow you to find the correct hash), each attribute set of the list of releases also takes optional overloading arguments for the fetcher as below (i.e.`domain`, `owner`, `repo`, `rev`, `artifact` assuming the default fetcher is used) and optional overrides for the result of the fetcher (i.e. `version` and `src`).
|
||||
* `fetcher` (optional, defaults to a generic fetching mechanism supporting github or gitlab based infrastructures), is a function that takes at least an `owner`, a `repo`, a `rev`, and a `hash` and returns an attribute set with a `version` and `src`.
|
||||
* `repo` (optional, defaults to the value of `pname`),
|
||||
* `owner` (optional, defaults to `"coq-community"`).
|
||||
* `domain` (optional, defaults to `"github.com"`), domains including the strings `"github"` or `"gitlab"` in their names are automatically supported, otherwise, one must change the `fetcher` argument to support them (cf `pkgs/development/coq-modules/heq/default.nix` for an example),
|
||||
* `releaseRev` (optional, defaults to `(v: v)`), provides a default mapping from release names to revision hashes/branch names/tags,
|
||||
* `releaseArtifact` (optional, defaults to `(v: null)`), provides a default mapping from release names to artifact names (only works for github artifact for now),
|
||||
* `displayVersion` (optional), provides a way to alter the computation of `name` from `pname`, by explaining how to display version numbers,
|
||||
* `namePrefix` (optional, defaults to `[ "coq" ]`), provides a way to alter the computation of `name` from `pname`, by explaining which dependencies must occur in `name`,
|
||||
* `nativeBuildInputs` (optional), is a list of executables that are required to build the current derivation, in addition to the default ones (namely `which`, `dune` and `ocaml` depending on whether `useDune`, `useDuneifVersion` and `mlPlugin` are set).
|
||||
|
@ -64,7 +64,7 @@
|
||||
boot.loader.grub.enable = false;
|
||||
fileSystems."/".device = "nodev";
|
||||
# See https://search.nixos.org/options?show=system.stateVersion&query=stateversion
|
||||
system.stateVersion = lib.versions.majorMinor lib.version; # DON'T do this in real configs!
|
||||
system.stateVersion = lib.trivial.release; # DON'T do this in real configs!
|
||||
})
|
||||
];
|
||||
}).config.system.build.toplevel;
|
||||
|
@ -2028,6 +2028,13 @@
|
||||
github = "Atry";
|
||||
githubId = 601530;
|
||||
};
|
||||
attila = {
|
||||
name = "Attila Oláh";
|
||||
email = "attila@dorn.haus";
|
||||
github = "attilaolah";
|
||||
githubId = 196617;
|
||||
keys = [ { fingerprint = "BF2E 4759 74D3 88E0 E30C 9604 07E6 C064 3FD1 42C3"; } ];
|
||||
};
|
||||
auchter = {
|
||||
name = "Michael Auchter";
|
||||
email = "a@phire.org";
|
||||
@ -2514,6 +2521,12 @@
|
||||
githubId = 6145260;
|
||||
keys = [ { fingerprint = "804B 6CB8 AED5 61D9 3DAD 4DC5 E2F2 2C5E DF20 119D"; } ];
|
||||
};
|
||||
benchand = {
|
||||
name = "Ben Chand";
|
||||
email = "BenChand1995@gmail.com";
|
||||
github = "BenChand";
|
||||
githubId = 3618457;
|
||||
};
|
||||
bendlas = {
|
||||
email = "herwig@bendlas.net";
|
||||
matrix = "@bendlas:matrix.org";
|
||||
@ -2661,6 +2674,13 @@
|
||||
githubId = 7346933;
|
||||
name = "betaboon";
|
||||
};
|
||||
beviu = {
|
||||
name = "beviu";
|
||||
email = "nixpkgs@beviu.com";
|
||||
github = "beviu";
|
||||
githubId = 56923875;
|
||||
keys = [ { fingerprint = "30D6 A755 E3C3 5797 CBBB 05B6 CD20 2E66 5CAD 7D06"; } ];
|
||||
};
|
||||
bew = {
|
||||
email = "benoit.dechezelles@gmail.com";
|
||||
github = "bew";
|
||||
@ -11855,6 +11875,12 @@
|
||||
githubId = 13804737;
|
||||
keys = [ { fingerprint = "7FE2 113A A08B 695A C8B8 DDE6 AE53 B4C2 E58E DD45"; } ];
|
||||
};
|
||||
lgbishop = {
|
||||
email = "lachlan.bishop@hotmail.com";
|
||||
github = "lgbishop";
|
||||
githubId = 125634066;
|
||||
name = "Lachlan Bishop";
|
||||
};
|
||||
lgcl = {
|
||||
email = "dev@lgcl.de";
|
||||
name = "Leon Vack";
|
||||
@ -12245,6 +12271,12 @@
|
||||
githubId = 8555953;
|
||||
name = "Laure Tavard";
|
||||
};
|
||||
ltrump = {
|
||||
email = "ltrump@163.com";
|
||||
github = "L-Trump";
|
||||
githubId = 37738631;
|
||||
name = "Luo Chen";
|
||||
};
|
||||
ltstf1re = {
|
||||
email = "ltstf1re@disroot.org";
|
||||
github = "lsf1re";
|
||||
|
@ -199,6 +199,8 @@
|
||||
|
||||
- The `MSMTP_QUEUE` and `MSMTP_LOG` environment variables accepted by `msmtpq` have now been renamed to `MSMTPQ_Q` and `MSMTPQ_LOG` respectively.
|
||||
|
||||
- The logrotate service has received hardening and now requires enabling `allowNetworking`, if logrotate needs to access the network.
|
||||
|
||||
- The fcgiwrap module now allows multiple instances running as distinct users.
|
||||
The option `services.fgciwrap` now takes an attribute set of the
|
||||
configuration of each individual instance.
|
||||
|
@ -150,6 +150,15 @@ in
|
||||
Whether to configure the sd image to expand it's partition on boot.
|
||||
'';
|
||||
};
|
||||
|
||||
nixPathRegistrationFile = mkOption {
|
||||
type = types.str;
|
||||
default = "/nix-path-registration";
|
||||
description = ''
|
||||
Location of the file containing the input for nix-store --load-db once the machine has booted.
|
||||
If overriding fileSystems."/" then you should to set this to the root mount + /nix-path-registration
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
@ -255,11 +264,8 @@ in
|
||||
'';
|
||||
}) {};
|
||||
|
||||
boot.postBootCommands = lib.mkIf config.sdImage.expandOnBoot ''
|
||||
# On the first boot do some maintenance tasks
|
||||
if [ -f /nix-path-registration ]; then
|
||||
set -euo pipefail
|
||||
set -x
|
||||
boot.postBootCommands = let
|
||||
expandOnBoot = lib.optionalString config.sdImage.expandOnBoot ''
|
||||
# Figure out device names for the boot device and root filesystem.
|
||||
rootPart=$(${pkgs.util-linux}/bin/findmnt -n -o SOURCE /)
|
||||
bootDevice=$(lsblk -npo PKNAME $rootPart)
|
||||
@ -269,16 +275,25 @@ in
|
||||
echo ",+," | sfdisk -N$partNum --no-reread $bootDevice
|
||||
${pkgs.parted}/bin/partprobe
|
||||
${pkgs.e2fsprogs}/bin/resize2fs $rootPart
|
||||
'';
|
||||
nixPathRegistrationFile = config.sdImage.nixPathRegistrationFile;
|
||||
in ''
|
||||
# On the first boot do some maintenance tasks
|
||||
if [ -f ${nixPathRegistrationFile} ]; then
|
||||
set -euo pipefail
|
||||
set -x
|
||||
|
||||
${expandOnBoot}
|
||||
|
||||
# Register the contents of the initial Nix store
|
||||
${config.nix.package.out}/bin/nix-store --load-db < /nix-path-registration
|
||||
${config.nix.package.out}/bin/nix-store --load-db < ${nixPathRegistrationFile}
|
||||
|
||||
# nixos-rebuild also requires a "system" profile and an /etc/NIXOS tag.
|
||||
touch /etc/NIXOS
|
||||
${config.nix.package.out}/bin/nix-env -p /nix/var/nix/profiles/system --set /run/current-system
|
||||
|
||||
# Prevents this from running on later boots.
|
||||
rm -f /nix-path-registration
|
||||
rm -f ${nixPathRegistrationFile}
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
@ -118,15 +118,6 @@ in
|
||||
name = user;
|
||||
ensurePermissions = {
|
||||
"*.*" = "SELECT, SHOW VIEW, TRIGGER, LOCK TABLES, EVENT";
|
||||
|
||||
# https://forums.mysql.com/read.php?10,668311,668315#msg-668315
|
||||
"function sys.extract_table_from_file_name" = "execute";
|
||||
"function sys.format_path" = "execute";
|
||||
"function sys.format_statement" = "execute";
|
||||
"function sys.extract_schema_from_file_name" = "execute";
|
||||
"function sys.ps_thread_account" = "execute";
|
||||
"function sys.format_time" = "execute";
|
||||
"function sys.format_bytes" = "execute";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -97,6 +97,8 @@ in
|
||||
defaultText = lib.literalExpression "cfg.settings != {}";
|
||||
};
|
||||
|
||||
allowNetworking = lib.mkEnableOption "network access for logrotate";
|
||||
|
||||
settings = lib.mkOption {
|
||||
default = { };
|
||||
description = ''
|
||||
@ -240,12 +242,55 @@ in
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.services.logrotate = {
|
||||
description = "Logrotate Service";
|
||||
documentation = [
|
||||
"man:logrotate(8)"
|
||||
"man:logrotate(5)"
|
||||
];
|
||||
startAt = "hourly";
|
||||
|
||||
serviceConfig = {
|
||||
Restart = "no";
|
||||
User = "root";
|
||||
ExecStart = "${pkgs.logrotate}/sbin/logrotate ${utils.escapeSystemdExecArgs cfg.extraArgs} ${mailOption} ${cfg.configFile}";
|
||||
Type = "oneshot";
|
||||
ExecStart = "${lib.getExe pkgs.logrotate} ${utils.escapeSystemdExecArgs cfg.extraArgs} ${mailOption} ${cfg.configFile}";
|
||||
|
||||
# performance
|
||||
Nice = 19;
|
||||
IOSchedulingClass = "best-effort";
|
||||
IOSchedulingPriority = 7;
|
||||
|
||||
# hardening
|
||||
CapabilityBoundingSet = [
|
||||
"CAP_CHOWN"
|
||||
"CAP_SETGID"
|
||||
];
|
||||
DevicePolicy = "closed";
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateDevices = true;
|
||||
PrivateTmp = true;
|
||||
ProcSubset = "pid";
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "full";
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallFilter = [
|
||||
"@system-service"
|
||||
"~@privileged @resources"
|
||||
"@chown"
|
||||
];
|
||||
UMask = "0027";
|
||||
} // lib.optionalAttrs (!cfg.allowNetworking) {
|
||||
PrivateNetwork = true;
|
||||
RestrictAddressFamilies = "none";
|
||||
};
|
||||
};
|
||||
systemd.services.logrotate-checkconf = {
|
||||
|
@ -1,18 +1,18 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
inherit (lib) mkOption types;
|
||||
cfg = config.services.nar-serve;
|
||||
in
|
||||
{
|
||||
meta = {
|
||||
maintainers = [ maintainers.rizary maintainers.zimbatm ];
|
||||
maintainers = with lib.maintainers; [ rizary zimbatm ];
|
||||
};
|
||||
options = {
|
||||
services.nar-serve = {
|
||||
enable = mkEnableOption "serving NAR file contents via HTTP";
|
||||
enable = lib.mkEnableOption "serving NAR file contents via HTTP";
|
||||
|
||||
package = mkPackageOption pkgs "nar-serve" { };
|
||||
package = lib.mkPackageOption pkgs "nar-serve" { };
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
@ -48,7 +48,7 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.services.nar-serve = {
|
||||
description = "NAR server";
|
||||
after = [ "network.target" ];
|
||||
|
@ -249,7 +249,7 @@ in
|
||||
};
|
||||
|
||||
host = mkOption {
|
||||
type = with types; nullOr path;
|
||||
type = with types; nullOr str;
|
||||
default = if cfg.settings.database.backend == "postgresql" then "/run/postgresql" else null;
|
||||
defaultText = literalExpression ''
|
||||
if config.services.pretix.settings..database.backend == "postgresql" then "/run/postgresql"
|
||||
|
@ -68,14 +68,10 @@ in
|
||||
assertion = config.system.activationScripts.users == "";
|
||||
message = "system.activationScripts.users has to be empty to use systemd-sysusers";
|
||||
}
|
||||
{
|
||||
assertion = config.users.mutableUsers -> config.system.etc.overlay.enable;
|
||||
message = "config.users.mutableUsers requires config.system.etc.overlay.enable.";
|
||||
}
|
||||
] ++ (lib.mapAttrsToList
|
||||
(_username: opts: {
|
||||
(username: opts: {
|
||||
assertion = !opts.isNormalUser;
|
||||
message = "systemd-sysusers doesn't create normal users. You can currently only use it to create system users.";
|
||||
message = "${username} is a normal user. systemd-sysusers doesn't create normal users, only system users.";
|
||||
})
|
||||
userCfg.users)
|
||||
++ lib.mapAttrsToList
|
||||
|
@ -26,13 +26,6 @@
|
||||
assertion = lib.versionAtLeast config.boot.kernelPackages.kernel.version "6.6";
|
||||
message = "`system.etc.overlay.enable requires a newer kernel, at least version 6.6";
|
||||
}
|
||||
{
|
||||
assertion = config.systemd.sysusers.enable -> (config.users.mutableUsers == config.system.etc.overlay.mutable);
|
||||
message = ''
|
||||
When using systemd-sysusers and mounting `/etc` via an overlay, users
|
||||
can only be mutable when `/etc` is mutable and vice versa.
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "loop" "erofs" "overlay" ];
|
||||
|
@ -49,7 +49,7 @@ let
|
||||
system.nixos.revision = nixpkgs.rev or nixpkgs.shortRev;
|
||||
|
||||
# At creation time we do not have state yet, so just default to latest.
|
||||
system.stateVersion = config.system.nixos.version;
|
||||
system.stateVersion = config.system.nixos.release;
|
||||
};
|
||||
|
||||
makeModules = module: rest: [ configuration versionModule module rest ];
|
||||
|
@ -195,9 +195,7 @@ import ../make-test-python.nix (
|
||||
server.wait_until_succeeds("k3s kubectl get node agent")
|
||||
|
||||
for m in machines:
|
||||
# Fix-Me: Tests fail for 'aarch64-linux' as: "CONFIG_CGROUP_FREEZER: missing (fail)"
|
||||
if not is_aarch64:
|
||||
m.succeed("k3s check-config")
|
||||
m.succeed("k3s check-config")
|
||||
m.succeed(
|
||||
"${pauseImage} | k3s ctr image import -"
|
||||
)
|
||||
|
@ -76,44 +76,40 @@ import ../make-test-python.nix (
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
''
|
||||
start_all()
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
machine.wait_for_unit("k3s")
|
||||
machine.succeed("kubectl cluster-info")
|
||||
machine.fail("sudo -u noprivs kubectl cluster-info")
|
||||
'' # Fix-Me: Tests fail for 'aarch64-linux' as: "CONFIG_CGROUP_FREEZER: missing (fail)"
|
||||
+ lib.optionalString (!pkgs.stdenv.isAarch64) ''machine.succeed("k3s check-config")''
|
||||
+ ''
|
||||
machine.wait_for_unit("k3s")
|
||||
machine.succeed("kubectl cluster-info")
|
||||
machine.fail("sudo -u noprivs kubectl cluster-info")
|
||||
machine.succeed("k3s check-config")
|
||||
machine.succeed(
|
||||
"${pauseImage} | ctr image import -"
|
||||
)
|
||||
|
||||
machine.succeed(
|
||||
"${pauseImage} | ctr image import -"
|
||||
)
|
||||
# Also wait for our service account to show up; it takes a sec
|
||||
machine.wait_until_succeeds("kubectl get serviceaccount default")
|
||||
machine.succeed("kubectl apply -f ${testPodYaml}")
|
||||
machine.succeed("kubectl wait --for 'condition=Ready' pod/test")
|
||||
machine.succeed("kubectl delete -f ${testPodYaml}")
|
||||
|
||||
# Also wait for our service account to show up; it takes a sec
|
||||
machine.wait_until_succeeds("kubectl get serviceaccount default")
|
||||
machine.succeed("kubectl apply -f ${testPodYaml}")
|
||||
machine.succeed("kubectl wait --for 'condition=Ready' pod/test")
|
||||
machine.succeed("kubectl delete -f ${testPodYaml}")
|
||||
# regression test for #176445
|
||||
machine.fail("journalctl -o cat -u k3s.service | grep 'ipset utility not found'")
|
||||
|
||||
# regression test for #176445
|
||||
machine.fail("journalctl -o cat -u k3s.service | grep 'ipset utility not found'")
|
||||
with subtest("Run k3s-killall"):
|
||||
# Call the killall script with a clean path to assert that
|
||||
# all required commands are wrapped
|
||||
output = machine.succeed("PATH= ${k3s}/bin/k3s-killall.sh 2>&1 | tee /dev/stderr")
|
||||
assert "command not found" not in output, "killall script contains unknown command"
|
||||
|
||||
with subtest("Run k3s-killall"):
|
||||
# Call the killall script with a clean path to assert that
|
||||
# all required commands are wrapped
|
||||
output = machine.succeed("PATH= ${k3s}/bin/k3s-killall.sh 2>&1 | tee /dev/stderr")
|
||||
assert "command not found" not in output, "killall script contains unknown command"
|
||||
# Check that killall cleaned up properly
|
||||
machine.fail("systemctl is-active k3s.service")
|
||||
machine.fail("systemctl list-units | grep containerd")
|
||||
machine.fail("ip link show | awk -F': ' '{print $2}' | grep -e flannel -e cni0")
|
||||
machine.fail("ip netns show | grep cni-")
|
||||
|
||||
# Check that killall cleaned up properly
|
||||
machine.fail("systemctl is-active k3s.service")
|
||||
machine.fail("systemctl list-units | grep containerd")
|
||||
machine.fail("ip link show | awk -F': ' '{print $2}' | grep -e flannel -e cni0")
|
||||
machine.fail("ip netns show | grep cni-")
|
||||
|
||||
machine.shutdown()
|
||||
'';
|
||||
machine.shutdown()
|
||||
'';
|
||||
|
||||
meta.maintainers = lib.teams.k3s.members;
|
||||
}
|
||||
|
@ -127,5 +127,7 @@ import ./make-test-python.nix ({ pkgs, ... }: rec {
|
||||
if info["ActiveState"] != "failed":
|
||||
raise Exception('logrotate-checkconf.service was not failed')
|
||||
|
||||
machine.log(machine.execute("systemd-analyze security logrotate.service | grep -v ✓")[1])
|
||||
|
||||
'';
|
||||
})
|
||||
|
@ -1,8 +1,8 @@
|
||||
{
|
||||
system ? builtins.currentSystem,
|
||||
config ? {},
|
||||
config ? { },
|
||||
pkgs ? import ../../.. { inherit system config; },
|
||||
lib ? pkgs.lib
|
||||
lib ? pkgs.lib,
|
||||
}:
|
||||
|
||||
let
|
||||
@ -11,240 +11,263 @@ let
|
||||
makeTest = import ./../make-test-python.nix;
|
||||
|
||||
# Common user configuration
|
||||
makeGaleraTest = {
|
||||
mariadbPackage,
|
||||
name ? mkTestName mariadbPackage,
|
||||
galeraPackage ? pkgs.mariadb-galera
|
||||
}: makeTest {
|
||||
name = "${name}-galera-mariabackup";
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ izorkin ] ++ lib.teams.helsinki-systems.members;
|
||||
makeGaleraTest =
|
||||
{
|
||||
mariadbPackage,
|
||||
name ? mkTestName mariadbPackage,
|
||||
galeraPackage ? pkgs.mariadb-galera,
|
||||
}:
|
||||
makeTest {
|
||||
name = "${name}-galera-mariabackup";
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ izorkin ] ++ lib.teams.helsinki-systems.members;
|
||||
};
|
||||
|
||||
# The test creates a Galera cluster with 3 nodes and is checking if mariabackup-based SST works. The cluster is tested by creating a DB and an empty table on one node,
|
||||
# and checking the table's presence on the other node.
|
||||
nodes =
|
||||
let
|
||||
mkGaleraNode =
|
||||
{
|
||||
id,
|
||||
method,
|
||||
}:
|
||||
let
|
||||
address = "192.168.1.${toString id}";
|
||||
isFirstClusterNode = id == 1 || id == 4;
|
||||
in
|
||||
{
|
||||
users = {
|
||||
users.testuser = {
|
||||
isSystemUser = true;
|
||||
group = "testusers";
|
||||
};
|
||||
groups.testusers = { };
|
||||
};
|
||||
|
||||
networking = {
|
||||
interfaces.eth1 = {
|
||||
ipv4.addresses = [
|
||||
{
|
||||
inherit address;
|
||||
prefixLength = 24;
|
||||
}
|
||||
];
|
||||
ipv6.addresses = lib.mkForce [ ];
|
||||
};
|
||||
extraHosts = lib.concatMapStringsSep "\n" (i: "192.168.1.${toString i} galera_0${toString i}") (
|
||||
lib.range 1 6
|
||||
);
|
||||
firewall.allowedTCPPorts = [
|
||||
3306
|
||||
4444
|
||||
4567
|
||||
4568
|
||||
];
|
||||
firewall.allowedUDPPorts = [ 4567 ];
|
||||
};
|
||||
systemd.services.mysql = with pkgs; {
|
||||
path = with pkgs; [
|
||||
bash
|
||||
gawk
|
||||
gnutar
|
||||
gzip
|
||||
inetutils
|
||||
iproute2
|
||||
netcat
|
||||
procps
|
||||
pv
|
||||
rsync
|
||||
socat
|
||||
stunnel
|
||||
which
|
||||
];
|
||||
};
|
||||
services.mysql = {
|
||||
enable = true;
|
||||
package = mariadbPackage;
|
||||
ensureDatabases = lib.mkIf isFirstClusterNode [ "testdb" ];
|
||||
ensureUsers = lib.mkIf isFirstClusterNode [
|
||||
{
|
||||
name = "testuser";
|
||||
ensurePermissions = {
|
||||
"testdb.*" = "ALL PRIVILEGES";
|
||||
};
|
||||
}
|
||||
];
|
||||
initialScript = lib.mkIf isFirstClusterNode (
|
||||
pkgs.writeText "mariadb-init.sql" ''
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'check_repl'@'localhost' IDENTIFIED BY 'check_pass' WITH GRANT OPTION;
|
||||
FLUSH PRIVILEGES;
|
||||
''
|
||||
);
|
||||
settings = {
|
||||
mysqld = {
|
||||
bind_address = "0.0.0.0";
|
||||
};
|
||||
galera = {
|
||||
wsrep_on = "ON";
|
||||
wsrep_debug = "NONE";
|
||||
wsrep_retry_autocommit = "3";
|
||||
wsrep_provider = "${galeraPackage}/lib/galera/libgalera_smm.so";
|
||||
wsrep_cluster_address =
|
||||
"gcomm://"
|
||||
+ lib.optionalString (id == 2 || id == 3) "galera_01,galera_02,galera_03"
|
||||
+ lib.optionalString (id == 5 || id == 6) "galera_04,galera_05,galera_06";
|
||||
wsrep_cluster_name = "galera";
|
||||
wsrep_node_address = address;
|
||||
wsrep_node_name = "galera_0${toString id}";
|
||||
wsrep_sst_method = method;
|
||||
wsrep_sst_auth = "check_repl:check_pass";
|
||||
binlog_format = "ROW";
|
||||
enforce_storage_engine = "InnoDB";
|
||||
innodb_autoinc_lock_mode = "2";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
galera_01 = mkGaleraNode {
|
||||
id = 1;
|
||||
method = "mariabackup";
|
||||
};
|
||||
|
||||
galera_02 = mkGaleraNode {
|
||||
id = 2;
|
||||
method = "mariabackup";
|
||||
};
|
||||
|
||||
galera_03 = mkGaleraNode {
|
||||
id = 3;
|
||||
method = "mariabackup";
|
||||
};
|
||||
|
||||
galera_04 = mkGaleraNode {
|
||||
id = 4;
|
||||
method = "rsync";
|
||||
};
|
||||
|
||||
galera_05 = mkGaleraNode {
|
||||
id = 5;
|
||||
method = "rsync";
|
||||
};
|
||||
|
||||
galera_06 = mkGaleraNode {
|
||||
id = 6;
|
||||
method = "rsync";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
galera_01.start()
|
||||
galera_01.wait_for_unit("mysql")
|
||||
galera_01.wait_for_open_port(3306)
|
||||
galera_01.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; create table db1 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
|
||||
)
|
||||
galera_01.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; insert into db1 values (37);'"
|
||||
)
|
||||
galera_02.start()
|
||||
galera_02.wait_for_unit("mysql")
|
||||
galera_02.wait_for_open_port(3306)
|
||||
galera_03.start()
|
||||
galera_03.wait_for_unit("mysql")
|
||||
galera_03.wait_for_open_port(3306)
|
||||
galera_02.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 37"
|
||||
)
|
||||
galera_02.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; create table db2 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
|
||||
)
|
||||
galera_02.succeed("systemctl stop mysql")
|
||||
galera_01.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; insert into db2 values (38);'"
|
||||
)
|
||||
galera_03.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; create table db3 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
|
||||
)
|
||||
galera_01.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; insert into db3 values (39);'"
|
||||
)
|
||||
galera_02.succeed("systemctl start mysql")
|
||||
galera_02.wait_for_open_port(3306)
|
||||
galera_02.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_cluster_size.*3'"
|
||||
)
|
||||
galera_03.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_local_state_comment.*Synced'"
|
||||
)
|
||||
galera_01.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db3;' -N | grep 39"
|
||||
)
|
||||
galera_02.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db2;' -N | grep 38"
|
||||
)
|
||||
galera_03.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 37"
|
||||
)
|
||||
galera_01.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db3;'")
|
||||
galera_02.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db2;'")
|
||||
galera_03.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db1;'")
|
||||
galera_01.crash()
|
||||
galera_02.crash()
|
||||
galera_03.crash()
|
||||
|
||||
galera_04.start()
|
||||
galera_04.wait_for_unit("mysql")
|
||||
galera_04.wait_for_open_port(3306)
|
||||
galera_04.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; create table db1 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
|
||||
)
|
||||
galera_04.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; insert into db1 values (41);'"
|
||||
)
|
||||
galera_05.start()
|
||||
galera_05.wait_for_unit("mysql")
|
||||
galera_05.wait_for_open_port(3306)
|
||||
galera_06.start()
|
||||
galera_06.wait_for_unit("mysql")
|
||||
galera_06.wait_for_open_port(3306)
|
||||
galera_05.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 41"
|
||||
)
|
||||
galera_05.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; create table db2 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
|
||||
)
|
||||
galera_05.succeed("systemctl stop mysql")
|
||||
galera_04.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; insert into db2 values (42);'"
|
||||
)
|
||||
galera_06.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; create table db3 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
|
||||
)
|
||||
galera_04.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; insert into db3 values (43);'"
|
||||
)
|
||||
galera_05.succeed("systemctl start mysql")
|
||||
galera_05.wait_for_open_port(3306)
|
||||
galera_05.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_cluster_size.*3'"
|
||||
)
|
||||
galera_06.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_local_state_comment.*Synced'"
|
||||
)
|
||||
galera_04.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db3;' -N | grep 43"
|
||||
)
|
||||
galera_05.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db2;' -N | grep 42"
|
||||
)
|
||||
galera_06.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 41"
|
||||
)
|
||||
galera_04.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db3;'")
|
||||
galera_05.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db2;'")
|
||||
galera_06.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db1;'")
|
||||
'';
|
||||
};
|
||||
|
||||
# The test creates a Galera cluster with 3 nodes and is checking if mariabackup-based SST works. The cluster is tested by creating a DB and an empty table on one node,
|
||||
# and checking the table's presence on the other node.
|
||||
nodes = let
|
||||
mkGaleraNode = {
|
||||
id,
|
||||
method
|
||||
}: let
|
||||
address = "192.168.1.${toString id}";
|
||||
isFirstClusterNode = id == 1 || id == 4;
|
||||
in {
|
||||
users = {
|
||||
users.testuser = {
|
||||
isSystemUser = true;
|
||||
group = "testusers";
|
||||
};
|
||||
groups.testusers = { };
|
||||
};
|
||||
|
||||
networking = {
|
||||
interfaces.eth1 = {
|
||||
ipv4.addresses = [
|
||||
{ inherit address; prefixLength = 24; }
|
||||
];
|
||||
};
|
||||
extraHosts = lib.concatMapStringsSep "\n" (i: "192.168.1.${toString i} galera_0${toString i}") (lib.range 1 6);
|
||||
firewall.allowedTCPPorts = [ 3306 4444 4567 4568 ];
|
||||
firewall.allowedUDPPorts = [ 4567 ];
|
||||
};
|
||||
systemd.services.mysql = with pkgs; {
|
||||
path = with pkgs; [
|
||||
bash
|
||||
gawk
|
||||
gnutar
|
||||
gzip
|
||||
inetutils
|
||||
iproute2
|
||||
netcat
|
||||
procps
|
||||
pv
|
||||
rsync
|
||||
socat
|
||||
stunnel
|
||||
which
|
||||
];
|
||||
};
|
||||
services.mysql = {
|
||||
enable = true;
|
||||
package = mariadbPackage;
|
||||
ensureDatabases = lib.mkIf isFirstClusterNode [ "testdb" ];
|
||||
ensureUsers = lib.mkIf isFirstClusterNode [{
|
||||
name = "testuser";
|
||||
ensurePermissions = {
|
||||
"testdb.*" = "ALL PRIVILEGES";
|
||||
};
|
||||
}];
|
||||
initialScript = lib.mkIf isFirstClusterNode (pkgs.writeText "mariadb-init.sql" ''
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'check_repl'@'localhost' IDENTIFIED BY 'check_pass' WITH GRANT OPTION;
|
||||
FLUSH PRIVILEGES;
|
||||
'');
|
||||
settings = {
|
||||
mysqld = {
|
||||
bind_address = "0.0.0.0";
|
||||
};
|
||||
galera = {
|
||||
wsrep_on = "ON";
|
||||
wsrep_debug = "NONE";
|
||||
wsrep_retry_autocommit = "3";
|
||||
wsrep_provider = "${galeraPackage}/lib/galera/libgalera_smm.so";
|
||||
wsrep_cluster_address = "gcomm://"
|
||||
+ lib.optionalString (id == 2 || id == 3) "galera_01,galera_02,galera_03"
|
||||
+ lib.optionalString (id == 5 || id == 6) "galera_04,galera_05,galera_06";
|
||||
wsrep_cluster_name = "galera";
|
||||
wsrep_node_address = address;
|
||||
wsrep_node_name = "galera_0${toString id}";
|
||||
wsrep_sst_method = method;
|
||||
wsrep_sst_auth = "check_repl:check_pass";
|
||||
binlog_format = "ROW";
|
||||
enforce_storage_engine = "InnoDB";
|
||||
innodb_autoinc_lock_mode = "2";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
in {
|
||||
galera_01 = mkGaleraNode {
|
||||
id = 1;
|
||||
method = "mariabackup";
|
||||
};
|
||||
|
||||
galera_02 = mkGaleraNode {
|
||||
id = 2;
|
||||
method = "mariabackup";
|
||||
};
|
||||
|
||||
galera_03 = mkGaleraNode {
|
||||
id = 3;
|
||||
method = "mariabackup";
|
||||
};
|
||||
|
||||
galera_04 = mkGaleraNode {
|
||||
id = 4;
|
||||
method = "rsync";
|
||||
};
|
||||
|
||||
galera_05 = mkGaleraNode {
|
||||
id = 5;
|
||||
method = "rsync";
|
||||
};
|
||||
|
||||
galera_06 = mkGaleraNode {
|
||||
id = 6;
|
||||
method = "rsync";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
galera_01.start()
|
||||
galera_01.wait_for_unit("mysql")
|
||||
galera_01.wait_for_open_port(3306)
|
||||
galera_01.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; create table db1 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
|
||||
)
|
||||
galera_01.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; insert into db1 values (37);'"
|
||||
)
|
||||
galera_02.start()
|
||||
galera_02.wait_for_unit("mysql")
|
||||
galera_02.wait_for_open_port(3306)
|
||||
galera_03.start()
|
||||
galera_03.wait_for_unit("mysql")
|
||||
galera_03.wait_for_open_port(3306)
|
||||
galera_02.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 37"
|
||||
)
|
||||
galera_02.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; create table db2 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
|
||||
)
|
||||
galera_02.succeed("systemctl stop mysql")
|
||||
galera_01.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; insert into db2 values (38);'"
|
||||
)
|
||||
galera_03.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; create table db3 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
|
||||
)
|
||||
galera_01.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; insert into db3 values (39);'"
|
||||
)
|
||||
galera_02.succeed("systemctl start mysql")
|
||||
galera_02.wait_for_open_port(3306)
|
||||
galera_02.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_cluster_size.*3'"
|
||||
)
|
||||
galera_03.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_local_state_comment.*Synced'"
|
||||
)
|
||||
galera_01.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db3;' -N | grep 39"
|
||||
)
|
||||
galera_02.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db2;' -N | grep 38"
|
||||
)
|
||||
galera_03.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 37"
|
||||
)
|
||||
galera_01.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db3;'")
|
||||
galera_02.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db2;'")
|
||||
galera_03.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db1;'")
|
||||
galera_01.crash()
|
||||
galera_02.crash()
|
||||
galera_03.crash()
|
||||
|
||||
galera_04.start()
|
||||
galera_04.wait_for_unit("mysql")
|
||||
galera_04.wait_for_open_port(3306)
|
||||
galera_04.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; create table db1 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
|
||||
)
|
||||
galera_04.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; insert into db1 values (41);'"
|
||||
)
|
||||
galera_05.start()
|
||||
galera_05.wait_for_unit("mysql")
|
||||
galera_05.wait_for_open_port(3306)
|
||||
galera_06.start()
|
||||
galera_06.wait_for_unit("mysql")
|
||||
galera_06.wait_for_open_port(3306)
|
||||
galera_05.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 41"
|
||||
)
|
||||
galera_05.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; create table db2 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
|
||||
)
|
||||
galera_05.succeed("systemctl stop mysql")
|
||||
galera_04.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; insert into db2 values (42);'"
|
||||
)
|
||||
galera_06.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; create table db3 (test_id INT, PRIMARY KEY (test_id)) ENGINE = InnoDB;'"
|
||||
)
|
||||
galera_04.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; insert into db3 values (43);'"
|
||||
)
|
||||
galera_05.succeed("systemctl start mysql")
|
||||
galera_05.wait_for_open_port(3306)
|
||||
galera_05.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_cluster_size.*3'"
|
||||
)
|
||||
galera_06.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'show status' -N | grep 'wsrep_local_state_comment.*Synced'"
|
||||
)
|
||||
galera_04.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db3;' -N | grep 43"
|
||||
)
|
||||
galera_05.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db2;' -N | grep 42"
|
||||
)
|
||||
galera_06.succeed(
|
||||
"sudo -u testuser mysql -u testuser -e 'use testdb; select test_id from db1;' -N | grep 41"
|
||||
)
|
||||
galera_04.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db3;'")
|
||||
galera_05.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db2;'")
|
||||
galera_06.succeed("sudo -u testuser mysql -u testuser -e 'use testdb; drop table db1;'")
|
||||
'';
|
||||
};
|
||||
in
|
||||
lib.mapAttrs (_: mariadbPackage: makeGaleraTest { inherit mariadbPackage; }) mariadbPackages
|
||||
lib.mapAttrs (_: mariadbPackage: makeGaleraTest { inherit mariadbPackage; }) mariadbPackages
|
||||
|
@ -1,8 +1,8 @@
|
||||
{
|
||||
system ? builtins.currentSystem,
|
||||
config ? {},
|
||||
config ? { },
|
||||
pkgs ? import ../../.. { inherit system config; },
|
||||
lib ? pkgs.lib
|
||||
lib ? pkgs.lib,
|
||||
}:
|
||||
|
||||
let
|
||||
@ -10,44 +10,52 @@ let
|
||||
|
||||
makeTest = import ./../make-test-python.nix;
|
||||
|
||||
makeAutobackupTest = {
|
||||
package,
|
||||
name ? mkTestName package,
|
||||
}: makeTest {
|
||||
name = "${name}-automysqlbackup";
|
||||
meta.maintainers = [ lib.maintainers.aanderse ];
|
||||
makeAutobackupTest =
|
||||
{
|
||||
package,
|
||||
name ? mkTestName package,
|
||||
}:
|
||||
makeTest {
|
||||
name = "${name}-automysqlbackup";
|
||||
meta.maintainers = [ lib.maintainers.aanderse ];
|
||||
|
||||
nodes.machine = {
|
||||
services.mysql = {
|
||||
inherit package;
|
||||
enable = true;
|
||||
initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ];
|
||||
nodes.machine = {
|
||||
services.mysql = {
|
||||
inherit package;
|
||||
enable = true;
|
||||
initialDatabases = [
|
||||
{
|
||||
name = "testdb";
|
||||
schema = ./testdb.sql;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.automysqlbackup.enable = true;
|
||||
automysqlbackup.settings.mysql_dump_port = "";
|
||||
};
|
||||
|
||||
services.automysqlbackup.enable = true;
|
||||
};
|
||||
testScript = ''
|
||||
start_all()
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
# Need to have mysql started so that it can be populated with data.
|
||||
machine.wait_for_unit("mysql.service")
|
||||
|
||||
# Need to have mysql started so that it can be populated with data.
|
||||
machine.wait_for_unit("mysql.service")
|
||||
with subtest("Wait for testdb to be fully populated (5 rows)."):
|
||||
machine.wait_until_succeeds(
|
||||
"mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
|
||||
)
|
||||
|
||||
with subtest("Wait for testdb to be fully populated (5 rows)."):
|
||||
machine.wait_until_succeeds(
|
||||
"mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
|
||||
)
|
||||
with subtest("Do a backup and wait for it to start"):
|
||||
machine.start_job("automysqlbackup.service")
|
||||
machine.wait_for_job("automysqlbackup.service")
|
||||
|
||||
with subtest("Do a backup and wait for it to start"):
|
||||
machine.start_job("automysqlbackup.service")
|
||||
machine.wait_for_job("automysqlbackup.service")
|
||||
|
||||
with subtest("wait for backup file and check that data appears in backup"):
|
||||
machine.wait_for_file("/var/backup/mysql/daily/testdb")
|
||||
machine.succeed(
|
||||
"${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello"
|
||||
)
|
||||
with subtest("wait for backup file and check that data appears in backup"):
|
||||
machine.wait_for_file("/var/backup/mysql/daily/testdb")
|
||||
machine.succeed(
|
||||
"${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello"
|
||||
)
|
||||
'';
|
||||
};
|
||||
};
|
||||
in
|
||||
lib.mapAttrs (_: package: makeAutobackupTest { inherit package; }) mariadbPackages
|
||||
lib.mapAttrs (_: package: makeAutobackupTest { inherit package; }) mariadbPackages
|
||||
|
@ -16,7 +16,7 @@ let
|
||||
|
||||
imports = [ ../modules/profiles/minimal.nix ];
|
||||
|
||||
system.stateVersion = config.system.nixos.version;
|
||||
system.stateVersion = config.system.nixos.release;
|
||||
};
|
||||
|
||||
containerSystem = (import ../lib/eval-config.nix {
|
||||
|
@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "noson";
|
||||
version = "5.6.7";
|
||||
version = "5.6.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "janbar";
|
||||
repo = "noson-app";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-lroQYO+Ab7uPQmsrUFK6uWdCoGQp1klyfLw6eAxdzjg=";
|
||||
hash = "sha256-hCVGi+++6CcTRMXeRKH8xRncm/Gl83GgU3aAIPI/yGU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -29,6 +29,8 @@ lib.packagesFromDirectoryRecursive {
|
||||
|
||||
tree-sitter-langs = callPackage ./manual-packages/tree-sitter-langs { final = self; };
|
||||
|
||||
zstd = callPackage ./manual-packages/zstd { inherit (pkgs) zstd; };
|
||||
|
||||
# From old emacsPackages (pre emacsPackagesNg)
|
||||
cedille = callPackage ./manual-packages/cedille { inherit (pkgs) cedille; };
|
||||
|
||||
|
@ -0,0 +1,37 @@
|
||||
{
|
||||
lib,
|
||||
melpaBuild,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
zstd,
|
||||
}:
|
||||
|
||||
let
|
||||
libExt = stdenv.hostPlatform.extensions.sharedLibrary;
|
||||
in
|
||||
melpaBuild {
|
||||
pname = "zstd";
|
||||
version = "0-unstable-2020-06-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "syohex";
|
||||
repo = "emacs-zstd";
|
||||
rev = "072b264e2cbd5c05be06a1208ebccc2dab44be39";
|
||||
hash = "sha256-p8bxefytTOSV6vIG8PAPBXfVKA2rfmWdRtVwjE42mAw=";
|
||||
};
|
||||
|
||||
buildInputs = [ zstd ];
|
||||
|
||||
preBuild = ''
|
||||
$CC -std=gnu99 -shared -o zstd-core${libExt} zstd-core.c -lzstd
|
||||
'';
|
||||
|
||||
files = ''(:defaults "zstd-core${libExt}")'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/syohex/emacs-zstd";
|
||||
description = "Zstd binding for Emacs Lisp";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ nagy ];
|
||||
};
|
||||
}
|
@ -364,6 +364,13 @@ let
|
||||
|
||||
forge = buildWithGit super.forge;
|
||||
|
||||
gnuplot = super.gnuplot.overrideAttrs (attrs: {
|
||||
postPatch = attrs.postPatch or "" + ''
|
||||
substituteInPlace gnuplot.el \
|
||||
--replace-fail 'gnuplot-program "gnuplot"' 'gnuplot-program "${lib.getExe pkgs.gnuplot}"'
|
||||
'';
|
||||
});
|
||||
|
||||
gnuplot-mode = super.gnuplot-mode.overrideAttrs (attrs: {
|
||||
postPatch = attrs.postPatch or "" + ''
|
||||
substituteInPlace gnuplot-mode.el \
|
||||
|
@ -1,4 +1,13 @@
|
||||
# run tests by building `neovim.tests`
|
||||
/*
|
||||
run tests with `nix-build -A neovim.tests`
|
||||
|
||||
The attrset exposes both the wrapped neovim and the associated test for easier debugging
|
||||
|
||||
Here are some common neovim flags used in the tests:
|
||||
-e runs neovim in `:h Ex-mode` which returns an exit code != 0 when hitting an error
|
||||
-i NONE gets rid of shada warnings
|
||||
|
||||
*/
|
||||
{ vimUtils, writeText, neovim, vimPlugins
|
||||
, neovimUtils, wrapNeovimUnstable
|
||||
, neovim-unwrapped
|
||||
@ -43,7 +52,7 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
nvim-with-luasnip = wrapNeovim2 "-with-lua-packages" (makeNeovimConfig {
|
||||
nvim-with-luasnip = wrapNeovim2 "-with-luasnip" (makeNeovimConfig {
|
||||
plugins = [ {
|
||||
plugin = vimPlugins.luasnip;
|
||||
|
||||
@ -65,15 +74,6 @@ let
|
||||
sha256 = "1ykcvyx82nhdq167kbnpgwkgjib8ii7c92y3427v986n2s5lsskc";
|
||||
};
|
||||
|
||||
# this plugin checks that it's ftplugin/vim.tex is loaded before $VIMRUNTIME/ftplugin/vim.tex
|
||||
# $VIMRUNTIME/ftplugin/vim.tex sources $VIMRUNTIME/ftplugin/initex.vim which sets b:did_ftplugin
|
||||
# we save b:did_ftplugin's value in a `plugin_was_loaded_too_late` file
|
||||
texFtplugin = (pkgs.runCommandLocal "tex-ftplugin" {} ''
|
||||
mkdir -p $out/ftplugin
|
||||
echo 'call system("echo ". exists("b:did_ftplugin") . " > plugin_was_loaded_too_late")' >> $out/ftplugin/tex.vim
|
||||
echo ':q!' >> $out/ftplugin/tex.vim
|
||||
'') // { pname = "test-ftplugin"; };
|
||||
|
||||
# neovim-drv must be a wrapped neovim
|
||||
runTest = neovim-drv: buildCommand:
|
||||
runCommandLocal "test-${neovim-drv.name}" ({
|
||||
@ -81,18 +81,21 @@ let
|
||||
meta.platforms = neovim-drv.meta.platforms;
|
||||
}) (''
|
||||
source ${nmt}/bash-lib/assertions.sh
|
||||
vimrc="${writeText "init.vim" neovim-drv.initRc}"
|
||||
luarc="${writeText "init.lua" neovim-drv.luaRcContent}"
|
||||
vimrc="${writeText "test-${neovim-drv.name}-init.vim" neovim-drv.initRc}"
|
||||
luarc="${writeText "test-${neovim-drv.name}-init.lua" neovim-drv.luaRcContent}"
|
||||
luarcGeneric="$out/patched.lua"
|
||||
vimrcGeneric="$out/patched.vim"
|
||||
mkdir $out
|
||||
export HOME=$TMPDIR
|
||||
${pkgs.perl}/bin/perl -pe "s|\Q$NIX_STORE\E/[a-z0-9]{32}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" < "$vimrc" > "$vimrcGeneric"
|
||||
${pkgs.perl}/bin/perl -pe "s|\Q$NIX_STORE\E/[a-z0-9]{32}-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" < "$luarc" > "$luarcGeneric"
|
||||
'' + buildCommand);
|
||||
|
||||
in
|
||||
pkgs.recurseIntoAttrs (
|
||||
rec {
|
||||
pkgs.recurseIntoAttrs (rec {
|
||||
|
||||
inherit nmt;
|
||||
|
||||
vim_empty_config = vimUtils.vimrcFile { beforePlugins = ""; customRC = ""; };
|
||||
|
||||
### neovim tests
|
||||
@ -138,11 +141,21 @@ rec {
|
||||
};
|
||||
|
||||
run_nvim_with_plug = runTest nvim_with_plug ''
|
||||
export HOME=$TMPDIR
|
||||
${nvim_with_plug}/bin/nvim -i NONE -c 'color base16-tomorrow-night' +quit! -e
|
||||
${nvim_with_plug}/bin/nvim -V3log.txt -i NONE -c 'color base16-tomorrow-night' +quit! -e
|
||||
'';
|
||||
|
||||
nvim_with_ftplugin = neovim.override {
|
||||
nvim_with_ftplugin = let
|
||||
# this plugin checks that it's ftplugin/vim.tex is loaded before $VIMRUNTIME/ftplugin/vim.tex
|
||||
# $VIMRUNTIME/ftplugin/vim.tex sources $VIMRUNTIME/ftplugin/initex.vim which sets b:did_ftplugin
|
||||
# we save b:did_ftplugin's value in a `plugin_was_loaded_too_late` file
|
||||
texFtplugin = (pkgs.runCommandLocal "tex-ftplugin" {} ''
|
||||
mkdir -p $out/ftplugin
|
||||
echo 'call system("echo ". exists("b:did_ftplugin") . " > plugin_was_loaded_too_late")' >> $out/ftplugin/tex.vim
|
||||
echo ':q!' >> $out/ftplugin/tex.vim
|
||||
'') // { pname = "test-ftplugin"; };
|
||||
in
|
||||
|
||||
neovim.override {
|
||||
extraName = "-with-ftplugin";
|
||||
configure.packages.plugins = {
|
||||
start = [
|
||||
@ -154,13 +167,14 @@ rec {
|
||||
# regression test that ftplugin files from plugins are loaded before the ftplugin
|
||||
# files from $VIMRUNTIME
|
||||
run_nvim_with_ftplugin = runTest nvim_with_ftplugin ''
|
||||
export HOME=$TMPDIR
|
||||
echo '\documentclass{article}' > main.tex
|
||||
|
||||
${nvim_with_ftplugin}/bin/nvim main.tex -c "set ft?" -c quit
|
||||
${nvim_with_ftplugin}/bin/nvim -i NONE -V3log.txt main.tex -c "set ft?" -c quit
|
||||
ls -l $TMPDIR
|
||||
# if the file exists, then our plugin has been loaded instead of neovim's
|
||||
[ ! -f plugin_was_loaded_too_late ]
|
||||
# check the saved value b:did_ftplugin then our plugin has been loaded instead of neovim's
|
||||
result="$(cat plugin_was_loaded_too_late)"
|
||||
echo $result
|
||||
[ "$result" = 0 ]
|
||||
'';
|
||||
|
||||
|
||||
@ -191,8 +205,8 @@ rec {
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
checkHelpLuaPackages = runTest nvim_with_gitsigns_plugin ''
|
||||
export HOME=$TMPDIR
|
||||
${nvim_with_gitsigns_plugin}/bin/nvim -i NONE -c 'help gitsigns' +quitall! -e
|
||||
'';
|
||||
|
||||
@ -220,8 +234,8 @@ rec {
|
||||
|
||||
checkAliases = runTest nvim_with_aliases ''
|
||||
folder=${nvim_with_aliases}/bin
|
||||
assertFileExists "$folder/vi"
|
||||
assertFileExists "$folder/vim"
|
||||
assertFileIsExecutable "$folder/vi"
|
||||
assertFileIsExecutable "$folder/vim"
|
||||
'';
|
||||
|
||||
# having no RC generated should autodisable init.vim wrapping
|
||||
@ -247,8 +261,7 @@ rec {
|
||||
});
|
||||
|
||||
nvim_with_lua_packages = runTest nvimWithLuaPackages ''
|
||||
export HOME=$TMPDIR
|
||||
${nvimWithLuaPackages}/bin/nvim -i NONE --noplugin -es
|
||||
${nvimWithLuaPackages}/bin/nvim -V3log.txt -i NONE --noplugin +quitall! -e
|
||||
'';
|
||||
|
||||
# nixpkgs should install optional packages in the opt folder
|
||||
@ -286,7 +299,6 @@ rec {
|
||||
};
|
||||
|
||||
run_nvim_with_opt_plugin = runTest nvim_with_opt_plugin ''
|
||||
export HOME=$TMPDIR
|
||||
${nvim_with_opt_plugin}/bin/nvim -i NONE +quit! -e
|
||||
'';
|
||||
|
||||
@ -296,9 +308,8 @@ rec {
|
||||
# for instance luasnip has a dependency on jsregexp
|
||||
can_require_transitive_deps =
|
||||
runTest nvim-with-luasnip ''
|
||||
export HOME=$TMPDIR
|
||||
cat ${nvim-with-luasnip}/bin/nvim
|
||||
${nvim-with-luasnip}/bin/nvim -i NONE --cmd "lua require'jsregexp'" -e
|
||||
${nvim-with-luasnip}/bin/nvim -i NONE --cmd "lua require'jsregexp'" -e +quitall!
|
||||
'';
|
||||
|
||||
})
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
let
|
||||
pname = "texmacs";
|
||||
version = "2.1.2";
|
||||
version = "2.1.4";
|
||||
common = callPackage ./common.nix {
|
||||
inherit extraFonts chineseFonts japaneseFonts koreanFonts;
|
||||
tex = texliveSmall;
|
||||
@ -32,7 +32,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.texmacs.org/Download/ftp/tmftp/source/TeXmacs-${version}-src.tar.gz";
|
||||
hash = "sha256-Ds9gxOwMYSttEWrawgxLHGxHyMBvt8WmyPIwBP2g/CM=";
|
||||
hash = "sha256-h6aSLuDdrAtVzOnNVPqMEWX9WLDHtkCjPy9JXWnBgYY=";
|
||||
};
|
||||
|
||||
postPatch = common.postPatch + ''
|
||||
|
@ -313,8 +313,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-apollo";
|
||||
publisher = "apollographql";
|
||||
version = "2.2.0";
|
||||
hash = "sha256-9CKm9SLotPlwkAELb7Us/blK959HVt6eXiDp0fgVLmA=";
|
||||
version = "2.3.2";
|
||||
hash = "sha256-5PAmyy4RX2hLgviWxgnxGZjgeFWZaJKNiYGNdCTL0IE=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/apollographql.vscode-apollo/changelog";
|
||||
@ -1234,8 +1234,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "vscode-markdownlint";
|
||||
publisher = "DavidAnson";
|
||||
version = "0.55.0";
|
||||
hash = "sha256-slfHfRPcuRu+649n6kAr2bv9H6J+DvYVN/ysq1QpPQM=";
|
||||
version = "0.56.0";
|
||||
hash = "sha256-ITSpPe032XcGIlfRQtJSR0iNTizs85qwfRaTtKwNn50=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/DavidAnson.vscode-markdownlint/changelog";
|
||||
@ -4073,8 +4073,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "wikitext";
|
||||
publisher = "RoweWilsonFrederiskHolme";
|
||||
version = "3.8.1";
|
||||
hash = "sha256-piwS3SPjx10nsjN5axC+EN0MEDf0r2lVFllqQzciOfc=";
|
||||
version = "3.8.2";
|
||||
hash = "sha256-rWifSoJSN37xPIaCQgPyXRz9tCX2Akahl/3CuqzXq94=";
|
||||
};
|
||||
meta = {
|
||||
description = "Extension that helps users view and write MediaWiki's Wikitext files";
|
||||
@ -4867,8 +4867,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "uiua-vscode";
|
||||
publisher = "uiua-lang";
|
||||
version = "0.0.53";
|
||||
hash = "sha256-5CHAX1jGyJ2VVEBTh5G1JM8+L9paryBa2zJoTkZ+G7Q=";
|
||||
version = "0.0.54";
|
||||
hash = "sha256-oY8z3q4LOLhiTttm9Rtcy/CnhaSHkjyCBjwqYnuNBQA=";
|
||||
};
|
||||
meta = {
|
||||
description = "VSCode language extension for Uiua";
|
||||
|
@ -69,9 +69,9 @@ in rec {
|
||||
|
||||
unstable = fetchurl rec {
|
||||
# NOTE: Don't forget to change the hash for staging as well.
|
||||
version = "9.17";
|
||||
version = "9.18";
|
||||
url = "https://dl.winehq.org/wine/source/9.x/wine-${version}.tar.xz";
|
||||
hash = "sha256-Ptt+tvMbtcP3N43VYj2p2V99TW18g3iv2JyOOjCqCAw=";
|
||||
hash = "sha256-ZSb1IRwIVFO8tkKUbrLOjR1CqKSmgWi/Kg1z8yYS3Rw=";
|
||||
inherit (stable) patches;
|
||||
|
||||
## see http://wiki.winehq.org/Gecko
|
||||
@ -117,7 +117,7 @@ in rec {
|
||||
staging = fetchFromGitLab rec {
|
||||
# https://gitlab.winehq.org/wine/wine-staging
|
||||
inherit (unstable) version;
|
||||
hash = "sha256-ez7P9R5Q7t+FpaU5bVer4n2bt+evgXLJb83gP+zxIAw=";
|
||||
hash = "sha256-m3tuwb6OFcgZ/NATixIH1j3YgrzsREJNpnVbevN/9FY=";
|
||||
domain = "gitlab.winehq.org";
|
||||
owner = "wine";
|
||||
repo = "wine-staging";
|
||||
|
@ -83,44 +83,10 @@ python3Packages.buildPythonPackage rec {
|
||||
];
|
||||
|
||||
nativeCheckInputs = with python3Packages; [
|
||||
nose
|
||||
mock
|
||||
httmock
|
||||
];
|
||||
|
||||
# most tests are failing, presumably because we are not using test.py
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
nosetests $src/hydrus/test \
|
||||
-e TestClientAPI \
|
||||
-e TestClientConstants \
|
||||
-e TestClientDaemons \
|
||||
-e TestClientData \
|
||||
-e TestClientDB \
|
||||
-e TestClientDBDuplicates \
|
||||
-e TestClientDBTags \
|
||||
-e TestClientImageHandling \
|
||||
-e TestClientImportOptions \
|
||||
-e TestClientListBoxes \
|
||||
-e TestClientMigration \
|
||||
-e TestClientNetworking \
|
||||
-e TestClientTags \
|
||||
-e TestClientThreading \
|
||||
-e TestDialogs \
|
||||
-e TestFunctions \
|
||||
-e TestHydrusNetwork \
|
||||
-e TestHydrusNATPunch \
|
||||
-e TestHydrusSerialisable \
|
||||
-e TestHydrusServer \
|
||||
-e TestHydrusSessions \
|
||||
-e TestServer \
|
||||
-e TestClientMetadataMigration \
|
||||
-e TestClientFileStorage \
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
|
||||
installPhase = ''
|
||||
@ -140,6 +106,7 @@ python3Packages.buildPythonPackage rec {
|
||||
mkdir -p $out/bin
|
||||
install -m0755 hydrus_server.py $out/bin/hydrus-server
|
||||
install -m0755 hydrus_client.py $out/bin/hydrus-client
|
||||
install -m0755 hydrus_test.py $out/bin/hydrus-test
|
||||
|
||||
# desktop item
|
||||
mkdir -p "$out/share/icons/hicolor/scalable/apps"
|
||||
@ -154,6 +121,16 @@ python3Packages.buildPythonPackage rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
export QT_QPA_PLATFORM=offscreen
|
||||
export HOME=$(mktemp -d)
|
||||
$out/bin/hydrus-test
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
dontWrapQtApps = true;
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
|
||||
|
@ -9,7 +9,6 @@
|
||||
, qtpositioning ? null # qt6 only
|
||||
, qtserialport
|
||||
, qtsvg
|
||||
, qt5compat ? null # qt6 only
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
@ -18,13 +17,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gpxsee";
|
||||
version = "13.24";
|
||||
version = "13.26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tumic0";
|
||||
repo = "GPXSee";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-qdfNW29SvY0dQy4rS4IDVuYL3h6BByluCecsNSgHbn8=";
|
||||
hash = "sha256-EIeUcSHJXpd1/90fAPrP9F/DVyZhkcZk8MJd9VO1D70=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
@ -33,7 +32,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
qtbase
|
||||
qtpositioning
|
||||
qtsvg
|
||||
qt5compat
|
||||
] else [
|
||||
qtlocation
|
||||
]);
|
||||
|
@ -1,17 +1,17 @@
|
||||
{ lib, mkDerivation, fetchFromGitHub
|
||||
, python3, ruby, qtbase, qtmultimedia, qttools, qtxmlpatterns
|
||||
, which, perl
|
||||
, which, perl, libgit2
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "klayout";
|
||||
version = "0.28.12";
|
||||
version = "0.29.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "KLayout";
|
||||
repo = "klayout";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-QvEoXKJ9sH5WIarYPsYEWwoFwA/pZa2etegA+AD8rPo=";
|
||||
hash = "sha256-gbbes8CPh+Z9wCeQaAaObZjQvBTMe06z8oR12i6e12M=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -31,6 +31,7 @@ mkDerivation rec {
|
||||
qtmultimedia
|
||||
qttools
|
||||
qtxmlpatterns
|
||||
libgit2
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
|
@ -121,10 +121,10 @@ python3.pkgs.buildPythonApplication rec {
|
||||
hunspellDicts.en-us
|
||||
hunspellDicts.es-es
|
||||
hunspellDicts.it-it
|
||||
|
||||
python3.pkgs.nose
|
||||
];
|
||||
|
||||
# Tests have never been enabled, and upstream uses nose as a test
|
||||
# runner (though not as a library).
|
||||
doCheck = false;
|
||||
|
||||
preBuild = ''
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, fetchurl, fetchpatch
|
||||
{ stdenv, lib, fetchpatch
|
||||
, recompressTarball
|
||||
, buildPackages
|
||||
, buildPlatform
|
||||
@ -65,10 +65,6 @@ let
|
||||
python3WithPackages = python3.pythonOnBuildForHost.withPackages(ps: with ps; [
|
||||
ply jinja2 setuptools
|
||||
]);
|
||||
clangFormatPython3 = fetchurl {
|
||||
url = "https://chromium.googlesource.com/chromium/tools/build/+/e77882e0dde52c2ccf33c5570929b75b4a2a2522/recipes/recipe_modules/chromium/resources/clang-format?format=TEXT";
|
||||
hash = "sha256-1BRxXP+0QgejAWdFHJzGrLMhk/MsRDoVdK/GVoyFg0U=";
|
||||
};
|
||||
|
||||
# The additional attributes for creating derivations based on the chromium
|
||||
# source tree.
|
||||
@ -379,9 +375,6 @@ let
|
||||
# Allow to put extensions into the system-path.
|
||||
sed -i -e 's,/usr,/run/current-system/sw,' chrome/common/chrome_paths.cc
|
||||
|
||||
# We need the fix for https://bugs.chromium.org/p/chromium/issues/detail?id=1254408:
|
||||
base64 --decode ${clangFormatPython3} > buildtools/linux64/clang-format
|
||||
|
||||
# Add final newlines to scripts that do not end with one.
|
||||
# This is a temporary workaround until https://github.com/NixOS/nixpkgs/pull/255463 (or similar) has been merged,
|
||||
# as patchShebangs hard-crashes when it encounters files that contain only a shebang and do not end with a final
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "arkade";
|
||||
version = "0.11.24";
|
||||
version = "0.11.26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexellis";
|
||||
repo = "arkade";
|
||||
rev = version;
|
||||
hash = "sha256-9g3SGfJLzn+WIkBGcCwgOaJSuSUSFSU8d/9NZlN0h8E=";
|
||||
hash = "sha256-p3rLQQwuJ/5AUzsQfGA9JSoifYaG4vAE2NaNfTf6/uk=";
|
||||
};
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "helm-diff";
|
||||
version = "3.9.10";
|
||||
version = "3.9.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "databus23";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-umb8f0qCqFVN8K5T441Koyl2pq7VOskDxKCXlqB5UoA=";
|
||||
hash = "sha256-DwZZi7A6/UsKiFJSgMdo/zqlsRFz9RkFy8+s8RTumXg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-pWynrkL/d6TPojeyCJ6RjLNel4qA21UP+jzWnC8DnB8=";
|
||||
vendorHash = "sha256-3TtUpwg8HLHp/fILH5/qBnMKFmBlALOGSSYoEg3s1h0=";
|
||||
|
||||
ldflags = [ "-s" "-w" "-X github.com/databus23/helm-diff/v3/cmd.Version=${version}" ];
|
||||
|
||||
|
@ -1,14 +1,14 @@
|
||||
{
|
||||
rke2Version = "1.31.0-rc1+rke2r1";
|
||||
rke2RepoSha256 = "0mfl01rv6xn2kg2739215j9hsyym16mgp92bqsz0hkpfm61dd96j";
|
||||
rke2Commit = "3acd10e9389fa930860896ca6ed925a15dff61a3";
|
||||
rke2VendorHash = "sha256-/ALzC2fYYI+DbF+2TSNBiMy57T8wfXGPpdyKtbqdrtE=";
|
||||
k8sVersion = "v1.31.0";
|
||||
k8sImageTag = "v1.31.0-rke2r1-build20240815";
|
||||
rke2Version = "1.31.1-rc3+rke2r1";
|
||||
rke2RepoSha256 = "1j09f95d99xk1jbsy08cl1rw5y1ljnrmq3nv1rixlc4hgqwz56pm";
|
||||
rke2Commit = "909d20d6a28cd7656b7177190f06f69f57927613";
|
||||
rke2VendorHash = "sha256-7nWbWi4oJTOWZ5iZr9ptECDJJakPg4qZ7hW+tU7LBsI=";
|
||||
k8sVersion = "v1.31.1";
|
||||
k8sImageTag = "v1.31.1-rke2r1-build20240912";
|
||||
etcdVersion = "v3.5.13-k3s1";
|
||||
pauseVersion = "3.6";
|
||||
ccmVersion = "v1.29.3-build20240515";
|
||||
dockerizedVersion = "v1.31.0-dev.";
|
||||
golangVersion = "go1.22.5";
|
||||
ccmVersion = "v1.31.0-build20240910";
|
||||
dockerizedVersion = "v1.31.1-dev.";
|
||||
golangVersion = "go1.22.6";
|
||||
eol = "2025-10-28";
|
||||
}
|
||||
|
@ -60,8 +60,8 @@ in rec {
|
||||
};
|
||||
|
||||
thunderbird-128 = common {
|
||||
version = "128.1.1esr";
|
||||
sha512 = "91e17d63383b05a7565838c61eda3b642f1bb3b4c43ae78a8810dd6d9ba2e5f10939be17598dd5e87bdf28d6f70ff9e154e54218aaf161bd89a5a6d30b504427";
|
||||
version = "128.2.3esr";
|
||||
sha512 = "f852d1fe6b8d41aa2f0fbc0fceae93cccf1e5f88d9c0447f504de775283289b82b246b79a01e8eb26e9c87197fb33138fb18c75ecc3f5f1bcfefa3920a7c7512";
|
||||
|
||||
updateScript = callPackage ./update.nix {
|
||||
attrPath = "thunderbirdPackages.thunderbird-128";
|
||||
|
@ -33,14 +33,14 @@ let
|
||||
}.${system} or throwSystem;
|
||||
|
||||
hash = {
|
||||
x86_64-linux = "sha256-25FFXrUE1NvIXlOFR9KZyjD3w8xuvPlpqz/KkUTt1TQ=";
|
||||
x86_64-linux = "sha256-l7uu101UcY5AGMh6BzMvXvPMw1tlaX6grus9eL9Kxf8=";
|
||||
}.${system} or throwSystem;
|
||||
|
||||
displayname = "XPipe";
|
||||
|
||||
in stdenvNoCC.mkDerivation rec {
|
||||
pname = "xpipe";
|
||||
version = "11.2";
|
||||
version = "11.3";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/xpipe-io/xpipe/releases/download/${version}/xpipe-portable-linux-${arch}.tar.gz";
|
||||
|
@ -5,7 +5,7 @@
|
||||
# - The exact version can be specified through the `version` argument to
|
||||
# the derivation; it defaults to the latest stable version.
|
||||
|
||||
{ lib, stdenv, fetchzip, writeText, pkg-config, gnumake42
|
||||
{ lib, stdenv, fetchzip, fetchurl, writeText, pkg-config, gnumake42
|
||||
, customOCamlPackages ? null
|
||||
, ocamlPackages_4_05, ocamlPackages_4_09, ocamlPackages_4_10, ocamlPackages_4_12
|
||||
, ocamlPackages_4_14
|
||||
@ -62,7 +62,7 @@ let
|
||||
};
|
||||
releaseRev = v: "V${v}";
|
||||
fetched = import ../../../../build-support/coq/meta-fetch/default.nix
|
||||
{ inherit lib stdenv fetchzip; }
|
||||
{ inherit lib stdenv fetchzip fetchurl; }
|
||||
{ inherit release releaseRev; location = { owner = "coq"; repo = "coq";}; }
|
||||
args.version;
|
||||
version = fetched.version;
|
||||
|
@ -80,7 +80,7 @@ stdenv.mkDerivation rec {
|
||||
# requirements.txt
|
||||
let pp = python.pkgs; in ([
|
||||
pp.numpy pp.scipy pp.scikit-image pp.h5py
|
||||
pp.matplotlib pp.ipython pp.networkx pp.nose
|
||||
pp.matplotlib pp.ipython pp.networkx
|
||||
pp.pandas pp.python-dateutil pp.protobuf pp.gflags
|
||||
pp.pyyaml pp.pillow pp.six
|
||||
] ++ lib.optional leveldbSupport pp.leveldb)
|
||||
|
@ -53,8 +53,8 @@ let versions = callPackage ./versions.nix { };
|
||||
|
||||
matchesDoc = v:
|
||||
builtins.match (if webdoc
|
||||
then ".*[0-9]_LINUX.sh"
|
||||
else ".*[0-9]_BNDL_LINUX.sh") v.src.name != null;
|
||||
then ".*[0-9]_LIN(UX)?.sh"
|
||||
else ".*_B[Nn][Dd][Ll].sh") v.src.name != null;
|
||||
|
||||
in
|
||||
|
||||
@ -71,7 +71,7 @@ callPackage ./generic.nix {
|
||||
homepage = "http://www.wolfram.com/mathematica/";
|
||||
license = licenses.unfree;
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
maintainers = with maintainers; [ herberteuler rafaelrc ];
|
||||
maintainers = with maintainers; [ herberteuler rafaelrc chewblacka ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
||||
|
@ -157,9 +157,15 @@ in stdenv.mkDerivation {
|
||||
|
||||
mkdir -p "$out/lib/udev/rules.d"
|
||||
|
||||
# Patch MathInstaller's shebangs and udev rules dir
|
||||
patchShebangs MathInstaller
|
||||
substituteInPlace MathInstaller \
|
||||
# Set name of installer file
|
||||
if [ -f "MathInstaller" ]; then
|
||||
INSTALLER="MathInstaller"
|
||||
else
|
||||
INSTALLER="WolframInstaller"
|
||||
fi
|
||||
# Patch Installer's shebangs and udev rules dir
|
||||
patchShebangs $INSTALLER
|
||||
substituteInPlace $INSTALLER \
|
||||
--replace /etc/udev/rules.d $out/lib/udev/rules.d
|
||||
|
||||
# Remove PATH restriction, root and avahi daemon checks, and hostname call
|
||||
@ -169,13 +175,13 @@ in stdenv.mkDerivation {
|
||||
s/^\s*checkAvahiDaemon$/:/
|
||||
s/^\s*installBundledInstall$/:/
|
||||
s/`hostname`/""/
|
||||
' MathInstaller
|
||||
' $INSTALLER
|
||||
|
||||
# NOTE: some files placed under HOME may be useful
|
||||
XDG_DATA_HOME="$out/share" HOME="$TMPDIR/home" vernierLink=y \
|
||||
./MathInstaller -execdir="$out/bin" -targetdir="$out/libexec/Mathematica" -auto -verbose -createdir=y
|
||||
./$INSTALLER -execdir="$out/bin" -targetdir="$out/libexec/Mathematica" -auto -verbose -createdir=y
|
||||
|
||||
# Check if MathInstaller produced any errors
|
||||
# Check if Installer produced any errors
|
||||
errLog="$out/libexec/Mathematica/InstallErrors"
|
||||
if [ -f "$errLog" ]; then
|
||||
echo "Installation errors:"
|
||||
|
@ -7,6 +7,20 @@
|
||||
*/
|
||||
|
||||
let versions = [
|
||||
{
|
||||
version = "14.1.0";
|
||||
lang = "en";
|
||||
language = "English";
|
||||
sha256 = "sha256-PCpjwqA6NC+iwvYxddYBlmF5+vl76r+MoIYAL91WFns=";
|
||||
installer = "Wolfram_14.1.0_LIN.sh";
|
||||
}
|
||||
{
|
||||
version = "14.1.0";
|
||||
lang = "en";
|
||||
language = "English";
|
||||
sha256 = "sha256-pnu60Pv3xo3+MAkDLiU3yTPVbbQ00diV45vSVL8B310=";
|
||||
installer = "Wolfram_14.1.0_LIN_Bndl.sh";
|
||||
}
|
||||
{
|
||||
version = "14.0.0";
|
||||
lang = "en";
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "git-town";
|
||||
version = "16.1.1";
|
||||
version = "16.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "git-town";
|
||||
repo = "git-town";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-H4FtFSI/c7UxRLZB8kz873DIN6kLUwmRZtz3+4zaR7w=";
|
||||
hash = "sha256-/60n/JvT7XRfEVic6Jmi05WpsAy4mRsE/GAnetTMC1I=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -14,12 +14,12 @@
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vdr-softhddevice";
|
||||
version = "2.3.7";
|
||||
version = "2.3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ua0lnj";
|
||||
repo = "vdr-plugin-softhddevice";
|
||||
sha256 = "sha256-gn1Z3pw8f0Tpo8Ot0hP9+p/KbK/EGOInE34BCH3aVp0=";
|
||||
sha256 = "sha256-/eNPhkrLpxXeX/5EitMJUgZCPy1Ked3oKuMdD6OuEYc=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "docker-compose";
|
||||
version = "2.29.3";
|
||||
version = "2.29.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "docker";
|
||||
repo = "compose";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-t9NyBW9wUwwMB2VAqRUn8KosQFuqWFwuG4Z6KmHXmXc=";
|
||||
hash = "sha256-6ksZAGVAFnLwPnCXlCtp4cWfxzJRp/bfVkpvp3Z6fiQ=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -16,7 +16,7 @@ buildGoModule rec {
|
||||
rm -rf e2e/
|
||||
'';
|
||||
|
||||
vendorHash = "sha256-hhqNKueE5mJzGbhHqu/Cg9uQJ4v6I8q7+h4MB0MsJww=";
|
||||
vendorHash = "sha256-B2ywdZjp7h7eFYNJ4wXmAdbOxc8ftGqHnLmDvzQASJE=";
|
||||
|
||||
ldflags = [ "-X github.com/docker/compose/v2/internal.Version=${version}" "-s" "-w" ];
|
||||
|
||||
|
@ -205,6 +205,8 @@ rec {
|
||||
at-spi2-core
|
||||
pciutils # for FreeCAD
|
||||
pipewire # immersed-vr wayland support
|
||||
|
||||
libsecret # For bitwarden
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, coqPackages, coq, which, fetchzip }@args:
|
||||
{ lib, stdenv, coqPackages, coq, which, fetchzip, fetchurl }@args:
|
||||
|
||||
let
|
||||
lib = import ./extra-lib.nix {
|
||||
@ -71,7 +71,7 @@ let
|
||||
"extraInstallFlags" "setCOQBIN" "mlPlugin"
|
||||
"dropAttrs" "dropDerivationAttrs" "keepAttrs" ] ++ dropAttrs) keepAttrs;
|
||||
fetch = import ../coq/meta-fetch/default.nix
|
||||
{ inherit lib stdenv fetchzip; } ({
|
||||
{ inherit lib stdenv fetchzip fetchurl; } ({
|
||||
inherit release releaseRev;
|
||||
location = { inherit domain owner repo; };
|
||||
} // optionalAttrs (args?fetcher) {inherit fetcher;});
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchzip }@args:
|
||||
{ lib, stdenv, fetchurl, fetchzip }@args:
|
||||
|
||||
let
|
||||
lib = import ../extra-lib.nix {
|
||||
@ -28,11 +28,16 @@ let
|
||||
|
||||
inherit (lib.strings) match split;
|
||||
|
||||
default-fetcher = {domain ? "github.com", owner ? "", repo, rev, name ? "source", sha256 ? null, ...}@args:
|
||||
let ext = if args?sha256 then "zip" else "tar.gz";
|
||||
fmt = if args?sha256 then "zip" else "tarball";
|
||||
default-fetcher = {domain ? "github.com", owner ? "", repo, rev, name ? "source", sha256 ? null, artifact ? null, ...}@args:
|
||||
let kind = switch-if [
|
||||
{ cond = artifact != null; out = {ext = "tbz"; fmt = "tbz"; fetchfun = fetchurl; }; }
|
||||
{ cond = args?sha256 ; out = {ext = "zip"; fmt = "zip"; fetchfun = fetchzip; }; }
|
||||
] {ext = "tar.gz"; fmt = "tarball"; fetchfun = builtins.fetchTarball; }; in
|
||||
with kind; let
|
||||
pr = match "^#(.*)$" rev;
|
||||
url = switch-if [
|
||||
{ cond = pr == null && (match "^github.*" domain) != null && artifact != null;
|
||||
out = "https://github.com/${owner}/${repo}/releases/download/${rev}/${artifact}"; }
|
||||
{ cond = pr == null && (match "^github.*" domain) != null;
|
||||
out = "https://${domain}/${owner}/${repo}/archive/${rev}.${ext}"; }
|
||||
{ cond = pr != null && (match "^github.*" domain) != null;
|
||||
@ -42,7 +47,7 @@ let
|
||||
{ cond = (match "(www.)?mpi-sws.org" domain) != null;
|
||||
out = "https://www.mpi-sws.org/~${owner}/${repo}/download/${repo}-${rev}.${ext}";}
|
||||
] (throw "meta-fetch: no fetcher found for domain ${domain} on ${rev}");
|
||||
fetch = x: if args?sha256 then fetchzip (x // { inherit sha256; }) else builtins.fetchTarball x;
|
||||
fetch = x: fetchfun (if args?sha256 then (x // { inherit sha256; }) else x);
|
||||
in fetch { inherit url ; };
|
||||
in
|
||||
{
|
||||
@ -50,8 +55,10 @@ in
|
||||
location,
|
||||
release ? {},
|
||||
releaseRev ? (v: v),
|
||||
releaseArtifact ? (v: null)
|
||||
}:
|
||||
let isVersion = x: isString x && match "^/.*" x == null && release?${x};
|
||||
let
|
||||
isVersion = x: isString x && match "^/.*" x == null && release?${x};
|
||||
shortVersion = x: if (isString x && match "^/.*" x == null)
|
||||
then findFirst (v: versions.majorMinor v == x) null
|
||||
(sort versionAtLeast (attrNames release))
|
||||
@ -71,7 +78,7 @@ switch arg [
|
||||
in
|
||||
{
|
||||
version = rv.version or v;
|
||||
src = rv.src or fetcher (location // { rev = releaseRev v; } // rv);
|
||||
src = rv.src or fetcher (location // { rev = releaseRev v; artifact = releaseArtifact v; } // rv);
|
||||
};
|
||||
}
|
||||
{ case = isString;
|
||||
|
@ -13,7 +13,7 @@ def eprint(text: str):
|
||||
|
||||
if not os.path.exists("dub.selections.json"):
|
||||
eprint("The file `dub.selections.json` does not exist in the current working directory")
|
||||
eprint("run `dub upgrade --annotate` to generate it")
|
||||
eprint("run `dub upgrade` to generate it")
|
||||
sys.exit(1)
|
||||
|
||||
with open("dub.selections.json") as f:
|
||||
|
@ -164,7 +164,8 @@ stdenvNoCC.mkDerivation ((
|
||||
# New-style output content requirements.
|
||||
inherit (hash_) outputHashAlgo outputHash;
|
||||
|
||||
SSL_CERT_FILE = if (hash_.outputHash == "" || hash_.outputHash == lib.fakeSha256 || hash_.outputHash == lib.fakeSha512 || hash_.outputHash == lib.fakeHash)
|
||||
# Disable TLS verification only when we know the hash and no credentials are needed to access the ressource
|
||||
SSL_CERT_FILE = if (hash_.outputHash == "" || hash_.outputHash == lib.fakeSha256 || hash_.outputHash == lib.fakeSha512 || hash_.outputHash == lib.fakeHash || netrcPhase != null)
|
||||
then "${cacert}/etc/ssl/certs/ca-bundle.crt"
|
||||
else "/no-cert-file.crt";
|
||||
|
||||
|
@ -94,12 +94,6 @@ let
|
||||
or (if finalAttrs.composerRepository.composerLock == null then nix-update-script { } else null);
|
||||
};
|
||||
|
||||
env = {
|
||||
COMPOSER_CACHE_DIR = "/dev/null";
|
||||
COMPOSER_DISABLE_NETWORK = "1";
|
||||
COMPOSER_MIRROR_PATH_REPOS = "1";
|
||||
};
|
||||
|
||||
meta = previousAttrs.meta or { } // {
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
|
@ -102,13 +102,6 @@ let
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
env = {
|
||||
COMPOSER_CACHE_DIR = "/dev/null";
|
||||
COMPOSER_MIRROR_PATH_REPOS = "1";
|
||||
COMPOSER_HTACCESS_PROTECT = "0";
|
||||
COMPOSER_DISABLE_NETWORK = "0";
|
||||
};
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo =
|
||||
if (finalAttrs ? vendorHash && finalAttrs.vendorHash != "") then null else "sha256";
|
||||
|
@ -149,12 +149,6 @@ let
|
||||
or (if finalAttrs.vendor.composerLock == null then nix-update-script { } else null);
|
||||
};
|
||||
|
||||
env = {
|
||||
COMPOSER_CACHE_DIR = "/dev/null";
|
||||
COMPOSER_DISABLE_NETWORK = "1";
|
||||
COMPOSER_MIRROR_PATH_REPOS = "1";
|
||||
};
|
||||
|
||||
meta = previousAttrs.meta or composer.meta;
|
||||
};
|
||||
in
|
||||
|
@ -24,7 +24,7 @@ composerInstallConfigureHook() {
|
||||
fi
|
||||
|
||||
if [[ ! -f "composer.lock" ]]; then
|
||||
setComposeRootVersion
|
||||
setComposerRootVersion
|
||||
|
||||
composer \
|
||||
--no-install \
|
||||
@ -79,7 +79,7 @@ composerInstallConfigureHook() {
|
||||
composerInstallBuildHook() {
|
||||
echo "Executing composerInstallBuildHook"
|
||||
|
||||
setComposeRootVersion
|
||||
setComposerRootVersion
|
||||
|
||||
# Since this file cannot be generated in the composer-repository-hook.sh
|
||||
# because the file contains hardcoded nix store paths, we generate it here.
|
||||
@ -99,7 +99,8 @@ composerInstallCheckHook() {
|
||||
composerInstallInstallHook() {
|
||||
echo "Executing composerInstallInstallHook"
|
||||
|
||||
setComposeRootVersion
|
||||
setComposerRootVersion
|
||||
setComposerEnvVariables
|
||||
|
||||
# Finally, run `composer install` to install the dependencies and generate
|
||||
# the autoloader.
|
||||
|
@ -20,7 +20,7 @@ composerRepositoryConfigureHook() {
|
||||
fi
|
||||
|
||||
if [[ ! -f "composer.lock" ]]; then
|
||||
setComposeRootVersion
|
||||
setComposerRootVersion
|
||||
|
||||
composer \
|
||||
--no-install \
|
||||
@ -58,7 +58,7 @@ composerRepositoryBuildHook() {
|
||||
|
||||
mkdir -p repository
|
||||
|
||||
setComposeRootVersion
|
||||
setComposerRootVersion
|
||||
|
||||
# Build the local composer repository
|
||||
# The command 'build-local-repo' is provided by the Composer plugin
|
||||
|
@ -28,7 +28,7 @@ composerWithPluginConfigureHook() {
|
||||
cp -ar $src $out/src
|
||||
|
||||
if [[ ! -f "$out/composer.lock" ]]; then
|
||||
setComposeRootVersion
|
||||
setComposerRootVersion
|
||||
|
||||
composer \
|
||||
global \
|
||||
|
@ -2,7 +2,7 @@ declare version
|
||||
declare composerStrictValidation
|
||||
declare composerGlobal
|
||||
|
||||
setComposeRootVersion() {
|
||||
setComposerRootVersion() {
|
||||
set +e # Disable exit on error
|
||||
|
||||
if [[ -v version ]]; then
|
||||
@ -13,8 +13,15 @@ setComposeRootVersion() {
|
||||
set -e
|
||||
}
|
||||
|
||||
setComposerEnvVariables() {
|
||||
echo -e "\e[32mSetting some required environment variables for Composer...\e[0m"
|
||||
export COMPOSER_MIRROR_PATH_REPOS=1
|
||||
export COMPOSER_CACHE_DIR=/dev/null
|
||||
export COMPOSER_HTACCESS_PROTECT=0
|
||||
}
|
||||
|
||||
checkComposerValidate() {
|
||||
setComposeRootVersion
|
||||
setComposerRootVersion
|
||||
|
||||
if [ "1" == "${composerGlobal-}" ]; then
|
||||
global="global";
|
||||
|
@ -94,12 +94,6 @@ let
|
||||
or (if finalAttrs.composerVendor.composerLock == null then nix-update-script { } else null);
|
||||
};
|
||||
|
||||
env = {
|
||||
COMPOSER_CACHE_DIR = "/dev/null";
|
||||
COMPOSER_DISABLE_NETWORK = "1";
|
||||
COMPOSER_MIRROR_PATH_REPOS = "1";
|
||||
};
|
||||
|
||||
meta = previousAttrs.meta or { } // {
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
|
@ -87,13 +87,6 @@ let
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
env = {
|
||||
COMPOSER_CACHE_DIR = "/dev/null";
|
||||
COMPOSER_MIRROR_PATH_REPOS = "1";
|
||||
COMPOSER_HTACCESS_PROTECT = "0";
|
||||
COMPOSER_DISABLE_NETWORK = "0";
|
||||
};
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo =
|
||||
if (finalAttrs ? vendorHash && finalAttrs.vendorHash != "") then null else "sha256";
|
||||
|
@ -14,7 +14,7 @@ source @phpScriptUtils@
|
||||
composerInstallConfigureHook() {
|
||||
echo "Executing composerInstallConfigureHook"
|
||||
|
||||
setComposeRootVersion
|
||||
setComposerRootVersion
|
||||
|
||||
if [[ ! -e "${composerVendor}" ]]; then
|
||||
echo "No local composer vendor found."
|
||||
|
@ -15,7 +15,7 @@ source @phpScriptUtils@
|
||||
composerVendorConfigureHook() {
|
||||
echo "Executing composerVendorConfigureHook"
|
||||
|
||||
setComposeRootVersion
|
||||
setComposerRootVersion
|
||||
|
||||
if [[ -e "$composerLock" ]]; then
|
||||
echo -e "\e[32mUsing user provided \`composer.lock\` file from \`$composerLock\`\e[0m"
|
||||
@ -59,11 +59,13 @@ composerVendorConfigureHook() {
|
||||
composerVendorBuildHook() {
|
||||
echo "Executing composerVendorBuildHook"
|
||||
|
||||
setComposerEnvVariables
|
||||
|
||||
composer \
|
||||
# The acpu-autoloader is not reproducible and has to be disabled.
|
||||
# Upstream PR: https://github.com/composer/composer/pull/12090
|
||||
# --apcu-autoloader \
|
||||
# --apcu-autoloader-prefix="$(jq -r -c 'try ."content-hash"' < composer.lock)" \
|
||||
`# The acpu-autoloader is not reproducible and has to be disabled.` \
|
||||
`# Upstream PR: https://github.com/composer/composer/pull/12090` \
|
||||
`# --apcu-autoloader` \
|
||||
`# --apcu-autoloader-prefix="$(jq -r -c 'try ."content-hash"' < composer.lock)"` \
|
||||
--no-interaction \
|
||||
--no-progress \
|
||||
--optimize-autoloader \
|
||||
|
@ -2,7 +2,7 @@ declare version
|
||||
declare composerStrictValidation
|
||||
declare composerGlobal
|
||||
|
||||
setComposeRootVersion() {
|
||||
setComposerRootVersion() {
|
||||
set +e # Disable exit on error
|
||||
|
||||
if [[ -v version ]]; then
|
||||
@ -13,6 +13,13 @@ setComposeRootVersion() {
|
||||
set -e
|
||||
}
|
||||
|
||||
setComposerEnvVariables() {
|
||||
echo -e "\e[32mSetting some required environment variables for Composer...\e[0m"
|
||||
export COMPOSER_MIRROR_PATH_REPOS=1
|
||||
export COMPOSER_CACHE_DIR=/dev/null
|
||||
export COMPOSER_HTACCESS_PROTECT=0
|
||||
}
|
||||
|
||||
checkComposerValidate() {
|
||||
if [ "1" == "${composerGlobal-}" ]; then
|
||||
global="global";
|
||||
|
56
pkgs/by-name/al/aliae/package.nix
Normal file
56
pkgs/by-name/al/aliae/package.nix
Normal file
@ -0,0 +1,56 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "aliae";
|
||||
version = "0.22.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jandedobbeleer";
|
||||
repo = "aliae";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-slixB7mzEdX3ecgbM6tO9IzVH+1w6DwssD1X3MrwAHw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-U0Mt2U8WxDFDadIxASz609tUtiF4tETobAmYrk29Lh0=";
|
||||
|
||||
sourceRoot = "${src.name}/src";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X main.Version=${version}"
|
||||
];
|
||||
|
||||
tags = [
|
||||
"netgo"
|
||||
"osusergo"
|
||||
];
|
||||
|
||||
postInstall =
|
||||
''
|
||||
mv $out/bin/{src,aliae}
|
||||
''
|
||||
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd aliae \
|
||||
--bash <($out/bin/aliae completion bash) \
|
||||
--fish <($out/bin/aliae completion fish) \
|
||||
--zsh <($out/bin/aliae completion zsh)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Cross shell and platform alias management";
|
||||
mainProgram = "aliae";
|
||||
homepage = "https://aliae.dev";
|
||||
changelog = "https://github.com/JanDeDobbeleer/aliae/releases/tag/v${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ vedantmgoyal9 ];
|
||||
};
|
||||
}
|
@ -7,13 +7,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "ananicy-rules-cachyos";
|
||||
version = "0-unstable-2024-08-26";
|
||||
version = "0-unstable-2024-09-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CachyOS";
|
||||
repo = "ananicy-rules";
|
||||
rev = "a78b76536246898045fd1844aced381d01b7f1c6";
|
||||
hash = "sha256-bDfvWg5r4LmWI8tPrx9qzgEnJuMSYBm6MDf6yOaPqkY=";
|
||||
rev = "1da705ebab9ab44bb933c1275961f963cc4440eb";
|
||||
hash = "sha256-6dVY0sZ09H5vdhfk5nGNjt+KG+Qw62b2YbJQCprXBPQ=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, fetchurl, appimageTools, makeWrapper }:
|
||||
{ lib, fetchurl, appimageTools, makeWrapper, commandLineArgs ? "" }:
|
||||
|
||||
let
|
||||
pname = "anytype";
|
||||
@ -17,7 +17,8 @@ in appimageTools.wrapType2 {
|
||||
extraInstallCommands = ''
|
||||
source "${makeWrapper}/nix-support/setup-hook"
|
||||
wrapProgram $out/bin/${pname} \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
install -m 444 -D ${appimageContents}/anytype.desktop -t $out/share/applications
|
||||
substituteInPlace $out/share/applications/anytype.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
|
@ -5,6 +5,7 @@
|
||||
libspelling,
|
||||
fetchFromGitHub,
|
||||
python3Packages,
|
||||
nodePackages,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
@ -50,7 +51,7 @@ let
|
||||
hash = "sha256-a+J+GasFmRvu5cJ1GLXscoJ+owzFXsLhCbeDbYChkyQ=";
|
||||
};
|
||||
in
|
||||
python3Packages.buildPythonApplication rec {
|
||||
python3Packages.buildPythonApplication {
|
||||
inherit version src;
|
||||
pname = "apostrophe";
|
||||
pyproject = false;
|
||||
@ -62,6 +63,11 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
patchShebangs --build build-aux/meson_post_install.py
|
||||
''
|
||||
# Use mathjax from nixpkgs to avoid loading from CDN
|
||||
+ ''
|
||||
substituteInPlace apostrophe/preview_converter.py \
|
||||
--replace-fail "--mathjax" "--mathjax=file://${nodePackages.mathjax}/lib/node_modules/mathjax/es5/tex-chtml-full.js"
|
||||
''
|
||||
# Should be done in postInstall, but meson checks this eagerly before build
|
||||
+ ''
|
||||
install -d $out/share/apostrophe/libs
|
||||
|
@ -5,16 +5,16 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "astartectl";
|
||||
version = "24.5.0";
|
||||
version = "24.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "astarte-platform";
|
||||
repo = "astartectl";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-4Iyd+1hLSatWyeV2J7RSqo2jVEc8dSp5JBObsn3RciI=";
|
||||
hash = "sha256-T4/lkeipE7GWq1zTxkoV3MfADlduFKtGuB/dsI4YZZw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-NWPLHbUHrk/oJXCOJF8kKhQiZR8aqZChxuz73Acu1cM=";
|
||||
vendorHash = "sha256-kVI1DigDlTvrYLVRUYoW+AAkd31d9EehjRJxrqo8OB4=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
41
pkgs/by-name/au/autologin/package.nix
Normal file
41
pkgs/by-name/au/autologin/package.nix
Normal file
@ -0,0 +1,41 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromSourcehut,
|
||||
meson,
|
||||
ninja,
|
||||
pam,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "autologin";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~kennylevinsen";
|
||||
repo = "autologin";
|
||||
rev = version;
|
||||
hash = "sha256-Cy4v/1NuaiSr5Bl6SQMWk5rga8h1QMBUkHpN6M3bWOc=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
];
|
||||
buildInputs = [ pam ];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Run a command inside of a new PAM user session";
|
||||
homepage = "https://sr.ht/~kennylevinsen/autologin";
|
||||
changelog = "https://git.sr.ht/~kennylevinsen/autologin/refs/${version}";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ beviu ];
|
||||
mainProgram = "autologin";
|
||||
};
|
||||
}
|
@ -6,7 +6,7 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "autosuspend";
|
||||
version = "7.0.0";
|
||||
version = "7.0.1";
|
||||
|
||||
disabled = python3.pythonOlder "3.10";
|
||||
|
||||
@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
owner = "languitar";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-AJ0ZWRxqhBJEics6XnIVWyf7pJI8MphQU4LRqSYYNSQ=";
|
||||
hash = "sha256-Zjo8H5PU6JezrBF0XBHvmePUTNeX74BX4NsHtPozcKs=";
|
||||
};
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
|
30
pkgs/by-name/bi/bitbucket-cli/package.nix
Normal file
30
pkgs/by-name/bi/bitbucket-cli/package.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "bitbucket-cli";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "swisscom";
|
||||
repo = "bitbucket-cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-8Qvlv/S5IkRk+2D/Pnb0+FP7ryHh1kSRJCiUjSO0OtI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-xjCY3Ycz5Ty6jTDHNNUWYp2SP8EPhDiwO7+WJBL3lAQ=";
|
||||
|
||||
# Tests seem to be using Swisscom's live servers.
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Bitbucket Enterprise CLI";
|
||||
homepage = "https://github.com/swisscom/bitbucket-cli";
|
||||
mainProgram = "bitbucket-cli";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ attila ];
|
||||
platforms = with lib.platforms; linux ++ darwin;
|
||||
};
|
||||
}
|
@ -3,7 +3,7 @@
|
||||
, cargo
|
||||
, copyDesktopItems
|
||||
, dbus
|
||||
, electron_31
|
||||
, electron_32
|
||||
, fetchFromGitHub
|
||||
, glib
|
||||
, gnome-keyring
|
||||
@ -26,16 +26,16 @@
|
||||
let
|
||||
description = "Secure and free password manager for all of your devices";
|
||||
icon = "bitwarden";
|
||||
electron = electron_31;
|
||||
electron = electron_32;
|
||||
in buildNpmPackage rec {
|
||||
pname = "bitwarden-desktop";
|
||||
version = "2024.8.2";
|
||||
version = "2024.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitwarden";
|
||||
repo = "clients";
|
||||
rev = "desktop-v${version}";
|
||||
hash = "sha256-KATT4W2pP7VTcoHeshGx5VrBwlg3UqzKPcRY0Rzo7II=";
|
||||
hash = "sha256-o5nRG2j73qheDOyeFfSga64D8HbTn1EUrCiN0W+Xn0w=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -52,7 +52,7 @@ in buildNpmPackage rec {
|
||||
makeCacheWritable = true;
|
||||
npmFlags = [ "--engine-strict" "--legacy-peer-deps" ];
|
||||
npmWorkspace = "apps/desktop";
|
||||
npmDepsHash = "sha256-SnrK26QaxHYKX0532rGBASjx9PwxKSsVFRzZ3Cs2GPk=";
|
||||
npmDepsHash = "sha256-L7/frKCNlq0xr6T+aSqyEQ44yrIXwcpdU/djrhCJNNk=";
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
name = "${pname}-${version}";
|
||||
@ -68,7 +68,7 @@ in buildNpmPackage rec {
|
||||
patches;
|
||||
patchFlags = [ "-p4" ];
|
||||
sourceRoot = "${src.name}/${cargoRoot}";
|
||||
hash = "sha256-MjGKQky6LGtpG1maBWd+WkMZlnZfdl9Sm2dlvdD8ANw=";
|
||||
hash = "sha256-y+6vaESiOeVrFJpZoOJ75onOpldqSsT2kqkMMzTDUmM=";
|
||||
};
|
||||
cargoRoot = "apps/desktop/desktop_native";
|
||||
|
||||
|
287
pkgs/by-name/bo/boilr/0001-update-time.patch
Normal file
287
pkgs/by-name/bo/boilr/0001-update-time.patch
Normal file
@ -0,0 +1,287 @@
|
||||
From 047681f1425c7cd68b77fdd729ea4664f73126b8 Mon Sep 17 00:00:00 2001
|
||||
From: wxt <3264117476@qq.com>
|
||||
Date: Mon, 23 Sep 2024 15:11:09 +0800
|
||||
Subject: [PATCH] update time
|
||||
|
||||
---
|
||||
Cargo.lock | 87 +++++++++++++++++++++++++++++++++++-------------------
|
||||
1 file changed, 56 insertions(+), 31 deletions(-)
|
||||
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index be4fbeb..42f29b8 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -265,7 +265,7 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -282,7 +282,7 @@ checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -467,7 +467,7 @@ checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -809,6 +809,15 @@ dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
+[[package]]
|
||||
+name = "deranged"
|
||||
+version = "0.3.11"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
|
||||
+dependencies = [
|
||||
+ "powerfmt",
|
||||
+]
|
||||
+
|
||||
[[package]]
|
||||
name = "derivative"
|
||||
version = "2.2.0"
|
||||
@@ -1007,7 +1016,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1259,7 +1268,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2002,6 +2011,12 @@ dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
+[[package]]
|
||||
+name = "num-conv"
|
||||
+version = "0.1.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
|
||||
+
|
||||
[[package]]
|
||||
name = "num-integer"
|
||||
version = "0.1.45"
|
||||
@@ -2156,7 +2171,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2308,7 +2323,7 @@ dependencies = [
|
||||
"pest_meta",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2339,7 +2354,7 @@ checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2389,6 +2404,12 @@ dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
+[[package]]
|
||||
+name = "powerfmt"
|
||||
+version = "0.2.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
|
||||
+
|
||||
[[package]]
|
||||
name = "ppv-lite86"
|
||||
version = "0.2.17"
|
||||
@@ -2407,9 +2428,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
-version = "1.0.57"
|
||||
+version = "1.0.86"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "c4ec6d5fe0b140acb27c9a0444118cf55bfbb4e0b259739429abb4521dd67c16"
|
||||
+checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
@@ -2425,9 +2446,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
-version = "1.0.27"
|
||||
+version = "1.0.37"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500"
|
||||
+checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
@@ -2711,22 +2732,22 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
-version = "1.0.163"
|
||||
+version = "1.0.210"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
|
||||
+checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
-version = "1.0.163"
|
||||
+version = "1.0.210"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
|
||||
+checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2748,7 +2769,7 @@ checksum = "bcec881020c684085e55a25f7fd888954d56609ef363479dc5a1305eb0d40cab"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2981,9 +3002,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
-version = "2.0.16"
|
||||
+version = "2.0.77"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01"
|
||||
+checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -3035,7 +3056,7 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3061,11 +3082,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "time"
|
||||
-version = "0.3.21"
|
||||
+version = "0.3.36"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc"
|
||||
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
|
||||
dependencies = [
|
||||
+ "deranged",
|
||||
"itoa",
|
||||
+ "num-conv",
|
||||
+ "powerfmt",
|
||||
"serde",
|
||||
"time-core",
|
||||
"time-macros",
|
||||
@@ -3073,16 +3097,17 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "time-core"
|
||||
-version = "0.1.1"
|
||||
+version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb"
|
||||
+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
|
||||
|
||||
[[package]]
|
||||
name = "time-macros"
|
||||
-version = "0.2.9"
|
||||
+version = "0.2.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b"
|
||||
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
|
||||
dependencies = [
|
||||
+ "num-conv",
|
||||
"time-core",
|
||||
]
|
||||
|
||||
@@ -3153,7 +3178,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3260,7 +3285,7 @@ checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3443,7 +3468,7 @@ dependencies = [
|
||||
"once_cell",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
@@ -3477,7 +3502,7 @@ checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
- "syn 2.0.16",
|
||||
+ "syn 2.0.77",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
--
|
||||
2.46.0
|
||||
|
@ -1,16 +1,17 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, rustPlatform
|
||||
, clangStdenv
|
||||
, gtk3
|
||||
, xorg
|
||||
, perl
|
||||
, openssl
|
||||
, speechd-minimal
|
||||
, libxkbcommon
|
||||
, libGL
|
||||
, wayland
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
clangStdenv,
|
||||
gtk3,
|
||||
xorg,
|
||||
perl,
|
||||
openssl,
|
||||
speechd-minimal,
|
||||
libxkbcommon,
|
||||
libGL,
|
||||
wayland,
|
||||
}:
|
||||
let
|
||||
rpathLibs = [
|
||||
@ -38,11 +39,15 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "PhilipK";
|
||||
repo = "BoilR";
|
||||
rev = "v.${version}";
|
||||
rev = "refs/tags/v.${version}";
|
||||
hash = "sha256-bwCTsoZ/9TeO3wyEcOqxKePnj9glsDXWUBCLd3nVT80=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-nAZU1xVpeRXubotla4I6InGMH4lisPMOnoqaK5mBPCM=";
|
||||
cargoPatches = [
|
||||
./0001-update-time.patch
|
||||
];
|
||||
|
||||
cargoHash = "sha256-09vPP+kNrmk0nN3Bdn9T7QjvuZvJeqQ56lCQIFb+Zrs=";
|
||||
|
||||
nativeBuildInputs = [ perl ];
|
||||
|
||||
@ -57,10 +62,12 @@ rustPlatform.buildRustPackage.override { stdenv = clangStdenv; } rec {
|
||||
dontPatchELF = true;
|
||||
|
||||
meta = {
|
||||
description =
|
||||
"Automatically adds (almost) all your games to your Steam library (including image art)";
|
||||
description = "Automatically adds (almost) all your games to your Steam library (including image art)";
|
||||
homepage = "https://github.com/PhilipK/BoilR";
|
||||
license = with lib.licenses; [ asl20 mit ];
|
||||
license = with lib.licenses; [
|
||||
asl20
|
||||
mit
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ foolnotion ];
|
||||
mainProgram = "boilr";
|
||||
|
@ -6,7 +6,7 @@
|
||||
cargo-shear,
|
||||
}:
|
||||
let
|
||||
version = "1.1.2";
|
||||
version = "1.1.3";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "cargo-shear";
|
||||
@ -16,10 +16,10 @@ rustPlatform.buildRustPackage {
|
||||
owner = "Boshen";
|
||||
repo = "cargo-shear";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-JnQrQBx9VuXI0wj1mMLfl15lxC85f1kUBucgC3Q8F0c=";
|
||||
hash = "sha256-xKO/57yvHSGzjWyDPu1DmI9eeDESyFgMschqK+OLUMs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-iFcW9REkEolrDDbEwoepUSO79OgUdsLUhSkk12y4yxk=";
|
||||
cargoHash = "sha256-lwPD46irkBg+Xg9/d07Q6BPk2rzKYkj3114EiMbbd+U=";
|
||||
|
||||
# https://github.com/Boshen/cargo-shear/blob/a0535415a3ea94c86642f39f343f91af5cdc3829/src/lib.rs#L20-L23
|
||||
SHEAR_VERSION = version;
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "compose2nix";
|
||||
version = "0.2.2";
|
||||
version = "0.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aksiksi";
|
||||
repo = "compose2nix";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-2t4pXTzd5TDpAOzNS8MfnE9p8Rm55OPLaEpSPF4/UbE=";
|
||||
hash = "sha256-qN7MFw6JKBbzwiqURkZ3or/8hT29mRpfITovSHdzDEY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-SwJzyOXE23BLoJ+efFuSIhDTMjirEUmBhGGmgrnKhXw=";
|
||||
vendorHash = "sha256-yGBdsej6DjRMWzS13WyqCLaY5M/N9BrMARAM3oHsc+s=";
|
||||
|
||||
passthru.tests = {
|
||||
version = testers.testVersion {
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "dbeaver-bin";
|
||||
version = "24.2.0";
|
||||
version = "24.2.1";
|
||||
|
||||
src =
|
||||
let
|
||||
@ -30,10 +30,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
aarch64-darwin = "macos-aarch64.dmg";
|
||||
};
|
||||
hash = selectSystem {
|
||||
x86_64-linux = "sha256-N4r2immlH6B6rWluFX9abU5gnavPFY1ZoNtKpzCxwh4=";
|
||||
aarch64-linux = "sha256-oRU+0iMLno1xIVI3NzeJfDrz5CuPlccICM/zpxRvV40=";
|
||||
x86_64-darwin = "sha256-oUUof1HYeULP3qPr9mB69ZU83VuI4hJ09w03fjc+1Y4=";
|
||||
aarch64-darwin = "sha256-JZfj0dgaqEndzyLgBwFrFebWxz7O/53qA9aTeOEWvLE=";
|
||||
x86_64-linux = "sha256-U1KJxE1PzRRMvYw3jSYV2n6JuhzyL30le1HeY0kft1k=";
|
||||
aarch64-linux = "sha256-AT/Xx+Hwu64sUfR1fS9nI+RTsIfdi9udF9TR9hbjnxg=";
|
||||
x86_64-darwin = "sha256-hCIfBv6FaNoZiTvpx1UCdwBg15vq+ZsTG5upmbWXN0M=";
|
||||
aarch64-darwin = "sha256-g0G6fqR75AoOEzlYr6MbTBL8aQ/hWQuFyw1G2w9/JlU=";
|
||||
};
|
||||
in
|
||||
fetchurl {
|
||||
|
@ -6,11 +6,11 @@
|
||||
}:
|
||||
appimageTools.wrapType2 rec {
|
||||
pname = "dopamine";
|
||||
version = "3.0.0-preview.33";
|
||||
version = "3.0.0-preview.34";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/digimezzo/dopamine/releases/download/v${version}/Dopamine-${version}.AppImage";
|
||||
hash = "sha256-W8XkXnsP0AqYV0wznKe1dbPm2VuhoZWl03G7hib/uxE=";
|
||||
hash = "sha256-K4dDYYzo2oMAZvlb25cQuh1G187efSyJfAA6jdCKaT0=";
|
||||
};
|
||||
|
||||
extraInstallCommands =
|
||||
|
51
pkgs/by-name/ea/easytier/package.nix
Normal file
51
pkgs/by-name/ea/easytier/package.nix
Normal file
@ -0,0 +1,51 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
protobuf,
|
||||
nix-update-script,
|
||||
darwin,
|
||||
withQuic ? false, # with QUIC protocol support
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "easytier";
|
||||
version = "1.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EasyTier";
|
||||
repo = "EasyTier";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-7T6xdJrVTgg7rSTC2PaVTsBTgi14qJzaR6M8tRUL8OQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-9wAGUVYKz7+Q8y+dmay8pEZnv7PikzuAoas/h5T3sLE=";
|
||||
|
||||
nativeBuildInputs = [ protobuf ];
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
];
|
||||
|
||||
buildNoDefaultFeatures = stdenv.isMips;
|
||||
buildFeatures = lib.optional stdenv.isMips "mips" ++ lib.optional withQuic "quic";
|
||||
|
||||
doCheck = false; # tests failed due to heavy rely on network
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/EasyTier/EasyTier";
|
||||
changelog = "https://github.com/EasyTier/EasyTier/releases/tag/v${version}";
|
||||
description = "Simple, decentralized mesh VPN with WireGuard support";
|
||||
longDescription = ''
|
||||
EasyTier is a simple, safe and decentralized VPN networking solution implemented
|
||||
with the Rust language and Tokio framework.
|
||||
'';
|
||||
mainProgram = "easytier-core";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = with lib.platforms; unix ++ windows;
|
||||
maintainers = with lib.maintainers; [ ltrump ];
|
||||
};
|
||||
}
|
@ -13,13 +13,13 @@
|
||||
|
||||
let
|
||||
pname = "firefly-iii-data-importer";
|
||||
version = "1.5.5";
|
||||
version = "1.5.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firefly-iii";
|
||||
repo = "data-importer";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-nAeLXxUwaw/wHYh3NywI4/mFi82i/2b3McFfCFGAIjE=";
|
||||
hash = "sha256-IIlcOGulcBJsYz7Yx3YWV/c6yvb8+82AvFghQ05dUcI=";
|
||||
};
|
||||
in
|
||||
|
||||
@ -42,12 +42,12 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
composerStrictValidation = true;
|
||||
strictDeps = true;
|
||||
|
||||
vendorHash = "sha256-yLu/FMKn/uUy5g6td3mfPAb9ptjJne4vd478fjaS9U0=";
|
||||
vendorHash = "sha256-j1rCcHt5E1aFwgnOKZZccaGPs5JfpBtN05edeSvId94=";
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
inherit src;
|
||||
name = "${pname}-npm-deps";
|
||||
hash = "sha256-35mS+0Ea69CAwV9liTU3lcKp3ww3qLbTRWlF0AQNx5w=";
|
||||
hash = "sha256-mdBQubfV5Bgk9NxsWokTS6zA4r3gggWVSwhrfKPUi5s=";
|
||||
};
|
||||
|
||||
composerRepository = php83.mkComposerRepository {
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "flexget";
|
||||
version = "3.11.45";
|
||||
version = "3.11.46";
|
||||
pyproject = true;
|
||||
|
||||
# Fetch from GitHub in order to use `requirements.in`
|
||||
@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
owner = "Flexget";
|
||||
repo = "Flexget";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-QtxtkXKBYf46cS+TAxJGQNQktHpLgGDIf7Czfznzr1s=";
|
||||
hash = "sha256-zaysfvfsuA4XTj46vN1FHggqEaL8rfHL0UJVILhrwjg=";
|
||||
};
|
||||
|
||||
# relax dep constrains, keep environment constraints
|
||||
|
@ -10,15 +10,15 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "gitlab-ci-ls";
|
||||
version = "0.21.1";
|
||||
version = "0.21.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "alesbrelih";
|
||||
repo = "gitlab-ci-ls";
|
||||
rev = "${version}";
|
||||
hash = "sha256-0aVwI+E/UmYDSQDArQZsaNc0jDXXOG/zDr/5o0I1aLw=";
|
||||
hash = "sha256-wkL6ko43oWrpyscEpCMuoFamDMJk9+xI3qYOs+DgI8g=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-rZXIc9O+pIdR/M8kV7judiHTCwnKcX+7P1LWEqZLeD8=";
|
||||
cargoHash = "sha256-H/p29QbCaZRa81g+5eUsG47tUJPVgB1J9zZYY5/n5Vk=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs =
|
||||
|
@ -258,11 +258,11 @@ let
|
||||
|
||||
darwin = stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
inherit pname meta passthru;
|
||||
version = "128.0.6613.138";
|
||||
version = "129.0.6668.59";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dl.google.com/release2/chrome/gtm24cqmnwgcp7dtscvlmsbrwa_128.0.6613.138/GoogleChrome-128.0.6613.138.dmg";
|
||||
hash = "sha256-wd6n3AeKxKdz+5X9XxTi1QHzmByzKRgIWcc3iBHhtZs=";
|
||||
url = "http://dl.google.com/release2/chrome/acinjqjzbtmzhvrebvzymzvzfaoq_129.0.6668.59/GoogleChrome-129.0.6668.59.dmg";
|
||||
hash = "sha256-02J3TpcAsCvsB71C8/bfgIxiqcGIxjKiTWR32On66+g=";
|
||||
};
|
||||
|
||||
dontPatch = true;
|
||||
|
@ -10,7 +10,7 @@ get_version_info() {
|
||||
local start_pattern="$2"
|
||||
local end_pattern="$3"
|
||||
|
||||
local url="https://versionhistory.googleapis.com/v1/chrome/platforms/${platform}/channels/stable/versions/all/releases"
|
||||
local url="https://versionhistory.googleapis.com/v1/chrome/platforms/${platform}/channels/stable/versions/all/releases?filter=endtime=none,fraction>=0.5&order_by=version%20desc"
|
||||
local response
|
||||
local version
|
||||
local current_version
|
||||
|
1288
pkgs/by-name/ha/halloy/Cargo.lock
generated
1288
pkgs/by-name/ha/halloy/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -13,25 +13,26 @@
|
||||
vulkan-loader,
|
||||
wayland,
|
||||
xorg,
|
||||
alsa-lib,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "halloy";
|
||||
version = "2024.8";
|
||||
version = "2024.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "squidowl";
|
||||
repo = "halloy";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-OxxXjenZjP+3KrkxyXYxOXRFmrYm3deeiCuGrhpnF2I=";
|
||||
hash = "sha256-kmdsC0SQoL5gppzBhnF0LfOFj14zeI3C6SdCBiVoKj0=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"dpi-0.1.1" = "sha256-25sOvEBhlIaekTeWvy3UhjPI1xrJbOQvw/OkTg12kQY=";
|
||||
"glyphon-0.5.0" = "sha256-+z2my51aUeK9txLZKVAyQcWJ6f2YDY1mjxfc8Xsqi8E=";
|
||||
"iced-0.13.0-dev" = "sha256-eHlauEZibbuqK5mdkNP6gsy1z9qxqEDn/xfFw7W5TcY=";
|
||||
"glyphon-0.5.0" = "sha256-OGXLqiMjaZ7gR5ANkuCgkfn/I7c/4h9SRE6MZZMW3m4=";
|
||||
"iced-0.13.0-dev" = "sha256-XQUaI16lGEMGFxqK3UNd8jQfUiBzomxlT/I+yeZncFo=";
|
||||
};
|
||||
};
|
||||
|
||||
@ -43,6 +44,7 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
alsa-lib
|
||||
libxkbcommon
|
||||
openssl
|
||||
vulkan-loader
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ignite-cli";
|
||||
version = "28.5.2";
|
||||
version = "28.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "cli";
|
||||
owner = "ignite";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-RaK8NooOYYuk8RhxeeU9mB9PNSgWJ9nOxxcpi87YQQ0=";
|
||||
hash = "sha256-ziuzSV7LjRgR1wNE1QD+OszIeXiip7pPU4/BD8fhV5s=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-u/EwT43K7Tu7ns0NIWkRl7OiQuP37zz4ERUwCLXY1TE=";
|
||||
vendorHash = "sha256-5Z5AuZtPwfENKp8wMYfRqmnkX4W4fWTjWulT5uNusPo=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
|
32
pkgs/by-name/im/imgpkg/package.nix
Normal file
32
pkgs/by-name/im/imgpkg/package.nix
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "imgpkg";
|
||||
version = "0.43.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "carvel-dev";
|
||||
repo = "imgpkg";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-RjTVJjuzjNTZrg1VZ4NrDf1SZmS+CGzofYTBQEZNIag=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
subPackages = [ "cmd/imgpkg" ];
|
||||
|
||||
CGO_ENABLED = "0";
|
||||
ldflags = [ "-X=carvel.dev/imgpkg/pkg/imgpkg/cmd.Version=${version}" ];
|
||||
|
||||
meta = {
|
||||
description = "Store application configuration files in Docker/OCI registries";
|
||||
homepage = "https://carvel.dev/imgpkg";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ benchand ];
|
||||
mainProgram = "imgpkg";
|
||||
};
|
||||
}
|
@ -53,13 +53,13 @@ let
|
||||
in
|
||||
effectiveStdenv.mkDerivation (finalAttrs: {
|
||||
pname = "koboldcpp";
|
||||
version = "1.74";
|
||||
version = "1.75.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LostRuins";
|
||||
repo = "koboldcpp";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-tGG1+EGlCUmFpx/axijonOXydurwFxqjuoeDwHxC+pc=";
|
||||
hash = "sha256-olMlYzde97RSx0OmDULSOFlM3imUq3AVxQdXyYBPd3Q=";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -7,12 +7,12 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "latexminted";
|
||||
version = "0.1.0b9";
|
||||
version = "0.1.0b16";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-QUFfoX1jv5pVQDEBGaVd1madfqbTWTJyXPh4gw7P5UE=";
|
||||
hash = "sha256-9iUxoJIctp5IPEaEHqw0AwgcEkxlEyPTZhRkpXSjSIA=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
@ -22,6 +22,7 @@ python3Packages.buildPythonApplication rec {
|
||||
dependencies = with python3Packages; [
|
||||
pygments
|
||||
latex2pydata
|
||||
latexrestricted
|
||||
];
|
||||
|
||||
passthru = {
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
let
|
||||
pname = "lefthook";
|
||||
version = "1.7.15";
|
||||
version = "1.7.16";
|
||||
in
|
||||
buildGoModule {
|
||||
inherit pname version;
|
||||
@ -15,7 +15,7 @@ buildGoModule {
|
||||
owner = "evilmartians";
|
||||
repo = "lefthook";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-N79unpeeOwcdHJo9IbsGa/gmTyg+QQCJF599cshV3sc=";
|
||||
hash = "sha256-SAFrtiSISW5QhFq9fow0CA5qvBY1RIfzZGvvfhOqxbY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-rJdtax3r5Nwew+ptY4kIAUtxqPguwrFMMRk78zrZUcU=";
|
||||
|
@ -5,15 +5,16 @@
|
||||
unzip,
|
||||
makeWrapper,
|
||||
jre_headless,
|
||||
writeScript,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "maestro";
|
||||
version = "1.37.9";
|
||||
version = "1.38.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${version}/maestro.zip";
|
||||
hash = "sha256-bWZuD2+v6molwW1ef2a3djBnVfYscBjILLGXeeSUmoU=";
|
||||
url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${finalAttrs.version}/maestro.zip";
|
||||
hash = "sha256-AogEVg8R73x5Q/LxZamGbFacCqB8JZeERqyf+UPXBx0=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
@ -33,12 +34,24 @@ stdenv.mkDerivation rec {
|
||||
wrapProgram $out/bin/maestro --prefix PATH : "${lib.makeBinPath [ jre_headless ]}"
|
||||
'';
|
||||
|
||||
passthru.updateScript = writeScript "update-maestro" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl jq common-updater-scripts
|
||||
set -o errexit -o nounset -o pipefail
|
||||
|
||||
NEW_VERSION=$(curl --silent https://api.github.com/repos/mobile-dev-inc/maestro/releases | jq 'first(.[].tag_name | ltrimstr("cli-") | select(contains("dev.") | not))' --raw-output)
|
||||
|
||||
update-source-version "maestro" "$NEW_VERSION" --print-changes
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Mobile UI Automation tool";
|
||||
homepage = "https://maestro.mobile.dev/";
|
||||
license = licenses.asl20;
|
||||
platforms = lib.platforms.all;
|
||||
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
|
||||
changelog = "https://github.com/mobile-dev-inc/maestro/blob/main/CHANGELOG.md";
|
||||
maintainers = with maintainers; [ SubhrajyotiSen ];
|
||||
mainProgram = "maestro";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "misconfig-mapper";
|
||||
version = "1.8.4";
|
||||
version = "1.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intigriti";
|
||||
repo = "misconfig-mapper";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-zg7OBHrveBmsljUJUE0/kz3AkIbUtTHf64BQbROUXsQ=";
|
||||
hash = "sha256-mi3lM/BQ16dCVX/kVRNhIis4sh6M0TMuK05q/pXJiS8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-aABtsS39yxBBFMN98fjr4gy6QeF3dobrZqeZmmv2ywQ=";
|
||||
|
@ -8,17 +8,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mountpoint-s3";
|
||||
version = "1.9.0";
|
||||
version = "1.9.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "awslabs";
|
||||
repo = "mountpoint-s3";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-uzTnkspTS3WvJUOmp8z7L/L1ut6NvnSlnsRa5yvaTRI=";
|
||||
hash = "sha256-8t/gAz08jFRuF0q3bo4y8tiIq4iYgAkXf5udYNIccu0=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoHash = "sha256-kru8CBN9Mqm8Og7SKICjqSvds7z58RRqI4W2txLvWXo=";
|
||||
cargoHash = "sha256-Fz7LfAn78JVip0QshoL5KMAEHMtG8bkLzz4v95/qt3E=";
|
||||
|
||||
# thread 'main' panicked at cargo-auditable/src/collect_audit_data.rs:77:9:
|
||||
# cargo metadata failure: error: none of the selected packages contains these features: libfuse3
|
||||
|
@ -32,13 +32,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pixelorama";
|
||||
version = "1.0.2";
|
||||
version = "1.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Orama-Interactive";
|
||||
repo = "Pixelorama";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-rFXUy6fvGKmB+aaNgiI+NNRG0xlj1migdetnU4iVDDQ=";
|
||||
hash = "sha256-IMHv5pOLxj7sqRtWmddziCiOX3T20bcMp2+ZzyhcIFg=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -1,64 +1,98 @@
|
||||
{
|
||||
lib,
|
||||
vips,
|
||||
resvg,
|
||||
mpv,
|
||||
libraw,
|
||||
imagemagick,
|
||||
libdevil,
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
cmake,
|
||||
libarchive,
|
||||
qt6Packages,
|
||||
extra-cmake-modules,
|
||||
exiv2,
|
||||
extra-cmake-modules,
|
||||
fetchFromGitLab,
|
||||
imagemagick,
|
||||
libarchive,
|
||||
libdevil,
|
||||
libraw,
|
||||
mpv,
|
||||
pkg-config,
|
||||
qt6Packages,
|
||||
resvg,
|
||||
stdenv,
|
||||
vips,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "previewqt";
|
||||
version = "3.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
name = "previewqt-sources-${finalAttrs.version}";
|
||||
owner = "lspies";
|
||||
repo = "previewqt";
|
||||
rev = "refs/tags/v${version}";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-cDtqgezKGgSdhw8x1mM4cZ0H3SfUPEyWP6rRD+kRwXc=";
|
||||
};
|
||||
|
||||
# can't find qtquick3d
|
||||
strictDeps = false;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
extra-cmake-modules
|
||||
pkg-config
|
||||
qt6Packages.wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
exiv2
|
||||
imagemagick
|
||||
qt6Packages.poppler
|
||||
qt6Packages.qtmultimedia
|
||||
qt6Packages.qtquick3d
|
||||
qt6Packages.qtsvg
|
||||
qt6Packages.qttools
|
||||
qt6Packages.qtwebengine
|
||||
libarchive
|
||||
libdevil
|
||||
libraw
|
||||
mpv
|
||||
resvg
|
||||
vips
|
||||
];
|
||||
buildInputs =
|
||||
[
|
||||
exiv2
|
||||
extra-cmake-modules
|
||||
imagemagick
|
||||
libarchive
|
||||
libdevil
|
||||
libraw
|
||||
mpv
|
||||
resvg
|
||||
vips
|
||||
]
|
||||
++ [
|
||||
qt6Packages.poppler
|
||||
qt6Packages.qtmultimedia
|
||||
qt6Packages.qtquick3d
|
||||
qt6Packages.qtsvg
|
||||
qt6Packages.qttools
|
||||
qt6Packages.qtwebengine
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
meta = {
|
||||
homepage = "https://previewqt.org/";
|
||||
description = "Qt-based file previewer";
|
||||
homepage = "https://photoqt.org/previewqt";
|
||||
changelog = "https://gitlab.com/lspies/previewqt/-/blob/v${version}/CHANGELOG";
|
||||
longDescription = ''
|
||||
PhotoQt is an image viewer that provides a simple and uncluttered
|
||||
interface. Yet, hidden beneath the surface awaits a large array of
|
||||
features. Here are some of its main features (not an exhaustive
|
||||
list). Suggestions for new features are always welcome.
|
||||
|
||||
- Support of ImageMagick/GraphicsMagick, Libraw, FreeImage, DevIL,
|
||||
libvips, Poppler, libarchive, and video files.
|
||||
- Touchscreen support
|
||||
- Support for Motion Photos and Apple Live Photos
|
||||
- Support for (partial) photo spheres and 360 degree panoramas using
|
||||
equirectangular projection
|
||||
- Explore images on an interactive map according to their embedded GPS
|
||||
location
|
||||
- Chromecast support
|
||||
- Basic image manipulations
|
||||
- Convert images between formats
|
||||
- Keyboard and mouse shortcuts
|
||||
- Upload images directly to imgur.com
|
||||
- Set image as wallpaper directly from inside PhotoQt
|
||||
- Slideshow feature
|
||||
- Display Exif information (including tagging of faces)
|
||||
- Detect and display bar codes and QR codes in images
|
||||
- Thumbnail Cache
|
||||
- System Tray Usage
|
||||
- Command Line Options
|
||||
- Several translations available (help wanted)
|
||||
- and much more...
|
||||
'';
|
||||
changelog = "https://gitlab.com/lspies/previewqt/-/blob/v${finalAttrs.version}/CHANGELOG";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
mainProgram = "previewqt";
|
||||
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "qrtool";
|
||||
version = "0.11.4";
|
||||
version = "0.11.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sorairolake";
|
||||
repo = "qrtool";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-lD/xi2k5baZGUUixy/032jTBevr0uQIT/JmX+d+kPyA=";
|
||||
hash = "sha256-2Msc8VTEzpK5eQHxJxNekj6YSqFRX/DN206hvYshiOg=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-lR/LusIgdA+G7YeSLHjxdcC96tOSqSyalVamS42ORs0=";
|
||||
cargoHash = "sha256-wBEimPiht7VN3lQfPlflrG2L47bfNnipK/JmurKqHrg=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
asciidoctor
|
||||
|
@ -12,16 +12,16 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "railway";
|
||||
version = "3.14.0";
|
||||
version = "3.14.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "railwayapp";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-W9p987yn04Ije6JXFndHXB4rENGBTIiRmCh6fDhXJ4I=";
|
||||
hash = "sha256-w52PzDRApKuRgJLYxY8ikqNOo6rC0kLCKWh8tgFzcIY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-/Lot/Cxg/BUp4MFp6VkJHR7jy7mUe7qwJDhPS8kOeUk=";
|
||||
cargoHash = "sha256-6VjloZ8s5LqyYPz1uMwdkwvHIhXjmifjd46PIx5d8xQ=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
@ -1,28 +1,31 @@
|
||||
{ lib
|
||||
, clangStdenv
|
||||
, cargo
|
||||
, copyDesktopItems
|
||||
, fetchFromGitHub
|
||||
, flutter316
|
||||
, ffmpeg
|
||||
, gst_all_1
|
||||
, fuse3
|
||||
, libXtst
|
||||
, libaom
|
||||
, libopus
|
||||
, libpulseaudio
|
||||
, libva
|
||||
, libvdpau
|
||||
, libvpx
|
||||
, libxkbcommon
|
||||
, libyuv
|
||||
, pam
|
||||
, makeDesktopItem
|
||||
, rustPlatform
|
||||
, rustc
|
||||
, rustfmt
|
||||
, xdotool
|
||||
}: let
|
||||
{
|
||||
lib,
|
||||
clangStdenv,
|
||||
cargo,
|
||||
copyDesktopItems,
|
||||
fetchFromGitHub,
|
||||
flutter316,
|
||||
ffmpeg,
|
||||
gst_all_1,
|
||||
fuse3,
|
||||
libXtst,
|
||||
libaom,
|
||||
libopus,
|
||||
libpulseaudio,
|
||||
libva,
|
||||
libvdpau,
|
||||
libvpx,
|
||||
libxkbcommon,
|
||||
libyuv,
|
||||
pam,
|
||||
makeDesktopItem,
|
||||
rustPlatform,
|
||||
libayatana-appindicator,
|
||||
rustc,
|
||||
rustfmt,
|
||||
xdotool,
|
||||
}:
|
||||
let
|
||||
|
||||
flutterRustBridge = rustPlatform.buildRustPackage rec {
|
||||
pname = "flutter_rust_bridge_codegen";
|
||||
@ -36,13 +39,17 @@
|
||||
};
|
||||
|
||||
cargoHash = "sha256-dDyiptG9TKes+fXx2atwx697SWH7Rltx6xVubtTn7FM=";
|
||||
cargoBuildFlags = [ "--package" "flutter_rust_bridge_codegen" ];
|
||||
cargoBuildFlags = [
|
||||
"--package"
|
||||
"flutter_rust_bridge_codegen"
|
||||
];
|
||||
doCheck = false;
|
||||
};
|
||||
|
||||
sharedLibraryExt = rustc.stdenv.hostPlatform.extensions.sharedLibrary;
|
||||
|
||||
in flutter316.buildFlutterApplication rec {
|
||||
in
|
||||
flutter316.buildFlutterApplication rec {
|
||||
pname = "rustdesk";
|
||||
version = "1.3.0";
|
||||
src = fetchFromGitHub {
|
||||
@ -76,34 +83,34 @@ in flutter316.buildFlutterApplication rec {
|
||||
# and fixing the resulting errors by removing the other registry deps.
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"android-wakelock-0.1.0" = "sha256-09EH/U1BBs3l4galQOrTKmPUYBgryUjfc/rqPZhdYc4=";
|
||||
"arboard-3.4.0" = "sha256-lZIG5z115ExR6DcUut1rk9MrYFzSyCYH9kNGIikOPJM=";
|
||||
"cacao-0.4.0-beta2" = "sha256-U5tCLeVxjmZCm7ti1u71+i116xmozPaR69pCsA4pxrM=";
|
||||
"clipboard-master-4.0.0-beta.6" = "sha256-GZyzGMQOZ0iwGNZa/ZzFp8gU2tQVWZBpAbim8yb6yZA=";
|
||||
"confy-0.4.0-2" = "sha256-V7BCKISrkJIxWC3WT5+B5Vav86YTQvdO9TO6A++47FU=";
|
||||
"core-foundation-0.9.3" = "sha256-iB4OVmWZhuWbs9RFWvNc+RNut6rip2/50o5ZM6c0c3g=";
|
||||
"evdev-0.11.5" = "sha256-aoPmjGi/PftnH6ClEWXHvIj0X3oh15ZC1q7wPC1XPr0=";
|
||||
"hwcodec-0.7.0" = "sha256-pfzcaD7h/U5ou+P7qRLR56iXOkm043rF74y+Q0FsVLo=";
|
||||
"impersonate_system-0.1.0" = "sha256-pIV7s2qGoCIUrhaRovBDCJaGQ/pMdJacDXJmeBpkcyI=";
|
||||
"keepawake-0.4.3" = "sha256-cqSpkq/PCz+5+ZUyPy5hF6rP3fBzuZDywyxMUQ50Rk4=";
|
||||
"machine-uid-0.3.0" = "sha256-rEOyNThg6p5oqE9URnxSkPtzyW8D4zKzLi9pAnzTElE=";
|
||||
"magnum-opus-0.4.0" = "sha256-T4qaYOl8lCK1h9jWa9KqGvnVfDViT9Ob5R+YgnSw2tg=";
|
||||
"pam-0.7.0" = "sha256-o47tVoFlW9RiL7O8Lvuwz7rMYQHO+5TG27XxkAdHEOE=";
|
||||
"pam-sys-1.0.0-alpha4" = "sha256-5HIErVWnanLo5054NgU+DEKC2wwyiJ8AHvbx0BGbyWo=";
|
||||
"parity-tokio-ipc-0.7.3-4" = "sha256-PKw2Twd2ap+tRrQxqg8T1FvpoeKn0hvBqn1Z44F1LcY=";
|
||||
"rdev-0.5.0-2" = "sha256-KrzNa4sKyuVw3EV/Ec9VBNRyJy7QFR2Gu4c2WkltwUw=";
|
||||
"reqwest-0.11.23" = "sha256-kEUT+gs4ziknDiGdPMLnj5pmxC5SBpLopZ8jZ34GDWc=";
|
||||
"rust-pulsectl-0.2.12" = "sha256-8jXTspWvjONFcvw9/Z8C43g4BuGZ3rsG32tvLMQbtbM=";
|
||||
"sciter-rs-0.5.57" = "sha256-5Nd9npdx8yQJEczHv7WmSmrE1lBfvp5z7BubTbYBg3E=";
|
||||
"sysinfo-0.29.10" = "sha256-/UsFAvlWs/F7X1xT+97Fx+pnpCguoPHU3hTynqYMEs4=";
|
||||
"tao-0.25.0" = "sha256-kLmx1z9Ybn/hDt2OcszEjtZytQIE+NKTIn9zNr9oEQk=";
|
||||
"tfc-0.7.0" = "sha256-4plK8ttbHsBPat3/rS+4RhGzirq2Ked2wrU8cQEU1zo=";
|
||||
"tokio-socks-0.5.2-1" = "sha256-i1dfNatqN4dinMcyAdLhj9hJWVsT10OWpCXsxl7pifI=";
|
||||
"tray-icon-0.14.3" = "sha256-dSX7LucZaLplRrh6zLwmFzyZN4ZtwIXzAEdZzlu3gQg=";
|
||||
"wallpaper-3.2.0" = "sha256-p9NRmusdA0wvF6onp1UTL0/4t7XnEAc19sqyGDnfg/Q=";
|
||||
"webm-1.1.0" = "sha256-p4BMej7yvb8c/dJynRWZmwo2hxAAY96Qx6Qx2DbT8hE=";
|
||||
"x11-2.19.0" = "sha256-GDCeKzUtvaLeBDmPQdyr499EjEfT6y4diBMzZVEptzc=";
|
||||
"x11-clipboard-0.8.1" = "sha256-PtqmSD2MwkbLVWbfTSXZW3WEvEnUlo04qieUTjN2whE=";
|
||||
"android-wakelock-0.1.0" = "sha256-09EH/U1BBs3l4galQOrTKmPUYBgryUjfc/rqPZhdYc4=";
|
||||
"arboard-3.4.0" = "sha256-lZIG5z115ExR6DcUut1rk9MrYFzSyCYH9kNGIikOPJM=";
|
||||
"cacao-0.4.0-beta2" = "sha256-U5tCLeVxjmZCm7ti1u71+i116xmozPaR69pCsA4pxrM=";
|
||||
"clipboard-master-4.0.0-beta.6" = "sha256-GZyzGMQOZ0iwGNZa/ZzFp8gU2tQVWZBpAbim8yb6yZA=";
|
||||
"confy-0.4.0-2" = "sha256-V7BCKISrkJIxWC3WT5+B5Vav86YTQvdO9TO6A++47FU=";
|
||||
"core-foundation-0.9.3" = "sha256-iB4OVmWZhuWbs9RFWvNc+RNut6rip2/50o5ZM6c0c3g=";
|
||||
"evdev-0.11.5" = "sha256-aoPmjGi/PftnH6ClEWXHvIj0X3oh15ZC1q7wPC1XPr0=";
|
||||
"hwcodec-0.7.0" = "sha256-pfzcaD7h/U5ou+P7qRLR56iXOkm043rF74y+Q0FsVLo=";
|
||||
"impersonate_system-0.1.0" = "sha256-pIV7s2qGoCIUrhaRovBDCJaGQ/pMdJacDXJmeBpkcyI=";
|
||||
"keepawake-0.4.3" = "sha256-cqSpkq/PCz+5+ZUyPy5hF6rP3fBzuZDywyxMUQ50Rk4=";
|
||||
"machine-uid-0.3.0" = "sha256-rEOyNThg6p5oqE9URnxSkPtzyW8D4zKzLi9pAnzTElE=";
|
||||
"magnum-opus-0.4.0" = "sha256-T4qaYOl8lCK1h9jWa9KqGvnVfDViT9Ob5R+YgnSw2tg=";
|
||||
"pam-0.7.0" = "sha256-o47tVoFlW9RiL7O8Lvuwz7rMYQHO+5TG27XxkAdHEOE=";
|
||||
"pam-sys-1.0.0-alpha4" = "sha256-5HIErVWnanLo5054NgU+DEKC2wwyiJ8AHvbx0BGbyWo=";
|
||||
"parity-tokio-ipc-0.7.3-4" = "sha256-PKw2Twd2ap+tRrQxqg8T1FvpoeKn0hvBqn1Z44F1LcY=";
|
||||
"rdev-0.5.0-2" = "sha256-KrzNa4sKyuVw3EV/Ec9VBNRyJy7QFR2Gu4c2WkltwUw=";
|
||||
"reqwest-0.11.23" = "sha256-kEUT+gs4ziknDiGdPMLnj5pmxC5SBpLopZ8jZ34GDWc=";
|
||||
"rust-pulsectl-0.2.12" = "sha256-8jXTspWvjONFcvw9/Z8C43g4BuGZ3rsG32tvLMQbtbM=";
|
||||
"sciter-rs-0.5.57" = "sha256-5Nd9npdx8yQJEczHv7WmSmrE1lBfvp5z7BubTbYBg3E=";
|
||||
"sysinfo-0.29.10" = "sha256-/UsFAvlWs/F7X1xT+97Fx+pnpCguoPHU3hTynqYMEs4=";
|
||||
"tao-0.25.0" = "sha256-kLmx1z9Ybn/hDt2OcszEjtZytQIE+NKTIn9zNr9oEQk=";
|
||||
"tfc-0.7.0" = "sha256-4plK8ttbHsBPat3/rS+4RhGzirq2Ked2wrU8cQEU1zo=";
|
||||
"tokio-socks-0.5.2-1" = "sha256-i1dfNatqN4dinMcyAdLhj9hJWVsT10OWpCXsxl7pifI=";
|
||||
"tray-icon-0.14.3" = "sha256-dSX7LucZaLplRrh6zLwmFzyZN4ZtwIXzAEdZzlu3gQg=";
|
||||
"wallpaper-3.2.0" = "sha256-p9NRmusdA0wvF6onp1UTL0/4t7XnEAc19sqyGDnfg/Q=";
|
||||
"webm-1.1.0" = "sha256-p4BMej7yvb8c/dJynRWZmwo2hxAAY96Qx6Qx2DbT8hE=";
|
||||
"x11-2.19.0" = "sha256-GDCeKzUtvaLeBDmPQdyr499EjEfT6y4diBMzZVEptzc=";
|
||||
"x11-clipboard-0.8.1" = "sha256-PtqmSD2MwkbLVWbfTSXZW3WEvEnUlo04qieUTjN2whE=";
|
||||
};
|
||||
};
|
||||
dontCargoBuild = true;
|
||||
@ -147,11 +154,17 @@ in flutter316.buildFlutterApplication rec {
|
||||
prePatch = ''
|
||||
chmod -R +w ..
|
||||
'';
|
||||
patchFlags = [ "-p1" "-d" ".." ];
|
||||
patchFlags = [
|
||||
"-p1"
|
||||
"-d"
|
||||
".."
|
||||
];
|
||||
|
||||
patches = [ ./make-build-reproducible.patch ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
|
||||
--replace-fail "libayatana-appindicator3.so.1" "${lib.getLib libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
|
||||
substituteInPlace ../Cargo.toml --replace-fail ", \"staticlib\", \"rlib\"" ""
|
||||
# The supplied Cargo.lock doesn't work with our fetcher so copy over the fixed version
|
||||
cp ${./Cargo.lock} ../Cargo.lock
|
||||
@ -201,7 +214,11 @@ in flutter316.buildFlutterApplication rec {
|
||||
terminal = false;
|
||||
type = "Application";
|
||||
startupNotify = true;
|
||||
categories = [ "Network" "RemoteAccess" "GTK" ];
|
||||
categories = [
|
||||
"Network"
|
||||
"RemoteAccess"
|
||||
"GTK"
|
||||
];
|
||||
keywords = [ "internet" ];
|
||||
actions.new-window = {
|
||||
name = "Open a New Window";
|
||||
|
@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "saunafs";
|
||||
version = "4.5.0";
|
||||
version = "4.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "leil-io";
|
||||
repo = "saunafs";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-jimq+Dx3RoJmnUDcfCkgE6Hk7OvPH/fs1v/Nri8Xtz8=";
|
||||
hash = "sha256-oMFS5eNNzCpaineCLn0hh3bXGw3SNdj+Pdvk3pevIZg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user