mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-03 12:23:02 +00:00
Merge master into staging-next
This commit is contained in:
commit
10b5ff04c9
@ -3207,6 +3207,16 @@
|
||||
githubId = 3212452;
|
||||
name = "Cameron Nemo";
|
||||
};
|
||||
cameronraysmith = {
|
||||
email = "cameronraysmith@gmail.com";
|
||||
matrix = "@cameronraysmith:matrix.org";
|
||||
github = "cameronraysmith";
|
||||
githubId = 420942;
|
||||
name = "Cameron Smith";
|
||||
keys = [{
|
||||
fingerprint = "3F14 C258 856E 88AE E0F9 661E FF04 3B36 8811 DD1C";
|
||||
}];
|
||||
};
|
||||
camillemndn = {
|
||||
email = "camillemondon@free.fr";
|
||||
github = "camillemndn";
|
||||
|
@ -92,6 +92,11 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
|
||||
|
||||
- [Handheld Daemon](https://github.com/hhd-dev/hhd), support for gaming handhelds like the Legion Go, ROG Ally, and GPD Win. Available as [services.handheld-daemon](#opt-services.handheld-daemon.enable).
|
||||
|
||||
- [BenchExec](https://github.com/sosy-lab/benchexec), a framework for reliable benchmarking and resource measurement, available as [programs.benchexec](#opt-programs.benchexec.enable),
|
||||
As well as related programs
|
||||
[CPU Energy Meter](https://github.com/sosy-lab/cpu-energy-meter), available as [programs.cpu-energy-meter](#opt-programs.cpu-energy-meter.enable), and
|
||||
[PQoS Wrapper](https://gitlab.com/sosy-lab/software/pqos-wrapper), available as [programs.pqos-wrapper](#opt-programs.pqos-wrapper.enable).
|
||||
|
||||
- [Guix](https://guix.gnu.org), a functional package manager inspired by Nix. Available as [services.guix](#opt-services.guix.enable).
|
||||
|
||||
- [PhotonVision](https://photonvision.org/), a free, fast, and easy-to-use computer vision solution for the FIRST® Robotics Competition.
|
||||
|
@ -158,6 +158,7 @@
|
||||
./programs/bash/ls-colors.nix
|
||||
./programs/bash/undistract-me.nix
|
||||
./programs/bcc.nix
|
||||
./programs/benchexec.nix
|
||||
./programs/browserpass.nix
|
||||
./programs/calls.nix
|
||||
./programs/captive-browser.nix
|
||||
@ -167,6 +168,7 @@
|
||||
./programs/chromium.nix
|
||||
./programs/clash-verge.nix
|
||||
./programs/cnping.nix
|
||||
./programs/cpu-energy-meter.nix
|
||||
./programs/command-not-found/command-not-found.nix
|
||||
./programs/coolercontrol.nix
|
||||
./programs/criu.nix
|
||||
@ -250,6 +252,7 @@
|
||||
./programs/pantheon-tweaks.nix
|
||||
./programs/partition-manager.nix
|
||||
./programs/plotinus.nix
|
||||
./programs/pqos-wrapper.nix
|
||||
./programs/projecteur.nix
|
||||
./programs/proxychains.nix
|
||||
./programs/qdmr.nix
|
||||
|
98
nixos/modules/programs/benchexec.nix
Normal file
98
nixos/modules/programs/benchexec.nix
Normal file
@ -0,0 +1,98 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, options
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
cfg = config.programs.benchexec;
|
||||
opt = options.programs.benchexec;
|
||||
|
||||
filterUsers = x:
|
||||
if builtins.isString x then config.users.users ? ${x} else
|
||||
if builtins.isInt x then x else
|
||||
throw "filterUsers expects string (username) or int (UID)";
|
||||
|
||||
uid = x:
|
||||
if builtins.isString x then config.users.users.${x}.uid else
|
||||
if builtins.isInt x then x else
|
||||
throw "uid expects string (username) or int (UID)";
|
||||
in
|
||||
{
|
||||
options.programs.benchexec = {
|
||||
enable = lib.mkEnableOption "BenchExec";
|
||||
package = lib.options.mkPackageOption pkgs "benchexec" { };
|
||||
|
||||
users = lib.options.mkOption {
|
||||
type = with lib.types; listOf (either str int);
|
||||
description = ''
|
||||
Users that intend to use BenchExec.
|
||||
Provide usernames of users that are configured via {option}`${options.users.users}` as string,
|
||||
and UIDs of "mutable users" as integers.
|
||||
Control group delegation will be configured via systemd.
|
||||
For more information, see <https://github.com/sosy-lab/benchexec/blob/3.18/doc/INSTALL.md#setting-up-cgroups>.
|
||||
'';
|
||||
default = [ ];
|
||||
example = lib.literalExpression ''
|
||||
[
|
||||
"alice" # username of a user configured via ${options.users.users}
|
||||
1007 # UID of a mutable user
|
||||
]
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = (map
|
||||
(user: {
|
||||
assertion = config.users.users ? ${user};
|
||||
message = ''
|
||||
The user '${user}' intends to use BenchExec (via `${opt.users}`), but is not configured via `${options.users.users}`.
|
||||
'';
|
||||
})
|
||||
(builtins.filter builtins.isString cfg.users)
|
||||
) ++ (map
|
||||
(id: {
|
||||
assertion = config.users.mutableUsers;
|
||||
message = ''
|
||||
The user with UID '${id}' intends to use BenchExec (via `${opt.users}`), but mutable users are disabled via `${options.users.mutableUsers}`.
|
||||
'';
|
||||
})
|
||||
(builtins.filter builtins.isInt cfg.users)
|
||||
) ++ [
|
||||
{
|
||||
assertion = config.systemd.enableUnifiedCgroupHierarchy == true;
|
||||
message = ''
|
||||
The BenchExec module `${opt.enable}` only supports control groups 2 (`${options.systemd.enableUnifiedCgroupHierarchy} = true`).
|
||||
'';
|
||||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
# See <https://github.com/sosy-lab/benchexec/blob/3.18/doc/INSTALL.md#setting-up-cgroups>.
|
||||
systemd.services = builtins.listToAttrs (map
|
||||
(user: {
|
||||
name = "user@${builtins.toString (uid user)}";
|
||||
value = {
|
||||
serviceConfig.Delegate = "yes";
|
||||
overrideStrategy = "asDropin";
|
||||
};
|
||||
})
|
||||
(builtins.filter filterUsers cfg.users));
|
||||
|
||||
# See <https://github.com/sosy-lab/benchexec/blob/3.18/doc/INSTALL.md#requirements>.
|
||||
virtualisation.lxc.lxcfs.enable = lib.mkDefault true;
|
||||
|
||||
# See <https://github.com/sosy-lab/benchexec/blob/3.18/doc/INSTALL.md#requirements>.
|
||||
programs = {
|
||||
cpu-energy-meter.enable = lib.mkDefault true;
|
||||
pqos-wrapper.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
# See <https://github.com/sosy-lab/benchexec/blob/3.18/doc/INSTALL.md#kernel-requirements>.
|
||||
security.unprivilegedUsernsClone = true;
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ lorenzleutgeb ];
|
||||
}
|
27
nixos/modules/programs/cpu-energy-meter.nix
Normal file
27
nixos/modules/programs/cpu-energy-meter.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, ...
|
||||
}: {
|
||||
options.programs.cpu-energy-meter = {
|
||||
enable = lib.mkEnableOption "CPU Energy Meter";
|
||||
package = lib.mkPackageOption pkgs "cpu-energy-meter" { };
|
||||
};
|
||||
|
||||
config =
|
||||
let
|
||||
cfg = config.programs.cpu-energy-meter;
|
||||
in
|
||||
lib.mkIf cfg.enable {
|
||||
hardware.cpu.x86.msr.enable = true;
|
||||
|
||||
security.wrappers.${cfg.package.meta.mainProgram} = {
|
||||
owner = "nobody";
|
||||
group = config.hardware.cpu.x86.msr.group;
|
||||
source = lib.getExe cfg.package;
|
||||
capabilities = "cap_sys_rawio=ep";
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ lorenzleutgeb ];
|
||||
}
|
27
nixos/modules/programs/pqos-wrapper.nix
Normal file
27
nixos/modules/programs/pqos-wrapper.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ config
|
||||
, lib
|
||||
, pkgs
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
cfg = config.programs.pqos-wrapper;
|
||||
in
|
||||
{
|
||||
options.programs.pqos-wrapper = {
|
||||
enable = lib.mkEnableOption "PQoS Wrapper for BenchExec";
|
||||
package = lib.mkPackageOption pkgs "pqos-wrapper" { };
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
hardware.cpu.x86.msr.enable = true;
|
||||
|
||||
security.wrappers.${cfg.package.meta.mainProgram} = {
|
||||
owner = "nobody";
|
||||
group = config.hardware.cpu.x86.msr.group;
|
||||
source = lib.getExe cfg.package;
|
||||
capabilities = "cap_sys_rawio=eip";
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ lorenzleutgeb ];
|
||||
}
|
@ -144,6 +144,7 @@ in {
|
||||
bcachefs = handleTestOn ["x86_64-linux" "aarch64-linux"] ./bcachefs.nix {};
|
||||
beanstalkd = handleTest ./beanstalkd.nix {};
|
||||
bees = handleTest ./bees.nix {};
|
||||
benchexec = handleTest ./benchexec.nix {};
|
||||
binary-cache = handleTest ./binary-cache.nix {};
|
||||
bind = handleTest ./bind.nix {};
|
||||
bird = handleTest ./bird.nix {};
|
||||
|
54
nixos/tests/benchexec.nix
Normal file
54
nixos/tests/benchexec.nix
Normal file
@ -0,0 +1,54 @@
|
||||
import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
let
|
||||
user = "alice";
|
||||
in
|
||||
{
|
||||
name = "benchexec";
|
||||
|
||||
nodes.benchexec = {
|
||||
imports = [ ./common/user-account.nix ];
|
||||
|
||||
programs.benchexec = {
|
||||
enable = true;
|
||||
users = [ user ];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = { ... }:
|
||||
let
|
||||
runexec = lib.getExe' pkgs.benchexec "runexec";
|
||||
echo = builtins.toString pkgs.benchexec;
|
||||
test = lib.getExe (pkgs.writeShellApplication rec {
|
||||
name = "test";
|
||||
meta.mainProgram = name;
|
||||
text = "echo '${echo}'";
|
||||
});
|
||||
wd = "/tmp";
|
||||
stdout = "${wd}/runexec.out";
|
||||
stderr = "${wd}/runexec.err";
|
||||
in
|
||||
''
|
||||
start_all()
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
benchexec.succeed(''''\
|
||||
systemd-run \
|
||||
--property='StandardOutput=file:${stdout}' \
|
||||
--property='StandardError=file:${stderr}' \
|
||||
--unit=runexec --wait --user --machine='${user}@' \
|
||||
--working-directory ${wd} \
|
||||
'${runexec}' \
|
||||
--debug \
|
||||
--read-only-dir / \
|
||||
--hidden-dir /home \
|
||||
'${test}' \
|
||||
'''')
|
||||
benchexec.succeed("grep -s '${echo}' ${wd}/output.log")
|
||||
benchexec.succeed("test \"$(grep -Ec '((start|wall|cpu)time|memory)=' ${stdout})\" = 4")
|
||||
benchexec.succeed("! grep -E '(WARNING|ERROR)' ${stderr}")
|
||||
'';
|
||||
|
||||
interactive.nodes.benchexec.services.kmscon = {
|
||||
enable = true;
|
||||
fonts = [{ name = "Fira Code"; package = pkgs.fira-code; }];
|
||||
};
|
||||
})
|
@ -55,20 +55,20 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-pce-libretro",
|
||||
"rev": "b5dd6466f18714ab4c9702e5bdb51cc9dfea061b",
|
||||
"hash": "sha256-PBirwijCwaOcjRdyIyx/UsnYMQuojQuogK7X7Hte7r8="
|
||||
"rev": "0eb4b423452da40dbf4393e09d4126c3090a1210",
|
||||
"hash": "sha256-PhhItDKvlvx3uBDx+xEUVr0sW2Y9HiTR/IvsnXVNAqo="
|
||||
},
|
||||
"version": "unstable-2024-05-03"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"beetle-pce-fast": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-pce-fast-libretro",
|
||||
"rev": "e2c0259a6941285f853bdc81dfd33756e107c2c2",
|
||||
"hash": "sha256-S5p38rC5JqLL7ydeEtYR29rWFx1Pok3s7SNPr9zKwb8="
|
||||
"rev": "414149d335ce2a3284db6cdffbb8ed2ce42dbe5f",
|
||||
"hash": "sha256-sta71o4NJIPDZlQkAFLzx+XlHVA8MmUjuZ17MuCKhOY="
|
||||
},
|
||||
"version": "unstable-2024-05-03"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"beetle-pcfx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -85,10 +85,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-psx-libretro",
|
||||
"rev": "0c8abf7f9dda23874b5b9cecfcec519a9dfb032b",
|
||||
"hash": "sha256-psGXpYzKI1QicoHxGhHwR92kymZ+9EaJUpGMcM2OMUY="
|
||||
"rev": "1743ca1a97cc90eac463def2e6118602b3d230c0",
|
||||
"hash": "sha256-0ViuIo+iEIthRayJQeedOo2L+uTsJQh6PTJ21zlC/f0="
|
||||
},
|
||||
"version": "unstable-2024-05-10"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"beetle-saturn": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -115,10 +115,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-supergrafx-libretro",
|
||||
"rev": "77a965d3433b1585638b54aa6a15d0c33a64ea0c",
|
||||
"hash": "sha256-KuXvzse/EnzCcRoWVtZP1f/SKOp6qGrLbzbQEuFQGqA="
|
||||
"rev": "c96c05c0b6e948df00da7e6253ff3e2874314baa",
|
||||
"hash": "sha256-ruxp66E7D+r/9h7lzggIy9q9DKWKJikVzL5Oqsy9kQM="
|
||||
},
|
||||
"version": "unstable-2024-05-03"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"beetle-vb": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -155,20 +155,20 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "bluemsx-libretro",
|
||||
"rev": "e8a4280bcbd149d1e020adcd9469ad9d8bd67412",
|
||||
"hash": "sha256-uh4lMOCN1WXKVJybFkkGxIRWAlde74yPH5eaB1/1qsk="
|
||||
"rev": "0dcb73adef9601ca70d94b3f4e3ba1b3b54edbc0",
|
||||
"hash": "sha256-jjo9vUMRZjHwhnh5OiC1JuNc/diJWoa/GcHwHnLIFqw="
|
||||
},
|
||||
"version": "unstable-2023-11-10"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"bsnes": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "bsnes-libretro",
|
||||
"rev": "b2f3ca10ee48546ad267719fb21bcf6b503d91e6",
|
||||
"hash": "sha256-qClpkmkERAxdVL3DZvkUsmmGmFj6TArEBdS0AcIyXuA="
|
||||
"rev": "37606e377ebae5d3175cd6267e4ddfa3f3c5091f",
|
||||
"hash": "sha256-B1ragos8ZeCjg8Xlt6SC8V69iTZ6OXTpPptlWw4EMOU="
|
||||
},
|
||||
"version": "unstable-2024-05-03"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"bsnes-hd": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -287,10 +287,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "fbneo",
|
||||
"rev": "573c9b99e3cc0b11a652b2f21a22dcb15a2c4dda",
|
||||
"hash": "sha256-MTRv/F68GiEwt5iN4xilTWGgTw2mf2aAvqDExgeN/g0="
|
||||
"rev": "d64b24ca2eaf5dcdc0e9e5a8ada95af736ec80d7",
|
||||
"hash": "sha256-3arvKLXFXr7+s08IF4Qv215qfvi6uOk3afpo8zT4d3I="
|
||||
},
|
||||
"version": "unstable-2024-05-07"
|
||||
"version": "unstable-2024-05-15"
|
||||
},
|
||||
"fceumm": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -307,11 +307,11 @@
|
||||
"src": {
|
||||
"owner": "flyinghead",
|
||||
"repo": "flycast",
|
||||
"rev": "f13d7ad2dcf141f59a999090dbc0f78be196e665",
|
||||
"hash": "sha256-YFLSUaEikwLPglHh3t8sHiKHRn5cchKzzkJlZDdgVsU=",
|
||||
"rev": "88f23958ace20840fb2666ccc42750a6f9b20d19",
|
||||
"hash": "sha256-foLCf8E8HNT2DgSM5sUN4fkvJqBrlvOU6XBK4NgZzEU=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-05-11"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"fmsx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -348,20 +348,20 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "gambatte-libretro",
|
||||
"rev": "a7e645196f5e54904a056e390ac7ceb033037de0",
|
||||
"hash": "sha256-pz/IQpjySByHnRu64Ysd1LJPrcImMQ0CfTRV4ONUsA0="
|
||||
"rev": "238b195bca073bc1a2032c4e92c097d157e521f8",
|
||||
"hash": "sha256-i9+a1kVlJ6EPaCOMkuIZgujNEg6MwPRM3mHnhconWHo="
|
||||
},
|
||||
"version": "unstable-2024-05-10"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"genesis-plus-gx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "Genesis-Plus-GX",
|
||||
"rev": "ba9fc37cfa4930311a9c77b1d8a23df0cae95e9a",
|
||||
"hash": "sha256-Smw0MoUfewlz0zYQmtFLB0n8l0KyyoInohXZ7d9Xrwk="
|
||||
"rev": "58cf8471e3aa09ac4cb4c4b2dc5fdf3d1d54d626",
|
||||
"hash": "sha256-y1pVoKrIV5n2wKoUIkUEor2CKTx9CyvkDagkByuFeiE="
|
||||
},
|
||||
"version": "unstable-2024-05-10"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"gpsp": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -429,20 +429,20 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2003-libretro",
|
||||
"rev": "838f84f14422529c37bbb9803eb649209c8ba4e8",
|
||||
"hash": "sha256-NiqlA4FjHS0GLypEg6QbhEJlhV0YU7VmMquzqnyr7aA="
|
||||
"rev": "aed807fce1acd4fbc70f7ced8fa52548220082ac",
|
||||
"hash": "sha256-48C2vJIFfna2LcbcLVTTVmJzvV87DZBa+6UQz/LfaVU="
|
||||
},
|
||||
"version": "unstable-2024-02-08"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"mame2003-plus": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2003-plus-libretro",
|
||||
"rev": "11fad92faea0acfd3eb4fd15beced9088caab1fc",
|
||||
"hash": "sha256-ck+zdwiuVw4bhPSdQxEz8a0nj8J6GP7ccvYRZ1WJy8s="
|
||||
"rev": "f0135f7f610c43496f376dfddbc60fc0ed24a736",
|
||||
"hash": "sha256-jHilxNFL+n8QesjgD6lt8HQSVwA4uiLMsNa1JkkCIuA="
|
||||
},
|
||||
"version": "unstable-2024-05-03"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"mame2010": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -529,11 +529,11 @@
|
||||
"src": {
|
||||
"owner": "Javanaise",
|
||||
"repo": "mrboom-libretro",
|
||||
"rev": "3d5a840e424df30beaf2746c98f538ea1b44bd31",
|
||||
"hash": "sha256-emNX2U4y2CO6biJ6vwY15otRs44WbPJTGmgP+uCSUfM=",
|
||||
"rev": "d9695504924344eb681b526d0cc3bb5e3884a32b",
|
||||
"hash": "sha256-incaTU5pFv5K4jeiWx09Cp50+4Ewf13tT83zr7Zidmo=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-02-26"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"mupen64plus": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -631,10 +631,10 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "pcsx_rearmed",
|
||||
"rev": "87a0a6318564fc171d0b576da8ea7e629aa229e7",
|
||||
"hash": "sha256-quIvyfigl/4itSldj73HpZezeHQwVGlz/jQvwmmsDik="
|
||||
"rev": "db02598e737b8d50cd347fe2ef13cb85ade051dd",
|
||||
"hash": "sha256-BgqwKbmRXKIMfv8xPBH38wTMSVWvkFKOJCb0emZkx5Y="
|
||||
},
|
||||
"version": "unstable-2024-04-22"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"picodrive": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -652,22 +652,22 @@
|
||||
"src": {
|
||||
"owner": "jpd002",
|
||||
"repo": "Play-",
|
||||
"rev": "700a44a1548d099705c901203414724518c90d43",
|
||||
"hash": "sha256-OZO8vVA2B/SdckC2Rm/v35cdJDzkpdU9lJhFYEyyl1U=",
|
||||
"rev": "0efd17e79dc470c86cd1363a93130888c1e7a528",
|
||||
"hash": "sha256-+f1xOSqKUJmM0bhtsPR9zk6mybo2HOXLURtYVb6qBGU=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-05-05"
|
||||
"version": "unstable-2024-05-17"
|
||||
},
|
||||
"ppsspp": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "hrydgard",
|
||||
"repo": "ppsspp",
|
||||
"rev": "60ffd07116d0a2e07db141db8414524138b6f035",
|
||||
"hash": "sha256-tkIbsYjQRoV9A8NIDMJCRnHd+NCPycqrPu6JRjF6dHs=",
|
||||
"rev": "dbcac0e48c769e4874028496c6d6f6ecc418e16f",
|
||||
"hash": "sha256-Nn1kRh2xgKZWrrWRIuYkm4U7sJ5U9tMBRMZFTA4pcEE=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-05-03"
|
||||
"version": "unstable-2024-05-14"
|
||||
},
|
||||
"prboom": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -754,10 +754,10 @@
|
||||
"src": {
|
||||
"owner": "snes9xgit",
|
||||
"repo": "snes9x",
|
||||
"rev": "771b0ffc3792ffeca10baa88d6a62e3889060236",
|
||||
"hash": "sha256-U8O4u6gD8jopqzwcnWy9xLSuuBjMSq5nhncSQmrIePs="
|
||||
"rev": "8f41776532c407744c41e5d08444cb2dbd492c14",
|
||||
"hash": "sha256-w8RWXqTjAUVrg3U0aMdaZ5mOlZYhgARzOAgyc57AhGQ="
|
||||
},
|
||||
"version": "unstable-2024-05-01"
|
||||
"version": "unstable-2024-05-13"
|
||||
},
|
||||
"snes9x2002": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -794,10 +794,10 @@
|
||||
"src": {
|
||||
"owner": "stella-emu",
|
||||
"repo": "stella",
|
||||
"rev": "68e671169f11373e00c88b24d7b319a42b69a715",
|
||||
"hash": "sha256-WpkUbnYaohP6rDKYi3pPdDxGfW9f7d1QjhJVSBzqLjc="
|
||||
"rev": "49166ca9949708c3bddaed5cc549194c4bfcfae5",
|
||||
"hash": "sha256-Oszglo1BQYTkuSZ96RSIBa1A0v/4qLQSBzsSVmOq07I="
|
||||
},
|
||||
"version": "unstable-2024-05-03"
|
||||
"version": "unstable-2024-05-13"
|
||||
},
|
||||
"stella2014": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
@ -844,11 +844,11 @@
|
||||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "tic-80",
|
||||
"rev": "bd6ce86174fc7c9d7d3a86263acf3a7de1b62c11",
|
||||
"rev": "6412f72d0f4725c153ce3d245729b829e713542e",
|
||||
"hash": "sha256-RFp8sTSRwD+cgW3EYk3nBeY+zVKgZVQI5mjtfe2a64Q=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2022-06-11"
|
||||
"version": "unstable-2024-05-13"
|
||||
},
|
||||
"vba-m": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
|
@ -69,9 +69,9 @@ in rec {
|
||||
|
||||
unstable = fetchurl rec {
|
||||
# NOTE: Don't forget to change the hash for staging as well.
|
||||
version = "9.8";
|
||||
version = "9.9";
|
||||
url = "https://dl.winehq.org/wine/source/9.x/wine-${version}.tar.xz";
|
||||
hash = "sha256-hpQ8g47aj62aeUDUCZcDOUvx0b6aEBQ0L+2HnH3DuZM=";
|
||||
hash = "sha256-TWengSxKvUo96SMjjmD1qGsWrH+yD2KU4Nxu+ei+yjY=";
|
||||
inherit (stable) patches;
|
||||
|
||||
## see http://wiki.winehq.org/Gecko
|
||||
@ -117,7 +117,7 @@ in rec {
|
||||
staging = fetchFromGitLab rec {
|
||||
# https://gitlab.winehq.org/wine/wine-staging
|
||||
inherit (unstable) version;
|
||||
hash = "sha256-c69E+jr5DKdD8JJxQhM3ILJgvmGvOe54FqMghcVPkpg=";
|
||||
hash = "sha256-JJrt2zTCjI8Zectoa5B0eZm2BLQm9u5cHbqVEHygwd0=";
|
||||
domain = "gitlab.winehq.org";
|
||||
owner = "wine";
|
||||
repo = "wine-staging";
|
||||
|
@ -1,40 +0,0 @@
|
||||
{ lib, stdenv, fetchurl, unzip, makeWrapper
|
||||
, coreutils, gawk, which, gnugrep, findutils
|
||||
, jdk
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "openjump";
|
||||
version = "1.15";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/jump-pilot/OpenJUMP/1.15/OpenJUMP-Portable-1.15-r6241-CORE.zip";
|
||||
sha256 = "12snzkv83w6khcdqzp6xahqapwp82af6c7j2q8n0lj62hk79rfgl";
|
||||
};
|
||||
|
||||
# TODO: build from source
|
||||
unpackPhase = ''
|
||||
mkdir -p $out/bin;
|
||||
cd $out; unzip $src
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper unzip ];
|
||||
|
||||
installPhase = ''
|
||||
dir=$(echo $out/OpenJUMP-*)
|
||||
|
||||
chmod +x $dir/bin/oj_linux.sh
|
||||
makeWrapper $dir/bin/oj_linux.sh $out/bin/OpenJump \
|
||||
--set JAVA_HOME ${jdk.home} \
|
||||
--set PATH "${coreutils}/bin:${gawk}/bin:${which}/bin:${gnugrep}/bin:${findutils}/bin"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Open source Geographic Information System (GIS) written in the Java programming language";
|
||||
homepage = "http://www.openjump.org/index.html";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = [lib.maintainers.marcweber];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "OpenJump";
|
||||
};
|
||||
}
|
@ -51,11 +51,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "opera";
|
||||
version = "109.0.5097.80";
|
||||
version = "110.0.5130.23";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
|
||||
hash = "sha256-3NSinITYisulR5rNhSnwQC3D9pKWj4SdBtFt/9OgCvo=";
|
||||
hash = "sha256-Y1YmTUvXHOXBB5Mei8lX0DCoEkOmgVCPtT1GnTqNTtA=";
|
||||
};
|
||||
|
||||
unpackPhase = "dpkg-deb -x $src .";
|
||||
|
@ -5,11 +5,11 @@
|
||||
|
||||
appimageTools.wrapType2 rec {
|
||||
pname = "tutanota-desktop";
|
||||
version = "227.240502.0";
|
||||
version = "229.240514.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/tutao/tutanota/releases/download/tutanota-desktop-release-${version}/tutanota-desktop-linux.AppImage";
|
||||
hash = "sha256-D7qWwIFuCJmBvfdgf4Dsd2/jvi39tbAttaHOwLND4DY=";
|
||||
hash = "sha256-wUxg6Gu8jjV+EEvD9nt38BU5J3qoByvj+sUkilk4voc=";
|
||||
};
|
||||
|
||||
extraPkgs = pkgs: [ pkgs.libsecret ];
|
||||
|
@ -52,13 +52,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "sdrangel";
|
||||
version = "7.20.0";
|
||||
version = "7.20.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "f4exb";
|
||||
repo = "sdrangel";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-sS/ASTMdNJpllHqtmUsG+qBQ77j8IcG6l4g53/Lmcwk=";
|
||||
hash = "sha256-8v00JiPRCFqg+6wEZw5BrsHMvUYweigbroBHKQGOlHI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "river";
|
||||
version = "0.3.0";
|
||||
version = "0.3.1";
|
||||
|
||||
outputs = [ "out" ] ++ lib.optionals withManpages [ "man" ];
|
||||
|
||||
@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
repo = "river";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-6LZuWx0sC6bW0K7D0PR8hJlVW6i6NIzOOORdMu3Gk5U=";
|
||||
hash = "sha256-H/908/TP2uzJD1yH4mCXHvorY+4kAhzEkWn6nZGsyBg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
62
pkgs/by-name/be/benchexec/package.nix
Normal file
62
pkgs/by-name/be/benchexec/package.nix
Normal file
@ -0,0 +1,62 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
, libseccomp
|
||||
, nixosTests
|
||||
, testers
|
||||
, benchexec
|
||||
}:
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "benchexec";
|
||||
version = "3.21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sosy-lab";
|
||||
repo = "benchexec";
|
||||
rev = version;
|
||||
hash = "sha256-bE3brmmLHZQakDKvd47I1hm9Dcsu6DrSeJyjWWtEZWI=";
|
||||
};
|
||||
|
||||
pyproject = true;
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [ setuptools ];
|
||||
|
||||
# NOTE: CPU Energy Meter is not added,
|
||||
# because BenchExec should call the wrapper configured
|
||||
# via `security.wrappers.cpu-energy-meter`
|
||||
# in `programs.cpu-energy-meter`, which will have the required
|
||||
# capabilities to access MSR.
|
||||
# If we add `cpu-energy-meter` here, BenchExec will instead call an executable
|
||||
# without `CAP_SYS_RAWIO` and fail.
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
coloredlogs
|
||||
lxml
|
||||
pystemd
|
||||
pyyaml
|
||||
];
|
||||
|
||||
makeWrapperArgs = [ "--set-default LIBSECCOMP ${lib.getLib libseccomp}/lib/libseccomp.so" ];
|
||||
|
||||
passthru.tests =
|
||||
let
|
||||
testVersion = result: testers.testVersion {
|
||||
command = "${result} --version";
|
||||
package = benchexec;
|
||||
};
|
||||
in
|
||||
{
|
||||
nixos = nixosTests.benchexec;
|
||||
benchexec-version = testVersion "benchexec";
|
||||
runexec-version = testVersion "runexec";
|
||||
table-generator-version = testVersion "table-generator";
|
||||
containerexec-version = testVersion "containerexec";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Framework for Reliable Benchmarking and Resource Measurement.";
|
||||
homepage = "https://github.com/sosy-lab/benchexec";
|
||||
maintainers = with maintainers; [ lorenzleutgeb ];
|
||||
license = licenses.asl20;
|
||||
mainProgram = "benchexec";
|
||||
};
|
||||
}
|
@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "boxbuddy";
|
||||
version = "2.2.3";
|
||||
version = "2.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Dvlv";
|
||||
repo = "BoxBuddyRS";
|
||||
rev = version;
|
||||
hash = "sha256-b7b5IWo2REr0HBfsKbnFYcReEQG5SfuGDa9KSKIC3t0=";
|
||||
hash = "sha256-1a9rSVP40+ZKp21BJLO+6HGDf1m6dROqGyTkql58iA4=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-h+pDjS+VtvfiaWMQjpFHBBJ/8bZ0SRgayRmx4vg96Jw=";
|
||||
cargoHash = "sha256-Y89TkqjTmaYnFsQmg48FSPMFoUL7Wbgb2xh60boILdQ=";
|
||||
|
||||
# The software assumes it is installed either in flatpak or in the home directory
|
||||
# so the xdg data path needs to be patched here
|
||||
|
40
pkgs/by-name/cp/cpu-energy-meter/package.nix
Normal file
40
pkgs/by-name/cp/cpu-energy-meter/package.nix
Normal file
@ -0,0 +1,40 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, libcap
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cpu-energy-meter";
|
||||
version = "1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sosy-lab";
|
||||
repo = "cpu-energy-meter";
|
||||
rev = version;
|
||||
hash = "sha256-QW65Z8mRYLHcyLeOtNAHjwPNWAUP214wqIYclK+whFw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile \
|
||||
--replace "DESTDIR :=" "DESTDIR := $out" \
|
||||
--replace "PREFIX := /usr/local" "PREFIX :="
|
||||
'';
|
||||
|
||||
buildInputs = [ libcap ];
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-fcommon";
|
||||
|
||||
postInstall = ''
|
||||
install -Dm444 -t $out/etc/udev/rules.d $src/debian/additional_files/59-msr.rules
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool for measuring energy consumption of Intel CPUs";
|
||||
homepage = "https://github.com/sosy-lab/cpu-energy-meter";
|
||||
changelog = "https://github.com/sosy-lab/cpu-energy-meter/blob/main/CHANGELOG.md";
|
||||
maintainers = with maintainers; [ lorenzleutgeb ];
|
||||
license = licenses.bsd3;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
mainProgram = "cpu-energy-meter";
|
||||
};
|
||||
}
|
@ -1,100 +1,47 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, SDL2
|
||||
, SDL2_image
|
||||
, SDL2_net
|
||||
, alsa-lib
|
||||
, copyDesktopItems
|
||||
, darwin
|
||||
, fluidsynth
|
||||
, glib
|
||||
, gtest
|
||||
, iir1
|
||||
, libGL
|
||||
, libGLU
|
||||
, libjack2
|
||||
, libmt32emu
|
||||
, libogg
|
||||
, libpng
|
||||
, libpulseaudio
|
||||
, libslirp
|
||||
, libsndfile
|
||||
, makeDesktopItem
|
||||
, makeWrapper
|
||||
, meson
|
||||
, ninja
|
||||
, opusfile
|
||||
, pkg-config
|
||||
, speexdsp
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
SDL2,
|
||||
SDL2_image,
|
||||
SDL2_net,
|
||||
alsa-lib,
|
||||
darwin,
|
||||
fluidsynth,
|
||||
glib,
|
||||
gtest,
|
||||
iir1,
|
||||
libGL,
|
||||
libGLU,
|
||||
libjack2,
|
||||
libmt32emu,
|
||||
libogg,
|
||||
libpng,
|
||||
zlib-ng,
|
||||
libpulseaudio,
|
||||
libslirp,
|
||||
libsndfile,
|
||||
makeWrapper,
|
||||
meson,
|
||||
ninja,
|
||||
opusfile,
|
||||
pkg-config,
|
||||
speexdsp,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "dosbox-staging";
|
||||
version = "0.80.1";
|
||||
version = "0.81.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dosbox-staging";
|
||||
repo = "dosbox-staging";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-I90poBeLSq1c8PXyjrx7/UcbfqFNnnNiXfJdWhLPGMc=";
|
||||
hash = "sha256-XGssEyX+AVv7/ixgGTRtPFjsUSX0FT0fhP+TXsFl2fY=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Pull missind SDL2_net dependency:
|
||||
# https://github.com/dosbox-staging/dosbox-staging/pull/2358
|
||||
(fetchpatch {
|
||||
name = "sdl2-net.patch";
|
||||
url = "https://github.com/dosbox-staging/dosbox-staging/commit/1b02f187a39263f4b0285323dcfe184bccd749c2.patch";
|
||||
hash = "sha256-Ev97xApInu6r5wvI9Q7FhkSXqtMW/rwJj48fExvqnT0=";
|
||||
})
|
||||
|
||||
# Pull missing SDL2_image dependency:
|
||||
# https://github.com/dosbox-staging/dosbox-staging/pull/2239
|
||||
(fetchpatch {
|
||||
name = "sdl2-image.patch";
|
||||
url = "https://github.com/dosbox-staging/dosbox-staging/commit/ca8b7a906d29a3f8ce956c4af7dc829a6ac3e229.patch";
|
||||
hash = "sha256-WtTVSWWSlfXrdPVsnlDe4P5K/Fnj4QsOzx3Wo/Kusmg=";
|
||||
includes = [ "src/gui/meson.build" ];
|
||||
})
|
||||
]
|
||||
# Pagesize detection via syscall; remove when next stable version arrives
|
||||
++ [
|
||||
(fetchpatch {
|
||||
# Added as a parent commit of 7e20f6e
|
||||
# Fix ppc64le backend and 64K page size support (#2828)
|
||||
name = "meson-add-ppc64.patch";
|
||||
url = "https://github.com/dosbox-staging/dosbox-staging/commit/765bcc2b1d87050a4ea366bf22e1db075ad5660b.patch";
|
||||
hash = "sha256-RtkidyF7w6RrPmCKK4Bd+3FtAn/+/38xk2cl32+yzxw=";
|
||||
includes = [ "meson.build" ];
|
||||
})
|
||||
(fetchpatch {
|
||||
# Added as a parent commit of 7e20f6e
|
||||
# Account for debian powerpc prefix (instead of ppc)
|
||||
name = "meson-powerpc64le.patch";
|
||||
url = "https://github.com/dosbox-staging/dosbox-staging/commit/d44aa7441cd871ffac08974f22af7a735a839288.patch";
|
||||
hash = "sha256-oMZtfmB1CRlDWyXwEWc3XzC+XxKazXDgo+jUiNBoJDw=";
|
||||
includes = [ "meson.build" ];
|
||||
})
|
||||
(fetchpatch {
|
||||
# Added as a parent commit of 7e20f6e
|
||||
# Restore the PowerPC dynrec core to working order
|
||||
name = "meson-option-write-or-execute.patch";
|
||||
url = "https://github.com/dosbox-staging/dosbox-staging/commit/ef86642de390839afc77b2b591a6ea9ac43909b3.patch";
|
||||
hash = "sha256-htOKEaXRRy28XNMX/t6uFTBLCkTr7YPtfmI9UyIBiz4=";
|
||||
includes = [ "meson_options.txt" ];
|
||||
})
|
||||
(fetchpatch {
|
||||
# Use a system call to detect the page size
|
||||
name = "meson-detect-pagesize-by-syscall.patch";
|
||||
url = "https://github.com/dosbox-staging/dosbox-staging/commit/7e20f6e401956a7a308f1b3462294d7ac9fa5db8.patch";
|
||||
hash = "sha256-QW9lpHWCYSlQFgTqX/UxHAAWisz4wfPrdjLqROn/wR0=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
copyDesktopItems
|
||||
gtest
|
||||
makeWrapper
|
||||
meson
|
||||
@ -102,43 +49,40 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fluidsynth
|
||||
glib
|
||||
iir1
|
||||
libGL
|
||||
libGLU
|
||||
libjack2
|
||||
libmt32emu
|
||||
libogg
|
||||
libpng
|
||||
libpulseaudio
|
||||
libslirp
|
||||
libsndfile
|
||||
opusfile
|
||||
SDL2
|
||||
SDL2_image
|
||||
SDL2_net
|
||||
speexdsp
|
||||
] ++ lib.optionals stdenv.isLinux [
|
||||
alsa-lib
|
||||
] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
|
||||
AudioUnit
|
||||
Carbon
|
||||
Cocoa
|
||||
]);
|
||||
buildInputs =
|
||||
[
|
||||
fluidsynth
|
||||
glib
|
||||
iir1
|
||||
libGL
|
||||
libGLU
|
||||
libjack2
|
||||
libmt32emu
|
||||
libogg
|
||||
libpng
|
||||
zlib-ng
|
||||
libpulseaudio
|
||||
libslirp
|
||||
libsndfile
|
||||
opusfile
|
||||
SDL2
|
||||
SDL2_image
|
||||
SDL2_net
|
||||
speexdsp
|
||||
]
|
||||
++ lib.optionals stdenv.isLinux [ alsa-lib ]
|
||||
++ lib.optionals stdenv.isDarwin (
|
||||
with darwin.apple_sdk.frameworks;
|
||||
[
|
||||
AudioUnit
|
||||
Carbon
|
||||
Cocoa
|
||||
]
|
||||
);
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
name = "dosbox-staging";
|
||||
exec = "dosbox-staging";
|
||||
icon = "dosbox-staging";
|
||||
comment = "x86 dos emulator enhanced";
|
||||
desktopName = "DosBox-Staging";
|
||||
genericName = "DOS emulator";
|
||||
categories = [ "Emulator" "Game" ];
|
||||
})
|
||||
];
|
||||
postInstall = ''
|
||||
install -Dm644 $src/contrib/linux/dosbox-staging.desktop $out/share/applications/
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# Rename binary, add a wrapper, and copy manual to avoid conflict with
|
||||
@ -154,6 +98,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
popd
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
homepage = "https://dosbox-staging.github.io/";
|
||||
description = "A modernized DOS emulator";
|
||||
@ -164,9 +110,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
practices.
|
||||
'';
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ joshuafern AndersonTorres ];
|
||||
maintainers = with lib.maintainers; [
|
||||
joshuafern
|
||||
AndersonTorres
|
||||
];
|
||||
platforms = lib.platforms.unix;
|
||||
priority = 101;
|
||||
};
|
||||
})
|
||||
# TODO: report upstream about not finding SDL2_net
|
||||
|
@ -7,16 +7,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "files-cli";
|
||||
version = "2.13.41";
|
||||
version = "2.13.49";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "files-cli";
|
||||
owner = "files-com";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-WW6E0K3HOi8gtBwcmN9syV4wM73BPGyXbv3t4ZJjoIc=";
|
||||
hash = "sha256-QQ2UzWGodQASHJVfnTIp/BUNkAPAV0q8UpTk7qBYgc0=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-LdebAbdbiUX0xw1EJKCzK1jdt5+FgoZQBPI0apZkcsc=";
|
||||
vendorHash = "sha256-L6UnKbqS6aO8+XSPt5KaKGYr30y9RE+l4U3hapPHHvA=";
|
||||
|
||||
ldflags = [
|
||||
"-s"
|
||||
|
@ -11,16 +11,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "gitui";
|
||||
version = "0.26.1";
|
||||
version = "0.26.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "extrawurst";
|
||||
repo = "gitui";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-JqxZbxjZrrdsXWhpYu0E9F18gMldtOLrAYd+uiY8IcQ=";
|
||||
hash = "sha256-eXkbvBdymwOUPLimv2zaJr9zqc+5LGK3hghZ2aUVWA0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-zEoNyIiHQT6HBNSe+H7pz229K4eD0WMhp3I/6zJQHuU=";
|
||||
cargoHash = "sha256-Cb3/4l7fECVfmvPIw3n1QT8CoC+Kuohtfk+huKv9Yrg=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
@ -36,7 +36,7 @@ rustPlatform.buildRustPackage rec {
|
||||
# The cargo config overrides linkers for some targets, breaking the build
|
||||
# on e.g. `aarch64-linux`. These overrides are not required in the Nix
|
||||
# environment: delete them.
|
||||
rm .cargo/config
|
||||
rm .cargo/config.toml
|
||||
|
||||
# build script tries to get version information from git
|
||||
rm build.rs
|
||||
|
42
pkgs/by-name/op/openjump/package.nix
Normal file
42
pkgs/by-name/op/openjump/package.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{ lib, stdenv, fetchurl, unzip, makeWrapper
|
||||
, coreutils, gawk, which, gnugrep, findutils
|
||||
, jre
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openjump";
|
||||
version = "2.2.1";
|
||||
revision = "r5222%5B94156e5%5D";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/jump-pilot/OpenJUMP/${version}/OpenJUMP-Portable-${version}-${revision}-PLUS.zip";
|
||||
hash = "sha256-+/AMmD6NDPy+2Gq1Ji5i/QWGU7FOsU+kKsWoNXcx/VI=";
|
||||
};
|
||||
|
||||
# TODO: build from source
|
||||
unpackPhase = ''
|
||||
mkdir -p $out/opt
|
||||
unzip $src -d $out/opt
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper unzip ];
|
||||
|
||||
installPhase = ''
|
||||
dir=$(echo $out/opt/OpenJUMP-*)
|
||||
|
||||
chmod +x "$dir/bin/oj_linux.sh"
|
||||
makeWrapper "$dir/bin/oj_linux.sh" $out/bin/OpenJump \
|
||||
--set JAVA_HOME ${jre} \
|
||||
--set PATH ${lib.makeBinPath [ coreutils gawk which gnugrep findutils ]}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Open source Geographic Information System (GIS) written in the Java programming language";
|
||||
homepage = "http://www.openjump.org/";
|
||||
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = lib.teams.geospatial.members ++ [ lib.maintainers.marcweber ];
|
||||
platforms = jre.meta.platforms;
|
||||
mainProgram = "OpenJump";
|
||||
};
|
||||
}
|
@ -3,6 +3,7 @@
|
||||
lib,
|
||||
fetchurl,
|
||||
testers,
|
||||
installShellFiles,
|
||||
platformsh
|
||||
}:
|
||||
|
||||
@ -10,6 +11,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "platformsh";
|
||||
version = "5.0.13";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
src =
|
||||
{
|
||||
x86_64-darwin = fetchurl {
|
||||
@ -39,7 +42,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 platformsh $out/bin/platformsh
|
||||
install -Dm755 platform $out/bin/platform
|
||||
|
||||
installShellCompletion completion/bash/platform.bash \
|
||||
completion/zsh/_platform
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
28
pkgs/by-name/pq/pqos-wrapper/package.nix
Normal file
28
pkgs/by-name/pq/pqos-wrapper/package.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ lib
|
||||
, intel-cmt-cat
|
||||
, fetchFromGitLab
|
||||
, python3
|
||||
}:
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "pqos-wrapper";
|
||||
version = "unstable-2022-01-31";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
group = "sosy-lab";
|
||||
owner = "software";
|
||||
repo = pname;
|
||||
rev = "ce816497a07dcb4b931652b98359e4601a292b15";
|
||||
hash = "sha256-SaYr6lVucpJjVtGgxRbDGYbOoBwdfEDVKtvD+M1L0o4=";
|
||||
};
|
||||
|
||||
makeWrapperArgs = [ "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ intel-cmt-cat ]}" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Wrapper for Intel PQoS for the purpose of using it in BenchExec";
|
||||
homepage = "https://gitlab.com/sosy-lab/software/pqos-wrapper";
|
||||
maintainers = with maintainers; [ lorenzleutgeb ];
|
||||
license = licenses.asl20;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
mainProgram = "pqos_wrapper";
|
||||
};
|
||||
}
|
70
pkgs/by-name/ra/ratchet/package.nix
Normal file
70
pkgs/by-name/ra/ratchet/package.nix
Normal file
@ -0,0 +1,70 @@
|
||||
{
|
||||
lib,
|
||||
buildGoModule,
|
||||
fetchFromGitHub,
|
||||
callPackage,
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "ratchet";
|
||||
version = "0.9.2";
|
||||
|
||||
# ratchet uses the git sha-1 in the version string, e.g.
|
||||
#
|
||||
# $ ./ratchet --version
|
||||
# ratchet 0.9.2 (d57cc1a53c022d3f87c4820bc6b64384a06c8a07, darwin/arm64)
|
||||
#
|
||||
# so we need to either hard-code the sha-1 corresponding to the version tag
|
||||
# head or retain the git metadata folder and extract it using the git cli.
|
||||
# We currently hard-code it.
|
||||
src = fetchFromGitHub {
|
||||
owner = "sethvargo";
|
||||
repo = "ratchet";
|
||||
rev = "d57cc1a53c022d3f87c4820bc6b64384a06c8a07";
|
||||
hash = "sha256-gQ98uD9oPUsECsduv/lqGdYNmtHetU49ETfWCE8ft8U=";
|
||||
};
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = "sha256-J7LijbhpKDIfTcQMgk2x5FVaYG7Kgkba/1aSTmgs5yw=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
ldflags =
|
||||
let
|
||||
package_url = "github.com/sethvargo/ratchet";
|
||||
in
|
||||
[
|
||||
"-s"
|
||||
"-w"
|
||||
"-X ${package_url}/internal/version.name=${pname}"
|
||||
"-X ${package_url}/internal/version.version=${version}"
|
||||
"-X ${package_url}/internal/version.commit=${src.rev}"
|
||||
];
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/ratchet --version 2>&1 | grep ${version};
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin
|
||||
install -Dm755 "$GOPATH/bin/ratchet" -T $out/bin/ratchet
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
execution = callPackage ./tests.nix { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tool for securing CI/CD workflows with version pinning.";
|
||||
mainProgram = "ratchet";
|
||||
downloadPage = "https://github.com/sethvargo/ratchet";
|
||||
homepage = "https://github.com/sethvargo/ratchet";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [
|
||||
cameronraysmith
|
||||
ryanccn
|
||||
];
|
||||
};
|
||||
}
|
17
pkgs/by-name/ra/ratchet/tests.nix
Normal file
17
pkgs/by-name/ra/ratchet/tests.nix
Normal file
@ -0,0 +1,17 @@
|
||||
{
|
||||
lib,
|
||||
runCommand,
|
||||
ratchet,
|
||||
}: let
|
||||
inherit (ratchet) pname version;
|
||||
in
|
||||
runCommand "${pname}-tests" {meta.timeout = 60;}
|
||||
''
|
||||
set -euo pipefail
|
||||
|
||||
# Ensure ratchet is executable
|
||||
${ratchet}/bin/ratchet --version
|
||||
${ratchet}/bin/ratchet --help
|
||||
|
||||
touch $out
|
||||
''
|
@ -5,13 +5,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "tgpt";
|
||||
version = "2.7.3";
|
||||
version = "2.7.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aandrew-me";
|
||||
repo = "tgpt";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-tInbOCrGXZkyGrkXSppK7Qugh0E2CdjmybMeH49Wc5s=";
|
||||
hash = "sha256-Nk+iLsTXnw6RAc1VztW8ZqeUVsywFjMCOBY2yuWbUXQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-docq/r6yyMPsuUyFbtCMaYfEVL0gLmyTy4PbrAemR00=";
|
||||
|
@ -1,19 +1,36 @@
|
||||
{ fetchFromGitHub, lib, stdenv, ffmpeg-headless, cmake, libpng, pkg-config, libjpeg
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
pkg-config,
|
||||
ffmpeg-headless,
|
||||
libpng,
|
||||
libjpeg,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ffmpegthumbnailer";
|
||||
version = "unstable-2022-02-18";
|
||||
version = "unstable-2024-01-04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dirkvdb";
|
||||
repo = "ffmpegthumbnailer";
|
||||
rev = "3db9fe895b2fa656bb40ddb7a62e27604a688171";
|
||||
sha256 = "0606pbg391l4s8mpyyalm9zrcnm75fwqdlrxy2gif9n21i2fm3rc";
|
||||
rev = "1b5a77983240bcf00a4ef7702c07bcd8f4e5f97c";
|
||||
hash = "sha256-7SPRQMPgdvP7J3HCf7F1eXxZjUH5vCYZ9UOwTUFMLp0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
buildInputs = [ ffmpeg-headless libpng libjpeg ];
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
ffmpeg-headless
|
||||
libpng
|
||||
libjpeg
|
||||
];
|
||||
|
||||
cmakeFlags = [ "-DENABLE_THUMBNAILER=ON" ];
|
||||
|
||||
# https://github.com/dirkvdb/ffmpegthumbnailer/issues/215
|
||||
@ -22,21 +39,20 @@ stdenv.mkDerivation rec {
|
||||
--replace '$'{exec_prefix}/@CMAKE_INSTALL_LIBDIR@ @CMAKE_INSTALL_FULL_LIBDIR@
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/dirkvdb/ffmpegthumbnailer";
|
||||
meta = with lib; {
|
||||
description = "A lightweight video thumbnailer";
|
||||
mainProgram = "ffmpegthumbnailer";
|
||||
longDescription = "FFmpegthumbnailer is a lightweight video
|
||||
thumbnailer that can be used by file managers to create thumbnails
|
||||
for your video files. The thumbnailer uses ffmpeg o decode frames
|
||||
for your video files. The thumbnailer uses ffmpeg to decode frames
|
||||
from the video files, so supported videoformats depend on the
|
||||
configuration flags of ffmpeg.
|
||||
This thumbnailer was designed to be as fast and lightweight as possible.
|
||||
The only dependencies are ffmpeg and libpng.
|
||||
The only dependencies are ffmpeg and libpng/libjpeg.
|
||||
";
|
||||
platforms = platforms.unix;
|
||||
homepage = "https://github.com/dirkvdb/ffmpegthumbnailer";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.jagajaga ];
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "ffmpegthumbnailer";
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pycaption";
|
||||
version = "2.2.6";
|
||||
version = "2.2.7";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
owner = "pbs";
|
||||
repo = "pycaption";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-XN83L6WsRyl9G0ia4uz3SCVcwwUNUyfNMB64RfZh+PA=";
|
||||
hash = "sha256-0rh8w4zQN5qAIPwnm7FO6VyPxMdutYFflpY+xWdEm3M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -21,7 +21,18 @@ buildPythonPackage rec {
|
||||
setuptools
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "png" ];
|
||||
patches = [
|
||||
# pngsuite is imported by code/test_png.py but is not defined in
|
||||
# setup.cfg, so it isn't built - this adds it to py_modules
|
||||
./setup-cfg-pngsuite.patch
|
||||
];
|
||||
|
||||
# allow tests to use the binaries produced by this package
|
||||
preCheck = ''
|
||||
export PATH="$out/bin:$PATH"
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "png" "pngsuite" ];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
|
@ -0,0 +1,12 @@
|
||||
diff --git a/setup.cfg b/setup.cfg
|
||||
index 04bba8a..db159d2 100644
|
||||
--- a/setup.cfg
|
||||
+++ b/setup.cfg
|
||||
@@ -28,6 +28,7 @@ package_dir =
|
||||
= code
|
||||
py_modules =
|
||||
png
|
||||
+ pngsuite
|
||||
scripts =
|
||||
code/prichunkpng
|
||||
code/pricolpng
|
File diff suppressed because it is too large
Load Diff
@ -10,7 +10,7 @@
|
||||
|
||||
let
|
||||
pname = "surrealdb-migrations";
|
||||
version = "1.1.0";
|
||||
version = "1.5.0";
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
inherit pname version;
|
||||
@ -19,7 +19,7 @@ rustPlatform.buildRustPackage rec {
|
||||
owner = "Odonno";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-UnRf9HdEcKH0cOWKJIjgjNBlSVjXyk27bwB+4ftzAcs=";
|
||||
hash = "sha256-x5WyaVHLVFCHWPqyEuaVSbeIaGXDB0o7h776udcC4DM=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
|
@ -11,16 +11,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-binstall";
|
||||
version = "1.6.6";
|
||||
version = "1.6.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cargo-bins";
|
||||
repo = "cargo-binstall";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-o31/cEkQyn89URqmJpOZHG6YII8VOle1X3vwdgJF334=";
|
||||
hash = "sha256-BMWcLEoqX8uHXazitOuzon5Sef3xMQ0b6Lk0IiVGFP8=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-kZZ2S3XDdCREuit3RIByLXn/tEiqY+Oap242ZXx6y6s=";
|
||||
cargoHash = "sha256-nAp2wySQ8u9lgixE9M6ri/Mk4BUBBe3CLHnqUv+mdxk=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
@ -71,18 +71,18 @@ let
|
||||
# To compute the commit when upgrading this derivation, do:
|
||||
# `$ git rev-parse <git-rev>` where <git-rev> is the git revision of the `src`
|
||||
# Example: `$ git rev-parse v4.16.1`
|
||||
commit = "9a28bc29dbddb6886dfe03dc1c31320249a901ce";
|
||||
commit = "effc6e95b4ad1c5ac5f9083ec06663ba4a2e005c";
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "code-server";
|
||||
version = "4.23.1";
|
||||
version = "4.89.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "coder";
|
||||
repo = "code-server";
|
||||
rev = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-nOfdEbnnNLfePhqGSXD/2A0DxqoJCo8U18VFYnNvFMU=";
|
||||
hash = "sha256-exFt7dgy076MJJKDzTRRlTVjucfIXVaXKgurYfJ1Uvo=";
|
||||
};
|
||||
|
||||
yarnCache = stdenv.mkDerivation {
|
||||
@ -114,7 +114,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = "sha256-MxUQ9Gw7MabLKPs5j8+Q4v7IULr68Pd/OIBWpfZ+rVU=";
|
||||
outputHash = "sha256-BYz7ym+tsdbExUNOL3GV0wSMYuy4Q0GadZterH0ZGM0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -18,11 +18,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ugs";
|
||||
version = "2.1.6";
|
||||
version = "2.1.7";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/winder/Universal-G-Code-Sender/releases/download/v${version}/UniversalGcodeSender.zip";
|
||||
hash = "sha256-6L/4s/QmlTnYnhwLgPf7z8UVkBUYXi3Wb3doa5JCViE=";
|
||||
hash = "sha256-HxaFGa7UG7dWtVKTLDRbhY7UCWeA6E50txz45bjb5uE=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
@ -27817,7 +27817,9 @@ with pkgs;
|
||||
|
||||
sdparm = callPackage ../os-specific/linux/sdparm { };
|
||||
|
||||
sdrangel = libsForQt5.callPackage ../applications/radio/sdrangel { };
|
||||
sdrangel = libsForQt5.callPackage ../applications/radio/sdrangel {
|
||||
stdenv = if stdenv.isDarwin then overrideSDK stdenv "11.0" else stdenv;
|
||||
};
|
||||
|
||||
setools = callPackage ../os-specific/linux/setools { };
|
||||
|
||||
@ -33463,8 +33465,6 @@ with pkgs;
|
||||
openexr = openexr_3;
|
||||
};
|
||||
|
||||
openjump = callPackage ../applications/misc/openjump { };
|
||||
|
||||
open-music-kontrollers = lib.recurseIntoAttrs {
|
||||
eteroj = callPackage ../applications/audio/open-music-kontrollers/eteroj.nix { };
|
||||
jit = callPackage ../applications/audio/open-music-kontrollers/jit.nix { };
|
||||
|
Loading…
Reference in New Issue
Block a user