diff options
39 files changed, 813 insertions, 210 deletions
diff --git a/doc/hooks/zig.section.md b/doc/hooks/zig.section.md index 1a09491649d7f..8bef293769e58 100644 --- a/doc/hooks/zig.section.md +++ b/doc/hooks/zig.section.md @@ -9,14 +9,14 @@ In Nixpkgs, `zig.hook` overrides the default build, check and install phases. ```nix { lib , stdenv -, zig_0_11 +, zig }: stdenv.mkDerivation { # . . . nativeBuildInputs = [ - zig_0_11.hook + zig.hook ]; zigBuildFlags = [ "-Dman-pages=true" ]; diff --git a/lib/licenses.nix b/lib/licenses.nix index 49c7a4a353ecb..7d2a22bc25a47 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -632,6 +632,11 @@ in mkLicense lset) ({ url = "https://old.calculate-linux.org/packages/licenses/iASL"; }; + icu = { + spdxId = "ICU"; + fullName = "ICU"; + }; + ijg = { spdxId = "IJG"; fullName = "Independent JPEG Group License"; diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index bc814ad305055..e3880d3deec53 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -92,6 +92,8 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi - [PhotonVision](https://photonvision.org/), a free, fast, and easy-to-use computer vision solution for the FIRST® Robotics Competition. +- [clatd](https://github.com/toreanderson/clatd), a a CLAT / SIIT-DC Edge Relay implementation for Linux. + - [pyLoad](https://pyload.net/), a FOSS download manager written in Python. Available as [services.pyload](#opt-services.pyload.enable) - [maubot](https://github.com/maubot/maubot), a plugin-based Matrix bot framework. Available as [services.maubot](#opt-services.maubot.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 90a2170349e93..111b5c129cb3c 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -946,6 +946,7 @@ ./services/networking/charybdis.nix ./services/networking/chisel-server.nix ./services/networking/cjdns.nix + ./services/networking/clatd.nix ./services/networking/cloudflare-dyndns.nix ./services/networking/cloudflared.nix ./services/networking/cntlm.nix diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix index 43568f29dd376..7b96a182f0d94 100644 --- a/nixos/modules/services/misc/gitlab.nix +++ b/nixos/modules/services/misc/gitlab.nix @@ -18,6 +18,8 @@ let gitalySocket = "${cfg.statePath}/tmp/sockets/gitaly.socket"; pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url; + gitlabVersionAtLeast = version: lib.versionAtLeast (lib.getVersion cfg.packages.gitlab) version; + databaseConfig = let val = { adapter = "postgresql"; @@ -27,10 +29,16 @@ let encoding = "utf8"; pool = cfg.databasePool; } // cfg.extraDatabaseConfig; - in if lib.versionAtLeast (lib.getVersion cfg.packages.gitlab) "15.0" then { - production.main = val; - } else { - production = val; + in { + production = ( + if (gitlabVersionAtLeast "15.0") + then { main = val; } + else val + ) // lib.optionalAttrs (gitlabVersionAtLeast "15.9") { + ci = val // { + database_tasks = false; + }; + }; }; # We only want to create a database if we're actually going to connect to it. @@ -1168,7 +1176,7 @@ in { set -eu PSQL() { - psql --port=${toString pgsql.port} "$@" + psql --port=${toString pgsql.settings.port} "$@" } PSQL -tAc "SELECT 1 FROM pg_database WHERE datname = '${cfg.databaseName}'" | grep -q 1 || PSQL -tAc 'CREATE DATABASE "${cfg.databaseName}" OWNER "${cfg.databaseUsername}"' @@ -1348,7 +1356,7 @@ in { rm -f '${cfg.statePath}/config/database.yml' - ${if cfg.databasePasswordFile != null then '' + ${lib.optionalString (cfg.databasePasswordFile != null) '' db_password="$(<'${cfg.databasePasswordFile}')" export db_password @@ -1356,16 +1364,24 @@ in { >&2 echo "Database password was an empty string!" exit 1 fi + ''} - jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \ - '.${if lib.versionAtLeast (lib.getVersion cfg.packages.gitlab) "15.0" then "production.main" else "production"}.password = $ENV.db_password' \ - >'${cfg.statePath}/config/database.yml' - '' - else '' - jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} \ - >'${cfg.statePath}/config/database.yml' - '' - } + # GitLab expects the `production.main` section to be the first entry in the file. + jq <${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} '{ + production: [ + ${lib.optionalString (cfg.databasePasswordFile != null) ( + builtins.concatStringsSep "\n " ( + [ ".production${lib.optionalString (gitlabVersionAtLeast "15.0") ".main"}.password = $ENV.db_password" ] + ++ lib.optional (gitlabVersionAtLeast "15.9") "| .production.ci.password = $ENV.db_password" + ++ [ "|" ] + ) + )} .production + | to_entries[] + ] + | sort_by(.key) + | reverse + | from_entries + }' >'${cfg.statePath}/config/database.yml' ${utils.genJqSecretsReplacementSnippet gitlabConfig diff --git a/nixos/modules/services/networking/clatd.nix b/nixos/modules/services/networking/clatd.nix new file mode 100644 index 0000000000000..76e0c130ca466 --- /dev/null +++ b/nixos/modules/services/networking/clatd.nix @@ -0,0 +1,82 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.services.clatd; + + settingsFormat = pkgs.formats.keyValue {}; + + configFile = settingsFormat.generate "clatd.conf" cfg.settings; +in +{ + options = { + services.clatd = { + enable = mkEnableOption "clatd"; + + package = mkPackageOption pkgs "clatd" { }; + + settings = mkOption { + type = types.submodule ({ name, ... }: { + freeformType = settingsFormat.type; + }); + default = { }; + example = literalExpression '' + { + plat-prefix = "64:ff9b::/96"; + } + ''; + description = '' + Configuration of clatd. See [clatd Documentation](https://github.com/toreanderson/clatd/blob/master/README.pod#configuration). + ''; + }; + }; + }; + + config = mkIf cfg.enable { + systemd.services.clatd = { + description = "464XLAT CLAT daemon"; + documentation = [ "man:clatd(8)" ]; + wantedBy = [ "multi-user.target" ]; + after = [ "network-online.target" ]; + wants = [ "network-online.target" ]; + startLimitIntervalSec = 0; + + serviceConfig = { + ExecStart = "${cfg.package}/bin/clatd -c ${configFile}"; + startLimitIntervalSec = 0; + + # Hardening + CapabilityBoundingSet = [ + "CAP_NET_ADMIN" + ]; + LockPersonality = true; + MemoryDenyWriteExecute = true; + NoNewPrivileges = true; + PrivateTmp = true; + ProtectClock = true; + ProtectControlGroups = true; + ProtectHome = true; + ProtectHostname = true; + ProtectKernelLogs = true; + ProtectKernelModules = true; + ProtectProc = "invisible"; + ProtectSystem = true; + RestrictAddressFamilies = [ + "AF_INET" + "AF_INET6" + "AF_NETLINK" + ]; + RestrictNamespaces = true; + RestrictRealtime = true; + RestrictSUIDSGID = true; + SystemCallArchitectures = "native"; + SystemCallFilter = [ + "@network-io" + "@system-service" + "~@privileged" + "~@resources" + ]; + }; + }; + }; +} diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index fe340cfaedb67..9c36651d68747 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -6,7 +6,6 @@ let concatMap concatMapStrings concatStrings - concatStringsSep escapeShellArg flip foldr @@ -491,10 +490,10 @@ in theme = mkOption { type = types.nullOr types.path; - example = literalExpression "pkgs.nixos-grub2-theme"; + example = literalExpression ''"''${pkgs.libsForQt5.breeze-grub}/grub/themes/breeze"''; default = null; description = '' - Grub theme to be used. + Path to the grub theme to be used. ''; }; diff --git a/nixos/modules/virtualisation/podman/default.nix b/nixos/modules/virtualisation/podman/default.nix index 4b1b67ac9444e..deb0b4d2c5bd7 100644 --- a/nixos/modules/virtualisation/podman/default.nix +++ b/nixos/modules/virtualisation/podman/default.nix @@ -219,6 +219,11 @@ in systemd.services.podman.environment = config.networking.proxy.envVars; systemd.sockets.podman.wantedBy = [ "sockets.target" ]; systemd.sockets.podman.socketConfig.SocketGroup = "podman"; + # Podman does not support multiple sockets, as of podman 5.0.2, so we use + # a symlink. Unfortunately this does not let us use an alternate group, + # such as `docker`. + systemd.sockets.podman.socketConfig.Symlinks = + lib.mkIf cfg.dockerSocket.enable [ "/run/docker.sock" ]; systemd.user.services.podman.environment = config.networking.proxy.envVars; systemd.user.sockets.podman.wantedBy = [ "sockets.target" ]; @@ -239,11 +244,6 @@ in '') ]; - systemd.tmpfiles.rules = - lib.optionals cfg.dockerSocket.enable [ - "L! /run/docker.sock - - - - /run/podman/podman.sock" - ]; - users.groups.podman = { }; assertions = [ diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 8de741a7c9c98..d4da32c44990f 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -193,6 +193,7 @@ in { cinnamon = handleTest ./cinnamon.nix {}; cinnamon-wayland = handleTest ./cinnamon-wayland.nix {}; cjdns = handleTest ./cjdns.nix {}; + clatd = handleTest ./clatd.nix {}; clickhouse = handleTest ./clickhouse.nix {}; cloud-init = handleTest ./cloud-init.nix {}; cloud-init-hostname = handleTest ./cloud-init-hostname.nix {}; diff --git a/nixos/tests/clatd.nix b/nixos/tests/clatd.nix new file mode 100644 index 0000000000000..00021d87ba5f4 --- /dev/null +++ b/nixos/tests/clatd.nix @@ -0,0 +1,189 @@ +# This test verifies that we can ping an IPv4-only server from an IPv6-only +# client via a NAT64 router using CLAT on the client. The hosts and networks +# are configured as follows: +# +# +------ +# Client | clat Address: 192.0.0.1/32 (configured via clatd) +# | Route: default +# | +# | eth1 Address: 2001:db8::2/64 +# | | Route: default via 2001:db8::1 +# +--|--- +# | VLAN 3 +# +--|--- +# | eth2 Address: 2001:db8::1/64 +# Router | +# | nat64 Address: 64:ff9b::1/128 +# | Route: 64:ff9b::/96 +# | Address: 192.0.2.0/32 +# | Route: 192.0.2.0/24 +# | +# | eth1 Address: 100.64.0.1/24 +# +--|--- +# | VLAN 2 +# +--|--- +# Server | eth1 Address: 100.64.0.2/24 +# | Route: 192.0.2.0/24 via 100.64.0.1 +# +------ + +import ./make-test-python.nix ({ pkgs, lib, ... }: + +{ + name = "clatd"; + meta = with pkgs.lib.maintainers; { + maintainers = [ hax404 ]; + }; + + nodes = { + # The server is configured with static IPv4 addresses. RFC 6052 Section 3.1 + # disallows the mapping of non-global IPv4 addresses like RFC 1918 into the + # Well-Known Prefix 64:ff9b::/96. TAYGA also does not allow the mapping of + # documentation space (RFC 5737). To circumvent this, 100.64.0.2/24 from + # RFC 6589 (Carrier Grade NAT) is used here. + # To reach the IPv4 address pool of the NAT64 gateway, there is a static + # route configured. In normal cases, where the router would also source NAT + # the pool addresses to one IPv4 addresses, this would not be needed. + server = { + virtualisation.vlans = [ + 2 # towards router + ]; + networking = { + useDHCP = false; + interfaces.eth1 = lib.mkForce {}; + }; + systemd.network = { + enable = true; + networks."vlan1" = { + matchConfig.Name = "eth1"; + address = [ + "100.64.0.2/24" + ]; + routes = [ + { routeConfig = { Destination = "192.0.2.0/24"; Gateway = "100.64.0.1"; }; } + ]; + }; + }; + }; + + # The router is configured with static IPv4 addresses towards the server + # and IPv6 addresses towards the client. For NAT64, the Well-Known prefix + # 64:ff9b::/96 is used. NAT64 is done with TAYGA which provides the + # tun-interface nat64 and does the translation over it. The IPv6 packets + # are sent to this interfaces and received as IPv4 packets and vice versa. + # As TAYGA only translates IPv6 addresses to dedicated IPv4 addresses, it + # needs a pool of IPv4 addresses which must be at least as big as the + # expected amount of clients. In this test, the packets from the pool are + # directly routed towards the client. In normal cases, there would be a + # second source NAT44 to map all clients behind one IPv4 address. + router = { + boot.kernel.sysctl = { + "net.ipv4.ip_forward" = 1; + "net.ipv6.conf.all.forwarding" = 1; + }; + + virtualisation.vlans = [ + 2 # towards server + 3 # towards client + ]; + + networking = { + useDHCP = false; + useNetworkd = true; + firewall.enable = false; + interfaces.eth1 = lib.mkForce { + ipv4 = { + addresses = [ { address = "100.64.0.1"; prefixLength = 24; } ]; + }; + }; + interfaces.eth2 = lib.mkForce { + ipv6 = { + addresses = [ { address = "2001:db8::1"; prefixLength = 64; } ]; + }; + }; + }; + + services.tayga = { + enable = true; + ipv4 = { + address = "192.0.2.0"; + router = { + address = "192.0.2.1"; + }; + pool = { + address = "192.0.2.0"; + prefixLength = 24; + }; + }; + ipv6 = { + address = "2001:db8::1"; + router = { + address = "64:ff9b::1"; + }; + pool = { + address = "64:ff9b::"; + prefixLength = 96; + }; + }; + }; + }; + + # The client is configured with static IPv6 addresses. It has also a static + # default route towards the router. To reach the IPv4-only server, the + # client starts the clat daemon which starts and configures the local + # IPv4 -> IPv6 translation via Tayga. + client = { + virtualisation.vlans = [ + 3 # towards router + ]; + + networking = { + useDHCP = false; + interfaces.eth1 = lib.mkForce {}; + }; + + systemd.network = { + enable = true; + networks."vlan1" = { + matchConfig.Name = "eth1"; + address = [ + "2001:db8::2/64" + ]; + routes = [ + { routeConfig = { Destination = "::/0"; Gateway = "2001:db8::1"; }; } + ]; + }; + }; + + services.clatd = { + enable = true; + settings.plat-prefix = "64:ff9b::/96"; + }; + + environment.systemPackages = [ pkgs.mtr ]; + }; + }; + + testScript = '' + start_all() + + # wait for all machines to start up + for machine in client, router, server: + machine.wait_for_unit("network-online.target") + + with subtest("Wait for tayga and clatd"): + router.wait_for_unit("tayga.service") + client.wait_for_unit("clatd.service") + # clatd checks if this system has IPv4 connectivity for 10 seconds + client.wait_until_succeeds( + 'journalctl -u clatd -e | grep -q "Starting up TAYGA, using config file"' + ) + + with subtest("Test ICMP"): + client.wait_until_succeeds("ping -c 3 100.64.0.2 >&2") + + with subtest("Test ICMP and show a traceroute"): + client.wait_until_succeeds("mtr --show-ips --report-wide 100.64.0.2 >&2") + + client.log(client.execute("systemd-analyze security clatd.service")[1]) + ''; +}) diff --git a/pkgs/applications/blockchains/bitcoin-abc/default.nix b/pkgs/applications/blockchains/bitcoin-abc/default.nix index 1cc43a059e204..948645d60006b 100644 --- a/pkgs/applications/blockchains/bitcoin-abc/default.nix +++ b/pkgs/applications/blockchains/bitcoin-abc/default.nix @@ -25,13 +25,13 @@ mkDerivation rec { pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc"; - version = "0.29.2"; + version = "0.29.3"; src = fetchFromGitHub { owner = "bitcoin-ABC"; repo = "bitcoin-abc"; rev = "v${version}"; - hash = "sha256-og9hMQdDXGdUQN+A+z0064E6svF+qPd9CWtDQsdvNYQ="; + hash = "sha256-hYA0O7nDT8J1EnpW4i1+eBzkNw77JC6M7GwO3BdBh3U="; }; nativeBuildInputs = [ pkg-config cmake ]; diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index cfb14bd2cfe73..260711bd4880b 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -970,7 +970,7 @@ let version = "0.8.25"; } // sources.${stdenv.system}; - nativeBuildInputs = [ autoPatchelfHook ]; + nativeBuildInputs = lib.optionals stdenv.isLinux [ autoPatchelfHook ]; buildInputs = [ stdenv.cc.cc.lib ]; meta = { description = "Open-source autopilot for software development - bring the power of ChatGPT to your IDE"; diff --git a/pkgs/applications/office/clockify/default.nix b/pkgs/applications/office/clockify/default.nix index efd20632a2a31..7b2faa6b7d203 100644 --- a/pkgs/applications/office/clockify/default.nix +++ b/pkgs/applications/office/clockify/default.nix @@ -1,40 +1,27 @@ -{ stdenv, lib, fetchurl, dpkg, makeWrapper, electron }: +{ lib +, appimageTools +, fetchurl }: -stdenv.mkDerivation rec { +appimageTools.wrapType2 rec { pname = "clockify"; - version = "2.1.6"; + version = "2.1.17.1354"; src = fetchurl { - url = "https://web.archive.org/web/20231110130133/https://clockify.me/downloads/Clockify_Setup_x64.deb"; - hash = "sha256-jndoMk3vqk8a5jMzKVo6ThovSISmcu+hef9IJcg3reQ="; + url = "https://web.archive.org/web/20240406052908/https://clockify.me/downloads/Clockify_Setup.AppImage"; + hash = "sha256-G5VOAf6PrjHUsnk7IlXdqJ2D941cnggjuHkkgrOaVaA="; }; - nativeBuildInputs = [ - dpkg - makeWrapper - ]; + extraInstallCommands = + let appimageContents = appimageTools.extract { inherit pname version src; }; + in '' + mv $out/bin/${pname}-${version} $out/bin/${pname} - dontBuild = true; - dontConfigure = true; + install -Dm 444 ${appimageContents}/clockify.desktop -t $out/share/applications + install -Dm 444 ${appimageContents}/clockify.png -t $out/share/pixmaps - unpackPhase = '' - dpkg-deb -x ${src} ./ - ''; - - installPhase = '' - runHook preInstall - - mv usr $out - mv opt $out - - substituteInPlace $out/share/applications/clockify.desktop \ - --replace "/opt/Clockify/" "" - - makeWrapper ${electron}/bin/electron $out/bin/clockify \ - --add-flags $out/opt/Clockify/resources/app.asar - - runHook postInstall - ''; + substituteInPlace $out/share/applications/clockify.desktop \ + --replace 'Exec=AppRun' 'Exec=${pname}' + ''; meta = with lib; { description = "Free time tracker and timesheet app that lets you track work hours across projects"; diff --git a/pkgs/applications/radio/gnuradio/wrapper.nix b/pkgs/applications/radio/gnuradio/wrapper.nix index ac08d17397fa7..fdaa76f6f7e8e 100644 --- a/pkgs/applications/radio/gnuradio/wrapper.nix +++ b/pkgs/applications/radio/gnuradio/wrapper.nix @@ -58,6 +58,10 @@ let # may wish to wrap GR without python support. pythonPkgs = extraPythonPackages ++ [ (unwrapped.python.pkgs.toPythonModule unwrapped) ] + ++ unwrapped.passthru.uhd.pythonPath + ++ lib.optionals (unwrapped.passthru.uhd.pythonPath != []) [ + (unwrapped.python.pkgs.toPythonModule unwrapped.passthru.uhd) + ] # Add the extraPackages as python modules as well ++ (builtins.map unwrapped.python.pkgs.toPythonModule extraPackages) ++ lib.flatten (lib.mapAttrsToList ( diff --git a/pkgs/applications/radio/uhd/default.nix b/pkgs/applications/radio/uhd/default.nix index c3f7b58fa1ba6..947d7d48108d2 100644 --- a/pkgs/applications/radio/uhd/default.nix +++ b/pkgs/applications/radio/uhd/default.nix @@ -8,15 +8,8 @@ , boost , ncurses , enableCApi ? true -# Although we handle the Python API's dependencies in pythonEnvArg, this -# feature is currently disabled as upstream attempts to run `python setup.py -# install` by itself, and it fails because the Python's environment's prefix is -# not a writable directly. Adding support for this feature would require using -# python's pypa/build nad pypa/install hooks directly, and currently it is hard -# to do that because it all happens after a long buildPhase of the C API. -, enablePythonApi ? false +, enablePythonApi ? true , python3 -, buildPackages , enableExamples ? false , enableUtils ? true , libusb1 @@ -38,13 +31,7 @@ }: let - onOffBool = b: if b then "ON" else "OFF"; - inherit (lib) optionals; - # Later used in pythonEnv generation. Python + mako are always required for the build itself but not necessary for runtime. - pythonEnvArg = (ps: with ps; [ mako ] - ++ optionals (enablePythonApi) [ numpy setuptools ] - ++ optionals (enableUtils) [ requests six ] - ); + inherit (lib) optionals cmakeBool; in stdenv.mkDerivation (finalAttrs: { @@ -72,7 +59,30 @@ stdenv.mkDerivation (finalAttrs: { # hash. sha256 = "17g503mhndaabrdl7qai3rdbafr8xx8awsyr7h2bdzwzprzmh4m3"; }; + # This are the minimum required Python dependencies, this attribute might + # be useful if you want to build a development environment with a python + # interpreter able to import the uhd module. + pythonPath = optionals (enablePythonApi || enableUtils) [ + python3.pkgs.numpy + python3.pkgs.setuptools + ] ++ optionals (enableUtils) [ + python3.pkgs.requests + python3.pkgs.six + + /* These deps are needed for the usrp_hwd.py utility, however even if they + would have been added here, the utility wouldn't have worked because it + depends on an old python library mprpc that is not supported for Python > + 3.8. See also report upstream: + https://github.com/EttusResearch/uhd/issues/744 + + python3.pkgs.gevent + python3.pkgs.pyudev + python3.pkgs.pyroute2 + + */ + ]; passthru = { + runtimePython = python3.withPackages (ps: finalAttrs.pythonPath); updateScript = [ ./update.sh # Pass it this file name as argument @@ -83,66 +93,91 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-DENABLE_LIBUHD=ON" "-DENABLE_USB=ON" - "-DENABLE_TESTS=ON" # This installs tests as well so we delete them via postPhases - "-DENABLE_EXAMPLES=${onOffBool enableExamples}" - "-DENABLE_UTILS=${onOffBool enableUtils}" - "-DENABLE_C_API=${onOffBool enableCApi}" - "-DENABLE_PYTHON_API=${onOffBool enablePythonApi}" - "-DENABLE_DPDK=${onOffBool enableDpdk}" + # Regardless of doCheck, we want to build the tests to help us gain + # confident that the package is OK. + "-DENABLE_TESTS=ON" + (cmakeBool "ENABLE_EXAMPLES" enableExamples) + (cmakeBool "ENABLE_UTILS" enableUtils) + (cmakeBool "ENABLE_C_API" enableCApi) + (cmakeBool "ENABLE_PYTHON_API" enablePythonApi) + /* + + Otherwise python tests fail. Using a dedicated pythonEnv for either or both + nativeBuildInputs and buildInputs makes upstream's cmake scripts fail to + install the Python API as reported on our end at [1] (we don't want + upstream to think we are in a virtual environment because we use + python3.withPackages...). + + Putting simply the python dependencies in the nativeBuildInputs and + buildInputs as they are now from some reason makes the `python` in the + checkPhase fail to find the python dependencies, as reported at [2]. Even + using nativeCheckInputs with the python dependencies, or using a + `python3.withPackages` wrapper in nativeCheckInputs, doesn't help, as the + `python` found in $PATH first is the one from nativeBuildInputs. + + [1]: https://github.com/NixOS/nixpkgs/pull/307435 + [2]: https://discourse.nixos.org/t/missing-python-package-in-checkphase/9168/ + + Hence we use upstream's provided cmake flag to control which python + interpreter they will use to run the the python tests. + + */ + "-DRUNTIME_PYTHON_EXECUTABLE=${lib.getExe finalAttrs.passthru.runtimePython}" + (cmakeBool "ENABLE_DPDK" enableDpdk) # Devices - "-DENABLE_OCTOCLOCK=${onOffBool enableOctoClock}" - "-DENABLE_MPMD=${onOffBool enableMpmd}" - "-DENABLE_B100=${onOffBool enableB100}" - "-DENABLE_B200=${onOffBool enableB200}" - "-DENABLE_USRP1=${onOffBool enableUsrp1}" - "-DENABLE_USRP2=${onOffBool enableUsrp2}" - "-DENABLE_X300=${onOffBool enableX300}" - "-DENABLE_N300=${onOffBool enableN300}" - "-DENABLE_N320=${onOffBool enableN320}" - "-DENABLE_E300=${onOffBool enableE300}" - "-DENABLE_E320=${onOffBool enableE320}" - ] + (cmakeBool "ENABLE_OCTOCLOCK" enableOctoClock) + (cmakeBool "ENABLE_MPMD" enableMpmd) + (cmakeBool "ENABLE_B100" enableB100) + (cmakeBool "ENABLE_B200" enableB200) + (cmakeBool "ENABLE_USRP1" enableUsrp1) + (cmakeBool "ENABLE_USRP2" enableUsrp2) + (cmakeBool "ENABLE_X300" enableX300) + (cmakeBool "ENABLE_N300" enableN300) + (cmakeBool "ENABLE_N320" enableN320) + (cmakeBool "ENABLE_E300" enableE300) + (cmakeBool "ENABLE_E320" enableE320) # TODO: Check if this still needed # ABI differences GCC 7.1 # /nix/store/wd6r25miqbk9ia53pp669gn4wrg9n9cj-gcc-7.3.0/include/c++/7.3.0/bits/vector.tcc:394:7: note: parameter passing for argument of type 'std::vector<uhd::range_t>::iterator {aka __gnu_cxx::__normal_iterator<uhd::range_t*, std::vector<uhd::range_t> >}' changed in GCC 7.1 - ++ [ (lib.optionalString stdenv.isAarch32 "-DCMAKE_CXX_FLAGS=-Wno-psabi") ] - ; - - pythonEnv = python3.withPackages pythonEnvArg; + ] ++ optionals stdenv.isAarch32 [ + "-DCMAKE_CXX_FLAGS=-Wno-psabi" + ]; nativeBuildInputs = [ cmake pkg-config # Present both here and in buildInputs for cross compilation. - (buildPackages.python3.withPackages pythonEnvArg) + python3 + python3.pkgs.mako + # We add this unconditionally, but actually run wrapPythonPrograms only if + # python utilities are enabled + python3.pkgs.wrapPython ]; - buildInputs = [ + buildInputs = finalAttrs.pythonPath ++ [ boost libusb1 - ] - # However, if enableLibuhd_Python_api *or* enableUtils is on, we need - # pythonEnv for runtime as well. The utilities' runtime dependencies are - # handled at the environment - ++ optionals (enableExamples) [ ncurses ncurses.dev ] - ++ optionals (enablePythonApi || enableUtils) [ finalAttrs.pythonEnv ] - ++ optionals (enableDpdk) [ dpdk ] - ; + ] ++ optionals (enableExamples) [ + ncurses ncurses.dev + ] ++ optionals (enableDpdk) [ + dpdk + ]; # many tests fails on darwin, according to ofborg doCheck = !stdenv.isDarwin; # Build only the host software preConfigure = "cd host"; - # TODO: Check if this still needed, perhaps relevant: - # https://files.ettus.com/manual_archive/v3.15.0.0/html/page_build_guide.html#build_instructions_unix_arm patches = [ - # Disable tests that fail in the sandbox + # Disable tests that fail in the sandbox, last checked at version 4.6.0.0 ./no-adapter-tests.patch ]; - postPhases = [ "installFirmware" "removeInstalledTests" ] - ++ optionals (enableUtils && stdenv.hostPlatform.isLinux) [ "moveUdevRules" ] - ; + postPhases = [ + "installFirmware" + "removeInstalledTests" + ] ++ optionals (enableUtils && stdenv.hostPlatform.isLinux) [ + "moveUdevRules" + ]; # UHD expects images in `$CMAKE_INSTALL_PREFIX/share/uhd/images` installFirmware = '' @@ -162,6 +197,10 @@ stdenv.mkDerivation (finalAttrs: { mv $out/lib/uhd/utils/uhd-usrp.rules $out/lib/udev/rules.d/ ''; + # Wrap the python utilities with our pythonPath definition + postFixup = lib.optionalString (enablePythonApi && enableUtils) '' + wrapPythonPrograms + ''; disallowedReferences = optionals (!enablePythonApi && !enableUtils) [ python3 ]; diff --git a/pkgs/applications/version-management/git-vanity-hash/default.nix b/pkgs/applications/version-management/git-vanity-hash/default.nix index 915ef38307b2f..55332c6c7287b 100644 --- a/pkgs/applications/version-management/git-vanity-hash/default.nix +++ b/pkgs/applications/version-management/git-vanity-hash/default.nix @@ -1,17 +1,22 @@ -{ lib, fetchFromGitHub, rustPlatform }: +{ + lib, + fetchFromGitHub, + rustPlatform, +}: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage { pname = "git-vanity-hash"; version = "1.0.0"; src = fetchFromGitHub { owner = "prasmussen"; repo = "git-vanity-hash"; - rev = "v${version}"; - hash = "sha256-jD8cSFXf9UNBZ9d8JTnuwhs6nPHY/xGd5RyqF+mQOlo="; + # v1.0.0 + build fix + rev = "a80e7725ac6d0b7e6807cd7315cfdc7eaf0584f6"; + hash = "sha256-1z4jbtzUB3SH79dDXAITf7Vup1YZdTLHBieSrhrvSXc="; }; - cargoHash = "sha256-8oW6gRtdQdmSmdwKlcU2EhHsyhk9hFhKl7RtsYwC7Ps="; + cargoHash = "sha256-+SQ0HpURBjnnwH1Ue7IUReOtI4LxVPK9AGSAihs0qsc="; postInstall = '' mkdir -p $out/share/doc/git-vanity-hash diff --git a/pkgs/by-name/cl/clatd/package.nix b/pkgs/by-name/cl/clatd/package.nix index dff8ce4261a93..f18ab3b036cea 100644 --- a/pkgs/by-name/cl/clatd/package.nix +++ b/pkgs/by-name/cl/clatd/package.nix @@ -7,6 +7,7 @@ , tayga , iproute2 , iptables +, nixosTests }: stdenv.mkDerivation rec { @@ -52,6 +53,8 @@ stdenv.mkDerivation rec { } ''; + passthru.tests.clatd = nixosTests.clatd; + meta = with lib; { description = "A 464XLAT CLAT implementation for Linux"; homepage = "https://github.com/toreanderson/clatd"; diff --git a/pkgs/by-name/dp/dps8m/package.nix b/pkgs/by-name/dp/dps8m/package.nix new file mode 100644 index 0000000000000..939bb17c85063 --- /dev/null +++ b/pkgs/by-name/dp/dps8m/package.nix @@ -0,0 +1,47 @@ +{ lib +, stdenv +, fetchFromGitLab +, libuv +, coreutils-full +, pkg-config +, gnugrep +, gnused +}: + +stdenv.mkDerivation rec { + pname = "dps8m"; + version = "3.0.1"; + + src = fetchFromGitLab { + owner = "dps8m"; + repo = "dps8m"; + rev = "R${version}"; + hash = "sha256-YCDeHryxXZXOXqUXkbWwH7Vna+ljzydFXPeo2et87x8="; + fetchSubmodules = true; + }; + + env = { + ENV = "${coreutils-full}/bin/env"; + GREP = "${gnugrep}/bin/grep"; + SED = "${gnused}/bin/sed"; + PREFIX = placeholder "out"; + }; + + nativeBuildInputs = [ + coreutils-full + pkg-config + ]; + + buildInputs = [ + libuv + ]; + + meta = with lib; { + description = "DPS8M: GE / Honeywell / Bull DPS‑8/M mainframe simulator"; + homepage = "https://gitlab.com/dps8m/dps8m"; + license = licenses.icu; + maintainers = with maintainers; [ matthewcroughan sarcasticadmin ]; + mainProgram = "dps8m"; + platforms = platforms.all; + }; +} diff --git a/pkgs/by-name/ji/jikken/package.nix b/pkgs/by-name/ji/jikken/package.nix new file mode 100644 index 0000000000000..1001ed711ad8e --- /dev/null +++ b/pkgs/by-name/ji/jikken/package.nix @@ -0,0 +1,43 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + nix-update-script, + pkg-config, + openssl, + stdenv, + darwin, +}: +rustPlatform.buildRustPackage rec { + pname = "jikken"; + version = "0.7.1"; + + src = fetchFromGitHub { + owner = "jikkenio"; + repo = "jikken"; + rev = "v${version}"; + hash = "sha256-A6+sezhob7GqAzuJsJGH7ZDLTJhCD+f0t3zx/IMdPsI="; + }; + + cargoHash = "sha256-FxsI2ku52MlSGUph3/ovmn6HIwW+cUwVXuwzcd/1DV4="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = + [ openssl ] + ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.IOKit + darwin.apple_sdk.frameworks.Security + ]; + + passthru.updateScript = nix-update-script { }; + + meta = with lib; { + description = "A powerful, source control friendly REST API testing toolkit"; + homepage = "https://jikken.io/"; + changelog = "https://github.com/jikkenio/jikken/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ vinnymeller ]; + mainProgram = "jk"; + }; +} diff --git a/pkgs/by-name/jt/jtdx/package.nix b/pkgs/by-name/jt/jtdx/package.nix new file mode 100644 index 0000000000000..a058c52c15446 --- /dev/null +++ b/pkgs/by-name/jt/jtdx/package.nix @@ -0,0 +1,16 @@ +{ wsjtx, fetchgit, qt5, lib }: +wsjtx.overrideAttrs (old: { + name = "jtdx"; + version = "unstable-2022-03-01"; + src = fetchgit { + url = "https://github.com/jtdx-project/jtdx.git"; + rev = "2a0e2bea8c66c9ca94d2ea8034cf83a68cfa40eb"; + hash = "sha256-5KlFBlzG3hKFFGO37c+VN+FvZKSnTQXvSorB+Grns8w="; + }; + buildInputs = old.buildInputs ++ [ qt5.qtwebsockets ]; + meta = { + description = "wsjtx fork with some extra features"; + maintainers = with lib.maintainers; [ matthewcroughan sarcasticadmin pkharvey ]; + homepage = "https://github.com/jtdx-project/jtdx"; + }; +}) diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/by-name/sa/sabnzbd/package.nix index 4b95a1841e476..9bcfe9b0ec4f5 100644 --- a/pkgs/servers/sabnzbd/default.nix +++ b/pkgs/by-name/sa/sabnzbd/package.nix @@ -13,6 +13,7 @@ let pythonEnv = python3.withPackages(ps: with ps; [ + apprise babelfish cffi chardet @@ -47,14 +48,14 @@ let ]); path = lib.makeBinPath [ coreutils par2cmdline-turbo unrar unzip p7zip util-linux ]; in stdenv.mkDerivation rec { - version = "4.2.3"; + version = "4.3.0"; pname = "sabnzbd"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "sha256-DM+sgrb7Zvtvp0th8GlOloSBcD8mG1RYyM91+uvCOgU="; + sha256 = "sha256-2zRhDFKbWq4JA7XE5/VFbfkN2ZQcqcuqGD5kjHmeXUA="; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/by-name/ti/tinymist/Cargo.lock b/pkgs/by-name/ti/tinymist/Cargo.lock index 9d42baf5a617f..b561b67c1088d 100644 --- a/pkgs/by-name/ti/tinymist/Cargo.lock +++ b/pkgs/by-name/ti/tinymist/Cargo.lock @@ -3681,7 +3681,7 @@ dependencies = [ [[package]] name = "tests" -version = "0.11.5" +version = "0.11.6" dependencies = [ "insta", "lsp-server", @@ -3778,7 +3778,7 @@ dependencies = [ [[package]] name = "tinymist" -version = "0.11.5" +version = "0.11.6" dependencies = [ "anyhow", "async-trait", @@ -3829,7 +3829,7 @@ dependencies = [ [[package]] name = "tinymist-query" -version = "0.11.5" +version = "0.11.6" dependencies = [ "anyhow", "comemo 0.4.0", @@ -3867,7 +3867,7 @@ dependencies = [ [[package]] name = "tinymist-render" -version = "0.11.5" +version = "0.11.6" dependencies = [ "base64 0.22.0", "log", diff --git a/pkgs/by-name/ti/tinymist/package.nix b/pkgs/by-name/ti/tinymist/package.nix index cc0d0c6451f2b..da21891455818 100644 --- a/pkgs/by-name/ti/tinymist/package.nix +++ b/pkgs/by-name/ti/tinymist/package.nix @@ -13,13 +13,13 @@ rustPlatform.buildRustPackage rec { pname = "tinymist"; # Please update the corresponding vscode extension when updating # this derivation. - version = "0.11.5"; + version = "0.11.6"; src = fetchFromGitHub { owner = "Myriad-Dreamin"; repo = "tinymist"; rev = "v${version}"; - hash = "sha256-VwyuK0Ct0ifx1R5tqeucqQNrkzqzhgxPqYeuETr8SkY="; + hash = "sha256-7YG15kt+pIxAK22QYiTApu5lBV6Afe3Jss6L5dTGsGI="; }; cargoLock = { diff --git a/pkgs/by-name/uc/ucblogo/package.nix b/pkgs/by-name/uc/ucblogo/package.nix new file mode 100644 index 0000000000000..40ccdecf6c68f --- /dev/null +++ b/pkgs/by-name/uc/ucblogo/package.nix @@ -0,0 +1,44 @@ +{ lib +, stdenv +, fetchFromGitHub +, wxGTK32 +, texinfo +, tetex +, wrapGAppsHook +, autoconf-archive +, autoreconfHook +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "ucblogo-code"; + version = "6.2.4"; + + src = fetchFromGitHub { + owner = "jrincayc"; + repo = "ucblogo-code"; + rev = "ca23b30a62eaaf03ea203ae71d00dc45a046514e"; + hash = "sha256-BVNKkT0YUqI/z5W6Y/u3WbrHmaw7Z165vFt/mlzjd+8="; + }; + + nativeBuildInputs = [ + autoreconfHook + autoconf-archive + texinfo + tetex + wrapGAppsHook + ]; + + buildInputs = [ + wxGTK32 + ]; + + meta = with lib; { + description = "Berkeley Logo interpreter"; + homepage = "https://github.com/jrincayc/ucblogo-code"; + changelog = "https://github.com/jrincayc/ucblogo-code/blob/${finalAttrs.src.rev}/changes.txt"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ matthewcroughan ]; + mainProgram = "ucblogo-code"; + platforms = platforms.all; + }; +}) diff --git a/pkgs/by-name/xh/xhosts/Cargo.lock b/pkgs/by-name/xh/xhosts/Cargo.lock new file mode 100644 index 0000000000000..3b686a7cac57b --- /dev/null +++ b/pkgs/by-name/xh/xhosts/Cargo.lock @@ -0,0 +1,67 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" + +[[package]] +name = "libnss" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48b67ef5ebef2a035ac8106c9b71176b6246be2a580ff4ee94bb80919e55b34c" +dependencies = [ + "lazy_static", + "libc", + "paste 0.1.18", +] + +[[package]] +name = "paste" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880" +dependencies = [ + "paste-impl", + "proc-macro-hack", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[package]] +name = "paste-impl" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6" +dependencies = [ + "proc-macro-hack", +] + +[[package]] +name = "proc-macro-hack" +version = "0.5.20+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" + +[[package]] +name = "xhosts" +version = "0.1.0" +dependencies = [ + "lazy_static", + "libc", + "libnss", + "paste 1.0.14", +] diff --git a/pkgs/by-name/xh/xhosts/package.nix b/pkgs/by-name/xh/xhosts/package.nix new file mode 100644 index 0000000000000..ba6b5a184d3f7 --- /dev/null +++ b/pkgs/by-name/xh/xhosts/package.nix @@ -0,0 +1,34 @@ +{ lib +, rustPlatform +, fetchFromGitHub +}: + +rustPlatform.buildRustPackage { + pname = "nss-xhosts"; + version = "unstable-2023-12-30"; + + src = fetchFromGitHub { + owner = "dvob"; + repo = "nss-xhosts"; + rev = "78658cc24abb2546936f2b298a27d4abdf629186"; + hash = "sha256-saK9CxN4Ek1QBlPOydzEFei1217gPe5MZrUaUHh80hI="; + }; + + cargoLock = { + lockFile = ./Cargo.lock; + }; + + postPatch = '' + ln -s ${./Cargo.lock} Cargo.lock + ''; + + postFixup = "mv $out/lib/*.so $out/lib/libnss_xhosts.so.2"; + + meta = with lib; { + description = "NSS Module which supports wildcards"; + homepage = "https://github.com/dvob/nss-xhosts"; + license = licenses.mit; + maintainers = with maintainers; [ matthewcroughan ]; + mainProgram = "nss-xhosts"; + }; +} diff --git a/pkgs/development/libraries/libmcfp/default.nix b/pkgs/development/libraries/libmcfp/default.nix index 7a76fabaa4336..37d667ffee9a4 100644 --- a/pkgs/development/libraries/libmcfp/default.nix +++ b/pkgs/development/libraries/libmcfp/default.nix @@ -6,13 +6,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "libmcfp"; - version = "1.2.4"; + version = "1.3.3"; src = fetchFromGitHub { owner = "mhekkel"; repo = "libmcfp"; rev = "refs/tags/v${finalAttrs.version}"; - hash = "sha256-Xz7M3TmUHGqiYZbFGSDxsVvg4VhgoVvr9TW03UxdFBw="; + hash = "sha256-hAY560uFrrM3gH3r4ArprWEsK/1w/XXDeyTMIYUv+qY="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/safetensors/default.nix b/pkgs/development/python-modules/safetensors/default.nix index 4005a620d8a6e..2b6d9ba0ab19f 100644 --- a/pkgs/development/python-modules/safetensors/default.nix +++ b/pkgs/development/python-modules/safetensors/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "safetensors"; - version = "0.4.2"; + version = "0.4.3"; pyproject = true; disabled = pythonOlder "3.7"; @@ -25,13 +25,13 @@ buildPythonPackage rec { owner = "huggingface"; repo = "safetensors"; rev = "refs/tags/v${version}"; - hash = "sha256-hdPUI8k7CCQwt2C/AsjUHRmAL6ob+yCN97KkWtqOQL8="; + hash = "sha256-Rc+o7epQJ8qEvdgbFnGvXxBr/U4eULZwkKNEaPlJkyU="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; sourceRoot = "${src.name}/bindings/python"; - hash = "sha256-7n9aYlha6IaPsZ2zMfD5EIkrk8ENwMBwj41s6QU7ml0="; + hash = "sha256-tzNEUvWgolSwX0t/JLgYcTEIv3/FiKxoTJ4VjFQs8AY="; }; sourceRoot = "${src.name}/bindings/python"; diff --git a/pkgs/development/tools/dive/default.nix b/pkgs/development/tools/dive/default.nix index 76c338e8a579f..299be547ce275 100644 --- a/pkgs/development/tools/dive/default.nix +++ b/pkgs/development/tools/dive/default.nix @@ -26,6 +26,20 @@ buildGoModule rec { buildInputs = lib.optionals stdenv.isLinux [ btrfs-progs gpgme lvm2 ]; + patches = [ + (fetchpatch { + name = "add-scrolling-layers.patch"; + url = "https://github.com/wagoodman/dive/pull/478/commits/b7da0f90880ce5e9d3bc2d0f269aadac6ee63c49.patch"; + hash = "sha256-dYqg5JpWKOzy3hVjIVCHA2vmKCtCgc8W+oHEzuGpyxc="; + }) + (fetchpatch { + name = "fix-render-update.patch"; + url = "https://github.com/wagoodman/dive/pull/478/commits/326fb0d8c9094ac068a29fecd4f103783199392c.patch"; + hash = "sha256-NC74MqHVChv/Z5hHX8ds3FI+tC+yyBpXvZKSFG3RyC0="; + }) + ]; + + ldflags = [ "-s" "-w" "-X main.version=${version}" ]; meta = with lib; { diff --git a/pkgs/development/tools/language-servers/nixd/default.nix b/pkgs/development/tools/language-servers/nixd/default.nix index 405b63f54e5cb..86325a6815b37 100644 --- a/pkgs/development/tools/language-servers/nixd/default.nix +++ b/pkgs/development/tools/language-servers/nixd/default.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "nixd"; - version = "2.1.0"; + version = "2.1.2"; src = fetchFromGitHub { owner = "nix-community"; repo = "nixd"; rev = finalAttrs.version; - hash = "sha256-4CApj9noGfV31em2S4dDGy2BV++FR0FkYBBBh+q0JRk="; + hash = "sha256-A6hoZ4fbWxd7Mx+r3e1HEw2IPaAn4WcMEIocy/ZCz28="; }; mesonBuildType = "release"; diff --git a/pkgs/development/tools/language-servers/zls/default.nix b/pkgs/development/tools/language-servers/zls/default.nix index b8ef6ec8988d8..71a9a53a3fee5 100644 --- a/pkgs/development/tools/language-servers/zls/default.nix +++ b/pkgs/development/tools/language-servers/zls/default.nix @@ -1,24 +1,29 @@ { lib , stdenv , fetchFromGitHub -, zig_0_11 +, fetchurl +, zig_0_12 , callPackage }: stdenv.mkDerivation (finalAttrs: { pname = "zls"; - version = "0.11.0"; + version = "0.12.0"; src = fetchFromGitHub { owner = "zigtools"; repo = "zls"; rev = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-WrbjJyc4pj7R4qExdzd0DOQ9Tz3TFensAfHdecBA8UI="; + hash = "sha256-2iVDPUj9ExgTooDQmCCtZs3wxBe2be9xjzAk9HedPNY="; }; + zigBuildFlags = [ + "-Dversion_data_path=${zig_0_12.src}/doc/langref.html.in" + ]; + nativeBuildInputs = [ - zig_0_11.hook + zig_0_12.hook ]; postPatch = '' diff --git a/pkgs/development/tools/language-servers/zls/deps.nix b/pkgs/development/tools/language-servers/zls/deps.nix index 5c1b2ce89d3c6..4de50620ef9c7 100644 --- a/pkgs/development/tools/language-servers/zls/deps.nix +++ b/pkgs/development/tools/language-servers/zls/deps.nix @@ -4,24 +4,17 @@ linkFarm "zig-packages" [ { - name = "1220363c7e27b2d3f39de6ff6e90f9537a0634199860fea237a55ddb1e1717f5d6a5"; + name = "12201314cffeb40c5e4e3da166217d2c74628c74486414aaf97422bcd2279915b9fd"; path = fetchzip { - url = "https://gist.github.com/antlilja/8372900fcc09e38d7b0b6bbaddad3904/archive/6c3321e0969ff2463f8335da5601986cf2108690.tar.gz"; - hash = "sha256-m/kr4kmkG2rLkAj5YwvM0HmXTd+chAiQHzYK6ozpWlw="; + url = "https://github.com/ziglibs/known-folders/archive/bf79988adcfce166f848e4b11e718c1966365329.tar.gz"; + hash = "sha256-Q7eMdyScqj8qEiAHg1BnGRTsWSQOKWWTc6hUYHNlgGg="; }; } { - name = "122048992ca58a78318b6eba4f65c692564be5af3b30fbef50cd4abeda981b2e7fa5"; + name = "12200d71e4b7029ea56a429e24260c6c0e85a3069b0d4ba85eace21a0fd75910aa64"; path = fetchzip { - url = "https://github.com/ziglibs/known-folders/archive/fa75e1bc672952efa0cf06160bbd942b47f6d59b.tar.gz"; - hash = "sha256-U/h4bVarq8CFKbFyNXKl3vBRPubYooLxA1xUz3qMGPE="; - }; - } - { - name = "122089a8247a693cad53beb161bde6c30f71376cd4298798d45b32740c3581405864"; - path = fetchzip { - url = "https://github.com/ziglibs/diffz/archive/90353d401c59e2ca5ed0abe5444c29ad3d7489aa.tar.gz"; - hash = "sha256-3CdYo6WevT0alRwKmbABahjhFKz7V9rdkDUZ43VtDeU="; + url = "https://github.com/ziglibs/diffz/archive/e10bf15962e45affb3fcd7d9a950977a69c901b3.tar.gz"; + hash = "sha256-yVFPVn4jGfcoE2V4xdTqdThYPutshL6U4feDzetWgFw="; }; } ] diff --git a/pkgs/os-specific/darwin/rectangle/default.nix b/pkgs/os-specific/darwin/rectangle/default.nix index 0ada82d0e7580..ca83bb7db4c00 100644 --- a/pkgs/os-specific/darwin/rectangle/default.nix +++ b/pkgs/os-specific/darwin/rectangle/default.nix @@ -7,11 +7,11 @@ stdenvNoCC.mkDerivation rec { pname = "rectangle"; - version = "0.76"; + version = "0.77"; src = fetchurl { url = "https://github.com/rxhanson/Rectangle/releases/download/v${version}/Rectangle${version}.dmg"; - hash = "sha256-oHq5mLMWloi6Tf81rjcmUFGwIggtMdyLPqbD/gOzNHU="; + hash = "sha256-wViFngw6iwlOG7KsW+zqxjm9ZRJahscX0TYz7/7T5nw="; }; sourceRoot = "."; diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 19109c4efea8f..b69c0f9c6003d 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -1,34 +1,34 @@ { "testing": { - "version": "6.9-rc5", - "hash": "sha256:1rk369sz6a4m1bm7zzxj8bpdma7rgybmx8frd54kp2l5mjp7brrp" + "version": "6.9-rc6", + "hash": "sha256:075l5vhk8zmwln4jks7gr5n5k67s65qvs07l2rpbc7a75fdp6c14" }, "6.1": { - "version": "6.1.88", - "hash": "sha256:1lgqclvcxfs5c4my6fh041gxzgzz8i64cw43cf5ichy58pyh4sb9" + "version": "6.1.90", + "hash": "sha256:07cfg0chssvpc4mqls3aln6s4lqjp6k4x2n63wndmkjgfqpdg8w3" }, "5.15": { - "version": "5.15.157", - "hash": "sha256:0554qxnai66mpm3p5dln9dfsb392zr8zvwfwc9ks2sadsd8j7wmg" + "version": "5.15.158", + "hash": "sha256:1inmdpif3qf1blmvjj4i7y42bylvhv0wyj3b0apq12zxlj1iq1zr" }, "5.10": { - "version": "5.10.215", - "hash": "sha256:1af6h86flx96pszg006agpak2f9dkk2jqaazfykd7aafqdcs3747" + "version": "5.10.216", + "hash": "sha256:0lg1zfb9y4ps86q85mlnyalb3s90zix003z62jb9bw139f65h473" }, "5.4": { - "version": "5.4.274", - "hash": "sha256:1m4yyyv48mfkzhqms88dv1jf39zsfp88az5zpqynmm1wlhhv9iza" + "version": "5.4.275", + "hash": "sha256:0k1hyknx854k8z27j4rq1gcp8l0xc0bspmrhc41a033gjilb1lns" }, "4.19": { - "version": "4.19.312", - "hash": "sha256:0jppa4p73pssd7m3jpc7i6rgnj9gawjcgk4wmqyy87ijzrgzm553" + "version": "4.19.313", + "hash": "sha256:1j1r4mrdh1ray468jr5i8d2afiswb653bhq0ck8bcdw4rwp5w558" }, "6.6": { - "version": "6.6.29", - "hash": "sha256:1l6bcz0pwiby6q79va063767d0jxkkaf8rpqvaqqcb08116gf9kz" + "version": "6.6.30", + "hash": "sha256:1ilwmgpgvddwkd9nx5999cb6z18scjyq7jklid26k1hg7f35nsmn" }, "6.8": { - "version": "6.8.8", - "hash": "sha256:1fiiyvwi6frn83z730w4mng2z4nwpspvhb6vjpxx3yk0snwxqk0w" + "version": "6.8.9", + "hash": "sha256:1dn9bgmf03bdfbmgq98d043702g808rjikxs2i9yia57iqiz21gr" } } diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index 92f71e6496ab7..3344808ca2789 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,8 +1,8 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; - rev = "19536"; - sha256 = "1lwg4340nga0sn5jcsqrmqskf2cf4vvjhkbdl0h54bj3lcnbxaw4"; + rev = "19546"; + sha256 = "1yyj7pbfs02fki1rdxfj9gcrxdrl26igisy4fji7czcc9xbw03qm"; } , ... }: diff --git a/pkgs/tools/misc/clipbuzz/default.nix b/pkgs/tools/misc/clipbuzz/default.nix index 9e1e3724b8993..1d4b614846a68 100644 --- a/pkgs/tools/misc/clipbuzz/default.nix +++ b/pkgs/tools/misc/clipbuzz/default.nix @@ -3,7 +3,7 @@ , fetchzip , libX11 , libXfixes -, zig_0_11 +, zig }: stdenv.mkDerivation (finalAttrs: { @@ -15,14 +15,14 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-2//IwthAjGyVSZaXjgpM1pUJGYWZVkrJ6JyrVbzOtr8="; }; - nativeBuildInputs = [ zig_0_11.hook ]; + nativeBuildInputs = [ zig.hook ]; buildInputs = [ libX11 libXfixes ]; - meta = { + meta = { description = "Buzz on new X11 clipboard events"; homepage = "https://trong.loang.net/~cnx/clipbuzz"; license = lib.licenses.unlicense; diff --git a/pkgs/tools/misc/tlp/default.nix b/pkgs/tools/misc/tlp/default.nix index 51f10640ccbb7..436e5ba480eed 100644 --- a/pkgs/tools/misc/tlp/default.nix +++ b/pkgs/tools/misc/tlp/default.nix @@ -129,6 +129,7 @@ "https://linrunner.de/en/tlp/docs/tlp-linux-advanced-power-management.html"; changelog = "https://github.com/linrunner/TLP/releases/tag/${version}"; platforms = platforms.linux; + mainProgram = "tlp"; maintainers = with maintainers; [ abbradar lovesegfault ]; license = licenses.gpl2Plus; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3e06b90d40bfa..ca62e00e4f355 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4790,9 +4790,7 @@ with pkgs; clipster = callPackage ../tools/misc/clipster { }; - clockify = callPackage ../applications/office/clockify { - electron = electron_24; - }; + clockify = callPackage ../applications/office/clockify { }; contrast = callPackage ../applications/accessibility/contrast { }; @@ -14765,7 +14763,9 @@ with pkgs; clipboard-jh = callPackage ../tools/misc/clipboard-jh { }; - clipbuzz = callPackage ../tools/misc/clipbuzz { }; + clipbuzz = callPackage ../tools/misc/clipbuzz { + zig = zig_0_12; + }; xclip = callPackage ../tools/misc/xclip { }; @@ -16764,6 +16764,7 @@ with pkgs; }; cargo-insta = callPackage ../development/tools/rust/cargo-insta { }; cargo-lambda = callPackage ../development/tools/rust/cargo-lambda { + zig = zig_0_12; inherit (darwin.apple_sdk.frameworks) CoreServices Security; }; cargo-limit = callPackage ../development/tools/rust/cargo-limit { }; @@ -16836,7 +16837,9 @@ with pkgs; cargo-public-api = callPackage ../development/tools/rust/cargo-public-api { }; - cargo-zigbuild = callPackage ../development/tools/rust/cargo-zigbuild { }; + cargo-zigbuild = callPackage ../development/tools/rust/cargo-zigbuild { + zig = zig_0_12; + }; cauwugo = callPackage ../development/tools/rust/cauwugo { }; @@ -20210,6 +20213,10 @@ with pkgs; babl = callPackage ../development/libraries/babl { }; + backlight-auto = callPackage ../by-name/ba/backlight-auto/package.nix { + zig = zig_0_11; + }; + backward-cpp = callPackage ../development/libraries/backward-cpp { }; bamf = callPackage ../development/libraries/bamf { }; @@ -25169,7 +25176,7 @@ with pkgs; zig_0_12 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.12.nix { llvmPackages = llvmPackages_17; }; - zig = zig_0_11; + zig = zig_0_12; zig-shell-completions = callPackage ../development/compilers/zig/shell-completions.nix { }; @@ -25632,8 +25639,6 @@ with pkgs; asterisk-ldap = lowPrio (asterisk.override { ldapSupport = true; }); - sabnzbd = callPackage ../servers/sabnzbd { }; - baserow = callPackage ../servers/baserow { }; bftpd = callPackage ../servers/ftp/bftpd { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 42226374159fc..a247be4c7d330 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -1253,7 +1253,7 @@ with self; { }; }; - AstroFITSHeader = buildPerlModule rec { + AstroFITSHeader = buildPerlModule { pname = "Astro-FITS-Header"; version = "3.09"; src = fetchurl { @@ -1358,7 +1358,7 @@ with self; { }; }; - AuthenKrb5Admin = buildPerlPackage rec { + AuthenKrb5Admin = buildPerlPackage { pname = "Authen-Krb5-Admin"; version = "0.17"; src = fetchurl { @@ -1836,7 +1836,7 @@ with self; { }; }; - BKeywords = buildPerlPackage rec { + BKeywords = buildPerlPackage { pname = "B-Keywords"; version = "1.26"; src = fetchurl { @@ -3627,7 +3627,7 @@ with self; { }; }; - ClassLoader = buildPerlPackage rec { + ClassLoader = buildPerlPackage { pname = "Class-Loader"; version = "2.03"; src = fetchurl { @@ -4529,7 +4529,7 @@ with self; { }; }; - ConvertBencode = buildPerlPackage rec { + ConvertBencode = buildPerlPackage { pname = "Convert-Bencode"; version = "1.03"; src = fetchurl { @@ -4557,7 +4557,7 @@ with self; { }; }; - ConvertUU = buildPerlPackage rec { + ConvertUU = buildPerlPackage { pname = "Convert-UU"; version = "0.5201"; src = fetchurl { @@ -5241,7 +5241,7 @@ with self; { }; }; - CryptRandom = buildPerlPackage rec { + CryptRandom = buildPerlPackage { pname = "Crypt-Random"; version = "1.54"; src = fetchurl { @@ -5552,7 +5552,7 @@ with self; { }; }; - CryptOpenSSLX509 = buildPerlPackage rec { + CryptOpenSSLX509 = buildPerlPackage { pname = "Crypt-OpenSSL-X509"; version = "1.915"; src = fetchurl { @@ -6961,7 +6961,7 @@ with self; { }; }; - DevelLeak = buildPerlPackage rec { + DevelLeak = buildPerlPackage { pname = "Devel-Leak"; version = "0.03"; src = fetchurl { @@ -9166,7 +9166,7 @@ with self; { }; }; - ExtUtilsF77 = buildPerlPackage rec { + ExtUtilsF77 = buildPerlPackage { pname = "ExtUtils-F77"; version = "1.26"; src = fetchurl { @@ -10538,7 +10538,7 @@ with self; { }; }; - FutureAsyncAwait = buildPerlModule rec { + FutureAsyncAwait = buildPerlModule { pname = "Future-AsyncAwait"; version = "0.66"; src = fetchurl { @@ -10772,7 +10772,7 @@ with self; { }; }; - GitAutofixup = buildPerlPackage rec { + GitAutofixup = buildPerlPackage { pname = "App-Git-Autofixup"; version = "0.004001"; src = fetchurl { @@ -11383,7 +11383,7 @@ with self; { propagatedBuildInputs = [ DateCalc ]; meta = { description = "Finnish APRS Parser (Fabulous APRS Parser)"; - maintainers = with maintainers; [ ]; + maintainers = [ ]; license = with lib.licenses; [ artistic1 gpl1Plus ]; }; }; @@ -14610,7 +14610,7 @@ with self; { }; }; - LogJournald = buildPerlModule rec { + LogJournald = buildPerlModule { pname = "Log-Journald"; version = "0.30"; src = fetchurl { @@ -15727,7 +15727,7 @@ with self; { }; # TODO: use CPAN version - MHonArc = buildPerlPackage rec { + MHonArc = buildPerlPackage { pname = "MHonArc"; version = "2.6.24"; @@ -16142,7 +16142,7 @@ with self; { }; }; - ModuleCompile = buildPerlPackage rec { + ModuleCompile = buildPerlPackage { pname = "Module-Compile"; version = "0.38"; src = fetchurl { @@ -16598,16 +16598,16 @@ with self; { Mojolicious = buildPerlPackage { pname = "Mojolicious"; - version = "9.35"; + version = "9.36"; src = fetchurl { - url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-9.35.tar.gz"; - hash = "sha256-akpEbuB/ynxtty9dgXVA1oMwCcuN58zkxvskoV7n1Gs="; + url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-9.36.tar.gz"; + hash = "sha256-UX7Pb9hqC3xhadVRAiOL+YUWGNt2L7ANTPDZTGJSAV8="; }; meta = { description = "Real-time web framework"; homepage = "https://mojolicious.org"; license = with lib.licenses; [ artistic2 ]; - maintainers = with maintainers; [ thoughtpolice sgo ]; + maintainers = with maintainers; [ marcusramberg sgo thoughtpolice ]; mainProgram = "mojo"; }; }; @@ -16836,7 +16836,7 @@ with self; { }; }; - Mojomysql = buildPerlPackage rec { + Mojomysql = buildPerlPackage { pname = "Mojo-mysql"; version = "1.26"; src = fetchurl { @@ -18218,7 +18218,7 @@ with self; { }; }; - MySQLDiff = buildPerlPackage rec { + MySQLDiff = buildPerlPackage { pname = "MySQL-Diff"; version = "0.60"; src = fetchurl { @@ -19168,7 +19168,7 @@ with self; { }; }; - NetSNPP = buildPerlPackage rec { + NetSNPP = buildPerlPackage { pname = "Net-SNPP"; version = "1.17"; src = fetchurl { @@ -19548,7 +19548,7 @@ with self; { }; }; - OpenAPIClient = buildPerlPackage rec { + OpenAPIClient = buildPerlPackage { pname = "OpenAPI-Client"; version = "1.07"; src = fetchurl { @@ -20259,7 +20259,7 @@ with self; { }; }; - PDL = buildPerlPackage rec { + PDL = buildPerlPackage { pname = "PDL"; version = "2.025"; src = fetchurl { @@ -20604,7 +20604,7 @@ with self; { }; }; - PerlTidy = buildPerlPackage rec { + PerlTidy = buildPerlPackage { pname = "Perl-Tidy"; version = "20230912"; src = fetchurl { @@ -22313,7 +22313,7 @@ with self; { }; }; - SearchXapian = buildPerlPackage rec { + SearchXapian = buildPerlPackage { pname = "Search-Xapian"; version = "1.2.25.5"; src = fetchurl { @@ -22377,7 +22377,7 @@ with self; { }; }; - DeviceSerialPort = buildPerlPackage rec { + DeviceSerialPort = buildPerlPackage { pname = "Device-SerialPort"; version = "1.04"; src = fetchurl { @@ -22408,7 +22408,7 @@ with self; { }; }; - SessionToken = buildPerlPackage rec { + SessionToken = buildPerlPackage { pname = "Session-Token"; version = "1.503"; src = fetchurl { @@ -22483,7 +22483,7 @@ with self; { }; }; - SmartComments = buildPerlPackage rec { + SmartComments = buildPerlPackage { pname = "Smart-Comments"; version = "1.06"; src = fetchurl { @@ -22977,7 +22977,7 @@ with self; { }; }; - StatisticsChiSquare = buildPerlPackage rec { + StatisticsChiSquare = buildPerlPackage { pname = "Statistics-ChiSquare"; version = "1.0000"; src = fetchurl { @@ -25602,7 +25602,7 @@ with self; { }; }; - TestPerlTidy = buildPerlModule rec { + TestPerlTidy = buildPerlModule { pname = "Test-PerlTidy"; version = "20230226"; src = fetchurl { |