Merge master into staging-next

launchpad/nixpkgs/master
github-actions[bot] 3 years ago committed by GitHub
commit d73a492e83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      maintainers/maintainer-list.nix
  2. 1
      maintainers/team-list.nix
  3. 1
      nixos/modules/module-list.nix
  4. 54
      nixos/modules/programs/turbovnc.nix
  5. 1
      nixos/tests/all-tests.nix
  6. 171
      nixos/tests/turbovnc-headless-server.nix
  7. 2
      pkgs/applications/graphics/freecad/default.nix
  8. 7
      pkgs/applications/graphics/gimp/default.nix
  9. 6
      pkgs/applications/networking/cluster/waypoint/default.nix
  10. 4
      pkgs/applications/networking/ftp/filezilla/default.nix
  11. 8
      pkgs/applications/version-management/gitlab/data.json
  12. 4
      pkgs/applications/version-management/gitlab/gitaly/default.nix
  13. 23
      pkgs/applications/video/kodi-packages/addon-update-script/default.nix
  14. 21
      pkgs/applications/video/kodi-packages/certifi/default.nix
  15. 21
      pkgs/applications/video/kodi-packages/chardet/default.nix
  16. 21
      pkgs/applications/video/kodi-packages/controllers/default.nix
  17. 21
      pkgs/applications/video/kodi-packages/idna/default.nix
  18. 28
      pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix
  19. 21
      pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix
  20. 21
      pkgs/applications/video/kodi-packages/joystick/default.nix
  21. 15
      pkgs/applications/video/kodi-packages/kodi-platform/default.nix
  22. 21
      pkgs/applications/video/kodi-packages/myconnpy/default.nix
  23. 26
      pkgs/applications/video/kodi-packages/netflix/default.nix
  24. 21
      pkgs/applications/video/kodi-packages/osmc-skin/default.nix
  25. 19
      pkgs/applications/video/kodi-packages/pdfreader/default.nix
  26. 22
      pkgs/applications/video/kodi-packages/pvr-hdhomerun/default.nix
  27. 21
      pkgs/applications/video/kodi-packages/pvr-hts/default.nix
  28. 22
      pkgs/applications/video/kodi-packages/pvr-iptvsimple/default.nix
  29. 28
      pkgs/applications/video/kodi-packages/requests/default.nix
  30. 21
      pkgs/applications/video/kodi-packages/signals/default.nix
  31. 22
      pkgs/applications/video/kodi-packages/steam-controller/default.nix
  32. 28
      pkgs/applications/video/kodi-packages/steam-launcher/default.nix
  33. 26
      pkgs/applications/video/kodi-packages/svtplay/default.nix
  34. 21
      pkgs/applications/video/kodi-packages/urllib3/default.nix
  35. 22
      pkgs/applications/video/kodi-packages/vfs-libarchive/default.nix
  36. 22
      pkgs/applications/video/kodi-packages/vfs-sftp/default.nix
  37. 21
      pkgs/applications/video/kodi/build-kodi-addon.nix
  38. 31
      pkgs/applications/video/kodi/build-kodi-binary-addon.nix
  39. 2
      pkgs/applications/video/kodi/default.nix
  40. 560
      pkgs/applications/video/kodi/packages.nix
  41. 7
      pkgs/applications/video/kodi/wrapper.nix
  42. 29
      pkgs/applications/video/kodi/yatp/dont-monkey.patch
  43. 2
      pkgs/applications/video/obs-studio/default.nix
  44. 7
      pkgs/development/interpreters/bats/default.nix
  45. 4
      pkgs/development/interpreters/rakudo/default.nix
  46. 4
      pkgs/development/interpreters/rakudo/moarvm.nix
  47. 4
      pkgs/development/interpreters/rakudo/nqp.nix
  48. 4
      pkgs/development/libraries/science/math/primesieve/default.nix
  49. 24
      pkgs/development/python-modules/ajsonrpc/default.nix
  50. 4
      pkgs/development/python-modules/azure-mgmt-netapp/default.nix
  51. 17
      pkgs/development/python-modules/ftfy/default.nix
  52. 4
      pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
  53. 4
      pkgs/development/python-modules/google-cloud-bigquery/default.nix
  54. 4
      pkgs/development/python-modules/mergedeep/default.nix
  55. 4
      pkgs/development/python-modules/minidump/default.nix
  56. 4
      pkgs/development/python-modules/pyinsteon/default.nix
  57. 4
      pkgs/development/python-modules/pymitv/default.nix
  58. 4
      pkgs/development/tools/rust/rust-analyzer/default.nix
  59. 9
      pkgs/development/tools/rust/rust-analyzer/generic.nix
  60. 18
      pkgs/tools/X11/alttab/default.nix
  61. 9
      pkgs/tools/admin/google-cloud-sdk/default.nix
  62. 3
      pkgs/tools/admin/turbovnc/default.nix
  63. 2
      pkgs/tools/audio/mpd-mpris/default.nix
  64. 12
      pkgs/tools/cd-dvd/cdi2iso/default.nix
  65. 4
      pkgs/tools/compression/dejsonlz4/default.nix
  66. 8
      pkgs/tools/compression/zdelta/builder.sh
  67. 22
      pkgs/tools/compression/zdelta/default.nix
  68. 2
      pkgs/tools/filesystems/catcli/default.nix
  69. 2
      pkgs/tools/filesystems/cpcfs/default.nix
  70. 2
      pkgs/tools/filesystems/idsk/default.nix
  71. 8
      pkgs/tools/graphics/epstool/default.nix
  72. 2
      pkgs/tools/graphics/imgurbash2/default.nix
  73. 2
      pkgs/tools/graphics/spirv-cross/default.nix
  74. 16
      pkgs/tools/misc/abduco/default.nix
  75. 2
      pkgs/tools/misc/apparix/default.nix
  76. 2
      pkgs/tools/misc/bash_unit/default.nix
  77. 2
      pkgs/tools/misc/bbe/default.nix
  78. 2
      pkgs/tools/misc/bcunit/default.nix
  79. 3
      pkgs/tools/misc/fdtools/default.nix
  80. 2
      pkgs/tools/misc/git-fire/default.nix
  81. 2
      pkgs/tools/misc/ministat/default.nix
  82. 2
      pkgs/tools/misc/sfeed/default.nix
  83. 36
      pkgs/tools/misc/usbview/default.nix
  84. 2
      pkgs/tools/misc/vimer/default.nix
  85. 15
      pkgs/tools/networking/altermime/default.nix
  86. 2
      pkgs/tools/networking/dhcping/default.nix
  87. 2
      pkgs/tools/networking/httperf/default.nix
  88. 11
      pkgs/tools/networking/kapp/default.nix
  89. 6
      pkgs/top-level/all-packages.nix
  90. 113
      pkgs/top-level/kodi-packages.nix
  91. 2
      pkgs/top-level/python-packages.nix

@ -1859,6 +1859,12 @@
fingerprint = "68B8 0D57 B2E5 4AC3 EC1F 49B0 B37E 0F23 7101 6A4C";
}];
};
collares = {
email = "mauricio@collares.org";
github = "collares";
githubId = 244239;
name = "Mauricio Collares";
};
copumpkin = {
email = "pumpkingod@gmail.com";
github = "copumpkin";

@ -134,6 +134,7 @@ with lib.maintainers; {
timokau
omasanori
raskin
collares
];
scope = "Maintain SageMath and the dependencies that are likely to break it.";
};

@ -177,6 +177,7 @@
./programs/tmux.nix
./programs/traceroute.nix
./programs/tsm-client.nix
./programs/turbovnc.nix
./programs/udevil.nix
./programs/usbtop.nix
./programs/vim.nix

@ -0,0 +1,54 @@
# Global configuration for the SSH client.
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.turbovnc;
in
{
options = {
programs.turbovnc = {
ensureHeadlessSoftwareOpenGL = mkOption {
type = types.bool;
default = false;
description = ''
Whether to set up NixOS such that TurboVNC's built-in software OpenGL
implementation works.
This will enable <option>hardware.opengl.enable</option> so that OpenGL
programs can find Mesa's llvmpipe drivers.
Setting this option to <code>false</code> does not mean that software
OpenGL won't work; it may still work depending on your system
configuration.
This option is also intended to generate warnings if you are using some
configuration that's incompatible with using headless software OpenGL
in TurboVNC.
'';
};
};
};
config = mkIf cfg.ensureHeadlessSoftwareOpenGL {
# TurboVNC has builtin support for Mesa llvmpipe's `swrast`
# software rendering to implemnt GLX (OpenGL on Xorg).
# However, just building TurboVNC with support for that is not enough
# (it only takes care of the X server side part of OpenGL);
# the indiviudual applications (e.g. `glxgears`) also need to directly load
# the OpenGL libs.
# Thus, this creates `/run/opengl-driver` populated by Mesa so that the applications
# can find the llvmpipe `swrast.so` software rendering DRI lib via `libglvnd`.
# This comment exists to explain why `hardware.` is involved,
# even though 100% software rendering is used.
hardware.opengl.enable = true;
};
}

@ -408,6 +408,7 @@ in
trickster = handleTest ./trickster.nix {};
trilium-server = handleTestOn ["x86_64-linux"] ./trilium-server.nix {};
tuptime = handleTest ./tuptime.nix {};
turbovnc-headless-server = handleTest ./turbovnc-headless-server.nix {};
ucg = handleTest ./ucg.nix {};
udisks2 = handleTest ./udisks2.nix {};
unbound = handleTest ./unbound.nix {};

