diff options
Diffstat (limited to 'pkgs/applications')
38 files changed, 198 insertions, 118 deletions
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix index 24f9f057b65..6c8ad8225f0 100644 --- a/pkgs/applications/audio/quodlibet/default.nix +++ b/pkgs/applications/audio/quodlibet/default.nix @@ -18,7 +18,7 @@ python3.pkgs.buildPythonApplication rec { nativeBuildInputs = [ wrapGAppsHook gettext ]; - checkInputs = [ gdk-pixbuf hicolor-icon-theme ] ++ (with python3.pkgs; [ pytest pytest_xdist polib xvfb-run dbus.daemon glibcLocales ]); + checkInputs = [ gdk-pixbuf hicolor-icon-theme ] ++ (with python3.pkgs; [ pytest pytest-xdist polib xvfb-run dbus.daemon glibcLocales ]); buildInputs = [ gnome.adwaita-icon-theme libsoup glib glib-networking gtk3 webkitgtk gdk-pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobject-introspection ] ++ (if xineBackend then [ xine-lib ] else with gst_all_1; diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix index a1cba439c49..6cc55650220 100644 --- a/pkgs/applications/audio/strawberry/default.nix +++ b/pkgs/applications/audio/strawberry/default.nix @@ -19,18 +19,19 @@ , protobuf , sqlite , taglib -, libpulseaudio ? null -, libselinux ? null -, libsepol ? null -, p11-kit ? null -, util-linux ? null +, libpulseaudio +, libselinux +, libsepol +, p11-kit +, util-linux , qtbase , qtx11extras , qttools , withGstreamer ? true -, gst_all_1 ? null +, glib-networking +, gst_all_1 , withVlc ? true -, libvlc ? null +, libvlc }: mkDerivation rec { @@ -61,20 +62,18 @@ mkDerivation rec { taglib qtbase qtx11extras - ] - ++ lib.optionals stdenv.isLinux [ + ] ++ lib.optionals stdenv.isLinux [ libpulseaudio libselinux libsepol p11-kit - ] - ++ lib.optionals withGstreamer (with gst_all_1; [ + ] ++ lib.optionals withGstreamer (with gst_all_1; [ + glib-networking gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly - ]) - ++ lib.optional withVlc libvlc; + ]) ++ lib.optional withVlc libvlc; nativeBuildInputs = [ cmake @@ -85,8 +84,11 @@ mkDerivation rec { util-linux ]; - postInstall = '' - qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0") + postInstall = lib.optionalString withGstreamer '' + qtWrapperArgs+=( + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" + --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" + ) ''; meta = with lib; { diff --git a/pkgs/applications/graphics/coreimage/default.nix b/pkgs/applications/graphics/coreimage/default.nix new file mode 100644 index 00000000000..1dcff1f6e8f --- /dev/null +++ b/pkgs/applications/graphics/coreimage/default.nix @@ -0,0 +1,31 @@ +{ mkDerivation, lib, fetchFromGitLab, libcprime, qtbase, cmake, ninja }: + +mkDerivation rec { + pname = "coreimage"; + version = "4.2.0"; + + src = fetchFromGitLab { + owner = "cubocore/coreapps"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-dxRHzSG5ea1MhpTjgZbFztV9mElEaeOK4NsmieSgf5Q"; + }; + + nativeBuildInputs = [ + cmake + ninja + ]; + + buildInputs = [ + qtbase + libcprime + ]; + + meta = with lib; { + description = "An image viewer from the C Suite"; + homepage = "https://gitlab.com/cubocore/coreapps/coreimage"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ dan4ik605743 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/graphics/cq-editor/default.nix b/pkgs/applications/graphics/cq-editor/default.nix index b9b2eb36873..33bae268c8a 100644 --- a/pkgs/applications/graphics/cq-editor/default.nix +++ b/pkgs/applications/graphics/cq-editor/default.nix @@ -41,7 +41,7 @@ mkDerivationWith python3Packages.buildPythonApplication rec { pytest pytest-xvfb pytest-mock - pytestcov + pytest-cov pytest-repeat pytest-qt ]; diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix index 68b4f7b3e56..c559e239c09 100644 --- a/pkgs/applications/misc/buku/default.nix +++ b/pkgs/applications/misc/buku/default.nix @@ -12,7 +12,7 @@ with python3.pkgs; buildPythonApplication rec { }; checkInputs = [ - pytestcov + pytest-cov hypothesis pytest pylint diff --git a/pkgs/applications/misc/cherrytree/default.nix b/pkgs/applications/misc/cherrytree/default.nix index ef307ce3460..daef73a5679 100644 --- a/pkgs/applications/misc/cherrytree/default.nix +++ b/pkgs/applications/misc/cherrytree/default.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation rec { pname = "cherrytree"; - version = "0.99.38"; + version = "0.99.39"; src = fetchFromGitHub { owner = "giuspen"; repo = "cherrytree"; rev = version; - sha256 = "sha256-04MRw6pMtJGxTMKwOzPNGg1T85SfVY5bMkF3gt2V0e0="; + sha256 = "sha256-QSRYtnZxLAaq42PvPd5+LxSzq/Hd/Cz5bquBTiGWnAE="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/coursera-dl/default.nix b/pkgs/applications/misc/coursera-dl/default.nix index 56938f5338d..954501c0b7f 100644 --- a/pkgs/applications/misc/coursera-dl/default.nix +++ b/pkgs/applications/misc/coursera-dl/default.nix @@ -18,7 +18,7 @@ in pythonPackages.buildPythonApplication rec { buildInputs = with pythonPackages; [ glibcLocales ]; - propagatedBuildInputs = with pythonPackages; [ attrs beautifulsoup4 ConfigArgParse keyring pyasn1 requests six urllib3 ]; + propagatedBuildInputs = with pythonPackages; [ attrs beautifulsoup4 configargparse keyring pyasn1 requests six urllib3 ]; checkInputs = with pythonPackages; [ pytest mock ]; diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix index 4197c1af040..28c965a72b5 100644 --- a/pkgs/applications/misc/electrum/default.nix +++ b/pkgs/applications/misc/electrum/default.nix @@ -20,7 +20,7 @@ }: let - version = "4.1.3"; + version = "4.1.5"; libsecp256k1_name = if stdenv.isLinux then "libsecp256k1.so.0" @@ -36,7 +36,7 @@ let owner = "spesmilo"; repo = "electrum"; rev = version; - sha256 = "1nkcybalkfna9zn33dxm13ic3brj50cfzwspjl349rgyar07j781"; + sha256 = "1ps8yaps5kfd7yv7bpdvssbwm6f5qivxcvhwn17cpddc2760a7nk"; extraPostFetch = '' mv $out ./all @@ -51,7 +51,7 @@ python3.pkgs.buildPythonApplication { src = fetchurl { url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; - sha256 = "1mlwpmgfm3n45agx65jzsi4dr8nxf95x7nl01jnwa3qk5krrv4cf"; + sha256 = "188r4zji985z8pm9b942xhmvv174yndk6jxagxl7ljk03wl2wiwi"; }; postUnpack = '' @@ -154,6 +154,8 @@ python3.pkgs.buildPythonApplication { of the blockchain. ''; homepage = "https://electrum.org/"; + downloadPage = "https://electrum.org/#download"; + changelog = "https://github.com/spesmilo/electrum/blob/master/RELEASE-NOTES"; license = licenses.mit; platforms = platforms.all; maintainers = with maintainers; [ joachifm np prusnak ]; diff --git a/pkgs/applications/misc/khal/default.nix b/pkgs/applications/misc/khal/default.nix index c7c184febe1..8ad7578adeb 100644 --- a/pkgs/applications/misc/khal/default.nix +++ b/pkgs/applications/misc/khal/default.nix @@ -20,7 +20,7 @@ with python3.pkgs; buildPythonApplication rec { pkgs.vdirsyncer pytz pyxdg - requests_toolbelt + requests-toolbelt tzlocal urwid pkginfo diff --git a/pkgs/applications/misc/pyditz/cerberus.nix b/pkgs/applications/misc/pyditz/cerberus.nix index 5eb43c0e357..0e473c6a1ba 100644 --- a/pkgs/applications/misc/pyditz/cerberus.nix +++ b/pkgs/applications/misc/pyditz/cerberus.nix @@ -1,4 +1,4 @@ -{ lib, buildPythonPackage, fetchPypi, pytestrunner, pytest }: +{ lib, buildPythonPackage, fetchPypi, pytest-runner, pytest }: buildPythonPackage rec { pname = "Cerberus"; @@ -9,7 +9,7 @@ buildPythonPackage rec { sha256 = "1pxzr8sfm2hc5s96m9k044i44nwkva70n0ypr6a35v73zn891cx5"; }; - checkInputs = [ pytestrunner pytest ]; + checkInputs = [ pytest-runner pytest ]; meta = with lib; { homepage = "http://python-cerberus.org/"; diff --git a/pkgs/applications/misc/rofimoji/default.nix b/pkgs/applications/misc/rofimoji/default.nix index 79a4d9fc7ab..d0d59af604d 100644 --- a/pkgs/applications/misc/rofimoji/default.nix +++ b/pkgs/applications/misc/rofimoji/default.nix @@ -5,7 +5,7 @@ , waylandSupport ? true , x11Support ? true -, ConfigArgParse +, configargparse , rofi , wl-clipboard , wtype @@ -26,7 +26,7 @@ buildPythonApplication rec { # `rofi` and the `waylandSupport` and `x11Support` dependencies # contain binaries needed at runtime. - propagatedBuildInputs = with lib; [ ConfigArgParse rofi ] + propagatedBuildInputs = with lib; [ configargparse rofi ] ++ optionals waylandSupport [ wl-clipboard wtype ] ++ optionals x11Support [ xdotool xsel ]; diff --git a/pkgs/applications/networking/dnscontrol/default.nix b/pkgs/applications/networking/dnscontrol/default.nix index 69f71a7479e..494a40c6bfe 100644 --- a/pkgs/applications/networking/dnscontrol/default.nix +++ b/pkgs/applications/networking/dnscontrol/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "dnscontrol"; - version = "3.10.1"; + version = "3.11.0"; src = fetchFromGitHub { owner = "StackExchange"; repo = pname; rev = "v${version}"; - sha256 = "sha256-fYQqH/J027XJPML/qKMpuu2Nxuvb0cyjOu2czLH8SoM="; + sha256 = "sha256-ExpwJ4lMrYy1WztYo+RYa9jb8slIa3IJk/SUKA1fBKI="; }; - vendorSha256 = "sha256-225TR9jTZSGEJZz3csl/pR/v2unUK67l08x5ESQTJzA="; + vendorSha256 = "sha256-IXA4YNdWR6DWIH4ceif2XcAdwnMr2kCuG3ozagtzsgo="; subPackages = [ "." ]; diff --git a/pkgs/applications/networking/dyndns/dyndnsc/default.nix b/pkgs/applications/networking/dyndns/dyndnsc/default.nix index 66b1d2639d6..07854f48fcc 100644 --- a/pkgs/applications/networking/dyndns/dyndnsc/default.nix +++ b/pkgs/applications/networking/dyndns/dyndnsc/default.nix @@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec { substituteInPlace setup.py --replace "bottle==" "bottle>=" ''; - nativeBuildInputs = with python3Packages; [ pytestrunner ]; + nativeBuildInputs = with python3Packages; [ pytest-runner ]; propagatedBuildInputs = with python3Packages; [ daemonocle dnspython diff --git a/pkgs/applications/networking/instant-messengers/matrixcli/default.nix b/pkgs/applications/networking/instant-messengers/matrixcli/default.nix index aadb18606e1..7e88a77193b 100644 --- a/pkgs/applications/networking/instant-messengers/matrixcli/default.nix +++ b/pkgs/applications/networking/instant-messengers/matrixcli/default.nix @@ -1,6 +1,6 @@ { lib, fetchgit , buildPythonApplication, buildPythonPackage - , pygobject3, pytestrunner, requests, responses, pytest, python-olm + , pygobject3, pytest-runner, requests, responses, pytest, python-olm , canonicaljson, olm }: let @@ -20,7 +20,7 @@ let propagatedBuildInputs = [ requests responses olm python-olm canonicaljson - pytestrunner pytest + pytest-runner pytest ]; doCheck = false; diff --git a/pkgs/applications/networking/instant-messengers/zulip-term/default.nix b/pkgs/applications/networking/instant-messengers/zulip-term/default.nix index e97ea7bb65f..b2f80c70d24 100644 --- a/pkgs/applications/networking/instant-messengers/zulip-term/default.nix +++ b/pkgs/applications/networking/instant-messengers/zulip-term/default.nix @@ -36,7 +36,7 @@ python3.pkgs.buildPythonApplication rec { glibcLocales ] ++ (with python3.pkgs; [ pytestCheckHook - pytestcov + pytest-cov pytest-mock ]); diff --git a/pkgs/applications/networking/sync/acd_cli/default.nix b/pkgs/applications/networking/sync/acd_cli/default.nix index f630cb4071a..95970a7b870 100644 --- a/pkgs/applications/networking/sync/acd_cli/default.nix +++ b/pkgs/applications/networking/sync/acd_cli/default.nix @@ -1,5 +1,5 @@ { lib, fetchFromGitHub, buildPythonApplication, fuse -, appdirs, colorama, python-dateutil, requests, requests_toolbelt +, appdirs, colorama, python-dateutil, requests, requests-toolbelt , fusepy, sqlalchemy, setuptools }: buildPythonApplication rec { @@ -16,7 +16,7 @@ buildPythonApplication rec { }; propagatedBuildInputs = [ appdirs colorama python-dateutil fusepy requests - requests_toolbelt setuptools sqlalchemy ]; + requests-toolbelt setuptools sqlalchemy ]; makeWrapperArgs = [ "--prefix LIBFUSE_PATH : ${fuse}/lib/libfuse.so" ]; diff --git a/pkgs/applications/office/paperless/default.nix b/pkgs/applications/office/paperless/default.nix index 68032ebe849..74bdacd9584 100644 --- a/pkgs/applications/office/paperless/default.nix +++ b/pkgs/applications/office/paperless/default.nix @@ -148,7 +148,7 @@ let pytest pytest-django pytest-env - pytest_xdist + pytest-xdist ]; pyocrWithUserTesseract = pyPkgs: diff --git a/pkgs/applications/office/todoman/default.nix b/pkgs/applications/office/todoman/default.nix index 5894c6c3e14..fc9f70094da 100644 --- a/pkgs/applications/office/todoman/default.nix +++ b/pkgs/applications/office/todoman/default.nix @@ -44,8 +44,8 @@ buildPythonApplication rec { freezegun hypothesis pytest - pytestrunner - pytestcov + pytest-runner + pytest-cov glibcLocales ]; diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index b5c66289c9d..cd19b9a9442 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -162,6 +162,7 @@ self = stdenv.mkDerivation { prefixKey = "-prefix "; buildFlags = [ "revision" "coq" "coqide" "bin/votour" ]; + enableParallelBuilding = true; createFindlibDestdir = true; diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix index 5270cac5782..419323cfa31 100644 --- a/pkgs/applications/science/misc/snakemake/default.nix +++ b/pkgs/applications/science/misc/snakemake/default.nix @@ -6,7 +6,7 @@ python3Packages.buildPythonApplication rec { propagatedBuildInputs = with python3Packages; [ appdirs - ConfigArgParse + configargparse connection-pool datrie docutils diff --git a/pkgs/applications/terminal-emulators/coreterminal/default.nix b/pkgs/applications/terminal-emulators/coreterminal/default.nix new file mode 100644 index 00000000000..e358fae0716 --- /dev/null +++ b/pkgs/applications/terminal-emulators/coreterminal/default.nix @@ -0,0 +1,42 @@ +{ mkDerivation +, lib +, fetchFromGitLab +, cmake +, ninja +, qtbase +, qtserialport +, qtermwidget +, libcprime +}: + +mkDerivation rec { + pname = "coreterminal"; + version = "4.2.0"; + + src = fetchFromGitLab { + owner = "cubocore/coreapps"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-YXs6VTem3AaK4n1DYwKP/jqNuf09Srn2THHyJJnArlc="; + }; + + nativeBuildInputs = [ + cmake + ninja + ]; + + buildInputs = [ + qtbase + qtserialport + qtermwidget + libcprime + ]; + + meta = with lib; { + description = "A terminal emulator from the C Suite"; + homepage = "https://gitlab.com/cubocore/coreapps/coreterminal"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ dan4ik605743 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/terminal-emulators/terminator/default.nix b/pkgs/applications/terminal-emulators/terminator/default.nix index 6ddeffe68eb..e922a34423c 100644 --- a/pkgs/applications/terminal-emulators/terminator/default.nix +++ b/pkgs/applications/terminal-emulators/terminator/default.nix @@ -27,7 +27,7 @@ python3.pkgs.buildPythonApplication rec { intltool gobject-introspection wrapGAppsHook - python3.pkgs.pytestrunner + python3.pkgs.pytest-runner ]; buildInputs = [ diff --git a/pkgs/applications/version-management/nbstripout/default.nix b/pkgs/applications/version-management/nbstripout/default.nix index 06a4b2c98a6..5e556b40a89 100644 --- a/pkgs/applications/version-management/nbstripout/default.nix +++ b/pkgs/applications/version-management/nbstripout/default.nix @@ -9,7 +9,7 @@ buildPythonApplication rec { # application, it would mess up the Python environment. Thus, don't add it # here, instead add it to PATH when running unit tests checkInputs = [ pytest pytest-flake8 git ]; - nativeBuildInputs = [ pytestrunner ]; + nativeBuildInputs = [ pytest-runner ]; propagatedBuildInputs = [ ipython nbformat ]; src = fetchPypi { diff --git a/pkgs/applications/video/kodi-packages/certifi/default.nix b/pkgs/applications/video/kodi-packages/certifi/default.nix index b99a64f3eec..1088f560adf 100644 --- a/pkgs/applications/video/kodi-packages/certifi/default.nix +++ b/pkgs/applications/video/kodi-packages/certifi/default.nix @@ -9,8 +9,11 @@ buildKodiAddon rec { sha256 = "1z49b8va7wdyr714c8ixb2sldi0igffcjj3xpbmga58ph0z985vy"; }; - passthru.updateScript = addonUpdateScript { - attrPath = "kodi.packages.certifi"; + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.certifi"; + }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi-packages/chardet/default.nix b/pkgs/applications/video/kodi-packages/chardet/default.nix index cfe3d501cbd..fe482447cfa 100644 --- a/pkgs/applications/video/kodi-packages/chardet/default.nix +++ b/pkgs/applications/video/kodi-packages/chardet/default.nix @@ -9,8 +9,11 @@ buildKodiAddon rec { sha256 = "1jsd165mb1b8jdan2jbjd3y3xa0xam2cxcccmwazkybpa0r6a7dj"; }; - passthru.updateScript = addonUpdateScript { - attrPath = "kodi.packages.chardet"; + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.chardet"; + }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi-packages/dateutil/default.nix b/pkgs/applications/video/kodi-packages/dateutil/default.nix index 665858d3d57..54a22cedf90 100644 --- a/pkgs/applications/video/kodi-packages/dateutil/default.nix +++ b/pkgs/applications/video/kodi-packages/dateutil/default.nix @@ -14,8 +14,11 @@ buildKodiAddon rec { six ]; - passthru.updateScript = addonUpdateScript { - attrPath = "kodi.packages.dateutil"; + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.dateutil"; + }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi-packages/idna/default.nix b/pkgs/applications/video/kodi-packages/idna/default.nix index c90f52ffdc9..01f16696fae 100644 --- a/pkgs/applications/video/kodi-packages/idna/default.nix +++ b/pkgs/applications/video/kodi-packages/idna/default.nix @@ -9,8 +9,11 @@ buildKodiAddon rec { sha256 = "0pm86m8kh2p0brps3xzxcmmabvb4izkglzkj8dsn33br3vlc7cm7"; }; - passthru.updateScript = addonUpdateScript { - attrPath = "kodi.packages.idna"; + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.idna"; + }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix b/pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix index 4ca45f8b7b9..fcf53e7a169 100644 --- a/pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix +++ b/pkgs/applications/video/kodi-packages/inputstreamhelper/default.nix @@ -9,8 +9,11 @@ buildKodiAddon rec { sha256 = "0y4xn3ygwv1kb7gya7iwdga0g9sa89snpnram0wwqzqn8wn2lyb4"; }; - passthru.updateScript = addonUpdateScript { - attrPath = "kodi.packages.inputstreamhelper"; + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.inputstreamhelper"; + }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi-packages/kodi-six/default.nix b/pkgs/applications/video/kodi-packages/kodi-six/default.nix index b4f1169b36d..24404ef349e 100644 --- a/pkgs/applications/video/kodi-packages/kodi-six/default.nix +++ b/pkgs/applications/video/kodi-packages/kodi-six/default.nix @@ -10,8 +10,11 @@ buildKodiAddon rec { sha256 = "14m232p9hx925pbk8knsg994m1nbpa5278zmcrnfblh4z84gjv4x"; }; - passthru.updateScript = addonUpdateScript { - attrPath = "kodi.packages.kodi-six"; + passthru = { + pythonPath = "libs"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.kodi-six"; + }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi-packages/myconnpy/default.nix b/pkgs/applications/video/kodi-packages/myconnpy/default.nix index bd0c98137a5..e39625545f6 100644 --- a/pkgs/applications/video/kodi-packages/myconnpy/default.nix +++ b/pkgs/applications/video/kodi-packages/myconnpy/default.nix @@ -9,8 +9,11 @@ buildKodiAddon rec { sha256 = "1cx3qdzw9lkkmbyvyrmc2i193is20fihn2sfl7kmv43f708vam0k"; }; - passthru.updateScript = addonUpdateScript { - attrPath = "kodi.packages.myconnpy"; + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.myconnpy"; + }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi-packages/pdfreader/default.nix b/pkgs/applications/video/kodi-packages/pdfreader/default.nix index 8896a94c9c3..62a5853c796 100644 --- a/pkgs/applications/video/kodi-packages/pdfreader/default.nix +++ b/pkgs/applications/video/kodi-packages/pdfreader/default.nix @@ -11,6 +11,8 @@ buildKodiAddon rec { sha256 = "0nkqhlm1gyagq6xpdgqvd5qxyr2ngpml9smdmzfabc8b972mwjml"; }; + passthru.pythonPath = "lib/api"; + meta = with lib; { homepage = "https://forum.kodi.tv/showthread.php?tid=187421"; description = "A comic book reader"; diff --git a/pkgs/applications/video/kodi-packages/requests/default.nix b/pkgs/applications/video/kodi-packages/requests/default.nix index 0f2d5044f04..c5759fcc325 100644 --- a/pkgs/applications/video/kodi-packages/requests/default.nix +++ b/pkgs/applications/video/kodi-packages/requests/default.nix @@ -16,8 +16,11 @@ buildKodiAddon rec { urllib3 ]; - passthru.updateScript = addonUpdateScript { - attrPath = "kodi.packages.requests"; + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.requests"; + }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi-packages/signals/default.nix b/pkgs/applications/video/kodi-packages/signals/default.nix index bba7b112e9f..b66b1e99a8b 100644 --- a/pkgs/applications/video/kodi-packages/signals/default.nix +++ b/pkgs/applications/video/kodi-packages/signals/default.nix @@ -9,8 +9,11 @@ buildKodiAddon rec { sha256 = "1qcjbakch8hvx02wc01zv014nmzgn6ahc4n2bj5mzr114ppd3hjs"; }; - passthru.updateScript = addonUpdateScript { - attrPath = "kodi.packages.signals"; + passthru= { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.signals"; + }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi-packages/urllib3/default.nix b/pkgs/applications/video/kodi-packages/urllib3/default.nix index 12d8e60d67b..de0fbb99765 100644 --- a/pkgs/applications/video/kodi-packages/urllib3/default.nix +++ b/pkgs/applications/video/kodi-packages/urllib3/default.nix @@ -9,8 +9,11 @@ buildKodiAddon rec { sha256 = "1d2k6gbsnhdadcl1xc7igz4m71z2fcnpln5ppfjv455cmkk110vf"; }; - passthru.updateScript = addonUpdateScript { - attrPath = "kodi.packages.urllib3"; + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.urllib3"; + }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi-packages/websocket/default.nix b/pkgs/applications/video/kodi-packages/websocket/default.nix index 3c83e1f9b00..423dfa73f34 100644 --- a/pkgs/applications/video/kodi-packages/websocket/default.nix +++ b/pkgs/applications/video/kodi-packages/websocket/default.nix @@ -14,8 +14,11 @@ buildKodiAddon rec { six ]; - passthru.updateScript = addonUpdateScript { - attrPath = "kodi.packages.websocket"; + passthru = { + pythonPath = "lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.websocket"; + }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi-packages/youtube/default.nix b/pkgs/applications/video/kodi-packages/youtube/default.nix index 65613658e0f..8e57adbfb1a 100644 --- a/pkgs/applications/video/kodi-packages/youtube/default.nix +++ b/pkgs/applications/video/kodi-packages/youtube/default.nix @@ -16,8 +16,11 @@ buildKodiAddon rec { inputstreamhelper ]; - passthru.updateScript = addonUpdateScript { - attrPath = "kodi.packages.youtube"; + passthru = { + pythonPath = "resources/lib"; + updateScript = addonUpdateScript { + attrPath = "kodi.packages.youtube"; + }; }; meta = with lib; { diff --git a/pkgs/applications/video/kodi/wrapper.nix b/pkgs/applications/video/kodi/wrapper.nix index 86164682138..7377e638676 100644 --- a/pkgs/applications/video/kodi/wrapper.nix +++ b/pkgs/applications/video/kodi/wrapper.nix @@ -1,8 +1,19 @@ -{ lib, makeWrapper, buildEnv, kodi, addons }: +{ lib, makeWrapper, buildEnv, kodi, addons, callPackage }: let + kodiPackages = callPackage ../../../top-level/kodi-packages.nix { inherit kodi; }; + # linux distros are supposed to provide pillow and pycryptodome - requiredPythonPackages = with kodi.pythonPackages; [ pillow pycryptodome] ++ addons; + requiredPythonPath = with kodi.pythonPackages; makePythonPath ([ pillow pycryptodome ]); + + # each kodi addon can potentially export a python module which should be included in PYTHONPATH + # see any addon which supplies `passthru.pythonPath` and the corresponding entry in the addons `addon.xml` + # eg. `<extension point="xbmc.python.module" library="lib" />` -> pythonPath = "lib"; + additionalPythonPath = + let + addonsWithPythonPath = lib.filter (addon: addon ? pythonPath) addons; + in + lib.concatMapStringsSep ":" (addon: "${addon}${kodiPackages.addonDir}/${addon.namespace}/${addon.pythonPath}") addonsWithPythonPath; in buildEnv { @@ -18,7 +29,7 @@ buildEnv { for exe in kodi{,-standalone} do makeWrapper ${kodi}/bin/$exe $out/bin/$exe \ - --prefix PYTHONPATH : ${kodi.pythonPackages.makePythonPath requiredPythonPackages} \ + --prefix PYTHONPATH : ${requiredPythonPath}:${additionalPythonPath} \ --prefix KODI_HOME : $out/share/kodi \ --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath (lib.concatMap diff --git a/pkgs/applications/virtualization/virtinst/default.nix b/pkgs/applications/virtualization/virtinst/default.nix deleted file mode 100644 index 37f03d8772f..00000000000 --- a/pkgs/applications/virtualization/virtinst/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ lib, stdenv, fetchurl, python2Packages, intltool, libxml2Python }: - -with lib; - -let version = "0.600.4"; in - -stdenv.mkDerivation rec { - pname = "virtinst"; - inherit version; - - src = fetchurl { - url = "http://virt-manager.org/download/sources/virtinst/virtinst-${version}.tar.gz"; - sha256 = "175laiy49dni8hzi0cn14bbsdsigvgr9h6d9z2bcvbpa29spldvf"; - }; - - pythonPath = with python2Packages; - [ setuptools eventlet greenlet gflags netaddr carrot routes - PasteDeploy m2crypto ipy twisted - distutils_extra simplejson cheetah lockfile httplib2 - # !!! should libvirt be a build-time dependency? Note that - # libxml2Python is a dependency of libvirt.py. - libvirt libxml2Python urlgrabber - ]; - - buildInputs = - [ python2Packages.python - python2Packages.wrapPython - python2Packages.mox - intltool - ] ++ pythonPath; - - buildPhase = "python setup.py build"; - - installPhase = - '' - python setup.py install --prefix="$out"; - wrapPythonPrograms - ''; - - meta = { - homepage = "http://virt-manager.org"; - license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [qknight]; - description = "Command line tool which provides an easy way to provision operating systems into virtual machines"; - platforms = with lib.platforms; linux; - }; -} |