Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-08-24 12:01:05 +00:00 committed by GitHub
commit 4328391132
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
42 changed files with 827 additions and 305 deletions

View file

@ -10887,13 +10887,15 @@
name = "Matthias C. M. Troffaes";
};
McSinyx = {
email = "mcsinyx@disroot.org";
email = "cnx@loang.net";
github = "McSinyx";
githubId = 13689192;
matrix = "@cnx:loang.net";
name = "Nguyn Gia Phong";
keys = [{
fingerprint = "E90E 11B8 0493 343B 6132 E394 2714 8B2C 06A2 224B";
}];
keys = [
{ fingerprint = "E90E 11B8 0493 343B 6132 E394 2714 8B2C 06A2 224B"; }
{ fingerprint = "838A FE0D 55DC 074E 360F 943A 84B6 9CE6 F3F6 B767"; }
];
};
mcwitt = {
email = "mcwitt@gmail.com";

View file

@ -5,8 +5,8 @@ let
parentWrapperDir = dirOf wrapperDir;
securityWrapper = sourceProg : pkgs.callPackage ./wrapper.nix {
inherit sourceProg;
securityWrapper = pkgs.callPackage ./wrapper.nix {
inherit parentWrapperDir;
};
fileModeType =
@ -91,7 +91,8 @@ let
, ...
}:
''
cp ${securityWrapper source}/bin/security-wrapper "$wrapperDir/${program}"
cp ${securityWrapper}/bin/security-wrapper "$wrapperDir/${program}"
echo -n "${source}" > "$wrapperDir/${program}.real"
# Prevent races
chmod 0000 "$wrapperDir/${program}"
@ -118,7 +119,8 @@ let
, ...
}:
''
cp ${securityWrapper source}/bin/security-wrapper "$wrapperDir/${program}"
cp ${securityWrapper}/bin/security-wrapper "$wrapperDir/${program}"
echo -n "${source}" > "$wrapperDir/${program}.real"
# Prevent races
chmod 0000 "$wrapperDir/${program}"

View file

@ -17,10 +17,6 @@
#include <syscall.h>
#include <byteswap.h>
#ifndef SOURCE_PROG
#error SOURCE_PROG should be defined via preprocessor commandline
#endif
// aborts when false, printing the failed expression
#define ASSERT(expr) ((expr) ? (void) 0 : assert_failure(#expr))
// aborts when returns non-zero, printing the failed expression and errno
@ -28,6 +24,10 @@
extern char **environ;
// The WRAPPER_DIR macro is supplied at compile time so that it cannot
// be changed at runtime
static char *wrapper_dir = WRAPPER_DIR;
// Wrapper debug variable name
static char *wrapper_debug = "WRAPPER_DEBUG";
@ -151,20 +151,115 @@ static int make_caps_ambient(const char *self_path) {
return 0;
}
int readlink_malloc(const char *p, char **ret) {
size_t l = FILENAME_MAX+1;
int r;
for (;;) {
char *c = calloc(l, sizeof(char));
if (!c) {
return -ENOMEM;
}
ssize_t n = readlink(p, c, l-1);
if (n < 0) {
r = -errno;
free(c);
return r;
}
if ((size_t) n < l-1) {
c[n] = 0;
*ret = c;
return 0;
}
free(c);
l *= 2;
}
}
int main(int argc, char **argv) {
ASSERT(argc >= 1);
char *self_path = NULL;
int self_path_size = readlink_malloc("/proc/self/exe", &self_path);
if (self_path_size < 0) {
fprintf(stderr, "cannot readlink /proc/self/exe: %s", strerror(-self_path_size));
}
unsigned int ruid, euid, suid, rgid, egid, sgid;
MUSTSUCCEED(getresuid(&ruid, &euid, &suid));
MUSTSUCCEED(getresgid(&rgid, &egid, &sgid));
// If true, then we did not benefit from setuid privilege escalation,
// where the original uid is still in ruid and different from euid == suid.
int didnt_suid = (ruid == euid) && (euid == suid);
// If true, then we did not benefit from setgid privilege escalation
int didnt_sgid = (rgid == egid) && (egid == sgid);
// Make sure that we are being executed from the right location,
// i.e., `safe_wrapper_dir'. This is to prevent someone from creating
// hard link `X' from some other location, along with a false
// `X.real' file, to allow arbitrary programs from being executed
// with elevated capabilities.
int len = strlen(wrapper_dir);
if (len > 0 && '/' == wrapper_dir[len - 1])
--len;
ASSERT(!strncmp(self_path, wrapper_dir, len));
ASSERT('/' == wrapper_dir[0]);
ASSERT('/' == self_path[len]);
// If we got privileges with the fs set[ug]id bit, check that the privilege we
// got matches the one one we expected, ie that our effective uid/gid
// matches the uid/gid of `self_path`. This ensures that we were executed as
// `self_path', and not, say, as some other setuid program.
// We don't check that if we did not benefit from the set[ug]id bit, as
// can be the case in nosuid mounts or user namespaces.
struct stat st;
ASSERT(lstat(self_path, &st) != -1);
// if the wrapper gained privilege with suid, check that we got the uid of the file owner
ASSERT(!((st.st_mode & S_ISUID) && !didnt_suid) || (st.st_uid == euid));
// if the wrapper gained privilege with sgid, check that we got the gid of the file group
ASSERT(!((st.st_mode & S_ISGID) && !didnt_sgid) || (st.st_gid == egid));
// same, but with suid instead of euid
ASSERT(!((st.st_mode & S_ISUID) && !didnt_suid) || (st.st_uid == suid));
ASSERT(!((st.st_mode & S_ISGID) && !didnt_sgid) || (st.st_gid == sgid));
// And, of course, we shouldn't be writable.
ASSERT(!(st.st_mode & (S_IWGRP | S_IWOTH)));
// Read the path of the real (wrapped) program from <self>.real.
char real_fn[PATH_MAX + 10];
int real_fn_size = snprintf(real_fn, sizeof(real_fn), "%s.real", self_path);
ASSERT(real_fn_size < sizeof(real_fn));
int fd_self = open(real_fn, O_RDONLY);
ASSERT(fd_self != -1);
char source_prog[PATH_MAX];
len = read(fd_self, source_prog, PATH_MAX);
ASSERT(len != -1);
ASSERT(len < sizeof(source_prog));
ASSERT(len > 0);
source_prog[len] = 0;
close(fd_self);
// Read the capabilities set on the wrapper and raise them in to
// the ambient set so the program we're wrapping receives the
// capabilities too!
if (make_caps_ambient("/proc/self/exe") != 0) {
if (make_caps_ambient(self_path) != 0) {
free(self_path);
return 1;
}
free(self_path);
execve(SOURCE_PROG, argv, environ);
execve(source_prog, argv, environ);
fprintf(stderr, "%s: cannot run `%s': %s\n",
argv[0], SOURCE_PROG, strerror(errno));
argv[0], source_prog, strerror(errno));
return 1;
}

View file