@ -0,0 +1,171 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "turbovnc-headless-server";
meta = {
maintainers = with lib.maintainers; [ nh2 ];
};
machine = { pkgs, ... }: {
environment.systemPackages = with pkgs; [
glxinfo
procps # for `pkill`, `pidof` in the test
scrot # for screenshotting Xorg
turbovnc
];
programs.turbovnc.ensureHeadlessSoftwareOpenGL = true;
networking.firewall = {
# Reject instead of drop, for failures instead of hangs.
rejectPackets = true;
allowedTCPPorts = [
5900 # VNC :0, for seeing what's going on in the server
];
};
# So that we can ssh into the VM, see e.g.
# http://blog.patapon.info/nixos-local-vm/#accessing-the-vm-with-ssh
services.openssh.enable = true;
services.openssh.permitRootLogin = "yes";
users.extraUsers.root.password = "";
users.mutableUsers = false;
};
testScript = ''
def wait_until_terminated_or_succeeds(
termination_check_shell_command,
success_check_shell_command,
get_detail_message_fn,
retries=60,
retry_sleep=0.5,
):
def check_success():
command_exit_code, _output = machine.execute(success_check_shell_command)
return command_exit_code == 0
for _ in range(retries):
exit_check_exit_code, _output = machine.execute(termination_check_shell_command)
is_terminated = exit_check_exit_code != 0
if is_terminated:
if check_success():
return
else:
details = get_detail_message_fn()
raise Exception(
f"termination check ({termination_check_shell_command}) triggered without command succeeding ({success_check_shell_command}); details: {details}"
)
else:
if check_success():
return
time.sleep(retry_sleep)
if not check_success():
details = get_detail_message_fn()
raise Exception(
f"action timed out ({success_check_shell_command}); details: {details}"
)
# Below we use the pattern:
# (cmd | tee stdout.log) 3>&1 1>&2 2>&3 | tee stderr.log
# to capture both stderr and stdout while also teeing them, see:
# https://unix.stackexchange.com/questions/6430/how-to-redirect-stderr-and-stdout-to-different-files-and-also-display-in-termina/6431#6431
# Starts headless VNC server, backgrounding it.
def start_xvnc():
xvnc_command = " ".join(
[
"Xvnc",
":0",
"-iglx",
"-auth /root/.Xauthority",
"-geometry 1240x900",
"-depth 24",
"-rfbwait 5000",
"-deferupdate 1",
"-verbose",
"-securitytypes none",
# We don't enforce localhost listening such that we
# can connect from outside the VM using
# env QEMU_NET_OPTS=hostfwd=tcp::5900-:5900 $(nix-build nixos/tests/turbovnc-headless-server.nix -A driver)/bin/nixos-test-driver
# for testing purposes, and so that we can in the future
# add another test case that connects the TurboVNC client.
# "-localhost",
]
)
machine.execute(
# Note trailing & for backgrounding.
f"({xvnc_command} | tee /tmp/Xvnc.stdout) 3>&1 1>&2 2>&3 | tee /tmp/Xvnc.stderr &",
)
# Waits until the server log message that tells us that GLX is ready
# (requires `-verbose` above), avoiding screenshoting racing below.
def wait_until_xvnc_glx_ready():
machine.wait_until_succeeds("test -f /tmp/Xvnc.stderr")
wait_until_terminated_or_succeeds(
termination_check_shell_command="pidof Xvnc",
success_check_shell_command="grep 'GLX: Initialized DRISWRAST' /tmp/Xvnc.stderr",
get_detail_message_fn=lambda: "Contents of /tmp/Xvnc.stderr:\n"
+ machine.succeed("cat /tmp/Xvnc.stderr"),
)
# Checks that we detect glxgears failing when
# `LIBGL_DRIVERS_PATH=/nonexistent` is set
# (in which case software rendering should not work).
def test_glxgears_failing_with_bad_driver_path():
machine.execute(
# Note trailing & for backgrounding.
"(env DISPLAY=:0 LIBGL_DRIVERS_PATH=/nonexistent glxgears -info | tee /tmp/glxgears-should-fail.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears-should-fail.stderr &"
)
machine.wait_until_succeeds("test -f /tmp/glxgears-should-fail.stderr")
wait_until_terminated_or_succeeds(
termination_check_shell_command="pidof glxgears",
success_check_shell_command="grep 'libGL error: failed to load driver: swrast' /tmp/glxgears-should-fail.stderr",
get_detail_message_fn=lambda: "Contents of /tmp/glxgears-should-fail.stderr:\n"
+ machine.succeed("cat /tmp/glxgears-should-fail.stderr"),
)
machine.wait_until_fails("pidof glxgears")
# Starts glxgears, backgrounding it. Waits until it prints the `GL_RENDERER`.
# Does not quit glxgears.
def test_glxgears_prints_renderer():
machine.execute(
# Note trailing & for backgrounding.
"(env DISPLAY=:0 glxgears -info | tee /tmp/glxgears.stdout) 3>&1 1>&2 2>&3 | tee /tmp/glxgears.stderr &"
)
machine.wait_until_succeeds("test -f /tmp/glxgears.stderr")
wait_until_terminated_or_succeeds(
termination_check_shell_command="pidof glxgears",
success_check_shell_command="grep 'GL_RENDERER' /tmp/glxgears.stdout",
get_detail_message_fn=lambda: "Contents of /tmp/glxgears.stderr:\n"
+ machine.succeed("cat /tmp/glxgears.stderr"),
)
with subtest("Start Xvnc"):
start_xvnc()
wait_until_xvnc_glx_ready()
with subtest("Ensure bad driver path makes glxgears fail"):
test_glxgears_failing_with_bad_driver_path()
with subtest("Run 3D application (glxgears)"):
test_glxgears_prints_renderer()
# Take screenshot; should display the glxgears.
machine.succeed("scrot --display :0 /tmp/glxgears.png")
# Copy files down.
machine.copy_from_vm("/tmp/glxgears.png")
machine.copy_from_vm("/tmp/glxgears.stdout")
machine.copy_from_vm("/tmp/glxgears-should-fail.stdout")
machine.copy_from_vm("/tmp/glxgears-should-fail.stderr")
machine.copy_from_vm("/tmp/Xvnc.stdout")
machine.copy_from_vm("/tmp/Xvnc.stderr")
'';
})

@ -130,6 +130,8 @@ mkDerivation rec {
postFixup = ''
mv $out/share/doc $out
ln -s $out/bin/FreeCAD $out/bin/freecad
ln -s $out/bin/FreeCADCmd $out/bin/freecadcmd
'';
meta = with lib; {

@ -1,6 +1,7 @@
{ stdenv
, lib
, fetchurl
, fetchpatch
, substituteAll
, autoreconfHook
, pkg-config
@ -72,6 +73,12 @@ in stdenv.mkDerivation rec {
# Use absolute paths instead of relying on PATH
# to make sure plug-ins are loaded by the correct interpreter.
./hardcode-plugin-interpreters.patch
# Fix crash without dot.
(fetchpatch {
url = "https://gitlab.gnome.org/GNOME/gimp/-/commit/f83fd22c4b8701ffc4ce14383e5e22756a4bce04.patch";
sha256 = "POuvBhOSStO7hBGp4HgNx5F9pElFRoqN3W+i3u4zOnk=";
})
];
nativeBuildInputs = [

@ -2,17 +2,17 @@
buildGoModule rec {
pname = "waypoint";
version = "0.2.3";
version = "0.2.4";
src = fetchFromGitHub {
owner = "hashicorp";
repo = pname;
rev = "v${version}";
sha256 = "sha256-FTBBDKFUoyC+Xdm3+2QWXK57fLwitYrFP89OvAyHHVY=";
sha256 = "sha256-6sV2e/m0qVSRWgdvVZ9VxEL/J57nTcTClxHF5X8/8PQ=";
};
deleteVendor = true;
vendorSha256 = "sha256-ihelAumTRgLALevJdVq3V3SISitiRPCQZUh2h5/eczA=";
vendorSha256 = "sha256-NPE3YHulqllWDGrxQgPmy/KKE7xFPOUorLQNIU8cP50=";
nativeBuildInputs = [ go-bindata ];

@ -17,11 +17,11 @@
stdenv.mkDerivation rec {
pname = "filezilla";
version = "3.51.0";
version = "3.52.2";
src = fetchurl {
url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2";
sha256 = "0k3c7gm16snc6dr9a3xgq14ajyqj4hxcrd6hk6jk5fsi9x51rgl2";
sha256 = "sha256-wHiIFpKKJuiGPH3CaxWGROcb7ylAbffS7aN9xIENbN8=";
};
# https://www.linuxquestions.org/questions/slackware-14/trouble-building-filezilla-3-47-2-1-current-4175671182/#post6099769

@ -1,11 +1,11 @@
{
"version": "13.8.5",
"repo_hash": "0dpyqynd6rscg07s58y0cjn7vfj2h21h51ja0fm6ll76wb02sbm6",
"version": "13.8.6",
"repo_hash": "0izzvr4bw86nbrqkf44gkcf63ham10cw4vp5yk0ylgm7w0kimv8v",
"owner": "gitlab-org",
"repo": "gitlab",
"rev": "v13.8.5-ee",
"rev": "v13.8.6-ee",
"passthru": {
"GITALY_SERVER_VERSION": "13.8.5",
"GITALY_SERVER_VERSION": "13.8.6",
"GITLAB_PAGES_VERSION": "1.34.0",
"GITLAB_SHELL_VERSION": "13.15.1",
"GITLAB_WORKHORSE_VERSION": "8.59.2"

@ -33,14 +33,14 @@ let
};
};
in buildGoModule rec {
version = "13.8.5";
version = "13.8.6";
pname = "gitaly";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
sha256 = "sha256-hKIjKltPPmz50Ru7elpHdeoyGAqgp+txR3fKleqY7hM=";
sha256 = "sha256-6ocP4SMafvLI2jfvcB8jk1AemAI/TiBQ1iaVxK7I54A=";
};
vendorSha256 = "sha256-oVw6vXI3CyOn4l02PkYx3HVpZfzQPi3yBuf9tRvoWoM=";

@ -0,0 +1,23 @@
{ writeShellScript
, nix
, curl
, gzip
, xmlstarlet
, common-updater-scripts
}:
{ attrPath }:
let
url = "http://mirrors.kodi.tv/addons/matrix/addons.xml.gz";
updateScript = writeShellScript "update.sh" ''
set -ex
attrPath=$1
namespace=$(${nix}/bin/nix-instantiate $systemArg --eval -E "with import ./. {}; $attrPath.namespace" | tr -d '"')
version=$(${curl}/bin/curl -s -L ${url} | ${gzip}/bin/gunzip -c | ${xmlstarlet}/bin/xml select -T -t -m "//addons/addon[@id='$namespace']" -v @version)
${common-updater-scripts}/bin/update-source-version "$attrPath" "$version"
'';
in
[ updateScript attrPath ]

@ -0,0 +1,21 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "certifi";
namespace = "script.module.certifi";
version = "2019.11.28+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
sha256 = "0vsd68izv1ix0hb1gm74qq3zff0sxmhfhjyh7y9005zzp2gpi62v";
};
passthru.updateScript = addonUpdateScript {
attrPath = "kodi.packages.certifi";
};
meta = with lib; {
homepage = "https://certifi.io";
description = "Python package for providing Mozilla's CA Bundle";
license = licenses.mpl20;
};
}

@ -0,0 +1,21 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "chardet";
namespace = "script.module.chardet";
version = "3.0.4+matrix.3";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
sha256 = "05928dj4fsj2zg8ajdial3sdf8izddq64sr0al3zy1gqw91jp80f";
};
passthru.updateScript = addonUpdateScript {
attrPath = "kodi.packages.chardet";
};
meta = with lib; {
homepage = "https://github.com/Freso/script.module.chardet";
description = "Universal encoding detector";
license = licenses.lgpl2Only;
};
}

@ -0,0 +1,21 @@
{ lib, buildKodiAddon, fetchFromGitHub, controller }:
buildKodiAddon rec {
pname = "game-controller-${controller}";
namespace = "game.controller.${controller}";
version = "1.0.3";
sourceDir = "addons/" + namespace;
src = fetchFromGitHub {
owner = "kodi-game";
repo = "kodi-game-controllers";
rev = "01acb5b6e8b85392b3cb298b034aadb1b24ccf18";
sha256 = "0sbc0w0fwbp7rbmbgb6a1kglhnn5g85hijcbbvf5x6jdq9v3f1qb";
};
meta = with lib; {
description = "Add support for different gaming controllers.";
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
};
}

@ -0,0 +1,21 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "idna";
namespace = "script.module.idna";
version = "2.8.1+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
sha256 = "02s75fhfmbs3a38wvxba51aj3lv5bidshjdkl6yjfji6waxpr9xh";
};
passthru.updateScript = addonUpdateScript {
attrPath = "kodi.packages.idna";
};
meta = with lib; {
homepage = "https://github.com/Freso/script.module.idna";
description = "Internationalized Domain Names for Python";
license = licenses.bsd3;
};
}

