Merge branch 'master' into staging-next

This commit is contained in:
Vladimír Čunát 2023-03-13 08:25:10 +01:00
commit 2d51a0e8ad
No known key found for this signature in database
GPG key ID: E747DF1F9575A3AA
51 changed files with 1067 additions and 527 deletions

View file

@ -678,6 +678,12 @@
githubId = 36147;
name = "Alireza Meskin";
};
alizter = {
email = "alizter@gmail.com";
github = "Alizter";
githubId = 8614547;
name = "Ali Caglayan";
};
alkasm = {
email = "alexreynolds00@gmail.com";
github = "alkasm";

View file

@ -142,6 +142,7 @@ with lib.maintainers; {
# gares has no entry in the maintainers list
siraben
vbgl
alizter
];
scope = "Maintain the Coq theorem prover and related packages.";
shortName = "Coq";

View file

@ -33,6 +33,7 @@ In addition to numerous new and upgraded packages, this release has the followin
- [Cloudlog](https://www.magicbug.co.uk/cloudlog/), a web-based Amateur Radio logging application. Available as [services.cloudlog](#opt-services.cloudlog.enable).
- [fzf](https://github.com/junegunn/fzf), a command line fuzzyfinder. Available as [programs.fzf](#opt-programs.fzf.fuzzyCompletion).
- [readarr](https://github.com/Readarr/Readarr), Book Manager and Automation (Sonarr for Ebooks). Available as [services.readarr](options.html#opt-services.readarr.enable).
- [gemstash](https://github.com/rubygems/gemstash), a RubyGems.org cache and private gem server. Available as [services.gemstash](#opt-services.gemstash.enable).

View file

@ -665,6 +665,7 @@
./services/misc/prowlarr.nix
./services/misc/pykms.nix
./services/misc/radarr.nix
./services/misc/readarr.nix
./services/misc/redmine.nix
./services/misc/ripple-data-api.nix
./services/misc/rippled.nix
@ -803,6 +804,7 @@
./services/networking/bitlbee.nix
./services/networking/blockbook-frontend.nix
./services/networking/blocky.nix
./services/networking/cgit.nix
./services/networking/charybdis.nix
./services/networking/chisel-server.nix
./services/networking/cjdns.nix

View file

@ -0,0 +1,88 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.readarr;
in
{
options = {
services.readarr = {
enable = mkEnableOption (lib.mdDoc "Readarr");
dataDir = mkOption {
type = types.str;
default = "/var/lib/readarr/";
description = lib.mdDoc "The directory where Readarr stores its data files.";
};
package = mkOption {
type = types.package;
default = pkgs.readarr;
defaultText = literalExpression "pkgs.readarr";
description = lib.mdDoc "The Readarr package to use";
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Open ports in the firewall for Readarr
'';
};
user = mkOption {
type = types.str;
default = "readarr";
description = lib.mdDoc ''
User account under which Readarr runs.
'';
};
group = mkOption {
type = types.str;
default = "readarr";
description = lib.mdDoc ''
Group under which Readarr runs.
'';
};
};
};
config = mkIf cfg.enable {
systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' 0700 ${cfg.user} ${cfg.group} - -"
];
systemd.services.readarr = {
description = "Readarr";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
User = cfg.user;
Group = cfg.group;
ExecStart = "${cfg.package}/bin/Readarr -nobrowser -data='${cfg.dataDir}'";
Restart = "on-failure";
};
};
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = [ 8787 ];
};
users.users = mkIf (cfg.user == "readarr") {
readarr = {
description = "Readarr service";
home = cfg.dataDir;
group = cfg.group;
isSystemUser = true;
};
};
users.groups = mkIf (cfg.group == "readarr") {
readarr = { };
};
};
}

View file

@ -0,0 +1,203 @@
{ config, lib, pkgs, ...}:
with lib;
let
cfgs = config.services.cgit;
settingType = with types; oneOf [ bool int str ];
genAttrs' = names: f: listToAttrs (map f names);
regexEscape =
let
# taken from https://github.com/python/cpython/blob/05cb728d68a278d11466f9a6c8258d914135c96c/Lib/re.py#L251-L266
special = [
"(" ")" "[" "]" "{" "}" "?" "*" "+" "-" "|" "^" "$" "\\" "." "&" "~"
"#" " " "\t" "\n" "\r" "\v" "\f"
];
in
replaceStrings special (map (c: "\\${c}") special);
stripLocation = cfg: removeSuffix "/" cfg.nginx.location;
regexLocation = cfg: regexEscape (stripLocation cfg);
mkFastcgiPass = cfg: ''
${if cfg.nginx.location == "/" then ''
fastcgi_param PATH_INFO $uri;
'' else ''
fastcgi_split_path_info ^(${regexLocation cfg})(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
''
}fastcgi_pass unix:${config.services.fcgiwrap.socketAddress};
'';
cgitrcLine = name: value: "${name}=${
if value == true then
"1"
else if value == false then
"0"
else
toString value
}";
mkCgitrc = cfg: pkgs.writeText "cgitrc" ''
# global settings
${concatStringsSep "\n" (
mapAttrsToList
cgitrcLine
({ virtual-root = cfg.nginx.location; } // cfg.settings)
)
}
${optionalString (cfg.scanPath != null) (cgitrcLine "scan-path" cfg.scanPath)}
# repository settings
${concatStrings (
mapAttrsToList
(url: settings: ''
${cgitrcLine "repo.url" url}
${concatStringsSep "\n" (
mapAttrsToList (name: cgitrcLine "repo.${name}") settings
)
}
'')
cfg.repos
)
}
# extra config
${cfg.extraConfig}
'';
mkCgitReposDir = cfg:
if cfg.scanPath != null then
cfg.scanPath
else
pkgs.runCommand "cgit-repos" {
preferLocalBuild = true;
allowSubstitutes = false;
} ''
mkdir -p "$out"
${
concatStrings (
mapAttrsToList
(name: value: ''
ln -s ${escapeShellArg value.path} "$out"/${escapeShellArg name}
'')
cfg.repos
)
}
'';
in
{
options = {
services.cgit = mkOption {
description = mdDoc "Configure cgit instances.";
default = {};
type = types.attrsOf (types.submodule ({ config, ... }: {
options = {
enable = mkEnableOption (mdDoc "cgit");
package = mkPackageOptionMD pkgs "cgit" {};
nginx.virtualHost = mkOption {
description = mdDoc "VirtualHost to serve cgit on, defaults to the attribute name.";
type = types.str;
default = config._module.args.name;
example = "git.example.com";
};
nginx.location = mkOption {
description = mdDoc "Location to serve cgit under.";
type = types.str;
default = "/";
example = "/git/";
};
repos = mkOption {
description = mdDoc "cgit repository settings, see cgitrc(5)";
type = with types; attrsOf (attrsOf settingType);
default = {};
example = {
blah = {
path = "/var/lib/git/example";
desc = "An example repository";
};
};
};
scanPath = mkOption {
description = mdDoc "A path which will be scanned for repositories.";
type = types.nullOr types.path;
default = null;
example = "/var/lib/git";
};
settings = mkOption {
description = mdDoc "cgit configuration, see cgitrc(5)";
type = types.attrsOf settingType;
default = {};
example = literalExpression ''
{
enable-follow-links = true;
source-filter = "''${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py";
}
'';
};
extraConfig = mkOption {
description = mdDoc "These lines go to the end of cgitrc verbatim.";
type = types.lines;
default = "";
};
};
}));
};
};
config = mkIf (any (cfg: cfg.enable) (attrValues cfgs)) {
assertions = mapAttrsToList (vhost: cfg: {
assertion = !cfg.enable || (cfg.scanPath == null) != (cfg.repos == {});
message = "Exactly one of services.cgit.${vhost}.scanPath or services.cgit.${vhost}.repos must be set.";
}) cfgs;
services.fcgiwrap.enable = true;
services.nginx.enable = true;
services.nginx.virtualHosts = mkMerge (mapAttrsToList (_: cfg: {
${cfg.nginx.virtualHost} = {
locations = (
genAttrs'
[ "cgit.css" "cgit.png" "favicon.ico" "robots.txt" ]
(name: nameValuePair "= ${stripLocation cfg}/${name}" {
extraConfig = ''
alias ${cfg.package}/cgit/${name};
'';
})
) // {
"~ ${regexLocation cfg}/.+/(info/refs|git-upload-pack)" = {
fastcgiParams = rec {
SCRIPT_FILENAME = "${pkgs.git}/libexec/git-core/git-http-backend";
GIT_HTTP_EXPORT_ALL = "1";
GIT_PROJECT_ROOT = mkCgitReposDir cfg;
HOME = GIT_PROJECT_ROOT;
};
extraConfig = mkFastcgiPass cfg;
};
"${stripLocation cfg}/" = {
fastcgiParams = {
SCRIPT_FILENAME = "${cfg.package}/cgit/cgit.cgi";
QUERY_STRING = "$args";
HTTP_HOST = "$server_name";
CGIT_CONFIG = mkCgitrc cfg;
};
extraConfig = mkFastcgiPass cfg;
};
};
};
}) cfgs);
};
}

View file

@ -203,7 +203,7 @@ in
PrivateMounts = true;
# System Call Filtering
SystemCallArchitectures = "native";
SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @resources" "@clock" "@setuid" "capset" "chown" ] ++ lib.optional pkgs.stdenv.hostPlatform.isAarch64 "fchownat";
SystemCallFilter = [ "~@cpu-emulation @debug @keyring @mount @obsolete @privileged @resources" "@clock" "@setuid" "capset" "@chown" ];
};
};
};

