<del> <section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="sec-pkgs-dockerTools"> <title>pkgs.dockerTools</title> <para> <varname>pkgs.dockerTools</varname> is a set of functions for creating and manipulating Docker images according to the <link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#docker-image-specification-v120"> Docker Image Specification v1.2.0 </link>. Docker itself is not used to perform any of the operations done by these functions. </para> <section xml:id="ssec-pkgs-dockerTools-buildImage"> <title>buildImage</title> <para> This function is analogous to the <command>docker build</command> command, in that it can be used to build a Docker-compatible repository tarball containing a single image with one or multiple layers. As such, the result is suitable for being loaded in Docker with <command>docker load</command>. </para> <para> The parameters of <varname>buildImage</varname> with relative example values are described below: </para> <example xml:id='ex-dockerTools-buildImage'> <title>Docker build</title> <programlisting> buildImage { name = "redis"; <co xml:id='ex-dockerTools-buildImage-1' /> tag = "latest"; <co xml:id='ex-dockerTools-buildImage-2' /> fromImage = someBaseImage; <co xml:id='ex-dockerTools-buildImage-3' /> fromImageName = null; <co xml:id='ex-dockerTools-buildImage-4' /> fromImageTag = "latest"; <co xml:id='ex-dockerTools-buildImage-5' /> contents = pkgs.redis; <co xml:id='ex-dockerTools-buildImage-6' /> runAsRoot = '' <co xml:id='ex-dockerTools-buildImage-runAsRoot' /> #!${pkgs.runtimeShell} mkdir -p /data ''; config = { <co xml:id='ex-dockerTools-buildImage-8' /> Cmd = [ "/bin/redis-server" ]; WorkingDir = "/data"; Volumes = { "/data" = {}; }; }; } </programlisting> </example> <para> The above example will build a Docker image <literal>redis/latest</literal> from the given base image. Loading and running this image in Docker results in <literal>redis-server</literal> being started automatically. </para> <calloutlist> <callout arearefs='ex-dockerTools-buildImage-1'> <para> <varname>name</varname> specifies the name of the resulting image. This is the only required argument for <varname>buildImage</varname>. </para> </callout> <callout arearefs='ex-dockerTools-buildImage-2'> <para> <varname>tag</varname> specifies the tag of the resulting image. By default it's <literal>null</literal>, which indicates that the nix output hash will be used as tag. </para> </callout> <callout arearefs='ex-dockerTools-buildImage-3'> <para> <varname>fromImage</varname> is the repository tarball containing the base image. It must be a valid Docker image, such as exported by <command>docker save</command>. By default it's <literal>null</literal>, which can be seen as equivalent to <literal>FROM scratch</literal> of a <filename>Dockerfile</filename>. </para> </callout> <callout arearefs='ex-dockerTools-buildImage-4'> <para> <varname>fromImageName</varname> can be used to further specify the base image within the repository, in case it contains multiple images. By default it's <literal>null</literal>, in which case <varname>buildImage</varname> will peek the first image available in the repository. </para> </callout> <callout arearefs='ex-dockerTools-buildImage-5'> <para> <varname>fromImageTag</varname> can be used to further specify the tag of the base image within the repository, in case an image contains multiple tags. By default it's <literal>null</literal>, in which case <varname>buildImage</varname> will peek the first tag available for the base image. </para> </callout> <callout arearefs='ex-dockerTools-buildImage-6'> <para> <varname>contents</varname> is a derivation that will be copied in the new layer of the resulting image. This can be similarly seen as <command>ADD contents/ /</command> in a <filename>Dockerfile</filename>. By default it's <literal>null</literal>. </para> </callout> <callout arearefs='ex-dockerTools-buildImage-runAsRoot'> <para> <varname>runAsRoot</varname> is a bash script that will run as root in an environment that overlays the existing layers of the base image with the new resulting layer, including the previously copied <varname>contents</varname> derivation. This can be similarly seen as <command>RUN ...</command> in a <filename>Dockerfile</filename>. <note> <para> Using this parameter requires the <literal>kvm</literal> device to be available. </para> </note> </para> </callout> <callout arearefs='ex-dockerTools-buildImage-8'> <para> <varname>config</varname> is used to specify the configuration of the containers that will be started off the built image in Docker. The available options are listed in the <link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions"> Docker Image Specification v1.2.0 </link>. </para> </callout> </calloutlist> <para> After the new layer has been created, its closure (to which <varname>contents</varname>, <varname>config</varname> and <varname>runAsRoot</varname> contribute) will be copied in the layer itself. Only new dependencies that are not already in the existing layers will be copied. </para> <para> At the end of the process, only one new single layer will be produced and added to the resulting image. </para> <para> The resulting repository will only list the single image <varname>image/tag</varname>. In the case of <xref linkend='ex-dockerTools-buildImage'/> it would be <varname>redis/latest</varname>. </para> <para> It is possible to inspect the arguments with which an image was built using its <varname>buildArgs</varname> attribute. </para> <note> <para> If you see errors similar to <literal>getProtocolByName: does not exist (no such protocol name: tcp)</literal> you may need to add <literal>pkgs.iana-etc</literal> to <varname>contents</varname>. </para> </note> <note> <para> If you see errors similar to <literal>Error_Protocol ("certificate has unknown CA",True,UnknownCa)</literal> you may need to add <literal>pkgs.cacert</literal> to <varname>contents</varname>. </para> </note> <example xml:id="example-pkgs-dockerTools-buildImage-creation-date"> <title>Impurely Defining a Docker Layer's Creation Date</title> <para> By default <function>buildImage</function> will use a static date of one second past the UNIX Epoch. This allows <function>buildImage</function> to produce binary reproducible images. When listing images with <command>docker images</command>, the newly created images will be listed like this: </para> <screen> <prompt>$ </prompt>docker images REPOSITORY   TAG      IMAGE ID       CREATED        SIZE hello        latest   08c791c7846e   48 years ago   25.2MB </screen> <para> You can break binary reproducibility but have a sorted, meaningful <literal>CREATED</literal> column by setting <literal>created</literal> to <literal>now</literal>. </para> <programlisting><![CDATA[ pkgs.dockerTools.buildImage { name = "hello"; tag = "latest"; created = "now"; contents = pkgs.hello; config.Cmd = [ "/bin/hello" ]; } ]]></programlisting> <para> and now the Docker CLI will display a reasonable date and sort the images as expected: <screen> <prompt>$ </prompt>docker images REPOSITORY   TAG      IMAGE ID       CREATED              SIZE hello        latest   de2bf4786de6   About a minute ago   25.2MB </screen> however, the produced images will not be binary reproducible. </para> </example> </section> <section xml:id="ssec-pkgs-dockerTools-buildLayeredImage"> <title>buildLayeredImage</title> <para> Create a Docker image with many of the store paths being on their own layer to improve sharing between images. The image is realized into the Nix store as a gzipped tarball. Depending on the intended usage, many users might prefer to use <function>streamLayeredImage</function> instead, which this function uses internally. </para> <variablelist> <varlistentry> <term> <varname>name</varname> </term> <listitem> <para> The name of the resulting image. </para> </listitem> </varlistentry> <varlistentry> <term> <varname>tag</varname> <emphasis>optional</emphasis> </term> <listitem> <para> Tag of the generated image. </para> <para> <emphasis>Default:</emphasis> the output path's hash </para> </listitem> </varlistentry> <varlistentry> <term> <varname>contents</varname> <emphasis>optional</emphasis> </term> <listitem> <para> Top level paths in the container. Either a single derivation, or a list of derivations. </para> <para> <emphasis>Default:</emphasis> <literal>[]</literal> </para> </listitem> </varlistentry> <varlistentry> <term> <varname>config</varname> <emphasis>optional</emphasis> </term> <listitem> <para> Run-time configuration of the container. A full list of the options are available at in the <link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions"> Docker Image Specification v1.2.0 </link>. </para> <para> <emphasis>Default:</emphasis> <literal>{}</literal> </para> </listitem> </varlistentry> <varlistentry> <term> <varname>created</varname> <emphasis>optional</emphasis> </term> <listitem> <para> Date and time the layers were created. Follows the same <literal>now</literal> exception supported by <literal>buildImage</literal>. </para> <para> <emphasis>Default:</emphasis> <literal>1970-01-01T00:00:01Z</literal> </para> </listitem> </varlistentry> <varlistentry> <term> <varname>maxLayers</varname> <emphasis>optional</emphasis> </term> <listitem> <para> Maximum number of layers to create. </para> <para> <emphasis>Default:</emphasis> <literal>100</literal> </para> <para> <emphasis>Maximum:</emphasis> <literal>125</literal> </para> </listitem> </varlistentry> <varlistentry> <term> <varname>extraCommands</varname> <emphasis>optional</emphasis> </term> <listitem> <para> Shell commands to run while building the final layer, without access to most of the layer contents. Changes to this layer are "on top" of all the other layers, so can create additional directories and files. </para> </listitem> </varlistentry> </variablelist> <section xml:id="dockerTools-buildLayeredImage-arg-contents"> <title>Behavior of <varname>contents</varname> in the final image</title> <para> Each path directly listed in <varname>contents</varname> will have a symlink in the root of the image. </para> <para> For example: <programlisting><![CDATA[ pkgs.dockerTools.buildLayeredImage { name = "hello"; contents = [ pkgs.hello ]; } ]]></programlisting> will create symlinks for all the paths in the <literal>hello</literal> package: <screen><![CDATA[ /bin/hello -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/bin/hello /share/info/hello.info -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/share/info/hello.info /share/locale/bg/LC_MESSAGES/hello.mo -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/share/locale/bg/LC_MESSAGES/hello.mo ]]></screen> </para> </section> <section xml:id="dockerTools-buildLayeredImage-arg-config"> <title>Automatic inclusion of <varname>config</varname> references</title> <para> The closure of <varname>config</varname> is automatically included in the closure of the final image. </para> <para> This allows you to make very simple Docker images with very little code. This container will start up and run <command>hello</command>: <programlisting><![CDATA[ pkgs.dockerTools.buildLayeredImage { name = "hello"; config.Cmd = [ "${pkgs.hello}/bin/hello" ]; } ]]></programlisting> </para> </section> <section xml:id="dockerTools-buildLayeredImage-arg-maxLayers"> <title>Adjusting <varname>maxLayers</varname></title> <para> Increasing the <varname>maxLayers</varname> increases the number of layers which have a chance to be shared between different images. </para> <para> Modern Docker installations support up to 128 layers, however older versions support as few as 42. </para> <para> If the produced image will not be extended by other Docker builds, it is safe to set <varname>maxLayers</varname> to <literal>128</literal>. However it will be impossible to extend the image further. </para> <para> The first (<literal>maxLayers-2</literal>) most "popular" paths will have their own individual layers, then layer #<literal>maxLayers-1</literal> will contain all the remaining "unpopular" paths, and finally layer #<literal>maxLayers</literal> will contain the Image configuration. </para> <para> Docker's Layers are not inherently ordered, they are content-addressable and are not explicitly layered until they are composed in to an Image. </para> </section> </section> <section xml:id="ssec-pkgs-dockerTools-streamLayeredImage"> <title>streamLayeredImage</title> <para> Builds a script which, when run, will stream an uncompressed tarball of a Docker image to stdout. The arguments to this function are as for <function>buildLayeredImage</function>. This method of constructing an image does not realize the image into the Nix store, so it saves on IO and disk/cache space, particularly with large images. </para> <para> The image produced by running the output script can be piped directly into <command>docker load</command>, to load it into the local docker daemon: <screen><![CDATA[ $(nix-build) | docker load ]]></screen> </para> <para> Alternatively, the image be piped via <command>gzip</command> into <command>skopeo</command>, e.g. to copy it into a registry: <screen><![CDATA[ $(nix-build) | gzip --fast | skopeo copy docker-archive:/dev/stdin docker://some_docker_registry/myimage:tag ]]></screen> </para> </section> <section xml:id="ssec-pkgs-dockerTools-fetchFromRegistry"> <title>pullImage</title> <para> This function is analogous to the <command>docker pull</command> command, in that it can be used to pull a Docker image from a Docker registry. By default <link xlink:href="https://hub.docker.com/">Docker Hub</link> is used to pull images. </para> <para> Its parameters are described in the example below: </para> <example xml:id='ex-dockerTools-pullImage'> <title>Docker pull</title> <programlisting> pullImage { imageName = "nixos/nix"; <co xml:id='ex-dockerTools-pullImage-1' /> imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; <co xml:id='ex-dockerTools-pullImage-2' /> finalImageName = "nix"; <co xml:id='ex-dockerTools-pullImage-3' /> finalImageTag = "1.11";  <co xml:id='ex-dockerTools-pullImage-4' /> sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; <co xml:id='ex-dockerTools-pullImage-5' /> os = "linux"; <co xml:id='ex-dockerTools-pullImage-6' /> arch = "x86_64"; <co xml:id='ex-dockerTools-pullImage-7' /> } </programlisting> </example> <calloutlist> <callout arearefs='ex-dockerTools-pullImage-1'> <para> <varname>imageName</varname> specifies the name of the image to be downloaded, which can also include the registry namespace (e.g. <literal>nixos</literal>). This argument is required. </para> </callout> <callout arearefs='ex-dockerTools-pullImage-2'> <para> <varname>imageDigest</varname> specifies the digest of the image to be downloaded. This argument is required. </para> </callout> <callout arearefs='ex-dockerTools-pullImage-3'> <para> <varname>finalImageName</varname>, if specified, this is the name of the image to be created. Note it is never used to fetch the image since we prefer to rely on the immutable digest ID. By default it's equal to <varname>imageName</varname>. </para> </callout> <callout arearefs='ex-dockerTools-pullImage-4'> <para> <varname>finalImageTag</varname>, if specified, this is the tag of the image to be created. Note it is never used to fetch the image since we prefer to rely on the immutable digest ID. By default it's <literal>latest</literal>. </para> </callout> <callout arearefs='ex-dockerTools-pullImage-5'> <para> <varname>sha256</varname> is the checksum of the whole fetched image. This argument is required. </para> </callout> <callout arearefs='ex-dockerTools-pullImage-6'> <para> <varname>os</varname>, if specified, is the operating system of the fetched image. By default it's <literal>linux</literal>. </para> </callout> <callout arearefs='ex-dockerTools-pullImage-7'> <para> <varname>arch</varname>, if specified, is the cpu architecture of the fetched image. By default it's <literal>x86_64</literal>. </para> </callout> </calloutlist> <para> <literal>nix-prefetch-docker</literal> command can be used to get required image parameters: <screen> <prompt>$ </prompt>nix run nixpkgs.nix-prefetch-docker -c nix-prefetch-docker --image-name mysql --image-tag 5 </screen> Since a given <varname>imageName</varname> may transparently refer to a manifest list of images which support multiple architectures and/or operating systems, you can supply the <option>--os</option> and <option>--arch</option> arguments to specify exactly which image you want. By default it will match the OS and architecture of the host the command is run on. <screen> <prompt>$ </prompt>nix-prefetch-docker --image-name mysql --image-tag 5 --arch x86_64 --os linux </screen> Desired image name and tag can be set using <option>--final-image-name</option> and <option>--final-image-tag</option> arguments: <screen> <prompt>$ </prompt>nix-prefetch-docker --image-name mysql --image-tag 5 --final-image-name eu.gcr.io/my-project/mysql --final-image-tag prod </screen> </para> </section> <section xml:id="ssec-pkgs-dockerTools-exportImage"> <title>exportImage</title> <para> This function is analogous to the <command>docker export</command> command, in that it can be used to flatten a Docker image that contains multiple layers. It is in fact the result of the merge of all the layers of the image. As such, the result is suitable for being imported in Docker with <command>docker import</command>. </para> <note> <para> Using this function requires the <literal>kvm</literal> device to be available. </para> </note> <para> The parameters of <varname>exportImage</varname> are the following: </para> <example xml:id='ex-dockerTools-exportImage'> <title>Docker export</title> <programlisting> exportImage { fromImage = someLayeredImage; fromImageName = null; fromImageTag = null; name = someLayeredImage.name; } </programlisting> </example> <para> The parameters relative to the base image have the same synopsis as described in <xref linkend='ssec-pkgs-dockerTools-buildImage'/>, except that <varname>fromImage</varname> is the only required argument in this case. </para> <para> The <varname>name</varname> argument is the name of the derivation output, which defaults to <varname>fromImage.name</varname>. </para> </section> <section xml:id="ssec-pkgs-dockerTools-shadowSetup"> <title>shadowSetup</title> <para> This constant string is a helper for setting up the base files for managing users and groups, only if such files don't exist already. It is suitable for being used in a <varname>runAsRoot</varname> <xref linkend='ex-dockerTools-buildImage-runAsRoot'/> script for cases like in the example below: </para> <example xml:id='ex-dockerTools-shadowSetup'> <title>Shadow base files</title> <programlisting> buildImage { name = "shadow-basic"; runAsRoot = '' #!${pkgs.runtimeShell} ${shadowSetup} groupadd -r redis useradd -r -g redis redis mkdir /data chown redis:redis /data ''; } </programlisting> </example> <para> Creating base files like <literal>/etc/passwd</literal> or <literal>/etc/login.defs</literal> is necessary for shadow-utils to manipulate users and groups. </para> </section> </section> </del>


