Merge staging-next into staging
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
- any-glob-to-any-file:
|
||||
- .github/actions/*
|
||||
- .github/workflows/*
|
||||
- .github/labeler*.yml
|
||||
- ci/**/*.*
|
||||
- maintainers/github-teams.json
|
||||
- base-branch: ['master']
|
||||
@@ -38,6 +39,7 @@
|
||||
- any-glob-to-any-file:
|
||||
- .github/actions/*
|
||||
- .github/workflows/*
|
||||
- .github/labeler*.yml
|
||||
- ci/**/*.*
|
||||
- maintainers/github-teams.json
|
||||
- base-branch: ['master']
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
|
||||
- `iroh` has been removed and split up into `iroh-dns-server` and `iroh-relay`.
|
||||
|
||||
- `python3Packages.gradio` has been updated to version 6. See upstream's migration guide at https://www.gradio.app/main/guides/gradio-6-migration-guide.
|
||||
|
||||
- All Log4Shell vulnerability scanners were removed, as they were all unmaintained upstream and are no longer relevant given that the vulnerability has been fixed upstream for several years.
|
||||
|
||||
- `asio` (standalone version of `boost::asio`) has been updated from 1.24.0 to 1.36.0. Some breaking changes were introduced between these
|
||||
|
||||
@@ -1599,6 +1599,13 @@
|
||||
githubId = 754494;
|
||||
name = "Anders Asheim Hennum";
|
||||
};
|
||||
anderscs = {
|
||||
email = "anders@sorby.xyz";
|
||||
github = "anderssorby";
|
||||
githubId = 6331075;
|
||||
matrix = "@anders:sorby.xyz";
|
||||
name = "Anders C. Sørby";
|
||||
};
|
||||
andershus = {
|
||||
email = "anders.husebo@eviny.no";
|
||||
github = "andershus";
|
||||
@@ -10198,7 +10205,7 @@
|
||||
};
|
||||
HarisDotParis = {
|
||||
name = "Haris";
|
||||
email = "nix.dev@haris.paris";
|
||||
email = "git@haris.paris";
|
||||
matrix = "@haris:haris.paris";
|
||||
github = "HarisDotParis";
|
||||
githubId = 67912527;
|
||||
|
||||
@@ -908,12 +908,6 @@ with lib.maintainers;
|
||||
shortName = "Serokell employees";
|
||||
};
|
||||
|
||||
sphinx = {
|
||||
members = [ ];
|
||||
scope = "Maintain Sphinx related packages.";
|
||||
shortName = "Sphinx";
|
||||
};
|
||||
|
||||
stdenv = {
|
||||
enableFeatureFreezePing = true;
|
||||
github = "stdenv";
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- `services.crabfit` was removed because its upstream packages are unmaintained and insecure.
|
||||
|
||||
- `services.kubernetes.addons.dns.coredns` has been renamed to `services.kubernetes.addons.dns.corednsImage` and now expects a
|
||||
package instead of attrs. Now, by default, nixpkgs.coredns in conjunction with dockerTools.buildImage is used, instead
|
||||
of pulling the upstream container image from Docker Hub. If you want the old behavior, you can set:
|
||||
|
||||
@@ -1589,7 +1589,6 @@
|
||||
./services/web-apps/commafeed.nix
|
||||
./services/web-apps/convos.nix
|
||||
./services/web-apps/cook-cli.nix
|
||||
./services/web-apps/crabfit.nix
|
||||
./services/web-apps/cryptpad.nix
|
||||
./services/web-apps/dashy.nix
|
||||
./services/web-apps/davis.nix
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
let
|
||||
inherit (lib.options) mkEnableOption mkPackageOption;
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.meta) getExe;
|
||||
|
||||
cfg = config.programs.television;
|
||||
in
|
||||
@@ -26,13 +25,13 @@ in
|
||||
|
||||
programs = {
|
||||
zsh.interactiveShellInit = mkIf cfg.enableZshIntegration ''
|
||||
eval "$(${getExe cfg.package} init zsh)"
|
||||
source ${cfg.package}/share/television/completion.zsh
|
||||
'';
|
||||
bash.interactiveShellInit = mkIf cfg.enableBashIntegration ''
|
||||
eval "$(${getExe cfg.package} init bash)"
|
||||
source ${cfg.package}/share/television/completion.bash
|
||||
'';
|
||||
fish.interactiveShellInit = mkIf cfg.enableFishIntegration ''
|
||||
${getExe cfg.package} init fish | source
|
||||
source ${cfg.package}/share/television/completion.fish
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -151,6 +151,9 @@ in
|
||||
"services"
|
||||
"couchpotato"
|
||||
] "The corresponding package was removed from nixpkgs.")
|
||||
(mkRemovedOptionModule [ "services" "crabfit" ]
|
||||
"The corresponding packages were removed from nixpkgs because they are unmaintained upstream and insecure."
|
||||
)
|
||||
(mkRemovedOptionModule [ "services" "crowd" ]
|
||||
"Atlassian software has been removed, as support for the Atlassian Server products ended in February 2024 and there was insufficient interest in maintaining the Atlassian Data Center replacements"
|
||||
)
|
||||
|
||||
@@ -45,7 +45,6 @@ let
|
||||
xauth_cmd = lib.optionalString xcfg.enable "${pkgs.xorg.xauth}/bin/xauth";
|
||||
x_cmd = lib.optionalString xcfg.enable xserverWrapper;
|
||||
setup_cmd = dmcfg.sessionData.wrapper;
|
||||
session_log = ".local/state/ly-session.log";
|
||||
};
|
||||
|
||||
finalConfig = defaultConfig // cfg.settings;
|
||||
|
||||
@@ -1,173 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
literalExpression
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkOption
|
||||
mkPackageOption
|
||||
;
|
||||
|
||||
inherit (lib.types)
|
||||
attrsOf
|
||||
package
|
||||
port
|
||||
str
|
||||
;
|
||||
|
||||
cfg = config.services.crabfit;
|
||||
in
|
||||
|
||||
{
|
||||
options.services.crabfit = {
|
||||
enable = mkEnableOption "Crab Fit, a meeting scheduler based on peoples' availability";
|
||||
|
||||
frontend = {
|
||||
package = mkPackageOption pkgs "crabfit-frontend" { };
|
||||
|
||||
finalDrv = mkOption {
|
||||
readOnly = true;
|
||||
type = package;
|
||||
default = cfg.frontend.package.override {
|
||||
api_url = "https://${cfg.api.host}";
|
||||
frontend_url = cfg.frontend.host;
|
||||
};
|
||||
|
||||
defaultText = literalExpression ''
|
||||
cfg.package.override {
|
||||
api_url = "https://''${cfg.api.host}";
|
||||
frontend_url = cfg.frontend.host;
|
||||
};
|
||||
'';
|
||||
|
||||
description = ''
|
||||
The patched frontend, using the correct urls for the API and frontend.
|
||||
'';
|
||||
};
|
||||
|
||||
environment = mkOption {
|
||||
type = attrsOf str;
|
||||
default = { };
|
||||
description = ''
|
||||
Environment variables for the crabfit frontend.
|
||||
'';
|
||||
};
|
||||
|
||||
host = mkOption {
|
||||
type = str;
|
||||
description = ''
|
||||
The hostname of the frontend.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = port;
|
||||
default = 3001;
|
||||
description = ''
|
||||
The internal listening port of the frontend.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
api = {
|
||||
package = mkPackageOption pkgs "crabfit-api" { };
|
||||
|
||||
environment = mkOption {
|
||||
type = attrsOf str;
|
||||
default = { };
|
||||
description = ''
|
||||
Environment variables for the crabfit API.
|
||||
'';
|
||||
};
|
||||
|
||||
host = mkOption {
|
||||
type = str;
|
||||
description = ''
|
||||
The hostname of the API.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = port;
|
||||
default = 3000;
|
||||
description = ''
|
||||
The internal listening port of the API.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services = {
|
||||
crabfit-api = {
|
||||
description = "The API for Crab Fit.";
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "postgresql.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
# TODO: harden
|
||||
ExecStart = lib.getExe cfg.api.package;
|
||||
User = "crabfit";
|
||||
};
|
||||
|
||||
environment = {
|
||||
API_LISTEN = "127.0.0.1:${builtins.toString cfg.api.port}";
|
||||
DATABASE_URL = "postgres:///crabfit?host=/run/postgresql";
|
||||
FRONTEND_URL = "https://${cfg.frontend.host}";
|
||||
}
|
||||
// cfg.api.environment;
|
||||
};
|
||||
|
||||
crabfit-frontend = {
|
||||
description = "The frontend for Crab Fit.";
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
# TODO: harden
|
||||
CacheDirectory = "crabfit";
|
||||
DynamicUser = true;
|
||||
ExecStart = "${lib.getExe pkgs.nodejs} standalone/server.js";
|
||||
WorkingDirectory = cfg.frontend.finalDrv;
|
||||
};
|
||||
|
||||
environment = {
|
||||
NEXT_PUBLIC_API_URL = "https://${cfg.api.host}";
|
||||
PORT = builtins.toString cfg.frontend.port;
|
||||
}
|
||||
// cfg.frontend.environment;
|
||||
};
|
||||
};
|
||||
|
||||
users = {
|
||||
groups.crabfit = { };
|
||||
|
||||
users.crabfit = {
|
||||
group = "crabfit";
|
||||
isSystemUser = true;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
postgresql = {
|
||||
enable = true;
|
||||
|
||||
ensureDatabases = [ "crabfit" ];
|
||||
|
||||
ensureUsers = [
|
||||
{
|
||||
name = "crabfit";
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -135,10 +135,10 @@ in
|
||||
];
|
||||
|
||||
LoadCredential = [
|
||||
(lib.optionalString (cfg.passwordFile != null) "PHOTOPRISM_ADMIN_PASSWORD_FILE=${cfg.passwordFile}")
|
||||
(lib.optionalString (cfg.passwordFile != null) "PHOTOPRISM_ADMIN_PASSWORD_FILE:${cfg.passwordFile}")
|
||||
(lib.optionalString (
|
||||
cfg.databasePasswordFile != null
|
||||
) "PHOTOPRISM_DATABASE_PASSWORD=${cfg.databasePasswordFile}")
|
||||
) "PHOTOPRISM_DATABASE_PASSWORD:${cfg.databasePasswordFile}")
|
||||
];
|
||||
|
||||
LockPersonality = true;
|
||||
|
||||
@@ -433,7 +433,6 @@ in
|
||||
};
|
||||
coturn = runTest ./coturn.nix;
|
||||
couchdb = runTest ./couchdb.nix;
|
||||
crabfit = runTest ./crabfit.nix;
|
||||
cri-o = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./cri-o.nix;
|
||||
croc = runTest ./croc.nix;
|
||||
cross-seed = runTest ./cross-seed.nix;
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
name = "crabfit";
|
||||
|
||||
meta.maintainers = [ ];
|
||||
|
||||
nodes = {
|
||||
machine =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.crabfit = {
|
||||
enable = true;
|
||||
|
||||
frontend.host = "http://127.0.0.1:3001";
|
||||
api.host = "127.0.0.1:3000";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# TODO: Add a reverse proxy and a dns entry for testing
|
||||
testScript = ''
|
||||
machine.wait_for_unit("crabfit-api")
|
||||
machine.wait_for_unit("crabfit-frontend")
|
||||
|
||||
machine.wait_for_open_port(3000)
|
||||
machine.wait_for_open_port(3001)
|
||||
|
||||
machine.succeed("curl -f http://localhost:3001/")
|
||||
'';
|
||||
}
|
||||
@@ -44,14 +44,14 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "guitarix";
|
||||
version = "0.46.0";
|
||||
version = "0.47.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "brummer10";
|
||||
repo = "guitarix";
|
||||
rev = "V${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-AftC6fQEDzG/3C/83YbK/++bRgP7vPD0E2X6KEWpowc=";
|
||||
hash = "sha256-YQqcpdehfC9UE1OowC1/YUw2eWgbLWMbAJ3V5tVmtiU=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/trunk";
|
||||
@@ -135,6 +135,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
lord-valen
|
||||
anderscs
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "vscode-augment";
|
||||
publisher = "augment";
|
||||
version = "0.654.2";
|
||||
hash = "sha256-Cfap8JB0krj1DpF6hoQamnbugdvjybWtO85vuxB7lcw=";
|
||||
version = "0.654.3";
|
||||
hash = "sha256-Vfa+U3BhnfbwKN7cgKGTk+8mO+c7HI3cPZ3Vyna7bb0=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -3596,8 +3596,8 @@ let
|
||||
mktplcRef = {
|
||||
name = "dark-molokai-theme";
|
||||
publisher = "nonylene";
|
||||
version = "1.0.8";
|
||||
hash = "sha256-GQNv3QWzb0xSnaR8GOnAOZF/wOg0LaWHN3goIYq7JmI=";
|
||||
version = "1.0.10";
|
||||
hash = "sha256-YBYlcf6TUPEQvmhL7mYfN59itKQvtWt9003/Bup15eg=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/nonylene.dark-molokai-theme/changelog";
|
||||
|
||||
@@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
publisher = "google";
|
||||
name = "colab";
|
||||
version = "0.1.3";
|
||||
hash = "sha256-aK2Bfis9eTyNTaFldnjV9P0TK/G0gRBFRp9QvlajS5Y=";
|
||||
version = "0.1.4";
|
||||
hash = "sha256-15n8e7KHMHU16oScivd6aY8v5vnzlH+4ME9Z6qt3AHw=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -200,13 +200,13 @@
|
||||
"vendorHash": "sha256-LGxG7KEv11ppc6ptOsEY78y+iW0DcQpAhyGcXjhuTR0="
|
||||
},
|
||||
"cloudflare_cloudflare": {
|
||||
"hash": "sha256-+sp9u9Xl5MvAWjy5efA4CgL94yprCcBP8yYEPcVifgQ=",
|
||||
"hash": "sha256-QBGgXdwmF6S2hmFGHPCBA+v8VBiOxX1T199ws0AKVhk=",
|
||||
"homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
|
||||
"owner": "cloudflare",
|
||||
"repo": "terraform-provider-cloudflare",
|
||||
"rev": "v5.14.0",
|
||||
"rev": "v5.15.0",
|
||||
"spdx": "Apache-2.0",
|
||||
"vendorHash": "sha256-4OHJyp3Tdf/RpXFMJb91a/ygsb54pNzMtMi5Ye2RqOA="
|
||||
"vendorHash": "sha256-qr0qKfOPiujY4QeD6yy3Rp1iIs8Ac72afRKaTZDGe3w="
|
||||
},
|
||||
"cloudfoundry-community_cloudfoundry": {
|
||||
"hash": "sha256-1nYncJLVU/f9WD6Quh9IieIXgixPzbPk4zbtI1zmf9g=",
|
||||
@@ -1499,11 +1499,11 @@
|
||||
"vendorHash": "sha256-Z4DfoG4ApXbPNXZs9YvBWQj1bH7moLNI6P+nKDHt/Jc="
|
||||
},
|
||||
"yandex-cloud_yandex": {
|
||||
"hash": "sha256-aa9lnDzlM+bhavGp1QjG9dNNYq8XbHuUOe+O0EO37LA=",
|
||||
"hash": "sha256-9mI2bGSiSuTzGBXHzpGjU6I3Vh04aEkCMkfNk6rQbTc=",
|
||||
"homepage": "https://registry.terraform.io/providers/yandex-cloud/yandex",
|
||||
"owner": "yandex-cloud",
|
||||
"repo": "terraform-provider-yandex",
|
||||
"rev": "v0.175.0",
|
||||
"rev": "v0.177.0",
|
||||
"spdx": "MPL-2.0",
|
||||
"vendorHash": "sha256-wwZiY8WXGdpOCT+4EcnSQeemDMzKZcMFZQK8SSAUkkA="
|
||||
}
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildLua {
|
||||
pname = "mpv-playlistmanager";
|
||||
version = "0-unstable-2025-09-03";
|
||||
version = "0-unstable-2025-12-17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jonniek";
|
||||
repo = "mpv-playlistmanager";
|
||||
rev = "b11621e1dc4afd24b41b887aff0748146176c4c1";
|
||||
hash = "sha256-0+ISjWb8aGdRjsFOPURBZzTmJ4X8ayzYfnxYICDmizA=";
|
||||
rev = "75caa611c9dab164e74a04a62abfbf508e51d71e";
|
||||
hash = "sha256-wSyxcR+qIWozbDjrZT+B6SgFaigSWofExdsZ2fF7/uY=";
|
||||
};
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
|
||||
|
||||
@@ -231,6 +231,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
url = "https://salsa.debian.org/pkg-virtualbox-team/virtualbox/-/raw/8028d88e6876ca5977de13c58b54e243229efe98/debian/patches/16-no-update.patch";
|
||||
hash = "sha256-AGtFsRjwd8Yw296eqX3NC2TUptAhpFTRaOMutiheQ6Y=";
|
||||
})
|
||||
# NAT network shouldn't fully saturate one CPU
|
||||
# https://github.com/VirtualBox/virtualbox/issues/356
|
||||
(fetchpatch {
|
||||
name = "vbox-nat-cpu.patch";
|
||||
url = "https://github.com/VirtualBox/virtualbox/commit/efa378dadd192af8fbce331e9ec66fb36d65ad3d.diff";
|
||||
hash = "sha256-7u3kSszv77leZdMs911TzAchU5mBqmNpgvuZDQaY9To=";
|
||||
hunks = [ "2-" ];
|
||||
})
|
||||
]
|
||||
++ [ ./extra_symbols.patch ]
|
||||
# When hardening is enabled, we cannot use wrapQtApp to ensure that VirtualBoxVM sees
|
||||
|
||||
@@ -114,6 +114,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-EC8o5FIP/eXa+0LZt0C8EWHzKVAniv9SIXkZdbibcxg=";
|
||||
fetchSubmodules = true;
|
||||
fetchTags = true;
|
||||
deepClone = true;
|
||||
postFetch = ''
|
||||
cd $out
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "android-backup-extractor";
|
||||
version = "0-unstable-2025-01-15";
|
||||
version = "0-unstable-2025-10-27";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/nelenkov/android-backup-extractor/releases/download/latest/abe-62310d4.jar";
|
||||
hash = "sha256-KY85I8OJCH7z6U6y9UbelFb3rvBVCid+AjJcucNGLdA=";
|
||||
url = "https://github.com/nelenkov/android-backup-extractor/releases/download/latest/abe-540a57d.jar";
|
||||
hash = "sha256-7RAJLOZJ8/TXN7boS0w1t4r/wHu/RwN3/N6HGmTMfhM=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
}:
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "ansible-navigator";
|
||||
version = "25.11.0";
|
||||
version = "25.12.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = python3Packages.pythonOlder "3.10";
|
||||
@@ -15,7 +15,7 @@ python3Packages.buildPythonApplication rec {
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "ansible_navigator";
|
||||
hash = "sha256-PPSEEEUCX58/c3Iz1NMqCtfvOI5YBPTSoigTw/Ur4Zg=";
|
||||
hash = "sha256-i6yw282NWUaCZBtAYi3rQsLk+GGyp8QHyqBi7nwwIlo=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
|
||||
let
|
||||
source = {
|
||||
version = "2.31.0";
|
||||
hash = "sha256-MxaHbsjewiNU4Zh6HjUO8DPWKi6+05Hl7QmiaOlSzCU=";
|
||||
npmDepsHash = "sha256-uUdo6QEm7K652VsDrLDJ4Rd6jW3ZjLPN6pq5KqK2OvY=";
|
||||
clientNpmDepsHash = "sha256-a0eZN/zUoJkJiGHSDqO5lmo9LAN6i8p40sd3rhUD0s0=";
|
||||
version = "2.32.0";
|
||||
hash = "sha256-tLADYpeDv5p1U8K6o36ZeUdKxC5en9T44+AP4AnYFCw=";
|
||||
npmDepsHash = "sha256-P5YHoaM0ZpeRz/lFa6zSlJxerpFEDlUepmIq/9fNbVE=";
|
||||
clientNpmDepsHash = "sha256-QM2bQDhPtimQjApxtV6SELJW2219Hj8wUieb8gfcTi0=";
|
||||
};
|
||||
|
||||
src = fetchFromGitHub {
|
||||
|
||||
@@ -10,17 +10,17 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "aws-vault";
|
||||
version = "7.8.4";
|
||||
version = "7.8.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ByteNess";
|
||||
repo = "aws-vault";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-I2FjIiPRDsOSRD/ufcmv1DRlMNMhL9QMR8CpnpjGDM8=";
|
||||
hash = "sha256-tJqqJl+X5LpVJXB6QGqNkjZxTSo44IK/IY/yVk2DLjQ=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-MPVssudvDjGlIgVw3ddHjQ2sJAOWy5p51hK26aVooWY=";
|
||||
vendorHash = "sha256-tuOrD2NjcjmjosI1bW2F7xEwGLNOMDNxFpEfODF9FHs=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "breads-ad";
|
||||
version = "1.2.4-unstable-2024-05-27";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oppsec";
|
||||
repo = "breads";
|
||||
rev = "bdfc8b5f0357a34847767505ddc98734ca3b491f";
|
||||
hash = "sha256-U1q15D59N55qBf4NVOpe5RpQjlE1ye2TNNIZf2IZV3U=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "ldap3" ];
|
||||
|
||||
build-system = with python3.pkgs; [ setuptools ];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
impacket
|
||||
ldap3
|
||||
rich
|
||||
];
|
||||
|
||||
# Project has no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Tool to evaluate Active Directory Security";
|
||||
homepage = "https://github.com/oppsec/breads";
|
||||
changelog = "https://github.com/oppsec/breads/blob/${version}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ fab ];
|
||||
mainProgram = "breads-ad";
|
||||
};
|
||||
}
|
||||
+2
-2
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@anthropic-ai/claude-code",
|
||||
"version": "2.0.74",
|
||||
"version": "2.0.75",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@anthropic-ai/claude-code",
|
||||
"version": "2.0.74",
|
||||
"version": "2.0.75",
|
||||
"license": "SEE LICENSE IN README.md",
|
||||
"bin": {
|
||||
"claude": "cli.js"
|
||||
|
||||
@@ -11,14 +11,14 @@
|
||||
}:
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "claude-code";
|
||||
version = "2.0.74";
|
||||
version = "2.0.75";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${finalAttrs.version}.tgz";
|
||||
hash = "sha256-J3m1KUO8Bkzwh3fLI96LoWw6VsSwoETcSq2IufeRW9E=";
|
||||
hash = "sha256-3BdinltHR29yYz+celc46MoZO8qAyLnRkJYhL2b7MFU=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-kwJDSBAepJ1IVLzf4sydTZpvr6pERD9d7kr+KYC5Y/o=";
|
||||
npmDepsHash = "sha256-mgIWUIUDryDbgmS7MBGmGMtYD46oxYPPybsnvwQVZFA=";
|
||||
|
||||
postPatch = ''
|
||||
cp ${./package-lock.json} package-lock.json
|
||||
|
||||
@@ -11,16 +11,16 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "clouddrive2";
|
||||
version = "0.9.16";
|
||||
version = "0.9.17";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/cloud-fs/cloud-fs.github.io/releases/download/v${finalAttrs.version}/clouddrive-2-${os}-${arch}-${finalAttrs.version}.tgz";
|
||||
hash =
|
||||
{
|
||||
x86_64-linux = "sha256-CNB0nUMWpCFy/44meHZ9q4wqaQOK3KgV4cwlZeku+o4=";
|
||||
aarch64-linux = "sha256-OOpLh0VPycfEcmaYLlayirgQohZQx1f6LBJgRZRaLTk=";
|
||||
x86_64-darwin = "sha256-ijdUxs9cc9M4WRn0T8oWrThO/irD4ZT5d5TRlgrddzs=";
|
||||
aarch64-darwin = "sha256-/xu6Q7TteqwEvMKc5VMYfz7wQAUjBc8qH3SCP+YbugY=";
|
||||
x86_64-linux = "sha256-AAGgtofApbyW/4TiqmC5tAPsiBIz1G2nYkbcvoKMO6k=";
|
||||
aarch64-linux = "sha256-r0Bx0sf4chVBbxZsg3AoaF+CmTjFniIFb3Fa4BNpk4E=";
|
||||
x86_64-darwin = "sha256-MtmYWGmv7+LimuWBlXdtBy1utkaDrjCjMrqtxlLSb/o=";
|
||||
aarch64-darwin = "sha256-/tfkjWXpzE8cxx665KHR4T+VAbymd0loEGLNK206Yag=";
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
@@ -45,13 +45,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "cockpit";
|
||||
version = "352";
|
||||
version = "353.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cockpit-project";
|
||||
repo = "cockpit";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-8FtC5fr/FPjHnb7RpVi4kz0RS6nvp7aD++ILo0LRZxo=";
|
||||
hash = "sha256-uJBrBsNCYkdq+13UGJ6nPr55HPD4R0BTugWCKrycaIY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -14,18 +14,18 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "codex";
|
||||
version = "0.76.0";
|
||||
version = "0.77.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openai";
|
||||
repo = "codex";
|
||||
tag = "rust-v${finalAttrs.version}";
|
||||
hash = "sha256-a6jpYIcfTubSncK1Bxx04X30gkb0J7wi7W6JBXbBBcA=";
|
||||
hash = "sha256-05zjzCrVhPLvrqx9UA2dPOjP8mQFUTWBCrmq/iaR3hg=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/codex-rs";
|
||||
|
||||
cargoHash = "sha256-fg8OdKKGZ5QjJ/U/7cAFUWNBBa9GbR6OSbYcKeBLP1A=";
|
||||
cargoHash = "sha256-bxy8YaUxsud3Gg09ebJyo0WNFvt76dcQTQ50B+xSbJU=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "commix";
|
||||
version = "4.0";
|
||||
version = "4.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "commixproject";
|
||||
repo = "commix";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-AikhXMacsJ7AZyKWcmu+ngs9KeiwQE60cpM2CV8ej1Y=";
|
||||
hash = "sha256-X2AJIE/Uk6w5bcgCELfmy9+Nzoma96yBva9Aj+sKE3k=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
Generated
-4432
File diff suppressed because it is too large
Load Diff
@@ -1,74 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
nixosTests,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
pkg-config,
|
||||
protobuf,
|
||||
openssl,
|
||||
sqlite,
|
||||
adaptor ? "sql",
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "crabfit-api";
|
||||
version = "0-unstable-2023-08-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GRA0007";
|
||||
repo = "crab.fit";
|
||||
rev = "628f9eefc300bf1ed3d6cc3323332c2ed9b8a350";
|
||||
hash = "sha256-jy8BrJSHukRenPbZHw4nPx3cSi7E2GSg//WOXDh90mY=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/api";
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "01-listening-address.patch";
|
||||
url = "https://github.com/GRA0007/crab.fit/commit/a1ac6da0f5e9d10df6bef8d735bc9ecaa9088d14.patch";
|
||||
relative = "api";
|
||||
hash = "sha256-7bmBndS3ow9P9EKmoQrQWcTpS4B3qAnSpeTUF6ox+BM=";
|
||||
})
|
||||
];
|
||||
|
||||
# FIXME: Remove this after https://github.com/GRA0007/crab.fit/pull/341 is merged,
|
||||
# or upstream bumps their locked version of 0.3 time to 0.3.36 or later
|
||||
postPatch = ''
|
||||
cp ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"google-cloud-0.2.1" = "sha256-3/sUeAXnpxO6kzx5+R7ukvMCEM001VoEPP6HmaRihHE=";
|
||||
};
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
protobuf
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
sqlite
|
||||
];
|
||||
|
||||
buildFeatures = [ "${adaptor}-adaptor" ];
|
||||
|
||||
PROTOC = "${protobuf}/bin/protoc";
|
||||
|
||||
passthru.tests = {
|
||||
inherit (nixosTests) crabfit;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Enter your availability to find a time that works for everyone";
|
||||
homepage = "https://github.com/GRA0007/crab.fit";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [ ];
|
||||
mainProgram = "crabfit-api";
|
||||
};
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
|
||||
index d4c1466..76c9931 100644
|
||||
--- a/src/app/layout.tsx
|
||||
+++ b/src/app/layout.tsx
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Metadata } from 'next'
|
||||
-import { Karla } from 'next/font/google'
|
||||
+import localFont from 'next/font/local'
|
||||
import { Analytics } from '@vercel/analytics/react'
|
||||
|
||||
import Egg from '/src/components/Egg/Egg'
|
||||
@@ -10,7 +10,7 @@ import { useTranslation } from '/src/i18n/server'
|
||||
|
||||
import './global.css'
|
||||
|
||||
-const karla = Karla({ subsets: ['latin'] })
|
||||
+const karla = localFont({ src: './fonts/karla.ttf' })
|
||||
|
||||
export const metadata: Metadata = {
|
||||
metadataBase: new URL('https://crab.fit'),
|
||||
@@ -1,236 +0,0 @@
|
||||
diff --git a/public/robots.txt b/public/robots.txt
|
||||
index 7fb2544..6e921ba 100644
|
||||
--- a/public/robots.txt
|
||||
+++ b/public/robots.txt
|
||||
@@ -15,4 +15,4 @@ Allow: /*.ico$
|
||||
Allow: /*.svg$
|
||||
Disallow: *
|
||||
|
||||
-Sitemap: https://crab.fit/sitemap.xml
|
||||
+Sitemap: https://@FRONTEND_URL@/sitemap.xml
|
||||
diff --git a/public/sitemap.xml b/public/sitemap.xml
|
||||
index 072442a..32f0e75 100644
|
||||
--- a/public/sitemap.xml
|
||||
+++ b/public/sitemap.xml
|
||||
@@ -1,15 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
- <loc>https://crab.fit/</loc>
|
||||
+ <loc>https://@FRONTEND_URL@/</loc>
|
||||
<priority>1.0</priority>
|
||||
</url>
|
||||
<url>
|
||||
- <loc>https://crab.fit/how-to</loc>
|
||||
+ <loc>https://@FRONTEND_URL@/how-to</loc>
|
||||
<priority>0.4</priority>
|
||||
</url>
|
||||
<url>
|
||||
- <loc>https://crab.fit/privacy</loc>
|
||||
+ <loc>https://@FRONTEND_URL@/privacy</loc>
|
||||
<priority>0.2</priority>
|
||||
</url>
|
||||
</urlset>
|
||||
diff --git a/src/app/[id]/page.tsx b/src/app/[id]/page.tsx
|
||||
index a3af022..7d2494d 100644
|
||||
--- a/src/app/[id]/page.tsx
|
||||
+++ b/src/app/[id]/page.tsx
|
||||
@@ -49,10 +49,10 @@ const Page = async ({ params }: PageProps) => {
|
||||
>{t('common:created', { date: relativeTimeFormat(Temporal.Instant.fromEpochSeconds(event.created_at), i18n.language) })}</span>
|
||||
|
||||
<Copyable className={styles.info}>
|
||||
- {`https://crab.fit/${event.id}`}
|
||||
+ {`https://@FRONTEND_URL@/${event.id}`}
|
||||
</Copyable>
|
||||
<p className={makeClass(styles.info, styles.noPrint)}>
|
||||
- <Trans i18nKey="event:nav.shareinfo" t={t} i18n={i18n}>_<a href={`mailto:?subject=${encodeURIComponent(t('event:nav.email_subject', { event_name: event.name }))}&body=${encodeURIComponent(`${t('event:nav.email_body')} https://crab.fit/${event.id}`)}`}>_</a>_</Trans>
|
||||
+ <Trans i18nKey="event:nav.shareinfo" t={t} i18n={i18n}>_<a href={`mailto:?subject=${encodeURIComponent(t('event:nav.email_subject', { event_name: event.name }))}&body=${encodeURIComponent(`${t('event:nav.email_body')} https://@FRONTEND_URL@/${event.id}`)}`}>_</a>_</Trans>
|
||||
</p>
|
||||
</Content>
|
||||
</Suspense>
|
||||
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
|
||||
index d4c1466..3d37088 100644
|
||||
--- a/src/app/layout.tsx
|
||||
+++ b/src/app/layout.tsx
|
||||
@@ -13,7 +13,7 @@ import './global.css'
|
||||
const karla = Karla({ subsets: ['latin'] })
|
||||
|
||||
export const metadata: Metadata = {
|
||||
- metadataBase: new URL('https://crab.fit'),
|
||||
+ metadataBase: new URL('https://@FRONTEND_URL@'),
|
||||
title: {
|
||||
absolute: 'Crab Fit',
|
||||
template: '%s - Crab Fit',
|
||||
diff --git a/src/components/CreateForm/components/EventInfo/EventInfo.tsx b/src/components/CreateForm/components/EventInfo/EventInfo.tsx
|
||||
index 4376001..c404233 100644
|
||||
--- a/src/components/CreateForm/components/EventInfo/EventInfo.tsx
|
||||
+++ b/src/components/CreateForm/components/EventInfo/EventInfo.tsx
|
||||
@@ -16,10 +16,10 @@ const EventInfo = ({ event }: EventInfoProps) => {
|
||||
return <div className={styles.wrapper}>
|
||||
<h2>{event.name}</h2>
|
||||
<Copyable className={styles.info}>
|
||||
- {`https://crab.fit/${event.id}`}
|
||||
+ {`https://@FRONTEND_URL@/${event.id}`}
|
||||
</Copyable>
|
||||
<p className={styles.info}>
|
||||
- <Trans i18nKey="event:nav.shareinfo_alt" t={t} i18n={i18n}>_<a href={`mailto:?subject=${encodeURIComponent(t('nav.email_subject', { event_name: event.name }))}&body=${encodeURIComponent(`${t('nav.email_body')} https://crab.fit/${event.id}`)}`} target="_blank">_</a>_</Trans>
|
||||
+ <Trans i18nKey="event:nav.shareinfo_alt" t={t} i18n={i18n}>_<a href={`mailto:?subject=${encodeURIComponent(t('nav.email_subject', { event_name: event.name }))}&body=${encodeURIComponent(`${t('nav.email_body')} https://@FRONTEND_URL@/${event.id}`)}`} target="_blank">_</a>_</Trans>
|
||||
</p>
|
||||
</div>
|
||||
}
|
||||
diff --git a/src/i18n/locales/de/help.json b/src/i18n/locales/de/help.json
|
||||
index 0dbe707..564a83d 100644
|
||||
--- a/src/i18n/locales/de/help.json
|
||||
+++ b/src/i18n/locales/de/help.json
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
"s1": "Schritt 1",
|
||||
|
||||
- "p3": "Benutze das Formular auf <1>crab.fit</1>, um einen neuen Termin zu erfassen. Du brauchst nur einen groben Zeitrahmen für den Termin anzugeben, aber noch nicht deine Verfügbarkeit",
|
||||
+ "p3": "Benutze das Formular auf <1>@FRONTEND_URL@</1>, um einen neuen Termin zu erfassen. Du brauchst nur einen groben Zeitrahmen für den Termin anzugeben, aber noch nicht deine Verfügbarkeit",
|
||||
"p4": "Beispiel: \"Jennys Geburtstags-Lunch\". Jenny will den Lunch in derselben Woche haben wie ihren Geburtstag, den 15. April, aber sie weiss, dass nicht alle ihre Freunde am 15. frei sind. Sie will ihn auch nicht am Wochenende",
|
||||
"p5": "Jenny weiss auch, dass der Lunch zwischen 11 und 5 Uhr stattfinden muss.",
|
||||
|
||||
diff --git a/src/i18n/locales/en-GB/help.json b/src/i18n/locales/en-GB/help.json
|
||||
index 4d0f1c7..02f985f 100644
|
||||
--- a/src/i18n/locales/en-GB/help.json
|
||||
+++ b/src/i18n/locales/en-GB/help.json
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
"s1": "Step 1",
|
||||
|
||||
- "p3": "Use the form at <1>crab.fit</1> to make a new event. You only need to put in the rough time period for when your event occurs here, not your availability.",
|
||||
+ "p3": "Use the form at <1>@FRONTEND_URL@</1> to make a new event. You only need to put in the rough time period for when your event occurs here, not your availability.",
|
||||
"p4": "For example, we'll use \"Jenny's Birthday Lunch\". Jenny wants her birthday lunch to happen on the same week as her birthday, the 15th of April, but she knows that not all of her friends are available on the 15th. She also doesn't want to do it on the weekend.",
|
||||
"p5": "Jenny also knows that since it's a lunch event, it can't start before 11am or go any later than 5pm.",
|
||||
|
||||
diff --git a/src/i18n/locales/en/help.json b/src/i18n/locales/en/help.json
|
||||
index 4d0f1c7..02f985f 100644
|
||||
--- a/src/i18n/locales/en/help.json
|
||||
+++ b/src/i18n/locales/en/help.json
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
"s1": "Step 1",
|
||||
|
||||
- "p3": "Use the form at <1>crab.fit</1> to make a new event. You only need to put in the rough time period for when your event occurs here, not your availability.",
|
||||
+ "p3": "Use the form at <1>@FRONTEND_URL@</1> to make a new event. You only need to put in the rough time period for when your event occurs here, not your availability.",
|
||||
"p4": "For example, we'll use \"Jenny's Birthday Lunch\". Jenny wants her birthday lunch to happen on the same week as her birthday, the 15th of April, but she knows that not all of her friends are available on the 15th. She also doesn't want to do it on the weekend.",
|
||||
"p5": "Jenny also knows that since it's a lunch event, it can't start before 11am or go any later than 5pm.",
|
||||
|
||||
diff --git a/src/i18n/locales/es/help.json b/src/i18n/locales/es/help.json
|
||||
index 1bcd264..ccf4c85 100644
|
||||
--- a/src/i18n/locales/es/help.json
|
||||
+++ b/src/i18n/locales/es/help.json
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
"s1": "Paso 1",
|
||||
|
||||
- "p3": "Use the form at <1>crab.fit</1> to make a new event. You only need to put in the rough time period for when your event occurs here, not your availability.",
|
||||
+ "p3": "Use the form at <1>@FRONTEND_URL@</1> to make a new event. You only need to put in the rough time period for when your event occurs here, not your availability.",
|
||||
"p4": "For example, we'll use \"Jenny's Birthday Lunch\". Jenny wants her birthday lunch to happen on the same week as her birthday, the 15th of April, but she knows that not all of her friends are available on the 15th. She also doesn't want to do it on the weekend.",
|
||||
"p5": "Jenny also knows that since it's a lunch event, it can't start before 11am or go any later than 5pm.",
|
||||
|
||||
diff --git a/src/i18n/locales/fr/help.json b/src/i18n/locales/fr/help.json
|
||||
index 24603e1..395787f 100644
|
||||
--- a/src/i18n/locales/fr/help.json
|
||||
+++ b/src/i18n/locales/fr/help.json
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
"s1": "Étape 1",
|
||||
|
||||
- "p3": "Utilisez le formulaire sur <1>crab.fit</1> pour créer un nouvel événement. Vous devez seulement indiquer la période approximative de votre événement ici, et non vos disponibilités.",
|
||||
+ "p3": "Utilisez le formulaire sur <1>@FRONTEND_URL@</1> pour créer un nouvel événement. Vous devez seulement indiquer la période approximative de votre événement ici, et non vos disponibilités.",
|
||||
"p4": "Par exemple, nous allons utiliser « Fête d'anniversaire de Jenny ». Jenny souhaite que sa fête d'anniversaire ait lieu la même semaine que son anniversaire, le 15 avril, mais elle sait que tous·tes ses ami·e·es ne sont pas disponibles le 15. Elle ne veut pas non plus le faire le week-end.",
|
||||
"p5": "Jenny sait également que, comme il s'agit d'un déjeuner, elle ne peut pas commencer avant 11 heures ni se terminer après 17 heures.",
|
||||
|
||||
diff --git a/src/i18n/locales/hi/help.json b/src/i18n/locales/hi/help.json
|
||||
index 4d0f1c7..02f985f 100644
|
||||
--- a/src/i18n/locales/hi/help.json
|
||||
+++ b/src/i18n/locales/hi/help.json
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
"s1": "Step 1",
|
||||
|
||||
- "p3": "Use the form at <1>crab.fit</1> to make a new event. You only need to put in the rough time period for when your event occurs here, not your availability.",
|
||||
+ "p3": "Use the form at <1>@FRONTEND_URL@</1> to make a new event. You only need to put in the rough time period for when your event occurs here, not your availability.",
|
||||
"p4": "For example, we'll use \"Jenny's Birthday Lunch\". Jenny wants her birthday lunch to happen on the same week as her birthday, the 15th of April, but she knows that not all of her friends are available on the 15th. She also doesn't want to do it on the weekend.",
|
||||
"p5": "Jenny also knows that since it's a lunch event, it can't start before 11am or go any later than 5pm.",
|
||||
|
||||
diff --git a/src/i18n/locales/id/help.json b/src/i18n/locales/id/help.json
|
||||
index 4d0f1c7..02f985f 100644
|
||||
--- a/src/i18n/locales/id/help.json
|
||||
+++ b/src/i18n/locales/id/help.json
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
"s1": "Step 1",
|
||||
|
||||
- "p3": "Use the form at <1>crab.fit</1> to make a new event. You only need to put in the rough time period for when your event occurs here, not your availability.",
|
||||
+ "p3": "Use the form at <1>@FRONTEND_URL@</1> to make a new event. You only need to put in the rough time period for when your event occurs here, not your availability.",
|
||||
"p4": "For example, we'll use \"Jenny's Birthday Lunch\". Jenny wants her birthday lunch to happen on the same week as her birthday, the 15th of April, but she knows that not all of her friends are available on the 15th. She also doesn't want to do it on the weekend.",
|
||||
"p5": "Jenny also knows that since it's a lunch event, it can't start before 11am or go any later than 5pm.",
|
||||
|
||||
diff --git a/src/i18n/locales/it/help.json b/src/i18n/locales/it/help.json
|
||||
index 1df32db..7cf6673 100644
|
||||
--- a/src/i18n/locales/it/help.json
|
||||
+++ b/src/i18n/locales/it/help.json
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
"s1": "Passo 1",
|
||||
|
||||
- "p3": "Usa il modulo su <1>crab.fit</1> per creare un nuovo evento. Devi solo impostare il periodo di tempo indicativo per l'evento qui, non la tua disponibilità.",
|
||||
+ "p3": "Usa il modulo su <1>@FRONTEND_URL@</1> per creare un nuovo evento. Devi solo impostare il periodo di tempo indicativo per l'evento qui, non la tua disponibilità.",
|
||||
"p4": "Per esempio, possiamo usare \"Il pranzo di compleanno di Jenny\". Jenny vuole che il suo pranzo di compleanno sia nella stessa settimana del suo compleanno, il 15 di Aprile, ma sa che non tutti i suoi amici saranno disponibili il 15. Lei non vuole neanche organizzarlo nel fine settimana.",
|
||||
"p5": "Jenny sa anche che, essendo un pranzo, non può iniziare prima delle 11 o continuare oltre le 15.",
|
||||
|
||||
diff --git a/src/i18n/locales/ko/help.json b/src/i18n/locales/ko/help.json
|
||||
index 2f7a221..2bbd04d 100644
|
||||
--- a/src/i18n/locales/ko/help.json
|
||||
+++ b/src/i18n/locales/ko/help.json
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
"s1": "1 단계",
|
||||
|
||||
- "p3": "<1>crab.fit</1>의 양식을 사용하여 새 이벤트를 만드세요. 여기서 이벤트가 발생하는 대략적인 기간 만 입력하면됩니다.",
|
||||
+ "p3": "<1>@FRONTEND_URL@</1>의 양식을 사용하여 새 이벤트를 만드세요. 여기서 이벤트가 발생하는 대략적인 기간 만 입력하면됩니다.",
|
||||
"p4": "예를 들어 \"Jenny의 생일 점심을\" 사용합니다. Jenny는 4 월 15 일 생일과 같은 주에 생일 점심 식사를하기를 원하지만 모든 친구가 15 일에 참석할 수있는 것은 아니라는 것을 알고 있습니다. 그녀는 또한 주말에하고 싶지 않습니다.",
|
||||
"p5": "Jenny는 점심 행사이기 때문에 오전 11시 이전에 시작하거나 오후 5시 이후에 갈 수 없다는 것도 알고 있습니다.",
|
||||
|
||||
diff --git a/src/i18n/locales/pt-BR/help.json b/src/i18n/locales/pt-BR/help.json
|
||||
index fd5ef7d..e9433fd 100644
|
||||
--- a/src/i18n/locales/pt-BR/help.json
|
||||
+++ b/src/i18n/locales/pt-BR/help.json
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
"s1": "Passo 1",
|
||||
|
||||
- "p3": "Preenche os dados em <1>crab.fit</1> para criar seu evento. Escolhe um peíodo de tempo aproximado no qual o evento deve occorer, i.e. as possíveis datas e horários. Sua disponibilidade pessoal será num outro passo.",
|
||||
+ "p3": "Preenche os dados em <1>@FRONTEND_URL@</1> para criar seu evento. Escolhe um peíodo de tempo aproximado no qual o evento deve occorer, i.e. as possíveis datas e horários. Sua disponibilidade pessoal será num outro passo.",
|
||||
"p4": "Por exemplo \"Almoço de aniversário da Marina\". Ela quer convidar os amigos na mesma semana do seu aniversário no dia 15 de abril. Ela sabe que nem todo mundo tem tempo no dia 15 e tambêm não quer fazer no fim de semana.",
|
||||
"p5": "Marina quer que seja no horário do almoço, então não deve começar antes das 11 da manhã e nem terminar depois das 5 da tarde.",
|
||||
|
||||
diff --git a/src/i18n/locales/pt-PT/help.json b/src/i18n/locales/pt-PT/help.json
|
||||
index 5141873..a25c608 100644
|
||||
--- a/src/i18n/locales/pt-PT/help.json
|
||||
+++ b/src/i18n/locales/pt-PT/help.json
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
"s1": "Passo 1",
|
||||
|
||||
- "p3": "Usa o formulário em <1>crab.fit</1>para criares um evento novo. Aqui só precisas de inserir aproximadamente o período durante o qual o teu evento vai acontecer.",
|
||||
+ "p3": "Usa o formulário em <1>@FRONTEND_URL@</1>para criares um evento novo. Aqui só precisas de inserir aproximadamente o período durante o qual o teu evento vai acontecer.",
|
||||
"p4": "Por exemplo, vamos criar o \"Almoço de Aniversário da Jenny\". A Jenny quer que o almoço seja na mesma semana que o seu aniversário, a 15 de abril. No entanto, ela sabe que nem todos os seus amigos estarão disponíveis no dia 15. Ela também não quer que o almoço seja no fim de semana.",
|
||||
"p5": "A Jenny também sabe que, como é um almoço, não pode começar antes das 11 da manhã nem terminar depois das 5 da tarde.",
|
||||
|
||||
diff --git a/src/i18n/locales/ru/help.json b/src/i18n/locales/ru/help.json
|
||||
index 4d0f1c7..02f985f 100644
|
||||
--- a/src/i18n/locales/ru/help.json
|
||||
+++ b/src/i18n/locales/ru/help.json
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
"s1": "Step 1",
|
||||
|
||||
- "p3": "Use the form at <1>crab.fit</1> to make a new event. You only need to put in the rough time period for when your event occurs here, not your availability.",
|
||||
+ "p3": "Use the form at <1>@FRONTEND_URL@</1> to make a new event. You only need to put in the rough time period for when your event occurs here, not your availability.",
|
||||
"p4": "For example, we'll use \"Jenny's Birthday Lunch\". Jenny wants her birthday lunch to happen on the same week as her birthday, the 15th of April, but she knows that not all of her friends are available on the 15th. She also doesn't want to do it on the weekend.",
|
||||
"p5": "Jenny also knows that since it's a lunch event, it can't start before 11am or go any later than 5pm.",
|
||||
|
||||
@@ -1,120 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
nixosTests,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchYarnDeps,
|
||||
fetchpatch,
|
||||
nodejs,
|
||||
yarn,
|
||||
fixup-yarn-lock,
|
||||
google-fonts,
|
||||
api_url ? "http://127.0.0.1:3000",
|
||||
frontend_url ? "crab.fit",
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "crabfit-frontend";
|
||||
version = "0-unstable-2023-08-02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GRA0007";
|
||||
repo = "crab.fit";
|
||||
rev = "628f9eefc300bf1ed3d6cc3323332c2ed9b8a350";
|
||||
hash = "sha256-jy8BrJSHukRenPbZHw4nPx3cSi7E2GSg//WOXDh90mY=";
|
||||
};
|
||||
|
||||
sourceRoot = "${finalAttrs.src.name}/frontend";
|
||||
|
||||
patches = [
|
||||
./01-localfont.patch
|
||||
(fetchpatch {
|
||||
name = "02-standalone-app.patch";
|
||||
url = "https://github.com/GRA0007/crab.fit/commit/6dfd69cd59784932d195370eb3c5c87589609c9f.patch";
|
||||
relative = "frontend";
|
||||
hash = "sha256-XV7ia+flcUU6sLHdrMjkPV7kWymfxII7bpoeb/LkMQE=";
|
||||
})
|
||||
./03-frontend-url.patch
|
||||
];
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${finalAttrs.src}/frontend/yarn.lock";
|
||||
hash = "sha256-jkyQygwHdLlEZ1tlSQOh72nANp2F29rZbTXvKQStvGc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
yarn
|
||||
fixup-yarn-lock
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace \
|
||||
public/robots.txt \
|
||||
public/sitemap.xml \
|
||||
src/app/\[id\]/page.tsx \
|
||||
src/app/layout.tsx \
|
||||
src/components/CreateForm/components/EventInfo/EventInfo.tsx \
|
||||
src/i18n/locales/de/help.json \
|
||||
src/i18n/locales/en-GB/help.json \
|
||||
src/i18n/locales/en/help.json \
|
||||
src/i18n/locales/es/help.json \
|
||||
src/i18n/locales/fr/help.json \
|
||||
src/i18n/locales/hi/help.json \
|
||||
src/i18n/locales/id/help.json \
|
||||
src/i18n/locales/it/help.json \
|
||||
src/i18n/locales/ko/help.json \
|
||||
src/i18n/locales/pt-BR/help.json \
|
||||
src/i18n/locales/pt-PT/help.json \
|
||||
src/i18n/locales/ru/help.json \
|
||||
--replace-fail "@FRONTEND_URL@" "${frontend_url}"
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
export HOME="$PWD"
|
||||
|
||||
echo 'NEXT_PUBLIC_API_URL="${api_url}"' > .env.local
|
||||
|
||||
fixup-yarn-lock yarn.lock
|
||||
yarn config --offline set yarn-offline-mirror ${finalAttrs.offlineCache}
|
||||
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
|
||||
patchShebangs node_modules
|
||||
|
||||
mkdir -p src/app/fonts
|
||||
cp "${
|
||||
google-fonts.override { fonts = [ "Karla" ]; }
|
||||
}/share/fonts/truetype/Karla[wght].ttf" src/app/fonts/karla.ttf
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
NODE_ENV=production yarn build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp -R .next/* $out
|
||||
cp -R public $out/standalone/
|
||||
cp -R .next/static $out/standalone/.next
|
||||
|
||||
ln -s /var/cache/crabfit $out/standalone/.next/cache
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
inherit (nixosTests) crabfit;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Enter your availability to find a time that works for everyone";
|
||||
homepage = "https://github.com/GRA0007/crab.fit";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [ ];
|
||||
};
|
||||
})
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
buildDotnetGlobalTool {
|
||||
pname = "csharpier";
|
||||
version = "1.2.1";
|
||||
version = "1.2.3";
|
||||
executables = "csharpier";
|
||||
|
||||
nugetHash = "sha256-JJS/jlUM2GRYKPzsIbAnRM8Jhr8/Mr6Nlmjtq9TMBuc=";
|
||||
nugetHash = "sha256-mUpciGlqLVkQW+V1KEe1/p99cy4+NYCG8PGYSynNhbs=";
|
||||
|
||||
meta = {
|
||||
description = "Opinionated code formatter for C#";
|
||||
|
||||
@@ -8,17 +8,17 @@
|
||||
|
||||
php.buildComposerProject2 (finalAttrs: {
|
||||
pname = "drupal";
|
||||
version = "11.2.10";
|
||||
version = "11.3.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "git.drupalcode.org";
|
||||
owner = "project";
|
||||
repo = "drupal";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-qGJmlVC+4fzLjySD95Kq4rDTzohwbmb9mN7YJo/eoK8=";
|
||||
hash = "sha256-dVCDIKqLbYHlVwv5wveXG0oHc2g3Zl6J6LG1/e8IIZw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-UluxvOoks8U11HVM5ufm7ESMWwZE1oaaLfOy4czoTWY=";
|
||||
vendorHash = "sha256-cGSOsASv3UlzSXDP2KgrlzBIMWLB25j9LFkJZsEbTTQ=";
|
||||
composerNoPlugins = false;
|
||||
|
||||
passthru = {
|
||||
|
||||
Generated
+1547
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,32 @@
|
||||
diff --git a/Duplicati/UnitTest/Issue6504.cs b/Duplicati/UnitTest/Issue6504.cs
|
||||
index 1234567..abcdefg 100644
|
||||
--- a/Duplicati/UnitTest/Issue6504.cs
|
||||
+++ b/Duplicati/UnitTest/Issue6504.cs
|
||||
@@ -93,7 +93,7 @@ namespace Duplicati.UnitTest;
|
||||
|
||||
|
||||
// Force the error by making sure the duplicate blocks are from both dblock files
|
||||
- using (var db = SQLiteLoader.LoadConnection(DBFILE))
|
||||
+ using (var db = SQLiteLoader.LoadConnection(DBFILE, 0))
|
||||
using (var cmd = db.CreateCommand())
|
||||
{
|
||||
cmd.CommandText = @"SELECT BlockId,VolumeID FROM DuplicateBlock";
|
||||
@@ -110,14 +110,14 @@ namespace Duplicati.UnitTest;
|
||||
var otherVolumeId = blocks.First(x => x.VolumeID != duplicateVolumeId && x.ID != blockToChange.BlockId).VolumeID;
|
||||
|
||||
cmd.CommandText = "UPDATE DuplicateBlock SET VolumeID=@VolumeID WHERE BlockID=@BlockID";
|
||||
- cmd.Parameters.AddWithValue("@VolumeID", otherVolumeId);
|
||||
- cmd.Parameters.AddWithValue("@BlockID", blockToChange.BlockId);
|
||||
+ ((System.Data.SQLite.SQLiteParameterCollection)cmd.Parameters).AddWithValue("@VolumeID", otherVolumeId);
|
||||
+ ((System.Data.SQLite.SQLiteParameterCollection)cmd.Parameters).AddWithValue("@BlockID", blockToChange.BlockId);
|
||||
cmd.ExecuteNonQuery();
|
||||
cmd.Parameters.Clear();
|
||||
|
||||
cmd.CommandText = "UPDATE Block SET VolumeID=@VolumeID WHERE ID=@BlockID";
|
||||
- cmd.Parameters.AddWithValue("@VolumeID", duplicateVolumeId);
|
||||
- cmd.Parameters.AddWithValue("@BlockID", blockToChange.BlockId);
|
||||
+ ((System.Data.SQLite.SQLiteParameterCollection)cmd.Parameters).AddWithValue("@VolumeID", duplicateVolumeId);
|
||||
+ ((System.Data.SQLite.SQLiteParameterCollection)cmd.Parameters).AddWithValue("@BlockID", blockToChange.BlockId);
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
}
|
||||
@@ -1,73 +1,93 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchzip,
|
||||
buildDotnetModule,
|
||||
fetchFromGitHub,
|
||||
autoPatchelfHook,
|
||||
gcc-unwrapped,
|
||||
zlib,
|
||||
lttng-ust_2_12,
|
||||
dotnetCorePackages,
|
||||
icu,
|
||||
openssl,
|
||||
makeBinaryWrapper,
|
||||
krb5,
|
||||
}:
|
||||
|
||||
let
|
||||
_supportedPlatforms = {
|
||||
"armv7l-linux" = "linux-arm7";
|
||||
"x86_64-linux" = "linux-x64";
|
||||
"aarch64-linux" = "linux-arm64";
|
||||
};
|
||||
_platform = _supportedPlatforms."${stdenv.hostPlatform.system}";
|
||||
# nix --extra-experimental-features nix-command hash convert --to sri "sha256:`nix-prefetch-url --unpack https://updates.duplicati.com/stable/duplicati-2.1.0.5_stable_2025-03-04-linux-arm64-cli.zip`"
|
||||
_fileHashForSystem = {
|
||||
"armv7l-linux" = "sha256-FQQ07M0rwvxNkHPW6iK5WBTKgFrZ4LOP4vgINfmtq4k=";
|
||||
"x86_64-linux" = "sha256-1QspF/A3hOtqd8bVbSqClJIHUN9gBrd18J5qvZJLkQE=";
|
||||
"aarch64-linux" = "sha256-mSNInaCkNf1MBZK2M42SjJnYRtB5SyGMvSGSn5oH1Cs=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
# TODO build duplicati from source https://github.com/duplicati/duplicati/blob/master/.github/workflows/build-packages.yml
|
||||
buildDotnetModule rec {
|
||||
pname = "duplicati";
|
||||
version = "2.1.0.5";
|
||||
version = "2.2.0.1";
|
||||
channel = "stable";
|
||||
buildDate = "2025-03-04";
|
||||
buildDate = "2025-11-09";
|
||||
|
||||
src = fetchzip {
|
||||
url =
|
||||
with finalAttrs;
|
||||
"https://updates.duplicati.com/stable/duplicati-${version}_${channel}_${buildDate}-${_platform}-cli.zip";
|
||||
hash = _fileHashForSystem."${stdenv.hostPlatform.system}";
|
||||
src = fetchFromGitHub {
|
||||
owner = "duplicati";
|
||||
repo = "duplicati";
|
||||
tag = "v${version}_${channel}_${buildDate}";
|
||||
hash = "sha256-fARK2nAqE9aN2PQSC62yIcYr3e/kBT3BVTBxLwMqk24=";
|
||||
stripRoot = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
makeBinaryWrapper
|
||||
];
|
||||
patches = [ ./fix-unit-tests.patch ];
|
||||
|
||||
nugetDeps = ./deps.json;
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_8_0;
|
||||
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
|
||||
|
||||
enableParallelBuilding = false;
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [ autoPatchelfHook ];
|
||||
|
||||
buildInputs = [
|
||||
gcc-unwrapped
|
||||
zlib
|
||||
lttng-ust_2_12
|
||||
icu
|
||||
openssl
|
||||
krb5
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
autoPatchelfIgnoreMissingDeps = lib.optionals (!stdenv.hostPlatform.isMusl) [
|
||||
"libc.musl-x86_64.so.1"
|
||||
"libc.musl-aarch64.so.1"
|
||||
"libc.musl-armv7.so.1"
|
||||
];
|
||||
|
||||
mkdir -p $out/{bin,share}
|
||||
cp -r * "$out/share/"
|
||||
for file in $out/share/duplicati-*; do
|
||||
makeBinaryWrapper "$file" "$out/bin/$(basename $file)" \
|
||||
--prefix LD_LIBRARY_PATH : ${
|
||||
lib.makeLibraryPath [
|
||||
icu
|
||||
openssl
|
||||
]
|
||||
}
|
||||
done
|
||||
executables = [
|
||||
"Duplicati.Agent"
|
||||
"Duplicati.CommandLine"
|
||||
"Duplicati.CommandLine.AutoUpdater"
|
||||
"Duplicati.CommandLine.BackendTester"
|
||||
"Duplicati.CommandLine.BackendTool"
|
||||
"Duplicati.CommandLine.DatabaseTool"
|
||||
"Duplicati.CommandLine.RecoveryTool"
|
||||
"Duplicati.CommandLine.SecretTool"
|
||||
"Duplicati.CommandLine.ServerUtil"
|
||||
"Duplicati.CommandLine.SharpAESCrypt"
|
||||
"Duplicati.CommandLine.Snapshots"
|
||||
"Duplicati.CommandLine.SourceTool"
|
||||
"Duplicati.CommandLine.SyncTool"
|
||||
"Duplicati.GUI.TrayIcon"
|
||||
"Duplicati.Server"
|
||||
"Duplicati.Service"
|
||||
];
|
||||
|
||||
runHook postInstall
|
||||
postFixup = ''
|
||||
mv $out/bin/Duplicati.Agent $out/bin/duplicati-agent
|
||||
mv $out/bin/Duplicati.GUI.TrayIcon $out/bin/duplicati
|
||||
mv $out/bin/Duplicati.Server $out/bin/duplicati-server
|
||||
cp $out/bin/duplicati-server $out/lib/duplicati/duplicati-server
|
||||
mv $out/bin/Duplicati.Service $out/bin/duplicati-service
|
||||
mv $out/bin/Duplicati.CommandLine $out/bin/duplicati-cli
|
||||
mv $out/bin/Duplicati.CommandLine.SyncTool $out/bin/duplicati-sync-tool
|
||||
mv $out/bin/Duplicati.CommandLine.SourceTool $out/bin/duplicati-source-tool
|
||||
mv $out/bin/Duplicati.CommandLine.DatabaseTool $out/bin/duplicati-database-tool
|
||||
mv $out/bin/Duplicati.CommandLine.SharpAESCrypt $out/bin/duplicati-aescrypt
|
||||
mv $out/bin/Duplicati.CommandLine.AutoUpdater $out/bin/duplicati-autoupdater
|
||||
mv $out/bin/Duplicati.CommandLine.BackendTester $out/bin/duplicati-backend-tester
|
||||
mv $out/bin/Duplicati.CommandLine.BackendTool $out/bin/duplicati-backend-tool
|
||||
mv $out/bin/Duplicati.CommandLine.RecoveryTool $out/bin/duplicati-recovery-tool
|
||||
mv $out/bin/Duplicati.CommandLine.SecretTool $out/bin/duplicati-secret-tool
|
||||
mv $out/bin/Duplicati.CommandLine.ServerUtil $out/bin/duplicati-server-util
|
||||
mv $out/bin/Duplicati.CommandLine.Snapshots $out/bin/duplicati-snapshots
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "Free backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers";
|
||||
homepage = "https://www.duplicati.com/";
|
||||
@@ -75,8 +95,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
maintainers = with lib.maintainers; [
|
||||
nyanloutre
|
||||
bot-wxt1221
|
||||
puiyq
|
||||
];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
|
||||
platforms = builtins.attrNames _supportedPlatforms;
|
||||
# platforms inherited from dotnet-sdk.
|
||||
};
|
||||
})
|
||||
}
|
||||
|
||||
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl jq nix-prefetch-github
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
OWNNER="duplicati"
|
||||
REPO="duplicati"
|
||||
|
||||
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
|
||||
TARGET="$SCRIPT_DIR/package.nix"
|
||||
|
||||
TAG=$(curl ${GITHUB_TOKEN:+" -u \":$GITHUB_TOKEN\""} -s "https://api.github.com/repos/$OWNNER/$REPO/tags" |
|
||||
jq -r '.[].name' |
|
||||
grep -E '^v[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+_stable_' |
|
||||
sort -Vr |
|
||||
head -n1)
|
||||
|
||||
VERSION=$(echo "$TAG" | cut -d_ -f1 | sed 's/^v//')
|
||||
CHANNEL=$(echo "$TAG" | cut -d_ -f2)
|
||||
DATE=$(echo "$TAG" | cut -d_ -f3)
|
||||
|
||||
HASH=$(nix-prefetch-github $OWNNER $REPO --rev "$TAG" |
|
||||
jq -r '.hash')
|
||||
|
||||
sed -i \
|
||||
-e "/version = \"/c\ version = \"$VERSION\";" \
|
||||
-e "/channel = \"/c\ channel = \"$CHANNEL\";" \
|
||||
-e "/buildDate = \"/c\ buildDate = \"$DATE\";" \
|
||||
-e "/hash = \"/c\ hash = \"$HASH\";" \
|
||||
"$TARGET"
|
||||
|
||||
. "$(nix-build . -A duplicati.fetch-deps --no-out-link)"
|
||||
@@ -12,11 +12,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "eigenwallet";
|
||||
version = "3.5.1";
|
||||
version = "3.6.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/eigenwallet/core/releases/download/${finalAttrs.version}/eigenwallet_${finalAttrs.version}_amd64.deb";
|
||||
hash = "sha256-+0eZWEqVkJW54ADTC2Ay6cGHqcqRBpxOYJkN5Unil0A=";
|
||||
hash = "sha256-L0JNKbirnZSVNNhEzSpwq5JstfpSGSo5E83zmxoOuXU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "extra-container";
|
||||
version = "0.13";
|
||||
version = "0.14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "erikarvstedt";
|
||||
repo = "extra-container";
|
||||
rev = version;
|
||||
hash = "sha256-vgh3TqfkFdnPxREBedw4MQehIDc3N8YyxBOB45n+AvU=";
|
||||
hash = "sha256-XGp4HHH6D6ZKiO5RnMzqYJYnZB538EnEflvlTsOKpvo=";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "faustPhysicalModeling";
|
||||
version = "2.79.3";
|
||||
version = "2.83.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grame-cncm";
|
||||
repo = "faust";
|
||||
rev = version;
|
||||
sha256 = "sha256-j5ADlKZriwLARpEJ/4xgvyAhF5ld9Hl2gXZS3NPJJj8=";
|
||||
sha256 = "sha256-c1I5ha9QvnC7jKdycAhW/iAzUcEA7NopXAquIS001Y8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/filesystem.rs b/src/filesystem.rs
|
||||
index 28c2a01..cfc8fcb 100644
|
||||
--- a/src/filesystem.rs
|
||||
+++ b/src/filesystem.rs
|
||||
@@ -44,7 +44,7 @@ wrap2!(copy, fs, u64);
|
||||
|
||||
macro_rules! make_error_message {
|
||||
($path:ident) => {
|
||||
- |err| Error::new(format!("{}: {}", $path.display(), err));
|
||||
+ |err| Error::new(format!("{}: {}", $path.display(), err))
|
||||
};
|
||||
}
|
||||
|
||||
@@ -18,6 +18,10 @@ rustPlatform.buildRustPackage rec {
|
||||
sha256 = "0f242n8w88rikg1srimdifadhggrb2r1z0g65id60ahb4bjm8a0x";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./0002-trailing-semicolon-in-macro.patch
|
||||
];
|
||||
|
||||
cargoPatches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/Svetlitski/fcp/commit/1988f88be54a507b804b037cb3887fecf11bb571.patch";
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchzip,
|
||||
fpc,
|
||||
lang ? "en",
|
||||
}:
|
||||
|
||||
assert lib.assertOneOf "lang" lang [
|
||||
"cn"
|
||||
"de"
|
||||
"en"
|
||||
"fr"
|
||||
"tr"
|
||||
];
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gavrasm";
|
||||
version = "5.4";
|
||||
flatVersion = lib.strings.replaceStrings [ "." ] [ "" ] version;
|
||||
|
||||
src = fetchzip {
|
||||
url = "http://www.avr-asm-tutorial.net/gavrasm/v${flatVersion}/gavrasm_sources_lin_${flatVersion}.zip";
|
||||
sha256 = "sha256-uTalb8Wzn2RAoUKZx9RZFCX+V9HUEtUnJ4eSltFumh0=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ fpc ];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
cp gavrlang_${lang}.pas gavrlang.pas
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
fpc gavrasm.pas
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp gavrasm $out/bin
|
||||
mkdir -p $out/doc
|
||||
cp instr.asm $out/doc
|
||||
cp ReadMe.Txt $out/doc
|
||||
cp LiesMich.Txt $out/doc
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.avr-asm-tutorial.net/gavrasm/";
|
||||
description = "AVR Assembler for ATMEL AVR-Processors";
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [ mafo ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -8,6 +8,7 @@
|
||||
clang_20,
|
||||
libsecret,
|
||||
ripgrep,
|
||||
nodejs,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
@@ -59,14 +60,18 @@ buildNpmPackage (finalAttrs: {
|
||||
--replace-fail "settings.merged.general?.disableUpdateNag" "(settings.merged.general?.disableUpdateNag ?? true)"
|
||||
'';
|
||||
|
||||
# Prevent npmDeps from getting into the closure
|
||||
disallowedReferences = [ finalAttrs.npmDeps ];
|
||||
# Prevent npmDeps and python from getting into the closure
|
||||
disallowedReferences = [
|
||||
finalAttrs.npmDeps
|
||||
nodejs.python
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/{bin,share/gemini-cli}
|
||||
|
||||
npm prune --omit=dev
|
||||
rm node_modules/shell-quote/print.py # remove python demo to prevent python from getting into the closure
|
||||
cp -r node_modules $out/share/gemini-cli/
|
||||
|
||||
rm -f $out/share/gemini-cli/node_modules/@google/gemini-cli
|
||||
|
||||
@@ -10,14 +10,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "github-backup";
|
||||
version = "0.57.0";
|
||||
version = "0.58.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "josegonzalez";
|
||||
repo = "python-github-backup";
|
||||
tag = version;
|
||||
hash = "sha256-ISJBa+fyj+ko8dW4x1yIo7tlWT8Jlylbo4lzq23whOg=";
|
||||
hash = "sha256-i1o8GX3xxWft04sLspq9Oy2a46ldJeFqs5OgEjTti4E=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gpxsee";
|
||||
version = "15.6";
|
||||
version = "15.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tumic0";
|
||||
repo = "GPXSee";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-3g9NIk6l6ilvrJAg3OvQrlVAuX+hjm1Snw6Qs/fpy00=";
|
||||
hash = "sha256-RaKffCdC3H6+qtj7BZiyhl5ublY3LEEwekfCwKuUMPg=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "homebank";
|
||||
version = "5.9.5";
|
||||
version = "5.9.6";
|
||||
src = fetchurl {
|
||||
url = "https://www.gethomebank.org/public/sources/homebank-${version}.tar.gz";
|
||||
hash = "sha256-/2yLD22kERM+KbhI6R9I/biN5ArQLLogqIQJMKPn7UM=";
|
||||
hash = "sha256-8DIL/gTysY/e1DcuuJ5qY6vXUBY4uUWNoSzUaCQ+t3o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
diff --git a/mkdocs.yml b/mkdocs.yml
|
||||
index 2f7f387..7ddfcf2 100644
|
||||
--- a/mkdocs.yml
|
||||
+++ b/mkdocs.yml
|
||||
@@ -53,11 +53,6 @@ markdown_extensions:
|
||||
- pymdownx.inlinehilite
|
||||
- pymdownx.snippets
|
||||
- attr_list
|
||||
- - pymdownx.emoji:
|
||||
- emoji_index: !!python/name:material.extensions.emoji.twemoji
|
||||
- emoji_generator: !!python/name:material.extensions.emoji.to_svg
|
||||
|
||||
plugins:
|
||||
- search
|
||||
- - git-revision-date-localized
|
||||
- - social
|
||||
\ No newline at end of file
|
||||
@@ -0,0 +1,56 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
stdenvNoCC,
|
||||
python3Packages,
|
||||
}:
|
||||
let
|
||||
inherit (python3Packages) mkdocs mkdocs-material;
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "internalallthethings";
|
||||
version = "0-unstable-2025-11-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "swisskyrepo";
|
||||
repo = "InternalAllTheThings";
|
||||
rev = "9a97b9d16e5f9834b4ef2276b6cd1b98a0748b6e";
|
||||
hash = "sha256-NaQeRmO1JtKYZyTAhKXovDi7pZ9Zbu7Yi4iHORCU67A=";
|
||||
};
|
||||
|
||||
patches = [ ./mkdocs.patch ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
mkdocs
|
||||
mkdocs-material
|
||||
];
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"doc"
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
mkdocs build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $doc/share/internalallthethings
|
||||
cp -r site/* $doc/share/internalallthethings
|
||||
|
||||
mkdir -p $out/share/internalallthethings
|
||||
rm -r mkdocs.yml site
|
||||
cp -r * $out/share/internalallthethings
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/swisskyrepo/InternalAllTheThings";
|
||||
description = "Active Directory and Internal Pentest Cheatsheets";
|
||||
license = with lib.licenses; [ mit ];
|
||||
maintainers = with lib.maintainers; [ felbinger ];
|
||||
platforms = mkdocs.meta.platforms;
|
||||
sourceProvenance = with lib.sourceTypes; [ fromSource ];
|
||||
};
|
||||
}
|
||||
@@ -18,19 +18,19 @@
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "kanri";
|
||||
version = "0.8.1";
|
||||
version = "0.8.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "kanriapp";
|
||||
repo = "kanri";
|
||||
tag = "app-v${finalAttrs.version}";
|
||||
hash = "sha256-pP+q9AD2WATFYWHFitcrebN8y6iGCyXqmQYXCs9Ytf0=";
|
||||
hash = "sha256-HPwCU08cOkQre7ce9IxTbhwf3vi80VTpuLCoIT6b424=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-JLv4YC40VcRMQVgJnunLkFIEfLKUTEDBgNMV6NmMAzA=";
|
||||
cargoHash = "sha256-efzchVrdjcfwLtRd87S4bK6Kqrfcdwthw1F0s557u/Y=";
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = finalAttrs.src + "/yarn.lock";
|
||||
hash = "sha256-z0RLQ6n3hdsaBy3BiIOpuvpPBq3ST02r7lfsGfJypb8=";
|
||||
hash = "sha256-PBhn0VTt+6rf7YTuoVf3L4a6+AoXuad4E20dWiGVOOE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -3,23 +3,23 @@
|
||||
{
|
||||
"kicad" = {
|
||||
kicadVersion = {
|
||||
version = "9.0.5";
|
||||
version = "9.0.6";
|
||||
src = {
|
||||
rev = "3e59813c21b4d0a00c08978e86b5f2189ec27864";
|
||||
sha256 = "0wmnkiyqv32c5nz4nvz94dld3rk5ir49nh71cycig6clvjvy11r5";
|
||||
rev = "878335d000462f1498adc4267854bb594a21bd36";
|
||||
sha256 = "0mfnlx0dlpk3jz1b8pard6b7ax1ycyv069k4vg89ph2bia1a9d98";
|
||||
};
|
||||
};
|
||||
libVersion = {
|
||||
version = "9.0.5";
|
||||
version = "9.0.6";
|
||||
libSources = {
|
||||
symbols.rev = "884133df0afba238567e2be6c31e7d3b4a9d90be";
|
||||
symbols.sha256 = "0msgq8p3zlfc3glqr1h8n0a1agk4hjdqxqdiny5b4d0hgiy6hhmx";
|
||||
templates.rev = "204b42307fc78cf0b3ebec4e19eba9d710e392f4";
|
||||
symbols.rev = "e92aabf81dc1af151fa452a33679dcb42b93fcbd";
|
||||
symbols.sha256 = "03k3y86mgc10ir5l1gdzc0r7w1gg7iavb1zl31kgfh9hnfmgv06w";
|
||||
templates.rev = "710c895e2f3be0ec366139bf33c9ca711c990630";
|
||||
templates.sha256 = "0zs29zn8qjgxv0w1vyr8yxmj02m8752zagn4vcraqgik46dwg2id";
|
||||
footprints.rev = "873e3e9dbad8371d664e57261efa516d42328161";
|
||||
footprints.sha256 = "179y7xmz7mwsfsv4dcw2dx689xfzqk8y38d21s69yiaalyxflhh1";
|
||||
packages3d.rev = "c25dce5aadce68076ac035edb0c792608f5f597c";
|
||||
packages3d.sha256 = "1y7yhynrr87q80gcb8qlkyrdccz1sllsxqymrnghhxbfk4wbwwn8";
|
||||
footprints.rev = "0836ca140b415055e373de97c466961088d8972a";
|
||||
footprints.sha256 = "0jzkrmzkxv3kqqmkpq5dpp3shy9ajfg1b1yzhk4ddzvy8l05qym4";
|
||||
packages3d.rev = "1e24671163ce0f44bf57b46445c7e7be1a95977d";
|
||||
packages3d.sha256 = "04hw6b4hyl2plfgynin3dv7siqml4341264wz2wngddszq8z32ki";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
fetchFromGitHub,
|
||||
replaceVars,
|
||||
|
||||
copyDesktopItems,
|
||||
makeWrapper,
|
||||
makeDesktopItem,
|
||||
|
||||
electron_37,
|
||||
commandLineArgs ? "",
|
||||
@@ -26,6 +28,28 @@ buildNpmPackage rec {
|
||||
hash = "sha256-g4QVpymzoRKIq70aRLXGFmUmIpSiXIZThrp8fumBKTQ=";
|
||||
};
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
categories = [
|
||||
"Utility"
|
||||
"AudioVideo"
|
||||
"Audio"
|
||||
"Player"
|
||||
"Music"
|
||||
];
|
||||
desktopName = "LX Music Desktop";
|
||||
exec = "lx-music-desktop";
|
||||
genericName = "Music Player";
|
||||
icon = "lx-music-desktop";
|
||||
mimeTypes = [ "x-scheme-handler/lxmusic" ];
|
||||
name = "lx-music-desktop";
|
||||
startupNotify = false;
|
||||
startupWMClass = "lx-music-desktop";
|
||||
terminal = false;
|
||||
type = "Application";
|
||||
})
|
||||
];
|
||||
|
||||
patches = [
|
||||
# set electron version and dist dir
|
||||
# disable before-pack: it would copy prebuilt libraries
|
||||
@@ -36,6 +60,7 @@ buildNpmPackage rec {
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
copyDesktopItems
|
||||
];
|
||||
|
||||
npmDepsHash = "sha256-t6I8ch36Yh6N+qZy4/yr/gSyJ3qdyMWss5LbsagEFMQ=";
|
||||
@@ -75,14 +100,19 @@ buildNpmPackage rec {
|
||||
cp -r build/*-unpacked/{locales,resources{,.pak}} "$out/opt/lx-music-desktop"
|
||||
rm "$out/opt/lx-music-desktop/resources/app-update.yml"
|
||||
|
||||
for size in 16 32 48 64 128 256 512; do
|
||||
install -D -m 444 resources/icons/"$size"x"$size".png \
|
||||
$out/share/icons/hicolor/"$size"x"$size"/apps/lx-music-desktop.png
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
makeWrapper ${lib.getExe electron} $out/bin/lx-music-desktop \
|
||||
--add-flags $out/opt/lx-music-desktop/resources/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
--add-flags $out/opt/lx-music-desktop/resources/app.asar \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
|
||||
--add-flags ${lib.escapeShellArg commandLineArgs}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -7,16 +7,16 @@
|
||||
|
||||
maven.buildMavenPackage rec {
|
||||
pname = "mariadb-connector-java";
|
||||
version = "3.5.6";
|
||||
version = "3.5.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mariadb-corporation";
|
||||
repo = "mariadb-connector-j";
|
||||
tag = version;
|
||||
hash = "sha256-vBrXK8g+eAxD85iIEtJhTZ4sdohcdjhtzojS+JScLos=";
|
||||
hash = "sha256-ScdrBSJKbVyD/omPrxiZvuaa5uOo2d3SqX/ozalMWHk=";
|
||||
};
|
||||
|
||||
mvnHash = "sha256-q61OyBg84Zaf9prM6J3lUVsJXEnmoptcq2EuNs+faDc=";
|
||||
mvnHash = "sha256-pQYLMsxNVdby4WkO/dznIqqeu2dTtiBjrpJ/A3MuJ5Y=";
|
||||
|
||||
doCheck = false; # Requires networking
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchurl,
|
||||
installShellFiles,
|
||||
libarchive,
|
||||
p7zip,
|
||||
testers,
|
||||
@@ -10,14 +11,30 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "mas";
|
||||
version = "2.2.2";
|
||||
version = "4.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mas-cli/mas/releases/download/v${version}/mas-${version}.pkg";
|
||||
hash = "sha256-v+tiD5ZMVFzeShyuOt8Ss3yw6p8VjopHaMimOQznL6o=";
|
||||
};
|
||||
src =
|
||||
let
|
||||
sources =
|
||||
{
|
||||
x86_64-darwin = {
|
||||
arch = "x86_64";
|
||||
hash = "sha256-9GkAV2gitqtZ7Ew/QVXDj3tDTbh5uwBxPtYdLSnucZE=";
|
||||
};
|
||||
aarch64-darwin = {
|
||||
arch = "arm64";
|
||||
hash = "sha256-8zaZOPOCyLHOFmHhviJXIy5SB5trqQM/MFHhB9ygilQ=";
|
||||
};
|
||||
}
|
||||
.${stdenvNoCC.hostPlatform.system};
|
||||
in
|
||||
fetchurl {
|
||||
url = "https://github.com/mas-cli/mas/releases/download/v${version}/mas-${version}-${sources.arch}.pkg";
|
||||
inherit (sources) hash;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
libarchive
|
||||
p7zip
|
||||
];
|
||||
@@ -36,8 +53,11 @@ stdenvNoCC.mkDerivation rec {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp mas $out/bin
|
||||
install -Dm755 usr/local/opt/mas/bin/mas $out/bin/mas
|
||||
|
||||
installManPage usr/local/opt/mas/share/man/man1/mas.1
|
||||
installShellCompletion --bash usr/local/opt/mas/etc/bash_completion.d/mas
|
||||
installShellCompletion --fish usr/local/opt/mas/share/fish/vendor_completions.d/mas.fish
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
+91
@@ -0,0 +1,91 @@
|
||||
From a0f57159572c81c8ae6f9c9440e5cd74315b8570 Mon Sep 17 00:00:00 2001
|
||||
From: Jason Volk <jason@zemos.net>
|
||||
Date: Sun, 21 Dec 2025 22:04:07 +0000
|
||||
Subject: [PATCH] fix: validate event fields for invites over federation.
|
||||
|
||||
---
|
||||
src/api/server_server.rs | 61 ++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 61 insertions(+)
|
||||
|
||||
diff --git a/src/api/server_server.rs b/src/api/server_server.rs
|
||||
index adc764ff..d29f6031 100644
|
||||
--- a/src/api/server_server.rs
|
||||
+++ b/src/api/server_server.rs
|
||||
@@ -2132,6 +2132,44 @@ pub async fn create_invite_route(
|
||||
CanonicalJsonValue::String(event_id.to_string()),
|
||||
);
|
||||
|
||||
+ let event_room_id: OwnedRoomId = serde_json::from_value(
|
||||
+ signed_event
|
||||
+ .get("room_id")
|
||||
+ .ok_or(Error::BadRequest(
|
||||
+ ErrorKind::InvalidParam,
|
||||
+ "Event had no room_id field.",
|
||||
+ ))?
|
||||
+ .clone()
|
||||
+ .into(),
|
||||
+ )
|
||||
+ .map_err(|_| Error::BadRequest(ErrorKind::InvalidParam, "room_id is not a room id."))?;
|
||||
+
|
||||
+ if room_id != event_room_id {
|
||||
+ return Err(Error::BadRequest(
|
||||
+ ErrorKind::InvalidParam,
|
||||
+ "room_id parameter does not match event.",
|
||||
+ ));
|
||||
+ }
|
||||
+
|
||||
+ let event_type: StateEventType = serde_json::from_value(
|
||||
+ signed_event
|
||||
+ .get("type")
|
||||
+ .ok_or(Error::BadRequest(
|
||||
+ ErrorKind::InvalidParam,
|
||||
+ "Event had no type field.",
|
||||
+ ))?
|
||||
+ .clone()
|
||||
+ .into(),
|
||||
+ )
|
||||
+ .map_err(|_| Error::BadRequest(ErrorKind::InvalidParam, "type is not an event type."))?;
|
||||
+
|
||||
+ if event_type != StateEventType::RoomMember {
|
||||
+ return Err(Error::BadRequest(
|
||||
+ ErrorKind::InvalidParam,
|
||||
+ "Invite event was not m.room.member type.",
|
||||
+ ));
|
||||
+ }
|
||||
+
|
||||
let sender: OwnedUserId = serde_json::from_value(
|
||||
signed_event
|
||||
.get("sender")
|
||||
@@ -2144,6 +2182,29 @@ pub async fn create_invite_route(
|
||||
)
|
||||
.map_err(|_| Error::BadRequest(ErrorKind::InvalidParam, "sender is not a user id."))?;
|
||||
|
||||
+ if sender.server_name() != sender_servername {
|
||||
+ return Err(Error::BadRequest(
|
||||
+ ErrorKind::InvalidParam,
|
||||
+ "Invite sender must match the origin server.",
|
||||
+ ));
|
||||
+ }
|
||||
+
|
||||
+ let event_content: RoomMemberEventContent = serde_json::from_value(
|
||||
+ signed_event
|
||||
+ .get("content")
|
||||
+ .ok_or_else(|| Error::BadRequest(ErrorKind::InvalidParam, "Missing event content."))?
|
||||
+ .clone()
|
||||
+ .into(),
|
||||
+ )
|
||||
+ .map_err(|_| Error::BadRequest(ErrorKind::InvalidParam, "Invalid event content."))?;
|
||||
+
|
||||
+ if event_content.membership != MembershipState::Invite {
|
||||
+ return Err(Error::BadRequest(
|
||||
+ ErrorKind::InvalidParam,
|
||||
+ "Membership of invite event must be invite.",
|
||||
+ ));
|
||||
+ }
|
||||
+
|
||||
let invited_user: Box<_> = serde_json::from_value(
|
||||
signed_event
|
||||
.get("state_key")
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -21,6 +21,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
hash = "sha256-rJyuR8Ie/JiNKNjQL21+Q1PWliEAm+lwGraGeDxEHyY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://gitlab.com/famedly/conduit/-/merge_requests/784
|
||||
./fix_validate_event_fields_for_invites_over_federation.patch
|
||||
];
|
||||
|
||||
cargoHash = "sha256-4ZA+3f8Kt+1JAm9KXnMRxAF+X9z8HSJoJe6Ny63SlnA=";
|
||||
|
||||
# Conduit enables rusqlite's bundled feature by default, but we'd rather use our copy of SQLite.
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
diff --git a/src/api/server/invite.rs b/src/api/server/invite.rs
|
||||
index 78a65fe8..d284fedd 100644
|
||||
--- a/src/api/server/invite.rs
|
||||
+++ b/src/api/server/invite.rs
|
||||
@@ -61,6 +61,46 @@ pub(crate) async fn create_invite_route(
|
||||
let mut signed_event = utils::to_canonical_object(&body.event)
|
||||
.map_err(|_| err!(Request(InvalidParam("Invite event is invalid."))))?;
|
||||
|
||||
+ // Ensure this is a membership event
|
||||
+ if signed_event
|
||||
+ .get("type")
|
||||
+ .expect("event must have a type")
|
||||
+ .as_str()
|
||||
+ .expect("type must be a string")
|
||||
+ != "m.room.member"
|
||||
+ {
|
||||
+ return Err!(Request(BadJson(
|
||||
+ "Not allowed to send non-membership event to invite endpoint."
|
||||
+ )));
|
||||
+ }
|
||||
+
|
||||
+ let content: RoomMemberEventContent = serde_json::from_value(
|
||||
+ signed_event
|
||||
+ .get("content")
|
||||
+ .ok_or_else(|| err!(Request(BadJson("Event missing content property"))))?
|
||||
+ .clone()
|
||||
+ .into(),
|
||||
+ )
|
||||
+ .map_err(|e| err!(Request(BadJson(warn!("Event content is empty or invalid: {e}")))))?;
|
||||
+
|
||||
+ // Ensure this is an invite membership event
|
||||
+ if content.membership != MembershipState::Invite {
|
||||
+ return Err!(Request(BadJson(
|
||||
+ "Not allowed to send a non-invite membership event to invite endpoint."
|
||||
+ )));
|
||||
+ }
|
||||
+
|
||||
+ // Ensure the sending user isn't a lying bozo
|
||||
+ let sender_server = signed_event
|
||||
+ .get("sender")
|
||||
+ .try_into()
|
||||
+ .map(UserId::server_name)
|
||||
+ .map_err(|e| err!(Request(InvalidParam("Invalid sender property: {e}"))))?;
|
||||
+ if sender_server != body.origin() {
|
||||
+ return Err!(Request(Forbidden("Sender's server does not match the origin server.",)));
|
||||
+ }
|
||||
+
|
||||
+ // Ensure the target user belongs to this server
|
||||
let recipient_user: OwnedUserId = signed_event
|
||||
.get("state_key")
|
||||
.try_into()
|
||||
@@ -87,6 +87,11 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
hash = "sha256-UHlKAYgIkVtZJV+H2Xl7HssV03Q3XNxluMfLRY2e+Do=";
|
||||
};
|
||||
|
||||
# https://forgejo.ellis.link/continuwuation/continuwuity/commit/b2bead67ac8bc45de9a612578f295e5b7fc6c2b5
|
||||
# https://forgejo.ellis.link/continuwuation/continuwuity/commit/7fa4fa98628593c1a963f5aa8dbc3657d604b047
|
||||
# this patch is probably unneeded with the next release
|
||||
patches = [ ./continuwuity-exploit-fix.diff ];
|
||||
|
||||
cargoHash = "sha256-imfpl+72zlqeEREdTGFG3bsMdPTXe/sb1uGvMC6BGT0=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -88,16 +88,16 @@ let
|
||||
in
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "matrix-tuwunel";
|
||||
version = "1.4.7";
|
||||
version = "1.4.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "matrix-construct";
|
||||
repo = "tuwunel";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-TaMPGxVRV7MpTIdIWylKeiZa22s8EgNGSiiXNUWonfc=";
|
||||
hash = "sha256-NKq5bEn40nHIewmaVPQ2aFJEZ4jkmnXDAZ/lL3rD8iQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ZfC6Rqd3Or23TEoGuKu1pB+USv7rlOEzRYBisoK2Pcc=";
|
||||
cargoHash = "sha256-7BC8I3urT9/fArVm9Ji5U0jzAqovUE914jgZz8ejiUk=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
version = "11.89";
|
||||
version = "11.90";
|
||||
pname = "monkeys-audio";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://monkeysaudio.com/files/MAC_${builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
|
||||
hash = "sha256-oXMQUnmFepcaC2UjC7f2Ojd1gHc4dL5ZFnhtVdThIV8=";
|
||||
hash = "sha256-S1vByCnpZPX/lfaLCPY0Cj2YXRHVtT/FzXuxebQVdRo=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
diff --git a/backend/open_webui/retrieval/utils.py b/backend/open_webui/retrieval/utils.py
|
||||
index da570330b..6ea16e249 100644
|
||||
--- a/backend/open_webui/retrieval/utils.py
|
||||
+++ b/backend/open_webui/retrieval/utils.py
|
||||
@@ -10,7 +10,7 @@ import re
|
||||
|
||||
from urllib.parse import quote
|
||||
from huggingface_hub import snapshot_download
|
||||
-from langchain.retrievers import ContextualCompressionRetriever, EnsembleRetriever
|
||||
+from langchain_classic.retrievers import ContextualCompressionRetriever, EnsembleRetriever
|
||||
from langchain_community.retrievers import BM25Retriever
|
||||
from langchain_core.documents import Document
|
||||
|
||||
diff --git a/backend/open_webui/routers/retrieval.py b/backend/open_webui/routers/retrieval.py
|
||||
index f8147372f..363bb4706 100644
|
||||
--- a/backend/open_webui/routers/retrieval.py
|
||||
+++ b/backend/open_webui/routers/retrieval.py
|
||||
@@ -28,8 +28,7 @@ from pydantic import BaseModel
|
||||
import tiktoken
|
||||
|
||||
|
||||
-from langchain.text_splitter import RecursiveCharacterTextSplitter, TokenTextSplitter
|
||||
-from langchain_text_splitters import MarkdownHeaderTextSplitter
|
||||
+from langchain_text_splitters import MarkdownHeaderTextSplitter, RecursiveCharacterTextSplitter, TokenTextSplitter
|
||||
from langchain_core.documents import Document
|
||||
|
||||
from open_webui.models.files import FileModel, Files
|
||||
@@ -9,13 +9,13 @@
|
||||
}:
|
||||
let
|
||||
pname = "open-webui";
|
||||
version = "0.6.41";
|
||||
version = "0.6.43";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-webui";
|
||||
repo = "open-webui";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-/RpLiTz8WiI2fTJuLcksbB0pa5HOR13ci4G2LjdZu7Y=";
|
||||
hash = "sha256-gkCG2SIYCF89IFi6neslvZNFyoC6PrMM2Vda/a3mc0k=";
|
||||
};
|
||||
|
||||
frontend = buildNpmPackage rec {
|
||||
@@ -32,7 +32,7 @@ let
|
||||
url = "https://github.com/pyodide/pyodide/releases/download/${pyodideVersion}/pyodide-${pyodideVersion}.tar.bz2";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-n31+P5QU0XsuyNvipUU2A9f7CE3jKQa8ZAfwFuS3SXg=";
|
||||
npmDepsHash = "sha256-bw0f6jlA09s7Ptd8+q8RHRFZgnyE+ecsfY30XdKlyRM=";
|
||||
|
||||
# See https://github.com/open-webui/open-webui/issues/15880
|
||||
npmFlags = [
|
||||
@@ -75,8 +75,6 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
build-system = with python3Packages; [ hatchling ];
|
||||
|
||||
patches = [ ./langchain-v1.patch ];
|
||||
|
||||
# Not force-including the frontend build directory as frontend is managed by the `frontend` derivation above.
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
@@ -133,6 +131,7 @@ python3Packages.buildPythonApplication rec {
|
||||
langchain
|
||||
langchain-classic
|
||||
langchain-community
|
||||
langchain-text-splitters
|
||||
langdetect
|
||||
ldap3
|
||||
loguru
|
||||
@@ -173,6 +172,7 @@ python3Packages.buildPythonApplication rec {
|
||||
pypdf
|
||||
python-dotenv
|
||||
python-jose
|
||||
python-mimeparse
|
||||
python-multipart
|
||||
python-pptx
|
||||
python-socketio
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
}:
|
||||
let
|
||||
pname = "opencode";
|
||||
version = "1.0.180";
|
||||
version = "1.0.184";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sst";
|
||||
repo = "opencode";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-Jwniz/mxMrzR6FL5fL3JRG1mkMP57wxpdtPBpSFxNfY=";
|
||||
hash = "sha256-qEVFORKMoaLTsBbs2D9aLaD1W4vbQppJ6fB+bHWLcgM=";
|
||||
};
|
||||
|
||||
node_modules = stdenvNoCC.mkDerivation {
|
||||
|
||||
@@ -22,13 +22,13 @@ assert lib.assertOneOf "romID" romID roms;
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "perfect_dark";
|
||||
version = "0-unstable-2025-12-07";
|
||||
version = "0-unstable-2025-12-20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fgsfdsfgs";
|
||||
repo = "perfect_dark";
|
||||
rev = "a6374b016ded42dd28fee886cac0d647f807b2a5";
|
||||
hash = "sha256-+wkWBgGtVd9ipRu8xI3FTpjsptHapoTXkVJgUlCgUq8=";
|
||||
rev = "2550ce72f4d211d493e3b9057046b16547073fe1";
|
||||
hash = "sha256-iRzrVTe2dXdO/ZVvcNKbWpe+z3sH2l6AReiig5i9WOQ=";
|
||||
|
||||
postFetch = ''
|
||||
pushd $out
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
fetchpatch2,
|
||||
supportCompressedPackets ? true,
|
||||
zlib,
|
||||
bzip2,
|
||||
@@ -18,6 +19,16 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-JKedgHCTDnvLyLR3nGl4XFAaxXDU1TgHrxPMlRFwtBo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix for GCC 15. Remove on next package update.
|
||||
# https://github.com/kazu-yamamoto/pgpdump/pull/45
|
||||
(fetchpatch2 {
|
||||
name = "fix-c23-compatibility.patch";
|
||||
url = "https://github.com/kazu-yamamoto/pgpdump/commit/541442dc04259bde680b46742522177be40cc065.patch?full_index=1";
|
||||
hash = "sha256-ye+B8hy0etGcwCG9pD0jCnrg+U5VpFkERad61CexW9Y=";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = lib.optionals supportCompressedPackets [
|
||||
zlib
|
||||
bzip2
|
||||
|
||||
@@ -84,10 +84,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
# install frontend
|
||||
ln -s ${frontend}/assets/* ${assets_path}
|
||||
rm ${assets_path}/models
|
||||
mkdir -p ${assets_path}/models
|
||||
ln -s ${frontend}/assets/models/* ${assets_path}/models/
|
||||
|
||||
# install tensorflow models
|
||||
ln -s ${nasnet}/nasnet ${assets_path}
|
||||
ln -s ${nsfw}/nsfw ${assets_path}
|
||||
ln -s ${facenet}/facenet ${assets_path}
|
||||
ln -s ${nasnet}/nasnet ${assets_path}/models/
|
||||
ln -s ${nsfw}/nsfw ${assets_path}/models/
|
||||
ln -s ${facenet}/facenet ${assets_path}/models/
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pxa-mkbootimg";
|
||||
version = "2022.11.09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "osm0sis";
|
||||
repo = "pxa-mkbootimg";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-CZxtTPUlbUNsYTdNK0UYhlU45rYy4ToODE00MGlOPb0=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = toString (
|
||||
lib.optional stdenv.cc.isGNU [
|
||||
# Required with newer GCC
|
||||
"-Wno-error=stringop-overflow"
|
||||
]
|
||||
);
|
||||
|
||||
# Upstream has an install target, but doesn't install all required binaries
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm555 -t $out/bin {pxa-mkbootimg,pxa-unpackbootimg,pxa1088-dtbtool,pxa1908-dtbtool}
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/osm0sis/pxa-mkbootimg";
|
||||
description = "Boot image tool variants for the Marvell PXA1088 and PXA1908 boards";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ ungeskriptet ];
|
||||
mainProgram = "pxa-mkbootimg";
|
||||
};
|
||||
})
|
||||
@@ -13,7 +13,7 @@ let
|
||||
src = fetchFromGitHub {
|
||||
owner = "perseas";
|
||||
repo = "pgdbconn";
|
||||
rev = "v${version}";
|
||||
tag = "v${version}";
|
||||
sha256 = "09r4idk5kmqi3yig7ip61r6js8blnmac5n4q32cdcbp1rcwzdn6z";
|
||||
};
|
||||
|
||||
@@ -36,7 +36,7 @@ python3Packages.buildPythonApplication rec {
|
||||
src = fetchFromGitHub {
|
||||
owner = "perseas";
|
||||
repo = "Pyrseas";
|
||||
rev = version;
|
||||
tag = "v${version}";
|
||||
sha256 = "sha256-+MxnxvbLMxK1Ak+qKpKe3GHbzzC+XHO0eR7rl4ON9H4=";
|
||||
};
|
||||
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "qes";
|
||||
version = "0.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "koekeishiya";
|
||||
repo = "qes";
|
||||
rev = "ddedf008f0c38b134501ad9f328447b671423d34"; # no tag
|
||||
sha256 = "1w9ppid7jg6f4q7pq40lhm0whg7xmnxcmf3pb9xqfkq2zj2f7dxv";
|
||||
};
|
||||
|
||||
makeFlags = [ "BUILD_PATH=$(out)/bin" ];
|
||||
|
||||
meta = {
|
||||
description = "Quartz Event Synthesizer";
|
||||
homepage = "https://github.com/koekeishiya/qes";
|
||||
platforms = lib.platforms.darwin;
|
||||
maintainers = with lib.maintainers; [ lnl7 ];
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
}
|
||||
@@ -10,16 +10,20 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "readeck";
|
||||
version = "0.21.3";
|
||||
version = "0.21.5";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "readeck";
|
||||
repo = "readeck";
|
||||
tag = version;
|
||||
hash = "sha256-d4FLyD2uOngUANc7fai8j0wZSY1ISS18JEBDxCqXdQw=";
|
||||
hash = "sha256-9M9Bgl1CJ35x/Onlk5xUNCFkZKW40efF6qMOM+2/HR0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e '/^go /s/1.25.5/1.25.4/' go.mod
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
npmHooks.npmConfigHook
|
||||
@@ -62,10 +66,10 @@ buildGoModule rec {
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
src = "${src}/web";
|
||||
hash = "sha256-XT+4IR1xVXiDY4wx2smt0pcNUx6UFoXYq+zxvbGsQ8A=";
|
||||
hash = "sha256-znUKRaUdx6GXD2YL6hs0iveaAAHQ8H9n4NHZFi331+g=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-IWRlruj+zYixCRgbaf7QYBeCGwzf0qRY8OFa4s/PzME=";
|
||||
vendorHash = "sha256-2MB7v5oG/LcEKtgbFNxPXSI8TljpbqYUrI7pvu7m+e8=";
|
||||
|
||||
meta = {
|
||||
description = "Web application that lets you save the readable content of web pages you want to keep forever";
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "resterm";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "unkn0wn-root";
|
||||
repo = "resterm";
|
||||
tag = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-fqCJXWmmvgGpdJ+mAP2rizQUX3gQdN6rYW5dqkvWFns=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-Kj60MkxqRYORANalbJnjgtHMDgxOUOeaF1opqcYnVww=";
|
||||
|
||||
subPackages = [ "cmd/resterm" ];
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X main.version=${finalAttrs.version}"
|
||||
"-X main.commit=${finalAttrs.version}"
|
||||
"-X main.date=1970-01-01_00:00:00_UTC"
|
||||
];
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
doInstallCheck = true;
|
||||
versionCheckProgramArg = "--version";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Terminal-based REST client";
|
||||
homepage = "https://github.com/unkn0wn-root/resterm";
|
||||
mainProgram = "resterm";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = with lib.platforms; linux ++ darwin ++ windows;
|
||||
maintainers = with lib.maintainers; [ lonerOrz ];
|
||||
};
|
||||
})
|
||||
@@ -17,11 +17,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "rovium";
|
||||
version = "0.9.0";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/rovium/rovium-beta/releases/download/v${finalAttrs.version}/rovium-${finalAttrs.version}-amd64.deb";
|
||||
hash = "sha256-hGnjspZq1DXwBFQk89SbsQkm/o/5ecyh6IjJSdLu5Ys=";
|
||||
hash = "sha256-kLSRYyUv1ideiqjqS4VTTTa64zL4jBMm1JMQvtBER10=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
@@ -124,6 +124,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-TEP2YNKUuAnvLg+aDOkMmYfPQIjUXWYOhprfqsr8EgQ=";
|
||||
fetchSubmodules = true;
|
||||
fetchTags = true;
|
||||
deepClone = true;
|
||||
postFetch = ''
|
||||
cd $out
|
||||
|
||||
@@ -3,17 +3,29 @@
|
||||
appimageTools,
|
||||
fetchurl,
|
||||
gitUpdater,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "simplex-chat-desktop";
|
||||
version = "6.4.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/simplex-chat/simplex-chat/releases/download/v${version}/simplex-desktop-x86_64.AppImage";
|
||||
hash = "sha256-2XyA4UZ9EMzFnFNFFek1ka2MURBFFKyMolGMYZPD5Zw=";
|
||||
sources = {
|
||||
"aarch64-linux" = fetchurl {
|
||||
url = "https://github.com/simplex-chat/simplex-chat/releases/download/v${version}/simplex-desktop-aarch64.AppImage";
|
||||
hash = "sha256-CvHwYKbieRYbBKUCoKAa11rTy5Opdfb7FKS4poantKs=";
|
||||
};
|
||||
"x86_64-linux" = fetchurl {
|
||||
url = "https://github.com/simplex-chat/simplex-chat/releases/download/v${version}/simplex-desktop-x86_64.AppImage";
|
||||
hash = "sha256-2XyA4UZ9EMzFnFNFFek1ka2MURBFFKyMolGMYZPD5Zw=";
|
||||
};
|
||||
};
|
||||
|
||||
inherit (stdenv.hostPlatform) system;
|
||||
throwSystem = throw "simplex-chat-desktop: Unsupported system: ${system}";
|
||||
|
||||
src = sources.${system} or throwSystem;
|
||||
|
||||
appimageContents = appimageTools.extract {
|
||||
inherit pname version src;
|
||||
};
|
||||
@@ -46,6 +58,9 @@ appimageTools.wrapType2 {
|
||||
changelog = "https://github.com/simplex-chat/simplex-chat/releases/tag/v${version}";
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [ terryg ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
platforms = [
|
||||
"aarch64-linux"
|
||||
"x86_64-linux"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "steampipe";
|
||||
version = "2.3.2";
|
||||
version = "2.3.4";
|
||||
|
||||
env.CGO_ENABLED = 0;
|
||||
|
||||
@@ -19,10 +19,10 @@ buildGoModule rec {
|
||||
owner = "turbot";
|
||||
repo = "steampipe";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-RAMCbajhXzJDeDuNy0rE6jJDkw3NOw0dC4jLafkNmJc=";
|
||||
hash = "sha256-6p3GbPQ60DK4V565ipZq3OZDB6Tu/5tynhka8EQQUf4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-1o7ANCyz19WSIkYYoA0DpYzkY2qBXHHSfAGrAG2+k88=";
|
||||
vendorHash = "sha256-A4STD+EaUoYNgLwvD8B6IySE+wu+OsTydTukEnvWKjw=";
|
||||
proxyVendor = true;
|
||||
|
||||
postPatch = ''
|
||||
@@ -53,6 +53,10 @@ buildGoModule rec {
|
||||
skippedTests = [
|
||||
# panic: could not create backups directory: mkdir /var/empty/.steampipe: operation not permitted
|
||||
"TestTrimBackups"
|
||||
# Requires network access
|
||||
"TestVersionCheckerBodyReadFailure"
|
||||
"TestVersionCheckerNetworkFailures"
|
||||
"TestVersionCheckerTimeout"
|
||||
];
|
||||
in
|
||||
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "streamlink";
|
||||
version = "8.0.0";
|
||||
version = "8.1.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-+2JSuHyx1NFN/Fvx9K3RAB6HAWsVC3SV4i6Xrq4mRlU=";
|
||||
hash = "sha256-rNKXIZoMuq/+TikikFVLnEVAj6n25NwSEdHM0fSkQDk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "surfer";
|
||||
version = "0.4.0";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "surfer-project";
|
||||
repo = "surfer";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-rNJIe6FlAQI2B3lsRYHKMIGgJ1Q5EFX7kWgml+sXxtc=";
|
||||
hash = "sha256-2ikeG4K1CpyHgAZZfPzEFRXRoEh2PnOIf+8OREO6xug=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
@@ -48,7 +48,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
libXi
|
||||
];
|
||||
|
||||
cargoHash = "sha256-Q4SyuBNR7FnBe3h1rUo48Sxk2COdQbECiXXrGpwXhPk=";
|
||||
cargoHash = "sha256-E+9u7t6bLzORL2HiG4iT5pT4nGftyOgO2/eXHuQK4pQ=";
|
||||
|
||||
# Avoid the network attempt from skia. See: https://github.com/cargo2nix/cargo2nix/issues/318
|
||||
doCheck = false;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
fetchFromGitHub,
|
||||
callPackage,
|
||||
installShellFiles,
|
||||
writableTmpDirAsHomeHook,
|
||||
nix-update-script,
|
||||
testers,
|
||||
targetPackages,
|
||||
@@ -33,41 +34,25 @@ let
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
# TODO(@getchoo): Investigate selectively disabling some tests, or fixing them
|
||||
# https://github.com/NixOS/nixpkgs/pull/423662#issuecomment-3156362941
|
||||
doCheck = false;
|
||||
|
||||
postPatch = ''
|
||||
# Remove keybinding overrides from shell completion scripts
|
||||
# Users should configure their own keybindings
|
||||
|
||||
# Bash: Remove bind commands
|
||||
sed -i '/^# Bind the functions to key combinations/,$d' \
|
||||
television/utils/shell/completion.bash
|
||||
|
||||
# Fish: Remove bind commands for both modes
|
||||
sed -i '/^for mode in default insert/,$d' \
|
||||
television/utils/shell/completion.fish
|
||||
|
||||
# Nushell: Remove keybinding configuration
|
||||
sed -i '/^# Bind custom keybindings/,$d' \
|
||||
television/utils/shell/completion.nu
|
||||
|
||||
# Zsh: Remove zle and bindkey commands
|
||||
sed -i '/^zle -N tv-smart-autocomplete/,$d' \
|
||||
television/utils/shell/completion.zsh
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
installManPage target/${stdenv.hostPlatform.rust.cargoShortTarget}/assets/tv.1
|
||||
|
||||
# These are actually shell integrations with keybindings
|
||||
install -Dm644 television/utils/shell/completion.* -t $out/share/television/
|
||||
''
|
||||
+ lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
installShellCompletion --cmd tv \
|
||||
television/utils/shell/completion.bash \
|
||||
television/utils/shell/completion.fish \
|
||||
television/utils/shell/completion.nu \
|
||||
television/utils/shell/completion.zsh
|
||||
--bash <($out/bin/tv init bash) \
|
||||
--fish <($out/bin/tv init fish) \
|
||||
--zsh <($out/bin/tv init zsh) \
|
||||
--nushell <($out/bin/tv init nu)
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "tf2pulumi";
|
||||
version = "0.12.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pulumi";
|
||||
repo = "tf2pulumi";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-i6nK1AEnQY47ro6tNDBExdcb9WvltY/21FVrVaiSTvo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-x7GAkbvhML2VUQ9/zitrTBBiy9lISb3iTx6yn5WbEig=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X=github.com/pulumi/tf2pulumi/version.Version=${src.rev}"
|
||||
];
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
meta = {
|
||||
description = "Convert Terraform projects to Pulumi TypeScript programs";
|
||||
mainProgram = "tf2pulumi";
|
||||
homepage = "https://www.pulumi.com/tf2pulumi/";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ mausch ];
|
||||
};
|
||||
}
|
||||
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cdn.vintagestory.at/gamefiles/stable/vs_client_linux-x64_${version}.tar.gz";
|
||||
hash = "sha256-i1IsxT+pjkKbJjHwnMcyb12nxe21mwvnoRGHMabMETY=";
|
||||
hash = "sha256-LkiL/8W9MKpmJxtK+s5JvqhOza0BLap1SsaDvbLYR0c=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "libgbm";
|
||||
owner = "Mesa";
|
||||
repo = "waffle";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Y7GRYLqSO572qA1eZ3jS8QlZ1X9xKpDtScaySTuPK/U=";
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
}:
|
||||
llvmPackages.stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "waypipe";
|
||||
version = "0.10.6";
|
||||
version = "0.11.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "web-archives";
|
||||
version = "0.5.0";
|
||||
version = "0.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "birros";
|
||||
repo = "web-archives";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-EYHChI+4tpjRp4KveHTB+5BSLtw0YLp5z2JJmA0xTlM=";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-aP42WiSmpkAw7FtxUftIsHKDztt60xKcL8Zq2iTSRn8=";
|
||||
};
|
||||
|
||||
web-archive-darkreader = fetchurl {
|
||||
|
||||
@@ -138,7 +138,6 @@ else
|
||||
libjpeg
|
||||
libtool
|
||||
libxkbcommon
|
||||
nss
|
||||
nspr
|
||||
udev
|
||||
gtk3
|
||||
@@ -170,7 +169,7 @@ else
|
||||
rm -rf usr/share/{fonts,locale}
|
||||
rm -f usr/bin/misc
|
||||
rm -rf opt/kingsoft/wps-office/{desktops,INSTALL}
|
||||
rm -f opt/kingsoft/wps-office/office6/lib{peony-wpsprint-menu-plugin,bz2,jpeg,stdc++,gcc_s,odbc*,nss*,dbus-1}.so*
|
||||
rm -f opt/kingsoft/wps-office/office6/lib{peony-wpsprint-menu-plugin,bz2,jpeg,stdc++,gcc_s,odbc*,dbus-1}.so*
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "xdg-desktop-portal-termfilechooser";
|
||||
version = "1.2.1";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hunkyburrito";
|
||||
repo = "xdg-desktop-portal-termfilechooser";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-IlPNNuQaGVW5QXcyA8cWiFJxwgXmviQoisDUWX9QP2s=";
|
||||
hash = "sha256-7fbQ0iraT3UQFgpb9Jlfo0myS72IiH5+vyU7dAzldfM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "xmake";
|
||||
version = "3.0.4";
|
||||
version = "3.0.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xmake-io";
|
||||
repo = "xmake";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-0Hh7XqKAt0yrg1GejEZmKpY3c8EvK7Z2eBS8GNaxYlg=";
|
||||
hash = "sha256-rmChbjWRFL2vchifupLBraalMHYze035xjLNLCYzwm8=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
python3Packages,
|
||||
testers,
|
||||
@@ -8,14 +9,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "zabbix-cli";
|
||||
version = "3.5.3";
|
||||
version = "3.6.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "unioslo";
|
||||
repo = "zabbix-cli";
|
||||
tag = version;
|
||||
hash = "sha256-Fk3o0+cNCX/ixqNd9oldY6JJ+wQWlMjBAEwuAWCLURQ=";
|
||||
hash = "sha256-Y4IR/le+7X3MYmrVnZMr+Gu59LkCB5UfMJ2s9ovSjLM=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
@@ -33,6 +34,7 @@ python3Packages.buildPythonApplication rec {
|
||||
pydantic
|
||||
requests
|
||||
rich
|
||||
shellingham
|
||||
strenum
|
||||
tomli
|
||||
tomli-w
|
||||
@@ -59,6 +61,15 @@ python3Packages.buildPythonApplication rec {
|
||||
disabledTests = [
|
||||
# Disable failing test with Click >= v8.2.0
|
||||
"test_patch_get_click_type"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# Requires network access
|
||||
"test_authenticator_login_with_any"
|
||||
"test_client_auth_method"
|
||||
"test_client_logout"
|
||||
# PermissionError: [Errno 1] Operation not permitted: 'ps'
|
||||
"test_is_headless_map"
|
||||
"test_is_headless_set_false"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "zabbix_cli" ];
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "zeekstd";
|
||||
version = "0.4.2";
|
||||
version = "0.4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rorosen";
|
||||
repo = "zeekstd";
|
||||
tag = "v${finalAttrs.version}-cli";
|
||||
hash = "sha256-aht+QUprnSdBxJajBPgzqWzzOpkyrtzvJ98nqYKDCdc=";
|
||||
hash = "sha256-E8xOcc3gDCRSZUrnrAPOJGnx0YSK/1FxZZOgusESpeE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-GEWCR4EaNQkB9mYxcWjlqSt75ko68RIU/10M4+zB+to=";
|
||||
cargoHash = "sha256-0wqRDhopbSfILABEpjuTLfOuwIH+5jzTVl9av7+7098=";
|
||||
|
||||
meta = {
|
||||
description = "CLI tool that works with the zstd seekable format";
|
||||
|
||||
@@ -2808,12 +2808,12 @@ with haskellLib;
|
||||
doJailbreak
|
||||
# 2022-12-02: Hackage release lags behind actual releases: https://github.com/PostgREST/postgrest/issues/2275
|
||||
(overrideSrc rec {
|
||||
version = "14.1";
|
||||
version = "14.2";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "PostgREST";
|
||||
repo = "postgrest";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-VGmo0Y8Q86euPlu3AhMmcmy3rintNy6s9efpUaliBWY=";
|
||||
hash = "sha256-wvE3foz2miOzA3hZ1Ar5XR0FUvP5EqAk010dXp8hiz0=";
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
@@ -218,16 +218,19 @@ stdenv.mkDerivation {
|
||||
++ lib.optional (
|
||||
lib.versionAtLeast version "1.81" && lib.versionOlder version "1.88" && stdenv.cc.isClang
|
||||
) ./fix-clang-target.patch
|
||||
++ lib.optional (lib.versionAtLeast version "1.86" && lib.versionOlder version "1.87") [
|
||||
# Backport fix for NumPy 2 support.
|
||||
(fetchpatch {
|
||||
name = "boost-numpy-2-compatibility.patch";
|
||||
url = "https://github.com/boostorg/python/commit/0474de0f6cc9c6e7230aeb7164af2f7e4ccf74bf.patch";
|
||||
stripLen = 1;
|
||||
extraPrefix = "libs/python/";
|
||||
hash = "sha256-0IHK55JSujYcwEVOuLkwOa/iPEkdAKQlwVWR42p/X2U=";
|
||||
})
|
||||
]
|
||||
++
|
||||
lib.optional (lib.versionAtLeast version "1.86" && lib.versionOlder version "1.87")
|
||||
# Backport fix for NumPy 2 support.
|
||||
(
|
||||
fetchpatch {
|
||||
name = "boost-numpy-2-compatibility.patch";
|
||||
url = "https://github.com/boostorg/python/commit/0474de0f6cc9c6e7230aeb7164af2f7e4ccf74bf.patch";
|
||||
stripLen = 1;
|
||||
extraPrefix = "libs/python/";
|
||||
hash = "sha256-0IHK55JSujYcwEVOuLkwOa/iPEkdAKQlwVWR42p/X2U=";
|
||||
}
|
||||
)
|
||||
|
||||
++ lib.optionals (version == "1.87.0") [
|
||||
# Fix operator<< for shared_ptr and intrusive_ptr
|
||||
# https://github.com/boostorg/smart_ptr/issues/115
|
||||
|
||||
@@ -29,6 +29,5 @@ buildPythonPackage rec {
|
||||
homepage = "https://github.com/sphinx-doc/alabaster";
|
||||
description = "Light, configurable Sphinx theme";
|
||||
license = lib.licenses.bsd3;
|
||||
teams = [ lib.teams.sphinx ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -20,12 +20,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "alembic";
|
||||
version = "1.16.4";
|
||||
version = "1.17.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-76tq2g3Q+uLJIGCADgv1wdwmrxWhDgL7S6v/FktHJeI=";
|
||||
hash = "sha256-u+l1FwXF4PFId/AtRsU9EIheN349kO2oEKAW+bqhno4=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -358,13 +358,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "boto3-stubs";
|
||||
version = "1.42.12";
|
||||
version = "1.42.14";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "boto3_stubs";
|
||||
inherit version;
|
||||
hash = "sha256-GKmpcP2diGdVjwkWCPLZlE1vVRQ9I8sReF8cFD2RqlQ=";
|
||||
hash = "sha256-sGxL55NIVz+gP8f75L2C67x+HifPIIyPWre/y3X1XAU=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "botocore-stubs";
|
||||
version = "1.42.12";
|
||||
version = "1.42.14";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
pname = "botocore_stubs";
|
||||
inherit version;
|
||||
hash = "sha256-DqrIhSRBeU8UvbgjsLDcHHIgzwJOUGAx1eDSxIVeJ38=";
|
||||
hash = "sha256-Y1GS+1EOWbb0aEPJiTApuP04e3CJ7HL3AAYzFqZ7uxQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools ];
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user