jiebi/CodeConvo huggingface dataset:
Code change:
{ stdenv, fetchurl, fetchpatch, openssl, zlib, pcre, libxml2, libxslt <del> , gd, geoip </del> <ins> , substituteAll, gd, geoip </ins> , withDebug ? false , withStream ? true , withMail ? false

Related discussion:
text: If you serve files from , nginx will set last-modified header to unix timestamp 1. The result is that browser will cache indefinitely. Not sure what we should do about it really, following nginx configuration helps:
Why do you need to turn etag off?
Ah, I see. nginx's etags aren't hashes.
I wonder if we could find a way to pull the hash out of the nix store path and put it into an etag header.
Thanks for finding this. I've been having issues with broken caching on my nginx/nixos server. Even when the files on the server were updated (files in the nix store), the browser was told that no change had happened. If I'm understanding this correctly, since nginx's etags are based on filesystem modification time; you can't have proper cache invalidation (ie. it will always send 304 not modified). Or is there a workaround?
+1 this is a problem. And turning off etag seems like overkill. Is there some way to 1) set the date on a file so that Nginx can pick it up, or 2) do something else awesome?
Is the zero-timestamp rule set in stone in Nix, or is there some way to override it if you really want a file in /nix/store to have a particular timestamp?
I think we could get away with: It's not perfect, as it will change on each Nix evaluation instead of being content addressed. Another way would be to turn the store path passed to nginx directive to translate into an etag.
The etag function is at called from and . Making it dependent on the realpath of the file seems doable.
Explanation how to configure nginx to use the hash from the nix path:
In my testing, this sends the correct etag, but does not send the 304 not modified, when the etag matches. Also, the header gets stripped out when compression is enabled.
It's working perfectly for me. I've gzip compression enabled, the etag header is sent and the browser gets a 304 when querying the header.
Nice! An example with a directory would be more common:
I've to correct what I said. your statement seems to be correct. What happens in my case is that Cloudflare is actually handling the caching of the ETag correctly, not nginx.
Code change:
{ stdenv, fetchurl, fetchpatch, openssl, zlib, pcre, libxml2, libxslt <del> , gd, geoip </del> <ins> , substituteAll, gd, geoip </ins> , withDebug ? false , withStream ? true , withMail ? false

Related discussion:
text: So this approach is completely useless without external caching. I'll investigate further and see if I can come up with a solution.
Here is a patch: If real path (after dereferencing symlinks) of is in Nix store, it will use path's hash as ETag. For example: I'll take some time to double check everything and only then send a PR. However, feel free to test: nix { pkgs, ... }: { = { enable = true; package = with pkgs; nginx.overrideAttrs (super: { patches = (super.patches or []) ++ [(fetchpatch { url = ; sha256 = "16pa1vwcm7kibkjsxpk3szaa2vnxdinml6v0fp4038i2qaav113k"; })]; }); }; }
This is really great! or anyone, do you have a moment to write an explanation of this new feature and its practical ramifications for anyone configuring an nginx server? Since it isn't typical nginx behavior, I think the nixos manual should explain it somewhere so it doesn't catch people by surprise.
I think is a good explanation, just needs to be put into the manual.
Cool, submitted .
Code change:
AC_SUBST(pkgpython2dir) else enable_python_library="no (disabled, use --enable-python-library to enable)" <ins> diff --git a/data/dconf/Makefile.am b/data/dconf/Makefile.am index 5360f033..6d5e726f 100644 </ins> --- a/data/dconf/Makefile.am +++ b/data/dconf/Makefile.am <del> @@ -50,7 +50,7 @@ </del> <ins> @@ -50,7 +50,7 @@ man_5dir = $(mandir)/man5 </ins> install-data-hook: if test -z "$(DESTDIR)"; then 

Related discussion:
text: Upstream ibus-1.5.24 (in nixpkgs) supports gtk4. It will be good if we enable gtk4 support in nixpkgs. I fail to enable it with the following patch.
Code change:
# Keep consul.ui for backward compatability passthru.ui = consul-ui; <ins> preBuild = '' buildFlagsArray+=("-ldflags" "-X github.com/hashicorp/consul/version.GitDescribe=v${version} -X github.com/hashicorp/consul/version.Version=${version} -X github.com/hashicorp/consul/version.VersionPrerelease=") ''; </ins> meta = with stdenv.lib; { description = "Tool for service discovery, monitoring and configuration"; homepage = "https://www.consul.io/";

Related discussion:
text: On 17.03: This is potentially problematic as consul may use the version number of peers to make decisions. Why is this?
Code change:
, cmake, ninja, curl, git, pandoc, pkg-config, unzip, zip , libGL, libGLU, freeimage, freetype, assimp , catch2, fmt, glew, miniz, tinyxml-2, xorg <del> , qtbase, wrapQtAppsHook </del> <ins> , qtbase, qtwayland, wrapQtAppsHook </ins> , copyDesktopItems, makeDesktopItem }: stdenv.mkDerivation rec { pname = "TrenchBroom"; <del> version = "2023.1"; </del> <ins> version = "2024.1"; </ins> src = fetchFromGitHub { owner = "TrenchBroom"; repo = "TrenchBroom"; rev = "v${version}"; <del> sha256 = "sha256-62xcFKSqxPS+J54+kLo/hewM+Wu/rVBGD8oiECDCJpA="; </del> <ins> hash = "sha256-HNK/gLbew7MKN6GVStxDb2tyMgyw2l1+dhPr6fSaZ4A="; </ins> fetchSubmodules = true; }; # Manually simulate a vcpkg installation so that it can link the libraries

Related discussion:
text: Package name: trenchbroom Latest released version: 2024.1 <!-- Search your package here: --- Current version on the unstable channel: 2023.1 Current version on the stable/release channel: 2023.1 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Code change:
, stdenv , mkDerivation , extra-cmake-modules <del> , fetchFromGitHub </del> <ins> , fetchurl </ins> , kconfig , kdoctools , kguiaddons

Related discussion:
text: There is a hash mismatch for kstars in nixpkgs-unstable Steps to reproduce the behavior: Add any other context about the problem here. Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Last updated by
As was spotted during the PR review , the ref is a branch not a tag.
The source of the problem is (also mentionned in a comment) a typo in the name of the latest version of kstars files (). There's now a 3.7.0 version out. So I'll suggest a new PR with this version, using the official source
Code change:
<ins> { lib , stdenvNoCC , fetchurl , makeWrapper # Softnet support ("--net-softnet") is disabled by default as it requires # passwordless-sudo when installed through nix. Alternatively users may install # softnet through other means with "setuid"-bit enabled. # See https://github.com/cirruslabs/softnet#installing , enableSoftnet ? false, softnet }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "tart"; version = "1.6.0"; src = fetchurl { url = "https://github.com/cirruslabs/tart/releases/download/${finalAttrs.version}/tart.tar.gz"; sha256 = "1n052nwsccc3sr0jqnvhyl0six8wi46vysxjchwrdm8brnsdpf84"; }; sourceRoot = "."; nativeBuildInputs = [ makeWrapper ]; installPhase = '' runHook preInstall # ./tart.app/Contents/MacOS/tart binary is required to be used in order to # trick macOS to pick tart.app/Contents/embedded.provision profile for elevated # privileges that Tart needs mkdir -p $out/bin $out/Applications cp -r tart.app $out/Applications/tart.app makeWrapper $out/Applications/tart.app/Contents/MacOS/tart $out/bin/tart  --prefix PATH : ${lib.makeBinPath (lib.optional enableSoftnet softnet)} install -Dm444 LICENSE $out/share/tart/LICENSE runHook postInstall ''; meta = with lib; { description = "macOS VMs on Apple Silicon to use in CI and other automations"; homepage = "https://tart.run"; license = licenses.fairsource09; maintainers = with maintainers; [ emilytrau Enzime ]; platforms = [ "aarch64-darwin" ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ]; }; }) </ins>

Related discussion:
text: Project description <!-- Describe the project a little: --Metadata homepage URL: source URL: license: platforms: darwin
Code change:
}) ]; <ins> # fix implicit-int compile error in test code used in configure script postPatch = '' sed -i 's/^main()/int main()/' configure ''; </ins> hardeningDisable = [ "format" ]; outputs = [ "out" ] ++ lib.optional (with stdenv; buildPlatform.canExecute hostPlatform) "dev";

