jiebi/CodeConvo huggingface dataset:
Change:
<ins> diff --git a/Makefile b/Makefile index 9aa7356..c5f2a87 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,8 @@ PROG        = usb_modeswitch VERS        = 2.6.0 CC          ?= gcc CFLAGS      += -Wall -Wno-deprecated-declarations -LIBS        = `pkg-config --libs --cflags libusb-1.0` +PKG_CONFIG  ?= pkg-config +LIBS        = `$(PKG_CONFIG) --libs --cflags libusb-1.0` RM          = /bin/rm -f OBJS        = usb_modeswitch.c PREFIX      = $(DESTDIR)/usr </ins>

Discussion:
Steps to reproduce the behavior: I'm trying to build an host from I've historically disabled the option whenever cross-compiling However, it seems like a relatively simple program, merely limited by the good ole bare Makefile. And my aarch64 sbc would benefit from a wifi adapter that needs this module/package. I was going to dive in and try to just make it a meson project, but then I realized we already carry a patch for the Makefile, so I figured I'd open this before I forget, in case I don't have time to dig in: Add any other context about the problem here. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --This is on the latest usb-modeswitch rev from 2019, from : Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Change:
<del> { buildPackages, callPackage }: </del> <ins> { buildPackages, callPackage, stdenv }@prev: </ins> <del> { rustc, cargo, ... }: </del> <ins> { rustc, cargo, stdenv ? prev.stdenv, ... }: </ins> rec { rust = {

Discussion:
My hydra instance started to report hash mismatches in rust packages (agate, ion, nushell, ox, ripgrep) (I'm cross-compiling to aarch64-multiplatform). It appears that the commit introduced this. See also the associated PR: Steps to reproduce the behavior: nixpkgs @ (just building the attribute would be enough) all deps... mismatch for cargo dependencies. No hash mismatch. I don't understand why the linked change would cause this. Maybe you know why this happens? Please run and paste the result. Maintainer information:
Huh, this is really interesting, I'm going to revert that change for now.
Reverting has fixed this. Hopefully the right solution can be found :).
Would you have time to test a re-do of the original PR? I think I know how to get it to work correctly.
Change:
}; extraConfig = '' index index.php index.html /index.php$request_uri; <del> expires 1m; </del> add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none;

Discussion:
Describe the bug nextcloud default nginx config did not include the ` config see: but expires is set in Expected behavior no expires, the cache option causes problems with the usage of Deck
Change:
}; script = '' <del> mkdir --mode 0644 -p "${dirOf values.privateKeyFile}" </del> <ins> set -e # If the parent dir does not already exist, create it. # Otherwise, does nothing, keeping existing permisions intact. mkdir -p --mode 0755 "${dirOf values.privateKeyFile}" </ins> if [ ! -f "${values.privateKeyFile}" ]; then <del> touch "${values.privateKeyFile}" chmod 0600 "${values.privateKeyFile}" wg genkey > "${values.privateKeyFile}" chmod 0400 "${values.privateKeyFile}" </del> <ins> # Write private key file with atomically-correct permissions. (set -e; umask 077; wg genkey > "${values.privateKeyFile}") </ins> fi ''; };

Discussion:
See The NixOS option  does: This is not safe. The private key can be read by an unprivileged user who opens the file between and . For example with : are never safe. This sequence should never be used for writing secrets. This is why (like ) and exist. See for example the key generation section in or . Edit for completeness: The parent directory of the private key file is currently created with So the directory doesn't exist, it is created with permissions ; due to lack of , no non-root-user can do things in it at all. However, this protection does not apply when already exists; then is a no-op. There's nothing in docs or code that suggest that; for example, that may be . I think setting is also not very good; it only works because has implicit access anyway, and the service runs as root. Instead, the private key file should have strict permissions.
cc
I'm looking into making an based fix now.
There are similar problems in [ ] ( [ ] and ( [ ] ( [ ] ( [ ] ( [ ] ( [ ] ( [ ] ( [ ] ... does it correctly :tada:
Could you move those to a separate issue? Because this one will be autoclosed after my fix is merged. And we could also make give that new overview issue the label.
PR in
Change:
sha256 = "121c5xsy3x0i4wdkrpw62yhvji6virbh6n30ypazkp0isws3k4bk"; }; <ins> patches = optionals stdenv.hostPlatform.isMusl [ # TODO: Remove with next release > 1.18 # Patches to fix musl build with 1.18. # Not using `fetchpatch` for these for now to avoid infinite recursion # errors in downstream projects (unclear if it's a nixpkgs issue so far). ./krb5-Fix-Linux-build-error-with-musl-libc.patch ./krb5-Fix-typo-in-musl-build-fix.patch ]; </ins> outputs = [ "out" "dev" ]; configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"]

Discussion:
After (krb5: 1.17 -1.18) is merged, doesn't build with anymore. The error is: Since is a dependency of , this affects significant number of downstream packages. To Reproduce cc
Change:
ExecStart = "${cfg.package}/bin/runsvc.sh"; # Does the following, sequentially: <del> # - Copy the current and the previous `tokenFile` to the $RUNTIME_DIRECTORY #   and make it accessible to the service user to allow for a content #   comparison. # - If the module configuration or the token has changed, clear the state directory. # - Configure the runner. # - Copy the configured `tokenFile` to the $STATE_DIRECTORY and make it #   inaccessible to the service user. </del> <ins> # - If the module configuration or the token has changed, purge the state directory, #   and create the current and the new token file with the contents of the configured #   token. While both files have the same content, only the later is accessible by #   the service user. # - Configure the runner using the new token file. When finished, delete it. </ins> # - Set up the directory structure by creating the necessary symlinks. ExecStartPre = let

Discussion:
After rebooting the machine, the systemd service fails to start due to an "invalid user: ‘github-runner’" Steps to reproduce the behavior: The systemd service enters the state : It does not happen after every reboot. I have not found the circumstances that make the systemd service fail. One workaround to bring the service back to the running state is to manually restart . Please run and paste the result. Maintainer information:
Thanks for raising this. I guess I ran into this as well already but didn't give it too much thought. Now, after reading systemd.service(5) again, I believe we should prefix with instead of : I'm not sure that's really the issue but it seems like the user/group () is not always set up when systemd runs . It appears would make sure they exist. I'm going to open a PR. Regardless of fixing this issue (which I hope it does), it makes sense to use instead of .
Wow, thanks for the quick response! I will check out your PR soon.
Change:
calcurse = callPackage ../applications/misc/calcurse { }; <ins> calculix = callPackage ../applications/science/math/calculix {}; </ins> calibre = libsForQt5.callPackage ../applications/misc/calibre { }; calligra = libsForQt5.callPackage ../applications/office/calligra {

Discussion:
Three-Dimensional Structural Finite Element Program Website: Current stable: v2.15 Example of other distro builds:
I propose that we rename this package to calculix-ccx. Should I open a new ticket for that ? Edit: request -
Change:
postPatch = '' substituteInPlace Makefile  --replace 'TMPDIR=colordiff-''${VERSION}' "" <ins> substituteInPlace colordiff.pl  --replace '= "diff";' '= "${diffutils}/bin/diff";' </ins> ''; installFlags = [

Discussion:
I am new to Nix, but I am pretty sure there is a dependency missing. Run Docker container: Install colordiff: Execute colordiff: Install diffutils: The Perl script itself uses the diff command.
thanks for taking this. I think we just want to replace ` in line 35. Please give me a ping when you open a PR.
Change:
inherit sha256; }; extraMeta = { <del> broken = kernel.meta.broken || lib.versions.majorMinor version == "4.14" || (stdenv.isx86_64 && lib.versionAtLeast version "4.19" && lib.versionOlder version "5.5"); </del> <ins> broken = kernel.meta.broken; </ins> }; }; kernelPatches = kernel.kernelPatches ++ [

Discussion:
Steps to reproduce the behavior: linuxKernel.kernels.linux54hardened (with ) This causes many failure in Hydra (one per module). The non-hardened version works fine. Other kernel versions work fine. (for previous ZHF discussion) ZHF: Please run and paste the result.
This is linked with commit (Feb 21 23:41:34 2023): "use , not assert"
linuxKernel.kernels.linux54_hardened was introduced in and seems to build fine at this commit. I am going to from this point.
The commit breaking linuxKernel.kernels.linux54_hardened is (found via bisect).
Could this be the same as ? Since the build failure is actually in , not the actual kernel build.
I confirm that the build failure is linuxKernel.kernels.linux54hardened.configfile. It seems that specifies that uses gcc10: but adding in outputs . There is definitely something off in these Nix expressions. I don't understand why the derivation sees gcc12 rather than gcc10.
: It looks like there is another definition here which doesn't override the stdenv: But since the failures are happening in the kernel package-set, I don't believe the kernel with the missing stdenv is related.
Change:
# this file is expected in /etc/qemu and not sysconfdir (/var/lib) etc."qemu/bridge.conf".text = lib.concatMapStringsSep "n" (e: "allow ${e}") cfg.allowedBridges; <del> systemPackages = with pkgs; [ libvirt libressl.nc cfg.qemuPackage ]; </del> <ins> systemPackages = with pkgs; [ libvirt libressl.nc iptables cfg.qemuPackage ]; etc.ethertypes.source = "${iptables}/etc/ethertypes"; </ins> }; boot.kernelModules = [ "tun" ];

Discussion:
My libvirt setup invokes ebtables in the context of the clean-traffic filter and fails because /etc/ethertypes is expected by the ebtables binary. Run system: host os: multi-user?: sandbox: version: channels(root): nixpkgs:
Tracing this a bit further shows that despite the source code of ebtables containing /etc/ethertypes as a string, the ebtables binary doesn't contain "/etc/ethertypes" when being strings-ed. The offending string is hardcoded inside which comes from the iptables derivation. /etc/ethertypes feels like /etc/protocols and /etc/services. Do we want to promote it to that level or do we want to fix the hardcoded path in iptables?
For anyone suffering from this, the workaround is:
Debian 10, KVM, Libvirt...
are you using the service module?
Yes
Why does this add to my system path? I don't see how that's related
Change:
<del> { lib , mkDerivationWith , python3Packages , fetchFromGitHub , fetchpatch , wrapQtAppsHook , ffmpeg , qtbase , testers , corrscope }: mkDerivationWith python3Packages.buildPythonApplication rec { pname = "corrscope"; version = "0.8.1"; format = "pyproject"; src = fetchFromGitHub { owner = "corrscope"; repo = "corrscope"; rev = version; hash = "sha256-pS7upOYZAjgR3lWxny8TNZEj3Rrbg+L90ANZWFO9UPQ="; }; patches = [ # https://github.com/corrscope/corrscope/pull/446 (fetchpatch { name = "remove-setuptools-dependency.patch"; url = "https://github.com/corrscope/corrscope/commit/70b123173a7a012d9f29d6d3a8960b85caf6cc79.patch"; hash = "sha256-YCtb7v8cGP0pdceAKeoempnRzw+LRKQqDb3AfN0z/9s="; }) ]; pythonRelaxDeps = [ "attrs" "ruamel.yaml" ]; nativeBuildInputs = [ wrapQtAppsHook ] ++ (with python3Packages; [ poetry-core pythonRelaxDepsHook ]); buildInputs = [ ffmpeg qtbase ]; propagatedBuildInputs = with python3Packages; [ appdirs appnope atomicwrites attrs click matplotlib numpy packaging qtpy pyqt5 ruamel-yaml colorspacious ]; dontWrapQtApps = true; preFixup = '' makeWrapperArgs+=( --prefix PATH : ${lib.makeBinPath [ ffmpeg ]} "''${qtWrapperArgs[@]}" ) ''; passthru.tests.version = testers.testVersion { package = corrscope; # Tries writing to # - $HOME/.local/share/corrscope on Linux # - $HOME/Library/Application Support/corrscope on Darwin command = "env HOME=$TMPDIR ${lib.getExe corrscope} --version"; }; meta = with lib; { description = "Render wave files into oscilloscope views, featuring advanced correlation-based triggering algorithm"; longDescription = '' Corrscope renders oscilloscope views of WAV files recorded from chiptune (game music from retro sound chips). Corrscope uses "waveform correlation" to track complex waves (including SNES and Sega Genesis/FM synthesis) which jump around on other oscilloscope programs. ''; homepage = "https://github.com/corrscope/corrscope"; license = licenses.bsd2; maintainers = with maintainers; [ OPNA2608 ]; platforms = platforms.all; mainProgram = "corr"; }; } </del>

Discussion:
Package name: corrscope Latest released version: 0.9.0 <!-- Search your package here: --- Current version on the unstable channel: 0.8.1 Current version on the stable/release channel:0.8.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. --My apologies for accidentally publishing before i was done with the issue. Note for maintainers: Please tag this issue in your PR. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Change:
<ins> { lib, fetchFromGitHub, fetchzip }: rec { version = "0.103.0"; src = fetchFromGitHub { owner = "returntocorp"; repo = "semgrep"; rev = "v${version}"; sha256 = "sha256-vk6GBgLsXRLAVu60xW4WWWhhi4b1WLceTxh/TeISIUg="; }; # submodule dependencies # these are fetched so we: #   1. don't fetch the many submodules we don't need #   2. avoid fetchSubmodules since it's prone to impurities langsSrc = fetchFromGitHub { owner = "returntocorp"; repo = "semgrep-langs"; rev = "78e518dad1ce2a7c76854c944245434bd8426439"; sha256 = "sha256-t9F/OzzT6FI9G4Fxz0lUjz6TVrJlenusQNJnFpiKaQs="; }; interfacesSrc = fetchFromGitHub { owner = "returntocorp"; repo = "semgrep-interfaces"; rev = "a64a45034ea428ecbe9da6bd849a4f1cfd23cdd2"; sha256 = "sha256-eatuyA5xyfZVHCmHvZIzQK2c5eEWUEZd9LumJQtk8+s="; }; # fetch pre-built semgrep-core since the ocaml build is complex and relies on # the opam package manager at some point coreRelease = fetchzip { url = "https://github.com/returntocorp/semgrep/releases/download/v${version}/semgrep-v${version}-ubuntu-16.04.tgz"; sha256 = "sha256-L3NbiVYmgJim7H4W1cr75WOItSiHT1YIkUEefuaCYlY="; }; meta = with lib; { homepage = "https://semgrep.dev/"; downloadPage = "https://github.com/returntocorp/semgrep/"; changelog = "https://github.com/returntocorp/semgrep/blob/v${version}/CHANGELOG.md"; description = "Lightweight static analysis for many languages"; longDescription = '' Semgrep is a fast, open-source, static analysis tool for finding bugs and enforcing code standards at editor, commit, and CI time. Semgrep analyzes code locally on your computer or in your build environment: code is never uploaded. Its rules look like the code you already write; no abstract syntax trees, regex wrestling, or painful DSLs. ''; license = licenses.lgpl21Plus; maintainers = with maintainers; [ jk ambroisie ]; # limited by semgrep-core platforms = [ "x86_64-linux" ]; }; } </ins>

Discussion:
Project description Semgrep is a fast, open-source, static analysis tool for finding bugs and enforcing code standards at editor, commit, and CI time. Metadata homepage URL: source URL: license: lgpl-2.1 platforms: Linux (but possibly others as well, because it is mostly Python code)
I marked this as stale due to inactivity. &rarr;
I started attempting this package, however, I'm not at all familiar with OCaml or Dune. Would love some help getting the binary packaged.
I tried building semgrep_core from src and the first level works ok with the dune builder but pfff needed opam packgemanager and also there's copious amounts of git submodules that cause issues with purity
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
Change:
source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="${cfg.highlightStyle}" <del> export ZSH_AUTOSUGGEST_STRATEGY=("${cfg.strategy}") </del> <ins> export ZSH_AUTOSUGGEST_STRATEGY=(${concatStringsSep " " cfg.strategy}) </ins> ${optionalString (!cfg.async) "unset ZSH_AUTOSUGGEST_USE_ASYNC"} ${concatStringsSep "n" (mapAttrsToList (key: value: ''export ${key}="${value}"'') cfg.extraConfig)}

Discussion:
From Currently nixpkgs has as an . We should either have as a nix list of enums, or just a string to allow the user to specify a zsh array.
Change:
<ins> { stdenv , lib , fetchFromGitHub , pkg-config , meson , ninja , jack , alsa-lib , libopus , libsamplerate , libsndfile , readline , zita-alsa-pcmi , zita-resampler }: stdenv.mkDerivation (final: { pname = "jack-example-tools"; version = "4"; src = fetchFromGitHub { owner = "jackaudio"; repo = "jack-example-tools"; rev = "tags/${final.version}"; hash = "sha256-5jmynNxwNVLxEZ1MaqQUG6kRwipDkjhrdDCbZHtmAHk="; }; nativeBuildInputs = [ pkg-config meson ninja ]; buildInputs = [ jack alsa-lib libopus libsamplerate libsndfile readline zita-alsa-pcmi zita-resampler ]; postPatch = '' patchShebangs scripts ''; # no tests defined, but prepare for some in the future. doCheck = true; meta = with lib; { description = "Official examples and tools from the JACK project"; homepage = "https://jackaudio.org"; license = licenses.gpl2Plus; platforms = platforms.unix; broken = stdenv.isDarwin; maintainers = with maintainers; [ pennae ]; }; }) </ins>

Discussion:
jack2 as of 1.9.22 no longer ships with tools or examples, those now live in a separate repo (). it doesn't look like these have been packaged yet, removing a bunch of important utilities with no replacement. (approved the bot update) (merged & tested)
Ah semantic versioning, I knew ye well.
Change:
sha256 = "0cn44hryvz2wl7xklaslxsb3l2i3f8jkgmml0n9v2ks22j5l4r4h"; }; <ins> postPatch = '' substituteInPlace setup.py  --replace "pyyaml>=5.1,<6.0" "pyyaml>=5.1" ''; </ins> nativeBuildInputs = with python3.pkgs; [ pytest-runner ];

Discussion:
flashfocus won't build because pyyaml has a too recent version. probably since pyyaml 6.0: Steps to reproduce the behavior: -shell -p flashfocus To build without errors (flashfocus) (pyyaml)
I am having a similar bug dependent on PyYaml.
fixed by
Change:
# fix "Killed: 9  test/test_bitcoin" # https://github.com/NixOS/nixpkgs/issues/179474 <del> hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ]; </del> <ins> hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "fortify" "stackprotector" ]; </ins> checkInputs = [ python3 ];

Discussion:
the build ends up with:
We can trivially workaround this by disabling the tests for aarch64-darwin: but it would be much better to understand the underlying issue and fix that instead
ping
Fixed by
follow-up fix in PR:
I can see two PRs disabling hardening features, and , but neither have an explanation of the problem, or why turning off hardening features was the best / correct fix? Can you explain further? I see the workarounds are still present: and It would be great to know why this is necessary for Nix. These hardening features work fine for native builds, and are used in our release binaries.
This used to fix "Killed: 9" error while running the tests, but it seems this is not helping anymore. My guess is that code signing is somehow messing with the test binaries.
I think the hardening feature was broken when building with gfortran. The issue has been fixed recently.
Still broken with "Killed: 9". Looks like binaries are not signed before .
As can be seen here, the issue is intermittent and does not appear all the time: This makes it harder to debug.
Fix in
Change:
enableParallelBuilding = true; <del> crossAttrs = { propagatedBuildInputs = [ flex.crossDrv cracklib.crossDrv ]; preConfigure = preConfigure + '' $crossConfig-ar x ${flex.crossDrv}/lib/libfl.a mv libyywrap.o libyywrap-target.o ar x ${flex}/lib/libfl.a mv libyywrap.o libyywrap-host.o export LDFLAGS="$LDFLAGS $PWD/libyywrap-target.o" sed -e 's/@CC@/gcc/' -i doc/specs/Makefile.in ''; postConfigure = '' sed -e "s@ $PWD/libyywrap-target.o@ $PWD/libyywrap-host.o@" -i doc/specs/Makefile ''; }; </del> postInstall = '' mv -v $out/sbin/unix_chkpwd{,.orig} ln -sv /run/wrappers/bin/unix_chkpwd $out/sbin/unix_chkpwd

Discussion:
is an old way of getting only in cross builds. It doesn't need to exist, it make cross-specific hacks too light weight, and the code that tends to use it in practice is old and too reliant on build-time bash rather than eval-time Nix.
Oh huh, this was fixed a few months ago.
Change:
, python3 , qemu , R <del> , radare2 </del> , sng , sqlite , squashfsTools

Discussion:
Steps to reproduce the behavior: diffoscope These tests are failing Full build log at I haven't done a git bisect yet, but it built fine on and is now failing on at commit <!-- 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. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
fails on as well fwiw bisected to
Change:
acme-client = callPackage ../tools/networking/acme-client { stdenv = gccStdenv; }; <ins> adrgen = callPackage ../tools/misc/adrgen { }; </ins> adriconf = callPackage ../tools/graphics/adriconf { }; amass = callPackage ../tools/networking/amass { };

Discussion:
ADRgen A command-line tool for generating and managing Architecture Decision Records Metadata homepage URL: source URL: license: MIT platforms: unix
I've created a pull request which adds it:
Thank you
Change:
<ins> { lib, stdenv, fetchzip, autoconf, automake, pkg-config, glib }: stdenv.mkDerivation rec { pname = "preload"; version = "0.6.4"; src = fetchzip { url = "mirror://sourceforge/preload/preload-${version}.tar.gz"; hash = "sha256-vAIaSwvbUFyTl6DflFhuSaMuX9jPVBah+Nl6c/fUbAM="; }; patches = [ # Prevents creation of /var directories on build ./0001-prevent-building-to-var-directories.patch ]; nativeBuildInputs = [ autoconf automake pkg-config ]; buildInputs = [ glib ]; configureFlags = [ "--localstatedir=/var" ]; postInstall = '' make sysconfigdir=$out/etc/conf.d install ''; meta = with lib; { description = "Makes applications run faster by prefetching binaries and shared objects"; homepage = "https://sourceforge.net/projects/preload"; license = licenses.gpl2Only; platforms = lib.platforms.linux; mainProgram = "preload"; maintainers = with maintainers; [ ldprg ]; }; } </ins>

Discussion:
Project description Runs as a daemon and records statistics about usage of programs using Markov chains; files of more frequently-used programs are, during a computer's spare time, loaded into memory. Metadata homepage URL: source URL: license: gpl2 platforms: linux
Same here! Preload can really help out when using Linux on older hardware or when using programs that generally take long to start.
Change:
<ins> { lib, mkKdeDerivation, fetchurl, kcrash, qtdeclarative, qtsvg, qtwayland, qqc2-desktop-style }: mkKdeDerivation rec { pname = "marknote"; version = "1.2.1"; src = fetchurl { url = "mirror://kde/stable/marknote/marknote-${version}.tar.xz"; hash = "sha256-HzImkm8l8Rqiuyq2QezfdqJ1hxIdLZhiIGVM9xzpyaA="; }; extraBuildInputs = [ kcrash qtdeclarative qtsvg qtwayland qqc2-desktop-style ]; meta.license = [ lib.licenses.gpl2Plus ]; } </ins>

Discussion:
Project description A WYSIWYG note taking app that lets you organize your notes in notebooks. Metadata homepage URL: source URL: license: platforms: linux