diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8757056facf7..770066eaf919 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -26324,6 +26324,12 @@ githubId = 223408; name = "Varun Madiath"; }; + vanadium5000 = { + email = "vanadium5000@gmail.com"; + github = "Vanadium5000"; + githubId = 151467774; + name = "Vanadium5000"; + }; vancluever = { email = "chrism@vancluevertech.com"; github = "vancluever"; @@ -26998,6 +27004,12 @@ githubId = 13031455; name = "Jakob Schmutz"; }; + WheelsForReals = { + email = "WheelsForReals@proton.me"; + github = "WheelsForReals"; + githubId = 6102222; + name = "WheelsForReals"; + }; WhiteBlackGoose = { email = "wbg@angouri.org"; github = "WhiteBlackGoose"; diff --git a/nixos/doc/manual/release-notes/rl-2511.section.md b/nixos/doc/manual/release-notes/rl-2511.section.md index e593db0163d6..2f7ab4f3067b 100644 --- a/nixos/doc/manual/release-notes/rl-2511.section.md +++ b/nixos/doc/manual/release-notes/rl-2511.section.md @@ -38,6 +38,8 @@ - Docker now defaults to 28.x, because version 27.x stopped receiving security updates and bug fixes after [May 2, 2025](https://github.com/moby/moby/pull/49910). +- [Corteza](https://cortezaproject.org/), a low-code platform. Available as [services.corteza](#opt-services.corteza.enable). + - [Draupnir](https://github.com/the-draupnir-project/draupnir), a Matrix moderation bot. Available as [services.draupnir](#opt-services.draupnir.enable). - [postfix-tlspol](https://github.com/Zuplu/postfix-tlspol), MTA-STS and DANE resolver and TLS policy server for Postfix. Available as [services.postfix-tlspol](#opt-services.postfix-tlspol.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5eb40adc5647..a297dfc96d5d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -579,6 +579,7 @@ ./services/development/athens.nix ./services/development/blackfire.nix ./services/development/bloop.nix + ./services/development/corteza.nix ./services/development/distccd.nix ./services/development/gemstash.nix ./services/development/hoogle.nix diff --git a/nixos/modules/services/development/corteza.nix b/nixos/modules/services/development/corteza.nix new file mode 100644 index 000000000000..2f3e8abd0b68 --- /dev/null +++ b/nixos/modules/services/development/corteza.nix @@ -0,0 +1,113 @@ +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.services.corteza; +in +{ + options.services.corteza = { + enable = lib.mkEnableOption "Corteza, a low-code platform"; + package = lib.mkPackageOption pkgs "corteza" { }; + + address = lib.mkOption { + type = lib.types.str; + default = "0.0.0.0"; + description = '' + IP for the HTTP server. + ''; + }; + port = lib.mkOption { + type = lib.types.port; + default = 80; + description = '' + Port for the HTTP server. + ''; + }; + openFirewall = lib.mkOption { + type = lib.types.bool; + default = false; + example = true; + description = "Whether to open ports in the firewall."; + }; + + user = lib.mkOption { + type = lib.types.str; + default = "corteza"; + description = "The user to run Corteza under."; + }; + + group = lib.mkOption { + type = lib.types.str; + default = "corteza"; + description = "The group to run Corteza under."; + }; + + settings = lib.mkOption { + type = lib.types.submodule { + freeformType = lib.types.attrsOf lib.types.str; + options = { + HTTP_WEBAPP_ENABLED = lib.mkEnableOption "webapps" // { + default = true; + apply = toString; + }; + }; + }; + default = { }; + description = '' + Configuration for Corteza, will be passed as environment variables. + See . + ''; + }; + }; + + config = lib.mkIf cfg.enable { + assertions = [ + { + assertion = !cfg.settings ? HTTP_ADDR; + message = "Use `services.corteza.address` and `services.corteza.port` instead."; + } + ]; + + warnings = lib.optional (!cfg.settings ? DB_DSN) '' + A database connection string is not set. + Corteza will create a temporary SQLite database in memory, but it will not persist data. + For production use, set `services.corteza.settings.DB_DSN`. + ''; + + networking.firewall.allowedTCPPorts = lib.mkIf cfg.openFirewall [ cfg.port ]; + + systemd.services.corteza = { + description = "Corteza"; + documentation = [ "https://docs.cortezaproject.org/" ]; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + environment = { + HTTP_WEBAPP_BASE_DIR = "./webapp"; + HTTP_ADDR = "${cfg.address}:${toString cfg.port}"; + } // cfg.settings; + path = [ pkgs.dart-sass ]; + serviceConfig = { + WorkingDirectory = cfg.package; + User = cfg.user; + Group = cfg.group; + ExecStart = "${lib.getExe cfg.package} serve-api"; + }; + }; + + users = { + groups.${cfg.group} = { }; + users.${cfg.user} = { + inherit (cfg) group; + isSystemUser = true; + }; + }; + }; + + meta.maintainers = with lib.maintainers; [ + prince213 + ]; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 53a8a3d7cde3..48e763ef90ef 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -347,6 +347,7 @@ in containers-unified-hierarchy = runTest ./containers-unified-hierarchy.nix; convos = runTest ./convos.nix; corerad = handleTest ./corerad.nix { }; + corteza = runTest ./corteza.nix; cosmic = runTest { imports = [ ./cosmic.nix ]; _module.args.testName = "cosmic"; diff --git a/nixos/tests/corteza.nix b/nixos/tests/corteza.nix new file mode 100644 index 000000000000..514bb5339fc8 --- /dev/null +++ b/nixos/tests/corteza.nix @@ -0,0 +1,23 @@ +{ lib, ... }: +let + port = 8080; +in +{ + name = "corteza"; + meta.maintainers = [ lib.teams.ngi.members ]; + + nodes.machine = { + services.corteza = { + enable = true; + inherit port; + }; + }; + + testScript = '' + machine.start() + + machine.wait_for_unit("default.target") + + machine.wait_until_succeeds("curl http://localhost:${toString port}/auth/login | grep button-login") + ''; +} diff --git a/pkgs/applications/editors/vscode/extensions/amazonwebservices.amazon-q-vscode/default.nix b/pkgs/applications/editors/vscode/extensions/amazonwebservices.amazon-q-vscode/default.nix index 8bb7378fcc6e..3fb21266ac0c 100644 --- a/pkgs/applications/editors/vscode/extensions/amazonwebservices.amazon-q-vscode/default.nix +++ b/pkgs/applications/editors/vscode/extensions/amazonwebservices.amazon-q-vscode/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension (finalAttrs: { mktplcRef = { name = "amazon-q-vscode"; publisher = "AmazonWebServices"; - version = "1.78.0"; - hash = "sha256-SnvH4WQ9kp9nHJkrQGvWj91XpUI0raP2ud57WViZBG4="; + version = "1.81.0"; + hash = "sha256-zuE+KR0iLEkQrxxS835ZYq20yxWgV1S14bay4shqVWg="; }; meta = { diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 2f4d095047fa..ef8c212a79d2 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -1020,8 +1020,8 @@ let mktplcRef = { name = "coder-remote"; publisher = "coder"; - version = "1.9.1"; - hash = "sha256-Fsh95lMNliag5TV5MWSAs4Z3npj74mrCmaLSztbpH0I="; + version = "1.9.2"; + hash = "sha256-klI3OMYu5FL3/c4jBzgy8SmxJI5nGRK5k9bZrEtm5+0="; }; meta = { description = "Extension for Visual Studio Code to open any Coder workspace in VS Code with a single click"; diff --git a/pkgs/applications/editors/vscode/extensions/ms-windows-ai-studio.windows-ai-studio/default.nix b/pkgs/applications/editors/vscode/extensions/ms-windows-ai-studio.windows-ai-studio/default.nix index c405637b6c30..11ccd1845d0e 100644 --- a/pkgs/applications/editors/vscode/extensions/ms-windows-ai-studio.windows-ai-studio/default.nix +++ b/pkgs/applications/editors/vscode/extensions/ms-windows-ai-studio.windows-ai-studio/default.nix @@ -7,8 +7,8 @@ vscode-utils.buildVscodeMarketplaceExtension { mktplcRef = { name = "windows-ai-studio"; publisher = "ms-windows-ai-studio"; - version = "0.14.4"; - hash = "sha256-6QPDnfwXMVxC6qxeaAiTKeiuaxFyPNCFexEjgf5Emrg="; + version = "0.16.0"; + hash = "sha256-JBHdwvlJ4BHlphABT2ViR03R4zRVSwkHkOw1n3bNzAQ="; }; meta = { diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix index 0c527f192527..dba00724a2b6 100644 --- a/pkgs/applications/misc/syncthingtray/default.nix +++ b/pkgs/applications/misc/syncthingtray/default.nix @@ -38,14 +38,14 @@ }: stdenv.mkDerivation (finalAttrs: { - version = "1.7.8"; + version = "1.7.9"; pname = "syncthingtray"; src = fetchFromGitHub { owner = "Martchus"; repo = "syncthingtray"; rev = "v${finalAttrs.version}"; - hash = "sha256-aUIZJ+nSLs1W0zycu6Mz2pknJw4e+jNxaFLUpSP6EKA="; + hash = "sha256-nIu6JrFqJ1QsALei9Bmrs6Bd2qM/37nb0ouxDymMN8k="; }; buildInputs = diff --git a/pkgs/by-name/bi/bikeshed/package.nix b/pkgs/by-name/bi/bikeshed/package.nix index 778f7ce47655..934393647bef 100644 --- a/pkgs/by-name/bi/bikeshed/package.nix +++ b/pkgs/by-name/bi/bikeshed/package.nix @@ -6,12 +6,12 @@ python3Packages.buildPythonApplication rec { pname = "bikeshed"; - version = "5.2.1"; + version = "5.3.2"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-EMWIHtIomiq7BvnG6x0+gJeSkouWpZzcnqys5mSM7aI="; + hash = "sha256-+TY26g685eIMXUjTG876r9gryg/tR6EtMGWAhk2kkis="; }; build-system = [ python3Packages.setuptools ]; diff --git a/pkgs/by-name/bl/blint/package.nix b/pkgs/by-name/bl/blint/package.nix new file mode 100644 index 000000000000..822d48b522b6 --- /dev/null +++ b/pkgs/by-name/bl/blint/package.nix @@ -0,0 +1,70 @@ +{ + lib, + python3Packages, + fetchFromGitHub, + versionCheckHook, +}: + +python3Packages.buildPythonApplication rec { + pname = "blint"; + version = "2.4.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "owasp-dep-scan"; + repo = "blint"; + tag = "v${version}"; + hash = "sha256-mGeC7+YzQWSlT3sW2la/f21fN8V+YoFd4fwj/PBPCMI="; + }; + + build-system = [ + python3Packages.poetry-core + ]; + + dependencies = with python3Packages; [ + pyyaml + appdirs + apsw + ar + custom-json-diff + defusedxml + email-validator + lief + oras + orjson + packageurl-python + pydantic + rich + symbolic + ]; + + pythonRelaxDeps = [ + "apsw" + "symbolic" + ]; + + pythonImportsCheck = [ + "blint" + ]; + + nativeCheckInputs = with python3Packages; [ + pytestCheckHook + pytest-cov-stub + ]; + + # only runs on windows and fails, obviously + disabledTests = [ + "test_demangle" + ]; + + meta = { + description = "Binary Linter to check the security properties, and capabilities in executables"; + homepage = "https://github.com/owasp-dep-scan/blint"; + changelog = "https://github.com/owasp-dep-scan/blint/releases/tag/v${version}"; + license = lib.licenses.mit; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ ethancedwards8 ]; + teams = with lib.teams; [ ngi ]; + mainProgram = "blint"; + }; +} diff --git a/pkgs/by-name/ca/cargo-deb/package.nix b/pkgs/by-name/ca/cargo-deb/package.nix index 14dbd2f002e5..5db84ae41b5e 100644 --- a/pkgs/by-name/ca/cargo-deb/package.nix +++ b/pkgs/by-name/ca/cargo-deb/package.nix @@ -8,17 +8,17 @@ rustPlatform.buildRustPackage rec { pname = "cargo-deb"; - version = "2.12.1"; + version = "3.2.0"; src = fetchFromGitHub { owner = "kornelski"; repo = "cargo-deb"; rev = "v${version}"; - hash = "sha256-Ov3rVfURzzZ6+YFq4Cqtoq5RQVHHjqvgkOcpsvAy1jc="; + hash = "sha256-2HHxGpp/N8QDytOsiWh8nkYNbWhThjisjnyI3B8+XYo="; }; useFetchCargoVendor = true; - cargoHash = "sha256-11l/9l1WD7vLHNOKFVOxcR4OI2ft1IrT5bRX77XS+BI="; + cargoHash = "sha256-hHZt4mRLpeXj1XWJ6v0pBDO0NpFDn0BT2oLgT2yZlm0="; nativeBuildInputs = [ makeWrapper diff --git a/pkgs/by-name/cg/cgns/package.nix b/pkgs/by-name/cg/cgns/package.nix new file mode 100644 index 000000000000..2a6c6add38b7 --- /dev/null +++ b/pkgs/by-name/cg/cgns/package.nix @@ -0,0 +1,78 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + gfortran, + tk, + hdf5, + xorg, + libGLU, + withTools ? false, + testers, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "cgns"; + version = "4.5.0"; + + src = fetchFromGitHub { + owner = "cgns"; + repo = "cgns"; + tag = "v${finalAttrs.version}"; + hash = "sha256-lPbXIC+O4hTtacxUcyNjZUWpEwo081MjEWhfIH3MWus="; + }; + + postPatch = '' + substituteInPlace src/cgnstools/tkogl/tkogl.c \ + --replace-fail "" "" + ''; + + nativeBuildInputs = [ + cmake + gfortran + ]; + + buildInputs = + [ + hdf5 + ] + ++ lib.optionals withTools [ + tk + xorg.libXmu + libGLU + ]; + + cmakeFlags = [ + (lib.cmakeBool "CGNS_ENABLE_FORTRAN" true) + (lib.cmakeBool "CGNS_ENABLE_LEGACY" true) + (lib.cmakeBool "CGNS_ENABLE_HDF5" true) + (lib.cmakeBool "HDF5_NEED_MPI" hdf5.mpiSupport) + (lib.cmakeBool "CGNS_BUILD_CGNSTOOLS" withTools) + (lib.cmakeBool "CGNS_ENABLE_TESTS" finalAttrs.finalPackage.doCheck) + (lib.cmakeBool "CGNS_BUILD_SHARED" (!stdenv.hostPlatform.isStatic)) + ]; + + doCheck = true; + + enableParallelChecking = false; + + # Remove broken .desktop files + postFixup = '' + rm -f $out/bin/*.desktop + ''; + + passthru.tests.cmake-config = testers.hasCmakeConfigModules { + moduleNames = [ "cgns" ]; + package = finalAttrs.finalPackage; + }; + + meta = { + description = "CFD General Notation System standard library"; + homepage = "https://cgns.github.io"; + downloadPage = "https://github.com/cgns/cgns"; + changelog = "https://github.com/cgns/cgns/releases/tag/${finalAttrs.src.tag}"; + license = with lib.licenses; [ zlib ]; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ qbisi ]; + }; +}) diff --git a/pkgs/by-name/co/corteza/package.nix b/pkgs/by-name/co/corteza/package.nix index e99ec15c81f6..612a3769b835 100644 --- a/pkgs/by-name/co/corteza/package.nix +++ b/pkgs/by-name/co/corteza/package.nix @@ -5,6 +5,7 @@ callPackage, fetchFromGitHub, lib, + nixosTests, stdenvNoCC, }: @@ -161,6 +162,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { passthru = { srcs = { inherit corteza-server corteza-webapp; }; + tests = { inherit (nixosTests) corteza; }; }; inherit (corteza-server) meta; diff --git a/pkgs/by-name/cp/cpp-utilities/package.nix b/pkgs/by-name/cp/cpp-utilities/package.nix index a542b899ec27..3948bec1451b 100644 --- a/pkgs/by-name/cp/cpp-utilities/package.nix +++ b/pkgs/by-name/cp/cpp-utilities/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "cpp-utilities"; - version = "5.28.1"; + version = "5.29.0"; src = fetchFromGitHub { owner = "Martchus"; repo = "cpp-utilities"; rev = "v${finalAttrs.version}"; - sha256 = "sha256-+VbVVRtOKNjJNQYU/QOU5hfARxHicsQQgm2TH5y8qx8="; + sha256 = "sha256-EtKcvkNpqEzpJj+hTJsQaDQad4SO0h1TLUbJ8leNTdk="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/ds/dsda-doom/package.nix b/pkgs/by-name/ds/dsda-doom/package.nix index 610f91675be6..e4fd5b238831 100644 --- a/pkgs/by-name/ds/dsda-doom/package.nix +++ b/pkgs/by-name/ds/dsda-doom/package.nix @@ -19,13 +19,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "dsda-doom"; - version = "0.29.2"; + version = "0.29.3"; src = fetchFromGitHub { owner = "kraflab"; repo = "dsda-doom"; tag = "v${finalAttrs.version}"; - hash = "sha256-KNF91ikLFJPjSSsoz01kwAG5aCoABFyIQ5ZzbshFlkI="; + hash = "sha256-Nsz9bj+AJomkYOiy5cli+NLmrJKNjYOiXjEZDXnnFNo="; }; sourceRoot = "${finalAttrs.src.name}/prboom2"; diff --git a/pkgs/by-name/fl/fluffychat/package.nix b/pkgs/by-name/fl/fluffychat/package.nix index 3128e496bd22..f0b293728bd8 100644 --- a/pkgs/by-name/fl/fluffychat/package.nix +++ b/pkgs/by-name/fl/fluffychat/package.nix @@ -1,15 +1,16 @@ { lib, - fetchzip, fetchFromGitHub, - fetchpatch, imagemagick, libgbm, libdrm, flutter332, pulseaudio, + copyDesktopItems, makeDesktopItem, - olm, + + callPackage, + vodozemac-wasm ? callPackage ./vodozemac-wasm.nix { flutter = flutter332; }, targetFlutterPlatform ? "linux", }: @@ -24,81 +25,72 @@ in flutter332.buildFlutterApplication ( rec { pname = "fluffychat-${targetFlutterPlatform}"; - version = "1.27.0"; + version = "2.0.0"; src = fetchFromGitHub { owner = "krille-chan"; repo = "fluffychat"; tag = "v${version}"; - hash = "sha256-kt4VpegxcZ+d0NIKan2A0AUqFLdYNcU9HY/4zyd2eSU="; + hash = "sha256-fFc6nIVQUY9OiGkEc7jrzXnBQPDWC5x5A4/XHUhu6hs="; }; - # https://github.com/krille-chan/fluffychat/pull/1965 - patches = [ - (fetchpatch { - name = "fix_compilation_mxc_image.patch"; - url = "https://github.com/krille-chan/fluffychat/commit/e1ec87d3aaae00eb030bcfda28ec8f247e2c3346.patch"; - hash = "sha256-/cd3geNVPifAC7iTcx8V1l2WY9Y/mEw+VPl2B4HSJKY="; - }) - ]; - inherit pubspecLock; gitHashes = { - flutter_secure_storage_linux = "sha256-cFNHW7dAaX8BV7arwbn68GgkkBeiAgPfhMOAFSJWlyY="; flutter_web_auth_2 = "sha256-3aci73SP8eXg6++IQTQoyS+erUUuSiuXymvR32sxHFw="; flutter_typeahead = "sha256-ZGXbbEeSddrdZOHcXE47h3Yu3w6oV7q+ZnO6GyW7Zg8="; + flutter_secure_storage_linux = "sha256-cFNHW7dAaX8BV7arwbn68GgkkBeiAgPfhMOAFSJWlyY="; }; inherit targetFlutterPlatform; - meta = { - description = "Chat with your friends (matrix client)"; - homepage = "https://fluffychat.im/"; - license = lib.licenses.agpl3Plus; - mainProgram = "fluffychat"; - maintainers = with lib.maintainers; [ - mkg20001 - tebriel - aleksana - ]; - platforms = [ - "x86_64-linux" - "aarch64-linux" - ]; - sourceProvenance = [ lib.sourceTypes.fromSource ]; - inherit (olm.meta) knownVulnerabilities; - }; + meta = + { + description = "Chat with your friends (matrix client)"; + homepage = "https://fluffychat.im/"; + license = lib.licenses.agpl3Plus; + maintainers = with lib.maintainers; [ + mkg20001 + tebriel + aleksana + ]; + badPlatforms = lib.platforms.darwin; + } + // lib.optionalAttrs (targetFlutterPlatform == "linux") { + mainProgram = "fluffychat"; + }; } // lib.optionalAttrs (targetFlutterPlatform == "linux") { - nativeBuildInputs = [ imagemagick ]; + nativeBuildInputs = [ + imagemagick + copyDesktopItems + ]; runtimeDependencies = [ pulseaudio ]; env.NIX_LDFLAGS = "-rpath-link ${libwebrtcRpath}"; - desktopItem = makeDesktopItem { - name = "Fluffychat"; - exec = "fluffychat"; - icon = "fluffychat"; - desktopName = "Fluffychat"; - genericName = "Chat with your friends (matrix client)"; - categories = [ - "Chat" - "Network" - "InstantMessaging" - ]; - }; + desktopItems = [ + (makeDesktopItem { + name = "Fluffychat"; + exec = "fluffychat"; + icon = "fluffychat"; + desktopName = "Fluffychat"; + genericName = "Chat with your friends (matrix client)"; + categories = [ + "Chat" + "Network" + "InstantMessaging" + ]; + }) + ]; postInstall = '' FAV=$out/app/fluffychat-linux/data/flutter_assets/assets/favicon.png ICO=$out/share/icons - install -D $FAV $ICO/fluffychat.png - mkdir $out/share/applications - cp $desktopItem/share/applications/*.desktop $out/share/applications for size in 24 32 42 64 128 256 512; do - D=$ICO/hicolor/''${s}x''${s}/apps + D=$ICO/hicolor/''${size}x''${size}/apps mkdir -p $D magick $FAV -resize ''${size}x''${size} $D/fluffychat.png done @@ -107,20 +99,8 @@ flutter332.buildFlutterApplication ( ''; } // lib.optionalAttrs (targetFlutterPlatform == "web") { - prePatch = - # https://github.com/krille-chan/fluffychat/blob/v1.17.1/scripts/prepare-web.sh - let - # Use Olm 1.3.2, the oldest version, for FluffyChat 1.14.1 which depends on olm_flutter 1.2.0. - olmVersion = pubspecLock.packages.flutter_olm.version; - olmJs = fetchzip { - url = "https://github.com/famedly/olm/releases/download/v${olmVersion}/olm.zip"; - stripRoot = false; - hash = "sha256-Vl3Cp2OaYzM5CPOOtTHtUb1W48VXePzOV6FeiIzyD1Y="; - }; - in - '' - rm -r assets/js/package - cp -r '${olmJs}/javascript' assets/js/package - ''; + preBuild = '' + cp -r ${vodozemac-wasm}/* ./assets/vodozemac/ + ''; } ) diff --git a/pkgs/by-name/fl/fluffychat/pubspec.lock.json b/pkgs/by-name/fl/fluffychat/pubspec.lock.json index 40cb92441d26..7f6dddfa1c58 100644 --- a/pkgs/by-name/fl/fluffychat/pubspec.lock.json +++ b/pkgs/by-name/fl/fluffychat/pubspec.lock.json @@ -176,6 +176,16 @@ "source": "hosted", "version": "2.1.2" }, + "build_cli_annotations": { + "dependency": "transitive", + "description": { + "name": "build_cli_annotations", + "sha256": "b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.1.0" + }, "canonical_json": { "dependency": "transitive", "description": { @@ -764,16 +774,6 @@ "source": "hosted", "version": "1.1.1" }, - "flutter_olm": { - "dependency": "direct main", - "description": { - "name": "flutter_olm", - "sha256": "5e6211af8cba1abf7d1f92e543f6d573dfe6017fe4742e0d04ba84beab47f940", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "2.0.0" - }, "flutter_openssl_crypto": { "dependency": "direct main", "description": { @@ -794,6 +794,16 @@ "source": "hosted", "version": "2.0.28" }, + "flutter_rust_bridge": { + "dependency": "transitive", + "description": { + "name": "flutter_rust_bridge", + "sha256": "b416ff56002789e636244fb4cc449f587656eff995e5a7169457eb0593fcaddb", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "2.10.0" + }, "flutter_secure_storage": { "dependency": "direct main", "description": { @@ -882,6 +892,16 @@ "source": "git", "version": "5.2.0" }, + "flutter_vodozemac": { + "dependency": "direct main", + "description": { + "name": "flutter_vodozemac", + "sha256": "2405ca121b84d1cd83200a14021022e1691b123a23bcefc36adc7740cefbc1f9", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.2" + }, "flutter_web_auth_2": { "dependency": "direct main", "description": { @@ -1445,11 +1465,11 @@ "dependency": "direct main", "description": { "name": "matrix", - "sha256": "f8f78700f967de4333a0c9ca609dac2ae05914a27faa60c5530026b7aca6ae78", + "sha256": "996e3b1560959afaa3118ec2b5a06734ad29acf64f9c3c09a605c3ddef22039f", "url": "https://pub.dev" }, "source": "hosted", - "version": "0.40.2" + "version": "1.0.1" }, "meta": { "dependency": "transitive", @@ -1521,16 +1541,6 @@ "source": "hosted", "version": "2.0.2" }, - "olm": { - "dependency": "transitive", - "description": { - "name": "olm", - "sha256": "6a3fe1e5170b954dd9e4ba3b27513e6aa9b7591eb7bb0d7f6f32140b7f140c6f", - "url": "https://pub.dev" - }, - "source": "hosted", - "version": "3.1.0" - }, "opus_caf_converter_dart": { "dependency": "direct main", "description": { @@ -2747,6 +2757,16 @@ "source": "hosted", "version": "15.0.0" }, + "vodozemac": { + "dependency": "transitive", + "description": { + "name": "vodozemac", + "sha256": "dba14017e042748fb22d270e8ab1d3e46965b89788dd3857dba938ec07571968", + "url": "https://pub.dev" + }, + "source": "hosted", + "version": "0.2.0" + }, "wakelock_plus": { "dependency": "direct main", "description": { diff --git a/pkgs/by-name/fl/fluffychat/vodozemac-wasm.nix b/pkgs/by-name/fl/fluffychat/vodozemac-wasm.nix new file mode 100644 index 000000000000..b063497368e7 --- /dev/null +++ b/pkgs/by-name/fl/fluffychat/vodozemac-wasm.nix @@ -0,0 +1,123 @@ +{ + lib, + stdenv, + fluffychat-web, + symlinkJoin, + buildPackages, + rustc, + rustPlatform, + cargo, + flutter, + flutter_rust_bridge_codegen, + which, + wasm-pack, + wasm-bindgen-cli_0_2_100, + binaryen, + writableTmpDirAsHomeHook, + runCommand, +}: + +let + pubSources = fluffychat-web.pubspecLock.dependencySources; + + # wasm-pack doesn't take 'RUST_SRC_PATH' into consideration + rustcWithLibSrc = buildPackages.rustc.override { + sysroot = symlinkJoin { + name = "rustc_unwrapped_with_libsrc"; + paths = [ + buildPackages.rustc.unwrapped + ]; + postBuild = '' + mkdir -p $out/lib/rustlib/src/rust + ln -s ${rustPlatform.rustLibSrc} $out/lib/rustlib/src/rust/library + ''; + }; + }; +in + +# https://github.com/krille-chan/fluffychat/blob/main/scripts/prepare-web.sh +stdenv.mkDerivation { + pname = "vodozemac-wasm"; + inherit (pubSources.vodozemac) version; + + # These two were in the same repository, so just reuse them + unpackPhase = '' + runHook preUnpack + + cp -r ${pubSources.flutter_vodozemac}/rust ./rust + cp -r ${pubSources.vodozemac} ./dart + chmod -R +rwx . + + runHook postUnpack + ''; + + # Remove dev_dependencies to avoid downloading them + postPatch = '' + sed -i '/^dev_dependencies:/,/^$/d' dart/pubspec.yaml + ''; + + cargoRoot = "rust"; + + cargoDeps = symlinkJoin { + name = "vodozemac-wasm-cargodeps"; + paths = [ + pubSources.flutter_vodozemac.passthru.cargoDeps + # Pull in rust vendor so we don't have to vendor rustLibSrc again + # This is required because `-Z build-std=std,panic_abort` rebuilds std + rustPlatform.rustVendorSrc + ]; + }; + + nativeBuildInputs = [ + rustPlatform.cargoSetupHook + rustcWithLibSrc + rustc.llvmPackages.lld + cargo + flutter + flutter_rust_bridge_codegen + which + wasm-pack + wasm-bindgen-cli_0_2_100 + binaryen + writableTmpDirAsHomeHook + ]; + + buildPhase = '' + runHook preBuild + + pushd dart + dart pub get --offline + popd + RUST_LOG=info flutter_rust_bridge_codegen build-web \ + --dart-root $(realpath ./dart) --rust-root $(realpath ./rust) --release + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -r dart/web/pkg/vodozemac_bindings_dart* $out/ + + runHook postInstall + ''; + + env = { + # Build a pub cache from fluffychat, as dart-vodozemac should be a subset + # This is required because dart-vodozemac, as a pub, doesn't have a pubspec.lock + # But flutter_rust_bridge_codegen still requires all dependencies of it + PUB_CACHE = runCommand "fluffychat-pub-cache" { } '' + mkdir -p $out/hosted/pub.dev + pushd $out/hosted/pub.dev + ${lib.concatMapAttrsStringSep "; " ( + _: p: + "ln -s ${p} ./${if lib.hasPrefix "pub-" p.name then lib.removePrefix "pub-" p.name else p.name}" + ) pubSources} + popd + ''; + RUSTC_BOOTSTRAP = 1; # `-Z build-std=std,panic_abort` requires nightly toolchain + }; + + inherit (fluffychat-web) meta; +} diff --git a/pkgs/by-name/fl/flutter_rust_bridge_codegen/package.nix b/pkgs/by-name/fl/flutter_rust_bridge_codegen/package.nix index bc0062a725ae..58f17d508f71 100644 --- a/pkgs/by-name/fl/flutter_rust_bridge_codegen/package.nix +++ b/pkgs/by-name/fl/flutter_rust_bridge_codegen/package.nix @@ -3,6 +3,7 @@ fetchFromGitHub, rustPlatform, cargo-expand, + stdenv, }: rustPlatform.buildRustPackage rec { pname = "flutter_rust_bridge_codegen"; @@ -26,11 +27,17 @@ rustPlatform.buildRustPackage rec { # needed to run text (see https://github.com/fzyzcjy/flutter_rust_bridge/blob/ae970bfafdf80b9eb283a2167b972fb2e6504511/frb_codegen/src/library/utils/logs.rs#L43) logLevel = "debug"; - checkFlags = [ - # Disabled because these tests need a different version of anyhow than the package itself - "--skip=tests::test_execute_generate_on_frb_example_dart_minimal" - "--skip=tests::test_execute_generate_on_frb_example_pure_dart" - ]; + checkFlags = + [ + # Disabled because these tests need a different version of anyhow than the package itself + "--skip=tests::test_execute_generate_on_frb_example_dart_minimal" + "--skip=tests::test_execute_generate_on_frb_example_pure_dart" + ] + ++ lib.optionals stdenv.hostPlatform.isDarwin [ + # Timeout on darwin, not related to networking in sandbox + "--skip=library::codegen::controller::tests::test_run_with_watch" + "--skip=library::codegen::generator::api_dart::tests::test_functions" + ]; meta = { mainProgram = "flutter_rust_bridge_codegen"; diff --git a/pkgs/by-name/jw/jwx/package.nix b/pkgs/by-name/jw/jwx/package.nix index 27a2589eca68..2c95a04d4349 100644 --- a/pkgs/by-name/jw/jwx/package.nix +++ b/pkgs/by-name/jw/jwx/package.nix @@ -6,16 +6,16 @@ buildGoModule (finalAttrs: { pname = "jwx"; - version = "3.0.7"; + version = "3.0.8"; src = fetchFromGitHub { owner = "lestrrat-go"; repo = "jwx"; tag = "v${finalAttrs.version}"; - hash = "sha256-vR7QsRAVdYmi7wYGsjuQiB1mABq5jx7mIRFiduJRReA="; + hash = "sha256-IorB1Zga4cDdeQv2QTc0qKvefIysxLz8StWMyqAWrTs="; }; - vendorHash = "sha256-fpjkaGkJUi4jrdFvrClx42FF9HwzNW5js3I5HNZChOU="; + vendorHash = "sha256-HXf6H3FF3N5xLlO2Ux5tuN/ompfzQTAytUdGPbURw44="; sourceRoot = "${finalAttrs.src.name}/cmd/jwx"; diff --git a/pkgs/by-name/kl/klog-time-tracker/package.nix b/pkgs/by-name/kl/klog-time-tracker/package.nix index 9805ecb6c983..ce68514dd018 100644 --- a/pkgs/by-name/kl/klog-time-tracker/package.nix +++ b/pkgs/by-name/kl/klog-time-tracker/package.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "klog-time-tracker"; - version = "6.5"; + version = "6.6"; src = fetchFromGitHub { owner = "jotaen"; repo = "klog"; rev = "v${version}"; - hash = "sha256-xwVbI4rXtcZrnTvp0vdHMbYRoWCsxIuGZF922eC/sfw="; + hash = "sha256-Tq780+Gsu2Ym9+DeMpaOhsP2XluyKBh01USnmwlYsTs="; }; - vendorHash = "sha256-QOS+D/zD5IlJBlb7vrOoHpP/7xS9En1/MFNwLSBrXOg="; + vendorHash = "sha256-ilV/+Xogy4+5c/Rs0cCSvVTgDhL4mm9V/pxJB3XGDkw="; meta = with lib; { description = "Command line tool for time tracking in a human-readable, plain-text file format"; diff --git a/pkgs/by-name/md/mdbook-d2/package.nix b/pkgs/by-name/md/mdbook-d2/package.nix index 61fac56e5559..09ca405cbe02 100644 --- a/pkgs/by-name/md/mdbook-d2/package.nix +++ b/pkgs/by-name/md/mdbook-d2/package.nix @@ -6,17 +6,17 @@ rustPlatform.buildRustPackage rec { pname = "mdbook-d2"; - version = "0.3.5"; + version = "0.3.6"; src = fetchFromGitHub { owner = "danieleades"; repo = "mdbook-d2"; rev = "v${version}"; - hash = "sha256-+WCtvZXU8/FzOrc7LkxZKs5BhSdhqpOruxRfv+YY8Es="; + hash = "sha256-2mpGufQvnIForU0X96Mi65r2xQ+bIj9MdJugMXVPcnM="; }; useFetchCargoVendor = true; - cargoHash = "sha256-bTPqvWl41r1ilKjUpCJNKi3MsWeiix38xma5im/LLKQ="; + cargoHash = "sha256-K4vovc78MiLkWMVS4YDuSK9L7EmwpGdZXdRqeELcPT8="; doCheck = false; meta = with lib; { diff --git a/pkgs/by-name/mi/mise/package.nix b/pkgs/by-name/mi/mise/package.nix index bb2658b20e4a..09154c9cf804 100644 --- a/pkgs/by-name/mi/mise/package.nix +++ b/pkgs/by-name/mi/mise/package.nix @@ -21,17 +21,17 @@ rustPlatform.buildRustPackage rec { pname = "mise"; - version = "2025.6.5"; + version = "2025.7.0"; src = fetchFromGitHub { owner = "jdx"; repo = "mise"; rev = "v${version}"; - hash = "sha256-aSiIhR7Lg5bBt/0YmuqcSbl4PiNXMrt6ok+e/IAt19s="; + hash = "sha256-PIUw84xwR9m06fPkO7MYf95Q21YvYnBMi+MY+OOz+2k="; }; useFetchCargoVendor = true; - cargoHash = "sha256-+4y3/EZVIcfnkqU4krXovnfZNZw1luHH4VxgAERry8U="; + cargoHash = "sha256-5876Lc4rRNwTH8u5bMyV52Eps9QOcBHhE3v+33hzeBA="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/nu/nuclei-templates/package.nix b/pkgs/by-name/nu/nuclei-templates/package.nix index f6a8d985298c..ac700113531e 100644 --- a/pkgs/by-name/nu/nuclei-templates/package.nix +++ b/pkgs/by-name/nu/nuclei-templates/package.nix @@ -6,13 +6,13 @@ stdenvNoCC.mkDerivation rec { pname = "nuclei-templates"; - version = "10.2.3"; + version = "10.2.4"; src = fetchFromGitHub { owner = "projectdiscovery"; repo = "nuclei-templates"; tag = "v${version}"; - hash = "sha256-WncT1mij/EncI+uGyDJLfK1Qk7kQAEDbeUdIcI67zPk="; + hash = "sha256-RBZjtKkUk+kOob2VBFh1rPrVuUsIBMAetUhMClOZY6s="; }; installPhase = '' diff --git a/pkgs/by-name/pa/parallel-launcher/fix-paths.patch b/pkgs/by-name/pa/parallel-launcher/fix-paths.patch new file mode 100644 index 000000000000..26dc04767845 --- /dev/null +++ b/pkgs/by-name/pa/parallel-launcher/fix-paths.patch @@ -0,0 +1,71 @@ +diff --git a/src/core/retroarch.cpp b/src/core/retroarch.cpp +index c2a2c47..97fa782 100644 +--- a/src/core/retroarch.cpp ++++ b/src/core/retroarch.cpp +@@ -102,7 +102,7 @@ static void loadConfig( std::map &configs ) { + + const fs::path basePath = RetroArch::getBasePath(); + configs["system_directory"] = (basePath / _NFS("system")).u8string(); +- configs["libretro_directory"] = (basePath / _NFS("cores")).u8string(); ++ configs["libretro_directory"] = "@retroArchCoresPath@"; + configs["savefile_directory"] = (basePath / _NFS("saves")).u8string(); + configs["savestate_directory"] = (basePath / _NFS("states")).u8string(); + configs["libretro_info_path"] = (basePath / _NFS("info")).u8string(); +@@ -110,7 +110,7 @@ static void loadConfig( std::map &configs ) { + #if defined(FLATPAK_VERSION) + configs["assets_directory"] = "/app/share/libretro/assets/"; + #elif defined(__linux__) +- configs["assets_directory"] = (BaseDir::data() / "retro-data" / "assets").u8string(); ++ configs["assets_directory"] = "@retroArchAssetsPath@";; + configs["osk_overlay_directory"] = (BaseDir::data() / "retro-data" / "overlays" / "keyboards").u8string(); + configs["overlay_directory"] = (BaseDir::data() / "retro-data" / "overlays").u8string(); + configs["audio_filter_dir"] = (BaseDir::data() / "retro-data" / "filters" / "audio").u8string(); +@@ -845,13 +845,7 @@ fs::path RetroArch::getBasePath() { + } + + fs::path RetroArch::getCorePath() { +-#if defined(_WIN32) +- return RetroArch::getBasePath() / L"cores" / L"parallel_n64_next_libretro.dll"; +-#elif defined(__APPLE__) +- return RetroArch::getBasePath() / "cores" / "parallel_n64_next_libretro.dylib"; +-#else +- return RetroArch::getBasePath() / "cores" / "parallel_n64_next_libretro.so"; +-#endif ++ return "@parallelN64CorePath@"; + } + + fs::path RetroArch::getConfigPath() { +@@ -866,7 +860,7 @@ fs::path RetroArch::getExePath() { + #elif defined(FLATPAK_VERSION) + return BaseDir::program() / "retroarch"; + #else +- return BaseDir::data() / "appimage" / "RetroArch-Linux-x86_64.AppImage"; ++ return "@retroArchExePath@"; + #endif + } + +diff --git a/src/main.cpp b/src/main.cpp +index 3ca39b2..f3c14ba 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -200,6 +200,7 @@ int main( int argc, char **argv ) { + fs::path( "/usr/local/share/parallel-launcher/translations/" ), + fs::path( "/usr/share/parallel-launcher/translations/" ) + #else ++ fs::read_symlink( "/proc/self/exe" ).parent_path().parent_path() / "share/parallel-launcher/translations/", + fs::path( "/usr/share/parallel-launcher/translations/" ), + fs::path( "/usr/local/share/parallel-launcher/translations/" ), + BaseDir::program() / "lang" +diff --git a/src/polyfill/base-directory.cpp b/src/polyfill/base-directory.cpp +index 720a754..db607ca 100644 +--- a/src/polyfill/base-directory.cpp ++++ b/src/polyfill/base-directory.cpp +@@ -134,7 +134,7 @@ static Locations getLocations() { + #if defined(FLATPAK_VERSION) + fs::path( "/app/share/parallel-launcher" ) + #elif defined(__linux__) +- fs::path( "/usr/share/parallel-launcher" ) ++ fs::read_symlink( "/proc/self/exe" ).parent_path().parent_path() / "share/parallel-launcher" + #endif + }; + } diff --git a/pkgs/by-name/pa/parallel-launcher/fix-version-checks.patch b/pkgs/by-name/pa/parallel-launcher/fix-version-checks.patch new file mode 100644 index 000000000000..92c9974a27dc --- /dev/null +++ b/pkgs/by-name/pa/parallel-launcher/fix-version-checks.patch @@ -0,0 +1,92 @@ +diff --git a/src/core/updates.cpp b/src/core/updates.cpp +index 403290b..f7d6547 100644 +--- a/src/core/updates.cpp ++++ b/src/core/updates.cpp +@@ -30,8 +30,8 @@ + #endif + + const InstalledVersionsInfo InstalledVersionsInfo::Default { +- /* retroArchVersion */ RetroArchVersion{ Version{ 0, 0, 0 }, false }, +- /* parallelVersion */ Version{ 0, 0, 0 }, ++ /* retroArchVersion */ RetroArchVersion{ Version{ @retroArchVersion@ }, true }, ++ /* parallelVersion */ Version{ @parallelN64CoreVersion@ }, + /* lastUpdateCheck */ 0 + }; + +@@ -47,15 +47,7 @@ template<> void JsonSerializer::serialize( JsonWriter &jw, con + } + + template<> RetroArchVersion JsonSerializer::parse( const Json &json ) { +- Version version = Version{ 0, 0, 0 }; +- if( json[P_VERSION].exists() ) { +- version = parse( json[P_VERSION] ); +- } +- +- return RetroArchVersion { +- version, +- json[P_LOCK].getOrDefault( false ) +- }; ++ return InstalledVersionsInfo::Default.retroArchVersion; + } + + static constexpr char P_RETROARCH[] = "retroarch"; +@@ -73,47 +65,14 @@ template<> void JsonSerializer::serialize( JsonWriter &jw + } + + template<> InstalledVersionsInfo JsonSerializer::parse( const Json &json ) { +- Version parallelVersion; +- try { +- parallelVersion = parse( json[P_PARALLEL] ); +- } catch( ... ) { +- parallelVersion = { 0, 0, 0 }; +- } +- +- RetroArchVersion retroVersion; +- try { +- retroVersion = parse( json[P_RETROARCH] ); +- } catch( ... ) { +- retroVersion = RetroArchVersion{ Version{ 0, 0, 0 }, false }; +- } +- +- return InstalledVersionsInfo { +- retroVersion, +- parallelVersion, +- json[P_LAST_CHECKED].get() +- }; ++ return InstalledVersionsInfo::Default; + } + + template<> ParallelCoreVersion JsonSerializer::parse( const Json &json ) { +-#if defined(__linux__) +- const Json &vjson = json["linux_x64"]; +-#elif defined(_WIN32) +- #ifdef _WIN64 +- const Json &vjson = json["windows_x64"]; +- #else +- const Json &vjson = json["windows_x86"]; +- #endif +-#elif defined(__APPLE__) +- const Json &vjson = AppleUtil::shouldUseArmCore() ? json["macos_arm64"] : json["macos_x64"]; +-#else +- const Json &vjson = json; +- static_assert( false ); +-#endif +- + return ParallelCoreVersion{ +- JsonSerializer::parse( vjson["version"] ), +- vjson["sha1"].get(), +- vjson["url"].get() ++ InstalledVersionsInfo::Default.parallelVersion, ++ "", ++ "" + }; + } + +@@ -178,6 +137,7 @@ void RetroUpdater::checkForUpdates( + bool waitForCoreUpdates, + bool forceUpdate + ) { ++ return; + InstalledVersionsInfo installedVersions = FileController::loadInstalledVersions(); + + if( forceUpdate || checkSchedule( installedVersions ) ) { diff --git a/pkgs/by-name/pa/parallel-launcher/package.nix b/pkgs/by-name/pa/parallel-launcher/package.nix new file mode 100644 index 000000000000..e73bd73c266c --- /dev/null +++ b/pkgs/by-name/pa/parallel-launcher/package.nix @@ -0,0 +1,164 @@ +{ + lib, + stdenv, + callPackage, + fetchFromGitLab, + replaceVars, + qt5, + SDL2, + discord-rpc, + libgcrypt, + sqlite, + findutils, + xdg-utils, + coreutils, + dosfstools, + vulkan-loader, + wrapRetroArch, + retroarch-assets, + parallel-launcher, + # Allow overrides for the RetroArch core and declarative settings + parallel-n64-core ? parallel-launcher.passthru.parallel-n64-core, + extraRetroArchSettings ? { }, +}: +let + # Converts a version string like x.y.z to vx.y-z + reformatVersion = v: "v${lib.versions.majorMinor v}-${lib.versions.patch v}"; + + # Converts a version string like x.y.z to x, y, z + reformatVersion' = lib.replaceStrings [ "." ] [ ", " ]; + + retroArchAssetsPath = "${retroarch-assets}/share/retroarch/assets"; +in +stdenv.mkDerivation ( + finalAttrs: + let + retroarch' = wrapRetroArch { + cores = [ + parallel-n64-core + ]; + + # These settings take precedence over those supplied by user config files + settings = { + # Override the wrapper's libretro_info_path because that path doesn't + # have any information about Parallel Launcher's parallel-n64 core fork. + # Upstream provides this information in their own *.info files in $src/data. + # Save states with the parallel-n64 core will not work without this. + libretro_info_path = "${finalAttrs.src}/data"; + assets_directory = retroArchAssetsPath; + } // extraRetroArchSettings; + }; + in + { + pname = "parallel-launcher"; + version = "8.2.0"; # Check ./parallel-n64-next.nix for updates when updating, too + + src = fetchFromGitLab { + owner = "parallel-launcher"; + repo = "parallel-launcher"; + tag = reformatVersion finalAttrs.version; + hash = "sha256-G1ob2Aq/PE12jNO2YnlCdL9SWELj0Mf/vmr7dzNv550="; + }; + + patches = + let + retroArchCoresPath = "${retroarch'}/lib/retroarch/cores"; + suffix = stdenv.hostPlatform.extensions.sharedLibrary; + in + [ + # Fix FHS path assumptions + (replaceVars ./fix-paths.patch { + inherit retroArchAssetsPath retroArchCoresPath; + retroArchExePath = lib.getExe retroarch'; + parallelN64CorePath = "${retroArchCoresPath}/parallel_n64_next_libretro${suffix}"; + }) + # Bypass update checks and hardcode internal version checks to ours + (replaceVars ./fix-version-checks.patch { + retroArchVersion = reformatVersion' (lib.getVersion retroarch'); + parallelN64CoreVersion = reformatVersion' (lib.getVersion parallel-n64-core); + }) + ]; + + nativeBuildInputs = [ + qt5.wrapQtAppsHook + qt5.qttools + qt5.qmake + ]; + + buildInputs = [ + SDL2 + discord-rpc + libgcrypt + sqlite + qt5.qtbase + qt5.qtsvg + ]; + + qtWrapperArgs = [ + "--prefix PATH : ${ + lib.makeBinPath [ + findutils + xdg-utils + coreutils + dosfstools + ] + }" + "--prefix LD_LIBRARY_PATH : ${ + lib.makeLibraryPath [ + vulkan-loader + ] + }" + ]; + + # Our patches result in unused params. + # Ignoring the warning is easier to maintain than more invasive patching. + env.NIX_CFLAGS_COMPILE = "-Wno-error=unused-parameter"; + + preConfigure = '' + lrelease app.pro + ''; + + installPhase = '' + runHook preInstall + + # Taken from pkg/arch/PKGBUILD + install -D parallel-launcher -t $out/bin + install -D ca.parallel_launcher.ParallelLauncher.desktop -t $out/share/applications + install -D ca.parallel_launcher.ParallelLauncher.metainfo.xml -t $out/share/metainfo + install -D data/appicon.svg $out/share/icons/hicolor/scalable/apps/ca.parallel_launcher.ParallelLauncher.svg + install -D bps-mime.xml parallel-launcher-{lsjs,sdl-relay} -t $out/share/parallel-launcher + install -D lang/*.qm -t $out/share/parallel-launcher/translations + + runHook postInstall + ''; + + passthru = { + parallel-n64-core = callPackage ./parallel-n64-next.nix { }; + updateScript = { + command = ./update.sh; + supportedFeatures = [ "commit" ]; + }; + }; + + meta = { + description = "Modern N64 Emulator"; + longDescription = '' + Parallel Launcher is an emulator launcher that aims to make playing N64 games, + both retail and homebrew, as simple and as accessible as possible. Parallel + Launcher uses the RetroArch emulator, but replaces its confusing menus and + controller setup with a much simpler user interface. It also features optional + integration with romhacking.com. + ''; + homepage = "https://parallel-launcher.ca"; + changelog = "https://gitlab.com/parallel-launcher/parallel-launcher/-/releases/${finalAttrs.src.tag}"; + # Theoretically, platforms should be the intersection of what upstream supports, + # what nixpkgs RetroArch supports, and what the RetroArch core supports + platforms = [ "x86_64-linux" ]; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ + WheelsForReals + ]; + mainProgram = "parallel-launcher"; + }; + } +) diff --git a/pkgs/by-name/pa/parallel-launcher/parallel-n64-next.nix b/pkgs/by-name/pa/parallel-launcher/parallel-n64-next.nix new file mode 100644 index 000000000000..00a4a5d8ef1c --- /dev/null +++ b/pkgs/by-name/pa/parallel-launcher/parallel-n64-next.nix @@ -0,0 +1,75 @@ +{ + lib, + stdenv, + fetchFromGitLab, + pkg-config, + libGLU, + libGL, + libpng, + libretro, +}: +let + # Converts a version string like x.y.z to vx.y-z + reformatVersion = v: "v${lib.versions.majorMinor v}-${lib.versions.patch v}"; +in +# Based on the libretro parallel-n64 derivation with slight tweaks +libretro.mkLibretroCore (finalAttrs: { + core = "parallel-n64-next"; + version = "2.24.1"; + + src = fetchFromGitLab { + owner = "parallel-launcher"; + repo = "parallel-n64"; + tag = reformatVersion finalAttrs.version; + hash = "sha256-BeeKX78zozxx72cmJ3HI0nH/STvkltMBZs2+mb4ukM0="; + }; + + extraNativeBuildInputs = [ + pkg-config + ]; + + extraBuildInputs = [ + libGLU + libGL + libpng + ]; + + makefile = "Makefile"; + + makeFlags = [ + "HAVE_PARALLEL=1" + "HAVE_PARALLEL_RSP=1" + "HAVE_THR_AL=1" + "SYSTEM_LIBPNG=1" + "SYSTEM_ZLIB=1" + "ARCH=${stdenv.hostPlatform.parsed.cpu.name}" + ]; + + postPatch = lib.optionalString stdenv.hostPlatform.isAarch64 '' + sed -i -e '1 i\CPUFLAGS += -DARM_FIX -DNO_ASM -DARM_ASM -DDONT_WANT_ARM_OPTIMIZATIONS -DARM64' Makefile \ + && sed -i -e 's,CPUFLAGS :=,,g' Makefile + ''; + + preInstall = + let + suffix = stdenv.hostPlatform.extensions.sharedLibrary; + in + '' + mv parallel_n64_libretro${suffix} parallel_n64_next_libretro${suffix} + ''; + + passthru.updateScript = { }; + + meta = { + description = "Fork of libretro's parallel-n64 core designed to be used with Parallel Launcher."; + homepage = "https://gitlab.com/parallel-launcher/parallel-n64"; + license = lib.licenses.gpl3Only; + teams = [ ]; + maintainers = with lib.maintainers; [ + WheelsForReals + ]; + badPlatforms = [ + "aarch64-linux" + ]; + }; +}) diff --git a/pkgs/by-name/pa/parallel-launcher/update.sh b/pkgs/by-name/pa/parallel-launcher/update.sh new file mode 100755 index 000000000000..0821a87454a7 --- /dev/null +++ b/pkgs/by-name/pa/parallel-launcher/update.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl jq gnused common-updater-scripts + +set -euo pipefail + +nixpkgs=$(git rev-parse --show-toplevel) +packageDir="$nixpkgs/pkgs/by-name/pa/parallel-launcher" + +getLatestVersion() { + curl -s "https://gitlab.com/api/v4/projects/parallel-launcher%2F$1/repository/tags" \ + | jq -r '.[0] | select(.) | .name' \ + | sed 's|v||' \ + | sed 's|-|.|' +} + +updateSourceVersion() { + update-source-version "$1" "$2" --file="$3" --print-changes +} + +latestLauncherVersion=$(getLatestVersion parallel-launcher) +latestCoreVersion=$(getLatestVersion parallel-n64) + +launcherUpdate=$(updateSourceVersion parallel-launcher "$latestLauncherVersion" "$packageDir/package.nix") +coreUpdate=$(updateSourceVersion parallel-launcher.parallel-n64-core "$latestCoreVersion" "$packageDir/parallel-n64-next.nix") + +echo '[]' | jq ". += $launcherUpdate + $coreUpdate" diff --git a/pkgs/by-name/po/positron-bin/package.nix b/pkgs/by-name/po/positron-bin/package.nix index 11817b657faf..42fa5e7100e9 100644 --- a/pkgs/by-name/po/positron-bin/package.nix +++ b/pkgs/by-name/po/positron-bin/package.nix @@ -22,7 +22,7 @@ }: let pname = "positron-bin"; - version = "2025.07.0-112"; + version = "2025.07.0-204"; in stdenv.mkDerivation { inherit version pname; @@ -30,18 +30,18 @@ stdenv.mkDerivation { src = if stdenv.hostPlatform.isDarwin then fetchurl { - url = "https://cdn.posit.co/positron/dailies/mac/universal/Positron-${version}.dmg"; - hash = "sha256-vprBr+0XBndCiFTauiOa3gjOlxj/w2ZhQlXNJdly7oU="; + url = "https://cdn.posit.co/positron/releases/mac/universal/Positron-${version}-universal.dmg"; + hash = "sha256-f1EQw6fKH4pgVG7+YcLPv6FawJ2TN507hYLD0pn+PlM="; } else if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl { - url = "https://cdn.posit.co/positron/dailies/deb/arm64/Positron-${version}-arm64.deb"; - hash = "sha256-TYFBW3sRpgsdVC66WB9SYNsmAxGCq/3gQSexOVtvGZs="; + url = "https://cdn.posit.co/positron/releases/deb/arm64/Positron-${version}-arm64.deb"; + hash = "sha256-SxjQPZ2wUmSIYOxBB6AS6Ue7ajXzMkY32nHdkZkNhBA="; } else fetchurl { - url = "https://cdn.posit.co/positron/dailies/deb/x86_64/Positron-${version}-x64.deb"; - hash = "sha256-yueD2PEBXiG8FPghRWvBS6TPtyZ1Q8utKOS8QDMNlk8="; + url = "https://cdn.posit.co/positron/releases/deb/x86_64/Positron-${version}-x64.deb"; + hash = "sha256-f27LC4+SXnkyePw/fw8r9JYsOQKVoIiFkAet/QtwbNg="; }; buildInputs = diff --git a/pkgs/by-name/po/positron-bin/update.sh b/pkgs/by-name/po/positron-bin/update.sh index 76c16930fc01..6424263fa45b 100755 --- a/pkgs/by-name/po/positron-bin/update.sh +++ b/pkgs/by-name/po/positron-bin/update.sh @@ -18,33 +18,33 @@ fi # Update Darwin hash. current_hash=$(nix store prefetch-file --json --hash-type sha256 \ - "https://cdn.posit.co/positron/dailies/mac/universal/Positron-${current_version}.dmg" \ + "https://cdn.posit.co/positron/releases/mac/universal/Positron-${current_version}-universal.dmg" \ | jq -r .hash) new_hash=$(nix store prefetch-file --json --hash-type sha256 \ - "https://cdn.posit.co/positron/dailies/mac/universal/Positron-${new_version}.dmg" \ + "https://cdn.posit.co/positron/releases/mac/universal/Positron-${new_version}-universal.dmg" \ | jq -r .hash) sed -i "s|$current_hash|$new_hash|g" $positron_nix # Update Linux x86_64 hash. current_hash=$(nix store prefetch-file --json --hash-type sha256 \ - "https://cdn.posit.co/positron/dailies/deb/x86_64/Positron-${current_version}-x64.deb" \ + "https://cdn.posit.co/positron/releases/deb/x86_64/Positron-${current_version}-x64.deb" \ | jq -r .hash) new_hash=$(nix store prefetch-file --json --hash-type sha256 \ - "https://cdn.posit.co/positron/dailies/deb/x86_64/Positron-${new_version}-x64.deb" \ + "https://cdn.posit.co/positron/releases/deb/x86_64/Positron-${new_version}-x64.deb" \ | jq -r .hash) sed -i "s|$current_hash|$new_hash|g" $positron_nix # Update Linux aarch64 hash. current_hash=$(nix store prefetch-file --json --hash-type sha256 \ - "https://cdn.posit.co/positron/dailies/deb/arm64/Positron-${current_version}-arm64.deb" \ + "https://cdn.posit.co/positron/releases/deb/arm64/Positron-${current_version}-arm64.deb" \ | jq -r .hash) new_hash=$(nix store prefetch-file --json --hash-type sha256 \ - "https://cdn.posit.co/positron/dailies/deb/arm64/Positron-${new_version}-arm64.deb" \ + "https://cdn.posit.co/positron/releases/deb/arm64/Positron-${new_version}-arm64.deb" \ | jq -r .hash) sed -i "s|$current_hash|$new_hash|g" $positron_nix diff --git a/pkgs/by-name/ru/ruff/package.nix b/pkgs/by-name/ru/ruff/package.nix index ac2356a569c8..82ea5524164a 100644 --- a/pkgs/by-name/ru/ruff/package.nix +++ b/pkgs/by-name/ru/ruff/package.nix @@ -16,19 +16,19 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "ruff"; - version = "0.12.1"; + version = "0.12.2"; src = fetchFromGitHub { owner = "astral-sh"; repo = "ruff"; tag = finalAttrs.version; - hash = "sha256-iD9avLPPT8V6ZU1qoWEqPLp8jDk/EhcaTk7FtKLRsyM="; + hash = "sha256-BnQm0Q3KbtlGjvN+bkYWyllBjX4Z3HD4LTWCrDwj7fE="; }; cargoBuildFlags = [ "--package=ruff" ]; useFetchCargoVendor = true; - cargoHash = "sha256-GICd8yQlh3gcxLh1Rfc3xB6rZ8ZsbCAk5C577l5+ogk="; + cargoHash = "sha256-BVGH+i2p0O0nbbOKRNUTJcR0cxgwsTmfJYzeCmttu2M="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/sr/src-cli/package.nix b/pkgs/by-name/sr/src-cli/package.nix index 5ff1cee38c90..aca1fec9a9f5 100644 --- a/pkgs/by-name/sr/src-cli/package.nix +++ b/pkgs/by-name/sr/src-cli/package.nix @@ -10,13 +10,13 @@ buildGoModule rec { pname = "src-cli"; - version = "6.4.0"; + version = "6.5.0"; src = fetchFromGitHub { owner = "sourcegraph"; repo = "src-cli"; rev = version; - hash = "sha256-MAeL33uu53qtL8TC7YNHkeL/PG8t/Iv+P+ftqd/TTFI="; + hash = "sha256-ysSFmOIraDqVVHiBcVI98qjFh+8W76sVs60vvwMyh6M="; }; vendorHash = "sha256-bpfDnVqJoJi9WhlA6TDWAhBRkbbQn1BHfnLJ8BTmhGM="; diff --git a/pkgs/by-name/st/stylelint/package.nix b/pkgs/by-name/st/stylelint/package.nix index 2a4aad71385d..db76f5cceceb 100644 --- a/pkgs/by-name/st/stylelint/package.nix +++ b/pkgs/by-name/st/stylelint/package.nix @@ -5,16 +5,16 @@ }: buildNpmPackage rec { pname = "stylelint"; - version = "16.21.0"; + version = "16.21.1"; src = fetchFromGitHub { owner = "stylelint"; repo = "stylelint"; tag = version; - hash = "sha256-qlD4voKQN/O9PDkXSJZZCGkoD+L0d9f78gGHKfkDkhQ="; + hash = "sha256-obRxkExrLFLt02L1w9FBHrHgN8n+lRsPuSUra66j8hE="; }; - npmDepsHash = "sha256-mvbYuaBuoF2ri14svCeT7BJX7qHnKZz+cpMlAwabRDI="; + npmDepsHash = "sha256-t83R9OQnSY7OVEU+TQWQMotsey/XtXIo7NLG9vyiUng="; dontNpmBuild = true; diff --git a/pkgs/by-name/ta/tailwindcss-language-server/package.nix b/pkgs/by-name/ta/tailwindcss-language-server/package.nix index a996e2d164a3..bef1a40ee1bf 100644 --- a/pkgs/by-name/ta/tailwindcss-language-server/package.nix +++ b/pkgs/by-name/ta/tailwindcss-language-server/package.nix @@ -2,21 +2,20 @@ lib, stdenv, fetchFromGitHub, - nodejs_latest, + nodejs, pnpm_9, - cacert, nix-update-script, }: stdenv.mkDerivation (finalAttrs: { pname = "tailwindcss-language-server"; - version = "0.14.23"; + version = "0.14.24"; src = fetchFromGitHub { owner = "tailwindlabs"; repo = "tailwindcss-intellisense"; tag = "v${finalAttrs.version}"; - hash = "sha256-O97JkcTOe2HEb1MlJ82UPEHZgyV7dzoWOOtSnNcN13k="; + hash = "sha256-FlPrDoCGV7w3RBAZPP8gT/RGze9LDYQeAIVVPQA4Na4="; }; pnpmDeps = pnpm_9.fetchDeps { @@ -25,31 +24,27 @@ stdenv.mkDerivation (finalAttrs: { version src pnpmWorkspaces - prePnpmInstall ; hash = "sha256-SUEq20gZCiTDkFuNgMc5McHBPgW++8P9Q1MJb7a7pY8="; }; nativeBuildInputs = [ - nodejs_latest pnpm_9.configHook ]; - buildInputs = [ nodejs_latest ]; + buildInputs = [ + nodejs + ]; - pnpmWorkspaces = [ "@tailwindcss/language-server..." ]; - prePnpmInstall = '' - # Warning section for "pnpm@v8" - # https://pnpm.io/cli/install#--filter-package_selector - pnpm config set dedupe-peer-dependents false - export NODE_EXTRA_CA_CERTS="${cacert}/etc/ssl/certs/ca-bundle.crt" - ''; + pnpmWorkspaces = [ + "@tailwindcss/language-server..." + ]; + # Must build the "@tailwindcss/language-service" package. Dependency is linked via workspace by "pnpm" + # https://github.com/tailwindlabs/tailwindcss-intellisense/blob/v0.14.24/pnpm-lock.yaml#L71 buildPhase = '' runHook preBuild - # Must build the "@tailwindcss/language-service" package. Dependency is linked via workspace by "pnpm" - # (https://github.com/tailwindlabs/tailwindcss-intellisense/blob/%40tailwindcss/language-server%40v0.0.27/pnpm-lock.yaml#L47) pnpm --filter "@tailwindcss/language-server..." build runHook postBuild @@ -75,6 +70,6 @@ stdenv.mkDerivation (finalAttrs: { license = lib.licenses.mit; maintainers = with lib.maintainers; [ happysalada ]; mainProgram = "tailwindcss-language-server"; - platforms = lib.platforms.all; + platforms = nodejs.meta.platforms; }; }) diff --git a/pkgs/by-name/tu/turbo-unwrapped/package.nix b/pkgs/by-name/tu/turbo-unwrapped/package.nix index e3cc12762e69..0c93c9a53883 100644 --- a/pkgs/by-name/tu/turbo-unwrapped/package.nix +++ b/pkgs/by-name/tu/turbo-unwrapped/package.nix @@ -5,6 +5,7 @@ extra-cmake-modules, fetchFromGitHub, fontconfig, + installShellFiles, llvmPackages, nix-update-script, openssl, @@ -33,6 +34,7 @@ rustPlatform.buildRustPackage (finalAttrs: { [ capnproto extra-cmake-modules + installShellFiles pkg-config protobuf ] @@ -54,6 +56,13 @@ rustPlatform.buildRustPackage (finalAttrs: { # Browser tests time out with chromium and google-chrome doCheck = false; + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd turbo \ + --bash <($out/bin/turbo completion bash) \ + --fish <($out/bin/turbo completion fish) \ + --zsh <($out/bin/turbo completion zsh) + ''; + env = { # nightly features are used RUSTC_BOOTSTRAP = 1; diff --git a/pkgs/by-name/wa/waybar-lyric/package.nix b/pkgs/by-name/wa/waybar-lyric/package.nix new file mode 100644 index 000000000000..becf0b8f5fd9 --- /dev/null +++ b/pkgs/by-name/wa/waybar-lyric/package.nix @@ -0,0 +1,40 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + versionCheckHook, + nix-update-script, +}: +buildGoModule (finalAttrs: { + pname = "waybar-lyric"; + version = "0.10.0"; + + src = fetchFromGitHub { + owner = "Nadim147c"; + repo = "waybar-lyric"; + tag = "v${finalAttrs.version}"; + hash = "sha256-RqUaak9MH7lE1ez8T+UKm2Eqk0ImePPubfFExNpZqM8="; + }; + + vendorHash = "sha256-DBtSC+ePl6dvHqB10FyeojnYoT3mmsWAnbs/lZLibl8="; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; + versionCheckKeepEnvironment = [ "XDG_CACHE_HOME" ]; + preInstallCheck = '' + # ERROR Failed to find cache directory + export XDG_CACHE_HOME=$(mktemp -d) + ''; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Waybar module for displaying song lyrics"; + homepage = "https://github.com/Nadim147c/waybar-lyric"; + license = lib.licenses.agpl3Only; + mainProgram = "waybar-lyric"; + maintainers = with lib.maintainers; [ vanadium5000 ]; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/wl/wl-clipboard-rs/package.nix b/pkgs/by-name/wl/wl-clipboard-rs/package.nix index 29f59538cc6d..d5befac5b319 100644 --- a/pkgs/by-name/wl/wl-clipboard-rs/package.nix +++ b/pkgs/by-name/wl/wl-clipboard-rs/package.nix @@ -10,17 +10,17 @@ rustPlatform.buildRustPackage rec { pname = "wl-clipboard-rs"; - version = "0.9.1"; + version = "0.9.2"; src = fetchFromGitHub { owner = "YaLTeR"; repo = "wl-clipboard-rs"; rev = "v${version}"; - hash = "sha256-jGTWcVR6atkEeEUunystJ4B6I3GzYiCOMs0MC6pvPfI="; + hash = "sha256-IC19J3S4QP6eEH4zWDrTh/lQcsDzopjWGO6Vm+/cl78="; }; useFetchCargoVendor = true; - cargoHash = "sha256-6HNSQ27PGhF6tt12jdu6llDUZ/tYsFwx2pCJx3mKm/E="; + cargoHash = "sha256-bkCrAyYxYkgeS0BSUzKipN21ZZL+RJzNyg7Mx+7V8Pg="; cargoBuildFlags = [ diff --git a/pkgs/data/fonts/maple-font/default.nix b/pkgs/data/fonts/maple-font/default.nix index 8d1846819a7f..98b6c88c860d 100644 --- a/pkgs/data/fonts/maple-font/default.nix +++ b/pkgs/data/fonts/maple-font/default.nix @@ -17,7 +17,7 @@ let }: stdenv.mkDerivation rec { inherit pname; - version = "7.3"; + version = "7.4"; src = fetchurl { url = "https://github.com/subframe7536/Maple-font/releases/download/v${version}/${pname}.zip"; inherit hash; diff --git a/pkgs/data/fonts/maple-font/hashes.json b/pkgs/data/fonts/maple-font/hashes.json index 98aac1bb2e4e..111fed91e04a 100644 --- a/pkgs/data/fonts/maple-font/hashes.json +++ b/pkgs/data/fonts/maple-font/hashes.json @@ -1,46 +1,47 @@ { - "MapleMono-CN-unhinted": "sha256-nosTiax/1OyMgwYwuLD1JVdbIrCFvzGtmVDjS+++r/s=", - "MapleMono-CN": "sha256-qcFZRcJ7QrNzKKaGxTUTjMQ+Xd4qfInc9INSBsitoCU=", - "MapleMono-NF-CN-unhinted": "sha256-FY78c6nECHj0gsfNm0uh1yL2j5ycJ8sq+TfhyF9PmV0=", - "MapleMono-NF-CN": "sha256-Tjrrh1SQjvFunCprnvu2CgQDH25TQWpeviVAQJgf80E=", - "MapleMono-NF-unhinted": "sha256-hkO9ggZE8hm3HUHtKN2G0o8lFa45sp0LyL1HclcLh0k=", - "MapleMono-NF": "sha256-JN9nZiLnLBrHW/F19Fi4IjAFm6Nz/oPePnD/yW5AwCM=", - "MapleMono-OTF": "sha256-k2Xd3ugE7/U1N2o1fHGseer1L66Ue8v+yWSAuCd5c10=", - "MapleMono-TTF-AutoHint": "sha256-Ebj3dHZnk2kHD43xmwpinG5tWRiBZDTdrpdZ64LVKds=", - "MapleMono-TTF": "sha256-BVrsTby/vViK22sASOQ6+Xq0a+Yvmq7EsSqhaeYkjKE=", - "MapleMono-Variable": "sha256-4JuyVR0iMQL4qgRJ7EGfSUHq9pJmdR/vFRNna+Nzz/E=", - "MapleMono-Woff2": "sha256-GMKxWEz/Ftpg/Ra7wasUPap1xx8Eb9g9l7l2i+4NJ54=", - "MapleMonoNL-CN-unhinted": "sha256-nLD9KaJz3sqhNzakJRtm1FeTaMPp+c11Ck/W3WAstlc=", - "MapleMonoNL-CN": "sha256-ynPraDGK2XMrw5E9X1SjJDxiTy0bqTFzI5BQ9lGM+7U=", - "MapleMonoNL-NF-CN-unhinted": "sha256-SWnpaWFxfpL/gtchtgm3qa6DhoibyVwrbpTI/wvaakM=", - "MapleMonoNL-NF-CN": "sha256-Sq9RpXVKrBBdINx6McnI+W9quvNGzh5cGldjxAZ6CVA=", - "MapleMonoNL-NF-unhinted": "sha256-v1yjsw8vkmX6NuoGjdhexZW9vVGwXItXyn5DhL4cYWE=", - "MapleMonoNL-NF": "sha256-isHZkRdPkMefmnaUT2jpSmoFW407F74pEpMY9BuRb2w=", - "MapleMonoNL-OTF": "sha256-LNkZa5cmYVj9XQwtO7PyGscTzr7+Ea7bAuoVHAMikvw=", - "MapleMonoNL-TTF-AutoHint": "sha256-AcrjjmchY0XCF/hjukWMDei2T5WLVkNZ8Uk+fzs2faY=", - "MapleMonoNL-TTF": "sha256-RJqAqNcZKDFwW6XnQxdbD+MP6L+tl1b21N1p9yprff4=", - "MapleMonoNL-Variable": "sha256-FhuSl1BQq8+XP5OjZXo8jO9t4G6/RiHr6ajpcVfVZsc=", - "MapleMonoNL-Woff2": "sha256-Wu4muqZEN54dcvH1k9Mebzi3+tOwSdB3j+kDWW4TcZw=", - "MapleMonoNormal-CN-unhinted": "sha256-90B2L4B/M736RnwhybqxarHmhUrYBrcEIYW/89nwr0M=", - "MapleMonoNormal-CN": "sha256-MzL7ASbw2qJZHYO6xiq7k0Ra3tFv9yGlS8SCzJMzJxY=", - "MapleMonoNormal-NF-CN-unhinted": "sha256-bLOixVjpHCvz9k4U+kQ3BcbYAfM3LkAb/06FSVQ+Kws=", - "MapleMonoNormal-NF-CN": "sha256-R8nzvkvJ78bsySObab1u4fYpYJi488xLVTRon0C8yhQ=", - "MapleMonoNormal-NF-unhinted": "sha256-O9ckFmBNHlR3iq+u6utqvEWUe3oeYrEGIQdoyX85v28=", - "MapleMonoNormal-NF": "sha256-q+FVRPWyq5myRck3kUoEm//pHM5qIiClhjgNCtP7f/k=", - "MapleMonoNormal-OTF": "sha256-RbH/TZp0L52UCp8Jbit05XHYg+KESER11hjmgHcm7lg=", - "MapleMonoNormal-TTF-AutoHint": "sha256-+A2zjecqeoU9e6iaAn6NQ5aU86C6wE688QJ7RjGvbxE=", - "MapleMonoNormal-TTF": "sha256-cUC9uty0iudym1r3LNR+hYoWIevyIiXC0MbK1Epl6S4=", - "MapleMonoNormal-Variable": "sha256-ldpHiADkA58hrRxnzLJtsJimcicwPn6CSTD9ki4c5js=", - "MapleMonoNormal-Woff2": "sha256-YJEk8THUDhFZ+meCJvgIwz0x0ZXCr87m3NCjjyS8lHc=", - "MapleMonoNormalNL-CN-unhinted": "sha256-LlLUVTMz2XCVRiDfDv26UJydPpRJAJPwDz+WAyvW60k=", - "MapleMonoNormalNL-CN": "sha256-ZvkjswX9QPJR8cAM1z6HqQfZKgpgidvpvAlGRlRySP8=", - "MapleMonoNormalNL-NF-CN-unhinted": "sha256-d4tgn9SxiMVJCxZoIWzJiqGJNB2xEfhFS6uJdGfyJpM=", - "MapleMonoNormalNL-NF-CN": "sha256-2U7FHEH2DsScpDTCU/CImh98JZFuw8GoXoFDaRuB3pM=", - "MapleMonoNormalNL-NF-unhinted": "sha256-wzVJuWXlizZ20aONXUiLhXhtj1w/eo+4T3aQfFPhLTY=", - "MapleMonoNormalNL-NF": "sha256-IvkYGRGONZ8+3aF/8pdea104lF83kGbeiAArLMwkazY=", - "MapleMonoNormalNL-OTF": "sha256-+JlNkdLOOLTraV+XQnqUUkweSrSBTsjwx3vveHUCdcA=", - "MapleMonoNormalNL-TTF-AutoHint": "sha256-AN3VyA11zwEodjVpFYkHWomEHjONWnY+rNTjxmAgzA8=", - "MapleMonoNormalNL-TTF": "sha256-a0lXS7wGK7QCxTbsWjf8pj4k0B1l6/OPs8VCbZSFa68=", - "MapleMonoNormalNL-Variable": "sha256-c3jUo+8ICZZRA0OLsOGhciplOet4JithmyJ6prnQllI=", - "MapleMonoNormalNL-Woff2": "sha256-8F7L+5RiDxVjK+gtj6gfEgTK55Cfrf+8F2r74nXpvsk=" + "MapleMono-CN-unhinted": "sha256-pYhWiOB9RGof+3Uy5KlVgGtHRtoPjkKHW/aulEftrN8=", + "MapleMono-CN": "sha256-uDhFvaS8Cz0Gh4uPdHxGHB+ibnmjPgo3brw1Reyubjo=", + "MapleMono-NF-CN-unhinted": "sha256-m0OenEinfqOzFPd9J+9hvmlWZyo9gN48KsvtnSJZbQw=", + "MapleMono-NF-CN": "sha256-1H1AkMaE+yG2Wlp4NxvKu9z/VEnSyGLVVHX7YK9YlKg=", + "MapleMono-NF-unhinted": "sha256-1D7oAcurpS3PCQRky+Spb2l0z2j+ZxMqzQqLdCXAppA=", + "MapleMono-NF": "sha256-qPAKfND9r5YomfKQyS6lO7BQwwo4F+KqQdX7Jr9EM9Y=", + "MapleMono-OTF": "sha256-6Zl9snDOsgvoswTIa8dqRx+pYAy9N5yQ4J62qvsdlKs=", + "MapleMono-TTF-AutoHint": "sha256-ddzGDLCD73+qpdmgY+g2zbk0dNdsLF1dA9yuw3xzTS0=", + "MapleMono-TTF": "sha256-ggAJq9Sg8i1lXpE6adNqhVXJH5A1N7derskN/ZTn+KE=", + "MapleMono-Variable": "sha256-YKWtUvz3aGrEjihEzcjq6gKG0xFpRKqiSW6cGfhvsy8=", + "MapleMono-Woff2": "sha256-NPniX47eSSt6pp7qiqhhq6EpacBDKxlWsiwRToyT2E0=", + "MapleMonoNL-CN-unhinted": "sha256-KqFyvmKeDizD1LlaR+L3kiIeXSe+7VoaMJGV1/NMz/8=", + "MapleMonoNL-CN": "sha256-HJAWQ/Dw3Mpfjcc756aquUPsRLgKv7tN/w8jDZh4xZ4=", + "MapleMonoNL-NF-CN-unhinted": "sha256-hgjKmKScjn3erpKgBetzf7iiJa5WYdC4JzTZQkGbqNg=", + "MapleMonoNL-NF-CN": "sha256-qIBhdbJSw9w9k8Vh/goG2F46Yvhn1apeqlSbkD2yn1Q=", + "MapleMonoNL-NF-unhinted": "sha256-UI8OAt0PuRXYek4gtg00zZaYKiNiZWx5c79izq/eAbY=", + "MapleMonoNL-NF": "sha256-8UlJu96gL1XhZFs1llmAaisH+KsIYsXA9DIqB2EMfjo=", + "MapleMonoNL-OTF": "sha256-OOa/etMQQvmrrqC4ZZu4QwLHnsUtypKb00vGlp8Y2j4=", + "MapleMonoNL-TTF-AutoHint": "sha256-eQyk1LR+dff3UxfT/I0RCgU0spm1LWRoZtQ0m0JUGRE=", + "MapleMonoNL-TTF": "sha256-aRhtKSbzUs179usRUhOpsFMyrM4dqh7xt5mY0POskR4=", + "MapleMonoNL-Variable": "sha256-1ueWNUfeavEnHxH4g5Qhci/+LxobRwZq4pTsj4v1os4=", + "MapleMonoNL-Woff2": "sha256-5ZRCll9rq79oAnr9WgWxgNFtcdL8ljY72wDZnsox5bI=", + "MapleMonoNormal-CN-unhinted": "sha256-hNJfhsaxRnzv/3Y8Gzaf5ym9XxDEyVOrLR3E9FpFl8s=", + "MapleMonoNormal-CN": "sha256-SoS52L09o2qZlyKFuRBO5F4PKXBFAFxI6xpc4Ef1XHc=", + "MapleMonoNormal-NF-CN-unhinted": "sha256-vbWIGQl5g/OKFF0UK3m2RUZ30bu3H/btzXe0MbJk5IA=", + "MapleMonoNormal-NF-CN": "sha256-bcH9LMLMaKJ5A+9994yvbMoUNgz43vQUDTs200YeHn4=", + "MapleMonoNormal-NF-unhinted": "sha256-yW15Rf7GE8Qy5Ye9QGBMLma+Kx2Kj+3l/SAAzpBLg8k=", + "MapleMonoNormal-NF": "sha256-Eg3hKcHkslsvGzkJDrhkyN0IAYrjHJ+erzFAVAu/K0g=", + "MapleMonoNormal-OTF": "sha256-PVsYL/MdD7aX3P5kYafa/xwR84B2uG5TzMfi7i1ROWM=", + "MapleMonoNormal-TTF-AutoHint": "sha256-vtEHKBv0gjI6IuzXBmZcUVJS6fPNH/HJqohVZBwXN0U=", + "MapleMonoNormal-TTF": "sha256-YkUNl59nllTQca1Duj9phu20rLMiTSmcCXc0RluKln4=", + "MapleMonoNormal-Variable": "sha256-i0slIrBUwAXZj6VVUBUsEyN+mySgIBJcA5LL7iBamBA=", + "MapleMonoNormal-Woff2": "sha256-U4w4PqR8YC0HotDs/rHuUSf28WBnKNnVHe8FtO8MCHA=", + "MapleMonoNormalNL-CN-unhinted": "sha256-dJ2Si+l+NQAC+arOxOhvBFyy5uvWWRKh3RD62fSIl8Q=", + "MapleMonoNormalNL-CN": "sha256-/c5jU7O6M+hnRYZuFDVxg/PA+wk75HdllNX5IIarw2k=", + "MapleMonoNormalNL-NF-CN-unhinted": "sha256-At6I9eSGrF+9aWF5L2f4b2a3PWq4er7YMnYZJg4xwC8=", + "MapleMonoNormalNL-NF-CN": "sha256-EVHoFU4PQkbHknlfEfafYzDKwPwfQsAd+1oZaT8heao=", + "MapleMonoNormalNL-NF-unhinted": "sha256-5acGvUcFPQMdSh9CK7MWS/NNo52eiDpUiBRiVH3rsz4=", + "MapleMonoNormalNL-NF": "sha256-Y2XSNB9xCOGx9y1fnEHGztK7c9BjAdYj4PH2+Ft9cQ8=", + "MapleMonoNormalNL-OTF": "sha256-Sp81tk2teKk9fg7p0LJ0CLXmoh65ZcFNi/BOVzemGqQ=", + "MapleMonoNormalNL-TTF-AutoHint": "sha256-JKPgSZOaxqTSlsqEqbfo6ra27LqCxzFRpe78aUWunBw=", + "MapleMonoNormalNL-TTF": "sha256-KZBB4fyQmTUVwXsRC8yqiZtG9ED3isj64/tE8sDgSS4=", + "MapleMonoNormalNL-Variable": "sha256-95OvqOs9qo/38UPnGWGCF5SGxrRWnEE6OWT8M0J6XY0=", + "MapleMonoNormalNL-Woff2": "sha256-BwRa9BpkAe8Tw4mn16+g41Z3giIVoxJTGdC2Vk30lgg=" } + diff --git a/pkgs/development/compilers/dart/package-source-builders/default.nix b/pkgs/development/compilers/dart/package-source-builders/default.nix index 687ce7d90b31..24a0440e951b 100644 --- a/pkgs/development/compilers/dart/package-source-builders/default.nix +++ b/pkgs/development/compilers/dart/package-source-builders/default.nix @@ -5,6 +5,7 @@ file_picker = callPackage ./file_picker { }; flutter_discord_rpc = callPackage ./flutter_discord_rpc { }; flutter_secure_storage_linux = callPackage ./flutter-secure-storage-linux { }; + flutter_vodozemac = callPackage ./flutter_vodozemac { }; flutter_volume_controller = callPackage ./flutter_volume_controller { }; fvp = callPackage ./fvp { }; handy_window = callPackage ./handy-window { }; diff --git a/pkgs/development/compilers/dart/package-source-builders/flutter_vodozemac/default.nix b/pkgs/development/compilers/dart/package-source-builders/flutter_vodozemac/default.nix new file mode 100644 index 000000000000..c05ec7a341f7 --- /dev/null +++ b/pkgs/development/compilers/dart/package-source-builders/flutter_vodozemac/default.nix @@ -0,0 +1,74 @@ +{ + lib, + rustPlatform, + writeText, + stdenv, +}: + +{ version, src, ... }: + +let + rustDep = rustPlatform.buildRustPackage { + pname = "flutter_vodozemac-rs"; + inherit version src; + + sourceRoot = "${src.name}/rust"; + + useFetchCargoVendor = true; + + cargoHash = + { + _0_2_2 = "sha256-Iw0AkHVjR1YmPe+C0YYBTDu5FsRk/ZpaRyBilcvqm6M="; + } + .${"_" + (lib.replaceStrings [ "." ] [ "_" ] version)} or (throw '' + Unsupported version of pub 'flutter_vodozemac': '${version}' + Please add cargoHash here. If the cargoHash + is the same with existing versions, add an alias here. + ''); + + passthru.libraryPath = "lib/libvodozemac_bindings_dart.so"; + }; + + fakeCargokitCmake = writeText "FakeCargokit.cmake" '' + function(apply_cargokit target manifest_dir lib_name any_symbol_name) + set("''${target}_cargokit_lib" ${rustDep}/${rustDep.passthru.libraryPath} PARENT_SCOPE) + endfunction() + ''; + + getLibraryPath = '' + String _getLibraryPath() { + if (kIsWeb) { + return './'; + } + try { + return Platform.resolvedExecutable + '/../lib/libvodozemac_bindings_dart.so'; + } catch (_) { + return './'; + } + } + ''; +in +stdenv.mkDerivation { + pname = "flutter_vodozemac"; + inherit version src; + passthru = src.passthru // { + # vodozemac-wasm in fluffychat will make use of it + inherit (rustDep) cargoDeps; + }; + + installPhase = '' + runHook preInstall + + cp -r "$src" "$out" + pushd $out + chmod +rwx cargokit/cmake/cargokit.cmake + cp ${fakeCargokitCmake} cargokit/cmake/cargokit.cmake + chmod +rw lib/flutter_vodozemac.dart + substituteInPlace lib/flutter_vodozemac.dart \ + --replace-warn "libraryPath: './'" "libraryPath: _getLibraryPath()" + echo "${getLibraryPath}" >> lib/flutter_vodozemac.dart + popd + + runHook postInstall + ''; +} diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix index 29a7e5f95194..1f69bb92e213 100644 --- a/pkgs/development/compilers/rust/make-rust-platform.nix +++ b/pkgs/development/compilers/rust/make-rust-platform.nix @@ -51,6 +51,12 @@ inherit runCommand rustc; }; + # Useful when rebuilding std + # e.g. when building wasm with wasm-pack + rustVendorSrc = callPackage ./rust-vendor-src.nix { + inherit runCommand rustc; + }; + # Hooks inherit (callPackages ../../../build-support/rust/hooks { diff --git a/pkgs/development/compilers/rust/rust-vendor-src.nix b/pkgs/development/compilers/rust/rust-vendor-src.nix new file mode 100644 index 000000000000..18d9922e1c6c --- /dev/null +++ b/pkgs/development/compilers/rust/rust-vendor-src.nix @@ -0,0 +1,6 @@ +{ runCommand, rustc }: + +runCommand "rust-vendor-src" { } '' + tar --strip-components=1 -xzf ${rustc.src} + mv vendor $out +'' diff --git a/pkgs/development/interpreters/php/8.1.nix b/pkgs/development/interpreters/php/8.1.nix index d969e6c65a66..cc5fef956dcf 100644 --- a/pkgs/development/interpreters/php/8.1.nix +++ b/pkgs/development/interpreters/php/8.1.nix @@ -4,8 +4,8 @@ let base = callPackage ./generic.nix ( (removeAttrs _args [ "fetchpatch" ]) // { - version = "8.1.32"; - hash = "sha256-oE/dPfBflI34qPLF0nq1TB9DgixSXzH9IMGaKCRS0Hw="; + version = "8.1.33"; + hash = "sha256-tlU0UYQcGlaYZdf9yDAkYh7kQ0zY+/6woxWIrJxwaF8="; } ); in diff --git a/pkgs/development/interpreters/php/8.2.nix b/pkgs/development/interpreters/php/8.2.nix index c7c9ba75fa7c..63f25b21ba66 100644 --- a/pkgs/development/interpreters/php/8.2.nix +++ b/pkgs/development/interpreters/php/8.2.nix @@ -4,8 +4,8 @@ let base = callPackage ./generic.nix ( _args // { - version = "8.2.28"; - hash = "sha256-KRnMG5IZCljcF5BLkuYmYAuWzkmkxy53UTeGpEBqzOU="; + version = "8.2.29"; + hash = "sha256-UZeejRmMut4qrU/+n1PdPwT5YC0wieWXmYXgWK3kJnw="; } ); in diff --git a/pkgs/development/interpreters/php/8.3.nix b/pkgs/development/interpreters/php/8.3.nix index 00325c5ccb63..6f707647e2fe 100644 --- a/pkgs/development/interpreters/php/8.3.nix +++ b/pkgs/development/interpreters/php/8.3.nix @@ -4,8 +4,8 @@ let base = callPackage ./generic.nix ( _args // { - version = "8.3.22"; - hash = "sha256-mRM+LNoq83uqedsX2O/UFGKPFKAux18UGKCqP2qmZzs="; + version = "8.3.23"; + hash = "sha256-BUiPe5Z9kKUJMvBnTcNW4beV9SLwKYtc4ktoDeIzwtQ="; } ); in diff --git a/pkgs/development/interpreters/php/8.4.nix b/pkgs/development/interpreters/php/8.4.nix index 11a74cee28dc..3c0e0cc9640d 100644 --- a/pkgs/development/interpreters/php/8.4.nix +++ b/pkgs/development/interpreters/php/8.4.nix @@ -4,8 +4,8 @@ let base = callPackage ./generic.nix ( _args // { - version = "8.4.8"; - hash = "sha256-NlacZN0UmeVwxDZgO2Qe7nzeSvV2r3hll9DucRs6Ooo="; + version = "8.4.10"; + hash = "sha256-iBXRBlnN5fA75NFpIF1it7Ke0O3HzdhLY4TNoDEMMQg="; } ); in diff --git a/pkgs/development/libraries/qtutilities/default.nix b/pkgs/development/libraries/qtutilities/default.nix index 18007415ad3f..f82e61da1724 100644 --- a/pkgs/development/libraries/qtutilities/default.nix +++ b/pkgs/development/libraries/qtutilities/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "qtutilities"; - version = "6.15.0"; + version = "6.16.0"; src = fetchFromGitHub { owner = "Martchus"; repo = "qtutilities"; rev = "v${finalAttrs.version}"; - hash = "sha256-FWDvcUATod1n8CICmlQl/RA57c0EjLtwZ05mmVzc6Ec="; + hash = "sha256-0VRV/f/Murx/ikX/UOrGWlenkmrV8kAqwiUD8lGyObc="; }; nativeBuildInputs = [ diff --git a/pkgs/development/php-packages/vld/default.nix b/pkgs/development/php-packages/vld/default.nix index 290350fc48af..63e761426ff8 100644 --- a/pkgs/development/php-packages/vld/default.nix +++ b/pkgs/development/php-packages/vld/default.nix @@ -6,14 +6,17 @@ php, }: +let + version = "0.19.0"; +in buildPecl { pname = "vld"; - version = "0.18.0-unstable-2024-08-22"; + inherit version; src = fetchFromGitHub { owner = "derickr"; repo = "vld"; - rev = "dc56f73a25b0230745afb5523871f2e8dd33fccd"; + tag = version; hash = "sha256-pQ1KIdGtV7bN5nROOJHR7C1eFMqVioTNLPAsJzH86NI="; }; diff --git a/pkgs/development/python-modules/aliyun-python-sdk-sts/default.nix b/pkgs/development/python-modules/aliyun-python-sdk-sts/default.nix index 0f913ff8412a..20b8b1d22494 100644 --- a/pkgs/development/python-modules/aliyun-python-sdk-sts/default.nix +++ b/pkgs/development/python-modules/aliyun-python-sdk-sts/default.nix @@ -8,14 +8,14 @@ buildPythonPackage rec { pname = "aliyun-python-sdk-sts"; - version = "3.1.2"; + version = "3.1.3"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-GLzieAX0j/aEKeKj37PtBQJy3c2zWgy1no7/lXiYSU0="; + hash = "sha256-Iv7bi60T+WbnEaH0Zi7te52zNEG8BapLD5GKoB4JuWc="; }; propagatedBuildInputs = [ aliyun-python-sdk-core ]; diff --git a/pkgs/development/python-modules/androidtvremote2/default.nix b/pkgs/development/python-modules/androidtvremote2/default.nix index 448579b9e3ec..b18c94da4344 100644 --- a/pkgs/development/python-modules/androidtvremote2/default.nix +++ b/pkgs/development/python-modules/androidtvremote2/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "androidtvremote2"; - version = "0.2.2"; + version = "0.2.3"; pyproject = true; disabled = pythonOlder "3.10"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "tronikos"; repo = "androidtvremote2"; tag = "v${version}"; - hash = "sha256-KlOvtJ7TyX+SUuO5TF/2gkHh059dMKmPOzc6H+MDfbg="; + hash = "sha256-oNZE7Fo60u6c3Gmk4Gi1Ni3HGPDMx7Uh+uerZmxiMCM="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/ar/default.nix b/pkgs/development/python-modules/ar/default.nix new file mode 100644 index 000000000000..50b9cb39874f --- /dev/null +++ b/pkgs/development/python-modules/ar/default.nix @@ -0,0 +1,49 @@ +{ + lib, + stdenv, + buildPythonPackage, + fetchFromGitHub, + hatchling, + hatch-vcs, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "ar"; + version = "1.0.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "vidstige"; + repo = "ar"; + tag = "v${version}"; + hash = "sha256-azbqlSO5YE6zMrDoVNLDyGeed5H4mSyNEE02AmoZIDs="; + }; + + build-system = [ + hatchling + ]; + + dependencies = [ + hatch-vcs + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "ar" ]; + + disabledTests = lib.optionals stdenv.isDarwin [ + "test_list" + "test_read_content" + "test_read_binary" + "test_read_content_ext" + "test_read_binary_ext" + ]; + + meta = { + description = "Implementation of the ar archive format"; + homepage = "https://github.com/vidstige/ar"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ ethancedwards8 ]; + }; +} diff --git a/pkgs/development/python-modules/banks/default.nix b/pkgs/development/python-modules/banks/default.nix index 5f05da988c23..9df5c7b12761 100644 --- a/pkgs/development/python-modules/banks/default.nix +++ b/pkgs/development/python-modules/banks/default.nix @@ -18,14 +18,14 @@ buildPythonPackage rec { pname = "banks"; - version = "2.1.2"; + version = "2.1.3"; pyproject = true; src = fetchFromGitHub { owner = "masci"; repo = "banks"; tag = "v${version}"; - hash = "sha256-lOlNYIBMa3G06t5KfRWNd/d8aXjxnWp11n8Kw7Ydy+Y="; + hash = "sha256-aDcmrvrTNE+YfwFmcOvNBuCfzamvtkGE3EwybAucKuQ="; }; SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; diff --git a/pkgs/development/python-modules/custom-json-diff/default.nix b/pkgs/development/python-modules/custom-json-diff/default.nix new file mode 100644 index 000000000000..40f3769fd8e1 --- /dev/null +++ b/pkgs/development/python-modules/custom-json-diff/default.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + jinja2, + json-flatten, + packageurl-python, + semver, + toml, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "custom-json-diff"; + version = "2.1.6"; + pyproject = true; + + src = fetchFromGitHub { + owner = "appthreat"; + repo = "custom-json-diff"; + tag = "v${version}"; + hash = "sha256-09kSj4fJHQHyzsCk0bSVlwAgkyzWOSjRKxU1rcMXacQ="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + jinja2 + json-flatten + packageurl-python + semver + toml + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "custom_json_diff" + ]; + + meta = { + description = "Utility to compare json documents containing dynamically-generated fields"; + homepage = "https://github.com/appthreat/custom-json-diff"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ ethancedwards8 ]; + }; +} diff --git a/pkgs/development/python-modules/cyclopts/default.nix b/pkgs/development/python-modules/cyclopts/default.nix index 6460e4a9b0b2..94be7cab8e9b 100644 --- a/pkgs/development/python-modules/cyclopts/default.nix +++ b/pkgs/development/python-modules/cyclopts/default.nix @@ -18,7 +18,7 @@ buildPythonPackage rec { pname = "cyclopts"; - version = "3.20.0"; + version = "3.22.1"; pyproject = true; disabled = pythonOlder "3.12"; @@ -27,7 +27,7 @@ buildPythonPackage rec { owner = "BrianPugh"; repo = "cyclopts"; tag = "v${version}"; - hash = "sha256-0ANSueh/g2twwxeuu5nTwvWkLAqXWTYZ0vVa6wg2D/w="; + hash = "sha256-/1H5PwG/X5XqXGh4lcaxr5ZrHbcHTBHAgG/XMnOCUb0="; }; build-system = [ diff --git a/pkgs/development/python-modules/flax/default.nix b/pkgs/development/python-modules/flax/default.nix index 2c0f2cdaf367..0ddc30d8fe1c 100644 --- a/pkgs/development/python-modules/flax/default.nix +++ b/pkgs/development/python-modules/flax/default.nix @@ -38,14 +38,14 @@ buildPythonPackage rec { pname = "flax"; - version = "0.10.6"; + version = "0.10.7"; pyproject = true; src = fetchFromGitHub { owner = "google"; repo = "flax"; tag = "v${version}"; - hash = "sha256-HhepJp7y2YN05XcZhB/L08g+yOfTJPRzd2m4ALQJGvw="; + hash = "sha256-T/KhlvliesBW40kyToxOkyX8PLl0acMQO+FnOKqfQJo="; }; build-system = [ diff --git a/pkgs/development/python-modules/flowmc/default.nix b/pkgs/development/python-modules/flowmc/default.nix index 2ae8cfbb2fdb..5b49126b994e 100644 --- a/pkgs/development/python-modules/flowmc/default.nix +++ b/pkgs/development/python-modules/flowmc/default.nix @@ -21,14 +21,14 @@ buildPythonPackage rec { pname = "flowmc"; - version = "0.4.4"; + version = "0.4.5"; pyproject = true; src = fetchFromGitHub { owner = "kazewong"; repo = "flowMC"; tag = "flowMC-${version}"; - hash = "sha256-hyrsL8agY+bNcRcEmgEtv97cFROgeLFxxtKTfx0HoH8="; + hash = "sha256-D3K9cvmUvwsVAjvXdSDgYlqrzTYXVlSVQbfx7TANz8A="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/holoviews/default.nix b/pkgs/development/python-modules/holoviews/default.nix index d5ce22c73f40..6dd3950c2587 100644 --- a/pkgs/development/python-modules/holoviews/default.nix +++ b/pkgs/development/python-modules/holoviews/default.nix @@ -58,6 +58,11 @@ buildPythonPackage rec { flaky ]; + pytestFlagsArray = [ + "-W" + "ignore::FutureWarning" + ]; + disabledTests = [ # All the below fail due to some change in flaky API "test_periodic_param_fn_non_blocking" diff --git a/pkgs/development/python-modules/json-flatten/default.nix b/pkgs/development/python-modules/json-flatten/default.nix new file mode 100644 index 000000000000..6a75d872560a --- /dev/null +++ b/pkgs/development/python-modules/json-flatten/default.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "json-flatten"; + version = "0.3.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "simonw"; + repo = "json-flatten"; + tag = version; + hash = "sha256-zAaunWuFAokC16FwHRHgyvq27pNUEGXJfSqTQ1wvXE8="; + }; + + build-system = [ + setuptools + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pythonImportsCheck = [ + "json_flatten" + ]; + + meta = { + description = "Functions for flattening a JSON object to a single dictionary of pairs"; + license = lib.licenses.asl20; + homepage = "https://github.com/simonw/json-flatten"; + maintainers = with lib.maintainers; [ ethancedwards8 ]; + changelog = "https://github.com/simonw/json-flatten/releases/tag/${version}"; + }; +} diff --git a/pkgs/development/python-modules/pyexploitdb/default.nix b/pkgs/development/python-modules/pyexploitdb/default.nix index f43219c27481..3e599e629ccb 100644 --- a/pkgs/development/python-modules/pyexploitdb/default.nix +++ b/pkgs/development/python-modules/pyexploitdb/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "pyexploitdb"; - version = "0.2.86"; + version = "0.2.87"; pyproject = true; disabled = pythonOlder "3.7"; @@ -18,7 +18,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "pyExploitDb"; inherit version; - hash = "sha256-4vnokNCHiPquSpXjLSFTTm4F1i7xyA4LQY7MY8Ip7G8="; + hash = "sha256-xPhGj8pRuDZ6Mx6dTlw4vNS81p+HiH3S3x8H5ZXyaek="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/pylance/default.nix b/pkgs/development/python-modules/pylance/default.nix index cf6586cf512e..2a87b6a53a15 100644 --- a/pkgs/development/python-modules/pylance/default.nix +++ b/pkgs/development/python-modules/pylance/default.nix @@ -32,14 +32,14 @@ buildPythonPackage rec { pname = "pylance"; - version = "0.30.0"; + version = "0.31.0"; pyproject = true; src = fetchFromGitHub { owner = "lancedb"; repo = "lance"; tag = "v${version}"; - hash = "sha256-Bs0xBRAehAzLEHvsGIFPX6y1msvfhkTbBRPMggbahxE="; + hash = "sha256-PjamcRvqLP8FRlyNw3+ucoQeVvSrlBEybDAugSTJqa4="; }; sourceRoot = "${src.name}/python"; @@ -51,7 +51,7 @@ buildPythonPackage rec { src sourceRoot ; - hash = "sha256-ZUS83iuaC7IkwhAplTSHTqaa/tHO1Kti4rSQDuRgX98="; + hash = "sha256-lL926HgxeRQjLOmhJ9nKvrUSWBaktS6kl20I3f0sIVA="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix index 9aeda0b09afa..8a9bdc7a8993 100644 --- a/pkgs/development/python-modules/pyopencl/default.nix +++ b/pkgs/development/python-modules/pyopencl/default.nix @@ -30,7 +30,7 @@ buildPythonPackage rec { pname = "pyopencl"; - version = "2025.2.4"; + version = "2025.2.5"; pyproject = true; src = fetchFromGitHub { @@ -38,7 +38,7 @@ buildPythonPackage rec { repo = "pyopencl"; tag = "v${version}"; fetchSubmodules = true; - hash = "sha256-Tan6HUwDnG7/z6lLPysUhRkr32qqa6ix8SoBCBf4dCA="; + hash = "sha256-VmnCMaq6op/7M+n1U9mPgRpCyZtkgmzMXQuWW6Clbd4="; }; build-system = [ diff --git a/pkgs/development/python-modules/pytenable/default.nix b/pkgs/development/python-modules/pytenable/default.nix index d1f76ace92ec..76af3b6373ed 100644 --- a/pkgs/development/python-modules/pytenable/default.nix +++ b/pkgs/development/python-modules/pytenable/default.nix @@ -28,7 +28,7 @@ buildPythonPackage rec { pname = "pytenable"; - version = "1.7.5"; + version = "1.8.0"; pyproject = true; disabled = pythonOlder "3.10"; @@ -37,7 +37,7 @@ buildPythonPackage rec { owner = "tenable"; repo = "pyTenable"; tag = version; - hash = "sha256-oTFlIDlntbB2YwE1zuU9DjouPncgIMKU+lDf5bcPKiQ="; + hash = "sha256-859+qKkOZBVU96QJI4YlQGXM9O81yjMmmwhAlxqO4QY="; }; pythonRelaxDeps = [ diff --git a/pkgs/development/python-modules/pytensor/default.nix b/pkgs/development/python-modules/pytensor/default.nix index 813a6d05635b..9ff9222e7cb5 100644 --- a/pkgs/development/python-modules/pytensor/default.nix +++ b/pkgs/development/python-modules/pytensor/default.nix @@ -33,7 +33,7 @@ buildPythonPackage rec { pname = "pytensor"; - version = "2.31.5"; + version = "2.31.6"; pyproject = true; src = fetchFromGitHub { @@ -43,7 +43,7 @@ buildPythonPackage rec { postFetch = '' sed -i 's/git_refnames = "[^"]*"/git_refnames = " (tag: ${src.tag})"/' $out/pytensor/_version.py ''; - hash = "sha256-9sIFBKuPMwg+5JHA9zhvaSvluxthUtc/rdqMZPl+VZg="; + hash = "sha256-J53wjbUlPJzecAQNeQ+xIlXwTFTLqQNicoFsnXhuoHM="; }; build-system = [ diff --git a/pkgs/development/python-modules/sagemaker-core/default.nix b/pkgs/development/python-modules/sagemaker-core/default.nix index 753631c1fa98..8c2d80ae32e8 100644 --- a/pkgs/development/python-modules/sagemaker-core/default.nix +++ b/pkgs/development/python-modules/sagemaker-core/default.nix @@ -28,14 +28,14 @@ buildPythonPackage rec { pname = "sagemaker-core"; - version = "1.0.40"; + version = "1.0.41"; pyproject = true; src = fetchFromGitHub { owner = "aws"; repo = "sagemaker-core"; tag = "v${version}"; - hash = "sha256-c/qaAdiQHY7w3h9qxDO/2U9W01xpJjBGx5Ohh9P7Jxk="; + hash = "sha256-XW7BJZc4VZiWe2d1p8MySYXWhzkwe0YjuPGwyswYUjY="; }; build-system = [ diff --git a/pkgs/development/python-modules/schedula/default.nix b/pkgs/development/python-modules/schedula/default.nix new file mode 100644 index 000000000000..ffff9a81f2b1 --- /dev/null +++ b/pkgs/development/python-modules/schedula/default.nix @@ -0,0 +1,95 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # optional-dependencies + dill, + flask, + graphviz, + multiprocess, + regex, + requests, + sphinx, + sphinx-click, + + # tests + pytestCheckHook, + ddt, + cryptography, + schedula, +}: + +buildPythonPackage rec { + pname = "schedula"; + version = "1.5.62"; + pyproject = true; + + src = fetchFromGitHub { + owner = "vinci1it2000"; + repo = "schedula"; + tag = "v${version}"; + hash = "sha256-erEUdiKV1MRwjVy3SKFneJVHp6gWEok7EWdv6v6HFGM="; + }; + + build-system = [ setuptools ]; + + optional-dependencies = rec { + # dev omitted, we have nativeCheckInputs for this + # form omitted, as it pulls in a kitchensink of deps, some not even packaged in nixpkgs + io = [ dill ]; + parallel = [ multiprocess ]; + plot = [ + requests + graphviz + regex + flask + ]; + sphinx = [ + sphinx + sphinx-click + ] ++ plot; + web = [ + requests + regex + flask + ]; + }; + + nativeCheckInputs = + [ + cryptography # doctests + ddt + sphinx + pytestCheckHook + ] + ++ schedula.optional-dependencies.io + ++ schedula.optional-dependencies.parallel + ++ schedula.optional-dependencies.plot; + + disabledTests = [ + # FAILED tests/test_setup.py::TestSetup::test_long_description - ModuleNotFoundError: No module named 'sphinxcontrib.writers' + "test_long_description" + ]; + + disabledTestPaths = [ + # ERROR tests/utils/test_form.py::TestDispatcherForm::test_form1 - ModuleNotFoundError: No module named 'chromedriver_autoinstaller' + # ERROR tests/utils/test_form.py::TestDispatcherForm::test_form_stripe - ModuleNotFoundError: No module named 'chromedriver_autoinstaller' + "tests/utils/test_form.py" + ]; + + pythonImportsCheck = [ "schedula" ]; + + meta = { + description = "Smart function scheduler for dynamic flow-based programming"; + homepage = "https://github.com/vinci1it2000/schedula"; + changelog = "https://github.com/vinci1it2000/schedula/blob/v${version}/CHANGELOG.rst"; + license = lib.licenses.eupl11; + maintainers = with lib.maintainers; [ flokli ]; + # at least some tests fail on Darwin + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix index ff383b61fcc3..da7219f0eba8 100644 --- a/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix +++ b/pkgs/development/python-modules/tencentcloud-sdk-python/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "tencentcloud-sdk-python"; - version = "3.0.1411"; + version = "3.0.1415"; pyproject = true; disabled = pythonOlder "3.9"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "TencentCloud"; repo = "tencentcloud-sdk-python"; tag = version; - hash = "sha256-YFqv7BIl7sOpGaRyMUTqiiT6w0kb7G0Xe5c3R/jPgUA="; + hash = "sha256-AwVSVqi0uTlWYhiMfsTmLNX4WlPR58Zq7BsPEQ7YXJ4="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix index d7112e37c83f..2c204a84c446 100644 --- a/pkgs/development/python-modules/twilio/default.nix +++ b/pkgs/development/python-modules/twilio/default.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "twilio"; - version = "9.6.3"; + version = "9.6.4"; pyproject = true; disabled = pythonOlder "3.7"; @@ -30,7 +30,7 @@ buildPythonPackage rec { owner = "twilio"; repo = "twilio-python"; tag = version; - hash = "sha256-dgz46LzY93SCSMWjvkAQAOprGAKSHPhjyVCuOtFH5ns="; + hash = "sha256-tl4kCTpehILfX5Fvk2+GWL0Lm6btkmxSO3VHXEK1uXo="; }; build-system = [ setuptools ]; diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix index ecc2327c5c3b..cef3f3cdb173 100644 --- a/pkgs/os-specific/linux/kernel/zen-kernels.nix +++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix @@ -23,9 +23,9 @@ let }; # ./update-zen.py lqx lqx = { - version = "6.15.3"; # lqx - suffix = "lqx1"; # lqx - sha256 = "13zzfb01sn4bsfwh6gk37078wvbixprc7dl4794wqh9anw28dmsw"; # lqx + version = "6.15.4"; # lqx + suffix = "lqx2"; # lqx + sha256 = "197m75li8lhkcil8mkb402v8f166n0m52l450dar8mq4y89r7x3j"; # lqx isLqx = true; }; }; diff --git a/pkgs/servers/sql/postgresql/ext/omnigres.nix b/pkgs/servers/sql/postgresql/ext/omnigres.nix index a3b7c23661b6..ae7f2ccc221d 100644 --- a/pkgs/servers/sql/postgresql/ext/omnigres.nix +++ b/pkgs/servers/sql/postgresql/ext/omnigres.nix @@ -21,13 +21,13 @@ let in postgresqlBuildExtension (finalAttrs: { pname = "omnigres"; - version = "0-unstable-2025-06-03"; + version = "0-unstable-2025-06-27"; src = fetchFromGitHub { owner = "omnigres"; repo = "omnigres"; - rev = "d347be5ae1d79645ac277d19080eacba7b229cf8"; - hash = "sha256-LKsH+aeLg7v2RfK80D3mgXdPB8jMIv5uFdf+3c5Z0vA="; + rev = "f1b35e623b2583d1124c593f0d9c8466d8fa3a56"; + hash = "sha256-FiZuXvY+1qyLTnxZ9Y5MP9SxM4wncX4L4rDJEa6O7NE="; }; # This matches postInstall of PostgreSQL's generic.nix, which does this for the PGXS Makefile. diff --git a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix index 7876d4135ad2..cd2942e7c5b2 100644 --- a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix +++ b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix @@ -8,13 +8,13 @@ postgresqlBuildExtension (finalAttrs: { pname = "plpgsql-check"; - version = "2.7.15"; + version = "2.8.1"; src = fetchFromGitHub { owner = "okbob"; repo = "plpgsql_check"; tag = "v${finalAttrs.version}"; - hash = "sha256-JF0aTYakoHMRdiWcA70mYFvzTiwMhOJZfqRj+6JC6n0="; + hash = "sha256-7jPM681gQOo1EQcOA3SShy6LxN6gtSEeqp8Aq8iMH68="; }; passthru.tests.extension = postgresqlTestExtension { @@ -29,5 +29,6 @@ postgresqlBuildExtension (finalAttrs: { platforms = postgresql.meta.platforms; license = lib.licenses.mit; maintainers = [ ]; + broken = lib.versionOlder postgresql.version "14"; }; }) diff --git a/pkgs/servers/web-apps/outline/default.nix b/pkgs/servers/web-apps/outline/default.nix index 053bdd106ebd..2529ba6acb92 100644 --- a/pkgs/servers/web-apps/outline/default.nix +++ b/pkgs/servers/web-apps/outline/default.nix @@ -14,13 +14,13 @@ stdenv.mkDerivation rec { pname = "outline"; - version = "0.84.0"; + version = "0.85.0"; src = fetchFromGitHub { owner = "outline"; repo = "outline"; rev = "v${version}"; - hash = "sha256-wTarO1nVta4rxkJRa3NIhyu0IJUukO5trOdOj16Zwn0="; + hash = "sha256-xzZQ0+eJOznZWpApbh9SUGuA5XiLnbhQS0qBLrLfk9Y="; }; nativeBuildInputs = [ @@ -35,7 +35,7 @@ stdenv.mkDerivation rec { yarnOfflineCache = fetchYarnDeps { yarnLock = "${src}/yarn.lock"; - hash = "sha256-iXaiTPjbAV/aRIdUYrIf0Y4z43yRALqSxjF5wB2q0Mg="; + hash = "sha256-/CXIZKI8eeK21PRIVZnRMOkwNNbj0vC0PZuT6rZBwG4="; }; configurePhase = '' diff --git a/pkgs/tools/text/gnugrep/default.nix b/pkgs/tools/text/gnugrep/default.nix index a988f43b8ca8..d4bb7bd9d23e 100644 --- a/pkgs/tools/text/gnugrep/default.nix +++ b/pkgs/tools/text/gnugrep/default.nix @@ -84,6 +84,10 @@ stdenv.mkDerivation { chmod +x $out/bin/egrep $out/bin/fgrep ''; + env = lib.optionalAttrs stdenv.hostPlatform.isMinGW { + NIX_CFLAGS_COMPILE = "-Wno-error=format-security"; + }; + meta = with lib; { homepage = "https://www.gnu.org/software/grep/"; description = "GNU implementation of the Unix grep command"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e3e19246c768..5ea368e90b5a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -829,6 +829,8 @@ self: super: with self; { aqualogic = callPackage ../development/python-modules/aqualogic { }; + ar = callPackage ../development/python-modules/ar { }; + arabic-reshaper = callPackage ../development/python-modules/arabic-reshaper { }; aranet4 = callPackage ../development/python-modules/aranet4 { }; @@ -3122,6 +3124,8 @@ self: super: with self; { curvefitgui = callPackage ../development/python-modules/curvefitgui { }; + custom-json-diff = callPackage ../development/python-modules/custom-json-diff { }; + customtkinter = callPackage ../development/python-modules/customtkinter { }; cut-cross-entropy = callPackage ../development/python-modules/cut-cross-entropy { }; @@ -7308,6 +7312,8 @@ self: super: with self; { json-api-doc = callPackage ../development/python-modules/json-api-doc { }; + json-flatten = callPackage ../development/python-modules/json-flatten { }; + json-home-client = callPackage ../development/python-modules/json-home-client { }; json-logging = callPackage ../development/python-modules/json-logging { }; @@ -15866,6 +15872,8 @@ self: super: with self; { scenedetect = callPackage ../development/python-modules/scenedetect { }; + schedula = callPackage ../development/python-modules/schedula { }; + schedule = callPackage ../development/python-modules/schedule { }; scheduler = callPackage ../development/python-modules/scheduler { };