View file

@ -126,6 +126,7 @@ in {
ceph-single-node-bluestore = handleTestOn ["x86_64-linux"] ./ceph-single-node-bluestore.nix {};
certmgr = handleTest ./certmgr.nix {};
cfssl = handleTestOn ["aarch64-linux" "x86_64-linux"] ./cfssl.nix {};
cgit = handleTest ./cgit.nix {};
charliecloud = handleTest ./charliecloud.nix {};
chromium = (handleTestOn ["aarch64-linux" "x86_64-linux"] ./chromium.nix {}).stable or {};
chrony-ptp = handleTestOn ["aarch64-linux" "x86_64-linux"] ./chrony-ptp.nix {};
@ -585,6 +586,7 @@ in {
radarr = handleTest ./radarr.nix {};
radicale = handleTest ./radicale.nix {};
rasdaemon = handleTest ./rasdaemon.nix {};
readarr = handleTest ./readarr.nix {};
redis = handleTest ./redis.nix {};
redmine = handleTest ./redmine.nix {};
restartByActivationScript = handleTest ./restart-by-activation-script.nix {};

73
nixos/tests/cgit.nix Normal file
View file

@ -0,0 +1,73 @@
import ./make-test-python.nix ({ pkgs, ... }:
let
robotsTxt = pkgs.writeText "cgit-robots.txt" ''
User-agent: *
Disallow: /
'';
in {
name = "cgit";
meta = with pkgs.lib.maintainers; {
maintainers = [ schnusch ];
};
nodes = {
server = { ... }: {
services.cgit."localhost" = {
enable = true;
package = pkgs.cgit.overrideAttrs ({ postInstall, ... }: {
postInstall = ''
${postInstall}
cp ${robotsTxt} "$out/cgit/robots.txt"
'';
});
nginx.location = "/(c)git/";
repos = {
some-repo = {
path = "/srv/git/some-repo";
desc = "some-repo description";
};
};
};
environment.systemPackages = [ pkgs.git ];
};
};
testScript = { nodes, ... }: ''
start_all()
server.wait_for_unit("nginx.service")
server.wait_for_unit("network.target")
server.wait_for_open_port(80)
server.succeed("curl -fsS http://localhost/%28c%29git/cgit.css")
server.succeed("curl -fsS http://localhost/%28c%29git/robots.txt | diff -u - ${robotsTxt}")
server.succeed(
"curl -fsS http://localhost/%28c%29git/ | grep -F 'some-repo description'"
)
server.fail("curl -fsS http://localhost/robots.txt")
server.succeed("${pkgs.writeShellScript "setup-cgit-test-repo" ''
set -e
git init --bare -b master /srv/git/some-repo
git init -b master reference
cd reference
git remote add origin /srv/git/some-repo
date > date.txt
git add date.txt
git -c user.name=test -c user.email=test@localhost commit -m 'add date'
git push -u origin master
''}")
server.succeed(
"curl -fsS 'http://localhost/%28c%29git/some-repo/plain/date.txt?id=master' | diff -u reference/date.txt -"
)
server.succeed(
"git clone http://localhost/%28c%29git/some-repo && diff -u reference/date.txt some-repo/date.txt"
)
'';
})

18
nixos/tests/readarr.nix Normal file
View file

@ -0,0 +1,18 @@
import ./make-test-python.nix ({ lib, ... }:
with lib;
{
name = "readarr";
meta.maintainers = with maintainers; [ jocelynthode ];
nodes.machine =
{ pkgs, ... }:
{ services.readarr.enable = true; };
testScript = ''
machine.wait_for_unit("readarr.service")
machine.wait_for_open_port(8787)
machine.succeed("curl --fail http://localhost:8787/")
'';
})

File diff suppressed because it is too large Load diff

View file

@ -523,6 +523,17 @@
};
meta.homepage = "https://github.com/PrestonKnopp/tree-sitter-gdscript";
};
git_config = buildGrammar {
language = "git_config";
version = "a01b498";
src = fetchFromGitHub {
owner = "the-mikedavis";
repo = "tree-sitter-git-config";
rev = "a01b498b25003d97a5f93b0da0e6f28307454347";
hash = "sha256-9gLmao4zmDYj7uxrngjMa4AG9yIkKyptgaCBcL4GZYA=";
};
meta.homepage = "https://github.com/the-mikedavis/tree-sitter-git-config";
};
git_rebase = buildGrammar {
language = "git_rebase";
version = "d8a4207";
@ -570,14 +581,14 @@
};
gleam = buildGrammar {
language = "gleam";
version = "cfcbca3";
version = "ae79782";
src = fetchFromGitHub {
owner = "J3RN";
owner = "gleam-lang";
repo = "tree-sitter-gleam";
rev = "cfcbca3f8f734773878e00d7bfcedea98eb10be2";
hash = "sha256-lwaTlIIh4jA92ECMuxV7NtebKrjJSNoXtCe90YIQ4eE=";
rev = "ae79782c00656945db69641378e688cdb78d52c1";
hash = "sha256-8zxNOQnYvCHdkeyQwBGKL8fkRRinB3GUogPuw2X5n4I=";
};
meta.homepage = "https://github.com/J3RN/tree-sitter-gleam";
meta.homepage = "https://github.com/gleam-lang/tree-sitter-gleam";
};
glimmer = buildGrammar {
language = "glimmer";
@ -679,6 +690,17 @@
};
meta.homepage = "https://github.com/slackhq/tree-sitter-hack";
};
hare = buildGrammar {
language = "hare";
version = "f0a9e62";
src = fetchFromGitHub {
owner = "amaanq";
repo = "tree-sitter-hare";
rev = "f0a9e6207a8c84bbd11143c8eb0c6cf70dc6d8b4";
hash = "sha256-zJxkbAzAbA3aRuSHWEF26msbVszK7OxgXP6YPZBUu8w=";
};
meta.homepage = "https://github.com/amaanq/tree-sitter-hare";
};
haskell = buildGrammar {
language = "haskell";
version = "0da7f82";
@ -1280,12 +1302,12 @@
};
prql = buildGrammar {
language = "prql";
version = "5f6c4e4";
version = "4045dcf";
src = fetchFromGitHub {
owner = "PRQL";
repo = "tree-sitter-prql";
rev = "5f6c4e4a90633b19e2077c1d37248989789d64be";
hash = "sha256-unmRen1XJgT60lMfsIsp0PBghfBGqMoiEN9nB8Hu6gQ=";
rev = "4045dcff3f8ac04669855b32584053dec065bba4";
hash = "sha256-+uyCgWon/yCRAOTpzpcDovxyXrIZ4UDwwWG4ndMz0iY=";
};
meta.homepage = "https://github.com/PRQL/tree-sitter-prql";
};
@ -1346,12 +1368,12 @@
};
query = buildGrammar {
language = "query";
version = "0717de0";
version = "e975044";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "tree-sitter-query";
rev = "0717de07078a20a8608c98ad5f26c208949d0e15";
hash = "sha256-dWWof8rYFTto3A4BfbKTKcNieRbwFdF6xDXW9tQvAqQ=";
rev = "e97504446f14f529d5a8e649667d3d60391e4dfd";
hash = "sha256-Gv882sbL2fmR++h4/I7dFCp+g6pddRCaLyX7+loEoHU=";
};
meta.homepage = "https://github.com/nvim-treesitter/tree-sitter-query";
};
@ -1478,12 +1500,12 @@
};
scheme = buildGrammar {
language = "scheme";
version = "67b90a3";
version = "38aef90";
src = fetchFromGitHub {
owner = "6cdh";
repo = "tree-sitter-scheme";
rev = "67b90a365bebf4406af4e5a546d6336de787e135";
hash = "sha256-aHYOzOPK74Jd6MWFsap/k+dG+aJDTXQ05q7NoP5kfd8=";
rev = "38aef90f54ef8f2e8e402b1f6f036ed19c636759";
hash = "sha256-RftYAEUwqlJrOnDs1Cmz5KmJMMBz5h5m7jXpNjWjDYQ=";
};
meta.homepage = "https://github.com/6cdh/tree-sitter-scheme";
};
@ -1555,16 +1577,27 @@
};
sql = buildGrammar {
language = "sql";
version = "1cb7c7a";
version = "b2f6b30";
src = fetchFromGitHub {
owner = "derekstride";
repo = "tree-sitter-sql";
rev = "1cb7c7a11015983f6d173847d5a3574f8e20107b";
hash = "sha256-zdaFE5G19MLH4W5ZF0HfRNNMJV9Evp+X70eXHDmD/pA=";
rev = "b2f6b30ce12cbddfb663473457b670f2b3bffaa9";
hash = "sha256-moFrlfsb1kpXFXaxRB/8Mu0XAXkQZgKlZefGj+/6NX4=";
};
generate = true;
meta.homepage = "https://github.com/derekstride/tree-sitter-sql";
};
squirrel = buildGrammar {
language = "squirrel";
version = "3fefc6b";
src = fetchFromGitHub {
owner = "amaanq";
repo = "tree-sitter-squirrel";
rev = "3fefc6b9bb2b4de1b1c461783f675918cd957546";
hash = "sha256-gxj6HCO1ALbQWgadmR93Ot8hxkxsQuAw5D1o8f8mo48=";
};
meta.homepage = "https://github.com/amaanq/tree-sitter-squirrel";
};
starlark = buildGrammar {
language = "starlark";
version = "8ad93a7";
@ -1780,6 +1813,17 @@
};
meta.homepage = "https://github.com/Philipp-M/tree-sitter-ungrammar";
};
uxntal = buildGrammar {
language = "uxntal";
version = "14e4760";
src = fetchFromGitHub {
owner = "amaanq";
repo = "tree-sitter-uxntal";
rev = "14e47600afef0affffcbfbe1543381b1ac8fbc5c";
hash = "sha256-SgBWJ8b/9kMkSDafx+6eSl+FS4Hkd1Ei2ALhTLL7yRk=";
};
meta.homepage = "https://github.com/amaanq/tree-sitter-uxntal";
};
v = buildGrammar {
language = "v";
version = "66cf9d3";
@ -1893,12 +1937,12 @@
};
yuck = buildGrammar {
language = "yuck";
version = "48af129";
version = "c348825";
src = fetchFromGitHub {
owner = "Philipp-M";
repo = "tree-sitter-yuck";
rev = "48af129ab5411cd6f7ae2b36f53c1192572fa030";
hash = "sha256-G/aY771G7R78FhS7WxktlMf/0K+PR80WqfwmH+gQhwQ=";
rev = "c348825d3f86dec71dee0e1223c6bd73114e3579";
hash = "sha256-H4tsLDo9Egp1mpZGcA5Z9C9wPFNxPEBDTugUYKeYW9I=";
};
meta.homepage = "https://github.com/Philipp-M/tree-sitter-yuck";
};

