diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8587a1fb02c3..78c3fcbbf995 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1043,8 +1043,8 @@ name = "Kirill Boltaev"; }; ashley = { - email = "personavinny@protonmail.com"; - github = "paranoidcat"; + email = "ashley@kira64.xyz"; + github = "kira64xyz"; githubId = 84152630; name = "Ashley Chiara"; }; @@ -7190,6 +7190,13 @@ githubId = 714; name = "Lily Ballard"; }; + lilyinstarlight = { + email = "lily@lily.flowers"; + matrix = "@lily:lily.flowers"; + github = "lilyinstarlight"; + githubId = 298109; + name = "Lily Foster"; + }; limeytexan = { email = "limeytexan@gmail.com"; github = "limeytexan"; @@ -8850,6 +8857,12 @@ githubId = 3747396; name = "Nathan Isom"; }; + neilmayhew = { + email = "nix@neil.mayhew.name"; + github = "neilmayhew"; + githubId = 166791; + name = "Neil Mayhew"; + }; nelsonjeppesen = { email = "nix@jeppesen.io"; github = "NelsonJeppesen"; diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml index 6f2545392453..d2d7d6f58e2a 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml @@ -2351,6 +2351,15 @@ Existing 3rd party modules that provided similar functionality, like pu generating host-global NNCP configuration. + + + The option services.snapserver.openFirewall + will no longer default to true starting + with NixOS 22.11. Enable it explicitly if you need to control + Snapserver remotely or connect streamig clients from other + hosts. + + diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md index c389c347c47e..c3e0e855e910 100644 --- a/nixos/doc/manual/release-notes/rl-2205.section.md +++ b/nixos/doc/manual/release-notes/rl-2205.section.md @@ -833,4 +833,8 @@ In addition to numerous new and upgraded packages, this release has the followin - The `programs.nncp` options were added for generating host-global NNCP configuration. +- The option `services.snapserver.openFirewall` will no longer default to + `true` starting with NixOS 22.11. Enable it explicitly if you need to control + Snapserver remotely or connect streamig clients from other hosts. + diff --git a/nixos/modules/services/audio/snapserver.nix b/nixos/modules/services/audio/snapserver.nix index 6d5ce98df895..91d97a0b551e 100644 --- a/nixos/modules/services/audio/snapserver.nix +++ b/nixos/modules/services/audio/snapserver.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, ... }: +{ config, options, lib, pkgs, ... }: with lib; @@ -101,6 +101,8 @@ in { openFirewall = mkOption { type = types.bool; + # Make the behavior consistent with other services. Set the default to + # false and remove the accompanying warning after NixOS 22.05 is released. default = true; description = '' Whether to automatically open the specified ports in the firewall. @@ -273,10 +275,16 @@ in { config = mkIf cfg.enable { - # https://github.com/badaix/snapcast/blob/98ac8b2fb7305084376607b59173ce4097c620d8/server/streamreader/stream_manager.cpp#L85 - warnings = filter (w: w != "") (mapAttrsToList (k: v: if v.type == "spotify" then '' - services.snapserver.streams.${k}.type = "spotify" is deprecated, use services.snapserver.streams.${k}.type = "librespot" instead. - '' else "") cfg.streams); + warnings = + # https://github.com/badaix/snapcast/blob/98ac8b2fb7305084376607b59173ce4097c620d8/server/streamreader/stream_manager.cpp#L85 + filter (w: w != "") (mapAttrsToList (k: v: if v.type == "spotify" then '' + services.snapserver.streams.${k}.type = "spotify" is deprecated, use services.snapserver.streams.${k}.type = "librespot" instead. + '' else "") cfg.streams) + # Remove this warning after NixOS 22.05 is released. + ++ optional (options.services.snapserver.openFirewall.highestPrio >= (mkOptionDefault null).priority) '' + services.snapserver.openFirewall will no longer default to true starting with NixOS 22.11. + Enable it explicitly if you need to control Snapserver remotely. + ''; systemd.services.snapserver = { after = [ "network.target" ]; @@ -304,8 +312,8 @@ in { networking.firewall.allowedTCPPorts = optionals cfg.openFirewall [ cfg.port ] - ++ optional cfg.tcp.enable cfg.tcp.port - ++ optional cfg.http.enable cfg.http.port; + ++ optional (cfg.openFirewall && cfg.tcp.enable) cfg.tcp.port + ++ optional (cfg.openFirewall && cfg.http.enable) cfg.http.port; }; meta = { diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 5e42eda3875b..d10ebac56828 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -420,7 +420,7 @@ let ${lib.optionalString (config.boot.initrd.secrets == {}) "exit 0"} - export PATH=${pkgs.coreutils}/bin:${pkgs.cpio}/bin:${pkgs.gzip}/bin:${pkgs.findutils}/bin + export PATH=${pkgs.coreutils}/bin:${pkgs.libarchive}/bin:${pkgs.gzip}/bin:${pkgs.findutils}/bin function cleanup { if [ -n "$tmp" -a -d "$tmp" ]; then @@ -440,7 +440,7 @@ let ) config.boot.initrd.secrets) } - (cd "$tmp" && find . -print0 | sort -z | cpio --quiet -o -H newc -R +0:+0 --reproducible --null) | \ + (cd "$tmp" && find . -print0 | sort -z | bsdtar --uid 0 --gid 0 -cnf - -T - | bsdtar --null -cf - --format=newc @-) | \ ${compressorExe} ${lib.escapeShellArgs initialRamdisk.compressorArgs} >> "$1" ''; diff --git a/nixos/tests/snapcast.nix b/nixos/tests/snapcast.nix index 30b8343e2ffe..9b62e4724e75 100644 --- a/nixos/tests/snapcast.nix +++ b/nixos/tests/snapcast.nix @@ -19,6 +19,7 @@ in { port = port; tcp.port = tcpPort; http.port = httpPort; + openFirewall = true; buffer = bufferSize; streams = { mpd = { diff --git a/pkgs/applications/audio/jamesdsp/default.nix b/pkgs/applications/audio/jamesdsp/default.nix index 16683564b2c7..61f8907f99ca 100644 --- a/pkgs/applications/audio/jamesdsp/default.nix +++ b/pkgs/applications/audio/jamesdsp/default.nix @@ -2,18 +2,31 @@ , mkDerivation , fetchFromGitHub , pipewire +, pulseaudio +, gst_all_1 , glibmm , qmake +, qtbase +, qtsvg +, wrapQtAppsHook , makeDesktopItem , pkg-config , libarchive , fetchpatch +, copyDesktopItems +, usePipewire ? true +, usePulseaudio ? false }: -mkDerivation rec{ +assert lib.asserts.assertMsg (usePipewire != usePulseaudio) "You need to enable one and only one of pulseaudio or pipewire support"; + +let + pluginPath = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good ]); +in + mkDerivation rec { pname = "jamesdsp"; version = "2.3"; - src = fetchFromGitHub rec{ + src = fetchFromGitHub rec { owner = "Audio4Linux"; repo = "JDSP4Linux"; fetchSubmodules = true; @@ -29,13 +42,30 @@ mkDerivation rec{ }) ]; - nativeBuildInputs = [ qmake pkg-config ]; + nativeBuildInputs = [ + qmake + pkg-config + copyDesktopItems + wrapQtAppsHook + ]; + buildInputs = [ glibmm libarchive - pipewire + qtbase + qtsvg + ] ++ lib.optional usePipewire pipewire + ++ lib.optionals usePulseaudio [ + pulseaudio + gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good + gst_all_1.gstreamer ]; + qtWrapperArgs = lib.optionals usePulseaudio [ "--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : ${pluginPath}" ]; + + qmakeFlags = lib.optionals usePulseaudio [ "CONFIG+=USE_PULSEAUDIO" ]; + desktopItems = [ (makeDesktopItem { name = "jamesdsp"; @@ -54,7 +84,7 @@ mkDerivation rec{ description = "An audio effect processor for PipeWire clients"; homepage = "https://github.com/Audio4Linux/JDSP4Linux"; license = licenses.gpl3Only; - maintainers = with maintainers;[ pasqui23 ]; + maintainers = with maintainers; [ pasqui23 rewine ]; platforms = platforms.linux; }; } diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 56bc367bbab0..88853f3e7d32 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -10629,6 +10629,18 @@ final: prev: meta.homepage = "https://github.com/tpope/vim-scriptease/"; }; + vim-search-pulse = buildVimPluginFrom2Nix { + pname = "vim-search-pulse"; + version = "2017-01-05"; + src = fetchFromGitHub { + owner = "inside"; + repo = "vim-search-pulse"; + rev = "9f8f473e3813bd76ecb66e8d6182d96bda39b6df"; + sha256 = "1xr90a8wvjfkgw1yrh0zcvpvp9ma6z0wqkl8v8pabf20vckgy2q0"; + }; + meta.homepage = "https://github.com/inside/vim-search-pulse/"; + }; + vim-sensible = buildVimPluginFrom2Nix { pname = "vim-sensible"; version = "2022-04-11"; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 81e97ffe9867..1a307c8c7c7f 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -891,6 +891,7 @@ https://github.com/mhinz/vim-sayonara/,7e774f58c5865d9c10d40396850b35ab95af17c5, https://github.com/derekwyatt/vim-scala/,, https://github.com/thinca/vim-scouter/,, https://github.com/tpope/vim-scriptease/,, +https://github.com/inside/vim-search-pulse/,, https://github.com/tpope/vim-sensible/,, https://github.com/guns/vim-sexp/,, https://github.com/tpope/vim-sexp-mappings-for-regular-people/,, diff --git a/pkgs/applications/emulators/dolphin-emu/master.nix b/pkgs/applications/emulators/dolphin-emu/master.nix index be3e7f555f8f..8780975a84ad 100644 --- a/pkgs/applications/emulators/dolphin-emu/master.nix +++ b/pkgs/applications/emulators/dolphin-emu/master.nix @@ -1,8 +1,8 @@ { lib, stdenv, fetchFromGitHub, pkg-config, cmake , wrapQtAppsHook, qtbase, bluez, ffmpeg, libao, libGLU, libGL, pcre, gettext -, libXrandr, libusb1, lzo, libpthreadstubs, libXext, libXxf86vm, libXinerama +, libXrandr, libusb1, libpthreadstubs, libXext, libXxf86vm, libXinerama , libSM, libXdmcp, readline, openal, udev, libevdev, portaudio, curl, alsa-lib -, miniupnpc, enet, mbedtls, soundtouch, sfml, writeScript +, miniupnpc, enet, mbedtls, soundtouch, sfml, xz, writeScript , vulkan-loader ? null, libpulseaudio ? null # - Inputs used for Darwin @@ -25,8 +25,8 @@ stdenv.mkDerivation rec { buildInputs = [ curl ffmpeg libao libGLU libGL pcre gettext libpthreadstubs libpulseaudio - libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp lzo - portaudio libusb1 libpng hidapi miniupnpc enet mbedtls soundtouch sfml + libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp + portaudio libusb1 libpng hidapi miniupnpc enet mbedtls soundtouch sfml xz qtbase ] ++ lib.optionals stdenv.isLinux [ bluez udev libevdev alsa-lib vulkan-loader diff --git a/pkgs/applications/emulators/dolphin-emu/primehack.nix b/pkgs/applications/emulators/dolphin-emu/primehack.nix index 90510d645226..fdfc6d44ecad 100644 --- a/pkgs/applications/emulators/dolphin-emu/primehack.nix +++ b/pkgs/applications/emulators/dolphin-emu/primehack.nix @@ -14,7 +14,6 @@ , gettext , libXrandr , libusb1 -, lzo , libpthreadstubs , libXext , libXxf86vm @@ -34,6 +33,7 @@ , soundtouch , sfml , fmt +, xz , vulkan-loader , libpulseaudio @@ -81,7 +81,6 @@ stdenv.mkDerivation rec { readline openal libXdmcp - lzo portaudio libusb1 libpng @@ -92,6 +91,7 @@ stdenv.mkDerivation rec { soundtouch sfml fmt + xz qtbase ] ++ lib.optionals stdenv.isLinux [ bluez diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix index 13a40cee5edf..48008c369333 100644 --- a/pkgs/applications/graphics/ImageMagick/7.0.nix +++ b/pkgs/applications/graphics/ImageMagick/7.0.nix @@ -45,13 +45,13 @@ in stdenv.mkDerivation rec { pname = "imagemagick"; - version = "7.1.0-29"; + version = "7.1.0-30"; src = fetchFromGitHub { owner = "ImageMagick"; repo = "ImageMagick"; rev = version; - hash = "sha256-46fJMOIGnK5aNIcG7+8mJdZDcSFyFmhmkLcuVlnupSU="; + hash = "sha256-FfZJfjuQmYvYuOi18cZdr3Nam98/j+ZTGRwsd1sslsY="; }; outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big diff --git a/pkgs/applications/graphics/unigine-valley/default.nix b/pkgs/applications/graphics/unigine-valley/default.nix index 81ed98f9ad44..9b51373178e4 100644 --- a/pkgs/applications/graphics/unigine-valley/default.nix +++ b/pkgs/applications/graphics/unigine-valley/default.nix @@ -1,10 +1,15 @@ -{ lib, stdenv, fetchurl +{ lib +, stdenv +, fetchurl -# Build-time dependencies + # Build-time dependencies , makeWrapper , file +, makeDesktopItem +, imagemagick +, copyDesktopItems -# Runtime dependencies + # Runtime dependencies , fontconfig , freetype , libX11 @@ -12,104 +17,120 @@ , libXinerama , libXrandr , libXrender -, libGL -, openal}: +, libglvnd +, openal +}: let version = "1.0"; - arch = if stdenv.hostPlatform.system == "x86_64-linux" then - "x64" - else if stdenv.hostPlatform.system == "i686-linux" then - "x86" - else - throw "Unsupported platform ${stdenv.hostPlatform.system}"; - + arch = + if stdenv.hostPlatform.system == "x86_64-linux" then + "x64" + else if stdenv.hostPlatform.system == "i686-linux" then + "x86" + else + throw "Unsupported platform ${stdenv.hostPlatform.system}"; in - stdenv.mkDerivation rec { - pname = "unigine-valley"; - inherit version; - src = fetchurl { - url = "http://assets.unigine.com/d/Unigine_Valley-${version}.run"; - sha256 = "5f0c8bd2431118551182babbf5f1c20fb14e7a40789697240dcaf546443660f4"; - }; +stdenv.mkDerivation rec { + pname = "unigine-valley"; + inherit version; - sourceRoot = "Unigine_Valley-${version}"; - instPath = "lib/unigine/valley"; + src = fetchurl { + url = "https://m11-assets.unigine.com/d/Unigine_Valley-${version}.run"; + sha256 = "5f0c8bd2431118551182babbf5f1c20fb14e7a40789697240dcaf546443660f4"; + }; - nativeBuildInputs = [file makeWrapper]; + sourceRoot = "Unigine_Valley-${version}"; + instPath = "lib/unigine/valley"; - libPath = lib.makeLibraryPath [ - stdenv.cc.cc # libstdc++.so.6 - fontconfig - freetype - libX11 - libXext - libXinerama - libXrandr - libXrender - libGL - openal - ]; + nativeBuildInputs = [ file makeWrapper imagemagick copyDesktopItems ]; - unpackPhase = '' - runHook preUnpack + libPath = lib.makeLibraryPath [ + stdenv.cc.cc # libstdc++.so.6 + fontconfig + freetype + libX11 + libXext + libXinerama + libXrandr + libXrender + libglvnd + openal + ]; - cp $src extractor.run - chmod +x extractor.run - ./extractor.run --target $sourceRoot + unpackPhase = '' + runHook preUnpack - runHook postUnpack - ''; + cp $src extractor.run + chmod +x extractor.run + ./extractor.run --target $sourceRoot - patchPhase = '' - runHook prePatch + runHook postUnpack + ''; - # Patch ELF files. - elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1) - for elf in $elfs; do - patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true - done + postPatch = '' + # Patch ELF files. + elfs=$(find bin -type f | xargs file | grep ELF | cut -d ':' -f 1) + for elf in $elfs; do + patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2 $elf || true + done + ''; - runHook postPatch - ''; + installPhase = '' + runHook preInstall - installPhase = '' - runHook preInstall + instdir=$out/${instPath} + mkdir -p $out/share/icons/hicolor $out/share/applications $out/bin $instdir/bin - instdir=$out/${instPath} + # Install executables and libraries + install -m 0755 bin/browser_${arch} $instdir/bin + install -m 0755 bin/libApp{Stereo,Surround,Wall}_${arch}.so $instdir/bin + install -m 0755 bin/libGPUMonitor_${arch}.so $instdir/bin + install -m 0755 bin/libQt{Core,Gui,Network,WebKit,Xml}Unigine_${arch}.so.4 $instdir/bin + install -m 0755 bin/libUnigine_${arch}.so $instdir/bin + install -m 0755 bin/valley_${arch} $instdir/bin + install -m 0755 valley $instdir + install -m 0755 valley $out/bin/valley - # Install executables and libraries - mkdir -p $instdir/bin - install -m 0755 bin/browser_${arch} $instdir/bin - install -m 0755 bin/libApp{Stereo,Surround,Wall}_${arch}.so $instdir/bin - install -m 0755 bin/libGPUMonitor_${arch}.so $instdir/bin - install -m 0755 bin/libQt{Core,Gui,Network,WebKit,Xml}Unigine_${arch}.so.4 $instdir/bin - install -m 0755 bin/libUnigine_${arch}.so $instdir/bin - install -m 0755 bin/valley_${arch} $instdir/bin - install -m 0755 valley $instdir + # Install other files + cp -R data documentation $instdir - # Install other files - cp -R data documentation $instdir + # Install and wrap executable + wrapProgram $out/bin/valley \ + --chdir "$instdir" \ + --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath - # Install and wrap executable - mkdir -p $out/bin - install -m 0755 valley $out/bin/valley - wrapProgram $out/bin/valley \ - --chdir "$instdir" \ - --prefix LD_LIBRARY_PATH : /run/opengl-driver/lib:$instdir/bin:$libPath + # Make desktop Icon + convert $out/lib/unigine/valley/data/launcher/icon.png -resize 128x128 $out/share/icons/Valley.png + for RES in 16 24 32 48 64 128 256 + do + mkdir -p $out/share/icons/hicolor/"$RES"x"$RES"/apps + convert $out/lib/unigine/valley/data/launcher/icon.png -resize "$RES"x"$RES" $out/share/icons/hicolor/"$RES"x"$RES"/apps/Valley.png + done - runHook postInstall - ''; + runHook postInstall + ''; - stripDebugList = ["${instPath}/bin"]; + desktopItems = [ + (makeDesktopItem { + name = "Valley"; + exec = "valley"; + genericName = "A GPU Stress test tool from the UNIGINE"; + icon = "Valley"; + desktopName = "Valley Benchmark"; + }) + ]; + + stripDebugList = [ "${instPath}/bin" ]; + + meta = { + description = "The Unigine Valley GPU benchmarking tool"; + homepage = "https://unigine.com/products/benchmarks/valley/"; + license = lib.licenses.unfree; # see also: $out/$instPath/documentation/License.pdf + maintainers = [ lib.maintainers.kierdavis ]; + platforms = [ "x86_64-linux" "i686-linux" ]; + }; +} - meta = { - description = "The Unigine Valley GPU benchmarking tool"; - homepage = "https://unigine.com/products/benchmarks/valley/"; - license = lib.licenses.unfree; # see also: $out/$instPath/documentation/License.pdf - maintainers = [ lib.maintainers.kierdavis ]; - platforms = ["x86_64-linux" "i686-linux"]; - }; - } diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix index c8490f0d80ac..e48065e6d9a0 100644 --- a/pkgs/applications/misc/lutris/default.nix +++ b/pkgs/applications/misc/lutris/default.nix @@ -84,13 +84,13 @@ let in buildPythonApplication rec { pname = "lutris-original"; - version = "0.5.10"; + version = "0.5.10.1"; src = fetchFromGitHub { owner = "lutris"; repo = "lutris"; - rev = "v${version}"; - sha256 = "sha256-PrnULCdQXNZ9OTa00NVyqiTdKRRkAYBcDj7lMwEqkw4="; + rev = "refs/tags/v${version}"; + sha256 = "sha256-Bf8UEGEM6M4PKoX/qKQNb9XxrxLcjKZD1vR3R2/PykI="; }; nativeBuildInputs = [ wrapGAppsHook ]; diff --git a/pkgs/applications/misc/megasync/default.nix b/pkgs/applications/misc/megasync/default.nix index 15b7060ff264..98622ae404ce 100644 --- a/pkgs/applications/misc/megasync/default.nix +++ b/pkgs/applications/misc/megasync/default.nix @@ -28,13 +28,13 @@ }: mkDerivation rec { pname = "megasync"; - version = "4.6.3.0"; + version = "4.6.5.0"; src = fetchFromGitHub { owner = "meganz"; repo = "MEGAsync"; rev = "v${version}_Linux"; - sha256 = "1j86vr8n2a17my61vkmx83cay1ibllzjprl5bfwaby5ibh4zclz4"; + sha256 = "sha256-2gsJmMnt0+4vknd2HgOtCYCjVWT7eD0WBimmtsFEhvY="; fetchSubmodules = true; }; diff --git a/pkgs/applications/misc/metadata-cleaner/default.nix b/pkgs/applications/misc/metadata-cleaner/default.nix index a92f79845134..ee7703987eaa 100644 --- a/pkgs/applications/misc/metadata-cleaner/default.nix +++ b/pkgs/applications/misc/metadata-cleaner/default.nix @@ -18,7 +18,7 @@ python3.pkgs.buildPythonApplication rec { pname = "metadata-cleaner"; - version = "2.2.1"; + version = "2.2.2"; format = "other"; @@ -26,7 +26,7 @@ python3.pkgs.buildPythonApplication rec { owner = "rmnvgr"; repo = "metadata-cleaner"; rev = "v${version}"; - hash = "sha256-clCCVOoiInaxg9++GiHMLaD+k0gAvt3oOmqQ/a+WgCE="; + hash = "sha256-V3qcQQwc2ykVTVgUJuNnVQ9iSPD0tv4C2hSILLxuE70="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/portfolio-filemanager/default.nix b/pkgs/applications/misc/portfolio-filemanager/default.nix index b7cd7c0e1170..48039b64fb60 100644 --- a/pkgs/applications/misc/portfolio-filemanager/default.nix +++ b/pkgs/applications/misc/portfolio-filemanager/default.nix @@ -17,7 +17,7 @@ python3.pkgs.buildPythonApplication rec { pname = "portfolio"; - version = "0.9.12"; + version = "0.9.14"; format = "other"; @@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec { owner = "tchx84"; repo = "Portfolio"; rev = "v${version}"; - sha256 = "sha256-P+XQRIL2DepoOSVElxVxMihqxdxwLVnvXuraZN8L7z8="; + hash = "sha256-mrb202ON0B6VlY+U+jN0jJmbT36jQ8krNnuODynaCUA="; }; postPatch = '' @@ -56,6 +56,10 @@ python3.pkgs.buildPythonApplication rec { pygobject3 ]; + checkPhase = '' + meson test + ''; + postInstall = '' ln -s dev.tchx84.Portfolio "$out/bin/portfolio" ''; diff --git a/pkgs/applications/misc/sigi/default.nix b/pkgs/applications/misc/sigi/default.nix index 62b8dd576591..2513476ad74e 100644 --- a/pkgs/applications/misc/sigi/default.nix +++ b/pkgs/applications/misc/sigi/default.nix @@ -2,26 +2,23 @@ rustPlatform.buildRustPackage rec { pname = "sigi"; - version = "3.0.3"; + version = "3.2.1"; src = fetchCrate { inherit pname version; - sha256 = "sha256-tjhNE20GE1L8kvhdI5Mc90I75q8szOIV40vq2CBt98U="; + sha256 = "sha256-1eZ6i0CvjNyYlWb7c0OPlGtvVSFpi8hiOl/7qeeE9wA="; }; + cargoSha256 = "sha256-Tyrcu/BYt9k4igiEIiZ2I7VIGiBZ3D2i6XfT/XGlU+U="; nativeBuildInputs = [ installShellFiles ]; - # As part of its tests, sigi hard-codes a location to BATS based on git - # submodules. The tests are recommeded to skip for Linux packaging. They'll - # move to Rust after this issue: https://github.com/hiljusti/sigi/issues/19 - checkFlags = [ "SKIP_BATS_TESTS=1" ]; + # In case anything goes wrong. + checkFlags = [ "RUST_BACKTRACE=1" ]; postInstall = '' installManPage sigi.1 ''; - cargoSha256 = "sha256-0e0r6hfXGJmrc6tgCqq2dQXu2MhkThViZwdG3r3g028="; - passthru.tests.version = testVersion { package = sigi; }; meta = with lib; { diff --git a/pkgs/applications/networking/owncloud-client/default.nix b/pkgs/applications/networking/owncloud-client/default.nix index 006310e912b2..992058bdb305 100644 --- a/pkgs/applications/networking/owncloud-client/default.nix +++ b/pkgs/applications/networking/owncloud-client/default.nix @@ -2,11 +2,11 @@ mkDerivation rec { pname = "owncloud-client"; - version = "2.10.0.6519"; + version = "2.10.1.7187"; src = fetchurl { url = "https://download.owncloud.com/desktop/ownCloud/stable/${version}/source/ownCloud-${version}.tar.xz"; - sha256 = "sha256-HDH8s/VPeOAbkyrfE7hbhePhtWcx1IUdlhDCnodomh8="; + sha256 = "sha256-SNabKv5z7viDI3XDQ2mWjEgFKAGSR5K9sI3Tu5eZbwU="; }; nativeBuildInputs = [ pkg-config cmake extra-cmake-modules ]; diff --git a/pkgs/applications/office/khronos/default.nix b/pkgs/applications/office/khronos/default.nix index 668b36324f62..55c672a1dc0d 100644 --- a/pkgs/applications/office/khronos/default.nix +++ b/pkgs/applications/office/khronos/default.nix @@ -7,7 +7,6 @@ , vala , pkg-config , desktop-file-utils -, python3 , glib , gtk4 , json-glib @@ -18,13 +17,13 @@ stdenv.mkDerivation rec { pname = "khronos"; - version = "3.6.6"; + version = "3.7.0"; src = fetchFromGitHub { owner = "lainsce"; repo = pname; rev = version; - sha256 = "sha256-EFoW/2IZuCo6sg7q87XRrJJ7dmYtVZr2bJQUEiiMiVI="; + sha256 = "sha256-k3U8ICnwMbR6vN+gELWytI2Etri5lvbE6AX6lUpr7dQ="; }; nativeBuildInputs = [ @@ -33,7 +32,6 @@ stdenv.mkDerivation rec { ninja vala pkg-config - python3 wrapGAppsHook4 ]; @@ -45,11 +43,6 @@ stdenv.mkDerivation rec { libgee ]; - postPatch = '' - chmod +x build-aux/post_install.py - patchShebangs build-aux/post_install.py - ''; - passthru = { updateScript = nix-update-script { attrPath = pname; diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix index 23ce992f0d55..9c27a142f4b6 100644 --- a/pkgs/build-support/kernel/make-initrd.nix +++ b/pkgs/build-support/kernel/make-initrd.nix @@ -18,7 +18,7 @@ let # compression type and filename extension. compressorName = fullCommand: builtins.elemAt (builtins.match "([^ ]*/)?([^ ]+).*" fullCommand) 1; in -{ stdenvNoCC, perl, cpio, ubootTools, lib, pkgsBuildHost +{ stdenvNoCC, perl, libarchive, ubootTools, lib, pkgsBuildHost # Name of the derivation (not of the resulting file!) , name ? "initrd" @@ -82,7 +82,7 @@ in stdenvNoCC.mkDerivation rec { builder = ./make-initrd.sh; - nativeBuildInputs = [ perl cpio ] + nativeBuildInputs = [ perl libarchive ] ++ lib.optional makeUInitrd ubootTools; compress = "${_compressorExecutable} ${lib.escapeShellArgs _compressorArgsReal}"; diff --git a/pkgs/build-support/kernel/make-initrd.sh b/pkgs/build-support/kernel/make-initrd.sh index 0a87d643546a..8f64114d54c3 100644 --- a/pkgs/build-support/kernel/make-initrd.sh +++ b/pkgs/build-support/kernel/make-initrd.sh @@ -40,7 +40,7 @@ for PREP in $prepend; do cat $PREP >> $out/initrd done (cd root && find * .[^.*] -exec touch -h -d '@1' '{}' +) -(cd root && find * .[^.*] -print0 | sort -z | cpio -o -H newc -R +0:+0 --reproducible --null | eval -- $compress >> "$out/initrd") +(cd root && find * .[^.*] -print0 | sort -z | bsdtar --uid 0 --gid 0 -cnf - -T - | bsdtar --null -cf - --format=newc @- | eval -- $compress >> "$out/initrd") if [ -n "$makeUInitrd" ]; then mkimage -A "$uInitrdArch" -O linux -T ramdisk -C "$uInitrdCompression" -d "$out/initrd" $out/initrd.img diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix index 57c356136748..c9bc0aa7922b 100644 --- a/pkgs/data/fonts/sarasa-gothic/default.nix +++ b/pkgs/data/fonts/sarasa-gothic/default.nix @@ -1,14 +1,14 @@ { lib, fetchurl, libarchive }: let - version = "0.36.1"; + version = "0.36.2"; in fetchurl { name = "sarasa-gothic-${version}"; # Use the 'ttc' files here for a smaller closure size. # (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.) url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z"; - sha256 = "sha256-w8PVDvbnHFZF7/X4EzO0IJsEKMC7c+GPng1sn8Q8G14="; + sha256 = "sha256-hUQi8mbtQC+peslaz+AVINjELVXseuVi44qbDBtJ+fc="; recursiveHash = true; downloadToTemp = true; diff --git a/pkgs/desktops/gnome/core/simple-scan/default.nix b/pkgs/desktops/gnome/core/simple-scan/default.nix index dd96e254109d..e656624c5c04 100644 --- a/pkgs/desktops/gnome/core/simple-scan/default.nix +++ b/pkgs/desktops/gnome/core/simple-scan/default.nix @@ -25,11 +25,11 @@ stdenv.mkDerivation rec { pname = "simple-scan"; - version = "42.0"; + version = "42.1"; src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; - sha256 = "sha256-rB+Fev0LyIl90gRQI618VxPlzu/KVrCzzF6aR5UylYY="; + sha256 = "sha256-hZvAYRwXabW9q6ljne7TWfUEdMLuz1i7v9fOIZEbIiY="; }; nativeBuildInputs = [ @@ -42,6 +42,7 @@ stdenv.mkDerivation rec { wrapGAppsHook libxml2 gobject-introspection # For setup hook + vala ]; buildInputs = [ @@ -49,14 +50,12 @@ stdenv.mkDerivation rec { gdk-pixbuf colord glib - gnome.adwaita-icon-theme gusb gtk3 libhandy libwebp packagekit sane-backends - vala ]; postPatch = '' diff --git a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix index 6e2f1f6f2620..f5087ca3a69a 100644 --- a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix +++ b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix @@ -9,7 +9,6 @@ "gsconnect@andyholmes.github.io" = callPackage ./gsconnect { }; "icon-hider@kalnitsky.org" = callPackage ./icon-hider { }; "impatience@gfxmonk.net" = callPackage ./impatience { }; - "nightthemeswitcher@romainvigier.fr" = callPackage ./night-theme-switcher { }; "no-title-bar@jonaspoehler.de" = callPackage ./no-title-bar { }; "paperwm@hedning:matrix.org" = callPackage ./paperwm { }; "pidgin@muffinmad" = callPackage ./pidgin-im-integration { }; diff --git a/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix b/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix deleted file mode 100644 index 8332d0afa4ac..000000000000 --- a/pkgs/desktops/gnome/extensions/night-theme-switcher/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ lib, stdenv, fetchFromGitLab, glib, gnome, unzip }: - -stdenv.mkDerivation rec { - pname = "gnome-shell-extension-night-theme-switcher"; - version = "53"; - - src = fetchFromGitLab { - owner = "rmnvgr"; - repo = "nightthemeswitcher-gnome-shell-extension"; - rev = version; - sha256 = "0dgnh1aj0y89jzfkpj8zs4gdbmyc1v8lbki2q30gld17ljv4l6lh"; - }; - - nativeBuildInputs = [ unzip ]; - buildInputs = [ glib gnome.gnome-shell ]; - - passthru = { - extensionUuid = "nightthemeswitcher@romainvigier.fr"; - extensionPortalSlug = "night-theme-switcher"; - }; - - installPhase = '' - runHook preInstall - mkdir -p $out/share/gnome-shell/extensions/ - unzip "build/nightthemeswitcher@romainvigier.fr.shell-extension.zip" -d "$out/share/gnome-shell/extensions/nightthemeswitcher@romainvigier.fr" - runHook postInstall - ''; - - meta = with lib; { - description = "Automatically change the GTK theme to dark variant when Night Light activates"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ jonafato ]; - homepage = "https://gitlab.com/rmnvgr/nightthemeswitcher-gnome-shell-extension/"; - }; -} diff --git a/pkgs/development/compilers/alan/2.nix b/pkgs/development/compilers/alan/2.nix new file mode 100644 index 000000000000..e24cc35a9d74 --- /dev/null +++ b/pkgs/development/compilers/alan/2.nix @@ -0,0 +1,31 @@ +{ stdenv, lib, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "alan2"; + version = "2.8.7"; + + src = fetchFromGitHub { + owner = "alan-if"; + repo = "alan"; + rev = "71f23ec79f7f5d66aa5ae9fd3f9b8dae41a89f15"; + sha256 = "066jknqz1v6sismvfxjfffl35h14v8qwgcq99ibhp08dy2fwraln"; + }; + + makefile = "Makefile.unix"; + + installPhase = '' + mkdir -p $out/bin $out/share/alan2 + cp compiler/alan $out/bin/alan2 + cp interpreter/arun $out/bin/arun2 + cp alan.readme ChangeLog $out/share/alan2 + ''; + + meta = with lib; { + homepage = "https://www.alanif.se/"; + description = "The Alan interactive fiction language (legacy version)"; + license = licenses.artistic2; + platforms = platforms.linux; + maintainers = with maintainers; [ neilmayhew ]; + }; +} diff --git a/pkgs/development/compilers/alan/default.nix b/pkgs/development/compilers/alan/default.nix new file mode 100644 index 000000000000..61f7b1c0f7b8 --- /dev/null +++ b/pkgs/development/compilers/alan/default.nix @@ -0,0 +1,48 @@ +{ stdenv, lib, fetchFromGitHub +, cgreen, openjdk, pkg-config, which +}: + +stdenv.mkDerivation rec { + pname = "alan"; + version = "3.0beta8"; + + src = fetchFromGitHub { + owner = "alan-if"; + repo = "alan"; + rev = "v${version}"; + sha256 = "0zfg1frmb4yl39hk8h733bmlwk4rkikzfhvv7j34cxpdpsp7spzl"; + }; + + postPatch = '' + patchShebangs --build bin + # The Makefiles have complex CFLAGS that don't allow separate control of optimization + sed -i 's/-O0/-O2/g' compiler/Makefile.common + sed -i 's/-Og/-O2/g' interpreter/Makefile.common + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/alan/examples + # Build the release tarball + make package + # The release tarball isn't split up into subdirectories + tar -xf alan*.tgz --strip-components=1 -C $out/share/alan + mv $out/share/alan/*.alan $out/share/alan/examples + chmod a-x $out/share/alan/examples/*.alan + mv $out/share/alan/{alan,arun} $out/bin + # a2a3 isn't included in the release tarball + cp bin/a2a3 $out/bin + ''; + + nativeBuildInputs = [ + cgreen + openjdk pkg-config which + ]; + + meta = with lib; { + homepage = "https://www.alanif.se/"; + description = "The Alan interactive fiction language"; + license = licenses.artistic2; + platforms = platforms.linux; + maintainers = with maintainers; [ neilmayhew ]; + }; +} diff --git a/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix b/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix index eac94b7ec1ea..02fd986731b1 100644 --- a/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix +++ b/pkgs/development/compilers/graalvm/community-edition/mkGraal.nix @@ -169,6 +169,8 @@ let outputs = [ "out" "lib" ]; installPhase = '' + # ensure that $lib/lib exists to avoid breaking builds + mkdir -p "$lib/lib" # jni.h expects jni_md.h to be in the header search path. ln -s $out/include/linux/*_md.h $out/include/ @@ -194,7 +196,6 @@ let # `native-image -H:CLibraryPath=''${lib.getLib graalvmXX-ce}/lib ...` and reduce # closure size by not depending on GraalVM $out (that is much bigger) # we always use glibc here, since musl is only supported for static compilation - mkdir -p "$lib/lib" for f in "${glibc}/lib/"*; do ln -s "$f" "$lib/lib/$(basename $f)" done diff --git a/pkgs/development/compilers/open-watcom/v2.nix b/pkgs/development/compilers/open-watcom/v2.nix index 79973f761c5d..36eccd64dd64 100644 --- a/pkgs/development/compilers/open-watcom/v2.nix +++ b/pkgs/development/compilers/open-watcom/v2.nix @@ -12,14 +12,14 @@ stdenv.mkDerivation rec { pname = "open-watcom-v2"; - version = "unstable-2022-04-18"; + version = "unstable-2022-04-21"; name = "${pname}-unwrapped-${version}"; src = fetchFromGitHub { owner = "open-watcom"; repo = "open-watcom-v2"; - rev = "3e762ff7342f9d82b7d8df54db9558158332ac02"; - sha256 = "KMFvLIUqor2wxeO03Uh/jycvnCTOd1ySxYTq4PJ0tHk="; + rev = "bec9e74cdcd048db527ccacc8894493d2ec6e12a"; + sha256 = "iJG7+OQYZCRyKO/NXkM3gJjgWRbQk26O+66QaAIJAcc="; }; postPatch = '' diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 97db4a9fffa8..4463dc8e9ba0 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -49,7 +49,7 @@ , enableLTO ? stdenv.is64bit && stdenv.isLinux , reproducibleBuild ? false , pythonAttr ? "python${sourceVersion.major}${sourceVersion.minor}" -}: +} @ inputs: # Note: this package is used for bootstrapping fetchurl, and thus # cannot use fetchpatch! All mutable patches (generated by GitHub or @@ -83,7 +83,11 @@ let tzdataSupport = tzdata != null && passthru.pythonAtLeast "3.9"; - passthru = passthruFun rec { + passthru = let + # When we override the interpreter we also need to override the spliced versions of the interpreter + inputs' = lib.filterAttrs (_: v: ! lib.isDerivation v) inputs; + override = attr: let python = attr.override (inputs' // { self = python; }); in python; + in passthruFun rec { inherit self sourceVersion packageOverrides; implementation = "cpython"; libPrefix = "python${pythonVersion}"; @@ -91,11 +95,11 @@ let pythonVersion = with sourceVersion; "${major}.${minor}"; sitePackages = "lib/${libPrefix}/site-packages"; inherit hasDistutilsCxxPatch; - pythonOnBuildForBuild = pkgsBuildBuild.${pythonAttr}; - pythonOnBuildForHost = pkgsBuildHost.${pythonAttr}; - pythonOnBuildForTarget = pkgsBuildTarget.${pythonAttr}; - pythonOnHostForHost = pkgsHostHost.${pythonAttr}; - pythonOnTargetForTarget = pkgsTargetTarget.${pythonAttr} or {}; + pythonOnBuildForBuild = override pkgsBuildBuild.${pythonAttr}; + pythonOnBuildForHost = override pkgsBuildHost.${pythonAttr}; + pythonOnBuildForTarget = override pkgsBuildTarget.${pythonAttr}; + pythonOnHostForHost = override pkgsHostHost.${pythonAttr}; + pythonOnTargetForTarget = if lib.hasAttr pythonAttr pkgsTargetTarget then (override pkgsTargetTarget.${pythonAttr}) else {}; }; version = with sourceVersion; "${major}.${minor}.${patch}${suffix}"; diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix index 2a0ef3b0957c..0446e5d540c1 100644 --- a/pkgs/development/interpreters/supercollider/default.nix +++ b/pkgs/development/interpreters/supercollider/default.nix @@ -1,12 +1,11 @@ -{ lib, stdenv, mkDerivation, fetchurl, cmake, pkg-config, alsa-lib -, libjack2, libsndfile, fftw, curl, gcc -, libXt, qtbase, qttools, qtwebengine +{ lib, stdenv, mkDerivation, fetchurl, cmake +, pkg-config, alsa-lib, libjack2, libsndfile, fftw +, curl, gcc, libXt, qtbase, qttools, qtwebengine , readline, qtwebsockets, useSCEL ? false, emacs +, supercollider-with-plugins, supercolliderPlugins +, writeText, runCommand }: -let - inherit (lib) optional; -in mkDerivation rec { pname = "supercollider"; version = "3.12.2"; @@ -16,6 +15,17 @@ mkDerivation rec { sha256 = "sha256-1QYorCgSwBK+SVAm4k7HZirr1j+znPmVicFmJdvO3g4="; }; + patches = [ + # add support for SC_DATA_DIR and SC_PLUGIN_DIR env vars to override compile-time values + ./supercollider-3.12.0-env-dirs.patch + ]; + + nativeBuildInputs = [ cmake pkg-config qttools ]; + + buildInputs = [ gcc libjack2 libsndfile fftw curl libXt qtbase qtwebengine qtwebsockets readline ] + ++ lib.optional (!stdenv.isDarwin) alsa-lib + ++ lib.optional useSCEL emacs; + hardeningDisable = [ "stackprotector" ]; cmakeFlags = [ @@ -23,17 +33,30 @@ mkDerivation rec { "-DSC_EL=${if useSCEL then "ON" else "OFF"}" ]; - nativeBuildInputs = [ cmake pkg-config qttools ]; - - buildInputs = [ - gcc libjack2 libsndfile fftw curl libXt qtbase qtwebengine qtwebsockets readline ] - ++ optional (!stdenv.isDarwin) alsa-lib - ++ optional useSCEL emacs; + passthru.tests = { + # test to make sure sclang runs and included plugins are successfully found + sclang-sc3-plugins = let + supercollider-with-test-plugins = supercollider-with-plugins.override { + plugins = with supercolliderPlugins; [ sc3-plugins ]; + }; + testsc = writeText "test.sc" '' + var err = 0; + try { + MdaPiano.name.postln; + } { + err = 1; + }; + err.exit; + ''; + in runCommand "sclang-sc3-plugins-test" {} '' + timeout 60s env XDG_CONFIG_HOME="$(mktemp -d)" QT_QPA_PLATFORM=minimal ${supercollider-with-test-plugins}/bin/sclang ${testsc} >$out + ''; + }; meta = with lib; { description = "Programming language for real time audio synthesis"; homepage = "https://supercollider.github.io"; - maintainers = with maintainers; [ mrmebelman ]; + maintainers = with maintainers; [ lilyinstarlight ]; license = licenses.gpl3Plus; platforms = platforms.linux; }; diff --git a/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix b/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix new file mode 100644 index 000000000000..a596d6d770ae --- /dev/null +++ b/pkgs/development/interpreters/supercollider/plugins/sc3-plugins.nix @@ -0,0 +1,33 @@ +{ stdenv, lib, fetchurl, cmake, supercollider, fftw }: + +stdenv.mkDerivation rec { + pname = "sc3-plugins"; + version = "3.11.1"; + + src = fetchurl { + url = "https://github.com/supercollider/sc3-plugins/releases/download/Version-${version}/sc3-plugins-${version}-Source.tar.bz2"; + sha256 = "sha256-JjUmu7PJ+x3yRibr+Av2gTREng51fPo7Rk+B4y2JvkQ="; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ + supercollider + fftw + ]; + + cmakeFlags = [ + "-DSC_PATH=${supercollider}/include/SuperCollider" + "-DSUPERNOVA=ON" + ]; + + stripDebugList = [ "lib" "share" ]; + + meta = with lib; { + description = "Community plugins for SuperCollider"; + homepage = "https://supercollider.github.io/sc3-plugins/"; + maintainers = with maintainers; [ lilyinstarlight ]; + license = licenses.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/development/interpreters/supercollider/supercollider-3.12.0-env-dirs.patch b/pkgs/development/interpreters/supercollider/supercollider-3.12.0-env-dirs.patch new file mode 100644 index 000000000000..dd92028b5225 --- /dev/null +++ b/pkgs/development/interpreters/supercollider/supercollider-3.12.0-env-dirs.patch @@ -0,0 +1,65 @@ +diff --git a/common/SC_Filesystem_unix.cpp b/common/SC_Filesystem_unix.cpp +index 52dc1fd2d..aae09ed9c 100644 +--- a/common/SC_Filesystem_unix.cpp ++++ b/common/SC_Filesystem_unix.cpp +@@ -94,6 +94,10 @@ bool SC_Filesystem::isNonHostPlatformDirectoryName(const std::string& s) { + } + + Path SC_Filesystem::defaultSystemAppSupportDirectory() { ++ const char* sc_data_dir = getenv("SC_DATA_DIR"); ++ if (sc_data_dir) ++ return Path(sc_data_dir); ++ + # ifdef SC_DATA_DIR + return Path(SC_DATA_DIR); + # else +@@ -125,6 +129,10 @@ Path SC_Filesystem::defaultUserConfigDirectory() { + } + + Path SC_Filesystem::defaultResourceDirectory() { ++ const char* sc_data_dir = getenv("SC_DATA_DIR"); ++ if (sc_data_dir) ++ return Path(sc_data_dir); ++ + # ifdef SC_DATA_DIR + return Path(SC_DATA_DIR); + # else +diff --git a/server/scsynth/SC_Lib_Cintf.cpp b/server/scsynth/SC_Lib_Cintf.cpp +index f6219307e..28e13eb98 100644 +--- a/server/scsynth/SC_Lib_Cintf.cpp ++++ b/server/scsynth/SC_Lib_Cintf.cpp +@@ -178,9 +178,13 @@ void initialize_library(const char* uGensPluginPath) { + using DirName = SC_Filesystem::DirName; + + if (loadUGensExtDirs) { ++ const char* sc_plugin_dir = getenv("SC_PLUGIN_DIR"); ++ if (sc_plugin_dir) { ++ PlugIn_LoadDir(sc_plugin_dir, true); ++ } + #ifdef SC_PLUGIN_DIR + // load globally installed plugins +- if (bfs::is_directory(SC_PLUGIN_DIR)) { ++ else if (bfs::is_directory(SC_PLUGIN_DIR)) { + PlugIn_LoadDir(SC_PLUGIN_DIR, true); + } + #endif // SC_PLUGIN_DIR +diff --git a/server/supernova/server/main.cpp b/server/supernova/server/main.cpp +index b2b5adf4e..6cb8c411c 100644 +--- a/server/supernova/server/main.cpp ++++ b/server/supernova/server/main.cpp +@@ -224,8 +224,14 @@ void set_plugin_paths(server_arguments const& args, nova::sc_ugen_factory* facto + } + } + } else { ++ const char* sc_plugin_dir = getenv("SC_PLUGIN_DIR"); ++ if (sc_plugin_dir) { ++ factory->load_plugin_folder(sc_plugin_dir); ++ } + #ifdef SC_PLUGIN_DIR +- factory->load_plugin_folder(SC_PLUGIN_DIR); ++ else { ++ factory->load_plugin_folder(SC_PLUGIN_DIR); ++ } + #endif + factory->load_plugin_folder(SC_Filesystem::instance().getDirectory(DirName::Resource) / SC_PLUGIN_DIR_NAME); + factory->load_plugin_folder(SC_Filesystem::instance().getDirectory(DirName::SystemExtension)); diff --git a/pkgs/development/interpreters/supercollider/wrapper.nix b/pkgs/development/interpreters/supercollider/wrapper.nix new file mode 100644 index 000000000000..e9e97f2b98de --- /dev/null +++ b/pkgs/development/interpreters/supercollider/wrapper.nix @@ -0,0 +1,18 @@ +{ symlinkJoin, makeWrapper, supercollider, plugins }: + +symlinkJoin { + name = "supercollider-with-plugins-${supercollider.version}"; + paths = [ supercollider ] ++ plugins; + + nativeBuildInputs = [ makeWrapper ]; + + postBuild = '' + for exe in $out/bin/*; do + wrapProgram $exe \ + --set SC_PLUGIN_DIR "$out/lib/SuperCollider/plugins" \ + --set SC_DATA_DIR "$out/share/SuperCollider" + done + ''; + + inherit (supercollider) pname version meta; +} diff --git a/pkgs/development/libraries/cgreen/default.nix b/pkgs/development/libraries/cgreen/default.nix index 85532bfd74b0..f8790791798d 100644 --- a/pkgs/development/libraries/cgreen/default.nix +++ b/pkgs/development/libraries/cgreen/default.nix @@ -11,6 +11,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-aQrfsiPuNrEMscZrOoONiN665KlNmnOiYj9ZIyzW304="; }; + postPatch = '' + for F in tools/discoverer_acceptance_tests.c tools/discoverer.c; do + substituteInPlace "$F" --replace "/usr/bin/nm" "nm" + done + ''; + nativeBuildInputs = [ cmake ]; meta = with lib; { diff --git a/pkgs/development/python-modules/fints/default.nix b/pkgs/development/python-modules/fints/default.nix index 7972a9374c78..13f20fbd49d6 100644 --- a/pkgs/development/python-modules/fints/default.nix +++ b/pkgs/development/python-modules/fints/default.nix @@ -8,7 +8,7 @@ }: buildPythonPackage rec { - version = "3.0.1"; + version = "3.1.0"; pname = "fints"; disabled = isPy27; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "raphaelm"; repo = "python-fints"; rev = "v${version}"; - sha256 = "sha256-P9+3QuB5c7WMjic2fSp8pwXrOUHIrLThvfodtbBXLMY="; + hash = "sha256-3frJIEZgVnZD2spWYIuEtUt7MVsU/Zj82HOB9fKYQWE="; }; propagatedBuildInputs = [ requests mt-940 sepaxml bleach ]; diff --git a/pkgs/development/python-modules/phe/default.nix b/pkgs/development/python-modules/phe/default.nix index 86a5ec848ace..0e589a04dbf9 100644 --- a/pkgs/development/python-modules/phe/default.nix +++ b/pkgs/development/python-modules/phe/default.nix @@ -2,7 +2,7 @@ let pname = "phe"; - version = "1.4.0"; + version = "1.5.0"; in buildPythonPackage { @@ -13,7 +13,7 @@ buildPythonPackage { src = fetchPypi { inherit pname version; - sha256 = "0wzlk7d24kp0f5kpm0kvvc88mm42144f5cg9pcpb1dsfha75qy5m"; + sha256 = "sha256-mS+3CR0kJ/DZczlG+PNQrN1NHQEgV/Kq02S6eflwM5w="; }; buildInputs = [ click gmpy2 numpy ]; diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix index 8978a0635c8c..78e54028cc9c 100644 --- a/pkgs/development/tools/build-managers/conan/default.nix +++ b/pkgs/development/tools/build-managers/conan/default.nix @@ -32,22 +32,6 @@ let newPython = python3.override { "test_ec_verify_should_return_false_if_signature_invalid" ]; }); - # conan needs jinja2<3 - jinja2 = super.jinja2.overridePythonAttrs (oldAttrs: rec { - version = "2.11.3"; - src = oldAttrs.src.override { - inherit version; - sha256 = "a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"; - }; - }); - # old jinja2 needs old markupsafe - markupsafe = super.markupsafe.overridePythonAttrs (oldAttrs: rec { - version = "1.1.1"; - src = oldAttrs.src.override { - inherit version; - sha256 = "29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b"; - }; - }); distro = super.distro.overridePythonAttrs (oldAttrs: rec { version = "1.5.0"; src = oldAttrs.src.override { @@ -59,14 +43,14 @@ let newPython = python3.override { }; in newPython.pkgs.buildPythonApplication rec { - version = "1.43.1"; + version = "1.47.0"; pname = "conan"; src = fetchFromGitHub { owner = "conan-io"; repo = "conan"; rev = version; - sha256 = "0jwi7smgy2d9m49igijqr2p4ncw5nksjbijj8fzjvf1lgxgnyjhr"; + sha256 = "1zs2xb22rsy5fsc0fd7c95vrx1mfz7vasyg1lqkzyfimvn5zah6n"; }; propagatedBuildInputs = with newPython.pkgs; [ diff --git a/pkgs/development/tools/mysql-shell/default.nix b/pkgs/development/tools/mysql-shell/default.nix new file mode 100644 index 000000000000..caa790e9fd49 --- /dev/null +++ b/pkgs/development/tools/mysql-shell/default.nix @@ -0,0 +1,155 @@ +{ lib +, stdenv +, pkg-config +, cmake +, fetchurl +, git +, bison +, openssl +, protobuf +, curl +, zlib +, libssh +, zstd +, lz4 +, boost +, readline +, libtirpc +, rpcsvc-proto +, libedit +, libevent +, icu +, re2 +, ncurses +, libfido2 +, v8 +, python3 +, cyrus_sasl +, openldap +, numactl +, cctools +, CoreServices +, developer_cmds +, DarwinTools +, testVersion +, mysql-shell +}: + +let + pythonDeps = [ + python3.pkgs.certifi + python3.pkgs.paramiko + ]; + site = '' + + import sys; sys.path.extend([${lib.concatStringsSep ", " (map (x: ''"${x}/${python3.sitePackages}"'') pythonDeps)}]) + ''; +in +stdenv.mkDerivation rec{ + pname = "mysql-shell"; + version = "8.0.28"; + + srcs = [ + (fetchurl { + url = "https://cdn.mysql.com//Downloads/MySQL-Shell/mysql-shell-${version}-src.tar.gz"; + sha256 = "sha256-xm2sepVgI0MPs25vu+BcRQeksaVhHcQlymreN1myu6c="; + }) + (fetchurl { + url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor version}/mysql-${version}.tar.gz"; + sha256 = "sha256-2Gk2nrbeTyuy2407Mbe3OWjjVuX/xDVPS5ZlirHkiyI="; + }) + ]; + + sourceRoot = "mysql-shell-${version}-src"; + + postPatch = '' + patch ../mysql-${version}/cmake/fido2.cmake ${./fido2.cmake.patch} + + substituteInPlace ../mysql-${version}/cmake/libutils.cmake --replace /usr/bin/libtool libtool + substituteInPlace ../mysql-${version}/cmake/os/Darwin.cmake --replace /usr/bin/libtool libtool + + substituteInPlace cmake/libutils.cmake --replace /usr/bin/libtool libtool + + # For python dependencies + echo '${site}' >> python/packages/mysqlsh/__init__.py + ''; + + nativeBuildInputs = [ + pkg-config + cmake + git + bison + ] ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ]; + + buildInputs = [ + boost + curl + libedit + libssh + lz4 + openssl + protobuf + readline + zlib + zstd + libevent + icu + re2 + ncurses + libfido2 + cyrus_sasl + openldap + v8 + ] ++ pythonDeps ++ lib.optionals stdenv.isLinux [ + numactl + libtirpc + ] ++ lib.optionals stdenv.isDarwin [ + cctools + CoreServices + developer_cmds + DarwinTools + ]; + + preConfigure = '' + # Build MySQL + cmake -DWITH_BOOST=system \ + -DWITH_SYSTEM_LIBS=ON \ + -DWITH_ROUTER=OFF \ + -DWITH_UNIT_TESTS=OFF \ + -DFORCE_UNSUPPORTED_COMPILER=1 \ + -S ../mysql-${version} -B ../mysql-${version}/build + + cmake --build ../mysql-${version}/build --parallel ''${NIX_BUILD_CORES:-1} --target mysqlclient mysqlxclient + + # Get libv8_monolith + mkdir -p ../v8/lib + ln -s ${v8}/lib/libv8.a ../v8/lib/libv8_monolith.a + ''; + + cmakeFlags = [ + "-DMYSQL_SOURCE_DIR=../mysql-${version}" + "-DMYSQL_BUILD_DIR=../mysql-${version}/build" + "-DMYSQL_CONFIG_EXECUTABLE=../../mysql-${version}/build/scripts/mysql_config" + "-DWITH_ZSTD=system" + "-DWITH_LZ4=system" + "-DWITH_ZLIB=system" + "-DWITH_PROTOBUF=${protobuf}" + "-DHAVE_V8=1" + "-DV8_INCLUDE_DIR=${v8}/include" + "-DV8_LIB_DIR=../v8/lib" + "-DHAVE_PYTHON=1" + ]; + + CXXFLAGS = [ + "-DV8_COMPRESS_POINTERS=1" + "-DV8_31BIT_SMIS_ON_64BIT_ARCH=1" + ]; + + meta = with lib; { + homepage = "https://dev.mysql.com/doc/mysql-shell/${lib.versions.majorMinor version}/en/"; + description = "A new command line scriptable shell for MySQL"; + license = licenses.gpl2; + maintainers = with maintainers; [ aaronjheng ]; + mainProgram = "mysqlsh"; + }; +} diff --git a/pkgs/development/tools/mysql-shell/fido2.cmake.patch b/pkgs/development/tools/mysql-shell/fido2.cmake.patch new file mode 100644 index 000000000000..df6005cca1a7 --- /dev/null +++ b/pkgs/development/tools/mysql-shell/fido2.cmake.patch @@ -0,0 +1,25 @@ +diff --git a/cmake/fido2.cmake b/cmake/fido2.cmake +index c20e6e75c0d..f2d5cbd8430 100644 +--- a/cmake/fido2.cmake ++++ b/cmake/fido2.cmake +@@ -30,19 +30,8 @@ MACRO(FIND_FIDO_VERSION) + IF(WITH_FIDO STREQUAL "bundled") + SET(FIDO_VERSION "1.7.0") + ELSE() +- # This does not set any version information: +- # PKG_CHECK_MODULES(SYSTEM_FIDO fido2) +- + MYSQL_CHECK_PKGCONFIG() +- EXECUTE_PROCESS( +- COMMAND ${MY_PKG_CONFIG_EXECUTABLE} --modversion libfido2 +- OUTPUT_VARIABLE MY_FIDO_MODVERSION +- OUTPUT_STRIP_TRAILING_WHITESPACE +- RESULT_VARIABLE MY_MODVERSION_RESULT +- ) +- IF(MY_MODVERSION_RESULT EQUAL 0) +- SET(FIDO_VERSION ${MY_FIDO_MODVERSION}) +- ENDIF() ++ PKG_CHECK_MODULES(FIDO libfido2) + ENDIF() + MESSAGE(STATUS "FIDO_VERSION (${WITH_FIDO}) is ${FIDO_VERSION}") + ENDMACRO(FIND_FIDO_VERSION) diff --git a/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/pkgs/os-specific/linux/kernel/linux-xanmod.nix deleted file mode 100644 index b170ec044b05..000000000000 --- a/pkgs/os-specific/linux/kernel/linux-xanmod.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ lib, stdenv, buildLinux, fetchFromGitHub, ... } @ args: - -let - version = "5.15.27"; - release = "1"; - suffix = "xanmod${release}-tt"; -in -buildLinux (args // rec { - inherit version; - modDirVersion = "${version}-${suffix}"; - - src = fetchFromGitHub { - owner = "xanmod"; - repo = "linux"; - rev = modDirVersion; - sha256 = "sha256-ycUvTXDKnffxs8FKZJurX2bDr85gMQlSIFD0nST2Q98="; - }; - - structuredExtraConfig = with lib.kernel; { - # removed options - CFS_BANDWIDTH = lib.mkForce (option no); - RT_GROUP_SCHED = lib.mkForce (option no); - SCHED_AUTOGROUP = lib.mkForce (option no); - - # AMD P-state driver - X86_AMD_PSTATE = yes; - - # Linux RNG framework - LRNG = yes; - - # Paragon's NTFS3 driver - NTFS3_FS = module; - NTFS3_LZX_XPRESS = yes; - NTFS3_FS_POSIX_ACL = yes; - - # Preemptive Full Tickless Kernel at 500Hz - SCHED_CORE = lib.mkForce (option no); - PREEMPT_VOLUNTARY = lib.mkForce no; - PREEMPT = lib.mkForce yes; - NO_HZ_FULL = yes; - HZ_500 = yes; - - # Google's BBRv2 TCP congestion Control - TCP_CONG_BBR2 = yes; - DEFAULT_BBR2 = yes; - - # FQ-PIE Packet Scheduling - NET_SCH_DEFAULT = yes; - DEFAULT_FQ_PIE = yes; - - # Graysky's additional CPU optimizations - CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes; - - # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync. - FUTEX = yes; - FUTEX_PI = yes; - - # WineSync driver for fast kernel-backed Wine - WINESYNC = module; - }; - - extraMeta = { - branch = "5.15-tt"; - maintainers = with lib.maintainers; [ fortuneteller2k lovesegfault ]; - description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience"; - broken = stdenv.isAarch64; - }; -} // (args.argsOverride or { })) diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix new file mode 100644 index 000000000000..8464b9ad25f8 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix @@ -0,0 +1,81 @@ +{ lib, stdenv, fetchFromGitHub, buildLinux, ... } @ args: + +let + stableVariant = { + version = "5.15.34"; + suffix = "xanmod1"; + hash = "sha256-sfrcaFhrdvupygXvajGyl6ruuBu+vFsAKjLyINyV3pw="; + }; + + edgeVariant = { + version = "5.17.2"; + suffix = "xanmod1"; + hash = "sha256-DK6yFZewqmr/BXFW5tqKXtWb1OLfqokZRQLOQxvBg6Q="; + }; + + xanmodKernelFor = { version, suffix, hash }: buildLinux (args // rec { + inherit version; + modDirVersion = "${version}-${suffix}"; + + src = fetchFromGitHub { + owner = "xanmod"; + repo = "linux"; + rev = modDirVersion; + inherit hash; + }; + + structuredExtraConfig = with lib.kernel; { + # removed options + CFS_BANDWIDTH = lib.mkForce (option no); + RT_GROUP_SCHED = lib.mkForce (option no); + SCHED_AUTOGROUP = lib.mkForce (option no); + + # AMD P-state driver + X86_AMD_PSTATE = yes; + + # Linux RNG framework + LRNG = yes; + + # Paragon's NTFS3 driver + NTFS3_FS = module; + NTFS3_LZX_XPRESS = yes; + NTFS3_FS_POSIX_ACL = yes; + + # Preemptive Full Tickless Kernel at 500Hz + SCHED_CORE = lib.mkForce (option no); + PREEMPT_VOLUNTARY = lib.mkForce no; + PREEMPT = lib.mkForce yes; + NO_HZ_FULL = yes; + HZ_500 = yes; + + # Google's BBRv2 TCP congestion Control + TCP_CONG_BBR2 = yes; + DEFAULT_BBR2 = yes; + + # FQ-PIE Packet Scheduling + NET_SCH_DEFAULT = yes; + DEFAULT_FQ_PIE = yes; + + # Graysky's additional CPU optimizations + CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes; + + # Futex WAIT_MULTIPLE implementation for Wine / Proton Fsync. + FUTEX = yes; + FUTEX_PI = yes; + + # WineSync driver for fast kernel-backed Wine + WINESYNC = module; + }; + + extraMeta = { + branch = lib.versions.majorMinor version; + maintainers = with lib.maintainers; [ fortuneteller2k lovesegfault ]; + description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience"; + broken = stdenv.isAarch64; + }; + } // (args.argsOverride or { })); +in +{ + stable = xanmodKernelFor stableVariant; + edge = xanmodKernelFor edgeVariant; +} diff --git a/pkgs/os-specific/linux/musl/default.nix b/pkgs/os-specific/linux/musl/default.nix index f19c7ea7a44b..fb0d19115da3 100644 --- a/pkgs/os-specific/linux/musl/default.nix +++ b/pkgs/os-specific/linux/musl/default.nix @@ -40,11 +40,11 @@ let in stdenv.mkDerivation rec { pname = "musl"; - version = "1.2.2"; + version = "1.2.3"; src = fetchurl { url = "https://musl.libc.org/releases/${pname}-${version}.tar.gz"; - sha256 = "1p8r6bac64y98ln0wzmnixysckq3crca69ys7p16sy9d04i975lv"; + sha256 = "sha256-fVsLYGJSHkYn4JnkydyCSNMqMChelZt+7Kp4DPjP1KQ="; }; enableParallelBuilding = true; diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix index 22b886b2d24f..4152e8bf9848 100644 --- a/pkgs/servers/monitoring/grafana/default.nix +++ b/pkgs/servers/monitoring/grafana/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "grafana"; - version = "8.4.6"; + version = "8.4.7"; excludedPackages = [ "alert_webhook_listener" "clean-swagger" "release_publisher" "slow_proxy" "slow_proxy_mac" "macaron" ]; @@ -10,15 +10,15 @@ buildGoModule rec { rev = "v${version}"; owner = "grafana"; repo = "grafana"; - sha256 = "sha256-BXAvsHP6bDMrSk5jMCJmvrS1w/d+Mmym+OMCqO2YozY="; + sha256 = "sha256-8owcfWTiXhejFc5P0AM6POXBXuAABn4M/uX9X68Zn8k="; }; srcStatic = fetchurl { url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz"; - sha256 = "1af0277kb2msjqjv2kxajpxia4q4y2bslf009fx13h2c0grv8j7f"; + sha256 = "1wi28v1xhav8p2jqkf2gmk1accfcf1w0d6h312d4pns6pkhdabxv"; }; - vendorSha256 = "sha256-iOJEy7dCZGRTaOuL/09wcMlNDHjRi9SIr9bialdcKi4="; + vendorSha256 = "sha256-7ZeOncdiA/0Awg+olJvsLneLQH4zBQka4M81jsxwUdE="; nativeBuildInputs = [ wire ]; diff --git a/pkgs/tools/misc/powerline-go/default.nix b/pkgs/tools/misc/powerline-go/default.nix index 3eb29c874418..b28c478de479 100644 --- a/pkgs/tools/misc/powerline-go/default.nix +++ b/pkgs/tools/misc/powerline-go/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "powerline-go"; - version = "unstable-2021-07-15"; + version = "1.22.1"; src = fetchFromGitHub { owner = "justjanne"; repo = pname; - rev = "f27435b26b5001c52ffb1aee454572c59494c81b"; - sha256 = "sha256-YB/WMprjXA5ZN6baT5nWahNj0xwbP8kzS7X/1tCwWiE="; + rev = "v${version}"; + sha256 = "sha256-7QhW0Vn1u63N0fzSiX/vu0HNhFkoSFHXteJCrcFX+4Q="; }; - vendorSha256 = "sha256-HYF6aKz+P241EKmupEoretadlrh9FBRx6nIER66jofg="; + vendorSha256 = "sha256-+R+UwoYJ+KsV+jQj8+wfEsCAvezolsoPDNzCnGLzOEc="; meta = with lib; { description = "A Powerline like prompt for Bash, ZSH and Fish"; diff --git a/pkgs/tools/misc/pubs/default.nix b/pkgs/tools/misc/pubs/default.nix index 36afc1d4cbb0..04021e40b74d 100644 --- a/pkgs/tools/misc/pubs/default.nix +++ b/pkgs/tools/misc/pubs/default.nix @@ -1,34 +1,54 @@ -{ lib, fetchFromGitHub, python3Packages }: +{ lib +, fetchFromGitHub +, python3 +}: -python3Packages.buildPythonApplication rec { +python3.pkgs.buildPythonApplication rec { pname = "pubs"; - version = "0.8.3"; + version = "0.9.0"; src = fetchFromGitHub { owner = "pubs"; repo = "pubs"; rev = "v${version}"; - sha256 = "0npgsyxj7kby5laznk5ilkrychs3i68y57gphwk48w8k9fvnl3zc"; + hash = "sha256-U/9MLqfXrzYVGttFSafw4pYDy26WgdsJMCxciZzO1pw="; }; - propagatedBuildInputs = with python3Packages; [ - argcomplete python-dateutil configobj feedparser bibtexparser pyyaml requests six + propagatedBuildInputs = with python3.pkgs; [ + pyyaml + bibtexparser + python-dateutil + six + requests + configobj beautifulsoup4 + feedparser + argcomplete ]; - checkInputs = with python3Packages; [ pyfakefs mock ddt ]; + checkInputs = with python3.pkgs; [ + pyfakefs + mock + ddt + pytestCheckHook + ]; - # Disabling git tests because they expect git to be preconfigured - # with the user's details. See - # https://github.com/NixOS/nixpkgs/issues/94663 - preCheck = '' - rm tests/test_git.py - ''; + disabledTestPaths = [ + # Disabling git tests because they expect git to be preconfigured + # with the user's details. See + # https://github.com/NixOS/nixpkgs/issues/94663 + "tests/test_git.py" + ]; + + disabledTests = [ + # https://github.com/pubs/pubs/issues/276 + "test_readme" + ]; meta = with lib; { description = "Command-line bibliography manager"; homepage = "https://github.com/pubs/pubs"; - license = licenses.lgpl3; - maintainers = with maintainers; [ gebner ]; + license = licenses.lgpl3Only; + maintainers = with maintainers; [ gebner dotlambda ]; }; } diff --git a/pkgs/tools/misc/yafetch/default.nix b/pkgs/tools/misc/yafetch/default.nix index 5a0821844007..f55926d0ae39 100644 --- a/pkgs/tools/misc/yafetch/default.nix +++ b/pkgs/tools/misc/yafetch/default.nix @@ -1,29 +1,29 @@ -{ lib, stdenv, fetchFromGitLab }: +{ lib, stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { pname = "yafetch"; - version = "unstable-2021-07-18"; + version = "unstable-2022-04-20"; - src = fetchFromGitLab { - owner = "cyberkitty"; + src = fetchFromGitHub { + owner = "kira64xyz"; repo = pname; - rev = "f3efbca54df1ffea22cc40034114af141ccff9c1"; - sha256 = "1cxhrjy9vzq87rzql4dcknkwca7nydysp1p1x4fh1qfw79dfdmxw"; + rev = "a118cfc13f0b475db7c266105c10138d838788b8"; + sha256 = "bSJlerfbJG6h5dDwWQKHnVLH6DEuvuUyqaRuJ7jvOsA="; }; # Use the provided NixOS logo automatically prePatch = '' substituteInPlace ./config.h --replace \ - "#include \"ascii/tux.h\"" "#include \"ascii/nixos.h\"" + "#include \"ascii/gnu.h\"" "#include \"ascii/nixos.h\"" ''; # Fixes installation path PREFIX = placeholder "out"; meta = with lib; { - homepage = "https://gitlab.com/cyberkitty/yafetch"; + homepage = "https://github.com/kira64xyz/yafetch"; description = "Yet another fetch clone written in C++"; - license = licenses.gpl2Only; + license = licenses.gpl3Plus; maintainers = with maintainers; [ ivar ashley ]; platforms = platforms.linux; }; diff --git a/pkgs/tools/networking/pathvector/default.nix b/pkgs/tools/networking/pathvector/default.nix new file mode 100644 index 000000000000..529e80ebade6 --- /dev/null +++ b/pkgs/tools/networking/pathvector/default.nix @@ -0,0 +1,28 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "pathvector"; + version = "5.11.1"; + + src = fetchFromGitHub { + owner = "natesales"; + repo = "pathvector"; + rev = "v${version}"; + sha256 = "sha256-OgIDk+05bG2KrBQOyyMPaH0OJXU3gLM9OBab9lI+yXw="; + }; + + vendorSha256 = "sha256-R3o1L34FXbtRzJ1I2Xj4iWsiFJJWexGWYv2TmvhINe0="; + + CGO_ENABLED = 0; + + ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${src.rev}" "-X main.date=unknown" ]; + + doCheck = false; + + meta = with lib; { + description = "Declarative edge routing platform that automates route optimization and control plane configuration"; + homepage = "https://pathvector.io"; + license = licenses.gpl3; + maintainers = with maintainers; [ matthewpi ]; + }; +} diff --git a/pkgs/tools/system/lshw/default.nix b/pkgs/tools/system/lshw/default.nix index 25bf79cadddf..76897823029a 100644 --- a/pkgs/tools/system/lshw/default.nix +++ b/pkgs/tools/system/lshw/default.nix @@ -1,40 +1,36 @@ -{ stdenv, lib, fetchurl, fetchpatch -, withGUI ? false, gtk2, pkg-config, sqlite # compile GUI +{ stdenv +, lib +, fetchFromGitHub +, hwdata +, gtk2 +, pkg-config +, sqlite # compile GUI +, withGUI ? false }: stdenv.mkDerivation rec { pname = "lshw"; - version = "B.02.18"; + # Fix repology.org by not including the prefixed B, otherwise the `pname` attr + # gets filled as `lshw-B.XX.XX` in `nix-env --query --available --attr nixpkgs.lshw --meta` + # See https://github.com/NixOS/nix/pull/4463 for a definitive fix + version = "02.19"; - src = fetchurl { - url = "https://ezix.org/software/files/lshw-${version}.tar.gz"; - sha256 = "0brwra4jld0d53d7jsgca415ljglmmx1l2iazpj4ndilr48yy8mf"; + src = fetchFromGitHub { + owner = "lyonel"; + repo = pname; + rev = "B.${version}"; + sha256 = "sha256-PzbNGc1pPiPLWWgTeWoNfAo+SsXgi1HcjnXfYXA9S0I="; }; - patches = [ - (fetchpatch { - # fix crash in scan_dmi_sysfs() when run as non-root - url = "https://github.com/lyonel/lshw/commit/fbdc6ab15f7eea0ddcd63da355356ef156dd0d96.patch"; - sha256 = "147wyr5m185f8swsmb4q1ahs9r1rycapbpa2548aqbv298bbish3"; - }) - (fetchpatch { - # support cross-compilation - url = "https://github.com/lyonel/lshw/commit/8486d25cea9b68794504fbd9e5c6e294bac6cb07.patch"; - sha256 = "08f0wnxsq0agvsc66bhc7lxvk564ir0pp8pg3cym6a621prb9lm0"; - }) - ]; - nativeBuildInputs = [ pkg-config ]; - buildInputs = lib.optionals withGUI [ gtk2 sqlite ]; + buildInputs = [ hwdata ] + ++ lib.optionals withGUI [ gtk2 sqlite ]; - # Fix version info. - preConfigure = '' - sed -e "s/return \"unknown\"/return \"${version}\"/" \ - -i src/core/version.cc - ''; - - makeFlags = [ "PREFIX=$(out)" ]; + makeFlags = [ + "PREFIX=$(out)" + "VERSION=${src.rev}" + ]; buildFlags = [ "all" ] ++ lib.optional withGUI "gui"; @@ -46,7 +42,7 @@ stdenv.mkDerivation rec { homepage = "https://ezix.org/project/wiki/HardwareLiSter"; description = "Provide detailed information on the hardware configuration of the machine"; license = licenses.gpl2; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ thiagokokada ]; platforms = platforms.linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ece9da939e94..ab9b5bda81eb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -593,6 +593,15 @@ with pkgs; mod = callPackage ../development/tools/mod { }; + mysql-shell = callPackage ../development/tools/mysql-shell { + inherit (darwin) cctools developer_cmds DarwinTools; + inherit (darwin.apple_sdk.frameworks) CoreServices; + boost = boost173; # Configure checks for specific version. + protobuf = protobuf3_11; + icu = icu67; + v8 = v8_8_x; + }; + broadlink-cli = callPackage ../tools/misc/broadlink-cli {}; fetchpatch = callPackage ../build-support/fetchpatch { } @@ -7134,6 +7143,10 @@ with pkgs; jadx = callPackage ../tools/security/jadx { }; jamesdsp = libsForQt5.callPackage ../applications/audio/jamesdsp { }; + jamesdsp-pulse = libsForQt5.callPackage ../applications/audio/jamesdsp { + usePipewire = false; + usePulseaudio = true; + }; jazzy = callPackage ../development/tools/jazzy { }; @@ -8599,6 +8612,8 @@ with pkgs; patray = callPackage ../tools/audio/patray { }; + pathvector = callPackage ../tools/networking/pathvector { }; + pasystray = callPackage ../tools/audio/pasystray { }; pcmsolver = callPackage ../development/libraries/pcmsolver { }; @@ -12122,6 +12137,10 @@ with pkgs; jdk = jdk8; }; + alan = callPackage ../development/compilers/alan { }; + + alan_2 = callPackage ../development/compilers/alan/2.nix { }; + algol68g = callPackage ../development/compilers/algol68g { }; armips = callPackage ../development/compilers/armips { @@ -14450,6 +14469,20 @@ with pkgs; supercollider_scel = supercollider.override { useSCEL = true; }; + supercolliderPlugins = recurseIntoAttrs { + sc3-plugins = callPackage ../development/interpreters/supercollider/plugins/sc3-plugins.nix { + fftw = fftwSinglePrec; + }; + }; + + supercollider-with-plugins = callPackage ../development/interpreters/supercollider/wrapper.nix { + plugins = []; + }; + + supercollider-with-sc3-plugins = supercollider-with-plugins.override { + plugins = with supercolliderPlugins; [ sc3-plugins ]; + }; + taktuk = callPackage ../applications/networking/cluster/taktuk { }; tcl = tcl-8_6; @@ -23080,6 +23113,8 @@ with pkgs; # XanMod kernel linuxPackages_xanmod = linuxKernel.packages.linux_xanmod; linux_xanmod = linuxKernel.kernels.linux_xanmod; + linuxPackages_xanmod_latest = linuxKernel.packages.linux_xanmod_latest; + linux_xanmod_latest = linuxKernel.kernels.linux_xanmod_latest; cryptodev = linuxKernel.packages.linux_4_9.cryptodev; diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index e3f5695fac53..e02802b88abe 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -212,12 +212,22 @@ in { ]; }; - linux_xanmod = callPackage ../os-specific/linux/kernel/linux-xanmod.nix { + # This contains both the STABLE and EDGE variants of the XanMod kernel + xanmodKernels = callPackage ../os-specific/linux/kernel/xanmod-kernels.nix; + + linux_xanmod = (xanmodKernels { kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.request_key_helper ]; - }; + }).stable; + + linux_xanmod_latest = (xanmodKernels { + kernelPatches = [ + kernelPatches.bridge_stp_helper + kernelPatches.request_key_helper + ]; + }).edge; linux_libre = deblobKernel packageAliases.linux_default.kernel; @@ -528,6 +538,7 @@ in { linux_zen = recurseIntoAttrs (packagesFor kernels.linux_zen); linux_lqx = recurseIntoAttrs (packagesFor kernels.linux_lqx); linux_xanmod = recurseIntoAttrs (packagesFor kernels.linux_xanmod); + linux_xanmod_latest = recurseIntoAttrs (packagesFor kernels.linux_xanmod_latest); hardkernel_4_14 = recurseIntoAttrs (packagesFor kernels.linux_hardkernel_4_14);