diff --git a/.github/workflows/basic-eval.yml b/.github/workflows/basic-eval.yml index f3c67533fb82..fc7df3a1aa8d 100644 --- a/.github/workflows/basic-eval.yml +++ b/.github/workflows/basic-eval.yml @@ -15,6 +15,7 @@ permissions: jobs: tests: + name: basic-eval-checks runs-on: ubuntu-latest # we don't limit this action to only NixOS repo since the checks are cheap and useful developer feedback steps: diff --git a/.github/workflows/check-by-name.yml b/.github/workflows/check-by-name.yml index f9d1846c8798..34c9e0632b5e 100644 --- a/.github/workflows/check-by-name.yml +++ b/.github/workflows/check-by-name.yml @@ -27,6 +27,7 @@ permissions: {} jobs: check: + name: pkgs-by-name-check # This needs to be x86_64-linux, because we depend on the tooling being pre-built in the GitHub releases runs-on: ubuntu-latest # This should take 1 minute at most, but let's be generous. diff --git a/.github/workflows/check-cherry-picks.yml b/.github/workflows/check-cherry-picks.yml index eb93d3f98d8f..15fc04034612 100644 --- a/.github/workflows/check-cherry-picks.yml +++ b/.github/workflows/check-cherry-picks.yml @@ -10,6 +10,7 @@ permissions: {} jobs: check: + name: cherry-pick-check runs-on: ubuntu-latest if: github.repository_owner == 'NixOS' steps: diff --git a/.github/workflows/check-maintainers-sorted.yaml b/.github/workflows/check-maintainers-sorted.yaml index e9883d313b2c..f9e744a6a0c5 100644 --- a/.github/workflows/check-maintainers-sorted.yaml +++ b/.github/workflows/check-maintainers-sorted.yaml @@ -9,6 +9,7 @@ permissions: jobs: nixos: + name: maintainer-list-check runs-on: ubuntu-latest if: github.repository_owner == 'NixOS' steps: diff --git a/.github/workflows/check-nix-format.yml b/.github/workflows/check-nix-format.yml index eed685946c3b..614de43832a5 100644 --- a/.github/workflows/check-nix-format.yml +++ b/.github/workflows/check-nix-format.yml @@ -14,6 +14,7 @@ permissions: jobs: nixos: + name: nixfmt-check runs-on: ubuntu-latest if: "!contains(github.event.pull_request.title, '[skip treewide]')" steps: diff --git a/.github/workflows/check-nixf-tidy.yml b/.github/workflows/check-nixf-tidy.yml index 5a8fdbc96248..a3f37d8131c8 100644 --- a/.github/workflows/check-nixf-tidy.yml +++ b/.github/workflows/check-nixf-tidy.yml @@ -8,6 +8,7 @@ permissions: jobs: nixos: + name: exp-nixf-tidy-check runs-on: ubuntu-latest if: "!contains(github.event.pull_request.title, '[skip treewide]')" steps: diff --git a/.github/workflows/check-shell.yml b/.github/workflows/check-shell.yml index b20c7581cf39..0ecc3b0c7baf 100644 --- a/.github/workflows/check-shell.yml +++ b/.github/workflows/check-shell.yml @@ -7,6 +7,7 @@ permissions: {} jobs: x86_64-linux: + name: shell-check-x86_64-linux runs-on: ubuntu-latest steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 @@ -18,6 +19,7 @@ jobs: run: nix-build shell.nix aarch64-darwin: + name: shell-check-aarch64-darwin runs-on: macos-latest steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 diff --git a/.github/workflows/editorconfig.yml b/.github/workflows/editorconfig.yml index a7a0f81dbc09..26530f30f468 100644 --- a/.github/workflows/editorconfig.yml +++ b/.github/workflows/editorconfig.yml @@ -10,6 +10,7 @@ on: jobs: tests: + name: editorconfig-check runs-on: ubuntu-latest if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')" steps: diff --git a/.github/workflows/labels.yml b/.github/workflows/labels.yml index 2912e64c115b..724164bebdfc 100644 --- a/.github/workflows/labels.yml +++ b/.github/workflows/labels.yml @@ -15,6 +15,7 @@ permissions: jobs: labels: + name: label-pr runs-on: ubuntu-latest if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')" steps: diff --git a/.github/workflows/manual-nixos.yml b/.github/workflows/manual-nixos.yml index fa433f36e2c9..002d44c8797d 100644 --- a/.github/workflows/manual-nixos.yml +++ b/.github/workflows/manual-nixos.yml @@ -11,6 +11,7 @@ on: jobs: nixos: + name: nixos-manual-build runs-on: ubuntu-latest if: github.repository_owner == 'NixOS' steps: diff --git a/.github/workflows/manual-nixpkgs.yml b/.github/workflows/manual-nixpkgs.yml index 8e245ad3d05a..00e84854495a 100644 --- a/.github/workflows/manual-nixpkgs.yml +++ b/.github/workflows/manual-nixpkgs.yml @@ -13,6 +13,7 @@ on: jobs: nixpkgs: + name: nixpkgs-manual-build runs-on: ubuntu-latest if: github.repository_owner == 'NixOS' steps: diff --git a/.github/workflows/nix-parse.yml b/.github/workflows/nix-parse.yml index 5842d72c8f6a..7f55322d85e6 100644 --- a/.github/workflows/nix-parse.yml +++ b/.github/workflows/nix-parse.yml @@ -10,6 +10,7 @@ on: jobs: tests: + name: nix-files-parseable-check runs-on: ubuntu-latest if: "github.repository_owner == 'NixOS' && !contains(github.event.pull_request.title, '[skip treewide]')" steps: diff --git a/.github/workflows/ofborg-pending.yml b/.github/workflows/ofborg-pending.yml index b5e0a7c46c8c..2eba88598d7f 100644 --- a/.github/workflows/ofborg-pending.yml +++ b/.github/workflows/ofborg-pending.yml @@ -16,6 +16,7 @@ permissions: jobs: action: + name: set-ofborg-pending if: github.repository_owner == 'NixOS' permissions: statuses: write diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 73e45ec4cf31..7bde8b255e05 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -8435,6 +8435,12 @@ githubId = 19296926; keys = [ { fingerprint = "DF12 23B1 A9FD C5BE 3DA5 B6F7 904A F1C7 CDF6 95C3"; } ]; }; + hxtmdev = { + email = "daniel@hxtm.dev"; + name = "Daniel Höxtermann"; + github = "hxtmdev"; + githubId = 7771007; + }; hypersw = { email = "baltic@hypersw.net"; github = "hypersw"; diff --git a/nixos/modules/programs/tmux.nix b/nixos/modules/programs/tmux.nix index b4b476a801dd..a157bedc8aae 100644 --- a/nixos/modules/programs/tmux.nix +++ b/nixos/modules/programs/tmux.nix @@ -16,6 +16,7 @@ let set -g default-terminal "${cfg.terminal}" set -g base-index ${toString cfg.baseIndex} setw -g pane-base-index ${toString cfg.baseIndex} + set -g history-limit ${toString cfg.historyLimit} ${optionalString cfg.newSession "new-session"} @@ -50,7 +51,6 @@ let setw -g aggressive-resize ${boolToStr cfg.aggressiveResize} setw -g clock-mode-style ${if cfg.clock24 then "24" else "12"} set -s escape-time ${toString cfg.escapeTime} - set -g history-limit ${toString cfg.historyLimit} ${cfg.extraConfigBeforePlugins} @@ -230,4 +230,6 @@ in { imports = [ (lib.mkRenamedOptionModule [ "programs" "tmux" "extraTmuxConf" ] [ "programs" "tmux" "extraConfig" ]) ]; + + meta.maintainers = with lib.maintainers; [ hxtmdev ]; } diff --git a/nixos/modules/services/misc/forgejo.nix b/nixos/modules/services/misc/forgejo.nix index 9a102918f35e..9aa7b13b02e1 100644 --- a/nixos/modules/services/misc/forgejo.nix +++ b/nixos/modules/services/misc/forgejo.nix @@ -66,7 +66,7 @@ in services.forgejo = { enable = mkEnableOption "Forgejo, a software forge"; - package = mkPackageOption pkgs "forgejo" { }; + package = mkPackageOption pkgs "forgejo-lts" { }; useWizard = mkOption { default = false; diff --git a/nixos/modules/services/networking/deconz.nix b/nixos/modules/services/networking/deconz.nix index e023f8e866c0..d8908470bb23 100644 --- a/nixos/modules/services/networking/deconz.nix +++ b/nixos/modules/services/networking/deconz.nix @@ -14,7 +14,7 @@ in { options.services.deconz = { - enable = lib.mkEnableOption "deCONZ, a Zigbee gateway for use with ConBee hardware (https://phoscon.de/en/conbee2)"; + enable = lib.mkEnableOption "deCONZ, a Zigbee gateway for use with ConBee/RaspBee hardware (https://phoscon.de/)"; package = lib.mkOption { type = lib.types.package; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index f52b731ec228..1fade3d88a7b 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -342,7 +342,8 @@ in { fluentd = handleTest ./fluentd.nix {}; fluidd = handleTest ./fluidd.nix {}; fontconfig-default-fonts = handleTest ./fontconfig-default-fonts.nix {}; - forgejo = handleTest ./forgejo.nix { }; + forgejo = handleTest ./forgejo.nix { forgejoPackage = pkgs.forgejo; }; + forgejo-lts = handleTest ./forgejo.nix { forgejoPackage = pkgs.forgejo-lts; }; freenet = handleTest ./freenet.nix {}; freeswitch = handleTest ./freeswitch.nix {}; freetube = discoverTests (import ./freetube.nix); diff --git a/nixos/tests/forgejo.nix b/nixos/tests/forgejo.nix index c5bf8e32524c..d2315b7f013e 100644 --- a/nixos/tests/forgejo.nix +++ b/nixos/tests/forgejo.nix @@ -1,6 +1,7 @@ { system ? builtins.currentSystem , config ? { } , pkgs ? import ../.. { inherit system config; } +, forgejoPackage ? pkgs.forgejo }: with import ../lib/testing-python.nix { inherit system pkgs; }; @@ -53,6 +54,7 @@ let virtualisation.memorySize = 2047; services.forgejo = { enable = true; + package = forgejoPackage; database = { inherit type; }; settings.service.DISABLE_REGISTRATION = true; settings."repository.signing".SIGNING_KEY = signingPrivateKeyId; @@ -145,7 +147,7 @@ let assert "BEGIN PGP PUBLIC KEY BLOCK" in server.succeed("curl http://localhost:3000/api/v1/signing-key.gpg") api_version = json.loads(server.succeed("curl http://localhost:3000/api/forgejo/v1/version")).get("version") - assert "development" != api_version and "${pkgs.forgejo.version}+gitea-" in api_version, ( + assert "development" != api_version and "${forgejoPackage.version}+gitea-" in api_version, ( "/api/forgejo/v1/version should not return 'development' " + f"but should contain a forgejo+gitea compatibility version string. Got '{api_version}' instead." ) diff --git a/pkgs/applications/audio/lsp-plugins/default.nix b/pkgs/applications/audio/lsp-plugins/default.nix index 56b508df7f6f..ae768da7a012 100644 --- a/pkgs/applications/audio/lsp-plugins/default.nix +++ b/pkgs/applications/audio/lsp-plugins/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { version = "1.2.16"; src = fetchurl { - url = "https://github.com/sadko4u/${pname}/releases/download/${version}/${pname}-src-${version}.tar.gz"; + url = "https://github.com/lsp-plugins/lsp-plugins/releases/download/${version}/lsp-plugins-src-${version}.tar.gz"; sha256 = "sha256-w2BUIF44z78syLroQk2asVXA5bt9P9POiuwxpnlkc8o="; }; outputs = [ "out" "dev" "doc" ]; - nativeBuildInputs = [ pkg-config php makeWrapper ]; + nativeBuildInputs = [ pkg-config (php.withExtensions (_: [])) makeWrapper ]; buildInputs = [ jack2 libsndfile libGLU libGL lv2 cairo ladspaH libXrandr ]; makeFlags = [ diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix index d45c35401502..a90d0c170625 100644 --- a/pkgs/applications/editors/android-studio/default.nix +++ b/pkgs/applications/editors/android-studio/default.nix @@ -13,12 +13,12 @@ let sha256Hash = "sha256-Qvi/Mc4NEk3dERlfZiowBk2Pmqsgbl5mg56HamvG7aI="; }; betaVersion = { - version = "2024.1.2.9"; # "Android Studio Koala Feature Drop | 2024.1.2 Beta 1" - sha256Hash = "sha256-eTnpU9KrquW4nMRqde9PUmVQ05kf6kFy1yr+Ima9M50="; + version = "2024.1.2.10"; # "Android Studio Koala Feature Drop | 2024.1.2 Beta 2" + sha256Hash = "sha256-/LrHYyrOPfnSliM5XUOzENjJ+G+M1Ajw31tFAOsbfnQ="; }; latestVersion = { - version = "2024.1.3.1"; # "Android Studio Ladybug | 2024.1.3 Canary 1" - sha256Hash = "sha256-BSrcPdkK4dU5/bV29NGKcCR10XYMJrPvC91fcJs5Vq8="; + version = "2024.1.3.3"; # "Android Studio Ladybug | 2024.1.3 Canary 3" + sha256Hash = "sha256-Ps3jMtNAdfPitFeXIFKpjSyM4si4tp4MrS3r5VURFh4="; }; in { # Attributes are named by their corresponding release channels diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix index 0129b89e3cfb..1038f8c5596d 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix @@ -1,11 +1,11 @@ { stable = { chromedriver = { - hash_darwin = "sha256-c/lMkOdoW/tX57opl/weJGh/iyUeTTF5Xejs7IpA+Qg="; + hash_darwin = "sha256-BW83pgPJiKxdQ1K4+8KMDGBqvR+J3i+8AZmKfnYSmWk="; hash_darwin_aarch64 = - "sha256-sst73OxUsrs2yWA72qdonARGi/W0FYObNfolidCiXio="; - hash_linux = "sha256-p5cQmMdte7TfTPohg+rpIsyyYk1OKSNb0BwaMWmHuCo="; - version = "127.0.6533.72"; + "sha256-ZGZy4VDNRXJBMLtAhRUybssWRXSfEUWVRsF+etfhdzQ="; + hash_linux = "sha256-1gM4KqzacJ13X5NmBn2hW6L/a7zN21rSZBk6a0IjCow="; + version = "127.0.6533.88"; }; deps = { gn = { @@ -15,8 +15,8 @@ version = "2024-06-06"; }; }; - hash = "sha256-m99HaGCuIihDdbVnmu6xatnC/QDxgLVby2TWY/L+RHk="; - version = "127.0.6533.72"; + hash = "sha256-nZZ2yrVu+0TloMaM455bmyeoeVnfeGR3EGubAf8snNU="; + version = "127.0.6533.88"; }; ungoogled-chromium = { deps = { @@ -27,11 +27,11 @@ version = "2024-06-06"; }; ungoogled-patches = { - hash = "sha256-IBdOV+eFJWD+kCxnhSWWjiBgMbP/DxF+gUVIIpWf4rc="; - rev = "127.0.6533.72-1"; + hash = "sha256-4LfYBqFQ/e/ePaOTSFBpELt0ilo/Vohwnwp8FvkfavU="; + rev = "127.0.6533.88-1"; }; }; - hash = "sha256-m99HaGCuIihDdbVnmu6xatnC/QDxgLVby2TWY/L+RHk="; - version = "127.0.6533.72"; + hash = "sha256-nZZ2yrVu+0TloMaM455bmyeoeVnfeGR3EGubAf8snNU="; + version = "127.0.6533.88"; }; } diff --git a/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix b/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix index bd93089ee306..8e0d04907b54 100644 --- a/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix +++ b/pkgs/applications/networking/cluster/helm/plugins/helm-unittest.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "helm-unittest"; - version = "0.5.1"; + version = "0.5.2"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha256-YWzjv1/I+LX3AMeQenI36AsNJkZ6IzbMhM/f5/Kxs2M="; + hash = "sha256-xA0dA8q7ZDQk35VjyIsJFbm3OlagnIbJ/iz5z2KsxjU="; }; - vendorHash = "sha256-A2izHBh58yPd2XPm4GKVosPtahUtQ35GbyBdr/L13CQ="; + vendorHash = "sha256-hSnTjEvi1Lexp7wAogqeoXWDCg/bvblw0bt1/lX9iR0="; # NOTE: Remove the install and upgrade hooks. postPatch = '' diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix index 3a21260c0579..5588fbdeb6a2 100644 --- a/pkgs/applications/networking/cluster/helmfile/default.nix +++ b/pkgs/applications/networking/cluster/helmfile/default.nix @@ -8,16 +8,16 @@ buildGoModule rec { pname = "helmfile"; - version = "0.166.0"; + version = "0.167.0"; src = fetchFromGitHub { owner = "helmfile"; repo = "helmfile"; rev = "v${version}"; - hash = "sha256-TZskvZyNihklCJB0yMFXk1bLEuhetQvJ+6uLnYiLBs0="; + hash = "sha256-a3HkpnO54NtaYhQsCXye2aWKhMq8mRj1nnevwK/4RZs="; }; - vendorHash = "sha256-Ny7r9G3Y5SuigIKkXra5Xn08QIlhzFASXGMMc+g1S/E="; + vendorHash = "sha256-2d0B/qq0uERCFgTJDxvhc2FWQ/ffODbD1Z6aFWHX0Ew="; proxyVendor = true; # darwin/linux hash mismatch diff --git a/pkgs/applications/qubes/qubes-core-vchan-xen/default.nix b/pkgs/applications/qubes/qubes-core-vchan-xen/default.nix index 21b80fcf51dd..7def14890300 100644 --- a/pkgs/applications/qubes/qubes-core-vchan-xen/default.nix +++ b/pkgs/applications/qubes/qubes-core-vchan-xen/default.nix @@ -28,8 +28,9 @@ stdenv.mkDerivation rec { description = "Libraries required for the higher-level Qubes daemons and tools"; homepage = "https://qubes-os.org"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ _0x4A6F ]; + maintainers = [ ]; platforms = platforms.linux; + broken = true; }; } diff --git a/pkgs/applications/science/logic/bitwuzla/default.nix b/pkgs/applications/science/logic/bitwuzla/default.nix index c1eb751fb1a5..f5a5296de9c4 100644 --- a/pkgs/applications/science/logic/bitwuzla/default.nix +++ b/pkgs/applications/science/logic/bitwuzla/default.nix @@ -43,7 +43,7 @@ stdenv.mkDerivation (finalAttrs: { # but setting it to shared works even in pkgsStatic "-Ddefault_library=shared" - (lib.strings.mesonEnable "testing" finalAttrs.doCheck) + (lib.strings.mesonEnable "testing" finalAttrs.finalPackage.doCheck) ]; nativeCheckInputs = [ python3 ]; diff --git a/pkgs/applications/virtualization/xen/0000-fix-install-python.4.15.patch b/pkgs/applications/virtualization/xen/0000-fix-install-python.4.15.patch deleted file mode 100644 index 5fc5a6012ee3..000000000000 --- a/pkgs/applications/virtualization/xen/0000-fix-install-python.4.15.patch +++ /dev/null @@ -1,16 +0,0 @@ -tools/python/install-wrap script brakes shebangs patching, disable - -diff --git a/tools/Rules.mk b/tools/Rules.mk -index 444e5bacdd..c99ea959ff 100644 ---- a/tools/Rules.mk -+++ b/tools/Rules.mk -@@ -135,8 +135,7 @@ CFLAGS += $(CFLAGS-y) - - CFLAGS += $(EXTRA_CFLAGS_XEN_TOOLS) - --INSTALL_PYTHON_PROG = \ -- $(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH)" $(INSTALL_PROG) -+INSTALL_PYTHON_PROG = $(INSTALL_PROG) - - %.opic: %.c - $(CC) $(CPPFLAGS) -DPIC $(CFLAGS) $(CFLAGS_$*.opic) -fPIC -c -o $@ $< $(APPEND_CFLAGS) diff --git a/pkgs/applications/virtualization/xen/0000-qemu-seabios-enable-ATA_DMA.patch b/pkgs/applications/virtualization/xen/0000-qemu-seabios-enable-ATA_DMA.patch deleted file mode 100644 index 339972a2cdeb..000000000000 --- a/pkgs/applications/virtualization/xen/0000-qemu-seabios-enable-ATA_DMA.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -uNr a/src/Kconfig b/src/Kconfig ---- a/src/Kconfig 2015-08-31 10:15:13.231134858 +0200 -+++ b/src/Kconfig 2015-08-31 10:14:24.039180178 +0200 -@@ -144,13 +144,13 @@ - config ATA_DMA - depends on ATA - bool "ATA DMA" -- default n -+ default y - help - Detect and try to use ATA bus mastering DMA controllers. - config ATA_PIO32 - depends on ATA - bool "ATA 32bit PIO" -- default n -+ default y - help - Use 32bit PIO accesses on ATA (minor optimization on PCI transfers). - config AHCI diff --git a/pkgs/applications/virtualization/xen/0004-makefile-use-efi-ld.4.15.patch b/pkgs/applications/virtualization/xen/0004-makefile-use-efi-ld.4.15.patch deleted file mode 100644 index c64ec52315c9..000000000000 --- a/pkgs/applications/virtualization/xen/0004-makefile-use-efi-ld.4.15.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile -index b6567c4127..83defeee95 100644 ---- a/xen/arch/x86/Makefile -+++ b/xen/arch/x86/Makefile -@@ -124,11 +124,11 @@ ifneq ($(efi-y),) - export XEN_BUILD_EFI := $(shell $(CC) $(XEN_CFLAGS) -c efi/check.c -o efi/check.o 2>/dev/null && echo y) - # Check if the linker supports PE. - EFI_LDFLAGS = $(patsubst -m%,-mi386pep,$(XEN_LDFLAGS)) --subsystem=10 --strip-debug --XEN_BUILD_PE := $(if $(XEN_BUILD_EFI),$(shell $(LD) $(EFI_LDFLAGS) -o efi/check.efi efi/check.o 2>/dev/null && echo y)) -+XEN_BUILD_PE := $(if $(XEN_BUILD_EFI),$(shell $(EFI_LD) $(EFI_LDFLAGS) -o efi/check.efi efi/check.o 2>/dev/null && echo y)) - CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI - # Check if the linker produces fixups in PE by default (we need to disable it doing so for now). - XEN_NO_PE_FIXUPS := $(if $(XEN_BUILD_EFI), \ -- $(shell $(LD) $(EFI_LDFLAGS) --disable-reloc-section -o efi/check.efi efi/check.o 2>/dev/null && \ -+ $(shell $(EFI_LD) $(EFI_LDFLAGS) --disable-reloc-section -o efi/check.efi efi/check.o 2>/dev/null && \ - echo --disable-reloc-section)) - endif - -@@ -217,20 +217,20 @@ note_file_option ?= $(note_file) - ifeq ($(XEN_BUILD_PE),y) - $(TARGET).efi: prelink-efi.o $(note_file) efi.lds efi/relocs-dummy.o efi/mkreloc - $(foreach base, $(VIRT_BASE) $(ALT_BASE), \ -- $(LD) $(call EFI_LDFLAGS,$(base)) -T efi.lds -N $< efi/relocs-dummy.o \ -+ $(EFI_LD) $(call EFI_LDFLAGS,$(base)) -T efi.lds -N $< efi/relocs-dummy.o \ - $(BASEDIR)/common/symbols-dummy.o $(note_file_option) -o $(@D)/.$(@F).$(base).0 &&) : - efi/mkreloc $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(@D)/.$(@F).$(base).0) >$(@D)/.$(@F).0r.S - $(NM) -pa --format=sysv $(@D)/.$(@F).$(VIRT_BASE).0 \ - | $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0s.S - $(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).0r.o $(@D)/.$(@F).0s.o - $(foreach base, $(VIRT_BASE) $(ALT_BASE), \ -- $(LD) $(call EFI_LDFLAGS,$(base)) -T efi.lds -N $< \ -+ $(EFI_LD) $(call EFI_LDFLAGS,$(base)) -T efi.lds -N $< \ - $(@D)/.$(@F).0r.o $(@D)/.$(@F).0s.o $(note_file_option) -o $(@D)/.$(@F).$(base).1 &&) : - efi/mkreloc $(foreach base,$(VIRT_BASE) $(ALT_BASE),$(@D)/.$(@F).$(base).1) >$(@D)/.$(@F).1r.S - $(NM) -pa --format=sysv $(@D)/.$(@F).$(VIRT_BASE).1 \ - | $(BASEDIR)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1s.S - $(MAKE) -f $(BASEDIR)/Rules.mk $(@D)/.$(@F).1r.o $(@D)/.$(@F).1s.o -- $(LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T efi.lds -N $< \ -+ $(EFI_LD) $(call EFI_LDFLAGS,$(VIRT_BASE)) -T efi.lds -N $< \ - $(@D)/.$(@F).1r.o $(@D)/.$(@F).1s.o $(note_file_option) -o $@ - $(NM) -pa --format=sysv $(@D)/$(@F) \ - | $(BASEDIR)/tools/symbols --all-symbols --xensyms --sysv --sort >$(@D)/$(@F).map diff --git a/pkgs/applications/virtualization/xen/0005-makefile-fix-efi-mountdir-use.4.15.patch b/pkgs/applications/virtualization/xen/0005-makefile-fix-efi-mountdir-use.4.15.patch deleted file mode 100644 index 8f07c1a8e29f..000000000000 --- a/pkgs/applications/virtualization/xen/0005-makefile-fix-efi-mountdir-use.4.15.patch +++ /dev/null @@ -1,37 +0,0 @@ -EFI_MOUNTPOINT is conventionally /boot/efi or /boot/EFI or something -like that, and (on my machine) has directories within that called -{Boot, nixos, gummiboot}. - -This patch does two things: - -1) Xen apparently wants to put files in -$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR) - we remove the duplicate 'efi' name -because I can't see why we have it - -2) Ensures the said directory exists - - -diff --git a/xen/Makefile b/xen/Makefile -index acb2d28891..d0763fbbe7 100644 ---- a/xen/Makefile -+++ b/xen/Makefile -@@ -289,7 +289,9 @@ _install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX) - ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).efi; \ - ln -sf $(T)-$(XEN_FULLVERSION).efi $(D)$(EFI_DIR)/$(T).efi; \ - if [ -n '$(EFI_MOUNTPOINT)' -a -n '$(EFI_VENDOR)' ]; then \ -- $(INSTALL_DATA) $(TARGET).efi $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi; \ -+ [ -d $(D)$(EFI_MOUNTPOINT)/$(EFI_VENDOR) ] || \ -+ $(INSTALL_DIR) $(D)$(EFI_MOUNTPOINT)/$(EFI_VENDOR) ;\ -+ $(INSTALL_DATA) $(TARGET).efi $(D)$(EFI_MOUNTPOINT)/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi; \ - elif [ "$(D)" = "$(patsubst $(shell cd $(XEN_ROOT) && pwd)/%,%,$(D))" ]; then \ - echo 'EFI installation only partially done (EFI_VENDOR not set)' >&2; \ - fi; \ -@@ -319,7 +321,7 @@ _uninstall: - rm -f $(D)$(DEBUG_DIR)/$(T)-$(XEN_FULLVERSION).efi.map - rm -f $(D)$(EFI_DIR)/$(T)-$(XEN_VERSION).efi - rm -f $(D)$(EFI_DIR)/$(T).efi -- rm -f $(D)$(EFI_MOUNTPOINT)/efi/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi -+ rm -f $(D)$(EFI_MOUNTPOINT)/$(EFI_VENDOR)/$(T)-$(XEN_FULLVERSION).efi - - .PHONY: _debug - _debug: diff --git a/pkgs/applications/virtualization/xen/4.15.nix b/pkgs/applications/virtualization/xen/4.15.nix deleted file mode 100644 index d4905088ae1e..000000000000 --- a/pkgs/applications/virtualization/xen/4.15.nix +++ /dev/null @@ -1,183 +0,0 @@ -{ lib, callPackage, fetchurl, fetchpatch, fetchgit -, ocaml-ng -, withInternalQemu ? true -, withInternalTraditionalQemu ? true -, withInternalSeabios ? true -, withSeabios ? !withInternalSeabios, seabios -, withInternalOVMF ? false # FIXME: tricky to build -, withOVMF ? false, OVMF -, withLibHVM ? false - -# xen -, python3Packages - -# qemu -, udev, pciutils, xorg, SDL, pixman, acl, glusterfs, spice-protocol, usbredir -, alsa-lib, glib, python3 -, ... } @ args: - -assert withInternalSeabios -> !withSeabios; -assert withInternalOVMF -> !withOVMF; -assert !withLibHVM; - -with lib; - -# Patching XEN? Check the XSAs at -# https://xenbits.xen.org/xsa/ -# and try applying all the ones we don't have yet. - -let - xsa = import ./xsa-patches.nix { inherit fetchpatch; }; - - qemuMemfdBuildFix = fetchpatch { - name = "xen-4.8-memfd-build-fix.patch"; - url = "https://github.com/qemu/qemu/commit/75e5b70e6b5dcc4f2219992d7cffa462aa406af0.patch"; - sha256 = "0gaz93kb33qc0jx6iphvny0yrd17i8zhcl3a9ky5ylc2idz0wiwa"; - }; - - qemuDeps = [ - udev pciutils xorg.libX11 SDL pixman acl glusterfs spice-protocol usbredir - alsa-lib glib python3 - ]; -in - -callPackage (import ./generic.nix (rec { - version = "4.15.1"; - - src = fetchurl { - url = "https://downloads.xenproject.org/release/xen/${version}/xen-${version}.tar.gz"; - sha256 = "1rmc7gb72xwhr3h9rc3bkac41s8kjjzz45miwdq6yalyq7j7vss5"; - }; - - # Sources needed to build tools and firmwares. - xenfiles = optionalAttrs withInternalQemu { - qemu-xen = { - src = fetchgit { - url = "https://xenbits.xen.org/git-http/qemu-xen.git"; - # rev = "refs/tags/qemu-xen-${version}"; - # use revision hash - reproducible but must be updated with each new version - rev = "e2af2d050338c99e8436e251ad67aafb3ebbd501"; - sha256 = "sha256-gVykPtzAA7tmpe6iVvnulaW+b0jD3gwL1JXC5yeIA7M="; - }; - buildInputs = qemuDeps; - postPatch = '' - # needed in build but /usr/bin/env is not available in sandbox - substituteInPlace scripts/tracetool.py \ - --replace "/usr/bin/env python" "${python3}/bin/python" - ''; - meta.description = "Xen's fork of upstream Qemu"; - }; - } // optionalAttrs withInternalTraditionalQemu { - # TODO 4.15: something happened with traditional in this release? - qemu-xen-traditional = { - src = fetchgit { - url = "https://xenbits.xen.org/git-http/qemu-xen-traditional.git"; - # rev = "refs/tags/xen-${version}"; - # use revision hash - reproducible but must be updated with each new version - rev = "3d273dd05e51e5a1ffba3d98c7437ee84e8f8764"; - sha256 = "1dc6dhjp4y2irmi9yiyw1kzmm1habyy8j1s2zkf6qyak850krqj7"; - }; - buildInputs = qemuDeps; - patches = [ - ]; - postPatch = '' - substituteInPlace xen-hooks.mak \ - --replace /usr/include/pci ${pciutils}/include/pci - ''; - meta.description = "Xen's fork of upstream Qemu that uses old device model"; - }; - } // optionalAttrs withInternalSeabios { - "firmware/seabios-dir-remote" = { - src = fetchgit { - url = "https://xenbits.xen.org/git-http/seabios.git"; - rev = "155821a1990b6de78dde5f98fa5ab90e802021e0"; - sha256 = "sha256-F3lzr00CMAObJtpz0eZFT/rwjFx+bvlI37/JtHXP5Eo="; - }; - patches = [ ./0000-qemu-seabios-enable-ATA_DMA.patch ]; - meta.description = "Xen's fork of Seabios"; - }; - } // optionalAttrs withInternalOVMF { - "firmware/ovmf-dir-remote" = { - src = fetchgit { - url = "https://xenbits.xen.org/git-http/ovmf.git"; - rev = "a3741780fe3535e19e02efa869a7cac481891129"; - sha256 = "0000000000000000000000000000000000000000000000000000"; - }; - meta.description = "Xen's fork of OVMF"; - }; - } // { - # TODO: patch Xen to make this optional? - "firmware/etherboot/ipxe.git" = { - src = fetchgit { - url = "https://git.ipxe.org/ipxe.git"; - rev = "988d2c13cdf0f0b4140685af35ced70ac5b3283c"; - sha256 = "1pkf1n1c0rdlzfls8fvjvi1sd9xjd9ijqlyz3wigr70ijcv6x8i9"; - }; - meta.description = "Xen's fork of iPXE"; - }; - }; - - configureFlags = [] - ++ optional (!withInternalQemu) "--with-system-qemu" # use qemu from PATH - ++ optional (withInternalTraditionalQemu) "--enable-qemu-traditional" - ++ optional (!withInternalTraditionalQemu) "--disable-qemu-traditional" - - ++ optional (withSeabios) "--with-system-seabios=${seabios}/share/seabios" - ++ optional (!withInternalSeabios && !withSeabios) "--disable-seabios" - - ++ optional (withOVMF) "--with-system-ovmf=${OVMF.firmware}" - ++ optional (withInternalOVMF) "--enable-ovmf"; - - NIX_CFLAGS_COMPILE = toString [ - # TODO 4.15: drop unneeded ones - # Fix build on Glibc 2.24. - "-Wno-error=deprecated-declarations" - # Fix build with GCC 8 - "-Wno-error=maybe-uninitialized" - "-Wno-error=stringop-truncation" - "-Wno-error=format-truncation" - "-Wno-error=array-bounds" - # Fix build with GCC 9 - "-Wno-error=address-of-packed-member" - "-Wno-error=format-overflow" - "-Wno-error=absolute-value" - # Fix build with GCC 10 - "-Wno-error=enum-conversion" - "-Wno-error=zero-length-bounds" - # Fix build with GCC 12 - # xentoollog_stubs.c:57: error: "Some_val" redefined [-Werror] - "-Wno-error" - ]; - - patches = with xsa; flatten [ - ./0000-fix-ipxe-src.4.15.patch - ./0000-fix-install-python.4.15.patch - ./0004-makefile-use-efi-ld.4.15.patch - ./0005-makefile-fix-efi-mountdir-use.4.15.patch - - XSA_386 - ]; - - postPatch = '' - # Avoid a glibc >= 2.25 deprecation warnings that get fatal via -Werror. - sed 1i'#include ' \ - -i tools/libs/light/libxl_device.c - - # Fix missing pkg-config dir - mkdir -p tools/pkg-config - ''; - - preBuild = '' - # PKG_CONFIG env var collides with variables used in tools Makefiles. - unset PKG_CONFIG - ''; - - passthru = { - qemu-system-i386 = if withInternalQemu - then "lib/xen/bin/qemu-system-i386" - else throw "this xen has no qemu builtin"; - }; - -})) ({ - ocamlPackages = ocaml-ng.ocamlPackages_4_14; -} // args) diff --git a/pkgs/applications/virtualization/xen/0000-fix-ipxe-src.4.15.patch b/pkgs/applications/virtualization/xen/4.16/0000-xen-ipxe-src-4.16.patch similarity index 93% rename from pkgs/applications/virtualization/xen/0000-fix-ipxe-src.4.15.patch rename to pkgs/applications/virtualization/xen/4.16/0000-xen-ipxe-src-4.16.patch index 08e9aa5ad2fb..d96023d1946a 100644 --- a/pkgs/applications/virtualization/xen/0000-fix-ipxe-src.4.15.patch +++ b/pkgs/applications/virtualization/xen/4.16/0000-xen-ipxe-src-4.16.patch @@ -1,21 +1,21 @@ -hack to make etherboot use prefetched ipxe +Hack to make etherboot use pre-fetched iPXE. diff --git a/tools/firmware/etherboot/Makefile b/tools/firmware/etherboot/Makefile index ed9e11305f..979a3acea8 100644 --- a/tools/firmware/etherboot/Makefile +++ b/tools/firmware/etherboot/Makefile @@ -16,6 +16,7 @@ IPXE_TARBALL_URL ?= $(XEN_EXTFILES_URL)/ipxe-git-$(IPXE_GIT_TAG).tar.gz - + D=ipxe T=ipxe.tar.gz +G=ipxe.git - + ROMS = $(addprefix $D/src/bin/, $(addsuffix .rom, $(ETHERBOOT_NICS))) ROM = $D/src/bin/ipxe.bin @@ -41,9 +42,9 @@ $T: fi mv _$T $T - + -$D/src/arch/i386/Makefile: $T Config - rm -rf $D - gzip -dc $T | tar xf - diff --git a/pkgs/applications/virtualization/xen/4.16/default.nix b/pkgs/applications/virtualization/xen/4.16/default.nix new file mode 100644 index 000000000000..33aba6384623 --- /dev/null +++ b/pkgs/applications/virtualization/xen/4.16/default.nix @@ -0,0 +1,49 @@ +{ + lib, + fetchpatch, + callPackage, + ocaml-ng, + ... +}@genericDefinition: + +let + upstreamPatches = import ../patches.nix { + inherit lib; + inherit fetchpatch; + }; + + upstreamPatchList = lib.lists.flatten [ upstreamPatches.XSA_458 ]; +in + +callPackage (import ../generic.nix { + branch = "4.16"; + version = "4.16.6"; + latest = false; + pkg = { + xen = { + rev = "4b33780de790bd438dd7cbb6143b410d94f0f049"; + hash = "sha256-2kcmfKwBo3w1U5CSxLSYSteqvzcJaB+cA7keVb3amyA="; + patches = [ ./0000-xen-ipxe-src-4.16.patch ] ++ upstreamPatchList; + }; + qemu = { + rev = "c02cb236b5e4a76cf74e641cc35a0e3ebd3e52f3"; + hash = "sha256-LwlPry04az9QQowaDG2la8PYlGOUMbZaQAsCHxj+pwM="; + patches = [ ]; + }; + seaBIOS = { + rev = "d239552ce7220e448ae81f41515138f7b9e3c4db"; + hash = "sha256-UKMceJhIprN4/4Xe4EG2EvKlanxVcEi5Qcrrk3Ogiik="; + patches = [ ]; + }; + ovmf = { + rev = "7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5"; + hash = "sha256-Qq2RgktCkJZBsq6Ch+6tyRHhme4lfcN7d2oQfxwhQt8="; + patches = [ ]; + }; + ipxe = { + rev = "3c040ad387099483102708bb1839110bc788cefb"; + hash = "sha256-y2QdZEoGsGUQjrrvD8YRa8VoqcZSr4tjLM//I/MrsLI="; + patches = [ ]; + }; + }; +}) ({ ocamlPackages = ocaml-ng.ocamlPackages_4_14; } // genericDefinition) diff --git a/pkgs/applications/virtualization/xen/4.17/0000-xen-ipxe-src-4.17.patch b/pkgs/applications/virtualization/xen/4.17/0000-xen-ipxe-src-4.17.patch new file mode 100644 index 000000000000..d96023d1946a --- /dev/null +++ b/pkgs/applications/virtualization/xen/4.17/0000-xen-ipxe-src-4.17.patch @@ -0,0 +1,27 @@ +Hack to make etherboot use pre-fetched iPXE. + +diff --git a/tools/firmware/etherboot/Makefile b/tools/firmware/etherboot/Makefile +index ed9e11305f..979a3acea8 100644 +--- a/tools/firmware/etherboot/Makefile ++++ b/tools/firmware/etherboot/Makefile +@@ -16,6 +16,7 @@ IPXE_TARBALL_URL ?= $(XEN_EXTFILES_URL)/ipxe-git-$(IPXE_GIT_TAG).tar.gz + + D=ipxe + T=ipxe.tar.gz ++G=ipxe.git + + ROMS = $(addprefix $D/src/bin/, $(addsuffix .rom, $(ETHERBOOT_NICS))) + ROM = $D/src/bin/ipxe.bin +@@ -41,9 +42,9 @@ $T: + fi + mv _$T $T + +-$D/src/arch/i386/Makefile: $T Config +- rm -rf $D +- gzip -dc $T | tar xf - ++$D/src/arch/i386/Makefile: $G Config ++ mkdir $D ++ cp -a $G/* $D + for i in $$(cat patches/series) ; do \ + patch -d $D -p1 --quiet + + + + + Xen Project Logo + + +

+ +# Xen Hypervisor Xen Fu Panda + +This directory includes the build recipes for the [Xen Hypervisor](https://xenproject.org/). + +Some other notable packages that compose the Xen Ecosystem include: + +- `ocamlPackages.xenstore`: Mirage's `oxenstore` implementation. +- `ocamlPackages.vchan`: Mirage's `xen-vchan` implementation. +- `ocamlPackages.xenstore-tool`: XAPI's `oxenstore` utilities. +- `xen-guest-agent`: Guest drivers for UNIX domUs. +- `win-pvdrivers`: Guest drivers for Windows domUs. + +## Updating + +### Automatically + +An automated update script is available in this directory. To produce up-to-date +files for all supported Xen branches, simply run `./update.sh`, and follow the +instructions given to you by the script. Notably, it will request that you verify +the Xen Project code signing PGP key. This README understands that the fingerprint +of that key is [`23E3 222C 145F 4475 FA80 60A7 83FE 14C9 57E8 2BD9`](https://keys.openpgp.org/search?q=pgp%40xen.org), +but you should verify this information by seeking the fingerprint from other trusted +sources, as this document may be compromised. Once the PGP key is verified, it will +use `git verify-tag` to ascertain the validity of the cloned Xen sources. + +After the script is done, follow the steps in [**For Both Update Methods**](#for-both-update-methods) below. + +#### Downstream Patch Names + +The script expects local patch names to follow a certain specification. +Please name any required patches using the template below: + +```console +0000-project-description-branch.patch +``` + +Where: + +1. The first four numbers define the patch order. + **0001** will be applied after **0000**, and so on. +1. `project` means the name of the source the patch should be applied to. + - If you are applying patches to the main Xen sources, use `xen`. + - For the pre-fetched QEMU, use `qemu`. + - For SeaBIOS, use `seabios`. + - For OVMF, use `ovmf`. + - For iPXE, use `ipxe`. +1. `description` is a string with uppercase and lowercase letters, numbers and + dashes. It describes the patch name and what it does to the upstream code. +1. `branch` is the branch for which this patch is supposed to patch. + It should match the name of the directory it is in. + +For example, a patch fixing `xentop`'s output in the 4.15 branch should have +the following name: `0000-xen-xentop-output-4.15.patch`, and it should be added +to the `4.15/` directory. + +### Manually + +The script is not infallible, and it may break in the future. If that happens, +open a PR fixing the script, and update Xen manually: + +1. Check the support matrix to see which branches are security-supported. +1. Create one directory per branch. +1. [Update](https://xenbits.xenproject.org/gitweb/) the `default.nix` files for + the branches that already exist and copy a new one to any branches that do + not yet exist in Nixpkgs. + - Do not forget to set the `branch`, `version`, and `latest` attributes for + each of the `default.nix` files. + - The revisions are preferably commit hashes, but tag names are acceptable + as well. + +### For Both Update Methods + +1. Make sure all branches build. (Both the `standard` and `slim` versions) +1. Use the NixOS module to test if dom0 boots successfully on all new versions. +1. Clean up your changes and commit them, making sure to follow the + [Nixpkgs Contribution Guidelines](../../../../CONTRIBUTING.md). +1. Open a PR and await a review from the current maintainers. + +## Features + +### Pre-fetched Sources + +On a typical Xen build, the Xen Makefiles will fetch more required sources with +`git` and `wget`. Due to the Nix Sandbox, build-time fetching will fail, so we +pre-fetch the required sources before building.[^1] To accomplish this, we have +a `prefetchedSources` attribute that contains the required derivations, if they +are requested by the main Xen build. + +### EFI + +Building `xen.efi` requires an `ld` with PE support.[^2] + +We use a `makeFlag` to override the `$LD` environment variable to point to our +patched `efiBinutils`. For more information, see the comment in `./generic.nix`. + +> [!TIP] +> If you are certain you will not be running Xen in an x86 EFI environment, disable +the `withEFI` flag with an [override](https://nixos.org/manual/nixpkgs/stable/#chap-overrides) +to save you the need to compile `efiBinutils`. + +### Default Overrides + +By default, Xen also builds +[QEMU](https://www.qemu.org/), +[SeaBIOS](https://www.seabios.org/SeaBIOS), +[OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF) and +[iPXE](https://ipxe.org/). + +- QEMU is used for stubdomains and handling devices. +- SeaBIOS is the default legacy BIOS ROM for HVM domains. +- OVMF is the default UEFI ROM for HVM domains. +- iPXE provides a PXE boot environment for HVMs. + +However, those packages are already available on Nixpkgs, and Xen does not +necessarily need to build them into the main hypervisor build. For this reason, +we also have the `withInternal` flags, which enables and disables +building those built-in components. The two most popular Xen configurations will +be the default build, with all built-in components, and a `slim` build, with none +of those components. To simplify this process, the `./packages.nix` file includes +the `xen-slim` package overrides that have all `withInternal` flags +disabled. See the `meta.longDescription` attribute for the `xen-slim` packages +for more information. + +## Security + +We aim to support all **security-supported** versions of Xen at any given time. +See the [Xen Support Matrix](https://xenbits.xen.org/docs/unstable/support-matrix.html) +for a list of versions. As soon as a version is no longer **security-supported**, +it should be removed from Nixpkgs. + +> [!CAUTION] +> Pull requests that introduce XSA patches +should have the `1.severity: security` label. + +### Maintainers + +Xen is a particularly complex piece of software, so we are always looking for new +maintainers. Help out by [making and triaging issues](https://github.com/NixOS/nixpkgs/issues/new/choose), +[sending build fixes and improvements through PRs](https://github.com/NixOS/nixpkgs/compare), +updating the branches, and [patching security flaws](https://xenbits.xenproject.org/xsa/). + +We are also looking for testers, particularly those who can test Xen on AArch64 +machines. Open issues for any build failures or runtime errors you find! + +## Tests + +So far, we only have had one simple automated test that checks for +the correct `pkg-config` output files. + +Due to Xen's nature as a type-1 hypervisor, it is not a trivial matter to design +new tests, as even basic functionality requires a machine booted in a dom0 +kernel. For this reason, most testing done with this package must be done +manually in a NixOS machine with `virtualisation.xen.enable` set to `true`. + +Another unfortunate thing is that none of the Xen commands have a `--version` +flag. This means that `testers.testVersion` cannot ascertain the Xen version. +The only way to verify that you have indeed built the correct version is to +boot into the freshly built Xen kernel and run `xl info`. + +

+ + Xen Fu Panda + +

+ +[^1]: We also produce fake `git`, `wget` and `hostname` binaries that do nothing, + to prevent the build from failing because Xen cannot fetch the sources that + were already fetched by Nix. +[^2]: From the [Xen Documentation](https://xenbits.xenproject.org/docs/unstable/misc/efi.html): + > For x86, building `xen.efi` requires `gcc` 4.5.x or above (4.6.x or newer + recommended, as 4.5.x was probably never really tested for this purpose) + and `binutils` 2.22 or newer. Additionally, the `binutils` build must be + configured to include support for the x86_64-pep emulation (i.e. + `--enable-targets=x86_64-pep` or an option of equivalent effect should be + passed to the configure script). diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix index 826cd8a3d9d8..94abe86e85e5 100644 --- a/pkgs/applications/virtualization/xen/generic.nix +++ b/pkgs/applications/virtualization/xen/generic.nix @@ -1,265 +1,687 @@ -config: -{ lib, stdenv, cmake, pkg-config, which +versionDefinition: +{ + lib, + stdenv, + autoPatchelfHook, + cmake, + ninja, + pkg-config, + testers, + which, -# Xen -, bison, bzip2, checkpolicy, dev86, figlet, flex, gettext, glib -, acpica-tools, libaio, libiconv, libuuid, ncurses, openssl, perl -, xz, yajl, zlib -, python3Packages + fetchgit, + fetchFromGitHub, -# Xen Optional -, ocamlPackages + # Xen + acpica-tools, + bison, + bzip2, + dev86, + e2fsprogs, + flex, + libnl, + libuuid, + lzo, + ncurses, + ocamlPackages, + perl, + python311Packages, + systemdMinimal, + xz, + yajl, + zlib, + zstd, -# Scripts -, coreutils, gawk, gnused, gnugrep, diffutils, multipath-tools -, iproute2, inetutils, iptables, bridge-utils, openvswitch, nbd, drbd -, util-linux, procps, systemd + # Xen Optional + withInternalQEMU ? true, + pixman, + glib, -# Documentation -# python3Packages.markdown -, fig2dev, ghostscript, texinfo, pandoc + withInternalSeaBIOS ? true, + withSeaBIOS ? !withInternalSeaBIOS, + seabios, -, binutils-unwrapped + withInternalOVMF ? true, + withOVMF ? !withInternalOVMF, + OVMF, + nasm, -, ...} @ args: + withInternalIPXE ? true, + withIPXE ? !withInternalIPXE, + ipxe, -with lib; + withFlask ? false, + checkpolicy, + + efiVendor ? "nixos", # Allow downstreams with custom branding to quickly override the EFI Vendor string. + withEFI ? true, + binutils-unwrapped, + + # Documentation + fig2dev, + pandoc, + + # Scripts + bridge-utils, + coreutils, + diffutils, + gawk, + gnugrep, + gnused, + inetutils, + iproute2, + iptables, + multipath-tools, + nbd, + openvswitch, + util-linux, + ... +}@packageDefinition: let - #TODO: fix paths instead - scriptEnvPath = concatMapStringsSep ":" (x: "${x}/bin") [ - which perl - coreutils gawk gnused gnugrep diffutils util-linux multipath-tools - iproute2 inetutils iptables bridge-utils openvswitch nbd drbd + #TODO: fix paths instead. + scriptEnvPath = lib.strings.concatMapStringsSep ":" (x: "${x}/bin") [ + bridge-utils + coreutils + diffutils + gawk + gnugrep + gnused + inetutils + iproute2 + iptables + multipath-tools + nbd + openvswitch + perl + util-linux + which ]; - withXenfiles = f: concatStringsSep "\n" (mapAttrsToList f config.xenfiles); + inherit (versionDefinition) branch; + inherit (versionDefinition) version; + inherit (versionDefinition) latest; + inherit (versionDefinition) pkg; + pname = "xen"; - withTools = a: f: withXenfiles (name: x: optionalString (hasAttr a x) '' - echo "processing ${name}" - __do() { - cd "tools/${name}" - ${f name x} + # Sources needed to build tools and firmwares. + prefetchedSources = + lib.attrsets.optionalAttrs withInternalQEMU { + qemu-xen = { + src = fetchgit { + url = "https://xenbits.xen.org/git-http/qemu-xen.git"; + fetchSubmodules = true; + inherit (pkg.qemu) rev; + inherit (pkg.qemu) hash; + }; + patches = lib.lists.optionals (lib.attrsets.hasAttrByPath [ "patches" ] pkg.qemu) pkg.qemu.patches; + postPatch = '' + substituteInPlace scripts/tracetool.py \ + --replace-fail "/usr/bin/env python" "${python311Packages.python}/bin/python" + ''; + }; } - ( __do ) - ''); + // lib.attrsets.optionalAttrs withInternalSeaBIOS { + "firmware/seabios-dir-remote" = { + src = fetchgit { + url = "https://xenbits.xen.org/git-http/seabios.git"; + inherit (pkg.seaBIOS) rev; + inherit (pkg.seaBIOS) hash; + }; + patches = lib.lists.optionals (lib.attrsets.hasAttrByPath [ + "patches" + ] pkg.seaBIOS) pkg.seaBIOS.patches; + }; + } + // lib.attrsets.optionalAttrs withInternalOVMF { + "firmware/ovmf-dir-remote" = { + src = fetchgit { + url = "https://xenbits.xen.org/git-http/ovmf.git"; + fetchSubmodules = true; + inherit (pkg.ovmf) rev; + inherit (pkg.ovmf) hash; + }; + patches = lib.lists.optionals (lib.attrsets.hasAttrByPath [ "patches" ] pkg.ovmf) pkg.ovmf.patches; + postPatch = '' + substituteInPlace \ + OvmfPkg/build.sh BaseTools/BinWrappers/PosixLike/{AmlToC,BrotliCompress,build,GenFfs,GenFv,GenFw,GenSec,LzmaCompress,TianoCompress,Trim,VfrCompile} \ + --replace-fail "/usr/bin/env bash" ${stdenv.shell} + ''; + }; + } + // lib.attrsets.optionalAttrs withInternalIPXE { + "firmware/etherboot/ipxe.git" = { + src = fetchFromGitHub { + owner = "ipxe"; + repo = "ipxe"; + inherit (pkg.ipxe) rev; + inherit (pkg.ipxe) hash; + }; + patches = lib.lists.optionals (lib.attrsets.hasAttrByPath [ "patches" ] pkg.ipxe) pkg.ipxe.patches; + }; + }; + withPrefetchedSources = + sourcePkg: lib.strings.concatLines (lib.attrsets.mapAttrsToList sourcePkg prefetchedSources); - # We don't want to use the wrapped version, because this version of ld is - # only used for linking the Xen EFI binary, and the build process really - # needs control over the LDFLAGS used + # Sometimes patches are sourced through a path, like ./0000-xen.patch. + # This would break the patch attribute parser functions, so we normalise + # all patches sourced through paths by setting them to a { type = "path"; } + # attribute set. + # Patches from fetchpatch are already attribute sets. + normalisedPatchList = builtins.map ( + patch: + if !builtins.isAttrs patch then + if builtins.isPath patch then + { type = "path"; } + else + throw "xen/generic.nix: normalisedPatchList attempted to normalise something that is not a Path or an Attribute Set." + else + patch + ) pkg.xen.patches; + + # Simple counter for the number of attrsets (patches) in the patches list after normalisation. + numberOfPatches = lib.lists.count (patch: builtins.isAttrs patch) normalisedPatchList; + + # builtins.elemAt's index begins at 0, so we subtract 1 from the number of patches in order to + # produce the range that will be used in the following builtin.map calls. + availablePatchesToTry = lib.lists.range 0 (numberOfPatches - 1); + + # Takes in an attrByPath input, and outputs the attribute value for each patch in a list. + # If a patch does not have a given attribute, returns `null`. Use lib.lists.remove null + # to remove these junk values, if necessary. + retrievePatchAttributes = + attributeName: + builtins.map ( + x: lib.attrsets.attrByPath attributeName null (builtins.elemAt normalisedPatchList x) + ) availablePatchesToTry; + + # Produces a list of newline-separated strings that lists the vulnerabilities this + # Xen is NOT affected by, due to the applied Xen Security Advisory patches. This is + # then used in meta.longDescription, to let users know their Xen is patched against + # known vulnerabilities, as the package version isn't always the best indicator. + # + # Produces something like this: (one string for each XSA) + # * [Xen Security Advisory #1](https://xenbits.xenproject.org/xsa/advisory-1.html): **Title for XSA.** + # >Description of issue in XSA + #Extra lines + #are not indented, + #but markdown should be + #fine with it. + # Fixes: + # * [CVE-1999-00001](https://www.cve.org/CVERecord?id=CVE-1999-00001) + # * [CVE-1999-00002](https://www.cve.org/CVERecord?id=CVE-1999-00002) + # * [CVE-1999-00003](https://www.cve.org/CVERecord?id=CVE-1999-00003) + writeAdvisoryDescription = + if (lib.lists.remove null (retrievePatchAttributes [ "xsa" ]) != [ ]) then + lib.lists.zipListsWith (a: b: a + b) + (lib.lists.zipListsWith (a: b: a + "**" + b + ".**\n >") + (lib.lists.zipListsWith (a: b: "* [Xen Security Advisory #" + a + "](" + b + "): ") + (lib.lists.remove null (retrievePatchAttributes [ "xsa" ])) + ( + lib.lists.remove null (retrievePatchAttributes [ + "meta" + "homepage" + ]) + ) + ) + ( + lib.lists.remove null (retrievePatchAttributes [ + "meta" + "description" + ]) + ) + ) + ( + lib.lists.remove null (retrievePatchAttributes [ + "meta" + "longDescription" + ]) + ) + else + [ ]; + + withTools = + attr: file: + withPrefetchedSources ( + name: source: + lib.strings.optionalString (builtins.hasAttr attr source) '' + echo "processing ${name}" + __do() { + cd "tools/${name}" + ${file name source} + } + ( __do ) + '' + ); + + # Originally, there were two versions of binutils being used: the standard one and + # this patched one. Unfortunately, that required patches to the Xen Makefiles, and + # quickly became too complex to maintain. The new solution is to simply build this + # efi-binutils derivation and use it for the whole build process, except if + # enableEFI is disabled; it'll then use `binutils`. efiBinutils = binutils-unwrapped.overrideAttrs (oldAttrs: { name = "efi-binutils"; - configureFlags = oldAttrs.configureFlags ++ [ - "--enable-targets=x86_64-pep" - ]; - doInstallCheck = false; # We get a spurious failure otherwise, due to host/target mis-match + configureFlags = oldAttrs.configureFlags ++ [ "--enable-targets=x86_64-pep" ]; + doInstallCheck = false; # We get a spurious failure otherwise, due to a host/target mismatch. }); in -stdenv.mkDerivation (rec { - inherit (config) version; +stdenv.mkDerivation (finalAttrs: { + inherit pname; + inherit version; - name = "xen-${version}"; + outputs = [ + "out" # TODO: Split $out in $bin for binaries and $lib for libraries. + "man" # Manual pages for Xen userspace utilities. + "dev" # Development headers. + "boot" # xen.gz kernel, policy file if Flask is enabled, xen.efi if EFI is enabled. + ]; - dontUseCmakeConfigure = true; + # Main Xen source. + src = fetchgit { + url = "https://xenbits.xen.org/git-http/xen.git"; + inherit (pkg.xen) rev; + inherit (pkg.xen) hash; + }; - hardeningDisable = [ "stackprotector" "fortify" "pic" ]; + # Gets the patches from the pkg.xen.patches attribute from the versioned files. + patches = lib.lists.optionals (lib.attrsets.hasAttrByPath [ "patches" ] pkg.xen) pkg.xen.patches; - nativeBuildInputs = [ pkg-config cmake ]; - buildInputs = [ - which + nativeBuildInputs = + [ + autoPatchelfHook + bison + cmake + fig2dev + flex + pandoc + pkg-config + ] + ++ lib.lists.optionals withInternalQEMU [ + ninja + python311Packages.sphinx + ]; + buildInputs = + [ + # Xen + acpica-tools + bzip2 + dev86 + e2fsprogs.dev + libnl + libuuid + lzo + ncurses + perl + python311Packages.python + xz + yajl + zlib + zstd - # Xen - bison bzip2 checkpolicy dev86 figlet flex gettext glib acpica-tools libaio - libiconv libuuid ncurses openssl perl python3Packages.python xz yajl zlib + # oxenstored + ocamlPackages.findlib + ocamlPackages.ocaml + systemdMinimal - # oxenstored - ocamlPackages.findlib ocamlPackages.ocaml systemd + # Python Fixes + python311Packages.wrapPython + ] + ++ lib.lists.optionals withInternalQEMU [ + glib + pixman + ] + ++ lib.lists.optional withInternalOVMF nasm + ++ lib.lists.optional withFlask checkpolicy; - # Python fixes - python3Packages.wrapPython + configureFlags = + [ "--enable-systemd" ] + ++ lib.lists.optional (!withInternalQEMU) "--with-system-qemu" - # Documentation - python3Packages.markdown fig2dev ghostscript texinfo pandoc + ++ lib.lists.optional withSeaBIOS "--with-system-seabios=${seabios}/share/seabios" + ++ lib.lists.optional (!withInternalSeaBIOS && !withSeaBIOS) "--disable-seabios" - # Others - ] ++ (concatMap (x: x.buildInputs or []) (attrValues config.xenfiles)) - ++ (config.buildInputs or []); + ++ lib.lists.optional withOVMF "--with-system-ovmf=${OVMF.firmware}" + ++ lib.lists.optional withInternalOVMF "--enable-ovmf" - prePatch = '' - ### Generic fixes + ++ lib.lists.optional withIPXE "--with-system-ipxe=${ipxe}" + ++ lib.lists.optional withInternalIPXE "--enable-ipxe"; - # Xen's stubdoms, tools and firmwares need various sources that - # are usually fetched at build time using wget and git. We can't - # have that, so we prefetch them in nix-expression and setup - # fake wget and git for debugging purposes. + makeFlags = + [ + "PREFIX=$(out)" + "CONFIG_DIR=/etc" + "XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files" + "XEN_SCRIPT_DIR=$(CONFIG_DIR)/xen/scripts" + "BASH_COMPLETION_DIR=$(PREFIX)/share/bash-completion/completions" + ] + ++ lib.lists.optionals withEFI [ + "EFI_VENDOR=${efiVendor}" + "INSTALL_EFI_STRIP=1" + "LD=${efiBinutils}/bin/ld" # See the comment in the efiBinutils definition above. + ] + # These flags set the CONFIG_* options in /boot/xen.config + # and define if the default policy file is built. However, + # the Flask binaries always get compiled by default. + ++ lib.lists.optionals withFlask [ + "XSM_ENABLE=y" + "FLASK_ENABLE=y" + ] + ++ (pkg.xen.makeFlags or [ ]); - mkdir fake-bin - - # Fake git: just print what it wants and die - cat > fake-bin/wget << EOF - #!${stdenv.shell} -e - echo ===== FAKE WGET: Not fetching \$* - [ -e \$3 ] - EOF - - # Fake git: just print what it wants and die - cat > fake-bin/git << EOF - #!${stdenv.shell} - echo ===== FAKE GIT: Not cloning \$* - [ -e \$3 ] - EOF - - chmod +x fake-bin/* - export PATH=$PATH:$PWD/fake-bin - - # Remove in-tree qemu stuff in case we build from a tar-ball - rm -rf tools/qemu-xen tools/qemu-xen-traditional - - # Fix shebangs, mainly for build-scripts - # We want to do this before getting prefetched stuff to speed things up - # (prefetched stuff has lots of files) - find . -type f | xargs sed -i 's@/usr/bin/\(python\|perl\)@/usr/bin/env \1@g' - find . -type f -not -path "./tools/hotplug/Linux/xendomains.in" \ - | xargs sed -i 's@/bin/bash@${stdenv.shell}@g' - - # Get prefetched stuff - ${withXenfiles (name: x: '' - echo "${x.src} -> tools/${name}" - cp -r ${x.src} tools/${name} - chmod -R +w tools/${name} - '')} - ''; - - patches = [ - ] ++ (config.patches or []); - - postPatch = '' - ### Hacks - - # Work around a bug in our GCC wrapper: `gcc -MF foo -v' doesn't - # print the GCC version number properly. - substituteInPlace xen/Makefile \ - --replace '$(CC) $(CFLAGS) -v' '$(CC) -v' - - # Hack to get `gcc -m32' to work without having 32-bit Glibc headers. - mkdir -p tools/include/gnu - touch tools/include/gnu/stubs-32.h - - ### Fixing everything else - - substituteInPlace tools/libfsimage/common/fsimage_plugin.c \ - --replace /usr $out - - substituteInPlace tools/misc/xenpvnetboot \ - --replace /usr/sbin/mount ${util-linux}/bin/mount \ - --replace /usr/sbin/umount ${util-linux}/bin/umount - - substituteInPlace tools/xenmon/xenmon.py \ - --replace /usr/bin/pkill ${procps}/bin/pkill - - ${optionalString (builtins.compareVersions config.version "4.8" >= 0) '' - substituteInPlace tools/hotplug/Linux/launch-xenstore.in \ - --replace /bin/mkdir mkdir - ''} - - ${optionalString (builtins.compareVersions config.version "4.6" < 0) '' - # TODO: use this as a template and support our own if-up scripts instead? - substituteInPlace tools/hotplug/Linux/xen-backend.rules.in \ - --replace "@XEN_SCRIPT_DIR@" $out/etc/xen/scripts - - # blktap is not provided by xen, but by xapi - sed -i '/blktap/d' tools/hotplug/Linux/xen-backend.rules.in - ''} - - ${withTools "patches" (name: x: '' - ${concatMapStringsSep "\n" (p: '' - echo "# Patching with ${p}" - patch -p1 < ${p} - '') x.patches} - '')} - - ${withTools "postPatch" (name: x: x.postPatch)} - - ${config.postPatch or ""} - ''; - - postConfigure = '' - substituteInPlace tools/hotplug/Linux/xendomains \ - --replace /bin/ls ls - ''; - - EFI_LD = "${efiBinutils}/bin/ld"; - EFI_VENDOR = "nixos"; - - # TODO: Flask needs more testing before enabling it by default. - #makeFlags = [ "XSM_ENABLE=y" "FLASK_ENABLE=y" "PREFIX=$(out)" "CONFIG_DIR=/etc" "XEN_EXTFILES_URL=\\$(XEN_ROOT)/xen_ext_files" ]; - makeFlags = [ "PREFIX=$(out) CONFIG_DIR=/etc" "XEN_SCRIPT_DIR=/etc/xen/scripts" ] - ++ (config.makeFlags or []); - - preBuild = '' - ${config.preBuild or ""} - ''; - - buildFlags = [ "xen" "tools" ]; - - postBuild = '' - make -C docs man-pages - - ${withTools "buildPhase" (name: x: x.buildPhase)} - ''; - - installPhase = '' - mkdir -p $out $out/share $out/share/man - cp -prvd dist/install/nix/store/*/* $out/ - cp -prvd dist/install/boot $out/boot - cp -prvd dist/install/etc $out - cp -dR docs/man1 docs/man5 $out/share/man/ - - ${withTools "installPhase" (name: x: x.installPhase)} - - # Hack - substituteInPlace $out/etc/xen/scripts/hotplugpath.sh \ - --replace SBINDIR=\"$out/sbin\" SBINDIR=\"$out/bin\" - - wrapPythonPrograms - # We also need to wrap pygrub, which lies in lib - wrapPythonProgramsIn "$out/lib" "$out $pythonPath" - - shopt -s extglob - for i in $out/etc/xen/scripts/!(*.sh); do - sed -i "2s@^@export PATH=$out/bin:${scriptEnvPath}\n@" $i - done - ''; + buildFlags = [ + "xen" # Build the Xen Hypervisor. + "tools" # Build the userspace tools, such as `xl`. + "docs" # Build the Xen Documentation + # TODO: Enable the Stubdomains target. This requires another pre-fetched source: mini-os. Currently, Xen appears to build a limited version of stubdomains which does not include mini-os. + # "stubdom" + ]; enableParallelBuilding = true; - # TODO(@oxij): Stop referencing args here + env.NIX_CFLAGS_COMPILE = builtins.toString ( + [ + "-Wno-error=maybe-uninitialized" + "-Wno-error=array-bounds" + ] + ++ lib.lists.optionals withInternalOVMF [ + "-Wno-error=format-security" + "-Wno-error=use-after-free" + "-Wno-error=vla-parameter" + "-Wno-error=dangling-pointer" + "-Wno-error=stringop-overflow" + ] + ); + + dontUseCmakeConfigure = true; + dontUseNinjaBuild = withInternalQEMU; + + prePatch = + # Xen's stubdoms, tools and firmwares need various sources that + # are usually fetched at build time using wget and git. We can't + # have that, so we pre-fetch them in the versioned Nix expressions, + # and produce fake wget and git executables for debugging purposes. + # + # We also produce a fake hostname executable to prevent spurious + # command-not-found errors during compilation. + # + # The snippet below produces executables that simply print in stdout + # what they were supposed to fetch, and exit gracefully. + '' + mkdir fake-bin + + cat > fake-bin/wget << EOF + #!${stdenv.shell} -e + echo ===== FAKE WGET: Not fetching \$* + [ -e \$3 ] + EOF + + cat > fake-bin/git << EOF + #!${stdenv.shell} + echo ===== FAKE GIT: Not cloning \$* + [ -e \$3 ] + EOF + + cat > fake-bin/hostname << EOF + #!${stdenv.shell} + echo ${efiVendor} + [ -e \$3 ] + EOF + + chmod +x fake-bin/* + export PATH=$PATH:$PWD/fake-bin + '' + + # Remove in-tree QEMU sources, as we either pre-fetch them through + # the versioned Nix expressions if withInternalQEMU is true, or we + # don't build QEMU at all if withInternalQEMU is false. + + '' + rm --recursive --force tools/qemu-xen tools/qemu-xen-traditional + '' + + # The following expression moves the sources we fetched in the + # versioned Nix expressions to their correct locations inside + # the Xen source tree. + + '' + ${withPrefetchedSources ( + name: source: '' + echo "Copying pre-fetched source: ${source.src} -> tools/${name}" + cp --recursive ${source.src} tools/${name} + chmod --recursive +w tools/${name} + '' + )} + ''; + + postPatch = + # The following patch forces Xen to install xen.efi on $out/boot + # instead of $out/boot/efi/efi/nixos, as the latter directory + # would otherwise need to be created manually. This also creates + # a more consistent output for downstreams who override the + # efiVendor attribute above. + '' + substituteInPlace xen/Makefile \ + --replace-fail "\$(D)\$(EFI_MOUNTPOINT)/efi/\$(EFI_VENDOR)/\$(T)-\$(XEN_FULLVERSION).efi" \ + "\$(D)\$(BOOT_DIR)/\$(T)-\$(XEN_FULLVERSION).efi" + '' + + # The following patch fixes the call to /bin/mkdir on the + # launch_xenstore.sh helper script. + + '' + substituteInPlace tools/hotplug/Linux/launch-xenstore.in \ + --replace-fail "/bin/mkdir" "${coreutils}/bin/mkdir" + '' + + # The following expression fixes the paths called by Xen's systemd + # units, so we can use them in the NixOS module. + + '' + substituteInPlace \ + tools/hotplug/Linux/systemd/{xen-init-dom0,xen-qemu-dom0-disk-backend,xenconsoled,xendomains,xenstored}.service.in \ + --replace-fail /bin/grep ${gnugrep}/bin/grep + substituteInPlace \ + tools/hotplug/Linux/systemd/{xen-qemu-dom0-disk-backend,xenconsoled}.service.in \ + --replace-fail "/bin/mkdir" "${coreutils}/bin/mkdir" + '' + + # The following expression applies the patches defined on each + # prefetchedSources attribute. + + '' + ${withTools "patches" ( + name: source: '' + ${lib.strings.concatMapStringsSep "\n" (patch: '' + echo "Patching with ${patch}" + patch --strip 1 < ${patch} + '') source.patches} + '' + )} + + ${withTools "postPatch" (name: source: source.postPatch)} + + ${pkg.xen.postPatch or ""} + ''; + + preBuild = lib.lists.optionals (lib.attrsets.hasAttrByPath [ "preBuild" ] pkg.xen) pkg.xen.preBuild; + + postBuild = '' + ${withTools "buildPhase" (name: source: source.buildPhase)} + + ${pkg.xen.postBuild or ""} + ''; + + installPhase = + let + cpFlags = builtins.toString [ + "--preserve=mode,ownership,timestamps,link" + "--recursive" + "--verbose" + "--no-dereference" + ]; + in + # Run the preInstall tasks. + '' + runHook preInstall + '' + + # Create $out directories and copy build output. + + '' + mkdir --parents $out $out/share $boot + cp ${cpFlags} dist/install/nix/store/*/* $out/ + cp ${cpFlags} dist/install/etc $out + cp ${cpFlags} dist/install/boot $boot + '' + + # Run the postInstall tasks. + + '' + runHook postInstall + ''; + + postInstall = + # Wrap xencov_split, xenmon and xentrace_format. + '' + wrapPythonPrograms + '' + + # We also need to wrap pygrub, which lies in $out/libexec/xen/bin. + + '' + wrapPythonProgramsIn "$out/libexec/xen/bin" "$out $pythonPath" + '' + + # Fix shebangs in Xen's various scripts. + #TODO: Remove any and all usage of `sed` and replace these complicated magic runes with readable code. + + '' + shopt -s extglob + for i in $out/etc/xen/scripts/!(*.sh); do + sed --in-place "2s@^@export PATH=$out/bin:${scriptEnvPath}\n@" $i + done + '' + + + '' + ${withTools "installPhase" (name: source: source.installPhase)} + + ${pkg.xen.installPhase or ""} + ''; + + postFixup = + # Fix binaries in $out/lib/xen/bin. + '' + addAutoPatchelfSearchPath $out/lib + autoPatchelf $out/libexec/xen/bin/ + '' + # Flask is particularly hard to disable. Even after + # setting the make flags to `n`, it still gets compiled. + # If withFlask is disabled, delete the extra binaries. + + lib.strings.optionalString (!withFlask) '' + rm -f $out/bin/flask-* + ''; + + passthru = { + efi = + if withEFI then "boot/xen-${version}.efi" else throw "This Xen was compiled without an EFI binary."; + flaskPolicy = + if withFlask then + "boot/xenpolicy-${version}" + else + throw "This Xen was compiled without FLASK support."; + qemu-system-i386 = + if withInternalQEMU then + "libexec/xen/bin/qemu-system-i386" + else + throw "This Xen was compiled without a built-in QEMU."; + # This test suite is very simple, as Xen's userspace + # utilities require the hypervisor to be booted. + tests = { + pkg-config = testers.hasPkgConfigModules { + package = finalAttrs.finalPackage; + moduleNames = [ + "xencall" + "xencontrol" + "xendevicemodel" + "xenevtchn" + "xenforeignmemory" + "xengnttab" + "xenguest" + "xenhypfs" + "xenlight" + "xenstat" + "xenstore" + "xentoolcore" + "xentoollog" + "xenvchan" + "xlutil" + ]; + }; + }; + }; + meta = { - homepage = "http://www.xen.org/"; - description = "Xen hypervisor and related components" - + optionalString (args ? meta && args.meta ? description) - " (${args.meta.description})"; - longDescription = (args.meta.longDescription or "") - + "\nIncludes:\n" - + withXenfiles (name: x: "* ${name}: ${x.meta.description or "(No description)"}."); - platforms = [ "x86_64-linux" ]; - maintainers = [ ]; - license = lib.licenses.gpl2; - knownVulnerabilities = [ - # https://www.openwall.com/lists/oss-security/2023/03/21/1 - # Affects 3.2 (at *least*) - 4.17 - "CVE-2022-42332" - # https://www.openwall.com/lists/oss-security/2023/03/21/2 - # Affects 4.11 - 4.17 - "CVE-2022-42333" - "CVE-2022-42334" - # https://www.openwall.com/lists/oss-security/2023/03/21/3 - # Affects 4.15 - 4.17 - "CVE-2022-42331" - # https://xenbits.xen.org/docs/unstable/support-matrix.html - ] ++ lib.optionals (lib.versionOlder version "4.15") [ - "This version of Xen has reached its end of life. See https://xenbits.xen.org/docs/unstable/support-matrix.html" + inherit branch; + # Short description for Xen. + description = + "Xen Hypervisor" + # The "and related components" addition is automatically hidden if said components aren't being built. + + lib.strings.optionalString (prefetchedSources != { }) " and related components" + # To alter the description inside the paranthesis, edit ./packages.nix. + + lib.strings.optionalString (lib.attrsets.hasAttrByPath [ + "meta" + "description" + ] packageDefinition) " (${packageDefinition.meta.description})"; + # Long description for Xen. + longDescription = + # Starts with the longDescription from ./packages.nix. + (packageDefinition.meta.longDescription or "") + + + lib.strings.optionalString (!withInternalQEMU) + "\nUse with `qemu_xen_${lib.stringAsChars (x: if x == "." then "_" else x) branch}`" + + lib.strings.optionalString latest "or `qemu_xen`" + + "." + # Then, if any of the optional with* components are being built, add the "Includes:" string. + + + lib.strings.optionalString + ( + withInternalQEMU + || withInternalSeaBIOS + || withInternalOVMF + || withInternalIPXE + || withEFI + || withFlask + ) + ( + "\nIncludes:\n" + # Originally, this was a call for the complicated withPrefetchedSources. Since there aren't + # that many optional components, we just use lib.strings.optionalString, because it's simpler. + # Optional components that aren't being built are automatically hidden. + + lib.strings.optionalString withEFI "* `xen.efi`: Xen's [EFI binary](https://xenbits.xenproject.org/docs/${branch}-testing/misc/efi.html), available on the `boot` output of this package.\n" + + lib.strings.optionalString withFlask "* `xsm-flask`: The [FLASK Xen Security Module](https://wiki.xenproject.org/wiki/Xen_Security_Modules_:_XSM-FLASK). The `xenpolicy-${version}` file is available on the `boot` output of this package.\n" + + lib.strings.optionalString withInternalQEMU "* `qemu-xen`: Xen's mirror of [QEMU](https://www.qemu.org/).\n" + + lib.strings.optionalString withInternalSeaBIOS "* `seabios-xen`: Xen's mirror of [SeaBIOS](https://www.seabios.org/SeaBIOS).\n" + + lib.strings.optionalString withInternalOVMF "* `ovmf-xen`: Xen's mirror of [OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF).\n" + + lib.strings.optionalString withInternalIPXE "* `ipxe-xen`: Xen's pinned version of [iPXE](https://ipxe.org/).\n" + ) + # Finally, we write a notice explaining which vulnerabilities this Xen is NOT vulnerable to. + # This will hopefully give users the peace of mind that their Xen is secure, without needing + # to search the source code for the XSA patches. + + lib.strings.optionalString (writeAdvisoryDescription != [ ]) ( + "\nThis Xen (${version}) has been patched against the following known security vulnerabilities:\n" + + lib.strings.removeSuffix "\n" (lib.strings.concatLines writeAdvisoryDescription) + ); + homepage = "https://xenproject.org/"; + downloadPage = "https://downloads.xenproject.org/release/xen/${version}/"; + changelog = "https://wiki.xenproject.org/wiki/Xen_Project_${branch}_Release_Notes"; + license = with lib.licenses; [ + # Documentation. + cc-by-40 + # Most of Xen is licensed under the GPL v2.0. + gpl2Only + # Xen Libraries and the `xl` command-line utility. + lgpl21Only + # Development headers in $dev/include. + mit ]; - } // (config.meta or {}); -} // removeAttrs config [ "xenfiles" "buildInputs" "patches" "postPatch" "meta" ]) + maintainers = [ lib.maintainers.sigmasquadron ]; + mainProgram = "xl"; + # Evaluates to x86_64-linux. + platforms = lib.lists.intersectLists lib.platforms.linux lib.platforms.x86_64; + knownVulnerabilities = lib.lists.optionals (lib.strings.versionOlder version "4.16") [ + "Xen ${version} is no longer supported by the Xen Security Team. See https://xenbits.xenproject.org/docs/unstable/support-matrix.html" + ]; + }; +}) diff --git a/pkgs/applications/virtualization/xen/packages.nix b/pkgs/applications/virtualization/xen/packages.nix index c55a719995c0..96bd42e05201 100644 --- a/pkgs/applications/virtualization/xen/packages.nix +++ b/pkgs/applications/virtualization/xen/packages.nix @@ -1,58 +1,68 @@ -{ callPackage - -}: - -# TODO(@oxij) on new Xen version: generalize this to generate [vanilla slim -# light] for each ./.nix. - +{ callPackage }: +let + standard = { + meta = { + description = "Standard Xen"; + longDescription = '' + Standard version of Xen. Uses forks of QEMU, SeaBIOS, OVMF and iPXE provided + by the Xen Project. This provides the vanilla Xen experince, but wastes space + and build time. A typical NixOS setup that runs lots of VMs will usually need + to build two different versions of QEMU when using this Xen derivation (one + fork and upstream). + ''; + }; + }; + slim = { + meta = { + description = "Without Internal Components"; + longDescription = '' + Slimmed-down version of Xen that reuses nixpkgs packages as much as possible. + Instead of using the Xen forks for various internal components, this version uses + `seabios`, `ovmf` and `ipxe` from nixpkgs. These components may ocasionally get + out of sync with the hypervisor itself, but this builds faster and uses less space + than the default derivation. + ''; + }; + }; +in +# TODO: generalise this to automatically generate both Xen variants for each .//default.nix. rec { - xen_4_15-vanilla = callPackage ./4.15.nix { - meta = { - description = "vanilla"; - longDescription = '' - Vanilla version of Xen. Uses forks of Qemu and Seabios bundled - with Xen. This gives vanilla experince, but wastes space and - build time: typical NixOS setup that runs lots of VMs will - build three different versions of Qemu when using this (two - forks and upstream). - ''; - }; + xen_4_19 = callPackage ./4.19/default.nix { inherit (standard) meta; }; + xen_4_19-slim = xen_4_19.override { + withInternalQEMU = false; + withInternalSeaBIOS = false; + withInternalOVMF = false; + withInternalIPXE = false; + inherit (slim) meta; }; - xen_4_15-slim = xen_4_15-vanilla.override { - withInternalQemu = false; - withInternalTraditionalQemu = true; - withInternalSeabios = false; - withSeabios = true; - - meta = { - description = "slim"; - longDescription = '' - Slimmed-down version of Xen that reuses nixpkgs packages as - much as possible. Different parts may get out of sync, but - this builds faster and uses less space than vanilla. Use with - `qemu_xen` from nixpkgs. - ''; - }; + xen_4_18 = callPackage ./4.18/default.nix { inherit (standard) meta; }; + xen_4_18-slim = xen_4_18.override { + withInternalQEMU = false; + withInternalSeaBIOS = false; + withInternalOVMF = false; + withInternalIPXE = false; + inherit (slim) meta; }; - xen_4_15-light = xen_4_15-vanilla.override { - withInternalQemu = false; - withInternalTraditionalQemu = false; - withInternalSeabios = false; - withSeabios = true; - - meta = { - description = "light"; - longDescription = '' - Slimmed-down version of Xen without `qemu-traditional` (you - don't need it if you don't know what it is). Use with - `qemu_xen-light` from nixpkgs. - ''; - }; + xen_4_17 = callPackage ./4.17/default.nix { inherit (standard) meta; }; + xen_4_17-slim = xen_4_17.override { + withInternalQEMU = false; + withInternalSeaBIOS = false; + withInternalOVMF = false; + withInternalIPXE = false; + inherit (slim) meta; }; - xen-vanilla = xen_4_15-vanilla; - xen-slim = xen_4_15-slim; - xen-light = xen_4_15-light; + xen_4_16 = callPackage ./4.16/default.nix { inherit (standard) meta; }; + xen_4_16-slim = xen_4_16.override { + withInternalQEMU = false; + withInternalSeaBIOS = false; + withInternalOVMF = false; + withInternalIPXE = false; + inherit (slim) meta; + }; + + xen = xen_4_19; + xen-slim = xen_4_19-slim; } diff --git a/pkgs/applications/virtualization/xen/patches.nix b/pkgs/applications/virtualization/xen/patches.nix new file mode 100644 index 000000000000..050bb91a544c --- /dev/null +++ b/pkgs/applications/virtualization/xen/patches.nix @@ -0,0 +1,114 @@ +# Patching Xen? Check the XSAs at https://xenbits.xen.org/xsa/ +# and try applying all the ones we haven't gotten around to +# yet, if any are necessary. Patches from other downstreams +# are also welcome if they fix important issues with vanilla Xen. + +{ lib, fetchpatch }: + +let + xsaPatch = + { + id, + title, + description, + type ? "xsa", + hash ? "", + cve ? null, + }: + (fetchpatch { + name = + "XSA-" + id + lib.strings.optionalString (cve != null) ("-" + builtins.concatStringsSep "+" cve); + url = "https://xenbits.xen.org/xsa/xsa${id}.patch"; + inherit hash; + passthru = { + xsa = id; + inherit type; + }; + meta = { + description = title; + longDescription = + description + + "\n" + + ( + if (cve == null) then + # Why the two spaces preceding these CVE messages? + # This is parsed by writeAdvisoryDescription in generic.nix, + # and doing this was easier than messing with lib.strings even more. + " _No CVE was assigned to this XSA._" + else + " Fixes:${ + lib.strings.concatMapStrings ( + x: "\n * [" + x + "](https://www.cve.org/CVERecord?id=" + x + ")" + ) cve + }" + ); + homepage = "https://xenbits.xenproject.org/xsa/advisory-${id}.html"; + }; + }); + qubesPatch = + { + name, + tag, + type ? "qubes", + hash ? "", + }: + (fetchpatch { + inherit name; + url = "https://raw.githubusercontent.com/QubesOS/qubes-vmm-xen/v${tag}/${name}.patch"; + inherit hash; + passthru.type = type; + }); +in +{ + # Example patches: + # + # "XSA_100" = xsaPatch { + # id = "100"; + # name = "Verbatim Title of XSA"; + # cve = [ "CVE-1999-0001" "CVE-1999-0002" ]; # Not all XSAs have CVEs. This attribute is optional. + # hash = "sha256-0000000000000000000000000000000000000000000000000000"; + # }; + # + # "QUBES_libxl-fix-all-issues" = qubesPatch { + # name = "1000-libxl-fix-all-issues"; + # tag = "4.20.0-1"; + # hash = "sha256-0000000000000000000000000000000000000000000000000000"; + # }; + + # Build reproducibility patches for Xen. + # Qubes OS has not updated them to later versions of Xen yet, + # but they appear to work on Xen 4.17.4 - 4.19.0. + QUBES_REPRODUCIBLE_BUILDS = [ + (qubesPatch { + name = "1100-Define-build-dates-time-based-on-SOURCE_DATE_EPOCH"; + tag = "4.17.4-5"; + hash = "sha256-OwKA9oPTwhRcSmiOb+PxzifbO/IG8IHWlvddFh/nP6s="; + }) + (qubesPatch { + name = "1101-docs-rename-DATE-to-PANDOC_REL_DATE-and-allow-to-spe"; + tag = "4.17.4-5"; + hash = "sha256-BUtYt0mM3bURVaGv4oDznzxx1Wo4sfOpGV5GB8qc5Ns="; + }) + (qubesPatch { + name = "1102-docs-xen-headers-use-alphabetical-sorting-for-incont"; + tag = "4.17.4-5"; + hash = "sha256-mQUp2w9lUb7KDq5MuPQjs6y7iuMDeXoZjDjlXfa5z44="; + }) + ]; + + # Xen Security Advisory #458: (4.16 - 4.19-rc3) + "XSA_458" = xsaPatch { + id = "458"; + title = "Double unlock in x86 guest IRQ handling"; + description = '' + An optional feature of PCI MSI called "Multiple Message" allows a device + to use multiple consecutive interrupt vectors. Unlike for MSI-X, the + setting up of these consecutive vectors needs to happen all in one go. + In this handling an error path could be taken in different situations, + with or without a particular lock held. This error path wrongly releases + the lock even when it is not currently held. + ''; + cve = [ "CVE-2024-31143" ]; + hash = "sha256-yHI9Sp/7Ed40iIYQ/HOOIULlfzAzL0c0MGqdF+GR+AQ="; + }; +} diff --git a/pkgs/applications/virtualization/xen/update.sh b/pkgs/applications/virtualization/xen/update.sh new file mode 100755 index 000000000000..0b0c7516fa83 --- /dev/null +++ b/pkgs/applications/virtualization/xen/update.sh @@ -0,0 +1,194 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p gitMinimal curl gnupg nix-prefetch-git nixfmt-rfc-style +# shellcheck disable=SC2206,SC2207 shell=bash +set -e + +# Set a temporary $HOME in /tmp for GPG. +HOME=/tmp/xenUpdateScript + +# This script expects to be called in an interactive terminal somewhere inside Nixpkgs. +echo "Preparing..." +nixpkgs=$(git rev-parse --show-toplevel) +xenPath="$nixpkgs/pkgs/applications/virtualization/xen" +rm -rf /tmp/xenUpdateScript +mkdir /tmp/xenUpdateScript + +# Import and verify PGP key. +curl --silent --output /tmp/xenUpdateScript/xen.asc https://keys.openpgp.org/vks/v1/by-fingerprint/23E3222C145F4475FA8060A783FE14C957E82BD9 +gpg --quiet --import /tmp/xenUpdateScript/xen.asc +fingerprint="$(gpg --with-colons --fingerprint "pgp@xen.org" 2>/dev/null | awk -F: '/^pub:.*/ { getline; print $10}')" +echo -e "Please ascertain through multiple external sources that the \e[1;32mXen Project PGP Key Fingerprint\e[0m is indeed \e[1;33m$fingerprint\e[0m. If that is not the case, \e[1;31mexit immediately\e[0m." +read -r -p $'Press \e[1;34menter\e[0m to continue with a pre-filled expected fingerprint, or input an arbitrary PGP fingerprint to match with the key\'s fingerprint: ' userInputFingerprint +userInputFingerprint=${userInputFingerprint:-"23E3222C145F4475FA8060A783FE14C957E82BD9"} + +# Clone xen.git. +echo -e "Cloning \e[1;34mxen.git\e[0m..." +git clone --quiet https://xenbits.xen.org/git-http/xen.git /tmp/xenUpdateScript/xen +cd /tmp/xenUpdateScript/xen + +# Get list of versions and branches. +versionList="$(git tag --list "RELEASE-*" | sed s/RELEASE-//g | sed s/4.1.6.1//g | sort --numeric-sort)" +latestVersion=$(echo "$versionList" | tr ' ' '\n' | tail --lines=1) +branchList=($(echo "$versionList" | tr ' ' '\n' | sed s/\.[0-9]*$//g | awk '!seen[$0]++')) + +# Figure out which versions we're actually going to install. +minSupportedBranch="$(grep " knownVulnerabilities = lib.lists.optionals (lib.strings.versionOlder version " "$xenPath"/generic.nix | sed s/' knownVulnerabilities = lib.lists.optionals (lib.strings.versionOlder version "'//g | sed s/'") \['//g)" +supportedBranches=($(for version in "${branchList[@]}"; do if [ "$(printf '%s\n' "$minSupportedBranch" "$version" | sort -V | head -n1)" = "$minSupportedBranch" ]; then echo "$version"; fi; done)) +supportedVersions=($(for version in "${supportedBranches[@]}"; do echo "$versionList" | tr ' ' '\n' | grep "$version" | tail --lines=1; done)) + +# Main loop that installs every supportedVersion. +for version in "${supportedVersions[@]}"; do + echo -e "\n------------------------------------------------" + branch=${version/%.[0-9]/} + if [[ "$version" == "$latestVersion" ]]; then + latest=true + echo -e "\nFound \e[1;34mlatest\e[0m release: \e[1;32mXen $version\e[0m in branch \e[1;36m$branch\e[0m." + else + latest=false + echo -e "\nFound \e[1;33msecurity-supported\e[0m release: \e[1;32mXen $version\e[0m in branch \e[1;36m$branch\e[0m." + fi + + # Verify PGP key automatically. If the fingerprint matches what the user specified, or the default fingerprint, then we consider it trusted. + cd /tmp/xenUpdateScript/xen + if [[ "$fingerprint" = "$userInputFingerprint" ]]; then + echo "$fingerprint:6:" | gpg --quiet --import-ownertrust + (git verify-tag RELEASE-"$version" 2>/dev/null && echo -e "\n\e[1;32mSuccessfully authenticated Xen $version.\e[0m") || (echo -e "\e[1;31merror:\e[0m Unable to verify tag \e[1;32mRELEASE-$version\e[0m.\n- It is possible that \e[1;33mthis script has broken\e[0m, the Xen Project has \e[1;33mcycled their PGP keys\e[0m, or a \e[1;31msupply chain attack is in progress\e[0m.\n\n\e[1;31mPlease update manually.\e[0m" && exit 1) + else + echo -e "\e[1;31merror:\e[0m Unable to verify \e[1;34mpgp@xen.org\e[0m's fingerprint.\n- It is possible that \e[1;33mthis script has broken\e[0m, the Xen Project has \e[1;33mcycled their PGP keys\e[0m, or an \e[1;31mimpersonation attack is in progress\e[0m.\n\n\e[1;31mPlease update manually.\e[0m" && exit 1 + fi + + git switch --quiet --detach RELEASE-"$version" + + # Originally we told people to go check the Makefile themselves. + echo -e "\nDetermining source versions from Xen Makefiles..." + qemuVersion="$(grep -ie "QEMU_UPSTREAM_REVISION ?=" /tmp/xenUpdateScript/xen/Config.mk | sed s/"QEMU_UPSTREAM_REVISION ?= "//g)" + seaBIOSVersion="$(grep -ie "SEABIOS_UPSTREAM_REVISION ?= rel-" /tmp/xenUpdateScript/xen/Config.mk | sed s/"SEABIOS_UPSTREAM_REVISION ?= "//g)" + ovmfVersion="$(grep -ie "OVMF_UPSTREAM_REVISION ?=" /tmp/xenUpdateScript/xen/Config.mk | sed s/"OVMF_UPSTREAM_REVISION ?= "//g)" + ipxeVersion="$(grep -ie "IPXE_GIT_TAG :=" /tmp/xenUpdateScript/xen/tools/firmware/etherboot/Makefile | sed s/"IPXE_GIT_TAG := "//g)" + + # Use `nix-prefetch-git` to fetch `rev`s and `hash`es. + echo "Pre-fetching sources and determining hashes..." + echo -e -n " \e[1;32mXen\e[0m..." + fetchXen=$(nix-prefetch-git --url https://xenbits.xen.org/git-http/xen.git --rev RELEASE-"$version" --quiet) + finalVersion="$(echo "$fetchXen" | tr ', ' '\n ' | grep -ie rev | sed s/' "rev": "'//g | sed s/'"'//g)" + hash="$(echo "$fetchXen" | tr ', ' '\n ' | grep -ie hash | sed s/' "hash": "'//g | sed s/'"'//g)" + echo "done!" + echo -e -n " \e[1;36mQEMU\e[0m..." + fetchQEMU=$(nix-prefetch-git --url https://xenbits.xen.org/git-http/qemu-xen.git --rev "$qemuVersion" --quiet --fetch-submodules) + finalQEMUVersion="$(echo "$fetchQEMU" | tr ', ' '\n ' | grep -ie rev | sed s/' "rev": "'//g | sed s/'"'//g)" + qemuHash="$(echo "$fetchQEMU" | tr ', ' '\n ' | grep -ie hash | sed s/' "hash": "'//g | sed s/'"'//g)" + echo "done!" + echo -e -n " \e[1;36mSeaBIOS\e[0m..." + fetchSeaBIOS=$(nix-prefetch-git --url https://xenbits.xen.org/git-http/seabios.git --rev "$seaBIOSVersion" --quiet) + finalSeaBIOSVersion="$(echo "$fetchSeaBIOS" | tr ', ' '\n ' | grep -ie rev | sed s/' "rev": "'//g | sed s/'"'//g)" + seaBIOSHash="$(echo "$fetchSeaBIOS" | tr ', ' '\n ' | grep -ie hash | sed s/' "hash": "'//g | sed s/'"'//g)" + echo "done!" + echo -e -n " \e[1;36mOVMF\e[0m..." + ovmfHash="$(nix-prefetch-git --url https://xenbits.xen.org/git-http/ovmf.git --rev "$ovmfVersion" --quiet --fetch-submodules | grep -ie hash | sed s/' "hash": "'//g | sed s/'",'//g)" + echo "done!" + echo -e -n " \e[1;36miPXE\e[0m..." + ipxeHash="$(nix-prefetch-git --url https://github.com/ipxe/ipxe.git --rev "$ipxeVersion" --quiet | grep -ie hash | sed s/' "hash": "'//g | sed s/'",'//g)" + echo "done!" + + cd "$xenPath" + + echo -e "\nFound the following revisions:\n \e[1;32mXen\e[0m: \e[1;33m$finalVersion\e[0m (\e[1;33m$hash\e[0m)\n \e[1;36mQEMU\e[0m: \e[1;33m$finalQEMUVersion\e[0m (\e[1;33m$qemuHash\e[0m)\n \e[1;36mSeaBIOS\e[0m: \e[1;33m$finalSeaBIOSVersion\e[0m (\e[1;33m$seaBIOSHash\e[0m)\n \e[1;36mOVMF\e[0m: \e[1;33m$ovmfVersion\e[0m (\e[1;33m$ovmfHash\e[0m)\n \e[1;36miPXE\e[0m: \e[1;33m$ipxeVersion\e[0m (\e[1;33m$ipxeHash\e[0m)" + + # Set OCaml Version + read -r -p $'\nEnter the corresponding \e[1;33mOCaml\e[0m version for \e[1;32mXen '"$version"$'\e[0m, or press \e[1;34menter\e[0m for the default value of \e[1;32m4_14\e[0m: ' ocamlVersion + ocamlVersion=${ocamlVersion:-"4_14"} + + mkdir -p "$branch"/ + rm -f "$branch"/default.nix + + # Prepare any .patch files that are called by Nix through a path value. + echo -e "\nPlease add any required patches to version \e[1;32m$branch\e[0m in \e[1;34m$branch/\e[0m, and press \e[1;34menter\e[0m when done." + read -r -p $'Remember to follow the naming specification as defined in \e[1;34m./README.md\e[0m.' + + echo -e "\nDiscovering patches..." + discoveredXenPatches="$(find "$branch"/ -type f -name "[0-9][0-9][0-9][0-9]-xen-*-$branch.patch" -printf "./%f ")" + discoveredQEMUPatches="$(find "$branch"/ -type f -name "[0-9][0-9][0-9][0-9]-qemu-*-$branch.patch" -printf "./%f ")" + discoveredSeaBIOSPatches="$(find "$branch"/ -type f -name "[0-9][0-9][0-9][0-9]-seabios-*-$branch.patch" -printf "./%f ")" + discoveredOVMFPatches="$(find "$branch"/ -type f -name "[0-9][0-9][0-9][0-9]-ovmf-*-$branch.patch" -printf "./%f ")" + discoveredIPXEPatches="$(find "$branch"/ -type f -name "[0-9][0-9][0-9][0-9]-ipxe-*-$branch.patch" -printf "./%f ")" + + discoveredXenPatchesEcho=${discoveredXenPatches:-"\e[1;31mNone found!\e[0m"} + discoveredQEMUPatchesEcho=${discoveredQEMUPatches:-"\e[1;31mNone found!\e[0m"} + discoveredSeaBIOSPatchesEcho=${discoveredSeaBIOSPatches:-"\e[1;31mNone found!\e[0m"} + discoveredOVMFPatchesEcho=${discoveredOVMFPatches:-"\e[1;31mNone found!\e[0m"} + discoveredIPXEPatchesEcho=${discoveredIPXEPatches:-"\e[1;31mNone found!\e[0m"} + + echo -e "Found the following patches:\n \e[1;32mXen\e[0m: \e[1;33m$discoveredXenPatchesEcho\e[0m\n \e[1;36mQEMU\e[0m: \e[1;33m$discoveredQEMUPatchesEcho\e[0m\n \e[1;36mSeaBIOS\e[0m: \e[1;33m$discoveredSeaBIOSPatchesEcho\e[0m\n \e[1;36mOVMF\e[0m: \e[1;33m$discoveredOVMFPatchesEcho\e[0m\n \e[1;36miPXE\e[0m: \e[1;33m$discoveredIPXEPatchesEcho\e[0m" + + # Prepare patches that are called in ./patches.nix. + defaultPatchListInit=("QUBES_REPRODUCIBLE_BUILDS" "XSA_458") + read -r -a defaultPatchList -p $'\nWould you like to override the \e[1;34mupstreamPatches\e[0m list for \e[1;32mXen '"$version"$'\e[0m? If no, press \e[1;34menter\e[0m to use the default patch list: [ \e[1;34m'"${defaultPatchListInit[*]}"$' \e[0m]: ' + defaultPatchList=(${defaultPatchList[@]:-${defaultPatchListInit[@]}}) + spaceSeparatedPatchList=${defaultPatchList[*]} + upstreamPatches="upstreamPatches.${spaceSeparatedPatchList// / upstreamPatches.}" + + # Write and format default.nix file. + echo -e "\nWriting updated \e[1;34mversionDefinition\e[0m..." + cat >"$branch"/default.nix <> Makefile + getGoDirs() { + make show-backend-tests + } + ''; + + checkFlags = + let + skippedTests = [ + "Test_SSHParsePublicKey/dsa-1024/SSHKeygen" # dsa-1024 is deprecated in openssh and requires opting-in at compile time + "Test_calcFingerprint/dsa-1024/SSHKeygen" # dsa-1024 is deprecated in openssh and requires opting-in at compile time + "TestPamAuth" # we don't have PAM set up in the build sandbox + "TestPassword" # requires network: api.pwnedpasswords.com + "TestCaptcha" # requires network: hcaptcha.com + "TestDNSUpdate" # requires network: release.forgejo.org + "TestMigrateWhiteBlocklist" # requires network: gitlab.com (DNS) + ]; + in + [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; + + postInstall = '' + mkdir $data + cp -R ./{templates,options} ${frontend}/public $data + mkdir -p $out + cp -R ./options/locale $out/locale + wrapProgram $out/bin/gitea \ + --prefix PATH : ${lib.makeBinPath [ bash git gzip openssh ]} + ''; + + # $data is not available in goModules.drv + overrideModAttrs = (_: { + postPatch = null; + }); + + passthru = { + # allow nix-update to handle npmDepsHash + inherit (frontend) npmDeps; + + data-compressed = runCommand "forgejo-data-compressed" { + nativeBuildInputs = [ brotli xorg.lndir ]; + } '' + mkdir $out + lndir ${forgejo.data}/ $out/ + + # Create static gzip and brotli files + find -L $out -type f -regextype posix-extended -iregex '.*\.(css|html|js|svg|ttf|txt)' \ + -exec gzip --best --keep --force {} ';' \ + -exec brotli --best --keep --no-copy-stat {} ';' + ''; + + tests = if lts then nixosTests.forgejo-lts else nixosTests.forgejo; + updateScript = nix-update-script { }; + }; + + meta = { + description = "Self-hosted lightweight software forge"; + homepage = "https://forgejo.org"; + changelog = "https://codeberg.org/forgejo/forgejo/releases/tag/${src.rev}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ emilylange urandom bendlas adamcstephens ]; + broken = stdenv.isDarwin; + mainProgram = "gitea"; + }; +} diff --git a/pkgs/by-name/fo/forgejo/lts.nix b/pkgs/by-name/fo/forgejo/lts.nix new file mode 100644 index 000000000000..5244a3bcd82e --- /dev/null +++ b/pkgs/by-name/fo/forgejo/lts.nix @@ -0,0 +1,7 @@ +import ./generic.nix { + version = "7.0.6"; + hash = "sha256-Y8H85HMKnzNSXnrLOxhzOBSfedivGvcQ3MOAp31Kvno="; + npmDepsHash = "sha256-OqtYRjftwGxgW1JgMxyWd+9DndpEkd3LdQHSECc40yU="; + vendorHash = "sha256-hfbNyCQMQzDzJxFc2MPAR4+v/qNcnORiQNbwbbIA4Nw="; + lts = true; +} diff --git a/pkgs/by-name/fo/forgejo/package-json-npm-build-frontend.patch b/pkgs/by-name/fo/forgejo/package-json-npm-build-frontend.patch index f7567da020c6..f04634fc1844 100644 --- a/pkgs/by-name/fo/forgejo/package-json-npm-build-frontend.patch +++ b/pkgs/by-name/fo/forgejo/package-json-npm-build-frontend.patch @@ -1,14 +1,12 @@ diff --git a/package.json b/package.json -index b50c52cf43..d6aafb8775 100644 +index 0abf6fe8b9..9d6ae0fdff 100644 --- a/package.json +++ b/package.json -@@ -98,5 +98,8 @@ - }, - "browserslist": [ - "defaults" -- ] -+ ], +@@ -1,4 +1,7 @@ + { + "scripts": { + "build": "node_modules/.bin/webpack" -+ } - } ++ }, + "type": "module", + "engines": { + "node": ">= 18.0.0" diff --git a/pkgs/by-name/fo/forgejo/package.nix b/pkgs/by-name/fo/forgejo/package.nix index 03a7b974d4ce..99d51617ff04 100644 --- a/pkgs/by-name/fo/forgejo/package.nix +++ b/pkgs/by-name/fo/forgejo/package.nix @@ -1,157 +1,7 @@ -{ bash -, brotli -, buildGoModule -, forgejo -, git -, gzip -, lib -, makeWrapper -, nix-update-script -, nixosTests -, openssh -, pam -, pamSupport ? true -, sqliteSupport ? true -, xorg -, runCommand -, stdenv -, fetchFromGitea -, buildNpmPackage -}: - -let - frontend = buildNpmPackage { - pname = "forgejo-frontend"; - inherit (forgejo) src version; - - npmDepsHash = "sha256-Nu9aOjJpEAuCWWnJfZXy/GayiUDiyc3hOu6Bx7GxfxA="; - - patches = [ - ./package-json-npm-build-frontend.patch - ]; - - # override npmInstallHook - installPhase = '' - mkdir $out - cp -R ./public $out/ - ''; - }; -in -buildGoModule rec { - pname = "forgejo"; - version = "7.0.5"; - - src = fetchFromGitea { - domain = "codeberg.org"; - owner = "forgejo"; - repo = "forgejo"; - rev = "v${version}"; - hash = "sha256-Y/Ita5dr3COACffAIAjcqHHcdKiUWWEb/f/MPzMG200="; - }; - - vendorHash = "sha256-hfbNyCQMQzDzJxFc2MPAR4+v/qNcnORiQNbwbbIA4Nw="; - - subPackages = [ "." "contrib/environment-to-ini" ]; - - outputs = [ "out" "data" ]; - - nativeBuildInputs = [ - makeWrapper - git # checkPhase - openssh # checkPhase - ]; - buildInputs = lib.optional pamSupport pam; - - patches = [ - ./static-root-path.patch - ]; - - postPatch = '' - substituteInPlace modules/setting/server.go --subst-var data - ''; - - tags = lib.optional pamSupport "pam" - ++ lib.optionals sqliteSupport [ "sqlite" "sqlite_unlock_notify" ]; - - ldflags = [ - "-s" - "-w" - "-X main.Version=${version}" - "-X 'main.Tags=${lib.concatStringsSep " " tags}'" - ]; - - preConfigure = '' - export ldflags+=" -X main.ForgejoVersion=$(GITEA_VERSION=${version} make show-version-api)" - ''; - - preCheck = '' - # $HOME is required for ~/.ssh/authorized_keys and such - export HOME="$TMPDIR/home" - - # expose and use the GO_TEST_PACKAGES var from the Makefile - # instead of manually copying over the entire list: - # https://codeberg.org/forgejo/forgejo/src/tag/v7.0.4/Makefile#L124 - echo -e 'show-backend-tests:\n\t@echo ''${GO_TEST_PACKAGES}' >> Makefile - getGoDirs() { - make show-backend-tests - } - ''; - - checkFlags = - let - skippedTests = [ - "Test_SSHParsePublicKey/dsa-1024/SSHKeygen" # dsa-1024 is deprecated in openssh and requires opting-in at compile time - "Test_calcFingerprint/dsa-1024/SSHKeygen" # dsa-1024 is deprecated in openssh and requires opting-in at compile time - "TestPamAuth" # we don't have PAM set up in the build sandbox - "TestPassword" # requires network: api.pwnedpasswords.com - "TestCaptcha" # requires network: hcaptcha.com - "TestDNSUpdate" # requires network: release.forgejo.org - "TestMigrateWhiteBlocklist" # requires network: gitlab.com (DNS) - ]; - in - [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; - - postInstall = '' - mkdir $data - cp -R ./{templates,options} ${frontend}/public $data - mkdir -p $out - cp -R ./options/locale $out/locale - wrapProgram $out/bin/gitea \ - --prefix PATH : ${lib.makeBinPath [ bash git gzip openssh ]} - ''; - - # $data is not available in goModules.drv - overrideModAttrs = (_: { - postPatch = null; - }); - - passthru = { - # allow nix-update to handle npmDepsHash - inherit (frontend) npmDeps; - - data-compressed = runCommand "forgejo-data-compressed" { - nativeBuildInputs = [ brotli xorg.lndir ]; - } '' - mkdir $out - lndir ${forgejo.data}/ $out/ - - # Create static gzip and brotli files - find -L $out -type f -regextype posix-extended -iregex '.*\.(css|html|js|svg|ttf|txt)' \ - -exec gzip --best --keep --force {} ';' \ - -exec brotli --best --keep --no-copy-stat {} ';' - ''; - - tests = nixosTests.forgejo; - updateScript = nix-update-script { }; - }; - - meta = { - description = "Self-hosted lightweight software forge"; - homepage = "https://forgejo.org"; - changelog = "https://codeberg.org/forgejo/forgejo/releases/tag/${src.rev}"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ emilylange urandom bendlas adamcstephens ]; - broken = stdenv.isDarwin; - mainProgram = "gitea"; - }; +import ./generic.nix { + version = "8.0.0"; + hash = "sha256-ol/2D+zMieERVDHOKlu+wm3WKkQNjbIw0sc0KLUTwzI="; + npmDepsHash = "sha256-6AMaZadgcTvOBsIXJjZQB6Q1rkdn+R82pclXdVvtdWY="; + vendorHash = "sha256-tNb0tCf+gjUmUqrjkzt7Wqqz21hW9WRh8CEdX8rv8Do="; + lts = false; } diff --git a/pkgs/by-name/gf/gfal2/package.nix b/pkgs/by-name/gf/gfal2/package.nix index e46b8807473f..f9ad9d06ae45 100644 --- a/pkgs/by-name/gf/gfal2/package.nix +++ b/pkgs/by-name/gf/gfal2/package.nix @@ -98,8 +98,8 @@ stdenv.mkDerivation (finalAttrs: { (pluginName: "-DPLUGIN_${lib.toUpper pluginName}=${lib.toUpper (lib.boolToString finalAttrs.passthru.enablePluginStatus.${pluginName})}") (lib.attrNames finalAttrs.passthru.enablePluginStatus) ) - ++ [ "-DSKIP_TESTS=${lib.toUpper (lib.boolToString (!finalAttrs.doCheck))}" ] - ++ lib.optionals finalAttrs.doCheck [ "-DGTEST_INCLUDE_DIR=${gtest.dev}/include" ] + ++ [ "-DSKIP_TESTS=${lib.toUpper (lib.boolToString (!finalAttrs.finalPackage.doCheck))}" ] + ++ lib.optionals finalAttrs.finalPackage.doCheck [ "-DGTEST_INCLUDE_DIR=${gtest.dev}/include" ] ++ lib.optionals finalAttrs.passthru.enablePluginStatus.http [ "-DCRYPTOPP_INCLUDE_DIRS=${cryptopp.dev}/include/cryptopp" ] ++ lib.optionals finalAttrs.passthru.enablePluginStatus.xrootd [ "-DXROOTD_INCLUDE_DIR=${xrootd.dev}/include/xrootd" ] ; diff --git a/pkgs/by-name/in/influxdb-cxx/package.nix b/pkgs/by-name/in/influxdb-cxx/package.nix index cc97be1c6874..a5fb9cef6777 100644 --- a/pkgs/by-name/in/influxdb-cxx/package.nix +++ b/pkgs/by-name/in/influxdb-cxx/package.nix @@ -26,10 +26,10 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; buildInputs = [ boost libcpr ] - ++ lib.optionals finalAttrs.doCheck [ catch2_3 trompeloeil ]; + ++ lib.optionals finalAttrs.finalPackage.doCheck [ catch2_3 trompeloeil ]; cmakeFlags = [ - (lib.cmakeBool "INFLUXCXX_TESTING" finalAttrs.doCheck) + (lib.cmakeBool "INFLUXCXX_TESTING" finalAttrs.finalPackage.doCheck) (lib.cmakeFeature "CMAKE_CTEST_ARGUMENTS" "-E;BoostSupportTest") # requires network access ]; diff --git a/pkgs/by-name/li/libdict/package.nix b/pkgs/by-name/li/libdict/package.nix index ad2ecbf4f247..53bae127e757 100644 --- a/pkgs/by-name/li/libdict/package.nix +++ b/pkgs/by-name/li/libdict/package.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - "-DLIBDICT_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}" + "-DLIBDICT_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}" "-DLIBDICT_SHARED=${if stdenv.hostPlatform.isStatic then "OFF" else "ON"}" ]; diff --git a/pkgs/by-name/ne/neovim-unwrapped/package.nix b/pkgs/by-name/ne/neovim-unwrapped/package.nix index 82150b9ba161..b40ffac4a3a6 100644 --- a/pkgs/by-name/ne/neovim-unwrapped/package.nix +++ b/pkgs/by-name/ne/neovim-unwrapped/package.nix @@ -41,7 +41,7 @@ stdenv.mkDerivation (finalAttrs: (nvim-lpeg-dylib ps) luabitop mpack - ] ++ lib.optionals finalAttrs.doCheck [ + ] ++ lib.optionals finalAttrs.finalPackage.doCheck [ luv coxpcall busted @@ -105,7 +105,7 @@ in { tree-sitter unibilium ] ++ lib.optionals stdenv.isDarwin [ libiconv CoreServices ] - ++ lib.optionals finalAttrs.doCheck [ glibcLocales procps ] + ++ lib.optionals finalAttrs.finalPackage.doCheck [ glibcLocales procps ] ; doCheck = false; diff --git a/pkgs/by-name/pa/packer/package.nix b/pkgs/by-name/pa/packer/package.nix index 50d56bf9ec9c..770171046ed1 100644 --- a/pkgs/by-name/pa/packer/package.nix +++ b/pkgs/by-name/pa/packer/package.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "packer"; - version = "1.11.1"; + version = "1.11.2"; src = fetchFromGitHub { owner = "hashicorp"; repo = "packer"; rev = "v${version}"; - hash = "sha256-GjC8nc8gpYQ3v0IYJc6vz0809PD6kTWx/HE1UOhTYc0="; + hash = "sha256-xi5CWL+KQd9nZSd0EscdH+lfw+WLtteSxtEos0lCNcA="; }; vendorHash = "sha256-Xmmc30W1ZfMc7YSQswyCjw1KyDA5qi8W+kZ1L7cM3cQ="; diff --git a/pkgs/by-name/pa/parallel-hashmap/package.nix b/pkgs/by-name/pa/parallel-hashmap/package.nix index 6a944d804fce..7b23f14045f7 100644 --- a/pkgs/by-name/pa/parallel-hashmap/package.nix +++ b/pkgs/by-name/pa/parallel-hashmap/package.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - "-DPHMAP_BUILD_TESTS=${if finalAttrs.doCheck then "ON" else "OFF"}" + "-DPHMAP_BUILD_TESTS=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}" "-DPHMAP_BUILD_EXAMPLES=OFF" ]; diff --git a/pkgs/by-name/se/sequoia-sq/package.nix b/pkgs/by-name/se/sequoia-sq/package.nix index 1df73c9cd3f2..4183e235286f 100644 --- a/pkgs/by-name/se/sequoia-sq/package.nix +++ b/pkgs/by-name/se/sequoia-sq/package.nix @@ -1,6 +1,5 @@ { stdenv , fetchFromGitLab -, fetchpatch , lib , darwin , nettle @@ -15,24 +14,16 @@ rustPlatform.buildRustPackage rec { pname = "sequoia-sq"; - version = "0.34.0"; + version = "0.37.0"; src = fetchFromGitLab { owner = "sequoia-pgp"; repo = "sequoia-sq"; rev = "v${version}"; - hash = "sha256-voFektWZnkmIQzI7s5nKzVVWQtEhzk2GKtxX926RtxU="; + hash = "sha256-D22ECJvbGbnyvusWXfU5F1aLF/ETuMyhAStT5HPWR2U="; }; - patches = [ - # Fixes test failing on Darwin, see: - # https://gitlab.com/sequoia-pgp/sequoia-sq/-/issues/211 - (fetchpatch { - url = "https://gitlab.com/sequoia-pgp/sequoia-sq/-/commit/21221a935e0d058ed269ae6c8f45c5fa7ea0d598.patch"; - hash = "sha256-ZjTl3EumeFwMJUl+qMpX+P2maYz4Ow/Tn9KwYbHDbes="; - }) - ]; - cargoHash = "sha256-3ncBpRi0v6g6wwPkSASDwt0d8cOOAUv9BwZaYvnif1U="; + cargoHash = "sha256-jFpqZKyRCMkMtOezsYJy3Fy1WXUPyn709wZxuwKlSYI="; nativeBuildInputs = [ pkg-config @@ -47,13 +38,16 @@ rustPlatform.buildRustPackage rec { nettle ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Security SystemConfiguration ]); - # Sometimes, tests fail on CI (ofborg) & hydra without this checkFlags = [ - # doctest for sequoia-ipc fail for some reason - "--skip=macros::assert_send_and_sync" - "--skip=macros::time_it" + # https://gitlab.com/sequoia-pgp/sequoia-sq/-/issues/297 + "--skip=sq_autocrypt_import" ]; + # Needed for tests to be able to create a ~/.local/share/sequoia directory + preCheck = '' + export HOME=$(mktemp -d) + ''; + env.ASSET_OUT_DIR = "/tmp/"; doCheck = true; @@ -69,12 +63,12 @@ rustPlatform.buildRustPackage rec { passthru.updateScript = nix-update-script { }; - meta = with lib; { + meta = { description = "Cool new OpenPGP implementation"; homepage = "https://sequoia-pgp.org/"; changelog = "https://gitlab.com/sequoia-pgp/sequoia-sq/-/blob/v${version}/NEWS"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ minijackson doronbehar ]; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ minijackson doronbehar ]; mainProgram = "sq"; }; } diff --git a/pkgs/by-name/se/sequoia-wot/package.nix b/pkgs/by-name/se/sequoia-wot/package.nix index 38c90c4837fd..d95066972cb8 100644 --- a/pkgs/by-name/se/sequoia-wot/package.nix +++ b/pkgs/by-name/se/sequoia-wot/package.nix @@ -13,16 +13,16 @@ }: rustPlatform.buildRustPackage rec { pname = "sequoia-wot"; - version = "0.11.0"; + version = "0.12.0"; src = fetchFromGitLab { owner = "sequoia-pgp"; repo = "sequoia-wot"; rev = "v${version}"; - hash = "sha256-qSf2uESsMGUEvAiRefpwxHKyizbq5Sst3SpjKaMIWTQ="; + hash = "sha256-Xbj1XLZQxyEYf/+R5e6EJMmL0C5ohfwZMZPVK5PwmUU="; }; - cargoHash = "sha256-vGseKdHqyncScS57UF3SR3EVdUGKVMue8fnRftefSY0="; + cargoHash = "sha256-BidSKnsIEEEU8UarbhqALcp44L0pes6O4m2mSEL1r4Q="; nativeBuildInputs = [ pkg-config @@ -80,11 +80,11 @@ rustPlatform.buildRustPackage rec { target/*/release/build/sequoia-wot-*/out/sq-wot-path.1 ''; - meta = with lib; { + meta = { description = "Rust CLI tool for authenticating bindings and exploring a web of trust"; homepage = "https://gitlab.com/sequoia-pgp/sequoia-wot"; - license = licenses.gpl2Only; - maintainers = with maintainers; [ Cryolitia ]; + license = lib.licenses.gpl2Only; + maintainers = with lib.maintainers; [ doronbehar Cryolitia ]; mainProgram = "sq-wot"; }; } diff --git a/pkgs/by-name/wa/wakatime-cli/package.nix b/pkgs/by-name/wa/wakatime-cli/package.nix index dd20ce1c2d82..a0e03a6cd788 100644 --- a/pkgs/by-name/wa/wakatime-cli/package.nix +++ b/pkgs/by-name/wa/wakatime-cli/package.nix @@ -8,13 +8,13 @@ buildGoModule rec { pname = "wakatime-cli"; - version = "1.95.0"; + version = "1.98.3"; src = fetchFromGitHub { owner = "wakatime"; repo = "wakatime-cli"; rev = "v${version}"; - hash = "sha256-dTT4+lvxB6WjDWdYznYBOs/cIa7mJudyN4P4TF67hRY="; + hash = "sha256-AoefP/hWdflCOjZtmKyjcjUfst3SXF+EHfJyPcACWPE="; }; vendorHash = "sha256-+9zdEIaKQlLcBwFaY5Fe5mpHWQDqfV+j1TPmDkdRjyk="; diff --git a/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix b/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix index 6179fc5a59c5..067de5bdc06c 100644 --- a/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix +++ b/pkgs/desktops/lomiri/applications/lomiri-system-settings/default.nix @@ -2,6 +2,7 @@ , lib , fetchFromGitLab , fetchpatch +, fetchpatch2 , gitUpdater , testers , accountsservice @@ -80,6 +81,12 @@ stdenv.mkDerivation (finalAttrs: { url = "https://gitlab.com/ubports/development/core/lomiri-system-settings/-/commit/67d9e28ebab8bdb9473d5bf8da2b7573e6848fa2.patch"; hash = "sha256-pFWNne2UH3R5Fz9ayHvIpDXDQbXPs0k4b/oRg0fzi+s="; }) + + (fetchpatch2 { + name = "0004-lomiri-system-settings-QOfono-namespace-change.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri-system-settings/-/commit/c0b5b007d77993fabdd95be5ccbbba5151f0f165.patch"; + hash = "sha256-HB7qdlbY0AVG6X3hL3IHf0Z7rm1G0wfdqo5MXtY7bfE="; + }) ] ++ [ ./2000-Support-wrapping-for-Nixpkgs.patch @@ -94,6 +101,13 @@ stdenv.mkDerivation (finalAttrs: { ]; postPatch = '' + # Part of 0004-lomiri-system-settings-QOfono-namespace-change.patch, fetchpatch2 cannot handle rename-only changes + for unmovedThing in tests/mocks/MeeGo/QOfono/*; do + mv "$unmovedThing" "tests/mocks/QOfono/$(basename "$unmovedThing")" + done + rmdir tests/mocks/MeeGo/QOfono + rmdir tests/mocks/MeeGo + substituteInPlace CMakeLists.txt \ --replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" \ diff --git a/pkgs/desktops/lomiri/applications/lomiri-system-settings/plugins/lomiri-system-settings-security-privacy.nix b/pkgs/desktops/lomiri/applications/lomiri-system-settings/plugins/lomiri-system-settings-security-privacy.nix index 981ad79f8683..798e37f91d67 100644 --- a/pkgs/desktops/lomiri/applications/lomiri-system-settings/plugins/lomiri-system-settings-security-privacy.nix +++ b/pkgs/desktops/lomiri/applications/lomiri-system-settings/plugins/lomiri-system-settings-security-privacy.nix @@ -33,6 +33,10 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace CMakeLists.txt \ --replace-fail "pkg_get_variable($pcvarname LomiriSystemSettings $pcvar)" "set($pcvarname $(pkg-config LomiriSystemSettings --define-variable=prefix=$out --define-variable=libdir=$out/lib --variable=$pcvar))" done + + # Compatibility with newer libqofono + substituteInPlace plugins/security-privacy/{Ofono,PageComponent,SimPin}.qml \ + --replace-fail 'import MeeGo.QOfono' 'import QOfono' ''; strictDeps = true; diff --git a/pkgs/desktops/lomiri/applications/lomiri/default.nix b/pkgs/desktops/lomiri/applications/lomiri/default.nix index e34eaf265b78..6329efbe1218 100644 --- a/pkgs/desktops/lomiri/applications/lomiri/default.nix +++ b/pkgs/desktops/lomiri/applications/lomiri/default.nix @@ -116,6 +116,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-guq/Ykcq4WcuXxNKO1eA4sJFyGSpZo0gtyFTdeK/GeE="; }) + # fetchpatch2 for renames + # Remove when version > 0.2.1 + (fetchpatch2 { + name = "1010-lomiri-QOfono-namespace.patch"; + url = "https://gitlab.com/ubports/development/core/lomiri/-/commit/d0397dadb5f05097f916c5b39e6d9b95d4ab9e4d.patch"; + hash = "sha256-wIkHlz2vYxF9eeH/sYYEdD9f8m4ylHEXXnX/DFG3HXg="; + }) + ./9901-lomiri-Disable-Wizard.patch ./9902-lomiri-Check-NIXOS_XKB_LAYOUTS.patch ]; @@ -126,6 +134,13 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail '@CMAKE_INSTALL_FULL_BINDIR@/lomiri-greeter-wrapper @CMAKE_INSTALL_FULL_BINDIR@/lomiri --mode=greeter' '@CMAKE_INSTALL_FULL_BINDIR@/lomiri --mode=greeter' \ --replace-fail 'X-LightDM-Session-Type=mir' 'X-LightDM-Session-Type=wayland' + # Part of QOfono namespace patch, fetchpatch2 cannot handle rename-only changes + for unmovedThing in tests/mocks/MeeGo/QOfono/*; do + mv "$unmovedThing" "tests/mocks/QOfono/$(basename "$unmovedThing")" + done + rmdir tests/mocks/MeeGo/QOfono + rmdir tests/mocks/MeeGo + # Need to replace prefix substituteInPlace data/systemd-user/CMakeLists.txt \ --replace-fail 'pkg_get_variable(SYSTEMD_USERUNITDIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USERUNITDIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' diff --git a/pkgs/desktops/lomiri/applications/morph-browser/default.nix b/pkgs/desktops/lomiri/applications/morph-browser/default.nix index f6e92d0c3504..12c71a4f90b8 100644 --- a/pkgs/desktops/lomiri/applications/morph-browser/default.nix +++ b/pkgs/desktops/lomiri/applications/morph-browser/default.nix @@ -63,7 +63,7 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace src/app/webbrowser/morph-browser.desktop.in.in \ --replace 'Icon=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser.svg' 'Icon=/run/current-system/sw/share/icons/hicolor/scalable/apps/morph-browser.svg' \ --replace 'X-Lomiri-Splash-Image=@CMAKE_INSTALL_FULL_DATADIR@/morph-browser/morph-browser-splash.svg' 'X-Lomiri-Splash-Image=lomiri-app-launch/splash/morph-browser.svg' - '' + lib.optionalString (!finalAttrs.doCheck) '' + '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' substituteInPlace CMakeLists.txt \ --replace 'add_subdirectory(tests)' "" ''; diff --git a/pkgs/desktops/lomiri/development/trust-store/default.nix b/pkgs/desktops/lomiri/development/trust-store/default.nix index fbbd8cf4ac6f..0e86eac2d610 100644 --- a/pkgs/desktops/lomiri/development/trust-store/default.nix +++ b/pkgs/desktops/lomiri/development/trust-store/default.nix @@ -49,7 +49,7 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace src/core/trust/terminal_agent.h \ --replace-fail '/bin/whiptail' '${lib.getExe' newt "whiptail"}' - '' + lib.optionalString (!finalAttrs.doCheck) '' + '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' substituteInPlace CMakeLists.txt \ --replace-fail 'add_subdirectory(tests)' "" ''; diff --git a/pkgs/desktops/lomiri/development/u1db-qt/default.nix b/pkgs/desktops/lomiri/development/u1db-qt/default.nix index a141abb79d69..8eeffa84ce35 100644 --- a/pkgs/desktops/lomiri/development/u1db-qt/default.nix +++ b/pkgs/desktops/lomiri/development/u1db-qt/default.nix @@ -48,7 +48,7 @@ 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.doCheck) '' + '' + 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")' diff --git a/pkgs/desktops/lomiri/qml/lomiri-settings-components/default.nix b/pkgs/desktops/lomiri/qml/lomiri-settings-components/default.nix index 8da32d4b1581..09fbe7d9b6eb 100644 --- a/pkgs/desktops/lomiri/qml/lomiri-settings-components/default.nix +++ b/pkgs/desktops/lomiri/qml/lomiri-settings-components/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace CMakeLists.txt \ --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" '${placeholder "out"}/${qtbase.qtQmlPrefix}' - '' + lib.optionalString (!finalAttrs.doCheck) '' + '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' sed -i CMakeLists.txt \ -e '/add_subdirectory(tests)/d' ''; diff --git a/pkgs/desktops/lomiri/services/biometryd/default.nix b/pkgs/desktops/lomiri/services/biometryd/default.nix index 6ae46fbc158b..d8f65fea41a7 100644 --- a/pkgs/desktops/lomiri/services/biometryd/default.nix +++ b/pkgs/desktops/lomiri/services/biometryd/default.nix @@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: { substituteInPlace data/biometryd.pc.in \ --replace-fail 'libdir=''${exec_prefix}' 'libdir=''${prefix}' \ --replace-fail 'includedir=''${exec_prefix}' 'includedir=''${prefix}' \ - '' + lib.optionalString (!finalAttrs.doCheck) '' + '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' sed -i -e '/add_subdirectory(tests)/d' CMakeLists.txt ''; diff --git a/pkgs/desktops/lomiri/services/lomiri-indicator-network/default.nix b/pkgs/desktops/lomiri/services/lomiri-indicator-network/default.nix index fc552881f469..a24de68abbcd 100644 --- a/pkgs/desktops/lomiri/services/lomiri-indicator-network/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-indicator-network/default.nix @@ -96,7 +96,7 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "GSETTINGS_LOCALINSTALL" true) (lib.cmakeBool "GSETTINGS_COMPILE" true) - (lib.cmakeBool "ENABLE_TESTS" finalAttrs.doCheck) + (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) (lib.cmakeBool "ENABLE_UBUNTU_COMPAT" true) # just in case something needs it (lib.cmakeBool "BUILD_DOC" true) # lacks QML docs, needs qdoc: https://github.com/NixOS/nixpkgs/pull/245379 ]; diff --git a/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix b/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix index ef9ed8f07257..b6e07f20831d 100644 --- a/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-thumbnailer/default.nix @@ -124,7 +124,7 @@ stdenv.mkDerivation (finalAttrs: { doxygen gdk-pixbuf # setup hook pkg-config - (python3.withPackages (ps: with ps; lib.optionals finalAttrs.doCheck [ + (python3.withPackages (ps: with ps; lib.optionals finalAttrs.finalPackage.doCheck [ python-dbusmock tornado ])) diff --git a/pkgs/desktops/lomiri/services/mediascanner2/default.nix b/pkgs/desktops/lomiri/services/mediascanner2/default.nix index d9470668ce1d..b8d562367e61 100644 --- a/pkgs/desktops/lomiri/services/mediascanner2/default.nix +++ b/pkgs/desktops/lomiri/services/mediascanner2/default.nix @@ -86,7 +86,7 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - "-DENABLE_TESTS=${lib.boolToString finalAttrs.doCheck}" + "-DENABLE_TESTS=${lib.boolToString finalAttrs.finalPackage.doCheck}" ]; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; diff --git a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix index dbc6b6d060c8..49aa9382eb84 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix @@ -11,13 +11,13 @@ stdenvNoCC.mkDerivation rec { pname = "elementary-gtk-theme"; - version = "8.0.0"; + version = "8.1.0"; src = fetchFromGitHub { owner = "elementary"; repo = "stylesheet"; rev = version; - sha256 = "sha256-O0Zu/ZxVANfWKcCkOF7jeJa3oG1ut56px7jeFK7LdKA="; + sha256 = "sha256-ZhqgvTbZN0lVAZ1nWy/Pvg7EdMYZIn8B5h1nmWo5E8E="; }; nativeBuildInputs = [ diff --git a/pkgs/development/compilers/corretto/19.nix b/pkgs/development/compilers/corretto/19.nix deleted file mode 100644 index 0674b63f21df..000000000000 --- a/pkgs/development/compilers/corretto/19.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ fetchFromGitHub -, gradle_7 -, jdk19 -, lib -, stdenv -, rsync -, runCommand -, testers -}: - -let - corretto = import ./mk-corretto.nix rec { - inherit lib stdenv rsync runCommand testers; - jdk = jdk19; - gradle = gradle_7; - version = "19.0.2.7.1"; - src = fetchFromGitHub { - owner = "corretto"; - repo = "corretto-19"; - rev = version; - sha256 = "sha256-mEj/MIbdXU0+fF5RhqjPuSeyclstesGaXB0e48YlKuw="; - }; - }; -in -corretto diff --git a/pkgs/development/compilers/ligo/default.nix b/pkgs/development/compilers/ligo/default.nix index eb3fe8004aa6..74819dd9446f 100644 --- a/pkgs/development/compilers/ligo/default.nix +++ b/pkgs/development/compilers/ligo/default.nix @@ -24,6 +24,8 @@ ocamlPackages.buildDunePackage rec { fetchSubmodules = true; }; + patches = [ ./make-compatible-with-linol-0_6.patch ]; + # The build picks this up for ligo --version LIGO_VERSION = version; diff --git a/pkgs/development/compilers/ligo/make-compatible-with-linol-0_6.patch b/pkgs/development/compilers/ligo/make-compatible-with-linol-0_6.patch new file mode 100644 index 000000000000..659ca3faaf73 --- /dev/null +++ b/pkgs/development/compilers/ligo/make-compatible-with-linol-0_6.patch @@ -0,0 +1,13 @@ +diff --git a/src/bin/cli.ml b/src/bin/cli.ml +index 36ee98cbec..960bfc85a0 100644 +--- a/src/bin/cli.ml ++++ b/src/bin/cli.ml +@@ -3537,7 +3537,7 @@ module Lsp_server = struct + ~session_id + ~skip_analytics + in +- let server = Linol_lwt.Jsonrpc2.create_stdio (s :> Linol_lwt.Jsonrpc2.server) in ++ let server = Linol_lwt.Jsonrpc2.create_stdio ~env:() (s :> Linol_lwt.Jsonrpc2.server) in + let shutdown () = Poly.(s#get_status = `ReceivedExit) in + let task = Linol_lwt.Jsonrpc2.run ~shutdown server in + let analytics_job = diff --git a/pkgs/development/compilers/openjdk/18.nix b/pkgs/development/compilers/openjdk/18.nix deleted file mode 100644 index e798317f8aa5..000000000000 --- a/pkgs/development/compilers/openjdk/18.nix +++ /dev/null @@ -1,191 +0,0 @@ -{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bash, pkg-config, autoconf, cpio -, file, which, unzip, zip, perl, cups, freetype, harfbuzz, alsa-lib, libjpeg, giflib -, libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst -, libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk18-bootstrap -, setJavaClassPath -, headless ? false -, enableJavaFX ? false, openjfx -, enableGtk ? true, gtk3, glib -}: - -let - version = { - feature = "18"; - interim = ".0.2.1"; - build = "1"; - }; - - # when building a headless jdk, also bootstrap it with a headless jdk - openjdk-bootstrap = openjdk18-bootstrap.override { gtkSupport = !headless; }; - - openjdk = stdenv.mkDerivation { - pname = "openjdk" + lib.optionalString headless "-headless"; - version = "${version.feature}${version.interim}+${version.build}"; - - src = fetchFromGitHub { - owner = "openjdk"; - repo = "jdk${version.feature}u"; - rev = "jdk-${version.feature}${version.interim}+${version.build}"; - sha256 = "sha256-L6dsN0kqWcfemM8LBg62qtHQdymwRQoV1ndc8r+0qn8="; - }; - - nativeBuildInputs = [ pkg-config autoconf unzip ]; - buildInputs = [ - cpio file which zip perl zlib cups freetype harfbuzz alsa-lib libjpeg giflib - libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst - libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap - ] ++ lib.optionals (!headless && enableGtk) [ - gtk3 glib - ]; - - patches = [ - ./fix-java-home-jdk10.patch - ./read-truststore-from-env-jdk10.patch - ./currency-date-range-jdk10.patch - ./increase-javadoc-heap-jdk13.patch - ./ignore-LegalNoticeFilePlugin-jdk18.patch - - # -Wformat etc. are stricter in newer gccs, per - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677 - # so grab the work-around from - # https://src.fedoraproject.org/rpms/java-openjdk/pull-request/24 - (fetchurl { - url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch"; - sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; - }) - - # Patch borrowed from Alpine to fix build errors with musl libc and recent gcc. - # This is applied anywhere to prevent patchrot. - (fetchpatch { - url = "https://git.alpinelinux.org/aports/plain/testing/openjdk18/FixNullPtrCast.patch?id=b93d1fc37fcf106144958d957bb97c7db67bd41f"; - hash = "sha256-nvO8RcmKwMcPdzq28mZ4If1XJ6FQ76CYWqRIozPCk5U="; - }) - ] ++ lib.optionals (!headless && enableGtk) [ - ./swing-use-gtk-jdk13.patch - ]; - - postPatch = '' - chmod +x configure - patchShebangs --build configure - ''; - - # JDK's build system attempts to specifically detect - # and special-case WSL, and we don't want it to do that, - # so pass the correct platform names explicitly - configurePlatforms = ["build" "host"]; - - configureFlags = [ - "--with-boot-jdk=${openjdk-bootstrap.home}" - "--with-version-build=${version.build}" - "--with-version-opt=nixos" - "--with-version-pre=" - "--enable-unlimited-crypto" - "--with-native-debug-symbols=internal" - "--with-freetype=system" - "--with-harfbuzz=system" - "--with-libjpeg=system" - "--with-giflib=system" - "--with-libpng=system" - "--with-zlib=system" - "--with-lcms=system" - "--with-stdc++lib=dynamic" - ] ++ lib.optional headless "--enable-headless-only" - ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}"; - - separateDebugInfo = true; - - env.NIX_CFLAGS_COMPILE = "-Wno-error"; - - NIX_LDFLAGS = toString (lib.optionals (!headless) [ - "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic" - ] ++ lib.optionals (!headless && enableGtk) [ - "-lgtk-3" "-lgio-2.0" - ]); - - # -j flag is explicitly rejected by the build system: - # Error: 'make -jN' is not supported, use 'make JOBS=N' - # Note: it does not make build sequential. Build system - # still runs in parallel. - enableParallelBuilding = false; - - buildFlags = [ "images" ]; - - postBuild = '' - cd build/linux* - make images - cd - - ''; - - installPhase = '' - mkdir -p $out/lib - - mv build/*/images/jdk $out/lib/openjdk - - # Remove some broken manpages. - rm -rf $out/lib/openjdk/man/ja* - - # Mirror some stuff in top-level. - mkdir -p $out/share - ln -s $out/lib/openjdk/include $out/include - ln -s $out/lib/openjdk/man $out/share/man - - # IDEs use the provided src.zip to navigate the Java codebase (https://github.com/NixOS/nixpkgs/pull/95081) - ln -s $out/lib/openjdk/lib/src.zip $out/lib/src.zip - - # jni.h expects jni_md.h to be in the header search path. - ln -s $out/include/linux/*_md.h $out/include/ - - # Remove crap from the installation. - rm -rf $out/lib/openjdk/demo - ${lib.optionalString headless '' - rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so - ''} - - ln -s $out/lib/openjdk/bin $out/bin - ''; - - preFixup = '' - # Propagate the setJavaClassPath setup hook so that any package - # that depends on the JDK has $CLASSPATH set up properly. - mkdir -p $out/nix-support - #TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040 - echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs - - # Set JAVA_HOME automatically. - mkdir -p $out/nix-support - cat < $out/nix-support/setup-hook - if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi - EOF - ''; - - postFixup = '' - # Build the set of output library directories to rpath against - LIBDIRS="" - for output in $(getAllOutputNames); do - if [ "$output" = debug ]; then continue; fi - LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort -u | tr '\n' ':'):$LIBDIRS" - done - # Add the local library paths to remove dependencies on the bootstrap - for output in $(getAllOutputNames); do - if [ "$output" = debug ]; then continue; fi - OUTPUTDIR=$(eval echo \$$output) - BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*) - echo "$BINLIBS" | while read i; do - patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true - patchelf --shrink-rpath "$i" || true - done - done - ''; - - disallowedReferences = [ openjdk-bootstrap ]; - - pos = builtins.unsafeGetAttrPos "feature" version; - meta = import ./meta.nix lib version.feature; - - passthru = { - architecture = ""; - home = "${openjdk}/lib/openjdk"; - inherit gtk3; - }; - }; -in openjdk diff --git a/pkgs/development/compilers/openjdk/19.nix b/pkgs/development/compilers/openjdk/19.nix deleted file mode 100644 index 8a28a6851a35..000000000000 --- a/pkgs/development/compilers/openjdk/19.nix +++ /dev/null @@ -1,203 +0,0 @@ -{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bash, pkg-config, autoconf, cpio -, file, which, unzip, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib -, libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst -, libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk19-bootstrap -, ensureNewerSourcesForZipFilesHook -, setJavaClassPath -# TODO(@sternenseemann): gtk3 fails to evaluate in pkgsCross.ghcjs.buildPackages -# which should be fixable, this is a no-rebuild workaround for GHC. -, headless ? stdenv.targetPlatform.isGhcjs -, enableJavaFX ? false, openjfx -, enableGtk ? true, gtk3, glib -}: - -let - version = { - feature = "19"; - interim = "-ga"; - build = ""; - }; - - # when building a headless jdk, also bootstrap it with a headless jdk - openjdk-bootstrap = openjdk19-bootstrap.override { gtkSupport = !headless; }; - - openjdk = stdenv.mkDerivation { - pname = "openjdk" + lib.optionalString headless "-headless"; - version = "${version.feature}${version.interim}"; - # version = "${version.feature}${version.interim}+${version.build}"; - - src = fetchFromGitHub { - owner = "openjdk"; - repo = "jdk${version.feature}u"; - rev = "jdk-${version.feature}${version.interim}"; - # rev = "jdk-${version.feature}${version.interim}+${version.build}"; - hash = "sha256-XbYTku/nWF+maBvYz2rJYIUBEgOmqICKjk9wufHqyj0="; - }; - - nativeBuildInputs = [ pkg-config autoconf unzip ensureNewerSourcesForZipFilesHook ]; - buildInputs = [ - cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib - libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst - libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap - ] ++ lib.optionals (!headless && enableGtk) [ - gtk3 glib - ]; - - patches = [ - ./fix-java-home-jdk10.patch - ./read-truststore-from-env-jdk10.patch - ./currency-date-range-jdk10.patch - ./increase-javadoc-heap-jdk13.patch - ./ignore-LegalNoticeFilePlugin-jdk18.patch - - # -Wformat etc. are stricter in newer gccs, per - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677 - # so grab the work-around from - # https://src.fedoraproject.org/rpms/java-openjdk/pull-request/24 - (fetchurl { - url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch"; - sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; - }) - - # Patch borrowed from Alpine to fix build errors with musl libc and recent gcc. - # This is applied anywhere to prevent patchrot. - (fetchpatch { - url = "https://git.alpinelinux.org/aports/plain/testing/openjdk19/FixNullPtrCast.patch?id=93dc07f97ff716b647c5f57c6224901ea06da560"; - hash = "sha256-H4X3Yip5bCpXMH7MSu9BgXIOYRVUBMZPZW8EvZSWI5k="; - }) - - # Fix build for gnumake-4.4.1: - # https://github.com/openjdk/jdk/pull/12992 - (fetchpatch { - name = "gnumake-4.4.1"; - url = "https://github.com/openjdk/jdk/commit/9341d135b855cc208d48e47d30cd90aafa354c36.patch"; - hash = "sha256-Qcm3ZmGCOYLZcskNjj7DYR85R4v07vYvvavrVOYL8vg="; - }) - ] ++ lib.optionals (!headless && enableGtk) [ - ./swing-use-gtk-jdk13.patch - ]; - - postPatch = '' - chmod +x configure - patchShebangs --build configure - ''; - - # JDK's build system attempts to specifically detect - # and special-case WSL, and we don't want it to do that, - # so pass the correct platform names explicitly - configurePlatforms = ["build" "host"]; - - configureFlags = [ - "--with-boot-jdk=${openjdk-bootstrap.home}" - "--with-version-build=${version.build}" - "--with-version-opt=nixos" - "--with-version-pre=" - "--enable-unlimited-crypto" - "--with-native-debug-symbols=internal" - "--with-libjpeg=system" - "--with-giflib=system" - "--with-libpng=system" - "--with-zlib=system" - "--with-lcms=system" - "--with-stdc++lib=dynamic" - ] - ++ lib.optionals stdenv.cc.isClang [ - "--with-toolchain-type=clang" - # Explicitly tell Clang to compile C++ files as C++, see - # https://github.com/NixOS/nixpkgs/issues/150655#issuecomment-1935304859 - "--with-extra-cxxflags=-xc++" - ] - ++ lib.optional headless "--enable-headless-only" - ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}"; - - separateDebugInfo = true; - - env.NIX_CFLAGS_COMPILE = "-Wno-error"; - - NIX_LDFLAGS = toString (lib.optionals (!headless) [ - "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic" - ] ++ lib.optionals (!headless && enableGtk) [ - "-lgtk-3" "-lgio-2.0" - ]); - - # -j flag is explicitly rejected by the build system: - # Error: 'make -jN' is not supported, use 'make JOBS=N' - # Note: it does not make build sequential. Build system - # still runs in parallel. - enableParallelBuilding = false; - - buildFlags = [ "images" ]; - - installPhase = '' - mkdir -p $out/lib - - mv build/*/images/jdk $out/lib/openjdk - - # Remove some broken manpages. - rm -rf $out/lib/openjdk/man/ja* - - # Mirror some stuff in top-level. - mkdir -p $out/share - ln -s $out/lib/openjdk/include $out/include - ln -s $out/lib/openjdk/man $out/share/man - - # IDEs use the provided src.zip to navigate the Java codebase (https://github.com/NixOS/nixpkgs/pull/95081) - ln -s $out/lib/openjdk/lib/src.zip $out/lib/src.zip - - # jni.h expects jni_md.h to be in the header search path. - ln -s $out/include/linux/*_md.h $out/include/ - - # Remove crap from the installation. - rm -rf $out/lib/openjdk/demo - ${lib.optionalString headless '' - rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so - ''} - - ln -s $out/lib/openjdk/bin $out/bin - ''; - - preFixup = '' - # Propagate the setJavaClassPath setup hook so that any package - # that depends on the JDK has $CLASSPATH set up properly. - mkdir -p $out/nix-support - #TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040 - echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs - - # Set JAVA_HOME automatically. - mkdir -p $out/nix-support - cat < $out/nix-support/setup-hook - if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi - EOF - ''; - - postFixup = '' - # Build the set of output library directories to rpath against - LIBDIRS="" - for output in $(getAllOutputNames); do - if [ "$output" = debug ]; then continue; fi - LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort -u | tr '\n' ':'):$LIBDIRS" - done - # Add the local library paths to remove dependencies on the bootstrap - for output in $(getAllOutputNames); do - if [ "$output" = debug ]; then continue; fi - OUTPUTDIR=$(eval echo \$$output) - BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*) - echo "$BINLIBS" | while read i; do - patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true - patchelf --shrink-rpath "$i" || true - done - done - ''; - - disallowedReferences = [ openjdk-bootstrap ]; - - pos = builtins.unsafeGetAttrPos "feature" version; - meta = import ./meta.nix lib version.feature; - - passthru = { - architecture = ""; - home = "${openjdk}/lib/openjdk"; - inherit gtk3; - }; - }; -in openjdk diff --git a/pkgs/development/compilers/openjdk/20.nix b/pkgs/development/compilers/openjdk/20.nix deleted file mode 100644 index 1f2216b1a292..000000000000 --- a/pkgs/development/compilers/openjdk/20.nix +++ /dev/null @@ -1,201 +0,0 @@ -{ stdenv, lib, fetchurl, fetchpatch, fetchFromGitHub, bash, pkg-config, autoconf, cpio -, file, which, unzip, zip, perl, cups, freetype, alsa-lib, libjpeg, giflib -, libpng, zlib, lcms2, libX11, libICE, libXrender, libXext, libXt, libXtst -, libXi, libXinerama, libXcursor, libXrandr, fontconfig, openjdk20-bootstrap -, ensureNewerSourcesForZipFilesHook -, setJavaClassPath -# TODO(@sternenseemann): gtk3 fails to evaluate in pkgsCross.ghcjs.buildPackages -# which should be fixable, this is a no-rebuild workaround for GHC. -, headless ? stdenv.targetPlatform.isGhcjs -, enableJavaFX ? false, openjfx -, enableGtk ? true, gtk3, glib -}: - -let - version = { - feature = "20"; - interim = ".0.2"; - build = "9"; - }; - - # when building a headless jdk, also bootstrap it with a headless jdk - openjdk-bootstrap = openjdk20-bootstrap.override { gtkSupport = !headless; }; - - openjdk = stdenv.mkDerivation { - pname = "openjdk" + lib.optionalString headless "-headless"; - version = "${version.feature}${version.interim}+${version.build}"; - - src = fetchFromGitHub { - owner = "openjdk"; - repo = "jdk${version.feature}u"; - rev = "jdk-${version.feature}${version.interim}+${version.build}"; - hash = "sha256-CZH2JwR+MrkTlLdcVYuFRB3McdrM0A+1YaSjNpjYwak="; - }; - - nativeBuildInputs = [ pkg-config autoconf unzip ensureNewerSourcesForZipFilesHook ]; - buildInputs = [ - cpio file which zip perl zlib cups freetype alsa-lib libjpeg giflib - libpng zlib lcms2 libX11 libICE libXrender libXext libXtst libXt libXtst - libXi libXinerama libXcursor libXrandr fontconfig openjdk-bootstrap - ] ++ lib.optionals (!headless && enableGtk) [ - gtk3 glib - ]; - - patches = [ - ./fix-java-home-jdk10.patch - ./read-truststore-from-env-jdk10.patch - ./currency-date-range-jdk10.patch - ./increase-javadoc-heap-jdk13.patch - ./ignore-LegalNoticeFilePlugin-jdk18.patch - - # -Wformat etc. are stricter in newer gccs, per - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79677 - # so grab the work-around from - # https://src.fedoraproject.org/rpms/java-openjdk/pull-request/24 - (fetchurl { - url = "https://src.fedoraproject.org/rpms/java-openjdk/raw/06c001c7d87f2e9fe4fedeef2d993bcd5d7afa2a/f/rh1673833-remove_removal_of_wformat_during_test_compilation.patch"; - sha256 = "082lmc30x64x583vqq00c8y0wqih3y4r0mp1c4bqq36l22qv6b6r"; - }) - - # Patch borrowed from Alpine to fix build errors with musl libc and recent gcc. - # This is applied anywhere to prevent patchrot. - (fetchpatch { - url = "https://git.alpinelinux.org/aports/plain/testing/openjdk19/FixNullPtrCast.patch?id=93dc07f97ff716b647c5f57c6224901ea06da560"; - hash = "sha256-H4X3Yip5bCpXMH7MSu9BgXIOYRVUBMZPZW8EvZSWI5k="; - }) - - # Fix build for gnumake-4.4.1: - # https://github.com/openjdk/jdk/pull/12992 - (fetchpatch { - name = "gnumake-4.4.1"; - url = "https://github.com/openjdk/jdk/commit/9341d135b855cc208d48e47d30cd90aafa354c36.patch"; - hash = "sha256-Qcm3ZmGCOYLZcskNjj7DYR85R4v07vYvvavrVOYL8vg="; - }) - ] ++ lib.optionals (!headless && enableGtk) [ - ./swing-use-gtk-jdk13.patch - ]; - - postPatch = '' - chmod +x configure - patchShebangs --build configure - ''; - - # JDK's build system attempts to specifically detect - # and special-case WSL, and we don't want it to do that, - # so pass the correct platform names explicitly - configurePlatforms = ["build" "host"]; - - configureFlags = [ - "--with-boot-jdk=${openjdk-bootstrap.home}" - "--with-version-build=${version.build}" - "--with-version-opt=nixos" - "--with-version-pre=" - "--enable-unlimited-crypto" - "--with-native-debug-symbols=internal" - "--with-libjpeg=system" - "--with-giflib=system" - "--with-libpng=system" - "--with-zlib=system" - "--with-lcms=system" - "--with-stdc++lib=dynamic" - ] - ++ lib.optionals stdenv.cc.isClang [ - "--with-toolchain-type=clang" - # Explicitly tell Clang to compile C++ files as C++, see - # https://github.com/NixOS/nixpkgs/issues/150655#issuecomment-1935304859 - "--with-extra-cxxflags=-xc++" - ] - ++ lib.optional headless "--enable-headless-only" - ++ lib.optional (!headless && enableJavaFX) "--with-import-modules=${openjfx}"; - - separateDebugInfo = true; - - env.NIX_CFLAGS_COMPILE = "-Wno-error"; - - NIX_LDFLAGS = toString (lib.optionals (!headless) [ - "-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic" - ] ++ lib.optionals (!headless && enableGtk) [ - "-lgtk-3" "-lgio-2.0" - ]); - - # -j flag is explicitly rejected by the build system: - # Error: 'make -jN' is not supported, use 'make JOBS=N' - # Note: it does not make build sequential. Build system - # still runs in parallel. - enableParallelBuilding = false; - - buildFlags = [ "images" ]; - - installPhase = '' - mkdir -p $out/lib - - mv build/*/images/jdk $out/lib/openjdk - - # Remove some broken manpages. - rm -rf $out/lib/openjdk/man/ja* - - # Mirror some stuff in top-level. - mkdir -p $out/share - ln -s $out/lib/openjdk/include $out/include - ln -s $out/lib/openjdk/man $out/share/man - - # IDEs use the provided src.zip to navigate the Java codebase (https://github.com/NixOS/nixpkgs/pull/95081) - ln -s $out/lib/openjdk/lib/src.zip $out/lib/src.zip - - # jni.h expects jni_md.h to be in the header search path. - ln -s $out/include/linux/*_md.h $out/include/ - - # Remove crap from the installation. - rm -rf $out/lib/openjdk/demo - ${lib.optionalString headless '' - rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so - ''} - - ln -s $out/lib/openjdk/bin $out/bin - ''; - - preFixup = '' - # Propagate the setJavaClassPath setup hook so that any package - # that depends on the JDK has $CLASSPATH set up properly. - mkdir -p $out/nix-support - #TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040 - echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs - - # Set JAVA_HOME automatically. - mkdir -p $out/nix-support - cat < $out/nix-support/setup-hook - if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out/lib/openjdk; fi - EOF - ''; - - postFixup = '' - # Build the set of output library directories to rpath against - LIBDIRS="" - for output in $(getAllOutputNames); do - if [ "$output" = debug ]; then continue; fi - LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort -u | tr '\n' ':'):$LIBDIRS" - done - # Add the local library paths to remove dependencies on the bootstrap - for output in $(getAllOutputNames); do - if [ "$output" = debug ]; then continue; fi - OUTPUTDIR=$(eval echo \$$output) - BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*) - echo "$BINLIBS" | while read i; do - patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true - patchelf --shrink-rpath "$i" || true - done - done - ''; - - disallowedReferences = [ openjdk-bootstrap ]; - - pos = builtins.unsafeGetAttrPos "feature" version; - meta = import ./meta.nix lib version.feature; - - passthru = { - architecture = ""; - home = "${openjdk}/lib/openjdk"; - inherit gtk3; - }; - }; -in openjdk diff --git a/pkgs/development/compilers/openjdk/openjfx/11/default.nix b/pkgs/development/compilers/openjdk/openjfx/11/default.nix index 58bd8678c0de..79df8c0da364 100644 --- a/pkgs/development/compilers/openjdk/openjfx/11/default.nix +++ b/pkgs/development/compilers/openjdk/openjfx/11/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, pkgs, fetchFromGitHub, writeText, gradle_7, pkg-config, perl, cmake -, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_4-headless, python3, ruby +, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_6-headless, python3, ruby , openjdk11-bootstrap , withMedia ? true , withWebKit ? false @@ -25,7 +25,11 @@ in stdenv.mkDerivation { sha256 = "sha256-BbBP2DiPZTSn1SBYMCgyiNdF9GD+NqR6YjeVNOQHHn4="; }; - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ]; + patches = [ + ../backport-ffmpeg-6-support-jfx11.patch + ]; + + buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_6-headless ]; nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; diff --git a/pkgs/development/compilers/openjdk/openjfx/15/default.nix b/pkgs/development/compilers/openjdk/openjfx/15/default.nix deleted file mode 100644 index bc032a349a76..000000000000 --- a/pkgs/development/compilers/openjdk/openjfx/15/default.nix +++ /dev/null @@ -1,94 +0,0 @@ -{ stdenv, lib, pkgs, fetchFromGitHub, writeText, openjdk11_headless, gradle_6 -, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib -, ffmpeg_4-headless, python3, ruby -, withMedia ? true -, withWebKit ? false -}: - -let - pname = "openjfx-modular-sdk"; - major = "15"; - update = ".0.1"; - build = "+1"; - repover = "${major}${update}${build}"; - jdk = openjdk11_headless; - gradle = gradle_6; - -in stdenv.mkDerivation { - inherit pname; - version = "${major}${update}${build}"; - - src = fetchFromGitHub { - owner = "openjdk"; - repo = "jfx"; - rev = repover; - sha256 = "019glq8rhn6amy3n5jc17vi2wpf1pxpmmywvyz1ga8n09w7xscq1"; - }; - - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ]; - nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ]; - - dontUseCmakeConfigure = true; - - config = writeText "gradle.properties" '' - CONF = Release - JDK_HOME = ${jdk.home} - COMPILE_MEDIA = ${lib.boolToString withMedia} - COMPILE_WEBKIT = ${lib.boolToString withWebKit} - ''; - - postPatch = '' - ln -s $config gradle.properties - ''; - - mitmCache = gradle.fetchDeps { - attrPath = "openjfx${major}"; - pkg = pkgs."openjfx${major}".override { withWebKit = true; }; - data = ./deps.json; - }; - - __darwinAllowLocalNetworking = true; - - preBuild = '' - export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES - export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE" - # avoids errors about deprecation of GTypeDebugFlags, GTimeVal, etc. - export NIX_CFLAGS_COMPILE="-DGLIB_DISABLE_DEPRECATION_WARNINGS $NIX_CFLAGS_COMPILE" - # gstreamer workaround for -fno-common toolchains: - # ld: gsttypefindelement.o:(.bss._gst_disable_registry_cache+0x0): multiple definition of - # `_gst_disable_registry_cache'; gst.o:(.bss._gst_disable_registry_cache+0x0): first defined here - export NIX_CFLAGS_COMPILE="-fcommon $NIX_CFLAGS_COMPILE" - ''; - - enableParallelBuilding = false; - - gradleBuildTask = "sdk"; - - installPhase = '' - cp -r build/modular-sdk $out - ''; - - stripDebugList = [ "." ]; - - postFixup = '' - # Remove references to bootstrap. - export openjdkOutPath='${jdk.outPath}' - find "$out" -name \*.so | while read lib; do - new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')" - patchelf --set-rpath "$new_refs" "$lib" - done - ''; - - disallowedReferences = [ jdk gradle.jdk ]; - - meta = with lib; { - homepage = "http://openjdk.java.net/projects/openjfx/"; - license = licenses.gpl2; - description = "Next-generation Java client toolkit"; - maintainers = with maintainers; [ abbradar ]; - knownVulnerabilities = [ - "This OpenJFX version has reached its end of life." - ]; - platforms = [ "x86_64-linux" ]; - }; -} diff --git a/pkgs/development/compilers/openjdk/openjfx/15/deps.json b/pkgs/development/compilers/openjdk/openjfx/15/deps.json deleted file mode 100644 index efc8ffa4331f..000000000000 --- a/pkgs/development/compilers/openjdk/openjfx/15/deps.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.", - "!version": 1, - "https://download.eclipse.org": { - "eclipse/updates/4.6/R-4.6.3-201703010400/plugins/org.eclipse.swt.gtk.linux.x86_64_3.105.3.v20170228-0512": { - "jar": "sha256-qWM1HV97griQxJlOFY2AVV2uOLAK87jXPzh1wh/zmLw=" - } - }, - "https://repo.maven.apache.org/maven2": { - "com/ibm/icu#icu4j/61.1": { - "jar": "sha256-VcmOsYOLKku5oH3Da9N4Uy1k0M3LfO7pFCNoZqfeRGQ=", - "pom": "sha256-E7h6QHnOsFUVsZrHoVIDlHB1YB1JQj9xk1ikmACYBWs=" - }, - "junit#junit/4.8.2": { - "jar": "sha256-oqosO7K3LadsPmpxUx8e79w1BJSBm68rHYDXFG4CD54=", - "pom": "sha256-3znTTR9YMLLYqSeQxmtXmDWLCz4BRS3IWzciqIGtkj4=" - }, - "net/java#jvnet-parent/3": { - "pom": "sha256-MPV4nvo53b+WCVqto/wSYMRWH68vcUaGcXyy3FBJR1o=" - }, - "org/abego/treelayout#org.abego.treelayout.core/1.0.3": { - "jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=", - "pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw=" - }, - "org/antlr#ST4/4.1": { - "jar": "sha256-ixzK7Z7cVc0lXZwZxNjaR1bZtvy0NWcSkrQ0cLFtddg=", - "pom": "sha256-cz5r2XyjTMbfk6QkPlEeVnPLm4jHSxiETgQqRdUWmHw=" - }, - "org/antlr#antlr-master/3.5.2": { - "pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y=" - }, - "org/antlr#antlr-runtime/3.5.2": { - "jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=", - "pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU=" - }, - "org/antlr#antlr4-master/4.7.2": { - "pom": "sha256-upnLJdI5DzhoDHUChCoO4JWdHmQD4BPM/2mP1YVu6tE=" - }, - "org/antlr#antlr4-runtime/4.7.2": { - "jar": "sha256-TFGLh9S9/4tEzYy8GvgW6US2Kj/luAt4FQHPH0dZu8Q=", - "pom": "sha256-3AnLqYwl08BuSuxRaIXUw68DBiulX0/mKD/JzxdqYPs=" - }, - "org/antlr#antlr4/4.7.2": { - "pom": "sha256-z56zaUD6xEiBA4wb4/LFjgbmjRq/v9SmjTS72LrFV3E=" - }, - "org/antlr#antlr4/4.7.2/complete": { - "jar": "sha256-aFI4bXl17/KRcdrgAswiMlFRDTXyka4neUjzgaezgLQ=" - }, - "org/apache#apache/13": { - "pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0=" - }, - "org/apache/lucene#lucene-core/7.7.2": { - "jar": "sha256-gUOKydZ4BQxUbSqEEsxyg6XSD9hcNxQhhEfHWBZZT10=", - "pom": "sha256-MPuqRu1exVS+3nILqReeEqTnQVHh+IaSBJbYREuwVZE=" - }, - "org/apache/lucene#lucene-grouping/7.7.2": { - "jar": "sha256-nKhrWw/YSbq50xpk7RvP8cdTGrHP1z/E/tJDBmX7rUo=", - "pom": "sha256-UezgO9APIm2uObABf5OZPPfXbSju8LQl+MzborrBs3w=" - }, - "org/apache/lucene#lucene-parent/7.7.2": { - "pom": "sha256-fXiTJSgZw4Sx0lvUA6Go85DYUF+VQOHigRcZymjP7zQ=" - }, - "org/apache/lucene#lucene-queries/7.7.2": { - "jar": "sha256-n8XsO17OwtKV0/xM+Dc5LfuWntYegaMr0/3SH4DbfHk=", - "pom": "sha256-D4rAB9QDQb6gD3/s7m1Ewu7ZXQTi66KEf2CBJJLOcoQ=" - }, - "org/apache/lucene#lucene-queryparser/7.7.2": { - "jar": "sha256-v9lKUL8FAf0H5prk9J28FJzjaUoFZrsWTXxui+VeK9Q=", - "pom": "sha256-DmVV70KT9yjEqJhOuuNUK+N7KThK/gcQjPy+R/AS3Us=" - }, - "org/apache/lucene#lucene-sandbox/7.7.2": { - "jar": "sha256-dqY72JMAjr7tJJeePyUIXIkJ/0vEEv33iAJfntoKvhE=", - "pom": "sha256-zwJCiBB2rdYRwEPZZPtrduPRnAQn7/r/Qhc6ZQ+Bk5s=" - }, - "org/apache/lucene#lucene-solr-grandparent/7.7.2": { - "pom": "sha256-a0oZeEo3uKoSdf5mCEZKHZvSlLVv6WgRIgfkDEKETqc=" - }, - "org/glassfish#javax.json/1.0.4": { - "jar": "sha256-Dh3sQKHt6WWUElHtqWiu7gUsxPUDeLwxbMSOgVm9vrQ=", - "pom": "sha256-a6+Dg/+pi2bqls1b/B7H8teUY7uYrJgFKWSxIcIhLVQ=" - }, - "org/glassfish#json/1.0.4": { - "pom": "sha256-bXxoQjEV+SFxjZRPhZkktMaFIX7AOkn3BFWossqpcuY=" - }, - "org/sonatype/oss#oss-parent/7": { - "pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ=" - }, - "org/sonatype/oss#oss-parent/9": { - "pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno=" - } - } -} diff --git a/pkgs/development/compilers/openjdk/openjfx/17/default.nix b/pkgs/development/compilers/openjdk/openjfx/17/default.nix index b61ad29c4a85..1b19ee30eca6 100644 --- a/pkgs/development/compilers/openjdk/openjfx/17/default.nix +++ b/pkgs/development/compilers/openjdk/openjfx/17/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, pkgs, fetchFromGitHub, writeText, openjdk17_headless, gradle_7 , pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib -, ffmpeg_4-headless, python3, ruby +, ffmpeg_6-headless, python3, ruby , withMedia ? true , withWebKit ? false }: @@ -25,7 +25,11 @@ in stdenv.mkDerivation { sha256 = "sha256-9VfXk2EfMebMyVKPohPRP2QXRFf8XemUtfY0JtBCHyw="; }; - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4-headless ]; + patches = [ + ../backport-ffmpeg-6-support-jfx11.patch + ]; + + buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_6-headless ]; nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; diff --git a/pkgs/development/compilers/openjdk/openjfx/19/default.nix b/pkgs/development/compilers/openjdk/openjfx/19/default.nix deleted file mode 100644 index 4aaf71114f59..000000000000 --- a/pkgs/development/compilers/openjdk/openjfx/19/default.nix +++ /dev/null @@ -1,106 +0,0 @@ -{ stdenv, lib, pkgs, fetchFromGitHub, fetchpatch, writeText -, openjdk19_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst -, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby -, withMedia ? true -, withWebKit ? false -}: - -let - pname = "openjfx-modular-sdk"; - major = "19"; - update = ".0.2.1"; - build = "+1"; - repover = "${major}${update}${build}"; - jdk = openjdk19_headless; - gradle = gradle_7; - -in stdenv.mkDerivation { - inherit pname; - version = "${major}${update}${build}"; - - src = fetchFromGitHub { - owner = "openjdk"; - repo = "jfx"; - rev = repover; - hash = "sha256-A08GhCGpzWlUG1+f6mcjvkJmMNaOReacQKPEmNpUvLs="; - }; - - patches = [ - # 8295962: Reference to State in Task.java is ambiguous when building with JDK 19 - (fetchpatch { - url = "https://github.com/openjdk/jfx/pull/933/commits/cfaee2a52350eff39dd4352484c892716076d3de.patch"; - hash = "sha256-hzJMenhvtmHs/6BJj8GfaLp14myV8VCXCLLC8n32yEw="; - }) - # ditto - (fetchpatch { - url = "https://github.com/openjdk/jfx/pull/933/commits/bd46ce12df0a93a56fe0d58d3653d08e58409b7f.patch"; - hash = "sha256-o9908uw9vYvULmAh/lbfyHhgxz6jpgPq2fcAltWsYoU="; - }) - ]; - - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ]; - nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ]; - - dontUseCmakeConfigure = true; - - config = writeText "gradle.properties" '' - CONF = Release - JDK_HOME = ${jdk.home} - COMPILE_MEDIA = ${lib.boolToString withMedia} - COMPILE_WEBKIT = ${lib.boolToString withWebKit} - ''; - - postPatch = '' - # Add missing includes for gcc-13 for webkit build: - sed -e '1i #include ' \ - -i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \ - modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h - - ln -s $config gradle.properties - ''; - - mitmCache = gradle.fetchDeps { - attrPath = "openjfx${major}"; - pkg = pkgs."openjfx${major}".override { withWebKit = true; }; - data = ./deps.json; - }; - - __darwinAllowLocalNetworking = true; - - preBuild = '' - export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES - export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE" - ''; - - enableParallelBuilding = false; - - gradleBuildTask = "sdk"; - - installPhase = '' - cp -r build/modular-sdk $out - ''; - - stripDebugList = [ "." ]; - - postFixup = '' - # Remove references to bootstrap. - export openjdkOutPath='${jdk.outPath}' - find "$out" -name \*.so | while read lib; do - new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')" - patchelf --set-rpath "$new_refs" "$lib" - done - ''; - - disallowedReferences = [ jdk gradle.jdk ]; - - meta = with lib; { - homepage = "https://openjdk.org/projects/openjfx/"; - license = licenses.gpl2Classpath; - description = "Next-generation Java client toolkit"; - maintainers = with maintainers; [ abbradar ]; - platforms = platforms.unix; - knownVulnerabilities = [ - "This OpenJFX version has reached its end of life." - ]; - }; -} diff --git a/pkgs/development/compilers/openjdk/openjfx/19/deps.json b/pkgs/development/compilers/openjdk/openjfx/19/deps.json deleted file mode 100644 index 04a58b347da9..000000000000 --- a/pkgs/development/compilers/openjdk/openjfx/19/deps.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.", - "!version": 1, - "https://download.eclipse.org": { - "eclipse/updates/4.6/R-4.6.3-201703010400/plugins/org.eclipse.swt.gtk.linux.x86_64_3.105.3.v20170228-0512": { - "jar": "sha256-qWM1HV97griQxJlOFY2AVV2uOLAK87jXPzh1wh/zmLw=" - } - }, - "https://github.com": { - "unicode-org/icu/releases/download/release-68-2/icu4c-68.2-data-bin-l": { - "zip": "sha256-ieQCLBTNrskuf8j3IUQS3QLIAQzLom/O58muMP363Lw=" - } - }, - "https://repo.maven.apache.org/maven2": { - "com/ibm/icu#icu4j/61.1": { - "jar": "sha256-VcmOsYOLKku5oH3Da9N4Uy1k0M3LfO7pFCNoZqfeRGQ=", - "pom": "sha256-E7h6QHnOsFUVsZrHoVIDlHB1YB1JQj9xk1ikmACYBWs=" - }, - "junit#junit/4.13.2": { - "jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=", - "pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ=" - }, - "net/java#jvnet-parent/3": { - "pom": "sha256-MPV4nvo53b+WCVqto/wSYMRWH68vcUaGcXyy3FBJR1o=" - }, - "org/abego/treelayout#org.abego.treelayout.core/1.0.3": { - "jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=", - "pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw=" - }, - "org/antlr#ST4/4.1": { - "jar": "sha256-ixzK7Z7cVc0lXZwZxNjaR1bZtvy0NWcSkrQ0cLFtddg=", - "pom": "sha256-cz5r2XyjTMbfk6QkPlEeVnPLm4jHSxiETgQqRdUWmHw=" - }, - "org/antlr#antlr-master/3.5.2": { - "pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y=" - }, - "org/antlr#antlr-runtime/3.5.2": { - "jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=", - "pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU=" - }, - "org/antlr#antlr4-master/4.7.2": { - "pom": "sha256-upnLJdI5DzhoDHUChCoO4JWdHmQD4BPM/2mP1YVu6tE=" - }, - "org/antlr#antlr4-runtime/4.7.2": { - "jar": "sha256-TFGLh9S9/4tEzYy8GvgW6US2Kj/luAt4FQHPH0dZu8Q=", - "pom": "sha256-3AnLqYwl08BuSuxRaIXUw68DBiulX0/mKD/JzxdqYPs=" - }, - "org/antlr#antlr4/4.7.2": { - "pom": "sha256-z56zaUD6xEiBA4wb4/LFjgbmjRq/v9SmjTS72LrFV3E=" - }, - "org/antlr#antlr4/4.7.2/complete": { - "jar": "sha256-aFI4bXl17/KRcdrgAswiMlFRDTXyka4neUjzgaezgLQ=" - }, - "org/apache#apache/13": { - "pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0=" - }, - "org/apache/lucene#lucene-core/7.7.3": { - "jar": "sha256-jrAzNcGjxqixiN9012G6qDVplTWCq0QLU0yIRJ6o4N4=", - "pom": "sha256-gvilIoHGyLp5dKy6rESzLXbiYAgvP0u+FlwPbkuJFCo=" - }, - "org/apache/lucene#lucene-grouping/7.7.3": { - "jar": "sha256-L1vNY7JXQ9MMMTmGIk0Qf3XFKThxSVQlNRDFfT9nvrg=", - "pom": "sha256-HwStk+IETUCP2SXu4K6ktKHvjAdXe0Jme7U2BgKCImU=" - }, - "org/apache/lucene#lucene-parent/7.7.3": { - "pom": "sha256-6PrdU9XwBMQN3SNdQ4ZI5yxyVZn+4VQ+ViTV+1AQcwU=" - }, - "org/apache/lucene#lucene-queries/7.7.3": { - "jar": "sha256-PLWS2wpulWnGrMvbiKmtex2nQo28p5Ia0cWlhl1bQiY=", - "pom": "sha256-rkBsiiuw12SllERCefRiihl2vQlB551CzmTgmHxYnFA=" - }, - "org/apache/lucene#lucene-queryparser/7.7.3": { - "jar": "sha256-F3XJ/o7dlobTt6ZHd4+kTqqW8cwMSZMVCHEz4amDnoQ=", - "pom": "sha256-z2klkhWscjC5+tYKXInKDp9bm6rM7dFGlY/76Q9OsNI=" - }, - "org/apache/lucene#lucene-sandbox/7.7.3": { - "jar": "sha256-VfG38J2uKwytMhw00Vw8/FmgIRviM/Yp0EbEK/FwErc=", - "pom": "sha256-1vbdxsz1xvymRH1HD1BJ4WN6xje/HbWuDV8WaP34EiI=" - }, - "org/apache/lucene#lucene-solr-grandparent/7.7.3": { - "pom": "sha256-Oig3WAynavNq99/i3B0zT8b/XybRDySJnbd3CtfP2f4=" - }, - "org/apiguardian#apiguardian-api/1.1.2": { - "jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=", - "module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=", - "pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA=" - }, - "org/glassfish#javax.json/1.0.4": { - "jar": "sha256-Dh3sQKHt6WWUElHtqWiu7gUsxPUDeLwxbMSOgVm9vrQ=", - "pom": "sha256-a6+Dg/+pi2bqls1b/B7H8teUY7uYrJgFKWSxIcIhLVQ=" - }, - "org/glassfish#json/1.0.4": { - "pom": "sha256-bXxoQjEV+SFxjZRPhZkktMaFIX7AOkn3BFWossqpcuY=" - }, - "org/hamcrest#hamcrest-core/1.3": { - "jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=", - "pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM=" - }, - "org/hamcrest#hamcrest-parent/1.3": { - "pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps=" - }, - "org/junit#junit-bom/5.8.1": { - "module": "sha256-a4LLpSoTSxPBmC8M+WIsbUhTcdQLmJJG8xJOOwpbGFQ=", - "pom": "sha256-733Ef45KFoZPR3lyjofteFOYGeT7iSdoqdprjvkD+GM=" - }, - "org/junit/jupiter#junit-jupiter-api/5.8.1": { - "jar": "sha256-zjN0p++6YF4tK2mj/vkBNAMrqz7MPthXmkhxscLEcpw=", - "module": "sha256-DWnbwja33Kq0ynNpqlYOmwqbvvf5WIgv+0hTPLunwJ0=", - "pom": "sha256-d61+1KYwutH8h0agpuZ1wj+2lAsnq2LMyzTk/Pz+Ob8=" - }, - "org/junit/jupiter#junit-jupiter-engine/5.8.1": { - "jar": "sha256-Rom8kCJVoZ/pgndoO6MjHAlNEHxUyNNfK2+cl9ImQY4=", - "module": "sha256-aHkP7DP5ew7IQM9HrEDuDHLgVvEiyg88ZkZ0M0mTdpk=", - "pom": "sha256-qjIKMYpyceMyYsSA/POZZbmobap2Zm63dTQrgOnN1F4=" - }, - "org/junit/jupiter#junit-jupiter-params/5.8.1": { - "jar": "sha256-OJuNE6jYhy/L1PDrp7LEavxihBn5obKjqfkyQaBqchg=", - "module": "sha256-Ek1gPG2AMzZtjKRxY2tEbji5zBvQEPMpVCNYGHr6hl4=", - "pom": "sha256-OrrKWfvfJTMg9yRCwQPjnOQDjcEf6MSJ28ScwjoHHws=" - }, - "org/junit/jupiter#junit-jupiter/5.8.1": { - "jar": "sha256-jxBJ7iSzShC2DNgQBICZ94HCZYzeIYHoMUlqswqYKYU=", - "module": "sha256-LjS6TIWMOM0KNlr//syTKnGWzpOF4utUBZQuWBwV/1w=", - "pom": "sha256-rssFDSMtOT9Az/EfjMMPUrZslQpB+IOSXIEULt7l9PU=" - }, - "org/junit/platform#junit-platform-commons/1.8.1": { - "jar": "sha256-+k+mjIvVTdDLScP8vpsuQvTaa+2+fnzPKgXxoeYJtZM=", - "module": "sha256-aY/QVBrLfv/GZZhI/Qx91QEKSfFfDBy6Q+U1gH+Q9ms=", - "pom": "sha256-4ZcoLlLnANEriJie3FSJh0aTUC5KqJB6zwgpgBq6bUQ=" - }, - "org/junit/platform#junit-platform-engine/1.8.1": { - "jar": "sha256-cCho7X6GubRnLt4PHhhekFusqa+rV3RqfGUL48e8oEc=", - "module": "sha256-2fQgpkU5o+32D4DfDG/XIrdQcldEx5ykD30lrlbKS6Q=", - "pom": "sha256-hqrU5ld1TkOgDfIm3VTIrsHsarZTP1ASGQfkZi3i5fI=" - }, - "org/junit/vintage#junit-vintage-engine/5.8.1": { - "jar": "sha256-F2tTzRvb+SM+lsiwx6nluGQoL7veukO1zq/e2ymkkVY=", - "module": "sha256-nOn6Lk7mp0DWEBAlMEYqcc4PqdLxQYUi5LK9tgcvZ5o=", - "pom": "sha256-Ndc3M08dvouMVnZ/oVCKwbVEsB1P5cmXl76QA+5YGxI=" - }, - "org/opentest4j#opentest4j/1.2.0": { - "jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=", - "pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ=" - }, - "org/sonatype/oss#oss-parent/7": { - "pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ=" - }, - "org/sonatype/oss#oss-parent/9": { - "pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno=" - } - } -} diff --git a/pkgs/development/compilers/openjdk/openjfx/20/default.nix b/pkgs/development/compilers/openjdk/openjfx/20/default.nix deleted file mode 100644 index 277ee7ad70c4..000000000000 --- a/pkgs/development/compilers/openjdk/openjfx/20/default.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ stdenv, lib, pkgs, fetchFromGitHub, writeText -, openjdk20_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst -, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby -, withMedia ? true -, withWebKit ? false -}: - -let - pname = "openjfx-modular-sdk"; - major = "20"; - update = ".0.2"; - build = "-ga"; - repover = "${major}${update}${build}"; - jdk = openjdk20_headless; - gradle = gradle_7; - -in stdenv.mkDerivation { - inherit pname; - version = "${major}${update}${build}"; - - src = fetchFromGitHub { - owner = "openjdk"; - repo = "jfx20u"; - rev = repover; - hash = "sha256-3Hhz4i8fPU2yowb4roylCXzuO9HkW7ZWF9TMA3HIH9o="; - }; - - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ]; - nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ]; - - dontUseCmakeConfigure = true; - - config = writeText "gradle.properties" '' - CONF = Release - JDK_HOME = ${jdk.home} - COMPILE_MEDIA = ${lib.boolToString withMedia} - COMPILE_WEBKIT = ${lib.boolToString withWebKit} - ''; - - postPatch = '' - # Add missing includes for gcc-13 for webkit build: - sed -e '1i #include ' \ - -i modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/Heap.cpp \ - modules/javafx.web/src/main/native/Source/bmalloc/bmalloc/IsoSharedPageInlines.h - - ln -s $config gradle.properties - ''; - - mitmCache = gradle.fetchDeps { - attrPath = "openjfx${major}"; - pkg = pkgs."openjfx${major}".override { withWebKit = true; }; - data = ./deps.json; - }; - - __darwinAllowLocalNetworking = true; - - preBuild = '' - export NUMBER_OF_PROCESSORS=$NIX_BUILD_CORES - export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE" - ''; - - enableParallelBuilding = false; - - gradleBuildTask = "sdk"; - - installPhase = '' - cp -r build/modular-sdk $out - ''; - - stripDebugList = [ "." ]; - - postFixup = '' - # Remove references to bootstrap. - export openjdkOutPath='${jdk.outPath}' - find "$out" -name \*.so | while read lib; do - new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')" - patchelf --set-rpath "$new_refs" "$lib" - done - ''; - - disallowedReferences = [ jdk gradle.jdk ]; - - meta = with lib; { - homepage = "https://openjdk.org/projects/openjfx/"; - license = licenses.gpl2Classpath; - description = "Next-generation Java client toolkit"; - maintainers = with maintainers; [ abbradar ]; - platforms = platforms.unix; - knownVulnerabilities = [ - "This OpenJFX version has reached its end of life." - ]; - }; -} diff --git a/pkgs/development/compilers/openjdk/openjfx/20/deps.json b/pkgs/development/compilers/openjdk/openjfx/20/deps.json deleted file mode 100644 index a9fa40a91be1..000000000000 --- a/pkgs/development/compilers/openjdk/openjfx/20/deps.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.", - "!version": 1, - "https://download.eclipse.org": { - "eclipse/updates/4.6/R-4.6.3-201703010400/plugins/org.eclipse.swt.gtk.linux.x86_64_3.105.3.v20170228-0512": { - "jar": "sha256-qWM1HV97griQxJlOFY2AVV2uOLAK87jXPzh1wh/zmLw=" - } - }, - "https://github.com": { - "unicode-org/icu/releases/download/release-71-1/icu4c-71_1-data-bin-l": { - "zip": "sha256-pVWIy0BkICsthA5mxhR9SJQHleMNnaEcGl/AaLi5qZM=" - } - }, - "https://repo.maven.apache.org/maven2": { - "com/ibm/icu#icu4j/61.1": { - "jar": "sha256-VcmOsYOLKku5oH3Da9N4Uy1k0M3LfO7pFCNoZqfeRGQ=", - "pom": "sha256-E7h6QHnOsFUVsZrHoVIDlHB1YB1JQj9xk1ikmACYBWs=" - }, - "junit#junit/4.13.2": { - "jar": "sha256-jklbY0Rp1k+4rPo0laBly6zIoP/1XOHjEAe+TBbcV9M=", - "pom": "sha256-Vptpd+5GA8llwcRsMFj6bpaSkbAWDraWTdCSzYnq3ZQ=" - }, - "net/java#jvnet-parent/3": { - "pom": "sha256-MPV4nvo53b+WCVqto/wSYMRWH68vcUaGcXyy3FBJR1o=" - }, - "org/abego/treelayout#org.abego.treelayout.core/1.0.3": { - "jar": "sha256-+l4xOVw5wufUasoPgfcgYJMWB7L6Qb02A46yy2+5MyY=", - "pom": "sha256-o7KyI3lDcDVeeSQzrwEvyZNmfAMxviusrYTbwJrOSgw=" - }, - "org/antlr#ST4/4.1": { - "jar": "sha256-ixzK7Z7cVc0lXZwZxNjaR1bZtvy0NWcSkrQ0cLFtddg=", - "pom": "sha256-cz5r2XyjTMbfk6QkPlEeVnPLm4jHSxiETgQqRdUWmHw=" - }, - "org/antlr#antlr-master/3.5.2": { - "pom": "sha256-QtkaUx6lEA6wm1QaoALDuQjo8oK9c7bi9S83HvEzG9Y=" - }, - "org/antlr#antlr-runtime/3.5.2": { - "jar": "sha256-zj/I7LEPOemjzdy7LONQ0nLZzT0LHhjm/nPDuTichzQ=", - "pom": "sha256-RqnCIAu4sSvXEkqnpQl/9JCZkIMpyFGgTLIFFCCqfyU=" - }, - "org/antlr#antlr4-master/4.7.2": { - "pom": "sha256-upnLJdI5DzhoDHUChCoO4JWdHmQD4BPM/2mP1YVu6tE=" - }, - "org/antlr#antlr4-runtime/4.7.2": { - "jar": "sha256-TFGLh9S9/4tEzYy8GvgW6US2Kj/luAt4FQHPH0dZu8Q=", - "pom": "sha256-3AnLqYwl08BuSuxRaIXUw68DBiulX0/mKD/JzxdqYPs=" - }, - "org/antlr#antlr4/4.7.2": { - "pom": "sha256-z56zaUD6xEiBA4wb4/LFjgbmjRq/v9SmjTS72LrFV3E=" - }, - "org/antlr#antlr4/4.7.2/complete": { - "jar": "sha256-aFI4bXl17/KRcdrgAswiMlFRDTXyka4neUjzgaezgLQ=" - }, - "org/apache#apache/13": { - "pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0=" - }, - "org/apache/lucene#lucene-core/7.7.3": { - "jar": "sha256-jrAzNcGjxqixiN9012G6qDVplTWCq0QLU0yIRJ6o4N4=", - "pom": "sha256-gvilIoHGyLp5dKy6rESzLXbiYAgvP0u+FlwPbkuJFCo=" - }, - "org/apache/lucene#lucene-grouping/7.7.3": { - "jar": "sha256-L1vNY7JXQ9MMMTmGIk0Qf3XFKThxSVQlNRDFfT9nvrg=", - "pom": "sha256-HwStk+IETUCP2SXu4K6ktKHvjAdXe0Jme7U2BgKCImU=" - }, - "org/apache/lucene#lucene-parent/7.7.3": { - "pom": "sha256-6PrdU9XwBMQN3SNdQ4ZI5yxyVZn+4VQ+ViTV+1AQcwU=" - }, - "org/apache/lucene#lucene-queries/7.7.3": { - "jar": "sha256-PLWS2wpulWnGrMvbiKmtex2nQo28p5Ia0cWlhl1bQiY=", - "pom": "sha256-rkBsiiuw12SllERCefRiihl2vQlB551CzmTgmHxYnFA=" - }, - "org/apache/lucene#lucene-queryparser/7.7.3": { - "jar": "sha256-F3XJ/o7dlobTt6ZHd4+kTqqW8cwMSZMVCHEz4amDnoQ=", - "pom": "sha256-z2klkhWscjC5+tYKXInKDp9bm6rM7dFGlY/76Q9OsNI=" - }, - "org/apache/lucene#lucene-sandbox/7.7.3": { - "jar": "sha256-VfG38J2uKwytMhw00Vw8/FmgIRviM/Yp0EbEK/FwErc=", - "pom": "sha256-1vbdxsz1xvymRH1HD1BJ4WN6xje/HbWuDV8WaP34EiI=" - }, - "org/apache/lucene#lucene-solr-grandparent/7.7.3": { - "pom": "sha256-Oig3WAynavNq99/i3B0zT8b/XybRDySJnbd3CtfP2f4=" - }, - "org/apiguardian#apiguardian-api/1.1.2": { - "jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=", - "module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=", - "pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA=" - }, - "org/glassfish#javax.json/1.0.4": { - "jar": "sha256-Dh3sQKHt6WWUElHtqWiu7gUsxPUDeLwxbMSOgVm9vrQ=", - "pom": "sha256-a6+Dg/+pi2bqls1b/B7H8teUY7uYrJgFKWSxIcIhLVQ=" - }, - "org/glassfish#json/1.0.4": { - "pom": "sha256-bXxoQjEV+SFxjZRPhZkktMaFIX7AOkn3BFWossqpcuY=" - }, - "org/hamcrest#hamcrest-core/1.3": { - "jar": "sha256-Zv3vkelzk0jfeglqo4SlaF9Oh1WEzOiThqekclHE2Ok=", - "pom": "sha256-/eOGp5BRc6GxA95quCBydYS1DQ4yKC4nl3h8IKZP+pM=" - }, - "org/hamcrest#hamcrest-parent/1.3": { - "pom": "sha256-bVNflO+2Y722gsnyelAzU5RogAlkK6epZ3UEvBvkEps=" - }, - "org/junit#junit-bom/5.8.1": { - "module": "sha256-a4LLpSoTSxPBmC8M+WIsbUhTcdQLmJJG8xJOOwpbGFQ=", - "pom": "sha256-733Ef45KFoZPR3lyjofteFOYGeT7iSdoqdprjvkD+GM=" - }, - "org/junit/jupiter#junit-jupiter-api/5.8.1": { - "jar": "sha256-zjN0p++6YF4tK2mj/vkBNAMrqz7MPthXmkhxscLEcpw=", - "module": "sha256-DWnbwja33Kq0ynNpqlYOmwqbvvf5WIgv+0hTPLunwJ0=", - "pom": "sha256-d61+1KYwutH8h0agpuZ1wj+2lAsnq2LMyzTk/Pz+Ob8=" - }, - "org/junit/jupiter#junit-jupiter-engine/5.8.1": { - "jar": "sha256-Rom8kCJVoZ/pgndoO6MjHAlNEHxUyNNfK2+cl9ImQY4=", - "module": "sha256-aHkP7DP5ew7IQM9HrEDuDHLgVvEiyg88ZkZ0M0mTdpk=", - "pom": "sha256-qjIKMYpyceMyYsSA/POZZbmobap2Zm63dTQrgOnN1F4=" - }, - "org/junit/jupiter#junit-jupiter-params/5.8.1": { - "jar": "sha256-OJuNE6jYhy/L1PDrp7LEavxihBn5obKjqfkyQaBqchg=", - "module": "sha256-Ek1gPG2AMzZtjKRxY2tEbji5zBvQEPMpVCNYGHr6hl4=", - "pom": "sha256-OrrKWfvfJTMg9yRCwQPjnOQDjcEf6MSJ28ScwjoHHws=" - }, - "org/junit/jupiter#junit-jupiter/5.8.1": { - "jar": "sha256-jxBJ7iSzShC2DNgQBICZ94HCZYzeIYHoMUlqswqYKYU=", - "module": "sha256-LjS6TIWMOM0KNlr//syTKnGWzpOF4utUBZQuWBwV/1w=", - "pom": "sha256-rssFDSMtOT9Az/EfjMMPUrZslQpB+IOSXIEULt7l9PU=" - }, - "org/junit/platform#junit-platform-commons/1.8.1": { - "jar": "sha256-+k+mjIvVTdDLScP8vpsuQvTaa+2+fnzPKgXxoeYJtZM=", - "module": "sha256-aY/QVBrLfv/GZZhI/Qx91QEKSfFfDBy6Q+U1gH+Q9ms=", - "pom": "sha256-4ZcoLlLnANEriJie3FSJh0aTUC5KqJB6zwgpgBq6bUQ=" - }, - "org/junit/platform#junit-platform-engine/1.8.1": { - "jar": "sha256-cCho7X6GubRnLt4PHhhekFusqa+rV3RqfGUL48e8oEc=", - "module": "sha256-2fQgpkU5o+32D4DfDG/XIrdQcldEx5ykD30lrlbKS6Q=", - "pom": "sha256-hqrU5ld1TkOgDfIm3VTIrsHsarZTP1ASGQfkZi3i5fI=" - }, - "org/junit/vintage#junit-vintage-engine/5.8.1": { - "jar": "sha256-F2tTzRvb+SM+lsiwx6nluGQoL7veukO1zq/e2ymkkVY=", - "module": "sha256-nOn6Lk7mp0DWEBAlMEYqcc4PqdLxQYUi5LK9tgcvZ5o=", - "pom": "sha256-Ndc3M08dvouMVnZ/oVCKwbVEsB1P5cmXl76QA+5YGxI=" - }, - "org/opentest4j#opentest4j/1.2.0": { - "jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=", - "pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ=" - }, - "org/sonatype/oss#oss-parent/7": { - "pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ=" - }, - "org/sonatype/oss#oss-parent/9": { - "pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno=" - } - } -} diff --git a/pkgs/development/compilers/openjdk/openjfx/21/default.nix b/pkgs/development/compilers/openjdk/openjfx/21/default.nix index dfb1a76b6976..85fe036fe767 100644 --- a/pkgs/development/compilers/openjdk/openjfx/21/default.nix +++ b/pkgs/development/compilers/openjdk/openjfx/21/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, pkgs, fetchFromGitHub, writeText , openjdk21_headless, gradle_7, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst -, libXxf86vm, glib, alsa-lib, ffmpeg_4, python3, ruby +, libXxf86vm, glib, alsa-lib, ffmpeg_6, python3, ruby , withMedia ? true , withWebKit ? false }: @@ -25,7 +25,7 @@ in stdenv.mkDerivation { hash = "sha256-7z0GIbkQwG9mXY9dssaicqaKpMo3FkNEpyAvkswoQQ4="; }; - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ]; + buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_6 ]; nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; diff --git a/pkgs/development/compilers/openjdk/openjfx/22/default.nix b/pkgs/development/compilers/openjdk/openjfx/22/default.nix index ce9d49c14bbb..4359a880ec04 100644 --- a/pkgs/development/compilers/openjdk/openjfx/22/default.nix +++ b/pkgs/development/compilers/openjdk/openjfx/22/default.nix @@ -15,7 +15,7 @@ , libXxf86vm , glib , alsa-lib -, ffmpeg_4 +, ffmpeg_6 , python3 , ruby , withMedia ? true @@ -41,7 +41,7 @@ in stdenv.mkDerivation { hash = "sha256-VoEufSO+LciUCvoAM86MG1iMjCA3FSb60Ik4OP2Rk/Q="; }; - buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ]; + buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_6 ]; nativeBuildInputs = [ gradle perl pkg-config cmake gperf python3 ruby ]; dontUseCmakeConfigure = true; diff --git a/pkgs/development/compilers/openjdk/openjfx/backport-ffmpeg-6-support-jfx11.patch b/pkgs/development/compilers/openjdk/openjfx/backport-ffmpeg-6-support-jfx11.patch new file mode 100644 index 000000000000..2d75ecb9562a --- /dev/null +++ b/pkgs/development/compilers/openjdk/openjfx/backport-ffmpeg-6-support-jfx11.patch @@ -0,0 +1,70 @@ +Backported from . + +Original author: Alexander Matveev + +diff --git a/build.gradle b/build.gradle +index 82dc7a7fa9..d1ae3b401f 100644 +--- a/build.gradle ++++ b/build.gradle +@@ -3342,6 +3342,7 @@ + media name: "ffmpeg-3.3.3", ext: "tar.gz" + media name: "ffmpeg-4.0.2", ext: "tar.gz" + media name: "ffmpeg-5.1.2", ext: "tar.gz" ++ media name: "ffmpeg-6.0", ext: "tar.gz" + } + implementation project(":base") + implementation project(":graphics") +@@ -3484,7 +3485,7 @@ + if (t.name == "linux") { + // Pre-defined command line arguments + def cfgCMDArgs = ["sh", "configure"] +- def commonCfgArgs = ["--enable-shared", "--disable-debug", "--disable-static", "--disable-yasm", "--disable-doc", "--disable-programs", "--disable-everything"] ++ def commonCfgArgs = ["--enable-shared", "--disable-debug", "--disable-static", "--disable-asm", "--disable-doc", "--disable-programs", "--disable-everything"] + def codecsCfgArgs = ["--enable-decoder=aac,mp3,mp3float,h264", "--enable-parser=aac,h264", "--enable-demuxer=aac,h264,mpegts,mpegtsraw"] + + def copyLibAVStubs = {String fromDir, String toDir -> +@@ -3688,8 +3689,8 @@ + doLast { + project.ext.libav = [:] + project.ext.libav.basedir = "${buildDir}/native/linux/ffmpeg" +- project.ext.libav.versions = [ "3.3.3", "4.0.2", "5.1.2" ] +- project.ext.libav.versionmap = [ "3.3.3" : "57", "4.0.2" : "58", "5.1.2" : "59" ] ++ project.ext.libav.versions = [ "3.3.3", "4.0.2", "5.1.2", "6.0" ] ++ project.ext.libav.versionmap = [ "3.3.3" : "57", "4.0.2" : "58", "5.1.2" : "59", "6.0" : "60" ] + + libav.versions.each { version -> + def libavDir = "${libav.basedir}/ffmpeg-${version}" +@@ -3769,7 +3770,7 @@ + project.ext.libav.libavffmpeg.versions = [ "56" ] + project.ext.libav.ffmpeg = [:] + project.ext.libav.ffmpeg.basedir = "${buildDir}/native/linux/ffmpeg/ffmpeg" +- project.ext.libav.ffmpeg.versions = [ "57", "58", "59" ] ++ project.ext.libav.ffmpeg.versions = [ "57", "58", "59", "60" ] + + project.ext.libav.versions.each { version -> + def libavDir = "${project.ext.libav.basedir}-${version}" +diff --git a/modules/javafx.media/src/main/java/com/sun/media/jfxmediaimpl/NativeMediaManager.java b/modules/javafx.media/src/main/java/com/sun/media/jfxmediaimpl/NativeMediaManager.java +index 05f98ad3d1..b05bb68341 100644 +--- a/modules/javafx.media/src/main/java/com/sun/media/jfxmediaimpl/NativeMediaManager.java ++++ b/modules/javafx.media/src/main/java/com/sun/media/jfxmediaimpl/NativeMediaManager.java +@@ -125,6 +125,7 @@ + dependencies.add("avplugin-ffmpeg-57"); + dependencies.add("avplugin-ffmpeg-58"); + dependencies.add("avplugin-ffmpeg-59"); ++ dependencies.add("avplugin-ffmpeg-60"); + } + if (HostUtils.isMacOSX()) { + dependencies.add("fxplugins"); +diff --git a/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gstreamer/gst/gstregistry.c b/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gstreamer/gst/gstregistry.c +index 9f67de9062..ee64e4bafd 100644 +--- a/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gstreamer/gst/gstregistry.c ++++ b/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gstreamer/gst/gstregistry.c +@@ -146,7 +146,7 @@ + // For ffmpeg (libavcodec-ffmpeg.so) + static const int AVCODEC_FFMPEG_EXPLICIT_VERSIONS[] = { 56 }; + // For libav or ffmpeg (libavcodec.so) +-static const int AVCODEC_EXPLICIT_VERSIONS[] = { 57, 58, 59 }; ++static const int AVCODEC_EXPLICIT_VERSIONS[] = { 57, 58, 59, 60 }; + + /* + * Callback passed to dl_iterate_phdr(): finds the path of diff --git a/pkgs/development/compilers/semeru-bin/generate-sources.py b/pkgs/development/compilers/semeru-bin/generate-sources.py index 44ad583ab48f..b647fca7cf4e 100755 --- a/pkgs/development/compilers/semeru-bin/generate-sources.py +++ b/pkgs/development/compilers/semeru-bin/generate-sources.py @@ -6,7 +6,7 @@ import re import requests import sys -feature_versions = (8, 11, 16, 17, 21) +feature_versions = (8, 11, 17, 21) oses = ("mac", "linux") types = ("jre", "jdk") impls = ("openj9",) diff --git a/pkgs/development/compilers/semeru-bin/jdk-darwin.nix b/pkgs/development/compilers/semeru-bin/jdk-darwin.nix index 2e9bde029f2d..0f6e9ca002f8 100644 --- a/pkgs/development/compilers/semeru-bin/jdk-darwin.nix +++ b/pkgs/development/compilers/semeru-bin/jdk-darwin.nix @@ -4,15 +4,13 @@ let sources = (lib.importJSON ./sources.json).openj9.mac; common = opts: callPackage (import ./jdk-darwin-base.nix opts) {}; - EOL = [ "This JDK/JRE version has reached End of Life." ]; + # EOL = [ "This JDK/JRE version has reached End of Life." ]; in { jdk-8 = common { sourcePerArch = sources.jdk.openjdk8; }; jre-8 = common { sourcePerArch = sources.jre.openjdk8; }; jdk-11 = common { sourcePerArch = sources.jdk.openjdk11; }; jre-11 = common { sourcePerArch = sources.jre.openjdk11; }; - jdk-16 = common { sourcePerArch = sources.jdk.openjdk16; knownVulnerabilities = EOL; }; - jre-16 = common { sourcePerArch = sources.jre.openjdk16; knownVulnerabilities = EOL; }; jdk-17 = common { sourcePerArch = sources.jdk.openjdk17; }; jre-17 = common { sourcePerArch = sources.jre.openjdk17; }; jdk-21 = common { sourcePerArch = sources.jdk.openjdk21; }; diff --git a/pkgs/development/compilers/semeru-bin/jdk-linux.nix b/pkgs/development/compilers/semeru-bin/jdk-linux.nix index 59c6a4862d91..16f14de26209 100644 --- a/pkgs/development/compilers/semeru-bin/jdk-linux.nix +++ b/pkgs/development/compilers/semeru-bin/jdk-linux.nix @@ -4,15 +4,13 @@ let sources = (lib.importJSON ./sources.json).openj9.linux; common = opts: callPackage (import ./jdk-linux-base.nix opts) {}; - EOL = [ "This JDK/JRE version has reached End of Life." ]; + # EOL = [ "This JDK/JRE version has reached End of Life." ]; in { jdk-8 = common { sourcePerArch = sources.jdk.openjdk8; }; jre-8 = common { sourcePerArch = sources.jre.openjdk8; }; jdk-11 = common { sourcePerArch = sources.jdk.openjdk11; }; jre-11 = common { sourcePerArch = sources.jre.openjdk11; }; - jdk-16 = common { sourcePerArch = sources.jdk.openjdk16; knownVulnerabilities = EOL; }; - jre-16 = common { sourcePerArch = sources.jre.openjdk16; knownVulnerabilities = EOL; }; jdk-17 = common { sourcePerArch = sources.jdk.openjdk17; }; jre-17 = common { sourcePerArch = sources.jre.openjdk17; }; jdk-21 = common { sourcePerArch = sources.jdk.openjdk21; }; diff --git a/pkgs/development/compilers/temurin-bin/generate-sources.py b/pkgs/development/compilers/temurin-bin/generate-sources.py index befb24422936..f9e53e197c97 100755 --- a/pkgs/development/compilers/temurin-bin/generate-sources.py +++ b/pkgs/development/compilers/temurin-bin/generate-sources.py @@ -6,7 +6,7 @@ import re import requests import sys -feature_versions = (8, 11, 16, 17, 18, 19, 20, 21, 22) +feature_versions = (8, 11, 17, 21, 22) oses = ("mac", "linux", "alpine-linux") types = ("jre", "jdk") impls = ("hotspot",) diff --git a/pkgs/development/compilers/temurin-bin/jdk-darwin.nix b/pkgs/development/compilers/temurin-bin/jdk-darwin.nix index 622d1629dbb5..6f591a7e86f5 100644 --- a/pkgs/development/compilers/temurin-bin/jdk-darwin.nix +++ b/pkgs/development/compilers/temurin-bin/jdk-darwin.nix @@ -4,7 +4,7 @@ let sources = (lib.importJSON ./sources.json).hotspot.mac; common = opts: callPackage (import ./jdk-darwin-base.nix opts) { }; - EOL = [ "This JDK version has reached End of Life." ]; + # EOL = [ "This JDK version has reached End of Life." ]; in { jdk-8 = common { sourcePerArch = sources.jdk.openjdk8; }; @@ -13,20 +13,9 @@ in jdk-11 = common { sourcePerArch = sources.jdk.openjdk11; }; jre-11 = common { sourcePerArch = sources.jre.openjdk11; }; - jdk-16 = common { sourcePerArch = sources.jdk.openjdk16; knownVulnerabilities = EOL; }; - jdk-17 = common { sourcePerArch = sources.jdk.openjdk17; }; jre-17 = common { sourcePerArch = sources.jre.openjdk17; }; - jdk-18 = common { sourcePerArch = sources.jdk.openjdk18; knownVulnerabilities = EOL; }; - jre-18 = common { sourcePerArch = sources.jre.openjdk18; knownVulnerabilities = EOL; }; - - jdk-19 = common { sourcePerArch = sources.jdk.openjdk19; knownVulnerabilities = EOL; }; - jre-19 = common { sourcePerArch = sources.jre.openjdk19; knownVulnerabilities = EOL; }; - - jdk-20 = common { sourcePerArch = sources.jdk.openjdk20; knownVulnerabilities = EOL; }; - jre-20 = common { sourcePerArch = sources.jre.openjdk20; knownVulnerabilities = EOL; }; - jdk-21 = common { sourcePerArch = sources.jdk.openjdk21; }; jre-21 = common { sourcePerArch = sources.jre.openjdk21; }; diff --git a/pkgs/development/compilers/temurin-bin/jdk-linux.nix b/pkgs/development/compilers/temurin-bin/jdk-linux.nix index 2a38e3472d53..e05c5d40ae08 100644 --- a/pkgs/development/compilers/temurin-bin/jdk-linux.nix +++ b/pkgs/development/compilers/temurin-bin/jdk-linux.nix @@ -5,7 +5,7 @@ let sources = (lib.importJSON ./sources.json).hotspot.${variant}; common = opts: callPackage (import ./jdk-linux-base.nix opts) { }; - EOL = [ "This JDK version has reached End of Life." ]; + # EOL = [ "This JDK version has reached End of Life." ]; in { jdk-8 = common { sourcePerArch = sources.jdk.openjdk8; }; @@ -14,20 +14,9 @@ in jdk-11 = common { sourcePerArch = sources.jdk.openjdk11; }; jre-11 = common { sourcePerArch = sources.jre.openjdk11; }; - jdk-16 = common { sourcePerArch = sources.jdk.openjdk16; knownVulnerabilities = EOL; }; - jdk-17 = common { sourcePerArch = sources.jdk.openjdk17; }; jre-17 = common { sourcePerArch = sources.jre.openjdk17; }; - jdk-18 = common { sourcePerArch = sources.jdk.openjdk18; knownVulnerabilities = EOL; }; - jre-18 = common { sourcePerArch = sources.jre.openjdk18; knownVulnerabilities = EOL; }; - - jdk-19 = common { sourcePerArch = sources.jdk.openjdk19; knownVulnerabilities = EOL; }; - jre-19 = common { sourcePerArch = sources.jre.openjdk19; knownVulnerabilities = EOL; }; - - jdk-20 = common { sourcePerArch = sources.jdk.openjdk20; knownVulnerabilities = EOL; }; - jre-20 = common { sourcePerArch = sources.jre.openjdk20; knownVulnerabilities = EOL; }; - jdk-21 = common { sourcePerArch = sources.jdk.openjdk21; }; jre-21 = common { sourcePerArch = sources.jre.openjdk21; }; diff --git a/pkgs/development/compilers/zulu/18.nix b/pkgs/development/compilers/zulu/18.nix deleted file mode 100644 index cbee8ac6e5bd..000000000000 --- a/pkgs/development/compilers/zulu/18.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ callPackage -, enableJavaFX ? false -, ... -}@args: - -callPackage ./common.nix ({ - # Details from https://www.azul.com/downloads/?version=java-18-sts&package=jdk - # Note that the latest build may differ by platform - dists = { - x86_64-darwin = { - zuluVersion = "18.32.13"; - jdkVersion = "18.0.2.1"; - hash = - if enableJavaFX then "sha256-ZVZ1gbpJwxTduq2PPOCKqbSl+shq2NTFgqG++OXvFcg=" - else "sha256-uHPcyOgxUdTgzmIVRp/awtwve9zSt+1TZNef7DUuoRg="; - }; - - aarch64-darwin = { - zuluVersion = "18.32.13"; - jdkVersion = "18.0.2.1"; - hash = - if enableJavaFX then "sha256-tNx0a1u9iamcN9VFOJ3eqDEA6C204dtIBJZvuAH2Vjk=" - else "sha256-jAZDgxtWMq/74yKAxA69oOU0C9nXvKG5MjmZLsK04iM="; - }; - }; -} // builtins.removeAttrs args [ "callPackage" ]) diff --git a/pkgs/development/compilers/zulu/19.nix b/pkgs/development/compilers/zulu/19.nix deleted file mode 100644 index 28dbf5887616..000000000000 --- a/pkgs/development/compilers/zulu/19.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ callPackage -, enableJavaFX ? false -, ... -}@args: - -callPackage ./common.nix ({ - # Details from https://www.azul.com/downloads/?version=java-19-sts&package=jdk - # Note that the latest build may differ by platform - dists = { - x86_64-darwin = { - zuluVersion = if enableJavaFX then "19.32.15" else "19.32.13"; - jdkVersion = "19.0.2"; - hash = - if enableJavaFX then "sha256-AwLcIId0gH5D6DUU8CgJ3qnKVQm28LXYirBeXBHwPYE=" - else "sha256-KARXWumsY+OcqpEOV2EL9SsPni1nGSipjRji/Mn2KsE="; - }; - - aarch64-darwin = { - zuluVersion = if enableJavaFX then "19.32.15" else "19.32.13"; - jdkVersion = "19.0.2"; - hash = - if enableJavaFX then "sha256-/R2rrcBr64qPGEtvhruXBhPwnvurt/hiR1ICzZAdYxE=" - else "sha256-F30FjZaLL756X/Xs6xjNwW9jds4pEATxoxOeeLL7Y5E="; - }; - }; -} // builtins.removeAttrs args [ "callPackage" ]) diff --git a/pkgs/development/compilers/zulu/20.nix b/pkgs/development/compilers/zulu/20.nix deleted file mode 100644 index 38083a881f51..000000000000 --- a/pkgs/development/compilers/zulu/20.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ callPackage -, enableJavaFX ? false -, ... -}@args: - -callPackage ./common.nix ({ - # Details from https://www.azul.com/downloads/?version=java-20-sts&package=jdk - # Note that the latest build may differ by platform - dists = { - x86_64-darwin = { - zuluVersion = "20.32.11"; - jdkVersion = "20.0.2"; - hash = - if enableJavaFX then "sha256-hyxQAivZAXtqMebe30L+EYa7p+TdSdKNYj7Rl/ZwRNQ=" - else "sha256-Ev9KG6DvuBnsZrOguLsO1KQzudHCBcJNwKh45Inpnfo="; - }; - - aarch64-darwin = { - zuluVersion = "20.32.11"; - jdkVersion = "20.0.2"; - hash = - if enableJavaFX then "sha256-iPQzZS4CwaoqT8cSzg4kWCT1OyGBSJLq+NETcbucLo4=" - else "sha256-15uNZ6uMfSASV3QU2q2oA/jBk2PCHOfSjn1GY7/7qIY="; - }; - }; -} // builtins.removeAttrs args [ "callPackage" ]) diff --git a/pkgs/development/libraries/accounts-qml-module/default.nix b/pkgs/development/libraries/accounts-qml-module/default.nix index aa68cb105af3..858f9c0d57b8 100644 --- a/pkgs/development/libraries/accounts-qml-module/default.nix +++ b/pkgs/development/libraries/accounts-qml-module/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: { # Don't install test binary sed -i tests/tst_plugin.pro \ -e '/TARGET = tst_plugin/a INSTALLS -= target' - '' + lib.optionalString (!finalAttrs.doCheck) '' + '' + lib.optionalString (!finalAttrs.finalPackage.doCheck) '' sed -i accounts-qml-module.pro -e '/tests/d' ''; diff --git a/pkgs/development/libraries/box2d/default.nix b/pkgs/development/libraries/box2d/default.nix index 2008cab52ac3..10bbd202019c 100644 --- a/pkgs/development/libraries/box2d/default.nix +++ b/pkgs/development/libraries/box2d/default.nix @@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: { ]; cmakeFlags = [ - (cmakeBool "BOX2D_BUILD_UNIT_TESTS" finalAttrs.doCheck) + (cmakeBool "BOX2D_BUILD_UNIT_TESTS" finalAttrs.finalPackage.doCheck) ]; prePatch = '' diff --git a/pkgs/development/libraries/folks/default.nix b/pkgs/development/libraries/folks/default.nix index 8a44cd09dac9..edbebdb1b8da 100644 --- a/pkgs/development/libraries/folks/default.nix +++ b/pkgs/development/libraries/folks/default.nix @@ -78,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: { mesonFlags = [ "-Ddocs=true" "-Dtelepathy_backend=${lib.boolToString telepathySupport}" - "-Dtests=${lib.boolToString (finalAttrs.doCheck && stdenv.isLinux)}" + "-Dtests=${lib.boolToString (finalAttrs.finalPackage.doCheck && stdenv.isLinux)}" ]; # backends/eds/lib/libfolks-eds.so.26.0.0.p/edsf-persona-store.c:10697:4: diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix index 1b7b5f0ece12..3fea0ff9cea2 100644 --- a/pkgs/development/libraries/gvfs/default.nix +++ b/pkgs/development/libraries/gvfs/default.nix @@ -137,7 +137,7 @@ stdenv.mkDerivation (finalAttrs: { ]; doCheck = false; # fails with "ModuleNotFoundError: No module named 'gi'" - doInstallCheck = finalAttrs.doCheck; + doInstallCheck = finalAttrs.finalPackage.doCheck; separateDebugInfo = true; diff --git a/pkgs/development/libraries/iniparser/default.nix b/pkgs/development/libraries/iniparser/default.nix index a35deb12e683..b0bb4dce192f 100644 --- a/pkgs/development/libraries/iniparser/default.nix +++ b/pkgs/development/libraries/iniparser/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-R069LuOmjCFj7dHXiMjuK7WUupk5+dVd8IDKY/wBn2o="; }; - patches = lib.optionals finalAttrs.doCheck [ + patches = lib.optionals finalAttrs.finalPackage.doCheck [ (substituteAll { # Do not let cmake's fetchContent download unity src = ./remove-fetchcontent-usage.patch; @@ -48,9 +48,9 @@ stdenv.mkDerivation (finalAttrs: { cmake doxygen validatePkgConfig - ] ++ lib.optionals finalAttrs.doCheck [ ruby ]; + ] ++ lib.optionals finalAttrs.finalPackage.doCheck [ ruby ]; - cmakeFlags = [ "-DBUILD_TESTING=${if finalAttrs.doCheck then "ON" else "OFF"}" ]; + cmakeFlags = [ "-DBUILD_TESTING=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}" ]; doCheck = false; diff --git a/pkgs/development/libraries/libadwaita/default.nix b/pkgs/development/libraries/libadwaita/default.nix index cfb86575f52d..795484274ffa 100644 --- a/pkgs/development/libraries/libadwaita/default.nix +++ b/pkgs/development/libraries/libadwaita/default.nix @@ -54,7 +54,7 @@ stdenv.mkDerivation (finalAttrs: { mesonFlags = [ "-Dgtk_doc=true" - ] ++ lib.optionals (!finalAttrs.doCheck) [ + ] ++ lib.optionals (!finalAttrs.finalPackage.doCheck) [ "-Dtests=false" ]; diff --git a/pkgs/development/libraries/libe57format/default.nix b/pkgs/development/libraries/libe57format/default.nix index 41fda970294d..7e70cb950310 100644 --- a/pkgs/development/libraries/libe57format/default.nix +++ b/pkgs/development/libraries/libe57format/default.nix @@ -51,7 +51,7 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ # See https://github.com/asmaloney/libE57Format/blob/9372bdea8db2cc0c032a08f6d655a53833d484b8/test/README.md - (if finalAttrs.doCheck + (if finalAttrs.finalPackage.doCheck then "-DE57_TEST_DATA_PATH=${finalAttrs.libE57Format-test-data_src}" else "-DE57_BUILD_TEST=OFF" ) diff --git a/pkgs/development/libraries/libepoxy/default.nix b/pkgs/development/libraries/libepoxy/default.nix index d95bf8d623cb..f771ad140b55 100644 --- a/pkgs/development/libraries/libepoxy/default.nix +++ b/pkgs/development/libraries/libepoxy/default.nix @@ -59,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: { mesonFlags = [ "-Degl=${if (x11Support && !stdenv.isDarwin) then "yes" else "no"}" "-Dglx=${if x11Support then "yes" else "no"}" - "-Dtests=${lib.boolToString finalAttrs.doCheck}" + "-Dtests=${lib.boolToString finalAttrs.finalPackage.doCheck}" "-Dx11=${lib.boolToString x11Support}" ]; diff --git a/pkgs/development/libraries/libqofono/default.nix b/pkgs/development/libraries/libqofono/default.nix index 4b241ee2786e..a7d7868f30b3 100644 --- a/pkgs/development/libraries/libqofono/default.nix +++ b/pkgs/development/libraries/libqofono/default.nix @@ -1,7 +1,8 @@ { lib , substituteAll , mkDerivation -, fetchFromGitLab +, fetchFromGitHub +, gitUpdater , mobile-broadband-provider-info , qmake , qtbase @@ -10,14 +11,13 @@ mkDerivation rec { pname = "libqofono"; - version = "0.103"; + version = "0.123"; - src = fetchFromGitLab { - domain = "git.sailfishos.org"; - owner = "mer-core"; + src = fetchFromGitHub { + owner = "sailfishos"; repo = "libqofono"; rev = version; - sha256 = "1ly5aj412ljcjvhqyry6nhiglbzzhczsy1a6w4i4fja60b2m1z45"; + hash = "sha256-Ml86wHejSDyR2ibamuzg14GZ5S7zHBgPC9K5G+sgtC0="; }; patches = [ @@ -48,6 +48,8 @@ mkDerivation rec { qtdeclarative ]; + passthru.updateScript = gitUpdater { }; + meta = with lib; { description = "Library for accessing the ofono daemon, and declarative plugin for it"; homepage = "https://git.sailfishos.org/mer-core/libqofono/"; diff --git a/pkgs/development/libraries/libvmi/default.nix b/pkgs/development/libraries/libvmi/default.nix index 9aded47d234a..b350592147bc 100644 --- a/pkgs/development/libraries/libvmi/default.nix +++ b/pkgs/development/libraries/libvmi/default.nix @@ -45,5 +45,6 @@ stdenv.mkDerivation rec { license = with licenses; [ gpl3 lgpl3 ]; platforms = platforms.linux; maintainers = [ ]; + broken = true; }; } diff --git a/pkgs/development/ocaml-modules/linol/default.nix b/pkgs/development/ocaml-modules/linol/default.nix index 28f2bc105d15..dc7ee4835801 100644 --- a/pkgs/development/ocaml-modules/linol/default.nix +++ b/pkgs/development/ocaml-modules/linol/default.nix @@ -1,22 +1,15 @@ -{ lib, fetchFromGitHub, fetchpatch, buildDunePackage, yojson, logs, lsp, ppx_yojson_conv_lib, trace }: +{ lib, fetchurl, buildDunePackage, yojson, logs, lsp, ppx_yojson_conv_lib, trace }: buildDunePackage rec { pname = "linol"; - version = "0.5"; + version = "0.6"; minimalOCamlVersion = "4.14"; - src = fetchFromGitHub { - owner = "c-cube"; - repo = "linol"; - rev = "v${version}"; - hash = "sha256-ULPOB/hb+2VXDB/eK66WDDh/wj0bOwUt0tZsiIXqndo="; - }; - - patches = fetchpatch { - url = "https://github.com/c-cube/linol/commit/d8ebcf9a60f1e7251d14cdcd0b2ebd5b7f8eec6d.patch"; - hash = "sha256-JHR0P0X3ep5HvDWW43dMb452/WsFKS4e+5Qhk4MzaxQ="; + src = fetchurl { + url = "https://github.com/c-cube/linol/releases/download/v${version}/linol-${version}.tbz"; + hash = "sha256-MwEisPJdzZN1VRnssotvExNMYOQdffS+Y2B8ZSUDVfo="; }; propagatedBuildInputs = [ yojson logs lsp ppx_yojson_conv_lib trace ]; diff --git a/pkgs/development/python-modules/nbxmpp/default.nix b/pkgs/development/python-modules/nbxmpp/default.nix index b44f40ffc9c5..07baf52739fd 100644 --- a/pkgs/development/python-modules/nbxmpp/default.nix +++ b/pkgs/development/python-modules/nbxmpp/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "nbxmpp"; - version = "5.0.1"; + version = "5.0.3"; format = "pyproject"; disabled = pythonOlder "3.10"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "gajim"; repo = "python-nbxmpp"; rev = "refs/tags/${version}"; - hash = "sha256-XHdKQu6mfPl8hUNBqOZlGmI1SdBqwZm/sYzBZEbpDD0="; + hash = "sha256-p7BRUf0YECI8xW3GVOCXHKtKs/4MFKUZR3k1XmTKMZI="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/opentelemetry-api/default.nix b/pkgs/development/python-modules/opentelemetry-api/default.nix index 8fde20af6cbf..d81a0ed09812 100644 --- a/pkgs/development/python-modules/opentelemetry-api/default.nix +++ b/pkgs/development/python-modules/opentelemetry-api/default.nix @@ -15,7 +15,7 @@ let self = buildPythonPackage rec { pname = "opentelemetry-api"; - version = "1.25.0"; + version = "1.26.0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -25,7 +25,7 @@ let owner = "open-telemetry"; repo = "opentelemetry-python"; rev = "refs/tags/v${version}"; - hash = "sha256-9mxgPYliGkNsZGOhF9YCmxZjP3hc2UUmxSpWY4IMLCo="; + hash = "sha256-slb1ZKGnfJRZiBh++S20en7U6RckspHHuMohHOz2Hts="; }; sourceRoot = "${src.name}/opentelemetry-api"; diff --git a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix index 2e55477ffc0a..3ddd107770b0 100644 --- a/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix +++ b/pkgs/development/python-modules/opentelemetry-exporter-otlp-proto-grpc/default.nix @@ -37,7 +37,7 @@ buildPythonPackage { pytestCheckHook ]; - disabledTestPaths = [ "tests/performance/benchmarks/" ]; + pytestFlagsArray = [ "tests" ]; pythonImportsCheck = [ "opentelemetry.exporter.otlp.proto.grpc" ]; diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-dbapi/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-dbapi/default.nix new file mode 100644 index 000000000000..286102d97e61 --- /dev/null +++ b/pkgs/development/python-modules/opentelemetry-instrumentation-dbapi/default.nix @@ -0,0 +1,40 @@ +{ + buildPythonPackage, + pythonOlder, + pytestCheckHook, + hatchling, + opentelemetry-api, + opentelemetry-instrumentation, + opentelemetry-semantic-conventions, + opentelemetry-test-utils, +}: + +buildPythonPackage { + inherit (opentelemetry-instrumentation) version src; + pname = "opentelemetry-instrumentation-dbapi"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-dbapi"; + + build-system = [ hatchling ]; + + dependencies = [ + opentelemetry-api + opentelemetry-instrumentation + opentelemetry-semantic-conventions + ]; + + nativeCheckInputs = [ + opentelemetry-test-utils + pytestCheckHook + ]; + + pythonImportsCheck = [ "opentelemetry.instrumentation.dbapi" ]; + + meta = opentelemetry-instrumentation.meta // { + homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-dbapi"; + description = "OpenTelemetry Database API instrumentation"; + }; +} diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix index 1d400f8e53b0..6dc01accb96d 100644 --- a/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix +++ b/pkgs/development/python-modules/opentelemetry-instrumentation-grpc/default.nix @@ -6,7 +6,6 @@ hatchling, opentelemetry-api, opentelemetry-instrumentation, - opentelemetry-sdk, opentelemetry-semantic-conventions, opentelemetry-test-utils, wrapt, @@ -28,7 +27,6 @@ buildPythonPackage { dependencies = [ opentelemetry-api opentelemetry-instrumentation - opentelemetry-sdk opentelemetry-semantic-conventions wrapt ]; @@ -55,5 +53,7 @@ buildPythonPackage { meta = opentelemetry-instrumentation.meta // { homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-grpc"; description = "OpenTelemetry Instrumentation for grpc"; + # https://github.com/open-telemetry/opentelemetry-python-contrib/issues/2483 + broken = lib.versionAtLeast grpcio.version "1.63"; }; } diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation-psycopg2/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation-psycopg2/default.nix new file mode 100644 index 000000000000..2035b07c939f --- /dev/null +++ b/pkgs/development/python-modules/opentelemetry-instrumentation-psycopg2/default.nix @@ -0,0 +1,42 @@ +{ + buildPythonPackage, + pythonOlder, + pytestCheckHook, + hatchling, + opentelemetry-api, + opentelemetry-instrumentation, + opentelemetry-instrumentation-dbapi, + opentelemetry-test-utils, + psycopg2, +}: + +buildPythonPackage { + inherit (opentelemetry-instrumentation) version src; + pname = "opentelemetry-instrumentation-psycopg2"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-psycopg2"; + + build-system = [ hatchling ]; + + dependencies = [ + psycopg2 + opentelemetry-api + opentelemetry-instrumentation + opentelemetry-instrumentation-dbapi + ]; + + nativeCheckInputs = [ + opentelemetry-test-utils + pytestCheckHook + ]; + + pythonImportsCheck = [ "opentelemetry.instrumentation.psycopg2" ]; + + meta = opentelemetry-instrumentation.meta // { + homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-psycopg2"; + description = "OpenTelemetry Psycopg Instrumentation"; + }; +} diff --git a/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix b/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix index 1939a63fa6a1..bdf9720c6c38 100644 --- a/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix +++ b/pkgs/development/python-modules/opentelemetry-instrumentation/default.nix @@ -13,7 +13,7 @@ buildPythonPackage rec { pname = "opentelemetry-instrumentation"; - version = "0.46b0"; + version = "0.47b0"; pyproject = true; disabled = pythonOlder "3.8"; @@ -23,7 +23,7 @@ buildPythonPackage rec { owner = "open-telemetry"; repo = "opentelemetry-python-contrib"; rev = "refs/tags/v${version}"; - hash = "sha256-BC/RJL4GgC3vGe4bC9mavPNpE+j8ZIkOKCbK4I4LuGQ="; + hash = "sha256-XtJ4u891vI7wDtReoucm+qk3BkKJ+aZrYy7zfxmqfgk="; }; sourceRoot = "${src.name}/opentelemetry-instrumentation"; diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix index 080fd3cd81fb..3c10f4cc5716 100644 --- a/pkgs/development/tools/analysis/rr/default.nix +++ b/pkgs/development/tools/analysis/rr/default.nix @@ -66,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeBool "disable32bit" true) - (lib.cmakeBool "BUILD_TESTS" finalAttrs.doCheck) + (lib.cmakeBool "BUILD_TESTS" finalAttrs.finalPackage.doCheck) ]; # we turn on additional warnings due to hardening diff --git a/pkgs/development/tools/build-managers/gradle/update-deps.nix b/pkgs/development/tools/build-managers/gradle/update-deps.nix index 5d6222fb11c4..0b19a17429bd 100644 --- a/pkgs/development/tools/build-managers/gradle/update-deps.nix +++ b/pkgs/development/tools/build-managers/gradle/update-deps.nix @@ -52,10 +52,10 @@ writeTextFile { text = '' #!${runtimeShell} set -eo pipefail - export PATH="${lib.makeBinPath [ - bubblewrap coreutils curl jq mitm-cache openssl + export PATH="${lib.makeBinPath ([ + coreutils curl jq mitm-cache openssl procps python3.pkgs.ephemeral-port-reserve - ]}:$PATH" + ] ++ lib.optional useBwrap bubblewrap)}:$PATH" outPath="${ # if this is an absolute path in nix store, use path relative to the store path if lib.hasPrefix "${builtins.storeDir}/" (toString data) diff --git a/pkgs/games/gcompris/default.nix b/pkgs/games/gcompris/default.nix index 6b5168fa8c5a..61778a120f93 100644 --- a/pkgs/games/gcompris/default.nix +++ b/pkgs/games/gcompris/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ (lib.cmakeFeature "QML_BOX2D_LIBRARY" "${qmlbox2d}/${qtbase.qtQmlPrefix}/Box2D.2.1") - (lib.cmakeBool "BUILD_TESTING" (finalAttrs.doCheck or false)) + (lib.cmakeBool "BUILD_TESTING" finalAttrs.finalPackage.doCheck) ]; nativeBuildInputs = [ cmake extra-cmake-modules gettext ninja qttools wrapQtAppsHook ]; diff --git a/pkgs/os-specific/darwin/apple-sdk-12.3/frameworks/fixups.nix b/pkgs/os-specific/darwin/apple-sdk-12.3/frameworks/fixups.nix index f8b08c1e7222..6068395c4ae2 100644 --- a/pkgs/os-specific/darwin/apple-sdk-12.3/frameworks/fixups.nix +++ b/pkgs/os-specific/darwin/apple-sdk-12.3/frameworks/fixups.nix @@ -47,6 +47,9 @@ CoreAudio = { inherit IOKit; }; + CoreData = { + inherit CloudKit; + }; CoreFoundation = { inherit libobjc; }; diff --git a/pkgs/servers/deconz/default.nix b/pkgs/servers/deconz/default.nix index 110048f9de28..eb2189bcd3db 100644 --- a/pkgs/servers/deconz/default.nix +++ b/pkgs/servers/deconz/default.nix @@ -16,11 +16,11 @@ stdenv.mkDerivation rec { pname = "deconz"; - version = "2.26.3"; + version = "2.27.6"; src = fetchurl { url = "https://deconz.dresden-elektronik.de/ubuntu/beta/deconz-${version}-qt5.deb"; - sha256 = "sha256-BE/apFPutNdhlS1NWRHdVcVrt/16aFfZ6zRcjphIlZA="; + sha256 = "sha256-cEEkXVNyTP922Xgr5ekR9DX0n1uHy1dw77mlnVDRR1U="; }; nativeBuildInputs = [ dpkg autoPatchelfHook makeWrapper wrapQtAppsHook ]; diff --git a/pkgs/tools/compression/lz4/default.nix b/pkgs/tools/compression/lz4/default.nix index 67bc9016cace..6b2c1a43b2fe 100644 --- a/pkgs/tools/compression/lz4/default.nix +++ b/pkgs/tools/compression/lz4/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation (finalAttrs: { cmake ]; - buildInputs = lib.optionals finalAttrs.doCheck [ + buildInputs = lib.optionals finalAttrs.finalPackage.doCheck [ valgrind ]; diff --git a/pkgs/tools/package-management/nix/nix-perl.nix b/pkgs/tools/package-management/nix/nix-perl.nix index 8fc2657657af..2233525ec62e 100644 --- a/pkgs/tools/package-management/nix/nix-perl.nix +++ b/pkgs/tools/package-management/nix/nix-perl.nix @@ -76,7 +76,7 @@ in stdenv.mkDerivation (finalAttrs: { value = "${perl.pkgs.DBDSQLite}/${perl.libPrefix}"; }) ] ++ lib.optionals atLeast223 [ - (lib.mesonEnable "tests" finalAttrs.doCheck) + (lib.mesonEnable "tests" finalAttrs.finalPackage.doCheck) ]; preConfigure = "export NIX_STATE_DIR=$TMPDIR"; diff --git a/pkgs/tools/security/bkcrack/default.nix b/pkgs/tools/security/bkcrack/default.nix index 5bebb8618b7e..1af16ffe14df 100644 --- a/pkgs/tools/security/bkcrack/default.nix +++ b/pkgs/tools/security/bkcrack/default.nix @@ -21,7 +21,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; cmakeFlags = [ - "-DBKCRACK_BUILD_TESTING=${if finalAttrs.doCheck then "ON" else "OFF"}" + "-DBKCRACK_BUILD_TESTING=${if finalAttrs.finalPackage.doCheck then "ON" else "OFF"}" ]; postInstall = '' diff --git a/pkgs/tools/security/jadx/default.nix b/pkgs/tools/security/jadx/default.nix index a0c494fa3c63..171f36725682 100644 --- a/pkgs/tools/security/jadx/default.nix +++ b/pkgs/tools/security/jadx/default.nix @@ -1,29 +1,35 @@ -{ lib -, stdenv -, fetchFromGitHub -, gradle -, jdk -, quark-engine -, makeWrapper -, imagemagick -, makeDesktopItem -, copyDesktopItems -, desktopToDarwinBundle +{ + lib, + stdenv, + fetchFromGitHub, + gradle, + jdk, + quark-engine, + makeWrapper, + imagemagick, + makeDesktopItem, + copyDesktopItems, + desktopToDarwinBundle, }: stdenv.mkDerivation (finalAttrs: { pname = "jadx"; - version = "1.4.7"; + version = "1.5.0"; src = fetchFromGitHub { owner = "skylot"; repo = "jadx"; rev = "v${finalAttrs.version}"; - hash = "sha256-3t2e3WfH/ohkdGWlfV3t9oHJ1Q6YM6nSLOgmzgJEkls="; + hash = "sha256-+F+PHAd1+FmdAlQkjYDBsUYCUzKXG19ZUEorfvBUEg0="; }; - nativeBuildInputs = [ gradle jdk imagemagick makeWrapper copyDesktopItems ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; + nativeBuildInputs = [ + gradle + jdk + imagemagick + makeWrapper + copyDesktopItems + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ desktopToDarwinBundle ]; # Otherwise, Gradle fails with `java.net.SocketException: Operation not permitted` __darwinAllowLocalNetworking = true; @@ -69,7 +75,10 @@ stdenv.mkDerivation (finalAttrs: { exec = "jadx-gui"; icon = "jadx"; comment = finalAttrs.meta.description; - categories = [ "Development" "Utility" ]; + categories = [ + "Development" + "Utility" + ]; }) ]; @@ -81,10 +90,11 @@ stdenv.mkDerivation (finalAttrs: { ''; sourceProvenance = with sourceTypes; [ fromSource - binaryBytecode # deps + binaryBytecode # deps ]; license = licenses.asl20; platforms = platforms.unix; + mainProgram = "jadx-gui"; maintainers = with maintainers; [ emilytrau ]; }; }) diff --git a/pkgs/tools/security/jadx/deps.json b/pkgs/tools/security/jadx/deps.json index 500404ebb6aa..83dc122c6a39 100644 --- a/pkgs/tools/security/jadx/deps.json +++ b/pkgs/tools/security/jadx/deps.json @@ -2,18 +2,38 @@ "!comment": "This is a nixpkgs Gradle dependency lockfile. For more details, refer to the Gradle section in the nixpkgs manual.", "!version": 1, "https://dl.google.com/dl/android/maven2/com/android": { - "tools#r8/4.0.48": { - "jar": "sha256-932anr2p4yCS6sTdjhFkSnNi36YO1qOp0NMt5XC79SQ=", - "pom": "sha256-5mEMufgumNH5nOgSUcnnlm/Pgrzr0GR3pbpkzzNJ+xA=" + "tools#r8/8.3.37": { + "jar": "sha256-WXU+cKdPkYOJzIfxt9ZrXAhikyVZFnQlcI3tFZ495Dk=", + "pom": "sha256-d6TAZPkYOrtfhr4g6uYTGICen8MvQaXDY4dp72hQ5T4=" }, - "tools/build#aapt2-proto/7.3.1-8691043": { - "jar": "sha256-1eLz4eHrBiJLaHX15RPHKmUYI0J0VxgWDK8ZHUapZmQ=", - "module": "sha256-XHobthipLvWcPWDPgEmPFkYKa/L+qvxK6EfT+2xZ7aw=", - "pom": "sha256-90SV2eV+uTBEowjJ0SDPlOucHbxK9gieeWPwVgf0OWI=" + "tools/build#aapt2-proto/8.3.2-10880808": { + "jar": "sha256-3iKdOHj8HSnfyghsigs3FNhY9wS7ifl/F/ZN2n8aEuI=", + "module": "sha256-ERjGfn1J9h/AsfZLVbSrHqVfi5zGPoeaDmbS6eAcKTw=", + "pom": "sha256-A4Lzmo++ffYXuIO/f53Rxg0i7kMp3/0iDhMoi6yZM4w=" }, - "tools/build#apksig/7.4.1": { - "jar": "sha256-bWoTpRrDgGwRr18JZwkgVeNaZ99qdL/xVE2fVRjFrVU=", - "pom": "sha256-PnV6UitSV0bqvN4mcNzsyAKOqmcQyUe74DnIE+nSajM=" + "tools/build#apksig/8.3.2": { + "jar": "sha256-Ro7hhS+hJGHGYpYI/ke+cOUPYL58R0S7f2LKSOhcCmw=", + "pom": "sha256-2MOEEEQeeDYadm+kHqunUfrEH60WcbrNfqS7abiKKCE=" + }, + "tools/smali#smali-baksmali/3.0.5": { + "jar": "sha256-iZSrXXrULWJCu00p+o3IGhG511roC3jJnvY9B3k3+jo=", + "module": "sha256-5EA3mfVRU9YZIRr/lO5mqxX/SrSfXWUHV9LrraJt7lc=", + "pom": "sha256-shudIzWeaZizhVDoGbbDmukFdGRUapUDkoBOzq+omWo=" + }, + "tools/smali#smali-dexlib2/3.0.5": { + "jar": "sha256-j2seZoneVWYbd7wo641xBe6N8mFHktby5Qhm1Y0A3WI=", + "module": "sha256-zY7utICIrsZsSPv4g9qD+LhxYIAZqqRYSCK9s0zvge8=", + "pom": "sha256-nErnF9igv3TjT7iIbd6tQi885vi4SU3iDz5dtubUbD0=" + }, + "tools/smali#smali-util/3.0.5": { + "jar": "sha256-gX2qXYe/ejne1ZeIubZ5P49e32pPSrAiYJgAiSHpqws=", + "module": "sha256-VPXL9pRllG21X3f7mSADg+uvTKFOnrMNhgKWqxIuLXY=", + "pom": "sha256-AGspI+VNhCw80NB5AejYtvODplboeiSZwBMKa1TI0hA=" + }, + "tools/smali#smali/3.0.5": { + "jar": "sha256-mi8PtL9o18ISBsImnaMLjckpcdGE6Dshpk+4X95anUo=", + "module": "sha256-MLc8dXT76IQo+olKXTqAKqsI3qREr1Lje/A7Jn1bOc8=", + "pom": "sha256-/dFrTiATTBzK1fz+w5ROrTk4sUZKT7nzv3scnQUUYy0=" } }, "https://plugins.gradle.org/m2": { @@ -29,47 +49,61 @@ "jar": "sha256-CV/R3HeIjAc/C+OaAYFW7lJnInmLCd6eKF7yE14W6sQ=", "pom": "sha256-NQkZQkMk4nUKPdwvobzmqQrIziklaYpgqbTR1uSSL/4=" }, - "com/diffplug/spotless#com.diffplug.spotless.gradle.plugin/6.13.0": { - "pom": "sha256-4qHufTD0GGdheUdAEOYkVE6BP0MHAO4oBjQvKukFMNQ=" + "com/diffplug/durian#durian-swt.os/4.2.2": { + "jar": "sha256-a1Mca0vlgaizLq2GHdwVwsk7IMZl+00z4DgUg8JERfQ=", + "module": "sha256-rVlQLGknZu48M0vkliigDctNka4aSPJjLitxUStDXPk=", + "pom": "sha256-GzxJFP1eLM4pZq1wdWY5ZBFFwdNCB3CTV4Py3yY2kIU=" }, - "com/diffplug/spotless#spotless-lib-extra/2.32.0": { - "jar": "sha256-i8SQYGLclmwFaGL8kmCsfQWTZguEOtZcEbFW6dzLZKE=", - "module": "sha256-a8dLFqcxDey2fs8H1vXOG9x6+bh5Hek+TwfziyxosQo=", - "pom": "sha256-7wDQM9CMLJ7yFDwmJVav40DYs4doI9Zw0pzrct/nhBQ=" + "com/diffplug/spotless#com.diffplug.spotless.gradle.plugin/6.25.0": { + "pom": "sha256-9FyCsS+qzYWs1HTrppkyL6XeqIQIskfQ5L3pQSkIIjo=" }, - "com/diffplug/spotless#spotless-lib/2.32.0": { - "jar": "sha256-S6xhJrXWaIZdgFrGGqDiUoi5EN6zPydHZO543raRsuw=", - "module": "sha256-h6cE9aXpl+52z2PjA5+orSSKMx7xV4tfiX7VQ2AZYhM=", - "pom": "sha256-a+Uybvhc5iiiuHq8mwLN+kw1rfeqdZ4a/C2ytQut5Fw=" + "com/diffplug/spotless#spotless-lib-extra/2.45.0": { + "jar": "sha256-YCy7zTgo7pz7LjCn+bMDNcaScTB3FBTUzdKU0h/ly2c=", + "module": "sha256-9pnkNfTlzgPbYJpHaO6wNj1uB8ZfvPrx/GKcTnbuf7A=", + "pom": "sha256-5x2LkRDdSNLn9KVLi/uozlWpbmteu9T0OpJGZJz1b7A=" }, - "com/diffplug/spotless#spotless-plugin-gradle/6.13.0": { - "jar": "sha256-Js7wl5w5CHH1wWX6KGAeEAlgkuyW1zWKC/XM2oYJbEk=", - "module": "sha256-i9cKqqO2WIEYk+jSq+bMAxo87Hcbgyto8Dl0JH9kOig=", - "pom": "sha256-NpfHbxQP9djFACOzYUHhMOffXzQD2biONjNpzNeBZmw=" + "com/diffplug/spotless#spotless-lib/2.45.0": { + "jar": "sha256-sllply4dmAKAyirlKRl+2bMWCq5ItQbPGTXwG9Exhmc=", + "module": "sha256-+x+8+TUAczrHWcp99E8P9mVTEze0LaAS4on/CINNiQ8=", + "pom": "sha256-WKd8IsQLIc8m29tCEwFu9HrM9bBwchfHkyqQ9D+PMNw=" }, - "com/formdev#flatlaf/1.0": { - "jar": "sha256-E12NWsOf7CnZs/9SyzBybT+XawaYYVvjJTT9eSTynsc=", - "module": "sha256-dStur7AL/wRCGXCYLcqvz1l7SajJE64M73XkKHYKC68=", - "pom": "sha256-ylkCGnUHptHH0ZM+DN+hxKlpqgTsaMYsMdYTMtMAlpo=" + "com/diffplug/spotless#spotless-plugin-gradle/6.25.0": { + "jar": "sha256-9euQikxdpGKZ51Q/qtoEAtLEt31Yx7Qy1Lblk0mygKM=", + "module": "sha256-RoHRe/PJIF2DeOynBcAAywzJjcx40DATy2iJjGvSx0Q=", + "pom": "sha256-q1ZuPYS2w/rHqPySXy279TzZdZywOvPAfQ3EN9OXqNo=" }, - "com/github/ben-manes#gradle-versions-plugin/0.45.0": { - "jar": "sha256-RpBMEWJmqzmQy6JpyFGsSUppwhIbz5nkPKU4blLUJaM=", - "module": "sha256-RyWDjnWYFyb1ogLMtL31WY2c34mAdiApHtWi7XAJR4c=", - "pom": "sha256-8TEb3zGSUlFQ0qtWZCgpqnnfiCrp6GNt+97S+d78NDk=" + "com/fasterxml#oss-parent/48": { + "pom": "sha256-EbuiLYYxgW4JtiOiAHR0U9ZJGmbqyPXAicc9ordJAU8=" }, - "com/github/ben-manes/versions#com.github.ben-manes.versions.gradle.plugin/0.45.0": { - "pom": "sha256-TF+vdABxshvnS8Py3jamb3OZ8ISsA2DTFzt5iYWyh7Q=" + "com/fasterxml/jackson#jackson-bom/2.14.1": { + "pom": "sha256-eP35nlBQ/EhfQRfauMzL+2+mxoOF6184oJtlU3HUpsw=" }, - "com/github/johnrengelman/shadow#com.github.johnrengelman.shadow.gradle.plugin/7.1.2": { - "pom": "sha256-lW5FCF5S6l7zLTRnHruE6xxBqDxFSa8m5oY18QYXmNM=" + "com/fasterxml/jackson#jackson-parent/2.14": { + "pom": "sha256-CQat2FWuOfkjV9Y/SFiJsI/KTEOl/kM1ItdTROB1exk=" + }, + "com/github/ben-manes#gradle-versions-plugin/0.51.0": { + "jar": "sha256-hDFJ4yuRdmIcz38dtEOECMWp+bWM1XIQU32bc4BUAh4=", + "module": "sha256-vUrCdcs524F7R32ZqxzkZ+BGdOdck8bWiScY1L7PnG4=", + "pom": "sha256-gzhEJF79GHeytCHNoI7uv1zx5O8SBcMXEEe1QGbdkB8=" + }, + "com/github/ben-manes/versions#com.github.ben-manes.versions.gradle.plugin/0.51.0": { + "pom": "sha256-oy92kCcy9iIN27EhlfozbDMfT2190MRscHcLOu4dR0E=" + }, + "com/github/johnrengelman#shadow/8.1.1": { + "jar": "sha256-CEGXVVWQpTuyG1lQijMwVZ9TbdtEjq/R7GdfVGIDb88=", + "module": "sha256-nQ87SqpniYcj6vbF6c0nOHj5V03azWSqNwJDYgzgLko=", + "pom": "sha256-Mu55f8hDI3xM5cSeX0FSxYoIlK/OCg6SY25qLU/JjDU=" + }, + "com/github/johnrengelman/shadow#com.github.johnrengelman.shadow.gradle.plugin/8.1.1": { + "pom": "sha256-PLOIa5ffbgZvEIwxayGfJiyXw8st9tp4kn5kXetkPLA=" }, "com/googlecode/concurrent-trees#concurrent-trees/2.6.1": { "jar": "sha256-BONySYTipcv1VgbPo3KlvT08XSohUzpwBOPN5Tl2H6U=", "pom": "sha256-Q8K5sULnBV0fKlgn8QlEkl0idH2XVrMlDAeqtHU4qXE=" }, - "com/googlecode/javaewah#JavaEWAH/1.1.13": { - "jar": "sha256-TA/aKx0xd1DX6jJONscLK8SDEMCqrme5jfCRXWltcRE=", - "pom": "sha256-lyWx/pxoENl3dQu4RBXqEILEtIjUqDn5cEu09ej8F/Q=" + "com/googlecode/javaewah#JavaEWAH/1.2.3": { + "jar": "sha256-1lImlJcTxMYaeE9BxRFn57Axb5N2Q5jrup5DNrPZVMI=", + "pom": "sha256-5O1sZpYgNm+ZOSBln+CsfLyD11PbwNwOseUplzr5byM=" }, "com/squareup/moshi#moshi-kotlin/1.12.0": { "jar": "sha256-HENsB8FZzRrwMrt5NRpIqY5/eBrIB8/4tXEamZtWZt8=", @@ -81,183 +115,485 @@ "module": "sha256-uGqTFURxITGVpEL4XKBG55oAHG1EbEHU0WiTbahW6+I=", "pom": "sha256-YbyUJDqTc9mUini25xAAl161EPtvf0aoHq/N3TgeR3k=" }, - "com/squareup/okhttp3#okhttp/4.9.3": { - "jar": "sha256-k+zWy6Gdh9zP5WbshI2RqueZ488WwAcJNY6mm9kichk=", - "module": "sha256-gyf+V2cjmG3tSvpeDZ4TKuMCzPVvITwNuCGnQE1A+O8=", - "pom": "sha256-ZN87m63dAOqkvHJ2Qf0VfGXzlGXmjq7KpaHQQX/C8mk=" + "com/squareup/okhttp3#okhttp/4.11.0": { + "module": "sha256-VnwltR13eWF0Q5GE11JBK6l+2f22X8cYQNvFVjvrj6g=", + "pom": "sha256-ei1Cezixfgdtpk7o0hAuZIiNyyOK7l4tukp3UslKP94=" + }, + "com/squareup/okhttp3#okhttp/4.12.0": { + "jar": "sha256-sQUAgbFLt6On5VpNPvAbXc+rxFO0VzpPwBl2cZHV9OA=", + "module": "sha256-YH4iD/ghW5Kdgpu/VPMyiU8UWbTXlZea6vy8wc6lTPM=", + "pom": "sha256-fHNwQKlBlSLnxQzAJ0FqcP58dinlKyGZNa3mtBGcfTg=" + }, + "com/squareup/okio#okio-jvm/3.2.0": { + "module": "sha256-p3jzkIXtar/NaHESmGxjhapXrC2IQLIdlGs8IJXzDqQ=", + "pom": "sha256-XEUflKdr6oYbbvK/hOj1cgBUWWjIZVWr3+0Tx8otSJ0=" + }, + "com/squareup/okio#okio-jvm/3.6.0": { + "jar": "sha256-Z1Q/Bzb8QirpJ+0OUEuYvF4mn9oNNQBXkzfLcT2ihBI=", + "module": "sha256-scIZnhwMyWnvYcu+SvLsr5sGQRvd4By69vyRNN/gToo=", + "pom": "sha256-YbTXxRWgiU/62SX9cFJiDBQlqGQz/TURO1+rDeiQpX8=" }, "com/squareup/okio#okio/2.10.0": { - "jar": "sha256-on8JHTSqRS43In4s+oWAnykBKo7yUBqbWhJal45Py8E=", "module": "sha256-EcvqvDp2XJqAMkL6ICShGFPrCGXaU2xLBa/c27I0Y3A=", "pom": "sha256-S5YGC20aK5bpDkKtcVitvjRpMWuA/qCBfGwzmT7hzHI=" }, - "com/squareup/okio#okio/2.8.0": { - "module": "sha256-F7qrcnA4ml+mOrEoEYZNCgDzgWEbxOsEL6G9WRjtCWU=", - "pom": "sha256-JiFAaP1Mf0N6yP6FdoAqmp3BUcRXWCgHrZryry6MlIE=" + "com/squareup/okio#okio/3.2.0": { + "module": "sha256-aB9c7BcN5FuVST6e5wWGjrNa34mO4G+W4i0ZclDBsQQ=", + "pom": "sha256-i0b1jZua6xF4Nh1YpoZfTa1mWTDF/3tV4LqmHvOpcqE=" }, - "com/thoughtworks/xstream#xstream-parent/1.4.19": { - "pom": "sha256-DUgSxOMREJtuOk5gZvgh10kZgTl25P6p5CfPNi8vBYM=" + "com/squareup/okio#okio/3.6.0": { + "module": "sha256-akesUDZOZZhFlAH7hvm2z832N7mzowRbHMM8v0xAghg=", + "pom": "sha256-rrO3CiTBA+0MVFQfNfXFEdJ85gyuN2pZbX1lNpf4zJU=" }, - "com/thoughtworks/xstream#xstream/1.4.19": { - "jar": "sha256-yayTUnlCGJron8kSBnY1jxHqj3E8Y1qfLHAGP+ZxZjQ=", - "pom": "sha256-7odNIUDKTox3TojfZW7svJZT9bjLmAapq4UFwmm3s34=" + "com/thoughtworks/xstream#xstream-parent/1.4.20": { + "pom": "sha256-ERiJ4wIWWg9EpU3k23BSUNHeDckbp4oZih0ieDRL7uc=" }, - "commons-beanutils#commons-beanutils/1.9.4": { - "jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=", - "pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA=" + "com/thoughtworks/xstream#xstream/1.4.20": { + "jar": "sha256-h98PC+V8kgN9ARD7siWjC2UXAtwnVlPSha/P7zG8LoE=", + "pom": "sha256-c9gezjnpSh0tf80BhGYqo9QQa/6XCbeTlkiS4+f0/cQ=" + }, + "commons-codec#commons-codec/1.16.0": { + "jar": "sha256-VllfsgsLhbyR0NUD2tULt/G5r8Du1d/6bLslkpAASE0=", + "pom": "sha256-bLWVeBnfOTlW/TEaOgw/XuwevEm6Wy0J8/ROYWf6PnQ=" }, "commons-io#commons-io/2.11.0": { "jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=", "pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k=" }, - "commons-logging#commons-logging/1.2": { - "jar": "sha256-2t3qHqC+D1aXirMAa4rJKDSv7vvZt+TmMW/KV98PpjY=", - "pom": "sha256-yRq1qlcNhvb9B8wVjsa8LFAIBAKXLukXn+JBAHOfuyA=" + "dev/equo/ide#solstice/1.7.5": { + "jar": "sha256-BuFLxDrMMx2ra16iAfxnNk7RI/mCyF+lEx8IF+1lrk8=", + "module": "sha256-eYp7cGdyE27iijLt2GOx6fgWE6NJhAXXS+ilyb6/9U8=", + "pom": "sha256-20U7urXn2opDE5sNzTuuZykzIfKcTZH1p5XZ/2xS3d8=" }, - "edu/sc/seis/launch4j#edu.sc.seis.launch4j.gradle.plugin/2.5.4": { - "pom": "sha256-0kiTtasyoeS0aMK/2OoTMqA9qBFFhgpuz3e/bM6fE6c=" + "edu/sc/seis/launch4j#edu.sc.seis.launch4j.gradle.plugin/3.0.5": { + "pom": "sha256-Nplw/agsRFMGIjSqxiwBbqw5nY8C2VKdUe28QY0fzPs=" }, - "edu/sc/seis/launch4j#launch4j/2.5.4": { - "jar": "sha256-ItJxFUklmcsCnJcoo1nKPuEHXuoMVNMCLP9l8CNB734=", - "module": "sha256-36qMMXxT12p0b8RM8T8onfxF/6dx1e9gRkinCOMv8bA=", - "pom": "sha256-x3C0urW9xQxP3xKUkCBdFmfYKEwGLK5wS7vGy2xXKv8=" + "edu/sc/seis/launch4j#launch4j/3.0.5": { + "jar": "sha256-4x62k3vvPwCsxAPkraf7ihY4ATiQ0bNSVmiFBocx7WM=", + "module": "sha256-+hiZBJpE2pdEnjoBvCx9rC01t0npPPdsBDSuzjT9ux8=", + "pom": "sha256-UvTlC0T2dzuebNq7jmmveQc4IW+8ZxJ1G77tGKFCknk=" }, - "gradle/plugin/com/github/johnrengelman#shadow/7.1.2": { - "jar": "sha256-v3BcwupcAYCqhwoPqAs5vxOhTScSjh6zpLZ0vjT1jpA=", - "pom": "sha256-H6qwvkF9ezxBqXzKCsqKWwtkBvw7Etfyjiw0Ex3/k0o=" + "io/fabric8#kubernetes-client-bom/5.12.2": { + "pom": "sha256-6qA8FpVlaNVKa6Q31J1Ay/DdjpOXf5hDGCQldrZQvDs=" }, "io/github/x-stream#mxparser/1.2.2": { "jar": "sha256-ru7iOjMD2BG8qHkOp/JbU0MUhhwDz/Ntr9zCGAlp65c=", "pom": "sha256-I1AiQk4S8zGB9iraGcxEKAGbaXZXw8OSzjVxYKQi+qg=" }, - "net/sf/launch4j#launch4j/3.14": { - "pom": "sha256-xEYpdod2nJWyb2Qg9zsr0qKd90TYllTAdKhVb2Is+Vs=" + "io/netty#netty-bom/4.1.86.Final": { + "pom": "sha256-EnFsH+ZM9b2qcETTfROq46iIIbkdR5hCDEanR2kXiv0=" }, - "net/sf/launch4j#launch4j/3.14/core": { - "jar": "sha256-pGVAv4Nrz3s1AHM9n6f1muzYyDeUJz5zZlWrLKdXYjA=" + "jakarta/platform#jakarta.jakartaee-bom/9.0.0": { + "pom": "sha256-kZA9Ddh23sZ/i5I/EzK6cr8pWwa9OX0Y868ZMHzhos4=" }, - "org/apache#apache/13": { - "pom": "sha256-/1E9sDYf1BI3vvR4SWi8FarkeNTsCpSW+BEHLMrzhB0=" + "jakarta/platform#jakartaee-api-parent/9.0.0": { + "pom": "sha256-9l3PFLbh2RSOGYo5D6/hVfrKCTJT3ekAMH8+DqgsrTs=" }, - "org/apache#apache/19": { - "pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8=" + "net/sf/launch4j#launch4j/3.50": { + "pom": "sha256-1716EuPm1bR/Ou0p/4g89cTKnie3GWkQZnkzH6N+xy0=" + }, + "net/sf/launch4j#launch4j/3.50/core": { + "jar": "sha256-2U8eT20fHhl9Es7vpwot75OMzxbig+mjx0Cmb/WGvW8=" }, "org/apache#apache/23": { "pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw=" }, - "org/apache/ant#ant-launcher/1.10.11": { - "jar": "sha256-2rUw33qYC1rI/X6NIIJDrg0+vW3gmxqiznVjYMwu0lY=", - "pom": "sha256-7SoGiCYb624I7FSzgxLx1ILM8aO4Y8R9KNW5CkRtHB4=" + "org/apache#apache/27": { + "pom": "sha256-srD8aeIqZQw4kvHDZtdwdvKVdcZzjfTHpwpEhESEzfk=" }, - "org/apache/ant#ant-parent/1.10.11": { - "pom": "sha256-V6BTJoLzD6MHQWoiWSnVcQrNpy17Je4IyvmNyCzTXbY=" + "org/apache#apache/29": { + "pom": "sha256-PkkDcXSCC70N9jQgqXclWIY5iVTCoGKR+mH3J6w1s3c=" }, - "org/apache/ant#ant/1.10.11": { - "jar": "sha256-iMC4m7uq4B4Nn8rpO+eS9au+NAkQb47uhY/fNl28B1Q=", - "pom": "sha256-wiiU2ctGq/XOv27rK8z+TXjhju6jEaDqat3VnftLH+M=" + "org/apache/ant#ant-launcher/1.10.13": { + "jar": "sha256-zXaVs7+2lkq3G2oLMdrWAAWud/5QITI2Rnmqzwj3eXA=", + "pom": "sha256-ApkvvDgFU1bzyU0B6qJJmcsCoJuqnB/fXqx2t8MVY8o=" }, - "org/apache/commons#commons-parent/34": { - "pom": "sha256-Oi5p0G1kHR87KTEm3J4uTqZWO/jDbIfgq2+kKS0Et5w=" + "org/apache/ant#ant-parent/1.10.13": { + "pom": "sha256-blv8hwgiFD8f+7LG8I7EiHctsxSlKDMC9IFLEms0aTk=" }, - "org/apache/commons#commons-parent/47": { - "pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc=" + "org/apache/ant#ant/1.10.13": { + "jar": "sha256-vvv8eedE6Yks+n25bfO26C3BfSVxr0KqQnl2/CIpmDg=", + "pom": "sha256-J5NR7tkLj3QbtIyVvmHD7CRU48ipr7Q7zB0LrB3aE3o=" }, "org/apache/commons#commons-parent/52": { "pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4=" }, - "org/apache/logging#logging-parent/3": { - "pom": "sha256-djouwrgJTUFh3rbCZLEmIIW5vjC/OjHCzhNyQuV3Iqc=" + "org/apache/commons#commons-parent/58": { + "pom": "sha256-LUsS4YiZBjq9fHUni1+pejcp2Ah4zuy2pA2UbpwNVZA=" }, - "org/apache/logging/log4j#log4j-api/2.17.1": { - "jar": "sha256-sNikyKtPuLGIjQCVgicDsObUeTxBlVAgPanmkZYWHeQ=", - "pom": "sha256-HirO8yILKb4QrgmXKLFYsY2UP5Ghk8xFAbtC+SnB6Io=" + "org/apache/logging#logging-parent/7": { + "pom": "sha256-5YkR3J/GsXOhDlqp7bk8eZStBmAnBd0Gftz8bh6eFys=" }, - "org/apache/logging/log4j#log4j-core/2.17.1": { - "jar": "sha256-yWfyI0h5gLk2TpSnx/mooB/T7nwZvb8LD5+MuFEfPUE=", - "pom": "sha256-C7s79tTSKhv6PDwJJ8KUEK8UoPsm47Ark3JvXH6Yqv0=" + "org/apache/logging/log4j#log4j-api/2.20.0": { + "jar": "sha256-L0PupnnqZvFMoPE/7CqGAKwST1pSMdy034OT7dy5dVA=", + "pom": "sha256-zUWDKj1s0hlENcDWPKAV8ZSWjy++pPKRVTv3r7hOFjc=" }, - "org/apache/logging/log4j#log4j/2.17.1": { - "pom": "sha256-lnq8AkRDqcsJaTVVmvXprW8P9hN1+Esn1EDS+nCAawk=" + "org/apache/logging/log4j#log4j-bom/2.20.0": { + "pom": "sha256-+LtpLpWmt72mAehxAJWOg9AGG38SMlC2gSiUOhlenaE=" }, - "org/beryx#badass-runtime-plugin/1.13.0": { - "jar": "sha256-ekslb9N9F6TK7Ms2hpeKmzRYW7WbXxmhmCzwYX+q86g=", - "module": "sha256-FdSu+57WOootchnvCNjEY6VztDoF2UiBAeUmgx3pmMA=", - "pom": "sha256-0bql4D6Gy4kd5e9l0OYNlowgT6/5EQ2TWFmX3EoZW9E=" + "org/apache/logging/log4j#log4j-core/2.20.0": { + "jar": "sha256-YTffhIza7Z9NUHb3VRPGyF2oC5U/TnrMo4CYt3B2P1U=", + "pom": "sha256-3nGsEAVR9KB3rsrQd70VPnHfeqacMELXZRbMXM4Ice4=" }, - "org/beryx/runtime#org.beryx.runtime.gradle.plugin/1.13.0": { - "pom": "sha256-xlrrkFABYYEdS2cOwaKcaTL5gk5hI00vWQNCJaDSSRg=" + "org/apache/logging/log4j#log4j/2.20.0": { + "pom": "sha256-mje0qPZ+jUG8JHNxejAhYz1qPD8xBXnbmtC+PyRlnGk=" }, - "org/codehaus/plexus#plexus-utils/3.4.1": { - "jar": "sha256-UtheBLORhyKvEdEoVbSoJX35ag52yPTjhS5vqoUfNXs=", - "pom": "sha256-sUTP+bHGJZ/sT+5b38DzYNacI6vU6m5URTOpSbaeNYI=" + "org/beryx#badass-runtime-plugin/1.13.1": { + "jar": "sha256-IW3RL1SacHD31B2wTupXAaF5Z0mzVerAzkMVLs0DGBc=", + "module": "sha256-Jf4I7QwECTJuc38vDJ/7BhyFQihl53ATdMOVyjpy9PA=", + "pom": "sha256-qZgenE/Me3hqUL+/IW93EBgs27ECjqsGiavMYeS37XI=" }, - "org/codehaus/plexus#plexus/8": { - "pom": "sha256-/6NJ2wTnq/ZYhb3FogYvQZfA/50/H04qpXILdyM/dCw=" + "org/beryx/runtime#org.beryx.runtime.gradle.plugin/1.13.1": { + "pom": "sha256-7SsiPX22wuiujLyvq8E96b0kKfwfNMtEFVh0jJCBu+U=" }, - "org/eclipse/jgit#org.eclipse.jgit-parent/5.13.1.202206130422-r": { - "pom": "sha256-3mX8du2PRKV3he4WSRjcPU9V7j/qake8fLG6oZ7xvIM=" + "org/codehaus/groovy#groovy-bom/3.0.14": { + "pom": "sha256-JODptzjecRjennNWD/0GA0u1zwfKE6fgNFnoi6nRric=" }, - "org/eclipse/jgit#org.eclipse.jgit/5.13.1.202206130422-r": { - "jar": "sha256-1nk2WmyOVcFJZwEJn15XZUM/aNy2WXWUFrpbIi61BVw=", - "pom": "sha256-PMS+v5yTZXjq4rbST7KpEtiZk6VP0OL7wcirwEmHhRU=" + "org/codehaus/plexus#plexus-utils/3.5.1": { + "jar": "sha256-huAlXUyHnGG0gz7X8TEk6LtnnfR967EnMm59t91JoHs=", + "pom": "sha256-lP9o7etIIE0SyZGJx2cWTTqfd4oTctHc4RpBRi5iNvI=" }, - "org/jdom#jdom2/2.0.6": { - "jar": "sha256-E0XxG6YG0VYD1nQFUajCGUfAIVZAdw7GcnH+eL6pfPU=", - "pom": "sha256-R7I6ef4za3QbgkNMbgSdaBZSVuQF51wQkh/XL6imXY0=" + "org/codehaus/plexus#plexus/10": { + "pom": "sha256-u6nFIQZLnKEyzpfMHMfrSvwtvjK8iMuHLIjpn2FiMB8=" + }, + "org/eclipse/ee4j#project/1.0.6": { + "pom": "sha256-Tn2DKdjafc8wd52CQkG+FF8nEIky9aWiTrkHZ3vI1y0=" + }, + "org/eclipse/jetty#jetty-bom/9.4.50.v20221201": { + "pom": "sha256-TN5uUz1gHq+LZazulWt3BsGBkvJ1XQI9fo0Zu31bOUM=" + }, + "org/eclipse/jgit#org.eclipse.jgit-parent/6.7.0.202309050840-r": { + "pom": "sha256-u56FQW2Y0HMfx2f41w6EaAQWAdZnKuItsqx5n3qjkR8=" + }, + "org/eclipse/jgit#org.eclipse.jgit/6.7.0.202309050840-r": { + "jar": "sha256-tWRHfQkiQaqrUMhKxd0aw3XAGCBE1+VlnTpgqQ4ugBo=", + "pom": "sha256-BNB83b8ZjfpuRIuan7lA94HAEq2T2eqCBv4KTTplwZI=" + }, + "org/eclipse/platform#org.eclipse.osgi/3.18.300": { + "jar": "sha256-urlD5Y7dFzCSOGctunpFrsni2svd24GKjPF3I+oT+iI=", + "pom": "sha256-4nl2N1mZxUJ/y8//PzvCD77a+tiqRRArN59cL5fI/rQ=" + }, + "org/gradle/kotlin#gradle-kotlin-dsl-plugins/4.3.1": { + "jar": "sha256-j8X5xgrEWoeaQXdoEbWf0s5cWtXkJW8S18i+rFCkHcg=", + "module": "sha256-k+eJyXjl4QG8QXfLsnmFQSvMtpNtsA7MQeYoG4QD/F4=", + "pom": "sha256-Fr3gZfWofPRP3FD5xbYNMS9xOgwbyq4AixJItHhojAo=" + }, + "org/gradle/kotlin/kotlin-dsl#org.gradle.kotlin.kotlin-dsl.gradle.plugin/4.3.1": { + "pom": "sha256-Oispc8Afy2j0kx8ZbNeLAzctoWrBYmqOPWMYVkNqlOc=" + }, + "org/jdom#jdom2/2.0.6.1": { + "jar": "sha256-CyD0XjoP2PDRLNxTFrBndukCsTZdsAEYh2+RdcYPMCw=", + "pom": "sha256-VXleEBi4rmR7k3lnz4EKmbCFgsI3TnhzwShzTIyRS/M=" }, "org/jetbrains#annotations/13.0": { "jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=", "pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c=" }, - "org/jetbrains/kotlin#kotlin-reflect/1.6.21": { - "jar": "sha256-Hh9XIJ9yOMP9FzWhuTOaVlZVB9yiSfg3G/WdkfYBrqo=", - "pom": "sha256-2nHh493COI1nVkFnLi8DFtucnSEvlG8CbUoOahM2p/M=" + "org/jetbrains/intellij/deps#trove4j/1.0.20200330": { + "jar": "sha256-xf1yW/+rUYRr88d9sTg8YKquv+G3/i8A0j/ht98KQ50=", + "pom": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k=" }, - "org/jetbrains/kotlin#kotlin-stdlib-common/1.6.21": { - "jar": "sha256-GDvsWc2fOhSVexkOjIec8RlL0fEGsKe24cu4eQ0kI2M=", - "pom": "sha256-W8FW7nP9PC2sil7FSNWBtjMzNUfC/r7Zz2VH//FSa6I=" + "org/jetbrains/kotlin#kotlin-android-extensions/1.9.22": { + "jar": "sha256-Hl6IFkKpnduPbRPmmVoIwZK8OEGHOWZj2ER8CB2H4k8=", + "pom": "sha256-lEt8+zPgpvtoRVkEjwKMuWMmyTKiRdXLAhQ7zSwDEVk=" }, - "org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.6.21": { - "jar": "sha256-8bBjTbuUFyA4RjAguy3UXKJoSfjOKdYlrLDxVp0R2+4=", - "pom": "sha256-ARzSjruf3oFrA1nVrhCjZ07A/yxTEMBBLCDv6Oo9oG4=" + "org/jetbrains/kotlin#kotlin-android-extensions/1.9.23": { + "jar": "sha256-Yf12SPkx/06b2/9JvwmHcFdj+7qce7ALJkgRo20RGsE=", + "pom": "sha256-0+vFk7FzrT4tHiVgtpwzFKRpDI2jJ0ch6DqWrtwWEaA=" }, - "org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.6.21": { - "jar": "sha256-2rRUibR3NtWfzkS4BnbxlHqba8qxD9YOh4qDvYKmlUw=", - "pom": "sha256-g2oReaCNJJFGl9JhLgO4SKCHyAy0sMoj+c+rJH86dcQ=" + "org/jetbrains/kotlin#kotlin-assignment-compiler-plugin-embeddable/1.9.22": { + "jar": "sha256-KmHdIZ/tvlMYo7HiPA9zm0XtG1sksLZzdRm3hF6Alfg=", + "pom": "sha256-nbJr6D8/Y8Uf972pHjpqQNTDTaAj5ilsAQW7SqZvzJI=" }, - "org/jetbrains/kotlin#kotlin-stdlib/1.6.21": { - "jar": "sha256-c5xSZnK7M3Vzso9jr6gwbrCIsMOgln9W1sifSjASpJI=", - "pom": "sha256-zkJyW6Ab2DbNqmZ9l032hL9vjxXng5JjMgraf/quHzQ=" + "org/jetbrains/kotlin#kotlin-assignment/1.9.22": { + "module": "sha256-bxIe+E4ozzMG/eTDHVXC2D14RPJLDnslZfh7Apn7sx0=", + "pom": "sha256-9kQYoM3bm9hQ96/CasjyPon7ptlgSNqnNZVWJ5AgbwA=" + }, + "org/jetbrains/kotlin#kotlin-assignment/1.9.22/gradle82": { + "jar": "sha256-SbgHX6DiGLoRuhim9yUE38XwOZQovs8Ta9yHHceBgMU=" + }, + "org/jetbrains/kotlin#kotlin-build-tools-api/1.9.22": { + "jar": "sha256-3UnLfij08zgvUlDPsFyGT9XwqW0yZbspPHezCtzJP/Y=", + "pom": "sha256-DFZLu4fcXs32Q005buob886Xar8IgYCN0Wb6SbBGSfs=" + }, + "org/jetbrains/kotlin#kotlin-build-tools-api/1.9.23": { + "jar": "sha256-gvhH4lRXtGSDfv7x2oUC7JJTLedAbnkgUWbODs9PxSE=", + "pom": "sha256-CWkjtiXJfGZzZ5ZsxM6Sv5TE6f98U8sdOEhgEax1DVg=" + }, + "org/jetbrains/kotlin#kotlin-compiler-embeddable/1.9.22": { + "jar": "sha256-K/6t7lmrGYjDNtvW5l2ZH3Zq4d2Gg/Km3tX6oCefDKA=", + "pom": "sha256-s9o0u29ClqzzoPRDRm8FBsbJnaXNliTW4LdFsiKHhOs=" + }, + "org/jetbrains/kotlin#kotlin-compiler-embeddable/1.9.23": { + "jar": "sha256-zJQGSXS/nr9ZlF4xIXzy0WoM66rySH6wdI/By9F4eUM=", + "pom": "sha256-WLI81NgtWqkWpcnMmbMhjuxVaWBoova3C+3fbDaR/RU=" + }, + "org/jetbrains/kotlin#kotlin-compiler-runner/1.9.22": { + "jar": "sha256-c+x1u5nr/6iySiSjuFPz9mCWvEapNRrw2sk967acFes=", + "pom": "sha256-pO6KZ8HW8lODjAAnKAvLgFCsDc3MrZdIlhOKaaAX6wE=" + }, + "org/jetbrains/kotlin#kotlin-compiler-runner/1.9.23": { + "jar": "sha256-yFlaPhcRx0U8f5YKrxKhcNtL2j1vy6Sf/I4yy/0ADKE=", + "pom": "sha256-KebjEpGbdf6aOHjflRHPQhDcJuWTQcsu4iSDt7Tgcv4=" + }, + "org/jetbrains/kotlin#kotlin-daemon-client/1.9.22": { + "jar": "sha256-XXPhgVsRZ+Sv4gjwCyp1wIC8WoEHhsqtuOFHh1k6k7k=", + "pom": "sha256-YsRKZZ2lXbb7El4pKbmNUEow4fSvgU4I5JIUJqpST4o=" + }, + "org/jetbrains/kotlin#kotlin-daemon-client/1.9.23": { + "jar": "sha256-5jFUJUkZ/XBv6ZN8SNuTfqkGimMfht5lWlFLwWIPmI0=", + "pom": "sha256-X70GastuQIU5gCdsaDUWmSj2Zqt8RlEsJvJMnQMIF9M=" + }, + "org/jetbrains/kotlin#kotlin-daemon-embeddable/1.9.22": { + "jar": "sha256-kqV4ExcUR9U0Rh+hP+N9yM07f4bYPpsfe7GwvjBUH4s=", + "pom": "sha256-9uo9z2v7Og0GmER8SKa88I2Oqs+D/JX+nUGBpeXjwrE=" + }, + "org/jetbrains/kotlin#kotlin-daemon-embeddable/1.9.23": { + "jar": "sha256-bztmG5gmetJOL4+3rV0Gvn0u1hpdBcJn9OTKp433g9k=", + "pom": "sha256-WFRgOL5Go4NmOFPRMd12xPsnQ4MLqXt0sno1zxAtPQI=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/1.9.22": { + "jar": "sha256-lnaDy5jZkQFFYH+/W0VilbQ/Cq+Tsbunv2mS5zHLJOw=", + "pom": "sha256-Y7por+B4/3D3CPnpecaTxFv+iQQfeWQbC4H2tKEm7rs=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-annotations/1.9.23": { + "jar": "sha256-HaitBgpbw4KwTxVycdPNrWgwcUovTfSvfEAIjUuSIWQ=", + "pom": "sha256-69aRc06Qr9Wj6PoqkTrw+Q6YL4a6IYWhcDIqGwiQpgU=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-api/1.9.22": { + "jar": "sha256-7P9nVGBlxg4JX7k7P4i5uS7R7cN+P+u8b57TVCL6QSs=", + "module": "sha256-H0SJxTBPmlEqVof/zAqvCTCvydcgUdOpBfrAcANi+3s=", + "pom": "sha256-ZAFewaGutVCqGCjCQuIoODDFD2g2TkCDH+FYj9wEEfU=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-api/1.9.22/gradle82": { + "jar": "sha256-7P9nVGBlxg4JX7k7P4i5uS7R7cN+P+u8b57TVCL6QSs=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-api/1.9.23": { + "jar": "sha256-WTzAhC1fwJe5XgpgK/+Mekifc3Q7hzywuO7JL86KQVs=", + "module": "sha256-zmi7IanW8gt7DnKf4y+aVHu2SyXjEPD14vcMUJ1n7cQ=", + "pom": "sha256-WMjnhsjGUvTpgqQlh5FZTL4L+JKiaGCVTKa1Ue7mN+8=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/1.9.22": { + "jar": "sha256-9dgu5hlmotmK364Z8k1hcwIsFUBIls3yNjQANe5owPU=", + "pom": "sha256-huMsqCkn2ogKHPNDpA7MIJgHXm/XInOzTVDfpUTzRjs=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-idea-proto/1.9.23": { + "jar": "sha256-i7/a0U08PFCzK/a/4PHHAnvlQoXEba95gnz5O1y0PX8=", + "pom": "sha256-x0cp9NYFkAEhZptBEO1FuvVeB1q1O2OmQrkLOv95NCI=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-idea/1.9.22": { + "jar": "sha256-jRr4djLZUUjxIqn6CuKQPBnub6t9AeAX924NLJoCLCA=", + "module": "sha256-z+LCbjMPaAMsAD+lJMAx5aYPzo2Jn/8uQjFBKL60QCs=", + "pom": "sha256-3BSjKHVDun5QRs1OCVAtJ4hMqYfshwb1+xid54luOsw=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-idea/1.9.23": { + "jar": "sha256-jRr4djLZUUjxIqn6CuKQPBnub6t9AeAX924NLJoCLCA=", + "module": "sha256-G+uiuitRE94FM+UV4X9W1TZOm1QiX/MftNj+yfcV2Cw=", + "pom": "sha256-KemtQ1rc9Q/ljTiQ65lePyuNdQEZqaEsIfwwo2DNCOA=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-model/1.9.22": { + "jar": "sha256-UQj61b4UmCXs46ABA8PCHPGv6VS7ZLhweJVyk511OMs=", + "module": "sha256-L/MBPfK6epteiwBOhIF1DI0PqVOtAHoZbYXSY2cdvq4=", + "pom": "sha256-gfUmlHml2X7oeSpITIMr495DgggSZxlhUAHKyI5C9qg=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin-model/1.9.23": { + "jar": "sha256-Pljfrl5D/Ig2X1LfOjRCCMAQDJdacqlKLEoJ9mHTIxc=", + "module": "sha256-Evmlol5YCDEXnl2jBJoBMRi9B2zeCkUuZo8qsWCaz70=", + "pom": "sha256-sh8qITWUXCtLatLIi+Dnl1WH9HVgiTnn23sG2CfQNXg=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin/1.9.22": { + "module": "sha256-pPRqwMq9jVzbaJ0tN9GdWFhPcIv59k/+TpgKL/dTS7U=", + "pom": "sha256-A3750tSupA9JKdglE1g+STwOBRVuDaix1/Ujurhobyc=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin/1.9.22/gradle82": { + "jar": "sha256-1OcY3V8wxrqTLZPM/FswFendPkQUOgUrh3Ao8frlQtw=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin/1.9.23": { + "module": "sha256-YL2BUHBNWByO6tTBlAh26LAor+ixS0lAEMUJIEclRKc=", + "pom": "sha256-TgznuA0cN7kRzb/kFf77ZdzvGCalGLF3vWAvlaloqMU=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugin/1.9.23/gradle82": { + "jar": "sha256-vMdKB8ad0RyUsmCx7ophiWlinMrqwubqCnedo8P37D8=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugins-bom/1.9.22": { + "module": "sha256-Qj401h0iCxoN3BgUCGqM6rTa2ed5ArDOjLRyG789xu0=", + "pom": "sha256-da2/XHjOJHwiuvNijQs/8c9+19N9YB66cwTXerdb3Z8=" + }, + "org/jetbrains/kotlin#kotlin-gradle-plugins-bom/1.9.23": { + "module": "sha256-1yNF4lW/IKOperXQEIa2CMXX0M8/Z3inHoXKy61BQlo=", + "pom": "sha256-2Ive7tm5RMrHGM3PKUD4FdgiXuzNIb7KB93QgfDSQow=" + }, + "org/jetbrains/kotlin#kotlin-klib-commonizer-api/1.9.22": { + "jar": "sha256-jC9lQpwYLi5KLgnLkQ5iuW227tKFWUuPga+CO35ZROI=", + "pom": "sha256-EMrJcNMAo0icM/CzBBVv8DLZWVm+WqrDuIAoKtWGIv4=" + }, + "org/jetbrains/kotlin#kotlin-klib-commonizer-api/1.9.23": { + "jar": "sha256-XfEWTbHDRdhtChqkFJCeNnr7l4L+P7yvDir3qL9iuDk=", + "pom": "sha256-sSWp19ccGThHr5KiJxxlUbPSl1VFSxyF03SySudVwz4=" + }, + "org/jetbrains/kotlin#kotlin-native-utils/1.9.22": { + "jar": "sha256-eGwSfdVTXbLDmuWXzQsMrZ6RS4PiNvHbAlEjXMnGUqw=", + "pom": "sha256-EcUUwF7qOuno4Wq0l5bxEd9DxzSCMeNfr0xCjMT3Q+o=" + }, + "org/jetbrains/kotlin#kotlin-native-utils/1.9.23": { + "jar": "sha256-X9AUhb1z5he+VWv/SZL/ASquufDZwAhPN8tdiKO8rYQ=", + "pom": "sha256-eCaL6luL9QqV7nYxKuNjzAvWqt1d9HQwrBNaIG7467Y=" + }, + "org/jetbrains/kotlin#kotlin-project-model/1.9.22": { + "jar": "sha256-zBHVwLGQnFsKCP0l7w51T/0r9Wyu9mX7eFEiI15UKhg=", + "pom": "sha256-659KFngb/ADM7IAw++XuIo5vKydxxQwmezIY/rAGW0A=" + }, + "org/jetbrains/kotlin#kotlin-project-model/1.9.23": { + "jar": "sha256-j8s85RKrtFLX1DHbssMS1cRQXRdiSTtRsQavwUfZk2c=", + "pom": "sha256-nvSy89nZ9Zqwwr9+uO92MgUUmTjg540qIxxHiSHHl0U=" + }, + "org/jetbrains/kotlin#kotlin-reflect/1.6.10": { + "jar": "sha256-MnesECrheq0QpVq+x1/1aWyNEJeQOWQ0tJbnUIeFQgM=", + "pom": "sha256-V5BVJCdKAK4CiqzMJyg/a8WSWpNKBGwcxdBsjuTW1ak=" + }, + "org/jetbrains/kotlin#kotlin-reflect/1.9.22": { + "jar": "sha256-d/MRyhOEgR1Rn9o4n8sSaL2qBY1gUEbg7edsA7DfPpc=", + "pom": "sha256-xxLjWN97kxi2j1RjlxsIhnODf8DKQoXRw4LIEC7da18=" + }, + "org/jetbrains/kotlin#kotlin-sam-with-receiver-compiler-plugin-embeddable/1.9.22": { + "jar": "sha256-jqUUoRQABsxXoHMVsVoTaI7W/qFwfzrJjpzoCVu2z38=", + "pom": "sha256-MM9L0JPCbn/Ryt/F1Qop5q60WXUSeia84rEJUfJPgqo=" + }, + "org/jetbrains/kotlin#kotlin-sam-with-receiver/1.9.22": { + "module": "sha256-7rpm+YBjiXkSCkm5/aW4YeEHLWCQIzi1NyYH8kljDC0=", + "pom": "sha256-AD+clOG/rX8ZDm70F+kTOhCjH3hRMBPlkHS2DzZZLCY=" + }, + "org/jetbrains/kotlin#kotlin-sam-with-receiver/1.9.22/gradle82": { + "jar": "sha256-cvvN3L25ZaQ9uWfLKjGaXXp3NttQrCA8lrmatVc5wkE=" + }, + "org/jetbrains/kotlin#kotlin-script-runtime/1.9.22": { + "jar": "sha256-uAZwV59/ktRz2NWDTwsST3dVxFmP6UskQYOwKDSDRXQ=", + "pom": "sha256-/ra0ns9pEG1MEoXnH5ob2noSfO9oMC4+n9yCmKTjR5U=" + }, + "org/jetbrains/kotlin#kotlin-scripting-common/1.9.22": { + "jar": "sha256-+lAMvwNJQ++BJvPT3GWvCf+Z3//kTFCZtPwu1b8vXcc=", + "pom": "sha256-ROURI7DCfm/ZM/wma00Nrw8GhKYq7Z/mhC6Noz8qKz8=" + }, + "org/jetbrains/kotlin#kotlin-scripting-common/1.9.23": { + "jar": "sha256-ii5Wfz2/Nz5hwBrNeIRjHshThGWrjul4rGMpb4zJr0Y=", + "pom": "sha256-/CiXW5TcQMDZD9EXXiKxtka60sY368+fT2qy1Oe8XdU=" + }, + "org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/1.9.22": { + "jar": "sha256-Ij/shIMCNEmc1MeiPqHJLroSfEGzXZux1LYdJBVa6zU=", + "pom": "sha256-wWCPP7yyqfdSPq0zWZwurc5MgSFhqeBmufSwBa97Qxw=" + }, + "org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/1.9.23": { + "jar": "sha256-e4A5/wt3nVVs7QCSMDWr0TNPDl8qiHlhgtArpF+SbSA=", + "pom": "sha256-7Y6//r5Ume1iSG+oGBJ7td1QHXTEq5XFfnwB7z+NuWg=" + }, + "org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/1.9.22": { + "jar": "sha256-OJkYFqKH/3YkHxp35/ERZIHU6To9tjJZplfd4g5tD2U=", + "pom": "sha256-gmccM6lXsuKoINZqaSwvzmPjvwR/HLJeb7A5HF3c8uc=" + }, + "org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/1.9.23": { + "jar": "sha256-kOU90S9i3NgjQ8EsDLMUrc/wy8OYjtsRjR5miZYOnWM=", + "pom": "sha256-923kmO12xGroZlZnmAf3J2EiPD+hChExgyAGpKs5Xe0=" + }, + "org/jetbrains/kotlin#kotlin-scripting-jvm/1.9.22": { + "jar": "sha256-jRJ9dvz6BRfDbB6g4ijs4D1aRoJkKgH2R5prvccxKik=", + "pom": "sha256-cBJS6huo/4f8M0dqYePVxtnS3aQbqpiZTdaYDuE/vG0=" + }, + "org/jetbrains/kotlin#kotlin-scripting-jvm/1.9.23": { + "jar": "sha256-0/yn7JUf94Jvl6dZifjcr/YM+eHna73CIO33eDdqbmQ=", + "pom": "sha256-4u8r+y628hp7croS7cWaFQx/IXbCssVP4uhg7oAjDYc=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-common/1.9.22": { + "module": "sha256-+Tyemr+NUtjo/Y6FGqgC7OxVEyFhxK7ufTzZJL95QkY=", + "pom": "sha256-10k21oh1ZK63EOhCmLVCB/U+m88jpSrSv6IsIIZ3V2c=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.8.21": { + "pom": "sha256-m7EH1dXjkwvFl38AekPNILfSTZGxweUo6m7g8kjxTTY=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk7/1.9.10": { + "jar": "sha256-rGNhv5rR7TgsIQPZcSxHzewWYjK0kD7VluiHawaBybc=", + "pom": "sha256-x/pnx5YTILidhaPKWaLhjCxlhQhFWV3K5LRq9pRe3NU=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.8.21": { + "pom": "sha256-ODnXKNfDCaXDaLAnC0S08ceHj/XKXTKpogT6o0kUWdg=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-jdk8/1.9.10": { + "jar": "sha256-pMdNlNZM4avlN2D+A4ndlB9vxVjQ2rNeR8CFoR7IDyg=", + "pom": "sha256-X0uU3TBlp3ZMN/oV3irW2B9A1Z+Msz8X0YHGOE+3py4=" + }, + "org/jetbrains/kotlin#kotlin-stdlib/1.9.22": { + "jar": "sha256-ar4UbCeGQTi4dMzM/l9TTj65I8maG3tdRUlO5WlPPgo=", + "module": "sha256-9IIxS1B5wUVfb7DUJXp0XRAcYSTOlhUiuob53JCQHkc=", + "pom": "sha256-zOLxUoXsgHijd0a1cwigVAQt1cwlQgxD9zt4V8JGjwM=" + }, + "org/jetbrains/kotlin#kotlin-tooling-core/1.9.22": { + "jar": "sha256-iTjrl+NjINqj5vsqYP0qBbIy/0pVcXPFAZ8EW4gy2fQ=", + "pom": "sha256-FPx/NcY15fzRvqU3q0+kQxLoQyUtUzNRnjaxJeoImyE=" + }, + "org/jetbrains/kotlin#kotlin-tooling-core/1.9.23": { + "jar": "sha256-iTjrl+NjINqj5vsqYP0qBbIy/0pVcXPFAZ8EW4gy2fQ=", + "pom": "sha256-fiA0VIj7v1uf6ZeHNgvT7HRKb+qRppm9EbVhwygbB9g=" + }, + "org/jetbrains/kotlin#kotlin-util-io/1.9.22": { + "jar": "sha256-9telhJGjeLCDrRvq1IikheEdFgsx52wYwa1SDx0o9Gs=", + "pom": "sha256-ZP1qINbsBAE7ttdWJ/ZYC7c2QdlIkJ1cFmTi53MQbe4=" + }, + "org/jetbrains/kotlin#kotlin-util-io/1.9.23": { + "jar": "sha256-em3OQOeKy+Zvx9Z463Qch3hFo8/Rx2xNK7+OyEXS2Sk=", + "pom": "sha256-rNHyN4Ce4nWpwJ5EAt1FOdBN7DaMCQbsecP4A6vwZ8g=" + }, + "org/jetbrains/kotlin#kotlin-util-klib/1.9.22": { + "jar": "sha256-pnnuL1EPOrkmkYGN5etbCQLobYjJdnTn20TcTyJSxfk=", + "pom": "sha256-Dep9//Cit0CIrJlwQ8vCQINdK/9Zs5/MiwysbqPrNpc=" + }, + "org/jetbrains/kotlin#kotlin-util-klib/1.9.23": { + "jar": "sha256-5AGLa4+8keTQo3q4HAUKgTloaAdRCM2FCCuSXHnTvG0=", + "pom": "sha256-+z5FhH1dIS5MK120RFGQPJ4fDjL2mH4fWbnMEcTDiYo=" + }, + "org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.5.0": { + "jar": "sha256-eNbMcTX4TWkv83Uvz9H6G74JQNffcGUuTx6u7Ax4r7s=", + "module": "sha256-yIXdAoEHbFhDgm3jF+PLzcPYhZ2+71OuHPrNG5xg+W4=", + "pom": "sha256-U2IuA3eN+EQPwBIgGjW7S9/kAWTv7GErvvze7LL/wqs=" }, "org/junit#junit-bom/5.7.2": { "module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=", "pom": "sha256-zRSqqGmZH4ICHFhdVw0x/zQry6WLtEIztwGTdxuWSHs=" }, - "org/ow2#ow2/1.5": { - "pom": "sha256-D4obEW52C4/mOJxRuE5LB6cPwRCC1Pk25FO1g91QtDs=" + "org/junit#junit-bom/5.9.1": { + "module": "sha256-kCbBZWaQ+hRa117Og2dCEaoSrYkwqRsQfC9c3s4vGxw=", + "pom": "sha256-sWPBz8j8H9WLRXoA1YbATEbphtdZBOnKVMA6l9ZbSWw=" }, - "org/ow2/asm#asm-analysis/9.2": { - "jar": "sha256-h4++UhcxwHLRTS1luYOxvq5q0G/aAAe2qLroH3P0M8Q=", - "pom": "sha256-dzzBor/BTGxKl5xRoHXAI0oL9pT8Or5PrPRU83oUXxs=" + "org/junit#junit-bom/5.9.3": { + "module": "sha256-tAH9JZAeWCpSSqU0PEs54ovFbiSWHBBpvytLv87ka5M=", + "pom": "sha256-TQMpzZ5y8kIOXKFXJMv+b/puX9KIg2FRYnEZD9w0Ltc=" }, - "org/ow2/asm#asm-commons/9.2": { - "jar": "sha256-vkzlMTiiOLtSLNeBz5Hzulzi9sqT7GLUahYqEnIl4KY=", - "pom": "sha256-AoJOg58qLw5ylZ/dMLSJckDwWvxD3kLXugsYQ3YBwHA=" + "org/ow2#ow2/1.5.1": { + "pom": "sha256-Mh3bt+5v5PU96mtM1tt0FU1r+kI5HB92OzYbn0hazwU=" }, - "org/ow2/asm#asm-tree/9.2": { - "jar": "sha256-qr+b0jCRpOv8EJwfPufPPkuJ9rotP1HFJD8Ws8/64BE=", - "pom": "sha256-9h8+vqVSDd8Z9FKwPEJscjG92KgdesKHZctScSJaw3g=" + "org/ow2/asm#asm-commons/9.4": { + "jar": "sha256-DBKKnsPzPJiVknL20WzxQke1CPWJUVdLzb0rVtYyY2Q=", + "pom": "sha256-tCyiq8+IEXdqXdwCkPIQbX8xP4LHiw3czVzOTGOjUXk=" }, - "org/ow2/asm#asm/9.2": { - "jar": "sha256-udT+TXGTjfOIOfDspCqqpkz4sxPWeNoDbwyzyhmbR/U=", - "pom": "sha256-37EqGyJL8Bvh/WBAIEZviUJBvLZF3M45Xt2M1vilDfQ=" + "org/ow2/asm#asm-tree/9.4": { + "jar": "sha256-xC1HnPJFZqIesgr37q7vToa9tKiGMGz3L0g7ZedbKs8=", + "pom": "sha256-x+nvk73YqzYwMs5TgvzGTQAtbFicF1IzI2zSmOUaPBY=" }, - "org/slf4j#slf4j-api/1.7.30": { - "jar": "sha256-zboHlk0btAoHYUhcax6ML4/Z6x0ZxTkorA1/lRAQXFc=", - "pom": "sha256-fgdHdR6bZ+Gdy1IG8E6iLMA9JQxCJCZALq3QNRPywxQ=" + "org/ow2/asm#asm/9.4": { + "jar": "sha256-OdDis9xFr2Wgmwl5RXUKlKEm4FLhJPk0aEQ6HQ4V84E=", + "pom": "sha256-SDdR5I+y0fQ8Ya06sA/6Rm7cAzPY/C/bWibpXTKYI5Q=" }, - "org/slf4j#slf4j-parent/1.7.30": { - "pom": "sha256-EWR5VuSKDFv7OsM/bafoPzQQAraFfv0zWlBbaHvjS3U=" + "org/slf4j#slf4j-api/1.7.32": { + "jar": "sha256-NiT4R0wa9G11+YvAl9eGSjI8gbOAiqQ2iabhxgHAJ74=", + "pom": "sha256-ABzeWzxrqRBwQlz+ny5pXkrri8KQotTNllMRJ6skT+U=" + }, + "org/slf4j#slf4j-api/1.7.36": { + "jar": "sha256-0+9XXj5JeWeNwBvx3M5RAhSTtNEft/G+itmCh3wWocA=", + "pom": "sha256-+wRqnCKUN5KLsRwtJ8i113PriiXmDL0lPZhSEN7cJoQ=" + }, + "org/slf4j#slf4j-parent/1.7.32": { + "pom": "sha256-WrNJ0PTHvAjtDvH02ThssZQKL01vFSFQ4W277MC4PHA=" + }, + "org/slf4j#slf4j-parent/1.7.36": { + "pom": "sha256-uziNN/vN083mTDzt4hg4aTIY3EUfBAQMXfNgp47X6BI=" }, "org/sonatype/oss#oss-parent/5": { "pom": "sha256-FnjUEgpYXYpjATGu7ExSTZKDmFg7fqthbufVqH9SDT0=" @@ -265,9 +601,24 @@ "org/sonatype/oss#oss-parent/7": { "pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ=" }, - "org/vafer#jdependency/2.7.0": { - "jar": "sha256-1j79V0b/QIlDp91++Frp8Jqn+2O7KxaRFCfObEW1n9A=", - "pom": "sha256-6yRCKwo+nofVrG6oCHeG+1HEsbvg0iXvdSFSxzaiBNA=" + "org/springframework#spring-framework-bom/5.3.24": { + "module": "sha256-GZbh9hfLA/p26hGFD+Kh4gsOMKEEa6bV2zvbv0QRP84=", + "pom": "sha256-U1ITVmu77+Jjag1OjdGnOt5hLiQwyP/TENzCo7O5ukE=" + }, + "org/tukaani#xz/1.9": { + "jar": "sha256-IRswbPxE+Plt86Cj3a91uoxSie7XfWDXL4ibuFX1NeU=", + "pom": "sha256-CTvhsDMxvOKTLWglw36YJy12Ieap6fuTKJoAJRi43Vo=" + }, + "org/vafer#jdependency/2.8.0": { + "jar": "sha256-v9LMfhv8eKqDtEwKVL8s3jikOC7CRyivaD2Y3GvngZI=", + "pom": "sha256-EBhn8/npJlei74mjELYE1D0JDJuQqj4LBS3NFqO78y0=" + }, + "se/patrikerdes#gradle-use-latest-versions-plugin/0.2.18": { + "jar": "sha256-P9Qm3NYf3dX9FvhkBJyopVQtN1FAfhLNJs/FyeFay60=", + "pom": "sha256-eGyLwlKFSQhAr7YuGbnryVVpqV2Z+T4emLr7F7eAFZs=" + }, + "se/patrikerdes/use-latest-versions#se.patrikerdes.use-latest-versions.gradle.plugin/0.2.18": { + "pom": "sha256-6DCee4xZSPaNwK2dl7lOwIsfw5lm2eXsrsNOzFbMnnI=" }, "xmlpull#xmlpull/1.1.3.1": { "jar": "sha256-NOCO5iEWBxy7acDtcNFaelsgjWJ5jFnyEgu4kpMky2M=", @@ -279,55 +630,65 @@ "jar": "sha256-iPvaS5Ellrn1bo4S5YDMlUus+1F3bs/d0+GPwc9W3Ew=", "pom": "sha256-EA95O6J/i05CBO20YXHr825U4PlM/AJSf+oHoLsfzrc=" }, - "ch/qos/logback#logback-classic/1.3.5": { - "jar": "sha256-nWi52vL7uYoJsEReDGSsMJ2dDhVraFELY3kTl8l+MuQ=", - "pom": "sha256-7HWshxo9E2HbsPjbbSUDW6uJpeqXPxhKse+pHO7oRsU=" + "aopalliance#aopalliance/1.0": { + "jar": "sha256-Ct3sZw/tzT8RPFyAkdeDKA0j9146y4QbYanNsHk3agg=", + "pom": "sha256-JugjMBV9a4RLZ6gGSUXiBlgedyl3GD4+Mf7GBYqppZs=" }, - "ch/qos/logback#logback-core/1.3.5": { - "jar": "sha256-sfDsOT8vW7rx3sthYk3hg4ZjTDGX6e7WnRwSNN3XVvM=", - "pom": "sha256-HgdGJT8D995vW70VQzaqTXWGlCEPac//bo61+O/DVSg=" + "ch/qos/logback#logback-classic/1.5.6": { + "jar": "sha256-YRXGysXtHZ24ENFPL39N1qnyHwrLuoAW5NqsoroPXrg=", + "pom": "sha256-SysA32EjwOKmHnG1vis/AHOWeLtLBplA1cScJN9T9Zo=" }, - "ch/qos/logback#logback-parent/1.3.5": { - "pom": "sha256-EYAKLQpLzUQpZNpWHBGhHxbkS4n+prEKiRoQkigHn1s=" + "ch/qos/logback#logback-core/1.5.6": { + "jar": "sha256-iYx9EgGZ834azIEY2XqxWk0CsOcuJ7qfBYQ8s3ThYMY=", + "pom": "sha256-BpPQaN02h3R1rYCQbjHHvA1RlbgtTAB1HcGcHqUR5xE=" }, - "com/beust#jcommander/1.81": { - "jar": "sha256-nYtCl5yZ89qpkQL+m6H7JfUiJstIz1i8GKy5MTLkGgU=", - "module": "sha256-yQiuLdCRx1kB8zhnWrOWNOGfmyFjaUZwwSLiir5aDoI=", - "pom": "sha256-8CBdB5nUsdc0JS/Z+g3T63x1H1/762eyVeQStV/i41U=" + "ch/qos/logback#logback-parent/1.5.6": { + "pom": "sha256-e9/LJJJGgaSRRNujSpJ7i9B5INCS6sw972H55kevTeg=" }, - "com/beust#jcommander/1.82": { - "jar": "sha256-3urBV8jeaCKHjYXQx7yEZ6GcyEhNN3iPeATwOd3igLE=", - "module": "sha256-k2oti84PhNoYUA9OEZSIuTEG26qDuEYv6Za80OHDixY=", - "pom": "sha256-JGNEFwtRO4Acz4EiNNThMkoPbtKoHpCqYYkTtmucwXM=" + "com/fifesoft#autocomplete/3.3.1": { + "jar": "sha256-C44PYoZELz7ejDWd1CAy75/fGmu6zoUSQY98ypCstck=", + "module": "sha256-L1G7pxftqDgbD+DkTUgZXiRO6lMjVNePJIhbLsicC3M=", + "pom": "sha256-+tECFvCORJesDE3pkY7IHBT7X7WiZlCd6K+G+n9cSP4=" }, - "com/fifesoft#rsyntaxtextarea/3.3.2": { - "jar": "sha256-TAslPpJ8Ho8zUkhBcNA98Iu39QORc6vAXP+dERwyqks=", - "module": "sha256-ctL5lETQWlYoNVrzcGQm8Ea+Yzpm4a+wdt2xLTdoi9Y=", - "pom": "sha256-KwgwlBEYFM9LGWtMEA75Nc2ztgJ9Z9HAtWLPc0LRNgk=" + "com/fifesoft#rsyntaxtextarea/3.4.0": { + "jar": "sha256-5ng+3vkxIHl2TTDcpgdImWaBiUYQnfMjzdB9f6+sWEw=", + "module": "sha256-04S6z91b5oIuhBFEgtlsT0htPC6fHExgK4a12kM6urk=", + "pom": "sha256-9zzLgNZ8ZouF6jFU8wQVxzKjOBNA9nMfrLRRK4Dn4gQ=" }, - "com/formdev#flatlaf-extras/3.0": { - "jar": "sha256-wAud4HI/J1PtR7c1t6RLVK6rJt6bO5dTIYgftTVTx1E=", - "module": "sha256-FkTiG6Si+TVfX7Ap9WZoo5KsEqUpSQ1nu2VWJoKmoek=", - "pom": "sha256-B1lbUVRfuH8a1+CDuKEjm/h7/P64KAc4bOaFP59vCWI=" + "com/formdev#flatlaf-extras/3.4.1": { + "jar": "sha256-dNrV+g2VLSxTWRHXYrC4GASAFtsI9fD+eafRzKGDBR8=", + "module": "sha256-7Ilq8ao7FDgpXP/7qonr1EDlmsPJJCeriVgf//mkrqk=", + "pom": "sha256-kTixZ2T8lnEAYetgExKlrG+RNMIxoZaEwHbAJ6r6OG8=" }, - "com/formdev#flatlaf-intellij-themes/3.0": { - "jar": "sha256-N3qzctH/ln9MPMO0us78YYWgYnehChoUOlwqITjZObA=", - "module": "sha256-sKyuEQ8TM+zDL3YDcQrw4HjM1OV+uBLrZG/Wnd6sRv8=", - "pom": "sha256-dSGPJNAI5MRhs8b6JQ5w1c0yJ6ChWzcXexL/z3fF33Y=" + "com/formdev#flatlaf-intellij-themes/3.4.1": { + "jar": "sha256-VuTWi5tRVrm3B7b9cV8DoRXv5+Bi9ep54j21HjQvfVI=", + "module": "sha256-tqXOKz+zuARVMSftJdybbvb9T5Nag5DsVhdymT30DWc=", + "pom": "sha256-CR+0CuMik01CkYtivUsLMr48YE/nL4bniFAdRMkKWwA=" }, - "com/formdev#flatlaf/3.0": { - "jar": "sha256-lpsnqmEscOy4VmTlXYxfdnimGI+dt8UUKoH25HXhmGc=", - "module": "sha256-ndu+u4qmfA+PJfYcWspgGYHiWjZ2fM9YuuaMopWgUxs=", - "pom": "sha256-p4oaUVQeiMBghuMPw5BvUdWOUCDETbd52rsS8JEuTPk=" - }, - "com/formdev#svgSalamander/1.1.4": { - "jar": "sha256-4PGk2RzE9s4I6LRBsbMmuJjiUDZqn0xIk3EoTHhNMhE=", - "pom": "sha256-ndRWBiO6S1ETmg3EnarIjL5dJIzUgrPzoLJfYZutUvk=" + "com/formdev#flatlaf/3.4.1": { + "jar": "sha256-i0u9NHJ/gOdFVbK+PY3LmUQ0ZUmGxk9CmBYiR6nTX/w=", + "module": "sha256-502kfUULFIuZ6nNQZF59eq6gowVRb+S0AqKeNHLrdug=", + "pom": "sha256-/TzfkQf7kvOfkh3VrjNuddNKQiz3khC7dzX4a1coiHE=" }, "com/github/akarnokd#rxjava2-swing/0.3.7": { "jar": "sha256-umWvI1GP+Ucha7S+kDC7AavSQkHOEy3oPoUdC81S7n4=", "pom": "sha256-VCbDiy18y9Z5qiBuF6TPrxPrk3IPPnjPjdckAjfNnLE=" }, + "com/github/javafaker#javafaker/1.0.2": { + "jar": "sha256-75WuRoCX83iIC+aajGdW+NFRgODwdUf7Cplhf/Qhsqw=", + "pom": "sha256-HMze3vRTo1W93wqsK8qr4h/2wY30uusfXWMa4sn4ZII=" + }, + "com/github/mifmif#generex/1.0.2": { + "jar": "sha256-j4ziM8M14I4ROj+Ved4QRvsZkn6CRosbvrzWy6h2C4E=", + "pom": "sha256-R2QJlPzU46EZStsn0s/kEQII7qlCwgSDTZailCVt5hQ=" + }, + "com/github/weisj#jsvg/1.4.0": { + "jar": "sha256-Lx6hn7lhHMovfQaGqbAxPLDfjNy6Bz31dLXNGmyKhqI=", + "pom": "sha256-GMmalZVvTdu7NNN5YLI7va+bbWNDWQgPVCCU7JQISPM=" + }, + "com/google#google/5": { + "pom": "sha256-4J00XnPKP7yn8+BfMN63Tp053Wt5qT/ujFEfI0F7aCg=" + }, "com/google/code/findbugs#jsr305/3.0.2": { "jar": "sha256-dmrSoHg/JoeWLIrXTO7MOKKLn3Ki0IXuQ4t4E+ko0Mc=", "pom": "sha256-GYidvfGyVLJgGl7mRbgUepdGRIgil2hMeYr+XWPXjf4=" @@ -339,16 +700,16 @@ "jar": "sha256-QkHBSncnw0/uplB+yAExij1KkPBw5FJWgQefuU7kxZM=", "pom": "sha256-0rEVY09cCF20ucn/wmWOieIx/b++IkISGhzZXU2Ujdc=" }, - "com/google/errorprone#error_prone_annotations/2.5.1": { - "jar": "sha256-/4Bia6rxKgk0K+/U6Ey6nVBmL1/Nf3qbNJCmt8+H5mw=", - "pom": "sha256-mDrX/g+m9vkeLSBHf1CJ7Mw/TY7GxR1utFWDlw4nnTw=" + "com/google/errorprone#error_prone_annotations/2.26.1": { + "jar": "sha256-3iXy2aIVZSm9dl9R2O/fwN+nMB4E77nMdbfxDPXQ4Ps=", + "pom": "sha256-rqfpkeLf3LR/X71QhYdTX3gCvLni/C1Ou1C+QbaE2p8=" }, "com/google/errorprone#error_prone_annotations/2.7.1": { "jar": "sha256-zVJXwIokbPhiiBeuccuCK+GS75H2iByko/z/Tx3hz/M=", "pom": "sha256-Mahy4RScXzqLwF+03kVeXqYI7PrRryIst2N8psdi7iU=" }, - "com/google/errorprone#error_prone_parent/2.5.1": { - "pom": "sha256-oXp2d0gqOlGkX14IFAByrNMyzLEvI4mbAFLYCnKcLlI=" + "com/google/errorprone#error_prone_parent/2.26.1": { + "pom": "sha256-SmrQDTGwpa3Nmk9gUGXVtEX65KBMv4J+XRrBB34vgU0=" }, "com/google/errorprone#error_prone_parent/2.7.1": { "pom": "sha256-Cm4kLigQToCTQFrjeWlmCkOLccTBtz/E/3FtuJ2ojeY=" @@ -357,44 +718,88 @@ "jar": "sha256-oXHuTHNN0tqDfksWvp30Zhr6typBra8x64Tf2vk2yiY=", "pom": "sha256-6WBCznj+y6DaK+lkUilHyHtAopG1/TzWcqQ0kkEDxLk=" }, + "com/google/guava#failureaccess/1.0.2": { + "jar": "sha256-io+Bz5s1nj9t+mkaHndphcBh7y8iPJssgHU+G0WOgGQ=", + "pom": "sha256-GevG9L207bs9B7bumU+Ea1TvKVWCqbVjRxn/qfMdA7I=" + }, "com/google/guava#guava-parent/26.0-android": { "pom": "sha256-+GmKtGypls6InBr8jKTyXrisawNNyJjUWDdCNgAWzAQ=" }, - "com/google/guava#guava-parent/30.1.1-jre": { - "pom": "sha256-BCK9Rcokl7+hiq0mmDJJZe1w2gkHuKfUWberO17tODQ=" - }, "com/google/guava#guava-parent/31.0.1-jre": { "pom": "sha256-s7a2qnCZwRgXrO6FsyL9kffuMq6mn+CD7jbIc17AZ4g=" }, - "com/google/guava#guava/30.1.1-jre": { - "jar": "sha256-RM4inOJtiAvzr8Niu/zsNNfmkD0ZW7sdufO24NmDTwY=", - "pom": "sha256-bRjJGIrUt4Vft/6m8Xk3VLQfoXR4Ea4ePXU9b8ydzFk=" + "com/google/guava#guava-parent/33.1.0-jre": { + "pom": "sha256-D73wcsyo4Fa6MVQrt18MFJCRRABYbUukIuz8fR38ecY=" }, "com/google/guava#guava/31.0.1-jre": { "jar": "sha256-1b6U1l6HvSGfsxk60VF7qlWjuI/JHSHPc1gmq1rwh7k=", "pom": "sha256-K+VmkgwhxgxcyvKCeGfK/3ZmRuIRO3/MPunCSkCy85Y=" }, + "com/google/guava#guava/33.1.0-jre": { + "jar": "sha256-NGrsDrjImHNgyKJk5w/xDC+6dgRG6yfoqwfnjnh6df4=", + "module": "sha256-6qUNmCgORsANUYq/FUgp3pm1lm0bb+KLffHVvZB+dKg=", + "pom": "sha256-VXQa0W+Yzubm3Ard3UOAacxeP/KaJuMXXU/qKHaSVLc=" + }, "com/google/guava#listenablefuture/9999.0-empty-to-avoid-conflict-with-guava": { "jar": "sha256-s3KgN9QjCqV/vv/e8w/WEj+cDC24XQrO0AyRuXTzP5k=", "pom": "sha256-GNSx2yYVPU5VB5zh92ux/gXNuGLvmVSojLzE/zi4Z5s=" }, + "com/google/inject#guice-parent/4.2.2": { + "pom": "sha256-WnS6PSK+GsE7nngvE6fZV9sqJN7TWUgTlMnoifHAN9Y=" + }, + "com/google/inject#guice/4.2.2": { + "pom": "sha256-BvPD3a1Xswv+iGVUVqBHMeVqeK0N2QnmXHGIEAO5ZHk=" + }, + "com/google/inject#guice/4.2.2/no_aop": { + "jar": "sha256-D09fsoYJpNKzi39xKL58+bVB8lKD1xtOVgZtmWg6r/8=" + }, "com/google/j2objc#j2objc-annotations/1.3": { "jar": "sha256-Ia8wySJnvWEiwOC00gzMtmQaN+r5VsZUDsRx1YTmSns=", "pom": "sha256-X6yoJLoRW+5FhzAzff2y/OpGui/XdNQwTtvzD6aj8FU=" }, - "com/google/protobuf#protobuf-bom/3.21.12": { - "pom": "sha256-O72GqUBXpnHmPVX532EsZBlz1ecNba4qtFYk/xrfUcU=" + "com/google/j2objc#j2objc-annotations/3.0.0": { + "jar": "sha256-iCQVc0Z93KRP/U10qgTCu/0Rv3wX4MNCyUyd56cKfGQ=", + "pom": "sha256-I7PQOeForYndEUaY5t1744P0osV3uId9gsc6ZRXnShc=" }, - "com/google/protobuf#protobuf-java/3.21.12": { - "jar": "sha256-Pz7b2pKGJGCA8+r1Yd1rDVorHxAI9pCRFchgnOrp34c=", - "pom": "sha256-CXiOUXdwUnUK3bE39cMbdwDlY6UsncRQlXqGVM/gVrU=" + "com/google/protobuf#protobuf-bom/3.25.3": { + "pom": "sha256-tG4/Jv4PRz/zMHfuEkX4jUuNs1zHn1VM0P2Td2akXlg=" }, - "com/google/protobuf#protobuf-parent/3.21.12": { - "pom": "sha256-fj44jW/7fyDmb/JfRbk3i0Igt7L9Jh9rO8IGs9/4u8g=" + "com/google/protobuf#protobuf-java/3.25.3": { + "jar": "sha256-6Q2N25Y7IKlypqWbUJOt4rB8vlRsqzJ5qvQ4MmA4X1g=", + "pom": "sha256-we+sGuAPC7q2VkKOGWtjaYyRTQ3SK+EgcQvv/EgctUc=" }, - "com/jakewharton/android/repackaged#dalvik-dx/11.0.0_r3": { - "jar": "sha256-N1gaVv3tFexviLRtPHcEzHAKM3H5519BshIeMod2m6k=", - "pom": "sha256-p1xwnmYDV+amCkqI5dm/UQEH5TJ2JzabwfgDDzmJONE=" + "com/google/protobuf#protobuf-parent/3.25.3": { + "pom": "sha256-vCdEYIzqOnotTNC3Thw/iBOMZM5aphudfwr9hGiCvno=" + }, + "com/jakewharton/android/repackaged#dalvik-dx/14.0.0_r21": { + "jar": "sha256-mxO8gL+G8ZP43pyVn1Ko/4P8haHMVS9RJvEUDam4WjY=", + "module": "sha256-8Q+igZNroSWzuB8fbmJoN2l1y5JmY90lKT4zF1TiMMc=", + "pom": "sha256-73W51oRyNhwuRsFGzwTSBjeicvTKTFEGqXBIcZn3aY4=" + }, + "com/pinterest/ktlint#ktlint-cli-ruleset-core/1.2.1": { + "jar": "sha256-5O9GJ/nf6CD16tU35SVH2g5VYovaYakmdg8Mm8TqUAY=", + "module": "sha256-g3XiwjEiwLDsPtUmTSaTlX+/CGb2hpY3CWAK+gLf0m0=", + "pom": "sha256-A6DNgrSvn7+apstQemJBdvdEs6T/w7t3iisiE/aM95Q=" + }, + "com/pinterest/ktlint#ktlint-logger/1.2.1": { + "jar": "sha256-5jQ4/lurR/Gy/dmAV34yx8ANcBm1QywGoPHCzbwJa3w=", + "module": "sha256-fDiaF+bGkYRv60Rz/vwyz8Oeklk4UmkwDq3M2y8EW/A=", + "pom": "sha256-9lFUgbaf8dX/DxsAqldcN6Rvjz50k+MYHSM1pM1r42U=" + }, + "com/pinterest/ktlint#ktlint-rule-engine-core/1.2.1": { + "jar": "sha256-7v513SmnxlyZFe9WZ5w6v9MEZeqKLSg0msepyW6AIsk=", + "module": "sha256-ejPrG4FlwhAEDn/ZsFtmRGphmGY/syZ+a0Re5gfQhHU=", + "pom": "sha256-E4IT0LNF7LNQaVLkMaOGV+84bz4Ou3jZR+jcs1ZB3Nw=" + }, + "com/pinterest/ktlint#ktlint-rule-engine/1.2.1": { + "jar": "sha256-Aj/1a/e7WRYNECVrmooE8q++LcZDxA8qCZEVVKSRUrQ=", + "module": "sha256-Oxa+KQvuSddVUNz3jWWvCwm9W+LWaxh5kZSU3HH99y4=", + "pom": "sha256-iwzFIes9tn1sULMFiz1Gerket9Ko9JnfPg8iRaG8RSA=" + }, + "com/pinterest/ktlint#ktlint-ruleset-standard/1.2.1": { + "jar": "sha256-ip6NR4pSAdmxmMLpQtWgs2ck9mJsxvgHkTLeugN2DBs=", + "module": "sha256-qK8UNNcp5XrEo0u11SoLNN1nCBmovG3m8MhxTxw8D9Q=", + "pom": "sha256-wdTdk387yItHaK0Vn9PO7BU6h5RsAo8tn65nrvAYLc4=" }, "com/puppycrawl/tools#checkstyle/9.3": { "jar": "sha256-BGPjBJgPVGC5ZPSBzMJaEPslO2AQDBnlD8mSiSiVl38=", @@ -404,10 +809,39 @@ "jar": "sha256-fZOMgXiQKARcCMBl6UvnX8KAUnYg1b1itRnVg4UyNoo=", "pom": "sha256-w1zKe2HUZ42VeMvAuQG4cXtTmr+SVEQdp4uP5g3gZNA=" }, + "commons-codec#commons-codec/1.11": { + "jar": "sha256-5ZnVMY6Xqkj0ITaikn5t+k6Igd/w5sjjEJ3bv/Ude30=", + "pom": "sha256-wecUDR3qj981KLwePFRErAtUEpcxH0X5gGwhPsPumhA=" + }, "commons-collections#commons-collections/3.2.2": { "jar": "sha256-7urpF5FxRKaKdB1MDf9mqlxcX9hVk/8he87T/Iyng7g=", "pom": "sha256-1dgfzCiMDYxxHDAgB8raSqmiJu0aES1LqmTLHWMiFws=" }, + "commons-io#commons-io/2.11.0": { + "jar": "sha256-lhsvbYfbrMXVSr9Fq3puJJX4m3VZiWLYxyPOqbwhCQg=", + "pom": "sha256-LgFv1+MkS18sIKytg02TqkeQSG7h5FZGQTYaPoMe71k=" + }, + "commons-io#commons-io/2.16.1": { + "jar": "sha256-9B97qs1xaJZEes6XWGIfYsHGsKkdiazuSI2ib8R3yE8=", + "pom": "sha256-V3fSkiUceJXASkxXAVaD7Ds1OhJIbJs+cXjpsLPDj/8=" + }, + "dev/dirs#directories/26": { + "jar": "sha256-bRj+Jaowt+CLkIzSEVHY+W4illxkCs13Ua3Zu/5hN9Q=", + "pom": "sha256-/I3n/GawcvT21bNv67uZx1DG75JxViX1o9hJlAWpRoI=" + }, + "dev/drewhamilton/poko#poko-annotations-jvm/0.15.2": { + "jar": "sha256-O8uWdwrFIHXEMSAeKf1eZ5JENVVd8i9eWrJgK3t3NjU=", + "module": "sha256-ZFxFBOI647Y2QStpkR6E8nK81dVDR+MStHVQPyKW/ow=", + "pom": "sha256-DoYUpIzw8+CiAxa0mUdqHrNL2j56gYMHk2NWNnf+x3E=" + }, + "dev/drewhamilton/poko#poko-annotations/0.15.2": { + "module": "sha256-uvNQLqdKKd+usAFL9ZL3zOpwdo6pl53mKwzsqlqqgdo=", + "pom": "sha256-HMwGrmeHr3B+lJIsKfUDXxWcHq/vZSlENWM/gktbqs0=" + }, + "dk/brics/automaton#automaton/1.11-8": { + "jar": "sha256-okR19sz+HMek/p404Fzmh7DODG6Mt4Hg7O07GGSCxh4=", + "pom": "sha256-N1e360Vz2a4E37ViqPa9WqtKZbiD31RKTzYJTXz+I78=" + }, "hu/kazocsaba#image-viewer/1.2.3": { "jar": "sha256-wqNLddLK8alfjMGXGam6MNEJZhi9sIez22/8ELrAUik=", "pom": "sha256-7Wev/h7E7cGYGKhqSZqe8DfWujf3GFvTBbs62otf+qw=" @@ -416,52 +850,66 @@ "jar": "sha256-R1TZbq9TFPNaKH2lxnhIsoUGeGj8ptH1Ehp09n8GW2E=", "pom": "sha256-3q4p2lxR4/6dla9ujzkVbCvBt0niQtATbp4jIINIF5k=" }, + "io/github/oshai#kotlin-logging-jvm/6.0.9": { + "jar": "sha256-sJ09vL00jonj5Q41QCUVmB5qeaZHsQckg272yA64sUo=", + "module": "sha256-MM7rf5aCBVhG5DxreIDTwDdSbfHg54+P5w5B0xYsiTs=", + "pom": "sha256-Iu9UimQeopwR8p66nswpXd0tcJ2UKotZuqh0meyB+QE=" + }, "io/github/skylot#jdwp/2.0.0": { "jar": "sha256-Z01piJwpSc+I/MIGr38ur7FTMWsy5GzO8Tz5FRw3jqw=", "module": "sha256-0bY96BmtAR3paWge0wxaULPc3FclHTTfnEtnw+6nU3Q=", "pom": "sha256-2tG6+z2xh4vm/awirm/tYaXN38OXwJruNuP8HKOEIMU=" }, - "io/github/skylot#raung-asm/0.0.3": { - "jar": "sha256-o+NOaprRhicntyd7Q2w/jkx0ll3ixsNBNDEB7t23S0w=", - "module": "sha256-Xr/NftSYTE6eV44X6knVOvrHRbSNYS6cnGgQo1Hqr94=", - "pom": "sha256-sU7Vq9Zy3OCw4QwPAe8EgZYLBchyl5xDszVfcstSBYc=" + "io/github/skylot#raung-asm/0.1.1": { + "jar": "sha256-nab8w4+jp8Nzu+IZ4DNX5KUbNPEL74L33Uuxk2iuKlc=", + "module": "sha256-ydk24GRnV44eAfX6tROxCmNMfbPxIgFKrOxnqeb29LU=", + "pom": "sha256-g8dbSoaStoBweNEsY86yzLFx3cO7Q4DceC0z6IU47LI=" }, - "io/github/skylot#raung-common/0.0.3": { - "jar": "sha256-I/bEZ+qWVPA5ii/V+TpjeEZd2M4fzTYInDM5dNcnICg=", - "module": "sha256-tvEtR3+g69ui7+wp1I+H6QcEHOPDuvQwk0FhH7RSuCU=", - "pom": "sha256-yfInb1qT0ikQ2BkEr/0OArStnwhVBsFTyl4k5vVtfVU=" + "io/github/skylot#raung-common/0.1.1": { + "jar": "sha256-bt86NJ25/eu1+7Z1YL4fcEl2ZsNQ7D6vVNf8sA3npIE=", + "module": "sha256-iVV/T22nlSS89UFkpln1r0P/iBuVnLx98MiJ//IcX1A=", + "pom": "sha256-/N4sd1OJ5rsoiEMe+pkEaQglzBjeK1e5yZOMOheo/vI=" }, - "io/github/skylot#raung-disasm/0.0.3": { - "jar": "sha256-j9HSGFHXDY2hfhwJxf0M5ME8zWlnBX1Vtlw8qYP5DaI=", - "module": "sha256-1Vdekft2GEATZ0KC32uKD6viK6ANyilFQD4qIe/QtJI=", - "pom": "sha256-/iYlIgpujopppbkOu/wMVWFIkRjBadAkvBf/3q1y9Y4=" + "io/github/skylot#raung-disasm/0.1.1": { + "jar": "sha256-8mQBvHFZwwHr/YGGmeoQTTr/unnSOX6ILQ+6Kbz70vM=", + "module": "sha256-c/sJjfFrydnSxRr6bzwZ86n6PsYbZYS49oqimBD7cuU=", + "pom": "sha256-kts/606ZJ53gDIRJPJTJhlOQMfRjdnvx63nwOymxQyM=" }, "io/reactivex/rxjava2#rxjava/2.2.21": { "jar": "sha256-Wd9lQahAAY8PTImark9MH0OD9MFv61JoYV++OE0oUBw=", "pom": "sha256-slvs5QSD3po+Hf0lARwthTMCFu+Kgbhvar69vfmw8Sc=" }, - "net/bytebuddy#byte-buddy-agent/1.12.19": { - "jar": "sha256-OnAkDefNzeBOfFBMIyfXA1ucJa4CBogeO/TmeYonPtg=", - "pom": "sha256-taLP9kNoHeFof8QKzSUf7v38oj5nPgSfs8NpK1NSbUs=" + "javax/annotation#javax.annotation-api/1.2": { + "jar": "sha256-WQmzlso6K+ENDuoyx073jYFuG06tId4deN4fiQ0DPgQ=", + "pom": "sha256-Utc/NffmOM48tWVG+HnCDn9wGfcqogzeH6gOl4Zd/UA=" }, - "net/bytebuddy#byte-buddy-parent/1.12.19": { - "pom": "sha256-cqtv70CegSkh9HKLPEtu9PpTvCX6uwSI/CyuNnNotU0=" + "javax/inject#javax.inject/1": { + "jar": "sha256-kcdwRKUMSBY2wy2Rb9ickRinIZU5BFLIEGUID5V95/8=", + "pom": "sha256-lD4SsQBieARjj6KFgFoKt4imgCZlMeZQkh6/5GIai/o=" }, - "net/bytebuddy#byte-buddy-parent/1.12.21": { - "pom": "sha256-/2bYhmBxN+IJXyDJDuCT88gDKRZO/wkaBoi9zjfj5rI=" + "net/bytebuddy#byte-buddy-agent/1.14.12": { + "jar": "sha256-KzCakwAJLgtpb3xHH9UdmWkAHfeEyKufB5l0N9dXrW0=", + "pom": "sha256-ZpifcNNV1gD9TZJtiDXke30b7/Z47r7FnRljY7XNTCw=" }, - "net/bytebuddy#byte-buddy/1.12.19": { - "pom": "sha256-Q1+4Zkqpt+EgyN1scH1Or6ZC+iYt/21eP3HcJcaeies=" + "net/bytebuddy#byte-buddy-parent/1.14.12": { + "pom": "sha256-m3/SvyklMayw6XTZVeSjbKQTMt0Nr+icJNj+Q5uuV7A=" }, - "net/bytebuddy#byte-buddy/1.12.21": { - "jar": "sha256-9vRcIjen8TLBZ0WtKlLEzd5YAosR7oCwnw1CL0kw1oU=", - "pom": "sha256-letCyJ/QT2IYfdM7nN8E0t8bh2s3XBatMsClocwaBws=" + "net/bytebuddy#byte-buddy/1.14.12": { + "jar": "sha256-lwY2E01hwYOxn49Y+mMeMNLyq8o0SzeEijk8rHhj3XA=", + "pom": "sha256-XamVxw3nt/SoSKhUN8fd7oA9GrfKwtfY33GUw9XicU0=" }, - "net/sf/launch4j#launch4j/3.14": { - "pom": "sha256-xEYpdod2nJWyb2Qg9zsr0qKd90TYllTAdKhVb2Is+Vs=" + "net/fabricmc#mapping-io/0.6.1": { + "jar": "sha256-NN1+onSH7zXXAANQnBtIh/9fi/9yCjQ5gSrhvnUl5Ts=", + "pom": "sha256-e7jCDWqclH8GcXzKVjmdHaettyb9jPOvJ7iVVnckras=" }, - "net/sf/launch4j#launch4j/3.14/workdir-linux64": { - "jar": "sha256-mphFGb9E6CWlsEFZfgVPi/qy+Tpm+na30aM79JIcNUY=" + "net/java#jvnet-parent/3": { + "pom": "sha256-MPV4nvo53b+WCVqto/wSYMRWH68vcUaGcXyy3FBJR1o=" + }, + "net/sf/launch4j#launch4j/3.50": { + "pom": "sha256-1716EuPm1bR/Ou0p/4g89cTKnie3GWkQZnkzH6N+xy0=" + }, + "net/sf/launch4j#launch4j/3.50/workdir-mac": { + "jar": "sha256-ciYD+rZJnfaTUvdmC5+Y8MSF6aREBAD/f6PWJ/kXOyQ=" }, "net/sf/saxon#Saxon-HE/10.6": { "jar": "sha256-bQjfguTthrarsaAse3SiaPz8XgBOg7tP8AbsOlCb01Y=", @@ -496,62 +944,296 @@ "org/apache#apache/16": { "pom": "sha256-n4X/L9fWyzCXqkf7QZ7n8OvoaRCfmKup9Oyj9J50pA4=" }, + "org/apache#apache/18": { + "pom": "sha256-eDEwcoX9R1u8NrIK4454gvEcMVOx1ZMPhS1E7ajzPBc=" + }, "org/apache#apache/19": { "pom": "sha256-kfejMJbqabrCy69tAf65NMrAAsSNjIz6nCQLQPHsId8=" }, + "org/apache#apache/21": { + "pom": "sha256-rxDBCNoBTxfK+se1KytLWjocGCZfoq+XoyXZFDU3s4A=" + }, "org/apache#apache/23": { "pom": "sha256-vBBiTgYj82V3+sVjnKKTbTJA7RUvttjVM6tNJwVDSRw=" }, + "org/apache#apache/25": { + "pom": "sha256-5o/BmkjOxYKmcy/QsQ2/6f7KJQYJY974nlR/ijdZ03k=" + }, "org/apache#apache/27": { "pom": "sha256-srD8aeIqZQw4kvHDZtdwdvKVdcZzjfTHpwpEhESEzfk=" }, + "org/apache#apache/30": { + "pom": "sha256-Y91KOTqcDfyzFO/oOHGkHSQ7yNIAy8fy0ZfzDaeCOdg=" + }, + "org/apache#apache/31": { + "pom": "sha256-VV0MnqppwEKv+SSSe5OB6PgXQTbTVe6tRFIkRS5ikcw=" + }, "org/apache/commons#commons-lang3/3.12.0": { "jar": "sha256-2RnZBEhsA3+NGTQS2gyS4iqfokIwudZ6V4VcXDHH6U4=", "pom": "sha256-gtMfHcxFg+/9dE6XkWWxbaZL+GvKYj/F0bA+2U9FyFo=" }, + "org/apache/commons#commons-lang3/3.14.0": { + "jar": "sha256-e5a/PuaJSau1vEZVWawnDgVRWW+jRSP934kOxBjd4Tw=", + "pom": "sha256-EQQ4hjutN8KPkGv4cBbjjHqMdYujIeCdEdxaI2Oo554=" + }, + "org/apache/commons#commons-lang3/3.5": { + "pom": "sha256-Ref7ssIx25A6XVqtr8Y2oXOk1UVg94oR/0mAKO+eNF4=" + }, + "org/apache/commons#commons-lang3/3.8.1": { + "pom": "sha256-7I4J91QRaFIFvQ2deHLMNiLmfHbfRKCiJ7J4vqBEWNU=" + }, "org/apache/commons#commons-parent/39": { "pom": "sha256-h80n4aAqXD622FBZzphpa7G0TCuLZQ8FZ8ht9g+mHac=" }, + "org/apache/commons#commons-parent/41": { + "pom": "sha256-sod8gBb4sokkyOkN1a5AzRHzKNAqHemNgN4iV0qzbsc=" + }, + "org/apache/commons#commons-parent/42": { + "pom": "sha256-zTE0lMZwtIPsJWlyrxaYszDlmPgHACNU63ZUefYEsJw=" + }, "org/apache/commons#commons-parent/47": { "pom": "sha256-io7LVwVTv58f+uIRqNTKnuYwwXr+WSkzaPunvZtC/Lc=" }, "org/apache/commons#commons-parent/52": { "pom": "sha256-ddvo806Y5MP/QtquSi+etMvNO18QR9VEYKzpBtu0UC4=" }, - "org/apache/commons#commons-parent/54": { - "pom": "sha256-AA2Bh5UrIjcC/eKW33mVY/Nd6CznKttOe/FXNCN4++M=" + "org/apache/commons#commons-parent/64": { + "pom": "sha256-bxljiZToNXtO1zRpb5kgV++q+hI1ZzmYEzKZeY4szds=" }, - "org/apache/commons#commons-text/1.10.0": { - "jar": "sha256-dwzZA/p7YE0ffve6F/hBCGZylLK0eL6O0a87/7SuABg=", - "pom": "sha256-OI3VI0i6GEKqOK64l8kdJwsUZh64daIP2YAxU1qydWc=" + "org/apache/commons#commons-parent/69": { + "pom": "sha256-1Q2pw5vcqCPWGNG0oDtz8ZZJf8uGFv0NpyfIYjWSqbs=" + }, + "org/apache/commons#commons-text/1.12.0": { + "jar": "sha256-3gIyV/8WYESla9GqkSToQ80F2sWAbMcFqTEfNVbVoV8=", + "pom": "sha256-stQ0HJIZgcs11VcPT8lzKgijSxUo3uhMBQfH8nGaM08=" + }, + "org/apache/httpcomponents#httpclient/4.5.14": { + "jar": "sha256-yLx+HFGm1M5y9A0uu6vxxLaL/nbnMhBLBDgbSTR46dY=", + "pom": "sha256-8YNVr0z4CopO8E69dCpH6Qp+rwgMclsgldvE/F2977c=" + }, + "org/apache/httpcomponents#httpcomponents-client/4.5.14": { + "pom": "sha256-W60d5PEBRHZZ+J0ImGjMutZKaMxQPS1lQQtR9pBKoGE=" + }, + "org/apache/httpcomponents#httpcomponents-core/4.4.16": { + "pom": "sha256-8tdaLC1COtGFOb8hZW1W+IpAkZRKZi/K8VnVrig9t/c=" + }, + "org/apache/httpcomponents#httpcomponents-parent/11": { + "pom": "sha256-qQH4exFcVQcMfuQ+//Y+IOewLTCvJEOuKSvx9OUy06o=" + }, + "org/apache/httpcomponents#httpcore/4.4.16": { + "jar": "sha256-bJs90UKgncRo4jrTmq1vdaDyuFElEERp8CblKkdORk8=", + "pom": "sha256-PLrYSbNdrP5s7DGtraLGI8AmwyYRQbDSbux+OZxs1/o=" + }, + "org/apache/maven#maven-artifact/3.8.7": { + "jar": "sha256-I+scXCbz0bRpRkewcb6r/ZYIMZGwBjlHB3U68s7Y2wE=", + "pom": "sha256-gxFk5/0k5bBbLcO4l6ylvr6TV2odk8iUXzpEHJTg7VM=" + }, + "org/apache/maven#maven-builder-support/3.8.7": { + "jar": "sha256-JrRlNUXsw/A5mCssjxO8Km4OD6E3LAQb1FGUbMN6WcE=", + "pom": "sha256-eF8rsf6hlzTjoOogfGoJa2gYgzfv3M+kdZdH8dHexcM=" + }, + "org/apache/maven#maven-core/3.8.7": { + "jar": "sha256-x2f6zVSrj27qlyzPqcHT86XaohD/M1PJitAj9SBWKUA=", + "pom": "sha256-Fapj0KvMZJA1ymqCqXHoAvKtPgLPohnhudlSDws0Edc=" + }, + "org/apache/maven#maven-model-builder/3.8.7": { + "jar": "sha256-8cR7SinTJnUyxqHkmfDM1TB7MhqX6YWvRXMTjqXN62k=", + "pom": "sha256-tjB9TvfAo4Q2ojYY5fXJ6byIjHQWeEoRrIeHprx/QYw=" + }, + "org/apache/maven#maven-model/3.8.7": { + "jar": "sha256-b8ra7iqIXEOxWPLjgz0KPsto78YuJepbEfd8wHFqey0=", + "pom": "sha256-4dR3hYwG/DpXn8LFga9XIG6xWH2MEFMHFbmJb2S3kPU=" + }, + "org/apache/maven#maven-parent/34": { + "pom": "sha256-Go+vemorhIrLJqlZlU7hFcDXnb51piBvs7jHwvRaI38=" + }, + "org/apache/maven#maven-parent/35": { + "pom": "sha256-0u3UB3wKvJzIICiDxFlQMYBCRjbLOagwMewREjlLJXY=" + }, + "org/apache/maven#maven-parent/37": { + "pom": "sha256-vPNwAwHoIh7xTaJ6Lwz/cfzQP8RSdr/YStrOQB6Ivrw=" + }, + "org/apache/maven#maven-plugin-api/3.8.7": { + "jar": "sha256-TwhLIvdvFOuKeVEB+4Nif/Ebbyx8sX9ADVQyLn0AD3Q=", + "pom": "sha256-SlHibCSg2IbD3uYyu1o3K9y5i51ExA6xL5eyTTR+YtM=" + }, + "org/apache/maven#maven-repository-metadata/3.8.7": { + "jar": "sha256-rgfBgNpa53hJFc85gOkN42HqTRvFM3uWlpT1Aznv2eE=", + "pom": "sha256-ApdQ3NGyUFtbQ2nJDiMpNfjCJB4TYCJw+PUhFHfpOVc=" + }, + "org/apache/maven#maven-resolver-provider/3.8.7": { + "jar": "sha256-mKX0OimIB4VYzCL4ZBEkx0Vy3Z5gC8fX233projMEbo=", + "pom": "sha256-l+KYz4V0qpqrMqAV8f+EGCQhxYar5F3aBL4p7LXmz+c=" + }, + "org/apache/maven#maven-settings-builder/3.8.7": { + "jar": "sha256-LNPZ0Q6EhrKdRu9Dbclru/r0NaRd0yjM+VX1r5acir4=", + "pom": "sha256-KYMgyvMQ6dhvd1H9ZJiwtCsO/VO8f6Z39e54Y+SJDTA=" + }, + "org/apache/maven#maven-settings/3.8.7": { + "jar": "sha256-AMCY0r47gdoDf6LUEXm/FJOO2xLsOtosjfZAxKZ3ELs=", + "pom": "sha256-8QndYx6IMsCi8zplYaZtV4fRpC3n/tectirzGYpK/do=" + }, + "org/apache/maven#maven/3.8.7": { + "pom": "sha256-Rz512QcJ1/0osDhELhNxzEsiA9ygKYSG/Iz6c9r6k7U=" + }, + "org/apache/maven/resolver#maven-resolver-api/1.6.3": { + "pom": "sha256-EWZ4Z526PTbXmfZywm7iRDSA76Gxu7glDwbg3VqRp5U=" + }, + "org/apache/maven/resolver#maven-resolver-api/1.9.2": { + "jar": "sha256-EponhdJmdE1jvMCy9gNMZYclsJwW6oq9tiB1++FcaVM=", + "pom": "sha256-6uSCfjoen3KyJkZ3MI3ri4lLwlBRQcQMo2DLhF5cYrs=" + }, + "org/apache/maven/resolver#maven-resolver-connector-basic/1.9.2": { + "jar": "sha256-Dp27II8dms3ER1V342+b8xDrTHAmRtb1FFsiNUQgu7c=", + "pom": "sha256-kJg8BUhLbAEIp4WnPZnsQMePvqlcA7GlWNASPmz0So4=" + }, + "org/apache/maven/resolver#maven-resolver-impl/1.9.2": { + "jar": "sha256-W7+Ig2GsjEwB7HkWkzby9fN0nuqFuz82uZwEXZdxeQk=", + "pom": "sha256-5D8kzPHEQYddzq8q27zReUNRAd2+ddcYxIAkkRDIwwg=" + }, + "org/apache/maven/resolver#maven-resolver-named-locks/1.9.2": { + "jar": "sha256-CH+Q13Vn9x6EwxUTrITYBJpghBIoO9q2DBIpggbxnsU=", + "pom": "sha256-DYWW4EC3N8qDTtljAPFU2mEMR1aA8NO4/LTFNTXvqhA=" + }, + "org/apache/maven/resolver#maven-resolver-spi/1.6.3": { + "pom": "sha256-H4lGxHHBZwPLsIBAvH0F1wcroiFQSnfWS+54Wj9T18M=" + }, + "org/apache/maven/resolver#maven-resolver-spi/1.9.2": { + "jar": "sha256-foQ7A8TtWn2sxuPlIDcRoqo9p+W5JH420Dh/6Hee4VE=", + "pom": "sha256-B0inuyAQ2gaTPTiYaRXyBRvEOUfZdCuoxApXhBcmvQU=" + }, + "org/apache/maven/resolver#maven-resolver-transport-file/1.9.2": { + "jar": "sha256-UH8quj6VSy1OwJrlQRNhpbNJ2EfFj1KlztaMm6575uY=", + "pom": "sha256-vA0UoJ1oUDOagAEwkqHq6ksp2r7X3EpnBG9/Zw2a+84=" + }, + "org/apache/maven/resolver#maven-resolver-transport-wagon/1.9.2": { + "jar": "sha256-JKrTRTrDVxlzMLS1PJHkpkxL9QZcAT7TXx9pmwF5slY=", + "pom": "sha256-xMe/JvLjG7XSpIyXiABHW9sOV8J3WoYm0mr40CZ+VCc=" + }, + "org/apache/maven/resolver#maven-resolver-util/1.6.3": { + "pom": "sha256-0cNedvQWbxOwpR1WWs+Wfpw8eeLMtpzL9PrAmOS3xGY=" + }, + "org/apache/maven/resolver#maven-resolver-util/1.9.2": { + "jar": "sha256-Rt5yjW4446EBmDZ1JEoith1NLIZqGdUCoPpncCE6K/U=", + "pom": "sha256-GPziLjKecX5/iPzIrqhCaUzwOMRkDrEVvRZEGUikTAc=" + }, + "org/apache/maven/resolver#maven-resolver/1.6.3": { + "pom": "sha256-lzl+51sTDuK7Sijg+7EllZWoNhM4q6CC+K8Uc5joo+w=" + }, + "org/apache/maven/resolver#maven-resolver/1.9.2": { + "pom": "sha256-yjWN3m5VIZS7sOXRDbHH9cYiLda1v+PSPfmNqmxusNc=" + }, + "org/apache/maven/shared#maven-shared-components/34": { + "pom": "sha256-ZNDttfIc//YAscOrfUX5dUzRi6X7+Ds9G7fEhJQ32OM=" + }, + "org/apache/maven/shared#maven-shared-utils/3.3.4": { + "jar": "sha256-eSXZxaDiBA0kuPrj9hLrOZy//lg4szujaHd9x73fbdo=", + "pom": "sha256-v4NILZb3bWNpnWPhJeZPSsc8gXiYVzNmLb1pr5xgM54=" + }, + "org/apache/maven/wagon#wagon-http-shared/3.5.3": { + "jar": "sha256-jn2nZvVRZP3od5qqoSWDJQbChIyrSHa1MFE4hz4oA38=", + "pom": "sha256-YBSx5kq/RVxoNKCRgkjhVjgFD4NdoSBR0zzafpRtiPg=" + }, + "org/apache/maven/wagon#wagon-http/3.5.3": { + "jar": "sha256-0rbkjJ/L5XnhhYxiLRRGQBH/Jl+m4o55QASmiCFUpQk=", + "pom": "sha256-k08vnIfkl8T3lb5LsFs2C4wjFGfUYBA8GQErebjAPGs=" + }, + "org/apache/maven/wagon#wagon-provider-api/3.5.3": { + "jar": "sha256-XnIAAziUXtPpb45PV40dBnLhr34ZwOkBQZeuWzGvPvQ=", + "pom": "sha256-ZNagheimvt6WB8vQKepYzRyHMEQQhiSSF0ptWbnRcUI=" + }, + "org/apache/maven/wagon#wagon-providers/3.5.3": { + "pom": "sha256-gHxR/8ze9sARMLdK7tJ4FewWK8JobAHp0p8W78UmpEo=" + }, + "org/apache/maven/wagon#wagon/3.5.3": { + "pom": "sha256-fBC4usWSaP55V/KrK1CWXZAGnr+FDHVrtV6oB85EDws=" }, "org/apiguardian#apiguardian-api/1.1.2": { "jar": "sha256-tQlEisUG1gcxnxglN/CzXXEAdYLsdBgyofER5bW3Czg=", "module": "sha256-4IAoExN1s1fR0oc06aT7QhbahLJAZByz7358fWKCI/w=", "pom": "sha256-MjVQgdEJCVw9XTdNWkO09MG3XVSemD71ByPidy5TAqA=" }, - "org/assertj#assertj-build/3.24.2": { - "pom": "sha256-1/yMSqgAWDsmxGfrD67eCvXnynkMS+TU0jVDFYPSbq0=" - }, - "org/assertj#assertj-core/3.24.2": { - "jar": "sha256-3z0LNI8f6Aa93csQ+krmPGZ56YiNS8cFXwmEhReXaqM=", - "pom": "sha256-f7mxojdOtQ7SubWYRcaScxEeoYOaQpj5QAqA4rLFyA4=" - }, - "org/assertj#assertj-parent/3.24.2": { - "pom": "sha256-DFAETrW96ehEI7yhOv9dX0PTdSqzxj9zva5p/EqxoKw=" + "org/assertj#assertj-core/3.25.3": { + "jar": "sha256-f73/oZltQ8wI4lduAQCLB+V7utK0dBqmw6tzzoUREw4=", + "pom": "sha256-ORcjDqozvPE+oz3TN6yvqdMmxzlmC/S2/FbIjXj+ufI=" }, "org/checkerframework#checker-qual/3.12.0": { "jar": "sha256-/xB4WsKjV+xd6cKTy5gqLLtgXAMJ6kzBy5ubxtvn88s=", "module": "sha256-0EeUnBuBCRwsORN3H6wvMqL6VJuj1dVIzIwLbfpJN3c=", "pom": "sha256-d1t6425iggs7htwao5rzfArEuF/0j3/khakionkPRrk=" }, - "org/checkerframework#checker-qual/3.8.0": { - "jar": "sha256-yIwual/a658m/Ph5JkBC3oqe6dN24kd4OP6qvPpE3aY=", - "pom": "sha256-fm1Z4tO8AbHwT6NmcZOm1BcBmbFPulOnqONr92AiOac=" + "org/checkerframework#checker-qual/3.42.0": { + "jar": "sha256-zK7dM68LeJTZ8vO2RPTRnkOSjjKQLmGsTRB3eDD1qsc=", + "module": "sha256-4PpiK33mPq4RBH726RtMKtDx8OE8uQP/UggKR/V6V0Y=", + "pom": "sha256-v1/KqycvVMvPG753w72WPIIcmrrSBYcIvwvtPIdUlMo=" }, - "org/eclipse/jdt#ecj/3.32.0": { - "jar": "sha256-B+A0xEoBnAxjlKBu57XDROVRj2CDwP0Eby2P0WpnYOI=", - "pom": "sha256-nHgB0Qv3Z4qRIwZCCOcFiSsd99CTbaLUoO3TyIqXtHU=" + "org/codehaus/plexus#plexus-cipher/2.0": { + "jar": "sha256-mn8bXFqe/9Yerf2HMUUqL3ao55ER+sOR73XqgBvqIDo=", + "pom": "sha256-BIQvMxsCJbhaXiBDlxDSKOp6YwKr5tU8nJhG+8W/mf8=" + }, + "org/codehaus/plexus#plexus-classworlds/2.6.0": { + "jar": "sha256-Uvd8XsSfeHycQX6+1dbv2ZIvRKIC8hc3bk+UwNdPNUk=", + "pom": "sha256-RppsWfku/6YsB5fOfVLSwDz47hA0uSPDYN14qfUFp7o=" + }, + "org/codehaus/plexus#plexus-component-annotations/2.1.0": { + "jar": "sha256-veNhfOm1vPlYQSYEYIAEOvaks7rqQKOxU/Aue7wyrKw=", + "pom": "sha256-BnC2BSVffcmkVNqux5EpGMzxtUdcv8o3Q2O1H8/U6gA=" + }, + "org/codehaus/plexus#plexus-containers/2.1.0": { + "pom": "sha256-lNWu2zxGAjJlOWUnz4zn/JRLe9eeTrq5BzhkGOtaCNc=" + }, + "org/codehaus/plexus#plexus-interpolation/1.26": { + "jar": "sha256-s7VBLOF4iRA+pWS838+fs9+lQDRP/qxrU4pzydcYJmI=", + "pom": "sha256-4cELOmM1ZB63SmaNqp7oauSrBmEBdOWboHyMaAQjJ/c=" + }, + "org/codehaus/plexus#plexus-sec-dispatcher/2.0": { + "jar": "sha256-hzE5lgxMeAF23aWAsAOixL+CGIvc5buZI04iTves/Os=", + "pom": "sha256-myi7MHAXk4qU0GyFsrCZvEaRK4WdCE+yk+Vp9DLq23w=" + }, + "org/codehaus/plexus#plexus-utils/3.3.1": { + "pom": "sha256-Xlg4eN+QW18zojDvaQpSuPGdq5zIkr7e4Gnz2K9Olgo=" + }, + "org/codehaus/plexus#plexus-utils/3.4.1": { + "jar": "sha256-UtheBLORhyKvEdEoVbSoJX35ag52yPTjhS5vqoUfNXs=", + "pom": "sha256-sUTP+bHGJZ/sT+5b38DzYNacI6vU6m5URTOpSbaeNYI=" + }, + "org/codehaus/plexus#plexus/5.1": { + "pom": "sha256-o0PkT/V5au0OpgvhFFTJNc4gqxxfFkrMjaV0SC3Lx+k=" + }, + "org/codehaus/plexus#plexus/8": { + "pom": "sha256-/6NJ2wTnq/ZYhb3FogYvQZfA/50/H04qpXILdyM/dCw=" + }, + "org/ec4j/core#ec4j-core-parent/0.3.0": { + "pom": "sha256-kKMRBDNTwIfbP/LzSAKWc1ii5IgkXYh7OcIbZvc+3mU=" + }, + "org/ec4j/core#ec4j-core/0.3.0": { + "jar": "sha256-yt7wIHB3B0sRoSvkQviats+T+8L4SHAtk3GpYRQU1Vg=", + "pom": "sha256-/RtdTKFRGzy8nJGvde82Eii0+fsQAZLTyGVHGETdxuk=" + }, + "org/eclipse/jdt#ecj/3.33.0": { + "jar": "sha256-92hsSWDPcMLrxcUApzqM/ARUG3MMGPHFwhMpiJsTf0U=", + "pom": "sha256-JmwX1PHL0Qtxvew5Dh9krNyV5h1hjPSi6obqkDM3v4g=" + }, + "org/eclipse/jdt/ecj/maven-metadata": { + "xml": { + "groupId": "org.eclipse.jdt", + "lastUpdated": "20240611021539", + "release": "3.38.0" + } + }, + "org/eclipse/sisu#org.eclipse.sisu.inject/0.3.5": { + "jar": "sha256-xZlAELzc4dK9YDpNUMRxkd29eHXRFXsjqqJtM8gv2hM=", + "pom": "sha256-wpdpcrQkL/2GBHFthHX1Z1XaD6KGGDROxOUyeBBpbXE=" + }, + "org/eclipse/sisu#org.eclipse.sisu.plexus/0.3.5": { + "jar": "sha256-fkxhCW1wgm8g96fVXFmlUo56pa0kfuLf5UTk3SX2p4Q=", + "pom": "sha256-eGUjydeCWKdKoTRHoWdsIXKs/fQyFl162uK3h20tg9M=" + }, + "org/eclipse/sisu#sisu-inject/0.3.5": { + "pom": "sha256-XzLsq5yPbf8fnkG4U+QNjyOiUIIZFU72fMANRVb19d0=" + }, + "org/eclipse/sisu#sisu-plexus/0.3.5": { + "pom": "sha256-broJAu/Yma7A2NGaw8vFMSPNQROf4OHSnMXIdKeRud4=" }, "org/hamcrest#hamcrest-core/2.2": { "jar": "sha256-CU9dkrS32ciiv1PMadNWJDronDSZRXvLS5L37Tv5WHk=", @@ -569,52 +1251,196 @@ "jar": "sha256-V9Cp6ShvgvTqqFESUYaZf4Eb784OIGD/ChWnf1qd2ac=", "pom": "sha256-w2p8E9o6SFKqiBvfnbYLnk0a8UbsKvtTmPltWYP21d0=" }, - "org/jetbrains#annotations/24.0.0": { - "jar": "sha256-/xEvVM6HS4romc/WjwMV2WyfQGozi47KgMdtEOLlovc=", - "pom": "sha256-q4eN2sP6teB48NqVHqvWf77d09KvFzn+t/lHFgJ1Xws=" + "org/jcommander#jcommander/1.83": { + "jar": "sha256-5l9JwhGaGFm5B2Bh5WH7WVii+m/9tJ8FHKjVmgs/h+Q=", + "module": "sha256-4nbeXr/WJFWAgvhhhFxhYTNryhu8MNXFZIUeNR2bE0U=", + "pom": "sha256-BYh7BLFe8u4t+gZozEfCRaO4kLZzM+gjNgJEVAKLMCA=" + }, + "org/jetbrains#annotations/13.0": { + "jar": "sha256-rOKhDcji1f00kl7KwD5JiLLA+FFlDJS4zvSbob0RFHg=", + "pom": "sha256-llrrK+3/NpgZvd4b96CzuJuCR91pyIuGN112Fju4w5c=" + }, + "org/jetbrains#annotations/23.0.0": { + "jar": "sha256-ew8ZckCCy/y8ZuWr6iubySzwih6hHhkZM+1DgB6zzQU=", + "pom": "sha256-yUkPZVEyMo3yz7z990P1P8ORbWwdEENxdabKbjpndxw=" + }, + "org/jetbrains#annotations/24.1.0": { + "jar": "sha256-J6dw3HzlBQCRi7jDwGYMmCkGMOx5a1489rkPQDswM8Y=", + "pom": "sha256-Ljf9cCCkNkueXZ93xbZ0Kjvqkn3VYMoeOQ3IFcnFCCA=" + }, + "org/jetbrains/intellij/deps#trove4j/1.0.20200330": { + "jar": "sha256-xf1yW/+rUYRr88d9sTg8YKquv+G3/i8A0j/ht98KQ50=", + "pom": "sha256-h3IcuqZaPJfYsbqdIHhA8WTJ/jh1n8nqEP/iZWX40+k=" + }, + "org/jetbrains/kotlin#kotlin-build-common/1.9.23": { + "jar": "sha256-IoJaHv4VSRN9GBPtedycyvVLSoonAKSsf3CNxmAki68=", + "pom": "sha256-2ePH5h9YSUkAFP6BC/wQSp6aRNVl7RhsWGu7P0/D0/s=" + }, + "org/jetbrains/kotlin#kotlin-build-tools-api/1.9.23": { + "jar": "sha256-gvhH4lRXtGSDfv7x2oUC7JJTLedAbnkgUWbODs9PxSE=", + "pom": "sha256-CWkjtiXJfGZzZ5ZsxM6Sv5TE6f98U8sdOEhgEax1DVg=" + }, + "org/jetbrains/kotlin#kotlin-build-tools-impl/1.9.23": { + "jar": "sha256-6sLwRmWHGVWn0K5FcZad8rCOfTN7LxIhAGb9PuAfWYE=", + "pom": "sha256-/OLyPE6fBzshdovfVqMa2W0zjNwD0FoVekWl/bL/7bE=" + }, + "org/jetbrains/kotlin#kotlin-compiler-embeddable/1.9.22": { + "jar": "sha256-K/6t7lmrGYjDNtvW5l2ZH3Zq4d2Gg/Km3tX6oCefDKA=", + "pom": "sha256-s9o0u29ClqzzoPRDRm8FBsbJnaXNliTW4LdFsiKHhOs=" + }, + "org/jetbrains/kotlin#kotlin-compiler-embeddable/1.9.23": { + "jar": "sha256-zJQGSXS/nr9ZlF4xIXzy0WoM66rySH6wdI/By9F4eUM=", + "pom": "sha256-WLI81NgtWqkWpcnMmbMhjuxVaWBoova3C+3fbDaR/RU=" + }, + "org/jetbrains/kotlin#kotlin-compiler-runner/1.9.23": { + "jar": "sha256-yFlaPhcRx0U8f5YKrxKhcNtL2j1vy6Sf/I4yy/0ADKE=", + "pom": "sha256-KebjEpGbdf6aOHjflRHPQhDcJuWTQcsu4iSDt7Tgcv4=" + }, + "org/jetbrains/kotlin#kotlin-daemon-client/1.9.23": { + "jar": "sha256-5jFUJUkZ/XBv6ZN8SNuTfqkGimMfht5lWlFLwWIPmI0=", + "pom": "sha256-X70GastuQIU5gCdsaDUWmSj2Zqt8RlEsJvJMnQMIF9M=" + }, + "org/jetbrains/kotlin#kotlin-daemon-embeddable/1.9.23": { + "jar": "sha256-bztmG5gmetJOL4+3rV0Gvn0u1hpdBcJn9OTKp433g9k=", + "pom": "sha256-WFRgOL5Go4NmOFPRMd12xPsnQ4MLqXt0sno1zxAtPQI=" + }, + "org/jetbrains/kotlin#kotlin-klib-commonizer-embeddable/1.9.23": { + "jar": "sha256-uAo4tLuB+wPQ8wdHPQMtc7J3j6drA0Y4floQ3YM9co4=", + "pom": "sha256-iLBAO2Z/cVJX6gDXdiFkkzggk+727vUBslU6HVIHG2g=" + }, + "org/jetbrains/kotlin#kotlin-reflect/1.6.10": { + "jar": "sha256-MnesECrheq0QpVq+x1/1aWyNEJeQOWQ0tJbnUIeFQgM=", + "pom": "sha256-V5BVJCdKAK4CiqzMJyg/a8WSWpNKBGwcxdBsjuTW1ak=" + }, + "org/jetbrains/kotlin#kotlin-script-runtime/1.9.23": { + "jar": "sha256-dRN+QUoaW0tNCQ+BLQ416zC08MkjpT1pWFRWuyT8Hfg=", + "pom": "sha256-LWx0sGpUDpicq9BTChbnZYGQUl8vTVpDq5sa/nQU/F8=" + }, + "org/jetbrains/kotlin#kotlin-scripting-common/1.9.23": { + "jar": "sha256-ii5Wfz2/Nz5hwBrNeIRjHshThGWrjul4rGMpb4zJr0Y=", + "pom": "sha256-/CiXW5TcQMDZD9EXXiKxtka60sY368+fT2qy1Oe8XdU=" + }, + "org/jetbrains/kotlin#kotlin-scripting-compiler-embeddable/1.9.23": { + "jar": "sha256-e4A5/wt3nVVs7QCSMDWr0TNPDl8qiHlhgtArpF+SbSA=", + "pom": "sha256-7Y6//r5Ume1iSG+oGBJ7td1QHXTEq5XFfnwB7z+NuWg=" + }, + "org/jetbrains/kotlin#kotlin-scripting-compiler-impl-embeddable/1.9.23": { + "jar": "sha256-kOU90S9i3NgjQ8EsDLMUrc/wy8OYjtsRjR5miZYOnWM=", + "pom": "sha256-923kmO12xGroZlZnmAf3J2EiPD+hChExgyAGpKs5Xe0=" + }, + "org/jetbrains/kotlin#kotlin-scripting-dependencies-maven/1.9.23": { + "jar": "sha256-15BHfNrTlUm3vlMKHXBaa0RUgEFvYUMWLzIoaiqoeGI=", + "pom": "sha256-5FD5GXKvpLES34ljPbiGRj0XG01WNZx5lDT3Z5eRjb0=" + }, + "org/jetbrains/kotlin#kotlin-scripting-dependencies/1.9.23": { + "jar": "sha256-b7saKennTbMR0UVWAsWG7ySIcG4ysN966mdMb87ZC90=", + "pom": "sha256-QmyeCV1+xxiGq0Ia/keHbTXG0H2HSvMtDvEJJjR7UwM=" + }, + "org/jetbrains/kotlin#kotlin-scripting-ide-services/1.9.23": { + "jar": "sha256-NbieJKmqscF//YMTW8qrPvr2a1YIjw8UhqNV4bE/37k=", + "pom": "sha256-ZbprfsFiGKOpst4RgwSPCleY8bJKII9O/EGWBo/wViE=" + }, + "org/jetbrains/kotlin#kotlin-scripting-jvm-host/1.9.23": { + "jar": "sha256-GGE2U4yx0RFatixSOe2uz/R+ZFByPpch10z8wcvmSI8=", + "pom": "sha256-zlETvo0uISJ1iCOzwX24YciRO/ZmDkj3FY8pgT72pSo=" + }, + "org/jetbrains/kotlin#kotlin-scripting-jvm/1.9.23": { + "jar": "sha256-0/yn7JUf94Jvl6dZifjcr/YM+eHna73CIO33eDdqbmQ=", + "pom": "sha256-4u8r+y628hp7croS7cWaFQx/IXbCssVP4uhg7oAjDYc=" + }, + "org/jetbrains/kotlin#kotlin-stdlib-common/1.9.23": { + "module": "sha256-hjnwBfqZd67wjDL8jnonedoi7iYkZNcnMpiq/Ug3Fc0=", + "pom": "sha256-OuBxRYdw47aGCafTGet5emeJ9fBAyqQUQJgJmGhb5PY=" + }, + "org/jetbrains/kotlin#kotlin-stdlib/1.9.23": { + "jar": "sha256-iRDMI4gH2G71UMsfCxDdXtQLNaTsGlJSX3YK7ehOrTc=", + "module": "sha256-UZUZOzfc2touHAqw1RLEIrKtdq81V4Q6G5w0gPTnHQ4=", + "pom": "sha256-wm0n8mcQrUDiPu2f/gpkuFkejBPSI8ypDFk+5j87KKs=" + }, + "org/jetbrains/kotlin#kotlin-stdlib/1.9.23/all": { + "jar": "sha256-zsOLwzAucqiq+c3kNrWpBx7gMx4q0F6E2LuJczTX6dQ=" + }, + "org/jetbrains/kotlinx#atomicfu/0.23.1": { + "jar": "sha256-fbhmDr5LkbtHjts2FsTjpQulnAfcpRfR4ShMA/6GrFc=", + "module": "sha256-Pokf5ja1UQgZIQD884saObzRwlM+I8Ri/AdkTur8sg8=", + "pom": "sha256-aIt5ABn0F87APmldZWexc7o7skGJVBZi8U/2ZEG1Pas=" + }, + "org/jetbrains/kotlinx#kotlinx-coroutines-bom/1.8.0": { + "pom": "sha256-Ejnp2+E5fNWXE0KVayURvDrOe2QYQuQ3KgiNz6i5rVU=" + }, + "org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.5.0": { + "jar": "sha256-eNbMcTX4TWkv83Uvz9H6G74JQNffcGUuTx6u7Ax4r7s=", + "module": "sha256-yIXdAoEHbFhDgm3jF+PLzcPYhZ2+71OuHPrNG5xg+W4=", + "pom": "sha256-U2IuA3eN+EQPwBIgGjW7S9/kAWTv7GErvvze7LL/wqs=" + }, + "org/jetbrains/kotlinx#kotlinx-coroutines-core-jvm/1.8.0": { + "jar": "sha256-mGCQahk3SQv187BtLw4Q70UeZblbJp8i2vaKPR9QZcU=", + "module": "sha256-/2oi2kAECTh1HbCuIRd+dlF9vxJqdnlvVCZye/dsEig=", + "pom": "sha256-pWM6vVNGfOuRYi2B8umCCAh3FF4LduG3V4hxVDSIXQs=" + }, + "org/jetbrains/kotlinx#kotlinx-coroutines-core/1.8.0": { + "jar": "sha256-IKpDS2qTDqZtLmGwDe764J/qPTL5ZA0uDCcTEogOCt0=", + "module": "sha256-FE7s1TZd4+MNe0YibAWAUeOZVbXBieMfpMfP+5nWILo=", + "pom": "sha256-yglaS/iLR0+trOgzLBCXC3nLgBu/XfBHo5Ov4Ql28yE=" + }, + "org/jetbrains/kotlinx#kotlinx-metadata-jvm/0.9.0": { + "jar": "sha256-1C9LrGC4HE/c7xxmau1BgdAEAeXmluSW9Ek1/jL+pY8=", + "pom": "sha256-stGZ96s08Nie6VlCizjwl2iJfasjZno+Ou+DgaHCfwM=" + }, + "org/junit#junit-bom/5.10.0": { + "module": "sha256-6z7mEnYIAQaUqJgFbnQH0RcpYAOrpfXbgB30MLmIf88=", + "pom": "sha256-4AbdiJT5/Ht1/DK7Ev5e2L5lZn1bRU+Z4uC4xbuNMLM=" + }, + "org/junit#junit-bom/5.10.2": { + "module": "sha256-3iOxFLPkEZqP5usXvtWjhSgWaYus5nBxV51tkn67CAo=", + "pom": "sha256-Fp3ZBKSw9lIM/+ZYzGIpK/6fPBSpifqSEgckzeQ6mWg=" }, "org/junit#junit-bom/5.7.1": { "module": "sha256-mFTjiU1kskhSB+AEa8oHs9QtFp54L0+oyc4imnj67gQ=", "pom": "sha256-C5sUo9YhBvr+jGinF7h7h60YaFiZRRt1PAT6QbaFd4Q=" }, - "org/junit#junit-bom/5.9.0": { - "module": "sha256-oFTq9QFrWLvN6GZgREp8DdPiyvhNKhrV/Ey1JZecGbk=", - "pom": "sha256-2D6H8Wds3kQZHuxc2mkEkjkvJpI7HkmBSMpznf7XUpU=" + "org/junit#junit-bom/5.7.2": { + "module": "sha256-87zrHFndT2mT9DBN/6WAFyuN9lp2zTb6T9ksBXjSitg=", + "pom": "sha256-zRSqqGmZH4ICHFhdVw0x/zQry6WLtEIztwGTdxuWSHs=" }, - "org/junit#junit-bom/5.9.1": { - "module": "sha256-kCbBZWaQ+hRa117Og2dCEaoSrYkwqRsQfC9c3s4vGxw=", - "pom": "sha256-sWPBz8j8H9WLRXoA1YbATEbphtdZBOnKVMA6l9ZbSWw=" + "org/junit/jupiter#junit-jupiter-api/5.10.2": { + "jar": "sha256-r/93wYbNMXJ1gDhy+lEzqoAf1qxAvZHHimz4AJtLF8w=", + "module": "sha256-QRtKlsKm2wmY1uWOiZNn8NElQWPzBBydmOeu38o3RBk=", + "pom": "sha256-u12jBgImsbPOtUCEldxptZRlv1DX6+Y+75TyWQnPGQA=" }, - "org/junit#junit-bom/5.9.2": { - "module": "sha256-qxN7pajjLJsGa/kSahx23VYUtyS6XAsCVJdyten0zx8=", - "pom": "sha256-LtB9ZYRRMfUzaoZHbJpAVrWdC1i5gVqzZ5uw82819wU=" + "org/junit/jupiter#junit-jupiter-engine/5.10.2": { + "jar": "sha256-tt812nUKVGrpMjdvEbPA34QfDJDHyylEzTmttDKIbks=", + "module": "sha256-FD7yda5mlRGdeCEqkyRazrv5I1tTdbn0wdSvcy87Uwo=", + "pom": "sha256-q+csj7+anI+e55usKbpkedMrDf+quICApQKRHSTTlGM=" }, - "org/junit/jupiter#junit-jupiter-api/5.9.2": { - "jar": "sha256-92ehcPlxJ7CtNYK/M1jqu7vpgdn5ZBGFPmKdknaSb9U=", - "module": "sha256-y9Ae2F1HTMhbIT/iBrzpgmbWdZzSjWxeQb/kUJCepHs=", - "pom": "sha256-EK9g+mkKzNzr85TsWECdzs/x3sNwJopnA2ChFfcxxVw=" + "org/junit/jupiter#junit-jupiter-params/5.10.2": { + "jar": "sha256-7bHkP/C4BnYm/7VeXp7sodmrJHgUGnx/JT0RWynMfPI=", + "module": "sha256-IMLmXVKjnIVJbo4XDgjG7Sk1x/NeZRAT2WTcG7dcgns=", + "pom": "sha256-8n19CW20igXW56/YQalUVEJOVcUj167RZoF4szpjy9c=" }, - "org/junit/jupiter#junit-jupiter-engine/5.9.2": { - "jar": "sha256-dM/Ek4j3YEE/80jKLJqzlSdIS1fe7NFX8idaX4pf6XE=", - "module": "sha256-WmigqdMTI0BieAXap0YY+zTEXMUZp8LsgzQedDixOTM=", - "pom": "sha256-nfOOgj4a3Zplas+5Wc5zsHAE32yffANnwmt0PmVrWa8=" + "org/junit/jupiter#junit-jupiter/5.10.2": { + "jar": "sha256-Jj5DRH9LQPEmrWsdy9ffN5RIQTve244NJAxby7p8ek8=", + "module": "sha256-cjF2bPGyuJLGehQsljkU5rc/u1BhpschROt/jnJ3DsE=", + "pom": "sha256-1bcMXC10Ui2mEM04d28iW6wDSsJZGEO+6Xl6urOIDqs=" }, - "org/junit/platform#junit-platform-commons/1.9.2": { - "jar": "sha256-Yko9dF7x0o6VWmpnr47boP38XJutaApz9npwu5UKaD0=", - "module": "sha256-a6TIRhPluJ5mjuaomXHw2Q0OG4FyG4tf4MgAWPDOue4=", - "pom": "sha256-JAI/IMI1ppYJ+y+Vpgc4VX/PlBPzrpKpLhMpVH1hRck=" + "org/junit/platform#junit-platform-commons/1.10.2": { + "jar": "sha256-tWpewACked9Jc7GLuiTJj+Dbj6oUyJB9PvRR2Mcf2K4=", + "module": "sha256-HoFCGmL4cryk0gIgs56hniexNfNre3gXBPkvrVQxlhg=", + "pom": "sha256-8/glx8o72JcU1IlEfHfHbifqOPAoX195ahAAoX/KS+c=" }, - "org/junit/platform#junit-platform-engine/1.9.2": { - "jar": "sha256-JfI9xTWgkencgMAI+vKdy5K+kC5pEfd6c2+68BmQg2c=", - "module": "sha256-HehRQa+fWBU+JFdQaaE3X7vt169dhEy+MoeWU0nLofc=", - "pom": "sha256-LflCCmsk5fTzFCNeAc2cO49kYoXbL26C2G7gbvevTiQ=" + "org/junit/platform#junit-platform-engine/1.10.2": { + "jar": "sha256-kFy6m0mYzMKdEjkIWn+x/g4oAk11JhUjVtgQ7ewKSaM=", + "module": "sha256-4dG63P7cJyRFQeC+XV6EtyoicNevYWhrJvEc/Edw2kI=", + "pom": "sha256-EqqGyhwNZIoiXU58aWBUwfx26IeCxcOft983muI7728=" }, - "org/mockito#mockito-bom/4.11.0": { - "pom": "sha256-2FMadGyYj39o7V8YjN6pRQBq6pk+xd+eUk4NJ9YUkdo=" + "org/junit/platform#junit-platform-launcher/1.10.2": { + "jar": "sha256-rtT0L7kK2ps0fCMfE2VvwJEhuiDattxkamvZ1Nox5Ko=", + "module": "sha256-/1YhIQJQJSv9rbYiu+LqZuzsMahnc2zqSz1K3yGcp/8=", + "pom": "sha256-WjEXCOeQa7l0YpwayHC8EWV0ZbmJ2koHfkVBa9mHJeQ=" }, - "org/mockito#mockito-core/4.10.0": { - "jar": "sha256-vBSafXSmWCf6rVb9zTfy9T9DbuOcKfCIJ2+hs4S/g3o=", - "pom": "sha256-Dzw6IxhyvrM1D0WynDIPI/KTKMjDgCrbs5WIbS+OsyU=" + "org/mockito#mockito-core/5.11.0": { + "jar": "sha256-8HbJax9JuNm8QuRrCWmq9WhMQMi1tnnUAOXYgAc6DgA=", + "pom": "sha256-ugsbXXA1CUlPmo5EWCIjh54zSKTElmfwx35odG5IHHg=" }, "org/objenesis#objenesis-parent/3.3": { "pom": "sha256-MFw4SqLx4cf+U6ltpBw+w1JDuX1CjSSo93mBjMEL5P8=" @@ -623,28 +1449,33 @@ "jar": "sha256-At/QsEOaVZHjW3CO0vVHTrCUj1Or90Y36Vm45O9pv+s=", "pom": "sha256-ugxA2iZpoEi24k73BmpHHw+8v8xQnmo+hWyk3fphStM=" }, - "org/opentest4j#opentest4j/1.2.0": { - "jar": "sha256-WIEt5giY2Xb7ge87YtoFxmBMGP1KJJ9QRCgkefwoavI=", - "pom": "sha256-qW5nGBbB/4gDvex0ySQfAlvfsnfaXStO4CJmQFk2+ZQ=" + "org/opentest4j#opentest4j/1.3.0": { + "jar": "sha256-SOLfY2yrZWPO1k3N/4q7I1VifLI27wvzdZhoLd90Lxs=", + "module": "sha256-SL8dbItdyU90ZSvReQD2VN63FDUCSM9ej8onuQkMjg0=", + "pom": "sha256-m/fP/EEPPoNywlIleN+cpW2dQ72TfjCUhwbCMqlDs1U=" }, "org/ow2#ow2/1.5.1": { "pom": "sha256-Mh3bt+5v5PU96mtM1tt0FU1r+kI5HB92OzYbn0hazwU=" }, - "org/ow2/asm#asm-analysis/9.4": { - "jar": "sha256-e1+MXjvzQbW7Vw0m83nj/evcMnMhhxWcQkeRZAU/Nz0=", - "pom": "sha256-fZtgkidiP2x+9v13+gbaWG0Na6wRTPPnICDaiFPYdZw=" + "org/ow2/asm#asm-analysis/9.6": { + "jar": "sha256-2Sgy18N+3AfGDiVZrGEYsx1kLjN6ZnHty3up+uaO27s=", + "pom": "sha256-+j+ZUCHP9PQTkwbmz/7uoHU5EGRA0psZzAanpjahOFA=" }, - "org/ow2/asm#asm-tree/9.4": { - "jar": "sha256-xC1HnPJFZqIesgr37q7vToa9tKiGMGz3L0g7ZedbKs8=", - "pom": "sha256-x+nvk73YqzYwMs5TgvzGTQAtbFicF1IzI2zSmOUaPBY=" + "org/ow2/asm#asm-tree/9.6": { + "jar": "sha256-xD7PF7U5x3fhXae1uGVTs3fi05poPeYoVWfVKDiI5+8=", + "pom": "sha256-G8tIHX/Ba5VbtgygfIz6JCS87ni9xAW7oxx9b13C0RM=" }, - "org/ow2/asm#asm-util/9.4": { - "jar": "sha256-PXkyuT/1UFZkHnz7YB+WvNXNBx4bBQPHilAUIyKXoj4=", - "pom": "sha256-ugQzwHsMD2mA8suPgEH/WcgemEgeEBliEFFi43IvH5I=" + "org/ow2/asm#asm-util/9.6": { + "jar": "sha256-xjWnQC9Kqb9msvQjDOpiAloP4c1j6HKa3vybGZT6xMM=", + "pom": "sha256-UsXB01dAR3nRqZtJqFv506CFAluFFstz2+93yK40AF4=" }, - "org/ow2/asm#asm/9.4": { - "jar": "sha256-OdDis9xFr2Wgmwl5RXUKlKEm4FLhJPk0aEQ6HQ4V84E=", - "pom": "sha256-SDdR5I+y0fQ8Ya06sA/6Rm7cAzPY/C/bWibpXTKYI5Q=" + "org/ow2/asm#asm/9.6": { + "jar": "sha256-PG+sJCTbPUqFO2afTj0dnDxVIjXhmjGWc/iHCDwjA6E=", + "pom": "sha256-ku7iS8PIQ+SIHUbB3WUFRx7jFC+s+0ZrQoz+paVsa2A=" + }, + "org/ow2/asm#asm/9.7": { + "jar": "sha256-rfRtXjSUC98Ujs3Sap7o7qlElqcgNP9xQQZrPupcTp0=", + "pom": "sha256-3gARXx2E86Cy7jpLb2GS0Gb4bRhdZ7nRUi8sgP6sXwA=" }, "org/reactivestreams#reactive-streams/1.0.3": { "jar": "sha256-He4EgQctGckptiPhVeFNL2CF3AEVKaCg2+/ITPVx2GU=", @@ -654,32 +1485,22 @@ "jar": "sha256-k4otCP5UBQ12ELlE2N3DoJNVcQ2ea+CqyDjbwE6aKCU=", "pom": "sha256-tsqj6301vXVu1usKKoGGi408D29CJE/q5BdgrGYwbYc=" }, - "org/slf4j#slf4j-api/2.0.6": { - "jar": "sha256-LyqS1BCyaBOdfWO3XtJeIZlc/kEAwZvyNXfP28gHe9o=", - "pom": "sha256-i06GxT0ng2CPGuohPZBsW6xcBDPgCxkjm7FnZLn6NzY=" + "org/slf4j#jcl-over-slf4j/1.7.36": { + "jar": "sha256-q1fKj9IjdywXNl0SH1npTsvwrlnQjAOjy1uBBxwBkZU=", + "pom": "sha256-vZYkPX1CGM18x9RcDjD6E0gKGk+R01bt19/pPx/7aOY=" }, - "org/slf4j#slf4j-parent/2.0.6": { - "pom": "sha256-FIJlDL4x5AjB3IkCHLrh0wRK1KAb+PYro2C2qBOhMSQ=" + "org/slf4j#slf4j-api/2.0.13": { + "jar": "sha256-58KkjoUVuh9J+mN9V7Ti9ZCz9b2XQHrGmcOqXvsSBKk=", + "pom": "sha256-UYBc/agMoqyCBBuQbZhl056YI+NYoO62I3nf7UdcFXE=" }, - "org/smali#baksmali/2.5.2": { - "jar": "sha256-HtI2Jm19xJB6reCxmjT3fvrCU0K2PIrOUuV5A5lBs4k=", - "module": "sha256-g+59x3oek4+5BtaNfUPiRX8s+Im7HecuqtcJJDVfpbU=", - "pom": "sha256-8FzZiasE/SboahreXCGauEgovqfebryA/Bd7YtJ1k4g=" + "org/slf4j#slf4j-bom/2.0.13": { + "pom": "sha256-evJy16c44rmHY3kf/diWBA6L6ymKiP1gYhRAeXbNMQo=" }, - "org/smali#dexlib2/2.5.2": { - "jar": "sha256-WlyJgti9fW47saBxMEnjx4txnsMrIPa2GYhc7DCg3WE=", - "module": "sha256-5XDKZe/asrKMAq2P34W9hSIGZrkkuJXKW+r1fXKGiDw=", - "pom": "sha256-BWB6NSDN841drl0MQZZRKjhWpA3rlTny/OCGNalut44=" + "org/slf4j#slf4j-parent/1.7.36": { + "pom": "sha256-uziNN/vN083mTDzt4hg4aTIY3EUfBAQMXfNgp47X6BI=" }, - "org/smali#smali/2.5.2": { - "jar": "sha256-E2xcRlPWUxvXtvEPNfhpHLlkMucn0wtNVXmCbuAelBk=", - "module": "sha256-3ubU7dlRzZ7W5xd4wA81AoCJw7e+/HIwojoeqxalV3s=", - "pom": "sha256-NSyCM7StGa2AyNSrKY8jvdMHeHrE/phZDs30CODcZOY=" - }, - "org/smali#util/2.5.2": { - "jar": "sha256-T1gKnP8+u4PLP9IL7Ijjfk8YN5bKZScymSYRYgKC2uo=", - "module": "sha256-rRt+JSAWcAXJFp2Gv8z/JvXF+b8Ls/qyRMtIIWU9wmE=", - "pom": "sha256-IKx+12/5cPUQB6IPrIvbon7IeUT9Kb2oxnQJZ5LJFFE=" + "org/slf4j#slf4j-parent/2.0.13": { + "pom": "sha256-Z/rP1R8Gk1zqhWFaBHddcNgL/QOtDzdnA1H5IO0LtYo=" }, "org/sonatype/oss#oss-parent/7": { "pom": "sha256-tR+IZ8kranIkmVV/w6H96ne9+e9XRyL+kM5DailVlFQ=" @@ -687,9 +1508,15 @@ "org/sonatype/oss#oss-parent/9": { "pom": "sha256-+0AmX5glSCEv+C42LllzKyGH7G8NgBgohcFO8fmCgno=" }, - "tools/profiler#async-profiler/2.9": { - "jar": "sha256-bE6ZPCjPKIKWTKyCoPlugaMlhABDiEUmVlAXsvYsW6Q=", - "pom": "sha256-oDKflhfii6+4Rj+/btPUskpJc5oVvhlwRVB27V1SgU8=" + "org/yaml#snakeyaml/1.23": { + "pom": "sha256-HhvrIsqQYglwASK1ys9vJxkyRTjFsePCe/kVZMjTHb0=" + }, + "org/yaml#snakeyaml/1.23/android": { + "jar": "sha256-wPepBigXKXDT/21+qnoE9ztXKQs7jbqRbIKBp28iFMo=" + }, + "tools/profiler#async-profiler/3.0": { + "jar": "sha256-j3mIYASdAfSi+FNZbSjIXSmD8MCY8WWjKQm32px0IJ8=", + "pom": "sha256-kcs0wRa8nJ0jcynAw9TJdrLcby37mv6e8uRUO5aJiVU=" } } } diff --git a/pkgs/tools/security/sequoia-sqop/default.nix b/pkgs/tools/security/sequoia-sqop/default.nix index 2354a63d9737..ff62b5793f0e 100644 --- a/pkgs/tools/security/sequoia-sqop/default.nix +++ b/pkgs/tools/security/sequoia-sqop/default.nix @@ -48,11 +48,11 @@ rustPlatform.buildRustPackage rec { passthru.updateScript = nix-update-script { }; - meta = with lib; { + meta = { description = "Implementation of the Stateless OpenPGP Command Line Interface using Sequoia"; homepage = "https://docs.sequoia-pgp.org/sqop/"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ doronbehar ]; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ doronbehar ]; mainProgram = "sqop"; }; } diff --git a/pkgs/tools/security/sequoia-sqv/default.nix b/pkgs/tools/security/sequoia-sqv/default.nix index 7923b494c17e..591a547425ba 100644 --- a/pkgs/tools/security/sequoia-sqv/default.nix +++ b/pkgs/tools/security/sequoia-sqv/default.nix @@ -9,17 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "sequoia-sqv"; - version = "1.1.0"; + version = "1.2.1"; src = fetchFromGitLab { owner = "sequoia-pgp"; repo = "sequoia-sqv"; rev = "v${version}"; - hash = "sha256-KoB9YnPNE2aB5MW5G9r6Bk+1QnANVSKA2dp3ufSJ44M="; + hash = "sha256-frGukJDsxq+BWLPC/4imfc42lDKVF8BPIQQDazaLaQ0="; }; - cargoPatches = [ ./Cargo.lock.patch ]; - cargoHash = "sha256-E6tNOc3omg6yLwCP+MdyBF/HmFTBFCiXd5r+jflfs4k="; + cargoHash = "sha256-1h1nXtXMTwL8ICxWTV8My0IdE+6w0L7xXZD012Cv5U8="; nativeBuildInputs = [ pkg-config @@ -30,31 +29,29 @@ rustPlatform.buildRustPackage rec { buildInputs = [ nettle ]; - # Otherwise, the shell completion files are not built - cargoBuildFlags = [ - "--package" "sequoia-sqv" - ]; - # Use a predictable target directory, to access it when installing shell - # completion files. - preBuild = '' - export CARGO_TARGET_DIR="$(pwd)/target" - ''; + # Install shell completion files and manual pages. Unfortunatly it is hard to + # predict the paths to all of these files generated during the build, and it + # is impossible to control these using `$OUT_DIR` or alike, as implied by + # upstream's `build.rs`. This is a general Rust issue also discussed in + # https://github.com/rust-lang/cargo/issues/9661, also discussed upstream at: + # https://gitlab.com/sequoia-pgp/sequoia-wot/-/issues/56 postInstall = '' + installManPage target/*/release/build/*/out/man-pages/sqv.1 installShellCompletion --cmd sqv \ - --zsh target/_sqv \ - --bash target/sqv.bash \ - --fish target/sqv.fish + --zsh target/*/release/build/*/out/shell-completions/_sqv \ + --bash target/*/release/build/*/out/shell-completions/sqv.bash \ + --fish target/*/release/build/*/out/shell-completions/sqv.fish ''; doCheck = true; passthru.updateScript = nix-update-script { }; - meta = with lib; { + meta = { description = "Command-line OpenPGP signature verification tool"; homepage = "https://docs.sequoia-pgp.org/sqv/"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ doronbehar ]; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ doronbehar ]; mainProgram = "sqv"; }; } diff --git a/pkgs/tools/virtualization/xen-guest-agent/default.nix b/pkgs/tools/virtualization/xen-guest-agent/default.nix index 2ddbbe45955a..1b9f637bf61a 100644 --- a/pkgs/tools/virtualization/xen-guest-agent/default.nix +++ b/pkgs/tools/virtualization/xen-guest-agent/default.nix @@ -3,7 +3,7 @@ fetchFromGitLab, rustPlatform, llvmPackages, - xen-light, + xen-slim, }: rustPlatform.buildRustPackage rec { pname = "xen-guest-agent"; @@ -20,14 +20,14 @@ rustPlatform.buildRustPackage rec { env = { LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib"; - BINDGEN_EXTRA_CLANG_ARGS = "-isystem ${xen-light}/include"; - RUSTFLAGS = "-L ${xen-light}/lib"; + BINDGEN_EXTRA_CLANG_ARGS = "-isystem ${xen-slim.dev}/include"; + RUSTFLAGS = "-L ${xen-slim.out}/lib"; }; - nativeBuildInputs = [llvmPackages.clang xen-light]; + nativeBuildInputs = [llvmPackages.clang xen-slim.out]; postFixup = '' - patchelf $out/bin/xen-guest-agent --add-rpath ${xen-light}/lib + patchelf $out/bin/xen-guest-agent --add-rpath ${xen-slim.out}/lib ''; meta = with lib; { diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 6a86f796a915..a0b4ad43fbe1 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -73,20 +73,20 @@ mapAliases ({ adoptopenjdk-bin-17-packages-linux = throw "adoptopenjdk has been removed as the upstream project is deprecated. Consider using `temurin-bin-17`."; # Added 2024-05-09 adoptopenjdk-hotspot-bin-11 = throw "adoptopenjdk has been removed as the upstream project is deprecated. Consider using `temurin-bin-11`."; # Added 2024-05-09 adoptopenjdk-hotspot-bin-15 = throw "adoptopenjdk has been removed as the upstream project is deprecated. JDK 15 is also EOL. Consider using `temurin-bin-17`."; # Added 2024-05-09 - adoptopenjdk-hotspot-bin-16 = throw "adoptopenjdk has been removed as the upstream project is deprecated. JDK 16 is also EOL. Consider using `temurin-bin-17` or `temurin-bin-16`."; # Added 2024-05-09 + adoptopenjdk-hotspot-bin-16 = throw "adoptopenjdk has been removed as the upstream project is deprecated. JDK 16 is also EOL. Consider using `temurin-bin-17`."; # Added 2024-05-09 adoptopenjdk-hotspot-bin-8 = throw "adoptopenjdk has been removed as the upstream project is deprecated. Consider using `temurin-bin-8`."; # Added 2024-05-09 adoptopenjdk-jre-bin = throw "adoptopenjdk has been removed as the upstream project is deprecated. Consider using `temurin-jre-bin`."; # Added 2024-05-09 adoptopenjdk-jre-hotspot-bin-11 = throw "adoptopenjdk has been removed as the upstream project is deprecated. Consider using `temurin-jre-bin-11`."; # Added 2024-05-09 adoptopenjdk-jre-hotspot-bin-15 = throw "adoptopenjdk has been removed as the upstream project is deprecated. JDK 15 is also EOL. Consider using `temurin-jre-bin-17`."; # Added 2024-05-09 - adoptopenjdk-jre-hotspot-bin-16 = throw "adoptopenjdk has been removed as the upstream project is deprecated. JDK 16 is also EOL. Consider using `temurin-jre-bin-17` or `temurin-jre-bin-16`."; # Added 2024-05-09 + adoptopenjdk-jre-hotspot-bin-16 = throw "adoptopenjdk has been removed as the upstream project is deprecated. JDK 16 is also EOL. Consider using `temurin-jre-bin-17`."; # Added 2024-05-09 adoptopenjdk-jre-hotspot-bin-8 = throw "adoptopenjdk has been removed as the upstream project is deprecated. Consider using `temurin-jre-bin-8`."; # Added 2024-05-09 adoptopenjdk-jre-openj9-bin-11 = throw "adoptopenjdk has been removed as the upstream project is deprecated. Consider using `semeru-jre-bin-11`."; # Added 2024-05-09 adoptopenjdk-jre-openj9-bin-15 = throw "adoptopenjdk has been removed as the upstream project is deprecated. JDK 15 is also EOL. Consider using `semeru-jre-bin-17`."; # Added 2024-05-09 - adoptopenjdk-jre-openj9-bin-16 = throw "adoptopenjdk has been removed as the upstream project is deprecated. JDK 16 is also EOL. Consider using `semeru-jre-bin-17` or `semeru-jre-bin-16`."; # Added 2024-05-09 + adoptopenjdk-jre-openj9-bin-16 = throw "adoptopenjdk has been removed as the upstream project is deprecated. JDK 16 is also EOL. Consider using `semeru-jre-bin-17`."; # Added 2024-05-09 adoptopenjdk-jre-openj9-bin-8 = throw "adoptopenjdk has been removed as the upstream project is deprecated. Consider using `semeru-jre-bin-8`."; # Added 2024-05-09 adoptopenjdk-openj9-bin-11 = throw "adoptopenjdk has been removed as the upstream project is deprecated. Consider using `semeru-bin-11`."; # Added 2024-05-09 adoptopenjdk-openj9-bin-15 = throw "adoptopenjdk has been removed as the upstream project is deprecated. JDK 15 is also EOL. Consider using `semeru-bin-17`."; # Added 2024-05-09 - adoptopenjdk-openj9-bin-16 = throw "adoptopenjdk has been removed as the upstream project is deprecated. JDK 16 is also EOL. Consider using `semeru-bin-17` or `semeru-bin-16`"; # Added 2024-05-09 + adoptopenjdk-openj9-bin-16 = throw "adoptopenjdk has been removed as the upstream project is deprecated. JDK 16 is also EOL. Consider using `semeru-bin-17`."; # Added 2024-05-09 adoptopenjdk-openj9-bin-8 = throw "adoptopenjdk has been removed as the upstream project is deprecated. Consider using `semeru-bin-8`."; # Added 2024-05-09 advcpmv = throw "'advcpmv' has been removed, as it is not being actively maintained and break recent coreutils."; # Added 2024-03-29 # Post 24.11 branch-off, this should throw an error @@ -247,6 +247,7 @@ mapAliases ({ composable_kernel = throw "'composable_kernel' has been replaced with 'rocmPackages.composable_kernel'"; # Added 2023-10-08 cope = throw "'cope' has been removed, as it is broken in nixpkgs since it was added, and fixing it is not trivial"; # Added 2024-04-12 coriander = throw "'coriander' has been removed because it depends on GNOME 2 libraries"; # Added 2024-06-27 + corretto19 = throw "Corretto 19 was removed as it has reached its end of life"; # Added 2024-08-01 cosmic-tasks = tasks; # Added 2024-07-04 cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15 crispyDoom = crispy-doom; # Added 2023-05-01 @@ -1075,6 +1076,16 @@ mapAliases ({ openimageio2 = openimageio; # Added 2023-01-05 openimageio_1 = throw "'openimageio_1' has been removed, please update to 'openimageio' 2"; # Added 2023-06-14 openisns = open-isns; # Added 2020-01-28 + openjdk19 = throw "OpenJDK 19 was removed as it has reached its end of life"; # Added 2024-08-01 + openjdk19_headless = openjdk19; # Added 2024-08-01 + jdk19 = openjdk19; # Added 2024-08-01 + jdk19_headless = openjdk19; # Added 2024-08-01 + openjdk20 = throw "OpenJDK 20 was removed as it has reached its end of life"; # Added 2024-08-01 + openjdk20_headless = openjdk20; # Added 2024-08-01 + jdk20 = openjdk20; # Added 2024-08-01 + jdk20_headless = openjdk20; # Added 2024-08-01 + openjfx19 = throw "OpenJFX 19 was removed as it has reached its end of life"; # Added 2024-08-01 + openjfx20 = throw "OpenJFX 20 was removed as it has reached its end of life"; # Added 2024-08-01 openjpeg_2 = openjpeg; # Added 2021-01-25 openmpt123 = libopenmpt; # Added 2021-09-05 openssl_3_0 = openssl_3; # Added 2022-06-27 @@ -1320,6 +1331,8 @@ mapAliases ({ scylladb = throw "'scylladb' has been removed due to being unmaintained"; # Added 2024-03-17 sdlmame = throw "'sdlmame' has been renamed to/replaced by 'mame'"; # Converted to throw 2023-09-10 searx = throw "'searx' has been removed as it is unmaintained. Please switch to searxng"; # Added 2023-10-03 + semeru-bin-16 = throw "Semeru 16 has been removed as it has reached its end of life"; # Added 2024-08-01 + semeru-jre-bin-16 = throw "Semeru 16 has been removed as it has reached its end of life"; # Added 2024-08-01 semver-cpp = throw "'semver-cpp' was removed because no packages in nixpkgs use it anymore"; # Added 2024-02-14 session-desktop-appimage = session-desktop; setupcfg2nix = throw "'setupcfg2nix' has been removed. Please switch to buildPythonPackage"; # Added 2023-12-12 @@ -1413,6 +1426,13 @@ mapAliases ({ teleport_12 = throw "teleport 12 has been removed as it is EOL. Please upgrade to Teleport 13 or later"; # Added 2024-02-04 teleport_13 = throw "teleport 13 has been removed as it is EOL. Please upgrade to Teleport 14 or later"; # Added 2024-05-26 teleprompter = throw "teleprompter has been removed. reason: upstream dead and does not work with recent electron versions"; # Added 2024-03-14 + temurin-bin-20 = throw "Temurin 20 has been removed as it has reached its end of life"; # Added 2024-08-01 + temurin-jre-bin-20 = throw "Temurin 20 has been removed as it has reached its end of life"; # Added 2024-08-01 + temurin-bin-19 = throw "Temurin 19 has been removed as it has reached its end of life"; # Added 2024-08-01 + temurin-jre-bin-19 = throw "Temurin 19 has been removed as it has reached its end of life"; # Added 2024-08-01 + temurin-bin-18 = throw "Temurin 18 has been removed as it has reached its end of life"; # Added 2024-08-01 + temurin-jre-bin-18 = throw "Temurin 18 has been removed as it has reached its end of life"; # Added 2024-08-01 + temurin-bin-16 = throw "Temurin 16 has been removed as it has reached its end of life"; # Added 2024-08-01 tensile = throw "'tensile' has been replaced with 'rocmPackages.tensile'"; # Added 2023-10-08 tepl = libgedit-tepl; # Added 2024-04-29 testVersion = testers.testVersion; # Added 2022-04-20 @@ -1544,6 +1564,7 @@ mapAliases ({ xcbuild6Hook = throw "'xcbuild6Hook has been renamed to/replaced by 'xcbuildHook'"; # Added 2023-12-10 xcodebuild6 = throw "'xcodebuild6' has been renamed to/replaced by 'xcodebuild'"; # Added 2023-12-10 xdg_utils = xdg-utils; # Added 2021-02-01 + xen-light = throw "'xen-light' has been renamed to/replaced by 'xen-slim'"; # Added 2024-06-30 xineLib = xine-lib; # Added 2021-04-27 xineUI = xine-ui; # Added 2021-04-27 xmlada = gnatPackages.xmlada; # Added 2024-02-25 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 81c91856d6d9..511f85a48ff5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2189,6 +2189,8 @@ with pkgs; diff-so-fancy = callPackage ../applications/version-management/diff-so-fancy { }; + forgejo-lts = callPackage ../by-name/fo/forgejo/lts.nix { }; + gex = callPackage ../applications/version-management/gex { inherit (darwin.apple_sdk.frameworks) Security; }; @@ -14796,19 +14798,9 @@ with pkgs; temurin-bin-21 = javaPackages.compiler.temurin-bin.jdk-21; temurin-jre-bin-21 = javaPackages.compiler.temurin-bin.jre-21; - temurin-bin-20 = javaPackages.compiler.temurin-bin.jdk-20; - temurin-jre-bin-20 = javaPackages.compiler.temurin-bin.jre-20; - - temurin-bin-19 = javaPackages.compiler.temurin-bin.jdk-19; - temurin-jre-bin-19 = javaPackages.compiler.temurin-bin.jre-19; - - temurin-bin-18 = javaPackages.compiler.temurin-bin.jdk-18; - temurin-jre-bin-18 = javaPackages.compiler.temurin-bin.jre-18; - temurin-bin-17 = javaPackages.compiler.temurin-bin.jdk-17; temurin-jre-bin-17 = javaPackages.compiler.temurin-bin.jre-17; - temurin-bin-16 = javaPackages.compiler.temurin-bin.jdk-16; temurin-bin-11 = javaPackages.compiler.temurin-bin.jdk-11; temurin-jre-bin-11 = javaPackages.compiler.temurin-bin.jre-11; temurin-bin-8 = javaPackages.compiler.temurin-bin.jdk-8; @@ -14821,8 +14813,6 @@ with pkgs; semeru-jre-bin-21 = javaPackages.compiler.semeru-bin.jre-21; semeru-bin-17 = javaPackages.compiler.semeru-bin.jdk-17; semeru-jre-bin-17 = javaPackages.compiler.semeru-bin.jre-17; - semeru-bin-16 = javaPackages.compiler.semeru-bin.jdk-16; - semeru-jre-bin-16 = javaPackages.compiler.semeru-bin.jre-16; semeru-bin-11 = javaPackages.compiler.semeru-bin.jdk-11; semeru-jre-bin-11 = javaPackages.compiler.semeru-bin.jre-11; semeru-bin-8 = javaPackages.compiler.semeru-bin.jdk-8; @@ -15008,7 +14998,6 @@ with pkgs; corretto11 = javaPackages.compiler.corretto11; corretto17 = javaPackages.compiler.corretto17; - corretto19 = javaPackages.compiler.corretto19; corretto21 = javaPackages.compiler.corretto21; cotton = callPackage ../development/tools/cotton { @@ -15743,7 +15732,7 @@ with pkgs; hugs = callPackage ../development/interpreters/hugs { }; - inherit (javaPackages) openjfx11 openjfx17 openjfx19 openjfx20 openjfx21 openjfx22; + inherit (javaPackages) openjfx11 openjfx17 openjfx21 openjfx22; openjfx = openjfx17; openjdk8-bootstrap = javaPackages.compiler.openjdk8-bootstrap; @@ -15766,16 +15755,6 @@ with pkgs; jdk17 = openjdk17; jdk17_headless = openjdk17_headless; - openjdk19 = javaPackages.compiler.openjdk19; - openjdk19_headless = javaPackages.compiler.openjdk19.headless; - jdk19 = openjdk19; - jdk19_headless = openjdk19_headless; - - openjdk20 = javaPackages.compiler.openjdk20; - openjdk20_headless = javaPackages.compiler.openjdk20.headless; - jdk20 = openjdk20; - jdk20_headless = openjdk20_headless; - openjdk21 = javaPackages.compiler.openjdk21; openjdk21_headless = javaPackages.compiler.openjdk21.headless; jdk21 = openjdk21; @@ -27324,9 +27303,10 @@ with pkgs; # See `xenPackages` source for explanations. # Building with `xen` instead of `xen-slim` is possible, but makes no sense. qemu_xen = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen-slim; }); - qemu_xen-light = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen-light; }); - qemu_xen_4_15 = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen_4_15-slim; }); - qemu_xen_4_15-light = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xen_4_15-light; }); + qemu_xen_4_19 = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xenPackages.xen_4_19-slim; }); + qemu_xen_4_18 = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xenPackages.xen_4_18-slim; }); + qemu_xen_4_17 = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xenPackages.xen_4_17-slim; }); + qemu_xen_4_16 = lowPrio (qemu.override { hostCpuOnly = true; xenSupport = true; xen = xenPackages.xen_4_16-slim; }); qemu_test = lowPrio (qemu.override { hostCpuOnly = true; nixosTestRunner = true; }); @@ -32114,7 +32094,7 @@ with pkgs; mediaelch-qt5 = libsForQt5.callPackage ../applications/misc/mediaelch { }; mediaelch-qt6 = qt6Packages.callPackage ../applications/misc/mediaelch { }; - mediathekview = callPackage ../applications/video/mediathekview { jre = temurin-bin-20; }; + mediathekview = callPackage ../applications/video/mediathekview { }; meteo = callPackage ../applications/networking/weather/meteo { }; @@ -35027,13 +35007,8 @@ with pkgs; xenPackages = recurseIntoAttrs (callPackage ../applications/virtualization/xen/packages.nix {}); - xen = xenPackages.xen-vanilla; + xen = xenPackages.xen; xen-slim = xenPackages.xen-slim; - xen-light = xenPackages.xen-light; - - xen_4_15 = xenPackages.xen_4_15-vanilla; - xen_4_15-slim = xenPackages.xen_4_15-slim; - xen_4_15-light = xenPackages.xen_4_15-light; xkbset = callPackage ../tools/X11/xkbset { }; @@ -35809,6 +35784,10 @@ with pkgs; arena = callPackage ../games/arena { }; + art = callPackage ../by-name/ar/art/package.nix { + fftw = fftwSinglePrec; + }; + arx-libertatis = libsForQt5.callPackage ../games/arx-libertatis { }; asc = callPackage ../games/asc { diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix index 16b7d61b5464..82022f25613b 100644 --- a/pkgs/top-level/java-packages.nix +++ b/pkgs/top-level/java-packages.nix @@ -5,13 +5,11 @@ with pkgs; let openjfx11 = callPackage ../development/compilers/openjdk/openjfx/11 { }; openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17 { }; - openjfx19 = callPackage ../development/compilers/openjdk/openjfx/19 { }; - openjfx20 = callPackage ../development/compilers/openjdk/openjfx/20 { }; openjfx21 = callPackage ../development/compilers/openjdk/openjfx/21 { }; openjfx22 = callPackage ../development/compilers/openjdk/openjfx/22 { }; in { - inherit openjfx11 openjfx17 openjfx19 openjfx20 openjfx21 openjfx22; + inherit openjfx11 openjfx17 openjfx21 openjfx22; compiler = let mkOpenjdk = path-linux: path-darwin: args: @@ -30,7 +28,6 @@ in { in rec { corretto11 = callPackage ../development/compilers/corretto/11.nix { }; corretto17 = callPackage ../development/compilers/corretto/17.nix { }; - corretto19 = callPackage ../development/compilers/corretto/19.nix { }; corretto21 = callPackage ../development/compilers/corretto/21.nix { }; openjdk8-bootstrap = temurin-bin.jdk-8; @@ -57,30 +54,6 @@ in { openjfx = openjfx17; }; - openjdk18 = mkOpenjdk - ../development/compilers/openjdk/18.nix - ../development/compilers/zulu/18.nix - { - openjdk18-bootstrap = temurin-bin.jdk-18; - openjfx = openjfx17; - }; - - openjdk19 = mkOpenjdk - ../development/compilers/openjdk/19.nix - ../development/compilers/zulu/19.nix - { - openjdk19-bootstrap = temurin-bin.jdk-19; - openjfx = openjfx19; - }; - - openjdk20 = mkOpenjdk - ../development/compilers/openjdk/20.nix - ../development/compilers/zulu/20.nix - { - openjdk20-bootstrap = temurin-bin.jdk-20; - openjfx = openjfx20; - }; - openjdk21 = mkOpenjdk ../development/compilers/openjdk/21.nix ../development/compilers/zulu/21.nix diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b7cce422d313..251571df44b8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9486,6 +9486,8 @@ self: super: with self; { opentelemetry-instrumentation-asgi = callPackage ../development/python-modules/opentelemetry-instrumentation-asgi { }; + opentelemetry-instrumentation-dbapi = callPackage ../development/python-modules/opentelemetry-instrumentation-dbapi { }; + opentelemetry-instrumentation-django = callPackage ../development/python-modules/opentelemetry-instrumentation-django { }; opentelemetry-instrumentation-fastapi = callPackage ../development/python-modules/opentelemetry-instrumentation-fastapi { }; @@ -9494,6 +9496,8 @@ self: super: with self; { opentelemetry-instrumentation-grpc = callPackage ../development/python-modules/opentelemetry-instrumentation-grpc { }; + opentelemetry-instrumentation-psycopg2 = callPackage ../development/python-modules/opentelemetry-instrumentation-psycopg2 { }; + opentelemetry-instrumentation-wsgi = callPackage ../development/python-modules/opentelemetry-instrumentation-wsgi { }; opentelemetry-proto = callPackage ../development/python-modules/opentelemetry-proto { };