, xkeyboard_config , glib , libarchive <ins> , libxcrypt </ins> , python2 }:


}@attrs: let allIdrisDeps = idrisDeps <del> ++ lib.optional (!noPrelude) idrisPackages.prelude ++ lib.optional (!noBase) idrisPackages.base; idris-with-packages = idrisPackages.with-packages allIdrisDeps; </del> <ins> ++ lib.optional (!noPrelude) prelude ++ lib.optional (!noBase) base; idris-with-packages = with-packages allIdrisDeps; </ins> newAttrs = builtins.removeAttrs attrs [ "idrisDeps" "noPrelude" "noBase" "name" "version" "ipkgName" "extraBuildInputs" ] // { meta = attrs.meta // { <del> platforms = attrs.meta.platforms or idrisPackages.idris.meta.platforms; </del> <ins> platforms = attrs.meta.platforms or idris.meta.platforms; </ins> }; }; in


<ins> { lib , stdenv , fetchFromGitHub , buildPythonPackage , unittestCheckHook , daqp , ecos , numpy , osqp , scipy , scs , quadprog }: buildPythonPackage rec { pname = "qpsolvers"; version = "3.4.0"; format = "flit"; src = fetchFromGitHub { owner = "qpsolvers"; repo = "qpsolvers"; rev = "v${version}"; hash = "sha256-GrYAhTWABBvU6rGoHi00jBa7ryjCNgzO/hQBTdSW9cg="; }; pythonImportsCheck = [ "qpsolvers" ]; propagatedBuildInputs = [ daqp ecos numpy osqp scipy scs ]; nativeCheckInputs = [ quadprog unittestCheckHook ]; meta = with lib; { description = "Quadratic programming solvers in Python with a unified API"; homepage = "https://github.com/qpsolvers/qpsolvers"; license = licenses.lgpl3Plus; maintainers = with maintainers; [ renesat ]; }; } </ins>


pkgconfig gobject-introspection gtk-doc docbook_xsl docbook_xml_dtd_43 ]; buildInputs = [ <del> harfbuzz fribidi </del> <ins> fribidi </ins> ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices Carbon CoreGraphics CoreText ]); <del> propagatedBuildInputs = [ cairo glib libintl ] ++ </del> <ins> propagatedBuildInputs = [ cairo glib libintl harfbuzz ] ++ </ins> optional x11Support libXft; <del> patches = [ (fetchpatch { # Add gobject-2 to .pc file url = "https://gitlab.gnome.org/GNOME/pango/commit/546f4c242d6f4fe312de3b7c918a848e5172e18d.patch"; sha256 = "1cqhy4xbwx3ad7z5d1ks7smf038b9as8c6qy84rml44h0fgiq4m2"; }) ]; </del> mesonFlags = [ <del> "-Denable_docs=${if stdenv.isDarwin then "false" else "true"}" </del> <ins> "-Dgtk_doc=${if stdenv.isDarwin then "false" else "true"}" </ins> ]; enableParallelBuilding = true;


<ins> From 30534f48c6ede142dad0008d1641392d82b8a137 Mon Sep 17 00:00:00 2001 From: Liu Hao <lh_mouse@126.com> Date: Mon, 18 Apr 2016 11:50:55 +0800 Subject: [PATCH] Added 'mcf' thread model support from mcfgthread. Signed-off-by: Liu Hao <lh_mouse@126.com> --- config/gthr.m4                          |  1 + gcc/config.gcc                          |  3 +++ gcc/config/i386/mingw-mcfgthread.h      |  1 + gcc/config/i386/mingw-w64.h             |  2 +- gcc/config/i386/mingw32.h               | 11 ++++++++++- gcc/configure                           |  2 +- gcc/configure.ac                        |  2 +- libatomic/configure.tgt                 |  2 +- libgcc/config.host                      |  6 ++++++ libgcc/config/i386/gthr-mcf.h           |  1 + libgcc/config/i386/t-mingw-mcfgthread   |  2 ++ libgcc/configure                        |  1 + libstdc++-v3/configure                  |  1 + libstdc++-v3/libsupc++/atexit_thread.cc | 18 ++++++++++++++++++ libstdc++-v3/libsupc++/guard.cc         | 23 +++++++++++++++++++++++ 15 files changed, 71 insertions(+), 5 deletions(-) create mode 100644 gcc/config/i386/mingw-mcfgthread.h create mode 100644 libgcc/config/i386/gthr-mcf.h create mode 100644 libgcc/config/i386/t-mingw-mcfgthread diff --git a/config/gthr.m4 b/config/gthr.m4 index 7b29f1f3327..82e21fe1709 100644 --- a/config/gthr.m4 +++ b/config/gthr.m4 @@ -21,6 +21,7 @@ case $1 in tpf)	thread_header=config/s390/gthr-tpf.h ;; vxworks)	thread_header=config/gthr-vxworks.h ;; win32)	thread_header=config/i386/gthr-win32.h ;; +    mcf)	thread_header=config/i386/gthr-mcf.h ;; esac AC_SUBST(thread_header) ]) diff --git a/gcc/config.gcc b/gcc/config.gcc index 858b878d4b3..6f745790d64 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1722,6 +1722,9 @@ i[34567]86-*-mingw* | x86_64-*-mingw*) if test x$enable_threads = xposix ; then tm_file="${tm_file} i386/mingw-pthread.h" fi +	if test x$enable_threads = xmcf ; then +		tm_file="${tm_file} i386/mingw-mcfgthread.h" +	fi tm_file="${tm_file} i386/mingw32.h" # This makes the logic if mingw's or the w64 feature set has to be used case ${target} in diff --git a/gcc/config/i386/mingw-mcfgthread.h b/gcc/config/i386/mingw-mcfgthread.h new file mode 100644 index 00000000000..ec381a7798f --- /dev/null +++ b/gcc/config/i386/mingw-mcfgthread.h @@ -0,0 +1 @@ +#define TARGET_USE_MCFGTHREAD 1 diff --git a/gcc/config/i386/mingw-w64.h b/gcc/config/i386/mingw-w64.h index fe11333a2d1..cac85802f38 100644 --- a/gcc/config/i386/mingw-w64.h +++ b/gcc/config/i386/mingw-w64.h @@ -48,7 +48,7 @@ along with GCC; see the file COPYING3.  If not see "%{mwindows:-lgdi32 -lcomdlg32} "  "%{fvtable-verify=preinit:-lvtv -lpsapi;  fvtable-verify=std:-lvtv -lpsapi} "  -		 "-ladvapi32 -lshell32 -luser32 -lkernel32" +		 LIB_MCFGTHREAD "-ladvapi32 -lshell32 -luser32 -lkernel32" #undef SPEC_32 #undef SPEC_64 diff --git a/gcc/config/i386/mingw32.h b/gcc/config/i386/mingw32.h index e04818966fa..7b75a372506 100644 --- a/gcc/config/i386/mingw32.h +++ b/gcc/config/i386/mingw32.h @@ -32,6 +32,14 @@ along with GCC; see the file COPYING3.  If not see | MASK_STACK_PROBE | MASK_ALIGN_DOUBLE  | MASK_MS_BITFIELD_LAYOUT) +#ifndef TARGET_USE_MCFGTHREAD +#define CPP_MCFGTHREAD()  ((void)0) +#define LIB_MCFGTHREAD     "" +#else +#define CPP_MCFGTHREAD()  (builtin_define("__USING_MCFGTHREAD__")) +#define LIB_MCFGTHREAD     " -lmcfgthread " +#endif + /* See i386/crtdll.h for an alternative definition. _INTEGRAL_MAX_BITS is for compatibility with native compiler.  */ #define EXTRA_OS_CPP_BUILTINS()					 @@ -50,6 +58,7 @@ along with GCC; see the file COPYING3.  If not see builtin_define_std ("WIN64");				 builtin_define ("_WIN64");				 }							 +	CPP_MCFGTHREAD();	 }								 while (0) @@ -93,7 +102,7 @@ along with GCC; see the file COPYING3.  If not see "%{mwindows:-lgdi32 -lcomdlg32} "  "%{fvtable-verify=preinit:-lvtv -lpsapi;  fvtable-verify=std:-lvtv -lpsapi} "  -                 "-ladvapi32 -lshell32 -luser32 -lkernel32" +                 LIB_MCFGTHREAD "-ladvapi32 -lshell32 -luser32 -lkernel32" /* Weak symbols do not get resolved if using a Windows dll import lib. Make the unwind registration references strong undefs.  */ diff --git a/gcc/configure b/gcc/configure index 954673c1c43..6b5667f1c70 100755 --- a/gcc/configure +++ b/gcc/configure @@ -11702,7 +11702,7 @@ case ${enable_threads} in target_thread_file='single' ;; aix | dce | lynx | mipssde | posix | rtems |  -  single | tpf | vxworks | win32) +  single | tpf | vxworks | win32 | mcf) target_thread_file=${enable_threads} ;; *) diff --git a/gcc/configure.ac b/gcc/configure.ac index 4c65d441e72..e6fa04ada4f 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1593,7 +1593,7 @@ case ${enable_threads} in target_thread_file='single' ;; aix | dce | lynx | mipssde | posix | rtems |  -  single | tpf | vxworks | win32) +  single | tpf | vxworks | win32 | mcf) target_thread_file=${enable_threads} ;; *) diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt index eab2765d7fd..f4058b6f4a2 100644 --- a/libatomic/configure.tgt +++ b/libatomic/configure.tgt @@ -124,7 +124,7 @@ case "${target}" in *-*-mingw*) # OS support for atomic primitives. case ${target_thread_file} in -          win32) +          win32 | mcf) config_path="${config_path} mingw" ;; posix) diff --git a/libgcc/config.host b/libgcc/config.host index 2b139b8befc..fb18d2a042e 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -712,6 +712,9 @@ i[34567]86-*-mingw*) posix) tmake_file="i386/t-mingw-pthread $tmake_file" ;; +	  mcf) +	    tmake_file="i386/t-mingw-mcfgthread $tmake_file" +	    ;; esac # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h if test x$ac_cv_sjlj_exceptions = xyes; then @@ -736,6 +739,9 @@ x86_64-*-mingw*) posix) tmake_file="i386/t-mingw-pthread $tmake_file" ;; +	  mcf) +	    tmake_file="i386/t-mingw-mcfgthread $tmake_file" +	    ;; esac # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h if test x$ac_cv_sjlj_exceptions = xyes; then diff --git a/libgcc/config/i386/gthr-mcf.h b/libgcc/config/i386/gthr-mcf.h new file mode 100644 index 00000000000..5ea2908361f --- /dev/null +++ b/libgcc/config/i386/gthr-mcf.h @@ -0,0 +1 @@ +#include <mcfgthread/gthread.h> diff --git a/libgcc/config/i386/t-mingw-mcfgthread b/libgcc/config/i386/t-mingw-mcfgthread new file mode 100644 index 00000000000..4b9b10e32d6 --- /dev/null +++ b/libgcc/config/i386/t-mingw-mcfgthread @@ -0,0 +1,2 @@ +SHLIB_PTHREAD_CFLAG = +SHLIB_PTHREAD_LDFLAG = -lmcfgthread diff --git a/libgcc/configure b/libgcc/configure index e7d6c75a6f7..664d0f852c4 100644 --- a/libgcc/configure +++ b/libgcc/configure @@ -5077,6 +5077,7 @@ case $target_thread_file in tpf)	thread_header=config/s390/gthr-tpf.h ;; vxworks)	thread_header=config/gthr-vxworks.h ;; win32)	thread_header=config/i386/gthr-win32.h ;; +    mcf)	thread_header=config/i386/gthr-mcf.h ;; esac diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index b5ae4213f94..c484d3aee5f 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -15177,6 +15177,7 @@ case $target_thread_file in tpf)	thread_header=config/s390/gthr-tpf.h ;; vxworks)	thread_header=config/gthr-vxworks.h ;; win32)	thread_header=config/i386/gthr-win32.h ;; +    mcf)	thread_header=config/i386/gthr-mcf.h ;; esac diff --git a/libstdc++-v3/libsupc++/atexit_thread.cc b/libstdc++-v3/libsupc++/atexit_thread.cc index e6520c1094f..3d6907796dd 100644 --- a/libstdc++-v3/libsupc++/atexit_thread.cc +++ b/libstdc++-v3/libsupc++/atexit_thread.cc @@ -25,6 +25,22 @@ #include <cstdlib> #include <new> #include "bits/gthr.h" + +#ifdef __USING_MCFGTHREAD__ + +#include <mcfgthread/gthread.h> + +extern "C" int +__cxxabiv1::__cxa_thread_atexit (void (*dtor)(void *), +				 void *obj, void *dso_handle) +  _GLIBCXX_NOTHROW +{ +  return ::_MCFCRT_AtThreadExit((void (*)(_MCFCRT_STD intptr_t))dtor, (_MCFCRT_STD intptr_t)obj) ? 0 : -1; +  (void)dso_handle; +} + +#else // __USING_MCFGTHREAD__ + #ifdef _GLIBCXX_THREAD_ATEXIT_WIN32 #define WIN32_LEAN_AND_MEAN #include <windows.h> @@ -163,3 +179,5 @@ __cxxabiv1::__cxa_thread_atexit (void (*dtor)(void *), void *obj, void */*dso_ha } #endif /* _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL */ + +#endif // __USING_MCFGTHREAD__ diff --git a/libstdc++-v3/libsupc++/guard.cc b/libstdc++-v3/libsupc++/guard.cc index 9b617998ffe..a441fdbb616 100644 --- a/libstdc++-v3/libsupc++/guard.cc +++ b/libstdc++-v3/libsupc++/guard.cc @@ -28,6 +28,27 @@ #include <cxxabi.h> #include <exception> #include <new> + +#ifdef __USING_MCFGTHREAD__ + +#include <mcfgthread/gthread.h> + +namespace __cxxabiv1 { + +extern "C" int __cxa_guard_acquire(__guard *g){ +	return ::_MCFCRT_WaitForOnceFlagForever((::_MCFCRT_OnceFlag *)g) == ::_MCFCRT_kOnceResultInitial; +} +extern "C" void __cxa_guard_abort(__guard *g) throw() { +	::_MCFCRT_SignalOnceFlagAsAborted((::_MCFCRT_OnceFlag *)g); +} +extern "C" void __cxa_guard_release(__guard *g) throw() { +	::_MCFCRT_SignalOnceFlagAsFinished((::_MCFCRT_OnceFlag *)g); +} + +} + +#else // __USING_MCFGTHREAD__ + #include <ext/atomicity.h> #include <ext/concurrence.h> #if defined(__GTHREADS) && defined(__GTHREAD_HAS_COND)  @@ -424,3 +445,5 @@ namespace __cxxabiv1 #endif } } + +#endif -- 2.12.1 </ins>


