mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 16:33:15 +00:00
Merge staging-next into staging
This commit is contained in:
commit
60d70734b1
@ -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.
|
||||
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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:")
|
||||
'';
|
||||
})
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -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 = [
|
||||
|
@ -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;
|
||||
|
@ -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 ];
|
||||
|
@ -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}";
|
||||
|
@ -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
|
||||
|
48
pkgs/by-name/cb/cbconvert/gui.nix
Normal file
48
pkgs/by-name/cb/cbconvert/gui.nix
Normal 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";
|
||||
};
|
||||
}
|
87
pkgs/by-name/cb/cbconvert/package.nix
Normal file
87
pkgs/by-name/cb/cbconvert/package.nix
Normal 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
11
pkgs/by-name/cl/clps2c-compiler/deps.nix
generated
Normal 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=";
|
||||
})
|
||||
]
|
75
pkgs/by-name/cl/clps2c-compiler/package.nix
Normal file
75
pkgs/by-name/cl/clps2c-compiler/package.nix
Normal 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;
|
||||
};
|
||||
}
|
193
pkgs/by-name/cl/clps2c-compiler/patches/build_fixes.patch
Normal file
193
pkgs/by-name/cl/clps2c-compiler/patches/build_fixes.patch
Normal 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];
|
||||
}
|
@ -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
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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
|
@ -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 = [
|
||||
|
34
pkgs/by-name/fl/florist/package.nix
Normal file
34
pkgs/by-name/fl/florist/package.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
}
|
||||
})
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"];
|
||||
|
@ -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";
|
||||
|
187
pkgs/by-name/si/sile/package.nix
Normal file
187
pkgs/by-name/si/sile/package.nix
Normal 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 TeX—from
|
||||
which it borrows some concepts and even syntax and
|
||||
algorithms—but 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";
|
||||
};
|
||||
})
|
@ -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
|
||||
|
@ -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 = {
|
||||
|
@ -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.
|
53
pkgs/development/python-modules/httpx-oauth/default.nix
Normal file
53
pkgs/development/python-modules/httpx-oauth/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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=";
|
||||
};
|
||||
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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 TeX—from
|
||||
which it borrows some concepts and even syntax and
|
||||
algorithms—but 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";
|
||||
};
|
||||
})
|
@ -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 { };
|
||||
|
||||
|
@ -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 { };
|
||||
|
Loading…
Reference in New Issue
Block a user