<title>Upgrading</title> <para> <del> FIXME: document dump/upgrade/load cycle. </del> <ins> Major PostgreSQL upgrade requires PostgreSQL downtime and a few imperative steps to be called. To simplify this process, use the following NixOS module: <programlisting> containers.temp-pg.config.services.postgresql = { enable = true; package = pkgs.postgresql_12; ## set a custom new dataDir # dataDir = "/some/data/dir"; }; environment.systemPackages = let newpg = config.containers.temp-pg.config.services.postgresql; in [ (pkgs.writeScriptBin "upgrade-pg-cluster" '' set -x export OLDDATA="${config.services.postgresql.dataDir}" export NEWDATA="${newpg.dataDir}" export OLDBIN="${config.services.postgresql.package}/bin" export NEWBIN="${newpg.package}/bin" install -d -m 0700 -o postgres -g postgres "$NEWDATA" cd "$NEWDATA" sudo -u postgres $NEWBIN/initdb -D "$NEWDATA" systemctl stop postgresql    # old one sudo -u postgres $NEWBIN/pg_upgrade  --old-datadir "$OLDDATA" --new-datadir "$NEWDATA"  --old-bindir $OLDBIN --new-bindir $NEWBIN  "$@" '') ]; </programlisting> </ins> </para> <ins> <para> The upgrade process is: </para> <orderedlist> <listitem> <para> Rebuild nixos configuration with the configuration above added to your <filename>configuration.nix</filename>. Alternatively, add that into separate file and reference it in <literal>imports</literal> list. </para> </listitem> <listitem> <para> Login as root (<literal>sudo su -</literal>) </para> </listitem> <listitem> <para> Run <literal>upgrade-pg-cluster</literal>. It will stop old postgresql, initialize new one and migrate old one to new one. You may supply arguments like <literal>--jobs 4</literal> and <literal>--link</literal> to speedup migration process. See <link xlink:href="https://www.postgresql.org/docs/current/pgupgrade.html" /> for details. </para> </listitem> <listitem> <para> Change postgresql package in NixOS configuration to the one you were upgrading to, and change <literal>dataDir</literal> to the one you have migrated to. Rebuild NixOS. This should start new postgres using upgraded data directory. </para> </listitem> <listitem> <para> After upgrade you may want to <literal>ANALYZE</literal> new db. </para> </listitem> </orderedlist> </ins> </section> <section xml:id="module-services-postgres-options"> <title>Options</title> <para> <del> A complete list of options for the PostgreSQL module may be found <link linkend="opt-services.postgresql.enable">here</link>. </del> <ins> A complete list of options for the PostgreSQL module may be found <link linkend="opt-services.postgresql.enable">here</link>. </ins> </para> </section> <section xml:id="module-services-postgres-plugins"> <title>Plugins</title> <para> <del> Plugins collection for each PostgreSQL version can be accessed with <literal>.pkgs</literal>. For example, for <literal>pkgs.postgresql_11</literal> package, its plugin collection is accessed by <literal>pkgs.postgresql_11.pkgs</literal>: </del> <ins> Plugins collection for each PostgreSQL version can be accessed with <literal>.pkgs</literal>. For example, for <literal>pkgs.postgresql_11</literal> package, its plugin collection is accessed by <literal>pkgs.postgresql_11.pkgs</literal>: </ins> <screen> <prompt>$ </prompt>nix repl '<nixpkgs>'


sea-orm-cli = callPackage ../development/tools/sea-orm-cli { }; <ins> vcpkg-tool = callPackage ../by-name/vc/vcpkg-tool/package.nix { fmt = fmt_10; }; </ins> r3ctl = qt5.callPackage ../tools/misc/r3ctl { }; ptouch-print = callPackage ../misc/ptouch-print { };


configureFlags = [ "--with-gnunet=${gnunet}" ]; <del> patchPhase = "patchShebangs pixmaps/icon-theme-installer"; </del> <ins> postPatch = "patchShebangs pixmaps/icon-theme-installer"; postInstall = '' ln -s $out/share/gnunet-gtk/gnunet_logo.png $out/share/gnunet/gnunet-logo-color.png ''; </ins> meta = gnunet.meta // { description = "GNUnet GTK User Interface";


nativeBuildInputs = [ qmake qttools ]; <del> buildInputs = [ qtbase ]; </del> <ins> buildInputs = [ qtbase qtsvg ]; </ins> qmakeFlags = [ "LRELEASE_EXECUTABLE=${getDev qttools}/bin/lrelease" <ins> "PLUGINDIR=${placeholder "out"}/${qtbase.qtPluginPrefix}" </ins> ]; <del> preConfigure = '' qmakeFlags+=" PLUGINDIR=$out/$qtPluginPrefix" ''; </del> enableParallelBuilding = true; meta = with lib; {


libXrender libXtst zlib <ins> ] ++ lib.optionals stdenv.isLinux [ webkitgtk glib-networking </ins> ]; desktopItems = [


rm src/net/cgo_unix_test.go '' + optionalString stdenv.isLinux '' <del> sed -i 's,/usr/share/zoneinfo/,${tzdata}/share/zoneinfo/,' src/time/zoneinfo_unix.go </del> <ins> # prepend the nix path to the zoneinfo files but also leave the original value for static binaries # that run outside a nix server sed -i 's,"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/",nt&,' src/time/zoneinfo_unix.go </ins> '' + optionalString stdenv.isAarch32 '' echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash '' + optionalString stdenv.isDarwin ''


<ins> { lib , stdenv , fetchurl , jre , makeWrapper }: let version = "0.14.1"; peergos = fetchurl { url = "https://github.com/Peergos/web-ui/releases/download/v${version}/Peergos.jar"; hash = "sha256-oCsUuFxTAL0vAabGggGhZHaF40A5TLfkT15HYPiKHlU="; }; in stdenv.mkDerivation rec { pname = "peergos"; inherit version; dontUnpack = true; dontBuild = true; nativeBuildInputs = [ makeWrapper ]; installPhase = '' runHook preInstall install -D ${peergos} $out/share/java/peergos.jar makeWrapper ${lib.getExe jre} $out/bin/${pname}  --add-flags "-jar -Djava.library.path=native-lib $out/share/java/${pname}.jar" runHook postInstall ''; meta = with lib; { description = "A p2p, secure file storage, social network and application protocol"; homepage = "https://peergos.org/"; # peergos have agpt3 license, peergos-web-ui have gpl3, both are used license = [ licenses.agpl3Only licenses.gpl3Only ]; platforms = platforms.all; maintainers = with maintainers; [ raspher ]; sourceProvenance = with sourceTypes; [ binaryBytecode ]; }; } </ins>


<del> Index: include/VBox/sup.h =================================================================== --- trunk/include/VBox/sup.h	(revision 151556) +++ trunk/include/VBox/sup.h	(working copy) @@ -2142,6 +2142,26 @@ */ SUPR0DECL(uint32_t) SUPR0GetKernelFeatures(void); +/** + * Notification from R0 VMM prior to loading the guest-FPU register state. + * + * @returns Whether the host-FPU register state has been saved by the host kernel. + * @param   fCtxHook    Whether thread-context hooks are enabled. + * + * @remarks Called with preemption disabled. + */ +SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook); + +/** + * Notification from R0 VMM prior to saving the guest-FPU register state (and + * potentially restoring the host-FPU register state) in ring-0. + * + * @param   fCtxHook    Whether thread-context hooks are enabled. + * + * @remarks Called with preemption disabled. + */ +SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook); + /** @copydoc RTLogGetDefaultInstanceEx * @remarks To allow overriding RTLogGetDefaultInstanceEx locally. */ SUPR0DECL(struct RTLOGGER *) SUPR0GetDefaultLogInstanceEx(uint32_t fFlagsAndGroup); Index: src/VBox/Additions/linux/sharedfolders/regops.c =================================================================== --- trunk/src/VBox/Additions/linux/sharedfolders/regops.c	(revision 151556) +++ trunk/src/VBox/Additions/linux/sharedfolders/regops.c	(working copy) @@ -3823,7 +3823,9 @@ .readpage       = vbsf_readpage, .writepage      = vbsf_writepage, /** @todo Need .writepages if we want msync performance...  */ -#if RTLNX_VER_MIN(2,5,12) +#if RTLNX_VER_MIN(5,18,0) +    .dirty_folio = filemap_dirty_folio, +#elif RTLNX_VER_MIN(2,5,12) .set_page_dirty = __set_page_dirty_buffers, #endif #if RTLNX_VER_MIN(5,14,0) Index: src/VBox/Additions =================================================================== --- trunk/src/VBox/Additions	(revision 151556) +++ trunk/src/VBox/Additions	(working copy) Property changes on: src/VBox/Additions ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /trunk/src/VBox/Additions:r150844 Index: src/VBox/HostDrivers/Support/SUPDrv.cpp =================================================================== --- trunk/src/VBox/HostDrivers/Support/SUPDrv.cpp	(revision 151556) +++ trunk/src/VBox/HostDrivers/Support/SUPDrv.cpp	(working copy) @@ -98,6 +98,18 @@ # endif #endif +#if defined(RT_OS_LINUX) && !defined(__NO_FORTIFY) && defined(__OPTIMIZE__) && defined(CONFIG_FORTIFY_SOURCE) +/* In Linux 5.18-rc1, memcpy became a wrapper which does fortify checks + * before triggering __underlying_memcpy() call. We do not pass these checks here, + * so bypass them for now.  */ +# if RTLNX_VER_MIN(5,18,0) +#  define SUPDRV_MEMCPY __underlying_memcpy +# else +# define SUPDRV_MEMCPY  memcpy +# endif +#else +# define SUPDRV_MEMCPY  memcpy +#endif /* * Logging assignments: @@ -266,6 +278,8 @@ SUPEXP_STK_BACK(    2,  SUPR0ContFree), SUPEXP_STK_BACK(    2,  SUPR0ChangeCR4), SUPEXP_STK_BACK(    1,  SUPR0EnableVTx), +    SUPEXP_STK_OKAY(    1,  SUPR0FpuBegin), +    SUPEXP_STK_OKAY(    1,  SUPR0FpuEnd), SUPEXP_STK_BACK(    0,  SUPR0SuspendVTxOnCpu), SUPEXP_STK_BACK(    1,  SUPR0ResumeVTxOnCpu), SUPEXP_STK_OKAY(    1,  SUPR0GetCurrentGdtRw), @@ -1742,7 +1756,7 @@ /* execute */ pReq->u.Out.cFunctions = RT_ELEMENTS(g_aFunctions); -            memcpy(&pReq->u.Out.aFunctions[0], g_aFunctions, sizeof(g_aFunctions)); +            SUPDRV_MEMCPY(&pReq->u.Out.aFunctions[0], g_aFunctions, sizeof(g_aFunctions)); pReq->Hdr.rc = VINF_SUCCESS; return 0; } Index: src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp =================================================================== --- trunk/src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp	(revision 151556) +++ trunk/src/VBox/HostDrivers/Support/darwin/SUPDrv-darwin.cpp	(working copy) @@ -2002,6 +2002,18 @@ } +SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook) +{ +    RT_NOREF(fCtxHook); +    return false; +} + + +SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook) +{ +    RT_NOREF(fCtxHook); +} + /* * * org_virtualbox_SupDrv Index: src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c =================================================================== --- trunk/src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c	(revision 151556) +++ trunk/src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c	(working copy) @@ -640,3 +640,16 @@ return 0; } + +SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook) +{ +    RT_NOREF(fCtxHook); +    return false; +} + + +SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook) +{ +    RT_NOREF(fCtxHook); +} + Index: src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c =================================================================== --- trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c	(revision 151556) +++ trunk/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c	(working copy) @@ -1454,6 +1454,31 @@ } +SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook) +{ +    RT_NOREF(fCtxHook); +#if RTLNX_VER_MIN(5,18,0) +    kernel_fpu_begin(); +    /* if (fCtxHook) */ +        preempt_enable();  /* HACK ALERT! undo the implicit preempt_disable() in kernel_fpu_begin(). */ +    return true; +#else +    return false; +#endif +} + + +SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook) +{ +    RT_NOREF(fCtxHook); +#if RTLNX_VER_MIN(5,18,0) +    /* if (fCtxHook) */ +        preempt_disable();  /* HACK ALERT! undo the implicit preempt_enable() in SUPR0FpuBegin(). */ +    kernel_fpu_end(); +#endif +} + + int VBOXCALL    supdrvOSGetCurrentGdtRw(RTHCUINTPTR *pGdtRw) { #if RTLNX_VER_MIN(4,12,0) Index: src/VBox/HostDrivers/Support/os2/SUPDrv-os2.cpp =================================================================== --- trunk/src/VBox/HostDrivers/Support/os2/SUPDrv-os2.cpp	(revision 151556) +++ trunk/src/VBox/HostDrivers/Support/os2/SUPDrv-os2.cpp	(working copy) @@ -541,3 +541,16 @@ return 0; } + +SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook) +{ +    RT_NOREF(fCtxHook); +    return false; +} + + +SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook) +{ +    RT_NOREF(fCtxHook); +} + Index: src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c =================================================================== --- trunk/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c	(revision 151556) +++ trunk/src/VBox/HostDrivers/Support/solaris/SUPDrv-solaris.c	(working copy) @@ -1309,3 +1309,16 @@ return 0; } + +SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook) +{ +    RT_NOREF(fCtxHook); +    return false; +} + + +SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook) +{ +    RT_NOREF(fCtxHook); +} + Index: src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp =================================================================== --- trunk/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp	(revision 151556) +++ trunk/src/VBox/HostDrivers/Support/win/SUPDrv-win.cpp	(working copy) @@ -2704,6 +2704,19 @@ } +SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook) +{ +    RT_NOREF(fCtxHook); +    return false; +} + + +SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook) +{ +    RT_NOREF(fCtxHook); +} + + SUPR0DECL(int) SUPR0IoCtlSetupForHandle(PSUPDRVSESSION pSession, intptr_t hHandle, uint32_t fFlags, PSUPR0IOCTLCTX *ppCtx) { /* Index: src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c =================================================================== --- trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c	(revision 151556) +++ trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c	(working copy) @@ -2311,7 +2311,13 @@ vboxNetFltDumpPacket(pSG, true, "host", (fDst & INTNETTRUNKDIR_WIRE) ? 0 : 1); Log6(("vboxNetFltPortOsXmit: pBuf->cb dump:n%.*Rhxdn", sizeof(pBuf->cb), pBuf->cb)); Log6(("vboxNetFltPortOsXmit: netif_rx_ni(%p)n", pBuf)); +#if RTLNX_VER_MIN(5,18,0) +                local_bh_disable(); +                err = netif_rx(pBuf); +                local_bh_enable(); +#else err = netif_rx_ni(pBuf); +#endif if (err) rc = RTErrConvertFromErrno(err); } Index: src/VBox/VMM/VMMR0/CPUMR0.cpp =================================================================== --- trunk/src/VBox/VMM/VMMR0/CPUMR0.cpp	(revision 151556) +++ trunk/src/VBox/VMM/VMMR0/CPUMR0.cpp	(working copy) @@ -440,6 +440,9 @@ Assert(!(pVCpu->cpum.s.fUseFlags & CPUM_USED_FPU_GUEST)); Assert(!(pVCpu->cpum.s.fUseFlags & CPUM_SYNC_FPU_STATE)); +    /* Notify the support driver prior to loading the guest-FPU register state. */ +    SUPR0FpuBegin(false /* unused */); + if (!pVM->cpum.s.HostFeatures.fLeakyFxSR) { Assert(!(pVCpu->cpum.s.fUseFlags & CPUM_USED_MANUAL_XMM_RESTORE)); @@ -484,6 +487,9 @@ Assert(ASMGetCR4() & X86_CR4_OSFXSR); if (pVCpu->cpum.s.fUseFlags & (CPUM_USED_FPU_GUEST | CPUM_USED_FPU_HOST)) { +        /* Notify the support driver prior to loading the host-FPU register state. */ +        SUPR0FpuEnd(false /* unused */); + fSavedGuest = RT_BOOL(pVCpu->cpum.s.fUseFlags & CPUM_USED_FPU_GUEST); if (!(pVCpu->cpum.s.fUseFlags & CPUM_USED_MANUAL_XMM_RESTORE)) cpumR0SaveGuestRestoreHostFPUState(&pVCpu->cpum.s); </del>


# tesseract & leptonica. ++ lib.optionals enableTesseract [ tesseract leptonica ] ++ lib.optional enableTbb tbb <del> ++ lib.optionals enableCuda [ cudatoolkit nvidia-optical-flow-sdk ] </del> ++ lib.optionals stdenv.isDarwin [ bzip2 AVFoundation Cocoa VideoDecodeAcceleration CoreMedia MediaToolbox ] ++ lib.optionals enableDocs [ doxygen graphviz-nox ]; <del> propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy; </del> <ins> propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy ++ lib.optionals enableCuda [ cudatoolkit nvidia-optical-flow-sdk ]; </ins> nativeBuildInputs = [ cmake pkg-config unzip ];


description = "Twitch.tv browser for Streamlink"; longDescription = "Browse Twitch.tv and watch streams in your videoplayer of choice"; homepage = "https://streamlink.github.io/streamlink-twitch-gui/"; <del> downloadPage = https://github.com/streamlink/streamlink-twitch-gui/releases; </del> <ins> downloadPage = "https://github.com/streamlink/streamlink-twitch-gui/releases"; </ins> license = licenses.mit; maintainers = with maintainers; [ rileyinman ]; platforms = [ "x86_64-linux" "i686-linux" ];


module_init_tools = kmod; # added 2016-04-22 mozart = mozart2-binary; # added 2019-09-23 mozart-binary = mozart2-binary; # added 2019-09-23 <ins> mpc_cli = mpc-cli; # moved from top-level 2022-01-24 </ins> mpd_clientlib = libmpdclient; # added 2021-02-11 mpich2 = mpich;  # added 2018-08-06 msf = metasploit; # added 2018-04-25


gcr gnome.adwaita-icon-theme libsecret <ins> libportal-gtk3 </ins> ]; postPatch = ''


<del> { stdenv, fetchFromGitHub, autoconf, automake, libtool, ... }: </del> <ins> { stdenv, fetchFromGitHub, autoreconfHook, jdk # Enable ECDSA pubkey recovery module , enableRecovery ? true # Enable ECDH shared secret computation (disabled by default because it is # experimental) , enableECDH ? false # Enable libsecp256k1_jni (disabled by default because it requires a jdk, # which is a large dependency) , enableJNI ? false }: let inherit (stdenv.lib) optionals; in </ins> stdenv.mkDerivation rec { name = "secp256k1-${version}"; <del> # I can't find any version numbers, so we're just using the date # of the last commit. version = "2016-05-30"; </del> <ins> # I can't find any version numbers, so we're just using the date of the # last commit. version = "2016-11-27"; </ins> src = fetchFromGitHub { owner = "bitcoin-core"; repo = "secp256k1"; <del> rev = "b3be8521e694eaf45dd29baea035055183c42fe2"; sha256 = "1pgsy72w87yxbiqn96hnm8alsfx3rj7d9jlzdsypyf6i1rf6w4bq"; </del> <ins> rev = "2928420c1b8e1feee8c20dff4e3cc41a0de2fc22"; sha256 = "1djsr2vrhh88353czlwb8bwlyabf008w1f7xg0fs3q33rf42w5gm"; </ins> }; <del> buildInputs = [ autoconf automake libtool ]; </del> <ins> buildInputs = optionals enableJNI [ jdk ]; </ins> <del> configureFlags = [ "--enable-module-recovery" ]; </del> <ins> nativeBuildInputs = [ autoreconfHook ]; </ins> <del> preConfigure = "./autogen.sh"; </del> <ins> configureFlags = optionals enableECDH [ "--enable-module-ecdh" "--enable-experimental" ] ++ optionals enableRecovery [ "--enable-module-recovery" ] ++ optionals enableJNI [ "--enable-jni" ]; </ins> meta = with stdenv.lib; { description = "Optimized C library for EC operations on curve secp256k1"; longDescription = '' <del> Optimized C library for EC operations on curve secp256k1. Part of Bitcoin Core. This library is a work in progress and is being used to research best practices. Use at your own risk. </del> <ins> Optimized C library for EC operations on curve secp256k1. Part of Bitcoin Core. This library is a work in progress and is being used to research best practices. Use at your own risk. </ins> ''; homepage = https://github.com/bitcoin-core/secp256k1; license = with licenses; [ mit ];


(fetchNuGet { pname = "ppy.Veldrid.MetalBindings"; version = "4.9.5-gc8dfc5ca19"; sha256 = "0i6bb79kprrmsfphjq26rgxqfvvf12pxr7dfwcq448dw2xgq6rpy"; }) (fetchNuGet { pname = "ppy.Veldrid.OpenGLBindings"; version = "4.9.5-gc8dfc5ca19"; sha256 = "06a4kkfidr7yj60xl3k4yfawz4wzwkkjpaki8fmsanif1yhz69l8"; }) (fetchNuGet { pname = "ppy.Veldrid.SPIRV"; version = "1.0.15-gca6cec7843"; sha256 = "09pi4c91ljavilw9kx7kzhcax7ar4zk7zy1qwvqfrqsgxznvyxa1"; }) <del> (fetchNuGet { pname = "Realm"; version = "11.7.0"; sha256 = "1vp8rparpcv7rbqx7m55xcji941a6qjamxhb943fgfkjf196z69w"; }) (fetchNuGet { pname = "Realm.PlatformHelpers"; version = "11.7.0"; sha256 = "1a7kaap5ad3n7cgf07xa9yc4c1qi7cf2zj3f5hdv7fp84bdzmysg"; }) </del> <ins> (fetchNuGet { pname = "Realm"; version = "11.5.0"; sha256 = "0r7j5si3n4ncq8xnnjk1q5jjqbj0s1w3ps124y8pgqd14dzvch6a"; }) (fetchNuGet { pname = "Realm.PlatformHelpers"; version = "11.5.0"; sha256 = "1ggbmlsf04pxnh1k86hs0wxnvcw0ja2xnn6358qmrp826km0w1g9"; }) </ins> (fetchNuGet { pname = "Remotion.Linq"; version = "2.2.0"; sha256 = "1y46ni0xswmmiryp8sydjgryafwn458dr91f9xn653w73kdyk4xf"; }) (fetchNuGet { pname = "runtime.any.System.Collections"; version = "4.3.0"; sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0"; }) (fetchNuGet { pname = "runtime.any.System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk"; })


rustPlatform.buildRustPackage rec { pname = "gping"; <del> version = "1.2.1"; </del> <ins> version = "1.2.6"; </ins> src = fetchFromGitHub { owner = "orf"; repo = "gping"; <del> rev = "v${version}"; sha256 = "sha256-lApm1JLXNjDKLj6zj25OaZDVp7lLW3qyrDsvJrudl8I="; </del> <ins> rev = "gping-v${version}"; sha256 = "sha256-Sxmwuf+iTBTlpfMFCEUp6JyEaoHgmLIKB/gws2KY/xc="; </ins> }; <del> cargoSha256 = "sha256-d1NjPwT3YDp1U9JWeUejpWDbJonFlt5lYbUf7p3jVT0="; </del> <ins> cargoSha256 = "sha256-xEASs6r5zxYJXS+at6aX5n0whGp5qwuNwq6Jh0GM+/4="; </ins> buildInputs = lib.optional stdenv.isDarwin libiconv;


<ins> { rustPlatform, lib, fetchFromGitHub, nix-update-script, nixosTests, }: rustPlatform.buildRustPackage rec { pname = "turn-rs"; version = "3.1.0"; src = fetchFromGitHub { owner = "mycrl"; repo = "turn-rs"; rev = "refs/tags/v${version}"; hash = "sha256-uXMRDgSHrwT6+kejWRSE1WjXO8LaOR+fnffIXcL3A4I="; }; cargoHash = "sha256-gO2vuOQMvl6KYp529k3CYDyma5ECzOr/lcSvP4OpUUo="; passthru = { updateScript = nix-update-script { }; tests.nixos = nixosTests.turn-rs; }; meta = { description = "Pure rust implemented turn server"; homepage = "https://github.com/mycrl/turn-rs"; changelog = "https://github.com/mycrl/turn-rs/releases/tag/v${version}"; license = lib.licenses.gpl3Only; mainProgram = "turn-server"; maintainers = with lib.maintainers; [ bot-wxt1221 ]; platforms = lib.platforms.linux; }; } </ins>


{ lib , stdenv <del> , fetchFromGitHub </del> <ins> , fetchFromGitea , substituteAll </ins> , testers , gummy , cmake


<ins> { fetchFromGitHub, }: { qmplay2 = let self = { pname = "qmplay2"; version = "24.06.16"; src = fetchFromGitHub { owner = "zaps166"; repo = "QMPlay2"; rev = self.version; hash = "sha256-HoFyC/OFmthUYfyo6//+KmBIq06MPb5GmDekJbnsz5o="; }; }; in self; qmvk = { pname = "qmvk"; version = "0-unstable-2024-04-19"; src = fetchFromGitHub { owner = "zaps166"; repo = "QmVk"; rev = "5c5c2942255820b6343afdfeea0405cd3b36870e"; hash = "sha256-viFM9N5PiSCgkGlxtrLFCVDIML/QyPiaPRX77RW2NNw="; }; }; } </ins>


} <ins> sub cpuManufacturer { my $id = shift; return $cpuinfo =~ /^vendor_ids*:.* $id$/m; } </ins> # Determine CPU governor to use if (-e "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors") {


{ lib, fetchFromGitHub, cmake, curl, xorg, avahi, qtbase, mkDerivation, openssl, wrapGAppsHook, <del> avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; } </del> <ins> avahiWithLibdnssdCompat ? avahi.override { withLibdnssdCompat = true; }, fetchpatch </ins> }: mkDerivation rec {


if ($copyKernels == 0) { $grubStore = GrubFs($storePath); } <del> my $extraInitrdPath; if ($extraInitrd) { if (! -f $extraInitrd) { print STDERR "Warning: the specified extraInitrd " . $extraInitrd . " doesn't exist. Your system won't boot without it.n"; } $extraInitrdPath = GrubFs($extraInitrd); } </del> # Generate the header. my $conf .= "# Automatically generated.  DO NOT EDIT THIS FILE!n";


<ins> Fetched from https://blog.sonarsource.com/rainloop-emails-at-risk-due-to-code-flaw/ --- a/rainloop/rainloop/v/1.16.0/app/libraries/MailSo/Base/HtmlUtils.php +++ b/rainloop/rainloop/v/1.16.0/app/libraries/MailSo/Base/HtmlUtils.php @@ -239,7 +239,8 @@ class HtmlUtils $oWrapHtml->setAttribute($sKey, $sValue); } -			$oWrapDom = $oDom->createElement('div', '___xxx___'); +			$rand_str = base64_encode(random_bytes(32)); +			$oWrapDom = $oDom->createElement('div', $rand_str); $oWrapDom->setAttribute('data-x-div-type', 'body'); foreach ($aBodylAttrs as $sKey => $sValue) { @@ -250,7 +251,7 @@ class HtmlUtils $sWrp = $oDom->saveHTML($oWrapHtml); -			$sResult = str_replace('___xxx___', $sResult, $sWrp); +			$sResult = str_replace($rand_str, $sResult, $sWrp); } $sResult = str_replace(MailSoBaseHtmlUtils::$KOS, ':', $sResult); </ins>


stable = mkFlutter { pname = "flutter"; channel = "stable"; <del> version = "1.12.13+hotfix.8"; sha256Hash = "01ik4xckr3fp65sq4g0g6wy5b9i0r49l643xmbxa6z9k21sby46d"; </del> <ins> version = "1.12.13+hotfix.9"; sha256Hash = "1ql3zvmmk5zk47y30lajxaam04q6vr373dayq15jv4vpc0fzif1y"; </ins> patches = getPatches ./patches/stable; }; beta = mkFlutter { pname = "flutter-beta"; channel = "beta"; <del> version = "1.14.6"; sha256Hash = "1a79pr741zkr39p5gc3p9x59d70vm60hpz2crgc53ysglj4ycigy"; </del> <ins> version = "1.15.17"; sha256Hash = "0iil6y6y477dhjgzx54ab5m9nj0jg4xl8x4zzd9iwh8m756r7qsd"; </ins> patches = getPatches ./patches/beta; }; <del> dev = mkFlutter { </del> <ins> dev = mkFlutter rec { </ins> pname = "flutter-dev"; channel = "dev"; <del> version = "1.15.3"; sha256Hash = "06mawwqf7q7wdmzlyxlrlblhnnk4ckf3vp92lplippdh3d52r93i"; patches = getPatches ./patches/dev; </del> <ins> version = "1.17.0-dev.5.0"; filename = "flutter_linux_${version}-${channel}.tar.xz"; sha256Hash = "0ks2jf2bd42y2jsc91p33r57q7j3m94d8ihkmlxzwi53x1mwp0pk"; patches = getPatches ./patches/beta; </ins> }; }


# Give key acme permissions chown '${data.user}:${data.group}' "${apath}/"{key,fullchain,full}.pem <del> chmod ${rights} "${apath}/"{key,fullchain,full}.pem </del> <ins> chmod ${fileMode} "${apath}/"{key,fullchain,full}.pem </ins> ''; serviceConfig = { Type = "oneshot";


python3Packages.buildPythonApplication rec { pname = "keepmenu"; <del> version = "1.2.2"; </del> <ins> version = "1.3.1"; </ins> src = fetchPypi { inherit pname version; <del> sha256 = "SeVNtONH1bn2hb2pBOVM3Oafrb+jARgfvRe7vUu6Gto="; </del> <ins> hash = "sha256-AGuJY7IirzIjcu/nY9CzeOqU1liwcRijYLi8hGN/pRg="; </ins> }; preConfigure = ''


oldInterpreterLine=$(head -1 "$f" | tail -c+3) read -r oldPath arg0 args <<< "$oldInterpreterLine" <ins> if [ -z "$pathName" ]; then if [ -n "$strictDeps" ] && [[ "$f" = "$NIX_STORE"* ]]; then pathName=HOST_PATH else pathName=PATH fi fi </ins> if $(echo "$oldPath" | grep -q "/bin/env$"); then # Check for unsupported 'env' functionality: # - options: something starting with a '-'


let # Release calendar: https://www.mesa3d.org/release-calendar.html # Release frequency: https://www.mesa3d.org/releasing.html#schedule <del> version = "21.0.1"; </del> <ins> version = "21.0.3"; </ins> branch  = versions.major version; self = stdenv.mkDerivation {


# supporting it, or their bundled containerd systemd.enableUnifiedCgroupHierarchy = false; <ins> environment.systemPackages = [ config.services.k3s.package ]; </ins> systemd.services.k3s = { description = "k3s service"; after = mkIf cfg.docker [ "docker.service" ]; wantedBy = [ "multi-user.target" ]; <ins> path = optional config.boot.zfs.enabled config.boot.zfs.package; </ins> serviceConfig = { # See: https://github.com/rancher/k3s/blob/dddbd16305284ae4bd14c0aade892412310d7edc/install.sh#L197 Type = if cfg.role == "agent" then "exec" else "notify";


checkFeatures = [ ]; patches = lib.optionals stdenv.isLinux [ <del> (runCommand "0001-dynamically-patchelf-binaries.patch" { CC = stdenv.cc; patchelf = patchelf; libPath = "$ORIGIN/../lib:${libPath}"; } '' </del> <ins> (runCommand "0001-dynamically-patchelf-binaries.patch" { CC = stdenv.cc; patchelf = patchelf; libPath = "${libPath}"; } '' </ins> export dynamicLinker=$(cat $CC/nix-support/dynamic-linker) substitute ${./0001-dynamically-patchelf-binaries.patch} $out  --subst-var patchelf


<ins> diff --git a/pack.ts b/pack.ts index aba98cc..03ce86a 100644 --- a/pack.ts +++ b/pack.ts @@ -75,33 +75,7 @@ const packageApp = async () => { delete pJson.scripts.prepack; // We don't want to rebuild - all built code will be in the packed content await fs.writeJson(path.join(OUTPUT_DIR, 'package.json'), pJson); -    const buildScript = path.join(OUTPUT_DIR, 'build-release.sh'); - -    // Run build-release in this folder, for each platform. For each bundle, we copy in -    // only the relevant platform-specific NSS files. -    console.log('Building for Linux'); -    await fs.mkdir(path.join(OUTPUT_DIR, 'nss')); -    await fs.copy(path.join(__dirname, 'nss', 'linux'), path.join(OUTPUT_DIR, 'nss', 'linux')); -    await spawn(buildScript, ['linux'], { cwd: OUTPUT_DIR, stdio: 'inherit' }); - -    console.log('Building for Darwin'); -    await fs.remove(path.join(OUTPUT_DIR, 'nss', 'linux')); -    await fs.copy(path.join(__dirname, 'nss', 'darwin'), path.join(OUTPUT_DIR, 'nss', 'darwin')); -    await spawn(buildScript, ['darwin'], { cwd: OUTPUT_DIR, stdio: 'inherit' }); - -    console.log('Building for Win32'); -    await fs.remove(path.join(OUTPUT_DIR, 'nss', 'darwin')); -    await fs.copy(path.join(__dirname, 'nss', 'win32'), path.join(OUTPUT_DIR, 'nss', 'win32')); -    await spawn(buildScript, ['win32'], { cwd: OUTPUT_DIR, stdio: 'inherit' }); - -    // Oclif builds a nodeless platform-agnostic bundle too (although in our case, nothing is -    // really platform agnostic). Not necessary, probably won't work - drop it. -    await fs.remove(path.join( -        OUTPUT_DIR, -        'dist', -        `v${pJson.version}`, -        `httptoolkit-server-v${pJson.version}.tar.gz` -    )); +    await spawn('npm', ['exec', '--', 'oclif-dev', 'pack', '--targets=linux-x64'], { cwd: OUTPUT_DIR, stdio: 'inherit' }); } packageApp().catch(e => { </ins>


buildInputs = [ makeWrapper ]; postBuild = '' wrapProgram $out/bin/idris  <del> --run 'export IDRIS_CC=''${IDRIS_CC:-${lib.getBin gcc}/bin/gcc}'  --suffix LIBRARY_PATH : ${lib.makeLibraryPath [ gmp ]} </del> <ins> --run 'export IDRIS_CC=''${IDRIS_CC:-${stdenv.cc}/bin/cc}'  --set NIX_CC_WRAPPER_${stdenv.cc.infixSalt}_TARGET_HOST 1  --prefix NIX_CFLAGS_COMPILE " " "-I${lib.getDev gmp}/include"  --prefix NIX_CFLAGS_LINK " " "-L${lib.getLib gmp}/lib" </ins> ''; }


hadoop3 = hadoop_3_3; hadoop = hadoop3; <ins> hashlink = callPackage ../development/interpreters/hashlink { }; </ins> io = callPackage ../development/interpreters/io { }; ivy = callPackage ../development/interpreters/ivy { };


--bash <($out/bin/olaris-server completion bash)  --fish <($out/bin/olaris-server completion fish)  --zsh <($out/bin/olaris-server completion zsh) <ins> wrapProgram $out/bin/olaris-server --prefix PATH : ${lib.makeBinPath [ffmpeg]} </ins> ''; meta = with lib; {


else # The state directory is entirely empty which indicates a first start copy_tokens <del> fi        ''; </del> <ins> fi ''; </ins> configureRunner = writeScript "configure" '' if [[ -e "${newConfigTokenPath}" ]]; then echo "Configuring GitHub Actions Runner" args=( --unattended --disableupdate <del> --work "$RUNTIME_DIRECTORY" </del> <ins> --work "$WORK_DIRECTORY" </ins> --url ${escapeShellArg cfg.url} --labels ${escapeShellArg (concatStringsSep "," cfg.extraLabels)} --name ${escapeShellArg cfg.name}


hash = "sha256-5MP6X33Jfu97o5R1n6Og64Bv4ZMxVM0A8lXeQug+bNA="; }; <del> icons = let sparseCheckout = "/release/images/itch-icons"; in </del> <ins> sparseCheckout = "/release/images/itch-icons"; icons = </ins> fetchFromGitHub { <del> owner = "itchio"; repo = "itch"; rev = "v${version}-canary"; hash = "sha256-0AMyDZ5oI7/pSvudoEqXnMZJtpcKVlUSR6YVm+s4xv0="; sparseCheckout = [ sparseCheckout ]; } + sparseCheckout; </del> <ins> owner = "itchio"; repo = "itch"; rev = "v${version}"; hash = "sha256-jugg+hdP0y0OkFhdQuEI9neWDuNf2p3+DQuwxe09Zck="; sparseCheckout = [ sparseCheckout ]; } + sparseCheckout; in stdenvNoCC.mkDerivation (finalAttrs: { pname = "itch"; inherit version; </ins> <del> nativeBuildInputs = [ copyDesktopItems makeWrapper ]; </del> <ins> src = fetchzip { url = "https://broth.itch.ovh/itch/linux-amd64/${finalAttrs.version}/archive/default#.zip"; stripRoot = false; hash = "sha256-4k6afBgOKGs7rzXAtIBpmuQeeT/Va8/0bZgNYjuJhgI="; }; nativeBuildInputs = [ copyDesktopItems makeWrapper ]; </ins> desktopItems = [ (makeDesktopItem {


, enableKernelPoll ? true , javacSupport ? false, javacPackages ? [ openjdk ] , odbcSupport ? false, odbcPackages ? [ unixODBC ] <del> , wxSupport ? true, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ] </del> <ins> , wxSupport ? !stdenv.isDarwin, wxPackages ? [ libGLU_combined wxGTK xorg.libX11 ] </ins> , preUnpack ? "", postUnpack ? "" , patches ? [], patchPhase ? "", prePatch ? "", postPatch ? "" , configureFlags ? [], configurePhase ? "", preConfigure ? "", postConfigure ? ""


rev = version; hash = "sha256-Gc22Y2T4uO39jiOqEUFeOfnVCbknuDjmzFPZgk2eY74="; }; <ins> patches = [ ]; </ins> nativeCheckInputs = old.nativeCheckInputs ++ [ self.tomli-w ];


inherit (binary) platform checksum; in stdenv.mkDerivation rec { pname = "cypress"; <del> version = "13.2.0"; </del> <ins> version = "13.13.2"; </ins> src = fetchzip { url = "https://cdn.cypress.io/desktop/${version}/${platform}/cypress.zip";


<ins> { lib, buildPythonPackage, fetchPypi, click, colorama, flask, requests, yt-dlp }: buildPythonPackage rec { pname = "yark"; version = "1.2.3"; src = fetchPypi { inherit pname version; sha256 = "sha256-KMnQpEH2Z19Y0jBjqx2rZjmlle2M9bcuDCjDIljQEYY="; }; propagatedBuildInputs = [ click colorama flask requests yt-dlp ]; # There aren't any unit tests. If test discovery runs, it will crash, halting the build. # When upstream adds unit tests, please configure them here. Thanks! ~ C. doCheck = false; meta = with lib; { description = "YouTube archiving made simple"; homepage = "https://github.com/Owez/yark"; license = licenses.mit; }; } </ins>


homepage = "https://teamspeak.com/"; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = { <ins> # See distribution-permit.txt for a confirmation that nixpkgs is allowed to distribute TeamSpeak. </ins> fullName = "Teamspeak client license"; url = "https://www.teamspeak.com/en/privacy-and-terms/"; free = false; }; <del> maintainers = with maintainers; [ lhvwb lukegb atemu ]; </del> <ins> maintainers = with maintainers; [ lhvwb lukegb atemu ]; </ins> mainProgram = "ts3client"; platforms = [ "x86_64-linux" ]; }; } <del> /* License issues: Date: Mon, 10 Dec 2007 19:55:16 -0500 From: TeamSpeak Sales <sales@tritoncia.com> To: 'Marc Weber' <marco-oweber@gmx.de> Subject: RE: teamspeak on nix? Yes, that would be fine.  As long as you are not renting servers or selling TeamSpeak then you are more than welcome to distribute it. Thank you, TeamSpeak Sales Team ________________________________ e-Mail: sales@tritoncia.com TeamSpeak: http://www.TeamSpeak.com Account Login: https://sales.TritonCIA.com/users -----Original Message----- From: Marc Weber [mailto:marco-oweber@gmx.de] Sent: Monday, December 10, 2007 5:03 PM To: sales@tritoncia.com Subject: teamspeak on nix? Hello, nix is very young software distribution system (http://nix.cs.uu.nl/) I'd like to ask wether you permit us to add teamspeak (server/ client?) Sincerly Marc Weber (small nix contributor) */ </del>


;;; from: /nix/store/<hash>-emacs-<version>/share/emacs/site-lisp/site-start.el ;;; to:   /nix/store/<hash>-emacs-<version>/share/emacs/<version>/src/ (let ((emacs <del> (file-name-directory                      ;; .../emacs/ (directory-file-name                     ;; .../emacs/site-lisp (file-name-directory load-file-name)))) ;; .../emacs/site-lisp/ </del> <ins> (file-name-directory                      ; .../emacs/ (directory-file-name                     ; .../emacs/site-lisp (file-name-directory load-file-name)))) ; .../emacs/site-lisp/ </ins> (version (file-name-as-directory (concat


buildPythonPackage rec { pname = "rapidfuzz"; <del> version = "2.13.2"; </del> <ins> version = "2.13.3"; </ins> disabled = pythonOlder "3.7";


"-DCMAKE_BUILD_TYPE=RelWithDebInfo" ]; <ins> postInstall = '' for i in $out/bin/*; do wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH" done ''; </ins> meta = with lib; { description = "A free and open source painting application"; homepage = https://krita.org/;


outline = handleTest ./outline.nix {}; image-contents = handleTest ./image-contents.nix {}; openvscode-server = handleTest ./openvscode-server.nix {}; <ins> open-webui = runTest ./open-webui.nix; </ins> orangefs = handleTest ./orangefs.nix {}; os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {}; osquery = handleTestOn ["x86_64-linux"] ./osquery.nix {};


, ghc_filesystem , msaClientID ? "" , jdks ? [ jdk17 jdk8 ] <ins> , gamemodeSupport ? true , gamemode </ins> }: let


enableParallelBuilding = true; <ins> # separateDebugInfo breaks static build # https://github.com/NixOS/nixpkgs/issues/219466 separateDebugInfo = !stdenv.hostPlatform.isStatic; </ins> doCheck = true; # Some of the tests use localhost networking.


buildGoModule rec { pname = "auth0-cli"; <del> version = "1.5.0"; </del> <ins> version = "1.4.0"; </ins> src = fetchFromGitHub { owner = "auth0"; repo = "auth0-cli"; rev = "refs/tags/v${version}"; <del> hash = "sha256-C4zKWMrWGrnamlcugrOUUUdCUwYDgiD6XKdBQ3bBWFI="; </del> <ins> hash = "sha256-j7HT57/4rrrVkx9Zz+XuWD6UL0spdej+U5gWtFo1FSI="; </ins> }; <del> vendorHash = "sha256-VeH7EDMNrdJSWHioz2O29NiGtC59IdWYww3WoABO4LY="; </del> <ins> vendorHash = "sha256-bWAneCRsQbPRxEM/3jr1/Lov6NV67MRycOgrlj3bKF8="; </ins> ldflags = [ "-s"


scala_2_11 = callPackage ../development/compilers/scala/2.x.nix { majorVersion = "2.11"; jre = jdk8; }; scala_2_12 = callPackage ../development/compilers/scala/2.x.nix { majorVersion = "2.12"; }; scala_2_13 = callPackage ../development/compilers/scala/2.x.nix { majorVersion = "2.13"; }; <ins> scala_3 = callPackage ../development/compilers/scala { }; # deprecated dotty = scala_3; </ins> scala = scala_2_13; scala-runners = callPackage ../development/compilers/scala-runners {


(onFullSupported "nixos.tests.keymap.dvorak") (onFullSupported "nixos.tests.keymap.dvorak-programmer") (onFullSupported "nixos.tests.keymap.neo") <del> (onFullSupported "nixos.tests.keymap.qwertz") </del> <ins> (onSystems ["x86_64-linux"] "nixos.tests.keymap.qwertz") </ins> (onFullSupported "nixos.tests.latestKernel.login") (onFullSupported "nixos.tests.lightdm") (onFullSupported "nixos.tests.login")


, at-spi2-core , libXtst <del> , swig </del> <ins> , swig4 </ins> , python , wxPython , opencascade-occt


# around it, we force the path to the cfgFile. # # https://github.com/NixOS/nixpkgs/issues/121088 <del> serviceConfig.ExecStart = [ "" "${getBin package}/bin/pcscd -f -x -c ${cfgFile}" ]; </del> <ins> serviceConfig.ExecStart = [ "" "${package}/bin/pcscd -f -x -c ${cfgFile}" ]; </ins> }; }; }


''; nativeBuildInputs = [ autoreconfHook pkg-config ] <del> ++ lib.optional qtClient [ qt5.wrapQtAppsHook ]; </del> <ins> ++ lib.optional qtClient [ qt5.wrapQtAppsHook ] ++ lib.optional gtkClient [ wrapGAppsHook ]; </ins> buildInputs = [ lua5_3 zlib bzip2 curl xz gettext libiconv ] ++ lib.optionals sdlClient [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx freetype fluidsynth ]


<del> { lib, stdenv, fetchurl </del> <ins> { lib, stdenv, fetchurl, makeWrapper </ins> , pkg-config, intltool , perl, gettext, libX11, libXext, libXi, libXt , libXft, libXinerama, libXrandr, libXxf86vm, libGL, libGLU, gle , gtk2, gdk-pixbuf, gdk-pixbuf-xlib, libxml2, pam <del> , systemd </del> <ins> , systemd, coreutils </ins> , forceInstallAllHacks ? false , withSystemd ? stdenv.isLinux }:


buildGoPackage rec { pname = "singularity"; <del> version = "3.2.1"; </del> <ins> version = "3.6.1"; </ins> <del> src = fetchFromGitHub { owner = "sylabs"; repo = "singularity"; rev = "v${version}"; sha256 = "14lhxwy21s7q081x7kbnvkjsbxgsg2f181qlzmlxcn6n7gfav3kj"; </del> <ins> src = fetchurl { url = "https://github.com/hpcng/singularity/releases/download/v${version}/singularity-${version}.tar.gz"; sha256 = "070jj6kbiw23sd2p4xhvmyb8gd83imwgisdf18ahkwp7dq85db3c"; </ins> }; goPackagePath = "github.com/sylabs/singularity"; goDeps = ./deps.nix; <del> buildInputs = [ openssl ]; nativeBuildInputs = [ removeReferencesTo utillinux which makeWrapper ]; </del> <ins> buildInputs = [ gpgme openssl libuuid ]; nativeBuildInputs = [ removeReferencesTo utillinux which makeWrapper cryptsetup ]; </ins> propagatedBuildInputs = [ coreutils squashfsTools ]; <del> prePatch = '' substituteInPlace internal/pkg/build/copy/copy.go  </del> <ins> postPatch = '' substituteInPlace internal/pkg/build/files/copy.go  </ins> --replace /bin/cp ${coreutils}/bin/cp '';


push @kernelModules, "kvm-intel" if hasCPUFeature "vmx"; push @kernelModules, "kvm-amd" if hasCPUFeature "svm"; <ins> push @attrs, "hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;" if cpuManufacturer "AuthenticAMD"; push @attrs, "hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;" if cpuManufacturer "GenuineIntel"; </ins> # Look at the PCI devices and add necessary modules.  Note that most # modules are auto-detected so we don't need to list them here.


Use `lib.mkForce` to forcefully specify the overridden package. ''; }; <ins> enableExternalLocalStateDir = mkOption { type = types.bool; default = true; example = false; description = mdDoc '' Whether to use top-level directories as LOCALSTATEDIR instead of the store path ones. This affects the SESSIONDIR of Apptainer/Singularity. If set to true, the SESSIONDIR will become `/var/lib/''${projectName}/mnt/session`. ''; }; </ins> enableFakeroot = mkOption { type = types.bool; default = true;


then "localSystem" else "crossSystem"} = { parsed = makeMuslParsedPlatform stdenv.hostPlatform.parsed; }; <del> } else throw "Musl libc only supports Linux systems."; </del> <ins> } else throw "Musl libc only supports 64-bit Linux systems."; </ins> # All packages built for i686 Linux. # Used by wine, firefox with debugging version of Flash, ...


<ins> { lib , ninja , meson , fetchFromGitLab , systemd , libgudev , pkg-config , glib , python3 , gobject-introspection }: python3.pkgs.buildPythonApplication rec { pname = "switcheroo-control"; version = "2.3"; format = "other"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "hadess"; repo = pname; rev = version; hash = "sha256-1Pze2TJ9mggfcpiLFwJ7/9WhsdJx4G3GoA7+Z47shuc="; }; nativeBuildInputs = [ ninja meson pkg-config # needed for glib-compile-resources glib ]; buildInputs = [ systemd libgudev ]; propagatedBuildInputs = [ python3.pkgs.pygobject3 ]; mesonFlags = [ "-Dsystemdsystemunitdir=${placeholder "out"}/etc/systemd/system" "-Dhwdbdir=${placeholder "out"}/etc/udev/hwdb.d" ]; meta = with lib; { description = "D-Bus service to check the availability of dual-GPU"; homepage = "https://gitlab.freedesktop.org/hadess/switcheroo-control/"; changelog = "https://gitlab.freedesktop.org/hadess/switcheroo-control/-/blob/${version}/NEWS"; license = licenses.gpl3Plus; maintainers = [ ]; platforms = platforms.linux; }; } </ins>


(lib.enableFeature polkitSupport "polkit") ] ++ lib.optionals stdenv.isLinux [ "--enable-ipcdir=/run/pcscd" <del> "--with-systemdsystemunitdir=${placeholder "bin"}/lib/systemd/system" </del> <ins> "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system" </ins> ]; makeFlags = [


#   rev-version = /* human readable version; i.e. "unstable-2022-26-07" */; #   sha256 = /* checksum for this release, can omit if specifying your own `monorepoSrc` */; # } <del> , officialRelease ? { version = "18.1.4"; sha256 = "sha256-LyQEb4ZJXm2hkPOM9XITIploMT2VKIQWxUFio7SXrc0="; } </del> <ins> , officialRelease ? { version = "18.1.5"; sha256 = "0n44chqn96xsa00ryhwk8g0vv3zx908xjakkgjsa14sjr9mcsq8q"; } </ins> # i.e.: # { #   version = /* i.e. "15.0.0" */;


miniupnpd = callPackage ../tools/networking/miniupnpd { }; <ins> miniupnpd-nftables = callPackage ../tools/networking/miniupnpd { firewall = "nftables"; }; </ins> miniball = callPackage ../development/libraries/miniball { }; minijail = callPackage ../tools/system/minijail { };


linux_5_15_hardened = hardenedKernelFor kernels.linux_5_15 { }; linux_6_1_hardened = hardenedKernelFor kernels.linux_6_1 { }; linux_6_5_hardened = hardenedKernelFor kernels.linux_6_5 { }; <ins> linux_6_6_hardened = hardenedKernelFor kernels.linux_6_6 { }; </ins> } // lib.optionalAttrs config.allowAliases { linux_4_9 = throw "linux 4.9 was removed because it will reach its end of life within 22.11";


<del> { stdenv, buildPythonPackage, fetchPypi, isPy3k , Mako, packaging, pysocks, pygments, ROPGadget , capstone, paramiko, pip, psutil , pyelftools, pyserial, dateutil , requests, tox, unicorn, intervaltree, fetchpatch }: </del> <ins> { stdenv , buildPythonPackage , fetchPypi , isPy3k , Mako , packaging , pysocks , pygments , ROPGadget , capstone , paramiko , pip , psutil , pyelftools , pyserial , dateutil , requests , tox , unicorn , intervaltree , fetchpatch }: </ins> buildPythonPackage rec { <del> version = "4.1.1"; </del> <ins> version = "4.2.1"; </ins> pname = "pwntools"; src = fetchPypi { inherit pname version; <del> sha256 = "694ce7a6cfca0ad40eae36c1d2663c44eb953f84785c63daa9752b4dfa7f39d8"; </del> <ins> sha256 = "1fh7sq9wrcfvn44qryln9cyg99pilvyq9bp80758lgdd6ss6hdqd"; </ins> }; <del> propagatedBuildInputs = [ Mako packaging pysocks pygments ROPGadget capstone paramiko pip psutil pyelftools pyserial dateutil requests tox unicorn intervaltree ]; </del> <ins> # Upstream has set an upper bound on unicorn because of https://github.com/Gallopsled/pwntools/issues/1538, # but since that is a niche use case and it requires extra work to get unicorn 1.0.2rc3 to work we relax # the bound here. Check if this is still necessary when updating! postPatch = '' sed -i 's/unicorn>=1.0.2rc1,<1.0.2rc4/unicorn>=1.0.2rc1/' setup.py ''; propagatedBuildInputs = [ Mako packaging pysocks pygments ROPGadget capstone paramiko pip psutil pyelftools pyserial dateutil requests tox unicorn intervaltree ]; </ins> doCheck = false; # no setuptools tests for the package


<del> { cmake , cudaPackages , fetchFromGitHub , lib , ninja , pkgs , python3Packages ? { } , pythonSupport ? false , stdenv , symlinkJoin , which }: let </del> <ins> { cmake, cudaPackages, fetchFromGitHub, lib, ninja, python3Packages ? {}, pythonSupport ? false, stdenv, symlinkJoin, which, }: let </ins> inherit (lib) lists strings; inherit (cudaPackages) backendStdenv cudaFlags; cuda-common-redist = with cudaPackages; [ <ins> cuda_cudart # cuda_runtime.h </ins> libcublas # cublas_v2.h libcusolver # cusolverDn.h libcusparse # cusparse.h


]; buildInputs = [ <del> alsa-lib </del> fluidsynth glib iir1


LIBRARY_PATH = if nativeComp then "${lib.getLib stdenv.cc.libc}/lib" else ""; <del> nativeBuildInputs = [ pkgconfig makeWrapper ] </del> <ins> nativeBuildInputs = [ pkgconfig makeWrapper nukeReferences ] </ins> ++ lib.optionals srcRepo [ autoreconfHook texinfo ] ++ lib.optional (withX && (withGTK3 || withXwidgets)) wrapGAppsHook;


[ "-rtlib=compiler-rt" "-Wno-unused-command-line-argument" "-B${targetLlvmLibraries.compiler-rt}/lib" <del> # Combat "__cxxabi_config.h not found". Maybe this could be fixed by # copying these headers into libcxx? Note that building libcxx # outside of monorepo isn't supported anymore, might be related to # https://github.com/llvm/llvm-project/issues/55632 # ("16.0.3 libcxx, libcxxabi: circular build dependencies") # Looks like the machinery changed in https://reviews.llvm.org/D120727. "-I${lib.getDev targetLlvmLibraries.libcxx.cxxabi}/include/c++/v1" </del> ] ++ lib.optional (!stdenv.targetPlatform.isWasm) "--unwindlib=libunwind" ++ lib.optional


, profile ? "/etc/g810-led/profile" }: <del> stdenv.mkDerivation rec { </del> <ins> stdenv.mkDerivation (finalAttrs: { </ins> pname = "g810-led"; version = "0.4.3"; src = fetchFromGitHub { owner = "MatMoul"; <del> repo = pname; rev = "refs/tags/v${version}"; </del> <ins> repo = "g810-led"; rev = "refs/tags/v${finalAttrs.version}"; </ins> hash = "sha256-GKHtQ7DinqfhclDdPO94KtTLQhhonAoWS4VOvs6CMhY="; };


Rosalie's Mupen GUI is a free and open-source mupen64plus front-end written in C++. It offers a simple-to-use user interface. ''; <del> license = licenses.gpl3; </del> <ins> license = if withAngrylionRdpPlus then licenses.unfree else licenses.gpl3Only; </ins> platforms = platforms.linux; mainProgram = "RMG"; maintainers = with maintainers; [ slam-bert ];


}; }; <ins> pid = buildPythonPackage rec { name = "pid-${version}"; version = "2.0.1"; src = pkgs.fetchurl { url = "https://pypi.python.org/packages/source/p/pid/${name}.tar.gz"; sha256 = "0cylj8p25nwkdfgy4pzai21wyzmrxdqlwwbzqag9gb5qcjfdwk05"; }; meta = { description = "Pidfile featuring stale detection and file-locking"; homepage = https://github.com/trbs/pid/; license = licenses.asl20; }; }; </ins> pydns = buildPythonPackage rec { name = "pydns-2.3.6"; disabled = isPy3k;


}; }; <del> config = let igpuDriver = if pCfg.intelBusId != "" then "modesetting" else "amdgpu"; igpuBusId = if pCfg.intelBusId != "" then pCfg.intelBusId else pCfg.amdgpuBusId; in lib.mkIf (nvidia_x11 != null) (lib.mkMerge [ # Common ({ assertions = [ { assertion = !(nvidiaEnabled && cfg.datacenter.enable); message = "You cannot configure both X11 and Data Center drivers at the same time."; } ]; boot = { blacklistedKernelModules = ["nouveau" "nvidiafb"]; # Don't add `nvidia-uvm` to `kernelModules`, because we want # `nvidia-uvm` be loaded only after `udev` rules for `nvidia` kernel # module are applied. # # Instead, we use `softdep` to lazily load `nvidia-uvm` kernel module # after `nvidia` kernel module is loaded and `udev` rules are applied. extraModprobeConfig = '' softdep nvidia post: nvidia-uvm ''; }; systemd.tmpfiles.rules = lib.optional config.virtualisation.docker.enableNvidia "L+ /run/nvidia-docker/bin - - - - ${nvidia_x11.bin}/origBin"; services.udev.extraRules = '' # Create /dev/nvidia-uvm when the nvidia-uvm module is loaded. KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidiactl c 195 255'" KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'for i in $$(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d   -f 4); do mknod -m 666 /dev/nvidia$${i} c 195 $${i}; done'" KERNEL=="nvidia_modeset", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-modeset c 195 254'" KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d   -f 1) 0'" KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d   -f 1) 1'" ''; hardware.opengl = { extraPackages = [ nvidia_x11.out ]; extraPackages32 = [ nvidia_x11.lib32 </del> <ins> config = let igpuDriver = if pCfg.intelBusId != "" then "modesetting" else "amdgpu"; igpuBusId = if pCfg.intelBusId != "" then pCfg.intelBusId else pCfg.amdgpuBusId; in lib.mkIf (nvidia_x11 != null) ( lib.mkMerge [ # Common ({ assertions = [ { assertion = !(nvidiaEnabled && cfg.datacenter.enable); message = "You cannot configure both X11 and Data Center drivers at the same time."; } </ins> ]; <del> }; environment.systemPackages = [ nvidia_x11.bin ]; }) # X11 (lib.mkIf nvidiaEnabled { assertions = [ { assertion = primeEnabled -> pCfg.intelBusId == "" || pCfg.amdgpuBusId == ""; message = "You cannot configure both an Intel iGPU and an AMD APU. Pick the one corresponding to your processor."; } { assertion = offloadCfg.enableOffloadCmd -> offloadCfg.enable || reverseSyncCfg.enable; message = "Offload command requires offloading or reverse prime sync to be enabled."; } { assertion = primeEnabled -> pCfg.nvidiaBusId != "" && (pCfg.intelBusId != "" || pCfg.amdgpuBusId != ""); message = "When NVIDIA PRIME is enabled, the GPU bus IDs must be configured."; } { assertion = offloadCfg.enable -> lib.versionAtLeast nvidia_x11.version "435.21"; message = "NVIDIA PRIME render offload is currently only supported on versions >= 435.21."; } { assertion = (reverseSyncCfg.enable && pCfg.amdgpuBusId != "") -> lib.versionAtLeast nvidia_x11.version "470.0"; message = "NVIDIA PRIME render offload for AMD APUs is currently only supported on versions >= 470 beta."; } { assertion = !(syncCfg.enable && offloadCfg.enable); message = "PRIME Sync and Offload cannot be both enabled"; } { assertion = !(syncCfg.enable && reverseSyncCfg.enable); message = "PRIME Sync and PRIME Reverse Sync cannot be both enabled"; } { assertion = !(syncCfg.enable && cfg.powerManagement.finegrained); message = "Sync precludes powering down the NVIDIA GPU."; } { assertion = cfg.powerManagement.finegrained -> offloadCfg.enable; message = "Fine-grained power management requires offload to be enabled."; } { assertion = cfg.powerManagement.enable -> lib.versionAtLeast nvidia_x11.version "430.09"; message = "Required files for driver based power management only exist on versions >= 430.09."; } { assertion = cfg.open -> (cfg.package ? open && cfg.package ? firmware); message = "This version of NVIDIA driver does not provide a corresponding opensource kernel driver"; } { assertion = cfg.dynamicBoost.enable -> lib.versionAtLeast nvidia_x11.version "510.39.01"; message = "NVIDIA's Dynamic Boost feature only exists on versions >= 510.39.01"; }]; # If Optimus/PRIME is enabled, we: # - Specify the configured NVIDIA GPU bus ID in the Device section for the #   "nvidia" driver. # - Add the AllowEmptyInitialConfiguration option to the Screen section for the #   "nvidia" driver, in order to allow the X server to start without any outputs. # - Add a separate Device section for the Intel GPU, using the "modesetting" #   driver and with the configured BusID. # - OR add a separate Device section for the AMD APU, using the "amdgpu" #   driver and with the configures BusID. # - Reference that Device section from the ServerLayout section as an inactive #   device. # - Configure the display manager to run specific `xrandr` commands which will #   configure/enable displays connected to the Intel iGPU / AMD APU. # reverse sync implies offloading hardware.nvidia.prime.offload.enable = lib.mkDefault reverseSyncCfg.enable; services.xserver.drivers = lib.optional primeEnabled { name = igpuDriver; display = offloadCfg.enable; modules = lib.optional (igpuDriver == "amdgpu") pkgs.xorg.xf86videoamdgpu; deviceSection = '' BusID "${igpuBusId}" '' + lib.optionalString (syncCfg.enable && igpuDriver != "amdgpu") '' Option "AccelMethod" "none" ''; } ++ lib.singleton { name = "nvidia"; modules = [nvidia_x11.bin]; display = !offloadCfg.enable; deviceSection = '' Option "SidebandSocketPath" "/run/nvidia-xdriver/" '' + lib.optionalString primeEnabled '' BusID "${pCfg.nvidiaBusId}" '' + lib.optionalString pCfg.allowExternalGpu '' Option "AllowExternalGpus" ''; screenSection = '' Option "RandRRotation" "on" '' + lib.optionalString syncCfg.enable '' Option "AllowEmptyInitialConfiguration" '' + lib.optionalString cfg.forceFullCompositionPipeline '' Option         "metamodes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}" Option         "AllowIndirectGLXProtocol" "off" Option         "TripleBuffer" "on" ''; </del> <ins> boot = { blacklistedKernelModules = [ "nouveau" "nvidiafb" ]; # Don't add `nvidia-uvm` to `kernelModules`, because we want # `nvidia-uvm` be loaded only after `udev` rules for `nvidia` kernel # module are applied. # # Instead, we use `softdep` to lazily load `nvidia-uvm` kernel module # after `nvidia` kernel module is loaded and `udev` rules are applied. extraModprobeConfig = '' softdep nvidia post: nvidia-uvm ''; </ins> }; <del> services.xserver.serverLayoutSection = lib.optionalString syncCfg.enable '' Inactive "Device-${igpuDriver}[0]" '' + lib.optionalString reverseSyncCfg.enable '' Inactive "Device-nvidia[0]" '' + lib.optionalString offloadCfg.enable '' Option "AllowNVIDIAGPUScreens" </del> <ins> systemd.tmpfiles.rules = lib.optional config.virtualisation.docker.enableNvidia "L+ /run/nvidia-docker/bin - - - - ${nvidia_x11.bin}/origBin"; services.udev.extraRules = '' # Create /dev/nvidia-uvm when the nvidia-uvm module is loaded. KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidiactl c 195 255'" KERNEL=="nvidia", RUN+="${pkgs.runtimeShell} -c 'for i in $$(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d   -f 4); do mknod -m 666 /dev/nvidia$${i} c 195 $${i}; done'" KERNEL=="nvidia_modeset", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-modeset c 195 254'" KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d   -f 1) 0'" KERNEL=="nvidia_uvm", RUN+="${pkgs.runtimeShell} -c 'mknod -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d   -f 1) 1'" </ins> ''; <ins> hardware.opengl = { extraPackages = [ nvidia_x11.out ]; extraPackages32 = [ nvidia_x11.lib32 ]; }; environment.systemPackages = [ nvidia_x11.bin ]; }) # X11 (lib.mkIf nvidiaEnabled { assertions = [ { assertion = primeEnabled -> pCfg.intelBusId == "" || pCfg.amdgpuBusId == ""; message = "You cannot configure both an Intel iGPU and an AMD APU. Pick the one corresponding to your processor."; } { assertion = offloadCfg.enableOffloadCmd -> offloadCfg.enable || reverseSyncCfg.enable; message = "Offload command requires offloading or reverse prime sync to be enabled."; } { assertion = primeEnabled -> pCfg.nvidiaBusId != "" && (pCfg.intelBusId != "" || pCfg.amdgpuBusId != ""); message = "When NVIDIA PRIME is enabled, the GPU bus IDs must be configured."; } { assertion = offloadCfg.enable -> lib.versionAtLeast nvidia_x11.version "435.21"; message = "NVIDIA PRIME render offload is currently only supported on versions >= 435.21."; } { assertion = (reverseSyncCfg.enable && pCfg.amdgpuBusId != "") -> lib.versionAtLeast nvidia_x11.version "470.0"; message = "NVIDIA PRIME render offload for AMD APUs is currently only supported on versions >= 470 beta."; } { assertion = !(syncCfg.enable && offloadCfg.enable); message = "PRIME Sync and Offload cannot be both enabled"; } { assertion = !(syncCfg.enable && reverseSyncCfg.enable); message = "PRIME Sync and PRIME Reverse Sync cannot be both enabled"; } { assertion = !(syncCfg.enable && cfg.powerManagement.finegrained); message = "Sync precludes powering down the NVIDIA GPU."; } { assertion = cfg.powerManagement.finegrained -> offloadCfg.enable; message = "Fine-grained power management requires offload to be enabled."; } { assertion = cfg.powerManagement.enable -> lib.versionAtLeast nvidia_x11.version "430.09"; message = "Required files for driver based power management only exist on versions >= 430.09."; } { assertion = cfg.open -> (cfg.package ? open && cfg.package ? firmware); message = "This version of NVIDIA driver does not provide a corresponding opensource kernel driver"; } { assertion = cfg.dynamicBoost.enable -> lib.versionAtLeast nvidia_x11.version "510.39.01"; message = "NVIDIA's Dynamic Boost feature only exists on versions >= 510.39.01"; } ]; </ins> <del> services.xserver.displayManager.setupCommands = let gpuProviderName = if igpuDriver == "amdgpu" then # find the name of the provider if amdgpu "`${lib.getExe pkgs.xorg.xrandr} --listproviders | ${lib.getExe pkgs.gnugrep} -i AMD | ${lib.getExe pkgs.gnused} -n 's/^.*name://p'`" else igpuDriver; providerCmdParams = if syncCfg.enable then ""${gpuProviderName}" NVIDIA-0" else "NVIDIA-G0 "${gpuProviderName}""; in lib.optionalString (syncCfg.enable || reverseSyncCfg.enable) '' # Added by nvidia configuration module for Optimus/PRIME. ${lib.getExe pkgs.xorg.xrandr} --setprovideroutputsource ${providerCmdParams} ${lib.getExe pkgs.xorg.xrandr} --auto ''; </del> <ins> # If Optimus/PRIME is enabled, we: # - Specify the configured NVIDIA GPU bus ID in the Device section for the #   "nvidia" driver. # - Add the AllowEmptyInitialConfiguration option to the Screen section for the #   "nvidia" driver, in order to allow the X server to start without any outputs. # - Add a separate Device section for the Intel GPU, using the "modesetting" #   driver and with the configured BusID. # - OR add a separate Device section for the AMD APU, using the "amdgpu" #   driver and with the configures BusID. # - Reference that Device section from the ServerLayout section as an inactive #   device. # - Configure the display manager to run specific `xrandr` commands which will #   configure/enable displays connected to the Intel iGPU / AMD APU. # reverse sync implies offloading hardware.nvidia.prime.offload.enable = lib.mkDefault reverseSyncCfg.enable; services.xserver.drivers = lib.optional primeEnabled { name = igpuDriver; display = offloadCfg.enable; modules = lib.optional (igpuDriver == "amdgpu") pkgs.xorg.xf86videoamdgpu; deviceSection = '' BusID "${igpuBusId}" '' + lib.optionalString (syncCfg.enable && igpuDriver != "amdgpu") '' Option "AccelMethod" "none" ''; } ++ lib.singleton { name = "nvidia"; modules = [ nvidia_x11.bin ]; display = !offloadCfg.enable; deviceSection = '' Option "SidebandSocketPath" "/run/nvidia-xdriver/" '' + lib.optionalString primeEnabled '' BusID "${pCfg.nvidiaBusId}" '' + lib.optionalString pCfg.allowExternalGpu '' Option "AllowExternalGpus" ''; screenSection = '' Option "RandRRotation" "on" '' + lib.optionalString syncCfg.enable '' Option "AllowEmptyInitialConfiguration" '' + lib.optionalString cfg.forceFullCompositionPipeline '' Option         "metamodes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}" Option         "AllowIndirectGLXProtocol" "off" Option         "TripleBuffer" "on" ''; }; </ins> <del> environment.etc = { "nvidia/nvidia-application-profiles-rc" = lib.mkIf nvidia_x11.useProfiles {source = "${nvidia_x11.bin}/share/nvidia/nvidia-application-profiles-rc";}; </del> <ins> services.xserver.serverLayoutSection = lib.optionalString syncCfg.enable '' Inactive "Device-${igpuDriver}[0]" '' + lib.optionalString reverseSyncCfg.enable '' Inactive "Device-nvidia[0]" '' + lib.optionalString offloadCfg.enable '' Option "AllowNVIDIAGPUScreens" ''; services.xserver.displayManager.setupCommands = let gpuProviderName = if igpuDriver == "amdgpu" then # find the name of the provider if amdgpu "`${lib.getExe pkgs.xorg.xrandr} --listproviders | ${lib.getExe pkgs.gnugrep} -i AMD | ${lib.getExe pkgs.gnused} -n 's/^.*name://p'`" else igpuDriver; providerCmdParams = if syncCfg.enable then ""${gpuProviderName}" NVIDIA-0" else "NVIDIA-G0 "${gpuProviderName}""; in lib.optionalString (syncCfg.enable || reverseSyncCfg.enable) '' # Added by nvidia configuration module for Optimus/PRIME. ${lib.getExe pkgs.xorg.xrandr} --setprovideroutputsource ${providerCmdParams} ${lib.getExe pkgs.xorg.xrandr} --auto ''; environment.etc = { "nvidia/nvidia-application-profiles-rc" = lib.mkIf nvidia_x11.useProfiles { source = "${nvidia_x11.bin}/share/nvidia/nvidia-application-profiles-rc"; }; </ins> <del> # 'nvidia_x11' installs it's files to /run/opengl-driver/... "egl/egl_external_platform.d".source = "/run/opengl-driver/share/egl/egl_external_platform.d/"; }; </del> <ins> # 'nvidia_x11' installs it's files to /run/opengl-driver/... "egl/egl_external_platform.d".source = "/run/opengl-driver/share/egl/egl_external_platform.d/"; }; </ins> <del> hardware.opengl = { extraPackages = [ pkgs.nvidia-vaapi-driver ]; extraPackages32 = [ pkgs.pkgsi686Linux.nvidia-vaapi-driver ]; }; environment.systemPackages = lib.optional cfg.nvidiaSettings nvidia_x11.settings ++ lib.optional cfg.nvidiaPersistenced nvidia_x11.persistenced ++ lib.optional offloadCfg.enableOffloadCmd (pkgs.writeShellScriptBin "nvidia-offload" '' export __NV_PRIME_RENDER_OFFLOAD=1 export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 export __GLX_VENDOR_LIBRARY_NAME=nvidia export __VK_LAYER_NV_optimus=NVIDIA_only exec "$@" ''); systemd.packages = lib.optional cfg.powerManagement.enable nvidia_x11.out; systemd.services = let nvidiaService = state: { description = "NVIDIA system ${state} actions"; path = [pkgs.kbd]; serviceConfig = { Type = "oneshot"; ExecStart = "${nvidia_x11.out}/bin/nvidia-sleep.sh '${state}'"; }; before = ["systemd-${state}.service"]; requiredBy = ["systemd-${state}.service"]; </del> <ins> hardware.opengl = { extraPackages = [ pkgs.nvidia-vaapi-driver ]; extraPackages32 = [ pkgs.pkgsi686Linux.nvidia-vaapi-driver ]; </ins> }; <del> in lib.mkMerge [ (lib.mkIf cfg.powerManagement.enable { nvidia-suspend = nvidiaService "suspend"; nvidia-hibernate = nvidiaService "hibernate"; nvidia-resume = (nvidiaService "resume") // { before = []; after = ["systemd-suspend.service" "systemd-hibernate.service"]; requiredBy = ["systemd-suspend.service" "systemd-hibernate.service"]; }; }) (lib.mkIf cfg.nvidiaPersistenced { "nvidia-persistenced" = { description = "NVIDIA Persistence Daemon"; wantedBy = ["multi-user.target"]; </del> <ins> environment.systemPackages = lib.optional cfg.nvidiaSettings nvidia_x11.settings ++ lib.optional cfg.nvidiaPersistenced nvidia_x11.persistenced ++ lib.optional offloadCfg.enableOffloadCmd ( pkgs.writeShellScriptBin "nvidia-offload" '' export __NV_PRIME_RENDER_OFFLOAD=1 export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 export __GLX_VENDOR_LIBRARY_NAME=nvidia export __VK_LAYER_NV_optimus=NVIDIA_only exec "$@" '' ); systemd.packages = lib.optional cfg.powerManagement.enable nvidia_x11.out; systemd.services = let nvidiaService = state: { description = "NVIDIA system ${state} actions"; path = [ pkgs.kbd ]; </ins> serviceConfig = { <del> Type = "forking"; Restart = "always"; PIDFile = "/var/run/nvidia-persistenced/nvidia-persistenced.pid"; ExecStart = "${lib.getExe nvidia_x11.persistenced} --verbose"; ExecStopPost = "${pkgs.coreutils}/bin/rm -rf /var/run/nvidia-persistenced"; </del> <ins> Type = "oneshot"; ExecStart = "${nvidia_x11.out}/bin/nvidia-sleep.sh '${state}'"; </ins> }; <ins> before = [ "systemd-${state}.service" ]; requiredBy = [ "systemd-${state}.service" ]; </ins> }; <del> }) (lib.mkIf cfg.dynamicBoost.enable { "nvidia-powerd" = { description = "nvidia-powerd service"; path = [ pkgs.util-linux # nvidia-powerd wants lscpu ]; wantedBy = ["multi-user.target"]; serviceConfig = { Type = "dbus"; BusName = "nvidia.powerd.server"; ExecStart = "${nvidia_x11.bin}/bin/nvidia-powerd"; </del> <ins> in lib.mkMerge [ (lib.mkIf cfg.powerManagement.enable { nvidia-suspend = nvidiaService "suspend"; nvidia-hibernate = nvidiaService "hibernate"; nvidia-resume = (nvidiaService "resume") // { before = [ ]; after = [ "systemd-suspend.service" "systemd-hibernate.service" ]; requiredBy = [ "systemd-suspend.service" "systemd-hibernate.service" ]; </ins> }; <del> }; }) ]; services.acpid.enable = true; services.dbus.packages = lib.optional cfg.dynamicBoost.enable nvidia_x11.bin; hardware.firmware = lib.optional cfg.open nvidia_x11.firmware; systemd.tmpfiles.rules = [ # Remove the following log message: #    (WW) NVIDIA: Failed to bind sideband socket to #    (WW) NVIDIA:     '/var/run/nvidia-xdriver-b4f69129' Permission denied # # https://bbs.archlinux.org/viewtopic.php?pid=1909115#p1909115 "d /run/nvidia-xdriver 0770 root users" ] ++ lib.optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia) "L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced"; boot = { extraModulePackages = if cfg.open then [nvidia_x11.open] else [nvidia_x11.bin]; # nvidia-uvm is required by CUDA applications. kernelModules = lib.optionals config.services.xserver.enable ["nvidia" "nvidia_modeset" "nvidia_drm"]; # If requested enable modesetting via kernel parameter. kernelParams = lib.optional (offloadCfg.enable || cfg.modesetting.enable) "nvidia-drm.modeset=1" ++ lib.optional cfg.powerManagement.enable "nvidia.NVreg_PreserveVideoMemoryAllocations=1" ++ lib.optional cfg.open "nvidia.NVreg_OpenRmEnableUnsupportedGpus=1" ++ lib.optional (config.boot.kernelPackages.kernel.kernelAtLeast "6.2" && !ibtSupport) "ibt=off"; # enable finegrained power management extraModprobeConfig = lib.optionalString cfg.powerManagement.finegrained '' options nvidia "NVreg_DynamicPowerManagement=0x02" ''; }; services.udev.extraRules = lib.optionalString cfg.powerManagement.finegrained ( lib.optionalString (lib.versionOlder config.boot.kernelPackages.kernel.version "5.5") '' # Remove NVIDIA USB xHCI Host Controller devices, if present ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1" # Remove NVIDIA USB Type-C UCSI devices, if present ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1" # Remove NVIDIA Audio devices, if present ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1" '' + '' # Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto" ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto" # Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on" ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on" '' ); }) # Data Center (lib.mkIf (cfg.datacenter.enable) { boot.extraModulePackages = [ nvidia_x11.bin ]; systemd = { tmpfiles.rules = lib.optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia) "L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced"; services = lib.mkMerge [ ({ nvidia-fabricmanager = { enable = true; description = "Start NVIDIA NVLink Management"; wantedBy = [ "multi-user.target" ]; unitConfig.After = [ "network-online.target" ]; unitConfig.Requires = [ "network-online.target" ]; serviceConfig = { Type = "forking"; TimeoutStartSec = 240; ExecStart = let nv-fab-conf = settingsFormat.generate "fabricmanager.conf" cfg.datacenter.settings; in </del> <ins> }) (lib.mkIf cfg.nvidiaPersistenced { "nvidia-persistenced" = { description = "NVIDIA Persistence Daemon"; wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "forking"; Restart = "always"; PIDFile = "/var/run/nvidia-persistenced/nvidia-persistenced.pid"; ExecStart = "${lib.getExe nvidia_x11.persistenced} --verbose"; ExecStopPost = "${pkgs.coreutils}/bin/rm -rf /var/run/nvidia-persistenced"; }; }; }) (lib.mkIf cfg.dynamicBoost.enable { "nvidia-powerd" = { description = "nvidia-powerd service"; path = [ pkgs.util-linux # nvidia-powerd wants lscpu ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "dbus"; BusName = "nvidia.powerd.server"; ExecStart = "${nvidia_x11.bin}/bin/nvidia-powerd"; }; }; }) ]; services.acpid.enable = true; services.dbus.packages = lib.optional cfg.dynamicBoost.enable nvidia_x11.bin; hardware.firmware = let isOpen = cfg.open; isNewUnfree = lib.versionAtLeast nvidia_x11.version "555"; in lib.optional (isOpen || isNewUnfree) nvidia_x11.firmware; systemd.tmpfiles.rules = [ # Remove the following log message: #    (WW) NVIDIA: Failed to bind sideband socket to #    (WW) NVIDIA:     '/var/run/nvidia-xdriver-b4f69129' Permission denied # # https://bbs.archlinux.org/viewtopic.php?pid=1909115#p1909115 "d /run/nvidia-xdriver 0770 root users" ] ++ lib.optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia) "L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced"; boot = { extraModulePackages = if cfg.open then [ nvidia_x11.open ] else [ nvidia_x11.bin ]; # nvidia-uvm is required by CUDA applications. kernelModules = lib.optionals config.services.xserver.enable [ "nvidia" "nvidia_modeset" "nvidia_drm" ]; # If requested enable modesetting via kernel parameter. kernelParams = lib.optional (offloadCfg.enable || cfg.modesetting.enable) "nvidia-drm.modeset=1" ++ lib.optional cfg.powerManagement.enable "nvidia.NVreg_PreserveVideoMemoryAllocations=1" ++ lib.optional cfg.open "nvidia.NVreg_OpenRmEnableUnsupportedGpus=1" ++ lib.optional (config.boot.kernelPackages.kernel.kernelAtLeast "6.2" && !ibtSupport) "ibt=off"; # enable finegrained power management extraModprobeConfig = lib.optionalString cfg.powerManagement.finegrained '' options nvidia "NVreg_DynamicPowerManagement=0x02" ''; }; services.udev.extraRules = lib.optionalString cfg.powerManagement.finegrained ( lib.optionalString (lib.versionOlder config.boot.kernelPackages.kernel.version "5.5") '' # Remove NVIDIA USB xHCI Host Controller devices, if present ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1" # Remove NVIDIA USB Type-C UCSI devices, if present ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1" # Remove NVIDIA Audio devices, if present ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1" '' + '' # Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto" ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto" # Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on" ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on" '' ); }) # Data Center (lib.mkIf (cfg.datacenter.enable) { boot.extraModulePackages = [ nvidia_x11.bin ]; systemd = { tmpfiles.rules = lib.optional (nvidia_x11.persistenced != null && config.virtualisation.docker.enableNvidia) "L+ /run/nvidia-docker/extras/bin/nvidia-persistenced - - - - ${nvidia_x11.persistenced}/origBin/nvidia-persistenced"; services = lib.mkMerge [ ({ nvidia-fabricmanager = { enable = true; description = "Start NVIDIA NVLink Management"; wantedBy = [ "multi-user.target" ]; unitConfig.After = [ "network-online.target" ]; unitConfig.Requires = [ "network-online.target" ]; serviceConfig = { Type = "forking"; TimeoutStartSec = 240; ExecStart = let nv-fab-conf = settingsFormat.generate "fabricmanager.conf" cfg.datacenter.settings; in </ins> "${lib.getExe nvidia_x11.fabricmanager} -c ${nv-fab-conf}"; <del> LimitCORE="infinity"; </del> <ins> LimitCORE = "infinity"; }; </ins> }; <del> }; }) (lib.mkIf cfg.nvidiaPersistenced { "nvidia-persistenced" = { description = "NVIDIA Persistence Daemon"; wantedBy = ["multi-user.target"]; serviceConfig = { Type = "forking"; Restart = "always"; PIDFile = "/var/run/nvidia-persistenced/nvidia-persistenced.pid"; ExecStart = "${lib.getExe nvidia_x11.persistenced} --verbose"; ExecStopPost = "${pkgs.coreutils}/bin/rm -rf /var/run/nvidia-persistenced"; </del> <ins> }) (lib.mkIf cfg.nvidiaPersistenced { "nvidia-persistenced" = { description = "NVIDIA Persistence Daemon"; wantedBy = [ "multi-user.target" ]; serviceConfig = { Type = "forking"; Restart = "always"; PIDFile = "/var/run/nvidia-persistenced/nvidia-persistenced.pid"; ExecStart = "${lib.getExe nvidia_x11.persistenced} --verbose"; ExecStopPost = "${pkgs.coreutils}/bin/rm -rf /var/run/nvidia-persistenced"; }; </ins> }; <del> }; }) ]; }; </del> <ins> }) ]; }; </ins> <del> environment.systemPackages = lib.optional cfg.datacenter.enable nvidia_x11.fabricmanager ++ lib.optional cfg.nvidiaPersistenced nvidia_x11.persistenced; }) ]); </del> <ins> environment.systemPackages = lib.optional cfg.datacenter.enable nvidia_x11.fabricmanager ++ lib.optional cfg.nvidiaPersistenced nvidia_x11.persistenced; }) ] ); </ins> }


csvkit = callPackage ../tools/text/csvkit { }; <ins> csvquote = callPackage ../tools/text/csvquote { }; </ins> csvtool = callPackage ../development/ocaml-modules/csv/csvtool.nix { }; csv2latex = callPackage ../tools/misc/csv2latex { };


webstorm = buildWebStorm rec { name = "webstorm-${version}"; <del> version = "2019.3.4"; /* updated by script */ </del> <ins> version = "2020.1"; /* updated by script */ </ins> description = "Professional IDE for Web and JavaScript development"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz"; <del> sha256 = "0q3595r4m22wf5r5zyncr1zv7yap5przbzjnyf75y51mqwl1g61i"; /* updated by script */ </del> <ins> sha256 = "1c68li5jxsjml0macdb0s04llwwq1hni5z8vq2zdfcn5zm3xwpif"; /* updated by script */ </ins> }; wmClass = "jetbrains-webstorm"; update-channel = "WebStorm RELEASE";


inherit version; sha256 = "1vn1db2akw98ybnpns92qi11v94hydwp130s8753k6ikby95883j"; }; <ins> patches = oldAttrs.patches or [] ++ [ # Don't raise import error on non-linux os. Remove after upgrading to distro≥1.2.0 (fetchpatch { url = "https://github.com/nir0s/distro/commit/25aa3f8c5934346dc838387fc081ce81baddeb95.patch"; sha256 = "0m09ldf75gacazh2kr04cifgsqfxg670vk4ypl62zv7fp3nyd5dc"; }) ]; </ins> }); node-semver = super.node-semver.overridePythonAttrs (oldAttrs: rec { version = "0.6.1";


package = mkPackageOption pkgs "navidrome" { }; settings = mkOption { <del> type = settingsFormat.type; default = { Address = "127.0.0.1"; Port = 4533; </del> <ins> type = submodule { freeformType = settingsFormat.type; options = { Address = mkOption { default = "127.0.0.1"; description = "Address to run Navidrome on."; type = str; }; Port = mkOption { default = 4533; description = "Port to run Navidrome on."; type = port; }; }; </ins> }; example = { MusicFolder = "/mnt/music";


buildInputs = with self; [ nose sphinx numpydoc ]; <del> # Failing test on Python 3.x postPatch = '''' + optionalString isPy3k '' </del> <ins> # Failing test on Python 3.x and Darwin postPatch = '''' + optionalString (isPy3k || stdenv.isDarwin) '' </ins> sed -i -e '70,84d' joblib/test/test_format_stack.py # test_nested_parallel_warnings: ValueError: Non-zero return code: -9. # Not sure why but it's nix-specific. Try removing for new joblib releases.


source = "${nvidia_x11.bin}/share/nvidia/nvidia-application-profiles-rc"; }; <ins> # 'nvidia_x11' installs it's files to /run/opengl-driver/... environment.etc."egl/egl_external_platform.d".source = "/run/opengl-driver/share/egl/egl_external_platform.d/"; </ins> hardware.opengl.package = mkIf (!offloadCfg.enable) nvidia_x11.out; hardware.opengl.package32 = mkIf (!offloadCfg.enable) nvidia_x11.lib32; hardware.opengl.extraPackages = optional offloadCfg.enable nvidia_x11.out;


imports = [ (mkRenamedOptionModule [ "networking" "networkmanager" "packages" ] <del> [ "networking" "networkmanager" "plugins" ]) (mkRenamedOptionModule [ "networking" "networkmanager" "useDnsmasq" ] [ "networking" "networkmanager" "dns" ]) </del> <ins> [ "networking" "networkmanager" "plugins" ] ) (mkRenamedOptionModule [ "networking" "networkmanager" "useDnsmasq" ] [ "networking" "networkmanager" "dns" ] ) (mkRemovedOptionModule [ "networking" "networkmanager" "extraConfig" ] '' This option was removed in favour of `networking.networkmanager.settings`, which accepts structured nix-code equivalent to the ini and allows for overriding settings. Example patch: ```patch networking.networkmanager = { -    extraConfig = ''' -      [main] -      no-auto-default=* -    ''' +    extraConfig.main.no-auto-default = "*"; }; ``` '' ) </ins> (mkRemovedOptionModule [ "networking" "networkmanager" "enableFccUnlock" ] '' This option was removed, because using bundled FCC unlock scripts is risky, might conflict with vendor-provided unlock scripts, and should


++ lib.optional perlBindings perl ++ lib.optional saslSupport sasl; <del> patches = [ ./apr-1.patch ]; </del> <ins> patches = [ ./apr-1.patch ] ++ extraPatches; </ins> # We are hitting the following issue even with APR 1.6.x # -> https://issues.apache.org/jira/browse/SVN-4813


import json import os <ins> import sys </ins> from pathlib import Path XDG_CONFIG_HOME = os.environ.get("XDG_CONFIG_HOME") or os.path.join(


license = licenses.lgpl21Plus; platforms = lib.platforms.linux; maintainers = [ ]; <ins> knownVulnerabilities = [ "CVE-2020-35476" # https://github.com/OpenTSDB/opentsdb/issues/2051 ]; </ins> }; }


# tesseract & leptonica. ++ lib.optionals enableTesseract [ tesseract leptonica ] ++ lib.optional enableTbb tbb <del> ++ lib.optional enableCuda cudatoolkit </del> ++ lib.optionals stdenv.isDarwin [ bzip2 AVFoundation Cocoa VideoDecodeAcceleration ] ++ lib.optionals enableDocs [ doxygen graphviz-nox ]; <del> propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy; </del> <ins> propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy ++ lib.optional enableCuda cudatoolkit; </ins> nativeBuildInputs = [ cmake pkg-config unzip ];


"ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz" "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz" ]; <del> sha256 = "08c118j440xpfbjjxmwzm6dfnv4y35q540mmzkchhpbwx89lczxd"; </del> <ins> sha256 = "0zd6skf9qcwlk1k1ljgwijwlyz5si3pgi0h97gd6kkivm7a4y43p"; </ins> }; # TODO: #  revive ./dricore-gallium.patch when it gets ported (from Ubuntu), as it saved #  ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog patches = [ <del> # fixes pkgsMusl.mesa build </del> <ins> # To fix flickering on Intel GPUs (iris), see https://github.com/NixOS/nixpkgs/issues/153377: </ins> (fetchpatch { <del> url = "https://raw.githubusercontent.com/void-linux/void-packages/b9f58f303ae23754c95d5d1fe87a98b5a2d8f271/srcpkgs/mesa/patches/musl.patch"; sha256 = "sha256-Jyl7ILLhn8hBJG7afnEjE8H56Wz/1bxkvlqfrXK5U7I="; </del> <ins> url = "https://gitlab.freedesktop.org/mesa/mesa/-/commit/07dc3d4238e57901ccf98e0b506d9aad2c86b9d9.diff"; sha256 = "sha256-3fa1qHJes3x1/iXsxfjgy9HnEGlOyFtJatSkU1a3XDI="; </ins> }) <ins> # fixes pkgsMusl.mesa build ./musl.patch </ins> (fetchpatch { url = "https://raw.githubusercontent.com/void-linux/void-packages/b9f58f303ae23754c95d5d1fe87a98b5a2d8f271/srcpkgs/mesa/patches/musl-endian.patch"; sha256 = "sha256-eRc91qCaFlVzrxFrNUPpAHd1gsqKsLCCN0IW8pBQcqk=";


Xaw3d ghostscriptX perl <del> ] ++ stdenv.lib.optionals stdenv.isDarwin [ </del> pkgconfig <ins> ] ++ stdenv.lib.optionals stdenv.isDarwin [ </ins> libiconv ];


<del> { stdenv, fetchurl, makeWrapper, jre, callPackage }: let dotty-bare = callPackage ./dotty-bare.nix { inherit stdenv fetchurl makeWrapper jre; }; in stdenv.mkDerivation { pname = "dotty"; inherit (dotty-bare) version; dontUnpack = true; installPhase = '' mkdir -p $out/bin ln -s ${dotty-bare}/bin/scalac $out/bin/scalac ln -s ${dotty-bare}/bin/scaladoc $out/bin/scaladoc ln -s ${dotty-bare}/bin/scala $out/bin/scala ln -s ${dotty-bare}/bin/common $out/bin/common ''; inherit (dotty-bare) meta; } </del>


("generators.mkValueStringDefault: " + "${t} not supported: ${toPretty {} v}"); in   if isInt      v then toString v <ins> # convert derivations to store paths else if lib.isDerivation v then toString v </ins> # we default to not quoting strings else if isString   v then v # isString returns "1", which is not a good default


!langJit && !stdenv.hostPlatform.isDarwin && enableShared <del> ; </del> <ins> ; </ins> <del> # For some reason libgcc_s.so has major-version "2" on m68k but # "1" everywhere else.  Might be worth changing this to "*". libgcc_s-version-major = if targetPlatform.isM68k then "2" else "1"; </del> <ins> # For some reason libgcc_s.so has major-version "2" on m68k but # "1" everywhere else.  Might be worth changing this to "*". libgcc_s-version-major = if targetPlatform.isM68k then "2" else "1"; </ins> in (pkg: pkg.overrideAttrs (previousAttrs: lib.optionalAttrs ((!langC) || langJit || enableLibGccOutput) {


# Arguments that this derivation gets when it is created with `callPackage` { stdenv , lib <del> , symlinkJoin </del> , makeWrapper <ins> , symlinkJoin </ins> , yt-dlp }:


sed '2i echo Skipping rm deep-2 test && exit 77' -i ./tests/rm/deep-2.sh sed '2i echo Skipping du long-from-unreadable test && exit 77' -i ./tests/du/long-from-unreadable.sh <ins> # The test tends to fail on cephfs sed '2i echo Skipping df total-verify test && exit 77' -i ./tests/df/total-verify.sh </ins> # Some target platforms, especially when building inside a container have # issues with the inotify test. sed '2i echo Skipping tail inotify dir recreate test && exit 77' -i ./tests/tail/inotify-dir-recreate.sh


{ lib , buildPythonPackage <ins> , fetchpatch </ins> , fetchPypi , isPy3k , pytestCheckHook


./scripts/light-scrubber.sh ''; <ins> postInstall = '' mkdir -p $doc/share/doc/shogun/examples mv $out/share/shogun/examples/cpp $doc/share/doc/shogun/examples cp ../examples/undocumented/libshogun/*.cpp $doc/share/doc/shogun/examples/cpp rm -r $out/share ''; </ins> meta = with lib; { description = "A toolbox which offers a wide range of efficient and unified machine learning methods"; homepage = "http://shogun-toolbox.org/"; license = if withSvmLight then licenses.unfree else licenses.gpl3Plus; <del> maintainers = with maintainers; [ edwtjo ]; </del> <ins> maintainers = with maintainers; [ edwtjo smancill ]; </ins> }; }


<ins> --- old/build/pkgs/python3/spkg-install	2017-07-21 14:10:00.000000000 -0500 +++ new/build/pkgs/python3/spkg-install	2017-10-15 13:11:17.769261404 -0500 @@ -22,6 +22,9 @@ cd src +LDFLAGS="-lcrypt $LDFLAGS" +export LDFLAGS + if [ "$SAGE_DEBUG" = "yes" ]; then echo "Building Python with pydebug" PYTHON_CONFIGURE="$PYTHON_CONFIGURE --with-pydebug" </ins>


# }); libnix = dontCheck super.libnix; <del> # https://github.com/jmillikin/chell/issues/1 chell = super.chell.override { patience = self.patience_0_1_1; }; </del> # The test suite tries to mess with ALSA, which doesn't work in the build sandbox. xmobar = dontCheck super.xmobar;


<ins> { lib, stdenv, buildNpmPackage, fetchFromGitHub, makeWrapper, makeDesktopItem, copyDesktopItems, electron, httptoolkit-server, }: buildNpmPackage rec { pname = "httptoolkit"; version = "1.19.0"; src = fetchFromGitHub { owner = "httptoolkit"; repo = "httptoolkit-desktop"; rev = "refs/tags/v${version}"; hash = "sha256-e+ngBZMwMTvwzY1K7IaxlNoRkZUPDdJvKxvxuCsc9pw="; }; npmDepsHash = "sha256-XgJIs4P1ezCEPPitIIfYpNkX0/3dPdajeIiDwHm7DSU="; env = { ELECTRON_SKIP_BINARY_DOWNLOAD = "1"; # disable code signing on Darwin CSC_IDENTITY_AUTO_DISCOVERY = "false"; }; nativeBuildInputs = [ makeWrapper ] ++ lib.optionals stdenv.isLinux [ copyDesktopItems ]; npmBuildScript = "build:src"; postBuild = '' substituteInPlace package.json --replace-fail  '"forceCodeSigning": true'  '"forceCodeSigning": false' cp -r ${electron.dist} electron-dist chmod -R u+w electron-dist npm exec electron-builder --  --dir  -c.electronDist=electron-dist  -c.electronVersion=${electron.version} ''; installPhase = '' runHook preInstall ${lib.optionalString stdenv.isLinux '' mkdir -p $out/share/httptoolkit cp -r dist/*-unpacked/{locales,resources{,.pak}} $out/share/httptoolkit ln -s ${httptoolkit-server} $out/share/httptoolkit/resources/httptoolkit-server install -Dm644 src/icons/icon.svg $out/share/icons/hicolor/scalable/apps/httptoolkit.svg makeWrapper ${lib.getExe electron} $out/bin/httptoolkit  --add-flags $out/share/httptoolkit/resources/app.asar  --add-flags "''${NIXOS_OZONE_WL:+''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}"  --inherit-argv0 ''} ${lib.optionalString stdenv.isDarwin '' mkdir -p $out/Applications cp -r dist/mac*/"HTTP Toolkit.app" $out/Applications ln -s ${httptoolkit-server} "$out/Applications/HTTP Toolkit.app/Contents/Resources/httptoolkit-server" makeWrapper "$out/Applications/HTTP Toolkit.app/Contents/MacOS/HTTP Toolkit" $out/bin/httptoolkit ''} runHook postInstall ''; desktopItems = [ (makeDesktopItem { name = "httptoolkit"; desktopName = "HTTP Toolkit"; exec = "httptoolkit %U"; terminal = false; icon = "httptoolkit"; startupWMClass = "HTTP Toolkit"; comment = meta.description; categories = [ "Development" ]; startupNotify = true; }) ]; meta = { description = "HTTP(S) debugging, development & testing tool"; homepage = "https://httptoolkit.com/"; license = lib.licenses.agpl3Plus; mainProgram = "httptoolkit"; maintainers = with lib.maintainers; [ tomasajt ]; platforms = electron.meta.platforms; }; } </ins>


hash = "sha256-3fax57oaJvOgbTDPCiiUdtsfAGhICfPkuMihawq06SA="; }; <del> outputs = [ "out" "dev" ]; </del> <ins> outputs = [ "out" "dev" ]; </ins> strictDeps = true; nativeBuildInputs = [ cmake ninja pkg-config ]; buildInputs = [ libnice openssl


rm $out/bin/slack makeWrapper $out/lib/slack/slack $out/bin/slack  --prefix XDG_DATA_DIRS : $GSETTINGS_SCHEMAS_PATH  <del> --prefix PATH : ${xdg-utils}/bin </del> <ins> --prefix PATH : ${lib.makeBinPath [xdg-utils]} </ins> # Fix the desktop link substituteInPlace $out/share/applications/slack.desktop


webSettingsJSON = pkgs.writeText "settings.json" (builtins.toJSON webSettings); # TODO: Should this be RFC42-ised so that users can set additional options without modifying the module? <del> mtaConfig = pkgs.writeText "mailman-postfix.cfg" '' </del> <ins> postfixMtaConfig = pkgs.writeText "mailman-postfix.cfg" '' </ins> [postfix] postmap_command: ${pkgs.postfix}/bin/postmap transport_file_type: hash


/nixos/modules/services/networking/babeld.nix @mweinelt /nixos/modules/services/networking/kea.nix @mweinelt /nixos/modules/services/networking/knot.nix @mweinelt <ins> nixos/modules/services/networking/networkmanager.nix @Janik-Haag </ins> /nixos/modules/services/monitoring/prometheus/exporters/kea.nix @mweinelt /nixos/tests/babeld.nix @mweinelt /nixos/tests/kea.nix @mweinelt /nixos/tests/knot.nix @mweinelt <ins> /nixos/tests/networking/* @Janik-Haag </ins> # Web servers /doc/packages/nginx.section.md @raitobezarius


<ins> diff --git a/tests/test_climat2.py b/tests/test_climat2.py index cede642..2d5ad77 100644 --- a/tests/test_climat2.py +++ b/tests/test_climat2.py @@ -10,12 +10,7 @@ import glob from libmat2 import images, parser_factory -mat2_binary = ['./mat2'] - -if 'MAT2_GLOBAL_PATH_TESTSUITE' in os.environ: -    # Debian runs tests after installing the package -    # https://0xacab.org/jvoisin/mat2/issues/16#note_153878 -    mat2_binary = ['/usr/bin/env', 'mat2'] +mat2_binary = [os.environ['out'] + '/bin/mat2'] class TestHelp(unittest.TestCase): </ins>


if installed_version < available_version: print("updating systemd-boot from %s to %s" % (installed_version, available_version)) <del> subprocess.check_call(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@", "update"]) </del> <ins> subprocess.check_call(["@systemd@/bin/bootctl", "--esp-path=@efiSysMountPoint@"] + bootctl_flags + ["update"]) </ins> os.makedirs("@efiSysMountPoint@/efi/nixos", exist_ok=True) os.makedirs("@efiSysMountPoint@/loader/entries", exist_ok=True)


nativeBuildInputs = [ cmake nasm ]; buildInputs = [ <del> gtk2 glib ffmpeg_4 alsa-lib libmad libogg libvorbis glew libpulseaudio udev </del> <ins> alsa-lib ffmpeg_6 glew glib gtk2 libmad libogg libpulseaudio libvorbis udev xorg.libXtst </ins> ]; cmakeFlags = [


owner = "maxbachmann"; repo = "RapidFuzz"; rev = "refs/tags/v${version}"; <del> hash = "sha256-a83Vww9dEh0nNylnZwCm6PJYmfKvw5RnMLerfKfN1dY="; </del> <ins> hash = "sha256-hx8DNFxzD41tvxcKaSqqKkxJMlcrxAaihulUdkzyOt0="; </ins> }; nativeBuildInputs = [


}; lp_solve = callPackage ../applications/science/math/lp_solve { <del> inherit (darwin) cctools; </del> <ins> inherit (darwin) cctools autoSignDarwinBinariesHook; </ins> }; fabric-installer = callPackage ../tools/games/minecraft/fabric-installer { };


with python.pkgs; buildPythonApplication rec { pname = "pdm"; <del> version = "2.10.4"; format = "pyproject"; disabled = pythonOlder "3.7"; </del> <ins> version = "2.12.1"; pyproject = true; disabled = pythonOlder "3.8"; </ins> src = fetchPypi { inherit pname version; <del> hash = "sha256-bf2dTLWQQ+3sstC0fSCOVdidMzunGX3rBcyi37x6S/s="; </del> <ins> hash = "sha256-OaKroZmGyUWnm/WEw3dSheJOnH+O2KYDgVthxfrF20w="; </ins> }; nativeBuildInputs = [


pwnat = callPackage ../tools/networking/pwnat { }; <del> pwndbg = python3Packages.callPackage ../development/tools/misc/pwndbg { }; </del> <ins> pwndbg = callPackage ../development/tools/misc/pwndbg { }; </ins> pycangjie = pythonPackages.pycangjie;


<ins> diff --git a/actions/system/CMakeLists.txt b/actions/system/CMakeLists.txt index ca861145..3e3d3d3b 100644 --- a/actions/system/CMakeLists.txt +++ b/actions/system/CMakeLists.txt @@ -66,8 +66,6 @@ set(HEADERS ${HEADERS_PREFIX}/actions/playsoundinstance.hpp ${HEADERS_PREFIX}/actions/systemdefinition.hpp ${HEADERS_PREFIX}/actions/systeminstance.hpp -    ${HEADERS_PREFIX}/actions/texttospeechdefinition.hpp -    ${HEADERS_PREFIX}/actions/texttospeechinstance.hpp ${HEADERS_PREFIX}/code/mediaplaylist.hpp ${HEADERS_PREFIX}/code/notify.hpp ${HEADERS_PREFIX}/code/process.hpp @@ -131,7 +129,6 @@ find_package(Qt5 ${ACT_MINIMUM_QT_VERSION} COMPONENTS DBus Multimedia MultimediaWidgets -    TextToSpeech REQUIRED) target_include_directories(${PROJECT} @@ -153,7 +150,6 @@ target_link_libraries(${PROJECT} Qt5::DBus Qt5::Multimedia Qt5::MultimediaWidgets -    Qt5::TextToSpeech ${LIBNOTIFY_LIBRARIES} ${BLUEZ_LIBRARIES} ${UDEV_LIBRARIES} diff --git a/actions/system/src/actionpacksystem.hpp b/actions/system/src/actionpacksystem.hpp index c5768415..27a899d6 100644 --- a/actions/system/src/actionpacksystem.hpp +++ b/actions/system/src/actionpacksystem.hpp @@ -31,10 +31,6 @@ #include "actions/playsounddefinition.hpp" #include "actions/findimagedefinition.hpp" -#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) -#include "actions/texttospeechdefinition.hpp" -#endif - #include "code/system.hpp" #include "code/mediaplaylist.hpp" #include "code/notify.hpp" @@ -67,9 +63,6 @@ public: addActionDefinition(new Actions::DetachedCommandDefinition(this)); addActionDefinition(new Actions::PlaySoundDefinition(this)); addActionDefinition(new Actions::FindImageDefinition(this)); -#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) -        addActionDefinition(new Actions::TextToSpeechDefinition(this)); -#endif } QString id() const override							{ return QStringLiteral("system"); } </ins>


<ins> Patch included in advisory @ https://subversion.apache.org/security/CVE-2020-17525-advisory.txt --- a/subversion/libsvn_repos/config_file.c +++ b/subversion/libsvn_repos/config_file.c @@ -237,6 +237,10 @@ get_repos_config(svn_stream_t **stream, { /* Search for a repository in the full path. */ repos_root_dirent = svn_repos_find_root_path(dirent, scratch_pool); +      if (repos_root_dirent == NULL) +        return svn_error_trace(handle_missing_file(stream, checksum, access, +                                                   url, must_exist, +                                                   svn_node_none)); /* Attempt to open a repository at repos_root_dirent. */ SVN_ERR(svn_repos_open3(&access->repos, repos_root_dirent, NULL, </ins>


fetch --distdir=${distDir} build --copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt="/g')" build --host_copt="$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt="/g')" <ins> build --linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --linkopt="/g')" build --host_linkopt="$(echo $(< ${stdenv.cc}/nix-support/libcxx-ldflags) | sed -e 's/ /" --host_linkopt="/g')" </ins> build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')" build --host_linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt="-Wl,/g')" build --host_javabase='@local_jdk//:jdk'


pdfjam = callPackage ../tools/typesetting/pdfjam { }; <ins> jbig2enc = callPackage ../tools/graphics/jbig2enc { }; </ins> pdfread = callPackage ../tools/graphics/pdfread { }; briss = callPackage ../tools/graphics/briss { };


<ins> { lib, stdenvNoLibs, buildPackages , gcc, glibc , libiberty }: let gccConfigureFlags = gcc.cc.configureFlags ++ [ "--disable-fixincludes" "--disable-intl" "--enable-threads=posix" "--with-glibc-version=${glibc.version}" # these are required in order to prevent inhibit_libc=true, # which will cripple libgcc's unwinder; see: #  https://github.com/NixOS/nixpkgs/issues/213453#issuecomment-1616346163 "--with-headers=${lib.getDev glibc}/include" "--with-native-system-header-dir=${lib.getDev glibc}${glibc.incdir or "/include"}" "--with-build-sysroot=/" ]; in stdenvNoLibs.mkDerivation (finalAttrs: { pname = "libgcc"; inherit (gcc.cc) src version; outputs = [ "out" "dev" ]; strictDeps = true; depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ libiberty ]; buildInputs = [ glibc ]; postUnpack = '' mkdir -p ./build buildRoot=$(readlink -e "./build") ''; postPatch = gcc.cc.passthru.forceLibgccToBuildCrtStuff + '' sourceRoot=$(readlink -e "./libgcc") ''; hardeningDisable = [ "pie" ]; preConfigure = '' # Drop in libiberty, as external builds are not expected cd "$buildRoot" ( mkdir -p build-${stdenvNoLibs.buildPlatform.config}/libiberty/ cd build-${stdenvNoLibs.buildPlatform.config}/libiberty/ ln -s ${buildPackages.libiberty}/lib/libiberty.a ./ ) mkdir -p "$buildRoot/gcc" cd "$buildRoot/gcc" ( # We "shift" the tools over to fake platforms perspective from the previous stage. export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD export AS=$AS_FOR_BUILD export CC=$CC_FOR_BUILD export CPP=$CPP_FOR_BUILD export CXX=$CXX_FOR_BUILD export LD=$LD_FOR_BUILD export AS_FOR_TARGET=${stdenvNoLibs.cc}/bin/$AS export CC_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CC export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD # We define GENERATOR_FILE so nothing bothers looking for GNU GMP. export NIX_CFLAGS_COMPILE_FOR_BUILD+=' -DGENERATOR_FILE=1' "$sourceRoot/../gcc/configure" ${lib.concatStringsSep " " gccConfigureFlags} # We remove the `libgcc.mvar` deps so that the bootstrap xgcc isn't built. sed -e 's,libgcc.mvars:.*$,libgcc.mvars:,' -i Makefile make  config.h  libgcc.mvars  tconfig.h  tm.h  options.h  insn-constants.h  insn-modes.h ) mkdir -p "$buildRoot/gcc/include" # Preparing to configure + build libgcc itself mkdir -p "$buildRoot/gcc/${stdenvNoLibs.hostPlatform.config}/libgcc" cd "$buildRoot/gcc/${stdenvNoLibs.hostPlatform.config}/libgcc" configureScript=$sourceRoot/configure chmod +x "$configureScript" export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD export AS=${stdenvNoLibs.cc}/bin/$AS export CC=${stdenvNoLibs.cc}/bin/$CC export CPP=${stdenvNoLibs.cc}/bin/$CPP export CXX=${stdenvNoLibs.cc}/bin/$CXX export LD=${stdenvNoLibs.cc.bintools}/bin/$LD export AS_FOR_TARGET=${stdenvNoLibs.cc}/bin/$AS_FOR_TARGET export CC_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CC_FOR_TARGET export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP_FOR_TARGET export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD_FOR_TARGET ''; configurePlatforms = [ "build" "host" ]; configureFlags = [ "cross_compiling=true" "--disable-gcov" "--with-glibc-version=${glibc.version}" ]; makeFlags = [ "MULTIBUILDTOP:=../" ]; postInstall = '' moveToOutput "lib/gcc/${stdenvNoLibs.hostPlatform.config}/${finalAttrs.version}/include" "$dev" mkdir -p "$out/lib" "$dev/include" ln -s "$out/lib/gcc/${stdenvNoLibs.hostPlatform.config}/${finalAttrs.version}"/* "$out/lib" ln -s "$dev/lib/gcc/${stdenvNoLibs.hostPlatform.config}/${finalAttrs.version}/include"/* "$dev/include/" ''; }) </ins>