From 2da974bf8e1b5f74d99a0535a800745bd08b2357 Mon Sep 17 00:00:00 2001 From: Florian Warzecha Date: Mon, 4 Mar 2024 15:04:46 +0100 Subject: [PATCH 01/99] dropbear: fix pkgsStatic build This prevents the glibc.static dependency's build failing with ``` if test -r /build/build/csu/abi-tag.h.new; then mv -f /build/build/csu/abi-tag.h.new /build/build/csu/abi-tag.h; \ else echo >&2 'This configuration not matched in ../abi-tags'; exit 1; fi ``` --- pkgs/tools/networking/dropbear/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/dropbear/default.nix b/pkgs/tools/networking/dropbear/default.nix index 023639d3910d..687ce08e1f47 100644 --- a/pkgs/tools/networking/dropbear/default.nix +++ b/pkgs/tools/networking/dropbear/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, glibc, zlib, libxcrypt +{ lib, stdenv, fetchurl, zlib, libxcrypt , enableStatic ? stdenv.hostPlatform.isStatic , enableSCP ? false , sftpPath ? "/run/current-system/sw/libexec/sftp-server" @@ -49,7 +49,7 @@ stdenv.mkDerivation rec { ./pass-path.patch ]; - buildInputs = [ zlib libxcrypt ] ++ lib.optionals enableStatic [ glibc.static zlib.static ]; + buildInputs = [ zlib libxcrypt ]; meta = with lib; { description = "A small footprint implementation of the SSH 2 protocol"; From 7e6f67dcb15840cfc12b38d2f1463a127df1a96e Mon Sep 17 00:00:00 2001 From: Daylin Morgan Date: Tue, 20 Feb 2024 16:15:20 -0600 Subject: [PATCH 02/99] catppuccin-gtk: fix git reset behavior to support multiple accents The default build scripts assume the dependent theme colloid-gtk is a git submodule and uses subprocesses to perform git reset in order to support multiple outputs. This instead backs up the starting state in a separate directory and overwrites before generating a new color. --- .../catppuccin-gtk/colloid-src-git-reset.patch | 17 +++++++++++++++++ pkgs/data/themes/catppuccin-gtk/default.nix | 7 ++++++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 pkgs/data/themes/catppuccin-gtk/colloid-src-git-reset.patch diff --git a/pkgs/data/themes/catppuccin-gtk/colloid-src-git-reset.patch b/pkgs/data/themes/catppuccin-gtk/colloid-src-git-reset.patch new file mode 100644 index 000000000000..7ee1f4bd9b6f --- /dev/null +++ b/pkgs/data/themes/catppuccin-gtk/colloid-src-git-reset.patch @@ -0,0 +1,17 @@ +diff --git a/scripts/create_theme.py b/scripts/create_theme.py +index 074dc43..7e7a8eb 100644 +--- a/scripts/create_theme.py ++++ b/scripts/create_theme.py +@@ -34,7 +34,11 @@ def create_theme(types: List[str], accents: List[str], dest: str, link: bool = F + os.chdir(work_dir) + subprocess.call("./build.sh", shell=True) # Rebuild all scss + subprocess.call(install_cmd, shell=True) # Install the theme globally for you +- subprocess.call("git reset --hard HEAD", shell=True) # reset colloid repo to original state ++ # subprocess.call("git reset --hard HEAD", shell=True) # reset colloid repo to original state ++ # recreate git reset ++ os.chdir(repo_dir) ++ shutil.rmtree("colloid") ++ shutil.copytree("colloid-base", "colloid") + + try: + # Rename colloid generated files as per catppuccin diff --git a/pkgs/data/themes/catppuccin-gtk/default.nix b/pkgs/data/themes/catppuccin-gtk/default.nix index 49df77b2adb9..0dc881942bcc 100644 --- a/pkgs/data/themes/catppuccin-gtk/default.nix +++ b/pkgs/data/themes/catppuccin-gtk/default.nix @@ -40,6 +40,10 @@ stdenvNoCC.mkDerivation rec { nativeBuildInputs = [ gtk3 sassc ]; + patches = [ + ./colloid-src-git-reset.patch + ]; + buildInputs = [ gnome-themes-extra (python3.withPackages (ps: [ ps.catppuccin ])) @@ -54,7 +58,7 @@ stdenvNoCC.mkDerivation rec { ''; postPatch = '' - patchShebangs --build colloid/install.sh + patchShebangs --build colloid/install.sh colloid/build.sh ''; dontConfigure = true; @@ -63,6 +67,7 @@ stdenvNoCC.mkDerivation rec { installPhase = '' runHook preInstall + cp -r colloid colloid-base mkdir -p $out/share/themes export HOME=$(mktemp -d) From 5010678492eddb9f6d076082bd912d726abf5e82 Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Wed, 13 Mar 2024 19:38:07 +0800 Subject: [PATCH 03/99] checkpointBuildTools.prepareCheckpointBuild: stop at install Switch off phases following installPhase, including fixupPhase, installCheckPhase, distPhase and postPhases. --- pkgs/build-support/checkpoint-build.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/build-support/checkpoint-build.nix b/pkgs/build-support/checkpoint-build.nix index c9bee45005a1..f1202ca1ce0a 100644 --- a/pkgs/build-support/checkpoint-build.nix +++ b/pkgs/build-support/checkpoint-build.nix @@ -53,7 +53,12 @@ rec { mkdir -p $out/outputs cp -r ./* $out/outputs/ runHook postCheckpointInstall + unset postPhases ''; + + dontFixup = true; + doInstallCheck = false; + doDist = false; }); /* Build a derivation based on the checkpoint output generated by From 05491696c54969386968d43771db19ffb36f689a Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Wed, 13 Mar 2024 23:16:06 +0800 Subject: [PATCH 04/99] hello: add postInstallCheck Set doInstallCheck = true. Test the existence of main program in postInstallCheck. --- pkgs/by-name/he/hello/package.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/by-name/he/hello/package.nix b/pkgs/by-name/he/hello/package.nix index f1b056faf640..68fdcf7e408c 100644 --- a/pkgs/by-name/he/hello/package.nix +++ b/pkgs/by-name/he/hello/package.nix @@ -18,6 +18,13 @@ stdenv.mkDerivation (finalAttrs: { doCheck = true; + doInstallCheck = true; + + # Give hello some install checks for testing purpose. + postInstallCheck = '' + stat "''${!outputBin}/bin/${finalAttrs.meta.mainProgram}" + ''; + passthru.tests = { version = testers.testVersion { package = hello; }; From 0a310fc3c4b4a35f3e3941f6b35aefe0db2a244b Mon Sep 17 00:00:00 2001 From: Anders Rytter Hansen Date: Fri, 22 Mar 2024 16:43:45 +0100 Subject: [PATCH 05/99] github-desktop 3.3.6 -> 3.3.10 --- .../version-management/github-desktop/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/version-management/github-desktop/default.nix b/pkgs/applications/version-management/github-desktop/default.nix index b16befcd080d..d5c46cf29e48 100644 --- a/pkgs/applications/version-management/github-desktop/default.nix +++ b/pkgs/applications/version-management/github-desktop/default.nix @@ -21,13 +21,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "github-desktop"; - version = "3.3.6"; - rcversion = "3"; + version = "3.3.10"; + rcversion = "1"; arch = "amd64"; src = fetchurl { url = "https://github.com/shiftkey/desktop/releases/download/release-${finalAttrs.version}-linux${finalAttrs.rcversion}/GitHubDesktop-linux-${finalAttrs.arch}-${finalAttrs.version}-linux${finalAttrs.rcversion}.deb"; - hash = "sha256-900JhfHN78CuAXptPX2ToTvT9E+g+xRXqmlm34J9l6k="; + hash = "sha256-zzq6p/DAQmgSw4KAUYqtrQKkIPksLzkUQjGzwO26WgQ="; }; nativeBuildInputs = [ From 9eb38aa6f425cd1ebccb2497bbe22859bc686e12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Sun, 24 Mar 2024 17:31:12 -0700 Subject: [PATCH 06/99] ytmdesktop: remove --- .../applications/audio/ytmdesktop/default.nix | 37 ------------------- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 - 3 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 pkgs/applications/audio/ytmdesktop/default.nix diff --git a/pkgs/applications/audio/ytmdesktop/default.nix b/pkgs/applications/audio/ytmdesktop/default.nix deleted file mode 100644 index 534bee41a983..000000000000 --- a/pkgs/applications/audio/ytmdesktop/default.nix +++ /dev/null @@ -1,37 +0,0 @@ -{ lib, fetchurl, appimageTools, }: - -let - pname = "ytmdesktop"; - version = "1.13.0"; - name = "${pname}-${version}"; - - src = fetchurl { - url = "https://github.com/ytmdesktop/ytmdesktop/releases/download/v${version}/YouTube-Music-Desktop-App-${version}.AppImage"; - sha256 = "0f5l7hra3m3q9zd0ngc9dj4mh1lk0rgicvh9idpd27wr808vy28v"; - }; - - appimageContents = appimageTools.extract { inherit name src; }; -in appimageTools.wrapType2 rec { - inherit name src; - - extraInstallCommands = '' - mv $out/bin/{${name},${pname}} - - install -m 444 \ - -D ${appimageContents}/youtube-music-desktop-app.desktop \ - -t $out/share/applications - substituteInPlace \ - $out/share/applications/youtube-music-desktop-app.desktop \ - --replace 'Exec=AppRun' 'Exec=${pname}' - cp -r ${appimageContents}/usr/share/icons $out/share - ''; - - meta = with lib; { - description = "A Desktop App for YouTube Music"; - homepage = "https://ytmdesktop.app/"; - license = licenses.cc0; - platforms = platforms.linux; - maintainers = [ maintainers.lgcl ]; - mainProgram = "ytmdesktop"; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 10ff3ca04a37..4e559f414901 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1311,6 +1311,7 @@ mapAliases ({ yacc = bison; # moved from top-level 2021-03-14 yafaray-core = libyafaray; # Added 2022-09-23 yarn2nix-moretea-openssl_1_1 = throw "'yarn2nix-moretea-openssl_1_1' has been removed."; # Added 2023-02-04 + ytmdesktop = throw "ytmdesktop was removed because upstream vanished"; # added 2024-03-24 yubikey-manager4 = throw "yubikey-manager4 has been removed, since it is no longer required by yubikey-manager-qt. Please update to yubikey-manager."; # Added 2024-01-14 yuzu-ea = throw "yuzu-ea has been removed from nixpkgs, as it has been taken down upstream"; # Added 2024-03-04 yuzu-early-access = throw "yuzu-early-access has been removed from nixpkgs, as it has been taken down upstream"; # Added 2024-03-04 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 737b6146488b..7916629c9e02 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -36233,8 +36233,6 @@ with pkgs; ytcc = callPackage ../tools/networking/ytcc { }; - ytmdesktop = callPackage ../applications/audio/ytmdesktop { }; - ytmdl = callPackage ../tools/misc/ytmdl { }; yuview = libsForQt5.yuview; From ee2b899ff708ba8d94567c3cea8a0e823d262513 Mon Sep 17 00:00:00 2001 From: Tobias Poschwatta Date: Fri, 22 Mar 2024 09:46:06 +0100 Subject: [PATCH 07/99] nixos/nfsd: settings for /etc/nfs.conf services.nfs.settings is added for options that go into /etc/nfs.conf. There are services.nfs.server.extraNfsdConfig and services.nfs.extraConfig, but they have drawbacks. They overlap in scope (nfs.extraConfig can also add nfsd options). They require that one writes INI syntax. They often produce nfs.conf files with duplicate section names, which is confusing. This deprecates services.nfs.server.extraNfsdConfig and services.nfs.extraConfig. services.nfs.settings cannot be used together with services.nfs.server.extraNfsdConfig or services.nfs.extraConfig. --- .../services/network-filesystems/nfsd.nix | 19 ------ nixos/modules/tasks/filesystems/nfs.nix | 65 ++++++++++++++++++- 2 files changed, 64 insertions(+), 20 deletions(-) diff --git a/nixos/modules/services/network-filesystems/nfsd.nix b/nixos/modules/services/network-filesystems/nfsd.nix index c9e1cbcbbda4..656f1aa5a488 100644 --- a/nixos/modules/services/network-filesystems/nfsd.nix +++ b/nixos/modules/services/network-filesystems/nfsd.nix @@ -113,25 +113,6 @@ in config = mkIf cfg.enable { - services.nfs.extraConfig = '' - [nfsd] - threads=${toString cfg.nproc} - ${optionalString (cfg.hostName != null) "host=${cfg.hostName}"} - ${cfg.extraNfsdConfig} - - [mountd] - ${optionalString (cfg.mountdPort != null) "port=${toString cfg.mountdPort}"} - - [statd] - ${optionalString (cfg.statdPort != null) "port=${toString cfg.statdPort}"} - - [lockd] - ${optionalString (cfg.lockdPort != null) '' - port=${toString cfg.lockdPort} - udp-port=${toString cfg.lockdPort} - ''} - ''; - services.rpcbind.enable = true; boot.supportedFilesystems = [ "nfs" ]; # needed for statd and idmapd diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix index 462568b5db3e..a447eef37f9a 100644 --- a/nixos/modules/tasks/filesystems/nfs.nix +++ b/nixos/modules/tasks/filesystems/nfs.nix @@ -13,7 +13,46 @@ let format = pkgs.formats.ini {}; idmapdConfFile = format.generate "idmapd.conf" cfg.idmapd.settings; - nfsConfFile = pkgs.writeText "nfs.conf" cfg.extraConfig; + + # merge parameters from services.nfs.server + nfsConfSettings = + optionalAttrs (cfg.server.nproc != null) { + nfsd.threads = cfg.server.nproc; + } // optionalAttrs (cfg.server.hostName != null) { + nfsd.host= cfg.hostName; + } // optionalAttrs (cfg.server.mountdPort != null) { + mountd.port = cfg.server.mountdPort; + } // optionalAttrs (cfg.server.statdPort != null) { + statd.port = cfg.server.statdPort; + } // optionalAttrs (cfg.server.lockdPort != null) { + lockd.port = cfg.server.lockdPort; + lockd.udp-port = cfg.server.lockdPort; + }; + + nfsConfDeprecated = cfg.extraConfig + '' + [nfsd] + threads=${toString cfg.server.nproc} + ${optionalString (cfg.server.hostName != null) "host=${cfg.server.hostName}"} + ${cfg.server.extraNfsdConfig} + + [mountd] + ${optionalString (cfg.server.mountdPort != null) "port=${toString cfg.server.mountdPort}"} + + [statd] + ${optionalString (cfg.server.statdPort != null) "port=${toString cfg.server.statdPort}"} + + [lockd] + ${optionalString (cfg.server.lockdPort != null) '' + port=${toString cfg.server.lockdPort} + udp-port=${toString cfg.server.lockdPort} + ''} + ''; + + nfsConfFile = + if cfg.settings != {} + then format.generate "nfs.conf" (recursiveUpdate nfsConfSettings cfg.settings) + else pkgs.writeText "nfs.conf" nfsConfDeprecated; + requestKeyConfFile = pkgs.writeText "request-key.conf" '' create id_resolver * * ${pkgs.nfs-utils}/bin/nfsidmap -t 600 %k %d ''; @@ -46,6 +85,19 @@ in } ''; }; + settings = mkOption { + type = format.type; + default = {}; + description = lib.mdDoc '' + General configuration for NFS daemons and tools. + See nfs.conf(5) and related man pages for details. + ''; + example = literalExpression '' + { + mountd.manage-gids = true; + } + ''; + }; extraConfig = mkOption { type = types.lines; default = ""; @@ -60,6 +112,17 @@ in config = mkIf (config.boot.supportedFilesystems.nfs or config.boot.supportedFilesystems.nfs4 or false) { + warnings = + (optional (cfg.extraConfig != "") '' + `services.nfs.extraConfig` is deprecated. Use `services.nfs.settings` instead. + '') ++ (optional (cfg.server.extraNfsdConfig != "") '' + `services.nfs.server.extraNfsdConfig` is deprecated. Use `services.nfs.settings` instead. + ''); + assertions = [{ + assertion = cfg.settings != {} -> cfg.extraConfig == "" && cfg.server.extraNfsdConfig == ""; + message = "`services.nfs.settings` cannot be used together with `services.nfs.extraConfig` and `services.nfs.server.extraNfsdConfig`."; + }]; + services.rpcbind.enable = true; services.nfs.idmapd.settings = { From 2d682158688e242988a3d8446bac8a92264387ad Mon Sep 17 00:00:00 2001 From: ByteSudoer Date: Mon, 25 Mar 2024 22:16:47 +0100 Subject: [PATCH 08/99] nerdfetch: init at 8.1.0 --- pkgs/by-name/ne/nerdfetch/package.nix | 37 +++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 pkgs/by-name/ne/nerdfetch/package.nix diff --git a/pkgs/by-name/ne/nerdfetch/package.nix b/pkgs/by-name/ne/nerdfetch/package.nix new file mode 100644 index 000000000000..de0931d3b685 --- /dev/null +++ b/pkgs/by-name/ne/nerdfetch/package.nix @@ -0,0 +1,37 @@ +{ lib +, stdenvNoCC +, fetchFromGitHub +, gitUpdater +}: +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "nerdfetch"; + version = "8.1.1"; + + src = fetchFromGitHub { + owner = "ThatOneCalculator"; + repo = "NerdFetch"; + rev = "v${finalAttrs.version}"; + hash = "sha256-mSRS7MUgaa14mgPYkbC4O1/gXxbyDKOiVCRgoh8He/c="; + }; + + dontUnpack = true; + dontConfigure = true; + dontBuild = true; + installPhase = '' + mkdir -p $out/bin + cp $src/nerdfetch $out/bin + ''; + + passthru.updateScript = gitUpdater { + rev-prefix = "v"; + }; + + meta = with lib;{ + description = "A POSIX *nix (Linux, macOS, Android, *BSD, etc) fetch script using Nerdfonts"; + homepage = "https://github.com/ThatOneCalculator/NerdFetch"; + maintainers = with maintainers; [ ByteSudoer ]; + license = licenses.mit; + mainProgram = "nerdfetch"; + platforms = platforms.unix; + }; +}) From 7940420063924296a0061a69994c572fc8d147a5 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Tue, 26 Mar 2024 04:20:00 +0000 Subject: [PATCH 09/99] tokio-console: 0.1.9 -> 0.1.10 Diff: https://github.com/tokio-rs/console/compare/tokio-console-v0.1.9...tokio-console-v0.1.10 --- .../tools/tokio-console/cargo-lock.patch | 13 ------------- pkgs/development/tools/tokio-console/default.nix | 8 +++----- 2 files changed, 3 insertions(+), 18 deletions(-) delete mode 100644 pkgs/development/tools/tokio-console/cargo-lock.patch diff --git a/pkgs/development/tools/tokio-console/cargo-lock.patch b/pkgs/development/tools/tokio-console/cargo-lock.patch deleted file mode 100644 index 224a4acc082b..000000000000 --- a/pkgs/development/tools/tokio-console/cargo-lock.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Cargo.lock b/Cargo.lock -index fcbe50c..27d4c30 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -1390,7 +1390,7 @@ dependencies = [ - - [[package]] - name = "tokio-console" --version = "0.1.8" -+version = "0.1.9" - dependencies = [ - "atty", - "clap", diff --git a/pkgs/development/tools/tokio-console/default.nix b/pkgs/development/tools/tokio-console/default.nix index 558934fd15ff..7d65f382f957 100644 --- a/pkgs/development/tools/tokio-console/default.nix +++ b/pkgs/development/tools/tokio-console/default.nix @@ -6,21 +6,19 @@ rustPlatform.buildRustPackage rec { pname = "tokio-console"; - version = "0.1.9"; + version = "0.1.10"; src = fetchFromGitHub { owner = "tokio-rs"; repo = "console"; rev = "tokio-console-v${version}"; - hash = "sha256-zISgEhUmAfHErq4AelbnSwtKjtxYH//pbLUAlPKxQYk="; + hash = "sha256-sjfdxOeaNANYJuJMjZ/tCGc2mWM+98d8yPHAVSl4cF4="; }; - cargoHash = "sha256-qK8U6BZN7sdBP8CbzsDeewsGulNA/KFVS9vscBxysRg="; + cargoHash = "sha256-86KQpRpYSCQs6SUeG0HV26b58x/QUyovoL+5fg8JCOI="; nativeBuildInputs = [ protobuf ]; - cargoPatches = [ ./cargo-lock.patch ]; - # uses currently unstable tokio features RUSTFLAGS = "--cfg tokio_unstable"; From 8f19a5443f9b48b9260c0aa0d846c561c0c6189c Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Tue, 26 Mar 2024 04:20:00 +0000 Subject: [PATCH 10/99] tokio-console: install completions --- pkgs/development/tools/tokio-console/default.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkgs/development/tools/tokio-console/default.nix b/pkgs/development/tools/tokio-console/default.nix index 7d65f382f957..c37bf85de975 100644 --- a/pkgs/development/tools/tokio-console/default.nix +++ b/pkgs/development/tools/tokio-console/default.nix @@ -1,5 +1,6 @@ { lib , fetchFromGitHub +, installShellFiles , rustPlatform , protobuf }: @@ -17,7 +18,10 @@ rustPlatform.buildRustPackage rec { cargoHash = "sha256-86KQpRpYSCQs6SUeG0HV26b58x/QUyovoL+5fg8JCOI="; - nativeBuildInputs = [ protobuf ]; + nativeBuildInputs = [ + installShellFiles + protobuf + ]; # uses currently unstable tokio features RUSTFLAGS = "--cfg tokio_unstable"; @@ -29,6 +33,13 @@ rustPlatform.buildRustPackage rec { "--skip config::tests::toml_example_changed" ]; + postInstall = '' + installShellCompletion --cmd tokio-console \ + --bash <($out/bin/tokio-console --log-dir $(mktemp -d) gen-completion bash) \ + --fish <($out/bin/tokio-console --log-dir $(mktemp -d) gen-completion fish) \ + --zsh <($out/bin/tokio-console --log-dir $(mktemp -d) gen-completion zsh) + ''; + meta = with lib; { description = "A debugger for asynchronous Rust code"; homepage = "https://github.com/tokio-rs/console"; From bc71d9242d3e1ae6746a56ece179b6bf6d8b3688 Mon Sep 17 00:00:00 2001 From: Assistant Date: Wed, 27 Mar 2024 02:43:51 -0400 Subject: [PATCH 11/99] maintainers: add assistant --- maintainers/maintainer-list.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 447efddde02e..99e909e5d9c3 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1784,6 +1784,13 @@ fingerprint = "C919 E69E A7C0 E147 9E0F C26E 1EDA D0C6 70BD 062D"; }]; }; + assistant = { + email = "assistant.moetron@gmail.com"; + github = "Assistant"; + githubId = 2748721; + matrix = "@assistant:pygmalion.chat"; + name = "Assistant Moetron"; + }; astavie = { email = "astavie@pm.me"; github = "astavie"; From f290c5901b7cfbe132097bf53c3cd96e2ba056b8 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 27 Mar 2024 21:42:17 -0700 Subject: [PATCH 12/99] Avoid top-level `with ...;` in nixos/lib/systemd-lib.nix --- nixos/lib/systemd-lib.nix | 59 ++++++++++++++++++++++++++++++++------- 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/nixos/lib/systemd-lib.nix b/nixos/lib/systemd-lib.nix index c00b2d0f207c..832160111da4 100644 --- a/nixos/lib/systemd-lib.nix +++ b/nixos/lib/systemd-lib.nix @@ -1,8 +1,47 @@ { config, lib, pkgs }: -with lib; - let + inherit (lib) + all + attrByPath + attrNames + concatLists + concatMap + concatMapStrings + concatStrings + concatStringsSep + const + elem + filter + filterAttrs + flip + head + isInt + isList + length + makeBinPath + makeSearchPathOutput + mapAttrs + mapAttrsToList + mkAfter + mkIf + optional + optionalAttrs + optionalString + range + replaceStrings + reverseList + splitString + stringLength + stringToCharacters + tail + toIntBase10 + trace + types + ; + + inherit (lib.strings) toJSON; + cfg = config.systemd; lndir = "${pkgs.buildPackages.xorg.lndir}/bin/lndir"; systemd = cfg.package; @@ -10,7 +49,7 @@ in rec { shellEscape = s: (replaceStrings [ "\\" ] [ "\\\\" ] s); - mkPathSafeName = lib.replaceStrings ["@" ":" "\\" "[" "]"] ["-" "-" "-" "" ""]; + mkPathSafeName = replaceStrings ["@" ":" "\\" "[" "]"] ["-" "-" "-" "" ""]; # a type for options that take a unit name unitNameType = types.strMatching "[a-zA-Z0-9@%:_.\\-]+[.](service|socket|device|mount|automount|swap|target|path|timer|scope|slice)"; @@ -133,7 +172,7 @@ in rec { )) attrs; errors = concatMap (c: c group defs) checks; in if errors == [] then true - else builtins.trace (concatStringsSep "\n" errors) false; + else trace (concatStringsSep "\n" errors) false; toOption = x: if x == true then "true" @@ -220,7 +259,7 @@ in rec { # upstream unit. for i in ${toString (mapAttrsToList (n: v: v.unit) - (lib.filterAttrs (n: v: (attrByPath [ "overrideStrategy" ] "asDropinIfExists" v) == "asDropinIfExists") units))}; do + (filterAttrs (n: v: (attrByPath [ "overrideStrategy" ] "asDropinIfExists" v) == "asDropinIfExists") units))}; do fn=$(basename $i/*) if [ -e $out/$fn ]; then if [ "$(readlink -f $i/$fn)" = /dev/null ]; then @@ -243,7 +282,7 @@ in rec { # treated as drop-in file. for i in ${toString (mapAttrsToList (n: v: v.unit) - (lib.filterAttrs (n: v: v ? overrideStrategy && v.overrideStrategy == "asDropin") units))}; do + (filterAttrs (n: v: v ? overrideStrategy && v.overrideStrategy == "asDropin") units))}; do fn=$(basename $i/*) mkdir -p $out/$fn.d ln -s $i/$fn $out/$fn.d/overrides.conf @@ -384,7 +423,7 @@ in rec { commonUnitText = def: lines: '' [Unit] ${attrsToSection def.unitConfig} - '' + lines + lib.optionalString (def.wantedBy != [ ]) '' + '' + lines + optionalString (def.wantedBy != [ ]) '' [Install] WantedBy=${concatStringsSep " " def.wantedBy} @@ -406,7 +445,7 @@ in rec { '' + (let env = cfg.globalEnvironment // def.environment; in concatMapStrings (n: let s = optionalString (env.${n} != null) - "Environment=${builtins.toJSON "${n}=${env.${n}}"}\n"; + "Environment=${toJSON "${n}=${env.${n}}"}\n"; # systemd max line length is now 1MiB # https://github.com/systemd/systemd/commit/e6dde451a51dc5aaa7f4d98d39b8fe735f73d2af in if stringLength s >= 1048576 then throw "The value of the environment variable ‘${n}’ in systemd service ‘${name}.service’ is too long." else s) (attrNames env)) @@ -475,13 +514,13 @@ in rec { # in that attrset are determined by the supplied format. definitions = directoryName: format: definitionAttrs: let - listOfDefinitions = lib.mapAttrsToList + listOfDefinitions = mapAttrsToList (name: format.generate "${name}.conf") definitionAttrs; in pkgs.runCommand directoryName { } '' mkdir -p $out - ${(lib.concatStringsSep "\n" + ${(concatStringsSep "\n" (map (pkg: "cp ${pkg} $out/${pkg.name}") listOfDefinitions) )} ''; From d509d28475ef135b8e93b4058125fdb2e411fd1a Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 27 Mar 2024 21:43:22 -0700 Subject: [PATCH 13/99] Avoid top-level `with ...;` in nixos/lib/systemd-network-units.nix --- nixos/lib/systemd-network-units.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/nixos/lib/systemd-network-units.nix b/nixos/lib/systemd-network-units.nix index 1d5f823f3678..986586a61a70 100644 --- a/nixos/lib/systemd-network-units.nix +++ b/nixos/lib/systemd-network-units.nix @@ -1,8 +1,13 @@ { lib, systemdUtils }: -with lib; - let + inherit (lib) + concatMapStrings + concatStringsSep + flip + optionalString + ; + attrsToSection = systemdUtils.lib.attrsToSection; commonMatchText = def: optionalString (def.matchConfig != { }) '' From 7d130cf7520f3cc471c1de3dd40e50ed6bf1ee96 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 27 Mar 2024 21:56:52 -0700 Subject: [PATCH 14/99] Avoid top-level `with ...;` in nixos/lib/systemd-types.nix --- nixos/lib/systemd-types.nix | 108 +++++++++++++++++++++++++----------- 1 file changed, 76 insertions(+), 32 deletions(-) diff --git a/nixos/lib/systemd-types.nix b/nixos/lib/systemd-types.nix index a109f248b170..ba8bed35e1c0 100644 --- a/nixos/lib/systemd-types.nix +++ b/nixos/lib/systemd-types.nix @@ -1,47 +1,91 @@ { lib, systemdUtils, pkgs }: -with systemdUtils.lib; -with systemdUtils.unitOptions; -with lib; +let + inherit (systemdUtils.lib) + automountConfig + makeUnit + mountConfig + stage1ServiceConfig + stage2ServiceConfig + unitConfig + ; + + inherit (systemdUtils.unitOptions) + concreteUnitOptions + stage1AutomountOptions + stage1CommonUnitOptions + stage1MountOptions + stage1PathOptions + stage1ServiceOptions + stage1SliceOptions + stage1SocketOptions + stage1TimerOptions + stage2AutomountOptions + stage2CommonUnitOptions + stage2MountOptions + stage2PathOptions + stage2ServiceOptions + stage2SliceOptions + stage2SocketOptions + stage2TimerOptions + ; + + inherit (lib) + mdDoc + mkDefault + mkDerivedConfig + mkEnableOption + mkIf + mkOption + ; + + inherit (lib.types) + attrsOf + lines + listOf + nullOr + path + submodule + ; +in rec { - units = with types; - attrsOf (submodule ({ name, config, ... }: { - options = concreteUnitOptions; - config = { unit = mkDefault (systemdUtils.lib.makeUnit name config); }; - })); + units = attrsOf (submodule ({ name, config, ... }: { + options = concreteUnitOptions; + config = { unit = mkDefault (makeUnit name config); }; + })); - services = with types; attrsOf (submodule [ stage2ServiceOptions unitConfig stage2ServiceConfig ]); - initrdServices = with types; attrsOf (submodule [ stage1ServiceOptions unitConfig stage1ServiceConfig ]); + services = attrsOf (submodule [ stage2ServiceOptions unitConfig stage2ServiceConfig ]); + initrdServices = attrsOf (submodule [ stage1ServiceOptions unitConfig stage1ServiceConfig ]); - targets = with types; attrsOf (submodule [ stage2CommonUnitOptions unitConfig ]); - initrdTargets = with types; attrsOf (submodule [ stage1CommonUnitOptions unitConfig ]); + targets = attrsOf (submodule [ stage2CommonUnitOptions unitConfig ]); + initrdTargets = attrsOf (submodule [ stage1CommonUnitOptions unitConfig ]); - sockets = with types; attrsOf (submodule [ stage2SocketOptions unitConfig ]); - initrdSockets = with types; attrsOf (submodule [ stage1SocketOptions unitConfig ]); + sockets = attrsOf (submodule [ stage2SocketOptions unitConfig ]); + initrdSockets = attrsOf (submodule [ stage1SocketOptions unitConfig ]); - timers = with types; attrsOf (submodule [ stage2TimerOptions unitConfig ]); - initrdTimers = with types; attrsOf (submodule [ stage1TimerOptions unitConfig ]); + timers = attrsOf (submodule [ stage2TimerOptions unitConfig ]); + initrdTimers = attrsOf (submodule [ stage1TimerOptions unitConfig ]); - paths = with types; attrsOf (submodule [ stage2PathOptions unitConfig ]); - initrdPaths = with types; attrsOf (submodule [ stage1PathOptions unitConfig ]); + paths = attrsOf (submodule [ stage2PathOptions unitConfig ]); + initrdPaths = attrsOf (submodule [ stage1PathOptions unitConfig ]); - slices = with types; attrsOf (submodule [ stage2SliceOptions unitConfig ]); - initrdSlices = with types; attrsOf (submodule [ stage1SliceOptions unitConfig ]); + slices = attrsOf (submodule [ stage2SliceOptions unitConfig ]); + initrdSlices = attrsOf (submodule [ stage1SliceOptions unitConfig ]); - mounts = with types; listOf (submodule [ stage2MountOptions unitConfig mountConfig ]); - initrdMounts = with types; listOf (submodule [ stage1MountOptions unitConfig mountConfig ]); + mounts = listOf (submodule [ stage2MountOptions unitConfig mountConfig ]); + initrdMounts = listOf (submodule [ stage1MountOptions unitConfig mountConfig ]); - automounts = with types; listOf (submodule [ stage2AutomountOptions unitConfig automountConfig ]); - initrdAutomounts = with types; attrsOf (submodule [ stage1AutomountOptions unitConfig automountConfig ]); + automounts = listOf (submodule [ stage2AutomountOptions unitConfig automountConfig ]); + initrdAutomounts = attrsOf (submodule [ stage1AutomountOptions unitConfig automountConfig ]); - initrdContents = types.attrsOf (types.submodule ({ config, options, name, ... }: { + initrdContents = attrsOf (submodule ({ config, options, name, ... }: { options = { - enable = mkEnableOption (lib.mdDoc "copying of this file and symlinking it") // { default = true; }; + enable = mkEnableOption (mdDoc "copying of this file and symlinking it") // { default = true; }; target = mkOption { - type = types.path; - description = lib.mdDoc '' + type = path; + description = mdDoc '' Path of the symlink. ''; default = name; @@ -49,13 +93,13 @@ rec { text = mkOption { default = null; - type = types.nullOr types.lines; - description = lib.mdDoc "Text of the file."; + type = nullOr lines; + description = mdDoc "Text of the file."; }; source = mkOption { - type = types.path; - description = lib.mdDoc "Path of the source file."; + type = path; + description = mdDoc "Path of the source file."; }; }; From ad920b32c2f83b7aed765cde8c345b97f263e023 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 27 Mar 2024 22:00:34 -0700 Subject: [PATCH 15/99] Avoid top-level `with ...;` in nixos/lib/systemd-unit-options.nix --- nixos/lib/systemd-unit-options.nix | 138 +++++++++++++++++------------ 1 file changed, 81 insertions(+), 57 deletions(-) diff --git a/nixos/lib/systemd-unit-options.nix b/nixos/lib/systemd-unit-options.nix index e4953ba72dd9..db644e006552 100644 --- a/nixos/lib/systemd-unit-options.nix +++ b/nixos/lib/systemd-unit-options.nix @@ -1,9 +1,33 @@ { lib, systemdUtils }: -with systemdUtils.lib; -with lib; - let + inherit (systemdUtils.lib) + assertValueOneOf + automountConfig + checkUnitConfig + makeJobScript + mountConfig + serviceConfig + unitConfig + unitNameType + ; + + inherit (lib) + any + concatMap + filterOverrides + isList + mdDoc + mergeEqualOption + mkIf + mkMerge + mkOption + mkOptionType + singleton + toList + types + ; + checkService = checkUnitConfig "Service" [ (assertValueOneOf "Type" [ "exec" "simple" "forking" "oneshot" "dbus" "notify" "notify-reload" "idle" @@ -31,7 +55,7 @@ in rec { enable = mkOption { default = true; type = types.bool; - description = lib.mdDoc '' + description = mdDoc '' If set to false, this unit will be a symlink to /dev/null. This is primarily useful to prevent specific template instances @@ -45,7 +69,7 @@ in rec { overrideStrategy = mkOption { default = "asDropinIfExists"; type = types.enum [ "asDropinIfExists" "asDropin" ]; - description = lib.mdDoc '' + description = mdDoc '' Defines how unit configuration is provided for systemd: `asDropinIfExists` creates a unit file when no unit file is provided by the package @@ -61,7 +85,7 @@ in rec { requiredBy = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' Units that require (i.e. depend on and need to go down with) this unit. As discussed in the `wantedBy` option description this also creates `.requires` symlinks automatically. @@ -71,7 +95,7 @@ in rec { upheldBy = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' Keep this unit running as long as the listed units are running. This is a continuously enforced version of wantedBy. ''; @@ -80,7 +104,7 @@ in rec { wantedBy = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' Units that want (i.e. depend on) this unit. The default method for starting a unit by default at boot time is to set this option to `["multi-user.target"]` for system services. Likewise for user units @@ -98,7 +122,7 @@ in rec { aliases = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc "Aliases of that unit."; + description = mdDoc "Aliases of that unit."; }; }; @@ -108,12 +132,12 @@ in rec { text = mkOption { type = types.nullOr types.str; default = null; - description = lib.mdDoc "Text of this systemd unit."; + description = mdDoc "Text of this systemd unit."; }; unit = mkOption { internal = true; - description = lib.mdDoc "The generated unit."; + description = mdDoc "The generated unit."; }; }; @@ -124,19 +148,19 @@ in rec { description = mkOption { default = ""; type = types.singleLineStr; - description = lib.mdDoc "Description of this unit used in systemd messages and progress indicators."; + description = mdDoc "Description of this unit used in systemd messages and progress indicators."; }; documentation = mkOption { default = []; type = types.listOf types.str; - description = lib.mdDoc "A list of URIs referencing documentation for this unit or its configuration."; + description = mdDoc "A list of URIs referencing documentation for this unit or its configuration."; }; requires = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' Start the specified units when this unit is started, and stop this unit when the specified units are stopped or fail. ''; @@ -145,7 +169,7 @@ in rec { wants = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' Start the specified units when this unit is started. ''; }; @@ -153,7 +177,7 @@ in rec { upholds = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' Keeps the specified running while this unit is running. A continuous version of `wants`. ''; }; @@ -161,7 +185,7 @@ in rec { after = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' If the specified units are started at the same time as this unit, delay this unit until they have started. ''; @@ -170,7 +194,7 @@ in rec { before = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' If the specified units are started at the same time as this unit, delay them until this unit has started. ''; @@ -179,7 +203,7 @@ in rec { bindsTo = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' Like ‘requires’, but in addition, if the specified units unexpectedly disappear, this unit will be stopped as well. ''; @@ -188,7 +212,7 @@ in rec { partOf = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' If the specified units are stopped or restarted, then this unit is stopped or restarted as well. ''; @@ -197,7 +221,7 @@ in rec { conflicts = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' If the specified units are started, then this unit is stopped and vice versa. ''; @@ -206,7 +230,7 @@ in rec { requisite = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' Similar to requires. However if the units listed are not started, they will not be started and the transaction will fail. ''; @@ -216,7 +240,7 @@ in rec { default = {}; example = { RequiresMountsFor = "/data"; }; type = types.attrsOf unitOption; - description = lib.mdDoc '' + description = mdDoc '' Each attribute in this set specifies an option in the `[Unit]` section of the unit. See {manpage}`systemd.unit(5)` for details. @@ -226,7 +250,7 @@ in rec { onFailure = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' A list of one or more units that are activated when this unit enters the "failed" state. ''; @@ -235,7 +259,7 @@ in rec { onSuccess = mkOption { default = []; type = types.listOf unitNameType; - description = lib.mdDoc '' + description = mdDoc '' A list of one or more units that are activated when this unit enters the "inactive" state. ''; @@ -243,7 +267,7 @@ in rec { startLimitBurst = mkOption { type = types.int; - description = lib.mdDoc '' + description = mdDoc '' Configure unit start rate limiting. Units which are started more than startLimitBurst times within an interval time interval are not permitted to start any more. @@ -252,7 +276,7 @@ in rec { startLimitIntervalSec = mkOption { type = types.int; - description = lib.mdDoc '' + description = mdDoc '' Configure unit start rate limiting. Units which are started more than startLimitBurst times within an interval time interval are not permitted to start any more. @@ -271,7 +295,7 @@ in rec { restartTriggers = mkOption { default = []; type = types.listOf types.unspecified; - description = lib.mdDoc '' + description = mdDoc '' An arbitrary list of items such as derivations. If any item in the list changes between reconfigurations, the service will be restarted. @@ -281,7 +305,7 @@ in rec { reloadTriggers = mkOption { default = []; type = types.listOf unitOption; - description = lib.mdDoc '' + description = mdDoc '' An arbitrary list of items such as derivations. If any item in the list changes between reconfigurations, the service will be reloaded. If anything but a reload trigger changes in the @@ -299,13 +323,13 @@ in rec { default = {}; type = with types; attrsOf (nullOr (oneOf [ str path package ])); example = { PATH = "/foo/bar/bin"; LANG = "nl_NL.UTF-8"; }; - description = lib.mdDoc "Environment variables passed to the service's processes."; + description = mdDoc "Environment variables passed to the service's processes."; }; path = mkOption { default = []; type = with types; listOf (oneOf [ package str ]); - description = lib.mdDoc '' + description = mdDoc '' Packages added to the service's {env}`PATH` environment variable. Both the {file}`bin` and {file}`sbin` subdirectories of each @@ -319,7 +343,7 @@ in rec { { RestartSec = 5; }; type = types.addCheck (types.attrsOf unitOption) checkService; - description = lib.mdDoc '' + description = mdDoc '' Each attribute in this set specifies an option in the `[Service]` section of the unit. See {manpage}`systemd.service(5)` for details. @@ -329,14 +353,14 @@ in rec { script = mkOption { type = types.lines; default = ""; - description = lib.mdDoc "Shell commands executed as the service's main process."; + description = mdDoc "Shell commands executed as the service's main process."; }; scriptArgs = mkOption { type = types.str; default = ""; example = "%i"; - description = lib.mdDoc '' + description = mdDoc '' Arguments passed to the main process script. Can contain specifiers (`%` placeholders expanded by systemd, see {manpage}`systemd.unit(5)`). ''; @@ -345,7 +369,7 @@ in rec { preStart = mkOption { type = types.lines; default = ""; - description = lib.mdDoc '' + description = mdDoc '' Shell commands executed before the service's main process is started. ''; @@ -354,7 +378,7 @@ in rec { postStart = mkOption { type = types.lines; default = ""; - description = lib.mdDoc '' + description = mdDoc '' Shell commands executed after the service's main process is started. ''; @@ -363,7 +387,7 @@ in rec { reload = mkOption { type = types.lines; default = ""; - description = lib.mdDoc '' + description = mdDoc '' Shell commands executed when the service's main process is reloaded. ''; @@ -372,7 +396,7 @@ in rec { preStop = mkOption { type = types.lines; default = ""; - description = lib.mdDoc '' + description = mdDoc '' Shell commands executed to stop the service. ''; }; @@ -380,7 +404,7 @@ in rec { postStop = mkOption { type = types.lines; default = ""; - description = lib.mdDoc '' + description = mdDoc '' Shell commands executed after the service's main process has exited. ''; @@ -389,7 +413,7 @@ in rec { jobScripts = mkOption { type = with types; coercedTo path singleton (listOf path); internal = true; - description = lib.mdDoc "A list of all job script derivations of this unit."; + description = mdDoc "A list of all job script derivations of this unit."; default = []; }; @@ -434,7 +458,7 @@ in rec { restartIfChanged = mkOption { type = types.bool; default = true; - description = lib.mdDoc '' + description = mdDoc '' Whether the service should be restarted during a NixOS configuration switch if its definition has changed. ''; @@ -443,7 +467,7 @@ in rec { reloadIfChanged = mkOption { type = types.bool; default = false; - description = lib.mdDoc '' + description = mdDoc '' Whether the service should be reloaded during a NixOS configuration switch if its definition has changed. If enabled, the value of {option}`restartIfChanged` is @@ -459,7 +483,7 @@ in rec { stopIfChanged = mkOption { type = types.bool; default = true; - description = lib.mdDoc '' + description = mdDoc '' If set, a changed unit is restarted by calling {command}`systemctl stop` in the old configuration, then {command}`systemctl start` in the new one. @@ -475,7 +499,7 @@ in rec { type = with types; either str (listOf str); default = []; example = "Sun 14:00:00"; - description = lib.mdDoc '' + description = mdDoc '' Automatically start this unit at the given date/time, which must be in the format described in {manpage}`systemd.time(7)`. This is equivalent @@ -502,7 +526,7 @@ in rec { default = []; type = types.listOf types.str; example = [ "0.0.0.0:993" "/run/my-socket" ]; - description = lib.mdDoc '' + description = mdDoc '' For each item in this list, a `ListenStream` option in the `[Socket]` section will be created. ''; @@ -512,7 +536,7 @@ in rec { default = []; type = types.listOf types.str; example = [ "0.0.0.0:993" "/run/my-socket" ]; - description = lib.mdDoc '' + description = mdDoc '' For each item in this list, a `ListenDatagram` option in the `[Socket]` section will be created. ''; @@ -522,7 +546,7 @@ in rec { default = {}; example = { ListenStream = "/run/my-socket"; }; type = types.attrsOf unitOption; - description = lib.mdDoc '' + description = mdDoc '' Each attribute in this set specifies an option in the `[Socket]` section of the unit. See {manpage}`systemd.socket(5)` for details. @@ -554,7 +578,7 @@ in rec { default = {}; example = { OnCalendar = "Sun 14:00:00"; Unit = "foo.service"; }; type = types.attrsOf unitOption; - description = lib.mdDoc '' + description = mdDoc '' Each attribute in this set specifies an option in the `[Timer]` section of the unit. See {manpage}`systemd.timer(5)` and @@ -587,7 +611,7 @@ in rec { default = {}; example = { PathChanged = "/some/path"; Unit = "changedpath.service"; }; type = types.attrsOf unitOption; - description = lib.mdDoc '' + description = mdDoc '' Each attribute in this set specifies an option in the `[Path]` section of the unit. See {manpage}`systemd.path(5)` for details. @@ -618,13 +642,13 @@ in rec { what = mkOption { example = "/dev/sda1"; type = types.str; - description = lib.mdDoc "Absolute path of device node, file or other resource. (Mandatory)"; + description = mdDoc "Absolute path of device node, file or other resource. (Mandatory)"; }; where = mkOption { example = "/mnt"; type = types.str; - description = lib.mdDoc '' + description = mdDoc '' Absolute path of a directory of the mount point. Will be created if it doesn't exist. (Mandatory) ''; @@ -634,21 +658,21 @@ in rec { default = ""; example = "ext4"; type = types.str; - description = lib.mdDoc "File system type."; + description = mdDoc "File system type."; }; options = mkOption { default = ""; example = "noatime"; type = types.commas; - description = lib.mdDoc "Options used to mount the file system."; + description = mdDoc "Options used to mount the file system."; }; mountConfig = mkOption { default = {}; example = { DirectoryMode = "0775"; }; type = types.attrsOf unitOption; - description = lib.mdDoc '' + description = mdDoc '' Each attribute in this set specifies an option in the `[Mount]` section of the unit. See {manpage}`systemd.mount(5)` for details. @@ -678,7 +702,7 @@ in rec { where = mkOption { example = "/mnt"; type = types.str; - description = lib.mdDoc '' + description = mdDoc '' Absolute path of a directory of the mount point. Will be created if it doesn't exist. (Mandatory) ''; @@ -688,7 +712,7 @@ in rec { default = {}; example = { DirectoryMode = "0775"; }; type = types.attrsOf unitOption; - description = lib.mdDoc '' + description = mdDoc '' Each attribute in this set specifies an option in the `[Automount]` section of the unit. See {manpage}`systemd.automount(5)` for details. @@ -719,7 +743,7 @@ in rec { default = {}; example = { MemoryMax = "2G"; }; type = types.attrsOf unitOption; - description = lib.mdDoc '' + description = mdDoc '' Each attribute in this set specifies an option in the `[Slice]` section of the unit. See {manpage}`systemd.slice(5)` for details. From 546fc6724237ba93fab6417d3564f7e90f3f77da Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Wed, 27 Mar 2024 22:02:32 -0700 Subject: [PATCH 16/99] Avoid top-level `with ...;` in nixos/lib/utils.nix --- nixos/lib/utils.nix | 61 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 48 insertions(+), 13 deletions(-) diff --git a/nixos/lib/utils.nix b/nixos/lib/utils.nix index 22a2c79843c6..4992113bdbd2 100644 --- a/nixos/lib/utils.nix +++ b/nixos/lib/utils.nix @@ -1,9 +1,44 @@ -{ lib, config, pkgs }: with lib; +{ lib, config, pkgs }: + +let + inherit (lib) + any + attrNames + concatMapStringsSep + concatStringsSep + elem + escapeShellArg + filter + flatten + getName + hasPrefix + hasSuffix + imap0 + imap1 + isAttrs + isDerivation + isFloat + isInt + isList + isPath + isString + listToAttrs + nameValuePair + optionalString + removePrefix + removeSuffix + replaceStrings + stringToCharacters + types + ; + + inherit (lib.strings) toJSON normalizePath escapeC; +in rec { # Copy configuration files to avoid having the entire sources in the system closure - copyFile = filePath: pkgs.runCommand (builtins.unsafeDiscardStringContext (builtins.baseNameOf filePath)) {} '' + copyFile = filePath: pkgs.runCommand (builtins.unsafeDiscardStringContext (baseNameOf filePath)) {} '' cp ${filePath} $out ''; @@ -46,11 +81,11 @@ rec { escapeSystemdPath = s: let replacePrefix = p: r: s: (if (hasPrefix p s) then r + (removePrefix p s) else s); trim = s: removeSuffix "/" (removePrefix "/" s); - normalizedPath = strings.normalizePath s; + normalizedPath = normalizePath s; in replaceStrings ["/"] ["-"] - (replacePrefix "." (strings.escapeC ["."] ".") - (strings.escapeC (stringToCharacters " !\"#$%&'()*+,;<=>=@[\\]^`{|}~-") + (replacePrefix "." (escapeC ["."] ".") + (escapeC (stringToCharacters " !\"#$%&'()*+,;<=>=@[\\]^`{|}~-") (if normalizedPath == "/" then normalizedPath else trim normalizedPath))); # Quotes an argument for use in Exec* service lines. @@ -62,12 +97,12 @@ rec { # substitution for the directive. escapeSystemdExecArg = arg: let - s = if builtins.isPath arg then "${arg}" - else if builtins.isString arg then arg - else if builtins.isInt arg || builtins.isFloat arg || lib.isDerivation arg then toString arg + s = if isPath arg then "${arg}" + else if isString arg then arg + else if isInt arg || isFloat arg || isDerivation arg then toString arg else throw "escapeSystemdExecArg only allows strings, paths, numbers and derivations"; in - replaceStrings [ "%" "$" ] [ "%%" "$$" ] (builtins.toJSON s); + replaceStrings [ "%" "$" ] [ "%%" "$$" ] (toJSON s); # Quotes a list of arguments into a single string for use in a Exec* # line. @@ -197,7 +232,7 @@ rec { (attrNames secrets)) + "\n" + "${pkgs.jq}/bin/jq >'${output}' " - + lib.escapeShellArg (stringOrDefault + + escapeShellArg (stringOrDefault (concatStringsSep " | " (imap1 (index: name: ''${name} = $ENV.secret${toString index}'') @@ -205,7 +240,7 @@ rec { ".") + '' <<'EOF' - ${builtins.toJSON set} + ${toJSON set} EOF (( ! $inherit_errexit_enabled )) && shopt -u inherit_errexit ''; @@ -222,9 +257,9 @@ rec { */ removePackagesByName = packages: packagesToRemove: let - namesToRemove = map lib.getName packagesToRemove; + namesToRemove = map getName packagesToRemove; in - lib.filter (x: !(builtins.elem (lib.getName x) namesToRemove)) packages; + filter (x: !(elem (getName x) namesToRemove)) packages; systemdUtils = { lib = import ./systemd-lib.nix { inherit lib config pkgs; }; From 0157c5f3287dbfae97461738aada3f9a42c8faf6 Mon Sep 17 00:00:00 2001 From: Audrey Dutcher Date: Sun, 24 Mar 2024 14:52:05 -0700 Subject: [PATCH 17/99] FreeBSD: Use separate files for packages There are a number of packages that we ought to be able to autocall, but cannot because we need to add manual arguments just to avoid splicing. This sucks but is the right call for now --- the conclusion should be not that auto-calling is bad, but that splicing is bad. This tries to do nothing but move things around; hashes are almost unchanged. @rhelmot then has more changes to do on top of this, which will be easier to review since code will be modified in place rather than moved around and modified at the same time. --- pkgs/os-specific/bsd/freebsd/default.nix | 912 +----------------- pkgs/os-specific/bsd/freebsd/lib/default.nix | 16 + .../bsd/freebsd/lib/install-wrapper.sh | 30 + .../bsd/freebsd/pkgs/boot-install.nix | 7 + .../compat-fix-typedefs-locations.patch | 0 .../compat}/compat-install-dirs.patch | 0 .../{ => pkgs/compat}/compat-setup-hook.sh | 0 .../bsd/freebsd/pkgs/compat/package.nix | 135 +++ pkgs/os-specific/bsd/freebsd/pkgs/config.nix | 17 + pkgs/os-specific/bsd/freebsd/pkgs/csu.nix | 25 + .../bsd/freebsd/pkgs/ctfconvert.nix | 28 + pkgs/os-specific/bsd/freebsd/pkgs/file2c.nix | 6 + .../freebsd/pkgs/freebsdSetupHook/package.nix | 5 + .../{ => pkgs/freebsdSetupHook}/setup-hook.sh | 0 pkgs/os-specific/bsd/freebsd/pkgs/gencat.nix | 5 + .../include}/no-perms-BSD.include.dist.patch | 0 .../bsd/freebsd/pkgs/include/package.nix | 56 ++ pkgs/os-specific/bsd/freebsd/pkgs/install.nix | 41 + .../libc}/libc-msun-arch-subdir.patch | 0 .../libc}/libc-no-force--lcompiler-rt.patch | 0 .../libc}/librpcsvc-include-subdir.patch | 0 .../bsd/freebsd/pkgs/libc/package.nix | 139 +++ .../os-specific/bsd/freebsd/pkgs/libdwarf.nix | 27 + pkgs/os-specific/bsd/freebsd/pkgs/libelf.nix | 24 + .../libnetbsd}/libnetbsd-do-install.patch | 0 .../bsd/freebsd/pkgs/libnetbsd/package.nix | 26 + pkgs/os-specific/bsd/freebsd/pkgs/libnv.nix | 10 + pkgs/os-specific/bsd/freebsd/pkgs/libsbuf.nix | 9 + pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix | 21 + pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix | 7 + pkgs/os-specific/bsd/freebsd/pkgs/lorder.nix | 20 + pkgs/os-specific/bsd/freebsd/pkgs/make.nix | 20 + .../bsd/freebsd/pkgs/makeMinimal.nix | 61 ++ .../bsd/freebsd/pkgs/mkDerivation.nix | 78 ++ pkgs/os-specific/bsd/freebsd/pkgs/mknod.nix | 5 + pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix | 6 + .../bsd/freebsd/pkgs/rpcgen/package.nix | 22 + .../{ => pkgs/rpcgen}/rpcgen-glibc-hack.patch | 0 pkgs/os-specific/bsd/freebsd/pkgs/sed.nix | 7 + pkgs/os-specific/bsd/freebsd/pkgs/stat.nix | 13 + .../os-specific/bsd/freebsd/pkgs/statHook.nix | 12 + .../bsd/freebsd/pkgs/sys/package.nix | 67 ++ .../freebsd/{ => pkgs/sys}/sys-gnu-date.patch | 0 .../sys}/sys-no-explicit-intrinsics-dep.patch | 0 pkgs/os-specific/bsd/freebsd/pkgs/tsort.nix | 12 + .../os-specific/bsd/freebsd/pkgs/uudecode.nix | 6 + .../bsd/freebsd/pkgs/xargs-j/package.nix | 9 + .../bsd/{ => freebsd/pkgs/xargs-j}/xargs-j.sh | 0 48 files changed, 1017 insertions(+), 867 deletions(-) create mode 100644 pkgs/os-specific/bsd/freebsd/lib/default.nix create mode 100644 pkgs/os-specific/bsd/freebsd/lib/install-wrapper.sh create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/boot-install.nix rename pkgs/os-specific/bsd/freebsd/{ => pkgs/compat}/compat-fix-typedefs-locations.patch (100%) rename pkgs/os-specific/bsd/freebsd/{ => pkgs/compat}/compat-install-dirs.patch (100%) rename pkgs/os-specific/bsd/freebsd/{ => pkgs/compat}/compat-setup-hook.sh (100%) create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/config.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/csu.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/ctfconvert.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/file2c.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/package.nix rename pkgs/os-specific/bsd/freebsd/{ => pkgs/freebsdSetupHook}/setup-hook.sh (100%) create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/gencat.nix rename pkgs/os-specific/bsd/freebsd/{ => pkgs/include}/no-perms-BSD.include.dist.patch (100%) create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/include/package.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/install.nix rename pkgs/os-specific/bsd/freebsd/{ => pkgs/libc}/libc-msun-arch-subdir.patch (100%) rename pkgs/os-specific/bsd/freebsd/{ => pkgs/libc}/libc-no-force--lcompiler-rt.patch (100%) rename pkgs/os-specific/bsd/freebsd/{ => pkgs/libc}/librpcsvc-include-subdir.patch (100%) create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/libc/package.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/libdwarf.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/libelf.nix rename pkgs/os-specific/bsd/freebsd/{ => pkgs/libnetbsd}/libnetbsd-do-install.patch (100%) create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/libnetbsd/package.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/libnv.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/libsbuf.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/lorder.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/make.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/makeMinimal.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/mknod.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/package.nix rename pkgs/os-specific/bsd/freebsd/{ => pkgs/rpcgen}/rpcgen-glibc-hack.patch (100%) create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/sed.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/stat.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/statHook.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix rename pkgs/os-specific/bsd/freebsd/{ => pkgs/sys}/sys-gnu-date.patch (100%) rename pkgs/os-specific/bsd/freebsd/{ => pkgs/sys}/sys-no-explicit-intrinsics-dep.patch (100%) create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/tsort.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/uudecode.nix create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/xargs-j/package.nix rename pkgs/os-specific/bsd/{ => freebsd/pkgs/xargs-j}/xargs-j.sh (100%) diff --git a/pkgs/os-specific/bsd/freebsd/default.nix b/pkgs/os-specific/bsd/freebsd/default.nix index 398b2ff6fa6d..965185cc14aa 100644 --- a/pkgs/os-specific/bsd/freebsd/default.nix +++ b/pkgs/os-specific/bsd/freebsd/default.nix @@ -1,10 +1,7 @@ { stdenv, lib, stdenvNoCC , makeScopeWithSplicing', generateSplicesForMkScope , buildPackages -, bsdSetupHook, makeSetupHook -, fetchgit, fetchzip, coreutils, groff, mandoc, byacc, flex, which, m4, gawk, substituteAll, runtimeShell -, zlib, expat, libmd -, runCommand, writeShellScript, writeText, symlinkJoin +, fetchgit, fetchzip }: let @@ -20,885 +17,66 @@ let sha256 = "14nhk0kls83xfb64d5xy14vpi6k8laswjycjg80indq9pkcr2rlv"; }; - freebsdSetupHook = makeSetupHook { - name = "freebsd-setup-hook"; - } ./setup-hook.sh; - - mkBsdArch = stdenv': { - x86_64 = "amd64"; - aarch64 = "arm64"; - i486 = "i386"; - i586 = "i386"; - i686 = "i386"; - }.${stdenv'.hostPlatform.parsed.cpu.name} - or stdenv'.hostPlatform.parsed.cpu.name; - - install-wrapper = '' - set -eu - - args=() - declare -i path_args=0 - - while (( $# )); do - if (( $# == 1 )); then - if (( path_args > 1)) || [[ "$1" = */ ]]; then - mkdir -p "$1" - else - mkdir -p "$(dirname "$1")" - fi - fi - case $1 in - -C) ;; - -o | -g) shift ;; - -s) ;; - -m | -l) - # handle next arg so not counted as path arg - args+=("$1" "$2") - shift - ;; - -*) args+=("$1") ;; - *) - path_args+=1 - args+=("$1") - ;; - esac - shift - done - ''; - in makeScopeWithSplicing' { otherSplices = generateSplicesForMkScope "freebsd"; - f = (self: let - inherit (self) mkDerivation; - in { - inherit freebsdSrc; + f = (self: lib.packagesFromDirectoryRecursive { + callPackage = self.callPackage; + directory = ./pkgs; + } // { + inherit freebsdSrc; - ports = fetchzip { - url = "https://cgit.freebsd.org/ports/snapshot/ports-dde3b2b456c3a4bdd217d0bf3684231cc3724a0a.tar.gz"; - sha256 = "BpHqJfnGOeTE7tkFJBx0Wk8ryalmf4KNTit/Coh026E="; - }; - - # Why do we have splicing and yet do `nativeBuildInputs = with self; ...`? - # See note in ../netbsd/default.nix. - - compatIfNeeded = lib.optional (!stdenvNoCC.hostPlatform.isFreeBSD) self.compat; - - mkDerivation = lib.makeOverridable (attrs: let - stdenv' = if attrs.noCC or false then stdenvNoCC else stdenv; - in stdenv'.mkDerivation (rec { - pname = "${attrs.pname or (baseNameOf attrs.path)}-freebsd"; - inherit version; - src = runCommand "${pname}-filtered-src" { - nativeBuildInputs = [ rsync ]; - } '' - for p in ${lib.concatStringsSep " " ([ attrs.path ] ++ attrs.extraPaths or [])}; do - set -x - path="$out/$p" - mkdir -p "$(dirname "$path")" - src_path="${freebsdSrc}/$p" - if [[ -d "$src_path" ]]; then src_path+=/; fi - rsync --chmod="+w" -r "$src_path" "$path" - set +x - done - ''; - - extraPaths = [ ]; - - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal - install tsort lorder mandoc groff #statHook - ]; - buildInputs = with self; compatIfNeeded; - - HOST_SH = stdenv'.shell; - - # Since STRIP below is the flag - STRIPBIN = "${stdenv.cc.bintools.targetPrefix}strip"; - - makeFlags = [ - "STRIP=-s" # flag to install, not command - ] ++ lib.optional (!stdenv.hostPlatform.isFreeBSD) "MK_WERROR=no"; - - # amd64 not x86_64 for this on unlike NetBSD - MACHINE_ARCH = mkBsdArch stdenv'; - - MACHINE = mkBsdArch stdenv'; - - MACHINE_CPUARCH = MACHINE_ARCH; - - COMPONENT_PATH = attrs.path or null; - - strictDeps = true; - - meta = with lib; { - maintainers = with maintainers; [ ericson2314 ]; - platforms = platforms.unix; - license = licenses.bsd2; + ports = fetchzip { + url = "https://cgit.freebsd.org/ports/snapshot/ports-dde3b2b456c3a4bdd217d0bf3684231cc3724a0a.tar.gz"; + sha256 = "BpHqJfnGOeTE7tkFJBx0Wk8ryalmf4KNTit/Coh026E="; }; - } // lib.optionalAttrs stdenv'.hasCC { - # TODO should CC wrapper set this? - CPP = "${stdenv'.cc.targetPrefix}cpp"; - } // lib.optionalAttrs stdenv'.isDarwin { - MKRELRO = "no"; - } // lib.optionalAttrs (stdenv'.cc.isClang or false) { - HAVE_LLVM = lib.versions.major (lib.getVersion stdenv'.cc.cc); - } // lib.optionalAttrs (stdenv'.cc.isGNU or false) { - HAVE_GCC = lib.versions.major (lib.getVersion stdenv'.cc.cc); - } // lib.optionalAttrs (stdenv'.isx86_32) { - USE_SSP = "no"; - } // lib.optionalAttrs (attrs.headersOnly or false) { - installPhase = "includesPhase"; - dontBuild = true; - } // attrs)); - ## - ## START BOOTSTRAPPING - ## - makeMinimal = mkDerivation rec { - inherit (self.make) path; + # Why do we have splicing and yet do `nativeBuildInputs = with self; ...`? + # See note in ../netbsd/default.nix. - buildInputs = with self; []; - nativeBuildInputs = with buildPackages.netbsd; [ bsdSetupHook freebsdSetupHook ]; + compatIfNeeded = lib.optional (!stdenvNoCC.hostPlatform.isFreeBSD) self.compat; - skipIncludesPhase = true; + freebsd-lib = import ./lib { inherit version; }; - makeFlags = []; + # Overridden arguments avoid cross package-set splicing issues, + # otherwise would just use implicit + # `lib.packagesFromDirectoryRecursive` auto-call. - postPatch = '' - patchShebangs configure - ${self.make.postPatch} - ''; + compat = self.callPackage ./pkgs/compat/package.nix { + inherit stdenv; + inherit (buildPackages.freebsd) makeMinimal boot-install; + }; - buildPhase = '' - runHook preBuild + csu = self.callPackage ./pkgs/csu.nix { + inherit (buildPackages.freebsd) makeMinimal install gencat; + inherit (self) include; + }; - sh ./make-bootstrap.sh + include = self.callPackage ./pkgs/include/package.nix { + inherit (buildPackages.freebsd) makeMinimal install rpcgen; + }; - runHook postBuild - ''; + install = self.callPackage ./pkgs/install.nix { + inherit (buildPackages.freebsd) makeMinimal; + inherit (self) mtree libnetbsd; + }; - installPhase = '' - runHook preInstall + libc = self.callPackage ./pkgs/libc/package.nix { + inherit (buildPackages.freebsd) makeMinimal install gencat rpcgen; + inherit (self) csu include; + }; - install -D bmake "$out/bin/bmake" - ln -s "$out/bin/bmake" "$out/bin/make" - mkdir -p "$out/share" - cp -r "$BSDSRCDIR/share/mk" "$out/share/mk" - find "$out/share/mk" -type f -print0 | - while IFS= read -r -d "" f; do - substituteInPlace "$f" --replace 'usr/' "" - done - substituteInPlace "$out/share/mk/bsd.symver.mk" \ - --replace '/share/mk' "$out/share/mk" + libnetbsd = self.callPackage ./pkgs/libnetbsd/package.nix { + inherit (buildPackages.freebsd) makeMinimal; + }; - runHook postInstall - ''; + mkDerivation = self.callPackage ./pkgs/mkDerivation.nix { + inherit stdenv; + inherit (buildPackages.freebsd) makeMinimal install tsort; + }; - postInstall = lib.optionalString (!stdenv.targetPlatform.isFreeBSD) '' - boot_mk="$BSDSRCDIR/tools/build/mk" - cp "$boot_mk"/Makefile.boot* "$out/share/mk" - replaced_mk="$out/share/mk.orig" - mkdir "$replaced_mk" - mv "$out"/share/mk/bsd.{lib,prog}.mk "$replaced_mk" - for m in bsd.{lib,prog}.mk; do - cp "$boot_mk/$m" "$out/share/mk" - substituteInPlace "$out/share/mk/$m" --replace '../../../share/mk' '../mk.orig' - done - ''; + makeMinimal = self.callPackage ./pkgs/makeMinimal.nix { + inherit (self) make; + }; - extraPaths = with self; make.extraPaths; - }; - - # Wrap NetBSD's install - boot-install = buildPackages.writeShellScriptBin "boot-install" (install-wrapper + '' - - ${buildPackages.netbsd.install}/bin/xinstall "''${args[@]}" - ''); - - compat = mkDerivation rec { - pname = "compat"; - path = "tools/build"; - extraPaths = [ - "lib/libc/db" - "lib/libc/stdlib" # getopt - "lib/libc/gen" # getcap - "lib/libc/locale" # rpmatch - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - "lib/libc/string" # strlcpy - "lib/libutil" - ] ++ [ - "contrib/libc-pwcache" - "contrib/libc-vis" - "sys/libkern" - "sys/kern/subr_capability.c" - - # Take only individual headers, or else we will clobber native libc, etc. - - "sys/rpc/types.h" - - # Listed in Makekfile as INC - "include/mpool.h" - "include/ndbm.h" - "include/err.h" - "include/stringlist.h" - "include/a.out.h" - "include/nlist.h" - "include/db.h" - "include/getopt.h" - "include/nl_types.h" - "include/elf.h" - "sys/sys/ctf.h" - - # Listed in Makekfile as SYSINC - - "sys/sys/capsicum.h" - "sys/sys/caprights.h" - "sys/sys/imgact_aout.h" - "sys/sys/nlist_aout.h" - "sys/sys/nv.h" - "sys/sys/dnv.h" - "sys/sys/cnv.h" - - "sys/sys/elf32.h" - "sys/sys/elf64.h" - "sys/sys/elf_common.h" - "sys/sys/elf_generic.h" - "sys/${mkBsdArch stdenv}/include" - ] ++ lib.optionals stdenv.hostPlatform.isx86 [ - "sys/x86/include" - ] ++ [ - - "sys/sys/queue.h" - "sys/sys/md5.h" - "sys/sys/sbuf.h" - "sys/sys/tree.h" - "sys/sys/font.h" - "sys/sys/consio.h" - "sys/sys/fnv_hash.h" - - "sys/crypto/chacha20/_chacha.h" - "sys/crypto/chacha20/chacha.h" - # included too, despite ".c" - "sys/crypto/chacha20/chacha.c" - - "sys/fs" - "sys/ufs" - "sys/sys/disk" - - "lib/libcapsicum" - "lib/libcasper" - ]; - - patches = [ - ./compat-install-dirs.patch - ./compat-fix-typedefs-locations.patch - ]; - - preBuild = '' - NIX_CFLAGS_COMPILE+=' -I../../include -I../../sys' - - cp ../../sys/${mkBsdArch stdenv}/include/elf.h ../../sys/sys - cp ../../sys/${mkBsdArch stdenv}/include/elf.h ../../sys/sys/${mkBsdArch stdenv} - '' + lib.optionalString stdenv.hostPlatform.isx86 '' - cp ../../sys/x86/include/elf.h ../../sys/x86 - ''; - - setupHooks = [ - ../../../build-support/setup-hooks/role.bash - ./compat-setup-hook.sh - ]; - - # This one has an ifdefed `#include_next` that makes it annoying. - postInstall = '' - rm ''${!outputDev}/0-include/libelf.h - ''; - - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal - boot-install - - which - ]; - buildInputs = [ expat zlib ]; - - makeFlags = [ - "STRIP=-s" # flag to install, not command - "MK_WERROR=no" - "HOST_INCLUDE_ROOT=${lib.getDev stdenv.cc.libc}/include" - "INSTALL=boot-install" - ]; - - preIncludes = '' - mkdir -p $out/{0,1}-include - cp --no-preserve=mode -r cross-build/include/common/* $out/0-include - '' + lib.optionalString stdenv.hostPlatform.isLinux '' - cp --no-preserve=mode -r cross-build/include/linux/* $out/1-include - '' + lib.optionalString stdenv.hostPlatform.isDarwin '' - cp --no-preserve=mode -r cross-build/include/darwin/* $out/1-include - ''; - }; - - libnetbsd = mkDerivation { - path = "lib/libnetbsd"; - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal mandoc groff - (if stdenv.hostPlatform == stdenv.buildPlatform - then boot-install - else install) - ]; - patches = lib.optionals (!stdenv.hostPlatform.isFreeBSD) [ - ./libnetbsd-do-install.patch - #./libnetbsd-define-__va_list.patch - ]; - makeFlags = [ - "STRIP=-s" # flag to install, not command - "MK_WERROR=no" - ] ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "INSTALL=boot-install"; - buildInputs = with self; compatIfNeeded; - }; - - # HACK: to ensure parent directories exist. This emulates GNU - # install’s -D option. No alternative seems to exist in BSD install. - install = let binstall = writeShellScript "binstall" (install-wrapper + '' - - @out@/bin/xinstall "''${args[@]}" - ''); in mkDerivation { - path = "usr.bin/xinstall"; - extraPaths = with self; [ mtree.path ]; - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal mandoc groff - (if stdenv.hostPlatform == stdenv.buildPlatform - then boot-install - else install) - ]; - skipIncludesPhase = true; - buildInputs = with self; compatIfNeeded ++ [ libmd libnetbsd ]; - makeFlags = [ - "STRIP=-s" # flag to install, not command - "MK_WERROR=no" - "TESTSDIR=${builtins.placeholder "test"}" - ] ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "INSTALL=boot-install"; - postInstall = '' - install -D -m 0550 ${binstall} $out/bin/binstall - substituteInPlace $out/bin/binstall --subst-var out - mv $out/bin/install $out/bin/xinstall - ln -s ./binstall $out/bin/install - ''; - outputs = [ "out" "man" "test" ]; - }; - - sed = mkDerivation { - path = "usr.bin/sed"; - TESTSRC = "${freebsdSrc}/contrib/netbsd-tests"; - MK_TESTS = "no"; - }; - - # Don't add this to nativeBuildInputs directly. Use statHook instead. - stat = mkDerivation { - path = "usr.bin/stat"; - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal install mandoc groff - ]; - }; - - # stat isn't in POSIX, and NetBSD stat supports a completely - # different range of flags than GNU stat, so including it in PATH - # breaks stdenv. Work around that with a hook that will point - # NetBSD's build system and NetBSD stat without including it in - # PATH. - statHook = makeSetupHook { - name = "netbsd-stat-hook"; - } (writeText "netbsd-stat-hook-impl" '' - makeFlagsArray+=(TOOL_STAT=${self.stat}/bin/stat) - ''); - - tsort = mkDerivation { - path = "usr.bin/tsort"; - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal install mandoc groff - ]; - }; - - lorder = mkDerivation rec { - path = "usr.bin/lorder"; - noCC = true; - dontBuild = true; - installPhase = '' - mkdir -p "$out/bin" "$man/share/man" - mv "lorder.sh" "$out/bin/lorder" - chmod +x "$out/bin/lorder" - mv "lorder.1" "$man/share/man" - ''; - nativeBuildInputs = [ bsdSetupHook freebsdSetupHook ]; - buildInputs = []; - outputs = [ "out" "man" ]; - }; - - ## - ## END BOOTSTRAPPING - ## - - ## - ## START COMMAND LINE TOOLS - ## - make = mkDerivation { - path = "contrib/bmake"; - version = "9.2"; - postPatch = '' - # make needs this to pick up our sys make files - export NIX_CFLAGS_COMPILE+=" -D_PATH_DEFSYSPATH=\"$out/share/mk\"" - - '' + lib.optionalString stdenv.isDarwin '' - substituteInPlace $BSDSRCDIR/share/mk/bsd.sys.mk \ - --replace '-Wl,--fatal-warnings' "" \ - --replace '-Wl,--warn-shared-textrel' "" - ''; - postInstall = '' - make -C $BSDSRCDIR/share/mk FILESDIR=$out/share/mk install - ''; - extraPaths = [ "share/mk" ] - ++ lib.optional (!stdenv.hostPlatform.isFreeBSD) "tools/build/mk"; - }; - mtree = mkDerivation { - path = "contrib/mtree"; - extraPaths = with self; [ mknod.path ]; - }; - - mknod = mkDerivation { - path = "sbin/mknod"; - }; - - rpcgen = mkDerivation rec { - path = "usr.bin/rpcgen"; - patches = lib.optionals (stdenv.hostPlatform.libc == "glibc") [ - # `WUNTRACED` is defined privately `bits/waitflags.h` in glibc. - # But instead of having a regular header guard, it has some silly - # non-modular logic. `stdlib.h` will include it if `sys/wait.h` - # hasn't yet been included (for it would first), and vice versa. - # - # The problem is that with the FreeBSD compat headers, one of - # those headers ends up included other headers...which ends up - # including the other one, this means by the first time we reach - # `#include ``, both `_SYS_WAIT_H` and - # `_STDLIB_H` are already defined! Thus, we never ned up including - # `` and defining `WUNTRACED`. - # - # This hacks around this by manually including `WUNTRACED` until - # the problem is fixed properly in glibc. - ./rpcgen-glibc-hack.patch - ]; - }; - - gencat = mkDerivation { - path = "usr.bin/gencat"; - }; - - file2c = mkDerivation { - path = "usr.bin/file2c"; - MK_TESTS = "no"; - }; - - libnv = mkDerivation { - path = "lib/libnv"; - extraPaths = [ - "sys/contrib/libnv" - "sys/sys" - ]; - MK_TESTS = "no"; - }; - - libsbuf = mkDerivation { - path = "lib/libsbuf"; - extraPaths = [ - "sys/kern" - ]; - MK_TESTS = "no"; - }; - - libelf = mkDerivation { - path = "lib/libelf"; - extraPaths = [ - "contrib/elftoolchain/libelf" - "contrib/elftoolchain/common" - "sys/sys/elf32.h" - "sys/sys/elf64.h" - "sys/sys/elf_common.h" - ]; - BOOTSTRAPPING = !stdenv.isFreeBSD; - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal install mandoc groff - - m4 - ]; - MK_TESTS = "no"; - }; - - libdwarf = mkDerivation { - path = "lib/libdwarf"; - extraPaths = [ - "contrib/elftoolchain/libdwarf" - "contrib/elftoolchain/common" - "sys/sys/elf32.h" - "sys/sys/elf64.h" - "sys/sys/elf_common.h" - ]; - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal install mandoc groff - - m4 - ]; - buildInputs = with self; compatIfNeeded ++ [ - libelf - ]; - MK_TESTS = "no"; - }; - - uudecode = mkDerivation { - path = "usr.bin/uudecode"; - MK_TESTS = "no"; - }; - - config = mkDerivation { - path = "usr.sbin/config"; - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal install mandoc groff - - flex byacc file2c - ]; - buildInputs = with self; compatIfNeeded ++ [ libnv libsbuf ]; - }; - ## - ## END COMMAND LINE TOOLS - ## - - ## - ## START HEADERS - ## - include = mkDerivation { - path = "include"; - - extraPaths = [ - "contrib/libc-vis" - "etc/mtree/BSD.include.dist" - "sys" - ]; - - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal - install - mandoc groff rsync /*nbperf*/ rpcgen - - # HACK use NetBSD's for now - buildPackages.netbsd.mtree - ]; - - patches = [ - ./no-perms-BSD.include.dist.patch - ]; - - # The makefiles define INCSDIR per subdirectory, so we have to set - # something else on the command line so those definitions aren't - # overridden. - postPatch = '' - find "$BSDSRCDIR" -name Makefile -exec \ - sed -i -E \ - -e 's_/usr/include_''${INCSDIR0}_' \ - {} \; - ''; - - makeFlags = [ - "RPCGEN_CPP=${buildPackages.stdenv.cc.cc}/bin/cpp" - ]; - - # multiple header dirs, see above - postConfigure = '' - makeFlags=''${makeFlags/INCSDIR/INCSDIR0} - ''; - - headersOnly = true; - - MK_HESIOD = "yes"; - - meta.platforms = lib.platforms.freebsd; - }; - - ## - ## END HEADERS - ## - - csu = mkDerivation { - path = "lib/csu"; - extraPaths = with self; [ - "lib/Makefile.inc" - "lib/libc/include/libc_private.h" - ]; - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal - install - - flex byacc gencat - ]; - buildInputs = with self; [ include ]; - MK_TESTS = "no"; - meta.platforms = lib.platforms.freebsd; - }; - - libc = mkDerivation rec { - pname = "libc"; - path = "lib/libc"; - extraPaths = [ - "etc/group" - "etc/master.passwd" - "etc/shells" - "lib/libmd" - "lib/libutil" - "lib/msun" - "sys/kern" - "sys/libkern" - "sys/sys" - "sys/crypto/chacha20" - "include/rpcsvc" - "contrib/jemalloc" - "contrib/gdtoa" - "contrib/libc-pwcache" - "contrib/libc-vis" - "contrib/tzcode/stdtime" - - # libthr - "lib/libthr" - "lib/libthread_db" - "libexec/rtld-elf" - - # librpcsvc - "lib/librpcsvc" - - # librt - "lib/librt" - - # libcrypt - "lib/libcrypt" - "lib/libmd" - "sys/crypto/sha2" - ]; - - patches = [ - # Hack around broken propogating MAKEFLAGS to submake, just inline logic - ./libc-msun-arch-subdir.patch - - # Don't force -lcompiler-rt, we don't actually call it that - ./libc-no-force--lcompiler-rt.patch - - # Fix extra include dir to get rpcsvc headers. - ./librpcsvc-include-subdir.patch - ]; - - postPatch = '' - substituteInPlace $COMPONENT_PATH/Makefile --replace '.include ' "" - ''; - - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal - install - - flex byacc gencat rpcgen - ]; - buildInputs = with self; [ include csu ]; - env.NIX_CFLAGS_COMPILE = "-B${self.csu}/lib"; - - # Suppress lld >= 16 undefined version errors - # https://github.com/freebsd/freebsd-src/commit/2ba84b4bcdd6012e8cfbf8a0d060a4438623a638 - env.NIX_LDFLAGS = lib.optionalString (stdenv.targetPlatform.linker == "lld") "--undefined-version"; - - makeFlags = [ - "STRIP=-s" # flag to install, not command - # lib/libc/gen/getgrent.c has sketchy cast from `void *` to enum - "MK_WERROR=no" - ]; - - MK_SYMVER = "yes"; - MK_SSP = "yes"; - MK_NLS = "yes"; - MK_ICONV = "no"; # TODO make srctop - MK_NS_CACHING = "yes"; - MK_INET6_SUPPORT = "yes"; - MK_HESIOD = "yes"; - MK_NIS = "yes"; - MK_HYPERV = "yes"; - MK_FP_LIBC = "yes"; - - MK_TCSH = "no"; - MK_MALLOC_PRODUCTION = "yes"; - - MK_TESTS = "no"; - - postInstall = '' - pushd ${self.include} - find . -type d -exec mkdir -p $out/\{} \; - find . \( -type f -o -type l \) -exec cp -pr \{} $out/\{} \; - popd - - pushd ${self.csu} - find . -type d -exec mkdir -p $out/\{} \; - find . \( -type f -o -type l \) -exec cp -pr \{} $out/\{} \; - popd - - sed -i -e 's| [^ ]*/libc_nonshared.a||' $out/lib/libc.so - - $CC -nodefaultlibs -lgcc -shared -o $out/lib/libgcc_s.so - - NIX_CFLAGS_COMPILE+=" -B$out/lib" - NIX_CFLAGS_COMPILE+=" -I$out/include" - NIX_LDFLAGS+=" -L$out/lib" - - make -C $BSDSRCDIR/lib/libthr $makeFlags - make -C $BSDSRCDIR/lib/libthr $makeFlags install - - make -C $BSDSRCDIR/lib/msun $makeFlags - make -C $BSDSRCDIR/lib/msun $makeFlags install - - make -C $BSDSRCDIR/lib/librpcsvc $makeFlags - make -C $BSDSRCDIR/lib/librpcsvc $makeFlags install - - make -C $BSDSRCDIR/lib/libutil $makeFlags - make -C $BSDSRCDIR/lib/libutil $makeFlags install - - make -C $BSDSRCDIR/lib/librt $makeFlags - make -C $BSDSRCDIR/lib/librt $makeFlags install - - make -C $BSDSRCDIR/lib/libcrypt $makeFlags - make -C $BSDSRCDIR/lib/libcrypt $makeFlags install - ''; - - meta.platforms = lib.platforms.freebsd; - }; - - ## - ## Kernel - ## - - libspl = mkDerivation { - path = "cddl/lib/libspl"; - extraPaths = [ - "sys/contrib/openzfs/lib/libspl" - "sys/contrib/openzfs/include" - - "cddl/compat/opensolaris/include" - "sys/contrib/openzfs/module/icp/include" - "sys/modules/zfs" - ]; - # nativeBuildInputs = with buildPackages.freebsd; [ - # bsdSetupHook freebsdSetupHook - # makeMinimal install mandoc groff - - # flex byacc file2c - # ]; - # buildInputs = with self; compatIfNeeded ++ [ libnv libsbuf ]; - meta.license = lib.licenses.cddl; - }; - - ctfconvert = mkDerivation { - path = "cddl/usr.bin/ctfconvert"; - extraPaths = [ - "cddl/compat/opensolaris" - "cddl/contrib/opensolaris" - "sys/cddl/compat/opensolaris" - "sys/cddl/contrib/opensolaris" - "sys/contrib/openzfs" - ]; - OPENSOLARIS_USR_DISTDIR = "$(SRCTOP)/cddl/contrib/opensolaris"; - OPENSOLARIS_SYS_DISTDIR = "$(SRCTOP)/sys/cddl/contrib/opensolaris"; - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal install mandoc groff - - # flex byacc file2c - ]; - buildInputs = with self; compatIfNeeded ++ [ - libelf libdwarf zlib libspl - ]; - meta.license = lib.licenses.cddl; - }; - - xargs-j = substituteAll { - name = "xargs-j"; - shell = runtimeShell; - src = ../xargs-j.sh; - dir = "bin"; - isExecutable = true; - }; - - sys = mkDerivation (let - cfg = "MINIMAL"; - in rec { - path = "sys"; - - nativeBuildInputs = with buildPackages.freebsd; [ - bsdSetupHook freebsdSetupHook - makeMinimal install mandoc groff - - config rpcgen file2c gawk uudecode xargs-j - #ctfconvert - ]; - - patches = [ - ./sys-gnu-date.patch - ./sys-no-explicit-intrinsics-dep.patch - ]; - - # --dynamic-linker /red/herring is used when building the kernel. - NIX_ENFORCE_PURITY = 0; - - AWK = "${buildPackages.gawk}/bin/awk"; - - CWARNEXTRA = "-Wno-error=shift-negative-value -Wno-address-of-packed-member"; - - MK_CTF = "no"; - - KODIR = "${builtins.placeholder "out"}/kernel"; - KMODDIR = "${builtins.placeholder "out"}/kernel"; - DTBDIR = "${builtins.placeholder"out"}/dbt"; - - KERN_DEBUGDIR = "${builtins.placeholder "out"}/debug"; - KERN_DEBUGDIR_KODIR = "${KERN_DEBUGDIR}/kernel"; - KERN_DEBUGDIR_KMODDIR = "${KERN_DEBUGDIR}/kernel"; - - skipIncludesPhase = true; - - configurePhase = '' - runHook preConfigure - - for f in conf/kmod.mk contrib/dev/acpica/acpica_prep.sh; do - substituteInPlace "$f" --replace 'xargs -J' 'xargs-j ' - done - - for f in conf/*.mk; do - substituteInPlace "$f" --replace 'KERN_DEBUGDIR}''${' 'KERN_DEBUGDIR_' - done - - cd ${mkBsdArch stdenv}/conf - sed -i ${cfg} \ - -e 's/WITH_CTF=1/WITH_CTF=0/' \ - -e '/KDTRACE/d' - config ${cfg} - - runHook postConfigure - ''; - preBuild = '' - cd ../compile/${cfg} - ''; }); - -}); } diff --git a/pkgs/os-specific/bsd/freebsd/lib/default.nix b/pkgs/os-specific/bsd/freebsd/lib/default.nix new file mode 100644 index 000000000000..30fea7e17dce --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/lib/default.nix @@ -0,0 +1,16 @@ +{ version }: + +{ + inherit version; + + mkBsdArch = stdenv': { + x86_64 = "amd64"; + aarch64 = "arm64"; + i486 = "i386"; + i586 = "i386"; + i686 = "i386"; + }.${stdenv'.hostPlatform.parsed.cpu.name} + or stdenv'.hostPlatform.parsed.cpu.name; + + install-wrapper = builtins.readFile ./install-wrapper.sh; +} diff --git a/pkgs/os-specific/bsd/freebsd/lib/install-wrapper.sh b/pkgs/os-specific/bsd/freebsd/lib/install-wrapper.sh new file mode 100644 index 000000000000..91a7a2679f20 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/lib/install-wrapper.sh @@ -0,0 +1,30 @@ +set -eu + +args=() +declare -i path_args=0 + +while (( $# )); do + if (( $# == 1 )); then + if (( path_args > 1)) || [[ "$1" = */ ]]; then + mkdir -p "$1" + else + mkdir -p "$(dirname "$1")" + fi + fi + case $1 in + -C) ;; + -o | -g) shift ;; + -s) ;; + -m | -l) + # handle next arg so not counted as path arg + args+=("$1" "$2") + shift + ;; + -*) args+=("$1") ;; + *) + path_args+=1 + args+=("$1") + ;; + esac + shift +done diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/boot-install.nix b/pkgs/os-specific/bsd/freebsd/pkgs/boot-install.nix new file mode 100644 index 000000000000..71ecef1bcae4 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/boot-install.nix @@ -0,0 +1,7 @@ +{ buildPackages, freebsd-lib }: + +# Wrap NetBSD's install +buildPackages.writeShellScriptBin "boot-install" (freebsd-lib.install-wrapper + '' + + ${buildPackages.netbsd.install}/bin/xinstall "''${args[@]}" +'') diff --git a/pkgs/os-specific/bsd/freebsd/compat-fix-typedefs-locations.patch b/pkgs/os-specific/bsd/freebsd/pkgs/compat/compat-fix-typedefs-locations.patch similarity index 100% rename from pkgs/os-specific/bsd/freebsd/compat-fix-typedefs-locations.patch rename to pkgs/os-specific/bsd/freebsd/pkgs/compat/compat-fix-typedefs-locations.patch diff --git a/pkgs/os-specific/bsd/freebsd/compat-install-dirs.patch b/pkgs/os-specific/bsd/freebsd/pkgs/compat/compat-install-dirs.patch similarity index 100% rename from pkgs/os-specific/bsd/freebsd/compat-install-dirs.patch rename to pkgs/os-specific/bsd/freebsd/pkgs/compat/compat-install-dirs.patch diff --git a/pkgs/os-specific/bsd/freebsd/compat-setup-hook.sh b/pkgs/os-specific/bsd/freebsd/pkgs/compat/compat-setup-hook.sh similarity index 100% rename from pkgs/os-specific/bsd/freebsd/compat-setup-hook.sh rename to pkgs/os-specific/bsd/freebsd/pkgs/compat/compat-setup-hook.sh diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix new file mode 100644 index 000000000000..5e4528fbf46a --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/compat/package.nix @@ -0,0 +1,135 @@ +{ lib, stdenv, mkDerivation +, bsdSetupHook, freebsdSetupHook +, makeMinimal, boot-install +, which +, freebsd-lib +, expat, zlib, +}: + +let + inherit (freebsd-lib) mkBsdArch; +in + +mkDerivation rec { + pname = "compat"; + path = "tools/build"; + extraPaths = [ + "lib/libc/db" + "lib/libc/stdlib" # getopt + "lib/libc/gen" # getcap + "lib/libc/locale" # rpmatch + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ + "lib/libc/string" # strlcpy + "lib/libutil" + ] ++ [ + "contrib/libc-pwcache" + "contrib/libc-vis" + "sys/libkern" + "sys/kern/subr_capability.c" + + # Take only individual headers, or else we will clobber native libc, etc. + + "sys/rpc/types.h" + + # Listed in Makekfile as INC + "include/mpool.h" + "include/ndbm.h" + "include/err.h" + "include/stringlist.h" + "include/a.out.h" + "include/nlist.h" + "include/db.h" + "include/getopt.h" + "include/nl_types.h" + "include/elf.h" + "sys/sys/ctf.h" + + # Listed in Makekfile as SYSINC + + "sys/sys/capsicum.h" + "sys/sys/caprights.h" + "sys/sys/imgact_aout.h" + "sys/sys/nlist_aout.h" + "sys/sys/nv.h" + "sys/sys/dnv.h" + "sys/sys/cnv.h" + + "sys/sys/elf32.h" + "sys/sys/elf64.h" + "sys/sys/elf_common.h" + "sys/sys/elf_generic.h" + "sys/${mkBsdArch stdenv}/include" + ] ++ lib.optionals stdenv.hostPlatform.isx86 [ + "sys/x86/include" + ] ++ [ + + "sys/sys/queue.h" + "sys/sys/md5.h" + "sys/sys/sbuf.h" + "sys/sys/tree.h" + "sys/sys/font.h" + "sys/sys/consio.h" + "sys/sys/fnv_hash.h" + + "sys/crypto/chacha20/_chacha.h" + "sys/crypto/chacha20/chacha.h" + # included too, despite ".c" + "sys/crypto/chacha20/chacha.c" + + "sys/fs" + "sys/ufs" + "sys/sys/disk" + + "lib/libcapsicum" + "lib/libcasper" + ]; + + patches = [ + ./compat-install-dirs.patch + ./compat-fix-typedefs-locations.patch + ]; + + preBuild = '' + NIX_CFLAGS_COMPILE+=' -I../../include -I../../sys' + + cp ../../sys/${mkBsdArch stdenv}/include/elf.h ../../sys/sys + cp ../../sys/${mkBsdArch stdenv}/include/elf.h ../../sys/sys/${mkBsdArch stdenv} + '' + lib.optionalString stdenv.hostPlatform.isx86 '' + cp ../../sys/x86/include/elf.h ../../sys/x86 + ''; + + setupHooks = [ + ../../../../../build-support/setup-hooks/role.bash + ./compat-setup-hook.sh + ]; + + # This one has an ifdefed `#include_next` that makes it annoying. + postInstall = '' + rm ''${!outputDev}/0-include/libelf.h + ''; + + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal + boot-install + + which + ]; + buildInputs = [ expat zlib ]; + + makeFlags = [ + "STRIP=-s" # flag to install, not command + "MK_WERROR=no" + "HOST_INCLUDE_ROOT=${lib.getDev stdenv.cc.libc}/include" + "INSTALL=boot-install" + ]; + + preIncludes = '' + mkdir -p $out/{0,1}-include + cp --no-preserve=mode -r cross-build/include/common/* $out/0-include + '' + lib.optionalString stdenv.hostPlatform.isLinux '' + cp --no-preserve=mode -r cross-build/include/linux/* $out/1-include + '' + lib.optionalString stdenv.hostPlatform.isDarwin '' + cp --no-preserve=mode -r cross-build/include/darwin/* $out/1-include + ''; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/config.nix b/pkgs/os-specific/bsd/freebsd/pkgs/config.nix new file mode 100644 index 000000000000..641cfc46b4e9 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/config.nix @@ -0,0 +1,17 @@ +{ mkDerivation +, bsdSetupHook, freebsdSetupHook +, makeMinimal, install, mandoc, groff +, flex, byacc, file2c +, compatIfNeeded, libnv, libsbuf +}: + +mkDerivation { + path = "usr.sbin/config"; + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal install mandoc groff + + flex byacc file2c + ]; + buildInputs = compatIfNeeded ++ [ libnv libsbuf ]; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/csu.nix b/pkgs/os-specific/bsd/freebsd/pkgs/csu.nix new file mode 100644 index 000000000000..0b17cb1c8481 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/csu.nix @@ -0,0 +1,25 @@ +{ lib, mkDerivation +, bsdSetupHook, freebsdSetupHook +, makeMinimal +, install +, flex, byacc, gencat +, include +}: + +mkDerivation { + path = "lib/csu"; + extraPaths = [ + "lib/Makefile.inc" + "lib/libc/include/libc_private.h" + ]; + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal + install + + flex byacc gencat + ]; + buildInputs = [ include ]; + MK_TESTS = "no"; + meta.platforms = lib.platforms.freebsd; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/ctfconvert.nix b/pkgs/os-specific/bsd/freebsd/pkgs/ctfconvert.nix new file mode 100644 index 000000000000..0aebc9b3d0b9 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/ctfconvert.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, mkDerivation +, bsdSetupHook, freebsdSetupHook +, makeMinimal, install, mandoc, groff +, compatIfNeeded, libelf, libdwarf, zlib, libspl +}: + +mkDerivation { + path = "cddl/usr.bin/ctfconvert"; + extraPaths = [ + "cddl/compat/opensolaris" + "cddl/contrib/opensolaris" + "sys/cddl/compat/opensolaris" + "sys/cddl/contrib/opensolaris" + "sys/contrib/openzfs" + ]; + OPENSOLARIS_USR_DISTDIR = "$(SRCTOP)/cddl/contrib/opensolaris"; + OPENSOLARIS_SYS_DISTDIR = "$(SRCTOP)/sys/cddl/contrib/opensolaris"; + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal install mandoc groff + + # flex byacc file2c + ]; + buildInputs = compatIfNeeded ++ [ + libelf libdwarf zlib libspl + ]; + meta.license = lib.licenses.cddl; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/file2c.nix b/pkgs/os-specific/bsd/freebsd/pkgs/file2c.nix new file mode 100644 index 000000000000..ff35d97afe36 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/file2c.nix @@ -0,0 +1,6 @@ +{ mkDerivation }: + +mkDerivation { + path = "usr.bin/file2c"; + MK_TESTS = "no"; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/package.nix new file mode 100644 index 000000000000..430c4c5c43ac --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/package.nix @@ -0,0 +1,5 @@ +{ makeSetupHook }: + +makeSetupHook { + name = "freebsd-setup-hook"; +} ./setup-hook.sh diff --git a/pkgs/os-specific/bsd/freebsd/setup-hook.sh b/pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/setup-hook.sh similarity index 100% rename from pkgs/os-specific/bsd/freebsd/setup-hook.sh rename to pkgs/os-specific/bsd/freebsd/pkgs/freebsdSetupHook/setup-hook.sh diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/gencat.nix b/pkgs/os-specific/bsd/freebsd/pkgs/gencat.nix new file mode 100644 index 000000000000..e9ae9f27cc05 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/gencat.nix @@ -0,0 +1,5 @@ +{ mkDerivation }: + +mkDerivation { + path = "usr.bin/gencat"; +} diff --git a/pkgs/os-specific/bsd/freebsd/no-perms-BSD.include.dist.patch b/pkgs/os-specific/bsd/freebsd/pkgs/include/no-perms-BSD.include.dist.patch similarity index 100% rename from pkgs/os-specific/bsd/freebsd/no-perms-BSD.include.dist.patch rename to pkgs/os-specific/bsd/freebsd/pkgs/include/no-perms-BSD.include.dist.patch diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/include/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/include/package.nix new file mode 100644 index 000000000000..73fa887c5123 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/include/package.nix @@ -0,0 +1,56 @@ +{ lib, mkDerivation +, buildPackages +, bsdSetupHook, freebsdSetupHook +, makeMinimal +, install +, mandoc, groff, rsync /*, nbperf*/, rpcgen +}: + +mkDerivation { + path = "include"; + + extraPaths = [ + "contrib/libc-vis" + "etc/mtree/BSD.include.dist" + "sys" + ]; + + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal + install + mandoc groff rsync /*nbperf*/ rpcgen + + # HACK use NetBSD's for now + buildPackages.netbsd.mtree + ]; + + patches = [ + ./no-perms-BSD.include.dist.patch + ]; + + # The makefiles define INCSDIR per subdirectory, so we have to set + # something else on the command line so those definitions aren't + # overridden. + postPatch = '' + find "$BSDSRCDIR" -name Makefile -exec \ + sed -i -E \ + -e 's_/usr/include_''${INCSDIR0}_' \ + {} \; + ''; + + makeFlags = [ + "RPCGEN_CPP=${buildPackages.stdenv.cc.cc}/bin/cpp" + ]; + + # multiple header dirs, see above + postConfigure = '' + makeFlags=''${makeFlags/INCSDIR/INCSDIR0} + ''; + + headersOnly = true; + + MK_HESIOD = "yes"; + + meta.platforms = lib.platforms.freebsd; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/install.nix b/pkgs/os-specific/bsd/freebsd/pkgs/install.nix new file mode 100644 index 000000000000..3db6cd3633d4 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/install.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, mkDerivation, writeShellScript +, freebsd-lib +, mtree +, bsdSetupHook, freebsdSetupHook +, makeMinimal, mandoc, groff +, boot-install, install +, compatIfNeeded, libmd, libnetbsd +}: + +# HACK: to ensure parent directories exist. This emulates GNU +# install’s -D option. No alternative seems to exist in BSD install. +let + binstall = writeShellScript "binstall" (freebsd-lib.install-wrapper + '' + + @out@/bin/xinstall "''${args[@]}" + ''); +in mkDerivation { + path = "usr.bin/xinstall"; + extraPaths = [ mtree.path ]; + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal mandoc groff + (if stdenv.hostPlatform == stdenv.buildPlatform + then boot-install + else install) + ]; + skipIncludesPhase = true; + buildInputs = compatIfNeeded ++ [ libmd libnetbsd ]; + makeFlags = [ + "STRIP=-s" # flag to install, not command + "MK_WERROR=no" + "TESTSDIR=${builtins.placeholder "test"}" + ] ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "INSTALL=boot-install"; + postInstall = '' + install -D -m 0550 ${binstall} $out/bin/binstall + substituteInPlace $out/bin/binstall --subst-var out + mv $out/bin/install $out/bin/xinstall + ln -s ./binstall $out/bin/install + ''; + outputs = [ "out" "man" "test" ]; +} diff --git a/pkgs/os-specific/bsd/freebsd/libc-msun-arch-subdir.patch b/pkgs/os-specific/bsd/freebsd/pkgs/libc/libc-msun-arch-subdir.patch similarity index 100% rename from pkgs/os-specific/bsd/freebsd/libc-msun-arch-subdir.patch rename to pkgs/os-specific/bsd/freebsd/pkgs/libc/libc-msun-arch-subdir.patch diff --git a/pkgs/os-specific/bsd/freebsd/libc-no-force--lcompiler-rt.patch b/pkgs/os-specific/bsd/freebsd/pkgs/libc/libc-no-force--lcompiler-rt.patch similarity index 100% rename from pkgs/os-specific/bsd/freebsd/libc-no-force--lcompiler-rt.patch rename to pkgs/os-specific/bsd/freebsd/pkgs/libc/libc-no-force--lcompiler-rt.patch diff --git a/pkgs/os-specific/bsd/freebsd/librpcsvc-include-subdir.patch b/pkgs/os-specific/bsd/freebsd/pkgs/libc/librpcsvc-include-subdir.patch similarity index 100% rename from pkgs/os-specific/bsd/freebsd/librpcsvc-include-subdir.patch rename to pkgs/os-specific/bsd/freebsd/pkgs/libc/librpcsvc-include-subdir.patch diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libc/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libc/package.nix new file mode 100644 index 000000000000..0225d44be4c3 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libc/package.nix @@ -0,0 +1,139 @@ +{ lib, stdenv, mkDerivation + +, bsdSetupHook, freebsdSetupHook +, makeMinimal +, install +, flex, byacc, gencat, rpcgen + +, csu, include +}: + +mkDerivation rec { + pname = "libc"; + path = "lib/libc"; + extraPaths = [ + "etc/group" + "etc/master.passwd" + "etc/shells" + "lib/libmd" + "lib/libutil" + "lib/msun" + "sys/kern" + "sys/libkern" + "sys/sys" + "sys/crypto/chacha20" + "include/rpcsvc" + "contrib/jemalloc" + "contrib/gdtoa" + "contrib/libc-pwcache" + "contrib/libc-vis" + "contrib/tzcode/stdtime" + + # libthr + "lib/libthr" + "lib/libthread_db" + "libexec/rtld-elf" + + # librpcsvc + "lib/librpcsvc" + + # librt + "lib/librt" + + # libcrypt + "lib/libcrypt" + "lib/libmd" + "sys/crypto/sha2" + ]; + + patches = [ + # Hack around broken propogating MAKEFLAGS to submake, just inline logic + ./libc-msun-arch-subdir.patch + + # Don't force -lcompiler-rt, we don't actually call it that + ./libc-no-force--lcompiler-rt.patch + + # Fix extra include dir to get rpcsvc headers. + ./librpcsvc-include-subdir.patch + ]; + + postPatch = '' + substituteInPlace $COMPONENT_PATH/Makefile --replace '.include ' "" + ''; + + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal + install + + flex byacc gencat rpcgen + ]; + buildInputs = [ include csu ]; + env.NIX_CFLAGS_COMPILE = "-B${csu}/lib"; + + # Suppress lld >= 16 undefined version errors + # https://github.com/freebsd/freebsd-src/commit/2ba84b4bcdd6012e8cfbf8a0d060a4438623a638 + env.NIX_LDFLAGS = lib.optionalString (stdenv.targetPlatform.linker == "lld") "--undefined-version"; + + makeFlags = [ + "STRIP=-s" # flag to install, not command + # lib/libc/gen/getgrent.c has sketchy cast from `void *` to enum + "MK_WERROR=no" + ]; + + MK_SYMVER = "yes"; + MK_SSP = "yes"; + MK_NLS = "yes"; + MK_ICONV = "no"; # TODO make srctop + MK_NS_CACHING = "yes"; + MK_INET6_SUPPORT = "yes"; + MK_HESIOD = "yes"; + MK_NIS = "yes"; + MK_HYPERV = "yes"; + MK_FP_LIBC = "yes"; + + MK_TCSH = "no"; + MK_MALLOC_PRODUCTION = "yes"; + + MK_TESTS = "no"; + + postInstall = '' + pushd ${include} + find . -type d -exec mkdir -p $out/\{} \; + find . \( -type f -o -type l \) -exec cp -pr \{} $out/\{} \; + popd + + pushd ${csu} + find . -type d -exec mkdir -p $out/\{} \; + find . \( -type f -o -type l \) -exec cp -pr \{} $out/\{} \; + popd + + sed -i -e 's| [^ ]*/libc_nonshared.a||' $out/lib/libc.so + + $CC -nodefaultlibs -lgcc -shared -o $out/lib/libgcc_s.so + + NIX_CFLAGS_COMPILE+=" -B$out/lib" + NIX_CFLAGS_COMPILE+=" -I$out/include" + NIX_LDFLAGS+=" -L$out/lib" + + make -C $BSDSRCDIR/lib/libthr $makeFlags + make -C $BSDSRCDIR/lib/libthr $makeFlags install + + make -C $BSDSRCDIR/lib/msun $makeFlags + make -C $BSDSRCDIR/lib/msun $makeFlags install + + make -C $BSDSRCDIR/lib/librpcsvc $makeFlags + make -C $BSDSRCDIR/lib/librpcsvc $makeFlags install + + make -C $BSDSRCDIR/lib/libutil $makeFlags + make -C $BSDSRCDIR/lib/libutil $makeFlags install + + make -C $BSDSRCDIR/lib/librt $makeFlags + make -C $BSDSRCDIR/lib/librt $makeFlags install + + make -C $BSDSRCDIR/lib/libcrypt $makeFlags + make -C $BSDSRCDIR/lib/libcrypt $makeFlags install + ''; + + meta.platforms = lib.platforms.freebsd; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libdwarf.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libdwarf.nix new file mode 100644 index 000000000000..9fc8fc5f9a62 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libdwarf.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, mkDerivation +, bsdSetupHook, freebsdSetupHook +, makeMinimal, install, mandoc, groff +, m4 +, compatIfNeeded, libelf +}: + +mkDerivation { + path = "lib/libdwarf"; + extraPaths = [ + "contrib/elftoolchain/libdwarf" + "contrib/elftoolchain/common" + "sys/sys/elf32.h" + "sys/sys/elf64.h" + "sys/sys/elf_common.h" + ]; + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal install mandoc groff + + m4 + ]; + buildInputs = compatIfNeeded ++ [ + libelf + ]; + MK_TESTS = "no"; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libelf.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libelf.nix new file mode 100644 index 000000000000..a44ce1685e57 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libelf.nix @@ -0,0 +1,24 @@ +{ lib, stdenv, mkDerivation +, bsdSetupHook, freebsdSetupHook +, makeMinimal, install, mandoc, groff +, m4 +}: + +mkDerivation { + path = "lib/libelf"; + extraPaths = [ + "contrib/elftoolchain/libelf" + "contrib/elftoolchain/common" + "sys/sys/elf32.h" + "sys/sys/elf64.h" + "sys/sys/elf_common.h" + ]; + BOOTSTRAPPING = !stdenv.isFreeBSD; + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal install mandoc groff + + m4 + ]; + MK_TESTS = "no"; +} diff --git a/pkgs/os-specific/bsd/freebsd/libnetbsd-do-install.patch b/pkgs/os-specific/bsd/freebsd/pkgs/libnetbsd/libnetbsd-do-install.patch similarity index 100% rename from pkgs/os-specific/bsd/freebsd/libnetbsd-do-install.patch rename to pkgs/os-specific/bsd/freebsd/pkgs/libnetbsd/libnetbsd-do-install.patch diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libnetbsd/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libnetbsd/package.nix new file mode 100644 index 000000000000..4011e4d8a649 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libnetbsd/package.nix @@ -0,0 +1,26 @@ +{ lib, stdenv +, mkDerivation +, bsdSetupHook, freebsdSetupHook, makeMinimal, mandoc, groff +, boot-install, install +, compatIfNeeded +}: + +mkDerivation { + path = "lib/libnetbsd"; + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal mandoc groff + (if stdenv.hostPlatform == stdenv.buildPlatform + then boot-install + else install) + ]; + patches = lib.optionals (!stdenv.hostPlatform.isFreeBSD) [ + ./libnetbsd-do-install.patch + #./libnetbsd-define-__va_list.patch + ]; + makeFlags = [ + "STRIP=-s" # flag to install, not command + "MK_WERROR=no" + ] ++ lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "INSTALL=boot-install"; + buildInputs = compatIfNeeded; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libnv.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libnv.nix new file mode 100644 index 000000000000..6ce61e5a68c7 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libnv.nix @@ -0,0 +1,10 @@ +{ mkDerivation }: + +mkDerivation { + path = "lib/libnv"; + extraPaths = [ + "sys/contrib/libnv" + "sys/sys" + ]; + MK_TESTS = "no"; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libsbuf.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libsbuf.nix new file mode 100644 index 000000000000..719474dbb11a --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libsbuf.nix @@ -0,0 +1,9 @@ +{ mkDerivation }: + +mkDerivation { + path = "lib/libsbuf"; + extraPaths = [ + "sys/kern" + ]; + MK_TESTS = "no"; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix new file mode 100644 index 000000000000..da5445a09fcd --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libspl.nix @@ -0,0 +1,21 @@ +{ lib, mkDerivation }: + +mkDerivation { + path = "cddl/lib/libspl"; + extraPaths = [ + "sys/contrib/openzfs/lib/libspl" + "sys/contrib/openzfs/include" + + "cddl/compat/opensolaris/include" + "sys/contrib/openzfs/module/icp/include" + "sys/modules/zfs" + ]; + # nativeBuildInputs = [ + # bsdSetupHook freebsdSetupHook + # makeMinimal install mandoc groff + + # flex byacc file2c + # ]; + # buildInputs = compatIfNeeded ++ [ libnv libsbuf ]; + meta.license = lib.licenses.cddl; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix new file mode 100644 index 000000000000..c420d0daf852 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libutil.nix @@ -0,0 +1,7 @@ +{ mkDerivation, lib, stdenv }: +mkDerivation { + path = "lib/libutil"; + extraPaths = ["lib/libc/gen"]; + clangFixup = true; + MK_TESTS = "no"; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/lorder.nix b/pkgs/os-specific/bsd/freebsd/pkgs/lorder.nix new file mode 100644 index 000000000000..d1fd86ab5e46 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/lorder.nix @@ -0,0 +1,20 @@ +{ mkDerivation +, bsdSetupHook, freebsdSetupHook +}: + +mkDerivation rec { + path = "usr.bin/lorder"; + noCC = true; + dontBuild = true; + installPhase = '' + mkdir -p "$out/bin" "$man/share/man" + mv "lorder.sh" "$out/bin/lorder" + chmod +x "$out/bin/lorder" + mv "lorder.1" "$man/share/man" + ''; + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + ]; + buildInputs = []; + outputs = [ "out" "man" ]; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/make.nix b/pkgs/os-specific/bsd/freebsd/pkgs/make.nix new file mode 100644 index 000000000000..fa1722cfec22 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/make.nix @@ -0,0 +1,20 @@ +{ lib, mkDerivation, stdenv }: + +mkDerivation { + path = "contrib/bmake"; + version = "9.2"; + postPatch = '' + # make needs this to pick up our sys make files + export NIX_CFLAGS_COMPILE+=" -D_PATH_DEFSYSPATH=\"$out/share/mk\"" + + '' + lib.optionalString stdenv.isDarwin '' + substituteInPlace $BSDSRCDIR/share/mk/bsd.sys.mk \ + --replace '-Wl,--fatal-warnings' "" \ + --replace '-Wl,--warn-shared-textrel' "" + ''; + postInstall = '' + make -C $BSDSRCDIR/share/mk FILESDIR=$out/share/mk install + ''; + extraPaths = [ "share/mk" ] + ++ lib.optional (!stdenv.hostPlatform.isFreeBSD) "tools/build/mk"; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/makeMinimal.nix b/pkgs/os-specific/bsd/freebsd/pkgs/makeMinimal.nix new file mode 100644 index 000000000000..e6a8e38a4ace --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/makeMinimal.nix @@ -0,0 +1,61 @@ +{ lib, stdenv, mkDerivation +, make +, bsdSetupHook, freebsdSetupHook +}: + +mkDerivation rec { + inherit (make) path; + + buildInputs = []; + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + ]; + + skipIncludesPhase = true; + + makeFlags = []; + + postPatch = '' + patchShebangs configure + ${make.postPatch} + ''; + + buildPhase = '' + runHook preBuild + + sh ./make-bootstrap.sh + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + install -D bmake "$out/bin/bmake" + ln -s "$out/bin/bmake" "$out/bin/make" + mkdir -p "$out/share" + cp -r "$BSDSRCDIR/share/mk" "$out/share/mk" + find "$out/share/mk" -type f -print0 | + while IFS= read -r -d "" f; do + substituteInPlace "$f" --replace 'usr/' "" + done + substituteInPlace "$out/share/mk/bsd.symver.mk" \ + --replace '/share/mk' "$out/share/mk" + + runHook postInstall + ''; + + postInstall = lib.optionalString (!stdenv.targetPlatform.isFreeBSD) '' + boot_mk="$BSDSRCDIR/tools/build/mk" + cp "$boot_mk"/Makefile.boot* "$out/share/mk" + replaced_mk="$out/share/mk.orig" + mkdir "$replaced_mk" + mv "$out"/share/mk/bsd.{lib,prog}.mk "$replaced_mk" + for m in bsd.{lib,prog}.mk; do + cp "$boot_mk/$m" "$out/share/mk" + substituteInPlace "$out/share/mk/$m" --replace '../../../share/mk' '../mk.orig' + done + ''; + + extraPaths = make.extraPaths; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix b/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix new file mode 100644 index 000000000000..14c9f0405534 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix @@ -0,0 +1,78 @@ +{ lib, stdenv, stdenvNoCC +, compatIfNeeded +, runCommand, rsync +, freebsd-lib +, freebsdSrc +, bsdSetupHook, freebsdSetupHook +, makeMinimal +, install, tsort, lorder, mandoc, groff +}: + +lib.makeOverridable (attrs: let + stdenv' = if attrs.noCC or false then stdenvNoCC else stdenv; +in stdenv'.mkDerivation (rec { + pname = "${attrs.pname or (baseNameOf attrs.path)}-freebsd"; + inherit (freebsd-lib) version; + src = runCommand "${pname}-filtered-src" { + nativeBuildInputs = [ rsync ]; + } '' + for p in ${lib.concatStringsSep " " ([ attrs.path ] ++ attrs.extraPaths or [])}; do + set -x + path="$out/$p" + mkdir -p "$(dirname "$path")" + src_path="${freebsdSrc}/$p" + if [[ -d "$src_path" ]]; then src_path+=/; fi + rsync --chmod="+w" -r "$src_path" "$path" + set +x + done + ''; + + extraPaths = [ ]; + + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal + install tsort lorder mandoc groff #statHook + ]; + buildInputs = compatIfNeeded; + + HOST_SH = stdenv'.shell; + + # Since STRIP below is the flag + STRIPBIN = "${stdenv.cc.bintools.targetPrefix}strip"; + + makeFlags = [ + "STRIP=-s" # flag to install, not command + ] ++ lib.optional (!stdenv.hostPlatform.isFreeBSD) "MK_WERROR=no"; + + # amd64 not x86_64 for this on unlike NetBSD + MACHINE_ARCH = freebsd-lib.mkBsdArch stdenv'; + + MACHINE = freebsd-lib.mkBsdArch stdenv'; + + MACHINE_CPUARCH = MACHINE_ARCH; + + COMPONENT_PATH = attrs.path or null; + + strictDeps = true; + + meta = with lib; { + maintainers = with maintainers; [ ericson2314 ]; + platforms = platforms.unix; + license = licenses.bsd2; + }; +} // lib.optionalAttrs stdenv'.hasCC { + # TODO should CC wrapper set this? + CPP = "${stdenv'.cc.targetPrefix}cpp"; +} // lib.optionalAttrs stdenv'.isDarwin { + MKRELRO = "no"; +} // lib.optionalAttrs (stdenv'.cc.isClang or false) { + HAVE_LLVM = lib.versions.major (lib.getVersion stdenv'.cc.cc); +} // lib.optionalAttrs (stdenv'.cc.isGNU or false) { + HAVE_GCC = lib.versions.major (lib.getVersion stdenv'.cc.cc); +} // lib.optionalAttrs (stdenv'.isx86_32) { + USE_SSP = "no"; +} // lib.optionalAttrs (attrs.headersOnly or false) { + installPhase = "includesPhase"; + dontBuild = true; +} // attrs)) diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/mknod.nix b/pkgs/os-specific/bsd/freebsd/pkgs/mknod.nix new file mode 100644 index 000000000000..56dff7d606bd --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/mknod.nix @@ -0,0 +1,5 @@ +{ mkDerivation }: + +mkDerivation { + path = "sbin/mknod"; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix b/pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix new file mode 100644 index 000000000000..23a4672069e6 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/mtree.nix @@ -0,0 +1,6 @@ +{ mkDerivation, mknod }: + +mkDerivation { + path = "contrib/mtree"; + extraPaths = [ mknod.path ]; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/package.nix new file mode 100644 index 000000000000..56141255af5e --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/package.nix @@ -0,0 +1,22 @@ +{ lib, mkDerivation, stdenv }: + +mkDerivation rec { + path = "usr.bin/rpcgen"; + patches = lib.optionals (stdenv.hostPlatform.libc == "glibc") [ + # `WUNTRACED` is defined privately `bits/waitflags.h` in glibc. + # But instead of having a regular header guard, it has some silly + # non-modular logic. `stdlib.h` will include it if `sys/wait.h` + # hasn't yet been included (for it would first), and vice versa. + # + # The problem is that with the FreeBSD compat headers, one of + # those headers ends up included other headers...which ends up + # including the other one, this means by the first time we reach + # `#include ``, both `_SYS_WAIT_H` and + # `_STDLIB_H` are already defined! Thus, we never ned up including + # `` and defining `WUNTRACED`. + # + # This hacks around this by manually including `WUNTRACED` until + # the problem is fixed properly in glibc. + ./rpcgen-glibc-hack.patch + ]; +} diff --git a/pkgs/os-specific/bsd/freebsd/rpcgen-glibc-hack.patch b/pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/rpcgen-glibc-hack.patch similarity index 100% rename from pkgs/os-specific/bsd/freebsd/rpcgen-glibc-hack.patch rename to pkgs/os-specific/bsd/freebsd/pkgs/rpcgen/rpcgen-glibc-hack.patch diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/sed.nix b/pkgs/os-specific/bsd/freebsd/pkgs/sed.nix new file mode 100644 index 000000000000..6532506b3fc2 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/sed.nix @@ -0,0 +1,7 @@ +{ mkDerivation, freebsdSrc }: + +mkDerivation { + path = "usr.bin/sed"; + TESTSRC = "${freebsdSrc}/contrib/netbsd-tests"; + MK_TESTS = "no"; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/stat.nix b/pkgs/os-specific/bsd/freebsd/pkgs/stat.nix new file mode 100644 index 000000000000..c730f00869f8 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/stat.nix @@ -0,0 +1,13 @@ +{ mkDerivation +, bsdSetupHook, freebsdSetupHook +, makeMinimal, install, mandoc, groff +}: + +# Don't add this to nativeBuildInputs directly. Use statHook instead. +mkDerivation { + path = "usr.bin/stat"; + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal install mandoc groff + ]; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/statHook.nix b/pkgs/os-specific/bsd/freebsd/pkgs/statHook.nix new file mode 100644 index 000000000000..07129938b095 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/statHook.nix @@ -0,0 +1,12 @@ +{ makeSetupHook, writeText, stat }: + +# stat isn't in POSIX, and NetBSD stat supports a completely +# different range of flags than GNU stat, so including it in PATH +# breaks stdenv. Work around that with a hook that will point +# NetBSD's build system and NetBSD stat without including it in +# PATH. +makeSetupHook { + name = "netbsd-stat-hook"; +} (writeText "netbsd-stat-hook-impl" '' + makeFlagsArray+=(TOOL_STAT=${stat}/bin/stat) +'') diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix new file mode 100644 index 000000000000..81cf4114e873 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/sys/package.nix @@ -0,0 +1,67 @@ +{ lib, stdenv, mkDerivation, freebsd-lib +, buildPackages +, bsdSetupHook, freebsdSetupHook +, makeMinimal, install, mandoc, groff +, config, rpcgen, file2c, gawk, uudecode, xargs-j #, ctfconvert +}: + +mkDerivation (let + cfg = "MINIMAL"; +in rec { + path = "sys"; + + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal install mandoc groff + + config rpcgen file2c gawk uudecode xargs-j + #ctfconvert + ]; + + patches = [ + ./sys-gnu-date.patch + ./sys-no-explicit-intrinsics-dep.patch + ]; + + # --dynamic-linker /red/herring is used when building the kernel. + NIX_ENFORCE_PURITY = 0; + + AWK = "${buildPackages.gawk}/bin/awk"; + + CWARNEXTRA = "-Wno-error=shift-negative-value -Wno-address-of-packed-member"; + + MK_CTF = "no"; + + KODIR = "${builtins.placeholder "out"}/kernel"; + KMODDIR = "${builtins.placeholder "out"}/kernel"; + DTBDIR = "${builtins.placeholder"out"}/dbt"; + + KERN_DEBUGDIR = "${builtins.placeholder "out"}/debug"; + KERN_DEBUGDIR_KODIR = "${KERN_DEBUGDIR}/kernel"; + KERN_DEBUGDIR_KMODDIR = "${KERN_DEBUGDIR}/kernel"; + + skipIncludesPhase = true; + + configurePhase = '' + runHook preConfigure + + for f in conf/kmod.mk contrib/dev/acpica/acpica_prep.sh; do + substituteInPlace "$f" --replace 'xargs -J' 'xargs-j ' + done + + for f in conf/*.mk; do + substituteInPlace "$f" --replace 'KERN_DEBUGDIR}''${' 'KERN_DEBUGDIR_' + done + + cd ${freebsd-lib.mkBsdArch stdenv}/conf + sed -i ${cfg} \ + -e 's/WITH_CTF=1/WITH_CTF=0/' \ + -e '/KDTRACE/d' + config ${cfg} + + runHook postConfigure + ''; + preBuild = '' + cd ../compile/${cfg} + ''; +}) diff --git a/pkgs/os-specific/bsd/freebsd/sys-gnu-date.patch b/pkgs/os-specific/bsd/freebsd/pkgs/sys/sys-gnu-date.patch similarity index 100% rename from pkgs/os-specific/bsd/freebsd/sys-gnu-date.patch rename to pkgs/os-specific/bsd/freebsd/pkgs/sys/sys-gnu-date.patch diff --git a/pkgs/os-specific/bsd/freebsd/sys-no-explicit-intrinsics-dep.patch b/pkgs/os-specific/bsd/freebsd/pkgs/sys/sys-no-explicit-intrinsics-dep.patch similarity index 100% rename from pkgs/os-specific/bsd/freebsd/sys-no-explicit-intrinsics-dep.patch rename to pkgs/os-specific/bsd/freebsd/pkgs/sys/sys-no-explicit-intrinsics-dep.patch diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/tsort.nix b/pkgs/os-specific/bsd/freebsd/pkgs/tsort.nix new file mode 100644 index 000000000000..cdc1b27ce8fe --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/tsort.nix @@ -0,0 +1,12 @@ +{ mkDerivation +, bsdSetupHook, freebsdSetupHook +, makeMinimal, install, mandoc, groff +}: + +mkDerivation { + path = "usr.bin/tsort"; + nativeBuildInputs = [ + bsdSetupHook freebsdSetupHook + makeMinimal install mandoc groff + ]; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/uudecode.nix b/pkgs/os-specific/bsd/freebsd/pkgs/uudecode.nix new file mode 100644 index 000000000000..7e2341913dc0 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/uudecode.nix @@ -0,0 +1,6 @@ +{ mkDerivation }: + +mkDerivation { + path = "usr.bin/uudecode"; + MK_TESTS = "no"; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/xargs-j/package.nix b/pkgs/os-specific/bsd/freebsd/pkgs/xargs-j/package.nix new file mode 100644 index 000000000000..3a6b0ff00428 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/xargs-j/package.nix @@ -0,0 +1,9 @@ +{ substituteAll, runtimeShell }: + +substituteAll { + name = "xargs-j"; + shell = runtimeShell; + src = ./xargs-j.sh; + dir = "bin"; + isExecutable = true; +} diff --git a/pkgs/os-specific/bsd/xargs-j.sh b/pkgs/os-specific/bsd/freebsd/pkgs/xargs-j/xargs-j.sh similarity index 100% rename from pkgs/os-specific/bsd/xargs-j.sh rename to pkgs/os-specific/bsd/freebsd/pkgs/xargs-j/xargs-j.sh From e908a93cfafd754f0a56a4444be8bb58e73b7b9f Mon Sep 17 00:00:00 2001 From: Tom Herbers Date: Fri, 29 Mar 2024 17:16:08 +0100 Subject: [PATCH 18/99] synology-drive-client: 3.3.0 -> 3.4.0 --- .../networking/synology-drive-client/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/networking/synology-drive-client/default.nix b/pkgs/applications/networking/synology-drive-client/default.nix index 7d3efef57de9..84ca42cec167 100644 --- a/pkgs/applications/networking/synology-drive-client/default.nix +++ b/pkgs/applications/networking/synology-drive-client/default.nix @@ -1,8 +1,8 @@ { stdenv, lib, writeScript, qt5, fetchurl, autoPatchelfHook, dpkg, glibc, cpio, xar, undmg, gtk3, pango, libxcb }: let pname = "synology-drive-client"; - baseUrl = "https://global.download.synology.com/download/Utility/SynologyDriveClient"; - version = "3.3.0-15082"; + baseUrl = "https://global.synologydownload.com/download/Utility/SynologyDriveClient"; + version = "3.4.0-15724"; buildNumber = with lib; last (splitString "-" version); meta = with lib; { description = "Desktop application to synchronize files and folders between the computer and the Synology Drive server."; @@ -29,8 +29,8 @@ let inherit pname version meta passthru; src = fetchurl { - url = "${baseUrl}/${version}/Ubuntu/Installer/x86_64/synology-drive-client-${buildNumber}.x86_64.deb"; - sha256 = "sha256-ha3KRpEIT7w6pUVUwZV011W1F/v/hNq9f3ArfzU0ZGc="; + url = "${baseUrl}/${version}/Ubuntu/Installer/synology-drive-client-${buildNumber}.x86_64.deb"; + sha256 = "sha256-Zf6JMghXy8ODbR4MhVSPmD4QDu003MTc7YNfbiRVRoY="; }; nativeBuildInputs = [ autoPatchelfHook dpkg ]; @@ -60,7 +60,7 @@ let src = fetchurl { url = "${baseUrl}/${version}/Mac/Installer/synology-drive-client-${buildNumber}.dmg"; - sha256 = "sha256-dxmpB31ZjO1uAnAbY13OjVR81CCDLf9vJC20iZaPZJ4="; + sha256 = "sha256-65mZeRYHGl+n9TeTx7bxRrGPjcZiV9UlyfcCZ3GwOhE="; }; nativeBuildInputs = [ cpio xar undmg ]; From b84dc529d6e736a1de993220a0d94f5730d2613c Mon Sep 17 00:00:00 2001 From: Nick Cao Date: Fri, 29 Mar 2024 15:33:30 -0400 Subject: [PATCH 19/99] v2ray-domain-list-community: 20240316051411 -> 20240324094850 Diff: https://github.com/v2fly/domain-list-community/compare/20240316051411...20240324094850 --- pkgs/data/misc/v2ray-domain-list-community/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/data/misc/v2ray-domain-list-community/default.nix b/pkgs/data/misc/v2ray-domain-list-community/default.nix index 5d6b512e6d7d..8db69e784a98 100644 --- a/pkgs/data/misc/v2ray-domain-list-community/default.nix +++ b/pkgs/data/misc/v2ray-domain-list-community/default.nix @@ -3,12 +3,12 @@ let generator = pkgsBuildBuild.buildGoModule rec { pname = "v2ray-domain-list-community"; - version = "20240316051411"; + version = "20240324094850"; src = fetchFromGitHub { owner = "v2fly"; repo = "domain-list-community"; rev = version; - hash = "sha256-wao//QAdEqxkyKSVgC2eJqtQlPQ7IXG88atUSjQIGcI="; + hash = "sha256-Fdb0Bk0dk0SkBmUdeBjMH8/++fDvw1GtiKCYXdVAfCc="; }; vendorHash = "sha256-azvMUi8eLNoNofRa2X4SKTTiMd6aOyO6H/rOiKjkpIY="; meta = with lib; { From df32b558b5227746c46bc94519aa10467c40b864 Mon Sep 17 00:00:00 2001 From: Will Fancher Date: Thu, 28 Mar 2024 05:50:01 -0400 Subject: [PATCH 20/99] nixos/systemd: Enable debug-shell.service. --- nixos/modules/system/boot/systemd.nix | 3 +++ nixos/modules/system/boot/systemd/initrd.nix | 8 ++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index a8885aee78f2..aea6855f91c5 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -47,6 +47,9 @@ let "rescue.target" "rescue.service" + # systemd-debug-generator + "debug-shell.service" + # Udev. "systemd-tmpfiles-setup-dev-early.service" "systemd-udevd-control.socket" diff --git a/nixos/modules/system/boot/systemd/initrd.nix b/nixos/modules/system/boot/systemd/initrd.nix index e4f61db0cd02..e0da76cc4b5a 100644 --- a/nixos/modules/system/boot/systemd/initrd.nix +++ b/nixos/modules/system/boot/systemd/initrd.nix @@ -18,10 +18,10 @@ let cfg = config.boot.initrd.systemd; - # Copied from fedora upstreamUnits = [ "basic.target" "ctrl-alt-del.target" + "debug-shell.service" "emergency.service" "emergency.target" "final.target" @@ -395,7 +395,8 @@ in { ] ++ lib.optional (config.boot.resumeDevice != "") "resume=${config.boot.resumeDevice}"; boot.initrd.systemd = { - initrdBin = [pkgs.bash pkgs.coreutils cfg.package.kmod cfg.package]; + # bashInteractive is easier to use and also required by debug-shell.service + initrdBin = [pkgs.bashInteractive pkgs.coreutils cfg.package.kmod cfg.package]; extraBin = { less = "${pkgs.less}/bin/less"; mount = "${cfg.package.util-linux}/bin/mount"; @@ -469,6 +470,9 @@ in { "${cfg.package.util-linux}/bin/umount" "${cfg.package.util-linux}/bin/sulogin" + # required for script services + "${pkgs.runtimeShell}" + # so NSS can look up usernames "${pkgs.glibc}/lib/libnss_files.so.2" ] ++ optionals (cfg.package.withCryptsetup && cfg.enableTpm2) [ From eb457ad6c52058dca12bc0b5408e1cab887fe4fb Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sat, 30 Mar 2024 04:20:00 +0000 Subject: [PATCH 21/99] jekyll: update dependencies --- .../misc/jekyll/basic/Gemfile.lock | 21 ++++--- .../applications/misc/jekyll/basic/gemset.nix | 44 ++++++--------- .../misc/jekyll/full/Gemfile.lock | 27 +++++---- pkgs/applications/misc/jekyll/full/gemset.nix | 56 ++++++++----------- 4 files changed, 63 insertions(+), 85 deletions(-) diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/pkgs/applications/misc/jekyll/basic/Gemfile.lock index 2c1206ca7004..2c7a76e29991 100644 --- a/pkgs/applications/misc/jekyll/basic/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/basic/Gemfile.lock @@ -14,12 +14,11 @@ GEM addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) base64 (0.2.0) - bigdecimal (3.1.6) + bigdecimal (3.1.7) colorator (1.1.0) concurrent-ruby (1.2.3) connection_pool (2.4.1) - drb (2.2.0) - ruby2_keywords + drb (2.2.1) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) @@ -27,12 +26,13 @@ GEM ffi (1.16.3) forwardable-extended (2.6.0) gemoji (4.1.0) - google-protobuf (3.25.3) + google-protobuf (4.26.1) + rake (>= 13) html-pipeline (2.14.3) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.8.0) - i18n (1.14.1) + i18n (1.14.4) concurrent-ruby (~> 1.0) jekyll (4.3.3) addressable (~> 2.4) @@ -77,9 +77,9 @@ GEM rb-inotify (~> 0.9, >= 0.9.10) mercenary (0.4.0) mini_portile2 (2.8.5) - minitest (5.22.2) + minitest (5.22.3) mutex_m (0.2.0) - nokogiri (1.16.2) + nokogiri (1.16.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) pathutil (0.16.2) @@ -91,11 +91,10 @@ GEM rb-inotify (0.10.1) ffi (~> 1.0) rexml (3.2.6) - rouge (4.2.0) - ruby2_keywords (0.0.5) + rouge (4.2.1) safe_yaml (1.0.5) - sass-embedded (1.71.1) - google-protobuf (~> 3.25) + sass-embedded (1.72.0) + google-protobuf (>= 3.25, < 5.0) rake (>= 13.0.0) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) diff --git a/pkgs/applications/misc/jekyll/basic/gemset.nix b/pkgs/applications/misc/jekyll/basic/gemset.nix index 07acae17bc6f..fc049e314e54 100644 --- a/pkgs/applications/misc/jekyll/basic/gemset.nix +++ b/pkgs/applications/misc/jekyll/basic/gemset.nix @@ -36,10 +36,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00db5v09k1z3539g1zrk7vkjrln9967k08adh6qx33ng97a2gg5w"; + sha256 = "0cq1c29zbkcxgdihqisirhcw76xc768z2zpd5vbccpq0l1lv76g7"; type = "gem"; }; - version = "3.1.6"; + version = "3.1.7"; }; colorator = { groups = ["default"]; @@ -72,15 +72,14 @@ version = "2.4.1"; }; drb = { - dependencies = ["ruby2_keywords"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03ylflxbp9jrs1hx3d4wvx05yb9hdq4a0r706zz6qc6kvqfazr79"; + sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; - version = "2.2.0"; + version = "2.2.1"; }; em-websocket = { dependencies = ["eventmachine" "http_parser.rb"]; @@ -134,14 +133,15 @@ version = "4.1.0"; }; google-protobuf = { + dependencies = ["rake"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mnxzcq8kmyfb9bkzqnp019d1hx1vprip3yzdkkha6b3qz5rgg9r"; + sha256 = "14s40yxj35vixx9pvpnbrkz9z7ga3m7vcy72yll1flnn3cirl1aj"; type = "gem"; }; - version = "3.25.3"; + version = "4.26.1"; }; html-pipeline = { dependencies = ["activesupport" "nokogiri"]; @@ -170,10 +170,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx"; + sha256 = "0lbm33fpb3w06wd2231sg58dwlwgjsvym93m548ajvl6s3mfvpn7"; type = "gem"; }; - version = "1.14.1"; + version = "1.14.4"; }; jekyll = { dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table" "webrick"]; @@ -331,10 +331,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0667vf0zglacry87nkcl3ns8421aydvz71vfa3g3yjhiq8zh19f5"; + sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a"; type = "gem"; }; - version = "5.22.2"; + version = "5.22.3"; }; mutex_m = { groups = ["default"]; @@ -352,10 +352,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "173zavvxlwyi48lfskk48wcrdbkvjlhjhvy4jpcrfx72rpjjx4k8"; + sha256 = "0j72sg8n8834vbw2x8glcp46y5r2dls2pj64ll7rmf6mri9s52j9"; type = "gem"; }; - version = "1.16.2"; + version = "1.16.3"; }; pathutil = { dependencies = ["forwardable-extended"]; @@ -434,20 +434,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fkfa0iq3r9b0zzrxpxha17avmyzci3kidzmfbf6fd1279mndpb0"; + sha256 = "1zd1pdldi6h8x27dqim7cy8m69xr01aw5c8k1zhkz497n4np6wgk"; type = "gem"; }; - version = "4.2.0"; - }; - ruby2_keywords = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; - type = "gem"; - }; - version = "0.0.5"; + version = "4.2.1"; }; safe_yaml = { groups = ["default"]; @@ -465,10 +455,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ccqqkmicqs2nbawyknb17qfafwqq0k6jxibcm86vqd1jp185pxa"; + sha256 = "0bixk8c02dhflvhi4s5hxzjg8akzgicvjxjvxx74nah2j8qfblq5"; type = "gem"; }; - version = "1.71.1"; + version = "1.72.0"; }; terminal-table = { dependencies = ["unicode-display_width"]; diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock index 04d0e9d0cf1e..c9cae601691a 100644 --- a/pkgs/applications/misc/jekyll/full/Gemfile.lock +++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock @@ -14,7 +14,7 @@ GEM addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) base64 (0.2.0) - bigdecimal (3.1.6) + bigdecimal (3.1.7) classifier-reborn (2.3.0) fast-stemmer (~> 1.0) matrix (~> 0.4) @@ -26,8 +26,7 @@ GEM colorator (1.1.0) concurrent-ruby (1.2.3) connection_pool (2.4.1) - drb (2.2.0) - ruby2_keywords + drb (2.2.1) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) @@ -41,12 +40,13 @@ GEM ffi (1.16.3) forwardable-extended (2.6.0) gemoji (4.1.0) - google-protobuf (3.25.3) + google-protobuf (4.26.1) + rake (>= 13) html-pipeline (2.14.3) activesupport (>= 2) nokogiri (>= 1.4) http_parser.rb (0.8.0) - i18n (1.14.1) + i18n (1.14.4) concurrent-ruby (~> 1.0) jekyll (4.3.3) addressable (~> 2.4) @@ -81,7 +81,7 @@ GEM html-pipeline (~> 2.3) jekyll (>= 3.7, < 5.0) jekyll-paginate (1.1.0) - jekyll-polyglot (1.7.0) + jekyll-polyglot (1.8.0) jekyll (>= 4.0, >= 3.0) jekyll-redirect-from (0.16.0) jekyll (>= 3.3, < 5.0) @@ -114,14 +114,14 @@ GEM mercenary (0.4.0) mime-types (3.5.2) mime-types-data (~> 3.2015) - mime-types-data (3.2024.0206) + mime-types-data (3.2024.0305) mini_magick (4.12.0) mini_portile2 (2.8.5) - minitest (5.22.2) + minitest (5.22.3) mutex_m (0.2.0) net-http (0.4.1) uri - nokogiri (1.16.2) + nokogiri (1.16.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) octokit (4.25.1) @@ -137,14 +137,13 @@ GEM rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - rdoc (6.6.2) + rdoc (6.6.3.1) psych (>= 4.0.0) rexml (3.2.6) - rouge (4.2.0) - ruby2_keywords (0.0.5) + rouge (4.2.1) safe_yaml (1.0.5) - sass-embedded (1.71.1) - google-protobuf (~> 3.25) + sass-embedded (1.72.0) + google-protobuf (>= 3.25, < 5.0) rake (>= 13.0.0) sawyer (0.9.2) addressable (>= 2.3.5) diff --git a/pkgs/applications/misc/jekyll/full/gemset.nix b/pkgs/applications/misc/jekyll/full/gemset.nix index b6eaa1a1eede..d81dee1136a0 100644 --- a/pkgs/applications/misc/jekyll/full/gemset.nix +++ b/pkgs/applications/misc/jekyll/full/gemset.nix @@ -36,10 +36,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "00db5v09k1z3539g1zrk7vkjrln9967k08adh6qx33ng97a2gg5w"; + sha256 = "0cq1c29zbkcxgdihqisirhcw76xc768z2zpd5vbccpq0l1lv76g7"; type = "gem"; }; - version = "3.1.6"; + version = "3.1.7"; }; classifier-reborn = { dependencies = ["fast-stemmer" "matrix"]; @@ -126,15 +126,14 @@ version = "2.4.1"; }; drb = { - dependencies = ["ruby2_keywords"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "03ylflxbp9jrs1hx3d4wvx05yb9hdq4a0r706zz6qc6kvqfazr79"; + sha256 = "0h5kbj9hvg5hb3c7l425zpds0vb42phvln2knab8nmazg2zp5m79"; type = "gem"; }; - version = "2.2.0"; + version = "2.2.1"; }; em-websocket = { dependencies = ["eventmachine" "http_parser.rb"]; @@ -242,14 +241,15 @@ version = "4.1.0"; }; google-protobuf = { + dependencies = ["rake"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mnxzcq8kmyfb9bkzqnp019d1hx1vprip3yzdkkha6b3qz5rgg9r"; + sha256 = "14s40yxj35vixx9pvpnbrkz9z7ga3m7vcy72yll1flnn3cirl1aj"; type = "gem"; }; - version = "3.25.3"; + version = "4.26.1"; }; html-pipeline = { dependencies = ["activesupport" "nokogiri"]; @@ -278,10 +278,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx"; + sha256 = "0lbm33fpb3w06wd2231sg58dwlwgjsvym93m548ajvl6s3mfvpn7"; type = "gem"; }; - version = "1.14.1"; + version = "1.14.4"; }; jekyll = { dependencies = ["addressable" "colorator" "em-websocket" "i18n" "jekyll-sass-converter" "jekyll-watch" "kramdown" "kramdown-parser-gfm" "liquid" "mercenary" "pathutil" "rouge" "safe_yaml" "terminal-table" "webrick"]; @@ -376,10 +376,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "189scj27hczbxp02s5v27r4civfqq2fr981jrp0xldwvcw5qfbll"; + sha256 = "0xbmsm30jgpbamqvbjvjgfq2w9ihdpqsbay9jrd5pljrbhvy02di"; type = "gem"; }; - version = "1.7.0"; + version = "1.8.0"; }; jekyll-redirect-from = { dependencies = ["jekyll"]; @@ -584,10 +584,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zpn5brxdf5akh7ij511bkrd30fxd7697shmxxszahqj9m62zvn5"; + sha256 = "00x7w5xqsj9m33v3vkmy23wipkkysafksib53ypzn27p5g81w455"; type = "gem"; }; - version = "3.2024.0206"; + version = "3.2024.0305"; }; mini_magick = { groups = ["default"]; @@ -614,10 +614,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0667vf0zglacry87nkcl3ns8421aydvz71vfa3g3yjhiq8zh19f5"; + sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a"; type = "gem"; }; - version = "5.22.2"; + version = "5.22.3"; }; mutex_m = { groups = ["default"]; @@ -646,10 +646,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "173zavvxlwyi48lfskk48wcrdbkvjlhjhvy4jpcrfx72rpjjx4k8"; + sha256 = "0j72sg8n8834vbw2x8glcp46y5r2dls2pj64ll7rmf6mri9s52j9"; type = "gem"; }; - version = "1.16.2"; + version = "1.16.3"; }; octokit = { dependencies = ["faraday" "sawyer"]; @@ -741,10 +741,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "14wnrpd1kl43ynk1wwwgv9avsw84d1lrvlfyrjy3d4h7h7ndnqzp"; + sha256 = "0ib3cnf4yllvw070gr4bz94sbmqx3haqc5f846fsvdcs494vgxrr"; type = "gem"; }; - version = "6.6.2"; + version = "6.6.3.1"; }; rexml = { groups = ["default"]; @@ -761,20 +761,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1fkfa0iq3r9b0zzrxpxha17avmyzci3kidzmfbf6fd1279mndpb0"; + sha256 = "1zd1pdldi6h8x27dqim7cy8m69xr01aw5c8k1zhkz497n4np6wgk"; type = "gem"; }; - version = "4.2.0"; - }; - ruby2_keywords = { - groups = ["default"]; - platforms = []; - source = { - remotes = ["https://rubygems.org"]; - sha256 = "1vz322p8n39hz3b4a9gkmz9y7a5jaz41zrm2ywf31dvkqm03glgz"; - type = "gem"; - }; - version = "0.0.5"; + version = "4.2.1"; }; safe_yaml = { groups = ["default"]; @@ -792,10 +782,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1ccqqkmicqs2nbawyknb17qfafwqq0k6jxibcm86vqd1jp185pxa"; + sha256 = "0bixk8c02dhflvhi4s5hxzjg8akzgicvjxjvxx74nah2j8qfblq5"; type = "gem"; }; - version = "1.71.1"; + version = "1.72.0"; }; sawyer = { dependencies = ["addressable" "faraday"]; From 953623a89550213ee73c57afb1d17b1537e2889d Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Sat, 30 Mar 2024 04:20:00 +0000 Subject: [PATCH 22/99] gollum: update dependencies --- pkgs/applications/misc/gollum/Gemfile.lock | 54 +++++------ pkgs/applications/misc/gollum/gemset.nix | 104 +++++++++++---------- 2 files changed, 85 insertions(+), 73 deletions(-) diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock index fc707ca3c547..007084e44aa0 100644 --- a/pkgs/applications/misc/gollum/Gemfile.lock +++ b/pkgs/applications/misc/gollum/Gemfile.lock @@ -1,18 +1,19 @@ GEM remote: https://rubygems.org/ specs: - RedCloth (4.3.2) - asciidoctor (2.0.18) + RedCloth (4.3.4) + asciidoctor (2.0.22) + base64 (0.2.0) builder (3.2.4) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) crass (1.0.6) creole (0.5.0) - execjs (2.8.1) + execjs (2.9.1) expression_parser (0.9.0) - ffi (1.15.5) + ffi (1.16.3) gemojione (4.3.3) json - github-markup (4.0.1) + github-markup (4.0.2) gollum (5.3.2) gemojione (~> 4.1) gollum-lib (>= 5.2.3, < 6.0) @@ -45,51 +46,51 @@ GEM mime-types (~> 3.4) rugged (~> 1.5) htmlentities (4.3.4) - i18n (1.13.0) + i18n (1.14.4) concurrent-ruby (~> 1.0) - json (2.6.3) + json (2.7.1) kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) - loofah (2.20.0) + loofah (2.22.0) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mime-types (3.4.1) + nokogiri (>= 1.12.0) + mime-types (3.5.2) mime-types-data (~> 3.2015) - mime-types-data (3.2023.0218.1) - mini_portile2 (2.8.2) + mime-types-data (3.2024.0305) + mini_portile2 (2.8.5) multi_json (1.15.0) mustache (1.1.1) mustache-sinatra (2.0.0) mustache (~> 1.0) mustermann (2.0.2) ruby2_keywords (~> 0.0.1) - nokogiri (1.14.3) - mini_portile2 (~> 2.8.0) + nokogiri (1.16.3) + mini_portile2 (~> 2.8.2) racc (~> 1.4) octicons (12.1.0) nokogiri (>= 1.6.3.1) org-ruby (0.9.12) rubypants (~> 0.2) - psych (5.1.0) + psych (5.1.2) stringio - racc (1.6.2) - rack (2.2.7) + racc (1.7.3) + rack (2.2.9) rack-protection (2.2.4) rack rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - rdoc (6.5.0) + rdoc (6.6.3.1) psych (>= 4.0.0) - rexml (3.2.5) + rexml (3.2.6) rouge (3.30.0) rss (0.2.9) rexml ruby2_keywords (0.0.5) rubypants (0.7.1) - rugged (1.6.3) + rugged (1.7.2) sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) @@ -106,23 +107,24 @@ GEM rack-protection (= 2.2.4) sinatra (= 2.2.4) tilt (~> 2.0) - sprockets (3.7.2) + sprockets (3.7.3) + base64 concurrent-ruby (~> 1.0) rack (> 1, < 3) sprockets-helpers (1.4.0) sprockets (>= 2.2) - stringio (3.0.6) + stringio (3.1.0) therubyrhino (2.1.2) therubyrhino_jar (>= 1.7.4, < 1.7.9) therubyrhino_jar (1.7.8) - tilt (2.1.0) + tilt (2.3.0) twitter-text (1.14.7) unf (~> 0.1.0) uglifier (4.2.0) execjs (>= 0.3.0, < 3) unf (0.1.4) unf_ext - unf_ext (0.0.8.2) + unf_ext (0.0.9.1) useragent (0.16.10) webrick (1.8.1) wikicloth (0.8.3) @@ -144,4 +146,4 @@ DEPENDENCIES wikicloth BUNDLED WITH - 2.4.12 + 2.5.6 diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix index 8d106d5bc8b9..95533bffd107 100644 --- a/pkgs/applications/misc/gollum/gemset.nix +++ b/pkgs/applications/misc/gollum/gemset.nix @@ -4,10 +4,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "11z3vnd8vh3ny1vx69bjrbck5b2g8zsbj94npyadpn7fdp8y3ldv"; + sha256 = "1mnan6dxw4aqii9kcmp1s3sc91jiwaqkdpsg6g01fdisb6xz3n56"; type = "gem"; }; - version = "2.0.18"; + version = "2.0.22"; + }; + base64 = { + groups = ["default"]; + platforms = []; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "01qml0yilb9basf7is2614skjp8384h2pycfx86cr8023arfj98g"; + type = "gem"; + }; + version = "0.2.0"; }; builder = { groups = ["default"]; @@ -24,10 +34,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0krcwb6mn0iklajwngwsg850nk8k9b35dhmc2qkbdqvmifdi2y9q"; + sha256 = "1qh1b14jwbbj242klkyz5fc7npd4j0mvndz62gajhvl1l3wd7zc2"; type = "gem"; }; - version = "1.2.2"; + version = "1.2.3"; }; crass = { groups = ["default"]; @@ -54,10 +64,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "121h6af4i6wr3wxvv84y53jcyw2sk71j5wsncm6wq6yqrwcrk4vd"; + sha256 = "1yywajqlpjhrj1m43s3lfg3i4lkb6pxwccmwps7qw37ndmphdzg8"; type = "gem"; }; - version = "2.8.1"; + version = "2.9.1"; }; expression_parser = { groups = ["default"]; @@ -74,10 +84,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg"; + sha256 = "1yvii03hcgqj30maavddqamqy50h7y6xcn2wcyq72wn823zl4ckd"; type = "gem"; }; - version = "1.15.5"; + version = "1.16.3"; }; gemojione = { dependencies = ["json"]; @@ -95,10 +105,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0p40hbrrzq9gypkx0p8wqdqa2gfmmw2cd9a0sv2dw1nnk1qbcl8y"; + sha256 = "0mv2l0h3v5g4cwqh2lgb3braafh8n3v2s84i573wi5m79f4qhw1z"; type = "gem"; }; - version = "4.0.1"; + version = "4.0.2"; }; gollum = { dependencies = ["gemojione" "gollum-lib" "i18n" "kramdown" "kramdown-parser-gfm" "mustache-sinatra" "octicons" "rdoc" "rss" "sass" "sinatra" "sinatra-contrib" "sprockets" "sprockets-helpers" "therubyrhino" "uglifier" "useragent" "webrick"]; @@ -149,20 +159,20 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yk33slipi3i1kydzrrchbi7cgisaxym6pgwlzx7ir8vjk6wl90x"; + sha256 = "0lbm33fpb3w06wd2231sg58dwlwgjsvym93m548ajvl6s3mfvpn7"; type = "gem"; }; - version = "1.13.0"; + version = "1.14.4"; }; json = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0nalhin1gda4v8ybk6lq8f407cgfrj6qzn234yra4ipkmlbfmal6"; + sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq"; type = "gem"; }; - version = "2.6.3"; + version = "2.7.1"; }; kramdown = { dependencies = ["rexml"]; @@ -192,10 +202,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mi4ia13fisc97fzd8xcd9wkjdki7zfbmdn1xkdzplicir68gyp8"; + sha256 = "1zkjqf37v2d7s11176cb35cl83wls5gm3adnfkn2zcc61h3nxmqh"; type = "gem"; }; - version = "2.20.0"; + version = "2.22.0"; }; mime-types = { dependencies = ["mime-types-data"]; @@ -203,30 +213,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0ipw892jbksbxxcrlx9g5ljq60qx47pm24ywgfbyjskbcl78pkvb"; + sha256 = "1r64z0m5zrn4k37wabfnv43wa6yivgdfk6cf2rpmmirlz889yaf1"; type = "gem"; }; - version = "3.4.1"; + version = "3.5.2"; }; mime-types-data = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1pky3vzaxlgm9gw5wlqwwi7wsw3jrglrfflrppvvnsrlaiz043z9"; + sha256 = "00x7w5xqsj9m33v3vkmy23wipkkysafksib53ypzn27p5g81w455"; type = "gem"; }; - version = "3.2023.0218.1"; + version = "3.2024.0305"; }; mini_portile2 = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0z7f38iq37h376n9xbl4gajdrnwzq284c9v1py4imw3gri2d5cj6"; + sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs"; type = "gem"; }; - version = "2.8.2"; + version = "2.8.5"; }; multi_json = { groups = ["default"]; @@ -276,10 +286,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0fnw0z8zl8b5k35g9m5hhc1g4s6ajzjinhyxnqjrx7l7p07fw71v"; + sha256 = "0j72sg8n8834vbw2x8glcp46y5r2dls2pj64ll7rmf6mri9s52j9"; type = "gem"; }; - version = "1.14.3"; + version = "1.16.3"; }; octicons = { dependencies = ["nokogiri"]; @@ -309,30 +319,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1msambb54r3d1sg6smyj4k2pj9h9lz8jq4jamip7ivcyv32a85vz"; + sha256 = "0s5383m6004q76xm3lb732bp4sjzb6mxb6rbgn129gy2izsj4wrk"; type = "gem"; }; - version = "5.1.0"; + version = "5.1.2"; }; racc = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "09jgz6r0f7v84a7jz9an85q8vvmp743dqcsdm3z9c8rqcqv6pljq"; + sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp"; type = "gem"; }; - version = "1.6.2"; + version = "1.7.3"; }; rack = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "16w217k9z02c4hqizym8dkj6bqmmzx4qdvqpnskgzf174a5pwdxk"; + sha256 = "0hj0rkw2z9r1lcg2wlrcld2n3phwrcgqcp7qd1g9a7hwgalh2qzx"; type = "gem"; }; - version = "2.2.7"; + version = "2.2.9"; }; rack-protection = { dependencies = ["rack"]; @@ -372,30 +382,30 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05r2cxscapr9saqjw8dlp89as7jvc2mlz1h5kssrmkbz105qmfcm"; + sha256 = "0ib3cnf4yllvw070gr4bz94sbmqx3haqc5f846fsvdcs494vgxrr"; type = "gem"; }; - version = "6.5.0"; + version = "6.6.3.1"; }; RedCloth = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0m9dv7ya9q93r8x1pg2gi15rxlbck8m178j1fz7r5v6wr1avrrqy"; + sha256 = "15r2h7rfp4bi9i0bfmvgnmvmw0kl3byyac53rcakk4qsv7yv4caj"; type = "gem"; }; - version = "4.3.2"; + version = "4.3.4"; }; rexml = { groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "08ximcyfjy94pm1rhcx04ny1vx2sk0x4y185gzn86yfsbzwkng53"; + sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0"; type = "gem"; }; - version = "3.2.5"; + version = "3.2.6"; }; rouge = { groups = ["default"]; @@ -443,10 +453,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "016bawsahkhxx7p8azxirpl7y2y7i8a027pj8910gwf6ipg329in"; + sha256 = "1sccng15h8h3mcjxfgvxy85lfpswbj0nhmzwwsqdffbzqgsb2jch"; type = "gem"; }; - version = "1.6.3"; + version = "1.7.2"; }; sass = { dependencies = ["sass-listen"]; @@ -493,15 +503,15 @@ version = "2.2.4"; }; sprockets = { - dependencies = ["concurrent-ruby" "rack"]; + dependencies = ["base64" "concurrent-ruby" "rack"]; groups = ["default"]; platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; + sha256 = "0lyc6mx4yalsnxc9yp4a5xra4nz1nwwbk5634wlfncml0ll1bnnw"; type = "gem"; }; - version = "3.7.2"; + version = "3.7.3"; }; sprockets-helpers = { dependencies = ["sprockets"]; @@ -519,10 +529,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "10w46rlh844kax248l1m3pyrj94n1qpc9691j8r5v0rzdxibpy7v"; + sha256 = "063psvsn1aq6digpznxfranhcpmi0sdv2jhra5g0459sw0x2dxn1"; type = "gem"; }; - version = "3.0.6"; + version = "3.1.0"; }; therubyrhino = { dependencies = ["therubyrhino_jar"]; @@ -550,10 +560,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1qmhi6d9przjzhsyk9g5pq2j75c656msh6xzprqd2mxgphf23jxs"; + sha256 = "0p3l7v619hwfi781l3r7ypyv1l8hivp09r18kmkn6g11c4yr1pc2"; type = "gem"; }; - version = "2.1.0"; + version = "2.3.0"; }; twitter-text = { dependencies = ["unf"]; @@ -593,10 +603,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1yj2nz2l101vr1x9w2k83a0fag1xgnmjwp8w8rw4ik2rwcz65fch"; + sha256 = "1sf6bxvf6x8gihv6j63iakixmdddgls58cpxpg32chckb2l18qcj"; type = "gem"; }; - version = "0.0.8.2"; + version = "0.0.9.1"; }; useragent = { groups = ["default"]; From 314f6f280ba161e1a456f3997f581980c6234b59 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 04:38:41 +0000 Subject: [PATCH 23/99] golangci-lint: 1.57.1 -> 1.57.2 --- pkgs/development/tools/golangci-lint/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix index 071dd6740869..e7deb9537000 100644 --- a/pkgs/development/tools/golangci-lint/default.nix +++ b/pkgs/development/tools/golangci-lint/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "golangci-lint"; - version = "1.57.1"; + version = "1.57.2"; src = fetchFromGitHub { owner = "golangci"; repo = "golangci-lint"; rev = "v${version}"; - hash = "sha256-CDk0lmspteeewLzvixjIJr16M8Ko8uSgdnJZfJ1SqOA="; + hash = "sha256-d3U56fRIyntj/uKTOHuKFvOZqh+6VtzYrbKDjcKzhbI="; }; - vendorHash = "sha256-lBRVnsttq6M9gyZfV4I/EOwsp6yGARCSYYefRvZvHEA="; + vendorHash = "sha256-3gS/F1jcjegtkLfmPcBzYqDA4KmwABkKpPAhTxqguYw="; subPackages = [ "cmd/golangci-lint" ]; From e921d4b319ce085ff3e47e9efbf15ebbcb9104c6 Mon Sep 17 00:00:00 2001 From: Jack Cummings Date: Sat, 30 Mar 2024 21:17:16 -0700 Subject: [PATCH 24/99] widelands: 1.1 -> 1.2 --- pkgs/games/widelands/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/games/widelands/default.nix b/pkgs/games/widelands/default.nix index f49921024e45..324f388e716e 100644 --- a/pkgs/games/widelands/default.nix +++ b/pkgs/games/widelands/default.nix @@ -29,13 +29,13 @@ stdenv.mkDerivation rec { pname = "widelands"; - version = "1.1"; + version = "1.2"; src = fetchFromGitHub { owner = "widelands"; repo = "widelands"; rev = "v${version}"; - sha256 = "sha256-fe1fey34b6T1+kqMa22STROu7dagQJtg24nW2jhVix8="; + sha256 = "sha256-V7eappIMEQMNbf9EGQhv71Fwz0wH679ifi/qAHWwMNU="; }; postPatch = '' @@ -45,6 +45,7 @@ stdenv.mkDerivation rec { cmakeFlags = [ "-Wno-dev" # dev warnings are only needed for upstream development + "-DCMAKE_BUILD_TYPE=Release" "-DWL_INSTALL_BASEDIR=${placeholder "out"}/share/widelands" # for COPYING, Changelog, etc. "-DWL_INSTALL_DATADIR=${placeholder "out"}/share/widelands" # for game data "-DWL_INSTALL_BINDIR=${placeholder "out"}/bin" @@ -92,7 +93,7 @@ stdenv.mkDerivation rec { Settlers II". It has a single player campaign mode, as well as a networked multiplayer mode. ''; - changelog = "https://github.com/widelands/widelands/releases/tag/v1.1"; + changelog = "https://github.com/widelands/widelands/releases/tag/v${version}"; mainProgram = "widelands"; license = licenses.gpl2Plus; maintainers = with maintainers; [ raskin jcumming ]; From 81e18dae4fb9a2d53b4831c34f814169595fd5f9 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sun, 31 Mar 2024 09:30:06 +0100 Subject: [PATCH 25/99] libtoxcore: move to pkgs/by-name --- .../default.nix => by-name/li/libtoxcore/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{development/libraries/libtoxcore/default.nix => by-name/li/libtoxcore/package.nix} (100%) diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/by-name/li/libtoxcore/package.nix similarity index 100% rename from pkgs/development/libraries/libtoxcore/default.nix rename to pkgs/by-name/li/libtoxcore/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 818a3c4f5e7b..8ae75e89f77f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23131,8 +23131,6 @@ with pkgs; libtorrent-rasterbar = libtorrent-rasterbar-2_0_x; - libtoxcore = callPackage ../development/libraries/libtoxcore { }; - libtpms = callPackage ../tools/security/libtpms { }; libtap = callPackage ../development/libraries/libtap { }; From d9b42d5143563e0c8d3dd10d108a8aa8c43be3f0 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sun, 31 Mar 2024 09:39:19 +0100 Subject: [PATCH 26/99] libtoxcore: 0.2.18 -> 0.2.19 --- pkgs/by-name/li/libtoxcore/package.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/li/libtoxcore/package.nix b/pkgs/by-name/li/libtoxcore/package.nix index 87d6633f124e..2c56dec2aea8 100644 --- a/pkgs/by-name/li/libtoxcore/package.nix +++ b/pkgs/by-name/li/libtoxcore/package.nix @@ -14,14 +14,14 @@ let buildToxAV = !stdenv.isAarch32; in stdenv.mkDerivation rec { pname = "libtoxcore"; - version = "0.2.18"; + version = "0.2.19"; src = # We need the prepared sources tarball. fetchurl { url = "https://github.com/TokTok/c-toxcore/releases/download/v${version}/c-toxcore-${version}.tar.gz"; - sha256 = "sha256-8pQFN5mIY1k+KLxqa19W8JZ19s2KKDJre8MbSDbAiUI="; + sha256 = "sha256-i0GPZHDbCFz1mpkVaFYTVWVW3yv0JxSPGBS3sRhihZQ="; }; cmakeFlags = [ @@ -51,11 +51,10 @@ in stdenv.mkDerivation rec { # We might be getting the wrong pkg-config file anyway: # https://github.com/TokTok/c-toxcore/issues/2334 - meta = with lib; { + meta = { description = "P2P FOSS instant messaging application aimed to replace Skype"; homepage = "https://tox.chat"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ peterhoeg ehmry ]; - platforms = platforms.all; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ peterhoeg ehmry ]; }; } From 8736da4cc6e35748c6e6d06059971fb1063e75ff Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sun, 31 Mar 2024 09:32:35 +0100 Subject: [PATCH 27/99] toxic: move to pkgs/by-name --- .../toxic/default.nix => by-name/to/toxic/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{applications/networking/instant-messengers/toxic/default.nix => by-name/to/toxic/package.nix} (100%) diff --git a/pkgs/applications/networking/instant-messengers/toxic/default.nix b/pkgs/by-name/to/toxic/package.nix similarity index 100% rename from pkgs/applications/networking/instant-messengers/toxic/default.nix rename to pkgs/by-name/to/toxic/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8ae75e89f77f..80406a0920e9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -35250,8 +35250,6 @@ with pkgs; toipe = callPackage ../applications/misc/toipe { }; - toxic = callPackage ../applications/networking/instant-messengers/toxic { }; - toxiproxy = callPackage ../development/tools/toxiproxy { }; tqsl = callPackage ../applications/radio/tqsl { }; From 636d8e09e56d13dce8525cfd2e0900b42309dc92 Mon Sep 17 00:00:00 2001 From: Emery Hemingway Date: Sun, 31 Mar 2024 09:36:36 +0100 Subject: [PATCH 28/99] toxic: 0.11.3 -> 0.15.1 --- pkgs/by-name/to/toxic/package.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/to/toxic/package.nix b/pkgs/by-name/to/toxic/package.nix index bd3f30adc688..e33505d7373b 100644 --- a/pkgs/by-name/to/toxic/package.nix +++ b/pkgs/by-name/to/toxic/package.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "toxic"; - version = "0.11.3"; + version = "0.15.1"; src = fetchFromGitHub { - owner = "Tox"; + owner = "TokTok"; repo = "toxic"; rev = "v${version}"; - sha256 = "sha256-BabRY9iu5ccEXo5POrWkWaIWAeQU4MVlMK8I+Iju6aQ="; + sha256 = "sha256-+nOjlQED2pbYwGV6IGeKK1pymBSrDVWCWKjZ42vib7E="; }; makeFlags = [ "PREFIX=$(out)"]; @@ -23,11 +23,12 @@ stdenv.mkDerivation rec { ]; nativeBuildInputs = [ pkg-config libconfig ]; - meta = with lib; src.meta // { + meta = src.meta // { description = "Reference CLI for Tox"; mainProgram = "toxic"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ ehmry ]; - platforms = platforms.linux; + homepage = "https://github.com/TokTok/toxic"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ ehmry ]; + platforms = lib.platforms.linux; }; } From e950fcdd8ecba172861c560211866880ddd3ad38 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 15:14:05 +0000 Subject: [PATCH 29/99] dovecot_fts_xapian: 1.7.9 -> 1.7.10 --- pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix index f27f82aeff6a..87bdddc690b2 100644 --- a/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix +++ b/pkgs/servers/mail/dovecot/plugins/fts_xapian/default.nix @@ -1,13 +1,13 @@ { lib, stdenv, fetchFromGitHub, autoconf, automake, sqlite, pkg-config, dovecot, libtool, xapian, icu64 }: stdenv.mkDerivation rec { pname = "dovecot-fts-xapian"; - version = "1.7.9"; + version = "1.7.10"; src = fetchFromGitHub { owner = "grosjo"; repo = "fts-xapian"; rev = version; - sha256 = "sha256-8D2K0i6wJZfvhRIZKqGPS1tWzBOTPKzn1YMAhDIPkw0="; + sha256 = "sha256-Gzr0365lY9wAvmXeVungD2z44WHC+AI0a1xLWy3mCK4="; }; buildInputs = [ dovecot xapian icu64 sqlite ]; From 33f2f671bb4fcd406eb579dcb451b9003b41cdc2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 15:34:24 +0000 Subject: [PATCH 30/99] bun: 1.0.35 -> 1.0.36 --- pkgs/development/web/bun/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/web/bun/default.nix b/pkgs/development/web/bun/default.nix index dc7003376813..dc91e8c6939b 100644 --- a/pkgs/development/web/bun/default.nix +++ b/pkgs/development/web/bun/default.nix @@ -12,7 +12,7 @@ }: stdenvNoCC.mkDerivation rec { - version = "1.0.35"; + version = "1.0.36"; pname = "bun"; src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); @@ -51,19 +51,19 @@ stdenvNoCC.mkDerivation rec { sources = { "aarch64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-aarch64.zip"; - hash = "sha256-QuCd2l5PNz2pJzKrzy5Zvd9MbAsTu9HzdBulyBvSUok="; + hash = "sha256-NYsCwYdYL8cw5uPaViCA+fcaP1znNzvRCJuhnFixx84="; }; "aarch64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-aarch64.zip"; - hash = "sha256-rxXkCViPgJiSNhlaNQMGcurONhXXK7shrLD0Zk1pLmw="; + hash = "sha256-ztRE4MxrAkSvORTGU5veDj5qhchYbsY4BxP6duZLeoQ="; }; "x86_64-darwin" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-darwin-x64.zip"; - hash = "sha256-eS9s6acf1AxzFkeb/RskuJ1pXdiv52WpP7cEKTEXPEo="; + hash = "sha256-p8YqXW1iShvTX2bB0UrD9yh5PMpcaoiUJ5ZfCrEZmsI="; }; "x86_64-linux" = fetchurl { url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip"; - hash = "sha256-I7fqIhMs/2N9pcxJf5ED4p0kq+rQPnfYGOciAd+6mXU="; + hash = "sha256-+AR0EYOVOgvElDzQjCtlCg5oZFBtLfdEmrL1jFWDAfQ="; }; }; updateScript = writeShellScript "update-bun" '' From 99fb1706fbbb239f5fa9e55f58ea9a2aa5af47b7 Mon Sep 17 00:00:00 2001 From: DCsunset Date: Sun, 31 Mar 2024 12:12:24 -0400 Subject: [PATCH 31/99] pandoc-include: 1.3.0 -> 1.3.1 --- pkgs/tools/misc/pandoc-include/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/pandoc-include/default.nix b/pkgs/tools/misc/pandoc-include/default.nix index d55821f92099..eafa1221a803 100644 --- a/pkgs/tools/misc/pandoc-include/default.nix +++ b/pkgs/tools/misc/pandoc-include/default.nix @@ -9,14 +9,14 @@ buildPythonApplication rec { pname = "pandoc-include"; - version = "1.3.0"; + version = "1.3.1"; pyproject = true; src = fetchFromGitHub { owner = "DCsunset"; repo = "pandoc-include"; rev = "refs/tags/v${version}"; - hash = "sha256-aqewWSPxl3BpUIise/rPgBQPsyCOxU6gBlzT1u2mHY0="; + hash = "sha256-8TIGw6p9c61oSH3ld14rmeG6wZY9u9JHALImxXM3c3Y="; }; nativeBuildInputs = [ From 7835a86bef50ff3a5b5155f76b378383bde104a2 Mon Sep 17 00:00:00 2001 From: Azat Bahawi Date: Sun, 31 Mar 2024 20:47:52 +0300 Subject: [PATCH 32/99] whatfiles: init at 1.0 --- pkgs/by-name/wh/whatfiles/package.nix | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 pkgs/by-name/wh/whatfiles/package.nix diff --git a/pkgs/by-name/wh/whatfiles/package.nix b/pkgs/by-name/wh/whatfiles/package.nix new file mode 100644 index 000000000000..73289f95f7aa --- /dev/null +++ b/pkgs/by-name/wh/whatfiles/package.nix @@ -0,0 +1,33 @@ +{ lib +, stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation rec { + pname = "whatfiles"; + version = "1.0"; + + src = fetchFromGitHub { + owner = "spieglt"; + repo = "whatfiles"; + rev = "v${version}"; + hash = "sha256-5Ju9g7/B9uxLkQzV/MN3vBkjve4EAMseO6K4HTAoS/o="; + }; + + installPhase = '' + runHook preInstall + + install -Dm755 bin/whatfiles $out/bin/whatfiles + + runHook postInstall + ''; + + meta = with lib; { + description = "Log what files are accessed by any Linux process"; + homepage = "https://github.com/spieglt/whatfiles"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ azahi ]; + platforms = platforms.linux; + mainProgram = "whatfiles"; + }; +} From de4369fc141919cf954e87219b96b09b18818b11 Mon Sep 17 00:00:00 2001 From: Daniel Florescu Date: Sun, 31 Mar 2024 19:59:00 +0200 Subject: [PATCH 33/99] go-migrate: update tags to all available drivers --- pkgs/development/tools/go-migrate/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/go-migrate/default.nix b/pkgs/development/tools/go-migrate/default.nix index eec4419ef3bb..da20ec45c20b 100644 --- a/pkgs/development/tools/go-migrate/default.nix +++ b/pkgs/development/tools/go-migrate/default.nix @@ -16,7 +16,7 @@ buildGoModule rec { subPackages = [ "cmd/migrate" ]; - tags = [ "postgres" "mysql" "redshift" "cassandra" "spanner" "cockroachdb" "clickhouse" "mongodb" "sqlserver" "firebird" "neo4j" "pgx" ]; + tags = [ "cassandra" "clickhouse" "cockroachdb" "crate" "firebird" "mongodb" "multistmt" "mysql" "neo4j" "pgx" "postgres" "ql" "redshift" "rqlite" "shell" "snowflake" "spanner" "sqlite3" "sqlserver" "stub" "testing" "yugabytedb" ]; meta = with lib; { homepage = "https://github.com/golang-migrate/migrate"; From fb63b132a7cc581a55b4a387eba5016cc900de05 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 18:12:53 +0000 Subject: [PATCH 34/99] python311Packages.elementpath: 4.3.0 -> 4.4.0 --- pkgs/development/python-modules/elementpath/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/elementpath/default.nix b/pkgs/development/python-modules/elementpath/default.nix index 79389d56fc70..a87762131abb 100644 --- a/pkgs/development/python-modules/elementpath/default.nix +++ b/pkgs/development/python-modules/elementpath/default.nix @@ -7,7 +7,7 @@ buildPythonPackage rec { pname = "elementpath"; - version = "4.3.0"; + version = "4.4.0"; pyproject = true; disabled = pythonOlder "3.7"; @@ -16,7 +16,7 @@ buildPythonPackage rec { owner = "sissaschool"; repo = "elementpath"; rev = "refs/tags/v${version}"; - hash = "sha256-DE8XAZwYzbYaTJoBNqHR0x4Wigmke+/zgj562X391qM="; + hash = "sha256-n1Ps0CybeLeDR5E4UnqmSkbFe0SXyplomEGDchAweSY="; }; nativeBuildInputs = [ From d65e892272712476e0b53e536cce97ccf7402aec Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 18:27:48 +0000 Subject: [PATCH 35/99] raft-cowsql: 0.22.0 -> 0.22.1 --- pkgs/by-name/ra/raft-cowsql/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/ra/raft-cowsql/package.nix b/pkgs/by-name/ra/raft-cowsql/package.nix index 8dbd07a74870..65835a086284 100644 --- a/pkgs/by-name/ra/raft-cowsql/package.nix +++ b/pkgs/by-name/ra/raft-cowsql/package.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "raft-cowsql"; - version = "0.22.0"; + version = "0.22.1"; src = fetchFromGitHub { owner = "cowsql"; repo = "raft"; rev = "refs/tags/v${version}"; - hash = "sha256-kd0PD45+CenlfRMp5O48uELyZ2gEtasCe7xNEzsKU+M="; + hash = "sha256-aGw/ATu8Xdjfqa0qWg8Sld9PKCmQsMtZhuNBwagER7M="; }; nativeBuildInputs = [ autoreconfHook pkg-config ]; From 989b66f0b8cf83e8d15045d55c091962c9dd2ffe Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 20:05:54 +0000 Subject: [PATCH 36/99] bash-supergenpass: unstable-2020-02-03 -> unstable-2024-03-24 --- pkgs/tools/security/bash-supergenpass/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/security/bash-supergenpass/default.nix b/pkgs/tools/security/bash-supergenpass/default.nix index ae831bf86753..f2d2aee7146b 100644 --- a/pkgs/tools/security/bash-supergenpass/default.nix +++ b/pkgs/tools/security/bash-supergenpass/default.nix @@ -8,15 +8,15 @@ stdenv.mkDerivation { pname = "bash-supergenpass"; - version = "unstable-2020-02-03"; + version = "unstable-2024-03-24"; nativeBuildInputs = [ makeWrapper ]; src = fetchFromGitHub { owner = "lanzz"; repo = "bash-supergenpass"; - rev = "e5d96599b65d65a37148996f00f9d057e522e4d8"; - sha256 = "1d8csp94l2p5y5ln53aza5qf246rwmd10043x0x1yrswqrrya40f"; + rev = "03416ad4d753d825acd0443a01ac13d385d5e048"; + sha256 = "Q+xmT72UFCc71K87mAzpyTmEIXjR9SqX0xzmQfi5P9k="; }; installPhase = '' From bdeca2c42d6c16adc216ffb87bbe27ebebbd5705 Mon Sep 17 00:00:00 2001 From: Dennis Wuitz Date: Sun, 31 Mar 2024 23:57:35 +0200 Subject: [PATCH 37/99] bitwarden-directory-connector: 2024.3.1 -> 2024.3.2 --- pkgs/tools/security/bitwarden-directory-connector/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/security/bitwarden-directory-connector/default.nix b/pkgs/tools/security/bitwarden-directory-connector/default.nix index 7bc4d9a1fe83..87b0ff8fd50b 100644 --- a/pkgs/tools/security/bitwarden-directory-connector/default.nix +++ b/pkgs/tools/security/bitwarden-directory-connector/default.nix @@ -13,14 +13,14 @@ let common = { name, npmBuildScript, installPhase }: buildNpmPackage rec { pname = name; - version = "2024.3.1"; + version = "2024.3.2"; nodejs = nodejs_18; src = fetchFromGitHub { owner = "bitwarden"; repo = "directory-connector"; rev = "v${version}"; - hash = "sha256-NbyjL6x/Ij5waYlIDNKrg7fDT+co/EcdCW4ZBJ6KV34="; + hash = "sha256-CB5HrT+p63zANg1SEoynk6hPPW5DcC9Qfo2+QDy2iwc="; }; postPatch = '' From 62bc9629d3efe119a37e7a07e3132218ed152d61 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Mon, 1 Apr 2024 00:10:33 +0200 Subject: [PATCH 38/99] toxic: fix license --- pkgs/by-name/to/toxic/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/to/toxic/package.nix b/pkgs/by-name/to/toxic/package.nix index e33505d7373b..d697420bf32e 100644 --- a/pkgs/by-name/to/toxic/package.nix +++ b/pkgs/by-name/to/toxic/package.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { description = "Reference CLI for Tox"; mainProgram = "toxic"; homepage = "https://github.com/TokTok/toxic"; - license = lib.licenses.gpl3Plus; + license = lib.licenses.gpl3Only; maintainers = with lib.maintainers; [ ehmry ]; platforms = lib.platforms.linux; }; From 556a1d83f7a930a11b95180073d03389b51d8e4d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 25 Mar 2024 19:36:52 +0000 Subject: [PATCH 39/99] cakelisp: 0.3.0-unstable-2024-02-21 -> 0.3.0-unstable-2024-03-21 --- pkgs/development/compilers/cakelisp/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/cakelisp/default.nix b/pkgs/development/compilers/cakelisp/default.nix index 9f8939708cec..1d52430a16a5 100644 --- a/pkgs/development/compilers/cakelisp/default.nix +++ b/pkgs/development/compilers/cakelisp/default.nix @@ -3,12 +3,12 @@ stdenv.mkDerivation { pname = "cakelisp"; # using unstable as it's the only version that builds against gcc-13 - version = "0.3.0-unstable-2024-02-21"; + version = "0.3.0-unstable-2024-03-21"; src = fetchgit { url = "https://macoy.me/code/macoy/cakelisp"; - rev = "75ce620b265bf83c6952c0093df2b9d4f7f32a54"; - hash = "sha256-X+tWq2QQogy4d042pcVuldc80jcClYtV09Jr91rHJl4="; + rev = "6bde4b8002e4825116f3b18291a012bf1729f497"; + hash = "sha256-jpwVHiDRVa6QoYxsasmiV1IdbBqZj0tU5EBruOHfzYg="; }; buildInputs = [ gcc ]; From 8d3cf2b9ac3962b10495f90229ab0ff2e1541ad1 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 22:30:23 +0000 Subject: [PATCH 40/99] python311Packages.google-cloud-securitycenter: 1.29.0 -> 1.30.0 --- .../python-modules/google-cloud-securitycenter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-securitycenter/default.nix b/pkgs/development/python-modules/google-cloud-securitycenter/default.nix index a553d67e0670..2b78b9ac49f4 100644 --- a/pkgs/development/python-modules/google-cloud-securitycenter/default.nix +++ b/pkgs/development/python-modules/google-cloud-securitycenter/default.nix @@ -13,14 +13,14 @@ buildPythonPackage rec { pname = "google-cloud-securitycenter"; - version = "1.29.0"; + version = "1.30.0"; pyproject = true; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; - hash = "sha256-4c7tuLxO3+B8ZojVpSKWcl35doqoqHrofY6n80t9UrY="; + hash = "sha256-Tq+Uicfk1SqvisYEdBfREngICvWP8NyFJy4hJp9qD8Y="; }; nativeBuildInputs = [ From 1fd6ad1f0b6d90a059c892c7d28944cb346bdaab Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 22:30:34 +0000 Subject: [PATCH 41/99] vcpkg: 2024.03.19 -> 2024.03.25 --- pkgs/by-name/vc/vcpkg/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/vc/vcpkg/package.nix b/pkgs/by-name/vc/vcpkg/package.nix index 940bed58feb7..befa6eab94c2 100644 --- a/pkgs/by-name/vc/vcpkg/package.nix +++ b/pkgs/by-name/vc/vcpkg/package.nix @@ -7,13 +7,13 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "vcpkg"; - version = "2024.03.19"; + version = "2024.03.25"; src = fetchFromGitHub { owner = "microsoft"; repo = "vcpkg"; rev = finalAttrs.version; - hash = "sha256-861r4XsXCyxUVDlSrekZ+g17td+idUN8qJmmTZNDzow="; + hash = "sha256-HMK3sebq/9TuxHQ75+5UIMvN09cPWmq7TFBBwRY4X7o="; }; installPhase = let From 57717be3a4e9940605f652073fd10537388cd0ca Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 22:33:46 +0000 Subject: [PATCH 42/99] werf: 1.2.300 -> 1.2.301 --- pkgs/applications/networking/cluster/werf/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix index 6e2ace8ac9ce..0af40d0c1037 100644 --- a/pkgs/applications/networking/cluster/werf/default.nix +++ b/pkgs/applications/networking/cluster/werf/default.nix @@ -10,16 +10,16 @@ buildGoModule rec { pname = "werf"; - version = "1.2.300"; + version = "1.2.301"; src = fetchFromGitHub { owner = "werf"; repo = "werf"; rev = "v${version}"; - hash = "sha256-DWSjdgLjVJHlcXa6QV2KzASFQkCpUDSrtYpx/oa+Ff4="; + hash = "sha256-w7gHcHXvCWGzIiq4NvKjha/gs7W8fmNnZPe99lHstIg="; }; - vendorHash = "sha256-o/s3JZe/lO6smCXVs0ZzOTqGt7ikgTsC4Wo2O9fALe8="; + vendorHash = "sha256-pPWX9KtWDgJrQKt9PX1gb0v/DCop8lOxJyAjFZr3RpI="; proxyVendor = true; From 051790281283b617bc24ba9c4b6ca8fc8981a6c4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 01:04:44 +0000 Subject: [PATCH 43/99] websocat: 1.12.0 -> 1.13.0 --- pkgs/tools/misc/websocat/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/websocat/default.nix b/pkgs/tools/misc/websocat/default.nix index baef5b264502..786062cfffb9 100644 --- a/pkgs/tools/misc/websocat/default.nix +++ b/pkgs/tools/misc/websocat/default.nix @@ -3,16 +3,16 @@ rustPlatform.buildRustPackage rec { pname = "websocat"; - version = "1.12.0"; + version = "1.13.0"; src = fetchFromGitHub { owner = "vi"; repo = pname; rev = "v${version}"; - sha256 = "sha256-wyVys+1g2klgwFHlKHI0ztd2qSlWyNXJoFvFCd1PGjo="; + sha256 = "sha256-tQvI3wlNDa+S3KK4z0NFGuB/QLXlSsyipvzO0xIrBIo="; }; - cargoHash = "sha256-fakXOPQOEaKEt+AeOYlhumULJyjRHHXFKz4o9AD7WE0="; + cargoHash = "sha256-hkfFhx0y2v122ozeWMm+tu+EHSxzu/bSbCpXKIm57rQ="; nativeBuildInputs = [ pkg-config makeWrapper ]; buildInputs = [ openssl ] From f253578740ccc9fd1ba93d7ac4585048856e8bc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20B=C3=B6schen?= Date: Sat, 30 Mar 2024 23:01:15 +0100 Subject: [PATCH 44/99] hyprshade: Fix unavailable default shaders The orignal code looks for the shaders in either the Python data directory, which seems to not be working well under the way nixpkgs installs Python builds. There is the environment variable HYPRSHADE_SHADERS_DIR in https://github.com/loqusion/hyprshade/blob/main/src/hyprshade/shader/dirs.py#L12 that lets us configure it to "$out/share/hyprshade/shaders" instead to give full functionality. --- .../applications/window-managers/hyprwm/hyprshade/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix b/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix index 229f53ed3de8..61690f8f8bdb 100644 --- a/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix +++ b/pkgs/applications/window-managers/hyprwm/hyprshade/default.nix @@ -24,6 +24,10 @@ buildPythonPackage rec { propagatedBuildInputs = [ more-itertools click ]; + postFixup = '' + wrapProgram $out/bin/hyprshade --set HYPRSHADE_SHADERS_DIR $out/share/hyprshade/shaders + ''; + meta = with lib; { homepage = "https://github.com/loqusion/hyprshade"; description = "Hyprland shade configuration tool"; From 6cff0a5ca7ffbd7d15d1b57d6818254522a4c91d Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 02:23:19 +0000 Subject: [PATCH 45/99] johnny-reborn-engine: 0.30 -> 0.34 --- pkgs/applications/misc/johnny-reborn/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/johnny-reborn/default.nix b/pkgs/applications/misc/johnny-reborn/default.nix index 180d46519c64..c2329e2c26f2 100644 --- a/pkgs/applications/misc/johnny-reborn/default.nix +++ b/pkgs/applications/misc/johnny-reborn/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation rec { pname = "johnny-reborn-engine"; - version = "0.30"; + version = "0.34"; src = fetchFromGitHub { owner = "xesf"; repo = "jc_reborn"; rev = "v${version}"; - hash = "sha256-n3ELNFvjeDzbamyQIdM9mf/A1sstuhCGzrL9NuXf90Y="; + hash = "sha256-JXaYSHpow7Pzy+ATEinET9ffvPIkOmlylnerZJnMUjY="; }; buildInputs = [ SDL2 ]; From e14716b7d26b1fa405ca0dbe0785f3188203e232 Mon Sep 17 00:00:00 2001 From: aleksana Date: Sun, 31 Mar 2024 16:55:17 +0800 Subject: [PATCH 46/99] go-musicfox: 4.3.1 -> 4.3.3 --- pkgs/applications/audio/go-musicfox/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/audio/go-musicfox/default.nix b/pkgs/applications/audio/go-musicfox/default.nix index 3d67cb7d46e9..944b2aa1aef1 100644 --- a/pkgs/applications/audio/go-musicfox/default.nix +++ b/pkgs/applications/audio/go-musicfox/default.nix @@ -9,18 +9,18 @@ buildGoModule rec { pname = "go-musicfox"; - version = "4.3.1"; + version = "4.3.3"; src = fetchFromGitHub { owner = "go-musicfox"; - repo = pname; + repo = "go-musicfox"; rev = "v${version}"; - hash = "sha256-QZHuQAOnthSm7Kb82i3NUWTnKk+9OMHV5vzOU72inX0="; + hash = "sha256-J6R3T92cHFUkKwc+GKm612tVjglP2Tc/kDUmzUMhvio="; }; deleteVendor = true; - vendorHash = "sha256-6DeoxpjVfykBI3fJAJpMZwJ4VTooIbxGpk5+SW198hU="; + vendorHash = "sha256-KSIdBEEvYaYcDIDmzfRO857I8FSN4Ajw6phAPQLYEqg="; subPackages = [ "cmd/musicfox.go" ]; From 96c7e7597a9838a4b2265a177cbc6bfc6ad41e2b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 03:39:08 +0000 Subject: [PATCH 47/99] quarkus: 3.8.3 -> 3.9.1 --- pkgs/by-name/qu/quarkus/package.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/by-name/qu/quarkus/package.nix b/pkgs/by-name/qu/quarkus/package.nix index 56eeb7a57826..29fd9f2af539 100644 --- a/pkgs/by-name/qu/quarkus/package.nix +++ b/pkgs/by-name/qu/quarkus/package.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "quarkus-cli"; - version = "3.8.3"; + version = "3.9.1"; src = fetchurl { url = "https://github.com/quarkusio/quarkus/releases/download/${finalAttrs.version}/quarkus-cli-${finalAttrs.version}.tar.gz"; - hash = "sha256-+HUVnd21q2xln58UR1QS0UFCjlY0sbf79ZkvWbRCH7Q="; + hash = "sha256-qWlg6ZferLAy3TOyFe7Dhy102GzISGpB08Dwy8JFxSk="; }; nativeBuildInputs = [ makeWrapper ]; From 385994a4cd802a0c95129a06d731c9a538c5b722 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 03:52:21 +0000 Subject: [PATCH 48/99] python312Packages.plexapi: 4.15.10 -> 4.15.11 --- pkgs/development/python-modules/plexapi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix index 8b2911222e37..d628a5f52989 100644 --- a/pkgs/development/python-modules/plexapi/default.nix +++ b/pkgs/development/python-modules/plexapi/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "plexapi"; - version = "4.15.10"; + version = "4.15.11"; pyproject = true; disabled = pythonOlder "3.8"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "pkkid"; repo = "python-plexapi"; rev = "refs/tags/${version}"; - hash = "sha256-3qvAf3oray3Fm3No6ixv/D1mY4lipt5pixgpyXNCRoc="; + hash = "sha256-OPhmw7nCe0n7VLekXeB5PiLdBk2DPmLoQ1nZiGEwqis="; }; nativeBuildInputs = [ From 65a0e814eb1338f2c04d6b79589ec5feffc74cda Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 03:52:30 +0000 Subject: [PATCH 49/99] python312Packages.imbalanced-learn: 0.12.0 -> 0.12.2 --- pkgs/development/python-modules/imbalanced-learn/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/imbalanced-learn/default.nix b/pkgs/development/python-modules/imbalanced-learn/default.nix index 585e043e4eb3..412b0424a218 100644 --- a/pkgs/development/python-modules/imbalanced-learn/default.nix +++ b/pkgs/development/python-modules/imbalanced-learn/default.nix @@ -17,14 +17,14 @@ buildPythonPackage rec { pname = "imbalanced-learn"; - version = "0.12.0"; + version = "0.12.2"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-uczZqqMChpkHnUOm1Nn8nQOfVTdnM7Mfh8fZsSXcwWU="; + hash = "sha256-qAxWztywcSTyZr5i06XSq1tXeZCac0P98bmTR5Zi9sE="; }; nativeBuildInputs = [ From 808872e9f705813006c6ea0790c106d1252f4100 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 04:26:53 +0000 Subject: [PATCH 50/99] conftest: 0.50.0 -> 0.51.0 --- pkgs/development/tools/conftest/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/conftest/default.nix b/pkgs/development/tools/conftest/default.nix index da3c2cc54f72..5fe017565f12 100644 --- a/pkgs/development/tools/conftest/default.nix +++ b/pkgs/development/tools/conftest/default.nix @@ -6,15 +6,15 @@ buildGoModule rec { pname = "conftest"; - version = "0.50.0"; + version = "0.51.0"; src = fetchFromGitHub { owner = "open-policy-agent"; repo = "conftest"; rev = "refs/tags/v${version}"; - hash = "sha256-DqZl16CQR88n5etJvX+5wxpOQsyWq/UWjJou23pjpWk="; + hash = "sha256-1jMVb1Hip7ljmt4WtFg3Qa2/rse2sjISTe3SUS5UCTo="; }; - vendorHash = "sha256-9afq6ccgiaeZqyM3Le1NQ0ADB/wmBW+qdT+uVtbARC8="; + vendorHash = "sha256-Yw5p2mTTkYvRjeuF9owirohyClSS3j1gKVg8Ma2NIa8="; ldflags = [ "-s" From d984c0e34b68bfcc3c6fea0e5ca882ad6ac436e4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 04:27:15 +0000 Subject: [PATCH 51/99] python312Packages.pytest-mypy-plugins: 3.1.1 -> 3.1.2 --- .../python-modules/pytest-mypy-plugins/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pytest-mypy-plugins/default.nix b/pkgs/development/python-modules/pytest-mypy-plugins/default.nix index fecc71372159..a5a9273c666c 100644 --- a/pkgs/development/python-modules/pytest-mypy-plugins/default.nix +++ b/pkgs/development/python-modules/pytest-mypy-plugins/default.nix @@ -17,7 +17,7 @@ buildPythonPackage rec { pname = "pytest-mypy-plugins"; - version = "3.1.1"; + version = "3.1.2"; pyproject = true; disabled = pythonOlder "3.7"; @@ -26,7 +26,7 @@ buildPythonPackage rec { owner = "typeddjango"; repo = "pytest-mypy-plugins"; rev = "refs/tags/${version}"; - hash = "sha256-kZbTCdZM+809yFkKWMpeyBOq6hcqcYk7rEYqee9hZwk="; + hash = "sha256-yme1g9Kj5guao0Lf8mbkNJRw6ipS2Wd4Io1cSlEBAGo="; }; nativeBuildInputs = [ From b40420a58915d2f5c0954a0ce9f784b13d6ff2c4 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 04:51:16 +0000 Subject: [PATCH 52/99] vulkan-caps-viewer: 3.34 -> 3.40 --- pkgs/tools/graphics/vulkan-caps-viewer/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/graphics/vulkan-caps-viewer/default.nix b/pkgs/tools/graphics/vulkan-caps-viewer/default.nix index 4ab820b512e3..239d8c5d652c 100644 --- a/pkgs/tools/graphics/vulkan-caps-viewer/default.nix +++ b/pkgs/tools/graphics/vulkan-caps-viewer/default.nix @@ -11,13 +11,13 @@ stdenv.mkDerivation rec { pname = "vulkan-caps-viewer"; - version = "3.34"; + version = "3.40"; src = fetchFromGitHub { owner = "SaschaWillems"; repo = "VulkanCapsViewer"; rev = version; - hash = "sha256-F1D/+Q/GXqQazTNgwdiHS9qqIHy0YGssmagw615E+xg="; + hash = "sha256-bFBwv7VmZlw/00ZP0sfrLZIvaGucXj8OqkFSWubD7O4="; # Note: this derivation strictly requires vulkan-header to be the same it was developed against. # To help us, they've put it in a git-submodule. # The result will work with any vulkan-loader version. From 2be350c625f21cfe02d8d5af3a2332bce8b29eab Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 04:51:49 +0000 Subject: [PATCH 53/99] chezmoi: 2.47.2 -> 2.47.3 --- pkgs/tools/misc/chezmoi/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix index 0533a0a4e81c..cc025806f738 100644 --- a/pkgs/tools/misc/chezmoi/default.nix +++ b/pkgs/tools/misc/chezmoi/default.nix @@ -6,16 +6,16 @@ buildGoModule rec { pname = "chezmoi"; - version = "2.47.2"; + version = "2.47.3"; src = fetchFromGitHub { owner = "twpayne"; repo = "chezmoi"; rev = "v${version}"; - hash = "sha256-XjPeOTVoWcAWq8wb3RJCsIVMN4zF5ovAni+fWrR1P+I="; + hash = "sha256-Z9NXYtYaV4jhUK2JEpxleYVG6Vo/nKeD/qBqagzkmNE="; }; - vendorHash = "sha256-ZtxX8BTX+7SfRxdxNWAy3wNTl8H7yoBNJr99dzCA+uk="; + vendorHash = "sha256-IbNEKj8wJpsQO9bXrsH4OJUIhez9merFSWydhSHbvRQ="; doCheck = false; From 78a5c243198ffe15a9f0d8adf9fbf08f0107239e Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 05:51:58 +0000 Subject: [PATCH 54/99] kubedb-cli: 0.42.1 -> 0.44.0 --- pkgs/applications/networking/cluster/kubedb-cli/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/cluster/kubedb-cli/default.nix b/pkgs/applications/networking/cluster/kubedb-cli/default.nix index 2a3b6e63a9a8..ce2e92356db4 100644 --- a/pkgs/applications/networking/cluster/kubedb-cli/default.nix +++ b/pkgs/applications/networking/cluster/kubedb-cli/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "kubedb-cli"; - version = "0.42.1"; + version = "0.44.0"; src = fetchFromGitHub { owner = "kubedb"; repo = "cli"; rev = "v${version}"; - sha256 = "sha256-i+0oQaEHMu3525mJTQyL+Me2DPFSpaIK1xGaPMR2M0s="; + sha256 = "sha256-ppsGSzgJvAHRGs6PGPNgE7nDbK8SPYBPNbAlGwocAZs="; }; vendorHash = null; From 5aa295e9e1a0cc09500750deed9e0559fd7b6eee Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 06:55:54 +0000 Subject: [PATCH 55/99] sickgear: 3.30.15 -> 3.30.16 --- pkgs/servers/sickbeard/sickgear.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/sickbeard/sickgear.nix b/pkgs/servers/sickbeard/sickgear.nix index c240c5d7ffda..2f1949ad6430 100644 --- a/pkgs/servers/sickbeard/sickgear.nix +++ b/pkgs/servers/sickbeard/sickgear.nix @@ -4,13 +4,13 @@ let pythonEnv = python3.withPackages(ps: with ps; [ cheetah3 lxml ]); in stdenv.mkDerivation rec { pname = "sickgear"; - version = "3.30.15"; + version = "3.30.16"; src = fetchFromGitHub { owner = "SickGear"; repo = "SickGear"; rev = "release_${version}"; - hash = "sha256-/6D4jehI94KwE5BFZiMWddcinwmU8Rb/83NifTEvudA="; + hash = "sha256-9DeHA7wBHz4gjqtRF3uaHKG9EEnjQmmEPvpqKaffJyg="; }; patches = [ From 1396048bf38cc04fc89b29e523fda52efc01a7cb Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 07:25:10 +0000 Subject: [PATCH 56/99] oxlint: 0.2.14 -> 0.2.15 --- pkgs/development/tools/oxlint/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/oxlint/default.nix b/pkgs/development/tools/oxlint/default.nix index e24b78a4bd29..8294871aeb39 100644 --- a/pkgs/development/tools/oxlint/default.nix +++ b/pkgs/development/tools/oxlint/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "oxlint"; - version = "0.2.14"; + version = "0.2.15"; src = fetchFromGitHub { owner = "web-infra-dev"; repo = "oxc"; rev = "oxlint_v${version}"; - hash = "sha256-nIY80YWZpDJSFkPLMBjXyk2SYx2tnVhFrxiBrYFu/e4="; + hash = "sha256-hEN9TLIeAfMGO/PL5OcT7+H0dmoCtH+dcIEafpQ45UU="; }; - cargoHash = "sha256-BRrF0Ad6tbN+xajzPhDHP7ZJPbruRrcdwjZBFukMKfs="; + cargoHash = "sha256-uChoDlU0tb52pBBEqmmwhCS83pykFRpXRFSuUGquHEQ="; buildInputs = [ rust-jemalloc-sys From ce7c1489d430e349e1e4588e92aab8eb64f6a328 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 07:52:48 +0000 Subject: [PATCH 57/99] kopia: 0.16.0 -> 0.16.1 --- pkgs/tools/backup/kopia/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/backup/kopia/default.nix b/pkgs/tools/backup/kopia/default.nix index 2bd82bb44d6f..a0dac3e33c91 100644 --- a/pkgs/tools/backup/kopia/default.nix +++ b/pkgs/tools/backup/kopia/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "kopia"; - version = "0.16.0"; + version = "0.16.1"; src = fetchFromGitHub { owner = pname; repo = pname; rev = "v${version}"; - hash = "sha256-GWOPGp9YUw2wjoTNdMooCgUUJwEoVIAlnLDh4Z6UQhk="; + hash = "sha256-q22iK467dCW9y0ephVA+V9L9drO2631l4cLlphhdwnQ="; }; - vendorHash = "sha256-ht8YjrcWT2uWOrxMdtyCs6oTVziyPYfw3hVepkLMcks="; + vendorHash = "sha256-5lm3N9F1Pe/lSA63qk8/azo5FZzTvJE/Is2N9WKT+7k="; doCheck = false; From 8eec38d8a240a95bdc8fab94e2662453b498f9ab Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 08:06:20 +0000 Subject: [PATCH 58/99] templ: 0.2.646 -> 0.2.648 --- pkgs/development/tools/templ/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/tools/templ/default.nix b/pkgs/development/tools/templ/default.nix index 6270ca3fb991..154ce64ce364 100644 --- a/pkgs/development/tools/templ/default.nix +++ b/pkgs/development/tools/templ/default.nix @@ -5,7 +5,7 @@ buildGoModule rec { pname = "templ"; - version = "0.2.646"; + version = "0.2.648"; subPackages = [ "cmd/templ" ]; @@ -21,7 +21,7 @@ buildGoModule rec { owner = "a-h"; repo = "templ"; rev = "refs/tags/v${version}"; - hash = "sha256-ocuDWdIHL4Ub1ybWBScg4ysTRQdvCxlod0TNuJFDA4o="; + hash = "sha256-9Co3yvfy8X69PIffPg2lDjVCVTjDhiFnSsJd4MQ6cf4="; }; vendorHash = "sha256-Upd5Wq4ajsyOMDiAWS2g2iNO1sm1XJc43AFQLIo5eDM="; From a238397911a71e5831a8d72bf595cffb78b6de81 Mon Sep 17 00:00:00 2001 From: Assistant Date: Wed, 27 Mar 2024 02:49:02 -0400 Subject: [PATCH 59/99] flye: init at 2.9.3 flye: remove pname usage flye: use --replace-fail flye: remove superfluous darwin platform flye: use getExe flye: fix formatting flye: fix aarch64-linux build flye: use postPatch instead of preConfigure --- pkgs/by-name/fl/flye/aarch64-fix.patch | 15 ++++++++ pkgs/by-name/fl/flye/package.nix | 51 ++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 pkgs/by-name/fl/flye/aarch64-fix.patch create mode 100644 pkgs/by-name/fl/flye/package.nix diff --git a/pkgs/by-name/fl/flye/aarch64-fix.patch b/pkgs/by-name/fl/flye/aarch64-fix.patch new file mode 100644 index 000000000000..02588fc63e21 --- /dev/null +++ b/pkgs/by-name/fl/flye/aarch64-fix.patch @@ -0,0 +1,15 @@ +diff --git a/Makefile b/Makefile +index 75f62aed..91b9571b 100644 +--- a/Makefile ++++ b/Makefile +@@ -16,6 +16,10 @@ ifeq ($(shell uname -m),arm64) + export aarch64=1 + endif + ++ifeq ($(shell uname -m),aarch64) ++ export aarch64=1 ++endif ++ + .PHONY: clean all profile debug minimap2 samtools + + .DEFAULT_GOAL := all diff --git a/pkgs/by-name/fl/flye/package.nix b/pkgs/by-name/fl/flye/package.nix new file mode 100644 index 000000000000..ccbb56eb6795 --- /dev/null +++ b/pkgs/by-name/fl/flye/package.nix @@ -0,0 +1,51 @@ +{ lib +, fetchFromGitHub +, python3Packages +, zlib +, curl +, libdeflate +, bash +, coreutils +}: + +python3Packages.buildPythonApplication rec { + pname = "flye"; + version = "2.9.3"; + + src = fetchFromGitHub { + owner = "fenderglass"; + repo = "flye"; + rev = version; + hash = "sha256-IALqtIPmvDYoH4w/tk2WB/P/pAcKXxgnsu9PFp+wIes="; + }; + + nativeCheckInputs = [ python3Packages.pytestCheckHook ]; + + propagatedBuildInputs = [ coreutils ]; + + buildInputs = [ + zlib + curl + libdeflate + ]; + + patches = [ ./aarch64-fix.patch ]; + + postPatch = '' + substituteInPlace flye/polishing/alignment.py \ + --replace-fail "/bin/bash" "${lib.getExe bash}" + + substituteInPlace flye/tests/test_toy.py \ + --replace-fail "find_executable(\"flye" "find_executable(\"$out/bin/flye" \ + --replace-fail "[\"flye" "[\"$out/bin/flye" + ''; + + meta = with lib; { + description = "De novo assembler for single molecule sequencing reads using repeat graphs"; + homepage = "https://github.com/fenderglass/Flye"; + license = licenses.bsd3; + platforms = platforms.unix; + mainProgram = "flye"; + maintainers = with maintainers; [ assistant ]; + }; +} From e79cebc3bfa79f79945b3f831ae1f52bd1e52407 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 1 Apr 2024 10:14:31 +0200 Subject: [PATCH 60/99] invidious: 0.20.1-unstable-2024-03-08 -> 0.20.1-unstable-2024-03-31 --- pkgs/servers/invidious/versions.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/servers/invidious/versions.json b/pkgs/servers/invidious/versions.json index 76eb88aa6b5f..93c5784c9c1b 100644 --- a/pkgs/servers/invidious/versions.json +++ b/pkgs/servers/invidious/versions.json @@ -1,8 +1,8 @@ { "invidious": { - "rev": "99a5e9cbc44daa4555f36b43bc4b7246aee454c9", - "hash": "sha256-ep/umuNxTvdPXtJgI3KNt0h5xc1O38wQz1+OsVYOzfE=", - "version": "0.20.1-unstable-2024-03-08" + "rev": "08390acd0c17875fddb84cabba54197a5b5740e4", + "hash": "sha256-75C/ImX/PYikVdSO4rZM/aYyEgx6pU90BHNeRFfcsDM=", + "version": "0.20.1-unstable-2024-03-31" }, "videojs": { "hash": "sha256-jED3zsDkPN8i6GhBBJwnsHujbuwlHdsVpVqa1/pzSH4=" From e781bae4a48d218c06bc2a49b51a065971d51e4f Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 1 Apr 2024 11:18:48 +0300 Subject: [PATCH 61/99] ubootRaspberryPi: embiggen, again Our kernels are bigger than 64M now, so give it another 16M. Also, stop updating the comment, it's not worth it. --- ...configs-rpi-allow-for-bigger-kernels.patch | 24 ++++--------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/pkgs/misc/uboot/0001-configs-rpi-allow-for-bigger-kernels.patch b/pkgs/misc/uboot/0001-configs-rpi-allow-for-bigger-kernels.patch index b90cc6ef0781..65497a6d4f06 100644 --- a/pkgs/misc/uboot/0001-configs-rpi-allow-for-bigger-kernels.patch +++ b/pkgs/misc/uboot/0001-configs-rpi-allow-for-bigger-kernels.patch @@ -2,22 +2,6 @@ diff --git a/board/raspberrypi/rpi/rpi.env b/board/raspberrypi/rpi/rpi.env index 30228285ed..0327ef74fa 100644 --- a/board/raspberrypi/rpi/rpi.env +++ b/board/raspberrypi/rpi/rpi.env -@@ -55,11 +55,11 @@ dfu_alt_info+=zImage fat 0 1 - * more than ~700M away from the start of the kernel image but this number can - * be larger OR smaller depending on e.g. the 'vmalloc=xxxM' command line - * parameter given to the kernel. So reserving memory from low to high -- * satisfies this constraint again. Reserving 1M at 0x02600000-0x02700000 for -- * the DTB leaves rest of the free RAM to the initrd starting at 0x02700000. -+ * satisfies this constraint again. Reserving 1M at 0x04700000-0x04800000 for -+ * the DTB leaves rest of the free RAM to the initrd starting at 0x04800000. - * Even with the smallest possible CPU-GPU memory split of the CPU getting -- * only 64M, the remaining 25M starting at 0x02700000 should allow quite -- * large initrds before they start colliding with U-Boot. -+ * only 64M, the remaining 8M starting at 0x04800000 should allow reasonably -+ * sized initrds before they start colliding with U-Boot. - */ - #ifdef CONFIG_ARM64 - fdt_high=ffffffffffffffff @@ -69,9 +69,9 @@ fdt_high=ffffffff initrd_high=ffffffff #endif @@ -26,10 +10,10 @@ index 30228285ed..0327ef74fa 100644 -pxefile_addr_r=0x02500000 -fdt_addr_r=0x02600000 -ramdisk_addr_r=0x02700000 -+scriptaddr=0x04500000 -+pxefile_addr_r=0x04600000 -+fdt_addr_r=0x04700000 -+ramdisk_addr_r=0x04800000 ++scriptaddr=0x05500000 ++pxefile_addr_r=0x05600000 ++fdt_addr_r=0x05700000 ++ramdisk_addr_r=0x05800000 boot_targets=mmc usb pxe dhcp From 17cc0c938a3a0c27a90de9b751a9298d40a3565e Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 1 Apr 2024 10:20:47 +0200 Subject: [PATCH 62/99] python312Packages.pytest-mypy-plugins: refactor --- .../python-modules/pytest-mypy-plugins/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pytest-mypy-plugins/default.nix b/pkgs/development/python-modules/pytest-mypy-plugins/default.nix index a5a9273c666c..c653467efb4f 100644 --- a/pkgs/development/python-modules/pytest-mypy-plugins/default.nix +++ b/pkgs/development/python-modules/pytest-mypy-plugins/default.nix @@ -29,7 +29,7 @@ buildPythonPackage rec { hash = "sha256-yme1g9Kj5guao0Lf8mbkNJRw6ipS2Wd4Io1cSlEBAGo="; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; @@ -37,7 +37,7 @@ buildPythonPackage rec { pytest ]; - propagatedBuildInputs = [ + dependencies = [ decorator jinja2 jsonschema From 33f6082e991a6a0c64732ed3c22d70b8181f8848 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 1 Apr 2024 10:21:39 +0200 Subject: [PATCH 63/99] python312Packages.pytest-mypy-plugins: update disabled --- pkgs/development/python-modules/pytest-mypy-plugins/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/pytest-mypy-plugins/default.nix b/pkgs/development/python-modules/pytest-mypy-plugins/default.nix index c653467efb4f..097dabe8a39d 100644 --- a/pkgs/development/python-modules/pytest-mypy-plugins/default.nix +++ b/pkgs/development/python-modules/pytest-mypy-plugins/default.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { version = "3.1.2"; pyproject = true; - disabled = pythonOlder "3.7"; + disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "typeddjango"; From 6c749d8ddf55aa1a76856d21430d4477eabdb257 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 1 Apr 2024 10:23:01 +0200 Subject: [PATCH 64/99] python312Packages.plexapi: refactor --- pkgs/development/python-modules/plexapi/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix index d628a5f52989..a8e2c3ef4bc1 100644 --- a/pkgs/development/python-modules/plexapi/default.nix +++ b/pkgs/development/python-modules/plexapi/default.nix @@ -22,11 +22,11 @@ buildPythonPackage rec { hash = "sha256-OPhmw7nCe0n7VLekXeB5PiLdBk2DPmLoQ1nZiGEwqis="; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ requests tqdm websocket-client From 98785b7e1363348581657a0c1760eb00c4107672 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 1 Apr 2024 10:23:41 +0200 Subject: [PATCH 65/99] python311Packages.google-cloud-securitycenter: refactor --- .../python-modules/google-cloud-securitycenter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/google-cloud-securitycenter/default.nix b/pkgs/development/python-modules/google-cloud-securitycenter/default.nix index 2b78b9ac49f4..83c296a5294b 100644 --- a/pkgs/development/python-modules/google-cloud-securitycenter/default.nix +++ b/pkgs/development/python-modules/google-cloud-securitycenter/default.nix @@ -23,11 +23,11 @@ buildPythonPackage rec { hash = "sha256-Tq+Uicfk1SqvisYEdBfREngICvWP8NyFJy4hJp9qD8Y="; }; - nativeBuildInputs = [ + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ grpc-google-iam-v1 google-api-core proto-plus From d8489497c31f3b08eea1487466004f1f00c42668 Mon Sep 17 00:00:00 2001 From: LordMZTE Date: Mon, 1 Apr 2024 12:18:47 +0200 Subject: [PATCH 66/99] linux: enable POWER_RESET_GPIO and POWER_RESET_GPIO_RESTART modules These modules are very useful for power management via GPIO pins on embedded platforms such as the Raspberry Pi. The POWER_RESET_GPIO module has been tested on a Raspberry Pi 3B+. --- pkgs/os-specific/linux/kernel/common-config.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 4cfc548f952d..7e47a07f9604 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -122,6 +122,10 @@ let # Default SATA link power management to "medium with device initiated PM" # for some extra power savings. SATA_MOBILE_LPM_POLICY = whenAtLeast "5.18" (freeform "3"); + + # GPIO power management + POWER_RESET_GPIO = option yes; + POWER_RESET_GPIO_RESTART = option yes; } // optionalAttrs (stdenv.hostPlatform.isx86) { INTEL_IDLE = yes; INTEL_RAPL = whenAtLeast "5.3" module; From 6163c182cfe1baf3c223ea4f29db8df116796aae Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Mon, 1 Apr 2024 12:21:33 +0200 Subject: [PATCH 67/99] github-desktop: add missing phase hooks --- .../version-management/github-desktop/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/applications/version-management/github-desktop/default.nix b/pkgs/applications/version-management/github-desktop/default.nix index d5c46cf29e48..3df312d5a94f 100644 --- a/pkgs/applications/version-management/github-desktop/default.nix +++ b/pkgs/applications/version-management/github-desktop/default.nix @@ -52,16 +52,20 @@ stdenv.mkDerivation (finalAttrs: { ]; unpackPhase = '' + runHook preUnpack mkdir -p $TMP/${finalAttrs.pname} $out/{opt,bin} cp $src $TMP/${finalAttrs.pname}.deb ar vx ${finalAttrs.pname}.deb tar --no-overwrite-dir -xvf data.tar.xz -C $TMP/${finalAttrs.pname}/ + runHook postUnpack ''; installPhase = '' + runHook preInstall cp -R $TMP/${finalAttrs.pname}/usr/share $out/ cp -R $TMP/${finalAttrs.pname}/usr/lib/${finalAttrs.pname}/* $out/opt/ ln -sf $out/opt/${finalAttrs.pname} $out/bin/${finalAttrs.pname} + runHook postInstall ''; preFixup = '' From afaaa840c1d13e1ee1713b70a052bd68eef0b711 Mon Sep 17 00:00:00 2001 From: Casey Link Date: Mon, 25 Mar 2024 15:26:51 +0100 Subject: [PATCH 68/99] davis: init at 4.4.1 Release: https://github.com/tchapi/davis/releases/tag/v4.4.1 --- pkgs/by-name/da/davis/composer.lock | 10650 +++++++++++++++++++++++ pkgs/by-name/da/davis/davis-data.patch | 78 + pkgs/by-name/da/davis/package.nix | 41 + 3 files changed, 10769 insertions(+) create mode 100644 pkgs/by-name/da/davis/composer.lock create mode 100644 pkgs/by-name/da/davis/davis-data.patch create mode 100644 pkgs/by-name/da/davis/package.nix diff --git a/pkgs/by-name/da/davis/composer.lock b/pkgs/by-name/da/davis/composer.lock new file mode 100644 index 000000000000..5c22400eaa78 --- /dev/null +++ b/pkgs/by-name/da/davis/composer.lock @@ -0,0 +1,10650 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "fe947178f95cbf35f405635a30949954", + "packages": [ + { + "name": "dantsu/php-image-editor", + "version": "1.4.5", + "source": { + "type": "git", + "url": "https://github.com/DantSu/php-image-editor.git", + "reference": "59a3e922000767051d380a2c530c61344f1e79ec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/DantSu/php-image-editor/zipball/59a3e922000767051d380a2c530c61344f1e79ec", + "reference": "59a3e922000767051d380a2c530c61344f1e79ec", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "php": ">=7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "DantSu\\PHPImageEditor\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Franck ALARY", + "homepage": "https://github.com/DantSu", + "role": "Developer" + } + ], + "description": "PHP library to easily edit image with GD extension.", + "homepage": "https://github.com/DantSu/php-image-editor", + "keywords": [ + "GD2", + "edit", + "edition", + "editor", + "image", + "photo", + "php", + "picture" + ], + "support": { + "issues": "https://github.com/DantSu/php-image-editor/issues", + "source": "https://github.com/DantSu/php-image-editor/tree/1.4.5" + }, + "funding": [ + { + "url": "https://github.com/DantSu", + "type": "github" + } + ], + "time": "2023-08-23T07:36:11+00:00" + }, + { + "name": "dantsu/php-osm-static-api", + "version": "0.5.0", + "source": { + "type": "git", + "url": "https://github.com/DantSu/php-osm-static-api.git", + "reference": "54a8b914736fb861348c1daa5325012ea9fd2273" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/DantSu/php-osm-static-api/zipball/54a8b914736fb861348c1daa5325012ea9fd2273", + "reference": "54a8b914736fb861348c1daa5325012ea9fd2273", + "shasum": "" + }, + "require": { + "dantsu/php-image-editor": "^1.3", + "php": ">=7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "DantSu\\OpenStreetMapStaticAPI\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Franck ALARY", + "homepage": "https://github.com/DantSu", + "role": "Developer" + } + ], + "description": "PHP library to easily get static image from OpenStreetMap (OSM), add markers and draw lines.", + "homepage": "https://github.com/DantSu/php-osm-static-api", + "keywords": [ + "OpenStreetMap", + "api", + "image", + "map", + "maps", + "osm", + "php", + "static" + ], + "support": { + "issues": "https://github.com/DantSu/php-osm-static-api/issues", + "source": "https://github.com/DantSu/php-osm-static-api/tree/0.5.0" + }, + "funding": [ + { + "url": "https://github.com/DantSu", + "type": "github" + } + ], + "time": "2022-11-09T10:22:07+00:00" + }, + { + "name": "doctrine/annotations", + "version": "1.14.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af", + "reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1 || ^2", + "ext-tokenizer": "*", + "php": "^7.1 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" + }, + "require-dev": { + "doctrine/cache": "^1.11 || ^2.0", + "doctrine/coding-standard": "^9 || ^10", + "phpstan/phpstan": "~1.4.10 || ^1.8.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "symfony/cache": "^4.4 || ^5.4 || ^6", + "vimeo/psalm": "^4.10" + }, + "suggest": { + "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/1.14.3" + }, + "time": "2023-02-01T09:20:38+00:00" + }, + { + "name": "doctrine/cache", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "1ca8f21980e770095a31456042471a57bc4c68fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb", + "reference": "1ca8f21980e770095a31456042471a57bc4c68fb", + "shasum": "" + }, + "require": { + "php": "~7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psr/cache": "^1.0 || ^2.0 || ^3.0", + "symfony/cache": "^4.4 || ^5.4 || ^6", + "symfony/var-exporter": "^4.4 || ^5.4 || ^6" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", + "homepage": "https://www.doctrine-project.org/projects/cache.html", + "keywords": [ + "abstraction", + "apcu", + "cache", + "caching", + "couchdb", + "memcached", + "php", + "redis", + "xcache" + ], + "support": { + "issues": "https://github.com/doctrine/cache/issues", + "source": "https://github.com/doctrine/cache/tree/2.2.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", + "type": "tidelift" + } + ], + "time": "2022-05-20T20:07:39+00:00" + }, + { + "name": "doctrine/collections", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/2b44dd4cbca8b5744327de78bafef5945c7e7b5e", + "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^0.5.3 || ^1", + "php": "^7.1.3 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9.0 || ^10.0", + "phpstan/phpstan": "^1.4.8", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.1.5", + "vimeo/psalm": "^4.22" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", + "homepage": "https://www.doctrine-project.org/projects/collections.html", + "keywords": [ + "array", + "collections", + "iterators", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/collections/issues", + "source": "https://github.com/doctrine/collections/tree/1.8.0" + }, + "time": "2022-09-01T20:12:10+00:00" + }, + { + "name": "doctrine/common", + "version": "3.4.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "8b5e5650391f851ed58910b3e3d48a71062eeced" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/8b5e5650391f851ed58910b3e3d48a71062eeced", + "reference": "8b5e5650391f851ed58910b3e3d48a71062eeced", + "shasum": "" + }, + "require": { + "doctrine/persistence": "^2.0 || ^3.0", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9.0 || ^10.0", + "doctrine/collections": "^1", + "phpstan/phpstan": "^1.4.1", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5.20 || ^8.5 || ^9.0", + "squizlabs/php_codesniffer": "^3.0", + "symfony/phpunit-bridge": "^6.1", + "vimeo/psalm": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection support, proxies and much more.", + "homepage": "https://www.doctrine-project.org/projects/common.html", + "keywords": [ + "common", + "doctrine", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/common/issues", + "source": "https://github.com/doctrine/common/tree/3.4.3" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcommon", + "type": "tidelift" + } + ], + "time": "2022-10-09T11:47:59+00:00" + }, + { + "name": "doctrine/dbal", + "version": "3.7.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "5b7bd66c9ff58c04c5474ab85edce442f8081cb2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/5b7bd66c9ff58c04c5474ab85edce442f8081cb2", + "reference": "5b7bd66c9ff58c04c5474ab85edce442f8081cb2", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2", + "doctrine/cache": "^1.11|^2.0", + "doctrine/deprecations": "^0.5.3|^1", + "doctrine/event-manager": "^1|^2", + "php": "^7.4 || ^8.0", + "psr/cache": "^1|^2|^3", + "psr/log": "^1|^2|^3" + }, + "require-dev": { + "doctrine/coding-standard": "12.0.0", + "fig/log-test": "^1", + "jetbrains/phpstorm-stubs": "2023.1", + "phpstan/phpstan": "1.10.35", + "phpstan/phpstan-strict-rules": "^1.5", + "phpunit/phpunit": "9.6.13", + "psalm/plugin-phpunit": "0.18.4", + "slevomat/coding-standard": "8.13.1", + "squizlabs/php_codesniffer": "3.7.2", + "symfony/cache": "^5.4|^6.0", + "symfony/console": "^4.4|^5.4|^6.0", + "vimeo/psalm": "4.30.0" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" + ], + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\DBAL\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", + "keywords": [ + "abstraction", + "database", + "db2", + "dbal", + "mariadb", + "mssql", + "mysql", + "oci8", + "oracle", + "pdo", + "pgsql", + "postgresql", + "queryobject", + "sasql", + "sql", + "sqlite", + "sqlserver", + "sqlsrv" + ], + "support": { + "issues": "https://github.com/doctrine/dbal/issues", + "source": "https://github.com/doctrine/dbal/tree/3.7.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", + "type": "tidelift" + } + ], + "time": "2023-10-06T05:06:20+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "phpstan/phpstan": "1.4.10 || 1.10.15", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "0.18.4", + "psr/log": "^1 || ^2 || ^3", + "vimeo/psalm": "4.30.0 || 5.12.0" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.2" + }, + "time": "2023-09-27T20:04:15+00:00" + }, + { + "name": "doctrine/doctrine-bundle", + "version": "2.11.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineBundle.git", + "reference": "ca64ca70247d7b1b56a57c3b147b77253eaea2f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/ca64ca70247d7b1b56a57c3b147b77253eaea2f5", + "reference": "ca64ca70247d7b1b56a57c3b147b77253eaea2f5", + "shasum": "" + }, + "require": { + "doctrine/cache": "^1.11 || ^2.0", + "doctrine/dbal": "^3.7.0 || ^4.0", + "doctrine/persistence": "^2.2 || ^3", + "doctrine/sql-formatter": "^1.0.1", + "php": "^7.4 || ^8.0", + "symfony/cache": "^5.4 || ^6.0 || ^7.0", + "symfony/config": "^5.4 || ^6.0 || ^7.0", + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", + "symfony/deprecation-contracts": "^2.1 || ^3", + "symfony/doctrine-bridge": "^5.4.19 || ^6.0.7 || ^7.0", + "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1.1 || ^2.0 || ^3" + }, + "conflict": { + "doctrine/annotations": ">=3.0", + "doctrine/orm": "<2.14 || >=4.0", + "twig/twig": "<1.34 || >=2.0 <2.4" + }, + "require-dev": { + "doctrine/annotations": "^1 || ^2", + "doctrine/coding-standard": "^12", + "doctrine/deprecations": "^1.0", + "doctrine/orm": "^2.14 || ^3.0", + "friendsofphp/proxy-manager-lts": "^1.0", + "phpunit/phpunit": "^9.5.26 || ^10.0", + "psalm/plugin-phpunit": "^0.18.4", + "psalm/plugin-symfony": "^4", + "psr/log": "^1.1.4 || ^2.0 || ^3.0", + "symfony/phpunit-bridge": "^6.1 || ^7.0", + "symfony/property-info": "^5.4 || ^6.0 || ^7.0", + "symfony/proxy-manager-bridge": "^5.4 || ^6.0 || ^7.0", + "symfony/security-bundle": "^5.4 || ^6.0 || ^7.0", + "symfony/string": "^5.4 || ^6.0 || ^7.0", + "symfony/twig-bridge": "^5.4 || ^6.0 || ^7.0", + "symfony/validator": "^5.4 || ^6.0 || ^7.0", + "symfony/var-exporter": "^5.4 || ^6.2 || ^7.0", + "symfony/web-profiler-bundle": "^5.4 || ^6.0 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0", + "twig/twig": "^1.34 || ^2.12 || ^3.0", + "vimeo/psalm": "^4.30" + }, + "suggest": { + "doctrine/orm": "The Doctrine ORM integration is optional in the bundle.", + "ext-pdo": "*", + "symfony/web-profiler-bundle": "To use the data collector." + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Doctrine\\Bundle\\DoctrineBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + }, + { + "name": "Doctrine Project", + "homepage": "https://www.doctrine-project.org/" + } + ], + "description": "Symfony DoctrineBundle", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "orm", + "persistence" + ], + "support": { + "issues": "https://github.com/doctrine/DoctrineBundle/issues", + "source": "https://github.com/doctrine/DoctrineBundle/tree/2.11.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdoctrine-bundle", + "type": "tidelift" + } + ], + "time": "2023-11-12T18:59:02+00:00" + }, + { + "name": "doctrine/doctrine-migrations-bundle", + "version": "3.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineMigrationsBundle.git", + "reference": "1dd42906a5fb9c5960723e2ebb45c68006493835" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineMigrationsBundle/zipball/1dd42906a5fb9c5960723e2ebb45c68006493835", + "reference": "1dd42906a5fb9c5960723e2ebb45c68006493835", + "shasum": "" + }, + "require": { + "doctrine/doctrine-bundle": "^2.4", + "doctrine/migrations": "^3.2", + "php": "^7.2|^8.0", + "symfony/deprecation-contracts": "^2.1 || ^3", + "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0" + }, + "require-dev": { + "doctrine/coding-standard": "^12", + "doctrine/orm": "^2.6 || ^3", + "doctrine/persistence": "^2.0 || ^3 ", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-deprecation-rules": "^1", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.1", + "phpstan/phpstan-symfony": "^1.3", + "phpunit/phpunit": "^8.5|^9.5", + "psalm/plugin-phpunit": "^0.18.4", + "psalm/plugin-symfony": "^3 || ^5", + "symfony/phpunit-bridge": "^6.3 || ^7", + "symfony/var-exporter": "^5.4 || ^6 || ^7", + "vimeo/psalm": "^4.30 || ^5.15" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Doctrine\\Bundle\\MigrationsBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Doctrine Project", + "homepage": "https://www.doctrine-project.org" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DoctrineMigrationsBundle", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "dbal", + "migrations", + "schema" + ], + "support": { + "issues": "https://github.com/doctrine/DoctrineMigrationsBundle/issues", + "source": "https://github.com/doctrine/DoctrineMigrationsBundle/tree/3.3.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdoctrine-migrations-bundle", + "type": "tidelift" + } + ], + "time": "2023-11-13T19:44:41+00:00" + }, + { + "name": "doctrine/event-manager", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520", + "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^0.5.3 || ^1", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": "<2.9" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^10", + "phpstan/phpstan": "~1.4.10 || ^1.8.8", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.24" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "keywords": [ + "event", + "event dispatcher", + "event manager", + "event system", + "events" + ], + "support": { + "issues": "https://github.com/doctrine/event-manager/issues", + "source": "https://github.com/doctrine/event-manager/tree/1.2.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", + "type": "tidelift" + } + ], + "time": "2022-10-12T20:51:15+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.8", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff", + "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^11.0", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "vimeo/psalm": "^4.25 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.8" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2023-06-16T13:40:37+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.16 || ^1", + "phpstan/phpstan": "^1.4", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.30 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.5.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2022-12-30T00:15:36+00:00" + }, + { + "name": "doctrine/lexer", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", + "reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.0", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9 || ^10", + "phpstan/phpstan": "^1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^4.11 || ^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/2.1.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2022-12-14T08:49:07+00:00" + }, + { + "name": "doctrine/migrations", + "version": "3.5.5", + "source": { + "type": "git", + "url": "https://github.com/doctrine/migrations.git", + "reference": "4b1e2b6ba71d21d0c5be22ed03b6fc954d20b204" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/4b1e2b6ba71d21d0c5be22ed03b6fc954d20b204", + "reference": "4b1e2b6ba71d21d0c5be22ed03b6fc954d20b204", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2", + "doctrine/dbal": "^3.5.1", + "doctrine/deprecations": "^0.5.3 || ^1", + "doctrine/event-manager": "^1.2 || ^2.0", + "friendsofphp/proxy-manager-lts": "^1.0", + "php": "^7.4 || ^8.0", + "psr/log": "^1.1.3 || ^2 || ^3", + "symfony/console": "^4.4.16 || ^5.4 || ^6.0", + "symfony/stopwatch": "^4.4 || ^5.4 || ^6.0" + }, + "conflict": { + "doctrine/orm": "<2.12" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "doctrine/orm": "^2.13", + "doctrine/persistence": "^2 || ^3", + "doctrine/sql-formatter": "^1.0", + "ext-pdo_sqlite": "*", + "phpstan/phpstan": "^1.5", + "phpstan/phpstan-deprecation-rules": "^1", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.1", + "phpstan/phpstan-symfony": "^1.1", + "phpunit/phpunit": "^9.5", + "symfony/cache": "^4.4 || ^5.4 || ^6.0", + "symfony/process": "^4.4 || ^5.4 || ^6.0", + "symfony/yaml": "^4.4 || ^5.4 || ^6.0" + }, + "suggest": { + "doctrine/sql-formatter": "Allows to generate formatted SQL with the diff command.", + "symfony/yaml": "Allows the use of yaml for migration configuration files." + }, + "bin": [ + "bin/doctrine-migrations" + ], + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Migrations\\": "lib/Doctrine/Migrations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Michael Simonson", + "email": "contact@mikesimonson.com" + } + ], + "description": "PHP Doctrine Migrations project offer additional functionality on top of the database abstraction layer (DBAL) for versioning your database schema and easily deploying changes to it. It is a very easy to use and a powerful tool.", + "homepage": "https://www.doctrine-project.org/projects/migrations.html", + "keywords": [ + "database", + "dbal", + "migrations" + ], + "support": { + "issues": "https://github.com/doctrine/migrations/issues", + "source": "https://github.com/doctrine/migrations/tree/3.5.5" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fmigrations", + "type": "tidelift" + } + ], + "time": "2023-01-18T12:44:30+00:00" + }, + { + "name": "doctrine/orm", + "version": "2.16.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/orm.git", + "reference": "17500f56eaa930f5cd14d765bc2cd851c7d37cc0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/orm/zipball/17500f56eaa930f5cd14d765bc2cd851c7d37cc0", + "reference": "17500f56eaa930f5cd14d765bc2cd851c7d37cc0", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2", + "doctrine/cache": "^1.12.1 || ^2.1.1", + "doctrine/collections": "^1.5 || ^2.1", + "doctrine/common": "^3.0.3", + "doctrine/dbal": "^2.13.1 || ^3.2", + "doctrine/deprecations": "^0.5.3 || ^1", + "doctrine/event-manager": "^1.2 || ^2", + "doctrine/inflector": "^1.4 || ^2.0", + "doctrine/instantiator": "^1.3 || ^2", + "doctrine/lexer": "^2", + "doctrine/persistence": "^2.4 || ^3", + "ext-ctype": "*", + "php": "^7.1 || ^8.0", + "psr/cache": "^1 || ^2 || ^3", + "symfony/console": "^4.2 || ^5.0 || ^6.0", + "symfony/polyfill-php72": "^1.23", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "doctrine/annotations": "<1.13 || >= 3.0" + }, + "require-dev": { + "doctrine/annotations": "^1.13 || ^2", + "doctrine/coding-standard": "^9.0.2 || ^12.0", + "phpbench/phpbench": "^0.16.10 || ^1.0", + "phpstan/phpstan": "~1.4.10 || 1.10.28", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6", + "psr/log": "^1 || ^2 || ^3", + "squizlabs/php_codesniffer": "3.7.2", + "symfony/cache": "^4.4 || ^5.4 || ^6.0", + "symfony/var-exporter": "^4.4 || ^5.4 || ^6.2", + "symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0", + "vimeo/psalm": "4.30.0 || 5.14.1" + }, + "suggest": { + "ext-dom": "Provides support for XSD validation for XML mapping files", + "symfony/cache": "Provides cache support for Setup Tool with doctrine/cache 2.0", + "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" + }, + "bin": [ + "bin/doctrine" + ], + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\ORM\\": "lib/Doctrine/ORM" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "Object-Relational-Mapper for PHP", + "homepage": "https://www.doctrine-project.org/projects/orm.html", + "keywords": [ + "database", + "orm" + ], + "support": { + "issues": "https://github.com/doctrine/orm/issues", + "source": "https://github.com/doctrine/orm/tree/2.16.2" + }, + "time": "2023-08-27T18:21:56+00:00" + }, + { + "name": "doctrine/persistence", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/persistence.git", + "reference": "63fee8c33bef740db6730eb2a750cd3da6495603" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/63fee8c33bef740db6730eb2a750cd3da6495603", + "reference": "63fee8c33bef740db6730eb2a750cd3da6495603", + "shasum": "" + }, + "require": { + "doctrine/event-manager": "^1 || ^2", + "php": "^7.2 || ^8.0", + "psr/cache": "^1.0 || ^2.0 || ^3.0" + }, + "conflict": { + "doctrine/common": "<2.10" + }, + "require-dev": { + "composer/package-versions-deprecated": "^1.11", + "doctrine/coding-standard": "^11", + "doctrine/common": "^3.0", + "phpstan/phpstan": "1.9.4", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.5", + "symfony/cache": "^4.4 || ^5.4 || ^6.0", + "vimeo/psalm": "4.30.0 || 5.3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Persistence\\": "src/Persistence" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", + "homepage": "https://www.doctrine-project.org/projects/persistence.html", + "keywords": [ + "mapper", + "object", + "odm", + "orm", + "persistence" + ], + "support": { + "issues": "https://github.com/doctrine/persistence/issues", + "source": "https://github.com/doctrine/persistence/tree/3.2.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fpersistence", + "type": "tidelift" + } + ], + "time": "2023-05-17T18:32:04+00:00" + }, + { + "name": "doctrine/sql-formatter", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/sql-formatter.git", + "reference": "25a06c7bf4c6b8218f47928654252863ffc890a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/25a06c7bf4c6b8218f47928654252863ffc890a5", + "reference": "25a06c7bf4c6b8218f47928654252863ffc890a5", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4" + }, + "bin": [ + "bin/sql-formatter" + ], + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\SqlFormatter\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeremy Dorn", + "email": "jeremy@jeremydorn.com", + "homepage": "https://jeremydorn.com/" + } + ], + "description": "a PHP SQL highlighting library", + "homepage": "https://github.com/doctrine/sql-formatter/", + "keywords": [ + "highlight", + "sql" + ], + "support": { + "issues": "https://github.com/doctrine/sql-formatter/issues", + "source": "https://github.com/doctrine/sql-formatter/tree/1.1.3" + }, + "time": "2022-05-23T21:33:49+00:00" + }, + { + "name": "egulias/email-validator", + "version": "3.2.6", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7", + "reference": "e5997fa97e8790cdae03a9cbd5e78e45e3c7bda7", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1.2|^2", + "php": ">=7.2", + "symfony/polyfill-intl-idn": "^1.15" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.8|^9.3.3", + "vimeo/psalm": "^4" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/3.2.6" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2023-06-01T07:04:22+00:00" + }, + { + "name": "friendsofphp/proxy-manager-lts", + "version": "v1.0.16", + "source": { + "type": "git", + "url": "https://github.com/FriendsOfPHP/proxy-manager-lts.git", + "reference": "ecadbdc9052e4ad08c60c8a02268712e50427f7c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/ecadbdc9052e4ad08c60c8a02268712e50427f7c", + "reference": "ecadbdc9052e4ad08c60c8a02268712e50427f7c", + "shasum": "" + }, + "require": { + "laminas/laminas-code": "~3.4.1|^4.0", + "php": ">=7.1", + "symfony/filesystem": "^4.4.17|^5.0|^6.0|^7.0" + }, + "conflict": { + "laminas/laminas-stdlib": "<3.2.1", + "zendframework/zend-stdlib": "<3.2.1" + }, + "replace": { + "ocramius/proxy-manager": "^2.1" + }, + "require-dev": { + "ext-phar": "*", + "symfony/phpunit-bridge": "^5.4|^6.0|^7.0" + }, + "type": "library", + "extra": { + "thanks": { + "name": "ocramius/proxy-manager", + "url": "https://github.com/Ocramius/ProxyManager" + } + }, + "autoload": { + "psr-4": { + "ProxyManager\\": "src/ProxyManager" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + } + ], + "description": "Adding support for a wider range of PHP versions to ocramius/proxy-manager", + "homepage": "https://github.com/FriendsOfPHP/proxy-manager-lts", + "keywords": [ + "aop", + "lazy loading", + "proxy", + "proxy pattern", + "service proxies" + ], + "support": { + "issues": "https://github.com/FriendsOfPHP/proxy-manager-lts/issues", + "source": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.16" + }, + "funding": [ + { + "url": "https://github.com/Ocramius", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ocramius/proxy-manager", + "type": "tidelift" + } + ], + "time": "2023-05-24T07:17:17+00:00" + }, + { + "name": "laminas/laminas-code", + "version": "4.7.1", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-code.git", + "reference": "91aabc066d5620428120800c0eafc0411e441a62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-code/zipball/91aabc066d5620428120800c0eafc0411e441a62", + "reference": "91aabc066d5620428120800c0eafc0411e441a62", + "shasum": "" + }, + "require": { + "php": ">=7.4, <8.2" + }, + "require-dev": { + "doctrine/annotations": "^1.13.2", + "ext-phar": "*", + "laminas/laminas-coding-standard": "^2.3.0", + "laminas/laminas-stdlib": "^3.6.1", + "phpunit/phpunit": "^9.5.10", + "psalm/plugin-phpunit": "^0.17.0", + "vimeo/psalm": "^4.13.1" + }, + "suggest": { + "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", + "laminas/laminas-stdlib": "Laminas\\Stdlib component" + }, + "type": "library", + "autoload": { + "files": [ + "polyfill/ReflectionEnumPolyfill.php" + ], + "psr-4": { + "Laminas\\Code\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", + "homepage": "https://laminas.dev", + "keywords": [ + "code", + "laminas", + "laminasframework" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-code/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-code/issues", + "rss": "https://github.com/laminas/laminas-code/releases.atom", + "source": "https://github.com/laminas/laminas-code" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2022-11-21T01:32:31+00:00" + }, + { + "name": "monolog/monolog", + "version": "2.9.2", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", + "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2@dev", + "guzzlehttp/guzzle": "^7.4", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "phpspec/prophecy": "^1.15", + "phpstan/phpstan": "^0.12.91", + "phpunit/phpunit": "^8.5.14", + "predis/predis": "^1.1 || ^2.0", + "rollbar/rollbar": "^1.3 || ^2 || ^3", + "ruflin/elastica": "^7", + "swiftmailer/swiftmailer": "^5.3|^6.0", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.9.2" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2023-10-27T15:25:26+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.3.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" + }, + "require-dev": { + "mockery/mockery": "~1.3.2", + "psalm/phar": "^4.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" + }, + "time": "2021-10-19T17:43:47+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.7.3", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", + "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", + "shasum": "" + }, + "require": { + "doctrine/deprecations": "^1.0", + "php": "^7.4 || ^8.0", + "phpdocumentor/reflection-common": "^2.0", + "phpstan/phpdoc-parser": "^1.13" + }, + "require-dev": { + "ext-tokenizer": "*", + "phpbench/phpbench": "^1.2", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^9.5", + "rector/rector": "^0.13.9", + "vimeo/psalm": "^4.25" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3" + }, + "time": "2023-08-12T11:01:26+00:00" + }, + { + "name": "phpstan/phpdoc-parser", + "version": "1.24.2", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "bcad8d995980440892759db0c32acae7c8e79442" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bcad8d995980440892759db0c32acae7c8e79442", + "reference": "bcad8d995980440892759db0c32acae7c8e79442", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^4.15", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.5", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^9.5", + "symfony/process": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.2" + }, + "time": "2023-09-26T12:28:12+00:00" + }, + { + "name": "psr/cache", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/213f9dbc5b9bfbc4f8db86d2838dc968752ce13b", + "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/2.0.0" + }, + "time": "2021-02-03T23:23:37+00:00" + }, + { + "name": "psr/container", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.2" + }, + "time": "2021-11-05T16:50:12+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/link", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/link.git", + "reference": "846c25f58a1f02b93a00f2404e3626b6bf9b7807" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/link/zipball/846c25f58a1f02b93a00f2404e3626b6bf9b7807", + "reference": "846c25f58a1f02b93a00f2404e3626b6bf9b7807", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Link\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for HTTP links", + "homepage": "https://github.com/php-fig/link", + "keywords": [ + "http", + "http-link", + "link", + "psr", + "psr-13", + "rest" + ], + "support": { + "source": "https://github.com/php-fig/link/tree/1.1.1" + }, + "time": "2021-03-11T22:59:13+00:00" + }, + { + "name": "psr/log", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/2.0.0" + }, + "time": "2021-07-14T16:41:46+00:00" + }, + { + "name": "sabre/dav", + "version": "4.5.0", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/dav.git", + "reference": "7e40343e473f17eab3d1d6ca4ae3e1cdfc6e0fd8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/dav/zipball/7e40343e473f17eab3d1d6ca4ae3e1cdfc6e0fd8", + "reference": "7e40343e473f17eab3d1d6ca4ae3e1cdfc6e0fd8", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-date": "*", + "ext-dom": "*", + "ext-iconv": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-pcre": "*", + "ext-simplexml": "*", + "ext-spl": "*", + "lib-libxml": ">=2.7.0", + "php": "^7.1.0 || ^8.0", + "psr/log": "^1.0 || ^2.0 || ^3.0", + "sabre/event": "^5.0", + "sabre/http": "^5.0.5", + "sabre/uri": "^2.0", + "sabre/vobject": "^4.2.1", + "sabre/xml": "^2.0.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.19", + "monolog/monolog": "^1.27", + "phpstan/phpstan": "^0.12 || ^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6" + }, + "suggest": { + "ext-curl": "*", + "ext-imap": "*", + "ext-pdo": "*" + }, + "bin": [ + "bin/sabredav", + "bin/naturalselection" + ], + "type": "library", + "autoload": { + "psr-4": { + "Sabre\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + } + ], + "description": "WebDAV Framework for PHP", + "homepage": "http://sabre.io/", + "keywords": [ + "CalDAV", + "CardDAV", + "WebDAV", + "framework", + "iCalendar" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/dav/issues", + "source": "https://github.com/fruux/sabre-dav" + }, + "time": "2023-11-14T10:48:05+00:00" + }, + { + "name": "sabre/event", + "version": "5.1.4", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/event.git", + "reference": "d7da22897125d34d7eddf7977758191c06a74497" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/event/zipball/d7da22897125d34d7eddf7977758191c06a74497", + "reference": "d7da22897125d34d7eddf7977758191c06a74497", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.17.1", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0" + }, + "type": "library", + "autoload": { + "files": [ + "lib/coroutine.php", + "lib/Loop/functions.php", + "lib/Promise/functions.php" + ], + "psr-4": { + "Sabre\\Event\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + } + ], + "description": "sabre/event is a library for lightweight event-based programming", + "homepage": "http://sabre.io/event/", + "keywords": [ + "EventEmitter", + "async", + "coroutine", + "eventloop", + "events", + "hooks", + "plugin", + "promise", + "reactor", + "signal" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/event/issues", + "source": "https://github.com/fruux/sabre-event" + }, + "time": "2021-11-04T06:51:17+00:00" + }, + { + "name": "sabre/http", + "version": "5.1.10", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/http.git", + "reference": "f9f3d1fba8916fa2f4ec25636c4fedc26cb94e02" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/http/zipball/f9f3d1fba8916fa2f4ec25636c4fedc26cb94e02", + "reference": "f9f3d1fba8916fa2f4ec25636c4fedc26cb94e02", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-curl": "*", + "ext-mbstring": "*", + "php": "^7.1 || ^8.0", + "sabre/event": ">=4.0 <6.0", + "sabre/uri": "^2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.17.1", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0" + }, + "suggest": { + "ext-curl": " to make http requests with the Client class" + }, + "type": "library", + "autoload": { + "files": [ + "lib/functions.php" + ], + "psr-4": { + "Sabre\\HTTP\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + } + ], + "description": "The sabre/http library provides utilities for dealing with http requests and responses. ", + "homepage": "https://github.com/fruux/sabre-http", + "keywords": [ + "http" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/http/issues", + "source": "https://github.com/fruux/sabre-http" + }, + "time": "2023-08-18T01:55:28+00:00" + }, + { + "name": "sabre/uri", + "version": "2.3.3", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/uri.git", + "reference": "7e0e7dfd0b7e14346a27eabd66e843a6e7f1812b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/uri/zipball/7e0e7dfd0b7e14346a27eabd66e843a6e7f1812b", + "reference": "7e0e7dfd0b7e14346a27eabd66e843a6e7f1812b", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.17", + "phpstan/extension-installer": "^1.3", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-phpunit": "^1.3", + "phpstan/phpstan-strict-rules": "^1.5", + "phpunit/phpunit": "^9.6" + }, + "type": "library", + "autoload": { + "files": [ + "lib/functions.php" + ], + "psr-4": { + "Sabre\\Uri\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + } + ], + "description": "Functions for making sense out of URIs.", + "homepage": "http://sabre.io/uri/", + "keywords": [ + "rfc3986", + "uri", + "url" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/uri/issues", + "source": "https://github.com/fruux/sabre-uri" + }, + "time": "2023-06-09T06:54:04+00:00" + }, + { + "name": "sabre/vobject", + "version": "4.5.4", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/vobject.git", + "reference": "a6d53a3e5bec85ed3dd78868b7de0f5b4e12f772" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/vobject/zipball/a6d53a3e5bec85ed3dd78868b7de0f5b4e12f772", + "reference": "a6d53a3e5bec85ed3dd78868b7de0f5b4e12f772", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^7.1 || ^8.0", + "sabre/xml": "^2.1 || ^3.0 || ^4.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.17.1", + "phpstan/phpstan": "^0.12", + "phpunit/php-invoker": "^2.0 || ^3.1", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0" + }, + "suggest": { + "hoa/bench": "If you would like to run the benchmark scripts" + }, + "bin": [ + "bin/vobject", + "bin/generate_vcards" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Sabre\\VObject\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + }, + { + "name": "Dominik Tobschall", + "email": "dominik@fruux.com", + "homepage": "http://tobschall.de/", + "role": "Developer" + }, + { + "name": "Ivan Enderlin", + "email": "ivan.enderlin@hoa-project.net", + "homepage": "http://mnt.io/", + "role": "Developer" + } + ], + "description": "The VObject library for PHP allows you to easily parse and manipulate iCalendar and vCard objects", + "homepage": "http://sabre.io/vobject/", + "keywords": [ + "availability", + "freebusy", + "iCalendar", + "ical", + "ics", + "jCal", + "jCard", + "recurrence", + "rfc2425", + "rfc2426", + "rfc2739", + "rfc4770", + "rfc5545", + "rfc5546", + "rfc6321", + "rfc6350", + "rfc6351", + "rfc6474", + "rfc6638", + "rfc6715", + "rfc6868", + "vCalendar", + "vCard", + "vcf", + "xCal", + "xCard" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/vobject/issues", + "source": "https://github.com/fruux/sabre-vobject" + }, + "time": "2023-11-09T12:54:37+00:00" + }, + { + "name": "sabre/xml", + "version": "2.2.6", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/xml.git", + "reference": "9cde7cdab1e50893cc83b037b40cd47bfde42a2b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/xml/zipball/9cde7cdab1e50893cc83b037b40cd47bfde42a2b", + "reference": "9cde7cdab1e50893cc83b037b40cd47bfde42a2b", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlreader": "*", + "ext-xmlwriter": "*", + "lib-libxml": ">=2.6.20", + "php": "^7.1 || ^8.0", + "sabre/uri": ">=1.0,<3.0.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.17.1", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0" + }, + "type": "library", + "autoload": { + "files": [ + "lib/Deserializer/functions.php", + "lib/Serializer/functions.php" + ], + "psr-4": { + "Sabre\\Xml\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Evert Pot", + "email": "me@evertpot.com", + "homepage": "http://evertpot.com/", + "role": "Developer" + }, + { + "name": "Markus Staab", + "email": "markus.staab@redaxo.de", + "role": "Developer" + } + ], + "description": "sabre/xml is an XML library that you may not hate.", + "homepage": "https://sabre.io/xml/", + "keywords": [ + "XMLReader", + "XMLWriter", + "dom", + "xml" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/xml/issues", + "source": "https://github.com/fruux/sabre-xml" + }, + "time": "2023-06-28T12:56:05+00:00" + }, + { + "name": "symfony/apache-pack", + "version": "v1.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/apache-pack.git", + "reference": "3aa5818d73ad2551281fc58a75afd9ca82622e6c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/apache-pack/zipball/3aa5818d73ad2551281fc58a75afd9ca82622e6c", + "reference": "3aa5818d73ad2551281fc58a75afd9ca82622e6c", + "shasum": "" + }, + "type": "symfony-pack", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A pack for Apache support in Symfony", + "support": { + "issues": "https://github.com/symfony/apache-pack/issues", + "source": "https://github.com/symfony/apache-pack/tree/master" + }, + "time": "2017-12-12T01:46:35+00:00" + }, + { + "name": "symfony/asset", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/asset.git", + "reference": "edb2457a0ef615d420d2319851f679a4cc3b3635" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/asset/zipball/edb2457a0ef615d420d2319851f679a4cc3b3635", + "reference": "edb2457a0ef615d420d2319851f679a4cc3b3635", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/http-foundation": "<5.3" + }, + "require-dev": { + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^5.3|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/http-foundation": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Asset\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/asset/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T07:58:33+00:00" + }, + { + "name": "symfony/cache", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "9c0a3a5d0718e51ff81e0605be38fe1acbee9eeb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/9c0a3a5d0718e51ff81e0605be38fe1acbee9eeb", + "reference": "9c0a3a5d0718e51ff81e0605be38fe1acbee9eeb", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/cache": "^1.0|^2.0", + "psr/log": "^1.1|^2|^3", + "symfony/cache-contracts": "^1.1.7|^2", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/var-exporter": "^4.4|^5.0|^6.0" + }, + "conflict": { + "doctrine/dbal": "<2.13.1", + "symfony/dependency-injection": "<4.4", + "symfony/http-kernel": "<4.4", + "symfony/var-dumper": "<4.4" + }, + "provide": { + "psr/cache-implementation": "1.0|2.0", + "psr/simple-cache-implementation": "1.0|2.0", + "symfony/cache-implementation": "1.0|2.0" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/cache": "^1.6|^2.0", + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1", + "psr/simple-cache": "^1.0|^2.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/filesystem": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/messenger": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Cache\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", + "homepage": "https://symfony.com", + "keywords": [ + "caching", + "psr6" + ], + "support": { + "source": "https://github.com/symfony/cache/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-06T17:37:55+00:00" + }, + { + "name": "symfony/cache-contracts", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache-contracts.git", + "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/64be4a7acb83b6f2bf6de9a02cee6dad41277ebc", + "reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/cache": "^1.0|^2.0|^3.0" + }, + "suggest": { + "symfony/cache-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Cache\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to caching", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/cache-contracts/tree/v2.5.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-02T09:53:40+00:00" + }, + { + "name": "symfony/config", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/dd5ea39de228813aba0c23c3a4153da2a4cf3cd9", + "reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/filesystem": "^4.4|^5.0|^6.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.22" + }, + "conflict": { + "symfony/finder": "<4.4" + }, + "require-dev": { + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/messenger": "^4.4|^5.0|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/config/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-09T08:22:43+00:00" + }, + { + "name": "symfony/console", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "11ac5f154e0e5c4c77af83ad11ead9165280b92a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/11ac5f154e0e5c4c77af83ad11ead9165280b92a", + "reference": "11ac5f154e0e5c4c77af83ad11ead9165280b92a", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.1|^6.0" + }, + "conflict": { + "psr/log": ">=3", + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/log": "^1|^2", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/lock": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T07:58:33+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "eb1bcafa54e00ed218e1b733b8b6ad1c9ff83d20" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/eb1bcafa54e00ed218e1b733b8b6ad1c9ff83d20", + "reference": "eb1bcafa54e00ed218e1b733b8b6ad1c9ff83d20", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.1.1", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.22", + "symfony/service-contracts": "^1.1.6|^2" + }, + "conflict": { + "ext-psr": "<1.1|>=2", + "symfony/config": "<5.3", + "symfony/finder": "<4.4", + "symfony/proxy-manager-bridge": "<4.4", + "symfony/yaml": "<4.4.26" + }, + "provide": { + "psr/container-implementation": "1.0", + "symfony/service-implementation": "1.0|2.0" + }, + "require-dev": { + "symfony/config": "^5.3|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4.26|^5.0|^6.0" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows you to standardize and centralize the way objects are constructed in your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dependency-injection/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T07:58:33+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "shasum": "" + }, + "require": { + "php": ">=8.0.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-02T09:55:41+00:00" + }, + { + "name": "symfony/doctrine-bridge", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/doctrine-bridge.git", + "reference": "e82ccb815ac20fd6579e1f42f924071f20fa4264" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/e82ccb815ac20fd6579e1f42f924071f20fa4264", + "reference": "e82ccb815ac20fd6579e1f42f924071f20fa4264", + "shasum": "" + }, + "require": { + "doctrine/event-manager": "~1.0", + "doctrine/persistence": "^2|^3", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2|^3" + }, + "conflict": { + "doctrine/dbal": "<2.13.1", + "doctrine/lexer": "<1.1", + "doctrine/orm": "<2.7.4", + "symfony/cache": "<5.4", + "symfony/dependency-injection": "<4.4", + "symfony/form": "<5.4.21|>=6,<6.2.7", + "symfony/http-kernel": "<5", + "symfony/messenger": "<4.4", + "symfony/property-info": "<5", + "symfony/proxy-manager-bridge": "<4.4.19", + "symfony/security-bundle": "<5", + "symfony/security-core": "<5.3", + "symfony/validator": "<5.4.25|>=6,<6.2.12|>=6.3,<6.3.1" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4|^2", + "doctrine/collections": "^1.0|^2.0", + "doctrine/data-fixtures": "^1.1", + "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/orm": "^2.7.4|^3", + "psr/log": "^1|^2|^3", + "symfony/cache": "^5.4|^6.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/doctrine-messenger": "^5.1|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/form": "^5.4.21|^6.2.7", + "symfony/http-kernel": "^5.0|^6.0", + "symfony/messenger": "^4.4|^5.0|^6.0", + "symfony/property-access": "^4.4|^5.0|^6.0", + "symfony/property-info": "^5.0|^6.0", + "symfony/proxy-manager-bridge": "^4.4|^5.0|^6.0", + "symfony/security-core": "^5.3|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/uid": "^5.1|^6.0", + "symfony/validator": "^5.4.25|~6.2.12|^6.3.1", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "suggest": { + "doctrine/data-fixtures": "", + "doctrine/dbal": "", + "doctrine/orm": "", + "symfony/form": "", + "symfony/property-info": "", + "symfony/validator": "" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Doctrine\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides integration for Doctrine with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/doctrine-bridge/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T07:58:33+00:00" + }, + { + "name": "symfony/dotenv", + "version": "v5.4.30", + "source": { + "type": "git", + "url": "https://github.com/symfony/dotenv.git", + "reference": "ceed2cd28442adcf3679a9a82dacd45baeefc458" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/ceed2cd28442adcf3679a9a82dacd45baeefc458", + "reference": "ceed2cd28442adcf3679a9a82dacd45baeefc458", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3" + }, + "require-dev": { + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Dotenv\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Registers environment variables from a .env file", + "homepage": "https://symfony.com", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "source": "https://github.com/symfony/dotenv/tree/v5.4.30" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-26T16:37:39+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v5.4.29", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "328c6fcfd2f90b64c16efaf0ea67a311d672f078" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/328c6fcfd2f90b64c16efaf0ea67a311d672f078", + "reference": "328c6fcfd2f90b64c16efaf0ea67a311d672f078", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/serializer": "^4.4|^5.0|^6.0" + }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v5.4.29" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-09-06T21:54:06+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v5.4.26", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5dcc00e03413f05c1e7900090927bb7247cb0aac", + "reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/event-dispatcher-contracts": "^2|^3", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/dependency-injection": "<4.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/stopwatch": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.26" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-06T06:34:20+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "7bc61cc2db649b4637d331240c5346dcc7708051" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7bc61cc2db649b4637d331240c5346dcc7708051", + "reference": "7bc61cc2db649b4637d331240c5346dcc7708051", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.0.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-02T09:55:41+00:00" + }, + { + "name": "symfony/expression-language", + "version": "v5.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/expression-language.git", + "reference": "501589522b844b8eecf012c133f0404f0eef77ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/501589522b844b8eecf012c133f0404f0eef77ac", + "reference": "501589522b844b8eecf012c133f0404f0eef77ac", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/service-contracts": "^1.1|^2|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ExpressionLanguage\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an engine that can compile and evaluate expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/expression-language/tree/v5.4.21" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-14T08:03:56+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v5.4.25", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364", + "reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v5.4.25" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-31T13:04:02+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.4.27", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/ff4bce3c33451e7ec778070e45bd23f74214cd5d", + "reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v5.4.27" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-31T08:02:31+00:00" + }, + { + "name": "symfony/flex", + "version": "v1.21.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/flex.git", + "reference": "f1cf4014ffac79e0c031cc40d6d66354e7de5da5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/flex/zipball/f1cf4014ffac79e0c031cc40d6d66354e7de5da5", + "reference": "f1cf4014ffac79e0c031cc40d6d66354e7de5da5", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0|^2.0", + "php": ">=7.1" + }, + "require-dev": { + "composer/composer": "^1.0.2|^2.0", + "symfony/dotenv": "^4.4|^5.0|^6.0", + "symfony/filesystem": "^4.4|^5.0|^6.0", + "symfony/phpunit-bridge": "^4.4.12|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Symfony\\Flex\\Flex" + }, + "autoload": { + "psr-4": { + "Symfony\\Flex\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien.potencier@gmail.com" + } + ], + "description": "Composer plugin for Symfony", + "support": { + "issues": "https://github.com/symfony/flex/issues", + "source": "https://github.com/symfony/flex/tree/v1.21.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-30T18:34:59+00:00" + }, + { + "name": "symfony/form", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/form.git", + "reference": "48d26192c14f4f11802718a8d37bd757bae22c68" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/form/zipball/48d26192c14f4f11802718a8d37bd757bae22c68", + "reference": "48d26192c14f4f11802718a8d37bd757bae22c68", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/options-resolver": "^5.1|^6.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.23", + "symfony/property-access": "^5.0.8|^6.0", + "symfony/service-contracts": "^1.1|^2|^3" + }, + "conflict": { + "symfony/console": "<4.4", + "symfony/dependency-injection": "<4.4", + "symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7", + "symfony/error-handler": "<4.4.5", + "symfony/framework-bundle": "<4.4", + "symfony/http-kernel": "<4.4", + "symfony/translation": "<4.4", + "symfony/translation-contracts": "<1.1.7", + "symfony/twig-bridge": "<5.4.21|>=6,<6.2.7" + }, + "require-dev": { + "doctrine/collections": "^1.0|^2.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/security-csrf": "^4.4|^5.0|^6.0", + "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/uid": "^5.1|^6.0", + "symfony/validator": "^4.4.17|^5.1.9|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/security-csrf": "For protecting forms against CSRF attacks.", + "symfony/twig-bridge": "For templating with Twig.", + "symfony/validator": "For form validation." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Form\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows to easily create, process and reuse HTML forms", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/form/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-02T08:45:35+00:00" + }, + { + "name": "symfony/framework-bundle", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/framework-bundle.git", + "reference": "4eeac66c8b0f2793324e94cfc6ac1c8bc5b92960" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/4eeac66c8b0f2793324e94cfc6ac1c8bc5b92960", + "reference": "4eeac66c8b0f2793324e94cfc6ac1c8bc5b92960", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=7.2.5", + "symfony/cache": "^5.2|^6.0", + "symfony/config": "^5.3|^6.0", + "symfony/dependency-injection": "^5.4.5|^6.0.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/error-handler": "^4.4.1|^5.0.1|^6.0", + "symfony/event-dispatcher": "^5.1|^6.0", + "symfony/filesystem": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^5.4.24|^6.2.11", + "symfony/http-kernel": "^5.4|^6.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.22", + "symfony/routing": "^5.3|^6.0" + }, + "conflict": { + "doctrine/annotations": "<1.13.1", + "doctrine/cache": "<1.11", + "doctrine/persistence": "<1.3", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/asset": "<5.3", + "symfony/console": "<5.2.5", + "symfony/dom-crawler": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/form": "<5.2", + "symfony/http-client": "<4.4", + "symfony/lock": "<4.4", + "symfony/mailer": "<5.2", + "symfony/messenger": "<5.4", + "symfony/mime": "<4.4", + "symfony/property-access": "<5.3", + "symfony/property-info": "<4.4", + "symfony/security-csrf": "<5.3", + "symfony/serializer": "<5.2", + "symfony/service-contracts": ">=3.0", + "symfony/stopwatch": "<4.4", + "symfony/translation": "<5.3", + "symfony/twig-bridge": "<4.4", + "symfony/twig-bundle": "<4.4", + "symfony/validator": "<5.3.11", + "symfony/web-profiler-bundle": "<4.4", + "symfony/workflow": "<5.2" + }, + "require-dev": { + "doctrine/annotations": "^1.13.1|^2", + "doctrine/cache": "^1.11|^2.0", + "doctrine/persistence": "^1.3|^2|^3", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/asset": "^5.3|^6.0", + "symfony/browser-kit": "^5.4|^6.0", + "symfony/console": "^5.4.9|^6.0.9", + "symfony/css-selector": "^4.4|^5.0|^6.0", + "symfony/dom-crawler": "^4.4.30|^5.3.7|^6.0", + "symfony/dotenv": "^5.1|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/form": "^5.2|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/lock": "^4.4|^5.0|^6.0", + "symfony/mailer": "^5.2|^6.0", + "symfony/messenger": "^5.4|^6.0", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/notifier": "^5.4|^6.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/property-info": "^4.4|^5.0|^6.0", + "symfony/rate-limiter": "^5.2|^6.0", + "symfony/security-bundle": "^5.4|^6.0", + "symfony/serializer": "^5.4|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/string": "^5.0|^6.0", + "symfony/translation": "^5.3|^6.0", + "symfony/twig-bundle": "^4.4|^5.0|^6.0", + "symfony/validator": "^5.3.11|^6.0", + "symfony/web-link": "^4.4|^5.0|^6.0", + "symfony/workflow": "^5.2|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0", + "twig/twig": "^2.10|^3.0" + }, + "suggest": { + "ext-apcu": "For best performance of the system caches", + "symfony/console": "For using the console commands", + "symfony/form": "For using forms", + "symfony/property-info": "For using the property_info service", + "symfony/serializer": "For using the serializer service", + "symfony/validator": "For using validation", + "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering", + "symfony/yaml": "For using the debug:config and lint:yaml commands" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\FrameworkBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/framework-bundle/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T07:58:33+00:00" + }, + { + "name": "symfony/http-client", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client.git", + "reference": "6cdf6cdf48101454f014a9ab4e0905f0b902389d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client/zipball/6cdf6cdf48101454f014a9ab4e0905f0b902389d", + "reference": "6cdf6cdf48101454f014a9ab4e0905f0b902389d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/http-client-contracts": "^2.4", + "symfony/polyfill-php73": "^1.11", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.0|^2|^3" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "2.4" + }, + "require-dev": { + "amphp/amp": "^2.5", + "amphp/http-client": "^4.2.1", + "amphp/http-tunnel": "^1.0", + "amphp/socket": "^1.1", + "guzzlehttp/promises": "^1.4", + "nyholm/psr7": "^1.0", + "php-http/httplug": "^1.0|^2.0", + "php-http/message-factory": "^1.0", + "psr/http-client": "^1.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4.13|^5.1.5|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpClient\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", + "homepage": "https://symfony.com", + "keywords": [ + "http" + ], + "support": { + "source": "https://github.com/symfony/http-client/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-29T12:33:05+00:00" + }, + { + "name": "symfony/http-client-contracts", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70", + "reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/http-client-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-04-12T15:48:08+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "f84fd4fd8311a541ceb2ae3f257841d002450a90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f84fd4fd8311a541ceb2ae3f257841d002450a90", + "reference": "f84fd4fd8311a541ceb2ae3f257841d002450a90", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/rate-limiter": "^5.2|^6.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-06T22:05:57+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "d2fad58d32a7b4864d205a7289602a27ce75018c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/d2fad58d32a7b4864d205a7289602a27ce75018c", + "reference": "d2fad58d32a7b4864d205a7289602a27ce75018c", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^5.0|^6.0", + "symfony/http-foundation": "^5.4.21|^6.2.7", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/browser-kit": "<5.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<5.3", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^5.4|^6.0", + "symfony/config": "^5.0|^6.0", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/css-selector": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^5.3|^6.0", + "symfony/dom-crawler": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-client-contracts": "^1.1|^2|^3", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/routing": "^4.4|^5.0|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/translation-contracts": "^1.1|^2|^3", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-10T13:39:09+00:00" + }, + { + "name": "symfony/intl", + "version": "v5.4.30", + "source": { + "type": "git", + "url": "https://github.com/symfony/intl.git", + "reference": "cd6cce16151ac871071a3495e7a325460b952b5a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/intl/zipball/cd6cce16151ac871071a3495e7a325460b952b5a", + "reference": "cd6cce16151ac871071a3495e7a325460b952b5a", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "symfony/filesystem": "^4.4|^5.0|^6.0", + "symfony/var-exporter": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Intl\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Eriksen Costa", + "email": "eriksen.costa@infranology.com.br" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a PHP replacement layer for the C intl extension that includes additional data from the ICU library", + "homepage": "https://symfony.com", + "keywords": [ + "i18n", + "icu", + "internationalization", + "intl", + "l10n", + "localization" + ], + "support": { + "source": "https://github.com/symfony/intl/tree/v5.4.30" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-28T09:19:54+00:00" + }, + { + "name": "symfony/mailer", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/mailer.git", + "reference": "5ca8a7628a5ee69767047dd0f4cf4c9521c999b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mailer/zipball/5ca8a7628a5ee69767047dd0f4cf4c9521c999b8", + "reference": "5ca8a7628a5ee69767047dd0f4cf4c9521c999b8", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=7.2.5", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/mime": "^5.2.6|^6.0", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2|^3" + }, + "conflict": { + "symfony/http-kernel": "<4.4" + }, + "require-dev": { + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/messenger": "^4.4|^5.0|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mailer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Helps sending emails", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/mailer/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-03T16:16:43+00:00" + }, + { + "name": "symfony/mime", + "version": "v5.4.26", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "2ea06dfeee20000a319d8407cea1d47533d5a9d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/2ea06dfeee20000a319d8407cea1d47533d5a9d2", + "reference": "2ea06dfeee20000a319d8407cea1d47533d5a9d2", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<4.4", + "symfony/serializer": "<5.4.26|>=6,<6.2.13|>=6.3,<6.3.2" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/property-access": "^4.4|^5.1|^6.0", + "symfony/property-info": "^4.4|^5.1|^6.0", + "symfony/serializer": "^5.4.26|~6.2.13|^6.3.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v5.4.26" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-27T06:29:31+00:00" + }, + { + "name": "symfony/monolog-bridge", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/monolog-bridge.git", + "reference": "3e295d9b0a873476356cb6cff0ce39b3f528b387" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/3e295d9b0a873476356cb6cff0ce39b3f528b387", + "reference": "3e295d9b0a873476356cb6cff0ce39b3f528b387", + "shasum": "" + }, + "require": { + "monolog/monolog": "^1.25.1|^2", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/http-kernel": "^5.3|^6.0", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2|^3" + }, + "conflict": { + "symfony/console": "<4.4", + "symfony/http-foundation": "<5.3" + }, + "require-dev": { + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/mailer": "^4.4|^5.0|^6.0", + "symfony/messenger": "^4.4|^5.0|^6.0", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/security-core": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings.", + "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.", + "symfony/var-dumper": "For using the debugging handlers like the console handler or the log server handler." + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Monolog\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides integration for Monolog with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/monolog-bridge/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T07:58:33+00:00" + }, + { + "name": "symfony/monolog-bundle", + "version": "v3.10.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/monolog-bundle.git", + "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181", + "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181", + "shasum": "" + }, + "require": { + "monolog/monolog": "^1.25.1 || ^2.0 || ^3.0", + "php": ">=7.2.5", + "symfony/config": "^5.4 || ^6.0 || ^7.0", + "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", + "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0", + "symfony/monolog-bridge": "^5.4 || ^6.0 || ^7.0" + }, + "require-dev": { + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/phpunit-bridge": "^6.3 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\MonologBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony MonologBundle", + "homepage": "https://symfony.com", + "keywords": [ + "log", + "logging" + ], + "support": { + "issues": "https://github.com/symfony/monolog-bundle/issues", + "source": "https://github.com/symfony/monolog-bundle/tree/v3.10.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-06T17:08:13+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v5.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9", + "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php73": "~1.0", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an improved replacement for the array_replace PHP function", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "support": { + "source": "https://github.com/symfony/options-resolver/tree/v5.4.21" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-14T08:03:56+00:00" + }, + { + "name": "symfony/password-hasher", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/password-hasher.git", + "reference": "f1a07181f3442836b0aadfd4c65841804d4173c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/password-hasher/zipball/f1a07181f3442836b0aadfd4c65841804d4173c4", + "reference": "f1a07181f3442836b0aadfd4c65841804d4173c4", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/security-core": "<5.3" + }, + "require-dev": { + "symfony/console": "^5.3|^6.0", + "symfony/security-core": "^5.3|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PasswordHasher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Robin Chalas", + "email": "robin.chalas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides password hashing utilities", + "homepage": "https://symfony.com", + "keywords": [ + "hashing", + "password" + ], + "support": { + "source": "https://github.com/symfony/password-hasher/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-02T10:18:11+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "875e90aeea2777b6f135677f618529449334a612" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", + "reference": "875e90aeea2777b6f135677f618529449334a612", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "e46b4da57951a16053cd751f63f4a24292788157" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e46b4da57951a16053cd751f63f4a24292788157", + "reference": "e46b4da57951a16053cd751f63f4a24292788157", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance and support of other locales than \"en\"" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Icu\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-03-21T17:27:24+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", + "reference": "ecaafce9f77234a6a449d29e49267ba10499116d", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:30:37+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "42292d99c55abe617799667f454222c54c60e229" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", + "reference": "42292d99c55abe617799667f454222c54c60e229", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-28T09:04:16+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5", + "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b", + "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/process", + "version": "v5.4.28", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b", + "reference": "45261e1fccad1b5447a8d7a8e67aa7b4a9798b7b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v5.4.28" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-08-07T10:36:04+00:00" + }, + { + "name": "symfony/property-access", + "version": "v5.4.26", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-access.git", + "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-access/zipball/0249e46f69e92049a488f39fcf531cb42c50caaa", + "reference": "0249e46f69e92049a488f39fcf531cb42c50caaa", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16", + "symfony/property-info": "^5.2|^6.0" + }, + "require-dev": { + "symfony/cache": "^4.4|^5.0|^6.0" + }, + "suggest": { + "psr/cache-implementation": "To cache access methods." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyAccess\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides functions to read and write from/to an object or array using a simple string notation", + "homepage": "https://symfony.com", + "keywords": [ + "access", + "array", + "extraction", + "index", + "injection", + "object", + "property", + "property-path", + "reflection" + ], + "support": { + "source": "https://github.com/symfony/property-access/tree/v5.4.26" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-13T15:20:41+00:00" + }, + { + "name": "symfony/property-info", + "version": "v5.4.24", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-info.git", + "reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-info/zipball/d43b85b00699b4484964c297575b5c6f9dc5f6e1", + "reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16", + "symfony/string": "^5.1|^6.0" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/dependency-injection": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4|^2", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "phpstan/phpdoc-parser": "^1.0", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/serializer": "^4.4|^5.0|^6.0" + }, + "suggest": { + "phpdocumentor/reflection-docblock": "To use the PHPDoc", + "psr/cache-implementation": "To cache results", + "symfony/doctrine-bridge": "To use Doctrine metadata", + "symfony/serializer": "To use Serializer metadata" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyInfo\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kévin Dunglas", + "email": "dunglas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Extracts information about PHP class' properties using metadata of popular sources", + "homepage": "https://symfony.com", + "keywords": [ + "doctrine", + "phpdoc", + "property", + "symfony", + "type", + "validator" + ], + "support": { + "source": "https://github.com/symfony/property-info/tree/v5.4.24" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-15T20:11:03+00:00" + }, + { + "name": "symfony/proxy-manager-bridge", + "version": "v5.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/proxy-manager-bridge.git", + "reference": "a4cf96f3acfa252503a216bea877478f9621c7c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/a4cf96f3acfa252503a216bea877478f9621c7c0", + "reference": "a4cf96f3acfa252503a216bea877478f9621c7c0", + "shasum": "" + }, + "require": { + "friendsofphp/proxy-manager-lts": "^1.0.2", + "php": ">=7.2.5", + "symfony/dependency-injection": "^5.0|^6.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "symfony/config": "^4.4|^5.0|^6.0" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\ProxyManager\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides integration for ProxyManager with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/proxy-manager-bridge/tree/v5.4.21" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-16T09:33:00+00:00" + }, + { + "name": "symfony/routing", + "version": "v5.4.26", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "853fc7df96befc468692de0a48831b38f04d2cb2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/853fc7df96befc468692de0a48831b38f04d2cb2", + "reference": "853fc7df96befc468692de0a48831b38f04d2cb2", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "symfony/config": "<5.3", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "psr/log": "^1|^2|^3", + "symfony/config": "^5.3|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v5.4.26" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-24T13:28:37+00:00" + }, + { + "name": "symfony/runtime", + "version": "v5.4.26", + "source": { + "type": "git", + "url": "https://github.com/symfony/runtime.git", + "reference": "4659b552bc9f2380986e3f4b7e2bd4e512470e0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/runtime/zipball/4659b552bc9f2380986e3f4b7e2bd4e512470e0d", + "reference": "4659b552bc9f2380986e3f4b7e2bd4e512470e0d", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0|^2.0", + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/dotenv": "<5.1" + }, + "require-dev": { + "composer/composer": "^1.0.2|^2.0", + "symfony/console": "^4.4.30|^5.4.9|^6.0.9", + "symfony/dotenv": "^5.1|^6.0", + "symfony/http-foundation": "^4.4.30|^5.3.7|^6.0", + "symfony/http-kernel": "^4.4.30|^5.3.7|^6.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Symfony\\Component\\Runtime\\Internal\\ComposerPlugin" + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Runtime\\": "", + "Symfony\\Runtime\\Symfony\\Component\\": "Internal/" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Enables decoupling PHP applications from global state", + "homepage": "https://symfony.com", + "keywords": [ + "runtime" + ], + "support": { + "source": "https://github.com/symfony/runtime/tree/v5.4.26" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-16T16:48:57+00:00" + }, + { + "name": "symfony/security-bundle", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-bundle.git", + "reference": "92e24de1759b6a502896d87c5e0997973ef47ac4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/92e24de1759b6a502896d87c5e0997973ef47ac4", + "reference": "92e24de1759b6a502896d87c5e0997973ef47ac4", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=7.2.5", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^5.3|^6.0", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/event-dispatcher": "^5.1|^6.0", + "symfony/http-foundation": "^5.3|^6.0", + "symfony/http-kernel": "^5.3|^6.0", + "symfony/password-hasher": "^5.3|^6.0", + "symfony/polyfill-php80": "^1.16", + "symfony/security-core": "^5.4|^6.0", + "symfony/security-csrf": "^4.4|^5.0|^6.0", + "symfony/security-guard": "^5.3", + "symfony/security-http": "^5.4.30|^6.3.6", + "symfony/service-contracts": "^1.10|^2|^3" + }, + "conflict": { + "symfony/browser-kit": "<4.4", + "symfony/console": "<4.4", + "symfony/framework-bundle": "<4.4", + "symfony/ldap": "<5.1", + "symfony/twig-bundle": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4|^2", + "symfony/asset": "^4.4|^5.0|^6.0", + "symfony/browser-kit": "^4.4|^5.0|^6.0", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/css-selector": "^4.4|^5.0|^6.0", + "symfony/dom-crawler": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/form": "^4.4|^5.0|^6.0", + "symfony/framework-bundle": "^5.3|^6.0", + "symfony/ldap": "^5.3|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/rate-limiter": "^5.2|^6.0", + "symfony/serializer": "^4.4|^5.0|^6.0", + "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/twig-bridge": "^4.4|^5.0|^6.0", + "symfony/twig-bundle": "^4.4|^5.0|^6.0", + "symfony/validator": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0", + "twig/twig": "^2.13|^3.0.4" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\SecurityBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a tight integration of the Security component into the Symfony full-stack framework", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/security-bundle/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-09T09:26:13+00:00" + }, + { + "name": "symfony/security-core", + "version": "v5.4.30", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-core.git", + "reference": "3908c54da30dd68c2fe31915d82a1c81809d1928" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-core/zipball/3908c54da30dd68c2fe31915d82a1c81809d1928", + "reference": "3908c54da30dd68c2fe31915d82a1c81809d1928", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/event-dispatcher-contracts": "^1.1|^2|^3", + "symfony/password-hasher": "^5.3|^6.0", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1.6|^2|^3" + }, + "conflict": { + "symfony/event-dispatcher": "<4.4", + "symfony/http-foundation": "<5.3", + "symfony/ldap": "<4.4", + "symfony/security-guard": "<4.4", + "symfony/validator": "<5.2" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "psr/container": "^1.0|^2.0", + "psr/log": "^1|^2|^3", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^5.3|^6.0", + "symfony/ldap": "^4.4|^5.0|^6.0", + "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/validator": "^5.2|^6.0" + }, + "suggest": { + "psr/container-implementation": "To instantiate the Security class", + "symfony/event-dispatcher": "", + "symfony/expression-language": "For using the expression voter", + "symfony/http-foundation": "", + "symfony/ldap": "For using LDAP integration", + "symfony/validator": "For using the user password constraint" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Core\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Security Component - Core Library", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/security-core/tree/v5.4.30" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-27T07:38:28+00:00" + }, + { + "name": "symfony/security-csrf", + "version": "v5.4.27", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-csrf.git", + "reference": "995fcfcc5a3be09df157b4960668f61cceb86611" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/995fcfcc5a3be09df157b4960668f61cceb86611", + "reference": "995fcfcc5a3be09df157b4960668f61cceb86611", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16", + "symfony/security-core": "^4.4|^5.0|^6.0" + }, + "conflict": { + "symfony/http-foundation": "<5.3" + }, + "require-dev": { + "symfony/http-foundation": "^5.3|^6.0" + }, + "suggest": { + "symfony/http-foundation": "For using the class SessionTokenStorage." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Csrf\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Security Component - CSRF Library", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/security-csrf/tree/v5.4.27" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-28T14:44:35+00:00" + }, + { + "name": "symfony/security-guard", + "version": "v5.4.27", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-guard.git", + "reference": "72c53142533462fc6fda4a429c2a21c2b944a8cc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-guard/zipball/72c53142533462fc6fda4a429c2a21c2b944a8cc", + "reference": "72c53142533462fc6fda4a429c2a21c2b944a8cc", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.15", + "symfony/security-core": "^5.0", + "symfony/security-http": "^5.3" + }, + "require-dev": { + "psr/log": "^1|^2|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Guard\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Security Component - Guard", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/security-guard/tree/v5.4.27" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-28T14:44:35+00:00" + }, + { + "name": "symfony/security-http", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-http.git", + "reference": "6d3cd5a4deee9697738db8d24258890ca4140ae9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-http/zipball/6d3cd5a4deee9697738db8d24258890ca4140ae9", + "reference": "6d3cd5a4deee9697738db8d24258890ca4140ae9", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/http-foundation": "^5.3|^6.0", + "symfony/http-kernel": "^5.3|^6.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/property-access": "^4.4|^5.0|^6.0", + "symfony/security-core": "^5.4.19|~6.0.19|~6.1.11|^6.2.5", + "symfony/service-contracts": "^1.10|^2|^3" + }, + "conflict": { + "symfony/event-dispatcher": "<4.3", + "symfony/security-bundle": "<5.3", + "symfony/security-csrf": "<4.4" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/rate-limiter": "^5.2|^6.0", + "symfony/routing": "^4.4|^5.0|^6.0", + "symfony/security-csrf": "^4.4|^5.0|^6.0", + "symfony/translation": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs", + "symfony/security-csrf": "For using tokens to protect authentication/logout attempts" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Http\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Security Component - HTTP Integration", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/security-http/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-03T16:13:08+00:00" + }, + { + "name": "symfony/serializer", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/serializer.git", + "reference": "15574cfa408a6082b6d66c2b6922f95db6cab26d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/serializer/zipball/15574cfa408a6082b6d66c2b6922f95db6cab26d", + "reference": "15574cfa408a6082b6d66c2b6922f95db6cab26d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/dependency-injection": "<4.4", + "symfony/property-access": "<5.4", + "symfony/property-info": "<5.4.24|>=6,<6.2.11", + "symfony/uid": "<5.3", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/filesystem": "^4.4|^5.0|^6.0", + "symfony/form": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/property-access": "^5.4|^6.0", + "symfony/property-info": "^5.4.24|^6.2.11", + "symfony/uid": "^5.3|^6.0", + "symfony/validator": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0", + "symfony/var-exporter": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "suggest": { + "psr/cache-implementation": "For using the metadata cache.", + "symfony/config": "For using the XML mapping loader.", + "symfony/mime": "For using a MIME type guesser within the DataUriNormalizer.", + "symfony/property-access": "For using the ObjectNormalizer.", + "symfony/property-info": "To deserialize relations.", + "symfony/var-exporter": "For using the metadata compiler.", + "symfony/yaml": "For using the default YAML mapping loader." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Serializer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/serializer/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T07:58:33+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c", + "reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.1", + "symfony/deprecation-contracts": "^2.1|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v2.5.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-05-30T19:17:29+00:00" + }, + { + "name": "symfony/stopwatch", + "version": "v5.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/stopwatch.git", + "reference": "f83692cd869a6f2391691d40a01e8acb89e76fee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/f83692cd869a6f2391691d40a01e8acb89e76fee", + "reference": "f83692cd869a6f2391691d40a01e8acb89e76fee", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/service-contracts": "^1|^2|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a way to profile code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/stopwatch/tree/v5.4.21" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-14T08:03:56+00:00" + }, + { + "name": "symfony/string", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "2765096c03f39ddf54f6af532166e42aaa05b24b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/2765096c03f39ddf54f6af532166e42aaa05b24b", + "reference": "2765096c03f39ddf54f6af532166e42aaa05b24b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "conflict": { + "symfony/translation-contracts": ">=3.0" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0|^6.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-09T08:19:44+00:00" + }, + { + "name": "symfony/translation", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "ba72f72fceddf36f00bd495966b5873f2d17ad8f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/ba72f72fceddf36f00bd495966b5873f2d17ad8f", + "reference": "ba72f72fceddf36f00bd495966b5873f2d17ad8f", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation-contracts": "^2.3" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/console": "<5.3", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" + }, + "provide": { + "symfony/translation-implementation": "2.3" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/dependency-injection": "^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-client-contracts": "^1.1|^2.0|^3.0", + "symfony/http-kernel": "^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/service-contracts": "^1.1.2|^2|^3", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-03T16:16:43+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v2.5.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe", + "reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v2.5.2" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-06-27T16:58:25+00:00" + }, + { + "name": "symfony/twig-bridge", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bridge.git", + "reference": "fc6ee0a3b672ea12ca1f26592d257bfc7f4ee942" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/fc6ee0a3b672ea12ca1f26592d257bfc7f4ee942", + "reference": "fc6ee0a3b672ea12ca1f26592d257bfc7f4ee942", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16", + "symfony/translation-contracts": "^1.1|^2|^3", + "twig/twig": "^2.13|^3.0.4" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/console": "<5.3", + "symfony/form": "<5.4.21|>=6,<6.2.7", + "symfony/http-foundation": "<5.3", + "symfony/http-kernel": "<4.4", + "symfony/translation": "<5.2", + "symfony/workflow": "<5.2" + }, + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "egulias/email-validator": "^2.1.10|^3|^4", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/asset": "^4.4|^5.0|^6.0", + "symfony/console": "^5.3|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/form": "^5.4.21|^6.2.7", + "symfony/http-foundation": "^5.3|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/mime": "^5.2|^6.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/property-info": "^4.4|^5.1|^6.0", + "symfony/routing": "^4.4|^5.0|^6.0", + "symfony/security-acl": "^2.8|^3.0", + "symfony/security-core": "^4.4|^5.0|^6.0", + "symfony/security-csrf": "^4.4|^5.0|^6.0", + "symfony/security-http": "^4.4|^5.0|^6.0", + "symfony/serializer": "^5.2|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/translation": "^5.2|^6.0", + "symfony/web-link": "^4.4|^5.0|^6.0", + "symfony/workflow": "^5.2|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0", + "twig/cssinliner-extra": "^2.12|^3", + "twig/inky-extra": "^2.12|^3", + "twig/markdown-extra": "^2.12|^3" + }, + "suggest": { + "symfony/asset": "For using the AssetExtension", + "symfony/expression-language": "For using the ExpressionExtension", + "symfony/finder": "", + "symfony/form": "For using the FormExtension", + "symfony/http-kernel": "For using the HttpKernelExtension", + "symfony/routing": "For using the RoutingExtension", + "symfony/security-core": "For using the SecurityExtension", + "symfony/security-csrf": "For using the CsrfExtension", + "symfony/security-http": "For using the LogoutUrlExtension", + "symfony/stopwatch": "For using the StopwatchExtension", + "symfony/translation": "For using the TranslationExtension", + "symfony/var-dumper": "For using the DumpExtension", + "symfony/web-link": "For using the WebLinkExtension", + "symfony/yaml": "For using the YamlExtension" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Twig\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides integration for Twig with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/twig-bridge/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-09T21:19:08+00:00" + }, + { + "name": "symfony/twig-bundle", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bundle.git", + "reference": "62e3505a62f482a577f55ba08747dc6a3b7463b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/62e3505a62f482a577f55ba08747dc6a3b7463b3", + "reference": "62e3505a62f482a577f55ba08747dc6a3b7463b3", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^5.0|^6.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.16", + "symfony/twig-bridge": "^5.3|^6.0", + "twig/twig": "^2.13|^3.0.4" + }, + "conflict": { + "symfony/dependency-injection": "<5.3", + "symfony/framework-bundle": "<5.0", + "symfony/service-contracts": ">=3.0", + "symfony/translation": "<5.0" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4|^2", + "doctrine/cache": "^1.0|^2.0", + "symfony/asset": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^5.3|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/form": "^4.4|^5.0|^6.0", + "symfony/framework-bundle": "^5.0|^6.0", + "symfony/routing": "^4.4|^5.0|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/translation": "^5.0|^6.0", + "symfony/web-link": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\TwigBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a tight integration of Twig into the Symfony full-stack framework", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/twig-bundle/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T07:58:33+00:00" + }, + { + "name": "symfony/validator", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/validator.git", + "reference": "2be3e406a4e2321c2d9441fe749ce1540f38e5b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/validator/zipball/2be3e406a4e2321c2d9441fe749ce1540f38e5b6", + "reference": "2be3e406a4e2321c2d9441fe749ce1540f38e5b6", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.22", + "symfony/translation-contracts": "^1.1|^2|^3" + }, + "conflict": { + "doctrine/annotations": "<1.13", + "doctrine/cache": "<1.11", + "doctrine/lexer": "<1.1", + "symfony/dependency-injection": "<4.4", + "symfony/expression-language": "<5.1", + "symfony/http-kernel": "<4.4", + "symfony/intl": "<4.4", + "symfony/property-info": "<5.3", + "symfony/translation": "<4.4", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.13|^2", + "doctrine/cache": "^1.11|^2.0", + "egulias/email-validator": "^2.1.10|^3|^4", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^5.1|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/property-access": "^4.4|^5.0|^6.0", + "symfony/property-info": "^5.3|^6.0", + "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "suggest": { + "egulias/email-validator": "Strict (RFC compliant) email validation", + "psr/cache-implementation": "For using the mapping cache.", + "symfony/config": "", + "symfony/expression-language": "For using the Expression validator and the ExpressionLanguageSyntax constraints", + "symfony/http-foundation": "", + "symfony/intl": "", + "symfony/property-access": "For accessing properties within comparison constraints", + "symfony/property-info": "To automatically add NotNull and Type constraints", + "symfony/translation": "For translating validation errors.", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Validator\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to validate values", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/validator/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-06T17:47:19+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v5.4.29", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/6172e4ae3534d25ee9e07eb487c20be7760fcc65", + "reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/console": "<4.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/uid": "^5.1|^6.0", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.4.29" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-09-12T10:09:58+00:00" + }, + { + "name": "symfony/var-exporter", + "version": "v6.0.19", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-exporter.git", + "reference": "df56f53818c2d5d9f683f4ad2e365ba73a3b69d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/df56f53818c2d5d9f683f4ad2e365ba73a3b69d2", + "reference": "df56f53818c2d5d9f683f4ad2e365ba73a3b69d2", + "shasum": "" + }, + "require": { + "php": ">=8.0.2" + }, + "require-dev": { + "symfony/var-dumper": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\VarExporter\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows exporting any serializable PHP data structure to plain PHP code", + "homepage": "https://symfony.com", + "keywords": [ + "clone", + "construct", + "export", + "hydrate", + "instantiate", + "serialize" + ], + "support": { + "source": "https://github.com/symfony/var-exporter/tree/v6.0.19" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-13T08:34:10+00:00" + }, + { + "name": "symfony/web-link", + "version": "v5.4.21", + "source": { + "type": "git", + "url": "https://github.com/symfony/web-link.git", + "reference": "57c03a5e89ed7c2d7a1a09258dfec12f95f95adb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/web-link/zipball/57c03a5e89ed7c2d7a1a09258dfec12f95f95adb", + "reference": "57c03a5e89ed7c2d7a1a09258dfec12f95f95adb", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/link": "^1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/http-kernel": "<5.3" + }, + "provide": { + "psr/link-implementation": "1.0" + }, + "require-dev": { + "symfony/http-kernel": "^5.3|^6.0" + }, + "suggest": { + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\WebLink\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kévin Dunglas", + "email": "dunglas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Manages links between resources", + "homepage": "https://symfony.com", + "keywords": [ + "dns-prefetch", + "http", + "http2", + "link", + "performance", + "prefetch", + "preload", + "prerender", + "psr13", + "push" + ], + "support": { + "source": "https://github.com/symfony/web-link/tree/v5.4.21" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-14T08:03:56+00:00" + }, + { + "name": "symfony/yaml", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "f387675d7f5fc4231f7554baa70681f222f73563" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/f387675d7f5fc4231f7554baa70681f222f73563", + "reference": "f387675d7f5fc4231f7554baa70681f222f73563", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<5.3" + }, + "require-dev": { + "symfony/console": "^5.3|^6.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-03T14:41:28+00:00" + }, + { + "name": "twig/twig", + "version": "v3.7.1", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "a0ce373a0ca3bf6c64b9e3e2124aca502ba39554" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/a0ce373a0ca3bf6c64b9e3e2124aca502ba39554", + "reference": "a0ce373a0ca3bf6c64b9e3e2124aca502ba39554", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3" + }, + "require-dev": { + "psr/container": "^1.0|^2.0", + "symfony/phpunit-bridge": "^5.4.9|^6.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "support": { + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v3.7.1" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2023-08-28T11:09:02+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" + } + ], + "packages-dev": [ + { + "name": "composer/pcre", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/composer/pcre.git", + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.3", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Pcre\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "keywords": [ + "PCRE", + "preg", + "regex", + "regular expression" + ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.1.1" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2023-10-11T07:11:09+00:00" + }, + { + "name": "composer/semver", + "version": "3.4.0", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2023-08-31T09:50:34+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "ced299686f41dce890debac69273b47ffe98a40c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", + "reference": "ced299686f41dce890debac69273b47ffe98a40c", + "shasum": "" + }, + "require": { + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" + }, + "require-dev": { + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2022-02-25T21:32:43+00:00" + }, + { + "name": "friendsofphp/php-cs-fixer", + "version": "v3.38.2", + "source": { + "type": "git", + "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", + "reference": "d872cdd543797ade030aaa307c0a4954a712e081" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/d872cdd543797ade030aaa307c0a4954a712e081", + "reference": "d872cdd543797ade030aaa307c0a4954a712e081", + "shasum": "" + }, + "require": { + "composer/semver": "^3.3", + "composer/xdebug-handler": "^3.0.3", + "ext-json": "*", + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0", + "sebastian/diff": "^4.0 || ^5.0", + "symfony/console": "^5.4 || ^6.0", + "symfony/event-dispatcher": "^5.4 || ^6.0", + "symfony/filesystem": "^5.4 || ^6.0", + "symfony/finder": "^5.4 || ^6.0", + "symfony/options-resolver": "^5.4 || ^6.0", + "symfony/polyfill-mbstring": "^1.27", + "symfony/polyfill-php80": "^1.27", + "symfony/polyfill-php81": "^1.27", + "symfony/process": "^5.4 || ^6.0", + "symfony/stopwatch": "^5.4 || ^6.0" + }, + "require-dev": { + "facile-it/paraunit": "^1.3 || ^2.0", + "justinrainbow/json-schema": "^5.2", + "keradus/cli-executor": "^2.0", + "mikey179/vfsstream": "^1.6.11", + "php-coveralls/php-coveralls": "^2.5.3", + "php-cs-fixer/accessible-object": "^1.1", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", + "phpspec/prophecy": "^1.16", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.5", + "symfony/phpunit-bridge": "^6.2.3", + "symfony/yaml": "^5.4 || ^6.0" + }, + "suggest": { + "ext-dom": "For handling output formats in XML", + "ext-mbstring": "For handling non-UTF8 characters." + }, + "bin": [ + "php-cs-fixer" + ], + "type": "application", + "autoload": { + "psr-4": { + "PhpCsFixer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" + } + ], + "description": "A tool to automatically fix PHP code style", + "keywords": [ + "Static code analysis", + "fixer", + "standards", + "static analysis" + ], + "support": { + "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.38.2" + }, + "funding": [ + { + "url": "https://github.com/keradus", + "type": "github" + } + ], + "time": "2023-11-14T00:19:22+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.11.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2023-03-08T13:26:56+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.17.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", + "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" + }, + "time": "2023-08-13T19:53:39+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.3" + }, + "time": "2021-07-20T11:28:43+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "9.2.29", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.15", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-09-19T04:57:46+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-12-02T12:48:52+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.6.13", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f3d767f7f9e191eab4189abe41ab37797e30b1be", + "reference": "f3d767f7f9e191eab4189abe41ab37797e30b1be", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1 || ^2", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpunit/php-code-coverage": "^9.2.28", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.8", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.5", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^3.2", + "sebastian/version": "^3.0.2" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.6-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.13" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2023-09-19T05:39:22+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" + }, + { + "name": "sebastian/comparator", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T12:41:17+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-05-07T05:35:17+00:00" + }, + { + "name": "sebastian/environment", + "version": "5.1.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:03:51+00:00" + }, + { + "name": "sebastian/exporter", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T06:03:37+00:00" + }, + { + "name": "sebastian/global-state", + "version": "5.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bde739e7565280bda77be70044ac1047bc007e34" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", + "reference": "bde739e7565280bda77be70044ac1047bc007e34", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-02T09:26:13+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:07:39+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" + }, + { + "name": "sebastian/type", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:13:03+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "symfony/browser-kit", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/browser-kit.git", + "reference": "0ed1f634a36606f2065eec221b3975e05016cbbe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/0ed1f634a36606f2065eec221b3975e05016cbbe", + "reference": "0ed1f634a36606f2065eec221b3975e05016cbbe", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/dom-crawler": "^4.4|^5.0|^6.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "symfony/css-selector": "^4.4|^5.0|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\BrowserKit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/browser-kit/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T07:58:33+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v5.4.26", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a", + "reference": "0ad3f7e9a1ab492c5b4214cf22a9dc55dcf8600a", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v5.4.26" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-07T06:10:25+00:00" + }, + { + "name": "symfony/debug-bundle", + "version": "v5.4.26", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug-bundle.git", + "reference": "17c372891d4554d5d2f5cf602aef02c859ad52d8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/17c372891d4554d5d2f5cf602aef02c859ad52d8", + "reference": "17c372891d4554d5d2f5cf602aef02c859ad52d8", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=7.2.5", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/polyfill-php80": "^1.16", + "symfony/twig-bridge": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.2" + }, + "require-dev": { + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/web-profiler-bundle": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/config": "For service container configuration", + "symfony/dependency-injection": "For using as a service from the container" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\DebugBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/debug-bundle/tree/v5.4.26" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-11T21:42:03+00:00" + }, + { + "name": "symfony/dom-crawler", + "version": "v5.4.25", + "source": { + "type": "git", + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "d2aefa5a7acc5511422792931d14d1be96fe9fea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/d2aefa5a7acc5511422792931d14d1be96fe9fea", + "reference": "d2aefa5a7acc5511422792931d14d1be96fe9fea", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "masterminds/html5": "<2.6" + }, + "require-dev": { + "masterminds/html5": "^2.6", + "symfony/css-selector": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/css-selector": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases DOM navigation for HTML and XML documents", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dom-crawler/tree/v5.4.25" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-06-05T08:05:41+00:00" + }, + { + "name": "symfony/maker-bundle", + "version": "v1.50.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/maker-bundle.git", + "reference": "a1733f849b999460c308e66f6392fb09b621fa86" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/a1733f849b999460c308e66f6392fb09b621fa86", + "reference": "a1733f849b999460c308e66f6392fb09b621fa86", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^2.0", + "nikic/php-parser": "^4.11", + "php": ">=8.0", + "symfony/config": "^5.4.7|^6.0", + "symfony/console": "^5.4.7|^6.0", + "symfony/dependency-injection": "^5.4.7|^6.0", + "symfony/deprecation-contracts": "^2.2|^3", + "symfony/filesystem": "^5.4.7|^6.0", + "symfony/finder": "^5.4.3|^6.0", + "symfony/framework-bundle": "^5.4.7|^6.0", + "symfony/http-kernel": "^5.4.7|^6.0", + "symfony/process": "^5.4.7|^6.0" + }, + "conflict": { + "doctrine/doctrine-bundle": "<2.4", + "doctrine/orm": "<2.10", + "symfony/doctrine-bridge": "<5.4" + }, + "require-dev": { + "composer/semver": "^3.0", + "doctrine/doctrine-bundle": "^2.4", + "doctrine/orm": "^2.10.0", + "symfony/http-client": "^5.4.7|^6.0", + "symfony/phpunit-bridge": "^5.4.17|^6.0", + "symfony/polyfill-php80": "^1.16.0", + "symfony/security-core": "^5.4.7|^6.0", + "symfony/yaml": "^5.4.3|^6.0", + "twig/twig": "^2.0|^3.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-main": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\MakerBundle\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.", + "homepage": "https://symfony.com/doc/current/bundles/SymfonyMakerBundle/index.html", + "keywords": [ + "code generator", + "dev", + "generator", + "scaffold", + "scaffolding" + ], + "support": { + "issues": "https://github.com/symfony/maker-bundle/issues", + "source": "https://github.com/symfony/maker-bundle/tree/v1.50.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-10T18:21:57+00:00" + }, + { + "name": "symfony/phpunit-bridge", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/phpunit-bridge.git", + "reference": "30656f441e1c59ea5688dfb11ab449a56dad2925" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/30656f441e1c59ea5688dfb11ab449a56dad2925", + "reference": "30656f441e1c59ea5688dfb11ab449a56dad2925", + "shasum": "" + }, + "require": { + "php": ">=7.1.3", + "symfony/deprecation-contracts": "^2.1|^3" + }, + "conflict": { + "phpunit/phpunit": "<7.5|9.1.2" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/error-handler": "For tracking deprecated interfaces usages at runtime with DebugClassLoader" + }, + "bin": [ + "bin/simple-phpunit" + ], + "type": "symfony-bridge", + "extra": { + "thanks": { + "name": "phpunit/phpunit", + "url": "https://github.com/sebastianbergmann/phpunit" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Bridge\\PhpUnit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides utilities for PHPUnit, especially user deprecation notices management", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/phpunit-bridge/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T07:58:33+00:00" + }, + { + "name": "symfony/web-profiler-bundle", + "version": "v5.4.31", + "source": { + "type": "git", + "url": "https://github.com/symfony/web-profiler-bundle.git", + "reference": "c3e04e0ad13df22acad1157a5b66404a85c3c538" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/c3e04e0ad13df22acad1157a5b66404a85c3c538", + "reference": "c3e04e0ad13df22acad1157a5b66404a85c3c538", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/framework-bundle": "^5.3|^6.0,<6.4", + "symfony/http-kernel": "^5.3|^6.0", + "symfony/polyfill-php80": "^1.16", + "symfony/routing": "^4.4|^5.0|^6.0", + "symfony/twig-bundle": "^4.4|^5.0|^6.0", + "twig/twig": "^2.13|^3.0.4" + }, + "conflict": { + "symfony/dependency-injection": "<5.2", + "symfony/form": "<4.4", + "symfony/mailer": "<5.4", + "symfony/messenger": "<4.4" + }, + "require-dev": { + "symfony/browser-kit": "^4.4|^5.0|^6.0", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/css-selector": "^4.4|^5.0|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\WebProfilerBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a development tool that gives detailed information about the execution of any request", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.31" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T14:39:57+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2021-07-28T10:34:58+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "^8.0", + "ext-ctype": "*", + "ext-gd": "*", + "ext-iconv": "*", + "composer-runtime-api": "^2" + }, + "platform-dev": [], + "platform-overrides": { + "php": "8.0.28" + }, + "plugin-api-version": "2.6.0" +} diff --git a/pkgs/by-name/da/davis/davis-data.patch b/pkgs/by-name/da/davis/davis-data.patch new file mode 100644 index 000000000000..e2ea2c3d0330 --- /dev/null +++ b/pkgs/by-name/da/davis/davis-data.patch @@ -0,0 +1,78 @@ +diff --git a/bin/console b/bin/console +index 8fe9d49..3af9662 100755 +--- a/bin/console ++++ b/bin/console +@@ -1,5 +1,8 @@ + #!/usr/bin/env php + hasParameterOption('--no-debug', true)) { + putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0'); + } + +-(new Dotenv())->bootEnv(dirname(__DIR__).'/.env'); ++if (getenv('ENV_DIR') !== false) { ++ (new Dotenv())->bootEnv(getenv('ENV_DIR').'/.env'); ++} else { ++ (new Dotenv())->bootEnv(dirname(__DIR__).'/.env'); ++} + + if ($_SERVER['APP_DEBUG']) { + umask(0000); +diff --git a/public/index.php b/public/index.php +index 3f8b90e..c57ec21 100644 +--- a/public/index.php ++++ b/public/index.php +@@ -1,5 +1,9 @@ + bootEnv(dirname(__DIR__).'/.env'); ++if (getenv('ENV_DIR') !== false) { ++ (new Dotenv())->bootEnv(getenv('ENV_DIR').'/.env'); ++} else { ++ (new Dotenv())->bootEnv(dirname(__DIR__).'/.env'); ++} + + if ($_SERVER['APP_DEBUG']) { + umask(0000); +diff --git a/src/Kernel.php b/src/Kernel.php +index 0f43d2f..8863f2c 100644 +--- a/src/Kernel.php ++++ b/src/Kernel.php +@@ -49,4 +49,20 @@ class Kernel extends BaseKernel + (require $path)($routes->withPath($path), $this); + } + } ++ ++ public function getCacheDir(): string ++ { ++ if (getenv('CACHE_DIR') !== false) { ++ return getenv('CACHE_DIR') . '/' . $this->getEnvironment(); ++ } ++ return parent::getCacheDir(); ++ } ++ ++ public function getLogDir(): string ++ { ++ if (getenv('LOG_DIR') !== false) { ++ return getenv('LOG_DIR') . '/' . $this->getEnvironment(); ++ } ++ return parent::getLogDir(); ++ } + } diff --git a/pkgs/by-name/da/davis/package.nix b/pkgs/by-name/da/davis/package.nix new file mode 100644 index 000000000000..6469fd363f46 --- /dev/null +++ b/pkgs/by-name/da/davis/package.nix @@ -0,0 +1,41 @@ +{ lib, fetchFromGitHub, php, }: + +php.buildComposerProject (finalAttrs: { + pname = "davis"; + version = "4.4.1"; + + src = fetchFromGitHub { + owner = "tchapi"; + repo = "davis"; + rev = "v${finalAttrs.version}"; + hash = "sha256-UBekmxKs4dveHh866Ix8UzY2NL6ygb8CKor+V3Cblns="; + }; + + composerLock = ./composer.lock; + vendorHash = "sha256-WGeNwBRzfUXa7kPIwd7/5dPXDjaBxXirAJcm6lNzueY="; + + patches = [ + # Symfony loads .env files from the same directory as composer.json + # The .env files contain runtime configuration that shouldn't be baked into deriviation for the package + # This patch adds a few extension points exposing three environment variables: + # RUNTIME_DIRECTORY (where to load .env from), CACHE_DIRECTORY and LOG_DIRECTORY (symfony cache and log rw directories) + # Upstream PR https://github.com/tchapi/davis/issues/154 + ./davis-data.patch + ]; + + postInstall = '' + # Only include the files needed for runtime in the derivation + mv $out/share/php/${finalAttrs.pname}/{migrations,public,src,config,bin,templates,tests,translations,vendor,symfony.lock,composer.json,composer.lock} $out + # Save the upstream .env file for reference, but rename it so it is not loaded + mv $out/share/php/${finalAttrs.pname}/.env $out/env-upstream + rm -rf "$out/share" + ''; + + meta = { + changelog = "https://github.com/tchapi/davis/releases/tag/v${finalAttrs.version}"; + homepage = "https://github.com/tchapi/davis"; + description = "A simple CardDav and CalDav server inspired by Baïkal"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ramblurr ]; + }; +}) From 17d73dc9a13e3ec159b38860ce0eba708a1c4c83 Mon Sep 17 00:00:00 2001 From: Casey Link Date: Mon, 25 Mar 2024 15:32:01 +0100 Subject: [PATCH 69/99] nixos/davis: init --- .../manual/release-notes/rl-2405.section.md | 2 + nixos/modules/module-list.nix | 1 + nixos/modules/services/web-apps/davis.md | 32 + nixos/modules/services/web-apps/davis.nix | 554 ++++++++++++++++++ nixos/tests/all-tests.nix | 1 + nixos/tests/davis.nix | 59 ++ 6 files changed, 649 insertions(+) create mode 100644 nixos/modules/services/web-apps/davis.md create mode 100644 nixos/modules/services/web-apps/davis.nix create mode 100644 nixos/tests/davis.nix diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index 7afc14347f5c..763cb1df3202 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -138,6 +138,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m - [Scrutiny](https://github.com/AnalogJ/scrutiny), a S.M.A.R.T monitoring tool for hard disks with a web frontend. +- [davis](https://github.com/tchapi/davis), a simple CardDav and CalDav server inspired by Baïkal. Available as [services.davis]($opt-services-davis.enable). + - [systemd-lock-handler](https://git.sr.ht/~whynothugo/systemd-lock-handler/), a bridge between logind D-Bus events and systemd targets. Available as [services.systemd-lock-handler.enable](#opt-services.systemd-lock-handler.enable). - [wastebin](https://github.com/matze/wastebin), a pastebin server written in rust. Available as [services.wastebin](#opt-services.wastebin.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 9cbc421239ba..9a1bfe94a405 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1309,6 +1309,7 @@ ./services/web-apps/cloudlog.nix ./services/web-apps/code-server.nix ./services/web-apps/convos.nix + ./services/web-apps/davis.nix ./services/web-apps/dex.nix ./services/web-apps/discourse.nix ./services/web-apps/documize.nix diff --git a/nixos/modules/services/web-apps/davis.md b/nixos/modules/services/web-apps/davis.md new file mode 100644 index 000000000000..9775d8221b5b --- /dev/null +++ b/nixos/modules/services/web-apps/davis.md @@ -0,0 +1,32 @@ +# Davis {#module-services-davis} + +[Davis](https://github.com/tchapi/davis/) is a caldav and carrddav server. It +has a simple, fully translatable admin interface for sabre/dav based on Symfony +5 and Bootstrap 5, initially inspired by Baïkal. + +## Basic Usage {#module-services-davis-basic-usage} + +At first, an application secret is needed, this can be generated with: +```ShellSession +$ cat /dev/urandom | tr -dc a-zA-Z0-9 | fold -w 48 | head -n 1 +``` + +After that, `davis` can be deployed like this: +``` +{ + services.davis = { + enable = true; + hostname = "davis.example.com"; + mail = { + dsn = "smtp://username@example.com:25"; + inviteFromAddress = "davis@example.com"; + }; + adminLogin = "admin"; + adminPasswordFile = "/run/secrets/davis-admin-password"; + appSecretFile = "/run/secrets/davis-app-secret"; + nginx = {}; + }; +} +``` + +This deploys Davis using a sqlite database running out of `/var/lib/davis`. diff --git a/nixos/modules/services/web-apps/davis.nix b/nixos/modules/services/web-apps/davis.nix new file mode 100644 index 000000000000..325ede38d2a1 --- /dev/null +++ b/nixos/modules/services/web-apps/davis.nix @@ -0,0 +1,554 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.services.davis; + db = cfg.database; + mail = cfg.mail; + + mysqlLocal = db.createLocally && db.driver == "mysql"; + pgsqlLocal = db.createLocally && db.driver == "postgresql"; + + user = cfg.user; + group = cfg.group; + + isSecret = v: lib.isAttrs v && v ? _secret && (lib.isString v._secret || builtins.isPath v._secret); + davisEnvVars = lib.generators.toKeyValue { + mkKeyValue = lib.flip lib.generators.mkKeyValueDefault "=" { + mkValueString = + v: + if builtins.isInt v then + toString v + else if lib.isString v then + "\"${v}\"" + else if true == v then + "true" + else if false == v then + "false" + else if null == v then + "" + else if isSecret v then + if (lib.isString v._secret) then + builtins.hashString "sha256" v._secret + else + builtins.hashString "sha256" (builtins.readFile v._secret) + else + throw "unsupported type ${builtins.typeOf v}: ${(lib.generators.toPretty { }) v}"; + }; + }; + secretPaths = lib.mapAttrsToList (_: v: v._secret) (lib.filterAttrs (_: isSecret) cfg.config); + mkSecretReplacement = file: '' + replace-secret ${ + lib.escapeShellArgs [ + ( + if (lib.isString file) then + builtins.hashString "sha256" file + else + builtins.hashString "sha256" (builtins.readFile file) + ) + file + "${cfg.dataDir}/.env.local" + ] + } + ''; + secretReplacements = lib.concatMapStrings mkSecretReplacement secretPaths; + filteredConfig = lib.converge (lib.filterAttrsRecursive ( + _: v: + !lib.elem v [ + { } + null + ] + )) cfg.config; + davisEnv = pkgs.writeText "davis.env" (davisEnvVars filteredConfig); +in +{ + options.services.davis = { + enable = lib.mkEnableOption (lib.mdDoc "Davis is a caldav and carddav server"); + + user = lib.mkOption { + default = "davis"; + description = lib.mdDoc "User davis runs as."; + type = lib.types.str; + }; + + group = lib.mkOption { + default = "davis"; + description = lib.mdDoc "Group davis runs as."; + type = lib.types.str; + }; + + package = lib.mkPackageOption pkgs "davis" { }; + + dataDir = lib.mkOption { + type = lib.types.path; + default = "/var/lib/davis"; + description = lib.mdDoc '' + Davis data directory. + ''; + }; + + hostname = lib.mkOption { + type = lib.types.str; + example = "davis.yourdomain.org"; + description = lib.mdDoc '' + Domain of the host to serve davis under. You may want to change it if you + run Davis on a different URL than davis.yourdomain. + ''; + }; + + config = lib.mkOption { + type = lib.types.attrsOf ( + lib.types.nullOr ( + lib.types.either + (lib.types.oneOf [ + lib.types.bool + lib.types.int + lib.types.port + lib.types.path + lib.types.str + ]) + ( + lib.types.submodule { + options = { + _secret = lib.mkOption { + type = lib.types.nullOr ( + lib.types.oneOf [ + lib.types.str + lib.types.path + ] + ); + description = lib.mdDoc '' + The path to a file containing the value the + option should be set to in the final + configuration file. + ''; + }; + }; + } + ) + ) + ); + default = { }; + + example = ''''; + description = lib.mdDoc ''''; + }; + + adminLogin = lib.mkOption { + type = lib.types.str; + default = "root"; + description = lib.mdDoc '' + Username for the admin account. + ''; + }; + adminPasswordFile = lib.mkOption { + type = lib.types.path; + description = lib.mdDoc '' + The full path to a file that contains the admin's password. Must be + readable by the user. + ''; + example = "/run/secrets/davis-admin-pass"; + }; + + appSecretFile = lib.mkOption { + type = lib.types.path; + description = lib.mdDoc '' + A file containing the Symfony APP_SECRET - Its value should be a series + of characters, numbers and symbols chosen randomly and the recommended + length is around 32 characters. Can be generated with cat + /dev/urandom | tr -dc a-zA-Z0-9 | fold -w 48 | head -n 1. + ''; + example = "/run/secrets/davis-appsecret"; + }; + + database = { + driver = lib.mkOption { + type = lib.types.enum [ + "sqlite" + "postgresql" + "mysql" + ]; + default = "sqlite"; + description = lib.mdDoc "Database type, required in all circumstances."; + }; + urlFile = lib.mkOption { + type = lib.types.nullOr lib.types.path; + default = null; + example = "/run/secrets/davis-db-url"; + description = lib.mdDoc '' + A file containing the database connection url. If set then it + overrides all other database settings (except driver). This is + mandatory if you want to use an external database, that is when + `services.davis.database.createLocally` is `false`. + ''; + }; + name = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = "davis"; + description = lib.mdDoc "Database name, only used when the databse is created locally."; + }; + createLocally = lib.mkOption { + type = lib.types.bool; + default = true; + description = lib.mdDoc "Create the database and database user locally."; + }; + }; + + mail = { + dsn = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + description = lib.mdDoc "Mail DSN for sending emails. Mutually exclusive with `services.davis.mail.dsnFile`."; + example = "smtp://username:password@example.com:25"; + }; + dsnFile = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + example = "/run/secrets/davis-mail-dsn"; + description = lib.mdDoc "A file containing the mail DSN for sending emails. Mutually exclusive with `servies.davis.mail.dsn`."; + }; + inviteFromAddress = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = null; + description = lib.mdDoc "Email address to send invitations from."; + example = "no-reply@dav.example.com"; + }; + }; + + nginx = lib.mkOption { + type = lib.types.submodule ( + lib.recursiveUpdate (import ../web-servers/nginx/vhost-options.nix { inherit config lib; }) { } + ); + default = null; + example = '' + { + serverAliases = [ + "dav.''${config.networking.domain}" + ]; + # To enable encryption and let let's encrypt take care of certificate + forceSSL = true; + enableACME = true; + } + ''; + description = lib.mdDoc '' + With this option, you can customize the nginx virtualHost settings. + ''; + }; + + poolConfig = lib.mkOption { + type = lib.types.attrsOf ( + lib.types.oneOf [ + lib.types.str + lib.types.int + lib.types.bool + ] + ); + default = { + "pm" = "dynamic"; + "pm.max_children" = 32; + "pm.start_servers" = 2; + "pm.min_spare_servers" = 2; + "pm.max_spare_servers" = 4; + "pm.max_requests" = 500; + }; + description = lib.mdDoc '' + Options for the davis PHP pool. See the documentation on php-fpm.conf + for details on configuration directives. + ''; + }; + }; + + config = + let + defaultServiceConfig = { + ReadWritePaths = "${cfg.dataDir}"; + User = user; + UMask = 77; + DeviceAllow = ""; + LockPersonality = true; + NoNewPrivileges = true; + PrivateDevices = true; + PrivateTmp = true; + PrivateUsers = true; + ProcSubset = "pid"; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectKernelTunables = true; + ProtectProc = "invisible"; + ProtectSystem = "strict"; + RemoveIPC = true; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@system-service" + "~@resources" + "~@privileged" + ]; + WorkingDirectory = "${cfg.package}/"; + }; + in + lib.mkIf cfg.enable { + assertions = [ + { + assertion = db.createLocally -> db.urlFile == null; + message = "services.davis.database.urlFile must be unset if services.davis.database.createLocally is set true."; + } + { + assertion = db.createLocally || db.urlFile != null; + message = "One of services.davis.database.urlFile or services.davis.database.createLocally must be set."; + } + { + assertion = (mail.dsn != null) != (mail.dsnFile != null); + message = "One of (and only one of) services.davis.mail.dsn or services.davis.mail.dsnFile must be set."; + } + ]; + services.davis.config = + { + APP_ENV = "prod"; + CACHE_DIR = "${cfg.dataDir}/var/cache"; + # note: we do not need the log dir (we log to stdout/journald), by davis/symfony will try to create it, and the default value is one in the nix-store + # so we set it to a path under dataDir to avoid something like: Unable to create the "logs" directory (/nix/store/5cfskz0ybbx37s1161gjn5klwb5si1zg-davis-4.4.1/var/log). + LOG_DIR = "${cfg.dataDir}/var/log"; + LOG_FILE_PATH = "/dev/stdout"; + DATABASE_DRIVER = db.driver; + INVITE_FROM_ADDRESS = mail.inviteFromAddress; + APP_SECRET._secret = cfg.appSecretFile; + ADMIN_LOGIN = cfg.adminLogin; + ADMIN_PASSWORD._secret = cfg.adminPasswordFile; + APP_TIMEZONE = config.time.timeZone; + WEBDAV_ENABLED = false; + CALDAV_ENABLED = true; + CARDDAV_ENABLED = true; + } + // (if mail.dsn != null then { MAILER_DSN = mail.dsn; } else { MAILER_DSN._secret = mail.dsnFile; }) + // ( + if db.createLocally then + { + DATABASE_URL = + if db.driver == "sqlite" then + "sqlite:///${cfg.dataDir}/davis.db" # note: sqlite needs 4 slashes for an absolute path + else if + pgsqlLocal + # note: davis expects a non-standard postgres uri (due to the underlying doctrine library) + # specifically the charset query parameter, and the dummy hostname which is overriden by the host query parameter + then + "postgres://${user}@localhost/${db.name}?host=/run/postgresql&charset=UTF-8" + else if mysqlLocal then + "mysql://${user}@localhost/${db.name}?socket=/run/mysqld/mysqld.sock" + else + null; + } + else + { DATABASE_URL._secret = db.urlFile; } + ); + + users = { + users = lib.mkIf (user == "davis") { + davis = { + description = "Davis service user"; + group = cfg.group; + isSystemUser = true; + home = cfg.dataDir; + }; + }; + groups = lib.mkIf (group == "davis") { davis = { }; }; + }; + + systemd.tmpfiles.rules = [ + "d ${cfg.dataDir} 0710 ${user} ${group} - -" + "d ${cfg.dataDir}/var 0700 ${user} ${group} - -" + "d ${cfg.dataDir}/var/log 0700 ${user} ${group} - -" + "d ${cfg.dataDir}/var/cache 0700 ${user} ${group} - -" + ]; + + services.phpfpm.pools.davis = { + inherit user group; + phpOptions = '' + log_errors = on + ''; + phpEnv = { + ENV_DIR = "${cfg.dataDir}"; + CACHE_DIR = "${cfg.dataDir}/var/cache"; + #LOG_DIR = "${cfg.dataDir}/var/log"; + }; + settings = + { + "listen.mode" = "0660"; + "pm" = "dynamic"; + "pm.max_children" = 256; + "pm.start_servers" = 10; + "pm.min_spare_servers" = 5; + "pm.max_spare_servers" = 20; + } + // ( + if cfg.nginx != null then + { + "listen.owner" = config.services.nginx.user; + "listen.group" = config.services.nginx.group; + } + else + { } + ) + // cfg.poolConfig; + }; + + # Reading the user-provided secret files requires root access + systemd.services.davis-env-setup = { + description = "Setup davis environment"; + before = [ + "phpfpm-davis.service" + "davis-db-migrate.service" + ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + Type = "oneshot"; + RemainAfterExit = true; + }; + path = [ pkgs.replace-secret ]; + restartTriggers = [ + cfg.package + davisEnv + ]; + script = '' + # error handling + set -euo pipefail + # create .env file with the upstream values + install -T -m 0600 -o ${user} ${cfg.package}/env-upstream "${cfg.dataDir}/.env" + # create .env.local file with the user-provided values + install -T -m 0600 -o ${user} ${davisEnv} "${cfg.dataDir}/.env.local" + ${secretReplacements} + ''; + }; + + systemd.services.davis-db-migrate = { + description = "Migrate davis database"; + before = [ "phpfpm-davis.service" ]; + after = + lib.optional mysqlLocal "mysql.service" + ++ lib.optional pgsqlLocal "postgresql.service" + ++ [ "davis-env-setup.service" ]; + requires = + lib.optional mysqlLocal "mysql.service" + ++ lib.optional pgsqlLocal "postgresql.service" + ++ [ "davis-env-setup.service" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = defaultServiceConfig // { + Type = "oneshot"; + RemainAfterExit = true; + Environment = [ + "ENV_DIR=${cfg.dataDir}" + "CACHE_DIR=${cfg.dataDir}/var/cache" + "LOG_DIR=${cfg.dataDir}/var/log" + ]; + EnvironmentFile = "${cfg.dataDir}/.env.local"; + }; + restartTriggers = [ + cfg.package + davisEnv + ]; + script = '' + set -euo pipefail + ${cfg.package}/bin/console cache:clear --no-debug + ${cfg.package}/bin/console cache:warmup --no-debug + ${cfg.package}/bin/console doctrine:migrations:migrate + ''; + }; + + systemd.services.phpfpm-davis.after = [ + "davis-env-setup.service" + "davis-db-migrate.service" + ]; + systemd.services.phpfpm-davis.requires = [ + "davis-env-setup.service" + "davis-db-migrate.service" + ] ++ lib.optional mysqlLocal "mysql.service" ++ lib.optional pgsqlLocal "postgresql.service"; + systemd.services.phpfpm-davis.serviceConfig.ReadWritePaths = [ cfg.dataDir ]; + + services.nginx = lib.mkIf (cfg.nginx != null) { + enable = lib.mkDefault true; + virtualHosts = { + "${cfg.hostname}" = lib.mkMerge [ + cfg.nginx + { + root = lib.mkForce "${cfg.package}/public"; + extraConfig = '' + charset utf-8; + index index.php; + ''; + locations = { + "/" = { + extraConfig = '' + try_files $uri $uri/ /index.php$is_args$args; + ''; + }; + "~* ^/.well-known/(caldav|carddav)$" = { + extraConfig = '' + return 302 $http_x_forwarded_proto://$host/dav/; + ''; + }; + "~ ^(.+\.php)(.*)$" = { + extraConfig = '' + try_files $fastcgi_script_name =404; + include ${config.services.nginx.package}/conf/fastcgi_params; + include ${config.services.nginx.package}/conf/fastcgi.conf; + fastcgi_pass unix:${config.services.phpfpm.pools.davis.socket}; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param PATH_INFO $fastcgi_path_info; + fastcgi_split_path_info ^(.+\.php)(.*)$; + fastcgi_param X-Forwarded-Proto $http_x_forwarded_proto; + fastcgi_param X-Forwarded-Port $http_x_forwarded_port; + ''; + }; + "~ /(\\.ht)" = { + extraConfig = '' + deny all; + return 404; + ''; + }; + }; + } + ]; + }; + }; + + services.mysql = lib.mkIf mysqlLocal { + enable = true; + package = lib.mkDefault pkgs.mariadb; + ensureDatabases = [ db.name ]; + ensureUsers = [ + { + name = user; + ensurePermissions = { + "${db.name}.*" = "ALL PRIVILEGES"; + }; + } + ]; + }; + + services.postgresql = lib.mkIf pgsqlLocal { + enable = true; + ensureDatabases = [ db.name ]; + ensureUsers = [ + { + name = user; + ensureDBOwnership = true; + } + ]; + }; + }; + + meta = { + doc = ./davis.md; + maintainers = pkgs.davis.meta.maintainers; + }; +} diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 204775c5d444..80edf70ee11c 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -233,6 +233,7 @@ in { croc = handleTest ./croc.nix {}; darling = handleTest ./darling.nix {}; dae = handleTest ./dae.nix {}; + davis = handleTest ./davis.nix {}; dconf = handleTest ./dconf.nix {}; deconz = handleTest ./deconz.nix {}; deepin = handleTest ./deepin.nix {}; diff --git a/nixos/tests/davis.nix b/nixos/tests/davis.nix new file mode 100644 index 000000000000..68958cee7a43 --- /dev/null +++ b/nixos/tests/davis.nix @@ -0,0 +1,59 @@ +import ./make-test-python.nix ( + { lib, pkgs, ... }: + + { + name = "davis"; + + meta.maintainers = pkgs.davis.meta.maintainers; + + nodes.machine = + { config, ... }: + { + virtualisation = { + memorySize = 512; + }; + + services.davis = { + enable = true; + hostname = "davis.example.com"; + database = { + driver = "postgresql"; + }; + mail = { + dsnFile = "${pkgs.writeText "davisMailDns" "smtp://username:password@example.com:25"}"; + inviteFromAddress = "dav@example.com"; + }; + adminLogin = "admin"; + appSecretFile = "${pkgs.writeText "davisAppSecret" "52882ef142066e09ab99ce816ba72522e789505caba224"}"; + adminPasswordFile = "${pkgs.writeText "davisAdminPass" "nixos"}"; + nginx = { }; + }; + }; + + testScript = '' + start_all() + machine.wait_for_unit("postgresql.service") + machine.wait_for_unit("davis-env-setup.service") + machine.wait_for_unit("davis-db-migrate.service") + machine.wait_for_unit("nginx.service") + machine.wait_for_unit("phpfpm-davis.service") + + with subtest("welcome screen loads"): + machine.succeed( + "curl -sSfL --resolve davis.example.com:80:127.0.0.1 http://davis.example.com/ | grep 'Davis'" + ) + + with subtest("login works"): + csrf_token = machine.succeed( + "curl -c /tmp/cookies -sSfL --resolve davis.example.com:80:127.0.0.1 http://davis.example.com/login | grep '_csrf_token' | sed -E 's,.*value=\"(.*)\".*,\\1,g'" + ) + r = machine.succeed( + f"curl -b /tmp/cookies --resolve davis.example.com:80:127.0.0.1 http://davis.example.com/login -X POST -F username=admin -F password=nixos -F _csrf_token={csrf_token.strip()} -D headers" + ) + print(r) + machine.succeed( + "[[ $(grep -i 'location: ' headers | cut -d: -f2- | xargs echo) == /dashboard* ]]" + ) + ''; + } +) From 9320e86e1a81ac48953d4c63b03c50ab6ebba9d1 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Mon, 1 Apr 2024 13:03:40 +0200 Subject: [PATCH 70/99] github-desktop: use `stdenvNoCC` --- .../version-management/github-desktop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/github-desktop/default.nix b/pkgs/applications/version-management/github-desktop/default.nix index 3df312d5a94f..854c56f8a2d7 100644 --- a/pkgs/applications/version-management/github-desktop/default.nix +++ b/pkgs/applications/version-management/github-desktop/default.nix @@ -1,4 +1,4 @@ -{ stdenv +{ stdenvNoCC , lib , fetchurl , autoPatchelfHook @@ -19,7 +19,7 @@ , openssl }: -stdenv.mkDerivation (finalAttrs: { +stdenvNoCC.mkDerivation (finalAttrs: { pname = "github-desktop"; version = "3.3.10"; rcversion = "1"; From f438a28dc598db30aa8853e541efb6bc296abfbd Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Mon, 1 Apr 2024 13:04:32 +0200 Subject: [PATCH 71/99] github-desktop: sort `meta` attributes --- .../version-management/github-desktop/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/version-management/github-desktop/default.nix b/pkgs/applications/version-management/github-desktop/default.nix index 854c56f8a2d7..e6d7abf3a58b 100644 --- a/pkgs/applications/version-management/github-desktop/default.nix +++ b/pkgs/applications/version-management/github-desktop/default.nix @@ -81,10 +81,10 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = { description = "GUI for managing Git and GitHub."; homepage = "https://desktop.github.com/"; - sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.mit; + mainProgram = "github-desktop"; maintainers = with lib.maintainers; [ dan4ik605743 ]; platforms = lib.platforms.linux; - mainProgram = "github-desktop"; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; }; }) From 5e504176f3f7c5bf5a07bfcd2eb3785677f59874 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Mon, 1 Apr 2024 13:05:03 +0200 Subject: [PATCH 72/99] github-desktop: avoid reusing `pname` everywhere --- .../github-desktop/default.nix | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/pkgs/applications/version-management/github-desktop/default.nix b/pkgs/applications/version-management/github-desktop/default.nix index e6d7abf3a58b..b5799ae66607 100644 --- a/pkgs/applications/version-management/github-desktop/default.nix +++ b/pkgs/applications/version-management/github-desktop/default.nix @@ -19,14 +19,16 @@ , openssl }: +let + rcversion = "1"; + arch = "amd64"; +in stdenvNoCC.mkDerivation (finalAttrs: { pname = "github-desktop"; version = "3.3.10"; - rcversion = "1"; - arch = "amd64"; src = fetchurl { - url = "https://github.com/shiftkey/desktop/releases/download/release-${finalAttrs.version}-linux${finalAttrs.rcversion}/GitHubDesktop-linux-${finalAttrs.arch}-${finalAttrs.version}-linux${finalAttrs.rcversion}.deb"; + url = "https://github.com/shiftkey/desktop/releases/download/release-${finalAttrs.version}-linux${rcversion}/GitHubDesktop-linux-${arch}-${finalAttrs.version}-linux${rcversion}.deb"; hash = "sha256-zzq6p/DAQmgSw4KAUYqtrQKkIPksLzkUQjGzwO26WgQ="; }; @@ -53,18 +55,18 @@ stdenvNoCC.mkDerivation (finalAttrs: { unpackPhase = '' runHook preUnpack - mkdir -p $TMP/${finalAttrs.pname} $out/{opt,bin} - cp $src $TMP/${finalAttrs.pname}.deb - ar vx ${finalAttrs.pname}.deb - tar --no-overwrite-dir -xvf data.tar.xz -C $TMP/${finalAttrs.pname}/ + mkdir -p $TMP/github-desktop $out/{opt,bin} + cp $src $TMP/github-desktop.deb + ar vx github-desktop.deb + tar --no-overwrite-dir -xvf data.tar.xz -C $TMP/github-desktop/ runHook postUnpack ''; installPhase = '' runHook preInstall - cp -R $TMP/${finalAttrs.pname}/usr/share $out/ - cp -R $TMP/${finalAttrs.pname}/usr/lib/${finalAttrs.pname}/* $out/opt/ - ln -sf $out/opt/${finalAttrs.pname} $out/bin/${finalAttrs.pname} + cp -R $TMP/github-desktop/usr/share $out/ + cp -R $TMP/github-desktop/usr/lib/github-desktop/* $out/opt/ + ln -sf $out/opt/github-desktop $out/bin/github-desktop runHook postInstall ''; From 9b12db21dcbce131d181e70605f8a827278103a1 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Mon, 1 Apr 2024 13:05:48 +0200 Subject: [PATCH 73/99] github-desktop: move to `pkgs/by-name` --- .../default.nix => by-name/gi/github-desktop/package.nix} | 0 pkgs/top-level/all-packages.nix | 2 -- 2 files changed, 2 deletions(-) rename pkgs/{applications/version-management/github-desktop/default.nix => by-name/gi/github-desktop/package.nix} (100%) diff --git a/pkgs/applications/version-management/github-desktop/default.nix b/pkgs/by-name/gi/github-desktop/package.nix similarity index 100% rename from pkgs/applications/version-management/github-desktop/default.nix rename to pkgs/by-name/gi/github-desktop/package.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 20a9726b6882..462402c82426 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3874,8 +3874,6 @@ with pkgs; github-copilot-intellij-agent = callPackage ../development/tools/github-copilot-intellij-agent { }; - github-desktop = callPackage ../applications/version-management/github-desktop { }; - github-to-sqlite = with python3Packages; toPythonApplication github-to-sqlite; gistyc = with python3Packages; toPythonApplication gistyc; From c5d1dea41f2b551794ba282a2d690433d92a1b87 Mon Sep 17 00:00:00 2001 From: Raroh73 <96078496+Raroh73@users.noreply.github.com> Date: Mon, 1 Apr 2024 13:09:54 +0200 Subject: [PATCH 74/99] vscode-extensions.continue.continue: 0.8.12 -> 0.8.22 --- .../applications/editors/vscode/extensions/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 9bc494a44511..2c3756f057f5 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -997,26 +997,26 @@ let sources = { "x86_64-linux" = { arch = "linux-x64"; - sha256 = "05kh6sf3jv3510q33chf8s5n1kfp9wcm7650va7mcrdkfr9g8ysq"; + sha256 = "1y5g8ay9sfz7r21fhwb2wr28yng7w3f2l265ljnfkz8yv8qzqpgk"; }; "x86_64-darwin" = { arch = "darwin-x64"; - sha256 = "0242h9kq47qvs1xynr5x8dzxkc5pwgb6km0iqpyy9kydg8ng1vp3"; + sha256 = "14v9p5k9c9s9hfb1ymmkp66kmm9pvnvvljzrrs9wmajss5mlglf5"; }; "aarch64-linux" = { arch = "linux-arm64"; - sha256 = "1qm3f2lh8mi3hnyp2bmx7j2lir6fmbbxkzh6b8zf579khhbapnaz"; + sha256 = "1mngfy42crp8xs14s06rkyzv16ci12bq8y39miyy7wa3a343b0ii"; }; "aarch64-darwin" = { arch = "darwin-arm64"; - sha256 = "18w22z1c5qgkpw2zlwmi9gs9dx1pcm51f0r8my7ynnvgl6mp12sg"; + sha256 = "1gd1kr91s52kc8ldzy78cbn6gix1b8cvd6jh4sfrhq7k8yyn7g1l"; }; }; in { name = "continue"; publisher = "Continue"; - version = "0.8.12"; + version = "0.8.22"; } // sources.${stdenv.system}; nativeBuildInputs = [ autoPatchelfHook From 90253a84f20ef58e4db72811fb3ca914c572f59d Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Mon, 1 Apr 2024 13:43:54 +0200 Subject: [PATCH 75/99] kwin & plasma-mobile: 6.0.3 -> 6.0.3.1 --- pkgs/kde/generated/sources/plasma.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/kde/generated/sources/plasma.json b/pkgs/kde/generated/sources/plasma.json index 13b8781de46a..a01558e8550e 100644 --- a/pkgs/kde/generated/sources/plasma.json +++ b/pkgs/kde/generated/sources/plasma.json @@ -125,9 +125,9 @@ "hash": "sha256-2dz0Ncoy1J8kG5EWyzWa2TrQ8KsgZ/bkG5VaeDTY4bo=" }, "kwin": { - "version": "6.0.3", - "url": "mirror://kde/stable/plasma/6.0.3/kwin-6.0.3.tar.xz", - "hash": "sha256-D0bnds1Qg3TFUsClpVpFvyj5zMyIcAiQCYVKETTXKnk=" + "version": "6.0.3.1", + "url": "mirror://kde/stable/plasma/6.0.3/kwin-6.0.3.1.tar.xz", + "hash": "sha256-8VEIqZMga5YqPFg1uYigtJIsCpvJq4D69rNqM00yGzM=" }, "kwrited": { "version": "6.0.3", @@ -215,9 +215,9 @@ "hash": "sha256-W+t3hNEk2eoQjwCAQ6k8g3wHVz9byK/PkhbutGRK/Yo=" }, "plasma-mobile": { - "version": "6.0.3", - "url": "mirror://kde/stable/plasma/6.0.3/plasma-mobile-6.0.3.tar.xz", - "hash": "sha256-oHgh272xMZYdoTidGyR2xsdASVTU50mAw9+nUyF5+Xo=" + "version": "6.0.3.1", + "url": "mirror://kde/stable/plasma/6.0.3/plasma-mobile-6.0.3.1.tar.xz", + "hash": "sha256-pIkzv+U5s3JOxKP4JwW54SF4MwhgNA1nd4riCmU224M=" }, "plasma-nano": { "version": "6.0.3", From 6dbdaedadef3aeb37d05bba4639ea5eaf535858f Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 1 Apr 2024 13:55:56 +0200 Subject: [PATCH 76/99] python311Packages.testcontainers: 4.2.0 -> 4.3.0 Changelog: https://github.com/testcontainers/testcontainers-python/releases/tag/testcontainers-v4.3.0 --- pkgs/development/python-modules/testcontainers/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/testcontainers/default.nix b/pkgs/development/python-modules/testcontainers/default.nix index f4529499c97d..d92d9733749f 100644 --- a/pkgs/development/python-modules/testcontainers/default.nix +++ b/pkgs/development/python-modules/testcontainers/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "testcontainers"; - version = "4.2.0"; + version = "4.3.0"; disabled = pythonOlder "3.9"; pyproject = true; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "testcontainers"; repo = "testcontainers-python"; rev = "refs/tags/testcontainers-v${version}"; - hash = "sha256-vHCrfeL3fPLZQgH7nlugIlADQaBbUQKsTBFhhq7kYWQ="; + hash = "sha256-eCoGMfd4gNuPY1rRRK5LH2BI236ZiZ0igTZDALuHevk="; }; postPatch = '' From 731678dab4f29d87bb7b1d8f8ca5cb0422759fae Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Mon, 1 Apr 2024 13:32:34 +0200 Subject: [PATCH 77/99] github-desktop: 3.3.10 -> 3.3.12 Now support `aarch64` and `x86_64` archs --- pkgs/by-name/gi/github-desktop/package.nix | 23 +++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/pkgs/by-name/gi/github-desktop/package.nix b/pkgs/by-name/gi/github-desktop/package.nix index b5799ae66607..7ada2ddb663b 100644 --- a/pkgs/by-name/gi/github-desktop/package.nix +++ b/pkgs/by-name/gi/github-desktop/package.nix @@ -20,17 +20,26 @@ }: let - rcversion = "1"; - arch = "amd64"; + rcversion = "2"; in stdenvNoCC.mkDerivation (finalAttrs: { pname = "github-desktop"; - version = "3.3.10"; + version = "3.3.12"; - src = fetchurl { - url = "https://github.com/shiftkey/desktop/releases/download/release-${finalAttrs.version}-linux${rcversion}/GitHubDesktop-linux-${arch}-${finalAttrs.version}-linux${rcversion}.deb"; - hash = "sha256-zzq6p/DAQmgSw4KAUYqtrQKkIPksLzkUQjGzwO26WgQ="; - }; + src = + let + urls = { + "x86_64-linux" = { + url = "https://github.com/shiftkey/desktop/releases/download/release-${finalAttrs.version}-linux${rcversion}/GitHubDesktop-linux-amd64-${finalAttrs.version}-linux${rcversion}.deb"; + hash = "sha256-iflKD7NPuZvhxviNW8xmtCOYgdRz1rXiG42ycWCjXiY="; + }; + "aarch64-linux" = { + url = "https://github.com/shiftkey/desktop/releases/download/release-${finalAttrs.version}-linux${rcversion}/GitHubDesktop-linux-arm64-${finalAttrs.version}-linux${rcversion}.deb"; + hash = "sha256-C9eCvuf/TwXQiYjZ88xSiyaqi8+cppmrLiSYTyQCkmg="; + }; + }; + in + fetchurl urls."${stdenvNoCC.hostPlatform.system}" or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}"); nativeBuildInputs = [ autoPatchelfHook From 630a8cdc746f8834fcc3f01c374ad02c78c3cc69 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 12:23:44 +0000 Subject: [PATCH 78/99] act: 0.2.60 -> 0.2.61 --- pkgs/development/tools/misc/act/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/tools/misc/act/default.nix b/pkgs/development/tools/misc/act/default.nix index 7f4e992f0983..2bb9467a4170 100644 --- a/pkgs/development/tools/misc/act/default.nix +++ b/pkgs/development/tools/misc/act/default.nix @@ -5,16 +5,16 @@ buildGoModule rec { pname = "act"; - version = "0.2.60"; + version = "0.2.61"; src = fetchFromGitHub { owner = "nektos"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-FFSnxxqKAFYPuX4NJahiBS65Goj6se2U5WdPiKpNXDo="; + hash = "sha256-X2Um6z3BXhshNGTwih/mvXigCplzUr+mVOn0SZ7RESA="; }; - vendorHash = "sha256-FLomnHVhpvbM+O3OGwjXfrtTVbegnzry8Sl+4a3uw08="; + vendorHash = "sha256-HtCHAMcTFQS8YWjWt9LEHkhZBE8XDF4YOcGBFv0e5l0="; doCheck = false; From b2c561ddb38af375a5709baafb082b80db91ea6b Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 13:14:00 +0000 Subject: [PATCH 79/99] tfswitch: 0.13.1308 -> 1.0.0 --- pkgs/applications/networking/cluster/tfswitch/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/networking/cluster/tfswitch/default.nix b/pkgs/applications/networking/cluster/tfswitch/default.nix index 50079dc762d8..63c4ba3c2de4 100644 --- a/pkgs/applications/networking/cluster/tfswitch/default.nix +++ b/pkgs/applications/networking/cluster/tfswitch/default.nix @@ -1,16 +1,16 @@ { buildGoModule, lib, fetchFromGitHub }: buildGoModule rec { pname = "tfswitch"; - version = "0.13.1308"; + version = "1.0.0"; src = fetchFromGitHub { owner = "warrensbox"; repo = "terraform-switcher"; rev = version; - sha256 = "sha256-EyA7LwfL3vCNzd2wpyUbrUnvkM0/f7/cQp+jcAcGZsg="; + sha256 = "sha256-zUFnJCYh6XM0HiET45ZRa/ESS/n3XdYKkUJuLiDDRAg="; }; - vendorHash = "sha256-NX+vzI/Fa/n9ZQjpESes4fNVAmKlA1rqPwSKsL2GEUY="; + vendorHash = "sha256-DsC9djgt7Er2m2TacUldpJP43jC0IBklPnu41Saf4DY="; # Disable tests since it requires network access and relies on the # presence of release.hashicorp.com From b5a8fcb949a3041a0b7a8c00539fd42e3c4eed13 Mon Sep 17 00:00:00 2001 From: Wolfgang Walther Date: Mon, 1 Apr 2024 15:19:58 +0200 Subject: [PATCH 80/99] perl: fix spelling of filename --- pkgs/development/interpreters/perl/default.nix | 4 ++-- .../interpreters/perl/{intepreter.nix => interpreter.nix} | 0 2 files changed, 2 insertions(+), 2 deletions(-) rename pkgs/development/interpreters/perl/{intepreter.nix => interpreter.nix} (100%) diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix index 50189a6213ba..76a51dc8cb3e 100644 --- a/pkgs/development/interpreters/perl/default.nix +++ b/pkgs/development/interpreters/perl/default.nix @@ -55,7 +55,7 @@ let in rec { # Maint version - perl536 = callPackage ./intepreter.nix { + perl536 = callPackage ./interpreter.nix { self = perl536; version = "5.36.3"; sha256 = "sha256-8qGtiBFjkaF2Ji3ULfxS7yKvtA9MDpgQ8V1WHm8ccmo="; @@ -63,7 +63,7 @@ in rec { }; # Maint version - perl538 = callPackage ./intepreter.nix { + perl538 = callPackage ./interpreter.nix { self = perl538; version = "5.38.2"; sha256 = "sha256-oKMVNEUet7g8fWWUpJdUOlTUiLyQygD140diV39AZV4="; diff --git a/pkgs/development/interpreters/perl/intepreter.nix b/pkgs/development/interpreters/perl/interpreter.nix similarity index 100% rename from pkgs/development/interpreters/perl/intepreter.nix rename to pkgs/development/interpreters/perl/interpreter.nix From 0532932c8618a51fb92ab6b6005a4b11badb0a52 Mon Sep 17 00:00:00 2001 From: Mattys Gervais Date: Mon, 1 Apr 2024 10:15:21 -0400 Subject: [PATCH 81/99] godot_4: change package naming --- pkgs/development/tools/godot/4/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/tools/godot/4/default.nix b/pkgs/development/tools/godot/4/default.nix index 50cdeb857245..29cc7543e37f 100644 --- a/pkgs/development/tools/godot/4/default.nix +++ b/pkgs/development/tools/godot/4/default.nix @@ -42,7 +42,7 @@ let else "${k}=${builtins.toJSON v}"); in stdenv.mkDerivation rec { - pname = "godot"; + pname = "godot4"; version = "4.2.1-stable"; commitHash = "b09f793f564a6c95dc76acc654b390e68441bd01"; From 6d89459fb0840c7f0782afb42deaf45b41d348a2 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 14:23:59 +0000 Subject: [PATCH 82/99] python312Packages.frozendict: 2.4.0 -> 2.4.1 --- pkgs/development/python-modules/frozendict/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/frozendict/default.nix b/pkgs/development/python-modules/frozendict/default.nix index 05f9f0ea7c07..3742c9ef9a44 100644 --- a/pkgs/development/python-modules/frozendict/default.nix +++ b/pkgs/development/python-modules/frozendict/default.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "frozendict"; - version = "2.4.0"; + version = "2.4.1"; format = "setuptools"; disabled = pythonOlder "3.6"; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "Marco-Sulla"; repo = "python-frozendict"; rev = "refs/tags/v${version}"; - hash = "sha256-mC5udKWez1s9JiVthtzCwEUPLheJpxRmcL3KdRiYP18="; + hash = "sha256-cPDuJ6AzMxOmJztSf6IZ04acJhjJCphQSl0DaN9cChI="; }; # build C version if it exists From 7d4b7ac4df0e8c277910a1ecb77f3122e8576b30 Mon Sep 17 00:00:00 2001 From: Julien Malka Date: Mon, 1 Apr 2024 16:26:00 +0200 Subject: [PATCH 83/99] treewide: point wiki links to official wiki --- README.md | 4 ++-- nixos/doc/manual/administration/system-state.chapter.md | 2 +- pkgs/applications/editors/vscode/vscode.nix | 2 +- pkgs/development/tools/build-managers/ekam/default.nix | 2 +- pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix | 2 +- pkgs/tools/misc/polar/default.nix | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 5e616eff2f52..6cf32842b8a1 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,8 @@ * [Discourse Forum](https://discourse.nixos.org/) * [Matrix Chat](https://matrix.to/#/#community:nixos.org) * [NixOS Weekly](https://weekly.nixos.org/) -* [Community-maintained wiki](https://nixos.wiki/) -* [Community-maintained list of ways to get in touch](https://nixos.wiki/wiki/Get_In_Touch#Chat) (Discord, Telegram, IRC, etc.) +* [Official wiki](https://wiki.nixos.org/) +* [Community-maintained list of ways to get in touch](https://wiki.nixos.org/wiki/Get_In_Touch#Chat) (Discord, Telegram, IRC, etc.) # Other Project Repositories diff --git a/nixos/doc/manual/administration/system-state.chapter.md b/nixos/doc/manual/administration/system-state.chapter.md index 6840cc390257..89013933cda5 100644 --- a/nixos/doc/manual/administration/system-state.chapter.md +++ b/nixos/doc/manual/administration/system-state.chapter.md @@ -7,7 +7,7 @@ However, it is possible and not-uncommon to create [impermanent systems], whose `rootfs` is either a `tmpfs` or reset during boot. While NixOS itself supports this kind of configuration, special care needs to be taken. -[impermanent systems]: https://nixos.wiki/wiki/Impermanence +[impermanent systems]: https://wiki.nixos.org/wiki/Impermanence ```{=include=} sections diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix index aac9e1b72fdc..9a6c7157acbe 100644 --- a/pkgs/applications/editors/vscode/vscode.nix +++ b/pkgs/applications/editors/vscode/vscode.nix @@ -7,7 +7,7 @@ , isInsiders ? false # sourceExecutableName is the name of the binary in the source archive over # which we have no control and it is needed to run the insider version as -# documented in https://nixos.wiki/wiki/Visual_Studio_Code#Insiders_Build +# documented in https://wiki.nixos.org/wiki/Visual_Studio_Code#Insiders_Build # On MacOS the insider binary is still called code instead of code-insiders as # of 2023-08-06. , sourceExecutableName ? "code" + lib.optionalString (isInsiders && stdenv.isLinux) "-insiders" diff --git a/pkgs/development/tools/build-managers/ekam/default.nix b/pkgs/development/tools/build-managers/ekam/default.nix index 9247a2b21302..09e43f7ef8a6 100644 --- a/pkgs/development/tools/build-managers/ekam/default.nix +++ b/pkgs/development/tools/build-managers/ekam/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation { # of the nix store -- but ekam builds capnp locally and links against it, # so that causes the build to fail. So, we turn this off. # - # See: https://nixos.wiki/wiki/Development_environment_with_nix-shell#Troubleshooting + # See: https://wiki.nixos.org/wiki/Development_environment_with_nix-shell#Troubleshooting preBuild = '' unset NIX_ENFORCE_PURITY ''; diff --git a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix index 914296d70953..b43bc40c85f6 100644 --- a/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix +++ b/pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix @@ -100,7 +100,7 @@ in rec { ) (builtins.attrNames pkgConfig); # build-time JSON generation to avoid IFD - # see https://nixos.wiki/wiki/Import_From_Derivation + # see https://wiki.nixos.org/wiki/Import_From_Derivation workspaceJSON = pkgs.runCommand "${name}-workspace-package.json" { nativeBuildInputs = [ pkgs.jq ]; diff --git a/pkgs/tools/misc/polar/default.nix b/pkgs/tools/misc/polar/default.nix index 022752bbc75d..2edf40ffb292 100644 --- a/pkgs/tools/misc/polar/default.nix +++ b/pkgs/tools/misc/polar/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { ''; buildInputs = [ gems ruby ]; - # See: https://nixos.wiki/wiki/Packaging/Ruby + # See: https://wiki.nixos.org/wiki/Packaging/Ruby # # Put library content under lib/polar and the raw scripts under share/polar. # Then, wrap the scripts so that they use the correct ruby environment and put From 746cfa80bde08a2ee7e8d18aca85a6a721078396 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Mon, 1 Apr 2024 14:36:32 +0000 Subject: [PATCH 84/99] smenu: 1.3.0 -> 1.4.0 --- pkgs/tools/misc/smenu/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/smenu/default.nix b/pkgs/tools/misc/smenu/default.nix index d2d893936f50..8521e549ecc6 100644 --- a/pkgs/tools/misc/smenu/default.nix +++ b/pkgs/tools/misc/smenu/default.nix @@ -1,14 +1,14 @@ { lib, stdenv, fetchFromGitHub, ncurses }: stdenv.mkDerivation rec { - version = "1.3.0"; + version = "1.4.0"; pname = "smenu"; src = fetchFromGitHub { owner = "p-gen"; repo = "smenu"; rev = "v${version}"; - sha256 = "sha256-r2N+MmZI2KCuYarrFL2Xn5hu4FO3n5MqADRuTXMOtk0="; + sha256 = "sha256-pAbtTqDIdDWReeaRK7UHXh/PS5f44/PRWaICluH02ec="; }; buildInputs = [ ncurses ]; From 1bcf7a8b53edf3f6ccd508d166ad16e2d0698f6a Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 1 Apr 2024 10:24:15 -0400 Subject: [PATCH 85/99] freebsd: Use's @rhelmot's version infra This is in preparation for multiple version support, and PR #298849. --- pkgs/os-specific/bsd/freebsd/default.nix | 13 +- .../bsd/freebsd/evdev-proto/default.nix | 2 +- .../bsd/freebsd/pkgs/mkDerivation.nix | 4 +- pkgs/os-specific/bsd/freebsd/pkgs/sed.nix | 4 +- pkgs/os-specific/bsd/freebsd/pkgs/source.nix | 11 + pkgs/os-specific/bsd/freebsd/update.py | 182 +++++++++++++++ pkgs/os-specific/bsd/freebsd/versions.json | 210 ++++++++++++++++++ 7 files changed, 412 insertions(+), 14 deletions(-) create mode 100644 pkgs/os-specific/bsd/freebsd/pkgs/source.nix create mode 100755 pkgs/os-specific/bsd/freebsd/update.py create mode 100644 pkgs/os-specific/bsd/freebsd/versions.json diff --git a/pkgs/os-specific/bsd/freebsd/default.nix b/pkgs/os-specific/bsd/freebsd/default.nix index 965185cc14aa..1f321f032516 100644 --- a/pkgs/os-specific/bsd/freebsd/default.nix +++ b/pkgs/os-specific/bsd/freebsd/default.nix @@ -7,15 +7,10 @@ let inherit (buildPackages.buildPackages) rsync; - version = "13.1.0"; + versions = builtins.fromJSON (builtins.readFile ./versions.json); - # `BuildPackages.fetchgit` avoids some probably splicing-caused infinite - # recursion. - freebsdSrc = buildPackages.fetchgit { - url = "https://git.FreeBSD.org/src.git"; - rev = "release/${version}"; - sha256 = "14nhk0kls83xfb64d5xy14vpi6k8laswjycjg80indq9pkcr2rlv"; - }; + version = "13.1.0"; + branch = "release/${version}"; in makeScopeWithSplicing' { otherSplices = generateSplicesForMkScope "freebsd"; @@ -23,7 +18,7 @@ in makeScopeWithSplicing' { callPackage = self.callPackage; directory = ./pkgs; } // { - inherit freebsdSrc; + sourceData = versions.${branch}; ports = fetchzip { url = "https://cgit.freebsd.org/ports/snapshot/ports-dde3b2b456c3a4bdd217d0bf3684231cc3724a0a.tar.gz"; diff --git a/pkgs/os-specific/bsd/freebsd/evdev-proto/default.nix b/pkgs/os-specific/bsd/freebsd/evdev-proto/default.nix index b6dab0d8bdfc..d62c01f5eb88 100644 --- a/pkgs/os-specific/bsd/freebsd/evdev-proto/default.nix +++ b/pkgs/os-specific/bsd/freebsd/evdev-proto/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation { INSTALL_AS_USER = true; NO_CHECKSUM = true; NO_MTREE = true; - SRC_BASE = freebsd.freebsdSrc; + SRC_BASE = freebsd.source; preUnpack = '' export MAKE_JOBS_NUMBER="$NIX_BUILD_CORES" diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix b/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix index 14c9f0405534..79428626b8ec 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/mkDerivation.nix @@ -2,7 +2,7 @@ , compatIfNeeded , runCommand, rsync , freebsd-lib -, freebsdSrc +, source , bsdSetupHook, freebsdSetupHook , makeMinimal , install, tsort, lorder, mandoc, groff @@ -20,7 +20,7 @@ in stdenv'.mkDerivation (rec { set -x path="$out/$p" mkdir -p "$(dirname "$path")" - src_path="${freebsdSrc}/$p" + src_path="${source}/$p" if [[ -d "$src_path" ]]; then src_path+=/; fi rsync --chmod="+w" -r "$src_path" "$path" set +x diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/sed.nix b/pkgs/os-specific/bsd/freebsd/pkgs/sed.nix index 6532506b3fc2..07b55afe133f 100644 --- a/pkgs/os-specific/bsd/freebsd/pkgs/sed.nix +++ b/pkgs/os-specific/bsd/freebsd/pkgs/sed.nix @@ -1,7 +1,7 @@ -{ mkDerivation, freebsdSrc }: +{ mkDerivation, source }: mkDerivation { path = "usr.bin/sed"; - TESTSRC = "${freebsdSrc}/contrib/netbsd-tests"; + TESTSRC = "${source}/contrib/netbsd-tests"; MK_TESTS = "no"; } diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/source.nix b/pkgs/os-specific/bsd/freebsd/pkgs/source.nix new file mode 100644 index 000000000000..5e31f900e821 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/source.nix @@ -0,0 +1,11 @@ +{ fetchFromGitHub, sourceData }: + +# Using fetchFromGitHub from their mirror because it's a lot faster than their git server +# If you want you could fetchgit from "https://git.FreeBSD.org/src.git" instead. +# The update script still pulls directly from git.freebsd.org +fetchFromGitHub { + name = "src"; # Want to rename this next rebuild + owner = "freebsd"; + repo = "freebsd-src"; + inherit (sourceData) rev hash; +} diff --git a/pkgs/os-specific/bsd/freebsd/update.py b/pkgs/os-specific/bsd/freebsd/update.py new file mode 100755 index 000000000000..cd20f67148fa --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/update.py @@ -0,0 +1,182 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i python3 -p git "python3.withPackages (ps: with ps; [ gitpython packaging beautifulsoup4 pandas lxml ])" + +import bs4 +import git +import io +import json +import os +import packaging.version +import pandas +import re +import subprocess +import sys +import tempfile +import typing +import urllib.request + +_QUERY_VERSION_PATTERN = re.compile('^([A-Z]+)="(.+)"$') +BASE_DIR = os.path.dirname(os.path.abspath(__file__)) +MIN_VERSION = packaging.version.Version("13.0.0") +MAIN_BRANCH = "main" +TAG_PATTERN = re.compile( + f"^release/({packaging.version.VERSION_PATTERN})$", re.IGNORECASE | re.VERBOSE +) +REMOTE = "origin" +BRANCH_PATTERN = re.compile( + f"^{REMOTE}/((stable|releng)/({packaging.version.VERSION_PATTERN}))$", + re.IGNORECASE | re.VERBOSE, +) + + +def request_supported_refs() -> list[str]: + # Looks pretty shady but I think this should work with every version of the page in the last 20 years + r = re.compile("^h\d$", re.IGNORECASE) + soup = bs4.BeautifulSoup( + urllib.request.urlopen("https://www.freebsd.org/security"), features="lxml" + ) + header = soup.find( + lambda tag: r.match(tag.name) is not None + and tag.text.lower() == "supported freebsd releases" + ) + table = header.find_next("table") + df = pandas.read_html(io.StringIO(table.prettify()))[0] + return list(df["Branch"]) + + +def query_version(repo: git.Repo) -> dict[str, typing.Any]: + # This only works on FreeBSD 13 and later + text = ( + subprocess.check_output( + ["bash", os.path.join(repo.working_dir, "sys", "conf", "newvers.sh"), "-v"] + ) + .decode("utf-8") + .strip() + ) + fields = dict() + for line in text.splitlines(): + m = _QUERY_VERSION_PATTERN.match(line) + if m is None: + continue + fields[m[1].lower()] = m[2] + + fields["major"] = packaging.version.parse(fields["revision"]).major + return fields + + +def handle_commit( + repo: git.Repo, + rev: git.objects.commit.Commit, + ref_name: str, + ref_type: str, + supported_refs: list[str], + old_versions: dict[str, typing.Any], +) -> dict[str, typing.Any]: + if old_versions.get(ref_name, {}).get("rev", None) == rev.hexsha: + print(f"{ref_name}: revision still {rev.hexsha}, skipping") + return old_versions[ref_name] + + repo.git.checkout(rev) + print(f"{ref_name}: checked out {rev.hexsha}") + + full_hash = ( + subprocess.check_output(["nix", "hash", "path", "--sri", repo.working_dir]) + .decode("utf-8") + .strip() + ) + print(f"{ref_name}: hash is {full_hash}") + + version = query_version(repo) + print(f"{ref_name}: version is {version['version']}") + + return { + "rev": rev.hexsha, + "hash": full_hash, + "ref": ref_name, + "refType": ref_type, + "supported": ref_name in supported_refs, + "version": query_version(repo), + } + + +def main() -> None: + # Normally uses /run/user/*, which is on a tmpfs and too small + temp_dir = tempfile.TemporaryDirectory(dir="/tmp") + print(f"Selected temporary directory {temp_dir.name}") + + if len(sys.argv) >= 2: + orig_repo = git.Repo(sys.argv[1]) + print(f"Fetching updates on {orig_repo.git_dir}") + orig_repo.remote("origin").fetch() + else: + print("Cloning source repo") + orig_repo = git.Repo.clone_from( + "https://git.FreeBSD.org/src.git", to_path=os.path.join(temp_dir.name, "orig") + ) + + supported_refs = request_supported_refs() + print(f"Supported refs are: {' '.join(supported_refs)}") + + print("Doing git crimes, do not run `git worktree prune` until after script finishes!") + workdir = os.path.join(temp_dir.name, "work") + git.cmd.Git(orig_repo.git_dir).worktree("add", "--orphan", workdir) + + # Have to create object before removing .git otherwise it will complain + repo = git.Repo(workdir) + repo.git.set_persistent_git_options(git_dir=repo.git_dir) + # Remove so that nix hash doesn't see the file + os.remove(os.path.join(workdir, ".git")) + + print(f"Working in directory {repo.working_dir} with git directory {repo.git_dir}") + + + try: + with open(os.path.join(BASE_DIR, "versions.json"), "r") as f: + old_versions = json.load(f) + except FileNotFoundError: + old_versions = dict() + + versions = dict() + for tag in repo.tags: + m = TAG_PATTERN.match(tag.name) + if m is None: + continue + version = packaging.version.parse(m[1]) + if version < MIN_VERSION: + print(f"Skipping old tag {tag.name} ({version})") + continue + + print(f"Trying tag {tag.name} ({version})") + + result = handle_commit( + repo, tag.commit, tag.name, "tag", supported_refs, old_versions + ) + versions[tag.name] = result + + for branch in repo.remote("origin").refs: + m = BRANCH_PATTERN.match(branch.name) + if m is not None: + fullname = m[1] + version = packaging.version.parse(m[3]) + if version < MIN_VERSION: + print(f"Skipping old branch {fullname} ({version})") + continue + print(f"Trying branch {fullname} ({version})") + elif branch.name == f"{REMOTE}/{MAIN_BRANCH}": + fullname = MAIN_BRANCH + print(f"Trying development branch {fullname}") + else: + continue + + result = handle_commit( + repo, branch.commit, fullname, "branch", supported_refs, old_versions + ) + versions[fullname] = result + + + with open(os.path.join(BASE_DIR, "versions.json"), "w") as out: + json.dump(versions, out, sort_keys=True, indent=2) + out.write("\n") + +if __name__ == '__main__': + main() diff --git a/pkgs/os-specific/bsd/freebsd/versions.json b/pkgs/os-specific/bsd/freebsd/versions.json new file mode 100644 index 000000000000..736c4c3a3e3c --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/versions.json @@ -0,0 +1,210 @@ +{ + "main": { + "hash": "sha256-C5ucT9BK/eK8a9HNSDDi8S1uhpPmiqV22XEooxAqbPw=", + "ref": "main", + "refType": "branch", + "rev": "125c4560bc70971b950d035cfcd2255b89984011", + "supported": false, + "version": { + "branch": "CURRENT", + "major": 15, + "reldate": "1500017", + "release": "15.0-CURRENT", + "revision": "15.0", + "type": "FreeBSD", + "version": "FreeBSD 15.0-CURRENT" + } + }, + "release/13.0.0": { + "hash": "sha256-2WYk/taxWc74uh2KJf9TzWDxUPrtkvt2nhU/qUZMu+Q=", + "ref": "release/13.0.0", + "refType": "tag", + "rev": "ea31abc261ffc01b6ff5671bffb15cf910a07f4b", + "supported": false, + "version": { + "branch": "RELEASE", + "major": 13, + "reldate": "1300139", + "release": "13.0-RELEASE", + "revision": "13.0", + "type": "FreeBSD", + "version": "FreeBSD 13.0-RELEASE" + } + }, + "release/13.1.0": { + "hash": "sha256-m2aR2bwJNxsBepJ5ybWiaJp4Nwm+l0bMcn0gTSeY0JI=", + "ref": "release/13.1.0", + "refType": "tag", + "rev": "fc952ac2212b121aa6eefc273f5960ec3e0a466d", + "supported": false, + "version": { + "branch": "RELEASE", + "major": 13, + "reldate": "1301000", + "release": "13.1-RELEASE", + "revision": "13.1", + "type": "FreeBSD", + "version": "FreeBSD 13.1-RELEASE" + } + }, + "release/13.2.0": { + "hash": "sha256-VuktVknlKYkklST0I5CUiH7OsDn3DVTE1W9O/IhaCkE=", + "ref": "release/13.2.0", + "refType": "tag", + "rev": "525ecfdad597980ea4cd59238e24c8530dbcd31d", + "supported": false, + "version": { + "branch": "RELEASE", + "major": 13, + "reldate": "1302001", + "release": "13.2-RELEASE", + "revision": "13.2", + "type": "FreeBSD", + "version": "FreeBSD 13.2-RELEASE" + } + }, + "release/13.3.0": { + "hash": "sha256-djqHlPnGlJCi9DGtX1kTULB2EEj8YUsjGTIUDQoHzAQ=", + "ref": "release/13.3.0", + "refType": "tag", + "rev": "80d2b634ddf0b459910b54a04bc09f5cbc7185a7", + "supported": false, + "version": { + "branch": "RELEASE", + "major": 13, + "reldate": "1303001", + "release": "13.3-RELEASE", + "revision": "13.3", + "type": "FreeBSD", + "version": "FreeBSD 13.3-RELEASE" + } + }, + "release/14.0.0": { + "hash": "sha256-eBKwCYcOG9Lg7gBA2gZqxQFO/3uMMrcQGtgqi8se6zA=", + "ref": "release/14.0.0", + "refType": "tag", + "rev": "f9716eee8ab45ad906d9b5c5233ca20c10226ca7", + "supported": false, + "version": { + "branch": "RELEASE", + "major": 14, + "reldate": "1400097", + "release": "14.0-RELEASE", + "revision": "14.0", + "type": "FreeBSD", + "version": "FreeBSD 14.0-RELEASE" + } + }, + "releng/13.0": { + "hash": "sha256-7PrqTb2o21IQgQ2N+zjavlzX/ju60Rw+MXjMRICmQi0=", + "ref": "releng/13.0", + "refType": "branch", + "rev": "5fe9c9de03ef3191d216964bc4d8e427d5ed5720", + "supported": false, + "version": { + "branch": "RELEASE-p13", + "major": 13, + "reldate": "1300139", + "release": "13.0-RELEASE-p13", + "revision": "13.0", + "type": "FreeBSD", + "version": "FreeBSD 13.0-RELEASE-p13" + } + }, + "releng/13.1": { + "hash": "sha256-9fou2HVWlpNRKkc8XToe8/aSxwbNsIZIAKpteeSjLnc=", + "ref": "releng/13.1", + "refType": "branch", + "rev": "39b281c2996526288c0f2ae94abe6b164bcd5954", + "supported": false, + "version": { + "branch": "RELEASE-p9", + "major": 13, + "reldate": "1301000", + "release": "13.1-RELEASE-p9", + "revision": "13.1", + "type": "FreeBSD", + "version": "FreeBSD 13.1-RELEASE-p9" + } + }, + "releng/13.2": { + "hash": "sha256-KN508aIe02Ue4TjlonO6TmAQ7DmiOOSOYrZfg5HP9AM=", + "ref": "releng/13.2", + "refType": "branch", + "rev": "f5ac4e174fdd3497749e351c27aafb34171c5730", + "supported": true, + "version": { + "branch": "RELEASE-p11", + "major": 13, + "reldate": "1302001", + "release": "13.2-RELEASE-p11", + "revision": "13.2", + "type": "FreeBSD", + "version": "FreeBSD 13.2-RELEASE-p11" + } + }, + "releng/13.3": { + "hash": "sha256-huzUiMZHfyK/mgLD3hW+DaSGgAaTUIuM51xDp+IE3qE=", + "ref": "releng/13.3", + "refType": "branch", + "rev": "7a0d63c9093222938f26cd63ff742e555168de77", + "supported": true, + "version": { + "branch": "RELEASE-p1", + "major": 13, + "reldate": "1303001", + "release": "13.3-RELEASE-p1", + "revision": "13.3", + "type": "FreeBSD", + "version": "FreeBSD 13.3-RELEASE-p1" + } + }, + "releng/14.0": { + "hash": "sha256-15B9Nglshniokju88dEKj3BIffZ6L28L+ZuhAC3UqOI=", + "ref": "releng/14.0", + "refType": "branch", + "rev": "d338712beb16ad7740bbd00bd93299a131a68045", + "supported": true, + "version": { + "branch": "RELEASE-p6", + "major": 14, + "reldate": "1400097", + "release": "14.0-RELEASE-p6", + "revision": "14.0", + "type": "FreeBSD", + "version": "FreeBSD 14.0-RELEASE-p6" + } + }, + "stable/13": { + "hash": "sha256-XateLKKs2A/HCP9Lx/nBm1cybB3otrbeXQvyCL40S0M=", + "ref": "stable/13", + "refType": "branch", + "rev": "e0a58ef24a3baf5ed4cc09a798b9fe2d85408052", + "supported": true, + "version": { + "branch": "STABLE", + "major": 13, + "reldate": "1303502", + "release": "13.3-STABLE", + "revision": "13.3", + "type": "FreeBSD", + "version": "FreeBSD 13.3-STABLE" + } + }, + "stable/14": { + "hash": "sha256-tIKnK/SYBDk9UnE5AfhjeDpqHnzspYbor0678ye/mrs=", + "ref": "stable/14", + "refType": "branch", + "rev": "ab872ab0bf195e872ed8d955aab3b2a537a230cd", + "supported": true, + "version": { + "branch": "STABLE", + "major": 14, + "reldate": "1400510", + "release": "14.0-STABLE", + "revision": "14.0", + "type": "FreeBSD", + "version": "FreeBSD 14.0-STABLE" + } + } +} From 897c8e597670a0ceaaea8171e7cd673c9775ecc0 Mon Sep 17 00:00:00 2001 From: ocfox Date: Thu, 21 Mar 2024 08:19:38 +0800 Subject: [PATCH 86/99] pwvucontrol: 0.2 -> 0.3.1 --- .../applications/audio/pwvucontrol/Cargo.lock | 125 ++++++++++-------- .../audio/pwvucontrol/default.nix | 22 ++- 2 files changed, 87 insertions(+), 60 deletions(-) diff --git a/pkgs/applications/audio/pwvucontrol/Cargo.lock b/pkgs/applications/audio/pwvucontrol/Cargo.lock index 035a6d9af2f8..c894d9222ae7 100644 --- a/pkgs/applications/audio/pwvucontrol/Cargo.lock +++ b/pkgs/applications/audio/pwvucontrol/Cargo.lock @@ -4,18 +4,18 @@ version = 3 [[package]] name = "aho-corasick" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c" +checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a" dependencies = [ "memchr", ] [[package]] name = "anyhow" -version = "1.0.72" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "autocfg" @@ -25,11 +25,11 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "bindgen" -version = "0.64.0" +version = "0.66.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" +checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.0", "cexpr", "clang-sys", "lazy_static", @@ -40,7 +40,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] @@ -51,9 +51,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" [[package]] name = "bitmaps" @@ -76,7 +76,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d859b656775a6b1dd078d3e5924884e6ea88aa649a7fdde03d5b2ec56ffcc10b" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.4.0", "cairo-sys-rs", "glib", "libc", @@ -137,6 +137,7 @@ checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" dependencies = [ "glob", "libc", + "libloading", ] [[package]] @@ -226,7 +227,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.29", ] [[package]] @@ -287,9 +288,9 @@ dependencies = [ [[package]] name = "gdk4" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8965ed5455cbfa1eb45c14a3b971cbacb43481913a3a5b9078b2ef0d9a01bd4b" +checksum = "6982d9815ed6ac95b0467b189e81f29dea26d08a732926ec113e65744ed3f96c" dependencies = [ "cairo-rs", "gdk-pixbuf", @@ -302,9 +303,9 @@ dependencies = [ [[package]] name = "gdk4-sys" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeffd4a7d68046c28666d817071bf025254aaed4df35099443f0c306ca6177f3" +checksum = "dbab43f332a3cf1df9974da690b5bb0e26720ed09a228178ce52175372dcfef0" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -375,7 +376,7 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "331156127e8166dd815cf8d2db3a5beb492610c716c03ee6db4f2d07092af0a7" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.4.0", "futures-channel", "futures-core", "futures-executor", @@ -404,7 +405,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.29", ] [[package]] @@ -459,9 +460,9 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53b3b9e8090acb325d08cde84b30fc29b963a75fbac93160e9c5a30d2b335742" +checksum = "cc25855255120f294d874acd6eaf4fbed7ce1cdc550e2d8415ea57fafbe816d5" dependencies = [ "cairo-rs", "gdk4", @@ -474,9 +475,9 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0770d1ede7189092748c4ef5b6921264eb945fd2318a58e8f59dc273000810f8" +checksum = "e1ecf3a63bf1223d68f80f72cc896c4d8c80482fbce1c9a12c66d3de7290ee46" dependencies = [ "cairo-sys-rs", "gdk4-sys", @@ -490,9 +491,9 @@ dependencies = [ [[package]] name = "gtk4" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0973f9b9ade10fc22403810b7283d47b533033715f2aaa36288cd3bf90d63efc" +checksum = "a3b095b26f2a2df70be1805d3590eeb9d7a05ecb5be9649b82defc72dc56228c" dependencies = [ "cairo-rs", "field-offset", @@ -511,9 +512,9 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae9f2c4530f3168fe506b0be7bc15f7a93ef38d020edb27d81a921a26cbca851" +checksum = "d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f" dependencies = [ "anyhow", "proc-macro-crate", @@ -525,9 +526,9 @@ dependencies = [ [[package]] name = "gtk4-sys" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19fde71ef2e78ac8fb18073c345b5f29609048d4045a345613645aa1163243c1" +checksum = "7b0bdde87c50317b4f355bcbb4a9c2c414ece1b7c824fb4ad4ba8f3bdb2c6603" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -629,11 +630,22 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] -name = "libspa" -version = "0.6.0" -source = "git+https://gitlab.freedesktop.org/saivert/pipewire-rs?branch=misc_fixes#46bfbd8bdf0ad3ff1d25d02b2e36f97333c78e23" +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ - "bitflags 2.3.3", + "cfg-if", + "winapi", +] + +[[package]] +name = "libspa" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcdea6b6663acf456641a4dea1b87fa6970a3e881596237713192d8f5423b542" +dependencies = [ + "bitflags 2.4.0", "cc", "convert_case", "cookie-factory", @@ -646,8 +658,9 @@ dependencies = [ [[package]] name = "libspa-sys" -version = "0.6.0" -source = "git+https://gitlab.freedesktop.org/saivert/pipewire-rs?branch=misc_fixes#46bfbd8bdf0ad3ff1d25d02b2e36f97333c78e23" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e63fc701d3375e6e255765d6a6172d9af06583115e78f3dfe2c8ff1dfd0b2dab" dependencies = [ "bindgen", "cc", @@ -669,9 +682,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "malloc_buf" @@ -816,11 +829,12 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pipewire" -version = "0.6.0" -source = "git+https://gitlab.freedesktop.org/saivert/pipewire-rs?branch=misc_fixes#46bfbd8bdf0ad3ff1d25d02b2e36f97333c78e23" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "062c97c31818918b8bffdc66cfd93f3e4b4141f505c63234f9ff0a658fddedab" dependencies = [ "anyhow", - "bitflags 2.3.3", + "bitflags 2.4.0", "libc", "libspa", "libspa-sys", @@ -832,8 +846,9 @@ dependencies = [ [[package]] name = "pipewire-sys" -version = "0.6.0" -source = "git+https://gitlab.freedesktop.org/saivert/pipewire-rs?branch=misc_fixes#46bfbd8bdf0ad3ff1d25d02b2e36f97333c78e23" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d558e2cffe5f97ac32c7e0b6cb6074b5271b8c2c628ac68633342ee08fdab308" dependencies = [ "bindgen", "libspa-sys", @@ -908,9 +923,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.32" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -1045,9 +1060,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.28" +version = "2.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" +checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" dependencies = [ "proc-macro2", "quote", @@ -1081,22 +1096,22 @@ checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab" [[package]] name = "thiserror" -version = "1.0.44" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" +checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.44" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" +checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.29", ] [[package]] @@ -1187,9 +1202,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "winnow" -version = "0.5.4" +version = "0.5.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acaaa1190073b2b101e15083c38ee8ec891b5e05cbee516521e94ec008f61e64" +checksum = "d09770118a7eb1ccaf4a594a221334119a44a814fcb0d31c5b85e83e97227a97" dependencies = [ "memchr", ] @@ -1197,9 +1212,9 @@ dependencies = [ [[package]] name = "wireplumber" version = "0.1.0" -source = "git+https://github.com/saivert/wireplumber.rs.git?branch=use_pipewire_from_git#8dbf383ce54dee7b8d578b87c13f3507a65291f8" +source = "git+https://github.com/arcnmx/wireplumber.rs.git?rev=341b0c4e8d177f5f21c109cf88cca4f2dc1f853a#341b0c4e8d177f5f21c109cf88cca4f2dc1f853a" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.0", "gio", "glib", "libc", @@ -1213,7 +1228,7 @@ dependencies = [ [[package]] name = "wireplumber-sys" version = "0.1.0" -source = "git+https://github.com/saivert/wireplumber.rs.git?branch=use_pipewire_from_git#8dbf383ce54dee7b8d578b87c13f3507a65291f8" +source = "git+https://github.com/arcnmx/wireplumber.rs.git?rev=341b0c4e8d177f5f21c109cf88cca4f2dc1f853a#341b0c4e8d177f5f21c109cf88cca4f2dc1f853a" dependencies = [ "gio-sys", "glib-sys", diff --git a/pkgs/applications/audio/pwvucontrol/default.nix b/pkgs/applications/audio/pwvucontrol/default.nix index 935fadb5f2fb..ae631e1ff516 100644 --- a/pkgs/applications/audio/pwvucontrol/default.nix +++ b/pkgs/applications/audio/pwvucontrol/default.nix @@ -1,6 +1,7 @@ { lib , stdenv , fetchFromGitHub +, fetchFromGitLab , cargo , desktop-file-utils , meson @@ -19,22 +20,33 @@ , wireplumber }: +let + wireplumber_0_4 = wireplumber.overrideAttrs (attrs: rec { + version = "0.4.17"; + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "pipewire"; + repo = "wireplumber"; + rev = version; + hash = "sha256-vhpQT67+849WV1SFthQdUeFnYe/okudTQJoL3y+wXwI="; + }; + }); +in stdenv.mkDerivation rec { pname = "pwvucontrol"; - version = "0.2"; + version = "0.3.1"; src = fetchFromGitHub { owner = "saivert"; repo = "pwvucontrol"; rev = version; - hash = "sha256-jBvMLewBZi4LyX//YUyJQjqPvxnKqlpuLZAm9zpDMrA="; + hash = "sha256-t4JUpKtuO1JgrdsNbl0M/SwPmoqu7WxsaD74vlJeVhY="; }; cargoDeps = rustPlatform.importCargoLock { lockFile = ./Cargo.lock; outputHashes = { - "libspa-0.6.0" = "sha256-CVLQ9JXRMo78/kay1TpRgRuk5v/Z5puPVMzLA30JRk8="; - "wireplumber-0.1.0" = "sha256-wkku9vqIMdV+HTkWCPXKH2KM1Xzf0xApC5zrVmgxhsA="; + "wireplumber-0.1.0" = "sha256-+LZ8xKok2AOegW8WvfrfZGXuQB4xHrLNshcTOHab+xQ="; }; }; @@ -58,7 +70,7 @@ stdenv.mkDerivation rec { libadwaita pango pipewire - wireplumber + wireplumber_0_4 ]; meta = with lib; { From e9eb20c7570e6e6f39b61e770e290281f7f207c8 Mon Sep 17 00:00:00 2001 From: Florian Warzecha Date: Mon, 1 Apr 2024 17:13:02 +0200 Subject: [PATCH 87/99] dropbear: cleanup static build Co-authored-by: Wolfgang Walther --- pkgs/tools/networking/dropbear/default.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pkgs/tools/networking/dropbear/default.nix b/pkgs/tools/networking/dropbear/default.nix index 687ce08e1f47..f64e51555bdd 100644 --- a/pkgs/tools/networking/dropbear/default.nix +++ b/pkgs/tools/networking/dropbear/default.nix @@ -1,5 +1,4 @@ { lib, stdenv, fetchurl, zlib, libxcrypt -, enableStatic ? stdenv.hostPlatform.isStatic , enableSCP ? false , sftpPath ? "/run/current-system/sw/libexec/sftp-server" }: @@ -23,9 +22,6 @@ stdenv.mkDerivation rec { sha256 = "sha256-vFoSH/vJS1FxrV6+Ab5CdG1Qqnl8lUmkY5iUoWdJRDs="; }; - dontDisableStatic = enableStatic; - configureFlags = lib.optional enableStatic "LDFLAGS=-static"; - CFLAGS = lib.pipe (lib.attrNames dflags) [ (builtins.map (name: "-D${name}=\\\"${dflags.${name}}\\\"")) (lib.concatStringsSep " ") From 39c882983c4a004ce682ddb5863b914e3d30ac6a Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 1 Apr 2024 08:15:30 -0700 Subject: [PATCH 88/99] openafs: avoid top-level with --- pkgs/servers/openafs/1.8/module.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix index bdb4286afa85..00de1015beeb 100644 --- a/pkgs/servers/openafs/1.8/module.nix +++ b/pkgs/servers/openafs/1.8/module.nix @@ -14,11 +14,9 @@ , fetchpatch }: -with (import ./srcs.nix { - inherit fetchurl; -}); - let + inherit (import ./srcs.nix { inherit fetchurl; }) src version; + modDestDir = "$out/lib/modules/${kernel.modDirVersion}/extra/openafs"; kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; From b4f1d8c1d0acac61e41ce6089cada393ea3278d9 Mon Sep 17 00:00:00 2001 From: Yuchen He Date: Mon, 1 Apr 2024 17:46:35 +0200 Subject: [PATCH 89/99] railway-travel: remove package due to duplication Signed-off-by: Yuchen He --- pkgs/by-name/ra/railway-travel/package.nix | 76 ---------------------- 1 file changed, 76 deletions(-) delete mode 100644 pkgs/by-name/ra/railway-travel/package.nix diff --git a/pkgs/by-name/ra/railway-travel/package.nix b/pkgs/by-name/ra/railway-travel/package.nix deleted file mode 100644 index be09a63e6dd0..000000000000 --- a/pkgs/by-name/ra/railway-travel/package.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ - lib, - stdenv, - fetchFromGitLab, - cargo, - desktop-file-utils, - meson, - ninja, - pkg-config, - rustPlatform, - rustc, - wrapGAppsHook4, - cairo, - gdk-pixbuf, - glib, - gtk4, - libadwaita, - pango, - darwin, -}: -stdenv.mkDerivation rec { - pname = "railway-travel"; - version = "2.4.0"; - - src = fetchFromGitLab { - owner = "schmiddi-on-mobile"; - repo = "railway"; - rev = version; - hash = "sha256-2iLxErEP0OG+BcG7fvJBzNjh95EkNoC3NC7rKxPLhYk="; - }; - - cargoDeps = rustPlatform.fetchCargoTarball { - inherit src; - name = "${pname}-${version}"; - hash = "sha256-yalFC7Pw9rq1ylLwoxLi4joTyjQsZJ/ZC61GhTNc49w="; - }; - - nativeBuildInputs = [ - desktop-file-utils - cargo - meson - ninja - pkg-config - rustPlatform.cargoSetupHook - rustc - wrapGAppsHook4 - ]; - - buildInputs = - [ - cairo - gdk-pixbuf - glib - gtk4 - libadwaita - pango - ] - ++ lib.optionals stdenv.isDarwin [ - darwin.apple_sdk.frameworks.Foundation - darwin.apple_sdk.frameworks.Security - ]; - - env.NIX_CFLAGS_COMPILE = toString ( - lib.optionals stdenv.cc.isClang [ "-Wno-error=incompatible-function-pointer-types" ] - ); - - meta = with lib; { - description = "Find all your travel information"; - homepage = "https://gitlab.com/schmiddi-on-mobile/railway"; - changelog = "https://gitlab.com/schmiddi-on-mobile/railway/-/blob/${src.rev}/CHANGELOG.md"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ lilacious ]; - mainProgram = "diebahn"; - platforms = platforms.all; - }; -} From 6389c26e7c2358d9cf7bf6c83899aaddd6e6490f Mon Sep 17 00:00:00 2001 From: Yuchen He Date: Mon, 1 Apr 2024 17:47:34 +0200 Subject: [PATCH 90/99] diebahn: add lilacious to the maintainers Signed-off-by: Yuchen He --- pkgs/applications/misc/diebahn/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/diebahn/default.nix b/pkgs/applications/misc/diebahn/default.nix index a934f0349cd2..52a004a83017 100644 --- a/pkgs/applications/misc/diebahn/default.nix +++ b/pkgs/applications/misc/diebahn/default.nix @@ -74,6 +74,6 @@ stdenv.mkDerivation rec { homepage = "https://gitlab.com/schmiddi-on-mobile/railway"; license = lib.licenses.gpl3Plus; mainProgram = "diebahn"; - maintainers = with lib.maintainers; [ dotlambda ]; + maintainers = with lib.maintainers; [ dotlambda lilacious ]; }; } From a2eb367a1a23f36d154eeb4c731f1b2d9b7d13f4 Mon Sep 17 00:00:00 2001 From: Mahmoud Ayman Date: Mon, 1 Apr 2024 17:51:13 +0200 Subject: [PATCH 91/99] anki-bin: 23.12.1 -> 24.04 --- pkgs/games/anki/bin.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix index d6789f63b82d..97d70719cab9 100644 --- a/pkgs/games/anki/bin.nix +++ b/pkgs/games/anki/bin.nix @@ -3,22 +3,22 @@ let pname = "anki-bin"; # Update hashes for both Linux and Darwin! - version = "23.12.1"; + version = "24.04"; sources = { linux = fetchurl { url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux-qt6.tar.zst"; - sha256 = "sha256-bFtAUqSoFS8CWESiepWXywndkijATbWp6CJdqlQecuk="; + sha256 = "sha256-mIQ448ecBDrMo3qspXVOBJM/0LebJ9lA1JIwz70Uqhc="; }; # For some reason anki distributes completely separate dmg-files for the aarch64 version and the x86_64 version darwin-x86_64 = fetchurl { url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-intel-qt6.dmg"; - sha256 = "sha256-z48REB14p7rb50ty9u/26wx0sY4QZb4pj6wOXsSBCdg="; + sha256 = "sha256-ab8cc+QMt3ZJp1NZmAwz2VNZwWQK0DBPKnz2fGmC7Fs="; }; darwin-aarch64 = fetchurl { url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-apple-qt6.dmg"; - sha256 = "sha256-bdaCqSjje86wmVKIFZqzuFaEZ7SWQr7CAS/Hm1CpOMg="; + sha256 = "sha256-bRpPVOXpDRq+EXwW1yWiAgzkcdLhLnMrHo/t9Jgzth0="; }; }; From cf8ec33cde7a7b728c2ac30227cbe91d7461cef5 Mon Sep 17 00:00:00 2001 From: Mahmoud Ayman Date: Mon, 1 Apr 2024 17:53:44 +0200 Subject: [PATCH 92/99] anki-bin: add new dependencies --- pkgs/games/anki/bin.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix index 97d70719cab9..ee293cb7c962 100644 --- a/pkgs/games/anki/bin.nix +++ b/pkgs/games/anki/bin.nix @@ -60,7 +60,7 @@ let ''; # Dependencies of anki - targetPkgs = pkgs: (with pkgs; [ xorg.libxkbfile xcb-util-cursor-HEAD krb5 ]); + targetPkgs = pkgs: (with pkgs; [ xorg.libxkbfile xcb-util-cursor-HEAD krb5 zstd ]); runScript = writeShellScript "anki-wrapper.sh" '' exec ${unpacked}/bin/anki ${ lib.strings.escapeShellArgs commandLineArgs } "$@" From f1ea26a7e38ce1c70a539b2cfcfbf7b4fb7ef396 Mon Sep 17 00:00:00 2001 From: Yuchen He Date: Mon, 1 Apr 2024 17:48:13 +0200 Subject: [PATCH 93/99] diebahn: add an alias for railway-travel Signed-off-by: Yuchen He --- pkgs/top-level/aliases.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 1f1869f1a901..d13da6315485 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1040,6 +1040,7 @@ mapAliases ({ ### R ### radare2-cutter = cutter; # Added 2021-03-30 + railway-travel = diebahn; # Added 2024-04-01 rambox-pro = rambox; # Added 2022-12-12 rarian = throw "rarian has been removed as unused"; # Added 2023-07-05 rccl = throw "'rccl' has been replaced with 'rocmPackages.rccl'"; # Added 2023-10-08 From 04ca3fa75961a6748479e6cb60052bac38a3eae6 Mon Sep 17 00:00:00 2001 From: "R. Ryantm" Date: Sun, 31 Mar 2024 03:20:24 +0000 Subject: [PATCH 94/99] ao: 0-unstable-2024-02-14 -> 0-unstable-2024-03-28 --- pkgs/development/libraries/libfive/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libfive/default.nix b/pkgs/development/libraries/libfive/default.nix index 3f3c7f753c70..9dc2f368e2cd 100644 --- a/pkgs/development/libraries/libfive/default.nix +++ b/pkgs/development/libraries/libfive/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation { pname = "libfive"; - version = "0-unstable-2024-02-14"; + version = "0-unstable-2024-03-28"; src = fetchFromGitHub { owner = "libfive"; repo = "libfive"; - rev = "7af5f43684a8a497ac8610d39f7fca935364a9b9"; - hash = "sha256-GQzsHKeKsCWKOVfBrTuUFq2XasPxhsN+19stWY0WtVc="; + rev = "4c59b11667bbe8be9802f59697fa64bbfe1ea82d"; + hash = "sha256-scYSprozfC537vAXhMfWswyS3xivpoURWPhplH7yHIg="; }; nativeBuildInputs = [ wrapQtAppsHook cmake ninja pkg-config python.pkgs.pythonImportsCheckHook ]; From c806d520c3e599ebfd8a3d82db8f2ef44f3435b8 Mon Sep 17 00:00:00 2001 From: Weijia Wang <9713184+wegank@users.noreply.github.com> Date: Mon, 1 Apr 2024 18:43:37 +0200 Subject: [PATCH 95/99] libtoxcore: restore meta.platforms --- pkgs/by-name/li/libtoxcore/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/li/libtoxcore/package.nix b/pkgs/by-name/li/libtoxcore/package.nix index 2c56dec2aea8..00f145d17292 100644 --- a/pkgs/by-name/li/libtoxcore/package.nix +++ b/pkgs/by-name/li/libtoxcore/package.nix @@ -56,5 +56,6 @@ in stdenv.mkDerivation rec { homepage = "https://tox.chat"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ peterhoeg ehmry ]; + platforms = lib.platforms.all; }; } From 21b728e641f7eb251cab2f64b8a9167e0622b0b4 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Mon, 1 Apr 2024 09:46:32 -0700 Subject: [PATCH 96/99] maintainers: remove maintainers/scripts/mdize-module.sh --- maintainers/scripts/mdize-module.sh | 83 ----------------------------- 1 file changed, 83 deletions(-) delete mode 100755 maintainers/scripts/mdize-module.sh diff --git a/maintainers/scripts/mdize-module.sh b/maintainers/scripts/mdize-module.sh deleted file mode 100755 index e2d2e5467aa9..000000000000 --- a/maintainers/scripts/mdize-module.sh +++ /dev/null @@ -1,83 +0,0 @@ -#! /usr/bin/env nix-shell -#! nix-shell -I nixpkgs=. -i bash -p delta jq perl - -set -euo pipefail -shopt -s inherit_errexit - -cat <<'EOF' -This script attempts to automatically convert option descriptions from -DocBook syntax to markdown. Naturally this process is incomplete and -imperfect, so any changes generated by this script MUST be reviewed. - -Possible problems include: incorrectly replaced tags, badly formatted -markdown, DocBook tags this script doesn't recognize remaining in the -output and crashing the docs build, incorrect escaping of markdown -metacharacters, incorrect unescaping of XML entities—and the list goes on. - -Always review the generated changes! - -Some known limitations: - - Does not transform literalDocBook items - - Replacements can occur in non-option code, such as string literals - - -EOF - - - -build-options-json() { - nix-build --no-out-link --expr ' - let - sys = import ./nixos/default.nix { - configuration = {}; - }; - in - [ - sys.config.system.build.manual.optionsJSON - ] - ' -} - - - -git diff --quiet || { - echo "Worktree is dirty. Please stash or commit first." - exit 1 -} - -echo "Building options.json ..." -old_options=$(build-options-json) - -echo "Applying replacements ..." -perl -pi -e ' - BEGIN { - undef $/; - } - - s,([^`]*?),`$1`,smg; - s,([^»]*?),«$1»,smg; - s,([^`]*?),{file}`$1`,smg; - s,,{option}`$1`,smg; - s,([^`]*?),`$1`,smg; - s,([^`]*?),{command}`$1`,smg; - s,,<$1>,smg; - s,(.*?),[$2]($1),smg; - s,([^`]*?),`$1`,smg; - s,([^*]*?),*$1*,smg; - s,\s* - \s*(.*?)\s*\s* - \s*(.*?)\s*\s* - ,{manpage}`$1($2)`,smgx; - s,^( +description =),\1 lib.mdDoc,smg; -' "$@" - -echo "Building options.json again ..." -new_options=$(build-options-json) - - -! cmp -s {$old_options,$new_options}/share/doc/nixos/options.json && { - diff -U10 \ - <(jq . <$old_options/share/doc/nixos/options.json) \ - <(jq . <$new_options/share/doc/nixos/options.json) \ - | delta -} From 126759eb5886b953adccc5cc471f5193da66e27a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luka=20T=2E=20Koro=C5=A1ec?= Date: Mon, 1 Apr 2024 18:48:07 +0200 Subject: [PATCH 97/99] outline: Add localRootDir to ReadWritePaths (#298892) The service can't write to the localRootDir if its set outside of its state directory, thus we have to manually mark it as writable. --- nixos/modules/services/web-apps/outline.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos/modules/services/web-apps/outline.nix b/nixos/modules/services/web-apps/outline.nix index 702755dfa2ab..09dd6f83f39a 100644 --- a/nixos/modules/services/web-apps/outline.nix +++ b/nixos/modules/services/web-apps/outline.nix @@ -783,6 +783,8 @@ in # This working directory is required to find stuff like the set of # onboarding files: WorkingDirectory = "${cfg.package}/share/outline"; + # In case this directory is not in /var/lib/outline, it needs to be made writable explicitly + ReadWritePaths = [ cfg.storage.localRootDir ]; }; }; }; From fe13f29a565420aafc404ba577e297b58ab5a14f Mon Sep 17 00:00:00 2001 From: toastal Date: Mon, 1 Apr 2024 19:44:05 +0700 Subject: [PATCH 98/99] u001-font: add mirror MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is not ideal to me, but currently the main mirror seems down, but I rely on this font for a couple of my own designs. Other (sketchy) mirrors didn’t include the ``Copying.AFPL.txt`` file so they don’t reproduce. --- pkgs/data/fonts/u001/default.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pkgs/data/fonts/u001/default.nix b/pkgs/data/fonts/u001/default.nix index c50e972a4d69..b0359ac1e55e 100644 --- a/pkgs/data/fonts/u001/default.nix +++ b/pkgs/data/fonts/u001/default.nix @@ -5,8 +5,11 @@ stdenvNoCC.mkDerivation rec { version = "unstable-2016-08-01"; # date in the zip file, actual creation date unknown src = fetchzip { - url = "https://fontlibrary.org/assets/downloads/u001/3ea00b3c0c8fa6ce4373e5766fafd651/u001.zip"; - sha256 = "sha256-7H32pfr0g68XP5B48VUY99e6fbd7rhH6fEnCKNXWEkU="; + urls = [ + "https://fontlibrary.org/assets/downloads/u001/3ea00b3c0c8fa6ce4373e5766fafd651/u001.zip" + "https://web.archive.org/web/20220830085803/https://fontlibrary.org/assets/downloads/u001/3ea00b3c0c8fa6ce4373e5766fafd651/u001.zip" + ]; + hash = "sha256-7H32pfr0g68XP5B48VUY99e6fbd7rhH6fEnCKNXWEkU="; stripRoot = false; }; From 5c64fa1f3a35757b4db16f1ecdff81ab508ea4aa Mon Sep 17 00:00:00 2001 From: Jhonas Wernery Date: Mon, 1 Apr 2024 19:09:51 +0200 Subject: [PATCH 99/99] element-desktop: 1.11.61 -> 1.11.63 (#299820) element-desktop: use electron_29, following upstream: https://github.com/element-hq/element-desktop/commit/525d633d7973d3d074958fe6d883dd7570265f6a --- .../networking/instant-messengers/element/pin.nix | 10 +++++----- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/networking/instant-messengers/element/pin.nix b/pkgs/applications/networking/instant-messengers/element/pin.nix index f6e239a89d71..b769f73f948f 100644 --- a/pkgs/applications/networking/instant-messengers/element/pin.nix +++ b/pkgs/applications/networking/instant-messengers/element/pin.nix @@ -1,9 +1,9 @@ { - "version" = "1.11.61"; + "version" = "1.11.63"; "hashes" = { - "desktopSrcHash" = "sha256-1Pq26e2ngcji7wieHNOQAWPFBKGLoeTRAKQ3Aqnn1jw="; - "desktopYarnHash" = "16psxfai8dyckm4xwrg5czv6l4163x2nlqqcdgly6axabllgacj1"; - "webSrcHash" = "sha256-RJhZgwTMDLMt+ha0lxPwqiP5sipXIcGZfdPVgCxePH4="; - "webYarnHash" = "1vj3f2bml8jyjz6djzvw1hbrv7148wk8y9hwp323zf8n6y4rnk28"; + "desktopSrcHash" = "sha256-wQSFnF3HzERW4iS5leHP2LZKrJkTPW+LUgmj5b0/KZk="; + "desktopYarnHash" = "003d44psrw09dldvp9lfhsnipmcy1fwbicsvmd48mg7n3vnrg0zw"; + "webSrcHash" = "sha256-FjYDwXa+7Lx/K0AERn64mPbjp0QFIoVoYMPx/mG4Zrs="; + "webYarnHash" = "0n7z9y3141rx0c5476zw3ccfck0f4b2jwsaxmq2ff7spwyw81zd2"; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 22444da96608..9ad5172cb93d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5177,7 +5177,7 @@ with pkgs; element-desktop = callPackage ../applications/networking/instant-messengers/element/element-desktop.nix { inherit (darwin.apple_sdk.frameworks) Security AppKit CoreServices; - electron = electron_28; + electron = electron_29; }; element-desktop-wayland = writeScriptBin "element-desktop" '' #!/bin/sh