Merge remote-tracking branch 'origin/staging-next' into staging

This commit is contained in:
K900 2024-10-29 09:16:04 +03:00
commit 4147fbe554
62 changed files with 9753 additions and 3472 deletions

View File

@ -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";

View File

@ -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.

View File

@ -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}
'';

View File

@ -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";

View File

@ -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 = {};
}

View File

@ -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.

View File

@ -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";

View File

@ -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;

View File

@ -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 ];

View File

@ -8,12 +8,9 @@
, makeWrapper
, makeDesktopItem
, copyDesktopItems
, electron_29
, electron
}:
let
electron = electron_29;
in
stdenv.mkDerivation rec {
pname = "kuro";
version = "9.0.0";

File diff suppressed because it is too large Load Diff

View File

@ -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 {

View File

@ -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
'';

View File

@ -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;
};
}

View File

@ -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 ];
};
}

View 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";
};
}

View 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";
};
}

View 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;
};
}

View File

@ -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";

View File

@ -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=";
})
];

View File

@ -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/"

View File

@ -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 = {

View 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";
};
})

View File

@ -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 ];
};
})

View 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";
};
})

View 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=";
})
]

View 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 ];
};
}

View 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)

View 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 ];
};
})

View File

@ -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;

View File

@ -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

View File

@ -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)
{

View File

@ -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

View File

@ -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";

View File

@ -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

View 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";
};
}

View File

@ -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
'';
}

View 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;
}

File diff suppressed because it is too large Load Diff

View 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";
};
}

View 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.
'';
};
}

File diff suppressed because it is too large Load Diff

View 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";
};
}

File diff suppressed because it is too large Load Diff

View 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";
};
}

File diff suppressed because it is too large Load Diff

View 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";
};
}

File diff suppressed because it is too large Load Diff

View 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";
};
}

View 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

View 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="
}
}

View File

@ -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=";
}

View File

@ -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;

View File

@ -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 = [

View File

@ -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 = ''

View File

@ -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";

View File

@ -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;
};
}

View File

@ -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 = [

View File

@ -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;

View File

@ -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

View File

@ -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 {

View File

@ -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 { };