mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-30 03:39:59 +00:00
Merge staging-next into staging
This commit is contained in:
@@ -48,6 +48,8 @@
|
||||
|
||||
- [Broadcast Box](https://github.com/Glimesh/broadcast-box), a WebRTC broadcast server. Available as [services.broadcast-box](options.html#opt-services.broadcast-box.enable).
|
||||
|
||||
- [boot.kernel.sysfs](options.html#opt-boot.kernel.sysfs) allows setting of sysfs attributes.
|
||||
|
||||
- Docker now defaults to 28.x, because version 27.x stopped receiving security updates and bug fixes after [May 2, 2025](https://github.com/moby/moby/pull/49910).
|
||||
|
||||
- [Corteza](https://cortezaproject.org/), a low-code platform. Available as [services.corteza](#opt-services.corteza.enable).
|
||||
|
||||
265
nixos/modules/config/sysfs.nix
Normal file
265
nixos/modules/config/sysfs.nix
Normal file
@@ -0,0 +1,265 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
utils,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
all
|
||||
any
|
||||
concatLines
|
||||
concatStringsSep
|
||||
escapeShellArg
|
||||
flatten
|
||||
floatToString
|
||||
foldl'
|
||||
head
|
||||
isAttrs
|
||||
isDerivation
|
||||
isFloat
|
||||
isList
|
||||
length
|
||||
listToAttrs
|
||||
match
|
||||
mapAttrsToList
|
||||
nameValuePair
|
||||
removePrefix
|
||||
tail
|
||||
throwIf
|
||||
;
|
||||
|
||||
inherit (lib.options)
|
||||
showDefs
|
||||
showOption
|
||||
;
|
||||
|
||||
inherit (lib.strings)
|
||||
escapeC
|
||||
isConvertibleWithToString
|
||||
;
|
||||
|
||||
inherit (lib.path.subpath) join;
|
||||
|
||||
inherit (utils) escapeSystemdPath;
|
||||
|
||||
cfg = config.boot.kernel.sysfs;
|
||||
|
||||
sysfsAttrs = with lib.types; nullOr (either sysfsValue (attrsOf sysfsAttrs));
|
||||
sysfsValue = lib.mkOptionType {
|
||||
name = "sysfs value";
|
||||
description = "sysfs attribute value";
|
||||
descriptionClass = "noun";
|
||||
check = v: isConvertibleWithToString v;
|
||||
merge =
|
||||
loc: defs:
|
||||
if length defs == 1 then
|
||||
(head defs).value
|
||||
else
|
||||
(foldl' (
|
||||
first: def:
|
||||
# merge definitions if they produce the same value string
|
||||
throwIf (mkValueString first.value != mkValueString def.value)
|
||||
"The option \"${showOption loc}\" has conflicting definition values:${
|
||||
showDefs [
|
||||
first
|
||||
def
|
||||
]
|
||||
}"
|
||||
first
|
||||
) (head defs) (tail defs)).value;
|
||||
};
|
||||
|
||||
mapAttrsToListRecursive =
|
||||
fn: set:
|
||||
let
|
||||
recurse =
|
||||
p: v:
|
||||
if isAttrs v && !isDerivation v then mapAttrsToList (n: v: recurse (p ++ [ n ]) v) v else fn p v;
|
||||
in
|
||||
flatten (recurse [ ] set);
|
||||
|
||||
mkPath = p: "/sys" + removePrefix "." (join p);
|
||||
hasGlob = p: any (n: match ''(.*[^\\])?[*?[].*'' n != null) p;
|
||||
|
||||
mkValueString =
|
||||
v:
|
||||
# true will be converted to "1" by toString, saving one branch
|
||||
if v == false then
|
||||
"0"
|
||||
else if isFloat v then
|
||||
floatToString v # warn about loss of precision
|
||||
else if isList v then
|
||||
concatStringsSep "," (map mkValueString v)
|
||||
else
|
||||
toString v;
|
||||
|
||||
# escape whitespace and linebreaks, as well as the escape character itself,
|
||||
# to ensure that field boundaries are always preserved
|
||||
escapeTmpfiles = escapeC [
|
||||
"\t"
|
||||
"\n"
|
||||
"\r"
|
||||
" "
|
||||
"\\"
|
||||
];
|
||||
|
||||
tmpfiles = pkgs.runCommand "nixos-sysfs-tmpfiles.d" { } (
|
||||
''
|
||||
mkdir "$out"
|
||||
''
|
||||
+ concatLines (
|
||||
mapAttrsToListRecursive (
|
||||
p: v:
|
||||
let
|
||||
path = mkPath p;
|
||||
in
|
||||
if v == null then
|
||||
[ ]
|
||||
else
|
||||
''
|
||||
printf 'w %s - - - - %s\n' \
|
||||
${escapeShellArg (escapeTmpfiles path)} \
|
||||
${escapeShellArg (escapeTmpfiles (mkValueString v))} \
|
||||
>"$out"/${escapeShellArg (escapeSystemdPath path)}.conf
|
||||
''
|
||||
) cfg
|
||||
)
|
||||
);
|
||||
in
|
||||
{
|
||||
options = {
|
||||
boot.kernel.sysfs = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
freeformType = lib.types.attrsOf sysfsAttrs // {
|
||||
description = "nested attribute set of null or sysfs attribute values";
|
||||
};
|
||||
};
|
||||
|
||||
description = ''
|
||||
sysfs attributes to be set as soon as they become available.
|
||||
|
||||
Attribute names represent path components in the sysfs filesystem and
|
||||
cannot be `.` or `..` nor contain any slash character (`/`).
|
||||
|
||||
Names may contain shell‐style glob patterns (`*`, `?` and `[…]`)
|
||||
matching a single path component, these should however be used with
|
||||
caution, as they may produce unexpected results if attribute paths
|
||||
overlap.
|
||||
|
||||
Values will be converted to strings, with list elements concatenated
|
||||
with commata and booleans converted to numeric values (`0` or `1`).
|
||||
|
||||
`null` values are ignored, allowing removal of values defined in other
|
||||
modules, as are empty attribute sets.
|
||||
|
||||
List values defined in different modules will _not_ be concatenated.
|
||||
|
||||
This option may only be used for attributes which can be set
|
||||
idempotently, as the configured values might be written more than once.
|
||||
'';
|
||||
|
||||
default = { };
|
||||
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
# enable transparent hugepages with deferred defragmentaion
|
||||
kernel.mm.transparent_hugepage = {
|
||||
enabled = "always";
|
||||
defrag = "defer";
|
||||
shmem_enabled = "within_size";
|
||||
};
|
||||
|
||||
devices.system.cpu = {
|
||||
# configure powesave frequency governor for all CPUs
|
||||
# the [0-9]* glob pattern ensures that other paths
|
||||
# like cpufreq or cpuidle are not matched
|
||||
"cpu[0-9]*" = {
|
||||
scaling_governor = "powersave";
|
||||
energy_performance_preference = 8;
|
||||
};
|
||||
|
||||
# disable frequency boost
|
||||
intel_pstate.no_turbo = true;
|
||||
};
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf (cfg != { }) {
|
||||
systemd = {
|
||||
paths = {
|
||||
"nixos-sysfs@" = {
|
||||
description = "/%I attribute watcher";
|
||||
pathConfig.PathExistsGlob = "/%I";
|
||||
unitConfig.DefaultDependencies = false;
|
||||
};
|
||||
}
|
||||
// listToAttrs (
|
||||
mapAttrsToListRecursive (
|
||||
p: v:
|
||||
if v == null then
|
||||
[ ]
|
||||
else
|
||||
nameValuePair "nixos-sysfs@${escapeSystemdPath (mkPath p)}" {
|
||||
overrideStrategy = "asDropin";
|
||||
wantedBy = [ "sysinit.target" ];
|
||||
before = [ "sysinit.target" ];
|
||||
}
|
||||
) cfg
|
||||
);
|
||||
|
||||
services."nixos-sysfs@" = {
|
||||
description = "/%I attribute setter";
|
||||
|
||||
unitConfig = {
|
||||
DefaultDependencies = false;
|
||||
AssertPathIsMountPoint = "/sys";
|
||||
AssertPathExistsGlob = "/%I";
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
|
||||
# while we could be tempted to use simple shell script to set the
|
||||
# sysfs attributes specified by the path or glob pattern, it is
|
||||
# almost impossible to properly escape a glob pattern so that it
|
||||
# can be used safely in a shell script
|
||||
ExecStart = "${lib.getExe' config.systemd.package "systemd-tmpfiles"} --prefix=/sys --create ${tmpfiles}/%i.conf";
|
||||
|
||||
# hardening may be overkill for such a simple and short‐lived
|
||||
# service, the following settings would however be suitable to deny
|
||||
# access to anything but /sys
|
||||
#ProtectProc = "noaccess";
|
||||
#ProcSubset = "pid";
|
||||
#ProtectSystem = "strict";
|
||||
#PrivateDevices = true;
|
||||
#SystemCallErrorNumber = "EPERM";
|
||||
#SystemCallFilter = [
|
||||
# "@basic-io"
|
||||
# "@file-system"
|
||||
#];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
warnings = mapAttrsToListRecursive (
|
||||
p: v:
|
||||
if hasGlob p then
|
||||
"Attribute path \"${concatStringsSep "." p}\" contains glob patterns. Please ensure that it does not overlap with other paths."
|
||||
else
|
||||
[ ]
|
||||
) cfg;
|
||||
|
||||
assertions = mapAttrsToListRecursive (p: v: {
|
||||
assertion = all (n: match ''(\.\.?|.*/.*)'' n == null) p;
|
||||
message = "Attribute path \"${concatStringsSep "." p}\" has invalid components.";
|
||||
}) cfg;
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ mvs ];
|
||||
}
|
||||
@@ -31,6 +31,7 @@
|
||||
./config/stub-ld.nix
|
||||
./config/swap.nix
|
||||
./config/sysctl.nix
|
||||
./config/sysfs.nix
|
||||
./config/system-environment.nix
|
||||
./config/system-path.nix
|
||||
./config/terminfo.nix
|
||||
|
||||
@@ -2311,11 +2311,28 @@ in
|
||||
|
||||
environment.etc = lib.mapAttrs' makePAMService enabledServices;
|
||||
|
||||
systemd = lib.optionalAttrs config.security.pam.services.login.updateWtmp {
|
||||
tmpfiles.packages = [ pkgs.util-linux.lastlog ]; # /lib/tmpfiles.d/lastlog2-tmpfiles.conf
|
||||
services.lastlog2-import.enable = true;
|
||||
packages = [ pkgs.util-linux.lastlog ]; # lib/systemd/system/lastlog2-import.service
|
||||
};
|
||||
systemd =
|
||||
lib.optionalAttrs
|
||||
(lib.any (service: service.updateWtmp) (lib.attrValues config.security.pam.services))
|
||||
{
|
||||
tmpfiles.packages = [ pkgs.util-linux.lastlog ]; # /lib/tmpfiles.d/lastlog2-tmpfiles.conf
|
||||
services.lastlog2-import = {
|
||||
enable = true;
|
||||
wantedBy = [ "default.target" ];
|
||||
after = [
|
||||
"local-fs.target"
|
||||
"systemd-tmpfiles-setup.service"
|
||||
];
|
||||
# TODO: ${pkgs.util-linux.lastlog}/lib/systemd/system/lastlog2-import.service
|
||||
# uses unpatched /usr/bin/mv, needs to be fixed on staging
|
||||
# in the meantime, use a service drop-in here
|
||||
serviceConfig.ExecStartPost = [
|
||||
""
|
||||
"${lib.getExe' pkgs.coreutils "mv"} /var/log/lastlog /var/log/lastlog.migrated"
|
||||
];
|
||||
};
|
||||
packages = [ pkgs.util-linux.lastlog ]; # lib/systemd/system/lastlog2-import.service
|
||||
};
|
||||
|
||||
security.pam.services = {
|
||||
other.text = ''
|
||||
|
||||
@@ -36,7 +36,7 @@ in
|
||||
};
|
||||
|
||||
configFile = lib.mkOption {
|
||||
type = lib.types.path;
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
example = lib.literalExpression ''
|
||||
pkgs.writeText "oxidized-config.yml" '''
|
||||
---
|
||||
@@ -122,6 +122,8 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
// lib.optionalAttrs (cfg.configFile != null) {
|
||||
"${cfg.dataDir}/.config/oxidized/config" = {
|
||||
"L+" = {
|
||||
argument = "${cfg.configFile}";
|
||||
|
||||
@@ -152,6 +152,7 @@ in
|
||||
ProtectSystem = "full";
|
||||
ReadWritePaths = [ cfg.dataDir ];
|
||||
RuntimeDirectory = "traefik";
|
||||
WorkingDirectory = cfg.dataDir;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1395,6 +1395,7 @@ in
|
||||
syncthing-folders = runTest ./syncthing-folders.nix;
|
||||
syncthing-relay = runTest ./syncthing-relay.nix;
|
||||
sysinit-reactivation = runTest ./sysinit-reactivation.nix;
|
||||
sysfs = runTest ./sysfs.nix;
|
||||
systemd = runTest ./systemd.nix;
|
||||
systemd-analyze = runTest ./systemd-analyze.nix;
|
||||
systemd-binfmt = handleTestOn [ "x86_64-linux" ] ./systemd-binfmt.nix { };
|
||||
|
||||
@@ -13,9 +13,18 @@
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.succeed("run0 --pty true") # perform full login
|
||||
print(machine.succeed("lastlog2 --active --user root"))
|
||||
machine.succeed("stat /var/lib/lastlog/lastlog2.db")
|
||||
with subtest("Test legacy lastlog import"):
|
||||
# create old lastlog file to test import
|
||||
# empty = nothing will actually be imported, but the service will run
|
||||
machine.succeed("touch /var/log/lastlog")
|
||||
machine.wait_for_unit("lastlog2-import.service")
|
||||
machine.succeed("journalctl -b --grep 'Starting Import lastlog data into lastlog2 database'")
|
||||
machine.succeed("stat /var/log/lastlog.migrated")
|
||||
|
||||
with subtest("Test lastlog entries are created by logins"):
|
||||
machine.wait_for_unit("multi-user.target")
|
||||
machine.succeed("run0 --pty true") # perform full login
|
||||
print(machine.succeed("lastlog2 --active --user root"))
|
||||
machine.succeed("stat /var/lib/lastlog/lastlog2.db")
|
||||
'';
|
||||
}
|
||||
|
||||
37
nixos/tests/sysfs.nix
Normal file
37
nixos/tests/sysfs.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{ lib, ... }:
|
||||
|
||||
{
|
||||
name = "sysfs";
|
||||
meta.maintainers = with lib.maintainers; [ mvs ];
|
||||
|
||||
nodes.machine = {
|
||||
boot.kernel.sysfs = {
|
||||
kernel.mm.transparent_hugepage = {
|
||||
enabled = "always";
|
||||
defrag = "defer";
|
||||
shmem_enabled = "within_size";
|
||||
};
|
||||
|
||||
block."*".queue.scheduler = "none";
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
{ nodes, ... }:
|
||||
let
|
||||
inherit (nodes.machine.boot.kernel) sysfs;
|
||||
in
|
||||
''
|
||||
from shlex import quote
|
||||
|
||||
def check(filename, contents):
|
||||
machine.succeed('grep -F -q {} {}'.format(quote(contents), quote(filename)))
|
||||
|
||||
check('/sys/kernel/mm/transparent_hugepage/enabled',
|
||||
'[${sysfs.kernel.mm.transparent_hugepage.enabled}]')
|
||||
check('/sys/kernel/mm/transparent_hugepage/defrag',
|
||||
'[${sysfs.kernel.mm.transparent_hugepage.defrag}]')
|
||||
check('/sys/kernel/mm/transparent_hugepage/shmem_enabled',
|
||||
'[${sysfs.kernel.mm.transparent_hugepage.shmem_enabled}]')
|
||||
'';
|
||||
}
|
||||
@@ -36,20 +36,20 @@ let
|
||||
|
||||
hash =
|
||||
{
|
||||
x86_64-linux = "sha256-EbgP2CjUBiC+2G7TkGyuxaqr35sTArls4lbDNTH1Pmc=";
|
||||
x86_64-darwin = "sha256-OrDuzSaPxuedhS21Hx1PNTbp6eQpfFfUbO05gIu5Ou8=";
|
||||
aarch64-linux = "sha256-V0aEGqBRf3qVKvPYNypQ9hYWovqQIC3kQq2goq/hVjA=";
|
||||
aarch64-darwin = "sha256-29i/+mz0NCU0ZCO+tzlbSl1iKx5/H89bGQTvRR5/PuA=";
|
||||
armv7l-linux = "sha256-VSsn4d9ztFgGXVZeCeTSHDD5n3aTBbHF/xx2JvTGOeQ=";
|
||||
x86_64-linux = "sha256-Fji3/9T8X2VQH6gUhReSuniuX2BX+4S7uPJWEZn56vc=";
|
||||
x86_64-darwin = "sha256-LgYdgiZbMdpe/KjAYuAVYEFFc1gcFSo5+/6lf15zUvk=";
|
||||
aarch64-linux = "sha256-WxJEjTvXK1N1FjEFv0nUX7oLgPrcKlPHYSiLkTcdhj4=";
|
||||
aarch64-darwin = "sha256-2H44MkP7Vv+j78DxGWROHCPdMQv2WzTrG1I7LANMYqg=";
|
||||
armv7l-linux = "sha256-Pw9krAFjrllNOsXipaZy7X7wnB7C8V45WU7HuKa59JQ=";
|
||||
}
|
||||
.${system} or throwSystem;
|
||||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.102.3";
|
||||
version = "1.103.0";
|
||||
|
||||
# This is used for VS Code - Remote SSH test
|
||||
rev = "488a1f239235055e34e673291fb8d8c810886f81";
|
||||
rev = "e3550cfac4b63ca4eafca7b601f0d2885817fd1f";
|
||||
in
|
||||
callPackage ./generic.nix {
|
||||
pname = "vscode" + lib.optionalString isInsiders "-insiders";
|
||||
@@ -82,7 +82,7 @@ callPackage ./generic.nix {
|
||||
src = fetchurl {
|
||||
name = "vscode-server-${rev}.tar.gz";
|
||||
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
|
||||
hash = "sha256-xVYG/EJRPRJBj3BSarTwpX9F1UM/OI+7ci6vQa64iWI=";
|
||||
hash = "sha256-GEN8WMPaYhwQsgml3tXWJP7F4RXH5vy6Ht0RUGauxnw=";
|
||||
};
|
||||
stdenv = stdenvNoCC;
|
||||
};
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "snes9x";
|
||||
version = "0-unstable-2025-07-03";
|
||||
version = "0-unstable-2025-08-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "snes9xgit";
|
||||
repo = "snes9x";
|
||||
rev = "68acd5bfa3146d7124233e3e372f6ffb5d8d0dcf";
|
||||
hash = "sha256-X3O4GirNXzjMNYH7UrItNpYGT+8NWPsKl+sAs036OCU=";
|
||||
rev = "f6c78e954d7f38498f82145d20a916acea6cbc57";
|
||||
hash = "sha256-oFKO9y6t0BXeykuqZYfe2KKJpkm7Y2b7JuMJYspkL3g=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "stella";
|
||||
version = "0-unstable-2025-07-28";
|
||||
version = "0-unstable-2025-08-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stella-emu";
|
||||
repo = "stella";
|
||||
rev = "211b4902d5b4440b0aa567dade4eebf77cd868aa";
|
||||
hash = "sha256-l2b2Lu9l5CwmfDsJazOdQ9mowxfAqJY4SEgtDxCnYxY=";
|
||||
rev = "92313128c3e2afdb9b3decf6642d342af18a1ab5";
|
||||
hash = "sha256-b1GaRB9Iv3qqyb3I9XKmEbkiplV+Wi3TflJdnQboLbw=";
|
||||
};
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
fetchpatch,
|
||||
runtimeShell,
|
||||
buildPackages,
|
||||
gettext,
|
||||
@@ -52,6 +53,15 @@ stdenv.mkDerivation rec {
|
||||
hash = "sha256-e7Wjda+CobYatblvVCGkMAO2aWrdSCp7q+qIEGnGDCY=";
|
||||
};
|
||||
|
||||
# Fix hangs in tests, hopefully
|
||||
# FIXME: remove in next release
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.com/sane-project/backends/-/commit/8acc267d5f4049d8438456821137ae56e91baea9.patch";
|
||||
hash = "sha256-IyupDeH1MPvEBnGaUzBbCu106Gp7zXxlPGFAaiiINQI=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Do not create lock dir in install phase
|
||||
sed -i '/^install-lockpath:/!b;n;c\ # pass' backend/Makefile.am
|
||||
|
||||
@@ -74,6 +74,7 @@ let
|
||||
"-D g15=OFF"
|
||||
"-D CMAKE_CXX_STANDARD=17" # protobuf >22 requires C++ 17
|
||||
"-D BUILD_NUMBER=${lib.versions.patch source.version}"
|
||||
"-D CMAKE_UNITY_BUILD=ON" # Upstream uses this in their build pipeline to speed up builds
|
||||
"-D bundled-gsl=OFF"
|
||||
"-D bundled-json=OFF"
|
||||
]
|
||||
|
||||
@@ -81,7 +81,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Easy to use, general purpose Computer Algebra System${lib.optionalString enableGui ", built with GUI."}";
|
||||
description = "Easy to use, general purpose Computer Algebra System, optionally with GUI";
|
||||
homepage = "http://www.yacas.org/";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = [ ];
|
||||
|
||||
@@ -38,7 +38,7 @@ linkFarm "writeShellApplication-tests" {
|
||||
script = writeShellApplication {
|
||||
name = "test-meta";
|
||||
text = "";
|
||||
meta.description = "A test for the `writeShellApplication` `meta` argument";
|
||||
meta.description = "Test for the `writeShellApplication` `meta` argument";
|
||||
};
|
||||
in
|
||||
assert script.meta.mainProgram == "test-meta";
|
||||
@@ -101,7 +101,7 @@ linkFarm "writeShellApplication-tests" {
|
||||
exit 1
|
||||
fi
|
||||
'';
|
||||
meta.description = "A test checking that `writeShellApplication` forwards extra arguments to `stdenv.mkDerivation`";
|
||||
meta.description = "Test checking that `writeShellApplication` forwards extra arguments to `stdenv.mkDerivation`";
|
||||
expected = "";
|
||||
};
|
||||
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "alpaca-proxy";
|
||||
version = "2.0.10";
|
||||
version = "2.0.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "samuong";
|
||||
repo = "alpaca";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-1CMuZl1bVlofogPwA2wRuQPlXNE2EM1B8rDDDaJGq64=";
|
||||
hash = "sha256-74JQ9ltJ7+sasySgNN3AaXlBILP7VgFN06adoNJG+Bc=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-N9qpyCQg6H1v/JGJ2wCxDX+ZTM9x6/BM6wQ26xC+dlE=";
|
||||
|
||||
@@ -2,36 +2,19 @@
|
||||
stdenv,
|
||||
fetchurl,
|
||||
lib,
|
||||
cmake,
|
||||
extra-cmake-modules,
|
||||
kdoctools,
|
||||
qca-qt5,
|
||||
qjson,
|
||||
qtquickcontrols2,
|
||||
qtscript,
|
||||
qtwebengine,
|
||||
karchive,
|
||||
kcmutils,
|
||||
kconfig,
|
||||
kdnssd,
|
||||
kguiaddons,
|
||||
kinit,
|
||||
kirigami2,
|
||||
knewstuff,
|
||||
knotifyconfig,
|
||||
ktexteditor,
|
||||
kwindowsystem,
|
||||
pkg-config,
|
||||
kdePackages,
|
||||
fftw,
|
||||
phonon,
|
||||
plasma-framework,
|
||||
threadweaver,
|
||||
breeze-icons,
|
||||
wrapQtAppsHook,
|
||||
curl,
|
||||
ffmpeg,
|
||||
gdk-pixbuf,
|
||||
gst_all_1,
|
||||
libaio,
|
||||
liblastfm,
|
||||
libmtp,
|
||||
libsysprof-capture,
|
||||
libunwind,
|
||||
loudmouth,
|
||||
lzo,
|
||||
lz4,
|
||||
@@ -43,11 +26,11 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "amarok";
|
||||
version = "3.2.2";
|
||||
version = "3.3.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/amarok/${finalAttrs.version}/amarok-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "sha256-/N48N9H4FezIiTD+bR6k1LCx7Tsz/NMt9VQq+HTdKrA=";
|
||||
hash = "sha256-OW8uqToH25XI+762gNeAai5ZVKUgxSwFZIXBHeYznAE=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -55,39 +38,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"doc"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
extra-cmake-modules
|
||||
kdoctools
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
qca-qt5
|
||||
qjson
|
||||
qtquickcontrols2
|
||||
qtscript
|
||||
qtwebengine
|
||||
karchive
|
||||
kcmutils
|
||||
kconfig
|
||||
kdnssd
|
||||
kguiaddons
|
||||
kinit
|
||||
kirigami2
|
||||
knewstuff
|
||||
knotifyconfig
|
||||
ktexteditor
|
||||
kwindowsystem
|
||||
phonon
|
||||
plasma-framework
|
||||
threadweaver
|
||||
buildInputs = [
|
||||
curl
|
||||
fftw
|
||||
ffmpeg
|
||||
gdk-pixbuf
|
||||
libaio
|
||||
liblastfm
|
||||
libmtp
|
||||
libsysprof-capture
|
||||
libunwind
|
||||
loudmouth
|
||||
lz4
|
||||
lzo
|
||||
@@ -95,15 +54,52 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
snappy
|
||||
taglib
|
||||
taglib_extras
|
||||
breeze-icons
|
||||
];
|
||||
]
|
||||
++ (with kdePackages; [
|
||||
qca
|
||||
qt5compat
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtwebengine
|
||||
kcmutils
|
||||
kcoreaddons
|
||||
kdnssd
|
||||
kio
|
||||
kpackage
|
||||
kstatusnotifieritem
|
||||
ktexteditor
|
||||
threadweaver
|
||||
])
|
||||
++ (with gst_all_1; [
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
]);
|
||||
|
||||
enableParallelBuilding = true;
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
]
|
||||
++ (with kdePackages; [
|
||||
extra-cmake-modules
|
||||
kdoctools
|
||||
qttools
|
||||
wrapQtAppsHook
|
||||
]);
|
||||
|
||||
meta = with lib; {
|
||||
env.LANG = "C.UTF-8";
|
||||
|
||||
postInstall = ''
|
||||
qtWrapperArgs+=(
|
||||
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
|
||||
)
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = "https://amarok.kde.org";
|
||||
description = "Powerful music player with an intuitive interface";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
mainProgram = "amarok";
|
||||
};
|
||||
})
|
||||
@@ -90,10 +90,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
meta = {
|
||||
homepage = "https://github.com/opencollab/arpack-ng";
|
||||
changelog = "https://github.com/opencollab/arpack-ng/blob/${finalAttrs.version}/CHANGES";
|
||||
description = ''
|
||||
A collection of Fortran77 subroutines to solve large scale eigenvalue
|
||||
problems.
|
||||
'';
|
||||
description = "Collection of Fortran77 subroutines to solve large scale eigenvalue problems";
|
||||
license = lib.licenses.bsd3;
|
||||
maintainers = with lib.maintainers; [
|
||||
ttuegel
|
||||
|
||||
85
pkgs/by-name/bl/blink-qt/package.nix
Normal file
85
pkgs/by-name/bl/blink-qt/package.nix
Normal file
@@ -0,0 +1,85 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fetchpatch2,
|
||||
python3Packages,
|
||||
qt6Packages,
|
||||
libvncserver,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "blink-qt";
|
||||
version = "6.0.4";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AGProjects";
|
||||
repo = "blink-qt";
|
||||
tag = version;
|
||||
hash = "sha256-QESg9yo5oddYqSKuFLSMI2Oju3FCq97+j0uJDK85Yy8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove when version > 6.0.4
|
||||
(fetchpatch2 {
|
||||
url = "https://github.com/AGProjects/blink-qt/commit/45343c90ae0680a3d03589fa8a12ac1eb85a6925.patch";
|
||||
hash = "sha256-XwV5L3r0IqWkhlaJypS2cHkDCcoumOgEEqDpdcaTviE=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ qt6Packages.wrapQtAppsHook ];
|
||||
|
||||
build-system = with python3Packages; [
|
||||
cython
|
||||
setuptools
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libvncserver
|
||||
qt6Packages.qtbase
|
||||
qt6Packages.qtsvg
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
dateutils
|
||||
dnspython
|
||||
google-api-python-client
|
||||
lxml
|
||||
lxml-html-clean
|
||||
msrplib
|
||||
oauth2client
|
||||
otr
|
||||
pgpy
|
||||
pyqt6
|
||||
pyqt6-webengine
|
||||
python3-application
|
||||
python3-eventlib
|
||||
python3-gnutls
|
||||
sipsimple
|
||||
sqlobject
|
||||
standard-imghdr
|
||||
xcaplib
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${qtWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
pythonImportsCheck = [ "blink" ];
|
||||
|
||||
# no upstream tests exist
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Blink SIP Client";
|
||||
homepage = "https://icanblink.com";
|
||||
downloadPage = "https://github.com/agprojects/blink-qt";
|
||||
changelog = "https://github.com/AGProjects/blink-qt/releases/tag/${version}";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
teams = [ lib.teams.ngi ];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "blink";
|
||||
};
|
||||
}
|
||||
@@ -69,7 +69,7 @@ stdenv.mkDerivation {
|
||||
+ lib.optionalString stdenv.cc.isClang " -Wno-error=incompatible-function-pointer-types";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Buzztrax is a modular music composer for Linux";
|
||||
description = "Modular music composer for Linux";
|
||||
homepage = "https://www.buzztrax.org/";
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = [ maintainers.bendlas ];
|
||||
|
||||
74
pkgs/by-name/ca/capnproto/fix-libucontext.patch
Normal file
74
pkgs/by-name/ca/capnproto/fix-libucontext.patch
Normal file
@@ -0,0 +1,74 @@
|
||||
From f26dd335c8650a2f8ab7d6e4fb5dfc40ee6af618 Mon Sep 17 00:00:00 2001
|
||||
From: Jade Lovelace <software@lfcode.ca>
|
||||
Date: Sun, 10 Aug 2025 10:54:14 +0000
|
||||
Subject: [PATCH] fix: include libucontext in Requires.private in cmake builds
|
||||
|
||||
This is required so that static musl actually links to libucontext
|
||||
correctly to get setcontext/etc for fibers.
|
||||
---
|
||||
c++/CMakeLists.txt | 4 ++++
|
||||
c++/configure.ac | 4 ++++
|
||||
c++/pkgconfig/kj-async.pc.in | 1 +
|
||||
3 files changed, 9 insertions(+)
|
||||
|
||||
diff --git a/c++/CMakeLists.txt b/c++/CMakeLists.txt
|
||||
index f335f12f7c..b2a24e40e0 100644
|
||||
--- a/c++/CMakeLists.txt
|
||||
+++ b/c++/CMakeLists.txt
|
||||
@@ -96,6 +96,9 @@ set_property(CACHE WITH_FIBERS PROPERTY STRINGS AUTO ON OFF)
|
||||
# CapnProtoConfig.cmake.in needs this variable.
|
||||
set(_WITH_LIBUCONTEXT OFF)
|
||||
|
||||
+# Used by pkg-config files
|
||||
+set(ASYNC_REQUIRES_PRIVATE "")
|
||||
+
|
||||
if (WITH_FIBERS OR WITH_FIBERS STREQUAL "AUTO")
|
||||
set(_capnp_fibers_found OFF)
|
||||
if (WIN32 OR CYGWIN)
|
||||
@@ -116,6 +119,7 @@ if (WITH_FIBERS OR WITH_FIBERS STREQUAL "AUTO")
|
||||
if (libucontext_FOUND)
|
||||
set(_WITH_LIBUCONTEXT ON)
|
||||
set(_capnp_fibers_found ON)
|
||||
+ set(ASYNC_REQUIRES_PRIVATE "${ASYNC_REQUIRES_PRIVATE} libucontext")
|
||||
endif()
|
||||
else()
|
||||
set(_capnp_fibers_found OFF)
|
||||
diff --git a/c++/configure.ac b/c++/configure.ac
|
||||
index a2de7aac80..ce3c632e8c 100644
|
||||
--- a/c++/configure.ac
|
||||
+++ b/c++/configure.ac
|
||||
@@ -216,6 +216,8 @@ AS_IF([test "$with_fibers" != no], [
|
||||
])
|
||||
])
|
||||
|
||||
+ASYNC_REQUIRES_PRIVATE=""
|
||||
+
|
||||
# Check for library support necessary for fibers.
|
||||
AS_IF([test "$with_fibers" != no], [
|
||||
case "${host_os}" in
|
||||
@@ -241,6 +243,7 @@ AS_IF([test "$with_fibers" != no], [
|
||||
])
|
||||
AS_IF([test "$ucontext_supports_fibers" = yes], [
|
||||
ASYNC_LIBS="$ASYNC_LIBS -lucontext"
|
||||
+ ASYNC_REQUIRES_PRIVATE="$ASYNC_REQUIRES_PRIVATE libucontext"
|
||||
with_fibers=yes
|
||||
], [
|
||||
AS_IF([test "$with_fibers" = yes], [
|
||||
@@ -259,6 +262,7 @@ AS_IF([test "$with_fibers" = yes], [
|
||||
], [
|
||||
CXXFLAGS="$CXXFLAGS -DKJ_USE_FIBERS=0"
|
||||
])
|
||||
+AC_SUBST(ASYNC_REQUIRES_PRIVATE, $ASYNC_REQUIRES_PRIVATE)
|
||||
|
||||
# CapnProtoConfig.cmake.in needs these variables,
|
||||
# we force them to NO because we don't need the CMake dependency for them,
|
||||
diff --git a/c++/pkgconfig/kj-async.pc.in b/c++/pkgconfig/kj-async.pc.in
|
||||
index 49d5ff6996..41aae28555 100644
|
||||
--- a/c++/pkgconfig/kj-async.pc.in
|
||||
+++ b/c++/pkgconfig/kj-async.pc.in
|
||||
@@ -8,4 +8,5 @@ Description: Basic utility library called KJ (async part)
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -lkj-async @ASYNC_LIBS@ @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ @STDLIB_FLAG@
|
||||
Requires: kj = @VERSION@
|
||||
+Requires.private: @ASYNC_REQUIRES_PRIVATE@
|
||||
Cflags: -I${includedir} @ASYNC_LIBS@ @PTHREAD_CFLAGS@ @STDLIB_FLAG@ @CAPNP_LITE_FLAG@
|
||||
@@ -1,11 +1,14 @@
|
||||
{
|
||||
binutils,
|
||||
lib,
|
||||
libucontext,
|
||||
pkg-config,
|
||||
clangStdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
openssl,
|
||||
zlib,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -40,12 +43,22 @@ clangStdenv.mkDerivation rec {
|
||||
hash = "sha256-aDcn4bLZGq8915/NPPQsN5Jv8FRWd8cAspkG3078psc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
patches = [
|
||||
# https://github.com/capnproto/capnproto/pull/2377
|
||||
./fix-libucontext.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
];
|
||||
propagatedBuildInputs = [
|
||||
openssl
|
||||
zlib
|
||||
]
|
||||
++ lib.optional (clangStdenv.cc.isClang && clangStdenv.hostPlatform.isStatic) empty-libgcc_eh;
|
||||
++ lib.optional (clangStdenv.cc.isClang && clangStdenv.hostPlatform.isStatic) empty-libgcc_eh
|
||||
# musl doesn't ship getcontext/setcontext unlike basically every other libc
|
||||
++ lib.optional clangStdenv.hostPlatform.isMusl libucontext;
|
||||
|
||||
# FIXME: separate the binaries from the stuff that user systems actually use
|
||||
# This runs into a terrible UX issue in Lix and I just don't want to debug it
|
||||
@@ -55,6 +68,10 @@ clangStdenv.mkDerivation rec {
|
||||
|
||||
cmakeFlags = [
|
||||
(lib.cmakeBool "BUILD_SHARED_LIBS" true)
|
||||
# merely requires setcontext/getcontext (libc), lix expects fibers to
|
||||
# be available, and we want to make sure that the build will fail if
|
||||
# it breaks
|
||||
(lib.cmakeBool "WITH_FIBERS" true)
|
||||
# Take optimization flags from CXXFLAGS rather than cmake injecting them
|
||||
(lib.cmakeFeature "CMAKE_BUILD_TYPE" "None")
|
||||
];
|
||||
@@ -66,6 +83,8 @@ clangStdenv.mkDerivation rec {
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://capnproto.org/";
|
||||
description = "Cap'n Proto cerealization protocol";
|
||||
|
||||
@@ -24,7 +24,7 @@ stdenvNoCC.mkDerivation {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cardo is a large Unicode font specifically designed for the needs of classicists, Biblical scholars, medievalists, and linguists";
|
||||
description = "Large Unicode font specifically designed for the needs of classicists, Biblical scholars, medievalists, and linguists";
|
||||
longDescription = ''
|
||||
Cardo is a large Unicode font specifically designed for the needs of
|
||||
classicists, Biblical scholars, medievalists, and linguists. It also
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "cargo-tally";
|
||||
version = "1.0.66";
|
||||
version = "1.0.67";
|
||||
|
||||
src = fetchCrate {
|
||||
inherit pname version;
|
||||
hash = "sha256-PC/gscMO7oYcsd/cVcP5WZYweWRsh23Z7Do/qeGjAOc=";
|
||||
hash = "sha256-Jt7pEpy06xoYWLIMustYvVB81fcGEK7GYvh5ukDUiQ0=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-00J8ip2fr/nphY0OXVOLKv7gaHitMziwsdJ4YBaYxog=";
|
||||
cargoHash = "sha256-gXFcsaXaCkX4wQ9/eHr9CUI/r6KEAfZ8HYiDqBRtQeA=";
|
||||
|
||||
meta = {
|
||||
description = "Graph the number of crates that depend on your crate over time";
|
||||
|
||||
@@ -200,7 +200,15 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python or Matlab/Octave";
|
||||
description = "Symbolic framework for numeric optimization";
|
||||
longDescription = ''
|
||||
CasADi is a symbolic framework for numeric optimization
|
||||
implementing automatic differentiation in forward and reverse
|
||||
modes on sparse matrix-valued computational graphs. It supports
|
||||
self-contained C-code generation and interfaces state-of-the-art
|
||||
codes such as SUNDIALS, IPOPT etc. It can be used from C++,
|
||||
Python or Matlab/Octave
|
||||
'';
|
||||
homepage = "https://github.com/casadi/casadi";
|
||||
license = lib.licenses.lgpl3Only;
|
||||
maintainers = with lib.maintainers; [ nim65s ];
|
||||
|
||||
@@ -115,7 +115,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "CBMC is a Bounded Model Checker for C and C++ programs";
|
||||
description = "Bounded Model Checker for C and C++ programs";
|
||||
homepage = "http://www.cprover.org/cbmc/";
|
||||
license = lib.licenses.bsdOriginal;
|
||||
maintainers = with lib.maintainers; [ jiegec ];
|
||||
|
||||
@@ -66,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Composing and deciphering C (or C++) declarations or casts, aka ''gibberish.''";
|
||||
description = "Composing and deciphering C (or C++) declarations or casts, aka 'gibberish'";
|
||||
homepage = "https://github.com/paul-j-lucas/cdecl";
|
||||
changelog = "https://github.com/paul-j-lucas/cdecl/blob/cdecl-${finalAttrs.version}/ChangeLog";
|
||||
license = lib.licenses.gpl3Only;
|
||||
|
||||
@@ -28,7 +28,7 @@ buildGoModule rec {
|
||||
meta = {
|
||||
changelog = "https://github.com/paepckehh/certinfo/releases/tag/v${version}";
|
||||
homepage = "https://paepcke.de/certinfo";
|
||||
description = "Tool to analyze and troubleshoot x.509 & ssh certificates, encoded keys, ...";
|
||||
description = "Tool to analyze and troubleshoot x.509 & ssh certificates, encoded keys";
|
||||
license = lib.licenses.bsd3;
|
||||
mainProgram = "certinfo";
|
||||
maintainers = with lib.maintainers; [ paepcke ];
|
||||
|
||||
@@ -30,9 +30,7 @@ buildGoModule rec {
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = ''
|
||||
A tool for managing your Cloudflare credentials, securely..
|
||||
'';
|
||||
description = "Tool for managing your Cloudflare credentials, securely";
|
||||
homepage = "https://github.com/jacobbednarz/cf-vault/";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ viraptor ];
|
||||
|
||||
@@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/dloebl/cgif";
|
||||
description = "CGIF, a GIF encoder written in C";
|
||||
description = "GIF encoder written in C";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ ];
|
||||
platforms = lib.platforms.unix;
|
||||
|
||||
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = {
|
||||
homepage = "https://checkinstall.izto.org/";
|
||||
description = "Tool for automatically generating Slackware, RPM or Debian packages when doing `make install'";
|
||||
description = "Tool for automatically generating Slackware, RPM or Debian packages when doing `make install`";
|
||||
maintainers = [ ];
|
||||
platforms = lib.platforms.linux;
|
||||
license = lib.licenses.gpl2Plus;
|
||||
|
||||
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "This is a Library for ChezScheme providing the portable hygenic pattern matcher by Alex Shinn";
|
||||
description = "Library for ChezScheme providing the portable hygenic pattern matcher by Alex Shinn";
|
||||
homepage = "https://github.com/fedeinthemix/chez-matchable/";
|
||||
maintainers = [ maintainers.jitwit ];
|
||||
license = licenses.publicDomain;
|
||||
|
||||
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "This is a MIT/GNU Scheme compatibility library for Chez Scheme";
|
||||
description = "MIT/GNU Scheme compatibility library for Chez Scheme";
|
||||
homepage = "https://github.com/fedeinthemix/chez-mit/";
|
||||
maintainers = [ maintainers.jitwit ];
|
||||
license = licenses.gpl3Plus;
|
||||
|
||||
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "This is a port of the ‘MIT Scmutils’ library to Chez Scheme";
|
||||
description = "Port of the 'MIT Scmutils' library to Chez Scheme";
|
||||
homepage = "https://github.com/fedeinthemix/chez-scmutils/";
|
||||
maintainers = [ maintainers.jitwit ];
|
||||
license = licenses.gpl3;
|
||||
|
||||
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
|
||||
buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ openssl ];
|
||||
|
||||
meta = with lib; {
|
||||
description = ''The "Command Line Interactive Controller for Kubernetes"'';
|
||||
description = "Command Line Interactive Controller for Kubernetes";
|
||||
homepage = "https://github.com/databricks/click";
|
||||
license = [ licenses.asl20 ];
|
||||
maintainers = [ maintainers.mbode ];
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "clickable";
|
||||
version = "8.3.1";
|
||||
version = "8.4.0";
|
||||
format = "pyproject";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "clickable";
|
||||
repo = "clickable";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Vn2PyALaRrE+jJRdZzW+jjCm3f2GfpgrQcFGB7kr4EM=";
|
||||
hash = "sha256-mqAJBxYHOsMiSjWjtam/GvxjNBZ8mkOuBibmFORGhEg=";
|
||||
};
|
||||
|
||||
build-system = [ python3Packages.setuptools ];
|
||||
|
||||
@@ -22,7 +22,7 @@ mkDerivation {
|
||||
bytestring
|
||||
network
|
||||
];
|
||||
description = "accepts TCP connections and echoes the client's IP address back to it";
|
||||
description = "Accepts TCP connections and echoes the client's IP address back to it";
|
||||
license = lib.licenses.lgpl3;
|
||||
mainProgram = "client-ip-echo";
|
||||
}
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cloudflared";
|
||||
version = "2025.7.0";
|
||||
version = "2025.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cloudflare";
|
||||
repo = "cloudflared";
|
||||
tag = version;
|
||||
hash = "sha256-GAmSWdyFQYtGQ5Ml+10Xy7OpKc1bXuAc3hy7Ly6+yC8=";
|
||||
hash = "sha256-kvhDdgnAkYvs+W0TE8Pu3nlEp2n7tHDphDwqCc4J0eE=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
@@ -38,7 +38,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
changelog = "https://github.com/codefresh-io/cli/releases/tag/v${finalAttrs.version}";
|
||||
description = "Codefresh CLI tool to interact with Codefresh services";
|
||||
description = "CLI tool to interact with Codefresh services";
|
||||
homepage = "https://github.com/codefresh-io/cli";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "codefresh";
|
||||
|
||||
@@ -68,7 +68,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
homepage = "https://colobot.info/";
|
||||
description = "Colobot: Gold Edition is a real-time strategy game, where you can program your bots";
|
||||
description = "Real-time strategy game with programmable bots";
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = with lib.maintainers; [ freezeboy ];
|
||||
platforms = lib.platforms.linux;
|
||||
|
||||
@@ -75,7 +75,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Commit message editor";
|
||||
description = "Git commit message editor";
|
||||
homepage = "https://github.com/sonnyp/Commit";
|
||||
license = lib.licenses.gpl3Only;
|
||||
teams = [ lib.teams.gnome-circle ];
|
||||
|
||||
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Find compression type/ratio on a file or set of files in Btrfs filesystem";
|
||||
description = "Find compression type/ratio on a file or set of files in the Btrfs filesystem";
|
||||
mainProgram = "compsize";
|
||||
homepage = "https://github.com/kilobyte/compsize";
|
||||
license = licenses.gpl2Plus;
|
||||
|
||||
@@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Construct is an abstraction over x86 NASM Assembly";
|
||||
description = "Abstraction over x86 NASM Assembly";
|
||||
longDescription = "Construct adds features such as while loops, if statements, scoped macros and function-call syntax to NASM Assembly.";
|
||||
homepage = "https://github.com/Thomas-de-Bock/construct";
|
||||
maintainers = with maintainers; [ rucadi ];
|
||||
|
||||
@@ -119,7 +119,7 @@ perlPackages.buildPerlPackage rec {
|
||||
|
||||
meta = {
|
||||
homepage = "https://convos.chat";
|
||||
description = "Convos is the simplest way to use IRC in your browser";
|
||||
description = "IRC browser client";
|
||||
mainProgram = "convos";
|
||||
license = lib.licenses.artistic2;
|
||||
maintainers = with lib.maintainers; [ sgo ];
|
||||
|
||||
@@ -65,7 +65,7 @@ buildGoModule rec {
|
||||
meta = {
|
||||
homepage = "https://crowdsec.net/";
|
||||
changelog = "https://github.com/crowdsecurity/crowdsec/releases/tag/v${version}";
|
||||
description = "CrowdSec is a free, open-source and collaborative IPS";
|
||||
description = "Free, open-source and collaborative IPS";
|
||||
longDescription = ''
|
||||
CrowdSec is a free, modern & collaborative behavior detection engine,
|
||||
coupled with a global IP reputation network. It stacks on fail2ban's
|
||||
|
||||
@@ -43,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "(3)DS capture software for Linux and Mac";
|
||||
description = "Nintendo DS and 3DS capture software for Linux and Mac";
|
||||
homepage = "https://github.com/Gotos/CuteCapture";
|
||||
license = lib.licenses.asl20;
|
||||
platforms = lib.platforms.linux ++ lib.platforms.darwin;
|
||||
|
||||
@@ -53,7 +53,7 @@ clangStdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "d-SEAMS: Deferred Structural Elucidation Analysis for Molecular Simulations";
|
||||
description = "Deferred Structural Elucidation Analysis for Molecular Simulations";
|
||||
mainProgram = "yodaStruct";
|
||||
longDescription = ''
|
||||
d-SEAMS, is a free and open-source postprocessing engine for the analysis
|
||||
|
||||
@@ -66,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
doDist = false;
|
||||
meta = {
|
||||
description = "dashy";
|
||||
description = "Open source, highly customizable, easy-to-use, privacy-respecting dashboard app";
|
||||
homepage = "https://dashy.to";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.therealgramdalf ];
|
||||
|
||||
@@ -23,7 +23,7 @@ buildGoModule rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = ''
|
||||
A small human-editable language to emit DER or BER encodings of ASN.1
|
||||
Small human-editable language to emit DER or BER encodings of ASN.1
|
||||
structures and malformed variants of them
|
||||
'';
|
||||
homepage = "https://github.com/google/der-ascii";
|
||||
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ libX11 ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Devour hides your current window when launching an external program";
|
||||
description = "Hides your current window when launching an external program";
|
||||
longDescription = "Devour hides your current window before launching an external program and unhides it after quitting";
|
||||
homepage = "https://github.com/salman-abedin/devour";
|
||||
license = licenses.gpl2Only;
|
||||
|
||||
@@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Library provides a thin wrapper around QApplication, QGuiApplication and QCoreApplication";
|
||||
description = "Thin wrapper around QApplication, QGuiApplication and QCoreApplication";
|
||||
homepage = "https://gitlab.com/desktop-frameworks/applications";
|
||||
changelog = "https://gitlab.com/desktop-frameworks/applications/-/blob/${finalAttrs.src.rev}/ChangeLog";
|
||||
license = lib.licenses.gpl3Only;
|
||||
|
||||
@@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Dhcpm is a CLI tool for constructing & sending DHCP messages";
|
||||
description = "CLI tool for constructing & sending DHCP messages";
|
||||
homepage = "https://github.com/leshow/dhcpm";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = [ lib.maintainers.jmbaur ];
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
let
|
||||
pname = "digital";
|
||||
pkgDescription = "A digital logic designer and circuit simulator.";
|
||||
pkgDescription = "Digital logic designer and circuit simulator";
|
||||
version = "0.31";
|
||||
buildDate = "2024-09-03T14:02:31+02:00"; # v0.31 commit date
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||
meta = {
|
||||
homepage = "http://www.deadhat.com/";
|
||||
description = ''
|
||||
A C program to generate random data using several random models,
|
||||
C program to generate random data using several random models,
|
||||
with parameterized non uniformities and flexible output formats
|
||||
'';
|
||||
license = lib.licenses.gpl2Only;
|
||||
|
||||
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
|
||||
meta = {
|
||||
homepage = "http://www.deadhat.com/";
|
||||
description = ''
|
||||
A reimplementation of the Fourmilab/John Walker random number test program
|
||||
Reimplementation of the Fourmilab/John Walker random number test program
|
||||
ent with several improvements
|
||||
'';
|
||||
mainProgram = "djent";
|
||||
|
||||
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://lwn.net/Articles/421072/";
|
||||
description = "cat replacement";
|
||||
description = "'cat' replacement";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ qknight ];
|
||||
platforms = platforms.all;
|
||||
|
||||
@@ -38,7 +38,7 @@ rustPlatform.buildRustPackage rec {
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Dotfile manager and templater written in rust 🦀";
|
||||
description = "Dotfile manager and templater written in Rust";
|
||||
homepage = "https://github.com/SuperCuber/dotter";
|
||||
license = licenses.unlicense;
|
||||
maintainers = with maintainers; [ linsui ];
|
||||
|
||||
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "DPS8M: GE / Honeywell / Bull DPS‑8/M mainframe simulator";
|
||||
description = "GE / Honeywell / Bull DPS-8/M mainframe simulator";
|
||||
homepage = "https://gitlab.com/dps8m/dps8m";
|
||||
changelog = "https://gitlab.com/dps8m/dps8m/-/wikis/DPS8M-${src.rev}-Release-Notes";
|
||||
license = licenses.icu;
|
||||
|
||||
@@ -27,10 +27,10 @@ php.buildComposerProject2 (finalAttrs: {
|
||||
};
|
||||
updateScript = writeScript "update.sh" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p common-updater-scripts xmlstarlet
|
||||
#!nix-shell -i bash -p nix-update xmlstarlet
|
||||
set -eu -o pipefail
|
||||
version=$(curl -k --silent --globoff "https://updates.drupal.org/release-history/drupal/current" | xmlstarlet sel -t -v "project/releases/release[1]/tag")
|
||||
update-source-version drupal $version --file=./pkgs/by-name/dr/drupal/package.nix
|
||||
nix-update drupal --version $version
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/Pedro-Beirao/dsda-launcher";
|
||||
description = "This is a launcher GUI for the dsda-doom source port";
|
||||
description = "Launcher GUI for the dsda-doom source port";
|
||||
mainProgram = "dsda-launcher";
|
||||
license = lib.licenses.gpl3;
|
||||
platforms = lib.platforms.linux;
|
||||
|
||||
@@ -54,7 +54,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "du + rust = dust. Like du but more intuitive";
|
||||
description = "du, but more intuitive";
|
||||
homepage = "https://github.com/bootandy/dust";
|
||||
changelog = "https://github.com/bootandy/dust/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.asl20;
|
||||
|
||||
@@ -20,7 +20,7 @@ buildGoModule {
|
||||
vendorHash = "sha256-1lise/u40Q8W9STsuyrWIbhf2HY+SFCytUL1PTSWvfY=";
|
||||
|
||||
meta = {
|
||||
description = "Easily Manage AWS ECS Resources in Terminal 🐱";
|
||||
description = "Easily Manage AWS ECS Resources in Terminal";
|
||||
homepage = "https://github.com/keidarcy/e1s";
|
||||
changelog = "https://github.com/keidarcy/e1s/releases/tag/v${version}";
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage rec {
|
||||
cargoHash = "sha256-TfAT36/JeBjBxymnX1gIyCEPZcxTW4fPVIOhHF3z9wA=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A better way of working with structured data on the command line";
|
||||
description = "Command-line tool for processing CSV, JSON and other structured data";
|
||||
mainProgram = "each";
|
||||
homepage = "https://github.com/arraypad/each";
|
||||
license = with licenses; [ mit ];
|
||||
|
||||
@@ -11,16 +11,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "easytier";
|
||||
version = "2.4.0";
|
||||
version = "2.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "EasyTier";
|
||||
repo = "EasyTier";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-GNHF15FJDLZKYrNuvaTQfsPGS6BabEhk5BZm7OzFbvU=";
|
||||
hash = "sha256-H7mFBARxElegXeUsp+wTHy8X19Lk5FUL3GuU88+8UVs=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-rwwrCiTiLn1DM3LaTNKzQi0tUWGzAYMXku9LHjq2K7g=";
|
||||
cargoHash = "sha256-BNEc4R3Jzqx4ncMmmeZygM8peHqHGZ/HMy4eJyuvxv0=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
protobuf
|
||||
|
||||
@@ -34,7 +34,7 @@ appimageTools.wrapType2 {
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "ElectronMail is an Electron-based unofficial desktop client for ProtonMail";
|
||||
description = "Unofficial Election-based ProtonMail desktop client";
|
||||
mainProgram = "electron-mail";
|
||||
homepage = "https://github.com/vladimiry/ElectronMail";
|
||||
license = lib.licenses.gpl3;
|
||||
|
||||
@@ -154,7 +154,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/elogind/elogind";
|
||||
description = ''The systemd project's "logind", extracted to a standalone package'';
|
||||
description = "systemd project's 'logind', extracted to a standalone package";
|
||||
platforms = platforms.linux; # probably more
|
||||
license = licenses.lgpl21Plus;
|
||||
maintainers = with maintainers; [ nh2 ];
|
||||
|
||||
@@ -127,7 +127,7 @@ buildNpmPackage rec {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "DVR software compatible with Mirakurun.";
|
||||
description = "DVR software compatible with Mirakurun";
|
||||
homepage = "https://github.com/l3tnun/EPGStation";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ midchildan ];
|
||||
|
||||
@@ -41,7 +41,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
homepage = "https://plus.excalidraw.com/excalifont";
|
||||
description = "Excalifont is based on the original handwritten Virgil font carefully curated to improve legibility while preserving its hand-drawn nature";
|
||||
description = "Font based on the original handwritten Virgil font carefully curated to improve legibility while preserving its hand-drawn nature";
|
||||
platforms = lib.platforms.all;
|
||||
maintainers = with lib.maintainers; [ drupol ];
|
||||
license = lib.licenses.ofl;
|
||||
|
||||
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
|
||||
configureFlags = lib.optional (!enableTools) "--disable-tools";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Exult is a project to recreate Ultima VII for modern operating systems";
|
||||
description = "Recreation of Ultima VII for modern operating systems";
|
||||
longDescription = ''
|
||||
Ultima VII, an RPG from the early 1990's, still has a huge following. But,
|
||||
being a DOS game with a very nonstandard memory manager, it is difficult
|
||||
|
||||
@@ -18,7 +18,7 @@ buildDotnetGlobalTool (finalAttrs: {
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Fable is an F# to JavaScript compiler";
|
||||
description = "F# to JavaScript compiler";
|
||||
mainProgram = "fable";
|
||||
homepage = "https://github.com/fable-compiler/fable";
|
||||
changelog = "https://github.com/fable-compiler/fable/releases/tag/v${finalAttrs.version}";
|
||||
|
||||
@@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildInputs = [ zlib ] ++ lib.optionals mklSupport [ mkl ];
|
||||
|
||||
meta = {
|
||||
description = "FEBio Suite Solver";
|
||||
description = "Software tool for nonlinear finite element analysis in biomechanics and biophysics";
|
||||
license = with lib.licenses; [ mit ];
|
||||
homepage = "https://febio.org/";
|
||||
platforms = lib.platforms.unix;
|
||||
|
||||
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://imagej.net/software/fiji/";
|
||||
description = "batteries-included distribution of ImageJ2, bundling a lot of plugins which facilitate scientific image analysis";
|
||||
description = "Batteries-included distribution of ImageJ2, bundling a lot of plugins which facilitate scientific image analysis";
|
||||
mainProgram = "fiji";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
sourceProvenance = with sourceTypes; [
|
||||
|
||||
@@ -78,7 +78,7 @@ buildGo123Module {
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Filebrowser is a web application for managing files and directories";
|
||||
description = "Web application for managing files and directories";
|
||||
homepage = "https://filebrowser.org";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ oakenshield ];
|
||||
|
||||
@@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/epoupon/fileshelter";
|
||||
description = "FileShelter is a 'one-click' file sharing web application";
|
||||
description = "One-click file sharing web application";
|
||||
mainProgram = "fileshelter";
|
||||
maintainers = [ ];
|
||||
license = lib.licenses.gpl3;
|
||||
|
||||
@@ -16,7 +16,7 @@ symlinkJoin rec {
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Fira font family including Fira Sans and Fira Mono";
|
||||
description = "Font family including Fira Sans and Fira Mono";
|
||||
homepage = "https://bboxtype.com/fira/";
|
||||
license = lib.licenses.ofl;
|
||||
platforms = lib.platforms.all;
|
||||
|
||||
@@ -6,15 +6,15 @@
|
||||
}:
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "firezone-gateway";
|
||||
version = "1.4.12";
|
||||
version = "1.4.15";
|
||||
src = fetchFromGitHub {
|
||||
owner = "firezone";
|
||||
repo = "firezone";
|
||||
tag = "gateway-${version}";
|
||||
hash = "sha256-isWtx9DwJqPwlbA7MTW1r+VFpy7+xzVx86XvKlsQ+SY=";
|
||||
hash = "sha256-eIef5csbrZdh2e2fxBSBYAgHSpSfHCMTbatTsHZR8DY=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-w/FHN3EQBqM32O1zHEFXvg8c5JBeM14MUbq29APCrVI=";
|
||||
cargoHash = "sha256-OAWPO18s9749nfkyPEaArRkxdqnCKo69k8ZSRS2Tyw0=";
|
||||
sourceRoot = "${src.name}/rust";
|
||||
buildAndTestSubdir = "gateway";
|
||||
RUSTFLAGS = "--cfg system_certs";
|
||||
|
||||
@@ -21,7 +21,7 @@ php.buildComposerProject2 (finalAttrs: {
|
||||
|
||||
meta = with lib; {
|
||||
changelog = "https://github.com/flarum/framework/blob/main/CHANGELOG.md";
|
||||
description = "Flarum is a delightfully simple discussion platform for your website";
|
||||
description = "Delightfully simple discussion platform for your website";
|
||||
homepage = "https://github.com/flarum/flarum";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
|
||||
@@ -34,7 +34,7 @@ buildRubyGem rec {
|
||||
passthru.updateScript = bundlerUpdateScript "${pname}";
|
||||
|
||||
meta = with lib; {
|
||||
description = "It allows you to search for a key and get the value and the line number where it is located in YAML and JSON files";
|
||||
description = "Grep for keys in YAML and JSON files";
|
||||
homepage = "https://github.com/ceritium/flatito";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ rucadi ];
|
||||
|
||||
@@ -43,7 +43,7 @@ stdenv.mkDerivation {
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "(F)ast (lat)tice (r)eduction of integer lattice bases";
|
||||
description = "Fast lattice reduction of integer lattice bases";
|
||||
homepage = "https://github.com/keeganryan/flatter";
|
||||
license = licenses.lgpl3Only;
|
||||
mainProgram = "flatter";
|
||||
|
||||
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fontmatrix is a free/libre font explorer for Linux, Windows and Mac";
|
||||
description = "Free/libre font explorer for Linux, Windows and Mac";
|
||||
homepage = "https://github.com/fontmatrix/fontmatrix";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
|
||||
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "FORM project for symbolic manipulation of very big expressions";
|
||||
description = "Symbolic manipulation of very big expressions";
|
||||
homepage = "https://www.nikhef.nl/~form/";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.veprbl ];
|
||||
|
||||
@@ -41,7 +41,7 @@ buildDotnetModule (finalAttrs: {
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "FsAutoComplete project (FSAC) provides a backend service for rich editing or intellisense features for editors";
|
||||
description = "Backend service for rich editing or intellisense features for editors";
|
||||
mainProgram = "fsautocomplete";
|
||||
homepage = "https://github.com/fsharp/FsAutoComplete";
|
||||
changelog = "https://github.com/fsharp/FsAutoComplete/releases/tag/${finalAttrs.src.tag}";
|
||||
|
||||
@@ -2,25 +2,30 @@
|
||||
lib,
|
||||
buildNpmPackage,
|
||||
fetchFromGitHub,
|
||||
fetchNpmDeps,
|
||||
fetchpatch,
|
||||
gitUpdater,
|
||||
}:
|
||||
|
||||
buildNpmPackage (finalAttrs: {
|
||||
pname = "gemini-cli";
|
||||
version = "0.1.14";
|
||||
version = "0.1.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google-gemini";
|
||||
repo = "gemini-cli";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-u73aqh7WnfetHj/64/HyzSR6aJXRKt0OXg3bddhhQq8=";
|
||||
hash = "sha256-vO70olSAG6NaZjyERU22lc8MbVivyJFieGcy0xOErrc=";
|
||||
};
|
||||
|
||||
npmDeps = fetchNpmDeps {
|
||||
inherit (finalAttrs) src;
|
||||
hash = "sha256-9T31QlffPP6+ryRVN/7t0iMo+2AgwPb6l6CkYh6839U=";
|
||||
};
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/google-gemini/gemini-cli/pull/5336/commits/c1aef417d559237bf4d147c584449b74d6fbc1f8.patch";
|
||||
name = "restore-missing-dependencies-fields.patch";
|
||||
hash = "sha256-euRoLpbv075KIpYF9QPMba5FxG4+h/kxwLRetaay33s=";
|
||||
})
|
||||
];
|
||||
|
||||
npmDepsHash = "sha256-8dn0i2laR4LFZk/sFDdvblvrHSnraGcLl3WAthCOKc0=";
|
||||
|
||||
preConfigure = ''
|
||||
mkdir -p packages/generated
|
||||
@@ -35,6 +40,7 @@ buildNpmPackage (finalAttrs: {
|
||||
|
||||
rm -f $out/share/gemini-cli/node_modules/@google/gemini-cli
|
||||
rm -f $out/share/gemini-cli/node_modules/@google/gemini-cli-core
|
||||
rm -f $out/share/gemini-cli/node_modules/@google/gemini-cli-test-utils
|
||||
rm -f $out/share/gemini-cli/node_modules/gemini-cli-vscode-ide-companion
|
||||
cp -r packages/cli $out/share/gemini-cli/node_modules/@google/gemini-cli
|
||||
cp -r packages/core $out/share/gemini-cli/node_modules/@google/gemini-cli-core
|
||||
|
||||
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
||||
configureFlags = [ "--disable-rpath" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "GiNaC is Not a CAS";
|
||||
description = "GiNaC C++ library for symbolic manipulations";
|
||||
homepage = "https://www.ginac.de/";
|
||||
maintainers = with maintainers; [ lovek323 ];
|
||||
license = licenses.gpl2;
|
||||
|
||||
@@ -15,9 +15,7 @@ bundlerEnv {
|
||||
passthru.updateScript = bundlerUpdateScript "git-fame";
|
||||
|
||||
meta = with lib; {
|
||||
description = ''
|
||||
A command-line tool that helps you summarize and pretty-print collaborators based on contributions
|
||||
'';
|
||||
description = "Command-line tool that helps you summarize and pretty-print collaborators based on contributions";
|
||||
homepage = "http://oleander.io/git-fame-rb";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
|
||||
@@ -34,7 +34,7 @@ rustPlatform.buildRustPackage rec {
|
||||
cargoHash = "sha256-2VhbvhGeQHAbQLW0iBAgl0ICAX/X+PnwcGdodJG2Hsw=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Quickfix allows you to commit changes in your git repository to a new branch without leaving the current branch";
|
||||
description = "Commit changes in your git repository to a new branch without leaving the current branch";
|
||||
homepage = "https://github.com/siedentop/git-quickfix";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.all;
|
||||
|
||||
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage {
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "GlueSQL is quite sticky. It attaches to anywhere";
|
||||
description = "Rust library for SQL databases";
|
||||
homepage = "https://github.com/gluesql/gluesql";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ happysalada ];
|
||||
|
||||
@@ -33,7 +33,7 @@ buildGoModule (finalAttrs: {
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "A tool to generate Go data types from JSON Schema definitions.";
|
||||
description = "Tool to generate Go data types from JSON Schema definitions";
|
||||
homepage = "https://github.com/omissis/go-jsonschema";
|
||||
changelog = "https://github.com/omissis/go-jsonschema/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.mit;
|
||||
|
||||
@@ -32,7 +32,7 @@ rustPlatform.buildRustPackage rec {
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "gobbles your terminal";
|
||||
description = "Rust rewrite of Devour";
|
||||
homepage = "https://github.com/EmperorPenguin18/gobble";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ vuimuich ];
|
||||
|
||||
@@ -25,7 +25,7 @@ buildGoModule rec {
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/boumenot/gocover-cobertura";
|
||||
description = "This is a simple helper tool for generating XML output in Cobertura format for CIs like Jenkins and others from go tool cover output";
|
||||
description = "Simple helper tool for generating XML output in Cobertura format for CIs like Jenkins and others from go tool cover output";
|
||||
mainProgram = "gocover-cobertura";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [
|
||||
|
||||
@@ -18,7 +18,7 @@ rustPlatform.buildRustPackage {
|
||||
cargoHash = "sha256-w4HSxdihElPz0q05vWjajQ9arZjAzd82L0kEKk1Uk8s=";
|
||||
|
||||
meta = {
|
||||
description = "Grafana-to-ntfy (ntfy.sh) alerts channel";
|
||||
description = "Bridge to forward Grafana alerts to ntfy.sh notification service";
|
||||
homepage = "https://github.com/kittyandrew/grafana-to-ntfy";
|
||||
license = lib.licenses.agpl3Only;
|
||||
platforms = lib.platforms.linux;
|
||||
|
||||
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Guile-zlib is a GNU Guile library providing bindings to zlib";
|
||||
description = "GNU Guile library providing bindings to zlib";
|
||||
homepage = "https://notabug.org/guile-zlib/guile-zlib";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ foo-dogsquared ];
|
||||
|
||||
@@ -60,7 +60,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
passthru.updateScript = gitUpdater { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "GXml provides a GObject API for manipulating XML and a Serializable framework from GObject to XML";
|
||||
description = "Provides a GObject API for manipulating XML and a Serializable framework from GObject to XML";
|
||||
homepage = "https://gitlab.gnome.org/GNOME/gxml";
|
||||
changelog = "https://gitlab.gnome.org/GNOME/gxml/-/blob/${finalAttrs.version}/NEWS?ref_type=tags";
|
||||
license = licenses.lgpl21Plus;
|
||||
|
||||
42
pkgs/by-name/ha/hashcat/0001-python-shebangs.patch
Normal file
42
pkgs/by-name/ha/hashcat/0001-python-shebangs.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
diff --git a/tools/bitlocker2hashcat.py b/tools/bitlocker2hashcat.py
|
||||
index f7501a37b..a72fb8c78 100755
|
||||
--- a/tools/bitlocker2hashcat.py
|
||||
+++ b/tools/bitlocker2hashcat.py
|
||||
@@ -1,3 +1,5 @@
|
||||
+#!/usr/bin/env python3
|
||||
+
|
||||
# Construct a hash for use with hashcat mode 22100
|
||||
# Usage: python3 bitlocker2hashcat.py <bitlocker_image> -o <bitlocker_partition_offset>
|
||||
# Hashcat supports modes $bitlocker$0$ and $bitlocker$1$ and therefore this script will output hashes that relate to a VMK protected by a user password only.
|
||||
diff --git a/tools/keybag2hashcat.py b/tools/keybag2hashcat.py
|
||||
index 83da25c5e..6a30384ac 100755
|
||||
--- a/tools/keybag2hashcat.py
|
||||
+++ b/tools/keybag2hashcat.py
|
||||
@@ -1,3 +1,5 @@
|
||||
+#!/usr/bin/env python3
|
||||
+
|
||||
import argparse
|
||||
import logging
|
||||
import sys
|
||||
diff --git a/tools/shiro1-to-hashcat.py b/tools/shiro1-to-hashcat.py
|
||||
old mode 100755
|
||||
new mode 100644
|
||||
index 9619530ef..86ee8e502
|
||||
--- a/tools/shiro1-to-hashcat.py
|
||||
+++ b/tools/shiro1-to-hashcat.py
|
||||
@@ -1,3 +1,5 @@
|
||||
+#!/usr/bin/env python3
|
||||
+
|
||||
import os
|
||||
import re
|
||||
import glob
|
||||
diff --git a/tools/veeamvbk2hashcat.py b/tools/veeamvbk2hashcat.py
|
||||
index e8d6ac05c..5f6d1977a 100755
|
||||
--- a/tools/veeamvbk2hashcat.py
|
||||
+++ b/tools/veeamvbk2hashcat.py
|
||||
@@ -1,3 +1,5 @@
|
||||
+#!/usr/bin/env python3
|
||||
+
|
||||
import argparse
|
||||
import binascii
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
minizip,
|
||||
opencl-headers,
|
||||
ocl-icd,
|
||||
perl,
|
||||
python3,
|
||||
xxHash,
|
||||
zlib,
|
||||
libiconv,
|
||||
@@ -24,6 +26,10 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "sha256-hCtx0NNLAgAFiCR6rp/smg/BMnfyzTpqSSWw8Jszv3U=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./0001-python-shebangs.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# MACOSX_DEPLOYMENT_TARGET is defined by the enviroment
|
||||
# Remove hardcoded paths on darwin
|
||||
@@ -44,6 +50,17 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
minizip
|
||||
opencl-headers
|
||||
perl
|
||||
(python3.withPackages (
|
||||
ps: with ps; [
|
||||
# leveldb # Required for bitwarden2hashcat.py, broken since python 3.12 https://github.com/NixOS/nixpkgs/pull/342756
|
||||
protobuf
|
||||
pyasn1
|
||||
pycryptodome
|
||||
python-snappy
|
||||
simplejson
|
||||
]
|
||||
))
|
||||
xxHash
|
||||
zlib
|
||||
]
|
||||
|
||||
@@ -58,7 +58,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://htcondor.org/";
|
||||
description = "HTCondor is a software system that creates a High-Throughput Computing (HTC) environment";
|
||||
description = "Software system that creates a High-Throughput Computing (HTC) environment";
|
||||
platforms = platforms.linux;
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ evey ];
|
||||
|
||||
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Httperf HTTP load generator";
|
||||
description = "HTTP load generator";
|
||||
homepage = "https://github.com/httperf/httperf";
|
||||
maintainers = [ ];
|
||||
license = licenses.gpl2Plus;
|
||||
|
||||
@@ -18,7 +18,7 @@ buildNpmPackage rec {
|
||||
npmDepsHash = "sha256-u1dndTKvInobva+71yI2vPiwrW9vqzAJ2sDAqT9YJsg=";
|
||||
|
||||
meta = {
|
||||
description = "Git hooks made easy 🐶 woof!";
|
||||
description = "Git hooks made easy";
|
||||
mainProgram = "husky";
|
||||
homepage = "https://github.com/typicode/husky";
|
||||
changelog = "https://github.com/typicode/husky/releases/tag/v${version}";
|
||||
|
||||
@@ -27,7 +27,7 @@ buildNpmPackage (finalAttrs: {
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "1-1 End-to-End Encrypted Internet Pipe Powered by Hyperswarm ";
|
||||
description = "1-1 End-to-End Encrypted Internet Pipe Powered by Hyperswarm";
|
||||
homepage = "https://github.com/holepunchto/hyperbeam";
|
||||
mainProgram = "hyperbeam";
|
||||
license = lib.licenses.mit;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user