Merge master into staging-next

Changed files
+1170 -704
maintainers
nixos
pkgs
applications
graphics
freecad
gimp
networking
cluster
waypoint
ftp
filezilla
version-management
gitlab
video
kodi
kodi-packages
addon-update-script
certifi
chardet
controllers
idna
inputstream-adaptive
inputstreamhelper
joystick
kodi-platform
myconnpy
netflix
osmc-skin
pdfreader
pvr-hdhomerun
pvr-hts
pvr-iptvsimple
requests
signals
steam-controller
steam-launcher
svtplay
urllib3
vfs-libarchive
vfs-sftp
obs-studio
development
interpreters
libraries
science
math
primesieve
python-modules
ajsonrpc
azure-mgmt-netapp
ftfy
google-cloud-bigquery
google-cloud-bigquery-datatransfer
mergedeep
minidump
pyinsteon
pymitv
tools
rust
rust-analyzer
tools
X11
alttab
admin
google-cloud-sdk
turbovnc
audio
mpd-mpris
cd-dvd
cdi2iso
compression
filesystems
catcli
cpcfs
idsk
graphics
epstool
imgurbash2
spirv-cross
misc
abduco
apparix
bash_unit
bbe
bcunit
fdtools
git-fire
ministat
sfeed
usbview
vimer
networking
altermime
dhcping
httperf
kapp
top-level
+6
maintainers/maintainer-list.nix
···
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";
+1
maintainers/team-list.nix
···
timokau
omasanori
raskin
+
collares
];
scope = "Maintain SageMath and the dependencies that are likely to break it.";
};
+1
nixos/modules/module-list.nix
···
./programs/tmux.nix
./programs/traceroute.nix
./programs/tsm-client.nix
+
./programs/turbovnc.nix
./programs/udevil.nix
./programs/usbtop.nix
./programs/vim.nix
+54
nixos/modules/programs/turbovnc.nix
···
+
# 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;
+
+
};
+
}
+1
nixos/tests/all-tests.nix
···
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 {};
+171
nixos/tests/turbovnc-headless-server.nix
···
+
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")
+
'';
+
+
})
+2
pkgs/applications/graphics/freecad/default.nix
···
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; {
+7
pkgs/applications/graphics/gimp/default.nix
···
{ stdenv
, lib
, fetchurl
+
, fetchpatch
, substituteAll
, autoreconfHook
, pkg-config
···
# 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 = [
+3 -3
pkgs/applications/networking/cluster/waypoint/default.nix
···
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 ];
+2 -2
pkgs/applications/networking/ftp/filezilla/default.nix
···
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
+4 -4
pkgs/applications/version-management/gitlab/data.json
···
{
-
"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"
+2 -2
pkgs/applications/version-management/gitlab/gitaly/default.nix
···
};
};
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=";
+23
pkgs/applications/video/kodi-packages/addon-update-script/default.nix
···
+
{ 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 ]
+21
pkgs/applications/video/kodi-packages/certifi/default.nix
···
+
{ 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;
+
};
+
}
+21
pkgs/applications/video/kodi-packages/chardet/default.nix
···
+
{ 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;
+
};
+
}
+21
pkgs/applications/video/kodi-packages/controllers/default.nix
···
+
{ 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 ];
+
};
+
}
+21
pkgs/applications/video/kodi-packages/idna/default.nix
···
+
{ 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;
+
};
+
}
+28
pkgs/applications/video/kodi-packages/inputstream-adaptive/default.nix
···
+
{ 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 ];
+
};
+
}
+21
pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix
···
+
{ 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;
+
};
+
}
+21
pkgs/applications/video/kodi-packages/joystick/default.nix
···
+
{ 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 ];
+
}
+15
pkgs/applications/video/kodi-packages/kodi-platform/default.nix
···
+
{ 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 ];
+
}
+21
pkgs/applications/video/kodi-packages/myconnpy/default.nix
···
+
{ 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;
+
};
+
}
+26
pkgs/applications/video/kodi-packages/netflix/default.nix
···
+
{ 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;
+
};
+
}
+21
pkgs/applications/video/kodi-packages/osmc-skin/default.nix
···
+
{ 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;
+
};
+
}
+19
pkgs/applications/video/kodi-packages/pdfreader/default.nix
···
+
{ 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 ];
+
};
+
}
+22
pkgs/applications/video/kodi-packages/pvr-hdhomerun/default.nix
···
+
{ 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 ];
+
}
+21
pkgs/applications/video/kodi-packages/pvr-hts/default.nix
···
+
{ 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 ];
+
};
+
+
}
+22
pkgs/applications/video/kodi-packages/pvr-iptvsimple/default.nix
···
+
{ 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 ];
+
}
+28
pkgs/applications/video/kodi-packages/requests/default.nix
···
+
{ 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;
+
};
+
}
+21
pkgs/applications/video/kodi-packages/signals/default.nix
···
+
{ 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;
+
};
+
}
+22
pkgs/applications/video/kodi-packages/steam-controller/default.nix
···
+
{ 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 ];
+
};
+
+
}
+28
pkgs/applications/video/kodi-packages/steam-launcher/default.nix
···
+
{ 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 ];
+
};
+
}
+26
pkgs/applications/video/kodi-packages/svtplay/default.nix
···
+
{ 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 ];
+
};
+
}
+21
pkgs/applications/video/kodi-packages/urllib3/default.nix
···
+
{ 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;
+
};
+
}
+22
pkgs/applications/video/kodi-packages/vfs-libarchive/default.nix
···
+
{ 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 ];
+
}
+22
pkgs/applications/video/kodi-packages/vfs-sftp/default.nix
···
+
{ 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 ];
+
}
+21
pkgs/applications/video/kodi/build-kodi-addon.nix
···
+
{ 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))
+31
pkgs/applications/video/kodi/build-kodi-binary-addon.nix
···
+
{ 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 -1
pkgs/applications/video/kodi/default.nix
···
{ 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 // {
-560
pkgs/applications/video/kodi/packages.nix
···
-
{ 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
+6 -1
pkgs/applications/video/kodi/wrapper.nix
···
{ 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";
···
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
-29
pkgs/applications/video/kodi/yatp/dont-monkey.patch
···
-
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:
+2
pkgs/applications/video/obs-studio/default.nix
···
, libv4l
, x264
, curl
+
, wayland
, xorg
, makeWrapper
, pkg-config
···
qtx11extras
qtsvg
speex
+
wayland
x264
libvlc
makeWrapper
+5 -2
pkgs/development/interpreters/bats/default.nix
···
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 ];
···
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 -2
pkgs/development/interpreters/rakudo/default.nix
···
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 ];
+2 -2
pkgs/development/interpreters/rakudo/moarvm.nix
···
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 -2
pkgs/development/interpreters/rakudo/nqp.nix
···
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 -2
pkgs/development/libraries/science/math/primesieve/default.nix
···
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; {
+24
pkgs/development/python-modules/ajsonrpc/default.nix
···
+
{ 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 ];
+
};
+
}
+2 -2
pkgs/development/python-modules/azure-mgmt-netapp/default.nix
···
}:
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";
};
+6 -11
pkgs/development/python-modules/ftfy/default.nix
···
, 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; {
+2 -2
pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
···
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 ];
+2 -2
pkgs/development/python-modules/google-cloud-bigquery/default.nix
···
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 -2
pkgs/development/python-modules/mergedeep/default.nix
···
buildPythonPackage rec {
pname = "mergedeep";
-
version = "1.3.1";
+
version = "1.3.4";
disabled = isPy27;
# PyPI tarball doesn't include tests directory
···
owner = "clarketm";
repo = "mergedeep";
rev = "v${version}";
-
sha256 = "1ryccb64hg438y1wsjlfp4ciq05q4c6khwhllwdnndm8cbkbrgph";
+
sha256 = "1msvvdzk33sxzgyvs4fs8dlsrsi7fjj038z83s0yw5h8m8d78469";
};
checkInputs = [ pytest ];
+2 -2
pkgs/development/python-modules/minidump/default.nix
···
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
+2 -2
pkgs/development/python-modules/pyinsteon/default.nix
···
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 = [
+2 -2
pkgs/development/python-modules/pymitv/default.nix
···
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 ];
+3 -1
pkgs/development/tools/rust/rust-analyzer/default.nix
···
-
{ pkgs, callPackage }:
+
{ pkgs, callPackage, CoreServices }:
{
rust-analyzer-unwrapped = callPackage ./generic.nix rec {
···
version = "unstable-${rev}";
sha256 = "150gydm0mg72bbhgjjks8qc5ldiqyzhai9z4yfh4f1s2bwdfh3yf";
cargoSha256 = "10l0lk5p11002q59dqa5yrrz6n6s11i7bmr1wnl141bxqvm873q2";
+
+
inherit CoreServices;
};
rust-analyzer = callPackage ./wrapper.nix {} {
+6 -3
pkgs/development/tools/rust/rust-analyzer/generic.nix
···
-
{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin, cmake
+
{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, cmake
+
, libiconv
, useMimalloc ? false
, doCheck ? true
···
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;
+15 -3
pkgs/tools/X11/alttab/default.nix
···
-
{ 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";
···
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 ];
};
+5 -4
pkgs/tools/admin/google-cloud-sdk/default.nix
···
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);
···
# 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.
+3
pkgs/tools/admin/turbovnc/default.nix
···
{ lib
, stdenv
, fetchFromGitHub
+
, nixosTests
# Dependencies
, cmake
···
--prefix JAVA_HOME : "${lib.makeLibraryPath [ openjdk ]}/openjdk" \
--prefix PATH : ${lib.makeBinPath [ openssh ]}
'';
+
+
passthru.tests.turbovnc-headless-server = nixosTests.turbovnc-headless-server;
meta = {
homepage = "https://turbovnc.org/";
+1 -1
pkgs/tools/audio/mpd-mpris/default.nix
···
homepage = "https://github.com/natsukagami/mpd-mpris";
license = licenses.mit;
maintainers = with maintainers; [ doronbehar ];
-
platforms = platforms.linux;
+
platforms = platforms.unix;
};
}
+8 -4
pkgs/tools/cd-dvd/cdi2iso/default.nix
···
-
{lib, stdenv, fetchurl}:
+
{ lib, stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "cdi2iso";
···
url = "mirror://sourceforge/cdi2iso.berlios/${pname}-${version}-src.tar.gz";
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; {
···
homepage = "https://sourceforge.net/projects/cdi2iso.berlios";
license = licenses.gpl2;
maintainers = with maintainers; [ hrdinka ];
-
platforms = platforms.linux;
+
platforms = platforms.all;
};
}
+2 -2
pkgs/tools/compression/dejsonlz4/default.nix
···
};
buildPhase = ''
-
gcc -Wall -o dejsonlz4 src/dejsonlz4.c src/lz4.c
+
${stdenv.cc.targetPrefix}cc -o dejsonlz4 src/dejsonlz4.c src/lz4.c
'';
installPhase = ''
···
homepage = "https://github.com/avih/dejsonlz4";
license = licenses.bsd2;
maintainers = with maintainers; [ mt-caret ];
-
platforms = platforms.linux;
+
platforms = platforms.all;
};
}
-8
pkgs/tools/compression/zdelta/builder.sh
···
-
source $stdenv/setup
-
-
installPhase() {
-
mkdir -p $out/bin
-
cp -p zdc zdu $out/bin
-
}
-
-
genericBuild
+15 -7
pkgs/tools/compression/zdelta/default.nix
···
-
{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;
};
}
+1 -1
pkgs/tools/filesystems/catcli/default.nix
···
homepage = "https://github.com/deadc0de6/catcli";
license = licenses.gpl3;
maintainers = with maintainers; [ petersjt014 ];
-
platforms = platforms.linux;
+
platforms = platforms.all;
};
}
+1 -1
pkgs/tools/filesystems/cpcfs/default.nix
···
homepage = "https://github.com/derikz/cpcfs/" ;
license = licenses.bsd2;
maintainers = [ ];
-
platforms = platforms.linux;
+
platforms = platforms.all;
};
}
+1 -1
pkgs/tools/filesystems/idsk/default.nix
···
homepage = "https://github.com/cpcsdk/idsk" ;
license = licenses.mit;
maintainers = [ ];
-
platforms = platforms.linux;
+
platforms = platforms.all;
};
}
+7 -1
pkgs/tools/graphics/epstool/default.nix
···
sha256 = "1pfgqbipwk36clhma2k365jkpvyy75ahswn8jczzys382jalpwgk";
};
+
makeFlags = [
+
"CC=${stdenv.cc.targetPrefix}cc"
+
"CLINK=${stdenv.cc.targetPrefix}cc"
+
"LINK=${stdenv.cc.targetPrefix}cc"
+
];
+
installPhase = ''
make EPSTOOL_ROOT=$out install
'';
···
homepage = "http://pages.cs.wisc.edu/~ghost/gsview/epstool.htm";
license = licenses.gpl2;
maintainers = [ maintainers.asppsa ];
-
platforms = platforms.linux;
+
platforms = platforms.all;
};
}
+1 -1
pkgs/tools/graphics/imgurbash2/default.nix
···
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";
};
+1 -1
pkgs/tools/graphics/spirv-cross/default.nix
···
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 ];
};
+8 -8
pkgs/tools/misc/abduco/default.nix
···
{ 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";
+1 -1
pkgs/tools/misc/apparix/default.nix
···
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;
};
}
+1 -1
pkgs/tools/misc/bash_unit/default.nix
···
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;
};
}
+1 -1
pkgs/tools/misc/bbe/default.nix
···
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 ];
};
}
+1 -1
pkgs/tools/misc/bcunit/default.nix
···
homepage = "https://gitlab.linphone.org/BC/public/bcunit";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ raskin jluttine ];
-
platforms = platforms.linux;
+
platforms = platforms.all;
};
}
+3
pkgs/tools/misc/fdtools/default.nix
···
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
+1 -1
pkgs/tools/misc/git-fire/default.nix
···
'';
homepage = "https://github.com/qw3rtman/git-fire";
license = licenses.mit;
-
platforms = platforms.linux;
+
platforms = platforms.all;
maintainers = [ maintainers.swflint ];
};
}
+1 -1
pkgs/tools/misc/ministat/default.nix
···
homepage = "https://git.decadent.org.uk/gitweb/?p=ministat.git";
license = licenses.beerware;
maintainers = [ maintainers.dezgeg ];
-
platforms = platforms.linux;
+
platforms = platforms.all;
};
}
+1 -1
pkgs/tools/misc/sfeed/default.nix
···
'';
license = licenses.isc;
maintainers = [ maintainers.matthiasbeyer ];
-
platforms = platforms.linux;
+
platforms = platforms.all;
};
}
+36
pkgs/tools/misc/usbview/default.nix
···
+
{ 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;
+
};
+
}
+1 -1
pkgs/tools/misc/vimer/default.nix
···
'';
license = licenses.mit;
maintainers = [ maintainers.matthiasbeyer ];
-
platforms = platforms.linux;
+
platforms = platforms.all;
};
}
+7 -8
pkgs/tools/networking/altermime/default.nix
···
-
{ 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";
};
···
];
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/";
};
+1 -1
pkgs/tools/networking/dhcping/default.nix
···
'';
homepage = "http://www.mavetju.org/unix/general.php";
license = licenses.bsd2;
-
platforms = platforms.linux;
+
platforms = platforms.unix;
};
}
+1 -1
pkgs/tools/networking/httperf/default.nix
···
homepage = "https://github.com/httperf/httperf";
maintainers = with maintainers; [ nand0p ];
license = licenses.gpl2;
-
platforms = platforms.linux;
+
platforms = platforms.all;
};
}
+10 -1
pkgs/tools/networking/kapp/default.nix
···
-
{ lib, buildGoModule, fetchFromGitHub }:
+
{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
buildGoModule rec {
pname = "kapp";
version = "0.36.0";
···
vendorSha256 = null;
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";
+5 -1
pkgs/top-level/all-packages.nix
···
usbsdmux = callPackage ../development/tools/misc/usbsdmux { };
+
usbview = callPackage ../tools/misc/usbview { };
+
anthy = callPackage ../tools/inputmethods/anthy { };
evdevremapkeys = callPackage ../tools/inputmethods/evdevremapkeys { };
···
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 {
+113
pkgs/top-level/kodi-packages.nix
···
+
{ 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
+2
pkgs/top-level/python-packages.nix
···
ajpy = callPackage ../development/python-modules/ajpy { };
+
ajsonrpc = callPackage ../development/python-modules/ajsonrpc { };
+
alabaster = callPackage ../development/python-modules/alabaster { };
alarmdecoder = callPackage ../development/python-modules/alarmdecoder { };