diff options
author | github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> | 2024-06-24 18:00:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-24 18:00:57 +0000 |
commit | 42ca786b66a34010edfbc5352a943a686d1d2cc1 (patch) | |
tree | 526225ea299ce9370461ab328bd0d35ef6850be2 /pkgs | |
parent | 7d5bc724b0b78eb59ebfe2cccb9dd6ffd1271e08 (diff) | |
parent | e1f89770af6dce5bef6c79924dc827424c103cbf (diff) |
Merge master into staging-next
Diffstat (limited to 'pkgs')
51 files changed, 886 insertions, 401 deletions
diff --git a/pkgs/applications/audio/spotify/linux.nix b/pkgs/applications/audio/spotify/linux.nix index 12487ef3e86e1..8886e851c3c95 100644 --- a/pkgs/applications/audio/spotify/linux.nix +++ b/pkgs/applications/audio/spotify/linux.nix @@ -14,14 +14,14 @@ let # If an update breaks things, one of those might have valuable info: # https://aur.archlinux.org/packages/spotify/ # https://community.spotify.com/t5/Desktop-Linux - version = "1.2.31.1205.g4d59ad7c"; + version = "1.2.37.701.ge66eb7bc"; # To get the latest stable revision: # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' # To get general information: # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' # More examples of api usage: # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py - rev = "75"; + rev = "76"; deps = [ alsa-lib @@ -86,8 +86,9 @@ stdenv.mkDerivation { # spotify ourselves: # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334 src = fetchurl { + name = "spotify-${version}-${rev}.snap"; url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; - hash = "sha512-o4iLcbNqbsxo9YJMy0SXO7Udv4CMhhBcsf53UuqWKFFWY/jKVN+Lb+dB7Jf9+UowpmbrP44w97Oi+dnbfFXYjQ=="; + hash = "sha512-k7aw1QM3NCFkm0tXcHgYyeEBagGFpCL6JdWlFruJszPloiCy5vopOsD4PdqyiSEs0rSUP0rLxX2UBs3XuI5cUA=="; }; nativeBuildInputs = [ wrapGAppsHook3 makeShellWrapper squashfsTools ]; diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix index 9a247d0bc870b..74f7d3c8f7a47 100644 --- a/pkgs/applications/editors/android-studio/common.nix +++ b/pkgs/applications/editors/android-studio/common.nix @@ -257,10 +257,12 @@ let passthru = let withSdk = androidSdk: mkAndroidStudioWrapper { inherit androidStudio androidSdk; }; in { + inherit version; unwrapped = androidStudio; full = withSdk androidenv.androidPkgs.androidsdk; inherit withSdk; sdk = androidSdk; + updateScript = [ ./update.sh "${channel}" ]; }; meta = { description = "Official IDE for Android (${channel} channel)"; diff --git a/pkgs/applications/editors/android-studio/update.sh b/pkgs/applications/editors/android-studio/update.sh new file mode 100755 index 0000000000000..04efbb3667540 --- /dev/null +++ b/pkgs/applications/editors/android-studio/update.sh @@ -0,0 +1,68 @@ +#! /usr/bin/env nix-shell +#! nix-shell -I nixpkgs=./. -i bash -p jq nix-prefetch-scripts + +set -euo pipefail + +DEFAULT_NIX="$(realpath "./pkgs/applications/editors/android-studio/default.nix")" +RELEASES_JSON="$(curl --silent -L https://jb.gg/android-studio-releases-list.json)" + +# Available channels: Release/Patch (stable), Beta, Canary +getLatest() { + local attribute="$1" + local channel="$2" + case "$channel" in + "stable") local select='.channel == "Release" or .channel == "Patch"' ;; + "beta") local select='.channel == "Beta" or .channel == "RC"' ;; + *) local select=".channel == \"${channel^}\"" ;; + esac + local result="$(echo "$RELEASES_JSON" \ + | jq -r ".content.item[] | select(${select}) | [.version, .${attribute}] | join(\" \")" \ + | sort --version-sort \ + | cut -d' ' -f 2- \ + | tail -n 1)" + + if [[ -n "$result" ]]; then + echo "$result" + else + echo "could not find the latest $attribute for $channel" + exit 1 + fi +} + +updateChannel() { + local channel="$1" + local latestVersion="$(getLatest "version" "$channel")" + + local localVersion="$(nix --extra-experimental-features nix-command eval --raw --file . androidStudioPackages."${channel}".version)" + if [[ "${latestVersion}" == "${localVersion}" ]]; then + echo "$channel is already up to date at $latestVersion" + return 0 + fi + echo "updating $channel from $localVersion to $latestVersion" + + local latestHash="$(nix-prefetch-url "https://dl.google.com/dl/android/studio/ide-zips/${latestVersion}/android-studio-${latestVersion}-linux.tar.gz")" + local latestSri="$(nix --extra-experimental-features nix-command hash to-sri --type sha256 "$latestHash")" + local localHash="$(nix --extra-experimental-features nix-command eval --raw --file . androidStudioPackages."${channel}".unwrapped.src.drvAttrs.outputHash)" + sed -i "s~${localHash}~${latestSri}~g" "${DEFAULT_NIX}" + + # Match the formatting of default.nix: `version = "2021.3.1.14"; # "Android Studio Dolphin (2021.3.1) Beta 5"` + local versionString="${latestVersion}\"; # \"$(getLatest "name" "${channel}")\"" + sed -i "s~${localVersion}.*~${versionString}~g" "${DEFAULT_NIX}" + echo "updated ${channel} to ${latestVersion}" +} + +if (( $# == 0 )); then + for channel in "beta" "canary" "stable"; do + updateChannel "$channel" + done +else + while (( "$#" )); do + case "$1" in + beta|canary|stable) + updateChannel "$1" ;; + *) + echo "unknown channel: $1" && exit 1 ;; + esac + shift 1 + done +fi diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix index 62048d867619c..b85128816aa61 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/lsp-bridge/default.nix @@ -16,7 +16,7 @@ }: let - rev = "152431c0b1d731d0302e1849690e2361f3caf7c1"; + rev = "4bfbbe4e6c44d80b15cb501fa3444ad03dba2824"; python = python3.withPackages (ps: with ps; [ epc orjson @@ -28,13 +28,13 @@ let in melpaBuild { pname = "lsp-bridge"; - version = "20240615.2321"; + version = "20240622.236"; src = fetchFromGitHub { owner = "manateelazycat"; repo = "lsp-bridge"; inherit rev; - hash = "sha256-LIjqr1IntQ6WTFOO3b6cAuB6LslG1HzVa9C+GYUyQOU="; + hash = "sha256-rzaUtUYDEZAuRjSgThHKxrQ7U8ZIO0k750aH08VpA08="; }; commit = rev; diff --git a/pkgs/applications/editors/jetbrains/plugins/plugins.json b/pkgs/applications/editors/jetbrains/plugins/plugins.json index 48b9fed7f85ab..2441c8a545cf1 100644 --- a/pkgs/applications/editors/jetbrains/plugins/plugins.json +++ b/pkgs/applications/editors/jetbrains/plugins/plugins.json @@ -40,6 +40,37 @@ }, "name": "python" }, + "2162": { + "compatible": [ + "clion", + "datagrip", + "goland", + "idea-community", + "idea-ultimate", + "mps", + "phpstorm", + "pycharm-community", + "pycharm-professional", + "rider", + "ruby-mine", + "rust-rover", + "webstorm" + ], + "builds": { + "233.13135.1068": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip", + "241.15989.206": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip", + "241.17011.166": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip", + "241.17890.1": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip", + "241.17890.13": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip", + "241.17890.14": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip", + "241.17890.15": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip", + "241.17890.19": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip", + "241.17890.21": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip", + "241.17890.24": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip", + "241.17890.8": "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip" + }, + "name": "string-manipulation" + }, "6954": { "compatible": [ "clion", @@ -102,6 +133,37 @@ }, "name": "ini" }, + "7086": { + "compatible": [ + "clion", + "datagrip", + "goland", + "idea-community", + "idea-ultimate", + "mps", + "phpstorm", + "pycharm-community", + "pycharm-professional", + "rider", + "ruby-mine", + "rust-rover", + "webstorm" + ], + "builds": { + "233.13135.1068": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip", + "241.15989.206": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip", + "241.17011.166": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip", + "241.17890.1": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip", + "241.17890.13": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip", + "241.17890.14": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip", + "241.17890.15": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip", + "241.17890.19": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip", + "241.17890.21": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip", + "241.17890.24": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip", + "241.17890.8": "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip" + }, + "name": "acejump" + }, "7219": { "compatible": [ "idea-ultimate", @@ -145,6 +207,37 @@ }, "name": "python-community-edition" }, + "7391": { + "compatible": [ + "clion", + "datagrip", + "goland", + "idea-community", + "idea-ultimate", + "mps", + "phpstorm", + "pycharm-community", + "pycharm-professional", + "rider", + "ruby-mine", + "rust-rover", + "webstorm" + ], + "builds": { + "233.13135.1068": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip", + "241.15989.206": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip", + "241.17011.166": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip", + "241.17890.1": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip", + "241.17890.13": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip", + "241.17890.14": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip", + "241.17890.15": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip", + "241.17890.19": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip", + "241.17890.21": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip", + "241.17890.24": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip", + "241.17890.8": "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip" + }, + "name": "asciidoc" + }, "8182": { "compatible": [ "clion", @@ -293,6 +386,37 @@ }, "name": "csv-editor" }, + "11349": { + "compatible": [ + "clion", + "datagrip", + "goland", + "idea-community", + "idea-ultimate", + "mps", + "phpstorm", + "pycharm-community", + "pycharm-professional", + "rider", + "ruby-mine", + "rust-rover", + "webstorm" + ], + "builds": { + "233.13135.1068": "https://plugins.jetbrains.com/files/11349/556097/aws-toolkit-jetbrains-standalone-3.11-233.zip", + "241.15989.206": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip", + "241.17011.166": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip", + "241.17890.1": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip", + "241.17890.13": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip", + "241.17890.14": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip", + "241.17890.15": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip", + "241.17890.19": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip", + "241.17890.21": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip", + "241.17890.24": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip", + "241.17890.8": "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip" + }, + "name": "aws-toolkit" + }, "12062": { "compatible": [ "clion", @@ -479,6 +603,37 @@ }, "name": "netbeans-6-5-keymap" }, + "20146": { + "compatible": [ + "clion", + "datagrip", + "goland", + "idea-community", + "idea-ultimate", + "mps", + "phpstorm", + "pycharm-community", + "pycharm-professional", + "rider", + "ruby-mine", + "rust-rover", + "webstorm" + ], + "builds": { + "233.13135.1068": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip", + "241.15989.206": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip", + "241.17011.166": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip", + "241.17890.1": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip", + "241.17890.13": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip", + "241.17890.14": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip", + "241.17890.15": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip", + "241.17890.19": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip", + "241.17890.21": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip", + "241.17890.24": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip", + "241.17890.8": "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip" + }, + "name": "mermaid" + }, "22407": { "compatible": [ "clion", @@ -496,6 +651,8 @@ "files": { "https://plugins.jetbrains.com/files/10037/493010/CSVEditor-3.3.0-241.zip": "sha256-P8AFMVp/rFi7zTh9f/i45q/QalvI37itnK57Dz/W/z4=", "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip": "sha256-C3l3Z9a7maCrMjc2Fk/wf3AoExRbvN+fn2mAtXigt0A=", + "https://plugins.jetbrains.com/files/11349/556093/aws-toolkit-jetbrains-standalone-3.11-241.zip": "sha256-wFC3nKCCHRxxAmhxF66BtuNrzXUByG7jfG6cVs2TqXQ=", + "https://plugins.jetbrains.com/files/11349/556097/aws-toolkit-jetbrains-standalone-3.11-233.zip": "sha256-78N3rm1l4l1OJpT1tg1cASOBc2Wt3IXs0hdjOtdF/Xg=", "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip": "sha256-9keDJ73bSHkzAEq8nT96I5sp05BgMZ08/4BzarOjO5g=", "https://plugins.jetbrains.com/files/12062/508223/keymap-vscode-241.14494.150.zip": "sha256-LeQ5vi9PCJYmWNmT/sutWjSlwZaAYYuEljVJBYG2VpY=", "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip": "sha256-IsmoWuUroAp1LLuphp4F1dun4tQOOitZxoG+Nxs5pYk=", @@ -506,15 +663,19 @@ "https://plugins.jetbrains.com/files/164/546759/IdeaVim-2.12.0-signed.zip": "sha256-6ibo1vdwO4olQTCWpWAefT3QCwgtzTo1ojilDes8Rvg=", "https://plugins.jetbrains.com/files/17718/551329/github-copilot-intellij-1.5.6.5692.zip": "sha256-p2xY8eN3tOvlXhuZm4R7zl67lnKbaJwKwPZSolDTaX0=", "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=", + "https://plugins.jetbrains.com/files/20146/537545/Mermaid-0.0.22_IJ.232.zip": "sha256-DUiIQYIzYoXmgtBakSLtMB+xxJMaR70Jgg9erySa3wQ=", + "https://plugins.jetbrains.com/files/2162/542984/StringManipulation-9.14.1.zip": "sha256-OqeQCqFe8iW/8NPg+9i+UKh+twIPQ9uLZrItMukCi7k=", "https://plugins.jetbrains.com/files/22407/542571/intellij-rust-241.25989.199.zip": "sha256-ACeMU2llicj8VHBJJSAk2SIQaZrD2ykmY0b3VDiedV4=", "https://plugins.jetbrains.com/files/631/552809/python-241.17890.1.zip": "sha256-ASnW9SteKd88h2tAuZSHjnK+NMV7lm/3MN1tMqRvtmg=", "https://plugins.jetbrains.com/files/6981/547306/ini-241.17011.124.zip": "sha256-6EU2ExUMvXG2pJ77ZgZIsPC6gWX8MTZB0rRttYNRfX4=", "https://plugins.jetbrains.com/files/6981/552764/ini-241.17890.13.zip": "sha256-7JQpKNttNfTvzfZ2Qj42FZAtSqx6GjWHhT0WRecK3tc=", + "https://plugins.jetbrains.com/files/7086/518678/AceJump.zip": "sha256-kVUEgfEKUupV/qlB4Dpzi5pFHjhVvX74XIPetKtjysM=", "https://plugins.jetbrains.com/files/7219/542990/Symfony_Plugin-2024.1.274.zip": "sha256-92uUIFz5kEjrbgPnomi0VXc9Du17evzGsO5ApsrtHrA=", "https://plugins.jetbrains.com/files/7320/507957/PHP_Annotations-10.0.0.zip": "sha256-JIZ6Iq3sOcAm8fBXnjRrG9dqCZuD/WajyVmn1JjYMBA=", "https://plugins.jetbrains.com/files/7322/530366/python-ce-241.15989.150.zip": "sha256-VJWFzUk/lloFCfHbXX7lQRV6bGseCqEPA8XOLlkqNho=", "https://plugins.jetbrains.com/files/7322/540027/python-ce-241.17011.48.zip": "sha256-UrvhbGhcqxGke5tZTktyaWVYIWO5NhOU/WiswMYr83Y=", "https://plugins.jetbrains.com/files/7322/552840/python-ce-241.17890.1.zip": "sha256-njHcuJmpc/5JsfZ6mmjcRK2j78J0E4bu68T1A0DNdVU=", + "https://plugins.jetbrains.com/files/7391/531687/asciidoctor-intellij-plugin-0.41.14.zip": "sha256-icVvR79Ut6RopPKqvUQf4ZHKg14LV8/KWUZfQh/BYV8=", "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip": "sha256-+Lc/avYBLpyIV63DlbhAJtieHDv4HdggqdGFDw9iqN0=", "https://plugins.jetbrains.com/files/8554/535094/featuresTrainer-241.17011.14.zip": "sha256-p26GW1NyVI8OR1VypeWUFWW8qlwB+LtzrEoKyXBwiCw=", "https://plugins.jetbrains.com/files/8607/555059/NixIDEA-0.4.0.14.zip": "sha256-oP/tvAqzMSDLJ0Jah1eLJDZIm9WhOZas7lPWrvjWFMM=", diff --git a/pkgs/applications/editors/ldtk/default.nix b/pkgs/applications/editors/ldtk/default.nix index f93e0c62e3857..4e05fc2b39117 100644 --- a/pkgs/applications/editors/ldtk/default.nix +++ b/pkgs/applications/editors/ldtk/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation (finalAttrs: { install -Dm644 'LDtk ${finalAttrs.version} installer.AppImage' $out/share/ldtk.AppImage makeWrapper ${appimage-run}/bin/appimage-run $out/bin/ldtk \ --add-flags $out/share/ldtk.AppImage - install -Dm644 src/ldtk.png $out/share/icons/hicolor/1024x1024/apps/ldtk.png + install -Dm644 src/ldtk.png $out/share/icons/hicolor/512x512/apps/ldtk.png runHook postInstall ''; diff --git a/pkgs/applications/editors/vim/plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix index 70865e19174f4..1a5d3f50044e7 100644 --- a/pkgs/applications/editors/vim/plugins/generated.nix +++ b/pkgs/applications/editors/vim/plugins/generated.nix @@ -9676,18 +9676,6 @@ final: prev: meta.homepage = "https://github.com/mfukar/robotframework-vim/"; }; - rocks-nvim = buildNeovimPlugin { - pname = "rocks.nvim"; - version = "2024-06-19"; - src = fetchFromGitHub { - owner = "nvim-neorocks"; - repo = "rocks.nvim"; - rev = "6737e01a76eaaae06d11b45c8b5b774fa97c283b"; - sha256 = "0vl6rm3rv1730iw3bwzrwjsgr1hw5h4ksdgpir5spd3vqj7i97lz"; - }; - meta.homepage = "https://github.com/nvim-neorocks/rocks.nvim/"; - }; - ron-vim = buildVimPlugin { pname = "ron.vim"; version = "2022-08-19"; diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 84f5c0a92de66..1eb32501131a8 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -7,6 +7,7 @@ , fetchFromSourcehut , fetchpatch , fetchurl +, neovimUtils , substituteAll , # Language dependencies fetchYarnDeps @@ -1286,6 +1287,10 @@ ]; }; + rocks-nvim = neovimUtils.buildNeovimPlugin { luaAttr = "rocks-nvim"; }; + + rocks-config-nvim = neovimUtils.buildNeovimPlugin { luaAttr = "rocks-config-nvim"; }; + roslyn-nvim = super.roslyn-nvim.overrideAttrs { dependencies = with self; [ nvim-lspconfig ]; }; diff --git a/pkgs/applications/editors/vim/plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names index 962927e58924b..c31ea3ee4df14 100644 --- a/pkgs/applications/editors/vim/plugins/vim-plugin-names +++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names @@ -814,7 +814,6 @@ https://github.com/vim-scripts/restore_view.vim/,HEAD,restore-view-vim https://github.com/gu-fan/riv.vim/,, https://github.com/kevinhwang91/rnvimr/,, https://github.com/mfukar/robotframework-vim/,, -https://github.com/nvim-neorocks/rocks.nvim/,, https://github.com/ron-rs/ron.vim/,, https://github.com/jmederosalvarado/roslyn.nvim/,HEAD, https://github.com/keith/rspec.vim/,, diff --git a/pkgs/applications/networking/ktailctl/default.nix b/pkgs/applications/networking/ktailctl/default.nix index 88caf1a5f43e3..0536fa2fdea61 100644 --- a/pkgs/applications/networking/ktailctl/default.nix +++ b/pkgs/applications/networking/ktailctl/default.nix @@ -10,6 +10,7 @@ , qtbase , qtdeclarative , qtsvg +, qtwayland , kconfig , kcoreaddons , kguiaddons @@ -18,31 +19,37 @@ , kirigami-addons , knotifications , nlohmann_json +, qqc2-desktop-style }: let - version = "0.16.0"; + version = "0.16.1"; src = fetchFromGitHub { owner = "f-koehler"; repo = "KTailctl"; rev = "v${version}"; - hash = "sha256-fIx6XfNGK+jDpeaoCzTKwv3J01yWoHOgWxjbwTGVK1U="; + hash = "sha256-rMvFwWTrYWZUAMWd6H/SXE26q5ASjwsa8bD1tFC6yBI="; }; goDeps = (buildGoModule { - pname = "tailwrap"; + pname = "ktailctl-go-wrapper"; inherit src version; - modRoot = "tailwrap"; - vendorHash = "sha256-egTzSdOKrhdEBKarIfROxZUsxbnR9F1JDbdoKzGf9UM="; + modRoot = "src/wrapper"; + vendorHash = "sha256-GD+G+7b8GBwR3OrRPJbGJVom+kLC67VvlGFIA0S7UF8="; }).goModules; in stdenv.mkDerivation { pname = "ktailctl"; inherit version src; + patches = [ + # Install libktailctl_config.so https://github.com/f-koehler/KTailctl/pull/212 + ./install-missing-libraries.diff + ]; + postPatch = '' - cp -r --reflink=auto ${goDeps} tailwrap/vendor + cp -r --reflink=auto ${goDeps} src/wrapper/vendor ''; # needed for go build to work @@ -67,13 +74,16 @@ stdenv.mkDerivation { qtbase qtdeclarative qtsvg + qtwayland kconfig kcoreaddons kguiaddons ki18n kirigami + kirigami-addons knotifications nlohmann_json + qqc2-desktop-style ]; meta = with lib; { @@ -82,6 +92,6 @@ stdenv.mkDerivation { license = licenses.gpl3Only; maintainers = with maintainers; [ k900 ]; mainProgram = "ktailctl"; - platforms = platforms.all; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/networking/ktailctl/install-missing-libraries.diff b/pkgs/applications/networking/ktailctl/install-missing-libraries.diff new file mode 100644 index 0000000000000..6153199a66638 --- /dev/null +++ b/pkgs/applications/networking/ktailctl/install-missing-libraries.diff @@ -0,0 +1,9 @@ +diff --git a/src/config/CMakeLists.txt b/src/config/CMakeLists.txt +index ed0a64a..970e509 100644 +--- a/src/config/CMakeLists.txt ++++ b/src/config/CMakeLists.txt +@@ -7,3 +7,4 @@ target_link_libraries(ktailctl_config + KF6::ConfigGui + ktailctl_wrapper + ) ++install(TARGETS ktailctl_config) diff --git a/pkgs/by-name/le/lefthook/package.nix b/pkgs/by-name/le/lefthook/package.nix index 2931a41cc3efd..160029bae89d2 100644 --- a/pkgs/by-name/le/lefthook/package.nix +++ b/pkgs/by-name/le/lefthook/package.nix @@ -6,7 +6,7 @@ let pname = "lefthook"; - version = "1.6.16"; + version = "1.6.18"; in buildGoModule { inherit pname version; @@ -15,7 +15,7 @@ buildGoModule { owner = "evilmartians"; repo = "lefthook"; rev = "v${version}"; - hash = "sha256-5sGhm+ioH9hQLDuk7a0oUB1CqiiTt88UKAmBqUeCfic="; + hash = "sha256-jJKnBQ+49LtwSNTzX2xsL/lFFlaBBvJtIL9ltODPhEk="; }; vendorHash = "sha256-ralnfqrP6R58Wjc/AWRf1motWZICPagZxHCkqVcwYoo="; diff --git a/pkgs/development/tools/protoc-gen-prost-crate/default.nix b/pkgs/by-name/pr/protoc-gen-prost-crate/package.nix index ed278646ee471..97c62110931cf 100644 --- a/pkgs/development/tools/protoc-gen-prost-crate/default.nix +++ b/pkgs/by-name/pr/protoc-gen-prost-crate/package.nix @@ -1,19 +1,22 @@ -{ fetchCrate -, lib -, rustPlatform -, protobuf +{ + fetchCrate, + lib, + rustPlatform, + nix-update-script, }: rustPlatform.buildRustPackage rec { pname = "protoc-gen-prost-crate"; - version = "0.3.1"; + version = "0.4.0"; src = fetchCrate { inherit pname version; - sha256 = "sha256-MtGeU2PnVYPXb3nly2UaryjmjMz1lxcvYDjFiwf58FA="; + hash = "sha256-+TSZ2QstAF8DXsHunV/nQyqF++0bFud1ZWJQEI3JEwc="; }; - cargoSha256 = "sha256-dcKJRX/iHIWEmBD2nTMyQozxld8b7dhxxB85quPUysg="; + cargoHash = "sha256-KbErgnXG11ngzLVSktuyUAupYs1ZD64z3plKVtzLx1A="; + + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Protoc plugin that generates Cargo crates and include files for `protoc-gen-prost`"; @@ -21,6 +24,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/neoeinstein/protoc-gen-prost"; changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ felschr sitaaax ]; + maintainers = with maintainers; [ + felschr + sitaaax + ]; }; } diff --git a/pkgs/development/tools/protoc-gen-prost-serde/default.nix b/pkgs/by-name/pr/protoc-gen-prost-serde/package.nix index e1595e0a2b868..3486fbea0e1e8 100644 --- a/pkgs/development/tools/protoc-gen-prost-serde/default.nix +++ b/pkgs/by-name/pr/protoc-gen-prost-serde/package.nix @@ -1,19 +1,22 @@ -{ fetchCrate -, lib -, rustPlatform -, protobuf +{ + fetchCrate, + lib, + rustPlatform, + nix-update-script, }: rustPlatform.buildRustPackage rec { pname = "protoc-gen-prost-serde"; - version = "0.2.3"; + version = "0.3.0"; src = fetchCrate { inherit pname version; - sha256 = "sha256-V2Z6m9y/bBwrr1mgKXKZjVg+LqTe+GalN/AeaICyE64="; + hash = "sha256-O2Mpft31ZQncqETWzwD73I1nX1Wt5XVHcTJUk5qhRLY="; }; - cargoSha256 = "sha256-l27+Rs4TYIJXZVLj7Tjw8M5+7ivWEY0TXbLtbuzwxLw="; + cargoHash = "sha256-aUWmNS3jF1I0NLApBn3GMMv6ID9mM/j7r7sPFCsFIuw="; + + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Protoc plugin that generates serde serialization implementations for `protoc-gen-prost`"; @@ -21,6 +24,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/neoeinstein/protoc-gen-prost"; changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ felschr sitaaax ]; + maintainers = with maintainers; [ + felschr + sitaaax + ]; }; } diff --git a/pkgs/development/tools/protoc-gen-prost/default.nix b/pkgs/by-name/pr/protoc-gen-prost/package.nix index 6012af0acf3c2..7c92095fbeee7 100644 --- a/pkgs/development/tools/protoc-gen-prost/default.nix +++ b/pkgs/by-name/pr/protoc-gen-prost/package.nix @@ -1,19 +1,22 @@ -{ fetchCrate -, lib -, rustPlatform -, protobuf +{ + fetchCrate, + lib, + rustPlatform, + nix-update-script, }: rustPlatform.buildRustPackage rec { pname = "protoc-gen-prost"; - version = "0.2.3"; + version = "0.3.1"; src = fetchCrate { inherit pname version; - sha256 = "sha256-QTt5mSUe41r2fxrgWj1l6fHC/utMVIgMi2ySsdGyl/Y="; + hash = "sha256-ma9sdt3/uq06BMELwsNadMkiEfstQhA4DAQEPdizZJM="; }; - cargoSha256 = "sha256-ghXcyxG9zqUOFKGvUza29OgC3XiEtesqsAsfI/lFT08="; + cargoHash = "sha256-pJDrwX5uDIrycxtmbds8l4wadZE0RdgmNpMwVkUGJDs="; + + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Protocol Buffers compiler plugin powered by Prost"; @@ -21,6 +24,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/neoeinstein/protoc-gen-prost"; changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ felschr sitaaax ]; + maintainers = with maintainers; [ + felschr + sitaaax + ]; }; } diff --git a/pkgs/development/tools/protoc-gen-tonic/default.nix b/pkgs/by-name/pr/protoc-gen-tonic/package.nix index 6855285341e57..55c1828618e9d 100644 --- a/pkgs/development/tools/protoc-gen-tonic/default.nix +++ b/pkgs/by-name/pr/protoc-gen-tonic/package.nix @@ -1,19 +1,22 @@ -{ fetchCrate -, lib -, rustPlatform -, protobuf +{ + fetchCrate, + lib, + rustPlatform, + nix-update-script, }: rustPlatform.buildRustPackage rec { pname = "protoc-gen-tonic"; - version = "0.3.0"; + version = "0.4.0"; src = fetchCrate { inherit pname version; - sha256 = "sha256-jgU1XvUxIrZ72dLNPqDGHCONMlHsjW4k4vkO626iqxs="; + hash = "sha256-3qz1ea9lEsZjhWNA0lcwqsPkNmjj2ZBljqNRr5/2lKM="; }; - cargoSha256 = "sha256-FrkvL/uJitMkSyOytVSmlwr26yMVM12S2n+EaSw11CE="; + cargoHash = "sha256-nUsRoDaP+omZdOTnaxvHbJT1uNGtyfgXyEFZbp/CeYA="; + + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Protoc plugin that generates Tonic gRPC server and client code using the Prost code generation engine"; @@ -21,6 +24,9 @@ rustPlatform.buildRustPackage rec { homepage = "https://github.com/neoeinstein/protoc-gen-prost"; changelog = "https://github.com/neoeinstein/protoc-gen-prost/blob/main/CHANGELOG.md"; license = licenses.asl20; - maintainers = with maintainers; [ felschr sitaaax ]; + maintainers = with maintainers; [ + felschr + sitaaax + ]; }; } diff --git a/pkgs/by-name/qu/quickemu/package.nix b/pkgs/by-name/qu/quickemu/package.nix index b650ef91f88ec..5349581aab119 100644 --- a/pkgs/by-name/qu/quickemu/package.nix +++ b/pkgs/by-name/qu/quickemu/package.nix @@ -56,13 +56,13 @@ in stdenv.mkDerivation (finalAttrs: { pname = "quickemu"; - version = "4.9.4"; + version = "4.9.4-unstable-2024-05-28"; src = fetchFromGitHub { owner = "quickemu-project"; repo = "quickemu"; - rev = finalAttrs.version; - hash = "sha256-fjbXgze6klvbRgkJtPIUh9kEkP/As7dAj+cazpzelBY="; + rev = "d78255b097b599e8ab3713cb61c4085cc45f5a95"; # TODO: return to version on next release + hash = "sha256-fF306CdGqKM+779OLm0NNyqPBtm7TuU7UN/NanT12y8="; }; postPatch = '' @@ -74,16 +74,6 @@ stdenv.mkDerivation (finalAttrs: { quickemu ''; - patches = [ - # reduces windows vm ram requirements to 4G, to match microsoft recommendations - # TODO: remove on next release - (fetchpatch2 { - name = "decrease-windows-ram-requirements.patch"; - url = "https://github.com/quickemu-project/quickemu/commit/f51697593a4650c5486661292e2febe1d16f8c71.patch"; - hash = "sha256-J5hIvQGtkufOcjk2FZN65iox/W2zkLlg+Veg9TF11Fs="; - }) - ]; - nativeBuildInputs = [ makeWrapper installShellFiles @@ -106,7 +96,10 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - passthru.tests = testers.testVersion { package = quickemu; }; + passthru.tests = testers.testVersion { + version = "4.9.5"; # required for passing tests, TODO: remove when release bump + package = quickemu; + }; meta = { description = "Quickly create and run optimised Windows, macOS and Linux virtual machines"; diff --git a/pkgs/by-name/te/technitium-dns-server/package.nix b/pkgs/by-name/te/technitium-dns-server/package.nix index b369a45869514..1844e08ddf8bd 100644 --- a/pkgs/by-name/te/technitium-dns-server/package.nix +++ b/pkgs/by-name/te/technitium-dns-server/package.nix @@ -8,13 +8,13 @@ let technitium-library = buildDotnetModule rec { pname = "TechnitiumLibrary"; - version = "40a7bc7a52cf5d2c371215ea7f5f6fdf71dc1d9c"; + version = "570ec570b57d8591daa3df682ca9e6f37f373db6"; src = fetchFromGitHub { owner = "TechnitiumSoftware"; repo = "TechnitiumLibrary"; rev = version; - hash = "sha256-FNCZH8LZXYyrz5SRIV8P7MruN+t6Qvl96Aa73q3InMI="; + hash = "sha256-xPwRoRp/XYrlGX3B9EiHUz2Tueh+hygbBopxFvdASLQ"; name = "${pname}-${version}"; }; @@ -30,13 +30,13 @@ let in buildDotnetModule rec { pname = "technitium-dns-server"; - version = "12.1"; + version = "12.2.1"; src = fetchFromGitHub { owner = "TechnitiumSoftware"; repo = "DnsServer"; rev = "refs/tags/v${version}"; - hash = "sha256-TfVWGomvKV7QeJUyFMNDAnHKY3YTEwWPxTlW6RhmsR4="; + hash = "sha256-2RB/pUlA9z7TJ4xd509nsbO1BnxY3mv2jou6OGRd/yM="; name = "${pname}-${version}"; }; diff --git a/pkgs/by-name/te/tenv/package.nix b/pkgs/by-name/te/tenv/package.nix index 042c389ac42e3..800bea1565501 100644 --- a/pkgs/by-name/te/tenv/package.nix +++ b/pkgs/by-name/te/tenv/package.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "tenv"; - version = "2.0.7"; + version = "2.1.8"; src = fetchFromGitHub { owner = "tofuutils"; repo = "tenv"; rev = "v${version}"; - hash = "sha256-654ZaQ7KzAWEXwN9Xwzdmg4KsCCLCm+i2M0730gP/zM="; + hash = "sha256-9wY+9lAbrnwiXpLilMaqtQz0XmMGRMv+m+yR7BxmSsw="; }; - vendorHash = "sha256-OrMCzqqOFQkI8IwcfO/JVPyd/sw+Ud0VySV7UPiucwc="; + vendorHash = "sha256-v1NWlZhfypoS+bZCtr+P2s1t4qYVncbjx9IyRhi2sa4="; # Tests disabled for requiring network access to release.hashicorp.com doCheck = false; diff --git a/pkgs/by-name/vm/vmctl/package.nix b/pkgs/by-name/vm/vmctl/package.nix new file mode 100644 index 0000000000000..910ecd5f9d6d6 --- /dev/null +++ b/pkgs/by-name/vm/vmctl/package.nix @@ -0,0 +1,70 @@ +{ + lib, + stdenvNoCC, + fetchFromGitHub, + openssh, + socat, + gawk, + cloud-utils, + cdrtools, + qemu, + qemu-utils, + coreutils, + getopt, + makeWrapper, +}: + +stdenvNoCC.mkDerivation { + pname = "vmctl"; + version = "v0.99-unstable-2024-05-14"; + + src = fetchFromGitHub { + owner = "SamsungDS"; + repo = "vmctl"; + rev = "5b6b7084b8cba06b474c0e020df965237f2c832c"; + hash = "sha256-yDgaY2RJXBjWkMSQb4JaJzMGLFzowfOGixSRzzv2iIk="; + }; + + dontBuild = true; + + postPatch = '' + substituteInPlace vmctl \ + --replace 'BASEDIR="$(dirname "$(readlink -f "''${BASH_SOURCE[0]}")")"' 'BASEDIR="${placeholder "out"}"' + ''; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + + install -Dm555 vmctl -t "$out/bin" + wrapProgram "$out/bin/vmctl" \ + --set PATH "${ + lib.makeBinPath [ + openssh + socat + gawk + cloud-utils + cdrtools + qemu + qemu-utils + coreutils + getopt + ] + }" + cp -r {cmd,common,contrib,lib} $out + + runHook postInstall + ''; + + meta = { + description = "Command line tool focused on NVMe testing in QEMU"; + homepage = "https://github.com/SamsungDS/vmctl"; + license = lib.licenses.gpl3; + maintainers = with lib.maintainers; [ panky ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + }; +} diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix index 3f2bb2e5cec83..c3ef3ab9db4a0 100644 --- a/pkgs/development/compilers/flutter/default.nix +++ b/pkgs/development/compilers/flutter/default.nix @@ -8,6 +8,8 @@ let mkFlutter = { version , engineVersion + , engineSwiftShaderHash + , engineSwiftShaderRev , engineHashes , enginePatches , dartVersion @@ -20,7 +22,7 @@ let }@fargs: let args = { - inherit version engineVersion engineHashes enginePatches patches pubspecLock artifactHashes useNixpkgsEngine channel; + inherit version engineVersion engineSwiftShaderRev engineSwiftShaderHash engineHashes enginePatches patches pubspecLock artifactHashes useNixpkgsEngine channel; dart = dart.override { version = dartVersion; diff --git a/pkgs/development/compilers/flutter/engine/dart.nix b/pkgs/development/compilers/flutter/engine/dart.nix new file mode 100644 index 0000000000000..c872113f4a90e --- /dev/null +++ b/pkgs/development/compilers/flutter/engine/dart.nix @@ -0,0 +1,13 @@ +{ engine, runCommand }: +runCommand "flutter-engine-${engine.version}-dart" { + version = engine.dartSdkVersion; + + inherit engine; + inherit (engine) outName; + + meta = engine.meta // { + description = "Dart SDK compiled from the Flutter Engine"; + }; +} '' + ln -s ${engine}/out/$outName/dart-sdk $out +'' diff --git a/pkgs/development/compilers/flutter/engine/default.nix b/pkgs/development/compilers/flutter/engine/default.nix index cea41933e4343..4aac2301f866c 100644 --- a/pkgs/development/compilers/flutter/engine/default.nix +++ b/pkgs/development/compilers/flutter/engine/default.nix @@ -2,6 +2,8 @@ callPackage, dartSdkVersion, flutterVersion, + swiftshaderHash, + swiftshaderRev, version, hashes, url, @@ -10,10 +12,13 @@ isOptimized ? true, lib, stdenv, -}: + dart, + mainRuntimeMode ? null, + altRuntimeMode ? null, +}@args: let - mainRuntimeMode = builtins.elemAt runtimeModes 0; - altRuntimeMode = builtins.elemAt runtimeModes 1; + mainRuntimeMode = args.mainRuntimeMode or builtins.elemAt runtimeModes 0; + altRuntimeMode = args.altRuntimeMode or builtins.elemAt runtimeModes 1; runtimeModesBuilds = lib.genAttrs runtimeModes ( runtimeMode: @@ -21,6 +26,8 @@ let inherit dartSdkVersion flutterVersion + swiftshaderHash + swiftshaderRev version hashes url @@ -42,6 +49,8 @@ stdenv.mkDerivation ( dartSdkVersion isOptimized runtimeMode + outName + dart ; inherit altRuntimeMode; @@ -51,19 +60,12 @@ stdenv.mkDerivation ( installPhase = '' mkdir -p $out/out - - for dir in $(find $src/src -mindepth 1 -maxdepth 1); do - ln -sf $dir $out/$(basename $dir) - done - '' + lib.concatMapStrings ( runtimeMode: let runtimeModeBuild = runtimeModesBuilds.${runtimeMode}; - runtimeModeOut = "host_${runtimeMode}${ - lib.optionalString (!runtimeModeBuild.isOptimized) "_unopt" - }"; + runtimeModeOut = runtimeModeBuild.outName; in '' ln -sf ${runtimeModeBuild}/out/${runtimeModeOut} $out/out/${runtimeModeOut} diff --git a/pkgs/development/compilers/flutter/engine/package.nix b/pkgs/development/compilers/flutter/engine/package.nix index 6f87b28f19098..7c2cd5cec2201 100644 --- a/pkgs/development/compilers/flutter/engine/package.nix +++ b/pkgs/development/compilers/flutter/engine/package.nix @@ -11,8 +11,12 @@ tools ? callPackage ./tools.nix { inherit hostPlatform; }, stdenv, stdenvNoCC, + dart, + fetchgit, runCommand, + llvmPackages, patchelf, + openbox, xorg, libglvnd, libepoxy, @@ -33,6 +37,8 @@ version, flutterVersion, dartSdkVersion, + swiftshaderHash, + swiftshaderRev, hashes, patches, url, @@ -56,8 +62,24 @@ let url ; }; + + swiftshader = fetchgit { + url = "https://swiftshader.googlesource.com/SwiftShader.git"; + hash = swiftshaderHash; + rev = swiftshaderRev; + }; + + llvm = symlinkJoin { + name = "llvm"; + paths = with llvmPackages; [ + clang + llvmPackages.llvm + ]; + }; + + outName = "host_${runtimeMode}${lib.optionalString (!isOptimized) "_unopt --unoptimized"}"; in -stdenv.mkDerivation { +stdenv.mkDerivation (finalAttrs: { pname = "flutter-engine-${runtimeMode}${lib.optionalString (!isOptimized) "-unopt"}"; inherit version @@ -65,7 +87,9 @@ stdenv.mkDerivation { patches isOptimized dartSdkVersion - src; + src + outName + swiftshader; toolchain = symlinkJoin { name = "flutter-engine-toolchain-${version}"; @@ -107,11 +131,18 @@ stdenv.mkDerivation { stdenv.cc.libc_lib ]; + # Needed due to Flutter expecting everything to be relative to $out + # and not true absolute path (ie relative to "/"). postBuild = '' - ln -s /nix $out/nix + mkdir -p $(dirname $(dirname "$out/$out")) + ln -s $(dirname "$out") $out/$(dirname "$out") ''; }; + NIX_CFLAGS_COMPILE = "-I${finalAttrs.toolchain}/include"; + + nativeCheckInputs = lib.optionals stdenv.isLinux [ xorg.xorgserver openbox ]; + nativeBuildInputs = [ python3 @@ -119,6 +150,7 @@ stdenv.mkDerivation { git pkg-config ninja + dart ] ++ lib.optionals (stdenv.isLinux) [ patchelf ] ++ optionals (stdenv.isDarwin) [ @@ -130,54 +162,10 @@ stdenv.mkDerivation { buildInputs = [ gtk3 ]; - patchtools = - let - buildtoolsPath = - if lib.versionAtLeast flutterVersion "3.21" then "flutter/buildtools" else "buildtools"; - in - [ - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-apply-replacements" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-doc" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-format" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-include-fixer" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-refactor" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-scan-deps" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clang-tidy" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/clangd" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/dsymutil" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/find-all-symbols" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/lld" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-ar" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-bolt" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-cov" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-cxxfilt" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-debuginfod-find" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-dwarfdump" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-dwp" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-gsymutil" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-ifs" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-libtool-darwin" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-lipo" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-ml" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-mt" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-nm" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-objcopy" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-objdump" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-pdbutil" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-profdata" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-rc" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-readobj" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-size" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-symbolizer" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-undname" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm-xray" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/llvm" - "${buildtoolsPath}/${constants.alt-platform}/clang/bin/sancov" - "flutter/prebuilts/${constants.alt-platform}/dart-sdk/bin/dartaotruntime" - "flutter/prebuilts/${constants.alt-platform}/dart-sdk/bin/dart" - "flutter/third_party/gn/gn" - "third_party/dart/tools/sdks/dart-sdk/bin/dart" - ]; + patchtools = [ + "third_party/dart/tools/sdks/dart-sdk/bin/dart" + "flutter/third_party/gn/gn" + ]; dontPatch = true; @@ -189,6 +177,9 @@ stdenv.mkDerivation { postUnpack = '' pushd ${src.name} + + ln -s $swiftshader src/flutter/third_party/swiftshader + ${lib.optionalString (stdenv.isLinux) '' for patchtool in ''${patchtools[@]}; do patchelf src/$patchtool --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) @@ -203,11 +194,14 @@ stdenv.mkDerivation { git add . git config user.name "nobody" git config user.email "nobody@local.host" - git commit -a -m "$rev" + git commit -a -m "$rev" --quiet popd done - src/flutter/prebuilts/${constants.alt-platform}/dart-sdk/bin/dart src/third_party/dart/tools/generate_package_config.dart + mkdir -p src/flutter/buildtools/${constants.alt-platform} + ln -s ${llvm} src/flutter/buildtools/${constants.alt-platform}/clang + + dart src/third_party/dart/tools/generate_package_config.dart cp ${./pkg-config.py} src/build/config/linux/pkg-config.py echo "${dartSdkVersion}" >src/third_party/dart/sdk/version @@ -250,8 +244,9 @@ stdenv.mkDerivation { --runtime-mode $runtimeMode \ --out-dir $out \ --target-sysroot $toolchain \ - --target-dir host_$runtimeMode${lib.optionalString (!isOptimized) "_unopt --unoptimized"} \ - --verbose + --target-dir $outName \ + --target-triple ${targetPlatform.config} \ + --enable-fontconfig runHook postConfigure ''; @@ -261,39 +256,48 @@ stdenv.mkDerivation { export TERM=dumb for tool in flatc scenec gen_snapshot dart impellerc shader_archiver gen_snapshot_product; do - ninja -C $out/out/host_$runtimeMode${ - lib.optionalString (!isOptimized) "_unopt" - } -j$NIX_BUILD_CORES $tool + ninja -C $out/out/$outName -j$NIX_BUILD_CORES $tool ${lib.optionalString (stdenv.isLinux) '' - patchelf $out/out/host_$runtimeMode${ - lib.optionalString (!isOptimized) "_unopt" - }/$tool --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) + patchelf $out/out/$outName/$tool --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) ''} done - ninja -C $out/out/host_$runtimeMode${lib.optionalString (!isOptimized) "_unopt"} -j$NIX_BUILD_CORES + ninja -C $out/out/$outName -j$NIX_BUILD_CORES ${lib.optionalString (stdenv.isLinux) '' - patchelf $out/out/host_$runtimeMode${ - lib.optionalString (!isOptimized) "_unopt" - }/dart-sdk/bin/dartaotruntime \ + patchelf $out/out/$outName/dart-sdk/bin/dartaotruntime \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) + + find $out/out/$outName/exe.unstripped -executable -type f -exec patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) {} \; ''} runHook postBuild ''; - # Link sources so we can set $FLUTTER_ENGINE to this derivation + # Tests are broken + doCheck = false; + checkPhase = '' + ln -s $out/out src/out + touch src/out/run_tests.log + sh src/flutter/testing/run_tests.sh $outName + rm src/out/run_tests.log + ''; + installPhase = '' runHook preInstall - for dir in $(find $src/src -mindepth 1 -maxdepth 1); do - ln -sf $dir $out/$(basename $dir) - done + rm -rf $out/out/$outName/{obj,gen,exe.unstripped,lib.unstripped,zip_archives} + rm $out/out/$outName/{args.gn,build.ninja,build.ninja.d,compile_commands.json,display_list_rendertests,flutter_tester,toolchain.ninja} + find $out/out/$outName -name '*_unittests' -delete + find $out/out/$outName -name '*_benchmarks' -delete runHook postInstall ''; + passthru = { + dart = callPackage ./dart.nix { engine = finalAttrs.finalPackage; }; + }; + meta = { # Very broken on Darwin broken = stdenv.isDarwin; @@ -308,4 +312,4 @@ stdenv.mkDerivation { "aarch64-darwin" ]; }; -} +}) diff --git a/pkgs/development/compilers/flutter/engine/source.nix b/pkgs/development/compilers/flutter/engine/source.nix index 4b9b5aaa5adb2..413b1874a9812 100644 --- a/pkgs/development/compilers/flutter/engine/source.nix +++ b/pkgs/development/compilers/flutter/engine/source.nix @@ -2,6 +2,7 @@ callPackage, hostPlatform, targetPlatform, + fetchgit, tools ? callPackage ./tools.nix { inherit hostPlatform; }, curl, pkg-config, @@ -16,6 +17,7 @@ }: let constants = callPackage ./constants.nix { inherit targetPlatform; }; + boolOption = value: if value then "True" else "False"; in runCommand "flutter-engine-source-${version}-${targetPlatform.system}" { @@ -42,6 +44,14 @@ runCommand "flutter-engine-source-${version}-${targetPlatform.system}" "managed": False, "name": "src/flutter", "url": "${url}", + "custom_vars": { + "download_fuchsia_deps": False, + "download_android_deps": False, + "download_linux_deps": ${boolOption targetPlatform.isLinux}, + "setup_githooks": False, + "download_esbuild": False, + "download_dart_sdk": False, + }, }] ''; @@ -66,13 +76,13 @@ runCommand "flutter-engine-source-${version}-${targetPlatform.system}" cd $out export PATH=$PATH:$depot_tools - python3 $depot_tools/gclient.py sync --no-history --shallow --nohooks >/dev/null + python3 $depot_tools/gclient.py sync --no-history --shallow --nohooks 2>&1 >/dev/null find $out -name '.git' -exec dirname {} \; | xargs bash -c 'make_deterministic_repo $@' _ find $out -path '*/.git/*' ! -name 'HEAD' -prune -exec rm -rf {} \; find $out -name '.git' -exec mkdir {}/logs \; find $out -name '.git' -exec cp {}/HEAD {}/logs/HEAD \; - python3 src/build/linux/sysroot_scripts/install-sysroot.py --arch=${constants.arch} >/dev/null + rm -rf $out/src/flutter/{buildtools,prebuilts,third_party/swiftshader} rm -rf $out/.cipd $out/.gclient $out/.gclient_entries $out/.gclient_previous_custom_vars $out/.gclient_previous_sync_commits '' diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix index 757766d031524..870c63afa8069 100644 --- a/pkgs/development/compilers/flutter/flutter.nix +++ b/pkgs/development/compilers/flutter/flutter.nix @@ -5,6 +5,8 @@ , engineUrl ? "https://github.com/flutter/engine.git@${engineVersion}" , enginePatches ? [] , engineRuntimeModes ? [ "release" "debug" ] +, engineSwiftShaderHash +, engineSwiftShaderRev , patches , channel , dart @@ -19,20 +21,17 @@ , git , which , jq -, flutterTools ? callPackage ./flutter-tools.nix { - inherit dart version; - flutterSrc = src; - inherit patches; - inherit pubspecLock; - systemPlatform = stdenv.hostPlatform.system; - } +, flutterTools ? null }@args: let engine = if args.useNixpkgsEngine or false then callPackage ./engine/default.nix { - dartSdkVersion = dart.version; + inherit (args) dart; + dartSdkVersion = args.dart.version; flutterVersion = version; + swiftshaderRev = engineSwiftShaderRev; + swiftshaderHash = engineSwiftShaderHash; version = engineVersion; hashes = engineHashes; url = engineUrl; @@ -40,6 +39,17 @@ let runtimeModes = engineRuntimeModes; } else null; + dart = if args.useNixpkgsEngine or false then + engine.dart else args.dart; + + flutterTools = args.flutterTools or (callPackage ./flutter-tools.nix { + inherit dart version; + flutterSrc = src; + inherit patches; + inherit pubspecLock; + systemPlatform = stdenv.hostPlatform.system; + }); + unwrapped = stdenv.mkDerivation { name = "flutter-${version}-unwrapped"; diff --git a/pkgs/development/compilers/flutter/update/get-engine-swiftshader.nix.in b/pkgs/development/compilers/flutter/update/get-engine-swiftshader.nix.in new file mode 100644 index 0000000000000..2dffbe950b86f --- /dev/null +++ b/pkgs/development/compilers/flutter/update/get-engine-swiftshader.nix.in @@ -0,0 +1,5 @@ +{ fetchgit }: +fetchgit { + url = "https://swiftshader.googlesource.com/SwiftShader.git"; + rev = "@engine_swiftshader_rev@"; +} diff --git a/pkgs/development/compilers/flutter/update/update.py b/pkgs/development/compilers/flutter/update/update.py index a782b46514a92..cc6d114e694a7 100755 --- a/pkgs/development/compilers/flutter/update/update.py +++ b/pkgs/development/compilers/flutter/update/update.py @@ -14,6 +14,7 @@ import argparse import yaml import json +FAKE_HASH = 'sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=' NIXPKGS_ROOT = subprocess.Popen(['git', 'rev-parse', @@ -200,6 +201,22 @@ def get_pubspec_lock(flutter_compact_version, flutter_src): return yaml.safe_load(pubspec_lock_yaml) +def get_engine_swiftshader_rev(engine_version): + with urllib.request.urlopen(f"https://github.com/flutter/engine/raw/{engine_version}/DEPS") as f: + deps = f.read().decode('utf-8') + pattern = re.compile(r"Var\('swiftshader_git'\) \+ '\/SwiftShader\.git' \+ '@' \+ \'([0-9a-fA-F]{40})\'\,") + rev = pattern.findall(deps)[0] + return rev + +def get_engine_swiftshader_hash(engine_swiftshader_rev): + code = load_code( + "get-engine-swiftshader.nix", + engine_swiftshader_rev=engine_swiftshader_rev, + hash="") + + stderr = nix_build_to_fail(code) + pattern = re.compile(r"got:\s+(.+?)\n") + return pattern.findall(stderr)[0] def write_data( nixpkgs_flutter_version_directory, @@ -207,6 +224,8 @@ def write_data( channel, engine_hash, engine_hashes, + engine_swiftshader_hash, + engine_swiftshader_rev, dart_version, dart_hash, flutter_hash, @@ -216,6 +235,8 @@ def write_data( f.write(json.dumps({ "version": flutter_version, "engineVersion": engine_hash, + "engineSwiftShaderHash": engine_swiftshader_hash, + "engineSwiftShaderRev": engine_swiftshader_rev, "channel": channel, "engineHashes": engine_hashes, "dartVersion": dart_version, @@ -360,6 +381,8 @@ def main(): pubspec_lock={}, artifact_hashes={}, engine_hashes={}, + engine_swiftshader_hash=FAKE_HASH, + engine_swiftshader_rev='0', **common_data_args) pubspec_lock = get_pubspec_lock(flutter_compact_version, flutter_src) @@ -368,6 +391,8 @@ def main(): pubspec_lock=pubspec_lock, artifact_hashes={}, engine_hashes={}, + engine_swiftshader_hash=FAKE_HASH, + engine_swiftshader_rev='0', **common_data_args) artifact_hashes = get_artifact_hashes(flutter_compact_version) @@ -376,6 +401,8 @@ def main(): pubspec_lock=pubspec_lock, artifact_hashes=artifact_hashes, engine_hashes={}, + engine_swiftshader_hash=FAKE_HASH, + engine_swiftshader_rev='0', **common_data_args) engine_hashes = get_engine_hashes(engine_hash) @@ -384,6 +411,19 @@ def main(): pubspec_lock=pubspec_lock, artifact_hashes=artifact_hashes, engine_hashes=engine_hashes, + engine_swiftshader_hash=FAKE_HASH, + engine_swiftshader_rev='0', + **common_data_args) + + engine_swiftshader_rev = get_engine_swiftshader_rev(engine_hash) + engine_swiftshader_hash = get_engine_swiftshader_hash(engine_swiftshader_rev) + + write_data( + pubspec_lock=pubspec_lock, + artifact_hashes=artifact_hashes, + engine_hashes=engine_hashes, + engine_swiftshader_hash=engine_swiftshader_hash, + engine_swiftshader_rev=engine_swiftshader_rev, **common_data_args) diff --git a/pkgs/development/compilers/flutter/versions/3_13/data.json b/pkgs/development/compilers/flutter/versions/3_13/data.json index eb707f74f7c26..9bd8b818bf469 100644 --- a/pkgs/development/compilers/flutter/versions/3_13/data.json +++ b/pkgs/development/compilers/flutter/versions/3_13/data.json @@ -1,9 +1,12 @@ { "version": "3.13.8", "engineVersion": "767d8c75e898091b925519803830fc2721658d07", + "engineSwiftShaderHash": "sha256-N6f5aeDroqEwZlUBZi7nhDW8leE/7DqmOtRYOY4wzf4=", + "engineSwiftShaderRev": "5f9ed9b16931c7155171d31f75004f73f0a3abc8", "channel": "stable", "engineHashes": { - "aarch64-linux": "sha256-1s7I+AWb2kNDzJ5k2XYm7rSK8yj1wqTjPUuS0f85Jig=" + "aarch64-linux": "sha256-+MIGPmKHkcn3TlFYu6jXv8KBRqdECgtGSqAKQE33iAM=", + "x86_64-linux": "sha256-+MIGPmKHkcn3TlFYu6jXv8KBRqdECgtGSqAKQE33iAM=" }, "dartVersion": "3.1.4", "dartHash": { @@ -15,52 +18,52 @@ "flutterHash": "sha256-00G030FvZZTsdf9ruFs9jdIHcC5h+xpp4NlmL64qVZA=", "artifactHashes": { "android": { - "x86_64-linux": "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y=", + "aarch64-darwin": "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ=", "aarch64-linux": "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y=", "x86_64-darwin": "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ=", - "aarch64-darwin": "sha256-v/6/GTj7732fEOIgSaoM00yaw2qNwOMuvbuoCvii7vQ=" + "x86_64-linux": "sha256-Uc36aBq8wQo2aEvjAPOoixZElWOE/GNRm2GUfhbwT3Y=" }, "fuchsia": { - "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", + "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", - "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=" + "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=" }, "ios": { - "x86_64-linux": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=", + "aarch64-darwin": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=", "aarch64-linux": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=", "x86_64-darwin": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=", - "aarch64-darwin": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=" + "x86_64-linux": "sha256-QwkeGnutTVsm682CqxRtEd9rKUvN7zlAJcqkvAQYwao=" }, "linux": { - "x86_64-linux": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs=", + "aarch64-darwin": "sha256-drGHsuJoOCLqrhVrXczqJRCOtpeWVlqdWW0OSMS/l5M=", "aarch64-linux": "sha256-drGHsuJoOCLqrhVrXczqJRCOtpeWVlqdWW0OSMS/l5M=", "x86_64-darwin": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs=", - "aarch64-darwin": "sha256-drGHsuJoOCLqrhVrXczqJRCOtpeWVlqdWW0OSMS/l5M=" + "x86_64-linux": "sha256-0gIOwux3YBdmcXgwICr8dpftj1CauaBUX8Rt5GG0WSs=" }, "macos": { - "x86_64-linux": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=", + "aarch64-darwin": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=", "aarch64-linux": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=", "x86_64-darwin": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=", - "aarch64-darwin": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=" + "x86_64-linux": "sha256-9WqCJQ37mcGc5tzfqQoY5CqHWHGTizjXf9p73bdnNWc=" }, "universal": { - "x86_64-linux": "sha256-wATt1UPjo/fh7RFO1vvcUAdo0dMAaaOUIuzYodsM0v0=", + "aarch64-darwin": "sha256-mSpAPKyP9v0dbkXqYkzGOnD5OEjRZigiRElXXcHZ5TE=", "aarch64-linux": "sha256-Z9bszNaIpCccG7OfvE5WFsw36dITiyCQAZ6p29+Yq68=", "x86_64-darwin": "sha256-qN5bAXRfQ78TWF3FLBIxWzUB5y5OrZVQTEilY5J/+2k=", - "aarch64-darwin": "sha256-mSpAPKyP9v0dbkXqYkzGOnD5OEjRZigiRElXXcHZ5TE=" + "x86_64-linux": "sha256-wATt1UPjo/fh7RFO1vvcUAdo0dMAaaOUIuzYodsM0v0=" }, "web": { - "x86_64-linux": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=", + "aarch64-darwin": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=", "aarch64-linux": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=", "x86_64-darwin": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=", - "aarch64-darwin": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=" + "x86_64-linux": "sha256-DVXJOOFxv7tKt3d0NaYMexkphEcr7+gDFV67I6iAYa0=" }, "windows": { - "x86_64-linux": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=", + "aarch64-darwin": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=", "aarch64-linux": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=", "x86_64-darwin": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=", - "aarch64-darwin": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=" + "x86_64-linux": "sha256-s8fJtwQkuZaGXr6vrPiKfpwP/NfewbETwyp9ERGqHYI=" } }, "pubspecLock": { diff --git a/pkgs/development/compilers/flutter/versions/3_16/data.json b/pkgs/development/compilers/flutter/versions/3_16/data.json index 477328b4aa6b2..08cbdff5bc77d 100644 --- a/pkgs/development/compilers/flutter/versions/3_16/data.json +++ b/pkgs/development/compilers/flutter/versions/3_16/data.json @@ -1,9 +1,12 @@ { "version": "3.16.7", "engineVersion": "4a585b79294e830fa89c24924d58a27cc8fbf406", + "engineSwiftShaderHash": "sha256-N6f5aeDroqEwZlUBZi7nhDW8leE/7DqmOtRYOY4wzf4=", + "engineSwiftShaderRev": "5f9ed9b16931c7155171d31f75004f73f0a3abc8", "channel": "stable", "engineHashes": { - "aarch64-linux": "sha256-xqniT1rYrzCuq6542KfqWRigYtLnmaT0z5Es/59iFMw=" + "aarch64-linux": "sha256-irrfyKvTHqaBgcKg3jJzEDs1B4Q91u/e6Ui01MDI+oU=", + "x86_64-linux": "sha256-irrfyKvTHqaBgcKg3jJzEDs1B4Q91u/e6Ui01MDI+oU=" }, "dartVersion": "3.2.4", "dartHash": { @@ -15,51 +18,51 @@ "flutterHash": "sha256-j+tc8hMgZMBhju89n4e9tKRrq+CFBGOyeE0y+Z4FtHE=", "artifactHashes": { "android": { + "aarch64-darwin": "sha256-0FBI0CGMcxyttkzrdyjJlkGAjFd/yMuAQS3pDrNXZZw=", "aarch64-linux": "sha256-j8jstEE1RsTVHJbq6f6We0An+CyJz9JH/YClyNA4mwg=", "x86_64-darwin": "sha256-0FBI0CGMcxyttkzrdyjJlkGAjFd/yMuAQS3pDrNXZZw=", - "aarch64-darwin": "sha256-0FBI0CGMcxyttkzrdyjJlkGAjFd/yMuAQS3pDrNXZZw=", "x86_64-linux": "sha256-j8jstEE1RsTVHJbq6f6We0An+CyJz9JH/YClyNA4mwg=" }, "fuchsia": { + "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", "aarch64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", "x86_64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", - "aarch64-darwin": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=", "x86_64-linux": "sha256-eu0BERdz53CkSexbpu3KA7O6Q4g0s9SGD3t1Snsk3Fk=" }, "ios": { + "aarch64-darwin": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=", "aarch64-linux": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=", "x86_64-darwin": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=", - "aarch64-darwin": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=", "x86_64-linux": "sha256-V3VXRX8hn45J+NhzKli+NAc3TGiSoeVQRlJte8DDbZw=" }, "linux": { + "aarch64-darwin": "sha256-LWpou3L7bAWGn8i4nDT/BZez2Uhf/LbqC2C4Z98hCHQ=", "aarch64-linux": "sha256-LWpou3L7bAWGn8i4nDT/BZez2Uhf/LbqC2C4Z98hCHQ=", "x86_64-darwin": "sha256-BzjmO4F8B9GagYPbdvoT55r+YgZcP4BUaKgJPGZDXOU=", - "aarch64-darwin": "sha256-LWpou3L7bAWGn8i4nDT/BZez2Uhf/LbqC2C4Z98hCHQ=", "x86_64-linux": "sha256-BzjmO4F8B9GagYPbdvoT55r+YgZcP4BUaKgJPGZDXOU=" }, "macos": { + "aarch64-darwin": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=", "aarch64-linux": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=", "x86_64-darwin": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=", - "aarch64-darwin": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=", "x86_64-linux": "sha256-BMFqhhy1O1hK33Pj2cxnCAzK9wwHkwT4gNbJ1GaLrnk=" }, "universal": { + "aarch64-darwin": "sha256-Emus5J3mqPv47PD6xqNUD1KpXhVkX4JpURWuYG6KC14=", "aarch64-linux": "sha256-uB2YZRjioP/koMbPvaBHsezjPO0w5a+BpxZaDuiINIY=", "x86_64-darwin": "sha256-Qwf12gMqrW5nDC9Is08oxWTbKMptRQRAIb58JETq3xA=", - "aarch64-darwin": "sha256-Emus5J3mqPv47PD6xqNUD1KpXhVkX4JpURWuYG6KC14=", "x86_64-linux": "sha256-quSFKx7TZRJpK+4YDt5f9jwr7rZsSsaXMxhJ8vIcczQ=" }, "web": { + "aarch64-darwin": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=", "aarch64-linux": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=", "x86_64-darwin": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=", - "aarch64-darwin": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=", "x86_64-linux": "sha256-rQphVm+T4k5B4OYYw0sJwYBOsNvUOC9fu8IuvXN7hVw=" }, "windows": { + "aarch64-darwin": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=", "aarch64-linux": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=", "x86_64-darwin": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=", - "aarch64-darwin": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=", "x86_64-linux": "sha256-HL3QLwzze9aO+T/2/xbHqhKV1/ba++MuRnk206hfJdU=" } }, diff --git a/pkgs/development/compilers/flutter/versions/3_19/data.json b/pkgs/development/compilers/flutter/versions/3_19/data.json index c09d3e99a3cac..491447493db98 100644 --- a/pkgs/development/compilers/flutter/versions/3_19/data.json +++ b/pkgs/development/compilers/flutter/versions/3_19/data.json @@ -1,11 +1,12 @@ { "version": "3.19.4", "engineVersion": "a5c24f538d05aaf66f7972fb23959d8cafb9f95a", + "engineSwiftShaderHash": "sha256-J8TKwbIQ7hdWCGIu1T//MJlRzT7OTVL0MG/dmMyutPQ=", + "engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f", "channel": "stable", "engineHashes": { - "x86_64-linux": "sha256-xhihh4v9bh2ZxAewKEdhpXerLDoXFm8YO72+tGRnkCw=", - "aarch64-linux": "sha256-mUimQRg0UqvTueuDWO8Isy0FKOxJLvVZrehv4SMj0XY=", - "aarch64-darwin": "sha256-5DcD7ebrANznB++QOQOoynr1aOgJqTF8QfSihQnghoY=" + "aarch64-linux": "sha256-YTG46ZYCOu0OJGIILV6NGvIEhQU0yHNFSMR38Xvqa9E=", + "x86_64-linux": "sha256-YTG46ZYCOu0OJGIILV6NGvIEhQU0yHNFSMR38Xvqa9E=" }, "dartVersion": "3.3.2", "dartHash": { diff --git a/pkgs/development/compilers/flutter/versions/3_22/data.json b/pkgs/development/compilers/flutter/versions/3_22/data.json index 968fde9d7b27c..140b22bbcb1c6 100644 --- a/pkgs/development/compilers/flutter/versions/3_22/data.json +++ b/pkgs/development/compilers/flutter/versions/3_22/data.json @@ -1,10 +1,12 @@ { "version": "3.22.2", "engineVersion": "edd8546116457bdf1c5bdfb13ecb9463d2bb5ed4", + "engineSwiftShaderHash": "sha256-J8TKwbIQ7hdWCGIu1T//MJlRzT7OTVL0MG/dmMyutPQ=", + "engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f", "channel": "stable", "engineHashes": { - "aarch64-linux": "sha256-xPVhLxO9AgXC2+Hwm1lWRfNZhLwZHdKW92WXgv3ImZk=", - "x86_64-linux": "sha256-klODJpmlWynYx+MqqGGeTzzPtmQTEUV47hnzjIVDCK8=" + "aarch64-linux": "sha256-OPgevqdMwKhXml+PS5Z1DW0wg843NVN57CiLbXve8kE=", + "x86_64-linux": "sha256-OPgevqdMwKhXml+PS5Z1DW0wg843NVN57CiLbXve8kE=" }, "dartVersion": "3.4.3", "dartHash": { diff --git a/pkgs/development/compilers/flutter/versions/3_23/data.json b/pkgs/development/compilers/flutter/versions/3_23/data.json index 3c3fedbdecaeb..a4087fea903ec 100644 --- a/pkgs/development/compilers/flutter/versions/3_23/data.json +++ b/pkgs/development/compilers/flutter/versions/3_23/data.json @@ -1,9 +1,12 @@ { "version": "3.23.0-0.1.pre", "engineVersion": "bb10c5466638e963479ba5e64e601e42d1a43447", + "engineSwiftShaderHash": "sha256-J8TKwbIQ7hdWCGIu1T//MJlRzT7OTVL0MG/dmMyutPQ=", + "engineSwiftShaderRev": "2fa7e9b99ae4e70ea5ae2cc9c8d3afb43391384f", "channel": "beta", "engineHashes": { - "aarch64-linux": "sha256-WHWxYOHd3jxE5CQNt0+9qxlsCLK5y9iJsVERtJ4Ylbk=" + "aarch64-linux": "sha256-g169BDV6NtiyriMSgK3GOwhkVi9X23SqB9HOxxtGPK4=", + "x86_64-linux": "sha256-g169BDV6NtiyriMSgK3GOwhkVi9X23SqB9HOxxtGPK4=" }, "dartVersion": "3.5.0-180.3.beta", "dartHash": { diff --git a/pkgs/development/compilers/flutter/wrapper.nix b/pkgs/development/compilers/flutter/wrapper.nix index 4b20cf7f43f06..c988eba2e5aeb 100644 --- a/pkgs/development/compilers/flutter/wrapper.nix +++ b/pkgs/development/compilers/flutter/wrapper.nix @@ -7,7 +7,7 @@ "universal" "web" ] - ++ lib.optional stdenv.hostPlatform.isLinux "linux" + ++ lib.optional (stdenv.hostPlatform.isLinux && !(flutter ? engine)) "linux" ++ lib.optional (stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isDarwin) "android" ++ lib.optionals stdenv.hostPlatform.isDarwin [ "macos" "ios" ] , artifactHashes ? flutter.artifactHashes @@ -147,7 +147,7 @@ in --set-default ANDROID_EMULATOR_USE_SYSTEM_LIBS 1 \ '' + lib.optionalString (flutter ? engine && flutter.engine.meta.available) '' --set-default FLUTTER_ENGINE "${flutter.engine}" \ - --add-flags "--local-engine-host host_${flutter.engine.runtimeMode}${lib.optionalString (!flutter.engine.isOptimized) "_unopt"}" \ + --add-flags "--local-engine-host ${flutter.engine.outName}" \ '' + '' --suffix PATH : '${lib.makeBinPath (tools ++ buildTools)}' \ --suffix PKG_CONFIG_PATH : "$FLUTTER_PKG_CONFIG_PATH" \ --suffix LIBRARY_PATH : '${lib.makeLibraryPath appStaticBuildDeps}' \ diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix index 51e0c685a43d2..7e44794620c03 100644 --- a/pkgs/development/libraries/gtest/default.nix +++ b/pkgs/development/libraries/gtest/default.nix @@ -3,6 +3,21 @@ , fetchFromGitHub , cmake , ninja +# Enable C++17 support +# https://github.com/google/googletest/issues/3081 +# Projects that require a higher standard can override this package. +# For an example why that may be necessary, see: +# https://github.com/mhx/dwarfs/issues/188#issuecomment-1907574427 +# Setting this to `null` does not pass any flags to set this. +, cxx_standard ? ( + if ( + (stdenv.cc.isGNU && (lib.versionOlder stdenv.cc.version "11.0")) + || + (stdenv.cc.isClang && (lib.versionOlder stdenv.cc.version "16.0")) + ) + then "17" + else null + ) , static ? stdenv.hostPlatform.isStatic, }: @@ -27,13 +42,8 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}" - ] ++ lib.optionals ( - (stdenv.cc.isGNU && (lib.versionOlder stdenv.cc.version "11.0")) - || (stdenv.cc.isClang && (lib.versionOlder stdenv.cc.version "16.0")) - ) [ - # Enable C++17 support - # https://github.com/google/googletest/issues/3081 - "-DCMAKE_CXX_STANDARD=17" + ] ++ lib.optionals (cxx_standard != null) [ + "-DCMAKE_CXX_STANDARD=${cxx_standard}" ]; meta = with lib; { diff --git a/pkgs/development/python-modules/slackclient/default.nix b/pkgs/development/python-modules/slackclient/default.nix index a53a43ce80c57..9f1d3e92c08d6 100644 --- a/pkgs/development/python-modules/slackclient/default.nix +++ b/pkgs/development/python-modules/slackclient/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { pname = "slackclient"; - version = "3.28.0"; + version = "3.29.0"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -31,7 +31,7 @@ buildPythonPackage rec { owner = "slackapi"; repo = "python-slack-sdk"; rev = "refs/tags/v${version}"; - hash = "sha256-rsJLjqP1XT1JkFz3iQovF58XdkmVcL+jfjiiI9SqonE="; + hash = "sha256-49dSRg0nrTXuXfnrC2/3p/zYMxouXO9FLqSBSxg4TcU="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/rocm-modules/5/clr/default.nix b/pkgs/development/rocm-modules/5/clr/default.nix index 0c702dace2b81..49857e9d26f5a 100644 --- a/pkgs/development/rocm-modules/5/clr/default.nix +++ b/pkgs/development/rocm-modules/5/clr/default.nix @@ -114,6 +114,10 @@ in stdenv.mkDerivation (finalAttrs: { substituteInPlace hipamd/src/hip_embed_pch.sh \ --replace "\''$LLVM_DIR/bin/clang" "${clang}/bin/clang" + + substituteInPlace opencl/khronos/icd/loader/icd_platform.h \ + --replace-fail '#define ICD_VENDOR_PATH "/etc/OpenCL/vendors/";' \ + '#define ICD_VENDOR_PATH "/run/opengl-driver/etc/OpenCL/vendors/";' ''; postInstall = '' diff --git a/pkgs/development/rocm-modules/6/clr/default.nix b/pkgs/development/rocm-modules/6/clr/default.nix index dedda194c8280..7d80242ccbda0 100644 --- a/pkgs/development/rocm-modules/6/clr/default.nix +++ b/pkgs/development/rocm-modules/6/clr/default.nix @@ -138,6 +138,10 @@ in stdenv.mkDerivation (finalAttrs: { # https://lists.debian.org/debian-ai/2024/02/msg00178.html substituteInPlace rocclr/utils/flags.hpp \ --replace-fail "HIP_USE_RUNTIME_UNBUNDLER, false" "HIP_USE_RUNTIME_UNBUNDLER, true" + + substituteInPlace opencl/khronos/icd/loader/icd_platform.h \ + --replace-fail '#define ICD_VENDOR_PATH "/etc/OpenCL/vendors/";' \ + '#define ICD_VENDOR_PATH "/run/opengl-driver/etc/OpenCL/vendors/";' ''; postInstall = '' diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix index 349b44730b8a2..c5e3b43eea061 100644 --- a/pkgs/development/tools/analysis/lcov/default.nix +++ b/pkgs/development/tools/analysis/lcov/default.nix @@ -1,18 +1,42 @@ - {lib, stdenv, fetchFromGitHub, perl, perlPackages, makeWrapper }: +{ + lib, + stdenv, + fetchFromGitHub, + perl, + python3, + perlPackages, + makeWrapper, +}: +let + perlDeps = [ + perlPackages.CaptureTiny + perlPackages.DateTime + perlPackages.DateTimeFormatW3CDTF + perlPackages.DevelCover + perlPackages.GD + perlPackages.JSONXS + perlPackages.MemoryProcess + perlPackages.PathTools + ]; +in stdenv.mkDerivation rec { pname = "lcov"; - version = "1.16"; + version = "2.1"; src = fetchFromGitHub { owner = "linux-test-project"; repo = "lcov"; rev = "v${version}"; - sha256 = "sha256-X1T5OqR6NgTNGedH1on3+XZ7369007By6tRJK8xtmbk="; + hash = "sha256-QfA+mzLfpi2fuhcPvCKO7YnPef1GMhCbgBWdXFTXPzE="; }; nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ perl ]; + + buildInputs = [ + perl + python3 + ]; preBuild = '' patchShebangs bin/ @@ -20,26 +44,27 @@ stdenv.mkDerivation rec { ''; postInstall = '' - wrapProgram $out/bin/lcov --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.PerlIOgzip perlPackages.JSON ]} - wrapProgram $out/bin/genpng --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.GD ]} + for f in "$out"/bin/{gen*,lcov,perl2lcov}; do + wrapProgram "$f" --set PERL5LIB ${perlPackages.makeFullPerlPath perlDeps} + done ''; - meta = with lib; { + meta = { description = "Code coverage tool that enhances GNU gcov"; - longDescription = - '' LCOV is an extension of GCOV, a GNU tool which provides information - about what parts of a program are actually executed (i.e., - "covered") while running a particular test case. The extension - consists of a set of PERL scripts which build on the textual GCOV - output to implement the following enhanced functionality such as - HTML output. - ''; + longDescription = '' + LCOV is an extension of GCOV, a GNU tool which provides information + about what parts of a program are actually executed (i.e., + "covered") while running a particular test case. The extension + consists of a set of PERL scripts which build on the textual GCOV + output to implement the following enhanced functionality such as + HTML output. + ''; - homepage = "https://ltp.sourceforge.net/coverage/lcov.php"; + homepage = "https://github.com/linux-test-project/lcov"; license = lib.licenses.gpl2Plus; - maintainers = with maintainers; [ dezgeg ]; - platforms = platforms.all; + maintainers = with lib.maintainers; [ dezgeg ]; + platforms = lib.platforms.all; }; } diff --git a/pkgs/development/tools/reindeer/default.nix b/pkgs/development/tools/reindeer/default.nix index d868c5b16b874..a11f60bf99c4a 100644 --- a/pkgs/development/tools/reindeer/default.nix +++ b/pkgs/development/tools/reindeer/default.nix @@ -11,16 +11,16 @@ rustPlatform.buildRustPackage rec { pname = "reindeer"; - version = "2024.06.10.00"; + version = "2024.06.17.00"; src = fetchFromGitHub { owner = "facebookincubator"; repo = "reindeer"; rev = "refs/tags/v${version}"; - hash = "sha256-YAWGNF4WN8/RV3GYmxjyARNk4VzTXJEa42/gaK5B4CE="; + hash = "sha256-J3ZrlX83TE63Go4qp+lMhexkuaV0ZgHNYga8qxZF0wI="; }; - cargoHash = "sha256-uNTDLQH6m4Dbk8tGyGnm0W5OK9OGaABZOq7weqtvaeU="; + cargoHash = "sha256-xqDMfGNvlyFo3v9GmESfRG+WyQKbzTojOqtYK/tMPxo="; nativeBuildInputs = [ pkg-config ]; buildInputs = diff --git a/pkgs/development/tools/rye/Cargo.lock b/pkgs/development/tools/rye/Cargo.lock index 3a7d4b0e21122..e2d27c9eade64 100644 --- a/pkgs/development/tools/rye/Cargo.lock +++ b/pkgs/development/tools/rye/Cargo.lock @@ -1799,7 +1799,7 @@ dependencies = [ [[package]] name = "rye" -version = "0.34.0" +version = "0.35.0" dependencies = [ "age", "anyhow", diff --git a/pkgs/development/tools/rye/default.nix b/pkgs/development/tools/rye/default.nix index ab191b7547be4..8414cd5f59c02 100644 --- a/pkgs/development/tools/rye/default.nix +++ b/pkgs/development/tools/rye/default.nix @@ -8,17 +8,20 @@ , CoreServices , Libsystem , SystemConfiguration +, nix-update-script +, testers +, rye }: rustPlatform.buildRustPackage rec { pname = "rye"; - version = "0.34.0"; + version = "0.35.0"; src = fetchFromGitHub { owner = "mitsuhiko"; repo = "rye"; rev = "refs/tags/${version}"; - hash = "sha256-M5TJXyh1fNigHOuBpEpnUeOWboZWxZ9bGrBuMB1oHgE="; + hash = "sha256-mkBp9iFoN1LanJrcm4VdZ9k8cWNaRZIYl10ukT4Rfqc="; }; cargoLock = { @@ -80,12 +83,17 @@ rustPlatform.buildRustPackage rec { "--skip=test_version" ]; - meta = with lib; { + passthru = { + updateScript = nix-update-script { }; + tests.version = testers.testVersion { package = rye; }; + }; + + meta = { description = "Tool to easily manage python dependencies and environments"; homepage = "https://github.com/mitsuhiko/rye"; changelog = "https://github.com/mitsuhiko/rye/releases/tag/${version}"; - license = licenses.mit; - maintainers = with maintainers; [ GaetanLepage ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ GaetanLepage ]; mainProgram = "rye"; }; } diff --git a/pkgs/games/path-of-building/default.nix b/pkgs/games/path-of-building/default.nix index 1e2a2811769a1..b3f5549c487c8 100644 --- a/pkgs/games/path-of-building/default.nix +++ b/pkgs/games/path-of-building/default.nix @@ -1,6 +1,21 @@ -{ stdenv, lib, fetchFromGitHub, unzip, meson, ninja, pkg-config, qtbase, qttools, wrapQtAppsHook, luajit }: +{ + stdenv, + lib, + fetchFromGitHub, + unzip, + meson, + ninja, + pkg-config, + qtbase, + qttools, + wrapQtAppsHook, + icoutils, + copyDesktopItems, + makeDesktopItem, + luajit, +}: let - data = stdenv.mkDerivation(finalAttrs: { + data = stdenv.mkDerivation (finalAttrs: { pname = "path-of-building-data"; version = "2.42.0"; @@ -42,12 +57,35 @@ stdenv.mkDerivation { hash = "sha256-zhw2PZ6ZNMgZ2hG+a6AcYBkeg7kbBHNc2eSt4if17Wk="; }; - nativeBuildInputs = [ meson ninja pkg-config qttools wrapQtAppsHook ]; - buildInputs = [ qtbase luajit luajit.pkgs.lua-curl ]; + nativeBuildInputs = [ + meson + ninja + pkg-config + qttools + wrapQtAppsHook + icoutils + ] ++ lib.optional stdenv.isLinux copyDesktopItems; + + buildInputs = [ + qtbase + luajit + luajit.pkgs.lua-curl + ]; installPhase = '' runHook preInstall install -Dm555 pobfrontend $out/bin/pobfrontend + + wrestool -x -t 14 ${data.src}/runtime/Path{space}of{space}Building.exe -o pathofbuilding.ico + icotool -x pathofbuilding.ico + + for size in 16 32 48 256; do + mkdir -p $out/share/icons/hicolor/"$size"x"$size"/apps + install -Dm 644 pathofbuilding*"$size"x"$size"*.png \ + $out/share/icons/hicolor/"$size"x"$size"/apps/pathofbuilding.png + done + rm pathofbuilding.ico + runHook postInstall ''; @@ -59,6 +97,27 @@ stdenv.mkDerivation { ) ''; + desktopItems = [ + (makeDesktopItem { + name = "path-of-building"; + desktopName = "Path of Building"; + comment = "Offline build planner for Path of Exile"; + exec = "pobfrontend %U"; + terminal = false; + type = "Application"; + icon = "pathofbuilding"; + categories = [ "Game" ]; + keywords = [ + "poe" + "pob" + "pobc" + "path" + "exile" + ]; + mimeTypes = [ "x-scheme-handler/pob" ]; + }) + ]; + passthru.data = data; meta = { @@ -67,6 +126,6 @@ stdenv.mkDerivation { license = lib.licenses.mit; maintainers = [ lib.maintainers.k900 ]; mainProgram = "pobfrontend"; - broken = stdenv.isDarwin; # doesn't find uic6 for some reason + broken = stdenv.isDarwin; # doesn't find uic6 for some reason }; } diff --git a/pkgs/games/stepmania/default.nix b/pkgs/games/stepmania/default.nix index bfd871a2a1c14..000b07c5433d9 100644 --- a/pkgs/games/stepmania/default.nix +++ b/pkgs/games/stepmania/default.nix @@ -11,6 +11,7 @@ , gtk2 , libmad , libogg +, libpng , libpulseaudio , libvorbis , udev @@ -51,6 +52,7 @@ stdenv.mkDerivation { gtk2 libmad libogg + libpng libpulseaudio libvorbis udev @@ -59,6 +61,7 @@ stdenv.mkDerivation { cmakeFlags = [ "-DWITH_SYSTEM_FFMPEG=1" + "-DWITH_SYSTEM_PNG=on" "-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include" "-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include" ]; @@ -79,8 +82,6 @@ stdenv.mkDerivation { platforms = platforms.linux; license = licenses.mit; # expat version maintainers = with maintainers; [ h7x4 ]; - # never built on aarch64-linux since first introduction in nixpkgs - broken = stdenv.isLinux && stdenv.isAarch64; mainProgram = "stepmania"; }; } diff --git a/pkgs/tools/filesystems/dwarfs/default.nix b/pkgs/tools/filesystems/dwarfs/default.nix index 0ee916b2d53f8..719ccd1e23d21 100644 --- a/pkgs/tools/filesystems/dwarfs/default.nix +++ b/pkgs/tools/filesystems/dwarfs/default.nix @@ -9,8 +9,10 @@ double-conversion, fmt, fuse3, + flac, glog, gtest, + howard-hinnant-date, jemalloc, libarchive, libevent, @@ -18,60 +20,59 @@ lz4, openssl, pkg-config, + python3, + range-v3, ronn, xxHash, utf8cpp, zstd, }: -let +stdenv.mkDerivation (finalAttrs: { pname = "dwarfs"; - version = "0.9.9"; -in -stdenv.mkDerivation { - inherit pname version; + version = "0.9.10"; src = fetchFromGitHub { owner = "mhx"; repo = "dwarfs"; - rev = "refs/tags/v${version}"; + rev = "refs/tags/v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-Zzm2SaFR31TBBMDfgJulVbqsJBh1He2wBFzHRC/c5vg="; + hash = "sha256-uyYNs+fDV5BfQwfX9Wi3BwiKjSDQHAKRJ1+UvS/fHoE="; }; - patches = [ - ( - with lib.versions; - substituteAll { - src = ./version_info.patch; + cmakeFlags = [ + "-DNIXPKGS_DWARFS_VERSION_OVERRIDE=v${finalAttrs.version}" # see https://github.com/mhx/dwarfs/issues/155 - versionFull = version; # displayed as version number (with v prepended) - versionMajor = major version; - versionMinor = minor version; - versionPatch = patch version; - } - ) - ]; + # Needs to be set so `dwarfs` does not try to download `gtest`; it is not + # a submodule, see: https://github.com/mhx/dwarfs/issues/188#issuecomment-1907657083 + "-DPREFER_SYSTEM_GTEST=ON" - cmakeFlags = [ + # These should no longer be necessary with a version > 0.9.10: + # * https://github.com/mhx/dwarfs/commit/593b22a8a90eb66c0898ae06f097f32f4bf3dfd4 + # * https://github.com/mhx/dwarfs/commit/6e9608b2b01be13e41e6b728aae537c14c00ad82 + # * https://github.com/mhx/dwarfs/commit/ce4bee1ad63c666da57d2cdae9fd65214d8dab7f + "-DPREFER_SYSTEM_LIBFMT=ON" "-DPREFER_SYSTEM_ZSTD=ON" "-DPREFER_SYSTEM_XXHASH=ON" - "-DPREFER_SYSTEM_GTEST=ON" - "-DPREFER_SYSTEM_LIBFMT=ON" # may be added under an option in the future # "-DWITH_LEGACY_FUSE=ON" + "-DWITH_TESTS=ON" ]; nativeBuildInputs = [ bison cmake + howard-hinnant-date # uses only the header-only parts pkg-config + range-v3 # header-only library ronn + (python3.withPackages (ps: [ ps.mistletoe ])) # for man pages ]; buildInputs = [ # dwarfs boost + flac # optional; allows automatic audio compression fmt fuse3 jemalloc @@ -90,17 +91,32 @@ stdenv.mkDerivation { ]; doCheck = true; - nativeCheckInputs = [ gtest ]; + nativeCheckInputs = [ + # https://github.com/mhx/dwarfs/issues/188#issuecomment-1907574427 + # `dwarfs` sets C++20 as the minimum, see + # https://github.com/mhx/dwarfs/blob/2cb5542a5d4274225c5933370adcf00035f6c974/CMakeLists.txt#L129 + # Thus the `gtest` headers, when included, + # refer to symbols that only exist in `.so` files compiled with that version. + (gtest.override { cxx_standard = "20"; }) + ]; # these fail inside of the sandbox due to missing access # to the FUSE device - GTEST_FILTER = "-dwarfs/tools_test.end_to_end/*:dwarfs/tools_test.mutating_ops/*"; + GTEST_FILTER = + let + disabledTests = [ + "dwarfs/tools_test.end_to_end/*" + "dwarfs/tools_test.mutating_and_error_ops/*" + "dwarfs/tools_test.categorize/*" + ]; + in + "-${lib.concatStringsSep ":" disabledTests}"; meta = { description = "Fast high compression read-only file system"; homepage = "https://github.com/mhx/dwarfs"; - changelog = "https://github.com/mhx/dwarfs/blob/v${version}/CHANGES.md"; + changelog = "https://github.com/mhx/dwarfs/blob/v${finalAttrs.version}/CHANGES.md"; license = lib.licenses.gpl3Plus; maintainers = [ lib.maintainers.luftmensch-luftmensch ]; platforms = lib.platforms.linux; }; -} +}) diff --git a/pkgs/tools/filesystems/dwarfs/version_info.patch b/pkgs/tools/filesystems/dwarfs/version_info.patch deleted file mode 100644 index 8d62bd8d22957..0000000000000 --- a/pkgs/tools/filesystems/dwarfs/version_info.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/cmake/package_version.cmake b/cmake/package_version.cmake -new file mode 100644 -index 0000000..d4fdb9c ---- /dev/null -+++ b/cmake/package_version.cmake -@@ -0,0 +1,12 @@ -+# autogenerated code, do not modify -+ -+set(PRJ_GIT_REV "v@versionFull@") -+set(PRJ_GIT_DESC "v@versionFull@") -+set(PRJ_GIT_BRANCH "HEAD") -+set(PRJ_GIT_ID "v@versionFull@") -+set(PRJ_GIT_RELEASE_TAG "v@versionFull@") -+set(PRJ_VERSION_FULL "@versionFull@") -+set(PRJ_VERSION_SHORT "@versionFull@") -+set(PRJ_VERSION_MAJOR "@versionMajor@") -+set(PRJ_VERSION_MINOR "@versionMinor@") -+set(PRJ_VERSION_PATCH "@versionPatch@") -diff --git a/include/dwarfs/version.h b/include/dwarfs/version.h -new file mode 100644 -index 0000000..54cf86a ---- /dev/null -+++ b/include/dwarfs/version.h -@@ -0,0 +1,16 @@ -+// autogenerated code, do not modify -+ -+#pragma once -+ -+#define PRJ_VERSION_MAJOR @versionMajor@ -+#define PRJ_VERSION_MINOR @versionMinor@ -+#define PRJ_VERSION_PATCH @versionPatch@ -+ -+namespace dwarfs { -+ -+extern char const* PRJ_GIT_REV; -+extern char const* PRJ_GIT_DESC; -+extern char const* PRJ_GIT_BRANCH; -+extern char const* PRJ_GIT_ID; -+ -+} // namespace dwarfs -diff --git a/src/dwarfs/version.cpp b/src/dwarfs/version.cpp -new file mode 100644 -index 0000000..5759120 ---- /dev/null -+++ b/src/dwarfs/version.cpp -@@ -0,0 +1,12 @@ -+// autogenerated code, do not modify -+ -+#include "dwarfs/version.h" -+ -+namespace dwarfs { -+ -+char const* PRJ_GIT_REV = "@versionFull@"; -+char const* PRJ_GIT_DESC = "v@versionFull@"; -+char const* PRJ_GIT_BRANCH = "HEAD"; -+char const* PRJ_GIT_ID = "v@versionFull@"; -+ -+} // namespace dwarfs diff --git a/pkgs/tools/misc/wyrd/default.nix b/pkgs/tools/misc/wyrd/default.nix index 8f5ad8268e693..18647cae1a232 100644 --- a/pkgs/tools/misc/wyrd/default.nix +++ b/pkgs/tools/misc/wyrd/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { downloadPage = "http://pessimization.com/software/wyrd/"; license = licenses.gpl2Only; maintainers = [ maintainers.prikhi ]; - platforms = platforms.linux; + platforms = platforms.unix; mainProgram = "wyrd"; }; } diff --git a/pkgs/tools/package-management/nix-eval-jobs/2.19.nix b/pkgs/tools/package-management/nix-eval-jobs/2.19.nix deleted file mode 100644 index bf2d48e4adfb1..0000000000000 --- a/pkgs/tools/package-management/nix-eval-jobs/2.19.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ lib -, boost -, cmake -, fetchFromGitHub -, meson -, ninja -, nix -, nlohmann_json -, pkg-config -, stdenv -}: -stdenv.mkDerivation rec { - pname = "nix-eval-jobs"; - version = "2.19.4"; - src = fetchFromGitHub { - owner = "nix-community"; - repo = pname; - rev = "v${version}"; - hash = "sha256-97ZqhTMqnAr1rzEy96faceWzFyWexnYbH1aTfc1y0JE="; - }; - buildInputs = [ - boost - nix - nlohmann_json - ]; - nativeBuildInputs = [ - meson - ninja - pkg-config - # nlohmann_json can be only discovered via cmake files - cmake - ]; - - # Since this package is intimately tied to a specific Nix release, we - # propagate the Nix used for building it to make it easier for users - # downstream to reference it. - passthru = { inherit nix; }; - - meta = { - description = "Hydra's builtin hydra-eval-jobs as a standalone"; - homepage = "https://github.com/nix-community/nix-eval-jobs"; - license = lib.licenses.gpl3; - maintainers = with lib.maintainers; [ adisbladis mic92 ]; - platforms = lib.platforms.unix; - mainProgram = "nix-eval-jobs"; - }; -} diff --git a/pkgs/tools/package-management/nix-eval-jobs/default.nix b/pkgs/tools/package-management/nix-eval-jobs/default.nix index 15a095f6c3b13..0417b5c294dec 100644 --- a/pkgs/tools/package-management/nix-eval-jobs/default.nix +++ b/pkgs/tools/package-management/nix-eval-jobs/default.nix @@ -4,6 +4,7 @@ , fetchFromGitHub , meson , ninja +, curl , nix , nlohmann_json , pkg-config @@ -11,16 +12,17 @@ }: stdenv.mkDerivation rec { pname = "nix-eval-jobs"; - version = "2.22.0"; + version = "2.22.1"; src = fetchFromGitHub { owner = "nix-community"; repo = pname; rev = "v${version}"; - hash = "sha256-Foi9FUuwKBUVExR3uEJEGsNRCGkkoNDj0yEhASanGCM="; + hash = "sha256-zvi2YfvlOLtui2JFhPs2qybpnJR3/2luMfp8t/eMh54="; }; buildInputs = [ boost nix + curl nlohmann_json ]; nativeBuildInputs = [ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d73147b591362..d8062073bc279 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -740,14 +740,6 @@ with pkgs; protoc-gen-connect-go = callPackage ../development/tools/protoc-gen-connect-go { }; - protoc-gen-prost = callPackage ../development/tools/protoc-gen-prost { }; - - protoc-gen-prost-crate = callPackage ../development/tools/protoc-gen-prost-crate { }; - - protoc-gen-prost-serde = callPackage ../development/tools/protoc-gen-prost-serde { }; - - protoc-gen-tonic = callPackage ../development/tools/protoc-gen-tonic { }; - protoc-gen-twirp = callPackage ../development/tools/protoc-gen-twirp { }; protoc-gen-twirp_php = callPackage ../development/tools/protoc-gen-twirp_php { }; @@ -39471,14 +39463,9 @@ with pkgs; dnadd = callPackage ../tools/nix/dnadd { }; - nix-eval-jobs = if stdenv.isDarwin then - callPackage ../tools/package-management/nix-eval-jobs/2.19.nix { - nix = nixVersions.nix_2_19; - } - else - callPackage ../tools/package-management/nix-eval-jobs { - nix = nixVersions.nix_2_22; - }; + nix-eval-jobs = callPackage ../tools/package-management/nix-eval-jobs { + nix = nixVersions.nix_2_22; + }; nix-doc = callPackage ../tools/package-management/nix-doc { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index b12151969676f..e77b3f90a4822 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -6966,6 +6966,22 @@ with self; { }; }; + DevelCover = buildPerlPackage { + pname = "Devel-Cover"; + version = "1.44"; + src = fetchurl { + url = "mirror://cpan/authors/id/P/PJ/PJCJ/Devel-Cover-1.44.tar.gz"; + hash = "sha256-9AwVQ5kuXWWm94AD1GLVms15rm0w04BHscadmZ0rH9g="; + }; + propagatedBuildInputs = [ HTMLParser ]; + doCheck = false; + meta = { + description = "Code coverage metrics for Perl"; + homepage = "http://www.pjcj.net/perl.html"; + license = with lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + DevelDeprecationsEnvironmental = buildPerlPackage { pname = "Devel-Deprecations-Environmental"; version = "1.101"; @@ -15650,6 +15666,36 @@ with self; { }; }; + MemoryProcess = buildPerlPackage { + pname = "Memory-Process"; + version = "0.06"; + src = fetchurl { + url = "mirror://cpan/authors/id/S/SK/SKIM/Memory-Process-0.06.tar.gz"; + hash = "sha256-NYFEiP/SnJdiFiXqOz1wCvv6YO0FW9dZ1OWNnI/UTk4="; + }; + buildInputs = [ CaptureTiny TestNoWarnings ]; + propagatedBuildInputs = [ MemoryUsage Readonly ]; + meta = { + description = "Memory process reporting"; + homepage = "https://github.com/michal-josef-spacek/Memory-Process"; + license = lib.licenses.bsd3; + platforms = lib.platforms.linux; + }; + }; + + MemoryUsage = buildPerlPackage { + pname = "Memory-Usage"; + version = "0.201"; + src = fetchurl { + url = "mirror://cpan/authors/id/D/DO/DONEILL/Memory-Usage-0.201.tar.gz"; + hash = "sha256-jyr60h5Ap0joHIwPPkDKcYwU3bn7LYgL+9KK6RPOU0k="; + }; + meta = { + description = "Tools to determine actual memory usage"; + license = with lib.licenses; [ artistic1 gpl1Plus ]; + }; + }; + Menlo = buildPerlPackage { pname = "Menlo"; version = "1.9019"; |