+1
-1
doc/stdenv/multiple-output.chapter.md
+1
-1
doc/stdenv/multiple-output.chapter.md
···A commonly adopted convention in `nixpkgs` is that executables provided by the package are contained within its first output. This convention allows the dependent packages to reference the executables provided by packages in a uniform manner. For instance, provided with the knowledge that the `perl` package contains a `perl` executable it can be referenced as `${pkgs.perl}/bin/perl` within a Nix derivation that needs to execute a Perl script.-The `glibc` package is a deliberate single exception to the “binaries first” convention. The `glibc` has `libs` as its first output allowing the libraries provided by `glibc` to be referenced directly (e.g. `${glibc}/lib/ld-linux-x86-64.so.2`). The executables provided by `glibc` can be accessed via its `bin` attribute (e.g. `${glibc.bin}/bin/ldd`).The reason for why `glibc` deviates from the convention is because referencing a library provided by `glibc` is a very common operation among Nix packages. For instance, third-party executables packaged by Nix are typically patched and relinked with the relevant version of `glibc` libraries from Nix packages (please see the documentation on [patchelf](https://github.com/NixOS/patchelf) for more details).
···A commonly adopted convention in `nixpkgs` is that executables provided by the package are contained within its first output. This convention allows the dependent packages to reference the executables provided by packages in a uniform manner. For instance, provided with the knowledge that the `perl` package contains a `perl` executable it can be referenced as `${pkgs.perl}/bin/perl` within a Nix derivation that needs to execute a Perl script.+The `glibc` package is a deliberate single exception to the “binaries first” convention. The `glibc` has `libs` as its first output allowing the libraries provided by `glibc` to be referenced directly (e.g. `${glibc}/lib/ld-linux-x86-64.so.2`). The executables provided by `glibc` can be accessed via its `bin` attribute (e.g. `${lib.getBin stdenv.cc.libc}/bin/ldd`).The reason for why `glibc` deviates from the convention is because referencing a library provided by `glibc` is a very common operation among Nix packages. For instance, third-party executables packaged by Nix are typically patched and relinked with the relevant version of `glibc` libraries from Nix packages (please see the documentation on [patchelf](https://github.com/NixOS/patchelf) for more details).
+2
-2
pkgs/applications/audio/baudline/default.nix
+2
-2
pkgs/applications/audio/baudline/default.nix
······
······
+1
-2
pkgs/applications/audio/yoshimi/default.nix
+1
-2
pkgs/applications/audio/yoshimi/default.nix
+2
-2
pkgs/applications/editors/eclipse/build-eclipse.nix
+2
-2
pkgs/applications/editors/eclipse/build-eclipse.nix
······[ -f $libCairo ] && patchelf --set-rpath ${lib.makeLibraryPath [ freetype fontconfig libX11 libXrender zlib ]} $libCairo
······[ -f $libCairo ] && patchelf --set-rpath ${lib.makeLibraryPath [ freetype fontconfig libX11 libXrender zlib ]} $libCairo
+2
-2
pkgs/applications/editors/jetbrains/linux.nix
+2
-2
pkgs/applications/editors/jetbrains/linux.nix
······
······
+1
-1
pkgs/applications/editors/vscode/extensions/cpptools/missing_elf_deps.sh
+1
-1
pkgs/applications/editors/vscode/extensions/cpptools/missing_elf_deps.sh
+2
-2
pkgs/applications/graphics/sane/backends/brscan4/default.nix
+2
-2
pkgs/applications/graphics/sane/backends/brscan4/default.nix
+2
-2
pkgs/applications/graphics/sane/backends/brscan5/default.nix
+2
-2
pkgs/applications/graphics/sane/backends/brscan5/default.nix
···-{ stdenv, lib, fetchurl, callPackage, patchelf, makeWrapper, libusb1, avahi-compat, glib, libredirect, nixosTests, glibc }:
···+{ stdenv, lib, fetchurl, callPackage, patchelf, makeWrapper, libusb1, avahi-compat, glib, libredirect, nixosTests }:
+2
-2
pkgs/applications/networking/spideroak/default.nix
+2
-2
pkgs/applications/networking/spideroak/default.nix
······
······
+2
-2
pkgs/applications/science/math/cplex/default.nix
+2
-2
pkgs/applications/science/math/cplex/default.nix
······for pgm in $out/opl/bin/x86-64_linux/oplrun $out/opl/bin/x86-64_linux/oplrunjava $out/opl/oplide/oplide;
······for pgm in $out/opl/bin/x86-64_linux/oplrun $out/opl/bin/x86-64_linux/oplrunjava $out/opl/oplide/oplide;
+3
-3
pkgs/applications/science/math/hmetis/default.nix
+3
-3
pkgs/applications/science/math/hmetis/default.nix
······
+3
-3
pkgs/applications/virtualization/virtualbox/default.nix
+3
-3
pkgs/applications/virtualization/virtualbox/default.nix
······-ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2-ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${glibc.out}/lib/ld-linux-x86-64.so.2
······+ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2+ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux-x86-64.so.2
+4
-4
pkgs/build-support/vm/default.nix
+4
-4
pkgs/build-support/vm/default.nix
···
···
+2
-2
pkgs/development/compilers/nvidia-cg-toolkit/default.nix
+2
-2
pkgs/development/compilers/nvidia-cg-toolkit/default.nix
······
······
+1
-1
pkgs/development/mobile/androidenv/cmake.nix
+1
-1
pkgs/development/mobile/androidenv/cmake.nix
+1
-1
pkgs/development/node-packages/overrides.nix
+1
-1
pkgs/development/node-packages/overrides.nix
+1
-2
pkgs/development/python-modules/monotonic/default.nix
+1
-2
pkgs/development/python-modules/monotonic/default.nix
······
+1
-2
pkgs/development/tools/eclipse-mat/default.nix
+1
-2
pkgs/development/tools/eclipse-mat/default.nix
······
······
+2
-2
pkgs/development/tools/iaca/2.1.nix
+2
-2
pkgs/development/tools/iaca/2.1.nix
······
······
+2
-2
pkgs/development/tools/iaca/3.0.nix
+2
-2
pkgs/development/tools/iaca/3.0.nix
······
······
+4
-4
pkgs/games/planetaryannihilation/default.nix
+4
-4
pkgs/games/planetaryannihilation/default.nix
···, nspr, fontconfig, cairo, pango, nss, freetype, gnome2, gdk-pixbuf, curl, systemd, xorg, requireFile }:···-patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib xorg.libXdamage xorg.libXfixes gtk2 glib glibc.out "$out" xorg.libXext pango udev xorg.libX11 xorg.libXcomposite alsa-lib atk nspr fontconfig cairo pango nss freetype gnome2.GConf gdk-pixbuf xorg.libXrender ]}:{stdenv.cc.cc.lib}/lib64:${glibc.out}/lib64" "$out/host/CoherentUI_Host"-wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib glibc.out xorg.libX11 xorg.libXcursor gtk2 glib curl "$out" ]}:${stdenv.cc.cc.lib}/lib64:${glibc.out}/lib64"-patchelf --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib curl xorg.libX11 glibc.out xorg.libXcursor "$out" ]}:${stdenv.cc.cc.lib}/lib64:${glibc.out}/lib64" $f
···, nspr, fontconfig, cairo, pango, nss, freetype, gnome2, gdk-pixbuf, curl, systemd, xorg, requireFile }:···+patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib xorg.libXdamage xorg.libXfixes gtk2 glib stdenv.cc.libc "$out" xorg.libXext pango udev xorg.libX11 xorg.libXcomposite alsa-lib atk nspr fontconfig cairo pango nss freetype gnome2.GConf gdk-pixbuf xorg.libXrender ]}:{stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64" "$out/host/CoherentUI_Host"+wrapProgram $out/PA --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc.lib stdenv.cc.libc xorg.libX11 xorg.libXcursor gtk2 glib curl "$out" ]}:${stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64"+patchelf --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib curl xorg.libX11 stdenv.cc.libc xorg.libXcursor "$out" ]}:${stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64" $f
+2
-2
pkgs/games/ue4demos/default.nix
+2
-2
pkgs/games/ue4demos/default.nix
+3
-3
pkgs/misc/cups/drivers/brgenml1lpr/default.nix
+3
-3
pkgs/misc/cups/drivers/brgenml1lpr/default.nix
·········
·········
+10
-11
pkgs/misc/cups/drivers/canon/default.nix
+10
-11
pkgs/misc/cups/drivers/canon/default.nix
······-patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib:${libs pkgsi686Linux}:${pkgsi686Linux.glibc.out}/lib:${pkgsi686Linux.libxml2.out}/lib:$out/lib32" libcanonufr2r.so.1.0.0-patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib:${libs pkgsi686Linux}:${pkgsi686Linux.glibc.out}/lib" libcaepcmufr2.so.1.0-patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib:${libs pkgsi686Linux}:${pkgsi686Linux.glibc.out}/lib" libColorGearCufr2.so.2.0.0···-patchelf --set-rpath "$(cat $NIX_CC/nix-support/orig-cc)/lib:${libs pkgs}:${stdenv.cc.cc.lib}/lib64:${glibc.out}/lib64:$out/lib" libcanonufr2r.so.1.0.0-patchelf --set-rpath "$(cat $NIX_CC/nix-support/orig-cc)/lib:${libs pkgs}:${stdenv.cc.cc.lib}/lib64:${glibc.out}/lib64" libcaepcmufr2.so.1.0-patchelf --set-rpath "$(cat $NIX_CC/nix-support/orig-cc)/lib:${libs pkgs}:${stdenv.cc.cc.lib}/lib64:${glibc.out}/lib64" libColorGearCufr2.so.2.0.0-patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${glibc.out}/lib64" cnsetuputil2-patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${glibc.out}/lib64" cnpdfdrv-patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${glibc.out}/lib64:$out/lib" cnpkbidir-patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${glibc.out}/lib64:$out/lib" cnrsdrvufr2
······+patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib:${libs pkgsi686Linux}:${pkgsi686Linux.stdenv.cc.libc}/lib:${pkgsi686Linux.libxml2.out}/lib:$out/lib32" libcanonufr2r.so.1.0.0+patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib:${libs pkgsi686Linux}:${pkgsi686Linux.stdenv.cc.libc}/lib" libcaepcmufr2.so.1.0+patchelf --set-rpath "$(cat ${i686_NIX_GCC}/nix-support/orig-cc)/lib:${libs pkgsi686Linux}:${pkgsi686Linux.stdenv.cc.libc}/lib" libColorGearCufr2.so.2.0.0···+patchelf --set-rpath "$(cat $NIX_CC/nix-support/orig-cc)/lib:${libs pkgs}:${stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64:$out/lib" libcanonufr2r.so.1.0.0+patchelf --set-rpath "$(cat $NIX_CC/nix-support/orig-cc)/lib:${libs pkgs}:${stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64" libcaepcmufr2.so.1.0+patchelf --set-rpath "$(cat $NIX_CC/nix-support/orig-cc)/lib:${libs pkgs}:${stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64" libColorGearCufr2.so.2.0.0+patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64" cnsetuputil2+patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64" cnpdfdrv+patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64:$out/lib" cnpkbidir+patchelf --set-interpreter "$(cat ${ld64})" --set-rpath "${lib.makeLibraryPath buildInputs}:${stdenv.cc.cc.lib}/lib64:${stdenv.cc.libc}/lib64:$out/lib" cnrsdrvufr2
+4
-4
pkgs/misc/cups/drivers/hl1110/default.nix
+4
-4
pkgs/misc/cups/drivers/hl1110/default.nix
···-{lib, stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, file, a2ps, coreutils, gawk, glibc }:···-patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/HL1110/lpd/brprintconflsr3-patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/HL1110/lpd/rawtobr3-patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/HL1110/inf/braddprinter
···+{lib, stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, file, a2ps, coreutils, gawk }:···+patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 $out/opt/brother/Printers/HL1110/lpd/brprintconflsr3+patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 $out/opt/brother/Printers/HL1110/lpd/rawtobr3+patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 $out/opt/brother/Printers/HL1110/inf/braddprinter
+3
-3
pkgs/misc/cups/drivers/hl3140cw/default.nix
+3
-3
pkgs/misc/cups/drivers/hl3140cw/default.nix
···-{lib, stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, file, a2ps, coreutils, gawk, glibc}:···-patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/hl3140cw/lpd/brhl3140cwfilter
···+{lib, stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, file, a2ps, coreutils, gawk }:···+patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 $out/opt/brother/Printers/hl3140cw/lpd/brhl3140cwfilter+patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 $out/usr/bin/brprintconf_hl3140cw
+2
-2
pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix
+2
-2
pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix
···-{ lib, stdenv, fetchurl, cups, dpkg, ghostscript, a2ps, coreutils, gnused, gawk, file, makeWrapper, glibc }:···-patchelf --set-interpreter ${glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/mfcj470dw/lpd/brmfcj470dwfilterln -s $out/opt/brother/Printers/mfcj470dw/lpd/filtermfcj470dw $out/lib/cups/filter/brother_lpdwrapper_mfcj470dw
···+{ lib, stdenv, fetchurl, cups, dpkg, ghostscript, a2ps, coreutils, gnused, gawk, file, makeWrapper }:···+patchelf --set-interpreter ${stdenv.cc.libc}/lib/ld-linux.so.2 $out/opt/brother/Printers/mfcj470dw/lpd/brmfcj470dwfilterln -s $out/opt/brother/Printers/mfcj470dw/lpd/filtermfcj470dw $out/lib/cups/filter/brother_lpdwrapper_mfcj470dw
+2
-2
pkgs/os-specific/linux/mwprocapture/default.nix
+2
-2
pkgs/os-specific/linux/mwprocapture/default.nix
+1
-2
pkgs/os-specific/linux/sgx/ssl/default.nix
+1
-2
pkgs/os-specific/linux/sgx/ssl/default.nix
+3
-3
pkgs/tools/compression/kzipmix/default.nix
+3
-3
pkgs/tools/compression/kzipmix/default.nix
······
······
+1
-2
pkgs/tools/graphics/pngout/default.nix
+1
-2
pkgs/tools/graphics/pngout/default.nix
+2
-2
pkgs/tools/inputmethods/m17n-db/default.nix
+2
-2
pkgs/tools/inputmethods/m17n-db/default.nix
+2
-2
pkgs/tools/misc/nbench/default.nix
+2
-2
pkgs/tools/misc/nbench/default.nix
+3
-3
pkgs/tools/networking/tgt/default.nix
+3
-3
pkgs/tools/networking/tgt/default.nix
······
······
+2
-2
pkgs/tools/package-management/checkinstall/default.nix
+2
-2
pkgs/tools/package-management/checkinstall/default.nix
······
······
+2
-2
pkgs/tools/system/hardinfo/default.nix
+2
-2
pkgs/tools/system/hardinfo/default.nix
······
······+substituteInPlace ./arch/linux/common/os.h --replace /lib/libc.so.6 ${stdenv.cc.libc}/lib/libc.so