Merge master into staging-next

This commit is contained in:
github-actions[bot] 2024-04-17 18:01:04 +00:00 committed by GitHub
commit 5c2b2d5b74
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
163 changed files with 1441 additions and 2168 deletions

View file

@ -11,7 +11,7 @@
uid = 1000;
};
services.xserver.displayManager = {
services.displayManager = {
autoLogin = {
enable = true;
user = "demo";

View file

@ -6,13 +6,12 @@
{
services.xserver = {
enable = true;
displayManager.sddm.enable = true;
desktopManager.plasma5 = {
enable = true;
};
desktopManager.plasma5.enable = true;
libinput.enable = true; # for touchpad support on many laptops
};
services.displayManager.sddm.enable = true;
# Enable sound in virtualbox appliances.
hardware.pulseaudio.enable = true;

View file

@ -203,6 +203,8 @@ in
TOKEN = "${instance.token}";
} // optionalAttrs (wantsPodman) {
DOCKER_HOST = "unix:///run/podman/podman.sock";
} // {
HOME = "/var/lib/gitea-runner/${name}";
};
path = with pkgs; [
coreutils

View file

@ -22,8 +22,27 @@ let
'';
signingPrivateKeyId = "4D642DE8B678C79D";
actionsWorkflowYaml = ''
run-name: dummy workflow
on:
push:
jobs:
cat:
runs-on: native
steps:
- uses: http://localhost:3000/test/checkout@main
- run: cat testfile
'';
# https://github.com/actions/checkout/releases
checkoutActionSource = pkgs.fetchFromGitHub {
owner = "actions";
repo = "checkout";
rev = "v4.1.1";
hash = "sha256-h2/UIp8IjPo3eE4Gzx52Fb7pcgG/Ww7u31w5fdKVMos=";
};
supportedDbTypes = [ "mysql" "postgres" "sqlite3" ];
makeGForgejoTest = type: nameValuePair type (makeTest {
makeForgejoTest = type: nameValuePair type (makeTest {
name = "forgejo-${type}";
meta.maintainers = with maintainers; [ bendlas emilylange ];
@ -36,21 +55,28 @@ let
settings.service.DISABLE_REGISTRATION = true;
settings."repository.signing".SIGNING_KEY = signingPrivateKeyId;
settings.actions.ENABLED = true;
settings.repository = {
ENABLE_PUSH_CREATE_USER = true;
DEFAULT_PUSH_CREATE_PRIVATE = false;
};
};
environment.systemPackages = [ config.services.forgejo.package pkgs.gnupg pkgs.jq pkgs.file ];
environment.systemPackages = [ config.services.forgejo.package pkgs.gnupg pkgs.jq pkgs.file pkgs.htmlq ];
services.openssh.enable = true;
specialisation.runner = {
inheritParentConfig = true;
configuration.services.gitea-actions-runner.instances."test" = {
enable = true;
name = "ci";
url = "http://localhost:3000";
labels = [
# don't require docker/podman
"native:host"
];
tokenFile = "/var/lib/forgejo/runner_token";
configuration.services.gitea-actions-runner = {
package = pkgs.forgejo-runner;
instances."test" = {
enable = true;
name = "ci";
url = "http://localhost:3000";
labels = [
# type ":host" does not depend on docker/podman/lxc
"native:host"
];
tokenFile = "/var/lib/forgejo/runner_token";
};
};
};
specialisation.dump = {
@ -62,11 +88,20 @@ let
};
};
};
client1 = { config, pkgs, ... }: {
environment.systemPackages = [ pkgs.git ];
};
client2 = { config, pkgs, ... }: {
environment.systemPackages = [ pkgs.git ];
client = { ... }: {
programs.git = {
enable = true;
config = {
user.email = "test@localhost";
user.name = "test";
init.defaultBranch = "main";
};
};
programs.ssh.extraConfig = ''
Host *
StrictHostKeyChecking no
IdentityFile ~/.ssh/privk
'';
};
};
@ -75,26 +110,23 @@ let
inherit (import ./ssh-keys.nix pkgs) snakeOilPrivateKey snakeOilPublicKey;
serverSystem = nodes.server.system.build.toplevel;
dumpFile = with nodes.server.specialisation.dump.configuration.services.forgejo.dump; "${backupDir}/${file}";
remoteUri = "forgejo@server:test/repo";
remoteUriCheckoutAction = "forgejo@server:test/checkout";
in
''
import json
GIT_SSH_COMMAND = "ssh -i $HOME/.ssh/privk -o StrictHostKeyChecking=no"
REPO = "forgejo@server:test/repo"
PRIVK = "${snakeOilPrivateKey}"
start_all()
client1.succeed("mkdir /tmp/repo")
client1.succeed("mkdir -p $HOME/.ssh")
client1.succeed(f"cat {PRIVK} > $HOME/.ssh/privk")
client1.succeed("chmod 0400 $HOME/.ssh/privk")
client1.succeed("git -C /tmp/repo init")
client1.succeed("echo hello world > /tmp/repo/testfile")
client1.succeed("git -C /tmp/repo add .")
client1.succeed("git config --global user.email test@localhost")
client1.succeed("git config --global user.name test")
client1.succeed("git -C /tmp/repo commit -m 'Initial import'")
client1.succeed(f"git -C /tmp/repo remote add origin {REPO}")
client.succeed("mkdir -p ~/.ssh")
client.succeed("(umask 0077; cat ${snakeOilPrivateKey} > ~/.ssh/privk)")
client.succeed("mkdir /tmp/repo")
client.succeed("git -C /tmp/repo init")
client.succeed("echo 'hello world' > /tmp/repo/testfile")
client.succeed("git -C /tmp/repo add .")
client.succeed("git -C /tmp/repo commit -m 'Initial import'")
client.succeed("git -C /tmp/repo remote add origin ${remoteUri}")
server.wait_for_unit("forgejo.service")
server.wait_for_open_port(3000)
@ -143,18 +175,14 @@ let
+ ' -d \'{"key":"${snakeOilPublicKey}","read_only":true,"title":"SSH"}\'''
)
client1.succeed(
f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git -C /tmp/repo push origin master"
)
client.succeed("git -C /tmp/repo push origin main")
client2.succeed("mkdir -p $HOME/.ssh")
client2.succeed(f"cat {PRIVK} > $HOME/.ssh/privk")
client2.succeed("chmod 0400 $HOME/.ssh/privk")
client2.succeed(f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' git clone {REPO}")
client2.succeed('test "$(cat repo/testfile | xargs echo -n)" = "hello world"')
client.succeed("git clone ${remoteUri} /tmp/repo-clone")
print(client.succeed("ls -lash /tmp/repo-clone"))
assert "hello world" == client.succeed("cat /tmp/repo-clone/testfile").strip()
with subtest("Testing git protocol version=2 over ssh"):
git_protocol = client2.succeed(f"GIT_SSH_COMMAND='{GIT_SSH_COMMAND}' GIT_TRACE2_EVENT=true git -C repo fetch |& grep negotiated-version")
git_protocol = client.succeed("GIT_TRACE2_EVENT=true git -C /tmp/repo-clone fetch |& grep negotiated-version")
version = json.loads(git_protocol).get("value")
assert version == "2", f"git did not negotiate protocol version 2, but version {version} instead."
@ -164,7 +192,7 @@ let
timeout=10
)
with subtest("Testing runner registration"):
with subtest("Testing runner registration and action workflow"):
server.succeed(
"su -l forgejo -c 'GITEA_WORK_DIR=/var/lib/forgejo gitea actions generate-runner-token' | sed 's/^/TOKEN=/' | tee /var/lib/forgejo/runner_token"
)
@ -172,6 +200,52 @@ let
server.wait_for_unit("gitea-runner-test.service")
server.succeed("journalctl -o cat -u gitea-runner-test.service | grep -q 'Runner registered successfully'")
# enable actions feature for this repository, defaults to disabled
server.succeed(
"curl --fail -X PATCH http://localhost:3000/api/v1/repos/test/repo "
+ "-H 'Accept: application/json' -H 'Content-Type: application/json' "
+ f"-H 'Authorization: token {api_token}'"
+ ' -d \'{"has_actions":true}\'''
)
# mirror "actions/checkout" action
client.succeed("cp -R ${checkoutActionSource}/ /tmp/checkout")
client.succeed("git -C /tmp/checkout init")
client.succeed("git -C /tmp/checkout add .")
client.succeed("git -C /tmp/checkout commit -m 'Initial import'")
client.succeed("git -C /tmp/checkout remote add origin ${remoteUriCheckoutAction}")
client.succeed("git -C /tmp/checkout push origin main")
# push workflow to initial repo
client.succeed("mkdir -p /tmp/repo/.forgejo/workflows")
client.succeed("cp ${pkgs.writeText "dummy-workflow.yml" actionsWorkflowYaml} /tmp/repo/.forgejo/workflows/")
client.succeed("git -C /tmp/repo add .")
client.succeed("git -C /tmp/repo commit -m 'Add dummy workflow'")
client.succeed("git -C /tmp/repo push origin main")
def poll_workflow_action_status(_) -> bool:
output = server.succeed(
"curl --fail http://localhost:3000/test/repo/actions | "
+ 'htmlq ".flex-item-leading span" --attribute "data-tooltip-content"'
).strip()
# values taken from https://codeberg.org/forgejo/forgejo/src/commit/af47c583b4fb3190fa4c4c414500f9941cc02389/options/locale/locale_en-US.ini#L3649-L3661
if output in [ "Failure", "Canceled", "Skipped", "Blocked" ]:
raise Exception(f"Workflow status is '{output}', which we consider failed.")
server.log(f"Command returned '{output}', which we consider failed.")
elif output in [ "Unknown", "Waiting", "Running", "" ]:
server.log(f"Workflow status is '{output}'. Waiting some more...")
return False
elif output in [ "Success" ]:
return True
raise Exception(f"Workflow status is '{output}', which we don't know. Value mappings likely need updating.")
with server.nested("Waiting for the workflow run to be successful"):
retry(poll_workflow_action_status)
with subtest("Testing backup service"):
server.succeed("${serverSystem}/specialisation/dump/bin/switch-to-configuration test")
server.systemctl("start forgejo-dump")
@ -181,4 +255,4 @@ let
});
in
listToAttrs (map makeGForgejoTest supportedDbTypes)
listToAttrs (map makeForgejoTest supportedDbTypes)

View file

@ -21,14 +21,14 @@
stdenv.mkDerivation rec {
pname = "grandorgue";
version = "3.14.0-1";
version = "3.14.1-1";
src = fetchFromGitHub {
owner = "GrandOrgue";
repo = pname;
rev = version;
fetchSubmodules = true;
hash = "sha256-bzGfc0kWlQSjvZsFlRERPjdLtemcZmsa6DsQGgBPoFo=";
hash = "sha256-EyMTWsaqJX7H7aCbu5ww9tQBMwJ7BzobWMWg5Y/ZgJE=";
};
postPatch = ''

View file

@ -33,14 +33,14 @@ let
in
stdenv.mkDerivation rec {
pname = if withGui then "bitcoin" else "bitcoind";
version = "26.1";
version = "27.0";
src = fetchurl {
urls = [
"https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
];
# hash retrieved from signed SHA256SUMS
sha256 = "9164ee5d717b4a20cb09f0496544d9d32f365734814fe399f5cdb4552a9b35ee";
sha256 = "9c1ee651d3b157baccc3388be28b8cf3bfcefcd2493b943725ad6040ca6b146b";
};
nativeBuildInputs =

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "lite-xl";
version = "2.1.3";
version = "2.1.4";
src = fetchFromGitHub {
owner = "lite-xl";
repo = "lite-xl";
rev = "v${version}";
hash = "sha256-4ykUdcNwJ4r/4u9H+c8pgupY3BaPi2y69X6yaDjCjac=";
hash = "sha256-TqrFI5TFb2hnnlHYUjLDUTDK3/Wgg1gOxIP8owLi/yo=";
};
nativeBuildInputs = [ meson ninja pkg-config ];

View file

@ -10,8 +10,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "shellcheck";
publisher = "timonwong";
version = "0.37.0";
sha256 = "1d0blynn6c2hz4y9fk7b5wsa3x168gxyycr5d05zqp0rx520m5wc";
version = "0.37.1";
sha256 = "sha256-JSS0GY76+C5xmkQ0PNjt2Nu/uTUkfiUqmPL51r64tl0=";
};
nativeBuildInputs = [
jq

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "geoipupdate";
version = "6.1.0";
version = "7.0.1";
src = fetchFromGitHub {
owner = "maxmind";
repo = "geoipupdate";
rev = "v${version}";
sha256 = "sha256-/iLWy3yKO34nnn5ygAewR036PzgUGIqdhXNK4fx3Ym8=";
sha256 = "sha256-OWo8puUjzMZXZ80HMpCrvRGUVdclnSxk7rHR5egOU1Y=";
};
vendorHash = "sha256-jW5/09sOUvPZVM1wzL4xg/a14kZ0KsM8e+zEQoADsl4=";
vendorHash = "sha256-MApZUtI9JewMBbImuV3vsNG89UvCfxcBg3TZiuk/nvg=";
ldflags = [ "-X main.version=${version}" ];

View file

@ -16,13 +16,13 @@ let
};
in mkDerivation rec {
pname = "golden-cheetah";
version = "3.6";
version = "3.7-DEV2404";
src = fetchFromGitHub {
owner = "GoldenCheetah";
repo = "GoldenCheetah";
rev = "refs/tags/v${version}";
hash = "sha256-Ntim1/ZPaTPCHQ5p8xF5LWpqq8+OgkPfaQqqysv9j/c=";
hash = "sha256-u2igcnOulgJGZT46/Z3vSsce9mr3VsxkD3mTeQPvUOg=";
};
buildInputs = [

View file

@ -24,6 +24,8 @@ let
./575.patch
];
strictDeps = true;
nativeBuildInputs = [
autoconf
automake
@ -34,6 +36,7 @@ let
wrapGAppsHook
wrapPython
gobject-introspection
python
];
configureFlags = [
@ -49,7 +52,6 @@ let
buildInputs = [
gtk3
python
] ++ lib.optional withRandr libxcb
++ lib.optional withGeoclue geoclue
++ lib.optional withDrm libdrm

View file

@ -12,7 +12,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "waylock";
version = "0.6.5";
version = "1.0.0";
src = fetchFromGitea {
domain = "codeberg.org";
@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
repo = "waylock";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-wvZrRPZobDh+rB3RSaRrz0xDHuYwT2eoQEu3AbYKn8Y=";
hash = "sha256-Z5YNaR+jocJ4hS7NT8oAlrMnqNfD8KRzOyyqdVGDSl0=";
};
nativeBuildInputs = [

View file

@ -24,7 +24,7 @@ let
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
in stdenv.mkDerivation rec {
pname = "vivaldi";
version = "6.6.3271.57";
version = "6.6.3271.61";
suffix = {
aarch64-linux = "arm64";
@ -34,8 +34,8 @@ in stdenv.mkDerivation rec {
src = fetchurl {
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
hash = {
aarch64-linux = "sha256-v/UG4eL/66i/0sSqN8JmJJIEjHzJjTTDZLRzLMJpJMA=";
x86_64-linux = "sha256-uVrEVf9mePqalU2OJRMj0Zy9d7jDXwsdMwEQhn9uUh8=";
aarch64-linux = "sha256-Rcc/pufINOQJlkQI6KkWVZtnh3KvKLS6jRWQNTxPFmU=";
x86_64-linux = "sha256-Xt4pLB23VZ/j9g/QCOQTrrhQduxs1nB4wyYkBefFPIQ=";
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
};

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "argocd";
version = "2.10.6";
version = "2.10.7";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-cd";
rev = "v${version}";
hash = "sha256-tKZQVI2WiqsPIMHCBGJHcZYk4gOoshiGA0WPyeoxvok=";
hash = "sha256-0C8lVQrFxrk9ym4aCz0PhUS2iByx9rj5Id0xFIq4Efc=";
};
proxyVendor = true; # darwin/linux hash mismatch

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kubevpn";
version = "2.2.4";
version = "2.2.5";
src = fetchFromGitHub {
owner = "KubeNetworks";
repo = "kubevpn";
rev = "v${version}";
hash = "sha256-taeCOmjZqULxQf4dgLzSYgN43fFYH04Ev4O/SHHG+xI=";
hash = "sha256-I4szQNRBW3M+QNwsfkJZlrZL3jJXcXmD2KnFF/E+jaE=";
};
vendorHash = null;

View file

@ -167,8 +167,8 @@ rec {
mkTerraform = attrs: pluggable (generic attrs);
terraform_1 = mkTerraform {
version = "1.8.0";
hash = "sha256-An/ElR1tXQSb9x26R5o9gcb4XKTeVxlv+72Whcrdeoc=";
version = "1.8.1";
hash = "sha256-q/r1KK0svdK/5Za4bqU6bGgTcWmG+YZFJUFRKqPAWSw=";
vendorHash = "sha256-xpgGceAA+kvwUp4T0m9rnbPoZ3uJHU2KIRsrcGr8dRo=";
patches = [ ./provider-path-0_15.patch ];
passthru = {

View file

@ -21,6 +21,7 @@
, autoPatchelfHook
, makeShellWrapper
, wrapGAppsHook
, commandLineArgs ? ""
}:
let
@ -83,6 +84,7 @@ stdenv.mkDerivation {
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libGL ]}" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
--add-flags ${lib.escapeShellArg commandLineArgs} \
"''${gappsWrapperArgs[@]}"
# Remove bundled libraries

View file

@ -63,14 +63,14 @@ let
in
stdenv.mkDerivation rec {
pname = "telegram-desktop";
version = "4.16.7";
version = "4.16.8";
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-+BXuFHXGOgpmAX7wsGLxZxfzvNsntFLtd+Obhb339Yc=";
hash = "sha256-M8wFhuTTEJippgvS93LNRqREV2TGF04ccps5oOmSr+0=";
};
patches = [

View file

@ -8,13 +8,13 @@
stdenvNoCC.mkDerivation rec {
pname = "cloudlog";
version = "2.6.8";
version = "2.6.9";
src = fetchFromGitHub {
owner = "magicbug";
repo = "Cloudlog";
rev = version;
hash = "sha256-8D8owjONUMpRpFqKvmxKERCprvHQ1DCavNfqW9VTKAE=";
hash = "sha256-DyBo56NS15s+t9Dl8xCC7MQAqMmZ91FYUYOV4vyJ/Yo=";
};
postPatch = ''

View file

@ -25,13 +25,13 @@
stdenv.mkDerivation rec {
pname = "freedv";
version = "1.9.8";
version = "1.9.9.1";
src = fetchFromGitHub {
owner = "drowe67";
repo = "freedv-gui";
rev = "v${version}";
hash = "sha256-JbLP65fC6uHrHXpSUwtgYHB+VLfheo5RU3C44lx8QlQ=";
hash = "sha256-i0SVu3txC+JUp0P6cFlmn/66lOmii7JMGIvc43nZoOE=";
};
postPatch = lib.optionalString stdenv.isDarwin ''

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "bcftools";
version = "1.19";
version = "1.20";
src = fetchurl {
url = "https://github.com/samtools/bcftools/releases/download/${version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-eCtfG8aQQVGSIx6CITs0k7BH9F5jDcjvbxVNYSarPmg=";
sha256 = "sha256-MSuDKd5RMN06N2eMcSlR5h5XcVV8cSmnCjJ6MA/ahiA=";
};
nativeBuildInputs = [

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gh";
version = "2.47.0";
version = "2.48.0";
src = fetchFromGitHub {
owner = "cli";
repo = "cli";
rev = "v${version}";
hash = "sha256-vLnz0VDp8mTYBWPPidqw9SUvkn7S1jMTLN1RQyU9YnE=";
hash = "sha256-8vQQzLGb1cHeNJC/aUZbROfRoUtuujEKoLWBgLZnhls=";
};
vendorHash = "sha256-5GjU6A2QLDxrTMxaBCOniSX56Undfcu+dhfC5tc16V0=";
vendorHash = "sha256-rQtRBXhG5fF+3cIIv9i5r8Kd9YeIq/aDLAw8Rqxn6ww=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -20,12 +20,12 @@
buildGoModule rec {
pname = "gitea";
version = "1.21.10";
version = "1.21.11";
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
src = fetchurl {
url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz";
hash = "sha256-g/aDRIAKaPi8AWWJL4N8CZt2N4HBEWK7xSBvjrcPDD8=";
hash = "sha256-TxysXw3lVdV/hlILztM+D7wIpeqXfglAy7Ak2AxnlEM=";
};
vendorHash = null;

View file

@ -11,9 +11,9 @@ in
} { };
sublime-merge-dev = common {
buildVersion = "2092";
buildVersion = "2094";
dev = true;
aarch64sha256 = "3QMDynXMVB4QVtM8EPbZ8I4m+5sEjzs8XN+jEoMaktM=";
x64sha256 = "S9E+wRvO41Eq+PLA/J+sjBIAn6yz715Wg9bKRW2Eobg=";
aarch64sha256 = "ZJgq971EPzq+BWxTQAoX6TgUmTfpf9sI4CHPcvgPTfI=";
x64sha256 = "6FLfszhP+BGHX5FrycMlznREmGDLyDyo6rgmqxhtCak=";
} { };
}

View file

@ -9,7 +9,7 @@
{ attrPath }:
let
url = "http://mirrors.kodi.tv/addons/nexus/addons.xml.gz";
url = "http://mirrors.kodi.tv/addons/omega/addons.xml.gz";
updateScript = writeShellScript "update.sh" ''
set -ex

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, typing_extensions }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, typing_extensions }:
buildKodiAddon rec {
pname = "arrow";
namespace = "script.module.arrow";
version = "1.2.3";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/script.module.arrow/script.module.arrow-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/script.module.arrow/script.module.arrow-${version}.zip";
sha256 = "sha256-Et+9FJT1dRE1dFOrAQ70HJJcfylyLsiyay9wPJcSOXs=";
};

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, requests, xbmcswift2 }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, requests, xbmcswift2 }:
buildKodiAddon rec {
pname = "arteplussept";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "1.4.2";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
hash = "sha256-dqxGKaOnEYOI33Aw76zbjma5z7MqOUh367dFsV87olU=";
};

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, cacert }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, cacert }:
buildKodiAddon rec {
pname = "certifi";
namespace = "script.module.certifi";
version = "2023.5.7";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-NQbjx+k9fnQMYLLMR5+N5NSuDcXEzZjlhGPA3qSmjfI=";
};

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "chardet";
namespace = "script.module.chardet";
version = "5.1.0";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-cIQIX6LVAoGf1sBRKWonXJd3XYqGOa5WIUttabV0HeU=";
};

View file

@ -14,6 +14,8 @@ let
postPatch = ''
# remove addons already included in the base kodi package
rm -r addons/game.controller.default
rm -r addons/game.controller.keyboard
rm -r addons/game.controller.mouse
rm -r addons/game.controller.snes
'';

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, six }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, six }:
buildKodiAddon rec {
pname = "dateutil";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "2.8.2";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-iQnyS0GjYcPbnBDUxmMrmDxHOA3K8RbTVke/HF4d5u4=";
};

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "defusedxml";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "0.6.0+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-jSl7lbFqR6hjZhHzxY69hDbs84LY3B5RYKzXnHou0Qg=";
};

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "future";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "0.18.3+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-jKO2Qxi54z6UiCmMkxU+2pog40K2yb8/KYbNPFYuSsQ=";
};

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "idna";
namespace = "script.module.idna";
version = "3.4.0";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-wS1d1L18v4+RGwxDh7OpKRHB2A4qYwiq6b5mAz7l8Pk=";
};

