jiebi/CodeConvo huggingface dataset:
Change:
fails to compile on Darwin with the following error message: git version: system: host os: multi-user?: sandbox: version: channels(root): channels(smaret):
See also

Discussion:
"-Djasper=true" "-Dx11=true" "-Dgir=${if gobjectIntrospection != null then "true" else "false"}" <del> ] ++ stdenv.lib.optional stdenv.isDarwin "-Dbuiltin_loaders=all"; </del> <ins> ]; </ins> postPatch = '' chmod +x build-aux/* # patchShebangs only applies to executables

''; postInstall = <del> # All except one utility seem to be only useful during building. </del> <ins> # meson erroneously installs loaders with .dylib extension on Darwin. # Their @rpath has to be replaced before gdk-pixbuf-query-loaders looks at them. stdenv.lib.optionalString stdenv.isDarwin '' for f in $out/${passthru.moduleDir}/*.dylib; do install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f mv $f ''${f%.dylib}.so done </ins> '' <ins> # All except one utility seem to be only useful during building. + '' </ins> moveToOutput "bin" "$dev" moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out"

$dev/bin/gdk-pixbuf-query-loaders --update-cache ''; <del> # The fixDarwinDylibNames hook doesn't patch library references or binaries. </del> <ins> # The fixDarwinDylibNames hook doesn't patch binaries. </ins> preFixup = stdenv.lib.optionalString stdenv.isDarwin '' <del> for f in $(find $out/lib -name '*.dylib'); do install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f done </del> for f in $out/bin/* $dev/bin/*; do install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f done
Change:
I want to automatically back up a Postgresql database. However, using the option I get an empty backup file. One thing I recognized is that all postgre command line tools fail when run locally as root. Any attempt to map root automatically to the postgres master user was unsuccessful so far. All utilities require the option to work properly. For example fails with , while works. The nixos test () uses and thus succeeds. Note that this also affects the submodule of . The data base initialization script fails until you add to all the commands (or run it with ). Am I overlooking something in the postgre configuration? Or do the nixos modules need a patch? If the problem can be solved by adding the right options to the postgre this should be mentioned somewhere in the module description or the manual. I any case it is not good that the backup fails quietly. Please run and paste the results. system: host os: multi-user?: sandbox: version: channels(root): PostgreSQL 9.6.8

Discussion:
postgresqlBackupCron = db: '' <del> ${config.services.postgresqlBackup.period} root ${config.services.postgresql.package}/bin/pg_dump ${db} | ${gzip}/bin/gzip -c > ${location}/${db}.gz </del> <ins> ${config.services.postgresqlBackup.period} root ${config.services.postgresql.package}/bin/pg_dump ${db} -U postgres | ${gzip}/bin/gzip -c > ${location}/${db}.gz </ins> ''; in
Change:
After , no longer compiles in . $ nix-build ~/src/nixpkgs --no-out-link -A opendkim Ping

Discussion:
opendht = callPackage ../development/libraries/opendht {}; <del> opendkim = callPackage ../development/libraries/opendkim { }; </del> <ins> opendkim = callPackage ../development/libraries/opendkim { libbsd = libbsd-freedesktop; }; </ins> opendylan = callPackage ../development/compilers/opendylan { opendylan-bootstrap = opendylan_bin;
Change:
Rofi doesn't seem to find the application for VSCode even though the .desktop file seems to be there. It shows the command when running but when running it doesn't seem it show.

Discussion:
# When the extension is already available in the default extensions set. vscodeExtensions = with vscode-extensions; [ bbenoist.Nix <del> ] </del> <ins> ] </ins> # Concise version from the vscode market place when not available in the default set. ++ vscode-utils.extensionsFromVscodeMarketplace [

} ~~~ <del> This expression should fetch </del> <ins> This expression should fetch </ins> -  the *nix* vscode extension from whatever source defined in the default nixpkgs extensions set `vscodeExtensions`. <del> -  the *code-runner* vscode extension from the marketplace using the </del> <ins> -  the *code-runner* vscode extension from the marketplace using the </ins> following url: ~~~

meta = vscode.meta; } '' mkdir -p "$out/bin" <ins> mkdir -p "$out/share/applications" mkdir -p "$out/share/pixmaps" ln -sT "${vscode}/share/applications/code.desktop" "$out/share/applications/code.desktop" ln -sT "${vscode}/share/pixmaps/code.png" "$out/share/pixmaps/code.png" </ins> ${if [] == vscodeExtensions then '' ln -sT "${vscode}/bin/${wrappedExeName}" "$out/bin/${exeName}"
Change:
Download of current version (29.0.0.171) fails with 404 NotFound.

Discussion:
flash = stdenv.mkDerivation rec { name = "flashplayer-ppapi-${version}"; <del> version = "29.0.0.171"; </del> <ins> version = "30.0.0.113"; </ins> src = fetchzip { url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/" + "${version}/flash_player_ppapi_linux.x86_64.tar.gz"; <del> sha256 = "1j7w81wjfrpkir11m719jdahnbnw4sph448hs90hvai6rsn3imib"; </del> <ins> sha256 = "092fjp5znnc8mz6jh4nm9kswkhfr31v2l7kasr97f32rw9fksi9g"; </ins> stripRoot = false; };

in stdenv.mkDerivation rec { name = "flashplayer-${version}"; <del> version = "29.0.0.171"; </del> <ins> version = "30.0.0.113"; </ins> src = fetchurl { url = if debug then <del> "https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_npapi_linux_debug.${arch}.tar.gz" </del> <ins> "https://fpdownload.macromedia.com/pub/flashplayer/updaters/30/flash_player_npapi_linux_debug.${arch}.tar.gz" </ins> else "https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz"; sha256 = if debug then if arch == "x86_64" then <del> "140galarr38lmfnd2chl2msvxizx96kdi000gbikir9xnd7bx1hc" </del> <ins> "1s4i9lmlydm8b373pi8jw5xf3fhcq75fgqyp7xd7aava8hay7x0j" </ins> else <del> "0wzmf12xrmyq8vqqyii932yx4nadrvkn2j9s86xcw67lb40xj5ig" </del> <ins> "1jhzvrn6f9zcynx3zq0vxidaps946aymm7l16c42p1f7q9s8msb4" </ins> else if arch == "x86_64" then <del> "17c57xgs0w71p4xsjw5an7dg484769wanq3kx86ppaqw8vqhnqc3" </del> <ins> "05dv4cn9i3zz5fmy16dxs9m1rpvlaih4gzsrf0q1zfjn46jbyw2l" </ins> else <del> "06pjbc9050fgi2njzf9vm6py7c22i6chw852rbm8flx3cmplw23b"; </del> <ins> "0pn159rzx6nb6lmkghccl0ynnc9ihfbr4rvfp14gm4n6jzbl6vg8"; </ins> }; nativeBuildInputs = [ unzip ];

in stdenv.mkDerivation rec { name = "flashplayer-standalone-${version}"; <del> version = "29.0.0.171"; </del> <ins> version = "30.0.0.113"; </ins> src = fetchurl { url = if debug then <del> "https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_sa_linux_debug.x86_64.tar.gz" </del> <ins> "https://fpdownload.macromedia.com/pub/flashplayer/updaters/30/flash_player_sa_linux_debug.x86_64.tar.gz" </ins> else <del> "https://fpdownload.macromedia.com/pub/flashplayer/updaters/29/flash_player_sa_linux.x86_64.tar.gz"; </del> <ins> "https://fpdownload.macromedia.com/pub/flashplayer/updaters/30/flash_player_sa_linux.x86_64.tar.gz"; </ins> sha256 = if debug then <del> "1q2lmsb9g2cxbwxb712javmadk6vmcgkihd244394nr10isdzw67" </del> <ins> "0vdzmk9l04jq9mfkdddsqrga7ndikq910indl7wa3vndghrahmn0" </ins> else <del> "0qj5qdc9k53pgqxb5jpcbgfsgavmlyzp0cpz468c4zacsvxgq502"; </del> <ins> "10rm48i3h6x1dygjivv2mvd0jq6n40j5c2ik090s7i0ily5z97m8"; </ins> }; nativeBuildInputs = [ unzip ];
Change:
fails to build on Darwin with the following error message: system: host os: multi-user?: sandbox: version: channels(root): channels(smaret): nixpkgs:
From ispell file: So the should not add to on Darwin.

Discussion:
]; postPatch = '' cat >> local.h <<EOF <del> #define USG </del> <ins> ${stdenv.lib.optionalString (!stdenv.isDarwin) "#define USG"} </ins> #define TERMLIB "-lncurses" #define LANGUAGES "{american,MASTERDICTS=american.med,HASHFILES=americanmed.hash}" #define MASTERHASH "americanmed.hash"
Change:
Trying to enter a using fails for the ghcjs-ng derivations (8.2 and 8.4) with errors like the following: In this case I tried but the issue seems to appear for all packages I tried (but it doesn’t happen if the list of packages is empty). Run the following command system: host os: multi-user?: sandbox: version: channels(root): channels(moritz): nixpkgs:
/cc
I believe this is happening because packages like and are being installed in and is being installed in and the is only configuring things to look in one of those locations. In my ignorant opinion I think the issue is that the core packages are also supposed to be in not
Can you confirm that fixes this for you?
I can confirm that this fixes the error but still doesn’t behave correctly: If I run I don’t see and if I try to compile a file that imports in that shell using I get an error about missing modules.
I believe the reason you see that is that this patch gets to see the and libraries that are in but now ghcjs does not see the library that is in . I can not explain why some libraries are in and others are in . Under ghc and older ghcjs I believe all the libraries were in one single location.

Discussion:
ghcCommand'    = if isGhcjs then "ghcjs" else "ghc"; ghcCommand = "${ghc.targetPrefix}${ghcCommand'}"; ghcCommandCaps= lib.toUpper ghcCommand'; <del> libDir        = if isHaLVM then "$out/lib/HaLVM-${ghc.version}" else "$out/lib/${ghcCommand}-${ghc.version}"; </del> <ins> libDir        = if isHaLVM then "$out/lib/HaLVM-${ghc.version}" else if isGhcjs then "$out/libexec" else "$out/lib/${ghcCommand}-${ghc.version}"; </ins> docDir        = "$out/share/doc/ghc/html"; packageCfgDir = "${libDir}/package.conf.d"; paths         = lib.filter (x: x ? isHaskellLibrary) (lib.closePropagation packages);
Change:
only supports signed integers. Using "saved" inplace of the integer is supported by grub to boot the previously booted OS Set in your nixos config Output of

Discussion:
}; default = mkOption { <del> default = 0; type = types.int; </del> <ins> default = "0"; type = types.either types.int types.str; apply = toString; </ins> description = '' Index of the default menu item to be booted. '';

my $configurationLimit = int(get("configurationLimit")); my $copyKernels = get("copyKernels") eq "true"; my $timeout = int(get("timeout")); <del> my $defaultEntry = int(get("default")); </del> <ins> my $defaultEntry = get("default"); </ins> my $fsIdentifier = get("fsIdentifier"); my $grubEfi = get("grubEfi"); my $grubTargetEfi = get("grubTargetEfi");
Change:
See:
I've been using cryptsetup with an SSD and without kernel crypto to run my entire NixOS and didn't noted any performance issues, but I agree that my patch was a temporary workaround, so enabling the crypto module would be a better solution.
The option also breaks the feature of that can be used when installing nixos to reason about the speed of disk encryption
The NixOS test works with and the kernel userapace crypto API enabled in on at least 19.03. was updated to 2.0.6 in the meantime, maybe the bug was fixed? Haven't noticed anything in release notes. This API shouldn't in fact be need for LUKS, only for tcrypt and the benchmark. Did you also run the test or did you just notice that on your local machine? Do you have any non-standard config concerning the initrd?
Hmm, even with the test succeeds. We need more information.
I haven't ran any tests, I just tested it in my work laptop and in a VM used to isolate the issue. I used a non-standard initrd config only for debugging, but after finding the problem I used the standard one. The only strange thing I did was to have a LUKS2 encrypted volume, which isn't very common (or at least it wasn't at the moment I experienced the issue). In a few days I will try to boot my system both with and without kernel crypto to check whether it is necessary or not.
I can confirm that I still have problems booting my system when kernel crypto is enabled. I put this in my , in an updated unstable NixOS: With this configuration, my system boots. If I uncomment the line, it doesn't because it fails to unencrypt my root partition. I'm using LVM inside a LUKS2 partition.
Here is the result of using when mounting my LUKS2 volume with kernel crypto enabled. The last image is the most important. Sorry for pasting screenshots, I didn't have a flash drive to copy the logs. ! ! ! ! !
Thank you very much for your detailed analysis. :+1: Oh, LUKS2! Seems the userspace API is indeed needed for LUKS2 but not LUKS1. I'll try to adapt the test and fix this issue. There are probably just some modules missing.

Discussion:
default = [ "aes" "aes_generic" "blowfish" "twofish" "serpent" "cbc" "xts" "lrw" "sha1" "sha256" "sha512" <ins> "af_alg" "algif_skcipher" </ins> (if pkgs.stdenv.hostPlatform.system == "x86_64-linux" then "aes_x86_64" else "aes_i586") ];

}; }; <del> makeLuksRootTest = name: luksFormatOpts: makeInstallerTest "luksroot-format2" </del> <ins> makeLuksRootTest = name: luksFormatOpts: makeInstallerTest name </ins> { createPartitions = '' $machine->succeed( "flock /dev/vda parted --script /dev/vda -- mklabel msdos"

NIX_LDFLAGS = "-lgcc_s"; configureFlags = [ <del> "--disable-kernel_crypto" </del> "--enable-cryptsetup-reencrypt" "--with-crypto_backend=openssl" ] ++ stdenv.lib.optional enablePython "--enable-python";
Change:
When building chromium with args like this and the gn args aren't known/accepted by chromium (like the above one actually is that is still given incorrectly in 18.03), it will print: but continue to build anyway, which can be super surprising when your build doesn't do what you expect. We should catch that when building. Unfortunately doesn't seem to have a feature to warn. But we can run to see the in stdout and grep for it: I have confirmed that only seems to work that way when giving a build target, like . CC
Suggestion: We switch to
PR
pull request was merged.

Discussion:
# package customization , enableNaCl ? false <del> , enableHotwording ? false </del> , enableWideVine ? false , gnomeSupport ? false, gnome ? null , gnomeKeyringSupport ? false, libgnome-keyring3 ? null

proprietary_codecs = false; use_sysroot = false; use_gnome_keyring = gnomeKeyringSupport; <del> ## FIXME remove use_gconf after chromium 65 has become stable use_gconf = gnomeSupport; </del> use_gio = gnomeSupport; enable_nacl = enableNaCl; <del> enable_hotwording = enableHotwording; </del> enable_widevine = enableWideVine; use_cups = cupsSupport;

libExecPath="${libExecPath}" python build/linux/unbundle/replace_gn_files.py  --system-libraries ${toString gnSystemLibraries} <del> gn gen --args=${escapeShellArg gnFlags} out/Release </del> <ins> gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt # Fail if `gn gen` contains a WARNING. grep -o WARNING gn-gen-outputs.txt && echo "Found gn WARNING, exiting nix build" && exit 1 </ins> runHook postConfigure '';

# package customization , channel ? "stable" , enableNaCl ? false <del> , enableHotwording ? false </del> , gnomeSupport ? false, gnome ? null , gnomeKeyringSupport ? false , proprietaryCodecs ? true

upstream-info = (callPackage ./update.nix {}).getChannel channel; mkChromiumDerivation = callPackage ./common.nix { <del> inherit enableNaCl enableHotwording gnomeSupport gnome </del> <ins> inherit enableNaCl gnomeSupport gnome </ins> gnomeKeyringSupport proprietaryCodecs cupsSupport pulseSupport enableWideVine; };
Change:
nixpkgs's relies on instead of using . Looks like 's configure script tries a bunch of locations, finds a file at and then hardwires that in preference to whatever logic involving . If I rebuild locally without letting it see , the resulting binary behaves as expected. I suspect OSX started actually shipping that file at some point and the behavior of our builds silently changed, but I don't really know how OSX works. suggests we should pass to the configure script.. system: host os: multi-user?: sandbox: version: channels(root): nixpkgs:
This fixed for me. Thanks a lot
Great! We got some sporadic reports from people with cacert issues and from some debugging I knew the variables where getting ignored, but I didn't realise why.

Discussion:
''; configureFlags = [ <ins> # Disable default CA bundle, use NIX_SSL_CERT_FILE or fallback # to nss-cacert from the default profile. "--without-ca-bundle" "--without-ca-path" </ins> "--with-ca-fallback" "--disable-manual" ( if sslSupport then "--with-ssl=${openssl.dev}" else "--without-ssl" )
Change:
Currently NixOS has some special support for creating a RAM FS for . Unfortunately even though it lives in NixOS and NixOS includes a special "keys" group that is supposed to have access to that folder, support for the feature is sort of neutered without NixOps, which then applies this logic: To actually make the folder usable to members of the "keys" group. It seems like that logic should live on the NixOS side for those of us who want a reasonable place in RAM to drop certain keys, but don't use NixOps. cc since I don't really understand the NixOS/NixOps intricacies.
Wow, stumbled over that just now. Currently is owned by : This currently breaks some assumptions in the NixOS module system when not deployed with NixOps (like when deploying with morph, or autoscaling VMs at cloud providers setting up secrets in ). It'll also become more and more of a problem if we run less services as root, and assume users in the group have access to some secrets. I assume we might want to fix permission of the folder by adding a rule into nixpkgs - turning 2 of the three lines in nixops into a no-op. cc
Totally agree. :+1: to add a tmpfiles rule and remove that thing from nixops.
I'd still like to find out what makes special, and if we can remove things there without breaking anything ;-)
IIRC are the things that are mounted in the . i.e. they're used to generate the in and for some arbitrary reason also which seems the odd one out ;) Perhaps there is some usecase of loading secrets in initrd? Systemd's initrd has a similar procedure called
Yes, enabling sshd in initrd, unlock the root volume by having nixops send over the keys.
So, I did some digging. While assembling stage 1 and 2 scripts, the generated already contains the parameter. However, it seems like the kernel only honors this option for , not . I opened which removes this and uses tmpfiles to do the chgrp when necessary.

Discussion:
in listToAttrs (map formatDevice (filter (fs: fs.autoFormat) fileSystems)); <ins> systemd.tmpfiles.rules = [ "Z /run/keys 0750 root ${toString config.ids.gids.keys}" ]; </ins> # Sync mount options with systemd's src/core/mount-setup.c: mount_table. boot.specialFileSystems = { "/proc" = { fsType = "proc"; options = [ "nosuid" "noexec" "nodev" ]; };

"/dev/shm" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=1777" "size=${config.boot.devShmSize}" ]; }; "/dev/pts" = { fsType = "devpts"; options = [ "nosuid" "noexec" "mode=620" "ptmxmode=0666" "gid=${toString config.ids.gids.tty}" ]; }; <del> # To hold secrets that shouldn't be written to disk (generally used for NixOps, harmless elsewhere) "/run/keys" = { fsType = "ramfs"; options = [ "nosuid" "nodev" "mode=750" "gid=${toString config.ids.gids.keys}" ]; }; </del> <ins> # To hold secrets that shouldn't be written to disk "/run/keys" = { fsType = "ramfs"; options = [ "nosuid" "nodev" "mode=750" ]; }; </ins> } // optionalAttrs (!config.boot.isContainer) { # systemd-nspawn populates /sys by itself, and remounting it causes all # kinds of weird issues (most noticeably, waiting for host disk device
Change:
Errors with: This error has already been fixed in by (See also MultiMC/MultiMC5.) MultiMC successfully builds if you set the version to develop: Attempt to build MultiMC. Please run and paste the results. system: host os: multi-user?: sandbox: version: channels(root): nixpkgs:
Would also be fixed by (Edit: only the CMake errors, include patches are probably still necessary)
Probably best to just patch the release. I'll see if I can do anything about this. I need to fix the desktop file anyway.
Patching doesn't work, and calling the commit directly results in this. Not sure what to do. If someone does fix this, please include in to fix the desktop file.
I managed to fix it by using the unstable version, but I'm not sure if that's the right approach. I can make a pull request with that if you'd like.
It should be fine, just note that it's a temporary workaround until MultiMC increments a release, since IIRC stable packages aren't generally supposed to be using non-stable repos.

Discussion:
libpath = with xorg; stdenv.lib.makeLibraryPath [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio ]; in stdenv.mkDerivation rec { name = "multimc-${version}"; <del> version = "0.6.2"; </del> <ins> # Current release as of 2018-06-23 (v0.6.2) breaks under Qt 5.11—see # https://github.com/NixOS/nixpkgs/issues/42387 version = "unstable-2018-06-04"; </ins> src = fetchFromGitHub { owner = "MultiMC"; repo = "MultiMC5"; <del> rev = version; sha256 = "07jrr6si8nzfqwf073zhgw47y6snib23ad3imh1ik1nn5r7wqy3c"; </del> <ins> rev = "19bb50b872da2702b8e0b65f3f7b6b54c1c5b071"; sha256 = "01frkk2klm1axr7ywnj23ikxn5pkgj8q6w8vqbslsvmh8bni8rk0"; </ins> fetchSubmodules = true; }; nativeBuildInputs = [ cmake file makeWrapper ];

cp ../application/resources/multimc/scalable/multimc.svg $out/share/pixmaps cp ../application/package/linux/multimc.desktop $out/share/applications wrapProgram $out/bin/MultiMC --add-flags "-d $HOME/.multimc/" --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} --prefix PATH : ${jdk}/bin/ <ins> # As of https://github.com/MultiMC/MultiMC5/blob/7ea1d68244fdae1e7672fb84199ee71e168b31ca/application/package/linux/multimc.desktop, # the desktop icon refers to `multimc`, but the executable actually gets # installed as `MultiMC`. Create compatibility symlink to fix the desktop # icon. ln -sf $out/bin/MultiMC $out/bin/multimc </ins> ''; meta = with stdenv.lib; {
Change:
Commit updated aniso from 3.0.0 to 3.0.2. flask-restful 0.3.6 has a broken test when using . Build flask-restful after commit test fails. Please run and paste the results. system: host os: multi-user?: sandbox: version: channels(root): nixpkgs:
cc
Disabling the failing check with: works, but this depends on injecting exactly on the line above the test declaration, and will fail in the future if line number changes. Alternatively, we can remove the entire file or update flask-restful to use a version with commit , which fixes this bug (no version with this commit is avaliable on pypy).
Use substituteInPlace to rename the test, removing test from the name. That way it won't be recognized as a test.
Lol, perfect, i had no idea. I'm testing with nox-review, will PR soon.

Discussion:
patchPhase = if isPy3k then '' rm tests/test_crypto.py tests/test_paging.py '' else null; <ins> # Disable test broken with aniso > 3.0.0, can be removed when updating to a flask-restful version with commit 54979f0 preCheck = '' substituteInPlace "./tests/test_inputs.py" --replace "test_bad_isointervals" "disabled_bad_isointervals" ''; </ins> buildInputs = [ nose mock blinker ]; propagatedBuildInputs = [ flask six pytz aniso8601 pycrypto ]; PYTHON_EGG_CACHE = "`pwd`/.egg-cache";