diff --git a/doc/preface.chapter.md b/doc/preface.chapter.md index e6a0905c5a95..56f089703021 100644 --- a/doc/preface.chapter.md +++ b/doc/preface.chapter.md @@ -42,7 +42,7 @@ shows the status of tests for the `nixpkgs-unstable` channel. The tests are conducted by a cluster called [Hydra](https://nixos.org/hydra/), which also builds binary packages from the Nix expressions in Nixpkgs for -`x86_64-linux`, `i686-linux` and `x86_64-darwin`. +`x86_64-linux`, `aarch64-linux`, `x86_64-darwin` and `aarch64-darwin`. The binaries are made available via a [binary cache](https://cache.nixos.org). The current Nix expressions of the channels are available in the diff --git a/doc/release-notes/rl-2505.section.md b/doc/release-notes/rl-2505.section.md index 559c7176154f..8634cf41fe07 100644 --- a/doc/release-notes/rl-2505.section.md +++ b/doc/release-notes/rl-2505.section.md @@ -196,6 +196,8 @@ - `nodejs_latest` was updated from 23.x to 24.x. `nodejs_23` has been removed in favor of `nodejs_24`. +- `nodejs_18` package was removed due to upstream End-of-Life in April 2025. + - `nodePackages."@commitlint/config-conventional"` has been removed, as it is a library, and projects should depend on it instead. - zigbee2mqtt is now available in version 2.x as `zigbee2mqtt_2`. In NixOS 25.11 we'll remove `zigbee2mqtt_1` and default to `zigbee2mqtt_2`. See the [breaking changes](https://github.com/Koenkk/zigbee2mqtt/discussions/24198) announcement for 2.0.0. diff --git a/lib/attrsets.nix b/lib/attrsets.nix index 8482887023f7..4518a94b6745 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -301,9 +301,9 @@ rec { Nix has an [attribute selection operator](https://nixos.org/manual/nix/stable/language/operators#attribute-selection) which is sufficient for such queries, as long as the number of attributes is static. For example: ```nix - x.a.b == getAttrByPath ["a" "b"] x + x.a.b == getAttrFromPath ["a" "b"] x # and - x.${f p}."example.com" == getAttrByPath [ (f p) "example.com" ] x + x.${f p}."example.com" == getAttrFromPath [ (f p) "example.com" ] x ``` # Inputs diff --git a/lib/default.nix b/lib/default.nix index c433ca6a3e09..e6e6aaa983d5 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -279,6 +279,7 @@ let naturalSort compareLists take + takeEnd drop dropEnd sublist diff --git a/lib/lists.nix b/lib/lists.nix index e119606dd5e7..ec0fe22d2afa 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -1462,6 +1462,40 @@ rec { */ take = count: sublist 0 count; + /** + Return the last (at most) N elements of a list. + + # Inputs + + `count` + + : Maximum number of elements to pick + + `list` + + : Input list + + # Type + + ``` + takeEnd :: int -> [a] -> [a] + ``` + + # Examples + :::{.example} + ## `lib.lists.takeEnd` usage example + + ```nix + takeEnd 2 [ "a" "b" "c" "d" ] + => [ "c" "d" ] + takeEnd 2 [ ] + => [ ] + ``` + + ::: + */ + takeEnd = n: xs: drop (max 0 (length xs - n)) xs; + /** Remove the first (at most) N elements of a list. diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index aa587f52c4ac..ef2d74b63162 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -1357,6 +1357,69 @@ runTests { ) ]; + testTakeEnd = + let + inherit (lib) takeEnd; + in + testAllTrue [ + ( + takeEnd 0 [ + 1 + 2 + 3 + ] == [ ] + ) + ( + takeEnd 1 [ + 1 + 2 + 3 + ] == [ 3 ] + ) + ( + takeEnd 2 [ + 1 + 2 + 3 + ] == [ + 2 + 3 + ] + ) + ( + takeEnd 3 [ + 1 + 2 + 3 + ] == [ + 1 + 2 + 3 + ] + ) + ( + takeEnd 4 [ + 1 + 2 + 3 + ] == [ + 1 + 2 + 3 + ] + ) + (takeEnd 0 [ ] == [ ]) + (takeEnd 1 [ ] == [ ]) + ( + takeEnd (-1) [ + 1 + 2 + 3 + ] == [ ] + ) + (takeEnd (-1) [ ] == [ ]) + ]; + testDrop = let inherit (lib) drop; diff --git a/nixos/doc/manual/installation/building-images-via-nixos-rebuild-build-image.chapter.md b/nixos/doc/manual/installation/building-images-via-nixos-rebuild-build-image.chapter.md index 378b1163a6e3..075a8fca3bbb 100644 --- a/nixos/doc/manual/installation/building-images-via-nixos-rebuild-build-image.chapter.md +++ b/nixos/doc/manual/installation/building-images-via-nixos-rebuild-build-image.chapter.md @@ -2,15 +2,30 @@ Nixpkgs contains a variety of modules to build custom images for different virtualization platforms and cloud providers, such as e.g. `amazon-image.nix` and `proxmox-lxc.nix`. -While those can be imported individually, `system.build.images` provides an attribute set mapping variant names to image derivations. Available variants are defined - end extendable - in `image.modules`, an attribute set mapping variant names to a list of NixOS modules. +While those can be imported directly, `system.build.images` provides an attribute set mapping variant names to image derivations. Available variants are defined - end extendable - in `image.modules`, an attribute set mapping variant names to NixOS modules. -All of those images can be built via both, their `system.build.image` attribute, and the CLI `nixos-rebuild build-image`. To build i.e. an Amazon image from your existing NixOS configuration: +All of those images can be built via both, their `system.build.image` attribute and the `nixos-rebuild build-image` command. + +For example, to build an Amazon image from your existing NixOS configuration, run: ```ShellSession $ nixos-rebuild build-image --image-variant amazon -$ ls result -nixos-image-amazon-25.05pre-git-x86_64-linux.vhd nix-support +[...] +Done. The disk image can be found in /nix/store/[hash]-nixos-image-amazon-25.05pre-git-x86_64-linux/nixos-image-amazon-25.05pre-git-x86_64-linux.vpc ``` To get a list of all variants available, run `nixos-rebuild build-image` without arguments. +::: {.example #ex-nixos-rebuild-build-image-customize} + +## Customize specific image variants {#sec-image-nixos-rebuild-build-image-customize} + +The `image.modules` option can be used to set specific options per image variant, in a similar fashion as [specialisations](options.html#opt-specialisation) for generic NixOS configurations. + +E.g. images for the cloud provider Linode use `grub2` as a bootloader by default. If you are using `systemd-boot` on other platforms and want to disable it for Linode only, you could use the following options: + +``` nix + image.modules.linode = { + boot.loader.systemd-boot.enable = lib.mkForce false; + }; +``` diff --git a/nixos/doc/manual/redirects.json b/nixos/doc/manual/redirects.json index ea98245ed2ae..be29c7ca049a 100644 --- a/nixos/doc/manual/redirects.json +++ b/nixos/doc/manual/redirects.json @@ -161,6 +161,9 @@ "ex-config": [ "index.html#ex-config" ], + "ex-nixos-rebuild-build-image-customize": [ + "index.html#ex-nixos-rebuild-build-image-customize" + ], "sec-installation-additional-notes": [ "index.html#sec-installation-additional-notes" ], @@ -215,6 +218,9 @@ "sec-image-nixos-rebuild-build-image": [ "index.html#sec-image-nixos-rebuild-build-image" ], + "sec-image-nixos-rebuild-build-image-customize": [ + "index.html#sec-image-nixos-rebuild-build-image-customize" + ], "sec-image-repart": [ "index.html#sec-image-repart" ], diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index b59b1ad415cc..4b487179231b 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -536,8 +536,7 @@ ./services/desktops/deepin/dde-api.nix ./services/desktops/deepin/app-services.nix ./services/desktops/deepin/dde-daemon.nix - ./services/desktops/dleyna-renderer.nix - ./services/desktops/dleyna-server.nix + ./services/desktops/dleyna.nix ./services/desktops/espanso.nix ./services/desktops/flatpak.nix ./services/desktops/geoclue2.nix diff --git a/nixos/modules/services/desktops/dleyna-renderer.nix b/nixos/modules/services/desktops/dleyna-renderer.nix deleted file mode 100644 index 78375735e6e1..000000000000 --- a/nixos/modules/services/desktops/dleyna-renderer.nix +++ /dev/null @@ -1,29 +0,0 @@ -# dleyna-renderer service. -{ - config, - lib, - pkgs, - ... -}: -{ - ###### interface - options = { - services.dleyna-renderer = { - enable = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Whether to enable dleyna-renderer service, a DBus service - for handling DLNA renderers. - ''; - }; - }; - }; - - ###### implementation - config = lib.mkIf config.services.dleyna-renderer.enable { - environment.systemPackages = [ pkgs.dleyna-renderer ]; - - services.dbus.packages = [ pkgs.dleyna-renderer ]; - }; -} diff --git a/nixos/modules/services/desktops/dleyna-server.nix b/nixos/modules/services/desktops/dleyna-server.nix deleted file mode 100644 index e36340405790..000000000000 --- a/nixos/modules/services/desktops/dleyna-server.nix +++ /dev/null @@ -1,29 +0,0 @@ -# dleyna-server service. -{ - config, - lib, - pkgs, - ... -}: -{ - ###### interface - options = { - services.dleyna-server = { - enable = lib.mkOption { - type = lib.types.bool; - default = false; - description = '' - Whether to enable dleyna-server service, a DBus service - for handling DLNA servers. - ''; - }; - }; - }; - - ###### implementation - config = lib.mkIf config.services.dleyna-server.enable { - environment.systemPackages = [ pkgs.dleyna-server ]; - - services.dbus.packages = [ pkgs.dleyna-server ]; - }; -} diff --git a/nixos/modules/services/desktops/dleyna.nix b/nixos/modules/services/desktops/dleyna.nix new file mode 100644 index 000000000000..f34e3250067d --- /dev/null +++ b/nixos/modules/services/desktops/dleyna.nix @@ -0,0 +1,33 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + imports = [ + (lib.mkRenamedOptionModule [ "services" "dleyna-server" ] [ "services" "dleyna" ]) + (lib.mkRenamedOptionModule [ "services" "dleyna-renderer" ] [ "services" "dleyna" ]) + ]; + + ###### interface + options = { + services.dleyna = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + Whether to enable dleyna-renderer and dleyna-server service, + a DBus service for handling DLNA servers and renderers. + ''; + }; + }; + }; + + ###### implementation + config = lib.mkIf config.services.dleyna.enable { + environment.systemPackages = [ pkgs.dleyna ]; + + services.dbus.packages = [ pkgs.dleyna ]; + }; +} diff --git a/nixos/modules/services/editors/emacs.nix b/nixos/modules/services/editors/emacs.nix index 50bca3596032..65211763e5a2 100644 --- a/nixos/modules/services/editors/emacs.nix +++ b/nixos/modules/services/editors/emacs.nix @@ -73,7 +73,8 @@ in serviceConfig = { Type = "notify"; ExecStart = "${pkgs.runtimeShell} -c 'source ${config.system.build.setEnvironment}; exec ${cfg.package}/bin/emacs --fg-daemon'"; - ExecStop = "${cfg.package}/bin/emacsclient --eval (kill-emacs)"; + # Emacs exits with exit code 15 (SIGTERM), when stopped by systemd. + SuccessExitStatus = 15; Restart = "always"; }; diff --git a/nixos/modules/services/web-apps/dependency-track.nix b/nixos/modules/services/web-apps/dependency-track.nix index 129770926222..32f25e81f242 100644 --- a/nixos/modules/services/web-apps/dependency-track.nix +++ b/nixos/modules/services/web-apps/dependency-track.nix @@ -509,9 +509,27 @@ in upstreams.dependency-track.servers."localhost:${toString cfg.port}" = { }; virtualHosts.${cfg.nginx.domain} = { locations = { - "/".alias = "${cfg.package.frontend}/dist/"; + "/" = { + alias = "${cfg.package.frontend}/dist/"; + index = "index.html"; + tryFiles = "$uri $uri/ /index.html"; + extraConfig = '' + location ~ (index\.html)$ { + add_header Cache-Control "max-age=0, no-cache, no-store, must-revalidate"; + add_header Pragma "no-cache"; + add_header Expires 0; + } + ''; + }; "/api".proxyPass = "http://dependency-track"; - "= /static/config.json".alias = frontendConfigFile; + "= /static/config.json" = { + alias = frontendConfigFile; + extraConfig = '' + add_header Cache-Control "max-age=0, no-cache, no-store, must-revalidate"; + add_header Pragma "no-cache"; + add_header Expires 0; + ''; + }; }; }; }; diff --git a/nixos/modules/services/x11/desktop-managers/budgie.nix b/nixos/modules/services/x11/desktop-managers/budgie.nix index cccae420b3f0..6ed2f0d20aae 100644 --- a/nixos/modules/services/x11/desktop-managers/budgie.nix +++ b/nixos/modules/services/x11/desktop-managers/budgie.nix @@ -245,8 +245,7 @@ in services.system-config-printer.enable = config.services.printing.enable; # For BCC's Sharing panel. - services.dleyna-renderer.enable = mkDefault true; - services.dleyna-server.enable = mkDefault true; + services.dleyna.enable = mkDefault true; services.gnome.gnome-user-share.enable = mkDefault true; services.gnome.rygel.enable = mkDefault true; diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix index c3a3465f3a45..cf4fadd742fe 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome.nix @@ -282,8 +282,7 @@ in programs.dconf.enable = true; security.polkit.enable = true; services.accounts-daemon.enable = true; - services.dleyna-renderer.enable = mkDefault true; - services.dleyna-server.enable = mkDefault true; + services.dleyna.enable = mkDefault true; services.power-profiles-daemon.enable = mkDefault true; services.gnome.at-spi2-core.enable = true; services.gnome.evolution-data-server.enable = true; diff --git a/nixos/tests/dependency-track.nix b/nixos/tests/dependency-track.nix index 088ec8df82e3..baa55e779058 100644 --- a/nixos/tests/dependency-track.nix +++ b/nixos/tests/dependency-track.nix @@ -45,22 +45,27 @@ import ./make-test-python.nix ( }; }; - testScript = '' - import json + testScript = + # python + '' + import json - start_all() + start_all() - server.wait_for_unit("dependency-track.service") - server.wait_until_succeeds( - "journalctl -o cat -u dependency-track.service | grep 'Dependency-Track is ready'" - ) - server.wait_for_open_port(${toString dependencyTrackPort}) - - with subtest("version api returns correct version"): - version = json.loads( - server.succeed("curl http://localhost/api/version") + server.wait_for_unit("dependency-track.service") + server.wait_until_succeeds( + "journalctl -o cat -u dependency-track.service | grep 'Dependency-Track is ready'" ) - assert version["version"] == "${pkgs.dependency-track.version}" - ''; + server.wait_for_open_port(${toString dependencyTrackPort}) + + with subtest("version api returns correct version"): + version = json.loads( + server.succeed("curl http://localhost/api/version") + ) + assert version["version"] == "${pkgs.dependency-track.version}" + + with subtest("nginx serves frontend"): + server.succeed("curl http://localhost/ | grep \"Dependency-Track\"") + ''; } ) diff --git a/nixos/tests/netdata.nix b/nixos/tests/netdata.nix index a88bf1a77fa1..97a033f831a1 100644 --- a/nixos/tests/netdata.nix +++ b/nixos/tests/netdata.nix @@ -22,6 +22,7 @@ import ./make-test-python.nix ( ]; services.netdata = { enable = true; + package = pkgs.netdataCloud; python.recommendedPythonPackages = true; configDir."apps_groups.conf" = pkgs.writeText "apps_groups.conf" '' @@ -32,35 +33,25 @@ import ./make-test-python.nix ( }; testScript = '' - start_all() + start_all() - netdata.wait_for_unit("netdata.service") + netdata.wait_for_unit("netdata.service") - # wait for the service to listen before sending a request - netdata.wait_for_open_port(19999) + # wait for the service to listen before sending a request + netdata.wait_for_open_port(19999) # check if the netdata main page loads. - netdata.succeed("curl --fail http://localhost:19999/") + netdata.succeed("curl --fail http://127.0.0.1:19999") netdata.succeed("sleep 4") - # check if netdata can read disk ops for root owned processes. - # if > 0, successful. verifies both netdata working and - # apps.plugin has elevated capabilities. - url = "http://localhost:19999/api/v1/data?chart=user.root_disk_physical_io" - filter = '[.data[range(10)][2]] | add | . < 0' + # check if netdata api shows correct os + url = "http://127.0.0.1:19999/api/v3/info" + filter = '.agents[0].application.os.os | . == "NixOS"' cmd = f"curl -s {url} | jq -e '{filter}'" netdata.wait_until_succeeds(cmd) # check if the control socket is available netdata.succeed("sudo netdatacli ping") - - # check that custom groups in apps_groups.conf are used. - # if > 0, successful. verifies that user-specified apps_group.conf - # is used. - url = "http://localhost:19999/api/v1/data?chart=app.netdata_test_cpu_utilization" - filter = '[.data[range(10)][2]] | add | . > 0' - cmd = f"curl -s {url} | jq -e '{filter}'" - netdata.wait_until_succeeds(cmd, timeout=30) ''; } ) diff --git a/pkgs/applications/graphics/vengi-tools/default.nix b/pkgs/applications/graphics/vengi-tools/default.nix index 95efcf68abda..9b6c078fa53d 100644 --- a/pkgs/applications/graphics/vengi-tools/default.nix +++ b/pkgs/applications/graphics/vengi-tools/default.nix @@ -27,7 +27,6 @@ SDL2, SDL2_mixer, wayland-protocols, - CoreServices, callPackage, nixosTests, @@ -44,6 +43,15 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-8rGnW+VtqNJYqUqQDp0yOVIQd7w+cq7PIpqqIQPhkbE="; }; + prePatch = lib.optionalString stdenv.hostPlatform.isDarwin '' + # Disable code signing on macOS + substituteInPlace cmake/macros.cmake --replace-fail "codesign" "true" + substituteInPlace cmake/system/apple.cmake --replace-fail "if(APPLE)" "if(false)" + + # calls otool -L on /usr/lib/libSystem.B.dylib and fails because it doesn't exist + substituteInPlace cmake/applebundle.cmake --replace-fail 'fixup_bundle("''${TARGET_BUNDLE_DIR}" "" "")' "" + ''; + nativeBuildInputs = [ cmake pkg-config @@ -73,8 +81,6 @@ stdenv.mkDerivation (finalAttrs: { ++ lib.optional stdenv.hostPlatform.isLinux wayland-protocols ++ lib.optional (!stdenv.hostPlatform.isDarwin) opencl-headers; - cmakeFlags = lib.optional stdenv.hostPlatform.isDarwin "-DCORESERVICES_LIB=${CoreServices}"; - # error: "The plain signature for target_link_libraries has already been used" doCheck = false; @@ -82,17 +88,27 @@ stdenv.mkDerivation (finalAttrs: { gtest ]; - # Set the data directory for each executable. We cannot set it at build time - # with the PKGDATADIR cmake variable because each executable needs a specific - # one. - # This is not needed on darwin, since on that platform data files are saved - # in *.app/Contents/Resources/ too, and are picked up automatically. - postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) '' - for prog in $out/bin/*; do - wrapProgram "$prog" \ - --set CORE_PATH $out/share/$(basename "$prog")/ - done - ''; + postInstall = + if stdenv.hostPlatform.isDarwin then + '' + mkdir -p $out/Applications + mv $out/*.app $out/Applications/ + + mkdir -p $out/bin + ln -s $out/Applications/vengi-voxconvert.app/Contents/MacOS/vengi-voxconvert $out/bin/vengi-voxconvert + '' + else + # Set the data directory for each executable. We cannot set it at build time + # with the PKGDATADIR cmake variable because each executable needs a specific + # one. + # This is not needed on darwin, since on that platform data files are saved + # in *.app/Contents/Resources/ too, and are picked up automatically. + '' + for prog in $out/bin/*; do + wrapProgram "$prog" \ + --set CORE_PATH $out/share/$(basename "$prog")/ + done + ''; passthru.tests = { voxconvert-roundtrip = callPackage ./test-voxconvert-roundtrip.nix { }; @@ -117,6 +133,5 @@ stdenv.mkDerivation (finalAttrs: { ]; maintainers = with maintainers; [ fgaz ]; platforms = platforms.all; - broken = stdenv.hostPlatform.isDarwin; }; }) diff --git a/pkgs/applications/office/grisbi/default.nix b/pkgs/applications/office/grisbi/default.nix index 152d7004bf60..e28b7614b7f1 100644 --- a/pkgs/applications/office/grisbi/default.nix +++ b/pkgs/applications/office/grisbi/default.nix @@ -1,39 +1,45 @@ { - fetchurl, + fetchFromGitHub, lib, stdenv, gtk, pkg-config, libgsf, libofx, + autoreconfHook, intltool, wrapGAppsHook3, - libsoup_2_4, adwaita-icon-theme, + nix-update-script, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "grisbi"; - version = "2.0.5"; + version = "3.0.4"; - src = fetchurl { - url = "mirror://sourceforge/grisbi/${pname}-${version}.tar.bz2"; - sha256 = "sha256-vTrbq/xLTfwF7/YtKzZFiiSw8A0HzzWin2ry8gPHej8="; + src = fetchFromGitHub { + owner = "grisbi"; + repo = "grisbi"; + tag = "upstream_version_${lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version}"; + hash = "sha256-3E57M/XE4xyo3ppVceDA4OFDnVicosCY8ikE2gDJoUQ="; }; nativeBuildInputs = [ pkg-config wrapGAppsHook3 intltool + autoreconfHook ]; + buildInputs = [ gtk libgsf libofx - libsoup_2_4 adwaita-icon-theme ]; + passthru.updateScript = nix-update-script { }; + meta = with lib; { description = "Personnal accounting application"; mainProgram = "grisbi"; @@ -50,4 +56,4 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ layus ]; platforms = platforms.linux; }; -} +}) diff --git a/pkgs/by-name/dl/dleyna-connector-dbus/package.nix b/pkgs/by-name/dl/dleyna-connector-dbus/package.nix deleted file mode 100644 index f0b64e2f6361..000000000000 --- a/pkgs/by-name/dl/dleyna-connector-dbus/package.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ - stdenv, - lib, - meson, - ninja, - pkg-config, - fetchFromGitHub, - fetchpatch, - dleyna-core, - glib, -}: - -stdenv.mkDerivation rec { - pname = "dleyna-connector-dbus"; - version = "0.4.1"; - - src = fetchFromGitHub { - owner = "phako"; - repo = "dleyna-connector-dbus"; - rev = "v${version}"; - sha256 = "WDmymia9MD3BRU6BOCzCIMrz9V0ACRzmEGqjbbuUmlA="; - }; - - patches = [ - # Fix build with meson 1.2. We use the gentoo patch instead of the - # usptream one because the latter only applies on the libsoup_3 based - # merged dLeyna project. - # https://gitlab.gnome.org/World/dLeyna/-/merge_requests/6 - (fetchpatch { - url = "https://github.com/gentoo/gentoo/raw/4a0982b49a1d94aa785b05d9b7d256c26c499910/net-libs/dleyna-connector-dbus/files/meson-1.2.0.patch"; - sha256 = "sha256-/p2OaPO5ghWtPotwIir2TtcFF5IDFN9FFuyqPHevuFI="; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - ]; - - buildInputs = [ - dleyna-core - glib - ]; - - meta = with lib; { - description = "D-Bus API for the dLeyna services"; - homepage = "https://github.com/phako/dleyna-connector-dbus"; - maintainers = with maintainers; [ jtojnar ]; - platforms = platforms.unix; - license = licenses.lgpl21Only; - }; -} diff --git a/pkgs/by-name/dl/dleyna-core/package.nix b/pkgs/by-name/dl/dleyna-core/package.nix deleted file mode 100644 index 92f021ae594a..000000000000 --- a/pkgs/by-name/dl/dleyna-core/package.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ - stdenv, - lib, - fetchFromGitHub, - meson, - ninja, - pkg-config, - gupnp, -}: - -stdenv.mkDerivation rec { - pname = "dleyna-core"; - version = "0.7.0"; - - outputs = [ - "out" - "dev" - ]; - - setupHook = ./setup-hook.sh; - - src = fetchFromGitHub { - owner = "phako"; - repo = "dleyna-core"; - rev = "v${version}"; - sha256 = "i4L9+iyAdBNtgImbD54jkjYL5hvzeZ2OaAyFrcFmuG0="; - }; - - nativeBuildInputs = [ - meson - ninja - pkg-config - ]; - - propagatedBuildInputs = [ - gupnp - ]; - - env.NIX_CFLAGS_COMPILE = toString ( - lib.optionals stdenv.cc.isClang [ - "-Wno-error=implicit-function-declaration" - "-Wno-error=int-conversion" - ] - ); - - meta = with lib; { - description = "Library of utility functions that are used by the higher level dLeyna"; - homepage = "https://github.com/phako/dleyna-core"; - maintainers = with maintainers; [ jtojnar ]; - platforms = platforms.unix; - license = licenses.lgpl21Only; - }; -} diff --git a/pkgs/by-name/dl/dleyna-core/setup-hook.sh b/pkgs/by-name/dl/dleyna-core/setup-hook.sh deleted file mode 100644 index 287ad4dc1897..000000000000 --- a/pkgs/by-name/dl/dleyna-core/setup-hook.sh +++ /dev/null @@ -1,8 +0,0 @@ -addDleynaConnectorPath () { - if test -d "$1/lib/dleyna-1.0/connectors" - then - export DLEYNA_CONNECTOR_PATH="${DLEYNA_CONNECTOR_PATH-}${DLEYNA_CONNECTOR_PATH:+:}$1/lib/dleyna-1.0/connectors" - fi -} - -addEnvHooks "$targetOffset" addDleynaConnectorPath diff --git a/pkgs/by-name/dl/dleyna-renderer/package.nix b/pkgs/by-name/dl/dleyna-renderer/package.nix deleted file mode 100644 index d4d0adb60244..000000000000 --- a/pkgs/by-name/dl/dleyna-renderer/package.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ - stdenv, - lib, - fetchFromGitHub, - fetchpatch, - meson, - ninja, - pkg-config, - dleyna-connector-dbus, - dleyna-core, - gssdp, - gupnp, - gupnp-av, - gupnp-dlna, - libsoup_2_4, - makeWrapper, - docbook-xsl-nons, - libxslt, -}: - -stdenv.mkDerivation rec { - pname = "dleyna-renderer"; - version = "0.7.2"; - - src = fetchFromGitHub { - owner = "phako"; - repo = "dleyna-renderer"; - rev = "v${version}"; - sha256 = "sha256-bGasT3XCa7QHV3D7z59TSHoqWksNSIgaO0z9zYfHHuw="; - }; - - patches = [ - # Fix build with meson 1.2. We use the gentoo patch instead of the - # usptream one because the latter only applies on the libsoup_3 based - # merged dLeyna project. - # https://gitlab.gnome.org/World/dLeyna/-/merge_requests/6 - (fetchpatch { - url = "https://github.com/gentoo/gentoo/raw/2ebe20ff4cda180cc248d31a021107d08ecf39d9/net-libs/dleyna-renderer/files/meson-1.2.0.patch"; - sha256 = "sha256-/p2OaPO5ghWtPotwIir2TtcFF5IDFN9FFuyqPHevuFI="; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - makeWrapper - - # manpage - docbook-xsl-nons - libxslt # for xsltproc - ]; - - buildInputs = [ - dleyna-core - dleyna-connector-dbus # runtime dependency to be picked up to DLEYNA_CONNECTOR_PATH - gssdp - gupnp - gupnp-av - gupnp-dlna - libsoup_2_4 - ]; - - preFixup = '' - wrapProgram "$out/libexec/dleyna-renderer-service" \ - --set DLEYNA_CONNECTOR_PATH "$DLEYNA_CONNECTOR_PATH" - ''; - - meta = with lib; { - description = "Library to discover and manipulate Digital Media Renderers"; - homepage = "https://github.com/phako/dleyna-renderer"; - maintainers = with maintainers; [ jtojnar ]; - platforms = platforms.unix; - license = licenses.lgpl21Only; - }; -} diff --git a/pkgs/by-name/dl/dleyna-server/package.nix b/pkgs/by-name/dl/dleyna-server/package.nix deleted file mode 100644 index 6850d3d8200c..000000000000 --- a/pkgs/by-name/dl/dleyna-server/package.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ - stdenv, - lib, - fetchFromGitHub, - fetchpatch, - meson, - ninja, - makeWrapper, - pkg-config, - dleyna-core, - dleyna-connector-dbus, - gssdp, - gupnp, - gupnp-av, - gupnp-dlna, - libsoup_2_4, -}: - -stdenv.mkDerivation rec { - pname = "dleyna-server"; - version = "0.7.2"; - - src = fetchFromGitHub { - owner = "phako"; - repo = pname; - rev = "v${version}"; - sha256 = "sha256-jlF9Lr/NG+Fsy/bB7aLb7xOLqel8GueJK5luo9rsDME="; - }; - - patches = [ - # Fix build with meson 1.2. We use the gentoo patch instead of the - # usptream one because the latter only applies on the libsoup_3 based - # merged dLeyna project. - # https://gitlab.gnome.org/World/dLeyna/-/merge_requests/6 - (fetchpatch { - url = "https://github.com/gentoo/gentoo/raw/2e3a1f4f7a1ef0c3e387389142785d98b5834e60/net-misc/dleyna-server/files/meson-1.2.0.patch"; - sha256 = "sha256-/p2OaPO5ghWtPotwIir2TtcFF5IDFN9FFuyqPHevuFI="; - }) - ]; - - nativeBuildInputs = [ - meson - ninja - pkg-config - makeWrapper - ]; - - buildInputs = [ - dleyna-core - dleyna-connector-dbus # runtime dependency to be picked up to DLEYNA_CONNECTOR_PATH - gssdp - gupnp - gupnp-av - gupnp-dlna - libsoup_2_4 - ]; - - preFixup = '' - wrapProgram "$out/libexec/dleyna-server-service" \ - --set DLEYNA_CONNECTOR_PATH "$DLEYNA_CONNECTOR_PATH" - ''; - - meta = with lib; { - description = "Library to discover, browse and manipulate Digital Media Servers"; - homepage = "https://github.com/phako/dleyna-server"; - maintainers = with maintainers; [ jtojnar ]; - platforms = platforms.unix; - license = licenses.lgpl21Only; - }; -} diff --git a/pkgs/by-name/dl/dleyna/package.nix b/pkgs/by-name/dl/dleyna/package.nix new file mode 100644 index 000000000000..d40c9b89bbcd --- /dev/null +++ b/pkgs/by-name/dl/dleyna/package.nix @@ -0,0 +1,57 @@ +{ + stdenv, + lib, + docutils, + fetchFromGitLab, + meson, + ninja, + pkg-config, + gupnp_1_6, + gupnp-av, + gupnp-dlna, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "dleyna"; + version = "0.8.3"; + + outputs = [ + "out" + "dev" + ]; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; + repo = "dLeyna"; + tag = "v${finalAttrs.version}"; + hash = "sha256-ti4yF8sALpWyrdQTt/jVrMKQ4PLhakEi620fJNMxT0c="; + }; + + nativeBuildInputs = [ + meson + ninja + docutils + pkg-config + ]; + + buildInputs = [ + gupnp_1_6 + gupnp-dlna + gupnp-av + gupnp-dlna + ]; + + mesonFlags = [ + # Sphinx docs not installed, do not depend on sphinx + "-Ddocs=false" + ]; + + meta = { + description = "Library of utility functions that are used by the higher level dLeyna"; + homepage = "https://gitlab.gnome.org/World/dLeyna"; + maintainers = with lib.maintainers; [ jtojnar ]; + platforms = lib.platforms.unix; + license = lib.licenses.lgpl21Only; + }; +}) diff --git a/pkgs/by-name/dy/dysk/package.nix b/pkgs/by-name/dy/dysk/package.nix index 4425ee65be01..ec2f05a4743c 100644 --- a/pkgs/by-name/dy/dysk/package.nix +++ b/pkgs/by-name/dy/dysk/package.nix @@ -38,5 +38,6 @@ rustPlatform.buildRustPackage rec { koral ]; mainProgram = "dysk"; + platforms = platforms.linux; }; } diff --git a/pkgs/by-name/eq/equicord/package.nix b/pkgs/by-name/eq/equicord/package.nix index bc12644fa050..e8f6b97529d7 100644 --- a/pkgs/by-name/eq/equicord/package.nix +++ b/pkgs/by-name/eq/equicord/package.nix @@ -10,18 +10,22 @@ }: stdenv.mkDerivation (finalAttrs: { pname = "equicord"; - version = "1.11.4"; + # Upstream discourages inferring the package version from the package.json found in + # the Equicord repository. Dates as tags (and automatic releases) were the compromise + # we came to with upstream. Please do not change the version schema (e.g., to semver) + # unless upstream changes the tag schema from dates. + version = "2025-04-17"; src = fetchFromGitHub { owner = "Equicord"; repo = "Equicord"; - tag = "v${finalAttrs.version}"; - hash = "sha256-BjAp+bubpG9tTo8y5LWcTCnpLbiyuY1Q6ZnprgeKoZg="; + tag = "${finalAttrs.version}"; + hash = "sha256-pAuNqPrQBeL2qPIoIvyBl1PrUBz81TrBd5RT15Iuuus="; }; pnpmDeps = pnpm_9.fetchDeps { inherit (finalAttrs) pname version src; - hash = "sha256-4uCo/pQ4f8k/7DNpCPDAeqfroZ9icFiTwapwS10uWkE="; + hash = "sha256-fjfzBy1Z7AUKA53yjjCQ6yasHc5QMaOBtXtXA5fNK5s="; }; nativeBuildInputs = [ @@ -52,7 +56,12 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - passthru.updateScript = nix-update-script { }; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "^\d{4}-\d{2}-\d{2}$" + ]; + }; meta = { description = "The other cutest Discord client mod"; diff --git a/pkgs/by-name/ex/exploitdb/package.nix b/pkgs/by-name/ex/exploitdb/package.nix index 149e76b5b517..32e5258cc5d7 100644 --- a/pkgs/by-name/ex/exploitdb/package.nix +++ b/pkgs/by-name/ex/exploitdb/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "exploitdb"; - version = "2025-04-19"; + version = "2025-04-23"; src = fetchFromGitLab { owner = "exploit-database"; repo = "exploitdb"; rev = "refs/tags/${version}"; - hash = "sha256-Gq+Yg9Qf1D86vM0d+FFPneztm0KMdbheghmef334+Ps="; + hash = "sha256-K5WQhYVO3z6gR2Jl5yJJW8vK8BA89iAwPzhq4jX27y0="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/fi/firebase-tools/package.nix b/pkgs/by-name/fi/firebase-tools/package.nix index 076779c9dfb0..594265c13c2c 100644 --- a/pkgs/by-name/fi/firebase-tools/package.nix +++ b/pkgs/by-name/fi/firebase-tools/package.nix @@ -7,18 +7,19 @@ xcbuild, nix-update-script, }: + buildNpmPackage rec { pname = "firebase-tools"; - version = "14.1.0"; + version = "14.2.0"; src = fetchFromGitHub { owner = "firebase"; repo = "firebase-tools"; tag = "v${version}"; - hash = "sha256-7yxDBK3A2Yosp/83JmFpV3cm+YEDxHMLVj5B+rwSIR8="; + hash = "sha256-ga0UsU/VTDIoz88XxdQIGX+md1G21DgctYYmXPr3zbQ="; }; - npmDepsHash = "sha256-r6vonG5edL/nTtyj8uXc/4w2xgihRce/Md+umxomTzo="; + npmDepsHash = "sha256-XiOLtZCm3qxd2Oq3vqMzxU64y37ZZfhivvkxT6m7ES4="; postPatch = '' ln -s npm-shrinkwrap.json package-lock.json @@ -32,9 +33,7 @@ buildNpmPackage rec { xcbuild ]; - env = { - PUPPETEER_SKIP_DOWNLOAD = true; - }; + env.PUPPETEER_SKIP_DOWNLOAD = true; passthru.updateScript = nix-update-script { }; diff --git a/pkgs/by-name/gn/gnome-photos/package.nix b/pkgs/by-name/gn/gnome-photos/package.nix index 199fa1f21246..fd7399ee677c 100644 --- a/pkgs/by-name/gn/gnome-photos/package.nix +++ b/pkgs/by-name/gn/gnome-photos/package.nix @@ -6,7 +6,7 @@ babl, dbus, desktop-file-utils, - dleyna-renderer, + dleyna, gdk-pixbuf, gegl, geocode-glib_2, @@ -74,7 +74,7 @@ stdenv.mkDerivation rec { buildInputs = [ babl dbus - dleyna-renderer + dleyna gdk-pixbuf gegl geocode-glib_2 diff --git a/pkgs/by-name/go/goarista/package.nix b/pkgs/by-name/go/goarista/package.nix new file mode 100644 index 000000000000..87f68addd919 --- /dev/null +++ b/pkgs/by-name/go/goarista/package.nix @@ -0,0 +1,36 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, +}: + +buildGoModule { + pname = "goarista"; + version = "0-unstable-2025-03-24"; + + src = fetchFromGitHub { + owner = "aristanetworks"; + repo = "goarista"; + rev = "2af7f36a2220911d96d9d5cf8dee641a7c01eb07"; + hash = "sha256-M/gZVn4ioaxRwbqlee3yeRfWIjaG6mFq2Z+XL5mGjoA="; + }; + + vendorHash = "sha256-5vdVHTQOXsYc8EdEGEAXk2ZX/6o88gHxBzfwETcwXvA="; + + checkFlags = + let + skippedTests = [ + "TestDeepSizeof" + ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ "TestDialTCPTimeoutWithTOS" ]; + in + [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; + + meta = { + description = "Collection of open-source tools for network management and monitoring mostly based around gNMI"; + homepage = "https://github.com/aristanetworks/goarista"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.haylin ]; + mainProgram = "gnmi"; + }; +} diff --git a/pkgs/by-name/go/gosmee/package.nix b/pkgs/by-name/go/gosmee/package.nix index 085ee18b5edc..c633b867aaea 100644 --- a/pkgs/by-name/go/gosmee/package.nix +++ b/pkgs/by-name/go/gosmee/package.nix @@ -7,13 +7,13 @@ buildGoModule rec { pname = "gosmee"; - version = "0.23.4"; + version = "0.24.0"; src = fetchFromGitHub { owner = "chmouel"; repo = "gosmee"; rev = "v${version}"; - hash = "sha256-orQDLuEbfxWWXmothxfTgeaMiqzJeTOFeNnPNDHwnYU="; + hash = "sha256-hE9iZkIkMzCICw9n1XhJ2PO5SvqE0EVhLJQO7tCUw3U="; }; vendorHash = null; diff --git a/pkgs/by-name/gr/grilo-plugins/package.nix b/pkgs/by-name/gr/grilo-plugins/package.nix index 873886d95041..c2a798d39ec7 100644 --- a/pkgs/by-name/gr/grilo-plugins/package.nix +++ b/pkgs/by-name/gr/grilo-plugins/package.nix @@ -26,7 +26,7 @@ json-glib, avahi, tinysparql, - dleyna-server, + dleyna, itstool, totem-pl-parser, }: @@ -94,7 +94,7 @@ stdenv.mkDerivation rec { avahi libmediaart tinysparql - dleyna-server + dleyna gst_all_1.gstreamer ]; diff --git a/pkgs/by-name/gz/gz-cmake/package.nix b/pkgs/by-name/gz/gz-cmake/package.nix new file mode 100644 index 000000000000..215ebb8d98bc --- /dev/null +++ b/pkgs/by-name/gz/gz-cmake/package.nix @@ -0,0 +1,36 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + doxygen, + graphviz, + pkg-config, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "gz-cmake"; + version = "4.1.1"; + + src = fetchFromGitHub { + owner = "gazebosim"; + repo = "gz-cmake"; + tag = "gz-cmake${lib.versions.major finalAttrs.version}_${finalAttrs.version}"; + hash = "sha256-BWgRm+3UW65Cu7TqXtFFG05JlYF52dbpAsIE8aDnJM0="; + }; + + nativeBuildInputs = [ + cmake + doxygen + graphviz + pkg-config + ]; + + meta = { + description = "CMake modules to build Gazebo projects"; + homepage = "https://github.com/gazebosim/gz-cmake"; + changelog = "https://github.com/gazebosim/gz-cmake/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.asl20; + platforms = lib.platforms.unix; + maintainers = with lib.maintainers; [ guelakais ]; + }; +}) diff --git a/pkgs/by-name/ig/ignite-cli/package.nix b/pkgs/by-name/ig/ignite-cli/package.nix index 8f66cb6b0e99..4c9123b2c842 100644 --- a/pkgs/by-name/ig/ignite-cli/package.nix +++ b/pkgs/by-name/ig/ignite-cli/package.nix @@ -9,13 +9,13 @@ buildGoModule rec { pname = "ignite-cli"; - version = "28.8.2"; + version = "28.9.0"; src = fetchFromGitHub { repo = "cli"; owner = "ignite"; rev = "v${version}"; - hash = "sha256-d7+T0VlmKQgmAJ8eyDg8JDL9HHJbU+nOTvJP0GTuIRY="; + hash = "sha256-NLQ+Zd77JyHuih7hPeM067fcpny1V50GFDLGhtclGms="; }; vendorHash = "sha256-EaOs3m5AN0EYMO8j3mkKPOQwapi0WRaTIUJKTjDpmCo="; diff --git a/pkgs/by-name/ku/kubecolor/package.nix b/pkgs/by-name/ku/kubecolor/package.nix index 56f75358792d..a27ee83fb0aa 100644 --- a/pkgs/by-name/ku/kubecolor/package.nix +++ b/pkgs/by-name/ku/kubecolor/package.nix @@ -9,16 +9,16 @@ buildGoModule rec { pname = "kubecolor"; - version = "0.5.0"; + version = "0.5.1"; src = fetchFromGitHub { owner = "kubecolor"; repo = "kubecolor"; rev = "v${version}"; - sha256 = "sha256-Q3Bl1ejuSpiMpQgiqKa2x/g02hNx326GM2MIDoi7q7o="; + sha256 = "sha256-FyHTceFpB3Osj8SUw+IRk+JWnoREVZgl8YHczDyY+Ak="; }; - vendorHash = "sha256-SWJbJ/zr9ygZYUuH8QNvgmUXdxb/3OViai48CFmWmXw="; + vendorHash = "sha256-eF0NcymLmRsFetkI67ZVUfOcIYtht0iYFcPIy2CWr+M="; ldflags = [ "-s" diff --git a/pkgs/by-name/li/libblake3/package.nix b/pkgs/by-name/li/libblake3/package.nix index 008a35b88254..81330f818f79 100644 --- a/pkgs/by-name/li/libblake3/package.nix +++ b/pkgs/by-name/li/libblake3/package.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation (finalAttrs: { nativeBuildInputs = [ cmake ]; - buildInputs = lib.optionals useTBB [ + propagatedBuildInputs = lib.optionals useTBB [ # 2022.0 crashes on macOS at the moment tbb_2021_11 ]; diff --git a/pkgs/by-name/ma/mathmod/package.nix b/pkgs/by-name/ma/mathmod/package.nix index 09f295b0c0dd..2eec8e24f29d 100644 --- a/pkgs/by-name/ma/mathmod/package.nix +++ b/pkgs/by-name/ma/mathmod/package.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "mathmod"; - version = "12.0"; + version = "12.1"; src = fetchFromGitHub { owner = "parisolab"; repo = "mathmod"; tag = finalAttrs.version; - hash = "sha256-h1iI7bheJVfE2+0m6Yk7QNCkl9Vye97tqb/WkQExVcQ="; + hash = "sha256-gDIYDXI9X24JAM1HP10EhJXkHZV2X8QngD5KPCUqdyI="; }; patches = [ ./fix-paths.patch ]; diff --git a/pkgs/by-name/ma/matrix-appservice-slack/package.nix b/pkgs/by-name/ma/matrix-appservice-slack/package.nix index b37ebccbf2f2..0a24e694698a 100644 --- a/pkgs/by-name/ma/matrix-appservice-slack/package.nix +++ b/pkgs/by-name/ma/matrix-appservice-slack/package.nix @@ -4,13 +4,13 @@ fetchYarnDeps, makeWrapper, mkYarnPackage, - nodejs_18, + nodejs_20, callPackage, }: let data = lib.importJSON ./pin.json; - nodejs = nodejs_18; + nodejs = nodejs_20; matrix-sdk-crypto-nodejs = callPackage ./matrix-sdk-crypto-nodejs-0_1_0-beta_3/package.nix { }; in mkYarnPackage rec { @@ -59,5 +59,7 @@ mkYarnPackage rec { chvp ]; license = licenses.asl20; + # Depends on nodejs_18 that has been removed. + broken = true; }; } diff --git a/pkgs/by-name/me/mealie/mealie-frontend.nix b/pkgs/by-name/me/mealie/mealie-frontend.nix index bbf356cad3e3..2947ffb2ab6c 100644 --- a/pkgs/by-name/me/mealie/mealie-frontend.nix +++ b/pkgs/by-name/me/mealie/mealie-frontend.nix @@ -2,7 +2,7 @@ src: version: { lib, fetchYarnDeps, - nodejs_18, + nodejs_20, fixup-yarn-lock, stdenv, yarn, @@ -19,8 +19,8 @@ stdenv.mkDerivation { nativeBuildInputs = [ fixup-yarn-lock - nodejs_18 - (yarn.override { nodejs = nodejs_18; }) + nodejs_20 + (yarn.override { nodejs = nodejs_20; }) ]; configurePhase = '' @@ -55,5 +55,7 @@ stdenv.mkDerivation { description = "Frontend for Mealie"; license = licenses.agpl3Only; maintainers = with maintainers; [ litchipi ]; + # Depends on nodejs_18 that has been removed. + broken = true; }; } diff --git a/pkgs/by-name/mi/mirrord/manifest.json b/pkgs/by-name/mi/mirrord/manifest.json index d77f266b7c00..e3e5fa4a71e6 100644 --- a/pkgs/by-name/mi/mirrord/manifest.json +++ b/pkgs/by-name/mi/mirrord/manifest.json @@ -1,21 +1,21 @@ { - "version": "3.137.0", + "version": "3.139.1", "assets": { "x86_64-linux": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.137.0/mirrord_linux_x86_64", - "hash": "sha256-IrsvX7Z+8k3OvtojhWuSeeiO75Okth6MCF3sPs3jIZo=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.139.1/mirrord_linux_x86_64", + "hash": "sha256-VBmPo94DPWh/fvA8ZZfxcqCab9ZNqCVXKLwNcBMZm4E=" }, "aarch64-linux": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.137.0/mirrord_linux_aarch64", - "hash": "sha256-E5Jhx3FsaVNCbvC1SH0D2GPsgQDwKkMPe/wR9MoVzKs=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.139.1/mirrord_linux_aarch64", + "hash": "sha256-ct/NyfVXI/GlR4HKAKX2vKrzU95+u2tO7ltw2aEbji0=" }, "aarch64-darwin": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.137.0/mirrord_mac_universal", - "hash": "sha256-PKW2K5ITt1wagtET6MVx2rTn9CcqqujKaYt0XleIyzY=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.139.1/mirrord_mac_universal", + "hash": "sha256-selcbXCfkvKVzNClhYkssVY3CvZFH8uXzYGKhA6N63w=" }, "x86_64-darwin": { - "url": "https://github.com/metalbear-co/mirrord/releases/download/3.137.0/mirrord_mac_universal", - "hash": "sha256-PKW2K5ITt1wagtET6MVx2rTn9CcqqujKaYt0XleIyzY=" + "url": "https://github.com/metalbear-co/mirrord/releases/download/3.139.1/mirrord_mac_universal", + "hash": "sha256-selcbXCfkvKVzNClhYkssVY3CvZFH8uXzYGKhA6N63w=" } } } diff --git a/pkgs/by-name/no/notion/package.nix b/pkgs/by-name/no/notion/package.nix index ed09967977b0..47621d626d88 100644 --- a/pkgs/by-name/no/notion/package.nix +++ b/pkgs/by-name/no/notion/package.nix @@ -19,20 +19,24 @@ xmessage, xterm, }: - stdenv.mkDerivation (finalAttrs: { pname = "notion"; - version = "4.0.2"; + version = "4.0.3"; src = fetchFromGitHub { owner = "raboof"; repo = "notion"; - rev = finalAttrs.version; - hash = "sha256-u5KoTI+OcnQu9m8/Lmsmzr8lEk9tulSE7RRFhj1oXJM="; + tag = finalAttrs.version; + hash = "sha256-Ll4thDS8fHxkm2IuGjePPVPyPPrz7yDzpKVloFuk/yE="; }; - # error: 'PATH_MAX' undeclared postPatch = '' + # Fix build failure due missing headers + sed -i '1i#define _POSIX_C_SOURCE 200809L' mod_notionflux/notionflux/notionflux.c + sed -i '2i#include ' mod_notionflux/notionflux/notionflux.c + sed -i '3i#include ' mod_notionflux/notionflux/notionflux.c + + # error: 'PATH_MAX' undeclared sed 1i'#include ' -i mod_notionflux/notionflux/notionflux.c ''; @@ -92,6 +96,7 @@ stdenv.mkDerivation (finalAttrs: { maintainers = with lib.maintainers; [ jfb raboof + NotAShelf ]; platforms = lib.platforms.linux; }; diff --git a/pkgs/by-name/op/open-stage-control/package.nix b/pkgs/by-name/op/open-stage-control/package.nix index 7df60380a38f..6ffa6b95ec41 100644 --- a/pkgs/by-name/op/open-stage-control/package.nix +++ b/pkgs/by-name/op/open-stage-control/package.nix @@ -5,7 +5,7 @@ makeBinaryWrapper, makeDesktopItem, copyDesktopItems, - nodejs_18, + nodejs_20, electron, python3, nix-update-script, @@ -29,7 +29,7 @@ buildNpmPackage rec { npmDepsHash = "sha256-UqjYNXdNoQmirIgU9DRgkp14SIrawfrfi9mD2h6ACyU="; - nodejs = nodejs_18; + nodejs = nodejs_20; nativeBuildInputs = [ copyDesktopItems @@ -97,5 +97,7 @@ buildNpmPackage rec { maintainers = [ ]; platforms = platforms.linux; mainProgram = "open-stage-control"; + # Depends on nodejs_18 that has been removed. + broken = true; }; } diff --git a/pkgs/by-name/pg/pgformatter/package.nix b/pkgs/by-name/pg/pgformatter/package.nix index 0f3547ed42c7..8ee301ef4dfa 100644 --- a/pkgs/by-name/pg/pgformatter/package.nix +++ b/pkgs/by-name/pg/pgformatter/package.nix @@ -3,19 +3,18 @@ stdenv, perlPackages, fetchFromGitHub, - fetchpatch, shortenPerlShebang, }: perlPackages.buildPerlPackage rec { pname = "pgformatter"; - version = "5.5"; + version = "5.6"; src = fetchFromGitHub { owner = "darold"; repo = "pgFormatter"; rev = "v${version}"; - hash = "sha256-4KtrsckO9Q9H0yIM0877YvWaDW02CQVAQiOKD919e9w="; + hash = "sha256-EJLAP1uBmWxWEsdLJYTuViMv4o0iEi2fqy79ixyRijU="; }; outputs = [ "out" ]; @@ -25,14 +24,6 @@ perlPackages.buildPerlPackage rec { # Avoid creating perllocal.pod, which contains a timestamp installTargets = [ "pure_install" ]; - patches = [ - # Fix an uninitialized variable error. Remove with the next release. - (fetchpatch { - url = "https://github.com/darold/pgFormatter/commit/c2622c47d48cee47effecbf58a588c3cd3a7bf1a.patch"; - sha256 = "sha256-WnQIOvfuzL2HrwtL0HaaYObrBxhXDu82jxGcqggQVhc="; - }) - ]; - # Makefile.PL only accepts DESTDIR and INSTALLDIRS, but we need to set more to make this work for NixOS. patchPhase = '' substituteInPlace pg_format \ diff --git a/pkgs/by-name/qu/quantlib/package.nix b/pkgs/by-name/qu/quantlib/package.nix index 6401c2e8f110..fc8555fc7cb8 100644 --- a/pkgs/by-name/qu/quantlib/package.nix +++ b/pkgs/by-name/qu/quantlib/package.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation (finalAttrs: { pname = "quantlib"; - version = "1.37"; + version = "1.38"; outputs = [ "out" @@ -19,7 +19,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "lballabio"; repo = "QuantLib"; rev = "v${finalAttrs.version}"; - hash = "sha256-Q8Bz94yd4A0VCDldtiichFKgiZMN4dHHJJep/tcE/z0="; + hash = "sha256-4a86sGUOz/B5IQHE41r5+OTvR9es4FgXeufy3bKRWAc="; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/by-name/qu/quiet/package.nix b/pkgs/by-name/qu/quiet/package.nix index 7a94f9b14ee9..94d9398c2490 100644 --- a/pkgs/by-name/qu/quiet/package.nix +++ b/pkgs/by-name/qu/quiet/package.nix @@ -7,11 +7,11 @@ appimageTools.wrapType2 rec { pname = "quiet"; - version = "4.0.3"; + version = "4.1.2"; src = fetchurl { url = "https://github.com/TryQuiet/quiet/releases/download/@quiet/desktop@${version}/Quiet-${version}.AppImage"; - hash = "sha256-BeN0O/Q95M42+2iRtYoko0mM4rLFVlzeRPXdls+5zOs="; + hash = "sha256-oYN+oXUvSeAR+gaRxEuBZHHV6lKTS7OrYVW4MMGoUO0="; }; meta = { diff --git a/pkgs/by-name/rc/rcp/package.nix b/pkgs/by-name/rc/rcp/package.nix index 47ebd121f996..3bd769fc014a 100644 --- a/pkgs/by-name/rc/rcp/package.nix +++ b/pkgs/by-name/rc/rcp/package.nix @@ -7,17 +7,17 @@ rustPlatform.buildRustPackage rec { pname = "rcp"; - version = "0.15.0"; + version = "0.16.0"; src = fetchFromGitHub { owner = "wykurz"; repo = "rcp"; rev = "v${version}"; - hash = "sha256-gFkrUqG3GXPAg9Zqv7Wr3axQ30axYGXw8bo+P1kmSJM="; + hash = "sha256-mMSO5twpuxiA6pMG/bNMn3WJjs3ZwuoOk62M0WIrRBk="; }; useFetchCargoVendor = true; - cargoHash = "sha256-izJRaxJhLvk064JB3hlzN50V7ZWmv/X1pbL0lRCZV60="; + cargoHash = "sha256-uVBWPxGxNgiahywA78QjN8msNx3gZ6vOyX7AkOdK2EM="; RUSTFLAGS = "--cfg tokio_unstable"; @@ -33,7 +33,8 @@ rustPlatform.buildRustPackage rec { license = with licenses; [ mit ]; mainProgram = "rcp"; maintainers = with maintainers; [ wykurz ]; - # = note: Undefined symbols for architecture x86_64: "_utimensat" - broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64; + # Building procfs on an for a unsupported platform. Currently only linux and android are supported + # (Your current target_os is macos) + broken = stdenv.hostPlatform.isDarwin; }; } diff --git a/pkgs/by-name/re/regname/package.nix b/pkgs/by-name/re/regname/package.nix new file mode 100644 index 000000000000..77c74957a9a9 --- /dev/null +++ b/pkgs/by-name/re/regname/package.nix @@ -0,0 +1,30 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "regname"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "linkdd"; + repo = "regname"; + tag = "v${finalAttrs.version}"; + hash = "sha256-zKsWEjFMTFibzfZ2dEc+RN74Ih1jr9vJhOUU0gY1rYE="; + }; + + cargoHash = "sha256-6iRDUOXPDzlD11JEL4at+z3aWkhn/dECtl7y2/vGMwo="; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Mass renamer TUI written in Rust"; + homepage = "https://github.com/linkdd/regname"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.ilarvne ]; + mainProgram = "regname"; + }; +}) diff --git a/pkgs/by-name/te/texturepacker/package.nix b/pkgs/by-name/te/texturepacker/package.nix index e178b5b5e866..d588dc53ddad 100644 --- a/pkgs/by-name/te/texturepacker/package.nix +++ b/pkgs/by-name/te/texturepacker/package.nix @@ -9,11 +9,11 @@ stdenv.mkDerivation (finalAttrs: { pname = "texturepacker"; - version = "7.6.1"; + version = "7.6.2"; src = fetchurl { url = "https://www.codeandweb.com/download/texturepacker/${finalAttrs.version}/TexturePacker-${finalAttrs.version}.deb"; - hash = "sha256-e824tHi9vTxhGbIxg5BPWgb3nBt5ZA2XgtkM7g3Y5Rw="; + hash = "sha256-CJtUWxjleojjK+LljDbdhSH2FNQfVGMkif/XDRW1Y/k="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/th/theft/package.nix b/pkgs/by-name/th/theft/package.nix index 97c56847006a..37ffd27e8391 100644 --- a/pkgs/by-name/th/theft/package.nix +++ b/pkgs/by-name/th/theft/package.nix @@ -15,6 +15,11 @@ stdenv.mkDerivation rec { sha256 = "1n2mkawfl2bpd4pwy3mdzxwlqjjvb5bdrr2x2gldlyqdwbk7qjhd"; }; + postPatch = '' + substituteInPlace Makefile \ + --replace "ar -rcs" "${stdenv.cc.targetPrefix}ar -rcs" + ''; + preConfigure = "patchShebangs ./scripts/mk_bits_lut"; doCheck = true; diff --git a/pkgs/by-name/ya/yazi/plugins/glow/default.nix b/pkgs/by-name/ya/yazi/plugins/glow/default.nix index d7755ae98fd1..6a5dc9df47af 100644 --- a/pkgs/by-name/ya/yazi/plugins/glow/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/glow/default.nix @@ -5,12 +5,12 @@ }: mkYaziPlugin { pname = "glow.yazi"; - version = "0-unstable-2025-04-14"; + version = "0-unstable-2025-04-15"; src = fetchFromGitHub { owner = "Reledia"; repo = "glow.yazi"; - rev = "a1711f10e815f7f7b6e529e0814342b8518d9ee6"; + rev = "2da96e3ffd9cd9d4dd53e0b2636f83ff69fe9af0"; hash = "sha256-4krck4U/KWmnl32HWRsblYW/biuqzDPysrEn76buRck="; }; diff --git a/pkgs/by-name/ya/yazi/plugins/relative-motions/default.nix b/pkgs/by-name/ya/yazi/plugins/relative-motions/default.nix index f215b9c0b7f3..c899450c6974 100644 --- a/pkgs/by-name/ya/yazi/plugins/relative-motions/default.nix +++ b/pkgs/by-name/ya/yazi/plugins/relative-motions/default.nix @@ -5,13 +5,13 @@ }: mkYaziPlugin { pname = "relative-motions.yazi"; - version = "25.2.7-unstable-2025-04-07"; + version = "25.4.8-unstable-2025-04-16"; src = fetchFromGitHub { owner = "dedukun"; repo = "relative-motions.yazi"; - rev = "61ae7950daeea3e1d960aa777b7a07cde4539b29"; - hash = "sha256-L5B5X762rBoxgKrUi0uRLDmAOJ/jPALc2bP9MYLiGYw="; + rev = "ce2e890227269cc15cdc71d23b35a58fae6d2c27"; + hash = "sha256-Ijz1wYt+L+24Fb/rzHcDR8JBv84z2UxdCIPqTdzbD14="; }; meta = { diff --git a/pkgs/by-name/zw/zwave-js-ui/package.nix b/pkgs/by-name/zw/zwave-js-ui/package.nix index 4a7ea1e56548..26c67583e4fe 100644 --- a/pkgs/by-name/zw/zwave-js-ui/package.nix +++ b/pkgs/by-name/zw/zwave-js-ui/package.nix @@ -7,15 +7,15 @@ buildNpmPackage rec { pname = "zwave-js-ui"; - version = "10.1.5"; + version = "10.3.0"; src = fetchFromGitHub { owner = "zwave-js"; repo = "zwave-js-ui"; tag = "v${version}"; - hash = "sha256-z0uLX8tVL5g9Vnneu4r35iucRi3mDOJXC3mx9Xwz5So="; + hash = "sha256-RfjjGpQhjpRV/+Uqh/uki9GRQQ3IrkyPkYY9hWUGWoA="; }; - npmDepsHash = "sha256-mO+PJFbhj8n/HRpBc9YyJHnvcXHnC3gT4pQM91PbL3M="; + npmDepsHash = "sha256-vjHqL3t5FiBWlh2lEeRr31Ynyu4peHyMC82zHsBbQ8E="; passthru.tests.zwave-js-ui = nixosTests.zwave-js-ui; diff --git a/pkgs/development/python-modules/colcon-defaults/default.nix b/pkgs/development/python-modules/colcon-defaults/default.nix new file mode 100644 index 000000000000..ec88506b73e7 --- /dev/null +++ b/pkgs/development/python-modules/colcon-defaults/default.nix @@ -0,0 +1,61 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + # build-system + setuptools, + #dependencies + colcon, + pyaml, + # tests + pytestCheckHook, + pytest-cov-stub, + pytest-repeat, + pytest-rerunfailures, + scspell, + writableTmpDirAsHomeHook, +}: +buildPythonPackage rec { + pname = "colcon-defaults"; + version = "0.2.9"; + pyproject = true; + + src = fetchFromGitHub { + owner = "colcon"; + repo = "colcon-defaults"; + tag = version; + hash = "sha256-Nb6D9jpbCvUnCNgRLBgWQFybNx0hyWVLSKj6gmTWjVs="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + colcon + pyaml + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-cov-stub + pytest-repeat + pytest-rerunfailures + scspell + writableTmpDirAsHomeHook + ]; + + disabledTestPaths = [ + # Skip formatting checks to prevent depending on flake8 + "test/test_flake8.py" + ]; + + pythonImportsCheck = [ "colcon_defaults" ]; + + meta = { + description = "Extension for colcon to read defaults from a config file"; + homepage = "https://github.com/colcon/colcon-defaults"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ guelakais ]; + }; +} diff --git a/pkgs/development/python-modules/colcon-notification/default.nix b/pkgs/development/python-modules/colcon-notification/default.nix new file mode 100644 index 000000000000..688348b52857 --- /dev/null +++ b/pkgs/development/python-modules/colcon-notification/default.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + colcon, + notify2, + pytestCheckHook, + scspell, + setuptools, + writableTmpDirAsHomeHook, +}: + +buildPythonPackage rec { + pname = "colcon-notification"; + version = "0.3.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "colcon"; + repo = "colcon-notification"; + tag = version; + hash = "sha256-78LruNk3KlHFgwujSbnbkjC24IN6jGnfRN+qdjvZh+k="; + }; + build-system = [ setuptools ]; + dependencies = [ + colcon + notify2 + ]; + + nativeCheckInputs = [ + pytestCheckHook + scspell + writableTmpDirAsHomeHook + ]; + + pythonImportsCheck = [ + "colcon_notification" + ]; + + disabledTestPaths = [ + # Linting/formatting tests are not relevant and would require extra dependencies + "test/test_flake8.py" + ]; + + meta = { + description = "Extension for colcon-core to provide status notifications"; + homepage = "https://github.com/colcon/colcon-notification"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ guelakais ]; + }; +} diff --git a/pkgs/development/python-modules/jaxtyping/default.nix b/pkgs/development/python-modules/jaxtyping/default.nix index 4d557ef3cb68..83d4ad031b7d 100644 --- a/pkgs/development/python-modules/jaxtyping/default.nix +++ b/pkgs/development/python-modules/jaxtyping/default.nix @@ -23,14 +23,14 @@ let self = buildPythonPackage rec { pname = "jaxtyping"; - version = "0.3.1"; + version = "0.3.2"; pyproject = true; src = fetchFromGitHub { owner = "google"; repo = "jaxtyping"; tag = "v${version}"; - hash = "sha256-rEKZ04R6PwDTk76KSjPprn58RUIQ+U8WVlxgrAwktLI="; + hash = "sha256-zRuTOt9PqFGDZbSGvkzxIWIi3z+vU0FmAEecPRcGy2w="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/potentials/default.nix b/pkgs/development/python-modules/potentials/default.nix index 36aeac395517..df99f4caaa9d 100644 --- a/pkgs/development/python-modules/potentials/default.nix +++ b/pkgs/development/python-modules/potentials/default.nix @@ -1,20 +1,24 @@ { lib, - bibtexparser, buildPythonPackage, + fetchPypi, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + bibtexparser, cdcs, datamodeldict, - fetchPypi, habanero, ipywidgets, lxml, matplotlib, numpy, pandas, - pythonOlder, requests, scipy, - setuptools, unidecode, xmltodict, yabadaba, @@ -25,11 +29,11 @@ buildPythonPackage rec { version = "0.4.0"; pyproject = true; - disabled = pythonOlder "3.7"; - - src = fetchPypi { - inherit pname version; - hash = "sha256-7ujcfFa/cweUtCY2MrEh3bTkwAVzvbF+5AJ4fs5o6bE="; + src = fetchFromGitHub { + owner = "usnistgov"; + repo = "potentials"; + tag = "v${version}"; + hash = "sha256-VDA3dQ34kvrs3XMfC0j3T63KrXlmOa/hPvOni/UkgP4="; }; build-system = [ setuptools ]; @@ -56,11 +60,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "potentials" ]; - meta = with lib; { + meta = { description = "Python API database tools for accessing the NIST Interatomic Potentials Repository"; homepage = "https://github.com/usnistgov/potentials"; changelog = "https://github.com/usnistgov/potentials/releases/tag/v${version}"; - license = licenses.mit; - maintainers = with maintainers; [ fab ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; }; } diff --git a/pkgs/development/python-modules/pytest-check/default.nix b/pkgs/development/python-modules/pytest-check/default.nix index f1d9dc5056a5..bf87e0cf98bd 100644 --- a/pkgs/development/python-modules/pytest-check/default.nix +++ b/pkgs/development/python-modules/pytest-check/default.nix @@ -9,13 +9,13 @@ buildPythonPackage rec { pname = "pytest-check"; - version = "2.5.2"; + version = "2.5.3"; pyproject = true; src = fetchPypi { pname = "pytest_check"; inherit version; - hash = "sha256-Ex+letLw4h45iG4FJVFCu1hOYYgaXkWE/QaxSq5j7l0="; + hash = "sha256-I1fX33fDldMMDElXck/fzhp16ovJ6yMIwP/lb2KscMo="; }; build-system = [ hatchling ]; diff --git a/pkgs/development/python-modules/yabadaba/default.nix b/pkgs/development/python-modules/yabadaba/default.nix index 4e748ac1c800..f212cf70b81e 100644 --- a/pkgs/development/python-modules/yabadaba/default.nix +++ b/pkgs/development/python-modules/yabadaba/default.nix @@ -1,32 +1,37 @@ { lib, buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies cdcs, datamodeldict, - fetchFromGitHub, ipython, lxml, numpy, pandas, + pillow, pymongo, - pytestCheckHook, - pythonOlder, - setuptools, tqdm, + + # tests + pytestCheckHook, + writableTmpDirAsHomeHook, }: buildPythonPackage rec { pname = "yabadaba"; - version = "0.2.2"; + version = "0.3.1"; pyproject = true; - disabled = pythonOlder "3.7"; - src = fetchFromGitHub { owner = "usnistgov"; repo = "yabadaba"; tag = "v${version}"; - hash = "sha256-NfvnUrTnOeNfiTMrcRtWU3a/Wb6qsDeQlk5jwZ1OpgI="; + hash = "sha256-DpkJvi4w0aoD7RC2IFORy8uZ12TuLdcJxfLaSGyATac="; }; build-system = [ setuptools ]; @@ -38,23 +43,23 @@ buildPythonPackage rec { lxml numpy pandas + pillow pymongo tqdm ]; - nativeCheckInputs = [ pytestCheckHook ]; + nativeCheckInputs = [ + pytestCheckHook + writableTmpDirAsHomeHook + ]; pythonImportsCheck = [ "yabadaba" ]; - preCheck = '' - export HOME=$(mktemp -d); - ''; - - meta = with lib; { + meta = { description = "Abstraction layer allowing for common interactions with databases and records"; homepage = "https://github.com/usnistgov/yabadaba"; changelog = "https://github.com/usnistgov/yabadaba/releases/tag/v${version}"; - license = licenses.mit; - maintainers = with maintainers; [ fab ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ fab ]; }; } diff --git a/pkgs/development/web/nodejs/configure-emulator-node18.patch b/pkgs/development/web/nodejs/configure-emulator-node18.patch deleted file mode 100644 index f7faddb7e005..000000000000 --- a/pkgs/development/web/nodejs/configure-emulator-node18.patch +++ /dev/null @@ -1,138 +0,0 @@ -From 4b83f714c821d6d4d2306673ee3a87907cfec80e Mon Sep 17 00:00:00 2001 -From: Ivan Trubach -Date: Fri, 19 Jul 2024 10:45:13 +0300 -Subject: [PATCH] build: support setting an emulator from configure script -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -V8’s JIT infrastructure requires binaries such as mksnapshot to be run -during the build. However, these binaries must have the same bit-width -as the host platform (e.g. a x86_64 build platform targeting ARMv6 needs -to produce a 32-bit binary). - -To work around this issue, allow building the binaries for the host -platform and running them on the build platform with an emulator. - -Based on Buildroot’s nodejs-src 0001-add-qemu-wrapper-support.patch. -https://gitlab.com/buildroot.org/buildroot/-/blob/c1d5eada4d4db9eeaa1c44dd1dea95a67c8a70ca/package/nodejs/nodejs-src/0001-add-qemu-wrapper-support.patch - -Upstream: https://github.com/nodejs/node/pull/53899 ---- - common.gypi | 1 + - configure.py | 14 ++++++++++++++ - node.gyp | 3 +++ - tools/v8_gypfiles/v8.gyp | 4 ++++ - 4 files changed, 22 insertions(+) - -diff --git a/common.gypi b/common.gypi -index ec92c9df4c..6474495ab6 100644 ---- a/common.gypi -+++ b/common.gypi -@@ -13,6 +13,7 @@ - 'enable_pgo_generate%': '0', - 'enable_pgo_use%': '0', - 'python%': 'python', -+ 'emulator%': [], - - 'node_shared%': 'false', - 'force_dynamic_crt%': 0, -diff --git a/configure.py b/configure.py -index 82916748fd..10dc0becbb 100755 ---- a/configure.py -+++ b/configure.py -@@ -112,6 +112,12 @@ parser.add_argument('--dest-cpu', - choices=valid_arch, - help=f"CPU architecture to build for ({', '.join(valid_arch)})") - -+parser.add_argument('--emulator', -+ action='store', -+ dest='emulator', -+ default=None, -+ help='emulator command that can run executables built for the target system') -+ - parser.add_argument('--cross-compiling', - action='store_true', - dest='cross_compiling', -@@ -2160,6 +2166,14 @@ write('config.mk', do_not_edit + config_str) - gyp_args = ['--no-parallel', '-Dconfiguring_node=1'] - gyp_args += ['-Dbuild_type=' + config['BUILDTYPE']] - -+if options.emulator is not None: -+ if not options.cross_compiling: -+ # Note that emulator is a list so we have to quote the variable. -+ gyp_args += ['-Demulator=' + shlex.quote(options.emulator)] -+ else: -+ # TODO: perhaps use emulator for tests? -+ warn('The `--emulator` option has no effect when cross-compiling.') -+ - if options.use_ninja: - gyp_args += ['-f', 'ninja-' + flavor] - elif flavor == 'win' and sys.platform != 'msys': -diff --git a/node.gyp b/node.gyp -index 08cb3f38e8..515b305933 100644 ---- a/node.gyp -+++ b/node.gyp -@@ -332,6 +332,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc', - ], - 'action': [ -+ '<@(emulator)', - '<(node_mksnapshot_exec)', - '--build-snapshot', - '<(node_snapshot_main)', -@@ -351,6 +352,7 @@ - '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc', - ], - 'action': [ -+ '<@(emulator)', - '<@(_inputs)', - '<@(_outputs)', - ], -@@ -1520,6 +1522,7 @@ - '<(PRODUCT_DIR)/<(node_core_target_name).def', - ], - 'action': [ -+ '<@(emulator)', - '<(PRODUCT_DIR)/gen_node_def.exe', - '<@(_inputs)', - '<@(_outputs)', -diff --git a/tools/v8_gypfiles/v8.gyp b/tools/v8_gypfiles/v8.gyp -index ba8b161f0f..d5c90dad50 100644 ---- a/tools/v8_gypfiles/v8.gyp -+++ b/tools/v8_gypfiles/v8.gyp -@@ -99,6 +99,7 @@ - '<@(torque_outputs_inc)', - ], - 'action': [ -+ '<@(emulator)', - '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)torque<(EXECUTABLE_SUFFIX)', - '-o', '<(SHARED_INTERMEDIATE_DIR)/torque-generated', - '-v8-root', '<(V8_ROOT)', -@@ -219,6 +220,7 @@ - 'action': [ - '<(python)', - '<(V8_ROOT)/tools/run.py', -+ '<@(emulator)', - '<@(_inputs)', - '<@(_outputs)', - ], -@@ -442,6 +444,7 @@ - }], - ], - 'action': [ -+ '<@(emulator)', - '>@(_inputs)', - '>@(mksnapshot_flags)', - ], -@@ -1577,6 +1580,7 @@ - 'action': [ - '<(python)', - '<(V8_ROOT)/tools/run.py', -+ '<@(emulator)', - '<@(_inputs)', - '<@(_outputs)', - ], --- -2.44.1 - diff --git a/pkgs/development/web/nodejs/disable-darwin-v8-system-instrumentation.patch b/pkgs/development/web/nodejs/disable-darwin-v8-system-instrumentation.patch deleted file mode 100644 index 63e9107b33d0..000000000000 --- a/pkgs/development/web/nodejs/disable-darwin-v8-system-instrumentation.patch +++ /dev/null @@ -1,16 +0,0 @@ -Disable v8 system instrumentation on Darwin - -On Darwin, the v8 system instrumentation requires the header "os/signpost.h" -which is available since apple_sdk 11+. See: https://github.com/nodejs/node/issues/39584 - ---- old/tools/v8_gypfiles/features.gypi -+++ new/tools/v8_gypfiles/features.gypi -@@ -62,7 +62,7 @@ - }, { - 'is_component_build': 0, - }], -- ['OS == "win" or OS == "mac"', { -+ ['OS == "win"', { - # Sets -DSYSTEM_INSTRUMENTATION. Enables OS-dependent event tracing - 'v8_enable_system_instrumentation': 1, - }, { diff --git a/pkgs/development/web/nodejs/revert-arm64-pointer-auth.patch b/pkgs/development/web/nodejs/revert-arm64-pointer-auth.patch deleted file mode 100644 index f5827983d7f2..000000000000 --- a/pkgs/development/web/nodejs/revert-arm64-pointer-auth.patch +++ /dev/null @@ -1,13 +0,0 @@ -Fixes cross compilation to aarch64-linux by reverting -https://github.com/nodejs/node/pull/43200 - ---- old/configure.py -+++ new/configure.py -@@ -1236,7 +1236,6 @@ - - # Enable branch protection for arm64 - if target_arch == 'arm64': -- o['cflags']+=['-msign-return-address=all'] - o['variables']['arm_fpu'] = options.arm_fpu or 'neon' - - if options.node_snapshot_main is not None: diff --git a/pkgs/development/web/nodejs/trap-handler-backport.patch b/pkgs/development/web/nodejs/trap-handler-backport.patch deleted file mode 100644 index c562aea3a6e2..000000000000 --- a/pkgs/development/web/nodejs/trap-handler-backport.patch +++ /dev/null @@ -1,76 +0,0 @@ -Backport V8_TRAP_HANDLER_SUPPORTED conditional compilation for trap -handler implementation. - -See https://github.com/v8/v8/commit/e7bef8d4cc4f38cc3d5a532fbcc445dc62adc08f - -E.g. when cross-compiling from aarch64-linux for x86_64-linux target, -handler-inside-posix.cc is built on aarch64-linux even though it is not -supported; see src/trap-handler/trap-handler.h in v8 for (host, target) -combinations where trap handler is supported. - -Note that handler-inside-posix.cc fails to build in the case above. - -diff --git a/deps/v8/src/trap-handler/handler-inside-posix.cc b/deps/v8/src/trap-handler/handler-inside-posix.cc -index e4454c378f..17af3d75dc 100644 ---- a/deps/v8/src/trap-handler/handler-inside-posix.cc -+++ b/deps/v8/src/trap-handler/handler-inside-posix.cc -@@ -47,6 +47,8 @@ namespace v8 { - namespace internal { - namespace trap_handler { - -+#if V8_TRAP_HANDLER_SUPPORTED -+ - #if V8_OS_LINUX - #define CONTEXT_REG(reg, REG) &uc->uc_mcontext.gregs[REG_##REG] - #elif V8_OS_DARWIN -@@ -181,6 +183,8 @@ void HandleSignal(int signum, siginfo_t* info, void* context) { - // TryHandleSignal modifies context to change where we return to. - } - -+#endif -+ - } // namespace trap_handler - } // namespace internal - } // namespace v8 -diff --git a/deps/v8/src/trap-handler/handler-inside-win.cc b/deps/v8/src/trap-handler/handler-inside-win.cc -index fcccc78ee5..3d7a2c416a 100644 ---- a/deps/v8/src/trap-handler/handler-inside-win.cc -+++ b/deps/v8/src/trap-handler/handler-inside-win.cc -@@ -38,6 +38,8 @@ namespace v8 { - namespace internal { - namespace trap_handler { - -+#if V8_TRAP_HANDLER_SUPPORTED -+ - // The below struct needed to access the offset in the Thread Environment Block - // to see if the thread local storage for the thread has been allocated yet. - // -@@ -129,6 +131,8 @@ LONG HandleWasmTrap(EXCEPTION_POINTERS* exception) { - return EXCEPTION_CONTINUE_SEARCH; - } - -+#endif -+ - } // namespace trap_handler - } // namespace internal - } // namespace v8 -diff --git a/deps/v8/src/trap-handler/handler-outside-simulator.cc b/deps/v8/src/trap-handler/handler-outside-simulator.cc -index 179eab0659..5e58719e7f 100644 ---- a/deps/v8/src/trap-handler/handler-outside-simulator.cc -+++ b/deps/v8/src/trap-handler/handler-outside-simulator.cc -@@ -4,6 +4,9 @@ - - #include "include/v8config.h" - #include "src/trap-handler/trap-handler-simulator.h" -+#include "src/trap-handler/trap-handler.h" -+ -+#if V8_TRAP_HANDLER_SUPPORTED - - #if V8_OS_DARWIN - #define SYMBOL(name) "_" #name -@@ -35,3 +38,5 @@ asm( - SYMBOL(v8_probe_memory_continuation) ": \n" - // If the trap handler continues here, it wrote the landing pad in %rax. - " ret \n"); -+ -+#endif diff --git a/pkgs/development/web/nodejs/v18.nix b/pkgs/development/web/nodejs/v18.nix deleted file mode 100644 index f63676f25823..000000000000 --- a/pkgs/development/web/nodejs/v18.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ - callPackage, - lib, - openssl, - python311, - fetchpatch2, - icu75, - enableNpm ? true, -}: - -let - buildNodejs = callPackage ./nodejs.nix { - inherit openssl; - python = python311; - icu = icu75; # does not build with newer - }; - - gypPatches = callPackage ./gyp-patches.nix { } ++ [ - ./gyp-patches-pre-v22-import-sys.patch - ]; -in -buildNodejs { - inherit enableNpm; - version = "18.20.8"; - sha256 = "36a7bf1a76d62ce4badd881ee5974a323c70e1d8d19165732684e145632460d9"; - patches = [ - ./configure-emulator-node18.patch - ./configure-armv6-vfpv2.patch - ./disable-darwin-v8-system-instrumentation.patch - ./bypass-darwin-xcrun-node16.patch - ./revert-arm64-pointer-auth.patch - ./node-npm-build-npm-package-logic.patch - ./trap-handler-backport.patch - ./use-correct-env-in-tests.patch - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/534c122de166cb6464b489f3e6a9a544ceb1c913.patch"; - hash = "sha256-4q4LFsq4yU1xRwNsM1sJoNVphJCnxaVe2IyL6AeHJ/I="; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/87598d4b63ef2c827a2bebdfa0f1540c35718519.patch"; - hash = "sha256-JJi8z9aaWnu/y3nZGOSUfeNzNSCYzD9dzoHXaGkeaEA="; - includes = [ "test/common/assertSnapshot.js" ]; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/d0a6b605fba6cd69a82e6f12ff0363eef8fe1ee9.patch"; - hash = "sha256-TfYal/PikRZHL6zpAlC3SmkYXCe+/8Gs83dLX/X/P/k="; - }) - # Remove unused `fdopen` in vendored zlib, which causes compilation failures with clang 18 on Darwin. - (fetchpatch2 { - url = "https://github.com/madler/zlib/commit/4bd9a71f3539b5ce47f0c67ab5e01f3196dc8ef9.patch?full_index=1"; - extraPrefix = "deps/v8/third_party/zlib/"; - stripLen = 1; - hash = "sha256-WVxsoEcJu0WBTyelNrVQFTZxJhnekQb1GrueeRBRdnY="; - }) - # Backport V8 fixes for LLVM 19. - (fetchpatch2 { - url = "https://chromium.googlesource.com/v8/v8/+/182d9c05e78b1ddb1cb8242cd3628a7855a0336f%5E%21/?format=TEXT"; - decode = "base64 -d"; - extraPrefix = "deps/v8/"; - stripLen = 1; - hash = "sha256-bDTwFbATPn5W4VifWz/SqaiigXYDWHq785C64VezuUE="; - }) - (fetchpatch2 { - url = "https://chromium.googlesource.com/v8/v8/+/1a3ecc2483b2dba6ab9f7e9f8f4b60dbfef504b7%5E%21/?format=TEXT"; - decode = "base64 -d"; - extraPrefix = "deps/v8/"; - stripLen = 1; - hash = "sha256-6y3aEqxNC4iTQEv1oewodJrhOHxjp5xZMq1P1QL94Rg="; - }) - # Fix for https://github.com/NixOS/nixpkgs/issues/355919 - # FIXME: remove after a minor point release - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/a094a8166cd772f89e92b5deef168e5e599fa815.patch?full_index=1"; - hash = "sha256-5FZfozYWRa1ZI/f+e+xpdn974Jg2DbiHbua13XUQP5E="; - }) - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/f270462c09ddfd770291a7c8a2cd204b2c63d730.patch?full_index=1"; - hash = "sha256-Err0i5g7WtXcnhykKgrS3ocX7/3oV9UrT0SNeRtMZNU="; - }) - # fix test failure on macos 15.4 - (fetchpatch2 { - url = "https://github.com/nodejs/node/commit/33f6e1ea296cd20366ab94e666b03899a081af94.patch?full_index=1"; - hash = "sha256-aVBMcQlhQeviUQpMIfC988jjDB2BgYzlMYsq+w16mzU="; - }) - ] ++ gypPatches; -} diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh index 6c61b3c7a503..bd314e86a39d 100755 --- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh +++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh @@ -865,16 +865,18 @@ if [ -z "$rollback" ]; then set = if builtins.isFunction value then value {} else value; in set.${attr:+$attr.}config.system.build.images.$imageVariant.v.passthru.filePath" \ "${extraBuildFlags[@]}" + | jq -r . )" elif [[ -z $flake ]]; then imageName="$( runCmd nix-instantiate --eval --strict --json --expr \ "with import {}; config.system.build.images.$imageVariant.passthru.filePath" \ "${extraBuildFlags[@]}" + | jq -r . )" else imageName="$( - runCmd nix "${flakeFlags[@]}" eval --json \ + runCmd nix "${flakeFlags[@]}" eval --raw \ "$flake#$flakeAttr.config.system.build.images.$imageVariant.passthru.filePath" \ "${evalArgs[@]}" "${extraBuildFlags[@]}" )" diff --git a/pkgs/servers/adguardhome/bins.nix b/pkgs/servers/adguardhome/bins.nix index a5ab452bc298..bd4755c451d7 100644 --- a/pkgs/servers/adguardhome/bins.nix +++ b/pkgs/servers/adguardhome/bins.nix @@ -1,31 +1,31 @@ { fetchurl, fetchzip }: { x86_64-darwin = fetchzip { - sha256 = "sha256-wNDPmB/RyTc3ZZWx7glhDx3aeWFrvcsiNv7hvsnWWu4="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.57/AdGuardHome_darwin_amd64.zip"; + sha256 = "sha256-/xwRH9+qJQ91z2alo2sBdnLs2Z2wXUMHqJvxagptx5U="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.61/AdGuardHome_darwin_amd64.zip"; }; aarch64-darwin = fetchzip { - sha256 = "sha256-gm9QHJFrCbKyEK6RsSKCeIQY2eYJIXO1n4vAkA3yatY="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.57/AdGuardHome_darwin_arm64.zip"; + sha256 = "sha256-60uD8dH4Dqbey21HGx/PIzWBcN/00V1/oS1ubrucayY="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.61/AdGuardHome_darwin_arm64.zip"; }; i686-linux = fetchurl { - sha256 = "sha256-2TVrjG4C4uLsBUJoya4YxiOlTJlcmzPG6lUWcCj/PYE="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.57/AdGuardHome_linux_386.tar.gz"; + sha256 = "sha256-RJeU+n46IMncX5MXDedw/7DSe6pISsTJEyfI5B1pEcY="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.61/AdGuardHome_linux_386.tar.gz"; }; x86_64-linux = fetchurl { - sha256 = "sha256-E2bzQIYsRpijlJnjD+V3lh5a1nauD5aMVoI/9tHfrRM="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.57/AdGuardHome_linux_amd64.tar.gz"; + sha256 = "sha256-jZV/U4DUw70J1xmZLM5+gqAgpUP7fdyw46Neq8fQxT0="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.61/AdGuardHome_linux_amd64.tar.gz"; }; aarch64-linux = fetchurl { - sha256 = "sha256-0yedCjUkpye2Rly87a5Qdyfy8/kgrEOrHKpbZ0YhruM="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.57/AdGuardHome_linux_arm64.tar.gz"; + sha256 = "sha256-TtD8KR92Mv3Z3nCz4xIT+FcuxwqgDTq3C1lGIELrEQU="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.61/AdGuardHome_linux_arm64.tar.gz"; }; armv6l-linux = fetchurl { - sha256 = "sha256-RhPXB3G9iDmijTCsljXedJxqLr8Zna5IzU18KITU0m0="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.57/AdGuardHome_linux_armv6.tar.gz"; + sha256 = "sha256-MosFBi72sgdZshUzAxi/ht56VpeHMguRQawU3DI5Va8="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.61/AdGuardHome_linux_armv6.tar.gz"; }; armv7l-linux = fetchurl { - sha256 = "sha256-tAtuMWgy+HMUIMbKLQZOMVO7z65UuPIZnHpJr1IYpJw="; - url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.57/AdGuardHome_linux_armv7.tar.gz"; + sha256 = "sha256-7YFzd6z9eCGBHlyYgDiwE+cpQzEuQIHDYfbCopapYrw="; + url = "https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.107.61/AdGuardHome_linux_armv7.tar.gz"; }; } diff --git a/pkgs/servers/adguardhome/default.nix b/pkgs/servers/adguardhome/default.nix index 1790e88e4a35..17835e373b1d 100644 --- a/pkgs/servers/adguardhome/default.nix +++ b/pkgs/servers/adguardhome/default.nix @@ -13,7 +13,7 @@ in stdenv.mkDerivation rec { pname = "adguardhome"; - version = "0.107.57"; + version = "0.107.61"; src = sources.${system} or (throw "Source for ${pname} is not available for ${system}"); installPhase = '' diff --git a/pkgs/servers/adguardhome/update.sh b/pkgs/servers/adguardhome/update.sh index 4e3ecfbfaca4..b85129e8289a 100755 --- a/pkgs/servers/adguardhome/update.sh +++ b/pkgs/servers/adguardhome/update.sh @@ -36,7 +36,7 @@ for asset in $(curl --silent https://api.github.com/repos/AdguardTeam/AdGuardHom if [ -n "$adg_system" ]; then fetch="$(grep '\.zip$' <<< "$url" > /dev/null && echo fetchzip || echo fetchurl)" nix_system=${systems[$adg_system]} - nix_src="$(nix-prefetch -s --output nix $fetch --url $url)" + nix_src="$(nix-prefetch --option extra-experimental-features flakes -s --output nix $fetch --url $url)" echo "$nix_system = $fetch $nix_src;" >> $bins fi done diff --git a/pkgs/servers/icingaweb2/default.nix b/pkgs/servers/icingaweb2/default.nix index a8ebcc9e2e56..c13c808ec7f7 100644 --- a/pkgs/servers/icingaweb2/default.nix +++ b/pkgs/servers/icingaweb2/default.nix @@ -9,13 +9,13 @@ stdenvNoCC.mkDerivation rec { pname = "icingaweb2"; - version = "2.12.3"; + version = "2.12.4"; src = fetchFromGitHub { owner = "Icinga"; repo = "icingaweb2"; rev = "v${version}"; - hash = "sha256-PWP5fECKjdXhdX1E5hYaGv/fqb1KIKfclcPiCY/MMZM="; + hash = "sha256-Ds1SxNQ3WAhY79SWl1ZIQUl2Pb8bZlHISRaSEe+Phos="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/servers/mx-puppet-discord/default.nix b/pkgs/servers/mx-puppet-discord/default.nix index a4e4da2f5343..b7418016a52e 100644 --- a/pkgs/servers/mx-puppet-discord/default.nix +++ b/pkgs/servers/mx-puppet-discord/default.nix @@ -4,7 +4,7 @@ pkgs, lib, node-pre-gyp, - nodejs_18, + nodejs_20, pkg-config, libjpeg, pixman, @@ -15,7 +15,7 @@ }: let - nodejs = nodejs_18; + nodejs = nodejs_20; version = "0.1.1"; @@ -72,7 +72,8 @@ myNodePackages.package.override { maintainers = [ ]; platforms = platforms.unix; # never built on aarch64-darwin since first introduction in nixpkgs - broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64; + # Depends on nodejs_18 that has been removed. + broken = true; mainProgram = "mx-puppet-discord"; }; } diff --git a/pkgs/servers/mx-puppet-discord/node-composition.nix b/pkgs/servers/mx-puppet-discord/node-composition.nix index e7922d509acb..bea673390a92 100644 --- a/pkgs/servers/mx-puppet-discord/node-composition.nix +++ b/pkgs/servers/mx-puppet-discord/node-composition.nix @@ -5,7 +5,7 @@ inherit system; }, system ? builtins.currentSystem, - nodejs ? pkgs."nodejs_18", + nodejs ? pkgs."nodejs_20", }: let diff --git a/pkgs/servers/openvscode-server/default.nix b/pkgs/servers/openvscode-server/default.nix index 7a3ebf54830a..e0637893c92f 100644 --- a/pkgs/servers/openvscode-server/default.nix +++ b/pkgs/servers/openvscode-server/default.nix @@ -259,6 +259,8 @@ stdenv.mkDerivation (finalAttrs: { "x86_64-darwin" "aarch64-darwin" ]; + # Depends on nodejs_18 that has been removed. + broken = true; mainProgram = "openvscode-server"; }; }) diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix index 4f9a629baf4e..22d14a39b1c4 100644 --- a/pkgs/servers/sql/mariadb/default.nix +++ b/pkgs/servers/sql/mariadb/default.nix @@ -118,10 +118,16 @@ let prePatch = '' sed -i 's,[^"]*/var/log,/var/log,g' storage/mroonga/vendor/groonga/CMakeLists.txt ''; + env = lib.optionalAttrs (stdenv.hostPlatform.isLinux && !stdenv.hostPlatform.isGnu) { + # MariaDB uses non-POSIX fopen64, which musl only conditionally defines. + NIX_CFLAGS_COMPILE = "-D_LARGEFILE64_SOURCE"; + }; patches = [ ./patch/cmake-includedir.patch + # patch for musl compatibility + ./patch/include-cstdint-full.patch ] # Fixes a build issue as documented on # https://jira.mariadb.org/browse/MDEV-26769?focusedCommentId=206073&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-206073 diff --git a/pkgs/servers/sql/mariadb/patch/include-cstdint-full.patch b/pkgs/servers/sql/mariadb/patch/include-cstdint-full.patch new file mode 100644 index 000000000000..b2697df992af --- /dev/null +++ b/pkgs/servers/sql/mariadb/patch/include-cstdint-full.patch @@ -0,0 +1,48 @@ +diff --git a/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h b/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h +index f356395..3215221 100644 +--- a/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h ++++ b/storage/rocksdb/rocksdb/table/block_based/data_block_hash_index.h +@@ -5,6 +5,7 @@ + + #pragma once + ++#include + #include + #include + +diff --git a/storage/rocksdb/rocksdb/util/string_util.h b/storage/rocksdb/rocksdb/util/string_util.h +index a761be6..064d059 100644 +--- a/storage/rocksdb/rocksdb/util/string_util.h ++++ b/storage/rocksdb/rocksdb/util/string_util.h +@@ -6,6 +6,7 @@ + + #pragma once + ++#include + #include + #include + #include +diff --git a/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h b/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +index c7f93b4..3c2ab80 100644 +--- a/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h ++++ b/storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h +@@ -8,6 +8,7 @@ + #pragma once + #ifndef ROCKSDB_LITE + ++#include + #include + #include + #include "rocksdb/status.h" +diff --git a/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h b/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h +index 963c1d8..8d70309 100644 +--- a/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h ++++ b/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h +@@ -6,6 +6,7 @@ + #pragma once + + #include "rocksdb/rocksdb_namespace.h" ++#include + + struct CompactionIterationStats { + // Compaction statistics diff --git a/pkgs/tools/networking/octodns/providers/ddns/default.nix b/pkgs/tools/networking/octodns/providers/ddns/default.nix new file mode 100644 index 000000000000..d03bf30653b8 --- /dev/null +++ b/pkgs/tools/networking/octodns/providers/ddns/default.nix @@ -0,0 +1,53 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + octodns, + pytestCheckHook, + setuptools, + requests, +}: +buildPythonPackage rec { + pname = "octodns-ddns"; + version = "0.2.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "octodns"; + repo = "octodns-ddns"; + tag = "v${version}"; + hash = "sha256-n4dTkJT5UmmEqtN5x2zkJe7NQtjXz3gPwwFnOmMIfIs="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + octodns + requests + ]; + + postPatch = '' + substituteInPlace tests/test_octodns_source_ddns.py \ + --replace-fail "assertEquals" "assertEqual" + ''; + + env.OCTODNS_RELEASE = 1; + + pythonImportsCheck = [ + "octodns_ddns" + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + description = "Simple Dynamic DNS source for octoDNS"; + homepage = "https://github.com/octodns/octodns-ddns"; + changelog = "https://github.com/octodns/octodns-ddns/blob/${src.tag}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.provokateurin ]; + }; +} diff --git a/pkgs/tools/system/netdata/dashboard-v2-removal.patch b/pkgs/tools/system/netdata/dashboard-v2-removal.patch deleted file mode 100644 index 5eb7ef62eeb0..000000000000 --- a/pkgs/tools/system/netdata/dashboard-v2-removal.patch +++ /dev/null @@ -1,25 +0,0 @@ -# Original: https://github.com/netdata/netdata/pull/17240 - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index f37cbd18a..6db4c9f52 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -134,6 +134,7 @@ mark_as_advanced(DEFAULT_FEATURE_STATE) - # High-level features - option(ENABLE_ACLK "Enable Netdata Cloud support (ACLK)" ${DEFAULT_FEATURE_STATE}) - option(ENABLE_CLOUD "Enable Netdata Cloud by default at runtime" ${DEFAULT_FEATURE_STATE}) -+option(ENABLE_DASHBOARD_V2 "enable dashboard v2" True) - option(ENABLE_ML "Enable machine learning features" ${DEFAULT_FEATURE_STATE}) - option(ENABLE_DBENGINE "Enable dbengine metrics storage" True) - -@@ -2946,7 +2947,9 @@ endif() - # - - include(src/web/gui/v1/dashboard_v1.cmake) --include(src/web/gui/v2/dashboard_v2.cmake) -+if(ENABLE_DASHBOARD_V2) -+ include(src/web/gui/v2/dashboard_v2.cmake) -+endif() - include(src/web/gui/gui.cmake) - - function(cat IN_FILE OUT_FILE) \ No newline at end of file diff --git a/pkgs/tools/system/netdata/dashboard-v3-add.patch b/pkgs/tools/system/netdata/dashboard-v3-add.patch new file mode 100644 index 000000000000..a5d3dd17484b --- /dev/null +++ b/pkgs/tools/system/netdata/dashboard-v3-add.patch @@ -0,0 +1,35 @@ +diff --git a/packaging/cmake/Modules/NetdataDashboard.cmake b/packaging/cmake/Modules/NetdataDashboard.cmake +index 098eaffcf..e52375bd0 100644 +--- a/packaging/cmake/Modules/NetdataDashboard.cmake ++++ b/packaging/cmake/Modules/NetdataDashboard.cmake +@@ -26,29 +26,12 @@ function(bundle_dashboard) + set(dashboard_src_dir "${CMAKE_BINARY_DIR}/dashboard-src") + set(dashboard_src_prefix "${dashboard_src_dir}/dist/agent") + set(dashboard_bin_dir "${CMAKE_BINARY_DIR}/dashboard-bin") +- set(DASHBOARD_URL "https://app.netdata.cloud/agent.tar.gz" CACHE STRING +- "URL used to fetch the local agent dashboard code") + + message(STATUS "Preparing local agent dashboard code") + +- message(STATUS " Fetching ${DASHBOARD_URL}") +- file(DOWNLOAD +- "${DASHBOARD_URL}" +- "${CMAKE_BINARY_DIR}/dashboard.tar.gz" +- TIMEOUT 180 +- STATUS fetch_status) +- +- list(GET fetch_status 0 result) +- +- if(result) +- message(FATAL_ERROR "Failed to fetch dashboard code") +- else() +- message(STATUS " Fetching ${DASHBOARD_URL} -- Done") +- endif() +- + message(STATUS " Extracting dashboard code") + extract_gzipped_tarball( +- "${CMAKE_BINARY_DIR}/dashboard.tar.gz" ++ "@dashboardTarball@" + "${dashboard_src_dir}" + ) + message(STATUS " Extracting dashboard code -- Done") diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix index 5b20afa6ac90..dc2f5a516949 100644 --- a/pkgs/tools/system/netdata/default.nix +++ b/pkgs/tools/system/netdata/default.nix @@ -1,18 +1,22 @@ { - lib, - stdenv, - fetchFromGitHub, bash, + bison, buildGoModule, cmake, cups, curl, + dlib, + fetchFromGitHub, + fetchurl, + flex, freeipmi, go, google-cloud-cpp, grpc, jemalloc, json_c, + lib, + libbacktrace, libbpf, libcap, libelf, @@ -30,57 +34,52 @@ openssl, pkg-config, protobuf, + replaceVars, snappy, + stdenv, systemd, - withCloud ? false, + zlib, + withCloudUi ? false, withConnPrometheus ? false, withConnPubSub ? false, withCups ? false, - withDBengine ? true, + withDBengine ? false, withDebug ? false, withEbpf ? false, withIpmi ? (stdenv.hostPlatform.isLinux), + withLibbacktrace ? true, + withNdsudo ? false, withNetfilter ? (stdenv.hostPlatform.isLinux), withNetworkViewer ? (stdenv.hostPlatform.isLinux), withSsl ? true, withSystemdJournal ? (stdenv.hostPlatform.isLinux), - zlib, - withNdsudo ? false, + withML ? true, }: stdenv.mkDerivation (finalAttrs: { - version = "1.47.5"; + version = "2.4.0"; pname = "netdata"; src = fetchFromGitHub { owner = "netdata"; repo = "netdata"; rev = "v${finalAttrs.version}"; - hash = - if withCloudUi then - "sha256-+cPYwjxg/+A5bNa517zg9xKEjUa8uPM9WD67tToPH5o=" - # we delete the v2 GUI after fetching - else - "sha256-0aiBUkDymmdIT/u1y2PG30QYAvb8Zc4i8ZgjOtlzt+A="; + hash = "sha256-egHsWmhnrl8D59gr7uD5hBnleCOI8gVEBGwdO5GSnOg="; fetchSubmodules = true; - - # Remove v2 dashboard distributed under NCUL1. Make sure an empty - # Makefile.am exists, as autoreconf will get confused otherwise. - postFetch = lib.optionalString (!withCloudUi) '' - rm -rf $out/src/web/gui/v2/* - touch $out/src/web/gui/v2/Makefile.am - ''; }; strictDeps = true; nativeBuildInputs = [ + bison cmake - pkg-config - makeWrapper + flex go + makeWrapper ninja + pkg-config ] ++ lib.optionals withCups [ cups.dev ]; + # bash is only used to rewrite shebangs buildInputs = [ @@ -89,8 +88,10 @@ stdenv.mkDerivation (finalAttrs: { jemalloc json_c libuv - zlib libyaml + lz4 + protobuf + zlib ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libossp_uuid @@ -101,34 +102,44 @@ stdenv.mkDerivation (finalAttrs: { libuuid lm_sensors ] - ++ lib.optionals withCups [ cups ] - ++ lib.optionals withDBengine [ lz4 ] - ++ lib.optionals withIpmi [ freeipmi ] - ++ lib.optionals withNetfilter [ - libmnl - libnetfilter_acct - ] + ++ lib.optionals withConnPrometheus [ snappy ] ++ lib.optionals withConnPubSub [ google-cloud-cpp grpc ] - ++ lib.optionals withConnPrometheus [ snappy ] + ++ lib.optionals withCups [ cups ] ++ lib.optionals withEbpf [ - libelf libbpf + libelf ] - ++ lib.optionals (withCloud || withConnPrometheus) [ protobuf ] - ++ lib.optionals withSystemdJournal [ systemd ] - ++ lib.optionals withSsl [ openssl ]; + ++ lib.optionals withIpmi [ freeipmi ] + ++ lib.optionals withLibbacktrace [ libbacktrace ] + ++ lib.optionals withNetfilter [ + libmnl + libnetfilter_acct + ] + ++ lib.optionals withSsl [ openssl ] + ++ lib.optionals withSystemdJournal [ systemd ]; - patches = [ - # Allow ndsudo to use non-hardcoded `PATH` - # See https://github.com/netdata/netdata/pull/17377#issuecomment-2183017868 - # https://github.com/netdata/netdata/security/advisories/GHSA-pmhq-4cxq-wj93 - ./ndsudo-fix-path.patch - # Allow building without non-free v2 dashboard. - ./dashboard-v2-removal.patch - ]; + patches = + [ + # Allow ndsudo to use non-hardcoded `PATH` + # See https://github.com/netdata/netdata/pull/17377#issuecomment-2183017868 + # https://github.com/netdata/netdata/security/advisories/GHSA-pmhq-4cxq-wj93 + ./ndsudo-fix-path.patch + + ./use-local-libbacktrace.patch + ] + ++ lib.optional withCloudUi ( + replaceVars ./dashboard-v3-add.patch { + # FIXME web.archive.org link can be replace once https://github.com/netdata/netdata-cloud/issues/1081 resolved + # last update 03/16/2025 23:56:24 + dashboardTarball = fetchurl { + url = "https://web.archive.org/web/20250316235624/https://app.netdata.cloud/agent.tar.gz"; + hash = "sha256-Vtw+CbBgqGRenkis0ZR2/TLsoM83NjNA6mbndb95EK8="; + }; + } + ); # Guard against unused build-time development inputs in closure. Without # the ./skip-CONFIGURE_COMMAND.patch patch the closure retains inputs up @@ -137,7 +148,7 @@ stdenv.mkDerivation (finalAttrs: { # We pick zlib.dev as a simple canary package with pkg-config input. disallowedReferences = lib.optional (!withDebug) zlib.dev; - donStrip = withDebug; + donStrip = withDebug || withLibbacktrace; env.NIX_CFLAGS_COMPILE = lib.optionalString withDebug "-O1 -ggdb -DNETDATA_INTERNAL_CHECKS=1"; postInstall = @@ -169,10 +180,6 @@ stdenv.mkDerivation (finalAttrs: { mv $out/libexec/netdata/plugins.d/network-viewer.plugin \ $out/libexec/netdata/plugins.d/network-viewer.plugin.org ''} - ${lib.optionalString (!withCloudUi) '' - rm -rf $out/share/netdata/web/index.html - cp $out/share/netdata/web/v1/index.html $out/share/netdata/web/index.html - ''} ${lib.optionalString withNdsudo '' mv $out/libexec/netdata/plugins.d/ndsudo \ $out/libexec/netdata/plugins.d/ndsudo.org @@ -206,27 +213,29 @@ stdenv.mkDerivation (finalAttrs: { --replace-fail 'set(libconfigdir_POST "''${NETDATA_RUNTIME_PREFIX}/usr/lib/netdata/conf.d")' 'set(libconfigdir_POST "${placeholder "out"}/share/netdata/conf.d")' \ --replace-fail 'set(cachedir_POST "''${NETDATA_RUNTIME_PREFIX}/var/cache/netdata")' 'set(libconfigdir_POST "/var/cache/netdata")' \ --replace-fail 'set(registrydir_POST "''${NETDATA_RUNTIME_PREFIX}/var/lib/netdata/registry")' 'set(registrydir_POST "/var/lib/netdata/registry")' \ - --replace-fail 'set(varlibdir_POST "''${NETDATA_RUNTIME_PREFIX}/var/lib/netdata")' 'set(varlibdir_POST "/var/lib/netdata")' + --replace-fail 'set(varlibdir_POST "''${NETDATA_RUNTIME_PREFIX}/var/lib/netdata")' 'set(varlibdir_POST "/var/lib/netdata")' \ + --replace-fail 'set(BUILD_INFO_CMAKE_CACHE_ARCHIVE_PATH "usr/share/netdata")' 'set(BUILD_INFO_CMAKE_CACHE_ARCHIVE_PATH "${placeholder "out"}/share/netdata")' ''; cmakeFlags = [ "-DWEB_DIR=share/netdata/web" - (lib.cmakeBool "ENABLE_CLOUD" withCloud) - # ACLK is agent cloud link. - (lib.cmakeBool "ENABLE_ACLK" withCloud) - (lib.cmakeBool "ENABLE_DASHBOARD_V2" withCloudUi) - (lib.cmakeBool "ENABLE_DBENGINE" withDBengine) - (lib.cmakeBool "ENABLE_PLUGIN_FREEIPMI" withIpmi) - (lib.cmakeBool "ENABLE_PLUGIN_SYSTEMD_JOURNAL" withSystemdJournal) - (lib.cmakeBool "ENABLE_PLUGIN_NETWORK_VIEWER" withNetworkViewer) - (lib.cmakeBool "ENABLE_PLUGIN_EBPF" withEbpf) - (lib.cmakeBool "ENABLE_PLUGIN_XENSTAT" false) - (lib.cmakeBool "ENABLE_PLUGIN_CUPS" withCups) + (lib.cmakeBool "ENABLE_DASHBOARD" withCloudUi) + # FIXME uncomment when https://github.com/netdata/netdata/issues/19901#issuecomment-2819701451 resolved + (lib.cmakeBool "ENABLE_DBENGINE" true) + # (lib.cmakeBool "ENABLE_DBENGINE" withDBengine) (lib.cmakeBool "ENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE" withConnPrometheus) (lib.cmakeBool "ENABLE_JEMALLOC" true) + (lib.cmakeBool "ENABLE_LIBBACKTRACE" withLibbacktrace) + (lib.cmakeBool "ENABLE_PLUGIN_CUPS" withCups) + (lib.cmakeBool "ENABLE_PLUGIN_EBPF" withEbpf) + (lib.cmakeBool "ENABLE_PLUGIN_FREEIPMI" withIpmi) + (lib.cmakeBool "ENABLE_PLUGIN_NETWORK_VIEWER" withNetworkViewer) + (lib.cmakeBool "ENABLE_PLUGIN_SYSTEMD_JOURNAL" withSystemdJournal) + (lib.cmakeBool "ENABLE_PLUGIN_XENSTAT" false) + (lib.cmakeBool "ENABLE_ML" withML) # Suggested by upstream. "-G Ninja" - ]; + ] ++ lib.optional withML "-DNETDATA_DLIB_SOURCE_PATH=${dlib.src}"; postFixup = '' wrapProgram $out/bin/netdata-claim.sh --prefix PATH : ${lib.makeBinPath [ openssl ]} @@ -251,7 +260,7 @@ stdenv.mkDerivation (finalAttrs: { sourceRoot = "${finalAttrs.src.name}/src/go/plugin/go.d"; - vendorHash = "sha256-NZ1tg+lvXNgypqmjjb5f7dHH6DIA9VOa4PMM4eq11n0="; + vendorHash = "sha256-PgQs3+++iD9Lg8psTBVzF4b+kGJzhV5yNQBkw/+Dqks="; doCheck = false; proxyVendor = true; @@ -282,6 +291,7 @@ stdenv.mkDerivation (finalAttrs: { platforms = platforms.unix; maintainers = with maintainers; [ mkg20001 + rhoriguchi ]; }; }) diff --git a/pkgs/tools/system/netdata/ndsudo-fix-path.patch b/pkgs/tools/system/netdata/ndsudo-fix-path.patch index be70032fff04..a85a7369fefd 100644 --- a/pkgs/tools/system/netdata/ndsudo-fix-path.patch +++ b/pkgs/tools/system/netdata/ndsudo-fix-path.patch @@ -1,10 +1,10 @@ # See https://github.com/netdata/netdata/pull/17377#issuecomment-2183017868 # https://github.com/netdata/netdata/security/advisories/GHSA-pmhq-4cxq-wj93 -diff --git a/src/collectors/plugins.d/ndsudo.c b/src/collectors/plugins.d/ndsudo.c +diff --git a/src/collectors/utils/ndsudo.c b/src/collectors/utils/ndsudo.c index d53ca9f28..b42a121bf 100644 ---- a/src/collectors/plugins.d/ndsudo.c -+++ b/src/collectors/plugins.d/ndsudo.c +--- a/src/collectors/utils/ndsudo.c ++++ b/src/collectors/utils/ndsudo.c @@ -357,9 +357,9 @@ int main(int argc, char *argv[]) { return 3; } diff --git a/pkgs/tools/system/netdata/use-local-libbacktrace.patch b/pkgs/tools/system/netdata/use-local-libbacktrace.patch new file mode 100644 index 000000000000..77d4facd92ad --- /dev/null +++ b/pkgs/tools/system/netdata/use-local-libbacktrace.patch @@ -0,0 +1,34 @@ +--- a/CMakeLists.txt 2025-03-29 00:48:23.397111607 +0100 ++++ b/CMakeLists.txt 2025-03-29 00:45:42.296199537 +0100 +@@ -501,10 +501,6 @@ + message(STATUS "Added compiler and linker flags for better stack trace support") + endif() + +-if(ENABLE_LIBBACKTRACE) +- netdata_bundle_libbacktrace() +-endif() +- + # + # check source compilation + # +@@ -2183,8 +2179,10 @@ + "$<$:m>" + "${SYSTEMD_LDFLAGS}") + +-if(HAVE_LIBBACKTRACE) +- netdata_add_libbacktrace_to_target(libnetdata) ++if(ENABLE_LIBBACKTRACE AND HAVE_LIBBACKTRACE) ++ target_link_libraries(libnetdata ${LIBBACKTRACE_LIBRARIES}) ++ target_include_directories(libnetdata PUBLIC ${LIBBACKTRACE_INCLUDE_DIRS}) ++ target_compile_options(libnetdata PUBLIC ${LIBBACKTRACE_CFLAGS_OTHER}) + endif() + + if(OS_WINDOWS) +--- /dev/null ++++ b/pkgs/tools/system/netdata/use-local-libbacktrace.patch +@@ -0,0 +1,5 @@ ++FIND_PATH(LIBBACKTRACE_INCLUDE_DIR NAMES backtrace.h) ++FIND_LIBRARY(LIBBACKTRACE_LIBRARIES NAMES libbacktrace) ++ ++INCLUDE(FindPackageHandleStandardArgs) ++FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBBACKTRACE DEFAULT_MSG LIBBACKTRACE_LIBRARIES LIBBACKTRACE_INCLUDE_DIR) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index ecdabd1f03e1..a99ea1e2f4fa 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -509,6 +509,10 @@ mapAliases { dibbler = throw "dibbler was removed because it is not maintained anymore"; # Added 2024-05-14 dillong = throw "'dillong' has been removed, as upstream is abandoned since 2021-12-13. Use either 'dillo' or 'dillo-plus'. The latter integrates features from dillong."; # Added 2024-10-07 diskonaut = throw "'diskonaut' was removed due to lack of upstream maintenance"; # Added 2025-01-25 + dleyna-core = dleyna; # Added 2025-04-19 + dleyna-connector-dbus = dleyna; # Added 2025-04-19 + dleyna-renderer = dleyna; # Added 2025-04-19 + dleyna-server = dleyna; # Added 2025-04-19 dnnl = throw "'dnnl' has been renamed to/replaced by 'oneDNN'"; # Converted to throw 2024-10-17 dnscrypt-wrapper = throw "dnscrypt-wrapper was removed because it has been effectively unmaintained since 2018. Use DNSCcrypt support in dnsdist instead"; # Added 2024-09-14 docear = throw "Docear was removed because it was unmaintained upstream. JabRef, Zotero, or Mendeley are potential replacements."; # Added 2024-11-02 @@ -1284,6 +1288,9 @@ mapAliases { nixosTest = testers.nixosTest; # Added 2022-05-05 nmap-unfree = throw "'nmap-unfree' has been renamed to/replaced by 'nmap'"; # Converted to throw 2024-10-17 + nodejs_18 = throw "Node.js 18.x has reached End-Of-Life and has been removed"; # Added 2025-04-23 + nodejs-slim_18 = nodejs_18; # Added 2025-04-23 + corepack_18 = nodejs_18; # Added 2025-04-23 nodejs-18_x = nodejs_18; # Added 2022-11-06 nodejs-slim-18_x = nodejs-slim_18; # Added 2022-11-06 nomad_1_4 = throw "nomad_1_4 is no longer supported upstream. You can switch to using a newer version of the nomad package, or revert to older nixpkgs if you cannot upgrade"; # Added 2025-02-02 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4b30fc186b7d..50eca52b28f5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -427,6 +427,7 @@ with pkgs; hetzner = python3Packages.callPackage ../tools/networking/octodns/providers/hetzner { }; powerdns = python3Packages.callPackage ../tools/networking/octodns/providers/powerdns { }; cloudflare = python3Packages.callPackage ../tools/networking/octodns/providers/cloudflare { }; + ddns = python3Packages.callPackage ../tools/networking/octodns/providers/ddns { }; }; oletools = with python3.pkgs; toPythonApplication oletools; @@ -3852,7 +3853,6 @@ with pkgs; protobuf = protobuf_21; }; netdataCloud = netdata.override { - withCloud = true; withCloudUi = true; }; @@ -3877,10 +3877,6 @@ with pkgs; nodejs-slim = nodejs-slim_22; corepack = hiPrio corepack_22; - nodejs_18 = callPackage ../development/web/nodejs/v18.nix { }; - nodejs-slim_18 = callPackage ../development/web/nodejs/v18.nix { enableNpm = false; }; - corepack_18 = hiPrio (callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs_18; }); - nodejs_20 = callPackage ../development/web/nodejs/v20.nix { }; nodejs-slim_20 = callPackage ../development/web/nodejs/v20.nix { enableNpm = false; }; corepack_20 = hiPrio (callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs_20; }); @@ -11083,7 +11079,7 @@ with pkgs; lemmy-server = callPackage ../servers/web-apps/lemmy/server.nix { }; lemmy-ui = callPackage ../servers/web-apps/lemmy/ui.nix { - nodejs = nodejs_18; + nodejs = nodejs_20; }; mailmanPackages = callPackage ../servers/mail/mailman { }; @@ -15118,9 +15114,7 @@ with pkgs; vdirsyncer = with python3Packages; toPythonApplication vdirsyncer; - vengi-tools = callPackage ../applications/graphics/vengi-tools { - inherit (darwin.apple_sdk_11_0.frameworks) CoreServices; - }; + vengi-tools = callPackage ../applications/graphics/vengi-tools { }; veusz = libsForQt5.callPackage ../applications/graphics/veusz { }; @@ -15274,7 +15268,7 @@ with pkgs; }; openvscode-server = callPackage ../servers/openvscode-server { - nodejs = nodejs_18; + nodejs = nodejs_20; }; code-server = callPackage ../servers/code-server { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8182237e1248..e3cb22d682f9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2659,6 +2659,10 @@ self: super: with self; { colcon-argcomplete = callPackage ../development/python-modules/colcon-argcomplete { }; + colcon-defaults = callPackage ../development/python-modules/colcon-defaults { }; + + colcon-notification = callPackage ../development/python-modules/colcon-notification { }; + collections-extended = callPackage ../development/python-modules/collections-extended { }; collidoscope = callPackage ../development/python-modules/collidoscope { };