Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-03-19 00:41:01 +00:00 committed by GitHub
commit d73a492e83
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
91 changed files with 1170 additions and 704 deletions

View File

@ -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";

View File

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

View File

@ -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

View File

@ -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;
};
}

View File

@ -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 {};

View File

@ -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")
'';
})

View File

@ -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; {

View File

@ -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 = [

View File

@ -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 ];

View File

@ -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

View File

@ -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"

View File

@ -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=";

View File

@ -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 ]

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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 ];
};
}

View File

@ -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;
};
}

View File

@ -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 ];
};
}

View File

@ -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;
};
}

View File

@ -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 ];
}

View File

@ -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 ];
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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 ];
};
}

View File

@ -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 ];
}

View File

@ -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 ];
};
}

View File

@ -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 ];
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -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 ];
};
}

View File

@ -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;
};
}

View File

@ -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 ];
}

View File

@ -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 ];
}

View File

@ -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))

View File

@ -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))

View File

@ -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 // {

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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"

View File

@ -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 ];

View File

@ -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 ];

View File

@ -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 ];

View File

@ -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; {

View File

@ -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 ];
};
}

View File

@ -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";
};

View File

@ -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; {

View File

@ -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 ];

View File

@ -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 = [

View File

@ -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 ];

View File

@ -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

View File

@ -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 = [

View File

@ -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 ];

View File

@ -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 {} {

View File

@ -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;

View File

@ -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 ];
};

View File

@ -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.

View File

@ -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;

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

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

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

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

View File

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

View File

@ -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;
};
}

View File

@ -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";
};

View File

@ -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 ];
};

View File

@ -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";

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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 ];
};
}

View File

@ -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;
};
}

View File

@ -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

View File

@ -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 ];
};
}

View File

@ -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;
};
}

View File

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

View File

@ -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;
};
}

View File

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

View File

@ -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/";
};

View File

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

View File

@ -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;
};
}

View File

@ -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";

View File

@ -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 {

View File

@ -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

View File

@ -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 { };