Merge staging-next into staging
This commit is contained in:
@@ -8541,6 +8541,12 @@
|
||||
githubId = 541748;
|
||||
name = "Felipe Espinoza";
|
||||
};
|
||||
fe3dback = {
|
||||
email = "fe3dback@protonmail.com";
|
||||
github = "fe3dback";
|
||||
githubId = 2073883;
|
||||
name = "fe3dback";
|
||||
};
|
||||
feathecutie = {
|
||||
name = "feathecutie";
|
||||
github = "feathecutie";
|
||||
|
||||
@@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "asciinema";
|
||||
version = "3.1.0";
|
||||
version = "3.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "asciinema";
|
||||
repo = "asciinema";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-luIGJ4OvQSnNzyuTrjXliuMeIzPZwRnyKYdAo8mnvGg=";
|
||||
hash = "sha256-03olFWB/6O7V/B9gz6QACMxugrIx560fpp81IGVWv58=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-5hPk9rtpjK5dk1fgYXQ5KdHNvbuOTWYGpCQVLxlEvq4=";
|
||||
cargoHash = "sha256-B6s3uUPGL8m076dl3P26j+frHWLi+wzED41BQ/rQAM8=";
|
||||
|
||||
env.ASCIINEMA_GEN_DIR = "gendir";
|
||||
|
||||
|
||||
@@ -6,17 +6,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "avdl";
|
||||
version = "0.1.6+1.12.1";
|
||||
version = "0.1.7+1.12.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jonhoo";
|
||||
repo = "avdl";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-ReTsyIZ+w7wWhREmkZT6tNsEFkpF2KVJsFAhCfL5CZQ=";
|
||||
hash = "sha256-hqZt+3Bewr4+0Uh4u0pXErcLzlmL1AY4Gq41WNnQNN8=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoHash = "sha256-WiAPUD5AAsYSxJ5tn8/6ZjMf3hEOtTXzOMIVXd6f9l0=";
|
||||
cargoHash = "sha256-B0TAJHTrpDT6C57FAc9wqgyA3kkI77P2RzrInQluR2M=";
|
||||
|
||||
meta = {
|
||||
description = "Rust port of avro-tools' IDL tooling";
|
||||
|
||||
@@ -38,15 +38,15 @@ let
|
||||
ld64 = "${stdenv.cc}/nix-support/dynamic-linker";
|
||||
libs = pkgs: lib.makeLibraryPath buildInputs;
|
||||
|
||||
version = "6.00";
|
||||
dl = "0/0100009240/34";
|
||||
version = "6.20";
|
||||
dl = "8/0100007658/47";
|
||||
suffix1 = "m17n";
|
||||
suffix2 = "00";
|
||||
suffix2 = "20";
|
||||
|
||||
versionNoDots = builtins.replaceStrings [ "." ] [ "" ] version;
|
||||
src_canon = fetchurl {
|
||||
url = "http://gdlp01.c-wss.com/gds/${dl}/linux-UFRII-drv-v${versionNoDots}-${suffix1}-${suffix2}.tar.gz";
|
||||
hash = "sha256-JQAe/avYG+9TAsH26UGai6u8/upRXwZrGBc/hd4jZe8=";
|
||||
hash = "sha256-6QJaaABubEaERpJxfVGxghB8yIb2pCaQZ6+VoqjmYrk=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
--- ./cnrdrvcups-lb-6.00/cngplp/cngplpmod/execjob.c 2024-01-08 04:18:42.000000000 +0100
|
||||
+++ ./cnrdrvcups-lb-6.00/cngplp/cngplpmod/execjob.c 2024-08-06 17:13:52.234522912 +0200
|
||||
--- ./cnrdrvcups-lb-6.20/cngplp/cngplpmod/execjob.c 2024-01-08 04:18:42.000000000 +0100
|
||||
+++ ./cnrdrvcups-lb-6.20/cngplp/cngplpmod/execjob.c 2024-08-06 17:13:52.234522912 +0200
|
||||
@@ -1161,7 +1161,7 @@
|
||||
ptr_param += num;
|
||||
list_num += num;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
versionCheckHook,
|
||||
}:
|
||||
let
|
||||
version = "1.1.0";
|
||||
version = "1.2.0";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "claude-mergetool";
|
||||
@@ -16,10 +16,10 @@ rustPlatform.buildRustPackage {
|
||||
owner = "9999years";
|
||||
repo = "claude-mergetool";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-MqAtr7SxbarllzDgOWvzUooiRNf08aAVaLdZHJzMnRI=";
|
||||
hash = "sha256-d+tOjybFwWgJyI2YbAn6TF1utb7fNHrTbGp7I4yQ8UQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-RawDKKx+O79+TnLZRdatEcNDd4vLzTqHF2w1/D5zPjA=";
|
||||
cargoHash = "sha256-9YDILRyaWxqAmrAdQ2iDvTsn1VTFfFIpv0HMqi9U0q8=";
|
||||
|
||||
doInstallCheck = true;
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cmdstan";
|
||||
version = "2.37.0";
|
||||
version = "2.38.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stan-dev";
|
||||
repo = "cmdstan";
|
||||
tag = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-bKkzzFkMF8+Ufz/EdKLJdB290Fvc2t8b47xB8oPz/sk=";
|
||||
hash = "sha256-4Mx4LvXW2lYOSSOgNT0f+unry6mBobgGTDLwtiypHBU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
}:
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "dns-collector";
|
||||
version = "2.0.0";
|
||||
version = "2.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dmachard";
|
||||
repo = "dns-collector";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-d6FFxVGolXfZF4Ulklxg8u26DdV9yHeDUf2IEEryELw=";
|
||||
hash = "sha256-b1fKxjdZpCuPg+lRhpYn8tjVOqQU1kyhta63G+8Pxr4=";
|
||||
};
|
||||
subPackages = [ "." ];
|
||||
|
||||
@@ -27,7 +27,7 @@ buildGoModule (finalAttrs: {
|
||||
"-X github.com/prometheus/common/version.Version=${finalAttrs.version}"
|
||||
];
|
||||
|
||||
vendorHash = "sha256-4gk7LwRDrTiMCrR6JJpdSvCmNa7wQ5Hk06OGd6/SACc=";
|
||||
vendorHash = "sha256-UNp2lttwBQM9Xx6+aOQGKdOgeMBsyCHQdhCAbyvDCN4=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
buildGoModule {
|
||||
pname = "echoip";
|
||||
version = "0-unstable-2026-02-17";
|
||||
version = "0-unstable-2026-02-28";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mpolden";
|
||||
repo = "echoip";
|
||||
rev = "c3394af786b05879fc1219eb0d33b82b8dd806b0";
|
||||
hash = "sha256-L1cLLEhPGtLYaJcbc26YPuUCZh8pmbceIWQ5iIEh4i4=";
|
||||
rev = "746db5ebf42f87da5d487de444dccc884f9d1c39";
|
||||
hash = "sha256-yWkEHBWVLEofC6to60R6nMtF4mpMxHMDO22QntNkYGY=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-gNXu1yfvJnviPDeG0oNJ9MD5R93rjEV/n8hrADi8ZnM=";
|
||||
|
||||
@@ -29,7 +29,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
description = "Fcitx 5 pinyin dictionary from zh.moegirl.org.cn";
|
||||
homepage = "https://github.com/outloudvi/mw2fcitx";
|
||||
license = with lib.licenses; [
|
||||
unlicense
|
||||
mit
|
||||
cc-by-nc-sa-30
|
||||
];
|
||||
maintainers = with lib.maintainers; [ Guanran928 ];
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "firecracker";
|
||||
version = "1.14.0";
|
||||
version = "1.14.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firecracker-microvm";
|
||||
repo = "firecracker";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-J44D6LeIq/0HDLw/vd1AII+pSJMcligJkyvpQPZun4U=";
|
||||
hash = "sha256-XMQNIIUo8LP/Ypgf5cGNE379tk4yFJ5ExIJc4+ukv7w=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-HG0HZes01shEtuVK7QCYmy/zsU0snbwsqCtev7u3/WI=";
|
||||
cargoHash = "sha256-H9t2XUk/J7kcGlers8rQLWPMThGpr+XAiemWQisCjh4=";
|
||||
|
||||
# For aws-lc-sys@0.22.0: use external bindgen.
|
||||
env.AWS_LC_SYS_EXTERNAL_BINDGEN = "true";
|
||||
@@ -76,6 +76,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
"--skip=env::tests::test_mknod_and_own_dev"
|
||||
"--skip=env::tests::test_setup_jailed_folder"
|
||||
"--skip=env::tests::test_userfaultfd_dev"
|
||||
"--skip=env::tests::test_copy_exec_to_chroot"
|
||||
"--skip=resource_limits::tests::test_set_resource_limits"
|
||||
];
|
||||
|
||||
|
||||
@@ -43,8 +43,8 @@ let
|
||||
inherit pname version;
|
||||
pnpm = pnpm_9;
|
||||
src = "${src}/rust/gui-client";
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-ttbTYBuUv0vyiYzrFATF4x/zngsRXjuLPfL3qW2HEe4=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-akanXiWehhQRx6WHN75PjYvFxFiSsJ5dJaguJBTM9J0=";
|
||||
};
|
||||
pnpmRoot = "rust/gui-client";
|
||||
|
||||
|
||||
@@ -36,8 +36,8 @@ beam27Packages.mixRelease rec {
|
||||
inherit pname version;
|
||||
pnpm = pnpm_9;
|
||||
src = "${src}/apps/web/assets";
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-40vtQIBhJNnzdxkAOVAcPN57IuD0IB6LFxGICo68AbQ=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-tB0y3T/dZBe8BHz7AV913zQ4oQu7VLyqHCnzBycNg18=";
|
||||
};
|
||||
pnpmRoot = "apps/web/assets";
|
||||
|
||||
|
||||
@@ -38,8 +38,8 @@ stdenv.mkDerivation rec {
|
||||
src
|
||||
;
|
||||
pnpm = pnpm_10;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-6I10NSmTDd/wmL/HfAgLH+G2MDfuPmrTePNDDy08nRA=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-EP7bpbJUcKmHm7KMlKc0Fz2u0niQ3jC7YN/9pp7vucE=";
|
||||
};
|
||||
|
||||
env = {
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.0.09";
|
||||
version = "2.0.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Card-Forge";
|
||||
repo = "forge";
|
||||
rev = "forge-${version}";
|
||||
hash = "sha256-TRK6fUOLbI3lLdkSXvvuix0sGbpKLvMmYMx5ozViDRE=";
|
||||
hash = "sha256-+HMR5fI5Ho6KyfO/IZab2cZ2N7At4Vz8vKnYXlF9Dvg=";
|
||||
};
|
||||
|
||||
# launch4j downloads and runs a native binary during the package phase.
|
||||
|
||||
@@ -121,8 +121,8 @@ python.pkgs.buildPythonApplication rec {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit pname version src;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-g7YX2fVXGmb3Qq9NNCb294bk4/0khcIZVSskYbE8Mdw=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-NbfCVD+gmtoxuYUCumTKj9P72utK787VdlnuU4lMMGc=";
|
||||
};
|
||||
|
||||
postBuild = ''
|
||||
|
||||
@@ -17,13 +17,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gforth";
|
||||
version = "0.7.9_20251203";
|
||||
version = "0.7.9_20260224";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "forthy42";
|
||||
repo = "gforth";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-d1LU6FGnGOzL5Tdl0VLkYzHH+pUevGNCNwIqudS8emg=";
|
||||
hash = "sha256-8qHfoqhzDn3FmKqTCo/72xtjWFUo9+crFFcGvbHxI0E=";
|
||||
};
|
||||
|
||||
patches = [ ./use-nproc-instead-of-fhs.patch ];
|
||||
@@ -65,5 +65,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
broken = stdenv.hostPlatform.isDarwin;
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "gforth";
|
||||
maintainers = with lib.maintainers; [ rafaelrc ];
|
||||
};
|
||||
})
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
# go-arch-lint has historically required code changes to support new versions of
|
||||
# go so always use the latest specific go version that go-arch-lint supports
|
||||
# rather than buildGoLatestModule.
|
||||
# This can be bumped when the release notes of go-arch-lint detail support for
|
||||
# new version of go.
|
||||
buildGo125Module,
|
||||
buildPackages,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
lib,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
buildGo125Module (finalAttrs: {
|
||||
pname = "go-arch-lint";
|
||||
version = "1.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fe3dback";
|
||||
repo = "go-arch-lint";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-TtYeowoL8NEOw1coiLHJ/epcFMaxT4zsBSsnLgmhKDc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-2n7OjF4gl+qq9M5EtU0nmgWwRPZ3YvmLQDAgJ8w9S1M=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X github.com/fe3dback/go-arch-lint/internal/app.Version=${finalAttrs.version}"
|
||||
"-X github.com/fe3dback/go-arch-lint/internal/app.CommitHash=v${finalAttrs.version}"
|
||||
"-X github.com/fe3dback/go-arch-lint/internal/app.BuildTime=19700101-00:00:00"
|
||||
];
|
||||
|
||||
postInstall =
|
||||
let
|
||||
goarchlintBin =
|
||||
if stdenv.buildPlatform.canExecute stdenv.hostPlatform then
|
||||
"$out"
|
||||
else
|
||||
lib.getBin buildPackages.go-arch-lint;
|
||||
in
|
||||
''
|
||||
installShellCompletion --cmd go-arch-lint \
|
||||
--bash <(${goarchlintBin}/bin/go-arch-lint completion bash) \
|
||||
--fish <(${goarchlintBin}/bin/go-arch-lint completion fish) \
|
||||
--zsh <(${goarchlintBin}/bin/go-arch-lint completion zsh)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "GoLang architecture linter (checker) tool. Will check all project import path and compare with arch rules defined in yml file";
|
||||
homepage = "https://github.com/fe3dback/go-arch-lint";
|
||||
changelog = "https://github.com/fe3dback/go-arch-lint/releases/tag/v${finalAttrs.version}";
|
||||
mainProgram = "go-arch-lint";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
fe3dback
|
||||
];
|
||||
};
|
||||
})
|
||||
@@ -28,8 +28,8 @@ let
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
sourceRoot = "${finalAttrs.src.name}/client";
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-cJLJMJNDPr73w5IiB1/zIloIdsUhqI+o/JqoKNwNweI=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-1YZf32lDwX3e9EC0Uixyo+yDczfU4/ZSlG+jFZwf+38=";
|
||||
};
|
||||
|
||||
pnpmRoot = "client";
|
||||
|
||||
@@ -27,11 +27,11 @@ appimageTools.wrapType2 rec {
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${pname} $out/bin/GoldenCheetah
|
||||
mkdir -p $out/share/applications
|
||||
mkdir -p $out/share/pixmaps
|
||||
mkdir -p $out/share/icons/hicolor/512x512/apps
|
||||
cp ${appimageContents}/GoldenCheetah.desktop $out/share/applications/
|
||||
substituteInPlace $out/share/applications/GoldenCheetah.desktop --replace-fail \
|
||||
"Exec=GoldenCheetah" "Exec=env QT_PLUGIN_PATH= GoldenCheetah"
|
||||
cp ${appimageContents}/gc.png $out/share/pixmaps/
|
||||
cp ${appimageContents}/gc.png $out/share/icons/hicolor/512x512/apps/
|
||||
'';
|
||||
meta = {
|
||||
inherit (commonMeta)
|
||||
|
||||
@@ -100,7 +100,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
mkdir -p $out/bin
|
||||
cp src/GoldenCheetah $out/bin
|
||||
install -Dm644 "${desktopItem}/share/applications/"* -t $out/share/applications/
|
||||
install -Dm644 src/Resources/images/gc.png $out/share/pixmaps/goldencheetah.png
|
||||
install -Dm644 src/Resources/images/gc.png $out/share/icons/hicolor/512x512/apps/goldencheetah.png
|
||||
|
||||
runHook postInstall
|
||||
''
|
||||
|
||||
@@ -46,8 +46,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-8dSyU9arSvISc2kDWbg/CP6L4sZjZi/Zv7TZN4ONOjQ=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-NKind57XDW7I5XNmjAu4cqkK5UVNAaKewpfOTNzF2BM=";
|
||||
};
|
||||
|
||||
env = {
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
lib,
|
||||
appimageTools,
|
||||
fetchurl,
|
||||
version ? "0.9.15.7",
|
||||
hash ? "sha256-VscfmpCM4tpywaJrjF5I9htzDg/z98BKAU63ajr+lVM=",
|
||||
version ? "0.9.15.9",
|
||||
hash ? "sha256-aJaygIDn3LxP5KhIpyLpof3OaNJrdWh0InBlb90p/uk=",
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
@@ -41,8 +41,8 @@ buildGoModule {
|
||||
inherit pname version;
|
||||
src = "${src}/frontend";
|
||||
pnpm = pnpm_9;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-MG2IzSOjdGIjuKOtbDlI6UY+67+6/AAsnBscFvs2V4o=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-105HgNiC7QCsUn6mcYyRCqhOuMl8bZQlwoaOavi3dkk=";
|
||||
};
|
||||
pnpmRoot = "../frontend";
|
||||
|
||||
|
||||
@@ -16,14 +16,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "hydrus";
|
||||
version = "660";
|
||||
version = "661";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hydrusnetwork";
|
||||
repo = "hydrus";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-nIXzSwdf/9Pd2mQoFYzttYvmUOFhytYQSEmIkFdaKTY=";
|
||||
hash = "sha256-H7dL8hbWWEVZUs9tlisoDVJc60bxX4k/AURm5SIEhWI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -31,8 +31,8 @@ stdenv.mkDerivation rec {
|
||||
src
|
||||
;
|
||||
pnpm = pnpm_8;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-m1eXBE5rakcq8NGnPC9clAAvNJQrN5RuSQ94zfgGZxw=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-dsjf2TyLAqPzR8OXJgNcoOdDZj2t+H+tLfRhfPsu1G8=";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
|
||||
@@ -32,8 +32,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
inherit pnpm;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-3df72m/ARgfelBLE6Bhi8+ThHytowVOBL2Ndk7auDgg=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-kCM6oNfBlVsjItzBDxSbeLu0+53I5XzxcerpCTEvZ0M=";
|
||||
};
|
||||
|
||||
buildInputs = [ sqlite ];
|
||||
|
||||
@@ -9,15 +9,15 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "jsonschema-cli";
|
||||
version = "0.42.1";
|
||||
version = "0.44.0";
|
||||
|
||||
src = fetchCrate {
|
||||
pname = "jsonschema-cli";
|
||||
inherit (finalAttrs) version;
|
||||
hash = "sha256-tjjgj0PHb1vNe07yNgeU1vC9OiCwcjJ8dyt9k0tRZwY=";
|
||||
hash = "sha256-rytVrWBvUMaUZvHV4emXSnTUl4eC4uR8HS/1J4j9GwA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-r/Yc6PX1wT2hpGxqisrIcoVF/dZmafCJ244l8KiMXT0=";
|
||||
cargoHash = "sha256-P8o0tAcFQPu5ta8qc8basn1+XjHvyjn1aGCW16kuYug=";
|
||||
|
||||
preCheck = ''
|
||||
export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
|
||||
|
||||
@@ -66,6 +66,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
./configure
|
||||
|
||||
# Kissat's configure only detects cross-compilation for *-linux-gnu-gcc,
|
||||
# missing other cross toolchains (e.g. musl). Fix AR in the generated makefile.
|
||||
substituteInPlace build/makefile \
|
||||
--replace-fail "AR=ar" "AR=${stdenv.cc.targetPrefix}ar"
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
postInstall = ''
|
||||
install -Dm444 res/lactd.service -t $out/lib/systemd/system
|
||||
install -Dm444 res/io.github.ilya_zlobintsev.LACT.desktop -t $out/share/applications
|
||||
install -Dm444 res/io.github.ilya_zlobintsev.LACT.svg -t $out/share/pixmaps
|
||||
install -Dm444 res/io.github.ilya_zlobintsev.LACT.svg -t $out/share/icons/hicolor/scalable/apps
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
|
||||
Generated
+44
-44
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "68e4857d05b187b0f49a9eb15dda2c5a",
|
||||
"content-hash": "eea005815db4191a8533c86641935c67",
|
||||
"packages": [
|
||||
{
|
||||
"name": "carbonphp/carbon-doctrine-types",
|
||||
@@ -167,7 +167,7 @@
|
||||
},
|
||||
{
|
||||
"name": "illuminate/collections",
|
||||
"version": "v12.52.0",
|
||||
"version": "v12.53.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/collections.git",
|
||||
@@ -227,7 +227,7 @@
|
||||
},
|
||||
{
|
||||
"name": "illuminate/conditionable",
|
||||
"version": "v12.52.0",
|
||||
"version": "v12.53.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/conditionable.git",
|
||||
@@ -273,16 +273,16 @@
|
||||
},
|
||||
{
|
||||
"name": "illuminate/contracts",
|
||||
"version": "v12.52.0",
|
||||
"version": "v12.53.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/contracts.git",
|
||||
"reference": "620d82bad07f55fcb7f5125f44c9d9b93335fb8c"
|
||||
"reference": "099fd9b56ccaf776facaa27699b960a3f2451127"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/contracts/zipball/620d82bad07f55fcb7f5125f44c9d9b93335fb8c",
|
||||
"reference": "620d82bad07f55fcb7f5125f44c9d9b93335fb8c",
|
||||
"url": "https://api.github.com/repos/illuminate/contracts/zipball/099fd9b56ccaf776facaa27699b960a3f2451127",
|
||||
"reference": "099fd9b56ccaf776facaa27699b960a3f2451127",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -317,11 +317,11 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2026-02-10T18:16:44+00:00"
|
||||
"time": "2026-02-20T14:37:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "illuminate/filesystem",
|
||||
"version": "v12.52.0",
|
||||
"version": "v12.53.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/filesystem.git",
|
||||
@@ -388,7 +388,7 @@
|
||||
},
|
||||
{
|
||||
"name": "illuminate/macroable",
|
||||
"version": "v12.52.0",
|
||||
"version": "v12.53.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/macroable.git",
|
||||
@@ -434,7 +434,7 @@
|
||||
},
|
||||
{
|
||||
"name": "illuminate/reflection",
|
||||
"version": "v12.52.0",
|
||||
"version": "v12.53.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/reflection.git",
|
||||
@@ -485,16 +485,16 @@
|
||||
},
|
||||
{
|
||||
"name": "illuminate/support",
|
||||
"version": "v12.52.0",
|
||||
"version": "v12.53.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/illuminate/support.git",
|
||||
"reference": "6e9de455bcb232372db11531b72a01d4eca83ef2"
|
||||
"reference": "18d7d75366ddb9eded3b7f05173f791da47faf34"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/illuminate/support/zipball/6e9de455bcb232372db11531b72a01d4eca83ef2",
|
||||
"reference": "6e9de455bcb232372db11531b72a01d4eca83ef2",
|
||||
"url": "https://api.github.com/repos/illuminate/support/zipball/18d7d75366ddb9eded3b7f05173f791da47faf34",
|
||||
"reference": "18d7d75366ddb9eded3b7f05173f791da47faf34",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -561,7 +561,7 @@
|
||||
"issues": "https://github.com/laravel/framework/issues",
|
||||
"source": "https://github.com/laravel/framework"
|
||||
},
|
||||
"time": "2026-02-14T23:03:41+00:00"
|
||||
"time": "2026-02-23T15:44:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "laravel/prompts",
|
||||
@@ -958,16 +958,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v7.4.4",
|
||||
"version": "v7.4.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894"
|
||||
"reference": "6d643a93b47398599124022eb24d97c153c12f27"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/41e38717ac1dd7a46b6bda7d6a82af2d98a78894",
|
||||
"reference": "41e38717ac1dd7a46b6bda7d6a82af2d98a78894",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/6d643a93b47398599124022eb24d97c153c12f27",
|
||||
"reference": "6d643a93b47398599124022eb24d97c153c12f27",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1032,7 +1032,7 @@
|
||||
"terminal"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/console/tree/v7.4.4"
|
||||
"source": "https://github.com/symfony/console/tree/v7.4.6"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1052,7 +1052,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2026-01-13T11:36:38+00:00"
|
||||
"time": "2026-02-25T17:02:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/deprecation-contracts",
|
||||
@@ -1123,16 +1123,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v7.4.5",
|
||||
"version": "v7.4.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/finder.git",
|
||||
"reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb"
|
||||
"reference": "8655bf1076b7a3a346cb11413ffdabff50c7ffcf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/ad4daa7c38668dcb031e63bc99ea9bd42196a2cb",
|
||||
"reference": "ad4daa7c38668dcb031e63bc99ea9bd42196a2cb",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/8655bf1076b7a3a346cb11413ffdabff50c7ffcf",
|
||||
"reference": "8655bf1076b7a3a346cb11413ffdabff50c7ffcf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1167,7 +1167,7 @@
|
||||
"description": "Finds files and directories via an intuitive fluent interface",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/finder/tree/v7.4.5"
|
||||
"source": "https://github.com/symfony/finder/tree/v7.4.6"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -1187,7 +1187,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2026-01-26T15:07:59+00:00"
|
||||
"time": "2026-01-29T09:40:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
@@ -1918,16 +1918,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/string",
|
||||
"version": "v8.0.4",
|
||||
"version": "v8.0.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/string.git",
|
||||
"reference": "758b372d6882506821ed666032e43020c4f57194"
|
||||
"reference": "6c9e1108041b5dce21a9a4984b531c4923aa9ec4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/758b372d6882506821ed666032e43020c4f57194",
|
||||
"reference": "758b372d6882506821ed666032e43020c4f57194",
|
||||
"url": "https://api.github.com/repos/symfony/string/zipball/6c9e1108041b5dce21a9a4984b531c4923aa9ec4",
|
||||
"reference": "6c9e1108041b5dce21a9a4984b531c4923aa9ec4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1984,7 +1984,7 @@
|
||||
"utf8"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/string/tree/v8.0.4"
|
||||
"source": "https://github.com/symfony/string/tree/v8.0.6"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2004,20 +2004,20 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2026-01-12T12:37:40+00:00"
|
||||
"time": "2026-02-09T10:14:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
"version": "v8.0.4",
|
||||
"version": "v8.0.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation.git",
|
||||
"reference": "db70c8ce7db74fd2da7b1d268db46b2a8ce32c10"
|
||||
"reference": "13ff19bcf2bea492d3c2fbeaa194dd6f4599ce1b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/db70c8ce7db74fd2da7b1d268db46b2a8ce32c10",
|
||||
"reference": "db70c8ce7db74fd2da7b1d268db46b2a8ce32c10",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/13ff19bcf2bea492d3c2fbeaa194dd6f4599ce1b",
|
||||
"reference": "13ff19bcf2bea492d3c2fbeaa194dd6f4599ce1b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2077,7 +2077,7 @@
|
||||
"description": "Provides tools to internationalize your application",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/translation/tree/v8.0.4"
|
||||
"source": "https://github.com/symfony/translation/tree/v8.0.6"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -2097,7 +2097,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2026-01-13T13:06:50+00:00"
|
||||
"time": "2026-02-17T13:07:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation-contracts",
|
||||
@@ -2495,11 +2495,11 @@
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan",
|
||||
"version": "2.1.39",
|
||||
"version": "2.1.40",
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/c6f73a2af4cbcd99c931d0fb8f08548cc0fa8224",
|
||||
"reference": "c6f73a2af4cbcd99c931d0fb8f08548cc0fa8224",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/9b2c7aeb83a75d8680ea5e7c9b7fca88052b766b",
|
||||
"reference": "9b2c7aeb83a75d8680ea5e7c9b7fca88052b766b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2544,7 +2544,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2026-02-11T14:48:56+00:00"
|
||||
"time": "2026-02-23T15:04:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
|
||||
@@ -7,19 +7,19 @@
|
||||
}:
|
||||
php.buildComposerProject2 (finalAttrs: {
|
||||
pname = "laravel";
|
||||
version = "5.24.6";
|
||||
version = "5.24.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "laravel";
|
||||
repo = "installer";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-zXgLIp2tTPwGvZTT0rJqbbsO0Od/8sf6NQIgx/xhfJE=";
|
||||
hash = "sha256-szyoqX4wgJpQZO9H/WVq70A5n/3qV1SdBCKQc9vm4WY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
composerLock = ./composer.lock;
|
||||
vendorHash = "sha256-pegatl+tktcTSFV5GuxiyXvmZGVC+57DzWAIsOoZJWE=";
|
||||
vendorHash = "sha256-yX6EmbopVUpbbVBfep1Rk84wUK5sxjrlzvii+s39SqA=";
|
||||
|
||||
# Adding npm (nodejs) and php composer to path
|
||||
postInstall = ''
|
||||
|
||||
@@ -47,8 +47,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-9sdN5tbCCe/euTo8zRkU0C3yQ8sAufPyN8a4GeJW/Us=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-MgUOOr188t+t/4sTXVpbr+xYT/1qf7/B0ZG0w+QkVxc=";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
|
||||
@@ -58,7 +58,7 @@ gcc14Stdenv.mkDerivation (finalAttrs: {
|
||||
"--enable-shared"
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
doCheck = lib.meta.availableOn stdenv.hostPlatform postgresqlTestHook;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
${lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||
install -Dm555 -t $out/bin unix/{librecad,ttf2lff}
|
||||
install -Dm444 -t $out/share/applications desktop/librecad.desktop
|
||||
install -Dm644 -t $out/share/pixmaps librecad/res/main/librecad.png
|
||||
install -Dm644 -t $out/share/icons/hicolor/128x128/apps librecad/res/main/librecad.png
|
||||
install -Dm444 desktop/librecad.sharedmimeinfo $out/share/mime/packages/librecad.xml
|
||||
install -Dm444 desktop/graphics_icons_and_splash/Icon\ LibreCAD/Icon_Librecad.svg \
|
||||
$out/share/icons/hicolor/scalable/apps/librecad.svg
|
||||
|
||||
@@ -1,84 +0,0 @@
|
||||
{
|
||||
"name": "matrix-appservice-discord",
|
||||
"version": "4.0.0",
|
||||
"description": "A bridge between Matrix and Discord",
|
||||
"main": "discordas.js",
|
||||
"engines": {
|
||||
"npm": "please-use-yarn",
|
||||
"node": ">=18 <=20"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "mocha -r ts-node/register test/config.ts test/test_*.ts test/**/test_*.ts",
|
||||
"lint": "eslint -c .eslintrc --max-warnings 200 src/**/*.ts test/**/*.ts",
|
||||
"coverage": "tsc && nyc mocha build/test/config.js build/test",
|
||||
"build": "tsc",
|
||||
"postinstall": "yarn build",
|
||||
"start": "node ./build/src/discordas.js",
|
||||
"debug": "node --inspect ./build/src/discordas.js",
|
||||
"addbot": "node ./build/tools/addbot.js",
|
||||
"adminme": "node ./build/tools/adminme.js",
|
||||
"usertool": "node ./build/tools/userClientTools.js",
|
||||
"directoryfix": "node ./build/tools/addRoomsToDirectory.js",
|
||||
"ghostfix": "node ./build/tools/ghostfix.js",
|
||||
"chanfix": "node ./build/tools/chanfix.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/Half-Shot/matrix-appservice-discord.git"
|
||||
},
|
||||
"keywords": [
|
||||
"matrix",
|
||||
"discord",
|
||||
"bridge",
|
||||
"application-service",
|
||||
"as"
|
||||
],
|
||||
"author": "Half-Shot",
|
||||
"license": "Apache-2.0",
|
||||
"bugs": {
|
||||
"url": "https://github.com/Half-Shot/matrix-appservice-discord/issues"
|
||||
},
|
||||
"homepage": "https://github.com/Half-Shot/matrix-appservice-discord#readme",
|
||||
"dependencies": {
|
||||
"@mx-puppet/better-discord.js": "^12.5.1",
|
||||
"@mx-puppet/matrix-discord-parser": "^0.1.10",
|
||||
"better-sqlite3": "^8.6.0",
|
||||
"command-line-args": "^5.1.1",
|
||||
"command-line-usage": "^6.1.0",
|
||||
"escape-html": "^1.0.3",
|
||||
"escape-string-regexp": "^4.0.0",
|
||||
"js-yaml": "^3.14.0",
|
||||
"marked": "^1.2.2",
|
||||
"matrix-appservice-bridge": "^9.0.1",
|
||||
"mime": "^2.4.6",
|
||||
"p-queue": "^6.4.0",
|
||||
"pg-promise": "^10.5.6",
|
||||
"prom-client": "^12.0.0",
|
||||
"uuid": "^8.3.1",
|
||||
"winston": "^3.2.1",
|
||||
"winston-daily-rotate-file": "^4.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@istanbuljs/nyc-config-typescript": "^1.0.1",
|
||||
"@types/better-sqlite3": "^5.4.1",
|
||||
"@types/chai": "^4.2.11",
|
||||
"@types/command-line-args": "^5.0.0",
|
||||
"@types/express": "^4.17.9",
|
||||
"@types/js-yaml": "^3.12.4",
|
||||
"@types/marked": "^1.1.0",
|
||||
"@types/mime": "^2.0.2",
|
||||
"@types/mocha": "^7.0.2",
|
||||
"@types/node": "^14",
|
||||
"@typescript-eslint/eslint-plugin": "^5.4.0",
|
||||
"@typescript-eslint/parser": "^5.4.0",
|
||||
"chai": "^4.2.0",
|
||||
"eslint": "^7.4.0",
|
||||
"mocha": "^8.0.1",
|
||||
"nyc": "^15.1.0",
|
||||
"proxyquire": "^1.7.11",
|
||||
"source-map-support": "^0.5.19",
|
||||
"ts-node": "^8.10.2",
|
||||
"typescript": "^4.2.3",
|
||||
"why-is-node-running": "^2.2.0"
|
||||
}
|
||||
}
|
||||
@@ -1,74 +1,108 @@
|
||||
{
|
||||
lib,
|
||||
mkYarnPackage,
|
||||
stdenv,
|
||||
fetchYarnDeps,
|
||||
fetchFromGitHub,
|
||||
srcOnly,
|
||||
makeWrapper,
|
||||
removeReferencesTo,
|
||||
|
||||
# native
|
||||
yarn,
|
||||
yarnConfigHook,
|
||||
node-gyp,
|
||||
python3,
|
||||
srcOnly,
|
||||
removeReferencesTo,
|
||||
yarnBuildHook,
|
||||
makeWrapper,
|
||||
|
||||
# buildInputs
|
||||
nodejs_20,
|
||||
matrix-sdk-crypto-nodejs,
|
||||
napi-rs-cli,
|
||||
}:
|
||||
|
||||
let
|
||||
nodejs = nodejs_20; # only supports nodejs v18.X - v20.X
|
||||
pin = lib.importJSON ./pin.json;
|
||||
nodeSources = srcOnly nodejs;
|
||||
|
||||
yarn' = yarn.override {
|
||||
nodejs = nodejs_20;
|
||||
};
|
||||
yarnConfigHook' = yarnConfigHook.override {
|
||||
nodejs = nodejs_20;
|
||||
yarn = yarn';
|
||||
};
|
||||
yarnBuildHook' = yarnBuildHook.override {
|
||||
nodejs = nodejs_20;
|
||||
yarn = yarn';
|
||||
};
|
||||
matrix-sdk-crypto-nodejs' = matrix-sdk-crypto-nodejs.override {
|
||||
nodejs = nodejs_20;
|
||||
napi-rs-cli = napi-rs-cli.override {
|
||||
nodejs = nodejs_20;
|
||||
};
|
||||
};
|
||||
nodeSources = srcOnly nodejs_20;
|
||||
in
|
||||
mkYarnPackage rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "matrix-appservice-discord";
|
||||
inherit (pin) version;
|
||||
inherit nodejs;
|
||||
version = "4.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "matrix-org";
|
||||
repo = "matrix-appservice-discord";
|
||||
rev = "v${version}";
|
||||
hash = pin.srcHash;
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-UyRMMbnX4aJVv8oQfgn/rkZT1cRATtcgFj4fXszDKqo=";
|
||||
};
|
||||
|
||||
packageJSON = ./package.json;
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/yarn.lock";
|
||||
sha256 = pin.yarnSha256;
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = "${finalAttrs.src}/yarn.lock";
|
||||
hash = "sha256-s8ictJX65mSU2oxaIuCswfb2flo2RN9a1JZevacN/Ic=";
|
||||
};
|
||||
|
||||
pkgConfig = {
|
||||
"@matrix-org/matrix-sdk-crypto-nodejs" = {
|
||||
postInstall = ''
|
||||
# replace with the built package
|
||||
cd ..
|
||||
rm -r matrix-sdk-crypto-nodejs
|
||||
ln -s ${matrix-sdk-crypto-nodejs}/lib/node_modules/@matrix-org/* ./
|
||||
'';
|
||||
};
|
||||
nativeBuildInputs = [
|
||||
yarnConfigHook'
|
||||
yarnBuildHook'
|
||||
nodejs_20
|
||||
node-gyp
|
||||
python3
|
||||
removeReferencesTo
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
better-sqlite3 = {
|
||||
nativeBuildInputs = [ python3 ];
|
||||
postInstall = ''
|
||||
# build native sqlite bindings
|
||||
npm run build-release --offline --nodedir="${nodeSources}"
|
||||
find build -type f -exec \
|
||||
${removeReferencesTo}/bin/remove-references-to \
|
||||
-t "${nodeSources}" {} \;
|
||||
'';
|
||||
};
|
||||
};
|
||||
preBuild = ''
|
||||
cp -r ${matrix-sdk-crypto-nodejs'}/lib/node_modules/@matrix-org ./node_modules
|
||||
cd ./node_modules/better-sqlite3
|
||||
npm run build-release --offline --nodedir="${nodeSources}"
|
||||
find build -type f -exec remove-references-to -t "${nodeSources}" {} \;
|
||||
cd ../../
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
# npmHooks.npmInstallHook and yarnInstallHook don't work for this package
|
||||
# because:
|
||||
#
|
||||
# - There is no `bin` key in
|
||||
# package.json, which instructs it to create a binary file for the package.
|
||||
# - The build/ directory, containing the compiled `.js` files from some
|
||||
# doesn't get picked up by `yarn pack`.
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
mkdir -p $out/lib/node_modules
|
||||
|
||||
# compile TypeScript sources
|
||||
yarn --offline build
|
||||
mv build $out/lib/node_modules/matrix-appservice-discord
|
||||
cp -r node_modules $out/lib/node_modules/matrix-appservice-discord
|
||||
makeWrapper '${nodejs_20}/bin/node' "$out/bin/matrix-appservice-discord" \
|
||||
--add-flags "$out/lib/node_modules/matrix-appservice-discord/src/discordas.js"
|
||||
|
||||
runHook postBuild
|
||||
# admin tools wrappers
|
||||
for toolPath in $out/lib/node_modules/matrix-appservice-discord/tools/*; do
|
||||
makeWrapper '${nodejs_20}/bin/node' \
|
||||
"$out/bin/matrix-appservice-discord-$(basename $toolPath .js)" \
|
||||
--add-flags "$toolPath"
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
@@ -78,29 +112,6 @@ mkYarnPackage rec {
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
OUT_JS_DIR="$out/${passthru.nodeAppDir}/build"
|
||||
|
||||
# server wrapper
|
||||
makeWrapper '${nodejs}/bin/node' "$out/bin/${pname}" \
|
||||
--add-flags "$OUT_JS_DIR/src/discordas.js"
|
||||
|
||||
# admin tools wrappers
|
||||
for toolPath in $OUT_JS_DIR/tools/*; do
|
||||
makeWrapper '${nodejs}/bin/node' \
|
||||
"$out/bin/${pname}-$(basename $toolPath .js)" \
|
||||
--add-flags "$toolPath"
|
||||
done
|
||||
'';
|
||||
|
||||
# don't generate the dist tarball
|
||||
doDist = false;
|
||||
|
||||
passthru = {
|
||||
nodeAppDir = "libexec/${pname}/deps/${pname}";
|
||||
updateScript = ./update.sh;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Bridge between Matrix and Discord";
|
||||
homepage = "https://github.com/matrix-org/matrix-appservice-discord";
|
||||
@@ -109,4 +120,4 @@ mkYarnPackage rec {
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "matrix-appservice-discord";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"version": "4.0.0",
|
||||
"srcHash": "sha256-UyRMMbnX4aJVv8oQfgn/rkZT1cRATtcgFj4fXszDKqo=",
|
||||
"yarnSha256": "11zw1nkvsplnsiddyi1nb9zgdxn1mkh24nlcvaa69rpsjns9rj5k"
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -I nixpkgs=../../../ -i bash -p nix curl jq prefetch-yarn-deps nix-prefetch-github
|
||||
|
||||
ORG="matrix-org"
|
||||
PROJ="matrix-appservice-discord"
|
||||
|
||||
if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then
|
||||
echo "Regenerates packaging data for $PROJ."
|
||||
echo "Usage: $0 [git release tag]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tag="$1"
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [ -z "$tag" ]; then
|
||||
tag="$(
|
||||
curl "https://api.github.com/repos/$ORG/$PROJ/releases?per_page=1" |
|
||||
jq -r '.[0].tag_name'
|
||||
)"
|
||||
fi
|
||||
|
||||
src="https://raw.githubusercontent.com/$ORG/$PROJ/$tag"
|
||||
src_hash=$(nix-prefetch-github $ORG $PROJ --rev ${tag} | jq -r .hash)
|
||||
|
||||
tmpdir=$(mktemp -d)
|
||||
trap 'rm -rf "$tmpdir"' EXIT
|
||||
|
||||
pushd $tmpdir
|
||||
curl -O "$src/yarn.lock"
|
||||
yarn_sha256=$(prefetch-yarn-deps yarn.lock)
|
||||
popd
|
||||
|
||||
curl -O "$src/package.json"
|
||||
cat > pin.json << EOF
|
||||
{
|
||||
"version": "$(echo $tag | grep -P '(\d|\.)+' -o)",
|
||||
"srcHash": "$src_hash",
|
||||
"yarnSha256": "$yarn_sha256"
|
||||
}
|
||||
EOF
|
||||
@@ -24,8 +24,8 @@ let
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
sourceRoot = "${finalAttrs.src.name}/web";
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-k+pykzAiZ72cMMH+6qtnNxjaq4m4QyCQuWvQPbZSZho=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-xEOnxCgBD4uLypcZzCO+31S4r0sSfz8PpgEmZASeRZ4=";
|
||||
};
|
||||
pnpmRoot = "web";
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -28,8 +28,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_10;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-UVf9ti4Cu4IACQQ16g7R6pIArJUUVn2XOC7CjXMMS9I=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-i6MSmv6dS/bkpKvId6oroKPAtFYk5OUIvUWyfFa/NJU=";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
|
||||
@@ -95,6 +95,9 @@
|
||||
makeFontsConf,
|
||||
noto-fonts-cjk-sans,
|
||||
noto-fonts-cjk-serif,
|
||||
|
||||
# Create a symlink at $out/bin/microsoft-edge-stable
|
||||
withSymlink ? true,
|
||||
}:
|
||||
let
|
||||
opusWithCustomModes = libopus.override { withCustomModes = true; };
|
||||
@@ -269,6 +272,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
patchelf --set-interpreter ${bintools.dynamicLinker} $elf
|
||||
done
|
||||
|
||||
${lib.optionalString withSymlink ''
|
||||
ln -s $out/bin/microsoft-edge $out/bin/microsoft-edge-stable
|
||||
''}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
|
||||
@@ -76,8 +76,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_9;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-+/PGCoHAC9Hsl2YEdjvUBzDJi9iBf+ZxT/6yjDE3yBo=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-1ZBIMqG6YPZ8++jG6qzhHEgFx1Y6JR8BBLB3JfuNyNU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -36,8 +36,8 @@ let
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_9;
|
||||
sourceRoot = "${finalAttrs.src.name}/ui";
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-7fMhUFlV5lz+A9VG8IdWoc49C2CTdLYQlEgBSBqJvtw=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-1bkuou8jfWqdev4ZlpqvC4BRrFj//LK6ImVvSeMUEuM=";
|
||||
};
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
@@ -1,23 +1,22 @@
|
||||
{
|
||||
stdenv,
|
||||
stdenvNoCC,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
installShellFiles,
|
||||
testers,
|
||||
nix-update-script,
|
||||
nb,
|
||||
bashInteractive,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "nb";
|
||||
version = "7.25.0";
|
||||
version = "7.25.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xwmx";
|
||||
repo = "nb";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-+QRKv+zKOz8qDD1Ecpavl0ybf4nIcy0flNLHhyR+fxA=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-G/4BDOsrBqN92noEzDCG9lkZTblsz/HbYl0D+oyLEXc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
@@ -27,8 +26,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin/
|
||||
mv nb $out/bin/
|
||||
runHook preInstall
|
||||
install -Dm755 -t $out/bin nb
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
@@ -38,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
passthru = {
|
||||
tests.version = testers.testVersion {
|
||||
package = nb;
|
||||
package = finalAttrs.finalPackage;
|
||||
# Setting EDITOR to avoid: "Command line text editor not found"
|
||||
command = "EDITOR=nano nb --version";
|
||||
};
|
||||
@@ -81,7 +80,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
homepage = "https://xwmx.github.io/nb/";
|
||||
license = lib.licenses.agpl3Plus;
|
||||
maintainers = [ lib.maintainers.toonn ];
|
||||
maintainers = with lib.maintainers; [
|
||||
prince213
|
||||
toonn
|
||||
];
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "nb";
|
||||
};
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "nix-your-shell";
|
||||
version = "1.4.8";
|
||||
version = "1.4.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "MercuryTechnologies";
|
||||
repo = "nix-your-shell";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-2KiqDqKKT28yjCEtU0vFd+dFktGd6Xp+yxSSI/R7fjc=";
|
||||
hash = "sha256-mpgVlM3mFbjugEcWyhayEwSQvgj64jlAiy/RLgSTlyw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-BBKnA/QX37qEtWw69+nS1NjurI2GXASUrfY1E0iL/0Q=";
|
||||
cargoHash = "sha256-ReK85FRyl+4Epr11XsIiPUR3wFl6/HJ5MmYDX9Impes=";
|
||||
|
||||
passthru = {
|
||||
generate-config =
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "nvc";
|
||||
version = "1.19.1";
|
||||
version = "1.19.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nickg";
|
||||
repo = "nvc";
|
||||
tag = "r${finalAttrs.version}";
|
||||
hash = "sha256-r/fgOy2KnDwcNxLrOFYFYqUqBLL8NkmuaBOFbfn/gug=";
|
||||
hash = "sha256-y2R/jEINVs7U1mkYBDjEp+2E8Td7JHCTD2h+C2+MlvE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -22,8 +22,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pnpmDeps = fetchPnpmDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
pnpm = pnpm_10;
|
||||
fetcherVersion = 1;
|
||||
hash = "sha256-v2XOBO1/BWaJslj2Z2k9RanSS2CsW2Yx72o/lX7Eo2I=";
|
||||
fetcherVersion = 3;
|
||||
hash = "sha256-tPU16r0hc0DYwGnvnukivUz3a+Bz6urUZPtokN/lbuA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pcb2gcode";
|
||||
version = "2.5.0";
|
||||
version = "3.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pcb2gcode";
|
||||
repo = "pcb2gcode";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-c5YabBqZn6ilIkF3lifTsYyLZMsZN21jDj1hNu0PRAc=";
|
||||
hash = "sha256-PCBROFFo+yE6ojoNImk+9hdXzt/Y8JEvmvKwES2KBwM=";
|
||||
};
|
||||
|
||||
configureFlags = [
|
||||
|
||||
@@ -217,7 +217,7 @@ pythonPackages.buildPythonApplication rec {
|
||||
];
|
||||
|
||||
# sandboxing issues on aarch64-darwin, see https://github.com/NixOS/nixpkgs/issues/198495
|
||||
doCheck = !postgresqlTestHook.meta.broken;
|
||||
doCheck = lib.meta.availableOn stdenv.buildPlatform postgresqlTestHook;
|
||||
|
||||
# for replication testing in regression tests for PostgreSql >= 17
|
||||
env.postgresqlExtraSettings = "wal_level = logical";
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "plantuml-server";
|
||||
version = "1.2026.1";
|
||||
version = "1.2026.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/plantuml/plantuml-server/releases/download/v${finalAttrs.version}/plantuml-v${finalAttrs.version}.war";
|
||||
hash = "sha256-+r7SL+JXXAGC0Q7wxvohXBfBucVZzQPX3TIVd/tR0t8=";
|
||||
hash = "sha256-4lGpp8cNpRzz3gy+fG5xpeNLEFejMlJTXi4RJJLa4Wo=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
callPackage,
|
||||
makeSetupHook,
|
||||
stdenv,
|
||||
lib,
|
||||
}:
|
||||
|
||||
makeSetupHook {
|
||||
@@ -10,5 +10,5 @@ makeSetupHook {
|
||||
simple = callPackage ./test.nix { };
|
||||
};
|
||||
# See comment in postgresql's generic.nix doInstallCheck section.
|
||||
meta.broken = stdenv.hostPlatform.isDarwin;
|
||||
meta.badPlatforms = lib.platforms.darwin;
|
||||
} ./postgresql-test-hook.sh
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "proton-pass-cli";
|
||||
version = "1.5.1";
|
||||
version = "1.5.2";
|
||||
|
||||
src = finalAttrs.passthru.sources.${stdenv.hostPlatform.system};
|
||||
|
||||
@@ -47,19 +47,19 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
sources = {
|
||||
"aarch64-darwin" = fetchurl {
|
||||
url = "https://proton.me/download/pass-cli/${finalAttrs.version}/pass-cli-macos-aarch64";
|
||||
hash = "sha256-9EYufGQtnu68NjrBZ4Sb/MUB546rr6MKPrDGqkIQSUg=";
|
||||
hash = "sha256-8k6stQFVUC8vmytYV/zUJRsJxVRnm2eFeql7HTfCsuc=";
|
||||
};
|
||||
"aarch64-linux" = fetchurl {
|
||||
url = "https://proton.me/download/pass-cli/${finalAttrs.version}/pass-cli-linux-aarch64";
|
||||
hash = "sha256-TQiIzN5Y93hzQKdbjw0sq4ayi+KQc1dO7B9WbxXLCy0=";
|
||||
hash = "sha256-rIji6/FaR5nFCECMDPgd2RgDE/5FtnlBVn69MMT7rbI=";
|
||||
};
|
||||
"x86_64-darwin" = fetchurl {
|
||||
url = "https://proton.me/download/pass-cli/${finalAttrs.version}/pass-cli-macos-x86_64";
|
||||
hash = "sha256-i3EOR6R6wRsJD+WXDfHE6JT+3vppSYIMkOh+9VauZi0=";
|
||||
hash = "sha256-z7LAfw/J2P7NSyUIr0uw8g7pylSkF0EjUX1MFzuJmIk=";
|
||||
};
|
||||
"x86_64-linux" = fetchurl {
|
||||
url = "https://proton.me/download/pass-cli/${finalAttrs.version}/pass-cli-linux-x86_64";
|
||||
hash = "sha256-8pndh8MzBtrOYg1qXZOaV2HibA6yyryP2/NzLgcHrMA=";
|
||||
hash = "sha256-tuAqx5zuJ3dnAj3aIbbOonbVb9sL+F2W6vAi/2In3rw=";
|
||||
};
|
||||
};
|
||||
updateScript = writeShellScript "update-proton-pass-cli" ''
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cargo-tauri,
|
||||
fetchFromRadicle,
|
||||
@@ -83,6 +84,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
gtk3
|
||||
libsoup_3
|
||||
openssl
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
webkitgtk_4_1
|
||||
];
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
src = fetchFromRadicle {
|
||||
seed = "seed.radicle.xyz";
|
||||
repo = "z39mP9rQAaGmERfUMPULfPUi473tY";
|
||||
node = "z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz";
|
||||
tag = "releases/${finalAttrs.version}";
|
||||
hash = "sha256-2/pLlhilJyrZl9eLFWIh4YxlJwBbzjmb1Cg1xFSSl5k=";
|
||||
leaveDotGit = true;
|
||||
|
||||
@@ -1,18 +1,5 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p coreutils gnused gitMinimal nix-update
|
||||
#!nix-shell -i bash -p coreutils gnugrep common-updater-scripts nix-update
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
dirname="$(dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
url=$(nix-instantiate --eval --raw -A radicle-tui.src.url)
|
||||
old_node=$(nix-instantiate --eval --raw -A radicle-tui.src.node)
|
||||
|
||||
ref=$(git ls-remote "$url" 'refs/namespaces/*/refs/tags/releases/*' \
|
||||
| cut -f2 | grep -Ev '\^\{\}$' | sort -t/ -k6rV | head -1)
|
||||
[[ "$ref" =~ ^refs/namespaces/([^/]+)/refs/tags/releases/([^/]+)$ ]]
|
||||
new_node="${BASH_REMATCH[1]}"
|
||||
version="${BASH_REMATCH[2]}"
|
||||
|
||||
sed -i "s/${old_node}/${new_node}/g" "${dirname}/package.nix"
|
||||
version=$(list-git-tags | grep -oP '^releases/\K\d+\.\d+\.\d+$' | sort -rV | head -1)
|
||||
nix-update --version="$version" radicle-tui
|
||||
|
||||
@@ -27,7 +27,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
description = "RIME dictionary file for entries from zh.moegirl.org.cn";
|
||||
homepage = "https://github.com/outloudvi/mw2fcitx/releases";
|
||||
license = with lib.licenses; [
|
||||
unlicense # the tool packaging dictionary
|
||||
mit # the tool packaging dictionary
|
||||
cc-by-nc-sa-30 # moegirl wiki itself
|
||||
];
|
||||
};
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
"""Copy Noto Color Emoji PNGs into an extracted Signal ASAR archive.
|
||||
|
||||
Signal loads small Apple emoji PNGs directly from
|
||||
`node_modules/emoji-datasource-apple/img/apple/64`, and downloads and
|
||||
caches large Apple emoji WebP files in `.proto` bundles on the fly. The
|
||||
latter are not a copyright concern for the Nixpkgs cache, but would
|
||||
result in inconsistent presentation between small and large emoji.
|
||||
|
||||
We skip the complexity and buy some additional privacy by replacing the
|
||||
`emoji://jumbo?emoji=` URL prefix with a `file://` path to the copied
|
||||
PNGs inside the ASAR archive, and linking the `node_modules` PNG paths
|
||||
directly to them.
|
||||
"""
|
||||
|
||||
import json
|
||||
import shutil
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
def emoji_to_noto_name(emoji: str) -> str:
|
||||
r"""Return the Noto emoji name of an emoji.
|
||||
|
||||
Noto emoji names are underscore‐separated Unicode scalar values,
|
||||
represented in lowercase big‐endian hex padded to at least four
|
||||
digits. Any U+FE0F variant selectors are omitted.
|
||||
|
||||
>>> emoji_to_noto_name("😶🌫️")
|
||||
'1f636_200d_1f32b'
|
||||
>>> emoji_to_noto_name("\U0001f636\u200d\U0001f32b\ufe0f")
|
||||
'1f636_200d_1f32b'
|
||||
"""
|
||||
return "_".join(
|
||||
f"{ord(scalar_value):04x}"
|
||||
for scalar_value in emoji
|
||||
if scalar_value != "\ufe0f"
|
||||
)
|
||||
|
||||
|
||||
def _main() -> None:
|
||||
noto_png_path, asar_root = (Path(arg) for arg in sys.argv[1:])
|
||||
asar_root = asar_root.absolute()
|
||||
|
||||
out_path = asar_root / "images" / "nixpkgs-emoji"
|
||||
out_path.mkdir(parents=True)
|
||||
|
||||
jumbomoji_json_path = asar_root / "build" / "jumbomoji.json"
|
||||
with jumbomoji_json_path.open() as jumbomoji_json_file:
|
||||
jumbomoji_packs = json.load(jumbomoji_json_file)
|
||||
|
||||
for signal_emoji_names in jumbomoji_packs.values():
|
||||
for signal_emoji_name in signal_emoji_names:
|
||||
|
||||
try:
|
||||
shutil.copy(
|
||||
noto_png_path / f"emoji_u{emoji_to_noto_name(signal_emoji_name)}.png",
|
||||
out_path / signal_emoji_name,
|
||||
)
|
||||
except FileNotFoundError:
|
||||
print(
|
||||
f"Missing Noto emoji: {signal_emoji_name}",
|
||||
file=sys.stderr,
|
||||
)
|
||||
continue
|
||||
|
||||
print(out_path.relative_to(asar_root))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
_main()
|
||||
@@ -1,316 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
autoPatchelfHook,
|
||||
noto-fonts-color-emoji,
|
||||
dpkg,
|
||||
libarchive,
|
||||
asar,
|
||||
rsync,
|
||||
python3,
|
||||
buildPackages,
|
||||
nixosTests,
|
||||
gtk3,
|
||||
atk,
|
||||
at-spi2-atk,
|
||||
cairo,
|
||||
pango,
|
||||
pipewire,
|
||||
gdk-pixbuf,
|
||||
glib,
|
||||
freetype,
|
||||
fontconfig,
|
||||
dbus,
|
||||
libx11,
|
||||
libxshmfence,
|
||||
libxcb,
|
||||
libxi,
|
||||
libxcursor,
|
||||
libxdamage,
|
||||
libxrandr,
|
||||
libxcomposite,
|
||||
libxext,
|
||||
libxfixes,
|
||||
libxrender,
|
||||
libxtst,
|
||||
libxscrnsaver,
|
||||
nss,
|
||||
nspr,
|
||||
alsa-lib,
|
||||
cups,
|
||||
expat,
|
||||
libuuid,
|
||||
at-spi2-core,
|
||||
libappindicator-gtk3,
|
||||
libgbm,
|
||||
libwebp,
|
||||
# Runtime dependencies:
|
||||
systemdLibs,
|
||||
libnotify,
|
||||
libdbusmenu,
|
||||
libpulseaudio,
|
||||
xdg-utils,
|
||||
wayland,
|
||||
|
||||
# command line arguments which are always set e.g "--password-store=kwallet6"
|
||||
commandLineArgs,
|
||||
}:
|
||||
|
||||
{
|
||||
pname,
|
||||
libdir,
|
||||
bindir,
|
||||
extractPkg,
|
||||
version,
|
||||
hash,
|
||||
url,
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (stdenv) targetPlatform;
|
||||
ARCH = if targetPlatform.isAarch64 then "arm64" else "x64";
|
||||
|
||||
# Noto Color Emoji PNG files for emoji replacement; see below.
|
||||
noto-fonts-color-emoji-png = noto-fonts-color-emoji.overrideAttrs (prevAttrs: {
|
||||
pname = "noto-fonts-color-emoji-png";
|
||||
|
||||
# The build produces 136×128 PNGs by default for arcane font
|
||||
# reasons, but we want square PNGs.
|
||||
buildFlags = prevAttrs.buildFlags or [ ] ++ [ "BODY_DIMENSIONS=128x128" ];
|
||||
|
||||
makeTargets = [ "compressed" ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share
|
||||
mv build/compressed_pngs $out/share/noto-fonts-color-emoji-png
|
||||
python3 add_aliases.py --srcdir=$out/share/noto-fonts-color-emoji-png
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
});
|
||||
|
||||
noto-emoji-sheet-32 = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/iamcal/emoji-data/refs/tags/v16.0.0/sheet_google_32.png";
|
||||
hash = "sha256-tBfp9s1LvBBla7/V4TtumiVFtV5qTPcxLXW+H6qjSVI=";
|
||||
};
|
||||
noto-emoji-sheet-64 = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/iamcal/emoji-data/refs/tags/v16.0.0/sheet_google_64.png";
|
||||
hash = "sha256-eVoMWY0WLJpKriPyGIxge4ybwZEst9hDgkWfjekaOuE=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
inherit pname version;
|
||||
|
||||
# Please backport all updates to the stable channel.
|
||||
# All releases have a limited lifetime and "expire" 90 days after the release.
|
||||
# When releases "expire" the application becomes unusable until an update is
|
||||
# applied. The expiration date for the current release can be extracted with:
|
||||
# $ grep -a "^{\"buildExpiration" "${signal-desktop}/lib/${dir}/resources/app.asar"
|
||||
# (Alternatively we could try to patch the asar archive, but that requires a
|
||||
# few additional steps and might not be the best idea.)
|
||||
|
||||
src = fetchurl {
|
||||
inherit url hash;
|
||||
recursiveHash = true;
|
||||
downloadToTemp = true;
|
||||
nativeBuildInputs = [
|
||||
(if ARCH == "x64" then dpkg else libarchive)
|
||||
asar
|
||||
];
|
||||
# Signal ships the Apple emoji set without a licence via an npm
|
||||
# package and upstream does not seem terribly interested in fixing
|
||||
# this; see:
|
||||
#
|
||||
# * <https://github.com/signalapp/Signal-Android/issues/5862>
|
||||
# * <https://whispersystems.discoursehosting.net/t/signal-is-likely-violating-apple-license-terms-by-using-apple-emoji-in-the-sticker-creator-and-android-and-desktop-apps/52883>
|
||||
#
|
||||
# We work around this by replacing it with the Noto Color Emoji
|
||||
# set, which is available under a FOSS licence and more likely to
|
||||
# be used on a NixOS machine anyway. The Apple emoji are removed
|
||||
# during `fetchurl` to ensure that the build doesn’t cache the
|
||||
# unlicensed emoji files, but the rest of the work is done in the
|
||||
# main derivation.
|
||||
postFetch = ''
|
||||
${extractPkg}
|
||||
asar extract "$out/${libdir}/resources/app.asar" $out/asar-contents
|
||||
rm -r \
|
||||
"$out/${libdir}/resources/app.asar"{,.unpacked} \
|
||||
$out/asar-contents/images/emoji-sheet-32.webp \
|
||||
$out/asar-contents/images/emoji-sheet-64.webp
|
||||
'';
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
rsync
|
||||
asar
|
||||
python3
|
||||
autoPatchelfHook
|
||||
# override doesn't preserve splicing https://github.com/NixOS/nixpkgs/issues/132651
|
||||
# Has to use `makeShellWrapper` from `buildPackages` even though `makeShellWrapper` from the inputs is spliced because `propagatedBuildInputs` would pick the wrong one because of a different offset.
|
||||
(buildPackages.wrapGAppsHook3.override { makeWrapper = buildPackages.makeShellWrapper; })
|
||||
libwebp
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
at-spi2-atk
|
||||
at-spi2-core
|
||||
atk
|
||||
cairo
|
||||
cups
|
||||
dbus
|
||||
expat
|
||||
fontconfig
|
||||
freetype
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
libx11
|
||||
libxscrnsaver
|
||||
libxcomposite
|
||||
libxcursor
|
||||
libxdamage
|
||||
libxext
|
||||
libxfixes
|
||||
libxi
|
||||
libxrandr
|
||||
libxrender
|
||||
libxtst
|
||||
libappindicator-gtk3
|
||||
libpulseaudio
|
||||
libnotify
|
||||
libuuid
|
||||
libgbm
|
||||
nspr
|
||||
nss
|
||||
pango
|
||||
systemdLibs
|
||||
libxcb
|
||||
libxshmfence
|
||||
];
|
||||
|
||||
runtimeDependencies = [
|
||||
systemdLibs
|
||||
libappindicator-gtk3
|
||||
libnotify
|
||||
libdbusmenu
|
||||
pipewire
|
||||
xdg-utils
|
||||
wayland
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
|
||||
unpackPhase = ''
|
||||
rsync -a --chmod=+w $src/ .
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/lib
|
||||
|
||||
mv usr/share $out/share
|
||||
mv "${libdir}" "$out/lib/signal-desktop"
|
||||
|
||||
# Symlink to bin
|
||||
mkdir -p $out/bin
|
||||
ln -s "$out/lib/signal-desktop/signal-desktop" $out/bin/${finalAttrs.meta.mainProgram}
|
||||
|
||||
# Create required symlinks:
|
||||
ln -s libGLESv2.so "$out/lib/signal-desktop/libGLESv2.so.2"
|
||||
|
||||
# Compress the emoji sheets to webp, as signal expects webp images. The flags used are the same as those used upstream.
|
||||
cwebp -progress -mt -preset icon -alpha_filter best -alpha_q 20 -pass 10 -q 75 ${noto-emoji-sheet-32} -o asar-contents/images/emoji-sheet-32.webp
|
||||
cwebp -progress -mt -preset icon -alpha_filter best -alpha_q 20 -pass 10 -q 75 ${noto-emoji-sheet-64} -o asar-contents/images/emoji-sheet-64.webp
|
||||
|
||||
# Copy the Noto Color Emoji PNGs into the ASAR contents. See `src`
|
||||
# for the motivation, and the script for the technical details.
|
||||
emojiPrefix=$(
|
||||
python3 ${./copy-noto-emoji.py} \
|
||||
${noto-fonts-color-emoji-png}/share/noto-fonts-color-emoji-png \
|
||||
asar-contents
|
||||
)
|
||||
|
||||
# Replace the URL used for fetching large versions of emoji with
|
||||
# the local path to our copied PNGs.
|
||||
substituteInPlace asar-contents/preload.bundle.js \
|
||||
--replace-fail \
|
||||
'emoji://jumbo?emoji=' \
|
||||
"file://$out/lib/signal-desktop/resources/app.asar/$emojiPrefix/"
|
||||
|
||||
# `asar(1)` copies files from the corresponding `.unpacked`
|
||||
# directory when extracting, and will put them back in the modified
|
||||
# archive if you don’t specify them again when repacking. Signal
|
||||
# leaves their native `.node` libraries unpacked, so we match that.
|
||||
asar pack \
|
||||
--unpack '*.node' \
|
||||
asar-contents \
|
||||
"$out/lib/signal-desktop/resources/app.asar"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}"
|
||||
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]}
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
)
|
||||
|
||||
# Fix the desktop link
|
||||
substituteInPlace $out/share/applications/signal-desktop.desktop \
|
||||
--replace-fail "/${bindir}/signal-desktop" ${finalAttrs.meta.mainProgram}
|
||||
|
||||
mv $out/share/applications/signal{-desktop,}.desktop
|
||||
|
||||
# Note: The following path contains bundled libraries:
|
||||
# $out/lib/signal-desktop/resources/app.asar.unpacked/node_modules/
|
||||
patchelf --add-needed ${libpulseaudio}/lib/libpulse.so "$out/lib/signal-desktop/resources/app.asar.unpacked/node_modules/@signalapp/ringrtc/build/linux/libringrtc-${ARCH}.node"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
# Tests if the application launches and waits for "Link your phone to Signal Desktop":
|
||||
tests.application-launch = nixosTests.signal-desktop;
|
||||
updateScript.command = [ ./update.sh ];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Private, simple, and secure messenger";
|
||||
longDescription = ''
|
||||
Signal Desktop is an Electron application that links with your
|
||||
"Signal Android" or "Signal iOS" app.
|
||||
'';
|
||||
homepage = "https://signal.org/";
|
||||
changelog = "https://github.com/signalapp/Signal-Desktop/releases/tag/v${finalAttrs.version}";
|
||||
license = [
|
||||
lib.licenses.agpl3Only
|
||||
|
||||
# Various npm packages
|
||||
lib.licenses.free
|
||||
|
||||
lib.licenses.asl20 # noto-emoji
|
||||
lib.licenses.mit # emoji-data
|
||||
];
|
||||
maintainers = with lib.maintainers; [
|
||||
eclairevoyant
|
||||
mic92
|
||||
equirosa
|
||||
bkchr
|
||||
emily
|
||||
Gliczy
|
||||
];
|
||||
mainProgram = "signal-desktop";
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
callPackage,
|
||||
commandLineArgs ? "",
|
||||
}:
|
||||
if stdenv.hostPlatform.system == "aarch64-linux" then
|
||||
callPackage ./signal-desktop-aarch64.nix { inherit commandLineArgs; }
|
||||
else if stdenv.hostPlatform.isDarwin then
|
||||
callPackage ./signal-desktop-darwin.nix { }
|
||||
else
|
||||
callPackage ./signal-desktop.nix { inherit commandLineArgs; }
|
||||
@@ -1,15 +0,0 @@
|
||||
[tool.mypy]
|
||||
files = ["*.py"]
|
||||
strict = true
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 80
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = ["ALL"]
|
||||
ignore = ["COM812", "D203", "D213", "ISC001", "T201"]
|
||||
allowed-confusables = ["‐"]
|
||||
|
||||
[tool.ruff.format]
|
||||
docstring-code-format = true
|
||||
docstring-code-line-length = "dynamic"
|
||||
@@ -1,15 +0,0 @@
|
||||
{ callPackage, commandLineArgs }:
|
||||
callPackage ./generic.nix { inherit commandLineArgs; } {
|
||||
pname = "signal-desktop-bin";
|
||||
version = "7.90.0";
|
||||
|
||||
libdir = "usr/lib64/signal-desktop";
|
||||
bindir = "usr/bin";
|
||||
extractPkg = ''
|
||||
mkdir -p $out
|
||||
bsdtar -xf $downloadedFile -C "$out"
|
||||
'';
|
||||
|
||||
url = "https://download.copr.fedorainfracloud.org/results/useidel/signal-desktop/fedora-42-aarch64/10149422-signal-desktop/signal-desktop-7.90.0-1.fc42.aarch64.rpm";
|
||||
hash = "sha256-+6aIB/UF7oZ7I4MtDsYCOhQxiaTpIyXGZ5WLdJto7Us=";
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchurl,
|
||||
_7zz,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "signal-desktop-bin";
|
||||
version = "7.90.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://updates.signal.org/desktop/signal-desktop-mac-universal-${finalAttrs.version}.dmg";
|
||||
hash = "sha256-61JsAPeGVNJpuUDAv3nA0WNr15C+e5NvsT0ICT2dolc=";
|
||||
};
|
||||
sourceRoot = ".";
|
||||
|
||||
nativeBuildInputs = [ _7zz ];
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/Applications
|
||||
cp -r Signal.app $out/Applications
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript.command = [ ./update.sh ];
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Private, simple, and secure messenger";
|
||||
longDescription = ''
|
||||
Signal Desktop is an Electron application that links with your
|
||||
"Signal Android" or "Signal iOS" app.
|
||||
'';
|
||||
homepage = "https://signal.org/";
|
||||
downloadPage = "https://signal.org/download/macos/";
|
||||
changelog = "https://github.com/signalapp/Signal-Desktop/releases/tag/v${finalAttrs.version}";
|
||||
license = with lib.licenses; [
|
||||
agpl3Only
|
||||
|
||||
# Various npm packages
|
||||
free
|
||||
|
||||
# has non-redistributable Apple emoji packaged, see main derivation
|
||||
unfree
|
||||
];
|
||||
maintainers = with lib.maintainers; [ nickhu ];
|
||||
platforms = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
"x86_64-darwin"
|
||||
"aarch64-darwin"
|
||||
];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
||||
@@ -1,12 +0,0 @@
|
||||
{ callPackage, commandLineArgs }:
|
||||
callPackage ./generic.nix { inherit commandLineArgs; } rec {
|
||||
pname = "signal-desktop-bin";
|
||||
version = "7.90.0";
|
||||
|
||||
libdir = "opt/Signal";
|
||||
bindir = libdir;
|
||||
extractPkg = "dpkg-deb -x $downloadedFile $out";
|
||||
|
||||
url = "https://updates.signal.org/desktop/apt/pool/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||
hash = "sha256-m9tBldv1WvfdLrORIuJQYBQ72rBRHgXSAk0PrwZtAB4=";
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p bash common-updater-scripts curl coreutils jq
|
||||
|
||||
set -ex
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
||||
|
||||
latestTag=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} \
|
||||
"https://api.github.com/repos/signalapp/Signal-Desktop/releases/latest" \
|
||||
| jq -r ".tag_name")
|
||||
latestVersion="$(expr "$latestTag" : 'v\(.*\)')"
|
||||
|
||||
latestBuildInfoAarch64=$(curl \
|
||||
"https://copr.fedorainfracloud.org/api_3/package/?ownername=useidel&projectname=signal-desktop&packagename=signal-desktop&with_latest_succeeded_build=true" \
|
||||
| jq '.builds.latest_succeeded')
|
||||
latestBuildAarch64=$(jq '.id' <<< $latestBuildInfoAarch64)
|
||||
latestVersionAarch64=$(jq -r '.source_package.version' <<< $latestBuildInfoAarch64)
|
||||
latestPrettyVersionAarch64="${latestVersionAarch64%-*}"
|
||||
|
||||
darwinHash="$(nix --extra-experimental-features nix-command hash to-sri --type sha256 "$(nix-prefetch-url "https://updates.signal.org/desktop/signal-desktop-mac-universal-${latestVersion}.dmg")")"
|
||||
|
||||
echo "Updating signal-desktop for x86_64-linux"
|
||||
update-source-version signal-desktop-bin "$latestVersion" \
|
||||
--system=x86_64-linux \
|
||||
--file="$SCRIPT_DIR/signal-desktop.nix"
|
||||
|
||||
echo "Updating signal-desktop for aarch64-linux"
|
||||
update-source-version signal-desktop-bin "$latestPrettyVersionAarch64" "" \
|
||||
"https://download.copr.fedorainfracloud.org/results/useidel/signal-desktop/fedora-42-aarch64/$(printf "%08d" $latestBuildAarch64)-signal-desktop/signal-desktop-$latestVersionAarch64.fc42.aarch64.rpm" \
|
||||
--system=aarch64-linux \
|
||||
--file="$SCRIPT_DIR/signal-desktop-aarch64.nix"
|
||||
|
||||
echo "Updating signal-desktop for darwin"
|
||||
sed -i "s|version = \".*\";|version = \"${latestVersion}\";|" "$SCRIPT_DIR/signal-desktop-darwin.nix"
|
||||
sed -i "s|hash = \"sha256-[^\"]*\";|hash = \"${darwinHash}\";|" "$SCRIPT_DIR/signal-desktop-darwin.nix"
|
||||
@@ -316,7 +316,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Private, simple, and secure messenger (nixpkgs build)";
|
||||
description = "Private, simple, and secure messenger";
|
||||
longDescription = ''
|
||||
Signal Desktop is an Electron application that links with your
|
||||
"Signal Android" or "Signal iOS" app.
|
||||
|
||||
@@ -42,8 +42,8 @@ symlinkJoin {
|
||||
paths = [ binary ];
|
||||
|
||||
postBuild = ''
|
||||
mkdir -p $out/share/pixmaps/ $out/share/applications
|
||||
cp ${appimage-contents}/ssb-patchwork.png $out/share/pixmaps
|
||||
mkdir -p $out/share/applications
|
||||
install -D ${appimage-contents}/ssb-patchwork.png -t $out/share/icons/hicolor/512x512/apps
|
||||
cp ${desktopItem}/share/applications/* $out/share/applications/
|
||||
'';
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
ocamlPackages.buildDunePackage rec {
|
||||
pname = "stanc";
|
||||
version = "2.37.0";
|
||||
version = "2.38.0";
|
||||
|
||||
minimalOCamlVersion = "4.12";
|
||||
|
||||
@@ -14,10 +14,13 @@ ocamlPackages.buildDunePackage rec {
|
||||
owner = "stan-dev";
|
||||
repo = "stanc3";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-d+sInQfnlT1gLbtIRPD+LUZgIdl519OrfvgSNYdYeII=";
|
||||
hash = "sha256-j05PMQKIqkM9UWJzSVnkYWe6d+iUnmFOh1W8pZ7Fdyk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with ocamlPackages; [ menhir ];
|
||||
nativeBuildInputs = with ocamlPackages; [
|
||||
cmdliner
|
||||
menhir
|
||||
];
|
||||
|
||||
buildInputs = with ocamlPackages; [
|
||||
core_unix
|
||||
@@ -25,7 +28,7 @@ ocamlPackages.buildDunePackage rec {
|
||||
ppx_deriving
|
||||
fmt
|
||||
yojson
|
||||
cmdliner_1
|
||||
cmdliner
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tail-tray";
|
||||
version = "0.2.29";
|
||||
version = "0.2.30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SneWs";
|
||||
repo = "tail-tray";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-X2NYzUUP7zuQ+JIeLviOvfGpGlKqrtj5tOszX6gDYTc=";
|
||||
hash = "sha256-MqofvOaqpQdUbYsxvnu/ZJJswa2bwLMKqJZtOCulbys=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with kdePackages; [
|
||||
|
||||
@@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "typos";
|
||||
version = "1.43.5";
|
||||
version = "1.44.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "crate-ci";
|
||||
repo = "typos";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-lRh7f04DJx3DSmRUA0XpL1aQWrxcqY87yz/9jx512nA=";
|
||||
hash = "sha256-0cDkLeYMQH2rXUfIjUQm1XjvHTYqLWbqHCxFIvC+jKk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-mfdKF1Nup/RqANRQzRtezr6iwgMJwqKHSEgeReD3EoY=";
|
||||
cargoHash = "sha256-H+nXNfnrJXXTZsXgLXrrdvYzN6k38imcmY17tvGM21s=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
nix-update-script,
|
||||
}:
|
||||
let
|
||||
version = "2.17.1";
|
||||
version = "2.17.2";
|
||||
in
|
||||
buildGoLatestModule {
|
||||
pname = "wakapi";
|
||||
@@ -16,10 +16,10 @@ buildGoLatestModule {
|
||||
owner = "muety";
|
||||
repo = "wakapi";
|
||||
tag = version;
|
||||
hash = "sha256-/7jYfLs9IcAWYVWISdDeXWV+PfHGFjkxcFkpqH2lxS8=";
|
||||
hash = "sha256-UK6m8d+Yf5JQgDV/TdPpQ9TL2Y4aG4tR/WOP11IFzfg=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-AA9gIIUsoJG4RnDZ1fAJu+iqeXXbRbprBVxuVvR1tzo=";
|
||||
vendorHash = "sha256-oXHTb7DLwWa/qOMSn3EhMTnDeUm1bIVGvuJzcxkiPF0=";
|
||||
|
||||
# Not a go module required by the project, contains development utilities
|
||||
excludedPackages = [ "scripts" ];
|
||||
@@ -32,8 +32,19 @@ buildGoLatestModule {
|
||||
"-w"
|
||||
];
|
||||
|
||||
# Skip tests that require network access
|
||||
checkFlags = [ "-skip=TestLoginHandlerTestSuite" ];
|
||||
# <https://github.com/muety/wakapi/blob/8c9442b348e4280b388e1073d805058a951ae78e/.github/workflows/release.yml#L60>
|
||||
env.GOEXPERIMENT = "greenteagc,jsonv2";
|
||||
|
||||
checkFlags =
|
||||
let
|
||||
skippedTests = [
|
||||
# Skip tests that require network access
|
||||
"TestLoginHandlerTestSuite"
|
||||
"Test_Load_OidcProviders"
|
||||
"TestUser_MinDataAge"
|
||||
];
|
||||
in
|
||||
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
|
||||
|
||||
passthru = {
|
||||
nixos = nixosTests.wakapi;
|
||||
|
||||
@@ -31,15 +31,15 @@
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "xournalpp";
|
||||
version = "1.3.2";
|
||||
version = "1.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xournalpp";
|
||||
repo = "xournalpp";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-adzL/2zQlG4hBPV0rQzkQrOyGROv73GyjIH8Debhhq8=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-AHW3LfGAXoP9F3EJiRgVBQ9NuYdVJrh0cQKSEiG48rc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -50,26 +50,23 @@ stdenv.mkDerivation rec {
|
||||
help2man
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
lib.optionals stdenv.hostPlatform.isLinux [
|
||||
alsa-lib
|
||||
]
|
||||
++ [
|
||||
glib
|
||||
gsettings-desktop-schemas
|
||||
gtk3
|
||||
gtksourceview4
|
||||
librsvg
|
||||
libsndfile
|
||||
libxml2
|
||||
libzip
|
||||
pcre
|
||||
poppler
|
||||
portaudio
|
||||
qpdf
|
||||
zlib
|
||||
]
|
||||
++ lib.optional withLua lua5_3;
|
||||
buildInputs = [
|
||||
glib
|
||||
gsettings-desktop-schemas
|
||||
gtk3
|
||||
gtksourceview4
|
||||
librsvg
|
||||
libsndfile
|
||||
libxml2
|
||||
libzip
|
||||
pcre
|
||||
poppler
|
||||
portaudio
|
||||
qpdf
|
||||
zlib
|
||||
]
|
||||
++ lib.optional stdenv.hostPlatform.isLinux alsa-lib
|
||||
++ lib.optional withLua lua5_3;
|
||||
|
||||
buildFlags = [ "translations" ];
|
||||
|
||||
@@ -84,7 +81,7 @@ stdenv.mkDerivation rec {
|
||||
meta = {
|
||||
description = "Xournal++ is a handwriting Notetaking software with PDF annotation support";
|
||||
homepage = "https://xournalpp.github.io/";
|
||||
changelog = "https://github.com/xournalpp/xournalpp/blob/v${version}/CHANGELOG.md";
|
||||
changelog = "https://github.com/xournalpp/xournalpp/blob/v${finalAttrs.version}/CHANGELOG.md";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
iedame
|
||||
@@ -93,4 +90,4 @@ stdenv.mkDerivation rec {
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "xournalpp";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -9,14 +9,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication (finalAttrs: {
|
||||
pname = "ytdl-sub";
|
||||
version = "2026.02.04";
|
||||
version = "2026.02.23";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jmbannon";
|
||||
repo = "ytdl-sub";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-c6TQMWp7vlC5T5ZjS+uLVS2vfoSk1+g/4LS+bRYilSc=";
|
||||
hash = "sha256-Wux6qSjhu3J6N9SqjT6S2M9KPUMQ9kWs4kA4mvF/CKY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -75,6 +75,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
env = environment // {
|
||||
DATABASE_URL = "dummy";
|
||||
NODE_PATH = "${node-gyp}/lib/node_modules";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
|
||||
@@ -352,7 +352,7 @@ builtins.intersectAttrs super {
|
||||
gtk-traymanager = addPkgconfigDepend pkgs.gtk3 super.gtk-traymanager;
|
||||
|
||||
# These require postgres and pass the connection string manually via the CLI in tests.
|
||||
consumers = dontCheckIf pkgs.postgresqlTestHook.meta.broken (
|
||||
consumers = dontCheckIf (!lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook) (
|
||||
overrideCabal (drv: {
|
||||
preCheck = ''
|
||||
export postgresqlTestUserOptions="LOGIN SUPERUSER"
|
||||
@@ -368,23 +368,25 @@ builtins.intersectAttrs super {
|
||||
];
|
||||
}) super.consumers
|
||||
);
|
||||
hpqtypes-extras = dontCheckIf pkgs.postgresqlTestHook.meta.broken (
|
||||
overrideCabal (drv: {
|
||||
preCheck = ''
|
||||
export postgresqlTestUserOptions="LOGIN SUPERUSER"
|
||||
export PGDATABASE=hpqtypes-extras
|
||||
'';
|
||||
testToolDepends = drv.testToolDepends or [ ] ++ [
|
||||
pkgs.postgresql
|
||||
pkgs.postgresqlTestHook
|
||||
];
|
||||
testTargets = [
|
||||
"hpqtypes-extras-tests"
|
||||
"--test-option=--connection-string=\"host=$PGHOST user=$PGUSER dbname=$PGDATABASE\""
|
||||
];
|
||||
}) super.hpqtypes-extras
|
||||
);
|
||||
hpqtypes = dontCheckIf pkgs.postgresqlTestHook.meta.broken (
|
||||
hpqtypes-extras =
|
||||
dontCheckIf (!lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook)
|
||||
(
|
||||
overrideCabal (drv: {
|
||||
preCheck = ''
|
||||
export postgresqlTestUserOptions="LOGIN SUPERUSER"
|
||||
export PGDATABASE=hpqtypes-extras
|
||||
'';
|
||||
testToolDepends = drv.testToolDepends or [ ] ++ [
|
||||
pkgs.postgresql
|
||||
pkgs.postgresqlTestHook
|
||||
];
|
||||
testTargets = [
|
||||
"hpqtypes-extras-tests"
|
||||
"--test-option=--connection-string=\"host=$PGHOST user=$PGUSER dbname=$PGDATABASE\""
|
||||
];
|
||||
}) super.hpqtypes-extras
|
||||
);
|
||||
hpqtypes = dontCheckIf (!lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook) (
|
||||
overrideCabal (drv: {
|
||||
preCheck = ''
|
||||
export postgresqlTestUserOptions="LOGIN SUPERUSER"
|
||||
@@ -400,26 +402,28 @@ builtins.intersectAttrs super {
|
||||
];
|
||||
}) (super.hpqtypes.override { libpq = pkgs.libpq; })
|
||||
);
|
||||
hpqtypes-effectful = dontCheckIf pkgs.postgresqlTestHook.meta.broken (
|
||||
overrideCabal
|
||||
(drv: {
|
||||
preCheck = ''
|
||||
export postgresqlTestUserOptions="LOGIN SUPERUSER"
|
||||
export PGDATABASE=hpqtypes-effectful
|
||||
'';
|
||||
testToolDepends = drv.testToolDepends or [ ] ++ [
|
||||
pkgs.postgresql
|
||||
pkgs.postgresqlTestHook
|
||||
];
|
||||
})
|
||||
hpqtypes-effectful =
|
||||
dontCheckIf (!lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook)
|
||||
(
|
||||
super.hpqtypes-effectful.overrideAttrs (drv: {
|
||||
postgresqlTestSetupPost = ''
|
||||
export DATABASE_URL="host=$PGHOST user=$PGUSER dbname=$PGDATABASE"
|
||||
'';
|
||||
})
|
||||
)
|
||||
);
|
||||
overrideCabal
|
||||
(drv: {
|
||||
preCheck = ''
|
||||
export postgresqlTestUserOptions="LOGIN SUPERUSER"
|
||||
export PGDATABASE=hpqtypes-effectful
|
||||
'';
|
||||
testToolDepends = drv.testToolDepends or [ ] ++ [
|
||||
pkgs.postgresql
|
||||
pkgs.postgresqlTestHook
|
||||
];
|
||||
})
|
||||
(
|
||||
super.hpqtypes-effectful.overrideAttrs (drv: {
|
||||
postgresqlTestSetupPost = ''
|
||||
export DATABASE_URL="host=$PGHOST user=$PGUSER dbname=$PGDATABASE"
|
||||
'';
|
||||
})
|
||||
)
|
||||
);
|
||||
|
||||
shelly = overrideCabal (drv: {
|
||||
# /usr/bin/env is unavailable in the sandbox
|
||||
@@ -570,7 +574,7 @@ builtins.intersectAttrs super {
|
||||
pkgs.postgresql
|
||||
pkgs.postgresqlTestHook
|
||||
])
|
||||
(dontCheckIf pkgs.postgresqlTestHook.meta.broken)
|
||||
(dontCheckIf (!lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook))
|
||||
];
|
||||
|
||||
# Test suite requires a running postgresql server,
|
||||
@@ -1353,7 +1357,8 @@ builtins.intersectAttrs super {
|
||||
pkgs.postgresql
|
||||
pkgs.postgresqlTestHook
|
||||
];
|
||||
doCheck = drv.doCheck or true && !(pkgs.postgresqlTestHook.meta.broken);
|
||||
doCheck =
|
||||
drv.doCheck or true && lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook;
|
||||
}) super.relocant;
|
||||
|
||||
# https://gitlab.iscpif.fr/gargantext/haskell-pgmq/blob/9a869df2842eccc86a0f31a69fb8dc5e5ca218a8/README.md#running-test-cases
|
||||
@@ -1366,7 +1371,8 @@ builtins.intersectAttrs super {
|
||||
(lib.getBin (pkgs.postgresql.withPackages (ps: [ ps.pgmq ])))
|
||||
pkgs.postgresqlTestHook
|
||||
];
|
||||
doCheck = drv.doCheck or true && !(pkgs.postgresqlTestHook.meta.broken);
|
||||
doCheck =
|
||||
drv.doCheck or true && lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook;
|
||||
}) super.haskell-pgmq;
|
||||
# Needs pgmq available at test time with somehow preinitialized database (?)
|
||||
stakhanov = dontCheck super.stakhanov;
|
||||
@@ -1381,7 +1387,7 @@ builtins.intersectAttrs super {
|
||||
pkgs.postgresql
|
||||
pkgs.postgresqlTestHook
|
||||
])
|
||||
(dontCheckIf pkgs.postgresqlTestHook.meta.broken)
|
||||
(dontCheckIf (!lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook))
|
||||
];
|
||||
|
||||
postgresql-simple-migration = overrideCabal (drv: {
|
||||
@@ -1394,7 +1400,8 @@ builtins.intersectAttrs super {
|
||||
pkgs.postgresqlTestHook
|
||||
];
|
||||
jailbreak = true;
|
||||
doCheck = drv.doCheck or true && !(pkgs.postgresqlTestHook.meta.broken);
|
||||
doCheck =
|
||||
drv.doCheck or true && lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook;
|
||||
}) super.postgresql-simple-migration;
|
||||
|
||||
postgresql-simple = lib.pipe super.postgresql-simple [
|
||||
@@ -1402,7 +1409,7 @@ builtins.intersectAttrs super {
|
||||
pkgs.postgresql
|
||||
pkgs.postgresqlTestHook
|
||||
])
|
||||
(dontCheckIf pkgs.postgresqlTestHook.meta.broken)
|
||||
(dontCheckIf (!lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook))
|
||||
];
|
||||
|
||||
beam-postgres = lib.pipe super.beam-postgres [
|
||||
@@ -1416,7 +1423,7 @@ builtins.intersectAttrs super {
|
||||
pkgs.postgresql
|
||||
pkgs.postgresqlTestHook
|
||||
])
|
||||
(dontCheckIf pkgs.postgresqlTestHook.meta.broken)
|
||||
(dontCheckIf (!lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook))
|
||||
];
|
||||
|
||||
esqueleto =
|
||||
@@ -1442,7 +1449,11 @@ builtins.intersectAttrs super {
|
||||
];
|
||||
})
|
||||
# https://github.com/NixOS/nixpkgs/issues/198495
|
||||
(dontCheckIf (pkgs.postgresqlTestHook.meta.broken) super.esqueleto);
|
||||
(
|
||||
dontCheckIf (
|
||||
!lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook
|
||||
) super.esqueleto
|
||||
);
|
||||
|
||||
persistent-postgresql =
|
||||
# TODO: move this override to configuration-nix.nix
|
||||
@@ -1464,7 +1475,11 @@ builtins.intersectAttrs super {
|
||||
];
|
||||
})
|
||||
# https://github.com/NixOS/nixpkgs/issues/198495
|
||||
(dontCheckIf (pkgs.postgresqlTestHook.meta.broken) super.persistent-postgresql);
|
||||
(
|
||||
dontCheckIf (
|
||||
!lib.meta.availableOn pkgs.stdenv.buildPlatform pkgs.postgresqlTestHook
|
||||
) super.persistent-postgresql
|
||||
);
|
||||
|
||||
# https://gitlab.iscpif.fr/gargantext/haskell-bee/blob/19c8775f0d960c669235bf91131053cb6f69a1c1/README.md#redis
|
||||
haskell-bee-redis = overrideCabal (drv: {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
fetchurl,
|
||||
fetchpatch,
|
||||
buildDunePackage,
|
||||
alcotest,
|
||||
dedukti,
|
||||
@@ -28,6 +29,14 @@ buildDunePackage rec {
|
||||
hash = "sha256-EGau0mGP2OakAMUUfb9V6pd86NP+LlGKxnhcZ3WhuL4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Compatibility with cmdliner ≥ 2
|
||||
(fetchpatch {
|
||||
url = "https://github.com/Deducteam/lambdapi/commit/8e27c0f668915fbd49e32bdac246d6d515a64dd0.patch";
|
||||
hash = "sha256-9CkvH1o81T9LP+IPogKGhoiIDP76/nRfq59ttU7r0fI=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
dream
|
||||
menhir
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
From 034c7eea63a155582109233d2fc1de8e14121908 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Weinelt <hexa@darmstadt.ccc.de>
|
||||
Date: Mon, 2 Mar 2026 12:55:44 +0100
|
||||
Subject: [PATCH] Raise on default IV
|
||||
|
||||
This disables the static default IV for CBC, CFB and OFB by raising when
|
||||
not IV gets passed. We make sure not to break the API contract this way,
|
||||
so that existing consumers who rely on the default IV get a useful
|
||||
exception message instead of an API break, which could be done in a
|
||||
future version.
|
||||
|
||||
In CBC mode an IV cannot be predictable or it breaks IND-CPA, this is
|
||||
also described as CWE-329.
|
||||
|
||||
In CFB and OFB mode an IV still requires to be unique, which does not
|
||||
really hold when initializing it statically.
|
||||
---
|
||||
pyaes/aes.py | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/pyaes/aes.py b/pyaes/aes.py
|
||||
index c6e8bc0..fd25547 100644
|
||||
--- a/pyaes/aes.py
|
||||
+++ b/pyaes/aes.py
|
||||
@@ -376,7 +376,7 @@ class AESModeOfOperationCBC(AESBlockModeOfOperation):
|
||||
|
||||
def __init__(self, key, iv = None):
|
||||
if iv is None:
|
||||
- self._last_cipherblock = [ 0 ] * 16
|
||||
+ raise ValueError("Missing IV parameter. This is a security problem, see https://github.com/ricmoo/pyaes/issues/56.")
|
||||
elif len(iv) != 16:
|
||||
raise ValueError('initialization vector must be 16 bytes')
|
||||
else:
|
||||
@@ -423,7 +423,7 @@ def __init__(self, key, iv, segment_size = 1):
|
||||
if segment_size == 0: segment_size = 1
|
||||
|
||||
if iv is None:
|
||||
- self._shift_register = [ 0 ] * 16
|
||||
+ raise ValueError("Missing IV parameter. This is a security problem, see https://github.com/ricmoo/pyaes/issues/56.")
|
||||
elif len(iv) != 16:
|
||||
raise ValueError('initialization vector must be 16 bytes')
|
||||
else:
|
||||
@@ -495,7 +495,7 @@ class AESModeOfOperationOFB(AESStreamModeOfOperation):
|
||||
|
||||
def __init__(self, key, iv = None):
|
||||
if iv is None:
|
||||
- self._last_precipherblock = [ 0 ] * 16
|
||||
+ raise ValueError("Missing IV parameter. This is a security problem, see https://github.com/ricmoo/pyaes/issues/56.")
|
||||
elif len(iv) != 16:
|
||||
raise ValueError('initialization vector must be 16 bytes')
|
||||
else:
|
||||
@@ -14,6 +14,12 @@ buildPythonPackage rec {
|
||||
sha256 = "02c1b1405c38d3c370b085fb952dd8bea3fadcee6411ad99f312cc129c536d8f";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/ricmoo/pyaes/issues/56
|
||||
# https://blog.trailofbits.com/2026/02/18/carelessness-versus-craftsmanship-in-cryptography/
|
||||
./default-iv.patch
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Pure-Python AES";
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -20,14 +20,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "python-aodhclient";
|
||||
version = "3.10.0";
|
||||
version = "3.10.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openstack";
|
||||
repo = "python-aodhclient";
|
||||
tag = version;
|
||||
hash = "sha256-+VBtsx9bjO7YIS5mGd6AaxvQyxg4En5gP5mKmoIFAtU=";
|
||||
hash = "sha256-xm42ZicdBxxm4LTDHPhEIeNU6evBZtp2PGvGy6V2t8c=";
|
||||
};
|
||||
|
||||
env.PBR_VERSION = version;
|
||||
|
||||
@@ -65,16 +65,16 @@
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
buildPythonPackage (finalAttrs: {
|
||||
pname = "sentry-sdk";
|
||||
version = "2.50.0";
|
||||
version = "2.53.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "getsentry";
|
||||
repo = "sentry-python";
|
||||
tag = version;
|
||||
hash = "sha256-wmfBLP8cTPgxb70dHL3esXPcCbW+Z8G9KgjJ49eus6c=";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-QPbfgzXPf1pp9BRaehS6e1yaeOegFsdjcAeqvrfx0zA=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@@ -165,7 +165,7 @@ buildPythonPackage rec {
|
||||
pytest-watch
|
||||
pytestCheckHook
|
||||
]
|
||||
++ optional-dependencies.http2;
|
||||
++ finalAttrs.finalPackage.optional-dependencies.http2;
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
@@ -222,8 +222,8 @@ buildPythonPackage rec {
|
||||
meta = {
|
||||
description = "Official Python SDK for Sentry.io";
|
||||
homepage = "https://github.com/getsentry/sentry-python";
|
||||
changelog = "https://github.com/getsentry/sentry-python/blob/${src.tag}/CHANGELOG.md";
|
||||
changelog = "https://github.com/getsentry/sentry-python/blob/${finalAttrs.src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ hexa ];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
}:
|
||||
mkKdeDerivation rec {
|
||||
pname = "ktextaddons";
|
||||
version = "1.9.1";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/ktextaddons/ktextaddons-${version}.tar.xz";
|
||||
hash = "sha256-Nm1alMdAVILDptJhNHwbmV3nOghwWZlrEX1hK/wSkcI=";
|
||||
hash = "sha256-AQHazKYL75LSsEU0LIgOFBnz3WsemKH4UKFPR7P53nk=";
|
||||
};
|
||||
|
||||
extraBuildInputs = [
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
postgresqlBuildExtension (finalAttrs: {
|
||||
pname = "pgvector";
|
||||
version = "0.8.1";
|
||||
version = "0.8.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pgvector";
|
||||
repo = "pgvector";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-4EqazYWstczL9T3YFqq2gtbcKIj6zWU8ItYt2nnwPYo=";
|
||||
hash = "sha256-TLPlH+amFdeI2pEsUZuvoQ1JA0sCMiIAWdkgqGBo4mI=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
postgresqlTestExtension,
|
||||
postgresqlTestHook,
|
||||
sphinx,
|
||||
stdenv,
|
||||
which,
|
||||
zlib,
|
||||
}:
|
||||
@@ -49,7 +50,7 @@ postgresqlBuildExtension (finalAttrs: {
|
||||
zlib
|
||||
];
|
||||
|
||||
doCheck = !(postgresqlTestHook.meta.broken);
|
||||
doCheck = lib.meta.availableOn stdenv.buildPlatform postgresqlTestHook;
|
||||
|
||||
checkInputs = [
|
||||
cunit
|
||||
|
||||
@@ -1761,6 +1761,7 @@ mapAliases {
|
||||
shipyard = throw "'shipyard' has been renamed to/replaced by 'jumppad'"; # Converted to throw 2025-10-27
|
||||
siduck76-st = throw "'siduck76-st' has been renamed to/replaced by 'st-snazzy'"; # Converted to throw 2025-10-27
|
||||
sierra-breeze-enhanced = throw "'sierra-breeze-enhanced' has been removed, as it is only compatible with Plasma 5, which is EOL"; # Added 2025-08-20
|
||||
signal-desktop-bin = throw "'signal-desktop-bin' has been replaced by 'signal-desktop' which is built from source"; # Added 2026-03-02
|
||||
signal-desktop-source = throw "'signal-desktop-source' has been renamed to/replaced by 'signal-desktop'"; # Converted to throw 2025-10-27
|
||||
simpleBluez = warnAlias "'simpleBluez' has been renamed to 'simplebluez'" simplebluez; # Added 2026-02-18
|
||||
simpleDBus = warnAlias "'simpleDBus' has been renamed to 'simpledbus'" simpledbus; # Added 2026-02-12
|
||||
|
||||
@@ -1066,7 +1066,6 @@ let
|
||||
lambda-term = callPackage ../development/ocaml-modules/lambda-term { };
|
||||
|
||||
lambdapi = callPackage ../development/ocaml-modules/lambdapi {
|
||||
cmdliner = cmdliner_1;
|
||||
why3 = pkgs.why3.override { ocamlPackages = self; };
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user