View file

@ -831,6 +831,19 @@ self: super: {
propagatedBuildInputs = [ sniprun-bin ];
};
# The GitHub repository returns 404, which breaks the update script
Spacegray-vim = buildVimPluginFrom2Nix {
pname = "Spacegray.vim";
version = "2021-07-06";
src = fetchFromGitHub {
owner = "ackyshake";
repo = "Spacegray.vim";
rev = "c699ca10ed421c462bd1c87a158faaa570dc8e28";
sha256 = "0ma8w6p5jh6llka49x5j5ql8fmhv0bx5hhsn5b2phak79yqg1k61";
};
meta.homepage = "https://github.com/ackyshake/Spacegray.vim/";
};
sqlite-lua = super.sqlite-lua.overrideAttrs (old: {
postPatch = let
libsqlite = "${sqlite.out}/lib/libsqlite3${stdenv.hostPlatform.extensions.sharedLibrary}";
@ -1105,7 +1118,7 @@ self: super: {
libiconv
];
cargoSha256 = "sha256-MR9n2+B2TUNnWxZhBbXZCBereLxYntBxLfx9g14vDUw=";
cargoHash = "sha256-BFUC6fQ5LpTKx2ztCuFVzXTWzSDl03VYsmVcxBXbiT4=";
};
in
''
@ -1333,6 +1346,19 @@ self: super: {
};
});
# The GitHub repository returns 404, which breaks the update script
VimCompletesMe = buildVimPluginFrom2Nix {
pname = "VimCompletesMe";
version = "2022-02-18";
src = fetchFromGitHub {
owner = "ackyshake";
repo = "VimCompletesMe";
rev = "9adf692d7ae6424038458a89d4a411f0a27d1388";
sha256 = "1sndgb3291dyifaa8adri2mb8cgbinbar3nw1fnf67k9ahwycaz0";
};
meta.homepage = "https://github.com/ackyshake/VimCompletesMe/";
};
vimsence = super.vimsence.overrideAttrs (old: {
meta = with lib; {
description = "Discord rich presence for Vim";
@ -1357,15 +1383,6 @@ self: super: {
dependencies = with self; [ vimproc-vim ];
});
vim-trailing-whitespace = super.vim-trailing-whitespace.overrideAttrs (old: {
patches = [(fetchpatch {
# https://github.com/bronson/vim-trailing-whitespace/pull/30
name = "fix-add-dynamic-TerminalOpen-for-both-vim-and-nvim.patch";
url = "https://github.com/bronson/vim-trailing-whitespace/commit/99ef803ebdc01d62b418a3e9386d5f10797bfac3.patch";
hash = "sha256-cyanHUKxhbY8c6EkAbpUq7QcEBQABCwZ6NoEUOpd2F8=";
})];
});
vim-zettel = super.vim-zettel.overrideAttrs (old: {
dependencies = with self; [ vimwiki fzf-vim ];
});

View file

@ -29,9 +29,7 @@ https://github.com/vim-scripts/ShowMultiBase/,,
https://github.com/tmhedberg/SimpylFold/,,
https://github.com/jaredgorski/SpaceCamp/,,
https://github.com/SpaceVim/SpaceVim/,,
https://github.com/ackyshake/Spacegray.vim/,,
https://github.com/chrisbra/SudoEdit.vim/,,
https://github.com/ackyshake/VimCompletesMe/,,
https://github.com/hsitz/VimOrganizer/,,
https://github.com/VundleVim/Vundle.vim/,,
https://github.com/esneider/YUNOcommit.vim/,,
@ -476,7 +474,6 @@ https://github.com/tjdevries/nlua.nvim/,,
https://github.com/mcchrish/nnn.vim/,,
https://github.com/shortcuts/no-neck-pain.nvim/,HEAD,
https://github.com/folke/noice.nvim/,HEAD,
https://github.com/arcticicestudio/nord-vim/,,
https://github.com/shaunsingh/nord.nvim/,,
https://github.com/andersevenrud/nordic.nvim/,,
https://github.com/jlesquembre/nterm.nvim/,,
@ -756,6 +753,7 @@ https://github.com/junegunn/vader.vim/,,
https://github.com/jbyuki/venn.nvim/,,
https://github.com/vhda/verilog_systemverilog.vim/,,
https://github.com/vifm/vifm.vim/,,
https://github.com/nordtheme/vim/,,nord-vim
https://github.com/dracula/vim/,,dracula-vim
https://github.com/embark-theme/vim/,,embark-vim
https://github.com/catppuccin/vim/,HEAD,catppuccin-vim

View file

@ -4,13 +4,12 @@ with vscode-utils;
let
buildVscodeLanguagePack = { language, sha256 }:
buildVscodeLanguagePack = { language, version ? "1.76.2023030809", sha256 }:
buildVscodeMarketplaceExtension {
mktplcRef = {
name = "vscode-language-pack-${language}";
publisher = "MS-CEINTL";
version = "1.64.3";
inherit sha256;
inherit version sha256;
};
meta = {
license = lib.licenses.mit;
@ -24,66 +23,66 @@ in
# French
vscode-language-pack-fr = buildVscodeLanguagePack {
language = "fr";
sha256 = "sha256-6ynT1sbMgKO8iZReQ6KxFpR1VL3Nuo58MvXCtp+67vA=";
sha256 = "19brasjwwgdskgwayclmsywf007i2d47vx7dwq6hq2bhx4rd6xfy";
};
# Italian
vscode-language-pack-it = buildVscodeLanguagePack {
language = "it";
sha256 = "sha256-5aNFpzNMZAZJH3n0rJevke9P6AW0au5i8+r4PXsb9Rg=";
sha256 = "1s5x3w125fliimr0i218mars4xjl70hsz0ihxrjk97c66yzg3gw7";
};
# German
vscode-language-pack-de = buildVscodeLanguagePack {
language = "de";
sha256 = "sha256-oEaWtsgktHKw52lnZTESkpzC/TTY8LO4yX11IgtMG5U=";
sha256 = "0ih8h3n5mcadclxxlrgajq7kprgj9fbklccc00r0z8vqnmlc0dw0";
};
# Spanish
vscode-language-pack-es = buildVscodeLanguagePack {
language = "es";
sha256 = "sha256-utLWbved3WCCk3XzqedbYzmyaKfbMrAmR0btT09GlxA=";
sha256 = "077n4mlx9qxqlp018wfi6hm3syhxsp2xzyih42kpsp71xi8j113r";
};
# Russian
vscode-language-pack-ru = buildVscodeLanguagePack {
language = "ru";
sha256 = "sha256-0Wr2ICOiaaj4jZ555bxUJcmXO/yWDyn0UmdvxUF3WSQ=";
sha256 = "04mdxspm8i1dra0qmim4n4qin050adm2zk9pcnn3z4qbf3yvvnf4";
};
# Chinese (Simplified)
vscode-language-pack-zh-hans = buildVscodeLanguagePack {
language = "zh-hans";
sha256 = "sha256-irTSQcVXf/V3MuZwfx4tFcvBk+xhbFZTnb7IG28s/p4=";
sha256 = "0f2bg5nm4sybwf84afvhc22yjp66rzdz4s1iaa31yxb4c1ij2vsr";
};
# Chinese (Traditional)
vscode-language-pack-zh-hant = buildVscodeLanguagePack {
language = "zh-hant";
sha256 = "sha256-3IA/VTTTEqS6jrDYv50GnLXOTSC1XAMvqOVfOuvIdIs=";
sha256 = "1dspg6x7n9b89cirf63m2y0p6r2m197qzgvvavqfm7bv6cpskha0";
};
# Japanese
vscode-language-pack-ja = buildVscodeLanguagePack {
language = "ja";
sha256 = "sha256-rxod70ddrppEYYzukksVY1dTXR8osLFAsIPr1fSFZDg=";
sha256 = "1idiv9xqfqhz1y3pd4h3ayy3svccr4jhrm23nf9h80g38k74qayi";
};
# Korean
vscode-language-pack-ko = buildVscodeLanguagePack {
language = "ko";
sha256 = "sha256-QYFaxJz1PqKKIiLosLQ8Tu3JNXzpxLFqgIHjjRLwjA4=";
sha256 = "0g980sfa386by741sxxlapc2cjsbkfvldcc5kylxvf2drigyvka7";
};
# Czech
vscode-language-pack-cs = buildVscodeLanguagePack {
language = "cs";
sha256 = "sha256-eMk+syy2h+Xb3k6QB8PqYaF4I1ydaY6eRsvOXmelh9Q=";
sha256 = "0sm3xxiv8lrln051yjq6s5jmpvkbphv1i90lrx472pwknmiwx74a";
};
# Portuguese (Brazil)
vscode-language-pack-pt-br = buildVscodeLanguagePack {
language = "pt-BR";
sha256 = "sha256-7Trz38KBl4sD7608MvTs02pUsdD05oHEj3Sp1LvtI7I=";
sha256 = "1k4y528im6sr8n4blh6k4xng4d534siaaflvnarizs3py9wa61d1";
};
# Turkish
vscode-language-pack-tr = buildVscodeLanguagePack {
language = "tr";
sha256 = "sha256-T4CTpbve3vrNdW4VDfHDg8U8cQEtuxPV5LvNdtKrqzA";
sha256 = "1yf59idj6g77sqkm46bdadklvbvb3ncxzd9mfm9y32h54fxffh6a";
};
# Pseudo Language
vscode-language-pack-qps-ploc = buildVscodeLanguagePack {
language = "qps-ploc";
sha256 = "sha256-rPvCr3uQPfM8vwKoV7Un5aiMZClhf6TvG1PEe3xYNI0=";
sha256 = "1dmn58fx8mpbn84zqyy09a1j67b5988gn7xjmfdk73bbd7hzbmji";
};
}

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kyverno";
version = "1.9.0";
version = "1.9.1";
src = fetchFromGitHub {
owner = "kyverno";
repo = "kyverno";
rev = "v${version}";
sha256 = "sha256-i8uKhzvU9ftlzgzU4ViYg6z+OUNNHGbiFhFAwDKwtnw=";
sha256 = "sha256-FHSvouD/7jZ70O3td6HLqXlOhMDbKPwqTy41Xwijyk4=";
};
ldflags = [
@ -18,7 +18,7 @@ buildGoModule rec {
"-X github.com/kyverno/kyverno/pkg/version.BuildTime=1970-01-01_00:00:00"
];
vendorHash = "sha256-BGIh1wzHIk1kSvk/sQ/tDBhGIOOx0o6Dk4LbK9Z1FAQ=";
vendorHash = "sha256-jE1v9Ec4lEVcx+YjVtcsuNPCqr3x1pt8BMmC+OTwlRM=";
subPackages = [ "cmd/cli/kubectl-kyverno" ];

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "rancher";
version = "2.6.9";
version = "2.6.11";
src = fetchFromGitHub {
owner = "rancher";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-co4LVd5A0bJ4CIuCfv6WyV8XCMbPCFAAcV12WekYrw4=";
sha256 = "sha256-1hIYFQ9Uwrm6chPXka0yK2XoZYHqv5lJoyENZmgMAwc=";
};
ldflags = [
@ -19,7 +19,7 @@ buildGoModule rec {
"-static"
];
vendorSha256 = "sha256-oclMnt6uJa8SG2fNM0fi+HCVMMi4rkykx8VpK/tXilQ=";
vendorHash = "sha256-oclMnt6uJa8SG2fNM0fi+HCVMMi4rkykx8VpK/tXilQ=";
postInstall = ''
mv $out/bin/cli $out/bin/rancher

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "rke";
version = "1.4.2";
version = "1.4.3";
src = fetchFromGitHub {
owner = "rancher";
repo = pname;
rev = "v${version}";
hash = "sha256-4aT9SguxN7oaewnrxme1nCFfaQytSJ9Aeb0WEQACtUA=";
hash = "sha256-UTvDrrveFDrPD0ar87Q3NZSxTyCAe5gpp3e2QPeMMm4=";
};
vendorHash = "sha256-zV1lrJhzrUAcEk6jYLCFrHcYw3CZart46qXErCTjZyQ=";

View file

@ -10,16 +10,16 @@
buildGoModule rec {
pname = "werf";
version = "1.2.204";
version = "1.2.207";
src = fetchFromGitHub {
owner = "werf";
repo = "werf";
rev = "v${version}";
hash = "sha256-/AMOnoED7MKvX/UTRWVGyXw8xuAHQWCnBnA6aQujXiE=";
hash = "sha256-qAptDffM4ZufEPmrhxlGgMyNoih7JYptUVnPfyXy7ok=";
};
vendorHash = "sha256-SzqGcbfDtBfgnu6CRPyk2tPdwNDhM1RfteKTXVvivw4=";
vendorHash = "sha256-QQ0CjyBz1gY6o2I45DA9iD7rrJGVTvWvl4u8ZHuHNeg=";
proxyVendor = true;
@ -64,7 +64,7 @@ buildGoModule rec {
integration/suites \
pkg/true_git/*test.go \
test/e2e
'' + lib.optionalString (stdenv.isLinux && stdenv.isAarch64) ''
# Remove failing tests.
rm -rf \
cmd/werf/docs/replacers/kubectl/kubectl_test.go

View file

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "abc-verifier";
version = "unstable-2023-02-04";
version = "unstable-2023-02-23";
src = fetchFromGitHub {
owner = "yosyshq";
repo = "abc";
rev = "a8f0ef2368aa56b3ad20a52298a02e63b2a93e2d";
hash = "sha256-48i6AKQhMG5hcnkS0vejOy1PqFbeb6FpU7Yx0rEvHDI=";
rev = "2c1c83f75b8078ced51f92c697da3e712feb3ac3";
hash = "sha256-THcyEifIp9v1bOofFVm9NFPqgI6NfKKys+Ea2KyNpv8=";
};
nativeBuildInputs = [ cmake ];

View file

@ -1,6 +1,6 @@
{ haskellPackages, mkDerivation, fetchFromGitHub, lib
# the following are non-haskell dependencies
, makeWrapper, which, maude, graphviz
, makeWrapper, which, maude, graphviz, glibcLocales
}:
let
@ -76,6 +76,7 @@ mkDerivation (common "tamarin-prover" src // {
executableToolDepends = [ makeWrapper which maude graphviz ];
postInstall = ''
wrapProgram $out/bin/tamarin-prover \
--set LOCALE_ARCHIVE "${glibcLocales}/lib/locale/locale-archive" \
--prefix PATH : ${lib.makeBinPath [ which maude graphviz ]}
# so that the package can be used as a vim plugin to install syntax coloration
install -Dt $out/share/vim-plugins/tamarin-prover/syntax/ etc/syntax/spthy.vim

View file

@ -12,13 +12,13 @@
buildPythonApplication rec {
pname = "git-machete";
version = "3.16.0";
version = "3.16.1";
src = fetchFromGitHub {
owner = "virtuslab";
repo = pname;
rev = "v${version}";
hash = "sha256-94qYCyWqVwMMptlJIe4o4/mEHnhcMubcupd+Qs2SYH0=";
hash = "sha256-Js32YKzQcrQfVt7RWXFPA7guR8Tpd1jCTuwboV1zyw0=";
};
nativeBuildInputs = [ installShellFiles ];

View file

@ -16,19 +16,18 @@
, libspectre
, openjpeg
, djvulibre
, gtest
, qtbase
}:
stdenv.mkDerivation rec {
pname = "deepin-reader";
version = "5.10.28";
version = "5.10.29";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "sha256-0jHhsxEjBbu3ktvjX1eKnkZDwzRk9MrUSJSdYeOvWtI=";
sha256 = "sha256-IpgmTmnrPWc9EFZVM+S2nFxdpPjbgXqEWUnK/O9FmUg=";
};
patches = [ ./use-pkg-config.diff ];
@ -56,7 +55,10 @@ stdenv.mkDerivation rec {
libspectre
djvulibre
openjpeg
gtest
];
qmakeFlags = [
"DEFINES+=VERSION=${version}"
];
# qt5integration must be placed before qtsvg in QT_PLUGIN_PATH

View file

@ -44,6 +44,12 @@ stdenv.mkDerivation rec {
url = "https://github.com/elementary/mail/commit/9e6eb73a8420c9bf327e59c25e7e6d8fa87d480a.patch";
sha256 = "sha256-idkVymePLa7vgfuou0HIrbWRCaWAgZliDcp4HyZBArs=";
})
# Fix crash on setting message flag
# https://github.com/elementary/mail/pull/825
(fetchpatch {
url = "https://github.com/elementary/mail/commit/c630f926196e44e086ddda6086cb8b9bdd3efc83.patch";
sha256 = "sha256-4vEETSHA1Gd8GpBZuko4X+9AjG7SFwUlK2MxrWq+iOE=";
})
];
nativeBuildInputs = [

View file

@ -71,13 +71,13 @@ let
in stdenv.mkDerivation rec {
pname = "yosys";
version = "0.26";
version = "0.27";
src = fetchFromGitHub {
owner = "YosysHQ";
repo = "yosys";
rev = "${pname}-${version}";
hash = "sha256-0xV+323YTK+VhnD05SmvGv8uT4TzqA9IZ/iKl1as1Kc=";
hash = "sha256-u6SeVlmQVCF3xCGajxsv0ZAgMKg6aa6WdN3DLKTPNYo=";
};
enableParallelBuilding = true;

View file

@ -318,11 +318,6 @@ self: super: ({
# https://github.com/NixOS/nixpkgs/issues/149692
Agda = removeConfigureFlag "-foptimise-heavily" super.Agda;
# regex-rure's test suite fails with a dylib not loaded error due to some
# rpath issue.
regex-rure = dontDistribute (markBroken super.regex-rure);
jacinda = dontDistribute super.jacinda;
} // lib.optionalAttrs pkgs.stdenv.isx86_64 { # x86_64-darwin
# tests appear to be failing to link or something:

View file

@ -33,8 +33,6 @@
, udev
, ibusSupport ? false
, ibus
, fcitxSupport ? false
, fcitx
, libdecorSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
, libdecor
, pipewireSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
@ -109,7 +107,6 @@ stdenv.mkDerivation rec {
buildInputs = [ libiconv ]
++ dlopenBuildInputs
++ lib.optional ibusSupport ibus
++ lib.optional fcitxSupport fcitx
++ lib.optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ];
enableParallelBuilding = true;

View file

@ -20,17 +20,19 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [
texinfo libXext xorgproto libX11 libXpm libXt libXcursor
alsa-lib zlib libpng libvorbis libXxf86dga libXxf86misc
libXxf86vm openal libGLU libGL
libjpeg flac
libXi libXfixes
enet libtheora freetype physfs libopus gtk3 pcre libXdmcp
libpulseaudio libpthreadstubs
texinfo zlib libpng libvorbis openal libGLU libGL
libjpeg flac enet libtheora freetype physfs libopus
gtk3 pcre
] ++ lib.optionals stdenv.isLinux [
libXext xorgproto libX11 libXpm libXt libXcursor alsa-lib
libXxf86dga libXxf86misc libXxf86vm libXi libXfixes
libXdmcp libpulseaudio libpthreadstubs
];
postPatch = ''
sed -e 's@/XInput2.h@/XI2.h@g' -i CMakeLists.txt "src/"*.c
sed -e 's@Kernel/IOKit/hidsystem/IOHIDUsageTables.h@IOKit/hid/IOHIDUsageTables.h@g' -i include/allegro5/platform/alosx.h
sed -e 's@OpenAL/@AL/@g' -i addons/audio/openal.c
'';
cmakeFlags = [ "-DCMAKE_SKIP_RPATH=ON" ];
@ -40,6 +42,6 @@ stdenv.mkDerivation rec {
homepage = "https://liballeg.org/";
license = licenses.zlib;
maintainers = [ maintainers.raskin ];
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -21,7 +21,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "rocalution";
version = "5.4.2";
version = "5.4.3";
outputs = [
"out"

View file

@ -4,18 +4,18 @@ version = 3
[[package]]
name = "aho-corasick"
version = "0.7.19"
version = "0.7.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e"
checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
dependencies = [
"memchr",
]
[[package]]
name = "libc"
version = "0.2.137"
version = "0.2.140"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
[[package]]
name = "memchr"
@ -25,9 +25,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "regex"
version = "1.7.0"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
dependencies = [
"aho-corasick",
"memchr",

View file

@ -2,6 +2,7 @@
, stdenv
, rustPlatform
, fetchCrate
, fixDarwinDylibNames
}:
let
@ -27,6 +28,10 @@ rustPlatform.buildRustPackage {
install -Dm644 include/rure.h -t "$dev/include"
'';
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
fixDarwinDylibNames
];
passthru.updateScript = ./update.sh;
meta = {

View file

@ -1,36 +0,0 @@
{stdenv, lib, fetchurl, ocaml, findlib, gdome2, libxslt, pkg-config}:
let
pname = "gmetadom";
in
stdenv.mkDerivation rec {
name = "${pname}-${version}";
version = "0.2.6";
src = fetchurl {
url = "mirror://sourceforge/project/${pname}/${pname}/${version}/${pname}-${version}.tar.gz";
sha256 = "0skmlv0pnqvg99wzzzi1h4zhwzd82xg7xpkj1kwpfy7bzinjh7ig";
};
patches = [ ./gcc-4.3.patch ];
dontDisableStatic = true;
preConfigure=''
configureFlags="--with-ocaml-lib-prefix=$out/lib/ocaml/${ocaml.version}/site-lib"
'';
nativeBuildInputs = [ pkg-config ocaml findlib ];
buildInputs = [ libxslt ];
propagatedBuildInputs = [ gdome2 ];
strictDeps = true;
meta = {
homepage = "https://gmetadom.sourceforge.net/";
description = "A collection of librares, each library providing a DOM implementation";
license = lib.licenses.lgpl21Plus;
maintainers = [ lib.maintainers.roconnor ];
};
}

View file

@ -1,18 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## gcc-4.3.dpatch by Stefano Zacchiroli <zack@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: ensure sources build with gcc-4.3
@DPATCH@
diff -urNad trunk~/src/shared/Traits.hh.in trunk/src/shared/Traits.hh.in
--- trunk~/src/shared/Traits.hh.in 2003-01-14 12:41:55.000000000 +0100
+++ trunk/src/shared/Traits.hh.in 2008-05-01 15:45:39.000000000 +0200
@@ -26,6 +26,7 @@
*/
#include <string>
+#include <cstring>
#include "@DOM_NAMESPACE@Char.hh"

View file

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "goodwe";
version = "0.2.27";
version = "0.2.28";
format = "pyproject";
disabled = pythonOlder "3.8";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "marcelblijleven";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-J7hmtFEvJ2ivVi5UsahcpWen/gw65bf3rhBEpiOKsWk=";
hash = "sha256-HkOlvZaCQOt+jbmzal17W5eU7SEq+kzTgbFd3fiTY/A=";
};
postPatch = ''

View file

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "devspace";
version = "6.3.0";
version = "6.3.1";
src = fetchFromGitHub {
owner = "loft-sh";
repo = "devspace";
rev = "v${version}";
sha256 = "sha256-ISyimfjTWU4niGeL8cSRRsUMNq3OQOvKJw7MCbY0K7o=";
sha256 = "sha256-N7u9qZBoaaxqcH+9lU0JoemEPYAuztkDyqVo/GWtS8c=";
};
vendorSha256 = null;

View file

@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-binstall";
version = "0.20.1";
version = "0.21.0";
src = fetchFromGitHub {
owner = "cargo-bins";
repo = "cargo-binstall";
rev = "v${version}";
hash = "sha256-wM8DawrniyJxj8Omgj+hiePa521p4hIAngfzEHFNO58=";
hash = "sha256-btpXmtnsnZy7ai+WlWtgLjwbHqQvIphNM7aqMmA5Wjs=";
};
cargoHash = "sha256-ZanPmdFMDGZhRHVVGt03OJWz8HnSYFdm42W6rpytu5Y=";
cargoHash = "sha256-bfdyLXfasPeUAxiA7tFV1vc4tVnTO84GFOdBWjTx/4s=";
nativeBuildInputs = [
pkg-config
@ -43,6 +43,13 @@ rustPlatform.buildRustPackage rec {
"zstd-thin"
];
checkFlags = [
# requires internet access
"--skip=download::test::test_and_extract"
"--skip=gh_api_client::test::test_gh_api_client_cargo_binstall_no_such_release"
"--skip=gh_api_client::test::test_gh_api_client_cargo_binstall_v0_20_1"
];
# remove cargo config so it can find the linker on aarch64-unknown-linux-gnu
postPatch = ''
rm .cargo/config

View file

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "selene";
version = "0.24.0";
version = "0.25.0";
src = fetchFromGitHub {
owner = "kampfkarren";
repo = pname;
rev = version;
sha256 = "sha256-tw9OLdXhqxgqROub0P/+nd4LQGNw3QDxlCyyf8ogRQM=";
sha256 = "sha256-aKU+1eoLm/h5Rj/vAZOyAnyl5/TpStL5g8PPdYCJ8o0=";
};
cargoSha256 = "sha256-5/xAX8BhB81cB7x2Pe/MKCV0Fi76ZcO6XHFQxTVIuLA=";
cargoSha256 = "sha256-y2BoV59oJPMBf9rUgMhHu87teurwPSNowRbuPfXubGA=";
nativeBuildInputs = lib.optionals robloxSupport [
pkg-config

View file

@ -3,16 +3,16 @@
buildGoModule rec {
pname = "matrix-dendrite";
version = "0.11.0";
version = "0.11.1";
src = fetchFromGitHub {
owner = "matrix-org";
repo = "dendrite";
rev = "v${version}";
sha256 = "sha256-EJUHpV+ZsMMSMsJGhF0Atblksg5rgI3a2qcRxLyZP38=";
hash = "sha256-+REY5an0gTbADEozCI6bkUWbW9VWTtWZ4xXj9qcIkwc=";
};
vendorHash = "sha256-Ygd5wC4j0kAbEMMVct5WXZvkcYSqqK8d7ZZ9CDU1RHU=";
vendorHash = "sha256-/O7zzXYM03K+MresuXIHtgMuD9yS2+NIaLEnm/WRYeA=";
subPackages = [
# The server as a monolith: https://matrix-org.github.io/dendrite/installation/install/monolith

View file

@ -0,0 +1,53 @@
{ lib, stdenv, fetchurl, libmediainfo, sqlite, curl, makeWrapper, icu, dotnet-runtime, openssl, nixosTests }:
let
os = if stdenv.isDarwin then "osx" else "linux";
arch = {
x86_64-linux = "x64";
aarch64-linux = "arm64";
x86_64-darwin = "x64";
}."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
hash = {
x64-linux_hash = "sha256-ABk2wxNse8dcFWEMpaXnsALz171/1JQaAFzmpz36we0=";
arm64-linux_hash = "sha256-c1eVCPE8RH9u99hYJZBiNBpanBv3WeSTVaD+Gq1yxUk=";
x64-osx_hash = "sha256-9UEi8YbpZ1baZ9lnG7SJcYnvJRgP7BsqcIt9Z3UdDv8=";
}."${arch}-${os}_hash";
in stdenv.mkDerivation rec {
pname = "readarr";
version = "0.1.4.1596";
src = fetchurl {
url = "https://github.com/Readarr/Readarr/releases/download/v${version}/Readarr.develop.${version}.${os}-core-${arch}.tar.gz";
sha256 = hash;
};
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share/${pname}-${version}}
cp -r * $out/share/${pname}-${version}/.
makeWrapper "${dotnet-runtime}/bin/dotnet" $out/bin/Readarr \
--add-flags "$out/share/${pname}-${version}/Readarr.dll" \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ curl sqlite libmediainfo icu openssl ]}
runHook postInstall
'';
passthru = {
updateScript = ./update.sh;
tests.smoke-test = nixosTests.readarr;
};
meta = with lib; {
description = "A Usenet/BitTorrent ebook downloader";
homepage = "https://readarr.com";
license = licenses.gpl3;
maintainers = [ maintainers.jocelynthode ];
sourceProvenance = with lib.sourceTypes; [ binaryBytecode ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
};
}

44
pkgs/servers/readarr/update.sh Executable file
View file

@ -0,0 +1,44 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnused nix-prefetch jq
set -e
dirname="$(dirname "$0")"
updateHash()
{
version=$1
arch=$2
os=$3
hashKey="${arch}-${os}_hash"
url="https://github.com/Readarr/Readarr/releases/download/v$version/Readarr.develop.$version.$os-core-$arch.tar.gz"
hash=$(nix-prefetch-url --type sha256 $url)
sriHash="$(nix hash to-sri --type sha256 $hash)"
sed -i "s|$hashKey = \"[a-zA-Z0-9\/+-=]*\";|$hashKey = \"$sriHash\";|g" "$dirname/default.nix"
}
updateVersion()
{
sed -i "s/version = \"[0-9.]*\";/version = \"$1\";/g" "$dirname/default.nix"
}
currentVersion=$(cd $dirname && nix eval --raw -f ../../.. readarr.version)
# We cannot use the latest releases as in the past Readarr released old version with v2.0 and then went back to 0.1
latestTag=$(curl https://api.github.com/repos/Readarr/Readarr/releases | jq -r ".[0].tag_name")
latestVersion="$(expr $latestTag : 'v\(.*\)')"
if [[ "$currentVersion" == "$latestVersion" ]]; then
echo "Readarr is up-to-date: ${currentVersion}"
exit 0
fi
updateVersion $latestVersion
updateHash $latestVersion x64 linux
updateHash $latestVersion arm64 linux
updateHash $latestVersion x64 osx

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "static-web-server";
version = "2.14.2";
version = "2.15.0";
src = fetchFromGitHub {
owner = "static-web-server";
repo = pname;
rev = "v${version}";
sha256 = "sha256-c+bPe1t7Nhpx5fwwpLYtsuzxleLd4b1SwBFBaySmLOg=";
sha256 = "sha256-TzMXVwtvslM57ucHT5NHMjsLex2VjuvyqP9gMdQXfFs=";
};
cargoSha256 = "sha256-K+YXl1SFVe6aBt663QXlQFD8jB5pvlLwNqUvUP+5aU8=";
cargoSha256 = "sha256-sx6zlSpJNeLpmM64eyhKI7M422dEBaud7q4iz4zmmf0=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security

View file

@ -3,14 +3,15 @@
let
phpExt = php.withExtensions
({ enabled, all }: with all; [ filter mysqlnd mysqli pdo pdo_mysql ]);
in stdenv.mkDerivation rec {
in
stdenv.mkDerivation rec {
pname = "engelsystem";
version = "3.1.0";
version = "3.3.0";
src = fetchzip {
url =
"https://github.com/engelsystem/engelsystem/releases/download/v3.1.0/engelsystem-v3.1.0.zip";
sha256 = "01wra7li7n5kn1l6xkrmw4vlvvyqh089zs43qzn98hj0mw8gw7ai";
"https://github.com/engelsystem/engelsystem/releases/download/v3.3.0/engelsystem-v3.3.0.zip";
hash = "sha256-DS0klm26udXsiiFToeOJooA1WUR8gk0qf/UJL8E77ps=";
};
buildInputs = [ phpExt ];
@ -20,7 +21,6 @@ in stdenv.mkDerivation rec {
# prepare
rm -r ./storage/
rm -r ./docker/
ln -sf /etc/engelsystem/config.php ./config/config.php
ln -sf /var/lib/engelsystem/storage/ ./storage
@ -43,6 +43,7 @@ in stdenv.mkDerivation rec {
description =
"Coordinate your volunteers in teams, assign them to work shifts or let them decide for themselves when and where they want to help with what";
homepage = "https://engelsystem.de";
changelog = "https://github.com/engelsystem/engelsystem/releases/tag/v${version}";
license = licenses.gpl2;
maintainers = with maintainers; [ kloenk ];
mainProgram = "migrate";

View file

@ -896,7 +896,7 @@ self: with self; {
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/lib/libX11-1.8.4.tar.xz";
sha256 = "sha256-yaKHpa76mATOPPr89Rb+lu0/fo5FwOLuWehMhnV99Rg=";
sha256 = "067mgmsqck78b7pf5h25irz3zvcnzqbgbz7s7k70967smsjqg8n9";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;
@ -3328,7 +3328,7 @@ self: with self; {
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/xserver/xorg-server-21.1.7.tar.xz";
sha256 = "sha256-2cYLLdDsUjJspqsg2w5JCx/09Wb1nKdC1lMuknlYd7s=";
sha256 = "1fvpb1wr4bjksr1ag77mcvsz87qb947dn85blrn34lpcs0nhpinr";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;

View file

@ -0,0 +1,43 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, coreutils
, gnused
, postgresql
, makeWrapper
}:
stdenvNoCC.mkDerivation rec {
pname = "psql2csv";
version = "0.12";
src = fetchFromGitHub {
owner = "fphilipe";
repo = "psql2csv";
rev = "v${version}";
hash = "sha256-XIdZ2+Jlw2JLn4KXD9h3+xXymu4FhibAfp5uGGkVwLQ=";
};
nativeBuildInputs = [ makeWrapper ];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dm755 -t $out/bin psql2csv
wrapProgram $out/bin/psql2csv \
--prefix PATH : ${lib.makeBinPath [ coreutils gnused postgresql ]}
runHook postInstall
'';
meta = with lib; {
description = "Tool to run a PostreSQL query and output the result as CSV";
homepage = "https://github.com/fphilipe/psql2csv";
license = licenses.mit;
maintainers = with maintainers; [ azahi ];
inherit (postgresql.meta) platforms;
};
}

View file

@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "topgrade";
version = "10.3.1";
version = "10.3.2";
src = fetchFromGitHub {
owner = "topgrade-rs";
repo = "topgrade";
rev = "v${version}";
hash = "sha256-sOXp/oo29oVdmn3qEb7HCSlYYOvbTpD21dX4JSYaqps=";
hash = "sha256-yYRKNiX8JvCP44+mdLIOSjpxaVDz1YUNrj/IZ0bC72Y=";
};
cargoHash = "sha256-fZjMTVn4gx1hvtiD5NRkXY2f9HNSv7Vx3HdHypne5U0=";
cargoHash = "sha256-2b6TOkjoycPA8rwca3nT212Yxl6q2Hmvv0f4Ic9hnWM=";
nativeBuildInputs = [
installShellFiles

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "shadowsocks-rust";
version = "1.15.2";
version = "1.15.3";
src = fetchFromGitHub {
rev = "v${version}";
owner = "shadowsocks";
repo = pname;
hash = "sha256-CvAOvtC5U2njQuUjFxjnGeqhuxrCw4XI6goo1TxIhIU=";
hash = "sha256-HU+9y4btWbYrkHazOudY2j9RceieBK3BS2jgLbwcEdk=";
};
cargoHash = "sha256-ctZlYo82M7GKVvrEkw/7+aH9R0MeEsyv3IKl9k4SbiA=";
cargoHash = "sha256-YORQHX4RPPHDErgo4c3SxvxklJ9mxHeP/1GiwhuL+J0=";
nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config ];

View file

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "httpx";
version = "1.2.7";
version = "1.2.8";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "httpx";
rev = "refs/tags/v${version}";
hash = "sha256-kZU7k7vAKgQfCQobGa5i5ZnO8ARUSozv4gz93g912uM=";
hash = "sha256-uZTYRsOAmuROA8ZrePruE+eDIx9TW98ljByDkstZC1Q=";
};
vendorHash = "sha256-1EQt7L+dQvpBOGVHeaIOCUG960yv5h9nuQNnF4wSoug=";
vendorHash = "sha256-czW1bnQp5+Om5EfW1DvCkAaNaqfAupmSJJvS14xKQUg=";
# Tests require network access
doCheck = false;

View file

@ -72,6 +72,6 @@ buildGoModule rec {
changelog = "https://github.com/ossf/scorecard/releases/tag/v${version}";
description = "Security health metrics for Open Source";
license = licenses.asl20;
maintainers = with maintainers; [ jk ];
maintainers = with maintainers; [ jk developer-guy ];
};
}

View file

@ -1,6 +1,13 @@
{ stdenv, lib, fetchFromGitHub, autoreconfHook, openssl, readline }:
{ stdenv, lib, fetchFromGitHub, autoreconfHook, openssl, readline, fetchurl }:
stdenv.mkDerivation rec {
let
iana-enterprise-numbers = fetchurl {
url = "https://web.archive.org/web/20230312103209id_/https://www.iana.org/assignments/enterprise-numbers.txt";
sha256 = "sha256-huFWygMEylBKBMLV16UE6xLWP6Aw1FGYk5h1q5CErUs=";
};
in stdenv.mkDerivation rec {
pname = "ipmitool";
version = "1.8.19";
@ -16,7 +23,8 @@ stdenv.mkDerivation rec {
postPatch = ''
substituteInPlace configure.ac \
--replace 'AC_MSG_WARN([** Neither wget nor curl could be found.])' 'AM_CONDITIONAL([DOWNLOAD], [false])'
--replace 'AC_MSG_WARN([** Neither wget nor curl could be found.])' 'AM_CONDITIONAL([DOWNLOAD], [true])'
cp ${iana-enterprise-numbers} enterprise-numbers
'';
meta = with lib; {

View file

@ -11539,6 +11539,8 @@ with pkgs;
react-native-debugger = callPackage ../development/tools/react-native-debugger { };
readarr = callPackage ../servers/readarr { };
read-edid = callPackage ../os-specific/linux/read-edid { };
readstat = callPackage ../applications/science/math/readstat { };
@ -25454,6 +25456,8 @@ with pkgs;
proximity-sort = callPackage ../tools/misc/proximity-sort { };
psql2csv = callPackage ../tools/misc/psql2csv { };
psqlodbc = callPackage ../development/libraries/psqlodbc { };
public-inbox = perlPackages.callPackage ../servers/mail/public-inbox { };

View file

@ -615,8 +615,6 @@ let
git-binary = pkgs.git;
};
gmetadom = callPackage ../development/ocaml-modules/gmetadom { };
graphics =
if lib.versionOlder "4.09" ocaml.version
then callPackage ../development/ocaml-modules/graphics { }