diff --git a/.github/workflows/codeowners.yml b/.github/workflows/codeowners.yml index 164b5a1136f2..56588d45c9cd 100644 --- a/.github/workflows/codeowners.yml +++ b/.github/workflows/codeowners.yml @@ -25,6 +25,13 @@ jobs: steps: - uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30 + - uses: cachix/cachix-action@ad2ddac53f961de1989924296a1f236fcfbaa4fc # v15 + if: github.repository_owner == 'NixOS' + with: + # This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere. + name: nixpkgs-ci + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + # Important: Because we use pull_request_target, this checks out the base branch of the PR, not the PR itself. # We later build and run code from the base branch with access to secrets, # so it's important this is not the PRs code. diff --git a/.github/workflows/nixpkgs-vet.yml b/.github/workflows/nixpkgs-vet.yml index 7bfe973a8c36..f08af86822ca 100644 --- a/.github/workflows/nixpkgs-vet.yml +++ b/.github/workflows/nixpkgs-vet.yml @@ -26,52 +26,22 @@ jobs: # This should take 1 minute at most, but let's be generous. The default of 6 hours is definitely too long. timeout-minutes: 10 steps: - # This step has to be in this file, because it's needed to determine which revision of the repository to fetch, and we can only use other files from the repository once it's fetched. + # This checks out the base branch because of pull_request_target + - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + with: + path: base + sparse-checkout: ci - name: Resolving the merge commit env: GH_TOKEN: ${{ github.token }} run: | - # This checks for mergeability of a pull request as recommended in - # https://docs.github.com/en/rest/guides/using-the-rest-api-to-interact-with-your-git-database?apiVersion=2022-11-28#checking-mergeability-of-pull-requests - - # Retry the API query this many times - retryCount=5 - # Start with 5 seconds, but double every retry - retryInterval=5 - while true; do - echo "Checking whether the pull request can be merged" - prInfo=$(gh api \ - -H "Accept: application/vnd.github+json" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - /repos/"$GITHUB_REPOSITORY"/pulls/${{ github.event.pull_request.number }}) - mergeable=$(jq -r .mergeable <<< "$prInfo") - mergedSha=$(jq -r .merge_commit_sha <<< "$prInfo") - - if [[ "$mergeable" == "null" ]]; then - if (( retryCount == 0 )); then - echo "Not retrying anymore. It's likely that GitHub is having internal issues: check https://www.githubstatus.com/" - exit 1 - else - (( retryCount -= 1 )) || true - - # null indicates that GitHub is still computing whether it's mergeable - # Wait a couple seconds before trying again - echo "GitHub is still computing whether this PR can be merged, waiting $retryInterval seconds before trying again ($retryCount retries left)" - sleep "$retryInterval" - - (( retryInterval *= 2 )) || true - fi - else - break - fi - done - - if [[ "$mergeable" == "true" ]]; then - echo "The PR can be merged, checking the merge commit $mergedSha" + if mergedSha=$(base/ci/get-merge-commit.sh ${{ github.repository }} ${{ github.event.number }}); then + echo "Checking the merge commit $mergedSha" echo "mergedSha=$mergedSha" >> "$GITHUB_ENV" else - echo "The PR cannot be merged, it has a merge conflict, skipping the rest.." + echo "Skipping the rest..." fi + rm -rf base - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 if: env.mergedSha with: diff --git a/ci/README.md b/ci/README.md index 40c3d0ed344b..11b53c6095e6 100644 --- a/ci/README.md +++ b/ci/README.md @@ -41,3 +41,58 @@ Why not just build the tooling right from the PRs Nixpkgs version? - Because it improves security, since we don't have to build potentially untrusted code from PRs. The tool only needs a very minimal Nix evaluation at runtime, which can work with [readonly-mode](https://nixos.org/manual/nix/stable/command-ref/opt-common.html#opt-readonly-mode) and [restrict-eval](https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-restrict-eval). +## `get-merge-commit.sh GITHUB_REPO PR_NUMBER` + +Check whether a PR is mergeable and return the test merge commit as +[computed by GitHub](https://docs.github.com/en/rest/guides/using-the-rest-api-to-interact-with-your-git-database?apiVersion=2022-11-28#checking-mergeability-of-pull-requests). + +Arguments: +- `GITHUB_REPO`: The repository of the PR, e.g. `NixOS/nixpkgs` +- `PR_NUMBER`: The PR number, e.g. `1234` + +Exit codes: +- 0: The PR can be merged, the test merge commit hash is returned on stdout +- 1: The PR cannot be merged because it's not open anymore +- 2: The PR cannot be merged because it has a merge conflict +- 3: The merge commit isn't being computed, GitHub is likely having internal issues, unknown if the PR is mergeable + +### Usage + +This script can be used in GitHub Actions workflows as follows: + +```yaml +on: pull_request_target + +# We need a token to query the API, but it doesn't need any special permissions +permissions: {} + +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + # Important: Because of `pull_request_target`, this doesn't check out the PR, + # but rather the base branch of the PR, which is needed so we don't run untrusted code + - uses: actions/checkout@ + with: + path: base + sparse-checkout: ci + - name: Resolving the merge commit + env: + GH_TOKEN: ${{ github.token }} + run: | + if mergedSha=$(base/ci/get-merge-commit.sh ${{ github.repository }} ${{ github.event.number }}); then + echo "Checking the merge commit $mergedSha" + echo "mergedSha=$mergedSha" >> "$GITHUB_ENV" + else + # Skipping so that no notifications are sent + echo "Skipping the rest..." + fi + rm -rf base + - uses: actions/checkout@ + # Add this to _all_ subsequent steps to skip them + if: env.mergedSha + with: + ref: ${{ env.mergedSha }} + - ... +``` diff --git a/ci/get-merge-commit.sh b/ci/get-merge-commit.sh new file mode 100755 index 000000000000..c62bb56dd993 --- /dev/null +++ b/ci/get-merge-commit.sh @@ -0,0 +1,62 @@ +#!/usr/bin/env bash +# See ./README.md for docs + +set -euo pipefail + +log() { + echo "$@" >&2 +} + +if (( $# < 2 )); then + log "Usage: $0 GITHUB_REPO PR_NUMBER" + exit 99 +fi +repo=$1 +prNumber=$2 + +# Retry the API query this many times +retryCount=5 +# Start with 5 seconds, but double every retry +retryInterval=5 + +while true; do + log "Checking whether the pull request can be merged" + prInfo=$(gh api \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + "/repos/$repo/pulls/$prNumber") + + # Non-open PRs won't have their mergeability computed no matter what + state=$(jq -r .state <<< "$prInfo") + if [[ "$state" != open ]]; then + log "PR is not open anymore" + exit 1 + fi + + mergeable=$(jq -r .mergeable <<< "$prInfo") + if [[ "$mergeable" == "null" ]]; then + if (( retryCount == 0 )); then + log "Not retrying anymore. It's likely that GitHub is having internal issues: check https://www.githubstatus.com/" + exit 3 + else + (( retryCount -= 1 )) || true + + # null indicates that GitHub is still computing whether it's mergeable + # Wait a couple seconds before trying again + log "GitHub is still computing whether this PR can be merged, waiting $retryInterval seconds before trying again ($retryCount retries left)" + sleep "$retryInterval" + + (( retryInterval *= 2 )) || true + fi + else + break + fi +done + +if [[ "$mergeable" == "true" ]]; then + log "The PR can be merged" + jq -r .merge_commit_sha <<< "$prInfo" +else + log "The PR has a merge conflict" + exit 2 +fi diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 7b0e36de4a3c..a0df938571f1 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -18403,6 +18403,18 @@ githubId = 1217934; name = "JosΓ© Romildo Malaquias"; }; + romner-set = { + email = "admin@cynosure.red"; + github = "romner-set"; + githubId = 41077433; + name = "romner-set"; + keys = [ + { + # uploaded to https://keys.openpgp.org + fingerprint = "4B75 244B 0279 9598 FF3B C21F 95FC 58F1 8CFD FAB0"; + } + ]; + }; ronanmacf = { email = "macfhlar@tcd.ie"; github = "RonanMacF"; diff --git a/nixos/modules/hardware/video/webcam/ipu6.nix b/nixos/modules/hardware/video/webcam/ipu6.nix index ae54e24ee2da..803902530dd9 100644 --- a/nixos/modules/hardware/video/webcam/ipu6.nix +++ b/nixos/modules/hardware/video/webcam/ipu6.nix @@ -26,9 +26,9 @@ in config = mkIf cfg.enable { - # Module is upstream as of 6.10 - boot.extraModulePackages = with config.boot.kernelPackages; - optional (kernelOlder "6.10") ipu6-drivers; + # Module is upstream as of 6.10, + # but still needs various out-of-tree i2c and the `intel-ipu6-psys` kernel driver + boot.extraModulePackages = with config.boot.kernelPackages; [ ipu6-drivers ]; hardware.firmware = with pkgs; [ ipu6-camera-bins diff --git a/nixos/modules/services/desktop-managers/lomiri.nix b/nixos/modules/services/desktop-managers/lomiri.nix index 310657179fea..75834eab0cd8 100644 --- a/nixos/modules/services/desktop-managers/lomiri.nix +++ b/nixos/modules/services/desktop-managers/lomiri.nix @@ -16,7 +16,6 @@ in { libayatana-common ubports-click ]) ++ (with pkgs.lomiri; [ - content-hub hfd-service history-service libusermetrics @@ -24,6 +23,7 @@ in { lomiri-calculator-app lomiri-camera-app lomiri-clock-app + lomiri-content-hub lomiri-docviewer-app lomiri-download-manager lomiri-filemanager-app @@ -129,7 +129,7 @@ in { environment.pathsToLink = [ # Configs for inter-app data exchange system - "/share/content-hub/peers" + "/share/lomiri-content-hub/peers" # Configs for inter-app URL requests "/share/lomiri-url-dispatcher/urls" # Splash screens & other images for desktop apps launched via lomiri-app-launch @@ -194,10 +194,6 @@ in { }; users.groups.usermetrics = { }; - - # TODO content-hub cannot pass files between applications without asking AA for permissions. And alot of the Lomiri stack is designed with AA availability in mind. This might be a requirement to be closer to upstream? - # But content-hub currently fails to pass files between applications even with AA enabled, and we can get away without AA in many places. Let's see how this develops before requiring this for good. - # security.apparmor.enable = true; }; meta.maintainers = lib.teams.lomiri.members; diff --git a/nixos/modules/services/web-apps/mastodon.nix b/nixos/modules/services/web-apps/mastodon.nix index 5c383e9f16ab..a3a2bbd1eca6 100644 --- a/nixos/modules/services/web-apps/mastodon.nix +++ b/nixos/modules/services/web-apps/mastodon.nix @@ -12,9 +12,12 @@ let RAILS_ENV = "production"; NODE_ENV = "production"; + BOOTSNAP_CACHE_DIR="/var/cache/mastodon/precompile"; LD_PRELOAD = "${pkgs.jemalloc}/lib/libjemalloc.so"; - # mastodon-web concurrency. + MASTODON_USE_LIBVIPS = "true"; + + # Concurrency mastodon-web WEB_CONCURRENCY = toString cfg.webProcesses; MAX_THREADS = toString cfg.webThreads; @@ -24,7 +27,7 @@ let DB_NAME = cfg.database.name; LOCAL_DOMAIN = cfg.localDomain; SMTP_SERVER = cfg.smtp.host; - SMTP_PORT = toString(cfg.smtp.port); + SMTP_PORT = toString cfg.smtp.port; SMTP_FROM_ADDRESS = cfg.smtp.fromAddress; PAPERCLIP_ROOT_PATH = "/var/lib/mastodon/public-system"; PAPERCLIP_ROOT_URL = "/system"; @@ -33,12 +36,12 @@ let TRUSTED_PROXY_IP = cfg.trustedProxy; } // lib.optionalAttrs (cfg.redis.host != null) { REDIS_HOST = cfg.redis.host; } - // lib.optionalAttrs (cfg.redis.port != null) { REDIS_PORT = toString(cfg.redis.port); } + // lib.optionalAttrs (cfg.redis.port != null) { REDIS_PORT = toString cfg.redis.port; } // lib.optionalAttrs (cfg.redis.createLocally && cfg.redis.enableUnixSocket) { REDIS_URL = "unix://${config.services.redis.servers.mastodon.unixSocket}"; } // lib.optionalAttrs (cfg.database.host != "/run/postgresql" && cfg.database.port != null) { DB_PORT = toString cfg.database.port; } // lib.optionalAttrs cfg.smtp.authenticate { SMTP_LOGIN = cfg.smtp.user; } // lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_HOST = cfg.elasticsearch.host; } - // lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PORT = toString(cfg.elasticsearch.port); } + // lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PORT = toString cfg.elasticsearch.port; } // lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PRESET = cfg.elasticsearch.preset; } // lib.optionalAttrs (cfg.elasticsearch.user != null) { ES_USER = cfg.elasticsearch.user; } // cfg.extraConfig; @@ -51,6 +54,9 @@ let Group = cfg.group; # Working directory WorkingDirectory = cfg.package; + # Cache directory and mode + CacheDirectory = "mastodon"; + CacheDirectoryMode = "0750"; # State directory and mode StateDirectory = "mastodon"; StateDirectoryMode = "0750"; @@ -127,7 +133,7 @@ let description = "Mastodon sidekiq${jobClassLabel}"; wantedBy = [ "mastodon.target" ]; environment = env // { - PORT = toString(cfg.sidekiqPort); + PORT = toString cfg.sidekiqPort; DB_POOL = threads; }; serviceConfig = { @@ -309,7 +315,7 @@ in { Voluntary Application Server Identification. A new keypair can be generated by running: - `nix build -f '' mastodon; cd result; bin/rake webpush:generate_keys` + `nix build -f '' mastodon; cd result; RAILS_ENV=production bin/rake webpush:generate_keys` If {option}`mastodon.vapidPrivateKeyFile`does not exist, it and this file will be created with a new keypair. @@ -324,12 +330,57 @@ in { type = lib.types.str; }; + activeRecordEncryptionDeterministicKeyFile = lib.mkOption { + description = '' + This key must be set to enable the Active Record Encryption feature within + Rails that Mastodon uses to encrypt and decrypt some database attributes. + A new Active Record keys can be generated by running: + + `nix build -f '' mastodon; cd result; RAILS_ENV=production ./bin/rails db:encryption:init` + + If this file does not exist, it will be created with a new Active Record + keys. + ''; + default = "/var/lib/mastodon/secrets/active-record-encryption-deterministic-key"; + type = lib.types.str; + }; + + activeRecordEncryptionKeyDerivationSaltFile = lib.mkOption { + description = '' + This key must be set to enable the Active Record Encryption feature within + Rails that Mastodon uses to encrypt and decrypt some database attributes. + A new Active Record keys can be generated by running: + + `nix build -f '' mastodon; cd result; RAILS_ENV=production ./bin/rails db:encryption:init` + + If this file does not exist, it will be created with a new Active Record + keys. + ''; + default = "/var/lib/mastodon/secrets/active-record-encryption-key-derivation-salt"; + type = lib.types.str; + }; + + activeRecordEncryptionPrimaryKeyFile = lib.mkOption { + description = '' + This key must be set to enable the Active Record Encryption feature within + Rails that Mastodon uses to encrypt and decrypt some database attributes. + A new Active Record keys can be generated by running: + + `nix build -f '' mastodon; cd result; RAILS_ENV=production ./bin/rails db:encryption:init` + + If this file does not exist, it will be created with a new Active Record + keys. + ''; + default = "/var/lib/mastodon/secrets/active-record-encryption-primary-key"; + type = lib.types.str; + }; + secretKeyBaseFile = lib.mkOption { description = '' Path to file containing the secret key base. A new secret key base can be generated by running: - `nix build -f '' mastodon; cd result; bin/rake secret` + `nix build -f '' mastodon; cd result; bin/bundle exec rails secret` If this file does not exist, it will be created with a new secret key base. ''; @@ -342,7 +393,7 @@ in { Path to file containing the OTP secret. A new OTP secret can be generated by running: - `nix build -f '' mastodon; cd result; bin/rake secret` + `nix build -f '' mastodon; cd result; bin/bundle exec rails secret` If this file does not exist, it will be created with a new OTP secret. ''; @@ -708,13 +759,28 @@ in { script = '' umask 077 + if ! test -d /var/cache/mastodon/precompile; then + ${cfg.package}/bin/bundle exec bootsnap precompile --gemfile ${cfg.package}/app ${cfg.package}/lib + fi + if ! test -f ${cfg.activeRecordEncryptionDeterministicKeyFile}; then + mkdir -p $(dirname ${cfg.activeRecordEncryptionDeterministicKeyFile}) + bin/rails db:encryption:init | grep --only-matching "ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=[^ ]\+" | sed 's/^ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=//' > ${cfg.activeRecordEncryptionDeterministicKeyFile} + fi + if ! test -f ${cfg.activeRecordEncryptionKeyDerivationSaltFile}; then + mkdir -p $(dirname ${cfg.activeRecordEncryptionKeyDerivationSaltFile}) + bin/rails db:encryption:init | grep --only-matching "ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=[^ ]\+" | sed 's/^ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=//' > ${cfg.activeRecordEncryptionKeyDerivationSaltFile} + fi + if ! test -f ${cfg.activeRecordEncryptionPrimaryKeyFile}; then + mkdir -p $(dirname ${cfg.activeRecordEncryptionPrimaryKeyFile}) + bin/rails db:encryption:init | grep --only-matching "ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=[^ ]\+" | sed 's/^ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=//' > ${cfg.activeRecordEncryptionPrimaryKeyFile} + fi if ! test -f ${cfg.secretKeyBaseFile}; then mkdir -p $(dirname ${cfg.secretKeyBaseFile}) - bin/rake secret > ${cfg.secretKeyBaseFile} + bin/bundle exec rails secret > ${cfg.secretKeyBaseFile} fi if ! test -f ${cfg.otpSecretFile}; then mkdir -p $(dirname ${cfg.otpSecretFile}) - bin/rake secret > ${cfg.otpSecretFile} + bin/bundle exec rails secret > ${cfg.otpSecretFile} fi if ! test -f ${cfg.vapidPrivateKeyFile}; then mkdir -p $(dirname ${cfg.vapidPrivateKeyFile}) $(dirname ${cfg.vapidPublicKeyFile}) @@ -724,6 +790,9 @@ in { fi cat > /var/lib/mastodon/.secrets_env < "$out/bin/$i" chmod 755 "$out/bin/$i" - wrapProgram "$out/bin/$i" --prefix PATH : ${lib.makeBinPath [ nix coreutils nixos-install ]} + wrapProgram "$out/bin/$i" \ + --set DISKO_VERSION "${finalAttrs.version}" \ + --prefix PATH : ${lib.makeBinPath [ nix coreutils nixos-install ]} done runHook postInstall ''; @@ -38,12 +41,15 @@ stdenvNoCC.mkDerivation (finalAttrs: { $out/bin/disko-install --help runHook postInstallCheck ''; + + passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; }; + meta = { homepage = "https://github.com/nix-community/disko"; description = "Declarative disk partitioning and formatting using nix"; license = lib.licenses.mit; mainProgram = "disko"; - maintainers = with lib.maintainers; [ mic92 lassulus ]; + maintainers = with lib.maintainers; [ mic92 lassulus iFreilicht ]; platforms = lib.platforms.linux; }; }) diff --git a/pkgs/by-name/ha/harbor-cli/package.nix b/pkgs/by-name/ha/harbor-cli/package.nix new file mode 100644 index 000000000000..c47f50ecc2aa --- /dev/null +++ b/pkgs/by-name/ha/harbor-cli/package.nix @@ -0,0 +1,52 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + testers, + harbor-cli, + installShellFiles, +}: + +buildGoModule rec { + pname = "harbor-cli"; + version = "0.0.1"; + + src = fetchFromGitHub { + owner = "goharbor"; + repo = "harbor-cli"; + rev = "v${version}"; + hash = "sha256-WSADuhr6p8N0Oh1xIG7yItM6t0EWUiAkzNbdKsSc4WA="; + }; + + vendorHash = "sha256-UUD9/5+McR1t5oO4/6TSScT7hhSKM0OpBf94LVQG1Pw="; + + nativeBuildInputs = [ installShellFiles ]; + + ldflags = [ + "-s" + "-w" + "-X github.com/goharbor/harbor-cli/cmd/harbor/internal/version.Version=${version}" + ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd harbor \ + --bash <($out/bin/harbor completion bash) \ + --fish <($out/bin/harbor completion fish) \ + --zsh <($out/bin/harbor completion zsh) + ''; + + passthru.tests.version = testers.testVersion { + package = harbor-cli; + command = "harbor version"; + }; + + meta = { + homepage = "https://github.com/goharbor/harbor-cli"; + description = "Command-line tool facilitates seamless interaction with the Harbor container registry"; + changelog = "https://github.com/goharbor/harbor-cli/releases/tag/v${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ aaronjheng ]; + mainProgram = "harbor"; + }; +} diff --git a/pkgs/by-name/li/libphidget22/package.nix b/pkgs/by-name/li/libphidget22/package.nix new file mode 100644 index 000000000000..8dd3d5e2f475 --- /dev/null +++ b/pkgs/by-name/li/libphidget22/package.nix @@ -0,0 +1,31 @@ +{ + lib, + stdenv, + fetchurl, + automake, + libusb1, +}: + +stdenv.mkDerivation { + pname = "libphidget22"; + version = "0-unstable-2024-04-11"; + + src = fetchurl { + url = "https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22.tar.gz"; + hash = "sha256-mDoYVs0LhBb3+vzKjzYr9EmcrztmA4cy9xh5ONxHaxI="; + }; + + nativeBuildInputs = [ automake ]; + + buildInputs = [ libusb1 ]; + + strictDeps = true; + + meta = { + description = "Phidget Inc sensor boards and electronics Library"; + homepage = "https://www.phidgets.com/docs/OS_-_Linux"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ mksafavi ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/li/libphidget22extra/package.nix b/pkgs/by-name/li/libphidget22extra/package.nix new file mode 100644 index 000000000000..b67d2026b655 --- /dev/null +++ b/pkgs/by-name/li/libphidget22extra/package.nix @@ -0,0 +1,35 @@ +{ + lib, + stdenv, + fetchurl, + automake, + libusb1, + libphidget22, +}: + +stdenv.mkDerivation { + pname = "libphidget22extra"; + version = "0-unstable-2024-04-11"; + + src = fetchurl { + url = "https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22extra.tar.gz"; + hash = "sha256-UD6Crr1dl7c3NOAVNi3xrXJI3OYPLZBJX1MXVvbyEUE="; + }; + + nativeBuildInputs = [ automake ]; + + buildInputs = [ + libphidget22 + libusb1 + ]; + + strictDeps = true; + + meta = { + description = "Phidget Inc sensor boards and electronics extras library"; + homepage = "https://www.phidgets.com/docs/OS_-_Linux"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ mksafavi ]; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/by-name/me/memorado/package.nix b/pkgs/by-name/me/memorado/package.nix index e7282d01d90e..924c906a5ee6 100644 --- a/pkgs/by-name/me/memorado/package.nix +++ b/pkgs/by-name/me/memorado/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation rec { pname = "memorado"; - version = "0.3"; + version = "0.4"; src = fetchFromGitHub { owner = "wbernard"; repo = "Memorado"; rev = "refs/tags/${version}"; - hash = "sha256-bArcYUHSfpjYsySGZco4fmb6bKRFtG6efhzNSqUROX0="; + hash = "sha256-yWu2+VAa5FkpLs/KLI0lcNzFLGN/kiq6frtW8SHN+W4="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/re/redocly/package.nix b/pkgs/by-name/re/redocly/package.nix index 198d50270259..fe53529c18b9 100644 --- a/pkgs/by-name/re/redocly/package.nix +++ b/pkgs/by-name/re/redocly/package.nix @@ -8,16 +8,16 @@ buildNpmPackage rec { pname = "redocly"; - version = "1.18.1"; + version = "1.25.5"; src = fetchFromGitHub { owner = "Redocly"; repo = "redocly-cli"; rev = "@redocly/cli@${version}"; - hash = "sha256-Y09tGm3Sje8gd+6tUyBTCt7HjL2CQ/vo/ExLDnywvcQ="; + hash = "sha256-pVSmrORa6KcAwllYepwra8QpnlfFoB9+noevLSmoWzY="; }; - npmDepsHash = "sha256-WzMFKMW/YyAH3ZoOeIcXIum15cJmPGp96xSYb9QCaWI="; + npmDepsHash = "sha256-nFRKC3xM+vq9SDeIelUqE/ZSSCSke0G0Qm629/s6WO8="; npmBuildScript = "prepare"; diff --git a/pkgs/by-name/vp/vpp/package.nix b/pkgs/by-name/vp/vpp/package.nix new file mode 100644 index 000000000000..fafcb1784bc9 --- /dev/null +++ b/pkgs/by-name/vp/vpp/package.nix @@ -0,0 +1,126 @@ +{ + lib, + stdenv, + fetchFromGitHub, + nix-update-script, + cmake, + pkg-config, + check, + openssl, + python3, + subunit, + mbedtls_2, + libpcap, + libnl, + libmnl, + libelf, + dpdk, + jansson, + zlib, + rdma-core, + libbpf, + xdp-tools, + enableDpdk ? true, + enableRdma ? true, + # FIXME: broken: af_xdp plugins - no working libbpf found - af_xdp plugin disabled + enableAfXdp ? false, +}: + +let + dpdk' = dpdk.overrideAttrs (old: { + mesonFlags = old.mesonFlags ++ [ "-Denable_driver_sdk=true" ]; + }); + + rdma-core' = rdma-core.overrideAttrs (old: { + cmakeFlags = old.cmakeFlags ++ [ + "-DENABLE_STATIC=1" + "-DBUILD_SHARED_LIBS:BOOL=false" + ]; + }); + + xdp-tools' = xdp-tools.overrideAttrs (old: { + postInstall = ""; + dontDisableStatic = true; + }); +in +stdenv.mkDerivation rec { + pname = "vpp"; + version = "24.06"; + + src = fetchFromGitHub { + owner = "FDio"; + repo = "vpp"; + rev = "v${version}"; + hash = "sha256-AbdtH3ha/Bzj9tAkp4OhjRcUZilUEt+At0LukWN2LJU="; + }; + + postPatch = '' + patchShebangs scripts/ + substituteInPlace CMakeLists.txt \ + --replace "plugins tools/vppapigen tools/g2 tools/perftool cmake pkg" \ + "plugins tools/vppapigen tools/g2 tools/perftool cmake" + ''; + + preConfigure = '' + echo "${version}-nixos" > scripts/.version + scripts/version + ''; + + postConfigure = '' + patchShebangs ../tools/ + patchShebangs ../vpp-api/ + ''; + + sourceRoot = "source/src"; + + enableParallelBuilding = true; + env.NIX_CFLAGS_COMPILE = "-Wno-error -Wno-array-bounds -Wno-maybe-uninitialized"; + + cmakeFlags = [ + "-DVPP_PLATFORM=default" + "-DVPP_LIBRARY_DIR=lib" + ] ++ lib.optional enableDpdk "-DVPP_USE_SYSTEM_DPDK=ON"; + + nativeBuildInputs = [ + cmake + pkg-config + ] ++ lib.optional enableDpdk dpdk' ++ lib.optional enableRdma rdma-core'.dev; + + buildInputs = + [ + check + openssl + (python3.withPackages (ps: [ ps.ply ])) + + subunit # vapi tests + mbedtls_2 # tlsmbed plugin + libpcap # bpf_trace_filter plugin + + # linux-cp plugin + libnl + libmnl + ] + ++ lib.optionals enableDpdk [ + # dpdk plugin + libelf + jansson + zlib + ] + ++ lib.optionals enableAfXdp [ + # af_xdp plugin + libelf + libbpf + xdp-tools' + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Fast, scalable layer 2-4 multi-platform network stack running in user space"; + homepage = "https://s3-docs.fd.io/vpp/${version}/"; + license = [ lib.licenses.asl20 ]; + maintainers = with lib.maintainers; [ romner-set ]; + mainProgram = "vpp"; + platforms = lib.platforms.linux; + }; +} diff --git a/pkgs/desktops/lomiri/applications/lomiri-camera-app/default.nix b/pkgs/desktops/lomiri/applications/lomiri-camera-app/default.nix index 34abc5d808ee..88770eeaf9b4 100644 --- a/pkgs/desktops/lomiri/applications/lomiri-camera-app/default.nix +++ b/pkgs/desktops/lomiri/applications/lomiri-camera-app/default.nix @@ -6,12 +6,12 @@ gitUpdater, nixosTests, cmake, - content-hub, exiv2, gettext, gst_all_1, libusermetrics, lomiri-action-api, + lomiri-content-hub, lomiri-ui-toolkit, lomiri-thumbnailer, pkg-config, @@ -145,9 +145,9 @@ stdenv.mkDerivation (finalAttrs: { qzxing # QML - content-hub libusermetrics lomiri-action-api + lomiri-content-hub lomiri-ui-toolkit lomiri-thumbnailer qtpositioning @@ -192,7 +192,7 @@ stdenv.mkDerivation (finalAttrs: { export QML2_IMPORT_PATH=${ listToQtVar qtbase.qtQmlPrefix [ lomiri-ui-toolkit - content-hub + lomiri-content-hub lomiri-thumbnailer ] } @@ -203,7 +203,7 @@ stdenv.mkDerivation (finalAttrs: { ln -s $out/share/lomiri-camera-app/assets/lomiri-camera-app-splash.svg $out/share/lomiri-app-launch/splash/lomiri-camera-app.svg ln -s $out/share/lomiri-camera-app/assets/lomiri-barcode-reader-app-splash.svg $out/share/lomiri-app-launch/splash/lomiri-barcode-reader-app.svg - install -Dm644 ../camera-contenthub.json $out/share/content-hub/peers/lomiri-camera-app + install -Dm644 ../camera-contenthub.json $out/share/lomiri-content-hub/peers/lomiri-camera-app ''; dontWrapGApps = true; diff --git a/pkgs/desktops/lomiri/applications/lomiri-clock-app/default.nix b/pkgs/desktops/lomiri/applications/lomiri-clock-app/default.nix index 6403ed165c29..b750184e7300 100644 --- a/pkgs/desktops/lomiri/applications/lomiri-clock-app/default.nix +++ b/pkgs/desktops/lomiri/applications/lomiri-clock-app/default.nix @@ -6,10 +6,10 @@ gitUpdater, nixosTests, cmake, - content-hub, geonames, gettext, libusermetrics, + lomiri-content-hub, lomiri-sounds, lomiri-ui-toolkit, makeWrapper, @@ -124,8 +124,8 @@ stdenv.mkDerivation (finalAttrs: { qtbase # QML - content-hub libusermetrics + lomiri-content-hub lomiri-ui-toolkit qtdeclarative qtmultimedia @@ -172,7 +172,7 @@ stdenv.mkDerivation (finalAttrs: { export QML2_IMPORT_PATH=${ listToQtVar qtbase.qtQmlPrefix ( [ - content-hub + lomiri-content-hub lomiri-ui-toolkit qtmultimedia u1db-qt diff --git a/pkgs/desktops/lomiri/applications/lomiri-docviewer-app/default.nix b/pkgs/desktops/lomiri/applications/lomiri-docviewer-app/default.nix index 165987ef18c9..6c5ce2a57cf8 100644 --- a/pkgs/desktops/lomiri/applications/lomiri-docviewer-app/default.nix +++ b/pkgs/desktops/lomiri/applications/lomiri-docviewer-app/default.nix @@ -7,9 +7,9 @@ gitUpdater, nixosTests, cmake, - content-hub, gettext, libreoffice-unwrapped, + lomiri-content-hub, lomiri-ui-toolkit, pkg-config, poppler, @@ -21,61 +21,16 @@ stdenv.mkDerivation (finalAttrs: { pname = "lomiri-docviewer-app"; - version = "3.0.4"; + version = "3.1.0"; src = fetchFromGitLab { owner = "ubports"; repo = "development/apps/lomiri-docviewer-app"; rev = "v${finalAttrs.version}"; - hash = "sha256-xUBE+eSAfG2yMlE/DI+6JHQx+3HiNwtSTv/P4YOAE7Y="; + hash = "sha256-zesBZmaMiMJwHtj3SoaNeHPiM9VNGEa4nTIiG8nskqI="; }; patches = [ - # Remove when version > 3.0.4 - (fetchpatch { - name = "0001-lomiri-docviewer-app-Set-gettext-domain.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/8dc2c911817c45451ff341e4ae4b841bcc134945.patch"; - hash = "sha256-vP6MYl7qhJzkgtnVelMMIbc0ZkHxC1s3abUXJ2zVi4w="; - }) - (fetchpatch { - name = "0002-lomiri-docviewer-app-Install-splash-file.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/ef20bbdd5e80040bf11273a5fc2964400086fdc9.patch"; - hash = "sha256-ylPFn53PJRyyzhN1SxtmNFMFeDsV9UxyQhAqULA5PJM="; - }) - - # Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/72 merged & in release - (fetchpatch { - name = "1001-lomiri-docviewer-app-Stop-using-qt5_use_modules.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/120c81dd71356f2e06ef5c44d114b665236a7382.patch"; - hash = "sha256-4VCw90qYnQ/o67ndp9o8h+wUl2IUpmVGb9xyY55AMIQ="; - }) - (fetchpatch { - name = "1002-lomiri-docviewer-app-Move-Qt-find_package-to-top-level.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/43ee96a3a33b7a8f04e95f434982bcc60ba4b257.patch"; - hash = "sha256-3LggdNo4Yak4SVAD/4/mMCl8PjZy1dIx9i5hKHM5fJU="; - }) - - # Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/73 merged & in release - (fetchpatch { - name = "1011-lomiri-docviewer-app-Call-i18n-bindtextdomain.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/67599a841917304f76ffa1167a217718542a8b46.patch"; - hash = "sha256-nbi3qX14kWtFcXrxAD41IeybDIRTNfUdRgSP1vDI/Hs="; - }) - - # Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/74 merged & in release - (fetchpatch { - name = "1021-lomiri-docviewer-app-Use-GNUInstallDirs-more-better.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/40a860a118077c05692002db694be77ea62dc5b3.patch"; - hash = "sha256-/zhpIdqZ7WsU4tx4/AZs5w8kEopjH2boiHdHaJk5RXk="; - }) - - # Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/75 merged & in release - (fetchpatch { - name = "1031-lomiri-docviewer-app-Use-BUILD_TESTING.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/6f1eb739a3e0bf0ba847f94f8ea8411e0a385c2d.patch"; - hash = "sha256-yVuYG+1JGo/I4TVRZ3UQeO/TJ8GiFO5BJ9Bs7glK7hg="; - }) - # Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/76 merged & in release # fetchpatch2 because there's a file rename (fetchpatch2 { @@ -84,11 +39,11 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-KdHyKXM0hMMIFkuDn5JZJOEuitWAXT2QQOuR+1AolP0="; }) - # Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/77 merged & in release + # Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/81 merged & in release (fetchpatch { - name = "1051-lomiri-docviewer-app-Install-content-hub-lomiri-url-dispatcher-files.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/98f5ab9d51ba05e8c3ed1991c0b67d3922b5ba90.patch"; - hash = "sha256-JA26ga1CNOdbis87lSzqbUbs94Oc1vlxraXZxx3dsu8="; + name = "1051-lomiri-docviewer-app-XDGify-icon.patch"; + url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/a319e648ba15a7868d9ceb3a77ea15ad196e515b.patch"; + hash = "sha256-JMSnN8EyWPHhqHzaJxy3JIhNaOvPLYkVDnNCrPGbO4E="; }) ]; @@ -98,7 +53,6 @@ stdenv.mkDerivation (finalAttrs: { # We don't want absolute paths in desktop files substituteInPlace data/CMakeLists.txt \ - --replace-fail 'ICON "''${DATA_DIR}/''${ICON_FILE}"' 'ICON lomiri-docviewer-app' \ --replace-fail 'SPLASH "''${DATA_DIR}/''${SPLASH_FILE}"' 'SPLASH "lomiri-app-launch/splash/lomiri-docviewer-app.svg"' ''; @@ -118,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: { qtdeclarative # QML - content-hub + lomiri-content-hub lomiri-ui-toolkit qtsystems ]; @@ -133,9 +87,8 @@ stdenv.mkDerivation (finalAttrs: { doCheck = false; postInstall = '' - mkdir -p $out/share/{icons/hicolor/scalable/apps,lomiri-app-launch/splash} + mkdir -p $out/share/lomiri-app-launch/splash - ln -s $out/share/{lomiri-docviewer-app/docviewer-app.svg,icons/hicolor/scalable/apps/lomiri-docviewer-app.svg} ln -s $out/share/{lomiri-docviewer-app/docviewer-app-splash.svg,lomiri-app-launch/splash/lomiri-docviewer-app.svg} ''; diff --git a/pkgs/desktops/lomiri/applications/lomiri-filemanager-app/default.nix b/pkgs/desktops/lomiri/applications/lomiri-filemanager-app/default.nix index fa91e1531bf2..9ad6cee361f9 100644 --- a/pkgs/desktops/lomiri/applications/lomiri-filemanager-app/default.nix +++ b/pkgs/desktops/lomiri/applications/lomiri-filemanager-app/default.nix @@ -2,13 +2,12 @@ stdenv, lib, fetchFromGitLab, - fetchpatch, gitUpdater, nixosTests, biometryd, cmake, - content-hub, gettext, + lomiri-content-hub, lomiri-thumbnailer, lomiri-ui-extras, lomiri-ui-toolkit, @@ -22,65 +21,22 @@ stdenv.mkDerivation (finalAttrs: { pname = "lomiri-filemanager-app"; - version = "1.0.4"; + version = "1.1.2"; src = fetchFromGitLab { owner = "ubports"; repo = "development/apps/lomiri-filemanager-app"; rev = "v${finalAttrs.version}"; - hash = "sha256-vjGCTfXoqul1S7KUJXG6JwgZOc2etXWsdKbyQ/V3abA="; + hash = "sha256-XA1Gdb0Kpc3BEifmgHhQ38moKkCkYbhpr8wptnddZlk="; }; - patches = [ - # This sets the *wrong* domain, but at least it sets *some* domain. - # Remove when version > 1.0.4 - (fetchpatch { - name = "0001-lomiri-filemanager-app-Set-a-gettext-domain.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/b310434d2c25a3b446d3d975f3755eb473a833e8.patch"; - hash = "sha256-gzFFzZCIxedMGW4fp6sonnHj/HmwqdqU5fvGhXUsSOI="; - }) - - # Set the *correct* domain. - # Remove when version > 1.0.4 - (fetchpatch { - name = "0002-lomiri-filemanager-app-Fix-gettext-domain.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/2bb19aeef2baba8d12df1e4976becc08d7cf341d.patch"; - hash = "sha256-wreOMMvBjf316N/XJv3VfI5f5N/VFiEraeadtgRStjA="; - }) - - # Bind domain to locale dir - # Remove when https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/merge_requests/112 merged & in release - (fetchpatch { - name = "0003-lomiri-filemanager-app-Call-i18n.bindtextdomain.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/ac0ab681c52c691d464cf94707b013b39675ad2d.patch"; - hash = "sha256-mwpcHwMT2FcNC6KIZNuSWU/bA8XP8rEQKHn7t5m6npM="; - }) - - # Stop using deprecated qt5_use_modules - # Remove when https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/merge_requests/113 merged & in release - (fetchpatch { - name = "0004-lomiri-filemanager-app-Stop-using-qt5_use_modules.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/c2bfe927b16e660bf4730371b1e61e442e034780.patch"; - hash = "sha256-wPOZP2FOaacEGj4SMS5Q/TO+/L11Qz7NTux4kA86Bcs="; - }) - - # Use pkg-config for smbclient flags - # Remove when https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/merge_requests/115 merged & in release - (fetchpatch { - name = "0005-lomiri-filemanager-app-Get-smbclient-flags-via-pkg-config.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/aa791da5999719724e0b0592765e8fa2962305c6.patch"; - hash = "sha256-fFAYKBR28ym/n7fhP9O6VE2owarLxK8cN9QeExHFbtU="; - }) - ]; - postPatch = '' # Use correct QML install path, don't pull in autopilot test code (we can't run that system) # Remove absolute paths from desktop file, https://github.com/NixOS/nixpkgs/issues/308324 substituteInPlace CMakeLists.txt \ --replace-fail 'qmake -query QT_INSTALL_QML' 'echo ${placeholder "out"}/${qtbase.qtQmlPrefix}' \ --replace-fail 'add_subdirectory(tests)' '#add_subdirectory(tests)' \ - --replace-fail 'ICON ''${CMAKE_INSTALL_PREFIX}/''${DATA_DIR}/''${ICON_FILE}' 'ICON lomiri-filemanager-app' \ - --replace-fail 'SPLASH ''${CMAKE_INSTALL_PREFIX}/''${DATA_DIR}/''${SPLASH_FILE}' 'SPLASH lomiri-app-launch/splash/lomiri-filemanager-app.svg' + --replace-fail 'SPLASH ''${DATA_DIR}/''${SPLASH_FILE}' 'SPLASH lomiri-app-launch/splash/lomiri-filemanager-app.svg' # In case this ever gets run, at least point it to a correct-ish path substituteInPlace tests/autopilot/CMakeLists.txt \ @@ -103,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: { # QML biometryd - content-hub + lomiri-content-hub lomiri-thumbnailer lomiri-ui-extras lomiri-ui-toolkit @@ -117,14 +73,6 @@ stdenv.mkDerivation (finalAttrs: { # No tests we can actually run (just autopilot) doCheck = false; - postInstall = '' - # Some misc files don't get installed to the correct paths for us - mkdir -p $out/share/{content-hub/peers,icons/hicolor/scalable/apps,lomiri-app-launch/splash} - ln -s $out/share/lomiri-filemanager-app/content-hub.json $out/share/content-hub/peers/lomiri-filemanager-app - ln -s $out/share/lomiri-filemanager-app/filemanager.svg $out/share/icons/hicolor/scalable/apps/lomiri-filemanager-app.svg - ln -s $out/share/lomiri-filemanager-app/splash.svg $out/share/lomiri-app-launch/splash/lomiri-filemanager-app.svg - ''; - passthru = { tests.vm = nixosTests.lomiri-filemanager-app; updateScript = gitUpdater { rev-prefix = "v"; }; diff --git a/pkgs/desktops/lomiri/applications/lomiri-gallery-app/default.nix b/pkgs/desktops/lomiri/applications/lomiri-gallery-app/default.nix index deed853358b4..817ce9b69bfc 100644 --- a/pkgs/desktops/lomiri/applications/lomiri-gallery-app/default.nix +++ b/pkgs/desktops/lomiri/applications/lomiri-gallery-app/default.nix @@ -6,11 +6,11 @@ gitUpdater, nixosTests, cmake, - content-hub, exiv2, imagemagick, libglvnd, libmediainfo, + lomiri-content-hub, lomiri-thumbnailer, lomiri-ui-extras, lomiri-ui-toolkit, @@ -25,79 +25,30 @@ stdenv.mkDerivation (finalAttrs: { pname = "lomiri-gallery-app"; - version = "3.0.2"; + version = "3.1.0"; src = fetchFromGitLab { owner = "ubports"; repo = "development/apps/lomiri-gallery-app"; rev = "v${finalAttrs.version}"; - hash = "sha256-nX9dTL4W0WxrwvszGd4AUIx4yUrghMM7ZMtGZLhZE/8="; + hash = "sha256-uKGPic9XYUj0rLA05i6GjLM+n17MYgiFJMWnLXHKmIU="; }; patches = [ - # Remove when version > 3.0.2 - (fetchpatch { - name = "0001-lomiri-gallery-app-Newer-Evix2-compat.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/afa019b5e9071fbafaa9afb3b4effdae6e0774c5.patch"; - hash = "sha256-gBc++6EQ7t3VcBZTknkIpC0bJ/P15oI+G0YoQWtjnSY="; - }) - - # Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/147 merged & in release - (fetchpatch { - name = "0002-lomiri-gallery-app-Stop-using-qt5_use_modules.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/0149c8d422c3e0889d7d523789dc65776a52c4f9.patch"; - hash = "sha256-jS81F7KNbAn5J8sDDXzhXARNYAu6dEKcbNHpHp/3MaI="; - }) - - # Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/148 merged & in release - (fetchpatch { - name = "0003-lomiri-gallery-app-Fix-GNUInstallDirs.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/805121b362a9b486094e570053884b9ffa92b152.patch"; - hash = "sha256-fyAqKjZ0g7Sw7fWP1IW4SpZ+g0xi/pH6RJie1K3doP0="; - }) - - # Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/149 merged & in release - (fetchpatch { - name = "0004-lomiri-gallery-app-Fix-icons.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/906966536363e80fe9906dee935d991955e8f842.patch"; - hash = "sha256-LJ+ILhokceXFUvP/G1BEBE/J1/XUAmNBxu551x0Q6nk="; - }) - - # Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/150 merged & in release - (fetchpatch { - name = "0005-lomiri-gallery-app-Add-ENABLE_WERROR.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/fe32a3453b88cc3563e53ab124f669ce307e9688.patch"; - hash = "sha256-nFCtY3857D5e66rIME+lj6x4exEfx9D2XGEgyWhemgI="; - }) - - # Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/151 merged & in release - (fetchpatch { - name = "0006-lomiri-gallery-app-BUILD_TESTING.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/51f3d5e643db5576b051da63c58ba3492c851e44.patch"; - hash = "sha256-5aGx2xfCDgq/khgkzGsvUOmTIYALjyfn6W7IR5dldr8="; - }) - (fetchpatch { - name = "0007-lomiri-gallery-app-Top-level-Qt5Test.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/c308c689c2841d71554ff6397a110d1a12016b70.patch"; - hash = "sha256-fXVOKjnj4EPeby9iEp3mZRqx9MLqdF8SUVEouCkyDRc="; - }) - # Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/152 merged & in release (fetchpatch { - name = "0008-lomiri-gallery-app-bindtextdomain.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/90a79972741ee0c5dc734dba6c42afeb3ee6a699.patch"; - hash = "sha256-YAmH0he5/rZYKWFyPzUFAKJuHhUTxB3q8zbLL7Spz/c="; + name = "0001-lomiri-gallery-app-bindtextdomain.patch"; + url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/592eff118cb5056886b73e6698f8941c7a16f2e0.patch"; + hash = "sha256-aR/Lnzvq4RuRLI75mMd4xTGMAcijm1adSAGVFZZ++No="; + }) + (fetchpatch { + name = "0002-lomiri-gallery-app-C++ify-i18n.patch"; + url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/a7582abbe0acef4d49c77a4395bc22dbd1707ef3.patch"; + hash = "sha256-qzqTXqIYX+enoOwwV9d9fxe7tVYLuh1WkL8Ij/Qx0H0="; }) ]; postPatch = '' - # 0003-lomiri-gallery-app-Fix-icons.patch cannot be fully applied via patches due to binary diffs - # Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/149 merged & in release - for size in 64x64 128x128 256x256; do - rm desktop/icons/hicolor/"$size"/apps/gallery-app.png - magick desktop/lomiri-gallery-app.svg -resize "$size" desktop/icons/hicolor/"$size"/apps/lomiri-gallery-app.png - done - # Make splash path in desktop file relative substituteInPlace desktop/lomiri-gallery-app.desktop.in.in \ --replace-fail 'X-Lomiri-Splash-Image=@SPLASH@' 'X-Lomiri-Splash-Image=lomiri-app-launch/splash/lomiri-gallery-app.svg' @@ -130,7 +81,7 @@ stdenv.mkDerivation (finalAttrs: { qtsvg # QML - content-hub + lomiri-content-hub lomiri-thumbnailer lomiri-ui-extras lomiri-ui-toolkit @@ -164,9 +115,6 @@ stdenv.mkDerivation (finalAttrs: { # Link splash to splash dir mkdir -p $out/share/lomiri-app-launch/splash ln -s $out/share/{lomiri-gallery-app/lomiri-gallery-app-splash.svg,lomiri-app-launch/splash/lomiri-gallery-app.svg} - - # Old name - mv $out/share/content-hub/peers/{,lomiri-}gallery-app ''; passthru = { diff --git a/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix b/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix index 115d1d01abfc..6085f4d1b5fb 100644 --- a/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix +++ b/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix @@ -9,7 +9,6 @@ biometryd, cmake, cmake-extras, - content-hub, dbus, deviceinfo, geonames, @@ -24,6 +23,7 @@ libqofono, libqtdbustest, libqtdbusmock, + lomiri-content-hub, lomiri-indicator-network, lomiri-schemas, lomiri-settings-components, @@ -122,8 +122,8 @@ stdenv.mkDerivation (finalAttrs: { propagatedBuildInputs = [ ayatana-indicator-datetime biometryd - content-hub libqofono + lomiri-content-hub lomiri-indicator-network lomiri-schemas lomiri-settings-components diff --git a/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix b/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix index 0b2b6f6e5798..a6bf2877ef58 100644 --- a/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix +++ b/pkgs/desktops/lomiri/applications/lomiri-terminal-app/default.nix @@ -1,7 +1,6 @@ { stdenv , lib , fetchFromGitLab -, fetchpatch , gitUpdater , nixosTests , cmake @@ -18,41 +17,15 @@ stdenv.mkDerivation (finalAttrs: { pname = "lomiri-terminal-app"; - version = "2.0.2"; + version = "2.0.3"; src = fetchFromGitLab { owner = "ubports"; repo = "development/apps/lomiri-terminal-app"; rev = "v${finalAttrs.version}"; - hash = "sha256-mXbPmVcl5dL78QUp+w3o4im5ohUQCPTKWLSVqlNO0yo="; + hash = "sha256-374ATxF+XhoALzYv6DEyj6IYgb82Ch4zcmqK0RXmlzI="; }; - patches = [ - # Stop usage of private qt5_use_modules function, seemingly unavailable in this package - # Remove when https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/merge_requests/103 merged & in release - (fetchpatch { - name = "0001-lomiri-terminal-app-Stop-using-qt5_use_modules.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/commit/db210c74e771a427066aebdc3a99cab6e782d326.patch"; - hash = "sha256-op4+/eo8rBRMcW6MZ0rOEFReM7JBCck1B+AsgAPyqAI="; - }) - - # Explicitly bind textdomain, don't rely on hacky workaround in LUITK - # Remove when https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/merge_requests/104 merged & in release - (fetchpatch { - name = "0002-lomiri-terminal-app-Call-i18n.bindtextdomain.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/commit/7f9d419e29043f0d0922d2ac1dce5673e2723a01.patch"; - hash = "sha256-HfIvGVbIdTasoHAfHysnzFLufQQ4lskym5HTekH+mjk="; - }) - - # Add more & correct existing usage of GNUInstallDirs variables - # Remove when https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/merge_requests/105 merged & in release - (fetchpatch { - name = "0003-lomiri-terminal-app-GNUInstallDirs-usage.patch"; - url = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/commit/fcde1f05bb442c74b1dff95917fd7594f26e97a7.patch"; - hash = "sha256-umxCMGNjyz0TVmwH0Gl0MpgjLQtkW9cHkUfpNJcoasE="; - }) - ]; - postPatch = '' substituteInPlace CMakeLists.txt \ --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" diff --git a/pkgs/desktops/lomiri/applications/morph-browser/default.nix b/pkgs/desktops/lomiri/applications/morph-browser/default.nix index 12c71a4f90b8..ff636197d738 100644 --- a/pkgs/desktops/lomiri/applications/morph-browser/default.nix +++ b/pkgs/desktops/lomiri/applications/morph-browser/default.nix @@ -5,10 +5,10 @@ , gitUpdater , nixosTests , cmake -, content-hub , gettext , libapparmor , lomiri-action-api +, lomiri-content-hub , lomiri-ui-extras , lomiri-ui-toolkit , pkg-config @@ -27,23 +27,16 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "morph-browser"; - version = "1.1.0"; + version = "1.1.1"; src = fetchFromGitLab { owner = "ubports"; repo = "development/core/morph-browser"; rev = finalAttrs.version; - hash = "sha256-C5iXv8VS8Mm1ryxK7Vi5tVmiM01OSIFiTyH0vP9B/xA="; + hash = "sha256-VxSADFTlaxQUDc81TzGkx54mjAUgY2L+suQC9zYGKo0="; }; patches = [ - # Remove when https://gitlab.com/ubports/development/core/morph-browser/-/merge_requests/575 merged & in release - (fetchpatch { - name = "0001-morph-browser-tst_SessionUtilsTests-Set-permissions-on-temporary-xdg-runtime-directory.patch"; - url = "https://gitlab.com/ubports/development/core/morph-browser/-/commit/e90206105b8b287fbd6e45ac37ca1cd259981928.patch"; - hash = "sha256-5htFn+OGVVBn3mJQaZcF5yt0mT+2QRlKyKFesEhklfA="; - }) - # Remove when https://gitlab.com/ubports/development/core/morph-browser/-/merge_requests/576 merged & in release (fetchpatch { name = "0002-morph-browser-Call-i18n-bindtextdomain-with-buildtime-determined-locale-path.patch"; @@ -84,8 +77,8 @@ stdenv.mkDerivation (finalAttrs: { qtwebengine # QML - content-hub lomiri-action-api + lomiri-content-hub lomiri-ui-extras lomiri-ui-toolkit qqc2-suru-style @@ -132,7 +125,8 @@ stdenv.mkDerivation (finalAttrs: { standalone = nixosTests.morph-browser; # Lomiri-specific issues with the desktop file may break the entire session, make sure it still works - lomiri = nixosTests.lomiri; + lomiri-basics = nixosTests.lomiri.desktop-basics; + lomiri-appinteractions = nixosTests.lomiri.desktop-appinteractions; }; }; diff --git a/pkgs/desktops/lomiri/applications/teleports/default.nix b/pkgs/desktops/lomiri/applications/teleports/default.nix index f5fceb5bd40a..8a9d318f4b2c 100644 --- a/pkgs/desktops/lomiri/applications/teleports/default.nix +++ b/pkgs/desktops/lomiri/applications/teleports/default.nix @@ -7,8 +7,8 @@ gitUpdater, nixosTests, cmake, - content-hub, intltool, + lomiri-content-hub, lomiri-indicator-network, lomiri-push-qml, lomiri-thumbnailer, @@ -84,7 +84,7 @@ stdenv.mkDerivation (finalAttrs: { ]; buildInputs = [ - content-hub + lomiri-content-hub lomiri-indicator-network lomiri-push-qml lomiri-thumbnailer @@ -102,10 +102,10 @@ stdenv.mkDerivation (finalAttrs: { ]; postInstall = '' - mkdir -p $out/share/{applications,content-hub/peers,icons/hicolor/scalable/apps,lomiri-app-launch/splash,lomiri-url-dispatcher/urls} + mkdir -p $out/share/{applications,lomiri-content-hub/peers,icons/hicolor/scalable/apps,lomiri-app-launch/splash,lomiri-url-dispatcher/urls} ln -s $out/share/teleports/teleports.desktop $out/share/applications/teleports.desktop - ln -s $out/share/teleports/teleports.content-hub $out/share/content-hub/peers/teleports + ln -s $out/share/teleports/teleports.content-hub $out/share/lomiri-content-hub/peers/teleports ln -s $out/share/teleports/assets/icon.svg $out/share/icons/hicolor/scalable/apps/teleports.svg ln -s $out/share/teleports/assets/splash.svg $out/share/lomiri-app-launch/splash/teleports.svg ln -s $out/share/teleports/teleports.url-dispatcher $out/share/lomiri-url-dispatcher/urls/teleports.url-dispatcher diff --git a/pkgs/desktops/lomiri/default.nix b/pkgs/desktops/lomiri/default.nix index 8e5dbd2ff9ef..c4794109b862 100644 --- a/pkgs/desktops/lomiri/default.nix +++ b/pkgs/desktops/lomiri/default.nix @@ -56,7 +56,7 @@ let #### Services biometryd = callPackage ./services/biometryd { }; - content-hub = callPackage ./services/content-hub { }; + lomiri-content-hub = callPackage ./services/lomiri-content-hub { }; hfd-service = callPackage ./services/hfd-service { }; history-service = callPackage ./services/history-service { }; lomiri-download-manager = callPackage ./services/lomiri-download-manager { }; @@ -70,5 +70,6 @@ let in lib.makeScope libsForQt5.newScope packages // lib.optionalAttrs config.allowAliases { + content-hub = lib.warn "`content-hub` was renamed to `lomiri-content-hub`." pkgs.lomiri.lomiri-content-hub; # Added on 2024-09-11 lomiri-system-settings-security-privacy = lib.warn "`lomiri-system-settings-security-privacy` upstream was merged into `lomiri-system-settings`. Please use `pkgs.lomiri.lomiri-system-settings-unwrapped` if you need to directly access the plugins that belonged to this project." pkgs.lomiri.lomiri-system-settings-unwrapped; # Added on 2024-08-08 } diff --git a/pkgs/desktops/lomiri/development/u1db-qt/default.nix b/pkgs/desktops/lomiri/development/u1db-qt/default.nix index 8eeffa84ce35..9bba0d914c7a 100644 --- a/pkgs/desktops/lomiri/development/u1db-qt/default.nix +++ b/pkgs/desktops/lomiri/development/u1db-qt/default.nix @@ -1,25 +1,26 @@ -{ stdenv -, lib -, fetchFromGitLab -, fetchpatch -, gitUpdater -, testers -, cmake -, dbus-test-runner -, pkg-config -, qtbase -, qtdeclarative +{ + stdenv, + lib, + fetchFromGitLab, + fetchpatch, + gitUpdater, + testers, + cmake, + dbus-test-runner, + pkg-config, + qtbase, + qtdeclarative, }: stdenv.mkDerivation (finalAttrs: { pname = "u1db-qt"; - version = "0.1.7"; + version = "0.1.8"; src = fetchFromGitLab { owner = "ubports"; repo = "development/core/u1db-qt"; rev = finalAttrs.version; - hash = "sha256-qlWkxpiVEUbpsKhzR0s7SKaEFCLM2RH+v9XmJ3qLoGY="; + hash = "sha256-KmAEgnWHY0cDKJqRhZpY0fzVjNlEU67e559XEbAPpJI="; }; outputs = [ @@ -29,12 +30,11 @@ stdenv.mkDerivation (finalAttrs: { ]; patches = [ - # Fixes some issues with the pkg-config file - # Remove when https://gitlab.com/ubports/development/core/u1db-qt/-/merge_requests/7 merged & in release + # Remove when https://gitlab.com/ubports/development/core/u1db-qt/-/merge_requests/8 merged & in release (fetchpatch { - name = "0001-u1db-qt-Fix-pkg-config-files-includedir-variable.patch"; - url = "https://gitlab.com/ubports/development/core/u1db-qt/-/commit/ddafbfadfad6dfc508a866835354a4701dda1fe1.patch"; - hash = "sha256-entwjU9TiHuSuht7Cdl0k1v0cP7350a04/FXgTVhGmk="; + name = "0001-u1db-qt-Use-BUILD_TESTING.patch"; + url = "https://gitlab.com/ubports/development/core/u1db-qt/-/commit/df5d526df26c056d54bfa532a3a3fa025d655690.patch"; + hash = "sha256-CILMcvqXrTbEL/N2Tic4IsKLnTtmFJ2QbV3r4PsQ5t0="; }) ]; @@ -48,10 +48,6 @@ stdenv.mkDerivation (finalAttrs: { # For our automatic pkg-config output patcher to work, prefix must be used here substituteInPlace libu1db-qt.pc.in \ --replace-fail 'libdir=''${exec_prefix}/lib' 'libdir=''${prefix}/lib' - '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' - # Other locations add dependencies to custom check target from tests - substituteInPlace CMakeLists.txt \ - --replace-fail 'add_subdirectory(tests)' 'add_custom_target(check COMMAND "echo check dummy")' ''; strictDeps = true; @@ -67,9 +63,7 @@ stdenv.mkDerivation (finalAttrs: { qtdeclarative ]; - nativeCheckInputs = [ - dbus-test-runner - ]; + nativeCheckInputs = [ dbus-test-runner ]; cmakeFlags = [ # Needs qdoc, see https://github.com/NixOS/nixpkgs/pull/245379 @@ -104,14 +98,12 @@ stdenv.mkDerivation (finalAttrs: { updateScript = gitUpdater { }; }; - meta = with lib; { + meta = { description = "Qt5 binding and QtQuick2 plugin for U1DB"; homepage = "https://gitlab.com/ubports/development/core/u1db-qt"; - license = licenses.lgpl3Only; - maintainers = teams.lomiri.members; - platforms = platforms.linux; - pkgConfigModules = [ - "libu1db-qt5" - ]; + license = lib.licenses.lgpl3Only; + maintainers = lib.teams.lomiri.members; + platforms = lib.platforms.linux; + pkgConfigModules = [ "libu1db-qt5" ]; }; }) diff --git a/pkgs/desktops/lomiri/qml/qqc2-suru-style/default.nix b/pkgs/desktops/lomiri/qml/qqc2-suru-style/default.nix index 5717ae35f113..967485fcf403 100644 --- a/pkgs/desktops/lomiri/qml/qqc2-suru-style/default.nix +++ b/pkgs/desktops/lomiri/qml/qqc2-suru-style/default.nix @@ -1,29 +1,28 @@ -{ stdenv -, lib -, fetchFromGitLab -, gitUpdater -, qmake -, qtdeclarative -, qtquickcontrols2 +{ + stdenv, + lib, + fetchFromGitLab, + gitUpdater, + qmake, + qtdeclarative, + qtquickcontrols2, }: stdenv.mkDerivation (finalAttrs: { pname = "qqc2-suru-style"; - version = "0.20230206"; + version = "0.20230630"; src = fetchFromGitLab { owner = "ubports"; repo = "development/core/qqc2-suru-style"; - rev = finalAttrs.version; - hash = "sha256-ZLPuXnhlR1IDhGnprcdWHLnOeS6ZzVkFhQML0iKMjO8="; + rev = "refs/tags/${finalAttrs.version}"; + hash = "sha256-kAgHsNWwUWxHg26bTMmlq8m9DR4+ob4pl/oUX7516hM="; }; # QMake can't find Qt modules from buildInputs strictDeps = false; - nativeBuildInputs = [ - qmake - ]; + nativeBuildInputs = [ qmake ]; buildInputs = [ qtdeclarative @@ -34,12 +33,16 @@ stdenv.mkDerivation (finalAttrs: { passthru.updateScript = gitUpdater { }; - meta = with lib; { + meta = { description = "Suru Style for QtQuick Controls 2"; homepage = "https://gitlab.com/ubports/development/core/qqc2-suru-style"; changelog = "https://gitlab.com/ubports/development/core/qqc2-suru-style/-/blob/${finalAttrs.version}/ChangeLog"; - license = with licenses; [ gpl2Plus lgpl3Only cc-by-sa-30 ]; - maintainers = teams.lomiri.members; - platforms = platforms.unix; + license = with lib.licenses; [ + gpl2Plus + lgpl3Only + cc-by-sa-30 + ]; + maintainers = lib.teams.lomiri.members; + platforms = lib.platforms.unix; }; }) diff --git a/pkgs/desktops/lomiri/services/content-hub/default.nix b/pkgs/desktops/lomiri/services/lomiri-content-hub/default.nix similarity index 56% rename from pkgs/desktops/lomiri/services/content-hub/default.nix rename to pkgs/desktops/lomiri/services/lomiri-content-hub/default.nix index a1fd99757844..dd2f6d3ab23e 100644 --- a/pkgs/desktops/lomiri/services/content-hub/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-content-hub/default.nix @@ -1,8 +1,6 @@ { stdenv , lib , fetchFromGitLab -, fetchpatch -, fetchpatch2 , gitUpdater , testers , cmake @@ -30,14 +28,14 @@ }: stdenv.mkDerivation (finalAttrs: { - pname = "content-hub"; - version = "1.1.1"; + pname = "lomiri-content-hub"; + version = "2.0.0"; src = fetchFromGitLab { owner = "ubports"; - repo = "development/core/content-hub"; + repo = "development/core/lomiri-content-hub"; rev = finalAttrs.version; - hash = "sha256-sQeyJV+Wc6PHKGIefl/dfU06XqTdICsn+Xamjx3puiI="; + hash = "sha256-eA5oCoAZB7fWyWm0Sy6wXh0EW+h76bdfJ2dotr7gUC0="; }; outputs = [ @@ -46,44 +44,6 @@ stdenv.mkDerivation (finalAttrs: { "examples" ]; - patches = [ - # Remove when version > 1.1.1 - (fetchpatch { - name = "0001-content-hub-Migrate-to-GetConnectionCredentials.patch"; - url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/9ec9df32f77383eec7994d8e3e6961531bc8464d.patch"; - hash = "sha256-14dZosMTMa1FDGEMuil0r1Hz6vn+L9XC83NMAqC7Ol8="; - }) - - # Remove when https://gitlab.com/ubports/development/core/content-hub/-/merge_requests/34 merged & in release - (fetchpatch { - name = "0002-content-hub-import-Lomiri-Content-CMakeLists-Drop-qt-argument-to-qmlplugindump.patch"; - url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/63a4baf1469de31c4fd50c69ed85d061f5e8e80a.patch"; - hash = "sha256-T+6T9lXne6AhDFv9d7L8JNwdl8f0wjDmvSoNVPkHza4="; - }) - - # Remove when version > 1.1.1 - # fetchpatch2 due to renames, https://github.com/NixOS/nixpkgs/issues/32084 - (fetchpatch2 { - name = "0003-content-hub-Add-more-better-GNUInstallDirs-variables-usage.patch"; - url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/3c5ca4a8ec125e003aca78c14521b70140856c25.patch"; - hash = "sha256-kYN0eLwMyM/9yK+zboyEsoPKZMZ4SCXodVYsvkQr2F8="; - }) - - # Remove when version > 1.1.1 - (fetchpatch { - name = "0004-content-hub-Fix-generation-of-transfer_files-and-moc_test_harness.patch"; - url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/68899c75e77e1f34176b8a550d52794413e5070f.patch"; - hash = "sha256-HAxePnzY/cL2c+o+Aw2N1pdr8rsbHGmRsH2EQkrBcHg="; - }) - - # Remove when https://gitlab.com/ubports/development/core/lomiri-content-hub/-/merge_requests/40 merged & in release - (fetchpatch { - name = "0006-content-hub-Fix-AppArmor-less-transfer.patch"; - url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/b58e5c8babf00ad7c402555c96254ce0165adb9e.patch"; - hash = "sha256-a7x/0NiUBmmFlq96jkHyLCL0f5NIFh5JR/H+FQ/2GqI="; - }) - ]; - postPatch = '' substituteInPlace import/*/Content/CMakeLists.txt \ --replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" @@ -163,7 +123,7 @@ stdenv.mkDerivation (finalAttrs: { moveToOutput share/applications/$exampleExe.desktop $examples done moveToOutput share/icons $examples - moveToOutput share/content-hub/peers $examples + moveToOutput share/lomiri-content-hub/peers $examples ''; postFixup = '' @@ -178,20 +138,20 @@ stdenv.mkDerivation (finalAttrs: { }; meta = { - description = "Content sharing/picking service"; + description = "Content sharing/picking service for the Lomiri desktop"; longDescription = '' - content-hub is a mediation service to let applications share content between them, + lomiri-content-hub is a mediation service to let applications share content between them, even if they are not running at the same time. ''; - homepage = "https://gitlab.com/ubports/development/core/content-hub"; - changelog = "https://gitlab.com/ubports/development/core/content-hub/-/blob/${finalAttrs.version}/ChangeLog"; + homepage = "https://gitlab.com/ubports/development/core/lomiri-content-hub"; + changelog = "https://gitlab.com/ubports/development/core/lomiri-content-hub/-/blob/${finalAttrs.version}/ChangeLog"; license = with lib.licenses; [ gpl3Only lgpl3Only ]; - mainProgram = "content-hub-service"; + mainProgram = "lomiri-content-hub-service"; maintainers = lib.teams.lomiri.members; platforms = lib.platforms.linux; pkgConfigModules = [ - "libcontent-hub" - "libcontent-hub-glib" + "liblomiri-content-hub" + "liblomiri-content-hub-glib" ]; }; }) diff --git a/pkgs/desktops/lomiri/services/mediascanner2/default.nix b/pkgs/desktops/lomiri/services/mediascanner2/default.nix index 28dc57c3d31b..3a1fbe01221a 100644 --- a/pkgs/desktops/lomiri/services/mediascanner2/default.nix +++ b/pkgs/desktops/lomiri/services/mediascanner2/default.nix @@ -1,39 +1,40 @@ -{ stdenv -, lib -, fetchFromGitLab -, gitUpdater -, testers -, boost -, cmake -, cmake-extras -, dbus -, dbus-cpp -, gdk-pixbuf -, glib -, gst_all_1 -, gtest -, libapparmor -, libexif -, pkg-config -, properties-cpp -, qtbase -, qtdeclarative -, shared-mime-info -, sqlite -, taglib -, udisks -, wrapQtAppsHook +{ + stdenv, + lib, + fetchFromGitLab, + gitUpdater, + testers, + boost, + cmake, + cmake-extras, + dbus, + dbus-cpp, + gdk-pixbuf, + glib, + gst_all_1, + gtest, + libapparmor, + libexif, + pkg-config, + properties-cpp, + qtbase, + qtdeclarative, + shared-mime-info, + sqlite, + taglib, + udisks, + wrapQtAppsHook, }: stdenv.mkDerivation (finalAttrs: { pname = "mediascanner2"; - version = "0.116"; + version = "0.117"; src = fetchFromGitLab { owner = "ubports"; repo = "development/core/mediascanner2"; rev = finalAttrs.version; - hash = "sha256-aRNT3DSPxz/vf6gqipf5Qc5zyDGFMHWONevAslwOrCY="; + hash = "sha256-e1vDPnIIfevXj9ODEEKJ2y4TiU0H+08aTf2vU+emdQk="; }; outputs = [ @@ -43,11 +44,7 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' substituteInPlace src/qml/MediaScanner.*/CMakeLists.txt \ - --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" - - # Lomiri desktop doesn't identify itself under Canonical's name anymore - substituteInPlace src/daemon/scannerdaemon.cc \ - --replace 'Unity8' 'Lomiri' + --replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" ''; strictDeps = true; @@ -59,35 +56,33 @@ stdenv.mkDerivation (finalAttrs: { wrapQtAppsHook ]; - buildInputs = [ - boost - cmake-extras - dbus - dbus-cpp - gdk-pixbuf - glib - libapparmor - libexif - properties-cpp - qtbase - qtdeclarative - shared-mime-info - sqlite - taglib - udisks - ] ++ (with gst_all_1; [ - gstreamer - gst-plugins-base - gst-plugins-good - ]); + buildInputs = + [ + boost + cmake-extras + dbus + dbus-cpp + gdk-pixbuf + glib + libapparmor + libexif + properties-cpp + qtbase + qtdeclarative + shared-mime-info + sqlite + taglib + udisks + ] + ++ (with gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + ]); - checkInputs = [ - gtest - ]; + checkInputs = [ gtest ]; - cmakeFlags = [ - "-DENABLE_TESTS=${lib.boolToString finalAttrs.finalPackage.doCheck}" - ]; + cmakeFlags = [ (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) ]; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; @@ -108,15 +103,13 @@ stdenv.mkDerivation (finalAttrs: { updateScript = gitUpdater { }; }; - meta = with lib; { + meta = { description = "Media scanner service & access library"; homepage = "https://gitlab.com/ubports/development/core/mediascanner2"; - license = licenses.gpl3Only; - maintainers = teams.lomiri.members; + license = lib.licenses.gpl3Only; + maintainers = lib.teams.lomiri.members; mainProgram = "mediascanner-service-2.0"; - platforms = platforms.linux; - pkgConfigModules = [ - "mediascanner-2.0" - ]; + platforms = lib.platforms.linux; + pkgConfigModules = [ "mediascanner-2.0" ]; }; }) diff --git a/pkgs/development/compilers/vlang/default.nix b/pkgs/development/compilers/vlang/default.nix index 267f473274a5..62077a7e4f85 100644 --- a/pkgs/development/compilers/vlang/default.nix +++ b/pkgs/development/compilers/vlang/default.nix @@ -1,7 +1,7 @@ { lib, stdenv, fetchFromGitHub, glfw, freetype, openssl, makeWrapper, upx, boehmgc, xorg, binaryen, darwin }: let - version = "0.4.4"; + version = "0.4.8"; ptraceSubstitution = '' #include #include @@ -10,12 +10,12 @@ let # So we fix its rev to correspond to the V version. vc = stdenv.mkDerivation { pname = "v.c"; - version = "0.4.4"; + version = "0.4.8"; src = fetchFromGitHub { owner = "vlang"; repo = "vc"; - rev = "66eb8eae253d31fa5622e35a69580d9ad8efcccb"; - hash = "sha256-YGlzr0Qq7+NtrnbaFPBuclzjOZBOnTe3BOhsuwdsQ5c="; + rev = "54beb1f416b404a06b894e6883a0e2368d80bc3e"; + hash = "sha256-hofganRnWPRCjjsItwF2BKam4dCqzMCrjgWSjZLSrlo="; }; # patch the ptrace reference for darwin @@ -46,7 +46,7 @@ stdenv.mkDerivation { owner = "vlang"; repo = "v"; rev = version; - hash = "sha256-Aqecw8K+igHx5R34lQiWtdNfeGn+umcjcS4w0vXgpLM="; + hash = "sha256-V4f14TcuKW8unzlo6i/tE6MzSb3HAll478OU2LxiTPQ="; }; propagatedBuildInputs = [ glfw freetype openssl ] diff --git a/pkgs/development/libraries/gstreamer/icamerasrc/default.nix b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix index 68485f7e7454..4bbb20c6e41a 100644 --- a/pkgs/development/libraries/gstreamer/icamerasrc/default.nix +++ b/pkgs/development/libraries/gstreamer/icamerasrc/default.nix @@ -6,17 +6,18 @@ , gst_all_1 , ipu6-camera-hal , libdrm +, libva }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "icamerasrc-${ipu6-camera-hal.ipuVersion}"; - version = "unstable-2023-10-23"; + version = "unstable-2024-09-29"; src = fetchFromGitHub { owner = "intel"; repo = "icamerasrc"; - rev = "528a6f177732def4d5ebc17927220d8823bc8fdc"; - hash = "sha256-Ezcm5OpF/NKvJf5sFeJyvNc2Uq0166GukC9MuNUV2Fs="; + rev = "refs/tags/20240926_1446"; + hash = "sha256-BpIZxkPmSVKqPntwBJjGmCaMSYFCEZHJa4soaMAJRWE="; }; nativeBuildInputs = [ @@ -34,8 +35,10 @@ stdenv.mkDerivation { buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-bad ipu6-camera-hal libdrm + libva ]; NIX_CFLAGS_COMPILE = [ diff --git a/pkgs/development/libraries/ipu6-camera-hal/default.nix b/pkgs/development/libraries/ipu6-camera-hal/default.nix index 9c6cc585f9b3..0bbed96ca3af 100644 --- a/pkgs/development/libraries/ipu6-camera-hal/default.nix +++ b/pkgs/development/libraries/ipu6-camera-hal/default.nix @@ -11,6 +11,7 @@ , ipu6-camera-bins , libtool , gst_all_1 +, libdrm # Pick one of # - ipu6 (Tiger Lake) @@ -27,13 +28,13 @@ let in stdenv.mkDerivation { pname = "${ipuVersion}-camera-hal"; - version = "unstable-2023-09-25"; + version = "unstable-2024-09-29"; src = fetchFromGitHub { owner = "intel"; repo = "ipu6-camera-hal"; - rev = "9fa05a90886d399ad3dda4c2ddc990642b3d20c9"; - hash = "sha256-yS1D7o6dsQ4FQkjfwcisOxcP7Majb+4uQ/iW5anMb5c="; + rev = "f98f72b156563fe8373e4f8d017a9f609676bb33"; + hash = "sha256-zVcgKW7/GHYd1oMvsaI77cPyj3G68dL+OXBJDz5+Td4="; }; nativeBuildInputs = [ @@ -41,12 +42,16 @@ stdenv.mkDerivation { pkg-config ]; - PKG_CONFIG_PATH = "${lib.makeLibraryPath [ ipu6-camera-bins ]}/${ipuTarget}/pkgconfig"; cmakeFlags = [ "-DIPU_VER=${ipuVersion}" + "-DTARGET_SUFFIX=-${ipuVersion}" # missing libiacss "-DUSE_PG_LITE_PIPE=ON" + "-DCMAKE_BUILD_TYPE=Release" + "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" + "-DCMAKE_INSTALL_SUB_PATH=${ipuTarget}" + "-DCMAKE_INSTALL_LIBDIR=lib" ]; NIX_CFLAGS_COMPILE = [ @@ -61,21 +66,28 @@ stdenv.mkDerivation { libtool gst_all_1.gstreamer gst_all_1.gst-plugins-base + libdrm ]; postPatch = '' substituteInPlace src/platformdata/PlatformData.h \ - --replace '/usr/share/' "${placeholder "out"}/share/" + --replace '/usr/share/' "${placeholder "out"}/share/" \ + --replace '#define CAMERA_DEFAULT_CFG_PATH "/etc/camera/"' '#define CAMERA_DEFAULT_CFG_PATH "${placeholder "out"}/etc/camera/"' + ''; + + postInstall = '' + mkdir -p $out/include/${ipuTarget}/ + cp -r $src/include $out/include/${ipuTarget}/libcamhal ''; postFixup = '' for lib in $out/lib/*.so; do - patchelf --add-rpath "${lib.makeLibraryPath [ ipu6-camera-bins ]}/${ipuTarget}" $lib + patchelf --add-rpath "${ipu6-camera-bins}/lib" $lib done ''; passthru = { - inherit ipuVersion; + inherit ipuVersion ipuTarget; }; meta = with lib; { diff --git a/pkgs/development/libraries/science/math/faiss/default.nix b/pkgs/development/libraries/science/math/faiss/default.nix index 689349fb05ac..750735ba6786 100644 --- a/pkgs/development/libraries/science/math/faiss/default.nix +++ b/pkgs/development/libraries/science/math/faiss/default.nix @@ -105,6 +105,10 @@ stdenv.mkDerivation { cp faiss/python/dist/*.whl "$dist/" ''; + passthru = { + inherit cudaSupport cudaPackages pythonSupport; + }; + meta = { description = "Library for efficient similarity search and clustering of dense vectors by Facebook Research"; mainProgram = "demo_ivfpq_indexing"; diff --git a/pkgs/development/python-modules/aiortm/default.nix b/pkgs/development/python-modules/aiortm/default.nix index 1760e816fc05..b02e418a1ddb 100644 --- a/pkgs/development/python-modules/aiortm/default.nix +++ b/pkgs/development/python-modules/aiortm/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "aiortm"; - version = "0.9.11"; + version = "0.9.12"; pyproject = true; disabled = pythonOlder "3.12"; @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "MartinHjelmare"; repo = "aiortm"; rev = "refs/tags/v${version}"; - hash = "sha256-uP+nQZA6ZdCAy3E4a1jcm+3X1Fe6n+7v/6unX423jfw="; + hash = "sha256-PTg+/Iqjj5V5XJNDAJva/BvaOl6qyjeqrjxy0RLAvEc="; }; pythonRelaxDeps = [ "typer" ]; diff --git a/pkgs/development/python-modules/azure-mgmt-billing/default.nix b/pkgs/development/python-modules/azure-mgmt-billing/default.nix index db243f585759..dfef1554ecc4 100644 --- a/pkgs/development/python-modules/azure-mgmt-billing/default.nix +++ b/pkgs/development/python-modules/azure-mgmt-billing/default.nix @@ -1,45 +1,46 @@ { lib, - buildPythonPackage, - fetchPypi, - msrestazure, azure-common, azure-mgmt-core, - azure-mgmt-nspkg, + buildPythonPackage, + fetchPypi, + isodate, + pythonOlder, + setuptools, + typing-extensions, }: buildPythonPackage rec { pname = "azure-mgmt-billing"; - version = "6.0.0"; # pypi's 0.2.0 doesn't build ootb - format = "setuptools"; + version = "7.0.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; src = fetchPypi { - inherit pname version; - sha256 = "d4f5c5a4188a456fe1eb32b6c45f55ca2069c74be41eb76921840b39f2f5c07f"; - extension = "zip"; + pname = "azure_mgmt_billing"; + inherit version; + hash = "sha256-jgplxlEQtTpCk35b7WrgDvydYgaXLZa/1KdOgMhcLXs="; }; - propagatedBuildInputs = [ - msrestazure + build-system = [ setuptools ]; + + dependencies = [ azure-common azure-mgmt-core - azure-mgmt-nspkg + isodate + typing-extensions ]; - preBuild = '' - rm -rf azure_bdist_wheel.py - substituteInPlace setup.cfg \ - --replace "azure-namespace-package = azure-mgmt-nspkg" "" - ''; - pythonNamespaces = [ "azure.mgmt" ]; - # has no tests + # Module has no tests doCheck = false; meta = with lib; { description = "This is the Microsoft Azure Billing Client Library"; - homepage = "https://github.com/Azure/azure-sdk-for-python"; + homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/billing/azure-mgmt-billing"; + changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-billing_${version}/sdk/billing/azure-mgmt-billing/CHANGELOG.md"; license = licenses.mit; maintainers = with maintainers; [ maxwilson ]; }; diff --git a/pkgs/development/python-modules/azure-storage-file-share/default.nix b/pkgs/development/python-modules/azure-storage-file-share/default.nix index 5169b9a73366..04e4ee8bf5a8 100644 --- a/pkgs/development/python-modules/azure-storage-file-share/default.nix +++ b/pkgs/development/python-modules/azure-storage-file-share/default.nix @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "azure-storage-file-share"; - version = "12.18.0"; + version = "12.19.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -20,7 +20,7 @@ buildPythonPackage rec { src = fetchPypi { pname = "azure_storage_file_share"; inherit version; - hash = "sha256-CoHa7l4TWYrM3jxzsa7Mxu39zsXpV79AFQwGIvuV3HY="; + hash = "sha256-6npBdNxsUvUKyMMPIoFZ/MNnXR+Lp3G40O/LwxB0Ang="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/catboost/default.nix b/pkgs/development/python-modules/catboost/default.nix index 98e4f0869ccb..d0fc77b70038 100644 --- a/pkgs/development/python-modules/catboost/default.nix +++ b/pkgs/development/python-modules/catboost/default.nix @@ -3,15 +3,18 @@ buildPythonPackage, catboost, python, + + # build-system + setuptools, + + # dependencies graphviz, matplotlib, numpy, pandas, plotly, scipy, - setuptools, six, - wheel, }: buildPythonPackage rec { @@ -21,16 +24,15 @@ buildPythonPackage rec { src meta ; - format = "pyproject"; + pyproject = true; sourceRoot = "${src.name}/catboost/python-package"; - nativeBuildInputs = [ + build-system = [ setuptools - wheel ]; - propagatedBuildInputs = [ + dependencies = [ graphviz matplotlib numpy diff --git a/pkgs/development/python-modules/connexion/default.nix b/pkgs/development/python-modules/connexion/default.nix index a43fccb0170e..bd19ae31caa2 100644 --- a/pkgs/development/python-modules/connexion/default.nix +++ b/pkgs/development/python-modules/connexion/default.nix @@ -37,18 +37,18 @@ buildPythonPackage rec { version = "3.1.0"; pyproject = true; - disabled = pythonOlder "3.6"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "spec-first"; - repo = pname; + repo = "connexion"; rev = "refs/tags/${version}"; hash = "sha256-rngQDU9kXw/Z+Al0SCVnWN8xnphueTtZ0+xPBR5MbEM="; }; - nativeBuildInputs = [ poetry-core ]; + build-system = [ poetry-core ]; - propagatedBuildInputs = [ + dependencies = [ asgiref httpx inflection @@ -80,6 +80,10 @@ buildPythonPackage rec { pythonImportsCheck = [ "connexion" ]; disabledTests = [ + "test_build_example" + "test_mock_resolver_no_example" + # Tests require network access + "test_remote_api" # AssertionError "test_headers" # waiter.acquire() deadlock @@ -91,9 +95,10 @@ buildPythonPackage rec { meta = with lib; { description = "Swagger/OpenAPI First framework on top of Flask"; - mainProgram = "connexion"; homepage = "https://github.com/spec-first/connexion"; changelog = "https://github.com/spec-first/connexion/releases/tag/${version}"; license = licenses.asl20; + maintainers = [ ]; + mainProgram = "connexion"; }; } diff --git a/pkgs/development/python-modules/debugpy/default.nix b/pkgs/development/python-modules/debugpy/default.nix index 4bf451d834be..cce50d3b7e51 100644 --- a/pkgs/development/python-modules/debugpy/default.nix +++ b/pkgs/development/python-modules/debugpy/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { pname = "debugpy"; - version = "1.8.6"; + version = "1.8.7"; format = "setuptools"; disabled = pythonOlder "3.8"; @@ -31,7 +31,7 @@ buildPythonPackage rec { owner = "microsoft"; repo = "debugpy"; rev = "refs/tags/v${version}"; - hash = "sha256-kkFNIJ3QwojwgiRAOmBiWIg5desxOKTmo9YH1Qup6fI="; + hash = "sha256-JFVhEAfdSfl2ACfXLMdoO/1otdif9bHialdQXucTM5A="; }; patches = diff --git a/pkgs/development/python-modules/dissect-target/default.nix b/pkgs/development/python-modules/dissect-target/default.nix index 409f8444c33d..259d2e7d077d 100644 --- a/pkgs/development/python-modules/dissect-target/default.nix +++ b/pkgs/development/python-modules/dissect-target/default.nix @@ -44,7 +44,7 @@ buildPythonPackage rec { pname = "dissect-target"; - version = "3.18"; + version = "3.19"; pyproject = true; disabled = pythonOlder "3.9"; @@ -53,7 +53,7 @@ buildPythonPackage rec { owner = "fox-it"; repo = "dissect.target"; rev = "refs/tags/${version}"; - hash = "sha256-jR+f4t0QXmm007lrGdMyF9vFa3NW35gZxs7pe9sdjfg="; + hash = "sha256-D5YgCAKcnPyBrZTpcSuvKfWfIIcCxKGxn+mj8Jqzmws="; }; postPatch = '' @@ -138,6 +138,8 @@ buildPythonPackage rec { "test_systemd_basic_syntax" "test_target_cli_unicode_argparse" "test_target_query" + "test_target_info" + "test_yara" ] ++ # test is broken on Darwin diff --git a/pkgs/development/python-modules/dissect-volume/default.nix b/pkgs/development/python-modules/dissect-volume/default.nix index 3a094cbd7880..0fb8e92a7cfe 100644 --- a/pkgs/development/python-modules/dissect-volume/default.nix +++ b/pkgs/development/python-modules/dissect-volume/default.nix @@ -12,24 +12,24 @@ buildPythonPackage rec { pname = "dissect-volume"; - version = "3.11"; + version = "3.12"; pyproject = true; - disabled = pythonOlder "3.11"; + disabled = pythonOlder "3.12"; src = fetchFromGitHub { owner = "fox-it"; repo = "dissect.volume"; rev = "refs/tags/${version}"; - hash = "sha256-eHIInoquuyukKuPVvVB6qtovx1NloHHVGKfFBHxVd+o="; + hash = "sha256-IhG2FZdCmYrGxHc2i+ERhphxP/uGgOY67epHEWnQXb0="; }; - nativeBuildInputs = [ + build-system = [ setuptools setuptools-scm ]; - propagatedBuildInputs = [ + dependencies = [ dissect-cstruct dissect-util ]; @@ -44,6 +44,7 @@ buildPythonPackage rec { "test_dm_thin" "test_lvm_mirro" "test_lvm_thin" + "test_lvm" "test_md_raid0_zones" "test_md_read" ]; diff --git a/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix b/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix index 288389dea837..4f3baf7fe8db 100644 --- a/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix +++ b/pkgs/development/python-modules/ffmpeg-progress-yield/default.nix @@ -12,14 +12,14 @@ buildPythonPackage rec { pname = "ffmpeg-progress-yield"; - version = "0.7.8"; + version = "0.9.1"; format = "setuptools"; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-muauX4Mq58ew9lGPE0H+bu4bqPydNADLocujjy6qRh4="; + hash = "sha256-n6zHi6M9SyrNm8MhQ9xvBo2OIzoQYJ4yhgujW5C6QWY="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/python-modules/flow-record/default.nix b/pkgs/development/python-modules/flow-record/default.nix index b92660587549..268c7387502b 100644 --- a/pkgs/development/python-modules/flow-record/default.nix +++ b/pkgs/development/python-modules/flow-record/default.nix @@ -1,30 +1,35 @@ { lib, buildPythonPackage, + duckdb, + elastic-transport, elasticsearch, fastavro, fetchFromGitHub, + httpx, lz4, + maxminddb, msgpack, pytest7CheckHook, pythonOlder, - setuptools, + pytz, setuptools-scm, + setuptools, zstandard, }: buildPythonPackage rec { pname = "flow-record"; - version = "3.15"; + version = "3.17"; pyproject = true; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.9"; src = fetchFromGitHub { owner = "fox-it"; repo = "flow.record"; rev = "refs/tags/${version}"; - hash = "sha256-j5N66p7feB9Ae+Fu5RhVzh8XCHiq55jJMg0Fe+C6Jvg="; + hash = "sha256-fFP2bdO4wTR9Y+9no3FabtVmLicTD76Jw5aWDMPOB0w="; }; build-system = [ @@ -39,11 +44,18 @@ buildPythonPackage rec { lz4 zstandard ]; + duckdb = [ + duckdb + pytz + ]; elastic = [ elasticsearch ]; + geoip = [ maxminddb ]; avro = [ fastavro ] ++ fastavro.optional-dependencies.snappy; + splunk = [ httpx ]; }; nativeCheckInputs = [ + elastic-transport pytest7CheckHook ] ++ lib.flatten (builtins.attrValues optional-dependencies); diff --git a/pkgs/development/python-modules/greatfet/default.nix b/pkgs/development/python-modules/greatfet/default.nix index 2ed9792df3b2..1e7385851094 100644 --- a/pkgs/development/python-modules/greatfet/default.nix +++ b/pkgs/development/python-modules/greatfet/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "greatfet"; - version = "2024.0.2"; + version = "2024.0.3"; pyproject = true; disabled = pythonOlder "3.8"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "greatscottgadgets"; repo = "greatfet"; rev = "refs/tags/v${version}"; - hash = "sha256-1GfyhxwA6Nhf/umvllR/hkh5hyn42141QOT7+6IGAis="; + hash = "sha256-jdOTEOotLiIxA9TxmFGOjP8IZ/8xo7mzXSJRg3A5Ri4="; }; sourceRoot = "${src.name}/host"; diff --git a/pkgs/development/python-modules/hypothesis-auto/default.nix b/pkgs/development/python-modules/hypothesis-auto/default.nix index eca2ca101457..13457576cdb4 100644 --- a/pkgs/development/python-modules/hypothesis-auto/default.nix +++ b/pkgs/development/python-modules/hypothesis-auto/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "hypothesis-auto"; version = "1.1.5"; - format = "pyproject"; + pyproject = true; disabled = pythonOlder "3.6"; @@ -23,14 +23,22 @@ buildPythonPackage rec { hash = "sha256-U0vcOB9jXmUV5v2IwybVu2arY1FpPnKkP7m2kbD1kRw="; }; - nativeBuildInputs = [ poetry-core ]; - - propagatedBuildInputs = [ - pydantic - hypothesis - pytest + pythonRelaxDeps = [ + "hypothesis" + "pydantic" ]; + build-system = [ poetry-core ]; + + dependencies = [ + hypothesis + pydantic + ]; + + optional-dependencies = { + pytest = [ pytest ]; + }; + pythonImportsCheck = [ "hypothesis_auto" ]; nativeCheckInputs = [ pytestCheckHook ]; @@ -38,6 +46,7 @@ buildPythonPackage rec { meta = with lib; { description = "Enables fully automatic tests for type annotated functions"; homepage = "https://github.com/timothycrosley/hypothesis-auto/"; + changelog = "https://github.com/timothycrosley/hypothesis-auto/blob/master/CHANGELOG.md"; license = licenses.mit; maintainers = [ ]; }; diff --git a/pkgs/development/python-modules/import-expression/default.nix b/pkgs/development/python-modules/import-expression/default.nix index 369495b96e29..6be9824a37a1 100644 --- a/pkgs/development/python-modules/import-expression/default.nix +++ b/pkgs/development/python-modules/import-expression/default.nix @@ -3,38 +3,43 @@ buildPythonPackage, fetchPypi, pytestCheckHook, - astunparse, + pythonOlder, setuptools, + typing-extensions, }: + buildPythonPackage rec { pname = "import-expression"; version = "2.0.0"; pyproject = true; + disabled = pythonOlder "3.9"; + src = fetchPypi { - inherit version; pname = "import_expression"; + inherit version; hash = "sha256-Biw7dIOPKbDcqYJSCyeqC/seREcVihSZuaKNFfgjTew="; }; build-system = [ setuptools ]; - dependencies = [ astunparse ]; + + dependencies = [ typing-extensions ]; + nativeCheckInputs = [ pytestCheckHook ]; + pytestFlagsArray = [ "tests.py" ]; - pythonImportsCheck = [ - "import_expression" - "import_expression._codec" - ]; + pythonImportsCheck = [ "import_expression" ]; meta = { description = "Transpiles a superset of python to allow easy inline imports"; homepage = "https://github.com/ioistired/import-expression-parser"; + changelog = "https://github.com/ioistired/import-expression/releases/tag/v${version}"; license = with lib.licenses; [ mit psfl ]; - mainProgram = "import-expression"; maintainers = with lib.maintainers; [ ]; + mainProgram = "import-expression"; }; } diff --git a/pkgs/development/python-modules/jalali-core/default.nix b/pkgs/development/python-modules/jalali-core/default.nix new file mode 100644 index 000000000000..69c613d0417c --- /dev/null +++ b/pkgs/development/python-modules/jalali-core/default.nix @@ -0,0 +1,35 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + pythonOlder, + setuptools, +}: + +buildPythonPackage rec { + pname = "jalali-core"; + version = "1.0.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchPypi { + pname = "jalali_core"; + inherit version; + hash = "sha256-9Ch8cMYwMj3PCjqybfkFuk1FHiMKwfZbO7L3d5eJSis="; + }; + + build-system = [ setuptools ]; + + # Module has no tests + doCheck = false; + + pythonImportsCheck = [ "jalali_core" ]; + + meta = { + description = "Module to convert Gregorian to Jalali and inverse dates"; + homepage = "https://pypi.org/project/jalali-core/"; + license = lib.licenses.lgpl2Only; + maintainers = with lib.maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/jdatetime/default.nix b/pkgs/development/python-modules/jdatetime/default.nix index 553500c47be6..acc5dca6a825 100644 --- a/pkgs/development/python-modules/jdatetime/default.nix +++ b/pkgs/development/python-modules/jdatetime/default.nix @@ -2,29 +2,33 @@ lib, buildPythonPackage, fetchPypi, - six, + jalali-core, pythonOlder, + setuptools, }: buildPythonPackage rec { pname = "jdatetime"; version = "5.0.0"; - format = "setuptools"; + pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; hash = "sha256-LMYD2RPA2OMokoRU09KVJhywN+mVAif2fJYpq0cQ/fk="; }; - propagatedBuildInputs = [ six ]; + build-system = [ setuptools ]; + + dependencies = [ jalali-core ]; pythonImportsCheck = [ "jdatetime" ]; meta = with lib; { description = "Jalali datetime binding"; homepage = "https://github.com/slashmili/python-jalali"; + changelog = "https://github.com/slashmili/python-jalali/blob/v${version}/CHANGELOG.md"; license = licenses.psfl; maintainers = [ ]; }; diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-botocore/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-botocore/default.nix new file mode 100644 index 000000000000..caa6d327dfeb --- /dev/null +++ b/pkgs/development/python-modules/opentelemetry-instrumentation-botocore/default.nix @@ -0,0 +1,52 @@ +{ + lib, + buildPythonPackage, + hatchling, + opentelemetry-api, + opentelemetry-instrumentation, + opentelemetry-semantic-conventions, + botocore, + moto, + opentelemetry-test-utils, + opentelemetry-propagator-aws-xray, + pytestCheckHook, + aws-xray-sdk, +}: + +buildPythonPackage rec { + inherit (opentelemetry-instrumentation) version src; + pname = "opentelemetry-instrumentation-botocore"; + pyproject = true; + + sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-botocore"; + + build-system = [ hatchling ]; + + dependencies = [ + opentelemetry-api + opentelemetry-instrumentation + opentelemetry-propagator-aws-xray + opentelemetry-semantic-conventions + ]; + + nativeCheckInputs = [ + opentelemetry-test-utils + pytestCheckHook + ]; + + checkInputs = [ + aws-xray-sdk + moto + ]; + + optional-dependencies = { + instruments = [ botocore ]; + }; + + pythonImportsCheck = [ "opentelemetry.instrumentation.botocore" ]; + + meta = opentelemetry-instrumentation.meta // { + homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-botocore"; + description = "Botocore instrumentation for OpenTelemetry"; + }; +} diff --git a/pkgs/development/python-modules/opentelemetry-propagator-aws-xray/default.nix b/pkgs/development/python-modules/opentelemetry-propagator-aws-xray/default.nix new file mode 100644 index 000000000000..47d67c2b100a --- /dev/null +++ b/pkgs/development/python-modules/opentelemetry-propagator-aws-xray/default.nix @@ -0,0 +1,42 @@ +{ + lib, + buildPythonPackage, + hatchling, + opentelemetry-api, + opentelemetry-instrumentation, + opentelemetry-semantic-conventions, + opentelemetry-instrumentation-botocore, + opentelemetry-test-utils, + pytestCheckHook, + requests, + pytest-benchmark, +}: + +buildPythonPackage rec { + inherit (opentelemetry-instrumentation) version src; + pname = "opentelemetry-propagator-aws-xray"; + pyproject = true; + + sourceRoot = "${opentelemetry-instrumentation.src.name}/propagator/opentelemetry-propagator-aws-xray"; + + build-system = [ hatchling ]; + + dependencies = [ opentelemetry-api ]; + + nativeCheckInputs = [ + opentelemetry-test-utils + pytestCheckHook + ]; + + checkInputs = [ + pytest-benchmark + requests + ]; + + pythonImportsCheck = [ "opentelemetry.propagators.aws" ]; + + meta = opentelemetry-instrumentation.meta // { + homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/propagator/opentelemetry-propagator-aws-xray"; + description = "AWS X-Ray Propagator for OpenTelemetry"; + }; +} diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix index 826578f03c3a..ab177fa01b32 100644 --- a/pkgs/development/python-modules/plotly/default.nix +++ b/pkgs/development/python-modules/plotly/default.nix @@ -14,14 +14,14 @@ xarray, pillow, scipy, - psutil, statsmodels, ipython, ipywidgets, which, - orca, nbformat, scikit-image, + orca, + psutil, }: buildPythonPackage rec { @@ -53,6 +53,15 @@ buildPythonPackage rec { kaleido ]; + # packages/python/plotly/optional-requirements.txt + optional-dependencies = { + orca = [ + orca + requests + psutil + ]; + }; + nativeCheckInputs = [ pytestCheckHook pandas @@ -61,69 +70,39 @@ buildPythonPackage rec { xarray pillow scipy - psutil statsmodels ipython ipywidgets which - orca nbformat scikit-image ]; - # the check inputs are broken on darwin - doCheck = !stdenv.hostPlatform.isDarwin; - disabledTests = [ - # FAILED plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots - AssertionError: assert '3' == '2' + # failed pinning test, sensitive to dep versions "test_legend_dots" - # FAILED plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle - AssertionError: "test_linestyle" - # FAILED plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json[auto] - KeyError: 'template' - # FAILED plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json[json] - KeyError: 'template' + # test bug, i assume sensitive to dep versions "test_sanitize_json" - # FAILED plotly/tests/test_orca/test_orca_server.py::test_validate_orca - ValueError: - "test_validate_orca" - # FAILED plotly/tests/test_orca/test_orca_server.py::test_orca_executable_path - ValueError: - "test_orca_executable_path" - # FAILED plotly/tests/test_orca/test_orca_server.py::test_orca_version_number - ValueError: - "test_orca_version_number" - # FAILED plotly/tests/test_orca/test_orca_server.py::test_ensure_orca_ping_and_proc - ValueError: - "test_ensure_orca_ping_and_proc" - # FAILED plotly/tests/test_orca/test_orca_server.py::test_server_timeout_shutdown - ValueError: - "test_server_timeout_shutdown" - # FAILED plotly/tests/test_orca/test_orca_server.py::test_external_server_url - ValueError: - "test_external_server_url" - # FAILED plotly/tests/test_orca/test_to_image.py::test_simple_to_image[eps] - ValueError: - "test_simple_to_image" - # FAILED plotly/tests/test_orca/test_to_image.py::test_to_image_default[eps] - ValueError: - "test_to_image_default" - # FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string[eps] - ValueError: - "test_write_image_string" - # FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_writeable[eps] - ValueError: - "test_write_image_writeable" - # FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string_format_inference[eps] - ValueError: - "test_write_image_string_format_inference" - # FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string_bad_extension_failure - assert 'must be specified as one of the followi... - "test_write_image_string_bad_extension_failure" - # FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string_bad_extension_override - ValueError: - "test_write_image_string_bad_extension_override" - # FAILED plotly/tests/test_orca/test_to_image.py::test_topojson_fig_to_image[eps] - ValueError: - "test_topojson_fig_to_image" - # FAILED plotly/tests/test_orca/test_to_image.py::test_latex_fig_to_image[eps] - ValueError: - "test_latex_fig_to_image" - # FAILED plotly/tests/test_orca/test_to_image.py::test_problematic_environment_variables[eps] - ValueError: - "test_problematic_environment_variables" - # FAILED plotly/tests/test_orca/test_to_image.py::test_invalid_figure_json - assert 'Invalid' in "\nThe orca executable is required in order to e... - "test_invalid_figure_json" - # FAILED test_init/test_dependencies_not_imported.py::test_dependencies_not_imported - AssertionError: assert 'plotly' not in {'IPython': - "test_dependencies_not_imported" - # FAILED test_init/test_lazy_imports.py::test_lazy_imports - AssertionError: assert 'plotly' not in {'IPython': +Date: Sat, 12 Oct 2024 12:26:51 +0000 +Subject: [PATCH] deps: bump time to fix compilation error + +--- + Cargo.lock | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +diff --git a/Cargo.lock b/Cargo.lock +index 9ce33e5..785764d 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -1420,6 +1420,12 @@ dependencies = [ + "minimal-lexical", + ] + ++[[package]] ++name = "num-conv" ++version = "0.1.0" ++source = "registry+https://github.com/rust-lang/crates.io-index" ++checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" ++ + [[package]] + name = "num_cpus" + version = "1.16.0" +@@ -2219,13 +2225,14 @@ dependencies = [ + + [[package]] + name = "time" +-version = "0.3.31" ++version = "0.3.36" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" ++checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" + dependencies = [ + "deranged", + "itoa", + "libc", ++ "num-conv", + "num_threads", + "powerfmt", + "serde", +@@ -2241,10 +2248,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + + [[package]] + name = "time-macros" +-version = "0.2.16" ++version = "0.2.18" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" ++checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" + dependencies = [ ++ "num-conv", + "time-core", + ] + +-- +2.44.1 + diff --git a/pkgs/development/tools/gptcommit/default.nix b/pkgs/development/tools/gptcommit/default.nix index 2c97533a2696..9aabb2ef5058 100644 --- a/pkgs/development/tools/gptcommit/default.nix +++ b/pkgs/development/tools/gptcommit/default.nix @@ -23,7 +23,13 @@ rustPlatform.buildRustPackage { hash = "sha256-JhMkK2zw3VL9o7j8DJmjY/im+GyCjfV2TJI3GDo8T8c="; }; - cargoHash = "sha256-ye9MAfG3m24ofV95Kr+KTP4FEqfrsm3aTQ464hG9q08="; + cargoPatches = [ + # Bump `time` and friends to fix compilation with rust 1.80. + # See https://github.com/NixOS/nixpkgs/issues/332957 + ./0001-update-time.patch + ]; + + cargoHash = "sha256-0UAttCCbSH91Dn7IvEX+Klp/bSYZM4rml7/dD3a208A="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix index 351c5788584a..1983157df1f6 100644 --- a/pkgs/misc/uboot/default.nix +++ b/pkgs/misc/uboot/default.nix @@ -28,10 +28,10 @@ }: let - defaultVersion = "2024.07"; + defaultVersion = "2024.10"; defaultSrc = fetchurl { url = "https://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2"; - hash = "sha256-9ZHamrkO89az0XN2bQ3f+QxO1zMGgIl0hhF985DYPI8="; + hash = "sha256-so2vSsF+QxVjYweL9RApdYQTf231D87ZsS3zT2GpL7A="; }; # Dependencies for the tools need to be included as either native or cross, @@ -212,6 +212,14 @@ in { filesToInstall = ["u-boot-with-spl.kwb"]; }; + ubootCM3588NAS = buildUBoot { + defconfig = "cm3588-nas-rk3588_defconfig"; + extraMeta.platforms = [ "aarch64-linux" ]; + BL31 = "${armTrustedFirmwareRK3588}/bl31.elf"; + ROCKCHIP_TPL = rkbin.TPL_RK3588; + filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" ]; + }; + ubootCubieboard2 = buildUBoot { defconfig = "Cubieboard2_defconfig"; extraMeta.platforms = ["armv7l-linux"]; @@ -442,6 +450,14 @@ in { filesToInstall = ["u-boot-sunxi-with-spl.bin"]; }; + ubootOrangePi3B = buildUBoot { + defconfig = "orangepi-3b-rk3566_defconfig"; + extraMeta.platforms = ["aarch64-linux"]; + ROCKCHIP_TPL = rkbin.TPL_RK3568; + BL31 = rkbin.BL31_RK3568; + filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" "u-boot-rockchip-spi.bin" ]; + }; + ubootPcduino3Nano = buildUBoot { defconfig = "Linksprite_pcDuino3_Nano_defconfig"; extraMeta.platforms = ["armv7l-linux"]; diff --git a/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix index 4c3bede4fba2..873e0c971d67 100644 --- a/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix +++ b/pkgs/os-specific/linux/firmware/ipu6-camera-bins/default.nix @@ -6,15 +6,15 @@ , zlib }: -stdenv.mkDerivation (finalAttrs: { +stdenv.mkDerivation (finalAttrs: rec { pname = "ipu6-camera-bins"; - version = "unstable-2023-10-26"; + version = "unstable-2024-09-27"; src = fetchFromGitHub { - owner = "intel"; repo = "ipu6-camera-bins"; - rev = "af5ba0cb4a763569ac7514635013e9d870040bcf"; - hash = "sha256-y0pT5M7AKACbquQWLZPYpTPXRC5hipLNL61nhs+cst4="; + owner = "intel"; + rev = "98ca6f2a54d20f171628055938619972514f7a07"; + hash = "sha256-DAjAzHMqX41mrfQVpDUJLw4Zjb9pz6Uy3TJjTGIkd6o="; }; nativeBuildInputs = [ @@ -33,13 +33,14 @@ stdenv.mkDerivation (finalAttrs: { include \ $out/ - install -m 0644 -D LICENSE $out/share/doc/LICENSE + # There is no LICENSE file in the src + # install -m 0644 -D LICENSE $out/share/doc/LICENSE runHook postInstall ''; postFixup = '' - for pcfile in $out/lib/*/pkgconfig/*.pc; do + for pcfile in $out/lib/pkgconfig/*.pc; do substituteInPlace $pcfile \ --replace 'prefix=/usr' "prefix=$out" done diff --git a/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix b/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix index 9674cea2226f..931c85470821 100644 --- a/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix +++ b/pkgs/os-specific/linux/firmware/ivsc-firmware/default.nix @@ -5,13 +5,13 @@ stdenv.mkDerivation { pname = "ivsc-firmware"; - version = "unstable-2023-08-11"; + version = "unstable-2024-06-14"; src = fetchFromGitHub { owner = "intel"; repo = "ivsc-firmware"; - rev = "10c214fea5560060d387fbd2fb8a1af329cb6232"; - hash = "sha256-kEoA0yeGXuuB+jlMIhNm+SBljH+Ru7zt3PzGb+EPBPw="; + rev = "74a01d1208a352ed85d76f959c68200af4ead918"; + hash = "sha256-kHYfeftMtoOsOtVN6+XoDMDHP7uTEztbvjQLpCnKCh0="; }; dontBuild = true; diff --git a/pkgs/os-specific/linux/ipu6-drivers/default.nix b/pkgs/os-specific/linux/ipu6-drivers/default.nix index 304f27dfb43c..d6aafa53a52f 100644 --- a/pkgs/os-specific/linux/ipu6-drivers/default.nix +++ b/pkgs/os-specific/linux/ipu6-drivers/default.nix @@ -5,17 +5,19 @@ , kernel }: -stdenv.mkDerivation { +stdenv.mkDerivation rec { pname = "ipu6-drivers"; - version = "unstable-2023-11-24"; + version = "unstable-2024-10-10"; src = fetchFromGitHub { owner = "intel"; repo = "ipu6-drivers"; - rev = "07f0612eabfdc31df36f5e316a9eae115807804f"; - hash = "sha256-8JRZG6IKJT0qtoqJHm8641kSQMLc4Z+DRzK6FpL9Euk="; + rev = "118952d49ec598f56add50d93fa7bc3ac4a05643"; + hash = "sha256-xdMwINoKrdRHCPMpdZQn86ATi1dAXncMU39LLXS16mc="; }; + patches = [ "${src}/patches/0001-v6.10-IPU6-headers-used-by-PSYS.patch" ]; + postPatch = '' cp --no-preserve=mode --recursive --verbose \ ${ivsc-driver.src}/backport-include \ @@ -47,7 +49,7 @@ stdenv.mkDerivation { license = lib.licenses.gpl2Only; maintainers = [ ]; platforms = [ "x86_64-linux" ]; - # requires 6.1.7 https://github.com/intel/ipu6-drivers/pull/84 - broken = kernel.kernelOlder "6.1.7"; + # requires 6.10 + broken = kernel.kernelOlder "6.10"; }; } diff --git a/pkgs/os-specific/linux/ivsc-driver/default.nix b/pkgs/os-specific/linux/ivsc-driver/default.nix index 74ad354a984f..d9fa513ede87 100644 --- a/pkgs/os-specific/linux/ivsc-driver/default.nix +++ b/pkgs/os-specific/linux/ivsc-driver/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation { pname = "ivsc-driver"; - version = "unstable-2023-11-09"; + version = "unstable-2024-09-18"; src = fetchFromGitHub { owner = "intel"; repo = "ivsc-driver"; - rev = "73a044d9633212fac54ea96cdd882ff5ab40573e"; - hash = "sha256-vE5pOtVqjiWovlUMSEoBKTk/qvs8K8T5oY2r7njh0wQ="; + rev = "10f440febe87419d5c82d8fe48580319ea135b54"; + hash = "sha256-jc+8geVquRtaZeIOtadCjY9F162Rb05ptE7dk8kuof0="; }; nativeBuildInputs = kernel.moduleBuildDependencies; diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 523bcb63d1e6..14800b895bd6 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -36,7 +36,11 @@ let # Currently only enabling Rust by default on kernel 6.12+, # which actually has features that use Rust that we want. defaultRust = lib.versionAtLeast version "6.12" && rustAvailable; - withRust = (forceRust || defaultRust) && kernelSupportsRust; + withRust = + assert lib.assertMsg (!(forceRust && !kernelSupportsRust)) '' + Kernels below 6.7 (the kernel being built is ${version}) don't support Rust. + ''; + (forceRust || defaultRust) && kernelSupportsRust; options = { diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix index 5544409a74d6..f69de86fd1a6 100644 --- a/pkgs/os-specific/linux/kernel/manual-config.nix +++ b/pkgs/os-specific/linux/kernel/manual-config.nix @@ -396,6 +396,9 @@ let requiredSystemFeatures = [ "big-parallel" ]; meta = { + # https://github.com/NixOS/nixpkgs/pull/345534#issuecomment-2391238381 + broken = withRust && lib.versionOlder version "6.12"; + description = "The Linux kernel" + (if kernelPatches == [] then "" else diff --git a/pkgs/os-specific/linux/zenmonitor/default.nix b/pkgs/os-specific/linux/zenmonitor/default.nix index bf9ddbc5fec5..837785c4d5a2 100644 --- a/pkgs/os-specific/linux/zenmonitor/default.nix +++ b/pkgs/os-specific/linux/zenmonitor/default.nix @@ -18,9 +18,9 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=${placeholder "out"}" ]; meta = with lib; { + inherit (src.meta) homepage; description = "Monitoring software for AMD Zen-based CPUs"; mainProgram = "zenmonitor"; - homepage = "https://github.com/Ta180m/zenmonitor3"; license = licenses.mit; platforms = [ "i686-linux" "x86_64-linux" ]; maintainers = with maintainers; [ alexbakker artturin ]; diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix index 9bc4dd29d630..979dd74635c2 100644 --- a/pkgs/servers/mastodon/default.nix +++ b/pkgs/servers/mastodon/default.nix @@ -1,7 +1,6 @@ { lib, stdenv, nodejs-slim, bundlerEnv, nixosTests -, yarn, callPackage, ruby, writeShellScript -, fetchYarnDeps, fixup-yarn-lock -, brotli +, yarn-berry, callPackage, ruby, writeShellScript +, brotli, python3 # Allow building a fork or custom version of Mastodon: , pname ? "mastodon" @@ -28,12 +27,12 @@ stdenv.mkDerivation rec { pname = "${pname}-modules"; inherit src version; - yarnOfflineCache = fetchYarnDeps { - yarnLock = "${src}/yarn.lock"; + yarnOfflineCache = callPackage ./yarn.nix { + inherit version src; hash = yarnHash; }; - nativeBuildInputs = [ fixup-yarn-lock nodejs-slim yarn mastodonGems mastodonGems.wrappedRuby brotli ]; + nativeBuildInputs = [ nodejs-slim yarn-berry mastodonGems mastodonGems.wrappedRuby brotli python3 ]; RAILS_ENV = "production"; NODE_ENV = "production"; @@ -42,29 +41,33 @@ stdenv.mkDerivation rec { runHook preBuild export HOME=$PWD - fixup-yarn-lock ~/yarn.lock - yarn config --offline set yarn-offline-mirror $yarnOfflineCache - yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress + export YARN_ENABLE_TELEMETRY=0 + export npm_config_nodedir=${nodejs-slim} + export SECRET_KEY_BASE_DUMMY=1 + + mkdir -p ~/.yarn/berry + ln -s $yarnOfflineCache ~/.yarn/berry/cache + + yarn install --immutable --immutable-cache patchShebangs ~/bin patchShebangs ~/node_modules - # skip running yarn install - rm -rf ~/bin/yarn + bundle exec rails assets:precompile - OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder \ - rails assets:precompile - yarn cache clean --offline + yarn cache clean --all rm -rf ~/node_modules/.cache + # Remove execute permissions + find ~/public/assets -type f ! -perm 0555 \ + -exec chmod 0444 {} ';' + # Create missing static gzip and brotli files - gzip --best --keep ~/public/assets/500.html - gzip --best --keep ~/public/packs/report.html - find ~/public/assets -maxdepth 1 -type f -name '.*.json' \ - -exec gzip --best --keep --force {} ';' - brotli --best --keep ~/public/packs/report.html - find ~/public/assets -type f -regextype posix-extended -iregex '.*\.(css|js|json|html)' \ + find ~/public/assets -type f -regextype posix-extended -iregex '.*\.(css|html|js|json|svg)' \ + -exec gzip --best --keep --force {} ';' \ -exec brotli --best --keep {} ';' + gzip --best --keep ~/public/packs/report.html + brotli --best --keep ~/public/packs/report.html runHook postBuild ''; @@ -101,13 +104,14 @@ stdenv.mkDerivation rec { done # Remove execute permissions - chmod 0444 public/emoji/*.svg + find public/emoji -type f ! -perm 0555 \ + -exec chmod 0444 {} ';' # Create missing static gzip and brotli files - find public -maxdepth 1 -type f -regextype posix-extended -iregex '.*\.(css|js|svg|txt|xml)' \ + find public -maxdepth 1 -type f -regextype posix-extended -iregex '.*\.(js|txt)' \ -exec gzip --best --keep --force {} ';' \ -exec brotli --best --keep {} ';' - find public/emoji -type f -name '.*.svg' \ + find public/emoji -type f -name '*.svg' \ -exec gzip --best --keep --force {} ';' \ -exec brotli --best --keep {} ';' ln -s assets/500.html.gz public/500.html.gz @@ -133,7 +137,8 @@ stdenv.mkDerivation rec { runHook preInstall mkdir -p $out - cp -r * $out/ + mv .{env*,ruby*} $out/ + mv * $out/ ln -s ${run-streaming} $out/run-streaming.sh runHook postInstall diff --git a/pkgs/servers/mastodon/gemset.nix b/pkgs/servers/mastodon/gemset.nix index 20be6e58e3d8..429393553e26 100644 --- a/pkgs/servers/mastodon/gemset.nix +++ b/pkgs/servers/mastodon/gemset.nix @@ -1,14 +1,14 @@ { actioncable = { - dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver"]; + dependencies = ["actionpack" "activesupport" "nio4r" "websocket-driver" "zeitwerk"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1c46q4ykf8cqcpzad7zhkrxjhvf92sil0185zvxwzhj95p1zp5vr"; + sha256 = "1g4g7r68h30iw7spypc7hvvd7w1vx05mysmijdy6vkr947hxyhw4"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; actionmailbox = { dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail" "net-imap" "net-pop" "net-smtp"]; @@ -16,10 +16,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0x100vq4rf2c5ndz8ai00hb5gsb9ax2xqc89dsfzzhxbpa9gs9ik"; + sha256 = "0vzkwsc7k43v5irpydrzrh4v9dmwikj9xcdafz21kvwh8903pgih"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; actionmailer = { dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "net-imap" "net-pop" "net-smtp" "rails-dom-testing"]; @@ -27,21 +27,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hds7b6n7vsa64fmma7wl7x9mxscr89myfb13vxni5fcns1agwzr"; + sha256 = "09abzaywpzwnbkpdn8g340pi584k8lpcqzi63m7wahyyyairdqza"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; actionpack = { - dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; + dependencies = ["actionview" "activesupport" "nokogiri" "racc" "rack" "rack-session" "rack-test" "rails-dom-testing" "rails-html-sanitizer"]; groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18k05a55i0xgyv60lx0m1psnyncn935j76ivbp9hssqpij00jj1f"; + sha256 = "0c72nzrs3jjag7xbawy8hzzxggmpfp4r23y6viril2xzxffqgy7m"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; actiontext = { dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "globalid" "nokogiri"]; @@ -49,10 +49,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1g54g1kjyrwv9g592gxfz7z6ksmj916l1cgkxk54zhywxf6gpn0y"; + sha256 = "14lvvaq994hihwb63jvdxbq03i5wgfk6llkibzsq1v0csphby1sx"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; actionview = { dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"]; @@ -60,10 +60,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03rfynhj40270dqhkm4cyaphzb37b4fdiaqh9grvcfq760vx7ha5"; + sha256 = "0lrrb4r6p2wrdbjphkkd482h10hri77d1aj1ddhz3ynvbrkg0ay0"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; active_model_serializers = { dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"]; @@ -71,10 +71,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xdp7cpj3yj3wl4vj0nqq44kzjavlxi1wq3cf9zp0whkir0ym0gy"; + sha256 = "13n1ipn0dg3k852xhfzdvkr1ljq76xvfnm79qzdix2ishiy1gphl"; type = "gem"; }; - version = "0.10.13"; + version = "0.10.14"; }; activejob = { dependencies = ["activesupport" "globalid"]; @@ -82,10 +82,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1b54didwsg5p8wn30qjwspzh97w7g07hrsdzr7wdrdly4zii7sr1"; + sha256 = "1xhb7hy7dxx5qy8hahdf2gpr65n0xisxrfapzd2g8czb59ammxk5"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; activemodel = { dependencies = ["activesupport"]; @@ -93,43 +93,43 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mi5cppdmkzgr2z135ibs0bq71qndbnip0vfflz1n4j4hqnhjkpg"; + sha256 = "1dhhsiv2hk1jfqdxx9qqlmzhvshqjs9kqh13gl1jyzfhzmd0b38q"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; activerecord = { - dependencies = ["activemodel" "activesupport"]; + dependencies = ["activemodel" "activesupport" "timeout"]; groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pkv0jvvjc3grr0rvxni9b3j3hb22jaj0h70g476h9w54p0aljcb"; + sha256 = "1p9cch94h3wj71mldyk85657r4cpr9p3z55bwxqvpiby2fn6svc3"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; activestorage = { - dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"]; + dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qdqx20dqkg7iwzb8q5148x5sl9mr2063hxzy4i7i94af2d2vz6b"; + sha256 = "0ihbywjdp57mcnbx2150rpsx79f3pfv313d1zwsz0qwmzdcvpsr3"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; activesupport = { - dependencies = ["concurrent-ruby" "i18n" "minitest" "tzinfo"]; + dependencies = ["base64" "bigdecimal" "concurrent-ruby" "connection_pool" "drb" "i18n" "minitest" "mutex_m" "tzinfo"]; groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15z11983ws5svibg6rky9k2mgd4d4chnvddyxfpgn81b81q70139"; + sha256 = "0cm2v3zkr58ljr1fswf67lkm8zwxr100qfdaxzzv46jlwmy1m3is"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; addressable = { dependencies = ["public_suffix"]; @@ -137,10 +137,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33"; + sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6"; type = "gem"; }; - version = "2.8.5"; + version = "2.8.7"; }; aes_key_wrap = { groups = ["default"]; @@ -152,17 +152,6 @@ }; version = "1.1.0"; }; - airbrussh = { - dependencies = ["sshkit"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0x55y3ynkda76pwnsvrrjlvxfcc7yn1irad8radll9c9cif41jqv"; - type = "gem"; - }; - version = "1.4.1"; - }; android_key_attestation = { groups = ["default"]; platforms = []; @@ -194,26 +183,15 @@ }; version = "2.4.2"; }; - attr_encrypted = { - dependencies = ["encryptor"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "034x6mbrv9apd83v99v9pm8vl3d17w5bbwws26gr4wv95fylmgnc"; - type = "gem"; - }; - version = "4.0.0"; - }; attr_required = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1g22axmi2rhhy7w8c3x6gppsawxqavbrnxpnmphh22fk7cwi0kh2"; + sha256 = "16fbwr6nmsn97n0a6k1nwbpyz08zpinhd6g7196lz1syndbgrszh"; type = "gem"; }; - version = "1.0.1"; + version = "1.0.2"; }; awrence = { groups = ["default"]; @@ -230,20 +208,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pyis1nvnbjxk12a43xvgj2gv0mvp4cnkc1gzw0v1018r61399gz"; + sha256 = "0gvdg4yx4p9av2glmp7vsxhs0n8fj1ga9kq2xdb8f95j7b04qhzi"; type = "gem"; }; - version = "1.2.0"; + version = "1.3.0"; }; aws-partitions = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m2kha6ip4ynhvl1l8z4vg0j96ngq4f2v6jl4j2y27m2kzmgcxz5"; + sha256 = "1pm4dxz3w1f5ksiid7bxdaxhz0rklci3zfyb4v1f6j9psa11cwh1"; type = "gem"; }; - version = "1.809.0"; + version = "1.978.0"; }; aws-sdk-core = { dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"]; @@ -251,10 +229,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xjw9cf6ldbw50xi5ric8d63r8kybpsvaqxh2v6n7374hfady73i"; + sha256 = "0hm87r5ph1mi7n6b5y17hc54x38insbkgbflr7viqigbwy2slw3v"; type = "gem"; }; - version = "3.181.0"; + version = "3.209.0"; }; aws-sdk-kms = { dependencies = ["aws-sdk-core" "aws-sigv4"]; @@ -262,10 +240,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1zr5w2cjd895abyn7y5gifhq37bxcinssvdx2l1qmlkllbdxbwq0"; + sha256 = "1acx3bhqkhni3kbl7xnjdgy8raq5y7p0zyniq61bsihzkwcj7imh"; type = "gem"; }; - version = "1.71.0"; + version = "1.94.0"; }; aws-sdk-s3 = { dependencies = ["aws-sdk-core" "aws-sdk-kms" "aws-sigv4"]; @@ -273,10 +251,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0yymj15nwnvam95lw5fxwxx7b6xm4hkj8z7byzvjmx9aji1x245m"; + sha256 = "0zpww3lxpjg8smmznz2nbx5hrpnkzflbasllxjwprkqr56rrrjap"; type = "gem"; }; - version = "1.133.0"; + version = "1.166.0"; }; aws-sigv4 = { dependencies = ["aws-eventstream"]; @@ -284,10 +262,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0z889c4c1w7wsjm3szg64ay5j51kjl4pdf94nlr1yks2rlanm7na"; + sha256 = "176zh13m1vhwgys0drlqiw79ljmmx84vva036shsb7rzr4yi36qm"; type = "gem"; }; - version = "1.6.0"; + version = "1.10.0"; }; azure-storage-blob = { dependencies = ["azure-storage-common" "nokogiri"]; @@ -312,14 +290,14 @@ version = "2.0.4"; }; base64 = { - groups = ["default" "development"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cydk9p2cv25qysm0sn2pb97fcpz1isa7n3c8xm1gd99li8x6x8c"; + sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; type = "gem"; }; - version = "0.1.1"; + version = "0.2.0"; }; bcp47_spec = { groups = ["default"]; @@ -336,10 +314,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "048z3fvcknqx7ikkhrcrykxlqmf9bzc7l0y5h1cnvrc9n2qf0k8m"; + sha256 = "16a0g2q40biv93i1hch3gw8rbmhp77qnnifj1k0a6m7dng3zh444"; type = "gem"; }; - version = "3.1.18"; + version = "3.1.20"; }; better_errors = { dependencies = ["erubi" "rack" "rouge"]; @@ -352,26 +330,25 @@ }; version = "2.10.1"; }; - better_html = { - dependencies = ["actionview" "activesupport" "ast" "erubi" "parser" "smart_properties"]; - groups = ["default" "development"]; + bigdecimal = { + groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1y090dmgjxr3yzxi3pg5jgirkmyfdrmjhabmzmhg5i8ssiqr2gdz"; + sha256 = "1gi7zqgmqwi5lizggs1jhc3zlwaqayy9rx2ah80sxy24bbnng558"; type = "gem"; }; - version = "2.0.1"; + version = "3.1.8"; }; bindata = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04y4zgh4bbcb8wmkxwfqg4saky1d1f3xw8z6yk543q13h8ky8rz5"; + sha256 = "08r67nglsqnxrbn803szf5bdnqhchhq8kf2by94f37fcl65wpp19"; type = "gem"; }; - version = "2.4.15"; + version = "2.5.0"; }; binding_of_caller = { dependencies = ["debug_inspector"]; @@ -379,20 +356,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "078n2dkpgsivcf0pr50981w95nfc2bsrp3wpf9wnxz1qsp8jbb9s"; + sha256 = "16mjj15ks5ws53v2y31hxcmf46d0qjdvdaadpk7xsij2zymh4a9b"; type = "gem"; }; - version = "1.0.0"; + version = "1.0.1"; }; blurhash = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "057afgqy73n8vm7k3cr4pbwm1hhqnm58lp4x7bgm5wzbs39m7xf8"; + sha256 = "1wni86h2mlb7sj51nq3iwsvkrzlaggls9xlf4p9dzr1ns79dphca"; type = "gem"; }; - version = "0.1.7"; + version = "0.1.8"; }; bootsnap = { dependencies = ["msgpack"]; @@ -400,20 +377,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vcg52gwl64xhhal6kwk1pc01y1klzdlnv1awyk89kb91z010x7q"; + sha256 = "0mdgj9yw1hmx3xh2qxyjc31y8igmxzd9h0c245ay2zkz76pl4k5c"; type = "gem"; }; - version = "1.16.0"; + version = "1.18.4"; }; brakeman = { + dependencies = ["racc"]; groups = ["development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gliwnyma9f1mpr928c79i36q51yl68dwjd3jgwvsyr4piiiqr1r"; + sha256 = "078syvjnnkbair5ffyvchxj9yd2c8215c1271kfh1gqsmaf70bl6"; type = "gem"; }; - version = "6.0.1"; + version = "6.2.1"; }; browser = { groups = ["default"]; @@ -441,10 +419,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr"; + sha256 = "0pw3r2lyagsxkm71bf44v5b74f7l9r7di22brbyji9fwz791hya9"; type = "gem"; }; - version = "3.2.4"; + version = "3.3.0"; }; bundler-audit = { dependencies = ["thor"]; @@ -452,65 +430,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gdx0019vj04n1512shhdx7hwphzqmdpw4vva2k551nd47y1dixx"; + sha256 = "0j0h5cgnzk0ms17ssjkzfzwz65ggrs3lsp53a1j46p4616m1s1bk"; type = "gem"; }; - version = "0.9.1"; - }; - capistrano = { - dependencies = ["airbrussh" "i18n" "rake" "sshkit"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "14pflh85rrs2l8k0m286j4vaab5vad2sfqq9dncqb31z05vy29mn"; - type = "gem"; - }; - version = "3.17.3"; - }; - capistrano-bundler = { - dependencies = ["capistrano"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "09rndb1fa9r7mhb2sc6p3k0pcarhg8mv0kfmvd1zdb0ciwwp7514"; - type = "gem"; - }; - version = "2.1.0"; - }; - capistrano-rails = { - dependencies = ["capistrano" "capistrano-bundler"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "05lk7y4qyzadzzshjyhgfgx00ggqliq7n561wkx8m331wljv7kx7"; - type = "gem"; - }; - version = "1.6.3"; - }; - capistrano-rbenv = { - dependencies = ["capistrano" "sshkit"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1x9m1i5zd0wx122zw3m40zprlmxk9d47bd6w61k81wr4qsvkk3rw"; - type = "gem"; - }; - version = "2.2.0"; - }; - capistrano-yarn = { - dependencies = ["capistrano"]; - groups = ["development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1zdg2s061vl5b8114n909mrjb2hc1qx0i4wqx9nacsrcjgyp07l9"; - type = "gem"; - }; - version = "2.0.2"; + version = "0.9.2"; }; capybara = { dependencies = ["addressable" "matrix" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"]; @@ -518,10 +441,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "114qm5f5vhwaaw9rj1h2lcamh46zl13v1m18jiw68zl961gwmw6n"; + sha256 = "1vxfah83j6zpw3v5hic0j70h519nvmix2hbszmjwm8cfawhagns2"; type = "gem"; }; - version = "3.39.2"; + version = "3.40.0"; }; case_transform = { dependencies = ["activesupport"]; @@ -549,10 +472,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0cym7a0mrgf8wr27x07ka7fsjz3l7l9qiiyqra34f5k5ghira0c0"; + sha256 = "1c1dws56r7p8y363dhyikg7205z59a3bn4amnv2y488rrq8qm7ml"; type = "gem"; }; - version = "0.7.8"; + version = "0.7.9"; }; chewy = { dependencies = ["activesupport" "elasticsearch" "elasticsearch-dsl"]; @@ -560,10 +483,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zca6v8i66jkxfdfjnn9xwg21pk95qn4ic8vzfvrx49d6sb8319y"; + sha256 = "0kgqj7hcs09ln7i1rds1xify08rzjk02ryzvjdvnllg1fkh3vm2b"; type = "gem"; }; - version = "7.3.4"; + version = "7.6.0"; + }; + childprocess = { + dependencies = ["logger"]; + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1v5nalaarxnfdm6rxb7q6fmc6nx097jd630ax6h9ch7xw95li3cs"; + type = "gem"; + }; + version = "5.1.0"; }; chunky_png = { groups = ["default"]; @@ -580,10 +514,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0q11v0iabvr6rif0d025xh078ili5frrihlj0m04zfg7lgvagxji"; + sha256 = "198aswdyqlvcw9jkd95b7b8dp3fg0wx89kd1dx9wia1z36b1icin"; type = "gem"; }; - version = "0.2.0"; + version = "1.2.0"; }; cocoon = { groups = ["default"]; @@ -631,21 +565,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00c6x4ha7qiaaf88qdbyf240mk146zz78rbm4qwyaxmwlmk7q933"; + sha256 = "1rbdzl9n8ppyp38y75hw06s17kp922ybj6jfvhz52p83dg6xpm6m"; type = "gem"; }; - version = "1.3.0"; + version = "1.3.1"; }; crack = { - dependencies = ["rexml"]; + dependencies = ["bigdecimal" "rexml"]; groups = ["default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1cr1kfpw3vkhysvkk3wg7c54m75kd68mbm9rs5azdjdq57xid13r"; + sha256 = "0jaa7is4fw1cxigm8vlyhg05bw4nqy4f91zjqxk7pp4c8bdyyfn8"; type = "gem"; }; - version = "0.4.5"; + version = "1.0.0"; }; crass = { groups = ["default" "development" "pam_authentication" "production" "test"]; @@ -663,10 +597,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04q1vin8slr3k8mp76qz0wqgap6f9kdsbryvgfq9fljhrm463kpj"; + sha256 = "0xs3d0ihwg1z4h28d51hb07k926d1rlwy6c2c9ygbicg76srk0qa"; type = "gem"; }; - version = "1.14.0"; + version = "1.19.0"; + }; + csv = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0zfn40dvgjk1xv1z8l11hr9jfg3jncwsc9yhzsz4l4rivkpivg8b"; + type = "gem"; + }; + version = "3.3.0"; }; database_cleaner-active_record = { dependencies = ["activerecord" "database_cleaner-core"]; @@ -674,10 +618,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12hdsqnws9gyc9sxiyc8pjiwr0xa7136m1qbhmd1pk3vsrrvk13k"; + sha256 = "1iz1hv2b1z7509dxvxdwzay1hhs24glxls5ldbyh688zxkcdca1j"; type = "gem"; }; - version = "2.1.0"; + version = "2.2.0"; }; database_cleaner-core = { groups = ["default" "test"]; @@ -699,15 +643,26 @@ }; version = "3.3.4"; }; + debug = { + dependencies = ["irb" "reline"]; + groups = ["development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1z77qyzcmvz3ciny6cb24s79a243jqkybqk30b310yichp02dq28"; + type = "gem"; + }; + version = "1.9.2"; + }; debug_inspector = { groups = ["default" "development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01l678ng12rby6660pmwagmyg8nccvjfgs3487xna7ay378a59ga"; + sha256 = "18k8x9viqlkh7dbmjzh8crbjy8w480arpa766cw1dnn3xcpa1pwv"; type = "gem"; }; - version = "1.1.0"; + version = "1.2.0"; }; devise = { dependencies = ["bcrypt" "orm_adapter" "railties" "responders" "warden"]; @@ -715,21 +670,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vpd7d61d4pfmyb2plnnv82wmczzlhw4k4gjhd2fv4r6vq8ilqqi"; + sha256 = "1y57fpcvy1kjd4nb7zk7mvzq62wqcpfynrgblj558k3hbvz4404j"; type = "gem"; }; - version = "4.9.2"; + version = "4.9.4"; }; devise-two-factor = { - dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"]; + dependencies = ["activesupport" "devise" "railties" "rotp"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nk43p339zyp4y5vab3w3s0zbjd4xfs8qn0ymxdnz6d961dbbdm8"; + sha256 = "1yx6ym8a9szwnq9yziljidqjn6gf99blvz1yib9qdd0qcg5x5hp8"; type = "gem"; }; - version = "4.1.0"; + version = "6.0.0"; }; devise_pam_authenticatable2 = { dependencies = ["devise" "rpam2"]; @@ -747,10 +702,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0rwvjahnp7cpmracd8x732rjgnilqv2sx7d1gfrysslc3h039fa9"; + sha256 = "1znxccz83m4xgpd239nyqxlifdb7m8rlfayk6s259186nkgj6ci7"; type = "gem"; }; - version = "1.5.0"; + version = "1.5.1"; }; discard = { dependencies = ["activerecord"]; @@ -758,31 +713,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1xavjhccyyzn9z6fz3034vgvzprc983mbrq6n9sc0drfw7m3vrip"; + sha256 = "0rysimck60hkj1japwb2np75kaf4jq8jvfzijh2izhadrabqj8am"; type = "gem"; }; - version = "1.2.1"; + version = "1.3.0"; }; docile = { groups = ["default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1lxqxgq71rqwj1lpl9q1mbhhhhhhdkkj7my341f2889pwayk85sz"; + sha256 = "07pj4z3h8wk4fgdn6s62vw1lwvhj0ac0x10vfbdkr9xzk7krn5cn"; type = "gem"; }; - version = "1.4.0"; + version = "1.4.1"; }; domain_name = { - dependencies = ["unf"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lcqjsmixjp52bnlgzh4lg9ppsk52x9hpwdjd53k8jnbah2602h0"; + sha256 = "0cyr2xm576gqhqicsyqnhanni47408w2pgvrfi8pd13h2li3nsaz"; type = "gem"; }; - version = "0.5.20190701"; + version = "0.6.20240107"; }; doorkeeper = { dependencies = ["railties"]; @@ -790,41 +744,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1q2pywgyn6cbnm0fh3dln5z1qgd1g8hvb4x8rppjc1bpfxnfhi13"; + sha256 = "0a6nbc12nfz355am2vwm1ql2p8zck7mr941glghmnl32djaga24b"; type = "gem"; }; - version = "5.6.6"; + version = "5.7.1"; }; dotenv = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1n0pi8x8ql5h1mijvm8lgn6bhq4xjb5a500p5r1krq4s6j9lg565"; + sha256 = "0aanng90ad6vg9sm3qlq1223k456qw2xli9kcx13a3ga33kh5ibd"; type = "gem"; }; - version = "2.8.1"; + version = "3.1.4"; }; - dotenv-rails = { - dependencies = ["dotenv" "railties"]; - groups = ["default"]; + drb = { + groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0v0gcbxzypcvy6fqq4gp80jb310xvdwj5n8qw9ci67g5yjvq2nxh"; + sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; - version = "2.8.1"; - }; - ed25519 = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0zb2dr2ihb1qiknn5iaj1ha1w9p7lj9yq5waasndlfadz225ajji"; - type = "gem"; - }; - version = "1.3.0"; + version = "2.2.1"; }; elasticsearch = { dependencies = ["elasticsearch-api" "elasticsearch-transport"]; @@ -832,10 +775,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0havyxmvl157a653prspnbhgdchlx44xqxl170v1im5ggxwavcaq"; + sha256 = "11pw5x7kg6f6m8rqy2kpbzdlnvijjpmbqkj2gz8237wkbl40y27d"; type = "gem"; }; - version = "7.13.3"; + version = "7.17.11"; }; elasticsearch-api = { dependencies = ["multi_json"]; @@ -843,10 +786,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bmssarkk7lqkjdn8c9j7jvxcnn4hg1zcmhsky8bfvc99k33b3w8"; + sha256 = "01wi43a3zylrq2vca08vir5va142g5m3jcsak3rprjck8jvggn7y"; type = "gem"; }; - version = "7.13.3"; + version = "7.17.11"; }; elasticsearch-dsl = { groups = ["default"]; @@ -859,35 +802,36 @@ version = "0.1.10"; }; elasticsearch-transport = { - dependencies = ["faraday" "multi_json"]; + dependencies = ["base64" "faraday" "multi_json"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0blfii8qvj0m6bg9sbfynxc40in7zfmw2wpi4clv7d9gclk053db"; + sha256 = "00qgyyvjyyv7z22qjd408pby1h7902gdwkh8h3z3jk2y57amg06i"; type = "gem"; }; - version = "7.13.3"; + version = "7.17.11"; }; - encryptor = { - groups = ["default"]; + email_spec = { + dependencies = ["htmlentities" "launchy" "mail"]; + groups = ["test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s8rvfl0vn8w7k1sgkc234060jh468s3zd45xa64p1jdmfa3zwmb"; + sha256 = "049dhlyy2hcksp1wj9mx2fngk5limkm3afxysnizg1hi2dxbw8yz"; type = "gem"; }; - version = "3.0.0"; + version = "2.3.0"; }; erubi = { groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08s75vs9cxlc4r1q2bjg4br8g9wc5lc5x5vl0vv4zq5ivxsdpgi7"; + sha256 = "0qnd6ff4az22ysnmni3730c41b979xinilahzg86bn7gv93ip9pw"; type = "gem"; }; - version = "1.12.0"; + version = "1.13.0"; }; et-orbi = { dependencies = ["tzinfo"]; @@ -905,31 +849,31 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08r6qgbpkxxsihjmlspk3l1sr69q5hx35p1l4wp7rmkbzys89867"; + sha256 = "0ala6123d3cv965ss48iyi0q4hcbzrznfwv2f1mr91sy98cigq4h"; type = "gem"; }; - version = "0.100.0"; + version = "0.111.0"; }; fabrication = { - groups = ["test"]; + groups = ["development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bxssmjp49whzq2zv7w751gr4nkdaiwcxd1vda0byigwyrnj6f5q"; + sha256 = "1al5iv3as21l5clci0b5cg27z136pan7gkj7plp4l0w83c6z2y9c"; type = "gem"; }; - version = "2.30.0"; + version = "2.31.0"; }; faker = { dependencies = ["i18n"]; - groups = ["test"]; + groups = ["development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ysiqlvyy1351bzx7h92r93a35s32l8giyf9bac6sgr142sh3cnn"; + sha256 = "1xj0xx2snnxzjipxpxwiki7053441jkdg10h0rmjiri040s5lssi"; type = "gem"; }; - version = "3.2.1"; + version = "3.4.2"; }; faraday = { dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"]; @@ -998,10 +942,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fi8sda5hc54v1w3mqfl5yz09nhx35kglyx72w7b8xxvdr0cwi9j"; + sha256 = "10n6wikd442mfm15hd6gzm0qb527161w1wwch4h5m4iclkz2x6b3"; type = "gem"; }; - version = "1.0.1"; + version = "1.0.2"; }; faraday-net_http_persistent = { groups = ["default"]; @@ -1079,10 +1023,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg"; + sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd"; type = "gem"; }; - version = "1.15.5"; + version = "1.16.3"; }; ffi-compiler = { dependencies = ["ffi" "rake"]; @@ -1090,10 +1034,32 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0c2caqm9wqnbidcb8dj4wd3s902z15qmgxplwyfyqbwa0ydki7q1"; + sha256 = "1844j58cdg2q6g0rqfwg4rrambnhf059h4yg9rfmrbrcs60kskx9"; type = "gem"; }; - version = "1.0.1"; + version = "1.3.2"; + }; + flatware = { + dependencies = ["drb" "thor"]; + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "13wcwdpdx1asjxvqpyxwlcazzsjisls28jjn28d9cqw9zwszcm1p"; + type = "gem"; + }; + version = "2.3.3"; + }; + flatware-rspec = { + dependencies = ["flatware" "rspec"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dgl20mi9a5iwcy6v9jq148ljy9rrvyjhp1rpd1sgadfw6kxzbhc"; + type = "gem"; + }; + version = "2.3.3"; }; fog-core = { dependencies = ["builder" "excon" "formatador" "mime-types"]; @@ -1101,10 +1067,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1agd6xgzk0rxrsjdpn94v4hy89s0nm2cs4zg2p880w2dan9xgrak"; + sha256 = "1vf21i2qpl1hagapds0qjlfl6gsyrbssifn2br2ifn3fg9j80yxl"; type = "gem"; }; - version = "2.1.0"; + version = "2.5.0"; }; fog-json = { dependencies = ["fog-core" "multi_json"]; @@ -1118,25 +1084,25 @@ version = "1.2.0"; }; fog-openstack = { - dependencies = ["fog-core" "fog-json" "ipaddress"]; + dependencies = ["fog-core" "fog-json"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11j18h61d3p0pcp9k5346lbj1lahab1dqybkrx9338932lmjn7ap"; + sha256 = "1z7k3al9bb5ypzkrvi5szpfyi8sksggq68fwxrxywq6rky5lvhdq"; type = "gem"; }; - version = "0.3.10"; + version = "1.1.3"; }; formatador = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0mprf1dwznz5ld0q1jpbyl59fwnwk6azspnd0am7zz7kfg3pxhv5"; + sha256 = "1l06bv4avphbdmr1y4g0rqlczr38k6r65b3zghrbj2ynyhm3xqjl"; type = "gem"; }; - version = "0.3.0"; + version = "1.1.0"; }; fugit = { dependencies = ["et-orbi" "raabro"]; @@ -1149,27 +1115,37 @@ }; version = "1.11.1"; }; - fuubar = { - dependencies = ["rspec-core" "ruby-progressbar"]; - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1028vn7j3kc5qqwswrf3has3qm4j9xva70xmzb3n29i89f0afwmj"; - type = "gem"; - }; - version = "2.5.1"; - }; globalid = { dependencies = ["activesupport"]; groups = ["default" "development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk"; + sha256 = "1sbw6b66r7cwdx3jhs46s4lr991969hvigkjpbdl7y3i31qpdgvh"; type = "gem"; }; - version = "1.1.0"; + version = "1.2.1"; + }; + google-protobuf = { + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0fanhdf3vzghma51w1hqpp8s585mwzxgqkwvxj5is4q9j0pgwcs3"; + type = "gem"; + }; + version = "3.25.5"; + }; + googleapis-common-protos-types = { + dependencies = ["google-protobuf"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0sqmmfdxjp3fy7hzvl35bnd0yb0ds9030np5jqh338qz4w661cap"; + type = "gem"; + }; + version = "1.15.0"; }; haml = { dependencies = ["temple" "thor" "tilt"]; @@ -1177,10 +1153,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "154svzqlkdq7gslv3p8mfih28gbw4gsj4pd8wr1wpwz6nyzmhh8m"; + sha256 = "15yxph91zswbnfy7szpdcfbdfqqn595ff290hm4f6fcnhryvhvlf"; type = "gem"; }; - version = "6.1.2"; + version = "6.3.0"; }; haml-rails = { dependencies = ["actionpack" "activesupport" "haml" "railties"]; @@ -1199,20 +1175,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qics7sll6yw7fm499q4b1frfr5f3gav94ach0fwy49zprl9yk33"; + sha256 = "1mf24djxk6968n0ypwbib790nzijcf03m4kw0dnks8csfxj6hy9g"; type = "gem"; }; - version = "0.50.0"; + version = "0.58.0"; }; hashdiff = { groups = ["default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1nynpl0xbj0nphqx1qlmyggq58ms1phf5i03hk64wcc0a17x1m1c"; + sha256 = "0slky0n6n12gjgimzdbdigpwyg5wgq8fysjwkzzfw33ff8b675n7"; type = "gem"; }; - version = "1.0.1"; + version = "1.1.1"; }; hashie = { groups = ["default"]; @@ -1236,14 +1212,15 @@ version = "7.1.0"; }; highline = { + dependencies = ["reline"]; groups = ["default" "development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1f8cr014j7mdqpdb9q17fp5vb5b8n1pswqaif91s3ylg5x3pygfn"; + sha256 = "1q0f7izfi542sp93gl276spm0xyws1kpqxm0alrwwmz06mz4i0ks"; type = "gem"; }; - version = "2.1.0"; + version = "3.1.1"; }; hiredis = { groups = ["default"]; @@ -1276,15 +1253,15 @@ version = "4.3.4"; }; http = { - dependencies = ["addressable" "http-cookie" "http-form_data" "llhttp-ffi"]; + dependencies = ["addressable" "base64" "http-cookie" "http-form_data" "llhttp-ffi"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1bzb8p31kzv6q5p4z5xq88mnqk414rrw0y5rkhpnvpl29x5c3bpw"; + sha256 = "05b1khh7wxga9jviy9yi8z1nckxbm3svlzv40y0zvq3nag3d77mr"; type = "gem"; }; - version = "5.1.1"; + version = "5.2.0"; }; http-cookie = { dependencies = ["domain_name"]; @@ -1333,10 +1310,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zjsgrlvwpqsnrza4ijlxjld4550c661sgbqp2j2wp638nlnls1a"; + sha256 = "098n4dfmiydbm9if52h17kxglbli9gihjgzhcghv274ni2c9ab49"; type = "gem"; }; - version = "1.6.2"; + version = "1.7.0"; }; i18n = { dependencies = ["concurrent-ruby"]; @@ -1344,21 +1321,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ffix518y7976qih9k1lgnc17i3v6yrlh0a3mckpxdb4wc2vrp16"; + sha256 = "0k31wcgnvcvd14snz0pfqj976zv6drfsnq6x8acz10fiyms9l8nw"; type = "gem"; }; - version = "1.14.5"; + version = "1.14.6"; }; i18n-tasks = { - dependencies = ["activesupport" "ast" "better_html" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"]; + dependencies = ["activesupport" "ast" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"]; groups = ["development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "19zkcsqwzc3i6vizj26mxxww6m5grv9zmp6yxyswbqq9kyzb081z"; + sha256 = "1v03380ffwwa84xzsc6dhkc57cs156qx5aij4bfdcs1j5bpxmn1s"; type = "gem"; }; - version = "1.0.12"; + version = "1.0.14"; }; idn-ruby = { groups = ["default"]; @@ -1370,15 +1347,37 @@ }; version = "0.1.5"; }; - ipaddress = { + inline_svg = { + dependencies = ["activesupport" "nokogiri"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1x86s0s11w202j6ka40jbmywkrx8fhq8xiy8mwvnkhllj57hqr45"; + sha256 = "03x1z55sh7cpb63g46cbd6135jmp13idcgqzqsnzinbg4cs2jrav"; type = "gem"; }; - version = "0.8.3"; + version = "1.10.0"; + }; + io-console = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "08d2lx42pa8jjav0lcjbzfzmw61b8imxr9041pva8xzqabrczp7h"; + type = "gem"; + }; + version = "0.7.2"; + }; + irb = { + dependencies = ["rdoc" "reline"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1y40dv3caswr81dlsyln6vnmmpzf5jcal2rqjbsglvnkb0xh0xar"; + type = "gem"; + }; + version = "1.14.1"; }; jmespath = { groups = ["default"]; @@ -1395,10 +1394,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6"; + sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q"; type = "gem"; }; - version = "2.6.3"; + version = "2.7.2"; }; json-canonicalization = { groups = ["default"]; @@ -1422,15 +1421,15 @@ version = "1.15.3.1"; }; json-ld = { - dependencies = ["htmlentities" "json-canonicalization" "link_header" "multi_json" "rack" "rdf"]; + dependencies = ["htmlentities" "json-canonicalization" "link_header" "multi_json" "rack" "rdf" "rexml"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1carfj87p6cpd0xnysg5sj653rqmmwnnacsmjk42xdy40j15gp88"; + sha256 = "09xbw6kc95qgmqcfjp0jjw8dnfm28lw9b5lf8bdh3p2vpy9ihlxr"; type = "gem"; }; - version = "3.3.1"; + version = "3.3.2"; }; json-ld-preloaded = { dependencies = ["json-ld" "rdf"]; @@ -1438,10 +1437,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "004s52m37b2kbw8dv4rdfm2d90h1023z1mw9zfcs0x87v8aq7zyn"; + sha256 = "1f28ipp845xmqkgd0c22lw5fpv4fiama4ms3z1z5p0kbvi22f2c1"; type = "gem"; }; - version = "3.2.2"; + version = "3.3.0"; }; json-schema = { dependencies = ["addressable"]; @@ -1449,10 +1448,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "155rygs093i8i04i38a97hs5icmqk2jkkhx76w31yxyr3bxfbgx3"; + sha256 = "0yn0k02pdb7ds1fszwadxqdsjbkm7xjkfhwpzy7iqij47g0kwv7g"; type = "gem"; }; - version = "4.0.0"; + version = "5.0.0"; }; jsonapi-renderer = { groups = ["default"]; @@ -1523,10 +1522,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14gnkcp924v8sbay7q6vz4kn37jylbnvrhi4y5c5jcffd51fbwid"; + sha256 = "1j8z0757rb4kly4ghdzd6ihch6x5i0d53r543x2y9xa8cyrj7c4m"; type = "gem"; }; - version = "7.2.1"; + version = "7.2.2"; }; language_server-protocol = { groups = ["default" "development"]; @@ -1539,15 +1538,15 @@ version = "3.17.0.3"; }; launchy = { - dependencies = ["addressable"]; - groups = ["default" "development"]; + dependencies = ["addressable" "childprocess"]; + groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06r43899384das2bkbrpsdxsafyyqa94il7111053idfalb4984a"; + sha256 = "0b3zi9ydbibyyrrkr6l8mcs6l7yam18a4wg22ivgaz0rl2yn1ymp"; type = "gem"; }; - version = "2.5.2"; + version = "3.0.1"; }; letter_opener = { dependencies = ["launchy"]; @@ -1555,10 +1554,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1y5d4ip4l12v58bgazadl45iv3a5j7jp2gwg96b6jy378zn42a1d"; + sha256 = "1cnv3ggnzyagl50vzs1693aacv08bhwlprcvjp8jcg2w7cp3zwrg"; type = "gem"; }; - version = "1.8.1"; + version = "1.10.0"; }; letter_opener_web = { dependencies = ["actionmailer" "letter_opener" "railties" "rexml"]; @@ -1566,10 +1565,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vvvaz2ngaxv0s6sj25gdvp73vd8pfl8q3jharadg18p3va0m1ik"; + sha256 = "0q4qfi5wnn5bv93zjf10agmzap3sn7gkfmdbryz296wb1vz1wf9z"; type = "gem"; }; - version = "2.0.0"; + version = "3.0.0"; }; link_header = { groups = ["default"]; @@ -1587,10 +1586,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00dh6zmqdj59rhcya0l4b9aaxq6n8xizfbil93k0g06gndyk5xz5"; + sha256 = "1yph78m8w8l6i9833fc7shy5krk4mnqjc7ys0bg9kgxw8jnl0vs9"; type = "gem"; }; - version = "0.4.0"; + version = "0.5.0"; + }; + logger = { + groups = ["default" "development" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s"; + type = "gem"; + }; + version = "1.6.1"; }; lograge = { dependencies = ["actionpack" "activesupport" "railties" "request_store"]; @@ -1598,10 +1607,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01kdw5dbzimb89rq4zf44zf8990czb5qxvib0hzja1l4hrha8cki"; + sha256 = "1qcsvh9k4c0cp6agqm9a8m4x2gg7vifryqr7yxkg2x9ph9silds2"; type = "gem"; }; - version = "0.13.0"; + version = "0.14.0"; }; loofah = { dependencies = ["crass" "nokogiri"]; @@ -1609,10 +1618,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0d5p9vg2qkqfy60i93mpd3b25kw4bdxfai034y5a94pxp5fws61c"; + sha256 = "1zkjqf37v2d7s11176cb35cl83wls5gm3adnfkn2zcc61h3nxmqh"; type = "gem"; }; - version = "2.21.4"; + version = "2.22.0"; }; mail = { dependencies = ["mini_mime" "net-imap" "net-pop" "net-smtp"]; @@ -1672,20 +1681,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1c81d68r4wx0ckbmqxlfqc2qpd94jwcmqdm0xgr0s46r48pv9k9q"; + sha256 = "1y58ba08n4lx123c0hjcc752fc4x802mjy39qj1hq50ak3vpv8br"; type = "gem"; }; - version = "1.0.1"; - }; - method_source = { - groups = ["default" "development" "pam_authentication" "production" "test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp"; - type = "gem"; - }; - version = "1.0.0"; + version = "1.1.0"; }; mime-types = { dependencies = ["mime-types-data"]; @@ -1693,20 +1692,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0q8d881k1b3rbsfcdi3fx0b5vpdr5wcrhn88r2d9j7zjdkxp5mw5"; + sha256 = "1r64z0m5zrn4k37wabfnv43wa6yivgdfk6cf2rpmmirlz889yaf1"; type = "gem"; }; - version = "3.5.1"; + version = "3.5.2"; }; mime-types-data = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17zdim7kzrh5j8c97vjqp4xp78wbyz7smdp4hi5iyzk0s9imdn5a"; + sha256 = "1vdgz66z8kgw9xrwvrzrcjb5dary9k9hwm0pkk5fq6f5h6i73zds"; type = "gem"; }; - version = "3.2023.0808"; + version = "3.2024.0820"; }; mini_mime = { groups = ["default" "development" "test"]; @@ -1733,20 +1732,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jnpsbb2dbcs95p4is4431l2pw1l5pn7dfg3vkgb4ga464j0c5l6"; + sha256 = "1n1akmc6bibkbxkzm1p1wmfb4n9vv397knkgz0ffykb3h1d7kdix"; type = "gem"; }; - version = "5.19.0"; + version = "5.25.1"; }; msgpack = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "06n7556vxr3awh92xy1k5bli98bvq4pjm08mnl68ay4fzln7lcsg"; + sha256 = "1a5adcb7bwan09mqhj3wi9ib52hmdzmqg7q08pggn3adibyn5asr"; type = "gem"; }; - version = "1.7.1"; + version = "1.7.2"; }; multi_json = { groups = ["default"]; @@ -1763,10 +1762,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lgyysrpl50wgcb9ahg29i4p01z0irb3p9lirygma0kkfr5dgk9x"; + sha256 = "1a5lrlvmg2kb2dhw3lxcsv6x276bwgsxpnka1752082miqxd0wlq"; type = "gem"; }; - version = "2.3.0"; + version = "2.4.1"; + }; + mutex_m = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1ma093ayps1m92q845hmpk0dmadicvifkbf05rpq9pifhin0rvxn"; + type = "gem"; + }; + version = "0.2.0"; }; net-http = { dependencies = ["uri"]; @@ -1774,10 +1783,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0y55ib1v2b8prqfi9ij7hca60b1j94s2bzr6vskwi3i5735472wq"; + sha256 = "10n2n9aq00ih8v881af88l1zyrqgs5cl3njdw8argjwbl5ggqvm9"; type = "gem"; }; - version = "0.3.2"; + version = "0.4.1"; }; net-http-persistent = { dependencies = ["connection_pool"]; @@ -1792,24 +1801,24 @@ }; net-imap = { dependencies = ["date" "net-protocol"]; - groups = ["default" "development"]; + groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0lf7wqg7czhaj51qsnmn28j7jmcxhkh3m28rl1cjrqsgjxhwj7r3"; + sha256 = "0gdmhc6nh8cdq2hdlqyrmnl2pdmvab9j7s6fpfvq5kyga0fi4s74"; type = "gem"; }; - version = "0.3.7"; + version = "0.4.15"; }; net-ldap = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0xqcffn3c1564c4fizp10dzw2v5g2pabdzrcn25hq05bqhsckbar"; + sha256 = "0g9gz39bs2iy4ky4fhjphimqd9m9wdsaz50anxgwg3yjrff3famy"; type = "gem"; }; - version = "0.18.0"; + version = "0.19.0"; }; net-pop = { dependencies = ["net-protocol"]; @@ -1833,37 +1842,16 @@ }; version = "0.2.2"; }; - net-scp = { - dependencies = ["net-ssh"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1si2nq9l6jy5n2zw1q59a5gaji7v9vhy8qx08h4fg368906ysbdk"; - type = "gem"; - }; - version = "4.0.0"; - }; net-smtp = { dependencies = ["net-protocol"]; - groups = ["default" "development"]; + groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0hwiqplhi29kfjl8jm0rhl51qv6wmxfynl4qap1dhv9xdwc4bm1x"; + sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z"; type = "gem"; }; - version = "0.3.4"; - }; - net-ssh = { - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0yx0pb5fmziz92bw8qzbh8vf20lr56nd3s6q8h0gsgr307lki687"; - type = "gem"; - }; - version = "7.1.0"; + version = "0.5.0"; }; nio4r = { groups = ["default"]; @@ -1886,26 +1874,16 @@ }; version = "1.16.7"; }; - nsa = { - dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1narh0bj0c9pg8cb2jhpydfa9mnm3dclckzk5s6xrwa2gm99hnk4"; - type = "gem"; - }; - version = "0.3.0"; - }; oj = { + dependencies = ["bigdecimal" "ostruct"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m4vsd6i093kmyz9gckvzpnws997laldaiaf86hg5lza1ir82x7n"; + sha256 = "1k2skb0n7mf2azznnbsa6irwghdxlmnhdxv9qs6jqg3gd0k2n4zx"; type = "gem"; }; - version = "3.16.1"; + version = "3.16.6"; }; omniauth = { dependencies = ["hashie" "rack" "rack-protection"]; @@ -1923,13 +1901,11 @@ groups = ["default"]; platforms = []; source = { - fetchSubmodules = false; - rev = "4211e6d05941b4a981f9a36b49ec166cecd0e271"; - sha256 = "1zs0xp062f6wk7xxy8w81838qr855kp7idbgpbrhpl319xzc1xkc"; - type = "git"; - url = "https://github.com/stanhu/omniauth-cas.git"; + remotes = ["https://rubygems.org"]; + sha256 = "13z686dmkdssm4d5b0k45ydavhjrzcaqzyqxvvmaqn3a0vc6klbs"; + type = "gem"; }; - version = "2.0.0"; + version = "3.0.0"; }; omniauth-rails_csrf_protection = { dependencies = ["actionpack" "omniauth"]; @@ -1937,10 +1913,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kwswnkyl8ym6i4wv65qh3qchqbf2n0c6lbhfgbvkds3gpmnlm7w"; + sha256 = "1q2zvkw34vk1vyhn5kp30783w1wzam9i9g5ygsdjn2gz59kzsw0i"; type = "gem"; }; - version = "1.0.1"; + version = "1.0.2"; }; omniauth-saml = { dependencies = ["omniauth" "ruby-saml"]; @@ -1948,10 +1924,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05idjrc01nmmqz4g7kv16xd9yfzzvyibxzfrxk8rcwd1p0zgsxnb"; + sha256 = "00nn24s74miy7p65y8lwpjfwgcn7fwld61f9ghngal4asgw6pfwa"; type = "gem"; }; - version = "2.1.2"; + version = "2.2.1"; }; omniauth_openid_connect = { dependencies = ["omniauth" "openid_connect"]; @@ -1980,10 +1956,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0c649921vg2l939z5cc3jwd8p1v49099pdhxfk7sb9qqx5wi5873"; + sha256 = "054d6ybgjdzxw567m7rbnd46yp6gkdbc5ihr536vxd3p15vbhjrw"; type = "gem"; }; - version = "3.1.0"; + version = "3.2.0"; }; openssl-signature_algorithm = { dependencies = ["openssl"]; @@ -1996,6 +1972,291 @@ }; version = "1.3.0"; }; + opentelemetry-api = { + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0dj0cqxz0fl2934pmq4pvnb4wpapjfcsjnzb8vll08bcspjdwcx7"; + type = "gem"; + }; + version = "1.4.0"; + }; + opentelemetry-common = { + dependencies = ["opentelemetry-api"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "160ws06d8mzx3hwjss2i954h8r86dp3sw95k2wrbq81sb121m2gy"; + type = "gem"; + }; + version = "0.21.0"; + }; + opentelemetry-exporter-otlp = { + dependencies = ["google-protobuf" "googleapis-common-protos-types" "opentelemetry-api" "opentelemetry-common" "opentelemetry-sdk" "opentelemetry-semantic_conventions"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yl10v1vvb9krvvks0si5nbjpknz8lcbbcryqkf2g0db3kha072d"; + type = "gem"; + }; + version = "0.29.0"; + }; + opentelemetry-helpers-sql-obfuscation = { + dependencies = ["opentelemetry-common"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0v44n3lgkclnfjg9iz5jaay7fkcqvb35jrkm2b68fr2cyy778mnz"; + type = "gem"; + }; + version = "0.2.0"; + }; + opentelemetry-instrumentation-action_mailer = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-active_support" "opentelemetry-instrumentation-base"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1afibmwprdiqnkin7lb6zdxng36rqa7qbl5fl9wx0lchpc039zjj"; + type = "gem"; + }; + version = "0.1.0"; + }; + opentelemetry-instrumentation-action_pack = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base" "opentelemetry-instrumentation-rack"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16nbkayp8jb2zkqj2rmqd4d1mz4wdf0zg6jx8b0vzkf9mxr89py5"; + type = "gem"; + }; + version = "0.9.0"; + }; + opentelemetry-instrumentation-action_view = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-active_support" "opentelemetry-instrumentation-base"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "17qild0js6rgv95rphhs19jhd6ixspv1qvpijchqxmxg8waxmwih"; + type = "gem"; + }; + version = "0.7.2"; + }; + opentelemetry-instrumentation-active_job = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1a5afx39bf0pzi0w75ic8zs8447i96993h056ww4vr23zl585f2x"; + type = "gem"; + }; + version = "0.7.7"; + }; + opentelemetry-instrumentation-active_model_serializers = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0yw98f8z6k4c8ns7p8ik2dc68p4vbi12xnavzw0vqhlnny4nx0n7"; + type = "gem"; + }; + version = "0.20.2"; + }; + opentelemetry-instrumentation-active_record = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0vr690556iaycwdipr962k3pfv97a2sgv4b6f6jwm9hg3mqfqcpg"; + type = "gem"; + }; + version = "0.7.3"; + }; + opentelemetry-instrumentation-active_support = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1q07nn9ipq2yd7xjj24hh00cbvlda269k1l0xfkc8d8iw8mixrsg"; + type = "gem"; + }; + version = "0.6.0"; + }; + opentelemetry-instrumentation-base = { + dependencies = ["opentelemetry-api" "opentelemetry-common" "opentelemetry-registry"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0psjpqigi7k0fky1kd54jzf9r779vh2c86ngjppn7ifmnh4n3r9y"; + type = "gem"; + }; + version = "0.22.6"; + }; + opentelemetry-instrumentation-concurrent_ruby = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1khlhzwb37mqnzr1vr49ljhi4bplmq9w8ndm0k8xbfsr8h8wivq4"; + type = "gem"; + }; + version = "0.21.4"; + }; + opentelemetry-instrumentation-excon = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14g6dvk31kz9v9qbr2w6ggxk96v3kaadm8wvnw3qsrsc4pd9ycns"; + type = "gem"; + }; + version = "0.22.4"; + }; + opentelemetry-instrumentation-faraday = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0np6wnckn12df6mwcr695fvjy3x2s6541ywr7ahw8a8dszs0qjsh"; + type = "gem"; + }; + version = "0.24.6"; + }; + opentelemetry-instrumentation-http = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "05mrlg8msp59bagpc18ycr9333760kqp780gw8fgqn1798dl02qr"; + type = "gem"; + }; + version = "0.23.4"; + }; + opentelemetry-instrumentation-http_client = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0g6f5zv0bq585ppgzhm6acrpkz32j1h7zyrcy1r8n3ha41daip1z"; + type = "gem"; + }; + version = "0.22.7"; + }; + opentelemetry-instrumentation-net_http = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1l26f8sqsjjcc72a5xr9as3gibm4sgj8n004y15i5vbvdgzjfx60"; + type = "gem"; + }; + version = "0.22.7"; + }; + opentelemetry-instrumentation-pg = { + dependencies = ["opentelemetry-api" "opentelemetry-helpers-sql-obfuscation" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1lgkjp0h0hf51n6afgafqaswvm06ybsvj3yf7dxxkzjpnzgxvjvg"; + type = "gem"; + }; + version = "0.29.0"; + }; + opentelemetry-instrumentation-rack = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1dmfxcc2xz2qa4zp0sks5zrqcfr4fbpbc9xdgvcv8ys0ipf7pwn0"; + type = "gem"; + }; + version = "0.24.6"; + }; + opentelemetry-instrumentation-rails = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-action_mailer" "opentelemetry-instrumentation-action_pack" "opentelemetry-instrumentation-action_view" "opentelemetry-instrumentation-active_job" "opentelemetry-instrumentation-active_record" "opentelemetry-instrumentation-active_support" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12k4s1k9wa257bqfny33byscb4ai86jw4q6ygrzsj3iv2bij07w9"; + type = "gem"; + }; + version = "0.31.2"; + }; + opentelemetry-instrumentation-redis = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1qrgnk2x64sks9gqb7fycfa6sass6ddqzh5dms4hdbz1bzag581f"; + type = "gem"; + }; + version = "0.25.7"; + }; + opentelemetry-instrumentation-sidekiq = { + dependencies = ["opentelemetry-api" "opentelemetry-instrumentation-base"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0cfzw1avv52idxvq02y95g3byxsswccck78zch5hmnnzvp5f59nn"; + type = "gem"; + }; + version = "0.25.7"; + }; + opentelemetry-registry = { + dependencies = ["opentelemetry-api"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1pw87n9vpv40hf7f6gyl2vvbl11hzdkv4psbbv3x23jvccs8593k"; + type = "gem"; + }; + version = "0.3.1"; + }; + opentelemetry-sdk = { + dependencies = ["opentelemetry-api" "opentelemetry-common" "opentelemetry-registry" "opentelemetry-semantic_conventions"]; + groups = ["opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0div7n5wac7x1l9fwdpb3bllw18cns93c7xccy27r4gmvv02f46s"; + type = "gem"; + }; + version = "1.5.0"; + }; + opentelemetry-semantic_conventions = { + dependencies = ["opentelemetry-api"]; + groups = ["default" "opentelemetry"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "10anxw736pg85nw8vb11xnr5faq7qj8a1d8c62qbpjs6m0izi77y"; + type = "gem"; + }; + version = "1.10.1"; + }; orm_adapter = { groups = ["default" "pam_authentication"]; platforms = []; @@ -2006,25 +2267,35 @@ }; version = "0.5.0"; }; + ostruct = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "11dsv71gfbhy92yzj3xkckjzdai2bsz5a4fydgimv62dkz4kc5rv"; + type = "gem"; + }; + version = "0.6.0"; + }; ox = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yq0h1niimm8z6z8p1yxb104kxqw69bvbrax84598zfjxifcxhxz"; + sha256 = "0w9gavjrvciip497hpdjpcs2c18vf6cgmlj696ynpaqv96804glr"; type = "gem"; }; - version = "2.14.17"; + version = "2.14.18"; }; parallel = { groups = ["default" "development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0jcc512l38c0c163ni3jgskvq1vc3mr8ly5pvjijzwvfml9lf597"; + sha256 = "1vy7sjs2pgz4i96v5yk9b7aafbffnvq7nn419fgvw55qlavsnsyq"; type = "gem"; }; - version = "1.23.0"; + version = "1.26.3"; }; parser = { dependencies = ["ast" "racc"]; @@ -2032,10 +2303,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1swigds85jddb5gshll1g8lkmbcgbcp9bi1d4nigwvxki8smys0h"; + sha256 = "1cqs31cyg2zp8yx2zzm3zkih0j93q870wasbviy2w343nxqvn3pk"; type = "gem"; }; - version = "3.2.2.3"; + version = "3.3.5.0"; }; parslet = { groups = ["default"]; @@ -2063,10 +2334,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0s4vskbydg5k0z86v2g5drf03lslkr4b1l421vz29531jlrsljvy"; + sha256 = "0dsgcmzc55w7i9cpghfkzhmiskzndvp1vijd8c5ryv8xvlwikmzg"; type = "gem"; }; - version = "1.5.5"; + version = "1.5.8"; }; pghero = { dependencies = ["activerecord"]; @@ -2074,10 +2345,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0gzbgq392b0z7ma1jrdnzzfppdlgjdl9akc4iajq4g46raqd4899"; + sha256 = "028icy2wr33a5wbh2szar1mf0syh42p3szd4bfxl1zwrby3cpnfa"; type = "gem"; }; - version = "3.3.4"; + version = "3.6.0"; }; premailer = { dependencies = ["addressable" "css_parser" "htmlentities"]; @@ -2085,10 +2356,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "10rzwdz43yy20lwzsr2as6aivhvwjvqh4nd48sa0ga57sizf1fb4"; + sha256 = "1ryivdnij1990hcqqmq4s0x1vjvfl0awjc9b91f8af17v2639qhg"; type = "gem"; }; - version = "1.21.0"; + version = "1.27.0"; }; premailer-rails = { dependencies = ["actionmailer" "net-smtp" "premailer"]; @@ -2101,25 +2372,37 @@ }; version = "1.12.0"; }; - private_address_check = { + propshaft = { + dependencies = ["actionpack" "activesupport" "rack" "railties"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05phz0vscfh9chv90yc9091pifw3cpwkh76flnhrmvja1q3na4cy"; + sha256 = "0sqg0xf46xd47zdpm8d12kfnwl0y5jb2hj10imzb3bk6mwgkd2fk"; type = "gem"; }; - version = "0.5.0"; + version = "1.1.0"; + }; + psych = { + dependencies = ["stringio"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0s5383m6004q76xm3lb732bp4sjzb6mxb6rbgn129gy2izsj4wrk"; + type = "gem"; + }; + version = "5.1.2"; }; public_suffix = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0n9j7mczl15r3kwqrah09cxj8hxdfawiqxa60kga2bmxl9flfz9k"; + sha256 = "0vqcw3iwby3yc6avs1vb3gfd0vcp2v7q310665dvxfswmcf4xm31"; type = "gem"; }; - version = "5.0.3"; + version = "6.0.1"; }; puma = { dependencies = ["nio4r"]; @@ -2138,10 +2421,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1wb03yzy1j41822rbfh9nn77im3zh1f5v8di05cd8rsrdpws542b"; + sha256 = "0wkm850z17gy5gph5lbmaz62wx7nvkj9r690017w10phkmxd5rj3"; type = "gem"; }; - version = "2.3.0"; + version = "2.4.0"; }; raabro = { groups = ["default"]; @@ -2207,15 +2490,15 @@ version = "1.21.3"; }; rack-protection = { - dependencies = ["rack"]; + dependencies = ["base64" "rack"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kpm67az1wxlg76h620in2r7agfyhv177ps268j5ggsanzddzih8"; + sha256 = "1zzvivmdb4dkscc58i3gmcyrnypynsjwp6xgc4ylarlhqmzvlx1w"; type = "gem"; }; - version = "3.0.6"; + version = "3.2.0"; }; rack-proxy = { dependencies = ["rack"]; @@ -2223,10 +2506,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1a62439xwn5v6hsl9s11hdk4wj58czhcbg7lminv23mnkc0ca147"; + sha256 = "12jw7401j543fj8cc83lmw72d8k6bxvkp9rvbifi88hh01blnsj4"; type = "gem"; }; - version = "0.7.6"; + version = "0.7.7"; + }; + rack-session = { + dependencies = ["rack"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0xhxhlsz6shh8nm44jsmd9276zcnyzii364vhcvf0k8b8bjia8d0"; + type = "gem"; + }; + version = "1.0.2"; }; rack-test = { dependencies = ["rack"]; @@ -2239,16 +2533,27 @@ }; version = "2.1.0"; }; + rackup = { + dependencies = ["rack" "webrick"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1wbr03334ba9ilcq25wh9913xciwj0j117zs60vsqm0zgwdkwpp9"; + type = "gem"; + }; + version = "1.0.0"; + }; rails = { dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1sv5jzd3varqzcqm8zxllwiqzgbgcymszw12ci3f9zbzlliq8hby"; + sha256 = "07n5ijqxlp4jkd29s9v9b7p9rnspi7pffn4rp4h07dvds9w9xkyz"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; rails-controller-testing = { dependencies = ["actionpack" "actionview" "activesupport"]; @@ -2267,10 +2572,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "17g05y7q7934z0ib4aph8h71c2qwjmlakkm7nb2ab45q0aqkfgjd"; + sha256 = "0fx9dx1ag0s1lr6lfr34lbx5i1bvn3bhyf3w3mx6h7yz90p725g5"; type = "gem"; }; - version = "2.1.1"; + version = "2.2.0"; }; rails-html-sanitizer = { dependencies = ["loofah" "nokogiri"]; @@ -2289,34 +2594,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1bbh5gsw46djmrgddwaq3wsjmj9rsh5dk13wkclwxf1rg9jpkn3g"; + sha256 = "0s8kvic2ia34ngssz6h15wqj0k3wwblhyh0f9v0j3gy7ly0dp161"; type = "gem"; }; - version = "7.0.7"; - }; - rails-settings-cached = { - dependencies = ["rails"]; - groups = ["default"]; - platforms = []; - source = { - fetchSubmodules = false; - rev = "86328ef0bd04ce21cc0504ff5e334591e8c2ccab"; - sha256 = "06r637gimh5miq2i6ywxn9gp7nqk8n8555yw8239mykalbzda69h"; - type = "git"; - url = "https://github.com/mastodon/rails-settings-cached.git"; - }; - version = "0.6.6"; + version = "7.0.9"; }; railties = { - dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor" "zeitwerk"]; + dependencies = ["actionpack" "activesupport" "irb" "rackup" "rake" "thor" "zeitwerk"]; groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "02z7lqx0y60bzpkd4v67i9sbdh7djs0mm89h343kidx0gmq0kbh0"; + sha256 = "0njacgg01934sd942byyjkcyy3iwidysdbhp8kjrjrinackmyfal"; type = "gem"; }; - version = "7.0.8.4"; + version = "7.1.4"; }; rainbow = { groups = ["default" "development"]; @@ -2333,21 +2625,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "15whn7p9nrkxangbs9hh75q585yfn66lv0v2mhj6q6dl6x8bzr2w"; + sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6"; type = "gem"; }; - version = "13.0.6"; + version = "13.2.1"; }; rdf = { - dependencies = ["bcp47_spec" "link_header"]; + dependencies = ["bcp47_spec" "bigdecimal" "link_header"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l515w395kbyz4n7lx102x1nv9yl6l72gvk67p35z4cqa74s59nx"; + sha256 = "1mlalmbj1wkwvjha92f7v91v0pbjar9gdb2ddxdyqd24zcifn3ln"; type = "gem"; }; - version = "3.3.1"; + version = "3.3.2"; }; rdf-normalize = { dependencies = ["rdf"]; @@ -2355,10 +2647,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "12slrdq6xch5rqj1m79k1wv09264pmhs76nm300j1jsjpcfmdg0r"; + sha256 = "1glyhg7lmzbq1w7bvvf84g7kvqxcn0mw3gsh1f8w4qfvvnbl8dwj"; type = "gem"; }; - version = "0.6.1"; + version = "0.7.0"; + }; + rdoc = { + dependencies = ["psych"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ygk2zk0ky3d88v3ll7qh6xqvbvw5jin0hqdi1xkv1dhaw7myzdi"; + type = "gem"; + }; + version = "6.7.0"; }; redcarpet = { groups = ["default"]; @@ -2407,10 +2710,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "136br91alxdwh1s85z912dwz23qlhm212vy6i3wkinz3z8mkxxl3"; + sha256 = "0ik40vcv7mqigsfpqpca36hpmnx0536xa825ai5qlkv3mmkyf9ss"; type = "gem"; }; - version = "2.8.1"; + version = "2.9.2"; + }; + reline = { + dependencies = ["io-console"]; + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0rl1jmxs7pay58l7lkxkrn6nkdpk52k8rvnfwqsd1swjlxlwjq0n"; + type = "gem"; + }; + version = "0.5.10"; }; request_store = { dependencies = ["rack"]; @@ -2418,10 +2732,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13ppgmsbrqah08j06bybd3cddv6dml79yzyjn7r8j1src78h98h7"; + sha256 = "0kd4w7aa0sbk59b19s39pwhd636r7fjamrqalixsw5d53hs4sb1d"; type = "gem"; }; - version = "1.5.1"; + version = "1.6.0"; }; responders = { dependencies = ["actionpack" "railties"]; @@ -2429,20 +2743,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m9s0mkkprrz02gxhq0ijlwjy0nx1j5yrjf8ssjnhyagnx03lyrx"; + sha256 = "06ilkbbwvc8d0vppf8ywn1f79ypyymlb9krrhqv4g0q215zaiwlj"; type = "gem"; }; - version = "3.1.0"; + version = "3.1.1"; }; rexml = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09shc1dvg88c4yx83d4c9wf26z838nlapa3cmlq8iqdci39a98v2"; + sha256 = "0rr145mvjgc4n28lfy0gw87aw3ab680h83bdi5i102ik8mixk3zn"; type = "gem"; }; - version = "3.3.7"; + version = "3.3.8"; }; rotp = { groups = ["default"]; @@ -2459,10 +2773,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0pym2zjwl6dwdfvbn7rbvmds32r70jx9qddhvvi6pqy6987ack1v"; + sha256 = "072qvvrcqj0yfr3b0j932mlhvn41i38bq37z7z07i3ikagndkqwy"; type = "gem"; }; - version = "4.1.2"; + version = "4.3.0"; }; rpam2 = { groups = ["default" "pam_authentication"]; @@ -2495,16 +2809,27 @@ }; version = "1.2.0"; }; + rspec = { + dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks"]; + groups = ["default" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "14xrp8vq6i9zx37vh0yp4h9m0anx9paw200l1r5ad9fmq559346l"; + type = "gem"; + }; + version = "3.13.0"; + }; rspec-core = { dependencies = ["rspec-support"]; groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0l95bnjxdabrn79hwdhn2q1n7mn26pj7y1w5660v5qi81x458nqm"; + sha256 = "0s688wfw77fjldzayvczg8bgwcgh6bh552dw7qcj1rhjk3r4zalx"; type = "gem"; }; - version = "3.12.2"; + version = "3.13.1"; }; rspec-expectations = { dependencies = ["diff-lcs" "rspec-support"]; @@ -2512,10 +2837,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05j44jfqlv7j2rpxb5vqzf9hfv7w8ba46wwgxwcwd8p0wzi1hg89"; + sha256 = "0nm4qx9bgfzwfc1q0l3sj50vf88q1mbwkkqndbzc08wrnd5bjpsn"; type = "gem"; }; - version = "3.12.3"; + version = "3.13.2"; + }; + rspec-github = { + dependencies = ["rspec-core"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0kqjmd85v2fpb06d0rx43dc51f0igc1gmm8y3nz0wvmy7zg02njm"; + type = "gem"; + }; + version = "2.4.0"; }; rspec-mocks = { dependencies = ["diff-lcs" "rspec-support"]; @@ -2523,10 +2859,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1hfm17xakfvwya236graj6c2arr4sb9zasp35q5fykhyz8mhs0w2"; + sha256 = "0f3vgp43hajw716vmgjv6f4ar6f97zf50snny6y3fy9kkj4qjw88"; type = "gem"; }; - version = "3.12.5"; + version = "3.13.1"; }; rspec-rails = { dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"]; @@ -2534,10 +2870,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "086qdyz7c4s5dslm6j06mq7j4jmj958whc3yinhabnqqmz7i463d"; + sha256 = "1ycjggcmzbgrfjk04v26b43c3fj5jq2qic911qk7585wvav2qaxd"; type = "gem"; }; - version = "6.0.3"; + version = "7.0.1"; }; rspec-sidekiq = { dependencies = ["rspec-core" "rspec-expectations" "rspec-mocks" "sidekiq"]; @@ -2545,41 +2881,31 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0dijmcwjn8k6lrld3yqbqfrqb5g73l57yx98y5frx54p5qxjzbzy"; + sha256 = "08sbi3cdh6pxj0mj34vzr7675rb4n2r2q5yxlgs0w9xnm5c0jpdx"; type = "gem"; }; - version = "4.0.1"; + version = "5.0.0"; }; rspec-support = { groups = ["default" "development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ky86j3ksi26ng9ybd7j0qsdf1lpr8mzrmn98yy9gzv801fvhsgr"; + sha256 = "03z7gpqz5xkw9rf53835pa8a9vgj4lic54rnix9vfwmp2m7pv1s8"; type = "gem"; }; - version = "3.12.1"; - }; - rspec_chunked = { - groups = ["test"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0h4bsj3m7vb47qnx5bry4v0xscrb3lhg1f1vyxl524znb3i2qqzv"; - type = "gem"; - }; - version = "0.6"; + version = "3.13.1"; }; rubocop = { - dependencies = ["base64" "json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; + dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rubocop-ast" "ruby-progressbar" "unicode-display_width"]; groups = ["development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1i3571gchdj3c28znr5kisj0fkppy57208g9j1kv23rhk3p5q5p2"; + sha256 = "1rsyxrl647bz49gpa4flh8igg6wy7qxyh2jrp01x0kqnn5iw4y86"; type = "gem"; }; - version = "1.56.3"; + version = "1.66.1"; }; rubocop-ast = { dependencies = ["parser"]; @@ -2587,10 +2913,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "188bs225kkhrb17dsf3likdahs2p1i1sqn0pr3pvlx50g6r2mnni"; + sha256 = "03zywfpm4540q6hw8srhi8pzp0gg51w65ir8jkaw58vk3j31w820"; type = "gem"; }; - version = "1.29.0"; + version = "1.32.3"; }; rubocop-capybara = { dependencies = ["rubocop"]; @@ -2598,21 +2924,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "01fn05a87g009ch1sh00abdmgjab87i995msap26vxq1a5smdck6"; + sha256 = "1aw0n8jwhsr39r9q2k90xjmcz8ai2k7xx2a87ld0iixnv3ylw9jx"; type = "gem"; }; - version = "2.18.0"; - }; - rubocop-factory_bot = { - dependencies = ["rubocop"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0kqchl8f67k2g56sq2h1sm2wb6br5gi47s877hlz94g5086f77n1"; - type = "gem"; - }; - version = "2.23.1"; + version = "2.21.0"; }; rubocop-performance = { dependencies = ["rubocop" "rubocop-ast"]; @@ -2620,42 +2935,53 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1v3a2g3wk3aqa0k0zzla10qkxlc625zkj3yf4zcsybs86r5bm4xn"; + sha256 = "0yd616imfjvlpwsk7lw5kq9h4iz6qkmf10xlaib6b47fy5x77ncy"; type = "gem"; }; - version = "1.19.0"; + version = "1.22.1"; }; rubocop-rails = { - dependencies = ["activesupport" "rack" "rubocop"]; + dependencies = ["activesupport" "rack" "rubocop" "rubocop-ast"]; groups = ["development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05r46ds0dm44fb4p67hbz721zck8mdwblzssz2y25yh075hvs36j"; + sha256 = "1bc4xpyx0gldjdmbl9aaqav5bjiqfc2zdw7k2r1zblmgsq4ilmpm"; type = "gem"; }; - version = "2.20.2"; + version = "2.26.2"; }; rubocop-rspec = { - dependencies = ["rubocop" "rubocop-capybara" "rubocop-factory_bot"]; + dependencies = ["rubocop"]; groups = ["development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ylwy4afnxhbrvlaf8an9nrizj78axnzggiyfcp8v531cv8six5f"; + sha256 = "03vyjxs5rzrsn5graljffgzy1fgbyn99w5fz69y243dhn6gy5a66"; type = "gem"; }; - version = "2.23.2"; + version = "3.0.5"; + }; + rubocop-rspec_rails = { + dependencies = ["rubocop" "rubocop-rspec"]; + groups = ["development"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0ijc1kw81884k0wjq1sgwaxa854n1fdddscp4fnzfzlx7zl150c8"; + type = "gem"; + }; + version = "2.30.0"; }; ruby-prof = { groups = ["development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "13fsfw43zx9pcix1fzxb95g09yadqjvc8971k74krrjz81vbyh51"; + sha256 = "0hnalxnvli6248g34n0bj8p3v35vpabak34qjg778bbaavbqg5h5"; type = "gem"; }; - version = "1.6.3"; + version = "1.7.0"; }; ruby-progressbar = { groups = ["default" "development" "test"]; @@ -2678,6 +3004,17 @@ }; version = "1.17.0"; }; + ruby-vips = { + dependencies = ["ffi" "logger"]; + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0nyxwib3y2fc1lciaac0s03y3i915kyfq1kn9m19hyl5yblyhnxg"; + type = "gem"; + }; + version = "2.2.2"; + }; ruby2_keywords = { groups = ["default"]; platforms = []; @@ -2726,10 +3063,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1kymrjdpbmn4yaml3aaqyj1dzj8gqmm9h030dc2rj5mvja7fpi28"; + sha256 = "0lj1jjxn1znxmaf6jnngfrz26rw85smxb69m4jl6a9yq6gwyab54"; type = "gem"; }; - version = "6.0.2"; + version = "6.1.3"; }; scenic = { dependencies = ["activerecord" "railties"]; @@ -2737,21 +3074,21 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "04sd4jmgnwpilr3k061x87yyryya2mj15a8602fip49lfxza5548"; + sha256 = "0w0dafg0gz3snm30247wwai0cy3j235ynwx2karyh05ayfqhm4ii"; type = "gem"; }; - version = "1.7.0"; + version = "1.8.0"; }; selenium-webdriver = { - dependencies = ["rexml" "rubyzip" "websocket"]; + dependencies = ["base64" "logger" "rexml" "rubyzip" "websocket"]; groups = ["test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ws0mh230l1pvyxcrlcr48w01alfhprjs1jbd8yrn463drsr2yac"; + sha256 = "1md0sixm8dq8a7riv50x4q1z273q47b5jvcbv5hxympxn3ran4by"; type = "gem"; }; - version = "4.11.0"; + version = "4.25.0"; }; semantic_range = { groups = ["default"]; @@ -2763,6 +3100,17 @@ }; version = "3.0.0"; }; + shoulda-matchers = { + dependencies = ["activesupport"]; + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1c082vpfdf3865xq6xayxw2hwqswhnc9g030p1gi4hmk9dzvnmch"; + type = "gem"; + }; + version = "6.4.0"; + }; sidekiq = { dependencies = ["connection_pool" "rack" "redis"]; groups = ["default" "test"]; @@ -2791,10 +3139,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0p5jjs3x2pa2fy494xs39xbq642pri13809dcr1l3hjsm56qvp1h"; + sha256 = "1gnm98hdw1ndw0sryjimp4a0805yhwhjxg6njhz8xmdh5ycgljda"; type = "gem"; }; - version = "5.0.3"; + version = "5.0.6"; }; sidekiq-unique-jobs = { dependencies = ["brpoplpush-redis_script" "concurrent-ruby" "redis" "sidekiq" "thor"]; @@ -2824,10 +3172,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0z4df65w9qpri315lpvzazdxa9xb7yj0j3d77q06wf0jnpvw4mzs"; + sha256 = "0q3lwin7pk5rsxy2a663x6lph5arax9lqqk12fgwdy57i5ma749q"; type = "gem"; }; - version = "5.2.0"; + version = "5.3.1"; }; simplecov = { dependencies = ["docile" "simplecov-html" "simplecov_json_formatter"]; @@ -2850,6 +3198,16 @@ }; version = "0.12.3"; }; + simplecov-lcov = { + groups = ["test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1h8kswnshgb9zidvc88f4zjy4gflgz3854sx9wrw8ppgnwfg6581"; + type = "gem"; + }; + version = "0.8.0"; + }; simplecov_json_formatter = { groups = ["default" "test"]; platforms = []; @@ -2860,68 +3218,15 @@ }; version = "0.1.4"; }; - smart_properties = { - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "0jrqssk9qhwrpq41arm712226vpcr458xv6xaqbk8cp94a0kycpr"; - type = "gem"; - }; - version = "1.17.0"; - }; - sprockets = { - dependencies = ["concurrent-ruby" "rack"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; - type = "gem"; - }; - version = "3.7.2"; - }; - sprockets-rails = { - dependencies = ["actionpack" "activesupport" "sprockets"]; - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1b9i14qb27zs56hlcc2hf139l0ghbqnjpmfi0054dxycaxvk5min"; - type = "gem"; - }; - version = "3.4.2"; - }; - sshkit = { - dependencies = ["net-scp" "net-ssh"]; - groups = ["default" "development"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "14a717mr2cmpgld5fcdd124cvlc5b634f96rhwlnmmc4m8bbkcp9"; - type = "gem"; - }; - version = "1.21.5"; - }; stackprof = { groups = ["development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bhdgfb0pmw9mav1kw9fn0ka012sa0i3h5ppvqssw5xq48nhxnr8"; + sha256 = "1gdqqwnampxmc54nf6zfy9apkmkpdavzipvfssmjlhnrrjy8qh7f"; type = "gem"; }; - version = "0.2.25"; - }; - statsd-ruby = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "028136c463nbravckxb1qi5c5nnv9r6vh2cyhiry423lac4xz79n"; - type = "gem"; - }; - version = "1.5.0"; + version = "0.2.26"; }; stoplight = { dependencies = ["redlock"]; @@ -2929,10 +3234,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vhqx7q8qpq3x9ba504n7bp0r9dxcck0r0hd73cac2iqkix6khlv"; + sha256 = "0qq3z6mwbgj1q3b9hpxxi98i63jpqycbv13fqb8362ngk7cv06x8"; type = "gem"; }; - version = "3.0.2"; + version = "4.1.0"; + }; + stringio = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "07mfqb40b2wh53k33h91zva78f9zwcdnl85jiq74wnaw2wa6wiak"; + type = "gem"; + }; + version = "3.1.1"; }; strong_migrations = { dependencies = ["activerecord"]; @@ -2940,10 +3255,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wz4zhsp4xia8zcpi98v4sgjlv2prd515l8jz4f7j0wk45dfkjs1"; + sha256 = "07ahzxbmngwa5v2jhybaxm9zb5f15wgr19pdfk38xq838hlhyxc8"; type = "gem"; }; - version = "0.8.0"; + version = "2.0.0"; }; swd = { dependencies = ["activesupport" "attr_required" "httpclient"]; @@ -2971,10 +3286,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09p32vp94sa1mbr0if0adf02yzc4ns00lsmpwns2xbkncwpzrqm4"; + sha256 = "0fwia5hvc1xz9w7vprzjnsym3v9j5l9ggdvy70jixbvpcpz4acfz"; type = "gem"; }; - version = "0.10.2"; + version = "0.10.3"; }; terminal-table = { dependencies = ["unicode-display_width"]; @@ -2993,40 +3308,40 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0p18f05r0c5s70571gqig3z2ym74wx79s6rd45sprp207bqskzn9"; + sha256 = "0k968xzamd4y92zflrdilvc7wp8cj49n9lz34vnm95rg1j2gbqnx"; type = "gem"; }; - version = "0.6.0"; + version = "1.0.1"; }; test-prof = { groups = ["development" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mhzw33lv7h8d7pyh65lis5svnmm8m6fnszbsfg3j3xk9hcl0an5"; + sha256 = "1mydvmcm4m5501322wyl3pwmc6i5ijvwh4kb242l085j88hiqp4n"; type = "gem"; }; - version = "1.2.3"; + version = "1.4.2"; }; thor = { groups = ["default" "development" "pam_authentication" "production" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1vq1fjp45az9hfp6fxljhdrkv75cvbab1jfrwcw738pnsiqk8zps"; + sha256 = "1nmymd86a0vb39pzj2cwv57avdrl6pl3lf5bsz58q594kqxjkw7f"; type = "gem"; }; - version = "1.3.1"; + version = "1.3.2"; }; tilt = { groups = ["default" "development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0bmjgbv8158klwp2r3klxjwaj93nh1sbl4xvj9wsha0ic478avz7"; + sha256 = "0kds7wkxmb038cwp6ravnwn8k65ixc68wpm8j5jx5bhx8ndg4x6z"; type = "gem"; }; - version = "2.2.0"; + version = "2.4.0"; }; timeout = { groups = ["default" "development"]; @@ -3044,10 +3359,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0v8y5dibsyskv1ncdgszhxwzq0gzmvb0zl7sgmx0xvsgy86dhcz1"; + sha256 = "18xc7hyasg5ja2i2vb23d9c5pd6rf316kzwqxqx5d8vbs2z1a4rw"; type = "gem"; }; - version = "0.12.0"; + version = "0.12.1"; }; tty-color = { groups = ["default"]; @@ -3096,10 +3411,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18jr6s1cg8yb26wzkqa6874q0z93rq0y5aw092kdqazk71y6a235"; + sha256 = "0l4vh6g333jxm9lakilkva2gn17j6gb052626r1pdbmy2lhnb460"; type = "gem"; }; - version = "0.8.1"; + version = "0.8.2"; }; twitter-text = { dependencies = ["idn-ruby" "unf"]; @@ -3129,10 +3444,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m2d0gpsgqnv29j5h2d6g57g0rayvd460b8s2vjr8sn46bqf89m5"; + sha256 = "1cw6xv9a525mcs7202bq9768aic1dwx353prm1bss4fp2nq24a3j"; type = "gem"; }; - version = "1.2023.3"; + version = "1.2024.2"; }; unf = { dependencies = ["unf_ext"]; @@ -3150,30 +3465,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yj2nz2l101vr1x9w2k83a0fag1xgnmjwp8w8rw4ik2rwcz65fch"; + sha256 = "1sf6bxvf6x8gihv6j63iakixmdddgls58cpxpg32chckb2l18qcj"; type = "gem"; }; - version = "0.0.8.2"; + version = "0.0.9.1"; }; unicode-display_width = { groups = ["default" "development"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a"; + sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky"; type = "gem"; }; - version = "2.4.2"; + version = "2.5.0"; }; uri = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fa49cdssxllj1j37a56kq27wsibx5lmqxkqdk1rz3452y0bsydy"; + sha256 = "07ndgxyhzd02cg94s6rnfhkb9rwx9z72lzk368sa9j78wc9qnbfz"; type = "gem"; }; - version = "0.12.2"; + version = "0.13.1"; }; validate_email = { dependencies = ["activemodel" "mail"]; @@ -3214,10 +3529,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ri09bf640kkw4v6k2g90q2nw1mx2hsghhngaqgb7958q8id8xrz"; + sha256 = "1dwh2xrpwhbzyncb1wvgzz8fmln3r15iqz53c48q4swagpqzqig5"; type = "gem"; }; - version = "3.0.0"; + version = "3.1.0"; }; webfinger = { dependencies = ["activesupport" "httpclient"]; @@ -3236,10 +3551,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0vfispr7wd2p1fs9ckn1qnby1yyp4i1dl7qz8n482iw977iyxrza"; + sha256 = "08kixkdp41dw39kqfxf2wp5m4z9b6fxg6yfa6xin0wy7dxzka0dy"; type = "gem"; }; - version = "3.19.1"; + version = "3.24.0"; }; webpacker = { dependencies = ["activesupport" "rack-proxy" "railties" "semantic_range"]; @@ -3265,15 +3580,25 @@ }; version = "0.3.8"; }; + webrick = { + groups = ["default" "development" "pam_authentication" "production" "test"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "089gy5494j560b242vi173wnbj2913hwlwnjkpzld58r96ilc5s3"; + type = "gem"; + }; + version = "1.8.2"; + }; websocket = { groups = ["default" "test"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0dib6p55sl606qb4vpwrvj5wh881kk4aqn2zpfapf8ckx7g14jw8"; + sha256 = "0dr78vh3ag0d1q5gfd8960g1ca9g6arjd2w54mffid8h4i7agrxp"; type = "gem"; }; - version = "1.2.9"; + version = "1.2.11"; }; websocket-driver = { dependencies = ["websocket-extensions"]; @@ -3332,10 +3657,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08cfb35232p9s1r4jqv8wacv38vxh699mgbr9y03ga89gx9lipqp"; + sha256 = "10cpfdswql21vildiin0q7drg5zfzf2sahnk9hv3nyzzjqwj2bdx"; type = "gem"; }; - version = "2.6.16"; + version = "2.6.18"; }; } diff --git a/pkgs/servers/mastodon/source.nix b/pkgs/servers/mastodon/source.nix index dccf253ea938..9c27b1ee3297 100644 --- a/pkgs/servers/mastodon/source.nix +++ b/pkgs/servers/mastodon/source.nix @@ -1,7 +1,7 @@ # This file was generated by pkgs.mastodon.updateScript. { fetchFromGitHub, applyPatches, patches ? [] }: let - version = "4.2.13"; + version = "4.3.0"; in ( applyPatches { @@ -9,10 +9,10 @@ in owner = "mastodon"; repo = "mastodon"; rev = "v${version}"; - hash = "sha256-+HGu02fjYJ1x6Tk9AdqmFN7JHk3UnlvCdiQ/5yMu69M="; + hash = "sha256-nZtxildQmT/7JMCTx89ZSWxb9I7xMLGHTJv7v4gfdd4="; }; patches = patches ++ []; }) // { inherit version; - yarnHash = "sha256-qoLesubmSvRsXhKwMEWHHXcpcqRszqcdZgHQqnTpNPE="; + yarnHash = "sha256-V/kBkxv6akTyzlFzdR1F53b7RD0NYtap58Xt5yOAbYA="; } diff --git a/pkgs/servers/mastodon/update.sh b/pkgs/servers/mastodon/update.sh index 8e8350431e21..6d6be16e333d 100755 --- a/pkgs/servers/mastodon/update.sh +++ b/pkgs/servers/mastodon/update.sh @@ -106,7 +106,5 @@ echo "Creating gemset.nix" bundix --lockfile="$SOURCE_DIR/Gemfile.lock" --gemfile="$SOURCE_DIR/Gemfile" echo "" >> gemset.nix # Create trailing newline to please EditorConfig checks -echo "Creating yarn-hash.nix" -YARN_HASH="$(prefetch-yarn-deps "$SOURCE_DIR/yarn.lock")" -YARN_HASH="$(nix hash to-sri --type sha256 "$YARN_HASH")" -sed -i "s/sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=/$YARN_HASH/g" source.nix +echo "Required manual update of yarn-hash" +exit 1 diff --git a/pkgs/servers/mastodon/yarn.nix b/pkgs/servers/mastodon/yarn.nix new file mode 100644 index 000000000000..3fb4018906d2 --- /dev/null +++ b/pkgs/servers/mastodon/yarn.nix @@ -0,0 +1,34 @@ +{ + stdenvNoCC, + yarn-berry, + cacert, + version, + src, + hash, +}: +stdenvNoCC.mkDerivation { + pname = "yarn-deps"; + inherit version src; + + nativeBuildInputs = [ + yarn-berry + ]; + + dontInstall = true; + + NODE_EXTRA_CA_CERTS = "${cacert}/etc/ssl/certs/ca-bundle.crt"; + + buildPhase = '' + export HOME=$(mktemp -d) + export YARN_ENABLE_TELEMETRY=0 + + cache="$(yarn config get cacheFolder)" + yarn install --immutable --mode skip-build + + mkdir -p $out + cp -r $cache/* $out/ + ''; + + outputHash = hash; + outputHashMode = "recursive"; +} diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index 7cdda6534d45..a63ee485fec7 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -59,14 +59,14 @@ let in { nextcloud28 = generic { - version = "28.0.10"; - hash = "sha256-LoAVJtKJHBhf6sWYXL084pLOcKQl9Tb5GfkBuftMwhA="; + version = "28.0.11"; + hash = "sha256-S6rs7GpvFFgy28PGNdcuIM1IBKytmmZOanS5CnmB40g="; packages = nextcloud28Packages; }; nextcloud29 = generic { - version = "29.0.7"; - hash = "sha256-9TL/wxvlqDdLXgcrhv/4dl7Bn9oMhQnO45hzCB2yxUQ="; + version = "29.0.8"; + hash = "sha256-CrVLUX92zSbyvTi2/hhLn7rtMvc0JGxYwaz4NHPApLk="; packages = nextcloud29Packages; }; diff --git a/pkgs/servers/nextcloud/packages/28.json b/pkgs/servers/nextcloud/packages/28.json index 834225e95e52..ef62ba34d4fb 100644 --- a/pkgs/servers/nextcloud/packages/28.json +++ b/pkgs/servers/nextcloud/packages/28.json @@ -70,9 +70,9 @@ ] }, "forms": { - "hash": "sha256-OqqorHVWCDicQKnTxEJjeXzDrsj98vWvtWYyaRmDsUs=", - "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.2.4/forms-v4.2.4.tar.gz", - "version": "4.2.4", + "hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=", + "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz", + "version": "4.3.1", "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **πŸ“ Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **πŸ“Š View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **πŸ”’ Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **πŸ§‘β€πŸ’» Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **πŸ™‹ Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!", "homepage": "https://github.com/nextcloud/forms", "licenses": [ @@ -260,9 +260,9 @@ ] }, "spreed": { - "hash": "sha256-eMdFS5yQWJNsTVuHBZX4v0PSocP/nT+JaS7RSTYF8p0=", - "url": "https://github.com/nextcloud-releases/spreed/releases/download/v18.0.11/spreed-v18.0.11.tar.gz", - "version": "18.0.11", + "hash": "sha256-pOnL5uz8FcuHUFn7otp9NQinOqm+oCmXRHx4TM2NukI=", + "url": "https://github.com/nextcloud-releases/spreed/releases/download/v18.0.12/spreed-v18.0.12.tar.gz", + "version": "18.0.12", "description": "Chat, video & audio-conferencing using WebRTC\n\n* πŸ’¬ **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* πŸ‘₯ **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* πŸ’» **Screen sharing!** Share your screen with the participants of your call.\n* πŸš€ **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* πŸŒ‰ **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.", "homepage": "https://github.com/nextcloud/spreed", "licenses": [ @@ -311,7 +311,7 @@ }, "unsplash": { "hash": "sha256-kNDQk4HYkrBA+o+5/bNYj65ZJbViBjhnbSA87tsu6YE=", - "url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.1/unsplash.tar.gz", + "url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.2/unsplash.tar.gz", "version": "3.0.1", "description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!", "homepage": "https://github.com/nextcloud/unsplash/", @@ -330,9 +330,9 @@ ] }, "user_saml": { - "hash": "sha256-+oeTDRomjmfSLIM6eyP6MHg+qtOs8IPqIWUzBofahYQ=", - "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.2.0/user_saml-v6.2.0.tar.gz", - "version": "6.2.0", + "hash": "sha256-xxabQU8kZhgI7Q9D0n7hrFygvfZWZDnAQWnB8+A1xwE=", + "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.3.0/user_saml-v6.3.0.tar.gz", + "version": "6.3.0", "description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.", "homepage": "https://github.com/nextcloud/user_saml", "licenses": [ diff --git a/pkgs/servers/nextcloud/packages/29.json b/pkgs/servers/nextcloud/packages/29.json index df265671698d..52a805aed8d3 100644 --- a/pkgs/servers/nextcloud/packages/29.json +++ b/pkgs/servers/nextcloud/packages/29.json @@ -70,9 +70,9 @@ ] }, "forms": { - "hash": "sha256-OqqorHVWCDicQKnTxEJjeXzDrsj98vWvtWYyaRmDsUs=", - "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.2.4/forms-v4.2.4.tar.gz", - "version": "4.2.4", + "hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=", + "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz", + "version": "4.3.1", "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **πŸ“ Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **πŸ“Š View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **πŸ”’ Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **πŸ§‘β€πŸ’» Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **πŸ™‹ Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!", "homepage": "https://github.com/nextcloud/forms", "licenses": [ @@ -140,8 +140,8 @@ ] }, "maps": { - "hash": "sha256-FmRhpPRpMnCHkJFaVvQuR6Y7Pd7vpP+tUVih919g/fQ=", - "url": "https://github.com/nextcloud/maps/releases/download/v1.4.0-1-nightly/maps-1.4.0-1-nightly.tar.gz", + "hash": "sha256-BmXs6Oepwnm+Cviy4awm3S8P9AiJTt1BnAQNb4TxVYE=", + "url": "https://github.com/nextcloud/maps/releases/download/v1.4.0/maps-1.4.0.tar.gz", "version": "1.4.0", "description": "**The whole world fits inside your cloud!**\n\n- **πŸ—Ί Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **πŸ–Ό Photos on the map:** No more boring slideshows, just show directly where you were!\n- **πŸ™‹ Contacts on the map:** See where your friends live and plan your next visit.\n- **πŸ“± Devices:** Lost your phone? Check the map!\n- **γ€° Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.", "homepage": "https://github.com/nextcloud/maps", @@ -260,9 +260,9 @@ ] }, "spreed": { - "hash": "sha256-cZYE528jSNnPFgJSnqosoPyo/7V3zdUAIxnFpcOuvh4=", - "url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.9/spreed-v19.0.9.tar.gz", - "version": "19.0.9", + "hash": "sha256-CWmVARbiZAjgMpZKofWU9FTy/LCz8zXuQdGM6UMHjZ4=", + "url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.10/spreed-v19.0.10.tar.gz", + "version": "19.0.10", "description": "Chat, video & audio-conferencing using WebRTC\n\n* πŸ’¬ **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* πŸ‘₯ **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* πŸ’» **Screen sharing!** Share your screen with the participants of your call.\n* πŸš€ **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* πŸŒ‰ **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.", "homepage": "https://github.com/nextcloud/spreed", "licenses": [ @@ -311,7 +311,7 @@ }, "unsplash": { "hash": "sha256-kNDQk4HYkrBA+o+5/bNYj65ZJbViBjhnbSA87tsu6YE=", - "url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.1/unsplash.tar.gz", + "url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.2/unsplash.tar.gz", "version": "3.0.1", "description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!", "homepage": "https://github.com/nextcloud/unsplash/", @@ -330,9 +330,9 @@ ] }, "user_saml": { - "hash": "sha256-+oeTDRomjmfSLIM6eyP6MHg+qtOs8IPqIWUzBofahYQ=", - "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.2.0/user_saml-v6.2.0.tar.gz", - "version": "6.2.0", + "hash": "sha256-xxabQU8kZhgI7Q9D0n7hrFygvfZWZDnAQWnB8+A1xwE=", + "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.3.0/user_saml-v6.3.0.tar.gz", + "version": "6.3.0", "description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.", "homepage": "https://github.com/nextcloud/user_saml", "licenses": [ diff --git a/pkgs/servers/nextcloud/packages/30.json b/pkgs/servers/nextcloud/packages/30.json index f4620a76062e..8d32cb8e59aa 100644 --- a/pkgs/servers/nextcloud/packages/30.json +++ b/pkgs/servers/nextcloud/packages/30.json @@ -69,6 +69,16 @@ "agpl" ] }, + "forms": { + "hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=", + "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz", + "version": "4.3.1", + "description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **πŸ“ Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **πŸ“Š View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **πŸ”’ Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **πŸ§‘β€πŸ’» Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **πŸ™‹ Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!", + "homepage": "https://github.com/nextcloud/forms", + "licenses": [ + "agpl" + ] + }, "gpoddersync": { "hash": "sha256-OMH/pnDS/icDVUb56mzxowAhBCaVY60bMGJmwsjEc0k=", "url": "https://github.com/thrillfall/nextcloud-gpodder/releases/download/3.10.0/gpoddersync.tar.gz", @@ -120,9 +130,9 @@ ] }, "mail": { - "hash": "sha256-ldrGgqgeRLjYmtWiSAcllaIkTeeUmhjQiXrcpwgb/wk=", - "url": "https://github.com/nextcloud-releases/mail/releases/download/v4.0.0/mail-v4.0.0.tar.gz", - "version": "4.0.0", + "hash": "sha256-u0h9zCT/l9cUUFppKazx4oLkHYzlgGcb0OBOy1CXOG8=", + "url": "https://github.com/nextcloud-releases/mail/releases/download/v4.0.1/mail-v4.0.1.tar.gz", + "version": "4.0.1", "description": "**πŸ’Œ A mail app for Nextcloud**\n\n- **πŸš€ Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **πŸ“₯ Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **πŸ”’ Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **πŸ™ˆ We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **πŸ“¬ Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟒/🟑/🟠/πŸ”΄\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).", "homepage": "https://github.com/nextcloud/mail#readme", "licenses": [ @@ -240,9 +250,9 @@ ] }, "spreed": { - "hash": "sha256-p0m4s4ZbWEyiPPBRKvEGFk/0xN+IiYPETDegm/8QDWY=", - "url": "https://github.com/nextcloud-releases/spreed/releases/download/v20.0.0/spreed-v20.0.0.tar.gz", - "version": "20.0.0", + "hash": "sha256-mUJmbOMMIkm/83a+7xcW59TTar58D4l0Ek+kZoRdxG8=", + "url": "https://github.com/nextcloud-releases/spreed/releases/download/v20.0.1/spreed-v20.0.1.tar.gz", + "version": "20.0.1", "description": "Chat, video & audio-conferencing using WebRTC\n\n* πŸ’¬ **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* πŸ‘₯ **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* πŸ’» **Screen sharing!** Share your screen with the participants of your call.\n* πŸš€ **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* πŸŒ‰ **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.", "homepage": "https://github.com/nextcloud/spreed", "licenses": [ @@ -290,9 +300,9 @@ ] }, "user_saml": { - "hash": "sha256-+oeTDRomjmfSLIM6eyP6MHg+qtOs8IPqIWUzBofahYQ=", - "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.2.0/user_saml-v6.2.0.tar.gz", - "version": "6.2.0", + "hash": "sha256-xxabQU8kZhgI7Q9D0n7hrFygvfZWZDnAQWnB8+A1xwE=", + "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.3.0/user_saml-v6.3.0.tar.gz", + "version": "6.3.0", "description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.", "homepage": "https://github.com/nextcloud/user_saml", "licenses": [ diff --git a/pkgs/shells/zsh/zimfw/default.nix b/pkgs/shells/zsh/zimfw/default.nix index f1e7afa8c384..d37b4c8b522e 100644 --- a/pkgs/shells/zsh/zimfw/default.nix +++ b/pkgs/shells/zsh/zimfw/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { pname = "zimfw"; - version = "1.14.0"; + version = "1.15.0"; src = fetchFromGitHub { owner = "zimfw"; repo = "zimfw"; rev = "v${version}"; ## zim only needs this one file to be installed. sparseCheckout = [ "zimfw.zsh" ]; - hash = "sha256-JBMrgUMGsvjYasEHJsZ0jZAHmrN3Z0d8T8agI9FiEPs="; + hash = "sha256-8GnxUhBvMy7fhDILDKYEf/9Mhgzz7suaiZ5elRZmT0o="; }; strictDeps = true; dontConfigure = true; @@ -24,17 +24,6 @@ stdenv.mkDerivation rec { runHook postInstall ''; - ## zim automates the downloading of any plugins you specify in the `.zimrc` - ## file. To do that with Nix, you'll need $ZIM_HOME to be writable. - ## `~/.cache/zim` is a good place for that. The problem is that zim also - ## looks for `zimfw.zsh` there, so we're going to tell it here to look for - ## the `zimfw.zsh` where we currently are. - postFixup = '' - substituteInPlace $out/zimfw.zsh \ - --replace "\''${ZIM_HOME}/zimfw.zsh" "$out/zimfw.zsh" \ - --replace "\''${(q-)ZIM_HOME}/zimfw.zsh" "$out/zimfw.zsh" - ''; - meta = with lib; { description = "The Zsh configuration framework with blazing speed and modular extensions"; diff --git a/pkgs/tools/misc/smug/default.nix b/pkgs/tools/misc/smug/default.nix index e528b2128759..8caf8e4b3f3d 100644 --- a/pkgs/tools/misc/smug/default.nix +++ b/pkgs/tools/misc/smug/default.nix @@ -2,7 +2,7 @@ buildGoModule rec { pname = "smug"; - version = "0.3.3"; + version = "0.3.5"; subPackages = [ "." ]; @@ -10,7 +10,7 @@ buildGoModule rec { owner = "ivaaaan"; repo = "smug"; rev = "v${version}"; - sha256 = "sha256-dQp9Ov8Si9DfziVtX3dXsJg+BNKYOoL9/WwdalQ5TVw="; + sha256 = "sha256-5n4EmkcHv6pw1gd9VUtJRR3QdRJsu5DYYsozJ25uggs="; }; vendorHash = "sha256-vaDUzVRmpmNn8/vUPeR1U5N6T4llFRIk9A1lum8uauU="; diff --git a/pkgs/tools/networking/dae/default.nix b/pkgs/tools/networking/dae/default.nix index de31e4dff23e..4b26a77eca6c 100644 --- a/pkgs/tools/networking/dae/default.nix +++ b/pkgs/tools/networking/dae/default.nix @@ -4,21 +4,21 @@ fetchFromGitHub, buildGoModule, nixosTests, - gitUpdater, + nix-update-script, }: buildGoModule rec { pname = "dae"; - version = "0.7.4"; + version = "0.8.0"; src = fetchFromGitHub { owner = "daeuniverse"; repo = "dae"; rev = "v${version}"; - hash = "sha256-bJ/a/SCNCutQDbmxPp36SYY7qhji2XRv6awp7buZVc0="; + hash = "sha256-Vdh5acE5i/bJ8VXOm+9OqZQbxvqv4TS/t0DDfBs/K5g="; fetchSubmodules = true; }; - vendorHash = "sha256-CVQTBJDwu7AYz6q0MnFPMINRShcnS1JOGqH+Ro4lIRo="; + vendorHash = "sha256-0Q+1cXUu4EH4qkGlK6BIpv4dCdtSKjb1RbLi5Xfjcew="; proxyVendor = true; @@ -52,9 +52,7 @@ buildGoModule rec { inherit (nixosTests) dae; }; - passthru.updateScript = gitUpdater { - rev-prefix = "v"; - }; + passthru.updateScript = nix-update-script { }; meta = with lib; { description = "Linux high-performance transparent proxy solution based on eBPF"; diff --git a/pkgs/tools/security/mitmproxy2swagger/default.nix b/pkgs/tools/security/mitmproxy2swagger/default.nix index 6731d7c21c53..baf318573ee7 100644 --- a/pkgs/tools/security/mitmproxy2swagger/default.nix +++ b/pkgs/tools/security/mitmproxy2swagger/default.nix @@ -1,29 +1,29 @@ -{ lib -, fetchFromGitHub -, python3 +{ + lib, + fetchFromGitHub, + python3, }: python3.pkgs.buildPythonApplication rec { pname = "mitmproxy2swagger"; version = "0.13.0"; - format = "pyproject"; + pyproject = true; src = fetchFromGitHub { owner = "alufers"; - repo = pname; + repo = "mitmproxy2swagger"; rev = "refs/tags/${version}"; hash = "sha256-VHxqxee5sQWRS13V4SfY4LWaN0oxxWsNVDOEqUyKHfg="; }; - nativeBuildInputs = with python3.pkgs; [ - poetry-core - ]; - pythonRelaxDeps = [ + "mitmproxy" "ruamel.yaml" ]; - propagatedBuildInputs = with python3.pkgs; [ + build-system = with python3.pkgs; [ poetry-core ]; + + dependencies = with python3.pkgs; [ json-stream mitmproxy ruamel-yaml @@ -32,16 +32,14 @@ python3.pkgs.buildPythonApplication rec { # No tests available doCheck = false; - pythonImportsCheck = [ - "mitmproxy2swagger" - ]; + pythonImportsCheck = [ "mitmproxy2swagger" ]; meta = with lib; { description = "Tool to automagically reverse-engineer REST APIs"; - mainProgram = "mitmproxy2swagger"; homepage = "https://github.com/alufers/mitmproxy2swagger"; changelog = "https://github.com/alufers/mitmproxy2swagger/releases/tag/${version}"; license = licenses.mit; maintainers = with maintainers; [ fab ]; + mainProgram = "mitmproxy2swagger"; }; } diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 4a009b385fd6..5089a0b205a0 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -720,6 +720,7 @@ mapAliases { hip-common = throw "'hip-common' has been replaced with 'rocmPackages.hip-common'"; # Added 2023-10-08 hip-nvidia = throw "'hip-nvidia' has been removed in favor of 'rocmPackages.clr'"; # Added 2023-10-08 hll2390dw-cups = throw "The hll2390dw-cups package was dropped since it was unmaintained."; # Added 2024-06-21 + hop-cli = throw "hop-cli has been removed as the service has been shut-down"; # Added 2024-08-13 ht-rust = xh; # Added 2021-02-13 hydra_unstable = hydra; # Added 2024-08-22 hydron = throw "hydron has been removed as the project has been archived upstream since 2022 and is affected by a severe remote code execution vulnerability"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9548557e9f25..69316e9551c7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14978,8 +14978,6 @@ with pkgs; hop = callPackage ../development/compilers/hop { }; - hop-cli = throw "hop-cli has been removed as the service has been shut-down"; #Added 2024-08-13 - falcon = callPackage ../development/interpreters/falcon { stdenv = gcc10Stdenv; }; @@ -19061,7 +19059,7 @@ with pkgs; captive-browser = callPackage ../applications/networking/browsers/captive-browser { }; - catboost = callPackage ../development/libraries/catboost { + catboost = callPackage ../by-name/ca/catboost/package.nix { # https://github.com/catboost/catboost/issues/2540 cudaPackages = cudaPackages_11; }; @@ -24550,8 +24548,10 @@ with pkgs; maker-panel = callPackage ../tools/misc/maker-panel { }; mastodon = callPackage ../servers/mastodon { - nodejs-slim = nodejs-slim_20; - ruby = ruby_3_2; + nodejs-slim = nodejs-slim_22; + python3 = python311; + ruby = ruby_3_3; + yarn-berry = yarn-berry.override { nodejs = nodejs-slim_22; }; }; gotosocial = callPackage ../servers/gotosocial { }; @@ -26603,6 +26603,7 @@ with pkgs; ubootBananaPim64 ubootAmx335xEVM ubootClearfog + ubootCM3588NAS ubootCubieboard2 ubootGuruplug ubootJetsonTK1 @@ -26615,6 +26616,7 @@ with pkgs; ubootOlimexA64Olinuxino ubootOlimexA64Teres1 ubootOrangePi3 + ubootOrangePi3B ubootOrangePi5 ubootOrangePi5Plus ubootOrangePiPc diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index 4255d0c036e8..b1e4cbd2d53f 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -367,10 +367,7 @@ in { intel-speed-select = if lib.versionAtLeast kernel.version "5.3" then callPackage ../os-specific/linux/intel-speed-select { } else null; - ipu6-drivers = - if kernelOlder "6.10" - then callPackage ../os-specific/linux/ipu6-drivers {} - else null; + ipu6-drivers = callPackage ../os-specific/linux/ipu6-drivers {}; ivsc-driver = callPackage ../os-specific/linux/ivsc-driver {}; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 39226815b2e2..1e6ee49b4336 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6333,6 +6333,8 @@ self: super: with self; { jaeger-client = callPackage ../development/python-modules/jaeger-client { }; + jalali-core = callPackage ../development/python-modules/jalali-core { }; + jamo = callPackage ../development/python-modules/jamo { }; janus = callPackage ../development/python-modules/janus { }; @@ -9399,6 +9401,8 @@ self: super: with self; { opentelemetry-instrumentation-celery = callPackage ../development/python-modules/opentelemetry-instrumentation-celery { }; + opentelemetry-instrumentation-botocore = callPackage ../development/python-modules/opentelemetry-instrumentation-botocore { }; + opentelemetry-instrumentation-dbapi = callPackage ../development/python-modules/opentelemetry-instrumentation-dbapi { }; opentelemetry-instrumentation-django = callPackage ../development/python-modules/opentelemetry-instrumentation-django { }; @@ -9417,6 +9421,8 @@ self: super: with self; { opentelemetry-instrumentation-wsgi = callPackage ../development/python-modules/opentelemetry-instrumentation-wsgi { }; + opentelemetry-propagator-aws-xray = callPackage ../development/python-modules/opentelemetry-propagator-aws-xray { }; + opentelemetry-proto = callPackage ../development/python-modules/opentelemetry-proto { }; opentelemetry-semantic-conventions = callPackage ../development/python-modules/opentelemetry-semantic-conventions { }; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 0f5974d83cb8..bf69d13c98f1 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -31,6 +31,11 @@ , nixpkgsArgs ? { config = { allowUnfree = false; inHydra = true; + # Exceptional unsafe packages that we still build and distribute, + # so users choosing to allow don't have to rebuild them every time. + permittedInsecurePackages = [ + "olm-3.2.16" # see PR #347899 + ]; }; } # This flag, if set to true, will inhibit the use of `mapTestOn`