Related discussion:
text: Steps to reproduce the behavior: builds fine on NixOS, not on darwin. Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
does work for you? maybe something like will work while the PR is waiting to merge.
Yep! Thank you
Code change:
</configuration> ''; <ins> inherit (stdenv.hostPlatform.extensions) sharedLibrary; </ins> in stdenv.mkDerivation rec {

Related discussion:
text: Steps to reproduce the behavior: msbuild Trying to build msbuild on a mac fails. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --Please run and paste the result.
Code change:
<ins> { lib , fetchFromSourcehut , makeWrapper , rustPlatform , wayland }: rustPlatform.buildRustPackage rec { pname = "waylevel"; version = "1.0.0"; src = fetchFromSourcehut { owner = "~shinyzenith"; repo = pname; rev = version; hash = "sha256-T2gqiRcKrKsvwGNnWrxR1Ga/VX4AyllYn1H25aIKt5s="; }; cargoHash = "sha256-gw5m1/btJ5zZP04C7BCnHqEOUBoeu0whK8W7xA+xSQo="; postFixup = '' patchelf --set-rpath ${lib.makeLibraryPath [wayland]} $out/bin/waylevel ''; meta = with lib; { description = "A tool to print wayland toplevels and other compositor info"; homepage = "https://git.sr.ht/~shinyzenith/waylevel"; license = licenses.bsd2; maintainers = with maintainers; [ dit7ya ]; platforms = platforms.linux; }; } </ins>

Related discussion:
text: Project description A tool to print Wayland toplevels status and info. Metadata homepage URL: source URL: license: bsd platforms: linux
Code change:
dfilemanager = libsForQt5.callPackage ../applications/misc/dfilemanager { }; <ins> dht = callPackage ../applications/networking/p2p/dht { }; </ins> dia = callPackage ../applications/graphics/dia { inherit (pkgs.gnome2) libart_lgpl libgnomeui; };

Related discussion:
text: Project description Fragments is a modern, responsive and graphical Gnome bittorrent client Metadata homepage URL: source URL: license: gpl3 platforms: linux The new version of Fragments depends on libutp which hopefully gets merged soon. I've opened a pull request for it . for Fragments.
We have transmission and torrential. Maybe that's something for you.
That's true but Fragments is a really neat, easy and modern looking torrent client. It has an adaptive interface which would also work quite well on mobile devices, for example NixOS mobile :+1:
Code change:
BindPaths = [ "${cfg.home}/${settingsDir}" cfg.settings.download-dir <ins> # Transmission may need to read in the host's /run (eg. /run/systemd/resolve) # or write in its private /run (eg. /run/host). "/run" </ins> ] ++ optional cfg.settings.incomplete-dir-enabled cfg.settings.incomplete-dir ++

Related discussion:
text: I have transmission running inside a Nixos container which has been working without issue until I recently updated the system. It now fails to start inside the container, I have tried deleting the container and all its data but the same issue exists when creating a new one. I have also tried creating the path "" on both the host and container but it doesn't seem to care. Steps to reproduce the behavior: Run transmission inside of a container Transmission service starts and runs without issue Service status Here's where I have the container and transmission defined in my config. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
Same here, not sure if it's an upstream or nixpkgs issue
For the time being and since it's inside a container anyway I'm overriding the root dir of the systemd unit:
Thanks your fix is working for me!
The problem is that is listed in : Which got introduced in to The original problem was that was not in the chroot. I'd say mounting all of as read-only is going too far, so a better fix would be to just mount and only if is true. It also seems weird to have this logic be part of Transmission, but whatever. So a workaround is: (And I'm not sure why this wasn't a problem for 3 years)
I've stumbled upon this issue as well, and wondering if there is anything we can do about it regarding the Transmission service. I had to disable the following is well, before it played nicely in my setup.
indeed, adding only was one the alternatives suggested in , so we can try your suggestion. IMHO disabling or should not be the default, we could make them use though, would that be enough for you?
This is actually still an issue and it isn't limited to containers. Adding the params that posted, unfortunately, does not work for me ;/
Code change:
sockperf = callPackage ../tools/networking/sockperf { }; <ins> softnet = callPackage ../tools/networking/softnet { }; </ins> solaar = callPackage ../applications/misc/solaar { }; solanum = callPackage ../servers/irc/solanum {

Related discussion:
text: Project description <!-- Describe the project a little: --Metadata homepage URL: source URL: license: platforms: darwin
Code change:
}; preBuild = '' <del> makeFlags="V=1 DISABLE_JBIG=1 CUPSFILTER=$out/lib/cups/filter CUPSPPD=$out/share/cups/model" </del> <ins> makeFlags="$makeFlags CUPSFILTER=$out/lib/cups/filter CUPSDRV=$out/share/cups/drv" </ins> ''; <del> buildInputs = [cups zlib]; </del> <ins> buildFlags = [ "drv" "all" ]; makeFlags = [ "DRV_ONLY=1" ]; buildInputs = [ cups zlib jbigkit ]; </ins> meta = { <ins> description = "CUPS drivers for SPL (Samsung Printer Language) printers"; </ins> homepage = http://splix.sourceforge.net; platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.peti ];

Related discussion:
text: I have a Samsung M2022W (usb) that works on a raspberrypi using raspbian (2017-11-29-raspbian-stretch-). I had to pick the ML-2160 driver in CUPS 2.2.1 as recommended by On NixOS (cups-2.2.2): [nawal nix-info system: "x8664-linux", multi-user?: yes, version: nix-env (Nix) 1.11.16, channels(nawal): "nixos-17.03-17.03.1082.", channels(root): "nixos-17.09.3149.", nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs If I use services.printing = { enable = true; drivers = [ pkgs.samsungUnifiedLinuxDriver ]; extraConf = '' LogLevel debug ''; extraFilesConf = '' FileDevice yes ''; }; and pick the same driver, I get garbage printed out. I tried to track down the ppd on raspbian, but only found: pi $ grep 2160 /usr/share/cups/drv/splix- ModelName "ML-2160" PCFileName "" and (i.e. it generated the ppd when I installed the printer apparently).
Code change:
}; preBuild = '' <del> makeFlags="V=1 DISABLE_JBIG=1 CUPSFILTER=$out/lib/cups/filter CUPSPPD=$out/share/cups/model" </del> <ins> makeFlags="$makeFlags CUPSFILTER=$out/lib/cups/filter CUPSDRV=$out/share/cups/drv" </ins> ''; <del> buildInputs = [cups zlib]; </del> <ins> buildFlags = [ "drv" "all" ]; makeFlags = [ "DRV_ONLY=1" ]; buildInputs = [ cups zlib jbigkit ]; </ins> meta = { <ins> description = "CUPS drivers for SPL (Samsung Printer Language) printers"; </ins> homepage = http://splix.sourceforge.net; platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.peti ];

Related discussion:
text: On nixos: [nawal | grep 2160 /nix/store/6f2zx8dl4w0kzgw3wj8f466mvkcgc3dc-samsung-UnifiedLinuxDriver-4.00.39/opt/share/ppd/ML- /nix/store/nmp023llc8fix567f413a5rqbx4sw45g-cups-progs/share/cups/model/ML- Having diffed them, I notice amongst a huge number of differences: [nawal diff /nix/store/nmp023llc8fix567f413a5rqbx4sw45g-cups-progs/share/cups/model/ML- | grep Version < FileVersion: "2.0.0" < PSVersion: "(3010.000) 0" < QPDL QPDLVersion: "3" < *cupsVersion: 2.2 so raspbian is using a version "2.0.0" and "2.2" of something or other, whereas nixos is using a version "1.2" and "1.1" of similar things. I managed to get my printer to work by copying the ppd across, but I don't understand enough of cups (nor now have the inclination to learn) to figure out what's going on or how to make nixos do the right thing (i.e. in a word, print). I thought this might be useful for someone else who wants to pick it up? Happy to hack around the raspbian if you need more info, or try out things if you need me to while the sd card contains raspbian.
Can you find out what package on Raspbian provides the driver? Have you installed proprietary Samsung driver there? If not, can you try removing ? It seems we have latest version of but not the latest of the proprietary driver but you don't seem to use it.
I'll have a look tomorrow evening - how do i use the new splix without upgrading everything to the same commit?
Find out your current commit with (look at the suffix), then clone nixpkgs repository (), checkout current commit (), fetch my changes () and cherry-pick my patch atop your current commit (). Then you can rebuild nixpkgs with .
I can confirm this works.
Code change:
}; preBuild = '' <del> makeFlags="V=1 DISABLE_JBIG=1 CUPSFILTER=$out/lib/cups/filter CUPSPPD=$out/share/cups/model" </del> <ins> makeFlags="$makeFlags CUPSFILTER=$out/lib/cups/filter CUPSDRV=$out/share/cups/drv" </ins> ''; <del> buildInputs = [cups zlib]; </del> <ins> buildFlags = [ "drv" "all" ]; makeFlags = [ "DRV_ONLY=1" ]; buildInputs = [ cups zlib jbigkit ]; </ins> meta = { <ins> description = "CUPS drivers for SPL (Samsung Printer Language) printers"; </ins> homepage = http://splix.sourceforge.net; platforms = stdenv.lib.platforms.linux; maintainers = [ stdenv.lib.maintainers.peti ];

Related discussion:
text: Thanks for the detailed instructions and for fixing it so quickly! NB: I had to do: (i.e. ) thanks
Code change:
src = fetchurl { url = "https://github.com/upscayl/upscayl/releases/download/v${version}/upscayl-${version}-linux.AppImage"; <del> hash = "sha256-33jJRMvRQxL7rPJ6VigEKcDhge46CAA0jJUOhzEyWzA="; </del> <ins> hash = "sha256-EoTFvlLsXQYZldXfEHhP3/bHygm+NdeDsf+p138mM8w"; </ins> }; appimageContents = appimageTools.extractType2 {

Related discussion:
text: Steps to reproduce the behavior: Upscayl failed to build due to hash mismatch during (I'm nix beginner, I hope to that I write this bug report in right place.) Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Strange! I wonder why I did not get that hash mismatch when I reviewed the PR. Upcoming PR!
Code change:
<del> --- ./third_party/ycmd/cpp/CMakeLists.txt +++ ./third_party/ycmd/cpp/CMakeLists.txt @@ -121,8 +121,8 @@ set( CPP11_AVAILABLE true ) endif() elseif( COMPILER_IS_CLANG ) -  set( CPP11_AVAILABLE true ) -  set( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11" ) +  #set( CPP11_AVAILABLE true ) +  #  set( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LANGUAGE_STANDARD "c++11" ) set( CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++" ) endif() </del>

Related discussion:
text: Building on Darwin fails. The problem seems very similar to which was solved by —however I do not know how to apply that solution here.
Wasn't this fixed by merging
This issue is fixed, but it broke again recently. Same issue as but we use
Proposed
Fixed by
Code change:
my $algo = $fetch->{type}; my $hash = $fetch->{hash}; my $name = $fetch->{name}; <ins> my $isPatch = $fetch->{isPatch}; </ins> if ($hash =~ /^([a-z0-9]+)-([A-Za-z0-9+/=]+)$/) { $algo = $1;

Related discussion:
text: The script should report all sources used to build a package. It currently lacks support for patches? If we run find-tarballs on nethack, we should find the patch defined in nethack named we should get the url to download in the output, along with its name, hash and type.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
I found why patches are skipped, they have "postFetch" attribute that has to be run to obtain the same file expected by nix. By applying this diff, patches are included in the result, but they won't have the expected checksum before applying postFetch on it. I don't know how to apply postFetch on the result right now.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
Code change:
buildPythonPackage rec { pname = "chex"; <del> # As of 2021-12-29, the latest official version has broken tests with jax 0.2.26: # `AttributeError: module 'jax.interpreters.xla' has no attribute 'xb'` version = "unstable-2021-12-16"; </del> <ins> version = "0.1.2"; </ins> format = "setuptools"; src = fetchFromGitHub { owner = "deepmind"; repo = pname; <del> rev = "5adc10e0b4218f8ec775567fca38b68bbad42a3a"; sha256 = "00xib6zv9pwid2q7wcr109qj3fa3g3b852skz8444kw7r0qxy7z3"; </del> <ins> rev = "v${version}"; hash = "sha256-NtZYOHByKBcKmhRaNULwaQqxfoPRmgbtJ3cFHNfy4E8="; </ins> }; propagatedBuildInputs = [

Related discussion:
text: Build of failed on x86_64-linux as of . Maintainer cc: Other cc: n/a nixpkgs at commit This issue was automatically generated by . that created this issue. Internal tag:
Code change:
wf-recorder = callPackage ../applications/video/wf-recorder { }; <ins> whatweb = callPackage ../tools/security/whatweb { }; </ins> whipper = callPackage ../applications/audio/whipper { }; whitebophir = callPackage ../servers/web-apps/whitebophir { };

Related discussion:
text: Project description A scanner informing the technologies and headers a website uses. Metadata homepage URL: source URL: license: GPL-2.0 platforms: Agnostic (Darwin, Linux, Windows) See also:
I was able to build it, check it here
Thanks!
Code change:
exit 1 fi <del> nm -an "$libblas" | cut -f3 -d' ' > symbols </del> <ins> $NM -an "$libblas" | cut -f3 -d' ' > symbols </ins> for symbol in ${toString blasFortranSymbols}; do grep "^$symbol_$" symbols || { echo "$symbol" was not found in "$libblas"; exit 1; } done

Related discussion:
text: Describe the bug To Reproduce Expected behavior The derivation to build an executable called Additional context It fails with also but succeeds with but so 1.3 seems to be a recent addition even though julia is on 1.4 and about to move to 1.5. Notify maintainers Metadata Please run and paste the result.
Same issue here: system: host os: multi-user?: sandbox: version: channels(root): channels(jfelice): nixpkgs: This prevents installing GNU octave on MacOS.
FWIW I was able to work around this issue by creating a to disable the checks in arpack: I was able to build octave successfully with that. I had to hack around a runtime issue finding , will log that as a separate issue.