diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index fb8ae2b0e34e..7c52cd1cb063 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -9493,6 +9493,12 @@ githubId = 1318743; name = "Ivar"; }; + ivyfanchiang = { + email = "dev@ivyfanchiang.ca"; + github = "hexadecimalDinosaur"; + githubId = 36890802; + name = "Ivy Fan-Chiang"; + }; iwanb = { email = "tracnar@gmail.com"; github = "iwanb"; diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index ff0399b4221d..185ffbfe0440 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1471,6 +1471,7 @@ ./services/web-apps/netbox.nix ./services/web-apps/nextcloud.nix ./services/web-apps/nextcloud-notify_push.nix + ./services/web-apps/nextcloud-whiteboard-server.nix ./services/web-apps/nextjs-ollama-llm-ui.nix ./services/web-apps/nexus.nix ./services/web-apps/nifi.nix diff --git a/nixos/modules/services/misc/docker-registry.nix b/nixos/modules/services/misc/docker-registry.nix index 99d5e3e1804a..76fc16020d32 100644 --- a/nixos/modules/services/misc/docker-registry.nix +++ b/nixos/modules/services/misc/docker-registry.nix @@ -96,7 +96,12 @@ in { extraConfig = lib.mkOption { description = '' - Docker extra registry configuration via environment variables. + Docker extra registry configuration. + ''; + example = lib.literalExpression '' + { + log.level = "debug"; + } ''; default = {}; type = lib.types.attrs; diff --git a/nixos/modules/services/web-apps/nextcloud-whiteboard-server.nix b/nixos/modules/services/web-apps/nextcloud-whiteboard-server.nix new file mode 100644 index 000000000000..ff95f54506f5 --- /dev/null +++ b/nixos/modules/services/web-apps/nextcloud-whiteboard-server.nix @@ -0,0 +1,72 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + + inherit (lib) + mkIf + mkEnableOption + mkOption + types + literalExpression + ; + cfg = config.services.nextcloud-whiteboard-server; + +in +{ + options.services.nextcloud-whiteboard-server = { + + enable = mkEnableOption "Nextcloud backend server for the Whiteboard app"; + + settings = mkOption { + type = types.attrsOf types.str; + default = { }; + description = '' + Settings to configure backend server. Especially the Nextcloud host + url has to be set. The required environment variable `JWT_SECRET_KEY` + should be set via the secrets option. + ''; + example = literalExpression '' + { + NEXTCLOUD_URL = "https://nextcloud.example.org"; + } + ''; + }; + + secrets = lib.mkOption { + type = with types; listOf str; + description = '' + A list of files containing the various secrets. Should be in the + format expected by systemd's `EnvironmentFile` directory. + ''; + default = [ ]; + }; + + }; + + config = mkIf cfg.enable { + + systemd.services.nextcloud-whiteboard-server = { + description = "Nextcloud backend server for the Whiteboard app"; + wantedBy = [ "multi-user.target" ]; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + environment = cfg.settings; + serviceConfig = { + ExecStart = "${lib.getExe pkgs.nextcloud-whiteboard-server}"; + WorkingDirectory = "%S/whiteboard"; + StateDirectory = "whiteboard"; + EnvironmentFile = [ cfg.secrets ]; + DynamicUser = true; + }; + }; + + }; + + meta.maintainers = with lib.maintainers; [ onny ]; + +} diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index 60049e184ade..0913fa0a330f 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -107,7 +107,10 @@ let wrapperArgsStr = if lib.isString wrapperArgs then wrapperArgs else lib.escapeShellArgs wrapperArgs; - generatedWrapperArgs = + generatedWrapperArgs = let + binPath = lib.makeBinPath (lib.optional finalAttrs.withRuby rubyEnv ++ lib.optional finalAttrs.withNodeJs nodejs); + in + # vim accepts a limited number of commands so we join them all [ "--add-flags" ''--cmd "lua ${providerLuaRc}"'' @@ -116,10 +119,15 @@ let "--add-flags" ''--cmd "set packpath^=${finalPackdir}"'' "--add-flags" ''--cmd "set rtp^=${finalPackdir}"'' ] + ++ lib.optionals finalAttrs.withRuby [ + "--set" "GEM_HOME" "${rubyEnv}/${rubyEnv.ruby.gemPath}" + ] ++ lib.optionals (binPath != "") [ + "--suffix" "PATH" ":" binPath + ] ; providerLuaRc = neovimUtils.generateProviderRc { - inherit withPython3 withNodeJs withPerl; + inherit (finalAttrs) withPython3 withNodeJs withPerl; withRuby = rubyEnv != null; }; diff --git a/pkgs/applications/networking/cluster/kube-router/default.nix b/pkgs/applications/networking/cluster/kube-router/default.nix index b0219b25ca32..75fa02501c2b 100644 --- a/pkgs/applications/networking/cluster/kube-router/default.nix +++ b/pkgs/applications/networking/cluster/kube-router/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "kube-router"; - version = "2.2.1"; + version = "2.2.2"; src = fetchFromGitHub { owner = "cloudnativelabs"; repo = pname; rev = "v${version}"; - hash = "sha256-Pm/CrB/RxCvEhNdCyfI7kF62cxpx96Cj2zWmW0wl5wM="; + hash = "sha256-ABSjF3Wd7Ue/c+j2BvjB0UgAMccGUgJsj33JHMG8ijs="; }; vendorHash = "sha256-sIWRODIV3iJ5FdVjVwesqfbYivOlqZAvPSYa38vhCMA="; diff --git a/pkgs/applications/virtualization/vmware-workstation/default.nix b/pkgs/applications/virtualization/vmware-workstation/default.nix index b60875c38129..4aad879e7da0 100644 --- a/pkgs/applications/virtualization/vmware-workstation/default.nix +++ b/pkgs/applications/virtualization/vmware-workstation/default.nix @@ -12,7 +12,6 @@ , readline70 , xz , cups -, glibc , libaio , vulkan-loader , alsa-lib @@ -20,8 +19,7 @@ , libxcrypt-legacy , libGL , numactl -, libX11 -, libXi +, xorg , kmod , python3 , autoPatchelfHook @@ -29,48 +27,17 @@ , symlinkJoin , enableInstaller ? false, bzip2, sqlite , enableMacOSGuests ? false, fetchFromGitHub, unzip -, enableGuestTools ? true, }: let # base - versions - version = "17.5.2"; - build = "23775571"; + version = "17.6.1"; + build = "24319023"; baseUrl = "https://softwareupdate.vmware.com/cds/vmw-desktop/ws/${version}/${build}/linux"; - # tools - versions - toolsVersion = "12.4.0"; - toolsBuild = "23259341"; - # macOS - versions - fusionVersion = "13.5.2"; - fusionBuild = "23775688"; unlockerVersion = "3.0.5"; - guestToolsSrc = - let - fetchComponent = (system: hash: fetchzip { - inherit hash; - url = "${baseUrl}/packages/vmware-tools-${system}-${toolsVersion}-${toolsBuild}.x86_64.component.tar"; - stripRoot = false; - } + "/vmware-tools-${system}-${toolsVersion}-${toolsBuild}.x86_64.component"); - in lib.mapAttrsToList fetchComponent { - linux = "sha256-vT08mR6cCXZjiQgb9jy+MaqYzS0hFbNUM7xGAHIJ8Ao="; - linuxPreGlibc25 = "sha256-BodN1lxuhxyLlxIQSlVhGKItJ10VPlti/sEyxcRF2SA="; - netware = "sha256-o/S4wAYLR782Fn20fTQ871+rzsa1twnAxb9laV16XIk="; - solaris = "sha256-3LdFoI4TD5zxlohDGR3DRGbF6jwDZAoSMEpHWU4vSGU="; - winPre2k = "sha256-+QcvWfY3aCDxUwAfSuj7Wf9sxIO+ztWBrRolMim8Dfw="; - winPreVista = "sha256-3NgO/GdRFTpKNo45TMet0msjzxduuoF4nVLtnOUTHUA="; - windows = "sha256-2F7UPjNvtibmWAJxpB8IOnol12aMOGMy+403WeCTXw8="; - }; - - # macOS - ISOs - darwinIsoSrc = fetchzip { - url = "https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/${fusionVersion}/${fusionBuild}/universal/core/com.vmware.fusion.zip.tar"; - sha256 = "sha256-DDLRWAVRI3ZeXV5bUXWwput9mEC1qsJUsjojI0CJYMI="; - stripRoot = false; - } + "/com.vmware.fusion.zip"; - # macOS - Unlocker unlockerSrc = fetchFromGitHub { owner = "paolo-projects"; @@ -104,7 +71,6 @@ stdenv.mkDerivation rec { readline xz cups - glibc libaio vulkan-loader alsa-lib @@ -112,9 +78,21 @@ stdenv.mkDerivation rec { libxcrypt-legacy libGL numactl - libX11 - libXi - kmod + xorg.libX11 + xorg.libXau + xorg.libXcomposite + xorg.libXcursor + xorg.libXdamage + xorg.libXdmcp + xorg.libXext + xorg.libXfixes + xorg.libXft + xorg.libXinerama + xorg.libXi + xorg.libXrandr + xorg.libXrender + xorg.libXScrnSaver + xorg.libXtst ]; nativeBuildInputs = [ python3 vmware-unpack-env autoPatchelfHook makeWrapper ] @@ -123,23 +101,13 @@ stdenv.mkDerivation rec { src = fetchzip { url = "${baseUrl}/core/VMware-Workstation-${version}-${build}.x86_64.bundle.tar"; - sha256 = "sha256-5PZZpXN/V687TXjqeTm8MEays4/QTf02jVfdpi9C7GI="; + sha256 = "sha256-VzfiIawBDz0f1w3eynivW41Pn4SqvYf/8o9q14hln4s="; stripRoot = false; } + "/VMware-Workstation-${version}-${build}.x86_64.bundle"; - unpackPhase = let - guestTools = lib.optionalString enableGuestTools (lib.concatMapStringsSep " " (src: "--install-component ${src}") guestToolsSrc); - in + unpackPhase = '' - ${vmware-unpack-env}/bin/vmware-unpack-env -c "sh ${src} ${guestTools} --extract unpacked" - - ${lib.optionalString enableMacOSGuests '' - mkdir -p fusion/ - unzip "${darwinIsoSrc}" \ - "payload/VMware Fusion.app/Contents/Library/isoimages/x86_x64/darwin.iso" \ - "payload/VMware Fusion.app/Contents/Library/isoimages/x86_x64/darwinPre15.iso" \ - -d fusion/ - ''} + ${vmware-unpack-env}/bin/vmware-unpack-env -c "sh ${src} --extract unpacked" ''; postPatch = lib.optionalString enableMacOSGuests '' @@ -258,8 +226,8 @@ stdenv.mkDerivation rec { --add-needed ${libpulseaudio}/lib/libpulse.so.0 \ --add-needed ${libGL}/lib/libEGL.so.1 \ --add-needed ${numactl}/lib/libnuma.so.1 \ - --add-needed ${libX11}/lib/libX11.so.6 \ - --add-needed ${libXi}/lib/libXi.so.6 \ + --add-needed ${xorg.libX11}/lib/libX11.so.6 \ + --add-needed ${xorg.libXi}/lib/libXi.so.6 \ --add-needed ${libGL}/lib/libGL.so.1 \ $out/lib/vmware/bin/$binary done @@ -282,28 +250,6 @@ stdenv.mkDerivation rec { unpacked="unpacked/vmware-network-editor" cp -r $unpacked/lib $out/lib/vmware/ - mkdir -p $out/lib/vmware/isoimages/ - - ${lib.optionalString enableGuestTools '' - echo "Installing VMware Tools" - cp unpacked/vmware-tools-linux/linux.iso \ - unpacked/vmware-tools-linuxPreGlibc25/linuxPreGlibc25.iso \ - unpacked/vmware-tools-netware/netware.iso \ - unpacked/vmware-tools-solaris/solaris.iso \ - unpacked/vmware-tools-winPre2k/winPre2k.iso \ - unpacked/vmware-tools-winPreVista/winPreVista.iso \ - unpacked/vmware-tools-windows/windows.iso \ - $out/lib/vmware/isoimages/ - ''} - - ${lib.optionalString enableMacOSGuests '' - echo "Installing VMWare Tools for MacOS" - cp -v \ - "fusion/payload/VMware Fusion.app/Contents/Library/isoimages/x86_x64/darwin.iso" \ - "fusion/payload/VMware Fusion.app/Contents/Library/isoimages/x86_x64/darwinPre15.iso" \ - $out/lib/vmware/isoimages/ - ''} - ## VMware Player Application echo "Installing VMware Player Application" unpacked="unpacked/vmware-player-app" @@ -408,6 +354,14 @@ stdenv.mkDerivation rec { rm $out/lib/vmware/bin/vmware-vmx ln -s /run/wrappers/bin/vmware-vmx $out/lib/vmware/bin/vmware-vmx + # Remove shipped X11 libraries + for lib in $out/lib/vmware/lib/* $out/lib/vmware-ovftool/lib*.so*; do + lib_name="$(basename "$lib")" + if [[ "$lib_name" == libX* || "$lib_name" == libxcb* ]]; then + rm -rf "$lib" + fi + done + runHook postInstall ''; diff --git a/pkgs/by-name/aw/awscli2/package.nix b/pkgs/by-name/aw/awscli2/package.nix index e24c5e30c75b..0a9958e92d2f 100644 --- a/pkgs/by-name/aw/awscli2/package.nix +++ b/pkgs/by-name/aw/awscli2/package.nix @@ -141,6 +141,12 @@ py.pkgs.buildPythonApplication rec { export HOME=$(mktemp -d) ''; + # Propagating dependencies leaks them through $PYTHONPATH which causes issues + # when used in nix-shell. + postFixup = '' + rm $out/nix-support/propagated-build-inputs + ''; + pytestFlagsArray = [ "-Wignore::DeprecationWarning" ]; diff --git a/pkgs/by-name/ay/ayatana-indicator-messages/package.nix b/pkgs/by-name/ay/ayatana-indicator-messages/package.nix index bf1bf61c73b1..6018719f2cab 100644 --- a/pkgs/by-name/ay/ayatana-indicator-messages/package.nix +++ b/pkgs/by-name/ay/ayatana-indicator-messages/package.nix @@ -44,12 +44,12 @@ stdenv.mkDerivation (finalAttrs: { '' # Uses pkg_get_variable, cannot substitute prefix with that substituteInPlace data/CMakeLists.txt \ - --replace "\''${SYSTEMD_USER_DIR}" "$out/lib/systemd/user" + --replace-fail "\''${SYSTEMD_USER_DIR}" "$out/lib/systemd/user" # Bad concatenation substituteInPlace libmessaging-menu/messaging-menu.pc.in \ - --replace "\''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@" '@CMAKE_INSTALL_FULL_LIBDIR@' \ - --replace "\''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@" '@CMAKE_INSTALL_FULL_INCLUDEDIR@' + --replace-fail "\''${exec_prefix}/@CMAKE_INSTALL_LIBDIR@" '@CMAKE_INSTALL_FULL_LIBDIR@' \ + --replace-fail "\''${prefix}/@CMAKE_INSTALL_INCLUDEDIR@" '@CMAKE_INSTALL_FULL_INCLUDEDIR@' # Fix tests with gobject-introspection 1.80 not installing GLib introspection data substituteInPlace tests/CMakeLists.txt \ diff --git a/pkgs/by-name/bu/bustools/package.nix b/pkgs/by-name/bu/bustools/package.nix index c5b777073078..2ed9fb52bad9 100644 --- a/pkgs/by-name/bu/bustools/package.nix +++ b/pkgs/by-name/bu/bustools/package.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "bustools"; - version = "0.44.0"; + version = "0.44.1"; src = fetchFromGitHub { owner = "BUStools"; repo = "bustools"; rev = "v${version}"; - sha256 = "sha256-chdHwwnhHFGJLu4KZmFJp3SZ26GFnbelm3Qz0yeKoBs="; + sha256 = "sha256-0Y+9T9V+l20hqxpKbSWsEB0tt8A/ctYcoPN2n/roxvg="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/cl/clang-uml/package.nix b/pkgs/by-name/cl/clang-uml/package.nix index bb8a4d98bdb7..adc180a4c1ce 100644 --- a/pkgs/by-name/cl/clang-uml/package.nix +++ b/pkgs/by-name/cl/clang-uml/package.nix @@ -1,19 +1,18 @@ -{ lib -, fetchFromGitHub -, stdenv -, cmake -, pkg-config -, installShellFiles -, libclang -, clang -, llvmPackages -, libllvm -, yaml-cpp -, elfutils -, libunwind -, enableLibcxx ? false -, debug ? false -, +{ + lib, + fetchFromGitHub, + stdenv, + cmake, + pkg-config, + installShellFiles, + libclang, + llvmPackages, + libllvm, + yaml-cpp, + elfutils, + libunwind, + enableLibcxx ? false, + debug ? false, }: stdenv.mkDerivation (finalAttrs: { pname = "clang-uml"; @@ -26,17 +25,27 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-YzHlauVuFLT2PmfqJBNwqQ/P7d7tyl3brk7Vo/kTOF4="; }; - nativeBuildInputs = [ - cmake - pkg-config - installShellFiles - ] ++ (if debug then [ - elfutils - libunwind - ] else [ ]); + nativeBuildInputs = + [ + cmake + pkg-config + installShellFiles + ] + ++ ( + if debug then + [ + elfutils + libunwind + ] + else + [ ] + ); + + cmakeFlags = [ + "-DCUSTOM_COMPILE_OPTIONS=-Wno-error=sign-compare" + ]; buildInputs = [ - clang libclang libllvm yaml-cpp @@ -63,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: { dontFixup = debug; dontStrip = debug; - meta = with lib; { + meta = { description = "Customizable automatic UML diagram generator for C++ based on Clang"; longDescription = '' clang-uml is an automatic C++ to UML class, sequence, package and include diagram generator, driven by YAML configuration files. @@ -71,9 +80,9 @@ stdenv.mkDerivation (finalAttrs: { The configuration file or files for clang-uml define the types and contents of each generated diagram. The diagrams can be generated in PlantUML, MermaidJS and JSON formats. ''; - maintainers = with maintainers; [ eymeric ]; + maintainers = with lib.maintainers; [ eymeric ]; homepage = "https://clang-uml.github.io/"; - license = licenses.asl20; - platforms = platforms.all; + license = lib.licenses.asl20; + platforms = lib.platforms.all; }; }) diff --git a/pkgs/by-name/de/detect-it-easy/0001-remove-hard-coded-paths-in-xoptions.patch b/pkgs/by-name/de/detect-it-easy/0001-remove-hard-coded-paths-in-xoptions.patch new file mode 100644 index 000000000000..4d4744d4d31b --- /dev/null +++ b/pkgs/by-name/de/detect-it-easy/0001-remove-hard-coded-paths-in-xoptions.patch @@ -0,0 +1,44 @@ +diff --git a/XOptions/xoptions.cpp b/XOptions/xoptions.cpp +index ca5723e..30574a5 100755 +--- a/XOptions/xoptions.cpp ++++ b/XOptions/xoptions.cpp +@@ -1531,14 +1531,7 @@ bool XOptions::checkNative(const QString &sIniFileName) + #if defined(Q_OS_MAC) + bResult = true; + #elif defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) +- QString sApplicationDirPath = qApp->applicationDirPath(); +- +- if ((sApplicationDirPath == "/bin") || (sApplicationDirPath == "/usr/bin") || (sApplicationDirPath == "/usr/local/bin") || +- (sApplicationDirPath.contains("/usr/local/bin$")) || isAppImage()) { +- bResult = true; +- } else { +- bResult = false; +- } ++ bResult = true; + #elif defined(Q_OS_WIN) + QString sApplicationDirPath = qApp->applicationDirPath(); + +@@ -1565,22 +1558,7 @@ QString XOptions::getApplicationDataPath() + #ifdef Q_OS_MAC + sResult = sApplicationDirPath + "/../Resources"; + #elif defined(Q_OS_LINUX) +- if (isNative()) { +- if (sApplicationDirPath.contains("/usr/local/bin$")) { +- QString sPrefix = sApplicationDirPath.section("/usr/local/bin", 0, 0); +- +- sResult += sPrefix + QString("/usr/local/lib/%1").arg(qApp->applicationName()); +- } else { +- if (sApplicationDirPath.contains("/tmp/.mount_")) // AppImage +- { +- sResult = sApplicationDirPath.section("/", 0, 2); +- } +- +- sResult += QString("/usr/lib/%1").arg(qApp->applicationName()); +- } +- } else { +- sResult = sApplicationDirPath; +- } ++ sResult = sApplicationDirPath + "/../lib/die"; + #elif defined(Q_OS_FREEBSD) + sResult = QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation).at(1) + QDir::separator() + qApp->applicationName(); + #else diff --git a/pkgs/by-name/de/detect-it-easy/package.nix b/pkgs/by-name/de/detect-it-easy/package.nix new file mode 100644 index 000000000000..855095c3f448 --- /dev/null +++ b/pkgs/by-name/de/detect-it-easy/package.nix @@ -0,0 +1,68 @@ +{ + lib, + stdenv, + fetchFromGitHub, + libsForQt5, + freetype, + graphite2, + icu, + krb5, + systemdLibs, + imagemagick, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "detect-it-easy"; + version = "3.09"; + + src = fetchFromGitHub { + owner = "horsicq"; + repo = "DIE-engine"; + rev = finalAttrs.version; + fetchSubmodules = true; + hash = "sha256-A9YZBlGf3j+uSefPiDhrS1Qtu6vaLm4Yodt7BioGD2Q="; + }; + + patches = [ ./0001-remove-hard-coded-paths-in-xoptions.patch ]; + + buildInputs = [ + libsForQt5.qtbase + libsForQt5.qtscript + libsForQt5.qtsvg + graphite2 + freetype + icu + krb5 + systemdLibs + ]; + nativeBuildInputs = [ + libsForQt5.wrapQtAppsHook + libsForQt5.qmake + imagemagick + ]; + + enableParallelBuilding = true; + + # work around wrongly created dirs in `install.sh` + # https://github.com/horsicq/DIE-engine/issues/110 + preInstall = '' + mkdir -p $out/bin + mkdir -p $out/share/applications + mkdir -p $out/share/icons + ''; + + # clean up wrongly created dirs in `install.sh` and broken .desktop file + postInstall = '' + rm -r $out/lib/{bin,share} + grep -v "Version=#VERSION#" $src/LINUX/die.desktop > $out/share/applications/die.desktop + ''; + + meta = { + description = "Program for determining types of files for Windows, Linux and MacOS."; + mainProgram = "die"; + homepage = "https://github.com/horsicq/Detect-It-Easy"; + maintainers = with lib.maintainers; [ ivyfanchiang ]; + platforms = [ "x86_64-linux" ]; + license = lib.licenses.mit; + }; +}) diff --git a/pkgs/games/factorio/mods.nix b/pkgs/by-name/fa/factorio/mods.nix similarity index 100% rename from pkgs/games/factorio/mods.nix rename to pkgs/by-name/fa/factorio/mods.nix diff --git a/pkgs/by-name/fa/factorio/package.nix b/pkgs/by-name/fa/factorio/package.nix new file mode 100644 index 000000000000..c9b30b31b461 --- /dev/null +++ b/pkgs/by-name/fa/factorio/package.nix @@ -0,0 +1,310 @@ +{ + lib, + alsa-lib, + factorio-utils, + fetchurl, + libGL, + libICE, + libSM, + libX11, + libXcursor, + libXext, + libXi, + libXinerama, + libXrandr, + libpulseaudio, + libxkbcommon, + makeDesktopItem, + makeWrapper, + releaseType, + stdenv, + wayland, + + mods-dat ? null, + versionsJson ? ./versions.json, + username ? "", + token ? "", # get/reset token at https://factorio.com/profile + experimental ? false, # true means to always use the latest branch + ... +}@args: + +assert + releaseType == "alpha" + || releaseType == "headless" + || releaseType == "demo" + || releaseType == "expansion"; + +let + + inherit (lib) importJSON; + + mods = args.mods or [ ]; + + helpMsg = '' + + ===FETCH FAILED=== + Please ensure you have set the username and token with config.nix, or + /etc/nix/nixpkgs-config.nix if on NixOS. + + Your token can be seen at https://factorio.com/profile (after logging in). It is + not as sensitive as your password, but should still be safeguarded. There is a + link on that page to revoke/invalidate the token, if you believe it has been + leaked or wish to take precautions. + + Example: + { + packageOverrides = pkgs: { + factorio = pkgs.factorio.override { + username = "FactorioPlayer1654"; + token = "d5ad5a8971267c895c0da598688761"; + }; + }; + } + + Alternatively, instead of providing the username+token, you may manually + download the release through https://factorio.com/download , then add it to + the store using e.g.: + + releaseType=alpha + version=0.17.74 + nix-prefetch-url file://\''$HOME/Downloads/factorio_\''${releaseType}_x64_\''${version}.tar.xz --name factorio_\''${releaseType}_x64-\''${version}.tar.xz + + Note the ultimate "_" is replaced with "-" in the --name arg! + ''; + + desktopItem = makeDesktopItem { + name = "factorio"; + desktopName = "Factorio"; + comment = "A game in which you build and maintain factories."; + exec = "factorio"; + icon = "factorio"; + categories = [ "Game" ]; + }; + + branch = if experimental then "experimental" else "stable"; + + # NB `experimental` directs us to take the latest build, regardless of its branch; + # hence the (stable, experimental) pairs may sometimes refer to the same distributable. + versions = importJSON versionsJson; + binDists = makeBinDists versions; + + actual = + binDists.${stdenv.hostPlatform.system}.${releaseType}.${branch} + or (throw "Factorio ${releaseType}-${branch} binaries for ${stdenv.hostPlatform.system} are not available for download."); + + makeBinDists = + versions: + let + f = + path: name: value: + if builtins.isAttrs value then + if value ? "name" then makeBinDist value else builtins.mapAttrs (f (path ++ [ name ])) value + else + throw "expected attrset at ${toString path} - got ${toString value}"; + in + builtins.mapAttrs (f [ ]) versions; + makeBinDist = + { + name, + version, + tarDirectory, + url, + sha256, + needsAuth, + candidateHashFilenames ? [ ], + }: + { + inherit version tarDirectory; + src = + if !needsAuth then + fetchurl { inherit name url sha256; } + else + (lib.overrideDerivation + (fetchurl { + inherit name url sha256; + curlOptsList = [ + "--get" + "--data-urlencode" + "username@username" + "--data-urlencode" + "token@token" + ]; + }) + (_: { + # This preHook hides the credentials from /proc + preHook = + if username != "" && token != "" then + '' + echo -n "${username}" >username + echo -n "${token}" >token + '' + else + '' + # Deliberately failing since username/token was not provided, so we can't fetch. + # We can't use builtins.throw since we want the result to be used if the tar is in the store already. + exit 1 + ''; + failureHook = '' + cat < str: + if FLAGS.out: + return FLAGS.out + try_paths = ["pkgs/by-name/fa/factorio/versions.json", "versions.json"] + for path in try_paths: + if os.path.exists(path): + return path + raise Exception( + "Couldn't figure out where to write versions.json; try specifying --out" + ) + + +def fetch_versions() -> FactorioVersionsJSON: + return json.loads(requests.get(FACTORIO_RELEASES).text) + + +def fetch_hashes() -> FactorioHashes: + resp = requests.get(FACTORIO_HASHES) + resp.raise_for_status() + out = {} + for ln in resp.text.split("\n"): + ln = ln.strip() + if not ln: + continue + sha256, filename = ln.split() + out[filename] = sha256 + return out + + +def generate_our_versions(factorio_versions: FactorioVersionsJSON) -> OurVersionJSON: + def rec_dd(): + return defaultdict(rec_dd) + + output = rec_dd() + + # Deal with times where there's no experimental version + for rc in RELEASE_CHANNELS: + if rc.name not in factorio_versions or not factorio_versions[rc.name]: + factorio_versions[rc.name] = factorio_versions["stable"] + for rt in RELEASE_TYPES: + if ( + rt.name not in factorio_versions[rc.name] + or not factorio_versions[rc.name][rt.name] + ): + factorio_versions[rc.name][rt.name] = factorio_versions["stable"][ + rt.name + ] + + for system in SYSTEMS: + for release_type in RELEASE_TYPES: + for release_channel in RELEASE_CHANNELS: + version = factorio_versions[release_channel.name].get(release_type.name) + if version is None: + continue + this_release = { + "name": f"factorio_{release_type.name}_{system.tar_name}-{version}.tar.xz", + "url": f"https://factorio.com/get-download/{version}/{release_type.name}/{system.url_name}", + "version": version, + "needsAuth": release_type.needs_auth, + "candidateHashFilenames": [ + fmt.format(version=version) + for fmt in release_type.hash_filename_format + ], + "tarDirectory": system.tar_name, + } + output[system.nix_name][release_type.name][release_channel.name] = ( + this_release + ) + return output + + +def iter_version( + versions: OurVersionJSON, + it: Callable[[str, str, str, Dict[str, str]], Dict[str, str]], +) -> OurVersionJSON: + versions = copy.deepcopy(versions) + for system_name, system in versions.items(): + for release_type_name, release_type in system.items(): + for release_channel_name, release in release_type.items(): + release_type[release_channel_name] = it( + system_name, release_type_name, release_channel_name, dict(release) + ) + return versions + + +def merge_versions(old: OurVersionJSON, new: OurVersionJSON) -> OurVersionJSON: + """Copies already-known hashes from version.json to avoid having to re-fetch.""" + + def _merge_version( + system_name: str, + release_type_name: str, + release_channel_name: str, + release: Dict[str, str], + ) -> Dict[str, str]: + old_system = old.get(system_name, {}) + old_release_type = old_system.get(release_type_name, {}) + old_release = old_release_type.get(release_channel_name, {}) + if FLAGS.release_type and release_type_name not in FLAGS.release_type: + logging.info( + "%s/%s/%s: not in --release_type, not updating", + system_name, + release_type_name, + release_channel_name, + ) + return old_release + if FLAGS.release_channel and release_channel_name not in FLAGS.release_channel: + logging.info( + "%s/%s/%s: not in --release_channel, not updating", + system_name, + release_type_name, + release_channel_name, + ) + return old_release + if "sha256" not in old_release: + logging.info( + "%s/%s/%s: not copying sha256 since it's missing", + system_name, + release_type_name, + release_channel_name, + ) + return release + if not all( + old_release.get(k, None) == release[k] for k in ["name", "version", "url"] + ): + logging.info( + "%s/%s/%s: not copying sha256 due to mismatch", + system_name, + release_type_name, + release_channel_name, + ) + return release + release["sha256"] = old_release["sha256"] + return release + + return iter_version(new, _merge_version) + + +def fill_in_hash( + versions: OurVersionJSON, factorio_hashes: FactorioHashes +) -> OurVersionJSON: + """Fill in sha256 hashes for anything missing them.""" + + def _fill_in_hash( + system_name: str, + release_type_name: str, + release_channel_name: str, + release: Dict[str, str], + ) -> Dict[str, str]: + for candidate_filename in release["candidateHashFilenames"]: + if candidate_filename in factorio_hashes: + release["sha256"] = factorio_hashes[candidate_filename] + break + else: + logging.error( + "%s/%s/%s: failed to find any of %s in %s", + system_name, + release_type_name, + release_channel_name, + release["candidateHashFilenames"], + FACTORIO_HASHES, + ) + return release + if "sha256" in release: + logging.info( + "%s/%s/%s: skipping fetch, sha256 already present", + system_name, + release_type_name, + release_channel_name, + ) + return release + return release + + return iter_version(versions, _fill_in_hash) + + +def main(argv): + factorio_versions = fetch_versions() + factorio_hashes = fetch_hashes() + new_our_versions = generate_our_versions(factorio_versions) + old_our_versions = None + our_versions_path = find_versions_json() + if our_versions_path: + logging.info("Loading old versions.json from %s", our_versions_path) + with open(our_versions_path, "r") as f: + old_our_versions = json.load(f) + if old_our_versions: + logging.info("Merging in old hashes") + new_our_versions = merge_versions(old_our_versions, new_our_versions) + logging.info("Updating hashes from Factorio SHA256") + new_our_versions = fill_in_hash(new_our_versions, factorio_hashes) + with open(our_versions_path, "w") as f: + logging.info("Writing versions.json to %s", our_versions_path) + json.dump(new_our_versions, f, sort_keys=True, indent=2) + f.write("\n") + + +if __name__ == "__main__": + app.run(main) diff --git a/pkgs/games/factorio/utils.nix b/pkgs/by-name/fa/factorio/utils.nix similarity index 100% rename from pkgs/games/factorio/utils.nix rename to pkgs/by-name/fa/factorio/utils.nix diff --git a/pkgs/by-name/fa/factorio/versions.json b/pkgs/by-name/fa/factorio/versions.json new file mode 100644 index 000000000000..273ba332e646 --- /dev/null +++ b/pkgs/by-name/fa/factorio/versions.json @@ -0,0 +1,102 @@ +{ + "x86_64-linux": { + "alpha": { + "experimental": { + "candidateHashFilenames": [ + "factorio_linux_2.0.9.tar.xz" + ], + "name": "factorio_alpha_x64-2.0.9.tar.xz", + "needsAuth": true, + "sha256": "34c21cd3cbe91b65483786ccb4467b5d4766c748cbbddd2ce3b30d319d163e3b", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/2.0.9/alpha/linux64", + "version": "2.0.9" + }, + "stable": { + "candidateHashFilenames": [ + "factorio_linux_2.0.8.tar.xz" + ], + "name": "factorio_alpha_x64-2.0.8.tar.xz", + "needsAuth": true, + "sha256": "94ea36a5b9103369df7158a8281039dd2f1d7fa7bb3a2d854c715250dd73e185", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/2.0.8/alpha/linux64", + "version": "2.0.8" + } + }, + "demo": { + "experimental": { + "candidateHashFilenames": [ + "factorio_demo_x64_1.1.110.tar.xz" + ], + "name": "factorio_demo_x64-1.1.110.tar.xz", + "needsAuth": false, + "sha256": "bddb91dcba9f300c25d590f861772eaf41f0b6ce8ae6b754de00d0e5f3eb5a35", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/1.1.110/demo/linux64", + "version": "1.1.110" + }, + "stable": { + "candidateHashFilenames": [ + "factorio_demo_x64_1.1.110.tar.xz" + ], + "name": "factorio_demo_x64-1.1.110.tar.xz", + "needsAuth": false, + "sha256": "bddb91dcba9f300c25d590f861772eaf41f0b6ce8ae6b754de00d0e5f3eb5a35", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/1.1.110/demo/linux64", + "version": "1.1.110" + } + }, + "expansion": { + "experimental": { + "candidateHashFilenames": [ + "factorio-space-age_linux_2.0.9.tar.xz" + ], + "name": "factorio_expansion_x64-2.0.9.tar.xz", + "needsAuth": true, + "sha256": "6369d23550a7a721d3de1d34253e8321ee601fa759d1fb5efac9abc28aa7509d", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/2.0.9/expansion/linux64", + "version": "2.0.9" + }, + "stable": { + "candidateHashFilenames": [ + "factorio-space-age_linux_2.0.8.tar.xz" + ], + "name": "factorio_expansion_x64-2.0.8.tar.xz", + "needsAuth": true, + "sha256": "408eae824daa761564b1ea7b81925efe05298cbaffd120eea235341ac05a6a60", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/2.0.8/expansion/linux64", + "version": "2.0.8" + } + }, + "headless": { + "experimental": { + "candidateHashFilenames": [ + "factorio-headless_linux_2.0.9.tar.xz", + "factorio_headless_x64_2.0.9.tar.xz" + ], + "name": "factorio_headless_x64-2.0.9.tar.xz", + "needsAuth": false, + "sha256": "f499077b3e2c1313452c350f1faf17db31cae2a0fa738f69166e97c3caa3c86d", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/2.0.9/headless/linux64", + "version": "2.0.9" + }, + "stable": { + "candidateHashFilenames": [ + "factorio-headless_linux_2.0.8.tar.xz", + "factorio_headless_x64_2.0.8.tar.xz" + ], + "name": "factorio_headless_x64-2.0.8.tar.xz", + "needsAuth": false, + "sha256": "d9594c4d552a3e4f965b188a4774da8c8b010fc23ddb0efc63b1d94818dde1ca", + "tarDirectory": "x64", + "url": "https://factorio.com/get-download/2.0.8/headless/linux64", + "version": "2.0.8" + } + } + } +} diff --git a/pkgs/by-name/hy/hyprlock/package.nix b/pkgs/by-name/hy/hyprlock/package.nix index ac691786cd1f..7a744ea14456 100644 --- a/pkgs/by-name/hy/hyprlock/package.nix +++ b/pkgs/by-name/hy/hyprlock/package.nix @@ -9,6 +9,8 @@ hyprlang, hyprutils, pam, + sdbus-cpp_2, + systemdLibs, wayland, wayland-protocols, wayland-scanner, @@ -24,13 +26,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "hyprlock"; - version = "0.4.1"; + version = "0.5.0"; src = fetchFromGitHub { owner = "hyprwm"; repo = "hyprlock"; rev = "v${finalAttrs.version}"; - hash = "sha256-w+AyYuqlZ/uWEimiptlHjtDFECm/JlUOD2ciCw8/+/8="; + hash = "sha256-sUIsjWpZLplSJXWyJcDZdvDweksXLH5r9GSkwg0kgBw="; }; strictDeps = true; @@ -54,6 +56,8 @@ stdenv.mkDerivation (finalAttrs: { mesa pam pango + sdbus-cpp_2 + systemdLibs wayland wayland-protocols ]; diff --git a/pkgs/by-name/im/immich-go/package.nix b/pkgs/by-name/im/immich-go/package.nix index a68b155a6a21..9e996b621a78 100644 --- a/pkgs/by-name/im/immich-go/package.nix +++ b/pkgs/by-name/im/immich-go/package.nix @@ -1,13 +1,13 @@ { lib, buildGoModule, fetchFromGitHub, nix-update-script, testers, immich-go }: buildGoModule rec { pname = "immich-go"; - version = "0.22.0"; + version = "0.22.1"; src = fetchFromGitHub { owner = "simulot"; repo = "immich-go"; rev = "${version}"; - hash = "sha256-dSyVn7CQqZ/tCxF/Yl12eubWkZrV5FM8uRexCjZILbw="; + hash = "sha256-6bLjHKkEghbY+UQFrgbfeHwOjtks1HjXbDXEr7DuJbU="; # Inspired by: https://github.com/NixOS/nixpkgs/blob/f2d7a289c5a5ece8521dd082b81ac7e4a57c2c5c/pkgs/applications/graphics/pdfcpu/default.nix#L20-L32 # The intention here is to write the information into files in the `src`'s diff --git a/pkgs/by-name/mi/mixxc/package.nix b/pkgs/by-name/mi/mixxc/package.nix index c8699987f4b9..2f686571d802 100644 --- a/pkgs/by-name/mi/mixxc/package.nix +++ b/pkgs/by-name/mi/mixxc/package.nix @@ -16,15 +16,15 @@ rustPlatform.buildRustPackage rec { pname = "mixxc"; - version = "0.2.2"; + version = "0.2.3"; src = fetchCrate { pname = "mixxc"; inherit version; - hash = "sha256-Y/9l8t6Vz7yq9T1AyoHnWmIcju1rfcV0S74hiK1fEjo="; + hash = "sha256-d/bMDqDR+sBtsI3ToCcByDxqd+aE6rDPRvGBcodU6iA="; }; - cargoHash = "sha256-l9inqqUiLObrqd/8pNobwBbLaiPJD39YK/38CWfDh+Q="; + cargoHash = "sha256-RoVqQaSlIvAb8mWJNOyALjCHejFEfxjJADQfHZ5EiOs="; cargoBuildFlags = [ "--locked" ]; diff --git a/pkgs/by-name/ne/nextcloud-whiteboard-server/package.nix b/pkgs/by-name/ne/nextcloud-whiteboard-server/package.nix new file mode 100644 index 000000000000..f8cf00516c22 --- /dev/null +++ b/pkgs/by-name/ne/nextcloud-whiteboard-server/package.nix @@ -0,0 +1,35 @@ +{ + lib, + buildNpmPackage, + fetchFromGitHub, + stdenv, + makeWrapper, + nodejs, +}: +buildNpmPackage rec { + pname = "nextcloud-whiteboard-server"; + version = "1.0.4"; + + src = fetchFromGitHub { + owner = "nextcloud"; + repo = "whiteboard"; + rev = "refs/tags/v${version}"; + hash = "sha256-27w8FZz9PbVdYV7yR5iRXi5edw7U/3bLVYfdRa8yPzo="; + }; + + npmDepsHash = "sha256-SwFQRDRo7Q8+0zYWx5szahJzDSoxkkJDPQ3qEdNLVaE="; + + nativeBuildInputs = [ makeWrapper ]; + + postInstall = '' + makeWrapper ${lib.getExe nodejs} "$out/bin/nextcloud-whiteboard-server" \ + --add-flags "$out/lib/node_modules/whiteboard/websocket_server/main.js" + ''; + + meta = { + description = "Backend server for the Nextcloud Whiteboard app"; + homepage = "https://apps.nextcloud.com/apps/whiteboard"; + license = lib.licenses.agpl3Plus; + maintainers = [ lib.maintainers.onny ]; + }; +} diff --git a/pkgs/by-name/pd/pdftitle/package.nix b/pkgs/by-name/pd/pdftitle/package.nix index 29bd775f6665..10504f4ad0e4 100644 --- a/pkgs/by-name/pd/pdftitle/package.nix +++ b/pkgs/by-name/pd/pdftitle/package.nix @@ -7,14 +7,14 @@ python3Packages.buildPythonApplication rec { pname = "pdftitle"; - version = "0.14"; + version = "0.15"; pyproject = true; src = fetchFromGitHub { owner = "metebalci"; repo = "pdftitle"; rev = "v${version}"; - hash = "sha256-7tIvvRlaKRC3/eRUS8F3d3qiJnCU0Z14Pj9E4v0X4+o="; + hash = "sha256-IEctzvNHlGYUMl3jfTVNinmfMviVQ9q15OZtRN1mhZc="; }; build-system = with python3Packages; [ diff --git a/pkgs/by-name/sp/spirit/package.nix b/pkgs/by-name/sp/spirit/package.nix index dff8f754b3f0..2d251ea39e6e 100644 --- a/pkgs/by-name/sp/spirit/package.nix +++ b/pkgs/by-name/sp/spirit/package.nix @@ -1,24 +1,28 @@ -{ lib -, buildGoModule -, fetchFromGitHub +{ + lib, + buildGoModule, + fetchFromGitHub, }: buildGoModule rec { pname = "spirit"; - version = "0.5.0"; + version = "0.6.0"; src = fetchFromGitHub { owner = "cashapp"; repo = "spirit"; rev = "v${version}-prerelease"; - hash = "sha256-e0Eu7BeOwZA8UKwonuuOde1idzaIMtprWya7nxgqyjs="; + hash = "sha256-mI4nO/yQdCrqxCDyOYQPQ905EVreYPEiupe+F4RjIqw="; }; vendorHash = "sha256-es1PGgLoE3DklnQziRjWmY7f6NNVd24L2JiuLkol6HI="; subPackages = [ "cmd/spirit" ]; - ldflags = [ "-s" "-w" ]; + ldflags = [ + "-s" + "-w" + ]; meta = with lib; { homepage = "https://github.com/cashapp/spirit"; diff --git a/pkgs/by-name/st/stalwart-mail/package.nix b/pkgs/by-name/st/stalwart-mail/package.nix index bb8a0859230a..28a2d452c96c 100644 --- a/pkgs/by-name/st/stalwart-mail/package.nix +++ b/pkgs/by-name/st/stalwart-mail/package.nix @@ -25,7 +25,7 @@ let # See upstream issue for rocksdb 9.X support # https://github.com/stalwartlabs/mail-server/issues/407 rocksdb = rocksdb_8_11; - version = "0.10.3"; + version = "0.10.5"; in rustPlatform.buildRustPackage { pname = "stalwart-mail"; @@ -35,11 +35,11 @@ rustPlatform.buildRustPackage { owner = "stalwartlabs"; repo = "mail-server"; rev = "refs/tags/v${version}"; - hash = "sha256-xpNSMZWWiFU6OOooAD7ENzOggqYHdU88baPsXnovpXU="; + hash = "sha256-MD9zAWeitP3cXxzR4znqL551AGFbOcRzhV3goY6l/iY="; fetchSubmodules = true; }; - cargoHash = "sha256-qiKfHrxQ4TSSomDLlPJ2+GOEri/ZuMCvUNdxRVoplgg="; + cargoHash = "sha256-ug49H6RWLlDdJNVW/BJcqNsG/NDNgWiqR8GiZ/HVrvY="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/te/tex-fmt/package.nix b/pkgs/by-name/te/tex-fmt/package.nix index 2a13821d7297..cad53fe14515 100644 --- a/pkgs/by-name/te/tex-fmt/package.nix +++ b/pkgs/by-name/te/tex-fmt/package.nix @@ -6,16 +6,16 @@ rustPlatform.buildRustPackage rec { pname = "tex-fmt"; - version = "0.4.4"; + version = "0.4.6"; src = fetchFromGitHub { owner = "WGUNDERWOOD"; repo = "tex-fmt"; rev = "refs/tags/v${version}"; - hash = "sha256-o8TlD0qxz/0sS45tnBNXYNDzp+VAhH3Ym1odSleD/uw="; + hash = "sha256-Ii/z9ZmsWCHxxqUbkcu7HRBuN2LiLCxzUvqRexwQ/Co="; }; - cargoHash = "sha256-N3kCeBisjeOAG45QPQhplGRAvj5kebEX4U9pisM/GUQ="; + cargoHash = "sha256-2vPxsXKInH18h/AoOWfl0VteUBmxWDzZa6AtpKfY5Hs="; meta = { description = "LaTeX formatter written in Rust"; diff --git a/pkgs/by-name/to/tootik/package.nix b/pkgs/by-name/to/tootik/package.nix index 1dc3a8db3c07..9a11200fb9a6 100644 --- a/pkgs/by-name/to/tootik/package.nix +++ b/pkgs/by-name/to/tootik/package.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "tootik"; - version = "0.11.4"; + version = "0.12.6"; src = fetchFromGitHub { owner = "dimkr"; repo = "tootik"; rev = version; - hash = "sha256-b4uSztroeOKPOyPwxVB3ofkAmDpWFstHDQX2IwQwG/4="; + hash = "sha256-v7+WDxGUWCrZMhm0TXMIZTQZTzHYNauX2LIOV3zz+9A="; }; - vendorHash = "sha256-B+SmzNLAXIjkUO1JGpD1eqa52Z1zOdPiG8urvLFXf88="; + vendorHash = "sha256-wmyaTZX181w4Kiiw1sZ4NeIDY63PwW+ayvtwrLSiF24="; nativeBuildInputs = [ openssl ]; diff --git a/pkgs/by-name/tr/tradingview/package.nix b/pkgs/by-name/tr/tradingview/package.nix index 506fb781ebd4..9c7fb11aa345 100644 --- a/pkgs/by-name/tr/tradingview/package.nix +++ b/pkgs/by-name/tr/tradingview/package.nix @@ -22,12 +22,12 @@ stdenv.mkDerivation (finalAttrs: { pname = "tradingview"; - version = "2.9.2"; - revision = "59"; + version = "2.9.3"; + revision = "60"; src = fetchurl { url = "https://api.snapcraft.io/api/v1/snaps/download/nJdITJ6ZJxdvfu8Ch7n5kH5P99ClzBYV_${finalAttrs.revision}.snap"; - hash = "sha256-qGQZKl8h23H8npdIBeVw3aCZPZiCfPsawzQxUY31Ujs="; + hash = "sha256-Oa3YfmXDiqKxEMJloTu6ihJ6LKoz2XwQ0su1KrlSaYo="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/tu/turbo-unwrapped/enable-lazy_cell.patch b/pkgs/by-name/tu/turbo-unwrapped/enable-lazy_cell.patch deleted file mode 100644 index c6e933687411..000000000000 --- a/pkgs/by-name/tu/turbo-unwrapped/enable-lazy_cell.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/crates/turborepo-lib/src/lib.rs b/crates/turborepo-lib/src/lib.rs -index e8d41933da..26b8c7c92f 100644 ---- a/crates/turborepo-lib/src/lib.rs -+++ b/crates/turborepo-lib/src/lib.rs -@@ -2,6 +2,7 @@ - #![feature(box_patterns)] - #![feature(error_generic_member_access)] - #![feature(hash_extract_if)] -+#![feature(lazy_cell)] - #![feature(option_get_or_insert_default)] - #![feature(once_cell_try)] - #![feature(panic_info_message)] diff --git a/pkgs/by-name/tu/turbo-unwrapped/package.nix b/pkgs/by-name/tu/turbo-unwrapped/package.nix index f9228f310cc1..d4c20bb38ba1 100644 --- a/pkgs/by-name/tu/turbo-unwrapped/package.nix +++ b/pkgs/by-name/tu/turbo-unwrapped/package.nix @@ -18,21 +18,16 @@ rustPlatform.buildRustPackage rec { pname = "turbo-unwrapped"; - version = "2.0.12"; + version = "2.2.3"; src = fetchFromGitHub { owner = "vercel"; repo = "turbo"; - rev = "v${version}"; - hash = "sha256-rh9BX8M3Kgu07Pz4G3AM6S9zeK3Bb6CzOpcYo7rQgIw="; + rev = "refs/tags/v${version}"; + hash = "sha256-MDvwitzZVPVjdIVEAV1aKMAVeLSTMM2owH5RSfVg+rU="; }; - patches = [ - # upstream uses nightly where lazy_cell is stable - ./enable-lazy_cell.patch - ]; - - cargoHash = "sha256-oZHSoPrPCUwXSrxEASm4LuYO+XHyNDRRl38Q7U7F/lk="; + cargoHash = "sha256-XBI/eiOyKk80ZDFLD2HCTFYRWvC7qtzQY/zFCmKdKSM="; nativeBuildInputs = [ diff --git a/pkgs/by-name/wh/whatsie/package.nix b/pkgs/by-name/wh/whatsie/package.nix index aad6ed2b4018..dde65d9f9fbc 100644 --- a/pkgs/by-name/wh/whatsie/package.nix +++ b/pkgs/by-name/wh/whatsie/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "whatsie"; - version = "4.16.0"; + version = "4.16.1"; src = fetchFromGitHub { owner = "keshavbhatt"; repo = "whatsie"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-+sbnpaR+pR5aKbGUIVM3yRpco7/jE9LkCbQKrgFDYwM="; + hash = "sha256-9G+2yYc5Lcmw5NvLnn7jVZ4Fw79L29KbhiE2CYh6SLM="; }; sourceRoot = "${finalAttrs.src.name}/src"; diff --git a/pkgs/applications/misc/xchm/default.nix b/pkgs/by-name/xc/xchm/package.nix similarity index 90% rename from pkgs/applications/misc/xchm/default.nix rename to pkgs/by-name/xc/xchm/package.nix index 33f8978820e6..fe94ac94ba41 100644 --- a/pkgs/applications/misc/xchm/default.nix +++ b/pkgs/by-name/xc/xchm/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "xchm"; - version = "1.36"; + version = "1.37"; src = fetchFromGitHub { owner = "rzvncj"; repo = "xCHM"; rev = version; - sha256 = "sha256-+RbFE/jOD8sofHMCFgTIfgokrXYqDbCSSnN6SdEZ/b0="; + sha256 = "sha256-UMn8ds4nheuYSu0PesxdGoyxyn5AcKq9WByeRUxxx3k="; }; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/libjodycode/default.nix b/pkgs/development/libraries/libjodycode/default.nix index 28a564c9bc91..acac78266f88 100644 --- a/pkgs/development/libraries/libjodycode/default.nix +++ b/pkgs/development/libraries/libjodycode/default.nix @@ -37,6 +37,7 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://codeberg.org/jbruchon/libjodycode"; changelog = "https://codeberg.org/jbruchon/libjodycode/src/branch/master/CHANGES.txt"; license = lib.licenses.mit; + platforms = lib.platforms.all; maintainers = with lib.maintainers; [ pbsds ]; }; }) diff --git a/pkgs/development/libraries/sdbus-cpp/default.nix b/pkgs/development/libraries/sdbus-cpp/default.nix index 16e9b4772659..94f56bd914f4 100644 --- a/pkgs/development/libraries/sdbus-cpp/default.nix +++ b/pkgs/development/libraries/sdbus-cpp/default.nix @@ -1,53 +1,71 @@ -{ lib -, stdenv -, fetchFromGitHub -, cmake -, expat -, pkg-config -, systemd +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + expat, + pkg-config, + systemdLibs, }: +let + generic = + { + version, + rev ? "v${version}", + hash, + }: + stdenv.mkDerivation (finalAttrs: { + pname = "sdbus-cpp"; + inherit version; -stdenv.mkDerivation rec { - pname = "sdbus-cpp"; - version = "1.5.0"; + src = fetchFromGitHub { + owner = "kistler-group"; + repo = "sdbus-cpp"; + inherit rev hash; + }; - src = fetchFromGitHub { - owner = "kistler-group"; - repo = "sdbus-cpp"; - rev = "v${version}"; + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + expat + systemdLibs + ]; + + cmakeFlags = [ + (lib.cmakeBool "BUILD_CODE_GEN" true) + ]; + + meta = { + homepage = "https://github.com/Kistler-Group/sdbus-cpp"; + changelog = "https://github.com/Kistler-Group/sdbus-cpp/blob/v${version}/ChangeLog"; + description = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API"; + longDescription = '' + sdbus-c++ is a high-level C++ D-Bus library for Linux designed to provide + expressive, easy-to-use API in modern C++. + It adds another layer of abstraction on top of sd-bus, a nice, fresh C + D-Bus implementation by systemd. + It's been written primarily as a replacement of dbus-c++, which currently + suffers from a number of (unresolved) bugs, concurrency issues and + inherent design complexities and limitations. + ''; + license = lib.licenses.lgpl2Only; + maintainers = [ ]; + platforms = lib.platforms.linux; + mainProgram = "sdbus-c++-xml2cpp"; + }; + }); +in +{ + sdbus-cpp = generic { + version = "1.5.0"; hash = "sha256-oO8QNffwNI245AEPdutOGqxj4qyusZYK3bZWLh2Lcag="; }; - nativeBuildInputs = [ - cmake - pkg-config - ]; - - buildInputs = [ - expat - systemd - ]; - - cmakeFlags = [ - "-DBUILD_CODE_GEN=ON" - ]; - - meta = { - homepage = "https://github.com/Kistler-Group/sdbus-cpp"; - changelog = "https://github.com/Kistler-Group/sdbus-cpp/blob/v${version}/ChangeLog"; - description = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API"; - longDescription = '' - sdbus-c++ is a high-level C++ D-Bus library for Linux designed to provide - expressive, easy-to-use API in modern C++. - It adds another layer of abstraction on top of sd-bus, a nice, fresh C - D-Bus implementation by systemd. - It's been written primarily as a replacement of dbus-c++, which currently - suffers from a number of (unresolved) bugs, concurrency issues and - inherent design complexities and limitations. - ''; - license = lib.licenses.lgpl2Only; - maintainers = [ ]; - platforms = lib.platforms.linux; - mainProgram = "sdbus-c++-xml2cpp"; + sdbus-cpp_2 = generic { + version = "2.0.0"; + hash = "sha256-W8V5FRhV3jtERMFrZ4gf30OpIQLYoj2yYGpnYOmH2+g="; }; } diff --git a/pkgs/development/python-modules/cryptg/default.nix b/pkgs/development/python-modules/cryptg/default.nix index c038eb46668a..11492f912a75 100644 --- a/pkgs/development/python-modules/cryptg/default.nix +++ b/pkgs/development/python-modules/cryptg/default.nix @@ -7,14 +7,15 @@ cargo, rustPlatform, rustc, + setuptools, setuptools-rust, libiconv, }: buildPythonPackage rec { pname = "cryptg"; - version = "0.4"; - format = "setuptools"; + version = "0.5"; + pyproject = true; disabled = pythonOlder "3.7"; @@ -22,16 +23,20 @@ buildPythonPackage rec { owner = "cher-nov"; repo = pname; rev = "v${version}"; - hash = "sha256-2HP1mKGPr8wOL5B0APJks3EVBicX2iMFI7vLJGTa1PM="; + hash = "sha256-uJfMetplTyRT95P/8ljz4H4ASYMXEM7jROWSpjftKjU="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; - hash = "sha256-AqSVFOB9Lfvk9h3GtoYlEOXBEt7YZYLhCDNKM9upQ2U="; + hash = "sha256-HDMztt7/ZpPlpy0IMGuWGGo4vwKhraFTmTTPr9tC+Ok="; }; - nativeBuildInputs = [ + build-system = [ + setuptools setuptools-rust + ]; + + nativeBuildInputs = [ rustPlatform.cargoSetupHook rustc cargo @@ -44,6 +49,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "cryptg" ]; + postPatch = '' + substituteInPlace pyproject.toml --replace-fail "setuptools[core]" "setuptools" + ''; + meta = with lib; { description = "Official Telethon extension to provide much faster cryptography for Telegram API requests"; homepage = "https://github.com/cher-nov/cryptg"; diff --git a/pkgs/development/python-modules/djangorestframework-csv/default.nix b/pkgs/development/python-modules/djangorestframework-csv/default.nix new file mode 100644 index 000000000000..a7aa1abbd6f8 --- /dev/null +++ b/pkgs/development/python-modules/djangorestframework-csv/default.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + django, + pythonOlder, + djangorestframework, + pytestCheckHook, + pytest-django, + python, +}: + +buildPythonPackage rec { + pname = "djangorestframework-csv"; + version = "3.0.2"; + format = "setuptools"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "mjumbewu"; + repo = "django-rest-framework-csv"; + rev = "refs/tags/${version}"; + hash = "sha256-XtMkSucB7+foRpTaRfGF1Co0n3ONNGyzex6MXR4xM5c="; + }; + + dependencies = [ + django + djangorestframework + ]; + + checkInputs = [ + pytestCheckHook + pytest-django + ]; + + checkPhase = '' + runHook preCheck + ${python.interpreter} manage.py test + runHook postCheck + ''; + + pythonImportsCheck = [ "rest_framework_csv" ]; + + meta = { + description = "CSV Tools for Django REST Framework"; + homepage = "https://github.com/mjumbewu/django-rest-framework-csv"; + changelog = "https://github.com/mjumbewu/django-rest-framework-csv/releases/tag/${version}"; + license = lib.licenses.bsd2; + maintainers = [ lib.maintainers.onny ]; + }; +} diff --git a/pkgs/development/python-modules/gcal-sync/default.nix b/pkgs/development/python-modules/gcal-sync/default.nix index 841be6b86865..07b255e804fc 100644 --- a/pkgs/development/python-modules/gcal-sync/default.nix +++ b/pkgs/development/python-modules/gcal-sync/default.nix @@ -15,7 +15,7 @@ buildPythonPackage rec { pname = "gcal-sync"; - version = "6.1.6"; + version = "6.2.0"; pyproject = true; disabled = pythonOlder "3.10"; @@ -24,7 +24,7 @@ buildPythonPackage rec { owner = "allenporter"; repo = "gcal_sync"; rev = "refs/tags/${version}"; - hash = "sha256-dVpPq2TJsR+0VWfup2SNLsnBP2j/HUQsoxJebNkD8Sw="; + hash = "sha256-424PRKjQnpb6fH+iSAqkoOhlvugW7W3wjUxCHTc/A20="; }; nativeBuildInputs = [ setuptools ]; diff --git a/pkgs/development/python-modules/jupyter-console/default.nix b/pkgs/development/python-modules/jupyter-console/default.nix index 5ae844ad91ed..e699d4d25187 100644 --- a/pkgs/development/python-modules/jupyter-console/default.nix +++ b/pkgs/development/python-modules/jupyter-console/default.nix @@ -1,11 +1,13 @@ { lib, buildPythonPackage, - fetchPypi, - pythonOlder, + fetchFromGitHub, + + # build-system hatchling, + + # dependencies ipykernel, - exceptiongroup, ipython, jupyter-client, jupyter-core, @@ -13,6 +15,8 @@ pygments, pyzmq, traitlets, + + # tests flaky, pexpect, pytestCheckHook, @@ -21,27 +25,29 @@ buildPythonPackage rec { pname = "jupyter-console"; version = "6.6.3"; - format = "pyproject"; + pyproject = true; - disabled = pythonOlder "3.7"; - - src = fetchPypi { - pname = "jupyter_console"; - inherit version; - hash = "sha256-VmpL8xyHrb+t8izfhG4wabWace1dpx1rpNiqrRSlNTk="; + src = fetchFromGitHub { + owner = "jupyter"; + repo = "jupyter_console"; + rev = "refs/tags/v${version}"; + hash = "sha256-jdSeZCspcjEQVBpJyxVnwJ5SAq+SS1bW9kqp/F/zwCQ="; }; - nativeBuildInputs = [ hatchling ]; + postPatch = + # Use wrapped executable in tests + let + binPath = "${placeholder "out"}/bin/jupyter-console"; + in + '' + substituteInPlace jupyter_console/tests/test_console.py \ + --replace-fail "'-m', 'jupyter_console', " "" \ + --replace-fail "sys.executable" "'${binPath}'" + ''; - postPatch = '' - # use wrapped executable in tests - substituteInPlace jupyter_console/tests/test_console.py \ - --replace "args = ['-m', 'jupyter_console', '--colors=NoColor']" "args = ['--colors=NoColor']" \ - --replace "cmd = sys.executable" "cmd = '${placeholder "out"}/bin/jupyter-console'" \ - --replace "check_output([sys.executable, '-m', 'jupyter_console'," "check_output(['${placeholder "out"}/bin/jupyter-console'," - ''; + build-system = [ hatchling ]; - propagatedBuildInputs = [ + dependencies = [ ipykernel ipython jupyter-client @@ -50,7 +56,7 @@ buildPythonPackage rec { pygments pyzmq traitlets - ] ++ lib.optionals (pythonOlder "3.11") [ exceptiongroup ]; + ]; pythonImportsCheck = [ "jupyter_console" ]; @@ -64,6 +70,14 @@ buildPythonPackage rec { export HOME=$TMPDIR ''; + disabledTests = [ + # Flaky: pexpect.exceptions.TIMEOUT: Timeout exceeded + "test_console_starts" + "test_display_text" + ]; + + __darwinAllowLocalNetworking = true; + meta = { description = "Jupyter terminal console"; mainProgram = "jupyter-console"; diff --git a/pkgs/development/python-modules/nebula3-python/default.nix b/pkgs/development/python-modules/nebula3-python/default.nix index c746e8c52180..3f208bd9f359 100644 --- a/pkgs/development/python-modules/nebula3-python/default.nix +++ b/pkgs/development/python-modules/nebula3-python/default.nix @@ -14,7 +14,7 @@ buildPythonPackage rec { pname = "nebula3-python"; - version = "3.8.2"; + version = "3.8.3"; pyproject = true; disabled = pythonOlder "3.8"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "vesoft-inc"; repo = "nebula-python"; rev = "refs/tags/v${version}"; - hash = "sha256-XwrrT5Vuwqw57u3Xt9nS4NjmFG2VD62gWSVfeek2478="; + hash = "sha256-p2dXpcOwVKbdfRKKTAc4LhaNuTjvPd8BBBI8aUivaZ4="; }; build-system = [ pdm-backend ]; diff --git a/pkgs/development/python-modules/pesq/default.nix b/pkgs/development/python-modules/pesq/default.nix new file mode 100644 index 000000000000..d8111f3a4531 --- /dev/null +++ b/pkgs/development/python-modules/pesq/default.nix @@ -0,0 +1,77 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + cython, + numpy, + setuptools, + + # tests + pytestCheckHook, + scipy, +}: + +buildPythonPackage rec { + pname = "pesq"; + version = "0.0.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "ludlows"; + repo = "PESQ"; + rev = "refs/tags/v${version}"; + hash = "sha256-JuwZ+trFKGMetS3cC3pEQsV+wbj6+klFnC3THOd8bPE="; + }; + + postPatch = + # pythonRemoveDeps does not work for removing pytest-runner + '' + substituteInPlace setup.py \ + --replace-fail ", 'pytest-runner'" "" + '' + # Flaky tests: numerical equality is not satisfied on ARM platforms + + '' + substituteInPlace tests/test_pesq.py \ + --replace-fail \ + "assert score == 1.6072081327438354" \ + "assert abs(score - 1.6072081327438354) < 1e-5" \ + --replace-fail \ + "assert score == [1.6072081327438354]" \ + "assert np.allclose(np.array(score), np.array([1.6072081327438354]))" + ''; + + build-system = [ + cython + setuptools + numpy + ]; + + dependencies = [ + numpy + ]; + + pythonImportsCheck = [ + "pesq" + "pesq.cypesq" + ]; + + # Prevents importing the `pesq` module from the source files (which lack the cypesq extension) + preCheck = '' + rm -rf pesq + ''; + + nativeCheckInputs = [ + pytestCheckHook + scipy + ]; + + meta = { + description = "PESQ (Perceptual Evaluation of Speech Quality) Wrapper for Python Users"; + homepage = "https://github.com/ludlows/PESQ"; + changelog = "https://github.com/ludlows/PESQ/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/development/python-modules/pyvlx/default.nix b/pkgs/development/python-modules/pyvlx/default.nix index 65c469091eea..73973a6ad989 100644 --- a/pkgs/development/python-modules/pyvlx/default.nix +++ b/pkgs/development/python-modules/pyvlx/default.nix @@ -13,21 +13,21 @@ buildPythonPackage rec { pname = "pyvlx"; - version = "0.2.23"; + version = "0.2.25"; pyproject = true; - disabled = pythonOlder "3.10"; + disabled = pythonOlder "3.11"; src = fetchFromGitHub { owner = "Julius2342"; repo = "pyvlx"; rev = "refs/tags/${version}"; - hash = "sha256-J+oJQHsULrJQNdZqYsl2hufNubMwV1KtG10jZH0jbU4="; + hash = "sha256-c0HlmqLvpIn2GXorOArBKJ0YzvWz1spmhWwm6Gow2iU="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ pyyaml typing-extensions zeroconf @@ -45,7 +45,7 @@ buildPythonPackage rec { ''; homepage = "https://github.com/Julius2342/pyvlx"; changelog = "https://github.com/Julius2342/pyvlx/releases/tag/${version}"; - license = with licenses; [ lgpl2Only ]; + license = licenses.lgpl2Only; maintainers = with maintainers; [ fab ]; broken = stdenv.hostPlatform.isDarwin; }; diff --git a/pkgs/development/python-modules/survey/default.nix b/pkgs/development/python-modules/survey/default.nix index f0ff72b8b785..2e264d7756f0 100644 --- a/pkgs/development/python-modules/survey/default.nix +++ b/pkgs/development/python-modules/survey/default.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "survey"; - version = "5.4.0"; + version = "5.4.2"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-JT0tcNBReNdfbZrwSgv0OFcBz9Hp1N5JF4nP9oXfTJs="; + hash = "sha256-4vnjtSbw2y/o+fSWDl/CqTEZkl0jULGOLURdZ0BpKvY="; }; build-system = [ diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix index b6092e2138e6..730156a52731 100644 --- a/pkgs/development/python-modules/trimesh/default.nix +++ b/pkgs/development/python-modules/trimesh/default.nix @@ -11,14 +11,14 @@ buildPythonPackage rec { pname = "trimesh"; - version = "4.5.0"; + version = "4.5.1"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-/EnZ+8KeJQF3daAk5d+A9iXJ3dv5gs4+pdNEUHCVBCU="; + hash = "sha256-LoUXn9vuHocqoA1CpbKGBaBTApaIV6gyGk36Q5ByWxw="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix index a053c5313997..1be46ecf5656 100644 --- a/pkgs/development/python-modules/xiaomi-ble/default.nix +++ b/pkgs/development/python-modules/xiaomi-ble/default.nix @@ -1,13 +1,14 @@ { lib, - bleak, bleak-retry-connector, + bleak, bluetooth-data-tools, bluetooth-sensor-state-data, buildPythonPackage, cryptography, fetchFromGitHub, home-assistant-bluetooth, + orjson, poetry-core, pycryptodomex, pytestCheckHook, @@ -17,7 +18,7 @@ buildPythonPackage rec { pname = "xiaomi-ble"; - version = "0.32.0"; + version = "0.33.0"; pyproject = true; disabled = pythonOlder "3.9"; @@ -26,7 +27,7 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = "xiaomi-ble"; rev = "refs/tags/v${version}"; - hash = "sha256-dZJsB40BMPo0tOFq0vLILrwfezf5dnspFK/aZWOV4uc="; + hash = "sha256-7/4Ea8IiRPxhgMiazSylYZAmznqIula2yCEUAyIHBBg="; }; postPatch = '' @@ -46,6 +47,7 @@ buildPythonPackage rec { bluetooth-sensor-state-data cryptography home-assistant-bluetooth + orjson pycryptodomex sensor-state-data ]; diff --git a/pkgs/development/tools/allure/default.nix b/pkgs/development/tools/allure/default.nix index 2db5d880138f..9fc8d9bc2858 100644 --- a/pkgs/development/tools/allure/default.nix +++ b/pkgs/development/tools/allure/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "allure"; - version = "2.30.0"; + version = "2.31.0"; src = fetchurl { url = "https://github.com/allure-framework/allure2/releases/download/${finalAttrs.version}/allure-${finalAttrs.version}.tgz"; - hash = "sha256-jYdinK7it2MDwrWZmxPHR5YqZhhVIo2vMZDCX38+igU="; + hash = "sha256-rhuIf+lwxw55SscOmtCsbrcIdjpTTM9joQbMbx8G0Uw="; }; dontConfigure = true; diff --git a/pkgs/development/tools/misc/rustywind/default.nix b/pkgs/development/tools/misc/rustywind/default.nix index 12d3e2aa7f4c..98ae24be7fb3 100644 --- a/pkgs/development/tools/misc/rustywind/default.nix +++ b/pkgs/development/tools/misc/rustywind/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "rustywind"; - version = "0.22.0"; + version = "0.23.1"; src = fetchFromGitHub { owner = "avencera"; repo = "rustywind"; rev = "v${version}"; - hash = "sha256-dK8tO7rIsu1zVmA2reduBe8vM6L6oesig1tE+ajGSXM="; + hash = "sha256-NRIWjmKjteJibqnOjkkUY9eKIM65H7NaRX8rn1MdXmY="; }; - cargoHash = "sha256-yZQSY2zqVpmhMd6+Avg2vBh0WQB2FJ2fiMuy5x9Zl9U="; + cargoHash = "sha256-yUODUAhWtRGCj3U9nBlw3+5dNv6vGHXmJzUd8hGKnu0="; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security diff --git a/pkgs/development/web/bun/default.nix b/pkgs/development/web/bun/default.nix index 8e5250b5e1ef..67f147950d36 100644 --- a/pkgs/development/web/bun/default.nix +++ b/pkgs/development/web/bun/default.nix @@ -12,7 +12,7 @@ }: stdenvNoCC.mkDerivation rec { - version = "1.1.29"; + version = "1.1.31"; pname = "bun"; src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); @@ -51,19 +51,19 @@ stdenvNoCC.mkDerivation rec { sources = { "aarch64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip"; - hash = "sha256-RSMuealmdHe7qGFwhK9e51TED3PaCwSqzd4aj2RKMxE="; + hash = "sha256-dOQFfkxCiOFmAr11CjSdSKNpiLERkbVWawAuy8ASkJE="; }; "aarch64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip"; - hash = "sha256-gY+MDJqDjQamxQsk/CJJVuHsBAfwgrebs/h6nI0HV78="; + hash = "sha256-ZuU14GvAtf1n1sA8amtZUSGp5iJ5qp/SI2wrw4Gwe/4="; }; "x86_64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64-baseline.zip"; - hash = "sha256-j5jpgofGcfjto/3CtBsC4QV411lUGdk2wHwLGmLduo4="; + hash = "sha256-qN8ciVHzHH8GgR89GDgfvteMV+YawMUQLiXNwYyN+wU="; }; "x86_64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip"; - hash = "sha256-RnKczYB/IkUYVBnRktCFhHsmvObQovVMfCilqJq3q1g="; + hash = "sha256-zHitG4Ktt+iCKk9GrC3C4MRSWhUxh89kW9bUeHzqNJs="; }; }; updateScript = writeShellScript "update-bun" '' diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix deleted file mode 100644 index 8dd35b1e4b63..000000000000 --- a/pkgs/games/factorio/default.nix +++ /dev/null @@ -1,280 +0,0 @@ -{ lib -, alsa-lib -, factorio-utils -, fetchurl -, libGL -, libICE -, libSM -, libX11 -, libXcursor -, libXext -, libXi -, libXinerama -, libXrandr -, libpulseaudio -, libxkbcommon -, makeDesktopItem -, makeWrapper -, releaseType -, stdenv -, wayland - -, mods-dat ? null -, versionsJson ? ./versions.json -, username ? "" -, token ? "" # get/reset token at https://factorio.com/profile -, experimental ? false # true means to always use the latest branch -, ... -} @ args: - -assert releaseType == "alpha" - || releaseType == "headless" - || releaseType == "demo" - || releaseType == "expansion"; - -let - - inherit (lib) importJSON; - - mods = args.mods or [ ]; - - helpMsg = '' - - ===FETCH FAILED=== - Please ensure you have set the username and token with config.nix, or - /etc/nix/nixpkgs-config.nix if on NixOS. - - Your token can be seen at https://factorio.com/profile (after logging in). It is - not as sensitive as your password, but should still be safeguarded. There is a - link on that page to revoke/invalidate the token, if you believe it has been - leaked or wish to take precautions. - - Example: - { - packageOverrides = pkgs: { - factorio = pkgs.factorio.override { - username = "FactorioPlayer1654"; - token = "d5ad5a8971267c895c0da598688761"; - }; - }; - } - - Alternatively, instead of providing the username+token, you may manually - download the release through https://factorio.com/download , then add it to - the store using e.g.: - - releaseType=alpha - version=0.17.74 - nix-prefetch-url file://\''$HOME/Downloads/factorio_\''${releaseType}_x64_\''${version}.tar.xz --name factorio_\''${releaseType}_x64-\''${version}.tar.xz - - Note the ultimate "_" is replaced with "-" in the --name arg! - ''; - - desktopItem = makeDesktopItem { - name = "factorio"; - desktopName = "Factorio"; - comment = "A game in which you build and maintain factories."; - exec = "factorio"; - icon = "factorio"; - categories = [ "Game" ]; - }; - - branch = if experimental then "experimental" else "stable"; - - # NB `experimental` directs us to take the latest build, regardless of its branch; - # hence the (stable, experimental) pairs may sometimes refer to the same distributable. - versions = importJSON versionsJson; - binDists = makeBinDists versions; - - actual = binDists.${stdenv.hostPlatform.system}.${releaseType}.${branch} or (throw "Factorio ${releaseType}-${branch} binaries for ${stdenv.hostPlatform.system} are not available for download."); - - makeBinDists = versions: - let - f = path: name: value: - if builtins.isAttrs value then - if value ? "name" then - makeBinDist value - else - builtins.mapAttrs (f (path ++ [ name ])) value - else - throw "expected attrset at ${toString path} - got ${toString value}"; - in - builtins.mapAttrs (f [ ]) versions; - makeBinDist = { name, version, tarDirectory, url, sha256, needsAuth }: { - inherit version tarDirectory; - src = - if !needsAuth then - fetchurl { inherit name url sha256; } - else - (lib.overrideDerivation - (fetchurl { - inherit name url sha256; - curlOptsList = [ - "--get" - "--data-urlencode" - "username@username" - "--data-urlencode" - "token@token" - ]; - }) - (_: { - # This preHook hides the credentials from /proc - preHook = - if username != "" && token != "" then '' - echo -n "${username}" >username - echo -n "${token}" >token - '' else '' - # Deliberately failing since username/token was not provided, so we can't fetch. - # We can't use builtins.throw since we want the result to be used if the tar is in the store already. - exit 1 - ''; - failureHook = '' - cat < str: - if FLAGS.out: - return FLAGS.out - try_paths = ["pkgs/games/factorio/versions.json", "versions.json"] - for path in try_paths: - if os.path.exists(path): - return path - raise Exception("Couldn't figure out where to write versions.json; try specifying --out") - - -def fetch_versions() -> FactorioVersionsJSON: - return json.loads(requests.get("https://factorio.com/api/latest-releases").text) - - -def generate_our_versions(factorio_versions: FactorioVersionsJSON) -> OurVersionJSON: - rec_dd = lambda: defaultdict(rec_dd) - output = rec_dd() - - # Deal with times where there's no experimental version - for rc in RELEASE_CHANNELS: - if not factorio_versions[rc.name]: - factorio_versions[rc.name] = factorio_versions['stable'] - - for system in SYSTEMS: - for release_type in RELEASE_TYPES: - for release_channel in RELEASE_CHANNELS: - version = factorio_versions[release_channel.name].get(release_type.name) - if version == None: - continue - this_release = { - "name": f"factorio_{release_type.name}_{system.tar_name}-{version}.tar.xz", - "url": f"https://factorio.com/get-download/{version}/{release_type.name}/{system.url_name}", - "version": version, - "needsAuth": release_type.needs_auth, - "tarDirectory": system.tar_name, - } - output[system.nix_name][release_type.name][release_channel.name] = this_release - return output - - -def iter_version(versions: OurVersionJSON, it: Callable[[str, str, str, Dict[str, str]], Dict[str, str]]) -> OurVersionJSON: - versions = copy.deepcopy(versions) - for system_name, system in versions.items(): - for release_type_name, release_type in system.items(): - for release_channel_name, release in release_type.items(): - release_type[release_channel_name] = it(system_name, release_type_name, release_channel_name, dict(release)) - return versions - - -def merge_versions(old: OurVersionJSON, new: OurVersionJSON) -> OurVersionJSON: - """Copies already-known hashes from version.json to avoid having to re-fetch.""" - def _merge_version(system_name: str, release_type_name: str, release_channel_name: str, release: Dict[str, str]) -> Dict[str, str]: - old_system = old.get(system_name, {}) - old_release_type = old_system.get(release_type_name, {}) - old_release = old_release_type.get(release_channel_name, {}) - if FLAGS.release_type and release_type_name not in FLAGS.release_type: - logging.info("%s/%s/%s: not in --release_type, not updating", system_name, release_type_name, release_channel_name) - return old_release - if FLAGS.release_channel and release_channel_name not in FLAGS.release_channel: - logging.info("%s/%s/%s: not in --release_channel, not updating", system_name, release_type_name, release_channel_name) - return old_release - if not "sha256" in old_release: - logging.info("%s/%s/%s: not copying sha256 since it's missing", system_name, release_type_name, release_channel_name) - return release - if not all(old_release.get(k, None) == release[k] for k in ['name', 'version', 'url']): - logging.info("%s/%s/%s: not copying sha256 due to mismatch", system_name, release_type_name, release_channel_name) - return release - release["sha256"] = old_release["sha256"] - return release - return iter_version(new, _merge_version) - - -def nix_prefetch_url(name: str, url: str, algo: str = 'sha256') -> str: - cmd = ['nix-prefetch-url', '--type', algo, '--name', name, url] - logging.info('running %s', cmd) - out = subprocess.check_output(cmd) - return out.decode('utf-8').strip() - - -def fill_in_hash(versions: OurVersionJSON) -> OurVersionJSON: - """Fill in sha256 hashes for anything missing them.""" - urls_to_hash = {} - def _fill_in_hash(system_name: str, release_type_name: str, release_channel_name: str, release: Dict[str, str]) -> Dict[str, str]: - if "sha256" in release: - logging.info("%s/%s/%s: skipping fetch, sha256 already present", system_name, release_type_name, release_channel_name) - return release - url = release["url"] - if url in urls_to_hash: - logging.info("%s/%s/%s: found url %s in cache", system_name, release_type_name, release_channel_name, url) - release["sha256"] = urls_to_hash[url] - return release - logging.info("%s/%s/%s: fetching %s", system_name, release_type_name, release_channel_name, url) - if release["needsAuth"]: - if not FLAGS.username or not FLAGS.token: - raise Exception("fetching %s/%s/%s from %s requires --username and --token" % (system_name, release_type_name, release_channel_name, url)) - url += f"?username={FLAGS.username}&token={FLAGS.token}" - release["sha256"] = nix_prefetch_url(release["name"], url) - urls_to_hash[url] = release["sha256"] - return release - return iter_version(versions, _fill_in_hash) - - -def main(argv): - factorio_versions = fetch_versions() - new_our_versions = generate_our_versions(factorio_versions) - old_our_versions = None - our_versions_path = find_versions_json() - if our_versions_path: - logging.info('Loading old versions.json from %s', our_versions_path) - with open(our_versions_path, 'r') as f: - old_our_versions = json.load(f) - if old_our_versions: - logging.info('Merging in old hashes') - new_our_versions = merge_versions(old_our_versions, new_our_versions) - logging.info('Fetching necessary tars to get hashes') - new_our_versions = fill_in_hash(new_our_versions) - with open(our_versions_path, 'w') as f: - logging.info('Writing versions.json to %s', our_versions_path) - json.dump(new_our_versions, f, sort_keys=True, indent=2) - f.write("\n") - -if __name__ == '__main__': - app.run(main) diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json deleted file mode 100644 index 63ea8becf28f..000000000000 --- a/pkgs/games/factorio/versions.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "x86_64-linux": { - "alpha": { - "experimental": { - "name": "factorio_alpha_x64-2.0.8.tar.xz", - "needsAuth": true, - "sha256": "11g1fgfm0lki9j2jsfmvlxzisbyx7482ia2qf7gnjcqhp6jkdsll", - "tarDirectory": "x64", - "url": "https://factorio.com/get-download/2.0.8/alpha/linux64", - "version": "2.0.8" - }, - "stable": { - "name": "factorio_alpha_x64-2.0.8.tar.xz", - "needsAuth": true, - "sha256": "11g1fgfm0lki9j2jsfmvlxzisbyx7482ia2qf7gnjcqhp6jkdsll", - "tarDirectory": "x64", - "url": "https://factorio.com/get-download/2.0.8/alpha/linux64", - "version": "2.0.8" - } - }, - "demo": { - "experimental": { - "name": "factorio_demo_x64-1.1.110.tar.xz", - "needsAuth": false, - "sha256": "0dasxgrybl00vrabgrlarsvg0hdg5rvn3y4hsljhqc4zpbf93nxx", - "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.110/demo/linux64", - "version": "1.1.110" - }, - "stable": { - "name": "factorio_demo_x64-1.1.110.tar.xz", - "needsAuth": false, - "sha256": "0dasxgrybl00vrabgrlarsvg0hdg5rvn3y4hsljhqc4zpbf93nxx", - "tarDirectory": "x64", - "url": "https://factorio.com/get-download/1.1.110/demo/linux64", - "version": "1.1.110" - } - }, - "expansion": { - "stable": { - "name": "factorio_expansion_x64-2.0.8.tar.xz", - "needsAuth": true, - "sha256": "0q3abb01ld1mlbp21lgzpa62j1gybs982yzan5j1axma9n1ax3j0", - "tarDirectory": "x64", - "url": "https://factorio.com/get-download/2.0.8/expansion/linux64", - "version": "2.0.8" - } - }, - "headless": { - "experimental": { - "name": "factorio_headless_x64-2.0.8.tar.xz", - "needsAuth": false, - "sha256": "1jp1vlc4indicgy0xnrxq87h32wcv9s4g2hqbfb4ygiaam6lqnfr", - "tarDirectory": "x64", - "url": "https://factorio.com/get-download/2.0.8/headless/linux64", - "version": "2.0.8" - }, - "stable": { - "name": "factorio_headless_x64-2.0.8.tar.xz", - "needsAuth": false, - "sha256": "1jp1vlc4indicgy0xnrxq87h32wcv9s4g2hqbfb4ygiaam6lqnfr", - "tarDirectory": "x64", - "url": "https://factorio.com/get-download/2.0.8/headless/linux64", - "version": "2.0.8" - } - } - } -} diff --git a/pkgs/os-specific/linux/vmware/default.nix b/pkgs/os-specific/linux/vmware/default.nix index d63e5247dc51..9269ec20d9d3 100644 --- a/pkgs/os-specific/linux/vmware/default.nix +++ b/pkgs/os-specific/linux/vmware/default.nix @@ -2,15 +2,15 @@ stdenv.mkDerivation rec { pname = "vmware-modules"; - version = "workstation-17.5.1-unstable-2024-01-12-${kernel.version}"; + version = "workstation-17.6.1-unstable-2024-10-12-${kernel.version}"; src = fetchFromGitHub { - owner = "mkubecek"; + owner = "philipl"; repo = "vmware-host-modules"; # Developer no longer provides tags for kernel compatibility fixes - # Commit hash for branch workstation-17.5.1 as of 2024-03-07 - rev = "2c6d66f3f1947384038b765c897b102ecdb18298"; - hash = "sha256-VKN6nxtgQqElVrSD5++UdngjZio4+vmetGCgTAfgtTs="; + # Commit hash for branch workstation-17.6.1 as of 2024-10-15 + rev = "3a7595bddb2239c2149d7f730a4b57c8bb120d99"; + hash = "sha256-YqRnym5bOZ2ApMegOAeiUNyhsEsF5g1TVALtkUz/v6E="; }; hardeningDisable = [ "pic" ]; diff --git a/pkgs/servers/nextcloud/packages/28.json b/pkgs/servers/nextcloud/packages/28.json index ef62ba34d4fb..aa86bf6ef42b 100644 --- a/pkgs/servers/nextcloud/packages/28.json +++ b/pkgs/servers/nextcloud/packages/28.json @@ -70,9 +70,9 @@ ] }, "forms": { - "hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=", - "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz", - "version": "4.3.1", + "hash": "sha256-iU2bqojO+pvMvKDiw+ANMvsH71Ul+8yQ+uNvJfa1ngc=", + "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.2/forms-v4.3.2.tar.gz", + "version": "4.3.2", "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **πŸ“ Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **πŸ“Š View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **πŸ”’ Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **πŸ§‘β€πŸ’» Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **πŸ™‹ Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!", "homepage": "https://github.com/nextcloud/forms", "licenses": [ @@ -90,9 +90,9 @@ ] }, "groupfolders": { - "hash": "sha256-PaDPYHUzkqY24Hzpi4e3DkvT32f+WYmx7WUNRevqIh8=", - "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v16.0.10/groupfolders-v16.0.10.tar.gz", - "version": "16.0.10", + "hash": "sha256-Plgmnp3fIzvHVcy8+wEmjNHegHqBeUtcbsRA/PHEAlc=", + "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v16.0.11/groupfolders-v16.0.11.tar.gz", + "version": "16.0.11", "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.", "homepage": "https://github.com/nextcloud/groupfolders", "licenses": [ @@ -130,9 +130,9 @@ ] }, "mail": { - "hash": "sha256-8xQglDlOudopTsEqvnlsOTwOU6eAt6argVSXDxJdWUA=", - "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.8/mail-v3.7.8.tar.gz", - "version": "3.7.8", + "hash": "sha256-Y591RR3m4k8G0+sNU+hRN013LikCFJ/41SbrILEfp8A=", + "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.9/mail-v3.7.9.tar.gz", + "version": "3.7.9", "description": "**πŸ’Œ A mail app for Nextcloud**\n\n- **πŸš€ Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **πŸ“₯ Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **πŸ”’ Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **πŸ™ˆ We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **πŸ“¬ Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟒/🟑/🟠/πŸ”΄\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/mail#readme", "licenses": [ @@ -250,9 +250,9 @@ ] }, "richdocuments": { - "hash": "sha256-nk5l9naHHBmpZe0oNzRNuYchbOl2asPgoRaM1vQ3CLc=", - "url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.3.11/richdocuments-v8.3.11.tar.gz", - "version": "8.3.11", + "hash": "sha256-MD6zuKfGdDeItmgO9NxJogUCgVS/8b5w/TZh9mPTQno=", + "url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.3.12/richdocuments-v8.3.12.tar.gz", + "version": "8.3.12", "description": "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", "homepage": "https://collaboraoffice.com/", "licenses": [ @@ -320,9 +320,9 @@ ] }, "user_oidc": { - "hash": "sha256-8e4xQjOWSVAps6dg4jvN3MGVSOhaOgjPHPpTOgXKFJY=", - "url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v6.0.1/user_oidc-v6.0.1.tar.gz", - "version": "6.0.1", + "hash": "sha256-tF68YonuCQ90XuZvZnS7NmJApk3P2741XhFjnyb7TSQ=", + "url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v6.1.0/user_oidc-v6.1.0.tar.gz", + "version": "6.1.0", "description": "Allows flexible configuration of an OIDC server as Nextcloud login user backend.", "homepage": "https://github.com/nextcloud/user_oidc", "licenses": [ @@ -338,5 +338,15 @@ "licenses": [ "agpl" ] + }, + "whiteboard": { + "hash": "sha256-3Q0B4nAVoerolDlBmjp0KwTWXLzETPrrZxnmfSDF5Gk=", + "url": "https://github.com/nextcloud-releases/whiteboard/releases/download/v1.0.4/whiteboard-v1.0.4.tar.gz", + "version": "1.0.4", + "description": "The official whiteboard app for Nextcloud. It allows users to create and share whiteboards with other users and collaborate in real-time.\n\n**Whiteboard requires a separate collaboration server to work.** Please see the [documentation](https://github.com/nextcloud/whiteboard?tab=readme-ov-file#backend) on how to install it.\n\n- 🎨 Drawing shapes, writing text, connecting elements\n- πŸ“ Real-time collaboration\n- πŸ–ΌοΈ Add images with drag and drop\n- πŸ“Š Easily add mermaid diagrams\n- ✨ Use the Smart Picker to embed other elements from Nextcloud\n- πŸ“¦ Image export\n- πŸ’ͺ Strong foundation: We use Excalidraw as our base library", + "homepage": "https://github.com/nextcloud/whiteboard", + "licenses": [ + "agpl" + ] } } diff --git a/pkgs/servers/nextcloud/packages/29.json b/pkgs/servers/nextcloud/packages/29.json index 52a805aed8d3..b1547ac6fe2a 100644 --- a/pkgs/servers/nextcloud/packages/29.json +++ b/pkgs/servers/nextcloud/packages/29.json @@ -70,9 +70,9 @@ ] }, "forms": { - "hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=", - "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz", - "version": "4.3.1", + "hash": "sha256-iU2bqojO+pvMvKDiw+ANMvsH71Ul+8yQ+uNvJfa1ngc=", + "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.2/forms-v4.3.2.tar.gz", + "version": "4.3.2", "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **πŸ“ Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **πŸ“Š View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **πŸ”’ Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **πŸ§‘β€πŸ’» Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **πŸ™‹ Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!", "homepage": "https://github.com/nextcloud/forms", "licenses": [ @@ -90,9 +90,9 @@ ] }, "groupfolders": { - "hash": "sha256-3CG5lp1lcPzcvOjcQIFcP8OVZvWCq3iNf4OUCu3X7t8=", - "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v17.0.4/groupfolders-v17.0.4.tar.gz", - "version": "17.0.4", + "hash": "sha256-/pREdGW7kM2imVx6Jk5iZ9odQpk/93AwkFECVPJhyuI=", + "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v17.0.5/groupfolders-v17.0.5.tar.gz", + "version": "17.0.5", "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.", "homepage": "https://github.com/nextcloud/groupfolders", "licenses": [ @@ -130,9 +130,9 @@ ] }, "mail": { - "hash": "sha256-8xQglDlOudopTsEqvnlsOTwOU6eAt6argVSXDxJdWUA=", - "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.8/mail-v3.7.8.tar.gz", - "version": "3.7.8", + "hash": "sha256-Y591RR3m4k8G0+sNU+hRN013LikCFJ/41SbrILEfp8A=", + "url": "https://github.com/nextcloud-releases/mail/releases/download/v3.7.9/mail-v3.7.9.tar.gz", + "version": "3.7.9", "description": "**πŸ’Œ A mail app for Nextcloud**\n\n- **πŸš€ Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **πŸ“₯ Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **πŸ”’ Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **πŸ™ˆ We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **πŸ“¬ Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟒/🟑/🟠/πŸ”΄\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/mail#readme", "licenses": [ @@ -140,8 +140,8 @@ ] }, "maps": { - "hash": "sha256-BmXs6Oepwnm+Cviy4awm3S8P9AiJTt1BnAQNb4TxVYE=", - "url": "https://github.com/nextcloud/maps/releases/download/v1.4.0/maps-1.4.0.tar.gz", + "hash": "sha256-FmRhpPRpMnCHkJFaVvQuR6Y7Pd7vpP+tUVih919g/fQ=", + "url": "https://github.com/nextcloud/maps/releases/download/v1.4.0-1-nightly/maps-1.4.0-1-nightly.tar.gz", "version": "1.4.0", "description": "**The whole world fits inside your cloud!**\n\n- **πŸ—Ί Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **πŸ–Ό Photos on the map:** No more boring slideshows, just show directly where you were!\n- **πŸ™‹ Contacts on the map:** See where your friends live and plan your next visit.\n- **πŸ“± Devices:** Lost your phone? Check the map!\n- **γ€° Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.", "homepage": "https://github.com/nextcloud/maps", @@ -250,9 +250,9 @@ ] }, "richdocuments": { - "hash": "sha256-fcKzfo8tyYiZTwqMnR6vP+dTwTYt1UfBZG8ortPDCNg=", - "url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.4.7/richdocuments-v8.4.7.tar.gz", - "version": "8.4.7", + "hash": "sha256-oRk06JoOvHUD4D7htl/B+CyCz9ybSIAZCELxV3v4uCU=", + "url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.4.8/richdocuments-v8.4.8.tar.gz", + "version": "8.4.8", "description": "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", "homepage": "https://collaboraoffice.com/", "licenses": [ @@ -320,9 +320,9 @@ ] }, "user_oidc": { - "hash": "sha256-8e4xQjOWSVAps6dg4jvN3MGVSOhaOgjPHPpTOgXKFJY=", - "url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v6.0.1/user_oidc-v6.0.1.tar.gz", - "version": "6.0.1", + "hash": "sha256-tF68YonuCQ90XuZvZnS7NmJApk3P2741XhFjnyb7TSQ=", + "url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v6.1.0/user_oidc-v6.1.0.tar.gz", + "version": "6.1.0", "description": "Allows flexible configuration of an OIDC server as Nextcloud login user backend.", "homepage": "https://github.com/nextcloud/user_oidc", "licenses": [ @@ -338,5 +338,15 @@ "licenses": [ "agpl" ] + }, + "whiteboard": { + "hash": "sha256-3Q0B4nAVoerolDlBmjp0KwTWXLzETPrrZxnmfSDF5Gk=", + "url": "https://github.com/nextcloud-releases/whiteboard/releases/download/v1.0.4/whiteboard-v1.0.4.tar.gz", + "version": "1.0.4", + "description": "The official whiteboard app for Nextcloud. It allows users to create and share whiteboards with other users and collaborate in real-time.\n\n**Whiteboard requires a separate collaboration server to work.** Please see the [documentation](https://github.com/nextcloud/whiteboard?tab=readme-ov-file#backend) on how to install it.\n\n- 🎨 Drawing shapes, writing text, connecting elements\n- πŸ“ Real-time collaboration\n- πŸ–ΌοΈ Add images with drag and drop\n- πŸ“Š Easily add mermaid diagrams\n- ✨ Use the Smart Picker to embed other elements from Nextcloud\n- πŸ“¦ Image export\n- πŸ’ͺ Strong foundation: We use Excalidraw as our base library", + "homepage": "https://github.com/nextcloud/whiteboard", + "licenses": [ + "agpl" + ] } } diff --git a/pkgs/servers/nextcloud/packages/30.json b/pkgs/servers/nextcloud/packages/30.json index 8d32cb8e59aa..3c87426cdd1f 100644 --- a/pkgs/servers/nextcloud/packages/30.json +++ b/pkgs/servers/nextcloud/packages/30.json @@ -10,9 +10,9 @@ ] }, "calendar": { - "hash": "sha256-mlxW7ALSUr3t7fd4H/TDWASzsSlPKojOLh76v8wd1w0=", - "url": "https://github.com/nextcloud-releases/calendar/releases/download/v5.0.0/calendar-v5.0.0.tar.gz", - "version": "5.0.0", + "hash": "sha256-v9qjcyc2UBZK7QeO1XBZu11coPI92PRZcTipzBEMm3c=", + "url": "https://github.com/nextcloud-releases/calendar/releases/download/v5.0.1/calendar-v5.0.1.tar.gz", + "version": "5.0.1", "description": "The Calendar app is a user interface for Nextcloud's CalDAV server. Easily sync events from various devices with your Nextcloud and edit them online.\n\n* πŸš€ **Integration with other Nextcloud apps!** Currently Contacts - more to come.\n* 🌐 **WebCal Support!** Want to see your favorite team’s matchdays in your calendar? No problem!\n* πŸ™‹ **Attendees!** Invite people to your events\n* ⌚️ **Free/Busy!** See when your attendees are available to meet\n* ⏰ **Reminders!** Get alarms for events inside your browser and via email\n* πŸ” Search! Find your events at ease\n* β˜‘οΈ Tasks! See tasks with a due date directly in the calendar\n* πŸ™ˆ **We’re not reinventing the wheel!** Based on the great [c-dav library](https://github.com/nextcloud/cdav-library), [ical.js](https://github.com/mozilla-comm/ical.js) and [fullcalendar](https://github.com/fullcalendar/fullcalendar) libraries.", "homepage": "https://github.com/nextcloud/calendar/", "licenses": [ @@ -70,9 +70,9 @@ ] }, "forms": { - "hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=", - "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz", - "version": "4.3.1", + "hash": "sha256-iU2bqojO+pvMvKDiw+ANMvsH71Ul+8yQ+uNvJfa1ngc=", + "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.2/forms-v4.3.2.tar.gz", + "version": "4.3.2", "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **πŸ“ Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **πŸ“Š View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **πŸ”’ Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **πŸ§‘β€πŸ’» Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **πŸ™‹ Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!", "homepage": "https://github.com/nextcloud/forms", "licenses": [ @@ -90,9 +90,9 @@ ] }, "groupfolders": { - "hash": "sha256-jSDp8+s0bqYHMZ95UaiAMkMQdYL7tmdbde5mLG6gLOk=", - "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v18.0.2/groupfolders-v18.0.2.tar.gz", - "version": "18.0.2", + "hash": "sha256-IrxzWjxqsA6prPn/gKj9MAw0R/1Qi3kHsddNU5E9sVk=", + "url": "https://github.com/nextcloud-releases/groupfolders/releases/download/v18.0.3/groupfolders-v18.0.3.tar.gz", + "version": "18.0.3", "description": "Admin configured folders shared with everyone in a group.\n\nFolders can be configured from *Group folders* in the admin settings.\n\nAfter a folder is created, the admin can give access to the folder to one or more groups, control their write/sharing permissions and assign a quota for the folder.", "homepage": "https://github.com/nextcloud/groupfolders", "licenses": [ @@ -130,9 +130,9 @@ ] }, "mail": { - "hash": "sha256-u0h9zCT/l9cUUFppKazx4oLkHYzlgGcb0OBOy1CXOG8=", - "url": "https://github.com/nextcloud-releases/mail/releases/download/v4.0.1/mail-v4.0.1.tar.gz", - "version": "4.0.1", + "hash": "sha256-iCK+B/BP4fCzaELNxL/A9OJ6Y34gZl9KIgh7lmSgtSA=", + "url": "https://github.com/nextcloud-releases/mail/releases/download/v4.0.2/mail-v4.0.2.tar.gz", + "version": "4.0.2", "description": "**πŸ’Œ A mail app for Nextcloud**\n\n- **πŸš€ Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **πŸ“₯ Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **πŸ”’ Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **πŸ™ˆ We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **πŸ“¬ Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟒/🟑/🟠/πŸ”΄\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/mail#readme", "licenses": [ @@ -240,9 +240,9 @@ ] }, "richdocuments": { - "hash": "sha256-sM536BlvbNNrGL++ZQItvnOBk+85Hr1Sxr6/0SZTm+g=", - "url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.5.1/richdocuments-v8.5.1.tar.gz", - "version": "8.5.1", + "hash": "sha256-7sdMClIyQxeCToP40mKDzD4kY/wjSe8WyNl2dlis1a8=", + "url": "https://github.com/nextcloud-releases/richdocuments/releases/download/v8.5.2/richdocuments-v8.5.2.tar.gz", + "version": "8.5.2", "description": "This application can connect to a Collabora Online (or other) server (WOPI-like Client). Nextcloud is the WOPI Host. Please read the documentation to learn more about that.\n\nYou can also edit your documents off-line with the Collabora Office app from the **[Android](https://play.google.com/store/apps/details?id=com.collabora.libreoffice)** and **[iOS](https://apps.apple.com/us/app/collabora-office/id1440482071)** store.", "homepage": "https://collaboraoffice.com/", "licenses": [ @@ -290,9 +290,9 @@ ] }, "user_oidc": { - "hash": "sha256-8e4xQjOWSVAps6dg4jvN3MGVSOhaOgjPHPpTOgXKFJY=", - "url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v6.0.1/user_oidc-v6.0.1.tar.gz", - "version": "6.0.1", + "hash": "sha256-tF68YonuCQ90XuZvZnS7NmJApk3P2741XhFjnyb7TSQ=", + "url": "https://github.com/nextcloud-releases/user_oidc/releases/download/v6.1.0/user_oidc-v6.1.0.tar.gz", + "version": "6.1.0", "description": "Allows flexible configuration of an OIDC server as Nextcloud login user backend.", "homepage": "https://github.com/nextcloud/user_oidc", "licenses": [ @@ -308,5 +308,15 @@ "licenses": [ "agpl" ] + }, + "whiteboard": { + "hash": "sha256-3Q0B4nAVoerolDlBmjp0KwTWXLzETPrrZxnmfSDF5Gk=", + "url": "https://github.com/nextcloud-releases/whiteboard/releases/download/v1.0.4/whiteboard-v1.0.4.tar.gz", + "version": "1.0.4", + "description": "The official whiteboard app for Nextcloud. It allows users to create and share whiteboards with other users and collaborate in real-time.\n\n**Whiteboard requires a separate collaboration server to work.** Please see the [documentation](https://github.com/nextcloud/whiteboard?tab=readme-ov-file#backend) on how to install it.\n\n- 🎨 Drawing shapes, writing text, connecting elements\n- πŸ“ Real-time collaboration\n- πŸ–ΌοΈ Add images with drag and drop\n- πŸ“Š Easily add mermaid diagrams\n- ✨ Use the Smart Picker to embed other elements from Nextcloud\n- πŸ“¦ Image export\n- πŸ’ͺ Strong foundation: We use Excalidraw as our base library", + "homepage": "https://github.com/nextcloud/whiteboard", + "licenses": [ + "agpl" + ] } } diff --git a/pkgs/servers/nextcloud/packages/nextcloud-apps.json b/pkgs/servers/nextcloud/packages/nextcloud-apps.json index 3118d4418cfd..b9c1d623164a 100644 --- a/pkgs/servers/nextcloud/packages/nextcloud-apps.json +++ b/pkgs/servers/nextcloud/packages/nextcloud-apps.json @@ -37,4 +37,5 @@ , "unsplash": "agpl3Only" , "user_oidc": "agpl3Plus" , "user_saml": "agpl3Plus" +, "whiteboard": "agpl3Plus" } diff --git a/pkgs/shells/nushell/plugins/default.nix b/pkgs/shells/nushell/plugins/default.nix index f0f998be7443..63a041357794 100644 --- a/pkgs/shells/nushell/plugins/default.nix +++ b/pkgs/shells/nushell/plugins/default.nix @@ -10,4 +10,5 @@ lib.makeScope newScope (self: with self; { units = callPackage ./units.nix { inherit IOKit Foundation; }; highlight = callPackage ./highlight.nix { inherit IOKit Foundation; }; dbus = callPackage ./dbus.nix { inherit dbus; nushell_plugin_dbus = self.dbus; }; + skim = callPackage ./skim.nix { inherit IOKit CoreFoundation; }; }) diff --git a/pkgs/shells/nushell/plugins/skim.nix b/pkgs/shells/nushell/plugins/skim.nix new file mode 100644 index 000000000000..5edc8483eaba --- /dev/null +++ b/pkgs/shells/nushell/plugins/skim.nix @@ -0,0 +1,55 @@ +{ + stdenv, + runCommand, + lib, + rustPlatform, + nix-update-script, + fetchFromGitHub, + IOKit, + CoreFoundation, + nushell, + skim, +}: + +rustPlatform.buildRustPackage rec { + pname = "nu_plugin_skim"; + version = "0.8.0"; + + src = fetchFromGitHub { + owner = "idanarye"; + repo = pname; + rev = "v${version}"; + hash = "sha256-3q2qt35lZ07N8E3p4/BoYX1H4B8qcKXJWnZhdJhgpJE="; + }; + + cargoHash = "sha256-+RYrQsB8LVjxZsQ7dVDK6GT6nXSM4b+qpILOe0Q2SjA="; + + nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ rustPlatform.bindgenHook ]; + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ + IOKit + CoreFoundation + ]; + + passthru = { + updateScript = nix-update-script { }; + tests.check = + let + nu = lib.getExe nushell; + plugin = lib.getExe skim; + in + runCommand "${pname}-test" { } '' + touch $out + ${nu} -n -c "plugin add --plugin-config $out ${plugin}" + ${nu} -n -c "plugin use --plugin-config $out skim" + ''; + }; + + meta = with lib; { + description = "A nushell plugin that adds integrates the skim fuzzy finder"; + mainProgram = "nu_plugin_skim"; + homepage = "https://github.com/idanarye/nu_plugin_skim"; + license = licenses.mit; + maintainers = with maintainers; [ aftix ]; + platforms = with platforms; all; + }; +} diff --git a/pkgs/tools/backup/pgbackrest/default.nix b/pkgs/tools/backup/pgbackrest/default.nix index 1f3ec386cb5e..78fa48fde463 100644 --- a/pkgs/tools/backup/pgbackrest/default.nix +++ b/pkgs/tools/backup/pgbackrest/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "pgbackrest"; - version = "2.53.1"; + version = "2.54.0"; src = fetchFromGitHub { owner = "pgbackrest"; repo = "pgbackrest"; rev = "release/${version}"; - sha256 = "sha256-gCjPwDV7jlUwWUhuXHKqL/kigsu3V0ikxhcB3EIBvU0="; + sha256 = "sha256-EYpzVrEM0GrCJcGnFT4XfN6pULqsSMyH02b0zGInH7U="; }; strictDeps = true; diff --git a/pkgs/tools/filesystems/stratisd/default.nix b/pkgs/tools/filesystems/stratisd/default.nix index 89261aeac396..3a3899cd4251 100644 --- a/pkgs/tools/filesystems/stratisd/default.nix +++ b/pkgs/tools/filesystems/stratisd/default.nix @@ -28,18 +28,18 @@ stdenv.mkDerivation rec { pname = "stratisd"; - version = "3.7.2"; + version = "3.7.3"; src = fetchFromGitHub { owner = "stratis-storage"; repo = pname; rev = "refs/tags/stratisd-v${version}"; - hash = "sha256-pxLf/YLd7vdAjGRQDvJvwhJXpMUiI3dge5Y5x895SPA="; + hash = "sha256-W8ssLTFU36t6iLrt9S9V8qcN7EP4IsL7VbhNPLpftio="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; - hash = "sha256-btSj69yBbnbK+jdWdMi3rQGKMOLWcwY5Zn3hmEWk/Hs="; + hash = "sha256-Qv2qknWNx2OQeucUFwL1veu3MSF+fd19jFfHCCVGprM="; }; postPatch = '' diff --git a/pkgs/tools/misc/askalono/default.nix b/pkgs/tools/misc/askalono/default.nix index a15d4d08aae8..6388be509511 100644 --- a/pkgs/tools/misc/askalono/default.nix +++ b/pkgs/tools/misc/askalono/default.nix @@ -5,15 +5,15 @@ rustPlatform.buildRustPackage rec { pname = "askalono"; - version = "0.4.6"; + version = "0.5.0"; src = fetchCrate { pname = "askalono-cli"; inherit version; - hash = "sha256-7l5bHSsmuMoHbbOI3TAYFeHwD3Y62JvfrrXZa08V3+U="; + hash = "sha256-LwyUaU4m9fk+mG8FBfkbj9nBvd8KokwlV7cE7EBwk0Q="; }; - cargoHash = "sha256-OkN8V37GApJvremRJlWG3HSpWgMC17Ge8JMTiQVoc/g="; + cargoHash = "sha256-7yFdoXK9Nyg1uT0mtiXs6evOu1U1quxL7iMMMyxqxqk="; meta = with lib; { description = "Tool to detect open source licenses from texts"; diff --git a/pkgs/tools/security/saml2aws/default.nix b/pkgs/tools/security/saml2aws/default.nix index 1afba85be34e..4a0d7254a351 100644 --- a/pkgs/tools/security/saml2aws/default.nix +++ b/pkgs/tools/security/saml2aws/default.nix @@ -9,16 +9,16 @@ buildGoModule rec { pname = "saml2aws"; - version = "2.36.17"; + version = "2.36.18"; src = fetchFromGitHub { owner = "Versent"; repo = "saml2aws"; rev = "v${version}"; - sha256 = "sha256-2bt/AUcXwXf1TxPesfXSyoiBeLHx+LGgDk4xbXEAcaY="; + sha256 = "sha256-sj+6EnpPPsl/MWMxan6dXIqJO8NePcwnVFrTCcM1SbQ="; }; - vendorHash = "sha256-gtl8T8wXnpLgDZc6qSgFKpA+XbcLNHf20ieBkyNdE+s="; + vendorHash = "sha256-mi2Jqiy1T1fcuasrIXPkhu8VTmq78WFOK/d3i7CXkhw="; nativeBuildInputs = [ installShellFiles ]; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ AppKit ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d6b4392d052b..de9c1a1be77e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -448,6 +448,10 @@ with pkgs; circt = callPackage ../development/compilers/circt { }; + clang-uml = callPackage ../by-name/cl/clang-uml/package.nix { + stdenv = clangStdenv; + }; + classicube = callPackage ../games/classicube { }; clj-kondo = callPackage ../development/tools/clj-kondo { }; @@ -1910,7 +1914,7 @@ with pkgs; scarab = callPackage ../tools/games/scarab { }; - sdbus-cpp = callPackage ../development/libraries/sdbus-cpp { }; + inherit (callPackage ../development/libraries/sdbus-cpp { }) sdbus-cpp sdbus-cpp_2; sdlookup = callPackage ../tools/security/sdlookup { }; @@ -33618,8 +33622,6 @@ with pkgs; xchainkeys = callPackage ../tools/X11/xchainkeys { }; - xchm = callPackage ../applications/misc/xchm { }; - inherit (xorg) xcompmgr; x-create-mouse-void = callPackage ../applications/window-managers/x-create-mouse-void { }; @@ -34588,7 +34590,7 @@ with pkgs; fltk = fltk-minimal; }; - factorio = callPackage ../games/factorio { releaseType = "alpha"; }; + factorio = callPackage ../by-name/fa/factorio/package.nix { releaseType = "alpha"; }; factorio-experimental = factorio.override { releaseType = "alpha"; experimental = true; }; @@ -34602,9 +34604,9 @@ with pkgs; factorio-space-age-experimental = factorio.override { releaseType = "expansion"; experimental = true; }; - factorio-mods = callPackage ../games/factorio/mods.nix { }; + factorio-mods = callPackage ../by-name/fa/factorio/mods.nix { }; - factorio-utils = callPackage ../games/factorio/utils.nix { }; + factorio-utils = callPackage ../by-name/fa/factorio/utils.nix { }; fairymax = callPackage ../games/fairymax { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e297bab5358c..9c7cc7aa888a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3520,6 +3520,8 @@ self: super: with self; { djangorestframework-camel-case = callPackage ../development/python-modules/djangorestframework-camel-case { }; + djangorestframework-csv = callPackage ../development/python-modules/djangorestframework-csv { }; + djangorestframework-guardian = callPackage ../development/python-modules/djangorestframework-guardian { }; djangorestframework-guardian2 = callPackage ../development/python-modules/djangorestframework-guardian2 { }; @@ -9896,6 +9898,8 @@ self: super: with self; { pescea = callPackage ../development/python-modules/pescea { }; + pesq = callPackage ../development/python-modules/pesq { }; + pex = callPackage ../development/python-modules/pex { }; pexif = callPackage ../development/python-modules/pexif { };