View file

@ -1,22 +1,22 @@
{ stdenv, lib, rel, addonDir, buildKodiBinaryAddon, fetchFromGitHub, expat, glib, nspr, nss, gtest }:
{ stdenv, lib, rel, addonDir, buildKodiBinaryAddon, fetchFromGitHub, pugixml, glib, nspr, nss, gtest }:
let
bento4 = fetchFromGitHub {
owner = "xbmc";
repo = "Bento4";
rev = "1.6.0-639-7-Omega";
sha256 = "sha256-d3znV88dLMbA4oUWsTZ7vS6WHOWzN7lIHgWPkR5Aixo=";
rev = "1.6.0-641-${rel}";
sha256 = "sha256-vsFMDzH8JJecYw0qWKGCxnd/m5wn62mCKE2g2HwQhwI=";
};
in
buildKodiBinaryAddon rec {
pname = "inputstream-adaptive";
namespace = "inputstream.adaptive";
version = "20.3.18";
version = "21.4.4";
src = fetchFromGitHub {
owner = "xbmc";
repo = "inputstream.adaptive";
rev = "${version}-${rel}";
sha256 = "sha256-cjlUKrus4Dv48dCk6AlOgY2iZYTwT39tj2u7aq1P104=";
sha256 = "sha256-Nzlm1AW/nW9chQAourKF0o2FSQmsr1MNhJ4gEO0/9sM=";
};
extraCMakeFlags = [
@ -26,7 +26,7 @@ buildKodiBinaryAddon rec {
extraNativeBuildInputs = [ gtest ];
extraBuildInputs = [ expat ];
extraBuildInputs = [ pugixml ];
extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ];

View file

@ -3,13 +3,13 @@
buildKodiBinaryAddon rec {
pname = "inputstream-ffmpegdirect";
namespace = "inputstream.ffmpegdirect";
version = "unstable-20.5.0";
version = "21.3.5";
src = fetchFromGitHub {
owner = "xbmc";
repo = "inputstream.ffmpegdirect";
rev = rel;
sha256 = "sha256-+u28Wzp2TonL5jaa5WJUr9igR6KiaxizZAX9jqqBUns=";
rev = "${version}-${rel}";
sha256 = "sha256-pPufkDPHq5EsvC6YTsRX9TjqjIczOL/6Vc5HGDIe9Gk=";
};
extraBuildInputs = [ bzip2 zlib kodi.ffmpeg ];

View file

@ -3,13 +3,13 @@
buildKodiBinaryAddon rec {
pname = "inputstream-rtmp";
namespace = "inputstream.rtmp";
version = "20.3.0";
version = "21.1.0";
src = fetchFromGitHub {
owner = "xbmc";
repo = "inputstream.rtmp";
rev = "${version}-${rel}";
sha256 = "sha256-VF2DpQXXU+rj76e/de5YB1T7dzeOjmO0dpsPVqEnMy4=";
sha256 = "sha256-M6LFokWQRzBZ7inzRsMxyWzkV0XsGHh4d0CPhv1NCfI=";
};
extraBuildInputs = [ openssl rtmpdump zlib ];

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "inputstreamhelper";
namespace = "script.module.inputstreamhelper";
version = "0.6.1+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-v5fRikswmP+KVbxYibD0NbCK8leUnFbya5EtF1FmS0I=";
};

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests, inputstream-adaptive, inputstreamhelper }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, inputstream-adaptive, inputstreamhelper }:
buildKodiAddon rec {
pname = "invidious";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "0.2.6";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/plugin.video.invidious/plugin.video.invidious-${version}+nexus.0.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/plugin.video.invidious/plugin.video.invidious-${version}+nexus.0.zip";
sha256 = "sha256-XnlnhvtHMh4uQTupW/SSOmaEV8xZrL61/6GoRpyKR0o=";
};

View file

@ -5,13 +5,13 @@ in
buildKodiAddon rec {
pname = "jellyfin";
namespace = "plugin.video.jellyfin";
version = "0.7.12";
version = "1.0.1";
src = fetchFromGitHub {
owner = "jellyfin";
repo = "jellyfin-kodi";
rev = "v${version}";
sha256 = "sha256-m8msTBim4Ss8XaYqIn6GWXxoCio5ABbqhhgyb1T/Yhg=";
sha256 = "sha256-i9lRPMHniUmKTeNSzgp6dF11uYOcjH3PgJEa+Jasx68=";
};
nativeBuildInputs = [

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, defusedxml, kodi-six }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, defusedxml, kodi-six }:
buildKodiAddon rec {
pname = "keymap";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "1.1.5";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-wSztipTEGIqw1icsz+ziNxYuRZOFt3C66T1Ifap/ta0=";
};

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "kodi-six";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "0.1.3.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-nWz5CPoE0uVsZvWjI4q6y4ZKUnraTjTXLSJ1mK4YopI=";
};

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests, routing }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, routing }:
buildKodiAddon rec {
pname = "media.ccc.de";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "0.3.0+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/plugin.video.media-ccc-de/plugin.video.media-ccc-de-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/plugin.video.media-ccc-de/plugin.video.media-ccc-de-${version}.zip";
hash = "sha256-T8J2HtPVDfaPU0gZEa0xVBzwjNInxkRFCCSxS53QhmU=";
};

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "myconnpy";
namespace = "script.module.myconnpy";
version = "8.0.33";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-NlLMq9RAdWu8rVsMc0FDe1HmQiVp5T7iBXbIH7HB5bI=";
};

