Merge master into staging-next
This commit is contained in:
@@ -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 != [ ]);
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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=="
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
];
|
||||
|
||||
@@ -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"))
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
Generated
-1639
File diff suppressed because it is too large
Load Diff
@@ -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";
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 ];
|
||||
};
|
||||
})
|
||||
@@ -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()
|
||||
@@ -21,7 +21,7 @@ let
|
||||
treefmtWithConfig = treefmt.withConfig {
|
||||
name = "nixfmt-tree";
|
||||
|
||||
settings = [
|
||||
settings = lib.mkMerge [
|
||||
# Default settings
|
||||
{
|
||||
_file = ./package.nix;
|
||||
|
||||
@@ -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
|
||||
|
||||
Generated
-5952
File diff suppressed because it is too large
Load Diff
@@ -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"
|
||||
|
||||
@@ -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";
|
||||
|
||||
-3861
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
@@ -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"
|
||||
'';
|
||||
}
|
||||
@@ -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 { };
|
||||
};
|
||||
|
||||
@@ -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,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
|
||||
|
||||
@@ -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"
|
||||
|
||||
Generated
-8947
File diff suppressed because it is too large
Load Diff
@@ -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() {
|
||||
|
||||
@@ -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.
|
||||
|
||||
Generated
-2487
File diff suppressed because it is too large
Load Diff
@@ -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" ];
|
||||
|
||||
Generated
-4672
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 { };
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user