@ -0,0 +1,28 @@
{ stdenv, lib, rel, addonDir, buildKodiBinaryAddon, fetchFromGitHub, expat, glib, nspr, nss }:
buildKodiBinaryAddon rec {
pname = "inputstream-adaptive";
namespace = "inputstream.adaptive";
version = "2.6.7";
src = fetchFromGitHub {
owner = "peak3d";
repo = "inputstream.adaptive";
rev = "${version}-${rel}";
sha256 = "1pwqmbr78wp12jn6rwv63npdfc456adwz0amlxf6gvgg43li6p7s";
};
extraBuildInputs = [ expat ];
extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ];
extraInstallPhase = let n = namespace; in ''
ln -s $out/lib/addons/${n}/libssd_wv.so $out/${addonDir}/${n}/libssd_wv.so
'';
meta = with lib; {
homepage = "https://github.com/peak3d/inputstream.adaptive";
description = "Kodi inputstream addon for several manifest types";
platforms = platforms.all;
maintainers = with maintainers; [ sephalon ];
};
}

@ -0,0 +1,21 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "inputstreamhelper";
namespace = "script.module.inputstreamhelper";
version = "0.5.2+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
sha256 = "18lkksljfa57w69yklbldf7dgyykrm84pd10mdjdqdm88fdiiijk";
};
passthru.updateScript = addonUpdateScript {
attrPath = "kodi.packages.inputstreamhelper";
};
meta = with lib; {
homepage = "https://github.com/emilsvennesson/script.module.inputstreamhelper";
description = "A simple Kodi module that makes life easier for add-on developers relying on InputStream based add-ons and DRM playback";
license = licenses.mit;
};
}

@ -0,0 +1,21 @@
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, tinyxml, udev }:
buildKodiBinaryAddon rec {
pname = namespace;
namespace = "peripheral.joystick";
version = "1.7.1";
src = fetchFromGitHub {
owner = "xbmc";
repo = namespace;
rev = "${version}-${rel}";
sha256 = "1dhj4afr9kj938xx70fq5r409mz6lbw4n581ljvdjj9lq7akc914";
};
meta = with lib; {
description = "Binary addon for raw joystick input.";
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
};
extraBuildInputs = [ tinyxml udev ];
}

@ -0,0 +1,15 @@
{ stdenv, fetchFromGitHub, cmake, kodi, libcec_platform, tinyxml }:
stdenv.mkDerivation rec {
pname = "kodi-platform";
version = "17.1";
src = fetchFromGitHub {
owner = "xbmc";
repo = pname;
rev = "c8188d82678fec6b784597db69a68e74ff4986b5";
sha256 = "1r3gs3c6zczmm66qcxh9mr306clwb3p7ykzb70r3jv5jqggiz199";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ kodi libcec_platform tinyxml ];
}

@ -0,0 +1,21 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "myconnpy";
namespace = "script.module.myconnpy";
version = "8.0.18+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
sha256 = "1cx3qdzw9lkkmbyvyrmc2i193is20fihn2sfl7kmv43f708vam0k";
};
passthru.updateScript = addonUpdateScript {
attrPath = "kodi.packages.myconnpy";
};
meta = with lib; {
homepage = "http://dev.mysql.com/doc/connector-python/en/index.html";
description = "MySQL Connector/Python";
license = licenses.gpl2Only;
};
}

@ -0,0 +1,26 @@
{ lib, buildKodiAddon, fetchFromGitHub, signals, inputstreamhelper, requests, myconnpy }:
buildKodiAddon rec {
pname = "netflix";
namespace = "plugin.video.netflix";
version = "1.14.1";
src = fetchFromGitHub {
owner = "CastagnaIT";
repo = namespace;
rev = "v${version}";
sha256 = "0vv3234gg4brp0gvrsl4vdskmpfbyk4z7cjmmj31zn4m8j33japn";
};
propagatedBuildInputs = [
signals
inputstreamhelper
requests
myconnpy
];
meta = with lib; {
homepage = "https://github.com/CastagnaIT/plugin.video.netflix";
description = "Netflix VOD Services Add-on";
license = licenses.mit;
};
}

@ -0,0 +1,21 @@
{ lib, buildKodiAddon, fetchFromGitHub }:
buildKodiAddon rec {
pname = "osmc-skin";
namespace = "skin.osmc";
version = "18.0.0";
src = fetchFromGitHub {
owner = "osmc";
repo = namespace;
rev = "40a6c318641e2cbeac58fb0e7dde9c2beac737a0";
sha256 = "1l7hyfj5zvjxjdm94y325bmy1naak455b9l8952sb0gllzrcwj6s";
};
meta = with lib; {
homepage = "https://github.com/osmc/skin.osmc";
description = "The default skin for OSMC";
platforms = platforms.all;
maintainers = with maintainers; [ worldofpeace ];
license = licenses.cc-by-nc-sa-30;
};
}

@ -0,0 +1,19 @@
{ lib, buildKodiAddon, fetchFromGitHub }:
buildKodiAddon rec {
pname = "pdfreader";
namespace = "plugin.image.pdf";
version = "2.0.2";
src = fetchFromGitHub {
owner = "i96751414";
repo = "plugin.image.pdfreader";
rev = "v${version}";
sha256 = "0nkqhlm1gyagq6xpdgqvd5qxyr2ngpml9smdmzfabc8b972mwjml";
};
meta = with lib; {
homepage = "https://forum.kodi.tv/showthread.php?tid=187421";
description = "A comic book reader";
maintainers = with maintainers; [ edwtjo ];
};
}

@ -0,0 +1,22 @@
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, jsoncpp, libhdhomerun }:
buildKodiBinaryAddon rec {
pname = "pvr-hdhomerun";
namespace = "pvr.hdhomerun";
version = "7.1.0";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.hdhomerun";
rev = "${version}-${rel}";
sha256 = "0gbwjssnd319csq2kwlyjj1rskg19m1dxac5dl2dymvx5hn3zrgm";
};
meta = with lib; {
homepage = "https://github.com/kodi-pvr/pvr.hdhomerun";
description = "Kodi's HDHomeRun PVR client addon";
platforms = platforms.all;
maintainers = with maintainers; [ titanous ];
};
extraBuildInputs = [ jsoncpp libhdhomerun ];
}

@ -0,0 +1,21 @@
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub }:
buildKodiBinaryAddon rec {
pname = "pvr-hts";
namespace = "pvr.hts";
version = "8.2.2";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.hts";
rev = "${version}-${rel}";
sha256 = "0jnn9gfjl556acqjf92wzzn371gxymhbbi665nqgg2gjcan0a49q";
};
meta = with lib; {
homepage = "https://github.com/kodi-pvr/pvr.hts";
description = "Kodi's Tvheadend HTSP client addon";
platforms = platforms.all;
maintainers = with maintainers; [ cpages ];
};
}

@ -0,0 +1,22 @@
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, zlib, pugixml }:
buildKodiBinaryAddon rec {
pname = "pvr-iptvsimple";
namespace = "pvr.iptvsimple";
version = "7.4.2";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.iptvsimple";
rev = "${version}-${rel}";
sha256 = "062i922qi0izkvn7v47yhyy2cf3fa7xc3k95b1gm9abfdwkk8ywr";
};
meta = with lib; {
homepage = "https://github.com/kodi-pvr/pvr.iptvsimple";
description = "Kodi's IPTV Simple client addon";
platforms = platforms.all;
license = licenses.gpl2Plus;
};
extraBuildInputs = [ zlib pugixml ];
}

@ -0,0 +1,28 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, certifi, chardet, idna, urllib3 }:
buildKodiAddon rec {
pname = "requests";
namespace = "script.module.requests";
version = "2.22.0+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
sha256 = "09576galkyzhw8fhy2h4aablm5rm2v08g0mdmg9nn55dlxhkkljq";
};
propagatedBuildInputs = [
certifi
chardet
idna
urllib3
];
passthru.updateScript = addonUpdateScript {
attrPath = "kodi.packages.requests";
};
meta = with lib; {
homepage = "http://python-requests.org";
description = "Python HTTP for Humans";
license = licenses.asl20;
};
}

@ -0,0 +1,21 @@
{ lib, 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/matrix/${namespace}/${namespace}-${version}.zip";
sha256 = "1qcjbakch8hvx02wc01zv014nmzgn6ahc4n2bj5mzr114ppd3hjs";
};
passthru.updateScript = addonUpdateScript {
attrPath = "kodi.packages.signals";
};
meta = with lib; {
homepage = "https://github.com/ruuk/script.module.addon.signals";
description = "Provides signal/slot mechanism for inter-addon communication";
license = licenses.lgpl21Only;
};
}