View file

@ -3,13 +3,13 @@
buildKodiAddon rec {
pname = "netflix";
namespace = "plugin.video.netflix";
version = "1.23.2";
version = "1.23.3";
src = fetchFromGitHub {
owner = "CastagnaIT";
repo = namespace;
rev = "v${version}";
hash = "sha256-/wHKwFZbuxK0iwlqvZpyfi0lnRkjm/HSn221IgCN7VQ=";
hash = "sha256-tve7E7dK60BIHETdwt9hD3/5eEdJB6c6rhw4oDoLAKM=";
};
propagatedBuildInputs = [

View file

@ -17,5 +17,7 @@ buildKodiAddon rec {
platforms = platforms.all;
maintainers = with maintainers; [ ];
license = licenses.cc-by-nc-sa-30;
broken = true; # no release for kodi 21
};
}

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests }:
buildKodiAddon rec {
pname = "radioparadise";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "2.0.0";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/script.radioparadise/script.radioparadise-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/script.radioparadise/script.radioparadise-${version}.zip";
sha256 = "sha256-eRCP0XMQHmyDrZ8Y6RGFfxQ1r26/bWbE/PJz4PET7D8=";
};

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests }:
buildKodiAddon rec {
pname = "requests-cache";
namespace = "script.module.requests-cache";
version = "0.5.2+matrix.2";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-6M/v/ghS2TnSZhG8bREjxfEfcfLOmvA6hgsa7JUk9Dk=";
};

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, certifi, chardet, idna, urllib3 }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, certifi, chardet, idna, urllib3 }:
buildKodiAddon rec {
pname = "requests";
namespace = "script.module.requests";
version = "2.31.0";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-05BSD5aoN2CTnjqaSKYMb93j5nIfLvpJHyeQsK++sTw=";
};

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "routing";
namespace = "script.module.routing";
version = "0.2.3+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-piPmY8Q3NyIeImmkYhDwmQhBiwwcV0X532xV1DogF+I=";
};

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "signals";
namespace = "script.module.addon.signals";
version = "0.0.6+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-WsLR7iUh5F+LXMISBpWx71dLAtg/AMYF6BsiyKZakuE=";
};

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "simplejson";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "3.19.1+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-RJy75WAr0XmXnSrPjqKhFjWJnWo3c5IEtUGumcE/mRo=";
};

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "six";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "1.16.0+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-d6BNpnTg6K7NPX3uWp5X0rog33C+B7YoAtLH/CrUYno=";
};

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "somafm";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "2.0.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/plugin.audio.somafm/plugin.audio.somafm-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/plugin.audio.somafm/plugin.audio.somafm-${version}.zip";
sha256 = "sha256-auPLm7QFabU4tXJPjTl17KpE+lqWM2Edbd2HrXPRx40=";
};

