Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-08-26 18:04:09 +00:00 committed by GitHub
commit 75c9ed99be
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
59 changed files with 1260 additions and 729 deletions

View File

@ -154,6 +154,9 @@ bdfde18037f8d9f9b641a4016c8ada4dc4cbf856
# nixos/ollama: format with nixfmt-rfc-style (#329561) # nixos/ollama: format with nixfmt-rfc-style (#329561)
246d1ee533810ac1946d863bbd9de9b525818d56 246d1ee533810ac1946d863bbd9de9b525818d56
# steam: cleanup (#216972)
ad815aebfbfe1415ff6436521d545029c803c3fb
# nixos/nvidia: apply nixfmt-rfc-style (#313440) # nixos/nvidia: apply nixfmt-rfc-style (#313440)
fbdcdde04a7caa007e825a8b822c75fab9adb2d6 fbdcdde04a7caa007e825a8b822c75fab9adb2d6

View File

@ -201,8 +201,9 @@ rec {
target = "zImage"; target = "zImage";
}; };
gcc = { gcc = {
arch = "armv6"; # https://en.wikipedia.org/wiki/Raspberry_Pi#Specifications
fpu = "vfp"; arch = "armv6kz";
fpu = "vfpv2";
}; };
}; };

View File

@ -6807,6 +6807,12 @@
name = "Sebastian Neubauer"; name = "Sebastian Neubauer";
keys = [ { fingerprint = "2F93 661D AC17 EA98 A104 F780 ECC7 55EE 583C 1672"; } ]; keys = [ { fingerprint = "2F93 661D AC17 EA98 A104 F780 ECC7 55EE 583C 1672"; } ];
}; };
Flameopathic = {
email = "flameopathic@gmail.com";
github = "Flameopathic";
githubId = 64027365;
name = "Erin Pletches";
};
flandweber = { flandweber = {
email = "finn@landweber.xyz"; email = "finn@landweber.xyz";
github = "flandweber"; github = "flandweber";

View File

@ -17,6 +17,7 @@ let
mkdir -p $out/bin mkdir -p $out/bin
makeWrapper ${cfg.package}/bin/gamescope $out/bin/gamescope --inherit-argv0 \ makeWrapper ${cfg.package}/bin/gamescope $out/bin/gamescope --inherit-argv0 \
${builtins.toString wrapperArgs} ${builtins.toString wrapperArgs}
ln -s ${cfg.package}/bin/gamescopectl $out/bin/gamescopectl
''; '';
in in
{ {

View File

@ -181,7 +181,7 @@ in {
"nixpkgs=${cfg.channel}/nixexprs.tar.xz" "nixpkgs=${cfg.channel}/nixexprs.tar.xz"
] ]
else else
[ "--flake ${cfg.flake}" ]); [ "--refresh" "--flake ${cfg.flake}" ]);
systemd.services.nixos-upgrade = { systemd.services.nixos-upgrade = {
description = "NixOS Upgrade"; description = "NixOS Upgrade";

View File

@ -2357,6 +2357,22 @@ let
}; };
}; };
huytd.nord-light = buildVscodeMarketplaceExtension {
mktplcRef = {
name = "nord-light";
publisher = "huytd";
version = "0.1.1";
hash = "sha256-q2GG3j5j3CLGF02J7/plywKLkhUmm2Gn3MiSVmiZ+48=";
};
meta = {
description = "Light theme for VSCode based on the Nord color palette";
license = lib.licenses.mit;
downloadPage = "https://marketplace.visualstudio.com/items?itemName=huytd.nord-light";
homepage = "https://github.com/huytd/vscode-nord-light";
maintainers = [ lib.maintainers.Flameopathic ];
};
};
ibm.output-colorizer = buildVscodeMarketplaceExtension { ibm.output-colorizer = buildVscodeMarketplaceExtension {
mktplcRef = { mktplcRef = {
name = "output-colorizer"; name = "output-colorizer";

View File

@ -1,71 +1,86 @@
{ stdenv {
, lib stdenv,
, fetchFromGitHub lib,
, buildMozillaMach fetchFromGitHub,
, nixosTests fetchpatch,
, python311 buildMozillaMach,
nixosTests,
python311,
}: }:
((buildMozillaMach rec { (
pname = "floorp"; (buildMozillaMach rec {
packageVersion = "11.17.5"; pname = "floorp";
applicationName = "Floorp"; packageVersion = "11.17.7";
binaryName = "floorp"; applicationName = "Floorp";
branding = "browser/branding/official"; binaryName = "floorp";
requireSigning = false; branding = "browser/branding/official";
allowAddonSideload = true; requireSigning = false;
allowAddonSideload = true;
# Must match the contents of `browser/config/version.txt` in the source tree # Must match the contents of `browser/config/version.txt` in the source tree
version = "128.1.0"; version = "128.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Floorp-Projects"; owner = "Floorp-Projects";
repo = "Floorp"; repo = "Floorp";
fetchSubmodules = true; fetchSubmodules = true;
rev = "v${packageVersion}"; rev = "v${packageVersion}";
hash = "sha256-8uONEMQI801c9txDa1ZmHQE8xQCViAJbTkxtgYRmUDE="; hash = "sha256-IAzPt696AWBEyfxR5U5/Isd6urPoi3fHshT+Fl+o/Bg=";
}; };
extraConfigureFlags = [ extraConfigureFlags = [
"--with-app-name=${pname}" "--with-app-name=${pname}"
"--with-app-basename=${applicationName}" "--with-app-basename=${applicationName}"
"--with-unsigned-addon-scopes=app,system" "--with-unsigned-addon-scopes=app,system"
"--enable-proxy-bypass-protection" "--enable-proxy-bypass-protection"
]; ];
extraPostPatch = '' extraPostPatch = ''
# Fix .desktop files for PWAs generated by Floorp # Fix .desktop files for PWAs generated by Floorp
# The executable path returned by Services.dirsvc.get() is absolute and # The executable path returned by Services.dirsvc.get() is absolute and
# thus is the full /nix/store/[..] path. To avoid breaking PWAs with each # thus is the full /nix/store/[..] path. To avoid breaking PWAs with each
# update, rely on `floorp` being in $PATH, as before. # update, rely on `floorp` being in $PATH, as before.
substituteInPlace floorp/browser/base/content/modules/ssb/LinuxSupport.mjs \ substituteInPlace floorp/browser/base/content/modules/ssb/LinuxSupport.mjs \
--replace-fail 'Services.dirsvc.get("XREExeF",Ci.nsIFile).path' '"floorp"' --replace-fail 'Services.dirsvc.get("XREExeF",Ci.nsIFile).path' '"floorp"'
''; '';
updateScript = ./update.sh; updateScript = ./update.sh;
meta = { meta = {
description = "Fork of Firefox, focused on keeping the Open, Private and Sustainable Web alive, built in Japan"; description = "Fork of Firefox, focused on keeping the Open, Private and Sustainable Web alive, built in Japan";
homepage = "https://floorp.app/"; homepage = "https://floorp.app/";
maintainers = with lib.maintainers; [ christoph-heiss ]; maintainers = with lib.maintainers; [ christoph-heiss ];
platforms = lib.platforms.unix; platforms = lib.platforms.unix;
badPlatforms = lib.platforms.darwin; badPlatforms = lib.platforms.darwin;
broken = stdenv.buildPlatform.is32bit; # since Firefox 60, build on 32-bit platforms fails with "out of memory". broken = stdenv.buildPlatform.is32bit;
# not in `badPlatforms` because cross-compilation on 64-bit machine might work. # since Firefox 60, build on 32-bit platforms fails with "out of memory".
maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115) # not in `badPlatforms` because cross-compilation on 64-bit machine might work.
license = lib.licenses.mpl20; maxSilent = 14400; # 4h, double the default of 7200s (c.f. #129212, #129115)
mainProgram = "floorp"; license = lib.licenses.mpl20;
}; mainProgram = "floorp";
tests = [ nixosTests.floorp ]; };
}).override { tests = [ nixosTests.floorp ];
# Upstream build configuration can be found at }).override
# .github/workflows/src/linux/shared/mozconfig_linux_base {
privacySupport = true; # Upstream build configuration can be found at
webrtcSupport = true; # .github/workflows/src/linux/shared/mozconfig_linux_base
enableOfficialBranding = false; privacySupport = true;
googleAPISupport = true; webrtcSupport = true;
mlsAPISupport = true; enableOfficialBranding = false;
}).overrideAttrs (prev: { googleAPISupport = true;
MOZ_DATA_REPORTING = ""; mlsAPISupport = true;
MOZ_TELEMETRY_REPORTING = ""; }
}) ).overrideAttrs
(prev: {
MOZ_DATA_REPORTING = "";
MOZ_TELEMETRY_REPORTING = "";
# Upstream already includes some of the bugfix patches that are applied by
# `buildMozillaMach`. Pick out only the relevant ones for Floorp and override
# the list here.
patches = [
../firefox/env_var_for_system_dir-ff111.patch
../firefox/no-buildconfig-ffx121.patch
];
})

View File

@ -2,30 +2,30 @@
let let
versions = versions =
if stdenv.isLinux then { if stdenv.isLinux then {
stable = "0.0.64"; stable = "0.0.65";
ptb = "0.0.98"; ptb = "0.0.101";
canary = "0.0.465"; canary = "0.0.475";
development = "0.0.24"; development = "0.0.24";
} else { } else {
stable = "0.0.313"; stable = "0.0.316";
ptb = "0.0.127"; ptb = "0.0.130";
canary = "0.0.574"; canary = "0.0.583";
development = "0.0.45"; development = "0.0.46";
}; };
version = versions.${branch}; version = versions.${branch};
srcs = rec { srcs = rec {
x86_64-linux = { x86_64-linux = {
stable = fetchurl { stable = fetchurl {
url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz"; url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
hash = "sha256-tBopyhGRNDmtOWSwwiNnPJJm82sk3s76cUun7erHRbM="; hash = "sha256-kzYLZcjuG7k8RSjc5ooDlMKaAlMHvm0yCl5Krnhqq8A=";
}; };
ptb = fetchurl { ptb = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz"; url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
hash = "sha256-aJx5ruZRCnBTf/Qon1uFfxMX2a25Xg2AzbnN/UtDe8w="; hash = "sha256-JesxPoYybVLVwTrDwG2kO6Pikq7qvn7CO8j+24dwjBc=";
}; };
canary = fetchurl { canary = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz"; url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
hash = "sha256-h4ULLPRhtGy6FZHKfj3AF0hjPhidVvJEbHOVgCh+6JQ="; hash = "sha256-suVIDCZhI6DwUVizBmTm104Clr6pH/olAIbOMNzFNss=";
}; };
development = fetchurl { development = fetchurl {
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz"; url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
@ -35,19 +35,19 @@ let
x86_64-darwin = { x86_64-darwin = {
stable = fetchurl { stable = fetchurl {
url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg"; url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
hash = "sha256-eQLPtwSX24+DOxvQcS2tFOMI6HNYedycl/U5GnzR6w0="; hash = "sha256-ZJ2ybvKGGCm8CZhwGxmLXZWNUD1eAyg17zD/sBwViB4=";
}; };
ptb = fetchurl { ptb = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg"; url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
hash = "sha256-Z2b4I8WzBaubb5oGEGpqC6VlVvObyQwKOH+mxCPMuMw="; hash = "sha256-mLfeMx5dQNpoLUyoOSCj8XtNxWjsBpVWdFv1obtHJak=";
}; };
canary = fetchurl { canary = fetchurl {
url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg"; url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
hash = "sha256-ZKjZf716RPOcXkZEFzvb4ojafafccVpjlLoEZv/GGec="; hash = "sha256-eIjkXOW07sR26iBttT0mGDxNnpLFKlVJtzSAtFcicBg=";
}; };
development = fetchurl { development = fetchurl {
url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg"; url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
hash = "sha256-KvomKLcDnHyRSGwKDxwb5AZbJqMwKpvP4BC0Sn7IVsk="; hash = "sha256-nMihtf/xLIxwqAVrF1BSRewdS2WThx0LZ5HZUI+OzM0=";
}; };
}; };
aarch64-darwin = x86_64-darwin; aarch64-darwin = x86_64-darwin;

View File

@ -1,18 +1,19 @@
{ stdenv {
, lib stdenv,
, fetchFromGitHub lib,
, fetchpatch fetchFromGitHub,
, cmake fetchpatch,
, pkg-config cmake,
, makeWrapper pkg-config,
, libusb-compat-0_1 makeWrapper,
, ncurses libusb-compat-0_1,
, usePython ? false ncurses,
, python ? null usePython ? false,
, swig2 python ? null,
, extraPackages ? [ ] swig3,
, buildPackages extraPackages ? [ ],
, testers buildPackages,
testers,
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
@ -39,21 +40,19 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config pkg-config
makeWrapper makeWrapper
]; ];
buildInputs = [ buildInputs =
libusb-compat-0_1 [
ncurses libusb-compat-0_1
] ++ lib.optionals usePython [ ncurses
python ]
swig2 ++ lib.optionals usePython [
]; python
swig3
];
propagatedBuildInputs = lib.optionals usePython [ propagatedBuildInputs = lib.optionals usePython [ python.pkgs.numpy ];
python.pkgs.numpy
];
cmakeFlags = lib.optionals usePython [ cmakeFlags = lib.optionals usePython [ "-DUSE_PYTHON_CONFIG=ON" ];
"-DUSE_PYTHON_CONFIG=ON"
];
postFixup = lib.optionalString (extraPackages != [ ]) ( postFixup = lib.optionalString (extraPackages != [ ]) (
# Join all plugins via symlinking # Join all plugins via symlinking
@ -62,12 +61,11 @@ stdenv.mkDerivation (finalAttrs: {
${buildPackages.xorg.lndir}/bin/lndir -silent ${pkg} $out ${buildPackages.xorg.lndir}/bin/lndir -silent ${pkg} $out
'')) ''))
lib.concatStrings lib.concatStrings
] + '' ]
+ ''
# Needed for at least the remote plugin server # Needed for at least the remote plugin server
for file in $out/bin/*; do for file in $out/bin/*; do
wrapProgram "$file" --prefix SOAPY_SDR_PLUGIN_PATH : ${lib.escapeShellArg ( wrapProgram "$file" --prefix SOAPY_SDR_PLUGIN_PATH : ${lib.escapeShellArg (lib.makeSearchPath finalAttrs.passthru.searchPath extraPackages)}
lib.makeSearchPath finalAttrs.passthru.searchPath extraPackages
)}
done done
'' ''
); );

View File

@ -3,13 +3,13 @@
buildKodiAddon rec { buildKodiAddon rec {
pname = "youtube"; pname = "youtube";
namespace = "plugin.video.youtube"; namespace = "plugin.video.youtube";
version = "7.0.8"; version = "7.0.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "anxdpanic"; owner = "anxdpanic";
repo = "plugin.video.youtube"; repo = "plugin.video.youtube";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-cWqAHC3UYDWk0cL/to9kCdH+SSN3ra+Ni6HTwposNkg="; hash = "sha256-C2Xnz4V+jSwkBbroysG5ruidwdeE3V+NutQxW3Nfh6Y=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -111,6 +111,7 @@ let
modernx-zydezu = callPackage ./modernx-zydezu.nix { }; modernx-zydezu = callPackage ./modernx-zydezu.nix { };
mpris = callPackage ./mpris.nix { }; mpris = callPackage ./mpris.nix { };
mpv-cheatsheet = callPackage ./mpv-cheatsheet.nix { }; mpv-cheatsheet = callPackage ./mpv-cheatsheet.nix { };
mpv-discord = callPackage ./mpv-discord.nix { };
mpv-notify-send = callPackage ./mpv-notify-send.nix { }; mpv-notify-send = callPackage ./mpv-notify-send.nix { };
mpv-osc-modern = callPackage ./mpv-osc-modern.nix { }; mpv-osc-modern = callPackage ./mpv-osc-modern.nix { };
mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { }; mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { };

View File

@ -0,0 +1,44 @@
{
fetchFromGitHub,
buildGoModule,
buildLua,
lib,
}:
let
version = "1.6.1";
src = fetchFromGitHub {
owner = "tnychn";
repo = "mpv-discord";
rev = "v${version}";
hash = "sha256-P1UaXGboOiqrXapfLzJI6IT3esNtflkQkcNXt4Umukc=";
};
core = buildGoModule {
name = "mpv-discord-core";
inherit version;
src = "${src}/mpv-discord";
vendorHash = "sha256-xe1jyWFQUD+Z4qBAVQ0SBY0gdxmi5XG9t29n3f/WKDs=";
};
in
buildLua {
pname = "mpv-discord";
inherit version src;
scriptPath = "scripts/discord.lua";
postInstall = ''
substituteInPlace $out/share/mpv/scripts/discord.lua \
--replace-fail 'binary_path = ""' 'binary_path = "${core}/bin/mpv-discord"'
'';
meta = {
description = "Cross-platform Discord Rich Presence integration for mpv with no external dependencies";
homepage = "https://github.com/tnychn/mpv-discord";
license = lib.licenses.mit;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ bddvlpr ];
};
}

View File

@ -20,17 +20,17 @@
buildGoModule rec { buildGoModule rec {
pname = "aaaaxy"; pname = "aaaaxy";
version = "1.5.173"; version = "1.5.183";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "divVerent"; owner = "divVerent";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-tCA4mmNbRCn48lN5U+x4mnHEsLbMf5jBDOU/jnRFkvE="; hash = "sha256-uXu9z4J3ufe7thXsAGWGTSgb8LVPboM7CSTNf7NBw1Q=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
vendorHash = "sha256-4zQJUw0CQci/BPfo8V2LzuFc6MDQMXf06RCrqxg1G/c="; vendorHash = "sha256-Z52g/ZSIYjHt8bjeAnQidkFyprJOO/IkNcrSFcKcv30=";
buildInputs = [ buildInputs = [
alsa-lib alsa-lib

View File

@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchurl,
meson,
ninja,
gtk4,
gnome,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "adwaita-icon-theme-legacy";
version = "46.2";
src = fetchurl {
url = "mirror://gnome/sources/adwaita-icon-theme-legacy/${lib.versions.major finalAttrs.version}/adwaita-icon-theme-legacy-${finalAttrs.version}.tar.xz";
hash = "sha256-VISA9YWJpUty0Ygzt1WxX/vVZ+MYcknXTi4fj5nyL7Q=";
};
nativeBuildInputs = [
meson
ninja
gtk4 # for gtk4-update-icon-cache
];
passthru = {
updateScript = gnome.updateScript {
packageName = "adwaita-icon-theme-legacy";
};
};
meta = with lib; {
description = "Fullcolor icon theme providing fallback for legacy apps";
homepage = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme-legacy";
license = licenses.cc-by-sa-30;
maintainers = teams.gnome.members;
platforms = platforms.all;
};
})

View File

@ -11,7 +11,7 @@
elfutils, elfutils,
enablePython ? false, enablePython ? false,
pythonPackages ? null, pythonPackages ? null,
swig2, swig4,
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
@ -34,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
pkg-config pkg-config
] ]
++ lib.optionals enablePython [ ++ lib.optionals enablePython [
swig2 swig4
pythonPackages.setuptools pythonPackages.setuptools
]; ];
buildInputs = [ buildInputs = [

View File

@ -17,7 +17,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
postPatch = '' postPatch = ''
substituteInPlace betterdiscordctl \ substituteInPlace betterdiscordctl \
--replace "DISABLE_SELF_UPGRADE=" "DISABLE_SELF_UPGRADE=yes" --replace-fail "DISABLE_SELF_UPGRADE=" "DISABLE_SELF_UPGRADE=yes"
''; '';
installPhase = '' installPhase = ''

View File

@ -48,10 +48,6 @@ rustPlatform.buildRustPackage rec {
}; };
}; };
postPatch = ''
substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)"
'';
nativeBuildInputs = [ just pkg-config util-linuxMinimal ]; nativeBuildInputs = [ just pkg-config util-linuxMinimal ];
buildInputs = [ dbus glib libinput libxkbcommon pulseaudio wayland udev ]; buildInputs = [ dbus glib libinput libxkbcommon pulseaudio wayland udev ];

File diff suppressed because it is too large Load Diff

View File

@ -11,38 +11,34 @@
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "cosmic-session"; pname = "cosmic-session";
version = "0-unstable-2024-01-17"; version = "1.0.0-alpha.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pop-os"; owner = "pop-os";
repo = pname; repo = "cosmic-session";
rev = "8e73c0f6940288c4a24a102a7ba9f20eb6bd754f"; rev = "epoch-${version}";
sha256 = "sha256-plglQ9i+kcG70v9ElCzwNMhO1xcuEAQiO0DeZfRjbcg="; sha256 = "sha256-5zfEBNsMxtKPJZcGYZth/SoXrsg0gpug15VR5fPbvt0=";
}; };
cargoLock = { cargoLock = {
lockFile = ./Cargo.lock; lockFile = ./Cargo.lock;
outputHashes = { outputHashes = {
"cosmic-notifications-util-0.1.0" = "sha256-GmTT7SFBqReBMe4GcNSym1YhsKtFQ/0hrDcwUqXkaBw="; "cosmic-notifications-util-0.1.0" = "sha256-GmTT7SFBqReBMe4GcNSym1YhsKtFQ/0hrDcwUqXkaBw=";
"launch-pad-0.1.0" = "sha256-tnbSJ/GP9GTnLnikJmvb9XrJSgnUnWjadABHF43L1zc="; "launch-pad-0.1.0" = "sha256-c+uawTQlg5SW8x7DOBG2Idv/AfIaCFNtLQLUz8ifT2I=";
}; };
}; };
postPatch = '' postPatch = ''
substituteInPlace Justfile \ substituteInPlace Justfile \
--replace '#!/usr/bin/env' "#!$(command -v env)" \ --replace-fail '{{cargo-target-dir}}/release/cosmic-session' 'target/${rust.lib.toRustTargetSpecShort stdenv.hostPlatform}/release/cosmic-session'
--replace 'target/release/cosmic-session' "target/${
rust.lib.toRustTargetSpecShort stdenv.hostPlatform
}/release/cosmic-session"
substituteInPlace data/start-cosmic \ substituteInPlace data/start-cosmic \
--replace '#!/bin/bash' "#!${lib.getBin bash}/bin/bash" \ --replace-fail '/usr/bin/cosmic-session' "${placeholder "out"}/bin/cosmic-session" \
--replace '/usr/bin/cosmic-session' "$out/bin/cosmic-session" \ --replace-fail '/usr/bin/dbus-run-session' "${lib.getBin dbus}/bin/dbus-run-session"
--replace '/usr/bin/dbus-run-session' "${ substituteInPlace data/cosmic.desktop \
lib.getBin dbus --replace-fail '/usr/bin/start-cosmic' "${placeholder "out"}/bin/start-cosmic"
}/bin/dbus-run-session"
substituteInPlace data/cosmic.desktop --replace '/usr/bin/start-cosmic' "$out/bin/start-cosmic"
''; '';
buildInputs = [ bash ];
nativeBuildInputs = [ just ]; nativeBuildInputs = [ just ];
dontUseJustBuild = true; dontUseJustBuild = true;

View File

@ -10,7 +10,7 @@
ddcutil, ddcutil,
glib, glib,
hwdata, hwdata,
imagemagick_light, imagemagick,
libXrandr, libXrandr,
libdrm, libdrm,
libglvnd, libglvnd,
@ -47,13 +47,13 @@ let
in in
stdenv'.mkDerivation (finalAttrs: { stdenv'.mkDerivation (finalAttrs: {
pname = "fastfetch"; pname = "fastfetch";
version = "2.21.3"; version = "2.22.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fastfetch-cli"; owner = "fastfetch-cli";
repo = "fastfetch"; repo = "fastfetch";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-AnURAH5tSIwmbLtB7FjjrOODGxrXbMOIqVjIBwOU+lo="; hash = "sha256-ncaBMSV7n4RVA2376ExBv+a8bzuvuMttv3GlNaOH23k=";
}; };
outputs = [ outputs = [
@ -71,7 +71,7 @@ stdenv'.mkDerivation (finalAttrs: {
buildInputs = buildInputs =
[ [
chafa chafa
imagemagick_light imagemagick
pcre pcre
pcre2 pcre2
sqlite sqlite

View File

@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "lsd"; pname = "lsd";
version = "1.1.3"; version = "1.1.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lsd-rs"; owner = "lsd-rs";
repo = "lsd"; repo = "lsd";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-4vf68Rga2Z+PYIdfzzmDtfjCQVbr8RWiVG29c/UDVsQ="; hash = "sha256-LlMcBMb40yN+rlvGVsh7JaC3j9sF60YxitQQXe1q/oI=";
}; };
cargoHash = "sha256-R+mOpZQLY6VFfxhCSk2MZmoCRGT49knBH9k4C6Z6KuQ="; cargoHash = "sha256-yyXFtMyiMq6TaN9/7+BaBERHgubeA8SJGOr08Mn3RnY=";
nativeBuildInputs = [ nativeBuildInputs = [
installShellFiles installShellFiles

View File

@ -6,31 +6,31 @@
, dpkg , dpkg
, libGL , libGL
, systemd , systemd
, electron_28 , electron_30
, commandLineArgs ? "" , commandLineArgs ? ""
}: }:
let let
pname = "lx-music-desktop"; pname = "lx-music-desktop";
version = "2.8.0"; version = "2.9.0";
buildUrl = version: arch: "https://github.com/lyswhut/lx-music-desktop/releases/download/v${version}/lx-music-desktop_${version}_${arch}.deb"; buildUrl = version: arch: "https://github.com/lyswhut/lx-music-desktop/releases/download/v${version}/lx-music-desktop_${version}_${arch}.deb";
srcs = { srcs = {
x86_64-linux = fetchurl { x86_64-linux = fetchurl {
url = buildUrl version "amd64"; url = buildUrl version "amd64";
hash = "sha256-Kt/foI7NrXV+Ex2DxLRyP3bVFw0Bx4TLuMyBMZD0bDw="; hash = "sha256-krjC3vAwTMzlWJJIuJmYzFtN/Z/IINnzooUtlONeUM0=";
}; };
aarch64-linux = fetchurl { aarch64-linux = fetchurl {
url = buildUrl version "arm64"; url = buildUrl version "arm64";
hash = "sha256-4X4fXb2V/FigArcIgpgkNBa2+mOemPOx/HkxPlx//gw="; hash = "sha256-734hTi/vgSrLAks+CV1vxrrZfSShnpExlO0JWUc4oUE=";
}; };
armv7l-linux = fetchurl { armv7l-linux = fetchurl {
url = buildUrl version "armv7l"; url = buildUrl version "armv7l";
hash = "sha256-uWEQYOT4wxg6HWoL18mEpWF8pONl5Bwf/bnoN4X+A7c="; hash = "sha256-e4Elipw7MzO+3XmmGlZfLDFgSph0by5Xy6FtYCie/38=";
}; };
}; };
@ -68,7 +68,7 @@ stdenv.mkDerivation {
''; '';
postFixup = '' postFixup = ''
makeWrapper ${electron_28}/bin/electron $out/bin/lx-music-desktop \ makeWrapper ${electron_30}/bin/electron $out/bin/lx-music-desktop \
--add-flags $out/opt/lx-music-desktop/resources/app.asar \ --add-flags $out/opt/lx-music-desktop/resources/app.asar \
--prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \

View File

@ -19,7 +19,7 @@ stdenvNoCC.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://github.com/ThaUnknown/miru/releases/download/v${version}/mac-Miru-${version}-mac.zip"; url = "https://github.com/ThaUnknown/miru/releases/download/v${version}/mac-Miru-${version}-mac.zip";
hash = "sha256-4PUi/q9Dtyp6c++hmwfoW5cluzolZYANnKXtiMqlMGo="; hash = "sha256-Pqf6lgogk3j6Bi78x6lCVlOjhR8BhoFbhRa7l3YkqP0=";
}; };
sourceRoot = "."; sourceRoot = ".";

View File

@ -19,7 +19,7 @@ appimageTools.wrapType2 rec {
src = fetchurl { src = fetchurl {
url = "https://github.com/ThaUnknown/miru/releases/download/v${version}/linux-Miru-${version}.AppImage"; url = "https://github.com/ThaUnknown/miru/releases/download/v${version}/linux-Miru-${version}.AppImage";
name = "${pname}-${version}.AppImage"; name = "${pname}-${version}.AppImage";
hash = "sha256-NjsuI9GFMVJ6+E03UDPq6xrzlO0Vs1nfYsOE6TDVwY0="; hash = "sha256-Kk8rdhKNLARG5zngWXRjcfoe9Fc6VHYre7FMkHLPMIo=";
}; };
extraInstallCommands = extraInstallCommands =

View File

@ -5,7 +5,7 @@
}: }:
let let
pname = "miru"; pname = "miru";
version = "5.3.1"; version = "5.5.0";
meta = with lib; { meta = with lib; {
description = "Stream anime torrents, real-time with no waiting for downloads"; description = "Stream anime torrents, real-time with no waiting for downloads";
homepage = "https://miru.watch"; homepage = "https://miru.watch";

View File

@ -823,6 +823,12 @@ dependencies = [
"num-traits", "num-traits",
] ]
[[package]]
name = "num-conv"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
[[package]] [[package]]
name = "num-integer" name = "num-integer"
version = "0.1.45" version = "0.1.45"
@ -1474,12 +1480,13 @@ dependencies = [
[[package]] [[package]]
name = "time" name = "time"
version = "0.3.30" version = "0.3.36"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
dependencies = [ dependencies = [
"deranged", "deranged",
"itoa", "itoa",
"num-conv",
"powerfmt", "powerfmt",
"serde", "serde",
"time-core", "time-core",
@ -1494,10 +1501,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
[[package]] [[package]]
name = "time-macros" name = "time-macros"
version = "0.2.15" version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
dependencies = [ dependencies = [
"num-conv",
"time-core", "time-core",
] ]

View File

@ -17,6 +17,7 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "silicon"; pname = "silicon";
# Remove `postPatch` hack below when updating.
version = "0.5.2"; version = "0.5.2";
src = fetchFromGitHub { src = fetchFromGitHub {
@ -33,6 +34,11 @@ rustPlatform.buildRustPackage rec {
}; };
}; };
postPatch = ''
# Fix build with Rust 1.80; remove when fixed upstream
ln -sf ${./Cargo.lock} Cargo.lock
'';
buildInputs = [ expat freetype fira-code fontconfig harfbuzz ] buildInputs = [ expat freetype fira-code fontconfig harfbuzz ]
++ lib.optionals stdenv.isLinux [ libxcb ] ++ lib.optionals stdenv.isLinux [ libxcb ]
++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [

View File

@ -6,11 +6,11 @@
let let
pname = "simplex-chat-desktop"; pname = "simplex-chat-desktop";
version = "5.8.1"; version = "6.0.3";
src = fetchurl { src = fetchurl {
url = "https://github.com/simplex-chat/simplex-chat/releases/download/v${version}/simplex-desktop-x86_64.AppImage"; url = "https://github.com/simplex-chat/simplex-chat/releases/download/v${version}/simplex-desktop-x86_64.AppImage";
hash = "sha256-s5gyamNQk79+FEO2JlHIhlI9LK6M16Mf+D9qz9J67qw="; hash = "sha256-No3nS1AUOxhaxvaPvc8tLW+fj59P4AT/bt0dZobdGAw=";
}; };
appimageContents = appimageTools.extract { appimageContents = appimageTools.extract {

31
pkgs/by-name/wi/wiseunpacker/deps.nix generated Normal file
View File

@ -0,0 +1,31 @@
# This file was automatically generated by passthru.fetch-deps.
# Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }:
[
(fetchNuGet {
pname = "Newtonsoft.Json";
version = "13.0.3";
hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc=";
})
(fetchNuGet {
pname = "SabreTools.Compression";
version = "0.4.2";
hash = "sha256-yNgHjyodFbkghYvPq3ginDGTX7rQNgcD9tRaWD3mJYM=";
})
(fetchNuGet {
pname = "SabreTools.IO";
version = "1.3.3";
hash = "sha256-UMGpU7g11qFafN+kbDmUt9PXlHg8dPHHZOIz6DuXMEU=";
})
(fetchNuGet {
pname = "SabreTools.Matching";
version = "1.3.1";
hash = "sha256-vPIGGneY0Zq/H75lJLtq5PosCozAXp+KRlQQ6OGAYiU=";
})
(fetchNuGet {
pname = "SabreTools.Models";
version = "1.4.2";
hash = "sha256-lVj05vrE6duaBa0Hq2ZmlSU0iYlp1o69P6TDtf9KPqo=";
})
]

View File

@ -0,0 +1,41 @@
{
fetchFromGitHub,
buildDotnetModule,
dotnetCorePackages,
lib,
}:
let
version = "1.3.3";
pname = "WiseUnpacker";
in
buildDotnetModule rec {
inherit version pname;
src = fetchFromGitHub {
owner = "mnadareski";
repo = pname;
rev = version;
sha256 = "sha256-APbfo2D/p733AwNNByu5MvC9LA8WW4mAzq6t2w/YNrs=";
};
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
dotnetFlags = [ "-p:TargetFramework=net8.0" ];
# Rename to something sensible
postFixup = ''
mv "$out/bin/Test" "$out/bin/WiseUnpacker"
'';
nugetDeps = ./deps.nix;
projectFile = "Test/Test.csproj";
meta = with lib; {
homepage = "https://github.com/mnadareski/WiseUnpacker/";
description = "C# Wise installer unpacker based on HWUN and E_WISE ";
maintainers = [ maintainers.gigahawk ];
license = licenses.mit;
};
}

View File

@ -1,22 +1,27 @@
{ lib, buildGoModule, fetchurl }: {
lib,
buildGoModule,
fetchurl,
}:
buildGoModule rec { buildGoModule rec {
pname = "zabbix-agent2-plugin-postgresql"; pname = "zabbix-agent2-plugin-postgresql";
version = "6.4.15"; version = "7.0.2";
src = fetchurl { src = fetchurl {
url = "https://cdn.zabbix.com/zabbix-agent2-plugins/sources/postgresql/zabbix-agent2-plugin-postgresql-${version}.tar.gz"; url = "https://cdn.zabbix.com/zabbix-agent2-plugins/sources/postgresql/zabbix-agent2-plugin-postgresql-${version}.tar.gz";
hash = "sha256-9N2xN7ckfBiwWcI+C4VeHDQVrWEaeKUcjfIw7GU7K9E="; hash = "sha256-2+P0a74flxWIpZaII+V04G/szFUrnnIy+f8LfDewcx0=";
}; };
vendorHash = null; vendorHash = null;
meta = with lib; { meta = {
description = "Required tool for Zabbix agent integrated PostgreSQL monitoring"; description = "Required tool for Zabbix agent integrated PostgreSQL monitoring";
mainProgram = "postgresql"; mainProgram = "postgresql";
homepage = "https://www.zabbix.com/integrations/postgresql"; homepage = "https://www.zabbix.com/integrations/postgresql";
license = licenses.asl20; license =
maintainers = with maintainers; [ gador ]; if (lib.versions.major version >= "7") then lib.licenses.agpl3Only else lib.licenses.gpl2Plus;
platforms = platforms.linux; maintainers = with lib.maintainers; [ gador ];
platforms = lib.platforms.linux;
}; };
} }

View File

@ -1,24 +1,25 @@
{ lib {
, stdenv lib,
, fetchurl stdenv,
, autoreconfHook fetchurl,
, libgpg-error autoreconfHook,
, gnupg libgpg-error,
, pkg-config gnupg,
, glib pkg-config,
, pth glib,
, libassuan pth,
, which libassuan,
, ncurses which,
, texinfo ncurses,
, buildPackages texinfo,
, qtbase ? null buildPackages,
, pythonSupport ? false qtbase ? null,
, swig2 ? null pythonSupport ? false,
# only for passthru.tests swig4 ? null,
, libsForQt5 # only for passthru.tests
, qt6Packages libsForQt5,
, python3 qt6Packages,
python3,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -26,7 +27,11 @@ stdenv.mkDerivation rec {
version = "1.23.2"; version = "1.23.2";
pyproject = true; pyproject = true;
outputs = [ "out" "dev" "info" ]; outputs = [
"out"
"dev"
"info"
];
outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool
@ -52,54 +57,50 @@ stdenv.mkDerivation rec {
--replace-fail 'tmp="-unknown"' 'tmp=""' --replace-fail 'tmp="-unknown"' 'tmp=""'
''; '';
nativeBuildInputs = [ nativeBuildInputs =
autoreconfHook [
gnupg autoreconfHook
pkg-config gnupg
texinfo pkg-config
] ++ lib.optionals pythonSupport [ texinfo
python3.pythonOnBuildForHost ]
python3.pkgs.pip ++ lib.optionals pythonSupport [
python3.pkgs.setuptools python3.pythonOnBuildForHost
python3.pkgs.wheel python3.pkgs.pip
ncurses python3.pkgs.setuptools
swig2 python3.pkgs.wheel
which ncurses
]; swig4
which
];
buildInputs = lib.optionals pythonSupport [ buildInputs = lib.optionals pythonSupport [ python3 ];
python3
];
propagatedBuildInputs = [ propagatedBuildInputs = [
glib glib
libassuan libassuan
libgpg-error libgpg-error
pth pth
] ++ lib.optionals (qtbase != null) [ ] ++ lib.optionals (qtbase != null) [ qtbase ];
qtbase
];
nativeCheckInputs = [ nativeCheckInputs = [ which ];
which
];
depsBuildBuild = [ depsBuildBuild = [ buildPackages.stdenv.cc ];
buildPackages.stdenv.cc
];
dontWrapQtApps = true; dontWrapQtApps = true;
configureFlags = [ configureFlags =
"--enable-fixed-path=${gnupg}/bin" [
"--with-libgpg-error-prefix=${libgpg-error.dev}" "--enable-fixed-path=${gnupg}/bin"
"--with-libassuan-prefix=${libassuan.dev}" "--with-libgpg-error-prefix=${libgpg-error.dev}"
] ++ lib.optional pythonSupport "--enable-languages=python" "--with-libassuan-prefix=${libassuan.dev}"
# Tests will try to communicate with gpg-agent instance via a UNIX socket ]
# which has a path length limit. Nix on darwin is using a build directory ++ lib.optional pythonSupport "--enable-languages=python"
# that already has quite a long path and the resulting socket path doesn't # Tests will try to communicate with gpg-agent instance via a UNIX socket
# fit in the limit. https://github.com/NixOS/nix/pull/1085 # which has a path length limit. Nix on darwin is using a build directory
++ lib.optionals stdenv.isDarwin [ "--disable-gpg-test" ]; # that already has quite a long path and the resulting socket path doesn't
# fit in the limit. https://github.com/NixOS/nix/pull/1085
++ lib.optionals stdenv.isDarwin [ "--disable-gpg-test" ];
env.NIX_CFLAGS_COMPILE = toString ( env.NIX_CFLAGS_COMPILE = toString (
# qgpgme uses Q_ASSERT which retains build inputs at runtime unless # qgpgme uses Q_ASSERT which retains build inputs at runtime unless
@ -116,7 +117,10 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
checkFlags = [ "-C" "tests" ]; checkFlags = [
"-C"
"tests"
];
passthru.tests = { passthru.tests = {
python = python3.pkgs.gpgme; python = python3.pkgs.gpgme;
@ -134,7 +138,10 @@ stdenv.mkDerivation rec {
encryption, decryption, signing, signature verification and key encryption, decryption, signing, signature verification and key
management. management.
''; '';
license = with licenses; [ lgpl21Plus gpl3Plus ]; license = with licenses; [
lgpl21Plus
gpl3Plus
];
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ dotlambda ]; maintainers = with maintainers; [ dotlambda ];
}; };

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "openimageio"; pname = "openimageio";
version = "2.5.5.0"; version = "2.5.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "OpenImageIO"; owner = "OpenImageIO";
repo = "oiio"; repo = "oiio";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-FtUZqk1m9ahdnwhrBeMFkUbV0dangMY/w9ShevCASfo="; hash = "sha256-EIJVqY97C1GaQBYQcSN3ETS63MOPFq/4HjmFJqKbt9U=";
}; };
# Workaround broken zlib version detecion in CMake < 3.37. # Workaround broken zlib version detecion in CMake < 3.37.

View File

@ -12,23 +12,24 @@
, pytestCheckHook , pytestCheckHook
, pytest-benchmark , pytest-benchmark
, pytest-cov , pytest-cov
, pytest-mock
, pandas , pandas
, azure-storage-blob , azure-storage-blob
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "deltalake"; pname = "deltalake";
version = "0.18.2"; version = "0.19.1";
format = "pyproject"; format = "pyproject";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-xvmtaHNkE6bXwVJtYJBc30qutZuMlcx4JmElCRdxmu8="; hash = "sha256-Xgn6uyIfuB6YnCg8FieOr/tuhXBtmDZKvNpcDGynNZg=";
}; };
cargoDeps = rustPlatform.fetchCargoTarball { cargoDeps = rustPlatform.fetchCargoTarball {
inherit src; inherit src;
hash = "sha256-/2K8/hsMIeidfviCKK+ffWPB51svWZa+9eZoK9erBaY="; hash = "sha256-ebX51/ztIdhY81sd0fdPsKvaGtCEk8oofrj/Nrt8nfA=";
}; };
env.OPENSSL_NO_VENDOR = 1; env.OPENSSL_NO_VENDOR = 1;
@ -60,6 +61,7 @@ buildPythonPackage rec {
pandas pandas
pytest-benchmark pytest-benchmark
pytest-cov pytest-cov
pytest-mock
azure-storage-blob azure-storage-blob
]; ];

View File

@ -7,6 +7,7 @@
djangorestframework, djangorestframework,
pytestCheckHook, pytestCheckHook,
pytest-django, pytest-django,
pytz,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -29,6 +30,7 @@ buildPythonPackage rec {
djangorestframework djangorestframework
pytestCheckHook pytestCheckHook
pytest-django pytest-django
pytz
]; ];
env.DJANGO_SETTINGS_MODULE = "tests.settings"; env.DJANGO_SETTINGS_MODULE = "tests.settings";

View File

@ -9,6 +9,7 @@
pytestCheckHook, pytestCheckHook,
pytest-django, pytest-django,
pytest-lazy-fixture, pytest-lazy-fixture,
pytz,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -43,6 +44,7 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
pytest-django pytest-django
pytest-lazy-fixture pytest-lazy-fixture
pytz
]; ];
meta = with lib; { meta = with lib; {

View File

@ -11,51 +11,56 @@
django, django,
pytz, pytz,
# tests # optional-dependencies
coreapi, coreapi,
coreschema, coreschema,
django-guardian, django-guardian,
inflection, inflection,
psycopg2, psycopg2,
pygments,
pyyaml,
# tests
pytestCheckHook, pytestCheckHook,
pytest-django, pytest-django,
pyyaml,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "djangorestframework"; pname = "djangorestframework";
version = "3.15.1"; version = "3.15.2";
format = "setuptools"; pyproject = true;
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "encode"; owner = "encode";
repo = "django-rest-framework"; repo = "django-rest-framework";
rev = version; rev = version;
hash = "sha256-G914NvxRmKGkxrozoWNUIoI74YkYRbeNcQwIG4iSeXU="; hash = "sha256-ne0sk4m11Ha77tNmCsdhj7QVmCkYj5GjLn/dLF4qxU8=";
}; };
build-system = [ build-system = [ setuptools ];
setuptools
];
dependencies = [ dependencies = [
django django
pytz pygments
]; ] ++ (lib.optional (lib.versionOlder django.version "5.0.0") pytz);
optional-dependencies = {
complete = [
coreapi
coreschema
django-guardian
inflection
psycopg2
pygments
pyyaml
];
};
nativeCheckInputs = [ nativeCheckInputs = [
pytest-django pytest-django
pytestCheckHook pytestCheckHook
] ++ optional-dependencies.complete;
# optional tests
coreapi
coreschema
django-guardian
inflection
psycopg2
pyyaml
];
disabledTests = [ disabledTests = [
# https://github.com/encode/django-rest-framework/issues/9422 # https://github.com/encode/django-rest-framework/issues/9422

View File

@ -11,7 +11,7 @@
setuptools, setuptools,
# tests # tests
python, pytestCheckHook,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -33,12 +33,9 @@ buildPythonPackage rec {
setuptools setuptools
]; ];
# Disable static linking
# https://github.com/numba/llvmlite/issues/93
postPatch = '' postPatch = ''
substituteInPlace ffi/Makefile.linux --replace "-static-libstdc++" "" substituteInPlace llvmlite/tests/test_binding.py \
--replace-fail "test_linux" "nope"
substituteInPlace llvmlite/tests/test_binding.py --replace "test_linux" "nope"
''; '';
# Set directory containing llvm-config binary # Set directory containing llvm-config binary
@ -46,21 +43,23 @@ buildPythonPackage rec {
export LLVM_CONFIG=${llvm.dev}/bin/llvm-config export LLVM_CONFIG=${llvm.dev}/bin/llvm-config
''; '';
checkPhase = '' nativeCheckInputs = [
runHook preCheck pytestCheckHook
${python.executable} runtests.py ];
runHook postCheck # https://github.com/NixOS/nixpkgs/issues/255262
preCheck = ''
cd $out
''; '';
__impureHostDeps = lib.optionals stdenv.isDarwin [ "/usr/lib/libm.dylib" ]; __impureHostDeps = lib.optionals stdenv.isDarwin [ "/usr/lib/libm.dylib" ];
passthru.llvm = llvm; passthru.llvm = llvm;
meta = with lib; { meta = {
changelog = "https://github.com/numba/llvmlite/blob/v${version}/CHANGE_LOG"; changelog = "https://github.com/numba/llvmlite/blob/v${version}/CHANGE_LOG";
description = "Lightweight LLVM python binding for writing JIT compilers"; description = "Lightweight LLVM python binding for writing JIT compilers";
downloadPage = "https://github.com/numba/llvmlite"; downloadPage = "https://github.com/numba/llvmlite";
homepage = "http://llvmlite.pydata.org/"; homepage = "http://llvmlite.pydata.org/";
license = licenses.bsd2; license = lib.licenses.bsd2;
}; };
} }

View File

@ -2,7 +2,7 @@
toPythonModule, toPythonModule,
python, python,
lttng-tools, lttng-tools,
swig2, swig4,
}: }:
toPythonModule ( toPythonModule (
@ -15,7 +15,7 @@ toPythonModule (
{ {
pname = "lttng"; pname = "lttng";
nativeBuildInputs = nativeBuildInputs ++ [ swig2 ]; nativeBuildInputs = nativeBuildInputs ++ [ swig4 ];
configureFlags = configureFlags ++ [ configureFlags = configureFlags ++ [
"--enable-python-bindings" "--enable-python-bindings"

View File

@ -7,7 +7,6 @@
python, python,
buildPythonPackage, buildPythonPackage,
setuptools, setuptools,
numpy,
numpy_2, numpy_2,
llvmlite, llvmlite,
libcxx, libcxx,
@ -17,6 +16,7 @@
runCommand, runCommand,
writers, writers,
numba, numba,
pytestCheckHook,
config, config,
@ -27,13 +27,15 @@
# CUDA flags: # CUDA flags:
cudaSupport ? config.cudaSupport, cudaSupport ? config.cudaSupport,
testsWithoutSandbox ? false,
doFullCheck ? false,
}: }:
let let
cudatoolkit = cudaPackages.cuda_nvcc; cudatoolkit = cudaPackages.cuda_nvcc;
in in
buildPythonPackage rec { buildPythonPackage rec {
version = "0.60.0"; version = "0.61.0dev0";
pname = "numba"; pname = "numba";
pyproject = true; pyproject = true;
@ -54,8 +56,18 @@ buildPythonPackage rec {
# that upstream relies on those strings to be valid, that's why we don't # that upstream relies on those strings to be valid, that's why we don't
# use `forceFetchGit = true;`.` If in the future we'll observe the hash # use `forceFetchGit = true;`.` If in the future we'll observe the hash
# changes too often, we can always use forceFetchGit, and inject the # changes too often, we can always use forceFetchGit, and inject the
# relevant strings ourselves, using `sed` commands, in extraPostFetch. # relevant strings ourselves, using `substituteInPlace`, in postFetch.
hash = "sha256-hUL281wHLA7wo8umzBNhiGJikyIF2loCzjLECuC+pO0="; hash = "sha256-KF9YQ6/FIfUQTJCAMgfIqnb/D8mdMbCC/tJvfYlSkgI=";
# TEMPORARY: The way upstream knows it's source version is explained above,
# and without this upstream sets the version in ${python.sitePackages} as
# 0.61.0dev0, which causes dependent packages fail to find a valid
# version of numba.
postFetch = ''
substituteInPlace $out/numba/_version.py \
--replace-fail \
'git_refnames = " (tag: ${version})"' \
'git_refnames = " (tag: 0.61.0, release0.61)"'
'';
}; };
postPatch = '' postPatch = ''
@ -69,7 +81,6 @@ buildPythonPackage rec {
build-system = [ build-system = [
setuptools setuptools
numpy_2
]; ];
nativeBuildInputs = lib.optionals cudaSupport [ nativeBuildInputs = lib.optionals cudaSupport [
@ -77,10 +88,12 @@ buildPythonPackage rec {
cudaPackages.cuda_nvcc cudaPackages.cuda_nvcc
]; ];
buildInputs = lib.optionals cudaSupport [ cudaPackages.cuda_cudart ]; buildInputs = [
# Not propagating it, because it numba can work with either numpy_2 or numpy_1
numpy_2
] ++ lib.optionals cudaSupport [ cudaPackages.cuda_cudart ];
dependencies = [ dependencies = [
numpy
llvmlite llvmlite
setuptools setuptools
] ++ lib.optionals (pythonOlder "3.9") [ importlib-metadata ]; ] ++ lib.optionals (pythonOlder "3.9") [ importlib-metadata ];
@ -103,20 +116,28 @@ buildPythonPackage rec {
}) })
]; ];
# run a smoke test in a temporary directory so that nativeCheckInputs = [
# a) Python picks up the installed library in $out instead of the build files pytestCheckHook
# b) we have somewhere to put $HOME so some caching tests work ];
# c) it doesn't take 6 CPU hours for the full suite
checkPhase = ''
runHook preCheck
pushd $(mktemp -d) preCheck = ''
HOME=. ${python.interpreter} -m numba.runtests -m $NIX_BUILD_CORES numba.tests.test_usecases export HOME="$(mktemp -d)"
popd # https://github.com/NixOS/nixpkgs/issues/255262
cd $out
runHook postCheck
''; '';
pytestFlagsArray = lib.optionals (!doFullCheck) [
# These are the most basic tests. Running all tests is too expensive, and
# some of them fail (also differently on different platforms), so it will
# be too hard to maintain such a `disabledTests` list.
"${python.sitePackages}/numba/tests/test_usecases.py"
];
disabledTestPaths = lib.optionals (!testsWithoutSandbox) [
# See NOTE near passthru.tests.withoutSandbox
"${python.sitePackages}/numba/cuda/tests"
];
pythonImportsCheck = [ "numba" ]; pythonImportsCheck = [ "numba" ];
passthru.testers.cuda-detect = passthru.testers.cuda-detect =
@ -128,23 +149,18 @@ buildPythonPackage rec {
''; '';
passthru.tests = { passthru.tests = {
# CONTRIBUTOR NOTE: numba also contains CUDA tests, though these cannot be run in # CONTRIBUTOR NOTE: numba also contains CUDA tests, though these cannot be run in
# this sandbox environment. Consider running similar commands to those below outside the # this sandbox environment. Consider building the derivation below with
# sandbox manually if you have the appropriate hardware; support will be detected # --no-sandbox to get a view of how many tests succeed outside the sandbox.
# and the corresponding tests enabled automatically. withoutSandbox = numba.override {
# Also, the full suite currently does not complete on anything but x86_64-linux. doFullCheck = true;
fullSuite = runCommand "${pname}-test" { } '' cudaSupport = true;
pushd $(mktemp -d) testsWithoutSandbox = true;
# pip and python in $PATH is needed for the test suite to pass fully };
PATH=${ withSandbox = numba.override {
python.withPackages (p: [ cudaSupport = false;
p.numba doFullCheck = true;
p.pip testsWithoutSandbox = false;
]) };
}/bin:$PATH
HOME=$PWD python -m numba.runtests -m $NIX_BUILD_CORES
popd
touch $out # stop Nix from complaining no output was generated and failing the build
'';
}; };
meta = with lib; { meta = with lib; {

View File

@ -58,7 +58,7 @@ let
in in
buildPythonPackage rec { buildPythonPackage rec {
pname = "numpy"; pname = "numpy";
version = "2.0.1"; version = "2.1.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.10"; disabled = pythonOlder "3.10";
@ -66,7 +66,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
extension = "tar.gz"; extension = "tar.gz";
hash = "sha256-SFuHI1eWQQw1GaaZz+H6qwl+UJ6Q67BdzQmNsq6H57M="; hash = "sha256-fckNoAgffh2knsTjmO3mqOnMT16+X54GtEPtiJ7pqqI=";
}; };
patches = lib.optionals python.hasDistutilsCxxPatch [ patches = lib.optionals python.hasDistutilsCxxPatch [

View File

@ -13,14 +13,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "paginate"; pname = "paginate";
version = "0.5.6"; version = "0.5.7";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Pylons"; owner = "Pylons";
repo = "paginate"; repo = "paginate";
rev = version; rev = version;
hash = "sha256-HZWwOYOCk4mAmz8OnM9hhlf8HA+jC75dYVeo0l4a09o="; hash = "sha256-+zX9uGNWcV4BWbD2lcd1u9zZ4m7CnbsYZnc99HNaF8I=";
}; };
nativeBuildInputs = [ setuptools ]; nativeBuildInputs = [ setuptools ];

View File

@ -0,0 +1,40 @@
{ lib, stdenv, fetchurl, perl, autoconf, updateAutotoolsGnuConfigScriptsHook }:
stdenv.mkDerivation rec {
pname = "automake";
version = "1.17";
src = fetchurl {
url = "mirror://gnu/automake/automake-${version}.tar.xz";
hash = "sha256-iSDB/EEeE7kL9wTvnbbynVQOdtIyyzssn03EzFmb2ZA=";
};
strictDeps = true;
nativeBuildInputs = [ updateAutotoolsGnuConfigScriptsHook autoconf perl ];
buildInputs = [ autoconf ];
setupHook = ./setup-hook.sh;
doCheck = false; # takes _a lot_ of time, fails 3 out of 2698 tests, all seem to be related to paths
doInstallCheck = false; # runs the same thing, fails the same tests
# The test suite can run in parallel.
enableParallelBuilding = true;
# Don't fixup "#! /bin/sh" in Libtool, otherwise it will use the
# "fixed" path in generated files!
dontPatchShebangs = true;
meta = with lib; {
branch = "1.17";
homepage = "https://www.gnu.org/software/automake/";
description = "GNU standard-compliant makefile generator";
license = licenses.gpl2Plus;
longDescription = ''
GNU Automake is a tool for automatically generating
`Makefile.in' files compliant with the GNU Coding
Standards. Automake requires the use of Autoconf.
'';
platforms = platforms.all;
};
}

View File

@ -1,37 +0,0 @@
{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool, bison, pcre }:
stdenv.mkDerivation rec {
pname = "swig";
version = "2.0.12";
src = fetchFromGitHub {
owner = "swig";
repo = "swig";
rev = "rel-${version}";
sha256 = "0khm9gh5pczfcihr0pbicaicc4v9kjm5ip2alvkhmbb3ga6njkcm";
};
# pcre-config isn't on PATH when cross-building
PCRE_CONFIG = "${pcre.dev}/bin/pcre-config";
nativeBuildInputs = [ autoconf automake libtool bison ];
buildInputs = [ pcre ];
configureFlags = [ "--without-tcl" ];
# Disable ccache documentation as it needs yodl
postPatch = ''
sed -i '/man1/d' CCache/Makefile.in
'';
preConfigure = ''
./autogen.sh
'';
meta = with lib; {
description = "SWIG, an interface compiler that connects C/C++ code to higher-level languages";
homepage = "https://swig.org/";
# Different types of licenses available: http://www.swig.org/Release/LICENSE .
license = licenses.gpl3Plus;
platforms = with platforms; linux ++ darwin;
};
}

View File

@ -1,27 +0,0 @@
{ lib, stdenv, fetchurl, boost, tcl }:
stdenv.mkDerivation rec {
pname = "swig";
version = "1.3.40";
src = fetchurl {
url = "mirror://sourceforge/swig/${pname}-${version}.tar.gz";
sha256 = "02dc8g8wy75nd2is1974rl24c6mdl0ai1vszs1xpg9nd7dlv6i8r";
};
doCheck = !stdenv.isCygwin;
# 'make check' uses boost and tcl
buildInputs = lib.optionals doCheck [ boost tcl ];
configureFlags = [ "--disable-ccache" ];
meta = with lib; {
description = "SWIG, an interface compiler that connects C/C++ code to higher-level languages";
mainProgram = "swig";
homepage = "https://swig.org/";
# Different types of licenses available: http://www.swig.org/Release/LICENSE .
license = licenses.gpl3Plus;
platforms = with platforms; linux ++ darwin;
};
}

View File

@ -5,18 +5,20 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "cargo-insta"; pname = "cargo-insta";
version = "1.33.0"; # use stable release once 1.40 lands
version = "1.39-unstable-2024-08-22";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mitsuhiko"; owner = "mitsuhiko";
repo = "insta"; repo = "insta";
rev = "refs/tags/${version}"; rev = "abb6ba50163fb9093fa79c2fb784a57e08b2fcc0";
hash = "sha256-w/dxIQ7KRrn86PwiE/g5L9Gn8KszPF9u/zlwE/FYDu4="; hash = "sha256-465xY68M00lBM+3pz8FIXkBXnRrMi4wbBRieYHz0w+s=";
}; };
sourceRoot = "${src.name}/cargo-insta"; cargoHash = "sha256-2mf9GJ1BtZE1k9jIdFmjiK1KfQ9qPkeSABT8X7G+p9I=";
cargoHash = "sha256-mEtmZ+wFo1WI1IMNYsVqSVScFDLdiXBbghH7c0l/3NQ="; # Depends on `rustfmt` and does not matter for packaging.
checkFlags = [ "--skip=utils::test_format_rust_expression" ];
meta = with lib; { meta = with lib; {
description = "Cargo subcommand for snapshot testing"; description = "Cargo subcommand for snapshot testing";

View File

@ -23,7 +23,7 @@ let
# Errors in output without those # Errors in output without those
pciutils pciutils
# run.sh wants ldconfig # run.sh wants ldconfig
glibc.bin glibc_multi.bin
# Games' dependencies # Games' dependencies
xorg.xrandr xorg.xrandr
which which
@ -206,7 +206,6 @@ in buildFHSEnv rec {
gst_all_1.gst-plugins-ugly gst_all_1.gst-plugins-ugly
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-base
json-glib # paradox launcher (Stellaris) json-glib # paradox launcher (Stellaris)
libdrm
libxkbcommon # paradox launcher libxkbcommon # paradox launcher
libvorbis # Dead Cells libvorbis # Dead Cells
libxcrypt # Alien Isolation, XCOM 2, Company of Heroes 2 libxcrypt # Alien Isolation, XCOM 2, Company of Heroes 2
@ -223,9 +222,7 @@ in buildFHSEnv rec {
zlib zlib
atk atk
cairo cairo
freetype
gdk-pixbuf gdk-pixbuf
fontconfig
# Prison Architect # Prison Architect
libGLU libGLU
@ -271,10 +268,10 @@ in buildFHSEnv rec {
'' + extraProfile; '' + extraProfile;
runScript = writeShellScript "steam-wrapper.sh" '' runScript = writeShellScript "steam-wrapper.sh" ''
if [ -f /host/etc/NIXOS ]; then # Check only useful on NixOS if [ -f /etc/NIXOS ]; then # Check only useful on NixOS
${glxinfo-i686}/bin/glxinfo >/dev/null 2>&1 ${glxinfo-i686}/bin/glxinfo 2>&1 | grep -q Error
# If there was an error running glxinfo, we know something is wrong with the configuration # If there was an error running glxinfo, we know something is wrong with the configuration
if [ $? -ne 0 ]; then if [ $? -eq 0 ]; then
cat <<EOF > /dev/stderr cat <<EOF > /dev/stderr
** **
WARNING: Steam is not set up. Add the following options to /etc/nixos/configuration.nix WARNING: Steam is not set up. Add the following options to /etc/nixos/configuration.nix
@ -303,6 +300,7 @@ in buildFHSEnv rec {
'' + args.extraPreBwrapCmds or ""; '' + args.extraPreBwrapCmds or "";
extraBwrapArgs = [ extraBwrapArgs = [
"--bind /etc/NIXOS /etc/NIXOS" # required 32bit driver check in runScript
"--bind-try /tmp/dumps /tmp/dumps" "--bind-try /tmp/dumps /tmp/dumps"
] ++ args.extraBwrapArgs or []; ] ++ args.extraBwrapArgs or [];

View File

@ -23,12 +23,12 @@
, gitUpdater , gitUpdater
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation (finalAttrs: {
pname = "bind"; pname = "bind";
version = "9.18.28"; version = "9.18.28";
src = fetchurl { src = fetchurl {
url = "https://downloads.isc.org/isc/bind9/${version}/${pname}-${version}.tar.xz"; url = "https://downloads.isc.org/isc/bind9/${finalAttrs.version}/${finalAttrs.pname}-${finalAttrs.version}.tar.xz";
hash = "sha256-58zpoWX3thnu/Egy8KjcFrAF0p44kK7WAIxQbqKGpec="; hash = "sha256-58zpoWX3thnu/Egy8KjcFrAF0p44kK7WAIxQbqKGpec=";
}; };
@ -104,6 +104,7 @@ stdenv.mkDerivation rec {
passthru = { passthru = {
tests = { tests = {
withCheck = finalAttrs.finalPackage.overrideAttrs { doCheck = true; };
inherit (nixosTests) bind; inherit (nixosTests) bind;
prometheus-exporter = nixosTests.prometheus-exporters.bind; prometheus-exporter = nixosTests.prometheus-exporters.bind;
kubernetes-dns-single-node = nixosTests.kubernetes.dns-single-node; kubernetes-dns-single-node = nixosTests.kubernetes.dns-single-node;
@ -123,10 +124,10 @@ stdenv.mkDerivation rec {
homepage = "https://www.isc.org/bind/"; homepage = "https://www.isc.org/bind/";
description = "Domain name server"; description = "Domain name server";
license = licenses.mpl20; license = licenses.mpl20;
changelog = "https://downloads.isc.org/isc/bind9/cur/${lib.versions.majorMinor version}/CHANGES"; changelog = "https://downloads.isc.org/isc/bind9/cur/${lib.versions.majorMinor finalAttrs.version}/CHANGES";
maintainers = with maintainers; [ globin ]; maintainers = with maintainers; [ globin ];
platforms = platforms.unix; platforms = platforms.unix;
outputsToInstall = [ "out" "dnsutils" "host" ]; outputsToInstall = [ "out" "dnsutils" "host" ];
}; };
} })

View File

@ -1,24 +1,26 @@
{ lib, fetchFromGitHub, buildHomeAssistantComponent }: {
buildHomeAssistantComponent,
fetchFromGitHub,
lib,
}:
buildHomeAssistantComponent rec { buildHomeAssistantComponent rec {
owner = "KartoffelToby"; owner = "KartoffelToby";
domain = "better_thermostat"; domain = "better_thermostat";
version = "1.5.0"; version = "1.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "KartoffelToby"; owner = "KartoffelToby";
repo = "better_thermostat"; repo = "better_thermostat";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-noo96Uks+MHtTbwIoU5gnekp/IwMry0U18X4I1qe4LQ="; hash = "sha256-9iwrGKk3/m38ghDVGzKODWo9vzzZxJ91413/KWnULJU=";
}; };
meta = with lib; { meta = {
changelog = changelog = "https://github.com/KartoffelToby/better_thermostat/releases/tag/${version}";
"https://github.com/KartoffelToby/better_thermostat/releases/tag/${version}"; description = "Smart TRV control integrates room-temp sensors, window/door sensors, weather forecasts, and ambient probes for efficient heating and calibration, enhancing energy savings and comfort";
description =
"Smart TRV control integrates room-temp sensors, window/door sensors, weather forecasts, and ambient probes for efficient heating and calibration, enhancing energy savings and comfort.";
homepage = "https://better-thermostat.org/"; homepage = "https://better-thermostat.org/";
maintainers = with maintainers; [ mguentner ]; maintainers = with lib.maintainers; [ mguentner ];
license = licenses.agpl3Only; license = lib.licenses.agpl3Only;
}; };
} }

View File

@ -1,6 +1,15 @@
{ lib, stdenv, fetchurl, pkg-config, libiconv, openssl, pcre }: {
lib,
stdenv,
fetchurl,
pkg-config,
libiconv,
openssl,
pcre,
}:
import ./versions.nix ({ version, hash, ... }: import ./versions.nix (
{ version, hash, ... }:
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "zabbix-agent"; pname = "zabbix-agent";
inherit version; inherit version;
@ -36,8 +45,13 @@ import ./versions.nix ({ version, hash, ... }:
meta = { meta = {
description = "Enterprise-class open source distributed monitoring solution (client-side agent)"; description = "Enterprise-class open source distributed monitoring solution (client-side agent)";
homepage = "https://www.zabbix.com/"; homepage = "https://www.zabbix.com/";
license = lib.licenses.gpl2Plus; license =
maintainers = with lib.maintainers; [ mmahut psyanticy ]; if (lib.versions.major version >= "7") then lib.licenses.agpl3Only else lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [
mmahut
psyanticy
];
platforms = lib.platforms.unix; platforms = lib.platforms.unix;
}; };
}) }
)

View File

@ -1,6 +1,22 @@
{ lib, buildGoModule, fetchurl, autoreconfHook, pkg-config, libiconv, openssl, pcre, zlib }: {
lib,
buildGoModule,
fetchurl,
autoreconfHook,
pkg-config,
libiconv,
openssl,
pcre,
zlib,
}:
import ./versions.nix ({ version, hash, vendorHash ? throw "unsupported version ${version} for zabbix-agent2", ... }: import ./versions.nix (
{
version,
hash,
vendorHash ? throw "unsupported version ${version} for zabbix-agent2",
...
}:
buildGoModule { buildGoModule {
pname = "zabbix-agent2"; pname = "zabbix-agent2";
inherit version; inherit version;
@ -14,8 +30,16 @@ import ./versions.nix ({ version, hash, vendorHash ? throw "unsupported version
inherit vendorHash; inherit vendorHash;
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [
buildInputs = [ libiconv openssl pcre zlib ]; autoreconfHook
pkg-config
];
buildInputs = [
libiconv
openssl
pcre
zlib
];
inherit (buildGoModule.go) GOOS GOARCH; inherit (buildGoModule.go) GOOS GOARCH;
@ -59,8 +83,10 @@ import ./versions.nix ({ version, hash, vendorHash ? throw "unsupported version
meta = { meta = {
description = "Enterprise-class open source distributed monitoring solution (client-side agent)"; description = "Enterprise-class open source distributed monitoring solution (client-side agent)";
homepage = "https://www.zabbix.com/"; homepage = "https://www.zabbix.com/";
license = lib.licenses.gpl2Plus; license =
if (lib.versions.major version >= "7") then lib.licenses.agpl3Only else lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ aanderse ]; maintainers = with lib.maintainers; [ aanderse ];
platforms = lib.platforms.unix; platforms = lib.platforms.unix;
}; };
}) }
)

View File

@ -1,10 +1,25 @@
{ lib, stdenv, fetchurl, pkg-config, libevent, libiconv, openssl, pcre, zlib {
, odbcSupport ? true, unixODBC lib,
, snmpSupport ? stdenv.buildPlatform == stdenv.hostPlatform, net-snmp stdenv,
, sshSupport ? true, libssh2 fetchurl,
, sqliteSupport ? false, sqlite pkg-config,
, mysqlSupport ? false, libmysqlclient libevent,
, postgresqlSupport ? false, postgresql libiconv,
openssl,
pcre,
zlib,
odbcSupport ? true,
unixODBC,
snmpSupport ? stdenv.buildPlatform == stdenv.hostPlatform,
net-snmp,
sshSupport ? true,
libssh2,
sqliteSupport ? false,
sqlite,
mysqlSupport ? false,
libmysqlclient,
postgresqlSupport ? false,
postgresql,
}: }:
# ensure exactly one database type is selected # ensure exactly one database type is selected
@ -15,18 +30,20 @@ assert sqliteSupport -> !mysqlSupport && !postgresqlSupport;
let let
inherit (lib) optional optionalString; inherit (lib) optional optionalString;
in in
import ./versions.nix ({ version, hash, ... }: import ./versions.nix (
stdenv.mkDerivation { { version, hash, ... }:
pname = "zabbix-proxy"; stdenv.mkDerivation {
inherit version; pname = "zabbix-proxy";
inherit version;
src = fetchurl { src = fetchurl {
url = "https://cdn.zabbix.com/zabbix/sources/stable/${lib.versions.majorMinor version}/zabbix-${version}.tar.gz"; url = "https://cdn.zabbix.com/zabbix/sources/stable/${lib.versions.majorMinor version}/zabbix-${version}.tar.gz";
inherit hash; inherit hash;
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ buildInputs =
[
libevent libevent
libiconv libiconv
openssl openssl
@ -40,7 +57,8 @@ in
++ optional mysqlSupport libmysqlclient ++ optional mysqlSupport libmysqlclient
++ optional postgresqlSupport postgresql; ++ optional postgresqlSupport postgresql;
configureFlags = [ configureFlags =
[
"--enable-ipv6" "--enable-ipv6"
"--enable-proxy" "--enable-proxy"
"--with-iconv" "--with-iconv"
@ -56,33 +74,39 @@ in
++ optional mysqlSupport "--with-mysql" ++ optional mysqlSupport "--with-mysql"
++ optional postgresqlSupport "--with-postgresql"; ++ optional postgresqlSupport "--with-postgresql";
prePatch = '' prePatch = ''
find database -name data.sql -exec sed -i 's|/usr/bin/||g' {} + find database -name data.sql -exec sed -i 's|/usr/bin/||g' {} +
''; '';
makeFlags = [ makeFlags = [
"AR:=$(AR)" "AR:=$(AR)"
"RANLIB:=$(RANLIB)" "RANLIB:=$(RANLIB)"
]; ];
postInstall = '' postInstall =
''
mkdir -p $out/share/zabbix/database/ mkdir -p $out/share/zabbix/database/
'' + optionalString sqliteSupport '' ''
+ optionalString sqliteSupport ''
mkdir -p $out/share/zabbix/database/sqlite3 mkdir -p $out/share/zabbix/database/sqlite3
cp -prvd database/sqlite3/schema.sql $out/share/zabbix/database/sqlite3/ cp -prvd database/sqlite3/schema.sql $out/share/zabbix/database/sqlite3/
'' + optionalString mysqlSupport '' ''
+ optionalString mysqlSupport ''
mkdir -p $out/share/zabbix/database/mysql mkdir -p $out/share/zabbix/database/mysql
cp -prvd database/mysql/schema.sql $out/share/zabbix/database/mysql/ cp -prvd database/mysql/schema.sql $out/share/zabbix/database/mysql/
'' + optionalString postgresqlSupport '' ''
+ optionalString postgresqlSupport ''
mkdir -p $out/share/zabbix/database/postgresql mkdir -p $out/share/zabbix/database/postgresql
cp -prvd database/postgresql/schema.sql $out/share/zabbix/database/postgresql/ cp -prvd database/postgresql/schema.sql $out/share/zabbix/database/postgresql/
''; '';
meta = with lib; { meta = {
description = "Enterprise-class open source distributed monitoring solution (client-server proxy)"; description = "Enterprise-class open source distributed monitoring solution (client-server proxy)";
homepage = "https://www.zabbix.com/"; homepage = "https://www.zabbix.com/";
license = licenses.gpl2Plus; license =
maintainers = [ maintainers.mmahut ]; if (lib.versions.major version >= "7") then lib.licenses.agpl3Only else lib.licenses.gpl2Plus;
platforms = platforms.linux; maintainers = with lib.maintainers; [ mmahut ];
}; platforms = lib.platforms.linux;
}) };
}
)

View File

@ -1,12 +1,32 @@
{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, curl, libevent, libiconv, libxml2, openssl, pcre, zlib {
, jabberSupport ? true, iksemel lib,
, ldapSupport ? true, openldap stdenv,
, odbcSupport ? true, unixODBC fetchurl,
, snmpSupport ? true, net-snmp autoreconfHook,
, sshSupport ? true, libssh2 pkg-config,
, mysqlSupport ? false, libmysqlclient curl,
, postgresqlSupport ? false, postgresql libevent,
, ipmiSupport ? false, openipmi libiconv,
libxml2,
openssl,
pcre,
zlib,
jabberSupport ? true,
iksemel,
ldapSupport ? true,
openldap,
odbcSupport ? true,
unixODBC,
snmpSupport ? true,
net-snmp,
sshSupport ? true,
libssh2,
mysqlSupport ? false,
libmysqlclient,
postgresqlSupport ? false,
postgresql,
ipmiSupport ? false,
openipmi,
}: }:
# ensure exactly one primary database type is selected # ensure exactly one primary database type is selected
@ -16,18 +36,23 @@ assert postgresqlSupport -> !mysqlSupport;
let let
inherit (lib) optional optionalString; inherit (lib) optional optionalString;
in in
import ./versions.nix ({ version, hash, ... }: import ./versions.nix (
stdenv.mkDerivation { { version, hash, ... }:
pname = "zabbix-server"; stdenv.mkDerivation {
inherit version; pname = "zabbix-server";
inherit version;
src = fetchurl { src = fetchurl {
url = "https://cdn.zabbix.com/zabbix/sources/stable/${lib.versions.majorMinor version}/zabbix-${version}.tar.gz"; url = "https://cdn.zabbix.com/zabbix/sources/stable/${lib.versions.majorMinor version}/zabbix-${version}.tar.gz";
inherit hash; inherit hash;
}; };
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [
buildInputs = [ autoreconfHook
pkg-config
];
buildInputs =
[
curl curl
libevent libevent
libiconv libiconv
@ -45,7 +70,8 @@ in
++ optional postgresqlSupport postgresql ++ optional postgresqlSupport postgresql
++ optional ipmiSupport openipmi; ++ optional ipmiSupport openipmi;
configureFlags = [ configureFlags =
[
"--enable-ipv6" "--enable-ipv6"
"--enable-server" "--enable-server"
"--with-iconv" "--with-iconv"
@ -65,33 +91,41 @@ in
++ optional postgresqlSupport "--with-postgresql" ++ optional postgresqlSupport "--with-postgresql"
++ optional ipmiSupport "--with-openipmi=${openipmi.dev}"; ++ optional ipmiSupport "--with-openipmi=${openipmi.dev}";
prePatch = '' prePatch = ''
find database -name data.sql -exec sed -i 's|/usr/bin/||g' {} + find database -name data.sql -exec sed -i 's|/usr/bin/||g' {} +
''; '';
preAutoreconf = '' preAutoreconf = ''
for i in $(find . -type f -name "*.m4"); do for i in $(find . -type f -name "*.m4"); do
substituteInPlace $i \ substituteInPlace $i \
--replace 'test -x "$PKG_CONFIG"' 'type -P "$PKG_CONFIG" >/dev/null' --replace 'test -x "$PKG_CONFIG"' 'type -P "$PKG_CONFIG" >/dev/null'
done done
''; '';
postInstall = '' postInstall =
''
mkdir -p $out/share/zabbix/database/ mkdir -p $out/share/zabbix/database/
cp -r include $out/ cp -r include $out/
'' + optionalString mysqlSupport '' ''
+ optionalString mysqlSupport ''
mkdir -p $out/share/zabbix/database/mysql mkdir -p $out/share/zabbix/database/mysql
cp -prvd database/mysql/*.sql $out/share/zabbix/database/mysql/ cp -prvd database/mysql/*.sql $out/share/zabbix/database/mysql/
'' + optionalString postgresqlSupport '' ''
+ optionalString postgresqlSupport ''
mkdir -p $out/share/zabbix/database/postgresql mkdir -p $out/share/zabbix/database/postgresql
cp -prvd database/postgresql/*.sql $out/share/zabbix/database/postgresql/ cp -prvd database/postgresql/*.sql $out/share/zabbix/database/postgresql/
''; '';
meta = with lib; { meta = {
description = "Enterprise-class open source distributed monitoring solution"; description = "Enterprise-class open source distributed monitoring solution";
homepage = "https://www.zabbix.com/"; homepage = "https://www.zabbix.com/";
license = licenses.gpl2Plus; license =
maintainers = with maintainers; [ mmahut psyanticy ]; if (lib.versions.major version >= "7") then lib.licenses.agpl3Only else lib.licenses.gpl2Plus;
platforms = platforms.linux; maintainers = with lib.maintainers; [
}; mmahut
}) psyanticy
];
platforms = lib.platforms.linux;
};
}
)

View File

@ -1,4 +1,9 @@
generic: { generic: {
v70 = generic {
version = "7.0.2";
hash = "sha256-QnlBW8zvcuyF+fmrIf/o43Mf61volBYReReADpRfoYA=";
vendorHash = null;
};
v64 = generic { v64 = generic {
version = "6.4.15"; version = "6.4.15";
hash = "sha256-CtmNCuzDVchijinWcop3lGUTVGS2JbiQCbmusyXBQvY="; hash = "sha256-CtmNCuzDVchijinWcop3lGUTVGS2JbiQCbmusyXBQvY=";

View File

@ -1,6 +1,12 @@
{ lib, stdenv, fetchurl, writeText }: {
lib,
stdenv,
fetchurl,
writeText,
}:
import ./versions.nix ({ version, hash, ... }: import ./versions.nix (
{ version, hash, ... }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "zabbix-web"; pname = "zabbix-web";
inherit version; inherit version;
@ -11,9 +17,9 @@ import ./versions.nix ({ version, hash, ... }:
}; };
phpConfig = writeText "zabbix.conf.php" '' phpConfig = writeText "zabbix.conf.php" ''
<?php <?php
return require(getenv('ZABBIX_CONFIG')); return require(getenv('ZABBIX_CONFIG'));
?> ?>
''; '';
installPhase = '' installPhase = ''
@ -22,11 +28,13 @@ import ./versions.nix ({ version, hash, ... }:
cp ${phpConfig} $out/share/zabbix/conf/zabbix.conf.php cp ${phpConfig} $out/share/zabbix/conf/zabbix.conf.php
''; '';
meta = with lib; { meta = {
description = "Enterprise-class open source distributed monitoring solution (web frontend)"; description = "Enterprise-class open source distributed monitoring solution (web frontend)";
homepage = "https://www.zabbix.com/"; homepage = "https://www.zabbix.com/";
license = licenses.gpl2Plus; license =
maintainers = [ maintainers.mmahut ]; if (lib.versions.major version >= "7") then lib.licenses.agpl3Only else lib.licenses.gpl2Plus;
platforms = platforms.linux; maintainers = with lib.maintainers; [ mmahut ];
platforms = lib.platforms.linux;
}; };
}) }
)

View File

@ -89,17 +89,17 @@ stdenv.mkDerivation (final: {
]; in '' ]; in ''
echo 'export PATH=${lib.makeBinPath compressionTools}:$PATH' >> scripts/libmakepkg/util/compress.sh.in echo 'export PATH=${lib.makeBinPath compressionTools}:$PATH' >> scripts/libmakepkg/util/compress.sh.in
substituteInPlace meson.build \ substituteInPlace meson.build \
--replace "install_dir : SYSCONFDIR" "install_dir : '$out/etc'" \ --replace-fail "install_dir : SYSCONFDIR" "install_dir : '$out/etc'" \
--replace "join_paths(DATAROOTDIR, 'libalpm/hooks/')" "'${sysHookDir}'" \ --replace-fail "join_paths(DATAROOTDIR, 'libalpm/hooks/')" "'${sysHookDir}'" \
--replace "join_paths(PREFIX, DATAROOTDIR, get_option('keyringdir'))" "'\$KEYRING_IMPORT_DIR'" \ --replace-fail "join_paths(SYSCONFDIR, 'makepkg.conf.d/')" "'$out/etc/makepkg.conf.d/'"
--replace "join_paths(SYSCONFDIR, 'makepkg.conf.d/')" "'$out/etc/makepkg.conf.d/'"
substituteInPlace doc/meson.build \ substituteInPlace doc/meson.build \
--replace "/bin/true" "${coreutils}/bin/true" --replace-fail "/bin/true" "${coreutils}/bin/true"
substituteInPlace scripts/repo-add.sh.in \ substituteInPlace scripts/repo-add.sh.in \
--replace bsdtar "${libarchive}/bin/bsdtar" --replace-fail bsdtar "${libarchive}/bin/bsdtar"
substituteInPlace scripts/pacman-key.sh.in \
--replace "local KEYRING_IMPORT_DIR='@keyringdir@'" "" \ # Fix https://gitlab.archlinux.org/pacman/pacman/-/issues/171
--subst-var-by keyringdir '\$KEYRING_IMPORT_DIR' substituteInPlace scripts/libmakepkg/source/git.sh.in \
--replace-warn "---mirror" "--mirror"
''; '';
mesonFlags = [ mesonFlags = [

View File

@ -1452,6 +1452,8 @@ mapAliases ({
sumneko-lua-language-server = lua-language-server; # Added 2023-02-07 sumneko-lua-language-server = lua-language-server; # Added 2023-02-07
supertux-editor = throw "'supertux-editor' has been removed, as it was broken and unmaintained"; # Added 2023-12-22 supertux-editor = throw "'supertux-editor' has been removed, as it was broken and unmaintained"; # Added 2023-12-22
swift-im = throw "swift-im has been removed as it is unmaintained and depends on deprecated Python 2 / Qt WebKit"; # Added 2023-01-06 swift-im = throw "swift-im has been removed as it is unmaintained and depends on deprecated Python 2 / Qt WebKit"; # Added 2023-01-06
swig1 = throw "swig1 has been removed as it is obsolete"; # Added 2024-08-23
swig2 = throw "swig2 has been removed as it is obsolete"; # Added 2024-08-23
swtpm-tpm2 = swtpm; # Added 2021-02-26 swtpm-tpm2 = swtpm; # Added 2021-02-26
Sylk = sylk; # Added 2024-06-12 Sylk = sylk; # Added 2024-06-12
symbiyosys = sby; # Added 2024-08-18 symbiyosys = sby; # Added 2024-08-18

View File

@ -17450,6 +17450,8 @@ with pkgs;
automake116x = callPackage ../development/tools/misc/automake/automake-1.16.x.nix { }; automake116x = callPackage ../development/tools/misc/automake/automake-1.16.x.nix { };
automake117x = callPackage ../development/tools/misc/automake/automake-1.17.x.nix { };
avrdude = callPackage ../development/embedded/avrdude { }; avrdude = callPackage ../development/embedded/avrdude { };
b4 = callPackage ../development/tools/b4 { }; b4 = callPackage ../development/tools/b4 { };
@ -19018,8 +19020,6 @@ with pkgs;
systemfd = callPackage ../development/tools/systemfd { }; systemfd = callPackage ../development/tools/systemfd { };
swig1 = callPackage ../development/tools/misc/swig { };
swig2 = callPackage ../development/tools/misc/swig/2.x.nix { };
swig3 = callPackage ../development/tools/misc/swig/3.x.nix { }; swig3 = callPackage ../development/tools/misc/swig/3.x.nix { };
swig4 = callPackage ../development/tools/misc/swig/4.nix { }; swig4 = callPackage ../development/tools/misc/swig/4.nix { };
swig = swig3; swig = swig3;
@ -25997,6 +25997,7 @@ with pkgs;
server = server-pgsql; server = server-pgsql;
}; };
zabbix70 = recurseIntoAttrs (zabbixFor "v70");
zabbix60 = recurseIntoAttrs (zabbixFor "v60"); zabbix60 = recurseIntoAttrs (zabbixFor "v60");
zabbix64 = recurseIntoAttrs (zabbixFor "v64"); zabbix64 = recurseIntoAttrs (zabbixFor "v64");
zabbix50 = recurseIntoAttrs (zabbixFor "v50"); zabbix50 = recurseIntoAttrs (zabbixFor "v50");

View File

@ -7304,10 +7304,10 @@ with self; {
DBI = buildPerlPackage { DBI = buildPerlPackage {
pname = "DBI"; pname = "DBI";
version = "1.643"; version = "1.644";
src = fetchurl { src = fetchurl {
url = "mirror://cpan/authors/id/T/TI/TIMB/DBI-1.643.tar.gz"; url = "mirror://cpan/authors/id/H/HM/HMBRAND/DBI-1.644.tar.gz";
hash = "sha256-iiuZPbVgosNzwXTul2pRAn3XgOx2auF2IMIDk9LoNvo="; hash = "sha256-Ipe5neCeZwhmQLWQaZ4OmC+0adpjqT/ijcFHgtt6U8g=";
}; };
postInstall = lib.optionalString (perl ? crossVersion) '' postInstall = lib.optionalString (perl ? crossVersion) ''
mkdir -p $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI mkdir -p $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI