Merge remote-tracking branch 'origin/staging-next' into staging
This commit is contained in:
commit
4147fbe554
@ -414,6 +414,12 @@
|
||||
githubId = 1174810;
|
||||
name = "Nikolay Amiantov";
|
||||
};
|
||||
abcsds = {
|
||||
email = "abcsds@gmail.com";
|
||||
github = "abcsds";
|
||||
githubId = 2694381;
|
||||
name = "Alberto Barradas";
|
||||
};
|
||||
abdiramen = {
|
||||
email = "abdirahman.osmanthus@gmail.com";
|
||||
github = "Abdiramen";
|
||||
@ -7441,7 +7447,7 @@
|
||||
matrix = "@frontear:matrix.org";
|
||||
github = "Frontear";
|
||||
githubId = 31909298;
|
||||
keys = [ { fingerprint = "C170 11B7 C0AA BB3F 7415 022C BCB5 CEFD E222 82F5"; } ];
|
||||
keys = [ { fingerprint = "6A25 DEBE 41DB 0C15 3AB5 BB34 5290 E18B 8705 1A83"; } ];
|
||||
};
|
||||
frontsideair = {
|
||||
email = "photonia@gmail.com";
|
||||
|
@ -24,7 +24,8 @@ in
|
||||
internal = true;
|
||||
};
|
||||
|
||||
security.pki.useCompatibleBundle = mkEnableOption ''usage of a compatibility bundle.
|
||||
security.pki.useCompatibleBundle = mkEnableOption ''
|
||||
usage of a compatibility bundle.
|
||||
|
||||
Such a bundle consists exclusively of `BEGIN CERTIFICATE` and no `BEGIN TRUSTED CERTIFICATE`,
|
||||
which is an OpenSSL specific PEM format.
|
||||
|
@ -260,7 +260,7 @@ in {
|
||||
systemd.services.jack-session = {
|
||||
description = "JACK session";
|
||||
script = ''
|
||||
jack_wait -w
|
||||
${pkgs.jack-example-tools}/bin/jack_wait -w
|
||||
${cfg.jackd.session}
|
||||
${lib.optionalString cfg.loopback.enable cfg.loopback.session}
|
||||
'';
|
||||
|
@ -40,7 +40,7 @@ in
|
||||
###### implementation
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
dysnomia.enable = true;
|
||||
services.dysnomia.enable = true;
|
||||
|
||||
environment.systemPackages = [ pkgs.disnix ] ++ lib.optional cfg.useWebServiceInterface pkgs.DisnixWebService;
|
||||
environment.variables.PATH = lib.optionals cfg.enableProfilePath (map (profileName: "/nix/var/nix/profiles/disnix/${profileName}/bin" ) cfg.profiles);
|
||||
@ -74,7 +74,7 @@ in
|
||||
|
||||
restartIfChanged = false;
|
||||
|
||||
path = [ config.nix.package cfg.package config.dysnomia.package "/run/current-system/sw" ];
|
||||
path = [ config.nix.package cfg.package config.services.dysnomia.package "/run/current-system/sw" ];
|
||||
|
||||
environment = {
|
||||
HOME = "/root";
|
||||
|
@ -1,6 +1,6 @@
|
||||
{pkgs, lib, config, ...}:
|
||||
let
|
||||
cfg = config.dysnomia;
|
||||
cfg = config.services.dysnomia;
|
||||
|
||||
printProperties = properties:
|
||||
lib.concatMapStrings (propertyName:
|
||||
@ -79,7 +79,7 @@ let
|
||||
in
|
||||
{
|
||||
options = {
|
||||
dysnomia = {
|
||||
services.dysnomia = {
|
||||
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
@ -142,6 +142,10 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModule ["dysnomia"] ["services" "dysnomia"])
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
environment.etc = {
|
||||
@ -164,7 +168,7 @@ in
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
dysnomia.package = pkgs.dysnomia.override (origArgs: dysnomiaFlags // lib.optionalAttrs (cfg.enableLegacyModules) {
|
||||
services.dysnomia.package = pkgs.dysnomia.override (origArgs: dysnomiaFlags // lib.optionalAttrs (cfg.enableLegacyModules) {
|
||||
enableLegacy = builtins.trace ''
|
||||
WARNING: Dysnomia has been configured to use the legacy 'process' and 'wrapper'
|
||||
modules for compatibility reasons! If you rely on these modules, consider
|
||||
@ -181,7 +185,7 @@ in
|
||||
'' true;
|
||||
});
|
||||
|
||||
dysnomia.properties = {
|
||||
services.dysnomia.properties = {
|
||||
hostname = config.networking.hostName;
|
||||
inherit (pkgs.stdenv.hostPlatform) system;
|
||||
|
||||
@ -208,7 +212,7 @@ in
|
||||
++ lib.optional (dysnomiaFlags.enableSubversionRepository) "subversion-repository";
|
||||
};
|
||||
|
||||
dysnomia.containers = lib.recursiveUpdate ({
|
||||
services.dysnomia.containers = lib.recursiveUpdate ({
|
||||
process = {};
|
||||
wrapper = {};
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ in {
|
||||
default = { };
|
||||
description = ''
|
||||
Configuration for Radicale. See
|
||||
<https://radicale.org/3.0.html#documentation/configuration>.
|
||||
<https://radicale.org/v3.html#configuration>.
|
||||
This option is mutually exclusive with {option}`config`.
|
||||
'';
|
||||
example = literalExpression ''
|
||||
@ -74,7 +74,7 @@ in {
|
||||
type = format.type;
|
||||
description = ''
|
||||
Configuration for Radicale's rights file. See
|
||||
<https://radicale.org/3.0.html#documentation/authentication-and-rights>.
|
||||
<https://radicale.org/v3.html#authentication-and-rights>.
|
||||
This option only works in conjunction with {option}`settings`.
|
||||
Setting this will also set {option}`settings.rights.type` and
|
||||
{option}`settings.rights.file` to appropriate values.
|
||||
|
@ -523,6 +523,7 @@ in
|
||||
intel-gpu-tools
|
||||
];
|
||||
serviceConfig = {
|
||||
ExecStartPre = "-rm /var/cache/frigate/*.mp4";
|
||||
ExecStart = "${cfg.package.python.interpreter} -m frigate";
|
||||
Restart = "on-failure";
|
||||
|
||||
|
@ -1374,7 +1374,7 @@ in
|
||||
];
|
||||
|
||||
services.logrotate.settings.nginx = mapAttrs (_: mkDefault) {
|
||||
files = "/var/log/nginx/*.log";
|
||||
files = [ "/var/log/nginx/*.log" ];
|
||||
frequency = "weekly";
|
||||
su = "${cfg.user} ${cfg.group}";
|
||||
rotate = 26;
|
||||
|
@ -4,13 +4,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "seq66";
|
||||
version = "0.99.14";
|
||||
version = "0.99.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ahlstromcj";
|
||||
repo = "seq66";
|
||||
rev = version;
|
||||
hash = "sha256-0xexKu8qQd0HzEHYKMomeoBE1s/tC5T1jzUl+AkhTqY=";
|
||||
hash = "sha256-/wrCBRB6AujSQwv56/OR60+A/zvIdEFsw2/W4+dkDgY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config qttools which wrapQtAppsHook ];
|
||||
|
@ -8,12 +8,9 @@
|
||||
, makeWrapper
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, electron_29
|
||||
, electron
|
||||
}:
|
||||
|
||||
let
|
||||
electron = electron_29;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kuro";
|
||||
version = "9.0.0";
|
||||
|
2957
pkgs/applications/office/activitywatch/Cargo.lock
generated
2957
pkgs/applications/office/activitywatch/Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,16 +1,13 @@
|
||||
diff --git a/vue.config.js b/vue.config.js
|
||||
index 02c0699..0c4a014 100644
|
||||
index d6fdd46..141d28f 100644
|
||||
--- a/vue.config.js
|
||||
+++ b/vue.config.js
|
||||
@@ -4,10 +4,7 @@ const CopyWebpackPlugin = require('copy-webpack-plugin');
|
||||
const { argv } = require('yargs');
|
||||
@@ -9,7 +9,7 @@ const __filename = fileURLToPath(import.meta.url); // get the resolved path to t
|
||||
const __dirname = path.dirname(__filename); // get the name of the directory
|
||||
|
||||
// get git info from command line
|
||||
-const _COMMIT_HASH = require('child_process')
|
||||
- .execSync('git rev-parse --short HEAD')
|
||||
- .toString()
|
||||
- .trim();
|
||||
-const _COMMIT_HASH = child_process.execSync('git rev-parse --short HEAD').toString().trim();
|
||||
+const _COMMIT_HASH = "@commit_hash@";
|
||||
console.info('Commit hash:', _COMMIT_HASH);
|
||||
|
||||
module.exports = {
|
||||
export default {
|
||||
|
@ -1,50 +1,53 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, rustPlatform
|
||||
, makeWrapper
|
||||
, pkg-config
|
||||
, perl
|
||||
, openssl
|
||||
, rust-jemalloc-sys
|
||||
, python3
|
||||
, wrapQtAppsHook
|
||||
, qtbase
|
||||
, qtsvg
|
||||
, xdg-utils
|
||||
, substituteAll
|
||||
, buildNpmPackage
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
rustPlatform,
|
||||
makeWrapper,
|
||||
pkg-config,
|
||||
perl,
|
||||
openssl,
|
||||
rust-jemalloc-sys,
|
||||
python3,
|
||||
python3Packages,
|
||||
wrapQtAppsHook,
|
||||
qtbase,
|
||||
qtsvg,
|
||||
xdg-utils,
|
||||
substituteAll,
|
||||
buildNpmPackage,
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.12.2";
|
||||
version = "0.13.2";
|
||||
sources = fetchFromGitHub {
|
||||
owner = "ActivityWatch";
|
||||
repo = "activitywatch";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-IvRXfxTOSgBVlxy4SVij+POr7KgvXTEjGN3lSozhHkY=";
|
||||
sha256 = "sha256-Z3WAg3b1zN0nS00u0zIose55JXRzQ7X7qy39XMY7Snk=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
in
|
||||
rec {
|
||||
aw-watcher-afk = python3.pkgs.buildPythonApplication {
|
||||
aw-watcher-afk = python3Packages.buildPythonApplication {
|
||||
pname = "aw-watcher-afk";
|
||||
inherit version;
|
||||
|
||||
format = "pyproject";
|
||||
|
||||
src = "${sources}/aw-watcher-afk";
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3.pkgs.poetry-core
|
||||
];
|
||||
pyproject = true;
|
||||
build-system = [ python3Packages.poetry-core ];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
dependencies = with python3Packages; [
|
||||
aw-client
|
||||
xlib
|
||||
pynput
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"python-xlib"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "aw_watcher_afk" ];
|
||||
|
||||
meta = with lib; {
|
||||
@ -55,23 +58,24 @@ rec {
|
||||
};
|
||||
};
|
||||
|
||||
aw-watcher-window = python3.pkgs.buildPythonApplication {
|
||||
aw-watcher-window = python3Packages.buildPythonApplication {
|
||||
pname = "aw-watcher-window";
|
||||
inherit version;
|
||||
|
||||
format = "pyproject";
|
||||
|
||||
src = "${sources}/aw-watcher-window";
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3.pkgs.poetry-core
|
||||
];
|
||||
pyproject = true;
|
||||
build-system = [ python3Packages.poetry-core ];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
dependencies = with python3Packages; [
|
||||
aw-client
|
||||
xlib
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"python-xlib"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "aw_watcher_window" ];
|
||||
|
||||
meta = with lib; {
|
||||
@ -82,20 +86,16 @@ rec {
|
||||
};
|
||||
};
|
||||
|
||||
aw-qt = python3.pkgs.buildPythonApplication {
|
||||
aw-qt = python3Packages.buildPythonApplication {
|
||||
pname = "aw-qt";
|
||||
inherit version;
|
||||
|
||||
format = "pyproject";
|
||||
|
||||
src = "${sources}/aw-qt";
|
||||
|
||||
nativeBuildInputs = [
|
||||
python3.pkgs.poetry-core
|
||||
wrapQtAppsHook
|
||||
];
|
||||
pyproject = true;
|
||||
build-system = [ python3Packages.poetry-core ];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
dependencies = with python3Packages; [
|
||||
aw-core
|
||||
qtbase
|
||||
qtsvg # Rendering icons in the trayicon menu
|
||||
@ -103,6 +103,10 @@ rec {
|
||||
click
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
# Prevent double wrapping
|
||||
dontWrapQtApps = true;
|
||||
|
||||
@ -110,10 +114,6 @@ rec {
|
||||
"--suffix PATH : ${lib.makeBinPath [ xdg-utils ]}"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -E 's#PyQt6 = "6.3.1"#PyQt6 = "^6.4.0"#g' -i pyproject.toml
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
install -D resources/aw-qt.desktop $out/share/applications/aw-qt.desktop
|
||||
|
||||
@ -143,21 +143,41 @@ rec {
|
||||
};
|
||||
};
|
||||
|
||||
aw-notify = python3Packages.buildPythonApplication {
|
||||
pname = "aw-notify";
|
||||
inherit version;
|
||||
|
||||
src = "${sources}/aw-notify";
|
||||
|
||||
pyproject = true;
|
||||
build-system = [ python3Packages.poetry-core ];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
aw-client
|
||||
desktop-notifier
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"desktop-notifier"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "aw_notify" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Desktop notification service for ActivityWatch";
|
||||
homepage = "https://github.com/ActivityWatch/aw-notify";
|
||||
maintainers = with maintainers; [ huantian ];
|
||||
license = licenses.mpl20;
|
||||
};
|
||||
};
|
||||
|
||||
aw-server-rust = rustPlatform.buildRustPackage {
|
||||
pname = "aw-server-rust";
|
||||
inherit version;
|
||||
|
||||
src = "${sources}/aw-server-rust";
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"rocket_cors-0.6.0-alpha1" = "sha256-GuMekgnsyuOg6lMiVvi4TwMba4sAFJ/zkgrdzSeBrv0=";
|
||||
};
|
||||
};
|
||||
|
||||
# Bypass rust nightly features not being available on rust stable
|
||||
RUSTC_BOOTSTRAP = 1;
|
||||
cargoHash = "sha256-2KnfLNVw48VVQ1Ec8MS2MaiA3BpGeFd/uIrJRHhaJR8=";
|
||||
|
||||
patches = [
|
||||
# Override version string with hardcoded value as it may be outdated upstream.
|
||||
@ -165,14 +185,6 @@ rec {
|
||||
src = ./override-version.patch;
|
||||
version = sources.rev;
|
||||
})
|
||||
|
||||
# Can be removed with release 0.12.3
|
||||
(fetchpatch {
|
||||
name = "remove-unused-unstable-features.patch";
|
||||
url = "https://github.com/ActivityWatch/aw-server-rust/commit/e1cd761d2f0a9309eb851b59732c2567a7ae2d3a.patch";
|
||||
hash = "sha256-wP+3XZDkr148XY5b8RV3obuLczAFBE3FhaYPqnmmGcU=";
|
||||
includes = [ "aw-server/src/lib.rs" ];
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -186,13 +198,7 @@ rec {
|
||||
rust-jemalloc-sys
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram "$out/bin/aw-server" \
|
||||
--prefix XDG_DATA_DIRS : "$out/share"
|
||||
|
||||
mkdir -p "$out/share/aw-server"
|
||||
ln -s "${aw-webui}" "$out/share/aw-server/static"
|
||||
'';
|
||||
env.AW_WEBUI_DIR = aw-webui;
|
||||
|
||||
preCheck = ''
|
||||
# Fake home folder for tests that use ~/.cache and ~/.local/share
|
||||
@ -215,7 +221,9 @@ rec {
|
||||
|
||||
src = "${sources}/aw-server-rust/aw-webui";
|
||||
|
||||
npmDepsHash = "sha256-yds2P2PKfTB6yUGnc+P73InV5+MZP9kmz2ZS4CRqlmA=";
|
||||
npmDepsHash = "sha256-fPk7UpKuO3nEN1w+cf9DIZIG1+XRUk6PJfVmtpC30XE=";
|
||||
|
||||
makeCacheWritable = true;
|
||||
|
||||
patches = [
|
||||
# Hardcode version to avoid the need to have the Git repo available at build time.
|
||||
@ -228,7 +236,7 @@ rec {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mv dist $out
|
||||
cp media/logo/logo.{png,svg} $out/static/
|
||||
mv media/logo/logo.{png,svg} $out
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
|
@ -1,10 +1,12 @@
|
||||
{ lib
|
||||
, symlinkJoin
|
||||
, aw-server-rust
|
||||
, aw-qt
|
||||
, aw-watcher-afk
|
||||
, aw-watcher-window
|
||||
, extraWatchers ? [ ]
|
||||
{
|
||||
lib,
|
||||
symlinkJoin,
|
||||
aw-server-rust,
|
||||
aw-qt,
|
||||
aw-notify,
|
||||
aw-watcher-afk,
|
||||
aw-watcher-window,
|
||||
extraWatchers ? [ ],
|
||||
}:
|
||||
|
||||
symlinkJoin {
|
||||
@ -12,7 +14,19 @@ symlinkJoin {
|
||||
paths = [
|
||||
aw-server-rust.out
|
||||
aw-qt.out
|
||||
aw-notify.out
|
||||
aw-watcher-afk.out
|
||||
aw-watcher-window.out
|
||||
] ++ (lib.forEach extraWatchers (p: p.out));
|
||||
|
||||
meta = with lib; {
|
||||
description = "The best free and open-source automated time tracker";
|
||||
homepage = "https://activitywatch.net/";
|
||||
downloadPage = "https://github.com/ActivityWatch/activitywatch/releases";
|
||||
changelog = "https://github.com/ActivityWatch/activitywatch/releases/tag/v${aw-server-rust.version}";
|
||||
maintainers = with maintainers; [ huantian ];
|
||||
mainProgram = "aw-qt";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.mpl20;
|
||||
};
|
||||
}
|
||||
|
@ -37,8 +37,10 @@ stdenvNoCC.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "Replacement for Terminal and the successor to iTerm";
|
||||
homepage = "https://www.iterm2.com/";
|
||||
hydraPlatforms = []; # The build is little more than copying the binary
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ steinybot tricktron ];
|
||||
platforms = [ "x86_64-darwin" "aarch64-darwin" ];
|
||||
sourceProvenance = [ sourceTypes.binaryNativeCode ];
|
||||
};
|
||||
}
|
||||
|
58
pkgs/by-name/ba/bark-server/package.nix
Normal file
58
pkgs/by-name/ba/bark-server/package.nix
Normal file
@ -0,0 +1,58 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "bark-server";
|
||||
version = "2.1.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Finb";
|
||||
repo = "bark-server";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-lPhRWMR+gConFOxiSONBRrwPoARaGqzaIU3hd3wSO8E=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
cd "$out"
|
||||
git rev-parse HEAD > $out/COMMIT
|
||||
# '0000-00-00T00:00:00Z'
|
||||
date -u -d "@$(git log -1 --pretty=%ct)" "+%Y-%m-%dT%H:%M:%SZ" > $out/SOURCE_DATE_EPOCH
|
||||
find "$out" -name .git -print0 | xargs -0 rm -rf
|
||||
'';
|
||||
};
|
||||
|
||||
vendorHash = "sha256-GemXcU5nmMkZSNpuXoRt9EH5PrxMHWLJ56bNYHXOB9I=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X main.version=${version}"
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
ldflags+=" -X \"main.buildDate=$(cat SOURCE_DATE_EPOCH)\""
|
||||
ldflags+=" -X main.commitID==$(cat COMMIT)"
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
|
||||
versionCheckProgramArg = "-v";
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Backend of Bark, an iOS App which allows you to push customed notifications to your iPhone";
|
||||
homepage = "https://github.com/Finb/bark-server";
|
||||
changelog = "https://github.com/Finb/bark-server/releases/tag/v${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ moraxyc ];
|
||||
mainProgram = "bark-server";
|
||||
};
|
||||
}
|
83
pkgs/by-name/gr/grap/package.nix
Normal file
83
pkgs/by-name/gr/grap/package.nix
Normal file
@ -0,0 +1,83 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
boost,
|
||||
libseccomp,
|
||||
flex,
|
||||
swig,
|
||||
bison,
|
||||
cmake,
|
||||
python3Packages,
|
||||
makeShellWrapper,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "grap";
|
||||
version = "1.3.1";
|
||||
pyproject = false;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "QuoSecGmbH";
|
||||
repo = "grap";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-zLIKoNOdrmTyZkQGRogeKfIRk4kpG0hmeN0519SJbbo=";
|
||||
};
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
setuptools
|
||||
capstone
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
cmake
|
||||
flex
|
||||
swig
|
||||
makeShellWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost.all
|
||||
libseccomp
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DPYTHON_SITE_DIR=${placeholder "out"}/${python3Packages.python.sitePackages}"
|
||||
"../src"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/tools/grap-match/CMakeLists.txt --replace-fail "/usr/local/bin" "$out/bin"
|
||||
|
||||
substituteInPlace src/tools/grap/CMakeLists.txt --replace-fail "/usr/local/bin" "$out/bin"
|
||||
|
||||
substituteInPlace src/bindings/python/CMakeLists.txt --replace-fail "distutils" "setuptools._distutils"
|
||||
|
||||
substituteInPlace src/tools/setup.py --replace-fail "distutils.core" "setuptools"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
cd $out/${python3Packages.python.sitePackages}
|
||||
mv pygrap.so _pygrap.so
|
||||
substituteInPlace pygrap.py \
|
||||
--replace-fail "import imp" "import importlib" \
|
||||
--replace-fail "imp." "importlib."
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Define and match graph patterns within binaries";
|
||||
longDescription = ''
|
||||
grap takes patterns and binary files, uses a Casptone-based disassembler to obtain the control flow graphs from the binaries, then matches the patterns against them.
|
||||
|
||||
Patterns are user-defined graphs with instruction conditions ("opcode is xor and arg1 is eax") and repetition conditions (3 identical instructions, basic blocks...).
|
||||
'';
|
||||
homepage = "https://github.com/QuoSecGmbH/grap/";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ s1341 ];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "grap";
|
||||
};
|
||||
}
|
32
pkgs/by-name/li/liblsl/package.nix
Normal file
32
pkgs/by-name/li/liblsl/package.nix
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
cmake,
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "liblsl";
|
||||
version = "1.16.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sccn";
|
||||
repo = "liblsl";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-nmu7Kxk4U5sGO8Od9JR4id4V4mjeibj4AHjUYhpGPeo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = [ "-DLSL_UNIXFOLDERS=ON" ];
|
||||
|
||||
meta = {
|
||||
description = "C++ lsl library for multi-modal time-synched data transmission over the local network";
|
||||
homepage = "https://github.com/sccn/liblsl";
|
||||
changelog = "https://github.com/sccn/liblsl/blob/${src.rev}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ abcsds ];
|
||||
mainProgram = "liblsl";
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
@ -1,45 +1,60 @@
|
||||
{ alsa-lib
|
||||
, boost
|
||||
, catch2_3
|
||||
, cmake
|
||||
, cryptopp
|
||||
, cpp-jwt
|
||||
, doxygen
|
||||
, enet
|
||||
, fetchzip
|
||||
, fmt
|
||||
, ffmpeg-headless
|
||||
, gamemode
|
||||
, httplib
|
||||
, inih
|
||||
, lib
|
||||
, libGL
|
||||
, libjack2
|
||||
, libpulseaudio
|
||||
, libunwind
|
||||
, libusb1
|
||||
, nlohmann_json
|
||||
, openal
|
||||
, openssl
|
||||
, pipewire
|
||||
, pkg-config
|
||||
, portaudio
|
||||
, sndio
|
||||
, spirv-tools
|
||||
, soundtouch
|
||||
, stdenv
|
||||
, vulkan-headers
|
||||
, vulkan-loader
|
||||
, xorg
|
||||
, zstd
|
||||
, enableSdl2Frontend ? true , SDL2
|
||||
, enableQt ? true , kdePackages
|
||||
, enableQtTranslations ? enableQt
|
||||
, enableCubeb ? true , cubeb
|
||||
, useDiscordRichPresence ? false , rapidjson
|
||||
}: let
|
||||
inherit (lib) optional optionals cmakeBool optionalString getLib makeLibraryPath;
|
||||
in stdenv.mkDerivation (finalAttrs: {
|
||||
{
|
||||
alsa-lib,
|
||||
boost,
|
||||
catch2_3,
|
||||
cmake,
|
||||
cryptopp,
|
||||
cpp-jwt,
|
||||
doxygen,
|
||||
enet,
|
||||
fetchpatch,
|
||||
fetchzip,
|
||||
fmt,
|
||||
ffmpeg_6-headless,
|
||||
gamemode,
|
||||
httplib,
|
||||
inih,
|
||||
lib,
|
||||
libGL,
|
||||
libjack2,
|
||||
libpulseaudio,
|
||||
libunwind,
|
||||
libusb1,
|
||||
nlohmann_json,
|
||||
openal,
|
||||
openssl,
|
||||
pipewire,
|
||||
pkg-config,
|
||||
portaudio,
|
||||
sndio,
|
||||
spirv-tools,
|
||||
soundtouch,
|
||||
stdenv,
|
||||
vulkan-headers,
|
||||
vulkan-loader,
|
||||
xorg,
|
||||
zstd,
|
||||
enableSdl2Frontend ? true,
|
||||
SDL2,
|
||||
enableQt ? true,
|
||||
kdePackages,
|
||||
enableQtTranslations ? enableQt,
|
||||
enableCubeb ? true,
|
||||
cubeb,
|
||||
useDiscordRichPresence ? false,
|
||||
rapidjson,
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
optional
|
||||
optionals
|
||||
cmakeBool
|
||||
optionalString
|
||||
getLib
|
||||
makeLibraryPath
|
||||
;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lime3ds";
|
||||
version = "2118.2";
|
||||
|
||||
@ -52,45 +67,59 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
cmake
|
||||
doxygen
|
||||
pkg-config
|
||||
] ++ lib.optionals enableQt [kdePackages.wrapQtAppsHook];
|
||||
] ++ lib.optionals enableQt [ kdePackages.wrapQtAppsHook ];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
boost
|
||||
catch2_3
|
||||
cryptopp
|
||||
cpp-jwt
|
||||
enet
|
||||
fmt
|
||||
ffmpeg-headless
|
||||
httplib
|
||||
inih
|
||||
libGL
|
||||
libjack2
|
||||
libpulseaudio
|
||||
libunwind
|
||||
libusb1
|
||||
nlohmann_json
|
||||
openal
|
||||
openssl
|
||||
pipewire
|
||||
portaudio
|
||||
SDL2
|
||||
soundtouch
|
||||
sndio
|
||||
spirv-tools
|
||||
vulkan-headers
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
zstd
|
||||
] ++ optionals enableQt (with kdePackages; [
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qttools
|
||||
qtwayland
|
||||
]) ++ optionals enableQtTranslations [kdePackages.qttools]
|
||||
++ optionals enableCubeb [cubeb]
|
||||
++ optional useDiscordRichPresence rapidjson;
|
||||
buildInputs =
|
||||
[
|
||||
alsa-lib
|
||||
boost
|
||||
catch2_3
|
||||
cryptopp
|
||||
cpp-jwt
|
||||
enet
|
||||
fmt
|
||||
ffmpeg_6-headless
|
||||
httplib
|
||||
inih
|
||||
libGL
|
||||
libjack2
|
||||
libpulseaudio
|
||||
libunwind
|
||||
libusb1
|
||||
nlohmann_json
|
||||
openal
|
||||
openssl
|
||||
pipewire
|
||||
portaudio
|
||||
SDL2
|
||||
soundtouch
|
||||
sndio
|
||||
spirv-tools
|
||||
vulkan-headers
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
zstd
|
||||
]
|
||||
++ optionals enableQt (
|
||||
with kdePackages;
|
||||
[
|
||||
qtbase
|
||||
qtmultimedia
|
||||
qttools
|
||||
qtwayland
|
||||
]
|
||||
)
|
||||
++ optionals enableQtTranslations [ kdePackages.qttools ]
|
||||
++ optionals enableCubeb [ cubeb ]
|
||||
++ optional useDiscordRichPresence rapidjson;
|
||||
|
||||
patches = [
|
||||
# FIXME: this patch fixes the build with newer QT versions, remove it when the new version gets released
|
||||
(fetchpatch {
|
||||
url = "https://patch-diff.githubusercontent.com/raw/Lime3DS/Lime3DS/pull/441.patch";
|
||||
hash = "sha256-NKJ3fmh5kY/DaTCVbIz1dvJrvK5IbJt1eogrbXWciCI=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Fix file not found when looking in var/empty instead of opt
|
||||
@ -106,35 +135,40 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
--replace-fail "libgamemode.so.0" "${getLib gamemode}/lib/libgamemode.so.0"
|
||||
'';
|
||||
|
||||
postInstall = let
|
||||
libs = makeLibraryPath [ vulkan-loader ];
|
||||
in optionalString enableSdl2Frontend ''
|
||||
for binfile in lime3ds lime3ds-room
|
||||
do
|
||||
wrapProgram "$out/bin/$binfile" \
|
||||
--prefix LD_LIBRARY_PATH : ${libs}
|
||||
'' + optionalString enableQt ''
|
||||
qtWrapperArgs+=(
|
||||
--prefix LD_LIBRARY_PATH : ${libs}
|
||||
)
|
||||
done
|
||||
'';
|
||||
postInstall =
|
||||
let
|
||||
libs = makeLibraryPath [ vulkan-loader ];
|
||||
in
|
||||
optionalString enableSdl2Frontend ''
|
||||
for binfile in lime3ds lime3ds-room
|
||||
do
|
||||
wrapProgram "$out/bin/$binfile" \
|
||||
--prefix LD_LIBRARY_PATH : ${libs}
|
||||
''
|
||||
+ optionalString enableQt ''
|
||||
qtWrapperArgs+=(
|
||||
--prefix LD_LIBRARY_PATH : ${libs}
|
||||
)
|
||||
done
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
(cmakeBool "LIME3DS_USE_PRECOMPILED_HEADERS" false)
|
||||
(cmakeBool "USE_SYSTEM_LIBS" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_DYNARMIC" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_GLSLANG" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_LODEPNG" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_VMA" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_XBYAK" true)
|
||||
(cmakeBool "ENABLE_QT" enableQt)
|
||||
(cmakeBool "ENABLE_SDL2_FRONTEND" enableSdl2Frontend)
|
||||
(cmakeBool "ENABLE_CUBEB" enableCubeb)
|
||||
(cmakeBool "USE_DISCORD_PRESENCE" useDiscordRichPresence)
|
||||
] ++ optionals enableQt [
|
||||
(cmakeBool "ENABLE_QT_TRANSLATION" enableQtTranslations)
|
||||
];
|
||||
cmakeFlags =
|
||||
[
|
||||
(cmakeBool "LIME3DS_USE_PRECOMPILED_HEADERS" false)
|
||||
(cmakeBool "USE_SYSTEM_LIBS" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_DYNARMIC" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_GLSLANG" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_LODEPNG" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_VMA" true)
|
||||
(cmakeBool "DISABLE_SYSTEM_XBYAK" true)
|
||||
(cmakeBool "ENABLE_QT" enableQt)
|
||||
(cmakeBool "ENABLE_SDL2_FRONTEND" enableSdl2Frontend)
|
||||
(cmakeBool "ENABLE_CUBEB" enableCubeb)
|
||||
(cmakeBool "USE_DISCORD_PRESENCE" useDiscordRichPresence)
|
||||
]
|
||||
++ optionals enableQt [
|
||||
(cmakeBool "ENABLE_QT_TRANSLATION" enableQtTranslations)
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "A Nintendo 3DS emulator based on Citra";
|
||||
|
@ -32,20 +32,16 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-X2rtHAZ9vbWjuOmD3B/uPasUQ1Q+b4SkNqk4MqGMaYo=";
|
||||
};
|
||||
patches = [
|
||||
# Fix build errors from deprecated QByteArray::count()
|
||||
# Fix build errors from deprecated `QByteArray::count()`, `QVariant::type()`, `QEventPoint::pos()` (#9961)
|
||||
(fetchpatch {
|
||||
url = "https://github.com/mozilla-mobile/mozilla-vpn-client/pull/9961/commits/1b358d27d4bf29567b5d58f3591146bf639b99e1.patch";
|
||||
hash = "sha256-LeDgwZaQDgS8HNf9k2fC0RYQy4nGEq0DMNjY7muNads=";
|
||||
url = "https://github.com/mozilla-mobile/mozilla-vpn-client/commit/b4077b9927d9208118e81694dce490dac2f0e76f.patch";
|
||||
hash = "sha256-Vx7aHEBxubthqsmH37ZZDJDPI9jE9vS/p+JNJP6eUlI=";
|
||||
})
|
||||
# Fix build errors from deprecated QVariant::type()
|
||||
# Re:#9966 Fix Crash in MZFlickable
|
||||
(fetchpatch {
|
||||
url = "https://github.com/mozilla-mobile/mozilla-vpn-client/pull/9961/commits/ebdd38ce19ef6eb80f076acf93299bd7d24ae6db.patch";
|
||||
hash = "sha256-ZWl0wHH5Foxlttj/GK5phr/C6qJv39U2GWIofZR+Rto=";
|
||||
})
|
||||
# Fix build errors from deprecated QEventPoint::pos and friends
|
||||
(fetchpatch {
|
||||
url = "https://github.com/mozilla-mobile/mozilla-vpn-client/pull/9961/commits/10b1c98517dac4eacffd6890c551b817aedd4a19.patch";
|
||||
hash = "sha256-DHOtvVDEdQ+k2ggg4HGpcv1EmKzlijNRTi1yJ7a1bWU=";
|
||||
url = "https://github.com/mozilla-mobile/mozilla-vpn-client/pull/9984/commits/485a2ad8feab6b1dee7c672ce03736d819fd9d37.patch";
|
||||
includes = [ "nebula/ui/components/MZFlickable.qml" ];
|
||||
hash = "sha256-fnOXBTsuQC3kqAvHgoJ7rRGX5ra0R/MO8M9Ysys/l7Q=";
|
||||
})
|
||||
];
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
libglut,
|
||||
gtk2,
|
||||
libGLU,
|
||||
darwin,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@ -26,18 +27,30 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
libglut
|
||||
gtk2
|
||||
libGLU
|
||||
];
|
||||
buildInputs =
|
||||
[
|
||||
libglut
|
||||
libGLU
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ gtk2 ]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace tools/tinyxml/Makefile.linux \
|
||||
--replace-warn "-Wno-format" "-Wno-format -Wno-format-security"
|
||||
substituteInPlace tools/Makefile.linux \
|
||||
--replace-warn "-lglut" "-lglut -lGL -lGLU"
|
||||
'';
|
||||
postPatch =
|
||||
lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
substituteInPlace "tools/tinyxml/Makefile.linux" \
|
||||
--replace-warn "-Wno-format" "-Wno-format -Wno-format-security"
|
||||
substituteInPlace "tools/Makefile.linux" \
|
||||
--replace-warn "-lglut" "-lglut -lGL -lGLU"
|
||||
''
|
||||
+ lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace "lib/Makefile.macosx" \
|
||||
"tools/Makefile.macosx" \
|
||||
"tools/jpeg/makefile.macosx" \
|
||||
"tools/zlib/Makefile.macosx" \
|
||||
--replace-warn "gcc" "${stdenv.cc.targetPrefix}cc"
|
||||
substituteInPlace "lib/Makefile.macosx" "tools/Makefile.macosx" "tools/tinyxml/Makefile.macosx" \
|
||||
--replace-warn "g++" "${stdenv.cc.targetPrefix}c++"
|
||||
'';
|
||||
|
||||
makeFlags = [
|
||||
"BINDIR=$(bin)/bin/"
|
||||
|
@ -5,7 +5,7 @@
|
||||
}:
|
||||
let
|
||||
pname = "opengfw";
|
||||
version = "0.4.0";
|
||||
version = "0.4.1";
|
||||
in
|
||||
buildGoModule {
|
||||
inherit pname version;
|
||||
@ -16,7 +16,7 @@ buildGoModule {
|
||||
owner = "apernet";
|
||||
repo = "opengfw";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-kmbG6l5CtZGM/zpvl2pukq5xsOIy28RDyb4sHBsoyOw=";
|
||||
hash = "sha256-6PFfsPfLzzeaImcteX9u/k5pwe3cvSQwT90TCizA3gI=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
30
pkgs/by-name/pa/parpd/package.nix
Normal file
30
pkgs/by-name/pa/parpd/package.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "parpd";
|
||||
version = "2.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NetworkConfiguration";
|
||||
repo = "parpd";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-6qmoAW9jm7xMRHZUMQLpe0N+UeVnQP8dC4+Iq+d5Eaw=";
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://roy.marples.name/projects/parpd";
|
||||
changelog = "https://github.com/NetworkConfiguration/parpd/releases/tag/v${finalAttrs.version}";
|
||||
description = "Proxy ARP Daemon that complies with RFC 1027";
|
||||
maintainers = with lib.maintainers; [ bot-wxt1221 ];
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.bsd2;
|
||||
mainProgram = "parpd";
|
||||
};
|
||||
})
|
@ -2,6 +2,8 @@
|
||||
, bash
|
||||
, coreutils
|
||||
, fetchFromGitHub
|
||||
, gnused
|
||||
, gnugrep
|
||||
, gawk
|
||||
, makeWrapper
|
||||
, pulseaudio
|
||||
@ -28,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
install -Dm755 pulseaudio-control.bash $out/bin/pulseaudio-control
|
||||
wrapProgram "$out/bin/pulseaudio-control" \
|
||||
--prefix PATH : "${lib.makeBinPath [ bash coreutils gawk pulseaudio ]}"
|
||||
--prefix PATH : "${lib.makeBinPath [ bash coreutils gnused gnugrep gawk pulseaudio ]}"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
@ -39,6 +41,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
homepage = "https://github.com/marioortizmanero/polybar-pulseaudio-control";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ benlemasurier ];
|
||||
maintainers = with maintainers; [ benlemasurier wesleyjrz ];
|
||||
};
|
||||
})
|
||||
|
109
pkgs/by-name/q2/q2pro/package.nix
Normal file
109
pkgs/by-name/q2/q2pro/package.nix
Normal file
@ -0,0 +1,109 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
meson,
|
||||
pkg-config,
|
||||
ninja,
|
||||
zlib,
|
||||
libpng,
|
||||
libjpeg,
|
||||
curl,
|
||||
SDL2,
|
||||
openalSoft,
|
||||
libogg,
|
||||
libvorbis,
|
||||
libXi,
|
||||
wayland,
|
||||
wayland-protocols,
|
||||
libdecor,
|
||||
ffmpeg,
|
||||
wayland-scanner,
|
||||
makeWrapper,
|
||||
versionCheckHook,
|
||||
x11Support ? stdenv.isLinux,
|
||||
waylandSupport ? stdenv.isLinux,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
pname = "q2pro";
|
||||
version = "3510";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skullernet";
|
||||
repo = "q2pro";
|
||||
rev = "refs/tags/r${version}";
|
||||
hash = "sha256-LNOrGJarXnf4QqFXDkUfUgLGrjSqbjncpIN2yttbMuk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs =
|
||||
[
|
||||
meson
|
||||
pkg-config
|
||||
ninja
|
||||
makeWrapper
|
||||
]
|
||||
++ lib.optionals waylandSupport [
|
||||
wayland-scanner
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
zlib
|
||||
libpng
|
||||
libjpeg
|
||||
curl
|
||||
SDL2
|
||||
libogg
|
||||
libvorbis
|
||||
ffmpeg
|
||||
openalSoft
|
||||
]
|
||||
++ lib.optionals waylandSupport [
|
||||
wayland
|
||||
wayland-protocols
|
||||
libdecor
|
||||
]
|
||||
++ lib.optionals x11Support [ libXi ];
|
||||
|
||||
mesonBuildType = "release";
|
||||
|
||||
mesonFlags = [
|
||||
(lib.mesonBool "anticheat-server" true)
|
||||
(lib.mesonBool "client-gtv" true)
|
||||
(lib.mesonBool "packetdup-hack" true)
|
||||
(lib.mesonBool "variable-fps" true)
|
||||
(lib.mesonEnable "wayland" waylandSupport)
|
||||
(lib.mesonEnable "x11" x11Support)
|
||||
(lib.mesonEnable "icmp-errors" stdenv.isLinux)
|
||||
(lib.mesonEnable "windows-crash-dumps" false)
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
echo 'r${version}' > VERSION
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
let
|
||||
ldLibraryPathEnvName =
|
||||
if stdenv.hostPlatform.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
|
||||
in
|
||||
''
|
||||
mv -v $out/bin/q2pro $out/bin/q2pro-unwrapped
|
||||
makeWrapper $out/bin/q2pro-unwrapped $out/bin/q2pro \
|
||||
--prefix ${ldLibraryPathEnvName} : "${lib.makeLibraryPath finalAttrs.buildInputs}"
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgramArg = "--version";
|
||||
doInstallCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Enhanced Quake 2 client and server focused on multiplayer";
|
||||
homepage = "https://github.com/skullernet/q2pro";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = with lib.maintainers; [ carlossless ];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "q2pro";
|
||||
};
|
||||
})
|
476
pkgs/by-name/sk/skeditor/nuget-deps.nix
Normal file
476
pkgs/by-name/sk/skeditor/nuget-deps.nix
Normal file
@ -0,0 +1,476 @@
|
||||
# This file was automatically generated by passthru.fetch-deps.
|
||||
# Please dont edit it manually, your changes might get overwritten!
|
||||
|
||||
{ fetchNuGet }:
|
||||
[
|
||||
(fetchNuGet {
|
||||
pname = "AsyncImageLoader.Avalonia";
|
||||
version = "3.3.0";
|
||||
hash = "sha256-blhfKI+vX+ojT2cOvSHu3Kp2CuxvhW/l+as88Dia4bA=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-kz+k/vkuWoL0XBvRT8SadMOmmRCFk9W/J4k/IM6oYX0=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Angle.Windows.Natives";
|
||||
version = "2.1.22045.20230930";
|
||||
hash = "sha256-RxPcWUT3b/+R3Tu5E5ftpr5ppCLZrhm+OTsi0SwW3pc=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.BuildServices";
|
||||
version = "0.0.29";
|
||||
hash = "sha256-WPHRMNowRnYSCh88DWNBCltWsLPyOfzXGzBqLYE7tRY=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Controls.ColorPicker";
|
||||
version = "11.0.0";
|
||||
hash = "sha256-xzbJvbOYGHtd8rtKgsMTtOarbVQ8mIvs7IruODv8jxs=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Controls.ColorPicker";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-xawQhivop0f7n98Xqj5fScDdF0RPPpVIoTpVs+p6T3Q=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Controls.ColorPicker";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-W17Wvmi8/47cf5gCF3QRcaKLz0ZpXtZYCCkaERkbyXU=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Controls.DataGrid";
|
||||
version = "11.0.0";
|
||||
hash = "sha256-Ukvt2JebIWb+y1x77EAVl2Nbay92OX30k5TdwElvjGI=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Controls.DataGrid";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-CcfwmgbN+Z/uqNtgKRH2KFJwomnnkWVhZbTPF2K0Oeg=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Controls.DataGrid";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-OOKTovi5kckn0x/8dMcq56cvq57UVMLzA9LRXDxm2Vc=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Controls.ItemsRepeater";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-1CbelZlb3BwMp9Faen/CQLEPBHko79uNqEtCWNf6yA0=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Desktop";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-mNFscbtyqLlodzGa3SJ3oVY467JjWwY45LxZiKDAn/w=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Diagnostics";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-PD9ZIeBZJrLaVDjmWBz4GocrdUSNUou11gAERU+xWDo=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Fonts.Inter";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-OKQokPLo8/vAoJl4mAiUgQT5z5zwico4WqPOR+CbYuA=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.FreeDesktop";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-nUBhSRE0Bly3dVC14wXwU19vP3g0VbE4bCUohx7DCVI=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Markup.Xaml.Loader";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-4ZzcK4XRyKokwd4IfxicQ7GNfJT8ztwYnAFFEhKOIzg=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Native";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-byAVGW7XgkyzDj1TnqaCeDU/xTD9z8ACGrSJgwJ+XXs=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Remote.Protocol";
|
||||
version = "11.0.0";
|
||||
hash = "sha256-gkVpdbk/0RDM7Hhq0jwZwltDpTsGRmbX+ZFTjWYYoKw=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Remote.Protocol";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-MAguJ8qTdwvgtEq5SYxyzFNsC90gcBfZxXPkFBEWx5E=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Remote.Protocol";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-CKF+62zCbK1Rd/HiC6MGrags3ylXrVQ1lni3Um0Muqk=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Skia";
|
||||
version = "11.0.0";
|
||||
hash = "sha256-A01nrs3Ij1eTo6tPmu7++T1K+Wo/H/9LvpeuOUGbQeU=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Skia";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-w4ozV8lIs5vxoYP5D5Lut2iTMiJKVPbjdtqDB1sb0MI=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Skia";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-EtB86g+nz6i8wL6xytMkYl2Ehgt3GFMMNPzQfhbfopM=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Svg.Skia";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-6TvmqslBd3l2Fd+HFCyY381EUkCNUGAqzNKEYwQf9qg=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Themes.Fluent";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-qfmRK2gLGSgHx4dNIeVesWxLUjcook9ET2xru/Xyiw8=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Themes.Simple";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-Q6jL5J/6aBtOY85I641RVp8RpuqJbPy6C6LxnRkFtMM=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Win32";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-zcxTpEnpLf50p8Yaiylk5/CS9MNDe7lK1uX1CPaJBUc=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.X11";
|
||||
version = "11.1.3";
|
||||
hash = "sha256-M2+y661/znDxZRdwNRIQi4mS2m6T4kQkBbYeE7KyQAw=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Xaml.Behaviors";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-+QzOb0/GpWmUrZDHJvoPnmzugyr5KJyz1jrXRbHGNPY=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Xaml.Interactions";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-+dxsxoJmpNdMWmiUgsiNnmko0zp1rAImXQ2Rf44lE7E=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Xaml.Interactions.Custom";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-2nLEU+0UQ9DflsHM9Ijv1Y4YCBHOHxA01zsAivay0hA=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Xaml.Interactions.DragAndDrop";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-LQyCsZDqTheFUpCeZ/Ib5rejFZmg3Q0ppZTTjFPE81o=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Xaml.Interactions.Draggable";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-1gU9iZj11/+MmHq9unAueC73tV6hrNGRlsx17eAqDCY=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Xaml.Interactions.Events";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-bF0cOfw9XejLowrMA3CwRzNvopateW4a7eF70bvU8wc=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Xaml.Interactions.Responsive";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-SMqp2YjiImfxaY1f60E15Z5Cfi3oD0G70MjZ3kCDqJ8=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Avalonia.Xaml.Interactivity";
|
||||
version = "11.1.0";
|
||||
hash = "sha256-QO/ft2Qgjt1haSu3IX3q15XyowLuyDgoA9jvcqEpVWg=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "CommunityToolkit.Mvvm";
|
||||
version = "8.2.2";
|
||||
hash = "sha256-vdprWEw+J6yJZLWZTUFTrQAHWLuPVXPBaYmePD7kcwY=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "DiscordRichPresence";
|
||||
version = "1.2.1.24";
|
||||
hash = "sha256-oRNrlF1/yK0QvrW2+48RsmSg9h9/pDIfA56/bpoHXFU=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "ExCSS";
|
||||
version = "4.2.3";
|
||||
hash = "sha256-M/H6P5p7qqdFz/fgAI2MMBWQ7neN/GIieYSSxxjsM9I=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "FluentAvaloniaUI";
|
||||
version = "2.0.0";
|
||||
hash = "sha256-LyBiRiv/mbp4mDpLmGD665l+kxEK9XiuKgcqpRi6cDg=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "FluentIcons.Avalonia.Fluent";
|
||||
version = "1.1.253";
|
||||
hash = "sha256-jn7i8LQPlBTPbnsb9F7O4utOd4E7pmdGx5TDkKjv4gs=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "FluentIcons.Common";
|
||||
version = "1.1.253";
|
||||
hash = "sha256-P0Segg1nxsgfU4TZjjcU6koL5ktYxEZ8svFyc10O714=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "HarfBuzzSharp";
|
||||
version = "2.8.2.3";
|
||||
hash = "sha256-4tbdgUabPjlkBm3aUFeocj4Fdslmms2olDFpzOLyqoQ=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "HarfBuzzSharp";
|
||||
version = "7.3.0.2";
|
||||
hash = "sha256-ibgoqzT1NV7Qo5e7X2W6Vt7989TKrkd2M2pu+lhSDg8=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "HarfBuzzSharp.NativeAssets.Linux";
|
||||
version = "2.8.2.3";
|
||||
hash = "sha256-3xwVfNfKTkuLdnT+e3bfG9tNTdEmar7ByzY+NTlUKLg=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "HarfBuzzSharp.NativeAssets.Linux";
|
||||
version = "7.3.0.2";
|
||||
hash = "sha256-SSfyuyBaduGobJW+reqyioWHhFWsQ+FXa2Gn7TiWxrU=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "HarfBuzzSharp.NativeAssets.macOS";
|
||||
version = "2.8.2.3";
|
||||
hash = "sha256-ZohUEaovj/sRB4rjuJIOq6S9eim3m+qMlpHIebNDTRQ=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "HarfBuzzSharp.NativeAssets.macOS";
|
||||
version = "7.3.0.2";
|
||||
hash = "sha256-dmEqR9MmpCwK8AuscfC7xUlnKIY7+Nvi06V0u5Jff08=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "HarfBuzzSharp.NativeAssets.WebAssembly";
|
||||
version = "2.8.2.3";
|
||||
hash = "sha256-ZsiBGpXfODHUHPgU/50k9QR/j6Klo7rsB0SUt8zYcBA=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "HarfBuzzSharp.NativeAssets.WebAssembly";
|
||||
version = "7.3.0.2";
|
||||
hash = "sha256-aEZr9uKAlCTeeHoYNR1Rs6L3P54765CemyrgJF8x09c=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "HarfBuzzSharp.NativeAssets.Win32";
|
||||
version = "2.8.2.3";
|
||||
hash = "sha256-5GSzM5IUoOwK+zJg0d74WlT3n1VZly8pKlyjiqVocCI=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "HarfBuzzSharp.NativeAssets.Win32";
|
||||
version = "7.3.0.2";
|
||||
hash = "sha256-x4iM3NHs9VyweG57xA74yd4uLuXly147ooe0mvNQ8zo=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "MicroCom.CodeGenerator.MSBuild";
|
||||
version = "0.11.0";
|
||||
hash = "sha256-TsxziX9V8T3qRrEA3o9wY84ocDcUUUBzvARi5QZW23o=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "MicroCom.Runtime";
|
||||
version = "0.11.0";
|
||||
hash = "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Microsoft.NETCore.Platforms";
|
||||
version = "2.0.0";
|
||||
hash = "sha256-IEvBk6wUXSdyCnkj6tHahOJv290tVVT8tyemYcR0Yro=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Microsoft.Win32.Registry";
|
||||
version = "4.5.0";
|
||||
hash = "sha256-WMBXsIb0DgPFPaFkNVxY9b9vcMxPqtgFgijKYMJfV/0=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Newtonsoft.Json";
|
||||
version = "13.0.3";
|
||||
hash = "sha256-hy/BieY4qxBWVVsDqqOPaLy1QobiIapkbrESm6v2PHc=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NuGet.Common";
|
||||
version = "6.11.0";
|
||||
hash = "sha256-eb7G07RyZv4AQT6ItRqdBuUf9e9BXcQygsy5RNEXfNE=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NuGet.Configuration";
|
||||
version = "6.11.0";
|
||||
hash = "sha256-2SNZkX64SB15glzQx3k+vI7btr8Yqg4CayaaaK1B0AQ=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NuGet.Frameworks";
|
||||
version = "6.11.0";
|
||||
hash = "sha256-8DC7V2IlCjiMDQ9yWbl7QQHia6OpBrbWh5rL0qa0Opw=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NuGet.Packaging";
|
||||
version = "6.11.0";
|
||||
hash = "sha256-LVLvxcB6SMdayxAsrc5bCuLLt25fqPr6KfYcYoWWIQk=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NuGet.Protocol";
|
||||
version = "6.11.0";
|
||||
hash = "sha256-3vdB/8IiJ2LMHhFXLWOzf0H59Ow/zcoq6W4uCHbihCQ=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "NuGet.Versioning";
|
||||
version = "6.11.0";
|
||||
hash = "sha256-03edgWvbqUtbzpBBTIxTwsSRoj1T2muGVL+vTuIHXag=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Octokit";
|
||||
version = "13.0.1";
|
||||
hash = "sha256-uxQC+bbmWloIdwndqWUb+FY8iAUsPgxzqfw41EPWuAU=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Serilog";
|
||||
version = "4.0.0";
|
||||
hash = "sha256-j8hQ5TdL1TjfdGiBO9PyHJFMMPvATHWN1dtrrUZZlNw=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Serilog.Sinks.File";
|
||||
version = "6.0.0";
|
||||
hash = "sha256-KQmlUpG9ovRpNqKhKe6rz3XMLUjkBqjyQhEm2hV5Sow=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "ShimSkiaSharp";
|
||||
version = "2.0.0";
|
||||
hash = "sha256-xW0amMDf1ExXs9SBP9S3Slgl4SiGjSkCiLErZ1hlGNM=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkAvaloniaEdit";
|
||||
version = "11.0.7";
|
||||
hash = "sha256-n3CDyDR4EangE4v/D64shPFGqgqidXX+J+8v8aUba1c=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkFluentAvalonia";
|
||||
version = "2.0.5.3";
|
||||
hash = "sha256-PeJNoM2BG8LeL3bwOOyUwDd65GEjJSR8dqKLLcCGhnk=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkiaSharp";
|
||||
version = "2.88.3";
|
||||
hash = "sha256-WyMAjnQt8ZsuWpGLI89l/f4bHvv+cg7FdTAL7CtJBvs=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkiaSharp";
|
||||
version = "2.88.8";
|
||||
hash = "sha256-rD5gc4SnlRTXwz367uHm8XG5eAIQpZloGqLRGnvNu0A=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkiaSharp.HarfBuzz";
|
||||
version = "2.88.8";
|
||||
hash = "sha256-W9jNuEo/8q+k2aHNC19FfKcBUIEWx2zDcGwM+jDZ1o8=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkiaSharp.NativeAssets.Linux";
|
||||
version = "2.88.3";
|
||||
hash = "sha256-eExWAAURgnwwm2fRwsK/rf+TeOAPs2n02XZzC0zeUjU=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkiaSharp.NativeAssets.Linux";
|
||||
version = "2.88.8";
|
||||
hash = "sha256-fOmNbbjuTazIasOvPkd2NPmuQHVCWPnow7AxllRGl7Y=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkiaSharp.NativeAssets.macOS";
|
||||
version = "2.88.3";
|
||||
hash = "sha256-8G4swiLMr6XS3kjfO/YC1PyoVdfSq7nxZthZZ+KTKqQ=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkiaSharp.NativeAssets.macOS";
|
||||
version = "2.88.8";
|
||||
hash = "sha256-CdcrzQHwCcmOCPtS8EGtwsKsgdljnH41sFytW7N9PmI=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkiaSharp.NativeAssets.WebAssembly";
|
||||
version = "2.88.3";
|
||||
hash = "sha256-/SkV2pIZnt0ziSKB7gt7U2Rltk2Id+zOzbmqgfWUtvA=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkiaSharp.NativeAssets.WebAssembly";
|
||||
version = "2.88.8";
|
||||
hash = "sha256-GWWsE98f869LiOlqZuXMc9+yuuIhey2LeftGNk3/z3w=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkiaSharp.NativeAssets.Win32";
|
||||
version = "2.88.3";
|
||||
hash = "sha256-2PhMTwRHitT13KCKiZltKIFieAvNY4jBmVZ2ndVynA8=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SkiaSharp.NativeAssets.Win32";
|
||||
version = "2.88.8";
|
||||
hash = "sha256-b8Vb94rNjwPKSJDQgZ0Xv2dWV7gMVFl5GwTK/QiZPPM=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "SpacedGrid-Avalonia";
|
||||
version = "11.0.0";
|
||||
hash = "sha256-U4WezNpOWtdaK6wh0tVRLoK31mLCdFWVB1xLqok9izw=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Svg.Custom";
|
||||
version = "2.0.0";
|
||||
hash = "sha256-/iy8eithVIqzSA9p5zj1igiu47mX0KhMQiM0l6gRFFY=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Svg.Model";
|
||||
version = "2.0.0";
|
||||
hash = "sha256-ThGAwPyEv/ZLfRu9LRU91RO13T+MPED/i+ojOOZkCYM=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Svg.Skia";
|
||||
version = "2.0.0";
|
||||
hash = "sha256-wjVvUQTZD1f5TGk4ytJCJTXzkwKp04kXxN/OXxhrLB4=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "System.Formats.Asn1";
|
||||
version = "6.0.0";
|
||||
hash = "sha256-KaMHgIRBF7Nf3VwOo+gJS1DcD+41cJDPWFh+TDQ8ee8=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "System.IO.Pipelines";
|
||||
version = "6.0.0";
|
||||
hash = "sha256-xfjF4UqTMJpf8KsBWUyJlJkzPTOO/H5MW023yTYNQSA=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "System.Numerics.Vectors";
|
||||
version = "4.5.0";
|
||||
hash = "sha256-qdSTIFgf2htPS+YhLGjAGiLN8igCYJnCCo6r78+Q+c8=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "System.Reactive";
|
||||
version = "6.0.0";
|
||||
hash = "sha256-hXB18OsiUHSCmRF3unAfdUEcbXVbG6/nZxcyz13oe9Y=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "System.Security.AccessControl";
|
||||
version = "4.5.0";
|
||||
hash = "sha256-AFsKPb/nTk2/mqH/PYpaoI8PLsiKKimaXf+7Mb5VfPM=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "System.Security.Cryptography.Pkcs";
|
||||
version = "6.0.4";
|
||||
hash = "sha256-2e0aRybote+OR66bHaNiYpF//4fCiaO3zbR2e9GABUI=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "System.Security.Cryptography.ProtectedData";
|
||||
version = "4.4.0";
|
||||
hash = "sha256-Ri53QmFX8I8UH0x4PikQ1ZA07ZSnBUXStd5rBfGWFOE=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "System.Security.Principal.Windows";
|
||||
version = "4.5.0";
|
||||
hash = "sha256-BkUYNguz0e4NJp1kkW7aJBn3dyH9STwB5N8XqnlCsmY=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "System.Threading.AccessControl";
|
||||
version = "9.0.0-preview.5.24306.7";
|
||||
hash = "sha256-8jEX2o0vT8hYcZn54U4ryXEpj49DSQPV4eeTWmTGYgE=";
|
||||
})
|
||||
(fetchNuGet {
|
||||
pname = "Tmds.DBus.Protocol";
|
||||
version = "0.16.0";
|
||||
hash = "sha256-vKYEaa1EszR7alHj48R8G3uYArhI+zh2ZgiBv955E98=";
|
||||
})
|
||||
]
|
34
pkgs/by-name/sk/skeditor/package.nix
Normal file
34
pkgs/by-name/sk/skeditor/package.nix
Normal file
@ -0,0 +1,34 @@
|
||||
{
|
||||
lib,
|
||||
buildDotnetModule,
|
||||
fetchFromGitHub,
|
||||
dotnetCorePackages,
|
||||
}:
|
||||
buildDotnetModule rec {
|
||||
pname = "skeditor";
|
||||
version = "2.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skeditorteam";
|
||||
repo = "skeditor";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ojE276nonX52UTjvdKL5mX8dj3MNElqlR1A/c0vT9WE=";
|
||||
};
|
||||
|
||||
projectFile = "SkEditor/SkEditor.csproj";
|
||||
executables = [ "SkEditor" ];
|
||||
nugetDeps = ./nuget-deps.nix;
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_8_0;
|
||||
dotnet-runtime = dotnetCorePackages.runtime_8_0;
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = {
|
||||
description = "App for editing Skript files";
|
||||
homepage = "https://github.com/SkEditorTeam/SkEditor";
|
||||
changelog = "https://github.com/SkEditorTeam/SkEditor/releases/tag/v${version}";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ eveeifyeve ];
|
||||
};
|
||||
}
|
16
pkgs/by-name/sk/skeditor/update.sh
Normal file
16
pkgs/by-name/sk/skeditor/update.sh
Normal file
@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -I nixpkgs=./. -i bash -p curl jq common-updater-scripts gnused nix coreutils
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
latestVersion="$(curl -s "https://api.github.com/repos/SkEditorTeam/skEditor/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')"
|
||||
currentVersion=$(nix-instantiate --eval -E "with import ./. {}; skeditor.version or (lib.getVersion skeditor)" | tr -d '"')
|
||||
|
||||
if [[ "$currentVersion" == "$latestVersion" ]]; then
|
||||
echo "skeditor is up-to-date: $currentVersion"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
update-source-version skeditor "$latestVersion"
|
||||
|
||||
$(nix-build . -A skeditor.fetch-deps --no-out-link)
|
69
pkgs/by-name/ta/tabby-agent/package.nix
Normal file
69
pkgs/by-name/ta/tabby-agent/package.nix
Normal file
@ -0,0 +1,69 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
nix-update-script,
|
||||
nodejs,
|
||||
pnpm,
|
||||
wrapGAppsHook3,
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tabby-agent";
|
||||
version = "0.18.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "TabbyML";
|
||||
repo = "tabby";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-8clEBWAT+HI2eecOsmldgRcA58Ehq9bZT4ZwUMm494g=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pnpm.configHook
|
||||
wrapGAppsHook3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
nodejs
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
pnpm --filter=tabby-agent build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp -r ./clients/tabby-agent/dist $out/dist
|
||||
ln -s $out/dist/node/index.js $out/bin/tabby-agent
|
||||
chmod +x $out/bin/tabby-agent
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-WBhkrgLTTR5f8ZVmUfzMbFw/6jIGoLcUspHCsNpOxx4=";
|
||||
};
|
||||
|
||||
passthru.updateScript = nix-update-script {
|
||||
extraArgs = [
|
||||
"--version-regex"
|
||||
"^v([0-9.]+)$"
|
||||
];
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/TabbyML/tabby";
|
||||
changelog = "https://github.com/TabbyML/tabby/releases/tag/v${finalAttrs.version}";
|
||||
description = "Language server used to communicate with Tabby server";
|
||||
mainProgram = "tabby-agent";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = [ lib.maintainers.khaneliman ];
|
||||
};
|
||||
})
|
@ -1,6 +1,6 @@
|
||||
{ lib, stdenv, fetchurl, Libsystem }:
|
||||
let
|
||||
version = "110.95";
|
||||
version = "110.99.6.1";
|
||||
baseurl = "http://smlnj.cs.uchicago.edu/dist/working/${version}";
|
||||
|
||||
arch = if stdenv.hostPlatform.is64bit
|
||||
@ -8,9 +8,9 @@ let
|
||||
else "32";
|
||||
|
||||
boot32 = { url = "${baseurl}/boot.x86-unix.tgz";
|
||||
sha256 = "07bcrvjphyin1ygjbymcqhd1mbfk4hff82wmxcllh77lr28l5dxf"; };
|
||||
hash = "sha256-2yBY0wGZ8B1jYC5os9SfH6eKJoWlQ4rAclBC3Pnacoc="; };
|
||||
boot64 = { url = "${baseurl}/boot.amd64-unix.tgz";
|
||||
sha256 = "1zn96a83kb6bn6228yfjsvb58m2qxw9k4j3qz0p9c8za479w4ch6"; };
|
||||
hash = "sha256-kUabK03MdSYVRWhWKl3kS32SExUYpM3MtLU0mCxhiaQ="; };
|
||||
|
||||
bootBinary = if stdenv.hostPlatform.is64bit
|
||||
then boot64
|
||||
@ -18,44 +18,32 @@ let
|
||||
|
||||
sources = map fetchurl [
|
||||
bootBinary
|
||||
{ url = "${baseurl}/config.tgz"; sha256 = "09srqxkxl86iaz6l6dz83c1apsac0pxpfq6b74i6l0nfl261jibw"; }
|
||||
{ url = "${baseurl}/cm.tgz"; sha256 = "0gh8inrb07z597axw8qipwyx52m8nac5d5r0rvgzvdnnjg9nr9zy"; }
|
||||
{ url = "${baseurl}/compiler.tgz"; sha256 = "1kk6jwzyc261l5nii3n8rwccmgvcj1mg5fgycfsfsiyyy1v8xfx7"; }
|
||||
{ url = "${baseurl}/runtime.tgz"; sha256 = "17i069h5cv411sgzx3ynlf4v3wlrxiba9bwy1b0x0cyhs879kppc"; }
|
||||
{ url = "${baseurl}/system.tgz"; sha256 = "0s8ij3wfxpjrmrwxrgrirfxjj8vkda6l32j88al5q1ic3ncwc58s"; }
|
||||
{ url = "${baseurl}/MLRISC.tgz"; sha256 = "1v2d3gjxrcgc95x5glqcw0nfp13aapkcw03fyi70m3k1yc61izmz"; }
|
||||
{ url = "${baseurl}/smlnj-lib.tgz"; sha256 = "04i11ki8v9s7yz3lg6b0djhi03zzkzav0b5cr81ypxlkmf4hh6bp"; }
|
||||
{ url = "${baseurl}/old-basis.tgz"; sha256 = "1ryqpy0n7c9gd995ndmjvaci74f95nr8n1jjgm28yd1sn7hnavhi"; }
|
||||
{ url = "${baseurl}/ckit.tgz"; sha256 = "18mcs3j8c5gq9cmck7r175am60blaznqmhzyir622yfc8fpw1map"; }
|
||||
{ url = "${baseurl}/nlffi.tgz"; sha256 = "16mrl5aqbgsgljxa3z8kj5max9drddml34bq7rn1i78594jfvkwk"; }
|
||||
{ url = "${baseurl}/cml.tgz"; sha256 = "00x784nv1pi6534k3vva26i9qx84cvw242vgwbs5020zkm6gvrmn"; }
|
||||
{ url = "${baseurl}/eXene.tgz"; sha256 = "143825h36v6z77kwvrvpszgwnhmjs3yldb18i9z4lwkqfb4kn7f7"; }
|
||||
{ url = "${baseurl}/ml-lpt.tgz"; sha256 = "17ly9h9ry8r94dx6lkas6w2cxknwkpma4z9pj8rgzmd3w6qm7j1z"; }
|
||||
{ url = "${baseurl}/ml-lex.tgz"; sha256 = "1ja3l2kiq17754c58mwdiqi25f7ax0cji2wk0vq4872iwwxc22px"; }
|
||||
{ url = "${baseurl}/ml-yacc.tgz"; sha256 = "1m48nkwvw87yg39sjihlw8na5m34bzz3d4zpfbjaj2f75fkjy3jf"; }
|
||||
{ url = "${baseurl}/ml-burg.tgz"; sha256 = "13nbvbah7bn8gjm4gi41m412vpl69wd6d3x3wzbb6xpia9vm4z4j"; }
|
||||
{ url = "${baseurl}/pgraph.tgz"; sha256 = "1aizkl8avz01kx221xy5z7a1a1b5xqn2hrk66wr8d0iav2nh5c98"; }
|
||||
{ url = "${baseurl}/trace-debug-profile.tgz"; sha256 = "1c80xgck9sb2rm554nfg4f5mpjkdbrwkcx88pj120056225l10vx"; }
|
||||
{ url = "${baseurl}/heap2asm.tgz"; sha256 = "1n68drd7as5dy20ccfvgd9cmnhfpfvz7g3f0gc8kpaqaz3vpy36g"; }
|
||||
{ url = "${baseurl}/smlnj-c.tgz"; sha256 = "1b6svh2kk5211rq73fdwx3sf80d2rshf0dmkkrq5mw4852nzqz3p"; }
|
||||
{ url = "${baseurl}/doc.tgz"; sha256 = "021yzhy9maypq4ahz0d0qpr601spndg583fn9mapv6rl42kwhjq6"; }
|
||||
{ url = "${baseurl}/asdl.tgz"; sha256 = "0nqavqcbidwnphbbwjrxhpy8glbyad51wy0cpqimbsw3sgns0zkd"; }
|
||||
{ url = "${baseurl}/config.tgz"; hash = "sha256-9BJPpa/xouqi3j39WsfzlRys4z1yxTdbYttHF5VwCVw="; }
|
||||
{ url = "${baseurl}/cm.tgz"; hash = "sha256-A3crC5EWX4kEB6olwdaObglQgkBBNqcBSCi/pQR5Wdw="; }
|
||||
{ url = "${baseurl}/compiler.tgz"; hash = "sha256-cTgkc5opaEXskdzt5yYsdjyF5m9846t2SyEiwY6W3HU="; }
|
||||
{ url = "${baseurl}/runtime.tgz"; hash = "sha256-JiNzfuZnp1eWQPNZBb9SPmQXtwgknpoGl+38iqUU3W4="; }
|
||||
{ url = "${baseurl}/system.tgz"; hash = "sha256-HUn8YCxlLe6+e5H9oMJjIoG23GBF3thMlHEkSGLZTus="; }
|
||||
{ url = "${baseurl}/MLRISC.tgz"; hash = "sha256-MPNpYhrbsIbVEOzJ7GIEQCm/7F/Jnxj0UXS7FeTp+7o="; }
|
||||
{ url = "${baseurl}/smlnj-lib.tgz"; hash = "sha256-1tp5waPl7MCWS4kIUFm/woQeeRfCjkpgSxHpGb+ymTM="; }
|
||||
{ url = "${baseurl}/old-basis.tgz"; hash = "sha256-I6DJRfIx+09ynFKXZ63dDWRpv0pEljWciAarK/EhQ/s="; }
|
||||
{ url = "${baseurl}/ckit.tgz"; hash = "sha256-vi6dSZISL+KWkpp/jxLPCNBno+qTYThvbExZ5R5L7Wc="; }
|
||||
{ url = "${baseurl}/nlffi.tgz"; hash = "sha256-WfYmX7dhrBqtE4juDVNyjuFtsJ1H+B7rJY2BXJYtKNM="; }
|
||||
{ url = "${baseurl}/cml.tgz"; hash = "sha256-5rZzp5IUj/xZX0fyeoNMohyTz1ifdY6Anu/Hg0spDQw="; }
|
||||
{ url = "${baseurl}/eXene.tgz"; hash = "sha256-c5QnjAQTtlBgYE6DGFMNDbu9ILSEVZgzs/u0bIowfHc="; }
|
||||
{ url = "${baseurl}/ml-lpt.tgz"; hash = "sha256-aRYFTEEl4td7LQ0LhsXGLtJ/ptwCDV1m9GeDtM7+vlo="; }
|
||||
{ url = "${baseurl}/ml-lex.tgz"; hash = "sha256-ZwO3xQUDaD2f7Tsro6kkahT7vSN1JvQbLkwY/m7xSIs="; }
|
||||
{ url = "${baseurl}/ml-yacc.tgz"; hash = "sha256-DBR4xmKiSA5on7+YDz7Zr8qBA6aD1fS64+g69ukSprc="; }
|
||||
{ url = "${baseurl}/ml-burg.tgz"; hash = "sha256-4ruWhGjxny97eUD9Gk4FakqEZzNHwJp7uSa97ET20p0="; }
|
||||
{ url = "${baseurl}/pgraph.tgz"; hash = "sha256-kDyaAMB6Pt3CdAna+V8aLfTx8Tj6a5vPfuSxtpga08w="; }
|
||||
{ url = "${baseurl}/trace-debug-profile.tgz"; hash = "sha256-AD9KWsskRkjTFYiRCIm0qj02sIBHG6HtBM5wKMBqeXY="; }
|
||||
{ url = "${baseurl}/heap2asm.tgz"; hash = "sha256-OHNPMErNoLpYuatgbgYlU/mMB4JXQ4aA50WZ2BHtt3I="; }
|
||||
{ url = "${baseurl}/smlnj-c.tgz"; hash = "sha256-Vure6h0TKqne5+5MJBX9cRkBgmrJ/kKVLUzrIIiH7lE="; }
|
||||
{ url = "${baseurl}/doc.tgz"; hash = "sha256-PliWxCffISPrAO7Zan33recFLRmGoqZLKHOzSEP0PEk="; }
|
||||
{ url = "${baseurl}/asdl.tgz"; hash = "sha256-O6/g20/hsMTG3CvMA59btjG+4UdUbGhMHkizESKJDEA="; }
|
||||
];
|
||||
in stdenv.mkDerivation {
|
||||
pname = "smlnj";
|
||||
inherit version;
|
||||
|
||||
inherit sources;
|
||||
|
||||
patchPhase = ''
|
||||
sed -i '/PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh
|
||||
echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl
|
||||
patch --verbose config/_heap2exec ${./heap2exec.diff}
|
||||
'' + lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
# Locate standard headers like <unistd.h>
|
||||
substituteInPlace base/runtime/config/gen-posix-names.sh \
|
||||
--replace "\$SDK_PATH/usr" "${Libsystem}"
|
||||
'';
|
||||
inherit version sources;
|
||||
|
||||
unpackPhase = ''
|
||||
for s in $sources; do
|
||||
@ -67,6 +55,15 @@ in stdenv.mkDerivation {
|
||||
./config/unpack $TMP runtime
|
||||
'';
|
||||
|
||||
patchPhase = ''
|
||||
sed -i '/^PATH=/d' config/_arch-n-opsys base/runtime/config/gen-posix-names.sh
|
||||
echo SRCARCHIVEURL="file:/$TMP" > config/srcarchiveurl
|
||||
'' + lib.optionalString stdenv.isDarwin ''
|
||||
# Locate standard headers like <unistd.h>
|
||||
substituteInPlace base/runtime/config/gen-posix-names.sh \
|
||||
--replace "\$SDK_PATH/usr" "${Libsystem}"
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
./config/install.sh -default ${arch}
|
||||
'';
|
||||
@ -81,12 +78,12 @@ in stdenv.mkDerivation {
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Standard ML of New Jersey, a compiler";
|
||||
homepage = "http://smlnj.org";
|
||||
license = licenses.bsd3;
|
||||
license = lib.licenses.bsd3;
|
||||
platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" ];
|
||||
maintainers = with maintainers; [ skyesoss thoughtpolice ];
|
||||
maintainers = with lib.maintainers; [ skyesoss thoughtpolice ];
|
||||
mainProgram = "sml";
|
||||
# never built on x86_64-darwin since first introduction in nixpkgs
|
||||
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
|
||||
|
@ -1,9 +0,0 @@
|
||||
@@ -35,7 +35,7 @@
|
||||
BIN_DIR=${SMLNJ_HOME}/bin
|
||||
fi
|
||||
|
||||
-ARCH_N_OPSYS=`"$BIN_DIR/.arch-n-opsys $SIZE_OPT"`
|
||||
+ARCH_N_OPSYS=`$BIN_DIR/.arch-n-opsys $SIZE_OPT`
|
||||
if [ "$?" != "0" ]; then
|
||||
die "unable to determine architecture/operating system"
|
||||
fi
|
@ -1,20 +0,0 @@
|
||||
Based on https://gmplib.org/repo/gmp-6.2/raw-rev/561a9c25298e,
|
||||
adapted for 5.x by ris
|
||||
|
||||
diff -r e1fd9db13b47 -r 561a9c25298e mpz/inp_raw.c
|
||||
--- a/mpz/inp_raw.c Tue Dec 22 23:49:51 2020 +0100
|
||||
+++ b/mpz/inp_raw.c Thu Oct 21 19:06:49 2021 +0200
|
||||
@@ -81,8 +81,11 @@
|
||||
|
||||
abs_csize = ABS (csize);
|
||||
|
||||
+ if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8))
|
||||
+ return 0; /* Bit size overflows */
|
||||
+
|
||||
/* round up to a multiple of limbs */
|
||||
- abs_xsize = (abs_csize*8 + GMP_NUMB_BITS-1) / GMP_NUMB_BITS;
|
||||
+ abs_xsize = ((mp_bitcnt_t)abs_csize*8 + GMP_NUMB_BITS-1) / GMP_NUMB_BITS;
|
||||
|
||||
if (abs_xsize != 0)
|
||||
{
|
||||
|
@ -1,87 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, m4
|
||||
, cxx ? true
|
||||
, withStatic ? stdenv.hostPlatform.isStatic
|
||||
}:
|
||||
|
||||
let inherit (lib) optional; in
|
||||
|
||||
let self = stdenv.mkDerivation rec {
|
||||
pname = "gmp";
|
||||
version = "5.1.3";
|
||||
|
||||
src = fetchurl { # we need to use bz2, others aren't in bootstrapping stdenv
|
||||
urls = [ "mirror://gnu/gmp/gmp-${version}.tar.bz2" "ftp://ftp.gmplib.org/pub/gmp-${version}/gmp-${version}.tar.bz2" ];
|
||||
sha256 = "0q5i39pxrasgn9qdxzpfbwhh11ph80p57x6hf48m74261d97j83m";
|
||||
};
|
||||
|
||||
#outputs TODO: split $cxx due to libstdc++ dependency
|
||||
# maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added
|
||||
# - see #5855 for related discussion
|
||||
outputs = [ "out" "dev" "info" ];
|
||||
passthru.static = self.out;
|
||||
|
||||
nativeBuildInputs = [ m4 ];
|
||||
|
||||
patches = [
|
||||
./5.1.3-CVE-2021-43618.patch
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
./need-size-t.patch
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--with-pic"
|
||||
(lib.enableFeature cxx "cxx")
|
||||
# Build a "fat binary", with routines for several sub-architectures
|
||||
# (x86), except on Solaris where some tests crash with "Memory fault".
|
||||
# See <https://hydra.nixos.org/build/2760931>, for instance.
|
||||
#
|
||||
# no darwin because gmp uses ASM that clang doesn't like
|
||||
(lib.enableFeature (!stdenv.hostPlatform.isSunOS && stdenv.hostPlatform.isx86) "fat")
|
||||
# The config.guess in GMP tries to runtime-detect various
|
||||
# ARM optimization flags via /proc/cpuinfo (and is also
|
||||
# broken on multicore CPUs). Avoid this impurity.
|
||||
"--build=${stdenv.buildPlatform.config}"
|
||||
] ++ optional (cxx && stdenv.hostPlatform.isDarwin) "CPPFLAGS=-fexceptions"
|
||||
++ optional (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.is64bit) "ABI=64"
|
||||
;
|
||||
|
||||
doCheck = true;
|
||||
|
||||
dontDisableStatic = withStatic;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://gmplib.org/";
|
||||
description = "GNU multiple precision arithmetic library";
|
||||
license = licenses.gpl3Plus;
|
||||
|
||||
longDescription = ''
|
||||
GMP is a free library for arbitrary precision arithmetic, operating
|
||||
on signed integers, rational numbers, and floating point numbers.
|
||||
There is no practical limit to the precision except the ones implied
|
||||
by the available memory in the machine GMP runs on. GMP has a rich
|
||||
set of functions, and the functions have a regular interface.
|
||||
|
||||
The main target applications for GMP are cryptography applications
|
||||
and research, Internet security applications, algebra systems,
|
||||
computational algebra research, etc.
|
||||
|
||||
GMP is carefully designed to be as fast as possible, both for small
|
||||
operands and for huge operands. The speed is achieved by using
|
||||
fullwords as the basic arithmetic type, by using fast algorithms,
|
||||
with highly optimised assembly code for the most common inner loops
|
||||
for a lot of CPUs, and by a general emphasis on speed.
|
||||
|
||||
GMP is faster than any other bignum library. The advantage for GMP
|
||||
increases with the operand sizes for many operations, since GMP uses
|
||||
asymptotically faster algorithms.
|
||||
'';
|
||||
|
||||
platforms = platforms.all;
|
||||
badPlatforms = [ "x86_64-darwin" ];
|
||||
# never built on aarch64-darwin since first introduction in nixpkgs
|
||||
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64;
|
||||
};
|
||||
};
|
||||
in self
|
@ -2515,14 +2515,14 @@ buildLuarocksPackage {
|
||||
lze = callPackage({ buildLuarocksPackage, fetchurl, fetchzip, luaOlder }:
|
||||
buildLuarocksPackage {
|
||||
pname = "lze";
|
||||
version = "0.1.3-1";
|
||||
version = "0.1.4-1";
|
||||
knownRockspec = (fetchurl {
|
||||
url = "mirror://luarocks/lze-0.1.3-1.rockspec";
|
||||
sha256 = "0dmbkx3z5syqcsmjbiy4s55hcq5fi3nw0rcnyflffnl2i379a3rd";
|
||||
url = "mirror://luarocks/lze-0.1.4-1.rockspec";
|
||||
sha256 = "0j2ll2kcqmk7m78x4bwwm47hr0n8kgz027c4l2yhyfw747s70z1h";
|
||||
}).outPath;
|
||||
src = fetchzip {
|
||||
url = "https://github.com/BirdeeHub/lze/archive/v0.1.3.zip";
|
||||
sha256 = "0g7acfhx0klf47f6zswnzx81j7hf0p1f9l1lh4k57ss9c22fsvby";
|
||||
url = "https://github.com/BirdeeHub/lze/archive/v0.1.4.zip";
|
||||
sha256 = "1rr8bsxvv53mhkvmc8vb1l6jvbrfzngr3kq8wj3gvpima3jdk1za";
|
||||
};
|
||||
|
||||
disabled = luaOlder "5.1";
|
||||
|
@ -4,28 +4,40 @@
|
||||
fetchPypi,
|
||||
setuptools-scm,
|
||||
# install requirements
|
||||
six,
|
||||
fido2,
|
||||
keyring,
|
||||
cryptography,
|
||||
# test requirements
|
||||
pytestCheckHook,
|
||||
unittestCheckHook,
|
||||
mock,
|
||||
}:
|
||||
|
||||
let
|
||||
fido2_0 = fido2.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.9.3";
|
||||
format = "setuptools";
|
||||
src = fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
hash = "sha256-tF6JphCc/Lfxu1E3dqotZAjpXEgi+DolORi5RAg0Zuw=";
|
||||
};
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py test/test_attestation.py \
|
||||
--replace-fail "distutils.version" "setuptools._distutils.version"
|
||||
'';
|
||||
build-system = [ setuptools-scm ];
|
||||
dependencies = oldAttrs.dependencies ++ [ six ];
|
||||
nativeCheckInputs = [
|
||||
unittestCheckHook
|
||||
mock
|
||||
];
|
||||
});
|
||||
in
|
||||
buildPythonPackage rec {
|
||||
pname = "ctap-keyring-device";
|
||||
version = "1.0.6";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version pname;
|
||||
@ -38,16 +50,14 @@ buildPythonPackage rec {
|
||||
--replace "--flake8 --black --cov" ""
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
pythonRemoveDeps = [
|
||||
# This is a darwin requirement missing pyobjc
|
||||
"pyobjc-framework-LocalAuthentication"
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
build-system = [ setuptools-scm ];
|
||||
|
||||
dependencies = [
|
||||
keyring
|
||||
fido2_0
|
||||
cryptography
|
||||
@ -55,7 +65,7 @@ buildPythonPackage rec {
|
||||
|
||||
pythonImportsCheck = [ "ctap_keyring_device" ];
|
||||
|
||||
checkInputs = [ pytestCheckHook ];
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
disabledTests = [
|
||||
# Disabled tests that needs pyobjc or windows
|
||||
|
43
pkgs/development/python-modules/pylsl/default.nix
Normal file
43
pkgs/development/python-modules/pylsl/default.nix
Normal file
@ -0,0 +1,43 @@
|
||||
{
|
||||
lib,
|
||||
liblsl,
|
||||
fetchFromGitHub,
|
||||
buildPythonPackage,
|
||||
setuptools,
|
||||
wheel,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pylsl";
|
||||
version = "1.16.2";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "labstreaminglayer";
|
||||
repo = "pylsl";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-rReoPirf1rdQppKEBfHMk3J2htdsnFfIdlNQIprOoUg=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pylsl/pylsl.py \
|
||||
--replace "def find_liblsl_libraries(verbose=False):" "$(echo -e "def find_liblsl_libraries(verbose=False):\n yield '${liblsl}/lib/liblsl.so'")"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
buildImputs = [ liblsl ];
|
||||
|
||||
pythonImportsCheck = [ "pylsl" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python bindings (pylsl) for liblsl";
|
||||
homepage = "https://github.com/labstreaminglayer/pylsl";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ abcsds ];
|
||||
mainProgram = "pylsl";
|
||||
};
|
||||
}
|
@ -33,4 +33,10 @@ mkKdeDerivation {
|
||||
"-DWITH_GDB12=1"
|
||||
"-DWITH_PYTHON_VENDORING=0"
|
||||
];
|
||||
|
||||
# Hardcoded as QString, which is UTF-16 so Nix can't pick it up automatically
|
||||
postFixup = ''
|
||||
mkdir -p $out/nix-support
|
||||
echo "${gdb'}" > $out/nix-support/depends
|
||||
'';
|
||||
}
|
||||
|
74
pkgs/os-specific/linux/scx/default.nix
Normal file
74
pkgs/os-specific/linux/scx/default.nix
Normal file
@ -0,0 +1,74 @@
|
||||
{
|
||||
lib,
|
||||
callPackage,
|
||||
pkg-config,
|
||||
rustPlatform,
|
||||
llvmPackages,
|
||||
elfutils,
|
||||
zlib,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
let
|
||||
versionInfo = lib.importJSON ./version.json;
|
||||
mkScxScheduler =
|
||||
packageType:
|
||||
args@{ schedulerName, ... }:
|
||||
(if packageType == "rust" then rustPlatform.buildRustPackage else llvmPackages.stdenv.mkDerivation)
|
||||
(
|
||||
args
|
||||
// {
|
||||
pname = "${schedulerName}";
|
||||
version = args.version or versionInfo.scx.version;
|
||||
|
||||
src = args.src or fetchFromGitHub {
|
||||
owner = "sched-ext";
|
||||
repo = "scx";
|
||||
rev = "refs/tags/v${versionInfo.scx.version}";
|
||||
inherit (versionInfo.scx) hash;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
llvmPackages.clang
|
||||
] ++ (args.nativeBuildInputs or [ ]);
|
||||
buildInputs = [
|
||||
elfutils
|
||||
zlib
|
||||
] ++ (args.buildInputs or [ ]);
|
||||
|
||||
env.LIBCLANG_PATH = args.env.LIBCLANG_PATH or "${llvmPackages.libclang.lib}/lib";
|
||||
|
||||
# Needs to be disabled in BPF builds
|
||||
hardeningDisable = [
|
||||
"zerocallusedregs"
|
||||
] ++ (args.hardeningDisable or [ ]);
|
||||
|
||||
meta = args.meta // {
|
||||
description = args.meta.description or "";
|
||||
longDescription =
|
||||
(args.meta.longDescription or "")
|
||||
+ ''
|
||||
\n\nSched-ext schedulers are only available on supported kernels
|
||||
(6.12 and above or any kernel with the scx patchset applied).'';
|
||||
|
||||
homepage = args.meta.homepage or "https://github.com/sched-ext/scx";
|
||||
license = args.meta.license or lib.licenses.gpl2Only;
|
||||
platforms = args.meta.platforms or lib.platforms.linux;
|
||||
maintainers = (args.meta.maintainers or [ ]) ++ (with lib.maintainers; [ johnrtitor ]);
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
schedulers = lib.mergeAttrsList [
|
||||
{ bpfland = import ./scx_bpfland; }
|
||||
{ lavd = import ./scx_lavd; }
|
||||
{ layered = import ./scx_layered; }
|
||||
{ rlfifo = import ./scx_rlfifo; }
|
||||
{ rustland = import ./scx_rustland; }
|
||||
{ csheds = import ./scx_csheds.nix; }
|
||||
];
|
||||
in
|
||||
(lib.mapAttrs (name: scheduler: callPackage scheduler { inherit mkScxScheduler; }) schedulers)
|
||||
// {
|
||||
inherit mkScxScheduler;
|
||||
}
|
1530
pkgs/os-specific/linux/scx/scx_bpfland/Cargo.lock
generated
Normal file
1530
pkgs/os-specific/linux/scx/scx_bpfland/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
38
pkgs/os-specific/linux/scx/scx_bpfland/default.nix
Normal file
38
pkgs/os-specific/linux/scx/scx_bpfland/default.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
mkScxScheduler,
|
||||
}:
|
||||
|
||||
mkScxScheduler "rust" rec {
|
||||
schedulerName = "scx_bpfland";
|
||||
|
||||
cargoRoot = "scheds/rust/scx_bpfland";
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
postPatch = ''
|
||||
rm Cargo.toml Cargo.lock
|
||||
ln -fs ${./Cargo.lock} scheds/rust/scx_bpfland/Cargo.lock
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
cd scheds/rust/scx_bpfland
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp target/${stdenv.targetPlatform.config}/release/scx_bpfland $out/bin/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Sched-ext Rust userspace scheduler";
|
||||
longDescription = ''
|
||||
Vruntime-based Sched-ext scheduler that prioritizes interactive workloads. This
|
||||
scheduler is derived from scx_rustland, but it is fully implemented in BPF. It
|
||||
has a minimal user-space Rust part to process command line options, collect metrics
|
||||
and log out scheduling statistics. The BPF part makes all the scheduling decisions.
|
||||
'';
|
||||
mainProgram = "scx_bpfland";
|
||||
};
|
||||
}
|
106
pkgs/os-specific/linux/scx/scx_csheds.nix
Normal file
106
pkgs/os-specific/linux/scx/scx_csheds.nix
Normal file
@ -0,0 +1,106 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
mkScxScheduler,
|
||||
fetchFromGitHub,
|
||||
writeShellScript,
|
||||
bash,
|
||||
meson,
|
||||
ninja,
|
||||
jq,
|
||||
bpftools,
|
||||
elfutils,
|
||||
zlib,
|
||||
libbpf,
|
||||
}:
|
||||
|
||||
let
|
||||
versionInfo = lib.importJSON ./version.json;
|
||||
|
||||
# scx needs a specific commit of bpftool
|
||||
# can be found in meson.build of scx src
|
||||
# grep 'bpftool_commit =' ./meson.build
|
||||
bpftools_src = fetchFromGitHub {
|
||||
owner = "libbpf";
|
||||
repo = "bpftool";
|
||||
inherit (versionInfo.bpftool) rev hash;
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# scx needs a specific commit of bpftool
|
||||
# this imitates the fetch_bpftool script in src/meson-scripts
|
||||
fetchBpftool = writeShellScript "fetch_bpftool" ''
|
||||
[ "$2" == '${bpftools_src.rev}' ] || exit 1
|
||||
cd "$1"
|
||||
cp --no-preserve=mode,owner -r "${bpftools_src}/" ./bpftool
|
||||
'';
|
||||
|
||||
# Fixes a bug with the meson build script where it specifies
|
||||
# /bin/bash twice in the script
|
||||
misbehaviorBash = writeShellScript "bash" ''
|
||||
shift 1
|
||||
exec ${lib.getExe bash} "$@"
|
||||
'';
|
||||
|
||||
# Won't build with stable libbpf, so use the latest commit
|
||||
libbpf-git = libbpf.overrideAttrs (oldAttrs: {
|
||||
src = fetchFromGitHub {
|
||||
owner = "libbpf";
|
||||
repo = "libbpf";
|
||||
inherit (versionInfo.libbpf) rev hash;
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
});
|
||||
|
||||
in
|
||||
mkScxScheduler "c" rec {
|
||||
schedulerName = "scx_csheds";
|
||||
|
||||
postPatch = ''
|
||||
rm meson-scripts/fetch_bpftool
|
||||
patchShebangs ./meson-scripts
|
||||
cp ${fetchBpftool} meson-scripts/fetch_bpftool
|
||||
substituteInPlace meson.build \
|
||||
--replace-fail '[build_bpftool' "['${misbehaviorBash}', build_bpftool"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
jq
|
||||
] ++ bpftools.buildInputs ++ bpftools.nativeBuildInputs;
|
||||
|
||||
buildInputs = [
|
||||
elfutils
|
||||
zlib
|
||||
libbpf-git
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
(lib.mapAttrsToList lib.mesonEnable {
|
||||
"systemd" = false;
|
||||
"openrc" = false;
|
||||
"libbpf_a" = false;
|
||||
# not for nix
|
||||
"libalpm" = false;
|
||||
})
|
||||
(lib.mapAttrsToList lib.mesonBool {
|
||||
# needed libs are already fetched as FOD
|
||||
"offline" = true;
|
||||
# rust schedulers are built seperately
|
||||
"enable_rust" = false;
|
||||
})
|
||||
];
|
||||
|
||||
hardeningDisable = [
|
||||
"stackprotector"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Sched-ext C userspace schedulers";
|
||||
longDescription = ''
|
||||
This includes C based schedulers such as scx_central,
|
||||
scx_flatcg, scx_pair, scx_qmap, scx_simple, scx_userland.
|
||||
'';
|
||||
};
|
||||
}
|
1646
pkgs/os-specific/linux/scx/scx_lavd/Cargo.lock
generated
Normal file
1646
pkgs/os-specific/linux/scx/scx_lavd/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
37
pkgs/os-specific/linux/scx/scx_lavd/default.nix
Normal file
37
pkgs/os-specific/linux/scx/scx_lavd/default.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
mkScxScheduler,
|
||||
}:
|
||||
|
||||
mkScxScheduler "rust" rec {
|
||||
schedulerName = "scx_lavd";
|
||||
|
||||
cargoRoot = "scheds/rust/scx_lavd";
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
postPatch = ''
|
||||
rm Cargo.toml Cargo.lock
|
||||
ln -fs ${./Cargo.lock} scheds/rust/scx_lavd/Cargo.lock
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
cd scheds/rust/scx_lavd
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp target/${stdenv.targetPlatform.config}/release/scx_lavd $out/bin/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Sched-ext Rust userspace scheduler";
|
||||
longDescription = ''
|
||||
BPF scheduler that implements an LAVD (Latency-criticality Aware Virtual Deadline)
|
||||
scheduling algorithm. typical use case involves highly interactive applications,
|
||||
such as gaming, which requires high throughput and low tail latencies.
|
||||
'';
|
||||
mainProgram = "scx_lavd";
|
||||
};
|
||||
}
|
1672
pkgs/os-specific/linux/scx/scx_layered/Cargo.lock
generated
Normal file
1672
pkgs/os-specific/linux/scx/scx_layered/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
36
pkgs/os-specific/linux/scx/scx_layered/default.nix
Normal file
36
pkgs/os-specific/linux/scx/scx_layered/default.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
mkScxScheduler,
|
||||
}:
|
||||
|
||||
mkScxScheduler "rust" rec {
|
||||
schedulerName = "scx_layered";
|
||||
|
||||
cargoRoot = "scheds/rust/scx_layered";
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
postPatch = ''
|
||||
rm Cargo.toml Cargo.lock
|
||||
ln -fs ${./Cargo.lock} scheds/rust/scx_layered/Cargo.lock
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
cd scheds/rust/scx_layered
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp target/${stdenv.targetPlatform.config}/release/scx_layered $out/bin/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Sched-ext Rust userspace scheduler";
|
||||
longDescription = ''
|
||||
Highly configurable multi-layer BPF/userspace hybrid scheduler.
|
||||
It is designed to be highly customizable, and can be targeted for specific applications.
|
||||
'';
|
||||
mainProgram = "scx_layered";
|
||||
};
|
||||
}
|
1486
pkgs/os-specific/linux/scx/scx_rlfifo/Cargo.lock
generated
Normal file
1486
pkgs/os-specific/linux/scx/scx_rlfifo/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
36
pkgs/os-specific/linux/scx/scx_rlfifo/default.nix
Normal file
36
pkgs/os-specific/linux/scx/scx_rlfifo/default.nix
Normal file
@ -0,0 +1,36 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
mkScxScheduler,
|
||||
}:
|
||||
|
||||
mkScxScheduler "rust" rec {
|
||||
schedulerName = "scx_rlfifo";
|
||||
|
||||
cargoRoot = "scheds/rust/scx_rlfifo";
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
postPatch = ''
|
||||
rm Cargo.toml Cargo.lock
|
||||
ln -fs ${./Cargo.lock} scheds/rust/scx_rlfifo/Cargo.lock
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
cd scheds/rust/scx_rlfifo
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp target/${stdenv.targetPlatform.config}/release/scx_rlfifo $out/bin/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Sched-ext Rust userspace scheduler";
|
||||
longDescription = ''
|
||||
scx_rlfifo is a simple FIFO scheduler runs in user-space, based on
|
||||
the scx_rustland_core framework. Not a production ready scheduler.
|
||||
'';
|
||||
mainProgram = "scx_rlfifo";
|
||||
};
|
||||
}
|
1630
pkgs/os-specific/linux/scx/scx_rustland/Cargo.lock
generated
Normal file
1630
pkgs/os-specific/linux/scx/scx_rustland/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
38
pkgs/os-specific/linux/scx/scx_rustland/default.nix
Normal file
38
pkgs/os-specific/linux/scx/scx_rustland/default.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
mkScxScheduler,
|
||||
}:
|
||||
|
||||
mkScxScheduler "rust" rec {
|
||||
schedulerName = "scx_rustland";
|
||||
|
||||
cargoRoot = "scheds/rust/scx_rustland";
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
postPatch = ''
|
||||
rm Cargo.toml Cargo.lock
|
||||
ln -fs ${./Cargo.lock} scheds/rust/scx_rustland/Cargo.lock
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
cd scheds/rust/scx_rustland
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
cp target/${stdenv.targetPlatform.config}/release/scx_rustland $out/bin/
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Sched-ext Rust userspace scheduler";
|
||||
longDescription = ''
|
||||
Made of a BPF component (scx_rustland_core) that implements the low level sched-ext functionalities
|
||||
and a user-space counterpart (scheduler), written in Rust, that implements the actual scheduling policy.
|
||||
It is designed to prioritize interactive workloads over background CPU-intensive workloads. Typical use
|
||||
case involves low-latency interactive applications, such as gaming, video conferencing and live streaming.
|
||||
'';
|
||||
mainProgram = "scx_rustland";
|
||||
};
|
||||
}
|
51
pkgs/os-specific/linux/scx/update.sh
Executable file
51
pkgs/os-specific/linux/scx/update.sh
Executable file
@ -0,0 +1,51 @@
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i bash -p coreutils moreutils curl jq nix-prefetch-git cargo gnugrep gawk
|
||||
# shellcheck shell=bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
srcJson="$(realpath "./pkgs/os-specific/linux/scx/version.json")"
|
||||
srcFolder="$(dirname "$srcJson")"
|
||||
|
||||
localVer=$(jq -r .version <$srcJson)
|
||||
latestVer=$(curl -s https://api.github.com/repos/sched-ext/scx/releases/latest | jq -r .tag_name | sed 's/v//g')
|
||||
|
||||
if [ "$localVer" == "$latestVer" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
latestHash=$(nix-prefetch-git https://github.com/sched-ext/scx.git --rev refs/tags/v$latestVer --quiet | jq -r .hash)
|
||||
|
||||
tmp=$(mktemp -d)
|
||||
trap 'rm -rf -- "${tmp}"' EXIT
|
||||
|
||||
git clone --depth 1 --branch "v$latestVer" https://github.com/sched-ext/scx.git "$tmp/scx"
|
||||
|
||||
pushd "$tmp/scx"
|
||||
|
||||
bpftoolRev=$(grep 'bpftool_commit =' ./meson.build | awk -F"'" '{print $2}')
|
||||
bpftoolHash=$(nix-prefetch-git https://github.com/libbpf/bpftool.git --rev $bpftoolRev --fetch-submodules --quiet | jq -r .hash)
|
||||
|
||||
libbpfRev=$(curl -s "https://api.github.com/repos/libbpf/libbpf/commits/master" | jq -r '.sha')
|
||||
libbpfHash=$(nix-prefetch-git https://github.com/libbpf/libbpf.git --rev $libbpfRev --fetch-submodules --quiet | jq -r .hash)
|
||||
|
||||
jq \
|
||||
--arg latestVer "$latestVer" --arg latestHash "$latestHash" \
|
||||
--arg bpftoolRev "$bpftoolRev" --arg bpftoolHash "$bpftoolHash" \
|
||||
--arg libbpfRev "$libbpfRev" --arg libbpfHash "$libbpfHash" \
|
||||
".scx.version = \$latestVer | .scx.hash = \$latestHash |\
|
||||
.bpftool.rev = \$bpftoolRev | .bpftool.hash = \$bpftoolHash |\
|
||||
.libbpf.rev = \$libbpfRev | .libbpf.hash = \$libbpfHash" \
|
||||
"$srcJson" | sponge $srcJson
|
||||
|
||||
rm -f Cargo.toml Cargo.lock
|
||||
|
||||
pushd scheds/rust
|
||||
for scheduler in bpfland lavd layered rlfifo rustland; do
|
||||
pushd "scx_$scheduler"
|
||||
|
||||
cargo generate-lockfile
|
||||
cp Cargo.lock "$srcFolder/scx_$scheduler/Cargo.lock"
|
||||
|
||||
popd
|
||||
done
|
14
pkgs/os-specific/linux/scx/version.json
Normal file
14
pkgs/os-specific/linux/scx/version.json
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"scx": {
|
||||
"version": "1.0.5",
|
||||
"hash": "sha256-nb2bzEanPPWTUhMmGw/8/bwOkdgNmwoZX2lMFq5Av5Q="
|
||||
},
|
||||
"bpftool": {
|
||||
"rev": "77a72987353fcae8ce330fd87d4c7afb7677a169",
|
||||
"hash": "sha256-pItTVewlXgB97AC/WH9rW9J/eYSe2ZdBkJaAgGnDeUU="
|
||||
},
|
||||
"libbpf": {
|
||||
"rev": "09b9e83102eb8ab9e540d36b4559c55f3bcdb95d",
|
||||
"hash": "sha256-0PadA9OppNGmgSTLi8sXrh3syxPVkqrnTkBr8cyp+Ug="
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
version = "1.20.4";
|
||||
hash = "sha256-YvVaKNd7e+NHgRaIzzjSj2Jv4FowGJSwiPzdN2viQdk=";
|
||||
npmDepsHash = "sha256-9/55zhRLMxo51vuLcCMGiJ9VPvUF1cSm8HhvDn2UnQo=";
|
||||
vendorHash = "sha256-peE8VzgzQeawajk+bndO8lJZEGpCO17003dD90c9Xfg=";
|
||||
version = "1.21.0";
|
||||
hash = "sha256-u2mQfqfBfSV716FlGJyFJoRBtTs+WprM/X8i5RLuhZ0=";
|
||||
npmDepsHash = "sha256-0PjJkGsIpnYVSUpwgtrqWVFMI9Lpjo0j7aprtFvePWQ=";
|
||||
vendorHash = "sha256-2qqsYYyykmbnnyLHAk4/1HUps7XVQ5ve+niaayb/VQ0=";
|
||||
}
|
||||
|
@ -8,23 +8,7 @@
|
||||
, gimme-aws-creds
|
||||
}:
|
||||
|
||||
let
|
||||
python = python3.override {
|
||||
self = python;
|
||||
packageOverrides = self: super: {
|
||||
fido2 = super.fido2.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.9.3";
|
||||
format = "setuptools";
|
||||
src = fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
hash = "sha256-tF6JphCc/Lfxu1E3dqotZAjpXEgi+DolORi5RAg0Zuw=";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
in
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "gimme-aws-creds";
|
||||
version = "2.8.2"; # N.B: if you change this, check if overrides are still up-to-date
|
||||
format = "setuptools";
|
||||
@ -36,7 +20,7 @@ python.pkgs.buildPythonApplication rec {
|
||||
hash = "sha256-fsFYcfbLeYV6tpOGgNrFmYjcUAmdsx5zwUbvcctwFVs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python.pkgs; [
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
installShellFiles
|
||||
];
|
||||
|
||||
@ -44,9 +28,8 @@ python.pkgs.buildPythonApplication rec {
|
||||
"configparser"
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python.pkgs; [
|
||||
dependencies = with python3.pkgs; [
|
||||
boto3
|
||||
fido2
|
||||
beautifulsoup4
|
||||
ctap-keyring-device
|
||||
requests
|
||||
@ -61,7 +44,7 @@ python.pkgs.buildPythonApplication rec {
|
||||
export PYTHON_KEYRING_BACKEND="keyring.backends.fail.Keyring"
|
||||
'';
|
||||
|
||||
checkInputs = with python.pkgs; [
|
||||
nativeCheckInputs = with python3.pkgs; [
|
||||
pytestCheckHook
|
||||
responses
|
||||
];
|
||||
@ -82,7 +65,6 @@ python.pkgs.buildPythonApplication rec {
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit python;
|
||||
updateScript = nix-update-script { };
|
||||
tests.version = testers.testVersion {
|
||||
package = gimme-aws-creds;
|
||||
|
@ -20,14 +20,14 @@ stdenv.mkDerivation {
|
||||
# Determine version and revision from:
|
||||
# https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced
|
||||
pname = "netpbm";
|
||||
version = "11.7.1";
|
||||
version = "11.8.1";
|
||||
|
||||
outputs = [ "bin" "out" "dev" ];
|
||||
|
||||
src = fetchsvn {
|
||||
url = "https://svn.code.sf.net/p/netpbm/code/advanced";
|
||||
rev = "4932";
|
||||
sha256 = "bmPqUPOlkQ0vKim+t8ct2ErFU4uWw6L5foODGWrrExs=";
|
||||
rev = "4966";
|
||||
sha256 = "sha256-Vy7aKyMn3C2P3N9jdRayDu35+8jzvQv4rYIEsKdyWDU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mu";
|
||||
version = "1.12.6";
|
||||
version = "1.12.7";
|
||||
|
||||
outputs = [ "out" "mu4e" ];
|
||||
|
||||
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "djcb";
|
||||
repo = "mu";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-/aWKhqDWkdOGuLViBkzqQ3WdULaEdcPnWTSthQZ8j4s=";
|
||||
hash = "sha256-FhmxF+ID8w1aVRKQ3gg5aY/dYWiGlO0TC9SDak7uzGI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, autoreconfHook
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, json_c
|
||||
, libnet
|
||||
, libpcap
|
||||
@ -10,17 +10,17 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ssldump";
|
||||
version = "1.7";
|
||||
version = "1.8-unstable-2024-10-16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "adulau";
|
||||
repo = "ssldump";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-BFE42wWqnGGTTjwej3LkH4XW2M4jP7XNSKHLnF2GFJo=";
|
||||
rev = "a7534300bb09184fec991b3b4f19a40538b8adea";
|
||||
hash = "sha256-6jmIPkyT5QCqQw07unc6nKTlxpajiLO05IFshWtCh7w=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
cmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@ -30,18 +30,6 @@ stdenv.mkDerivation rec {
|
||||
openssl
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
sed -i -e 's|#include.*net/bpf.h|#include <pcap/bpf.h>|' \
|
||||
base/pcap-snoop.c
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-pcap-lib=${libpcap}/lib"
|
||||
"--with-pcap-inc=${libpcap}/include"
|
||||
"--with-openssl-lib=${openssl}/lib"
|
||||
"--with-openssl-inc=${openssl}/include"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "SSLv3/TLS network protocol analyzer";
|
||||
homepage = "https://ssldump.sourceforge.net";
|
||||
|
@ -1,51 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, boost, libseccomp, flex, swig, bison, cmake, python3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "grap";
|
||||
version = "1.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "QuoSecGmbH";
|
||||
repo = "grap";
|
||||
rev = "v${version}";
|
||||
sha256 = "1fkdi7adfffxg1k4h6r9i69i3wi93s44c1j4cvr69blxsfh0mcnc";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
bison
|
||||
cmake
|
||||
flex
|
||||
python3
|
||||
swig
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost.all
|
||||
libseccomp
|
||||
];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DPYTHON_SITE_DIR=$out/${python3.sitePackages}"
|
||||
"../src"
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/tools/grap-match/CMakeLists.txt --replace "/usr/local/bin" "$out/bin"
|
||||
substituteInPlace src/tools/grap/CMakeLists.txt --replace "/usr/local/bin" "$out/bin"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Define and match graph patterns within binaries";
|
||||
longDescription = ''
|
||||
grap takes patterns and binary files, uses a Casptone-based disassembler to obtain the control flow graphs from the binaries, then matches the patterns against them.
|
||||
|
||||
Patterns are user-defined graphs with instruction conditions ("opcode is xor and arg1 is eax") and repetition conditions (3 identical instructions, basic blocks...).
|
||||
'';
|
||||
homepage = "https://github.com/QuoSecGmbH/grap/";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.s1341 ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "ugrep";
|
||||
version = "7.0.0";
|
||||
version = "7.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Genivia";
|
||||
repo = "ugrep";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-bq/j+9FVKs8c7YHo1wHiQ3eFgD1dpe1buwfgrH2SZKI=";
|
||||
hash = "sha256-3kqarrbg7VB0fUQSjqZCVBmr4Mc09NMr+03A5qhe54Y=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -5,16 +5,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "go2rtc";
|
||||
version = "1.9.4";
|
||||
version = "1.9.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AlexxIT";
|
||||
repo = "go2rtc";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-LK2+hNgP9EhnAL9QKzvfn0+pYjuJJDB7l1fd57jeCWw=";
|
||||
hash = "sha256-avak2cc8KDmlTrQutzULuvkWxSgdv3rMI7+G3+jNcdI=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-mUdUMZf3KhJyE0iv2yvWtkHa+pyXcv2RTZY+JtBLrSQ=";
|
||||
vendorHash = "sha256-N8aJmxNQ/p2ddJG9DuIVVjcgzEC6TzD0sz992h3q0RU=";
|
||||
|
||||
CGO_ENABLED = 0;
|
||||
|
||||
|
@ -402,6 +402,7 @@ mapAliases {
|
||||
gfortran48 = throw "'gfortran48' has been removed from nixpkgs"; # Added 2024-09-10
|
||||
gfortran49 = throw "'gfortran49' has been removed from nixpkgs"; # Added 2024-09-11
|
||||
ghostwriter = libsForQt5.kdeGear.ghostwriter; # Added 2023-03-18
|
||||
gmp5 = throw "'gmp5' has been removed as it is unmaintained. Consider using 'gmp' instead"; # Added 2024-10-28
|
||||
gmpc = throw "'gmpc' has been removed due to lack of maintenance upstream. Consider using 'plattenalbum' instead"; # Added 2024-09-14
|
||||
gmtk = throw "'gmtk' has been removed due to lack of maintenance upstream"; # Added 2024-09-14
|
||||
gmtp = throw "'gmtp' has been removed due to lack of maintenance upstream. Consider using 'gnome-music' instead"; # Added 2024-09-14
|
||||
|
@ -19801,7 +19801,6 @@ with pkgs;
|
||||
gmm = callPackage ../development/libraries/gmm { };
|
||||
|
||||
gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { }; # required by older GHC versions
|
||||
gmp5 = callPackage ../development/libraries/gmp/5.1.x.nix { };
|
||||
gmp6 = callPackage ../development/libraries/gmp/6.x.nix { };
|
||||
gmp = gmp6;
|
||||
gmpxx = gmp.override { cxx = true; };
|
||||
@ -27915,6 +27914,7 @@ with pkgs;
|
||||
|
||||
inherit (qt6Packages.callPackage ../applications/office/activitywatch { })
|
||||
aw-qt
|
||||
aw-notify
|
||||
aw-server-rust
|
||||
aw-watcher-afk
|
||||
aw-watcher-window;
|
||||
@ -31291,6 +31291,8 @@ with pkgs;
|
||||
|
||||
scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { };
|
||||
|
||||
scx = recurseIntoAttrs (callPackage ../os-specific/linux/scx { });
|
||||
|
||||
shod = callPackage ../applications/window-managers/shod { };
|
||||
|
||||
shogun = callPackage ../applications/science/machine-learning/shogun {
|
||||
@ -36644,8 +36646,6 @@ with pkgs;
|
||||
|
||||
gplates = libsForQt5.callPackage ../applications/science/misc/gplates { };
|
||||
|
||||
grap = callPackage ../tools/security/grap { };
|
||||
|
||||
gravit = callPackage ../applications/science/astronomy/gravit { };
|
||||
|
||||
golly = callPackage ../applications/science/misc/golly {
|
||||
|
@ -10307,6 +10307,8 @@ self: super: with self; {
|
||||
|
||||
pyloadapi = callPackage ../development/python-modules/pyloadapi { };
|
||||
|
||||
pylsl = callPackage ../development/python-modules/pylsl { };
|
||||
|
||||
pyngo = callPackage ../development/python-modules/pyngo { };
|
||||
|
||||
pyngrok = callPackage ../development/python-modules/pyngrok { };
|
||||
|
Loading…
Reference in New Issue
Block a user