jiebi/CodeConvo huggingface dataset:
Code change:
Describe the bug Building or fails with: To Reproduce Steps to reproduce the behavior: until approximately 70% (sometimes a few percent earlier) Additional context Compilation log for with only : Compilation log for with only : I had this problem with Sierra with XCode 9.2 also. I just upgraded to Mojave 10.14.6 and XCode 11.13.1. Notify maintainers <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Metadata system: host os: multi-user?: sandbox: version: channels(peterhil): channels(root): nixpkgs: Maintainer information:

Related discussion:
text: <ins> diff --git a/lib/sanitizer_common/sanitizer_mac.cpp b/lib/sanitizer_common/sanitizer_mac.cpp --- a/lib/sanitizer_common/sanitizer_mac.cpp +++ b/lib/sanitizer_common/sanitizer_mac.cpp @@ -613,9 +613,15 @@ HandleSignalMode GetHandleSignalMode(int signum) { // Offset example: // XNU 17 -- macOS 10.13 -- iOS 11 -- tvOS 11 -- watchOS 4 constexpr u16 GetOSMajorKernelOffset() { -  if (TARGET_OS_OSX) return 4; -  if (TARGET_OS_IOS || TARGET_OS_TV) return 6; -  if (TARGET_OS_WATCH) return 13; +#if TARGET_OS_OSX +  return 4; +#endif +#if TARGET_OS_IOS || TARGET_OS_TV +  return 6; +#endif +#if TARGET_OS_WATCH +  return 13; +#endif } using VersStr = char[64]; @@ -627,13 +633,13 @@ static uptr ApproximateOSVersionViaKernelVersion(VersStr vers) { u16 os_major = kernel_major - offset; const char *format = "%d.0"; -  if (TARGET_OS_OSX) { -    if (os_major >= 16) {  // macOS 11+ -      os_major -= 5; -    } else {  // macOS 10.15 and below -      format = "10.%d"; -    } +#if TARGET_OS_OSX +  if (os_major >= 16) {  // macOS 11+ +    os_major -= 5; +  } else {  // macOS 10.15 and below +    format = "10.%d"; } +#endif return internal_snprintf(vers, sizeof(VersStr), format, os_major); } @@ -681,15 +687,14 @@ void ParseVersion(const char *vers, u16 *major, u16 *minor) { // Aligned versions example: // macOS 10.15 -- iOS 13 -- tvOS 13 -- watchOS 6 static void MapToMacos(u16 *major, u16 *minor) { -  if (TARGET_OS_OSX) -    return; - -  if (TARGET_OS_IOS || TARGET_OS_TV) +#if !TARGET_OS_OSX +#if TARGET_OS_IOS || TARGET_OS_TV *major += 2; -  else if (TARGET_OS_WATCH) +#elif TARGET_OS_WATCH *major += 9; -  else +#else UNREACHABLE("unsupported platform"); +#endif if (*major >= 16) {  // macOS 11+ *major -= 5; @@ -697,6 +702,7 @@ static void MapToMacos(u16 *major, u16 *minor) { *minor = *major; *major = 10; } +#endif } static MacosVersion GetMacosAlignedVersionInternal() { </ins>
Code change:
Describe the bug Building or fails with: To Reproduce Steps to reproduce the behavior: until approximately 70% (sometimes a few percent earlier) Additional context Compilation log for with only : Compilation log for with only : I had this problem with Sierra with XCode 9.2 also. I just upgraded to Mojave 10.14.6 and XCode 11.13.1. Notify maintainers <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Metadata system: host os: multi-user?: sandbox: version: channels(peterhil): channels(root): nixpkgs: Maintainer information:

Related discussion:
text: # extra `/`. ./normalize-var.patch ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch <ins> # Prevent a compilation error on darwin ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin-targetconditionals.patch </ins> ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch; # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
Code change:
<!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on github to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the the current version of the package --- <!-- 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! --- name: nixos.poppler <!-- The current version can be found easily with the same process than above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 21.05.0 desired version: 21.06.01 <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR. The current version of is causing evince to crash frequently:

Related discussion:
text: <del> { stdenv, lib, fetchurl, cmake, ninja, pkg-config, libiconv, libintl , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg, fetchpatch </del> <ins> { stdenv , lib , fetchurl , fetchpatch , cairo , cmake , curl , fontconfig , freetype , lcms , libiconv , libintl , libjpeg , ninja , openjpeg , pkg-config , zlib </ins> , withData ? true, poppler_data , qt5Support ? false, qtbase ? null , introspectionSupport ? false, gobject-introspection ? null
Code change:
<!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on github to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the the current version of the package --- <!-- 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! --- name: nixos.poppler <!-- The current version can be found easily with the same process than above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 21.05.0 desired version: 21.06.01 <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR. The current version of is causing evince to crash frequently:

Related discussion:
text: mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}"; in stdenv.mkDerivation rec { <del> name = "poppler-${suffix}-${version}"; </del> <ins> pname = "poppler-${suffix}"; inherit version; </ins> src = fetchurl { <del> url = "${meta.homepage}/poppler-${version}.tar.xz"; </del> <ins> url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz"; </ins> sha256 = "1afdrxxkaivvviazxkg5blsf2x24sjkfj92ib0d3q5pm8dihjrhj"; }; outputs = [ "out" "dev" ]; patches = [ <ins> # Fix internal crash: a negative number that should not be </ins> (fetchpatch { name = "CVE-2018-13988"; url = "https://cgit.freedesktop.org/poppler/poppler/patch/?id=004e3c10df0abda214f0c293f9e269fdd979c5ee"; sha256 = "1l8713s57xc6g81bldw934rsfm140fqc7ggd50ha5mxdl1b3app2"; }) <ins> # Fix internal crash: a negative number that should not be (not the above!) </ins> ./0.61-CVE-2019-9959.patch ]; <del> buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data; </del> <ins> nativeBuildInputs = [ cmake ninja pkg-config ]; buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data; </ins> # TODO: reduce propagation to necessary libs propagatedBuildInputs = with lib;
Code change:
<!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on github to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the the current version of the package --- <!-- 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! --- name: nixos.poppler <!-- The current version can be found easily with the same process than above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 21.05.0 desired version: 21.06.01 <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR. The current version of is causing evince to crash frequently:

Related discussion:
text: ++ optional qt5Support qtbase ++ optional introspectionSupport gobject-introspection; <del> nativeBuildInputs = [ cmake ninja pkg-config ]; </del> # Not sure when and how to pass it.  It seems an upstream bug anyway. CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
Code change:
<!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on github to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the the current version of the package --- <!-- 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! --- name: nixos.poppler <!-- The current version can be found easily with the same process than above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 21.05.0 desired version: 21.06.01 <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR. The current version of is causing evince to crash frequently:

Related discussion:
text: meta = with lib; { homepage = "https://poppler.freedesktop.org/"; description = "A PDF rendering library"; longDescription = '' Poppler is a PDF rendering library based on the xpdf-3.0 code base. ''; <del> license = licenses.gpl2; </del> <ins> license = licenses.gpl2Plus; </ins> platforms = platforms.all; maintainers = with maintainers; [ ttuegel ]; };
Code change:
<!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on github to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the the current version of the package --- <!-- 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! --- name: nixos.poppler <!-- The current version can be found easily with the same process than above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 21.05.0 desired version: 21.06.01 <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR. The current version of is causing evince to crash frequently:

Related discussion:
text: <del> { stdenv , lib </del> <ins> { lib , stdenv </ins> , fetchurl , fetchpatch <ins> , cairo </ins> , cmake <del> , ninja , pkg-config , libiconv , libintl , zlib </del> <ins> , pcre , boost , cups-filters </ins> , curl <del> , cairo , freetype </del> , fontconfig <ins> , freetype , inkscape </ins> , lcms <ins> , libiconv , libintl </ins> , libjpeg <ins> , ninja </ins> , openjpeg <ins> , pkg-config , scribusUnstable , texlive , zlib </ins> , withData ? true, poppler_data , qt5Support ? false, qtbase ? null , introspectionSupport ? false, gobject-introspection ? null , utils ? false, nss ? null , minimal ? false , suffix ? "glib" <del> , inkscape , cups-filters , texlive , scribusUnstable </del> }: let mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}"; in stdenv.mkDerivation rec { <del> name = "poppler-${suffix}-${version}"; version = "21.05.0"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too! </del> <ins> pname = "poppler-${suffix}"; version = "21.06.1"; # beware: updates often break cups-filters build, check texlive and scribusUnstable too! </ins> outputs = [ "out" "dev" ]; src = fetchurl { <del> url = "${meta.homepage}/poppler-${version}.tar.xz"; sha256 = "sha256-2v1Te2gPrRIVvED8U9HzjoRJ18GFvGDVqJ4dJskNvYw="; </del> <ins> url = "https://poppler.freedesktop.org/poppler-${version}.tar.xz"; sha256 = "sha256-hrCeWgLeQAgaORbvhxHFEo6vSx/FnV+H0Oxm8E9ZXbQ="; </ins> }; nativeBuildInputs = [
Code change:
<!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on github to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the the current version of the package --- <!-- 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! --- name: nixos.poppler <!-- The current version can be found easily with the same process than above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 21.05.0 desired version: 21.06.01 <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR. The current version of is causing evince to crash frequently:

Related discussion:
text: ]; buildInputs = [ <ins> boost pcre </ins> libiconv libintl ] ++ lib.optional withData [
Code change:
<!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on github to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the the current version of the package --- <!-- 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! --- name: nixos.poppler <!-- The current version can be found easily with the same process than above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 21.05.0 desired version: 21.06.01 <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR. The current version of is causing evince to crash frequently:

Related discussion:
text: meta = with lib; { homepage = "https://poppler.freedesktop.org/"; description = "A PDF rendering library"; longDescription = '' <del> Poppler is a PDF rendering library based on the xpdf-3.0 code base. In addition it provides a number of tools that can be installed separately. </del> <ins> Poppler is a PDF rendering library based on the xpdf-3.0 code base. In addition it provides a number of tools that can be installed separately. </ins> ''; license = licenses.gpl2Plus; platforms = platforms.all; maintainers = with maintainers; [ ttuegel ] ++ teams.freedesktop.members;
Code change:
<!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on github to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the the current version of the package --- <!-- 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! --- name: nixos.poppler <!-- The current version can be found easily with the same process than above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 21.05.0 desired version: 21.06.01 <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR. The current version of is causing evince to crash frequently:

Related discussion:
text: suffix = "min"; }; <del> poppler_utils = poppler.override { suffix = "utils"; utils = true; }; </del> <ins> poppler_utils = poppler.override { suffix = "utils"; utils = true; }; </ins> popt = callPackage ../development/libraries/popt { };
Code change:
Currently, we first build a derivation containing the unpacked Chromium source code, which is then passed to the actual Chrome build. This is very inefficient: the unpacked source tree is 1.8 GB and ~85K files. Copying these between build machines can take a very long time: for instance, the is currently showing two builds (in the copying state) which have already taken 22 hours. So it would be better to do whatever does in the derivation.
didn't we do this because IO was too slow for unpacking in NixOS tests?
I don't think the tests need the source code.
Is there another way to avoid copying source derivations between machines? I think the source derivation is good to keep, I want to have QtWebEngine which uses chromium, would be nice to use chromium source and all patches that is used. Would this still be possible (in a easy way) if chromium-source is removed?
The derivation could create a (compressed) tarball. That would help a lot since then Hydra won't have to do a huge amount of random access I/O reading/writing lots of small files.
The reason I've done it that way was to separate bundled dependencies and the sandbox from the main source, so for example if we want to build just the sandbox, we don't need to extract the full Chromium source. But I'll look into it so we can find a better solution, right now it's not working as I had in mind back then, because the source is copied into the temporary build directory, but a better solution would be to not copy anything at all.
I don't think you can re-use for this, as Qt uses a rather heavily modified version of the source.
Great point. I will add too that even if it was vanilla, chrome source moves far too quickly to be a dependency of a qt component. QtWebEngine is; I suspect using their own fork of the blink fork of webcore (webkit.) (webengine) If we look at the chromium release schedule they are trying to hit a release almost every month. If someone is quick (Before 19th of this month) they could apply for a gsoc to possibly get this chromium work done (worth a try?)
With S3 and decentralized hydra, we should really combine the source back. Currently this is blocking a channel update:
Working on this right now.
I've also the relevant changes to .
There's reference to the old path of the file on line 33 of this file:

Related discussion:
text: {stdenv, fetchurl}: stdenv.mkDerivation rec { <del> name = "ncompress-4.2.4.3"; </del> <ins> name = "ncompress-4.2.4.4"; </ins> builder = ./builder.sh;
Code change:
Currently, we first build a derivation containing the unpacked Chromium source code, which is then passed to the actual Chrome build. This is very inefficient: the unpacked source tree is 1.8 GB and ~85K files. Copying these between build machines can take a very long time: for instance, the is currently showing two builds (in the copying state) which have already taken 22 hours. So it would be better to do whatever does in the derivation.
didn't we do this because IO was too slow for unpacking in NixOS tests?
I don't think the tests need the source code.
Is there another way to avoid copying source derivations between machines? I think the source derivation is good to keep, I want to have QtWebEngine which uses chromium, would be nice to use chromium source and all patches that is used. Would this still be possible (in a easy way) if chromium-source is removed?
The derivation could create a (compressed) tarball. That would help a lot since then Hydra won't have to do a huge amount of random access I/O reading/writing lots of small files.
The reason I've done it that way was to separate bundled dependencies and the sandbox from the main source, so for example if we want to build just the sandbox, we don't need to extract the full Chromium source. But I'll look into it so we can find a better solution, right now it's not working as I had in mind back then, because the source is copied into the temporary build directory, but a better solution would be to not copy anything at all.
I don't think you can re-use for this, as Qt uses a rather heavily modified version of the source.
Great point. I will add too that even if it was vanilla, chrome source moves far too quickly to be a dependency of a qt component. QtWebEngine is; I suspect using their own fork of the blink fork of webcore (webkit.) (webengine) If we look at the chromium release schedule they are trying to hit a release almost every month. If someone is quick (Before 19th of this month) they could apply for a gsoc to possibly get this chromium work done (worth a try?)
With S3 and decentralized hydra, we should really combine the source back. Currently this is blocking a channel update:
Working on this right now.
I've also the relevant changes to .
There's reference to the old path of the file on line 33 of this file:

Related discussion:
text: src = fetchurl { url = "mirror://sourceforge/project/ncompress/${name}.tar.gz"; <del> sha256 = "1y44ixc1w2vfvj1lm4dkcljlwv882ynrvm5i6l0lg1gf883j246l"; </del> <ins> sha256 = "0yjiwv1hwb253x3m6r1dq2k7m5c9nz0ib2j7fnm3hark7y6s42xh"; </ins> }; meta = {
Code change:
Project description The driver supports Realtek 8852AE, which is a wifi card for some new laptops. Without the driver, the wireless interface would be missing for those computers. (My new Lenovo laptop uses this card and I cannot connect to WiFI currently... I'm not entirely sure how to package this) Metadata homepage URL: source URL: license: GPA 2.0 platforms: Linux

Related discussion:
text: <ins> { stdenvNoCC, lib, linuxPackages }: stdenvNoCC.mkDerivation { pname = "rtw89-firmware"; inherit (linuxPackages.rtw89) version src; dontBuild = true; installPhase = '' runHook preInstall mkdir -p $out/lib/firmware/rtw89 cp *.bin $out/lib/firmware/rtw89 runHook postInstall ''; meta = with lib; { description = "Driver for Realtek 8852AE, an 802.11ax device"; homepage = "https://github.com/lwfinger/rtw89"; license = licenses.unfreeRedistributableFirmware; maintainers = with maintainers; [ tvorog ]; platforms = platforms.linux; }; } </ins>
Code change:
Project description The driver supports Realtek 8852AE, which is a wifi card for some new laptops. Without the driver, the wireless interface would be missing for those computers. (My new Lenovo laptop uses this card and I cannot connect to WiFI currently... I'm not entirely sure how to package this) Metadata homepage URL: source URL: license: GPA 2.0 platforms: Linux

Related discussion:
text: <ins> { stdenv, lib, fetchFromGitHub, kernel }: let modDestDir = "$out/lib/modules/${kernel.modDirVersion}/kernel/drivers/net/wireless/realtek/rtw89"; in stdenv.mkDerivation { pname = "rtw89"; version = "unstable-2021-07-03"; src = fetchFromGitHub { owner = "lwfinger"; repo = "rtw89"; rev = "cebafc6dc839e66c725b92c0fabf131bc908f607"; sha256 = "1vw67a423gajpzd5d51bxnja1qpppx9x5ii2vcfkj6cbnqwr83af"; }; makeFlags = [ "KSRC=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; enableParallelBuilding = true; installPhase = '' runHook preInstall mkdir -p ${modDestDir} find . -name '*.ko' -exec cp --parents {} ${modDestDir} ; find ${modDestDir} -name '*.ko' -exec xz -f {} ; runHook postInstall ''; meta = with lib; { description = " Driver for Realtek 8852AE, an 802.11ax device"; homepage = "https://github.com/lwfinger/rtw89"; license = with licenses; [ gpl2Only ]; maintainers = with maintainers; [ tvorog ]; platforms = platforms.linux; broken = kernel.kernelOlder "5.4"; priority = -1; }; } </ins>