View file

@ -23,5 +23,7 @@ buildKodiAddon rec {
platforms = platforms.all;
license = licenses.gpl3Plus;
maintainers = teams.kodi.members;
broken = true; # no release for kodi 21
};
}

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests, six, arrow }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, requests, six, arrow }:
buildKodiAddon rec {
pname = "trakt-module";
namespace = "script.module.trakt";
version = "4.4.0+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-6JIAQwot5VZ36gvQym88BD/e/mSyS8WO8VqkPn2GcqY=";
};

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, trakt-module, dateutil }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, trakt-module, dateutil }:
buildKodiAddon rec {
pname = "trakt";
namespace = "script.trakt";
version = "3.6.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-ZlBucYYRA1cL5c0H1jhXeKE1itReZe2gAJYFFxuUebo=";
};

View file

@ -1,11 +1,11 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "typing_extensions";
namespace = "script.module.typing_extensions";
version = "4.7.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-bCGPl5fGVyptCenpNXP/Msi7hu+UdtZd2ms7MfzbsbM=";
};

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "urllib3";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "2.1.0";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-UCvkeguxytPoP1gIIt8N79TVs98ATzsfrRSabtbgnGc=";
};

View file

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, six, addonDir }:
{ lib, rel, buildKodiAddon, fetchzip, addonUpdateScript, six, addonDir }:
buildKodiAddon rec {
pname = "websocket";
@ -6,7 +6,7 @@ buildKodiAddon rec {
version = "1.6.4";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
url = "https://mirrors.kodi.tv/addons/${lib.toLower rel}/${namespace}/${namespace}-${version}.zip";
sha256 = "sha256-1Wy+hxB059UoZnQlncytVT3sQ07dYAhNRnW3/QVD4ZE=";
};

View file

@ -1,14 +1,13 @@
{ stdenv, lib, fetchFromGitHub
, fetchpatch
{ stdenv, lib, fetchFromGitHub, fetchzip
, autoconf, automake, libtool, makeWrapper
, pkg-config, cmake, yasm, python3Packages
, libxcrypt, libgcrypt, libgpg-error, libunistring
, boost, avahi, lame
, gettext, pcre-cpp, yajl, fribidi, which
, openssl, gperf, tinyxml2, taglib, libssh, swig, jre_headless
, openssl, gperf, tinyxml2, tinyxml-2, taglib, libssh, swig, jre_headless
, gtest, ncurses, spdlog
, libxml2, systemd
, alsa-lib, libGLU, libGL, fontconfig, freetype, ftgl
, alsa-lib, libGLU, libGL, ffmpeg, fontconfig, freetype, ftgl
, libjpeg, libpng, libtiff
, libmpeg2, libsamplerate, libmad
, libogg, libvorbis, flac, libxslt
@ -33,7 +32,7 @@
, vdpauSupport ? true, libvdpau
, waylandSupport ? false, wayland, wayland-protocols
, waylandpp ? null, libxkbcommon
, gbmSupport ? false, mesa, libinput
, gbmSupport ? false, mesa, libinput, libdisplay-info
, buildPackages
}:
@ -41,54 +40,12 @@ assert usbSupport -> !udevSupport; # libusb-compat-0_1 won't be used if udev is
assert gbmSupport || waylandSupport || x11Support;
let
kodiReleaseDate = "20240302";
kodiVersion = "20.5";
rel = "Nexus";
kodi_src = fetchFromGitHub {
owner = "xbmc";
repo = "xbmc";
rev = "${kodiVersion}-${rel}";
hash = "sha256-R/tzk3ZarJ4BTR312p2lTLezeCEsqdQH54ROsNIoJZA=";
};
kodiReleaseDate = "20240405";
kodiVersion = "21.0";
rel = "Omega";
# see https://github.com/xbmc/xbmc/blob/${kodiVersion}-${rel}/tools/depends/target/ to get suggested versions for all dependencies
# kodi 20.0 moved to ffmpeg 5, *but* there is a bug making the compilation fail which will
# only been fixed in kodi 21, so stick to ffmpeg 4 for now
ffmpeg = stdenv.mkDerivation rec {
pname = "kodi-ffmpeg";
version = "4.4.1";
src = fetchFromGitHub {
owner = "xbmc";
repo = "FFmpeg";
rev = "${version}-${rel}-Alpha1";
sha256 = "sha256-EQHmmWnDw+/udKYq7Nrf00nL7I5XWUtmzdauDryfTII=";
};
patches = [
# Backport fix for binutils-2.41.
(fetchpatch {
name = "binutils-2.41.patch";
url = "https://git.ffmpeg.org/gitweb/ffmpeg.git/patch/effadce6c756247ea8bae32dc13bb3e6f464f0eb";
hash = "sha256-vlBUMJ1bORQHRNpuzc5iXsTWwS/CN5BmGIA8g7H7mJE=";
})
];
preConfigure = ''
cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
sed -i 's/ --cpu=''${CPU}//' CMakeLists.txt
sed -i 's/--strip=''${CMAKE_STRIP}/--strip=''${CMAKE_STRIP} --ranlib=''${CMAKE_RANLIB}/' CMakeLists.txt
'';
cmakeFlags = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"-DCROSSCOMPILING=ON"
"-DCPU=${stdenv.hostPlatform.parsed.cpu.name}"
"-DOS=${stdenv.hostPlatform.parsed.kernel.name}"
"-DPKG_CONFIG_EXECUTABLE=pkg-config"
];
buildInputs = [ libidn2 libtasn1 p11-kit zlib libva ]
++ lib.optional vdpauSupport libvdpau;
nativeBuildInputs = [ cmake nasm pkg-config gnutls ];
};
# We can build these externally but FindLibDvd.cmake forces us to build it
# them, so we currently just use them for the src.
libdvdcss = fetchFromGitHub {
@ -112,6 +69,21 @@ let
sha256 = "sha256-AphBQhXud+a6wm52zjzC5biz53NnqWdgpL2QDt2ZuXc=";
};
groovy = fetchzip {
url = "https://archive.apache.org/dist/groovy/4.0.16/distribution/apache-groovy-binary-4.0.16.zip";
sha256 = "sha256-OfZBiMVrhw6VqHRHCSC7ZV3FiZ26n4+F8hsskk+L6yU=";
};
apache_commons_lang = fetchzip {
url = "https://dlcdn.apache.org//commons/lang/binaries/commons-lang3-3.14.0-bin.zip";
sha512 = "sha512-eKF1IQ6PDtifb4pMHWQ2SYHIh0HbMi3qpc92lfbOo3uSsFJVR3n7JD0AdzrG17tLJQA4z5PGDhwyYw0rLeLsXw==";
};
apache_commons_text = fetchzip {
url = "https://dlcdn.apache.org//commons/text/binaries/commons-text-1.11.0-bin.zip";
sha512 = "sha512-P2IvnrHSYRF70LllTMI8aev43h2oe8lq6rrMYw450PEhEa7OuuCjh1Krnc/A4OqENUcidVAAX5dK1RAsZHh8Dg==";
};
kodi_platforms = lib.optional gbmSupport "gbm"
++ lib.optional waylandSupport "wayland"
++ lib.optional x11Support "x11";
@ -120,13 +92,19 @@ in stdenv.mkDerivation {
pname = "kodi";
version = kodiVersion;
src = kodi_src;
src = fetchFromGitHub {
owner = "xbmc";
repo = "xbmc";
rev = "${kodiVersion}-${rel}";
hash = "sha256-xrFWqgwTkurEwt3/+/e4SCM6Uk9nxuW62SrCFWWqZO0=";
};
buildInputs = [
gnutls libidn2 libtasn1 nasm p11-kit
libxml2 python3Packages.python
boost libmicrohttpd
gettext pcre-cpp yajl fribidi libva libdrm
openssl gperf tinyxml2 taglib libssh
openssl gperf tinyxml2 tinyxml-2 taglib libssh
gtest ncurses spdlog
alsa-lib libGL libGLU fontconfig freetype ftgl
libjpeg libpng libtiff
@ -168,6 +146,7 @@ in stdenv.mkDerivation {
libxkbcommon.dev
mesa.dev
libinput.dev
libdisplay-info
];
nativeBuildInputs = [
@ -192,6 +171,9 @@ in stdenv.mkDerivation {
"-Dlibdvdcss_URL=${libdvdcss}"
"-Dlibdvdnav_URL=${libdvdnav}"
"-Dlibdvdread_URL=${libdvdread}"
"-Dgroovy_SOURCE_DIR=${groovy}"
"-Dapache-commons-lang_SOURCE_DIR=${apache_commons_lang}"
"-Dapache-commons-text_SOURCE_DIR=${apache_commons_text}"
"-DGIT_VERSION=${kodiReleaseDate}"
"-DENABLE_EVENTCLIENTS=ON"
"-DENABLE_INTERNAL_CROSSGUID=OFF"

View file

@ -7,16 +7,16 @@
buildGoModule rec {
pname = "kraftkit";
version = "0.8.2";
version = "0.8.3";
src = fetchFromGitHub {
owner = "unikraft";
repo = "kraftkit";
rev = "v${version}";
hash = "sha256-IGOD4AItfiGrVRwoPV4rAzhTUbyHvm3LMpMDjWgXh6g=";
hash = "sha256-or1UstxYbj3QvgnoQPT2vyQTVZDIKPMDMxRGtN0n0lk=";
};
vendorHash = "sha256-0i2HUQ/+Ql1ma7bX7DVC0Pw78CR7gUvnGYFWGB1wt7s=";
vendorHash = "sha256-UyDaEwXTMbyAUghvHS/LcT2Yzz7CJ2xGelF19kgRNec=";
ldflags = [
"-s"

View file

@ -9,16 +9,16 @@
}:
rustPlatform.buildRustPackage rec {
pname = "atac";
version = "0.11.3";
version = "0.12.0";
src = fetchFromGitHub {
owner = "Julien-cpsn";
repo = "ATAC";
rev = "v${version}";
hash = "sha256-nYPqj3Wa5itw83s08qsEu30v/2NwkLwGE0LlNY9Msok=";
hash = "sha256-yR+w6zrX7XHrK6XGWM7J74XPxGEmy8Gf6guOH/Du6rc=";
};
cargoHash = "sha256-Beh5out4Ess+FP+Dg601ZqyXotEfujqNX16Vupp5WRc=";
cargoHash = "sha256-Ez8d1tb0Xi91e3+U1/LDmj5u/oORQzelEQPFAC96yEI=";
nativeBuildInputs = [
pkg-config

View file

@ -0,0 +1,88 @@
{
lib,
git,
python3Packages,
fetchFromGitHub,
nix-update-script,
}:
python3Packages.buildPythonApplication rec {
pname = "charmcraft";
version = "2.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "canonical";
repo = "charmcraft";
rev = "refs/tags/${version}";
hash = "sha256-B0ZcOORW6yaSIpisPLnq5/S/CcqqvHNTXcfP1sKW2KQ=";
};
postPatch = ''
substituteInPlace setup.py \
--replace-fail 'version=determine_version()' 'version="${version}"'
'';
propagatedBuildInputs = with python3Packages; [
craft-cli
craft-parts
craft-providers
craft-store
distro
humanize
jinja2
jsonschema
pydantic_1
python-dateutil
pyyaml
requests
requests-toolbelt
requests-unixsocket
snap-helpers
tabulate
urllib3
];
nativeBuildInputs = with python3Packages; [
pythonRelaxDepsHook
setuptools
];
pythonRelaxDeps = [
"urllib3"
];
nativeCheckInputs = with python3Packages; [
pyfakefs
pytest-check
pytest-mock
pytest-subprocess
pytestCheckHook
responses
] ++ [ git ];
preCheck = ''
mkdir -p check-phase
export HOME="$(pwd)/check-phase"
'';
pytestFlagsArray = [ "tests/unit" ];
disabledTests = [
# Relies upon the `charm` tool being installed
"test_validate_missing_charm"
];
passthru.updateScript = nix-update-script { };
meta = {
mainProgram = "charmcraft";
description = "Build and publish Charmed Operators for deployment with Juju";
homepage = "https://github.com/canonical/charmcraft";
changelog = "https://github.com/canonical/charmcraft/releases/tag/${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ jnsgruk ];
platforms = lib.platforms.linux;
};
}

View file

@ -0,0 +1,49 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, imagemagick
, pkg-config
, qt5
, nix-update-script
}:
stdenv.mkDerivation (finalAttrs: {
pname = "converseen";
version = "0.12.1.0";
src = fetchFromGitHub {
owner = "Faster3ck";
repo = "Converseen";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-WGOmnaO9IAcsOg5W2kJ1dxOk1ndn6InCVVN4FTehKTk=";
};
strictDeps = true;
enableParallelBuilding = true;
nativeBuildInputs = [
cmake
pkg-config
qt5.wrapQtAppsHook
];
buildInputs = [
imagemagick
qt5.qtbase
qt5.qttools
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Batch image converter and resizer";
homepage = "https://converseen.fasterland.net/";
changelog = "https://github.com/Faster3ck/Converseen/blob/${finalAttrs.src.rev}/CHANGELOG";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ eclairevoyant ];
mainProgram = "converseen";
platforms = lib.platforms.all;
};
})

View file

@ -7,16 +7,16 @@
let
finalAttrs = {
pname = "fm";
version = "1.0.0";
version = "1.1.0";
src = fetchFromGitHub {
owner = "mistakenelf";
repo = "fm";
rev = "v${finalAttrs.version}";
hash = "sha256-j92xf75JTLBaVr8GjAwlqgrieZCifVaIBy9ZMoDIaEY=";
hash = "sha256-m0hjLXgaScJydwiV00b8W7f1y1Ka7bbYqcMPAOw1j+c=";
};
vendorHash = "sha256-iDKDUpxaV/ZGKvTeNu4m5X/tqQA311Nb+2gvrehpdpw=";
vendorHash = "sha256-/tUL08Vo3W7PMPAnJA9RPdMl0AwZj8BzclYs2257nqM=";
meta = {
homepage = "https://github.com/mistakenelf/fm";

View file

@ -3,6 +3,7 @@
, fetchFromGitea
, testers
, forgejo-runner
, nixosTests
}:
buildGoModule rec {
@ -27,9 +28,12 @@ buildGoModule rec {
doCheck = false; # Test try to lookup code.forgejo.org.
passthru.tests.version = testers.testVersion {
package = forgejo-runner;
version = src.rev;
passthru.tests = {
inherit (nixosTests.forgejo) sqlite3;
version = testers.testVersion {
package = forgejo-runner;
version = src.rev;
};
};
meta = with lib; {

View file

@ -13,7 +13,7 @@ let
maintainers
;
version = "0.2.1";
version = "0.2.2";
in
rustPlatform.buildRustPackage {
pname = "git-instafix";
@ -23,10 +23,10 @@ rustPlatform.buildRustPackage {
owner = "quodlibetor";
repo = "git-instafix";
rev = "v${version}";
hash = "sha256-rWHiaZji3GECsiMqvEGC/tF+K29ZLlY6+TCNxtixHQo=";
hash = "sha256-cwScEEijhMgBdTeYuOOxW13x4ZpyrUouZvAiD17dOog=";
};
cargoHash = "sha256-t5vlr3YxjRPqMHwPqVjWul4RdSg0hiTWUQxcJmGKiTQ=";
cargoHash = "sha256-o4oIDqr+vRvfICtZbIuD2kBEneLJrvyPVr5FPLlYGv8=";
buildInputs = [ libgit2 ];
nativeCheckInputs = [ git ];

View file

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "go-judge";
version = "1.8.2";
version = "1.8.3";
src = fetchFromGitHub {
owner = "criyle";
repo = pname;
rev = "v${version}";
hash = "sha256-8WaQbif23+KFPdB6TG7SLPt+TbrYLkh5Hu44Jj06hl4=";
hash = "sha256-i6c7uKnnyO+tyQwrEFvyPaw3N9VfFB+L7xYHsUPy6RM=";
};
vendorHash = "sha256-7uu3vTnEodmJf7yKxSntwbaocuEYmi9RVknjUT9oU2U=";
vendorHash = "sha256-WAO7nMDm7/KuDOIZSopRVKUVWmjDl30d95NWBuebiE4=";
tags = [ "nomsgpack" ];

View file

@ -15,6 +15,7 @@
, libwebp
, libxml2
, nukeReferences
, pkg-config
, quantumdepth ? 8
, runCommand
, stdenv
@ -50,6 +51,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
nukeReferences
pkg-config
xz
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ fixDarwinDylibNames ];

View file

@ -8,14 +8,14 @@
python3Packages.buildPythonApplication rec {
pname = "icloudpd";
version = "1.17.3";
version = "1.17.4";
pyproject = true;
src = fetchFromGitHub {
owner = "icloud-photos-downloader";
repo = "icloud_photos_downloader";
rev = "v${version}";
hash = "sha256-GS6GqlZfj5kfjKLImkOTDAgQDGJQHl74uTqbZHVpbac=";
hash = "sha256-xsUayewn6c+TFqQnvDWe+1y4o76Quq8sK1WkSFFgPkc=";
};
pythonRelaxDeps = true;

View file

@ -9,6 +9,7 @@
, libnl
, systemd
, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd
, nix-update-script
}:
stdenv.mkDerivation rec {
@ -42,6 +43,8 @@ stdenv.mkDerivation rec {
doCheck = true;
passthru.updateScript = nix-update-script {};
meta = with lib; {
description = "TLS handshake utilities for in-kernel TLS consumers";
homepage = "https://github.com/oracle/ktls-utils";

View file

@ -6,13 +6,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "oelint-adv";
version = "5.1.2";
version = "5.1.3";
format = "setuptools";
src = fetchPypi {
inherit version;
pname = "oelint_adv";
hash = "sha256-7lrjytvcOnZZ8ezhWKng7OahqwsW95VkDt8B6NMriR0=";
hash = "sha256-Jo3Z5hhZH0tzu4+RL+ElaenlWCRoIYANWGx5U2u9xy8=";
};
propagatedBuildInputs = with python3.pkgs; [

View file

@ -60,7 +60,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
doCheck = true;
# disable tests due to networking issues and because individual tests can't be skipped easily
doCheck = false;
nativeCheckInputs = [
gnused

View file

@ -1,5 +1,5 @@
import ./generic.nix {
version = "22.03.5";
hash = "sha256-DMDWR7Dbgak0azPcVqDdFHGovTbLX8byp+jQ3rYvvX4=";
version = "22.03.7";
hash = "sha256-HzVzJN1QnMTlv39I7clzciJD/Owm93jFO4qfaE1k6e4=";
updateScriptArgs = "--lts=true --regex '22.03.*'";
}

View file

@ -1,4 +1,4 @@
import ./generic.nix {
version = "23.09.1";
hash = "sha256-t4DtV0wW/jQX7/TpsLFoDzzSPROrhUHHG09r9+lsdaQ=";
version = "24.03.1";
hash = "sha256-BvMbNkNtyIl8xrUUvJhWWXiLaAHFjiwcq8P7/CGGtzA=";
}

View file

@ -1,7 +1,7 @@
#!/usr/bin/env nix-shell
#!nix-shell -i nu -p nushell common-updater-scripts
def main [--lts: bool = false, --regex: string] {
def main [--lts = false, --regex: string] {
let tags = list-git-tags --url=https://github.com/ovn-org/ovn | lines | sort --natural | str replace v ''
let latest_tag = if $regex == null { $tags } else { $tags | find --regex $regex } | last

View file

@ -2,25 +2,15 @@
stdenv.mkDerivation (finalAttrs: {
pname = "reactphysics3d";
version = "0.9.0";
version = "0.10.0";
src = fetchFromGitHub {
owner = "DanielChappuis";
repo = "reactphysics3d";
rev = "v${finalAttrs.version}";
hash = "sha256-AUdsUXsygsGfS8H+AHEV1fSrrX7zGmfsaTONYUG3zqk=";
hash = "sha256-LWBnrqDFhpzN/XUEGniZeViDq3R1MtmuU5CMCQ59VOY=";
};
patches = [
# Fix gcc-13 build failure:
# https://github.com/DanielChappuis/reactphysics3d/pull/371
(fetchpatch {
name ="gcc-13.patch";
url = "https://github.com/DanielChappuis/reactphysics3d/commit/9335856664fdc3bd1073209f0b4f6eae24c35848.patch";
hash = "sha256-pCiAHfv66tbE8+hpVvjS22jLi7I+pPofSy8w7eWEp9o=";
})
];
nativeBuildInputs = [ cmake ];
meta = with lib; {

View file

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication {
pname = "renode-dts2repl";
version = "unstable-2024-03-24";
version = "unstable-2024-04-16";
pyproject = true;
src = fetchFromGitHub {
owner = "antmicro";
repo = "dts2repl";
rev = "b581d3b7e68f7822110bc4895f7826f3505be21c";
hash = "sha256-Syu5DC8FP9Lyc7CVmUp38Vr3K7FK2Pv/jodzgnSB3cE=";
rev = "83e2d743202684eb1f89a1b93e859c69cd736455";
hash = "sha256-iD+59mrFNVRu6g58XXLR2Pg8oDpNIiI/+TyCdbRbjtM=";
};
nativeBuildInputs = [

View file

@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
x86
power
mips
riscv
]);
};
}

View file

@ -0,0 +1,38 @@
{ lib
, buildGoModule
, fetchFromGitHub
, nix-update-script
}:
buildGoModule rec {
pname = "sshesame";
version = "0.0.27";
src = fetchFromGitHub {
owner = "jaksi";
repo = "sshesame";
rev = "v${version}";
hash = "sha256-pDLCOyjvbHM8Cw1AIt7+qTbCmH0tGSmwaTBz5pQ05bc=";
};
vendorHash = "sha256-iaINGWpj2gHfwsIOEp5PwlFBohXX591+/FBGyu656qI=";
ldflags = [ "-s" "-w" ];
hardeningEnable = [ "pie" ];
passthru.updateScript = nix-update-script { };
meta = {
description = "An easy to set up and use SSH honeypot";
longDescription = ''
A fake SSH server that lets anyone in and logs their activity.
sshesame accepts and logs SSH connections and activity (channels, requests),
without doing anything on the host (e.g. executing commands, making network requests).
'';
homepage = "https://github.com/jaksi/sshesame";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ eclairevoyant ];
mainProgram = "sshesame";
};
}

View file

@ -2,15 +2,17 @@
, stdenvNoCC
, fetchzip
, rpmextract
, testers
}:
stdenvNoCC.mkDerivation rec {
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "storcli";
version = "7.2309.00";
version = "7.2904.00";
phase = "30";
src = fetchzip {
url = "https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/Unified_storcli_all_os_${version}00.0000.zip";
sha256 = "sha256-n2MzT2LHLHWMWhshWXJ/Q28w9EnLrW6t7hLNveltxLo=";
url = "https://docs.broadcom.com/docs-and-downloads/host-bus-adapters/host-bus-adapters-common-files/sas_sata_nvme_12g_p${finalAttrs.phase}/STORCLI_SAS3.5_P${finalAttrs.phase}.zip";
hash = "sha256-VfK71eiDonzWdR6g5zkXgRRi25vwoI4DDL6xy3zsfak=";
};
nativeBuildInputs = [ rpmextract ];
@ -23,7 +25,7 @@ stdenvNoCC.mkDerivation rec {
};
platform = platforms.${system} or (throw "unsupported system: ${system}");
in ''
rpmextract $src/${platform}/storcli-00${version}00.0000-1.*.rpm
rpmextract $src/univ_viva_cli_rel/Unified_storcli_all_os/${platform}/storcli-00${finalAttrs.version}00.0000-1.*.rpm
'';
dontPatch = true;
@ -38,15 +40,22 @@ stdenvNoCC.mkDerivation rec {
# Not needed because the binary is statically linked
dontFixup = true;
passthru.tests = testers.testVersion {
package = finalAttrs.finalPackage;
command = "${finalAttrs.meta.mainProgram} -v";
version = "00${finalAttrs.version}00.0000";
};
meta = with lib; {
# Unfortunately there is no better page for this.
# Filter for downloads, set 100 items per page. Sort by newest does not work.
# Then search manually for the latest version.
homepage = "https://www.broadcom.com/site-search?q=storcli";
homepage = "https://www.broadcom.com/support/download-search?pg=&pf=Host+Bus+Adapters&pn=&pa=&po=&dk=storcli&pl=&l=false";
description = "Storage Command Line Tool";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ panicgh ];
mainProgram = "storcli";
platforms = [ "x86_64-linux" "aarch64-linux" ];
};
}
})

File diff suppressed because it is too large Load diff

View file

@ -20,13 +20,13 @@ in
rustPlatform.buildRustPackage rec {
pname = "syncstorage-rs";
version = "0.15.1";
version = "0.15.2";
src = fetchFromGitHub {
owner = "mozilla-services";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-uQaiBxK+dV/AgMlKbFUvHV7bUUGX6gpypImCat7H4S8=";
hash = "sha256-YKWXr10cVOqQm6XvugwarE3I1gtAyLOlUqPGbLDhHxY=";
};
nativeBuildInputs = [

View file

@ -8,11 +8,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "tcsh";
version = "6.24.11";
version = "6.24.12";
src = fetchurl {
url = "mirror://tcsh/tcsh-${finalAttrs.version}.tar.gz";
hash = "sha256-tae2J6uz7y6NOoabtnXQ6SfYUHBER6Gyx3lGwNMkeZ0=";
hash = "sha256-4ycM6WZ/1b0qBGaHZZ/PX9ameBMm+Abr1yTx4cnNQYU=";
};
strictDeps = true;

View file

@ -2,16 +2,16 @@
buildNpmPackage rec {
pname = "whistle";
version = "2.9.67";
version = "2.9.68";
src = fetchFromGitHub {
owner = "avwo";
repo = "whistle";
rev = "v${version}";
hash = "sha256-wGfKgVbjVrR/GNVLqZtIydsolz14J8YsUU5Oyb7NDL0=";
hash = "sha256-8UWYh2pm0UX6tb/7DT5ZaHvmHdxk6hwE7fFHKY6pGOs=";
};
npmDepsHash = "sha256-+7xdvWS92dij4fpQLnp1pjVN+uQNok205EAXGnD/wxY=";
npmDepsHash = "sha256-/WnrhtVr972Na8rpZ7dzH3998WDPsS5X6jCPkCj3hyc=";
dontNpmBuild = true;

View file

@ -18,14 +18,14 @@
python3.pkgs.buildPythonApplication rec {
pname = "wike";
version = "2.1.0";
version = "3.0.0";
format = "other";
src = fetchFromGitHub {
owner = "hugolabe";
repo = "Wike";
rev = version;
hash = "sha256-BXmLZhotQK6L4c2D8F8qF3zmOlSuzXycEN2FaC1K6/g=";
hash = "sha256-x6HYlpCj7poKWJWB2CnvN1aoTa7LmqYwbPa62WvSYsQ=";
};
nativeBuildInputs = [

View file

@ -3,12 +3,12 @@
let
pname = "ex_doc";
version = "0.32.0";
version = "0.32.1";
src = fetchFromGitHub {
owner = "elixir-lang";
repo = "${pname}";
rev = "v${version}";
hash = "sha256-JLtMoPuXFKcjXaeVv1PdMzb6rZItTkXDAs4hXqTY/vw=";
hash = "sha256-nNUSx2Ywj04vgT/7BQEwoNtTl1NGmbvuIS4KbvUFYzs=";
};
in
mixRelease {

View file

@ -2,11 +2,11 @@
stdenvNoCC.mkDerivation rec {
pname = "flix";
version = "0.45.0";
version = "0.46.0";
src = fetchurl {
url = "https://github.com/flix/flix/releases/download/v${version}/flix.jar";
sha256 = "sha256-h7smcfV7heJtTVXCGSlUmk1RNZ4AWFe2fPPOWLcJz/M=";
sha256 = "sha256-jj8h30QsIF5HlunrqUktHY6bCUq9gMNVlAVsAH0F0U0=";
};
dontUnpack = true;

View file

@ -11,17 +11,17 @@
stdenv.mkDerivation (finalAttrs: {
pname = "unison-code-manager";
version = "0.5.17";
version = "0.5.19";
src = if stdenv.isDarwin then
fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-macos.tar.gz";
hash = "sha256-ymnioW+phbwIshs8DZupfe14oPUuunxSsT8rmifh914=";
hash = "sha256-//bjpmW45BqBHmBIj2uMahYQYjhNJ8hvGh+O/7oYQOk=";
}
else
fetchurl {
url = "https://github.com/unisonweb/unison/releases/download/release/${finalAttrs.version}/ucm-linux.tar.gz";
hash = "sha256-vaK7dKkjCPCfEb9GvkOiJ3jY/Jxb31sf98de3WTMG/A=";
hash = "sha256-3WyiV6mIuo5GDpDK/KdWMvj22sZ3uph15u3v3TX5YZA=";
};
# The tarball is just the prebuilt binary, in the archive root.

View file

@ -18,17 +18,22 @@
, makeWrapper
, runCommand
, doInstallCheck ? true
# packages that use bats (for update testing)
, bash-preexec
, kikit
, locate-dominating-file
, packcc
}:
resholve.mkDerivation rec {
pname = "bats";
version = "1.10.0";
version = "1.11.0";
src = fetchFromGitHub {
owner = "bats-core";
repo = "bats-core";
rev = "v${version}";
sha256 = "sha256-gy4dyoKRlf2WFmH1/mSNwhVR3df92BgpT4TjTpV4FyQ=";
hash = "sha256-goHIhbBoCf1eb1N8xIHdVvAURofvLDgEDXofhDHrr7Y=";
};
patchPhase = ''
@ -64,11 +69,13 @@ resholve.mkDerivation rec {
external = [
"greadlink"
"shlock"
] ++ lib.optionals stdenv.isDarwin [
"pkill" # procps doesn't supply this on darwin
];
};
fix = {
"$BATS_ROOT" = [ "${placeholder "out"}" ];
"$BATS_LIBDIR" = [ "lib" ];
"$BATS_LIBEXEC" = [ "${placeholder "out"}/libexec/bats-core" ];
};
keep = {
@ -94,6 +101,7 @@ resholve.mkDerivation rec {
"$BATS_LINE_REFERENCE_FORMAT" = "comma_line";
"$BATS_LOCKING_IMPLEMENTATION" = "${flock}/bin/flock";
"$parallel_binary_name" = "${parallel}/bin/parallel";
"${placeholder "out"}/libexec/bats-core/bats-preprocess" = true;
};
execer = [
/*
@ -110,6 +118,10 @@ resholve.mkDerivation rec {
# these do exec, but other internal files
"cannot:libexec/bats-core/bats-exec-file"
"cannot:libexec/bats-core/bats-exec-suite"
"cannot:libexec/bats-core/bats-gather-tests"
] ++ lib.optionals (!stdenv.isDarwin) [
# checked invocations for exec
"cannot:${procps}/bin/pkill"
];
};
};
@ -134,78 +146,90 @@ resholve.mkDerivation rec {
'';
};
passthru.tests.libraries = runCommand "${bats.name}-with-libraries-test" {
testScript = ''
setup() {
bats_load_library bats-support
bats_load_library bats-assert
bats_load_library bats-file
bats_load_library bats-detik/detik.bash
passthru.tests = {
libraries = runCommand "${bats.name}-with-libraries-test" {
testScript = ''
setup() {
bats_load_library bats-support
bats_load_library bats-assert
bats_load_library bats-file
bats_load_library bats-detik/detik.bash
bats_require_minimum_version 1.5.0
bats_require_minimum_version 1.5.0
TEST_TEMP_DIR="$(temp_make --prefix 'nixpkgs-bats-test')"
}
TEST_TEMP_DIR="$(temp_make --prefix 'nixpkgs-bats-test')"
}
teardown() {
temp_del "$TEST_TEMP_DIR"
}
teardown() {
temp_del "$TEST_TEMP_DIR"
}
@test echo_hi {
run -0 echo hi
assert_output "hi"
}
@test echo_hi {
run -0 echo hi
assert_output "hi"
}
@test cp_failure {
run ! cp
assert_line --index 0 "cp: missing file operand"
assert_line --index 1 "Try 'cp --help' for more information."
}
@test cp_failure {
run ! cp
assert_line --index 0 "cp: missing file operand"
assert_line --index 1 "Try 'cp --help' for more information."
}
@test file_exists {
echo "hi" > "$TEST_TEMP_DIR/hello.txt"
assert_file_exist "$TEST_TEMP_DIR/hello.txt"
run cat "$TEST_TEMP_DIR/hello.txt"
assert_output "hi"
}
@test file_exists {
echo "hi" > "$TEST_TEMP_DIR/hello.txt"
assert_file_exist "$TEST_TEMP_DIR/hello.txt"
run cat "$TEST_TEMP_DIR/hello.txt"
assert_output "hi"
}
'';
passAsFile = [ "testScript" ];
} ''
${bats.withLibraries (p: [ p.bats-support p.bats-assert p.bats-file p.bats-detik ])}/bin/bats "$testScriptPath"
touch "$out"
'';
passAsFile = [ "testScript" ];
} ''
${bats.withLibraries (p: [ p.bats-support p.bats-assert p.bats-file p.bats-detik ])}/bin/bats "$testScriptPath"
touch "$out"
'';
passthru.tests.upstream = bats.unresholved.overrideAttrs (old: {
name = "${bats.name}-tests";
dontInstall = true; # just need the build directory
nativeInstallCheckInputs = [
ncurses
parallel # skips some tests if it can't detect
flock # skips some tests if it can't detect
procps
] ++ lib.optionals stdenv.isDarwin [ lsof ];
inherit doInstallCheck;
installCheckPhase = ''
# TODO: cut if https://github.com/bats-core/bats-core/issues/418 allows
sed -i '/test works even if PATH is reset/a skip "disabled for nix build"' test/bats.bats
upstream = bats.unresholved.overrideAttrs (old: {
name = "${bats.name}-tests";
dontInstall = true; # just need the build directory
nativeInstallCheckInputs = [
ncurses
parallel # skips some tests if it can't detect
flock # skips some tests if it can't detect
procps
] ++ lib.optionals stdenv.isDarwin [ lsof ];
inherit doInstallCheck;
installCheckPhase = ''
# TODO: cut if https://github.com/bats-core/bats-core/issues/418 allows
sed -i '/test works even if PATH is reset/a skip "disabled for nix build"' test/bats.bats
# skip tests that assume bats `install.sh` will be in BATS_ROOT
rm test/root.bats
# skip tests that assume bats `install.sh` will be in BATS_ROOT
rm test/root.bats
'' + (lib.optionalString stdenv.hostPlatform.isDarwin ''
# skip new timeout tests which are failing on macOS for unclear reasons
# This might relate to procps not having a pkill?
rm test/timeout.bats
'') + ''
'' + (lib.optionalString stdenv.hostPlatform.isDarwin ''
# skip new timeout tests which are failing on macOS for unclear reasons
# This might relate to procps not having a pkill?
rm test/timeout.bats
'') + ''
# test generates file with absolute shebang dynamically
substituteInPlace test/install.bats --replace \
"/usr/bin/env bash" "${bash}/bin/bash"
# test generates file with absolute shebang dynamically
substituteInPlace test/install.bats --replace \
"/usr/bin/env bash" "${bash}/bin/bash"
${bats}/bin/bats test
touch $out
'';
});
${bats}/bin/bats test
touch $out
'';
});
# to see when updates would break things, include packages
# that use nixpkgs' bats for testing (as long as they
# aren't massive builds)
inherit bash-preexec locate-dominating-file packcc;
resholve = resholve.tests.cli;
} // lib.optionalAttrs (!stdenv.isDarwin) {
# TODO: kikit's kicad dependency is marked broken on darwin atm
# may be able to fold this up if that resolves.
inherit kikit;
};
meta = with lib; {
homepage = "https://github.com/bats-core/bats-core";

View file

@ -5,18 +5,18 @@
buildGoModule rec {
pname = "expr";
version = "1.16.4";
version = "1.16.5";
src = fetchFromGitHub {
owner = "antonmedv";
repo = "expr";
rev = "v${version}";
hash = "sha256-evPzHLetmCqGnFNydbjUcVIBdcOWrhqaeBIwWB2G6hk=";
hash = "sha256-tvOqIkekG4GaH6A5XhvpjZxFySrpZxmuhx4aXH77Q+0=";
};
sourceRoot = "${src.name}/repl";
vendorHash = "sha256-GEFLIvshlnCk8pYIf9ZoNV5NBC1R52x12aIOdsAqwFI=";
vendorHash = "sha256-AKxQe8hh3SuFtxrskCOx/5LjUO+fUJPQ6edUZRfq2oo=";
ldflags = [ "-s" "-w" ];

View file

@ -15,13 +15,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "nco";
version = "5.2.3";
version = "5.2.4";
src = fetchFromGitHub {
owner = "nco";
repo = "nco";
rev = finalAttrs.version;
hash = "sha256-a1Q1oK546F1itCtugpbh9fc+asokuXGMS51OgZ59bnY=";
hash = "sha256-1+nC5Io459T/Czr6bTfdGy2GB5MMrhK+EBLQIPIX5QM=";
};
nativeBuildInputs = [

View file

@ -18,6 +18,7 @@
, gettext
, rSrc
, runDemo ? false
, fetchpatch
, binlore
, sqlite
, unixtools
@ -122,6 +123,21 @@ rec {
name = "resholve-test";
src = rSrc;
# TODO: should be removable on next resholve update--just
# temporarily work around test breaks caused by changes in
# bats 1.10.0. Since this is just about fixing tests, I'm
# patching test source to avoid going through staging.
patches = [
(fetchpatch {
url = "https://github.com/abathur/resholve/commit/e1d6ccbc9cd5ec26122997610954dcb7d826f652.patch";
hash = "sha256-XA9KUc/OAD2S8Vpt+C7KcjTP44rnZ4FLdgnnRqVWdWY=";
})
(fetchpatch {
url = "https://github.com/abathur/resholve/commit/50db1a6a97baa7d7543a8abe33dddda62b487c65.patch";
hash = "sha256-m1dKaLI02Wag7uacG4BkcdCXw30Kn6J4ydTqPd7bsak=";
})
];
dontBuild = true;
installPhase = ''

View file

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "annexremote";
version = "1.6.4";
version = "1.6.5";
pyproject = true;
disabled = pythonOlder "3.7";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "Lykos153";
repo = "AnnexRemote";
rev = "refs/tags/v${version}";
hash = "sha256-eBq1nZnNuzTLvc11G/XaenZlVEUke3kpWlZ7P5g4kc8=";
hash = "sha256-8WAa5EO5n/dccNW0TUwFgcRjvDFt8QfpHIX2arM4HGc=";
};
nativeBuildInputs = [

View file

@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "apsw";
version = "3.45.2.0";
version = "3.45.3.0";
pyproject = true;
disabled = pythonOlder "3.8";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "rogerbinns";
repo = "apsw";
rev = "refs/tags/${version}";
hash = "sha256-tTi3/10W4OoGH6PQVhvPWc5o09on5BZrWoAvrfh4C/E=";
hash = "sha256-7z9JXJn2a6RJAc+7KrkzzScrNmbb06ud6L1rBinzkP8=";
};
build-system = [ setuptools ];

View file

@ -23,7 +23,7 @@
}:
buildPythonPackage rec {
pname = "clickhouse-connect";
version = "0.7.7";
version = "0.7.8";
format = "setuptools";
@ -33,7 +33,7 @@ buildPythonPackage rec {
repo = "clickhouse-connect";
owner = "ClickHouse";
rev = "refs/tags/v${version}";
hash = "sha256-EnASrc4yUxSQ5kgaY5xcjZG7y8ZWLabUFAcdF5ZZNBQ=";
hash = "sha256-tdf9aYKAFpRyaqGGNxXs4bzmY6mdhKZ5toFBJRmD2VY=";
};
nativeBuildInputs = [ cython ];

View file

@ -21,6 +21,7 @@
, squashfsTools
, setuptools
, setuptools-scm
, stdenv
}:
buildPythonPackage rec {
@ -103,6 +104,10 @@ buildPythonPackage rec {
"tests/unit/packages/test_apt_cache.py"
"tests/unit/packages/test_deb.py"
"tests/unit/packages/test_chisel.py"
] ++ lib.optionals stdenv.isAarch64 [
# These tests have hardcoded "amd64" strings which fail on aarch64
"tests/unit/executor/test_environment.py"
"tests/unit/features/overlay/test_executor_environment.py"
];
passthru.updateScript = nix-update-script { };

View file

@ -21,7 +21,7 @@
buildPythonPackage rec {
pname = "craft-providers";
version = "1.23.0";
version = "1.23.1";
pyproject = true;
@ -29,7 +29,7 @@ buildPythonPackage rec {
owner = "canonical";
repo = "craft-providers";
rev = "refs/tags/${version}";
hash = "sha256-9ZoNgpuGytwozRsw0wnS3d2UBOIsh3VI/uzB1RD2Zac=";
hash = "sha256-opVgOtbwZD+uQJ10Q8QlgQaS9KjRFnQ4h98Ak7Ze5qQ=";
};
patches = [
@ -46,7 +46,7 @@ buildPythonPackage rec {
# The urllib3 incompat: https://github.com/msabramo/requests-unixsocket/pull/69
# This is already patched in nixpkgs.
substituteInPlace pyproject.toml \
--replace-fail "setuptools==67.8.0" "setuptools" \
--replace-fail "setuptools==69.1.1" "setuptools" \
--replace-fail "urllib3<2" "urllib3"
'';

View file

@ -0,0 +1,76 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
nix-update-script,
setuptools,
setuptools-scm,
pytest-check,
pytest-mock,
pydantic_1,
pyyaml,
pytestCheckHook,
keyring,
macaroonbakery,
overrides,
pyxdg,
requests,
requests-toolbelt,
}:
buildPythonPackage rec {
pname = "craft-store";
version = "2.6.0";
pyproject = true;
src = fetchFromGitHub {
owner = "canonical";
repo = "craft-store";
rev = "refs/tags/${version}";
hash = "sha256-VtKOe3IrvGcNWfp1/tg1cO94xtfkP7AbIHh0WTdlfbQ=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools==67.7.2" "setuptools"
'';
nativeBuildInputs = [
setuptools
setuptools-scm
];
propagatedBuildInputs = [
keyring
macaroonbakery
overrides
pydantic_1
pyxdg
requests
requests-toolbelt
];
pythonImportsCheck = [ "craft_store" ];
nativeCheckInputs = [
pydantic_1
pytest-check
pytest-mock
pytestCheckHook
pyyaml
];
pytestFlagsArray = [ "tests/unit" ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Interfaces for communicating with Canonical Stores (e.g. Snap Store)";
homepage = "https://github.com/canonical/craft-store";
changelog = "https://github.com/canonical/craft-store/releases/tag/${version}";
license = lib.licenses.lgpl3Only;
maintainers = with lib.maintainers; [ jnsgruk ];
platforms = lib.platforms.linux;
};
}

Some files were not shown because too many files have changed in this diff Show more