diff options
36 files changed, 796 insertions, 183 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 6190de79b7a..a567191f992 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -118,6 +118,12 @@ githubId = 2258953; name = "Aaron Schif"; }; + aaschmid = { + email = "service@aaschmid.de"; + github = "aaschmid"; + githubId = 567653; + name = "Andreas Schmid"; + }; abaldeau = { email = "andreas@baldeau.net"; github = "baldo"; @@ -7529,6 +7535,12 @@ githubId = 3438604; name = "Petter Storvik"; }; + p-h = { + email = "p@hurlimann.org"; + github = "p-h"; + githubId = 645664; + name = "Philippe Hürlimann"; + }; philandstuff = { email = "philip.g.potter@gmail.com"; github = "philandstuff"; diff --git a/pkgs/applications/misc/foxitreader/default.nix b/pkgs/applications/misc/foxitreader/default.nix new file mode 100644 index 00000000000..e69361dbd93 --- /dev/null +++ b/pkgs/applications/misc/foxitreader/default.nix @@ -0,0 +1,79 @@ +{ mkDerivation, lib, fetchzip, libarchive, autoPatchelfHook, libsecret, libGL, zlib, openssl, qtbase, qtwebkit, qtxmlpatterns }: + +mkDerivation rec { + pname = "foxitreader"; + version = "2.4.4.0911"; + + src = fetchzip { + url = "https://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/linux/${lib.versions.major version}.x/${lib.versions.majorMinor version}/en_us/FoxitReader.enu.setup.${version}.x64.run.tar.gz"; + sha256 = "0ff4xs9ipc7sswq0czfhpsd7qw7niw0zsf9wgsqhbbgzcpbdhcb7"; + stripRoot = false; + }; + + buildInputs = [ libGL libsecret openssl qtbase qtwebkit qtxmlpatterns zlib ]; + + nativeBuildInputs = [ autoPatchelfHook libarchive ]; + + buildPhase = '' + runHook preBuild + + input_file=$src/*.run + mkdir -p extracted + # Look for all 7z files and extract them + grep --only-matching --byte-offset --binary \ + --text -P '7z\xBC\xAF\x27\x1C\x00\x03' $input_file | cut -d: -f1 | + while read position; do + tail -c +$(($position + 1)) $input_file > file.7z + bsdtar xf file.7z -C extracted + done + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib + cd extracted + + cp -r \ + CollectStrategy.txt \ + cpdf_settings \ + fxplugins \ + lang \ + resource \ + run \ + stamps \ + welcome \ + Wrappers \ + $out/lib/ + + patchelf $out/lib/fxplugins/librms.so \ + --replace-needed libssl.so.10 libssl.so \ + --replace-needed libcrypto.so.10 libcrypto.so + + # FIXME: Doing this with one invocation is broken right now + patchelf $out/lib/fxplugins/librmscrypto.so \ + --replace-needed libssl.so.10 libssl.so + patchelf $out/lib/fxplugins/librmscrypto.so \ + --replace-needed libcrypto.so.10 libcrypto.so + + install -D -m 755 FoxitReader -t $out/bin + + # Install icon and desktop files + install -D -m 644 images/FoxitReader.png -t $out/share/pixmaps/ + install -D -m 644 FoxitReader.desktop -t $out/share/applications/ + echo Exec=FoxitReader %F >> $out/share/applications/FoxitReader.desktop + + runHook postInstall + ''; + + qtWrapperArgs = [ "--set appname FoxitReader" "--set selfpath $out/lib" ]; + + meta = with lib; { + description = "A viewer for PDF documents"; + homepage = "https://www.foxitsoftware.com/"; + license = licenses.unfree; + maintainers = with maintainers; [ p-h rhoriguchi ]; + }; +} diff --git a/pkgs/applications/office/gtg/default.nix b/pkgs/applications/office/gtg/default.nix index 4c892b2605b..3b7052dff7f 100644 --- a/pkgs/applications/office/gtg/default.nix +++ b/pkgs/applications/office/gtg/default.nix @@ -16,13 +16,13 @@ python3Packages.buildPythonApplication rec { pname = "gtg"; - version = "unstable-2020-10-22"; + version = "0.5"; src = fetchFromGitHub { owner = "getting-things-gnome"; repo = "gtg"; - rev = "144814c16723fa9d00e17e047df5d79ab443fc5f"; - sha256 = "1lpanfbj8y8b6cqp92lgbvfs8irrc5bsdffzcjcycazv19qm7z2n"; + rev = "v${version}"; + sha256 = "0b2slm7kjq6q8c7v4m7aqc8m1ynjxn3bl7445srpv1xc0dilq403"; }; @@ -56,6 +56,10 @@ python3Packages.buildPythonApplication rec { xvfb_run ]; + preBuild = '' + export HOME="$TMP" + ''; + format = "other"; strictDeps = false; # gobject-introspection does not run with strictDeps (https://github.com/NixOS/nixpkgs/issues/56943) diff --git a/pkgs/applications/science/misc/rink/default.nix b/pkgs/applications/science/misc/rink/default.nix index 4f0d1eae487..31ae8678719 100644 --- a/pkgs/applications/science/misc/rink/default.nix +++ b/pkgs/applications/science/misc/rink/default.nix @@ -1,17 +1,17 @@ { lib, fetchFromGitHub, rustPlatform, openssl, pkg-config, ncurses }: rustPlatform.buildRustPackage rec { - version = "0.5.1"; + version = "0.6.0"; pname = "rink"; src = fetchFromGitHub { owner = "tiffany352"; repo = "rink-rs"; rev = "v${version}"; - sha256 = "1s67drjzd4cf93hpm7b2facfd6y1x0s60aq6pygj7i02bm0cb9l9"; + sha256 = "sha256-3uhKevuUVh7AObn2GDW2T+5wttX20SbVP+sFaFj3Jmk="; }; - cargoSha256 = "1wd70y13lly7nccaqlv7w8znxfal0fzyf9d67y5c3aikj7hkzfin"; + cargoSha256 = "sha256-luJzIGdcitH+PNgr86AYX6wKEkQlsRhwwylo+hzeovE="; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl ncurses ]; @@ -22,7 +22,7 @@ rustPlatform.buildRustPackage rec { meta = with lib; { description = "Unit-aware calculator"; homepage = "https://rinkcalc.app"; - license = with licenses; [ mpl20 gpl3 ]; + license = with licenses; [ mpl20 gpl3Plus ]; maintainers = with maintainers; [ sb0 Br1ght0ne ]; }; } diff --git a/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix b/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix new file mode 100644 index 00000000000..f716d93a360 --- /dev/null +++ b/pkgs/applications/video/obs-studio/obs-multi-rtmp.nix @@ -0,0 +1,43 @@ +{ lib, stdenv, fetchFromGitHub, obs-studio, cmake, qtbase }: + +stdenv.mkDerivation rec { + pname = "obs-multi-rtmp"; + version = "0.2.6"; + + src = fetchFromGitHub { + owner = "sorayuki"; + repo = "obs-multi-rtmp"; + rev = version; + sha256 = "sha256-SMcVL54HwFIc7/wejEol2XiZhlZCMVCwHHtIKJ/CoYY="; + }; + + nativeBuildInputs = [ cmake ]; + buildInputs = [ obs-studio qtbase ]; + + cmakeFlags = [ + "-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs" + ]; + + dontWrapQtApps = true; + + # obs-studio expects the shared object to be located in bin/32bit or bin/64bit + # https://github.com/obsproject/obs-studio/blob/d60c736cb0ec0491013293c8a483d3a6573165cb/libobs/obs-nix.c#L48 + postInstall = let + pluginPath = { + i686-linux = "bin/32bit"; + x86_64-linux = "bin/64bit"; + }.${stdenv.targetPlatform.system} or (throw "Unsupported system: ${stdenv.targetPlatform.system}"); + in '' + mkdir -p $out/share/obs/obs-plugins/obs-multi-rtmp/${pluginPath} + ln -s $out/lib/obs-plugins/obs-multi-rtmp.so $out/share/obs/obs-plugins/obs-multi-rtmp/${pluginPath} + ''; + + meta = with lib; { + homepage = "https://github.com/sorayuki/obs-multi-rtmp/"; + changelog = "https://github.com/sorayuki/obs-multi-rtmp/releases/tag/${version}"; + description = "Multi-site simultaneous broadcast plugin for OBS Studio"; + license = licenses.gpl2Only; + maintainers = with maintainers; [ jk ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix index 39fb5d7eb21..988a27a5878 100644 --- a/pkgs/development/libraries/aws-c-common/default.nix +++ b/pkgs/development/libraries/aws-c-common/default.nix @@ -1,24 +1,20 @@ -{ lib, stdenv, fetchFromGitHub, fetchpatch, cmake }: +{ lib +, stdenv +, fetchFromGitHub +, cmake +}: stdenv.mkDerivation rec { pname = "aws-c-common"; - version = "0.5.2"; + version = "0.5.4"; src = fetchFromGitHub { owner = "awslabs"; repo = pname; rev = "v${version}"; - sha256 = "0rd2qzaa9mmn5f6f2bl1wgv54f17pqx3vwyy9f8ylh59qfnilpmg"; + sha256 = "sha256-NH66WAOqAaMm/IIu8L5R7CUFhX56yTLH7mPY1Q4jDC4="; }; - patches = [ - # Remove once https://github.com/awslabs/aws-c-common/pull/764 is merged - (fetchpatch { - url = "https://github.com/awslabs/aws-c-common/commit/4f85fb3e398d4e4d320d3559235267b26cbc9531.patch"; - sha256 = "1jg3mz507w4kwgmg57kvz419gvw47pd9rkjr6jhsmvardmyyskap"; - }) - ]; - nativeBuildInputs = [ cmake ]; cmakeFlags = [ diff --git a/pkgs/development/libraries/motif/Use-correct-header-for-malloc.patch b/pkgs/development/libraries/motif/Use-correct-header-for-malloc.patch deleted file mode 100644 index d91e43ba2d3..00000000000 --- a/pkgs/development/libraries/motif/Use-correct-header-for-malloc.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/demos/programs/workspace/xrmLib.c -+++ b/demos/programs/workspace/xrmLib.c -@@ -30,7 +30,14 @@ static char rcsid[] = "$XConsortium: xrmLib.c /main/6 1995/07/14 10:01:41 drk $" - #endif - - #include <stdio.h> --#include <malloc.h> -+#if defined(__cplusplus) || defined(__STDC__) || defined(__EXTENSIONS__) -+# include <stdlib.h> -+# if defined(HAVE_MALLOC_H) -+# include <malloc.h> -+# elif defined(HAVE_SYS_MALLOC_H) -+# include <sys/malloc.h> -+# endif -+#endif - #include <Xm/Xm.h> - #include "wsm.h" - #include "wsmDebug.h" - diff --git a/pkgs/development/libraries/motif/default.nix b/pkgs/development/libraries/motif/default.nix index 0499aaec532..f99bd8f2630 100644 --- a/pkgs/development/libraries/motif/default.nix +++ b/pkgs/development/libraries/motif/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, pkg-config, libtool +{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libtool , xlibsWrapper, xbitmaps, libXrender, libXmu, libXt , expat, libjpeg, libpng, libiconv , flex @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { pname = "motif"; - version = "2.3.6"; + version = "2.3.8"; src = fetchurl { url = "mirror://sourceforge/motif/${pname}-${version}.tar.gz"; - sha256 = "1ksqbp0bzdw6wcrx8s4hj4ivvxmw54hz85l2xfigb87cxmmhx0gs"; + sha256 = "1rxwkrhmj8sfg7dwmkhq885valwqbh26d79033q7vb7fcqv756w5"; }; buildInputs = [ @@ -26,26 +26,27 @@ stdenv.mkDerivation rec { propagatedBuildInputs = [ libXp libXau ]; - hardeningDisable = [ "format" ]; - - makeFlags = [ "CFLAGS=-fno-strict-aliasing" ]; - - prePatch = '' - rm lib/Xm/Xm.h - '' + lib.optionalString (!demoSupport) '' + prePatch = lib.optionalString (!demoSupport) '' sed '/^SUBDIRS =,^$/s/\<demos\>//' -i Makefile.{am,in} ''; - patches = [ ./Remove-unsupported-weak-refs-on-darwin.patch - ./Use-correct-header-for-malloc.patch - ./Add-X.Org-to-bindings-file.patch - ]; + patches = [ + ./Remove-unsupported-weak-refs-on-darwin.patch + ./Add-X.Org-to-bindings-file.patch + (fetchpatch rec { + name = "fix-format-security.patch"; + url = "https://raw.githubusercontent.com/void-linux/void-packages/b9a1110dabb01c052dadc1abae1413bd4afe3652/srcpkgs/motif/patches/02-${name}"; + sha256 = "13vzpf8yxvhf4gl7q0yzlr6ak1yzx382fsqsrv5lc8jbbg4nwrrq"; + }) + ]; + + enableParallelBuilding = true; meta = with lib; { homepage = "https://motif.ics.com"; description = "Unix standard widget-toolkit and window-manager"; - platforms = with platforms; linux ++ darwin; - license = with licenses; [ lgpl21 ]; - maintainers = with maintainers; [ ]; + platforms = platforms.unix; + license = with licenses; [ lgpl21Plus ]; + maintainers = with maintainers; [ qyliss ]; }; } diff --git a/pkgs/development/python-modules/aiolip/default.nix b/pkgs/development/python-modules/aiolip/default.nix new file mode 100644 index 00000000000..1db1ae1cf03 --- /dev/null +++ b/pkgs/development/python-modules/aiolip/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "aiolip"; + version = "1.1.4"; + disabled = pythonOlder "3.5"; + + src = fetchFromGitHub { + owner = "bdraco"; + repo = pname; + rev = version; + sha256 = "1f8mlvbnfcn3sigsmjdpdpgxmnbvcjhfr7lzch61i8sy25dgakji"; + }; + + checkInputs = [ + pytestCheckHook + ]; + + postPatch = '' + substituteInPlace setup.py --replace "'pytest-runner'," "" + ''; + + pythonImportsCheck = [ "aiolip" ]; + + meta = with lib; { + description = "Python module for the Lutron Integration Protocol"; + homepage = "https://github.com/bdraco/aiolip"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/nad-receiver/default.nix b/pkgs/development/python-modules/nad-receiver/default.nix new file mode 100644 index 00000000000..ee7ac9648e1 --- /dev/null +++ b/pkgs/development/python-modules/nad-receiver/default.nix @@ -0,0 +1,35 @@ +{ lib +, pyserial +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "nad-receiver"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "joopert"; + repo = "nad_receiver"; + rev = version; + sha256 = "1mylrrvxczhplscayf4hvj56vaqkh7mv32fn9pcvla83y39kg8rw"; + }; + + propagatedBuildInputs = [ + pyserial + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ "nad_receiver" ]; + + meta = with lib; { + description = "Python interface for NAD receivers"; + homepage = "https://github.com/joopert/nad_receiver"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/nexia/default.nix b/pkgs/development/python-modules/nexia/default.nix new file mode 100644 index 00000000000..dbd1c798a3f --- /dev/null +++ b/pkgs/development/python-modules/nexia/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +, requests +, requests-mock +}: + +buildPythonPackage rec { + pname = "nexia"; + version = "0.9.6"; + disabled = pythonOlder "3.5"; + + src = fetchFromGitHub { + owner = "bdraco"; + repo = pname; + rev = version; + sha256 = "1k8h1p2zqm8gghff03jh8q3zik7jw2l686cyyg36r3qrgz6zi19q"; + }; + + propagatedBuildInputs = [ + requests + ]; + + checkInputs = [ + requests-mock + pytestCheckHook + ]; + + postPatch = '' + substituteInPlace setup.py --replace '"pytest-runner",' "" + ''; + + pythonImportsCheck = [ "nexia" ]; + + meta = with lib; { + description = "Python module for Nexia thermostats"; + homepage = "https://github.com/bdraco/nexia"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pyeconet/default.nix b/pkgs/development/python-modules/pyeconet/default.nix new file mode 100644 index 00000000000..2a5bbd9470f --- /dev/null +++ b/pkgs/development/python-modules/pyeconet/default.nix @@ -0,0 +1,32 @@ +{ lib +, paho-mqtt +, buildPythonPackage +, fetchPypi +, aiohttp +}: + +buildPythonPackage rec { + pname = "pyeconet"; + version = "0.1.13"; + + src = fetchPypi { + inherit pname version; + sha256 = "0pxwsmxzbmrab6p6qr867pc43ky2yjv2snra534wrdrknpj40h4s"; + }; + + propagatedBuildInputs = [ + paho-mqtt + aiohttp + ]; + + # Tests require credentials + doCheck = false; + pythonImportsCheck = [ "pyeconet" ]; + + meta = with lib; { + description = "Python interface to the EcoNet API"; + homepage = "https://github.com/w1ll1am23/pyeconet"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pyezviz/default.nix b/pkgs/development/python-modules/pyezviz/default.nix new file mode 100644 index 00000000000..14f2e55a1f4 --- /dev/null +++ b/pkgs/development/python-modules/pyezviz/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pandas +, pythonOlder +, requests +}: + +buildPythonPackage rec { + pname = "pyezviz"; + version = "0.1.8.7"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "baqs"; + repo = "pyEzviz"; + rev = version; + sha256 = "0k7wl9wf5i0yfdds6f9ma78ckz1p4h72z5s3qg0axzra62fvl9xg"; + }; + + propagatedBuildInputs = [ + pandas + requests + ]; + + # Project has no tests. test_cam_rtsp.py is more a sample for using the module + doCheck = false; + pythonImportsCheck = [ "pyezviz" ]; + + meta = with lib; { + description = "Python interface for for Ezviz cameras"; + homepage = "https://github.com/baqs/pyEzviz/"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pyintesishome/default.nix b/pkgs/development/python-modules/pyintesishome/default.nix new file mode 100644 index 00000000000..87ed0234729 --- /dev/null +++ b/pkgs/development/python-modules/pyintesishome/default.nix @@ -0,0 +1,32 @@ +{ lib +, aiohttp +, buildPythonPackage +, fetchFromGitHub +}: + +buildPythonPackage rec { + pname = "pyintesishome"; + version = "1.7.7"; + + src = fetchFromGitHub { + owner = "jnimmo"; + repo = "pyIntesisHome"; + rev = version; + sha256 = "1wjh6bib6bg9rf4q9z6dlrf3gncj859hz4i20a9w06jci7b2yaaz"; + }; + + propagatedBuildInputs = [ + aiohttp + ]; + + # Project has no tests + doCheck = false; + pythonImportsCheck = [ "pyintesishome" ]; + + meta = with lib; { + description = "Python interface for IntesisHome devices"; + homepage = "https://github.com/jnimmo/pyIntesisHome"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pylutron-caseta/default.nix b/pkgs/development/python-modules/pylutron-caseta/default.nix new file mode 100644 index 00000000000..aa2182c176d --- /dev/null +++ b/pkgs/development/python-modules/pylutron-caseta/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, cryptography +, fetchFromGitHub +, pytest-asyncio +, pytest-sugar +, pytest-timeout +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "pylutron-caseta"; + version = "0.9.0"; + disabled = pythonOlder "3.5"; + + src = fetchFromGitHub { + owner = "gurumitts"; + repo = pname; + rev = "v${version}"; + sha256 = "07mz4hn0455qmfqs4xcqlhbf3qvrnmifd0vzpcqlqaqcn009iahq"; + }; + + propagatedBuildInputs = [ + cryptography + ]; + + checkInputs = [ + pytest-asyncio + pytest-sugar + pytest-timeout + pytestCheckHook + ]; + + pythonImportsCheck = [ "pylutron_caseta" ]; + + meta = with lib; { + description = "Python module o control Lutron Caseta devices"; + homepage = "https://github.com/gurumitts/pylutron-caseta"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pyruckus/default.nix b/pkgs/development/python-modules/pyruckus/default.nix new file mode 100644 index 00000000000..5129631426b --- /dev/null +++ b/pkgs/development/python-modules/pyruckus/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pexpect +, python-slugify +, pythonOlder +}: + +buildPythonPackage rec { + pname = "pyruckus"; + version = "0.14"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "gabe565"; + repo = pname; + rev = version; + sha256 = "069asvx7g2gywpmid0cbf84mlzhgha4yqd47y09syz09zgv34a36"; + }; + + propagatedBuildInputs = [ + pexpect + python-slugify + ]; + + # Tests requires network features + doCheck = false; + pythonImportsCheck = [ "pyruckus" ]; + + meta = with lib; { + description = "Python client for Ruckus Unleashed"; + homepage = "https://github.com/gabe565/pyruckus"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/pytest-subprocess/default.nix b/pkgs/development/python-modules/pytest-subprocess/default.nix new file mode 100644 index 00000000000..d0c54c1acfb --- /dev/null +++ b/pkgs/development/python-modules/pytest-subprocess/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, pytest +, pytestCheckHook +, docutils +, pygments +}: + +buildPythonPackage rec { + pname = "pytest-subprocess"; + version = "1.0.1"; + + disabled = pythonOlder "3.4"; + + src = fetchFromGitHub { + owner = "aklajnert"; + repo = "pytest-subprocess"; + rev = version; + sha256 = "16ghwyv1vy45dd9cysjvcvvpm45958x071id2qrvgaziy2j6yx3j"; + }; + + buildInputs = [ + pytest + ]; + + checkInputs = [ + pytestCheckHook + docutils + pygments + ]; + + disabledTests = [ + "test_multiple_wait" # https://github.com/aklajnert/pytest-subprocess/issues/36 + ]; + + meta = with lib; { + description = "A plugin to fake subprocess for pytest"; + homepage = "https://github.com/aklajnert/pytest-subprocess"; + changelog = "https://github.com/aklajnert/pytest-subprocess/blob/${version}/HISTORY.rst"; + license = licenses.mit; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/python-telegram-bot/default.nix b/pkgs/development/python-modules/python-telegram-bot/default.nix index 27276e0619c..b5155fd4bb6 100644 --- a/pkgs/development/python-modules/python-telegram-bot/default.nix +++ b/pkgs/development/python-modules/python-telegram-bot/default.nix @@ -1,28 +1,33 @@ { lib -, fetchPypi +, APScheduler , buildPythonPackage , certifi , decorator +, fetchPypi , future -, urllib3 -, tornado -, pytest -, APScheduler , isPy3k +, tornado +, urllib3 }: buildPythonPackage rec { pname = "python-telegram-bot"; - version = "13.3"; + version = "13.4.1"; disabled = !isPy3k; src = fetchPypi { inherit pname version; - hash = "sha256-dw1sGfdeUw3n9qh4TsBpRdqEvNI0SnKTK4wqBaeM1CE="; + sha256 = "141w3701jjl460702xddqvi3hswp24jnkl6cakvz2aqrmcyxq7sc"; }; - checkInputs = [ pytest ]; - propagatedBuildInputs = [ certifi future urllib3 tornado decorator APScheduler ]; + propagatedBuildInputs = [ + APScheduler + certifi + decorator + future + tornado + urllib3 + ]; # --with-upstream-urllib3 is not working properly postPatch = '' @@ -31,6 +36,7 @@ buildPythonPackage rec { substituteInPlace requirements.txt \ --replace 'APScheduler==3.6.3' 'APScheduler' ''; + setupPyGlobalFlags = "--with-upstream-urllib3"; # tests not included with release @@ -38,7 +44,7 @@ buildPythonPackage rec { pythonImportsCheck = [ "telegram" ]; meta = with lib; { - description = "This library provides a pure Python interface for the Telegram Bot API."; + description = "Python library to interface with the Telegram Bot API"; homepage = "https://python-telegram-bot.org"; license = licenses.lgpl3Only; maintainers = with maintainers; [ veprbl pingiun ]; diff --git a/pkgs/development/python-modules/pythonegardia/default.nix b/pkgs/development/python-modules/pythonegardia/default.nix new file mode 100644 index 00000000000..4c2394421fb --- /dev/null +++ b/pkgs/development/python-modules/pythonegardia/default.nix @@ -0,0 +1,30 @@ +{ lib +, buildPythonPackage +, fetchPypi +, requests +}: + +buildPythonPackage rec { + pname = "pythonegardia"; + version = "1.0.40"; + + src = fetchPypi { + inherit pname version; + sha256 = "1rv6m5zaflf3nanpl1xmfmfcpg8kzcnmniq1hhgrybsspkc7mvry"; + }; + + propagatedBuildInputs = [ + requests + ]; + + # Project has no tests, only two test file for manual interaction + doCheck = false; + pythonImportsCheck = [ "pythonegardia" ]; + + meta = with lib; { + description = "Python interface with Egardia/Woonveilig alarms"; + homepage = "https://github.com/jeroenterheerdt/python-egardia"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/sphinxcontrib-bayesnet/default.nix b/pkgs/development/python-modules/sphinxcontrib-bayesnet/default.nix new file mode 100644 index 00000000000..0f0b6c545cf --- /dev/null +++ b/pkgs/development/python-modules/sphinxcontrib-bayesnet/default.nix @@ -0,0 +1,24 @@ +{ lib, buildPythonPackage, fetchPypi, sphinx, sphinxcontrib-tikz }: + +buildPythonPackage rec { + pname = "sphinxcontrib-bayesnet"; + version = "0.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "0x1kisvj7221cxfzmwplx3xlwbavl636fpncnjh7gghp1af71clw"; + }; + + propagatedBuildInputs = [ sphinx sphinxcontrib-tikz ]; + + # No tests + doCheck = false; + pythonImportsCheck = [ "sphinxcontrib.bayesnet" ]; + + meta = with lib; { + homepage = "https://github.com/jluttine/sphinx-bayesnet"; + description = "Bayesian networks and factor graphs in Sphinx using TikZ syntax"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ jluttine ]; + }; +} diff --git a/pkgs/development/tools/misc/usbsdmux/default.nix b/pkgs/development/tools/misc/usbsdmux/default.nix index 59b5dc98239..ed7a6d8a220 100644 --- a/pkgs/development/tools/misc/usbsdmux/default.nix +++ b/pkgs/development/tools/misc/usbsdmux/default.nix @@ -2,13 +2,16 @@ python3Packages.buildPythonApplication rec { pname = "usbsdmux"; - version = "0.1.8"; + version = "0.2.0"; src = python3Packages.fetchPypi { inherit pname version; - sha256 = "0m3d0rs9s5v5hnsjkfybmd8v54gn7rc1dbg5vc48rryhc969pr9f"; + sha256 = "sha256-ydDUSqBTY62iOtWdgrFh2qrO9LMi+OCYIw5reh6uoIA="; }; + # usbsdmux is not meant to be used as an importable module and has no tests + doCheck = false; + meta = with lib; { description = "Control software for the LXA USB-SD-Mux"; homepage = "https://github.com/linux-automation/usbsdmux"; diff --git a/pkgs/development/tools/protoc-gen-twirp/default.nix b/pkgs/development/tools/protoc-gen-twirp/default.nix index ae92a105503..6ca016f8e6b 100644 --- a/pkgs/development/tools/protoc-gen-twirp/default.nix +++ b/pkgs/development/tools/protoc-gen-twirp/default.nix @@ -2,13 +2,13 @@ buildGoPackage rec { pname = "protoc-gen-twirp"; - version = "7.1.1"; + version = "7.2.0"; src = fetchFromGitHub { owner = "twitchtv"; repo = "twirp"; rev = "v${version}"; - sha256 = "sha256-GN7akAp0zzS8wVhgXlT1ceFUFKH4Sz74XQ8ofIE8T/k="; + sha256 = "sha256-W7t36F1St0YLPowHaZSboVNnvX7E2Lg5tPWeyeUSabA="; }; goPackagePath = "github.com/twitchtv/twirp"; @@ -18,6 +18,8 @@ buildGoPackage rec { "protoc-gen-twirp_python" ]; + doCheck = true; + meta = with lib; { description = "A simple RPC framework with protobuf service definitions"; homepage = "https://github.com/twitchtv/twirp"; diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix index d8b31810c54..cb10b8196aa 100644 --- a/pkgs/development/tools/rust/rust-analyzer/default.nix +++ b/pkgs/development/tools/rust/rust-analyzer/default.nix @@ -1,16 +1,58 @@ -{ pkgs, callPackage, CoreServices }: +{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, cmake +, libiconv +, useMimalloc ? false +, doCheck ? true +}: -{ - rust-analyzer-unwrapped = callPackage ./generic.nix rec { - rev = "2021-03-22"; - version = "unstable-${rev}"; - sha256 = "sha256-Q8yr5x4+R9UCk5kw/nJgBtGVBeZTDwyuwpyNJUKSPzA="; - cargoSha256 = "sha256-cJ5KPNrX1H4IfHENDGyU2rgxl5TTqvoeXk7558oqwuA="; +let + rev = "2021-04-05"; +in - inherit CoreServices; +rustPlatform.buildRustPackage { + pname = "rust-analyzer-unwrapped"; + version = "unstable-${rev}"; + cargoSha256 = "sha256-kDwdKa08E0h24lOOa7ALeNqHlMjMry/ru1qwCIyKmuE="; + + src = fetchFromGitHub { + owner = "rust-analyzer"; + repo = "rust-analyzer"; + inherit rev; + sha256 = "sha256-ZDxy87F3uz8bTF1/2LIy5r4Nv/M3xe97F7mwJNEFcUs="; }; - rust-analyzer = callPackage ./wrapper.nix {} { - unwrapped = pkgs.rust-analyzer-unwrapped; + buildAndTestSubdir = "crates/rust-analyzer"; + + cargoBuildFlags = lib.optional useMimalloc "--features=mimalloc"; + + nativeBuildInputs = lib.optional useMimalloc cmake; + + buildInputs = lib.optionals stdenv.isDarwin [ + CoreServices + libiconv + ]; + + RUST_ANALYZER_REV = rev; + + inherit doCheck; + preCheck = lib.optionalString doCheck '' + export RUST_SRC_PATH=${rustPlatform.rustLibSrc} + ''; + + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + versionOutput="$($out/bin/rust-analyzer --version)" + echo "'rust-analyzer --version' returns: $versionOutput" + [[ "$versionOutput" == "rust-analyzer ${rev}" ]] + runHook postInstallCheck + ''; + + passthru.updateScript = ./update.sh; + + meta = with lib; { + description = "An experimental modular compiler frontend for the Rust language"; + homepage = "https://github.com/rust-analyzer/rust-analyzer"; + license = with licenses; [ mit asl20 ]; + maintainers = with maintainers; [ oxalica ]; }; } diff --git a/pkgs/development/tools/rust/rust-analyzer/generic.nix b/pkgs/development/tools/rust/rust-analyzer/generic.nix deleted file mode 100644 index ddb834af6c3..00000000000 --- a/pkgs/development/tools/rust/rust-analyzer/generic.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, cmake -, libiconv -, useMimalloc ? false -, doCheck ? true - -# Version specific args -, rev, version, sha256, cargoSha256 -}: - -rustPlatform.buildRustPackage { - pname = "rust-analyzer-unwrapped"; - inherit version cargoSha256; - - src = fetchFromGitHub { - owner = "rust-analyzer"; - repo = "rust-analyzer"; - inherit rev sha256; - }; - - buildAndTestSubdir = "crates/rust-analyzer"; - - cargoBuildFlags = lib.optional useMimalloc "--features=mimalloc"; - - nativeBuildInputs = lib.optional useMimalloc cmake; - - buildInputs = lib.optionals stdenv.isDarwin [ - CoreServices - libiconv - ]; - - RUST_ANALYZER_REV = rev; - - inherit doCheck; - preCheck = lib.optionalString doCheck '' - export RUST_SRC_PATH=${rustPlatform.rustLibSrc} - ''; - - doInstallCheck = true; - installCheckPhase = '' - runHook preInstallCheck - versionOutput="$($out/bin/rust-analyzer --version)" - echo "'rust-analyzer --version' returns: $versionOutput" - [[ "$versionOutput" == "rust-analyzer ${rev}" ]] - runHook postInstallCheck - ''; - - passthru.updateScript = ./update.sh; - - patches = [ ./rust_1_49.patch ]; - - meta = with lib; { - description = "An experimental modular compiler frontend for the Rust language"; - homepage = "https://github.com/rust-analyzer/rust-analyzer"; - license = with licenses; [ mit asl20 ]; - maintainers = with maintainers; [ oxalica ]; - }; -} diff --git a/pkgs/development/tools/rust/rust-analyzer/rust_1_49.patch b/pkgs/development/tools/rust/rust-analyzer/rust_1_49.patch deleted file mode 100644 index fcde6d6337e..00000000000 --- a/pkgs/development/tools/rust/rust-analyzer/rust_1_49.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/crates/ide_assists/src/handlers/convert_iter_for_each_to_for.rs b/crates/ide_assists/src/handlers/convert_iter_for_each_to_for.rs -index 4e75a7b14..91f51a1a7 100644 ---- a/crates/ide_assists/src/handlers/convert_iter_for_each_to_for.rs -+++ b/crates/ide_assists/src/handlers/convert_iter_for_each_to_for.rs -@@ -93,7 +93,7 @@ fn validate_method_call_expr( - let krate = module.krate(); - - let iter_trait = FamousDefs(sema, Some(krate)).core_iter_Iterator()?; -- it_type.impls_trait(sema.db, iter_trait, &[]).then(|| (expr, receiver)) -+ if it_type.impls_trait(sema.db, iter_trait, &[]) { Some((expr, receiver)) } else { None } - } - - #[cfg(test)] diff --git a/pkgs/development/tools/rust/rust-analyzer/update.sh b/pkgs/development/tools/rust/rust-analyzer/update.sh index 1bd46862692..185ce70534c 100755 --- a/pkgs/development/tools/rust/rust-analyzer/update.sh +++ b/pkgs/development/tools/rust/rust-analyzer/update.sh @@ -25,7 +25,7 @@ echo "$old_rev -> $rev" sha256=$(nix-prefetch -f "$nixpkgs" rust-analyzer-unwrapped.src --rev "$rev") # Clear cargoSha256 to avoid inconsistency. sed -e "s#rev = \".*\"#rev = \"$rev\"#" \ - -e "s#sha256 = \".*\"#sha256 = \"$sha256\"#" \ + -e "/fetchFromGitHub/,/}/ s#sha256 = \".*\"#sha256 = \"$sha256\"#" \ -e "s#cargoSha256 = \".*\"#cargoSha256 = \"sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\"#" \ --in-place ./default.nix node_src="$(nix-build "$nixpkgs" -A rust-analyzer.src --no-out-link)/editors/code" diff --git a/pkgs/development/tools/rust/rust-analyzer/wrapper.nix b/pkgs/development/tools/rust/rust-analyzer/wrapper.nix index bed20628182..6fa5207de6e 100644 --- a/pkgs/development/tools/rust/rust-analyzer/wrapper.nix +++ b/pkgs/development/tools/rust/rust-analyzer/wrapper.nix @@ -1,17 +1,15 @@ -{ lib, rustPlatform, runCommandNoCC, makeWrapper }: - -lib.makeOverridable ({ - unwrapped, - pname ? "rust-analyzer", - version ? unwrapped.version, +{ lib, rustPlatform, runCommand, makeWrapper, rust-analyzer-unwrapped +, pname ? "rust-analyzer" +, version ? rust-analyzer-unwrapped.version # Use name from `RUST_SRC_PATH` - rustSrc ? rustPlatform.rustLibSrc, -}: runCommandNoCC "${pname}-${version}" { +, rustSrc ? rustPlatform.rustLibSrc +}: +runCommand "${pname}-${version}" { inherit pname version; - inherit (unwrapped) src meta; + inherit (rust-analyzer-unwrapped) src meta; nativeBuildInputs = [ makeWrapper ]; } '' mkdir -p $out/bin - makeWrapper ${unwrapped}/bin/rust-analyzer $out/bin/rust-analyzer \ + makeWrapper ${rust-analyzer-unwrapped}/bin/rust-analyzer $out/bin/rust-analyzer \ --set-default RUST_SRC_PATH "${rustSrc}" -'') +'' diff --git a/pkgs/misc/deepspeech/default.nix b/pkgs/misc/deepspeech/default.nix new file mode 100644 index 00000000000..eddeea6eb54 --- /dev/null +++ b/pkgs/misc/deepspeech/default.nix @@ -0,0 +1,34 @@ +{ stdenv, lib, fetchurl, autoPatchelfHook }: + +stdenv.mkDerivation rec { + pname = "deepspeech"; + version = "0.9.3"; + + src = fetchurl { + url = "https://github.com/mozilla/DeepSpeech/releases/download/v${version}/native_client.amd64.cpu.linux.tar.xz"; + sha256 = "1qy2gspprcxi76jk06ljp028xl0wkk1m3mqaxyf5qbhhfbvvpfap"; + }; + setSourceRoot = "sourceRoot=`pwd`"; + + nativeBuildInputs = [ + autoPatchelfHook + ]; + + buildInputs = [ + stdenv.cc.cc.lib + ]; + + installPhase = '' + install -D deepspeech $out/bin/deepspeech + install -D deepspeech.h $out/include/deepspeech.h + install -D libdeepspeech.so $out/lib/libdeepspeech.so + ''; + + meta = with lib; { + homepage = https://github.com/mozilla/DeepSpeech; + description = "Open source embedded (offline, on-device) speech-to-text engine, which can run in real time on broad range of devices"; + license = licenses.mpl20; + platforms = [ "x86_64-linux" ]; + maintainers = with maintainers; [ rvolosatovs ]; + }; +} diff --git a/pkgs/servers/gemini/agate/default.nix b/pkgs/servers/gemini/agate/default.nix index f2729907955..a52e759bb35 100644 --- a/pkgs/servers/gemini/agate/default.nix +++ b/pkgs/servers/gemini/agate/default.nix @@ -2,19 +2,26 @@ rustPlatform.buildRustPackage rec { pname = "agate"; - version = "3.0.1"; + version = "3.0.2"; src = fetchFromGitHub { owner = "mbrubeck"; repo = pname; rev = "v${version}"; - sha256 = "sha256-ODD5XwLYVUJOHQCETVUqMUojL4Y8eWJ/xhmfzV9Cp3k="; + sha256 = "sha256-+X1ibnYAUB34u8+oNBSkjLtsArxlrg0Nq5zJrXi7Rfk="; }; - cargoSha256 = "sha256-PJOlXFx+MYfq7daaOEZ5wPuWD7gAr8gc/5AJG2SYTq4="; + cargoSha256 = "sha256-ZVu7wQFe+FHWX2wevVYct1dQSE9rFET8bkmv85wNV8A="; buildInputs = lib.optionals stdenv.isDarwin [ Security ]; + checkFlags = [ + # Username and Password use the same ports and causes collision + # https://github.com/mbrubeck/agate/issues/50 + "--skip username" + "--skip password" + ]; + doInstallCheck = true; installCheckPhase = '' runHook preInstallCheck diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 95098ddc667..66b38c5ffe3 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -202,14 +202,14 @@ "ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy "ecoal_boiler" = ps: with ps; [ ]; # missing inputs: ecoaliface "ecobee" = ps: with ps; [ ]; # missing inputs: python-ecobee-api - "econet" = ps: with ps; [ ]; # missing inputs: pyeconet + "econet" = ps: with ps; [ pyeconet ]; "ecovacs" = ps: with ps; [ ]; # missing inputs: sucks "eddystone_temperature" = ps: with ps; [ construct ]; # missing inputs: beacontools[scan] "edimax" = ps: with ps; [ pyedimax ]; "edl21" = ps: with ps; [ ]; # missing inputs: pysml "ee_brightbox" = ps: with ps; [ ]; # missing inputs: eebrightbox "efergy" = ps: with ps; [ ]; - "egardia" = ps: with ps; [ ]; # missing inputs: pythonegardia + "egardia" = ps: with ps; [ pythonegardia ]; "eight_sleep" = ps: with ps; [ pyeight ]; "elgato" = ps: with ps; [ ]; # missing inputs: elgato "eliqonline" = ps: with ps; [ ]; # missing inputs: eliqonline @@ -238,7 +238,7 @@ "eufy" = ps: with ps; [ ]; # missing inputs: lakeside "everlights" = ps: with ps; [ pyeverlights ]; "evohome" = ps: with ps; [ evohome-async ]; - "ezviz" = ps: with ps; [ ]; # missing inputs: pyezviz + "ezviz" = ps: with ps; [ pyezviz ]; "faa_delays" = ps: with ps; [ faadelays ]; "facebook" = ps: with ps; [ ]; "facebox" = ps: with ps; [ ]; @@ -397,7 +397,7 @@ "integration" = ps: with ps; [ ]; "intent" = ps: with ps; [ aiohttp-cors ]; "intent_script" = ps: with ps; [ ]; - "intesishome" = ps: with ps; [ ]; # missing inputs: pyintesishome + "intesishome" = ps: with ps; [ pyintesishome ]; "ios" = ps: with ps; [ aiohttp-cors zeroconf ]; "iota" = ps: with ps; [ ]; # missing inputs: pyota "iperf3" = ps: with ps; [ ]; # missing inputs: iperf3 @@ -467,7 +467,7 @@ "luftdaten" = ps: with ps; [ luftdaten ]; "lupusec" = ps: with ps; [ ]; # missing inputs: lupupy "lutron" = ps: with ps; [ pylutron ]; - "lutron_caseta" = ps: with ps; [ ]; # missing inputs: aiolip pylutron-caseta + "lutron_caseta" = ps: with ps; [ aiolip pylutron-caseta ]; "lw12wifi" = ps: with ps; [ ]; # missing inputs: lw12 "lyft" = ps: with ps; [ ]; # missing inputs: lyft_rides "lyric" = ps: with ps; [ aiohttp-cors aiolyric ]; @@ -535,7 +535,7 @@ "mystrom" = ps: with ps; [ aiohttp-cors python-mystrom ]; "mythicbeastsdns" = ps: with ps; [ ]; # missing inputs: mbddns "n26" = ps: with ps; [ ]; # missing inputs: n26 - "nad" = ps: with ps; [ ]; # missing inputs: nad_receiver + "nad" = ps: with ps; [ nad-receiver ]; "namecheapdns" = ps: with ps; [ defusedxml ]; "nanoleaf" = ps: with ps; [ pynanoleaf ]; "neato" = ps: with ps; [ aiohttp-cors pybotvac ]; @@ -705,7 +705,7 @@ "rpi_rf" = ps: with ps; [ ]; # missing inputs: rpi-rf "rss_feed_template" = ps: with ps; [ aiohttp-cors ]; "rtorrent" = ps: with ps; [ ]; - "ruckus_unleashed" = ps: with ps; [ ]; # missing inputs: pyruckus + "ruckus_unleashed" = ps: with ps; [ pyruckus ]; "russound_rio" = ps: with ps; [ ]; # missing inputs: russound_rio "russound_rnet" = ps: with ps; [ ]; # missing inputs: russound "sabnzbd" = ps: with ps; [ aiohttp-cors netdisco zeroconf ]; # missing inputs: pysabnzbd diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index f71a5018291..ff890629c3f 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -213,6 +213,7 @@ in with py.pkgs; buildPythonApplication rec { "devolo_home_control" "dhcp" "discovery" + "econet" "emulated_hue" "esphome" "fan" @@ -269,6 +270,7 @@ in with py.pkgs; buildPythonApplication rec { "logentries" "logger" "lovelace" + "lutron_caseta" "manual" "manual_mqtt" "mazda" diff --git a/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix b/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix new file mode 100644 index 00000000000..07e58e471d8 --- /dev/null +++ b/pkgs/servers/monitoring/alertmanager-irc-relay/default.nix @@ -0,0 +1,29 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "alertmanager-irc-relay"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "google"; + repo = "alertmanager-irc-relay"; + rev = "v${version}"; + sha256 = "sha256-SmyKk0vSXfHzRxOdbULD2Emju/VjDcXZZ7cgVbZxGIA="; + }; + + vendorSha256 = "sha256-aJVA9MJ9DK/dCo7aSB9OLfgKGN5L6Sw2k2aOR4J2LE4="; + + buildFlagsArray = [ "-ldflags=-s -w" ]; + + meta = with lib; { + description = "Alertmanager IRC Relay is a bot relaying Prometheus alerts to IRC"; + longDescription = '' + Alertmanager IRC Relay is a bot relaying Prometheus alerts to IRC. + Alerts are received from Prometheus using Webhooks and are relayed to an + IRC channel + ''; + homepage = "https://github.com/google/alertmanager-irc-relay"; + license = licenses.asl20; + maintainers = with maintainers; [ ymatsiuk ]; + }; +} diff --git a/pkgs/tools/audio/spotdl/default.nix b/pkgs/tools/audio/spotdl/default.nix index 520af8404ae..5dc6e39f8d2 100644 --- a/pkgs/tools/audio/spotdl/default.nix +++ b/pkgs/tools/audio/spotdl/default.nix @@ -1,20 +1,30 @@ { lib , python3 , fetchFromGitHub +, fetchpatch , ffmpeg }: python3.pkgs.buildPythonApplication rec { pname = "spotdl"; - version = "3.5.0"; + version = "3.5.1"; src = fetchFromGitHub { owner = "spotDL"; repo = "spotify-downloader"; rev = "v${version}"; - sha256 = "1nxf911hi578jw24hlcvyy33z1pkvr41pfrywbs3157rj1fj2vfi"; + sha256 = "sha256-Mc0aODyt0rwmBhkvY/gH1ODz4k8LOxyU5xXglSb6sPs="; }; + patches = [ + # https://github.com/spotDL/spotify-downloader/pull/1254 + (fetchpatch { + name = "subprocess-dont-use-shell.patch"; + url = "https://github.com/spotDL/spotify-downloader/commit/fe9848518900577776b463ef0798796201e226ac.patch"; + sha256 = "1kqq3y31dcx1zglywr564hkd2px3qx6sk3rkg7yz8n5hnfjhp6fn"; + }) + ]; + propagatedBuildInputs = with python3.pkgs; [ spotipy pytube @@ -32,6 +42,7 @@ python3.pkgs.buildPythonApplication rec { pytest-mock pytest-vcr pyfakefs + pytest-subprocess ]; makeWrapperArgs = [ diff --git a/pkgs/tools/misc/rmlint/default.nix b/pkgs/tools/misc/rmlint/default.nix index 09ebbe33a34..8211c5aebc7 100644 --- a/pkgs/tools/misc/rmlint/default.nix +++ b/pkgs/tools/misc/rmlint/default.nix @@ -18,6 +18,8 @@ , wrapGAppsHook , withGui ? false }: +assert withGui -> !stdenv.isDarwin; + with lib; stdenv.mkDerivation rec { pname = "rmlint"; @@ -30,12 +32,9 @@ stdenv.mkDerivation rec { sha256 = "15xfkcw1bkfyf3z8kl23k3rlv702m0h7ghqxvhniynvlwbgh6j2x"; }; - CFLAGS="-I${lib.getDev util-linux}/include"; - nativeBuildInputs = [ pkg-config sphinx - gettext scons ] ++ lib.optionals withGui [ makeWrapper @@ -57,9 +56,21 @@ stdenv.mkDerivation rec { python3.pkgs.pygobject3 ]; - # this doesn't seem to support configureFlags, and appends $out afterwards, - # so add the --without-gui in front of it - prefixKey = lib.optionalString (!withGui) " --without-gui " + "--prefix="; + prePatch = '' + export CFLAGS="$NIX_CFLAGS_COMPILE" + export LDFLAGS="''${NIX_LDFLAGS//-rpath /-Wl,-rpath=}" + + # remove sources of nondeterminism + substituteInPlace lib/cmdline.c \ + --replace "__DATE__" "\"Jan 1 1970\"" \ + --replace "__TIME__" "\"00:00:00\"" + substituteInPlace docs/SConscript \ + --replace "gzip -c " "gzip -cn " + ''; + + prefixKey = "--prefix="; + + sconsFlags = lib.optionals (!withGui) [ "--without-gui" ]; # in GUI mode, this shells out to itself, and tries to import python modules postInstall = lib.optionalString withGui '' @@ -70,8 +81,8 @@ stdenv.mkDerivation rec { meta = { description = "Extremely fast tool to remove duplicates and other lint from your filesystem"; homepage = "https://rmlint.readthedocs.org"; - platforms = platforms.linux; + platforms = platforms.unix; license = licenses.gpl3; - maintainers = [ maintainers.koral ]; + maintainers = with maintainers; [ aaschmid koral ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7f395b81856..ee30924e1d7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11323,10 +11323,10 @@ in rustracerd = callPackage ../development/tools/rust/racerd { inherit (darwin.apple_sdk.frameworks) Security; }; - inherit (callPackage ../development/tools/rust/rust-analyzer { + rust-analyzer-unwrapped = callPackage ../development/tools/rust/rust-analyzer { inherit (darwin.apple_sdk.frameworks) CoreServices; - }) - rust-analyzer-unwrapped rust-analyzer; + }; + rust-analyzer = callPackage ../development/tools/rust/rust-analyzer/wrapper.nix { }; rust-bindgen = callPackage ../development/tools/rust/bindgen { }; rust-cbindgen = callPackage ../development/tools/rust/cbindgen { inherit (darwin.apple_sdk.frameworks) Security; @@ -19293,6 +19293,8 @@ in alertmanager-bot = callPackage ../servers/monitoring/alertmanager-bot { }; + alertmanager-irc-relay = callPackage ../servers/monitoring/alertmanager-irc-relay { }; + alsa-firmware = callPackage ../os-specific/linux/alsa-firmware { }; alsaLib = callPackage ../os-specific/linux/alsa-lib { }; @@ -21753,6 +21755,8 @@ in masterpdfeditor4 = libsForQt5.callPackage ../applications/misc/masterpdfeditor4 { }; + foxitreader = libsForQt512.callPackage ../applications/misc/foxitreader { }; + aeolus = callPackage ../applications/audio/aeolus { }; aewan = callPackage ../applications/editors/aewan { }; @@ -24877,6 +24881,8 @@ in obs-move-transition = callPackage ../applications/video/obs-studio/obs-move-transition.nix { }; + obs-multi-rtmp = libsForQt5.callPackage ../applications/video/obs-studio/obs-multi-rtmp.nix { }; + obs-v4l2sink = libsForQt5.callPackage ../applications/video/obs-studio/v4l2sink.nix { }; obs-ndi = libsForQt5.callPackage ../applications/video/obs-studio/obs-ndi.nix { }; @@ -29472,6 +29478,8 @@ in dbus-map = callPackage ../tools/misc/dbus-map { }; + deepspeech = callPackage ../misc/deepspeech { }; + dell-530cdn = callPackage ../misc/drivers/dell-530cdn {}; demjson = with python3Packages; toPythonApplication demjson; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 42c60ad5f35..6fc8843a07d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -303,6 +303,8 @@ in { aiolifx-effects = callPackage ../development/python-modules/aiolifx-effects { }; + aiolip = callPackage ../development/python-modules/aiolip { }; + aiolyric = callPackage ../development/python-modules/aiolyric { }; aiomultiprocess = callPackage ../development/python-modules/aiomultiprocess { }; @@ -4530,6 +4532,8 @@ in { mysql-connector = callPackage ../development/python-modules/mysql-connector { }; + nad-receiver = callPackage ../development/python-modules/nad-receiver { }; + nagiosplugin = callPackage ../development/python-modules/nagiosplugin { }; namebench = callPackage ../development/python-modules/namebench { }; @@ -4618,6 +4622,8 @@ in { nevow = callPackage ../development/python-modules/nevow { }; + nexia = callPackage ../development/python-modules/nexia { }; + nghttp2 = (toPythonModule (pkgs.nghttp2.override { inherit (self) python cython setuptools; inherit (pkgs) ncurses; @@ -5220,6 +5226,8 @@ in { pyshark = callPackage ../development/python-modules/pyshark { }; + pytest-subprocess = callPackage ../development/python-modules/pytest-subprocess { }; + python-codon-tables = callPackage ../development/python-modules/python-codon-tables { }; python-csxcad = callPackage ../development/python-modules/python-csxcad { }; @@ -5716,6 +5724,8 @@ in { pyechonest = callPackage ../development/python-modules/pyechonest { }; + pyeconet = callPackage ../development/python-modules/pyeconet { }; + pyedimax = callPackage ../development/python-modules/pyedimax { }; pyee = callPackage ../development/python-modules/pyee { }; @@ -5754,6 +5764,8 @@ in { pyext = callPackage ../development/python-modules/pyext { }; + pyezviz = callPackage ../development/python-modules/pyezviz { }; + pyface = callPackage ../development/python-modules/pyface { }; pyfaidx = callPackage ../development/python-modules/pyfaidx { }; @@ -5893,6 +5905,8 @@ in { pyinsteon = callPackage ../development/python-modules/pyinsteon { }; + pyintesishome = callPackage ../development/python-modules/pyintesishome { }; + pyipp = callPackage ../development/python-modules/pyipp { }; pyiqvia = callPackage ../development/python-modules/pyiqvia { }; @@ -5991,6 +6005,8 @@ in { pylutron = callPackage ../development/python-modules/pylutron { }; + pylutron-caseta = callPackage ../development/python-modules/pylutron-caseta { }; + pylxd = callPackage ../development/python-modules/pylxd { }; pymacaroons = callPackage ../development/python-modules/pymacaroons { }; @@ -6303,6 +6319,8 @@ in { pyrtlsdr = callPackage ../development/python-modules/pyrtlsdr { }; + pyruckus = callPackage ../development/python-modules/pyruckus { }; + pysam = callPackage ../development/python-modules/pysam { }; pysaml2 = callPackage ../development/python-modules/pysaml2 { @@ -6748,6 +6766,8 @@ in { pythonefl = callPackage ../development/python-modules/python-efl { }; + pythonegardia = callPackage ../development/python-modules/pythonegardia { }; + python-engineio = callPackage ../development/python-modules/python-engineio { }; python-engineio_3 = callPackage ../development/python-modules/python-engineio/3.nix { }; @@ -7943,6 +7963,8 @@ in { sphinxcontrib-autoapi = callPackage ../development/python-modules/sphinxcontrib-autoapi { }; + sphinxcontrib-bayesnet = callPackage ../development/python-modules/sphinxcontrib-bayesnet { }; + sphinxcontrib-bibtex = callPackage ../development/python-modules/sphinxcontrib-bibtex { }; sphinxcontrib-blockdiag = callPackage ../development/python-modules/sphinxcontrib-blockdiag { }; |