Rglpk = [ pkgs.glpk ]; RGtk2 = [ pkgs.gtk2.dev ]; rhdf5 = [ pkgs.zlib ]; <del> Rhdf5lib = [ pkgs.zlib ]; </del> <ins> Rhdf5lib = [ pkgs.zlib.dev ]; </ins> Rhpc = [ pkgs.zlib pkgs.bzip2.dev pkgs.icu pkgs.xz.dev pkgs.mpi pkgs.pcre.dev ]; Rhtslib = [ pkgs.zlib.dev pkgs.automake pkgs.autoconf pkgs.bzip2.dev pkgs.xz.dev pkgs.curl.dev ]; rjags = [ pkgs.jags ];


++ optionals withDBengine [ libuv lz4.dev judy ] ++ optionals withIpmi [ freeipmi ] ++ optionals withNetfilter [ libmnl libnetfilter_acct ] <ins> ++ optionals withCloud [ json_c ] </ins> ++ optionals withSsl [ openssl.dev ]; patches = [ # required to prevent plugins from relying on /etc # and /var ./no-files-in-etc-and-var.patch <del> # cgroups: fix network interfaces detection when using virsh (fetchpatch { url = "https://patch-diff.githubusercontent.com/raw/netdata/netdata/pull/11096.patch"; sha256 = "0f2rd7kgbwbyq9wyn085d213ifvivnpl3qlx1gjrg42rkbi4n8jj"; }) </del> ]; NIX_CFLAGS_COMPILE = optionalString withDebug "-O1 -ggdb -DNETDATA_INTERNAL_CHECKS=1";


}; buildFHSUserEnv = args: userFHSEnv { <del> env = buildFHSEnv (removeAttrs args [ "runScript" "extraBindMounts" "extraInstallCommands" "meta" ]); </del> <ins> env = buildFHSEnv (removeAttrs args [ "runScript" "extraBindMounts" "extraInstallCommands" "meta" "passthru" ]); </ins> runScript = args.runScript or "bash"; extraBindMounts = args.extraBindMounts or []; extraInstallCommands = args.extraInstallCommands or ""; <del> importMeta = args.meta or {}; </del> <ins> meta = args.meta or {}; passthru = args.passthru or {}; </ins> }; buildMaven = callPackage ../build-support/build-maven.nix {};


