Merge staging-next into staging

Changed files
+1526 -167
maintainers
nixos
doc
manual
from_md
release-notes
release-notes
modules
services
monitoring
tests
pkgs
applications
audio
editors
emulators
misc
mangal
pdfarranger
streamdeck-ui
networking
instant-messengers
fractal-next
office
gnucash
science
biology
virtualization
build-support
appimage
development
compilers
libraries
ffmpeg
quarto
science
math
cudnn
tensorrt
php-packages
phpstan
python-modules
canonicaljson
distutils_extra
dunamai
fastapi
geopandas
jarowinkler
luftdaten
nats-py
pyunifiprotect
pyupgrade
rq
rstcheck
siosocks
skodaconnect
typer
tools
gdlv
godot
misc
texlab
rust
humility
games
unciv
os-specific
darwin
defaultbrowser
servers
mastodon
memcached
monitoring
prometheus
tools
backup
discordchatexporter-cli
misc
3mux
markdown-anki-decks
websocat
xdg-ninja
security
gallia
text
scraper
virtualization
uefi-run
top-level
+24
maintainers/maintainer-list.nix
···
githubId = 157330;
name = "Ben Burdette";
};
+
bwlang = {
+
email = "brad@langhorst.com";
+
github = "bwlang";
+
githubId = 61636;
+
name = "Brad Langhorst";
+
};
bzizou = {
email = "Bruno@bzizou.net";
github = "bzizou";
···
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";
···
github = "MrMebelMan";
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 = "therealansh";
githubId = 57180880;
name = "Ansh Tyagi";
+
};
+
therishidesai = {
+
email = "desai.rishi1@gmail.com";
+
github = "therishidesai";
+
githubId = 5409166;
+
name = "Rishi Desai";
thesola10 = {
email = "me@thesola.io";
+8
nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
···
</listitem>
<listitem>
<para>
+
<link xlink:href="https://github.com/prymitive/kthxbye">kthxbye</link>,
+
an alert acknowledgement management daemon for Prometheus
+
Alertmanager. Available as
+
<link xlink:href="options.html#opt-services.kthxbye.enable">services.kthxbye</link>
+
</para>
+
</listitem>
+
<listitem>
+
<para>
<link xlink:href="https://github.com/jtroo/kanata">kanata</link>,
a tool to improve keyboard comfort and usability with advanced
customization. Available as
+2
nixos/doc/manual/release-notes/rl-2211.section.md
···
- [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).
+1
nixos/modules/module-list.nix
···
./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
+166
nixos/modules/services/monitoring/kthxbye.nix
···
+
{ 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 ];
+
};
+
}
+1
nixos/tests/all-tests.nix
···
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; };
+110
nixos/tests/kthxbye.nix
···
+
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'")
+
'';
+
})
+62
pkgs/applications/audio/fire/0001-Remove-FetchContent-usage.patch
···
+
From fbf2ddd872db6a3640bc7d693356b99be9dd70f5 Mon Sep 17 00:00:00 2001
+
From: OPNA2608 <christoph.neidahl@gmail.com>
+
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
+
+117
pkgs/applications/audio/fire/default.nix
···
+
{ 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 ];
+
};
+
}
+2 -2
pkgs/applications/audio/miniplayer/default.nix
···
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 = [
+2 -2
pkgs/applications/audio/tidal-hifi/default.nix
···
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 ];
+12
pkgs/applications/editors/vim/plugins/generated.nix
···
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";
+1
pkgs/applications/editors/vim/plugins/vim-plugin-names
···
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/,,
+131 -34
pkgs/applications/emulators/dolphin-emu/master.nix
···
-
{ 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
+
+
# Used in passthru
+
, testers
+
, dolphin-emu-beta
+
, writeShellScript
+
, common-updater-scripts
+
, jq
-
# - Inputs used for Darwin
-
, CoreBluetooth, ForceFeedback, IOKit, OpenGL, libpng, hidapi }:
+
# Darwin-only dependencies
+
, CoreBluetooth
+
, ForceFeedback
+
, IOKit
+
, VideoToolbox
+
, OpenGL
+
, libpng
+
, moltenvk
+
}:
stdenv.mkDerivation rec {
pname = "dolphin-emu";
···
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 [
···
"--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
+
];
};
}
+18
pkgs/applications/emulators/dolphin-emu/minizip-external-missing-include.patch
···
+
commit 5e0cb8066fb1653399c54e93e42375295c2562bd
+
Author: Ivar Scholten <ivar.scholten@protonmail.com>
+
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)
+2 -6
pkgs/applications/emulators/pcsx2/default.nix
···
stdenv.mkDerivation rec {
pname = "pcsx2";
-
version = "1.7.3165";
+
version = "1.7.3331";
# nixpkgs-update: no auto update
src = fetchFromGitHub {
···
repo = "pcsx2";
fetchSubmodules = true;
rev = "v${version}";
-
hash = "sha256-FdLmLZLpS8zPmHVn4k0nE6vS/omYVIOal9ej0h3bE/Y=";
+
hash = "sha256-0RcmBMxKj/gnkNEjn2AUSSO1DzyNSf1lOZWPSUq6764=";
};
cmakeFlags = [
···
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
)
'';
+39
pkgs/applications/misc/mangal/default.nix
···
+
{ 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 ];
+
};
+
}
+2 -2
pkgs/applications/misc/pdfarranger/default.nix
···
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 = [
+3 -7
pkgs/applications/misc/streamdeck-ui/default.nix
···
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 {
···
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
''
+4 -4
pkgs/applications/networking/instant-messengers/fractal-next/default.nix
···
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 = [
+2 -2
pkgs/applications/office/gnucash/default.nix
···
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 = [
+2 -2
pkgs/applications/science/biology/last/default.nix
···
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 ];
+39
pkgs/applications/science/biology/seqtk/default.nix
···
+
{ 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 ];
+
};
+
}
+1 -3
pkgs/applications/virtualization/crun/default.nix
···
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;
+2
pkgs/build-support/appimage/default.nix
···
wayland
mesa
libxkbcommon
+
vulkan-loader
flac
freeglut
libjpeg
libpng12
+
libpulseaudio
libsamplerate
libmikmod
libtheora
+153
pkgs/development/compilers/julia/1.8.nix
···
+
{ 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" ];
+
};
+
}
+25
pkgs/development/compilers/julia/patches/1.8/0002-skip-building-doc.patch
···
+
From 6a7723be33261cdc302e0f7bdb37fb50d30cc5fc Mon Sep 17 00:00:00 2001
+
From: Nick Cao <nickcao@nichi.co>
+
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
+
+25
pkgs/development/compilers/julia/patches/1.8/0003-skip-failing-tests.patch
···
+
From a57c582eabc4703ed627b32f7f11893db9676fb6 Mon Sep 17 00:00:00 2001
+
From: Nick Cao <nickcao@nichi.co>
+
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
+
+27
pkgs/development/compilers/julia/patches/1.8/0004-ignore-absolute-path-when-loading-library.patch
···
+
From a60100f06f48fbb4697aced65175bf3d41185e3e Mon Sep 17 00:00:00 2001
+
From: Nick Cao <nickcao@nichi.co>
+
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
+
+2 -2
pkgs/development/compilers/swi-prolog/default.nix
···
}:
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."
'';
···
owner = "SWI-Prolog";
repo = "swipl-devel";
rev = "V${version}";
-
sha256 = "sha256-2QYY3VDG3dhbv5gtSid4eMYMxhhpggCedJL+RhtbbaU=";
+
sha256 = "sha256-n1o6eG40DHnmNXuifQC6UFwGzuiL22V++0qRmq1RSzc=";
fetchSubmodules = true;
};
+2 -2
pkgs/development/libraries/ffmpeg/5.nix
···
}@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)
+68
pkgs/development/libraries/quarto/default.nix
···
+
{ 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 ];
+
};
+
}
+8
pkgs/development/libraries/quarto/fix-deno-path.patch
···
+
--- 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}" "$@"
+1 -1
pkgs/development/libraries/science/math/cudnn/extension.nix
···
"11.4" = "8.3.2";
"11.5" = "8.3.2";
"11.6" = "8.3.2";
-
}.${cudaVersion};
+
}.${cudaVersion} or "8.3.2";
in cuDnnPackages
+1 -1
pkgs/development/libraries/science/math/tensorrt/extension.nix
···
"11.4" = "8.4.0";
"11.5" = "8.4.0";
"11.6" = "8.4.0";
-
}.${cudaVersion};
+
}.${cudaVersion} or "8.4.0";
in tensorRTPackages
+2 -2
pkgs/development/php-packages/phpstan/default.nix
···
{ 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;
+9 -4
pkgs/development/python-modules/canonicaljson/default.nix
···
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
+6 -3
pkgs/development/python-modules/distutils_extra/default.nix
···
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";
+2 -2
pkgs/development/python-modules/dunamai/default.nix
···
buildPythonPackage rec {
pname = "dunamai";
-
version = "1.13.0";
+
version = "1.13.1";
format = "pyproject";
disabled = pythonOlder "3.7";
···
owner = "mtkennerly";
repo = "dunamai";
rev = "refs/tags/v${version}";
-
sha256 = "sha256-0x1bwu5X1P8f51NeupEQc0eghaqQIp3jb2uwZ0JDbgQ=";
+
sha256 = "sha256-UoqVfRdwOgxNLY17+dPgYO1GIPw3ZUwE/tiVzHjBxcY=";
};
nativeBuildInputs = [
+11 -4
pkgs/development/python-modules/fastapi/default.nix
···
, databases
, flask
, httpx
+
, hatchling
+
, orjson
, passlib
, peewee
, python-jose
···
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 \
···
databases
flask
httpx
+
orjson
passlib
peewee
python-jose
+2 -2
pkgs/development/python-modules/geopandas/default.nix
···
buildPythonPackage rec {
pname = "geopandas";
-
version = "0.11.0";
+
version = "0.11.1";
format = "setuptools";
disabled = pythonOlder "3.8";
···
owner = "geopandas";
repo = "geopandas";
rev = "v${version}";
-
hash = "sha256-w3F2Uqr/+DdG2Td5YmHdF/LII2y29rQkGK5ooMUcfRk=";
+
hash = "sha256-vL+zC8q7bif5pheq6pz7XRfzMKLaLQ0xDceTz0imw/E=";
};
propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/jarowinkler/default.nix
···
buildPythonPackage rec {
pname = "jarowinkler";
-
version = "1.2.1";
+
version = "1.2.2";
disabled = pythonOlder "3.6";
···
owner = "maxbachmann";
repo = "JaroWinkler";
rev = "refs/tags/v${version}";
-
hash = "sha256-h9sR8j5avUhY+qpzKZ54O67uTjkk2JuOvMBVaohvbUk=";
+
hash = "sha256-1jImgRvGQ2x3Swkq43gq0IhgZTzIBtedoqN11hvDGns=";
};
nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/luftdaten/default.nix
···
buildPythonPackage rec {
pname = "luftdaten";
-
version = "0.7.2";
+
version = "0.7.3";
format = "pyproject";
disabled = pythonOlder "3.8";
···
owner = "home-assistant-ecosystem";
repo = "python-luftdaten";
rev = version;
-
sha256 = "sha256-tYaY/F4mdO5k+Oj+RkNFWP8xqh1xuDyoAKBFzAhamkA=";
+
sha256 = "sha256-+wIouOHIYgjIrObos21vzdKFQLhwutorarVUBDxCsaA=";
};
nativeBuildInputs = [
+9 -16
pkgs/development/python-modules/nats-py/default.nix
···
{ lib
+
, stdenv
, buildPythonPackage
, ed25519
, fetchFromGitHub
···
buildPythonPackage rec {
pname = "nats-py";
-
version = "2.1.4";
+
version = "2.1.7";
format = "setuptools";
disabled = pythonOlder "3.7";
···
owner = "nats-io";
repo = "nats.py";
rev = "refs/tags/v${version}";
-
hash = "sha256-gLNMKLkufy/+zS5quH/UYXBIBfkZUyHtB0TiPNEBw6I=";
+
hash = "sha256-K2ugTwfeYrdBnXFV9SHNQP+fNvUmc1yuy53gpGmmvS0=";
};
propagatedBuildInputs = [
···
'';
disabledTests = [
-
# RuntimeError: Event loop is closed
+
# AssertionError: assert 5 == 0
+
"test_pull_subscribe_limits"
+
"test_fetch_n"
"test_subscribe_no_echo"
-
"test_publish"
-
"test_publish_verbose"
-
"test_fetch_max_waiting_fetch_one"
-
"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"
+
] ++ lib.optionals stdenv.isDarwin [
+
"test_subscribe_iterate_next_msg"
+
"test_buf_size_force_flush_timeout"
];
pythonImportsCheck = [
+6 -5
pkgs/development/python-modules/pyunifiprotect/default.nix
···
, aiohttp
, aioshutil
, buildPythonPackage
+
, dateparser
, fetchFromGitHub
, ipython
, orjson
···
buildPythonPackage rec {
pname = "pyunifiprotect";
-
version = "4.2.0";
+
version = "4.3.3";
format = "pyproject";
disabled = pythonOlder "3.9";
···
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"
'';
···
aiofiles
aiohttp
aioshutil
+
dateparser
orjson
packaging
pillow
···
pyjwt
pytz
typer
-
];
+
] ++ typer.optional-dependencies.all;
passthru.optional-dependencies = {
shell = [
+2 -2
pkgs/development/python-modules/pyupgrade/default.nix
···
buildPythonPackage rec {
pname = "pyupgrade";
-
version = "2.38.0";
+
version = "2.38.1";
format = "setuptools";
disabled = pythonOlder "3.6";
···
owner = "asottile";
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-dSCo6qB7ON0V2BZoVVaV3X2VMgrjBwZ18wiiDj/+U94=";
+
sha256 = "sha256-OWV8SdxvAYxkBj/3pPXgnEZ5RS3R+wBWJVMkqcQirEU=";
};
checkInputs = [
+2 -2
pkgs/development/python-modules/rq/default.nix
···
buildPythonPackage rec {
pname = "rq";
-
version = "1.11";
+
version = "1.11.1";
format = "setuptools";
disabled = pythonOlder "3.7";
···
owner = "rq";
repo = "rq";
rev = "refs/tags/v${version}";
-
hash = "sha256-fv+b5WmODaQkd8T+O8MuJ+XVC3dQ5hZwxMHtBBuqQ7Y=";
+
hash = "sha256-7l/ckkDchs+iRDZLHrm4TYwA9wAJAnw9kYSaAbSo0jY=";
};
propagatedBuildInputs = [
+4 -7
pkgs/development/python-modules/rstcheck/default.nix
···
{ lib
, buildPythonPackage
-
, colorama
, docutils
, fetchFromGitHub
, importlib-metadata
···
, pytestCheckHook
, pythonOlder
, rstcheck-core
-
, shellingham
, typer
, types-docutils
, typing-extensions
···
buildPythonPackage rec {
pname = "rstcheck";
-
version = "6.0.0.post1";
+
version = "6.1.0";
format = "pyproject";
disabled = pythonOlder "3.7";
···
owner = "rstcheck";
repo = pname;
rev = "v${version}";
-
hash = "sha256-Ljg1cciT9qKL9xtBxQ8OLygDpV/1yR5XiJOzHrLr6xw=";
+
hash = "sha256-dw/KggiZpKaFZMcTIaSBUhR4oQsZI3iSmEj9Sy80wTs=";
};
nativeBuildInputs = [
···
];
propagatedBuildInputs = [
-
colorama
docutils
rstcheck-core
-
shellingham
types-docutils
typing-extensions
pydantic
···
] ++ lib.optionals (pythonOlder "3.8") [
typing-extensions
importlib-metadata
-
];
+
] ++ typer.optional-dependencies.all;
checkInputs = [
pytestCheckHook
···
postPatch = ''
substituteInPlace pyproject.toml \
+
--replace 'docutils = ">=0.7, <0.19"' 'docutils = ">=0.7"' \
--replace 'types-docutils = ">=0.18, <0.19"' 'types-docutils = ">=0.18"'
'';
+2 -2
pkgs/development/python-modules/siosocks/default.nix
···
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 = [
+2 -2
pkgs/development/python-modules/skodaconnect/default.nix
···
buildPythonPackage rec {
pname = "skodaconnect";
-
version = "1.1.23";
+
version = "1.1.25";
format = "setuptools";
disabled = pythonOlder "3.8";
···
owner = "lendy007";
repo = pname;
rev = "refs/tags/${version}";
-
hash = "sha256-nRGuDcllBAJTGjA0CIPOX/WCO04dYCm+AFC/aYKiBdY=";
+
hash = "sha256-Zky1PShQE/V2pSJURYTQHnsqdfsD3k7DWMnDidmwfxs=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
+18 -9
pkgs/development/python-modules/typer/default.nix
···
{ lib
, stdenv
, buildPythonPackage
+
, colorama
, fetchpatch
, fetchPypi
, flit-core
···
src = fetchPypi {
inherit pname version;
-
sha256 = "sha256-LVcgpeY/c+rzHtqhX2q4fzXwaQ+MojMBfX0j10OpHXM=";
+
hash = "sha256-LVcgpeY/c+rzHtqhX2q4fzXwaQ+MojMBfX0j10OpHXM=";
};
nativeBuildInputs = [
···
click
];
+
passthru.optional-dependencies = {
+
all = [
+
colorama
+
shellingham
+
rich
+
];
+
};
+
checkInputs = [
+
coverage # execs coverage in tests
+
pytest-sugar
+
pytest-xdist
pytestCheckHook
-
pytest-xdist
-
pytest-sugar
-
shellingham
-
rich
-
coverage # execs coverage in tests
-
];
+
] ++ passthru.optional-dependencies.all;
preCheck = ''
export HOME=$(mktemp -d);
···
"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 ];
+25
pkgs/development/tools/gdlv/default.nix
···
+
{ 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;
+
};
+
}
+8
pkgs/development/tools/godot/export-templates.nix
···
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)";
+4 -4
pkgs/development/tools/misc/texlab/default.nix
···
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";
···
# 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
'';
+32
pkgs/development/tools/rust/humility/default.nix
···
+
{ 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 ];
+
};
+
}
+2 -2
pkgs/games/unciv/default.nix
···
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;
+26
pkgs/os-specific/darwin/defaultbrowser/default.nix
···
+
{ 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;
+
};
+
}
+3
pkgs/servers/mastodon/default.nix
···
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
+2 -2
pkgs/servers/memcached/default.nix
···
{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 = [
+39
pkgs/servers/monitoring/prometheus/kthxbye.nix
···
+
{ 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 ];
+
};
+
}
+2 -2
pkgs/tools/backup/discordchatexporter-cli/default.nix
···
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";
+2 -1
pkgs/tools/misc/3mux/default.nix
···
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=";
})
];
+12 -14
pkgs/tools/misc/markdown-anki-decks/default.nix
···
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; [
···
];
propagatedBuildInputs = with python3.pkgs; [
+
beautifulsoup4
genanki
-
typer
-
colorama
-
shellingham
-
beautifulsoup4
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;
};
}
+3 -3
pkgs/tools/misc/websocat/default.nix
···
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 ]
+36
pkgs/tools/misc/xdg-ninja/default.nix
···
+
{ 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 ];
+
};
+
}
+62
pkgs/tools/security/gallia/default.nix
···
+
{ 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;
+
};
+
}
+26
pkgs/tools/text/scraper/default.nix
···
+
{ 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 ];
+
};
+
}
+25
pkgs/tools/virtualization/uefi-run/default.nix
···
+
{ 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 ];
+
};
+
}
+39 -3
pkgs/top-level/all-packages.nix
···
graph-easy = callPackage ../tools/graphics/graph-easy { };
+
mangal = callPackage ../applications/misc/mangal { };
+
graphw00f = callPackage ../tools/security/graphw00f { };
opendrop = python3Packages.callPackage ../tools/networking/opendrop { };
···
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 {
···
scfbuild = python3.pkgs.callPackage ../tools/misc/scfbuild { };
+
scraper = callPackage ../tools/text/scraper { };
+
scriptaculous = callPackage ../development/libraries/scriptaculous { };
scrot = callPackage ../tools/graphics/scrot { };
···
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 { };
···
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;
···
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 { };
···
qolibri = libsForQt5.callPackage ../applications/misc/qolibri { };
+
quarto = callPackage ../development/libraries/quarto { };
+
qt4 = qt48;
qt48 = callPackage ../development/libraries/qt-4.x/4.8 {
···
# `.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 {
···
htop-vim = callPackage ../tools/system/htop/htop-vim.nix { };
+
+
humility = callPackage ../development/tools/rust/humility {};
btop = callPackage ../tools/system/btop {
stdenv = gcc11Stdenv;
···
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 { };
···
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 {});
···
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=";
});
···
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 { };
···
ueberzug = with python3Packages; toPythonApplication ueberzug;
+
+
uefi-run = callPackage ../tools/virtualization/uefi-run { };
uhhyou.lv2 = callPackage ../applications/audio/uhhyou.lv2 { };
···
samtools_0_1_19 = callPackage ../applications/science/biology/samtools/samtools_0_1_19.nix {
stdenv = gccStdenv;
+
+
seqtk = callPackage ../applications/science/biology/seqtk { };
snpeff = callPackage ../applications/science/biology/snpeff { };