@ -1,4 +1,4 @@
{ stdenv, linuxHeaders, sourceProg, debug ? false }:
{ stdenv, linuxHeaders, parentWrapperDir, debug ? false }:
# For testing:
# $ nix-build -E 'with import <nixpkgs> {}; pkgs.callPackage ./wrapper.nix { parentWrapperDir = "/run/wrappers"; debug = true; }'
stdenv.mkDerivation {
@ -7,7 +7,7 @@ stdenv.mkDerivation {
dontUnpack = true;
hardeningEnable = [ "pie" ];
CFLAGS = [
''-DSOURCE_PROG="${sourceProg}"''
''-DWRAPPER_DIR="${parentWrapperDir}"''
] ++ (if debug then [
"-Werror" "-Og" "-g"
] else [

View file

@ -137,14 +137,8 @@ let
magicOrExtension = ''\x00asm'';
mask = ''\xff\xff\xff\xff'';
};
x86_64-windows = {
magicOrExtension = "exe";
recognitionType = "extension";
};
i686-windows = {
magicOrExtension = "exe";
recognitionType = "extension";
};
x86_64-windows.magicOrExtension = "MZ";
i686-windows.magicOrExtension = "MZ";
};
in {

View file

@ -434,7 +434,7 @@ in {
lightdm = handleTest ./lightdm.nix {};
lighttpd = handleTest ./lighttpd.nix {};
limesurvey = handleTest ./limesurvey.nix {};
listmonk = handleTest ./listmonk.nix {};
listmonk = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./listmonk.nix {};
litestream = handleTest ./litestream.nix {};
lldap = handleTest ./lldap.nix {};
locate = handleTest ./locate.nix {};

View file

@ -42,20 +42,27 @@ import ./make-test-python.nix ({ lib, ... }: {
machine.wait_for_open_port(9000)
machine.succeed("[[ -f /var/lib/listmonk/.db_settings_initialized ]]")
assert json.loads(machine.succeed(generate_listmonk_request("GET", 'health')))['data'], 'Health endpoint returned unexpected value'
# A sample subscriber is guaranteed to exist at install-time
# A sample transactional template is guaranteed to exist at install-time
subscribers = json.loads(machine.succeed(generate_listmonk_request('GET', "subscribers")))['data']['results']
templates = json.loads(machine.succeed(generate_listmonk_request('GET', "templates")))['data']
tx_template = templates[2]
# Test transactional endpoint
# subscriber_id=1 is guaranteed to exist at install-time
# template_id=2 is guaranteed to exist at install-time and is a transactional template (1 is a campaign template).
machine.succeed(
generate_listmonk_request('POST', 'tx', data={'subscriber_id': 1, 'template_id': 2})
)
assert 'Welcome John Doe' in machine.succeed(
print(machine.succeed(
generate_listmonk_request('POST', 'tx', data={'subscriber_id': subscribers[0]['id'], 'template_id': tx_template['id']})
))
assert 'Welcome Anon Doe' in machine.succeed(
"curl --fail http://localhost:8025/api/v2/messages"
)
), "Failed to find Welcome John Doe inside the messages API endpoint"
# Test campaign endpoint
# Based on https://github.com/knadh/listmonk/blob/174a48f252a146d7e69dab42724e3329dbe25ebe/cmd/campaigns.go#L549 as docs do not exist.
campaign_data = json.loads(machine.succeed(
generate_listmonk_request('POST', 'campaigns/1/test', data={'template_id': 1, 'subscribers': ['john@example.com'], 'name': 'Test', 'subject': 'NixOS is great', 'lists': [1], 'messenger': 'email'})
generate_listmonk_request('POST', 'campaigns/1/test', data={'template_id': templates[0]['id'], 'subscribers': ['john@example.com'], 'name': 'Test', 'subject': 'NixOS is great', 'lists': [1], 'messenger': 'email'})
))
assert campaign_data['data'] # This is a boolean asserting if the test was successful or not: https://github.com/knadh/listmonk/blob/174a48f252a146d7e69dab42724e3329dbe25ebe/cmd/campaigns.go#L626

View file

@ -84,17 +84,6 @@ in
test_as_regular_in_userns_mapped_as_root('/run/wrappers/bin/sgid_root_busybox id -g', '0')
test_as_regular_in_userns_mapped_as_root('/run/wrappers/bin/sgid_root_busybox id -rg', '0')
# Test that in nonewprivs environment the wrappers simply exec their target.
test_as_regular('${pkgs.util-linux}/bin/setpriv --no-new-privs /run/wrappers/bin/suid_root_busybox id -u', '${toString userUid}')
test_as_regular('${pkgs.util-linux}/bin/setpriv --no-new-privs /run/wrappers/bin/suid_root_busybox id -ru', '${toString userUid}')
test_as_regular('${pkgs.util-linux}/bin/setpriv --no-new-privs /run/wrappers/bin/suid_root_busybox id -g', '${toString usersGid}')
test_as_regular('${pkgs.util-linux}/bin/setpriv --no-new-privs /run/wrappers/bin/suid_root_busybox id -rg', '${toString usersGid}')
test_as_regular('${pkgs.util-linux}/bin/setpriv --no-new-privs /run/wrappers/bin/sgid_root_busybox id -u', '${toString userUid}')
test_as_regular('${pkgs.util-linux}/bin/setpriv --no-new-privs /run/wrappers/bin/sgid_root_busybox id -ru', '${toString userUid}')
test_as_regular('${pkgs.util-linux}/bin/setpriv --no-new-privs /run/wrappers/bin/sgid_root_busybox id -g', '${toString usersGid}')
test_as_regular('${pkgs.util-linux}/bin/setpriv --no-new-privs /run/wrappers/bin/sgid_root_busybox id -rg', '${toString usersGid}')
# We are only testing the permitted set, because it's easiest to look at with capsh.
machine.fail(cmd_as_regular('${pkgs.libcap}/bin/capsh --has-p=CAP_CHOWN'))
machine.fail(cmd_as_regular('${pkgs.libcap}/bin/capsh --has-p=CAP_SYS_ADMIN'))

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "kakoune-unwrapped";
version = "2022.10.31";
version = "2023.08.05";
src = fetchFromGitHub {
repo = "kakoune";
owner = "mawww";
rev = "v${version}";
sha256 = "sha256-vmzGaGl0KSjseSD/s6DXxvMUTmAle+Iv/ZP9llaFnXk=";
sha256 = "sha256-RR3kw39vEjsg+6cIY6cK2i3ecGHlr1yzuBKaDtGlOGo=";
};
makeFlags = [ "debug=no" "PREFIX=${placeholder "out"}" ];

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "cilium-cli";
version = "0.14.3";
version = "0.15.6";
src = fetchFromGitHub {
owner = "cilium";
repo = pname;
rev = "v${version}";
sha256 = "sha256-vH+wQ3pPz70jc3QzD/0vbKMqQtYak8UGoQmEgeYbFbk=";
hash = "sha256-0y07EPF/1oq4FqiJFNZgnUeesJzU0+jxlQ4zg1M5Xzk=";
};
vendorHash = null;
@ -17,7 +17,7 @@ buildGoModule rec {
ldflags = [
"-s" "-w"
"-X github.com/cilium/cilium-cli/internal/cli/cmd.Version=${version}"
"-X github.com/cilium/cilium-cli/cli.Version=${version}"
];
# Required to workaround install check error:
@ -41,7 +41,7 @@ buildGoModule rec {
description = "CLI to install, manage & troubleshoot Kubernetes clusters running Cilium";
license = licenses.asl20;
homepage = "https://www.cilium.io/";
maintainers = with maintainers; [ humancalico bryanasdev000 ];
maintainers = with maintainers; [ humancalico bryanasdev000 qjoly ];
mainProgram = "cilium";
};
}

View file

@ -167,8 +167,8 @@ rec {
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
version = "1.5.5";
hash = "sha256-SBS3a/CIUdyIUJvc+rANIs+oXCQgfZut8b0517QKq64=";
version = "1.5.6";
hash = "sha256-vbV8Tmas7n1o8Q+DG9RrcfdAMa4bJsVg2SsTFH1TJ5M=";
vendorHash = "sha256-lQgWNMBf+ioNxzAV7tnTQSIS840XdI9fg9duuwoK+U4=";
patches = [ ./provider-path-0_15.patch ];
passthru = {

View file

@ -5,23 +5,23 @@
buildGoModule rec {
pname = "terragrunt";
version = "0.48.6";
version = "0.50.6";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-pvDZfKITFrhtLnewAhRGjwu45zj2q3usNSr9U2xb52Y=";
hash = "sha256-h6Qz27zWAN0mxDok2dpxlE0qLP2ECwMjiCZxg+9T/dw=";
};
vendorHash = "sha256-5Umoqi2D6iUk2Ut7YB/nmkOyA6Rx2qFhy/ZbfqoX5qA=";
vendorHash = "sha256-ZpLQcWi3qYTsy6BUZbHFFmhWG6CWqcb/NuzPLOUtKfs=";
doCheck = false;
ldflags = [
"-s"
"-w"
"-X main.VERSION=v${version}"
"-X github.com/gruntwork-io/go-commons/version.Version=v${version}"
];
doInstallCheck = true;

View file

@ -21,11 +21,11 @@
python3.pkgs.buildPythonApplication rec {
pname = "gajim";
version = "1.8.0";
version = "1.8.1";
src = fetchurl {
url = "https://gajim.org/downloads/${lib.versions.majorMinor version}/gajim-${version}.tar.gz";
hash = "sha256-EgH8mt0am2l9z4csGHH6rpLqTzFiBRzOPB4NCEP8TUM=";
hash = "sha256-Erh7tR6WX8pt89PRicgbVZd8CLlv18Vyq44O+ZnJVzU=";
};
format = "pyproject";

View file

@ -70,6 +70,12 @@ version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd"
[[package]]
name = "allocator-api2"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
[[package]]
name = "android-activity"
version = "0.4.1"
@ -161,13 +167,10 @@ dependencies = [
]
[[package]]
name = "bincode"
version = "1.3.3"
name = "base64"
version = "0.21.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
dependencies = [
"serde",
]
checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d"
[[package]]
name = "bit-set"
@ -452,8 +455,9 @@ dependencies = [
[[package]]
name = "cosmic-text"
version = "0.8.0"
source = "git+https://github.com/hecrj/cosmic-text.git?rev=e8b10fd675832cb9c1cc9de30922beb4cf883876#e8b10fd675832cb9c1cc9de30922beb4cf883876"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0b68966c2543609f8d92f9d33ac3b719b2a67529b0c6c0b3e025637b477eef9"
dependencies = [
"aliasable",
"fontdb",
@ -542,7 +546,7 @@ dependencies = [
name = "data"
version = "0.1.0"
dependencies = [
"bincode",
"base64",
"chrono",
"dirs-next",
"flate2",
@ -556,6 +560,7 @@ dependencies = [
"rand_chacha",
"seahash",
"serde",
"serde_json",
"serde_yaml",
"thiserror",
"tokio",
@ -623,70 +628,6 @@ dependencies = [
"winreg",
]
[[package]]
name = "encoding"
version = "0.2.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec"
dependencies = [
"encoding-index-japanese",
"encoding-index-korean",
"encoding-index-simpchinese",
"encoding-index-singlebyte",
"encoding-index-tradchinese",
]
[[package]]
name = "encoding-index-japanese"
version = "1.20141219.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91"
dependencies = [
"encoding_index_tests",
]
[[package]]
name = "encoding-index-korean"
version = "1.20141219.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4dc33fb8e6bcba213fe2f14275f0963fd16f0a02c878e3095ecfdf5bee529d81"
dependencies = [
"encoding_index_tests",
]
[[package]]
name = "encoding-index-simpchinese"
version = "1.20141219.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d87a7194909b9118fc707194baa434a4e3b0fb6a5a757c73c3adb07aa25031f7"
dependencies = [
"encoding_index_tests",
]
[[package]]
name = "encoding-index-singlebyte"
version = "1.20141219.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3351d5acffb224af9ca265f435b859c7c01537c0849754d3db3fdf2bfe2ae84a"
dependencies = [
"encoding_index_tests",
]
[[package]]
name = "encoding-index-tradchinese"
version = "1.20141219.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd0e20d5688ce3cab59eb3ef3a2083a5c77bf496cb798dc6fcdb75f323890c18"
dependencies = [
"encoding_index_tests",
]
[[package]]
name = "encoding_index_tests"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
[[package]]
name = "errno"
version = "0.3.1"
@ -720,9 +661,9 @@ dependencies = [
[[package]]
name = "etagere"
version = "0.2.7"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6301151a318f367f392c31395beb1cfba5ccd9abc44d1db0db3a4b27b9601c89"
checksum = "fcf22f748754352918e082e0039335ee92454a5d62bcaf69b5e8daf5907d9644"
dependencies = [
"euclid",
"svg_fmt",
@ -939,9 +880,9 @@ dependencies = [
[[package]]
name = "getrandom"
version = "0.2.9"
version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
dependencies = [
"cfg-if",
"js-sys",
@ -986,8 +927,9 @@ dependencies = [
[[package]]
name = "glyphon"
version = "0.2.0"
source = "git+https://github.com/hecrj/glyphon.git?rev=8dbf36020e5759fa9144517b321372266160113e#8dbf36020e5759fa9144517b321372266160113e"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e87caa7459145f5e5f167bf34db4532901404c679e62339fb712a0e3ccf722a"
dependencies = [
"cosmic-text",
"etagere",
@ -1059,9 +1001,9 @@ dependencies = [
[[package]]
name = "half"
version = "2.3.0"
version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9906a89f1724975a455316ae0554ceaa45ad83bb336f1125a87bfbdb9197cfa0"
checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872"
dependencies = [
"cfg-if",
"crunchy",
@ -1076,7 +1018,9 @@ dependencies = [
"embed-resource",
"fern",
"iced",
"image",
"log",
"once_cell",
"open",
"palette",
"thiserror",
@ -1096,11 +1040,12 @@ dependencies = [
[[package]]
name = "hashbrown"
version = "0.13.2"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a"
dependencies = [
"ahash 0.8.3",
"allocator-api2",
]
[[package]]
@ -1135,9 +1080,9 @@ dependencies = [
[[package]]
name = "hermit-abi"
version = "0.3.1"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
[[package]]
name = "hexf-parse"
@ -1171,7 +1116,7 @@ dependencies = [
[[package]]
name = "iced"
version = "0.9.0"
source = "git+https://github.com/tarkah/iced?rev=d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65#d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65"
source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
dependencies = [
"iced_core",
"iced_futures",
@ -1185,7 +1130,7 @@ dependencies = [
[[package]]
name = "iced_core"
version = "0.9.0"
source = "git+https://github.com/tarkah/iced?rev=d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65#d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65"
source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
dependencies = [
"bitflags 1.3.2",
"instant",
@ -1198,7 +1143,7 @@ dependencies = [
[[package]]
name = "iced_futures"
version = "0.6.0"
source = "git+https://github.com/tarkah/iced?rev=d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65#d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65"
source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
dependencies = [
"futures",
"iced_core",
@ -1211,28 +1156,29 @@ dependencies = [
[[package]]
name = "iced_graphics"
version = "0.8.0"
source = "git+https://github.com/tarkah/iced?rev=d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65#d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65"
source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
dependencies = [
"bitflags 1.3.2",
"bytemuck",
"glam",
"half",
"iced_core",
"image",
"kamadak-exif",
"log",
"raw-window-handle",
"thiserror",
"tiny-skia 0.9.1",
]
[[package]]
name = "iced_renderer"
version = "0.1.0"
source = "git+https://github.com/tarkah/iced?rev=d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65#d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65"
source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
dependencies = [
"iced_graphics",
"iced_tiny_skia",
"iced_wgpu",
"log",
"raw-window-handle",
"thiserror",
]
@ -1240,7 +1186,7 @@ dependencies = [
[[package]]
name = "iced_runtime"
version = "0.1.0"
source = "git+https://github.com/tarkah/iced?rev=d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65#d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65"
source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
dependencies = [
"iced_core",
"iced_futures",
@ -1250,7 +1196,7 @@ dependencies = [
[[package]]
name = "iced_style"
version = "0.8.0"
source = "git+https://github.com/tarkah/iced?rev=d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65#d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65"
source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
dependencies = [
"iced_core",
"once_cell",
@ -1260,7 +1206,7 @@ dependencies = [
[[package]]
name = "iced_tiny_skia"
version = "0.1.0"
source = "git+https://github.com/tarkah/iced?rev=d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65#d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65"
source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
dependencies = [
"bytemuck",
"cosmic-text",
@ -1270,14 +1216,14 @@ dependencies = [
"raw-window-handle",
"rustc-hash",
"softbuffer",
"tiny-skia 0.9.1",
"tiny-skia 0.10.0",
"twox-hash",
]
[[package]]
name = "iced_wgpu"
version = "0.10.0"
source = "git+https://github.com/tarkah/iced?rev=d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65#d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65"
source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
dependencies = [
"bitflags 1.3.2",
"bytemuck",
@ -1297,7 +1243,7 @@ dependencies = [
[[package]]
name = "iced_widget"
version = "0.1.0"
source = "git+https://github.com/tarkah/iced?rev=d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65#d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65"
source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
dependencies = [
"iced_renderer",
"iced_runtime",
@ -1311,7 +1257,7 @@ dependencies = [
[[package]]
name = "iced_winit"
version = "0.9.1"
source = "git+https://github.com/tarkah/iced?rev=d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65#d73dba1f1c2dda7f58c9983e7ee8fbac6f563a65"
source = "git+https://github.com/iced-rs/iced?rev=78dc341ea82449f1e075e37e67c1ccf66b88e8d6#78dc341ea82449f1e075e37e67c1ccf66b88e8d6"
dependencies = [
"iced_graphics",
"iced_runtime",
@ -1372,44 +1318,31 @@ version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
dependencies = [
"hermit-abi 0.3.1",
"hermit-abi 0.3.2",
"libc",
"windows-sys 0.48.0",
]
[[package]]
name = "irc"
version = "0.15.0"
source = "git+https://github.com/aatxe/irc.git?rev=8eef9c56881670aa614782ab4321fb8ae3975fa0#8eef9c56881670aa614782ab4321fb8ae3975fa0"
version = "0.1.0"
dependencies = [
"chrono",
"encoding",
"futures-util",
"irc-proto",
"log",
"native-tls",
"parking_lot 0.12.1",
"pin-project",
"serde",
"serde_derive",
"bytes",
"futures",
"irc_proto",
"thiserror",
"tokio",
"tokio-native-tls",
"tokio-stream",
"tokio-util",
"toml",
]
[[package]]
name = "irc-proto"
version = "0.15.0"
source = "git+https://github.com/aatxe/irc.git?rev=8eef9c56881670aa614782ab4321fb8ae3975fa0#8eef9c56881670aa614782ab4321fb8ae3975fa0"
name = "irc_proto"
version = "0.1.0"
dependencies = [
"bytes",
"encoding",
"itertools",
"nom",
"thiserror",
"tokio",
"tokio-util",
]
[[package]]
@ -1440,6 +1373,12 @@ dependencies = [
"either",
]
[[package]]
name = "itoa"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38"
[[package]]
name = "jni-sys"
version = "0.3.0"
@ -1516,9 +1455,9 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
[[package]]
name = "libc"
version = "0.2.144"
version = "0.2.147"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
[[package]]
name = "libloading"
@ -1576,11 +1515,11 @@ checksum = "518ef76f2f87365916b142844c16d8fefd85039bc5699050210a7778ee1cd1de"
[[package]]
name = "lru"
version = "0.9.0"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71e7d46de488603ffdd5f30afbc64fbba2378214a2c3a2fb83abf3d33126df17"
checksum = "eedb2bdbad7e0634f83989bf596f497b070130daaa398ab22d84c39e266deec5"
dependencies = [
"hashbrown 0.13.2",
"hashbrown 0.14.0",
]
[[package]]
@ -1991,9 +1930,9 @@ dependencies = [
[[package]]
name = "openssl"
version = "0.10.54"
version = "0.10.55"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69b3f656a17a6cbc115b5c7a40c616947d213ba182135b014d6051b73ab6f019"
checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
dependencies = [
"bitflags 1.3.2",
"cfg-if",
@ -2023,9 +1962,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "openssl-sys"
version = "0.9.88"
version = "0.9.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2ce0f250f34a308dcfdbb351f511359857d4ed2134ba715a4eadd46e1ffd617"
checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
dependencies = [
"cc",
"libc",
@ -2602,6 +2541,17 @@ dependencies = [
"syn 2.0.18",
]
[[package]]
name = "serde_json"
version = "1.0.99"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3"
dependencies = [
"itoa",
"ryu",
"serde",
]
[[package]]
name = "serde_spanned"
version = "0.6.2"
@ -2900,9 +2850,9 @@ dependencies = [
[[package]]
name = "tiny-skia"
version = "0.9.1"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce2986c82f77818c7b9144c70818fdde98db15308e329ae2f7204d767808fd3c"
checksum = "7db11798945fa5c3e5490c794ccca7c6de86d3afdd54b4eb324109939c6f37bc"
dependencies = [
"arrayref",
"arrayvec",
@ -2910,7 +2860,7 @@ dependencies = [
"cfg-if",
"log",
"png",
"tiny-skia-path 0.9.0",
"tiny-skia-path 0.10.0",
]
[[package]]
@ -2926,9 +2876,9 @@ dependencies = [
[[package]]
name = "tiny-skia-path"
version = "0.9.0"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7acb0ccda1ac91084353a56d0b69b0e29c311fd809d2088b1ed2f9ae1841c47"
checksum = "2f60aa35c89ac2687ace1a2556eaaea68e8c0d47408a2e3e7f5c98a489e7281c"
dependencies = [
"arrayref",
"bytemuck",
@ -2952,21 +2902,35 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
version = "1.28.2"
version = "1.29.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2"
checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
dependencies = [
"autocfg",
"backtrace",
"bytes",
"libc",
"mio",
"num_cpus",
"parking_lot 0.12.1",
"pin-project-lite",
"signal-hook-registry",
"socket2",
"tokio-macros",
"windows-sys 0.48.0",
]
[[package]]
name = "tokio-macros"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.18",
]
[[package]]
name = "tokio-native-tls"
version = "0.3.1"

View file

@ -2,6 +2,8 @@
, stdenv
, darwin
, fetchFromGitHub
, copyDesktopItems
, makeDesktopItem
, libxkbcommon
, openssl
, pkg-config
@ -13,27 +15,25 @@
rustPlatform.buildRustPackage rec {
pname = "halloy";
version = "23.1-alpha1";
version = "2023.4";
src = fetchFromGitHub {
owner = "squidowl";
repo = "halloy";
rev = "refs/tags/${version}";
hash = "sha256-Aq+mKctmc1RwpnUEIi+Zmr4o8n6wgQchGCunPWouLsE=";
hash = "sha256-j5Yw7rXdNd32RnbV2jQ+ZUjbm14AKZ7khQNX6A+qPAM=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"cosmic-text-0.8.0" = "sha256-p8PtXcFH+T3z6wWPFYbHFkxrkJpK4oHJ1aJvq4zld/4=";
"glyphon-0.2.0" = "sha256-7h5W82zPMw9PVZiF5HCo7HyRiVhGR8MsfgGuIjo+Kfg=";
"iced-0.9.0" = "sha256-KEBm62lDjSKXvXZssLoBfUYDSW+OpTXutxsKZMz8SE0=";
"irc-0.15.0" = "sha256-ZlwfyX4tmQr9D+blY4jWl85bwJ2tXUYp3ryLqoungII=";
"iced-0.9.0" = "sha256-z/tkUdFXNjxR5Si8dnNrkrvFos0VAqGjnFNSs88D/5w=";
"winit-0.28.6" = "sha256-szB1LCOPmPqhZNIWbeO8JMfRMcMRr0+Ze0f4uqyR8AE=";
};
};
nativeBuildInputs = [
copyDesktopItems
pkg-config
];
@ -57,6 +57,25 @@ rustPlatform.buildRustPackage rec {
wayland
];
desktopItems = [
(makeDesktopItem {
name = "org.squidowl.halloy";
desktopName = "Halloy";
comment = "IRC client written in Rust";
icon = "org.squidowl.halloy";
exec = pname;
terminal = false;
mimeTypes = [ "x-scheme-handler/irc" "x-scheme-handler/ircs" ];
categories = [ "Network" "IRCClient" ];
keywords = [ "IM" "Chat" ];
startupWMClass = "org.squidowl.halloy";
})
];
postInstall = ''
install -Dm644 assets/linux/org.squidowl.halloy.png $out/share/icons/hicolor/128x128/apps/org.squidowl.halloy.png
'';
meta = with lib; {
description = "IRC application";
homepage = "https://github.com/squidowl/halloy";

View file

@ -10,16 +10,16 @@
buildGoModule rec {
pname = "netmaker";
version = "0.20.5";
version = "0.20.6";
src = fetchFromGitHub {
owner = "gravitl";
repo = pname;
rev = "v${version}";
hash = "sha256-bnYIyYnJhrdI8zfeOBdab8yZuK2rxTO5YO6EKlaRlHo=";
hash = "sha256-2NrqplVduDsaLGla1rzLGhX1YgZL6NBFFDVQRen7Pfk=";
};
vendorHash = "sha256-Nz1vE3SelUdgJoGQLOBXtFwAtM1VTDL9oKDQqxVi8Vg=";
vendorHash = "sha256-TrVtUv1xlz3Wbw4RY4NAzWmPE8JVk+GqPveqvfTe8e4=";
inherit subPackages;
@ -39,6 +39,6 @@ buildGoModule rec {
homepage = "https://netmaker.io";
changelog = "https://github.com/gravitl/netmaker/-/releases/v${version}";
license = licenses.sspl;
maintainers = with maintainers; [ urandom ];
maintainers = with maintainers; [ urandom qjoly ];
};
}

View file

@ -30,7 +30,7 @@ let
src = fetchurl {
urls = [
"https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
"https://web.archive.org/web/20230627211859/https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
"https://web.archive.org/web/20230824011801/https://download.geogebra.org/installers/6.0/GeoGebra-Linux64-Portable-${version}.zip"
];
hash = "sha256-sNCq1Xcx/Y5r+SIRiqQYcG9dVsfIC2Ef5KJf+tgfxC8=";
};
@ -65,9 +65,9 @@ let
src = fetchurl {
urls = [
"https://download.geogebra.org/installers/6.0/GeoGebra-Classic-6-MacOS-Portable-${version}.zip"
"https://web.archive.org/web/20230627214413/https://download.geogebra.org/installers/6.0/GeoGebra-Classic-6-MacOS-Portable-${version}.zip"
"https://web.archive.org/web/20230824012900/https://download.geogebra.org/installers/6.0/GeoGebra-Classic-6-MacOS-Portable-${version}.zip"
];
hash = "sha256-HtIhhq8E1Q5B6xZ7q6Ok95Rt53VWLoGf8PbY+UEOSKg=";
hash = "sha256-CrSoKAjXiejfJHyv8wIpcRr2d8u/50HnatiDm1CdnGQ=";
};
dontUnpack = true;

View file

@ -494,7 +494,7 @@ rec {
fi
diskImage="$1"
if ! test -e "$diskImage"; then
${qemu}/bin/qemu-img create -b ${image}/disk-image.qcow2 -f qcow2 "$diskImage"
${qemu}/bin/qemu-img create -b ${image}/disk-image.qcow2 -f qcow2 -F qcow2 "$diskImage"
fi
export TMPDIR=$(mktemp -d)
export out=/dummy

View file

@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
makeFlags = [ "prefix=$(out)" ];
installFlags = [ "install-shared" ];
passthru.updateScript = gitUpdater {
# No nicer place to track releases
url = "git://git.ghostscript.com/mujs.git";

View file

@ -2,9 +2,7 @@
, boto3
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, jsonschema
, mock
, parameterized
, pydantic
, pytest-env
@ -18,7 +16,7 @@
buildPythonPackage rec {
pname = "aws-sam-translator";
version = "1.60.1";
version = "1.73.0";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -27,7 +25,7 @@ buildPythonPackage rec {
owner = "aws";
repo = "serverless-application-model";
rev = "refs/tags/v${version}";
hash = "sha256-exVB1STX8OsFnQ0pzSuR3O/FrvG2GR5MdZa8tZ9IJvI=";
hash = "sha256-rj+q/06gIvPYTJP/EH9ZrP0Sp4J3K1aCRyNkgpphWP4=";
};
propagatedBuildInputs = [
@ -37,17 +35,8 @@ buildPythonPackage rec {
typing-extensions
];
patches = [
(fetchpatch {
# relax typing-extenions dependency
url = "https://github.com/aws/serverless-application-model/commit/d1c26f7ad9510a238ba570d511d5807a81379d0a.patch";
hash = "sha256-nh6MtRgi0RrC8xLkLbU6/Ec0kYtxIG/fgjn/KLiAM0E=";
})
];
postPatch = ''
substituteInPlace requirements/base.txt \
--replace "jsonschema~=3.2" "jsonschema>=3.2"
preCheck = ''
sed -i '2ienv =\n\tAWS_DEFAULT_REGION=us-east-1' pytest.ini
substituteInPlace pytest.ini \
--replace " --cov samtranslator --cov-report term-missing --cov-fail-under 95" ""
'';
@ -61,15 +50,13 @@ buildPythonPackage rec {
pyyaml
];
doCheck = false; # tests fail in weird ways
pythonImportsCheck = [
"samtranslator"
];
meta = with lib; {
description = "Python library to transform SAM templates into AWS CloudFormation templates";
homepage = "https://github.com/awslabs/serverless-application-model";
homepage = "https://github.com/aws/serverless-application-model";
license = licenses.asl20;
maintainers = with maintainers; [ ];
};

View file

@ -2,17 +2,27 @@
, amqp
, azure-identity
, azure-servicebus
, azure-storage-queue
, backports-zoneinfo
, boto3
, buildPythonPackage
, case
, confluent-kafka
, fetchPypi
, hypothesis
, pyro4
, kazoo
, msgpack
, pycurl
, pymongo
#, pyro4
, pytestCheckHook
, pythonOlder
, pytz
, vine
, pyyaml
, redis
, sqlalchemy
, typing-extensions
, urllib3
, vine
}:
buildPythonPackage rec {
@ -36,24 +46,65 @@ buildPythonPackage rec {
backports-zoneinfo
];
passthru.optional-dependencies = {
msgpack = [
msgpack
];
yaml = [
pyyaml
];
redis = [
redis
];
mongodb = [
pymongo
];
sqs = [
boto3
urllib3
pycurl
];
zookeeper = [
kazoo
];
sqlalchemy = [
sqlalchemy
];
azurestoragequeues = [
azure-identity
azure-storage-queue
];
azureservicebus = [
azure-servicebus
];
confluentkafka = [
confluent-kafka
];
# pyro4 doesn't suppport Python 3.11
#pyro = [
# pyro4
#];
};
nativeCheckInputs = [
azure-identity
azure-servicebus
case
hypothesis
pyro4
pytestCheckHook
pytz
];
] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
pythonImportsCheck = [
"kombu"
];
disabledTests = [
# Disable pyro4 test
"test_driver_version"
];
meta = with lib; {
changelog = "https://github.com/celery/kombu/releases/tag/v${version}";
description = "Messaging library for Python";
homepage = "https://github.com/celery/kombu";
changelog = "https://github.com/celery/kombu/releases/tag/v${version}";
license = licenses.bsd3;
maintainers = with maintainers; [ fab ];
};

View file

@ -0,0 +1,26 @@
{ lib
, buildPythonPackage
, fetchPypi
}:
buildPythonPackage rec {
pname = "pyxlsb";
version = "1.0.10";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-gGLR6oYm0/GYDosc/pGkSDdHRJJC7LYQE7wt+FQ19oU=";
};
# package has no tests
doCheck = false;
pythonImportsCheck = [ "pyxlsb" ];
meta = with lib; {
description = "Excel 2007-2010 Binary Workbook (xlsb) parser";
homepage = "https://github.com/willtrnr/pyxlsb";
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ elohmeier ];
};
}

View file

@ -4,7 +4,7 @@
, pythonOlder
, cached-property
, packaging
, pdm-pep517
, pdm-backend
, requests
, flask
, pytest-httpserver
@ -15,18 +15,18 @@
buildPythonPackage rec {
pname = "unearth";
version = "0.9.2";
version = "0.10.0";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-hF9LVzOHTOO0JyEm3kluq+AKSa1nj90E1ILR533u1CU=";
hash = "sha256-1bFSpasqo+UUmhHPezulxdSTF23KOPZsqJadrdWo9kU=";
};
nativeBuildInputs = [
pdm-pep517
pdm-backend
];
propagatedBuildInputs = [

View file

@ -5,14 +5,14 @@
rustPlatform.buildRustPackage rec {
pname = "specr-transpile";
version = "0.1.21";
version = "0.1.22";
src = fetchCrate {
inherit pname version;
hash = "sha256-tFiCE6UJ7Jl/KJ7efwcHrX511Rs14ck4a7eY4dpusUc=";
hash = "sha256-D3UdQ3L7fSSFWlVSjqjEUqNCQebMHOtZnJqO7sBjm14=";
};
cargoHash = "sha256-zBo1tLyfNSt04TuYP/SYmqC0ov9HmuXF013EqvrvY20=";
cargoHash = "sha256-f0Gwxr7J56Q11Rv26mycCYbCidr5bXUwo4kmnVWMCz4=";
meta = with lib; {
description = "Converts Specr lang code to Rust";

View file

@ -2,13 +2,13 @@
let
data = stdenv.mkDerivation(finalAttrs: {
pname = "path-of-building-data";
version = "2.31.2";
version = "2.32.2";
src = fetchFromGitHub {
owner = "PathOfBuildingCommunity";
repo = "PathOfBuilding";
rev = "v${finalAttrs.version}";
hash = "sha256-E178uYVQ+B08h1lM7h+hwfMb08VZK+r25pD4haT1tc8=";
hash = "sha256-1JwnKx5ohwFGdPlgaqXwTIPcfXmH+2GJRBbQhF46mTY=";
};
nativeBuildInputs = [ unzip ];

View file

@ -2,71 +2,71 @@
"4.14": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-4.14.322-hardened1.patch",
"sha256": "1hshlg5b6n4i3zvx8rg3rnn16indg616sa4dy85w4pfcbjdzyzd3",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.322-hardened1/linux-hardened-4.14.322-hardened1.patch"
"name": "linux-hardened-4.14.323-hardened1.patch",
"sha256": "0id59byd331mz8ga02gbs3g1q0y4n2wz6mi9s0dmp1yjagjd9m70",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.323-hardened1/linux-hardened-4.14.323-hardened1.patch"
},
"sha256": "1r71g5p0cnbi0nixv91nyhv24dqmvh49rqb2lnbhsdq81fqm8ssm",
"version": "4.14.322"
"sha256": "1g2fh0mn1sv0kq2hh3pynmx2fjai7hdwhf4fnaspl7j5n88902kg",
"version": "4.14.323"
},
"4.19": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-4.19.291-hardened1.patch",
"sha256": "0mjrmgb1hqahk5l3sghyac5vza6my3sjldfh8xn498p5jq4bpdhj",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.291-hardened1/linux-hardened-4.19.291-hardened1.patch"
"name": "linux-hardened-4.19.292-hardened1.patch",
"sha256": "1na729sricp347jqp3y2j4yxxg84haa62mwmj9zq0pa1k6f037ph",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.292-hardened1/linux-hardened-4.19.292-hardened1.patch"
},
"sha256": "0cxmq8mrkw179jb8sqvad3dskllwn579g2lxcjn21jyqsf85nwz6",
"version": "4.19.291"
"sha256": "0dr12v4jqmzxcqdghqqjny5zp3g4dx9lxqrl9d4fxz23s79ji5rl",
"version": "4.19.292"
},
"5.10": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-5.10.190-hardened1.patch",
"sha256": "1w2ncb3ay8kbw7cfb0gm9q01n14npyvy6l9sqcma409hfgjnq7jv",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.190-hardened1/linux-hardened-5.10.190-hardened1.patch"
"name": "linux-hardened-5.10.191-hardened1.patch",
"sha256": "02949v0qrr4b76g9rl1z8lkdfv3mc1pfb4h14z9bd0dqg5shlz0j",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.191-hardened1/linux-hardened-5.10.191-hardened1.patch"
},
"sha256": "15zmz9pg91gph2dhigjf1z3w6gkv1kwslki5dpzhgzs03pq3swi9",
"version": "5.10.190"
"sha256": "1hk2x5dgvfq9v6161v25wz5qpzgyvqbx34xbm7ww8z4ish76cm6b",
"version": "5.10.191"
},
"5.15": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-5.15.126-hardened1.patch",
"sha256": "0bm1m5xwrcg0ckg68f70fx29air1bfh3gsaaaz8r29l5j1v1lqfp",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.126-hardened1/linux-hardened-5.15.126-hardened1.patch"
"name": "linux-hardened-5.15.127-hardened1.patch",
"sha256": "13z0x45jig81f3vhb5w3lvb554b78888grp7w60sqgglx7bckspb",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.127-hardened1/linux-hardened-5.15.127-hardened1.patch"
},
"sha256": "0vzdncrvwqxzjkpgf3gjxvl8iwz92szfyzc33cayx28ghjwsmx5d",
"version": "5.15.126"
"sha256": "09lgj9hs1cjxg84hb7avras4rlsx18igr69mx433l9hv6issbl5d",
"version": "5.15.127"
},
"5.4": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-5.4.253-hardened1.patch",
"sha256": "0rhn107hbabfvxlvnfwakrwc9w7m9m5hvcx03fssalyqd17k8jx1",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.253-hardened1/linux-hardened-5.4.253-hardened1.patch"
"name": "linux-hardened-5.4.254-hardened1.patch",
"sha256": "0yh5kb23lp89qnk90lz73j101bg20npr7clx0y8zmg6dihls764z",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.254-hardened1/linux-hardened-5.4.254-hardened1.patch"
},
"sha256": "1rr6mnkbw6gwdm9bqjhf4z2xqr458fn2qdv5b4mgm65a15gvmchz",
"version": "5.4.253"
"sha256": "1iyrm2xql15ifhy2b939ywrrc44yd41b79sjjim4vqxmc6lqsq2i",
"version": "5.4.254"
},
"6.1": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-6.1.45-hardened1.patch",
"sha256": "153798g37dicz8yhdcl4blsqd7j8sym3zxzkknjk7gldwh0n955m",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.45-hardened1/linux-hardened-6.1.45-hardened1.patch"
"name": "linux-hardened-6.1.46-hardened1.patch",
"sha256": "1filmigpmn3bly4f08450izq4gabn57xi1fkczcnmkphwp83rk4l",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.1.46-hardened1/linux-hardened-6.1.46-hardened1.patch"
},
"sha256": "14piy4cwv18a0yqp4gkrvr51z4zccyhab29n9ybxinkxdqwl68xx",
"version": "6.1.45"
"sha256": "15m228bllks2p8gpsmvplx08yxzp7bij9fnmnafqszylrk7ppxpm",
"version": "6.1.46"
},
"6.4": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-6.4.10-hardened1.patch",
"sha256": "1chja2ry1bfl1snxhc1vwpd8p86x94c9kcxf8lbrixky3ff1972y",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.4.10-hardened1/linux-hardened-6.4.10-hardened1.patch"
"name": "linux-hardened-6.4.11-hardened1.patch",
"sha256": "15c8fs5dmkm2a9j66gq5c1hcbw95p4d03y71rvh6jhglpna7b3xc",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.4.11-hardened1/linux-hardened-6.4.11-hardened1.patch"
},
"sha256": "0fgjym6y0zj7wz1byqhxmv3pc3wq412vm1dxbj4gv23pm6r3y2wq",
"version": "6.4.10"
"sha256": "0609lhgc42j9id2vvdpv8n7djabp46p2mridf9s0sg3x16snhssl",
"version": "6.4.11"
}
}

View file

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "6.1.46";
version = "6.1.47";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = versions.pad 3 version;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
sha256 = "15m228bllks2p8gpsmvplx08yxzp7bij9fnmnafqszylrk7ppxpm";
sha256 = "1azwvlzyp1s2adm17ic0jfmv3ph70wqzycb8s96z9987y1m8pmck";
};
} // (args.argsOverride or { }))

View file

@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "6.4.11";
version = "6.4.12";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = versions.pad 3 version;
@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
sha256 = "0609lhgc42j9id2vvdpv8n7djabp46p2mridf9s0sg3x16snhssl";
sha256 = "0x56b4hslm730ghvggz41fjkbzlnxp6k8857dn7iy27yavlipafc";
};
} // (args.argsOverride or { }))

View file

@ -1,8 +1,8 @@
{ stdenv, lib, fetchsvn, linux
, scripts ? fetchsvn {
url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
rev = "19386";
sha256 = "1byqf5ih3nissgjl22zs8ggmk1dxdsv6ks9jadcv8f0wn92ddlg0";
rev = "19392";
sha256 = "09d61yw3jmq1cpzp1kpnmjrnl1gxhp8p0vqnc75j05ikmibqpa4l";
}
, ...
}:

View file

@ -1,17 +1,24 @@
{ lib, buildGoModule, fetchFromGitHub, callPackage, stuffbin, nixosTests }:
{ lib, buildGoModule, fetchFromGitHub, callPackage, stuffbin, nixosTests, fetchpatch }:
buildGoModule rec {
pname = "listmonk";
version = "2.2.0";
version = "2.5.1";
src = fetchFromGitHub {
owner = "knadh";
repo = "listmonk";
rev = "v${version}";
sha256 = "sha256-dtIM0dkr8y+GbyCqrBlR5VRq6qMiZdmQyFvIoVY1eUg=";
sha256 = "sha256-gCnIblc83CmG1auvYYxqW/xBl6Oy1KHGkqSY/3yIm3I=";
};
vendorSha256 = "sha256-qeBuDM3REUxgu3ty02d7qsULH04USE0JUvBrtVnW8vg=";
patches = [
(fetchpatch {
url = "https://github.com/knadh/listmonk/pull/1479.patch";
hash = "sha256-SYACM8r+NgeSWn9VJV4+wkm+6s/MhNGwn5zyc2tw7FU=";
})
];
vendorSha256 = "sha256-0sgC1+ueZTUCP+7JwI/OKLktfMHQq959GEk1mC0TQgE=";
nativeBuildInputs = [
stuffbin

View file

@ -5,13 +5,13 @@
yarn2nix-moretea.mkYarnPackage rec {
pname = "listmonk-frontend";
version = "2.2.0";
version = "2.5.1";
src = fetchFromGitHub {
owner = "knadh";
repo = "listmonk";
rev = "v${version}";
sha256 = "sha256-dtIM0dkr8y+GbyCqrBlR5VRq6qMiZdmQyFvIoVY1eUg=";
sha256 = "sha256-gCnIblc83CmG1auvYYxqW/xBl6Oy1KHGkqSY/3yIm3I=";
};
packageJSON = ./package.json;

View file

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "matrix-sliding-sync";
version = "0.99.5";
version = "0.99.6";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "sliding-sync";
rev = "v${version}";
hash = "sha256-L2cWKPVclurOCpyQezHPB+5zYD91EREBXjRYBzjxkII=";
hash = "sha256-t0TlmoqXaKR5PrR0vlsLU84yBdXPXmE63n6p4sMvHhs=";
};
vendorHash = "sha256-447P2TbBUEHmHubHiiZCrFVCj2/tmEuYFzLo27UyCk4=";
vendorHash = "sha256-9bJ6B9/jq7q5oJGULRPoNVJiqoO+2E2QQKORy4rt6Xw=";
subPackages = [ "cmd/syncv3" ];

View file

@ -0,0 +1,50 @@
{ lib
, stdenv
, fetchFromGitHub
, bzip2
, libdivsufsort
, jsoncpp
, openssl
, mpfr
}:
stdenv.mkDerivation rec {
pname = "SP800-90B_EntropyAssessment";
version = "1.1.6";
src = fetchFromGitHub {
owner = "usnistgov";
repo = "SP800-90B_EntropyAssessment";
rev = "v${version}";
hash = "sha256-KZQ7kC0PbBkjLEQZIqYakQ91OvCxruhdfUwiRHtno3w=";
};
buildInputs = [ bzip2 libdivsufsort jsoncpp openssl mpfr ];
postPatch = ''
substituteInPlace Makefile \
--replace "-march=native" ""
'';
sourceRoot = "source/cpp";
makeFlags = [
"CROSS_COMPILE=${stdenv.cc.targetPrefix}"
"ARCH=${stdenv.hostPlatform.linuxArch}"
];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp ea_* $out/bin
runHook postInstall
'';
meta = {
homepage = "https://github.com/usnistgov/SP800-90B_EntropyAssessment";
description = "Implementation of min-entropy assessment methods included in Special Publication 800-90B.";
platforms = lib.platforms.linux;
license = lib.licenses.free; #this software uses the NIST software license
maintainers = with lib.maintainers; [ orichter thillux ];
};
}

View file

@ -0,0 +1,33 @@
{ lib
, fetchFromGitHub
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "timetagger_cli";
version = "23.8.3";
format = "setuptools";
src = fetchFromGitHub {
owner = "almarklein";
repo = "timetagger_cli";
rev = "refs/tags/v${version}";
hash = "sha256-vOpwMR7/EGf/l5KvlHn7mQ1vGGZ1Whd5x2uxLV9nCbk=";
};
propagatedBuildInputs = with python3.pkgs; [
requests
toml
];
# Project has no tests
doCheck = false;
meta = with lib; {
description = "Track your time from the command-line ";
homepage = "https://github.com/almarklein/timetagger_cli";
license = with licenses; [ mit ];
maintainers = with maintainers; [ matthiasbeyer ];
};
}

View file

@ -0,0 +1,170 @@
diff --git a/Cargo.lock b/Cargo.lock
index 2d5af9d..920b315 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -952,7 +952,7 @@ dependencies = [
[[package]]
name = "narrowlink-agent"
-version = "0.1.3"
+version = "0.1.4"
dependencies = [
"clap_lex",
"dirs",
@@ -961,8 +961,8 @@ dependencies = [
"futures-util",
"hmac",
"log",
- "narrowlink-network",
- "narrowlink-types",
+ "narrowlink-network 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "narrowlink-types 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"serde",
"serde_json",
"serde_yaml",
@@ -976,7 +976,7 @@ dependencies = [
[[package]]
name = "narrowlink-client"
-version = "0.1.3"
+version = "0.1.4"
dependencies = [
"chrono",
"clap_lex",
@@ -988,8 +988,8 @@ dependencies = [
"futures-util",
"hmac",
"log",
- "narrowlink-network",
- "narrowlink-types",
+ "narrowlink-network 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "narrowlink-types 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"rand",
"regex",
"serde",
@@ -1006,7 +1006,7 @@ dependencies = [
[[package]]
name = "narrowlink-gateway"
-version = "0.1.3"
+version = "0.1.4"
dependencies = [
"askama",
"async-trait",
@@ -1016,8 +1016,8 @@ dependencies = [
"futures-util",
"hyper",
"instant-acme",
- "narrowlink-network",
- "narrowlink-types",
+ "narrowlink-network 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "narrowlink-types 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"pem 3.0.2",
"rcgen",
"rustls",
@@ -1037,7 +1037,7 @@ dependencies = [
[[package]]
name = "narrowlink-network"
-version = "0.1.3"
+version = "0.1.4"
dependencies = [
"bytes",
"chacha20poly1305",
@@ -1045,7 +1045,30 @@ dependencies = [
"futures-util",
"hyper",
"log",
- "narrowlink-types",
+ "narrowlink-types 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+ "serde",
+ "serde_json",
+ "tokio",
+ "tokio-native-tls",
+ "tokio-rustls",
+ "tokio-tungstenite",
+ "tungstenite",
+ "webpki-roots",
+]
+
+[[package]]
+name = "narrowlink-network"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "53a3e0af078492420b410b56ffeccd77e2c0d5ac31d53cc404e6b2f14ebde31b"
+dependencies = [
+ "bytes",
+ "chacha20poly1305",
+ "env_logger",
+ "futures-util",
+ "hyper",
+ "log",
+ "narrowlink-types 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"serde",
"serde_json",
"tokio",
@@ -1058,19 +1081,38 @@ dependencies = [
[[package]]
name = "narrowlink-token-generator"
-version = "0.1.3"
+version = "0.1.4"
dependencies = [
"clap_lex",
"dirs",
"jsonwebtoken",
- "narrowlink-types",
+ "narrowlink-types 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"serde",
"serde_yaml",
]
[[package]]
name = "narrowlink-types"
-version = "0.1.3"
+version = "0.1.4"
+dependencies = [
+ "chrono",
+ "hmac",
+ "ipnet",
+ "jsonwebtoken",
+ "regex",
+ "serde",
+ "serde_json",
+ "sha3",
+ "uuid",
+ "validator",
+ "wildmatch",
+]
+
+[[package]]
+name = "narrowlink-types"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "06a2e4b95bcc18504b455bff0e8d23321c8fa3bd68526f7bf1567f918f36925f"
dependencies = [
"chrono",
"hmac",
@@ -1661,18 +1703,18 @@ dependencies = [
[[package]]
name = "serde"
-version = "1.0.185"
+version = "1.0.186"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "be9b6f69f1dfd54c3b568ffa45c310d6973a5e5148fd40cf515acaf38cf5bc31"
+checksum = "9f5db24220c009de9bd45e69fb2938f4b6d2df856aa9304ce377b3180f83b7c1"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.185"
+version = "1.0.186"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc59dfdcbad1437773485e0367fea4b090a2e0a16d9ffc46af47764536a298ec"
+checksum = "5ad697f7e0b65af4983a4ce8f56ed5b357e8d3c36651bf6a7e13639c17b8e670"
dependencies = [
"proc-macro2",
"quote",

View file

@ -0,0 +1,43 @@
{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, openssl
, stdenv
, darwin
}:
rustPlatform.buildRustPackage rec {
pname = "narrowlink";
version = "0.1.4";
src = fetchFromGitHub {
owner = "narrowlink";
repo = "narrowlink";
rev = version;
hash = "sha256-vef7ctauSl0xfYNqjvl8wLGbqzzkMItz1O7sT1UZ4b0=";
};
# Cargo.lock is outdated
cargoPatches = [ ./Cargo.lock.patch ];
cargoHash = "sha256-craOunscE6o8PXtZFCYpkFH/amkuLOK7SrV+XHbS2GM=";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
openssl
] ++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk_11_0.frameworks.IOKit
darwin.apple_sdk_11_0.frameworks.Security
];
meta = {
description = "Narrowlink securely connects devices and services together, even when both nodes are behind separate NAT";
homepage = "https://github.com/narrowlink/narrowlink";
license = with lib.licenses; [ agpl3Only mpl20 ]; # the gateway component is AGPLv3, the rest is MPLv2
maintainers = with lib.maintainers; [ dit7ya ];
};
}

View file

@ -30,13 +30,13 @@ in
with python.pkgs;
buildPythonApplication rec {
pname = "pdm";
version = "2.8.0";
version = "2.8.2";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-BgsWKP2kZfLEHgZNISyp66Yww0ajMF4RWuI6TCzwJNo=";
hash = "sha256-uUjQC/YgaCsKxMgNIoyzBaKwFQ5JfuaTHaMOPMMFv9w=";
};
nativeBuildInputs = [

View file

@ -15,12 +15,7 @@ mkDerivation rec {
owner = "plasma";
repo = "plasma-pass";
sha256 = "sha256-lCNskOXkSIcMPcMnTWE37sDCXfmtP0FhyMzxeF6L0iU=";
# So the tag is actually "v0.2.1" but the released version is later than
# 1.2.0 and the "release" on the gitlab page also says "1.2.1".
# I guess they just messed up the tag subject and description.
# Maintainer of plasma-pass was notified about this 2023-08-13
rev = "v0.2.1";
rev = "v${version}";
};
buildInputs = [

View file

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

View file

@ -0,0 +1,76 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchYarnDeps
, makeWrapper
, nodejs
, prefetch-yarn-deps
, yarn
}:
stdenv.mkDerivation (finalAttrs: {
pname = "marp-cli";
version = "3.2.0";
src = fetchFromGitHub {
owner = "marp-team";
repo = "marp-cli";
rev = "v${finalAttrs.version}";
hash = "sha256-bx5mq5KI85qUct/9Hr6mby6dWmRkmpVbiIw+M8PZas8=";
};
offlineCache = fetchYarnDeps {
yarnLock = "${finalAttrs.src}/yarn.lock";
hash = "sha256-BogCt7ezmWxv2YfhljHYoBf47/FHR0qLZosjnoQhqgs=";
};
nativeBuildInputs = [
makeWrapper
nodejs
prefetch-yarn-deps
yarn
];
configurePhase = ''
runHook preConfigure
export HOME=$(mktemp -d)
yarn config --offline set yarn-offline-mirror $offlineCache
fixup-yarn-lock yarn.lock
yarn --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive install
patchShebangs node_modules
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
yarn --offline build
runHook postBuild
'';
installPhase = ''
runHook preInstall
yarn --offline --production install
mkdir -p $out/lib/node_modules/@marp-team/marp-cli
cp -r lib node_modules marp-cli.js $out/lib/node_modules/@marp-team/marp-cli/
makeWrapper "${nodejs}/bin/node" "$out/bin/marp" \
--add-flags "$out/lib/node_modules/@marp-team/marp-cli/marp-cli.js"
runHook postInstall
'';
meta = with lib; {
description = "About A CLI interface for Marp and Marpit based converters";
homepage = "https://github.com/marp-team/marp-cli";
license = licenses.mit;
maintainers = with maintainers; [ GuillaumeDesforges ];
platforms = nodejs.meta.platforms;
mainProgram = "marp";
};
})

View file

@ -5861,6 +5861,8 @@ with pkgs;
marlin-calc = callPackage ../tools/misc/marlin-calc { };
marp-cli = callPackage ../tools/typesetting/marp { };
masscan = callPackage ../tools/security/masscan { };
massren = callPackage ../tools/misc/massren { };
@ -13738,6 +13740,8 @@ with pkgs;
timetagger = callPackage ../servers/timetagger { };
timetagger_cli = callPackage ../tools/misc/timetagger_cli { };
timezonemap = callPackage ../development/libraries/timezonemap { };
tzupdate = callPackage ../applications/misc/tzupdate { };
@ -40568,6 +40572,8 @@ with pkgs;
mysides = callPackage ../os-specific/darwin/mysides { };
narrowlink = callPackage ../tools/networking/narrowlink { };
nar-serve = callPackage ../tools/nix/nar-serve { };
neo = callPackage ../applications/misc/neo { };
@ -40875,6 +40881,8 @@ with pkgs;
sndio = callPackage ../misc/sndio { };
SP800-90B_EntropyAssessment = callPackage ../tools/misc/SP800-90B_EntropyAssessment { };
sticky = callPackage ../applications/misc/sticky { };
stork = darwin.apple_sdk_11_0.callPackage ../applications/misc/stork {

View file

@ -10734,6 +10734,8 @@ self: super: with self; {
pyxattr = callPackage ../development/python-modules/pyxattr { };
pyxlsb = callPackage ../development/python-modules/pyxlsb { };
pyworld = callPackage ../development/python-modules/pyworld { };
pyx = callPackage ../development/python-modules/pyx { };