diff --git a/.mailmap b/.mailmap index 26abb4c7cfc0..d7e9caacea7e 100644 --- a/.mailmap +++ b/.mailmap @@ -3,6 +3,7 @@ Anderson Torres Atemu Daniel Løvbrøtte Olsen Fabian Affolter +goatastronaut0212 Janne Heß Jörg Thalheim Martin Weinelt diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index d6cf4d333b72..b1fdacf95428 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1899,7 +1899,7 @@ keys = [ { fingerprint = "BF47 81E1 F304 1ADF 18CE C401 DE16 C7D1 536D A72F"; } ]; }; astronaut0212 = { - email = "goatastronaut0212@proton.me"; + email = "goatastronaut0212@outlook.com"; github = "goatastronaut0212"; githubId = 119769817; name = "goatastronaut0212"; diff --git a/nixos/modules/system/etc/etc-activation.nix b/nixos/modules/system/etc/etc-activation.nix index f47fd771c659..ed9f50941771 100644 --- a/nixos/modules/system/etc/etc-activation.nix +++ b/nixos/modules/system/etc/etc-activation.nix @@ -64,7 +64,7 @@ ] ++ lib.optionals (!config.system.etc.overlay.mutable) [ "ro" ]); - wantedBy = [ "initrd-fs.target" ]; + requiredBy = [ "initrd-fs.target" ]; before = [ "initrd-fs.target" ]; requires = lib.mkIf config.system.etc.overlay.mutable [ "rw-etc.service" ]; after = lib.mkIf config.system.etc.overlay.mutable [ "rw-etc.service" ]; diff --git a/nixos/modules/system/etc/etc.nix b/nixos/modules/system/etc/etc.nix index 69f4ab92548f..ae186467ee6b 100644 --- a/nixos/modules/system/etc/etc.nix +++ b/nixos/modules/system/etc/etc.nix @@ -279,7 +279,7 @@ in ${pkgs.move-mount-beneath}/bin/move-mount --move --beneath $tmpEtcMount /etc # Unmount the top /etc mount to atomically reveal the new mount. - umount --recursive /etc + umount --lazy --recursive /etc fi '' else '' # Set up the statically computed bits of /etc. diff --git a/pkgs/applications/misc/houdini/runtime.nix b/pkgs/applications/misc/houdini/runtime.nix index ed8f44f45266..a660ee2a5d83 100644 --- a/pkgs/applications/misc/houdini/runtime.nix +++ b/pkgs/applications/misc/houdini/runtime.nix @@ -1,11 +1,11 @@ { requireFile, callPackage }: callPackage ./runtime-build.nix rec { - version = "20.5.278"; + version = "20.5.332"; eulaDate = "2021-10-13"; src = requireFile { name = "houdini-${version}-linux_x86_64_gcc11.2.tar.gz"; - hash = "sha256-O5oAoiDiu+xrmDfTnilPqZue8+dXVTHnK0yrX6moTSc="; + hash = "sha256-ZqbLCWfPUo0fXS9liKOXsUEpm1d60bHIkbx+K98gFtU="; url = "https://www.sidefx.com/download/daily-builds/?production=true"; }; } diff --git a/pkgs/by-name/ca/caprine/package.nix b/pkgs/by-name/ca/caprine/package.nix new file mode 100644 index 000000000000..214b304ff577 --- /dev/null +++ b/pkgs/by-name/ca/caprine/package.nix @@ -0,0 +1,93 @@ +{ + stdenv, + lib, + fetchFromGitHub, + buildNpmPackage, + makeDesktopItem, + copyDesktopItems, + electron, +}: + +let + electronDist = electron + (if stdenv.isDarwin then "/Applications" else "/libexec/electron"); +in +buildNpmPackage rec { + pname = "caprine"; + version = "2.60.1"; + + src = fetchFromGitHub { + owner = "sindresorhus"; + repo = "caprine"; + rev = "v${version}"; + hash = "sha256-y4W295i7FhgJC3SlwSr801fLOGJY1WF136bbkkBUvyw="; + }; + + ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; + + npmDepsHash = "sha256-JHaUc2p+wHsqWtls8xquHK9qnypuCrR0AQMGxcrTsC0="; + + nativeBuildInputs = [ copyDesktopItems ]; + + postBuild = '' + cp -r ${electronDist} electron-dist + chmod -R u+w electron-dist + + npm exec electron-builder -- \ + --dir \ + -c.npmRebuild=true \ + -c.asarUnpack="**/*.node" \ + -c.electronDist=electron-dist \ + -c.electronVersion=${electron.version} + ''; + + installPhase = '' + runHook preInstall + + ${lib.optionalString stdenv.isLinux '' + mkdir -p $out/share/caprine + cp -r dist/*-unpacked/{locales,resources{,.pak}} $out/share/caprine + + makeWrapper ${lib.getExe electron} $out/bin/caprine \ + --add-flags $out/share/caprine/resources/app.asar \ + --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \ + --set-default ELECTRON_IS_DEV 0 \ + --inherit-argv0 + + install -Dm644 build/icon.png $out/share/icons/hicolor/512x512/apps/caprine.png + ''} + + ${lib.optionalString stdenv.isDarwin '' + mkdir -p $out/Applications + cp -r dist/mac*/"Caprine.app" $out/Applications + makeWrapper "$out/Applications/Caprine.app/Contents/MacOS/Caprine" $out/bin/caprine + ''} + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "caprine"; + exec = "caprine %U"; + icon = "caprine"; + desktopName = "Caprine"; + comment = meta.description; + categories = [ + "Network" + "InstantMessaging" + "Chat" + ]; + mimeTypes = [ "x-scheme-handler/caprine" ]; + terminal = false; + }) + ]; + + meta = { + changelog = "https://github.com/sindresorhus/caprine/releases/tag/${src.rev}"; + description = "Elegant Facebook Messenger desktop app"; + homepage = "https://github.com/sindresorhus/caprine"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ astronaut0212 ]; + inherit (electron.meta) platforms; + }; +} diff --git a/pkgs/by-name/ka/kata-runtime/kata-images.nix b/pkgs/by-name/ka/kata-runtime/kata-images.nix new file mode 100644 index 000000000000..b145c9a340d4 --- /dev/null +++ b/pkgs/by-name/ka/kata-runtime/kata-images.nix @@ -0,0 +1,49 @@ +# Derived from https://github.com/colemickens/nixpkgs-kubernetes +{ + fetchzip, + lib, + stdenv, + version, +}: + +let + imageSuffix = + { + "x86_64-linux" = "amd64"; + "aarch64-linux" = "arm64"; + } + ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + imageHash = + { + "x86_64-linux" = "sha256-6ySKAqrbHDRgVlI7wm2p4Uw96ZMzUpP00liujxlruSM="; + "aarch64-linux" = "sha256-pEPkDXT4OunfN2sGb8Ru05tFHaBsYUcmG5Iy7yH4kX8="; + } + ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + +in +fetchzip { + name = "kata-images-${version}"; + url = "https://github.com/kata-containers/kata-containers/releases/download/${version}/kata-static-${version}-${imageSuffix}.tar.xz"; + hash = imageHash; + + postFetch = '' + mv $out/kata/share/kata-containers kata-containers + rm -r $out + mkdir -p $out/share + mv kata-containers $out/share/kata-containers + ''; + + meta = { + description = "Lightweight Virtual Machines like containers that provide the workload isolation and security of VMs"; + homepage = "https://github.com/kata-containers/kata-containers"; + changelog = "https://github.com/kata-containers/kata-containers/releases/tag/${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ thomasjm ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; +} diff --git a/pkgs/by-name/ka/kata-runtime/package.nix b/pkgs/by-name/ka/kata-runtime/package.nix new file mode 100644 index 000000000000..403ea76d21ba --- /dev/null +++ b/pkgs/by-name/ka/kata-runtime/package.nix @@ -0,0 +1,92 @@ +# Derived from https://github.com/colemickens/nixpkgs-kubernetes +{ + buildGoModule, + callPackage, + fetchFromGitHub, + lib, + qemu_kvm, + stdenv, + virtiofsd, + yq-go, +}: + +let + version = "3.7.0"; + + kata-images = callPackage ./kata-images.nix { inherit version; }; + + qemuSystemBinary = + { + "x86_64-linux" = "qemu-system-x86_64"; + "aarch64-linux" = "qemu-system-aarch64"; + } + ."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + +in +buildGoModule rec { + pname = "kata-runtime"; + inherit version; + + # https://github.com/NixOS/nixpkgs/issues/25959 + hardeningDisable = [ "fortify" ]; + + src = fetchFromGitHub { + owner = "kata-containers"; + repo = "kata-containers"; + rev = version; + hash = "sha256-Ir+/ZZJHm6E+044wczU3UvL+Py9Wprgw2QKJaYyDrKU="; + }; + + sourceRoot = "source/src/runtime"; + + vendorHash = null; + + dontConfigure = true; + + makeFlags = [ + "PREFIX=${placeholder "out"}" + "DEFAULT_HYPERVISOR=qemu" + "HYPERVISORS=qemu" + "QEMUPATH=${qemu_kvm}/bin/${qemuSystemBinary}" + ]; + + buildPhase = '' + runHook preBuild + mkdir -p $TMPDIR/gopath/bin + ln -s ${yq-go}/bin/yq $TMPDIR/gopath/bin/yq + HOME=$TMPDIR GOPATH=$TMPDIR/gopath make ${toString makeFlags} + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + HOME=$TMPDIR GOPATH=$TMPDIR/gopath make ${toString makeFlags} install + ln -s $out/bin/containerd-shim-kata-v2 $out/bin/containerd-shim-kata-qemu-v2 + ln -s $out/bin/containerd-shim-kata-v2 $out/bin/containerd-shim-kata-clh-v2 + + # Update a few paths to the Nix-provided versions: kata-images, virtiofsd, and qemu_kvm + sed -i \ + -e "s!$out/share/kata-containers!${kata-images}/share/kata-containers!" \ + -e "s!^virtio_fs_daemon.*!virtio_fs_daemon=\"${virtiofsd}/bin/virtiofsd\"!" \ + -e "s!^valid_virtio_fs_daemon_paths.*!valid_virtio_fs_daemon_paths=[\"${qemu_kvm}/libexec/virtiofsd\"]!" \ + "$out/share/defaults/kata-containers/"*.toml + + runHook postInstall + ''; + + passthru = { + inherit kata-images; + }; + + meta = { + description = "Lightweight Virtual Machines like containers that provide the workload isolation and security of VMs"; + homepage = "https://github.com/kata-containers/kata-containers"; + changelog = "https://github.com/kata-containers/kata-containers/releases/tag/${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ thomasjm ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + ]; + }; +} diff --git a/pkgs/by-name/mu/music-assistant/frontend.nix b/pkgs/by-name/mu/music-assistant/frontend.nix index b889fe359618..cd7c6793b5f2 100644 --- a/pkgs/by-name/mu/music-assistant/frontend.nix +++ b/pkgs/by-name/mu/music-assistant/frontend.nix @@ -6,12 +6,12 @@ buildPythonPackage rec { pname = "music-assistant-frontend"; - version = "2.7.0"; + version = "2.8.7"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-KrloxxdqIwQ5NsxAGm28D5StHnw9LTqDDtcchD5X5Qk="; + hash = "sha256-L7ASmYtJja+Hy4MnGrNWIwSjvhfq2iXfWm4gGKAnEec="; }; postPatch = '' diff --git a/pkgs/by-name/mu/music-assistant/package.nix b/pkgs/by-name/mu/music-assistant/package.nix index c40ccf1a6716..73845eec3bc4 100644 --- a/pkgs/by-name/mu/music-assistant/package.nix +++ b/pkgs/by-name/mu/music-assistant/package.nix @@ -11,19 +11,6 @@ let python = python3.override { self = python; packageOverrides = self: super: { - aiojellyfin = super.aiojellyfin.overridePythonAttrs rec { - version = "0.9.2"; - - src = fetchFromGitHub { - owner = "jc2k"; - repo = "aiojellyfin"; - rev = "refs/tags/v${version}"; - hash = "sha256-q+b1tKr46qq3PULPkCaQk2VoC1aaNxPK/E1Kj4PABfI="; - }; - - doCheck = false; - }; - music-assistant-frontend = self.callPackage ./frontend.nix { }; }; }; @@ -37,14 +24,14 @@ in python.pkgs.buildPythonApplication rec { pname = "music-assistant"; - version = "2.1.1"; + version = "2.2.0"; pyproject = true; src = fetchFromGitHub { owner = "music-assistant"; repo = "server"; rev = "refs/tags/${version}"; - hash = "sha256-ALsl2xfAFYejDEhR5/ZpeIxoHFgvz471tb4OP5xQAUE="; + hash = "sha256-GQvbkdyybJ3X09fCKwu+iZvq7UdHIMzCpYjenGg/zQA="; }; patches = [ diff --git a/pkgs/by-name/mu/music-assistant/providers.nix b/pkgs/by-name/mu/music-assistant/providers.nix index 702dadf127dd..4e50e3fcf045 100644 --- a/pkgs/by-name/mu/music-assistant/providers.nix +++ b/pkgs/by-name/mu/music-assistant/providers.nix @@ -1,7 +1,7 @@ # Do not edit manually, run ./update-providers.py { - version = "2.1.1"; + version = "2.2.0"; providers = { airplay = [ ]; @@ -61,7 +61,10 @@ ]; soundcloud = [ ]; # missing soundcloudpy - spotify = [ + spotify = ps: with ps; [ + pkce + ]; + template_player_provider = [ ]; test = [ ]; diff --git a/pkgs/tools/networking/nzbget/default.nix b/pkgs/by-name/nz/nzbget/package.nix similarity index 55% rename from pkgs/tools/networking/nzbget/default.nix rename to pkgs/by-name/nz/nzbget/package.nix index 19323e18fc5d..165ee6dfc827 100644 --- a/pkgs/tools/networking/nzbget/default.nix +++ b/pkgs/by-name/nz/nzbget/package.nix @@ -1,7 +1,8 @@ { lib , stdenv , fetchFromGitHub -, autoreconfHook +, fetchpatch2 +, cmake , boost , pkg-config , gnutls @@ -13,21 +14,30 @@ , ncurses , openssl , zlib +, deterministic-uname , nixosTests }: stdenv.mkDerivation (finalAttrs: { pname = "nzbget"; - version = "24.1"; + version = "24.2"; src = fetchFromGitHub { owner = "nzbgetcom"; repo = "nzbget"; rev = "v${finalAttrs.version}"; - hash = "sha256-HovfnTsgu07/lp/spI+iA8H7lOj0Qyrri2MOJKyMKHQ="; + hash = "sha256-+iJ5n/meBrMxKHSLxL5QJ7+TI0RMfAM5n/8dwYupGoU="; }; - nativeBuildInputs = [ autoreconfHook pkg-config ]; + patches = [ + (fetchpatch2 { + # status page buffer overflow fix: https://github.com/nzbgetcom/nzbget/pull/346 -- remove when version > 24.2 + url = "https://github.com/nzbgetcom/nzbget/commit/f89978f7479cbb0ff2f96c8632d9d2f31834e6c8.patch"; + hash = "sha256-9K7PGzmoZ8cvEKBm5htfw5fr1GBSddNkDC/Vi4ngRto="; + }) + ]; + + nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ boost @@ -42,8 +52,13 @@ stdenv.mkDerivation (finalAttrs: { zlib ]; - prePatch = '' - sed -i 's/AC_INIT.*/AC_INIT( nzbget, m4_esyscmd_s( echo ${finalAttrs.version} ) )/' configure.ac + postPatch = '' + substituteInPlace daemon/util/Util.cpp \ + --replace-fail "std::string(\"uname \")" "std::string(\"${lib.getExe deterministic-uname} \")" + ''; + + postInstall = '' + install -Dm444 nzbget.conf $out/share/nzbget/nzbget.conf ''; enableParallelBuilding = true; diff --git a/pkgs/by-name/op/openscad-unstable/package.nix b/pkgs/by-name/op/openscad-unstable/package.nix index b0881fe10e05..4e3237a68292 100644 --- a/pkgs/by-name/op/openscad-unstable/package.nix +++ b/pkgs/by-name/op/openscad-unstable/package.nix @@ -82,12 +82,12 @@ in # clang consume much less RAM than GCC clangStdenv.mkDerivation rec { pname = "openscad-unstable"; - version = "2024-07-24"; + version = "2024-08-17"; src = fetchFromGitHub { owner = "openscad"; repo = "openscad"; - rev = "48f4430b12c29a95ab89ffdd8307205d7189421c"; - hash = "sha256-A75JHmWVNlgURb5one5JFkztCrVff2RbyaDaObUp4ZY="; + rev = "a16ca2a670840cfecb76254967380385d4d573cb"; + hash = "sha256-YadbrYaxxdVNejasFW0MbcYwjwTHHQbVjqen9PKEsYQ="; fetchSubmodules = true; }; patches = [ ./test.diff ]; diff --git a/pkgs/by-name/pd/pdf4tcl/package.nix b/pkgs/by-name/pd/pdf4tcl/package.nix new file mode 100644 index 000000000000..94ba20ebd742 --- /dev/null +++ b/pkgs/by-name/pd/pdf4tcl/package.nix @@ -0,0 +1,29 @@ +{ + lib, + tcl, + fetchzip, +}: + +tcl.mkTclDerivation rec { + pname = "pdf4tcl"; + version = "0.9.4"; + + src = fetchzip { + url = "mirror://sourceforge/pdf4tcl/pdf4tcl${lib.replaceStrings [ "." ] [ "" ] version}.tar.gz"; + hash = "sha256-lmSt0UQDfUef8S7zevAvvbeWB/vd6jLbKz7Y5A7xJm4="; + }; + + installPhase = '' + runHook preInstall + mkdir -p $out/lib/pdf4tcl + cp -r * $out/lib/pdf4tcl/ + runHook postInstall + ''; + + meta = { + description = "Tcl package for generating PDF files"; + homepage = "https://pdf4tcl.sourceforge.net/"; + license = lib.licenses.tcltk; + maintainers = with lib.maintainers; [ fgaz ]; + }; +} diff --git a/pkgs/by-name/po/poptop/package.nix b/pkgs/by-name/po/poptop/package.nix new file mode 100644 index 000000000000..8796c2b16272 --- /dev/null +++ b/pkgs/by-name/po/poptop/package.nix @@ -0,0 +1,30 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, +}: +let + pname = "poptop"; + version = "0.1.8"; +in +buildGoModule { + inherit pname version; + + src = fetchFromGitHub { + owner = "bakks"; + repo = "poptop"; + rev = "v${version}"; + hash = "sha256-CwJpkGNTDmtXfJx6GGz2XRU0fMeKl7I3fXm4BJ9MAQ4="; + }; + + vendorHash = "sha256-Ccvr+J+GDKnhlrlv0/kTaQYD986As7yb/h6Vyiuqjoc="; + + meta = { + description = "Modern top command that charts system metrics like CPU load, network IO, etc in the terminal"; + changelog = "https://github.com/bakks/poptop/releases/tag/v${version}"; + homepage = "https://github.com/bakks/poptop"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ luftmensch-luftmensch ]; + mainProgram = "poptop"; + }; +} diff --git a/pkgs/by-name/py/pyright/package.nix b/pkgs/by-name/py/pyright/package.nix index 555e3cab65be..5f24f8e592bc 100644 --- a/pkgs/by-name/py/pyright/package.nix +++ b/pkgs/by-name/py/pyright/package.nix @@ -1,13 +1,13 @@ { lib, buildNpmPackage, fetchFromGitHub, runCommand, jq }: let - version = "1.1.376"; + version = "1.1.377"; src = fetchFromGitHub { owner = "Microsoft"; repo = "pyright"; rev = "${version}"; - hash = "sha256-OxLZF2ZqAHdiXRAO+bC9e9gU05di+NufZhmN/wesm3I="; + hash = "sha256-OvdA3IFUdeBEU97+F9C86k6PDGOYggExj+ZoIt77PuI="; }; patchedPackageJSON = runCommand "package.json" { } '' @@ -37,7 +37,7 @@ let pname = "pyright-internal"; inherit version src; sourceRoot = "${src.name}/packages/pyright-internal"; - npmDepsHash = "sha256-j7+uigtOnYFqHKxcnOJWaQcvGoHJ5FM3BkW6folfkuw="; + npmDepsHash = "sha256-nvqg0145zW+4uvgoATWqzexQVmUBmateowxd6E14Tl8="; dontNpmBuild = true; installPhase = '' runHook preInstall @@ -51,7 +51,7 @@ buildNpmPackage rec { inherit version src; sourceRoot = "${src.name}/packages/pyright"; - npmDepsHash = "sha256-m66enEsj5G0jq3xTnJySIc9bS9SW6YagO00H37lIEIU="; + npmDepsHash = "sha256-aTBk8O6yEwOt1N/WaFOOfPZvfILZ5x7E2vm9N7+qth4="; postPatch = '' chmod +w ../../ diff --git a/pkgs/by-name/tc/tcludp/package.nix b/pkgs/by-name/tc/tcludp/package.nix new file mode 100644 index 000000000000..890b0d4366fc --- /dev/null +++ b/pkgs/by-name/tc/tcludp/package.nix @@ -0,0 +1,39 @@ +{ + lib, + tcl, + fetchfossil, +}: + +tcl.mkTclDerivation rec { + pname = "tcludp"; + version = "1.0.11"; + + src = fetchfossil { + url = "https://core.tcl-lang.org/tcludp"; + rev = "ver_" + lib.replaceStrings [ "." ] [ "_" ] version; + hash = "sha256-PckGwUqL2r5KJEet8sS4U504G63flX84EkQEkQdMifY="; + }; + + # Add missing pkgIndex.tcl.in + postPatch = '' + test ! -e pkgIndex.tcl.in + cat > pkgIndex.tcl.in <