sed -i '/^s*"vscode-eslint-language-server":.*bin//d' package.json package-lock.json ''; <del> buildPhase = let extensions = "${vscode}/lib/vscode/resources/app/extensions"; in '' npx babel ${extensions}/css-language-features/server/dist/* --out-dir lib/css-language-server/node/ npx babel ${extensions}/html-language-features/server/dist/* --out-dir lib/html-language-server/node/ npx babel ${extensions}/json-language-features/server/dist/* --out-dir lib/json-language-server/node/ npx babel ${extensions}/markdown-language-features/server/dist/* --out-dir lib/markdown-language-server/node/ mv lib/markdown-language-server/node/workerMain.js lib/markdown-language-server/node/main.js ''; </del> <ins> buildPhase = let extensions = if stdenv.isDarwin then "${vscode}/Applications/Visual Studio Code.app/Contents/Resources/app/extensions" else "${vscode}/lib/vscode/resources/app/extensions"; in '' npx babel ${extensions}/css-language-features/server/dist/node  --out-dir lib/css-language-server/node/ npx babel ${extensions}/html-language-features/server/dist/node  --out-dir lib/html-language-server/node/ npx babel ${extensions}/json-language-features/server/dist/node  --out-dir lib/json-language-server/node/ npx babel ${extensions}/markdown-language-features/server/dist/node  --out-dir lib/markdown-language-server/node/ mv lib/markdown-language-server/node/workerMain.js lib/markdown-language-server/node/main.js ''; </ins> meta = with lib; { description = "HTML/CSS/JSON/ESLint language servers extracted from vscode.";


mkDerivation rec { pname = "organicmaps"; <del> version = "2023.03.05-5"; </del> <ins> version = "2023.04.02-7"; </ins> src = fetchFromGitHub { owner = "organicmaps"; repo = "organicmaps"; rev = "${version}-android"; <del> sha256 = "sha256-PfudozmrL8jNS/99nxSn0B3E53W34m4/ZN0y2ucB2WI="; </del> <ins> sha256 = "sha256-xXBzHo7IOo2f1raGnpFcsvs++crHMI5SACIc345cX7g="; </ins> fetchSubmodules = true; };


] ++ lib.optional (!withSvmLight) ./svmlight-scrubber.patch; nativeBuildInputs = [ cmake swig ctags ] <del> ++ (with python2Packages; [ python jinja2 ply ]); </del> <ins> ++ (with python3Packages; [ python jinja2 ply ]); </ins> buildInputs = [ eigen


start_all() server.wait_for_unit("mosquitto.service") <ins> with subtest("bind_interface"): addrs = dict() for iface in json.loads(server.succeed("ip -json address show")): for addr in iface['addr_info']: # don't want to deal with multihoming here assert addr['local'] not in addrs addrs[addr['local']] = (iface['ifname'], addr['family']) # mosquitto grabs *one* random address per type for bind_interface (has4, has6) = (False, False) for line in server.succeed("ss -HlptnO sport = ${toString bindTestPort}").splitlines(): items = line.split() if "mosquitto" not in items[5]: continue listener = items[3].rsplit(':', maxsplit=1)[0].strip('[]') assert listener in addrs assert addrs[listener][0] == "eth0" has4 |= addrs[listener][1] == 'inet' has6 |= addrs[listener][1] == 'inet6' assert has4 assert has6 </ins> with subtest("check passwords"): client1.succeed(publish("-m test", "password_store")) client1.succeed(publish("-m test", "password_file"))


''; }; }; <del> }; </del> <ins> }).overrideAttrs (_: { # Add extra deps needed for postBuild hook. nativeBuildInputs = [ makeWrapper lua ]; }); </ins> in env


os.setuid(uid) <ins> def run_as_taskd_group(): gid = grp.getgrnam(TASKD_GROUP).gr_gid os.setgid(gid) </ins> def taskd_cmd(cmd, *args, **kwargs): """ Invoke taskd with the specified command with the privileges of the 'taskd'


, glib , gnome2 , gtk3 <ins> , libGL </ins> , libappindicator-gtk3 , libdrm , libnotify


, systemd , taglib , unzip <del> , wayland , wayland-protocols </del> , xorg , zlib , chromecastSupport ? true, libmicrodns, protobuf , jackSupport ? false , onlyLibVLC ? false , skins2Support ? !onlyLibVLC, freetype <del> , withQt5 ? true, qtbase, qtsvg, qtx11extras, wrapQtAppsHook </del> <ins> , waylandSupport ? true, wayland, wayland-protocols , withQt5 ? true, qtbase, qtsvg, qtwayland, qtx11extras, wrapQtAppsHook </ins> }: # chromecastSupport requires TCP port 8010 to be open for it to work.


cabextract --lowercase viewer1.cab # rename to more standard names <ins> # handle broken macOS file-system </ins> mv andalemo.ttf  Andale_Mono.ttf mv ariblk.ttf    Arial_Black.ttf <del> mv arial.ttf     Arial.ttf </del> <ins> mv arial.ttf     Arial.ttf.tmp mv Arial.ttf.tmp Arial.ttf </ins> mv arialbd.ttf   Arial_Bold.ttf mv arialbi.ttf   Arial_Bold_Italic.ttf mv ariali.ttf    Arial_Italic.ttf


}; desktopItem = makeDesktopItem { <del> name = drvName; </del> <ins> name = pname; </ins> exec = pname; <del> icon = drvName; </del> <ins> icon = pname; </ins> desktopName = "Android Studio (${channel} channel)"; comment = "The official Android IDE"; categories = [ "Development" "IDE" ];


dictu = callPackage ../development/compilers/dictu { }; <del> dotty = callPackage ../development/compilers/scala/dotty.nix { }; </del> ecl = callPackage ../development/compilers/ecl { }; ecl_16_1_2 = callPackage ../development/compilers/ecl/16.1.2.nix { };


(mkFlag mmsSupport "mms") (mkFlag mpg123Support "mpg123") (mkFlag aacSupport "aac") <del> (mkFlag pulseaudioSupport "pulse") (mkFlag jackSupport "jack") </del> <ins> (mkFlag (!stdenv.isDarwin && pulseaudioSupport) "pulse") (mkFlag (!stdenv.isDarwin && jackSupport) "jack") </ins> (mkFlag stdenv.isDarwin "osx") (mkFlag icuSupport "icu") (mkFlag gmeSupport "gme")


<ins> { lib , buildPythonPackage , pytestCheckHook , fetchFromGitHub , python , pythonOlder , setuptools , setuptools-scm , numpy , wheel , hypothesis , pytest-cov }: buildPythonPackage rec { pname = "fast-histogram"; version = "0.12"; disabled = pythonOlder "3.6"; src = fetchFromGitHub { owner = "astrofrog"; repo = pname; rev = "v${version}"; sha256 = "sha256-Cz4BgbtxbUPxL2NSzvZYjbYIN4KUuliUV0bXRRtyvfM="; }; nativeBuildInputs = [ setuptools setuptools-scm wheel ]; propagatedBuildInputs = [ numpy ]; nativeCheckInputs = [ pytestCheckHook hypothesis pytest-cov ]; pytestFlagsArray = [ "${builtins.placeholder "out"}/${python.sitePackages}" ]; env.SETUPTOOLS_SCM_PRETEND_VERSION = version; pythonImportsCheck = [ "fast_histogram" ]; meta = with lib; { homepage = "https://github.com/astrofrog/fast-histogram"; description = "Fast 1D and 2D histogram functions in Python"; license = licenses.bsd2; maintainers = with maintainers; [ ifurther ]; }; } </ins>


systemd-journal2gelf = callPackage ../tools/system/systemd-journal2gelf { }; <del> tailscale = callPackage ../servers/tailscale { }; </del> <ins> tailscale = callPackage ../servers/tailscale { buildGoModule = buildGo121Module; }; </ins> tailscale-systray = callPackage ../applications/misc/tailscale-systray { };


mkdir -p $out/libexec/conkeror cp -r * $out/libexec/conkeror <del> makeWrapper ${firefox-esr}/bin/firefox $out/bin/conkeror  </del> <ins> makeWrapper ${firefox-esr-52}/bin/firefox $out/bin/conkeror  </ins> --add-flags "-app $out/libexec/conkeror/application.ini" '';


set -euo pipefail STATE_DIRECTORY="$1" <del> RUNTIME_DIRECTORY="$2" </del> <ins> WORK_DIRECTORY="$2" </ins> LOGS_DIRECTORY="$3" ${lines} ''; <del> runnerRegistrationConfig = getAttrs [ "name" "tokenFile" "url" "runnerGroup" "extraLabels" "ephemeral" ] cfg; </del> <ins> runnerRegistrationConfig = getAttrs [ "name" "tokenFile" "url" "runnerGroup" "extraLabels" "ephemeral" "workDir" ] cfg; </ins> newConfigPath = builtins.toFile "${svcName}-config.json" (builtins.toJSON runnerRegistrationConfig); currentConfigPath = "$STATE_DIRECTORY/.nixos-current-config.json"; newConfigTokenPath= "$STATE_DIRECTORY/.new-token";


]; }; <del> linux_5_8 = callPackage ../os-specific/linux/kernel/linux-5.8.nix { kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.request_key_helper kernelPatches.export_kernel_fpu_functions."5.3" ]; }; </del> linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix { kernelPatches = [ kernelPatches.bridge_stp_helper


qt6.qthttpserver qt6.qtwebengine qt6.qt5compat <ins> qt6.qttools </ins> shaderc vulkan-headers wayland


}; passwordFile = mkOption { type = types.str; <del> description = lib.mdDoc "Password file for the postgresql connection. Must be readable by user `nginx`. Ignored if `database.host` is set to `localhost`, as peer authentication will be used."; </del> <ins> description = lib.mdDoc '' Password file for the postgresql connection. Must be formated according to PostgreSQL .pgpass standard (see https://www.postgresql.org/docs/current/libpq-pgpass.html) but only one line, no comments and readable by user `nginx`. Ignored if `database.host` is set to `localhost`, as peer authentication will be used. ''; </ins> }; dbname = mkOption { type = types.str;


}); in appimageTools.wrapAppImage { <del> inherit name; </del> <ins> inherit pname version; </ins> src = appimageContents; multiPkgs = null; # no 32bit needed


tests.slim = callTest tests/slim.nix {}; tests.smokeping = callTest tests/smokeping.nix {}; tests.snapper = callTest tests/snapper.nix {}; <ins> tests.switchTest = callTest tests/switch-test.nix {}; </ins> tests.taskserver = callTest tests/taskserver.nix {}; tests.tomcat = callTest tests/tomcat.nix {}; tests.udisks2 = callTest tests/udisks2.nix {};


owner = "mov-cli"; repo = "mov-cli"; rev = version; <del> hash = "sha256-OJhZtrSB5rjPY80GkTSU82hkcBgFYpW7Rc24BlBH7CE="; </del> <ins> hash = "sha256-Q5fzxdMEUDL1VgeTTgU76z0nksocgjyonAroP/m/Q+0="; </ins> }; propagatedBuildInputs = with python3.pkgs; [ beautifulsoup4 click colorama <ins> deprecation </ins> httpx <ins> inquirer </ins> krfzf-py lxml poetry-core pycrypto <ins> python-decouple </ins> setuptools six <ins> thefuzz </ins> tldextract <ins> toml typer unidecode (callPackage ./mov-cli-test.nix {}) ]; nativeBuildInputs = [ python3.pkgs.pythonRelaxDepsHook </ins> ]; pythonRelaxDeps = [


+ optionalString isClang '' # Escape twice: once for this script, once for the one it gets substituted into. export march=${escapeShellArg <del> (optionalString (targetPlatform ? gcc.arch && !disableMarch) </del> <ins> (optionalString (targetPlatform ? gcc.arch) </ins> (escapeShellArg "-march=${targetPlatform.gcc.arch}"))} export defaultTarget=${targetPlatform.config} substituteAll ${./add-clang-cc-cflags-before.sh} $out/nix-support/add-local-cc-cflags-before.sh


linux_6_1_hardened = linuxKernel.kernels.linux_6_1_hardened; linuxPackages_6_5_hardened = linuxKernel.packages.linux_6_5_hardened; linux_6_5_hardened = linuxKernel.kernels.linux_6_5_hardened; <ins> linuxPackages_6_6_hardened = linuxKernel.packages.linux_6_6_hardened; linux_6_6_hardened = linuxKernel.kernels.linux_6_6_hardened; </ins> # GNU Linux-libre kernels linuxPackages-libre = linuxKernel.packages.linux_libre;


export DATABASE_PASSWORD="$(<"${cfg.dbpassFile}")" '' + '' export DATABASE_URL="${dbUrl}" <del> ${cfg.package}/bin/notify_push --glob-config '${config.services.nextcloud.datadir}/config/config.php' </del> <ins> ${cfg.package}/bin/notify_push '${config.services.nextcloud.datadir}/config/config.php' </ins> ''; serviceConfig = { User = "nextcloud";


./force-enable-steamvr_lh.patch ]; <ins> passthru.tests = { basic-service = nixosTests.monado; }; </ins> meta = with lib; { description = "Open source XR runtime"; homepage = "https://monado.freedesktop.org/";


<ins> { lib , rustPlatform , fetchFromGitHub , pkg-config , openssl , vulkan-loader }: rustPlatform.buildRustPackage { pname = "hayabusa"; version = "unstable-2023-11-29"; src = fetchFromGitHub { owner = "notarin"; repo = "hayabusa"; rev = "306167c632173f6633e51c5610fe32af7718ec25"; hash = "sha256-e2zoVIhxcE9cUypi8Uzz3YZe2JvIaEVuWOGpqHVtxn8="; }; cargoHash = "sha256-aoticMTrKZkRtjVXgdiBfyXJN3YcwBpM3yt07BBd3do="; enableParallelBuilding = true; nativeBuildInputs = [ pkg-config ]; buildInputs = [ openssl vulkan-loader ]; postPatch = '' substituteInPlace src/daemon/hayabusa.service  --replace "/usr/local" "$out" ''; postInstall = '' install -Dm444 src/daemon/hayabusa.service -t $out/lib/systemd/system/ ''; meta = { description = "A swift rust fetch program"; homepage = "https://github.com/notarin/hayabusa"; license = lib.licenses.cc-by-nc-nd-40; maintainers = with lib.maintainers; [ eclairevoyant ]; mainProgram = "hayabusa"; platforms = lib.platforms.linux; }; } </ins>


osl = libsForQt5.callPackage ../development/compilers/osl { boost = boost179; <ins> libclang = llvmPackages_15.libclang; clang = if stdenv.cc.libcxx != null then (overrideLibcxx llvmPackages_15.stdenv).cc else clang_15; llvm = llvm_15; </ins> }; osqp = callPackage ../development/libraries/science/math/osqp { };


, enableGhostscript ? false, ghostscript ? null, gtk3 , enableGtk2 ? false, pygtk ? null, gobjectIntrospection , enableGtk3 ? false, cairo <ins> , enableTk ? false, tcl ? null, tk ? null, tkinter ? null, libX11 ? null </ins> , Cocoa, Foundation, CoreData, cf-private, libobjc, libcxx }: assert enableGhostscript -> ghostscript != null; assert enableGtk2 -> pygtk != null; <ins> assert enableTk -> (tcl != null) && (tk != null) && (tkinter != null) && (libX11 != null) ; </ins> buildPythonPackage rec { name = "matplotlib-${version}";


<ins> { lib , buildGoModule , fetchFromGitHub }: buildGoModule rec { pname = "ooniprobe-cli"; version = "3.14.2"; src = fetchFromGitHub { owner = "ooni"; repo = "probe-cli"; rev = "v${version}"; hash = "sha256-9n/Ozyy1QzjFum/R/X2DChzTHl70e+JQuo09nToAIcE="; }; vendorSha256 = "/fN9nRYOy00EeI8zZQFkCgTMGLZ0pFbYmRdTr2NLIsc="; subPackages = [ "cmd/ooniprobe" ]; meta = with lib; { description = "The Open Observatory of Network Interference command line network probe"; homepage = "https://ooni.org/install/cli"; license = licenses.gpl3Plus; maintainers = with maintainers; [ dotlambda ]; }; } </ins>


{ stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2 <del> , libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lzma, gsl_1 </del> <ins> , libX11, libXpm, libXft, libXext, libGLU, libGL, zlib, libxml2, lz4, lzma, gsl_1, xxHash </ins> , Cocoa, OpenGL, noSplash ? false }: stdenv.mkDerivation rec { pname = "root"; <del> version = "5.34.36"; </del> <ins> version = "5.34.38"; </ins> src = fetchurl { url = "https://root.cern.ch/download/root_v${version}.source.tar.gz"; <del> sha256 = "1kbx1jxc0i5xfghpybk8927a0wamxyayij9c74zlqm0595gqx1pw"; </del> <ins> sha256 = "1ln448lszw4d6jmbdphkr2plwxxlhmjkla48vmmq750xc1lxlfrc"; </ins> }; nativeBuildInputs = [ pkgconfig ]; <del> buildInputs = [ cmake pcre python2 zlib libxml2 lzma gsl_1 ] </del> <ins> buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl_1 xxHash ] </ins> ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU libGL ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ] ;


<ins> diff --git a/bottles/backend/utils/vulkan.py b/bottles/backend/utils/vulkan.py index 6673493..07f70d1 100644 --- a/bottles/backend/utils/vulkan.py +++ b/bottles/backend/utils/vulkan.py @@ -29,6 +29,8 @@ class VulkanUtils: "/etc/vulkan", "/usr/local/share/vulkan", "/usr/local/etc/vulkan" +        "/run/opengl-driver/share/vulkan/", +        "/run/opengl-driver-32/share/vulkan/", ] if "FLATPAK_ID" in os.environ: __vk_icd_dirs += [ </ins>


let go-d-plugin = callPackage ./go.d.plugin.nix {}; in stdenv.mkDerivation rec { <del> version = "1.30.1"; </del> <ins> version = "1.31.0"; </ins> pname = "netdata"; src = fetchFromGitHub { owner = "netdata"; repo = "netdata"; rev = "v${version}"; <del> sha256 = "0cp6gbn38f1cr0jkr64vvwz005cvnwj3hgfxs147wap9w228k46r"; </del> <ins> sha256 = "0735cxmljrp8zlkcq7hcxizy4j4xiv7vf782zkz5chn06n38mcik"; fetchSubmodules = true; </ins> }; nativeBuildInputs = [ autoreconfHook pkg-config ];


<ins> #!/usr/bin/env nix-shell /* #!nix-shell -i node -p nodejs_18 */ import { promises as fs } from 'node:fs'; const constants = { githubUrl: "https://api.github.com/repos/pulsar-edit/pulsar/releases", sha256FileURL: (newVersion) => `https://github.com/pulsar-edit/pulsar/releases/download/v${newVersion}/SHA256SUMS.txt`, x86_64FileName: (newVersion) => `Linux.pulsar-${newVersion}.tar.gz`, aarch64FileName: (newVersion) => `ARM.Linux.pulsar-${newVersion}-arm64.tar.gz`, targetFile: new URL("default.nix", import.meta.url).pathname, }; async function utf16ToUtf8(blob) { // Sometime, upstream saves the SHA256SUMS.txt file in UTF-16, which absolutely breaks node's string handling // So we need to convert this blob to UTF-8 // We need to skip the first 2 bytes, which are the BOM const arrayBuffer = await blob.slice(2).arrayBuffer(); const buffer = Buffer.from(arrayBuffer); const utf8String = buffer.toString('utf16le'); return utf8String; } async function getLatestVersion() { const requestResult = await fetch(constants.githubUrl); if (!requestResult.ok) { console.error("Failed to fetch releases"); console.error(requestResult); process.exit(1); }; let jsonResult = await requestResult.json(); jsonResult = jsonResult.filter((release) => !release.prerelease && !release.draft); if (jsonResult.length == 0) { console.error("No releases found"); process.exit(1); } return jsonResult[0].tag_name.replace(/^v/, ''); } async function getSha256Sum(hashFileContent, targetFile) { // The upstream file has a fomat like this: // 0000000000000000000000000000000000000000000000000000000000000000 targetFile let sha256 = hashFileContent. split('n'). map(line => line.replace("r", "")). // Side-effect of the UTF-16 conversion, if the file was created from Windows filter((line) => line.endsWith(targetFile))[0]. split(' ')[0]; return "sha256-" + Buffer.from(sha256, 'hex').toString('base64'); } async function getSha256Sums(newVersion) { // Upstream provides a file with the hashes of the files, but it's not in the SRI format, and it refers to the compressed tarball // So let's just use nix-prefetch-url to get the hashes of the decompressed tarball, and `nix hash to-sri` to convert them to SRI format const hashFileUrl = constants.sha256FileURL(newVersion); const hashFileContent = await fetch(hashFileUrl).then((response) => response.blob()); const headerbuffer = await hashFileContent.slice(0, 2).arrayBuffer() const header = Buffer.from(headerbuffer).toString('hex'); // We must detect if it's UTF-16 or UTF-8. If it's UTF-16, we must convert it to UTF-8, otherwise just use it as-is const hashFileContentString = header == 'fffe' ? await utf16ToUtf8(hashFileContent) : await hashFileContent.text(); let x86_64; let aarch64; console.log("Getting new hashes"); let promises = [ getSha256Sum(hashFileContentString, constants.x86_64FileName(newVersion)).then((hash) => { x86_64 = hash; }), getSha256Sum(hashFileContentString, constants.aarch64FileName(newVersion)).then((hash) => { aarch64 = hash; }), ]; await Promise.all(promises); return { x86_64, aarch64 }; } async function updateFile(newVersion, sha256Sums, currentFile) { // There is some assumptions in how the file is formatted, but nothing egregious let newFile = currentFile.replace(/version = "(.*)";/, `version = "${newVersion}";`); newFile = newFile.replace(/x86_64-linux.hash = "(.*)";/, `x86_64-linux.hash = "${sha256Sums.x86_64}";`); newFile = newFile.replace(/aarch64-linux.hash = "(.*)";/, `aarch64-linux.hash = "${sha256Sums.aarch64}";`); await fs.writeFile(constants.targetFile, newFile); }; let currentFile = await fs.readFile(constants.targetFile, 'utf8'); let currentVersion = currentFile.match(/version = "(.*)";/)[1]; const newVersion = await getLatestVersion(); if (currentVersion === newVersion) { console.error("Already up to date"); process.exit(0); } console.log("New version: " + newVersion); const sha256Sums = await getSha256Sums(newVersion); console.log(sha256Sums) if (!sha256Sums.x86_64 || !sha256Sums.aarch64) { console.error("Failed to find sha256 sums for the 2 files"); process.exit(1); } updateFile(newVersion, sha256Sums, currentFile); </ins>


[ zlib glib libpng freetype xorg.libSM xorg.libICE xorg.libXrender openssl xorg.libXrandr xorg.libXfixes xorg.libXcursor xorg.libXinerama xorg.libxcb fontconfig xorg.libXext xorg.libX11 alsa-lib qtbase qtwebengine qtwebchannel qtsvg <del> qtwebsockets libpulseaudio quazip llvmPackages.libcxx llvmPackages.libcxxabi </del> <ins> qtwebsockets libpulseaudio quazip llvmPackages_10.libcxx llvmPackages_10.libcxxabi # llvmPackages_11 and higher crash https://github.com/NixOS/nixpkgs/issues/161395 </ins> ]; desktopItem = makeDesktopItem {


<ins> diff --git a/build.gradle b/build.gradle index c206e2f..cdaddf7 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ version = '0.22.3' sourceCompatibility = '17' repositories { -    mavenCentral() +    maven { url '@deps@' } } diff --git a/settings.gradle b/settings.gradle index f813993..2c87f3c 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,7 @@ +pluginManagement { +    repositories { +        maven { url '@deps@' } +    } +} + rootProject.name = 'Stirling-PDF' </ins>


<del> { lib , fetchFromGitHub , python3 }: python3.pkgs.buildPythonApplication rec { pname = "crackmapexec"; version = "5.4.0"; format = "pyproject"; src = fetchFromGitHub { owner = "Porchetta-Industries"; repo = "CrackMapExec"; rev = "refs/tags/v${version}"; hash = "sha256-V2n840QyLofTfQE4vtFYGfQwl65sklp+KfNS9RCLvI8="; }; nativeBuildInputs = with python3.pkgs; [ poetry-core ]; propagatedBuildInputs = with python3.pkgs; [ aioconsole aardwolf beautifulsoup4 dsinternals impacket lsassy masky msgpack neo4j paramiko pylnk3 pypsrp pywerview requests requests-ntlm termcolor terminaltables xmltodict ]; postPatch = '' substituteInPlace pyproject.toml  --replace '{ git = "https://github.com/mpgn/impacket.git", branch = "master" }' '"x"' ''; pythonRelaxDeps = true; # Project has no tests doCheck = false; pythonImportsCheck = [ "cme" ]; meta = with lib; { description = "Tool for pentesting networks"; homepage = "https://github.com/Porchetta-Industries/CrackMapExec"; changelog = "https://github.com/Porchetta-Industries/CrackMapExec/releases/tag/v${version}"; license = with licenses; [ bsd2 ]; maintainers = with maintainers; [ fab ]; mainProgram = "cme"; }; } </del>


meta = with lib; { description = "Your everyday IRC student"; homepage = "https://sr.ht/~taiite/senpai/"; <ins> changelog = "https://git.sr.ht/~delthas/senpai/refs/v${version}"; </ins> license = licenses.isc; maintainers = with maintainers; [ malte-v ]; };


(fetchNuGet { pname = "System.Security.Permissions"; version = "6.0.0"; sha256 = "0jsl4xdrkqi11iwmisi1r2f2qn5pbvl79mzq877gndw6ans2zhzw"; }) (fetchNuGet { pname = "System.Security.Principal"; version = "4.3.0"; sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf"; }) (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "4.3.0"; sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr"; }) <ins> (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "5.0.0"; sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8"; }) </ins> (fetchNuGet { pname = "System.Security.Principal.Windows"; version = "6.0.0-preview.5.21301.5"; sha256 = "1q3iikvjcfrm5p89p1j7qlw1szvryq680qypk023wgy9phmlwi57"; }) (fetchNuGet { pname = "System.Text.Encoding"; version = "4.0.11"; sha256 = "1dyqv0hijg265dwxg6l7aiv74102d6xjiwplh2ar1ly6xfaa4iiw"; }) (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })


src = fetchsvn { url = "http://winetricks.googlecode.com/svn/trunk"; inherit rev; <ins> sha256 = "01v13qw4sxmfm09g9amqycnzy743gdrhvv23rjr9255dzlrj1s8f"; </ins> }; buildInputs = [ perl which ];


<ins> { lib , stdenvNoCC , fetchFromGitHub }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "cmrc"; version = "2.0.1"; src = fetchFromGitHub { owner = "vector-of-bool"; repo = "cmrc"; rev = finalAttrs.version; hash = "sha256-++16WAs2K9BKk8384yaSI/YD1CdtdyXVBIjGhqi4JIk="; }; installPhase = '' runHook preInstall install CMakeRC.cmake -DT $out/share/cmakerc/cmakerc-config.cmake runHook postInstall ''; meta = { description = "A Resource Compiler in a Single CMake Script"; homepage = "https://github.com/vector-of-bool/cmrc"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ guekka ]; platforms = lib.platforms.all; }; }) </ins>


final Uri entryUri = globals.fs.path.toUri(font['asset'] as String); result.add(_Asset( -        baseDir: globals.fs.path.join(Cache.flutterRoot, 'bin', 'cache', 'artifacts', 'material_fonts'), <del> +        baseDir: globals.fs.path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'), </del> <ins> +        baseDir: globals.fs.path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'material_fonts'), </ins> relativeUri: Uri(path: entryUri.pathSegments.last), entryUri: entryUri, ));


stdenv.mkDerivation rec { pname = "tomb"; <del> version = "2.7"; </del> <ins> version = "2.9"; </ins> src = fetchFromGitHub { owner  = "dyne"; repo   = "Tomb"; rev    = "v${version}"; <del> sha256 = "1vzkpzci6cp1r1q2n34pcgcns78i726k8d89dd6pibyj0vfnkl57"; </del> <ins> sha256 = "0d6vmfcf4kd0p2bcljmdnyc2fmbwvar81cc472zx86r7yc3ih102"; </ins> }; buildInputs = [ sudo zsh pinentry ];


buildPackages.libgphoto2; in '' <del> mkdir -p $out/lib/udev/rules.d </del> <ins> mkdir -p $out/lib/udev/{rules.d,hwdb.d} </ins> ${executablePrefix}/lib/libgphoto2/print-camera-list  <del> udev-rules version 175 group camera  >$out/lib/udev/rules.d/40-gphoto2.rules </del> <ins> udev-rules version 201 group camera  >$out/lib/udev/rules.d/40-libgphoto2.rules ${executablePrefix}/lib/libgphoto2/print-camera-list  hwdb version 201 group camera  >$out/lib/udev/hwdb.d/20-gphoto.hwdb </ins> ''; meta = {


qtwebsockets = callPackage ./modules/qtwebsockets.nix { }; qtwebview = callPackage ./modules/qtwebview.nix { }; <del> wrapQtAppsHook = makeSetupHook { deps = [ self.qtbase.dev self.qtwayland.dev makeWrapper ]; </del> <ins> wrapQtAppsHook = makeSetupHook { deps = [ makeWrapper ]; </ins> } ./hooks/wrap-qt-apps-hook.sh; };


esneider/YUNOcommit.vim euclidianAce/BetterLua.vim euclio/vim-markdown-composer <ins> evanleck/vim-svelte </ins> f-person/git-blame.nvim f3fora/cmp-spell famiu/bufdelete.nvim


, zlib , alsa-lib , dbus <ins> , libGL </ins> , libXcursor , libXext , libXi


<ins> { lib , stdenv , fetchFromGitHub , cacert , cmake , cmakerc , fmt , git , gzip , makeWrapper , meson , ninja , openssh , python3 , zip , zstd , extraRuntimeDeps ? [] }: stdenv.mkDerivation (finalAttrs: { pname = "vcpkg-tool"; version = "2023-10-18"; src = fetchFromGitHub { owner = "microsoft"; repo = "vcpkg-tool"; rev = finalAttrs.version; hash = "sha256-Hm+GSKov9A6tmN10BHOTVy8aWkLOJNBMOQJNm4HnWuI="; }; nativeBuildInputs = [ cmake cmakerc fmt ninja makeWrapper ]; patches = [ ./change-lock-location.patch ]; cmakeFlags = [ "-DVCPKG_DEPENDENCY_EXTERNAL_FMT=ON" "-DVCPKG_DEPENDENCY_CMAKERC=ON" ]; postFixup = let # These are the most common binaries used by vcpkg # Extra binaries can be added via overlay when needed runtimeDeps = [ cacert cmake git gzip meson ninja openssh python3 zip zstd ] ++ extraRuntimeDeps; in '' wrapProgram $out/bin/vcpkg --prefix PATH ${lib.makeBinPath runtimeDeps} ''; meta = { description = "Components of microsoft/vcpkg's binary"; homepage = "https://github.com/microsoft/vcpkg-tool"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ guekka gracicot ]; platforms = lib.platforms.all; }; }) </ins>


}; in rustPlatform.buildRustPackage rec { pname = "tokenizers"; <del> version = "0.8.1.rc1"; </del> <ins> version = "0.8.1"; </ins> src = fetchFromGitHub { owner = "huggingface"; repo = pname; rev = "python-v${version}"; <del> sha256 = "1bzvfffnjjskx8zlq1qsqfd47570my2wnbq4ip8i1hkz10q900qv"; </del> <ins> sha256 = "0sxdwx05hr87j2z32rk4rgwn6a26w9r7m5fgj6ah1sgagiiyxbjw"; </ins> }; <del> cargoSha256 = "0s5z3g1njb7wlyb32ba6xas4zc62c3zhmp1mrvghmaxpvljp6k7b"; </del> <ins> # Update parking_lot to be compatible with recent Rust versions, that # replace asm! by llvm_asm!: # # https://github.com/Amanieu/parking_lot/pull/223 # # Remove once upstream updates this dependency. cargoPatches = [ ./update-parking-lot.diff ]; cargoSha256 = "0cdkxmj8z2wdspn6r62lqlpvd0sj1z0cmb1zpqaajxvr0b2kjlj8"; </ins> sourceRoot = "source/bindings/python";


doCheck = true; <ins> preFixup = '' makeWrapperArgs+=(  "''${gappsWrapperArgs[@]}"  --prefix PATH : "${lib.makeBinPath [ iw ]}"  ) ''; </ins> postFixup = '' wrapPythonPrograms <del> wrapProgram $out/bin/networkd-dispatcher --prefix PATH : ${lib.makeBinPath [ iw ]} </del> ''; meta = with lib; {


sbt-with-scala-native = callPackage ../development/tools/build-managers/sbt/scala-native.nix { }; simpleBuildTool = sbt; <ins> sbt-extras = callPackage ../development/tools/build-managers/sbt-extras { }; </ins> shallot = callPackage ../tools/misc/shallot { }; shards = callPackage ../development/tools/build-managers/shards { };


listening_ip=${range} '') cfg.internalIPs} <ins> ${lib.optionalString (firewall == "nftables") '' upnp_table_name=miniupnpd upnp_nat_table_name=miniupnpd ''} </ins> ${cfg.appendConfig} ''; <ins> firewall = if config.networking.nftables.enable then "nftables" else "iptables"; miniupnpd = pkgs.miniupnpd.override { inherit firewall; }; firewallScripts = lib.optionals (firewall == "iptables") ([ "iptables"] ++ lib.optional (config.networking.enableIPv6) "ip6tables"); </ins> in { options = {


<ins> --- old/build/pkgs/python2/spkg-install	2017-07-21 14:10:00.000000000 -0500 +++ new/build/pkgs/python2/spkg-install	2017-10-15 11:26:54.823134067 -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>


<del> { lib, buildGoModule, installShellFiles, fetchFromGitHub, ffmpeg, ttyd, makeWrapper }: </del> <ins> { lib, buildGoModule, installShellFiles, fetchFromGitHub, ffmpeg, ttyd, chromium, makeWrapper }: </ins> buildGoModule rec { pname = "vhs";


{ lib , stdenvNoCC <ins> , stdenv </ins> , fetchurl <ins> , autoPatchelfHook </ins> , undmg <ins> , zstd , curl , fontconfig , libglvnd , libxkbcommon , vulkan-loader , xdg-utils , xorg , zlib </ins> }: <del> stdenvNoCC.mkDerivation (finalAttrs: { pname = "warp-terminal"; version = "0.2023.12.05.08.02.stable_00"; </del> <ins> let pname = "warp-terminal"; version = "0.2024.02.20.08.01.stable_01"; linux = stdenv.mkDerivation (finalAttrs:  { inherit pname version meta; src = fetchurl { url = "https://releases.warp.dev/stable/v${finalAttrs.version}/warp-terminal-v${finalAttrs.version}-1-x86_64.pkg.tar.zst"; hash = "sha256-L8alnqSE4crrDozRfPaAAMkLc+5+8d9XBKd5ddsxmD0="; }; sourceRoot = "."; postPatch = '' substituteInPlace usr/bin/warp-terminal  --replace-fail /opt/ $out/opt/ ''; nativeBuildInputs = [ autoPatchelfHook zstd ]; buildInputs = [ curl fontconfig stdenv.cc.cc.lib # libstdc++.so libgcc_s.so zlib ]; runtimeDependencies = [ libglvnd # for libegl libxkbcommon stdenv.cc.libc vulkan-loader xdg-utils xorg.libX11 xorg.libxcb xorg.libXcursor xorg.libXi ]; installPhase = '' runHook preInstall mkdir $out cp -r opt usr/* $out runHook postInstall ''; }); darwin = stdenvNoCC.mkDerivation (finalAttrs: { inherit pname version meta; </ins> src = fetchurl { url = "https://releases.warp.dev/stable/v${finalAttrs.version}/Warp.dmg"; <del> hash = "sha256-9olAmczIPRXV15NYCOYmwuEmJ7lMeaQRTTfukaYXMR0="; </del> <ins> hash = "sha256-tFtoD8URMFfJ3HRkyKStuDStFkoRIV97y9kV4pbDPro="; </ins> }; sourceRoot = ".";


githubId = 21156405; name = "GuangTao Zhang"; }; <ins> guekka = { github = "Guekka"; githubId = 39066502; name = "Guekka"; }; </ins> guibert = { email = "david.guibert@gmail.com"; github = "dguibert";


{ stdenv, lib, runCommand, patchelf , fetchFromGitHub, rustPlatform <del> , pkgconfig, curl, Security, CoreServices }: </del> <ins> , pkgconfig, curl, zlib, Security, CoreServices }: </ins> rustPlatform.buildRustPackage rec { pname = "rustup";


pycharm-professional = buildPycharm rec { name = "pycharm-professional-${version}"; <del> version = "2019.3.4"; /* updated by script */ </del> <ins> version = "2020.1"; /* updated by script */ </ins> description = "PyCharm Professional Edition"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; <del> sha256 = "1hdwzkh6qzad2pqskqw9m8glj15x9d2g4csl0dxk6an82ps52naz"; /* updated by script */ </del> <ins> sha256 = "1swd2qfhsa6i1aq7z2s183d0hif2gmk1kkw9ns4aybny0wvvnqw2"; /* updated by script */ </ins> }; wmClass = "jetbrains-pycharm"; update-channel = "PyCharm RELEASE";


<del> let inherit (import <nixpkgs> { }) snapTools firefox; in snapTools.makeSnap { meta = { name = "nix-example-firefox"; summary = firefox.meta.description; architectures = [ "amd64" ]; apps.nix-example-firefox = { command = "${firefox}/bin/firefox"; plugs = [ "pulseaudio" "camera" "browser-support" "avahi-observe" "cups-control" "desktop" "desktop-legacy" "gsettings" "home" "network" "mount-observe" "removable-media" "x11" ]; }; confinement = "strict"; }; } </del>


<del> diff -ru binutils-2.27-orig/bfd/plugin.c binutils-2.27/bfd/plugin.c --- binutils-2.27-orig/bfd/plugin.c	2016-10-14 17:46:30.791315555 +0200 +++ binutils-2.27/bfd/plugin.c	2016-10-14 17:46:38.583298765 +0200 @@ -333,6 +333,7 @@ </del> <ins> diff --git a/bfd/plugin.c b/bfd/plugin.c index 537ab60311..bfe7957f96 100644 --- a/bfd/plugin.c +++ b/bfd/plugin.c @@ -386,6 +386,7 @@ load_plugin (bfd *abfd) </ins> if (plugin_program_name == NULL) return found; +#if 0 <del> plugin_dir = concat (BINDIR, "/../lib/bfd-plugins", NULL); p = make_relative_prefix (plugin_program_name, BINDIR, @@ -364,6 +365,7 @@ free (p); if (d) closedir (d); </del> <ins> /* Try not to search the same dir twice, by looking at st_dev and st_ino for the dir.  If we are on a file system that always sets st_ino to zero or the actual st_ino is zero we might waste some @@ -437,7 +438,7 @@ load_plugin (bfd *abfd) if (found) break; } - </ins> +#endif return found; }


pycurl ]); <ins> patches = [ (fetchpatch { url = "https://github.com/indigo-dc/udocker/commit/9f7d6c5f9a3925bf87d000603c5b306d73bb0fa3.patch"; sha256 = "sha256-fiqvVqfdVIlILbSs6oDWmbWU9piZEI2oiAKUcmecx9Q="; }) ]; </ins> checkInputs = with python3Packages; [ pytestCheckHook ]; disabledTests = [ <ins> "test_02__load_structure" </ins> "test_05__get_volume_bindings" ];


buildPythonPackage rec { pname = "python-telegram-bot"; <del> version = "20.2"; </del> <ins> version = "20.4"; </ins> format = "setuptools"; <del> disabled = pythonOlder "3.7"; </del> <ins> disabled = pythonOlder "3.8"; </ins> src = fetchFromGitHub { owner = pname; repo = pname; rev = "refs/tags/v${version}"; <del> hash = "sha256-OdjTlVUjlw+5K/kvL1Yx+7c/lIE52udUo6Ux18M9xmE="; </del> <ins> hash = "sha256-owbJJZjBkMjsgfBLRl+rnePrIvQ0sUZs7rP9ie912pw="; </ins> }; propagatedBuildInputs = [


patches = [ (fetchurl { name = "texlive-poppler-0.64.patch"; <del> url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/texlive-poppler-0.64.patch?h=packages/texlive-bin; </del> <ins> url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/texlive-poppler-0.64.patch?h=packages/texlive-bin&id=da56abf0f8a1e85daca0ec0f031b8fa268519e6b; </ins> sha256 = "0443d074zl3c5raba8jyhavish706arjcd80ibb84zwnwck4ai0w"; }) (fetchurl {


<ins> { lib , buildPythonPackage , fetchFromGitHub , pythonOlder , dill , astropy , numpy , pandas , qt6 , pyqt6 , pyqt-builder , qtconsole , setuptools , setuptools-scm , scipy , ipython , ipykernel , h5py , matplotlib , xlrd , mpl-scatter-density , pvextractor , openpyxl , echo , pytest , pytest-flakes , pytest-cov }: buildPythonPackage rec { pname = "glueviz"; version = "1.14.1"; disabled = pythonOlder "3.7"; src = fetchFromGitHub { owner = "glue-viz"; repo = "glue"; rev = "refs/tags/v${version}"; sha256 = "sha256-pHUcvyDziE7l0foEz7cygMuAwggnIWzsQy9SFZCDkXA="; }; buildInputs = [ pyqt-builder ]; nativeBuildInputs = [ setuptools setuptools-scm qt6.wrapQtAppsHook ]; propagatedBuildInputs = [ astropy dill setuptools scipy numpy matplotlib pandas pyqt6 qtconsole ipython ipykernel h5py xlrd mpl-scatter-density pvextractor openpyxl echo ]; dontConfigure = true; env.SETUPTOOLS_SCM_PRETEND_VERSION = version; # collecting ... qt.qpa.xcb: could not connect to display # qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. doCheck = false; nativeCheckInputs = [ pytest pytest-flakes pytest-cov ]; pythonImportsCheck = [ "glue" ]; preFixup = '' makeWrapperArgs+=("''${qtWrapperArgs[@]}") ''; meta = with lib; { homepage = "https://glueviz.org"; description = "Linked Data Visualizations Across Multiple Files"; license = licenses.bsd3; # https://github.com/glue-viz/glue/blob/main/LICENSE maintainers = with maintainers; [ ifurther ]; }; } </ins>


<ins> { stdenv, lib, python3Packages, fetchFromGitHub, copyDesktopItems, makeDesktopItem, wrapGAppsHook4, gobject-introspection, libadwaita, libportal, libportal-gtk4, xdg-desktop-portal, xdg-desktop-portal-gtk, }: stdenv.mkDerivation rec { pname = "streamcontroller"; # Note that the latest tagged version (1.5.0-beta.6) includes a python dependency # that doesn't exist anymore, so we package an unstable version instead. version = "1.5.0-beta.6-unstable-2024-08-13"; src = fetchFromGitHub { repo = "StreamController"; owner = "StreamController"; rev = "dbb6460a69137af192db09d504224ae9f1127cbd"; hash = "sha256-+YYzHLRU5MNjF3iaKIDj9k4PVg+vnEZhbc3ZmNI7xyw="; }; # The installation method documented upstream # (https://streamcontroller.github.io/docs/latest/installation/) is to clone the repo, # run `pip install`, then run `python3 main.py` to launch the program. # Due to how the code is structured upstream, it's infeasible to use `buildPythonApplication`. dontBuild = true; installPhase = '' runHook preInstall mkdir -p $out/usr/lib/streamcontroller cp -r ./* $out/usr/lib/streamcontroller/ mkdir -p $out/bin/ # Note that the implementation of main.py assumes # working directory to be at the root of the project's source code makeWrapper  ${python3Packages.python.interpreter}  $out/bin/streamcontroller  --add-flags main.py  --chdir $out/usr/lib/streamcontroller  --prefix PYTHONPATH : "$PYTHONPATH" mkdir -p "$out/etc/udev/rules.d" cp ./udev.rules $out/etc/udev/rules.d/70-streamcontroller.rules install -D ./flatpak/icon_256.png $out/share/icons/hicolor/256x256/apps/streamcontroller.png runHook postInstall ''; desktopItems = [ (makeDesktopItem { name = "StreamController"; desktopName = "StreamController"; exec = "streamcontroller"; icon = "streamcontroller"; comment = "Control your Elgato Stream Decks"; categories = [ "Utility" ]; }) ]; nativeBuildInputs = [ copyDesktopItems wrapGAppsHook4 gobject-introspection ]; buildInputs = [ libadwaita libportal libportal-gtk4 xdg-desktop-portal xdg-desktop-portal-gtk ] ++ (with python3Packages; [ annotated-types async-lru cairocffi cairosvg certifi cffi charset-normalizer click colorama contourpy cssselect2 cycler dbus-python decorator defusedxml distlib dnspython evdev filelock fonttools fuzzywuzzy gcodepy get-video-properties gitdb idna imageio imageio-ffmpeg indexed-bzip2 jinja2 joblib kiwisolver levenshtein linkify-it-py loguru markdown-it-py markupsafe matplotlib mdit-py-plugins mdurl meson meson-python natsort nltk numpy opencv4 packaging pillow platformdirs plumbum proglog psutil pulsectl pycairo pyclip pycparser pydantic pydantic-core pyenchant pygments pygobject3 pymongo pyparsing pyperclip pyproject-metadata pyro5 pyspellchecker python-dateutil pyudev pyusb pyyaml rapidfuzz regex requests requirements-parser rich rpyc serpent setproctitle six smmap speedtest-cli streamcontroller-plugin-tools streamdeck textual tinycss2 tqdm types-setuptools typing-extensions uc-micro-py urllib3 usb-monitor webencodings websocket-client ]); meta = with lib; { description = "Elegant Linux app for the Elgato Stream Deck with support for plugins"; homepage = "https://core447.com/"; license = licenses.gpl3; mainProgram = "streamcontroller"; maintainers = with maintainers; [ sifmelcara ]; platforms = lib.platforms.linux; }; } </ins>


<ins> { config, lib, pkgs, ... }: let inherit (lib) types; cfg = config.services.open-webui; in { options = { services.open-webui = { enable = lib.mkEnableOption "Enable open-webui, an interactive chat web app"; package = lib.mkPackageOption pkgs "open-webui" { }; stateDir = lib.mkOption { type = types.path; default = "/var/lib/open-webui"; description = "State directory of open-webui."; }; host = lib.mkOption { type = types.str; default = "localhost"; description = "Host of open-webui"; }; port = lib.mkOption { type = types.port; default = 8080; description = "Port of open-webui"; }; environment = lib.mkOption { type = types.attrsOf types.str; default = { }; example = '' { OLLAMA_API_BASE_URL = "http://localhost:11434"; # Disable authentication WEBUI_AUTH = "False"; } ''; description = "Extra environment variables for open-webui"; }; }; }; config = lib.mkIf cfg.enable { systemd.services.open-webui = { description = "User-friendly WebUI for LLMs (Formerly Ollama WebUI)"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; preStart = '' mkdir -p ${cfg.stateDir}/static ''; environment = { STATIC_DIR = "${cfg.stateDir}/static"; DATA_DIR = "${cfg.stateDir}"; } // cfg.environment; serviceConfig = { ExecStart = "${lib.getExe cfg.package} serve --host ${cfg.host} --port ${toString cfg.port}"; WorkingDirectory = cfg.stateDir; StateDirectory = "open-webui"; RuntimeDirectory = "open-webui"; RuntimeDirectoryMode = "0755"; PrivateTmp = true; DynamicUser = true; DevicePolicy = "closed"; LockPersonality = true; MemoryDenyWriteExecute = false; # onnxruntime/capi/onnxruntime_pybind11_state.so: cannot enable executable stack as shared object requires: Permission Denied PrivateUsers = true; ProtectHome = true; ProtectHostname = true; ProtectKernelLogs = true; ProtectKernelModules = true; ProtectKernelTunables = true; ProtectControlGroups = true; ProcSubset = "all"; # Error in cpuinfo: failed to parse processor information from /proc/cpuinfo RestrictNamespaces = true; RestrictRealtime = true; SystemCallArchitectures = "native"; UMask = "0077"; }; }; }; meta.maintainers = with lib.maintainers; [ shivaraj-bh ]; } </ins>


cd src ''; <ins> postInstall = stdenv.lib.optionalString stdenv.isDarwin '' substituteInPlace $out/bin/leanpkg  --replace "greadlink" "${coreutils}/bin/readlink" ''; </ins> meta = with stdenv.lib; { description = "Automatic and interactive theorem prover"; homepage    = "https://leanprover.github.io/";


, stdenv , fetchFromGitLab , appstream-glib <del> , clang </del> , desktop-file-utils , meson , ninja


lapack-reference = callPackage ../development/libraries/science/math/liblapack { }; liblapack = lapack-reference; <ins> libamplsolver = callPackage ../development/libraries/science/math/libamplsolver { }; </ins> libbraiding = callPackage ../development/libraries/science/math/libbraiding { }; libhomfly = callPackage ../development/libraries/science/math/libhomfly { };


gdal = self.gdal; }; <del> django_2_0 = callPackage ../development/python-modules/django/2_0.nix { gdal = self.gdal; }; </del> django_2_1 = callPackage ../development/python-modules/django/2_1.nix { gdal = self.gdal; };


python = python3; in python.pkgs.buildPythonApplication rec { pname = "spotdl"; <del> version = "4.2.1"; format = "pyproject"; </del> <ins> version = "4.2.2"; pyproject = true; </ins> src = fetchFromGitHub { owner = "spotDL"; repo = "spotify-downloader"; rev = "refs/tags/v${version}"; <del> hash = "sha256-xKas3WO3uigY1iFfxIN3+d+5U31vM7cLv08oMef8trc="; </del> <ins> hash = "sha256-pJr0OGUI3OcFsmvn9eqkvpFeF1EkHDdNoWc91s8h9O8="; </ins> }; nativeBuildInputs = with python.pkgs; [


komorebi = callPackage ../applications/graphics/komorebi { }; <ins> konsave = callPackage ../applications/misc/konsave { }; </ins> krapslog = callPackage ../tools/misc/krapslog { }; krelay = callPackage ../applications/networking/cluster/krelay { };


postInstall = '' mkdir -p $out/bin ln -s $out/stepmania-5.1/stepmania $out/bin/stepmania <ins> mkdir -p $out/share/ cp -r $src/icons $out/share/ install -Dm444 $src/stepmania.desktop -t $out/share/applications </ins> ''; meta = with lib; {


sourceProvenance = with sourceTypes; [ binaryBytecode ]; license = licenses.unfree; platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; <del> maintainers = with maintainers; [ flokli ]; </del> <ins> maintainers = with maintainers; [ flokli dylanmtaylor ]; </ins> hydraPlatforms = [ ]; }; }


- [touchegg](https://github.com/JoseExposito/touchegg), a multi-touch gesture recognizer. Available as [services.touchegg](#opt-services.touchegg.enable). <ins> - [pantheon-tweaks](https://github.com/pantheon-tweaks/pantheon-tweaks), an unofficial system settings panel for Pantheon. Available as [programs.pantheon-tweaks](#opt-programs.pantheon-tweaks.enable). </ins> ## Backward Incompatibilities {#sec-release-21.11-incompatibilities}


patchShebangs --build configure ''; <ins> # JDK's build system attempts to specifically detect # and special-case WSL, and we don't want it to do that, # so pass the correct platform names explicitly configurePlatforms = ["build" "host"]; </ins> configureFlags = [ "--with-boot-jdk=${openjdk-bootstrap.home}" "--with-version-pre="


, config , stdenv , fetchFromGitHub <ins> , fetchurl </ins> , cmake , qt6 , fmt


<del> { lib , stdenv , fetchFromGitHub , cmake }: stdenv.mkDerivation rec { pname = "iir1"; version = "1.9.4"; src = fetchFromGitHub { owner = "berndporr"; repo = "iir1"; rev = version; hash = "sha256-T8gl51IkZIGq+6D5ge4Kb3wm5aw7Rhphmnf6TTGwHbs="; }; nativeBuildInputs = [ cmake ]; meta = { description = "A DSP IIR realtime filter library written in C++"; downloadPage = "https://github.com/berndporr/iir1"; homepage = "http://berndporr.github.io/iir1/"; license = lib.licenses.mit; maintainers = [ lib.maintainers.AndersonTorres ]; platforms = lib.platforms.unix; }; } </del>


, enableDC1394    ? false, libdc1394 , enableDocs      ? false, doxygen, graphviz-nox <del> , AVFoundation, Cocoa, VideoDecodeAcceleration, bzip2 </del> <ins> , AVFoundation, Cocoa, VideoDecodeAcceleration, CoreMedia, MediaToolbox, bzip2 </ins> }: assert blas.implementation == "openblas" && lapack.implementation == "openblas";


fetchFromGitHub, immich, python3, <ins> nixosTests, </ins> }: let python = python3.override {


runHook postUnpack ''; <ins> # Prevent double wrapping dontWrapGApps = true; </ins> installPhase = '' runHook preInstall


assert lib.assertMsg (!hidpiXWayland) "The option `hidpiXWayland` has been removed. Please refer https://wiki.hyprland.org/Configuring/XWayland"; stdenv.mkDerivation (finalAttrs: { pname = "hyprland" + lib.optionalString debug "-debug"; <del> version = "0.35.0"; </del> <ins> version = "0.36.0"; </ins> src = fetchFromGitHub { owner = "hyprwm"; repo = finalAttrs.pname; rev = "v${finalAttrs.version}"; <del> hash = "sha256-dU5m6Cd4+WQZal2ICDVf1kww/dNzo1YUWRxWeCctEig="; </del> <ins> hash = "sha256-oZe4k6jtO/0govmERGcbeyvE9EfTvXY5bnyIs6AsL9U="; </ins> }; patches = [


<ins> { lib, buildPythonPackage, fetchPypi, pyscard, ecdsa, pyaes , pythonOlder }: buildPythonPackage rec { pname = "pysatochip"; version = "0.11.4"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; sha256 = "sha256-Jj/zZIS9aXmZ2xdi29Eun7iRIrIk9oBlrtN9+6opIMo="; }; propagatedBuildInputs = [ pyscard ecdsa pyaes ]; pythonImportsCheck = [ "pysatochip" ]; meta = with lib; { description = "Simple python library to communicate with a Satochip hardware wallet"; homepage = "https://github.com/Toporin/pysatochip"; license = licenses.lgpl3Only; maintainers = with maintainers; [ oxalica ]; }; } </ins>


{ mkDerivation , lib , fetchFromGitHub <ins> , substituteAll </ins> , qtbase , qtwebengine , qtdeclarative


description = "Desktop application for Proton Pass"; homepage = "https://proton.me/pass"; license = lib.licenses.gpl3Plus; <del> maintainers = with lib.maintainers; [ massimogengarelli sebtm ]; </del> <ins> maintainers = with lib.maintainers; [ luftmensch-luftmensch massimogengarelli sebtm ]; </ins> platforms = [ "x86_64-linux" ]; sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; mainProgram = "proton-pass";


abootimg = callPackage ../development/mobile/abootimg { }; <del> adbfs-rootless = callPackage ../development/mobile/adbfs-rootless { adb = androidenv.androidPkgs_9_0.platform-tools; }; </del> <ins> adbfs-rootless = callPackage ../development/mobile/adbfs-rootless { }; </ins> adb-sync = callPackage ../development/mobile/adb-sync { inherit (androidenv.androidPkgs_9_0) platform-tools;


]; nativeCheckInputs = with python3Packages; [ <del> pytestCheckHook nose </del> <ins> pynose </ins> ]; # Remove standard module argparse from requirements


protocol = "tcp"; user = "root"; server = "${pkgs.tcp_wrappers}/sbin/tcpd"; <del> serverArgs = "${pkgs.heimdal}/sbin/kadmind"; </del> <ins> serverArgs = "${pkgs.heimdalFull}/sbin/kadmind"; </ins> }; systemd.services.kdc = {


yarg = callPackage ../development/python-modules/yarg { }; <ins> yark = callPackage ../development/python-modules/yark { }; </ins> yarl = callPackage ../development/python-modules/yarl { }; yaspin = callPackage ../development/python-modules/yaspin { };


<ins> diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..6f81985 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,2 @@ +[directories] +basedirlist = . </ins>


{ lib , buildPythonPackage , fetchPypi <ins> , setuptools </ins> , pkgs , python <ins> , pythonOlder </ins> }: buildPythonPackage rec { pname = "bsddb3"; version = "6.2.9"; <del> format = "setuptools"; </del> <ins> pyproject = true; </ins> src = fetchPypi { inherit pname version; sha256 = "70d05ec8dc568f42e70fc919a442e0daadc2a905a1cfb7ca77f549d49d6e7801"; }; <ins> build-system = [ setuptools ]; </ins> buildInputs = [ pkgs.db ]; <ins> doCheck = pythonOlder "3.12"; # distutils usage </ins> checkPhase = '' ${python.interpreter} test.py '';


audiowaveform = callPackage ../tools/audio/audiowaveform { }; <del> authenticator = callPackage ../applications/misc/authenticator { }; </del> <ins> authenticator = callPackage ../applications/misc/authenticator rec { # Remove when GTK is upgraded past 4.8 # https://github.com/NixOS/nixpkgs/issues/216770 gtk4 = pkgs.gtk4.overrideAttrs (_: rec { version = "4.9.4"; src = fetchurl { url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz"; sha256 = "sha256-kaOv1YQB1OXYHjCwjuPxE6R2j/EBQDNqcqMmx3JyvjA="; }; }); wrapGAppsHook4 = wrapGAppsHook.override { gtk3 = gtk4; }; }; </ins> autoflake = with python3.pkgs; toPythonApplication autoflake;


optionalString config.security.pam.enableEcryptfs '' auth optional ${pkgs.ecryptfs}/lib/security/pam_ecryptfs.so unwrap '' + <ins> optionalString config.security.pam.enableFscrypt '' auth optional ${pkgs.fscrypt-experimental}/lib/security/pam_fscrypt.so '' + </ins> optionalString cfg.pamMount '' auth optional ${pkgs.pam_mount}/lib/security/pam_mount.so disable_interactive '' +


networking.nat.enable = true; networking.nat.internalInterfaces = [ "eth2" ]; networking.nat.externalInterface = "eth1"; <ins> networking.nftables.enable = useNftables; </ins> networking.firewall.enable = true; networking.firewall.trustedInterfaces = [ "eth2" ]; networking.interfaces.eth1.ipv4.addresses = [


inherit sha256; }; <del> patches = [ ./0001-Setup-remove-custom-dbuser-creation-behavior.patch ]; </del> <ins> patches = [ (./patches + "/v${major}/0001-Setup-remove-custom-dbuser-creation-behavior.patch") ]; </ins> passthru.tests = nixosTests.nextcloud;


buildPythonPackage rec { pname = "dvc-data"; <del> version = "3.15.2"; </del> <ins> version = "3.16.0"; </ins> pyproject = true; disabled = pythonOlder "3.8";


, qtmultimedia , qtx11extras , soxr <ins> , vgmstream </ins> , wavpack }:


<del> { lib , buildGoModule , fetchFromGitHub , stdenv , Cocoa , fetchpatch }: buildGoModule rec { pname = "butler"; version = "15.21.0"; src = fetchFromGitHub { owner = "itchio"; repo = pname; rev = "v${version}"; sha256 = "sha256-vciSmXR3wI3KcnC+Uz36AgI/WUfztA05MJv1InuOjJM="; }; buildInputs = lib.optionals stdenv.isDarwin [ Cocoa ]; patches = [ # update x/sys dependency for darwin build https://github.com/itchio/butler/pull/245 (fetchpatch { url = "https://github.com/itchio/butler/pull/245/commits/ef651d373e3061fda9692dd44ae0f7ce215e9655.patch"; hash = "sha256-rZZn/OGiv3mRyy89uORyJ99zWN21kZCCQAlFvSKxlPU="; }) ]; proxyVendor = true; vendorHash = "sha256-GvUUCQ2BPW0HlXZljBWJ2Wyys9OEIM55dEWAa6J19Zg="; doCheck = false; meta = with lib; { # butler cannot be build with Go >=1.21 # See https://github.com/itchio/butler/issues/256 # and https://github.com/itchio/dmcunrar-go/issues/1 # The dependency causing the issue is marked as 'no maintainence intended'. # Last butler release is from 05/2021. broken = true; description = "Command-line itch.io helper"; homepage = "https://github.com/itchio/butler"; license = licenses.mit; maintainers = with maintainers; [ martfont ]; }; } </del>


else [{ip = "*"; port = 80;}]; getListen = cfg: <del> let list = (lib.optional (cfg.port != 0) {ip = "*"; port = cfg.port;}) ++ cfg.listen; in if list == [] then defaultListen cfg else list; </del> <ins> if cfg.listen == [] then defaultListen cfg else cfg.listen; </ins> listenToString = l: "${l.ip}:${toString l.port}";


<ins> { lib , stdenv , rustPlatform , fetchFromGitHub , pkg-config , openssl , installShellFiles , darwin , testers , pixi }: rustPlatform.buildRustPackage rec { pname = "pixi"; version = "0.11.1"; src = fetchFromGitHub { owner = "prefix-dev"; repo = "pixi"; rev = "v${version}"; hash = "sha256-NOa8OvZs+BoJQ9qIU1lpMmEOecZpmwwCNYpDk1LUSTI="; }; cargoHash = "sha256-rDtr9ITYH5o/QPG1Iozh05iTA8c0i+3DnabXLzyqdrg="; nativeBuildInputs = [ pkg-config installShellFiles ]; buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin ( with darwin.apple_sdk_11_0.frameworks; [ CoreFoundation IOKit SystemConfiguration Security ] ); checkFlags = [ # Skip tests requiring network "--skip=add_channel" "--skip=add_functionality" "--skip=add_functionality_os" "--skip=add_functionality_union" "--skip=add_pypi_functionality" "--skip=test_alias" "--skip=test_cwd" "--skip=test_incremental_lock_file" ]; postInstall = '' installShellCompletion --cmd pix  --bash <($out/bin/pixi completion --shell bash)  --fish <($out/bin/pixi completion --shell fish)  --zsh <($out/bin/pixi completion --shell zsh) ''; passthru.tests.version = testers.testVersion { package = pixi; }; meta = with lib; { description = "Package management made easy"; homepage = "https://pixi.sh/"; license = licenses.bsd3; maintainers = with lib.maintainers; [ aaronjheng ]; mainProgram = "pixi"; }; } </ins>


install -v -m 444 -D btrfs-completion $out/share/bash-completion/completions/btrfs ''; <del> configureFlags = lib.optionals stdenv.hostPlatform.isMusl [ "--disable-backtrace" ] ++ lib.optionals (!enablePython) [ </del> <ins> configureFlags = [ # Built separately, see python3Packages.btrfsutil </ins> "--disable-python" <ins> ] ++ lib.optionals stdenv.hostPlatform.isMusl [ "--disable-backtrace" </ins> ] ++ lib.optionals (!udevSupport) [ "--disable-libudev" ]; makeFlags = [ "udevruledir=$(out)/lib/udev/rules.d" ]; <del> installFlags = lib.optionals enablePython [ "install_python" ]; </del> enableParallelBuilding = true; passthru.tests = {


buildInputs = [ gpsd libcap libnl ]; preBuild = '' <del> makeFlags="PREFIX=$out PKG_CONFIG=${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config" </del> <ins> makeFlags="PREFIX=$out" </ins> ''; meta = {


# Wrap manually dontWrapQtApps = true; <del> dontWrapGApps = true; </del> # Remove some references to shrink the closure size. This reference (as of # 2018-11-06) was a single string like the following:


, pango , systemd , xorg <ins> , fontconfig </ins> }: stdenv.mkDerivation (finalAttrs: { pname = "plymouth"; <del> version = "23.360.11"; </del> <ins> version = "24.004.60"; </ins> outputs = [ "out" "dev" ];


storm = callPackage ../servers/computing/storm { }; <ins> switcheroo-control = callPackage ../os-specific/linux/switcheroo-control { }; </ins> slurm = callPackage ../servers/computing/slurm { gtk2 = null; }; slurm-spank-x11 = callPackage ../servers/computing/slurm-spank-x11 { };


enable = mkOption { type = types.bool; default = false; <del> description = "Enable Mailman on this host. Requires an active Postfix installation."; </del> <ins> description = "Enable Mailman on this host. Requires an active MTA on the host (e.g. Postfix)."; </ins> }; package = mkOption {


{ lib <ins> , stdenv </ins> , buildPythonPackage , fetchFromGitHub , pythonOlder


}; preBuild = '' <del> makeFlags="V=1 DISABLE_JBIG=1 CUPSFILTER=$out/lib/cups/filter CUPSPPD=$out/share/cups/model" </del> <ins> makeFlags="V=1 CUPSFILTER=$out/lib/cups/filter CUPSPPD=$out/share/cups/model" </ins> ''; buildInputs = [cups zlib];


boost = boost179; }; <ins> xorriso = libisoburn; </ins> xurls = callPackage ../tools/text/xurls { }; xxv = callPackage ../tools/misc/xxv { };


lib, pkgs, ... <del> }: let </del> <ins> }: let </ins> nvidiaEnabled = (lib.elem "nvidia" config.services.xserver.videoDrivers); <del> nvidia_x11 = if nvidiaEnabled || cfg.datacenter.enable then cfg.package else null; </del> <ins> nvidia_x11 = if nvidiaEnabled || cfg.datacenter.enable then cfg.package else null; </ins> cfg = config.hardware.nvidia;


<ins> From 6ee128b95bacaff20746538dc97c2b8e2b9fcc29 Mon Sep 17 00:00:00 2001 From: Mike Gilbert <floppym@gentoo.org> Date: Sun, 15 May 2022 10:54:38 -0400 Subject: [PATCH] openssl: load "legacy" provider for RC4 --- libtransmission/crypto-utils-openssl.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libtransmission/crypto-utils-openssl.c b/libtransmission/crypto-utils-openssl.c index 45fd71913..14d680654 100644 --- a/libtransmission/crypto-utils-openssl.c +++ b/libtransmission/crypto-utils-openssl.c @@ -20,6 +20,9 @@ #include <openssl/rand.h> #include <openssl/ssl.h> #include <openssl/x509.h> +#if OPENSSL_VERSION_MAJOR >= 3 +#include <openssl/provider.h> +#endif #include "transmission.h" #include "crypto-utils.h" @@ -184,6 +187,10 @@ static void openssl_evp_cipher_context_free(EVP_CIPHER_CTX* handle) tr_rc4_ctx_t tr_rc4_new(void) { +#if OPENSSL_VERSION_MAJOR >= 3 +    OSSL_PROVIDER_load(NULL, "default"); +    OSSL_PROVIDER_load(NULL, "legacy"); +#endif EVP_CIPHER_CTX* handle = EVP_CIPHER_CTX_new(); if (check_result(EVP_CipherInit_ex(handle, EVP_rc4(), NULL, NULL, NULL, -1))) -- 2.35.1 </ins>


patches = [ # fix build with openssl 3.0 <del> (fetchurl { url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/net-p2p/transmission/files/transmission-3.00-openssl-3.patch"; hash = "sha256-peVrkGck8AfbC9uYNfv1CIu1alIewpca7A6kRXjVlVs="; }) </del> <ins> ./transmission-3.00-openssl-3.patch </ins> ]; outputs = [ "out" "apparmor" ];


, xorg , libiconv , AppKit <del> , Foundation </del> , Security # darwin.apple_sdk.sdk , sdk


let basename = "streamlink-twitch-gui"; runtimeLibs = lib.makeLibraryPath [ libudev0-shim ]; <ins> runtimeBins = lib.makeBinPath [ streamlink ]; </ins> arch = if stdenv.hostPlatform.system == "x86_64-linux" then


<del> { channel, pname, version, sha256Hash, patches }: </del> <ins> { channel, pname, version, sha256Hash, patches , filename ? "flutter_linux_v${version}-${channel}.tar.xz" }: </ins> { bash, buildFHSUserEnv, cacert, coreutils, git, makeWrapper, runCommand, stdenv , fetchurl, alsaLib, dbus, expat, libpulseaudio, libuuid, libX11, libxcb


<ins> import ./make-test-python.nix ({ pkgs, lib, ... }: let # Well, we _can_ cross-compile from Linux :) hello = pkgs.runCommand "hello" { sdk = "${pkgs.darling.sdk}/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"; nativeBuildInputs = with pkgs.llvmPackages_latest; [ clang-unwrapped lld ]; src = pkgs.writeText "hello.c" '' #include <stdio.h> int main() { printf("Hello, Darling!n"); return 0; } ''; } '' clang  -target x86_64-apple-darwin  -fuse-ld=lld  -nostdinc -nostdlib  -mmacosx-version-min=10.15  --sysroot $sdk  -isystem $sdk/usr/include  -L $sdk/usr/lib -lSystem  $src -o $out ''; in { name = "darling"; meta.maintainers = with lib.maintainers; [ zhaofengli ]; nodes.machine = { programs.darling.enable = true; }; testScript = '' start_all() # Darling holds stdout until the server is shutdown machine.succeed("darling ${hello} >hello.out") machine.succeed("grep Hello hello.out") machine.succeed("darling shutdown") ''; }) </ins>


mv trebucbd.ttf  Trebuchet_MS_Bold.ttf mv trebucit.ttf  Trebuchet_MS_Italic.ttf mv trebucbi.ttf  Trebuchet_MS_Italic.ttf <del> mv verdana.ttf   Verdana.ttf </del> <ins> mv verdana.ttf   Verdana.ttf.tmp mv Verdana.ttf.tmp   Verdana.ttf </ins> mv verdanab.ttf  Verdana_Bold.ttf mv verdanai.ttf  Verdana_Italic.ttf mv verdanaz.ttf  Verdana_Bold_Italic.ttf <del> mv webdings.ttf  Webdings.ttf </del> <ins> mv webdings.ttf  Webdings.ttf.tmp mv Webdings.ttf.tmp  Webdings.ttf </ins> install -m444 -Dt $out/share/fonts/truetype *.ttf


stdenv.mkDerivation rec { pname = "sqlite-analyzer"; <del> version = "3.32.2"; </del> <ins> version = "3.32.3"; </ins> src = assert version == sqlite.version; fetchurl { url = "https://sqlite.org/2020/sqlite-src-${archiveVersion version}.zip"; <del> sha256 = "1jqhs896cvp9l399mjpbv1x2qbfvq875l1vrgnl3zc4ffdjxs9z0"; </del> <ins> sha256 = "1fgmslzf013ry3a7g2vms7zyg24gs53gfj308r6ki4inbn3g04lk"; </ins> }; nativeBuildInputs = [ unzip ];


if ($copyKernels == 0) { $conf .= $grubStore->search . "n"; } <del> if ($extraInitrd) { $conf .= $extraInitrdPath->search . "n"; } </del> $conf .= "  $extraPerEntryConfign" if $extraPerEntryConfig; $conf .= "  multiboot $xen $xenParamsn" if $xen; $conf .= "  " . ($xen ? "module" : "linux") . " $kernel $kernelParamsn";


"-DSPHINX_WARNINGS_AS_ERRORS=OFF" ]; <del> postPatch = '' </del> <ins> postPatch = lib.optional enableSharedLibraries '' </ins> substitute '${./outputs.patch}' ./outputs.patch --subst-var lib patch -p1 < ./outputs.patch '';


final String gradlewBinaryName = Platform.isWindows ? 'gradlew.bat' : 'gradlew'; final Directory tempDir = Directory.systemTemp.createTempSync('flutter_devicelab_shutdown_gradle.'); -    recursiveCopy(Directory(path.join(flutterDirectory.path, 'bin', 'cache', 'artifacts', 'gradle_wrapper')), tempDir); <del> +    recursiveCopy(Directory(path.join(homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); </del> <ins> +    recursiveCopy(Directory(path.join(globals.fsUtils.homeDirPath, '.cache', 'flutter', 'artifacts', 'gradle_wrapper')), tempDir); </ins> copy(File(path.join(path.join(flutterDirectory.path, 'packages', 'flutter_tools'), 'templates', 'app', 'android.tmpl', 'gradle', 'wrapper', 'gradle-wrapper.properties')), Directory(path.join(tempDir.path, 'gradle', 'wrapper'))); if (!Platform.isWindows) { await exec(


''; </programlisting> <del> The main difference is that preceding whitespace is automatically stripped from each line, and that characters like </del> <ins> The main difference is that it strips from each line a number of spaces equal to the minimal indentation of the string as a whole (disregarding the indentation of empty lines), and that characters like </ins> <literal>"</literal> and <literal></literal> are not special (making it more convenient for including things like shell <del> code).</para> </del> <ins> code). See more info about this in the Nix manual <link xlink:href="https://nixos.org/nix/manual/#ssec-values">here</link>.</para> </ins> </listitem> </varlistentry>


buildInputs = optionals stdenv.isDarwin (with darwin; [ cups <ins> # `sw_vers` is used by `src/3rdparty/chromium/build/config/mac/sdk_info.py` # to get some information about the host platform. (writeScriptBin "sw_vers" '' #!${stdenv.shell} while [ $# -gt 0 ]; do case "$1" in -buildVersion) echo "17E199";; *) break ;; esac shift done '') </ins> # For sandbox.h include (runCommand "MacOS_SDK_sandbox.h" {} '' install -Dm444 "${lib.getDev darwin.apple_sdk.sdk}"/include/sandbox.h "$out"/include/sandbox.h


owner = "Ultimaker"; repo = "Cura"; rev = version; <del> sha256 = "1qnai8vmgy5lx3lapw96j41i8mw9p6r99i3qzs709l9yzrix6l86"; </del> <ins> sha256 = "1wf60qr0wqsci5skp55qr8h56s3x5s2icxbn58ia9s4a5hhvnsmf"; </ins> }; materials = fetchFromGitHub {


, libdrm ? null , mesa   ? null <del> , alsaSupport        ? stdenv.isLinux, alsa-lib       ? null </del> <ins> , alsaSupport        ? stdenv.isLinux, alsa-lib      ? null </ins> , archiveSupport     ? true,           libarchive    ? null , bluraySupport      ? true,           libbluray     ? null , bs2bSupport        ? true,           libbs2b       ? null


rofi-unwrapped = callPackage ../applications/misc/rofi { }; rofi = callPackage ../applications/misc/rofi/wrapper.nix { }; <ins> rofi-wayland-unwrapped = callPackage ../applications/misc/rofi/wayland.nix { }; rofi-wayland = callPackage ../applications/misc/rofi/wrapper.nix { rofi-unwrapped = rofi-wayland-unwrapped; }; </ins> rofi-pass = callPackage ../tools/security/pass/rofi-pass.nix { };