Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-05-19 18:05:41 +00:00
committed by GitHub
86 changed files with 1445 additions and 28443 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
## Highlights {#sec-nixpkgs-release-25.11-highlights}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- Create the first release note entry in this section!
- Added `allowVariants` to gate availability of package sets like `pkgsLLVM`, `pkgsMusl`, `pkgsZig`, etc.
## Backward Incompatibilities {#sec-nixpkgs-release-25.11-incompatibilities}
@@ -598,8 +598,9 @@ Alongside many enhancements to NixOS modules and general system improvements, th
- There is a new set of NixOS test tools for testing virtual Wi-Fi networks in many different topologies. See the {option}`services.vwifi` module, {option}`services.kismet` NixOS test, and [manual](https://nixos.org/manual/nixpkgs/unstable/#sec-nixos-test-wifi) for documentation and examples.
- The paperless module now has an option for regular automatic export of
documents data using the integrated document exporter.
- The paperless module now has an option for regular automatic export of documents data using the integrated document exporter.
- Exposed the `paperless-manage` script package via the `services.paperless.manage` read-only option.
- New options for the declarative configuration of the user space part of ALSA have been introduced under [hardware.alsa](options.html#opt-hardware.alsa.enable), including setting the default capture and playback device, defining sound card aliases and volume controls.
Note: these are intended for users not running a sound server like PulseAudio or PipeWire, but having ALSA as their only sound system.
@@ -228,7 +228,7 @@ in
}
{
assertion = cfg.role == "agent" -> !(cfg.agentTokenFile != null || cfg.agentToken != "");
message = "agentToken or agentTokenFile should be set if role is 'agent'";
message = "agentToken or agentTokenFile should NOT be set if role is 'agent'";
}
{
assertion = cfg.role == "agent" -> !(cfg.disable != [ ]);
+4 -3
View File
@@ -19,8 +19,9 @@ in
};
dates = lib.mkOption {
type = lib.types.singleLineStr;
default = "03:15";
type = with lib.types; either singleLineStr (listOf str);
apply = lib.toList;
default = [ "03:15" ];
example = "weekly";
description = ''
How often or when garbage collection is performed. For most desktop and server systems
@@ -86,7 +87,7 @@ in
description = "Nix Garbage Collector";
script = "exec ${config.nix.package.out}/bin/nix-collect-garbage ${cfg.options}";
serviceConfig.Type = "oneshot";
startAt = lib.optional cfg.automatic cfg.dates;
startAt = lib.optionals cfg.automatic cfg.dates;
};
systemd.timers.nix-gc = lib.mkIf cfg.automatic {
+2 -1
View File
@@ -15,7 +15,8 @@ in
dates = lib.mkOption {
default = [ "03:45" ];
type = with lib.types; listOf str;
apply = lib.toList;
type = with lib.types; either singleLineStr (listOf str);
description = ''
Specification (in the format described by
{manpage}`systemd.time(7)`) of the time at
+10
View File
@@ -366,11 +366,21 @@ in
Whether to configure Tika and Gotenberg to process Office and e-mail files with OCR.
'';
};
manage = lib.mkOption {
type = lib.types.package;
readOnly = true;
description = ''
The package derivation for the `paperless-manage` wrapper script.
Useful for other modules that need to add this specific script to a service's PATH.
'';
};
};
config = lib.mkIf cfg.enable (
lib.mkMerge [
{
services.paperless.manage = manage;
environment.systemPackages = [ manage ];
services.redis.servers.paperless.enable = lib.mkIf enableRedis true;
+1 -1
View File
@@ -45,7 +45,7 @@ in
username = "uid";
full_name = "cn";
email = "mail";
mobile = "telephoneNumber";
call = "telephoneNumber";
sms = "mobile";
};
};
@@ -24,8 +24,8 @@ let
sha256Hash = "sha256-tPRTDFyKGPR1DKuJRBcwjWjNxylS/8Zv/Nd6vBmcujg=";
};
latestVersion = {
version = "2025.1.1.9"; # "Android Studio Narwhal | 2025.1.1 Canary 9"
sha256Hash = "sha256-4xgaGqVAK7Lrk6IleeekupApJZVNhNmCzSacHzr47f8=";
version = "2025.1.1.10"; # "Android Studio Narwhal | 2025.1.1 Canary 10"
sha256Hash = "sha256-GKLOlDkA4hSbKeI3Oob3Pmfxq0ji+q2yTK/z2jPV8FU=";
};
in
{
@@ -172,9 +172,7 @@ mkDerivation (finalAttrs: {
++ lib.optionals withNativeCompilation [
(replaceVars
(
if lib.versionOlder finalAttrs.version "29" then
./native-comp-driver-options-28.patch
else if lib.versionOlder finalAttrs.version "30" then
if lib.versionOlder finalAttrs.version "30" then
./native-comp-driver-options.patch
else
./native-comp-driver-options-30.patch
@@ -1,16 +0,0 @@
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index a5ab12ae38..e33e71cb55 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -178,7 +178,7 @@ native-comp-compiler-options
:type '(repeat string)
:version "28.1")
-(defcustom native-comp-driver-options nil
+(defcustom native-comp-driver-options '(@backendPath@)
"Options passed verbatim to the native compiler's back-end driver.
Note that not all options are meaningful; typically only the options
affecting the assembler and linker are likely to be useful.
--
2.37.3
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "mame2003";
version = "0-unstable-2025-04-02";
version = "0-unstable-2025-05-16";
src = fetchFromGitHub {
owner = "libretro";
repo = "mame2003-libretro";
rev = "a0547e84a8f58856551ca2d252f05f56212810a4";
hash = "sha256-POpKNpPOyOp/EkrUTa2esOJAaWoJvuijDToF6/V41uU=";
rev = "c24237583afcadb1c3c1727532bd4a49ebc5eff1";
hash = "sha256-zj1mNpfwYCUQAHAeg8+hVUOZ/xvIFhn65AeljjqI1Ss=";
};
# Fix build with GCC 14
@@ -1,11 +1,11 @@
{
"packageVersion": "138.0.1-2",
"packageVersion": "138.0.4-1",
"source": {
"rev": "138.0.1-2",
"hash": "sha256-H4GvKTrx0+GdUFOjW+E53VwZcZnrrBiXiMvR6aCEKDE="
"rev": "138.0.4-1",
"hash": "sha256-KR8ZiueaEOXt2dw8T6ZvrQURV49Xu4cYe0XE8tEUmbw="
},
"firefox": {
"version": "138.0.1",
"hash": "sha512-vFqNZYFAxMPbKdURNMlxBaAiVWfVzhR1f2lZQGa/akShPgYmzr3it6B4usEooUaQ7gYIPQMG13id4qXp2DlLIw=="
"version": "138.0.4",
"hash": "sha512-ZNgEVtqN8n1+7tfrIMNfzyE7yUjrSHObYQHixHbqmpEz2pKEd6eWg8lsFg+NU77VK+SH8BqNKeONOQcfEmdoBg=="
}
}
+8 -8
View File
@@ -12,13 +12,13 @@ let
pkg = buildGoModule rec {
pname = "arduino-cli";
version = "1.2.0";
version = "1.2.2";
src = fetchFromGitHub {
owner = "arduino";
repo = "arduino-cli";
tag = "v${version}";
hash = "sha256-7rruSIhKGm2R89Jo1jY+1ZWKloYsL5oaSWuppMKOeFQ=";
hash = "sha256-zP0N9QfyaKCFP413S2rlrWwqVdfhdcxAgcxsAO/mfpE=";
};
nativeBuildInputs = [ installShellFiles ];
@@ -27,7 +27,7 @@ let
subPackages = [ "." ];
vendorHash = "sha256-uNrkDqw0JoRxe7FuAvQLd7Y4i+nQPhKH0/aWES2+FRc=";
vendorHash = "sha256-BOB9K5N4ELLWdSHCNdFYCypbEyoZz2dOz9wouwP7AHw=";
postPatch =
let
@@ -71,16 +71,16 @@ let
unset HOME
'';
meta = with lib; {
meta = {
inherit (src.meta) homepage;
description = "Arduino from the command line";
mainProgram = "arduino-cli";
changelog = "https://github.com/arduino/arduino-cli/releases/tag/${version}";
license = [
licenses.gpl3Only
licenses.asl20
license = with lib.licenses; [
gpl3Only
asl20
];
maintainers = with maintainers; [
maintainers = with lib.maintainers; [
ryantm
sfrijters
];
+2 -2
View File
@@ -19,13 +19,13 @@
python3Packages.buildPythonApplication rec {
pname = "better-control";
version = "v6.11.6";
version = "6.11.6";
pyproject = false;
src = fetchFromGitHub {
owner = "quantumvoid0";
repo = "better-control";
tag = version;
tag = "v${version}";
hash = "sha256-+2hY+o+GPyJHXpQFVW8BOUEiIBGQ1hItOVpA/AVas2Q=";
};
@@ -20,7 +20,7 @@ index 802b08b5..e3de0536 100644
error_dialog = Adw.AlertDialog.new(
_("Unsupported Environment"),
- f"{body} <a href='https://{download_url}' title='https://{download_url}'>{download_url}.</a>",
+ f"{body} <a href='https://{bugtracker_url}' title='https://{bugtracker_url}'>{bugtracker_url}.</a> \nThis warning can be disabled by overriding the package: `(pkgs.bottles.override {{ removeWarningPopup = false; }})`",
+ f"{body} <a href='https://{bugtracker_url}' title='https://{bugtracker_url}'>{bugtracker_url}.</a> \nThis warning can be disabled by overriding the package: `(pkgs.bottles.override {{ removeWarningPopup = true; }})`",
)
error_dialog.add_response("close", _("Close"))
+2 -2
View File
@@ -15,13 +15,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "brewtarget";
version = "4.0.17";
version = "4.1.0";
src = fetchFromGitHub {
owner = "Brewtarget";
repo = "brewtarget";
rev = "v${finalAttrs.version}";
hash = "sha256-bJMKmOSoL7mzV7G87O2w1WFWmwRetXa8fUkfLIM5Qwk=";
hash = "sha256-PAq+TjggGDSTkN3W1n+3IUIPDcfWbQcWKjoiDd95IV4=";
fetchSubmodules = true;
};
+4 -3
View File
@@ -9,20 +9,20 @@
}:
let
version = "2025.2.3";
version = "2025.4.2";
product =
if proEdition then
{
productName = "pro";
productDesktop = "Burp Suite Professional Edition";
hash = "sha256-eVtqlZHW1w10tUKlqdwFSbx2kJW5hEtfyq7MuBsNS4Q=";
hash = "sha256-wtCZ3/7JvygSCka4i3Il2ajpSuuTPTwHeVJa4gGFDPw=";
}
else
{
productName = "community";
productDesktop = "Burp Suite Community Edition";
hash = "sha256-XWAaNAdPVxKS7/9uYWpAdbzHt+xNqpKCIOH7dVcUyaI=";
hash = "sha256-+1aTq7XKacsi/gzUpeZvSuwpKPDMo6H3C81pxWCC4w8=";
};
src = fetchurl {
@@ -111,6 +111,7 @@ buildFHSEnv {
bennofs
blackzeshi
fab
yechielw
];
mainProgram = "burpsuite";
};
+2 -2
View File
@@ -7,12 +7,12 @@
let
pname = "cables";
version = "0.5.12";
version = "0.5.13";
name = "${pname}-${version}";
src = fetchurl {
url = "https://github.com/cables-gl/cables_electron/releases/download/v${version}/cables-${version}-linux-x64.AppImage";
sha256 = "sha256-uQWfll9aYVNmR9Sw0PnupxY6n/gv+nV0pIttsmzGM9A=";
sha256 = "sha256-I1dS254xOJk+4mVpYkDAM1w5ynTEU5RH8tBRU2rqKds=";
};
appimageContents = appimageTools.extract {
+2 -2
View File
@@ -14,13 +14,13 @@
flutter329.buildFlutterApplication rec {
pname = "chatmcp";
version = "0.0.45";
version = "0.0.51";
src = fetchFromGitHub {
owner = "daodao97";
repo = "chatmcp";
tag = "v${version}";
hash = "sha256-UeQ0J30d/8jOWgpJRH0E5fyq5mPJpMyihEYmKYj/Hmg=";
hash = "sha256-XLlNK0VH766kaTjGaIgOKOot16TGkaTlF0yEzuGID5o=";
};
pubspecLock = lib.importJSON ./pubspec.lock.json;
-1639
View File
File diff suppressed because it is too large Load Diff
+2 -10
View File
@@ -15,16 +15,8 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-8mGSFQozyLoGua9mwyqfDcYNMtbeWp9Phb0vaje+AJ0=";
};
postPatch = ''
ln -sf ${./Cargo.lock} Cargo.lock
'';
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"doctave-markdown-0.9.0" = "sha256-DDeb91DgLx7vOYHwoDy6+/532q/3/myJUZDqjq7ejJ0=";
};
};
useFetchCargoVendor = true;
cargoHash = "sha256-3gyYls1+5eVM3eLlFNmULvIbc5VgoWpfnpO4nmoDMAI=";
meta = {
description = "Batteries-included developer documentation site generator";
+3 -3
View File
@@ -11,13 +11,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "element-call";
version = "0.10.0";
version = "0.11.1";
src = fetchFromGitHub {
owner = "element-hq";
repo = "element-call";
tag = "v${finalAttrs.version}";
hash = "sha256-hKlzp6dDYRp1fM6soho84nP0phkQkaGJEGUf0MqzQGc=";
hash = "sha256-SNwNo3v2HydNXtb3H3Xh2mYBIagMkWjitlKWTfraeVU=";
};
matrixJsSdkRevision = "19b1b901f575755d29d1fe03ca48cbf7c1cae05c";
@@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: {
missingHashes = ./missing-hashes.json;
offlineCache = yarn-berry.fetchYarnBerryDeps {
inherit (finalAttrs) src missingHashes;
hash = "sha256-Pv9ioa6F5gNx+8oMJvvRI/LTJGJ4ALrIQFvoH++szuo=";
hash = "sha256-Z8gTt4W78w2DdkRhnaPLG2RIwfT64RFs5+UobARDG4c=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "git-bug";
version = "0.9.0";
version = "0.10.1";
src = fetchFromGitHub {
owner = "git-bug";
repo = "git-bug";
rev = "v${version}";
sha256 = "sha256-w4PrcWLqkxwtyccf2OZAqFlLXNsZZNOTyny26VZr9Cg=";
sha256 = "sha256-iLYhVv6QMZStuNtxvvIylFSVb1zLfC58NU2QJChFfug=";
};
vendorHash = "sha256-z9StU5cvZlDkmC7TE6JOhpxAx5oSTxAQTBh1LEksKww=";
vendorHash = "sha256-qztAkP+CHhryhfv1uKHEpDutofMwHGun7Vr30BHWAOE=";
nativeBuildInputs = [ installShellFiles ];
+3 -3
View File
@@ -18,13 +18,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "grimblast";
version = "0.1-unstable-2025-03-31";
version = "0.1-unstable-2025-05-18";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "contrib";
rev = "bc2ad24e0b2e66c3e164994c4897cd94a933fd10";
hash = "sha256-YItzk1pj8Kz+b7VlC9zN1pSZ6CuX35asYy3HuMQ3lBQ=";
rev = "910dad4c5755c1735d30da10c96d9086aa2a608d";
hash = "sha256-PMQoXbfmWPuXnF8EaWqRmvTvl7+WFUrDVgufFRPgOM4=";
};
strictDeps = true;
+2 -2
View File
@@ -9,14 +9,14 @@
python3Packages.buildPythonApplication rec {
pname = "icloudpd";
version = "1.27.4";
version = "1.27.5";
pyproject = true;
src = fetchFromGitHub {
owner = "icloud-photos-downloader";
repo = "icloud_photos_downloader";
tag = "v${version}";
hash = "sha256-jZuyy5wYRysX6a+IFO+VYcaN/PMJRpM9aEAOYzJxJUA=";
hash = "sha256-7D/oyX5gBvybelFRsZAmr5xGRB6G7uD2V8ZTGFpbHGg=";
};
pythonRelaxDeps = true;
@@ -0,0 +1,198 @@
From c5fe9a321d83fc70cf30ef999c24377869cedbd8 Mon Sep 17 00:00:00 2001
From: SomeoneSerge <else@someonex.net>
Date: Thu, 27 Jun 2024 11:15:38 +0000
Subject: [PATCH] imgui: allow installing into split outputs
---
ports/imgui/CMakeLists.txt | 74 +++++++++++++++++++++++---------------
1 file changed, 45 insertions(+), 29 deletions(-)
diff --git a/ports/imgui/CMakeLists.txt b/ports/imgui/CMakeLists.txt
index 1502a5aff2..be05d29f4f 100644
--- a/ports/imgui/CMakeLists.txt
+++ b/ports/imgui/CMakeLists.txt
@@ -8,13 +8,15 @@ if(APPLE)
enable_language(OBJCXX)
endif()
+include(GNUInstallDirs) # Defines CMAKE_INSTALL_INCLUDEDIR if not set
+
add_library(${PROJECT_NAME} "")
add_library(${PROJECT_NAME}::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
target_include_directories(
${PROJECT_NAME}
PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_CURRENT_SOURCE_DIR}/test-engine>"
- $<INSTALL_INTERFACE:include>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
)
target_sources(
@@ -154,18 +156,32 @@ list(REMOVE_DUPLICATES BINDINGS_SOURCES)
install(
TARGETS ${PROJECT_NAME}
EXPORT ${PROJECT_NAME}_target
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
- RUNTIME DESTINATION bin
+ ARCHIVE
+ COMPONENT Development
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY
+ COMPONENT Runtime
+ NAMELINK_COMPONENT Development
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME
+ COMPONENT Runtime
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
)
foreach(BINDING_TARGET ${BINDING_TARGETS})
install(
TARGETS ${BINDING_TARGET}
EXPORT ${PROJECT_NAME}_target
- ARCHIVE DESTINATION lib
- LIBRARY DESTINATION lib
- RUNTIME DESTINATION bin
+ ARCHIVE
+ COMPONENT Development
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY
+ COMPONENT Runtime
+ NAMELINK_COMPONENT Development
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME
+ COMPONENT Runtime
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
)
endforeach()
@@ -178,47 +194,47 @@ if(NOT IMGUI_SKIP_HEADERS)
${CMAKE_CURRENT_SOURCE_DIR}/imstb_rectpack.h
${CMAKE_CURRENT_SOURCE_DIR}/imstb_truetype.h
${CMAKE_CURRENT_SOURCE_DIR}/misc/cpp/imgui_stdlib.h
- DESTINATION include
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
if(IMGUI_BUILD_ALLEGRO5_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_allegro5.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if (IMGUI_BUILD_ANDROID_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_android.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_android.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_DX9_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx9.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx9.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_DX10_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx10.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx10.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_DX11_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx11.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx11.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_DX12_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx12.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_dx12.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_GLFW_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glfw.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glfw.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_GLUT_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glut.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_glut.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_METAL_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_metal.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_metal.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_OPENGL2_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl2.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_OPENGL3_BINDING)
@@ -227,16 +243,16 @@ if(NOT IMGUI_SKIP_HEADERS)
${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl3.h
${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_opengl3_loader.h
DESTINATION
- include
+ ${CMAKE_INSTALL_INCLUDEDIR}
)
endif()
if(IMGUI_BUILD_OSX_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_osx.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_osx.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_SDL3_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl3.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdl3.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_SDLGPU3_BINDING)
@@ -245,24 +261,24 @@ if(NOT IMGUI_SKIP_HEADERS)
${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlgpu3.h
${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlgpu3_shaders.h
DESTINATION
- include
+ ${CMAKE_INSTALL_INCLUDEDIR}
)
endif()
if(IMGUI_BUILD_SDL3_RENDERER_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer3.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_sdlrenderer3.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_VULKAN_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_vulkan.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_vulkan.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_BUILD_WIN32_BINDING)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_win32.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/backends/imgui_impl_win32.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_FREETYPE)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/misc/freetype/imgui_freetype.h DESTINATION include)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/misc/freetype/imgui_freetype.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
endif()
if(IMGUI_TEST_ENGINE)
@@ -285,13 +301,13 @@ if(NOT IMGUI_SKIP_HEADERS)
endif()
include(CMakePackageConfigHelpers)
-configure_package_config_file(imgui-config.cmake.in imgui-config.cmake INSTALL_DESTINATION share/imgui)
+configure_package_config_file(imgui-config.cmake.in imgui-config.cmake INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/imgui)
-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/imgui-config.cmake DESTINATION share/imgui)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/imgui-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/imgui)
install(
EXPORT ${PROJECT_NAME}_target
NAMESPACE ${PROJECT_NAME}::
FILE ${PROJECT_NAME}-targets.cmake
- DESTINATION share/${PROJECT_NAME}
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}
)
--
2.47.2
+34 -13
View File
@@ -9,9 +9,11 @@
glfw,
libGL,
SDL2,
sdl3,
vcpkg,
vulkan-headers,
vulkan-loader,
imgui,
# NOTE: Not coming from vcpkg
IMGUI_LINK_GLVND ?
@@ -31,27 +33,40 @@
IMGUI_BUILD_METAL_BINDING ? stdenv.hostPlatform.isDarwin,
IMGUI_BUILD_OPENGL2_BINDING ? false,
IMGUI_BUILD_OPENGL3_BINDING ?
IMGUI_BUILD_SDL2_BINDING || IMGUI_BUILD_GLFW_BINDING || IMGUI_BUILD_GLUT_BINDING,
IMGUI_BUILD_SDL3_BINDING || IMGUI_BUILD_GLFW_BINDING || IMGUI_BUILD_GLUT_BINDING,
IMGUI_BUILD_OSX_BINDING ? stdenv.hostPlatform.isDarwin,
IMGUI_BUILD_SDL2_BINDING ? !IMGUI_BUILD_GLFW_BINDING && !stdenv.hostPlatform.isDarwin,
IMGUI_BUILD_SDL2_RENDERER_BINDING ? IMGUI_BUILD_SDL2_BINDING,
IMGUI_BUILD_SDL3_BINDING ? !IMGUI_BUILD_GLFW_BINDING && !stdenv.hostPlatform.isDarwin,
IMGUI_BUILD_SDL3_RENDERER_BINDING ? IMGUI_BUILD_SDL3_BINDING,
IMGUI_BUILD_SDL2_BINDING ? false,
IMGUI_BUILD_SDL2_RENDERER_BINDING ? false,
IMGUI_BUILD_SDLGPU3_BINDING ? IMGUI_BUILD_SDL3_BINDING && lib.versionAtLeast imgui.version "1.91.8",
IMGUI_BUILD_VULKAN_BINDING ? false,
IMGUI_BUILD_WIN32_BINDING ? false,
IMGUI_FREETYPE ? false,
IMGUI_FREETYPE_LUNASVG ? false,
IMGUI_USE_WCHAR32 ? false,
}@args:
}:
let
vcpkgRevs.postSdl3 = lib.versionAtLeast vcpkg.version "2025.03.19";
vcpkgRevs.others = !vcpkgRevs.postSdl3;
vcpkgSource = applyPatches {
inherit (vcpkg) src;
patches = [
# Install imgui into split outputs:
(fetchpatch {
url = "https://github.com/microsoft/vcpkg/commit/4108dd75ce9731a4fdcf50fd05034405156eaddf.patch";
hash = "sha256-jXbR0NfyuO8EESmva5A+H3WmBfCG83OiA8ZCcWsRhQA=";
})
];
patches =
lib.optionals vcpkgRevs.postSdl3 [
# This patch was not accepted mainstream, as out-of-scope
# and also to not encourage dependencies between Nixpkgs and Vcpkg.
# Currently @SomeoneSerge is responsible for rebasing it when necessary.
# Consider vendoring instead?
./0001-imgui-allow-installing-into-split-outputs.patch
]
++ lib.optionals vcpkgRevs.others [
# Original version of the split-outputs patch
fetchpatch
{
url = "https://github.com/microsoft/vcpkg/commit/4108dd75ce9731a4fdcf50fd05034405156eaddf.patch";
hash = "sha256-jXbR0NfyuO8EESmva5A+H3WmBfCG83OiA8ZCcWsRhQA=";
}
];
};
in
@@ -82,6 +97,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs =
lib.optionals IMGUI_LINK_GLVND [ libGL ]
++ lib.optionals IMGUI_BUILD_GLFW_BINDING [ glfw ]
++ lib.optionals IMGUI_BUILD_SDL3_BINDING [ sdl3 ]
++ lib.optionals IMGUI_BUILD_SDL2_BINDING [ SDL2 ]
++ lib.optionals IMGUI_BUILD_VULKAN_BINDING [
vulkan-headers
@@ -103,7 +119,10 @@ stdenv.mkDerivation rec {
(lib.cmakeBool "IMGUI_BUILD_OPENGL3_BINDING" IMGUI_BUILD_OPENGL3_BINDING)
(lib.cmakeBool "IMGUI_BUILD_OSX_BINDING" IMGUI_BUILD_OSX_BINDING)
(lib.cmakeBool "IMGUI_BUILD_SDL2_BINDING" IMGUI_BUILD_SDL2_BINDING)
(lib.cmakeBool "IMGUI_BUILD_SDL3_BINDING" IMGUI_BUILD_SDL3_BINDING)
(lib.cmakeBool "IMGUI_BUILD_SDL2_RENDERER_BINDING" IMGUI_BUILD_SDL2_RENDERER_BINDING)
(lib.cmakeBool "IMGUI_BUILD_SDL3_RENDERER_BINDING" IMGUI_BUILD_SDL3_RENDERER_BINDING)
(lib.cmakeBool "IMGUI_BUILD_SDLGPU3_BINDING" IMGUI_BUILD_SDLGPU3_BINDING)
(lib.cmakeBool "IMGUI_BUILD_VULKAN_BINDING" IMGUI_BUILD_VULKAN_BINDING)
(lib.cmakeBool "IMGUI_BUILD_WIN32_BINDING" IMGUI_BUILD_WIN32_BINDING)
(lib.cmakeBool "IMGUI_FREETYPE" IMGUI_FREETYPE)
@@ -120,7 +139,9 @@ stdenv.mkDerivation rec {
meta = {
# These flags haven't been tested:
broken =
IMGUI_FREETYPE
IMGUI_BUILD_SDL2_BINDING # Option removed from Vcpkg' CMakeLists
|| IMGUI_BUILD_SDL2_RENDERER_BINDING
|| IMGUI_FREETYPE
|| IMGUI_FREETYPE_LUNASVG
|| IMGUI_BUILD_DX9_BINDING
|| IMGUI_BUILD_DX10_BINDING
+3 -3
View File
@@ -37,13 +37,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "ladybird";
version = "0-unstable-2025-05-07";
version = "0-unstable-2025-05-18";
src = fetchFromGitHub {
owner = "LadybirdWebBrowser";
repo = "ladybird";
rev = "5610f5a8652fb5273acd3739634bb8f69df1d786";
hash = "sha256-XG7FmadzZN9ew3oPOFjv0CzB/UzLWGq3AANRp2MQAq8=";
rev = "4d039fc3d4bf2ca9bf85c482d0b989c2128567ba";
hash = "sha256-J29UpFxyKEdHvIOMl3DhvtxIKtEgi6weZsk2UU0py8k=";
};
postPatch = ''
+2 -2
View File
@@ -8,13 +8,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "lightningcss";
version = "1.30.0";
version = "1.30.1";
src = fetchFromGitHub {
owner = "parcel-bundler";
repo = "lightningcss";
tag = "v${finalAttrs.version}";
hash = "sha256-vFOQrrTaKM6UcpdgJqj89P7ojCowg7MyK8Wam2hmLXg=";
hash = "sha256-imLbsQ2F5CQiepwWSMcXj0Fgyv4liCMmCwA/0SE07Mo=";
};
useFetchCargoVendor = true;
+58 -68
View File
@@ -1,20 +1,25 @@
{
dbus,
openssl,
gtk3,
webkitgtk_4_1,
pkg-config,
wrapGAppsHook3,
fetchFromGitHub,
buildNpmPackage,
rustPlatform,
lib,
stdenv,
copyDesktopItems,
makeDesktopItem,
rustPlatform,
fetchFromGitHub,
fetchNpmDeps,
cargo-tauri,
makeBinaryWrapper,
nodejs,
npmHooks,
pkg-config,
wrapGAppsHook3,
alsa-lib,
openssl,
webkitgtk_4_1,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "lrcget";
version = "0.9.3";
@@ -22,85 +27,70 @@ rustPlatform.buildRustPackage rec {
src = fetchFromGitHub {
owner = "tranxuanthang";
repo = "lrcget";
rev = "${version}";
tag = version;
hash = "sha256-3dBjQ1fO1q8JCQFvvV8LWBCD8cKFkFmm8ufC/Xihmj4=";
};
sourceRoot = "${src.name}/src-tauri";
patches = [
# needed to not attempt codesigning on darwin
./remove-signing-identity.patch
];
cargoRoot = "src-tauri";
buildAndTestSubdir = "src-tauri";
useFetchCargoVendor = true;
cargoHash = "sha256-Nu1N96OrLG/D2/1vbU229jLVNZuKIiCSwDJA25hlqFM=";
frontend = buildNpmPackage {
inherit version src;
pname = "lrcget-ui";
# FIXME: This is a workaround, because we have a git dependency node_modules/lrc-kit contains install scripts
# but has no lockfile, which is something that will probably break.
forceGitDeps = true;
distPhase = "true";
dontInstall = true;
# To fix `npm ERR! Your cache folder contains root-owned files`
makeCacheWritable = true;
# FIXME: This is a workaround, because we have a git dependency node_modules/lrc-kit contains install scripts
# but has no lockfile, which is something that will probably break.
forceGitDeps = true;
npmDepsHash = "sha256-N48+C3NNPYg/rOpnRNmkZfZU/ZHp8imrG/tiDaMGsCE=";
postBuild = ''
cp -r dist/ $out
'';
npmDeps = fetchNpmDeps {
name = "lrcget-${version}-npm-deps";
inherit src forceGitDeps;
hash = "sha256-N48+C3NNPYg/rOpnRNmkZfZU/ZHp8imrG/tiDaMGsCE=";
};
# copy the frontend static resources to final build directory
# Also modify tauri.conf.json so that it expects the resources at the new location
postPatch = ''
cp -r $frontend ./frontend
substituteInPlace tauri.conf.json \
--replace-fail '"frontendDist": "../dist"' '"frontendDist": "./frontend"'
'';
nativeBuildInputs = [
pkg-config
wrapGAppsHook3
copyDesktopItems
rustPlatform.bindgenHook
];
buildInputs =
nativeBuildInputs =
[
dbus
openssl
gtk3
cargo-tauri.hook
nodejs
npmHooks.npmConfigHook
rustPlatform.bindgenHook
]
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
webkitgtk_4_1
alsa-lib
pkg-config
wrapGAppsHook3
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
makeBinaryWrapper
];
buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [
alsa-lib
openssl
webkitgtk_4_1
];
# To fix `npm ERR! Your cache folder contains root-owned files`
makeCacheWritable = true;
# Disable checkPhase, since the project doesn't contain tests
doCheck = false;
postInstall = ''
install -DT icons/128x128@2x.png $out/share/icons/hicolor/128x128@2/apps/lrcget.png
install -DT icons/128x128.png $out/share/icons/hicolor/128x128/apps/lrcget.png
install -DT icons/32x32.png $out/share/icons/hicolor/32x32/apps/lrcget.png
# make the binary also runnable from the shell
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
makeWrapper "$out/Applications/LRCGET.app/Contents/MacOS/LRCGET" "$out/bin/LRCGET"
'';
# WEBKIT_DISABLE_COMPOSITING_MODE essential in NVIDIA + compositor https://github.com/NixOS/nixpkgs/issues/212064#issuecomment-1400202079
postFixup = ''
wrapProgram "$out/bin/lrcget" \
preFixup = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
gappsWrapperArgs+=(
# WEBKIT_DISABLE_COMPOSITING_MODE essential in NVIDIA + compositor https://github.com/NixOS/nixpkgs/issues/212064#issuecomment-1400202079
--set WEBKIT_DISABLE_COMPOSITING_MODE 1
)
'';
desktopItems = [
(makeDesktopItem {
name = "LRCGET";
exec = "lrcget";
icon = "lrcget";
desktopName = "LRCGET";
comment = meta.description;
})
];
passthru.updateScript = nix-update-script { };
meta = {
@@ -112,7 +102,7 @@ rustPlatform.buildRustPackage rec {
anas
Scrumplex
];
mainProgram = "lrcget";
mainProgram = "LRCGET";
platforms = with lib.platforms; unix ++ windows;
};
}
@@ -0,0 +1,13 @@
diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json
index 92d43e7..6519fd0 100644
--- a/src-tauri/tauri.conf.json
+++ b/src-tauri/tauri.conf.json
@@ -36,7 +36,7 @@
"exceptionDomain": "",
"frameworks": [],
"providerShortName": null,
- "signingIdentity": "-"
+ "signingIdentity": null
},
"resources": [],
"shortDescription": "Utility for mass-downloading LRC synced lyrics for your offline music library.",
@@ -143,6 +143,9 @@ class LuaEditor(pluginupdate.Editor):
print(f"updated {outfilename}")
# Format the generated file with nix fmt
subprocess.run(["nix", "fmt", outfilename], check=True)
@property
def attr_path(self):
return "luaPackages"
-293
View File
@@ -1,293 +0,0 @@
{
fetchurl,
lib,
makeWrapper,
patchelf,
stdenv,
# Linked dynamic libraries.
alsa-lib,
at-spi2-atk,
at-spi2-core,
atk,
cairo,
cups,
dbus,
expat,
fontconfig,
freetype,
gcc-unwrapped,
gdk-pixbuf,
glib,
gtk3,
gtk4,
libdrm,
libglvnd,
libkrb5,
libX11,
libxcb,
libXcomposite,
libXcursor,
libXdamage,
libXext,
libXfixes,
libXi,
libxkbcommon,
libXrandr,
libXrender,
libXScrnSaver,
libxshmfence,
libXtst,
libgbm,
nspr,
nss,
pango,
pipewire,
vulkan-loader,
wayland, # ozone/wayland
# Command line programs
coreutils,
# command line arguments which are always set e.g "--disable-gpu"
commandLineArgs ? "",
# Will crash without.
systemd,
# Loaded at runtime.
libexif,
pciutils,
# Additional dependencies according to other distros.
## Ubuntu
curl,
liberation_ttf,
util-linux,
wget,
xdg-utils,
## Arch Linux.
flac,
harfbuzz,
icu,
libopus,
libpng,
snappy,
speechd-minimal,
## Gentoo
bzip2,
libcap,
# Necessary for USB audio devices.
libpulseaudio,
pulseSupport ? true,
adwaita-icon-theme,
gsettings-desktop-schemas,
# For video acceleration via VA-API (--enable-features=VaapiVideoDecoder)
libva,
libvaSupport ? true,
# For Vulkan support (--enable-features=Vulkan)
addDriverRunpath,
# Edge AAD sync
cacert,
libsecret,
# Edge Specific
libuuid,
}:
let
opusWithCustomModes = libopus.override { withCustomModes = true; };
deps =
[
alsa-lib
at-spi2-atk
at-spi2-core
atk
bzip2
cacert
cairo
coreutils
cups
curl
dbus
expat
flac
fontconfig
freetype
gcc-unwrapped.lib
gdk-pixbuf
glib
harfbuzz
icu
libcap
libdrm
liberation_ttf
libexif
libglvnd
libkrb5
libpng
libX11
libxcb
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libxkbcommon
libXrandr
libXrender
libXScrnSaver
libxshmfence
libXtst
libgbm
nspr
nss
opusWithCustomModes
pango
pciutils
pipewire
snappy
speechd-minimal
systemd
util-linux
vulkan-loader
wayland
wget
libsecret
libuuid
]
++ lib.optional pulseSupport libpulseaudio
++ lib.optional libvaSupport libva
++ [
gtk3
gtk4
];
in
stdenv.mkDerivation (finalAttrs: {
pname = "microsoft-edge";
version = "136.0.3240.76";
src = fetchurl {
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-biNM1exJ/xUcmhZjH7ZcFF9cYVqsPavbbtsJnRVlyFo=";
};
# With strictDeps on, some shebangs were not being patched correctly
# ie, $out/share/microsoft/msedge/microsoft-edge
strictDeps = false;
nativeBuildInputs = [
makeWrapper
patchelf
];
buildInputs = [
# needed for XDG_ICON_DIRS
adwaita-icon-theme
glib
gtk3
gtk4
# needed for GSETTINGS_SCHEMAS_PATH
gsettings-desktop-schemas
];
unpackPhase = ''
runHook preUnpack
ar x $src
tar xf data.tar.xz
runHook postUnpack
'';
rpath = lib.makeLibraryPath deps + ":" + lib.makeSearchPathOutput "lib" "lib64" deps;
binpath = lib.makeBinPath deps;
installPhase = ''
runHook preInstall
appname=msedge
dist=stable
exe=$out/bin/microsoft-edge
mkdir -p $out/bin $out/share
cp -v -a opt/* $out/share
cp -v -a usr/share/* $out/share
# replace bundled vulkan-loader
rm -v $out/share/microsoft/$appname/libvulkan.so.1
ln -v -s -t "$out/share/microsoft/$appname" "${lib.getLib vulkan-loader}/lib/libvulkan.so.1"
substituteInPlace $out/share/microsoft/$appname/microsoft-edge \
--replace-fail 'CHROME_WRAPPER' 'WRAPPER'
substituteInPlace $out/share/applications/microsoft-edge.desktop \
--replace-fail /usr/bin/microsoft-edge-$dist $exe
substituteInPlace $out/share/gnome-control-center/default-apps/microsoft-edge.xml \
--replace-fail /opt/microsoft/msedge $exe
substituteInPlace $out/share/menu/microsoft-edge.menu \
--replace-fail /opt $out/share \
--replace-fail $out/share/microsoft/$appname/microsoft-edge $exe
for icon_file in $out/share/microsoft/msedge/product_logo_[0-9]*.png; do
num_and_suffix="''${icon_file##*logo_}"
if [ $dist = "stable" ]; then
icon_size="''${num_and_suffix%.*}"
else
icon_size="''${num_and_suffix%_*}"
fi
logo_output_prefix="$out/share/icons/hicolor"
logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps"
mkdir -p "$logo_output_path"
mv "$icon_file" "$logo_output_path/microsoft-edge.png"
done
# "--simulate-outdated-no-au" disables auto updates and browser outdated popup
makeWrapper "$out/share/microsoft/$appname/microsoft-edge" "$exe" \
--prefix LD_LIBRARY_PATH : "$rpath" \
--prefix PATH : "$binpath" \
--suffix PATH : "${lib.makeBinPath [ xdg-utils ]}" \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:${addDriverRunpath.driverLink}/share" \
--set SSL_CERT_FILE "${cacert}/etc/ssl/certs/ca-bundle.crt" \
--set CHROME_WRAPPER "microsoft-edge-$dist" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
--add-flags "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'" \
--add-flags ${lib.escapeShellArg commandLineArgs}
# Make sure that libGL and libvulkan are found by ANGLE libGLESv2.so
patchelf --set-rpath $rpath $out/share/microsoft/$appname/lib*GL*
# Edge specific set liboneauth
patchelf --set-rpath $rpath $out/share/microsoft/$appname/liboneauth.so
for elf in $out/share/microsoft/$appname/{msedge,msedge-sandbox,msedge_crashpad_handler}; do
patchelf --set-rpath $rpath $elf
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $elf
done
runHook postInstall
'';
passthru.updateScript = ./update.py;
meta = {
changelog = "https://learn.microsoft.com/en-us/deployedge/microsoft-edge-relnote-stable-channel";
description = "Web browser from Microsoft";
homepage = "https://www.microsoft.com/en-us/edge";
license = lib.licenses.unfree;
mainProgram = "microsoft-edge";
maintainers = with lib.maintainers; [
kuwii
rhysmdnz
];
platforms = [ "x86_64-linux" ];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
})
-44
View File
@@ -1,44 +0,0 @@
#! /usr/bin/env nix-shell
#! nix-shell -i python3 -p python3Packages.packaging python3Packages.python-debian common-updater-scripts
import base64
import textwrap
import os
from urllib import request
from collections import OrderedDict
from debian.deb822 import Packages
from debian.debian_support import Version
from os.path import abspath, dirname
PIN_PATH = dirname(abspath(__file__)) + '/default.nix'
def packages():
packages_url = 'https://packages.microsoft.com/repos/edge/dists/stable/main/binary-amd64/Packages'
handle = request.urlopen(packages_url)
return handle
def latest_packages(packages: bytes):
latest_packages: OrderedDict[str, Packages] = {}
for package in Packages.iter_paragraphs(packages, use_apt_pkg=False):
name: str = package['Package']
if not name.startswith('microsoft-edge-stable'):
continue
channel = name.replace('microsoft-edge-', '')
if channel not in latest_packages:
latest_packages[channel] = package
else:
old_package = latest_packages[channel]
if old_package.get_version() < package.get_version(): # type: ignore
latest_packages[channel] = package
return OrderedDict(sorted(latest_packages.items(), key=lambda x:x[0]))
def write_expression():
latest = latest_packages(packages())
version = Version.re_valid_version.match(latest['stable']['Version']).group('upstream_version')
os.system(f'update-source-version microsoft-edge "{version}"')
write_expression()
+1 -1
View File
@@ -21,7 +21,7 @@ let
treefmtWithConfig = treefmt.withConfig {
name = "nixfmt-tree";
settings = [
settings = lib.mkMerge [
# Default settings
{
_file = ./package.nix;
+24 -2
View File
@@ -5,6 +5,7 @@
python312,
nixosTests,
fetchurl,
ffmpeg-headless,
}:
let
pname = "open-webui";
@@ -18,7 +19,8 @@ let
};
frontend = buildNpmPackage rec {
inherit pname version src;
pname = "open-webui-frontend";
inherit version src;
# the backend for run-on-client-browser python execution
# must match lock file in open-webui
@@ -39,6 +41,10 @@ let
--replace-fail "npm run pyodide:fetch && vite build" "vite build"
'';
propagatedBuildInputs = [
ffmpeg-headless
];
env.CYPRESS_INSTALL_BINARY = "0"; # disallow cypress from downloading binaries in sandbox
env.ONNXRUNTIME_NODE_INSTALL_CUDA = "skip";
env.NODE_OPTIONS = "--max-old-space-size=8192";
@@ -207,7 +213,23 @@ python312.pkgs.buildPythonApplication rec {
changelog = "https://github.com/open-webui/open-webui/blob/${src.tag}/CHANGELOG.md";
description = "Comprehensive suite for LLMs with a user-friendly WebUI";
homepage = "https://github.com/open-webui/open-webui";
license = lib.licenses.mit;
# License history is complex: originally MIT, then a potentially problematic
# relicensing to a modified BSD-3 clause occurred around v0.5.5/v0.6.6.
# Due to these concerns and non-standard terms, it's treated as custom non-free.
license = {
fullName = "Open WebUI License";
url = "https://github.com/open-webui/open-webui/blob/0cef844168e97b70de2abee4c076cc30ffec6193/LICENSE";
# Marked non-free due to concerns over the MIT -> modified BSD-3 relicensing process,
# potentially unclear/contradictory statements, and non-standard branding requirements.
free = false;
};
longDescription = ''
User-friendly WebUI for LLMs. Note on licensing: Code in Open WebUI prior
to version 0.5.5 was MIT licensed. Since version 0.6.6, the project has
adopted a modified BSD-3-Clause license that includes branding requirements
and whose relicensing process from MIT has raised concerns within the community.
Nixpkgs treats this custom license as non-free due to these factors.
'';
mainProgram = "open-webui";
maintainers = with lib.maintainers; [
drupol
File diff suppressed because it is too large Load Diff
+3 -9
View File
@@ -24,6 +24,9 @@ rustPlatform.buildRustPackage rec {
sourceRoot = "${src.name}/apps/desktop/src-tauri";
useFetchCargoVendor = true;
cargoHash = "sha256-6wN4nZQWrY0J5E+auj17B3iJ/84hzBXYA/bJsX/N5pk=";
webui = callPackage ./webui.nix {
inherit meta src version;
};
@@ -42,15 +45,6 @@ rustPlatform.buildRustPackage rec {
OPENSSL_NO_VENDOR = 1;
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"system-notification-0.1.0" = "sha256-T9SnKBy4x0Y5Ul6oECHJ/lvsYS2TPY8Nrg1R9JtJUXs=";
"tauri-nspanel-2.0.0-beta" = "sha256-PhMkSrmmc6fJ0GmT9lPwYMsyBap7/g8vIp210l2nFU4=";
"tauri-plugin-window-state-2.0.0-rc.1" = "sha256-8GR9q1+eiULDOtWlLy+sLylOzfAOUO5Q61EP/XvP6c0=";
};
};
postPatch = ''
substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
--replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
+2 -2
View File
@@ -11,14 +11,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "ricochet-refresh";
version = "3.0.31";
version = "3.0.33";
src = fetchFromGitHub {
owner = "blueprint-freespeech";
repo = "ricochet-refresh";
rev = "v${finalAttrs.version}-release";
fetchSubmodules = true;
hash = "sha256-MEYq5WOt9t8WWqLOJcEVs0guPpob0EVUa+tAIbnDafY=";
hash = "sha256-KI2C0+S2CKTqaHKL94aS/znGTrnrHjkKCij14BwZMIo=";
};
sourceRoot = "${finalAttrs.src.name}/src";
File diff suppressed because it is too large Load Diff
+2 -12
View File
@@ -22,18 +22,8 @@ rustPlatform.buildRustPackage rec {
fetchSubmodules = true;
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"async-speed-limit-0.3.1" = "sha256-iOel6XA07RPrBjQAFLnxXX4VBpDrYZaqQc9clnsOorI=";
"confy-0.4.0-2" = "sha256-V7BCKISrkJIxWC3WT5+B5Vav86YTQvdO9TO6A++47FU=";
"default_net-0.1.0" = "sha256-wwVcnS99I1NJFeSihy5YrB5p0y+OHXTX81DQ+TtyFBU=";
"machine-uid-0.3.0" = "sha256-rEOyNThg6p5oqE9URnxSkPtzyW8D4zKzLi9pAnzTElE=";
"reqwest-0.11.23" = "sha256-kEUT+gs4ziknDiGdPMLnj5pmxC5SBpLopZ8jZ34GDWc=";
"sysinfo-0.29.10" = "sha256-/UsFAvlWs/F7X1xT+97Fx+pnpCguoPHU3hTynqYMEs4=";
"tokio-socks-0.5.2-1" = "sha256-i1dfNatqN4dinMcyAdLhj9hJWVsT10OWpCXsxl7pifI=";
};
};
useFetchCargoVendor = true;
cargoHash = "sha256-U1LTnqi2iEsm2U7t0Fr4VJWLo1MdQmeTKrPsNqRWap0=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -9,16 +9,16 @@
buildNpmPackage rec {
pname = "semantic-release";
version = "24.2.3";
version = "24.2.4";
src = fetchFromGitHub {
owner = "semantic-release";
repo = "semantic-release";
rev = "v${version}";
hash = "sha256-DoOnrgS6g4Qie1v7AVyaJgseG/z7rZX8FwXyvokOy0Y=";
hash = "sha256-nQfHgVQ2Daa9CTiHCzd8XRuxAXL/jOG7KBfoZZWAaNo=";
};
npmDepsHash = "sha256-K/7Wk5yDwY7b/MDuBC/PwNzOgt9PPhUXrQZRmkZu+gE=";
npmDepsHash = "sha256-T+U9FKYa6VUIOLYOYwCBs0B53vgNlTYXZLJm+YwfWu4=";
dontNpmBuild = true;
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "ticker";
version = "4.8.1";
version = "5.0.0";
src = fetchFromGitHub {
owner = "achannarasappa";
repo = pname;
tag = "v${version}";
hash = "sha256-2qg7/gzogvK8eIj9NzFELoeXrtJGC5pS4LvR2msOuHY=";
hash = "sha256-fRmW9Cs0Rxp+St4BUswHt/JxHgVy1Go4OR9oarkAufw=";
};
vendorHash = "sha256-o3hVRHyrJpmYgephoZ2JlVLGSqZtRQAp48OzoIMY3do=";
vendorHash = "sha256-4e3TB4EHJTFxBcjAepEU8u4gurhss2seihw3VRiVoqQ=";
ldflags = [
"-s"
+2 -2
View File
@@ -15,7 +15,7 @@
p11-kit,
quickder,
unbound,
nix-update-script,
gitUpdater,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
unbound
];
passthru.updateScript = nix-update-script { };
passthru.updateScript = gitUpdater { rev-prefix = "v"; };
meta = {
description = "TLS daemon with PKCS #11 backend";
-30
View File
@@ -1,30 +0,0 @@
{
lib,
formats,
}:
module:
let
settingsFormat = formats.toml { };
configuration = lib.evalModules {
modules = [
{
_file = ./build-config.nix;
freeformType = settingsFormat.type;
}
{
# Wrap user's modules with a default file location
_file = "<treefmt.buildConfig args>";
imports = lib.toList module;
}
];
};
settingsFile = settingsFormat.generate "treefmt.toml" configuration.config;
in
settingsFile.overrideAttrs {
passthru = {
format = settingsFormat;
settings = configuration.config;
inherit (configuration) _module options;
optionType = configuration.type;
};
}
+98
View File
@@ -0,0 +1,98 @@
{
lib,
pkgs,
treefmt,
}:
{
/**
Evaluate a treefmt configuration.
# Type
```
Module -> Configuration
```
# Inputs
`module`
: A treefmt module, configuring options that include:
- `name`: `String` (default `"treefmt-with-config"`)
- `settings`: `Module` (default `{ }`)
- `runtimeInputs`: `[Derivation]` (default `[ ]`)
*/
evalConfig =
module:
lib.evalModules {
class = "treefmtConfig";
specialArgs.modulesPath = ./modules;
modules = [
{
_file = "treefmt.evalConfig";
_module.args.pkgs = lib.mkOptionDefault pkgs;
package = lib.mkOptionDefault treefmt;
}
{
_file = "<treefmt.evalConfig args>";
imports = lib.toList module;
}
./modules/default.nix
];
};
/**
Wrap treefmt, configured using structured settings.
# Type
```
Module -> Derivation
```
# Inputs
`module`
: A treefmt module, configuring options that include:
- `name`: `String` (default `"treefmt-with-config"`)
- `settings`: `Module` (default `{ }`)
- `runtimeInputs`: `[Derivation]` (default `[ ]`)
*/
withConfig =
module:
let
configuration = treefmt.evalConfig {
_file = "<treefmt.withConfig args>";
imports = lib.toList module;
};
in
configuration.config.result;
/**
Build a treefmt config file from structured settings.
# Type
```
Module -> Derivation
```
# Inputs
`settings`
: A settings module, used to build a treefmt config file
*/
buildConfig =
module:
let
configuration = treefmt.evalConfig {
_file = "<treefmt.buildConfig args>";
settings.imports = lib.toList module;
};
in
configuration.config.configFile.overrideAttrs {
passthru = {
inherit (configuration.config) settings;
options = (opt: opt.type.getSubOptions opt.loc) configuration.options.settings;
};
};
}
@@ -0,0 +1,9 @@
{
_class = "treefmtConfig";
imports = [
./options.nix
./settings.nix
./wrapper.nix
];
}
@@ -0,0 +1,40 @@
{ lib, config, ... }:
{
options = {
name = lib.mkOption {
type = lib.types.str;
default = lib.getName config.package + "-with-config";
defaultText = lib.literalExpression "\"\${getName package}-with-config\"";
description = ''
Name to use for the wrapped treefmt package.
'';
};
runtimeInputs = lib.mkOption {
type = with lib.types; listOf package;
default = [ ];
description = ''
Packages to include on treefmt's PATH.
'';
};
configFile = lib.mkOption {
type = lib.types.path;
# Ensure file is copied to the store
apply = file: if lib.isDerivation file then file else "${file}";
defaultText = lib.literalMD "generated from [](#opt-treefmt-settings)";
description = ''
The treefmt config file.
'';
};
package = lib.mkOption {
type = lib.types.package;
defaultText = lib.literalExpression "pkgs.treefmt";
description = ''
The treefmt package to wrap.
'';
internal = true;
};
};
}
@@ -0,0 +1,26 @@
{
lib,
pkgs,
config,
modulesPath,
...
}:
let
settingsFormat = pkgs.formats.toml { };
in
{
options.settings = lib.mkOption {
type = lib.types.submoduleWith {
specialArgs = { inherit modulesPath; };
modules = [
{ freeformType = settingsFormat.type; }
];
};
default = { };
description = ''
Settings used to build a treefmt config file.
'';
};
config.configFile = lib.mkOptionDefault (settingsFormat.generate "treefmt.toml" config.settings);
}
@@ -0,0 +1,40 @@
{
lib,
pkgs,
config,
options,
...
}:
{
options.result = lib.mkOption {
type = lib.types.package;
description = ''
The wrapped treefmt package.
'';
readOnly = true;
internal = true;
};
config.result =
pkgs.runCommand config.name
{
nativeBuildInputs = [ pkgs.makeBinaryWrapper ];
env = {
inherit (config) configFile;
binPath = lib.makeBinPath config.runtimeInputs;
};
passthru = {
inherit (config) runtimeInputs;
inherit config options;
};
inherit (config.package) meta version;
}
''
mkdir -p $out/bin
makeWrapper \
${lib.getExe config.package} \
$out/bin/treefmt \
--prefix PATH : "$binPath" \
--add-flags "--config-file $configFile"
'';
}
+5 -28
View File
@@ -1,7 +1,6 @@
{
lib,
buildGoModule,
callPackage,
callPackages,
fetchFromGitHub,
}:
@@ -30,33 +29,11 @@ buildGoModule rec {
];
passthru = {
/**
Wrap treefmt, configured using structured settings.
# Type
```
AttrSet -> Derivation
```
# Inputs
- `name`: `String` (default `"treefmt-configured"`)
- `settings`: `Module` (default `{ }`)
- `runtimeInputs`: `[Derivation]` (default `[ ]`)
*/
withConfig = callPackage ./with-config.nix { };
/**
Build a treefmt config file from structured settings.
# Type
```
Module -> Derivation
```
*/
buildConfig = callPackage ./build-config.nix { };
inherit (callPackages ./lib.nix { })
evalConfig
withConfig
buildConfig
;
tests = callPackages ./tests.nix { };
};
-32
View File
@@ -1,32 +0,0 @@
{
lib,
runCommand,
treefmt,
makeBinaryWrapper,
}:
{
name ? "treefmt-with-config",
settings ? { },
runtimeInputs ? [ ],
}:
runCommand name
{
nativeBuildInputs = [ makeBinaryWrapper ];
treefmtExe = lib.getExe treefmt;
binPath = lib.makeBinPath runtimeInputs;
passthru = { inherit runtimeInputs; };
configFile = treefmt.buildConfig {
# Wrap user's modules with a default file location
_file = "<treefmt.withConfig settings arg>";
imports = lib.toList settings;
};
inherit (treefmt) meta version;
}
''
mkdir -p $out/bin
makeWrapper \
$treefmtExe \
$out/bin/treefmt \
--prefix PATH : "$binPath" \
--add-flags "--config-file $configFile"
''
+1 -1
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-update
nix-update --override-filename pkgs/by-name/ui/uiua/unstable.nix --version-regex '^(\d*\.\d*\.\d*.*)$' uiua-unstable
nix-update --override-filename pkgs/by-name/ui/uiua/unstable.nix --version unstable --version-regex '^(\d*\.\d*\.\d*.*)$' uiua-unstable
+2 -2
View File
@@ -9,13 +9,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "vcpkg";
version = "2025.02.14";
version = "2025.04.09";
src = fetchFromGitHub {
owner = "microsoft";
repo = "vcpkg";
rev = finalAttrs.version;
hash = "sha256-HmaP1WKl8s5eKAC32nTALFd4gbqKnzWnJn6L0/fFmqk=";
hash = "sha256-ZJu3dFsKc7L2THgGXNtBszXUbEEoM3bnLxtf5x5UPTM=";
leaveDotGit = true;
postFetch = ''
cd "$out"
-8947
View File
File diff suppressed because it is too large Load Diff
+3 -17
View File
@@ -30,29 +30,15 @@ rustPlatform.buildRustPackage {
hash = "sha256-h2hLO227aeK2oEFfdGMgmtMkA9cn9AgQ9w6myb+8W8c=";
};
cargoLock.lockFile = ./Cargo.lock;
cargoLock.outputHashes = {
# Hashes of dependencies pinned to a git commit
"auth-common-0.1.0" = "sha256-6tUutHLY309xSBT2D7YueAmsAWyVn410XNKFT8yuTgA=";
"conrod_core-0.63.0" = "sha256-GxakbJBVTFgbtUsa2QB105xgd+aULuWLBlv719MIzQY=";
"egui_wgpu_backend-0.26.0" = "sha256-47XZoE7bFRv/TG4EmM2qit5L21qsKT6Nt/t1y/NMneQ=";
"fluent-0.16.0" = "sha256-xN+DwObqoToqprLDy3yvTiqclIIOsuUtpAQ6W1mdf0I=";
"iced_core-0.4.0" = "sha256-5s6IXcitoGcHS0FUx/cujx9KLBpaUuMnugmBged1cLA=";
"keyboard-keynames-0.1.2" = "sha256-5I70zT+Lwt0JXJgTAy/VygHdxIBuE/u3pq8LP8NkRdE=";
"naga-0.14.2" = "sha256-yyLrJNhbu/RIVr0hM7D7Rwd7vH3xX8Dns+u6m8NEU2M=";
"portpicker-0.1.0" = "sha256-or1907XdrDIyFzHNmW6me2EIyEQ8sjVIowfGsypa4jU=";
"shaderc-0.8.0" = "sha256-BU736g075i3GqlyyB9oyoVlQqNcWbZEGa8cdge1aMq0=";
"specs-0.20.0" = "sha256-OHnlag6SJ1rlAYnlmVD+uqY+kFNsbQ42W21RrEa8Xn0=";
};
cargoPatches = [
./fix-on-rust-stable.patch
./fix-assets-path.patch
];
postPatch = ''
# Use our Cargo.lock
cp ${./Cargo.lock} Cargo.lock
useFetchCargoVendor = true;
cargoHash = "sha256-3XHuAgue0Id1oxCJ8NLZ4wYjMfND+C1iIW+AnMKXd54=";
postPatch = ''
# Force vek to build in unstable mode
cat <<'EOF' | tee "$cargoDepsCopy"/vek-*/build.rs
fn main() {
+3 -3
View File
@@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "volatility3";
version = "2.11.0";
version = "2.26.0";
pyproject = true;
src = fetchFromGitHub {
owner = "volatilityfoundation";
repo = "volatility3";
tag = "v${version}";
hash = "sha256-X2cTZaEUQm7bE0k2ve4vKj0k1N6zeLXfDzhWm32diVY=";
hash = "sha256-O12w1NM2Hdp3UeeHpvibYfqLlXdQ+baqWX1qrr6SxSE=";
};
build-system = with python3.pkgs; [
@@ -42,7 +42,7 @@ python3.pkgs.buildPythonApplication rec {
meta = with lib; {
description = "Volatile memory extraction frameworks";
homepage = "https://www.volatilityfoundation.org/";
changelog = "https://github.com/volatilityfoundation/volatility3/releases/tag/v${version}";
changelog = "https://github.com/volatilityfoundation/volatility3/releases/tag/${src.tag}";
license = {
# Volatility Software License 1.0
free = false;
@@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "vulkan-memory-allocator";
version = "3.2.1";
version = "3.3.0";
src = fetchFromGitHub {
owner = "GPUOpen-LibrariesAndSDKs";
repo = "VulkanMemoryAllocator";
tag = "v${finalAttrs.version}";
hash = "sha256-PnrzYZfTZU02odvmUrD9he1T6O09vhfOfhkvgEBnDHk=";
hash = "sha256-TPEqV8uHbnyphLG0A+b2tgLDQ6K7a2dOuDHlaFPzTeE=";
};
# A compiler is only required for the samples. This lets us use stdenvNoCC.
-2487
View File
File diff suppressed because it is too large Load Diff
+2 -6
View File
@@ -73,12 +73,8 @@ rustPlatform.buildRustPackage rec {
libtool
];
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"autopilot-0.4.0" = "sha256-1DRuhAAXaIADUmXlDVr8UNbI/Ab2PYdrx9Qh0j9rTX8=";
};
};
useFetchCargoVendor = true;
cargoHash = "sha256-dLhlYOrLjoBSRGDJB0qTEIb+oGnp9X+ADHddpYITdl8=";
cargoBuildFlags = [ "--features=ffmpeg-system" ];
cargoTestFlags = [ "--features=ffmpeg-system" ];
-4672
View File
File diff suppressed because it is too large Load Diff
+2 -10
View File
@@ -54,20 +54,12 @@ rustPlatform.buildRustPackage {
sourceRoot = "${src.name}/src-tauri";
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"tauri-plugin-window-state-0.1.0" = "sha256-DkKiwBwc9jrxMaKWOyvl9nsBJW0jBe8qjtqIdKJmsnc=";
"window-shadows-0.2.0" = "sha256-e1afzVjVUHtckMNQjcbtEQM0md+wPWj0YecbFvD0LKE=";
"window-vibrancy-0.3.0" = "sha256-0psa9ZtdI0T6sC1RJ4GeI3w01FdO2Zjypuk9idI5pBY=";
};
};
useFetchCargoVendor = true;
cargoHash = "sha256-D7qgmxDYQEgOkEYKDSLA875bXeTKDvAntF7kB4esn24=";
# copy the frontend static resources to final build directory
# Also modify tauri.conf.json so that it expects the resources at the new location
postPatch = ''
cp ${./Cargo.lock} Cargo.lock
mkdir -p frontend-build
cp -R ${frontend-build}/src frontend-build
+11 -11
View File
@@ -1,25 +1,25 @@
{
"version": "0.147.0",
"version": "0.148.0",
"binaries": {
"aarch64-darwin": {
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.147.0/darwin/arm64/yc",
"hash": "sha256-1HJPKu7R0+xwxQQHd/vcxASAhtkQYNJypvKKeehVub8="
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.148.0/darwin/arm64/yc",
"hash": "sha256-wFc3/ikLFO8JEE5lTEU4z+KR8aKSs9qjuDVAGQefoFA="
},
"aarch64-linux": {
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.147.0/linux/arm64/yc",
"hash": "sha256-guw6dKsXWDH8VYTCBkxC5BxkrCCt/WEG6BBwTU0K1SY="
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.148.0/linux/arm64/yc",
"hash": "sha256-8yt8BHGg52kXdwLMYtnwNqeozvkwKFJnLAnkvhaocFk="
},
"i686-linux": {
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.147.0/linux/386/yc",
"hash": "sha256-nACjbD1/iZ4HVUNGXC7TgAnof5Xf48wvz+tKhCP/AXc="
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.148.0/linux/386/yc",
"hash": "sha256-A+BM2evI7FN0IxUMh9KOUlaAyCSFBOg9n++GcHBq1aU="
},
"x86_64-darwin": {
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.147.0/darwin/amd64/yc",
"hash": "sha256-SAVTTdI1EXAK6AqnycVVxtsOAnRC2rKvito+j9Wmzk4="
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.148.0/darwin/amd64/yc",
"hash": "sha256-3vmbRJm/L9LVjle5gfRG/uLEfvDhhz3gXN/NaOxSKD8="
},
"x86_64-linux": {
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.147.0/linux/amd64/yc",
"hash": "sha256-k3Mn3sxPzPu6XfLEP07kkSYZP4LWx8NJe8OIS3yfcgQ="
"url": "https://storage.yandexcloud.net/yandexcloud-yc/release/0.148.0/linux/amd64/yc",
"hash": "sha256-XlKnb0RtSu/f5UUnepHfp9UnQhCfI+SaJePQ6pOFeJg="
}
}
}
@@ -0,0 +1,55 @@
{
coq,
coq-lsp,
ocamlPackages,
lib,
mkCoqDerivation,
version ? null,
makeWrapper,
}:
mkCoqDerivation rec {
pname = "coqfmt";
owner = "toku-sa-n";
inherit version;
displayVersion.coqfmt = v: "master-${v}";
release."master" = {
rev = "c26ce64d6ad1a1c3cafee38ab4889ad3b68a5c33";
sha256 = "sha256-4Q0z/KUHrJZKeKJDqa9mkxfy9LrGh2xPt561muUFYAY=";
};
namePrefix = [ ];
useDune = true;
defaultVersion =
with lib.versions;
lib.switch coq.version [
{
case = isEq "8.20";
out = "master";
}
] null;
installPhase = ''
runHook preInstall
dune install -p ${pname} --prefix=$out --libdir $OCAMLFIND_DESTDIR
wrapProgram $out/bin/coqfmt --prefix OCAMLPATH : $OCAMLPATH
runHook postInstall
'';
nativeBuildInputs = [ makeWrapper ];
buildInputs = with ocamlPackages; [
dune-build-info
coq-lsp
];
meta = {
description = "A command line tool to format your Coq source code.";
license = lib.licenses.agpl3Only;
maintainers = with lib.maintainers; [ DieracDelta ];
};
}
@@ -7,13 +7,13 @@
mkDerivation rec {
pname = "cubical";
version = "0.7";
version = "0.8";
src = fetchFromGitHub {
repo = pname;
owner = "agda";
rev = "v${version}";
hash = "sha256-oLpKRWfQqb6CIscC2XM0ia9HJ8edJFHoPeql3kfvyrA=";
hash = "sha256-KwwN2g2naEo4/rKTz2L/0Guh5LxymEYP53XQzJ6eMjM=";
};
# The cubical library has several `Everything.agda` files, which are
+31 -22
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchurl,
pkgsStatic,
python3,
docutils,
bzip2,
@@ -13,16 +14,22 @@
static ? stdenv.hostPlatform.isStatic, # generates static libraries *only*
# build ESDM RNG plugin
with_esdm ? false,
withEsdm ? false,
# useful, but have to disable tests for now, as /dev/tpmrm0 is not accessible
with_tpm2 ? false,
# only allow BSI approved algorithms, FFI and SHAKE for XMSS
with_bsi_policy ? false,
# only allow NIST approved algorithms
with_fips140_policy ? false,
withTpm2 ? false,
policy ? null,
}:
assert (!with_bsi_policy && !with_fips140_policy) || (with_bsi_policy != with_fips140_policy);
assert lib.assertOneOf "policy" policy [
# no explicit policy is given. The defaults by the library are used
null
# only allow BSI approved algorithms, FFI and SHAKE for XMSS
"bsi"
# only allow NIST approved algorithms in FIPS 140
"fips140"
# only allow "modern" algorithms
"modern"
];
let
common =
@@ -64,23 +71,21 @@ let
bzip2
zlib
]
++ lib.optionals (stdenv.hostPlatform.isLinux && with_tpm2) [
++ lib.optionals (stdenv.hostPlatform.isLinux && withTpm2) [
tpm2-tss
]
++ lib.optionals (lib.versionAtLeast version "3.6.0") [
jitterentropy
]
++ lib.optionals (lib.versionAtLeast version "3.7.0" && with_esdm) [
++ lib.optionals (lib.versionAtLeast version "3.7.0" && withEsdm) [
esdm
];
buildTargets =
lib.optionals finalAttrs.finalPackage.doCheck [ "tests" ]
[ "cli" ]
++ lib.optionals finalAttrs.finalPackage.doCheck [ "tests" ]
++ lib.optionals static [ "static" ]
++ lib.optionals (!static) [
"cli"
"shared"
];
++ lib.optionals (!static) [ "shared" ];
botanConfigureFlags =
[
@@ -98,22 +103,21 @@ let
++ lib.optionals stdenv.cc.isClang [
"--cc=clang"
]
++ lib.optionals (stdenv.hostPlatform.isLinux && with_tpm2) [
++ lib.optionals (stdenv.hostPlatform.isLinux && withTpm2) [
"--with-tpm2"
]
++ lib.optionals (lib.versionAtLeast version "3.6.0") [
"--enable-modules=jitter_rng"
]
++ lib.optionals (lib.versionAtLeast version "3.7.0" && with_esdm) [
++ lib.optionals (lib.versionAtLeast version "3.7.0" && withEsdm) [
"--enable-modules=esdm_rng"
]
++ lib.optionals (lib.versionAtLeast version "3.8.0" && with_bsi_policy) [
"--module-policy=bsi"
++ lib.optionals (lib.versionAtLeast version "3.8.0" && policy != null) [
"--module-policy=${policy}"
]
++ lib.optionals (lib.versionAtLeast version "3.8.0" && policy == "bsi") [
"--enable-module=ffi"
"--enable-module=shake"
]
++ lib.optionals (lib.versionAtLeast version "3.8.0" && with_fips140_policy) [
"--module-policy=fips140"
];
configurePhase = ''
@@ -133,7 +137,11 @@ let
ln -s botan-*.pc botan.pc || true
'';
doCheck = !static;
doCheck = true;
passthru.tests = lib.optionalAttrs (lib.versionAtLeast version "3") {
static = pkgsStatic.botan3;
};
meta = with lib; {
description = "Cryptographic algorithms library";
@@ -142,6 +150,7 @@ let
maintainers = with maintainers; [
raskin
thillux
nikstur
];
platforms = platforms.unix;
license = licenses.bsd2;
@@ -551,17 +551,17 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "datafile";
version = "0.10-1";
version = "0.11-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/datafile-0.10-1.rockspec";
sha256 = "0qj9m5qv84rqg9k981bnsvrbnmd1d6zqvl30471w0bx5w88zidyk";
url = "mirror://luarocks/datafile-0.11-1.rockspec";
sha256 = "09i0yqakzc342f2qqa0yxkdyz55y9s5v036x3xjwpfjry8yywc6q";
}).outPath;
src = fetchFromGitHub {
owner = "hishamhm";
repo = "datafile";
rev = "v0.10";
hash = "sha256-l0jrSHkcvAeF5/HUXIV0wGLmmTNINXsQ05EjT/YFgw4=";
rev = "v0.11";
hash = "sha256-aHdxFJ2IB9v9UMK7vqk7tUA0rLmfvRd0nzhc9JO8AlQ=";
};
disabled = luaOlder "5.1";
@@ -814,15 +814,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "fzf-lua";
version = "0.0.1868-1";
version = "0.0.1896-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/fzf-lua-0.0.1868-1.rockspec";
sha256 = "0b3zamh2wghzjk8yvl8pzcrbj1imkaz46bl92ny4izakydf0khzi";
url = "mirror://luarocks/fzf-lua-0.0.1896-1.rockspec";
sha256 = "1dhpy1fql4g70qr719yk54bphs8dnvsx8xbsv4aw6m5lpwbzfprh";
}).outPath;
src = fetchzip {
url = "https://github.com/ibhagwan/fzf-lua/archive/37eb9d1874133ba451b73dbfb79d1e14eae64497.zip";
sha256 = "1br76ywyj45n6mh79yjgk0fig50rficz8fj77728k20l6rf1ynhi";
url = "https://github.com/ibhagwan/fzf-lua/archive/66e620a7a724364809e78a1ae4b5bfe73e37df49.zip";
sha256 = "0wz742yz8pj3kip6g5v3fy9zv7bbg1mvlagl2l96kb7plmkvlcn4";
};
disabled = luaOlder "5.1";
@@ -903,15 +903,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "grug-far.nvim";
version = "1.6.11-1";
version = "1.6.27-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/grug-far.nvim-1.6.11-1.rockspec";
sha256 = "1x7an65nxrlr45nnvwkf9isf643ghz0jg57bndm3yxn5sbn27iwp";
url = "mirror://luarocks/grug-far.nvim-1.6.27-1.rockspec";
sha256 = "0yhglp9whv6ydqq0v33b3w9l9imdfw22r9phfq2r4a0123fz8dgv";
}).outPath;
src = fetchzip {
url = "https://github.com/MagicDuck/grug-far.nvim/archive/631331f9c6611b1a47e887f50b92b7cf450f51e7.zip";
sha256 = "0lcrvrcxagdsi1kzdvlwfrv3ddkljcway9mdinmkvqgnni1pjdzc";
url = "https://github.com/MagicDuck/grug-far.nvim/archive/7df08fff7da6ee08006fe8eaccc3407b89da368b.zip";
sha256 = "11sgkn96yn1a7phn8n9a9bvlanmiafva654j5wwhy97wmdj752v6";
};
disabled = luaOlder "5.1";
@@ -934,15 +934,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "haskell-tools.nvim";
version = "5.0.0-1";
version = "6.0.0-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/haskell-tools.nvim-5.0.0-1.rockspec";
sha256 = "0ps1aqz344b2kc0p5zs70i4n9s07fnc5b2kxdbyj1x8cn3ndv959";
url = "mirror://luarocks/haskell-tools.nvim-6.0.0-1.rockspec";
sha256 = "1gw5zhp9cvbcvckwv646f2zim4y3jbsclxvkv6n397g9b737h5ql";
}).outPath;
src = fetchzip {
url = "https://github.com/mrcjkb/haskell-tools.nvim/archive/v5.0.0.zip";
sha256 = "0xwxxwcn775yjqjs90mr1qs9hf5dyqxhkii38yfq1cv5w8bnlrff";
url = "https://github.com/mrcjkb/haskell-tools.nvim/archive/v6.0.0.zip";
sha256 = "15mdixgdy2imb1anlw7mvd8zsl9a14hjhhn47ajmrb4s5rp2slhq";
};
disabled = luaOlder "5.1";
@@ -3083,15 +3083,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "luasnip";
version = "2.3.0-1";
version = "2.4.0-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/luasnip-2.3.0-1.rockspec";
sha256 = "022srpvwwbms8i97mdhkwq0yg0pfjm7a6673iyf7cr1xj15pq23v";
url = "mirror://luarocks/luasnip-2.4.0-1.rockspec";
sha256 = "0rbv9z1bb8dy70mmy7w621zlhxcdv1g3bmmdxp012hicg7zrikyy";
}).outPath;
src = fetchzip {
url = "https://github.com/L3MON4D3/LuaSnip/archive/v2.3.0.zip";
sha256 = "0bbackpym8k11gm32iwwzqjnqanpralanfjkl4lrs33xl7lsylqk";
url = "https://github.com/L3MON4D3/LuaSnip/archive/v2.4.0.zip";
sha256 = "055mbyszd7gyxib4yi4wsiazs63p4d6ms3sp6x7xya7d0szfkl0n";
};
disabled = luaOlder "5.1";
@@ -3983,15 +3983,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "nlua";
version = "0.3.0-1";
version = "0.3.1-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/nlua-0.3.0-1.rockspec";
sha256 = "0kmxxmw62dw22vxszqq57zd5ww0k451lrww3xb1an9qg5c4nqiwl";
url = "mirror://luarocks/nlua-0.3.1-1.rockspec";
sha256 = "1238vnwk14pdcq533a8ndmmkc0b9ndc4kh0aja7ypmsjvk2y5v3s";
}).outPath;
src = fetchzip {
url = "https://github.com/mfussenegger/nlua/archive/v0.3.0.zip";
sha256 = "181jcmxnra8vfb3dxb9m63d8k7bb4x0n20jisgbwc2fkqgz3y0va";
url = "https://github.com/mfussenegger/nlua/archive/v0.3.1.zip";
sha256 = "1m19ap9ipcdj16rbllxiqlww8hz98l63cdb8mhll37756nr773hn";
};
disabled = luaOlder "5.1";
@@ -4013,17 +4013,17 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "nui.nvim";
version = "0.3.0-1";
version = "0.4.0-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/nui.nvim-0.3.0-1.rockspec";
sha256 = "0ng75wzbc0bn4zgwqk7dx5hazybfqxpjfzp7k2syh7kajmsy8z8b";
url = "mirror://luarocks/nui.nvim-0.4.0-1.rockspec";
sha256 = "0bs87acbr7ih5ln9c5a394fsmg32afw9g3w5l9ji5hmxfbvj6prf";
}).outPath;
src = fetchFromGitHub {
owner = "MunifTanjim";
repo = "nui.nvim";
rev = "0.3.0";
hash = "sha256-L0ebXtv794357HOAgT17xlEJsmpqIHGqGlYfDB20WTo=";
rev = "0.4.0";
hash = "sha256-SJc9nfV6cnBKYwRWsv0iHy+RbET8frNV85reICf+pt8=";
};
meta = {
@@ -4165,15 +4165,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "orgmode";
version = "0.5.3-1";
version = "0.6.0-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/orgmode-0.5.3-1.rockspec";
sha256 = "1fz8jwh5an22q47p18n15wv1idmgc46riik60d6l26ar2cfsj66n";
url = "mirror://luarocks/orgmode-0.6.0-1.rockspec";
sha256 = "1mdk1hy5zbv0js1bp4sb6rijdvjywzhyz16709sd66fw8sn451ak";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-orgmode/orgmode/archive/0.5.3.zip";
sha256 = "1gifyysdd35shjfi5m8z8avxyp92sk34zy2j7476pjdvhp31c50b";
url = "https://github.com/nvim-orgmode/orgmode/archive/0.6.0.zip";
sha256 = "18pmiyinhqmkycf4aa9h9ljsvmb2a0ns87dxdqmgizmd2dl72dyc";
};
disabled = luaOlder "5.1";
@@ -4434,15 +4434,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "rocks-config.nvim";
version = "3.1.0-1";
version = "3.1.1-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/rocks-config.nvim-3.1.0-1.rockspec";
sha256 = "0165jyp21hxaaimn166r3r5rrjzx9q8ci1s2w54kiijz79i7kpg3";
url = "mirror://luarocks/rocks-config.nvim-3.1.1-1.rockspec";
sha256 = "1sg06ai9k2bkvcdm376lhbvc3n064bw237kcq579x703i7x3064b";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-neorocks/rocks-config.nvim/archive/v3.1.0.zip";
sha256 = "1r5g3f039b41c0c55i6vqph4hslc0706s6blrz15yxhgyj4ksi8p";
url = "https://github.com/nvim-neorocks/rocks-config.nvim/archive/v3.1.1.zip";
sha256 = "00p02ghxfkzma7asvxq3m1mj9kvyg71w856v8pg78zv6db8fxcib";
};
disabled = luaOlder "5.1";
@@ -4469,15 +4469,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "rocks-dev.nvim";
version = "1.7.0-1";
version = "1.8.0-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/rocks-dev.nvim-1.7.0-1.rockspec";
sha256 = "0jc8nxxbr7m3vw4lcyxi8wm4w0nz1ml54sbs96z4kj0p6mm9fds6";
url = "mirror://luarocks/rocks-dev.nvim-1.8.0-1.rockspec";
sha256 = "02ja27620fcw0wf516blz3130scwp96dz092di6w5lwj9dbfm9ab";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-neorocks/rocks-dev.nvim/archive/v1.7.0.zip";
sha256 = "13n9dkv5217qd8dhj54d1rfqp6mx5jir319fmsln47jv83x7micz";
url = "https://github.com/nvim-neorocks/rocks-dev.nvim/archive/v1.8.0.zip";
sha256 = "0hbdkry1xn8yqhicnzpqfy967s3bb61k87219pg4b3nmidd1pbym";
};
disabled = luaOlder "5.1";
@@ -4618,15 +4618,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "rustaceanvim";
version = "6.0.5-1";
version = "6.1.1-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/rustaceanvim-6.0.5-1.rockspec";
sha256 = "0c5kmmgmsdz20g5dmbwqls6wgxfi79ljm3iaf2rb4vlgj04b1aqs";
url = "mirror://luarocks/rustaceanvim-6.1.1-1.rockspec";
sha256 = "128cpnhyil2kbqy4rca6qhmqdr9cgpcy12iw661rc2gdq8graqms";
}).outPath;
src = fetchzip {
url = "https://github.com/mrcjkb/rustaceanvim/archive/v6.0.5.zip";
sha256 = "1gma1gxcs3h2l16dalv0d0iz953cyn65b6c6m8fli8jfk1av9sq0";
url = "https://github.com/mrcjkb/rustaceanvim/archive/v6.1.1.zip";
sha256 = "0igjyrryr9y4i6lfqcl9dbm0hzfypyv4dlf0fhkk54886hj2qhx1";
};
disabled = luaOlder "5.1";
@@ -5124,15 +5124,15 @@ final: prev: {
}:
buildLuarocksPackage {
pname = "tree-sitter-orgmode";
version = "2.0.0-1";
version = "2.0.1-1";
knownRockspec =
(fetchurl {
url = "mirror://luarocks/tree-sitter-orgmode-2.0.0-1.rockspec";
sha256 = "1vgn8nxb3xjns30agbk0zz29ixf31ipvyl3q12lb5girhrwx43y0";
url = "mirror://luarocks/tree-sitter-orgmode-2.0.1-1.rockspec";
sha256 = "1g1xmvbxkpd4d7l8m02p02zh4x971k8fd4cvr617pk8vc9zcndps";
}).outPath;
src = fetchzip {
url = "https://github.com/nvim-orgmode/tree-sitter-org/archive/2.0.0.zip";
sha256 = "1yw4f4gd80dg9cc5m1d7abl22psgkssbxa2nrb7v5ay4zc0b3s7r";
url = "https://github.com/nvim-orgmode/tree-sitter-org/archive/2.0.1.zip";
sha256 = "00j5z07j2gixpmz17x5kd5g3cpiakbb189707a55bgc95kx3jn4k";
};
nativeBuildInputs = [ luarocks-build-treesitter-parser ];
+5 -3
View File
@@ -179,11 +179,11 @@ in
# TODO: Figure out why 2 files extra
substituteInPlace tests/screenshots/tests-file-ui_spec.lua---files\(\)---executable---1-+-args-{-\'fd\'-} \
--replace-fail "111" "113"
--replace-fail "112" "114"
# TODO: Figure out why 2 files extra
substituteInPlace tests/screenshots/tests-file-ui_spec.lua---files\(\)---preview-should-work-after-chdir-#1864 \
--replace-fail "110" "112"
--replace-fail "111" "113"
make test
@@ -791,10 +791,12 @@ in
});
neorg = prev.neorg.overrideAttrs (oa: {
# Relax dependencies
postConfigure = ''
substituteInPlace ''${rockspecFilename} \
--replace-fail "'nvim-nio ~> 1.7'," "'nvim-nio >= 1.7'," \
--replace-fail "'plenary.nvim == 0.1.4'," "'plenary.nvim',"
--replace-fail "'plenary.nvim == 0.1.4'," "'plenary.nvim'," \
--replace-fail "'nui.nvim == 0.3.0'," "'nui.nvim',"
'';
});
@@ -0,0 +1,45 @@
{
lib,
aiohttp,
buildPythonPackage,
fetchFromGitHub,
pytest-asyncio,
pytestCheckHook,
setuptools,
typing-extensions,
}:
buildPythonPackage rec {
pname = "elvia";
version = "0.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "andersem";
repo = "elvia-python";
tag = "v${version}";
hash = "sha256-oGXs+EwEIykkq8KjK7qNnZfLj4ZoKlgkldUiJlAI1gA=";
};
build-system = [ setuptools ];
dependencies = [
aiohttp
typing-extensions
];
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [ "elvia" ];
meta = {
description = "Unofficial API bindings for Elvia's consumer facing APIs";
homepage = "https://github.com/andersem/elvia-python";
changelog = "https://github.com/andersem/elvia-python/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ uvnikita ];
};
}
@@ -17,13 +17,13 @@
buildPythonPackage rec {
pname = "magika";
version = "0.6.1";
version = "0.6.2";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchPypi {
inherit pname version;
hash = "sha256-490ixzk2Ywsc150PQS1tmlPcmbpeNwmxrFP1a8mY5jU=";
hash = "sha256-N+tq6AIPbmjyMbwGBSwKDL6Ob6J0kts0Xo3IZ9vOsGc=";
};
nativeBuildInputs = [ hatchling ];
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "ufomerge";
version = "1.9.1";
version = "1.9.2";
pyproject = true;
src = fetchFromGitHub {
owner = "googlefonts";
repo = "ufomerge";
tag = "v${version}";
hash = "sha256-Efpfmow9tfPcE9ri13CKfahBDjaiMK1NBUAbG8FhYlM=";
hash = "sha256-vGRNfLZoI0ufEbfdGdyUyL9sS+9HdpeUj7ztqaQHI0I=";
};
build-system = [
@@ -83,6 +83,9 @@ stdenv.mkDerivation (self: {
# of the OS. This isn't as surgical as just fixing the PATH, but it seems to work, and
# seems to be the Nix community's current strategy when using Scons.
/SConstruct/dontClobberEnvironment.patch
# Fix compile error with mono 6.14
# https://github.com/godotengine/godot/pull/106578
/move-MonoGCHandle-into-gdmono-namespace.patch
];
enableParallelBuilding = true;
@@ -0,0 +1,403 @@
From 7f90c622f5f04ad6aed5729913684a64827b751f Mon Sep 17 00:00:00 2001
From: David McFarland <corngood@gmail.com>
Date: Sun, 18 May 2025 20:56:50 -0300
Subject: [PATCH] mono: move MonoGCHandle into gdmono namespace
This conflicts with ::MonoGCHandle in mono 6.14 (maintained by winehq).
---
modules/mono/csharp_script.cpp | 44 +++++++++++-----------
modules/mono/csharp_script.h | 10 ++---
modules/mono/glue/base_object_glue.cpp | 4 +-
modules/mono/mono_gc_handle.cpp | 4 ++
modules/mono/mono_gc_handle.h | 4 ++
modules/mono/mono_gd/gd_mono_cache.cpp | 4 +-
modules/mono/mono_gd/gd_mono_cache.h | 2 +-
modules/mono/mono_gd/gd_mono_internals.cpp | 4 +-
modules/mono/mono_gd/gd_mono_utils.cpp | 4 +-
modules/mono/signal_awaiter_utils.cpp | 2 +-
modules/mono/signal_awaiter_utils.h | 4 +-
11 files changed, 47 insertions(+), 39 deletions(-)
diff --git a/modules/mono/csharp_script.cpp b/modules/mono/csharp_script.cpp
index fa041f4cba..2ad9722eca 100644
--- a/modules/mono/csharp_script.cpp
+++ b/modules/mono/csharp_script.cpp
@@ -653,7 +653,7 @@ void CSharpLanguage::pre_unsafe_unreference(Object *p_obj) {
void CSharpLanguage::frame() {
if (gdmono && gdmono->is_runtime_initialized() && gdmono->get_core_api_assembly() != NULL) {
- const Ref<MonoGCHandle> &task_scheduler_handle = GDMonoCache::cached_data.task_scheduler_handle;
+ const Ref<gdmono::MonoGCHandle> &task_scheduler_handle = GDMonoCache::cached_data.task_scheduler_handle;
if (task_scheduler_handle.is_valid()) {
MonoObject *task_scheduler = task_scheduler_handle->get_target();
@@ -1189,15 +1189,15 @@ void CSharpLanguage::set_language_index(int p_idx) {
lang_idx = p_idx;
}
-void CSharpLanguage::release_script_gchandle(Ref<MonoGCHandle> &p_gchandle) {
+void CSharpLanguage::release_script_gchandle(Ref<gdmono::MonoGCHandle> &p_gchandle) {
if (!p_gchandle->is_released()) { // Do not lock unnecessarily
MutexLock lock(get_singleton()->script_gchandle_release_mutex);
p_gchandle->release();
}
}
-void CSharpLanguage::release_script_gchandle(MonoObject *p_expected_obj, Ref<MonoGCHandle> &p_gchandle) {
- uint32_t pinned_gchandle = MonoGCHandle::new_strong_handle_pinned(p_expected_obj); // We might lock after this, so pin it
+void CSharpLanguage::release_script_gchandle(MonoObject *p_expected_obj, Ref<gdmono::MonoGCHandle> &p_gchandle) {
+ uint32_t pinned_gchandle = gdmono::MonoGCHandle::new_strong_handle_pinned(p_expected_obj); // We might lock after this, so pin it
if (!p_gchandle->is_released()) { // Do not lock unnecessarily
MutexLock lock(get_singleton()->script_gchandle_release_mutex);
@@ -1213,7 +1213,7 @@ void CSharpLanguage::release_script_gchandle(MonoObject *p_expected_obj, Ref<Mon
}
}
- MonoGCHandle::free_handle(pinned_gchandle);
+ gdmono::MonoGCHandle::free_handle(pinned_gchandle);
}
CSharpLanguage::CSharpLanguage() {
@@ -1267,7 +1267,7 @@ bool CSharpLanguage::setup_csharp_script_binding(CSharpScriptBinding &r_script_b
r_script_binding.inited = true;
r_script_binding.type_name = type_name;
r_script_binding.wrapper_class = type_class; // cache
- r_script_binding.gchandle = MonoGCHandle::create_strong(mono_object);
+ r_script_binding.gchandle = gdmono::MonoGCHandle::create_strong(mono_object);
r_script_binding.owner = p_object;
// Tie managed to unmanaged
@@ -1351,7 +1351,7 @@ void CSharpLanguage::refcount_incremented_instance_binding(Object *p_object) {
CRASH_COND(!data);
CSharpScriptBinding &script_binding = ((Map<Object *, CSharpScriptBinding>::Element *)data)->get();
- Ref<MonoGCHandle> &gchandle = script_binding.gchandle;
+ Ref<gdmono::MonoGCHandle> &gchandle = script_binding.gchandle;
if (!script_binding.inited)
return;
@@ -1368,9 +1368,9 @@ void CSharpLanguage::refcount_incremented_instance_binding(Object *p_object) {
return; // Called after the managed side was collected, so nothing to do here
// Release the current weak handle and replace it with a strong handle.
- uint32_t strong_gchandle = MonoGCHandle::new_strong_handle(target);
+ uint32_t strong_gchandle = gdmono::MonoGCHandle::new_strong_handle(target);
gchandle->release();
- gchandle->set_handle(strong_gchandle, MonoGCHandle::STRONG_HANDLE);
+ gchandle->set_handle(strong_gchandle, gdmono::MonoGCHandle::STRONG_HANDLE);
}
}
@@ -1386,7 +1386,7 @@ bool CSharpLanguage::refcount_decremented_instance_binding(Object *p_object) {
CRASH_COND(!data);
CSharpScriptBinding &script_binding = ((Map<Object *, CSharpScriptBinding>::Element *)data)->get();
- Ref<MonoGCHandle> &gchandle = script_binding.gchandle;
+ Ref<gdmono::MonoGCHandle> &gchandle = script_binding.gchandle;
int refcount = ref_owner->reference_get_count();
@@ -1404,9 +1404,9 @@ bool CSharpLanguage::refcount_decremented_instance_binding(Object *p_object) {
return refcount == 0; // Called after the managed side was collected, so nothing to do here
// Release the current strong handle and replace it with a weak handle.
- uint32_t weak_gchandle = MonoGCHandle::new_weak_handle(target);
+ uint32_t weak_gchandle = gdmono::MonoGCHandle::new_weak_handle(target);
gchandle->release();
- gchandle->set_handle(weak_gchandle, MonoGCHandle::WEAK_HANDLE);
+ gchandle->set_handle(weak_gchandle, gdmono::MonoGCHandle::WEAK_HANDLE);
return false;
}
@@ -1414,7 +1414,7 @@ bool CSharpLanguage::refcount_decremented_instance_binding(Object *p_object) {
return refcount == 0;
}
-CSharpInstance *CSharpInstance::create_for_managed_type(Object *p_owner, CSharpScript *p_script, const Ref<MonoGCHandle> &p_gchandle) {
+CSharpInstance *CSharpInstance::create_for_managed_type(Object *p_owner, CSharpScript *p_script, const Ref<gdmono::MonoGCHandle> &p_gchandle) {
CSharpInstance *instance = memnew(CSharpInstance);
Reference *ref = Object::cast_to<Reference>(p_owner);
@@ -1832,7 +1832,7 @@ MonoObject *CSharpInstance::_internal_new_managed() {
}
// Tie managed to unmanaged
- gchandle = MonoGCHandle::create_strong(mono_object);
+ gchandle = gdmono::MonoGCHandle::create_strong(mono_object);
if (base_ref)
_reference_owner_unsafe(); // Here, after assigning the gchandle (for the refcount_incremented callback)
@@ -1902,9 +1902,9 @@ void CSharpInstance::refcount_incremented() {
// so the owner must hold the managed side alive again to avoid it from being GCed.
// Release the current weak handle and replace it with a strong handle.
- uint32_t strong_gchandle = MonoGCHandle::new_strong_handle(gchandle->get_target());
+ uint32_t strong_gchandle = gdmono::MonoGCHandle::new_strong_handle(gchandle->get_target());
gchandle->release();
- gchandle->set_handle(strong_gchandle, MonoGCHandle::STRONG_HANDLE);
+ gchandle->set_handle(strong_gchandle, gdmono::MonoGCHandle::STRONG_HANDLE);
}
}
@@ -1925,9 +1925,9 @@ bool CSharpInstance::refcount_decremented() {
// the managed instance takes responsibility of deleting the owner when GCed.
// Release the current strong handle and replace it with a weak handle.
- uint32_t weak_gchandle = MonoGCHandle::new_weak_handle(gchandle->get_target());
+ uint32_t weak_gchandle = gdmono::MonoGCHandle::new_weak_handle(gchandle->get_target());
gchandle->release();
- gchandle->set_handle(weak_gchandle, MonoGCHandle::WEAK_HANDLE);
+ gchandle->set_handle(weak_gchandle, gdmono::MonoGCHandle::WEAK_HANDLE);
return false;
}
@@ -2298,7 +2298,7 @@ bool CSharpScript::_update_exports(PlaceHolderScriptInstance *p_instance_to_upda
return false;
}
- tmp_pinned_gchandle = MonoGCHandle::new_strong_handle_pinned(tmp_object); // pin it (not sure if needed)
+ tmp_pinned_gchandle = gdmono::MonoGCHandle::new_strong_handle_pinned(tmp_object); // pin it (not sure if needed)
GDMonoMethod *ctor = script_class->get_method(CACHED_STRING_NAME(dotctor), 0);
@@ -2313,7 +2313,7 @@ bool CSharpScript::_update_exports(PlaceHolderScriptInstance *p_instance_to_upda
if (ctor_exc) {
// TODO: Should we free 'tmp_native' if the exception was thrown after its creation?
- MonoGCHandle::free_handle(tmp_pinned_gchandle);
+ gdmono::MonoGCHandle::free_handle(tmp_pinned_gchandle);
tmp_object = NULL;
ERR_PRINT("Exception thrown from constructor of temporary MonoObject:");
@@ -2409,7 +2409,7 @@ bool CSharpScript::_update_exports(PlaceHolderScriptInstance *p_instance_to_upda
GDMonoUtils::debug_print_unhandled_exception(exc);
}
- MonoGCHandle::free_handle(tmp_pinned_gchandle);
+ gdmono::MonoGCHandle::free_handle(tmp_pinned_gchandle);
tmp_object = NULL;
if (tmp_native && !base_ref) {
@@ -2970,7 +2970,7 @@ CSharpInstance *CSharpScript::_create_instance(const Variant **p_args, int p_arg
}
// Tie managed to unmanaged
- instance->gchandle = MonoGCHandle::create_strong(mono_object);
+ instance->gchandle = gdmono::MonoGCHandle::create_strong(mono_object);
if (instance->base_ref)
instance->_reference_owner_unsafe(); // Here, after assigning the gchandle (for the refcount_incremented callback)
diff --git a/modules/mono/csharp_script.h b/modules/mono/csharp_script.h
index 3be55848d5..7b3981ef90 100644
--- a/modules/mono/csharp_script.h
+++ b/modules/mono/csharp_script.h
@@ -220,7 +220,7 @@ class CSharpInstance : public ScriptInstance {
bool destructing_script_instance;
Ref<CSharpScript> script;
- Ref<MonoGCHandle> gchandle;
+ Ref<gdmono::MonoGCHandle> gchandle;
bool _reference_owner_unsafe();
@@ -236,7 +236,7 @@ class CSharpInstance : public ScriptInstance {
// Do not use unless you know what you are doing
friend void GDMonoInternals::tie_managed_to_unmanaged(MonoObject *, Object *);
- static CSharpInstance *create_for_managed_type(Object *p_owner, CSharpScript *p_script, const Ref<MonoGCHandle> &p_gchandle);
+ static CSharpInstance *create_for_managed_type(Object *p_owner, CSharpScript *p_script, const Ref<gdmono::MonoGCHandle> &p_gchandle);
void _call_multilevel(MonoObject *p_mono_object, const StringName &p_method, const Variant **p_args, int p_argcount);
@@ -293,7 +293,7 @@ struct CSharpScriptBinding {
bool inited;
StringName type_name;
GDMonoClass *wrapper_class;
- Ref<MonoGCHandle> gchandle;
+ Ref<gdmono::MonoGCHandle> gchandle;
Object *owner;
};
@@ -371,8 +371,8 @@ public:
_FORCE_INLINE_ EditorPlugin *get_godotsharp_editor() const { return godotsharp_editor; }
#endif
- static void release_script_gchandle(Ref<MonoGCHandle> &p_gchandle);
- static void release_script_gchandle(MonoObject *p_expected_obj, Ref<MonoGCHandle> &p_gchandle);
+ static void release_script_gchandle(Ref<gdmono::MonoGCHandle> &p_gchandle);
+ static void release_script_gchandle(MonoObject *p_expected_obj, Ref<gdmono::MonoGCHandle> &p_gchandle);
bool debug_break(const String &p_error, bool p_allow_continue = true);
bool debug_break_parse(const String &p_file, int p_line, const String &p_error);
diff --git a/modules/mono/glue/base_object_glue.cpp b/modules/mono/glue/base_object_glue.cpp
index 7a3ec459de..4931583884 100644
--- a/modules/mono/glue/base_object_glue.cpp
+++ b/modules/mono/glue/base_object_glue.cpp
@@ -70,7 +70,7 @@ void godot_icall_Object_Disposed(MonoObject *p_obj, Object *p_ptr) {
if (data) {
CSharpScriptBinding &script_binding = ((Map<Object *, CSharpScriptBinding>::Element *)data)->get();
if (script_binding.inited) {
- Ref<MonoGCHandle> &gchandle = script_binding.gchandle;
+ Ref<gdmono::MonoGCHandle> &gchandle = script_binding.gchandle;
if (gchandle.is_valid()) {
CSharpLanguage::release_script_gchandle(p_obj, gchandle);
}
@@ -117,7 +117,7 @@ void godot_icall_Reference_Disposed(MonoObject *p_obj, Object *p_ptr, MonoBoolea
if (data) {
CSharpScriptBinding &script_binding = ((Map<Object *, CSharpScriptBinding>::Element *)data)->get();
if (script_binding.inited) {
- Ref<MonoGCHandle> &gchandle = script_binding.gchandle;
+ Ref<gdmono::MonoGCHandle> &gchandle = script_binding.gchandle;
if (gchandle.is_valid()) {
CSharpLanguage::release_script_gchandle(p_obj, gchandle);
}
diff --git a/modules/mono/mono_gc_handle.cpp b/modules/mono/mono_gc_handle.cpp
index eb2227dd78..e70c701331 100644
--- a/modules/mono/mono_gc_handle.cpp
+++ b/modules/mono/mono_gc_handle.cpp
@@ -32,6 +32,8 @@
#include "mono_gd/gd_mono.h"
+namespace gdmono {
+
uint32_t MonoGCHandle::new_strong_handle(MonoObject *p_object) {
return mono_gchandle_new(p_object, /* pinned: */ false);
}
@@ -76,3 +78,5 @@ MonoGCHandle::MonoGCHandle(uint32_t p_handle, HandleType p_handle_type) {
MonoGCHandle::~MonoGCHandle() {
release();
}
+
+} // namespace gdmono
diff --git a/modules/mono/mono_gc_handle.h b/modules/mono/mono_gc_handle.h
index 5f99a46479..28fcbd7a78 100644
--- a/modules/mono/mono_gc_handle.h
+++ b/modules/mono/mono_gc_handle.h
@@ -35,6 +35,8 @@
#include "core/reference.h"
+namespace gdmono {
+
class MonoGCHandle : public Reference {
GDCLASS(MonoGCHandle, Reference);
@@ -72,4 +74,6 @@ public:
~MonoGCHandle();
};
+} // namespace gdmono
+
#endif // MONO_GC_HANDLE_H
diff --git a/modules/mono/mono_gd/gd_mono_cache.cpp b/modules/mono/mono_gd/gd_mono_cache.cpp
index 2ece9d0f36..976a8f2ff2 100644
--- a/modules/mono/mono_gd/gd_mono_cache.cpp
+++ b/modules/mono/mono_gd/gd_mono_cache.cpp
@@ -178,7 +178,7 @@ void CachedData::clear_godot_api_cache() {
// End of MarshalUtils methods
- task_scheduler_handle = Ref<MonoGCHandle>();
+ task_scheduler_handle = Ref<gdmono::MonoGCHandle>();
}
#define GODOT_API_CLASS(m_class) (GDMono::get_singleton()->get_core_api_assembly()->get_class(BINDINGS_NAMESPACE, #m_class))
@@ -300,7 +300,7 @@ void update_godot_api_cache() {
// TODO Move to CSharpLanguage::init() and do handle disposal
MonoObject *task_scheduler = mono_object_new(mono_domain_get(), GODOT_API_CLASS(GodotTaskScheduler)->get_mono_ptr());
GDMonoUtils::runtime_object_init(task_scheduler, GODOT_API_CLASS(GodotTaskScheduler));
- cached_data.task_scheduler_handle = MonoGCHandle::create_strong(task_scheduler);
+ cached_data.task_scheduler_handle = gdmono::MonoGCHandle::create_strong(task_scheduler);
cached_data.godot_api_cache_updated = true;
}
diff --git a/modules/mono/mono_gd/gd_mono_cache.h b/modules/mono/mono_gd/gd_mono_cache.h
index 2ed8482552..a4e05bbf5b 100644
--- a/modules/mono/mono_gd/gd_mono_cache.h
+++ b/modules/mono/mono_gd/gd_mono_cache.h
@@ -149,7 +149,7 @@ struct CachedData {
// End of MarshalUtils methods
- Ref<MonoGCHandle> task_scheduler_handle;
+ Ref<gdmono::MonoGCHandle> task_scheduler_handle;
bool corlib_cache_updated;
bool godot_api_cache_updated;
diff --git a/modules/mono/mono_gd/gd_mono_internals.cpp b/modules/mono/mono_gd/gd_mono_internals.cpp
index 4d2209ccec..a0102335b7 100644
--- a/modules/mono/mono_gd/gd_mono_internals.cpp
+++ b/modules/mono/mono_gd/gd_mono_internals.cpp
@@ -71,7 +71,7 @@ void tie_managed_to_unmanaged(MonoObject *managed, Object *unmanaged) {
script_binding.inited = true;
script_binding.type_name = NATIVE_GDMONOCLASS_NAME(klass);
script_binding.wrapper_class = klass;
- script_binding.gchandle = ref ? MonoGCHandle::create_weak(managed) : MonoGCHandle::create_strong(managed);
+ script_binding.gchandle = ref ? gdmono::MonoGCHandle::create_weak(managed) : gdmono::MonoGCHandle::create_strong(managed);
script_binding.owner = unmanaged;
if (ref) {
@@ -101,7 +101,7 @@ void tie_managed_to_unmanaged(MonoObject *managed, Object *unmanaged) {
return;
}
- Ref<MonoGCHandle> gchandle = ref ? MonoGCHandle::create_weak(managed) : MonoGCHandle::create_strong(managed);
+ Ref<gdmono::MonoGCHandle> gchandle = ref ? gdmono::MonoGCHandle::create_weak(managed) : gdmono::MonoGCHandle::create_strong(managed);
Ref<CSharpScript> script = CSharpScript::create_for_managed_type(klass, native);
diff --git a/modules/mono/mono_gd/gd_mono_utils.cpp b/modules/mono/mono_gd/gd_mono_utils.cpp
index 4b6b0af21f..0f6545c6ef 100644
--- a/modules/mono/mono_gd/gd_mono_utils.cpp
+++ b/modules/mono/mono_gd/gd_mono_utils.cpp
@@ -83,7 +83,7 @@ MonoObject *unmanaged_get_managed(Object *unmanaged) {
}
}
- Ref<MonoGCHandle> &gchandle = script_binding.gchandle;
+ Ref<gdmono::MonoGCHandle> &gchandle = script_binding.gchandle;
ERR_FAIL_COND_V(gchandle.is_null(), NULL);
MonoObject *target = gchandle->get_target();
@@ -103,7 +103,7 @@ MonoObject *unmanaged_get_managed(Object *unmanaged) {
MonoObject *mono_object = GDMonoUtils::create_managed_for_godot_object(script_binding.wrapper_class, script_binding.type_name, unmanaged);
ERR_FAIL_NULL_V(mono_object, NULL);
- gchandle->set_handle(MonoGCHandle::new_strong_handle(mono_object), MonoGCHandle::STRONG_HANDLE);
+ gchandle->set_handle(gdmono::MonoGCHandle::new_strong_handle(mono_object), gdmono::MonoGCHandle::STRONG_HANDLE);
// Tie managed to unmanaged
Reference *ref = Object::cast_to<Reference>(unmanaged);
diff --git a/modules/mono/signal_awaiter_utils.cpp b/modules/mono/signal_awaiter_utils.cpp
index 6c7bb1028c..f3adf4cd77 100644
--- a/modules/mono/signal_awaiter_utils.cpp
+++ b/modules/mono/signal_awaiter_utils.cpp
@@ -117,7 +117,7 @@ void SignalAwaiterHandle::_bind_methods() {
}
SignalAwaiterHandle::SignalAwaiterHandle(MonoObject *p_managed) :
- MonoGCHandle(MonoGCHandle::new_strong_handle(p_managed), STRONG_HANDLE) {
+ gdmono::MonoGCHandle(gdmono::MonoGCHandle::new_strong_handle(p_managed), STRONG_HANDLE) {
#ifdef DEBUG_ENABLED
conn_target_id = 0;
#endif
diff --git a/modules/mono/signal_awaiter_utils.h b/modules/mono/signal_awaiter_utils.h
index 5a8154b001..8cf20e98fd 100644
--- a/modules/mono/signal_awaiter_utils.h
+++ b/modules/mono/signal_awaiter_utils.h
@@ -39,8 +39,8 @@ namespace SignalAwaiterUtils {
Error connect_signal_awaiter(Object *p_source, const String &p_signal, Object *p_target, MonoObject *p_awaiter);
}
-class SignalAwaiterHandle : public MonoGCHandle {
- GDCLASS(SignalAwaiterHandle, MonoGCHandle);
+class SignalAwaiterHandle : public gdmono::MonoGCHandle {
+ GDCLASS(SignalAwaiterHandle, gdmono::MonoGCHandle);
bool completed;
--
2.49.0
@@ -10,7 +10,7 @@ index dfccc661..85233f3b 100644
}
"dir" => {
if self.copy {
@@ -135,6 +136,175 @@ impl Package for DirectoryPackage {
@@ -135,6 +136,176 @@ impl Package for DirectoryPackage {
}
}
@@ -53,6 +53,7 @@ index dfccc661..85233f3b 100644
+fn nix_patchelf_if_needed(dest_path: &Path) {
+ use std::fs::File;
+ use std::os::unix::fs::FileExt;
+ use tracing::{debug, warn};
+
+ struct ELFReader<'a> {
+ file: &'a mut File,
@@ -25,17 +25,17 @@ in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rustup";
version = "1.27.1";
version = "1.28.2";
src = fetchFromGitHub {
owner = "rust-lang";
repo = "rustup";
tag = finalAttrs.version;
hash = "sha256-BehkJTEIbZHaM+ABaWN/grl9pX75lPqyBj1q1Kt273M=";
hash = "sha256-iX5hEaQwCW9MuyafjXml8jV3EDnxRNUlOoy3Cur/Iyw=";
};
useFetchCargoVendor = true;
cargoHash = "sha256-CQHpsOGofDqsbLLTcznu5a0MSthJgy27HjBk8AYA72s=";
cargoHash = "sha256-KljaAzYHbny7KHOO51MotdmNpHCKWdt6kc/FIpFN6c0=";
nativeBuildInputs = [
makeBinaryWrapper
+2 -2
View File
@@ -5,10 +5,10 @@
}:
lilypond.overrideAttrs (oldAttrs: rec {
version = "2.25.25";
version = "2.25.26";
src = fetchzip {
url = "https://lilypond.org/download/sources/v${lib.versions.majorMinor version}/lilypond-${version}.tar.gz";
hash = "sha256-OO3yXA2PgOuUUR4Bo5wP4PieBvIxV1N9hPiapOB6cAE=";
hash = "sha256-k76jt8axKu17MXuQp/TtXtQ+KKdIAjSvDStYa44EpR4=";
};
passthru.updateScript = {
@@ -16,16 +16,16 @@ let
variants = {
# ./update-zen.py zen
zen = {
version = "6.14.6"; # zen
version = "6.14.7"; # zen
suffix = "zen1"; # zen
sha256 = "0qrx0c8bza9jj84ax209h3b9w2yn2sh122qj9ki77c8wgp6rwvrm"; # zen
sha256 = "04vcy71wjs6n1ahnva55i0czayn96w8qq0b0v0qymcq9lrbms2mr"; # zen
isLqx = false;
};
# ./update-zen.py lqx
lqx = {
version = "6.14.6"; # lqx
version = "6.14.7"; # lqx
suffix = "lqx1"; # lqx
sha256 = "0l2k4c1jv167dxx99r62anb1jwp4hz698z6ysdaagary103x8wk3"; # lqx
sha256 = "0in1ymvnac9kic974r5sqkk730fm71d49q0cgzk7lj1ykd9jzxpp"; # lqx
isLqx = true;
};
};
@@ -1429,10 +1429,11 @@
];
"elvia" =
ps: with ps; [
elvia
fnv-hash-fast
psutil-home-assistant
sqlalchemy
]; # missing inputs: elvia
];
"emby" =
ps: with ps; [
pyemby
+2 -2
View File
@@ -62,11 +62,11 @@
stdenv.mkDerivation rec {
pname = "rsyslog";
version = "8.2502.0";
version = "8.2504.0";
src = fetchurl {
url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
hash = "sha256-AvoZfSHVGfWiWpKN65OXzTh7pzgrm0SXgrox2PMRggY=";
hash = "sha256-UJKiDtQJh8dMxgTr/NbHSeR+ufw0rcHCY35lU+fwR6s=";
};
nativeBuildInputs = [
+1
View File
@@ -1218,6 +1218,7 @@ mapAliases {
microcodeAmd = microcode-amd; # Added 2024-09-08
microcodeIntel = microcode-intel; # Added 2024-09-08
micropad = throw "micropad has been removed, since it was unmaintained and blocked the Electron 27 removal."; # Added 2025-02-24
microsoft-edge = throw "microsoft-edge has been removed due to lack of maintenance in nixpkgs"; # Added 2025-05-19
microsoft_gsl = microsoft-gsl; # Added 2023-05-26
MIDIVisualizer = midivisualizer; # Added 2024-06-12
mikutter = throw "'mikutter' has been removed because the package was broken and had no maintainers"; # Added 2024-10-01
+5 -1
View File
@@ -7839,7 +7839,11 @@ with pkgs;
boost = boost187;
inherit (callPackages ../development/libraries/botan { })
inherit
(callPackages ../development/libraries/botan {
# botan3 only sensibly works with libcxxStdenv when building static binaries
stdenv = if stdenv.hostPlatform.isStatic then buildPackages.libcxxStdenv else stdenv;
})
botan2
botan3
;
+12
View File
@@ -137,6 +137,18 @@ let
'';
};
allowVariants = mkOption {
type = types.bool;
default = true;
description = ''
Whether to expose the nixpkgs variants.
Variants are instances of the current nixpkgs instance with different stdenvs or other applied options.
This allows for using different toolchains, libcs, or global build changes across nixpkgs.
Disabling can ensure nixpkgs is only building for the platform which you specified.
'';
};
cudaSupport = mkMassRebuild {
type = types.bool;
default = false;
+1
View File
@@ -94,6 +94,7 @@ let
coqtail-math = callPackage ../development/coq-modules/coqtail-math { };
coquelicot = callPackage ../development/coq-modules/coquelicot { };
coqutil = callPackage ../development/coq-modules/coqutil { };
coqfmt = callPackage ../development/coq-modules/coqfmt { };
corn = callPackage ../development/coq-modules/corn { };
deriving = callPackage ../development/coq-modules/deriving { };
dpdgraph = callPackage ../development/coq-modules/dpdgraph { };
+2
View File
@@ -4432,6 +4432,8 @@ self: super: with self; {
elmax-api = callPackage ../development/python-modules/elmax-api { };
elvia = callPackage ../development/python-modules/elvia { };
email-validator = callPackage ../development/python-modules/email-validator { };
emailthreads = callPackage ../development/python-modules/emailthreads { };
+12 -102
View File
@@ -191,6 +191,16 @@ let
aliases = self: super: lib.optionalAttrs config.allowAliases (import ./aliases.nix lib self super);
variants = import ./variants.nix {
inherit
lib
nixpkgsFun
stdenv
overlays
makeMuslParsedPlatform
;
};
# stdenvOverrides is used to avoid having multiple of versions
# of certain dependencies that were used in bootstrapping the
# standard environment.
@@ -214,6 +224,7 @@ let
# - pkgsCross.<system> where system is a member of lib.systems.examples
# - pkgsMusl
# - pkgsi686Linux
# NOTE: add new non-critical package sets to "pkgs/top-level/variants.nix"
otherPackageSets = self: super: {
# This maps each entry in lib.systems.examples to its own package
# set. Each of these will contain all packages cross compiled for
@@ -222,69 +233,6 @@ let
# Raspberry Pi.
pkgsCross = lib.mapAttrs (n: crossSystem: nixpkgsFun { inherit crossSystem; }) lib.systems.examples;
pkgsLLVM = nixpkgsFun {
overlays = [
(self': super': {
pkgsLLVM = super';
})
] ++ overlays;
# Bootstrap a cross stdenv using the LLVM toolchain.
# This is currently not possible when compiling natively,
# so we don't need to check hostPlatform != buildPlatform.
crossSystem = stdenv.hostPlatform // {
useLLVM = true;
linker = "lld";
};
};
pkgsArocc = nixpkgsFun {
overlays = [
(self': super': {
pkgsArocc = super';
})
] ++ overlays;
# Bootstrap a cross stdenv using the Aro C compiler.
# This is currently not possible when compiling natively,
# so we don't need to check hostPlatform != buildPlatform.
crossSystem = stdenv.hostPlatform // {
useArocc = true;
linker = "lld";
};
};
pkgsZig = nixpkgsFun {
overlays = [
(self': super': {
pkgsZig = super';
})
] ++ overlays;
# Bootstrap a cross stdenv using the Zig toolchain.
# This is currently not possible when compiling natively,
# so we don't need to check hostPlatform != buildPlatform.
crossSystem = stdenv.hostPlatform // {
useZig = true;
linker = "lld";
};
};
# All packages built with the Musl libc. This will override the
# default GNU libc on Linux systems. Non-Linux systems are not
# supported. 32-bit is also not supported.
pkgsMusl =
if stdenv.hostPlatform.isLinux && stdenv.buildPlatform.is64bit then
nixpkgsFun {
overlays = [
(self': super': {
pkgsMusl = super';
})
] ++ overlays;
${if stdenv.hostPlatform == stdenv.buildPlatform then "localSystem" else "crossSystem"} = {
config = lib.systems.parse.tripleFromSystem (makeMuslParsedPlatform stdenv.hostPlatform.parsed);
};
}
else
throw "Musl libc only supports 64-bit Linux systems.";
# All packages built for i686 Linux.
# Used by wine, firefox with debugging version of Flash, ...
pkgsi686Linux =
@@ -376,45 +324,6 @@ let
// stdenv.hostPlatform.gcc or { };
};
});
# Full package set with rocm on cuda off
# Mostly useful for asserting pkgs.pkgsRocm.torchWithRocm == pkgs.torchWithRocm and similar
pkgsRocm = nixpkgsFun ({
config = super.config // {
cudaSupport = false;
rocmSupport = true;
};
});
pkgsExtraHardening = nixpkgsFun {
overlays = [
(
self': super':
{
pkgsExtraHardening = super';
stdenv = super'.withDefaultHardeningFlags (
super'.stdenv.cc.defaultHardeningFlags
++ [
"shadowstack"
"nostrictaliasing"
"pacret"
"trivialautovarinit"
]
) super'.stdenv;
glibc = super'.glibc.override rec {
enableCET = if self'.stdenv.hostPlatform.isx86_64 then "permissive" else false;
enableCETRuntimeDefault = enableCET != false;
};
}
// lib.optionalAttrs (with super'.stdenv.hostPlatform; isx86_64 && isLinux) {
# causes shadowstack disablement
pcre = super'.pcre.override { enableJit = false; };
pcre-cpp = super'.pcre-cpp.override { enableJit = false; };
pcre16 = super'.pcre16.override { enableJit = false; };
}
)
] ++ overlays;
};
};
# The complete chain of package set builders, applied from top to bottom.
@@ -430,6 +339,7 @@ let
allPackages
otherPackageSets
aliases
variants
configOverrides
]
++ overlays
+127
View File
@@ -0,0 +1,127 @@
/*
This file contains all of the different variants of nixpkgs instances.
Unlike the other package sets like pkgsCross, pkgsi686Linux, etc., this
contains non-critical package sets. The intent is to be a shorthand
for things like using different toolchains in every package in nixpkgs.
*/
{
lib,
stdenv,
nixpkgsFun,
overlays,
makeMuslParsedPlatform,
}:
let
makeLLVMParsedPlatform =
parsed:
(
parsed
// {
abi = lib.systems.parse.abis.llvm;
}
);
in
self: super: {
pkgsLLVM = nixpkgsFun {
overlays = [
(self': super': {
pkgsLLVM = super';
})
] ++ overlays;
# Bootstrap a cross stdenv using the LLVM toolchain.
# This is currently not possible when compiling natively,
# so we don't need to check hostPlatform != buildPlatform.
crossSystem = stdenv.hostPlatform // {
useLLVM = true;
linker = "lld";
};
};
pkgsArocc = nixpkgsFun {
overlays = [
(self': super': {
pkgsArocc = super';
})
] ++ overlays;
# Bootstrap a cross stdenv using the Aro C compiler.
# This is currently not possible when compiling natively,
# so we don't need to check hostPlatform != buildPlatform.
crossSystem = stdenv.hostPlatform // {
useArocc = true;
linker = "lld";
};
};
pkgsZig = nixpkgsFun {
overlays = [
(self': super': {
pkgsZig = super';
})
] ++ overlays;
# Bootstrap a cross stdenv using the Zig toolchain.
# This is currently not possible when compiling natively,
# so we don't need to check hostPlatform != buildPlatform.
crossSystem = stdenv.hostPlatform // {
useZig = true;
linker = "lld";
};
};
# All packages built with the Musl libc. This will override the
# default GNU libc on Linux systems. Non-Linux systems are not
# supported. 32-bit is also not supported.
pkgsMusl =
if stdenv.hostPlatform.isLinux && stdenv.buildPlatform.is64bit then
nixpkgsFun {
overlays = [
(self': super': {
pkgsMusl = super';
})
] ++ overlays;
${if stdenv.hostPlatform == stdenv.buildPlatform then "localSystem" else "crossSystem"} = {
config = lib.systems.parse.tripleFromSystem (makeMuslParsedPlatform stdenv.hostPlatform.parsed);
};
}
else
throw "Musl libc only supports 64-bit Linux systems.";
# Full package set with rocm on cuda off
# Mostly useful for asserting pkgs.pkgsRocm.torchWithRocm == pkgs.torchWithRocm and similar
pkgsRocm = nixpkgsFun ({
config = super.config // {
cudaSupport = false;
rocmSupport = true;
};
});
pkgsExtraHardening = nixpkgsFun {
overlays = [
(
self': super':
{
pkgsExtraHardening = super';
stdenv = super'.withDefaultHardeningFlags (
super'.stdenv.cc.defaultHardeningFlags
++ [
"shadowstack"
"nostrictaliasing"
"pacret"
"trivialautovarinit"
]
) super'.stdenv;
glibc = super'.glibc.override rec {
enableCET = if self'.stdenv.hostPlatform.isx86_64 then "permissive" else false;
enableCETRuntimeDefault = enableCET != false;
};
}
// lib.optionalAttrs (with super'.stdenv.hostPlatform; isx86_64 && isLinux) {
# causes shadowstack disablement
pcre = super'.pcre.override { enableJit = false; };
pcre-cpp = super'.pcre-cpp.override { enableJit = false; };
pcre16 = super'.pcre16.override { enableJit = false; };
}
)
] ++ overlays;
};
}