diff options
44 files changed, 868 insertions, 56 deletions
diff --git a/lib/licenses.nix b/lib/licenses.nix index d79ac900439..9baaba022bf 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -734,6 +734,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) ({ free = false; }; + stk = { + shortName = "stk"; + fullName = "Synthesis Tool Kit 4.3"; + url = https://github.com/thestk/stk/blob/master/LICENSE; + }; + tcltk = spdx { spdxId = "TCL"; fullName = "TCL/TK License"; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 7cc83e5734c..fc04997bd2e 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -139,6 +139,7 @@ ./programs/flexoptix-app.nix ./programs/freetds.nix ./programs/fuse.nix + ./programs/gamemode.nix ./programs/geary.nix ./programs/gnome-disks.nix ./programs/gnome-documents.nix diff --git a/nixos/modules/programs/gamemode.nix b/nixos/modules/programs/gamemode.nix new file mode 100644 index 00000000000..03949bf98df --- /dev/null +++ b/nixos/modules/programs/gamemode.nix @@ -0,0 +1,96 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.programs.gamemode; + settingsFormat = pkgs.formats.ini { }; + configFile = settingsFormat.generate "gamemode.ini" cfg.settings; +in +{ + options = { + programs.gamemode = { + enable = mkEnableOption "GameMode to optimise system performance on demand"; + + enableRenice = mkEnableOption "CAP_SYS_NICE on gamemoded to support lowering process niceness" // { + default = true; + }; + + settings = mkOption { + type = settingsFormat.type; + default = {}; + description = '' + System-wide configuration for GameMode (/etc/gamemode.ini). + See gamemoded(8) man page for available settings. + ''; + example = literalExample '' + { + general = { + renice = 10; + }; + + # Warning: GPU optimisations have the potential to damage hardware + gpu = { + apply_gpu_optimisations = "accept-responsibility"; + gpu_device = 0; + amd_performance_level = "high"; + }; + + custom = { + start = "''${pkgs.libnotify}/bin/notify-send 'GameMode started'"; + end = "''${pkgs.libnotify}/bin/notify-send 'GameMode ended'"; + }; + } + ''; + }; + }; + }; + + config = mkIf cfg.enable { + environment = { + systemPackages = [ pkgs.gamemode ]; + etc."gamemode.ini".source = configFile; + }; + + security = { + polkit.enable = true; + wrappers = mkIf cfg.enableRenice { + gamemoded = { + source = "${pkgs.gamemode}/bin/gamemoded"; + capabilities = "cap_sys_nice+ep"; + }; + }; + }; + + systemd = { + packages = [ pkgs.gamemode ]; + user.services.gamemoded = { + # The upstream service already defines this, but doesn't get applied. + # See https://github.com/NixOS/nixpkgs/issues/81138 + wantedBy = [ "default.target" ]; + + # Use pkexec from the security wrappers to allow users to + # run libexec/cpugovctl & libexec/gpuclockctl as root with + # the the actions defined in share/polkit-1/actions. + # + # This uses a link farm to make sure other wrapped executables + # aren't included in PATH. + environment.PATH = mkForce (pkgs.linkFarm "pkexec" [ + { + name = "pkexec"; + path = "${config.security.wrapperDir}/pkexec"; + } + ]); + + serviceConfig.ExecStart = mkIf cfg.enableRenice [ + "" # Tell systemd to clear the existing ExecStart list, to prevent appending to it. + "${config.security.wrapperDir}/gamemoded" + ]; + }; + }; + }; + + meta = { + maintainers = with maintainers; [ kira-bruneau ]; + }; +} diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix index 9fcfe7b52e0..212ba06ef75 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters.nix @@ -51,6 +51,7 @@ let "pihole" "postfix" "postgres" + "process" "py-air-control" "redis" "rspamd" diff --git a/nixos/modules/services/monitoring/prometheus/exporters/process.nix b/nixos/modules/services/monitoring/prometheus/exporters/process.nix new file mode 100644 index 00000000000..e3b3d18367f --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/exporters/process.nix @@ -0,0 +1,48 @@ +{ config, lib, pkgs, options }: + +with lib; + +let + cfg = config.services.prometheus.exporters.process; + configFile = pkgs.writeText "process-exporter.yaml" (builtins.toJSON cfg.settings); +in +{ + port = 9256; + extraOpts = { + settings.process_names = mkOption { + type = types.listOf types.anything; + default = {}; + example = literalExample '' + { + process_names = [ + # Remove nix store path from process name + { name = "{{.Matches.Wrapped}} {{ .Matches.Args }}"; cmdline = [ "^/nix/store[^ ]*/(?P<Wrapped>[^ /]*) (?P<Args>.*)" ]; } + ]; + } + ''; + description = '' + All settings expressed as an Nix attrset. + + Check the official documentation for the corresponding YAML + settings that can all be used here: <link xlink:href="https://github.com/ncabatoff/process-exporter" /> + ''; + }; + }; + serviceOpts = { + serviceConfig = { + DynamicUser = false; + ExecStart = '' + ${pkgs.prometheus-process-exporter}/bin/process-exporter \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + --config.path ${configFile} \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + NoNewPrivileges = true; + ProtectHome = true; + ProtectSystem = true; + ProtectKernelTunables = true; + ProtectKernelModules = true; + ProtectControlGroups = true; + }; + }; +} diff --git a/nixos/modules/virtualisation/openvswitch.nix b/nixos/modules/virtualisation/openvswitch.nix index c6a3ceddc3e..ccf32641df6 100644 --- a/nixos/modules/virtualisation/openvswitch.nix +++ b/nixos/modules/virtualisation/openvswitch.nix @@ -66,9 +66,7 @@ in { }; in (mkMerge [{ - - environment.systemPackages = [ cfg.package pkgs.ipsecTools ]; - + environment.systemPackages = [ cfg.package ]; boot.kernelModules = [ "tun" "openvswitch" ]; boot.extraModulePackages = [ cfg.package ]; @@ -146,6 +144,8 @@ in { } (mkIf (cfg.ipsec && (versionOlder cfg.package.version "2.6.0")) { + environment.systemPackages = [ pkgs.ipsecTools ]; + services.racoon.enable = true; services.racoon.configPath = "${runDir}/ipsec/etc/racoon/racoon.conf"; diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix index e3bfff218ad..d13058dff4c 100644 --- a/nixos/tests/prometheus-exporters.nix +++ b/nixos/tests/prometheus-exporters.nix @@ -864,6 +864,25 @@ let ''; }; + process = { + exporterConfig = { + enable = true; + settings.process_names = [ + # Remove nix store path from process name + { name = "{{.Matches.Wrapped}} {{ .Matches.Args }}"; cmdline = [ "^/nix/store[^ ]*/(?P<Wrapped>[^ /]*) (?P<Args>.*)" ]; } + ]; + }; + exporterTest = '' + wait_for_unit("prometheus-process-exporter.service") + wait_for_open_port(9256) + wait_until_succeeds( + "curl -sSf localhost:9256/metrics | grep -q '{}'".format( + 'namedprocess_namegroup_cpu_seconds_total{groupname="process-exporter ' + ) + ) + ''; + }; + py-air-control = { nodeName = "py_air_control"; exporterConfig = { diff --git a/nixos/tests/rss2email.nix b/nixos/tests/rss2email.nix index d62207a417b..f32326feb50 100644 --- a/nixos/tests/rss2email.nix +++ b/nixos/tests/rss2email.nix @@ -1,5 +1,5 @@ import ./make-test-python.nix { - name = "opensmtpd"; + name = "rss2email"; nodes = { server = { pkgs, ... }: { diff --git a/pkgs/applications/audio/boops/default.nix b/pkgs/applications/audio/boops/default.nix index ce6c4d1723f..b1b91aaf9de 100644 --- a/pkgs/applications/audio/boops/default.nix +++ b/pkgs/applications/audio/boops/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "boops"; - version = "1.4.0"; + version = "1.6.0"; src = fetchFromGitHub { owner = "sjaehn"; repo = "BOops"; rev = version; - sha256 = "1kkp6s431pjb1qrg1dq8ak3lj0ksqnxsij9jg6biscpfgbmaqdcq"; + sha256 = "sha256-7eNvt8PxIZCp83Y5XX5fBolBon4j+HPtu8wrgG8Miok="; }; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/audio/faustPhysicalModeling/default.nix b/pkgs/applications/audio/faustPhysicalModeling/default.nix new file mode 100644 index 00000000000..f55cee957c7 --- /dev/null +++ b/pkgs/applications/audio/faustPhysicalModeling/default.nix @@ -0,0 +1,39 @@ +{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }: +stdenv.mkDerivation rec { + pname = "faustPhysicalModeling"; + version = "2.20.2"; + + src = fetchFromGitHub { + owner = "grame-cncm"; + repo = "faust"; + rev = version; + sha256 = "1mm93ba26b7q69hvabzalg30dh8pl858nj4m2bb57pznnp09lq9a"; + }; + + buildInputs = [ faust2jaqt faust2lv2 ]; + + buildPhase = '' + cd examples/physicalModeling + + for f in *MIDI.dsp; do + faust2jaqt -time -vec -double -midi -nvoices 16 -t 99999 $f + faust2lv2 -time -vec -double -gui -nvoices 16 -t 99999 $f + done + ''; + + installPhase = '' + mkdir -p $out/lib/lv2 $out/bin + mv *.lv2/ $out/lib/lv2 + for f in $(find . -executable -type f); do + cp $f $out/bin/ + done + ''; + + meta = with lib; { + description = "The physical models included with faust compiled as jack standalone and lv2 instruments"; + homepage = "https://github.com/grame-cncm/faust/tree/master-dev/examples/physicalModeling"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ magnetophon ]; + }; +} diff --git a/pkgs/applications/audio/faustStk/default.nix b/pkgs/applications/audio/faustStk/default.nix new file mode 100644 index 00000000000..85ebb1d9a02 --- /dev/null +++ b/pkgs/applications/audio/faustStk/default.nix @@ -0,0 +1,39 @@ +{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }: + +stdenv.mkDerivation rec { + pname = "faustPhhysicalModeling"; + version = "2.20.2"; + + src = fetchFromGitHub { + owner = "grame-cncm"; + repo = "faust"; + rev = version; + sha256 = "1mm93ba26b7q69hvabzalg30dh8pl858nj4m2bb57pznnp09lq9a"; + }; + + buildInputs = [ faust2jaqt faust2lv2 ]; + + buildPhase = '' + cd examples/physicalModeling/faust-stk + + for f in *.dsp; do + faust2jaqt -time -vec -midi -nvoices 8 -t 99999 $f + faust2lv2 -time -vec -double -gui -nvoices 32 -t 99999 $f + done + ''; + + installPhase = '' + mkdir -p $out/lib/lv2 $out/bin + mv *.lv2/ $out/lib/lv2 + for f in $(find . -executable -type f); do + cp $f $out/bin/ + done + ''; + meta = with lib; { + description = "The physical modeling instruments included with faust, compiled as jack standalone and lv2 instruments"; + homepage = "https://ccrma.stanford.edu/~rmichon/faustSTK/"; + license = licenses.stk; + platforms = platforms.linux; + maintainers = with maintainers; [ magnetophon ]; + }; +} diff --git a/pkgs/applications/audio/stochas/default.nix b/pkgs/applications/audio/stochas/default.nix index 0c50cda8e6c..aa4b4acf514 100644 --- a/pkgs/applications/audio/stochas/default.nix +++ b/pkgs/applications/audio/stochas/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "stochas"; - version = "1.3.4"; + version = "1.3.5"; src = fetchFromGitHub { owner = "surge-synthesizer"; repo = pname; rev = "v${version}"; - sha256 = "0b26mbj727dnygavz4kihnhmnnvwsr9l145w6kydq7bd7nwiw7lq"; + sha256 = "1z8q53qfigw6wwbvpca92b9pf9d0mv3nyb0fmszz5ikj3pcybi7m"; fetchSubmodules = true; }; diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix index e8e69cd787b..1900b92e3bb 100644 --- a/pkgs/applications/misc/logseq/default.nix +++ b/pkgs/applications/misc/logseq/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "logseq"; - version = "0.0.16"; + version = "0.1.3"; src = fetchurl { url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage"; - sha256 = "dmgwFHJRy5qE71naRJKX0HCrVG0qQBOIM9TvCh4j/lY="; + sha256 = "1akg3xjbh01nb7l06qpvz3xsjj64kf042xjnapn60jlgg5y34vbm"; name = "${pname}-${version}.AppImage"; }; diff --git a/pkgs/applications/misc/moonlight-qt/default.nix b/pkgs/applications/misc/moonlight-qt/default.nix index 2393fe09b37..ad9baec8f99 100644 --- a/pkgs/applications/misc/moonlight-qt/default.nix +++ b/pkgs/applications/misc/moonlight-qt/default.nix @@ -15,6 +15,7 @@ , openssl , libopus , ffmpeg +, wayland }: stdenv.mkDerivation rec { @@ -47,6 +48,7 @@ stdenv.mkDerivation rec { openssl libopus ffmpeg + wayland ]; meta = with lib; { diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix index 0224edc652f..7496063c58e 100644 --- a/pkgs/applications/networking/instant-messengers/viber/default.nix +++ b/pkgs/applications/networking/instant-messengers/viber/default.nix @@ -9,7 +9,8 @@ stdenv.mkDerivation { version = "13.3.1.22"; src = fetchurl { - url = "https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb"; + # Official link: https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb + url = "http://web.archive.org/web/20210602004133/https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb"; sha256 = "0rs26x0lycavybn6k1hbb5kzms0zzcmxlrmi4g8k7vyafj6s8dqh"; }; diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix index 5039b842f41..5377a7b3d11 100644 --- a/pkgs/applications/science/electronics/verilator/default.nix +++ b/pkgs/applications/science/electronics/verilator/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "Fast and robust (System)Verilog simulator/compiler"; homepage = "https://www.veripool.org/wiki/verilator"; - license = licenses.lgpl3; + license = with licenses; [ lgpl3Only artistic2 ]; platforms = platforms.unix; maintainers = with maintainers; [ thoughtpolice ]; }; diff --git a/pkgs/data/fonts/edwin/default.nix b/pkgs/data/fonts/edwin/default.nix new file mode 100644 index 00000000000..4b1688dbc55 --- /dev/null +++ b/pkgs/data/fonts/edwin/default.nix @@ -0,0 +1,29 @@ +{ lib, fetchurl }: + +let + version = "0.52"; +in fetchurl { + name = "edwin-${version}"; + + url = "https://github.com/MuseScoreFonts/Edwin/archive/refs/tags/v${version}.tar.gz"; + + downloadToTemp = true; + + recursiveHash = true; + + sha256 = "sha256-e0ADK72ECl+QMvLWtFJfeHBmuEwzr9M+Kqvkd5Z2mmo="; + + postFetch = '' + tar xzf $downloadedFile + mkdir -p $out/share/fonts/opentype + install Edwin-${version}/*.otf $out/share/fonts/opentype + ''; + + meta = with lib; { + description = "A text font for musical scores"; + homepage = "https://github.com/MuseScoreFonts/Edwin"; + license = licenses.ofl; + platforms = platforms.all; + maintainers = with maintainers; [ fortuneteller2k ]; + }; +} diff --git a/pkgs/development/beam-modules/rebar3-release.nix b/pkgs/development/beam-modules/rebar3-release.nix index e8e2aecc460..d2c9da6414f 100644 --- a/pkgs/development/beam-modules/rebar3-release.nix +++ b/pkgs/development/beam-modules/rebar3-release.nix @@ -80,11 +80,22 @@ let dir=${if releaseType == "escript" then "bin" else "rel"} - mkdir -p "$out/$dir" + mkdir -p "$out/$dir" "$out/bin" cp -R --preserve=mode "_build/${profile}/$dir" "$out" + ${lib.optionalString (releaseType == "release") + "find $out/rel/*/bin -type f -executable -exec ln -s -t $out/bin {} \\;"} runHook postInstall ''; + postInstall = '' + for dir in $out/rel/*/erts-*; do + echo "ERTS found in $dir - removing references to erlang to reduce closure size" + for f in $dir/bin/{erl,start}; do + substituteInPlace "$f" --replace "${erlang}/lib/erlang" "''${dir/\/erts-*/}" + done + done + ''; + meta = { inherit (erlang.meta) platforms; } // meta; diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix index fbe96ca179d..568407c3614 100644 --- a/pkgs/development/compilers/purescript/purescript/default.nix +++ b/pkgs/development/compilers/purescript/purescript/default.nix @@ -18,19 +18,19 @@ let in stdenv.mkDerivation rec { pname = "purescript"; - version = "0.14.0"; + version = "0.14.2"; src = if stdenv.isDarwin then fetchurl { url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz"; - sha256 = "0dfnn5ar7zgvgvxcvw5f6vwpkgkwa017y07s7mvdv44zf4hzsj3s"; + sha256 = "1ga2hn9br71dyzn3p9jvjiksvnq21p6i5hp1z1j5fpz9la28nqzf"; } else fetchurl { url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz"; - sha256 = "1l3i7mxlzb2dkq6ff37rvnaarikxzxj0fg9i2kk26s8pz7vpqgjh"; + sha256 = "1kv7dm1nw85lw3brrclkj7xc9p021jx3n8wgp2fg3572s86ypskw"; }; @@ -62,5 +62,6 @@ in stdenv.mkDerivation rec { maintainers = with maintainers; [ justinwoo mbbx6spp cdepillabout ]; platforms = [ "x86_64-linux" "x86_64-darwin" ]; mainProgram = "purs"; + changelog = "https://github.com/purescript/purescript/releases/tag/v${version}"; }; } diff --git a/pkgs/development/libraries/box2d/default.nix b/pkgs/development/libraries/box2d/default.nix index 47a1c0917f0..1b6ede9b310 100644 --- a/pkgs/development/libraries/box2d/default.nix +++ b/pkgs/development/libraries/box2d/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { version = "2.3.1"; src = fetchurl { - url = "https://github.com/erincatto/Box2D/archive/v${version}.tar.gz"; - sha256 = "0llpcifl8zbjbpxdwz87drd01m3lwnv82xb4av6kca1xn4w2gmkm"; + url = "https://github.com/erincatto/box2d/archive/v${version}.tar.gz"; + sha256 = "0p03ngsmyz0r5kbpiaq10ns4fxwkjvvawi8k6pfall46b93wizsq"; }; - sourceRoot = "Box2D-${version}/Box2D"; + sourceRoot = "box2d-${version}/Box2D"; nativeBuildInputs = [ cmake unzip pkg-config ]; buildInputs = [ libGLU libGL freeglut libX11 xorgproto libXi ]; diff --git a/pkgs/development/libraries/mvapich/default.nix b/pkgs/development/libraries/mvapich/default.nix new file mode 100644 index 00000000000..71c6ce38f95 --- /dev/null +++ b/pkgs/development/libraries/mvapich/default.nix @@ -0,0 +1,73 @@ +{ lib, stdenv, fetchurl, pkg-config, bison, numactl, libxml2 +, perl, gfortran, slurm, openssh, hwloc, zlib, makeWrapper +# InfiniBand dependencies +, opensm, rdma-core +# OmniPath dependencies +, libpsm2, libfabric +# Compile with slurm as a process manager +, useSlurm ? false +# Network type for MVAPICH2 +, network ? "ethernet" +} : + +assert builtins.elem network [ "ethernet" "infiniband" "omnipath" ]; + +stdenv.mkDerivation rec { + pname = "mvapich"; + version = "2.3.6"; + + src = fetchurl { + url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-${version}.tar.gz"; + sha256 = "0jd28vy9ivl3rcpkxmhw73b6krzm0pd9jps8asw92wa00lm2z9mk"; + }; + + nativeBuildInputs = [ pkg-config bison makeWrapper ]; + propagatedBuildInputs = [ numactl rdma-core zlib opensm ]; + buildInputs = with lib; [ + numactl + libxml2 + perl + gfortran + openssh + hwloc + ] ++ optionals (network == "infiniband") [ rdma-core opensm ] + ++ optionals (network == "omnipath") [ libpsm2 libfabric ] + ++ optional useSlurm slurm; + + configureFlags = with lib; [ + "--with-pm=hydra" + "--enable-fortran=all" + "--enable-cxx" + "--enable-threads=multiple" + "--enable-hybrid" + "--enable-shared" + ] ++ optional useSlurm "--with-pm=slurm" + ++ optional (network == "ethernet") "--with-device=ch3:sock" + ++ optionals (network == "infiniband") [ "--with-device=ch3:mrail" "--with-rdma=gen2" ] + ++ optionals (network == "omnipath") ["--with-device=ch3:psm" "--with-psm2=${libpsm2}"]; + + doCheck = true; + + preFixup = '' + # /tmp/nix-build... ends up in the RPATH, fix it manually + for entry in $out/bin/mpichversion $out/bin/mpivars; do + echo "fix rpath: $entry" + patchelf --set-rpath "$out/lib" $entry + done + + # Ensure the default compilers are the ones mvapich was built with + substituteInPlace $out/bin/mpicc --replace 'CC="gcc"' 'CC=${stdenv.cc}/bin/gcc' + substituteInPlace $out/bin/mpicxx --replace 'CXX="g++"' 'CC=${stdenv.cc}/bin/g++' + substituteInPlace $out/bin/mpifort --replace 'FC="gfortran"' 'CC=${gfortran}/bin/gfortran' + ''; + + enableParallelBuilding = true; + + meta = with lib; { + description = "MPI-3.1 implementation optimized for Infiband transport"; + homepage = "https://mvapich.cse.ohio-state.edu"; + license = licenses.bsd3; + maintainers = [ maintainers.markuskowa ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix index 3536ebd586e..f04b22abe8c 100644 --- a/pkgs/development/libraries/sundials/default.nix +++ b/pkgs/development/libraries/sundials/default.nix @@ -17,8 +17,8 @@ stdenv.mkDerivation rec { outputs = [ "out" "examples" ]; src = fetchurl { - url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz"; - sha256 = "jW3QlP7Mu41uzEE0DsFqZfq6yC7UQVAj9tfBwjkOovM="; + url = "https://github.com/LLNL/sundials/releases/download/v${version}/sundials-${version}.tar.gz"; + hash = "sha256-SNp7qoFS3bIq7RsC2C0du0+/6iKs9nY0ARqgMDoQCkM="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/development/php-packages/deployer/default.nix b/pkgs/development/php-packages/deployer/default.nix index 2e24a98b0bf..7679fb5ea51 100644 --- a/pkgs/development/php-packages/deployer/default.nix +++ b/pkgs/development/php-packages/deployer/default.nix @@ -1,4 +1,4 @@ -{ mkDerivation, fetchurl, makeWrapper, lib, php }: +{ mkDerivation, fetchurl, makeWrapper, installShellFiles, lib, php }: mkDerivation rec { pname = "deployer"; @@ -11,12 +11,17 @@ mkDerivation rec { dontUnpack = true; - nativeBuildInputs = [ makeWrapper ]; + nativeBuildInputs = [ makeWrapper installShellFiles ]; installPhase = '' mkdir -p $out/bin install -D $src $out/libexec/deployer/deployer.phar makeWrapper ${php}/bin/php $out/bin/dep --add-flags "$out/libexec/deployer/deployer.phar" + + # fish support currently broken: https://github.com/deployphp/deployer/issues/2527 + installShellCompletion --cmd dep \ + --bash <($out/bin/dep autocomplete --install) \ + --zsh <($out/bin/dep autocomplete --install) ''; meta = with lib; { diff --git a/pkgs/development/python-modules/clldutils/default.nix b/pkgs/development/python-modules/clldutils/default.nix index 2271337dc98..318354786b5 100644 --- a/pkgs/development/python-modules/clldutils/default.nix +++ b/pkgs/development/python-modules/clldutils/default.nix @@ -15,14 +15,14 @@ buildPythonPackage rec { pname = "clldutils"; - version = "3.8.0"; + version = "3.9.0"; disabled = isPy27; src = fetchFromGitHub { owner = "clld"; repo = pname; rev = "v${version}"; - sha256 = "18sjcqzprf96s7bkn5zm3lh83hxfxj56nycxyldrwz7ndgkgxxx2"; + sha256 = "07ljq7v1zvaxyl6xn4a2p4097lgd5j9bz71lf05y5bz8k024mxbr"; }; patchPhase = '' @@ -48,6 +48,6 @@ buildPythonPackage rec { description = "CSV on the Web"; homepage = "https://github.com/cldf/csvw"; license = licenses.asl20; - maintainers = with maintainers; [ hexa ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/icmplib/default.nix b/pkgs/development/python-modules/icmplib/default.nix index 2718b634054..fdbf45edaae 100644 --- a/pkgs/development/python-modules/icmplib/default.nix +++ b/pkgs/development/python-modules/icmplib/default.nix @@ -4,24 +4,22 @@ , pbr , pythonOlder , requests -, six }: buildPythonPackage rec { pname = "icmplib"; - version = "2.1.1"; - disabled = pythonOlder "3.6"; + version = "3.0.0"; + disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "ValentinBELYN"; repo = pname; rev = "v${version}"; - sha256 = "06xx9854yzxa7x1mjfzbhhw5rfzgjnw269j5k0rshyqh3qvw1nwv"; + sha256 = "sha256-i5cmL8kOrehldOwX2RfVAfL4HdzJ+9S3BojJI2raUSA="; }; propagatedBuildInputs = [ pbr - six requests ]; diff --git a/pkgs/development/python-modules/motioneye-client/default.nix b/pkgs/development/python-modules/motioneye-client/default.nix index 44de5318787..a769128fd86 100644 --- a/pkgs/development/python-modules/motioneye-client/default.nix +++ b/pkgs/development/python-modules/motioneye-client/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "motioneye-client"; - version = "0.3.8"; + version = "0.3.9"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "dermotduffy"; repo = pname; rev = "v${version}"; - sha256 = "sha256-vTTjH4LhUcbh+/838wR0vnvml2y78Ro8SGwSZ6aApdQ="; + sha256 = "sha256-pLdAxBipmr+HUr9NSupm7h/68PK95r3zY/qZTBs1m54="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/sanic/default.nix b/pkgs/development/python-modules/sanic/default.nix index 8c18380c3ba..5f610f6feab 100644 --- a/pkgs/development/python-modules/sanic/default.nix +++ b/pkgs/development/python-modules/sanic/default.nix @@ -42,6 +42,8 @@ buildPythonPackage rec { "test_zero_downtime" # flaky "test_keep_alive_client_timeout" + "test_check_timeouts_request_timeout" + "test_check_timeouts_response_timeout" "test_reloader_live" ]; diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix index f16a6d0bb4a..254dfbb1788 100644 --- a/pkgs/development/r-modules/default.nix +++ b/pkgs/development/r-modules/default.nix @@ -375,6 +375,7 @@ let affyio = [ pkgs.zlib.dev ]; VariantAnnotation = [ pkgs.zlib.dev pkgs.curl.dev ]; snpStats = [ pkgs.zlib.dev ]; + hdf5r = [ pkgs.hdf5.dev ]; }; packagesWithBuildInputs = { diff --git a/pkgs/development/tools/f2c/default.nix b/pkgs/development/tools/f2c/default.nix new file mode 100644 index 00000000000..f235296308f --- /dev/null +++ b/pkgs/development/tools/f2c/default.nix @@ -0,0 +1,32 @@ +{ lib, stdenv, fetchurl }: + +stdenv.mkDerivation { + pname = "f2c"; + version = "20200916"; + + src = fetchurl { + url = "https://www.netlib.org/f2c/src.tgz"; + sha256 = "0d8xfbv6dk4dz95qds7sd44b5hvara07f2g2c5g4xiwim9b7916l"; + }; + + makeFlags = [ "-f" "makefile.u" ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin $out/share/man/man1 + install -m755 f2c $out/bin + install -m755 xsum $out/bin + install f2c.1t $out/share/man/man1 + + runHook postInstall + ''; + + meta = with lib; { + description = "Convert Fortran 77 source code to C"; + homepage = "https://www.netlib.org/f2c/"; + license = licenses.mit; + maintainers = [ maintainers.markuskowa ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/games/tumiki-fighters/default.nix b/pkgs/games/tumiki-fighters/default.nix new file mode 100644 index 00000000000..2f3cf869f8d --- /dev/null +++ b/pkgs/games/tumiki-fighters/default.nix @@ -0,0 +1,97 @@ +{ lib +, stdenv +, fetchpatch +, fetchurl +, unzip +, gdc +, SDL +, SDL_mixer +, bulletml +}: + +let +debianPatch = patchname: hash: fetchpatch { + name = "${patchname}.patch"; + url = "https://sources.debian.org/data/main/t/tumiki-fighters/0.2.dfsg1-9/debian/patches/${patchname}.patch"; + sha256 = hash; +}; + +in stdenv.mkDerivation { + pname = "tumiki-fighters"; + version = "0.21"; + + src = fetchurl { + url = "http://abagames.sakura.ne.jp/windows/tf0_21.zip"; + sha256 = "0djykfc1r8ysapklm621h89ana1c4qzc1m5nr9bqw4iccnmvwk3p"; + }; + + patches = [ + (debianPatch + "imports" + "1l3kc67b43gdi139cpz5cka1nkn0pjp9mrgrrxlmr0liwx2aryhn") + (debianPatch + "fixes" + "1iy1a5vii6yz9zdlk2bcj6gkj4y25hn9y2fczz15jpqd9r2zm603") + (debianPatch + "directories" + "0kmv0s7jgr693fzrkjsmz4dnicc4w7njanxm2la3cf4vmgdyipmm") + (debianPatch + "windowed" + "1wp74l0bi8wq85pcxnmkwrlfmlf09im95n27pxgz082lhwf2ksy1") + (debianPatch + "dotfile" + "0d8x519bclh41j992qn6ijzfcrgacb79px6zjd1awypkwyc0j2p6") + (debianPatch + "makefile" + "11xf2b31kjyps53jfryv82dv0g6q0smc9xgp8imrbr93mzi51vf0") + (debianPatch + "window-resizing" + "1dm79d0yisa8zs5fr89y3wq2kzd3khcaxs0la8lhncvkqbd4smx8") + (debianPatch + "dlang_v2" + "1isnvbl3bjnpyphji8k3fl0yd1z4869h0lai143vpwgj6518lpg4") + (debianPatch + "gdc-8" + "1md0zwmv50jnak5g9d93bglv9v4z41blinjii6kv3vmgjnajapzj") + ]; + + postPatch = '' + for f in \ + src/abagames/tf/barragemanager.d \ + src/abagames/util/sdl/sound.d \ + src/abagames/util/sdl/texture.d \ + src/abagames/tf/enemyspec.d \ + src/abagames/tf/field.d \ + src/abagames/tf/stagemanager.d \ + src/abagames/tf/tumikiset.d + do + substituteInPlace $f \ + --replace "/usr/" "$out/" + done + ''; + + nativeBuildInputs = [ + unzip + gdc + ]; + + buildInputs = [ + SDL + SDL_mixer + bulletml + ]; + + installPhase = '' + install -Dm755 tumiki-fighters $out/bin/tumiki-fighters + mkdir -p $out/share/games/tumiki-fighters + cp -r barrage sounds enemy field stage tumiki $out/share/games/tumiki-fighters/ + ''; + + meta = with lib; { + homepage = "http://www.asahi-net.or.jp/~cs8k-cyu/windows/tf_e.html"; + description = "Sticky 2D shooter"; + license = licenses.bsd2; + maintainers = with maintainers; [ fgaz ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/os-specific/linux/mwprocapture/default.nix b/pkgs/os-specific/linux/mwprocapture/default.nix index c21cf2bb648..e97dcad43db 100644 --- a/pkgs/os-specific/linux/mwprocapture/default.nix +++ b/pkgs/os-specific/linux/mwprocapture/default.nix @@ -2,9 +2,6 @@ with lib; -# The Magewell Pro Capture drivers are not supported for kernels older than 3.2 -assert versionAtLeast kernel.version "3.2.0"; - let bits = if stdenv.is64bit then "64" @@ -14,15 +11,15 @@ let in stdenv.mkDerivation rec { - name = "mwprocapture-1.2.${version}-${kernel.version}"; - version = "4177"; + name = "mwprocapture-1.3.0.${version}-${kernel.version}"; + version = "4236"; src = fetchurl { - url = "http://www.magewell.com/files/drivers/ProCaptureForLinux_${version}.tar.gz"; - sha256 = "1nf51w9yixpvr767k49sfdb9n9rv5qc72f5yki1mkghbmabw7vys"; + url = "https://www.magewell.com/files/drivers/ProCaptureForLinux_${version}.tar.gz"; + sha256 = "1mfgj84km276sq5i8dny1vqp2ycqpvgplrmpbqwnk230d0w3qs74"; }; - nativeBuildInputs = [ kernel.moduleBuildDependencies ]; + nativeBuildInputs = kernel.moduleBuildDependencies; preConfigure = '' @@ -63,5 +60,6 @@ stdenv.mkDerivation rec { license = licenses.unfreeRedistributable; maintainers = with maintainers; [ MP2E ]; platforms = platforms.linux; + broken = kernel.kernelOlder "3.2.0"; }; } diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix index fd1b14e6158..874b18ef9eb 100644 --- a/pkgs/servers/consul/default.nix +++ b/pkgs/servers/consul/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "consul"; - version = "1.9.5"; + version = "1.9.6"; rev = "v${version}"; # Note: Currently only release tags are supported, because they have the Consul UI @@ -17,7 +17,7 @@ buildGoModule rec { owner = "hashicorp"; repo = pname; inherit rev; - sha256 = "sha256-CKezHuCbL1I79gDz7ZQiSgPbSXo0NtssQro2MqqmeXw="; + sha256 = "sha256-SuG/Q5Tjet4etd4Qy5NBQLYEe2QO0K8QHKmgxYMl09U="; }; passthru.tests.consul = nixosTests.consul; @@ -26,7 +26,7 @@ buildGoModule rec { # has a split module structure in one repo subPackages = ["." "connect/certgen"]; - vendorSha256 = "sha256-YqrW3PeFv1Y6lmjVmMMP0SZao57iPqfut3a1afIWkI0="; + vendorSha256 = "sha256-jVhj7pzJ8kxZk3ViA9zhVqD314biih/sP0Ql1GXcoRY="; doCheck = false; diff --git a/pkgs/servers/monitoring/prometheus/process-exporter.nix b/pkgs/servers/monitoring/prometheus/process-exporter.nix index 048a3ff264c..e4bfed9821b 100644 --- a/pkgs/servers/monitoring/prometheus/process-exporter.nix +++ b/pkgs/servers/monitoring/prometheus/process-exporter.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, nixosTests }: buildGoModule rec { pname = "process-exporter"; @@ -19,6 +19,8 @@ buildGoModule rec { doCheck = true; + passthru.tests = { inherit (nixosTests.prometheus-exporters) process; }; + meta = with lib; { description = "Prometheus exporter that mines /proc to report on selected processes"; homepage = "https://github.com/ncabatoff/process-exporter"; diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix index 53389db39c9..2e33e61c0e5 100644 --- a/pkgs/servers/openafs/1.8/module.nix +++ b/pkgs/servers/openafs/1.8/module.nix @@ -49,6 +49,16 @@ in stdenv.mkDerivation { url = "https://github.com/openafs/openafs/commit/ee53dd3bc087a05e22fc4111297a51ddb30013f0.patch"; sha256 = "0dfab3zk0dmf6iksna5n09lf5dn4f8w43q4irl2yf5dgqm35shkr"; }) + # Linux: Create wrapper for setattr_prepare + (fetchpatch { + url = "https://github.com/openafs/openafs/commit/5a5d358b02b88d6d2c7a27a75149e35b1de7db38.patch"; + sha256 = "07gywsg41cz5h6iafr4pb0gb9jnsb58xkwn479lw46b3y5jgz7ki"; + }) + # Linux 5.12: Add user_namespace param to inode ops + (fetchpatch { + url = "https://github.com/openafs/openafs/commit/c747b15dd2877e6d17e3e6b940ae78c1e1ccd3ea.patch"; + sha256 = "0bbqmx4nkmfkapk25zrv9ivhhs91rn9dizb1lkfs7a6937q1kaqh"; + }) ]; hardeningDisable = [ "pic" ]; diff --git a/pkgs/tools/games/gamemode/default.nix b/pkgs/tools/games/gamemode/default.nix new file mode 100644 index 00000000000..e9fdec59220 --- /dev/null +++ b/pkgs/tools/games/gamemode/default.nix @@ -0,0 +1,104 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, libgamemode32 +, meson +, ninja +, pkg-config +, dbus +, inih +, systemd +, appstream +}: + +stdenv.mkDerivation rec { + pname = "gamemode"; + version = "1.6.1"; + + src = fetchFromGitHub { + owner = "FeralInteractive"; + repo = pname; + rev = version; + sha256 = "sha256-P00OnZiPZyxBu9zuG+3JNorXHBhJZy+cKPjX+duZrJ0="; + }; + + outputs = [ "out" "dev" "lib" "man" "static" ]; + + patches = [ + # Run executables from PATH instead of /usr/bin + # See https://github.com/FeralInteractive/gamemode/pull/323 + (fetchpatch { + url = "https://github.com/FeralInteractive/gamemode/commit/be44b7091baa33be6dda60392e4c06c2f398ee72.patch"; + sha256 = "TlDUETs4+N3pvrVd0FQGlGmC+6ByhJ2E7gKXa7suBtE="; + }) + + # Fix loading shipped config when using a prefix other than /usr + # See https://github.com/FeralInteractive/gamemode/pull/324 + (fetchpatch { + url = "https://github.com/FeralInteractive/gamemode/commit/b29aa903ce5acc9141cfd3960c98ccb047eca872.patch"; + sha256 = "LwBzBJQ7dfm2mFVSOSPjJP+skgV5N6h77i66L1Sq+ZM="; + }) + + # Add @libraryPath@ template variable to fix loading the PRELOAD library + ./preload-nix-workaround.patch + ]; + + postPatch = '' + substituteInPlace data/gamemoderun \ + --subst-var-by libraryPath ${lib.makeLibraryPath ([ + (placeholder "lib") + ] ++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux") [ + # Support wrapping 32bit applications on a 64bit linux system + libgamemode32 + ])} + ''; + + nativeBuildInputs = [ + meson + ninja + pkg-config + ]; + + buildInputs = [ + dbus + inih + systemd + ]; + + mesonFlags = [ + # libexec is just a way to package binaries without including them + # in PATH. It doesn't make sense to install them to $lib + # (the default behaviour in the meson hook). + "--libexecdir=${placeholder "out"}/libexec" + + "-Dwith-systemd-user-unit-dir=lib/systemd/user" + ]; + + doCheck = true; + checkInputs = [ + appstream + ]; + + # Move static libraries to $static so $lib only contains dynamic libraries. + postInstall = '' + moveToOutput lib/*.a "$static" + ''; + + # Add $lib/lib to gamemoded & gamemode-simulate-game's rpath since + # they use dlopen to load libgamemode. Can't use makeWrapper since + # it would break the security wrapper in the NixOS module. + postFixup = '' + for bin in "$out/bin/gamemoded" "$out/bin/gamemode-simulate-game"; do + patchelf --set-rpath "$lib/lib:$(patchelf --print-rpath "$bin")" "$bin" + done + ''; + + meta = with lib; { + description = "Optimise Linux system performance on demand"; + homepage = "https://github.com/FeralInteractive/GameMode"; + license = licenses.bsd3; + maintainers = with maintainers; [ kira-bruneau ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/tools/games/gamemode/preload-nix-workaround.patch b/pkgs/tools/games/gamemode/preload-nix-workaround.patch new file mode 100644 index 00000000000..06989ff984a --- /dev/null +++ b/pkgs/tools/games/gamemode/preload-nix-workaround.patch @@ -0,0 +1,12 @@ +diff --git a/data/gamemoderun b/data/gamemoderun +index 573b3e4..6f2799e 100755 +--- a/data/gamemoderun ++++ b/data/gamemoderun +@@ -5,5 +5,6 @@ GAMEMODEAUTO_NAME="libgamemodeauto.so.0" + + # ld will find the right path to load the library, including for 32-bit apps. + LD_PRELOAD="${GAMEMODEAUTO_NAME}${LD_PRELOAD:+:$LD_PRELOAD}" ++LD_LIBRARY_PATH="@libraryPath@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + +-exec env LD_PRELOAD="${LD_PRELOAD}" $GAMEMODERUNEXEC "$@" ++exec env LD_PRELOAD="${LD_PRELOAD}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" $GAMEMODERUNEXEC "$@" diff --git a/pkgs/tools/inputmethods/remote-touchpad/default.nix b/pkgs/tools/inputmethods/remote-touchpad/default.nix index 0bd2b09aafc..a4dc6a1c463 100644 --- a/pkgs/tools/inputmethods/remote-touchpad/default.nix +++ b/pkgs/tools/inputmethods/remote-touchpad/default.nix @@ -9,19 +9,19 @@ buildGoModule rec { pname = "remote-touchpad"; - version = "1.0.1"; + version = "1.0.2"; src = fetchFromGitHub { owner = "unrud"; repo = pname; rev = "v${version}"; - sha256 = "0zmbn4s3yhcgmijc96vja7zj2sh6q0nkybhqy0fwz6sqzk8hq02x"; + sha256 = "09a252z69msy4wd5kazpca8dcn0a2djdw0vs663062fl977p73qs"; }; buildInputs = [ libX11 libXi libXt libXtst ]; buildFlags = [ "-tags" "portal,x11" ]; - vendorSha256 = "0q1qk5g7kqpcci5fgamvxa8989jglv69kwg5rvkphbnx1bzlivrl"; + vendorSha256 = "1pgj0m67g759mcs4s34h4pq3mc7gni643z5cp6ffq4rrn8mdi060"; meta = with lib; { description = "Control mouse and keyboard from the webbrowser of a smartphone."; diff --git a/pkgs/tools/misc/depotdownloader/default.nix b/pkgs/tools/misc/depotdownloader/default.nix new file mode 100644 index 00000000000..384234f1f9c --- /dev/null +++ b/pkgs/tools/misc/depotdownloader/default.nix @@ -0,0 +1,49 @@ +{ stdenv, lib, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper +, dotnet-sdk_5, dotnetPackages +}: + +let + fetchNuGet = {name, version, sha256}: fetchurl { + name = "nuget-${name}-${version}.nupkg"; + url = "https://www.nuget.org/api/v2/package/${name}/${version}"; + inherit sha256; + }; + deps = import ./deps.nix fetchNuGet; +in +stdenv.mkDerivation rec { + pname = "depotdownloader"; + version = "2.4.1"; + + src = fetchFromGitHub { + owner = "SteamRE"; + repo = "DepotDownloader"; + rev = "DepotDownloader_${version}"; + sha256 = "1ldwda7wyvzqvqv1wshvqvqaimlm0rcdzhy9yn5hvxyswc0jxirr"; + }; + + nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget makeWrapper ]; + + buildPhase = '' + export DOTNET_CLI_TELEMETRY_OPTOUT=1 + export DOTNET_NOLOGO=1 + export HOME=$TMP/home + + nuget sources Add -Name tmpsrc -Source $TMP/nuget + nuget init ${linkFarmFromDrvs "deps" deps} $TMP/nuget + + dotnet restore --source $TMP/nuget DepotDownloader/DepotDownloader.csproj + dotnet publish --no-restore -c Release --output $out + ''; + + installPhase = '' + makeWrapper ${dotnet-sdk_5}/bin/dotnet $out/bin/$pname \ + --add-flags $out/DepotDownloader.dll + ''; + + meta = with lib; { + description = "Steam depot downloader utilizing the SteamKit2 library."; + license = licenses.gpl2Only; + maintainers = [ maintainers.babbaj ]; + platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; + }; +} diff --git a/pkgs/tools/misc/depotdownloader/deps.nix b/pkgs/tools/misc/depotdownloader/deps.nix new file mode 100644 index 00000000000..6f061186f82 --- /dev/null +++ b/pkgs/tools/misc/depotdownloader/deps.nix @@ -0,0 +1,88 @@ +fetchNuGet: +[ + (fetchNuGet { + name = "protobuf-net"; + version = "3.0.101"; + sha256 = "0594qckbc0lh61sw74ihaq4qmvf1lf133vfa88n443mh7lxm2fwf"; + }) + (fetchNuGet { + name = "SteamKit2"; + version = "2.4.0-Alpha.2"; + sha256 = "1r6chqdp912pr8f8d7px2vp4y1ydx0kida7d5a1hbf6b7acnsg7d"; + }) + (fetchNuGet { + name = "protobuf-net.Core"; + version = "3.0.101"; + sha256 = "1kvn9rnm6f0jxs0s9scyyx2f2p8rk03qzc1f6ijv1g6xgkpxkq1m"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.App"; + version = "2.0.0"; + sha256 = "0j8xkssrashyxrmdraci6kmj2gdrdxb0z61jwnzf1r9r2kqrd7d2"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.DotNetAppHost"; + version = "2.0.0"; + sha256 = "0yixdk1rslbznrl50d6pyhg50xxr6jbfb1qpy2yd8xv44s4shgwd"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.DotNetHostPolicy"; + version = "2.0.0"; + sha256 = "1zz9yfzcvcai4il78s3phjp1hryib2zk3w2r16v3fxm2yllssyaf"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.DotNetHostResolver"; + version = "2.0.0"; + sha256 = "0xy45xqmdqz7r6v0g8m7c1rp761ghavjl8nzxiyrpbp0wccxl3xb"; + }) + (fetchNuGet { + name = "Microsoft.NETCore.Platforms"; + version = "5.0.0"; + sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc"; + }) + (fetchNuGet { + name = "Microsoft.Win32.Registry"; + version = "5.0.0"; + sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n"; + }) + (fetchNuGet { + name = "NETStandard.Library"; + version = "2.0.0"; + sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy"; + }) + (fetchNuGet { + name = "System.Collections.Immutable"; + version = "1.7.1"; + sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq"; + }) + (fetchNuGet { + name = "System.Memory"; + version = "4.5.4"; + sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y"; + }) + (fetchNuGet { + name = "System.Reflection.Emit"; + version = "4.7.0"; + sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp"; + }) + (fetchNuGet { + name = "System.Reflection.Emit.Lightweight"; + version = "4.7.0"; + sha256 = "0mbjfajmafkca47zr8v36brvknzks5a7pgb49kfq2d188pyv6iap"; + }) + (fetchNuGet { + name = "System.Runtime.CompilerServices.Unsafe"; + version = "4.5.3"; + sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; + }) + (fetchNuGet { + name = "System.Security.AccessControl"; + version = "5.0.0"; + sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r"; + }) + (fetchNuGet { + name = "System.Security.Principal.Windows"; + version = "5.0.0"; + sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; + }) +] diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index e5b8d79eeb6..7bf0c440a37 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -18,11 +18,11 @@ buildPythonPackage rec { # The websites youtube-dl deals with are a very moving target. That means that # downloads break constantly. Because of that, updates should always be backported # to the latest stable release. - version = "2021.05.16"; + version = "2021.06.06"; src = fetchurl { url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz"; - sha256 = "1z8sdzvkxhscnzy7cnjag308glif0k8jylr11biqwzypm1f2l0fl"; + sha256 = "1hqan9h55x9gfdakw554vic68w9gpvhblchwxlw265zxp56hxjrw"; }; nativeBuildInputs = [ installShellFiles makeWrapper ]; diff --git a/pkgs/tools/networking/ngrok-2/default.nix b/pkgs/tools/networking/ngrok-2/default.nix index 0d9dbd19117..3549677e22f 100644 --- a/pkgs/tools/networking/ngrok-2/default.nix +++ b/pkgs/tools/networking/ngrok-2/default.nix @@ -9,7 +9,8 @@ let versions = builtins.fromJSON (builtins.readFile ./versions.json); else if stdenv.isAarch64 then "arm64" else throw "Unsupported architecture"; os = if stdenv.isLinux then "linux" - else if stdenv.isDarwin then "darwin" + else if (stdenv.isDarwin && stdenv.isx86_64) then "darwin" + else if stdenv.isDarwin then throw "Unsupported architecture" else throw "Unsupported os"; versionInfo = versions."${os}-${arch}"; inherit (versionInfo) version sha256 url; diff --git a/pkgs/tools/text/replace/default.nix b/pkgs/tools/text/replace/default.nix index 117fb737aa0..a0873d1c8d2 100644 --- a/pkgs/tools/text/replace/default.nix +++ b/pkgs/tools/text/replace/default.nix @@ -1,11 +1,12 @@ { lib, stdenv, fetchurl }: -stdenv.mkDerivation { - name = "replace-2.24"; +stdenv.mkDerivation rec { + pname = "replace"; + version = "2.24"; src = fetchurl { - url = "ftp://hpux.connect.org.uk/hpux/Users/replace-2.24/replace-2.24-src-11.11.tar.gz"; - sha256 = "1c2nkxx83vmlh1v3ib6r2xqh121gdb1rharwsimcb2h0xwc558dm"; + url = "http://hpux.connect.org.uk/ftp/hpux/Users/replace-${version}/replace-${version}-src-11.31.tar.gz"; + sha256 = "18hkwhaz25s6209n5mpx9hmkyznlzygqj488p2l7nvp9zrlxb9sf"; }; outputs = [ "out" "man" ]; diff --git a/pkgs/tools/wayland/wlrctl/default.nix b/pkgs/tools/wayland/wlrctl/default.nix new file mode 100644 index 00000000000..7cb54d381b0 --- /dev/null +++ b/pkgs/tools/wayland/wlrctl/default.nix @@ -0,0 +1,26 @@ +{ lib, stdenv, fetchFromSourcehut, meson, pkg-config, scdoc, ninja, libxkbcommon, wayland }: + +stdenv.mkDerivation rec { + pname = "wlrctl"; + version = "0.2.1"; + + src = fetchFromSourcehut { + owner = "~brocellous"; + repo = "wlrctl"; + rev = "v${version}"; + sha256 = "039cxc82k7x473n6d65jray90rj35qmfdmr390zy0c7ic7vn4b78"; + }; + + nativeBuildInputs = [ meson pkg-config scdoc ninja ]; + buildInputs = [ libxkbcommon wayland ]; + + NIX_CFLAGS_COMPILE = "-Wno-error=type-limits"; + + meta = with lib; { + description = "Command line utility for miscellaneous wlroots Wayland extensions"; + homepage = "https://git.sr.ht/~brocellous/wlrctl"; + license = licenses.mit; + maintainers = with maintainers; [ puffnfresh artturin ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e55d89a6240..dfdcf9bfe78 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -411,6 +411,8 @@ in ebook2cw = callPackage ../applications/radio/ebook2cw { }; + edwin = callPackage ../data/fonts/edwin { }; + etBook = callPackage ../data/fonts/et-book { }; fetchutils = callPackage ../tools/misc/fetchutils { }; @@ -856,6 +858,10 @@ in amidst = callPackage ../tools/games/amidst { }; + gamemode = callPackage ../tools/games/gamemode { + libgamemode32 = pkgsi686Linux.gamemode.lib; + }; + gfshare = callPackage ../tools/security/gfshare { }; gobgp = callPackage ../tools/networking/gobgp { }; @@ -937,7 +943,7 @@ in }; logseq = callPackage ../applications/misc/logseq { - electron = electron_11; + electron = electron_12; }; lxterminal = callPackage ../applications/terminal-emulators/lxterminal { }; @@ -2276,6 +2282,8 @@ in wlr-randr = callPackage ../tools/wayland/wlr-randr { }; + wlrctl = callPackage ../tools/wayland/wlrctl { }; + wlsunset = callPackage ../tools/wayland/wlsunset { }; wob = callPackage ../tools/wayland/wob { }; @@ -14874,6 +14882,8 @@ in inherit fontconfig fontDirectories; }; + f2c = callPackage ../development/tools/f2c { }; + freealut = callPackage ../development/libraries/freealut { }; freeglut = callPackage ../development/libraries/freeglut { }; @@ -17180,6 +17190,8 @@ in mutest = callPackage ../development/libraries/mutest { }; + mvapich = callPackage ../development/libraries/mvapich { }; + mygpoclient = pythonPackages.mygpoclient; mygui = callPackage ../development/libraries/mygui { @@ -28950,6 +28962,8 @@ in tts = callPackage ../tools/audio/tts { }; + tumiki-fighters = callPackage ../games/tumiki-fighters { }; + tuxpaint = callPackage ../games/tuxpaint { }; tuxtype = callPackage ../games/tuxtype { }; @@ -30336,6 +30350,8 @@ in darling-dmg = callPackage ../tools/filesystems/darling-dmg { }; + depotdownloader = callPackage ../tools/misc/depotdownloader { }; + desmume = callPackage ../misc/emulators/desmume { inherit (pkgs.gnome2) gtkglext libglade; }; dbacl = callPackage ../tools/misc/dbacl { }; @@ -30404,6 +30420,10 @@ in faustlive = callPackage ../applications/audio/faust/faustlive.nix { }; + faustPhysicalModeling = callPackage ../applications/audio/faustPhysicalModeling { }; + + faustStk = callPackage ../applications/audio/faustStk { }; + fceux = callPackage ../misc/emulators/fceux { }; flockit = callPackage ../tools/backup/flockit { }; |