diff --git a/doc/languages-frameworks/dotnet.section.md b/doc/languages-frameworks/dotnet.section.md index 1bcb6e45210e..738d7bad271e 100644 --- a/doc/languages-frameworks/dotnet.section.md +++ b/doc/languages-frameworks/dotnet.section.md @@ -70,6 +70,40 @@ The `dotnetCorePackages.sdk` contains both a runtime and the full sdk of a given ## Packaging a Dotnet Application {#packaging-a-dotnet-application} -Ideally, we would like to build against the sdk, then only have the dotnet runtime available in the runtime closure. +To package Dotnet applications, you can use `buildDotnetModule`. This has similar arguments to `stdenv.mkDerivation`, with the following additions: -TODO: Create closure-friendly way to package dotnet applications +* `projectFile` has to be used for specifying the dotnet project file relative to the source root. These usually have `.sln` or `.csproj` file extensions. +* `nugetDeps` has to be used to specify the NuGet dependency file. Unfortunately, these cannot be deterministically fetched without a lockfile. This file should be generated using `nuget-to-nix` tool, which is available in nixpkgs. +* `executables` is used to specify which executables get wrapped to `$out/bin`, relative to `$out/lib/$pname`. If this is unset, all executables generated will get installed. If you do not want to install any, set this to `[]`. +* `runtimeDeps` is used to wrap libraries into `LD_LIBRARY_PATH`. This is how dotnet usually handles runtime dependencies. +* `buildType` is used to change the type of build. Possible values are `Release`, `Debug`, etc. By default, this is set to `Release`. +* `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used. +* `dotnet-runtime` is useful in cases where you need to change what dotnet runtime is being used. +* `dotnetRestoreFlags` can be used to pass flags to `dotnet restore`. +* `dotnetBuildFlags` can be used to pass flags to `dotnet build`. +* `dotnetInstallFlags` can be used to pass flags to `dotnet install`. +* `dotnetFlags` can be used to pass flags to all of the above phases. + +Here is an example `default.nix`, using some of the previously discussed arguments: +```nix +{ lib, buildDotnetModule, dotnetCorePackages, ffmpeg }: + +buildDotnetModule rec { + pname = "someDotnetApplication"; + version = "0.1"; + + src = ./.; + + projectFile = "src/project.sln"; + nugetDeps = ./deps.nix; # File generated with `nuget-to-nix path/to/src > deps.nix`. + + dotnet-sdk = dotnetCorePackages.sdk_3_1; + dotnet-runtime = dotnetCorePackages.net_5_0; + dotnetFlags = [ "--runtime linux-x64" ]; + + executables = [ "foo" ]; # This wraps "$out/lib/$pname/foo" to `$out/bin/foo`. + executables = []; # Don't install any executables. + + runtimeDeps = [ ffmpeg ]; # This will wrap ffmpeg's library path into `LD_LIBRARY_PATH`. +} +``` diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml index b010f27cac02..f221693e764c 100644 --- a/doc/languages-frameworks/index.xml +++ b/doc/languages-frameworks/index.xml @@ -12,6 +12,7 @@ + diff --git a/nixos/modules/services/monitoring/teamviewer.nix b/nixos/modules/services/monitoring/teamviewer.nix index ce9e57a187cd..e2271e571c40 100644 --- a/nixos/modules/services/monitoring/teamviewer.nix +++ b/nixos/modules/services/monitoring/teamviewer.nix @@ -24,18 +24,21 @@ in environment.systemPackages = [ pkgs.teamviewer ]; + services.dbus.packages = [ pkgs.teamviewer ]; + systemd.services.teamviewerd = { description = "TeamViewer remote control daemon"; wantedBy = [ "multi-user.target" ]; - after = [ "NetworkManager-wait-online.service" "network.target" ]; + after = [ "NetworkManager-wait-online.service" "network.target" "dbus.service" ]; + requires = [ "dbus.service" ]; preStart = "mkdir -pv /var/lib/teamviewer /var/log/teamviewer"; startLimitIntervalSec = 60; startLimitBurst = 10; serviceConfig = { - Type = "forking"; - ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -d"; + Type = "simple"; + ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -f"; PIDFile = "/run/teamviewerd.pid"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; Restart = "on-abort"; diff --git a/pkgs/applications/blockchains/lightning-pool/default.nix b/pkgs/applications/blockchains/lightning-pool/default.nix index 978509cc2379..f33ede49398a 100644 --- a/pkgs/applications/blockchains/lightning-pool/default.nix +++ b/pkgs/applications/blockchains/lightning-pool/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "lightning-pool"; - version = "0.5.0-alpha"; + version = "0.5.1-alpha"; src = fetchFromGitHub { owner = "lightninglabs"; repo = "pool"; rev = "v${version}"; - sha256 = "0i8qkxnrx3a89aw3v0mx7przlldl8kc0ng6g1m435366y6nzdarb"; + sha256 = "147s0p4arfxl2akzm267p8zfy6hgssym5rwxv78kp8i39mfinpkn"; }; - vendorSha256 = "04v2788w8l734n5xz6fwjbwkqlbk8q77nwncjpn7890mw75yd3rn"; + vendorSha256 = "0zd3bwqi0hnk0562x9hd62cwjw1xj386m83jagg41kzz0cpcr7zl"; subPackages = [ "cmd/pool" "cmd/poold" ]; diff --git a/pkgs/applications/misc/toot/default.nix b/pkgs/applications/misc/toot/default.nix index 2a322b208819..933464b62631 100644 --- a/pkgs/applications/misc/toot/default.nix +++ b/pkgs/applications/misc/toot/default.nix @@ -1,14 +1,14 @@ { lib, fetchFromGitHub, python3Packages }: python3Packages.buildPythonApplication rec { - version = "0.27.0"; - name = "toot-${version}"; + pname = "toot"; + version = "0.28.0"; src = fetchFromGitHub { owner = "ihabunek"; repo = "toot"; rev = version; - sha256 = "197g9lvwg8qnsf18kifcqdj3cpfdnxz9vay766rn9bi4nfz0s6j2"; + sha256 = "076r6l89gxjwxjpiklidcs8yajn5c2bnqjvbj4wc559iqdqj88lz"; }; checkInputs = with python3Packages; [ pytest ]; diff --git a/pkgs/applications/networking/p2p/freenet/default.nix b/pkgs/applications/networking/p2p/freenet/default.nix index cfb228514cb7..ad791f46d739 100644 --- a/pkgs/applications/networking/p2p/freenet/default.nix +++ b/pkgs/applications/networking/p2p/freenet/default.nix @@ -15,7 +15,7 @@ let url = "https://downloads.freenetproject.org/alpha/opennet/seednodes.fref"; sha256 = "08awwr8n80b4cdzzb3y8hf2fzkr1f2ly4nlq779d6pvi5jymqdvv"; }; - version = "build01475"; + version = "build01480"; freenet-jars = stdenv.mkDerivation { pname = "freenet-jars"; @@ -25,7 +25,7 @@ let owner = "freenet"; repo = "fred"; rev = version; - sha256 = "0k02fna9x219j7dhginbnf27i36bibb0rmm4qdwr5xm28hy1nd08"; + sha256 = "0wddkfyhsgs7bcq9svicz6l0a35yv82yqzmji3c345hg4hbch3kb"; }; patchPhase = '' diff --git a/pkgs/applications/networking/remote/teamviewer/default.nix b/pkgs/applications/networking/remote/teamviewer/default.nix index 1b564e8daf4b..158f2aa327e0 100644 --- a/pkgs/applications/networking/remote/teamviewer/default.nix +++ b/pkgs/applications/networking/remote/teamviewer/default.nix @@ -1,16 +1,16 @@ { mkDerivation, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg-utils, dbus -, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc -, libXrandr, libX11, libXext, libXdamage, libXtst, libSM, libXfixes +, qtbase, qtwebkit, qtwebengine, qtx11extras, qtquickcontrols, getconf, glibc +, libXrandr, libX11, libXext, libXdamage, libXtst, libSM, libXfixes, coreutils , wrapQtAppsHook }: mkDerivation rec { pname = "teamviewer"; - version = "15.15.5"; + version = "15.22.3"; src = fetchurl { url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb"; - sha256 = "sha256-H/CSc2RcjI+Fm8awYcXm3ioAJpbSNEMwGVrTozMux3A="; + sha256 = "15fvzhdq7mnx2l2w4byvij8ww16qwdlkbadal60rm66yzv79mv9w"; }; unpackPhase = '' @@ -19,7 +19,7 @@ mkDerivation rec { ''; nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ]; - buildInputs = [ dbus qtbase qtwebkit qtx11extras libX11 ]; + buildInputs = [ dbus getconf qtbase qtwebkit qtwebengine qtx11extras libX11 ]; propagatedBuildInputs = [ qtquickcontrols ]; installPhase = '' @@ -28,6 +28,7 @@ mkDerivation rec { rm -R \ $out/share/teamviewer/logfiles \ $out/share/teamviewer/config \ + $out/share/teamviewer/tv_bin/RTlib \ $out/share/teamviewer/tv_bin/xdg-utils \ $out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,libdepend,tv-delayed-start.sh} @@ -38,6 +39,27 @@ mkDerivation rec { ln -s /var/log/teamviewer $out/share/teamviewer/logfiles ln -s ${xdg-utils}/bin $out/share/teamviewer/tv_bin/xdg-utils + declare in_script_dir="./opt/teamviewer/tv_bin/script" + + install -d "$out/share/dbus-1/services" + install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.service" "$out/share/dbus-1/services" + substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.service" \ + --replace '/opt/teamviewer/tv_bin/TeamViewer' \ + "$out/share/teamviewer/tv_bin/TeamViewer" + install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.Desktop.service" "$out/share/dbus-1/services" + substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.Desktop.service" \ + --replace '/opt/teamviewer/tv_bin/TeamViewer_Desktop' \ + "$out/share/teamviewer/tv_bin/TeamViewer_Desktop" + + install -d "$out/share/dbus-1/system.d" + install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.Daemon.conf" "$out/share/dbus-1/system.d" + + install -d "$out/share/polkit-1/actions" + install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.policy" "$out/share/polkit-1/actions" + substituteInPlace "$out/share/polkit-1/actions/com.teamviewer.TeamViewer.policy" \ + --replace '/opt/teamviewer/tv_bin/script/execscript' \ + "$out/share/teamviewer/tv_bin/script/execscript" + for i in 16 20 24 32 48 256; do size=$i"x"$i @@ -51,17 +73,23 @@ mkDerivation rec { --replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2' substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \ --replace '/var/run/' '/run/' + ''; - wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}" - wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}" - wrapProgram $out/share/teamviewer/tv_bin/TeamViewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}" - wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [libXrandr libX11 libXext libXdamage libXtst libSM libXfixes ]}" + makeWrapperArgs = [ + "--prefix PATH : ${lib.makeBinPath [ getconf coreutils ]}" + "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libXrandr libX11 libXext libXdamage libXtst libSM libXfixes dbus ]}" + ]; - wrapQtApp $out/share/teamviewer/tv_bin/script/teamviewer - wrapQtApp $out/bin/teamviewer + postFixup = '' + wrapProgram $out/share/teamviewer/tv_bin/teamviewerd ''${makeWrapperArgs[@]} + # tv_bin/script/teamviewer runs tvw_main which runs tv_bin/TeamViewer + wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]} + wrapProgram $out/share/teamviewer/tv_bin/teamviewer-config ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]} + wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]} ''; dontStrip = true; + dontWrapQtApps = true; preferLocalBuild = true; meta = with lib; { @@ -69,6 +97,6 @@ mkDerivation rec { license = licenses.unfree; description = "Desktop sharing application, providing remote support and online meetings"; platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ jagajaga dasuxullebt ]; + maintainers = with maintainers; [ jagajaga dasuxullebt jraygauthier ]; }; } diff --git a/pkgs/applications/science/logic/alt-ergo/default.nix b/pkgs/applications/science/logic/alt-ergo/default.nix index 963015b11d50..837f25e320f7 100644 --- a/pkgs/applications/science/logic/alt-ergo/default.nix +++ b/pkgs/applications/science/logic/alt-ergo/default.nix @@ -2,13 +2,13 @@ let pname = "alt-ergo"; - version = "2.4.0"; + version = "2.4.1"; src = fetchFromGitHub { owner = "OCamlPro"; repo = pname; rev = version; - sha256 = "1jm1yrvsg8iyfp9bb728zdx2i7yb6z7minjrfs27k5ncjqkjm65g"; + sha256 = "0hglj1p0753w2isds01h90knraxa42d2jghr35dpwf9g8a1sm9d3"; }; useDune2 = true; diff --git a/pkgs/applications/window-managers/cagebreak/default.nix b/pkgs/applications/window-managers/cagebreak/default.nix index d3da358b6396..fe4b2be47929 100644 --- a/pkgs/applications/window-managers/cagebreak/default.nix +++ b/pkgs/applications/window-managers/cagebreak/default.nix @@ -1,9 +1,10 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , cairo , fontconfig +, libevdev +, libinput , libxkbcommon , makeWrapper , mesa @@ -23,24 +24,15 @@ stdenv.mkDerivation rec { pname = "cagebreak"; - version = "1.7.1"; + version = "1.8.0"; src = fetchFromGitHub { owner = "project-repo"; repo = pname; rev = version; - hash = "sha256-1IztedN5/I/4TDKHLJ26fSrDsvJ5QAr+cbzS2PQITDE="; + hash = "sha256-tWfHJajAOYZJ73GckZWWTdVz75YmHA7t/qDhM7+tJgk="; }; - patches = [ - # To fix the build with wlroots 0.14.0: - (fetchpatch { - # Add fixes for wlroots 0.14.0 - url = "https://github.com/project-repo/cagebreak/commit/d57869d43add58331386fc8e89c14bb2b74afe17.patch"; - sha256 = "0g6sl8y4kk0bm5x6pxqbxw2j0gyg3ybr2v9m70q2pxp70kms4lqg"; - }) - ]; - nativeBuildInputs = [ makeWrapper meson @@ -53,6 +45,8 @@ stdenv.mkDerivation rec { buildInputs = [ cairo fontconfig + libevdev + libinput libxkbcommon mesa # for libEGL headers pango diff --git a/pkgs/build-support/build-dotnet-module/default.nix b/pkgs/build-support/build-dotnet-module/default.nix new file mode 100644 index 000000000000..0c1a1f686e7e --- /dev/null +++ b/pkgs/build-support/build-dotnet-module/default.nix @@ -0,0 +1,144 @@ +{ lib, stdenv, makeWrapper, dotnetCorePackages, dotnetPackages, cacert, linkFarmFromDrvs, fetchurl }: + +{ name ? "${args.pname}-${args.version}" +, enableParallelBuilding ? true +# Flags to pass to `makeWrapper`. This is done to avoid double wrapping. +, makeWrapperArgs ? [] + +# Flags to pass to `dotnet restore`. +, dotnetRestoreFlags ? [] +# Flags to pass to `dotnet build`. +, dotnetBuildFlags ? [] +# Flags to pass to `dotnet install`. +, dotnetInstallFlags ? [] +# Flags to pass to dotnet in all phases. +, dotnetFlags ? [] + +# The binaries that should get installed to `$out/bin`, relative to `$out/lib/$pname/`. These get wrapped accordingly. +# Unfortunately, dotnet has no method for doing this automatically. +# If unset, all executables in the projects root will get installed. This may cause bloat! +, executables ? null +# The packages project file, which contains instructions on how to compile it. +, projectFile ? null +# The NuGet dependency file. This locks all NuGet dependency versions, as otherwise they cannot be deterministically fetched. +# This can be generated using the `nuget-to-nix` tool. +, nugetDeps ? null +# Libraries that need to be available at runtime should be passed through this. +# These get wrapped into `LD_LIBRARY_PATH`. +, runtimeDeps ? [] + +# The type of build to perform. This is passed to `dotnet` with the `--configuration` flag. Possible values are `Release`, `Debug`, etc. +, buildType ? "Release" +# The dotnet SDK to use. +, dotnet-sdk ? dotnetCorePackages.sdk_5_0 +# The dotnet runtime to use. +, dotnet-runtime ? dotnetCorePackages.net_5_0 +, ... } @ args: + +assert projectFile == null -> throw "Defining the `projectFile` attribute is required. This is usually an `.csproj`, or `.sln` file."; + +# TODO: Automatically generate a dependency file when a lockfile is present. +# This file is unfortunately almost never present, as Microsoft recommands not to push this in upstream repositories. +assert nugetDeps == null -> throw "Defining the `nugetDeps` attribute is required, as to lock the NuGet dependencies. This file can be generated using the `nuget-to-nix` tool."; + +let + _nugetDeps = linkFarmFromDrvs "${name}-nuget-deps" (import nugetDeps { + fetchNuGet = { name, version, sha256 }: fetchurl { + name = "nuget-${name}-${version}.nupkg"; + url = "https://www.nuget.org/api/v2/package/${name}/${version}"; + inherit sha256; + }; + }); + + package = stdenv.mkDerivation (args // { + nativeBuildInputs = args.nativeBuildInputs or [] ++ [ dotnet-sdk dotnetPackages.Nuget cacert makeWrapper ]; + + # Stripping breaks the executable + dontStrip = true; + + DOTNET_NOLOGO = true; # This disables the welcome message. + DOTNET_CLI_TELEMETRY_OPTOUT = true; + + configurePhase = args.configurePhase or '' + runHook preConfigure + + export HOME=$(mktemp -d) + + nuget sources Add -Name nixos -Source "$PWD/nixos" + nuget init "${_nugetDeps}" "$PWD/nixos" + + # This is required due to https://github.com/NuGet/Home/issues/4413. + mkdir -p $HOME/.nuget/NuGet + cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet + + dotnet restore ${lib.escapeShellArg projectFile} \ + ${lib.optionalString (!enableParallelBuilding) "--disable-parallel"} \ + -p:ContinuousIntegrationBuild=true \ + -p:Deterministic=true \ + --source "$PWD/nixos" \ + "''${dotnetRestoreFlags[@]}" \ + "''${dotnetFlags[@]}" + + runHook postConfigure + ''; + + buildPhase = args.buildPhase or '' + runHook preBuild + + dotnet build ${lib.escapeShellArg projectFile} \ + -maxcpucount:${if enableParallelBuilding then "$NIX_BUILD_CORES" else "1"} \ + -p:BuildInParallel=${if enableParallelBuilding then "true" else "false"} \ + -p:ContinuousIntegrationBuild=true \ + -p:Deterministic=true \ + -p:Version=${args.version} \ + --configuration ${buildType} \ + --no-restore \ + "''${dotnetBuildFlags[@]}" \ + "''${dotnetFlags[@]}" + + runHook postBuild + ''; + + installPhase = args.installPhase or '' + runHook preInstall + + dotnet publish ${lib.escapeShellArg projectFile} \ + -p:ContinuousIntegrationBuild=true \ + -p:Deterministic=true \ + --output $out/lib/${args.pname} \ + --configuration ${buildType} \ + --no-build \ + --no-self-contained \ + "''${dotnetInstallFlags[@]}" \ + "''${dotnetFlags[@]}" + '' + (if executables != null then '' + for executable in ''${executables}; do + execPath="$out/lib/${args.pname}/$executable" + + if [[ -f "$execPath" && -x "$execPath" ]]; then + makeWrapper "$execPath" "$out/bin/$(basename "$executable")" \ + --set DOTNET_ROOT "${dotnet-runtime}" \ + --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" \ + "''${gappsWrapperArgs[@]}" \ + ''${makeWrapperArgs} + else + echo "Specified binary \"$executable\" is either not an executable, or does not exist!" + exit 1 + fi + done + '' else '' + for executable in $out/lib/${args.pname}/*; do + if [[ -f "$executable" && -x "$executable" && "$executable" != *"dll"* ]]; then + makeWrapper "$executable" "$out/bin/$(basename "$executable")" \ + --set DOTNET_ROOT "${dotnet-runtime}" \ + --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" \ + "''${gappsWrapperArgs[@]}" \ + ''${makeWrapperArgs} + fi + done + '') + '' + runHook postInstall + ''; + }); +in + package diff --git a/pkgs/desktops/xfce/applications/catfish/default.nix b/pkgs/desktops/xfce/applications/catfish/default.nix index df072f862080..5a4a5dc2a18a 100644 --- a/pkgs/desktops/xfce/applications/catfish/default.nix +++ b/pkgs/desktops/xfce/applications/catfish/default.nix @@ -5,11 +5,11 @@ python3Packages.buildPythonApplication rec { pname = "catfish"; - version = "4.16.2"; + version = "4.16.3"; src = fetchurl { url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; - sha256 = "sha256-shouFRlD8LGU04sX/qrzghh5R+0SoCw9ZJKvt0gBKms="; + sha256 = "sha256-6amaYtEJgTkVCN1D88v6LVCmm9a30e7vfTC6TGc9z9o="; }; nativeBuildInputs = [ diff --git a/pkgs/desktops/xfce/applications/mousepad/default.nix b/pkgs/desktops/xfce/applications/mousepad/default.nix index c3e7805b112d..1fdbe267c039 100644 --- a/pkgs/desktops/xfce/applications/mousepad/default.nix +++ b/pkgs/desktops/xfce/applications/mousepad/default.nix @@ -3,10 +3,10 @@ mkXfceDerivation { category = "apps"; pname = "mousepad"; - version = "0.5.6"; + version = "0.5.7"; odd-unstable = false; - sha256 = "sha256-cdM2NHUnN2FITITb4077Je5Z8xwZAJfjmwXfV+WE6jk="; + sha256 = "sha256-VLPzzM9dl+HAPI+Qn2QTjrKfRgngsExlPFRsdmsNcSM="; nativeBuildInputs = [ gobject-introspection ]; diff --git a/pkgs/desktops/xfce/core/libxfce4ui/default.nix b/pkgs/desktops/xfce/core/libxfce4ui/default.nix index 99cb0e7cc626..0a937f68fd06 100644 --- a/pkgs/desktops/xfce/core/libxfce4ui/default.nix +++ b/pkgs/desktops/xfce/core/libxfce4ui/default.nix @@ -4,9 +4,9 @@ mkXfceDerivation { category = "xfce"; pname = "libxfce4ui"; - version = "4.16.0"; + version = "4.16.1"; - sha256 = "sha256-YmawNgkCM2xwoMKZrY9SxRhm2t0tsmk2j2+grW9zPCk="; + sha256 = "sha256-5mwyC3YA1LvdVSvaHN7CXDJh+IXjmdHGLKzhpjtUZkw="; nativeBuildInputs = [ gobject-introspection vala ]; buildInputs = [ gtk3 libstartup_notification libgtop epoxy xfconf ]; diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix index b9d6f5b23eb5..62e454a62852 100644 --- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix +++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix @@ -3,10 +3,10 @@ mkXfceDerivation { category = "panel-plugins"; pname = "xfce4-whiskermenu-plugin"; - version = "2.5.3"; + version = "2.6.0"; rev-prefix = "v"; odd-unstable = false; - sha256 = "sha256-Hw4vdFChKOqllsxMS2Bi7UL48a3Z6oB8oCPKWwa8bJY="; + sha256 = "sha256-VTv4nOL1ltHrewf3q4Uz4e2QjV+Jf7YZTNqILjuAEpM="; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/libraries/nanopb/default.nix b/pkgs/development/libraries/nanopb/default.nix index ca078a3f9d2a..c70298c4ff82 100644 --- a/pkgs/development/libraries/nanopb/default.nix +++ b/pkgs/development/libraries/nanopb/default.nix @@ -5,6 +5,7 @@ , protobuf , python3 , stdenv +, buildPackages }: stdenv.mkDerivation rec { @@ -25,7 +26,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" # generate $out/lib/libprotobuf-nanopb.so{.0,} "-DBUILD_STATIC_LIBS=ON" # generate $out/lib/libprotobuf-nanopb.a - "-Dnanopb_PROTOC_PATH=${protobuf}/bin/protoc" + "-Dnanopb_PROTOC_PATH=${buildPackages.protobuf}/bin/protoc" ]; postInstall = '' diff --git a/pkgs/development/python-modules/cloudsplaining/default.nix b/pkgs/development/python-modules/cloudsplaining/default.nix index d99f66943d96..fceab5088e99 100644 --- a/pkgs/development/python-modules/cloudsplaining/default.nix +++ b/pkgs/development/python-modules/cloudsplaining/default.nix @@ -18,6 +18,7 @@ buildPythonPackage rec { pname = "cloudsplaining"; version = "0.4.5"; + disabled = pythonOlder "3.6"; src = fetchFromGitHub { @@ -44,7 +45,19 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ "cloudsplaining" ]; + postPatch = '' + # Ignore pinned versions + sed -i "s/'\(.*\)\(==\|>=\).*'/'\1'/g" requirements.txt + ''; + + disabledTests = [ + "test_policy_expansion" + "test_statement_details_for_allow_not_action" + ]; + + pythonImportsCheck = [ + "cloudsplaining" + ]; meta = with lib; { description = "Python module for AWS IAM security assessment"; diff --git a/pkgs/development/python-modules/crownstone-cloud/default.nix b/pkgs/development/python-modules/crownstone-cloud/default.nix new file mode 100644 index 000000000000..94e6219264c0 --- /dev/null +++ b/pkgs/development/python-modules/crownstone-cloud/default.nix @@ -0,0 +1,50 @@ +{ lib +, aiohttp +, asynctest +, buildPythonPackage +, fetchFromGitHub +, certifi +, pythonOlder +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "crownstone-cloud"; + version = "1.4.5"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "crownstone"; + repo = "crownstone-lib-python-cloud"; + rev = "v${version}"; + sha256 = "1a8bkqkrc7iyggr5rr20qdqg67sycdx2d94dd1ylkmr7627r34ys"; + }; + + propagatedBuildInputs = [ + aiohttp + asynctest + certifi + ]; + + checkInputs = [ + pytestCheckHook + ]; + + postPatch = '' + substituteInPlace requirements.txt \ + --replace "codecov>=2.1.10" "" + ''; + + pythonImportsCheck = [ + "crownstone_cloud" + ]; + + meta = with lib; { + description = "Python module for communicating with Crownstone Cloud and devices"; + homepage = "https://github.com/crownstone/crownstone-lib-python-cloud"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/crownstone-core/default.nix b/pkgs/development/python-modules/crownstone-core/default.nix new file mode 100644 index 000000000000..35289cf1956c --- /dev/null +++ b/pkgs/development/python-modules/crownstone-core/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pyaes +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "crownstone-core"; + version = "3.0.1"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "crownstone"; + repo = "crownstone-lib-python-core"; + rev = version; + sha256 = "138lignv7c8kkqbqfkdcfpg39gm9x44h7r2j403m4ib7gq420hsn"; + }; + + propagatedBuildInputs = [ + pyaes + ]; + + checkInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "crownstone_core" + ]; + + meta = with lib; { + description = "Python module with shared classes, util functions and definition of Crownstone"; + homepage = "https://github.com/crownstone/crownstone-lib-python-core"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/crownstone-sse/default.nix b/pkgs/development/python-modules/crownstone-sse/default.nix new file mode 100644 index 000000000000..ef2e2cbc240c --- /dev/null +++ b/pkgs/development/python-modules/crownstone-sse/default.nix @@ -0,0 +1,44 @@ +{ lib +, aiohttp +, asynctest +, buildPythonPackage +, certifi +, fetchFromGitHub +, pythonOlder +, coverage +}: + +buildPythonPackage rec { + pname = "crownstone-sse"; + version = "2.0.2"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "crownstone"; + repo = "crownstone-lib-python-sse"; + rev = version; + sha256 = "0rrr92j8pi5annrfa22k1hggsyyacl9asi9i8yrj4jqdjvwjn2gc"; + }; + + propagatedBuildInputs = [ + aiohttp + asynctest + certifi + ]; + + # Tests are only providing coverage + doCheck = false; + + pythonImportsCheck = [ + "crownstone_sse" + ]; + + meta = with lib; { + description = "Python module for listening to Crownstone SSE events"; + homepage = "https://github.com/crownstone/crownstone-lib-python-sse"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/crownstone-uart/default.nix b/pkgs/development/python-modules/crownstone-uart/default.nix new file mode 100644 index 000000000000..fd1c2094335c --- /dev/null +++ b/pkgs/development/python-modules/crownstone-uart/default.nix @@ -0,0 +1,41 @@ +{ lib +, crownstone-core +, buildPythonPackage +, pyserial +, fetchFromGitHub +, pythonOlder +}: + +buildPythonPackage rec { + pname = "crownstone-uart"; + version = "2.1.0"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "crownstone"; + repo = "crownstone-lib-python-uart"; + rev = version; + sha256 = "0sdz131vmrfp6hrm9iwqw8mj9qazsxg7b85yadib1122w9f3b1zc"; + }; + + propagatedBuildInputs = [ + crownstone-core + pyserial + ]; + + # Project has no tests + doCheck = false; + + pythonImportsCheck = [ + "crownstone_uart" + ]; + + meta = with lib; { + description = "Python module for communicating with Crownstone USB dongles"; + homepage = "https://github.com/crownstone/crownstone-lib-python-uart"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/pkgs/development/python-modules/mypy-boto3-s3/default.nix index 668ee057f1f7..32039728eb7e 100644 --- a/pkgs/development/python-modules/mypy-boto3-s3/default.nix +++ b/pkgs/development/python-modules/mypy-boto3-s3/default.nix @@ -8,12 +8,12 @@ buildPythonPackage rec { pname = "mypy-boto3-s3"; - version = "1.18.58"; + version = "1.18.59"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "3e96a40314cd8c61b833f2f198179fb1056935c5349c5b4369432788a30ed098"; + sha256 = "900615dd82ba9267ccf531734a1422272ac7b53d3256c17acea6c620fbe8ca1e"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/ospd/default.nix b/pkgs/development/python-modules/ospd/default.nix index 2c90a0e066d7..c4fe8be0b7ac 100644 --- a/pkgs/development/python-modules/ospd/default.nix +++ b/pkgs/development/python-modules/ospd/default.nix @@ -6,7 +6,6 @@ , fetchFromGitHub , lxml , paramiko -, poetry , psutil , pytestCheckHook , pythonOlder @@ -14,8 +13,8 @@ buildPythonPackage rec { pname = "ospd"; - version = "21.4.3"; - format = "pyproject"; + version = "21.4.4"; + format = "setuptools"; disabled = pythonOlder "3.7" || stdenv.isDarwin; @@ -23,13 +22,9 @@ buildPythonPackage rec { owner = "greenbone"; repo = pname; rev = "v${version}"; - sha256 = "1i4nfvxgxibqmqb6jwih951960sm2zy00i1wnjfnwb6za1xkpbkp"; + sha256 = "sha256-dZgs+G2vJQIKnN9xHcNeNViG7mOIdKb+Ms2AKE+FC4M="; }; - nativeBuildInputs = [ - poetry - ]; - propagatedBuildInputs = [ defusedxml deprecated @@ -42,7 +37,9 @@ buildPythonPackage rec { pytestCheckHook ]; - pythonImportsCheck = [ "ospd" ]; + pythonImportsCheck = [ + "ospd" + ]; meta = with lib; { description = "Framework for vulnerability scanners which support OSP"; diff --git a/pkgs/development/python-modules/policy-sentry/default.nix b/pkgs/development/python-modules/policy-sentry/default.nix index 8240e86af2b3..a9e3930f67f4 100644 --- a/pkgs/development/python-modules/policy-sentry/default.nix +++ b/pkgs/development/python-modules/policy-sentry/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "policy-sentry"; - version = "0.11.16"; + version = "0.11.18"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "salesforce"; repo = "policy_sentry"; rev = version; - sha256 = "0m3sr1mhnmm22xgd3h9dgkrq20pdghwx505xld4pahj686z4bva2"; + sha256 = "sha256-1wpy4WofqrPusOI2BHRqSHfXlRpbuLOx97egzSAbB8E="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/pooch/default.nix b/pkgs/development/python-modules/pooch/default.nix index d9c8dda1354f..3b7ddaf28019 100644 --- a/pkgs/development/python-modules/pooch/default.nix +++ b/pkgs/development/python-modules/pooch/default.nix @@ -11,12 +11,12 @@ buildPythonPackage rec { pname = "pooch"; - version = "1.5.1"; + version = "1.5.2"; disabled = isPy27; src = fetchPypi { inherit pname version; - sha256 = "57ab0c43e9c5bd81227b08b9931435d71c118cd53339cc5925123a740f40b312"; + sha256 = "5969b2f1defbdc405df932767e05e0b536e2771c27f1f95d7f260bc99bf13581"; }; nativeBuildInputs = [ setuptools-scm ]; diff --git a/pkgs/development/python-modules/python-lsp-server/default.nix b/pkgs/development/python-modules/python-lsp-server/default.nix index 9e44a6b151d2..39597afa8540 100644 --- a/pkgs/development/python-modules/python-lsp-server/default.nix +++ b/pkgs/development/python-modules/python-lsp-server/default.nix @@ -35,14 +35,14 @@ buildPythonPackage rec { pname = "python-lsp-server"; - version = "1.2.3"; + version = "1.2.4"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "python-lsp"; repo = pname; rev = "v${version}"; - sha256 = "sha256-zoKJ9g7cXcQhickkhRjYwl6SqOar2Kautg5dHf3PqGk="; + sha256 = "0c1g46hpzjhqbjcmv6xm3by3jprcjhzjslqzrp95hdkbykvrgs5x"; }; postPatch = '' diff --git a/pkgs/development/python-modules/rangehttpserver/default.nix b/pkgs/development/python-modules/rangehttpserver/default.nix new file mode 100644 index 000000000000..217bffb174b8 --- /dev/null +++ b/pkgs/development/python-modules/rangehttpserver/default.nix @@ -0,0 +1,41 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, nose +, requests +}: + +buildPythonPackage rec { + pname = "rangehttpserver"; + version = "1.2.0"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "danvk"; + repo = "RangeHTTPServer"; + rev = version; + sha256 = "1sy9j6y8kp5jiwv2vd652v94kspp1yd4dwxrfqfn6zwnfyv2mzv5"; + }; + + checkInputs = [ + nose + requests + ]; + + checkPhase = '' + runHook preCheck + nosetests + runHook postCheck + ''; + + pythonImportsCheck = [ + "RangeHTTPServer" + ]; + + meta = with lib; { + description = "SimpleHTTPServer with support for Range requests"; + homepage = "https://github.com/danvk/RangeHTTPServer"; + license = licenses.asl20; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/rxv/default.nix b/pkgs/development/python-modules/rxv/default.nix index 5f0653236acf..728d56527bbe 100644 --- a/pkgs/development/python-modules/rxv/default.nix +++ b/pkgs/development/python-modules/rxv/default.nix @@ -1,40 +1,51 @@ { lib , buildPythonPackage -, fetchFromGitHub , defusedxml -, requests -, pytest -, requests-mock +, fetchFromGitHub , mock -, pytest-cov +, pytest-asyncio , pytest-timeout -, testtools +, pytest-vcr +, pytestCheckHook +, pythonOlder +, requests +, requests-mock }: buildPythonPackage rec { pname = "rxv"; - version = "0.6.0"; + version = "0.7.0"; + format = "pyproject"; + + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "wuub"; repo = pname; - # Releases are not tagged - rev = "9b586203665031f93960543a272bb1a8f541ed37"; - sha256 = "1dw3ayrzknai2279bhkgzcapzw06rhijlny33rymlbp7irp0gvnj"; + rev = "v${version}"; + sha256 = "0jldnlzbfg5jm1nbgv91mlvcqkswd9f2n3qj9aqlbmj1cxq19yz8"; }; - propagatedBuildInputs = [ defusedxml requests ]; + propagatedBuildInputs = [ + defusedxml + requests + ]; - checkInputs = [ pytest requests-mock mock pytest-cov pytest-timeout testtools ]; - checkPhase = '' - pytest - ''; + checkInputs = [ + mock + pytest-asyncio + pytest-timeout + pytest-vcr + pytestCheckHook + requests-mock + ]; + + pythonImportsCheck = [ "rxv" ]; meta = with lib; { - description = "Automation Library for Yamaha RX-V473, RX-V573, RX-V673, RX-V773 receivers"; + description = "Python library for communicate with Yamaha RX-Vxxx receivers"; homepage = "https://github.com/wuub/rxv"; license = licenses.mit; maintainers = with maintainers; [ flyfloh ]; }; } - diff --git a/pkgs/development/python-modules/scikit-optimize/default.nix b/pkgs/development/python-modules/scikit-optimize/default.nix index 3b7106ac4f2b..5e87c585116a 100644 --- a/pkgs/development/python-modules/scikit-optimize/default.nix +++ b/pkgs/development/python-modules/scikit-optimize/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "scikit-optimize"; - version = "0.8.1"; + version = "0.9.0"; disabled = isPy27; src = fetchFromGitHub { owner = "scikit-optimize"; repo = "scikit-optimize"; rev = "v${version}"; - sha256 = "1bz8gxccx8n99abw49j8h5zf3i568g5hcf8nz1yinma8jqhxjkjh"; + sha256 = "0hsq6pmryimxc275yrcy4bv217bx7ma6rz0q6m4138bv4zgq18d1"; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/simple-rest-client/default.nix b/pkgs/development/python-modules/simple-rest-client/default.nix index b9b1cbe7b058..014f5d6ffa16 100644 --- a/pkgs/development/python-modules/simple-rest-client/default.nix +++ b/pkgs/development/python-modules/simple-rest-client/default.nix @@ -1,5 +1,4 @@ { lib -, asynctest , buildPythonPackage , fetchFromGitHub , httpx @@ -13,15 +12,15 @@ buildPythonPackage rec { pname = "simple-rest-client"; - version = "1.0.8"; + version = "1.1.0"; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "allisson"; repo = "python-simple-rest-client"; rev = version; - sha256 = "12qxhrjhlbyyr1pkvwfkcxbsmyns5b0mfdn42vz310za5x76ldj3"; + sha256 = "sha256-i+wUc9qxyei+Jbch8vyIrm9ElClnOIKp+YK6jIDkbTA="; }; propagatedBuildInputs = [ @@ -31,7 +30,6 @@ buildPythonPackage rec { ]; checkInputs = [ - asynctest pytest-asyncio pytest-httpserver pytestCheckHook @@ -42,9 +40,17 @@ buildPythonPackage rec { --replace "pytest-runner" "" substituteInPlace pytest.ini \ --replace " --cov=simple_rest_client --cov-report=term-missing" "" + substituteInPlace requirements-dev.txt \ + --replace "asyncmock" "" ''; - pythonImportsCheck = [ "simple_rest_client" ]; + disabledTestPaths = [ + "tests/test_decorators.py" + ]; + + pythonImportsCheck = [ + "simple_rest_client" + ]; meta = with lib; { description = "Simple REST client for Python"; diff --git a/pkgs/misc/drivers/xboxdrv/default.nix b/pkgs/misc/drivers/xboxdrv/default.nix index bd4022526ed4..7031f7941305 100644 --- a/pkgs/misc/drivers/xboxdrv/default.nix +++ b/pkgs/misc/drivers/xboxdrv/default.nix @@ -1,15 +1,27 @@ -{ lib, stdenv, fetchurl, sconsPackages, libX11, pkg-config -, libusb1, boost, glib, dbus-glib }: +{ lib +, stdenv +, fetchFromGitHub +, sconsPackages +, libX11 +, pkg-config +, libusb1 +, boost +, glib +, dbus-glib +}: let version = "0.8.8"; -in stdenv.mkDerivation { +in +stdenv.mkDerivation { pname = "xboxdrv"; inherit version; - src = fetchurl { - url = "https://github.com/xboxdrv/xboxdrv/archive/v${version}.tar.gz"; - sha256 = "0jx2wqmc7602dxyj19n3h8x0cpy929h7c0h39vcc5rf0q74fh3id"; + src = fetchFromGitHub { + owner = "xboxdrv"; + repo = "xboxdrv"; + rev = "v${version}"; + hash = "sha256-R0Bt4xfzQA1EmZbf7lcWLwSSUayf5Y711QhlAVhiLrY="; }; makeFlags = [ "PREFIX=$(out)" ]; diff --git a/pkgs/misc/emulators/ryujinx/default.nix b/pkgs/misc/emulators/ryujinx/default.nix index 78f942352d8c..d082ec7e1b2e 100644 --- a/pkgs/misc/emulators/ryujinx/default.nix +++ b/pkgs/misc/emulators/ryujinx/default.nix @@ -1,11 +1,25 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, makeWrapper, makeDesktopItem, linkFarmFromDrvs -, dotnet-sdk_5, dotnetPackages, dotnetCorePackages, cacert +{ lib, buildDotnetModule, fetchFromGitHub, makeDesktopItem , libX11, libgdiplus, ffmpeg , SDL2_mixer, openal, libsoundio, sndio, pulseaudio , gtk3, gobject-introspection, gdk-pixbuf, wrapGAppsHook }: -let +buildDotnetModule rec { + pname = "ryujinx"; + version = "1.0.7058"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx + + src = fetchFromGitHub { + owner = "Ryujinx"; + repo = "Ryujinx"; + rev = "d92fff541bf6fddadabf6ab628ddf8fec41cd52e"; + sha256 = "1lsg4v15x8i43pwkgn4y8d2m95m6w7izwm4zhspnq8r2lv18lqb2"; + }; + + projectFile = "Ryujinx.sln"; + executables = [ "Ryujinx" ]; + nugetDeps = ./deps.nix; + + nativeBuildInputs = [ wrapGAppsHook gobject-introspection gdk-pixbuf ]; runtimeDeps = [ gtk3 libX11 @@ -17,81 +31,24 @@ let sndio pulseaudio ]; -in stdenv.mkDerivation rec { - pname = "ryujinx"; - version = "1.0.7058"; # Versioning is based off of the official appveyor builds: https://ci.appveyor.com/project/gdkchan/ryujinx - - src = fetchFromGitHub { - owner = "Ryujinx"; - repo = "Ryujinx"; - rev = "d92fff541bf6fddadabf6ab628ddf8fec41cd52e"; - sha256 = "1lsg4v15x8i43pwkgn4y8d2m95m6w7izwm4zhspnq8r2lv18lqb2"; - }; - - nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget cacert makeWrapper wrapGAppsHook gobject-introspection gdk-pixbuf ]; - - nugetDeps = linkFarmFromDrvs "${pname}-nuget-deps" (import ./deps.nix { - fetchNuGet = { name, version, sha256 }: fetchurl { - name = "nuget-${name}-${version}.nupkg"; - url = "https://www.nuget.org/api/v2/package/${name}/${version}"; - inherit sha256; - }; - }); patches = [ ./log.patch # Without this, Ryujinx attempts to write logs to the nix store. This patch makes it write to "~/.config/Ryujinx/Logs" on Linux. ]; - configurePhase = '' - runHook preConfigure - - export HOME=$(mktemp -d) - export DOTNET_CLI_TELEMETRY_OPTOUT=1 - export DOTNET_NOLOGO=1 - - nuget sources Add -Name nixos -Source "$PWD/nixos" - nuget init "$nugetDeps" "$PWD/nixos" - - # FIXME: https://github.com/NuGet/Home/issues/4413 - mkdir -p $HOME/.nuget/NuGet - cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet - - dotnet restore --source "$PWD/nixos" Ryujinx.sln - - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - dotnet build Ryujinx.sln \ - --no-restore \ - --configuration Release \ - -p:Version=${version} - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - dotnet publish Ryujinx.sln \ - --no-build \ - --configuration Release \ - --no-self-contained \ - --output $out/lib/ryujinx - shopt -s extglob - + preInstall = '' # TODO: fix this hack https://github.com/Ryujinx/Ryujinx/issues/2349 mkdir -p $out/lib/sndio-6 ln -s ${sndio}/lib/libsndio.so $out/lib/sndio-6/libsndio.so.6 - makeWrapper $out/lib/ryujinx/Ryujinx $out/bin/Ryujinx \ - --set DOTNET_ROOT "${dotnetCorePackages.net_5_0}" \ - --suffix LD_LIBRARY_PATH : "${builtins.concatStringsSep ":" [ (lib.makeLibraryPath runtimeDeps) "$out/lib/sndio-6" ]}" \ - ''${gappsWrapperArgs[@]} + makeWrapperArgs+=( + --suffix LD_LIBRARY_PATH : "$out/lib/sndio-6" + ) for i in 16 32 48 64 96 128 256 512 1024; do install -D ${src}/Ryujinx/Ui/Resources/Logo_Ryujinx.png $out/share/icons/hicolor/''${i}x$i/apps/ryujinx.png done + cp -r ${makeDesktopItem { desktopName = "Ryujinx"; name = "ryujinx"; @@ -101,13 +58,8 @@ in stdenv.mkDerivation rec { type = "Application"; categories = "Game;"; }}/share/applications $out/share - - runHook postInstall ''; - # Strip breaks the executable. - dontStrip = true; - meta = with lib; { description = "Experimental Nintendo Switch Emulator written in C#"; homepage = "https://ryujinx.org/"; diff --git a/pkgs/misc/screensavers/pipes/default.nix b/pkgs/misc/screensavers/pipes/default.nix index be605192acce..996260187506 100644 --- a/pkgs/misc/screensavers/pipes/default.nix +++ b/pkgs/misc/screensavers/pipes/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv, fetchurl, makeWrapper, coreutils, ncurses }: +{ lib, stdenv, fetchFromGitHub, makeWrapper, coreutils, ncurses }: stdenv.mkDerivation rec { pname = "pipes"; version = "1.3.0"; - src = fetchurl { - url = "https://github.com/pipeseroni/pipes.sh/archive/v${version}.tar.gz"; - sha256 = "09m4alb3clp3rhnqga5v6070p7n1gmnwp2ssqhq87nf2ipfpcaak"; + src = fetchFromGitHub { + owner = "pipeseroni"; + repo = "pipes.sh"; + rev = "v${version}"; + hash = "sha256-856OWlnNiGB20571TJg7Ayzcz4r6NqdW5DMDiim09mc="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix index 4949cd7c14a8..40d44690afe7 100644 --- a/pkgs/os-specific/linux/busybox/default.nix +++ b/pkgs/os-specific/linux/busybox/default.nix @@ -49,14 +49,14 @@ in stdenv.mkDerivation rec { pname = "busybox"; - version = "1.33.1"; + version = "1.34.1"; # Note to whoever is updating busybox: please verify that: # nix-build pkgs/stdenv/linux/make-bootstrap-tools.nix -A test # still builds after the update. src = fetchurl { url = "https://busybox.net/downloads/${pname}-${version}.tar.bz2"; - sha256 = "0a0dcvsh7nxnhxc5y73fky0z30i9p7r30qfidm2akn0n5fywdkhj"; + sha256 = "0jfm9fik7nv4w21zqdg830pddgkdjmplmna9yjn9ck1lwn4vsps1"; }; hardeningDisable = [ "format" "pie" ] @@ -135,7 +135,7 @@ stdenv.mkDerivation rec { description = "Tiny versions of common UNIX utilities in a single small executable"; homepage = "https://busybox.net/"; license = licenses.gpl2Only; - maintainers = with maintainers; [ TethysSvensson ]; + maintainers = with maintainers; [ TethysSvensson qyliss ]; platforms = platforms.linux; priority = 10; }; diff --git a/pkgs/tools/audio/soco-cli/default.nix b/pkgs/tools/audio/soco-cli/default.nix new file mode 100644 index 000000000000..52614a8dc220 --- /dev/null +++ b/pkgs/tools/audio/soco-cli/default.nix @@ -0,0 +1,41 @@ +{ lib +, fetchFromGitHub +, python3 +}: + +python3.pkgs.buildPythonApplication rec { + pname = "soco-cli"; + version = "0.4.21"; + format = "setuptools"; + + disabled = python3.pythonOlder "3.6"; + + src = fetchFromGitHub rec { + owner = "avantrec"; + repo = pname; + rev = "v${version}"; + sha256 = "1kz2zx59gjfs01jiyzmps8j6yca06yqn6wkidvdk4s3izdm0rarw"; + }; + + propagatedBuildInputs = with python3.pkgs; [ + fastapi + rangehttpserver + soco + tabulate + uvicorn + ]; + + # Tests wants to communicate with hardware + doCheck = false; + + pythonImportsCheck = [ + "soco_cli" + ]; + + meta = with lib; { + description = "Command-line interface to control Sonos sound systems"; + homepage = "https://github.com/avantrec/soco-cli"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/tools/backup/discordchatexporter-cli/default.nix b/pkgs/tools/backup/discordchatexporter-cli/default.nix index fe7b041b1533..60437403e5a2 100644 --- a/pkgs/tools/backup/discordchatexporter-cli/default.nix +++ b/pkgs/tools/backup/discordchatexporter-cli/default.nix @@ -1,11 +1,12 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper, autoPatchelfHook -, dotnet-sdk_5, dotnetPackages, dotnetCorePackages, cacert +{ lib +, stdenv +, buildDotnetModule +, fetchFromGitHub +, autoPatchelfHook +, dotnetCorePackages }: -let - projectFile = "DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj"; -in -stdenv.mkDerivation rec { +buildDotnetModule rec { pname = "discordchatexporter-cli"; version = "2.30.1"; @@ -16,66 +17,13 @@ stdenv.mkDerivation rec { sha256 = "JSYIhd+DNVOKseHtWNNChECR5hKr+ntu1Yyqtnlg8rM="; }; - nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget cacert makeWrapper autoPatchelfHook ]; + projectFile = "DiscordChatExporter.Cli/DiscordChatExporter.Cli.csproj"; + dotnet-runtime = dotnetCorePackages.netcore_3_1; + nugetDeps = ./deps.nix; + + nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ stdenv.cc.cc.lib ]; - nugetDeps = linkFarmFromDrvs "${pname}-nuget-deps" (import ./deps.nix { - fetchNuGet = { name, version, sha256 }: fetchurl { - name = "nuget-${name}-${version}.nupkg"; - url = "https://www.nuget.org/api/v2/package/${name}/${version}"; - inherit sha256; - }; - }); - - configurePhase = '' - runHook preConfigure - - export HOME=$(mktemp -d) - export DOTNET_CLI_TELEMETRY_OPTOUT=1 - export DOTNET_NOLOGO=1 - - nuget sources Add -Name nixos -Source "$PWD/nixos" - nuget init "$nugetDeps" "$PWD/nixos" - - # FIXME: https://github.com/NuGet/Home/issues/4413 - mkdir -p $HOME/.nuget/NuGet - cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet - - dotnet restore --source "$PWD/nixos" ${projectFile} - - runHook postConfigure - ''; - - buildPhase = '' - runHook preBuild - - dotnet build ${projectFile} \ - --no-restore \ - --configuration Release \ - -p:Version=${version} - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - dotnet publish ${projectFile} \ - --no-build \ - --configuration Release \ - --no-self-contained \ - --output $out/lib/${pname} - shopt -s extglob - - makeWrapper $out/lib/${pname}/DiscordChatExporter.Cli $out/bin/discordchatexporter-cli \ - --set DOTNET_ROOT "${dotnetCorePackages.sdk_3_1}" - - runHook postInstall - ''; - - # Strip breaks the executable. - dontStrip = true; - meta = with lib; { description = "A tool to export Discord chat logs to a file"; homepage = "https://github.com/Tyrrrz/DiscordChatExporter"; diff --git a/pkgs/tools/misc/aspcud/default.nix b/pkgs/tools/misc/aspcud/default.nix index a50bc311f247..ef1b6a5a4ca5 100644 --- a/pkgs/tools/misc/aspcud/default.nix +++ b/pkgs/tools/misc/aspcud/default.nix @@ -1,14 +1,22 @@ -{ lib, stdenv, fetchzip -, boost, clasp, cmake, gringo, re2c +{ lib +, stdenv +, fetchFromGitHub +, boost +, clasp +, cmake +, gringo +, re2c }: stdenv.mkDerivation rec { version = "1.9.5"; pname = "aspcud"; - src = fetchzip { - url = "https://github.com/potassco/aspcud/archive/v${version}.tar.gz"; - sha256 = "sha256-d04GPMoz6PMGq6iiul0zT1C9Mljdl9uJJ2C8MIwcmaw="; + src = fetchFromGitHub { + owner = "potassco"; + repo = "aspcud"; + rev = "v${version}"; + hash = "sha256-d04GPMoz6PMGq6iiul0zT1C9Mljdl9uJJ2C8MIwcmaw="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/tools/misc/ccze/default.nix b/pkgs/tools/misc/ccze/default.nix index 348cbb1f529c..874653c7f6c3 100644 --- a/pkgs/tools/misc/ccze/default.nix +++ b/pkgs/tools/misc/ccze/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv, fetchurl, autoconf, ncurses, pcre }: +{ lib, stdenv, fetchFromGitHub, autoconf, ncurses, pcre }: stdenv.mkDerivation rec { pname = "ccze"; version = "0.2.1-2"; - src = fetchurl { - url = "https://github.com/madhouse/ccze/archive/ccze-${version}.tar.gz"; - sha256 = "1amavfvyls4v0gnikk43n2rpciaspxifgrmvi99qj6imv3mfg66n"; + src = fetchFromGitHub { + owner = "madhouse"; + repo = "ccze"; + rev = "ccze-${version}"; + hash = "sha256-LVwmbrq78mZcAEuAqjXTqLE5we83H9mcMPtxQx2Tn/c="; }; buildInputs = [ autoconf ncurses pcre ]; diff --git a/pkgs/tools/misc/contacts/default.nix b/pkgs/tools/misc/contacts/default.nix index 7b652f36a19f..e0b1613735f8 100644 --- a/pkgs/tools/misc/contacts/default.nix +++ b/pkgs/tools/misc/contacts/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv, fetchurl, xcbuildHook, Foundation, AddressBook }: +{ lib, stdenv, fetchFromGitHub, xcbuildHook, Foundation, AddressBook }: stdenv.mkDerivation { version = "1.1a-3"; pname = "contacts"; - src = fetchurl { - url = "https://github.com/dhess/contacts/archive/4092a3c6615d7a22852a3bafc44e4aeeb698aa8f.tar.gz"; - sha256 = "0wdqc1ndgrdhqapvvgx5xihc750szv08lp91x4l6n0gh59cpxpg3"; + src = fetchFromGitHub { + owner = "dhess"; + repo = "contacts"; + rev = "4092a3c6615d7a22852a3bafc44e4aeeb698aa8f"; + hash = "sha256-Li/c5uf9rfpuU+hduuSm7EmhVwIIkS72dqzmN+0cE3A="; }; nativeBuildInputs = [ xcbuildHook ]; @@ -19,10 +21,10 @@ stdenv.mkDerivation { meta = with lib; { description = "Access contacts from the Mac address book from command-line"; - homepage = "http://www.gnufoo.org/contacts/contacts.html"; - license = licenses.gpl2; + homepage = "http://www.gnufoo.org/contacts/contacts.html"; + license = licenses.gpl2; maintainers = with maintainers; [ jwiegley ]; - platforms = lib.platforms.darwin; + platforms = lib.platforms.darwin; hydraPlatforms = lib.platforms.darwin; }; } diff --git a/pkgs/tools/misc/profile-sync-daemon/default.nix b/pkgs/tools/misc/profile-sync-daemon/default.nix index d0bd0c76a839..c14d3b07a37c 100644 --- a/pkgs/tools/misc/profile-sync-daemon/default.nix +++ b/pkgs/tools/misc/profile-sync-daemon/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv, fetchurl, util-linux, coreutils}: +{ lib, stdenv, fetchFromGitHub, util-linux, coreutils }: stdenv.mkDerivation rec { - version = "6.44"; pname = "profile-sync-daemon"; + version = "6.44"; - src = fetchurl { - url = "https://github.com/graysky2/profile-sync-daemon/archive/v${version}.tar.gz"; - sha256 = "sha256-+iQr7T99X/jYYgq0xNHLPCJG5mZU/6dN76Z1FB51Z54="; + src = fetchFromGitHub { + owner = "graysky2"; + repo = "profile-sync-daemon"; + rev = "v${version}"; + hash = "sha256-7sEC2b4mzgbDTFgpH5abZ/kiwEmGdbKkTLiD73Efdls="; }; installPhase = '' diff --git a/pkgs/tools/misc/sdate/default.nix b/pkgs/tools/misc/sdate/default.nix index 69c9d726713b..899d3259b261 100644 --- a/pkgs/tools/misc/sdate/default.nix +++ b/pkgs/tools/misc/sdate/default.nix @@ -1,10 +1,13 @@ -{ lib, stdenv, fetchurl, autoreconfHook }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook }: stdenv.mkDerivation rec { pname = "sdate"; version = "0.7"; - src = fetchurl { - url = "https://github.com/ChristophBerg/sdate/archive/${version}.tar.gz"; - sha256 = "1lfnsb8prac8rspnxcawd138jyhyivwf35rrmfvwq6dhsx23c6vy"; + + src = fetchFromGitHub { + owner = "ChristophBerg"; + repo = "sdate"; + rev = version; + hash = "sha256-jkwe+bSBa0p1Xzfetsdpw0RYw/gSRxnY2jBOzC5HtJ8="; }; buildInputs = [ autoreconfHook ]; diff --git a/pkgs/tools/misc/tio/default.nix b/pkgs/tools/misc/tio/default.nix index a25b821c7e3d..9b8e76f10c43 100644 --- a/pkgs/tools/misc/tio/default.nix +++ b/pkgs/tools/misc/tio/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv, fetchzip, autoreconfHook }: +{ lib, stdenv, fetchFromGitHub, autoreconfHook }: stdenv.mkDerivation rec { pname = "tio"; version = "1.32"; - src = fetchzip { - url = "https://github.com/tio/tio/archive/v${version}.tar.gz"; - sha256 = "0lwqdm73kshi9qs8pks1b4by6yb9jf3bbyw3bv52xmggnr5s1hcv"; + src = fetchFromGitHub { + owner = "tio"; + repo = "tio"; + rev = "v${version}"; + hash = "sha256-m8GgS7bv1S7KXoP7tYaTaXnjF1lBz4s0ThHqOU5tmFM="; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/tools/misc/txt2man/default.nix b/pkgs/tools/misc/txt2man/default.nix index 27ff219a6e13..b522665e34fa 100644 --- a/pkgs/tools/misc/txt2man/default.nix +++ b/pkgs/tools/misc/txt2man/default.nix @@ -1,12 +1,14 @@ -{ lib, stdenv, fetchurl, coreutils, gawk }: +{ lib, stdenv, fetchFromGitHub, coreutils, gawk }: stdenv.mkDerivation rec { pname = "txt2man"; version = "1.7.1"; - src = fetchurl { - url = "https://github.com/mvertes/txt2man/archive/${pname}-${version}.tar.gz"; - sha256 = "0ka3krmblsprv0v6h6wnm8lv08w30z0ynfnbwns6alks5gx1p6sd"; + src = fetchFromGitHub { + owner = "mvertes"; + repo = "txt2man"; + rev = "${pname}-${version}"; + hash = "sha256-Aqi5PNNaaM/tr9A/7vKeafYKYIs/kHbwHzE7+R/9r9s="; }; preConfigure = '' diff --git a/pkgs/tools/misc/xtitle/default.nix b/pkgs/tools/misc/xtitle/default.nix index 2820958443ed..975b24103d59 100644 --- a/pkgs/tools/misc/xtitle/default.nix +++ b/pkgs/tools/misc/xtitle/default.nix @@ -1,24 +1,25 @@ -{ lib, stdenv, fetchurl, libxcb, xcbutil, xcbutilwm, git }: +{ lib, stdenv, fetchFromGitHub, libxcb, xcbutil, xcbutilwm, git }: stdenv.mkDerivation rec { - pname = "xtitle"; - version = "0.4.4"; + pname = "xtitle"; + version = "0.4.4"; - src = fetchurl { - url = "https://github.com/baskerville/xtitle/archive/${version}.tar.gz"; - sha256 = "0w490a6ki90si1ri48jzhma473a598l1b12j8dp4ckici41z9yy2"; - }; + src = fetchFromGitHub { + owner = "baskerville"; + repo = "xtitle"; + rev = version; + hash = "sha256-SVfM2vCCacgchXj0c0sPk3VR6DUI4R0ofFnxJSY4oDg="; + }; + buildInputs = [ libxcb git xcbutil xcbutilwm ]; - buildInputs = [ libxcb git xcbutil xcbutilwm ]; + prePatch = ''sed -i "s@/usr/local@$out@" Makefile''; - prePatch = ''sed -i "s@/usr/local@$out@" Makefile''; - - meta = { - description = "Outputs X window titles"; - homepage = "https://github.com/baskerville/xtitle"; - maintainers = [ lib.maintainers.meisternu ]; - license = "Custom"; - platforms = lib.platforms.linux; - }; + meta = { + description = "Outputs X window titles"; + homepage = "https://github.com/baskerville/xtitle"; + maintainers = [ lib.maintainers.meisternu ]; + license = "Custom"; + platforms = lib.platforms.linux; + }; } diff --git a/pkgs/tools/wayland/sirula/default.nix b/pkgs/tools/wayland/sirula/default.nix index b58f37368f03..c95cbd00c5d5 100644 --- a/pkgs/tools/wayland/sirula/default.nix +++ b/pkgs/tools/wayland/sirula/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "sirula"; - version = "unstable-2021-07-11"; + version = "unstable-2021-10-12"; src = fetchFromGitHub { owner = "DorianRudolph"; repo = "sirula"; - rev = "574725bc307fc704c42380cd0fa50b0b80c4764d"; - sha256 = "1m58j1hymjw4l2z1jdfirw1vb3rblc1qffpvc2lqy99frfz0dlvp"; + rev = "b300cabde03ec4d8c28ed84e318166b675fb4a77"; + sha256 = "0pxdgjpqaf1bq1y1flafg0ksk8548rif6pfbw0lp31p655pq95c8"; }; - cargoSha256 = "0wk90p20qkbpr866h8cvdshr8cl2kmc3dh2zxws5mlsh3sx2ld4w"; + cargoSha256 = "175rl09jmnj8pd5isyp2chnn66vdz1c16fgqhnjsxvbcasmn8vdj"; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c87babcbd973..12cb543f9d39 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -607,6 +607,7 @@ with pkgs; fetchNuGet = callPackage ../build-support/fetchnuget { }; buildDotnetPackage = callPackage ../build-support/build-dotnet-package { }; + buildDotnetModule = callPackage ../build-support/build-dotnet-module { }; nuget-to-nix = callPackage ../build-support/nuget-to-nix { }; fetchgx = callPackage ../build-support/fetchgx { }; @@ -9692,7 +9693,7 @@ with pkgs; ted = callPackage ../tools/typesetting/ted { }; - teamviewer = libsForQt514.callPackage ../applications/networking/remote/teamviewer { }; + teamviewer = libsForQt515.callPackage ../applications/networking/remote/teamviewer { }; teleconsole = callPackage ../tools/misc/teleconsole { }; @@ -19273,6 +19274,8 @@ with pkgs; socket_wrapper = callPackage ../development/libraries/socket_wrapper { }; + soco-cli = callPackage ../tools/audio/soco-cli { }; + sofia_sip = callPackage ../development/libraries/sofia-sip { inherit (darwin.apple_sdk.frameworks) SystemConfiguration; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index def7254eb929..952cb4084d37 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1753,6 +1753,14 @@ in { croniter = callPackage ../development/python-modules/croniter { }; + crownstone-cloud = callPackage ../development/python-modules/crownstone-cloud { }; + + crownstone-core = callPackage ../development/python-modules/crownstone-core { }; + + crownstone-sse = callPackage ../development/python-modules/crownstone-sse { }; + + crownstone-uart = callPackage ../development/python-modules/crownstone-uart { }; + cryptacular = callPackage ../development/python-modules/cryptacular { }; cryptography = callPackage ../development/python-modules/cryptography { @@ -7823,6 +7831,8 @@ in { random2 = callPackage ../development/python-modules/random2 { }; + rangehttpserver = callPackage ../development/python-modules/rangehttpserver { }; + rapidfuzz = callPackage ../development/python-modules/rapidfuzz { }; rarfile = callPackage ../development/python-modules/rarfile {