diff --git a/ci/OWNERS b/ci/OWNERS index d43870578572..bf6e070d80e4 100644 --- a/ci/OWNERS +++ b/ci/OWNERS @@ -102,6 +102,7 @@ nixos/modules/installer/tools/nix-fallback-paths.nix @NixOS/nix-team @raitobeza /nixos/default.nix @infinisil /nixos/lib/from-env.nix @infinisil /nixos/lib/eval-config.nix @infinisil +/nixos/modules/misc/ids.nix @R-VdP /nixos/modules/system/activation/bootspec.nix @grahamc @cole-h @raitobezarius /nixos/modules/system/activation/bootspec.cue @grahamc @cole-h @raitobezarius diff --git a/nixos/doc/manual/release-notes/rl-2505.section.md b/nixos/doc/manual/release-notes/rl-2505.section.md index db753bbdf4ae..1caa762d4ebf 100644 --- a/nixos/doc/manual/release-notes/rl-2505.section.md +++ b/nixos/doc/manual/release-notes/rl-2505.section.md @@ -55,6 +55,8 @@ - [Bat](https://github.com/sharkdp/bat), a {manpage}`cat(1)` clone with wings. Available as [programs.bat](options.html#opt-programs.bat). +- [µStreamer](https://github.com/pikvm/ustreamer), a lightweight MJPEG-HTTP streamer. Available as [services.ustreamer](options.html#opt-services.ustreamer). + - [Whoogle Search](https://github.com/benbusby/whoogle-search), a self-hosted, ad-free, privacy-respecting metasearch engine. Available as [services.whoogle-search](options.html#opt-services.whoogle-search.enable). - [agorakit](https://github.com/agorakit/agorakit), an organization tool for citizens' collectives. Available with [services.agorakit](options.html#opt-services.agorakit.enable). diff --git a/nixos/modules/hardware/uinput.nix b/nixos/modules/hardware/uinput.nix index 1845d9cfe565..0adc00e05f96 100644 --- a/nixos/modules/hardware/uinput.nix +++ b/nixos/modules/hardware/uinput.nix @@ -11,7 +11,7 @@ in config = lib.mkIf cfg.enable { boot.kernelModules = [ "uinput" ]; - users.groups.uinput.gid = config.ids.gids.uinput; + users.groups.uinput = { }; services.udev.extraRules = '' SUBSYSTEM=="misc", KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput" diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index d1347766420a..fcdffc520967 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -2,12 +2,15 @@ # central list to prevent id collisions. # IMPORTANT! -# We only add static uids and gids for services where it is not feasible -# to change uids/gids on service start, for example a service with a lot of -# files. Please also check if the service is applicable for systemd's -# DynamicUser option and does not need a uid/gid allocation at all. -# Systemd can also change ownership of service directories using the -# RuntimeDirectory/StateDirectory options. +# +# https://github.com/NixOS/rfcs/blob/master/rfcs/0052-dynamic-ids.md +# +# Use of static ids is deprecated within NixOS. Dynamic allocation is +# required, barring special circumstacnes. Please check if the service +# is applicable for systemd's DynamicUser option and does not need a +# uid/gid allocation at all. Systemd can also change ownership of +# service directories using the RuntimeDirectory/StateDirectory +# options. { lib, ... }: @@ -355,7 +358,6 @@ in rstudio-server = 324; localtimed = 325; automatic-timezoned = 326; - whisparr = 328; # When adding a uid, make sure it doesn't match an existing gid. # @@ -683,8 +685,6 @@ in rstudio-server = 324; localtimed = 325; automatic-timezoned = 326; - uinput = 327; - whisparr = 328; # When adding a gid, make sure it doesn't match an existing # uid. Users and groups with the same name should have equal diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index ae286756200c..9fe8e3be6477 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1417,6 +1417,7 @@ ./services/video/mirakurun.nix ./services/video/photonvision.nix ./services/video/mediamtx.nix + ./services/video/ustreamer.nix ./services/video/v4l2-relayd.nix ./services/video/wivrn.nix ./services/wayland/cage.nix diff --git a/nixos/modules/services/misc/whisparr.nix b/nixos/modules/services/misc/whisparr.nix index 8594a682ec9f..bf15ee70fde4 100644 --- a/nixos/modules/services/misc/whisparr.nix +++ b/nixos/modules/services/misc/whisparr.nix @@ -64,10 +64,10 @@ in whisparr = { group = cfg.group; home = cfg.dataDir; - uid = config.ids.uids.whisparr; + isSystemUser = true; }; }; - users.groups = lib.mkIf (cfg.group == "whisparr") { whisparr.gid = config.ids.gids.whisparr; }; + users.groups.whisparr = lib.mkIf (cfg.group == "whisparr") { }; }; } diff --git a/nixos/modules/services/video/ustreamer.nix b/nixos/modules/services/video/ustreamer.nix new file mode 100644 index 000000000000..d32818fa3ab3 --- /dev/null +++ b/nixos/modules/services/video/ustreamer.nix @@ -0,0 +1,110 @@ +{ + config, + lib, + pkgs, + utils, + ... +}: +let + inherit (lib) + getExe + mkEnableOption + mkIf + mkOption + mkPackageOption + optionals + types + ; + + cfg = config.services.ustreamer; +in +{ + options.services.ustreamer = { + enable = mkEnableOption "µStreamer, a lightweight MJPEG-HTTP streamer"; + + package = mkPackageOption pkgs "ustreamer" { }; + + autoStart = mkOption { + description = '' + Wether to start µStreamer on boot. Disabling this will use socket + activation. The service will stop gracefully after some inactivity. + Disabling this will set `--exit-on-no-clients=300` + ''; + type = types.bool; + default = true; + example = false; + }; + + listenAddress = mkOption { + description = '' + Address to expose the HTTP server. This accepts values for + ListenStream= defined in {manpage}`systemd.socket(5)` + ''; + type = types.str; + default = "0.0.0.0:8080"; + example = "/run/ustreamer.sock"; + }; + + device = mkOption { + description = '' + The v4l2 device to stream. + ''; + type = types.path; + default = "/dev/video0"; + example = "/dev/v4l/by-id/usb-0000_Dummy_abcdef-video-index0"; + }; + + extraArgs = mkOption { + description = '' + Extra arguments to pass to `ustreamer`. See {manpage}`ustreamer(1)` + ''; + type = with types; listOf str; + default = [ ]; + example = [ "--resolution=1920x1080" ]; + }; + }; + + config = mkIf cfg.enable { + services.ustreamer.extraArgs = + [ + "--device=${cfg.device}" + ] + ++ optionals (!cfg.autoStart) [ + "--exit-on-no-clients=300" + ]; + + systemd.services."ustreamer" = { + description = "µStreamer, a lightweight MJPEG-HTTP streamer"; + after = [ "network.target" ]; + requires = [ "ustreamer.socket" ]; + wantedBy = mkIf cfg.autoStart [ "multi-user.target" ]; + serviceConfig = { + ExecStart = utils.escapeSystemdExecArgs ( + [ + (getExe cfg.package) + "--systemd" + ] + ++ cfg.extraArgs + ); + Restart = if cfg.autoStart then "always" else "on-failure"; + + DynamicUser = true; + SupplementaryGroups = [ "video" ]; + + NoNewPrivileges = true; + ProcSubset = "pid"; + ProtectProc = "noaccess"; + ProtectClock = "yes"; + DeviceAllow = [ cfg.device ]; + }; + }; + + systemd.sockets."ustreamer" = { + wantedBy = [ "sockets.target" ]; + partOf = [ "ustreamer.service" ]; + socketConfig = { + ListenStream = cfg.listenAddress; + }; + }; + }; +} diff --git a/nixos/modules/virtualisation/podman/default.nix b/nixos/modules/virtualisation/podman/default.nix index 7f299b2be94c..bfaefb0eecf6 100644 --- a/nixos/modules/virtualisation/podman/default.nix +++ b/nixos/modules/virtualisation/podman/default.nix @@ -5,29 +5,18 @@ let inherit (lib) mkOption types; - podmanPackage = pkgs.podman.override { - extraPackages = cfg.extraPackages ++ [ - "/run/wrappers" # setuid shadow - config.systemd.package # To allow systemd-based container healthchecks - ] ++ lib.optional (config.boot.supportedFilesystems.zfs or false) config.boot.zfs.package; - extraRuntimes = [ pkgs.runc ] - ++ lib.optionals (config.virtualisation.containers.containersConf.settings.network.default_rootless_network_cmd or "" == "slirp4netns") (with pkgs; [ - slirp4netns - ]); - }; - # Provides a fake "docker" binary mapping to podman - dockerCompat = pkgs.runCommand "${podmanPackage.pname}-docker-compat-${podmanPackage.version}" + dockerCompat = pkgs.runCommand "${cfg.package.pname}-docker-compat-${cfg.package.version}" { outputs = [ "out" "man" ]; - inherit (podmanPackage) meta; + inherit (cfg.package) meta; preferLocalBuild = true; } '' mkdir -p $out/bin - ln -s ${podmanPackage}/bin/podman $out/bin/docker + ln -s ${cfg.package}/bin/podman $out/bin/docker mkdir -p $man/share/man/man1 - for f in ${podmanPackage.man}/share/man/man1/*; do + for f in ${cfg.package.man}/share/man/man1/*; do basename=$(basename $f | sed s/podman/docker/g) ln -s $f $man/share/man/man1/$basename done @@ -137,13 +126,21 @@ in }; }; - package = lib.mkOption { - type = types.package; - default = podmanPackage; - internal = true; - description = '' - The final Podman package (including extra packages). + package = (lib.mkPackageOption pkgs "podman" { + extraDescription = '' + This package will automatically include extra packages and runtimes. ''; + }) // { + apply = pkg: pkg.override { + extraPackages = cfg.extraPackages ++ [ + "/run/wrappers" # setuid shadow + config.systemd.package # To allow systemd-based container healthchecks + ] ++ lib.optional (config.boot.supportedFilesystems.zfs or false) config.boot.zfs.package; + extraRuntimes = [ pkgs.runc ] + ++ lib.optionals (config.virtualisation.containers.containersConf.settings.network.default_rootless_network_cmd or "" == "slirp4netns") (with pkgs; [ + slirp4netns + ]); + }; }; defaultNetwork.settings = lib.mkOption { diff --git a/nixos/tests/ustreamer.nix b/nixos/tests/ustreamer.nix index 12793ff8451d..a47dc42c0c66 100644 --- a/nixos/tests/ustreamer.nix +++ b/nixos/tests/ustreamer.nix @@ -46,22 +46,13 @@ import ./make-test-python.nix ( ''; in { - environment.systemPackages = [ pkgs.ustreamer ]; - networking.firewall.enable = false; - systemd.services.ustreamer = { - description = "ustreamer service"; - wantedBy = [ "multi-user.target" ]; - serviceConfig = { - DynamicUser = true; - ExecStart = "${pkgs.ustreamer}/bin/ustreamer --host=0.0.0.0 --port 8000 --device /dev/video9 --device-timeout=8"; - PrivateTmp = true; - BindReadOnlyPaths = "/dev/video9"; - SupplementaryGroups = [ - "video" - ]; - Restart = "always"; - }; + services.ustreamer = { + enable = true; + device = "/dev/video9"; + extraArgs = [ "--device-timeout=8" ]; }; + networking.firewall.allowedTCPPorts = [ 8080 ]; + boot.extraModulePackages = [ config.boot.kernelPackages.akvcam ]; boot.kernelModules = [ "akvcam" ]; boot.extraModprobeConfig = '' @@ -74,10 +65,10 @@ import ./make-test-python.nix ( start_all() camera.wait_for_unit("ustreamer.service") - camera.wait_for_open_port(8000) + camera.wait_for_open_port(8080) client.wait_for_unit("multi-user.target") - client.succeed("curl http://camera:8000") + client.succeed("curl http://camera:8080") ''; } ) diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 8997249a61fb..f1987a4d746b 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -1381,10 +1381,10 @@ in dependencies = [ self.vim-floaterm ]; }; - lightline-bufferline = super.lightline-bufferline.overrideAttrs { + lightline-bufferline = super.lightline-bufferline.overrideAttrs (oa: { # Requires web-devicons but mini.icons can mock them up - nativeCheckInputs = [ self.nvim-web-devicons ]; - }; + nativeCheckInputs = oa.nativeCheckInputs ++ [ self.nvim-web-devicons ]; + }); lir-nvim = super.lir-nvim.overrideAttrs { dependencies = [ self.plenary-nvim ]; @@ -2118,10 +2118,10 @@ in ]; }; - nvim-nonicons = super.nvim-nonicons.overrideAttrs { + nvim-nonicons = super.nvim-nonicons.overrideAttrs (oa: { # Requires web-devicons but mini.icons can mock them up - nativeCheckInputs = [ self.nvim-web-devicons ]; - }; + nativeCheckInputs = oa.nativeCheckInputs ++ [ self.nvim-web-devicons ]; + }); nvim-nu = super.nvim-nu.overrideAttrs { dependencies = with self; [ diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix index 62ba3b369e90..4f1d4bec8930 100644 --- a/pkgs/applications/networking/gns3/default.nix +++ b/pkgs/applications/networking/gns3/default.nix @@ -12,25 +12,26 @@ in { guiStable = mkGui { channel = "stable"; - version = "2.2.50"; - hash = "sha256-A6aLp/fN/0u5VIOX6d0QrZ2zWuNPvhI1xfw7cKU9jRA="; + version = "2.2.51"; + hash = "sha256-HXuhaJEcr33qYm2v/wFqnO7Ba4lyZgSzvh6dkNZX9XI="; }; guiPreview = mkGui { channel = "stable"; - version = "2.2.50"; - hash = "sha256-A6aLp/fN/0u5VIOX6d0QrZ2zWuNPvhI1xfw7cKU9jRA="; + version = "2.2.51"; + hash = "sha256-HXuhaJEcr33qYm2v/wFqnO7Ba4lyZgSzvh6dkNZX9XI="; }; serverStable = mkServer { channel = "stable"; - version = "2.2.50"; - hash = "sha256-m5Od3IPn31JaFOtilKh79aISH4lRd+KatSLRqsF8n4Y="; + version = "2.2.51"; + hash = "sha256-Yw6RvHZzVU2wWXVxvuIu7GLFyqjakwqJ0EV6H0ZdVcQ="; }; serverPreview = mkServer { channel = "stable"; - version = "2.2.50"; - hash = "sha256-m5Od3IPn31JaFOtilKh79aISH4lRd+KatSLRqsF8n4Y="; + version = "2.2.51"; + hash = "sha256-Yw6RvHZzVU2wWXVxvuIu7GLFyqjakwqJ0EV6H0ZdVcQ="; }; } + diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 791c0308c227..025a295d5e9a 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -56,16 +56,6 @@ assert lib.assertMsg (xenSupport -> hostCpuTargets == [ "i386-softmmu" ]) "Xen s let hexagonSupport = hostCpuTargets == null || lib.elem "hexagon" hostCpuTargets; - - buildPlatformStdenv = - if stdenv.buildPlatform.isDarwin then - overrideSDK buildPackages.stdenv { - # Keep these values in sync with `all-packages.nix`. - darwinSdkVersion = "12.3"; - darwinMinVersion = "12.0"; - } - else - buildPackages.stdenv; in stdenv.mkDerivation (finalAttrs: { @@ -82,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-+FnwvGXh9TPQQLvoySvP7O5a8skhpmh8ZS+0TQib2JQ="; }; - depsBuildBuild = [ buildPlatformStdenv.cc ] + depsBuildBuild = [ buildPackages.stdenv.cc ] ++ lib.optionals hexagonSupport [ pkg-config ]; nativeBuildInputs = [ diff --git a/pkgs/by-name/ac/acpica-tools/package.nix b/pkgs/by-name/ac/acpica-tools/package.nix index 9ded739e9245..dccf6f5122b9 100644 --- a/pkgs/by-name/ac/acpica-tools/package.nix +++ b/pkgs/by-name/ac/acpica-tools/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "acpica-tools"; - version = "R09_27_24"; + version = "R2024_12_12"; src = fetchFromGitHub { owner = "acpica"; repo = "acpica"; rev = "refs/tags/${finalAttrs.version}"; - hash = "sha256-kjdSCGa/2mmODX0gsY9JzSx9PJqYoKjtJTn8y4uduIQ="; + hash = "sha256-vxiWYUAEk54F1M0WrrMTHZ4DNJxxT/GaXetd5LjE808="; }; nativeBuildInputs = [ diff --git a/pkgs/tools/networking/edgedb/0001-dynamically-patchelf-binaries.patch b/pkgs/by-name/ed/edgedb/0001-dynamically-patchelf-binaries.patch similarity index 100% rename from pkgs/tools/networking/edgedb/0001-dynamically-patchelf-binaries.patch rename to pkgs/by-name/ed/edgedb/0001-dynamically-patchelf-binaries.patch diff --git a/pkgs/tools/networking/edgedb/default.nix b/pkgs/by-name/ed/edgedb/package.nix similarity index 90% rename from pkgs/tools/networking/edgedb/default.nix rename to pkgs/by-name/ed/edgedb/package.nix index e52c3b6dfc88..8d07257fdbcd 100644 --- a/pkgs/tools/networking/edgedb/default.nix +++ b/pkgs/by-name/ed/edgedb/package.nix @@ -16,19 +16,19 @@ }: rustPlatform.buildRustPackage rec { pname = "edgedb"; - version = "6.0.2"; + version = "6.1.0"; src = fetchFromGitHub { owner = "edgedb"; repo = "edgedb-cli"; rev = "refs/tags/v${version}"; - hash = "sha256-P55LwByDVO3pEzg4OZldXiyli8s5oHvV8MXCDwkF2+8="; + hash = "sha256-iB0ZWciEx/Xiq+pMg3nMJNHumoy5Z8dB6ev7UneHnVg="; fetchSubmodules = true; }; cargoDeps = rustPlatform.fetchCargoVendor { inherit pname version src; - hash = "sha256-oRtgORzp0tabPcyArPgG8LGfYlSPhpaeRPT9QWF5BGs="; + hash = "sha256-oiDCUJamnl2ykvfs7V20dvr29ZAtSl+kZW4fzmlc1Ao="; }; nativeBuildInputs = [ diff --git a/pkgs/misc/drivers/epsonscan2/build.patch b/pkgs/by-name/ep/epsonscan2/build.patch similarity index 89% rename from pkgs/misc/drivers/epsonscan2/build.patch rename to pkgs/by-name/ep/epsonscan2/build.patch index 6a916511b84a..e7b11ffdb7a3 100644 --- a/pkgs/misc/drivers/epsonscan2/build.patch +++ b/pkgs/by-name/ep/epsonscan2/build.patch @@ -64,20 +64,20 @@ index 387561e..15448ad 100644 static const int kMaxBuf = 256; diff --git a/src/Controller/Src/Scanner/Engine.cpp b/src/Controller/Src/Scanner/Engine.cpp -index 9489d4b..670bad9 100644 +index 8bd842e..d011329 100755 --- a/src/Controller/Src/Scanner/Engine.cpp +++ b/src/Controller/Src/Scanner/Engine.cpp -@@ -263,8 +263,8 @@ SDIError Engine::Open() - //kill es2netif - //kill es2intif - -- system("killall -9 -q es2netif > /dev/null"); -- system("killall -9 -q es2intif > /dev/null"); -+ system("@KILLALL@ -9 -q es2netif > /dev/null"); -+ system("@KILLALL@ -9 -q es2intif > /dev/null"); - - if (engine_) { - return ExchangeError(engine_->Open()); +@@ -210,8 +210,8 @@ bool Engine::InitWithDeviceInfoDict(const char *deviceInfo) { + SDIError Engine::Open() + { + SDI_TRACE_LOG("Enter"); +- system("killall -9 -q es2netif > /dev/null"); +- system("killall -9 -q es2intif > /dev/null"); ++ system("@KILLALL@ -9 -q es2netif > /dev/null"); ++ system("@KILLALL@ -9 -q es2intif > /dev/null"); + if (engine_) { + return ExchangeError(engine_->Open()); + } diff --git a/src/Standalone/CMakeLists.txt b/src/Standalone/CMakeLists.txt index eff3dd3..c2b3803 100644 --- a/src/Standalone/CMakeLists.txt diff --git a/pkgs/by-name/ep/epsonscan2/gcc14.patch b/pkgs/by-name/ep/epsonscan2/gcc14.patch new file mode 100644 index 000000000000..803977574d0a --- /dev/null +++ b/pkgs/by-name/ep/epsonscan2/gcc14.patch @@ -0,0 +1,37 @@ +diff --git a/thirdparty/zlib/gzlib.c b/thirdparty/zlib/gzlib.c +index 4105e6a..eae3a38 100644 +--- a/thirdparty/zlib/gzlib.c ++++ b/thirdparty/zlib/gzlib.c +@@ -3,6 +3,7 @@ + * For conditions of distribution and use, see copyright notice in zlib.h + */ + ++#include + #include "gzguts.h" + + #if defined(_WIN32) && !defined(__BORLANDC__) && !defined(__MINGW32__) +diff --git a/thirdparty/zlib/gzread.c b/thirdparty/zlib/gzread.c +index 956b91e..66089b6 100644 +--- a/thirdparty/zlib/gzread.c ++++ b/thirdparty/zlib/gzread.c +@@ -3,6 +3,7 @@ + * For conditions of distribution and use, see copyright notice in zlib.h + */ + ++#include + #include "gzguts.h" + + /* Local functions */ +diff --git a/thirdparty/zlib/gzwrite.c b/thirdparty/zlib/gzwrite.c +index c7b5651..e685f3e 100644 +--- a/thirdparty/zlib/gzwrite.c ++++ b/thirdparty/zlib/gzwrite.c +@@ -3,6 +3,7 @@ + * For conditions of distribution and use, see copyright notice in zlib.h + */ + ++#include + #include "gzguts.h" + + /* Local functions */ + \ No newline at end of file diff --git a/pkgs/misc/drivers/epsonscan2/default.nix b/pkgs/by-name/ep/epsonscan2/package.nix similarity index 70% rename from pkgs/misc/drivers/epsonscan2/default.nix rename to pkgs/by-name/ep/epsonscan2/package.nix index a13f4da4daec..e606db517226 100644 --- a/pkgs/misc/drivers/epsonscan2/default.nix +++ b/pkgs/by-name/ep/epsonscan2/package.nix @@ -25,26 +25,20 @@ let pname = "epsonscan2"; description = "Epson Scan 2 scanner driver for many modern Epson scanners and multifunction printers"; - version = "6.7.63.0"; + version = "6.7.70.0"; system = stdenv.hostPlatform.system; src = fetchzip { - url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/69/0ef02802c476a6564f13cac929859c394f40326a/epsonscan2-6.7.63.0-1.src.tar.gz"; - hash = "sha256-ZLnbIk0I7g6ext5anPD+/lD4qNlk6f2fL0xdIWLcfbY="; + url = "https://download3.ebz.epson.net/dsc/f/03/00/16/14/37/7577ee65efdad48ee2d2f38d9eda75418e490552/epsonscan2-6.7.70.0-1.src.tar.gz"; + hash = "sha256-y7XGxrOpVou/ZSfUffV3qv+SsFFpTiU7pWvtfsiLZWc="; }; bundle = { - "i686-linux" = fetchzip { - name = "${pname}-bundle"; - url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/67/ceae6a02aaa81cb61012899987fbb5ab891b6ab2/epsonscan2-bundle-6.7.63.0.i686.deb.tar.gz"; - hash = "sha256-h9beAzNdjOhTlZqW0rJbSQXGOpvFRGvTcWw0ZtOqiYY="; - }; - "x86_64-linux" = fetchzip { name = "${pname}-bundle"; - url = "https://download3.ebz.epson.net/dsc/f/03/00/15/17/68/050e5a55ed90f4efb4ca3bdd34e5797b149443ca/epsonscan2-bundle-6.7.63.0.x86_64.deb.tar.gz"; - hash = "sha256-+S17FfS2h4zZCvE6W+yZvdJb6+OWYTt0ZWCA+pe1NZc="; + url = "https://download3.ebz.epson.net/dsc/f/03/00/16/14/38/7b1780ace96e2c6033bbb667c7f3ed281e4e9f38/epsonscan2-bundle-6.7.70.0.x86_64.deb.tar.gz"; + hash = "sha256-fPNNFgW/VU/YG+jjmSvPZ0WsHibsXY1TNp164GxLHKw="; }; } ."${system}" or (throw "Unsupported system: ${system}"); @@ -55,26 +49,29 @@ stdenv.mkDerivation { patches = [ ./build.patch + ./gcc14.patch (fetchpatch { - url = "https://github.com/flathub/net.epson.epsonscan2/raw/master/patches/epsonscan2-crash.patch"; - hash = "sha256-srMxlFfnZuJ3ed5veFcJIiZuW27F/3xOS0yr4ywn4FI="; + url = "https://raw.githubusercontent.com/flathub/net.epson.epsonscan2/a489ac2f8cbd03afeda86673930cc17663c31a53/patches/0002-Fix-crash.patch"; + hash = "sha256-rNsFnHq//CJcIZl0M6RLRkIY3YhnJZbikO8SeeC2ktg="; }) (fetchpatch { - url = "https://raw.githubusercontent.com/flathub/net.epson.epsonscan2/master/patches/epsonscan2-oob-container.patch"; - hash = "sha256-FhXZT0bIBYwdFow2USRJl8Q7j2eqpq98Hh0lHFQlUQY="; + url = "https://raw.githubusercontent.com/flathub/net.epson.epsonscan2/a489ac2f8cbd03afeda86673930cc17663c31a53/patches/0004-Fix-a-crash-on-an-OOB-container-access.patch"; + hash = "sha256-WmA8pmPSJ1xUdeBbE8Jzi6w9p96aIOm0erF3T4EQ6VA="; }) (fetchpatch { - url = "https://raw.githubusercontent.com/flathub/net.epson.epsonscan2/master/patches/epsonscan2-xdg-open.patch"; - hash = "sha256-4ih3vZjPwWiiAxKfpLIwbbsk1K2oXSuxGbT5PVwfUsc="; + url = "https://raw.githubusercontent.com/flathub/net.epson.epsonscan2/a489ac2f8cbd03afeda86673930cc17663c31a53/patches/0003-Use-XDG-open-to-open-the-directory.patch"; + hash = "sha256-H3lle1SXkkpbBkozYEwiX0z9oTUubTpB+l91utxH03M="; }) ]; postPatch = '' + rm CMakeCache.txt + substituteInPlace src/Controller/Src/Scanner/Engine.cpp \ - --replace '@KILLALL@' ${killall}/bin/killall + --replace-fail '@KILLALL@' ${killall}/bin/killall substituteInPlace src/Controller/Src/Filter/GetOrientation.cpp \ - --replace '@OCR_ENGINE_GETROTATE@' $out/libexec/epsonscan2-ocr/ocr-engine-getrotate + --replace-fail '@OCR_ENGINE_GETROTATE@' $out/libexec/epsonscan2-ocr/ocr-engine-getrotate ''; nativeBuildInputs = @@ -127,8 +124,8 @@ stdenv.mkDerivation { + lib.optionalString withGui '' # The icon file extension is .ico but it's actually a png! mkdir -p $out/share/icons/hicolor/{48x48,128x128}/apps - convert $src/Resources/Icons/escan2_app.ico -resize 48x48 $out/share/icons/hicolor/48x48/apps/epsonscan2.png - convert $src/Resources/Icons/escan2_app.ico -resize 128x128 $out/share/icons/hicolor/128x128/apps/epsonscan2.png + magick $src/Resources/Icons/escan2_app.ico -resize 48x48 -delete 1,2,3 $out/share/icons/hicolor/48x48/apps/epsonscan2.png + magick $src/Resources/Icons/escan2_app.ico -resize 128x128 -delete 1,2,3 $out/share/icons/hicolor/128x128/apps/epsonscan2.png '' + lib.optionalString withNonFreePlugins '' ar xf ${bundle}/plugins/epsonscan2-non-free-plugin_*.deb @@ -170,10 +167,7 @@ stdenv.mkDerivation { ''; homepage = "https://support.epson.net/linux/en/epsonscan2.php"; - platforms = [ - "i686-linux" - "x86_64-linux" - ]; + platforms = [ "x86_64-linux" ]; sourceProvenance = with lib.sourceTypes; [ fromSource ] ++ lib.optionals withNonFreePlugins [ binaryNativeCode ]; diff --git a/pkgs/by-name/jw/jwtinfo/package.nix b/pkgs/by-name/jw/jwtinfo/package.nix new file mode 100644 index 000000000000..ad26d3b9ae99 --- /dev/null +++ b/pkgs/by-name/jw/jwtinfo/package.nix @@ -0,0 +1,30 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, +}: +let + pname = "jwtinfo"; + version = "0.4.4"; +in +rustPlatform.buildRustPackage { + inherit pname version; + + src = fetchFromGitHub { + owner = "lmammino"; + repo = "jwtinfo"; + rev = "v${version}"; + hash = "sha256-FDN9K7KnMro2BluHB7I0HTDdT9YXxi8UcOoBhKx/5dA="; + }; + + cargoHash = "sha256-iGvwuLiF8yGb4IxBxGH0M79SlNqZ5lpsXTNiVT7VGrU="; + + meta = { + description = "Command-line tool to get information about JWTs"; + homepage = "https://github.com/lmammino/jwtinfo"; + changelog = "https://github.com/lmammino/jwtinfo/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ luftmensch-luftmensch ]; + mainProgram = "jwtinfo"; + }; +} diff --git a/pkgs/by-name/mi/mise/package.nix b/pkgs/by-name/mi/mise/package.nix index 4627080956cf..976d1b9357bb 100644 --- a/pkgs/by-name/mi/mise/package.nix +++ b/pkgs/by-name/mi/mise/package.nix @@ -20,16 +20,16 @@ rustPlatform.buildRustPackage rec { pname = "mise"; - version = "2024.12.6"; + version = "2024.12.17"; src = fetchFromGitHub { owner = "jdx"; repo = "mise"; rev = "v${version}"; - hash = "sha256-VAevON40XWME9L4dHCuatg0ngzNBnhMUy9OAXPdJJdk="; + hash = "sha256-kdI7GEtUlVUJYN7ch8RjG1aWBMDkvLkdUGfyqWv4yAQ="; }; - cargoHash = "sha256-fmvQNmMk6QMsPRUwLnqSNuJikH0QMNjA088Kb7TzUZ4="; + cargoHash = "sha256-7ORbX2rWZ4tuf7qQo5lwTpHGFNCpo8R5ywJDdBjZcMU="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/n8/n8n/package.nix b/pkgs/by-name/n8/n8n/package.nix index 83cbd4fa8fa9..e7cc40da693b 100644 --- a/pkgs/by-name/n8/n8n/package.nix +++ b/pkgs/by-name/n8/n8n/package.nix @@ -18,18 +18,18 @@ stdenv.mkDerivation (finalAttrs: { pname = "n8n"; - version = "1.70.1"; + version = "1.72.1"; src = fetchFromGitHub { owner = "n8n-io"; repo = "n8n"; rev = "n8n@${finalAttrs.version}"; - hash = "sha256-acbC6MO2wM9NsjqUqcs8jPNHfBg/P0wEYF5MxbnFhQQ="; + hash = "sha256-GIA2y81nuKWe1zuZQ99oczQtQWStyT1Qh3bZ1oe8me4="; }; pnpmDeps = pnpm.fetchDeps { inherit (finalAttrs) pname version src; - hash = "sha256-h2hIOVK9H5OlyhyyoRs113CbE4z4SIxVVPha0Ia9I4A="; + hash = "sha256-riuN7o+uUXS5G7fMgE7cZhGWHZtGwSHm4CP7G46R5Cw="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/pf/pfetch/package.nix b/pkgs/by-name/pf/pfetch/package.nix index 3dbb2865ce42..a78dcd9d4edd 100644 --- a/pkgs/by-name/pf/pfetch/package.nix +++ b/pkgs/by-name/pf/pfetch/package.nix @@ -1,18 +1,20 @@ { - stdenvNoCC, lib, + stdenvNoCC, fetchFromGitHub, + gitUpdater, + versionCheckHook, }: stdenvNoCC.mkDerivation rec { pname = "pfetch"; - version = "0.6.0"; + version = "1.7.0"; src = fetchFromGitHub { - owner = "dylanaraps"; + owner = "Un1q32"; repo = "pfetch"; - rev = version; - sha256 = "06z0k1naw3k052p2z7241lx92rp5m07zlr0alx8pdm6mkc3c4v8f"; + tag = version; + hash = "sha256-omI1Y1UKxSkg1QUd/GHHuGBwxfNOtxqYpzPbJdG7j3A="; }; dontBuild = true; @@ -21,12 +23,26 @@ stdenvNoCC.mkDerivation rec { install -Dm755 -t $out/bin pfetch ''; - meta = with lib; { + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = [ "--version" ]; + doInstallCheck = true; + + passthru = { + updateScript = gitUpdater { }; + }; + + meta = { description = "Pretty system information tool written in POSIX sh"; - homepage = "https://github.com/dylanaraps/pfetch"; - license = licenses.mit; - platforms = platforms.all; - maintainers = with maintainers; [ equirosa ]; + homepage = "https://github.com/Un1q32/pfetch"; + changelog = "https://github.com/Un1q32/pfetch/releases/tag/${version}"; + license = lib.licenses.mit; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ + equirosa + phanirithvij + ]; mainProgram = "pfetch"; }; } diff --git a/pkgs/by-name/po/podman/package.nix b/pkgs/by-name/po/podman/package.nix index f014ae9f0bf2..3786188d9f0b 100644 --- a/pkgs/by-name/po/podman/package.nix +++ b/pkgs/by-name/po/podman/package.nix @@ -2,6 +2,7 @@ lib, stdenv, fetchFromGitHub, + fetchpatch2, pkg-config, installShellFiles, buildGoModule, @@ -91,6 +92,15 @@ buildGoModule rec { # we intentionally don't build and install the helper so we shouldn't display messages to users about it ./rm-podman-mac-helper-msg.patch + + # backport of fix for https://github.com/containers/storage/issues/2184 + # https://github.com/containers/storage/pull/2185 + (fetchpatch2 { + url = "https://github.com/containers/storage/commit/99b0d2d423c8093807d8a1464437152cd04d7d95.diff?full_index=1"; + hash = "sha256-aahYXnDf3qCOlb6MfVDqFKCcQG257r5sbh5qnL0T40I="; + stripLen = 1; + extraPrefix = "vendor/github.com/containers/storage/"; + }) ]; vendorHash = null; diff --git a/pkgs/by-name/re/renode-dts2repl/package.nix b/pkgs/by-name/re/renode-dts2repl/package.nix index d5649b163f6c..f749546b3271 100644 --- a/pkgs/by-name/re/renode-dts2repl/package.nix +++ b/pkgs/by-name/re/renode-dts2repl/package.nix @@ -7,14 +7,14 @@ python3.pkgs.buildPythonApplication { pname = "renode-dts2repl"; - version = "0-unstable-2024-12-12"; + version = "0-unstable-2024-12-20"; pyproject = true; src = fetchFromGitHub { owner = "antmicro"; repo = "dts2repl"; - rev = "7030a464003fedd3960f3a9d7810dc9c27d8f11a"; - hash = "sha256-saRVU7PPrceoro/vYNRDpfdmghDCWQn2CAukHT5aQcc="; + rev = "323cc41b6864e53cb1b99bf909c779b739a8fccb"; + hash = "sha256-CYgQ5CMVkHqOEPPaG74GVNhm8pa6ZpAtt54JrrDn+2M="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/rm/rmpc/package.nix b/pkgs/by-name/rm/rmpc/package.nix index ed25639833e2..9727352387b4 100644 --- a/pkgs/by-name/rm/rmpc/package.nix +++ b/pkgs/by-name/rm/rmpc/package.nix @@ -9,16 +9,16 @@ rustPlatform.buildRustPackage rec { pname = "rmpc"; - version = "0.6.0"; + version = "0.7.0"; src = fetchFromGitHub { owner = "mierak"; repo = "rmpc"; rev = "v${version}"; - hash = "sha256-hQhcNeGNxUxJ9hO/ukmt6V8V8zQHQLvejeu692pKTwg="; + hash = "sha256-IgkYUl1ccwzFgooqZGxmpJFzACEz3wmblostPsTnzSQ="; }; - cargoHash = "sha256-Y+NmBAcp6lu1dmMo1Gpozmm/YvNYM7mUAvU2C7iO0ew="; + cargoHash = "sha256-dNmHgPjZL+33kgA04+KQj42LrSXAFVQukml1Wy/HpHQ="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/sd/SDL_mixer/package.nix b/pkgs/by-name/sd/SDL_mixer/package.nix index d1c96b7c0e11..e42592d5bc58 100644 --- a/pkgs/by-name/sd/SDL_mixer/package.nix +++ b/pkgs/by-name/sd/SDL_mixer/package.nix @@ -4,7 +4,7 @@ fetchpatch, fetchurl, fluidsynth, - libmikmod, + libopenmpt-modplug, libogg, libvorbis, pkg-config, @@ -63,6 +63,12 @@ stdenv.mkDerivation (finalAttrs: { }) ]; + # Fix location of modplug header + postPatch = '' + substituteInPlace music_modplug.h \ + --replace-fail '#include "modplug.h"' '#include ' + ''; + nativeBuildInputs = [ SDL pkg-config @@ -72,7 +78,7 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ SDL fluidsynth - libmikmod + libopenmpt-modplug libogg libvorbis smpeg @@ -81,6 +87,7 @@ stdenv.mkDerivation (finalAttrs: { configureFlags = [ (lib.enableFeature false "music-ogg-shared") (lib.enableFeature false "music-mod-shared") + (lib.enableFeature true "music-mod-modplug") (lib.enableFeature enableNativeMidi "music-native-midi-gpl") (lib.enableFeature enableSdltest "sdltest") (lib.enableFeature enableSmpegtest "smpegtest") diff --git a/pkgs/by-name/si/simdutf/package.nix b/pkgs/by-name/si/simdutf/package.nix index 1c7378b084bd..06f75f403f8e 100644 --- a/pkgs/by-name/si/simdutf/package.nix +++ b/pkgs/by-name/si/simdutf/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "simdutf"; - version = "5.6.4"; + version = "5.7.1"; src = fetchFromGitHub { owner = "simdutf"; repo = "simdutf"; rev = "v${finalAttrs.version}"; - hash = "sha256-5MsNKsqHc4L2hCQW/LuJxKUmye6UV/IUEEMlRRMl2b8="; + hash = "sha256-CrWFs8fjgkvElbsvfS3jOyk1G+fBQB1lt63EvU6p11c="; }; # Fix build on darwin diff --git a/pkgs/by-name/te/temporal/package.nix b/pkgs/by-name/te/temporal/package.nix index 41f7a1e84be0..fcc38407a9d5 100644 --- a/pkgs/by-name/te/temporal/package.nix +++ b/pkgs/by-name/te/temporal/package.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "temporal"; - version = "1.25.2"; + version = "1.26.2"; src = fetchFromGitHub { owner = "temporalio"; repo = "temporal"; rev = "v${version}"; - hash = "sha256-+h/F2OjOD68WEblccl6SsfCkk4Ql53QvK9OIMfIS9Gg="; + hash = "sha256-tyMR0LpZDa1QbSe/Ba8fBhtRc8ZI+gwayfi7ZKDa8gI="; }; - vendorHash = "sha256-Xvh1dDUV8Eb/n8zugdkACGMsA+75wM8uQUwq4j1W1Zw="; + vendorHash = "sha256-Ljx0LocoowYwqy7MIumGnOcUwxpy+EY5rdTEehIq8Yo="; excludedPackages = [ "./build" ]; diff --git a/pkgs/by-name/us/ustreamer/package.nix b/pkgs/by-name/us/ustreamer/package.nix index 58dce6de7c9a..71c8c9a36a39 100644 --- a/pkgs/by-name/us/ustreamer/package.nix +++ b/pkgs/by-name/us/ustreamer/package.nix @@ -14,17 +14,20 @@ jansson, libopus, nixosTests, + systemdLibs, + which, + withSystemd ? true, withJanus ? true, }: stdenv.mkDerivation rec { pname = "ustreamer"; - version = "6.12"; + version = "6.18"; src = fetchFromGitHub { owner = "pikvm"; repo = "ustreamer"; rev = "v${version}"; - hash = "sha256-iaCgPHgklk7tbhJhQmyjKggb1bMWBD+Zurgfk9sCQ3E="; + hash = "sha256-VzhTfr0Swrv3jZUvBYYy5l0+iSokIztpeyA1CuG/roY="; }; buildInputs = @@ -34,6 +37,9 @@ stdenv.mkDerivation rec { libjpeg libdrm ] + ++ lib.optionals withSystemd [ + systemdLibs + ] ++ lib.optionals withJanus [ janus-gateway glib @@ -43,13 +49,19 @@ stdenv.mkDerivation rec { libopus ]; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + pkg-config + which + ]; makeFlags = [ "PREFIX=${placeholder "out"}" "WITH_V4P=1" ] + ++ lib.optionals withSystemd [ + "WITH_SYSTEMD=1" + ] ++ lib.optionals withJanus [ "WITH_JANUS=1" # Workaround issues with Janus C Headers @@ -77,5 +89,6 @@ stdenv.mkDerivation rec { matthewcroughan ]; platforms = platforms.linux; + mainProgram = "ustreamer"; }; } diff --git a/pkgs/by-name/ux/uxplay/package.nix b/pkgs/by-name/ux/uxplay/package.nix index e8430e5a9511..01b229669b30 100644 --- a/pkgs/by-name/ux/uxplay/package.nix +++ b/pkgs/by-name/ux/uxplay/package.nix @@ -15,13 +15,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "uxplay"; - version = "1.70"; + version = "1.71.1"; src = fetchFromGitHub { owner = "FDH2"; repo = "UxPlay"; rev = "v${finalAttrs.version}"; - hash = "sha256-5nKkQxoLe7g+fw65uVG0kiJHAEBB5B562bT3Smck1iA="; + hash = "sha256-qb/oYTScbHypwyo+znhDw8Mz5u+uhM8Jn6Gff3JK+Bc="; }; postPatch = '' diff --git a/pkgs/by-name/va/vault-ssh-plus/package.nix b/pkgs/by-name/va/vault-ssh-plus/package.nix index 9034e1ec93af..56d8a92197f4 100644 --- a/pkgs/by-name/va/vault-ssh-plus/package.nix +++ b/pkgs/by-name/va/vault-ssh-plus/package.nix @@ -9,16 +9,16 @@ }: buildGoModule rec { pname = "vault-ssh-plus"; - version = "0.7.6"; + version = "0.7.7"; src = fetchFromGitHub { owner = "isometry"; repo = pname; rev = "v${version}"; - hash = "sha256-bP1edeJj3BXsXZJn7/71AVMEnHvMi8jB4eNc5cpfxyE="; + hash = "sha256-l2Gr4AxikPWbSGeZqmkZa1wTRXNZ0l6fTSAcjl+6P8s="; }; - vendorHash = "sha256-Xfan2UykDkmndePiyaHpQ050McAreOq0VmDxAm+2K9A="; + vendorHash = "sha256-AYScvuhsK6GUzOhONBl1C89yvu85SntoW7CxCr7wWmo="; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/development/libraries/v8/darwin.patch b/pkgs/development/libraries/v8/darwin.patch deleted file mode 100644 index 629d5e4dc392..000000000000 --- a/pkgs/development/libraries/v8/darwin.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/toolchain/gcc_toolchain.gni b/toolchain/gcc_toolchain.gni -index 80e2a362a..df138c87b 100644 ---- a/build/toolchain/gcc_toolchain.gni -+++ b/build/toolchain/gcc_toolchain.gni -@@ -355,6 +355,8 @@ template("gcc_toolchain") { - # AIX does not support either -D (deterministic output) or response - # files. - command = "$ar -X64 {{arflags}} -r -c -s {{output}} {{inputs}}" -+ } else if (current_os == "mac") { -+ command = "$ar {{arflags}} -r -c -s {{output}} {{inputs}}" - } else { - rspfile = "{{output}}.rsp" - rspfile_content = "{{inputs}}" -@@ -546,7 +548,7 @@ template("gcc_toolchain") { - - start_group_flag = "" - end_group_flag = "" -- if (current_os != "aix") { -+ if (current_os != "aix" && current_os != "mac") { - # the "--start-group .. --end-group" feature isn't available on the aix ld. - start_group_flag = "-Wl,--start-group" - end_group_flag = "-Wl,--end-group " diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix deleted file mode 100644 index 335c6fd4f6c6..000000000000 --- a/pkgs/development/libraries/v8/default.nix +++ /dev/null @@ -1,226 +0,0 @@ -{ - stdenv, - lib, - fetchgit, - gn, - ninja, - python3, - glib, - pkg-config, - icu, - xcbuild, - fetchpatch, - llvmPackages, - symlinkJoin, -}: - -# Use update.sh to update all checksums. - -let - version = "9.7.106.18"; - v8Src = fetchgit { - url = "https://chromium.googlesource.com/v8/v8"; - rev = version; - sha256 = "0cb3w733w1xn6zq9dsr43nx6llcg9hrmb2dkxairarj9c0igpzyh"; - }; - - git_url = "https://chromium.googlesource.com"; - - # This data is from the DEPS file in the root of a V8 checkout. - deps = { - "base/trace_event/common" = fetchgit { - url = "${git_url}/chromium/src/base/trace_event/common.git"; - rev = "7f36dbc19d31e2aad895c60261ca8f726442bfbb"; - sha256 = "01b2fhbxznqbakxv42ivrzg6w8l7i9yrd9nf72d6p5xx9dm993j4"; - }; - "build" = fetchgit { - url = "${git_url}/chromium/src/build.git"; - rev = "cf325916d58a194a935c26a56fcf6b525d1e2bf4"; - sha256 = "1ix4h1cpx9bvgln8590xh7lllhsd9w1hd5k9l1gx5yxxrmywd3s4"; - }; - "third_party/googletest/src" = fetchgit { - url = "${git_url}/external/github.com/google/googletest.git"; - rev = "16f637fbf4ffc3f7a01fa4eceb7906634565242f"; - sha256 = "11012k3c3mxzdwcw2iparr9lrckafpyhqzclsj26hmfbgbdi0rrh"; - }; - "third_party/icu" = fetchgit { - url = "${git_url}/chromium/deps/icu.git"; - rev = "eedbaf76e49d28465d9119b10c30b82906e606ff"; - sha256 = "0mppvx7wf9zlqjsfaa1cf06brh1fjb6nmiib0lhbb9hd55mqjdjj"; - }; - "third_party/zlib" = fetchgit { - url = "${git_url}/chromium/src/third_party/zlib.git"; - rev = "6da1d53b97c89b07e47714d88cab61f1ce003c68"; - sha256 = "0v7ylmbwfwv6w6wp29qdf77kjjnfr2xzin08n0v1yvbhs01h5ppy"; - }; - "third_party/jinja2" = fetchgit { - url = "${git_url}/chromium/src/third_party/jinja2.git"; - rev = "ee69aa00ee8536f61db6a451f3858745cf587de6"; - sha256 = "1fsnd5h0gisfp8bdsfd81kk5v4mkqf8z368c7qlm1qcwc4ri4x7a"; - }; - "third_party/markupsafe" = fetchgit { - url = "${git_url}/chromium/src/third_party/markupsafe.git"; - rev = "1b882ef6372b58bfd55a3285f37ed801be9137cd"; - sha256 = "1jnjidbh03lhfaawimkjxbprmsgz4snr0jl06630dyd41zkdw5kr"; - }; - }; - - # See `gn_version` in DEPS. - gnSrc = fetchgit { - url = "https://gn.googlesource.com/gn"; - rev = "8926696a4186279489cc2b8d768533e61bba73d7"; - sha256 = "1084lnyb0a1khbgjvak05fcx6jy973wqvsf77n0alxjys18sg2yk"; - }; - - myGn = gn.overrideAttrs (oldAttrs: { - version = "for-v8"; - src = gnSrc; - }); - -in - -stdenv.mkDerivation rec { - pname = "v8"; - inherit version; - - doCheck = true; - - patches = [ - ./darwin.patch - - # gcc-13 build fix for mixxign includes - (fetchpatch { - name = "gcc-13.patch"; - url = "https://chromium.googlesource.com/v8/v8/+/c2792e58035fcbaa16d0cb70998852fbeb5df4cc^!?format=TEXT"; - decode = "base64 -d"; - hash = "sha256-hoPAkSaCmzXflPFXaKUwVPLECMpt6N6/8m8mBSTAHbU="; - }) - ]; - - src = v8Src; - - postUnpack = '' - ${lib.concatStringsSep "\n" ( - lib.mapAttrsToList (n: v: '' - mkdir -p $sourceRoot/${n} - cp -r ${v}/* $sourceRoot/${n} - '') deps - )} - chmod u+w -R . - ''; - - postPatch = '' - ${lib.optionalString stdenv.hostPlatform.isAarch64 '' - substituteInPlace build/toolchain/linux/BUILD.gn \ - --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""' - ''} - ${lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace build/config/compiler/compiler.gni \ - --replace 'strip_absolute_paths_from_debug_symbols = true' \ - 'strip_absolute_paths_from_debug_symbols = false' - substituteInPlace build/config/compiler/BUILD.gn \ - --replace 'current_toolchain == host_toolchain || !use_xcode_clang' \ - 'false' - ''} - ${lib.optionalString stdenv.hostPlatform.isDarwin '' - substituteInPlace build/config/compiler/BUILD.gn \ - --replace "-Wl,-fatal_warnings" "" - ''} - touch build/config/gclient_args.gni - sed '1i#include ' -i src/heap/cppgc/prefinalizer-handler.h # gcc12 - ''; - - llvmCcAndBintools = symlinkJoin { - name = "llvmCcAndBintools"; - paths = [ - stdenv.cc - llvmPackages.llvm - ]; - }; - - gnFlags = - [ - "use_custom_libcxx=false" - "is_clang=${lib.boolToString stdenv.cc.isClang}" - "use_sysroot=false" - # "use_system_icu=true" - "clang_use_chrome_plugins=false" - "is_component_build=false" - "v8_use_external_startup_data=false" - "v8_monolithic=true" - "is_debug=true" - "is_official_build=false" - "treat_warnings_as_errors=false" - "v8_enable_i18n_support=true" - "use_gold=false" - # ''custom_toolchain="//build/toolchain/linux/unbundle:default"'' - ''host_toolchain="//build/toolchain/linux/unbundle:default"'' - ''v8_snapshot_toolchain="//build/toolchain/linux/unbundle:default"'' - ] - ++ lib.optional stdenv.cc.isClang ''clang_base_path="${llvmCcAndBintools}"'' - ++ lib.optional stdenv.hostPlatform.isDarwin ''use_lld=false''; - - env.NIX_CFLAGS_COMPILE = toString ( - [ - "-O2" - ] - ++ lib.optionals stdenv.cc.isClang [ - "-Wno-error=enum-constexpr-conversion" - ] - ); - FORCE_MAC_SDK_MIN = stdenv.hostPlatform.sdkVer or "10.12"; - - nativeBuildInputs = - [ - myGn - ninja - pkg-config - python3 - ] - ++ lib.optionals stdenv.hostPlatform.isDarwin [ - xcbuild - llvmPackages.llvm - python3.pkgs.setuptools - ]; - buildInputs = [ - glib - icu - ]; - - ninjaFlags = [ - ":d8" - "v8_monolith" - ]; - - enableParallelBuilding = true; - - installPhase = '' - install -D d8 $out/bin/d8 - install -D -m644 obj/libv8_monolith.a $out/lib/libv8.a - install -D -m644 icudtl.dat $out/share/v8/icudtl.dat - ln -s libv8.a $out/lib/libv8_monolith.a - cp -r ../../include $out - - mkdir -p $out/lib/pkgconfig - cat > $out/lib/pkgconfig/v8.pc << EOF - Name: v8 - Description: V8 JavaScript Engine - Version: ${version} - Libs: -L$out/lib -lv8 -pthread - Cflags: -I$out/include - EOF - ''; - - meta = with lib; { - homepage = "https://v8.dev/"; - description = "Google's open source JavaScript engine"; - mainProgram = "d8"; - maintainers = with maintainers; [ - proglodyte - matthewbauer - ]; - platforms = platforms.unix; - license = licenses.bsd3; - knownVulnerabilities = [ "Severely outdated with multiple publicly known vulnerabilities" ]; - }; -} diff --git a/pkgs/development/libraries/v8/update.sh b/pkgs/development/libraries/v8/update.sh deleted file mode 100755 index c3fbab6faf19..000000000000 --- a/pkgs/development/libraries/v8/update.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env nix-shell -#! nix-shell -i bash -p curl -p nix-prefetch-git -p jq -VERSION_OVERVIEW=https://omahaproxy.appspot.com/all?os=linux -TARGET_CHANNEL=stable - -set -eo pipefail - -if [ -n "$1" ]; then - v8_version="$1" - shift -else - v8_version=$(curl -s "$VERSION_OVERVIEW" | awk -F "," "\$2 ~ /${TARGET_CHANNEL}/ { print \$11 }") -fi - -if [ -n "$1" ]; then - file_path="$1" -else - file_path=default.nix -fi - -echo "Using V8 version --> $v8_version" - -prefetched=$(nix-prefetch-git --no-deepClone https://chromium.googlesource.com/v8/v8 "refs/tags/${v8_version}") - -path=$(echo "$prefetched" | jq -r .path) -sha256=$(echo "$prefetched" | jq -r .sha256) -sed -e "s#\\(version = \\)\"[0-9\.]*\"#\1\"$v8_version\"#" -i ${file_path} -sed -e "/v8Src = fetchgit/ { n; n; n; s/\".*\"/\"${sha256}\"/ }" -i ${file_path} - -deps="$path/DEPS" - -echo "$deps" - -echo "Processing gn" -gn_rev=$(sed -ne "s/.*'gn_version': 'git_revision:\([^']*\).*/\1/p" < "$deps") -gn_sha256=$(nix-prefetch-git --no-deepClone https://gn.googlesource.com/gn "$gn_rev" 2>/dev/null | jq -r .sha256) -sed -e "/gnSrc = fetchgit/ { n; n; s/\".*\"/\"${gn_rev}\"/; n; s/\".*\"/\"${gn_sha256}\"/ }" -i ${file_path} - -sed -ne '/" = fetchgit {/ { s/.*"\(.*\)".*/\1/; p }' < ${file_path} | while read dep; do - echo "Processing dependency --> $dep" - escaped_dep=$(echo "$dep" | sed -e 's#/#\\/#g') - dep_rev=$(sed -ne "/'${escaped_dep}':/ { n; s#.*+ '##; s#'.*##; p }" "$deps") - - if [ "$dep_rev" = "" ]; then - echo "Failed to resolve dependency $dep, not listed in DEPS file" - rm -f "$deps" - exit 2 - fi - - repo_url=$(sed -ne "/\"${escaped_dep}\" = fetchgit/ { n; s/.*\"\(.*\)\".*/\1/; s#\${git_url}#https://chromium.googlesource.com#; p }" ${file_path}) - sha256=$(nix-prefetch-git --no-deepClone "$repo_url" "$dep_rev" 2>/dev/null | jq -r .sha256) - - if [ "$sha256" = "" ]; then - echo "Failed to get sha256 via nix-prefetch-git $repo_url $dep_rev" - rm -f "$deps" - exit 2 - fi - - sed -e "/\"${escaped_dep}\" = fetchgit/ { n; n; s/\".*\"/\"${dep_rev}\"/; n; s/\".*\"/\"${sha256}\"/ }" -i ${file_path} -done - -echo done. diff --git a/pkgs/development/misc/juce/default.nix b/pkgs/development/misc/juce/default.nix index 476913f0e7ca..62c11bc4c5b2 100644 --- a/pkgs/development/misc/juce/default.nix +++ b/pkgs/development/misc/juce/default.nix @@ -1,40 +1,51 @@ -{ lib -, stdenv -, fetchFromGitHub -, fetchpatch +{ + lib, + stdenv, + fetchFromGitHub, + fetchpatch, -# Native build inputs -, cmake -, pkg-config -, makeWrapper + # Native build inputs + cmake, + pkg-config, + makeWrapper, -# Dependencies -, alsa-lib -, freetype -, curl -, libglvnd -, webkitgtk_4_0 -, pcre -, darwin + # Dependencies + alsa-lib, + freetype, + curl, + libglvnd, + webkitgtk_4_0, + pcre2, + libsysprof-capture, + util-linuxMinimal, + libselinux, + libsepol, + libthai, + libdatrie, + libXdmcp, + lerc, + libxkbcommon, + libepoxy, + libXtst, + sqlite, + fontconfig, }: stdenv.mkDerivation (finalAttrs: { pname = "juce"; - version = "7.0.11"; + version = "8.0.4"; src = fetchFromGitHub { owner = "juce-framework"; repo = "juce"; rev = finalAttrs.version; - hash = "sha256-XFC+MYxUE3NatM2oYykiPJtiQLy33JD64VZFfZS2Tas="; + hash = "sha256-iAueT+yHwUUHOzqfK5zXEZQ0GgOKJ9q9TyRrVfWdewc="; }; patches = [ - (fetchpatch { - name = "juce-6.1.2-cmake_install.patch"; - url = "https://gitlab.archlinux.org/archlinux/packaging/packages/juce/-/raw/4e6d34034b102af3cd762a983cff5dfc09e44e91/juce-6.1.2-cmake_install.patch"; - hash = "sha256-fr2K/dH0Zam5QKS63zos7eq9QLwdr+bvQL5ZxScagVU="; - }) + # Adapted from https://gitlab.archlinux.org/archlinux/packaging/packages/juce/-/raw/4e6d34034b102af3cd762a983cff5dfc09e44e91/juce-6.1.2-cmake_install.patch + # for Juce 8.0.4. + ./juce-8.0.4-cmake_install.patch ]; nativeBuildInputs = [ @@ -43,28 +54,42 @@ stdenv.mkDerivation (finalAttrs: { makeWrapper ]; - buildInputs = [ - freetype # libfreetype.so - curl # libcurl.so - (lib.getLib stdenv.cc.cc) # libstdc++.so libgcc_s.so - pcre # libpcre2.pc - ] ++ lib.optionals stdenv.hostPlatform.isLinux [ - alsa-lib # libasound.so - libglvnd # libGL.so - webkitgtk_4_0 # webkit2gtk-4.0 - ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ - darwin.apple_sdk.frameworks.Cocoa - darwin.apple_sdk.frameworks.MetalKit - darwin.apple_sdk.frameworks.WebKit - ]; + buildInputs = + [ + freetype # libfreetype.so + curl # libcurl.so + (lib.getLib stdenv.cc.cc) # libstdc++.so libgcc_s.so + pcre2 # libpcre2.pc + libsysprof-capture + libthai + libdatrie + lerc + libepoxy + sqlite + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + alsa-lib # libasound.so + libglvnd # libGL.so + webkitgtk_4_0 # webkit2gtk-4.0 + util-linuxMinimal + libselinux + libsepol + libXdmcp + libxkbcommon + libXtst + ]; + + propagatedBuildInputs = [ fontconfig ]; meta = with lib; { description = "Cross-platform C++ application framework"; mainProgram = "juceaide"; - longDescription = "JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, RTAS and AAX audio plug-ins"; - homepage = "https://github.com/juce-framework/JUCE"; + longDescription = "Open-source cross-platform C++ application framework for creating desktop and mobile applications, including VST, VST3, AU, AUv3, AAX and LV2 audio plug-ins"; + homepage = "https://juce.com/"; changelog = "https://github.com/juce-framework/JUCE/blob/${finalAttrs.version}/CHANGE_LIST.md"; - license = with licenses; [ isc gpl3Plus ]; + license = with licenses; [ + agpl3Only # Or alternatively the JUCE license, but that would not be included in nixpkgs then + ]; maintainers = with maintainers; [ kashw2 ]; platforms = platforms.all; }; diff --git a/pkgs/development/misc/juce/juce-8.0.4-cmake_install.patch b/pkgs/development/misc/juce/juce-8.0.4-cmake_install.patch new file mode 100644 index 000000000000..74f60ef75a64 --- /dev/null +++ b/pkgs/development/misc/juce/juce-8.0.4-cmake_install.patch @@ -0,0 +1,51 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 019aa86c51..ceb7b2a8e5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -137,10 +137,10 @@ + VERSION ${JUCE_VERSION} + COMPATIBILITY ExactVersion) + +-set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING ++set(JUCE_INSTALL_DESTINATION "lib/cmake/juce" CACHE STRING + "The location, relative to the install prefix, where the JUCE config file will be installed") + +-set(JUCE_MODULE_PATH "include/JUCE-${JUCE_VERSION}/modules") ++set(JUCE_MODULE_PATH "share/juce/modules") + set(UTILS_INSTALL_DIR "${JUCE_INSTALL_DESTINATION}") + set(JUCEAIDE_PATH "${JUCE_TOOL_INSTALL_DIR}/${JUCE_JUCEAIDE_NAME}") + configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in" +@@ -148,7 +148,6 @@ + PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH + INSTALL_DESTINATION "${JUCE_INSTALL_DESTINATION}") + +-set(JUCE_MODULE_PATH "${JUCE_MODULES_DIR}") + set(UTILS_INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extras/Build/CMake") + get_target_property(JUCEAIDE_PATH juceaide IMPORTED_LOCATION) + configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in" +diff --git a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt +index 7ef20eddf1..3dfb1f1802 100644 +--- a/extras/Build/juceaide/CMakeLists.txt ++++ b/extras/Build/juceaide/CMakeLists.txt +@@ -153,7 +153,7 @@ + + add_executable(juce::juceaide ALIAS juceaide) + +- set(JUCE_TOOL_INSTALL_DIR "bin/JUCE-${JUCE_VERSION}" CACHE STRING ++ set(JUCE_TOOL_INSTALL_DIR "bin" CACHE STRING + "The location, relative to the install prefix, where juceaide will be installed") + + install(PROGRAMS "${imported_location}" DESTINATION "${JUCE_TOOL_INSTALL_DIR}") +diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt +index 27c987abe2..5b8de75bde 100644 +--- a/modules/CMakeLists.txt ++++ b/modules/CMakeLists.txt +@@ -31,7 +31,7 @@ + # ============================================================================== + + juce_add_modules( +- INSTALL_PATH "include/JUCE-${JUCE_VERSION}/modules" ++ INSTALL_PATH "share/juce/modules" + ALIAS_NAMESPACE juce + juce_analytics + juce_animation diff --git a/pkgs/development/python-modules/bravia-tv/default.nix b/pkgs/development/python-modules/bravia-tv/default.nix index 31a7d6528bbd..9339066299a3 100644 --- a/pkgs/development/python-modules/bravia-tv/default.nix +++ b/pkgs/development/python-modules/bravia-tv/default.nix @@ -30,6 +30,6 @@ buildPythonPackage rec { homepage = "https://github.com/dcnielsen90/python-bravia-tv"; description = "Python library for Sony Bravia TV remote control"; license = licenses.mit; - maintainers = with maintainers; [ colemickens ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/denonavr/default.nix b/pkgs/development/python-modules/denonavr/default.nix index d02025c0107d..65c8a910842b 100644 --- a/pkgs/development/python-modules/denonavr/default.nix +++ b/pkgs/development/python-modules/denonavr/default.nix @@ -58,6 +58,6 @@ buildPythonPackage rec { homepage = "https://github.com/ol-iver/denonavr"; changelog = "https://github.com/ol-iver/denonavr/releases/tag/${version}"; license = licenses.mit; - maintainers = with maintainers; [ colemickens ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/flux-led/default.nix b/pkgs/development/python-modules/flux-led/default.nix index 79fd9f10f266..df81b7149df1 100644 --- a/pkgs/development/python-modules/flux-led/default.nix +++ b/pkgs/development/python-modules/flux-led/default.nix @@ -57,7 +57,7 @@ buildPythonPackage rec { homepage = "https://github.com/Danielhiversen/flux_led"; changelog = "https://github.com/Danielhiversen/flux_led/releases/tag/${version}"; license = licenses.lgpl3Plus; - maintainers = with maintainers; [ colemickens ]; + maintainers = with maintainers; [ ]; platforms = platforms.linux; mainProgram = "flux_led"; }; diff --git a/pkgs/development/python-modules/getmac/default.nix b/pkgs/development/python-modules/getmac/default.nix index 4c3339e7580a..1954f4749566 100644 --- a/pkgs/development/python-modules/getmac/default.nix +++ b/pkgs/development/python-modules/getmac/default.nix @@ -50,6 +50,6 @@ buildPythonPackage rec { homepage = "https://github.com/GhostofGoes/getmac"; changelog = "https://github.com/GhostofGoes/getmac/blob/${version}/CHANGELOG.md"; license = licenses.mit; - maintainers = with maintainers; [ colemickens ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/openusd/default.nix b/pkgs/development/python-modules/openusd/default.nix index f44a712aaf80..c9e0213dce4e 100644 --- a/pkgs/development/python-modules/openusd/default.nix +++ b/pkgs/development/python-modules/openusd/default.nix @@ -5,6 +5,7 @@ buildPythonPackage, cmake, darwin, + distutils, doxygen, draco, embree, @@ -144,6 +145,7 @@ buildPythonPackage rec { jinja2 numpy pyopengl + distutils ] ++ lib.optionals (withTools || withUsdView) [ pyside-tools-uic diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix index dbacbb799f59..929b9e118608 100644 --- a/pkgs/development/python-modules/plexapi/default.nix +++ b/pkgs/development/python-modules/plexapi/default.nix @@ -41,6 +41,6 @@ buildPythonPackage rec { homepage = "https://github.com/pkkid/python-plexapi"; changelog = "https://github.com/pkkid/python-plexapi/releases/tag/${version}"; license = licenses.bsd3; - maintainers = with maintainers; [ colemickens ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/plexauth/default.nix b/pkgs/development/python-modules/plexauth/default.nix index caa1dcdf1d74..7e4767c76c60 100644 --- a/pkgs/development/python-modules/plexauth/default.nix +++ b/pkgs/development/python-modules/plexauth/default.nix @@ -31,6 +31,6 @@ buildPythonPackage rec { homepage = "https://github.com/jjlawren/python-plexauth/"; description = "Handles the authorization flow to obtain tokens from Plex.tv via external redirection"; license = licenses.mit; - maintainers = with maintainers; [ colemickens ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/plexwebsocket/default.nix b/pkgs/development/python-modules/plexwebsocket/default.nix index bd361fb4493e..829239c00e5b 100644 --- a/pkgs/development/python-modules/plexwebsocket/default.nix +++ b/pkgs/development/python-modules/plexwebsocket/default.nix @@ -32,6 +32,6 @@ buildPythonPackage rec { homepage = "https://github.com/jjlawren/python-plexwebsocket/"; changelog = "https://github.com/jjlawren/python-plexwebsocket/releases/tag/v${version}"; license = licenses.mit; - maintainers = with maintainers; [ colemickens ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/python-modules/python-mpv-jsonipc/default.nix b/pkgs/development/python-modules/python-mpv-jsonipc/default.nix index 13118b316958..76570a030980 100644 --- a/pkgs/development/python-modules/python-mpv-jsonipc/default.nix +++ b/pkgs/development/python-modules/python-mpv-jsonipc/default.nix @@ -36,6 +36,6 @@ buildPythonPackage rec { homepage = "https://github.com/iwalton3/python-mpv-jsonipc"; description = "Python API to MPV using JSON IPC"; license = licenses.gpl3; - maintainers = with maintainers; [ colemickens ]; + maintainers = with maintainers; [ ]; }; } diff --git a/pkgs/development/tools/misc/edb/default.nix b/pkgs/development/tools/misc/edb/default.nix index f5103f9d0c2c..786209cb74f4 100644 --- a/pkgs/development/tools/misc/edb/default.nix +++ b/pkgs/development/tools/misc/edb/default.nix @@ -1,6 +1,6 @@ { lib, - mkDerivation, + stdenv, fetchFromGitHub, cmake, pkg-config, @@ -9,26 +9,34 @@ double-conversion, graphviz, qtxmlpatterns, + qttools, + qtbase, + wrapQtAppsHook, + testers, + nix-update-script, }: -mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "edb"; - version = "1.4.0"; + version = "1.5.0"; src = fetchFromGitHub { owner = "eteran"; repo = "edb-debugger"; - rev = version; + tag = finalAttrs.version; fetchSubmodules = true; - hash = "sha256-1Q0eZS05L4sxzcPvEFdEaobO7JYHRu98Yf+n3ZnBi+E="; + hash = "sha256-ALhA/odVwUQHKuOZ1W/i/6L7da/yitdpBsx2kz2ySQE="; }; nativeBuildInputs = [ cmake pkg-config + wrapQtAppsHook + qttools ]; buildInputs = [ + qtbase boost.dev capstone_4 double-conversion @@ -36,30 +44,34 @@ mkDerivation rec { qtxmlpatterns ]; - postPatch = '' - # Remove CMAKE_INSTALL_PREFIX from DEFAULT_PLUGIN_PATH otherwise the nix store path will appear twice. - substituteInPlace ./src/CMakeLists.txt --replace \ - '-DDEFAULT_PLUGIN_PATH=\"''${CMAKE_INSTALL_PREFIX}/''${CMAKE_INSTALL_LIBDIR}/edb\"' \ - '-DDEFAULT_PLUGIN_PATH=\"''${CMAKE_INSTALL_LIBDIR}/edb\"' + cmakeFlags = [ + (lib.cmakeFeature "DEFAULT_PLUGIN_DIR" "${placeholder "out"}/lib/edb") + ]; + postPatch = '' # The build script checks for the presence of .git to determine whether # submodules were fetched and will throw an error if it's not there. # Avoid using leaveDotGit in the fetchFromGitHub options as it is non-deterministic. mkdir -p src/qhexview/.git lib/gdtoa-desktop/.git - - # Change default optional terminal program path to one that is more likely to work on NixOS. - substituteInPlace ./src/Configuration.cpp --replace "/usr/bin/xterm" "xterm"; ''; - meta = with lib; { + passthru = { + tests.version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "env QT_QPA_PLATFORM=minimal ${lib.getExe finalAttrs.finalPackage} --version"; + }; + updateScript = nix-update-script { }; + }; + + meta = { description = "Cross platform AArch32/x86/x86-64 debugger"; mainProgram = "edb"; homepage = "https://github.com/eteran/edb-debugger"; - license = licenses.gpl2Plus; - maintainers = with maintainers; [ + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ lihop maxxk ]; platforms = [ "x86_64-linux" ]; }; -} +}) diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix index e22c3217103c..ae07af273f13 100644 --- a/pkgs/games/sgt-puzzles/default.nix +++ b/pkgs/games/sgt-puzzles/default.nix @@ -18,11 +18,11 @@ stdenv.mkDerivation rec { pname = "sgt-puzzles"; - version = "20241123.5e74004"; + version = "20241223.5eea14c"; src = fetchurl { url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz"; - hash = "sha256-r96rQWq2UJoLoIB+w1xcxIvd5kNGGYq+Wri/Vojeb0Q="; + hash = "sha256-c9cPPxjU7O+uAp6jzCkfv8ZJeVrcLmEfD+lUK0l+X9w="; }; sgt-puzzles-menu = fetchurl { diff --git a/pkgs/servers/web-apps/wordpress/packages/plugins.json b/pkgs/servers/web-apps/wordpress/packages/plugins.json index 0f376bcf2b90..cd50e5f2c9a3 100644 --- a/pkgs/servers/web-apps/wordpress/packages/plugins.json +++ b/pkgs/servers/web-apps/wordpress/packages/plugins.json @@ -191,6 +191,12 @@ "sha256": "12r17xxwrnci5v18x71y44289z5dvvrj8xr3sfl1ipvlrvzggbfh", "version": "3.0" }, + "wp-fail2ban": { + "path": "wp-fail2ban/tags/5.3.2", + "rev": "3131194", + "sha256": "1svp2a3xr6ajfhabz2n4rqcf9bzfr9dilc2n27ral9akc86lj1ii", + "version": "5.3.2" + }, "wp-fastest-cache": { "path": "wp-fastest-cache/tags/1.3.2", "rev": "3181365", diff --git a/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json b/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json index f5db899e8bb2..8a83301bfdf9 100644 --- a/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json +++ b/pkgs/servers/web-apps/wordpress/packages/wordpress-plugins.json @@ -31,6 +31,7 @@ , "wordpress-seo": "gpl3Only" , "worker": "gpl3Plus" , "wp-change-email-sender": "gpl2Plus" +, "wp-fail2ban": "gpl3Plus" , "wp-fastest-cache": "gpl2Plus" , "wp-gdpr-compliance": "gpl2Plus" , "wp-import-export-lite": "gpl3Plus" diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 51c1de71827b..05c5d2924793 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1364,6 +1364,7 @@ mapAliases { ### V ### + v8 = throw "`v8` has been removed as it's unmaintained for several years and has vulnerabilites. Please migrate to `nodejs.libv8`"; # Added 2024-12-21 validphys2 = throw "validphys2 has been removed, since it has a broken dependency that was removed"; # Added 2024-08-21 vamp = { vampSDK = vamp-plugin-sdk; }; # Added 2020-03-26 vaapiIntel = intel-vaapi-driver; # Added 2023-05-31 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7057e2550531..31c15b3d3fd6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -331,8 +331,6 @@ with pkgs; catch2 = catch2_3; }; - edgedb = callPackage ../tools/networking/edgedb { }; - eludris = callPackage ../tools/misc/eludris { }; enochecker-test = with python3Packages; callPackage ../development/tools/enochecker-test { }; @@ -10894,10 +10892,6 @@ with pkgs; unixODBCDrivers = recurseIntoAttrs (callPackages ../development/libraries/unixODBCDrivers { }); - v8 = callPackage ../development/libraries/v8 { - stdenv = if stdenv.hostPlatform.isDarwin then overrideSDK stdenv "11.0" else stdenv; - }; - valeStyles = recurseIntoAttrs (callPackages ../by-name/va/vale/styles.nix { }); valhalla = callPackage ../development/libraries/valhalla { @@ -17848,7 +17842,9 @@ with pkgs; cups-pk-helper = callPackage ../misc/cups/cups-pk-helper.nix { }; - epsonscan2 = pkgs.libsForQt5.callPackage ../misc/drivers/epsonscan2 { }; + epsonscan2 = callPackage ../by-name/ep/epsonscan2/package.nix { + inherit (qt5) wrapQtAppsHook qtbase; + }; foomatic-db-ppds-withNonfreeDb = callPackage ../by-name/fo/foomatic-db-ppds/package.nix { withNonfreeDb = true; };