diff --git a/pkgs/applications/misc/solaar/default.nix b/pkgs/applications/misc/solaar/default.nix index f92fe87b9481..bb1573f74c54 100644 --- a/pkgs/applications/misc/solaar/default.nix +++ b/pkgs/applications/misc/solaar/default.nix @@ -1,46 +1,59 @@ { fetchFromGitHub, lib, gobject-introspection, gtk3, python3Packages }: -# Although we copy in the udev rules here, you probably just want to use logitech-udev-rules instead of -# adding this to services.udev.packages on NixOS + +# Although we copy in the udev rules here, you probably just want to use +# logitech-udev-rules instead of adding this to services.udev.packages on NixOS python3Packages.buildPythonApplication rec { pname = "solaar"; - version = "1.0.2"; + version = "1.0.5"; + src = fetchFromGitHub { owner = "pwr-Solaar"; repo = "Solaar"; rev = version; - sha256 = "0k5z9dap6rawiafkg1x7zjx51ala7wra6j6lvc2nn0y8r79yp7a9"; + sha256 = "sha256-k87DqIkvy5CVEsHT82ZArSM2JBi5sYdSCPfP4KjI850="; }; - propagatedBuildInputs = with python3Packages; [ gobject-introspection gtk3 pygobject3 pyudev ]; + propagatedBuildInputs = with python3Packages; [ + gobject-introspection + gtk3 + psutil + pygobject3 + pyudev + pyyaml + xlib + ]; + makeWrapperArgs = [ + "--prefix PYTHONPATH : $PYTHONPATH" + "--prefix GI_TYPELIB_PATH : $GI_TYPELIB_PATH" + ]; + + # the -cli symlink is just to maintain compabilility with older versions where + # there was a difference between the GUI and CLI versions. postInstall = '' - wrapProgram "$out/bin/solaar" \ - --prefix PYTHONPATH : "$PYTHONPATH" \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" - wrapProgram "$out/bin/solaar-cli" \ - --prefix PYTHONPATH : "$PYTHONPATH" \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" + ln -s $out/bin/solaar $out/bin/solaar-cli - install -Dm644 -t $out/etc/udev/rules.d rules.d/*.rules + install -Dm444 -t $out/etc/udev/rules.d rules.d/*.rules ''; - enableParallelBuilding = true; + # No tests + doCheck = false; + meta = with lib; { description = "Linux devices manager for the Logitech Unifying Receiver"; longDescription = '' - Solaar is a Linux device manager for Logitech’s Unifying Receiver - peripherals. It is able to pair/unpair devices to the receiver, and for - most devices read battery status. + Solaar is a Linux manager for many Logitech keyboards, mice, and trackpads that + connect wirelessly to a USB Unifying, Lightspeed, or Nano receiver, connect + directly via a USB cable, or connect via Bluetooth. Solaar does not work with + peripherals from other companies. - It comes in two flavors, command-line and GUI. Both are able to list the - devices paired to a Unifying Receiver, show detailed info for each - device, and also pair/unpair supported devices with the receiver. + Solaar can be used as a GUI application or via its command-line interface. - To be able to use it, make sure you have access to /dev/hidraw* files. + This tool requires either to be run with root/sudo or alternatively to have the udev rules files installed. On NixOS this can be achieved by setting `hardware.logitech.wireless.enable`. ''; - license = licenses.gpl2; homepage = "https://pwr-solaar.github.io/Solaar/"; - platforms = platforms.linux; + license = licenses.gpl2Only; maintainers = with maintainers; [ spinus ysndr ]; + platforms = platforms.linux; }; } diff --git a/pkgs/development/arduino/arduino-cli/default.nix b/pkgs/development/arduino/arduino-cli/default.nix index 95586d064d96..9629d90a3453 100644 --- a/pkgs/development/arduino/arduino-cli/default.nix +++ b/pkgs/development/arduino/arduino-cli/default.nix @@ -4,18 +4,18 @@ let pkg = buildGoModule rec { pname = "arduino-cli"; - version = "0.12.1"; + version = "0.18.1"; src = fetchFromGitHub { owner = "arduino"; repo = pname; rev = version; - sha256 = "1jlxs4szss2250zp8rz4bislgnzvqhxyp6z48dhx7zaam03hyf0w"; + sha256 = "sha256-EtkONrP/uaetsdC47WsyQOE71Gsz0wKUiTiYThj8Kq8="; }; subPackages = [ "." ]; - vendorSha256 = "03yj2iar63qm10fw3jh9fvz57c2sqcmngb0mj5jkhbnwf8nl7mhc"; + vendorSha256 = "sha256-kPIhG6lsH+0IrYfdlzdv/X/cUQb22Xza9Q6ywjKae/4="; doCheck = false; @@ -32,15 +32,20 @@ let }; +in +if stdenv.isLinux then # buildFHSUserEnv is needed because the arduino-cli downloads compiler # toolchains from the internet that have their interpreters pointed at # /lib64/ld-linux-x86-64.so.2 -in buildFHSUserEnv { - inherit (pkg) name meta; + buildFHSUserEnv + { + inherit (pkg) name meta; - runScript = "${pkg.outPath}/bin/arduino-cli"; + runScript = "${pkg.outPath}/bin/arduino-cli"; - extraInstallCommands = '' - mv $out/bin/$name $out/bin/arduino-cli - ''; -} + extraInstallCommands = '' + mv $out/bin/$name $out/bin/arduino-cli + ''; + } +else + pkg diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix index 6203eaf47baf..c90f689e21cc 100644 --- a/pkgs/development/compilers/rust/default.nix +++ b/pkgs/development/compilers/rust/default.nix @@ -35,6 +35,7 @@ "armv7a" = "armv7"; "armv7l" = "armv7"; "armv6l" = "arm"; + "armv5tel" = "armv5te"; }.${cpu.name} or cpu.name; in platform.rustc.config or "${cpu_}-${vendor.name}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}"; diff --git a/pkgs/os-specific/linux/logitech-udev-rules/default.nix b/pkgs/os-specific/linux/logitech-udev-rules/default.nix index fde75fdcd650..0b0e9e8f203d 100644 --- a/pkgs/os-specific/linux/logitech-udev-rules/default.nix +++ b/pkgs/os-specific/linux/logitech-udev-rules/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation { inherit (solaar) version; buildCommand = '' - install -Dm644 -t $out/etc/udev/rules.d ${solaar.src}/rules.d/*.rules + install -Dm444 -t $out/etc/udev/rules.d ${solaar.src}/rules.d/*.rules ''; meta = with lib; { diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix index 3a10881b6055..c70b907c792e 100644 --- a/pkgs/tools/audio/tts/default.nix +++ b/pkgs/tools/audio/tts/default.nix @@ -12,61 +12,41 @@ # # If you upgrade from an old version you may have to delete old models from ~/.local/share/tts # Also note that your tts version might not support all available models so check: -# https://github.com/coqui-ai/TTS/releases/tag/v0.0.12 +# https://github.com/coqui-ai/TTS/releases/tag/v0.0.13 # # For now, for deployment check the systemd unit in the pull request: # https://github.com/NixOS/nixpkgs/pull/103851#issue-521121136 python3Packages.buildPythonApplication rec { pname = "tts"; - version = "0.0.12"; + version = "0.0.13"; src = fetchFromGitHub { owner = "coqui-ai"; repo = "TTS"; rev = "v${version}"; - sha256 = "sha256-0M9wcdBmuTK+NvEGsXEdoYiVFjw8G2MRUwmi1PJgmzI="; + sha256 = "1sh7sjkh7ihbkqc7sl4hnzci0n7gv4s140dykpb1havaqyfhjn8l"; }; - patches = [ - # https://github.com/coqui-ai/TTS/pull/435 - (fetchpatch { - url = "https://github.com/coqui-ai/TTS/commit/97f98e4c4584ef14ed2f4885aa02c162d9364a00.patch"; - sha256 = "sha256-DAZYOOAe+6TYBF5ukFq5HRwm49askEvNEivuwb/oCWM="; - }) - ]; - preBuild = '' - # numba jit tries to write to its cache directory - export HOME=$TMPDIR - # we only support pytorch models right now - sed -i -e '/tensorflow/d' requirements.txt - - sed -i -e 's!librosa==[^"]*!librosa!' requirements.txt setup.py - sed -i -e 's!unidecode==[^"]*!unidecode!' requirements.txt setup.py - sed -i -e 's!bokeh==[^"]*!bokeh!' requirements.txt setup.py - sed -i -e 's!numba==[^"]*!numba!' requirements.txt setup.py - sed -i -e 's!numpy==[^"]*!numpy!' requirements.txt setup.py - sed -i -e 's!umap-learn==[^"]*!umap-learn!' requirements.txt setup.py - # Not required for building/installation but for their development/ci workflow - sed -i -e '/black/d' requirements.txt - sed -i -e '/isor/d' requirements.txt - sed -i -e '/pylint/d' requirements.txt - sed -i -e '/cardboardlint/d' requirements.txt setup.py + sed -i -e 's!librosa==[^"]*!librosa!' requirements.txt + sed -i -e 's!unidecode==[^"]*!unidecode!' requirements.txt + sed -i -e 's!numpy==[^"]*!numpy!' requirements.txt + sed -i -e 's!umap-learn==[^"]*!umap-learn!' requirements.txt ''; - nativeBuildInputs = [ python3Packages.cython ]; + nativeBuildInputs = with python3Packages; [ + cython + ]; propagatedBuildInputs = with python3Packages; [ - attrdict - bokeh flask - fuzzywuzzy gdown inflect jieba librosa matplotlib + pandas phonemizer pypinyin pysbd @@ -88,22 +68,30 @@ python3Packages.buildPythonApplication rec { ) ''; - checkInputs = with python3Packages; [ pytestCheckHook ]; + checkInputs = with python3Packages; [ + pytestCheckHook + ]; disabledTests = [ # RuntimeError: fft: ATen not compiled with MKL support "test_torch_stft" "test_stft_loss" "test_multiscale_stft_loss" - # AssertionErrors that I feel incapable of debugging - "test_phoneme_to_sequence" - "test_text2phone" + # assert tensor(1.1904e-07, dtype=torch.float64) <= 0 "test_parametrized_gan_dataset" + # RuntimeError: expected scalar type Double but found Float + "test_speaker_embedding" + # Requires network acccess to download models + "test_synthesize" ]; preCheck = '' # use the installed TTS in $PYTHONPATH instead of the one from source to also have cython modules. mv TTS{,.old} + export PATH=$out/bin:$PATH + + # numba tries to write to HOME directory + export HOME=$TMPDIR ''; disabledTestPaths = [ diff --git a/pkgs/tools/misc/ltunify/default.nix b/pkgs/tools/misc/ltunify/default.nix index b97a0e42ee00..df425162d847 100644 --- a/pkgs/tools/misc/ltunify/default.nix +++ b/pkgs/tools/misc/ltunify/default.nix @@ -1,23 +1,26 @@ { lib, stdenv, fetchFromGitHub }: -# Although we copy in the udev rules here, you probably just want to use logitech-udev-rules instead of -# adding this to services.udev.packages on NixOS +# Although we copy in the udev rules here, you probably just want to use +# logitech-udev-rules instead of adding this to services.udev.packages on NixOS -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "ltunify"; - version = "unstable-20180330"; + version = "0.3"; src = fetchFromGitHub { - owner = "Lekensteyn"; - repo = "ltunify"; - rev = "f664d1d41d5c4beeac5b81e485c3498f13109db7"; - sha256 = "07sqhih9jmm7vgiwqsjzihd307cj7l096sxjl25p7nwr1q4180wv"; + owner = "Lekensteyn"; + repo = "ltunify"; + rev = "v${version}"; + sha256 = "sha256-9avri/2H0zv65tkBsIi9yVxx3eVS9oCkVCCFdjXqSgI="; }; makeFlags = [ "DESTDIR=$(out)" "bindir=/bin" ]; meta = with lib; { description = "Tool for working with Logitech Unifying receivers and devices"; + longDescription = '' + This tool requires either to be run with root/sudo or alternatively to have the udev rules files installed. On NixOS this can be achieved by setting `hardware.logitech.wireless.enable`. + ''; homepage = "https://lekensteyn.nl/logitech-unifying.html"; license = licenses.gpl3Plus; maintainers = with maintainers; [ abbradar ];