diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index f176a029d8a4..ab14ba2a5b0b 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -2038,6 +2038,12 @@
githubId = 157330;
name = "Ben Burdette";
};
+ bwlang = {
+ email = "brad@langhorst.com";
+ github = "bwlang";
+ githubId = 61636;
+ name = "Brad Langhorst";
+ };
bzizou = {
email = "Bruno@bzizou.net";
github = "bzizou";
@@ -8107,6 +8113,12 @@
githubId = 42545625;
name = "Maas Lalani";
};
+ maddiethecafebabe = {
+ email = "maddie@cafebabe.date";
+ github = "maddiethecafebabe";
+ githubId = 75337286;
+ name = "Madeline S.";
+ };
madjar = {
email = "georges.dubus@compiletoi.net";
github = "madjar";
@@ -9174,6 +9186,12 @@
githubId = 15896005;
name = "Vladyslav Burzakovskyy";
};
+ mrtarantoga = {
+ email = "goetz-dev@web.de";
+ name = "Götz Grimmer";
+ github = "MrTarantoga";
+ githubId = 53876219;
+ };
mrVanDalo = {
email = "contact@ingolf-wagner.de";
github = "mrVanDalo";
@@ -13283,6 +13301,12 @@
githubId = 57180880;
name = "Ansh Tyagi";
};
+ therishidesai = {
+ email = "desai.rishi1@gmail.com";
+ github = "therishidesai";
+ githubId = 5409166;
+ name = "Rishi Desai";
+ };
thesola10 = {
email = "me@thesola.io";
github = "Thesola10";
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
index 8f4a7dd002d3..cdf6e9999408 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
@@ -210,6 +210,14 @@
services.infnoise.
+
+
+ kthxbye,
+ an alert acknowledgement management daemon for Prometheus
+ Alertmanager. Available as
+ services.kthxbye
+
+
kanata,
diff --git a/nixos/doc/manual/release-notes/rl-2211.section.md b/nixos/doc/manual/release-notes/rl-2211.section.md
index f6515256dbc6..607e5cfeb4d4 100644
--- a/nixos/doc/manual/release-notes/rl-2211.section.md
+++ b/nixos/doc/manual/release-notes/rl-2211.section.md
@@ -77,6 +77,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [infnoise](https://github.com/leetronics/infnoise), a hardware True Random Number Generator dongle.
Available as [services.infnoise](options.html#opt-services.infnoise.enable).
+- [kthxbye](https://github.com/prymitive/kthxbye), an alert acknowledgement management daemon for Prometheus Alertmanager. Available as [services.kthxbye](options.html#opt-services.kthxbye.enable)
+
- [kanata](https://github.com/jtroo/kanata), a tool to improve keyboard comfort and usability with advanced customization.
Available as [services.kanata](options.html#opt-services.kanata.enable).
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 699c5c7dead4..5568577909b9 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -681,6 +681,7 @@
./services/monitoring/heapster.nix
./services/monitoring/incron.nix
./services/monitoring/kapacitor.nix
+ ./services/monitoring/kthxbye.nix
./services/monitoring/loki.nix
./services/monitoring/longview.nix
./services/monitoring/mackerel-agent.nix
diff --git a/nixos/modules/services/monitoring/kthxbye.nix b/nixos/modules/services/monitoring/kthxbye.nix
new file mode 100644
index 000000000000..3f988dcb722f
--- /dev/null
+++ b/nixos/modules/services/monitoring/kthxbye.nix
@@ -0,0 +1,166 @@
+{ config, pkgs, lib, ... }:
+with lib;
+
+let
+ cfg = config.services.kthxbye;
+in
+
+{
+ options.services.kthxbye = {
+ enable = mkEnableOption (mdDoc "kthxbye alert acknowledgement management daemon");
+
+ package = mkOption {
+ type = types.package;
+ default = pkgs.kthxbye;
+ defaultText = literalExpression "pkgs.kthxbye";
+ description = mdDoc ''
+ The kthxbye package that should be used.
+ '';
+ };
+
+ openFirewall = mkOption {
+ type = types.bool;
+ default = false;
+ description = mdDoc ''
+ Whether to open ports in the firewall needed for the daemon to function.
+ '';
+ };
+
+ extraOptions = mkOption {
+ type = with types; listOf str;
+ default = [];
+ description = mdDoc ''
+ Extra command line options.
+
+ Documentation can be found [here](https://github.com/prymitive/kthxbye/blob/main/README.md).
+ '';
+ example = literalExpression ''
+ [
+ "-extend-with-prefix 'ACK!'"
+ ];
+ '';
+ };
+
+ alertmanager = {
+ timeout = mkOption {
+ type = types.str;
+ default = "1m0s";
+ description = mdDoc ''
+ Alertmanager request timeout duration in the [time.Duration](https://pkg.go.dev/time#ParseDuration) format.
+ '';
+ example = "30s";
+ };
+ uri = mkOption {
+ type = types.str;
+ default = "http://localhost:9093";
+ description = mdDoc ''
+ Alertmanager URI to use.
+ '';
+ example = "https://alertmanager.example.com";
+ };
+ };
+
+ extendBy = mkOption {
+ type = types.str;
+ default = "15m0s";
+ description = mdDoc ''
+ Extend silences by adding DURATION seconds.
+
+ DURATION should be provided in the [time.Duration](https://pkg.go.dev/time#ParseDuration) format.
+ '';
+ example = "6h0m0s";
+ };
+
+ extendIfExpiringIn = mkOption {
+ type = types.str;
+ default = "5m0s";
+ description = mdDoc ''
+ Extend silences that are about to expire in the next DURATION seconds.
+
+ DURATION should be provided in the [time.Duration](https://pkg.go.dev/time#ParseDuration) format.
+ '';
+ example = "1m0s";
+ };
+
+ extendWithPrefix = mkOption {
+ type = types.str;
+ default = "ACK!";
+ description = mdDoc ''
+ Extend silences with comment starting with PREFIX string.
+ '';
+ example = "!perma-silence";
+ };
+
+ interval = mkOption {
+ type = types.str;
+ default = "45s";
+ description = mdDoc ''
+ Silence check interval duration in the [time.Duration](https://pkg.go.dev/time#ParseDuration) format.
+ '';
+ example = "30s";
+ };
+
+ listenAddress = mkOption {
+ type = types.str;
+ default = "0.0.0.0";
+ description = mdDoc ''
+ The address to listen on for HTTP requests.
+ '';
+ example = "127.0.0.1";
+ };
+
+ port = mkOption {
+ type = types.port;
+ default = 8080;
+ description = mdDoc ''
+ The port to listen on for HTTP requests.
+ '';
+ };
+
+ logJSON = mkOption {
+ type = types.bool;
+ default = false;
+ description = mdDoc ''
+ Format logged messages as JSON.
+ '';
+ };
+
+ maxDuration = mkOption {
+ type = with types; nullOr str;
+ default = null;
+ description = mdDoc ''
+ Maximum duration of a silence, it won't be extended anymore after reaching it.
+
+ Duration should be provided in the [time.Duration](https://pkg.go.dev/time#ParseDuration) format.
+ '';
+ example = "30d";
+ };
+ };
+
+ config = mkIf cfg.enable {
+ systemd.services.kthxbye = {
+ description = "kthxbye Alertmanager ack management daemon";
+ wantedBy = [ "multi-user.target" ];
+ script = ''
+ ${cfg.package}/bin/kthxbye \
+ -alertmanager.timeout ${cfg.alertmanager.timeout} \
+ -alertmanager.uri ${cfg.alertmanager.uri} \
+ -extend-by ${cfg.extendBy} \
+ -extend-if-expiring-in ${cfg.extendIfExpiringIn} \
+ -extend-with-prefix ${cfg.extendWithPrefix} \
+ -interval ${cfg.interval} \
+ -listen ${cfg.listenAddress}:${toString cfg.port} \
+ ${optionalString cfg.logJSON "-log-json"} \
+ ${optionalString (cfg.maxDuration != null) "-max-duration ${cfg.maxDuration}"} \
+ ${concatStringsSep " " cfg.extraOptions}
+ '';
+ serviceConfig = {
+ Type = "simple";
+ DynamicUser = true;
+ Restart = "on-failure";
+ };
+ };
+
+ networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
+ };
+}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 79cce713460b..6d90d0112a03 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -276,6 +276,7 @@ in {
komga = handleTest ./komga.nix {};
krb5 = discoverTests (import ./krb5 {});
ksm = handleTest ./ksm.nix {};
+ kthxbye = handleTest ./kthxbye.nix {};
kubernetes = handleTestOn ["x86_64-linux"] ./kubernetes {};
languagetool = handleTest ./languagetool.nix {};
latestKernel.login = handleTest ./login.nix { latestKernel = true; };
diff --git a/nixos/tests/kthxbye.nix b/nixos/tests/kthxbye.nix
new file mode 100644
index 000000000000..5ca0917ec8e7
--- /dev/null
+++ b/nixos/tests/kthxbye.nix
@@ -0,0 +1,110 @@
+import ./make-test-python.nix ({ lib, pkgs, ... }:
+{
+ name = "kthxbye";
+
+ meta = with lib.maintainers; {
+ maintainers = [ nukaduka ];
+ };
+
+ nodes.server = { ... }: {
+ environment.systemPackages = with pkgs; [ prometheus-alertmanager ];
+ services.prometheus = {
+ enable = true;
+
+ globalConfig = {
+ scrape_interval = "5s";
+ scrape_timeout = "5s";
+ evaluation_interval = "5s";
+ };
+
+ scrapeConfigs = [
+ {
+ job_name = "prometheus";
+ scrape_interval = "5s";
+ static_configs = [
+ {
+ targets = [ "localhost:9090" ];
+ }
+ ];
+ }
+ ];
+
+ rules = [
+ ''
+ groups:
+ - name: test
+ rules:
+ - alert: node_up
+ expr: up != 0
+ for: 5s
+ labels:
+ severity: bottom of the barrel
+ annotations:
+ summary: node is fine
+ ''
+ ];
+
+ alertmanagers = [
+ {
+ static_configs = [
+ {
+ targets = [
+ "localhost:9093"
+ ];
+ }
+ ];
+ }
+ ];
+
+ alertmanager = {
+ enable = true;
+ openFirewall = true;
+ configuration.route = {
+ receiver = "test";
+ group_wait = "5s";
+ group_interval = "5s";
+ group_by = [ "..." ];
+ };
+ configuration.receivers = [
+ {
+ name = "test";
+ webhook_configs = [
+ {
+ url = "http://localhost:1234";
+ }
+ ];
+ }
+ ];
+ };
+ };
+
+ services.kthxbye = {
+ enable = true;
+ openFirewall = true;
+ extendIfExpiringIn = "30s";
+ logJSON = true;
+ maxDuration = "15m";
+ interval = "5s";
+ };
+ };
+
+ testScript = ''
+ with subtest("start the server"):
+ start_all()
+ server.wait_for_unit("prometheus.service")
+ server.wait_for_unit("alertmanager.service")
+ server.wait_for_unit("kthxbye.service")
+
+ server.sleep(2) # wait for units to settle
+ server.systemctl("restart kthxbye.service") # make sure kthxbye comes up after alertmanager
+ server.sleep(2)
+
+ with subtest("set up test silence which expires in 20s"):
+ server.succeed('amtool --alertmanager.url "http://localhost:9093" silence add alertname="node_up" -a "nixosTest" -d "20s" -c "ACK! this server is fine!!"')
+
+ with subtest("wait for 21 seconds and check if the silence is still active"):
+ server.sleep(21)
+ server.systemctl("status kthxbye.service")
+ server.succeed("amtool --alertmanager.url 'http://localhost:9093' silence | grep 'ACK'")
+ '';
+})
diff --git a/pkgs/applications/audio/fire/0001-Remove-FetchContent-usage.patch b/pkgs/applications/audio/fire/0001-Remove-FetchContent-usage.patch
new file mode 100644
index 000000000000..35f4c8252e5e
--- /dev/null
+++ b/pkgs/applications/audio/fire/0001-Remove-FetchContent-usage.patch
@@ -0,0 +1,62 @@
+From fbf2ddd872db6a3640bc7d693356b99be9dd70f5 Mon Sep 17 00:00:00 2001
+From: OPNA2608
+Date: Thu, 18 Aug 2022 20:12:07 +0200
+Subject: [PATCH] Remove FetchContent usage
+
+---
+ CMakeLists.txt | 27 +++++----------------------
+ 1 file changed, 5 insertions(+), 22 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 84c66a7..5234903 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -30,20 +30,9 @@ project(Fire VERSION 0.9.9)
+ # or
+ # add_subdirectory(JUCE) # If you've put JUCE in a subdirectory called JUCE
+
+-include(FetchContent)
+-FetchContent_Declare(
+- JUCE
+- GIT_REPOSITORY https://github.com/juce-framework/JUCE.git
+- GIT_TAG 7.0.1
+-)
+-FetchContent_MakeAvailable(JUCE)
+-
+-FetchContent_Declare(
+- readerwriterqueue
+- GIT_REPOSITORY https://github.com/cameron314/readerwriterqueue
+- GIT_TAG v1.0.6
+-)
+-FetchContent_MakeAvailable(readerwriterqueue)
++add_subdirectory(JUCE EXCLUDE_FROM_ALL)
++
++add_subdirectory(readerwriterqueue EXCLUDE_FROM_ALL)
+
+ # If you are building a VST2 or AAX plugin, CMake needs to be told where to find these SDKs on your
+ # system. This setup should be done before calling `juce_add_plugin`.
+@@ -172,13 +161,7 @@ set(TestFiles
+ test/CatchMain.cpp
+ test/PluginTest.cpp)
+
+-# Download the tagged version of Catch2
+-Include(FetchContent)
+-FetchContent_Declare(
+- Catch2
+- GIT_REPOSITORY https://github.com/catchorg/Catch2.git
+- GIT_TAG v2.13.7)
+-FetchContent_MakeAvailable(Catch2)
++add_subdirectory(Catch2 EXCLUDE_FROM_ALL)
+
+ # Setup the test executable, again C++ 20 please
+ add_executable(Tests ${TestFiles})
+@@ -199,4 +182,4 @@ source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/test PREFIX "" FILES ${TestFiles})
+ # We have to manually provide the source directory here for now
+ # https://github.com/catchorg/Catch2/issues/2026
+ include(${Catch2_SOURCE_DIR}/contrib/Catch.cmake)
+-catch_discover_tests(Tests)
+\ No newline at end of file
++catch_discover_tests(Tests)
+--
+2.36.0
+
diff --git a/pkgs/applications/audio/fire/default.nix b/pkgs/applications/audio/fire/default.nix
new file mode 100644
index 000000000000..54d5bba44661
--- /dev/null
+++ b/pkgs/applications/audio/fire/default.nix
@@ -0,0 +1,117 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, pkg-config
+, catch2
+, libX11
+, libXrandr
+, libXinerama
+, libXext
+, libXcursor
+, freetype
+, alsa-lib
+, Cocoa
+, WebKit
+, CoreServices
+, DiscRecording
+, CoreAudioKit
+, MetalKit
+, simd
+}:
+
+let
+ # FetchContent replacement, check CMakeLists.txt for requested versions (Nixpkgs' Catch2 works)
+ readerwriterqueue = fetchFromGitHub {
+ owner = "cameron314";
+ repo = "readerwriterqueue";
+ rev = "v1.0.6";
+ sha256 = "sha256-g7NX7Ucl5GWw3u6TiUOITjhv7492ByTzACtWR0Ph2Jc=";
+ };
+in
+stdenv.mkDerivation rec {
+ pname = "fire";
+ version = "1.0.0.3";
+
+ src = fetchFromGitHub {
+ owner = "jerryuhoo";
+ repo = "Fire";
+ rev = "v${version}";
+ fetchSubmodules = true;
+ sha256 = "sha256-X3pzTrNd0G6BouCDkr3dukQTFDzZ7qblIYxFQActKGE=";
+ };
+
+ patches = [
+ ./0001-Remove-FetchContent-usage.patch
+ ];
+
+ postPatch = ''
+ # 1. Remove hardcoded LTO flags: needs extra setup on Linux,
+ # possibly broken on Darwin
+ # https://github.com/NixOS/nixpkgs/issues/19098
+ # 2. Disable automatic copying of built plugins during buildPhase, it defaults
+ # into user home and we want to have building & installing separated.
+ sed -i \
+ -e '/juce::juce_recommended_lto_flags/d' \
+ -e 's/COPY_PLUGIN_AFTER_BUILD TRUE/COPY_PLUGIN_AFTER_BUILD FALSE/g' \
+ CMakeLists.txt
+ '';
+
+ preConfigure = ''
+ ln -s ${readerwriterqueue} readerwriterqueue
+ ln -s ${catch2.src} Catch2
+ '';
+
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ ];
+
+ buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
+ libX11
+ libXrandr
+ libXinerama
+ libXext
+ libXcursor
+ freetype
+ alsa-lib
+ ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+ Cocoa
+ WebKit
+ CoreServices
+ DiscRecording
+ CoreAudioKit
+ MetalKit
+ simd
+ ];
+
+ installPhase = let
+ vst3Dir = "${placeholder "out"}/${if stdenv.hostPlatform.isDarwin then "Library/Audio/Plug-Ins/VST3" else "lib/vst3"}";
+ auDir = "${placeholder "out"}/Library/Audio/Plug-Ins/Components";
+ in ''
+ runHook preInstall
+
+ mkdir -p ${vst3Dir}
+ # Exact path of the build artefact depends on used CMAKE_BUILD_TYPE
+ cp -R Fire_artefacts/*/VST3/* ${vst3Dir}/
+ '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
+ mkdir -p ${auDir}
+ cp -R Fire_artefacts/*/AU/* ${auDir}/
+ '' + ''
+
+ runHook postInstall
+ '';
+
+ # Fails to find fp.h on its own
+ NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-isystem ${CoreServices}/Library/Frameworks/CoreServices.framework/Versions/Current/Frameworks/CarbonCore.framework/Versions/Current/Headers/";
+
+ doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
+
+ meta = with lib; {
+ description = "Multi-band distortion plugin by Wings";
+ homepage = "https://github.com/jerryuhoo/Fire";
+ license = licenses.agpl3Only; # Not clarified if Only or Plus
+ platforms = platforms.unix;
+ maintainers = with maintainers; [ OPNA2608 ];
+ };
+}
diff --git a/pkgs/applications/audio/miniplayer/default.nix b/pkgs/applications/audio/miniplayer/default.nix
index b808bfb8b2e3..4eea3dbcb7f9 100644
--- a/pkgs/applications/audio/miniplayer/default.nix
+++ b/pkgs/applications/audio/miniplayer/default.nix
@@ -6,12 +6,12 @@ with python3Packages;
buildPythonApplication rec {
pname = "miniplayer";
- version = "1.7.0";
+ version = "1.7.1";
format = "pyproject";
src = fetchPypi {
inherit pname version;
- hash = "sha256-JUlUFj/5DOTLa1XCZX/9Nj3Z9W+k4gnpJONiS4qNBIU=";
+ hash = "sha256-NrIDv61mRDe9JWpSP8cvlU4CGoN6Ou6XuNOIn1p47Pw=";
};
propagatedBuildInputs = [
diff --git a/pkgs/applications/audio/tidal-hifi/default.nix b/pkgs/applications/audio/tidal-hifi/default.nix
index ca7fc28f7405..048367703f02 100644
--- a/pkgs/applications/audio/tidal-hifi/default.nix
+++ b/pkgs/applications/audio/tidal-hifi/default.nix
@@ -36,11 +36,11 @@
stdenv.mkDerivation rec {
pname = "tidal-hifi";
- version = "4.1.2";
+ version = "4.2.0";
src = fetchurl {
url = "https://github.com/Mastermindzh/tidal-hifi/releases/download/${version}/tidal-hifi_${version}_amd64.deb";
- sha256 = "sha256-HurREfN4VxhFiyP+oAx8QeTfoZTk+PlRX5pVWyU+Dwg=";
+ sha256 = "sha256-YydpWzGH+Orb8Vot8hchh+FFcd327VwQ8Kr7x8WYnv4=";
};
nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper ];
diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index 40862bf8d758..31a3c800491a 100644
--- a/pkgs/applications/editors/vim/plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -5625,6 +5625,18 @@ final: prev:
meta.homepage = "https://github.com/scalameta/nvim-metals/";
};
+ nvim-moonwalk = buildVimPluginFrom2Nix {
+ pname = "nvim-moonwalk";
+ version = "2022-04-12";
+ src = fetchFromGitHub {
+ owner = "gpanders";
+ repo = "nvim-moonwalk";
+ rev = "86a59f16ae01606824cef3d0f3f87c9886b312d0";
+ sha256 = "0cwfsm5wb4qn04930km9p4i6xbhaw4023dfzw3s6cr6a428rpc5j";
+ };
+ meta.homepage = "https://github.com/gpanders/nvim-moonwalk/";
+ };
+
nvim-neoclip-lua = buildVimPluginFrom2Nix {
pname = "nvim-neoclip.lua";
version = "2022-09-23";
diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index 616c1c7b23ed..4d67bc5bd207 100644
--- a/pkgs/applications/editors/vim/plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -473,6 +473,7 @@ https://github.com/neovim/nvim-lspconfig/,,
https://github.com/RishabhRD/nvim-lsputils/,,
https://github.com/rafcamlet/nvim-luapad/,,
https://github.com/scalameta/nvim-metals/,,
+https://github.com/gpanders/nvim-moonwalk/,,
https://github.com/AckslD/nvim-neoclip.lua/,,
https://github.com/yamatsum/nvim-nonicons/,,
https://github.com/rcarriga/nvim-notify/,,
diff --git a/pkgs/applications/emulators/dolphin-emu/master.nix b/pkgs/applications/emulators/dolphin-emu/master.nix
index a5c6c4aa3aa9..35a00503ed50 100644
--- a/pkgs/applications/emulators/dolphin-emu/master.nix
+++ b/pkgs/applications/emulators/dolphin-emu/master.nix
@@ -1,12 +1,52 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake
-, wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU, libGL, pcre, gettext
-, libXrandr, libusb1, libpthreadstubs, libXext, libXxf86vm, libXinerama
-, libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsa-lib
-, miniupnpc, enet, mbedtls, soundtouch, sfml, xz, writeScript
-, vulkan-loader ? null, libpulseaudio ? null
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, cmake
+, wrapQtAppsHook
+, qtbase
+, bluez
+, ffmpeg
+, libGL
+, libXrandr
+, libusb1
+, libXext
+, openal
+, udev
+, libevdev
+, curl
+, alsa-lib
+, miniupnpc
+, enet
+, mbedtls
+, soundtouch
+, sfml
+, xz
+, hidapi
+, fmt_8
+, vulkan-loader
+, libpulseaudio
+, bzip2
+, libiconv
+, pugixml
+, xxHash
-# - Inputs used for Darwin
-, CoreBluetooth, ForceFeedback, IOKit, OpenGL, libpng, hidapi }:
+ # Used in passthru
+, testers
+, dolphin-emu-beta
+, writeShellScript
+, common-updater-scripts
+, jq
+
+ # Darwin-only dependencies
+, CoreBluetooth
+, ForceFeedback
+, IOKit
+, VideoToolbox
+, OpenGL
+, libpng
+, moltenvk
+}:
stdenv.mkDerivation rec {
pname = "dolphin-emu";
@@ -20,27 +60,70 @@ stdenv.mkDerivation rec {
fetchSubmodules = true;
};
- nativeBuildInputs = [ cmake pkg-config ]
- ++ lib.optional stdenv.isLinux wrapQtAppsHook;
+ patches = [
+ # On x86_64-darwin CMake reportedly does not work without this in some cases.
+ # See https://github.com/NixOS/nixpkgs/pull/190373#issuecomment-1241310765
+ ./minizip-external-missing-include.patch
+ ];
+
+ nativeBuildInputs = [
+ cmake
+ pkg-config
+ wrapQtAppsHook
+ ];
buildInputs = [
- curl ffmpeg libao libGLU libGL pcre gettext libpthreadstubs libpulseaudio
- libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp
- portaudio libusb1 libpng hidapi miniupnpc enet mbedtls soundtouch sfml xz
+ curl
+ ffmpeg
+ pugixml
+ xxHash
+ libGL
+ libpulseaudio
+ openal
+ libusb1
+ libiconv
+ libpng
+ hidapi
+ miniupnpc
+ enet
+ mbedtls
+ soundtouch
+ sfml
+ xz
qtbase
+ fmt_8
+ bzip2
] ++ lib.optionals stdenv.isLinux [
- bluez udev libevdev alsa-lib vulkan-loader
+ libXrandr
+ libXext
+ bluez
+ udev
+ libevdev
+ alsa-lib
+ vulkan-loader
] ++ lib.optionals stdenv.isDarwin [
- CoreBluetooth OpenGL ForceFeedback IOKit
+ CoreBluetooth
+ OpenGL
+ ForceFeedback
+ IOKit
+ VideoToolbox
+ moltenvk
];
cmakeFlags = [
+ "-DDISTRIBUTOR=NixOS"
"-DUSE_SHARED_ENET=ON"
"-DDOLPHIN_WC_REVISION=${src.rev}"
"-DDOLPHIN_WC_DESCRIBE=${version}"
"-DDOLPHIN_WC_BRANCH=master"
] ++ lib.optionals stdenv.isDarwin [
"-DOSX_USE_DEFAULT_SEARCH_PATH=True"
+ "-DUSE_BUNDLED_MOLTENVK=OFF"
+ # Bundles the application folder into a standalone executable, so we cannot devendor libraries
+ "-DSKIP_POSTPROCESS_BUNDLE=ON"
+ # Needs xcode so compilation fails with it enabled. We would want the version to be fixed anyways.
+ # Note: The updater isn't available on linux, so we dont need to disable it there.
+ "-DENABLE_AUTOUPDATE=OFF"
];
qtWrapperArgs = lib.optionals stdenv.isLinux [
@@ -50,37 +133,51 @@ stdenv.mkDerivation rec {
"--set QT_QPA_PLATFORM xcb"
];
- # - Allow Dolphin to use nix-provided libraries instead of building them
- postPatch = ''
- sed -i -e 's,DISTRIBUTOR "None",DISTRIBUTOR "NixOS",g' CMakeLists.txt
- '' + lib.optionalString stdenv.isDarwin ''
- sed -i -e 's,if(NOT APPLE),if(true),g' CMakeLists.txt
- sed -i -e 's,if(LIBUSB_FOUND AND NOT APPLE),if(LIBUSB_FOUND),g' \
- CMakeLists.txt
+ # Use nix-provided libraries instead of submodules
+ postPatch = lib.optionalString stdenv.isDarwin ''
+ substituteInPlace CMakeLists.txt \
+ --replace "if(NOT APPLE)" "if(true)" \
+ --replace "if(LIBUSB_FOUND AND NOT APPLE)" "if(LIBUSB_FOUND)"
'';
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
install -D $src/Data/51-usb-device.rules $out/etc/udev/rules.d/51-usb-device.rules
+ '' + lib.optionalString stdenv.hostPlatform.isDarwin ''
+ # Only gets installed automatically if the standalone executable is used
+ mkdir -p $out/Applications
+ cp -r ./Binaries/Dolphin.app $out/Applications
+ ln -s $out/Applications/Dolphin.app/Contents/MacOS/Dolphin $out/bin
'';
+ passthru = {
+ tests.version = testers.testVersion {
+ package = dolphin-emu-beta;
+ command = "dolphin-emu-nogui --version";
+ };
- passthru.updateScript = writeScript "dolphin-update-script" ''
- #!/usr/bin/env nix-shell
- #!nix-shell -i bash -p curl jq common-updater-scripts
- set -eou pipefail
- json="$(curl -s https://dolphin-emu.org/update/latest/beta)"
- version="$(jq -r '.shortrev' <<< "$json")"
- rev="$(jq -r '.hash' <<< "$json")"
- update-source-version dolphin-emu-beta "$version" --rev="$rev"
- '';
+ updateScript = writeShellScript "dolphin-update-script" ''
+ set -eou pipefail
+ export PATH=${lib.makeBinPath [ curl jq common-updater-scripts ]}
+
+ json="$(curl -s https://dolphin-emu.org/update/latest/beta)"
+ version="$(jq -r '.shortrev' <<< "$json")"
+ rev="$(jq -r '.hash' <<< "$json")"
+ update-source-version dolphin-emu-beta "$version" --rev="$rev"
+ '';
+ };
meta = with lib; {
homepage = "https://dolphin-emu.org";
description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8";
- license = licenses.gpl2Plus;
- maintainers = with maintainers; [ MP2E ashkitten xfix ];
+ mainProgram = "Dolphin";
branch = "master";
- broken = stdenv.isDarwin;
+ license = licenses.gpl2Plus;
platforms = platforms.unix;
+ maintainers = with maintainers; [
+ MP2E
+ ashkitten
+ xfix
+ ivar
+ ];
};
}
diff --git a/pkgs/applications/emulators/dolphin-emu/minizip-external-missing-include.patch b/pkgs/applications/emulators/dolphin-emu/minizip-external-missing-include.patch
new file mode 100644
index 000000000000..7da013ecd8f6
--- /dev/null
+++ b/pkgs/applications/emulators/dolphin-emu/minizip-external-missing-include.patch
@@ -0,0 +1,18 @@
+commit 5e0cb8066fb1653399c54e93e42375295c2562bd
+Author: Ivar Scholten
+Date: Fri Sep 9 14:27:55 2022 +0200
+
+ Externals/minizip: add missing include to CheckFunctionExists
+
+diff --git a/Externals/minizip/CMakeLists.txt b/Externals/minizip/CMakeLists.txt
+index c3d7c5512e..f59f8b295c 100644
+--- a/Externals/minizip/CMakeLists.txt
++++ b/Externals/minizip/CMakeLists.txt
+@@ -60,6 +60,7 @@ if (HAVE_INTTYPES_H)
+ target_compile_definitions(minizip PRIVATE HAVE_INTTYPES_H)
+ endif()
+
++include(CheckFunctionExists)
+ check_function_exists(fseeko HAVE_FSEEKO)
+ if (NOT HAVE_FSEEKO)
+ target_compile_definitions(minizip PRIVATE NO_FSEEKO)
diff --git a/pkgs/applications/emulators/pcsx2/default.nix b/pkgs/applications/emulators/pcsx2/default.nix
index a4e99b0515bc..34eba5ed7819 100644
--- a/pkgs/applications/emulators/pcsx2/default.nix
+++ b/pkgs/applications/emulators/pcsx2/default.nix
@@ -32,7 +32,7 @@
stdenv.mkDerivation rec {
pname = "pcsx2";
- version = "1.7.3165";
+ version = "1.7.3331";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
repo = "pcsx2";
fetchSubmodules = true;
rev = "v${version}";
- hash = "sha256-FdLmLZLpS8zPmHVn4k0nE6vS/omYVIOal9ej0h3bE/Y=";
+ hash = "sha256-0RcmBMxKj/gnkNEjn2AUSSO1DzyNSf1lOZWPSUq6764=";
};
cmakeFlags = [
@@ -79,13 +79,9 @@ stdenv.mkDerivation rec {
zlib
];
- # Wayland doesn't seem to work right now (crashes when booting a game).
- # Try removing `--prefix GDK_BACKEND : x11` on the next update.
- # (This may be solved when the project finshes migrating to Qt)
preFixup = ''
gappsWrapperArgs+=(
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ vulkan-loader ]}
- --prefix GDK_BACKEND : x11
)
'';
diff --git a/pkgs/applications/misc/mangal/default.nix b/pkgs/applications/misc/mangal/default.nix
new file mode 100644
index 000000000000..e97008ab36cf
--- /dev/null
+++ b/pkgs/applications/misc/mangal/default.nix
@@ -0,0 +1,39 @@
+{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+ pname = "mangal";
+ version = "3.10.0";
+
+ src = fetchFromGitHub {
+ owner = "metafates";
+ repo = pname;
+ rev = "v${version}";
+ hash = "sha256-rWj9CknWNI6SSh0AwaPpj5TxHQzkAmaAhWW7kze3xiY=";
+ };
+
+ proxyVendor = true;
+ vendorSha256 = "sha256-ZgeG8S78/yS9KfEK1bZ3VlQGmZPBo9TXLQLz8rXOEGo=";
+
+ ldflags = [ "-s" "-w" ];
+
+ nativeBuildInputs = [ installShellFiles ];
+
+ postInstall = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
+ # Mangal creates a config file in the folder ~/.config/mangal and fails if not possible
+ export MANGAL_CONFIG_PATH=`mktemp -d`
+ installShellCompletion --cmd mangal \
+ --bash <($out/bin/mangal completion bash) \
+ --zsh <($out/bin/mangal completion zsh) \
+ --fish <($out/bin/mangal completion fish)
+ '';
+
+ doCheck = false; # test fail because of sandbox
+
+ meta = with lib; {
+ description =
+ "A fancy CLI app written in Go which scrapes, downloads and packs manga into different formats";
+ homepage = "https://github.com/metafates/mangal";
+ license = licenses.mit;
+ maintainers = [ maintainers.bertof ];
+ };
+}
diff --git a/pkgs/applications/misc/pdfarranger/default.nix b/pkgs/applications/misc/pdfarranger/default.nix
index 65d8576aca40..21075dcf5c56 100644
--- a/pkgs/applications/misc/pdfarranger/default.nix
+++ b/pkgs/applications/misc/pdfarranger/default.nix
@@ -5,13 +5,13 @@
python3Packages.buildPythonApplication rec {
pname = "pdfarranger";
- version = "1.9.0";
+ version = "1.9.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "refs/tags/${version}";
- sha256 = "sha256-T7Uo4WZSmSwMHzi8jWX/fw9ZsNKF+SZFy8O2NeD6R7o=";
+ sha256 = "sha256-VMFkZsFx2pN0IrWTdc9OqkdQwuk6b4Ay4zsvN9HTHug=";
};
nativeBuildInputs = [
diff --git a/pkgs/applications/misc/streamdeck-ui/default.nix b/pkgs/applications/misc/streamdeck-ui/default.nix
index 141652e63d69..be98b3713867 100644
--- a/pkgs/applications/misc/streamdeck-ui/default.nix
+++ b/pkgs/applications/misc/streamdeck-ui/default.nix
@@ -11,13 +11,13 @@
python3Packages.buildPythonApplication rec {
pname = "streamdeck-ui";
- version = "2.0.4";
+ version = "2.0.6";
src = fetchFromGitHub {
repo = pname;
owner = "timothycrosley";
rev = "v${version}";
- hash = "sha256-NV4BkHEgfxIOuLfmn0vcPNqivmHLD6v7jLdLZgnrb0Q=";
+ sha256 = "sha256-5dk+5oefg5R68kv038gsZ2p5ixmpj/vBLBp/V7Sdos8=";
};
desktopItems = [ (makeDesktopItem {
@@ -33,11 +33,7 @@ python3Packages.buildPythonApplication rec {
postInstall =
let
udevRules = ''
- SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0060", TAG+="uaccess"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0063", TAG+="uaccess"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006c", TAG+="uaccess"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006d", TAG+="uaccess"
- SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0080", TAG+="uaccess"
+ SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", TAG+="uaccess"
'';
in
''
diff --git a/pkgs/applications/networking/instant-messengers/fractal-next/default.nix b/pkgs/applications/networking/instant-messengers/fractal-next/default.nix
index f1b8b0a9e9c7..5613fbc899b4 100644
--- a/pkgs/applications/networking/instant-messengers/fractal-next/default.nix
+++ b/pkgs/applications/networking/instant-messengers/fractal-next/default.nix
@@ -23,19 +23,19 @@
stdenv.mkDerivation rec {
pname = "fractal-next";
- version = "unstable-2022-09-09";
+ version = "5-alpha1";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "fractal";
- rev = "5f0a4b48a745ccce202d14e7d02e14f51598fb42";
- hash = "sha256-7s2ytHpM5pZ0dhnVMA8KDWIBaSWds7t9GB6Wav+0dQA=";
+ rev = version;
+ hash = "sha256-gHMfBGrq3HiGeqHx2knuc9LomgIW9QA9fCSCcQncvz0=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
- hash = "sha256-CJD9YmL06ELR3X/gIrsVCpDyJnWPbH/JF4HlXvWjiZ8=";
+ hash = "sha256-fTETUD/OaOati5HvNxto5Cw26wMclt6mxPLm4cyE3+0=";
};
nativeBuildInputs = [
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index e33ef517088a..251c77951321 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -26,12 +26,12 @@
stdenv.mkDerivation rec {
pname = "gnucash";
- version = "4.11";
+ version = "4.12";
# raw source code doesn't work out of box; fetchFromGitHub not usable
src = fetchurl {
url = "https://github.com/Gnucash/gnucash/releases/download/${version}/${pname}-${version}.tar.bz2";
- hash = "sha256-+BTt4w174N7Ar7KujQNii5rjTISLaDEuTFre2UwQKxk=";
+ hash = "sha256-zIwFGla4u0M1ZtbiiQ31nz2JWjlcjPUkbBtygQLOEK4=";
};
nativeBuildInputs = [
diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix
index f3c145ec7f45..0b5b8bb5059d 100644
--- a/pkgs/applications/science/biology/last/default.nix
+++ b/pkgs/applications/science/biology/last/default.nix
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "last";
- version = "1409";
+ version = "1411";
src = fetchFromGitLab {
owner = "mcfrith";
repo = "last";
rev = version;
- sha256 = "sha256-AFK0va1HonSWJdzJLdLraiu4LhUCJFgq6qajbbPmHuY=";
+ sha256 = "sha256-CO3tlFx9NxGplErENG6iFikgE246swPITsVR+nHzsYw=";
};
nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/science/biology/seqtk/default.nix b/pkgs/applications/science/biology/seqtk/default.nix
new file mode 100644
index 000000000000..4b855f5c0205
--- /dev/null
+++ b/pkgs/applications/science/biology/seqtk/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, zlib
+, libdeflate
+, isa-l
+}:
+
+stdenv.mkDerivation rec {
+ pname = "seqtk";
+ version = "1.3";
+
+ src = fetchFromGitHub {
+ owner = "lh3";
+ repo = "seqtk";
+ rev = "v${version}";
+ hash = "sha256-1Hw/lnoFQumuEJg1n2C6vnWkBa+VLiEiDrosghSm360=";
+ };
+
+ buildInputs = [ zlib libdeflate isa-l ];
+
+ makeFlags = [ "CC=cc" ];
+
+ installPhase = ''
+ runHook preInstall
+
+ install -Dm755 -t $out/bin seqtk
+
+ runHook postInstall
+ '';
+
+ meta = with lib; {
+ description = "Toolkit for processing sequences in FASTA/Q formats";
+ license = licenses.mit;
+ homepage = "https://github.com/lh3/seqtk";
+ platforms = platforms.all;
+ maintainers = with maintainers; [ bwlang ];
+ };
+}
diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix
index fdf60efbdd11..3bd766e7ae94 100644
--- a/pkgs/applications/virtualization/crun/default.nix
+++ b/pkgs/applications/virtualization/crun/default.nix
@@ -50,9 +50,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook go-md2man pkg-config python3 ];
- buildInputs = [ libcap libseccomp systemd yajl ]
- # Criu currently only builds on x86_64-linux
- ++ lib.optional (lib.elem stdenv.hostPlatform.system criu.meta.platforms) criu;
+ buildInputs = [ criu libcap libseccomp systemd yajl ];
enableParallelBuilding = true;
strictDeps = true;
diff --git a/pkgs/build-support/appimage/default.nix b/pkgs/build-support/appimage/default.nix
index 17d5bca65669..6d4dbfbe421b 100644
--- a/pkgs/build-support/appimage/default.nix
+++ b/pkgs/build-support/appimage/default.nix
@@ -156,11 +156,13 @@ rec {
wayland
mesa
libxkbcommon
+ vulkan-loader
flac
freeglut
libjpeg
libpng12
+ libpulseaudio
libsamplerate
libmikmod
libtheora
diff --git a/pkgs/development/compilers/julia/1.8.nix b/pkgs/development/compilers/julia/1.8.nix
new file mode 100644
index 000000000000..f09e67f1518f
--- /dev/null
+++ b/pkgs/development/compilers/julia/1.8.nix
@@ -0,0 +1,153 @@
+{ lib
+, stdenv
+, fetchurl
+, which
+, python3
+, gfortran
+, gcc
+, cmake
+, perl
+, gnum4
+, libwhich
+, libxml2
+, libunwind
+, libgit2
+, curl
+, nghttp2
+, mbedtls
+, libssh2
+, gmp
+, mpfr
+, suitesparse
+, utf8proc
+, zlib
+, p7zip
+, ncurses
+, pcre2
+}:
+
+stdenv.mkDerivation rec {
+ pname = "julia";
+ version = "1.8.1";
+
+ src = fetchurl {
+ url = "https://github.com/JuliaLang/julia/releases/download/v${version}/julia-${version}-full.tar.gz";
+ sha256 = "sha256-MeRlX0s3fnPW9YPFOdAiHte0gKPqCRgz0ABTFhhcW2E=";
+ };
+
+ patches =
+ let
+ path = name: "https://raw.githubusercontent.com/archlinux/svntogit-community/6fd126d089d44fdc875c363488a7c7435a223cec/trunk/${name}";
+ in
+ [
+ (fetchurl {
+ url = path "julia-hardcoded-libs.patch";
+ sha256 = "sha256-kppSpVA7bRohd0wXDs4Jgct9ocHnpbeiiSz7ElFom1U=";
+ })
+ (fetchurl {
+ url = path "julia-libgit-1.4.patch";
+ sha256 = "sha256-rcVXYoGpAxwAbAl33n0/Rkwsi8ZJz8cnHQ5CalUx+1o=";
+ })
+ (fetchurl {
+ url = path "julia-libunwind-1.6.patch";
+ sha256 = "sha256-zqMh9+Fjgd15XuINe9Xtpk+bRTwB0T6WCWLrJyOQfiQ=";
+ })
+ ./patches/1.8/0001-skip-symlink-system-libraries.patch
+ ./patches/1.8/0002-skip-building-doc.patch
+ ./patches/1.8/0003-skip-failing-tests.patch
+ ./patches/1.8/0004-ignore-absolute-path-when-loading-library.patch
+ ];
+
+ nativeBuildInputs = [
+ which
+ python3
+ gfortran
+ cmake
+ perl
+ gnum4
+ libwhich
+ ];
+
+ buildInputs = [
+ libxml2
+ libunwind
+ libgit2
+ curl
+ nghttp2
+ mbedtls
+ libssh2
+ gmp
+ mpfr
+ utf8proc
+ zlib
+ p7zip
+ pcre2
+ ];
+
+ JULIA_RPATH = lib.makeLibraryPath (buildInputs ++ [ stdenv.cc.cc gfortran.cc ncurses ]);
+
+ dontUseCmakeConfigure = true;
+
+ postPatch = ''
+ patchShebangs .
+ '';
+
+ LDFLAGS = "-Wl,-rpath,${JULIA_RPATH}";
+
+ makeFlags = [
+ "prefix=$(out)"
+ "USE_BINARYBUILDER=0"
+ "USE_SYSTEM_CSL=1"
+ "USE_SYSTEM_LLVM=0" # a patched version is required
+ "USE_SYSTEM_LIBUNWIND=1"
+ "USE_SYSTEM_PCRE=1"
+ "USE_SYSTEM_LIBM=0"
+ "USE_SYSTEM_OPENLIBM=0"
+ "USE_SYSTEM_DSFMT=0" # not available in nixpkgs
+ "USE_SYSTEM_LIBBLASTRAMPOLINE=0" # not available in nixpkgs
+ "USE_SYSTEM_BLAS=0" # test failure
+ "USE_SYSTEM_LAPACK=0" # test failure
+ "USE_SYSTEM_GMP=1"
+ "USE_SYSTEM_MPFR=1"
+ "USE_SYSTEM_LIBSUITESPARSE=0" # test failure
+ "USE_SYSTEM_LIBUV=0" # a patched version is required
+ "USE_SYSTEM_UTF8PROC=1"
+ "USE_SYSTEM_MBEDTLS=1"
+ "USE_SYSTEM_LIBSSH2=1"
+ "USE_SYSTEM_NGHTTP2=1"
+ "USE_SYSTEM_CURL=1"
+ "USE_SYSTEM_LIBGIT2=1"
+ "USE_SYSTEM_PATCHELF=1"
+ "USE_SYSTEM_LIBWHICH=1"
+ "USE_SYSTEM_ZLIB=1"
+ "USE_SYSTEM_P7ZIP=1"
+
+ "PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h"
+ ];
+
+ doInstallCheck = true;
+ installCheckTarget = "testall";
+
+ preInstallCheck = ''
+ export HOME="$TMPDIR"
+ export JULIA_TEST_USE_MULTIPLE_WORKERS="true"
+ '';
+
+ dontStrip = true;
+
+ postFixup = ''
+ for file in $out/bin/julia $out/lib/libjulia.so $out/lib/julia/libjulia-internal.so $out/lib/julia/libjulia-codegen.so; do
+ patchelf --set-rpath "$out/lib:$out/lib/julia:${JULIA_RPATH}" $file
+ done
+ '';
+
+ enableParallelBuilding = true;
+
+ meta = with lib; {
+ description = "High-level performance-oriented dynamical language for technical computing";
+ homepage = "https://julialang.org/";
+ license = licenses.mit;
+ maintainers = with maintainers; [ nickcao ];
+ platforms = [ "x86_64-linux" "aarch64-linux" ];
+ };
+}
diff --git a/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch b/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch
new file mode 100644
index 000000000000..5a1fdc1e75fd
--- /dev/null
+++ b/pkgs/development/compilers/julia/patches/1.8/0001-skip-symlink-system-libraries.patch
@@ -0,0 +1,32 @@
+From f342b6bfab5eee9c7fea9ddc8804d9a5ff6953eb Mon Sep 17 00:00:00 2001
+From: Nick Cao
+Date: Tue, 20 Sep 2022 18:42:08 +0800
+Subject: [PATCH 1/4] skip symlink system libraries
+
+---
+ base/Makefile | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/base/Makefile b/base/Makefile
+index 23a9c40..12f92aa 100644
+--- a/base/Makefile
++++ b/base/Makefile
+@@ -181,7 +181,6 @@ $$(build_private_libdir)/$$(libname_$2):
+ fi; \
+ fi
+ ifneq ($$(USE_SYSTEM_$1),0)
+-SYMLINK_SYSTEM_LIBRARIES += symlink_$2
+ endif
+ endef
+
+@@ -265,7 +264,6 @@ $(build_private_libdir)/libLLVM.$(SHLIB_EXT):
+ ln -sf "$$REALPATH" "$@"
+ ifneq ($(USE_SYSTEM_LLVM),0)
+ ifneq ($(USE_LLVM_SHLIB),0)
+-SYMLINK_SYSTEM_LIBRARIES += symlink_libLLVM
+ endif
+ endif
+
+--
+2.37.2
+
diff --git a/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch b/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch
new file mode 100644
index 000000000000..8b3da95ba915
--- /dev/null
+++ b/pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch
@@ -0,0 +1,25 @@
+From 6a7723be33261cdc302e0f7bdb37fb50d30cc5fc Mon Sep 17 00:00:00 2001
+From: Nick Cao
+Date: Tue, 20 Sep 2022 18:42:31 +0800
+Subject: [PATCH 2/4] skip building doc
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index d38311d..a775d36 100644
+--- a/Makefile
++++ b/Makefile
+@@ -227,7 +227,7 @@ define stringreplace
+ endef
+
+
+-install: $(build_depsbindir)/stringreplace $(BUILDROOT)/doc/_build/html/en/index.html
++install: $(build_depsbindir)/stringreplace
+ ifeq ($(BUNDLE_DEBUG_LIBS),1)
+ @$(MAKE) $(QUIET_MAKE) all
+ else
+--
+2.37.2
+
diff --git a/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch b/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch
new file mode 100644
index 000000000000..2d6745c8a215
--- /dev/null
+++ b/pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch
@@ -0,0 +1,25 @@
+From a57c582eabc4703ed627b32f7f11893db9676fb6 Mon Sep 17 00:00:00 2001
+From: Nick Cao
+Date: Tue, 20 Sep 2022 18:42:59 +0800
+Subject: [PATCH 3/4] skip failing tests
+
+---
+ test/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/Makefile b/test/Makefile
+index 24e137a..0e82acf 100644
+--- a/test/Makefile
++++ b/test/Makefile
+@@ -23,7 +23,7 @@ default:
+
+ $(TESTS):
+ @cd $(SRCDIR) && \
+- $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl $@)
++ $(call PRINT_JULIA, $(call spawn,$(JULIA_EXECUTABLE)) --check-bounds=yes --startup-file=no --depwarn=error ./runtests.jl --skip LibGit2_jll --skip MozillaCACerts_jll --skip NetworkOptions --skip nghttp2_jll $@)
+
+ $(addprefix revise-, $(TESTS)): revise-% :
+ @cd $(SRCDIR) && \
+--
+2.37.2
+
diff --git a/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch b/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch
new file mode 100644
index 000000000000..eefde7c6b03b
--- /dev/null
+++ b/pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch
@@ -0,0 +1,27 @@
+From a60100f06f48fbb4697aced65175bf3d41185e3e Mon Sep 17 00:00:00 2001
+From: Nick Cao
+Date: Tue, 20 Sep 2022 18:43:15 +0800
+Subject: [PATCH 4/4] ignore absolute path when loading library
+
+---
+ cli/loader_lib.c | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/cli/loader_lib.c b/cli/loader_lib.c
+index 0301b6e..5cbda61 100644
+--- a/cli/loader_lib.c
++++ b/cli/loader_lib.c
+@@ -50,9 +50,7 @@ static void * load_library(const char * rel_path, const char * src_dir, int err)
+ #endif
+
+ char path[2*JL_PATH_MAX + 1] = {0};
+- strncat(path, src_dir, sizeof(path) - 1);
+- strncat(path, PATHSEPSTRING, sizeof(path) - 1);
+- strncat(path, rel_path, sizeof(path) - 1);
++ strncat(path, basename, sizeof(path) - 1);
+
+ #if defined(_OS_WINDOWS_)
+ wchar_t wpath[2*JL_PATH_MAX + 1] = {0};
+--
+2.37.2
+
diff --git a/pkgs/development/compilers/swi-prolog/default.nix b/pkgs/development/compilers/swi-prolog/default.nix
index d53d1426a94b..80400516fc86 100644
--- a/pkgs/development/compilers/swi-prolog/default.nix
+++ b/pkgs/development/compilers/swi-prolog/default.nix
@@ -34,7 +34,7 @@
}:
let
- version = "8.3.29";
+ version = "8.5.17";
packInstall = swiplPath: pack:
''${swiplPath}/bin/swipl -g "pack_install(${pack}, [package_directory(\"${swiplPath}/lib/swipl/pack\"), silent(true), interactive(false)])." -t "halt."
'';
@@ -47,7 +47,7 @@ stdenv.mkDerivation {
owner = "SWI-Prolog";
repo = "swipl-devel";
rev = "V${version}";
- sha256 = "sha256-2QYY3VDG3dhbv5gtSid4eMYMxhhpggCedJL+RhtbbaU=";
+ sha256 = "sha256-n1o6eG40DHnmNXuifQC6UFwGzuiL22V++0qRmq1RSzc=";
fetchSubmodules = true;
};
diff --git a/pkgs/development/libraries/ffmpeg/5.nix b/pkgs/development/libraries/ffmpeg/5.nix
index b16bd4ddf381..d09d7ccd1cec 100644
--- a/pkgs/development/libraries/ffmpeg/5.nix
+++ b/pkgs/development/libraries/ffmpeg/5.nix
@@ -5,8 +5,8 @@
}@args:
callPackage ./generic.nix (rec {
- version = "5.1.1";
+ version = "5.1.2";
branch = version;
- sha256 = "sha256-zQ4W+QNCEmbVzN3t97g7nldUrvS596fwbOnkyALwVFs=";
+ sha256 = "sha256-OaC8yNmFSfFsVwYkZ4JGpqxzbAZs69tAn5UC6RWyLys=";
darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
} // args)
diff --git a/pkgs/development/libraries/quarto/default.nix b/pkgs/development/libraries/quarto/default.nix
new file mode 100644
index 000000000000..38eea0a70f56
--- /dev/null
+++ b/pkgs/development/libraries/quarto/default.nix
@@ -0,0 +1,68 @@
+{ stdenv
+, lib
+, pandoc
+, esbuild
+, deno
+, fetchurl
+, nodePackages
+, rWrapper
+, rPackages
+, makeWrapper
+, python3
+}:
+
+stdenv.mkDerivation rec {
+ pname = "quarto";
+ version = "1.1.189";
+ src = fetchurl {
+ url = "https://github.com/quarto-dev/quarto-cli/releases/download/v${version}/quarto-${version}-linux-amd64.tar.gz";
+ sha256 = "1a3xsgqdccm4ky1xjnin1idpp8gsansskq37c00mrxz1raxn1mi7";
+ };
+
+ nativeBuildInputs = [
+ makeWrapper
+ ];
+
+ patches = [
+ ./fix-deno-path.patch
+ ];
+
+ dontStrip = true;
+
+ preFixup = ''
+ wrapProgram $out/bin/quarto \
+ --prefix PATH : ${lib.makeBinPath [ deno ]} \
+ --prefix QUARTO_PANDOC : ${pandoc}/bin/pandoc \
+ --prefix QUARTO_ESBUILD : ${esbuild}/bin/esbuild \
+ --prefix QUARTO_DART_SASS : ${nodePackages.sass}/bin/sass \
+ --prefix QUARTO_R : ${rWrapper.override { packages = [ rPackages.rmarkdown]; }}/bin/R \
+ --prefix QUARTO_PYTHON : ${python3.withPackages (ps: with ps; [ jupyter ipython ])}/bin/python3
+ '';
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/bin $out/share
+
+ rm -r bin/tools
+
+ mv bin/* $out/bin
+ mv share/* $out/share
+
+ runHook preInstall
+ '';
+
+ meta = with lib; {
+ description = "Open-source scientific and technical publishing system built on Pandoc";
+ longDescription = ''
+ Quarto is an open-source scientific and technical publishing system built on Pandoc.
+ Quarto documents are authored using markdown, an easy to write plain text format.
+ '';
+ homepage = "https://quarto.org/";
+ changelog = "https://github.com/quarto-dev/quarto-cli/releases/tag/v${version}";
+ license = licenses.gpl2Plus;
+ maintainers = with maintainers; [ mrtarantoga ];
+ platforms = [ "x86_64-linux" ];
+ sourceProvenance = with sourceTypes; [ binaryNativeCode binaryBytecode ];
+ };
+}
diff --git a/pkgs/development/libraries/quarto/fix-deno-path.patch b/pkgs/development/libraries/quarto/fix-deno-path.patch
new file mode 100644
index 000000000000..895419712ad8
--- /dev/null
+++ b/pkgs/development/libraries/quarto/fix-deno-path.patch
@@ -0,0 +1,8 @@
+--- a/bin/quarto
++++ b/bin/quarto
+@@ -125,4 +125,4 @@ fi
+ # Be sure to include any already defined QUARTO_DENO_OPTIONS
+ QUARTO_DENO_OPTIONS="--unstable --no-config --cached-only --allow-read --allow-write --allow-run --allow-env --allow-net --allow-ffi ${QUARTO_DENO_OPTIONS}"
+
+-"${QUARTO_DENO}" ${QUARTO_ACTION} ${QUARTO_DENO_OPTIONS} ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_ARGMAP}" "${QUARTO_TARGET}" "$@"
++deno ${QUARTO_ACTION} ${QUARTO_DENO_OPTIONS} ${QUARTO_DENO_EXTRA_OPTIONS} "${QUARTO_IMPORT_ARGMAP}" "${QUARTO_TARGET}" "$@"
diff --git a/pkgs/development/libraries/science/math/cudnn/extension.nix b/pkgs/development/libraries/science/math/cudnn/extension.nix
index 01ec5e4b9b5d..fae958c31d17 100644
--- a/pkgs/development/libraries/science/math/cudnn/extension.nix
+++ b/pkgs/development/libraries/science/math/cudnn/extension.nix
@@ -111,6 +111,6 @@ final: prev: let
"11.4" = "8.3.2";
"11.5" = "8.3.2";
"11.6" = "8.3.2";
- }.${cudaVersion};
+ }.${cudaVersion} or "8.3.2";
in cuDnnPackages
diff --git a/pkgs/development/libraries/science/math/tensorrt/extension.nix b/pkgs/development/libraries/science/math/tensorrt/extension.nix
index 8e9f64885bad..b76d35a0d84f 100644
--- a/pkgs/development/libraries/science/math/tensorrt/extension.nix
+++ b/pkgs/development/libraries/science/math/tensorrt/extension.nix
@@ -58,6 +58,6 @@ final: prev: let
"11.4" = "8.4.0";
"11.5" = "8.4.0";
"11.6" = "8.4.0";
- }.${cudaVersion};
+ }.${cudaVersion} or "8.4.0";
in tensorRTPackages
diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix
index 31a823ddff75..b277c996be2e 100644
--- a/pkgs/development/php-packages/phpstan/default.nix
+++ b/pkgs/development/php-packages/phpstan/default.nix
@@ -1,14 +1,14 @@
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
let
pname = "phpstan";
- version = "1.8.5";
+ version = "1.8.6";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
- sha256 = "sha256-4OScF/hdzWA4kT7YZ/ltZdkmUO42YaTTtTfbl9iRr1I=";
+ sha256 = "sha256-8scUd8BT6u9rqBPoaXozkn6H9PIWF/MWNWT9y8RwPkg=";
};
dontUnpack = true;
diff --git a/pkgs/development/python-modules/canonicaljson/default.nix b/pkgs/development/python-modules/canonicaljson/default.nix
index e5ecff7837f9..feee27e852ec 100644
--- a/pkgs/development/python-modules/canonicaljson/default.nix
+++ b/pkgs/development/python-modules/canonicaljson/default.nix
@@ -9,21 +9,26 @@
buildPythonPackage rec {
pname = "canonicaljson";
- version = "1.6.2";
- format = "setuptools";
+ version = "1.6.3";
+ format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
- hash = "sha256-rwC+jOnFiYV98Xa7lFlPDUOw4CfwJ6jXz4l4/bgZAko=";
+ hash = "sha256-yll2C8J0qJmg2nWAnWkJrkPlEjOB/W7wQKRNGVLAtEg=";
};
propagatedBuildInputs = [
- frozendict
simplejson
];
+ passthru.optional-dependencies = {
+ frozendict = [
+ frozendict
+ ];
+ };
+
checkInputs = [
pytestCheckHook
];
diff --git a/pkgs/development/python-modules/distutils_extra/default.nix b/pkgs/development/python-modules/distutils_extra/default.nix
index ffa49fec14df..9214c3b430a9 100644
--- a/pkgs/development/python-modules/distutils_extra/default.nix
+++ b/pkgs/development/python-modules/distutils_extra/default.nix
@@ -5,17 +5,20 @@
buildPythonPackage rec {
pname = "distutils-extra";
- version = "2.45";
+ version = "2.47";
+ format = "setuptools";
src = fetchurl {
url = "https://salsa.debian.org/python-team/modules/python-distutils-extra/-/archive/${version}/python-${pname}-${version}.tar.bz2";
- sha256 = "1aifizd4nkvdnkwdna7i6xgjcqi1cf228bg8kmnwz67f5rflk3z8";
+ hash = "sha256-vIl50yDVt5AW5lteWYqhAPlu8ErroOOJ1N/sfE2fbBU=";
};
# Tests are out-dated as the last upstream release is from 2016
doCheck = false;
- pythonImportsCheck = [ "DistUtilsExtra" ];
+ pythonImportsCheck = [
+ "DistUtilsExtra"
+ ];
meta = with lib; {
description = "Enhancements to Python's distutils";
diff --git a/pkgs/development/python-modules/dunamai/default.nix b/pkgs/development/python-modules/dunamai/default.nix
index 0d1b183e238e..65a9f4b0dcb0 100644
--- a/pkgs/development/python-modules/dunamai/default.nix
+++ b/pkgs/development/python-modules/dunamai/default.nix
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "dunamai";
- version = "1.13.0";
+ version = "1.13.1";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "mtkennerly";
repo = "dunamai";
rev = "refs/tags/v${version}";
- sha256 = "sha256-0x1bwu5X1P8f51NeupEQc0eghaqQIp3jb2uwZ0JDbgQ=";
+ sha256 = "sha256-UoqVfRdwOgxNLY17+dPgYO1GIPw3ZUwE/tiVzHjBxcY=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix
index 05644d43310f..8815da5dfdee 100644
--- a/pkgs/development/python-modules/fastapi/default.nix
+++ b/pkgs/development/python-modules/fastapi/default.nix
@@ -9,6 +9,8 @@
, databases
, flask
, httpx
+, hatchling
+, orjson
, passlib
, peewee
, python-jose
@@ -19,18 +21,22 @@
buildPythonPackage rec {
pname = "fastapi";
- version = "0.79.1";
- format = "flit";
+ version = "0.85.0";
+ format = "pyproject";
- disabled = pythonOlder "3.6";
+ disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "tiangolo";
repo = pname;
rev = "refs/tags/${version}";
- hash = "sha256-vriEwUcdITKLeIy1++dvsl5Guhtjlk2WZQrprVQsYMc=";
+ hash = "sha256-mgrw5MQMqFcXExtsu/jW01dMlygfE1GzSqXHI6BG7j4=";
};
+ nativeBuildInputs = [
+ hatchling
+ ];
+
postPatch = ''
substituteInPlace pyproject.toml \
--replace "starlette==" "starlette>="
@@ -46,6 +52,7 @@ buildPythonPackage rec {
databases
flask
httpx
+ orjson
passlib
peewee
python-jose
diff --git a/pkgs/development/python-modules/geopandas/default.nix b/pkgs/development/python-modules/geopandas/default.nix
index 02601febe6a2..74d48ff8a784 100644
--- a/pkgs/development/python-modules/geopandas/default.nix
+++ b/pkgs/development/python-modules/geopandas/default.nix
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "geopandas";
- version = "0.11.0";
+ version = "0.11.1";
format = "setuptools";
disabled = pythonOlder "3.8";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "geopandas";
repo = "geopandas";
rev = "v${version}";
- hash = "sha256-w3F2Uqr/+DdG2Td5YmHdF/LII2y29rQkGK5ooMUcfRk=";
+ hash = "sha256-vL+zC8q7bif5pheq6pz7XRfzMKLaLQ0xDceTz0imw/E=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/jarowinkler/default.nix b/pkgs/development/python-modules/jarowinkler/default.nix
index a8e194f1ddd7..03e32e56af31 100644
--- a/pkgs/development/python-modules/jarowinkler/default.nix
+++ b/pkgs/development/python-modules/jarowinkler/default.nix
@@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "jarowinkler";
- version = "1.2.1";
+ version = "1.2.2";
disabled = pythonOlder "3.6";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "maxbachmann";
repo = "JaroWinkler";
rev = "refs/tags/v${version}";
- hash = "sha256-h9sR8j5avUhY+qpzKZ54O67uTjkk2JuOvMBVaohvbUk=";
+ hash = "sha256-1jImgRvGQ2x3Swkq43gq0IhgZTzIBtedoqN11hvDGns=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/luftdaten/default.nix b/pkgs/development/python-modules/luftdaten/default.nix
index e14db125fba5..db43387df27a 100644
--- a/pkgs/development/python-modules/luftdaten/default.nix
+++ b/pkgs/development/python-modules/luftdaten/default.nix
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "luftdaten";
- version = "0.7.2";
+ version = "0.7.3";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "home-assistant-ecosystem";
repo = "python-luftdaten";
rev = version;
- sha256 = "sha256-tYaY/F4mdO5k+Oj+RkNFWP8xqh1xuDyoAKBFzAhamkA=";
+ sha256 = "sha256-+wIouOHIYgjIrObos21vzdKFQLhwutorarVUBDxCsaA=";
};
nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/nats-py/default.nix b/pkgs/development/python-modules/nats-py/default.nix
index 8637580c39d3..069cda129d1a 100644
--- a/pkgs/development/python-modules/nats-py/default.nix
+++ b/pkgs/development/python-modules/nats-py/default.nix
@@ -1,4 +1,5 @@
{ lib
+, stdenv
, buildPythonPackage
, ed25519
, fetchFromGitHub
@@ -10,7 +11,7 @@
buildPythonPackage rec {
pname = "nats-py";
- version = "2.1.4";
+ version = "2.1.7";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -19,7 +20,7 @@ buildPythonPackage rec {
owner = "nats-io";
repo = "nats.py";
rev = "refs/tags/v${version}";
- hash = "sha256-gLNMKLkufy/+zS5quH/UYXBIBfkZUyHtB0TiPNEBw6I=";
+ hash = "sha256-K2ugTwfeYrdBnXFV9SHNQP+fNvUmc1yuy53gpGmmvS0=";
};
propagatedBuildInputs = [
@@ -38,21 +39,13 @@ buildPythonPackage rec {
'';
disabledTests = [
- # RuntimeError: Event loop is closed
- "test_subscribe_no_echo"
- "test_publish"
- "test_publish_verbose"
- "test_fetch_max_waiting_fetch_one"
+ # AssertionError: assert 5 == 0
+ "test_pull_subscribe_limits"
"test_fetch_n"
- "test_consumer_management"
- "test_ephemeral_subscribe"
- "test_queue_subscribe_deliver_group"
- "test_subscribe_push_bound"
- "test_double_acking_subscribe"
- "test_flow_control"
- "test_ordered_consumer"
- "test_ordered_consumer_single_loss"
- "test_kv_simple"
+ "test_subscribe_no_echo"
+ ] ++ lib.optionals stdenv.isDarwin [
+ "test_subscribe_iterate_next_msg"
+ "test_buf_size_force_flush_timeout"
];
pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/pyunifiprotect/default.nix b/pkgs/development/python-modules/pyunifiprotect/default.nix
index 11d325750913..aa25a6a5dc34 100644
--- a/pkgs/development/python-modules/pyunifiprotect/default.nix
+++ b/pkgs/development/python-modules/pyunifiprotect/default.nix
@@ -3,6 +3,7 @@
, aiohttp
, aioshutil
, buildPythonPackage
+, dateparser
, fetchFromGitHub
, ipython
, orjson
@@ -28,7 +29,7 @@
buildPythonPackage rec {
pname = "pyunifiprotect";
- version = "4.2.0";
+ version = "4.3.3";
format = "pyproject";
disabled = pythonOlder "3.9";
@@ -37,13 +38,12 @@ buildPythonPackage rec {
owner = "briis";
repo = pname;
rev = "refs/tags/v${version}";
- hash = "sha256-DBOPHeSEdM6cev2BZs1AwXmzNPVsekNklu9c+KhECiI=";
+ hash = "sha256-77vBKca4S0XEa5O4ntuBW8uEwVig7IBH6BX3QEmvHWc=";
};
postPatch = ''
substituteInPlace pyproject.toml \
- --replace "--cov=pyunifiprotect --cov-append" ""
- substituteInPlace setup.cfg \
+ --replace "--cov=pyunifiprotect --cov-append" "" \
--replace "pydantic!=1.9.1" "pydantic"
'';
@@ -55,6 +55,7 @@ buildPythonPackage rec {
aiofiles
aiohttp
aioshutil
+ dateparser
orjson
packaging
pillow
@@ -62,7 +63,7 @@ buildPythonPackage rec {
pyjwt
pytz
typer
- ];
+ ] ++ typer.optional-dependencies.all;
passthru.optional-dependencies = {
shell = [
diff --git a/pkgs/development/python-modules/pyupgrade/default.nix b/pkgs/development/python-modules/pyupgrade/default.nix
index 8c7bf8bbb607..9bb458151a83 100644
--- a/pkgs/development/python-modules/pyupgrade/default.nix
+++ b/pkgs/development/python-modules/pyupgrade/default.nix
@@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "pyupgrade";
- version = "2.38.0";
+ version = "2.38.1";
format = "setuptools";
disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "asottile";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-dSCo6qB7ON0V2BZoVVaV3X2VMgrjBwZ18wiiDj/+U94=";
+ sha256 = "sha256-OWV8SdxvAYxkBj/3pPXgnEZ5RS3R+wBWJVMkqcQirEU=";
};
checkInputs = [
diff --git a/pkgs/development/python-modules/rq/default.nix b/pkgs/development/python-modules/rq/default.nix
index 01c3202767b2..49c55c5d9734 100644
--- a/pkgs/development/python-modules/rq/default.nix
+++ b/pkgs/development/python-modules/rq/default.nix
@@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "rq";
- version = "1.11";
+ version = "1.11.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "rq";
repo = "rq";
rev = "refs/tags/v${version}";
- hash = "sha256-fv+b5WmODaQkd8T+O8MuJ+XVC3dQ5hZwxMHtBBuqQ7Y=";
+ hash = "sha256-7l/ckkDchs+iRDZLHrm4TYwA9wAJAnw9kYSaAbSo0jY=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/rstcheck/default.nix b/pkgs/development/python-modules/rstcheck/default.nix
index b5a3ccefc08c..a3789b97088a 100644
--- a/pkgs/development/python-modules/rstcheck/default.nix
+++ b/pkgs/development/python-modules/rstcheck/default.nix
@@ -1,6 +1,5 @@
{ lib
, buildPythonPackage
-, colorama
, docutils
, fetchFromGitHub
, importlib-metadata
@@ -9,7 +8,6 @@
, pytestCheckHook
, pythonOlder
, rstcheck-core
-, shellingham
, typer
, types-docutils
, typing-extensions
@@ -17,7 +15,7 @@
buildPythonPackage rec {
pname = "rstcheck";
- version = "6.0.0.post1";
+ version = "6.1.0";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -26,7 +24,7 @@ buildPythonPackage rec {
owner = "rstcheck";
repo = pname;
rev = "v${version}";
- hash = "sha256-Ljg1cciT9qKL9xtBxQ8OLygDpV/1yR5XiJOzHrLr6xw=";
+ hash = "sha256-dw/KggiZpKaFZMcTIaSBUhR4oQsZI3iSmEj9Sy80wTs=";
};
nativeBuildInputs = [
@@ -34,10 +32,8 @@ buildPythonPackage rec {
];
propagatedBuildInputs = [
- colorama
docutils
rstcheck-core
- shellingham
types-docutils
typing-extensions
pydantic
@@ -45,7 +41,7 @@ buildPythonPackage rec {
] ++ lib.optionals (pythonOlder "3.8") [
typing-extensions
importlib-metadata
- ];
+ ] ++ typer.optional-dependencies.all;
checkInputs = [
pytestCheckHook
@@ -53,6 +49,7 @@ buildPythonPackage rec {
postPatch = ''
substituteInPlace pyproject.toml \
+ --replace 'docutils = ">=0.7, <0.19"' 'docutils = ">=0.7"' \
--replace 'types-docutils = ">=0.18, <0.19"' 'types-docutils = ">=0.18"'
'';
diff --git a/pkgs/development/python-modules/siosocks/default.nix b/pkgs/development/python-modules/siosocks/default.nix
index d588c2dff625..a1235b41a76a 100644
--- a/pkgs/development/python-modules/siosocks/default.nix
+++ b/pkgs/development/python-modules/siosocks/default.nix
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "siosocks";
- version = "0.2.0";
+ version = "0.3.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-k2+qTtxkF0rT5LLPW8icePbf9jNopdo9uDp3NPA9SRo=";
+ sha256 = "sha256-uja79vWhPYOhhTUBIh+XpS4GnrYJy0/XpDXXQjnyHWM=";
};
propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/skodaconnect/default.nix b/pkgs/development/python-modules/skodaconnect/default.nix
index 2d389fa4c5c4..a874e668e475 100644
--- a/pkgs/development/python-modules/skodaconnect/default.nix
+++ b/pkgs/development/python-modules/skodaconnect/default.nix
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "skodaconnect";
- version = "1.1.23";
+ version = "1.1.25";
format = "setuptools";
disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "lendy007";
repo = pname;
rev = "refs/tags/${version}";
- hash = "sha256-nRGuDcllBAJTGjA0CIPOX/WCO04dYCm+AFC/aYKiBdY=";
+ hash = "sha256-Zky1PShQE/V2pSJURYTQHnsqdfsD3k7DWMnDidmwfxs=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/typer/default.nix b/pkgs/development/python-modules/typer/default.nix
index 2019a956ce54..35a946c6079b 100644
--- a/pkgs/development/python-modules/typer/default.nix
+++ b/pkgs/development/python-modules/typer/default.nix
@@ -1,6 +1,7 @@
{ lib
, stdenv
, buildPythonPackage
+, colorama
, fetchpatch
, fetchPypi
, flit-core
@@ -23,7 +24,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
- sha256 = "sha256-LVcgpeY/c+rzHtqhX2q4fzXwaQ+MojMBfX0j10OpHXM=";
+ hash = "sha256-LVcgpeY/c+rzHtqhX2q4fzXwaQ+MojMBfX0j10OpHXM=";
};
nativeBuildInputs = [
@@ -34,14 +35,20 @@ buildPythonPackage rec {
click
];
+ passthru.optional-dependencies = {
+ all = [
+ colorama
+ shellingham
+ rich
+ ];
+ };
+
checkInputs = [
- pytestCheckHook
- pytest-xdist
- pytest-sugar
- shellingham
- rich
coverage # execs coverage in tests
- ];
+ pytest-sugar
+ pytest-xdist
+ pytestCheckHook
+ ] ++ passthru.optional-dependencies.all;
preCheck = ''
export HOME=$(mktemp -d);
@@ -54,10 +61,12 @@ buildPythonPackage rec {
"test_install_completion"
];
- pythonImportsCheck = [ "typer" ];
+ pythonImportsCheck = [
+ "typer"
+ ];
meta = with lib; {
- description = "Python library for building CLI applications";
+ description = "Library for building CLI applications";
homepage = "https://typer.tiangolo.com/";
license = licenses.mit;
maintainers = with maintainers; [ winpat ];
diff --git a/pkgs/development/tools/gdlv/default.nix b/pkgs/development/tools/gdlv/default.nix
new file mode 100644
index 000000000000..55e44238b495
--- /dev/null
+++ b/pkgs/development/tools/gdlv/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, buildGoModule, fetchFromGitHub, OpenGL }:
+
+buildGoModule rec {
+ pname = "gdlv";
+ version = "1.8.0";
+
+ src = fetchFromGitHub {
+ owner = "aarzilli";
+ repo = "gdlv";
+ rev = "v${version}";
+ sha256 = "sha256-G1/Wbz836yfGZ/1ArICrNbWU6eh4SHXDmo4FKkjUszY=";
+ };
+
+ vendorSha256 = null;
+ subPackages = ".";
+
+ buildInputs = lib.optionals stdenv.isDarwin [ OpenGL ];
+
+ meta = with lib; {
+ description = "GUI frontend for Delve";
+ homepage = "https://github.com/aarzilli/gdlv";
+ maintainers = with maintainers; [ mmlb ];
+ license = licenses.gpl3;
+ };
+}
diff --git a/pkgs/development/tools/godot/export-templates.nix b/pkgs/development/tools/godot/export-templates.nix
index bfcf3e3b3dca..9d306365f190 100644
--- a/pkgs/development/tools/godot/export-templates.nix
+++ b/pkgs/development/tools/godot/export-templates.nix
@@ -10,6 +10,14 @@ godot.overrideAttrs (oldAttrs: rec {
mkdir -p "$out/share/godot/templates/${oldAttrs.version}.stable"
cp bin/godot.x11.opt.64 $out/share/godot/templates/${oldAttrs.version}.stable/linux_x11_64_release
'';
+
+ # https://docs.godotengine.org/en/stable/development/compiling/optimizing_for_size.html
+ # Stripping reduces the template size from around 500MB to 40MB for Linux.
+ # This also impacts the size of the exported games.
+ # This is added explicitly here because mkDerivation does not automatically
+ # strip binaries in the template directory.
+ stripAllList = (oldAttrs.stripAllList or []) ++ [ "share/godot/templates" ];
+
outputs = [ "out" ];
meta.description =
"Free and Open Source 2D and 3D game engine (export templates)";
diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix
index 8d41b7488e4d..cd57796b0bc3 100644
--- a/pkgs/development/tools/misc/texlab/default.nix
+++ b/pkgs/development/tools/misc/texlab/default.nix
@@ -14,16 +14,16 @@ let
isCross = stdenv.hostPlatform != stdenv.buildPlatform;
in rustPlatform.buildRustPackage rec {
pname = "texlab";
- version = "4.2.2";
+ version = "4.3.0";
src = fetchFromGitHub {
owner = "latex-lsp";
repo = pname;
rev = "refs/tags/v${version}";
- sha256 = "sha256-vGKDngFYh24wwR5nAYEz1GXm+K4sqEBvOp9jsioE0wU=";
+ sha256 = "sha256-PhzxWLkqsHU32vIZwHzdy86bwIzDDmnxp12PS774P3k=";
};
- cargoSha256 = "sha256-s2gQuLkPxKQceGl3II9D6vWisYgL+YCI/YhX+mSyPoo=";
+ cargoSha256 = "sha256-tH566L0oHnI9mNp1KtJYaBaWCkiAOrtBYkfVSCA2N6w=";
outputs = [ "out" ] ++ lib.optional (!isCross) "man";
@@ -48,7 +48,7 @@ in rustPlatform.buildRustPackage rec {
# generate the man page
+ lib.optionalString (!isCross) ''
# TexLab builds man page separately in CI:
- # https://github.com/latex-lsp/texlab/blob/v4.2.2/.github/workflows/publish.yml#L131-L135
+ # https://github.com/latex-lsp/texlab/blob/v4.3.0/.github/workflows/publish.yml#L131-L135
help2man --no-info "$out/bin/texlab" > texlab.1
installManPage texlab.1
'';
diff --git a/pkgs/development/tools/rust/humility/default.nix b/pkgs/development/tools/rust/humility/default.nix
new file mode 100644
index 000000000000..92e3e78077c1
--- /dev/null
+++ b/pkgs/development/tools/rust/humility/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, libusb
+, libftdi
+, cargo-readme
+, pkg-config
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "humility";
+ version = "unstable-2022-09-15";
+
+ nativeBuildInputs = [ pkg-config cargo-readme ];
+ buildInputs = [ libusb libftdi ];
+
+ src = fetchFromGitHub {
+ owner = "oxidecomputer";
+ repo = pname;
+ rev = "d336c21c7b6da7f8203a9331c7657581de2bc6ad";
+ sha256 = "sha256-yW7QcxTWbL2YsV2bvfhbqQ2nawlPQbYxBfIGCWo28GY=";
+ };
+
+ cargoSha256 = "sha256-UhO8VO3OCfYc8Xq/P+l9f5ZrhOD/TBzSClAeAXLJLlc=";
+
+ meta = with lib; {
+ description = "Debugger for Hubris";
+ homepage = "https://github.com/oxidecomputer/humility";
+ license = with licenses; [ mpl20 ];
+ maintainers = with maintainers; [ therishidesai ];
+ };
+}
diff --git a/pkgs/games/unciv/default.nix b/pkgs/games/unciv/default.nix
index 522c845c471d..f61e67635903 100644
--- a/pkgs/games/unciv/default.nix
+++ b/pkgs/games/unciv/default.nix
@@ -25,11 +25,11 @@ let
in
stdenv.mkDerivation rec {
pname = "unciv";
- version = "4.2.6";
+ version = "4.2.11";
src = fetchurl {
url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
- sha256 = "sha256-AJqD8xF+FIKw34NhcnYCexXRs8aIzL8XDHhs5fGBTn0=";
+ sha256 = "sha256-bA1rz4PvpcdMSGob+KIdSpyq6ePlLj8l61r0+XclfZY=";
};
dontUnpack = true;
diff --git a/pkgs/os-specific/darwin/defaultbrowser/default.nix b/pkgs/os-specific/darwin/defaultbrowser/default.nix
new file mode 100644
index 000000000000..be3dcd417731
--- /dev/null
+++ b/pkgs/os-specific/darwin/defaultbrowser/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub, Foundation }:
+
+stdenv.mkDerivation rec {
+ pname = "defaultbrowser";
+ version = "unstable-2020-07-23";
+
+ src = fetchFromGitHub {
+ owner = "kerma";
+ repo = pname;
+ rev = "d2860c00dd7fbb5d615232cc819d7d492a6a6ddb";
+ sha256 = "sha256-SelUQXoKtShcDjq8uKg3wM0kG2opREa2DGQCDd6IsOQ=";
+ };
+
+ makeFlags = [ "CC=cc" "PREFIX=$(out)" ];
+
+ buildInputs = [ Foundation ];
+
+ meta = with lib; {
+ mainProgram = "defaultbrowser";
+ description = "Command line tool for getting and setting a default browser (HTTP handler) in Mac OS X";
+ homepage = "https://github.com/kerma/defaultbrowser";
+ platforms = platforms.darwin;
+ maintainers = with maintainers; [ Enzime ];
+ license = licenses.mit;
+ };
+}
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix
index 17ecdc60ef93..a312ecb76da7 100644
--- a/pkgs/servers/mastodon/default.nix
+++ b/pkgs/servers/mastodon/default.nix
@@ -52,6 +52,9 @@ stdenv.mkDerivation rec {
buildPhase = ''
export HOME=$PWD
+ # This option is needed for openssl-3 compatibility
+ # Otherwise we encounter this upstream issue: https://github.com/mastodon/mastodon/issues/17924
+ export NODE_OPTIONS=--openssl-legacy-provider
fixup_yarn_lock ~/yarn.lock
yarn config --offline set yarn-offline-mirror ${yarnOfflineCache}
yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 61f48824ea45..9d83d12f3e43 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,12 +1,12 @@
{lib, stdenv, fetchurl, cyrus_sasl, libevent, nixosTests }:
stdenv.mkDerivation rec {
- version = "1.6.16";
+ version = "1.6.17";
pname = "memcached";
src = fetchurl {
url = "https://memcached.org/files/${pname}-${version}.tar.gz";
- sha256 = "sha256-MFGpO/HdDDry0OWJ/272UR+HY4WjWxjp/4dB5KGrNNo=";
+ sha256 = "sha256-IFXjc2E9j8IVKa/58K3OPiO5zgG6BHjTDnlB2fK9EiQ=";
};
configureFlags = [
diff --git a/pkgs/servers/monitoring/prometheus/kthxbye.nix b/pkgs/servers/monitoring/prometheus/kthxbye.nix
new file mode 100644
index 000000000000..ab7812081fad
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/kthxbye.nix
@@ -0,0 +1,39 @@
+{ pkgs
+, lib
+, buildGoModule
+, fetchFromGitHub
+, nixosTests
+}:
+
+buildGoModule rec {
+ pname = "kthxbye";
+ version = "0.15";
+
+ src = fetchFromGitHub rec {
+ owner = "prymitive";
+ repo = "kthxbye";
+ rev = "v${version}";
+ hash = "sha256-N1MzutjzLk9MnE1b7dKRsiS7LL4Nb61+NpmjTBPGohI=";
+ };
+
+ vendorHash = "sha256-PtINxblqX/wxJyN42mS+hmwMy0lCd6FcQgmBnxTUdcc=";
+
+ buildPhase = ''
+ make -j$NIX_BUILD_CORES
+ '';
+
+ installPhase = ''
+ install -Dm755 ./kthxbye -t $out/bin
+ '';
+
+ passthru.tests = {
+ kthxbye = nixosTests.kthxbye;
+ };
+
+ meta = with lib; {
+ description = "Prometheus Alertmanager alert acknowledgement management daemon";
+ homepage = "https://github.com/prymitive/kthxbye";
+ license = licenses.asl20;
+ maintainers = with maintainers; [ nukaduka ];
+ };
+}
diff --git a/pkgs/tools/backup/discordchatexporter-cli/default.nix b/pkgs/tools/backup/discordchatexporter-cli/default.nix
index ba93488625e4..33b072ddcb15 100644
--- a/pkgs/tools/backup/discordchatexporter-cli/default.nix
+++ b/pkgs/tools/backup/discordchatexporter-cli/default.nix
@@ -8,13 +8,13 @@
buildDotnetModule rec {
pname = "discordchatexporter-cli";
- version = "2.36";
+ version = "2.36.1";
src = fetchFromGitHub {
owner = "tyrrrz";
repo = "discordchatexporter";
rev = version;
- sha256 = "0PHTW1fo+bp2OwyNeUfBXMn+aVWQc4mc+T6BEzG/gDA=";
+ sha256 = "svBVXny8ZsZnXG5cDPDKlR2dNhPzPOW4VGaOZkLrRNA=";
};
projectFile = "DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj";
diff --git a/pkgs/tools/misc/3mux/default.nix b/pkgs/tools/misc/3mux/default.nix
index d91a52ddd3e9..31787467525f 100644
--- a/pkgs/tools/misc/3mux/default.nix
+++ b/pkgs/tools/misc/3mux/default.nix
@@ -13,9 +13,10 @@ buildGoModule rec {
patches = [
# Fix the build for Darwin when building with Go 1.18.
+ # https://github.com/aaronjanse/3mux/pull/127
(fetchpatch {
name = "darwin-go-1.18-fix.patch";
- url = "https://github.com/aaronjanse/3mux/pull/127/commits/91aed826c50f75a5175b63c72a1fb6a4ad57a008.patch";
+ url = "https://github.com/aaronjanse/3mux/commit/91aed826c50f75a5175b63c72a1fb6a4ad57a008.patch";
sha256 = "sha256-MOPAyWAYYWrlCCgw1rBaNmHZO9oTIpIQwLJcs0aY/m8=";
})
];
diff --git a/pkgs/tools/misc/markdown-anki-decks/default.nix b/pkgs/tools/misc/markdown-anki-decks/default.nix
index 375966da36b9..d035c9db7317 100644
--- a/pkgs/tools/misc/markdown-anki-decks/default.nix
+++ b/pkgs/tools/misc/markdown-anki-decks/default.nix
@@ -4,13 +4,12 @@
python3.pkgs.buildPythonApplication rec {
pname = "markdown-anki-decks";
- version = "1.0.0";
-
+ version = "1.1.1";
format = "pyproject";
src = python3.pkgs.fetchPypi {
inherit pname version;
- sha256 = "R6T8KOHMb1Neg/RG5JQl9+7LxOkAoZL0L5wvVaqm9O0=";
+ hash = "sha256-SvKjjE629OwxWsPo2egGf2K6GzlWAYYStarHhA4Ex0w=";
};
nativeBuildInputs = with python3.pkgs; [
@@ -18,31 +17,30 @@ python3.pkgs.buildPythonApplication rec {
];
propagatedBuildInputs = with python3.pkgs; [
- genanki
- typer
- colorama
- shellingham
beautifulsoup4
+ genanki
markdown
python-frontmatter
- ];
+ typer
+ ] ++ typer.optional-dependencies.all;
postPatch = ''
- # No API changes.
substituteInPlace pyproject.toml \
- --replace 'python-frontmatter = "^0.5.0"' 'python-frontmatter = "^1.0.0"' \
- --replace 'genanki = "^0.10.1"' 'genanki = "*"' \
- --replace 'typer = "^0.3.2"' 'typer = "*"'
+ --replace 'typer = "^0.4.0"' 'typer = "*"'
'';
# No tests available on Pypi and there is only a failing version assertion test in the repo.
doCheck = false;
+ pythonImportsCheck = [
+ "markdown_anki_decks"
+ ];
+
meta = with lib; {
- description = "Simple program to convert markdown files into anki decks";
- maintainers = with maintainers; [ jtojnar ];
+ description = "Tool to convert Markdown files into Anki Decks";
homepage = "https://github.com/lukesmurray/markdown-anki-decks";
license = licenses.mit;
+ maintainers = with maintainers; [ jtojnar ];
platforms = platforms.unix;
};
}
diff --git a/pkgs/tools/misc/websocat/default.nix b/pkgs/tools/misc/websocat/default.nix
index 99714df0e81a..e2024f623ba9 100644
--- a/pkgs/tools/misc/websocat/default.nix
+++ b/pkgs/tools/misc/websocat/default.nix
@@ -3,16 +3,16 @@
rustPlatform.buildRustPackage rec {
pname = "websocat";
- version = "1.9.0";
+ version = "1.11.0";
src = fetchFromGitHub {
owner = "vi";
repo = pname;
rev = "v${version}";
- sha256 = "sha256-aQWLsdYHmju7tCJfg3a1aOlFYui7qsQ8vJfhyMawXWo=";
+ sha256 = "sha256-FomP5ykHc5oAA7zF7r+PXHf30KaTmYTmVm6Mwf/tPdQ=";
};
- cargoSha256 = "sha256-b/B+K/LMP1XK1QEtFKY4nmy2fAqEmLTN+qL+XlrqA5w=";
+ cargoSha256 = "sha256-YVI1+WsDMoznRTjnzwlPTdJMRPsQFYtzssoU0sQwQfA=";
nativeBuildInputs = [ pkg-config makeWrapper ];
buildInputs = [ openssl ]
diff --git a/pkgs/tools/misc/xdg-ninja/default.nix b/pkgs/tools/misc/xdg-ninja/default.nix
new file mode 100644
index 000000000000..e0c59260a454
--- /dev/null
+++ b/pkgs/tools/misc/xdg-ninja/default.nix
@@ -0,0 +1,36 @@
+{ lib, stdenvNoCC, fetchFromGitHub, makeWrapper, jq, glow }:
+
+stdenvNoCC.mkDerivation rec {
+ pname = "xdg-ninja";
+ version = "0.2.0.1";
+
+ src = fetchFromGitHub {
+ owner = "b3nj5m1n";
+ repo = "xdg-ninja";
+ rev = "v${version}";
+ sha256 = "sha256-ZyqxMlyCB8gEsZTVrxgLdW/mQ/4xeTHTK+lDKIzYs6I=";
+ };
+
+ nativeBuildInputs = [ makeWrapper ];
+
+ installPhase = ''
+ runHook preInstall
+ install -Dm755 xdg-ninja.sh "$out/share/xdg-ninja/xdg-ninja.sh"
+ install -Dm644 programs/* -t "$out/share/xdg-ninja/programs"
+
+ mkdir -p "$out/bin"
+ ln -s "$out/share/xdg-ninja/xdg-ninja.sh" "$out/bin/xdg-ninja"
+
+ wrapProgram "$out/bin/xdg-ninja" \
+ --prefix PATH : "${lib.makeBinPath [ glow jq ]}"
+ runHook postInstall
+ '';
+
+ meta = with lib; {
+ description = "A shell script which checks your $HOME for unwanted files and directories";
+ homepage = "https://github.com/b3nj5m1n/xdg-ninja";
+ license = licenses.mit;
+ platforms = platforms.all;
+ maintainers = with maintainers; [ patricksjackson ];
+ };
+}
diff --git a/pkgs/tools/security/gallia/default.nix b/pkgs/tools/security/gallia/default.nix
new file mode 100644
index 000000000000..14657c6ecc7d
--- /dev/null
+++ b/pkgs/tools/security/gallia/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+ pname = "gallia";
+ version = "1.0.3";
+ format = "pyproject";
+
+ src = fetchFromGitHub {
+ owner = "Fraunhofer-AISEC";
+ repo = pname;
+ rev = "refs/tags/v${version}";
+ hash = "sha256-CoZ3niGuEjcaSyIGc0MIy95v64nTbhgqW/0uz4a/f1o=";
+ };
+
+ nativeBuildInputs = with python3.pkgs; [
+ poetry-core
+ ];
+
+ propagatedBuildInputs = with python3.pkgs; [
+ aiofiles
+ aiohttp
+ aiosqlite
+ argcomplete
+ can
+ construct
+ msgspec
+ pydantic
+ tabulate
+ tomlkit
+ xdg
+ zstandard
+ ];
+
+ checkInputs = with python3.pkgs; [
+ pytestCheckHook
+ ];
+
+ postPatch = ''
+ substituteInPlace pyproject.toml \
+ --replace 'zstandard = "^0.17.0"' 'zstandard = "*"'
+ '';
+
+ pythonImportsCheck = [
+ "gallia"
+ ];
+
+ preCheck = ''
+ export PATH=$out/bin:$PATH
+ '';
+
+ meta = with lib; {
+ description = "Pentesting framework with the focus on the automotive domain";
+ homepage = "https://github.com/Fraunhofer-AISEC/gallia";
+ license = with licenses; [ asl20 ];
+ maintainers = with maintainers; [ fab ];
+ broken = stdenv.isDarwin;
+ };
+}
diff --git a/pkgs/tools/text/scraper/default.nix b/pkgs/tools/text/scraper/default.nix
new file mode 100644
index 000000000000..4118387a34a5
--- /dev/null
+++ b/pkgs/tools/text/scraper/default.nix
@@ -0,0 +1,26 @@
+{ lib, rustPlatform, fetchCrate, installShellFiles }:
+
+rustPlatform.buildRustPackage rec {
+ pname = "scraper";
+ version = "0.13.0";
+
+ src = fetchCrate {
+ inherit pname version;
+ sha256 = "sha256-5fFO51I6DqH1BBELt9FW2BCwYcsXVXaQLgocMn446Bs=";
+ };
+
+ cargoSha256 = "sha256-Y4m7C7v4ekJfb3BoWwDF+X8uuRH9muaTwPECgu4WaMQ=";
+
+ nativeBuildInputs = [ installShellFiles ];
+
+ postInstall = ''
+ installManPage scraper.1
+ '';
+
+ meta = with lib; {
+ description = "A tool to query HTML files with CSS selectors";
+ homepage = "https://github.com/causal-agent/scraper";
+ license = licenses.isc;
+ maintainers = with maintainers; [ figsoda ];
+ };
+}
diff --git a/pkgs/tools/virtualization/uefi-run/default.nix b/pkgs/tools/virtualization/uefi-run/default.nix
new file mode 100644
index 000000000000..8174f8980897
--- /dev/null
+++ b/pkgs/tools/virtualization/uefi-run/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+}:
+
+rustPlatform.buildRustPackage rec {
+ pname = "uefi-run";
+ version = "0.5.0";
+
+ src = fetchFromGitHub {
+ owner = "Richard-W";
+ repo = pname;
+ rev = "v${version}";
+ sha256 = "sha256-fwzWdOinW/ECVI/65pPB1shxPdl2nZThAqlg8wlWg/g=";
+ };
+
+ cargoSha256 = "sha256-c+wzMzTkG0FpfQ1rZ8e9dn0ez12vmoecrtNeFk90sdQ=";
+
+ meta = with lib; {
+ description = "Directly run UEFI applications in qemu";
+ homepage = "https://github.com/Richard-W/uefi-run";
+ license = licenses.mit;
+ maintainers = [ maintainers.maddiethecafebabe ];
+ };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f5a1107540e1..4d7aadc4178b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -723,6 +723,8 @@ with pkgs;
graph-easy = callPackage ../tools/graphics/graph-easy { };
+ mangal = callPackage ../applications/misc/mangal { };
+
graphw00f = callPackage ../tools/security/graphw00f { };
opendrop = python3Packages.callPackage ../tools/networking/opendrop { };
@@ -1663,7 +1665,8 @@ with pkgs;
dolphin-emu = callPackage ../applications/emulators/dolphin-emu { };
dolphin-emu-beta = qt5.callPackage ../applications/emulators/dolphin-emu/master.nix {
- inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL;
+ inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL VideoToolbox;
+ inherit (darwin) moltenvk;
};
dolphin-emu-primehack = qt5.callPackage ../applications/emulators/dolphin-emu/primehack.nix {
@@ -10883,6 +10886,8 @@ with pkgs;
scfbuild = python3.pkgs.callPackage ../tools/misc/scfbuild { };
+ scraper = callPackage ../tools/text/scraper { };
+
scriptaculous = callPackage ../development/libraries/scriptaculous { };
scrot = callPackage ../tools/graphics/scrot { };
@@ -12646,6 +12651,8 @@ with pkgs;
xdummy = callPackage ../tools/misc/xdummy { };
+ xdg-ninja = callPackage ../tools/misc/xdg-ninja { };
+
xdxf2slob = callPackage ../tools/misc/xdxf2slob { };
xe-guest-utilities = callPackage ../tools/virtualization/xe-guest-utilities { };
@@ -14130,6 +14137,8 @@ with pkgs;
julia_16-bin = callPackage ../development/compilers/julia/1.6-bin.nix { };
julia_18-bin = callPackage ../development/compilers/julia/1.8-bin.nix { };
+ julia_18 = callPackage ../development/compilers/julia/1.8.nix { };
+
julia-lts-bin = julia_16-bin;
julia-stable-bin = julia_18-bin;
julia-bin = julia-stable-bin;
@@ -18329,6 +18338,8 @@ with pkgs;
galer = callPackage ../tools/security/galer { };
+ gallia = callPackage ../tools/security/gallia { };
+
gamenetworkingsockets = callPackage ../development/libraries/gamenetworkingsockets { };
game-music-emu = callPackage ../development/libraries/audio/game-music-emu { };
@@ -21306,6 +21317,8 @@ with pkgs;
qolibri = libsForQt5.callPackage ../applications/misc/qolibri { };
+ quarto = callPackage ../development/libraries/quarto { };
+
qt4 = qt48;
qt48 = callPackage ../development/libraries/qt-4.x/4.8 {
@@ -24245,6 +24258,10 @@ with pkgs;
# `.override` clobbered. C.F. `llvmPackages` which does the same.
darwin = callPackage ./darwin-packages.nix { };
+ defaultbrowser = callPackage ../os-specific/darwin/defaultbrowser {
+ inherit (darwin.apple_sdk.frameworks) Foundation;
+ };
+
disk_indicator = callPackage ../os-specific/linux/disk-indicator { };
displaylink = callPackage ../os-specific/linux/displaylink {
@@ -24385,6 +24402,8 @@ with pkgs;
htop-vim = callPackage ../tools/system/htop/htop-vim.nix { };
+ humility = callPackage ../development/tools/rust/humility {};
+
btop = callPackage ../tools/system/btop {
stdenv = gcc11Stdenv;
};
@@ -24804,6 +24823,10 @@ with pkgs;
ginkgo = callPackage ../development/tools/ginkgo { };
+ gdlv = callPackage ../development/tools/gdlv {
+ inherit (darwin.apple_sdk.frameworks) OpenGL;
+ };
+
go-bindata = callPackage ../development/tools/go-bindata { };
go-bindata-assetfs = callPackage ../development/tools/go-bindata-assetfs { };
@@ -27964,6 +27987,11 @@ with pkgs;
filezilla = callPackage ../applications/networking/ftp/filezilla { };
+ fire = darwin.apple_sdk_11_0.callPackage ../applications/audio/fire {
+ inherit (darwin.apple_sdk_11_0.frameworks) Cocoa WebKit CoreServices DiscRecording CoreAudioKit MetalKit;
+ inherit (darwin.apple_sdk_11_0.libs) simd;
+ };
+
buildMozillaMach = opts: callPackage (import ../applications/networking/browsers/firefox/common.nix opts) {};
firefoxPackages = recurseIntoAttrs (callPackage ../applications/networking/browsers/firefox/packages.nix {});
@@ -28062,13 +28090,13 @@ with pkgs;
fractal-next = callPackage ../applications/networking/instant-messengers/fractal-next {
inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-bad;
libadwaita = libadwaita.overrideAttrs (finalAtts: rec {
- version = "1.2.alpha";
+ version = "1.2.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "libadwaita";
rev = version;
- hash = "sha256-JMxUeIOUPp9k5pImQqWLVkQ2GHaKvopvg6ol9pvA+Bk=";
+ hash = "sha256-3lH7Vi9M8k+GSrCpvruRpLrIpMoOakKbcJlaAc/FK+U=";
};
});
};
@@ -29191,6 +29219,10 @@ with pkgs;
pinniped = callPackage ../applications/networking/cluster/pinniped { };
+ kthxbye = callPackage ../servers/monitoring/prometheus/kthxbye.nix {
+ buildGoModule = buildGo119Module;
+ };
+
pgo-client = callPackage ../applications/networking/cluster/pgo-client { };
popeye = callPackage ../applications/networking/cluster/popeye { };
@@ -31778,6 +31810,8 @@ with pkgs;
ueberzug = with python3Packages; toPythonApplication ueberzug;
+ uefi-run = callPackage ../tools/virtualization/uefi-run { };
+
uhhyou.lv2 = callPackage ../applications/audio/uhhyou.lv2 { };
umurmur = callPackage ../applications/networking/umurmur {
@@ -34600,6 +34634,8 @@ with pkgs;
stdenv = gccStdenv;
};
+ seqtk = callPackage ../applications/science/biology/seqtk { };
+
snpeff = callPackage ../applications/science/biology/snpeff { };
somafm-cli = callPackage ../tools/misc/somafm-cli { };