mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-29 10:23:29 +00:00
Merge staging-next into staging
This commit is contained in:
commit
de14da0244
1
.github/labeler.yml
vendored
1
.github/labeler.yml
vendored
@ -212,6 +212,7 @@
|
||||
- pkgs/development/node-packages/**/*
|
||||
- pkgs/development/tools/yarn/*
|
||||
- pkgs/development/tools/yarn2nix-moretea/**/*
|
||||
- pkgs/development/tools/pnpm/**/*
|
||||
- pkgs/development/web/nodejs/*
|
||||
|
||||
"6.topic: ocaml":
|
||||
|
@ -1,7 +1,5 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.hardware.opengl;
|
||||
@ -25,14 +23,14 @@ in
|
||||
{
|
||||
|
||||
imports = [
|
||||
(mkRenamedOptionModule [ "services" "xserver" "vaapiDrivers" ] [ "hardware" "opengl" "extraPackages" ])
|
||||
(mkRemovedOptionModule [ "hardware" "opengl" "s3tcSupport" ] "S3TC support is now always enabled in Mesa.")
|
||||
(lib.mkRenamedOptionModule [ "services" "xserver" "vaapiDrivers" ] [ "hardware" "opengl" "extraPackages" ])
|
||||
(lib.mkRemovedOptionModule [ "hardware" "opengl" "s3tcSupport" ] "S3TC support is now always enabled in Mesa.")
|
||||
];
|
||||
|
||||
options = {
|
||||
|
||||
hardware.opengl = {
|
||||
enable = mkOption {
|
||||
enable = lib.mkOption {
|
||||
description = ''
|
||||
Whether to enable OpenGL drivers. This is needed to enable
|
||||
OpenGL support in X11 systems, as well as for Wayland compositors
|
||||
@ -42,12 +40,12 @@ in
|
||||
compositor of choice. See services.xserver.enable and
|
||||
programs.sway.enable.
|
||||
'';
|
||||
type = types.bool;
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
driSupport = mkOption {
|
||||
type = types.bool;
|
||||
driSupport = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to enable accelerated OpenGL rendering through the
|
||||
@ -55,8 +53,8 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
driSupport32Bit = mkOption {
|
||||
type = types.bool;
|
||||
driSupport32Bit = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
On 64-bit systems, whether to support Direct Rendering for
|
||||
@ -66,16 +64,16 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
internal = true;
|
||||
description = ''
|
||||
The package that provides the OpenGL implementation.
|
||||
'';
|
||||
};
|
||||
|
||||
package32 = mkOption {
|
||||
type = types.package;
|
||||
package32 = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
internal = true;
|
||||
description = ''
|
||||
The package that provides the 32-bit OpenGL implementation on
|
||||
@ -84,10 +82,10 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
extraPackages = mkOption {
|
||||
type = types.listOf types.package;
|
||||
extraPackages = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.package;
|
||||
default = [];
|
||||
example = literalExpression "with pkgs; [ intel-media-driver intel-ocl intel-vaapi-driver ]";
|
||||
example = lib.literalExpression "with pkgs; [ intel-media-driver intel-ocl intel-vaapi-driver ]";
|
||||
description = ''
|
||||
Additional packages to add to OpenGL drivers.
|
||||
This can be used to add OpenCL drivers, VA-API/VDPAU drivers etc.
|
||||
@ -98,10 +96,10 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
extraPackages32 = mkOption {
|
||||
type = types.listOf types.package;
|
||||
extraPackages32 =lib. mkOption {
|
||||
type = lib.types.listOf lib.types.package;
|
||||
default = [];
|
||||
example = literalExpression "with pkgs.pkgsi686Linux; [ intel-media-driver intel-vaapi-driver ]";
|
||||
example = lib.literalExpression "with pkgs.pkgsi686Linux; [ intel-media-driver intel-vaapi-driver ]";
|
||||
description = ''
|
||||
Additional packages to add to 32-bit OpenGL drivers on 64-bit systems.
|
||||
Used when {option}`driSupport32Bit` is set. This can be used to add OpenCL drivers, VA-API/VDPAU drivers etc.
|
||||
@ -112,8 +110,8 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
setLdLibraryPath = mkOption {
|
||||
type = types.bool;
|
||||
setLdLibraryPath = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
internal = true;
|
||||
default = false;
|
||||
description = ''
|
||||
@ -128,7 +126,7 @@ in
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{ assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64;
|
||||
message = "Option driSupport32Bit only makes sense on a 64-bit system.";
|
||||
@ -138,24 +136,23 @@ in
|
||||
}
|
||||
];
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"L+ /run/opengl-driver - - - - ${package}"
|
||||
(
|
||||
systemd.tmpfiles.settings.opengl = {
|
||||
"/run/opengl-driver"."L+".argument = toString package;
|
||||
"/run/opengl-drive-32" =
|
||||
if pkgs.stdenv.isi686 then
|
||||
"L+ /run/opengl-driver-32 - - - - opengl-driver"
|
||||
{ "L+".argument = "opengl-driver"; }
|
||||
else if cfg.driSupport32Bit then
|
||||
"L+ /run/opengl-driver-32 - - - - ${package32}"
|
||||
{ "L+".argument = toString package32; }
|
||||
else
|
||||
"r /run/opengl-driver-32"
|
||||
)
|
||||
];
|
||||
{ "r" = {}; };
|
||||
};
|
||||
|
||||
environment.sessionVariables.LD_LIBRARY_PATH = mkIf cfg.setLdLibraryPath
|
||||
([ "/run/opengl-driver/lib" ] ++ optional cfg.driSupport32Bit "/run/opengl-driver-32/lib");
|
||||
environment.sessionVariables.LD_LIBRARY_PATH = lib.mkIf cfg.setLdLibraryPath
|
||||
([ "/run/opengl-driver/lib" ] ++ lib.optional cfg.driSupport32Bit "/run/opengl-driver-32/lib");
|
||||
|
||||
hardware.opengl.package = mkDefault pkgs.mesa.drivers;
|
||||
hardware.opengl.package32 = mkDefault pkgs.pkgsi686Linux.mesa.drivers;
|
||||
hardware.opengl.package = lib.mkDefault pkgs.mesa.drivers;
|
||||
hardware.opengl.package32 = lib.mkDefault pkgs.pkgsi686Linux.mesa.drivers;
|
||||
|
||||
boot.extraModulePackages = optional (elem "virtualbox" videoDrivers) kernelPackages.virtualboxGuestAdditions;
|
||||
boot.extraModulePackages = lib.optional (lib.elem "virtualbox" videoDrivers) kernelPackages.virtualboxGuestAdditions;
|
||||
};
|
||||
}
|
||||
|
@ -1,16 +1,22 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
enable = config.programs.bash.enableCompletion;
|
||||
cfg = config.programs.bash;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
programs.bash.enableCompletion = lib.mkEnableOption "Bash completion for all interactive bash shells" // {
|
||||
options.programs.bash.completion = {
|
||||
enable = lib.mkEnableOption "Bash completion for all interactive bash shells" // {
|
||||
default = true;
|
||||
};
|
||||
|
||||
package = lib.mkPackageOption pkgs "bash-completion" { };
|
||||
};
|
||||
|
||||
config = lib.mkIf enable {
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModule [ "programs" "bash" "enableCompletion" ] [ "programs" "bash" "completion" "enable" ])
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.completion.enable {
|
||||
programs.bash.promptPluginInit = ''
|
||||
# Check whether we're running a version of Bash that has support for
|
||||
# programmable completion. If we do, enable all modules installed in
|
||||
@ -19,7 +25,7 @@ in
|
||||
# $XDG_DATA_DIRS/bash-completion/completions/
|
||||
# on demand, so they do not need to be sourced here.
|
||||
if shopt -q progcomp &>/dev/null; then
|
||||
. "${pkgs.bash-completion}/etc/profile.d/bash_completion.sh"
|
||||
. "${cfg.completion.package}/etc/profile.d/bash_completion.sh"
|
||||
nullglobStatus=$(shopt -p nullglob)
|
||||
shopt -s nullglob
|
||||
for p in $NIX_PROFILES; do
|
||||
|
@ -198,7 +198,7 @@ in
|
||||
|
||||
users.defaultUserShell = lib.mkDefault pkgs.bashInteractive;
|
||||
|
||||
environment.pathsToLink = lib.optionals cfg.enableCompletion [
|
||||
environment.pathsToLink = lib.optionals cfg.completion.enable [
|
||||
"/etc/bash_completion.d"
|
||||
"/share/bash-completion"
|
||||
];
|
||||
|
@ -15,7 +15,7 @@ in
|
||||
environment.systemPackages = lib.mkIf (cfg.keybindings || cfg.fuzzyCompletion) [ pkgs.fzf ];
|
||||
|
||||
programs = {
|
||||
# load after programs.bash.enableCompletion
|
||||
# load after programs.bash.completion.enable
|
||||
bash.promptPluginInit = lib.mkAfter (lib.optionalString cfg.fuzzyCompletion ''
|
||||
source ${pkgs.fzf}/share/fzf/completion.bash
|
||||
'' + lib.optionalString cfg.keybindings ''
|
||||
|
@ -164,7 +164,7 @@ in
|
||||
nixPackage
|
||||
pkgs.nix-info
|
||||
]
|
||||
++ optional (config.programs.bash.enableCompletion) pkgs.nix-bash-completions;
|
||||
++ optional (config.programs.bash.completion.enable) pkgs.nix-bash-completions;
|
||||
|
||||
systemd.packages = [ nixPackage ];
|
||||
|
||||
|
@ -269,11 +269,6 @@ in
|
||||
programs.bash.vteIntegration = mkDefault true;
|
||||
programs.zsh.vteIntegration = mkDefault true;
|
||||
|
||||
# Use native GTK file chooser on Qt apps. This is because Qt does not know Pantheon.
|
||||
# https://invent.kde.org/qt/qt/qtbase/-/blob/6.6/src/gui/platform/unix/qgenericunixthemes.cpp#L1312
|
||||
# https://github.com/elementary/default-settings/blob/7.0.2/profile.d/qt-qpa-platformtheme.sh
|
||||
environment.variables.QT_QPA_PLATFORMTHEME = mkDefault "gtk3";
|
||||
|
||||
# Default Fonts
|
||||
fonts.packages = with pkgs; [
|
||||
inter
|
||||
|
@ -31,7 +31,9 @@ let
|
||||
};
|
||||
in
|
||||
{
|
||||
###### interface
|
||||
imports = [
|
||||
(mkRenamedOptionModule [ "virtualisation" "virtualbox" "guest" "draganddrop" ] [ "virtualisation" "virtualbox" "guest" "dragAndDrop" ])
|
||||
];
|
||||
|
||||
options.virtualisation.virtualbox.guest = {
|
||||
enable = mkOption {
|
||||
|
@ -47,7 +47,7 @@ let
|
||||
'') (attrValues nodes);
|
||||
};
|
||||
};
|
||||
programs.bash.enableCompletion = true;
|
||||
programs.bash.completion.enable = true;
|
||||
environment.systemPackages = [ wrapKubectl ];
|
||||
services.flannel.iface = "eth1";
|
||||
services.kubernetes = {
|
||||
|
@ -10,7 +10,7 @@ let
|
||||
tests = let callTest = p: lib.flip (import p) { inherit system pkgs; }; in {
|
||||
thinpool = { test = callTest ./thinpool.nix; kernelFilter = lib.id; };
|
||||
# we would like to test all versions, but the kernel module currently does not compile against the other versions
|
||||
vdo = { test = callTest ./vdo.nix; kernelFilter = lib.filter (v: v == "5.15"); };
|
||||
vdo = { test = callTest ./vdo.nix; kernelFilter = lib.filter (v: v == "6.1"); };
|
||||
|
||||
|
||||
# systemd in stage 1
|
||||
@ -26,7 +26,7 @@ let
|
||||
};
|
||||
vdo-sd-stage-1 = {
|
||||
test = callTest ./systemd-stage-1.nix;
|
||||
kernelFilter = lib.filter (v: v == "5.15");
|
||||
kernelFilter = lib.filter (v: v == "6.1");
|
||||
flavour = "vdo";
|
||||
};
|
||||
};
|
||||
|
@ -16,17 +16,18 @@
|
||||
, python3
|
||||
, sqlite
|
||||
, zlib
|
||||
, jq
|
||||
}:
|
||||
let
|
||||
py3 = python3.withPackages (p: [ p.mako ]);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clightning";
|
||||
version = "24.02.2";
|
||||
version = "24.05";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
|
||||
sha256 = "sha256-KQS/4VmUxJkNpvPcxL5Up9f25leiPzvi2AiKuzRQmDo=";
|
||||
hash = "sha256-FD7JFM80wrruqBWjYnJHZh2f2GZJ6XDQmUQ0XetnWBg=";
|
||||
};
|
||||
|
||||
# when building on darwin we need dawin.cctools to provide the correct libtool
|
||||
@ -35,7 +36,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ autoconf autogen automake gettext libtool lowdown protobuf py3 unzip which ]
|
||||
++ lib.optionals stdenv.isDarwin [ darwin.cctools darwin.autoSignDarwinBinariesHook ];
|
||||
|
||||
buildInputs = [ gmp libsodium sqlite zlib ];
|
||||
buildInputs = [ gmp libsodium sqlite zlib jq ];
|
||||
|
||||
# this causes some python trouble on a darwin host so we skip this step.
|
||||
# also we have to tell libwally-core to use sed instead of gsed.
|
||||
@ -44,6 +45,7 @@ stdenv.mkDerivation rec {
|
||||
tools/generate-wire.py \
|
||||
tools/update-mocks.sh \
|
||||
tools/mockup.sh \
|
||||
tools/fromschema.py \
|
||||
devtools/sql-rewrite.py
|
||||
'' else ''
|
||||
substituteInPlace external/libwally-core/tools/autogen.sh --replace gsed sed && \
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "findex";
|
||||
version = "0.8.1";
|
||||
version = "0.8.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mdgaziur";
|
||||
repo = "findex";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-rxOVrl2Q27z5oo1J6D4ft4fKaOMOadmidflD0jK0+3k=";
|
||||
hash = "sha256-IpgmeH5oREstud0nw4i2xYeZcJYG6eCWyw3hhid/DfU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-MiD96suB88NZWg7Ay/ACZfOeE66WOe9dLsvtOhCQgGo=";
|
||||
cargoHash = "sha256-wsqsPh1kevkIz235qnkLkp47CnCh6qi56sZP95Upymc=";
|
||||
|
||||
postPatch = ''
|
||||
# failing rust documentation tests and faulty quotes "`README.md`"
|
||||
|
@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "kickoff";
|
||||
version = "0.7.2";
|
||||
version = "0.7.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "j0ru";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-WUDbb/GLABhqE93O6bm19Y+r0kSMEJrvduw68Igub44=";
|
||||
hash = "sha256-ha1pRViiOH0U0djUq1x8TIpVoUMn8l+2pA//YP70jdk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-nhUC9PSKAbNEK5e4WRx3dgYI0rJP5XSWcW6M5E0Ihv4=";
|
||||
cargoHash = "sha256-pdncUUGSfsn35VpwuNWZ/0DAIImBLAm0LyPbqQ06Xho=";
|
||||
|
||||
libPath = lib.makeLibraryPath [
|
||||
wayland
|
||||
|
@ -14,13 +14,13 @@
|
||||
|
||||
python310Packages.buildPythonApplication rec {
|
||||
pname = "nwg-displays";
|
||||
version = "0.3.19";
|
||||
version = "0.3.20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nwg-piotr";
|
||||
repo = "nwg-displays";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-pZelKuTClRELZT80r44FxocdW+KRARD027ZV18XTTss=";
|
||||
hash = "sha256-lpXcH45BFgfRjkEHqimnHonDenm5YA6oahe4sN2wpY4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,11 +1,7 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
bash,
|
||||
glib,
|
||||
gdk-pixbuf,
|
||||
gettext,
|
||||
imagemagick,
|
||||
ninja,
|
||||
meson,
|
||||
sassc,
|
||||
@ -29,22 +25,23 @@ python3Packages.buildPythonApplication rec {
|
||||
owner = "polychromatic";
|
||||
repo = "polychromatic";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-3Pt1Z8G0xDWlFD7LxJILPUifMBTN4OvPNHZv80umO1s=";
|
||||
hash = "sha256-3Pt1Z8G0xDWlFD7LxJILPUifMBTN4OvPNHZv80umO1s=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs scripts
|
||||
substituteInPlace scripts/build-styles.sh \
|
||||
--replace '$(which sassc 2>/dev/null)' '${sassc}/bin/sassc' \
|
||||
--replace '$(which sass 2>/dev/null)' '${sassc}/bin/sass'
|
||||
--replace-fail '$(which sassc 2>/dev/null)' '${sassc}/bin/sassc' \
|
||||
--replace-fail '$(which sass 2>/dev/null)' '${sassc}/bin/sass'
|
||||
substituteInPlace polychromatic/paths.py \
|
||||
--replace "/usr/share/polychromatic" "$out/share/polychromatic"
|
||||
--replace-fail "/usr/share/polychromatic" "$out/share/polychromatic"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
scripts/build-styles.sh
|
||||
'';
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
gobject-introspection
|
||||
meson
|
||||
@ -57,27 +54,24 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
buildInputs = [ qt6.qtwayland ];
|
||||
|
||||
propagatedBuildInputs =
|
||||
with python3Packages;
|
||||
[
|
||||
colorama
|
||||
colour
|
||||
openrazer
|
||||
pyqt6
|
||||
pyqt6-webengine
|
||||
requests
|
||||
setproctitle
|
||||
libxcb
|
||||
openrazer-daemon
|
||||
ibus
|
||||
usbutils
|
||||
]
|
||||
++ [
|
||||
libayatana-appindicator
|
||||
psmisc
|
||||
];
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
colorama
|
||||
colour
|
||||
openrazer
|
||||
pyqt6
|
||||
pyqt6-webengine
|
||||
requests
|
||||
setproctitle
|
||||
libxcb
|
||||
openrazer-daemon
|
||||
ibus
|
||||
usbutils
|
||||
] ++ [
|
||||
libayatana-appindicator
|
||||
psmisc
|
||||
];
|
||||
|
||||
dontWrapGapps = true;
|
||||
dontWrapGApps = true;
|
||||
dontWrapQtApps = true;
|
||||
|
||||
makeWrapperArgs = [
|
||||
@ -95,5 +89,6 @@ python3Packages.buildPythonApplication rec {
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ evanjs ];
|
||||
mainProgram = "polychromatic-controller";
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "argocd";
|
||||
version = "2.11.2";
|
||||
version = "2.11.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "argoproj";
|
||||
repo = "argo-cd";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-lePMdjWq4qFQcxFZzfLyTsMwgcmjIoBmosZs5G4CWvc=";
|
||||
hash = "sha256-qSrMqByhOitRltYaVjIeubuoTR74x/pQ1Ad+uTPdpJU=";
|
||||
};
|
||||
|
||||
proxyVendor = true; # darwin/linux hash mismatch
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "hubble";
|
||||
version = "0.13.4";
|
||||
version = "0.13.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cilium";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-YordxRIZtlYQprAYnH9Qn5ha6y7D52sjEOaRTcd0Z8g=";
|
||||
sha256 = "sha256-0NApMqLjeYOMxEI8tY2zLxccuSD5nHUGNsya+26ghDY=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -1,114 +1,21 @@
|
||||
# k3s versions
|
||||
# K3s
|
||||
|
||||
K3s, Kubernetes, and other clustered software has the property of not being able to update atomically. Most software in nixpkgs, like for example bash, can be updated as part of a "nixos-rebuild switch" without having to worry about the old and the new bash interacting in some way.
|
||||
K3s is a simplified [Kubernetes](https://wiki.nixos.org/wiki/Kubernetes) version that bundles Kubernetes cluster components into a few small binaries optimized for Edge and IoT devices.
|
||||
|
||||
K3s/Kubernetes, on the other hand, is typically run across several NixOS machines, and each NixOS machine is updated independently. As such, different versions of the package and NixOS module must maintain compatibility with each other through temporary version skew during updates.
|
||||
## Usage
|
||||
|
||||
The upstream Kubernetes project [documents this in their version-skew policy](https://kubernetes.io/releases/version-skew-policy/#supported-component-upgrade-order).
|
||||
* [Module Usage](docs/USAGE.md).
|
||||
|
||||
Within nixpkgs, we strive to maintain a valid "upgrade path" that does not run
|
||||
afoul of the upstream version skew policy.
|
||||
## Configuration Examples
|
||||
|
||||
## Upstream release cadence and support
|
||||
* [Nvidia GPU Passthru](docs/examples/NVIDIA.md)
|
||||
* [Storage Examples](docs/examples/STORAGE.md)
|
||||
|
||||
K3s is built on top of K8s, and typically provides a similar release cadence and support window (simply by cherry-picking over k8s patches). As such, we assume k3s's support lifecycle is identical to upstream K8s.
|
||||
## Cluster Maintenance and Troubleshooting
|
||||
|
||||
This is documented upstream [here](https://kubernetes.io/releases/patch-releases/#support-period).
|
||||
* [Cluster Upkeep](docs/CLUSTER_UPKEEP.md).
|
||||
|
||||
In short, a new Kubernetes version is released roughly every 4 months, and each release is supported for a little over 1 year.
|
||||
## K3s Package Upkeep
|
||||
|
||||
Any version that is not supported by upstream should be dropped from nixpkgs.
|
||||
|
||||
## Versions in NixOS releases
|
||||
|
||||
NixOS releases should avoid having deprecated software, or making major version upgrades, wherever possible.
|
||||
|
||||
As such, we would like to have only the newest K3s version in each NixOS
|
||||
release at the time the release branch is branched off, which will ensure the
|
||||
K3s version in that release will receive updates for the longest duration
|
||||
possible.
|
||||
|
||||
However, this conflicts with another desire: we would like people to be able to upgrade between NixOS stable releases without needing to make a large enough k3s version jump that they violate the Kubernetes version skew policy.
|
||||
|
||||
To give an example, we may have the following timeline for k8s releases:
|
||||
|
||||
(Note, the exact versions and dates may be wrong, this is an illustrative example, reality may differ).
|
||||
|
||||
```mermaid
|
||||
gitGraph
|
||||
branch k8s
|
||||
commit
|
||||
branch "k8s-1.24"
|
||||
checkout "k8s-1.24"
|
||||
commit id: "1.24.0" tag: "2022-05-03"
|
||||
branch "k8s-1.25"
|
||||
checkout "k8s-1.25"
|
||||
commit id: "1.25.0" tag: "2022-08-23"
|
||||
branch "k8s-1.26"
|
||||
checkout "k8s-1.26"
|
||||
commit id: "1.26.0" tag: "2022-12-08"
|
||||
checkout k8s-1.24
|
||||
commit id: "1.24-EOL" tag: "2023-07-28"
|
||||
checkout k8s-1.25
|
||||
commit id: "1.25-EOL" tag: "2023-10-27"
|
||||
checkout k8s-1.26
|
||||
commit id: "1.26-EOL" tag: "2024-02-28"
|
||||
```
|
||||
|
||||
(Note: the above graph will render if you view this markdown on GitHub, or when using [mermaid](https://mermaid.js.org/))
|
||||
|
||||
In this scenario even though k3s 1.24 is still technically supported when the NixOS 23.05
|
||||
release is cut, since it goes EOL before the NixOS 23.11 release is made, we would
|
||||
not want to include it. Similarly, k3s 1.25 would go EOL before NixOS 23.11.
|
||||
|
||||
As such, we should only include k3s 1.26 in the 23.05 release.
|
||||
|
||||
We can then make a similar argument when NixOS 23.11 comes around to not
|
||||
include k3s 1.26 or 1.27. However, that means someone upgrading from the NixOS
|
||||
22.05 release to the NixOS 23.11 would not have a supported upgrade path.
|
||||
|
||||
In order to resolve this issue, we propose backporting not just new patch releases to older NixOS releases, but also new k3s versions, up to one version before the first version that is included in the next NixOS release.
|
||||
|
||||
In the above example, where NixOS 23.05 included k3s 1.26, and 23.11 included k3s 1.28, that means we would backport 1.27 to the NixOS 23.05 release, and backport all patches for 1.26 and 1.27.
|
||||
This would allow someone to upgrade between those NixOS releases in a supported configuration.
|
||||
|
||||
|
||||
## K3s upkeep for nixpkgs maintainers
|
||||
|
||||
* After every nixos release, K3s maintainers should remove from `nixos-unstable` all K3s versions that exist in `nixos-stable` except the latest version (to allow decoupling system upgrade from k3s upgrade).
|
||||
|
||||
* Whenever adding a new major/minor K3s version to nixpkgs:
|
||||
- update `k3s` alias to the latest version.
|
||||
- add a NixOS release note scheduling the removal of deprecated K3s packages
|
||||
- include migration information from both Kubernetes and K3s projects
|
||||
|
||||
* For version patch upgrades, use the K3s update script.
|
||||
|
||||
To execute the update script, from nixpkgs git repository, run:
|
||||
|
||||
> ./pkgs/applications/networking/cluster/k3s/update-script.sh "29"
|
||||
|
||||
"29" being the target minor version to be updated.
|
||||
|
||||
On failure, the update script should be fixed. On failing to fix, open an issue reporting the update script breakage.
|
||||
|
||||
RyanTM bot can automatically do patch upgrades. Update logs are available at: https://r.ryantm.com/log/k3s_1_29/
|
||||
|
||||
* When reviewing upgrades, check:
|
||||
|
||||
- At top-level, every K3s version should have the Go compiler pinned according to `go.mod` file.
|
||||
|
||||
Notice the update script does not automatically pin the Go version.
|
||||
|
||||
- K3s passthru.tests (Currently: single-node, multi-node, etcd) works for all architectures (linux-x86_64, aarch64-linux).
|
||||
|
||||
For GitHub CI, [OfBorg](https://github.com/NixOS/ofborg) can be used to test all platforms.
|
||||
|
||||
To test locally, at nixpkgs repository, run:
|
||||
> nix build .#k3s_1_29.passthru.tests.{etcd,single-node,multi-node}
|
||||
|
||||
Replace "29" according to the version that you are testing.
|
||||
|
||||
- Read the nix build logs to check for anything unusual. (Obvious but underrated.)
|
||||
|
||||
* Thanks for reading the documentation and your continued contribution.
|
||||
* [Package Versioning Rationale](docs/VERSIONING.md)
|
||||
* [Package Maintenance Documentation](docs/PKG_UPKEEP.md)
|
||||
|
@ -0,0 +1,86 @@
|
||||
|
||||
# K3s Upkeep for Users
|
||||
|
||||
General documentation for the K3s user for cluster tasks and troubleshooting steps.
|
||||
|
||||
## Upkeep
|
||||
|
||||
### Changing K3s Token
|
||||
|
||||
Changing the K3s token requires resetting cluster. To reset the cluster, you must do the following:
|
||||
|
||||
#### Stopping K3s
|
||||
|
||||
Disabling K3s NixOS module won't stop K3s related dependencies, such as containerd or networking. For stopping everything, either run "k3s-killall.sh" script (available on $PATH under `/run/current-system/sw/bin/k3s-killall.sh`) or reboot host.
|
||||
|
||||
### Syncing K3s in multiple hosts
|
||||
|
||||
Nix automatically syncs hosts to `configuration.nix`, for syncing configuration.nix's git repository and triggering `nixos-rebuild switch` in multiple hosts, it is commonly used `ansible`, which enables automation of cluster provisioning, upgrade and reset.
|
||||
|
||||
### Cluster Reset
|
||||
|
||||
As upstream "k3s-uninstall.sh" is yet to be packaged for NixOS, it's necessary to run manual steps for resetting cluster.
|
||||
|
||||
Disable K3s instances in **all** hosts:
|
||||
|
||||
In NixOS configuration, set:
|
||||
```
|
||||
services.k3s.enable = false;
|
||||
```
|
||||
Rebuild NixOS. This is going to remove K3s service files. But it won't delete K3s data.
|
||||
|
||||
To delete K3s files:
|
||||
|
||||
Dismount kubelet:
|
||||
```
|
||||
KUBELET_PATH=$(mount | grep kubelet | cut -d' ' -f3);
|
||||
${KUBELET_PATH:+umount $KUBELET_PATH}
|
||||
```
|
||||
Delete k3s data:
|
||||
```
|
||||
rm -rf /etc/rancher/{k3s,node};
|
||||
rm -rf /var/lib/{rancher/k3s,kubelet,longhorn,etcd,cni}
|
||||
```
|
||||
When using Etcd, Reset Etcd:
|
||||
|
||||
Certify **all** K3s instances are stopped, because a single instance can re-seed etcd database with previous cryptographic key.
|
||||
|
||||
Disable etcd database in NixOS configuration:
|
||||
```
|
||||
services.etcd.enable = false;
|
||||
```
|
||||
Rebuild NixOS.
|
||||
|
||||
Delete etcd files:
|
||||
```
|
||||
rm -rf /var/lib/etcd/
|
||||
```
|
||||
Reboot hosts.
|
||||
|
||||
In NixOS configuration:
|
||||
```
|
||||
Re-enable Etcd first. Rebuild NixOS. Certify service health. (systemctl status etcd)
|
||||
Re-enable K3s second. Rebuild NixOS. Certify service health. (systemctl status k3s)
|
||||
```
|
||||
Etcd & K3s cluster will be provisioned new.
|
||||
|
||||
Tip: Use Ansible to automate reset routine, like this.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Raspberry Pi not working
|
||||
|
||||
If the k3s.service/k3s server does not start and gives you the error FATA[0000] failed to find memory cgroup (v2) Here's the github issue: https://github.com/k3s-io/k3s/issues/2067 .
|
||||
|
||||
To fix the problem, you can add these things to your configuration.nix.
|
||||
```
|
||||
boot.kernelParams = [
|
||||
"cgroup_enable=cpuset" "cgroup_memory=1" "cgroup_enable=memory"
|
||||
];
|
||||
```
|
||||
|
||||
### FailedKillPod: failed to get network "cbr0" cached result
|
||||
|
||||
> KillPodSandboxError: failed to get network "cbr0" cached result: decoding version from network config: unexpected end of JSON input
|
||||
|
||||
Workaround: https://github.com/k3s-io/k3s/issues/6185#issuecomment-1581245331
|
60
pkgs/applications/networking/cluster/k3s/docs/PKG_UPKEEP.md
Normal file
60
pkgs/applications/networking/cluster/k3s/docs/PKG_UPKEEP.md
Normal file
@ -0,0 +1,60 @@
|
||||
|
||||
# K3s Upkeep for Maintainers
|
||||
|
||||
General documentation for the K3s maintainer and reviewer use for consistency in maintenance processes.
|
||||
|
||||
## NixOS Release Maintenance
|
||||
|
||||
This process split into two sections and adheres to the versioning policy outlined in [VERSIONING.md](VERSIONING.md).
|
||||
|
||||
### Pre-Release
|
||||
|
||||
* Prior to the breaking change window of the next release being closed:
|
||||
* `nixos-unstable`: Ensure k3s points to latest versioned release
|
||||
* `nixos-unstable`: Ensure release notes are up to date
|
||||
* `nixos-unstable`: Remove k3s releases which will be end of life upstream prior to end-of-life for the next NixOS stable release are removed with proper deprecation notice (process listed below)
|
||||
|
||||
### Post-Release
|
||||
|
||||
* For major/minor releases of k3s:
|
||||
* `nixos-unstable`: Create a new versioned k3s package
|
||||
* `nixos-unstable`: Update k3s alias to point to new versioned k3s package
|
||||
* `nixos-unstable`: Add NixOS Release note denoting:
|
||||
* Removal of deprecated K3s packages
|
||||
* Migration information from the Kubernetes and K3s projects
|
||||
* `nixos-stable`: Backport the versioned package
|
||||
* For patch releases of existing packages:
|
||||
* `nixos-unstable`: Update package version (process listed below)
|
||||
* `nixos-stable`: Backport package update done to nixos-unstable
|
||||
|
||||
## Patch Upgrade Process
|
||||
|
||||
Patch upgrades can use the [update script](../update-script.sh) in the root of the package. To update k3s 1.30.x, for example, you can run the following from the root of the nixpkgs git repo:
|
||||
|
||||
> ./pkgs/applications/networking/cluster/k3s/update-script.sh "30"
|
||||
|
||||
To update another version, just replace the `"30"` with the appropriate minor revision.
|
||||
|
||||
If the script should fail, the first goal would be to fix the script. If you are unable to fix the script, open an issue reporting the update script failure with the exact command used and the failure observed.
|
||||
|
||||
RyanTM bot can automatically do patch upgrades. Update logs are available at versioned urls, e.g. for 1.30.x: https://r.ryantm.com/log/k3s_1_30
|
||||
|
||||
## Package Removal Process
|
||||
|
||||
Package removal policy and timelines follow our reasoning in the [versioning documentation](VERSIONING.md#patch-release-support-lifecycle). In order to remove a versioned k3s package, create a PR achieving the following:
|
||||
|
||||
* Remove the versioned folder containing the chart and package version files (e.g. `./1_30/`)
|
||||
* Remove the package block from [default.nix](../default.nix) (e.g. `k3s_1_30 = ...`)
|
||||
* Remove the package reference from [pkgs/top-level/all-packages.nix](/pkgs/top-level/all-packages.nix)
|
||||
* Add a deprecation notice in [pkgs/top-level/aliases.nix](/pkgs/top-level/aliases.nix), such as `k3s_1_26 = throw "'k3s_1_26' has been removed from nixpkgs as it has reached end of life"; # Added 2024-05-20`.
|
||||
|
||||
## Change Request Review Process
|
||||
|
||||
Quick checklist for reviewers of the k3s package:
|
||||
|
||||
* Is the version of the Go compiler pinned according to the go.mod file for the release?
|
||||
* Update script will not pin nor change the go version.
|
||||
* Do the K3s passthru.tests work for all architectures supported? (linux-x86_64, aarch64-linux)
|
||||
* For GitHub CI, [OfBorg](https://github.com/NixOS/ofborg) can be used to test all platforms.
|
||||
* For Local testing, the following can be run in nixpkgs root on the upgrade branch: `nix build .#k3s_1_29.passthru.tests.{etcd,single-node,multi-node}` (Replace "29" to the version tested)
|
||||
* Anything unusual in the nix build logs or test logs?
|
57
pkgs/applications/networking/cluster/k3s/docs/USAGE.md
Normal file
57
pkgs/applications/networking/cluster/k3s/docs/USAGE.md
Normal file
@ -0,0 +1,57 @@
|
||||
# K3s Usage
|
||||
|
||||
## Single Node
|
||||
|
||||
```
|
||||
{
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
6443 # k3s: required so that pods can reach the API server (running on port 6443 by default)
|
||||
# 2379 # k3s, etcd clients: required if using a "High Availability Embedded etcd" configuration
|
||||
# 2380 # k3s, etcd peers: required if using a "High Availability Embedded etcd" configuration
|
||||
];
|
||||
networking.firewall.allowedUDPPorts = [
|
||||
# 8472 # k3s, flannel: required if using multi-node for inter-node networking
|
||||
];
|
||||
services.k3s.enable = true;
|
||||
services.k3s.role = "server";
|
||||
services.k3s.extraFlags = toString [
|
||||
# "--kubelet-arg=v=4" # Optionally add additional args to k3s
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
Once the above changes are active, you can access your cluster through `sudo k3s kubectl` (e.g. `sudo k3s kubectl cluster-info`) or by using the generated kubeconfig file in `/etc/rancher/k3s/k3s.yaml`.
|
||||
Multi-node setup
|
||||
|
||||
## Multi-Node
|
||||
|
||||
it is simple to create a cluster of multiple nodes in a highly available setup (all nodes are in the control-plane and are a part of the etcd cluster).
|
||||
|
||||
The first node is configured like this:
|
||||
```
|
||||
{
|
||||
services.k3s = {
|
||||
enable = true;
|
||||
role = "server";
|
||||
token = "<randomized common secret>";
|
||||
clusterInit = true;
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
Any other subsequent nodes can be added with a slightly different config:
|
||||
|
||||
```
|
||||
{
|
||||
services.k3s = {
|
||||
enable = true;
|
||||
role = "server"; # Or "agent" for worker only nodes
|
||||
token = "<randomized common secret>";
|
||||
serverAddr = "https://<ip of first node>:6443";
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
For this to work you need to open the aforementioned API, etcd, and flannel ports in the firewall. Official documentation on what ports need to be opened for specific use cases can be found on [k3s' documentation site](https://docs.k3s.io/installation/requirements#inbound-rules-for-k3s-nodes). Note that it is [recommended](https://etcd.io/docs/v3.3/faq/#why-an-odd-number-of-cluster-members) to use an odd number of nodes in such a cluster.
|
||||
|
||||
Tip: If you run into connectivity issues between nodes for specific applications (e.g. ingress controller), please verify the firewall settings you have enabled (example under [Single Node](#single-node)) against the documentation for that specific application. In the ingress controller example, you may want to open 443 or 80 depending on your use case.
|
46
pkgs/applications/networking/cluster/k3s/docs/VERSIONING.md
Normal file
46
pkgs/applications/networking/cluster/k3s/docs/VERSIONING.md
Normal file
@ -0,0 +1,46 @@
|
||||
# Versioning
|
||||
|
||||
K3s, Kubernetes, and other clustered software has the property of not being able to update atomically. Most software in nixpkgs, like for example bash, can be updated as part of a "nixos-rebuild switch" without having to worry about the old and the new bash interacting in some way.
|
||||
|
||||
K3s/Kubernetes, on the other hand, is typically run across several NixOS machines, and each NixOS machine is updated independently. As such, different versions of the package and NixOS module must maintain compatibility with each other through temporary version skew during updates.
|
||||
|
||||
The upstream Kubernetes project [documents this in their version-skew policy](https://kubernetes.io/releases/version-skew-policy/#supported-component-upgrade-order).
|
||||
|
||||
Within nixpkgs, we strive to maintain a valid "upgrade path" that does not run
|
||||
afoul of the upstream version skew policy.
|
||||
|
||||
## Patch Release Support Lifecycle
|
||||
|
||||
K3s is built on top of K8s and typically provides a similar release cadence and support window (simply by cherry-picking over k8s patches). As such, we assume k3s's support lifecycle is identical to upstream K8s. The upstream K8s release and support lifecycle, including maintenance and end-of-life dates for current releases, is documented [on their suppport site](https://kubernetes.io/releases/patch-releases/#support-period). A more tabular view of the current support timeline can also be found on [endoflife.date](https://endoflife.date/kubernetes).
|
||||
|
||||
In short, a new Kubernetes version is released roughly every 4 months and each release is supported for a little over 1 year.
|
||||
|
||||
## Versioning in nixpkgs
|
||||
|
||||
There are two package types that are maintained within nixpkgs when we are looking at the `nixos-unstable` branch. A standard `k3s` package and versioned releases such as `k3s_1_28`, `k3s_1_29`, and `k3s_1_30`.
|
||||
|
||||
The standard `k3s` package will be updated as new versions of k3s are released upstream. Versioned releases, on the other hand, will follow the path release support lifecycle as detailed in the previous section and be removed from `nixos-unstable` when they are either end-of-life upstream or older than the current `k3s` package in `nixos-stable`.
|
||||
|
||||
## Versioning in NixOS Releases
|
||||
|
||||
Those same package types are also maintained on the release branches of NixOS, but have some special considerations within a release.
|
||||
|
||||
NixOS releases (24.05, 24.11, etc) should avoid having deprecated software or major version upgrades during the support lifecycle of that release wherever possible. As such, each NixOS release should only ever have one version of `k3s` when it is released. An example for the NixOS 24.05 release would be that `k3s` package points to `k3s_1_30` for the full lifecycle of its release with no other versions present at release.
|
||||
|
||||
However, this conflicts with our desire for users to be able to upgrade between stable NixOS releases without needing to make a large enough k3s version jump as to violate the skew policy listed previously. Given NixOS 24.05 has 1.30.x as its k3s version and the NixOS 24.11 release would have 1.32.x as its k3s version, we need to provide a way for users to upgrade k3s to 1.32.x before upgrading to the next NixOS stable release.
|
||||
|
||||
To be able to achieve the goal above, the k3s maintainers would backport `k3s_1_31` and `k3s_1_32` from `nixos-unstable` to NixOS 24.05 as they release. This means that when NixOS 24.11 is released with only the `k3s` package pointing to `k3s_1_32`, users will have an upgrade path on 24.05 to first upgrade locally to `k3s_1_31` and then to `k3s_1_32` (e.g. pointing `services.k3s.package` from `k3s` to `k3s_1_31`, upgrading the cluster, and repeating the process through versions).
|
||||
|
||||
Using the above as the example, a three NixOS release example would look like:
|
||||
|
||||
* NixOS 23.11
|
||||
* k3s/k3s_1_27 (Release Version, patches backported)
|
||||
* k3s_1_28 (Backported)
|
||||
* k3s_1_29 (Backported)
|
||||
* k3s_1_30 (Backported)
|
||||
* NixOS 24.05
|
||||
* k3s/k3s_1_30 (Release Version, patches backported)
|
||||
* k3s_1_31 (Backported)
|
||||
* k3s_1_32 (Backported)
|
||||
* NixOS 24.11
|
||||
* k3s/k3s_1_32 (Release Version, patches backported)
|
@ -0,0 +1,55 @@
|
||||
# Nvidia GPU Support
|
||||
|
||||
To use Nvidia GPU in the cluster the nvidia-container-runtime and runc are needed. To get the two components it suffices to add the following to the configuration
|
||||
|
||||
```
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
enableNvidia = true;
|
||||
};
|
||||
environment.systemPackages = with pkgs; [ docker runc ];
|
||||
```
|
||||
|
||||
Note, using docker here is a workaround, it will install nvidia-container-runtime and that will cause it to be accessible via /run/current-system/sw/bin/nvidia-container-runtime, currently its not directly accessible in nixpkgs.
|
||||
|
||||
You now need to create a new file in `/var/lib/rancher/k3s/agent/etc/containerd/config.toml.tmpl` with the following
|
||||
|
||||
```
|
||||
{{ template "base" . }}
|
||||
|
||||
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia]
|
||||
privileged_without_host_devices = false
|
||||
runtime_engine = ""
|
||||
runtime_root = ""
|
||||
runtime_type = "io.containerd.runc.v2"
|
||||
|
||||
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia.options]
|
||||
BinaryName = "/run/current-system/sw/bin/nvidia-container-runtime"
|
||||
```
|
||||
|
||||
Update: As of 12/03/2024 It appears that the last two lines above are added by default, and if the two lines are present (as shown above) it will refuse to start the server. You will need to remove the two lines from that point onward.
|
||||
|
||||
Note here we are pointing the nvidia runtime to "/run/current-system/sw/bin/nvidia-container-runtime".
|
||||
|
||||
Now apply the following runtime class to k3s cluster:
|
||||
|
||||
```
|
||||
apiVersion: node.k8s.io/v1
|
||||
handler: nvidia
|
||||
kind: RuntimeClass
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: gpu-operator
|
||||
name: nvidia
|
||||
```
|
||||
|
||||
Following [k8s-device-plugin](https://github.com/NVIDIA/k8s-device-plugin#deployment-via-helm) install the helm chart with `runtimeClassName: nvidia` set. In order to passthrough the nvidia card into the container, your deployments spec must contain - runtimeClassName: nvidia - env:
|
||||
|
||||
```
|
||||
- name: NVIDIA_VISIBLE_DEVICES
|
||||
value: all
|
||||
- name: NVIDIA_DRIVER_CAPABILITIES
|
||||
value: all
|
||||
```
|
||||
|
||||
to test its working exec onto a pod and run nvidia-smi. For more configurability of nvidia related matters in k3s look in [k3s-docs](https://docs.k3s.io/advanced#nvidia-container-runtime-support).
|
@ -0,0 +1,122 @@
|
||||
# Storage Examples
|
||||
|
||||
The following are some NixOS specific considerations for specific storage mechanisms with kubernetes/k3s.
|
||||
|
||||
## Longhorn
|
||||
|
||||
NixOS configuration required for Longhorn:
|
||||
|
||||
```
|
||||
environment.systemPackages = [ pkgs.nfs-utils ];
|
||||
services.openiscsi = {
|
||||
enable = true;
|
||||
name = "${config.networking.hostName}-initiatorhost";
|
||||
};
|
||||
```
|
||||
|
||||
Longhorn container has trouble with NixOS path. Solution is to override PATH environment variable, such as:
|
||||
|
||||
```
|
||||
PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin
|
||||
```
|
||||
|
||||
**Kyverno Policy for Fixing Longhorn Container for NixOS**
|
||||
|
||||
```
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: longhorn-nixos-path
|
||||
namespace: longhorn-system
|
||||
data:
|
||||
PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin
|
||||
---
|
||||
apiVersion: kyverno.io/v1
|
||||
kind: ClusterPolicy
|
||||
metadata:
|
||||
name: longhorn-add-nixos-path
|
||||
annotations:
|
||||
policies.kyverno.io/title: Add Environment Variables from ConfigMap
|
||||
policies.kyverno.io/subject: Pod
|
||||
policies.kyverno.io/category: Other
|
||||
policies.kyverno.io/description: >-
|
||||
Longhorn invokes executables on the host system, and needs
|
||||
to be aware of the host systems PATH. This modifies all
|
||||
deployments such that the PATH is explicitly set to support
|
||||
NixOS based systems.
|
||||
spec:
|
||||
rules:
|
||||
- name: add-env-vars
|
||||
match:
|
||||
resources:
|
||||
kinds:
|
||||
- Pod
|
||||
namespaces:
|
||||
- longhorn-system
|
||||
mutate:
|
||||
patchStrategicMerge:
|
||||
spec:
|
||||
initContainers:
|
||||
- (name): "*"
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: longhorn-nixos-path
|
||||
containers:
|
||||
- (name): "*"
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: longhorn-nixos-path
|
||||
---
|
||||
```
|
||||
|
||||
## NFS
|
||||
|
||||
NixOS configuration required for NFS:
|
||||
|
||||
```
|
||||
boot.supportedFilesystems = [ "nfs" ];
|
||||
services.rpcbind.enable = true;
|
||||
```
|
||||
|
||||
## Rook/Ceph
|
||||
|
||||
In order to support Rook/Ceph, the following NixOS kernelModule configuration is required:
|
||||
|
||||
```
|
||||
boot.kernelModules = [ "rbd" ];
|
||||
```
|
||||
|
||||
## ZFS Snapshot Support
|
||||
|
||||
K3s's builtin containerd does not support the zfs snapshotter. However, it is possible to configure it to use an external containerd:
|
||||
|
||||
```
|
||||
virtualisation.containerd = {
|
||||
enable = true;
|
||||
settings =
|
||||
let
|
||||
fullCNIPlugins = pkgs.buildEnv {
|
||||
name = "full-cni";
|
||||
paths = with pkgs;[
|
||||
cni-plugins
|
||||
cni-plugin-flannel
|
||||
];
|
||||
};
|
||||
in {
|
||||
plugins."io.containerd.grpc.v1.cri".cni = {
|
||||
bin_dir = "${fullCNIPlugins}/bin";
|
||||
conf_dir = "/var/lib/rancher/k3s/agent/etc/cni/net.d/";
|
||||
};
|
||||
# Optionally set private registry credentials here instead of using /etc/rancher/k3s/registries.yaml
|
||||
# plugins."io.containerd.grpc.v1.cri".registry.configs."registry.example.com".auth = {
|
||||
# username = "";
|
||||
# password = "";
|
||||
# };
|
||||
};
|
||||
};
|
||||
# TODO describe how to enable zfs snapshotter in containerd
|
||||
services.k3s.extraFlags = toString [
|
||||
"--container-runtime-endpoint unix:///run/containerd/containerd.sock"
|
||||
];
|
||||
```
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "pachyderm";
|
||||
version = "2.10.1";
|
||||
version = "2.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pachyderm";
|
||||
repo = "pachyderm";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ok3TaQ8Vn+dDnlfJ/5n6qFTkYER/jVhFRPAqzGXp1iI=";
|
||||
hash = "sha256-5Q3T4yusnJVHU8QdXxbDuePToGp+hu+GnwqD7TG/0Rw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-AxKhxXZQ2sBvXs9C6b7WkjpNsYl6MSO/C2ttmRRtBGw=";
|
||||
vendorHash = "sha256-NShVyjNyG06cLmt8rd71lFLvkd8KRWQjj6xUCx7NgSk=";
|
||||
|
||||
subPackages = [ "src/server/cmd/pachctl" ];
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, dpkg
|
||||
, makeBinaryWrapper
|
||||
, makeShellWrapper
|
||||
, wrapGAppsHook3
|
||||
, alsa-lib
|
||||
, at-spi2-atk
|
||||
@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook dpkg makeBinaryWrapper wrapGAppsHook3 ];
|
||||
nativeBuildInputs = [ autoPatchelfHook dpkg makeShellWrapper wrapGAppsHook3 ];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
@ -113,8 +113,9 @@ stdenv.mkDerivation rec {
|
||||
cp -R "usr/share" "$out/share"
|
||||
chmod -R g-w "$out"
|
||||
|
||||
# Wrap the startup command
|
||||
makeBinaryWrapper $out/opt/ArmCord/armcord $out/bin/armcord \
|
||||
# use makeShellWrapper (instead of the makeBinaryWrapper provided by wrapGAppsHook3) for proper shell variable expansion
|
||||
# see https://github.com/NixOS/nixpkgs/issues/172583
|
||||
makeShellWrapper $out/opt/ArmCord/armcord $out/bin/armcord \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WebRTCPipeWireCapturer }}" \
|
||||
|
@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "treesheets";
|
||||
version = "0-unstable-2024-05-29";
|
||||
version = "0-unstable-2024-06-05";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aardappel";
|
||||
repo = "treesheets";
|
||||
rev = "23654b9be71b59bbffd156ecedc663bd152d123c";
|
||||
hash = "sha256-ZTLMqDAmyojvET6qp1ziMNQgk2c+45z2UB3yFMhTmUQ=";
|
||||
rev = "1ad0ec1ad235dd00bbd6bfdb27e24f3dcd610da4";
|
||||
hash = "sha256-1Xb4Jdw04E2xTg/93zsGse3Yao8h51kDcJpbvx41yp0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -4,12 +4,12 @@
|
||||
, qttools, qtsvg, qtwayland, pkg-config, which, docbook_xsl, docbook_xml_dtd_43
|
||||
, alsa-lib, curl, libvpx, nettools, dbus, substituteAll, gsoap, zlib, xz
|
||||
, yasm, glslang
|
||||
, linuxPackages
|
||||
, nixosTests
|
||||
# If open-watcom-bin is not passed, VirtualBox will fall back to use
|
||||
# the shipped alternative sources (assembly).
|
||||
, open-watcom-bin
|
||||
, makeself, perl
|
||||
, vulkan-loader
|
||||
, javaBindings ? true, jdk # Almost doesn't affect closure size
|
||||
, pythonBindings ? false, python3
|
||||
, extensionPack ? null, fakeroot
|
||||
@ -32,11 +32,11 @@ let
|
||||
buildType = "release";
|
||||
# Use maintainers/scripts/update.nix to update the version and all related hashes or
|
||||
# change the hashes in extpack.nix and guest-additions/default.nix as well manually.
|
||||
virtualboxVersion = "7.0.14";
|
||||
virtualboxSha256 = "45860d834804a24a163c1bb264a6b1cb802a5bc7ce7e01128072f8d6a4617ca9";
|
||||
virtualboxVersion = "7.0.18";
|
||||
virtualboxSha256 = "d999513533631674a024762668de999411d8197060c51e68c5faf0a2c0eea1a5";
|
||||
|
||||
kvmPatchVersion = "20240502";
|
||||
kvmPatchHash = "sha256-KokIrrAoJutHzPg6e5YAJgDGs+nQoVjapmyn9kG5tV0=";
|
||||
kvmPatchVersion = "20240515";
|
||||
kvmPatchHash = "sha256-Kh/tlPScdf7CbEEpL54iqMpeUIdmnJL2r/mxnlEzLd0=";
|
||||
|
||||
# The KVM build is not compatible to VirtualBox's kernel modules. So don't export
|
||||
# modsrc at all.
|
||||
@ -135,8 +135,6 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
./qt-dependency-paths.patch
|
||||
# https://github.com/NixOS/nixpkgs/issues/123851
|
||||
./fix-audio-driver-loading.patch
|
||||
./libxml-2.12.patch
|
||||
./gcc-13.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
@ -266,7 +264,8 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
# If hardening is disabled, wrap the VirtualBoxVM binary instead of patching
|
||||
# the source code (see postPatch).
|
||||
+ optionalString (!headless && !enableHardening) ''
|
||||
wrapQtApp $out/libexec/virtualbox/VirtualBoxVM
|
||||
wrapQtApp $out/libexec/virtualbox/VirtualBoxVM \
|
||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ vulkan-loader ]}"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -12,7 +12,7 @@ fetchurl rec {
|
||||
# Manually sha256sum the extensionPack file, must be hex!
|
||||
# Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
|
||||
# Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
|
||||
let value = "42cb36fbf439a9ed28c95d2bbc718a0eac902225eb579c884c549af2e94be633";
|
||||
let value = "cab1abad478679fc34a0c5cb4a6d3566edc20e3c54cbed39c8e895d8cfad3ee2";
|
||||
in assert (builtins.stringLength value) == 64; value;
|
||||
|
||||
meta = {
|
||||
|
@ -1,35 +0,0 @@
|
||||
diff --git a/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp b/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp
|
||||
index 8a9d15c0..260ebc5c 100644
|
||||
--- a/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp
|
||||
+++ b/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp
|
||||
@@ -46,6 +46,9 @@
|
||||
#if defined(VBOX_VBGLR3_XFREE86)
|
||||
extern "C" {
|
||||
# define XFree86LOADER
|
||||
+# ifdef RT_GNUC_PREREQ(13,0) /* cmath gets dragged in and the c++/13/cmath header is allergic to -ffreestanding. */
|
||||
+# define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
|
||||
+# endif
|
||||
# include <xf86_ansic.h>
|
||||
# undef size_t
|
||||
}
|
||||
diff --git a/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp b/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp
|
||||
index 2c5e9314..64890169 100644
|
||||
--- a/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp
|
||||
+++ b/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp
|
||||
@@ -1,3 +1,5 @@
|
||||
+#include <cstdint>
|
||||
+
|
||||
#include "util_matrix.h"
|
||||
|
||||
namespace dxvk {
|
||||
diff --git a/src/libs/dxvk-native-1.9.2a/src/util/util_vector.h b/src/libs/dxvk-native-1.9.2a/src/util/util_vector.h
|
||||
index 77cdf294..9dcb4bf9 100644
|
||||
--- a/src/libs/dxvk-native-1.9.2a/src/util/util_vector.h
|
||||
+++ b/src/libs/dxvk-native-1.9.2a/src/util/util_vector.h
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
+#include <cstdint>
|
||||
#include <iostream>
|
||||
|
||||
#include "util_bit.h"
|
@ -5,7 +5,7 @@ let
|
||||
in
|
||||
fetchurl {
|
||||
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
|
||||
sha256 = "0efbcb9bf4722cb19292ae00eba29587432e918d3b1f70905deb70f7cf78e8ce";
|
||||
sha256 = "4469bab0f59c62312b0a1b67dcf9c07a8a971afad339fa2c3eb80e209e099ef9";
|
||||
meta = {
|
||||
description = "Guest additions ISO for VirtualBox";
|
||||
longDescription = ''
|
||||
|
@ -10,11 +10,11 @@ let
|
||||
|
||||
in stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "VirtualBox-GuestAdditions-builder-${kernel.version}";
|
||||
version = "7.0.14";
|
||||
version = "7.0.18";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.virtualbox.org/virtualbox/${finalAttrs.version}/VirtualBox-${finalAttrs.version}.tar.bz2";
|
||||
sha256 = "45860d834804a24a163c1bb264a6b1cb802a5bc7ce7e01128072f8d6a4617ca9";
|
||||
sha256 = "d999513533631674a024762668de999411d8197060c51e68c5faf0a2c0eea1a5";
|
||||
};
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration";
|
||||
@ -37,13 +37,9 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
patches = [
|
||||
../gcc-13.patch
|
||||
# https://www.virtualbox.org/changeset/100258/vbox
|
||||
#../gcc-13.patch
|
||||
## https://www.virtualbox.org/changeset/100258/vbox
|
||||
./no-legacy-xorg.patch
|
||||
# https://www.virtualbox.org/changeset/102989/vbox
|
||||
./strlcpy-1.patch
|
||||
# https://www.virtualbox.org/changeset/102990/vbox
|
||||
./strlcpy-2.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -1,29 +0,0 @@
|
||||
# https://www.virtualbox.org/changeset/102989/vbox
|
||||
--- a/include/iprt/string.h
|
||||
+++ b/include/iprt/string.h
|
||||
@@ -244,4 +244,26 @@
|
||||
#else /* !RT_OS_LINUX && !__KERNEL__ */
|
||||
# define RT_BCOPY_UNFORTIFIED(a_pDst, a_pSrc, a_cbToCopy) memcpy((a_pDst), (a_pSrc), (a_cbToCopy))
|
||||
+#endif /* !RT_OS_LINUX && !__KERNEL__ */
|
||||
+
|
||||
+/** @def RT_STRSCPY
|
||||
+ * Copy string and NULL-terminate output buffer.
|
||||
+ *
|
||||
+ * This macro should mostly be used in Linux kernel code. This is
|
||||
+ * the replacement for deprecated strlcpy. It was deprecated since 3.16.60
|
||||
+ * when strscpy was introduced as an alternative. Finally, strlcpy was
|
||||
+ * completely removed from kernel code in 6.8.0.
|
||||
+ *
|
||||
+ * @param a_pDst Pointer to the destination string buffer.
|
||||
+ * @param a_pSrc Pointer to the source NULL-terminated string buffer.
|
||||
+ * @param a_cbToCopy Size of destination buffer..
|
||||
+ */
|
||||
+#if defined(RT_OS_LINUX) && defined(__KERNEL__)
|
||||
+# if (RTLNX_VER_MIN(3,16,60))
|
||||
+# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy) strscpy((a_pDst), (a_pSrc), (a_cbToCopy))
|
||||
+# else /* < 3.16.60 */
|
||||
+# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy) strlcpy((a_pDst), (a_pSrc), (a_cbToCopy))
|
||||
+# endif
|
||||
+#else /* !RT_OS_LINUX && !__KERNEL__ */
|
||||
+# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy) strscpy((a_pDst), (a_pSrc), (a_cbToCopy))
|
||||
#endif /* !RT_OS_LINUX && !__KERNEL__ */
|
@ -1,86 +0,0 @@
|
||||
# https://www.virtualbox.org/changeset/102990/vbox
|
||||
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
|
||||
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
|
||||
@@ -1411,5 +1411,5 @@
|
||||
}
|
||||
else if (pParam->name[0] != 'd')
|
||||
- strlcpy(&g_szLogGrp[0], pszValue, sizeof(g_szLogGrp));
|
||||
+ RT_STRSCPY(&g_szLogGrp[0], pszValue, sizeof(g_szLogGrp));
|
||||
|
||||
return 0;
|
||||
@@ -1437,5 +1437,5 @@
|
||||
}
|
||||
else if (pParam->name[0] != 'd')
|
||||
- strlcpy(&g_szLogFlags[0], pszValue, sizeof(g_szLogFlags));
|
||||
+ RT_STRSCPY(&g_szLogFlags[0], pszValue, sizeof(g_szLogFlags));
|
||||
return 0;
|
||||
}
|
||||
@@ -1462,5 +1462,5 @@
|
||||
}
|
||||
else if (pParam->name[0] != 'd')
|
||||
- strlcpy(&g_szLogDst[0], pszValue, sizeof(g_szLogDst));
|
||||
+ RT_STRSCPY(&g_szLogDst[0], pszValue, sizeof(g_szLogDst));
|
||||
return 0;
|
||||
}
|
||||
|
||||
# https://www.virtualbox.org/changeset/102990/vbox
|
||||
--- a/src/VBox/Additions/linux/drm/vbox_drv.h
|
||||
+++ b/src/VBox/Additions/linux/drm/vbox_drv.h
|
||||
@@ -539,7 +539,5 @@
|
||||
void vbox_irq_fini(struct vbox_private *vbox);
|
||||
void vbox_report_hotplug(struct vbox_private *vbox);
|
||||
-#if RTLNX_VER_MAX(5,15,0) && !RTLNX_RHEL_MAJ_PREREQ(9,1) && !RTLNX_SUSE_MAJ_PREREQ(15,5)
|
||||
irqreturn_t vbox_irq_handler(int irq, void *arg);
|
||||
-#endif
|
||||
|
||||
/* vbox_hgsmi.c */
|
||||
|
||||
# https://www.virtualbox.org/changeset/102990/vbox
|
||||
--- a/src/VBox/Additions/linux/sharedfolders/regops.c
|
||||
+++ b/src/VBox/Additions/linux/sharedfolders/regops.c
|
||||
@@ -3506,5 +3506,5 @@
|
||||
|
||||
/** file_operations::mmap wrapper for logging purposes. */
|
||||
-extern int vbsf_reg_mmap(struct file *file, struct vm_area_struct *vma)
|
||||
+static int vbsf_reg_mmap(struct file *file, struct vm_area_struct *vma)
|
||||
{
|
||||
int rc;
|
||||
@@ -3787,5 +3787,5 @@
|
||||
|
||||
# if RTLNX_VER_MIN(5,19,0) || RTLNX_RHEL_RANGE(9,3, 9,99)
|
||||
-int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
|
||||
+static int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
|
||||
unsigned len, struct page **pagep, void **fsdata)
|
||||
{
|
||||
@@ -3794,5 +3794,5 @@
|
||||
}
|
||||
# else
|
||||
-int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
|
||||
+static int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
|
||||
unsigned len, unsigned flags, struct page **pagep, void **fsdata)
|
||||
{
|
||||
|
||||
# https://www.virtualbox.org/changeset/102990/vbox
|
||||
--- a/src/VBox/Additions/linux/sharedfolders/vfsmod.c
|
||||
+++ b/src/VBox/Additions/linux/sharedfolders/vfsmod.c
|
||||
@@ -1409,5 +1409,5 @@
|
||||
case Opt_iocharset:
|
||||
case Opt_nls:
|
||||
- strlcpy(info->nls_name, param->string, sizeof(info->nls_name));
|
||||
+ RT_STRSCPY(info->nls_name, param->string, sizeof(info->nls_name));
|
||||
break;
|
||||
case Opt_uid:
|
||||
@@ -1470,5 +1470,5 @@
|
||||
break;
|
||||
case Opt_tag:
|
||||
- strlcpy(info->szTag, param->string, sizeof(info->szTag));
|
||||
+ RT_STRSCPY(info->szTag, param->string, sizeof(info->szTag));
|
||||
break;
|
||||
default:
|
||||
@@ -1529,5 +1529,5 @@
|
||||
|
||||
/* fc->source (the shared folder name) is set after vbsf_init_fs_ctx() */
|
||||
- strlcpy(info->name, fc->source, sizeof(info->name));
|
||||
+ RT_STRSCPY(info->name, fc->source, sizeof(info->name));
|
||||
|
||||
# if RTLNX_VER_MAX(5,3,0)
|
@ -1,47 +0,0 @@
|
||||
diff --git a/include/iprt/cpp/xml.h b/include/iprt/cpp/xml.h
|
||||
index 40975e86..7639c281 100644
|
||||
--- a/include/iprt/cpp/xml.h
|
||||
+++ b/include/iprt/cpp/xml.h
|
||||
@@ -113,9 +113,9 @@ public:
|
||||
class RT_DECL_CLASS XmlError : public RuntimeError
|
||||
{
|
||||
public:
|
||||
- XmlError(xmlErrorPtr aErr);
|
||||
+ XmlError(const xmlError *aErr);
|
||||
|
||||
- static char* Format(xmlErrorPtr aErr);
|
||||
+ static char* Format(const xmlError *aErr);
|
||||
};
|
||||
|
||||
// Logical errors
|
||||
diff --git a/src/VBox/Runtime/r3/xml.cpp b/src/VBox/Runtime/r3/xml.cpp
|
||||
index a6661760..b301a6c6 100644
|
||||
--- a/src/VBox/Runtime/r3/xml.cpp
|
||||
+++ b/src/VBox/Runtime/r3/xml.cpp
|
||||
@@ -131,7 +131,7 @@ LogicError::LogicError(RT_SRC_POS_DECL)
|
||||
RTStrFree(msg);
|
||||
}
|
||||
|
||||
-XmlError::XmlError(xmlErrorPtr aErr)
|
||||
+XmlError::XmlError(const xmlError *aErr)
|
||||
{
|
||||
if (!aErr)
|
||||
throw EInvalidArg(RT_SRC_POS);
|
||||
@@ -145,7 +145,7 @@ XmlError::XmlError(xmlErrorPtr aErr)
|
||||
* Composes a single message for the given error. The caller must free the
|
||||
* returned string using RTStrFree() when no more necessary.
|
||||
*/
|
||||
-/* static */ char *XmlError::Format(xmlErrorPtr aErr)
|
||||
+/* static */ char *XmlError::Format(const xmlError *aErr)
|
||||
{
|
||||
const char *msg = aErr->message ? aErr->message : "<none>";
|
||||
size_t msgLen = strlen(msg);
|
||||
@@ -1856,7 +1856,7 @@ static void xmlParserBaseGenericError(void *pCtx, const char *pszMsg, ...) RT_NO
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
-static void xmlParserBaseStructuredError(void *pCtx, xmlErrorPtr error) RT_NOTHROW_DEF
|
||||
+static void xmlParserBaseStructuredError(void *pCtx, const xmlError *error) RT_NOTHROW_DEF
|
||||
{
|
||||
NOREF(pCtx);
|
||||
/* we expect that there is always a trailing NL */
|
@ -12,16 +12,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "centerpiece";
|
||||
version = "1.0.0";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "friedow";
|
||||
repo = "centerpiece";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-I630XrmyRAjVxFvISo2eIUP3YmivZovnV89Xsx5OduY=";
|
||||
hash = "sha256-1sKUGTBS9aTCQPuhkwv9fZ8F3N6yn98927fpp1e4fBU=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-yvvMe1zBUREqRzp/0zYsu7AoXS9Jqq67DY5uMParhEs=";
|
||||
cargoHash = "sha256-b7gI6Z5fiOA/Q2BbsmmGrKHgMzbICKPeK2i6YjlLnDo=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [
|
||||
|
@ -27,7 +27,7 @@ let
|
||||
pieBuild = stdenv.hostPlatform.isMusl;
|
||||
in buildGoModule rec {
|
||||
pname = "frankenphp";
|
||||
version = "1.1.5";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dunglas";
|
||||
@ -54,7 +54,7 @@ in buildGoModule rec {
|
||||
"-s"
|
||||
"-w"
|
||||
"-X 'github.com/caddyserver/caddy/v2.CustomVersion=FrankenPHP ${version} PHP ${phpUnwrapped.version} Caddy'"
|
||||
# pie mode is only available with pkgsMusl, it also automaticaly add -buildmode=pie to $GOFLAGS
|
||||
# pie mode is only available with pkgsMusl, it also automatically add -buildmode=pie to $GOFLAGS
|
||||
] ++ (lib.optional pieBuild [ "-static-pie" ]);
|
||||
|
||||
preBuild = ''
|
||||
@ -96,13 +96,13 @@ in buildGoModule rec {
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
changelog = "https://github.com/dunglas/frankenphp/releases/tag/v${version}";
|
||||
description = "The modern PHP app server";
|
||||
homepage = "https://github.com/dunglas/frankenphp";
|
||||
license = licenses.mit;
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "frankenphp";
|
||||
maintainers = with maintainers; [ gaelreyrol shyim ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with lib.maintainers; [ gaelreyrol shyim ];
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
};
|
||||
}
|
||||
|
44
pkgs/by-name/go/gol/package.nix
Normal file
44
pkgs/by-name/go/gol/package.nix
Normal file
@ -0,0 +1,44 @@
|
||||
{ lib, maven, fetchFromGitHub, makeWrapper, jre }:
|
||||
|
||||
maven.buildMavenPackage rec {
|
||||
pname = "gol";
|
||||
version = "0.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "clarisma";
|
||||
repo = "gol-tool";
|
||||
rev = version;
|
||||
hash = "sha256-F/tMRD+nWn/fRPX7cTan371zlOTxh7oR98wREmokULo=";
|
||||
};
|
||||
|
||||
mvnHash = "sha256-b0nkp23gv4kejac/xrvm3xWo3Z8if7zveNUHBg7ZBm4=";
|
||||
mvnParameters = "compile assembly:single -Dmaven.test.skip=true";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{bin,lib}
|
||||
cp /build/source/target/gol-tool-${version}-jar-with-dependencies.jar $out/lib/gol-tool.jar
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/gol \
|
||||
--add-flags "-cp $out/lib/gol-tool.jar" \
|
||||
--add-flags "com.geodesk.gol.GolTool"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Command-line utility for creating and managing Geographic Object Libraries";
|
||||
longDescription = ''
|
||||
Use the GOL command-line utility to:
|
||||
- build and maintain Geographic Object Libraries (GeoDesk's compact database format for OpenStreetMap features)
|
||||
- perform GOQL queries and export the results in a variety of formats.
|
||||
'';
|
||||
homepage = "https://docs.geodesk.com/gol";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = [ maintainers.starsep ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
fetchurl,
|
||||
autoPatchelfHook,
|
||||
dpkg,
|
||||
makeBinaryWrapper,
|
||||
makeShellWrapper,
|
||||
wrapGAppsHook3,
|
||||
alsa-lib,
|
||||
at-spi2-atk,
|
||||
@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
dpkg
|
||||
makeBinaryWrapper
|
||||
makeShellWrapper
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
@ -120,8 +120,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
cp -R "usr/share" "$out/share"
|
||||
chmod -R g-w "$out"
|
||||
|
||||
# Wrap the startup command
|
||||
makeBinaryWrapper $out/opt/GoofCord/goofcord $out/bin/goofcord \
|
||||
# use makeShellWrapper (instead of the makeBinaryWrapper provided by wrapGAppsHook3) for proper shell variable expansion
|
||||
# see https://github.com/NixOS/nixpkgs/issues/172583
|
||||
makeShellWrapper $out/opt/GoofCord/goofcord $out/bin/goofcord \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=UseOzonePlatform,WaylandWindowDecorations,WebRTCPipeWireCapturer}}" \
|
||||
|
64
pkgs/by-name/ke/keypunch/package.nix
Normal file
64
pkgs/by-name/ke/keypunch/package.nix
Normal file
@ -0,0 +1,64 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
cargo,
|
||||
rustc,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
appstream,
|
||||
blueprint-compiler,
|
||||
desktop-file-utils,
|
||||
gettext,
|
||||
wrapGAppsHook4,
|
||||
libadwaita,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "keypunch";
|
||||
version = "1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bragefuglseth";
|
||||
repo = "keypunch";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-S4RckHwrVVQrxy9QngTisNM4+cMM+1dXucwEDnM98Rg=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
name = "${finalAttrs.pname}-${finalAttrs.version}";
|
||||
inherit (finalAttrs) src;
|
||||
hash = "sha256-YzENAGy7zEu1dyuhme+x+gJQlE74Vw0JZvRso0vNQXs=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
rustPlatform.cargoSetupHook
|
||||
cargo
|
||||
rustc
|
||||
|
||||
meson
|
||||
ninja
|
||||
|
||||
pkg-config
|
||||
appstream
|
||||
blueprint-compiler
|
||||
desktop-file-utils
|
||||
gettext
|
||||
|
||||
wrapGAppsHook4
|
||||
];
|
||||
|
||||
buildInputs = [ libadwaita ];
|
||||
|
||||
meta = {
|
||||
description = "Practice your typing skills";
|
||||
homepage = "https://github.com/bragefuglseth/keypunch";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
mainProgram = "keypunch";
|
||||
maintainers = with lib.maintainers; [ tomasajt ];
|
||||
};
|
||||
})
|
@ -1,5 +1,6 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildPackages
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, pkg-config
|
||||
@ -12,19 +13,19 @@
|
||||
, withUsb ? stdenv.isLinux, libusb1
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "knxd";
|
||||
version = "0.14.61";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "knxd";
|
||||
repo = "knxd";
|
||||
rev = version;
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-b8svjGaxW8YqonhXewebDUitezKoMcZxcUFGd2EKZQ4=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i '2i echo ${version}; exit' tools/version.sh
|
||||
sed -i '2i echo ${finalAttrs.version}; exit' tools/version.sh
|
||||
sed -i '2i exit' tools/get_libfmt
|
||||
'';
|
||||
|
||||
@ -35,8 +36,12 @@ stdenv.mkDerivation rec {
|
||||
++ lib.optional withUsb libusb1
|
||||
++ lib.optional stdenv.isDarwin argp-standalone;
|
||||
|
||||
configureFlags = lib.optional (!withSystemd) "--disable-systemd"
|
||||
++ lib.optional (!withUsb) "--disable-usb";
|
||||
configureFlags = [
|
||||
(lib.enableFeature withSystemd "systemd")
|
||||
(lib.enableFeature withUsb "usb")
|
||||
];
|
||||
|
||||
depsBuildBuild = [ buildPackages.stdenv.cc ];
|
||||
|
||||
installFlags = lib.optionals withSystemd [
|
||||
"systemdsystemunitdir=$(out)/lib/systemd/system"
|
||||
@ -50,5 +55,4 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with maintainers; [ sikmir ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
})
|
38
pkgs/by-name/la/latexminted/package.nix
Normal file
38
pkgs/by-name/la/latexminted/package.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{ lib
|
||||
, fetchPypi
|
||||
, python3Packages
|
||||
, latexminted
|
||||
, testers
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "latexminted";
|
||||
version = "0.1.0b2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-Yl/2zvNMYuYkwR5tDZ0vhBLO964GBUx1DeyLK/Q3T5c=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
pygments
|
||||
latex2pydata
|
||||
];
|
||||
|
||||
passthru = {
|
||||
tests.version = testers.testVersion { package = latexminted; };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Python executable for LaTeX minted package";
|
||||
homepage = "https://pypi.org/project/latexminted";
|
||||
license = lib.licenses.lppl13c;
|
||||
mainProgram = "latexminted";
|
||||
maintainers = with lib.maintainers; [ romildo ];
|
||||
};
|
||||
}
|
@ -9,16 +9,16 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mini-calc";
|
||||
version = "3.1.0";
|
||||
version = "3.2.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coco33920";
|
||||
repo = "calc";
|
||||
rev = version;
|
||||
hash = "sha256-wROeUi1j5oEUpr7nRge6bRUO0E8W2E34M7DeyK0xmjM=";
|
||||
hash = "sha256-f2xmc6wzZ5MwwBDYQNoxbFmIclZWd/xOOI4/MCmrnEI=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-QPkaSJNoxnheECwcK129+PNeRm6+DFOw1wmwBev6oXc=";
|
||||
cargoHash = "sha256-OiAU94URgOHZ/iNbCF5rE55zfZNkW3bdjPZo05kpIRo=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
postFixup = ''
|
||||
|
@ -9,16 +9,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "myks";
|
||||
version = "4.1.2";
|
||||
version = "4.1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mykso";
|
||||
repo = "myks";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ZRbirNhTEGqr6OCE0K873NJ5vI2Phe5z9XJGZUALISo=";
|
||||
hash = "sha256-keXtMO5EhCaG5lNoCf5vmnhidH4+sDQ2na4f76jELnw=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-u9dNmgFMn6OMkKgTwNSqizUHJwvRk+S1xKZDozWjbps=";
|
||||
vendorHash = "sha256-0Xk7B0rfngld9tfgMmq2EiuUym7LE89TvJVSdDo4HD4=";
|
||||
|
||||
subPackages = ".";
|
||||
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "namespace-cli";
|
||||
version = "0.0.373";
|
||||
version = "0.0.374";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "namespacelabs";
|
||||
repo = "foundation";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-EkwR0s9mj5JUCmGDZZXX+UcL9f/TFoWPEH5L0DsMgNs=";
|
||||
hash = "sha256-ZHvFp27yobFGqitsyKYHaxUMdpngFkufyeiNK4foioI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-72cHswoTZszo42NOrPNuokDlqoJ3/YEhGe+rQSKvgAw=";
|
||||
|
11
pkgs/by-name/ne/needle/nix/default.nix
Normal file
11
pkgs/by-name/ne/needle/nix/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
# This file was generated by swiftpm2nix.
|
||||
{
|
||||
workspaceStateFile = ./workspace-state.json;
|
||||
hashes = {
|
||||
"swift-common" = "1zqdiwz934kpdlig22ikvmklhb720hv3i70wnznhhxfg2v4c115j";
|
||||
"swift-concurrency" = "06x9fc8gwyvg5ymf889rfqs3jp89l1pbpm3m9553nq75vwcia6d3";
|
||||
"swift-syntax" = "0sc29acwxv6rl3i8nwfazk0p0cm41figxls8n4aks84vww7m2in1";
|
||||
"swift-system" = "0402hkx2q2dv27gccnn8ma79ngvwiwzkhcv4zlcdldmy6cgi0px7";
|
||||
"swift-tools-support-core" = "0lbc3naj9hrbaa7ifxsvcs4mjigmiv61npzsphbpb6axx8s065mn";
|
||||
};
|
||||
}
|
93
pkgs/by-name/ne/needle/nix/workspace-state.json
Normal file
93
pkgs/by-name/ne/needle/nix/workspace-state.json
Normal file
@ -0,0 +1,93 @@
|
||||
{
|
||||
"object": {
|
||||
"artifacts": [],
|
||||
"dependencies": [
|
||||
{
|
||||
"basedOn": null,
|
||||
"packageRef": {
|
||||
"identity": "swift-common",
|
||||
"kind": "remoteSourceControl",
|
||||
"location": "https://github.com/uber/swift-common.git",
|
||||
"name": "Swift-Common"
|
||||
},
|
||||
"state": {
|
||||
"checkoutState": {
|
||||
"revision": "32c4757e0702686df12c32e06b9bbf815ec4e641",
|
||||
"version": "0.5.0"
|
||||
},
|
||||
"name": "sourceControlCheckout"
|
||||
},
|
||||
"subpath": "swift-common"
|
||||
},
|
||||
{
|
||||
"basedOn": null,
|
||||
"packageRef": {
|
||||
"identity": "swift-concurrency",
|
||||
"kind": "remoteSourceControl",
|
||||
"location": "https://github.com/uber/swift-concurrency.git",
|
||||
"name": "Concurrency"
|
||||
},
|
||||
"state": {
|
||||
"checkoutState": {
|
||||
"revision": "e29e42c41c47c82ec32d3a2b2695719c32415ca9",
|
||||
"version": "0.7.1"
|
||||
},
|
||||
"name": "sourceControlCheckout"
|
||||
},
|
||||
"subpath": "swift-concurrency"
|
||||
},
|
||||
{
|
||||
"basedOn": null,
|
||||
"packageRef": {
|
||||
"identity": "swift-syntax",
|
||||
"kind": "remoteSourceControl",
|
||||
"location": "https://github.com/apple/swift-syntax.git",
|
||||
"name": "SwiftSyntax"
|
||||
},
|
||||
"state": {
|
||||
"checkoutState": {
|
||||
"branch": "0e85cf7",
|
||||
"revision": "0e85cf739b10103190a2d7e6de0c0532a0514981"
|
||||
},
|
||||
"name": "sourceControlCheckout"
|
||||
},
|
||||
"subpath": "swift-syntax"
|
||||
},
|
||||
{
|
||||
"basedOn": null,
|
||||
"packageRef": {
|
||||
"identity": "swift-system",
|
||||
"kind": "remoteSourceControl",
|
||||
"location": "https://github.com/apple/swift-system.git",
|
||||
"name": "swift-system"
|
||||
},
|
||||
"state": {
|
||||
"checkoutState": {
|
||||
"revision": "836bc4557b74fe6d2660218d56e3ce96aff76574",
|
||||
"version": "1.1.1"
|
||||
},
|
||||
"name": "sourceControlCheckout"
|
||||
},
|
||||
"subpath": "swift-system"
|
||||
},
|
||||
{
|
||||
"basedOn": null,
|
||||
"packageRef": {
|
||||
"identity": "swift-tools-support-core",
|
||||
"kind": "remoteSourceControl",
|
||||
"location": "https://github.com/apple/swift-tools-support-core",
|
||||
"name": "swift-tools-support-core"
|
||||
},
|
||||
"state": {
|
||||
"checkoutState": {
|
||||
"revision": "4f07be3dc201f6e2ee85b6942d0c220a16926811",
|
||||
"version": "0.2.7"
|
||||
},
|
||||
"name": "sourceControlCheckout"
|
||||
},
|
||||
"subpath": "swift-tools-support-core"
|
||||
}
|
||||
]
|
||||
},
|
||||
"version": 6
|
||||
}
|
49
pkgs/by-name/ne/needle/package.nix
Normal file
49
pkgs/by-name/ne/needle/package.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
swift,
|
||||
swiftpm,
|
||||
swiftpm2nix,
|
||||
sqlite,
|
||||
}:
|
||||
let
|
||||
generated = swiftpm2nix.helpers ./nix;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "needle";
|
||||
version = "0.24.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "uber";
|
||||
repo = "needle";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-vQlUcfIj+LHZ3R+XwSr9bBIjcZUWkW2k/wI6HF+sDPo=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/Generator";
|
||||
|
||||
nativeBuildInputs = [
|
||||
swift
|
||||
swiftpm
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ sqlite ];
|
||||
|
||||
configurePhase = generated.configure;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm755 "$(swiftpmBinPath)"/needle $out/bin/needle
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Compile-time safe Swift dependency injection framework";
|
||||
homepage = "https://github.com/uber/needle";
|
||||
license = licenses.asl20;
|
||||
mainProgram = "needle";
|
||||
maintainers = with maintainers; [ matteopacini ];
|
||||
platforms = platforms.darwin;
|
||||
};
|
||||
}
|
@ -7,19 +7,19 @@
|
||||
}:
|
||||
let
|
||||
pname = "open-webui";
|
||||
version = "0.2.4";
|
||||
version = "0.2.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "open-webui";
|
||||
repo = "open-webui";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-jWO0mo26C+QTIX5j3ucDk/no+vQnAh7Q6JwB3lLM83k=";
|
||||
hash = "sha256-BqclBrkFmTUJZuUySyNsQFlfdyENaIhqjn50797zJHY=";
|
||||
};
|
||||
|
||||
frontend = buildNpmPackage {
|
||||
inherit pname version src;
|
||||
|
||||
npmDepsHash = "sha256-QIgYHZusuq2QD8p8MGsNVhCbz6fR+qP9UuU/kbBkadc=";
|
||||
npmDepsHash = "sha256-drMUcCUeyPEnaa1fSsfHJfInenyfH7NNJgBFeRsfOuE=";
|
||||
|
||||
# Disabling `pyodide:fetch` as it downloads packages during `buildPhase`
|
||||
# Until this is solved, running python packages from the browser will not work.
|
||||
@ -45,7 +45,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
pyproject = true;
|
||||
|
||||
# The custom hook tries to run `npm install` in `buildPhase`.
|
||||
# We don't have to worry, as nodejs depedencies are managed by `frontend` drv.
|
||||
# We don't have to worry, as node dependencies are managed by `frontend` drv.
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail '[tool.hatch.build.hooks.custom]' "" \
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
let
|
||||
pname = "openfga-cli";
|
||||
version = "0.4.0";
|
||||
version = "0.4.1";
|
||||
in
|
||||
|
||||
buildGoModule {
|
||||
@ -17,10 +17,10 @@ buildGoModule {
|
||||
owner = "openfga";
|
||||
repo = "cli";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-nwzUBzu8c8kuSTbjwOB1mCFMLF1zoUReXofXeBOAO1U=";
|
||||
hash = "sha256-Eex2Bts0A6Lu5M626idVK3lqVCX+2WosD8YrQP4DuC8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-3fElvsy248lRwmIKWv8ac6BLJ1y5Qyr+kKh/1vprmvo=";
|
||||
vendorHash = "sha256-cr9Y72ilUZxAjOIopx7VmZVtE8TxJhxdKSJIj6NawRI=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
@ -4,28 +4,31 @@
|
||||
, fetchFromGitea
|
||||
, pkg-config
|
||||
, pcsclite
|
||||
, nettle
|
||||
, PCSC
|
||||
, testers
|
||||
, openpgp-card-tools
|
||||
, darwin
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "openpgp-card-tools";
|
||||
version = "0.10.1";
|
||||
version = "0.11.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "openpgp-card";
|
||||
repo = "openpgp-card-tools";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-fasu2XElGk6TB2VNFg43rpa3ZafgGZga9WojyUiXj0k=";
|
||||
hash = "sha256-GKBli6ybMDqB105POFEocU2X/xvd56V87k6Y6BsNt18=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-7OauQRG8DhIoANfel45QBm3igGjmtNw9KNAwt1TL5xg=";
|
||||
cargoHash = "sha256-mLZErQhgRWDMdDC5tWjG9NCvLaSdF4A3uCdN8+QMWjU=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ];
|
||||
buildInputs = [ pcsclite nettle ] ++ lib.optionals stdenv.isDarwin [ PCSC ];
|
||||
|
||||
buildInputs = [ pcsclite ] ++ lib.optionals stdenv.isDarwin [
|
||||
darwin.apple_sdk.frameworks.PCSC
|
||||
darwin.apple_sdk.frameworks.Security
|
||||
];
|
||||
|
||||
passthru = {
|
||||
tests.version = testers.testVersion {
|
@ -6,14 +6,14 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication {
|
||||
pname = "renode-dts2repl";
|
||||
version = "0-unstable-2024-05-31";
|
||||
version = "0-unstable-2024-06-03";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "antmicro";
|
||||
repo = "dts2repl";
|
||||
rev = "fadea1fb13d562e52de95d3f2724c4110bb258d0";
|
||||
hash = "sha256-Jbog3YgaoTUEdb1G9eS9SAhlbQRITS2jSsp0yeTHdnI=";
|
||||
rev = "f3a5ca54a6642c7e8e539bc5e62e676a4c6aa2a1";
|
||||
hash = "sha256-fi/ihHXCFFNhEPO9EcdxTmNun96TbvXUup3V5lbxN0g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
82
pkgs/by-name/re/rewind-ai/package.nix
Normal file
82
pkgs/by-name/re/rewind-ai/package.nix
Normal file
@ -0,0 +1,82 @@
|
||||
{
|
||||
lib,
|
||||
stdenvNoCC,
|
||||
fetchzip,
|
||||
writeShellApplication,
|
||||
curl,
|
||||
gawk,
|
||||
xmlstarlet,
|
||||
common-updater-scripts,
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "rewind-ai";
|
||||
# Example version with explanation
|
||||
# 1.5284 (Base version)
|
||||
# 15284.1 (build number)
|
||||
# dcd0176 (commit hash)
|
||||
# 20240504 (pub date)
|
||||
version = "1.5284-15284.1-dcd0176-20240504";
|
||||
|
||||
src = fetchzip {
|
||||
url =
|
||||
let
|
||||
buildNumber = lib.elemAt (lib.splitString "-" finalAttrs.version) 1;
|
||||
commitHash = lib.elemAt (lib.splitString "-" finalAttrs.version) 2;
|
||||
in
|
||||
"https://updates.rewind.ai/builds/main/b${buildNumber}-main-${commitHash}.zip";
|
||||
hash = "sha256-Y7iAYHH/msZoXFzAZHJb6YoDz5fwMPHJx1kg7TqP5Gw=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p "$out/Applications/Rewind.app"
|
||||
cp -R . "$out/Applications/Rewind.app"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# Example response to use when modifing the script: https://pastebin.com/raw/90qU3n6H
|
||||
# There is a real harsh limit on update checks, so DO NOT send any unnecessary update checks
|
||||
# Wait at least 3 days since the last pub_date (you will find the date at the end of the version number)
|
||||
# Example: 20240504 would be 2024/05/04, and that would mean that we want to check no earlier than on 2024/05/07 for any updates
|
||||
passthru.updateScript = lib.getExe (writeShellApplication {
|
||||
name = "${finalAttrs.pname}-update-script";
|
||||
runtimeInputs = [
|
||||
curl
|
||||
gawk
|
||||
xmlstarlet
|
||||
common-updater-scripts
|
||||
];
|
||||
text = ''
|
||||
xml_get () {
|
||||
echo "$update_xml" | xmlstarlet sel -t -v "$1"
|
||||
}
|
||||
|
||||
update_url="https://updates.rewind.ai/appcasts/main.xml"
|
||||
|
||||
update_xml=$(curl -s "$update_url")
|
||||
|
||||
version_base=$(xml_get "/rss/channel/item/sparkle:shortVersionString")
|
||||
url=$(xml_get "/rss/channel/item/enclosure/@url")
|
||||
pub_date=$(xml_get "/rss/channel/item/pubDate")
|
||||
commit_id=$(echo "$url" | awk -F '-|\\.' '{ print $(NF - 1) }')
|
||||
build_number=$(xml_get "/rss/channel/item/sparkle:version")
|
||||
formatted_pub_date=$(date -d "$pub_date" +"%Y%m%d")
|
||||
|
||||
full_version="''${version_base}-''${build_number}-''${commit_id}-''${formatted_pub_date}"
|
||||
update-source-version "rewind-ai" "$full_version" --version-key=version --file=./pkgs/by-name/re/rewind-ai/package.nix --print-changes
|
||||
'';
|
||||
});
|
||||
|
||||
meta = {
|
||||
changelog = "https://www.rewind.ai/changelog";
|
||||
description = "Rewind is a personalized AI powered by everything you've seen, said, or heard";
|
||||
homepage = "https://www.rewind.ai/";
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = with lib.maintainers; [ donteatoreo ];
|
||||
platforms = [ "aarch64-darwin" ];
|
||||
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
})
|
@ -8,18 +8,18 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "wttrbar";
|
||||
version = "0.10.1";
|
||||
version = "0.10.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bjesus";
|
||||
repo = "wttrbar";
|
||||
rev = version;
|
||||
hash = "sha256-rUiLB0M/dzNxzBPAqlGy5m/gOTGYw4GRzb+ud0l/1+8=";
|
||||
hash = "sha256-lwlfarnu2PC5toAf6FAefnpxDlzzwphrP+zXRQ2DQeQ=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ Security SystemConfiguration ]);
|
||||
|
||||
cargoHash = "sha256-v415OJ6dmWSLUDeFUtd27mBaQlB3x1vC37sjpMhKyYY=";
|
||||
cargoHash = "sha256-H3UpBRf97JsHudq6naZxMnpIzda0v7teDjgDdgluul0=";
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
let
|
||||
themeName = "Dracula";
|
||||
version = "4.0.0-unstable-2024-05-18";
|
||||
version = "4.0.0-unstable-2024-06-03";
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "dracula-theme";
|
||||
@ -11,8 +11,8 @@ stdenvNoCC.mkDerivation {
|
||||
src = fetchFromGitHub {
|
||||
owner = "dracula";
|
||||
repo = "gtk";
|
||||
rev = "9261309c75b49c0917b4787912f6218b8deba70d";
|
||||
hash = "sha256-4vTc/OK36rHXVJ1FLrMLcMsVNMPFYLPJ/fHYScDBGVI=";
|
||||
rev = "48bdcc5e37c90d74e7e2139412a89209cc05a672";
|
||||
hash = "sha256-KkKmiLENEiZSe56TRP8zMiGt6i9uaFCLJ+ajap0asZc=";
|
||||
};
|
||||
|
||||
propagatedUserEnvPkgs = [
|
||||
|
@ -11,6 +11,7 @@
|
||||
, ncurses
|
||||
, openssl
|
||||
, perl
|
||||
, runtimeShell
|
||||
, autoconf
|
||||
, openjdk11 ? null # javacSupport
|
||||
, unixODBC ? null # odbcSupport
|
||||
@ -115,6 +116,9 @@ stdenv.mkDerivation ({
|
||||
patchShebangs make
|
||||
|
||||
${postPatch}
|
||||
'' + optionalString (lib.versionOlder "25" version) ''
|
||||
substituteInPlace lib/os_mon/src/disksup.erl \
|
||||
--replace-fail '"sh ' '"${runtimeShell} '
|
||||
'';
|
||||
|
||||
# For OTP 27+ we need ex_doc to build the documentation
|
||||
|
@ -2,36 +2,24 @@
|
||||
, addOpenGLRunpath
|
||||
, cmake
|
||||
, fetchFromGitHub
|
||||
, fmt_9
|
||||
, intel-compute-runtime
|
||||
, openvino
|
||||
, spdlog
|
||||
, stdenv
|
||||
, substituteAll
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "level-zero";
|
||||
version = "1.17.2";
|
||||
version = "1.17.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oneapi-src";
|
||||
repo = "level-zero";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-ha/xpp+scLau+cTIyixwo8TgAJrb2DVboGDPWibxb08=";
|
||||
hash = "sha256-vtijha0nXHEp5oLnmdtbD80Qa2dgMykZXhQ2yfbk+mY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = ./system-spdlog.diff;
|
||||
spdlog = lib.getDev spdlog;
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake addOpenGLRunpath ];
|
||||
|
||||
buildInputs = [ fmt_9 ];
|
||||
|
||||
postFixup = ''
|
||||
addOpenGLRunpath $out/lib/libze_loader.so
|
||||
'';
|
||||
|
@ -1,66 +0,0 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 5e4af80..a54eecb 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1,6 +1,9 @@
|
||||
# Copyright (C) 2020-2024 Intel Corporation
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
+add_compile_definitions(SPDLOG_FMT_EXTERNAL)
|
||||
+add_compile_definitions(FMT_HEADER_ONLY)
|
||||
+
|
||||
cmake_minimum_required(VERSION 3.2.0 FATAL_ERROR)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
@@ -58,7 +60,7 @@ elseif(Git_FOUND)
|
||||
endif()
|
||||
|
||||
include(FetchContent)
|
||||
-set(SPDLOG_ROOT "${FETCHCONTENT_BASE_DIR}/spdlog-src")
|
||||
+set(SPDLOG_ROOT "@spdlog@")
|
||||
|
||||
# Update other relevant variables to include the patch
|
||||
set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
|
||||
diff --git a/source/utils/CMakeLists.txt b/source/utils/CMakeLists.txt
|
||||
index cb6cfb1..599338a 100644
|
||||
--- a/source/utils/CMakeLists.txt
|
||||
+++ b/source/utils/CMakeLists.txt
|
||||
@@ -1,16 +1,6 @@
|
||||
# Copyright (C) 2024 Intel Corporation
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
-include(FetchContent)
|
||||
-set(SPDLOG_REPO https://github.com/gabime/spdlog)
|
||||
-set(SPDLOG_TAG v1.13.0)
|
||||
-FetchContent_Declare(
|
||||
- spdlog
|
||||
- GIT_REPOSITORY ${SPDLOG_REPO}
|
||||
- GIT_TAG ${SPDLOG_TAG}
|
||||
-)
|
||||
-FetchContent_makeAvailable(spdlog)
|
||||
-
|
||||
add_library(utils
|
||||
STATIC
|
||||
"logging.h"
|
||||
@@ -19,5 +9,5 @@ add_library(utils
|
||||
|
||||
target_include_directories(utils
|
||||
PUBLIC
|
||||
- ${FETCHCONTENT_BASE_DIR}/spdlog-src/include
|
||||
+ @spdlog@/include
|
||||
)
|
||||
diff --git a/source/utils/logging.h b/source/utils/logging.h
|
||||
index 4aad451..c8c4cc3 100644
|
||||
--- a/source/utils/logging.h
|
||||
+++ b/source/utils/logging.h
|
||||
@@ -16,8 +16,8 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
-#include "spdlog/sinks/basic_file_sink.h"
|
||||
-#include "spdlog/spdlog.h"
|
||||
+#include <spdlog/sinks/basic_file_sink.h>
|
||||
+#include <spdlog/spdlog.h>
|
||||
|
||||
namespace loader {
|
||||
|
@ -48,6 +48,8 @@
|
||||
, lcms2
|
||||
, libmanette
|
||||
, geoclue2
|
||||
, flite
|
||||
, openssl
|
||||
, sqlite
|
||||
, gst-plugins-base
|
||||
, gst-plugins-bad
|
||||
@ -62,6 +64,7 @@
|
||||
, unifdef
|
||||
, addOpenGLRunpath
|
||||
, enableGeoLocation ? true
|
||||
, enableExperimental ? false
|
||||
, withLibsecret ? true
|
||||
, systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd
|
||||
, testers
|
||||
@ -165,6 +168,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
systemd
|
||||
] ++ lib.optionals enableGeoLocation [
|
||||
geoclue2
|
||||
] ++ lib.optionals enableExperimental [
|
||||
flite
|
||||
openssl
|
||||
] ++ lib.optionals withLibsecret [
|
||||
libsecret
|
||||
] ++ lib.optionals (lib.versionAtLeast gtk3.version "4.0") [
|
||||
@ -184,6 +190,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"-DUSE_LIBHYPHEN=OFF"
|
||||
"-DUSE_SOUP2=${cmakeBool (lib.versions.major libsoup.version == "2")}"
|
||||
"-DUSE_LIBSECRET=${cmakeBool withLibsecret}"
|
||||
"-DENABLE_EXPERIMENTAL_FEATURES=${cmakeBool enableExperimental}"
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
# Have to be explicitly specified when cross.
|
||||
# https://github.com/WebKit/WebKit/commit/a84036c6d1d66d723f217a4c29eee76f2039a353
|
||||
|
@ -274,8 +274,8 @@ let
|
||||
inherit (first) pkg program flags faslExt asdf;
|
||||
# See dontUnpack in build-asdf-system
|
||||
src = null;
|
||||
pname = first.pkg.pname;
|
||||
version = "with-packages";
|
||||
pname = "with";
|
||||
version = "packages";
|
||||
lispLibs = packages clpkgs;
|
||||
systems = [];
|
||||
}).overrideAttrs(o: {
|
||||
|
@ -16,7 +16,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiomysensors";
|
||||
version = "0.3.15";
|
||||
version = "0.3.16";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -25,7 +25,7 @@ buildPythonPackage rec {
|
||||
owner = "MartinHjelmare";
|
||||
repo = "aiomysensors";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-kgfz8VUTtOFN1hPkNJhPdRUKQn01BJn+92Ez6lgVGbc=";
|
||||
hash = "sha256-1BpmjCgKiCZmBpBENlg79+I3UhkIxrgLAUD8ixpGUM8=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiosql";
|
||||
version = "10.1";
|
||||
version = "10.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -28,7 +28,7 @@ buildPythonPackage rec {
|
||||
owner = "nackjicholson";
|
||||
repo = "aiosql";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-KlDwvoU0GYCN+ZCp4pp557qf9ChceS4NeA0Yiq+g3YQ=";
|
||||
hash = "sha256-o88pKxvK7fT+ocemiY58yA6fTmgg8+QsztHU3OvcDAo=";
|
||||
};
|
||||
|
||||
sphinxRoot = "docs/source";
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "apkinspector";
|
||||
version = "1.2.3";
|
||||
version = "1.2.4";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
owner = "erev0s";
|
||||
repo = "apkInspector";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-n6uVyN5XBEM/nuN7mvhNRwMUgUT5abOsh3CbhKK6ifY=";
|
||||
hash = "sha256-WVqaRWOLo8/Xav+AtaxE3EKR9lZe+Z+ep/K88FGbASg=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
@ -13,14 +13,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "awscrt";
|
||||
version = "0.20.10";
|
||||
version = "0.20.11";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-vGmN6MU61KLqsWRrkhlqWE6tFwplxltZyIOFWt6lly8=";
|
||||
hash = "sha256-w9v7fxkJRXlS5kU3PnK2n5DFDEZe5qRtm73BKst5gDw=";
|
||||
};
|
||||
|
||||
buildInputs = lib.optionals stdenv.isDarwin [
|
||||
|
@ -366,7 +366,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "boto3-stubs";
|
||||
version = "1.34.119";
|
||||
version = "1.34.120";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -374,7 +374,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "boto3_stubs";
|
||||
inherit version;
|
||||
hash = "sha256-b5k7bElanMQDyqLqbwYfM4iqWpAYo1u+frbpQ7NMVqA=";
|
||||
hash = "sha256-GXkBOFjyXhrti7Xmn60xedVnB1Fsfw9Sr5OYDQCIhWc=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "botocore-stubs";
|
||||
version = "1.34.94";
|
||||
version = "1.34.120";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "botocore_stubs";
|
||||
inherit version;
|
||||
hash = "sha256-ZNgKNGfjsZk56cJ1CvMzKLMIf49SSZjb337RaCJ/UH0=";
|
||||
hash = "sha256-oeSSAAEsb7/0eyK6cURO+fQ1P+ErEa8bBjCHsIEe508=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bring-api";
|
||||
version = "0.7.1";
|
||||
version = "0.7.2";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "miaucl";
|
||||
repo = "bring-api";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-ca6VNC1AG+BAzEhH+N3cwXL9pIBwAX6qLWMpgkEjn98=";
|
||||
hash = "sha256-941IAVlLwfHCyqUu0AhdIfBjuT3pZpk98ZUssBVjEUA=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bthome-ble";
|
||||
version = "3.9.0";
|
||||
version = "3.9.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "Bluetooth-Devices";
|
||||
repo = "bthome-ble";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-umRPB0eUdFL4kIvqSfbw/Jzh7NZMY6WR4dK+1cyK3EI=";
|
||||
hash = "sha256-v3SzzbdWRJISuF1THHlrvci4b+H1Zw/0e5iSEB0Scvw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "clarifai-grpc";
|
||||
version = "10.3.4";
|
||||
version = "10.5.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
||||
owner = "Clarifai";
|
||||
repo = "clarifai-python-grpc";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-1Yx00g2Cd9/41DZYK5cRwcFQv2qD6B4cl4cpVZ6slTA=";
|
||||
hash = "sha256-n4Wzg8G5i/4hh7IMyThTPfPqcVhNiPB8E6ucq2gSajo=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "fastcore";
|
||||
version = "1.5.43";
|
||||
version = "1.5.44";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "fastai";
|
||||
repo = "fastcore";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-81U5LEhReoNLtPqDe9WyX5BPc0H88cYUcx3kI7ssjr8=";
|
||||
hash = "sha256-78PFSLqPmFgdKKYHGID7pHczCXvfFeyBG1vbZSoq7ts=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -11,14 +11,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "gocardless-pro";
|
||||
version = "1.51.0";
|
||||
version = "1.52.0";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gocardless";
|
||||
repo = "gocardless-pro-python";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-4pyVcyEa8iex7ngTibxWYu4HeW+6V5OASkxqjHIOe2Y=";
|
||||
hash = "sha256-Oi68s4x/rS8ahvJ9TsniYfDidCxtvcvsMwYhJirYlP0=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -19,14 +19,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "heudiconv";
|
||||
version = "1.1.3";
|
||||
version = "1.1.6";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-ktw/XrvA5G+DunjEB8LeQuQnjs6zQOKsZ+RGpzDZ5DQ=";
|
||||
hash = "sha256-hCHG5zpoEx4w7Jq842RWwMtsn5NskPq/Wahp4neOun4=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "itemloaders";
|
||||
version = "1.2.0";
|
||||
version = "1.3.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -22,7 +22,7 @@ buildPythonPackage rec {
|
||||
owner = "scrapy";
|
||||
repo = "itemloaders";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-DatHJnAIomVoN/GrDzM2fNnFHcXqo6zs3ucKCOCf9DU=";
|
||||
hash = "sha256-u0/WsvLn2YlYd/FuH26T9qEGRGscipnOQbV9uPv4F+M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools ];
|
||||
|
@ -7,14 +7,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ixia";
|
||||
version = "1.3.1";
|
||||
version = "1.3.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "trag1c";
|
||||
repo = "ixia";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-JGTwctzswItAJsKZzVVl+B2fZnCWpMmq9TnNgYY2Kng=";
|
||||
hash = "sha256-lsov5AIT5uRf9nmS8ZsFmInKUFAxUATTbpfhV1fabhA=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "mdformat-mkdocs";
|
||||
version = "2.0.11";
|
||||
version = "2.1.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -24,7 +24,7 @@ buildPythonPackage rec {
|
||||
owner = "KyleKing";
|
||||
repo = "mdformat-mkdocs";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-wx95Lsqgi7fM/1s6fSHxXOs396mIR9S9yCRebC2VFpI=";
|
||||
hash = "sha256-vJdkPNUW7d+H6hEgsAV7L0dV09+mq0Nvzih8aKoU8F8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ flit-core ];
|
||||
|
@ -120,6 +120,7 @@ buildPythonPackage rec {
|
||||
];
|
||||
|
||||
passthru.tests = {
|
||||
# Failing typing checks on the test-driver result in channel blockers.
|
||||
inherit (nixosTests) nixos-test-driver;
|
||||
};
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ollama";
|
||||
version = "0.2.0";
|
||||
version = "0.2.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "ollama";
|
||||
repo = "ollama-python";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-kfotKUUXBekUd0X32BYAjNWvQJO94bdEDCSrBg2yJRQ=";
|
||||
hash = "sha256-+1qhmz5WehbtjE+Dh/WTsqpiAmTjJg+tBjvYRQYkYy0=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "panel";
|
||||
version = "1.4.3";
|
||||
version = "1.4.4";
|
||||
|
||||
format = "wheel";
|
||||
|
||||
@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||
# tries to fetch even more artifacts
|
||||
src = fetchPypi {
|
||||
inherit pname version format;
|
||||
hash = "sha256-iIBQ9UEcmO6q3bS2faFK7tY4mPVaoIWS7bMzKLzkfWw=";
|
||||
hash = "sha256-tJu5Z2VnsMBzC/aTSMBXJHCAgRrsVjZN1Pz7qA5eCaA=";
|
||||
dist = "py3";
|
||||
python = "py3";
|
||||
};
|
||||
|
@ -15,14 +15,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "rotary-embedding-torch";
|
||||
version = "0.6.1";
|
||||
version = "0.6.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lucidrains";
|
||||
repo = "rotary-embedding-torch";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-/gVBQ9lUzVN/eEtm6qPajw0TZs87JOC7d02qnQ8sdVk=";
|
||||
hash = "sha256-AR/zQFH0uvPrCp61XLiRBiAO3ZnD4jVaDXN00hXDlnI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "tencentcloud-sdk-python";
|
||||
version = "3.0.1162";
|
||||
version = "3.0.1163";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -19,7 +19,7 @@ buildPythonPackage rec {
|
||||
owner = "TencentCloud";
|
||||
repo = "tencentcloud-sdk-python";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-bWO/GO1atnOzfjaUhTt/1zU5lywVyOKceK7nNHJHmXs=";
|
||||
hash = "sha256-b+b9z+UK0juhQW55mwTTY/j73Aio7N2aTYHEcwvX5RE=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "teslajsonpy";
|
||||
version = "3.11.0";
|
||||
version = "3.12.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -27,7 +27,7 @@ buildPythonPackage rec {
|
||||
owner = "zabuldon";
|
||||
repo = "teslajsonpy";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-Hb/O4kdmJVN6yGhg/FQ6i0qUrtEuD1dZooJ6pbZ+qig=";
|
||||
hash = "sha256-oIuIE5N/cHCEP3azMrwNiknP4q3rDxg4BiFQiJqcFkc=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "types-awscrt";
|
||||
version = "0.20.9";
|
||||
version = "0.20.11";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
@ -16,7 +16,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "types_awscrt";
|
||||
inherit version;
|
||||
hash = "sha256-ZImKL0okaPZiM8uMKcX2bekHz4C6HvW7E1mu8vgbtSE=";
|
||||
hash = "sha256-rVzp+1EUFEMDJvGaUT4j07xxQ8EM2+HNrrIiKtVnaY8=";
|
||||
};
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
@ -9,12 +9,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "types-requests";
|
||||
version = "2.32.0.20240523";
|
||||
version = "2.32.0.20240602";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-Jrim3jLZ9WEZK5lCtBwKstgBDfVnfKiqFGKJ0R1QX1c=";
|
||||
hash = "sha256-P5jXu9DdlOvRD/Q6f74gw7hSisrObY76/vC2oYR5PwY=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -8,13 +8,13 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "fortls";
|
||||
version = "3.1.0";
|
||||
version = "3.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fortran-lang";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-4iOE9OkqSu7enEMx4aAaGZ0KDKCT1377Su728JncIso=";
|
||||
hash = "sha256-7imZLSE7USFXmv/V3olE698J8Q8a7cJt15nBKkPZJoU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ setuptools-scm ];
|
||||
|
@ -1,17 +1,17 @@
|
||||
{ lib, buildGoModule, fetchFromGitHub, testers, flyctl, installShellFiles, gitUpdater }:
|
||||
{ lib, buildGoModule, fetchFromGitHub, testers, flyctl, installShellFiles }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "flyctl";
|
||||
version = "0.2.58";
|
||||
version = "0.2.65";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "superfly";
|
||||
repo = "flyctl";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-aXiBDPl/x/xeu+fNrxs+JejVtSZu8KZKbrSetJj4/Pk=";
|
||||
hash = "sha256-TB0Y3QgoGM5RlKWBKg2XKuFQJz0mw6sqWuDn1z93+6g=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-NmogEh3xWQ/opMm9UarpfuH3MJzJ9+qb0KX/O+i/pcA=";
|
||||
vendorHash = "sha256-dQDkW1fSXn6c2bImnAyvb3WpdARe3EZdPkPkLZHMKzY=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
@ -53,14 +53,6 @@ buildGoModule rec {
|
||||
ln -s $out/bin/flyctl $out/bin/fly
|
||||
'';
|
||||
|
||||
# Upstream tags every PR merged with release tags like
|
||||
# v2024.5.20-pr3545.4. We ignore all revisions containing a '-'
|
||||
# to skip these releases.
|
||||
passthru.updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
ignoredVersions = "-";
|
||||
};
|
||||
|
||||
passthru.tests.version = testers.testVersion {
|
||||
package = flyctl;
|
||||
command = "HOME=$(mktemp -d) flyctl version";
|
||||
|
@ -30,6 +30,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/dm-vdo/kvdo";
|
||||
description = "A pair of kernel modules which provide pools of deduplicated and/or compressed block storage";
|
||||
platforms = platforms.linux;
|
||||
broken = kernel.kernelOlder "5.15";
|
||||
broken = kernel.kernelOlder "5.17";
|
||||
};
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "buildkite-agent-metrics";
|
||||
version = "5.9.5";
|
||||
version = "5.9.6";
|
||||
|
||||
outputs = [ "out" "lambda" ];
|
||||
|
||||
@ -12,7 +12,7 @@ buildGoModule rec {
|
||||
owner = "buildkite";
|
||||
repo = "buildkite-agent-metrics";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-oNUNSy8VzyOteNge/ZIoln+GGa/xWl6MNmU/Ke/nlBk=";
|
||||
hash = "sha256-OrdU640gC14Y4SMtZZtW2Yz82JRwoQRtjY1KCL+vyEc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-i2+nefRE4BD93rG842oZj0/coamYVRMPxEHio80bdWk=";
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gh-dash";
|
||||
version = "4.0.0";
|
||||
version = "4.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dlvhdr";
|
||||
repo = "gh-dash";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-mF7n4nrsKyp46U4jar+ioUKwpaETiDt4Ol/5DZrjvCs=";
|
||||
hash = "sha256-crMlld0Lrfy/MPjQd071azRpvdII8aC2nbSRxBxYu+U=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-jCf9FWAhZK5hTzyy8N4r5dfUYTgESmsn8iKxCccgWiM=";
|
||||
vendorHash = "sha256-JOd2czYWVgE1jBfeuoVRp+oE/asyk50o5Pf021jD5mY=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "nomino";
|
||||
version = "1.3.4";
|
||||
version = "1.3.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "yaa110";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-jV1GqwQURRFPGuFXPhtgbBJHOdroQk6KHMI5yHa0Z64=";
|
||||
hash = "sha256-qznue5C/6Y+54/gV1lLgJPCezW0zF2Fe2ZlMvU57+Q0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-QluOfU8TO5422lVXswjiQb2YleWiq5twwYzpBJsBs2Y=";
|
||||
cargoHash = "sha256-28QXDhpcrW1flnU5WesAdbJSMrZAhIuFv2LSJHTk74Y=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Batch rename utility for developers";
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "checkip";
|
||||
version = "0.46.2";
|
||||
version = "0.46.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jreisinger";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-5GOVn95gaiRPoQvfeBG+zxSISwgMk0L2vexcQtPC/dw=";
|
||||
hash = "sha256-7AeoshQBEEZnikAINF+Bv0CBHq347x2K+tdO/tjVco4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-awqaDEdWILm8RcQ8hrtJFMTJQA5TzGZhiBTMfexmtA0=";
|
||||
|
@ -9,7 +9,7 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "sequoia-sqop";
|
||||
version = "0.33.0";
|
||||
version = "0.34.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "sequoia-pgp";
|
||||
@ -17,10 +17,10 @@ rustPlatform.buildRustPackage rec {
|
||||
# generated etc
|
||||
repo = "sequoia-sop";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-5XK5Cec6ojrpIncAtlp9jYr9KxmNYJKPhbsJraA0FA0=";
|
||||
hash = "sha256-RpXMF0Q5Dp0zDt1gPl2Z3RKyDa4NI0uZY7kIc230F48=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-8ujQyG9qLuG8vjHoRtvpn4ka/Ft39u+NoxSZrD9NsfY=";
|
||||
cargoHash = "sha256-ccEnZPFUYU5F1PqkX1u7K2xuWYShhzJwEOfBEbi53gg=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
@ -5623,8 +5623,6 @@ with pkgs;
|
||||
|
||||
klog = qt5.callPackage ../applications/radio/klog { };
|
||||
|
||||
knxd = callPackage ../servers/knxd { };
|
||||
|
||||
komga = callPackage ../servers/komga { };
|
||||
|
||||
komorebi = callPackage ../applications/graphics/komorebi { };
|
||||
@ -23666,10 +23664,6 @@ with pkgs;
|
||||
|
||||
openpa = callPackage ../development/libraries/openpa { };
|
||||
|
||||
openpgp-card-tools = callPackage ../tools/security/openpgp-card-tools {
|
||||
inherit (darwin.apple_sdk.frameworks) PCSC;
|
||||
};
|
||||
|
||||
opensaml-cpp = callPackage ../development/libraries/opensaml-cpp { };
|
||||
|
||||
openscenegraph = callPackage ../development/libraries/openscenegraph {
|
||||
|
Loading…
Reference in New Issue
Block a user