diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index c2361206e455..fa03fbb515a4 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -17322,6 +17322,17 @@ githubId = 7831184; name = "John Mercier"; }; + mochienya = { + name = "mochienya"; + github = "mochienya"; + githubId = 187453775; + matrix = "@mochienya:matrix.org"; + keys = [ + { + fingerprint = "7A49 5110 84F4 EAF1 BE30 5CF0 CC3B E964 564F 9554"; + } + ]; + }; mockersf = { email = "francois.mockers@vleue.com"; github = "mockersf"; diff --git a/nixos/doc/manual/development/option-types.section.md b/nixos/doc/manual/development/option-types.section.md index b7b9f04acd95..d2e0c7299415 100644 --- a/nixos/doc/manual/development/option-types.section.md +++ b/nixos/doc/manual/development/option-types.section.md @@ -316,22 +316,34 @@ A union of types is a type such that a value is valid when it is valid for at le If some values are instances of more than one of the types, it is not possible to distinguish which type they are meant to be instances of. If that's needed, consider using a [sum type](#sec-option-types-sums). + `types.either` *`t1 t2`* : Type *`t1`* or type *`t2`*, e.g. `with types; either int str`. Multiple definitions cannot be merged. + ::: {.warning} + `either` and `oneOf` eagerly decide the active type based on the passed types' shallow check method. For composite types like `attrsOf` and `submodule`, which both match all attribute set definitions, the first type argument will be chosen for the returned option value, and this therefore also decides how nested values are checked and merged. For example, `either (attrsOf int) (submodule {...})` will always use `attrsOf int` for any attribute set value, even if it was intended as a submodule. This behavior is a trade-off that keeps the implementation simple and the evaluation order predictable, avoiding unexpected strictness problems such as infinite recursions. When proper type discrimination is needed, consider using a [sum type](#sec-option-types-sums) like `attrTag` instead. + ::: + + `types.oneOf` \[ *`t1 t2`* ... \] : Type *`t1`* or type *`t2`* and so forth, e.g. `with types; oneOf [ int str bool ]`. Multiple definitions cannot be merged. + ::: {.warning} + `either` and `oneOf` eagerly decide the active type based on the passed types' shallow check method. For composite types like `attrsOf` and `submodule`, which both match all attribute set definitions, the first matching type in the list will be chosen for the returned option value, and this therefore also decides how nested values are checked and merged. For example, `oneOf [ (attrsOf int) (submodule {...}) ]` will always use `attrsOf int` for any attribute set value, even if it was intended as a submodule. This behavior is a trade-off that keeps the implementation simple and the evaluation order predictable, avoiding unexpected strictness problems such as infinite recursions. When proper type discrimination is needed, consider using a [sum type](#sec-option-types-sums) like `attrTag` instead. + ::: + `types.nullOr` *`t`* : `null` or type *`t`*. Multiple definitions are merged according to type *`t`*. + This is mostly equivalent to `either (enum [ null ]) t`, but `nullOr` provides a `null` fallback for attribute values with `mkIf false` definitions in `lazyAttrsOf (nullOr t)`, whereas `either` would throw an error when the attribute is accessed. + ## Sum types {#sec-option-types-sums} diff --git a/pkgs/applications/networking/browsers/palemoon/bin.nix b/pkgs/applications/networking/browsers/palemoon/bin.nix index 96e0a2ab8a93..10841acb7672 100644 --- a/pkgs/applications/networking/browsers/palemoon/bin.nix +++ b/pkgs/applications/networking/browsers/palemoon/bin.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "palemoon-bin"; - version = "33.9.0.1"; + version = "33.9.1"; src = finalAttrs.passthru.sources."gtk${if withGTK3 then "3" else "2"}"; @@ -173,11 +173,11 @@ stdenv.mkDerivation (finalAttrs: { { gtk3 = fetchzip { urls = urlRegionVariants "gtk3"; - hash = "sha256-QhER20l8GP0wQ0pDVwBZbYb2FImbX0kiUS9RCcR7gvg="; + hash = "sha256-muFqS3NpYX0Walhd+RFIZh7pUKQ5ZbPMZJasm9+rqTE="; }; gtk2 = fetchzip { urls = urlRegionVariants "gtk2"; - hash = "sha256-13lq59H8xGNbZHalZo87xAaoQg61t2v+B/LXnPoEyoU="; + hash = "sha256-lRFXpv+dp3ALVSiEDwE4kiaVjBX5XuVZeugEr+St53I="; }; }; diff --git a/pkgs/by-name/al/alfis/package.nix b/pkgs/by-name/al/alfis/package.nix index 67ff87511302..75de069fe85e 100644 --- a/pkgs/by-name/al/alfis/package.nix +++ b/pkgs/by-name/al/alfis/package.nix @@ -12,16 +12,16 @@ rustPlatform.buildRustPackage rec { pname = "alfis"; - version = "0.8.7"; + version = "0.8.8"; src = fetchFromGitHub { owner = "Revertron"; repo = "Alfis"; tag = "v${version}"; - hash = "sha256-u5luVJRNIuGqqNyh+C7nMSkZgoq/S7gpmsEiz8ntmC4="; + hash = "sha256-gRk4kvIV+5cCUFaJvGbTAR44678Twa28iMGZ75lJz2c="; }; - cargoHash = "sha256-ittJ/iKcmvd5r8oaBoGhi/E2osq245OWxSC+VH+bme4="; + cargoHash = "sha256-Ge0+7ClXlJFT6CyluHF7k4stsX+KuYp/riro1pvrcKM="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/ba/basedpyright/package.nix b/pkgs/by-name/ba/basedpyright/package.nix index f8ca0692cc0f..92bcd13f2e96 100644 --- a/pkgs/by-name/ba/basedpyright/package.nix +++ b/pkgs/by-name/ba/basedpyright/package.nix @@ -18,16 +18,16 @@ buildNpmPackage rec { pname = "basedpyright"; - version = "1.31.7"; + version = "1.32.1"; src = fetchFromGitHub { owner = "detachhead"; repo = "basedpyright"; tag = "v${version}"; - hash = "sha256-mC+qnEI2a7tGjIIZxRzGY+VyfYnTY1brCKGHU3KOf0Q="; + hash = "sha256-bxqUH5MYwp8MLD8ve8afgN3qe3hCPRu0l7QO7m1ZSzA="; }; - npmDepsHash = "sha256-dwtMl5dFpol+J+cM6EHiwO+F93Iyurwx9Kr317IGtVw="; + npmDepsHash = "sha256-zNmZ4wXxe31NnQ+VlTLoPM2zTDmKdw1D28pi/roybdQ="; npmWorkspace = "packages/pyright"; preBuild = '' diff --git a/pkgs/by-name/be/beammp-launcher/package.nix b/pkgs/by-name/be/beammp-launcher/package.nix index 6ef83abe354b..a6dec6c17019 100644 --- a/pkgs/by-name/be/beammp-launcher/package.nix +++ b/pkgs/by-name/be/beammp-launcher/package.nix @@ -63,7 +63,10 @@ stdenv.mkDerivation (finalAttrs: { homepage = "https://github.com/BeamMP/BeamMP-Launcher"; license = lib.licenses.agpl3Only; mainProgram = "BeamMP-Launcher"; - maintainers = [ lib.maintainers.Andy3153 ]; + maintainers = with lib.maintainers; [ + Andy3153 + mochienya + ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/games/blightmud/default.nix b/pkgs/by-name/bl/blightmud/package.nix similarity index 89% rename from pkgs/games/blightmud/default.nix rename to pkgs/by-name/bl/blightmud/package.nix index 23595aa070c2..aa9341e472c3 100644 --- a/pkgs/games/blightmud/default.nix +++ b/pkgs/by-name/bl/blightmud/package.nix @@ -9,14 +9,14 @@ withTTS ? false, speechd-minimal, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "blightmud"; version = "5.3.1"; src = fetchFromGitHub { owner = "blightmud"; repo = "blightmud"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-9GUul5EoejcnCQqq1oX+seBtxttYIUhgcexaZk+7chk="; }; @@ -59,7 +59,7 @@ rustPlatform.buildRustPackage rec { in builtins.concatStringsSep " " (map skipFlag skipList); - meta = with lib; { + meta = { description = "Terminal MUD client written in Rust"; mainProgram = "blightmud"; longDescription = '' @@ -72,8 +72,8 @@ rustPlatform.buildRustPackage rec { friendly mode. ''; homepage = "https://github.com/Blightmud/Blightmud"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ cpu ]; - platforms = platforms.linux ++ platforms.darwin; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ cpu ]; + platforms = with lib.platforms; linux ++ darwin; }; -} +}) diff --git a/pkgs/games/chiaki-ng/default.nix b/pkgs/by-name/ch/chiaki-ng/package.nix similarity index 82% rename from pkgs/games/chiaki-ng/default.nix rename to pkgs/by-name/ch/chiaki-ng/package.nix index 3ec054b901ed..1545b1a40148 100644 --- a/pkgs/games/chiaki-ng/default.nix +++ b/pkgs/by-name/ch/chiaki-ng/package.nix @@ -8,13 +8,6 @@ python3, ffmpeg, libopus, - wrapQtAppsHook, - qtbase, - qtmultimedia, - qtsvg, - qtwayland, - qtdeclarative, - qtwebengine, SDL2, libevdev, udev, @@ -33,6 +26,7 @@ lcms2, libdovi, xxHash, + kdePackages, }: stdenv.mkDerivation (finalAttrs: { @@ -42,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: { src = fetchFromGitHub { owner = "streetpea"; repo = "chiaki-ng"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-7pDQnlElnBkW+Nr6R+NaylZbsGH8dB31nd7jxYD66yQ="; fetchSubmodules = true; }; @@ -50,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake pkg-config - wrapQtAppsHook + kdePackages.wrapQtAppsHook protobuf python3 python3.pkgs.wrapPython @@ -61,12 +55,12 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ ffmpeg libopus - qtbase - qtmultimedia - qtsvg - qtdeclarative - qtwayland - qtwebengine + kdePackages.qtbase + kdePackages.qtmultimedia + kdePackages.qtsvg + kdePackages.qtdeclarative + kdePackages.qtwayland + kdePackages.qtwebengine protobuf SDL2 curlFull @@ -108,16 +102,16 @@ stdenv.mkDerivation (finalAttrs: { wrapPythonPrograms ''; - meta = with lib; { + meta = { homepage = "https://streetpea.github.io/chiaki-ng/"; description = "Next-Generation of Chiaki (the open-source remote play client for PlayStation)"; # Includes OpenSSL linking exception that we currently have no way # to represent. # # See also: - license = licenses.agpl3Only; - maintainers = with maintainers; [ devusb ]; - platforms = platforms.linux; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [ devusb ]; + platforms = lib.platforms.linux; mainProgram = "chiaki"; }; }) diff --git a/pkgs/games/chiaki/default.nix b/pkgs/by-name/ch/chiaki/package.nix similarity index 76% rename from pkgs/games/chiaki/default.nix rename to pkgs/by-name/ch/chiaki/package.nix index 03e5c528ac2f..76bba18cd7c4 100644 --- a/pkgs/games/chiaki/default.nix +++ b/pkgs/by-name/ch/chiaki/package.nix @@ -6,24 +6,20 @@ pkg-config, ffmpeg, libopus, - mkDerivation, - qtbase, - qtmultimedia, - qtsvg, SDL2, libevdev, udev, - qtmacextras, nanopb, + libsForQt5, }: -mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "chiaki"; version = "2.2.0"; src = fetchgit { url = "https://git.sr.ht/~thestr4ng3r/chiaki"; - rev = "v${version}"; + tag = "v${finalAttrs.version}"; fetchSubmodules = true; hash = "sha256-mLx2ygMlIuDJt9iT4nIj/dcLGjMvvmneKd49L7C3BQk="; }; @@ -31,6 +27,7 @@ mkDerivation rec { nativeBuildInputs = [ cmake pkg-config + libsForQt5.wrapQtAppsHook ]; postPatch = '' @@ -42,9 +39,9 @@ mkDerivation rec { buildInputs = [ ffmpeg libopus - qtbase - qtmultimedia - qtsvg + libsForQt5.qtbase + libsForQt5.qtmultimedia + libsForQt5.qtsvg SDL2 nanopb ] @@ -53,19 +50,19 @@ mkDerivation rec { udev ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - qtmacextras + libsForQt5.qtmacextras ]; doCheck = true; installCheckPhase = "$out/bin/chiaki --help"; - meta = with lib; { + meta = { homepage = "https://git.sr.ht/~thestr4ng3r/chiaki"; description = "Free and Open Source PlayStation Remote Play Client"; - license = licenses.agpl3Only; + license = lib.licenses.agpl3Only; maintainers = [ ]; - platforms = platforms.all; + platforms = lib.platforms.all; mainProgram = "chiaki"; }; -} +}) diff --git a/pkgs/games/crawl/default.nix b/pkgs/by-name/cr/crawl/package.nix similarity index 100% rename from pkgs/games/crawl/default.nix rename to pkgs/by-name/cr/crawl/package.nix diff --git a/pkgs/by-name/cr/crosvm/package.nix b/pkgs/by-name/cr/crosvm/package.nix index 0b3d9291048f..0d01d8291ccb 100644 --- a/pkgs/by-name/cr/crosvm/package.nix +++ b/pkgs/by-name/cr/crosvm/package.nix @@ -21,18 +21,18 @@ rustPlatform.buildRustPackage { pname = "crosvm"; - version = "0-unstable-2025-10-21"; + version = "0-unstable-2025-10-27"; src = fetchgit { url = "https://chromium.googlesource.com/chromiumos/platform/crosvm"; - rev = "f6de423867b914a59d86c54d102831bccc7ed2c8"; - hash = "sha256-xTuu1tMoFuMcj2RqtGjyDbcFPh3bTCtWpr0fuND4aos="; + rev = "4630761f03d5a389d36c22bf685df107b43083a7"; + hash = "sha256-hp90A/uSXS/RNn1HCCWF4Sv3X8AOtcCOk9DRv95epVc="; fetchSubmodules = true; }; separateDebugInfo = true; - cargoHash = "sha256-ROj0qOnePzkuzck6jXgjvOM9ksL/ubZOxOtku1B7dZA="; + cargoHash = "sha256-P6vFWs9lVn4EkXUVOi+3s/tptAV/J7tH5GBCQv/dwUA="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/games/doom-ports/doomseeker/add_gitinfo.patch b/pkgs/by-name/do/doomseeker/add_gitinfo.patch similarity index 100% rename from pkgs/games/doom-ports/doomseeker/add_gitinfo.patch rename to pkgs/by-name/do/doomseeker/add_gitinfo.patch diff --git a/pkgs/games/doom-ports/doomseeker/dont_update_gitinfo.patch b/pkgs/by-name/do/doomseeker/dont_update_gitinfo.patch similarity index 100% rename from pkgs/games/doom-ports/doomseeker/dont_update_gitinfo.patch rename to pkgs/by-name/do/doomseeker/dont_update_gitinfo.patch diff --git a/pkgs/games/doom-ports/doomseeker/fix_paths.patch b/pkgs/by-name/do/doomseeker/fix_paths.patch similarity index 100% rename from pkgs/games/doom-ports/doomseeker/fix_paths.patch rename to pkgs/by-name/do/doomseeker/fix_paths.patch diff --git a/pkgs/games/doom-ports/doomseeker/default.nix b/pkgs/by-name/do/doomseeker/package.nix similarity index 83% rename from pkgs/games/doom-ports/doomseeker/default.nix rename to pkgs/by-name/do/doomseeker/package.nix index eb1b4dedce92..476c522b4a87 100644 --- a/pkgs/games/doom-ports/doomseeker/default.nix +++ b/pkgs/by-name/do/doomseeker/package.nix @@ -3,14 +3,11 @@ stdenv, cmake, fetchFromBitbucket, - wrapQtAppsHook, pkg-config, - qtbase, - qttools, - qtmultimedia, zlib, bzip2, xxd, + qt5, }: stdenv.mkDerivation { @@ -31,15 +28,15 @@ stdenv.mkDerivation { ]; nativeBuildInputs = [ - wrapQtAppsHook + qt5.wrapQtAppsHook cmake - qttools + qt5.qttools pkg-config xxd ]; buildInputs = [ - qtbase - qtmultimedia + qt5.qtbase + qt5.qtmultimedia zlib bzip2 ]; @@ -52,12 +49,12 @@ stdenv.mkDerivation { ln -s $out/lib/doomseeker/doomseeker $out/bin/ ''; - meta = with lib; { + meta = { homepage = "http://doomseeker.drdteam.org/"; description = "Multiplayer server browser for many Doom source ports"; mainProgram = "doomseeker"; - license = licenses.gpl2Plus; - platforms = platforms.unix; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.unix; maintainers = [ ]; }; } diff --git a/pkgs/by-name/du/dua/package.nix b/pkgs/by-name/du/dua/package.nix index 4043d4267153..6ec17352a3b2 100644 --- a/pkgs/by-name/du/dua/package.nix +++ b/pkgs/by-name/du/dua/package.nix @@ -6,15 +6,15 @@ nix-update-script, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "dua"; - version = "2.32.0"; + version = "2.32.2"; src = fetchFromGitHub { owner = "Byron"; repo = "dua-cli"; - tag = "v${version}"; - hash = "sha256-u8g7X/70ZsZF6vUiVnisItwSMiNXgiAdOXqGUT34EaY="; + tag = "v${finalAttrs.version}"; + hash = "sha256-MB5uePy32jTvOtkQKcP9peFPqwR68E+NZ7UGMuLx8Eo="; # Remove unicode file names which leads to different checksums on HFS+ # vs. other filesystems because of unicode normalisation. postFetch = '' @@ -22,19 +22,19 @@ rustPlatform.buildRustPackage rec { ''; }; - cargoHash = "sha256-6WjaKGCnEoHCIDqMHtp/dpdHbrUe2XOxCtstQCuXPyc="; + cargoHash = "sha256-6H0x6I3nkCezu4/Hguv0XTdl+3QiyPL8Ue1rqTQU7VA="; checkFlags = [ # Skip interactive tests + "--skip=interactive::app::tests::journeys_readonly::quit_instantly_when_nothing_marked" + "--skip=interactive::app::tests::journeys_readonly::quit_requires_two_presses_when_items_marked" "--skip=interactive::app::tests::journeys_readonly::simple_user_journey_read_only" "--skip=interactive::app::tests::journeys_with_writes::basic_user_journey_with_deletion" "--skip=interactive::app::tests::unit::it_can_handle_ending_traversal_reaching_top_but_skipping_levels" "--skip=interactive::app::tests::unit::it_can_handle_ending_traversal_without_reaching_the_top" ]; - nativeInstallCheckInputs = [ - versionCheckHook - ]; + nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "--version"; doInstallCheck = true; @@ -43,12 +43,13 @@ rustPlatform.buildRustPackage rec { meta = { description = "Tool to conveniently learn about the disk usage of directories"; homepage = "https://github.com/Byron/dua-cli"; - changelog = "https://github.com/Byron/dua-cli/blob/v${version}/CHANGELOG.md"; + changelog = "https://github.com/Byron/dua-cli/blob/v${finalAttrs.version}/CHANGELOG.md"; license = with lib.licenses; [ mit ]; maintainers = with lib.maintainers; [ figsoda killercup + defelo ]; mainProgram = "dua"; }; -} +}) diff --git a/pkgs/by-name/du/duckstation/package.nix b/pkgs/by-name/du/duckstation/package.nix index 05232359446d..e84c5306363f 100644 --- a/pkgs/by-name/du/duckstation/package.nix +++ b/pkgs/by-name/du/duckstation/package.nix @@ -8,7 +8,6 @@ ninja, extra-cmake-modules, wayland-scanner, - makeBinaryWrapper, qt6, sdl3, zstd, @@ -29,7 +28,7 @@ spirv-cross, udev, libbacktrace, - ffmpeg-headless, + ffmpeg_8-headless, alsa-lib, libjack2, libpulseaudio, @@ -47,17 +46,11 @@ let meta = { description = "Fast PlayStation 1 emulator for x86-64/AArch32/AArch64/RV64"; longDescription = '' - # DISCLAIMER - This is an **unofficial** package, do not report any issues to - duckstation developers. Instead, please report them to + DISCLAIMER: This is an **unofficial** package, do not report any + issues to duckstation developers. Instead, please report them to or use the officially supported platform build at or other - upstream-approved distribution mechanism not listed here. We - (nixpkgs) do not endorse or condone any action taken on your own - accord in regards to this package. - - The SDL audio backend must be used as cubeb support is currently - non-functional without patches. + upstream-approved distribution mechanism not listed here. ''; homepage = "https://duckstation.org"; license = lib.licenses.cc-by-nc-nd-40; @@ -71,15 +64,22 @@ let linuxDrv = llvmPackages.stdenv.mkDerivation (finalAttrs: { pname = "duckstation"; - version = pkgSources.duckstation.version; + version = "0.1-9787-unstable-2025-10-13"; src = fetchFromGitHub { owner = "stenzek"; repo = "duckstation"; - tag = "v${finalAttrs.version}"; - hash = pkgSources.duckstation.hash_linux; + rev = "8f0c9dd171210dfd7f06223a393e2565abbaabf3"; + hash = "sha256-CzHWdY0RaGBB6CY3PzHHHbq3/Mbf6WtUm6Dizr0IW6I="; }; + # TODO: Remove once this is fixed upstream. + postPatch = '' + substituteInPlace src/util/animated_image.cpp \ + --replace-fail "png_write_frame_head(png_ptr, info_ptr," \ + "png_write_frame_head(png_ptr, info_ptr, 0," + ''; + vendorDiscordRPC = llvmPackages.stdenv.mkDerivation { pname = "discord-rpc-duckstation"; inherit (finalAttrs) version; @@ -190,7 +190,8 @@ let - Improving performance. - Fixing game-breaking bugs. - Unlocking the frame rate (e.g. "60 FPS patches"). - - Widescreen rendering where the built-in widescreen rendering rendering is insufficient. + - Widescreen rendering where the built-in widescreen + rendering rendering is insufficient. ''; license = lib.licenses.mit; inherit (meta) maintainers; @@ -209,7 +210,6 @@ let ninja extra-cmake-modules wayland-scanner - makeBinaryWrapper qt6.wrapQtAppsHook qt6.qttools ]; @@ -232,7 +232,7 @@ let qt6.qtbase udev libbacktrace - ffmpeg-headless + ffmpeg_8-headless alsa-lib libjack2 pipewire @@ -244,19 +244,14 @@ let finalAttrs.soundtouch ]; - cmakeFlags = [ - (lib.cmakeBool "ALLOW_INSTALL" true) - (lib.cmakeFeature "CMAKE_INSTALL_PREFIX" "${placeholder "out"}/lib/duckstation") - ]; + installPhase = '' + runHook preInstall - postInstall = '' - makeWrapper $out/lib/duckstation/duckstation-qt $out/bin/duckstation-qt - - mkdir -p $out/share/applications + mkdir -p $out/{lib,bin,share/{applications,icons/hicolor/512x512/apps}} + cp -r bin $out/lib/duckstation + ln -s $out/lib/duckstation/duckstation-qt $out/bin/duckstation-qt ln -s $out/lib/duckstation/resources/org.duckstation.DuckStation.desktop \ $out/share/applications - - mkdir -p $out/share/icons/hicolor/512x512/apps ln -s $out/lib/duckstation/resources/org.duckstation.DuckStation.png \ $out/share/icons/hicolor/512x512/apps @@ -265,8 +260,19 @@ let install -Dm644 README.* -t $out/share/doc/duckstation install -Dm644 CONTRIBUTORS.md -t $out/share/doc/duckstation popd + + runHook postInstall ''; + qtWrapperArgs = [ + "--prefix LD_LIBRARY_PATH : ${ + (lib.makeLibraryPath [ + ffmpeg_8-headless + finalAttrs.vendorShaderc + ]) + }" + ]; + inherit passthru; meta = meta // { diff --git a/pkgs/by-name/du/duckstation/sources.json b/pkgs/by-name/du/duckstation/sources.json index dfca7c572752..a4db277a14d0 100644 --- a/pkgs/by-name/du/duckstation/sources.json +++ b/pkgs/by-name/du/duckstation/sources.json @@ -13,8 +13,8 @@ "hash": "sha256-/o3LPYvMTlKhuvLQITnADmz8BTGXVaVR0aciOWVyFS8=" }, "chtdb": { - "date": "2025-10-05", - "rev": "eab12dde0ddfd03e1260d7111f2a0709144e047e", - "hash": "sha256-wRk9BijV52BCcvpeq4CzhLsaWYYrt+vFvdMwlAixBvU=" + "date": "2025-10-16", + "rev": "aff6149c29beae9c52aa35ea5cb53986c8916546", + "hash": "sha256-gpJ6Wlo7PGMPraK8Bppb+3qDWZ6Oxd4kvLJEFtGF50U=" } } diff --git a/pkgs/games/dxx-rebirth/assets.nix b/pkgs/by-name/dx/dxx-rebirth/assets.nix similarity index 100% rename from pkgs/games/dxx-rebirth/assets.nix rename to pkgs/by-name/dx/dxx-rebirth/assets.nix diff --git a/pkgs/games/dxx-rebirth/full.nix b/pkgs/by-name/dx/dxx-rebirth/full.nix similarity index 100% rename from pkgs/games/dxx-rebirth/full.nix rename to pkgs/by-name/dx/dxx-rebirth/full.nix diff --git a/pkgs/games/dxx-rebirth/default.nix b/pkgs/by-name/dx/dxx-rebirth/package.nix similarity index 90% rename from pkgs/games/dxx-rebirth/default.nix rename to pkgs/by-name/dx/dxx-rebirth/package.nix index a0186148e404..8d52835a5457 100644 --- a/pkgs/games/dxx-rebirth/default.nix +++ b/pkgs/by-name/dx/dxx-rebirth/package.nix @@ -64,11 +64,11 @@ stdenv.mkDerivation { passthru.updateScript = unstableGitUpdater { }; - meta = with lib; { + meta = { description = "Source Port of the Descent 1 and 2 engines"; homepage = "https://www.dxx-rebirth.com/"; - license = licenses.gpl3; - maintainers = with maintainers; [ peterhoeg ]; - platforms = with platforms; linux; + license = lib.licenses.gpl3; + maintainers = with lib.maintainers; [ peterhoeg ]; + platforms = lib.platforms.linux; }; } diff --git a/pkgs/by-name/ff/fflogs/package.nix b/pkgs/by-name/ff/fflogs/package.nix index 0bd801ac94b0..8217a17819ff 100644 --- a/pkgs/by-name/ff/fflogs/package.nix +++ b/pkgs/by-name/ff/fflogs/package.nix @@ -6,10 +6,10 @@ let pname = "fflogs"; - version = "8.17.83"; + version = "8.17.85"; src = fetchurl { url = "https://github.com/RPGLogs/Uploaders-fflogs/releases/download/v${version}/fflogs-v${version}.AppImage"; - hash = "sha256-orVUCf7+OzJQ561maIYEBKgSgLuKfuSXFGMLZV/HMjM="; + hash = "sha256-vI2WI9CeupQf96GxW89D8Z8R/h1hB5Rfib2A+4Yd6zc="; }; extracted = appimageTools.extractType2 { inherit pname version src; }; in diff --git a/pkgs/by-name/fl/flying-carpet/package.nix b/pkgs/by-name/fl/flying-carpet/package.nix new file mode 100644 index 000000000000..d2c15aabcac2 --- /dev/null +++ b/pkgs/by-name/fl/flying-carpet/package.nix @@ -0,0 +1,84 @@ +{ + lib, + stdenv, + fetchFromGitHub, + rustPlatform, + fetchNpmDeps, + cargo-tauri, + glib-networking, + nodejs, + npmHooks, + openssl, + pkg-config, + webkitgtk_4_1, + wrapGAppsHook4, + copyDesktopItems, + makeDesktopItem, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "flying-carpet"; + version = "9.0.0"; + + src = fetchFromGitHub { + owner = "spieglt"; + repo = "FlyingCarpet"; + tag = "v${finalAttrs.version}"; + hash = "sha256-xjTypnI6NXG4D3iaSEHcea2as3MSmKVo9x/4JTx9znc="; + }; + + cargoHash = "sha256-zoZS7rV5Pou9OmodLF8CqcEsAWFjSdtk/S5OXsnKKyg="; + + nativeBuildInputs = [ + cargo-tauri.hook + nodejs + pkg-config + wrapGAppsHook4 + copyDesktopItems + ]; + + buildInputs = [ + glib-networking + openssl + webkitgtk_4_1 + ]; + + checkFlags = [ + "--skip" + "network" + ]; + + desktopItems = [ + (makeDesktopItem { + name = "FlyingCarpet"; + desktopName = "FlyingCarpet"; + exec = "FlyingCarpet"; + icon = "FlyingCarpet"; + categories = [ "Development" ]; + }) + ]; + + postInstall = '' + install -Dm644 "Flying Carpet/src-tauri/icons/32x32.png" "$out/share/icons/hicolor/32x32/apps/FlyingCarpet.png" + install -Dm644 "Flying Carpet/src-tauri/icons/128x128.png" "$out/share/icons/hicolor/128x128/apps/FlyingCarpet.png" + install -Dm644 "Flying Carpet/src-tauri/icons/128x128@2x.png" "$out/share/icons/hicolor/256x256@2/apps/FlyingCarpet.png" + ''; + + preFixup = '' + # https://github.com/tauri-apps/tauri/issues/9304 + gappsWrapperArgs+=(--set WEBKIT_DISABLE_DMABUF_RENDERER 1) + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Send and receive files between Android, iOS, Linux, macOS, and Windows over ad hoc WiFi"; + homepage = "https://github.com/spieglt/FlyingCarpet"; + changelog = "https://github.com/spieglt/FlyingCarpet/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ ulysseszhan ]; + platforms = lib.platforms.linux; # No darwin: https://github.com/spieglt/FlyingCarpet/issues/117 + mainProgram = "FlyingCarpet"; + }; +}) diff --git a/pkgs/by-name/ig/igv/package.nix b/pkgs/by-name/ig/igv/package.nix index f15fb382ce18..6806f71193ef 100644 --- a/pkgs/by-name/ig/igv/package.nix +++ b/pkgs/by-name/ig/igv/package.nix @@ -10,10 +10,10 @@ stdenv.mkDerivation rec { pname = "igv"; - version = "2.19.6"; + version = "2.19.7"; src = fetchzip { url = "https://data.broadinstitute.org/igv/projects/downloads/${lib.versions.majorMinor version}/IGV_${version}.zip"; - sha256 = "sha256-hemTOCNBfigpvlFStBbxGGLpORYPfh6vn1pyE8hKWHw="; + sha256 = "sha256-IkzaQAM+s1boEKo/3ShtbUhihrhxLQCTz8/0lzAyYJA="; }; installPhase = '' diff --git a/pkgs/games/instawow/default.nix b/pkgs/by-name/in/instawow/package.nix similarity index 84% rename from pkgs/games/instawow/default.nix rename to pkgs/by-name/in/instawow/package.nix index 36d8e6b3cdc4..8a947eff0e16 100644 --- a/pkgs/games/instawow/default.nix +++ b/pkgs/by-name/in/instawow/package.nix @@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec { owner = "layday"; repo = "instawow"; tag = "v${version}"; - sha256 = "sha256-NFs8+BUXJEn64TDojG/xkH1O+zZurv0PWY+YDhu2mQY="; + hash = "sha256-NFs8+BUXJEn64TDojG/xkH1O+zZurv0PWY+YDhu2mQY="; }; extras = [ ]; # Disable GUI, most dependencies are not packaged. @@ -44,11 +44,11 @@ python3.pkgs.buildPythonApplication rec { ] ++ plugins; - meta = with lib; { + meta = { homepage = "https://github.com/layday/instawow"; description = "World of Warcraft add-on manager CLI and GUI"; mainProgram = "instawow"; - license = licenses.gpl3; - maintainers = with maintainers; [ seirl ]; + license = lib.licenses.gpl3; + maintainers = with lib.maintainers; [ seirl ]; }; } diff --git a/pkgs/games/iortcw/default.nix b/pkgs/by-name/io/iortcw/package.nix similarity index 100% rename from pkgs/games/iortcw/default.nix rename to pkgs/by-name/io/iortcw/package.nix diff --git a/pkgs/games/iortcw/sp.nix b/pkgs/by-name/io/iortcw/sp.nix similarity index 100% rename from pkgs/games/iortcw/sp.nix rename to pkgs/by-name/io/iortcw/sp.nix diff --git a/pkgs/games/koboredux/default.nix b/pkgs/by-name/ko/koboredux/package.nix similarity index 98% rename from pkgs/games/koboredux/default.nix rename to pkgs/by-name/ko/koboredux/package.nix index d694266934cf..e51cf8a042e9 100644 --- a/pkgs/games/koboredux/default.nix +++ b/pkgs/by-name/ko/koboredux/package.nix @@ -14,7 +14,6 @@ let inherit (lib) - and licenses maintainers optional @@ -27,8 +26,8 @@ let main_src = fetchFromGitHub { owner = "olofson"; - repo = pname; - rev = "v${version}"; + repo = "koboredux"; + tag = "v${version}"; sha256 = "09h9r65z8bar2z89s09j6px0gdq355kjf38rmd85xb2aqwnm6xig"; }; diff --git a/pkgs/games/linthesia/default.nix b/pkgs/by-name/li/linthesia/package.nix similarity index 78% rename from pkgs/games/linthesia/default.nix rename to pkgs/by-name/li/linthesia/package.nix index a214c80b7792..013366e8ff40 100644 --- a/pkgs/games/linthesia/default.nix +++ b/pkgs/by-name/li/linthesia/package.nix @@ -18,7 +18,7 @@ wrapGAppsHook3, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "linthesia"; version = "unstable-2023-05-23"; @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { owner = "linthesia"; repo = "linthesia"; rev = "1f2701241f8865c2f5c14a97b81ae64884cf0396"; - sha256 = "sha256-3uPcpDUGtAGW9q/u8Cn+0bNqikII1Y/a0PKARW/5nao="; + hash = "sha256-3uPcpDUGtAGW9q/u8Cn+0bNqikII1Y/a0PKARW/5nao="; }; postPatch = '' @@ -52,12 +52,12 @@ stdenv.mkDerivation rec { gtk3.out # icon cache ]; - meta = with lib; { + meta = { description = "Game of playing music using a MIDI keyboard following a MIDI file"; mainProgram = "linthesia"; - inherit (src.meta) homepage; - license = licenses.gpl2Plus; - platforms = platforms.linux; + inherit (finalAttrs.src.meta) homepage; + license = lib.licenses.gpl2Plus; + platforms = lib.platforms.linux; maintainers = [ ]; }; -} +}) diff --git a/pkgs/by-name/lz/lzbench/package.nix b/pkgs/by-name/lz/lzbench/package.nix index a9af016a7097..70403dc903d2 100644 --- a/pkgs/by-name/lz/lzbench/package.nix +++ b/pkgs/by-name/lz/lzbench/package.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "lzbench"; - version = "2.1"; + version = "2.2"; src = fetchFromGitHub { owner = "inikep"; repo = "lzbench"; rev = "v${version}"; - sha256 = "sha256-JyK5Hah3X4zwmli44HEO62BYfNg7BBd0+DLlljeHmRc="; + sha256 = "sha256-CmT+mjFKf8/HE00re1QzU2pwdUYR8Js1kN4y6c2ZiNY="; }; enableParallelBuilding = true; diff --git a/pkgs/games/mudlet/default.nix b/pkgs/by-name/mu/mudlet/package.nix similarity index 87% rename from pkgs/games/mudlet/default.nix rename to pkgs/by-name/mu/mudlet/package.nix index f8638aaff306..90cc8791a155 100644 --- a/pkgs/games/mudlet/default.nix +++ b/pkgs/by-name/mu/mudlet/package.nix @@ -6,20 +6,16 @@ cmake, git, pkg-config, - qttools, which, - wrapQtAppsHook, boost, hunspell, libGLU, libsForQt5, libsecret, libzip, - lua, + lua5_1, pcre, pugixml, - qtbase, - qtmultimedia, discord-rpc, yajl, withDiscordRpc ? false, @@ -43,7 +39,7 @@ let }); }; in - lua.override { inherit packageOverrides; }; + lua5_1.override { inherit packageOverrides; }; luaEnv = overrideLua.withPackages ( ps: with ps; [ @@ -56,14 +52,14 @@ let ] ); in -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "mudlet"; version = "4.19.1"; src = fetchFromGitHub { owner = "Mudlet"; repo = "Mudlet"; - rev = "Mudlet-${version}"; + rev = "Mudlet-${finalAttrs.version}"; fetchSubmodules = true; hash = "sha256-I4RRIfHw9kZwxMlc9pvdtwPpq9EvNJU69WpGgZ+0uiw="; }; @@ -81,9 +77,9 @@ stdenv.mkDerivation rec { git luaEnv pkg-config - qttools + libsForQt5.qttools which - wrapQtAppsHook + libsForQt5.wrapQtAppsHook ]; buildInputs = [ @@ -96,8 +92,8 @@ stdenv.mkDerivation rec { luaEnv pcre pugixml - qtbase - qtmultimedia + libsForQt5.qtbase + libsForQt5.qtmultimedia yajl ] ++ lib.optional withDiscordRpc discord-rpc; @@ -129,7 +125,7 @@ stdenv.mkDerivation rec { cp -r src/mudlet.app/ $out/Applications/mudlet.app mv $out/Applications/mudlet.app/Contents/MacOS/mudlet $out/Applications/mudlet.app/Contents/MacOS/mudlet-unwrapped makeQtWrapper $out/Applications/Mudlet.app/Contents/MacOS/mudlet-unwrapped $out/Applications/Mudlet.app/Contents/MacOS/mudlet \ - --set LUA_CPATH "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \ + --set LUA_CPATH "${luaEnv}/lib/lua/${lua5_1.luaversion}/?.so" \ --prefix LUA_PATH : "$NIX_LUA_PATH" \ --prefix DYLD_LIBRARY_PATH : "${ lib.makeLibraryPath ( @@ -146,7 +142,7 @@ stdenv.mkDerivation rec { mkdir -pv $out/bin cp src/mudlet $out/bin/mudlet-unwrapped makeQtWrapper $out/bin/mudlet-unwrapped $out/bin/mudlet \ - --set LUA_CPATH "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \ + --set LUA_CPATH "${luaEnv}/lib/lua/${lua5_1.luaversion}/?.so" \ --prefix LUA_PATH : "$NIX_LUA_PATH" \ --prefix LD_LIBRARY_PATH : "${ lib.makeLibraryPath ( @@ -166,18 +162,18 @@ stdenv.mkDerivation rec { runHook postInstall ''; - meta = with lib; { + meta = { description = "Crossplatform mud client"; homepage = "https://www.mudlet.org/"; - maintainers = with maintainers; [ + maintainers = with lib.maintainers; [ wyvie pstn cpu felixalbrigtsen ]; - platforms = platforms.linux ++ platforms.darwin; + platforms = with lib.platforms; linux ++ darwin; broken = stdenv.hostPlatform.isDarwin; - license = licenses.gpl2Plus; + license = lib.licenses.gpl2Plus; mainProgram = "mudlet"; }; -} +}) diff --git a/pkgs/by-name/my/mysql84/package.nix b/pkgs/by-name/my/mysql84/package.nix index c7ed5567b802..22a1752e0df7 100644 --- a/pkgs/by-name/my/mysql84/package.nix +++ b/pkgs/by-name/my/mysql84/package.nix @@ -27,11 +27,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "mysql"; - version = "8.4.6"; + version = "8.4.7"; src = fetchurl { url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor finalAttrs.version}/mysql-${finalAttrs.version}.tar.gz"; - hash = "sha256-oeUj3IvpbRilreEGmYZhKFygG29bRsCLJlQRDkDfL7c="; + hash = "sha256-wL8zqUzbkI8UmuoHl6/7GxOSYszw4Ll4ehckYgdULmk="; }; nativeBuildInputs = [ diff --git a/pkgs/games/npush/default.nix b/pkgs/by-name/np/npush/package.nix similarity index 79% rename from pkgs/games/npush/default.nix rename to pkgs/by-name/np/npush/package.nix index 137f8d041165..b8ef0bbe4ad9 100644 --- a/pkgs/games/npush/default.nix +++ b/pkgs/by-name/np/npush/package.nix @@ -5,12 +5,12 @@ ncurses, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "npush"; version = "0.7"; src = fetchurl { - url = "mirror://sourceforge/project/npush/${pname}/${version}/${pname}-${version}.tgz"; + url = "mirror://sourceforge/project/npush/npush/${finalAttrs.version}/npush-${finalAttrs.version}.tgz"; hash = "sha256-8hbSsyeehzd4T3fUhDyebyI/oTHOHr3a8ArYAquivNk="; }; @@ -42,13 +42,13 @@ stdenv.mkDerivation rec { runHook postInstall ''; - meta = with lib; { + meta = { broken = stdenv.hostPlatform.isDarwin; homepage = "https://npush.sourceforge.net/"; description = "Sokoban-like game"; mainProgram = "npush"; - license = licenses.gpl2Plus; + license = lib.licenses.gpl2Plus; maintainers = [ ]; - platforms = with platforms; unix; + platforms = lib.platforms.unix; }; -} +}) diff --git a/pkgs/games/npush/run.nix b/pkgs/by-name/np/npush/run.nix similarity index 100% rename from pkgs/games/npush/run.nix rename to pkgs/by-name/np/npush/run.nix diff --git a/pkgs/games/openxcom/default.nix b/pkgs/by-name/op/openxcom/package.nix similarity index 96% rename from pkgs/games/openxcom/default.nix rename to pkgs/by-name/op/openxcom/package.nix index e17ea01a0e8d..275c1191ef8c 100644 --- a/pkgs/games/openxcom/default.nix +++ b/pkgs/by-name/op/openxcom/package.nix @@ -7,7 +7,7 @@ libGL, openssl, pkg-config, - SDL, + SDL_compat, SDL_image, SDL_mixer, SDL_gfx, @@ -36,7 +36,7 @@ stdenv.mkDerivation { boost libGL libGLU - SDL + SDL_compat SDL_gfx SDL_image SDL_mixer diff --git a/pkgs/by-name/pa/parcellite/package.nix b/pkgs/by-name/pa/parcellite/package.nix deleted file mode 100644 index a39b4d9f8ac8..000000000000 --- a/pkgs/by-name/pa/parcellite/package.nix +++ /dev/null @@ -1,52 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitHub, - autoreconfHook, - gtk2, - hicolor-icon-theme, - intltool, - pkg-config, - which, - wrapGAppsHook3, - xdotool, - libappindicator-gtk2, -}: - -stdenv.mkDerivation rec { - pname = "parcellite"; - version = "1.2.1"; - - src = fetchFromGitHub { - owner = "rickyrockrat"; - repo = "parcellite"; - rev = version; - sha256 = "19q4x6x984s6gxk1wpzaxawgvly5vnihivrhmja2kcxhzqrnfhiy"; - }; - - nativeBuildInputs = [ - autoreconfHook - intltool - pkg-config - wrapGAppsHook3 - ]; - buildInputs = [ - gtk2 - hicolor-icon-theme - libappindicator-gtk2 - ]; - NIX_LDFLAGS = "-lgio-2.0"; - - preFixup = '' - # Need which and xdotool on path to fix auto-pasting. - gappsWrapperArgs+=(--prefix PATH : "${which}/bin:${xdotool}/bin") - ''; - - meta = with lib; { - description = "Lightweight GTK clipboard manager"; - homepage = "https://github.com/rickyrockrat/parcellite"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - mainProgram = "parcellite"; - }; -} diff --git a/pkgs/games/pegasus-frontend/default.nix b/pkgs/by-name/pe/pegasus-frontend/package.nix similarity index 62% rename from pkgs/games/pegasus-frontend/default.nix rename to pkgs/by-name/pe/pegasus-frontend/package.nix index 3f5244273c8b..942dc0b24d22 100644 --- a/pkgs/games/pegasus-frontend/default.nix +++ b/pkgs/by-name/pe/pegasus-frontend/package.nix @@ -3,15 +3,9 @@ fetchFromGitHub, stdenv, cmake, - qtbase, - qtgraphicaleffects, - qtmultimedia, - qtsvg, - qttools, - qtx11extras, SDL2, sqlite, - wrapQtAppsHook, + libsForQt5, }: stdenv.mkDerivation { @@ -28,26 +22,29 @@ stdenv.mkDerivation { nativeBuildInputs = [ cmake - qttools - wrapQtAppsHook + libsForQt5.qttools + libsForQt5.wrapQtAppsHook ]; - buildInputs = [ - qtbase - qtmultimedia - qtsvg - qtgraphicaleffects - qtx11extras - sqlite - SDL2 - ]; + buildInputs = + (with libsForQt5; [ + qtbase + qtmultimedia + qtsvg + qtgraphicaleffects + qtx11extras + ]) + ++ [ + sqlite + SDL2 + ]; - meta = with lib; { + meta = { description = "Cross platform, customizable graphical frontend for launching emulators and managing your game collection"; mainProgram = "pegasus-fe"; homepage = "https://pegasus-frontend.org/"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ tengkuizdihar ]; - platforms = platforms.linux; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ tengkuizdihar ]; + platforms = lib.platforms.linux; }; } diff --git a/pkgs/games/qgo/fix-paths.patch b/pkgs/by-name/qg/qgo/fix-paths.patch similarity index 100% rename from pkgs/games/qgo/fix-paths.patch rename to pkgs/by-name/qg/qgo/fix-paths.patch diff --git a/pkgs/games/qgo/default.nix b/pkgs/by-name/qg/qgo/package.nix similarity index 82% rename from pkgs/games/qgo/default.nix rename to pkgs/by-name/qg/qgo/package.nix index 68b4a9325b38..6f3b6384f660 100644 --- a/pkgs/games/qgo/default.nix +++ b/pkgs/by-name/qg/qgo/package.nix @@ -1,18 +1,15 @@ { lib, - mkDerivation, + stdenv, + libsForQt5, fetchFromGitHub, - qmake, - qtbase, - qtmultimedia, - qttools, }: -mkDerivation { +stdenv.mkDerivation { pname = "qgo"; version = "unstable-2017-12-18"; - meta = with lib; { + meta = { description = "Go client based on Qt5"; mainProgram = "qgo"; longDescription = '' @@ -28,8 +25,8 @@ mkDerivation { Chinese, "囲碁(Yi Go)" in Japanese, "바둑(Baduk)" in Korean. ''; homepage = "https://github.com/pzorin/qgo"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ zalakain ]; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ zalakain ]; }; src = fetchFromGitHub { @@ -44,11 +41,12 @@ mkDerivation { sed -i 's|@out@|'"''${out}"'|g' src/src.pro src/defines.h ''; nativeBuildInputs = [ - qmake - qttools + libsForQt5.qmake + libsForQt5.qttools + libsForQt5.wrapQtAppsHook ]; buildInputs = [ - qtbase - qtmultimedia + libsForQt5.qtbase + libsForQt5.qtmultimedia ]; } diff --git a/pkgs/games/qtads/default.nix b/pkgs/by-name/qt/qtads/package.nix similarity index 58% rename from pkgs/games/qtads/default.nix rename to pkgs/by-name/qt/qtads/package.nix index 90f6652ac658..ae92c2f70003 100644 --- a/pkgs/games/qtads/default.nix +++ b/pkgs/by-name/qt/qtads/package.nix @@ -1,31 +1,31 @@ { lib, - mkDerivation, + stdenv, fetchFromGitHub, pkg-config, - qmake, SDL2, fluidsynth, libsndfile, libvorbis, mpg123, - qtbase, + qt5, }: -mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "qtads"; version = "3.4.0"; src = fetchFromGitHub { owner = "realnc"; repo = "qtads"; - rev = "v${version}"; - sha256 = "sha256-KIqufpvl7zeUtDBXUOAZxBIbfv+s51DoSaZr3jol+bw="; + tag = "v${finalAttrs.version}"; + hash = "sha256-KIqufpvl7zeUtDBXUOAZxBIbfv+s51DoSaZr3jol+bw="; }; nativeBuildInputs = [ pkg-config - qmake + qt5.qmake + qt5.wrapQtAppsHook ]; buildInputs = [ @@ -34,15 +34,15 @@ mkDerivation rec { libsndfile libvorbis mpg123 - qtbase + qt5.qtbase ]; - meta = with lib; { + meta = { homepage = "https://realnc.github.io/qtads/"; description = "Multimedia interpreter for TADS games"; mainProgram = "qtads"; - license = licenses.gpl3Plus; - platforms = platforms.linux; - maintainers = with maintainers; [ orivej ]; + license = lib.licenses.gpl3Plus; + platforms = lib.platforms.linux; + maintainers = with lib.maintainers; [ orivej ]; }; -} +}) diff --git a/pkgs/games/quakespasm/default.nix b/pkgs/by-name/qu/quakespasm/package.nix similarity index 90% rename from pkgs/games/quakespasm/default.nix rename to pkgs/by-name/qu/quakespasm/package.nix index 8b669b489773..d76476cce0e1 100644 --- a/pkgs/games/quakespasm/default.nix +++ b/pkgs/by-name/qu/quakespasm/package.nix @@ -20,16 +20,16 @@ useSDL2 ? stdenv.hostPlatform.isDarwin, # TODO: CoreAudio fails to initialize with SDL 1.x for some reason. }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "quakespasm"; version = "0.96.3"; src = fetchurl { - url = "mirror://sourceforge/quakespasm/quakespasm-${version}.tar.gz"; - sha256 = "sha256-tXjWzkpPf04mokRY8YxLzI04VK5iUuuZgu6B2V5QGA4="; + url = "mirror://sourceforge/quakespasm/quakespasm-${finalAttrs.version}.tar.gz"; + hash = "sha256-tXjWzkpPf04mokRY8YxLzI04VK5iUuuZgu6B2V5QGA4="; }; - sourceRoot = "${pname}-${version}/Quake"; + sourceRoot = "quakespasm-${finalAttrs.version}/Quake"; patches = lib.optionals stdenv.hostPlatform.isDarwin [ # Makes Darwin Makefile use system libraries instead of ones from app bundle @@ -113,7 +113,7 @@ stdenv.mkDerivation rec { }) ]; - meta = with lib; { + meta = { description = "Engine for iD software's Quake"; homepage = "https://quakespasm.sourceforge.net/"; longDescription = '' @@ -125,8 +125,8 @@ stdenv.mkDerivation rec { and smoother mouse input - though no CD support. ''; - platforms = platforms.unix; - maintainers = with maintainers; [ mikroskeem ]; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ mikroskeem ]; mainProgram = "quake"; }; -} +}) diff --git a/pkgs/games/quakespasm/quakespasm-darwin-makefile-improvements.patch b/pkgs/by-name/qu/quakespasm/quakespasm-darwin-makefile-improvements.patch similarity index 100% rename from pkgs/games/quakespasm/quakespasm-darwin-makefile-improvements.patch rename to pkgs/by-name/qu/quakespasm/quakespasm-darwin-makefile-improvements.patch diff --git a/pkgs/games/quakespasm/vulkan.nix b/pkgs/by-name/qu/quakespasm/vulkan.nix similarity index 100% rename from pkgs/games/quakespasm/vulkan.nix rename to pkgs/by-name/qu/quakespasm/vulkan.nix diff --git a/pkgs/games/rogue/default.nix b/pkgs/by-name/ro/rogue/package.nix similarity index 54% rename from pkgs/games/rogue/default.nix rename to pkgs/by-name/ro/rogue/package.nix index dcb16306767a..67209409c59b 100644 --- a/pkgs/games/rogue/default.nix +++ b/pkgs/by-name/ro/rogue/package.nix @@ -2,30 +2,30 @@ lib, stdenv, fetchurl, - ncurses, + ncurses5, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "rogue"; version = "5.4.4"; src = fetchurl { urls = [ - "https://src.fedoraproject.org/repo/pkgs/rogue/rogue${version}-src.tar.gz/033288f46444b06814c81ea69d96e075/rogue${version}-src.tar.gz" - "http://ftp.vim.org/ftp/pub/ftp/os/Linux/distr/slitaz/sources/packages-cooking/r/rogue${version}-src.tar.gz" - "http://rogue.rogueforge.net/files/rogue${lib.versions.majorMinor version}/rogue${version}-src.tar.gz" + "https://src.fedoraproject.org/repo/pkgs/rogue/rogue${finalAttrs.version}-src.tar.gz/033288f46444b06814c81ea69d96e075/rogue${finalAttrs.version}-src.tar.gz" + "http://ftp.vim.org/ftp/pub/ftp/os/Linux/distr/slitaz/sources/packages-cooking/r/rogue${finalAttrs.version}-src.tar.gz" + "http://rogue.rogueforge.net/files/rogue${lib.versions.majorMinor finalAttrs.version}/rogue${finalAttrs.version}-src.tar.gz" ]; sha256 = "18g81274d0f7sr04p7h7irz0d53j6kd9j1y3zbka1gcqq0gscdvx"; }; - buildInputs = [ ncurses ]; + buildInputs = [ ncurses5 ]; - meta = with lib; { + meta = { homepage = "http://rogue.rogueforge.net/rogue-5-4/"; description = "Final version of the original Rogue game developed for the UNIX operating system"; mainProgram = "rogue"; - platforms = platforms.all; - license = licenses.bsd3; + platforms = lib.platforms.all; + license = lib.licenses.bsd3; maintainers = [ ]; }; -} +}) diff --git a/pkgs/games/scummvm/games.nix b/pkgs/by-name/sc/scummvm/games.nix similarity index 100% rename from pkgs/games/scummvm/games.nix rename to pkgs/by-name/sc/scummvm/games.nix diff --git a/pkgs/games/scummvm/default.nix b/pkgs/by-name/sc/scummvm/package.nix similarity index 88% rename from pkgs/games/scummvm/default.nix rename to pkgs/by-name/sc/scummvm/package.nix index 54e4c74bd414..15831abecef0 100644 --- a/pkgs/games/scummvm/default.nix +++ b/pkgs/by-name/sc/scummvm/package.nix @@ -23,14 +23,14 @@ nix-update-script, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "scummvm"; version = "2.9.1"; src = fetchFromGitHub { owner = "scummvm"; repo = "scummvm"; - rev = "v${version}"; + rev = "v${finalAttrs.version}"; hash = "sha256-+MM47piuXuIBmAQd0g/cAg5t02qSQ0sw/DwFrMUSIAA="; }; @@ -82,12 +82,12 @@ stdenv.mkDerivation rec { updateScript = nix-update-script { }; }; - meta = with lib; { + meta = { description = "Program to run certain classic graphical point-and-click adventure games (such as Monkey Island)"; mainProgram = "scummvm"; homepage = "https://www.scummvm.org/"; - license = licenses.gpl2Plus; - maintainers = [ maintainers.peterhoeg ]; - platforms = platforms.unix; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ peterhoeg ]; + platforms = lib.platforms.unix; }; -} +}) diff --git a/pkgs/by-name/se/session-desktop/Info.plist b/pkgs/by-name/se/session-desktop/Info.plist new file mode 100644 index 000000000000..1be6514e846b --- /dev/null +++ b/pkgs/by-name/se/session-desktop/Info.plist @@ -0,0 +1,93 @@ + + + + + CFBundleDisplayName + Session + CFBundleExecutable + Session + CFBundleIconFile + icon.icns + CFBundleIdentifier + com.loki-project.messenger-desktop + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Session + CFBundlePackageType + APPL + CFBundleShortVersionString + @version@ + CFBundleVersion + refs/heads/master + LSApplicationCategoryType + public.app-category.social-networking + LSEnvironment + + MallocNanoZone + 0 + + LSMinimumSystemVersion + 11.0 + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + NSAllowsLocalNetworking + + NSExceptionDomains + + 127.0.0.1 + + NSIncludesSubdomains + + NSTemporaryExceptionAllowsInsecureHTTPLoads + + NSTemporaryExceptionAllowsInsecureHTTPSLoads + + NSTemporaryExceptionMinimumTLSVersion + 1.0 + NSTemporaryExceptionRequiresForwardSecrecy + + + localhost + + NSIncludesSubdomains + + NSTemporaryExceptionAllowsInsecureHTTPLoads + + NSTemporaryExceptionAllowsInsecureHTTPSLoads + + NSTemporaryExceptionMinimumTLSVersion + 1.0 + NSTemporaryExceptionRequiresForwardSecrecy + + + + + NSBluetoothAlwaysUsageDescription + This app needs access to Bluetooth + NSBluetoothPeripheralUsageDescription + This app needs access to Bluetooth + NSCameraUsageDescription + Session requires camera access to record video. + NSHighResolutionCapable + + NSHumanReadableCopyright + Copyright © 2025 Session Foundation + NSMainNibFile + MainMenu + NSMicrophoneUsageDescription + Session requires microphone access to record audio. + NSPrefersDisplaySafeAreaCompatibilityMode + + NSPrincipalClass + AtomApplication + NSQuitAlwaysKeepsWindows + + NSRequiresAquaSystemAppearance + + NSSupportsAutomaticGraphicsSwitching + + + diff --git a/pkgs/by-name/se/session-desktop/fake-git.sh b/pkgs/by-name/se/session-desktop/fake-git.sh new file mode 100644 index 000000000000..088c718c0f84 --- /dev/null +++ b/pkgs/by-name/se/session-desktop/fake-git.sh @@ -0,0 +1,74 @@ +if [ "$1" != "rev-parse" ]; then + echo "$@" >&2 + exit 1 +fi +shift + +short=0 +shortlen=7 +ref= +while [ $# -gt 0 ]; do + case "$1" in + --short) + short=1 + if [ $# -gt 1 ] && [ "$2" -eq "$2" ] 2>/dev/null; then + shortlen=$2 + shift + else + shortlen=7 + fi + ;; + --short=*) + short=1 + shortlen=''${1#--short=} + ;; + --is-inside-work-tree) + echo true + exit 0 + ;; + HEAD|HEAD:*) + ref=$1 + ;; + *) + echo "rev-parse $@" >&2 + exit 1 + ;; + esac + shift +done + +if [ -z "$ref" ]; then + echo "rev-parse" >&2 + exit 1 +fi + +case "$ref" in + HEAD) + path=$(pwd) + hash= + while [ "$path" != "/" ]; do + if [ -f "$path/.gitrev" ]; then + hash=$(cat "$path/.gitrev") + break + fi + path=$(dirname "$path") + done + ;; + HEAD:*) + subpath=''${ref#HEAD:} + if [ -f "$PWD/$subpath/.gitrev" ]; then + hash=$(cat "$PWD/$subpath/.gitrev") + fi + ;; +esac + +if [ -z "$hash" ]; then + echo "rev-parse $ref" >&2 + exit 1 +fi + +if [ "$short" -eq 1 ]; then + printf '%s\n' "$(printf '%s' "$hash" | cut -c1-"$shortlen")" +else + printf '%s\n' "$hash" +fi diff --git a/pkgs/by-name/se/session-desktop/package.nix b/pkgs/by-name/se/session-desktop/package.nix index b9183d1da7e7..4e98a2f9c25c 100644 --- a/pkgs/by-name/se/session-desktop/package.nix +++ b/pkgs/by-name/se/session-desktop/package.nix @@ -1,67 +1,336 @@ { lib, + fetchFromGitHub, makeDesktopItem, + writeShellScriptBin, copyDesktopItems, - stdenvNoCC, - fetchurl, - appimageTools, + stdenv, makeWrapper, + fetchpatch, + replaceVars, + fetchYarnDeps, + yarnConfigHook, + yarnBuildHook, + yarnInstallHook, + rustPlatform, + nodejs, + electron, + jq, + python3, + git, + cmake, + openssl, + tcl, + xcodebuild, + cctools, + darwin, }: let - version = "1.15.2"; - pname = "session-desktop"; + fake-git = writeShellScriptBin "git" (lib.readFile ./fake-git.sh); + + sqlcipher-src = stdenv.mkDerivation (finalAttrs: { + pname = "sqlcipher-src"; + # when updating: look for the version in deps/download.js of @signalapp/better-sqlite3, whose version is in turn found in yarn.lock + version = "4.6.1"; + src = fetchFromGitHub { + owner = "signalapp"; + repo = "sqlcipher"; + tag = "v${finalAttrs.version}-f_barrierfsync"; + hash = "sha256-3fGRPZpJmLbY95DLJ34BK53ZTzJ1dWEzislXsOrTc8k="; + }; + + patches = [ + # Needed to reproduce the build artifact from Signal's CI. + # TODO: find the actual CI workflow that produces + # https://build-artifacts.signal.org/desktop/sqlcipher-v2-4.6.1-signal-patch2--0.2.1-asm2-6253f886c40e49bf892d5cdc92b2eb200b12cd8d80c48ce5b05967cfd01ee8c7.tar.gz + # See also: https://github.com/signalapp/better-sqlite3/blob/v9.0.13/deps/defines.gypi#L33 + # Building @signalapp/better-sqlite3 will require openssl without this patch. + (fetchpatch { + name = "sqlcipher-crypto-custom.patch"; + url = "https://github.com/sqlcipher/sqlcipher/commit/702af1ff87528a78f5a9b2091806d3a5642e1d4a.patch"; + hash = "sha256-OKh6qCGHBQWZyzXfyEveAs71wrNwlWLuG9jNqDeKNG4="; + }) + ]; + + buildInputs = [ + openssl + tcl + ]; + + # see https://github.com/signalapp/node-sqlcipher/blob/v2.4.4/deps/sqlcipher/update.sh + configureFlags = [ "--enable-update-limit" ]; + makeFlags = [ + "sqlite3.h" + "sqlite3.c" + "sqlite3ext.h" + "shell.c" + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp sqlite3.h sqlite3.c sqlite3ext.h shell.c $out + + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/signalapp/sqlcipher"; + license = lib.licenses.bsd3; + }; + }); + + signal-sqlcipher-extension = rustPlatform.buildRustPackage (finalAttrs: { + pname = "signal-sqlcipher-extension"; + # when updating: look for the version in deps/download.js of @signalapp/better-sqlite3, whose version is in turn found in yarn.lock + version = "0.2.1"; + src = fetchFromGitHub { + owner = "signalapp"; + repo = "Signal-Sqlcipher-Extension"; + rev = "v${finalAttrs.version}"; + hash = "sha256-INSkm7ZuetPASuIqezzzG/bXoEHClUb9XpxWbxLVXRc="; + }; + + cargoHash = "sha256-qT4HM/FRL8qugKKNlMYM/0zgUsC6cDOa9fgd1d4VIrc="; + + postInstall = '' + mkdir -p $out/include + cp target/*.h $out/include + ''; + + meta = { + homepage = "https://github.com/signalapp/Signal-Sqlcipher-Extension"; + license = lib.licenses.agpl3Only; + }; + }); + + libsession-util-nodejs = stdenv.mkDerivation (finalAttrs: { + pname = "libsession-util-nodejs"; + version = "0.5.5"; # find version in yarn.lock + src = fetchFromGitHub { + owner = "session-foundation"; + repo = "libsession-util-nodejs"; + tag = "v${finalAttrs.version}"; + fetchSubmodules = true; + deepClone = true; # need git rev for all submodules + hash = "sha256-FmI9Xmml+sjXHJ+W6CfBC8QUrQR89H3HWEYlHE2Xsts="; + # fetchgit is not reproducible with deepClone + fetchSubmodules: + # https://github.com/NixOS/nixpkgs/issues/100498 + postFetch = '' + find $out -name .git -type d -prune | while read -r gitdir; do + pushd "$(dirname "$gitdir")" + git rev-parse HEAD > .gitrev + popd + done + find $out -name .git -type d -prune -exec rm -rf {} + + ''; + }; + + postPatch = '' + sed -i -E 's/--runtime-version=[^[:space:]]*/--runtime-version=${electron.version}/' package.json + ''; + + nativeBuildInputs = [ + yarnConfigHook + yarnBuildHook + yarnInstallHook + nodejs + cmake + python3 + fake-git # used in update_version.sh, libsession-util/external/oxen-libquic/cmake/check_submodule.cmake, etc. + jq + ]; + + dontUseCmakeConfigure = true; + yarnOfflineCache = fetchYarnDeps { + yarnLock = "${finalAttrs.src}/yarn.lock"; + hash = "sha256-0pH88EOqxG/kg7edaWnaLEs3iqhIoRCJxDdBn4JxYeY="; + }; + + preBuild = '' + # prevent downloading; see https://github.com/cmake-js/cmake-js/blob/v7.3.1/lib/dist.js + mkdir -p "$HOME/.cmake-js/electron-${stdenv.hostPlatform.node.arch}" + ln -s ${electron.headers} "$HOME/.cmake-js/electron-${stdenv.hostPlatform.node.arch}/v${electron.version}" + + # populate src/version.h + yarn update_version + ''; + + # The install script is the build script. + # `yarn install` may be better than `yarn run install`. + # However, the former seems to use /bin/bash while the latter uses stdenv.shell, + # and the former simply cannot find the cmake-js command, which is pretty weird, + # and using `yarn config set script-shell` does not help. + yarnBuildScript = "run"; + yarnBuildFlags = "install"; + + postInstall = '' + # build is not installed by default because it is in .gitignore + cp -r build $out/lib/node_modules/libsession_util_nodejs + ''; + + meta = { + homepage = "https://github.com/session-foundation/libsession-util-nodejs"; + # No license file, but gpl3Only makes sense because package.json says GPL-3.0, + # which is also consistent with session-desktop and libsession-util. + license = lib.licenses.gpl3Only; + }; + }); - src = fetchurl { - url = "https://github.com/session-foundation/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage"; - hash = "sha256-xQ/Fjg04XgXUioCCU0+sOLaTWZV1z05EmzZCqEU++Ok="; - }; - appimage = appimageTools.wrapType2 { inherit version pname src; }; - appimage-contents = appimageTools.extractType2 { inherit version pname src; }; in -stdenvNoCC.mkDerivation { - inherit version pname; - src = appimage; +stdenv.mkDerivation (finalAttrs: { + pname = "session-desktop"; + version = "1.16.10"; + src = fetchFromGitHub { + owner = "session-foundation"; + repo = "session-desktop"; + tag = "v${finalAttrs.version}"; + leaveDotGit = true; + hash = "sha256-9l5AgG9YNz61lS/1Q/b46UgdyidHH7sQK7ZWz19XWr0="; + postFetch = '' + pushd $out + git rev-parse HEAD > .gitrev + rm -rf .git + popd + ''; + }; + + postPatch = '' + jq ' + del(.engines) # too restrictive Node version requirement + # control what files are packed in the install phase + + {files: ["**/*.js", "**/*.html", "**/*.node", "_locales", "config", "fonts", "images", "mmdb", "mnemonic_languages", "protos", "sound", "stylesheets"]} + ' package.json > package.json.new + mv package.json.new package.json + ''; nativeBuildInputs = [ copyDesktopItems makeWrapper + yarnConfigHook + yarnBuildHook + yarnInstallHook + nodejs + jq + python3 + fake-git # see build/updateLocalConfig.js + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + cctools # provides libtool needed for better-sqlite3 + xcodebuild + darwin.autoSignDarwinBinariesHook ]; + env = { + npm_config_nodedir = electron.headers; + ELECTRON_SKIP_BINARY_DOWNLOAD = 1; + }; + + dontUseCmakeConfigure = true; + yarnOfflineCache = fetchYarnDeps { + # Future maintainers: keep in mind that sometimes the upstream deduplicates dependencies + # (see the `dedup` script in package.json) before committing yarn.lock, + # which may unfortunately break the offline cache (and may not). + # If that happens, clone the repo and run `yarn install --ignore-scripts` yourself, + # copy the modified yarn.lock here, and use `./yarn.lock` instead of `"${finalAttrs.src}/yarn.lock"`, + # and also add `cp ${./yarn.lock} yarn.lock` to postPatch. + yarnLock = "${finalAttrs.src}/yarn.lock"; + hash = "sha256-A2AbKOXWx8+PN467DVpKVTorZDs/UFaxjc7VS0Xdo6k="; + }; + + preBuild = '' + # prevent downloading + pushd node_modules/@signalapp/better-sqlite3/deps + tar -czf sqlcipher.tar.gz \ + -C ${signal-sqlcipher-extension} lib include \ + -C ${sqlcipher-src} . \ + --transform="s,^lib,./signal-sqlcipher-extension/${stdenv.targetPlatform.rust.cargoShortTarget}," \ + --transform="s,^include,./signal-sqlcipher-extension/include," + hash=$(sha256sum sqlcipher.tar.gz | cut -d' ' -f1) + sed -i "s/^const HASH = '.*';/const HASH = '$hash';/" download.js + popd + + export NODE_ENV=production + + # rebuild native modules except libsession_util_nodejs + rm -rf node_modules/libsession_util_nodejs + npm rebuild --verbose --offline --no-progress --release # why doesn't yarn have `rebuild`? + cp -r ${libsession-util-nodejs}/lib/node_modules/libsession_util_nodejs node_modules + chmod -R +w node_modules/libsession_util_nodejs + rm -rf node_modules/libsession_util_nodejs/node_modules + + # some important things that did not run because of --ignore-scripts + yarn run postinstall + ''; + + preInstall = '' + # Do not want yarn prune to remove native modules that we just built. + mv node_modules node_modules.dev + ''; + + postInstall = '' + find node_modules.dev -mindepth 2 -maxdepth 3 -type d -name build | while read -r buildDir; do + packageDir=$(dirname ''${buildDir#node_modules.dev/}) + installPackageDir="$out/lib/node_modules/session-desktop/node_modules/$packageDir" + if [ -d "$installPackageDir" ]; then + cp -r "$buildDir" "$installPackageDir" + fi + done + + makeWrapper ${lib.getExe electron} $out/bin/session-desktop \ + --add-flags $out/lib/node_modules/session-desktop \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \ + --set NODE_ENV production \ + --inherit-argv0 + + for f in build/icons/icon_*.png; do + base=$(basename $f .png) + size=''${base#icon_} + install -Dm644 $f $out/share/icons/hicolor/$size/apps/session-desktop.png + done + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + mkdir -p $out/Applications/Session.app/Contents/{MacOS,Resources} + ln -s $out/bin/session-desktop $out/Applications/Session.app/Contents/MacOS/Session + install -Dm644 build/icon-mac.icns $out/Applications/Session.app/Contents/Resources/icon.icns + install -Dm644 ${ + # Adapted from the dmg package from upstream: + # https://github.com/session-foundation/session-desktop/releases/download/v1.16.10/session-desktop-mac-arm64-1.16.10.dmg + replaceVars ./Info.plist { inherit (finalAttrs) version; } + } $out/Applications/Session.app/Contents/Info.plist + ''; + desktopItems = [ (makeDesktopItem { name = "Session"; desktopName = "Session"; comment = "Onion routing based messenger"; exec = "session-desktop"; - icon = "${appimage-contents}/session-desktop.png"; + icon = "session-desktop"; terminal = false; type = "Application"; categories = [ "Network" ]; }) ]; - installPhase = '' - runHook preInstall + passthru = { + inherit sqlcipher-src signal-sqlcipher-extension libsession-util-nodejs; + updateScript = ./update.sh; + }; - mkdir -p $out/ - cp -r bin $out/bin - - wrapProgram $out/bin/session-desktop \ - --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" - - runHook postInstall - ''; - - meta = with lib; { + meta = { description = "Onion routing based messenger"; mainProgram = "session-desktop"; homepage = "https://getsession.org/"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ + downloadPage = "https://getsession.org/download"; + changelog = "https://github.com/session-foundation/session-desktop/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ alexnortung + ulysseszhan ]; - platforms = [ "x86_64-linux" ]; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + platforms = lib.platforms.all; }; -} +}) diff --git a/pkgs/by-name/se/session-desktop/update.sh b/pkgs/by-name/se/session-desktop/update.sh new file mode 100755 index 000000000000..8f6cb10327a8 --- /dev/null +++ b/pkgs/by-name/se/session-desktop/update.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq common-updater-scripts + +set -euo pipefail + +currentVersion="$(nix-instantiate --eval --raw -A session-desktop.version)" +latestVersion="$( + curl -s https://api.github.com/repos/session-foundation/session-desktop/releases/latest \ + ${GITHUB_TOKEN:+--user ":$GITHUB_TOKEN"} \ + | jq -r .tag_name | sed 's/^v//' +)" +if [ "$currentVersion" = "$latestVersion" ]; then + echo "Already up-to-date" + exit 0 +fi + +yarnLock="$(curl -s https://raw.githubusercontent.com/session-foundation/session-desktop/v$latestVersion/yarn.lock)" +depVersion() { + name="$(echo "$1" | sed 's/\//\\&/g')" + echo "$yarnLock" | awk '/^"?'"$name"'@/ {flag=1; next} flag && /^ version "[^"]+"/ {match($0, /^ version "([^"]+)"/, a); print a[1]; exit}' - +} + +update-source-version session-desktop.passthru.libsession-util.nodejs "$(depVersion libsession_util_nodejs)" + +downloadJs="$(curl -s https://raw.githubusercontent.com/signalapp/better-sqlite3/v$(depVersion @signalapp/better-sqlite3)/deps/download.js)" +sqlDepVersion() { + echo "$downloadJs" | awk "match(\$0, /^const ${1}_VERSION = '([0-9.]+)['-]/, a) {print a[1]}" - +} + +update-source-version session-desktop.passthru.sqlcipher-src "$(sqlDepVersion SQLCIPHER)" +update-source-version session-desktop.passthru.signal-sqlcipher-extension "$(sqlDepVersion EXTENSION)" + +update-source-version session-desktop "$latestVersion" diff --git a/pkgs/games/shattered-pixel-dungeon/deps.json b/pkgs/by-name/sh/shattered-pixel-dungeon/deps.json similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/deps.json rename to pkgs/by-name/sh/shattered-pixel-dungeon/deps.json diff --git a/pkgs/games/shattered-pixel-dungeon/disable-beryx.patch b/pkgs/by-name/sh/shattered-pixel-dungeon/disable-beryx.patch similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/disable-beryx.patch rename to pkgs/by-name/sh/shattered-pixel-dungeon/disable-beryx.patch diff --git a/pkgs/games/shattered-pixel-dungeon/experienced-pixel-dungeon/default.nix b/pkgs/by-name/sh/shattered-pixel-dungeon/experienced-pixel-dungeon/default.nix similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/experienced-pixel-dungeon/default.nix rename to pkgs/by-name/sh/shattered-pixel-dungeon/experienced-pixel-dungeon/default.nix diff --git a/pkgs/games/shattered-pixel-dungeon/experienced-pixel-dungeon/deps.json b/pkgs/by-name/sh/shattered-pixel-dungeon/experienced-pixel-dungeon/deps.json similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/experienced-pixel-dungeon/deps.json rename to pkgs/by-name/sh/shattered-pixel-dungeon/experienced-pixel-dungeon/deps.json diff --git a/pkgs/games/shattered-pixel-dungeon/generic.nix b/pkgs/by-name/sh/shattered-pixel-dungeon/generic.nix similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/generic.nix rename to pkgs/by-name/sh/shattered-pixel-dungeon/generic.nix diff --git a/pkgs/games/shattered-pixel-dungeon/default.nix b/pkgs/by-name/sh/shattered-pixel-dungeon/package.nix similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/default.nix rename to pkgs/by-name/sh/shattered-pixel-dungeon/package.nix diff --git a/pkgs/games/shattered-pixel-dungeon/rat-king-adventure/default.nix b/pkgs/by-name/sh/shattered-pixel-dungeon/rat-king-adventure/default.nix similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/rat-king-adventure/default.nix rename to pkgs/by-name/sh/shattered-pixel-dungeon/rat-king-adventure/default.nix diff --git a/pkgs/games/shattered-pixel-dungeon/rat-king-adventure/deps.json b/pkgs/by-name/sh/shattered-pixel-dungeon/rat-king-adventure/deps.json similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/rat-king-adventure/deps.json rename to pkgs/by-name/sh/shattered-pixel-dungeon/rat-king-adventure/deps.json diff --git a/pkgs/games/shattered-pixel-dungeon/rkpd2/default.nix b/pkgs/by-name/sh/shattered-pixel-dungeon/rkpd2/default.nix similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/rkpd2/default.nix rename to pkgs/by-name/sh/shattered-pixel-dungeon/rkpd2/default.nix diff --git a/pkgs/games/shattered-pixel-dungeon/rkpd2/deps.json b/pkgs/by-name/sh/shattered-pixel-dungeon/rkpd2/deps.json similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/rkpd2/deps.json rename to pkgs/by-name/sh/shattered-pixel-dungeon/rkpd2/deps.json diff --git a/pkgs/games/shattered-pixel-dungeon/shorter-pixel-dungeon/default.nix b/pkgs/by-name/sh/shattered-pixel-dungeon/shorter-pixel-dungeon/default.nix similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/shorter-pixel-dungeon/default.nix rename to pkgs/by-name/sh/shattered-pixel-dungeon/shorter-pixel-dungeon/default.nix diff --git a/pkgs/games/shattered-pixel-dungeon/shorter-pixel-dungeon/deps.json b/pkgs/by-name/sh/shattered-pixel-dungeon/shorter-pixel-dungeon/deps.json similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/shorter-pixel-dungeon/deps.json rename to pkgs/by-name/sh/shattered-pixel-dungeon/shorter-pixel-dungeon/deps.json diff --git a/pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon/default.nix b/pkgs/by-name/sh/shattered-pixel-dungeon/summoning-pixel-dungeon/default.nix similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon/default.nix rename to pkgs/by-name/sh/shattered-pixel-dungeon/summoning-pixel-dungeon/default.nix diff --git a/pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon/deps.json b/pkgs/by-name/sh/shattered-pixel-dungeon/summoning-pixel-dungeon/deps.json similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon/deps.json rename to pkgs/by-name/sh/shattered-pixel-dungeon/summoning-pixel-dungeon/deps.json diff --git a/pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon/disable-git-version.patch b/pkgs/by-name/sh/shattered-pixel-dungeon/summoning-pixel-dungeon/disable-git-version.patch similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/summoning-pixel-dungeon/disable-git-version.patch rename to pkgs/by-name/sh/shattered-pixel-dungeon/summoning-pixel-dungeon/disable-git-version.patch diff --git a/pkgs/games/shattered-pixel-dungeon/tower-pixel-dungeon/default.nix b/pkgs/by-name/sh/shattered-pixel-dungeon/tower-pixel-dungeon/default.nix similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/tower-pixel-dungeon/default.nix rename to pkgs/by-name/sh/shattered-pixel-dungeon/tower-pixel-dungeon/default.nix diff --git a/pkgs/games/shattered-pixel-dungeon/tower-pixel-dungeon/deps.json b/pkgs/by-name/sh/shattered-pixel-dungeon/tower-pixel-dungeon/deps.json similarity index 100% rename from pkgs/games/shattered-pixel-dungeon/tower-pixel-dungeon/deps.json rename to pkgs/by-name/sh/shattered-pixel-dungeon/tower-pixel-dungeon/deps.json diff --git a/pkgs/by-name/sn/snac2/package.nix b/pkgs/by-name/sn/snac2/package.nix index 071223850fa7..1ebf78b15a10 100644 --- a/pkgs/by-name/sn/snac2/package.nix +++ b/pkgs/by-name/sn/snac2/package.nix @@ -10,14 +10,14 @@ stdenv.mkDerivation (finalAttrs: { pname = "snac2"; - version = "2.83"; + version = "2.84"; src = fetchFromGitea { domain = "codeberg.org"; owner = "grunfink"; repo = "snac2"; tag = finalAttrs.version; - hash = "sha256-5BpJKDXA3PO/ZCfFYMngWaAGns2+ANWCpLgiEi4CAXY="; + hash = "sha256-sKxuFG3lqpjGkC0WVPr+4v09LR7BR2FYBOsToNI6M78="; }; buildInputs = [ diff --git a/pkgs/games/soi/cmake-4-build.patch b/pkgs/by-name/so/soi/cmake-4-build.patch similarity index 100% rename from pkgs/games/soi/cmake-4-build.patch rename to pkgs/by-name/so/soi/cmake-4-build.patch diff --git a/pkgs/games/soi/default.nix b/pkgs/by-name/so/soi/package.nix similarity index 74% rename from pkgs/games/soi/default.nix rename to pkgs/by-name/so/soi/package.nix index d46f093092e1..fdf1a2995284 100644 --- a/pkgs/games/soi/default.nix +++ b/pkgs/by-name/so/soi/package.nix @@ -5,27 +5,27 @@ cmake, boost, eigen2, - lua, + lua5_1, luabind, libGLU, libGL, SDL, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "soi"; version = "0.1.2"; src = fetchurl { - url = "mirror://sourceforge/project/soi/Spheres%20of%20Influence-${version}-Source.tar.bz2"; - name = "${pname}-${version}.tar.bz2"; + url = "mirror://sourceforge/project/soi/Spheres%20of%20Influence-${finalAttrs.version}-Source.tar.bz2"; + name = "soi-${finalAttrs.version}.tar.bz2"; sha256 = "03c3wnvhd42qh8mi68lybf8nv6wzlm1nx16d6pdcn2jzgx1j2lzd"; }; nativeBuildInputs = [ cmake ]; buildInputs = [ boost - lua + lua5_1 luabind libGLU libGL @@ -41,12 +41,12 @@ stdenv.mkDerivation rec { # https://github.com/NixOS/nixpkgs/issues/445447 patches = [ ./cmake-4-build.patch ]; - meta = with lib; { + meta = { description = "Physics-based puzzle game"; mainProgram = "soi"; - maintainers = with maintainers; [ raskin ]; - platforms = platforms.linux; - license = licenses.free; + maintainers = with lib.maintainers; [ raskin ]; + platforms = lib.platforms.linux; + license = lib.licenses.free; downloadPage = "https://sourceforge.net/projects/soi/files/"; }; -} +}) diff --git a/pkgs/by-name/st/stepmania/ffmpeg-7.patch b/pkgs/by-name/st/stepmania/ffmpeg-7.patch new file mode 100644 index 000000000000..80b4b8b6a2b7 --- /dev/null +++ b/pkgs/by-name/st/stepmania/ffmpeg-7.patch @@ -0,0 +1,11 @@ +--- a/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp ++++ b/src/arch/MovieTexture/MovieTexture_FFMpeg.cpp +@@ -273,7 +273,7 @@ + bool bSkipThisFrame = + fTargetTime != -1 && + GetTimestamp() + GetFrameDuration() < fTargetTime && +- (m_pStreamCodec->frame_number % 2) == 0; ++ (m_pStreamCodec->frame_num % 2) == 0; + + int iGotFrame; + int len; diff --git a/pkgs/by-name/st/stepmania/package.nix b/pkgs/by-name/st/stepmania/package.nix index 66cfca7cd573..a447ebb62b07 100644 --- a/pkgs/by-name/st/stepmania/package.nix +++ b/pkgs/by-name/st/stepmania/package.nix @@ -6,10 +6,10 @@ cmake, nasm, alsa-lib, - ffmpeg_6, + ffmpeg_7, glew, glib, - gtk2, + gtk3, libmad, libogg, libpng, @@ -32,12 +32,20 @@ stdenv.mkDerivation { }; patches = [ - # https://github.com/stepmania/stepmania/pull/2247 (fetchpatch { - name = "fix-building-with-ffmpeg6.patch"; - url = "https://github.com/stepmania/stepmania/commit/3fef5ef60b7674d6431f4e1e4ba8c69b0c21c023.patch"; + # Fix building with newer FFmpeg + name = "fix-building-with-newer-ffmpeg.patch"; + url = "https://github.com/stepmania/stepmania/commit/3fef5ef60b7674d6431f4e1e4ba8c69b0c21c023.patch?full_index=1"; hash = "sha256-m+5sP+mIpcSjioRBdzChqja5zwNcwdSNAfvSJ2Lww+g="; }) + (fetchpatch { + # Fix crash on loading animated previews while using newer FFmpeg + name = "fix-crash-newer-ffmpeg.patch"; + url = "https://github.com/stepmania/stepmania/commit/e0d2a5182dcd855e181fffa086273460c553c7ff.patch?full_index=1"; + hash = "sha256-XacaMn29FwG3WgFBfB890I8mzVrvuOL4wPWcHHNYfXM="; + }) + # FFmpeg 7 frame_number compatibility fix + ./ffmpeg-7.patch ]; postPatch = '' @@ -54,10 +62,10 @@ stdenv.mkDerivation { buildInputs = [ alsa-lib - ffmpeg_6 + ffmpeg_7 glew glib - gtk2 + gtk3 libmad libogg libpng @@ -72,8 +80,6 @@ stdenv.mkDerivation { "-DWITH_SYSTEM_FFMPEG=1" "-DWITH_SYSTEM_PNG=on" "-DWITH_SYSTEM_ZLIB=on" - "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include" - "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include" ]; postInstall = '' @@ -86,12 +92,12 @@ stdenv.mkDerivation { install -Dm444 $src/stepmania.desktop -t $out/share/applications ''; - meta = with lib; { + meta = { homepage = "https://www.stepmania.com/"; description = "Free dance and rhythm game for Windows, Mac, and Linux"; - platforms = platforms.linux; - license = licenses.mit; # expat version - maintainers = with maintainers; [ h7x4 ]; + platforms = lib.platforms.linux; + license = lib.licenses.mit; # expat version + maintainers = with lib.maintainers; [ h7x4 ]; mainProgram = "stepmania"; }; } diff --git a/pkgs/by-name/ta/taskwarrior3/package.nix b/pkgs/by-name/ta/taskwarrior3/package.nix index 3f100fbb6b7c..9a1c94241827 100644 --- a/pkgs/by-name/ta/taskwarrior3/package.nix +++ b/pkgs/by-name/ta/taskwarrior3/package.nix @@ -11,6 +11,7 @@ installShellFiles, # buildInputs + corrosion, libuuid, # passthru.tests @@ -24,18 +25,18 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "taskwarrior"; - version = "3.4.1"; + version = "3.4.2"; src = fetchFromGitHub { owner = "GothenburgBitFactory"; repo = "taskwarrior"; tag = "v${finalAttrs.version}"; - hash = "sha256-00HiGju4pIswx8Z+M+ATdBSupiMS2xIm2ZnE52k/RwA="; + hash = "sha256-Y0jnAW4OtPI9GCOSFRPf8/wo4qBB6O1FASj40S601+E="; fetchSubmodules = true; }; cargoDeps = rustPlatform.fetchCargoVendor { name = "${finalAttrs.pname}-${finalAttrs.version}-cargo-deps"; inherit (finalAttrs) src; - hash = "sha256-trc5DIWf68XRBSMjeG/ZchuwFA56wJnLbqm17gE+jYQ="; + hash = "sha256-03HG8AGe6PJ516zL23iNjGUYmGOZa8NuFljb1ll2pjs="; }; # The CMakeLists files used by upstream issue a `cargo install` command to @@ -46,6 +47,9 @@ stdenv.mkDerivation (finalAttrs: { postUnpack = '' export CARGO_HOME=$PWD/.cargo ''; + cmakeFlags = [ + (lib.cmakeBool "SYSTEM_CORROSION" true) + ]; failingTests = [ # It would be very hard to make this test succeed, as the bash completion # needs to be installed and the builder's `bash` should be aware of it. @@ -74,12 +78,13 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ + corrosion libuuid ]; doCheck = true; # See: - # https://github.com/GothenburgBitFactory/taskwarrior/blob/v3.2.0/doc/devel/contrib/development.md#run-the-test-suite + # https://github.com/GothenburgBitFactory/taskwarrior/blob/v3.4.1/doc/devel/contrib/development.md#run-the-test-suite preCheck = '' make test_runner ''; diff --git a/pkgs/by-name/tr/trilium-desktop/package.nix b/pkgs/by-name/tr/trilium-desktop/package.nix index 151a132289ad..09fef4b4181d 100644 --- a/pkgs/by-name/tr/trilium-desktop/package.nix +++ b/pkgs/by-name/tr/trilium-desktop/package.nix @@ -15,7 +15,7 @@ let pname = "trilium-desktop"; - version = "0.99.1"; + version = "0.99.3"; triliumSource = os: arch: hash: { url = "https://github.com/TriliumNext/Trilium/releases/download/v${version}/TriliumNotes-v${version}-${os}-${arch}.zip"; @@ -26,10 +26,10 @@ let darwinSource = triliumSource "macos"; # exposed like this for update.sh - x86_64-linux.hash = "sha256-cn1Y6wMYoVCuNNdAxesNKcZiRo2uKGV8nL6yK1KtNP8="; - aarch64-linux.hash = "sha256-KhSSrdITpbGiIAEkdNfRAoIlhC2uUV6+8ZUaEYW7dyA="; - x86_64-darwin.hash = "sha256-jKAZnCtNEEnvJ6p6lziOG7+uAyMuEel4dAKRXvMHo8c="; - aarch64-darwin.hash = "sha256-1p0rUoZPunP3fRgn/EO3obdGp6l5BbsfZyKMlsgrl80="; + x86_64-linux.hash = "sha256-xq0T2Qi6kabKD66eY7GERE4VB5cXy+1Oixh1Q7O4Eh4="; + aarch64-linux.hash = "sha256-QjhmvwoX7N8HjUEStUGuJUA2MndrS6RsA68JhZqZLBQ="; + x86_64-darwin.hash = "sha256-jXT8EuKn9vmXyFInwvWOjKz92+XdZplHw4zA09mamZk="; + aarch64-darwin.hash = "sha256-N0aKPfUd8oV5QQ1IrAdnxff1fB6QCT09QSAqAcCeyHU="; sources = { x86_64-linux = linuxSource "x64" x86_64-linux.hash; diff --git a/pkgs/by-name/tr/trilium-server/package.nix b/pkgs/by-name/tr/trilium-server/package.nix index 8aaf775d5145..cca71a873286 100644 --- a/pkgs/by-name/tr/trilium-server/package.nix +++ b/pkgs/by-name/tr/trilium-server/package.nix @@ -7,12 +7,12 @@ }: let - version = "0.99.1"; + version = "0.99.3"; serverSource_x64.url = "https://github.com/TriliumNext/Trilium/releases/download/v${version}/TriliumNotes-Server-v${version}-linux-x64.tar.xz"; - serverSource_x64.hash = "sha256-4DiPgWKXzVMm6JTBnJGOZrQLOIjQQvxkNvcawkzsg4M="; + serverSource_x64.hash = "sha256-WcyLXpVfVzKFj0pvC4j+0Hx3eSUC0euwfkKIQ2qxCN8="; serverSource_arm64.url = "https://github.com/TriliumNext/Trilium/releases/download/v${version}/TriliumNotes-Server-v${version}-linux-arm64.tar.xz"; - serverSource_arm64.hash = "sha256-dyf6t2y1RO6+NCPDAD19DocAYchkIgV+x4Shn3BNEK8="; + serverSource_arm64.hash = "sha256-SUcv9N4/mSqDAAWjlB1bG6y7/PQpqwOte7UniN8SwZI="; serverSource = if stdenv.hostPlatform.isx86_64 then diff --git a/pkgs/games/vcmi/default.nix b/pkgs/by-name/vc/vcmi/package.nix similarity index 82% rename from pkgs/games/vcmi/default.nix rename to pkgs/by-name/vc/vcmi/package.nix index 88b26e0a1175..b7aa3e7dbdd9 100644 --- a/pkgs/games/vcmi/default.nix +++ b/pkgs/by-name/vc/vcmi/package.nix @@ -16,25 +16,23 @@ ninja, pkg-config, python3, - qtbase, - qttools, onetbb, unshield, - wrapQtAppsHook, xz, zlib, testers, vcmi, + libsForQt5, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "vcmi"; version = "1.6.8"; src = fetchFromGitHub { owner = "vcmi"; repo = "vcmi"; - rev = version; + tag = finalAttrs.version; fetchSubmodules = true; hash = "sha256-k6tkylNXEzU+zzYoFWtx+AkoHQzAwbBxPB2DVevsryw="; }; @@ -44,7 +42,7 @@ stdenv.mkDerivation rec { ninja pkg-config python3 - wrapQtAppsHook + libsForQt5.wrapQtAppsHook ]; buildInputs = [ @@ -57,8 +55,8 @@ stdenv.mkDerivation rec { fuzzylite luajit minizip - qtbase - qttools + libsForQt5.qtbase + libsForQt5.qttools onetbb xz zlib @@ -97,16 +95,16 @@ stdenv.mkDerivation rec { ''; }; - meta = with lib; { + meta = { description = "Open-source engine for Heroes of Might and Magic III"; homepage = "https://vcmi.eu"; - changelog = "https://github.com/vcmi/vcmi/blob/${src.rev}/ChangeLog.md"; - license = with licenses; [ + changelog = "https://github.com/vcmi/vcmi/blob/${finalAttrs.src.rev}/ChangeLog.md"; + license = with lib.licenses; [ gpl2Plus cc-by-sa-40 ]; - maintainers = with maintainers; [ azahi ]; - platforms = platforms.linux; + maintainers = with lib.maintainers; [ azahi ]; + platforms = lib.platforms.linux; mainProgram = "vcmilauncher"; }; -} +}) diff --git a/pkgs/by-name/xd/xdg-desktop-portal-wlr/package.nix b/pkgs/by-name/xd/xdg-desktop-portal-wlr/package.nix index 6dfac779d3c7..daec6e238113 100644 --- a/pkgs/by-name/xd/xdg-desktop-portal-wlr/package.nix +++ b/pkgs/by-name/xd/xdg-desktop-portal-wlr/package.nix @@ -22,13 +22,13 @@ stdenv.mkDerivation rec { pname = "xdg-desktop-portal-wlr"; - version = "0.7.1"; + version = "0.8.0"; src = fetchFromGitHub { owner = "emersion"; repo = "xdg-desktop-portal-wlr"; rev = "v${version}"; - sha256 = "sha256-GIIDeZMIGUiZV0IUhcclRVThE5LKaqVc5VwnNT8beNU="; + sha256 = "sha256-TAWrDH6kud4eXFJvfihImuEFm2uTOaqAOatG+7JmaEM="; }; strictDeps = true; diff --git a/pkgs/by-name/xe/xemu/package.nix b/pkgs/by-name/xe/xemu/package.nix index 58f9a22aa712..714b539f42cb 100644 --- a/pkgs/by-name/xe/xemu/package.nix +++ b/pkgs/by-name/xe/xemu/package.nix @@ -35,13 +35,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "xemu"; - version = "0.8.109"; + version = "0.8.110"; src = fetchFromGitHub { owner = "xemu-project"; repo = "xemu"; tag = "v${finalAttrs.version}"; - hash = "sha256-1SJGcwnDvqEnm2Z9O4TNo+417CJrwHRgzuRzewzIbXY="; + hash = "sha256-kb8sAaqPHbVXeddMD/BoUnxph4lLTmRctY+yjhgu4gw="; nativeBuildInputs = [ git diff --git a/pkgs/by-name/ze/zed-editor/package.nix b/pkgs/by-name/ze/zed-editor/package.nix index 8bca83223718..ed74dd70f5d8 100644 --- a/pkgs/by-name/ze/zed-editor/package.nix +++ b/pkgs/by-name/ze/zed-editor/package.nix @@ -101,7 +101,7 @@ let in rustPlatform.buildRustPackage (finalAttrs: { pname = "zed-editor"; - version = "0.209.6"; + version = "0.209.7"; outputs = [ "out" @@ -114,7 +114,7 @@ rustPlatform.buildRustPackage (finalAttrs: { owner = "zed-industries"; repo = "zed"; tag = "v${finalAttrs.version}"; - hash = "sha256-KHOex6Noths886oE62BN4NE/DCMmU5VjiP+xN2YnVmc="; + hash = "sha256-vmHBPpRFSaqj62NZCAKtc3ZiMe8P++Ji57aJ5cuWjWQ="; }; postPatch = '' @@ -134,7 +134,7 @@ rustPlatform.buildRustPackage (finalAttrs: { rm -r $out/git/*/candle-book/ ''; - cargoHash = "sha256-u/dD7qHvc+ipKd6Jy9/HtPiLMa537zKUSAbjUFMQorA="; + cargoHash = "sha256-UM01zsi/brSyxzAaEUQ+ZUB8j5c6LMHv0eAhyuQ1huA="; nativeBuildInputs = [ cmake diff --git a/pkgs/development/compilers/openjdk/17/source.json b/pkgs/development/compilers/openjdk/17/source.json index 2b5813a3fd68..110fdf3a2223 100644 --- a/pkgs/development/compilers/openjdk/17/source.json +++ b/pkgs/development/compilers/openjdk/17/source.json @@ -1,6 +1,6 @@ { - "hash": "sha256-xwi7Co0DiEx9IohwiQHpislv/50NdGuHVQINJcasBdY=", + "hash": "sha256-U2/ZQ9m3fi2rni2RAXyr5laDvNq0T5M2wZX+FdmCwFc=", "owner": "openjdk", "repo": "jdk17u", - "rev": "refs/tags/jdk-17.0.17+8" + "rev": "refs/tags/jdk-17.0.17+10" } diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix index af054c353d85..0b8a388d3ea4 100644 --- a/pkgs/development/interpreters/jruby/default.nix +++ b/pkgs/development/interpreters/jruby/default.nix @@ -3,6 +3,7 @@ stdenv, callPackage, fetchurl, + fetchMavenArtifact, gitUpdater, mkRubyVersion, makeBinaryWrapper, @@ -11,15 +12,15 @@ let # The version number here is whatever is reported by the RUBY_VERSION string - rubyVersion = mkRubyVersion "3" "1" "4" ""; + rubyVersion = mkRubyVersion "3" "4" "2" ""; in stdenv.mkDerivation (finalAttrs: { pname = "jruby"; - version = "10.0.0.0"; + version = "10.0.2.0"; src = fetchurl { - url = "https://s3.amazonaws.com/jruby.org/downloads/${finalAttrs.version}/jruby-bin-${finalAttrs.version}.tar.gz"; - hash = "sha256-Qn2YJ+0j/mtNEf5hZlx13XR2ujagQ4N26zEM4qjSRzM="; + url = "https://repo1.maven.org/maven2/org/jruby/jruby-dist/${finalAttrs.version}/jruby-dist-${finalAttrs.version}-bin.tar.gz"; + hash = "sha256-uKAm84qphGGgTtCqCyCJHOJX7L5T4SRxnOnuW4BFJfE="; }; nativeBuildInputs = [ makeBinaryWrapper ]; @@ -27,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: { installPhase = '' mkdir -pv $out/share/jruby/docs mv * $out - rm $out/bin/*.{bat,dll,exe,sh} + rm $out/bin/*.{bat,dll,exe} mv $out/samples $out/share/jruby/ mv $out/BSDL $out/COPYING $out/LEGAL $out/LICENSE* $out/share/jruby/docs/ @@ -36,8 +37,6 @@ stdenv.mkDerivation (finalAttrs: { --set JAVA_HOME ${jre.home} done - ln -s $out/bin/jruby $out/bin/ruby - # Bundler tries to create this directory mkdir -pv $out/${finalAttrs.passthru.gemPath} mkdir -p $out/nix-support diff --git a/pkgs/development/libraries/gstreamer/rs/default.nix b/pkgs/development/libraries/gstreamer/rs/default.nix index 258644febdbe..46ecec7c2901 100644 --- a/pkgs/development/libraries/gstreamer/rs/default.nix +++ b/pkgs/development/libraries/gstreamer/rs/default.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitLab, - fetchpatch, rustPlatform, meson, ninja, @@ -33,7 +32,6 @@ # Checks meson.is_cross_build(), so even canExecute isn't enough. enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform && plugins == null, hotdoc, - mopidy, apple-sdk_gstreamer, }: @@ -137,7 +135,7 @@ assert lib.assertMsg (invalidPlugins == [ ]) stdenv.mkDerivation (finalAttrs: { pname = "gst-plugins-rs"; - version = "0.14.1"; + version = "0.14.2"; outputs = [ "out" @@ -149,44 +147,15 @@ stdenv.mkDerivation (finalAttrs: { owner = "gstreamer"; repo = "gst-plugins-rs"; rev = finalAttrs.version; - hash = "sha256-gCT/ZcXR9VePXYtEENXxgBNvA84KT1OYUR8kSyLBzrI="; - # TODO: temporary workaround for case-insensitivity problems with color-name crate - https://github.com/annymosse/color-name/pull/2 - postFetch = '' - sedSearch="$(cat <<\EOF | sed -ze 's/\n/\\n/g' - \[\[package\]\] - name = "color-name" - version = "\([^"\n]*\)" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "[^"\n]*" - EOF - )" - sedReplace="$(cat <<\EOF | sed -ze 's/\n/\\n/g' - [[package]] - name = "color-name" - version = "\1" - source = "git+https://github.com/lilyinstarlight/color-name#cac0ed5b7d2e0682c08c9bfd13089d5494e81b9a" - EOF - )" - sed -i -ze "s|$sedSearch|$sedReplace|g" $out/Cargo.lock - ''; + hash = "sha256-mIq8Fo6KoxAo1cL2NQHnSMPgzUWl1eNJUujdaerGjFA="; }; cargoDeps = rustPlatform.fetchCargoVendor { - inherit (finalAttrs) src patches; + inherit (finalAttrs) src; name = "gst-plugins-rs-${finalAttrs.version}"; - hash = "sha256-sX3P5qrG0M/vJkvzvJGzv4fcMn6FvrLPOUh++vKJ/gY="; + hash = "sha256-Z1mqpVL2SES1v0flykOwoDX2/apZHxg7eI5If4BsP4o="; }; - patches = [ - # Related to https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/723 - ./ignore-tests.patch - (fetchpatch { - name = "x264enc-test-fix.patch"; - url = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/commit/c0c9888d66e107f9e0b6d96cd3a85961c7e97d9a.diff"; - hash = "sha256-/ILdPDjI20k5l9Qf/klglSuhawmFUs9mR+VhBnQqsWw="; - }) - ]; - strictDeps = true; nativeBuildInputs = [ diff --git a/pkgs/development/libraries/gstreamer/rs/ignore-tests.patch b/pkgs/development/libraries/gstreamer/rs/ignore-tests.patch deleted file mode 100644 index 52b231816ce8..000000000000 --- a/pkgs/development/libraries/gstreamer/rs/ignore-tests.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/utils/uriplaylistbin/tests/uriplaylistbin.rs b/utils/uriplaylistbin/tests/uriplaylistbin.rs -index 3489eaa8..569635d6 100644 ---- a/utils/uriplaylistbin/tests/uriplaylistbin.rs -+++ b/utils/uriplaylistbin/tests/uriplaylistbin.rs -@@ -388,6 +388,7 @@ fn multi_audio() { - assert_eq!(current_uri_index, 2); - } - -+#[ignore = "Unknown failure"] - #[test] - fn multi_audio_video() { - let (_events, current_iteration, current_uri_index, eos) = test( -@@ -403,6 +404,7 @@ fn multi_audio_video() { - assert_eq!(current_uri_index, 1); - } - -+#[ignore = "Unknown failure"] - #[test] - fn iterations() { - let (_events, current_iteration, current_uri_index, eos) = test( diff --git a/pkgs/development/python-modules/accelerate/default.nix b/pkgs/development/python-modules/accelerate/default.nix index 3c1ed7d52f8d..b8c2be527e7f 100644 --- a/pkgs/development/python-modules/accelerate/default.nix +++ b/pkgs/development/python-modules/accelerate/default.nix @@ -33,14 +33,14 @@ buildPythonPackage rec { pname = "accelerate"; - version = "1.10.1"; + version = "1.11.0"; pyproject = true; src = fetchFromGitHub { owner = "huggingface"; repo = "accelerate"; tag = "v${version}"; - hash = "sha256-guUlgNRSgBmi5HZNnwPA6GQ1vq5LzZEW2J9w4Wmqh6o="; + hash = "sha256-RdqApMgf5EoiFjNAUhVNS3xaqszl2myMF9B5HJBfHOA="; }; buildInputs = [ llvmPackages.openmp ]; diff --git a/pkgs/development/python-modules/azure-storage-queue/default.nix b/pkgs/development/python-modules/azure-storage-queue/default.nix index 8e0814f06fa5..11aa7ee0506d 100644 --- a/pkgs/development/python-modules/azure-storage-queue/default.nix +++ b/pkgs/development/python-modules/azure-storage-queue/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "azure-storage-queue"; - version = "12.13.0"; + version = "12.14.0"; pyproject = true; disabled = pythonOlder "3.7"; @@ -20,7 +20,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "azure_storage_queue"; inherit version; - hash = "sha256-JWkeeVjSSXA5JFETTfpUdjf9Lfz95bNHai4VLlaXP4w="; + hash = "sha256-WIhM62wQqF3NIuOJreMr46bzbsWHxC5O/AZO/D7yV0M="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/gmpy2/default.nix b/pkgs/development/python-modules/gmpy2/default.nix index ff9b834ca501..33712b519afc 100644 --- a/pkgs/development/python-modules/gmpy2/default.nix +++ b/pkgs/development/python-modules/gmpy2/default.nix @@ -59,18 +59,6 @@ buildPythonPackage rec { mpmath ]; - disabledTests = - lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64) [ - # issue with some overflow logic - "test_mpz_to_bytes" - "test_mpz_from_bytes" - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - # TypeError: mpq() requires numeric or string argument - # not sure why it only fails on Darwin - "test_mpq_from_Decimal" - ]; - pythonImportsCheck = [ "gmpy2" ]; passthru.tests = { diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix index ed023d9f8389..cd89a0df1ae9 100644 --- a/pkgs/development/python-modules/plotly/default.nix +++ b/pkgs/development/python-modules/plotly/default.nix @@ -38,14 +38,14 @@ buildPythonPackage rec { pname = "plotly"; - version = "6.3.0"; + version = "6.3.1"; pyproject = true; src = fetchFromGitHub { owner = "plotly"; repo = "plotly.py"; tag = "v${version}"; - hash = "sha256-s+kWJy/dOqlNqRD/Ytxy/SSRsFJvp13jSvPMd0LQliQ="; + hash = "sha256-zwJTesrtLreu7To795wJmowgZ3c4d0mHUaLt3C9Fqd8="; }; postPatch = '' @@ -102,6 +102,8 @@ buildPythonPackage rec { "test_lazy_imports" # [0.0, 'rgb(252, 255, 164)'] != [0.0, '#fcffa4'] "test_acceptance_named" + # AssertionError: assert '' == 'browser' + "test_default_renderer" ]; __darwinAllowLocalNetworking = true; diff --git a/pkgs/development/python-modules/schedula/default.nix b/pkgs/development/python-modules/schedula/default.nix index 0f47dfd8d2fa..d247f11c611f 100644 --- a/pkgs/development/python-modules/schedula/default.nix +++ b/pkgs/development/python-modules/schedula/default.nix @@ -25,14 +25,14 @@ buildPythonPackage rec { pname = "schedula"; - version = "1.5.64"; + version = "1.5.65"; pyproject = true; src = fetchFromGitHub { owner = "vinci1it2000"; repo = "schedula"; tag = "v${version}"; - hash = "sha256-huMhJTMiTVrKyZ5z0dFfw61GHyLbpHNtZGXP4gmUdTs="; + hash = "sha256-f67W6oyX7oEZSGXTth+FHOa8efj1tQ+B0taDDqjOSR8="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/smolagents/default.nix b/pkgs/development/python-modules/smolagents/default.nix index 86e6a46ea26a..651f53a55a50 100644 --- a/pkgs/development/python-modules/smolagents/default.nix +++ b/pkgs/development/python-modules/smolagents/default.nix @@ -62,15 +62,6 @@ buildPythonPackage rec { hash = "sha256-X9tJfNxF2icULyma0dWIQEllY9oKaCB+MQ4JJTdzhz4="; }; - # TODO: remove at the next release - # ImportError: cannot import name 'require_soundfile' from 'transformers.testing_utils' - # Caused by: https://github.com/huggingface/transformers/commit/1ecd52e50a31e7c344c32564e0484d7e9a0f2256 - # Fixed in: https://github.com/huggingface/smolagents/pull/1625 - postPatch = '' - substituteInPlace tests/test_types.py \ - --replace-fail "require_soundfile" "require_torchcodec" - ''; - build-system = [ setuptools ]; dependencies = [ diff --git a/pkgs/development/python-modules/triton/bin.nix b/pkgs/development/python-modules/triton/bin.nix index 7edc81d576a6..74755a13b2fe 100644 --- a/pkgs/development/python-modules/triton/bin.nix +++ b/pkgs/development/python-modules/triton/bin.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "triton"; - version = "3.4.0"; + version = "3.5.0"; format = "wheel"; src = @@ -63,6 +63,9 @@ buildPythonPackage rec { mit ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; - maintainers = with lib.maintainers; [ junjihashimoto ]; + maintainers = with lib.maintainers; [ + GaetanLepage + junjihashimoto + ]; }; } diff --git a/pkgs/development/python-modules/triton/binary-hashes.nix b/pkgs/development/python-modules/triton/binary-hashes.nix index 54eda3494663..39976f373656 100644 --- a/pkgs/development/python-modules/triton/binary-hashes.nix +++ b/pkgs/development/python-modules/triton/binary-hashes.nix @@ -7,46 +7,56 @@ version: builtins.getAttr version { - "3.4.0" = { + "3.5.0" = { aarch64-linux-310 = { - name = "triton-3.4.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; - url = "https://download.pytorch.org/whl/triton-3.4.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; - hash = "sha256-husMt2NDKM1Xf6UbWTOPGvQZnPmrYjhaxCqCeD2RFqQ="; + name = "triton-3.5.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; + url = "https://download.pytorch.org/whl/triton-3.5.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; + hash = "sha256-JTyIky/VWN9S+GxmNynofNOKGacVFYG+W9X0v9WPhpo="; }; x86_64-linux-310 = { - name = "triton-3.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; - url = "https://download.pytorch.org/whl/triton-3.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; - hash = "sha256-axdYjFnL4dmHEz6nzRzC5SKeBUSgapkIv69oxh9WSVo="; + name = "triton-3.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; + url = "https://download.pytorch.org/whl/triton-3.5.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; + hash = "sha256-u6PqGcwYGVNIOVmYj0/Xk6dZg+v+z2VH1YOogGq43Pw="; }; aarch64-linux-311 = { - name = "triton-3.4.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; - url = "https://download.pytorch.org/whl/triton-3.4.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; - hash = "sha256-3Y0y0zf1gST+JUBD0oKkvBM8Ksp5ibxjWLLFRtISFRM="; + name = "triton-3.5.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; + url = "https://download.pytorch.org/whl/triton-3.5.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; + hash = "sha256-SYEl6jXOSJaaRvp5OdfmgCVAoTlXomIw1mo4t6zn32g="; }; x86_64-linux-311 = { - name = "triton-3.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; - url = "https://download.pytorch.org/whl/triton-3.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; - hash = "sha256-4rCv5CDSAtlvULhH10Skh7eAVnl1RV5W9ksGEVLulVQ="; + name = "triton-3.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; + url = "https://download.pytorch.org/whl/triton-3.5.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; + hash = "sha256-JjiByshHffhNOWS+dlt/rBfdP/oK1vywMLhBvXT5QIs="; }; aarch64-linux-312 = { - name = "triton-3.4.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; - url = "https://download.pytorch.org/whl/triton-3.4.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; - hash = "sha256-AOpKHBXwebv0n/AsMSIQ/bj/BbFQPqMIEmEOKjsXHzs="; + name = "triton-3.5.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; + url = "https://download.pytorch.org/whl/triton-3.5.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; + hash = "sha256-m4K0bfNa6eC4WjgtmaB25uvqI6Ol26yn3CSnVx5r660="; }; x86_64-linux-312 = { - name = "triton-3.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; - url = "https://download.pytorch.org/whl/triton-3.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; - hash = "sha256-hVBnKxGE8FGH9BQNsy4z5htZIEb9Ph65B+O321Mht1A="; + name = "triton-3.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; + url = "https://download.pytorch.org/whl/triton-3.5.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; + hash = "sha256-dvhlGl44wqfab6Ky5By8AKWjLLUr8/UgET/pC3I6MQ0="; }; aarch64-linux-313 = { - name = "triton-3.4.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; - url = "https://download.pytorch.org/whl/triton-3.4.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; - hash = "sha256-WstSjwHcFDYsSoj6Tc+iJ9Ey9uYfJypodOhNZIUDfKQ="; + name = "triton-3.5.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; + url = "https://download.pytorch.org/whl/triton-3.5.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; + hash = "sha256-BeFFtRpTVzv/JgQx/0D63OCDitmSjF7hiDtT1ZiE4Zg="; }; x86_64-linux-313 = { - name = "triton-3.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; - url = "https://download.pytorch.org/whl/triton-3.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; - hash = "sha256-Dlgr/YFHr9Dhf0ELOe4WHfkzoqyp9lPhF42q6Y+H9gE="; + name = "triton-3.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; + url = "https://download.pytorch.org/whl/triton-3.5.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; + hash = "sha256-tvbbiVAabcSkkv8oFGDBsVVjQgvJCTR3CqanuA/VHJU="; + }; + aarch64-linux-314 = { + name = "triton-3.5.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; + url = "https://download.pytorch.org/whl/triton-3.5.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl"; + hash = "sha256-ThqFbR1zFzTuntYt3lSPNC00yYi41+I1vyA35CjeIlg="; + }; + x86_64-linux-314 = { + name = "triton-3.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; + url = "https://download.pytorch.org/whl/triton-3.5.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl"; + hash = "sha256-jZi3ioPpECVuxwNIa4wnXsU5deWsSoy3zgfGluCPa1o="; }; }; } diff --git a/pkgs/development/rocm-modules/6/default.nix b/pkgs/development/rocm-modules/6/default.nix index ba7a72a117c1..be9b1d2a9174 100644 --- a/pkgs/development/rocm-modules/6/default.nix +++ b/pkgs/development/rocm-modules/6/default.nix @@ -134,10 +134,7 @@ let ; }; - rocblas = self.callPackage ./rocblas { - buildTests = true; - buildBenchmarks = true; - }; + rocblas = self.callPackage ./rocblas { }; rocsolver = self.callPackage ./rocsolver { }; diff --git a/pkgs/development/rocm-modules/6/rocblas/default.nix b/pkgs/development/rocm-modules/6/rocblas/default.nix index 33d707747056..0c9c2ee5c424 100644 --- a/pkgs/development/rocm-modules/6/rocblas/default.nix +++ b/pkgs/development/rocm-modules/6/rocblas/default.nix @@ -25,8 +25,8 @@ rocm-smi, pkg-config, buildTensile ? true, - buildTests ? true, - buildBenchmarks ? true, + buildTests ? false, + buildBenchmarks ? false, tensileSepArch ? true, tensileLazyLib ? true, withHipBlasLt ? true, @@ -130,8 +130,6 @@ stdenv.mkDerivation (finalAttrs: { (lib.cmakeBool "Tensile_LAZY_LIBRARY_LOADING" tensileLazyLib) ]; - passthru.amdgpu_targets = gpuTargets'; - patches = [ (fetchpatch { name = "Extend-rocBLAS-HIP-ISA-compatibility.patch"; @@ -150,10 +148,17 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail '0.10' '1.0' ''; - passthru.updateScript = rocmUpdateScript { - name = finalAttrs.pname; - inherit (finalAttrs.src) owner; - inherit (finalAttrs.src) repo; + passthru = { + amdgpu_targets = gpuTargets'; + tests.rocblas-tests = finalAttrs.finalPackage.override { + buildBenchmarks = true; + buildTests = true; + }; + updateScript = rocmUpdateScript { + name = finalAttrs.pname; + inherit (finalAttrs.src) owner; + inherit (finalAttrs.src) repo; + }; }; enableParallelBuilding = true; diff --git a/pkgs/servers/sql/mysql/8.0.x.nix b/pkgs/servers/sql/mysql/8.0.x.nix index 3345c368a6da..9b158fad46d6 100644 --- a/pkgs/servers/sql/mysql/8.0.x.nix +++ b/pkgs/servers/sql/mysql/8.0.x.nix @@ -30,11 +30,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "mysql"; - version = "8.0.43"; + version = "8.0.44"; src = fetchurl { url = "https://dev.mysql.com/get/Downloads/MySQL-${lib.versions.majorMinor finalAttrs.version}/mysql-${finalAttrs.version}.tar.gz"; - hash = "sha256-diUKgQFch49iUhz68w3/DqmyUJeNKx3/AHQIo5jV25M="; + hash = "sha256-YJUi7R/vzlqziN7CXg0bzhMjgtom4rd7aPB0HApkE1Y="; }; nativeBuildInputs = [ diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 09c9e0d8900a..fc47f1566450 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1151,6 +1151,7 @@ mapAliases { PageEdit = throw "'PageEdit' has been renamed to/replaced by 'pageedit'"; # Converted to throw 2025-10-27 pal = throw "pal has been removed, as it was broken"; # Added 2025-08-25 paperless-ng = throw "'paperless-ng' has been renamed to/replaced by 'paperless-ngx'"; # Converted to throw 2025-10-27 + parcellite = throw "'parcellite' was remove due to lack of maintenance and relying on gtk2"; # Added 2025-10-03 patchelfStable = throw "'patchelfStable' has been renamed to/replaced by 'patchelf'"; # Converted to throw 2025-10-27 paup = throw "'paup' has been renamed to/replaced by 'paup-cli'"; # Converted to throw 2025-10-27 pcp = throw "'pcp' has been removed because the upstream repo was archived and it hasn't been updated since 2021"; # Added 2025-09-23 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e163d061a653..4cf105e26898 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3568,8 +3568,6 @@ with pkgs; pandoc-secnos = python3Packages.callPackage ../tools/misc/pandoc-secnos { }; pandoc-tablenos = python3Packages.callPackage ../tools/misc/pandoc-tablenos { }; - pegasus-frontend = libsForQt5.callPackage ../games/pegasus-frontend { }; - pgbadger = perlPackages.callPackage ../tools/misc/pgbadger { }; nifskope = libsForQt5.callPackage ../tools/graphics/nifskope { }; @@ -4148,8 +4146,6 @@ with pkgs; vacuum = libsForQt5.callPackage ../applications/networking/instant-messengers/vacuum { }; - vcmi = libsForQt5.callPackage ../games/vcmi { }; - video2midi = callPackage ../tools/audio/video2midi { pythonPackages = python3Packages; }; @@ -5028,8 +5024,6 @@ with pkgs; indradb-client ; - instawow = callPackage ../games/instawow/default.nix { }; - irony-server = callPackage ../development/tools/irony-server { # The repository of irony to use -- must match the version of the employed emacs # package. Wishing we could merge it into one irony package, to avoid this issue, @@ -10012,8 +10006,6 @@ with pkgs; libkrun-sev = libkrun.override { variant = "sev"; }; libkrun-tdx = libkrun.override { variant = "tdx"; }; - linthesia = callPackage ../games/linthesia/default.nix { }; - projecteur = libsForQt5.callPackage ../os-specific/linux/projecteur { }; lklWithFirewall = lkl.override { firewallSupport = true; }; @@ -13048,8 +13040,6 @@ with pkgs; ### GAMES/DOOM-PORTS - doomseeker = qt5.callPackage ../games/doom-ports/doomseeker { }; - enyo-launcher = libsForQt5.callPackage ../games/doom-ports/enyo-launcher { }; zandronum = callPackage ../games/doom-ports/zandronum { }; @@ -13060,8 +13050,6 @@ with pkgs; fmodex = callPackage ../games/doom-ports/zandronum/fmod.nix { }; - qgo = libsForQt5.callPackage ../games/qgo { }; - anki-utils = callPackage ../by-name/an/anki/addons/anki-utils.nix { }; ankiAddons = recurseIntoAttrs (callPackage ../by-name/an/anki/addons { }); @@ -13090,10 +13078,6 @@ with pkgs; cataclysm-dda-git = cataclysmDDA.git.tiles; - chiaki = libsForQt5.callPackage ../games/chiaki { }; - - chiaki-ng = kdePackages.callPackage ../games/chiaki-ng { }; - cockatrice = libsForQt5.callPackage ../games/cockatrice { protobuf = protobuf_21; }; @@ -13110,12 +13094,10 @@ with pkgs; inherit libGL libGLU libglut; }; - crawlTiles = callPackage ../games/crawl { + crawlTiles = callPackage ../by-name/cr/crawl/package.nix { tileMode = true; }; - crawl = callPackage ../games/crawl { }; - curseofwar = callPackage ../games/curseofwar { SDL = null; }; curseofwar-sdl = callPackage ../games/curseofwar { ncurses = null; }; @@ -13129,14 +13111,12 @@ with pkgs; dfhack = dwarf-fortress-packages.dwarf-fortress-full; - dxx-rebirth = callPackage ../games/dxx-rebirth { }; - - inherit (callPackages ../games/dxx-rebirth/assets.nix { }) + inherit (callPackages ../by-name/dx/dxx-rebirth/assets.nix { }) descent1-assets descent2-assets ; - inherit (callPackages ../games/dxx-rebirth/full.nix { }) + inherit (callPackages ../by-name/dx/dxx-rebirth/full.nix { }) d1x-rebirth-full d2x-rebirth-full ; @@ -13201,13 +13181,10 @@ with pkgs; gscrabble = python3Packages.callPackage ../games/gscrabble { }; - qtads = qt5.callPackage ../games/qtads { }; - ibmcloud-cli = callPackage ../tools/admin/ibmcloud-cli { stdenv = stdenvNoCC; }; - iortcw = callPackage ../games/iortcw { }; # used as base package for iortcw forks - iortcw_sp = callPackage ../games/iortcw/sp.nix { }; + iortcw_sp = callPackage ../by-name/io/iortcw/sp.nix { }; katagoWithCuda = katago.override { backend = "cuda"; @@ -13221,9 +13198,7 @@ with pkgs; backend = "tensorrt"; }; - koboredux = callPackage ../games/koboredux { }; - - koboredux-free = callPackage ../games/koboredux { + koboredux-free = callPackage ../by-name/ko/koboredux/package.nix { useProprietaryAssets = false; }; @@ -13262,16 +13237,9 @@ with pkgs; luanti-client = luanti.override { buildServer = false; }; luanti-server = luanti.override { buildClient = false; }; - mudlet = libsForQt5.callPackage ../games/mudlet { - lua = lua5_1; - }; + blightmud-tts = callPackage ../by-name/bl/blightmud/package.nix { withTTS = true; }; - blightmud = callPackage ../games/blightmud { }; - - blightmud-tts = callPackage ../games/blightmud { withTTS = true; }; - - npush = callPackage ../games/npush { }; - run-npush = callPackage ../games/npush/run.nix { }; + run-npush = callPackage ../by-name/np/npush/run.nix { }; openloco = pkgsi686Linux.callPackage ../games/openloco { }; @@ -13299,8 +13267,6 @@ with pkgs; openttd-grfcodec = callPackage ../games/openttd/grfcodec.nix { }; openttd-nml = callPackage ../games/openttd/nml.nix { }; - openxcom = callPackage ../games/openxcom { SDL = SDL_compat; }; - openxray = callPackage ../games/openxray { # Builds with Clang, but hits an assertion failure unless GCC is used # https://github.com/OpenXRay/xray-16/issues/1224 @@ -13336,20 +13302,13 @@ with pkgs; quake3hires ; - quakespasm = callPackage ../games/quakespasm { }; - vkquake = callPackage ../games/quakespasm/vulkan.nix { }; - - rogue = callPackage ../games/rogue { - ncurses = ncurses5; - }; + vkquake = callPackage ../by-name/qu/quakespasm/vulkan.nix { }; rott-shareware = callPackage ../by-name/ro/rott/package.nix { buildShareware = true; }; - scummvm = callPackage ../games/scummvm { }; - - inherit (callPackage ../games/scummvm/games.nix { }) + inherit (callPackage ../by-name/sc/scummvm/games.nix { }) beneath-a-steel-sky broken-sword-25 drascula-the-vampire-strikes-back @@ -13362,23 +13321,20 @@ with pkgs; isMobile = true; }; - shattered-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon { }; - rkpd2 = callPackage ../games/shattered-pixel-dungeon/rkpd2 { }; - rat-king-adventure = callPackage ../games/shattered-pixel-dungeon/rat-king-adventure { }; + rkpd2 = callPackage ../by-name/sh/shattered-pixel-dungeon/rkpd2 { }; + rat-king-adventure = callPackage ../by-name/sh/shattered-pixel-dungeon/rat-king-adventure { }; experienced-pixel-dungeon = - callPackage ../games/shattered-pixel-dungeon/experienced-pixel-dungeon + callPackage ../by-name/sh/shattered-pixel-dungeon/experienced-pixel-dungeon { }; - summoning-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon/summoning-pixel-dungeon { }; - shorter-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon/shorter-pixel-dungeon { }; - tower-pixel-dungeon = callPackage ../games/shattered-pixel-dungeon/tower-pixel-dungeon { }; + summoning-pixel-dungeon = + callPackage ../by-name/sh/shattered-pixel-dungeon/summoning-pixel-dungeon + { }; + shorter-pixel-dungeon = callPackage ../by-name/sh/shattered-pixel-dungeon/shorter-pixel-dungeon { }; + tower-pixel-dungeon = callPackage ../by-name/sh/shattered-pixel-dungeon/tower-pixel-dungeon { }; # get binaries without data built by Hydra simutrans_binaries = lowPrio simutrans.binaries; - soi = callPackage ../games/soi { - lua = lua5_1; - }; - steam-run = steam.run; steam-run-free = steam.run-free;