@ -0,0 +1,22 @@
{ lib, buildKodiBinaryAddon, fetchFromGitHub, libusb1 }:
buildKodiBinaryAddon rec {
pname = namespace;
namespace = "peripheral.steamcontroller";
version = "0.11.0";
src = fetchFromGitHub {
owner = "kodi-game";
repo = namespace;
rev = "f68140ca44f163a03d3a625d1f2005a6edef96cb";
sha256 = "09lm8i119xlsxxk0c64rnp8iw0crr90v7m8iwi9r31qdmxrdxpmg";
};
extraBuildInputs = [ libusb1 ];
meta = with lib; {
description = "Binary addon for steam controller.";
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
};
}

@ -0,0 +1,28 @@
{ lib, buildKodiAddon, fetchFromGitHub, steam }:
buildKodiAddon {
pname = "steam-launcher";
namespace = "script.steam.launcher";
version = "3.5.1";
src = fetchFromGitHub rec {
owner = "teeedubb";
repo = owner + "-xbmc-repo";
rev = "8260bf9b464846a1f1965da495d2f2b7ceb81d55";
sha256 = "1fj3ry5s44nf1jzxk4bmnpa4b9p23nrpmpj2a4i6xf94h7jl7p5k";
};
propagatedBuildInputs = [ steam ];
meta = with lib; {
homepage = "https://forum.kodi.tv/showthread.php?tid=157499";
description = "Launch Steam in Big Picture Mode from Kodi";
longDescription = ''
This add-on will close/minimise Kodi, launch Steam in Big
Picture Mode and when Steam BPM is exited (either by quitting
Steam or returning to the desktop) Kodi will
restart/maximise. Running pre/post Steam scripts can be
configured via the addon.
'';
maintainers = with maintainers; [ edwtjo ];
};
}

@ -0,0 +1,26 @@
{ lib, buildKodiAddon, fetchFromGitHub }:
buildKodiAddon rec {
pname = "svtplay";
namespace = "plugin.video.svtplay";
version = "5.1.12";
src = fetchFromGitHub {
owner = "nilzen";
repo = "xbmc-" + pname;
rev = "v${version}";
sha256 = "04j1nhm7mh9chs995lz6bv1vsq5xzk7a7c0lmk4bnfv8jrfpj0w6";
};
meta = with lib; {
homepage = "https://forum.kodi.tv/showthread.php?tid=67110";
description = "Watch content from SVT Play";
longDescription = ''
With this addon you can stream content from SVT Play
(svtplay.se). The plugin fetches the video URL from the SVT
Play website and feeds it to the Kodi video player. HLS (m3u8)
is the preferred video format by the plugin.
'';
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
};
}

@ -0,0 +1,21 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
buildKodiAddon rec {
pname = "urllib3";
namespace = "script.module.urllib3";
version = "1.25.8+matrix.1";
src = fetchzip {
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
sha256 = "080yq8ns0sag6rmdag1hjwi0whcmp35wzqjp3by92m81cpszs75q";
};
passthru.updateScript = addonUpdateScript {
attrPath = "kodi.packages.urllib3";
};
meta = with lib; {
homepage = "https://urllib3.readthedocs.io/en/latest/";
description = "HTTP library with thread-safe connection pooling, file post, and more";
license = licenses.mit;
};
}

@ -0,0 +1,22 @@
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libarchive, lzma, bzip2, zlib, lz4, lzo, openssl }:
buildKodiBinaryAddon rec {
pname = namespace;
namespace = "vfs.libarchive";
version = "2.0.0";
src = fetchFromGitHub {
owner = "xbmc";
repo = namespace;
rev = "${version}-${rel}";
sha256 = "1q62p1i6rvqk2zv6f1cpffkh95lgclys2xl4dwyhj3acmqdxd9i5";
};
meta = with lib; {
description = "LibArchive Virtual Filesystem add-on for Kodi";
license = licenses.gpl2Plus;
platforms = platforms.all;
maintainers = with maintainers; [ minijackson ];
};
extraBuildInputs = [ libarchive lzma bzip2 zlib lz4 lzo openssl ];
}

@ -0,0 +1,22 @@
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, openssl, libssh, zlib }:
buildKodiBinaryAddon rec {
pname = namespace;
namespace = "vfs.sftp";
version = "2.0.0";
src = fetchFromGitHub {
owner = "xbmc";
repo = namespace;
rev = "${version}-${rel}";
sha256 = "06w74sh8yagrrp7a7rjaz3xrh1j3wdqald9c4b72c33gpk5997dk";
};
meta = with lib; {
description = "SFTP Virtual Filesystem add-on for Kodi";
license = licenses.gpl2Plus;
platforms = platforms.all;
maintainers = with maintainers; [ minijackson ];
};
extraBuildInputs = [ openssl libssh zlib ];
}

