Merge master into staging-next
This commit is contained in:
commit
5c2b2d5b74
163 changed files with 1441 additions and 2168 deletions
|
@ -11,7 +11,7 @@
|
|||
uid = 1000;
|
||||
};
|
||||
|
||||
services.xserver.displayManager = {
|
||||
services.displayManager = {
|
||||
autoLogin = {
|
||||
enable = true;
|
||||
user = "demo";
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 =
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}" ];
|
||||
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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}");
|
||||
};
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 ''
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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=";
|
||||
} { };
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -23,5 +23,7 @@ buildKodiAddon rec {
|
|||
platforms = platforms.all;
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = teams.kodi.members;
|
||||
|
||||
broken = true; # no release for kodi 21
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
88
pkgs/by-name/ch/charmcraft/package.nix
Normal file
88
pkgs/by-name/ch/charmcraft/package.nix
Normal 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;
|
||||
};
|
||||
}
|
49
pkgs/by-name/co/converseen/package.nix
Normal file
49
pkgs/by-name/co/converseen/package.nix
Normal 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;
|
||||
};
|
||||
})
|
|
@ -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";
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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" ];
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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; [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.*'";
|
||||
}
|
||||
|
|
|
@ -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=";
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
|
|||
x86
|
||||
power
|
||||
mips
|
||||
riscv
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
|
38
pkgs/by-name/ss/sshesame/package.nix
Normal file
38
pkgs/by-name/ss/sshesame/package.nix
Normal 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";
|
||||
};
|
||||
}
|
|
@ -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" ];
|
||||
};
|
||||
}
|
||||
})
|
511
pkgs/by-name/sy/syncstorage-rs/Cargo.lock
generated
511
pkgs/by-name/sy/syncstorage-rs/Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -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 = [
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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 = [
|
|
@ -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 {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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" ];
|
||||
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 { };
|
||||
|
|
|
@ -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"
|
||||
'';
|
||||
|
||||
|
|
76
pkgs/development/python-modules/craft-store/default.nix
Normal file
76
pkgs/development/python-modules/craft-store/default.nix
Normal 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
Loading…
Reference in a new issue