diff --git a/doc/build-helpers/images/binarycache.section.md b/doc/build-helpers/images/binarycache.section.md index 62e47dad7c66..9946603c958e 100644 --- a/doc/build-helpers/images/binarycache.section.md +++ b/doc/build-helpers/images/binarycache.section.md @@ -1,49 +1,58 @@ # pkgs.mkBinaryCache {#sec-pkgs-binary-cache} -`pkgs.mkBinaryCache` is a function for creating Nix flat-file binary caches. Such a cache exists as a directory on disk, and can be used as a Nix substituter by passing `--substituter file:///path/to/cache` to Nix commands. +`pkgs.mkBinaryCache` is a function for creating Nix flat-file binary caches. +Such a cache exists as a directory on disk, and can be used as a Nix substituter by passing `--substituter file:///path/to/cache` to Nix commands. -Nix packages are most commonly shared between machines using [HTTP, SSH, or S3](https://nixos.org/manual/nix/stable/package-management/sharing-packages.html), but a flat-file binary cache can still be useful in some situations. For example, you can copy it directly to another machine, or make it available on a network file system. It can also be a convenient way to make some Nix packages available inside a container via bind-mounting. +Nix packages are most commonly shared between machines using [HTTP, SSH, or S3](https://nixos.org/manual/nix/stable/package-management/sharing-packages.html), but a flat-file binary cache can still be useful in some situations. +For example, you can copy it directly to another machine, or make it available on a network file system. +It can also be a convenient way to make some Nix packages available inside a container via bind-mounting. -Note that this function is meant for advanced use-cases. The more idiomatic way to work with flat-file binary caches is via the [nix-copy-closure](https://nixos.org/manual/nix/stable/command-ref/nix-copy-closure.html) command. You may also want to consider [dockerTools](#sec-pkgs-dockerTools) for your containerization needs. +`mkBinaryCache` expects an argument with the `rootPaths` attribute. +`rootPaths` must be a list of derivations. +The transitive closure of these derivations' outputs will be copied into the cache. -## Example {#sec-pkgs-binary-cache-example} +::: {.note} +This function is meant for advanced use cases. +The more idiomatic way to work with flat-file binary caches is via the [nix-copy-closure](https://nixos.org/manual/nix/stable/command-ref/nix-copy-closure.html) command. +You may also want to consider [dockerTools](#sec-pkgs-dockerTools) for your containerization needs. +::: + +[]{#sec-pkgs-binary-cache-example} +:::{.example #ex-mkbinarycache-copying-package-closure} + +# Copying a package and its closure to another machine with `mkBinaryCache` The following derivation will construct a flat-file binary cache containing the closure of `hello`. ```nix +{ mkBinaryCache, hello }: mkBinaryCache { rootPaths = [hello]; } ``` -- `rootPaths` specifies a list of root derivations. The transitive closure of these derivations' outputs will be copied into the cache. - -Here's an example of building and using the cache. - -Build the cache on one machine, `host1`: +Build the cache on a machine. +Note that the command still builds the exact nix package above, but adds some boilerplate to build it directly from an expression. ```shellSession -nix-build -E 'with import {}; mkBinaryCache { rootPaths = [hello]; }' +$ nix-build -E 'let pkgs = import {}; in pkgs.callPackage ({ mkBinaryCache, hello }: mkBinaryCache { rootPaths = [hello]; }) {}' +/nix/store/azf7xay5xxdnia4h9fyjiv59wsjdxl0g-binary-cache ``` +Copy the resulting directory to another machine, which we'll call `host2`: + ```shellSession -/nix/store/cc0562q828rnjqjyfj23d5q162gb424g-binary-cache +$ scp result host2:/tmp/hello-cache ``` -Copy the resulting directory to the other machine, `host2`: +At this point, the cache can be used as a substituter when building derivations on `host2`: ```shellSession -scp result host2:/tmp/hello-cache -``` - -Substitute the derivation using the flat-file binary cache on the other machine, `host2`: -```shellSession -nix-build -A hello '' \ +$ nix-build -A hello '' \ --option require-sigs false \ --option trusted-substituters file:///tmp/hello-cache \ --option substituters file:///tmp/hello-cache +/nix/store/zhl06z4lrfrkw5rp0hnjjfrgsclzvxpm-hello-2.12.1 ``` -```shellSession -/nix/store/gl5a41azbpsadfkfmbilh9yk40dh5dl0-hello-2.12.1 -``` +::: diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 62d33178530f..3ff062cca4ff 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2063,6 +2063,12 @@ githubId = 80325; name = "Benjamin Andresen"; }; + barab-i = { + email = "barab_i@outlook.com"; + github = "barab-i"; + githubId = 92919899; + name = "Barab I"; + }; baracoder = { email = "baracoder@googlemail.com"; github = "baracoder"; @@ -3968,6 +3974,12 @@ githubId = 217899; name = "Cyryl Płotnicki"; }; + d3vil0p3r = { + name = "Antonio Voza"; + email = "vozaanthony@gmail.com"; + github = "D3vil0p3r"; + githubId = 83867734; + }; dadada = { name = "dadada"; email = "dadada@dadada.li"; @@ -8242,6 +8254,12 @@ github = "Janik-Haag"; githubId = 80165193; }; + jankaifer = { + name = "Jan Kaifer"; + email = "jan@kaifer.cz"; + github = "jankaifer"; + githubId = 12820484; + }; jansol = { email = "jan.solanti@paivola.fi"; github = "jansol"; @@ -10956,6 +10974,12 @@ githubId = 2486026; name = "Luca Fulchir"; }; + luleyleo = { + email = "git@leopoldluley.de"; + github = "luleyleo"; + githubId = 10746692; + name = "Leopold Luley"; + }; lumi = { email = "lumi@pew.im"; github = "lumi-me-not"; @@ -13558,6 +13582,12 @@ githubId = 1839979; name = "Niklas Thörne"; }; + nudelsalat = { + email = "nudelsalat@clouz.de"; + name = "Fabian Dreßler"; + github = "Noodlesalat"; + githubId = 12748782; + }; nukaduka = { email = "ksgokte@gmail.com"; github = "NukaDuka"; @@ -20205,7 +20235,7 @@ }; yana = { email = "yana@riseup.net"; - github = "yanalunaterra"; + github = "yanateras"; githubId = 1643293; name = "Yana Timoshenko"; }; @@ -20734,6 +20764,12 @@ githubId = 8100652; name = "David Mell"; }; + zshipko = { + email = "zachshipko@gmail.com"; + github = "zshipko"; + githubId = 332534; + name = "Zach Shipko"; + }; ztzg = { email = "dd@crosstwine.com"; github = "ztzg"; diff --git a/nixos/doc/manual/release-notes/rl-2405.section.md b/nixos/doc/manual/release-notes/rl-2405.section.md index a07f43dcbba8..0f78548789d7 100644 --- a/nixos/doc/manual/release-notes/rl-2405.section.md +++ b/nixos/doc/manual/release-notes/rl-2405.section.md @@ -35,6 +35,8 @@ In addition to numerous new and upgraded packages, this release has the followin - [Anki Sync Server](https://docs.ankiweb.net/sync-server.html), the official sync server built into recent versions of Anki. Available as [services.anki-sync-server](#opt-services.anki-sync-server.enable). The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been marked deprecated and will be dropped after 24.05 due to lack of maintenance of the anki-sync-server softwares. +- [ping_exporter](https://github.com/czerwonk/ping_exporter), a Prometheus exporter for ICMP echo requests. Available as [services.prometheus.exporters.ping](#opt-services.prometheus.exporters.ping.enable). + - [Clevis](https://github.com/latchset/clevis), a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as [boot.initrd.clevis.enable](#opt-boot.initrd.clevis.enable). - [TuxClocker](https://github.com/Lurkki14/tuxclocker), a hardware control and monitoring program. Available as [programs.tuxclocker](#opt-programs.tuxclocker.enable). diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix index 46462c5abd43..f3e698468e64 100644 --- a/nixos/modules/misc/documentation.nix +++ b/nixos/modules/misc/documentation.nix @@ -77,7 +77,11 @@ let libPath = filter (pkgs.path + "/lib"); pkgsLibPath = filter (pkgs.path + "/pkgs/pkgs-lib"); nixosPath = filter (pkgs.path + "/nixos"); - modules = map (p: ''"${removePrefix "${modulesPath}/" (toString p)}"'') docModules.lazy; + modules = + "[ " + + concatMapStringsSep " " (p: ''"${removePrefix "${modulesPath}/" (toString p)}"'') docModules.lazy + + " ]"; + passAsFile = [ "modules" ]; } '' export NIX_STORE_DIR=$TMPDIR/store export NIX_STATE_DIR=$TMPDIR/state @@ -87,7 +91,7 @@ let --argstr libPath "$libPath" \ --argstr pkgsLibPath "$pkgsLibPath" \ --argstr nixosPath "$nixosPath" \ - --arg modules "[ $modules ]" \ + --arg modules "import $modulesPath" \ --argstr stateVersion "${options.system.stateVersion.default}" \ --argstr release "${config.system.nixos.release}" \ $nixosPath/lib/eval-cacheable-options.nix > $out \ diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix index 39abd293b2d1..35db8a7376b1 100644 --- a/nixos/modules/services/monitoring/prometheus/exporters.nix +++ b/nixos/modules/services/monitoring/prometheus/exporters.nix @@ -64,6 +64,7 @@ let "pgbouncer" "php-fpm" "pihole" + "ping" "postfix" "postgres" "process" diff --git a/nixos/modules/services/monitoring/prometheus/exporters/ping.nix b/nixos/modules/services/monitoring/prometheus/exporters/ping.nix new file mode 100644 index 000000000000..af78b6bef625 --- /dev/null +++ b/nixos/modules/services/monitoring/prometheus/exporters/ping.nix @@ -0,0 +1,48 @@ +{ config, lib, pkgs, options }: + +with lib; + +let + cfg = config.services.prometheus.exporters.ping; + + settingsFormat = pkgs.formats.yaml {}; + configFile = settingsFormat.generate "config.yml" cfg.settings; +in +{ + port = 9427; + extraOpts = { + telemetryPath = mkOption { + type = types.str; + default = "/metrics"; + description = '' + Path under which to expose metrics. + ''; + }; + + settings = mkOption { + type = settingsFormat.type; + default = {}; + + description = lib.mdDoc '' + Configuration for ping_exporter, see + + for supported values. + ''; + }; + }; + + serviceOpts = { + serviceConfig = { + # ping-exporter needs `CAP_NET_RAW` to run as non root https://github.com/czerwonk/ping_exporter#running-as-non-root-user + CapabilityBoundingSet = [ "CAP_NET_RAW" ]; + AmbientCapabilities = [ "CAP_NET_RAW" ]; + ExecStart = '' + ${pkgs.prometheus-ping-exporter}/bin/ping_exporter \ + --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \ + --web.telemetry-path ${cfg.telemetryPath} \ + --config.path="${configFile}" \ + ${concatStringsSep " \\\n " cfg.extraFlags} + ''; + }; + }; +} diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 6c08d0aee3d7..f44400eb4159 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -352,10 +352,11 @@ let # The acme-challenge location doesn't need to be added if we are not using any automated # certificate provisioning and can also be omitted when we use a certificate obtained via a DNS-01 challenge - acmeLocation = optionalString (vhost.enableACME || (vhost.useACMEHost != null && config.security.acme.certs.${vhost.useACMEHost}.dnsProvider == null)) '' + acmeLocation = optionalString (vhost.enableACME || (vhost.useACMEHost != null && config.security.acme.certs.${vhost.useACMEHost}.dnsProvider == null)) # Rule for legitimate ACME Challenge requests (like /.well-known/acme-challenge/xxxxxxxxx) # We use ^~ here, so that we don't check any regexes (which could # otherwise easily override this intended match accidentally). + '' location ^~ /.well-known/acme-challenge/ { ${optionalString (vhost.acmeFallbackHost != null) "try_files $uri @acme-fallback;"} ${optionalString (vhost.acmeRoot != null) "root ${vhost.acmeRoot};"} @@ -375,10 +376,11 @@ let ${concatMapStringsSep "\n" listenString redirectListen} server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases}; - ${acmeLocation} + location / { return ${toString vhost.redirectCode} https://$host$request_uri; } + ${acmeLocation} } ''} @@ -392,13 +394,6 @@ let http3 ${if vhost.http3 then "on" else "off"}; http3_hq ${if vhost.http3_hq then "on" else "off"}; ''} - ${acmeLocation} - ${optionalString (vhost.root != null) "root ${vhost.root};"} - ${optionalString (vhost.globalRedirect != null) '' - location / { - return ${toString vhost.redirectCode} http${optionalString hasSSL "s"}://${vhost.globalRedirect}$request_uri; - } - ''} ${optionalString hasSSL '' ssl_certificate ${vhost.sslCertificate}; ssl_certificate_key ${vhost.sslCertificateKey}; @@ -421,6 +416,14 @@ let ${mkBasicAuth vhostName vhost} + ${optionalString (vhost.root != null) "root ${vhost.root};"} + + ${optionalString (vhost.globalRedirect != null) '' + location / { + return ${toString vhost.redirectCode} http${optionalString hasSSL "s"}://${vhost.globalRedirect}$request_uri; + } + ''} + ${acmeLocation} ${mkLocations vhost.locations} ${vhost.extraConfig} diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 7097e1d83dca..0556c875241a 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -36,7 +36,7 @@ let # Package set of targeted architecture if cfg.forcei686 then pkgs.pkgsi686Linux else pkgs; - realGrub = if cfg.zfsSupport then grubPkgs.grub2.override { zfsSupport = true; } + realGrub = if cfg.zfsSupport then grubPkgs.grub2.override { zfsSupport = true; zfs = cfg.zfsPackage; } else grubPkgs.grub2; grub = @@ -614,6 +614,16 @@ in ''; }; + zfsPackage = mkOption { + type = types.package; + internal = true; + default = pkgs.zfs; + defaultText = literalExpression "pkgs.zfs"; + description = lib.mdDoc '' + Which ZFS package to use if `config.boot.loader.grub.zfsSupport` is true. + ''; + }; + efiSupport = mkOption { default = false; type = types.bool; diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index 38093f11d44e..b38f228fc160 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -667,6 +667,7 @@ in # TODO FIXME See https://github.com/NixOS/nixpkgs/pull/99386#issuecomment-798813567. To not break people's bootloader and as probably not everybody would read release notes that thoroughly add inSystem. boot.loader.grub = mkIf (inInitrd || inSystem) { zfsSupport = true; + zfsPackage = cfgZfs.package; }; services.zfs.zed.settings = { diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix index d6d3fcc78581..53e6626c0e32 100644 --- a/nixos/tests/prometheus-exporters.nix +++ b/nixos/tests/prometheus-exporters.nix @@ -1053,6 +1053,50 @@ let ''; }; + ping = { + exporterConfig = { + enable = true; + + settings = { + targets = [ { + "localhost" = { + alias = "local machine"; + env = "prod"; + type = "domain"; + }; + } { + "127.0.0.1" = { + alias = "local machine"; + type = "v4"; + }; + } { + "::1" = { + alias = "local machine"; + type = "v6"; + }; + } { + "google.com" = {}; + } ]; + dns = {}; + ping = { + interval = "2s"; + timeout = "3s"; + history-size = 42; + payload-size = 56; + }; + log = { + level = "warn"; + }; + }; + }; + + exporterTest = '' + wait_for_unit("prometheus-ping-exporter.service") + wait_for_open_port(9427) + succeed("curl -sSf http://localhost:9427/metrics | grep 'ping_up{.*} 1'") + ''; + }; + postfix = { exporterConfig = { enable = true; diff --git a/pkgs/applications/audio/ncpamixer/default.nix b/pkgs/applications/audio/ncpamixer/default.nix index fe642d8167f9..b503f5308b82 100644 --- a/pkgs/applications/audio/ncpamixer/default.nix +++ b/pkgs/applications/audio/ncpamixer/default.nix @@ -1,17 +1,31 @@ -{ lib, stdenv, fetchFromGitHub, cmake, ncurses, libpulseaudio, pkg-config }: +{ lib, stdenv, fetchFromGitHub, fetchurl, cmake, ncurses, libpulseaudio, pandoc, pkg-config }: stdenv.mkDerivation rec { pname = "ncpamixer"; - version = "1.3.3.5"; + version = "1.3.7"; src = fetchFromGitHub { owner = "fulhax"; repo = "ncpamixer"; rev = version; - sha256 = "sha256-iwwfuMZn8HwnTIEBgTuvnJNlRlPt4G+j/piXO8S7mPc="; + sha256 = "sha256-GJ2zSIxSnL53nFZ2aeGlVI7i4APt+aALVEhNP5RkpMc="; }; - nativeBuildInputs = [ cmake pkg-config ]; + patches = [ + ./remove_dynamic_download.patch + ]; + + postPatch = let + PandocMan = fetchurl { + url = "https://github.com/rnpgp/cmake-modules/raw/387084811ee01a69911fe86bcc644b7ed8ad6304/PandocMan.cmake"; + hash = "sha256-KI55Yc2IuQtmbptqkk6Hzr75gIE/uQdUbQsm/fDpaWg="; + }; + in '' + substituteInPlace src/CMakeLists.txt \ + --replace "include(PandocMan)" "include(${PandocMan})" + ''; + + nativeBuildInputs = [ cmake pandoc pkg-config ]; buildInputs = [ ncurses libpulseaudio ]; diff --git a/pkgs/applications/audio/ncpamixer/remove_dynamic_download.patch b/pkgs/applications/audio/ncpamixer/remove_dynamic_download.patch new file mode 100644 index 000000000000..af98369983a8 --- /dev/null +++ b/pkgs/applications/audio/ncpamixer/remove_dynamic_download.patch @@ -0,0 +1,16 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 8aac546..ec809e8 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -14,11 +14,9 @@ if(USE_WIDE) + set(CURSES_NEED_WIDE TRUE) + endif() + +-include(FetchContent) + include(GNUInstallDirs) + + if (BUILD_MANPAGES) +- include("${CMAKE_CURRENT_SOURCE_DIR}/cmake.deps/FetchPandocMan.cmake") + include(PandocMan) + add_pandoc_man("${CMAKE_CURRENT_SOURCE_DIR}/man/ncpamixer.1.md") + endif() diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix index d2aa619fe5a3..60035e3f1b58 100644 --- a/pkgs/applications/editors/neovim/default.nix +++ b/pkgs/applications/editors/neovim/default.nix @@ -69,13 +69,13 @@ let in stdenv.mkDerivation rec { pname = "neovim-unwrapped"; - version = "0.9.4"; + version = "0.9.5"; src = fetchFromGitHub { owner = "neovim"; repo = "neovim"; rev = "v${version}"; - hash = "sha256-Lyo98cAs7Zhx23N4s4f3zpWFKYJMmXleWpt3wiVDQZo="; + hash = "sha256-CcaBqA0yFCffNPmXOJTo8c9v1jrEBiqAl8CG5Dj5YxE="; }; patches = [ diff --git a/pkgs/applications/misc/clipcat/default.nix b/pkgs/applications/misc/clipcat/default.nix index 64a3c4f3f893..539798647d1a 100644 --- a/pkgs/applications/misc/clipcat/default.nix +++ b/pkgs/applications/misc/clipcat/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "clipcat"; - version = "0.15.0"; + version = "0.16.0"; src = fetchFromGitHub { owner = "xrelkd"; repo = pname; rev = "v${version}"; - hash = "sha256-NuljH6cqgdtTJDkNv4w44s1UM4/R1gmpVyWpCzCJ3DU="; + hash = "sha256-9BilasXc/3FFPcKAgPvc0hIHP7NbOqRD8ZwIMRc/Y3M="; }; - cargoHash = "sha256-5+qa9/QGZyZBaO2kbvpP7Ybs1EXIO1MlPFm0PDTNqCQ="; + cargoHash = "sha256-zkeKhi0DiYqA5+KiU77ZJXRyhLUKVDmHvF7TG1URzo4="; nativeBuildInputs = [ protobuf diff --git a/pkgs/applications/misc/keymapp/default.nix b/pkgs/applications/misc/keymapp/default.nix new file mode 100644 index 000000000000..a0d7881b65e7 --- /dev/null +++ b/pkgs/applications/misc/keymapp/default.nix @@ -0,0 +1,68 @@ +{ stdenv +, lib +, fetchurl +, autoPatchelfHook +, wrapGAppsHook +, libusb1 +, webkitgtk +, gtk3 +, writeShellScript +, makeDesktopItem +, copyDesktopItems +}: +let + desktopItem = makeDesktopItem { + name = "keymapp"; + icon = "keymapp"; + desktopName = "Keymapp"; + categories = [ "Settings" "HardwareSettings" ]; + type = "Application"; + exec = "keymapp"; + }; +in +stdenv.mkDerivation rec { + pname = "keymapp"; + version = "1.0.7"; + + src = fetchurl { + url = "https://oryx.nyc3.cdn.digitaloceanspaces.com/keymapp/keymapp-${version}.tar.gz"; + hash = "sha256-BmCLF/4wjBDxToMW0OYqI6PZwqmctgBs7nBygmJ+YOU="; + }; + + nativeBuildInputs = [ + copyDesktopItems + autoPatchelfHook + wrapGAppsHook + ]; + + buildInputs = [ + libusb1 + webkitgtk + gtk3 + ]; + + sourceRoot = "."; + + installPhase = '' + runHook preInstall + + install -m755 -D keymapp "$out/bin/${pname}" + install -Dm644 icon.png "$out/share/pixmaps/${pname}.png" + + runHook postInstall + ''; + + preFixup = '' + gappsWrapperArgs+=(--set-default '__NV_PRIME_RENDER_OFFLOAD' 1) + ''; + + desktopItems = [ desktopItem ]; + + meta = with lib; { + homepage = "https://www.zsa.io/flash/"; + description = "Application for ZSA keyboards"; + maintainers = with lib.maintainers; [ jankaifer shawn8901 ]; + platforms = platforms.linux; + license = lib.licenses.unfree; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix index ce52a641124e..6ec445204846 100644 --- a/pkgs/applications/networking/instant-messengers/teams/default.nix +++ b/pkgs/applications/networking/instant-messengers/teams/default.nix @@ -26,37 +26,33 @@ let }; appName = "Teams.app"; - - darwin = stdenv.mkDerivation { - inherit pname meta; - version = versions.darwin; - - src = fetchurl { - url = "https://statics.teams.cdn.office.net/production-osx/${versions.darwin}/Teams_osx.pkg"; - hash = hashes.darwin; - }; - - nativeBuildInputs = [ xar cpio makeWrapper ]; - - unpackPhase = '' - xar -xf $src - zcat < Teams_osx_app.pkg/Payload | cpio -i - ''; - - sourceRoot = "Microsoft\ Teams.app"; - dontPatch = true; - dontConfigure = true; - dontBuild = true; - - installPhase = '' - runHook preInstall - mkdir -p $out/{Applications/${appName},bin} - cp -R . $out/Applications/${appName} - makeWrapper $out/Applications/${appName}/Contents/MacOS/Teams $out/bin/teams - runHook postInstall - ''; - }; in -if stdenv.isDarwin -then darwin -else throw "Teams app for Linux has been removed as it is unmaintained by upstream. (2023-09-29)" +stdenv.mkDerivation { + inherit pname meta; + version = versions.darwin; + + src = fetchurl { + url = "https://statics.teams.cdn.office.net/production-osx/${versions.darwin}/Teams_osx.pkg"; + hash = hashes.darwin; + }; + + nativeBuildInputs = [ xar cpio makeWrapper ]; + + unpackPhase = '' + xar -xf $src + zcat < Teams_osx_app.pkg/Payload | cpio -i + ''; + + sourceRoot = "Microsoft\ Teams.app"; + dontPatch = true; + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + mkdir -p $out/{Applications/${appName},bin} + cp -R . $out/Applications/${appName} + makeWrapper $out/Applications/${appName}/Contents/MacOS/Teams $out/bin/teams + runHook postInstall + ''; +} diff --git a/pkgs/applications/science/math/eigenmath/default.nix b/pkgs/applications/science/math/eigenmath/default.nix index a2743b163247..561c9c66a50e 100644 --- a/pkgs/applications/science/math/eigenmath/default.nix +++ b/pkgs/applications/science/math/eigenmath/default.nix @@ -7,13 +7,13 @@ stdenv.mkDerivation rec { pname = "eigenmath"; - version = "unstable-2023-12-12"; + version = "unstable-2023-12-31"; src = fetchFromGitHub { owner = "georgeweigt"; repo = pname; - rev = "bec2c9bd0750ec7970f6c701e619565c9d348e84"; - hash = "sha256-+VohU8mkFjZ0zhjmri0KY1kTzPLn2q5Au4nEBdXcR+8="; + rev = "cc92936e226b0a4c77cdc5d00b7a02c472746f6f"; + hash = "sha256-wY06pZzqcgYdBS7ecB3ZnvmK74ve651n6aHHAN5DWdw="; }; checkPhase = let emulator = stdenv.hostPlatform.emulator buildPackages; in '' diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix index b921e63ec9fe..63c137c220c2 100644 --- a/pkgs/applications/virtualization/OVMF/default.nix +++ b/pkgs/applications/virtualization/OVMF/default.nix @@ -31,6 +31,7 @@ let i686 = "FV/OVMF"; x86_64 = "FV/OVMF"; aarch64 = "FV/AAVMF"; + riscv64 = "FV/RISCV_VIRT"; }; in diff --git a/pkgs/by-name/ff/ff2mpv-go/package.nix b/pkgs/by-name/ff/ff2mpv-go/package.nix index 71e0f98a478d..7fa747b8839d 100644 --- a/pkgs/by-name/ff/ff2mpv-go/package.nix +++ b/pkgs/by-name/ff/ff2mpv-go/package.nix @@ -1,6 +1,7 @@ { lib , buildGoModule , fetchgit +, makeWrapper , mpv }: buildGoModule rec { @@ -13,17 +14,21 @@ buildGoModule rec { hash = "sha256-e/AuOA3isFTyBf97Zwtr16yo49UdYzvktV5PKB/eH/s="; }; - vendorHash = null; + nativeBuildInputs = [ + makeWrapper + ]; - postPatch = '' - substituteInPlace ff2mpv.go --replace '"mpv"' '"${lib.getExe mpv}"' - ''; + vendorHash = null; postInstall = '' mkdir -p "$out/lib/mozilla/native-messaging-hosts" $out/bin/ff2mpv-go --manifest > "$out/lib/mozilla/native-messaging-hosts/ff2mpv.json" ''; + postFixup = '' + wrapProgram $out/bin/ff2mpv-go --suffix PATH ":" ${lib.makeBinPath [ mpv ]} + ''; + meta = with lib; { description = "Native messaging host for ff2mpv written in Go"; homepage = "https://git.clsr.net/util/ff2mpv-go/"; diff --git a/pkgs/by-name/gr/gruvbox-plus-icons/package.nix b/pkgs/by-name/gr/gruvbox-plus-icons/package.nix index ffcd8b3f0b89..fd9c88e5de01 100644 --- a/pkgs/by-name/gr/gruvbox-plus-icons/package.nix +++ b/pkgs/by-name/gr/gruvbox-plus-icons/package.nix @@ -3,7 +3,7 @@ , stdenvNoCC , fetchFromGitHub , gtk3 -, breeze-icons +, plasma5Packages , gnome-icon-theme , hicolor-icon-theme }: @@ -21,7 +21,7 @@ stdenvNoCC.mkDerivation { nativeBuildInputs = [ gtk3 ]; - propagatedBuildInputs = [ breeze-icons gnome-icon-theme hicolor-icon-theme ]; + propagatedBuildInputs = [ plasma5Packages.breeze-icons gnome-icon-theme hicolor-icon-theme ]; installPhase = '' runHook preInstall diff --git a/pkgs/by-name/lz/lzsa/package.nix b/pkgs/by-name/lz/lzsa/package.nix new file mode 100644 index 000000000000..e0ddc158706e --- /dev/null +++ b/pkgs/by-name/lz/lzsa/package.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, fetchFromGitHub +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "lzsa"; + version = "1.4.1"; + + src = fetchFromGitHub { + owner = "emmanuel-marty"; + repo = "lzsa"; + rev = finalAttrs.version; + hash = "sha256-XaPtMW9INv/wzMXvlyXgE3VfFJCY/5R/HFGhV3ZKvGs="; + }; + + makeFlags = [ + "CC=${stdenv.cc.targetPrefix}cc" + ]; + + installPhase = '' + runHook preInstall + install -Dm755 lzsa -t $out/bin/ + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/emmanuel-marty/lzsa"; + description = "Byte-aligned, efficient lossless packer that is optimized for fast decompression on 8-bit micros"; + license = with lib.licenses; [ cc0 ]; + maintainers = with lib.maintainers; [ AndersonTorres ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/ma/maltego/package.nix b/pkgs/by-name/ma/maltego/package.nix new file mode 100644 index 000000000000..223de91d8e76 --- /dev/null +++ b/pkgs/by-name/ma/maltego/package.nix @@ -0,0 +1,81 @@ +{ lib +, stdenv +, fetchzip +, jre +, giflib +, gawk +, makeBinaryWrapper +, icoutils +, copyDesktopItems +, makeDesktopItem +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "maltego"; + version = "4.6.0"; + + src = fetchzip { + url = "https://downloads.maltego.com/maltego-v4/linux/Maltego.v${finalAttrs.version}.linux.zip"; + hash = "sha256-q+1RYToZtBxAIDSiUWf3i/3GBBDwh6NWteHiK4VM1HY="; + }; + + postPatch = '' + substituteInPlace bin/maltego \ + --replace /usr/bin/awk ${lib.getExe gawk} + ''; + + desktopItems = [ + (makeDesktopItem { + name = finalAttrs.pname; + desktopName = "Maltego"; + exec = finalAttrs.meta.mainProgram; + icon = finalAttrs.pname; + comment = "An open source intelligence and forensics application"; + categories = [ "Network" "Security" ]; + startupNotify = false; + }) + ]; + + nativeBuildInputs = [ + icoutils + makeBinaryWrapper + copyDesktopItems + ]; + + buildInputs = [ jre giflib ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/{bin,share} + chmod +x bin/maltego + + icotool -x bin/maltego.ico + + for size in 16 32 48 256 + do + mkdir -p $out/share/icons/hicolor/$size\x$size/apps + cp maltego_*_$size\x$size\x32.png $out/share/icons/hicolor/$size\x$size/apps/maltego.png + done + + rm -r *.png + + cp -aR . "$out/share/maltego/" + + makeWrapper $out/share/maltego/bin/maltego $out/bin/${finalAttrs.meta.mainProgram} \ + --set JAVA_HOME ${jre} \ + --prefix PATH : ${lib.makeBinPath [ jre ]} + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://www.maltego.com"; + description = "An open source intelligence and forensics application, enabling to easily gather information about DNS, domains, IP addresses, websites, persons, and so on"; + mainProgram = "maltego"; + maintainers = with maintainers; [ emilytrau d3vil0p3r ]; + platforms = with platforms; linux ++ darwin; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + license = licenses.unfree; + }; +}) diff --git a/pkgs/by-name/pd/pdk/Gemfile b/pkgs/by-name/pd/pdk/Gemfile index 755aed715a7b..9b3016e96bf7 100644 --- a/pkgs/by-name/pd/pdk/Gemfile +++ b/pkgs/by-name/pd/pdk/Gemfile @@ -1,2 +1,2 @@ source 'https://rubygems.org' -gem 'pdk', '3.0.0' +gem 'pdk', '3.0.1' diff --git a/pkgs/by-name/pd/pdk/Gemfile.lock b/pkgs/by-name/pd/pdk/Gemfile.lock index 1ca4720ec3c5..9cf412d55a74 100644 --- a/pkgs/by-name/pd/pdk/Gemfile.lock +++ b/pkgs/by-name/pd/pdk/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.8.5) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) childprocess (4.1.0) concurrent-ruby (1.1.10) @@ -22,7 +22,7 @@ GEM pastel (0.8.0) tty-color (~> 0.5) pathspec (1.1.3) - pdk (3.0.0) + pdk (3.0.1) bundler (>= 2.1.0, < 3.0.0) childprocess (~> 4.1.0) concurrent-ruby (= 1.1.10) @@ -51,7 +51,7 @@ GEM tty-cursor (~> 0.7) tty-screen (~> 0.8) wisper (~> 2.0) - tty-screen (0.8.1) + tty-screen (0.8.2) tty-spinner (0.9.3) tty-cursor (~> 0.7) tty-which (0.5.0) @@ -61,7 +61,7 @@ PLATFORMS x86_64-linux DEPENDENCIES - pdk (= 3.0.0) + pdk (= 3.0.1) BUNDLED WITH - 2.4.20 + 2.4.22 diff --git a/pkgs/by-name/pd/pdk/gemset.nix b/pkgs/by-name/pd/pdk/gemset.nix index 2759a4fcbbc4..cfc47fa4bb32 100644 --- a/pkgs/by-name/pd/pdk/gemset.nix +++ b/pkgs/by-name/pd/pdk/gemset.nix @@ -5,10 +5,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "05r1fwy487klqkya7vzia8hnklcxy4vr92m9dmni3prfwk6zpw33"; + sha256 = "0irbdwkkjwzajq1ip6ba46q49sxnrl2cw7ddkdhsfhb6aprnm3vr"; type = "gem"; }; - version = "2.8.5"; + version = "2.8.6"; }; childprocess = { groups = ["default"]; @@ -169,10 +169,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0wbr20gkv0ggc3b0hah29xs4rlldrm5kk55838vizzgk6d0pddmi"; + sha256 = "1imb1bqda7xxq38r2fvq9qphr4d1shy7c2v1agw50a736g4346x2"; type = "gem"; }; - version = "3.0.0"; + version = "3.0.1"; }; public_suffix = { groups = ["default"]; @@ -241,10 +241,10 @@ platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "18jr6s1cg8yb26wzkqa6874q0z93rq0y5aw092kdqazk71y6a235"; + sha256 = "0l4vh6g333jxm9lakilkva2gn17j6gb052626r1pdbmy2lhnb460"; type = "gem"; }; - version = "0.8.1"; + version = "0.8.2"; }; tty-spinner = { dependencies = ["tty-cursor"]; diff --git a/pkgs/by-name/sw/swayosd/package.nix b/pkgs/by-name/sw/swayosd/package.nix index b2a7b17b4315..d3bd68ea1e4e 100644 --- a/pkgs/by-name/sw/swayosd/package.nix +++ b/pkgs/by-name/sw/swayosd/package.nix @@ -18,19 +18,19 @@ stdenv.mkDerivation rec { pname = "swayosd"; - version = "unstable-2023-07-18"; + version = "unstable-2023-09-26"; src = fetchFromGitHub { owner = "ErikReider"; repo = "SwayOSD"; - rev = "b14c83889c7860c174276d05dec6554169a681d9"; - hash = "sha256-MJuTwEI599Y7q+0u0DMxRYaXsZfpksc2csgnK9Ghp/E="; + rev = "1c7d2f5b3ee262f25bdd3c899eadf17efb656d26"; + hash = "sha256-Y22O6Ktya/WIhidnoyxnZu5YvXWNmSS6vecDU8zDD34="; }; cargoDeps = rustPlatform.fetchCargoTarball { inherit src; name = "${pname}-${version}"; - hash = "sha256-pExpzQwuHREhgkj+eZ8drBVsh/B3WiQBBh906O6ymFw="; + hash = "sha256-tqbMlygX+n14oR1t+0ngjiSG2mHUk/NbiWHk4yEAb2o="; }; nativeBuildInputs = [ @@ -65,7 +65,7 @@ stdenv.mkDerivation rec { description = "A GTK based on screen display for keyboard shortcuts"; homepage = "https://github.com/ErikReider/SwayOSD"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ aleksana ]; + maintainers = with maintainers; [ aleksana barab-i ]; platforms = platforms.linux; }; } diff --git a/pkgs/by-name/sw/swayosd/swayosd_systemd_paths.patch b/pkgs/by-name/sw/swayosd/swayosd_systemd_paths.patch index 189c761e9d36..35d335df5794 100644 --- a/pkgs/by-name/sw/swayosd/swayosd_systemd_paths.patch +++ b/pkgs/by-name/sw/swayosd/swayosd_systemd_paths.patch @@ -2,13 +2,6 @@ diff --git a/data/meson.build b/data/meson.build index fc687a5..68decdf 100644 --- a/data/meson.build +++ b/data/meson.build -@@ -1,5 +1,6 @@ - datadir = get_option('datadir') - sysconfdir = get_option('sysconfdir') -+libdir = get_option('libdir') - - # LICENSE - install_data( @@ -41,11 +42,7 @@ configure_file( # Systemd service unit diff --git a/pkgs/applications/emulators/commanderx16/emulator.nix b/pkgs/by-name/x1/x16/package.nix similarity index 81% rename from pkgs/applications/emulators/commanderx16/emulator.nix rename to pkgs/by-name/x1/x16/package.nix index 9da865057739..6a144bea669d 100644 --- a/pkgs/applications/emulators/commanderx16/emulator.nix +++ b/pkgs/by-name/x1/x16/package.nix @@ -2,18 +2,19 @@ , stdenv , fetchFromGitHub , SDL2 +, callPackage , zlib }: stdenv.mkDerivation (finalAttrs: { pname = "x16-emulator"; - version = "44"; + version = "46"; src = fetchFromGitHub { owner = "X16Community"; repo = "x16-emulator"; rev = "r${finalAttrs.version}"; - hash = "sha256-NDtfbhqGldxtvWQf/t6UnMRjI2DR7JYKbm2KFAMZhHY="; + hash = "sha256-cYr6s69eua1hCFqNkcomZDK9akxBqMTIaGqOl/YX2kc="; }; postPatch = '' @@ -41,6 +42,11 @@ stdenv.mkDerivation (finalAttrs: { # upstream project recommends emulator and rom to be synchronized; passing # through the version is useful to ensure this inherit (finalAttrs) version; + emulator = finalAttrs.finalPackage; + rom = callPackage ./rom.nix { }; + run = (callPackage ./run.nix { }){ + inherit (finalAttrs.finalPackage) emulator rom; + }; }; meta = { diff --git a/pkgs/applications/emulators/commanderx16/rom.nix b/pkgs/by-name/x1/x16/rom.nix similarity index 92% rename from pkgs/applications/emulators/commanderx16/rom.nix rename to pkgs/by-name/x1/x16/rom.nix index c272faa706aa..7d17bb8272ce 100644 --- a/pkgs/applications/emulators/commanderx16/rom.nix +++ b/pkgs/by-name/x1/x16/rom.nix @@ -2,22 +2,24 @@ , stdenv , fetchFromGitHub , cc65 +, lzsa , python3 }: stdenv.mkDerivation (finalAttrs: { pname = "x16-rom"; - version = "44"; + version = "46"; src = fetchFromGitHub { owner = "X16Community"; repo = "x16-rom"; rev = "r${finalAttrs.version}"; - hash = "sha256-x/U+8e869mkWZKmCiW2fZKGB9un2cFXNclemwxbAjLQ="; + hash = "sha256-PcLHIT84NbH+ejq8SY/UN+TYtRFWtqQBHwHqToFUol8="; }; nativeBuildInputs = [ cc65 + lzsa python3 ]; diff --git a/pkgs/applications/emulators/commanderx16/run.nix b/pkgs/by-name/x1/x16/run.nix similarity index 93% rename from pkgs/applications/emulators/commanderx16/run.nix rename to pkgs/by-name/x1/x16/run.nix index 1f14fdb223c7..274e98afecca 100644 --- a/pkgs/applications/emulators/commanderx16/run.nix +++ b/pkgs/by-name/x1/x16/run.nix @@ -35,3 +35,4 @@ symlinkJoin { # 1. Parse the command line in order to allow the user to set an optional # rom-file # 2. generate runScript based on symlinkJoin (maybe a postBuild?) +# 3. a NixOS module to abstract the runner diff --git a/pkgs/development/compilers/dotnet/default.nix b/pkgs/development/compilers/dotnet/default.nix index 915f3b08652b..814560e49bee 100644 --- a/pkgs/development/compilers/dotnet/default.nix +++ b/pkgs/development/compilers/dotnet/default.nix @@ -5,7 +5,7 @@ dotnetCombined = with dotnetCorePackages; combinePackages [ sdk_6_0 aspnetcore_7 Hashes and urls are retrieved from: https://dotnet.microsoft.com/download/dotnet */ -{ callPackage }: +{ lib, config, callPackage }: let buildDotnet = attrs: callPackage (import ./build-dotnet.nix attrs) {}; buildAttrs = { @@ -35,7 +35,7 @@ in inherit systemToDotnetRid; combinePackages = attrs: callPackage (import ./combine-packages.nix attrs) {}; - +} // lib.optionalAttrs config.allowAliases { # EOL sdk_2_1 = throw "Dotnet SDK 2.1 is EOL, please use 6.0 (LTS) or 7.0 (Current)"; sdk_2_2 = throw "Dotnet SDK 2.2 is EOL, please use 6.0 (LTS) or 7.0 (Current)"; diff --git a/pkgs/development/libraries/wtk/default.nix b/pkgs/development/libraries/wtk/default.nix index da856226d4e9..1360895942a4 100644 --- a/pkgs/development/libraries/wtk/default.nix +++ b/pkgs/development/libraries/wtk/default.nix @@ -1,7 +1,5 @@ { lib, stdenv, requireFile, unzip, xorg }: -assert stdenv.hostPlatform.system == "i686-linux"; - stdenv.mkDerivation rec { pname = "sun-java-wtk"; version = "2.5.2_01"; @@ -23,5 +21,6 @@ stdenv.mkDerivation rec { description = "Sun Java Wireless Toolkit 2.5.2_01 for CLDC"; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; license = lib.licenses.unfree; + platforms = [ "i686-linux" ]; }; } diff --git a/pkgs/development/tools/extism-cli/default.nix b/pkgs/development/tools/extism-cli/default.nix index a7999fcaeb49..807632ab77b1 100644 --- a/pkgs/development/tools/extism-cli/default.nix +++ b/pkgs/development/tools/extism-cli/default.nix @@ -1,37 +1,43 @@ -{ lib, stdenvNoCC, fetchFromGitHub, python3, makeBinaryWrapper }: +{ + lib +, buildGoModule +, fetchFromGitHub +, installShellFiles +}: -stdenvNoCC.mkDerivation rec { +buildGoModule rec { pname = "extism-cli"; - version = "0.1.0"; + version = "0.3.8"; src = fetchFromGitHub { owner = "extism"; repo = "cli"; - rev = "97935786166e82154266b82410028482800e6061"; - sha256 = "sha256-LRzXuZQt5h3exw43UXUwLVIhveYVFw/SQ2YtHI9ZnWc="; + rev = "refs/tags/v${version}"; + hash = "sha256-StMipPMLSQzrhWv0yoKkNiuHMRW7QIhmVZ/M27WDWrM="; }; - buildInputs = [ python3 ]; - nativeBuildInputs = [ makeBinaryWrapper ]; + modRoot = "./extism"; - installPhase = '' - runHook preInstall + vendorHash = "sha256-sSKiwYT5EP0FQJbhgv9ZFDwwwvIJ66yMULbj529AZwY="; - install -D -m 755 ./extism_cli/__init__.py "$out/bin/extism" + nativeBuildInputs = [ installShellFiles ]; - # The extism cli tries by default to install a library and header into /usr/local which does not work on NixOS. - # Pass a reasonable writable directory which can still be overwritten with another --prefix argument. - wrapProgram "$out/bin/extism" \ - --add-flags '--prefix $HOME/.local' + doCheck = false; # Tests require network access - runHook postInstall + postInstall = '' + local INSTALL="$out/bin/extism" + installShellCompletion --cmd extism \ + --bash <($out/bin/containerlab completion bash) \ + --fish <($out/bin/containerlab completion fish) \ + --zsh <($out/bin/containerlab completion zsh) ''; meta = with lib; { description = "The extism CLI is used to manage Extism installations"; homepage = "https://github.com/extism/cli"; license = licenses.bsd3; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ zshipko ]; + mainProgram = "extism"; platforms = platforms.all; }; } diff --git a/pkgs/development/tools/gofumpt/default.nix b/pkgs/development/tools/gofumpt/default.nix index 0949c1ff9dd6..6becc6f4002d 100644 --- a/pkgs/development/tools/gofumpt/default.nix +++ b/pkgs/development/tools/gofumpt/default.nix @@ -2,7 +2,7 @@ , buildGoModule , fetchFromGitHub , nix-update-script -, testVersion +, testers , gofumpt }: @@ -30,7 +30,7 @@ buildGoModule rec { passthru = { updateScript = nix-update-script { }; - tests.version = testVersion { + tests.version = testers.testVersion { package = gofumpt; version = "v${version}"; }; diff --git a/pkgs/development/tools/templ/default.nix b/pkgs/development/tools/templ/default.nix new file mode 100644 index 000000000000..c457c502ef72 --- /dev/null +++ b/pkgs/development/tools/templ/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildGoModule +, fetchFromGitHub +}: + +buildGoModule rec { + pname = "templ"; + version = "0.2.476"; + + subPackages = [ "cmd/templ" ]; + + CGO_ENABLED = 0; + + ldflags = [ + "-s" + "-w" + "-extldflags -static" + ]; + + src = fetchFromGitHub { + owner = "a-h"; + repo = "templ"; + rev = "refs/tags/v${version}"; + hash = "sha256-lgeVfe+9kUxN4XXL7ANiFxtmupZwDaiRFABJIAclyd8="; + }; + + vendorHash = "sha256-hbXKWWwrlv0w3SxMgPtDBpluvrbjDRGiJ/9QnRKlwCE="; + + meta = with lib; { + description = "A language for writing HTML user interfaces in Go"; + homepage = "https://templ.guide/"; + license = licenses.mit; + maintainers = with maintainers; [ luleyleo ]; + mainProgram = "templ"; + }; +} diff --git a/pkgs/development/tools/winhelpcgi/default.nix b/pkgs/development/tools/winhelpcgi/default.nix index cd7bfe344357..608ab00f50b6 100644 --- a/pkgs/development/tools/winhelpcgi/default.nix +++ b/pkgs/development/tools/winhelpcgi/default.nix @@ -1,5 +1,6 @@ -{ stdenv, fetchurl, libwmf, libpng, pkg-config, lib }: stdenv.mkDerivation { - name = "winhelpcgi-1.0-rc3"; +{ stdenv, fetchurl, libwmf, libpng12, pkg-config, lib }: stdenv.mkDerivation { + pname = "winhelpcgi"; + version = "1.0-rc3"; src = fetchurl { url = "http://www.herdsoft.com/ftp/winhelpcgi_1.0-1.tar.gz"; @@ -9,15 +10,14 @@ nativeBuildInputs = [ pkg-config ]; - buildInputs = [ libwmf libpng ]; + buildInputs = [ libwmf libpng12 ]; meta = { description = "CGI module for Linux, Solaris, MacOS X and AIX to read Windows Help Files"; - homepage = "http://www.herdsoft.com/linux/produkte/winhelpcgi.html"; - license = lib.licenses.gpl2Only; - maintainers = [ lib.maintainers.shlevy ]; + platforms = lib.platforms.linux; + broken = stdenv.isAarch64; }; } diff --git a/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix b/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix index 01607be58fc4..17a00496a626 100644 --- a/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix +++ b/pkgs/os-specific/linux/linux-wifi-hotspot/default.nix @@ -26,13 +26,13 @@ stdenv.mkDerivation rec { pname = "linux-wifi-hotspot"; - version = "4.6.0"; + version = "4.7.0"; src = fetchFromGitHub { owner = "lakinduakash"; repo = pname; rev = "v${version}"; - sha256 = "sha256-u9OdSpdxnjHOrK6PP/SFvGRtezssoZSoJFGVdRbOIPU="; + sha256 = "sha256-YwxVQNuxZib0yjG/+W0BZu39iS96UPYITV1vWsR7MzQ="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix index a1e9eabdb3d9..9d2dfb6952cc 100644 --- a/pkgs/servers/http/nginx/modules.nix +++ b/pkgs/servers/http/nginx/modules.nix @@ -22,7 +22,7 @@ , libuuid , libxml2 , lmdb -, luajit +, luajit_openresty , msgpuck , openssl , opentracing-cpp @@ -379,7 +379,7 @@ let self = { sha256 = "sha256-TyeTL7/0dI2wS2eACS4sI+9tu7UpDq09aemMaklkUss="; }; - inputs = [ luajit ]; + inputs = [ luajit_openresty ]; preConfigure = let # fix compilation against nginx 1.23.0 @@ -388,8 +388,8 @@ let self = { sha256 = "sha256-l7GHFNZXg+RG2SIBjYJO1JHdGUtthWnzLIqEORJUNr4="; }; in '' - export LUAJIT_LIB="${luajit}/lib" - export LUAJIT_INC="$(realpath ${luajit}/include/luajit-*)" + export LUAJIT_LIB="${luajit_openresty}/lib" + export LUAJIT_INC="$(realpath ${luajit_openresty}/include/luajit-*)" # make source directory writable to allow generating src/ngx_http_lua_autoconf.h lua_src=$TMPDIR/lua-src @@ -420,7 +420,7 @@ let self = { sha256 = "1gqccg8airli3i9103zv1zfwbjm27h235qjabfbfqk503rjamkpk"; }; - inputs = [ luajit ]; + inputs = [ luajit_openresty ]; allowMemoryWriteExecute = true; meta = with lib; { @@ -458,15 +458,15 @@ let self = { name = "moreheaders"; owner = "openresty"; repo = "headers-more-nginx-module"; - rev = "v0.34"; - sha256 = "sha256-LsrN/rF/p17x/80Jw9CgbmK69to6LycCM1OwTBojz8M="; + rev = "v0.36"; + sha256 = "sha256-X+ygIesQ9PGm5yM+u1BOLYVpm1172P8jWwXNr3ixFY4="; }; meta = with lib; { description = "Set, add, and clear arbitrary output headers"; homepage = "https://github.com/openresty/headers-more-nginx-module"; license = with licenses; [ bsd2 ]; - maintainers = with maintainers; [ ]; + maintainers = with maintainers; [ SuperSandro2000 ]; }; }; diff --git a/pkgs/servers/monitoring/prometheus/ping-exporter.nix b/pkgs/servers/monitoring/prometheus/ping-exporter.nix new file mode 100644 index 000000000000..becbde065af3 --- /dev/null +++ b/pkgs/servers/monitoring/prometheus/ping-exporter.nix @@ -0,0 +1,22 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "ping-exporter"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "czerwonk"; + repo = "ping_exporter"; + rev = version; + hash = "sha256-ttlsz0yS4vIfQLTKQ/aiIm/vg6bwnbUlM1aku9RMXXU="; + }; + + vendorHash = "sha256-ZTrQNtpXTf+3oPv8zoVm6ZKWzAvRsAj96csoKJKxu3k="; + + meta = with lib; { + description = "Prometheus exporter for ICMP echo requests"; + homepage = "https://github.com/czerwonk/ping_exporter"; + license = licenses.mit; + maintainers = with maintainers; [ nudelsalat ]; + }; +} diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix index d4301258dc84..1b7620eb5f86 100644 --- a/pkgs/servers/nextcloud/default.nix +++ b/pkgs/servers/nextcloud/default.nix @@ -42,18 +42,6 @@ let }; }; in { - nextcloud25 = throw '' - Nextcloud v25 has been removed from `nixpkgs` as the support for is dropped - by upstream in 2023-10. Please upgrade to at least Nextcloud v26 by declaring - - services.nextcloud.package = pkgs.nextcloud26; - - in your NixOS config. - - WARNING: if you were on Nextcloud 24 you have to upgrade to Nextcloud 25 - first on 23.05 because Nextcloud doesn't support upgrades across multiple major versions! - ''; - nextcloud26 = generic { version = "26.0.10"; hash = "sha256-yArkYMxOmvfQsJd6TJJX+t22a/V5OW9nwHfgLZsmlIw="; diff --git a/pkgs/servers/pocketbase/default.nix b/pkgs/servers/pocketbase/default.nix index c5ed1ff169f4..2afdd2fb7206 100644 --- a/pkgs/servers/pocketbase/default.nix +++ b/pkgs/servers/pocketbase/default.nix @@ -6,13 +6,13 @@ buildGoModule rec { pname = "pocketbase"; - version = "0.20.1"; + version = "0.20.2"; src = fetchFromGitHub { owner = "pocketbase"; repo = "pocketbase"; rev = "v${version}"; - hash = "sha256-dJfQ/y5pMhQZfGLUUpsBZ0tZ1BBjBeIgzcOpyR7We64="; + hash = "sha256-+8D562PwSwplSI4vXXeMO2e3DazpANA4hcJGkVCspOw="; }; vendorHash = "sha256-Y70GNXThSZdG+28/ZQgxXhyZWAtMu0OM97Yhmo0Eigc="; diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix index ffc3b7becece..0ee5d2e47dcc 100644 --- a/pkgs/tools/misc/dua/default.nix +++ b/pkgs/tools/misc/dua/default.nix @@ -7,13 +7,13 @@ rustPlatform.buildRustPackage rec { pname = "dua"; - version = "2.24.1"; + version = "2.24.2"; src = fetchFromGitHub { owner = "Byron"; repo = "dua-cli"; rev = "v${version}"; - hash = "sha256-CezZ0Nse1s1jSwPoaY5Gvpfg3ztM5e8OjvW+WsMMrDM="; + hash = "sha256-1rGzgKusUKlkH/Ew8qDzq143mu+gvSlXTcqL+I+ypSY="; # Remove unicode file names which leads to different checksums on HFS+ # vs. other filesystems because of unicode normalisation. postFetch = '' @@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec { ''; }; - cargoHash = "sha256-oDDQPN2bLHJFMmdKoB+0qbcVOMVnamF23Phzq7eLFJ4="; + cargoHash = "sha256-+GHVZNuEpOxu29EuHOshrYyhg1HFcYJjC4MnFJgjw38="; buildInputs = lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Foundation diff --git a/pkgs/tools/networking/quicktun/default.nix b/pkgs/tools/networking/quicktun/default.nix index 2c1799387df8..2c28e3665698 100644 --- a/pkgs/tools/networking/quicktun/default.nix +++ b/pkgs/tools/networking/quicktun/default.nix @@ -15,11 +15,22 @@ stdenv.mkDerivation { buildInputs = [ libsodium ]; - buildPhase = "bash build.sh"; + postPatch = '' + substituteInPlace build.sh \ + --replace "cc=\"cc\"" "cc=\"$CC\"" + ''; + + buildPhase = '' + runHook preBuild + bash build.sh + runHook postBuild + ''; installPhase = '' + runHook preInstall rm out/quicktun*tgz install -vD out/quicktun* -t $out/bin + runHook postInstall ''; passthru.tests.quicktun = nixosTests.quicktun; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 411a132e166b..283a516658c5 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -141,6 +141,9 @@ mapAliases ({ ccloud-cli = throw "ccloud-cli has been removed, please use confluent-cli instead"; # Added 2023-06-09 certmgr-selfsigned = certmgr; # Added 2023-11-30 chefdk = throw "chefdk has been removed due to being deprecated upstream by Chef Workstation"; # Added 2023-03-22 + chia = throw "chia has been removed. see https://github.com/NixOS/nixpkgs/pull/270254"; # Added 2023-11-30 + chia-dev-tools = throw "chia-dev-tools has been removed. see https://github.com/NixOS/nixpkgs/pull/270254"; # Added 2023-11-30 + chia-plotter = throw "chia-plotter has been removed. see https://github.com/NixOS/nixpkgs/pull/270254"; # Added 2023-11-30 chocolateDoom = chocolate-doom; # Added 2023-05-01 chrome-gnome-shell = gnome-browser-connector; # Added 2022-07-27 chromiumBeta = throw "'chromiumBeta' has been removed due to the lack of maintenance in nixpkgs. Consider using 'chromium' instead."; # Added 2023-10-18 @@ -204,6 +207,9 @@ mapAliases ({ dot-http = throw "'dot-http' has been removed: abandoned by upstream. Use hurl instead."; # Added 2023-01-16 dotty = scala_3; # Added 2023-08-20 dotnet-netcore = dotnet-runtime; # Added 2021-10-07 + dotnet-sdk_2 = dotnetCorePackages.sdk_2_1; # Added 2020-01-19 + dotnet-sdk_3 = dotnetCorePackages.sdk_3_1; # Added 2020-01-19 + dotnet-sdk_5 = dotnetCorePackages.sdk_5_0; # Added 2020-09-11 drgeo = throw "'drgeo' has been removed as it is outdated and unmaintained"; # Added 2023-10-15 dtv-scan-tables_linuxtv = dtv-scan-tables; # Added 2023-03-03 dtv-scan-tables_tvheadend = dtv-scan-tables; # Added 2023-03-03 @@ -613,6 +619,18 @@ mapAliases ({ minetestserver_5 = minetestserver; # Added 2023-12-11 minizip2 = pkgs.minizip-ng; # Added 2022-12-28 mirage-im = throw "'mirage-im' has been removed, as it was broken and unmaintained"; # Added 2023-11-26 + mod_dnssd = apacheHttpdPackages.mod_dnssd; # Added 2014-11-07 + mod_fastcgi = apacheHttpdPackages.mod_fastcgi; # Added 2014-11-07 + mod_python = apacheHttpdPackages.mod_python; # Added 2014-11-07 + mod_wsgi = apacheHttpdPackages.mod_wsgi; # Added 2014-11-07 + mod_ca = apacheHttpdPackages.mod_ca; # Added 2019-12-24 + mod_crl = apacheHttpdPackages.mod_crl; # Added 2019-12-24 + mod_csr = apacheHttpdPackages.mod_csr; # Added 2019-12-24 + mod_ocsp = apacheHttpdPackages.mod_ocsp; # Added 2019-12-24 + mod_scep = apacheHttpdPackages.mod_scep; # Added 2019-12-24 + mod_spkac = apacheHttpdPackages.mod_spkac; # Added 2019-12-24 + mod_pkcs12 = apacheHttpdPackages.mod_pkcs12; # Added 2019-12-24 + mod_timestamp = apacheHttpdPackages.mod_timestamp; # Added 2019-12-24 monero = monero-cli; # Added 2021-11-28 mongodb-4_0 = throw "mongodb-4_0 has been removed, it's end of life since April 2022"; # Added 2023-01-05 mongodb-4_2 = throw "mongodb-4_2 has been removed, it's end of life since April 2023"; # Added 2023-06-06 @@ -638,10 +656,26 @@ mapAliases ({ net_snmp = throw "'net_snmp' has been renamed to/replaced by 'net-snmp'"; # Converted to throw 2023-09-10 netbox_3_3 = throw "netbox 3.3 series has been removed as it was EOL"; # Added 2023-09-02 + nextcloud25 = throw '' + Nextcloud v25 has been removed from `nixpkgs` as the support for is dropped + by upstream in 2023-10. Please upgrade to at least Nextcloud v26 by declaring + + services.nextcloud.package = pkgs.nextcloud26; + + in your NixOS config. + + WARNING: if you were on Nextcloud 24 you have to upgrade to Nextcloud 25 + first on 23.05 because Nextcloud doesn't support upgrades across multiple major versions! + ''; # Added 2023-10-13 + nextcloud25Packages = throw "Nextcloud25 is EOL!"; # Added 2023-10-13 nagiosPluginsOfficial = monitoring-plugins; neochat = libsForQt5.kdeGear.neochat; # added 2022-05-10 nitrokey-udev-rules = libnitrokey; # Added 2023-03-25 nix-direnv-flakes = nix-direnv; + nix-repl = throw ( # Added 2018-08-26 + "nix-repl has been removed because it's not maintained anymore, " + + "use `nix repl` instead. Also see https://github.com/NixOS/nixpkgs/pull/44903" + ); nix-review = throw "'nix-review' has been renamed to/replaced by 'nixpkgs-review'"; # Converted to throw 2023-09-10 nix-template-rpm = throw "'nix-template-rpm' has been removed as it is broken and unmaintained" ; # Added 2023-11-20 nixFlakes = nixVersions.stable; # Added 2021-05-21 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e1770e1f4a4d..b5ed8f801710 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -939,9 +939,6 @@ with pkgs; dotnetCorePackages = recurseIntoAttrs (callPackage ../development/compilers/dotnet {}); - dotnet-sdk_2 = dotnetCorePackages.sdk_2_1; - dotnet-sdk_3 = dotnetCorePackages.sdk_3_1; - dotnet-sdk_5 = dotnetCorePackages.sdk_5_0; dotnet-sdk_6 = dotnetCorePackages.sdk_6_0; dotnet-sdk_7 = dotnetCorePackages.sdk_7_0; dotnet-sdk_8 = dotnetCorePackages.sdk_8_0; @@ -2945,14 +2942,10 @@ with pkgs; ### APPLICATIONS/EMULATORS/YUZU yuzuPackages = callPackage ../applications/emulators/yuzu {}; - ### APPLICATIONS/EMULATORS/COMMANDERX16 - - x16-emulator = callPackage ../applications/emulators/commanderx16/emulator.nix { }; - x16-rom = callPackage ../applications/emulators/commanderx16/rom.nix { }; - x16-run = (callPackage ../applications/emulators/commanderx16/run.nix { }) { - emulator = x16-emulator; - rom = x16-rom; - }; + # Aliases kept here because they are easier to use + x16-emulator = x16.emulator; + x16-rom = x16.rom; + x16-run = x16.run; yabause = libsForQt5.callPackage ../applications/emulators/yabause { freeglut = null; @@ -4158,9 +4151,7 @@ with pkgs; wiiload = callPackage ../development/tools/wiiload { }; - winhelpcgi = callPackage ../development/tools/winhelpcgi { - libpng = libpng12; - }; + winhelpcgi = callPackage ../development/tools/winhelpcgi { }; wiimms-iso-tools = callPackage ../tools/filesystems/wiimms-iso-tools { }; @@ -9840,6 +9831,8 @@ with pkgs; keyfuzz = callPackage ../tools/inputmethods/keyfuzz { }; + keymapp = callPackage ../applications/misc/keymapp { }; + keyscope = callPackage ../tools/security/keyscope { inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation IOKit Security; }; @@ -11220,9 +11213,8 @@ with pkgs; grocy = callPackage ../servers/grocy { }; inherit (callPackage ../servers/nextcloud {}) - nextcloud25 nextcloud26 nextcloud27 nextcloud28; + nextcloud26 nextcloud27 nextcloud28; - nextcloud25Packages = throw "Nextcloud25 is EOL!"; nextcloud26Packages = callPackage ../servers/nextcloud/packages { apps = lib.importJSON ../servers/nextcloud/packages/26.json; }; @@ -26216,7 +26208,6 @@ with pkgs; mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd { }; - mod_evasive = throw "mod_evasive is not supported on Apache httpd 2.4"; mod_perl = callPackage ../servers/http/apache-modules/mod_perl { }; @@ -26226,8 +26217,6 @@ with pkgs; mod_tile = callPackage ../servers/http/apache-modules/mod_tile { }; - mod_wsgi = self.mod_wsgi2; - mod_wsgi2 = throw "mod_wsgi2 has been removed since Python 2 is EOL. Use mod_wsgi3 instead"; mod_wsgi3 = callPackage ../servers/http/apache-modules/mod_wsgi { }; mod_itk = callPackage ../servers/http/apache-modules/mod_itk { }; @@ -26237,6 +26226,10 @@ with pkgs; php = pkgs.php.override { inherit apacheHttpd; }; subversion = pkgs.subversion.override { httpServer = true; inherit apacheHttpd; }; + } // lib.optionalAttrs config.allowAliases { + mod_evasive = throw "mod_evasive is not supported on Apache httpd 2.4"; + mod_wsgi = self.mod_wsgi2; + mod_wsgi2 = throw "mod_wsgi2 has been removed since Python 2 is EOL. Use mod_wsgi3 instead"; }; apacheHttpdPackages_2_4 = recurseIntoAttrs (apacheHttpdPackagesFor apacheHttpd_2_4 apacheHttpdPackages_2_4); @@ -26706,20 +26699,6 @@ with pkgs; mkchromecast = libsForQt5.callPackage ../applications/networking/mkchromecast { }; - # Backwards compatibility. - mod_dnssd = apacheHttpdPackages.mod_dnssd; - mod_fastcgi = apacheHttpdPackages.mod_fastcgi; - mod_python = apacheHttpdPackages.mod_python; - mod_wsgi = apacheHttpdPackages.mod_wsgi; - mod_ca = apacheHttpdPackages.mod_ca; - mod_crl = apacheHttpdPackages.mod_crl; - mod_csr = apacheHttpdPackages.mod_csr; - mod_ocsp = apacheHttpdPackages.mod_ocsp; - mod_scep = apacheHttpdPackages.mod_scep; - mod_spkac = apacheHttpdPackages.mod_spkac; - mod_pkcs12 = apacheHttpdPackages.mod_pkcs12; - mod_timestamp = apacheHttpdPackages.mod_timestamp; - inherit (callPackages ../servers/mpd { inherit (darwin.apple_sdk.frameworks) AudioToolbox AudioUnit; }) mpd mpd-small mpdWithFeatures; @@ -27227,6 +27206,7 @@ with pkgs; prometheus-pgbouncer-exporter = callPackage ../servers/monitoring/prometheus/pgbouncer-exporter.nix { }; prometheus-php-fpm-exporter = callPackage ../servers/monitoring/prometheus/php-fpm-exporter.nix { }; prometheus-pihole-exporter = callPackage ../servers/monitoring/prometheus/pihole-exporter.nix { }; + prometheus-ping-exporter = callPackage ../servers/monitoring/prometheus/ping-exporter.nix { }; prometheus-postfix-exporter = callPackage ../servers/monitoring/prometheus/postfix-exporter.nix { }; prometheus-postgres-exporter = callPackage ../servers/monitoring/prometheus/postgres-exporter.nix { }; prometheus-process-exporter = callPackage ../servers/monitoring/prometheus/process-exporter.nix { }; @@ -30137,6 +30117,8 @@ with pkgs; template-glib = callPackage ../development/libraries/template-glib { }; + templ = callPackage ../development/tools/templ { }; + tempora_lgc = callPackage ../data/fonts/tempora-lgc { }; tenderness = callPackage ../data/fonts/tenderness { }; @@ -37023,12 +37005,6 @@ with pkgs; cgminer = callPackage ../applications/blockchains/cgminer { }; - chia = throw "chia has been removed. see https://github.com/NixOS/nixpkgs/pull/270254"; - - chia-dev-tools = throw "chia-dev-tools has been removed. see https://github.com/NixOS/nixpkgs/pull/270254"; - - chia-plotter = throw "chia-plotter has been removed. see https://github.com/NixOS/nixpkgs/pull/270254"; - clboss = callPackage ../applications/blockchains/clboss { }; clightning = callPackage ../applications/blockchains/clightning { }; @@ -40760,11 +40736,6 @@ with pkgs; nix-universal-prefetch = callPackage ../tools/package-management/nix-universal-prefetch { }; - nix-repl = throw ( - "nix-repl has been removed because it's not maintained anymore, " + - "use `nix repl` instead. Also see https://github.com/NixOS/nixpkgs/pull/44903" - ); - nixpkgs-review = callPackage ../tools/package-management/nixpkgs-review { }; nix-serve = callPackage ../tools/package-management/nix-serve { };