@ -0,0 +1,21 @@
{ stdenv, toKodiAddon, addonDir }:
{ name ? "${attrs.pname}-${attrs.version}"
, namespace
, sourceDir ? ""
, ... } @ attrs:
toKodiAddon (stdenv.mkDerivation ({
name = "kodi-" + name;
dontStrip = true;
extraRuntimeDependencies = [ ];
installPhase = ''
cd $src/$sourceDir
d=$out${addonDir}/${namespace}
mkdir -p $d
sauce="."
[ -d ${namespace} ] && sauce=${namespace}
cp -R "$sauce/"* $d
'';
} // attrs))

@ -0,0 +1,31 @@
{ stdenv, toKodiAddon, addonDir, cmake, kodi, kodi-platform, libcec_platform }:
{ name ? "${attrs.pname}-${attrs.version}"
, namespace
, version
, extraBuildInputs ? []
, extraRuntimeDependencies ? []
, extraInstallPhase ? "", ... } @ attrs:
toKodiAddon (stdenv.mkDerivation ({
name = "kodi-" + name;
dontStrip = true;
nativeBuildInputs = [ cmake ];
buildInputs = [ kodi kodi-platform libcec_platform ] ++ extraBuildInputs;
inherit extraRuntimeDependencies;
# disables check ensuring install prefix is that of kodi
cmakeFlags = [
"-DOVERRIDE_PATHS=1"
];
# kodi checks for addon .so libs existance in the addon folder (share/...)
# and the non-wrapped kodi lib/... folder before even trying to dlopen
# them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
installPhase = let n = namespace; in ''
make install
ln -s $out/lib/addons/${n}/${n}.so.${version} $out${addonDir}/${n}/${n}.so.${version}
${extraInstallPhase}
'';
} // attrs))

@ -1,7 +1,7 @@
{ callPackage, ... } @ args:
let
unwrapped = callPackage ./unwrapped.nix (removeAttrs args [ "callPackage" ]);
kodiPackages = callPackage ./packages.nix { kodi = unwrapped; };
kodiPackages = callPackage ../../../top-level/kodi-packages.nix { kodi = unwrapped; };
in
unwrapped.overrideAttrs (oldAttrs: {
passthru = oldAttrs.passthru // {

@ -1,560 +0,0 @@
{ lib, stdenv, callPackage, fetchFromGitHub
, cmake, kodi, libcec_platform, tinyxml, pugixml
, steam, udev, libusb1, jsoncpp, libhdhomerun, zlib
, python3Packages, expat, glib, nspr, nss, openssl
, libssh, libarchive, lzma, bzip2, lz4, lzo }:
with lib;
let self = rec {
addonDir = "/share/kodi/addons";
rel = "Matrix";
inherit kodi;
# Convert derivation to a kodi module. Stolen from ../../../top-level/python-packages.nix
toKodiAddon = drv: drv.overrideAttrs(oldAttrs: {
# Use passthru in order to prevent rebuilds when possible.
passthru = (oldAttrs.passthru or {})// {
kodiAddonFor = kodi;
requiredKodiAddons = requiredKodiAddons drv.propagatedBuildInputs;
};
});
# Check whether a derivation provides a Kodi addon.
hasKodiAddon = drv: drv ? kodiAddonFor && drv.kodiAddonFor == kodi;
# Get list of required Kodi addons given a list of derivations.
requiredKodiAddons = drvs: let
modules = filter hasKodiAddon drvs;
in unique (modules ++ concatLists (catAttrs "requiredKodiAddons" modules));
kodi-platform = stdenv.mkDerivation rec {
project = "kodi-platform";
version = "17.1";
name = "${project}-${version}";
src = fetchFromGitHub {
owner = "xbmc";
repo = project;
rev = "c8188d82678fec6b784597db69a68e74ff4986b5";
sha256 = "1r3gs3c6zczmm66qcxh9mr306clwb3p7ykzb70r3jv5jqggiz199";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ kodi libcec_platform tinyxml ];
};
buildKodiAddon =
{ name ? "${attrs.pname}-${attrs.version}"
, namespace
, sourceDir ? ""
, ... } @ attrs:
toKodiAddon (stdenv.mkDerivation ({
name = "kodi-" + name;
dontStrip = true;
extraRuntimeDependencies = [ ];
installPhase = ''
cd $src/$sourceDir
d=$out${addonDir}/${namespace}
mkdir -p $d
sauce="."
[ -d ${namespace} ] && sauce=${namespace}
cp -R "$sauce/"* $d
'';
} // attrs));
buildKodiBinaryAddon =
{ name ? "${attrs.pname}-${attrs.version}"
, namespace
, version
, extraBuildInputs ? []
, extraRuntimeDependencies ? []
, extraInstallPhase ? "", ... } @ attrs:
toKodiAddon (stdenv.mkDerivation ({
name = "kodi-" + name;
dontStrip = true;
nativeBuildInputs = [ cmake ];
buildInputs = [ kodi kodi-platform libcec_platform ] ++ extraBuildInputs;
inherit extraRuntimeDependencies;
# disables check ensuring install prefix is that of kodi
cmakeFlags = [
"-DOVERRIDE_PATHS=1"
];
# kodi checks for addon .so libs existance in the addon folder (share/...)
# and the non-wrapped kodi lib/... folder before even trying to dlopen
# them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
installPhase = let n = namespace; in ''
make install
ln -s $out/lib/addons/${n}/${n}.so.${version} $out${addonDir}/${n}/${n}.so.${version}
${extraInstallPhase}
'';
} // attrs));
advanced-launcher = buildKodiAddon rec {
pname = "advanced-launcher";
namespace = "plugin.program.advanced.launcher";
version = "2.5.8";
src = fetchFromGitHub {
owner = "edwtjo";
repo = pname;
rev = version;
sha256 = "142vvgs37asq5m54xqhjzqvgmb0xlirvm0kz6lxaqynp0vvgrkx2";
};
meta = {
homepage = "https://forum.kodi.tv/showthread.php?tid=85724";
description = "A program launcher for Kodi";
longDescription = ''
Advanced Launcher allows you to start any Linux, Windows and
macOS external applications (with command line support or not)
directly from the Kodi GUI. Advanced Launcher also give you
the possibility to edit, download (from Internet resources)
and manage all the meta-data (informations and images) related
to these applications.
'';
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
broken = true; # requires port to python3
};
};
advanced-emulator-launcher = buildKodiAddon rec {
pname = "advanced-emulator-launcher";
namespace = "plugin.program.advanced.emulator.launcher";
version = "0.9.6";
src = fetchFromGitHub {
owner = "Wintermute0110";
repo = namespace;
rev = version;
sha256 = "1sv9z77jj6bam6llcnd9b3dgkbvhwad2m1v541rv3acrackms2z2";
};
meta = {
homepage = "https://forum.kodi.tv/showthread.php?tid=287826";
description = "A program launcher for Kodi";
longDescription = ''
Advanced Emulator Launcher is a multi-emulator front-end for Kodi
scalable to collections of thousands of ROMs. Includes offline scrapers
for MAME and No-Intro ROM sets and also supports scrapping ROM metadata
and artwork online. ROM auditing for No-Intro ROMs using No-Intro XML
DATs. Launching of games and standalone applications is also available.
'';
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
broken = true; # requires port to python3
};
};
controllers = let
pname = "game-controller";
version = "1.0.3";
src = fetchFromGitHub {
owner = "kodi-game";
repo = "kodi-game-controllers";
rev = "01acb5b6e8b85392b3cb298b034aadb1b24ccf18";
sha256 = "0sbc0w0fwbp7rbmbgb6a1kglhnn5g85hijcbbvf5x6jdq9v3f1qb";
};
meta = {
description = "Add support for different gaming controllers.";
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
};
mkController = controller: {
${controller} = buildKodiAddon rec {
pname = pname + "-" + controller;
namespace = "game.controller." + controller;
sourceDir = "addons/" + namespace;
inherit version src meta;
};
};
in (mkController "default")
// (mkController "dreamcast")
// (mkController "gba")
// (mkController "genesis")
// (mkController "mouse")
// (mkController "n64")
// (mkController "nes")
// (mkController "ps")
// (mkController "snes");
hyper-launcher = let
pname = "hyper-launcher";
version = "1.5.2";
src = fetchFromGitHub rec {
name = pname + "-" + version + ".tar.gz";
owner = "teeedubb";
repo = owner + "-xbmc-repo";
rev = "f958ba93fe85b9c9025b1745d89c2db2e7dd9bf6";
sha256 = "1dvff24fbas25k5kvca4ssks9l1g5rfa3hl8lqxczkaqi3pp41j5";
};
meta = {
homepage = "https://forum.kodi.tv/showthread.php?tid=258159";
description = "A ROM launcher for Kodi that uses HyperSpin assets.";
maintainers = with maintainers; [ edwtjo ];
broken = true; # requires port to python3
};
in {
service = buildKodiAddon {
pname = pname + "-service";
version = "1.2.1";
namespace = "service.hyper.launcher";
inherit src meta;
};
plugin = buildKodiAddon {
namespace = "plugin.hyper.launcher";
inherit pname version src meta;
};
};
joystick = buildKodiBinaryAddon rec {
pname = namespace;
namespace = "peripheral.joystick";
version = "1.7.1";
src = fetchFromGitHub {
owner = "xbmc";
repo = namespace;
rev = "${version}-${rel}";
sha256 = "1dhj4afr9kj938xx70fq5r409mz6lbw4n581ljvdjj9lq7akc914";
};
meta = {
description = "Binary addon for raw joystick input.";
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
};
extraBuildInputs = [ tinyxml udev ];
};
simpleplugin = buildKodiAddon rec {
pname = "simpleplugin";
namespace = "script.module.simpleplugin";
version = "2.3.2";
src = fetchFromGitHub {
owner = "romanvm";
repo = namespace;
rev = "v.${version}";
sha256 = "0myar8dqjigb75pcc8zx3i5z79p1ifgphgb82s5syqywk0zaxm3j";
};
meta = {
homepage = src.meta.homepage;
description = "Simpleplugin API";
license = licenses.gpl3;
broken = true; # requires port to python3
};
};
svtplay = buildKodiAddon rec {
pname = "svtplay";
namespace = "plugin.video.svtplay";
version = "5.1.12";
src = fetchFromGitHub {
name = pname + "-" + version + ".tar.gz";
owner = "nilzen";
repo = "xbmc-" + pname;
rev = "v${version}";
sha256 = "04j1nhm7mh9chs995lz6bv1vsq5xzk7a7c0lmk4bnfv8jrfpj0w6";
};
meta = {
homepage = "https://forum.kodi.tv/showthread.php?tid=67110";
description = "Watch content from SVT Play";
longDescription = ''
With this addon you can stream content from SVT Play
(svtplay.se). The plugin fetches the video URL from the SVT
Play website and feeds it to the Kodi video player. HLS (m3u8)
is the preferred video format by the plugin.
'';
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
};
};
steam-controller = buildKodiBinaryAddon rec {
pname = namespace;
namespace = "peripheral.steamcontroller";
version = "0.11.0";
src = fetchFromGitHub {
owner = "kodi-game";
repo = namespace;
rev = "f68140ca44f163a03d3a625d1f2005a6edef96cb";
sha256 = "09lm8i119xlsxxk0c64rnp8iw0crr90v7m8iwi9r31qdmxrdxpmg";
};
extraBuildInputs = [ libusb1 ];
meta = {
description = "Binary addon for steam controller.";
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
};
};
steam-launcher = buildKodiAddon {
pname = "steam-launcher";
namespace = "script.steam.launcher";
version = "3.5.1";
src = fetchFromGitHub rec {
owner = "teeedubb";
repo = owner + "-xbmc-repo";
rev = "8260bf9b464846a1f1965da495d2f2b7ceb81d55";
sha256 = "1fj3ry5s44nf1jzxk4bmnpa4b9p23nrpmpj2a4i6xf94h7jl7p5k";
};
propagatedBuildInputs = [ steam ];
meta = {
homepage = "https://forum.kodi.tv/showthread.php?tid=157499";
description = "Launch Steam in Big Picture Mode from Kodi";
longDescription = ''
This add-on will close/minimise Kodi, launch Steam in Big
Picture Mode and when Steam BPM is exited (either by quitting
Steam or returning to the desktop) Kodi will
restart/maximise. Running pre/post Steam scripts can be
configured via the addon.
'';
maintainers = with maintainers; [ edwtjo ];
};
};
pdfreader = buildKodiAddon rec {
pname = "pdfreader";
namespace = "plugin.image.pdf";
version = "2.0.2";
src = fetchFromGitHub {
owner = "i96751414";
repo = "plugin.image.pdfreader";
rev = "v${version}";
sha256 = "0nkqhlm1gyagq6xpdgqvd5qxyr2ngpml9smdmzfabc8b972mwjml";
};
meta = {
homepage = "https://forum.kodi.tv/showthread.php?tid=187421";
description = "A comic book reader";
maintainers = with maintainers; [ edwtjo ];
};
};
pvr-hts = buildKodiBinaryAddon rec {
pname = "pvr-hts";
namespace = "pvr.hts";
version = "8.2.2";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.hts";
rev = "${version}-${rel}";
sha256 = "0jnn9gfjl556acqjf92wzzn371gxymhbbi665nqgg2gjcan0a49q";
};
meta = {
homepage = "https://github.com/kodi-pvr/pvr.hts";
description = "Kodi's Tvheadend HTSP client addon";
platforms = platforms.all;
maintainers = with maintainers; [ cpages ];
};
};
pvr-hdhomerun = buildKodiBinaryAddon rec {
pname = "pvr-hdhomerun";
namespace = "pvr.hdhomerun";
version = "7.1.0";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.hdhomerun";
rev = "${version}-${rel}";
sha256 = "0gbwjssnd319csq2kwlyjj1rskg19m1dxac5dl2dymvx5hn3zrgm";
};
meta = {
homepage = "https://github.com/kodi-pvr/pvr.hdhomerun";
description = "Kodi's HDHomeRun PVR client addon";
platforms = platforms.all;
maintainers = with maintainers; [ titanous ];
};
extraBuildInputs = [ jsoncpp libhdhomerun ];
};
pvr-iptvsimple = buildKodiBinaryAddon rec {
pname = "pvr-iptvsimple";
namespace = "pvr.iptvsimple";
version = "7.4.2";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.iptvsimple";
rev = "${version}-${rel}";
sha256 = "062i922qi0izkvn7v47yhyy2cf3fa7xc3k95b1gm9abfdwkk8ywr";
};
meta = {
homepage = "https://github.com/kodi-pvr/pvr.iptvsimple";
description = "Kodi's IPTV Simple client addon";
platforms = platforms.all;
maintainers = with maintainers; [ ];
license = licenses.gpl2Plus;
};
extraBuildInputs = [ zlib pugixml ];
};
osmc-skin = buildKodiAddon rec {
pname = "osmc-skin";
namespace = "skin.osmc";
version = "18.0.0";
src = fetchFromGitHub {
owner = "osmc";
repo = namespace;
rev = "40a6c318641e2cbeac58fb0e7dde9c2beac737a0";
sha256 = "1l7hyfj5zvjxjdm94y325bmy1naak455b9l8952sb0gllzrcwj6s";
};
meta = {
homepage = "https://github.com/osmc/skin.osmc";
description = "The default skin for OSMC";
platforms = platforms.all;
maintainers = with maintainers; [ worldofpeace ];
license = licenses.cc-by-nc-sa-30;
};
};
yatp = python3Packages.toPythonModule (buildKodiAddon rec {
pname = "yatp";
namespace = "plugin.video.yatp";
version = "3.3.2";
src = fetchFromGitHub {
owner = "romanvm";
repo = "kodi.yatp";
rev = "v.${version}";
sha256 = "12g1f57sx7dy6wy7ljl7siz2qs1kxcmijcg7xx2xpvmq61x9qa2d";
};
patches = [ ./yatp/dont-monkey.patch ];
propagatedBuildInputs = [
simpleplugin
python3Packages.requests
python3Packages.libtorrent-rasterbar
];
meta = {
homepage = src.meta.homepage;
description = "Yet Another Torrent Player: libtorrent-based torrent streaming for Kodi";
license = licenses.gpl3;
broken = true; # requires port to python3
};
});
inputstream-adaptive = buildKodiBinaryAddon rec {
pname = "inputstream-adaptive";
namespace = "inputstream.adaptive";
version = "2.6.7";
src = fetchFromGitHub {
owner = "peak3d";
repo = "inputstream.adaptive";
rev = "${version}-${rel}";
sha256 = "1pwqmbr78wp12jn6rwv63npdfc456adwz0amlxf6gvgg43li6p7s";
};
extraBuildInputs = [ expat ];
extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ];
extraInstallPhase = let n = namespace; in ''
ln -s $out/lib/addons/${n}/libssd_wv.so $out/${addonDir}/${n}/libssd_wv.so
'';
meta = {
homepage = "https://github.com/peak3d/inputstream.adaptive";
description = "Kodi inputstream addon for several manifest types";
platforms = platforms.all;
maintainers = with maintainers; [ sephalon ];
};
};
vfs-sftp = buildKodiBinaryAddon rec {
pname = namespace;
namespace = "vfs.sftp";
version = "2.0.0";
src = fetchFromGitHub {
owner = "xbmc";
repo = namespace;
rev = "${version}-${rel}";
sha256 = "06w74sh8yagrrp7a7rjaz3xrh1j3wdqald9c4b72c33gpk5997dk";
};
meta = with lib; {
description = "SFTP Virtual Filesystem add-on for Kodi";
license = licenses.gpl2Plus;
platforms = platforms.all;
maintainers = with maintainers; [ minijackson ];
};
extraBuildInputs = [ openssl libssh zlib ];
};
vfs-libarchive = buildKodiBinaryAddon rec {
pname = namespace;
namespace = "vfs.libarchive";
version = "2.0.0";
src = fetchFromGitHub {
owner = "xbmc";
repo = namespace;
rev = "${version}-${rel}";
sha256 = "1q62p1i6rvqk2zv6f1cpffkh95lgclys2xl4dwyhj3acmqdxd9i5";
};
meta = with lib; {
description = "LibArchive Virtual Filesystem add-on for Kodi";
license = licenses.gpl2Plus;
platforms = platforms.all;
maintainers = with maintainers; [ minijackson ];
};
extraBuildInputs = [ libarchive lzma bzip2 zlib lz4 lzo openssl ];
};
}; in self

@ -1,5 +1,10 @@
{ lib, makeWrapper, buildEnv, kodi, addons }:
let
# linux distros are supposed to provide pillow and pycryptodome
requiredPythonPackages = with kodi.pythonPackages; [ pillow pycryptodome] ++ addons;
in
buildEnv {
name = "${kodi.name}-env";
@ -13,7 +18,7 @@ buildEnv {
for exe in kodi{,-standalone}
do
makeWrapper ${kodi}/bin/$exe $out/bin/$exe \
--prefix PYTHONPATH : ${kodi.pythonPackages.makePythonPath addons} \
--prefix PYTHONPATH : ${kodi.pythonPackages.makePythonPath requiredPythonPackages} \
--prefix KODI_HOME : $out/share/kodi \
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
(lib.concatMap

@ -1,29 +0,0 @@
diff --git a/plugin.video.yatp/server.py b/plugin.video.yatp/server.py
index 1adcbb5..488b72c 100644
--- a/plugin.video.yatp/server.py
+++ b/plugin.video.yatp/server.py
@@ -20,24 +20,8 @@ addon = Addon()
_ = addon.initialize_gettext()
addon.log_notice('Starting Torrent Server...')
-# A monkey-patch to set the necessary librorrent version
-librorrent_addon = Addon('script.module.libtorrent')
-orig_custom_version = librorrent_addon.get_setting('custom_version', False)
-orig_set_version = librorrent_addon.get_setting('set_version', False)
-librorrent_addon.set_setting('custom_version', 'true')
-if addon.libtorrent_version == '1.0.9':
- librorrent_addon.set_setting('set_version', '4')
-elif addon.libtorrent_version == '1.1.0':
- librorrent_addon.set_setting('set_version', '5')
-elif addon.libtorrent_version == '1.1.1':
- librorrent_addon.set_setting('set_version', '6')
-else:
- librorrent_addon.set_setting('set_version', '0')
-
from libs.server import wsgi_app
-librorrent_addon.set_setting('custom_version', orig_custom_version)
-librorrent_addon.set_setting('set_version', orig_set_version)
# ======
if addon.enable_limits:

@ -17,6 +17,7 @@
, libv4l
, x264
, curl
, wayland
, xorg
, makeWrapper
, pkg-config
@ -67,6 +68,7 @@ in mkDerivation rec {
qtx11extras
qtsvg
speex
wayland
x264
libvlc
makeWrapper

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "bats";
version = "1.2.1";
version = "1.3.0";
src = fetchzip {
url = "https://github.com/bats-core/bats-core/archive/v${version}.tar.gz";
hash = "sha256-grB/rJaDU0fuw4Hm3/9nI2px8KZnSWqRjTJPd7Mmb7s=";
hash = "sha256-+dboExOx2YELxV8Cwk9SVwk9G3p8EoP0LdaJ3o7GT6c=";
};
nativeBuildInputs = [ makeWrapper ];
@ -22,6 +22,9 @@ stdenv.mkDerivation rec {
inherit doCheck;
checkPhase = ''
# TODO: cut if https://github.com/bats-core/bats-core/issues/418 allows
sed -i '/test works even if PATH is reset/a skip' test/bats.bats
# test generates file with absolute shebang dynamically
substituteInPlace test/install.bats --replace \
"/usr/bin/env bash" "${bash}/bin/bash"

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "rakudo";
version = "2020.12";
version = "2021.02.1";
src = fetchurl {
url = "https://www.rakudo.org/dl/rakudo/rakudo-${version}.tar.gz";
sha256 = "1g3ciwhlac85d6l2kqslw8pm4bjjd1z79m1c5ll0fxmr6awgpk67";
sha256 = "1xwqx4357bw7h5pdmwxm5wxh8wjvrcdk4rvr3wyrhg1wzy5qvsn8";
};
buildInputs = [ icu zlib gmp perl ];

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
pname = "moarvm";
version = "2020.12";
version = "2021.02";
src = fetchurl {
url = "https://www.moarvm.org/releases/MoarVM-${version}.tar.gz";
sha256 = "18iys1bdb92asggrsz7sg1hh76j7kq63c3fgg33fnla18qf4z488";
sha256 = "08ri9mvbk97qfxcy6lj4cb7j3a789ck052m2vqfhis3vkrkw780r";
};
buildInputs = [ perl ] ++ lib.optionals stdenv.isDarwin [ CoreServices ApplicationServices ];

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "nqp";
version = "2020.12";
version = "2021.02";
src = fetchurl {
url = "https://github.com/raku/nqp/releases/download/${version}/nqp-${version}.tar.gz";
sha256 = "13h64d41fwggc3lg4bpllg4jrp64clm7nmnw4g2jyjl47cy5ni7x";
sha256 = "1vyl6x811f8mbdnp34yj6kfmfpxp2yfrr8cqf1w47rzmr741sjyj";
};
buildInputs = [ perl ];

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "primesieve";
version = "7.5";
version = "7.6";
nativeBuildInputs = [cmake];
src = fetchurl {
url = "https://github.com/kimwalisch/primesieve/archive/v${version}.tar.gz";
sha256 = "0g60br3p8di92jx3pr2bb51xh15gg57l7qvwzwn7xf7l585hgi7v";
sha256 = "sha256-SFZp6Pmmx05SiUfSdN9wXxPKrydtRg0PA3uNvAycCpk=";
};
meta = with lib; {

@ -0,0 +1,24 @@
{ lib, pythonOlder, buildPythonPackage, fetchPypi, pytestCheckHook }:
buildPythonPackage rec {
pname = "ajsonrpc";
version = "1.1.0";
disabled = pythonOlder "3.5";
src = fetchPypi {
inherit pname version;
sha256 = "1b5r8975wdnk3qnc1qjnn4lkxmqcir3brbwnxml9ii90dnsw408a";
};
checkInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "ajsonrpc" ];
meta = with lib; {
description = "Async JSON-RPC 2.0 protocol + asyncio server";
homepage = "https://github.com/pavlov99/ajsonrpc";
license = licenses.mit;
maintainers = with maintainers; [ oxzi ];
};
}

@ -6,13 +6,13 @@
}:
buildPythonPackage rec {
version = "1.0.0";
version = "2.0.0";
pname = "azure-mgmt-netapp";
disabled = isPy27;
src = fetchPypi {
inherit pname version;
sha256 = "e2c0cecd634c0a106e389f39ad767bfd1d718d90692e4e3c9664b1fe9a792ade";
sha256 = "ff3b663e36c961e86fc0cdbd6f9fb9fb863d3e7db9035fe713af7299e809ee5e";
extension = "zip";
};

@ -2,36 +2,31 @@
, buildPythonPackage
, isPy3k
, fetchPypi
, html5lib
, wcwidth
, setuptools
, pytest
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "ftfy";
version = "5.8";
version = "5.9";
disabled = !isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "081p5z20dirrf1i3nshylc31qd5mbxibjc7gzj8x4isbiizpdisi";
sha256 = "8c4fb2863c0b82eae2ab3cf353d9ade268dfbde863d322f78d6a9fd5cefb31e9";
};
propagatedBuildInputs = [
html5lib
wcwidth
setuptools
];
checkInputs = [
pytest
pytestCheckHook
];
# We suffix PATH like this because the tests want the ftfy executable
checkPhase = ''
PATH=$out/bin:$PATH pytest
preCheck = ''
export PATH=$out/bin:$PATH
'';
meta = with lib; {

@ -11,11 +11,11 @@
buildPythonPackage rec {
pname = "google-cloud-bigquery-datatransfer";
version = "3.0.0";
version = "3.0.1";
src = fetchPypi {
inherit pname version;
sha256 = "0hmsqvs2srmqcwmli48vd5vw829zax3pwj63fsxig6sdhjlf6j7j";
sha256 = "c5669410018eb41cecf6f9c90136d24d0ca9ed141bda8fbb3d52cd3de7162960";
};
propagatedBuildInputs = [ google-api-core libcst proto-plus ];

@ -17,11 +17,11 @@
buildPythonPackage rec {
pname = "google-cloud-bigquery";
version = "2.11.0";
version = "2.12.0";
src = fetchPypi {
inherit pname version;
sha256 = "d8f8464188e3eb03925a4f4acbf4e8fbfbde84a06145bd8a52c6b736113713ae";
sha256 = "484bb733e5dd14bb82d28480a5d7f540b8ee59f081fcf32782546b717180d1b8";
};
propagatedBuildInputs = [

@ -2,7 +2,7 @@
buildPythonPackage rec {
pname = "mergedeep";
version = "1.3.1";
version = "1.3.4";
disabled = isPy27;
# PyPI tarball doesn't include tests directory
@ -10,7 +10,7 @@ buildPythonPackage rec {
owner = "clarketm";
repo = "mergedeep";
rev = "v${version}";
sha256 = "1ryccb64hg438y1wsjlfp4ciq05q4c6khwhllwdnndm8cbkbrgph";
sha256 = "1msvvdzk33sxzgyvs4fs8dlsrsi7fjj038z83s0yw5h8m8d78469";
};
checkInputs = [ pytest ];

@ -5,11 +5,11 @@
buildPythonPackage rec {
pname = "minidump";
version = "0.0.13";
version = "0.0.15";
src = fetchPypi {
inherit pname version;
sha256 = "1w93yh2dz7llxjgv0jn7gf9praz7d5952is7idgh0lsyj67ri2ms";
sha256 = "sha256-IVlzAsnl1KhErxWPi96hUFlIX4IN3Y9t8OicckdYUv0=";
};
# Upstream doesn't have tests

@ -17,14 +17,14 @@
buildPythonPackage rec {
pname = "pyinsteon";
version = "1.0.9";
version = "1.0.10";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "sha256-+3tA+YdpTKDt7uOSl6Z1G8jTjpBJ8S9gjiQTacQSFTc=";
sha256 = "sha256-8b/PvMFHvYGVWw6ycLnL8n972cn+1QW/VTMiblMPam4=";
};
propagatedBuildInputs = [

@ -7,12 +7,12 @@
buildPythonPackage rec {
pname = "pymitv";
version = "1.4.3";
version = "1.5.0";
disabled = pythonOlder "3.5";
src = fetchPypi {
inherit pname version;
sha256 = "0jbs1zhqpnsyad3pd8cqy1byv8m5bq17ydc6crmrfkjbp6xvvg3x";
sha256 = "sha256-0n4IS5W3nvYwKdl6FVf4upRrFDGdYHohsaXadFy8d8w=";
};
propagatedBuildInputs = [ requests ];

@ -1,4 +1,4 @@
{ pkgs, callPackage }:
{ pkgs, callPackage, CoreServices }:
{
rust-analyzer-unwrapped = callPackage ./generic.nix rec {
@ -6,6 +6,8 @@
version = "unstable-${rev}";
sha256 = "150gydm0mg72bbhgjjks8qc5ldiqyzhai9z4yfh4f1s2bwdfh3yf";
cargoSha256 = "10l0lk5p11002q59dqa5yrrz6n6s11i7bmr1wnl141bxqvm873q2";
inherit CoreServices;
};
rust-analyzer = callPackage ./wrapper.nix {} {

@ -1,4 +1,5 @@
{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin, cmake
{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, cmake
, libiconv
, useMimalloc ? false
, doCheck ? true
@ -22,8 +23,10 @@ rustPlatform.buildRustPackage {
nativeBuildInputs = lib.optional useMimalloc cmake;
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin
[ darwin.apple_sdk.frameworks.CoreServices ];
buildInputs = lib.optionals stdenv.isDarwin [
CoreServices
libiconv
];
RUST_ANALYZER_REV = rev;

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, ronn, libpng, uthash
, xorg }:
{ lib, stdenv, coreutils, fetchFromGitHub, autoconf, automake, pkg-config, procps, ronn,
libpng, uthash , which, xnee, xorg, python3Packages }:
stdenv.mkDerivation rec {
version = "1.6.0";
@ -35,10 +35,22 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
doCheck = true;
checkInputs = [
coreutils
procps
python3Packages.xvfbwrapper
which
xnee
xorg.xeyes
xorg.xprop
];
meta = with lib; {
homepage = "https://github.com/sagb/alttab";
description = "X11 window switcher designed for minimalistic window managers or standalone X11 session";
license = licenses.gpl3;
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = [ maintainers.sgraf ];
};

@ -21,18 +21,18 @@ let
sources = name: system: {
x86_64-darwin = {
url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
sha256 = "sha256-aHFwcynt4xQ0T1J+OTSxgttU9W3VFJAqCwmQSdVg8Fk=";
sha256 = "09jhcv0ysq37k06b4rw3f9w33spvkkxx7fydraikm3zzvy28l58x";
};
x86_64-linux = {
url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
sha256 = "sha256-MfldToK7ZfdWZiZnI1qKI1o/dSiUcysxzUkTYMVZ5u4=";
sha256 = "1971fz8cv69y7kvirgw9n0xr7z9b1yyh4y43mg10lvv3glx46xcy";
};
}.${system};
in stdenv.mkDerivation rec {
pname = "google-cloud-sdk";
version = "328.0.0";
version = "332.0.0";
src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system);
@ -81,7 +81,8 @@ in stdenv.mkDerivation rec {
# setup bash completion
mkdir -p $out/share/bash-completion/completions
mv $out/google-cloud-sdk/completion.bash.inc $out/share/bash-completion/completions/gcloud.inc
mv $out/google-cloud-sdk/completion.bash.inc $out/share/bash-completion/completions/gcloud
ln -s $out/share/bash-completion/completions/gcloud $out/share/bash-completion/completions/gsutil
# This directory contains compiled mac binaries. We used crcmod from
# nixpkgs instead.

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, nixosTests
# Dependencies
, cmake
@ -101,6 +102,8 @@ stdenv.mkDerivation rec {
--prefix PATH : ${lib.makeBinPath [ openssh ]}
'';
passthru.tests.turbovnc-headless-server = nixosTests.turbovnc-headless-server;
meta = {
homepage = "https://turbovnc.org/";
license = lib.licenses.gpl2Plus;

@ -29,6 +29,6 @@ buildGoModule rec {
homepage = "https://github.com/natsukagami/mpd-mpris";
license = licenses.mit;
maintainers = with maintainers; [ doronbehar ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

@ -1,4 +1,4 @@
{lib, stdenv, fetchurl}:
{ lib, stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "cdi2iso";
@ -9,9 +9,13 @@ stdenv.mkDerivation rec {
sha256 = "0fj2fxhpr26z649m0ph71378c41ljflpyk89g87x8r1mc4rbq3kh";
};
postPatch = ''
substituteInPlace Makefile --replace "gcc" "${stdenv.cc.targetPrefix}cc"
'';
installPhase = ''
mkdir -p $out/bin/
cp cdi2iso $out/bin/
mkdir -p $out/bin
cp cdi2iso $out/bin
'';
meta = with lib; {
@ -19,6 +23,6 @@ stdenv.mkDerivation rec {
homepage = "https://sourceforge.net/projects/cdi2iso.berlios";
license = licenses.gpl2;
maintainers = with maintainers; [ hrdinka ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
};
buildPhase = ''
gcc -Wall -o dejsonlz4 src/dejsonlz4.c src/lz4.c
${stdenv.cc.targetPrefix}cc -o dejsonlz4 src/dejsonlz4.c src/lz4.c
'';
installPhase = ''
@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/avih/dejsonlz4";
license = licenses.bsd2;
maintainers = with maintainers; [ mt-caret ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

@ -1,8 +0,0 @@
source $stdenv/setup
installPhase() {
mkdir -p $out/bin
cp -p zdc zdu $out/bin
}
genericBuild

@ -1,16 +1,24 @@
{lib, stdenv, fetchurl}:
{ lib, stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "zdelta-2.1";
builder = ./builder.sh;
pname = "zdelta";
version = "2.1";
src = fetchurl {
url = "${meta.homepage}/downloads/${name}.tar.gz";
sha256 = "0k6y0r9kv5qiglnr2j4a0yvfynjkvm0pyv8ly28j0pr3w6rbxrh3";
url = "https://web.archive.org/web/20160316212948/http://cis.poly.edu/zdelta/downloads/zdelta-2.1.tar.gz";
sha256 = "sha256-WiQKWxJkINIwRBcdiuVLMDiupQ8gOsiXOEZvHDa5iFg=";
};
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
installPhase = ''
mkdir -p $out/bin
cp -p zdc zdu $out/bin
'';
meta = with lib; {
homepage = "http://cis.poly.edu/zdelta";
platforms = platforms.linux;
homepage = "https://web.archive.org/web/20160316212948/http://cis.poly.edu/zdelta/";
platforms = platforms.all;
license = licenses.zlib;
};
}

@ -25,6 +25,6 @@ buildPythonApplication rec {
homepage = "https://github.com/deadc0de6/catcli";
license = licenses.gpl3;
maintainers = with maintainers; [ petersjt014 ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/derikz/cpcfs/" ;
license = licenses.bsd2;
maintainers = [ ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/cpcsdk/idsk" ;
license = licenses.mit;
maintainers = [ ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

@ -9,6 +9,12 @@ stdenv.mkDerivation rec {
sha256 = "1pfgqbipwk36clhma2k365jkpvyy75ahswn8jczzys382jalpwgk";
};
makeFlags = [
"CC=${stdenv.cc.targetPrefix}cc"
"CLINK=${stdenv.cc.targetPrefix}cc"
"LINK=${stdenv.cc.targetPrefix}cc"
];
installPhase = ''
make EPSTOOL_ROOT=$out install
'';
@ -20,6 +26,6 @@ stdenv.mkDerivation rec {
homepage = "http://pages.cs.wisc.edu/~ghost/gsview/epstool.htm";
license = licenses.gpl2;
maintainers = [ maintainers.asppsa ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "A shell script that uploads images to imgur";
license = licenses.mit;
platforms = platforms.linux;
platforms = platforms.all;
maintainers = with maintainers; [ abbradar ];
homepage = "https://github.com/ram-on/imgurbash2";
};

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
description = "A tool designed for parsing and converting SPIR-V to other shader languages";
homepage = "https://github.com/KhronosGroup/SPIRV-Cross";
changelog = "https://github.com/KhronosGroup/SPIRV-Cross/releases/tag/${version}";
platforms = platforms.linux;
platforms = platforms.all;
license = licenses.asl20;
maintainers = with maintainers; [ Flakebi ];
};

@ -1,23 +1,23 @@
{ lib, stdenv, fetchFromGitHub, writeText, conf ? null }:
with lib;
stdenv.mkDerivation rec {
name = "abduco-2018-05-16";
pname = "abduco";
version = "2020-04-30";
src = fetchFromGitHub {
owner = "martanne";
repo = "abduco";
rev = "8f80aa8044d7ecf0e43a0294a09007d056b20e4c";
sha256 = "0wqcif633nbgnznn46j0sng9l0wncppw1x1c42f75b4p9hrph203";
rev = "8c32909a159aaa9484c82b71f05b7a73321eb491";
sha256 = "0a3p8xljhpk7zh203s75248blfir15smgw5jmszwbmdpy4mqzd53";
};
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
preBuild = lib.optionalString (conf != null)
"cp ${writeText "config.def.h" conf} config.def.h";
installFlags = [ "install-completion" ];
CFLAGS = lib.optionalString stdenv.isDarwin "-D_DARWIN_C_SOURCE";
meta = {
meta = with lib; {
homepage = "http://brain-dump.org/projects/abduco";
license = licenses.isc;
description = "Allows programs to be run independently from its controlling terminal";

@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
description = "Add directory bookmarks, distant listing, and distant editing to the command line";
maintainers = with maintainers; [ lethalman ];
license = licenses.gpl2;
platforms = platforms.linux;
platforms = platforms.all;
};
}

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Bash unit testing enterprise edition framework for professionals";
maintainers = with maintainers; [ pamplemousse ];
platforms = platforms.linux;
platforms = platforms.all;
license = licenses.gpl3Plus;
};
}

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
description = "A sed-like editor for binary files";
homepage = "http://bbe-.sourceforge.net/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
platforms = platforms.all;
maintainers = [ maintainers.hhm ];
};
}

@ -25,6 +25,6 @@ stdenv.mkDerivation rec {
homepage = "https://gitlab.linphone.org/BC/public/bcunit";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ raskin jluttine ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

@ -23,6 +23,9 @@ in stdenv.mkDerivation {
sed -e 's|gcc|$CC|' \
conf-compile/defaults/host_link.sh \
> conf-compile/host_link.sh
sed -e 's|gcc|$CC|' \
conf-compile/defaults/host_compile.sh \
> conf-compile/host_compile.sh
echo "${skawarePackages.skalibs.lib}/lib/skalibs/sysdeps" \
> conf-compile/depend_skalibs_sysdeps

@ -23,7 +23,7 @@ stdenv.mkDerivation {
'';
homepage = "https://github.com/qw3rtman/git-fire";
license = licenses.mit;
platforms = platforms.linux;
platforms = platforms.all;
maintainers = [ maintainers.swflint ];
};
}

@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
homepage = "https://git.decadent.org.uk/gitweb/?p=ministat.git";
license = licenses.beerware;
maintainers = [ maintainers.dezgeg ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
'';
license = licenses.isc;
maintainers = [ maintainers.matthiasbeyer ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

@ -0,0 +1,36 @@
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, pkg-config
, gtk3
}:
stdenv.mkDerivation rec {
pname = "usbview";
version = "2.0";
src = fetchFromGitHub {
owner = "gregkh";
repo = "usbview";
rev = "v${version}";
sha256 = "1cw5jjpidjn34rxdjslpdlj99k4dqaq1kz6mplv5hgjdddijvn5p";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
gtk3
];
meta = with lib; {
description = "USB viewer for Linux";
license = licenses.gpl2Only;
homepage = "http://www.kroah.com/linux-usb/";
maintainers = with maintainers; [ shamilton ];
platforms = platforms.linux;
};
}

@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
'';
license = licenses.mit;
maintainers = [ maintainers.matthiasbeyer ];
platforms = platforms.linux;
platforms = platforms.all;
};
}

@ -1,12 +1,11 @@
{ lib, stdenv, fetchurl }:
{ lib, gccStdenv, fetchurl }:
stdenv.mkDerivation rec {
baseName = "altermime";
name = "${baseName}-${version}";
gccStdenv.mkDerivation rec {
pname = "altermime";
version = "0.3.11";
src = fetchurl {
url = "https://pldaniels.com/${baseName}/${name}.tar.gz";
url = "https://pldaniels.com/${pname}/${pname}-${version}.tar.gz";
sha256 = "15zxg6spcmd35r6xbidq2fgcg2nzyv1sbbqds08lzll70mqx4pj7";
};
@ -19,14 +18,14 @@ stdenv.mkDerivation rec {
];
postPatch = ''
sed -i Makefile -e "s@/usr/local@$out@"
mkdir -p "$out/bin"
mkdir -p $out/bin
substituteInPlace Makefile --replace "/usr/local" "$out"
'';
meta = with lib; {
description = "MIME alteration tool";
maintainers = [ maintainers.raskin ];
platforms = platforms.linux;
platforms = platforms.all;
license.fullName = "alterMIME LICENSE";
downloadPage = "https://pldaniels.com/altermime/";
};

@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
'';
homepage = "http://www.mavetju.org/unix/general.php";
license = licenses.bsd2;
platforms = platforms.linux;
platforms = platforms.unix;
};
}

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/httperf/httperf";
maintainers = with maintainers; [ nand0p ];
license = licenses.gpl2;
platforms = platforms.linux;
platforms = platforms.all;
};
}

@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
buildGoModule rec {
pname = "kapp";
version = "0.36.0";
@ -14,6 +14,15 @@ buildGoModule rec {
subPackages = [ "cmd/kapp" ];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
for shell in bash fish zsh; do
$out/bin/kapp completion $shell > kapp.$shell
installShellCompletion kapp.$shell
done
'';
meta = with lib; {
description = "CLI tool that encourages Kubernetes users to manage bulk resources with an application abstraction for grouping";
homepage = "https://get-kapp.io";

@ -3325,6 +3325,8 @@ in
usbsdmux = callPackage ../development/tools/misc/usbsdmux { };
usbview = callPackage ../tools/misc/usbview { };
anthy = callPackage ../tools/inputmethods/anthy { };
evdevremapkeys = callPackage ../tools/inputmethods/evdevremapkeys { };
@ -11087,7 +11089,9 @@ in
rustracerd = callPackage ../development/tools/rust/racerd {
inherit (darwin.apple_sdk.frameworks) Security;
};
inherit (callPackage ../development/tools/rust/rust-analyzer { })
inherit (callPackage ../development/tools/rust/rust-analyzer {
inherit (darwin.apple_sdk.frameworks) CoreServices;
})
rust-analyzer-unwrapped rust-analyzer;
rust-bindgen = callPackage ../development/tools/rust/bindgen { };
rust-cbindgen = callPackage ../development/tools/rust/cbindgen {

@ -0,0 +1,113 @@
{ lib, newScope, kodi }:
with lib;
let self = rec {
addonDir = "/share/kodi/addons";
rel = "Matrix";
callPackage = newScope self;
inherit kodi;
# Convert derivation to a kodi module. Stolen from ../../../top-level/python-packages.nix
toKodiAddon = drv: drv.overrideAttrs (oldAttrs: {
# Use passthru in order to prevent rebuilds when possible.
passthru = (oldAttrs.passthru or {}) // {
kodiAddonFor = kodi;
requiredKodiAddons = requiredKodiAddons drv.propagatedBuildInputs;
};
});
# Check whether a derivation provides a Kodi addon.
hasKodiAddon = drv: drv ? kodiAddonFor && drv.kodiAddonFor == kodi;
# Get list of required Kodi addons given a list of derivations.
requiredKodiAddons = drvs:
let
modules = filter hasKodiAddon drvs;
in
unique (modules ++ concatLists (catAttrs "requiredKodiAddons" modules));
# package update scripts
addonUpdateScript = callPackage ../applications/video/kodi-packages/addon-update-script { };
# package builders
buildKodiAddon = callPackage ../applications/video/kodi/build-kodi-addon.nix { };
buildKodiBinaryAddon = callPackage ../applications/video/kodi/build-kodi-binary-addon.nix { };
# regular packages
kodi-platform = callPackage ../applications/video/kodi-packages/kodi-platform { };
# addon packages
controllers = {
default = callPackage ../applications/video/kodi-packages/controllers { controller = "default"; };
dreamcast = callPackage ../applications/video/kodi-packages/controllers { controller = "dreamcast"; };
gba = callPackage ../applications/video/kodi-packages/controllers { controller = "gba"; };
genesis = callPackage ../applications/video/kodi-packages/controllers { controller = "genesis"; };
mouse = callPackage ../applications/video/kodi-packages/controllers { controller = "mouse"; };
n64 = callPackage ../applications/video/kodi-packages/controllers { controller = "n64"; };
nes = callPackage ../applications/video/kodi-packages/controllers { controller = "nes"; };
ps = callPackage ../applications/video/kodi-packages/controllers { controller = "ps"; };
snes = callPackage ../applications/video/kodi-packages/controllers { controller = "snes"; };
};
joystick = callPackage ../applications/video/kodi-packages/joystick { };
netflix = callPackage ../applications/video/kodi-packages/netflix { };
svtplay = callPackage ../applications/video/kodi-packages/svtplay { };
steam-controller = callPackage ../applications/video/kodi-packages/steam-controller { };
steam-launcher = callPackage ../applications/video/kodi-packages/steam-launcher { };
pdfreader = callPackage ../applications/video/kodi-packages/pdfreader { };
pvr-hts = callPackage ../applications/video/kodi-packages/pvr-hts { };
pvr-hdhomerun = callPackage ../applications/video/kodi-packages/pvr-hdhomerun { };
pvr-iptvsimple = callPackage ../applications/video/kodi-packages/pvr-iptvsimple { };
osmc-skin = callPackage ../applications/video/kodi-packages/osmc-skin { };
vfs-sftp = callPackage ../applications/video/kodi-packages/vfs-sftp { };
vfs-libarchive = callPackage ../applications/video/kodi-packages/vfs-libarchive { };
# addon packages (dependencies)
certifi = callPackage ../applications/video/kodi-packages/certifi { };
chardet = callPackage ../applications/video/kodi-packages/chardet { };
idna = callPackage ../applications/video/kodi-packages/idna { };
inputstream-adaptive = callPackage ../applications/video/kodi-packages/inputstream-adaptive { };
inputstreamhelper = callPackage ../applications/video/kodi-packages/inputstreamhelper { };
myconnpy = callPackage ../applications/video/kodi-packages/myconnpy { };
requests = callPackage ../applications/video/kodi-packages/requests { };
signals = callPackage ../applications/video/kodi-packages/signals { };
urllib3 = callPackage ../applications/video/kodi-packages/urllib3 { };
}; in self

@ -340,6 +340,8 @@ in {
ajpy = callPackage ../development/python-modules/ajpy { };
ajsonrpc = callPackage ../development/python-modules/ajsonrpc { };
alabaster = callPackage ../development/python-modules/alabaster { };
alarmdecoder = callPackage ../development/python-modules/alarmdecoder { };

Loading…
Cancel
Save