Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-11-05 06:05:17 +00:00 committed by GitHub
commit 60d70734b1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
41 changed files with 1477 additions and 743 deletions

View File

@ -205,10 +205,14 @@ in
system.build.installBootLoader = mkOption {
internal = true;
# "; true" => make the `$out` argument from switch-to-configuration.pl
# go to `true` instead of `echo`, hiding the useless path
# from the log.
default = "echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2; true";
default = pkgs.writeShellScript "no-bootloader" ''
echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2
'';
defaultText = lib.literalExpression ''
pkgs.writeShellScript "no-bootloader" '''
echo 'Warning: do not know how to make this configuration bootable; please enable a boot loader.' 1>&2
'''
'';
description = ''
A program that writes a bootloader installation script to the path passed in the first command line argument.

View File

@ -1,50 +1,62 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) getExe' literalExpression mkEnableOption mkIf mkOption mkRenamedOptionModule optionals optionalString types;
cfg = config.virtualisation.vmware.guest;
open-vm-tools = if cfg.headless then pkgs.open-vm-tools-headless else pkgs.open-vm-tools;
xf86inputvmmouse = pkgs.xorg.xf86inputvmmouse;
in
{
imports = [
(lib.mkRenamedOptionModule [ "services" "vmwareGuest" ] [ "virtualisation" "vmware" "guest" ])
(mkRenamedOptionModule [ "services" "vmwareGuest" ] [ "virtualisation" "vmware" "guest" ])
];
meta = {
maintainers = [ lib.maintainers.kjeremy ];
};
options.virtualisation.vmware.guest = {
enable = lib.mkEnableOption "VMWare Guest Support";
headless = lib.mkOption {
type = lib.types.bool;
enable = mkEnableOption "VMWare Guest Support";
headless = mkOption {
type = types.bool;
default = !config.services.xserver.enable;
defaultText = "!config.services.xserver.enable";
defaultText = literalExpression "!config.services.xserver.enable";
description = "Whether to disable X11-related features.";
};
package = mkOption {
type = types.package;
default = if cfg.headless then pkgs.open-vm-tools-headless else pkgs.open-vm-tools;
defaultText = literalExpression "if config.virtualisation.vmware.headless then pkgs.open-vm-tools-headless else pkgs.open-vm-tools;";
example = literalExpression "pkgs.open-vm-tools";
description = "Package providing open-vm-tools.";
};
};
config = lib.mkIf cfg.enable {
config = mkIf cfg.enable {
assertions = [ {
assertion = pkgs.stdenv.hostPlatform.isx86 || pkgs.stdenv.hostPlatform.isAarch64;
message = "VMWare guest is not currently supported on ${pkgs.stdenv.hostPlatform.system}";
} ];
boot.initrd.availableKernelModules = [ "mptspi" ];
boot.initrd.kernelModules = lib.optionals pkgs.stdenv.hostPlatform.isx86 [ "vmw_pvscsi" ];
boot.initrd.kernelModules = optionals pkgs.stdenv.hostPlatform.isx86 [ "vmw_pvscsi" ];
environment.systemPackages = [ open-vm-tools ];
environment.systemPackages = [ cfg.package ];
systemd.services.vmware =
{ description = "VMWare Guest Service";
wantedBy = [ "multi-user.target" ];
after = [ "display-manager.service" ];
unitConfig.ConditionVirtualization = "vmware";
serviceConfig.ExecStart = "${open-vm-tools}/bin/vmtoolsd";
serviceConfig.ExecStart = getExe' cfg.package "vmtoolsd";
};
# Mount the vmblock for drag-and-drop and copy-and-paste.
systemd.mounts = lib.mkIf (!cfg.headless) [
systemd.mounts = mkIf (!cfg.headless) [
{
description = "VMware vmblock fuse mount";
documentation = [ "https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/vmblock-fuse/design.txt" ];
unitConfig.ConditionVirtualization = "vmware";
what = "${open-vm-tools}/bin/vmware-vmblock-fuse";
what = getExe' cfg.package "vmware-vmblock-fuse";
where = "/run/vmblock-fuse";
type = "fuse";
options = "subtype=vmware-vmblock,default_permissions,allow_other";
@ -52,19 +64,19 @@ in
}
];
security.wrappers.vmware-user-suid-wrapper = lib.mkIf (!cfg.headless) {
security.wrappers.vmware-user-suid-wrapper = mkIf (!cfg.headless) {
setuid = true;
owner = "root";
group = "root";
source = "${open-vm-tools}/bin/vmware-user-suid-wrapper";
source = getExe' cfg.package "vmware-user-suid-wrapper";
};
environment.etc.vmware-tools.source = "${open-vm-tools}/etc/vmware-tools/*";
environment.etc.vmware-tools.source = "${cfg.package}/etc/vmware-tools/*";
services.xserver = lib.mkIf (!cfg.headless) {
modules = lib.optionals pkgs.stdenv.hostPlatform.isx86 [ xf86inputvmmouse ];
services.xserver = mkIf (!cfg.headless) {
modules = optionals pkgs.stdenv.hostPlatform.isx86 [ xf86inputvmmouse ];
config = lib.optionalString (pkgs.stdenv.hostPlatform.isx86) ''
config = optionalString (pkgs.stdenv.hostPlatform.isx86) ''
Section "InputClass"
Identifier "VMMouse"
MatchDevicePath "/dev/input/event*"
@ -74,10 +86,10 @@ in
'';
displayManager.sessionCommands = ''
${open-vm-tools}/bin/vmware-user-suid-wrapper
${getExe' cfg.package "vmware-user-suid-wrapper"}
'';
};
services.udev.packages = [ open-vm-tools ];
services.udev.packages = [ cfg.package ];
};
}

View File

@ -53,11 +53,8 @@ in {
environment.systemPackages = [ pkgs.socat ]; # for the socket activation stuff
users.mutableUsers = false;
# For boot/switch testing
system.build.installBootLoader = lib.mkForce (pkgs.writeShellScript "install-dummy-loader" ''
echo "installing dummy bootloader"
touch /tmp/bootloader-installed
'');
# Test that no boot loader still switches, e.g. in the ISO
boot.loader.grub.enable = false;
specialisation = rec {
brokenInitInterface.configuration.config.system.extraSystemBuilderCmds = ''
@ -596,6 +593,19 @@ in {
imports = [ slice.configuration ];
systemd.slices.testslice.sliceConfig.MemoryMax = lib.mkForce null;
};
dbusReload.configuration = { config, ... }: let
dbusService = {
"dbus" = "dbus";
"broker" = "dbus-broker";
}.${config.services.dbus.implementation};
in {
# We want to make sure that stc catches this as a reload,
# not a restart.
systemd.services.${dbusService}.restartTriggers = [
(pkgs.writeText "dbus-reload-dummy" "dbus reload dummy")
];
};
};
};
@ -672,22 +682,18 @@ in {
"${stderrRunner} ${otherSystem}/bin/switch-to-configuration test"
)
boot_loader_text = "Warning: do not know how to make this configuration bootable; please enable a boot loader."
with subtest("actions"):
# boot action
machine.fail("test -f /tmp/bootloader-installed")
out = switch_to_specialisation("${machine}", "simpleService", action="boot")
assert_contains(out, "installing dummy bootloader")
assert_contains(out, boot_loader_text)
assert_lacks(out, "activating the configuration...") # good indicator of a system activation
machine.succeed("test -f /tmp/bootloader-installed")
machine.succeed("rm /tmp/bootloader-installed")
# switch action
machine.fail("test -f /tmp/bootloader-installed")
out = switch_to_specialisation("${machine}", "", action="switch")
assert_contains(out, "installing dummy bootloader")
assert_contains(out, boot_loader_text)
assert_contains(out, "activating the configuration...") # good indicator of a system activation
machine.succeed("test -f /tmp/bootloader-installed")
# test and dry-activate actions are tested further down below
@ -749,7 +755,7 @@ in {
out = switch_to_specialisation("${machine}", "")
assert_contains(out, "stopping the following units: test.mount\n")
assert_lacks(out, "NOT restarting the following changed units:")
assert_contains(out, "reloading the following units: ${dbusService}\n")
assert_lacks(out, "reloading the following units:")
assert_lacks(out, "\nrestarting the following units:")
assert_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
@ -757,7 +763,7 @@ in {
out = switch_to_specialisation("${machine}", "storeMountModified")
assert_lacks(out, "stopping the following units:")
assert_contains(out, "NOT restarting the following changed units: -.mount")
assert_contains(out, "reloading the following units: ${dbusService}\n")
assert_lacks(out, "reloading the following units:")
assert_lacks(out, "\nrestarting the following units:")
assert_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
@ -768,7 +774,7 @@ in {
out = switch_to_specialisation("${machine}", "swap")
assert_lacks(out, "stopping the following units:")
assert_lacks(out, "NOT restarting the following changed units:")
assert_contains(out, "reloading the following units: ${dbusService}\n")
assert_lacks(out, "reloading the following units:")
assert_lacks(out, "\nrestarting the following units:")
assert_lacks(out, "\nstarting the following units:")
assert_contains(out, "the following new units were started: swapfile.swap")
@ -777,7 +783,7 @@ in {
assert_contains(out, "stopping swap device: /swapfile")
assert_lacks(out, "stopping the following units:")
assert_lacks(out, "NOT restarting the following changed units:")
assert_contains(out, "reloading the following units: ${dbusService}\n")
assert_lacks(out, "reloading the following units:")
assert_lacks(out, "\nrestarting the following units:")
assert_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
@ -795,10 +801,10 @@ in {
# Start a simple service
out = switch_to_specialisation("${machine}", "simpleService")
assert_lacks(out, "installing dummy bootloader") # test does not install a bootloader
assert_lacks(out, boot_loader_text) # test does not install a bootloader
assert_lacks(out, "stopping the following units:")
assert_lacks(out, "NOT restarting the following changed units:")
assert_contains(out, "reloading the following units: ${dbusService}\n") # huh
assert_lacks(out, "reloading the following units:")
assert_lacks(out, "\nrestarting the following units:")
assert_lacks(out, "\nstarting the following units:")
assert_contains(out, "the following new units were started: test.service\n")
@ -872,10 +878,10 @@ in {
# Ensure the service can be started when the activation script isn't in toplevel
# This is a lot like "Start a simple service", except activation-only deps could be gc-ed
out = run_switch("${nodes.machine.specialisation.simpleServiceSeparateActivationScript.configuration.system.build.separateActivationScript}/bin/switch-to-configuration");
assert_lacks(out, "installing dummy bootloader") # test does not install a bootloader
assert_lacks(out, boot_loader_text) # test does not install a bootloader
assert_lacks(out, "stopping the following units:")
assert_lacks(out, "NOT restarting the following changed units:")
assert_contains(out, "reloading the following units: ${dbusService}\n") # huh
assert_lacks(out, "reloading the following units:")
assert_lacks(out, "\nrestarting the following units:")
assert_lacks(out, "\nstarting the following units:")
assert_contains(out, "the following new units were started: test.service\n")
@ -1429,5 +1435,15 @@ in {
assert_lacks(out, "the following new units were started:")
machine.succeed("systemctl start testservice.service")
machine.succeed("echo 1 > /proc/sys/vm/panic_on_oom") # disallow OOMing
with subtest("dbus reloads"):
out = switch_to_specialisation("${machine}", "")
out = switch_to_specialisation("${machine}", "dbusReload")
assert_lacks(out, "stopping the following units:")
assert_lacks(out, "NOT restarting the following changed units:")
assert_contains(out, "reloading the following units: ${dbusService}\n")
assert_lacks(out, "\nrestarting the following units:")
assert_lacks(out, "\nstarting the following units:")
assert_lacks(out, "the following new units were started:")
'';
})

View File

@ -5,10 +5,10 @@
{
firefox = buildMozillaMach rec {
pname = "firefox";
version = "132.0";
version = "132.0.1";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "254ffba16d6e6c61cffaa8131f81a9a78880e5723b7ee78ac36251a27d82e6ff088238ae289d07469ba3a51b5b5969a08ecd1fc02dcb4d93325a08fac1cfc916";
sha512 = "10d5b05f61628deb9a69cb34b2cf3c75bb6b8768f5a718cef2157d5feb1671ede0d583439562e1c1221914eb6ed37fdf415dd651b1465c056be174136cd80b9d";
};
extraPatches = [

View File

@ -25,13 +25,13 @@
}:
let
version = "2.12.1";
version = "2.13.4";
src = fetchFromGitHub {
owner = "paperless-ngx";
repo = "paperless-ngx";
rev = "refs/tags/v${version}";
hash = "sha256-txqwVGLUel74ObCqwMWSqa4Nd2eDRf0SqAIes5tlMDg=";
hash = "sha256-db8omhyngvenAgfGGpMAhGkgqGug/sv7AL1G+sniM/c=";
};
# subpath installation is broken with uvicorn >= 0.26
@ -40,6 +40,27 @@ let
python = python3.override {
self = python;
packageOverrides = final: prev: {
django = prev.django_5;
# TODO: drop after https://github.com/NixOS/nixpkgs/pull/306556 or similar got merged
django-allauth = prev.django-allauth.overridePythonAttrs ({ src, nativeCheckInputs, ... }: let
version = "65.0.2";
in {
inherit version;
src = src.override {
rev = "refs/tags/${version}";
hash = "sha256-GvYdExkNuySrg8ERnWOJxucFe5HVdPAcHfRNeqiVS7M=";
};
nativeCheckInputs = nativeCheckInputs ++ [ prev.fido2 ];
});
django-extensions = prev.django-extensions.overridePythonAttrs (_: {
# fails with: TypeError: 'class Meta' got invalid attribute(s): index_together
# probably because of django_5 but it is the latest version available and used like that in paperless-ngx
doCheck = false;
});
# tesseract5 may be overwritten in the paperless module and we need to propagate that to make the closure reduction effective
ocrmypdf = prev.ocrmypdf.override { tesseract = tesseract5; };
@ -76,7 +97,7 @@ let
cd src-ui
'';
npmDepsHash = "sha256-hb2z2cPMTN5bHtUldTR5Mvgo4nZL8/S+Uhfis37gF44=";
npmDepsHash = "sha256-pBCWcdCTQh0N4pRLBWLZXybuhpiat030xvPZ5z7CUJ0=";
nativeBuildInputs = [
pkg-config
@ -137,7 +158,7 @@ python.pkgs.buildPythonApplication rec {
channels-redis
concurrent-log-handler
dateparser
django
django_5
django-allauth
django-auditlog
django-celery-results
@ -155,8 +176,10 @@ python.pkgs.buildPythonApplication rec {
flower
gotenberg-client
gunicorn
httpx-oauth
imap-tools
inotifyrecursive
jinja2
langdetect
mysqlclient
nltk
@ -257,10 +280,8 @@ python.pkgs.buildPythonApplication rec {
"testNormalOperation"
# Something broken with new Tesseract and inline RTL/LTR overrides?
"test_rtl_language_detection"
# Broke during the pytest-httpx 0.30.0 -> 0.32.0 upgrade
"test_request_pdf_a_format"
"test_generate_pdf_html_email"
"test_generate_pdf_html_email_merge_failure"
# django.core.exceptions.FieldDoesNotExist: Document has no field named 'transaction_id'
"test_convert"
];
doCheck = !stdenv.hostPlatform.isDarwin;

View File

@ -5,7 +5,7 @@
, pkg-config
, oniguruma
, stdenv
, darwin
, apple-sdk_11
, git
}:
@ -30,7 +30,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [
oniguruma
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk_11_0.frameworks.Foundation
apple-sdk_11
];
nativeCheckInputs = [ git ];

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, Security }:
{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, apple-sdk_11 }:
rustPlatform.buildRustPackage rec {
pname = "git-interactive-rebase-tool";
@ -13,7 +13,7 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-9pUUKxPpyoX9f10ZiLWsol2rv66WzQqwa6VubRTrT9Y=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv Security ];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv apple-sdk_11 ];
# Compilation during tests fails if this env var is not set.
preCheck = "export GIRT_BUILD_GIT_HASH=${version}";

View File

@ -7,7 +7,7 @@
, libiconv
, installShellFiles
, makeWrapper
, darwin
, apple-sdk_11
}:
rustPlatform.buildRustPackage rec {
@ -24,7 +24,7 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ pkg-config installShellFiles makeWrapper ];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ libiconv apple-sdk_11 ];
postInstall = ''
installManPage $releaseDir/build/bat-*/out/assets/manual/bat.1

View File

@ -0,0 +1,48 @@
{
buildGoModule,
cbconvert,
gtk3,
wrapGAppsHook3,
}:
buildGoModule rec {
pname = "cbconvert-gui";
inherit (cbconvert)
patches
proxyVendor
src
tags
version
;
nativeBuildInputs = cbconvert.nativeBuildInputs ++ [
wrapGAppsHook3
];
buildInputs = cbconvert.buildInputs ++ [ gtk3 ];
vendorHash = "sha256-vvCvKecPszhNCQdgm3mQMb5+486BGZ9sz3R0b70eLeQ=";
modRoot = "cmd/cbconvert-gui";
ldflags = [
"-s"
"-w"
"-X main.appVersion=${version}"
];
postInstall = ''
install -D --mode=0644 --target-directory=$out/share/applications/ dist/linux/cbconvert.desktop
install -D --mode=0644 --target-directory=$out/icons/hicolor/256x256/apps dist/linux/cbconvert.png
install -D --mode=0644 --target-directory=$out/share/thumbnailers dist/linux/cbconvert.thumbnailer
install -D --mode=0644 dist/linux/flatpak/io.github.gen2brain.cbconvert.metainfo.xml $out/share/metainfo/cbconvert.metainfo.xml
'';
postFixup = ''
substituteInPlace $out/share/metainfo/cbconvert.metainfo.xml \
--replace-fail "io.github.gen2brain.cbconvert" "cbconvert"
'';
meta = cbconvert.meta // {
mainProgram = "cbconvert-gui";
};
}

View File

@ -0,0 +1,87 @@
{
buildGoModule,
bzip2,
callPackage,
cbconvert,
fetchFromGitHub,
fetchpatch2,
imagemagick,
lib,
libunarr,
mupdf-headless,
nix-update-script,
pkg-config,
testers,
zlib,
}:
buildGoModule rec {
pname = "cbconvert";
version = "1.0.4";
src = fetchFromGitHub {
owner = "gen2brain";
repo = "cbconvert";
rev = "v${version}";
hash = "sha256-9x7RXyiQoV2nIVFnG1XHcYfTQiMZ88Ck7uuY7NLK8CA=";
};
# Update dependencies in order to use the extlib tag.
patches = [
(fetchpatch2 {
name = "update-dependencies-1.patch";
url = "https://github.com/gen2brain/cbconvert/commit/1a36ec17b2c012f278492d60d469b8e8457a6110.patch";
hash = "sha256-E+HWYPz9FtU3JAktzIRflF/pHdLfoaciBmjb7UOQYLo=";
})
(fetchpatch2 {
name = "update-dependencies-2.patch";
url = "https://github.com/gen2brain/cbconvert/commit/74c5de699413e95133f97666b64a1866f88fedd5.patch";
hash = "sha256-rrJsYJHcfNWF90vwUAT3J/gqg22e1gk6I48LsTrYbmU=";
})
];
vendorHash = "sha256-aVInsWvygNH+/h7uQs4hAPOO2gsSkBx+tI+TK77M/hg=";
modRoot = "cmd/cbconvert";
proxyVendor = true;
# The extlib tag forces the github.com/gen2brain/go-unarr module to use external libraries instead of bundled ones.
tags = [ "extlib" ];
ldflags = [
"-s"
"-w"
"-X main.appVersion=${version}"
];
nativeBuildInputs = [
pkg-config
];
buildInputs = [
bzip2
imagemagick
libunarr
mupdf-headless
zlib
];
passthru = {
gui = callPackage ./gui.nix { };
updateScript = nix-update-script { };
tests.version = testers.testVersion {
package = cbconvert;
command = "cbconvert version";
};
};
meta = {
description = "Comic Book converter";
homepage = "https://github.com/gen2brain/cbconvert";
changelog = "https://github.com/gen2brain/cbconvert/releases/tag/v${version}";
license = with lib.licenses; [ gpl3Only ];
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ jwillikers ];
mainProgram = "cbconvert";
};
}

11
pkgs/by-name/cl/clps2c-compiler/deps.nix generated Normal file
View File

@ -0,0 +1,11 @@
# This file was automatically generated by passthru.fetch-deps.
# Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }:
[
(fetchNuGet {
pname = "CommandLineParser";
version = "2.9.1";
hash = "sha256-ApU9y1yX60daSjPk3KYDBeJ7XZByKW8hse9NRZGcjeo=";
})
]

View File

@ -0,0 +1,75 @@
{
keystone,
fetchFromGitHub,
buildDotnetModule,
dotnetCorePackages,
lib,
}:
let
version = "1.0.1";
pname = "CLPS2C-Compiler";
owner = "NiV-L-A";
keystone-rev = "MIPS-0.9.2";
keystone-sha256 = "sha256-xLkO06ZgnmAavJMP1kjDwXT1hc5eSDXv+4MUkOz6xeo=";
keystone-src = (
fetchFromGitHub {
name = "keystone";
inherit owner;
repo = "keystone";
rev = keystone-rev;
sha256 = keystone-sha256;
}
);
keystone-override = keystone.overrideAttrs (old: {
src = keystone-src;
});
in
buildDotnetModule rec {
inherit version pname;
srcs = [
(fetchFromGitHub {
name = pname;
inherit owner;
repo = pname;
rev = "CLPS2C-Compiler-${version}";
sha256 = "sha256-4gLdrIxyw9BFSxF+EXZqTgUf9Kik6oK7eO9HBUzk4QM=";
})
keystone-src
];
sourceRoot = ".";
patches = [
./patches/dont_trim_leading_newline.patch
./patches/build_fixes.patch
./patches/remove_platformtarget.patch
./patches/use_compiled_keystone.patch
./patches/set_langversion.patch
./patches/set_runtimeidentifiers.patch
./patches/keystone_set_targetframework.patch
];
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
dotnetFlags = [
"-p:TargetFramework=net8.0"
];
nugetDeps = ./deps.nix;
runtimeDeps = [
keystone-override
];
projectFile = "CLPS2C-Compiler/CLPS2C-Compiler/CLPS2C-Compiler.csproj";
meta = {
homepage = "https://github.com/NiV-L-A/CLPS2C-Compiler";
description = "Compiler for CLPS2C, a domain-specific language built specifically for writing PS2 cheat codes";
mainProgram = "CLPS2C-Compiler";
maintainers = [ lib.maintainers.gigahawk ];
license = lib.licenses.gpl3Only;
};
}

View File

@ -0,0 +1,193 @@
diff --git a/CLPS2C-Compiler/Program.cs b/CLPS2C-Compiler/Program.cs
index 6991896..a086433 100644
--- a/CLPS2C-Compiler/CLPS2C-Compiler/Program.cs
+++ b/CLPS2C-Compiler/CLPS2C-Compiler/Program.cs
@@ -1166,7 +1166,7 @@ namespace CLPS2C_Compiler
string Value_1 = "";
string Value_2 = "";
// Handle a bit differently in case there's a label at the start
- if (command.Type.EndsWith(':'))
+ if (command.Type.EndsWith(":"))
{
OpCode = command.Data[0].ToUpper();
Register = command.Data[1];
@@ -1201,7 +1201,7 @@ namespace CLPS2C_Compiler
}
Output = $"lui {Register},0x{Value_1}; {OpCode} {Register},{Value_2}({Register})";
- if (command.Type.EndsWith(':'))
+ if (command.Type.EndsWith(":"))
{
Output = $"{command.FullLine.Substring(0, command.FullLine.IndexOf(':'))}: {Output}";
}
@@ -1589,7 +1589,7 @@ namespace CLPS2C_Compiler
while (IfIndex != -1)
{
- int ExtraIfCount = commands[IfIndex].FullLine.Split("&&", StringSplitOptions.None).Length - 1;
+ int ExtraIfCount = commands[IfIndex].FullLine.Split(new string[] { "&&" }, StringSplitOptions.None).Length - 1;
for (int i = 0; i < ExtraIfCount; i++)
{
// Add more IF commands
@@ -1807,7 +1807,7 @@ namespace CLPS2C_Compiler
for (int j = 0; j < commands[i].Data.Count; j++)
{
string Target = commands[i].Data[j];
- if (Target.StartsWith('+') || Target.StartsWith(','))
+ if (Target.StartsWith("+") || Target.StartsWith(","))
{
Target = Target.Substring(1).TrimStart();
}
@@ -1815,14 +1815,14 @@ namespace CLPS2C_Compiler
if (IsVarDeclared(Target, listSets))
{
List<string> ListValues = GetSetValueFromTarget(Target, commands[i].ID, listSets);
- if (commands[i].Data[j].StartsWith('+') || commands[i].Data[j].StartsWith(','))
+ if (commands[i].Data[j].StartsWith("+") || commands[i].Data[j].StartsWith(","))
{
ListValues[0] = commands[i].Data[j][0] + ListValues[0];
}
for (int k = 1; k < ListValues.Count; k++)
{
- if (ListValues[k].StartsWith('+') || ListValues[k].StartsWith(','))
+ if (ListValues[k].StartsWith("+") || ListValues[k].StartsWith(","))
{
ListValues[k] = ListValues[k][0] + ListValues[k].Substring(1).TrimStart();
}
@@ -1834,7 +1834,7 @@ namespace CLPS2C_Compiler
continue;
}
- if (commands[i].Data[j].StartsWith('+') || commands[i].Data[j].StartsWith(','))
+ if (commands[i].Data[j].StartsWith("+") || commands[i].Data[j].StartsWith(","))
{
commands[i].Data[j] = commands[i].Data[j][0] + Target;
}
@@ -1912,7 +1912,7 @@ namespace CLPS2C_Compiler
for (i = i + 1; i < command.Data.Count; i++)
{
- if (!command.Data[i].StartsWith('+'))
+ if (!command.Data[i].StartsWith("+"))
{
break;
}
@@ -1940,12 +1940,12 @@ namespace CLPS2C_Compiler
for (i = i + 1; i < command.Data.Count; i++)
{
- if (command.Data[i].StartsWith(','))
+ if (command.Data[i].StartsWith(","))
{
ListOffs.Add(TmpAddress.ToString("X8"));
TmpAddress = 0;
}
- else if (!command.Data[i].StartsWith('+'))
+ else if (!command.Data[i].StartsWith("+"))
{
ListOffs.Add(TmpAddress.ToString("X8"));
TmpAddress = 0;
@@ -1980,7 +1980,7 @@ namespace CLPS2C_Compiler
for (i = i + 1; i < command.Data.Count; i++)
{
- if (!command.Data[i].StartsWith('+'))
+ if (!command.Data[i].StartsWith("+"))
{
break;
}
@@ -2008,7 +2008,7 @@ namespace CLPS2C_Compiler
for (i = i + 1; i < command.Data.Count; i++)
{
- if (!command.Data[i].StartsWith('+'))
+ if (!command.Data[i].StartsWith("+"))
{
break;
}
@@ -2040,7 +2040,7 @@ namespace CLPS2C_Compiler
{
string Value = "";
uint Sum = 0;
- if (command.Data[i].StartsWith('"'))
+ if (command.Data[i].StartsWith("\""))
{
// string
Value = command.Data[i];
@@ -2059,7 +2059,7 @@ namespace CLPS2C_Compiler
for (i = i + 1; i < command.Data.Count; i++)
{
string Element = command.Data[i];
- if (!Element.StartsWith('+') || Element == "+")
+ if (!Element.StartsWith("+") || Element == "+")
{
// without +, or just '+'
SetError(ERROR.WRONG_SYNTAX, command);
@@ -2072,7 +2072,7 @@ namespace CLPS2C_Compiler
// string
if (Sum > 0)
{
- if (Value.EndsWith('"'))
+ if (Value.EndsWith("\""))
{
Value = Value.TrimEnd('"') + Sum.ToString() + '"';
}
@@ -2089,7 +2089,7 @@ namespace CLPS2C_Compiler
return "";
}
string Tmp = GetSubstringInQuotes(Element, false);
- if (Value.EndsWith('"'))
+ if (Value.EndsWith("\""))
{
Value = Value.TrimEnd('"') + Tmp + '"';
}
@@ -2112,7 +2112,7 @@ namespace CLPS2C_Compiler
if (Sum > 0)
{
- if (Value.EndsWith('"'))
+ if (Value.EndsWith("\""))
{
Value = Value.TrimEnd('"') + Sum.ToString() + '"';
}
diff --git a/CLPS2C-Compiler/Util.cs b/CLPS2C-Compiler/Util.cs
index 4560c73..7f82ae6 100644
--- a/CLPS2C-Compiler/CLPS2C-Compiler/Util.cs
+++ b/CLPS2C-Compiler/CLPS2C-Compiler/Util.cs
@@ -48,7 +48,7 @@ namespace CLPS2C_Compiler
// ([^ \t\n\r\f\v(+,]+) - Any other word. This is \S, and '(', '+', ','
MatchCollection Matches = Regex.Matches(line, @"(\(.*\))|(""(?:\\.|[^""])*""?)|(\+\s*((""(?:\\.|[^""])*""?)|([^+""]+?))?(?=\+|$| |,))|(,(""?)([^,""]+?)\8(?=,|$| |\+))|([^ \t\n\r\f\v(+,]+)");
Type = Matches[0].Value.ToUpper();
- Data = Matches.Skip(1).Take(Matches.Count - 1).Select(item => item.Value).ToList(); // Data has every word except first
+ Data = Matches.Cast<Match>().Skip(1).Take(Matches.Count - 1).Select(item => item.Value).ToList(); // Data has every word except first
}
public void AppendToTraceback(string file, string fullLine, int lineIdx)
@@ -165,7 +165,7 @@ namespace CLPS2C_Compiler
else
{
// It's a comment, count new lines
- int newLinesCount = match.Value.Split(Program._newLine).Length - 1;
+ int newLinesCount = match.Value.Split(new string[] { Program._newLine }, StringSplitOptions.None).Length - 1;
return string.Concat(Enumerable.Repeat(Program._newLine, newLinesCount));
}
});
@@ -486,7 +486,7 @@ namespace CLPS2C_Compiler
for (int i = 0; i < Output.Count; i++)
{
string Element = Output[i];
- if (Element.StartsWith('+'))
+ if (Element.StartsWith("+"))
{
Element = Element.Substring(1).TrimStart();
}
@@ -496,7 +496,7 @@ namespace CLPS2C_Compiler
List<string> RecursiveValues = GetSetValueFromTarget(Element, SetID, listSets);
if (RecursiveValues.Count != 0)
{
- if (Output[i].StartsWith('+'))
+ if (Output[i].StartsWith("+"))
{
RecursiveValues[0] = "+" + RecursiveValues[0];
}

View File

@ -0,0 +1,15 @@
diff --git a/CLPS2C-Compiler/Program.cs b/CLPS2C-Compiler/Program.cs
index 6991896..fe8cd5f 100644
--- a/CLPS2C-Compiler/CLPS2C-Compiler/Program.cs
+++ b/CLPS2C-Compiler/CLPS2C-Compiler/Program.cs
@@ -90,10 +90,6 @@ namespace CLPS2C_Compiler
}
else if (OutputLines.Count != 0)
{
- if (OutputLines[0].StartsWith(_newLine))
- {
- OutputLines[0] = OutputLines[0].Substring(2);
- }
Output += string.Join("", OutputLines);
// Convert to PNACH Format

View File

@ -0,0 +1,13 @@
diff --git a/bindings/csharp/Keystone.Net/Keystone.Net.csproj b/bindings/csharp/Keystone.Net/Keystone.Net.csproj
index 04801b4..4c6fe15 100644
--- a/keystone/bindings/csharp/Keystone.Net/Keystone.Net.csproj
+++ b/keystone/bindings/csharp/Keystone.Net/Keystone.Net.csproj
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
- <TargetFramework>netstandard2.0</TargetFramework>
+ <TargetFramework>net8.0</TargetFramework>
<RootNamespace>Keystone</RootNamespace>
<Version>1.1.0</Version>

View File

@ -0,0 +1,12 @@
diff --git a/CLPS2C-Compiler/CLPS2C-Compiler.csproj b/CLPS2C-Compiler/CLPS2C-Compiler.csproj
index 867533e..80f7923 100644
--- a/CLPS2C-Compiler/CLPS2C-Compiler/CLPS2C-Compiler.csproj
+++ b/CLPS2C-Compiler/CLPS2C-Compiler/CLPS2C-Compiler.csproj
@@ -6,7 +6,6 @@
<RootNamespace>CLPS2C_Compiler</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
- <PlatformTarget>x86</PlatformTarget>
<ApplicationIcon>256x256.ico</ApplicationIcon>
<Version>1.0.1</Version>
</PropertyGroup>

View File

@ -0,0 +1,12 @@
diff --git a/CLPS2C-Compiler/CLPS2C-Compiler.csproj b/CLPS2C-Compiler/CLPS2C-Compiler.csproj
index 867533e..34b30a4 100644
--- a/CLPS2C-Compiler/CLPS2C-Compiler/CLPS2C-Compiler.csproj
+++ b/CLPS2C-Compiler/CLPS2C-Compiler/CLPS2C-Compiler.csproj
@@ -5,6 +5,7 @@
<TargetFramework>net8.0</TargetFramework>
<RootNamespace>CLPS2C_Compiler</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
+ <LangVersion>10.0</LangVersion>
<Nullable>enable</Nullable>
<PlatformTarget>x86</PlatformTarget>
<ApplicationIcon>256x256.ico</ApplicationIcon>

View File

@ -0,0 +1,12 @@
diff --git a/CLPS2C-Compiler/CLPS2C-Compiler.csproj b/CLPS2C-Compiler/CLPS2C-Compiler.csproj
index 867533e..ab44095 100644
--- a/CLPS2C-Compiler/CLPS2C-Compiler/CLPS2C-Compiler.csproj
+++ b/CLPS2C-Compiler/CLPS2C-Compiler/CLPS2C-Compiler.csproj
@@ -3,6 +3,7 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
+ <RuntimeIdentifiers>win-x86;win-x64;win-arm64;linux-x64;linux-arm64;osx-x64</RuntimeIdentifiers>
<RootNamespace>CLPS2C_Compiler</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>

View File

@ -0,0 +1,20 @@
diff --git a/CLPS2C-Compiler/CLPS2C-Compiler.csproj b/CLPS2C-Compiler/CLPS2C-Compiler.csproj
index 867533e..17a3aca 100644
--- a/CLPS2C-Compiler/CLPS2C-Compiler/CLPS2C-Compiler.csproj
+++ b/CLPS2C-Compiler/CLPS2C-Compiler/CLPS2C-Compiler.csproj
@@ -28,16 +29,7 @@
</ItemGroup>
<ItemGroup>
- <Reference Include="Keystone.Net">
- <HintPath>Keystone.Net.dll</HintPath>
- <Private>True</Private>
- </Reference>
- </ItemGroup>
-
- <ItemGroup>
- <None Update="keystone.dll">
- <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- </None>
+ <ProjectReference Include="..\..\keystone\bindings\csharp\Keystone.Net\Keystone.Net.csproj"/>
</ItemGroup>

View File

@ -1,34 +1,35 @@
{ lib
, fetchFromGitHub
, wrapGAppsHook4
, python3
, blueprint-compiler
, desktop-file-utils
, meson
, ninja
, pkg-config
, glib
, gtk4
, gobject-introspection
, gst_all_1
, libsoup_3
, glib-networking
, libadwaita
, libsecret
, nix-update-script
{
lib,
fetchFromGitHub,
wrapGAppsHook4,
python3,
blueprint-compiler,
desktop-file-utils,
meson,
ninja,
pkg-config,
glib,
gtk4,
gobject-introspection,
gst_all_1,
libsoup_3,
glib-networking,
libadwaita,
libsecret,
nix-update-script,
}:
python3.pkgs.buildPythonApplication rec {
pname = "dialect";
version = "2.4.2";
version = "2.5.0";
pyproject = false; # built with meson
src = fetchFromGitHub {
owner = "dialect-app";
repo = "dialect";
rev = version;
rev = "refs/tags/${version}";
fetchSubmodules = true;
hash = "sha256-DAhzvia5ut806rTc2iMuMrVKyYBSaAiMyC4rEOyU4x0=";
hash = "sha256-TWXJlzuSBy+Ij3s0KS02bh8vdXP10hQpgdz4QMTLf/Q=";
};
nativeBuildInputs = [
@ -53,7 +54,7 @@ python3.pkgs.buildPythonApplication rec {
libsecret
];
propagatedBuildInputs = with python3.pkgs; [
dependencies = with python3.pkgs; [
dbus-python
gtts
pygobject3

View File

@ -44,13 +44,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "fastfetch";
version = "2.28.0";
version = "2.29.0";
src = fetchFromGitHub {
owner = "fastfetch-cli";
repo = "fastfetch";
rev = finalAttrs.version;
hash = "sha256-fkAtBO9POd3JKNNt0jV1ufIN1s8HaFW7P2+32cRycWs=";
hash = "sha256-qXzE2v2BS1CgPVPIj+mct9zoJ4hpNCsTZ12keQThRZI=";
};
outputs = [

View File

@ -0,0 +1,34 @@
{
stdenv,
gnat13,
gnat13Packages,
fetchFromGitHub,
lib,
}:
stdenv.mkDerivation rec {
name = "florist";
version = "24.2";
src = fetchFromGitHub {
owner = "adacore";
repo = "florist";
rev = "refs/heads/${version}";
hash = "sha256-EFGmcQfWpxEWfsAoQrHegTlizl6siE8obKx+fCpVwUQ=";
};
configureFlags = [ "--enable-shared" ];
nativeBuildInputs = [
gnat13
gnat13Packages.gprbuild
];
meta = {
description = "Posix Ada Bindings";
homepage = "https://github.com/adacore/florist";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ lutzberger ];
platforms = lib.platforms.linux;
};
}

View File

@ -1,22 +1,41 @@
{lib, stdenv, fetchFromGitHub, git, mercurial, makeWrapper}:
{
lib,
stdenv,
fetchFromGitHub,
git,
mercurial,
makeWrapper,
nix-update-script,
fetchpatch,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "fast-export";
version = "221024";
version = "231118";
src = fetchFromGitHub {
owner = "frej";
repo = pname;
rev = "v${version}";
sha256 = "sha256-re8iXM8s+TD35UGKalq2kVn8fx68fsnUC7Yo+/DQ9SM=";
repo = "fast-export";
rev = "v${finalAttrs.version}";
hash = "sha256-JUy0t2yzd4bI7WPGG1E8L1topLfR5leV/WTU+u0bCyM=";
};
patches = [
(fetchpatch {
url = "https://github.com/frej/fast-export/commit/a3d0562737e1e711659e03264e45cb47a5a2f46d.patch?full_index=1";
hash = "sha256-vZOHnb5lXO22ElCK4oWQKCcPIqRyZV5axWfZqa84V1Y=";
})
];
nativeBuildInputs = [ makeWrapper ];
buildInputs = [mercurial.python mercurial];
buildInputs = [
mercurial.python
mercurial
];
installPhase = ''
binPath=$out/bin
libexecPath=$out/libexec/${pname}
libexecPath=$out/libexec/fast-export
sitepackagesPath=$out/${mercurial.python.sitePackages}
mkdir -p $binPath $libexecPath $sitepackagesPath
@ -57,11 +76,13 @@ stdenv.mkDerivation rec {
popd
'';
meta = with lib; {
passthru.updateScript = nix-update-script { };
meta = {
description = "Import mercurial into git";
homepage = "https://repo.or.cz/w/fast-export.git";
license = licenses.gpl2;
maintainers = [ maintainers.koral ];
platforms = platforms.unix;
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.koral ];
platforms = lib.platforms.unix;
};
}
})

View File

@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "lightningcss";
version = "1.27.0";
version = "1.28.0";
src = fetchFromGitHub {
owner = "parcel-bundler";
repo = "lightningcss";
rev = "refs/tags/v${version}";
hash = "sha256-YOTFyIDQIdqnrbXtnnY5U32rk9/fZ+1NcSb3slgkxZU=";
hash = "sha256-nW5tnHD5saY7KnccRg5NsszvrADd/tuoN7SWr7JYBVs=";
};
cargoHash = "sha256-nzRvsdW+PfcS1ocg49JtRQ9RmFJ3iz65plH1ToQXSGU=";
cargoHash = "sha256-He5lb5y3Zd1nygWJWZDzBq5avL81ZKoiZMxtxjKkU7I=";
patches = [
# Backport fix for build error for lightningcss-napi
@ -47,7 +47,6 @@ rustPlatform.buildRustPackage rec {
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [ johnrtitor toastal ];
mainProgram = "lightningcss";
# never built on aarch64-linux since first introduction in nixpkgs
broken = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64;
platforms = lib.platforms.all;
};
}

View File

@ -4,7 +4,7 @@
fetchFromGitHub,
rustPlatform,
installShellFiles,
darwin,
apple-sdk_11,
pandoc,
testers,
lsd,
@ -28,7 +28,7 @@ rustPlatform.buildRustPackage rec {
pandoc
];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 ];
postInstall = ''
pandoc --standalone --to man doc/lsd.md -o lsd.1

View File

@ -1,21 +1,26 @@
GEM
remote: https://rubygems.org/
specs:
concurrent-ruby (1.2.2)
base64 (0.2.0)
concurrent-ruby (1.3.4)
csv (3.3.0)
deprecated (3.0.1)
dimensions (1.3.0)
escape (0.0.4)
et-orbi (1.2.7)
et-orbi (1.2.11)
tzinfo
exifr (1.3.10)
ffi (1.15.5)
fugit (1.8.1)
et-orbi (~> 1, >= 1.2.7)
ffi (1.17.0)
fugit (1.11.1)
et-orbi (~> 1, >= 1.2.11)
raabro (~> 1.4)
geocoder (1.8.2)
geocoder (1.8.3)
base64 (>= 0.1.0)
csv (>= 3.0.0)
listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.6.1)
maid (0.10.0)
deprecated (~> 3.0.0)
dimensions (>= 1.0.0, < 2.0)
@ -28,13 +33,14 @@ GEM
rufus-scheduler (~> 3.8.2)
thor (~> 1.2.1)
xdg (~> 2.2.3)
mime-types (3.5.1)
mime-types (3.6.0)
logger
mime-types-data (~> 3.2015)
mime-types-data (3.2023.0808)
mime-types-data (3.2024.1001)
raabro (1.4.0)
rake (13.0.6)
rake (13.2.1)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
rb-inotify (0.11.1)
ffi (~> 1.0)
rubyzip (2.3.2)
rufus-scheduler (3.8.2)
@ -52,4 +58,4 @@ DEPENDENCIES
rake
BUNDLED WITH
2.3.26
2.5.11

View File

@ -1,13 +1,33 @@
{
base64 = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g";
type = "gem";
};
version = "0.2.0";
};
concurrent-ruby = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q";
sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl";
type = "gem";
};
version = "1.2.2";
version = "1.3.4";
};
csv = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0zfn40dvgjk1xv1z8l11hr9jfg3jncwsc9yhzsz4l4rivkpivg8b";
type = "gem";
};
version = "3.3.0";
};
deprecated = {
groups = ["default"];
@ -45,10 +65,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1d2z4ky2v15dpcz672i2p7lb2nc793dasq3yq3660h2az53kss9v";
sha256 = "0r6zylqjfv0xhdxvldr0kgmnglm57nm506pcm6085f0xqa68cvnj";
type = "gem";
};
version = "1.2.7";
version = "1.2.11";
};
exifr = {
groups = ["default"];
@ -65,10 +85,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
sha256 = "07139870npj59jnl8vmk39ja3gdk3fb5z9vc0lf32y2h891hwqsi";
type = "gem";
};
version = "1.15.5";
version = "1.17.0";
};
fugit = {
dependencies = ["et-orbi" "raabro"];
@ -76,20 +96,21 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1cm2lrvhrpqq19hbdsxf4lq2nkb2qdldbdxh3gvi15l62dlb5zqq";
sha256 = "0s4qhq3mjl0gak5wl20w9d5jhq069mk1393dkj76s8i2pvkqb578";
type = "gem";
};
version = "1.8.1";
version = "1.11.1";
};
geocoder = {
dependencies = ["base64" "csv"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "120lqyq308q8hg8ykawd7cp3k2ck8z9g5f9ffijp8dn2k9f21fjc";
sha256 = "1cvzz9i5s5dngrw6101bc6kn25c4f2jsb6pnq5yb842scjh6848n";
type = "gem";
};
version = "1.8.2";
version = "1.8.3";
};
listen = {
dependencies = ["rb-fsevent" "rb-inotify"];
@ -102,6 +123,16 @@
};
version = "3.8.0";
};
logger = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s";
type = "gem";
};
version = "1.6.1";
};
maid = {
dependencies = ["deprecated" "dimensions" "escape" "exifr" "geocoder" "listen" "mime-types" "rubyzip" "rufus-scheduler" "thor" "xdg"];
groups = ["default"];
@ -114,25 +145,25 @@
version = "0.10.0";
};
mime-types = {
dependencies = ["mime-types-data"];
dependencies = ["logger" "mime-types-data"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5";
sha256 = "0r34mc3n7sxsbm9mzyzy8m3dvq7pwbryyc8m452axkj0g2axnwbg";
type = "gem";
};
version = "3.5.1";
version = "3.6.0";
};
mime-types-data = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a";
sha256 = "06dbn0j13jwdrmlvrjd50mxqrjlkh3lvxp0afh4glyzbliqvqpsd";
type = "gem";
};
version = "3.2023.0808";
version = "3.2024.1001";
};
raabro = {
groups = ["default"];
@ -149,10 +180,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w";
sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
type = "gem";
};
version = "13.0.6";
version = "13.2.1";
};
rb-fsevent = {
groups = ["default"];
@ -170,10 +201,10 @@
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
sha256 = "0vmy8xgahixcz6hzwy4zdcyn2y6d6ri8dqv5xccgzc1r292019x0";
type = "gem";
};
version = "0.10.1";
version = "0.11.1";
};
rubyzip = {
groups = ["default"];

View File

@ -2,6 +2,7 @@
lib,
buildGoModule,
fetchFromGitHub,
makeWrapper,
git,
}:
buildGoModule rec {
@ -24,6 +25,13 @@ buildGoModule rec {
cp -r migrations $out/migrations
'';
postFixup = ''
wrapProgram $out/bin/plandex-server \
--prefix PATH : ${lib.makeBinPath [ git ]}
'';
nativeBuildInputs = [ makeWrapper ];
nativeCheckInputs = [ git ];
sourceRoot = "${src.name}/app/server";

View File

@ -0,0 +1,187 @@
{
lib,
stdenv,
fetchzip,
# nativeBuildInputs
pkg-config,
jq,
cargo,
rustc,
rustPlatform,
# buildInputs
lua,
harfbuzz,
icu,
fontconfig,
libiconv,
stylua,
typos,
darwin,
# FONTCONFIG_FILE
makeFontsConf,
gentium,
# passthru.tests
runCommand,
poppler_utils,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sile";
version = "0.15.5";
src = fetchzip {
url = "https://github.com/sile-typesetter/sile/releases/download/v${finalAttrs.version}/sile-${finalAttrs.version}.zip";
sha256 = "sha256-zP+MGCXGEg19U6tMrHIdgAAfKQT21vFtmoEROXgxUB0=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit (finalAttrs) src;
dontConfigure = true;
hash = "sha256-hmgDG29C5JfQX2acMr8c3lmswa1u5XHauRWFd4QGmOo=";
};
nativeBuildInputs = [
pkg-config
jq
cargo
rustc
rustPlatform.cargoSetupHook
];
buildInputs =
[
finalAttrs.finalPackage.passthru.luaEnv
harfbuzz
icu
fontconfig
libiconv
stylua
typos
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
darwin.apple_sdk.frameworks.AppKit
];
configureFlags =
[
# Nix will supply all the Lua dependencies, so stop the build system from
# bundling vendored copies of them.
"--with-system-lua-sources"
"--with-system-luarocks"
# The automake check target uses pdfinfo to confirm the output of a test
# run, and uses autotools to discover it. This flake build eschews that
# test because it is run from the source directory but the binary is
# already built with system paths, so it can't be checked under Nix until
# after install. After install the Makefile isn't available of course, so
# we have our own copy of it with a hard coded path to `pdfinfo`. By
# specifying some binary here we skip the configure time test for
# `pdfinfo`, by using `false` we make sure that if it is expected during
# build time we would fail to build since we only provide it at test time.
"PDFINFO=false"
]
++ lib.optionals (!lua.pkgs.isLuaJIT) [
"--without-luajit"
];
outputs = [
"out"
"doc"
"man"
"dev"
];
# TODO: At some point, upstream should support installing the pre-built
# manual automatically
postInstall = ''
install -Dm0644 documentation/sile.pdf $out/share/doc/sile/manual.pdf
'';
FONTCONFIG_FILE = makeFontsConf {
fontDirectories = [
gentium
];
};
enableParallelBuilding = true;
passthru = {
luaEnv = lua.withPackages (
ps:
with ps;
[
cassowary
cldr
fluent
linenoise
loadkit
lpeg
lua-zlib
lua_cliargs
luaepnf
luaexpat
luafilesystem
luarepl
luasec
luasocket
luautf8
penlight
vstruct
# lua packages needed for testing
busted
luacheck
# packages needed for building api docs
ldoc
# NOTE: Add lua packages here, to change the luaEnv also read by `flake.nix`
]
++ lib.optionals (lib.versionOlder lua.luaversion "5.2") [
bit32
]
++ lib.optionals (lib.versionOlder lua.luaversion "5.3") [
compat53
]
);
# Copied from Makefile.am
tests.test = lib.optionalAttrs (!(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) (
runCommand "${finalAttrs.pname}-test"
{
nativeBuildInputs = [
poppler_utils
finalAttrs.finalPackage
];
inherit (finalAttrs) FONTCONFIG_FILE;
}
''
output=$(mktemp -t selfcheck-XXXXXX.pdf)
echo "<sile>foo</sile>" | sile -o $output -
pdfinfo $output | grep "SILE v${finalAttrs.version}" > $out
''
);
};
meta = {
description = "Typesetting system";
longDescription = ''
SILE is a typesetting system; its job is to produce beautiful
printed documents. Conceptually, SILE is similar to TeXfrom
which it borrows some concepts and even syntax and
algorithmsbut the similarities end there. Rather than being a
derivative of the TeX family SILE is a new typesetting and
layout engine written from the ground up using modern
technologies and borrowing some ideas from graphical systems
such as InDesign.
'';
homepage = "https://sile-typesetter.org";
changelog = "https://github.com/sile-typesetter/sile/raw/v${finalAttrs.version}/CHANGELOG.md";
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
doronbehar
alerque
];
license = lib.licenses.mit;
mainProgram = "sile";
};
})

View File

@ -17,13 +17,13 @@ python3Packages.buildPythonApplication rec {
# The websites yt-dlp deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported
# to the latest stable release.
version = "2024.10.22";
version = "2024.11.4";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "yt_dlp";
hash = "sha256-R7gqH9IkEbXJXvLwoa4a9Obf1zbqmf2yoOpBRFq8Yro=";
hash = "sha256-7SBMG2G8Vj4TREd2bRqzQxc1QHmeE+u5U+iHzn3PaGU=";
};
build-system = with python3Packages; [
@ -87,7 +87,7 @@ python3Packages.buildPythonApplication rec {
youtube-dl is released to the public domain, which means
you can modify it, redistribute it or use it however you like.
'';
changelog = "https://github.com/yt-dlp/yt-dlp/releases/tag/${version}";
changelog = "https://github.com/yt-dlp/yt-dlp/blob/HEAD/Changelog.md";
license = licenses.unlicense;
maintainers = with maintainers; [
mkg20001

View File

@ -35,11 +35,13 @@ buildPythonPackage rec {
pythonRelaxDeps = [ "mpi4py" ];
# avoid strict pinning of numpy, can't be replaced with pythonRelaxDepsHook,
# see: https://github.com/NixOS/nixpkgs/issues/327941
# avoid strict pinning of numpy and mpi4py, can't be replaced with
# pythonRelaxDepsHook, see: https://github.com/NixOS/nixpkgs/issues/327941
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "numpy >=2.0.0, <3" "numpy"
substituteInPlace setup.py \
--replace-fail "mpi4py ==3.1.6" "mpi4py"
'';
env = {

View File

@ -1,13 +0,0 @@
diff --git a/setup.py b/setup.py
index b1463422..7f0c7b10 100755
--- a/setup.py
+++ b/setup.py
@@ -47,7 +47,7 @@ if setup_configure.mpi_enabled():
# incompatible with newer setuptools.
RUN_REQUIRES.append('mpi4py >=3.1.1')
SETUP_REQUIRES.append("mpi4py ==3.1.1; python_version<'3.11'")
- SETUP_REQUIRES.append("mpi4py ==3.1.4; python_version>='3.11'")
+ SETUP_REQUIRES.append("mpi4py >=3.1.4; python_version>='3.11'")
# Set the environment variable H5PY_SETUP_REQUIRES=0 if we need to skip
# setup_requires for any reason.

View File

@ -0,0 +1,53 @@
{
lib,
buildPythonPackage,
fastapi,
fetchFromGitHub,
hatchling,
hatch-regex-commit,
httpx,
pytest-asyncio,
pytest-cov-stub,
pytest-mock,
pytestCheckHook,
respx,
}:
buildPythonPackage rec {
pname = "httpx-oauth";
version = "0.15.1";
pyproject = true;
src = fetchFromGitHub {
owner = "frankie567";
repo = "httpx-oauth";
rev = "refs/tags/v${version}";
hash = "sha256-f3X3kSw7elTScCA3bNggwXyyHORre6Xzup/D0kgn4DQ=";
};
build-system = [
hatchling
hatch-regex-commit
];
dependencies = [ httpx ];
nativeCheckInputs = [
fastapi
pytest-asyncio
pytest-cov-stub
pytest-mock
pytestCheckHook
respx
];
pythonImportsCheck = [ "httpx_oauth" ];
meta = with lib; {
description = "Async OAuth client using HTTPX";
homepage = "https://github.com/frankie567/httpx-oauth";
changelog = "https://github.com/frankie567/httpx-oauth/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ SuperSandro2000 ];
};
}

View File

@ -1,32 +1,34 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
lib,
pandas,
pytestCheckHook,
torch,
setuptools,
tensorboard,
torch,
torchvision,
}:
let
version = "0.3.1";
version = "0.4.0";
repo = fetchFromGitHub {
owner = "pytorch";
repo = "kineto";
rev = "v${version}";
hash = "sha256-Yg001XzOPDmz9wEP2b7Ggz/uU6x5PFzaaBeUBwWKFS0=";
rev = "refs/tags/v${version}";
hash = "sha256-nAtqGCv8q3Tati3NOGWWLb+gXdvO3qmECeC1WG2Mt3M=";
};
in
buildPythonPackage rec {
buildPythonPackage {
pname = "torch_tb_profiler";
inherit version;
format = "setuptools";
pyproject = true;
# See https://discourse.nixos.org/t/extracting-sub-directory-from-fetchgit-or-fetchurl-or-any-derivation/8830.
src = "${repo}/tb_plugin";
propagatedBuildInputs = [
build-system = [ setuptools ];
dependencies = [
pandas
tensorboard
];
@ -43,14 +45,18 @@ buildPythonPackage rec {
"test_tensorboard_end2end"
"test_tensorboard_with_path_prefix"
"test_tensorboard_with_symlinks"
"test_autograd_api"
"test_profiler_api_with_record_shapes_memory_stack"
"test_profiler_api_without_record_shapes_memory_stack"
"test_profiler_api_without_step"
];
pythonImportsCheck = [ "torch_tb_profiler" ];
meta = with lib; {
meta = {
description = "PyTorch Profiler TensorBoard Plugin";
homepage = "https://github.com/pytorch/kineto";
license = licenses.bsd3;
maintainers = with maintainers; [ samuela ];
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ samuela ];
};
}

View File

@ -41,13 +41,13 @@ let
]);
in stdenv.mkDerivation rec {
pname = "ostree";
version = "2024.4";
version = "2024.8";
outputs = [ "out" "dev" "man" "installedTests" ];
src = fetchurl {
url = "https://github.com/ostreedev/ostree/releases/download/v${version}/libostree-${version}.tar.xz";
sha256 = "sha256-Y8kZCCEzOsc3Pg2SPkwnZrJevc/fTvtEy1koxlidn8s=";
sha256 = "sha256-4hNuEWZp8RT/c0nxLimfY8C+znM0UWSUFKjc2FuGPD8=";
};

View File

@ -1,4 +1,4 @@
{ lib, rustPlatform, fetchCrate, stdenv, Foundation }:
{ lib, rustPlatform, fetchCrate, stdenv, apple-sdk_11 }:
rustPlatform.buildRustPackage rec {
pname = "vimv-rs";
@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
cargoHash = "sha256-rYQxIttuGBGEkYkFtSBl8ce1I/Akm6FxeITJcaIeP6M=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ Foundation ];
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_11 ];
meta = with lib; {
description = "Command line utility for batch-renaming files";

View File

@ -4,7 +4,7 @@
, rustPlatform
, installShellFiles
, pkg-config
, Security
, apple-sdk_11
, withPCRE2 ? true
, pcre2
}:
@ -28,7 +28,7 @@ in rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ installShellFiles ]
++ lib.optional withPCRE2 pkg-config;
buildInputs = lib.optional withPCRE2 pcre2
++ lib.optional stdenv.hostPlatform.isDarwin Security;
++ lib.optional stdenv.hostPlatform.isDarwin apple-sdk_11;
buildFeatures = lib.optional withPCRE2 "pcre2";

View File

@ -1,142 +0,0 @@
{ lib
, stdenv
, darwin
, fetchurl
, makeWrapper
, pkg-config
, poppler_utils
, gitMinimal
, harfbuzz
, icu
, fontconfig
, lua
, libiconv
, makeFontsConf
, gentium
, runCommand
, sile
}:
let
luaEnv = lua.withPackages(ps: with ps; [
cassowary
cldr
cosmo
fluent
linenoise
loadkit
lpeg
lua-zlib
lua_cliargs
luaepnf
luaexpat
luafilesystem
luarepl
luasec
luasocket
luautf8
penlight
vstruct
] ++ lib.optionals (lib.versionOlder lua.luaversion "5.2") [
bit32
] ++ lib.optionals (lib.versionOlder lua.luaversion "5.3") [
compat53
]);
in
stdenv.mkDerivation (finalAttrs: {
pname = "sile";
version = "0.14.17";
src = fetchurl {
url = "https://github.com/sile-typesetter/sile/releases/download/v${finalAttrs.version}/sile-${finalAttrs.version}.tar.xz";
sha256 = "sha256-f4m+3s7au1FoJQrZ3YDAntKJyOiMPQ11bS0dku4GXgQ=";
};
configureFlags = [
"--with-system-luarocks"
"--with-manual"
];
nativeBuildInputs = [
gitMinimal
pkg-config
makeWrapper
];
buildInputs = [
luaEnv
harfbuzz
icu
fontconfig
libiconv
]
++ lib.optional stdenv.hostPlatform.isDarwin darwin.apple_sdk.frameworks.AppKit
;
passthru = {
# So it will be easier to inspect this environment, in comparison to others
inherit luaEnv;
# Copied from Makefile.am
tests.test = lib.optionalAttrs (!(stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64)) (
runCommand "sile-test"
{
nativeBuildInputs = [ poppler_utils sile ];
inherit (finalAttrs) FONTCONFIG_FILE;
} ''
output=$(mktemp -t selfcheck-XXXXXX.pdf)
echo "<sile>foo</sile>" | sile -o $output -
pdfinfo $output | grep "SILE v${finalAttrs.version}" > $out
'');
};
postPatch = ''
patchShebangs build-aux/*.sh
'' + lib.optionalString stdenv.hostPlatform.isDarwin ''
sed -i -e 's|@import AppKit;|#import <AppKit/AppKit.h>|' src/macfonts.m
'';
NIX_LDFLAGS = lib.optionalString stdenv.hostPlatform.isDarwin "-framework AppKit";
FONTCONFIG_FILE = makeFontsConf {
fontDirectories = [
gentium
];
};
enableParallelBuilding = true;
preBuild = lib.optionalString stdenv.cc.isClang ''
substituteInPlace libtexpdf/dpxutil.c \
--replace "ASSERT(ht && ht->table && iter);" "ASSERT(ht && iter);"
'';
# remove forbidden references to $TMPDIR
preFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
for f in "$out"/bin/*; do
if isELF "$f"; then
patchelf --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" "$f"
fi
done
'';
outputs = [ "out" "doc" "man" "dev" ];
meta = with lib; {
description = "Typesetting system";
longDescription = ''
SILE is a typesetting system; its job is to produce beautiful
printed documents. Conceptually, SILE is similar to TeXfrom
which it borrows some concepts and even syntax and
algorithmsbut the similarities end there. Rather than being a
derivative of the TeX family SILE is a new typesetting and
layout engine written from the ground up using modern
technologies and borrowing some ideas from graphical systems
such as InDesign.
'';
homepage = "https://sile-typesetter.org";
changelog = "https://github.com/sile-typesetter/sile/raw/v${finalAttrs.version}/CHANGELOG.md";
platforms = platforms.unix;
maintainers = with maintainers; [ doronbehar alerque ];
license = licenses.mit;
mainProgram = "sile";
};
})

View File

@ -2116,7 +2116,7 @@ with pkgs;
degit = callPackage ../applications/version-management/degit { };
delta = darwin.apple_sdk_11_0.callPackage ../applications/version-management/delta { };
delta = callPackage ../applications/version-management/delta { };
debase = callPackage ../by-name/de/debase/package.nix {
stdenv = if stdenv.hostPlatform.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv;
@ -2225,8 +2225,6 @@ with pkgs;
git-fame = callPackage ../applications/version-management/git-fame { };
git-fast-export = callPackage ../applications/version-management/fast-export { };
git-fire = callPackage ../applications/version-management/git-fire { };
git-ftp = callPackage ../applications/version-management/git-ftp { };
@ -2245,9 +2243,7 @@ with pkgs;
git-imerge = python3Packages.callPackage ../applications/version-management/git-imerge { };
git-interactive-rebase-tool = callPackage ../applications/version-management/git-interactive-rebase-tool {
inherit (darwin.apple_sdk.frameworks) Security;
};
git-interactive-rebase-tool = callPackage ../applications/version-management/git-interactive-rebase-tool { };
git-lfs = lowPrio (callPackage ../applications/version-management/git-lfs { });
@ -4616,8 +4612,6 @@ with pkgs;
inherit (haskellPackages) ghcWithPackages diagrams-builder;
};
dialect = callPackage ../applications/misc/dialect { };
dialogbox = libsForQt5.callPackage ../tools/misc/dialogbox { };
dieharder = callPackage ../tools/security/dieharder { };
@ -8074,9 +8068,7 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Security;
};
ripgrep = callPackage ../tools/text/ripgrep {
inherit (darwin.apple_sdk.frameworks) Security;
};
ripgrep = callPackage ../tools/text/ripgrep { };
ripgrep-all = callPackage ../tools/text/ripgrep-all {
inherit (darwin.apple_sdk.frameworks) Security;
@ -12101,10 +12093,6 @@ with pkgs;
silc_server = callPackage ../servers/silc-server { };
sile = callPackage ../tools/typesetting/sile {
lua = lua5_3;
};
silenthound = callPackage ../tools/security/silenthound { };
silice = callPackage ../development/compilers/silice { };
@ -28263,6 +28251,8 @@ with pkgs;
cbc = callPackage ../applications/science/math/cbc { };
cbconvert-gui = cbconvert.gui;
cddiscid = callPackage ../applications/audio/cd-discid {
inherit (darwin) IOKit;
};
@ -32916,9 +32906,7 @@ with pkgs;
vimv = callPackage ../tools/misc/vimv { };
vimv-rs = callPackage ../tools/misc/vimv-rs {
inherit (darwin.apple_sdk.frameworks) Foundation;
};
vimv-rs = callPackage ../tools/misc/vimv-rs { };
qpdfview = libsForQt5.callPackage ../applications/office/qpdfview { };

View File

@ -5905,6 +5905,8 @@ self: super: with self; {
httpx-ntlm = callPackage ../development/python-modules/httpx-ntlm { };
httpx-oauth = callPackage ../development/python-modules/httpx-oauth { };
httpx-socks = callPackage ../development/python-modules/httpx-socks { };
httpx-sse = callPackage ../development/python-modules/httpx-sse { };